\n ").concat(a.name,"\n ").concat(a.help(Math.max(1,e.perks[a.id])),"\n
\n ").concat(t.reverse().join(""),"\n".concat($("score_panel.upgrades_picked"),"
")+a.join("")}function eI(e,a){if(!e.perks.clairvoyant||e.creative)return"";for(var r="",t=0;t".concat($("score_panel.upcoming_levels"),"
").concat(r,"
")}function eV(e){return e.level}function eZ(e){return -1!==e.bricks.indexOf(e.ballsColor)}function eN(e){if(!e.perks.reach)return -1;for(var a=e.level.size,r=-1,t=-1,n=-1,i=0;i0&&Q(1-a.y/e.gameZoneHeight*1.1+.1,0,1)||0}function eY(e,a){return Math.pow(e.x-a.x,2)+Math.pow(e.y-a.y,2)}function eX(e,a){return Math.sqrt(eY(e,a))}function eJ(e){return!!(e.lastPuckMove&&e.perks.passive_income&&e.lastPuckMove>e.levelTime-250*e.perks.passive_income)}function e$(){try{return parseInt(localStorage.getItem("breakout-3-hs-short")||"0")}catch(e){}return 0}function eQ(e){var a=[],r=[],t=Math.max(-1e3+100*e,0);if(e>20){var n=ei.slice(0,Math.floor(e/2)).map(function(e){return e}).filter(function(e){var a;return a=e.id,s||(s=new Set(["extra_levels","extra_life","one_more_choice","instant_upgrade","shunt","slow_down"]),ei.forEach(function(e){e.requires&&s.add(e.requires)})),!s.has(a)}).sort(function(a,r){return eo(e+a.id)-eo(e+r.id)}),i=Math.min(3,Math.ceil(e/30));a=n.slice(0,i),r=n.slice(i,i+i)}return{required:a,forbidden:r,minScore:t}}function e0(e,a,r){var t=eQ(e),n=t.required,i=t.forbidden,_=t.minScore,s=function(e){var a,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return(a=Math).max.apply(a,[0].concat(M(e.filter(function(e){return!r.find(function(a){var r;return!(null==e?void 0:null===(r=e.perks)||void 0===r?void 0:r[a.id])})&&!t.find(function(a){var r;return null==e?void 0:null===(r=e.perks)||void 0===r?void 0:r[a.id]})}).map(function(e){return e.score}))))}(a,n,i),o=s&&r?$("unlocks.reached",{reached:s}):"";return s>=_?null:n.length||i.length?{reached:s,minScore:_,text:$("unlocks.minScoreWithPerks",{minScore:_,required:n.map(function(e){return e.name}).join(", "),forbidden:i.map(function(e){return e.name}).join(", ")})+o}:{reached:s,minScore:_,text:$("unlocks.minScore",{minScore:_})+o}}function e1(e,a){return a.perks.transparency?Q(a.perks.transparency*(1-e.y/a.gameZoneHeight*1.2),0,1):0}function e2(e,a){return e.perks.metamorphosis||ef("colorful_coins")||e.perks.hypnosis||e.perks.rainbow?a.color:"#ffd300"}var e4={};if(e4=y("kqXj6").getBundleURL("lzUSl")+"sw-b71.27ef6cc7.js","serviceWorker"in navigator&&window.location.href.endsWith("/index.html?isPWA=true")){var e3=new URL(e4);navigator.serviceWorker.register(e3)}var W=y("5mG9B"),q=y("6QuVk"),e5=document.getElementById("game"),e6=e5.getContext("2d",{alpha:!1}),e7=document.createElement("img");e7.src="data:image/svg+xml;base64,"+btoa(''),e7.onload=function(){return rZ.needsRender=!0};var e8=document.createElement("img");e8.onload=function(){return rZ.needsRender=!0};var e9=document.createElement("canvas"),ae=document.createElement("canvas"),aa=ae.getContext("2d",{alpha:!1});function ar(e,a,r,t,n,i,_){var s=arguments.length>7&&void 0!==arguments[7]?arguments[7]:1;e.globalAlpha=s,r&&("#FF0000"==r?(e.strokeStyle="#FF0000",e.lineDashOffset=ag(a),e.lineWidth=2,e.setLineDash(am)):(e.strokeStyle="#FFFFFF",e.lineWidth=1),e.beginPath(),e.moveTo(t,n),e.lineTo(i,_),e.stroke(),"#FF0000"==r&&(e.setLineDash(ap),e.lineWidth=1),e.globalAlpha=1)}var at=document.createElement("canvas"),an="",ai={};function a_(e,a,r,t,n){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"",_="ball"+a+"_"+r+"_"+i,s=Math.round(r);if(!ai[_]){var o=document.createElement("canvas");o.width=s,o.height=s;var l=o.getContext("2d");l.beginPath(),l.arc(s/2,s/2,Math.round(s/2)-1,0,2*Math.PI),l.fillStyle=a,l.fill(),i&&(l.lineWidth=2,l.strokeStyle=i,l.stroke()),ai[_]=o}e.drawImage(ai[_],Math.round(t-s/2),Math.round(n-s/2))}function as(e,a,r,t,n,i,_){var s=(Math.round(_/Math.PI*64)%32+32)%32,o="coin with halo_"+a+"_"+r+"_"+i+"_"+("#ffd300"===a?s:"whatever");if(!ai[o]){var l=document.createElement("canvas");l.width=r,l.height=r;var u=l.getContext("2d");u.beginPath(),u.arc(r/2,r/2,r/2,0,2*Math.PI),u.fillStyle=a,u.fill(),u.strokeStyle=i,"#FF0000"==i&&(u.lineWidth=2,u.setLineDash(am)),"transparent"===a&&(u.lineWidth=2),u.stroke(),"#ffd300"===a&&(u.beginPath(),u.arc(r/2,r/2,r/2*.6,0,2*Math.PI),u.fillStyle="rgba(255,255,255,0.5)",u.fill(),u.translate(r/2,r/2),u.rotate(s/16),u.translate(-r/2,-r/2),u.globalCompositeOperation="multiply",au(u,"$",a,r-2,r/2,r/2+1),au(u,"$",a,r-2,r/2,r/2+1)),ai[o]=l}e.drawImage(ai[o],Math.round(t-r/2),Math.round(n-r/2))}function ao(e,a,r,t,n){var i="fuzzy-circle"+a+"_"+r;null==a||a.startsWith("#");var _=Math.round(3*r);if(!(!_||isNaN(_))){if(!ai[i]){var s=document.createElement("canvas");s.width=_,s.height=_;var o=s.getContext("2d"),l=o.createRadialGradient(_/2,_/2,0,_/2,_/2,_/2);l.addColorStop(0,a),l.addColorStop(.3,a+"88"),l.addColorStop(.6,a+"22"),l.addColorStop(1,"transparent"),o.fillStyle=l,o.fillRect(0,0,_,_),ai[i]=s}e.drawImage(ai[i],Math.round(t-_/2),Math.round(n-_/2))}}function al(e,a,r,t,n){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,_=arguments.length>6?arguments[6]:void 0,s=Math.ceil(t-e.brickWidth/2),o=Math.ceil(n-e.brickWidth/2),l=Math.ceil(t+e.brickWidth/2)-1,u=Math.ceil(n+e.brickWidth/2)-1,d=l-s,c=u-o,p="brick"+r+"__"+d+"_"+c+"_"+i+"_"+_+"_";if(!ai[p]){var m,g,b,h,v,k,y=document.createElement("canvas");y.width=d,y.height=c;var f=y.getContext("2d");f.fillStyle=r,f.setLineDash(-1!==i?am:ap),f.lineDashOffset=i,f.strokeStyle=-1!==i&&"#FF000033"||r,f.lineJoin="round",f.lineWidth=4,m=f,g=2,b=2,h=d-4,v=c-4,k=2,m.beginPath(),m.moveTo(4,2),m.lineTo(g+h-k,b),m.quadraticCurveTo(g+h,b,g+h,b+k),m.lineTo(g+h,b+v-k),m.quadraticCurveTo(g+h,b+v,g+h-k,b+v),m.lineTo(g+k,b+v),m.quadraticCurveTo(g,b+v,g,b+v-k),m.lineTo(g,b+k),m.quadraticCurveTo(g,b,g+k,b),m.closePath(),_||f.fill(),f.stroke(),ai[p]=y}a.drawImage(ai[p],s,o,d,c)}function au(e,a,r,t,n,i){var _=arguments.length>6&&void 0!==arguments[6]&&arguments[6],s="text"+a+"_"+r+"_"+t+"_"+_;if(!ai[s]){var o=document.createElement("canvas");o.width=t*a.length,o.height=t;var l=o.getContext("2d");l.fillStyle=r,l.textAlign=_?"left":"center",l.textBaseline="middle",l.font=t+"px monospace",l.fillText(a,_?0:o.width/2,o.height/2,o.width),ai[s]=o}e.drawImage(ai[s],_?n:Math.round(n-ai[s].width/2),Math.round(i-ai[s].height/2))}var ad=document.getElementById("score"),ac=document.getElementById("menuLabel"),ap=[],am=[5,5];function ag(e){return ef("basic")?0:Math.floor(e.levelTime%500/500*10)%10}var ab=null,ah=!1,W=y("5mG9B"),q=y("6QuVk");function av(){ef("record")&&(null==o?void 0:o.state)==="recording"&&(null==o||o.pause())}function ak(){ef("record")&&o&&(null==o||o.stop(),o=null)}var W=y("5mG9B"),q=y("6QuVk"),ay=0,af=null,aW=document.getElementById("popup"),az=document.getElementById("close-modale");az.addEventListener("click",function(e){e.preventDefault(),af&&af()}),az.title=$("play.close_modale_window_tooltip");var aw=-1;function aS(e){return ax.apply(this,arguments)}function ax(){return(ax=(0,W._)(function(e){var a,r,t,n,i,_,s;return(0,q.__generator)(this,function(o){return a=e.title,t=void 0===(r=e.content)?[]:r,i=void 0===(n=e.allowClose)||n,s=void 0===(_=e.className)?"":_,aB(1),[2,new Promise(function(e){var r,n=function(a){o||(o=!0,Array.prototype.forEach.call(_.querySelectorAll("button:not([disabled])"),function(e){return e.disabled=!0}),document.body.style.minHeight=document.body.scrollHeight+"px",setTimeout(function(){return document.body.style.minHeight=""},0),_.remove(),e(a))};aW.className=s,az.style.display=i?"":"none";var _=document.createElement("div"),o=!1;if(af=i?function(){n(void 0)}:null,a){var l=document.createElement("h1");l.innerHTML=a,_.appendChild(l)}null==t||t.filter(function(e){return e}).forEach(function(e,a){if(e){if("string"==typeof e){var r,t,i=document.createElement("div");i.innerHTML=e,_.appendChild(i);return}(null===(r=_.lastChild)||void 0===r?void 0:r.nodeName)=="SECTION"?t=_.lastChild:((t=document.createElement("section")).className="actions",_.appendChild(t));var s=e.text,o=e.value,l=e.help,u=e.disabled,d=e.className,c=e.icon,p=e.tooltip,m=document.createElement("button");m.innerHTML="\n".concat(void 0===c?"":c,"\n\n ").concat(e.name,"\n ").concat(e.help(1),"\n
\n".concat(a,"
\n").concat($("gameOver.cumulative_total",{startTs:n,endTs:t}),"
\n "),{icon:eg["icon:new_run"],value:null,text:$("confirmRestart.yes"),help:""},'',_,function(e){if(e.creative)return"";var a="",r="";try{var t=ev.map(function(e,a){var r;return{li:a,l:e,r:null===(r=e0(a,aE,!1))||void 0===r?void 0:r.text}}).filter(function(e){return e.r});e.runStatistics.runTime=Math.round(e.runStatistics.runTime);var n=w({},e.perks);for(var i in n)n[i]||delete n[i];aE.push(S(w({},e.runStatistics),{perks:n,appVersion:em}));var _=t.filter(function(e){var a=e.li;return!e0(a,aE,!0)});_.length&&(a="\n\n\n ").concat(a.name,"\n ").concat(eL(a),"\n
\n".concat($("gameOver.stats_intro",{count:aE.length-1}),"
")+r)}catch(e){console.warn(e)}return a+r}(rZ)]}).then(function(){return rN({levelToAvoid:eV(rZ).name})})}}function aT(e){return e.creative?""+$("gameOver.creative")+"
":""}var aE=[];try{aE=JSON.parse(localStorage.getItem("breakout_71_runs_history")||"[]").sort(function(e,a){return a.score-e.score}).slice(0,100)}catch(e){}var aj=document.createElement("div");function aA(e){aj.classList="toast visible",aj.innerHTML=e,p&&clearTimeout(p),p=setTimeout(function(){p=void 0,aj.classList="hidden toast"},1500)}function aH(e,a){e.computer_controlled||(e.puckPosition=a,e.needsRender=!0)}function aD(e){aF(e);var a,r=1+((null===(a=e.perks)||void 0===a?void 0:a.multiball)||0),t=e.puckWidth/(r+1);e.balls=[],e.ballsColor="#FFFFFF",(e.perks.picky_eater||e.perks.pierce_color)&&(e.ballsColor=function(e){var a,r={};e.forEach(function(e){return r[e]=(r[e]||0)+1});var t=(a=Math).max.apply(a,M(Object.keys(r).map(function(e){return r[e]})));return eR(Object.keys(r).filter(function(e){return r[e]==t}))}(e.bricks.filter(function(e){return e}))||"#FFFFFF");for(var n=0;n".concat($("score_panel.close_to_unlock"),'
\n\n ").concat(_,"\n ").concat(null===(a=t.reason)||void 0===a?void 0:a.text,"\n
\n".concat($("level_up.before_buttons",{score:e.score-e.levelStartScore,catchGain:n,levelSpawnedCoins:e.levelSpawnedCoins,time:Math.round(e.levelTime/1e3),timeGain:t,levelMisses:e.levelMisses,missesGain:_,levelWallBounces:e.levelWallBounces,wallHitsGain:i,compliment:o}),"\n
\n").concat($("level_up.after_buttons",{level:e.currentLevel+1,max:eD(e)}),"
\n").concat(eI(e,e.currentLevel+1),"
\n")].concat(M(s),[eF(e),rg(e),''])}),{allowClose:!1}))];case 2:return"reroll"===(l=u.sent())?(r++,e.rerolls--):(e.perks[l]++,"instant_upgrade"===l&&(r+=2),e.runStatistics.upgrades_picked++),[3,1];case 3:return[2]}})})).apply(this,arguments)}function rW(e,a){return ej(rZ,Math.floor(a/rZ.brickWidth),Math.floor((e-rZ.offsetX)/rZ.brickWidth))}function rz(e){if(rZ.bricks[e])return e}function rw(e,a,r){var t,n,i;return null!==(i=null!==(n=null!==(t=rz(rW(e-r,a-r)))&&void 0!==t?t:rz(rW(e+r,a-r)))&&void 0!==n?n:rz(rW(e+r,a+r)))&&void 0!==i?i:rz(rW(e-r,a+r))}window.addEventListener("resize",function(){return ry(rZ)}),window.addEventListener("fullscreenchange",function(){return ry(rZ)}),setInterval(function(){var e=window.innerWidth,a=window.innerHeight;(e!==rZ.canvasWidth||a!==rZ.canvasHeight)&&ry(rZ)},1e3),e5.addEventListener("mouseup",function(e){0===e.button&&(rZ.running?rk(!0):(rh(),ef("pointerLock")&&e5.requestPointerLock&&e5.requestPointerLock().then()))}),e5.addEventListener("mousemove",function(e){document.pointerLockElement===e5?aH(rZ,rZ.puckPosition+e.movementX):aH(rZ,e.x)}),e5.addEventListener("touchstart",function(e){var a;e.preventDefault(),(null===(a=e.touches)||void 0===a?void 0:a.length)&&(aH(rZ,e.touches[0].pageX),aF(rZ),rh())}),e5.addEventListener("touchend",function(e){e.preventDefault(),rk(!0)}),e5.addEventListener("touchcancel",function(e){e.preventDefault(),rk(!0)}),e5.addEventListener("touchmove",function(e){var a;(null===(a=e.touches)||void 0===a?void 0:a.length)&&aH(rZ,e.touches[0].pageX)});var rS=0,rx=60;setInterval(function(){rx=rS,rS=0},1e3);var rB=window.location.search.includes("stress"),rM={},rq=performance.now(),rO="";function rP(e){if(rB){var a=performance.now();rO&&(rM[rO]=(rM[rO]||0)+(a-rq)),rq=a,rO=e}}rB&&setInterval(function(){var e=eG(rM);console.debug(a9(rZ.coins)+" coins\n"+Object.entries(rM).sort(function(e,a){return a[1]-e[1]}).filter(function(e){return e[1]>1}).map(function(a){return a[0]+":"+(a[1]/e*100).toFixed(2)+"% ("+a[1]+"ms)"}).join("\n")),rM={}},2e3),setInterval(function(){rZ.creative||(m||(m=ev.map(function(e,a){return w({name:e.name,li:a,l:e},eQ(a))})),m.forEach(function(e){var a=e.name,r=e.minScore,t=e.forbidden,n=e.required;e.l,!(rb.has(a)||rZ.score\n ").concat(e.name,"
\n ").concat(e.help(1),"\n
\n ").concat(e.name," \n
\n ").concat(er(e.credit||""),"\n\n Made in France by Renan LE CARO. \n Donate\n Discord\n F-Droid\n Google Play\n itch.io \n Gitlab\n Web version\n HackerNews\n Privacy Policy\n Archives\n v.'.concat(em,"\n
")]),allowClose:!0})];case 1:return(a=r.sent())&&(a(),rZ.needsRender=!0),[2]}})})).apply(this,arguments)}function rC(){return rT.apply(this,arguments)}function rT(){return(rT=(0,W._)(function(){var e,a,r,t,n,i,_,s,o;return(0,q.__generator)(this,function(l){switch(l.label){case 0:rk(!0),(a=[{disabled:ef("easy"),icon:eg["icon:starting_perks"],text:$("starting_perks.title"),help:$("starting_perks.help"),value:function(){return(0,W._)(function(){return(0,q.__generator)(this,function(e){switch(e.label){case 0:return[4,ri()];case 1:return e.sent(),[2]}})})()}}]).push({icon:eg[null===(e=K.find(function(e){return e.value===J()}))||void 0===e?void 0:e.levelName],text:$("settings.language"),help:$("settings.language_help"),value:function(){return(0,W._)(function(){var e,a;return(0,q.__generator)(this,function(r){switch(r.label){case 0:return[4,aS({title:$("settings.language"),content:[$("settings.language_help")].concat(M(K.map(function(e){return S(w({},e),{icon:eg[e.levelName]})}))),allowClose:!0})];case 1:if(!(a=(e=r.sent())&&e!==J()))return[3,3];return[4,rH(rZ)];case 2:a=r.sent(),r.label=3;case 3:return a&&(V("lang",e),Z(),window.location.reload()),[2]}})})()}}),r=!0,t=!1,n=void 0;try{for(i=function(){var e=s.value;ey[e]&&a.push({icon:ef(e)?eg["icon:checkmark_checked"]:eg["icon:checkmark_unchecked"],text:ey[e].name,help:ey[e].help,value:function(){eW(e),ry(rZ),rE(),rC()}})},_=Object.keys(ey)[Symbol.iterator]();!(r=(s=_.next()).done);r=!0)i()}catch(e){t=!0,n=e}finally{try{r||null==_.return||_.return()}finally{if(t)throw n}}return a.push({icon:eg["icon:download"],text:$("settings.download_save_file"),help:$("settings.download_save_file_help"),value:function(){return(0,W._)(function(){var e,a;return(0,q.__generator)(this,function(r){return e=rl(),(a=document.createElement("a")).setAttribute("href","data:application/json;base64,"+btoa(JSON.stringify({fileType:"B71-save-file",appVersion:em,signedPayload:e,key:eo("Security by obscurity, but really the game is oss so eh"+e)}))),a.setAttribute("download","b71-save-"+new Date().toISOString().slice(0,19).replace(/[^0-9]+/gi,"-")+".b71"),document.body.appendChild(a),a.click(),setTimeout(function(){return document.body.removeChild(a)},1e3),[2]})})()}}),a.push({icon:eg["icon:upload"],text:$("settings.load_save_file"),help:$("settings.load_save_file_help"),value:function(){return(0,W._)(function(){var e,a;return(0,q.__generator)(this,function(r){if(!document.getElementById("save_file_picker")){var t;(a=document.createElement("input")).setAttribute("type","file"),a.setAttribute("id","save_file_picker"),a.setAttribute("accept",".b71,.json"),a.style.position="absolute",a.style.left="-1000px",a.addEventListener("change",(t=(0,W._)(function(e){var r,t,n,i,_,s,o,l;return(0,q.__generator)(this,function(e){switch(e.label){case 0:if(e.trys.push([0,4,,6]),!(t=a&&(null===(r=a.files)||void 0===r?void 0:r.item(0))))return[3,3];return[4,new Promise(function(e,a){var r=new FileReader;r.onload=function(){var a;e((null===(a=r.result)||void 0===a?void 0:a.toString())||"")},r.onerror=function(){a(r.error)},r.readAsText(t)})];case 1:if(i=(n=JSON.parse(e.sent())).fileType,n.appVersion,_=n.signedPayload,s=n.key,"B71-save-file"!==i)throw Error("Not a B71 save file");if(s!==eo("Security by obscurity, but really the game is oss so eh"+_))throw Error("Key does not match content.");for(var u in o=JSON.parse(_),localStorage.clear(),o)localStorage.setItem(u,o[u]);return[4,aS({title:$("settings.save_file_loaded"),content:[$("settings.save_file_loaded_help"),{text:$("settings.save_file_loaded_ok")}]})];case 2:e.sent(),window.location.reload(),e.label=3;case 3:return[3,6];case 4:return l=e.sent(),[4,aS({title:$("settings.save_file_error"),content:[l.message,{text:$("settings.save_file_loaded_ok")}]})];case 5:return e.sent(),[3,6];case 6:return a.value="",[2]}})}),function(e){return t.apply(this,arguments)})),document.body.appendChild(a)}return null===(e=document.getElementById("save_file_picker"))||void 0===e||e.click(),[2]})})()}}),a.push({icon:eg["icon:coins"],text:$("settings.max_coins",{max:U()}),help:$("settings.max_coins_help"),value:function(){return(0,W._)(function(){return(0,q.__generator)(this,function(e){switch(e.label){case 0:return V("max_coins",(F("max_coins",2)+1)%7),[4,rC()];case 1:return e.sent(),[2]}})})()}}),a.push({icon:eg["icon:reset"],text:$("settings.reset"),help:$("settings.reset_help"),value:function(){return(0,W._)(function(){return(0,q.__generator)(this,function(e){switch(e.label){case 0:return[4,aS({title:$("settings.reset"),content:[$("settings.reset_instruction"),{text:$("settings.reset_confirm"),value:!0},{text:$("settings.reset_cancel"),value:!1}],allowClose:!0})];case 1:return e.sent()&&(localStorage.clear(),window.location.reload()),[2]}})})()}}),[4,aS({title:$("main_menu.settings_title"),content:[$("main_menu.settings_help")].concat(M(a)),allowClose:!0,className:"settings"})];case 1:return(o=l.sent())&&(o(),rZ.needsRender=!0),[2]}})})).apply(this,arguments)}function rE(){return rj.apply(this,arguments)}function rj(){return(rj=(0,W._)(function(){var e;return(0,q.__generator)(this,function(a){switch(a.label){case 0:if(a.trys.push([0,10,,11]),!(document.fullscreenEnabled||document.webkitFullscreenEnabled))return[2,!1];if(!(null!==document.fullscreenElement&&!ef("fullscreen")))return[3,5];if(!document.exitFullscreen)return[3,2];return[4,document.exitFullscreen()];case 1:case 3:case 6:case 8:return a.sent(),[2,!0];case 2:if(!document.webkitCancelFullScreen)return[3,4];return[4,document.webkitCancelFullScreen()];case 4:return[3,9];case 5:if(!(ef("fullscreen")&&!document.fullscreenElement))return[3,9];if(!(e=document.documentElement).requestFullscreen)return[3,7];return[4,e.requestFullscreen()];case 7:if(!e.webkitRequestFullscreen)return[3,9];return[4,e.webkitRequestFullscreen()];case 9:return[3,11];case 10:return console.warn(a.sent()),[3,11];case 11:return[2,!1]}})})).apply(this,arguments)}function rA(){return(rA=(0,W._)(function(){var e,a,r,t,n,i;return(0,q.__generator)(this,function(_){switch(_.label){case 0:return e=N(),a=ef("mobile-mode")?"help":"tooltip",r=ek.sort(function(e,a){return e.threshold-a.threshold}).map(function(r){var t=r.name,n=r.id,i=r.threshold,_=r.icon,s=r.help;return z({text:t,disabled:e'):"";return z({text:e.name+i,disabled:!!n,value:{level:e},icon:eg[e.name]},a,(null==n?void 0:n.text)||eL(e))}),[4,aS({title:$("unlocks.title_upgrades",{unlocked:r.filter(function(e){return!e.disabled}).length,out_of:r.length}),content:["".concat($("unlocks.intro",{ts:e}),"\n ").concat(r.find(function(e){return e.disabled})?$("unlocks.greyed_out_help"):"","
")].concat(M(r),[$("unlocks.level",{unlocked:n.filter(function(e){return!e.disabled}).length,out_of:n.length})],M(n)),allowClose:!0,className:ef("mobile-mode")?"":"actionsAsGrid"})];case 1:if(!(i=_.sent()))return[3,3];return[4,rH(rZ)];case 2:_.sent()&&rN(w({},i)),_.label=3;case 3:return[2]}})})).apply(this,arguments)}function rH(e){return rD.apply(this,arguments)}function rD(){return(rD=(0,W._)(function(e){return(0,q.__generator)(this,function(a){return!e.currentLevel||ay?[2,!0]:(rk(!0),[2,aS({title:$("confirmRestart.title"),content:[$("confirmRestart.text"),{value:!0,text:$("confirmRestart.yes")},{value:!1,text:$("confirmRestart.no")}]})])})})).apply(this,arguments)}var rF={ArrowLeft:0,ArrowRight:0,Shift:0};function rI(e,a){rF[e]=a,rZ.keyboardPuckSpeed=(rF.ArrowRight-rF.ArrowLeft)*(1+2*rF.Shift)*rZ.gameZoneWidth/50}document.addEventListener("keydown",(r=(0,W._)(function(e){return(0,q.__generator)(this,function(a){return"f"!==e.key.toLowerCase()||e.ctrlKey||e.metaKey?e.key in rF&&rI(e.key,1):(eW("fullscreen"),rE())," "!==e.key||ay||(rZ.running?rk(!0):rh(),e.preventDefault()),[2]})}),function(e){return r.apply(this,arguments)}));var rV=new Date;document.addEventListener("keyup",(t=(0,W._)(function(e){var a,r,t,n,i;return(0,q.__generator)(this,function(_){switch(_.label){case 0:if(i=document.querySelector("button:focus"),!(e.key in rF))return[3,1];return rI(e.key,0),[3,10];case 1:if("ArrowDown"!==e.key||(null==i?void 0:null===(a=i.nextElementSibling)||void 0===a?void 0:a.tagName)!=="BUTTON")return[3,2];return null==i||null===(r=i.nextElementSibling)||void 0===r||r.focus(),[3,10];case 2:if("ArrowUp"!==e.key||(null==i?void 0:null===(t=i.previousElementSibling)||void 0===t?void 0:t.tagName)!=="BUTTON")return[3,3];return null==i||null===(n=i.previousElementSibling)||void 0===n||n.focus(),[3,10];case 3:if(!("Escape"===e.key&&af))return[3,4];return af(),[3,10];case 4:if(!("Escape"===e.key&&rZ.running))return[3,5];return rk(!0),[3,10];case 5:if(!("m"===e.key.toLowerCase()&&!ay))return[3,6];return rR().then(),[3,10];case 6:if(!("s"===e.key.toLowerCase()&&!ay))return[3,7];return rp(rZ).then(),[3,10];case 7:if(!("r"===e.key.toLowerCase()&&!ay&&rV