From 1040d1ff7ee8181677e95f62caf06376bebf165b Mon Sep 17 00:00:00 2001 From: landgreen Date: Sat, 4 Jan 2025 21:33:32 -0800 Subject: [PATCH] demineralization MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit tech: demineralization - after mobs die gain 0.85x damage taken, effect stacks, but fades 10% every second tech: remineralization - after mobs die gain 1.08x damage, effect stacks, but fades 10% every second tech: equivalence principle - negative mass field doesn't cost energy new JUNK tech: aerodynamics interferometer slower elevator and lasers wider side ledges large laser blocking blocks flocculation fewer mobs it's easier to get out of the slime pavilion move vanish elements easier traversal secret tunnel removed debris, but added power ups and blocks corridor limited to bosses that don't interact with the movers poorly gravitron, substructure, corridor, interferometer added more heal and ammo power ups to match other levels because some newer levels are zoomed out more laser max range is 3000->5000 nails last 1/3 of a second longer bosses spawn an extra ammo power up and 2 extra ammo on the hardest 2 difficulties slasher mob's laserSwords will now damage a cloaked player constraint announcement text looks more like computer code style to match game theme foam recoil is back: 1->0.7x horizontal force and 2->4.3x vertical up force this makes it less annoying to horizontally and easier to kinda fly/float negative mass field damage reduction 0.4->0.5x holographic principle no longer slows player movement added 2 research cost fermion gives 6->5 seconds of invulnerability after mobs die stability 0.2->0.1x damage taken at max health non-Newtonian armor 0.3->0.4x damage taken after collisions Zeno's paradox 0.15->0.2x damage taken annihilation energy cost 10->8 to destroy mobs after collisions radiative equilibrium damage is 3->4x for 8->4 seconds aerostat can be taken 1->3 times dynamic equilibrium damage increased by 6->8x damage per last damage taken aerostat no longer has 0.9x damage for being on the ground launch system 1.2->1.3x ammo for missiles research says that repeatedly entering alternate realities builds up some positive effects Hilbert space 4x->3x damage Ψ(t) collapse 6->4 research on boss death transdimensional worms: 50% chance for a second worm per block in wormhole wormhole 7->8 energy regen per second hidden-variable theory 1.15->1.2 damage after choosing a field tech ghoster mobs are less likely to get knocked far away from the player for long periods of time bug fixes dynamic equilibrium was set to 100 times higher frequency then normal when constraints hide health bar's it's now hidden in the pause menu mobs aiming at cloaked player snakeBoss more intelligently chases player for a few seconds pulsarBoss aims at player's history 3 seconds in past pulsar will not stop firing but it will still not fire at cloaked player --- img/demineralization.webp | Bin 0 -> 82388 bytes img/equivalence principle.webp | Bin 0 -> 81710 bytes img/remineralization.webp | Bin 0 -> 61374 bytes js/bullet.js | 22 ++- js/engine.js | 4 +- js/index.js | 2 +- js/level.js | 332 ++++++++++++++++++++------------- js/mob.js | 32 +++- js/player.js | 64 ++++--- js/powerup.js | 17 +- js/spawn.js | 48 ++--- js/tech.js | 249 +++++++++++++++++++------ style.css | 51 ++++- todo.txt | 160 +++++++++------- 14 files changed, 648 insertions(+), 333 deletions(-) create mode 100644 img/demineralization.webp create mode 100644 img/equivalence principle.webp create mode 100644 img/remineralization.webp diff --git a/img/demineralization.webp b/img/demineralization.webp new file mode 100644 index 0000000000000000000000000000000000000000..81b94687fc8973b2c5f51f9e5cc027dee7950efb GIT binary patch literal 82388 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 D)WZxN literal 0 HcmV?d00001 diff --git a/img/equivalence principle.webp b/img/equivalence principle.webp new file mode 100644 index 0000000000000000000000000000000000000000..b20075fc3f50789dcb701d6e629508a5b120bfbe GIT binary patch literal 81710 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 zŅDK+_?j-G>oRF}aV@%F258?MaXVj%ml(>TE;#I+U`6qq*N0l12;rI*{~Ok+n< z;7X<@=`cdoDWol99_s$wS*maclk%ccqw40$($3-FROb98nZH<0nkni!SCMuvtFjE- zS}lRr(zJuJt#)4UJWB5wJ0RRj;ZFzOsD|U2#uS!o!2yBoP$(gU!$Jf5S>EMBLpCW{ zOX6AN6ZKP4d5&>w``NrJQ7?P0|2ZS)Y&Sxxow0m`g%&(K)8wGdJ%OOLy&&Q7y&dyQ z$TovWEb6KVfH>D=d;ep~oQgcS@Sqx75fu1PvO_!$YZ&;KR=C@yOXYFIh7T*hk0BF^ z`gz%VIZ=2L>iIP80>DM)vd`3S(b`Z=Ri?&`_oGM!hiV=5I47NQ@F!OTyvS9^bS!9K zjXXYlD0NX2l!)z^bSPGH-!jKi40-Mz&riRzx2xdMjIRQt?>AdV?Qc?w@E_|ZY*rYz zN}^32=h?YT{`gU}bIb35$I)aZoVK$NaLjvM>l=Sk<*0(`r_5kkK_uxm6%yqf?rj#l zvZS#D<`|3z)g7*fG11%ck8}R*C0JX2?0yO!Vi7@OXFcW zkdo{Bm?Dfss^o&zVVmad)V)qT86y5uAxI4#YUx)RJ6|k^Td<4h?+vQI(8C;n`5NeM=YEXixuPf5hoCC5zX{Pq_)IVBu~;f?St6mvLV1 zC&QgnVT)G=V=@#l=XU4t2M`(cZKtqE<`t=uCM6tY*`spTax%YB-|u5gEChMlmnftV z)E8rz2WMK$sO)4m%HDU0+&TAI_qzava`vkDU~oP|Fmg#h&6Jiwnv#^fLP6LQS!n}8sk$#mfqXU z#5TbC_pCRf%qP$84MZNo(!or0>)rMzk<$H+cOXs06gN;f@y~Ph%UoJxsAoqRUmE%? z5wPK0>w%JScp*y{S7bQJz={l7sww(_CALh8U^ZD}(9UKd18NVOE<40lVbPEyA>9vI z_n4{^9i`!}>LLDC1Uw;!EB;kz=|=yhvfZ2^f_d)ID$s=WH?zGAil};SvZ>*7%p(*^ zx3veKXXORwv0T)2hT%^T`-EMg9o2=l1?%7|QiJr!qOy`{8CC<)-9$F&i+tWTDuKaz zh22d5+@ry$PczBd5$p(7BG(fQLuYam2q0D@D5(vaQ|VL*&|qA`9;`dY(%W4c@IdkxYrt2 zkPK+3zttSl5~uRim0kL+7SI8pHE}0sdM%ed>%o&g)Y+`ndEozxzV~nx zev-)%d+>i}`o0xpYsX$`WM)OdQUfp+f7DPO)N|RIIOl#z%b&YSAHG+?uJ|gLL%)IZ zu74TP_@LMFxXbFGuR7%YVz05gh?7zSl0(JhkI4Izo%Xy79YMr|-3&LHgoF?)fljWA z#9aJ@{Sn>IT(GR2M0Z;mQJH>5|IKIaxu-q|lPb{D4xh~1!E!5O=a>B0o-Jo1pP!3~ z8!(RbKK}2;ZCtC2DHgpmgc7#M>8KCwWONcN8^MuL?Fr z)l<)`u;tx=h|Di=$U`pDRcbFBZDuO !7qQX6NCO7YcV6!!B}=aDQ33M3kxhq$`f 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
XzosOG($F4m8;?cM4MRr*7JK% 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 literal 0 HcmV?d00001 diff --git a/img/remineralization.webp b/img/remineralization.webp new file mode 100644 index 0000000000000000000000000000000000000000..a34545c5ab59bae2b155f01759fc434b1a1a3603 GIT binary patch literal 61374 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

EXm13AwS+9fCpj-xOR{EwCK7y^^>ObC~GiU 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 0) { + player.force.y -= 4.3 * this.knockBack * velocity.y + } else { + player.force.y -= this.knockBack * velocity.y + } }, chooseFireMethod() { if (tech.isFoamPressure) { @@ -6771,7 +6775,7 @@ const b = { } const position = { x: m.pos.x + 30 * Math.cos(m.angle), y: m.pos.y + 30 * Math.sin(m.angle) } b.foam(position, Vector.rotate(velocity, spread), radius) - // this.applyKnock(velocity) + this.applyKnock(velocity) m.fireCDcycle = m.cycle + Math.floor(1.5 * b.fireCDscale); }, doCharges() { @@ -6798,7 +6802,7 @@ const b = { y: m.pos.y + 30 * Math.sin(m.angle) } b.foam(position, Vector.rotate(velocity, spread), radius) - // this.applyKnock(velocity) + this.applyKnock(velocity) this.charge -= 0.75 m.fireCDcycle = m.cycle + 2; //disable firing and adding more charge until empty } else if (!input.fire) { @@ -6826,7 +6830,7 @@ const b = { const position = { x: m.pos.x + 30 * Math.cos(m.angle), y: m.pos.y + 30 * Math.sin(m.angle) } b.foam(position, Vector.rotate(velocity, spread), radius) - // this.applyKnock(velocity) + this.applyKnock(velocity) m.fireCDcycle = m.cycle + Math.floor(1.5 * b.fireCDscale); this.charge += 1 + tech.isCapacitor }, @@ -7386,8 +7390,8 @@ const b = { m.energy -= drain const where = { x: m.pos.x + 20 * Math.cos(m.angle), y: m.pos.y + 20 * Math.sin(m.angle) } b.laser(where, { - x: where.x + 3000 * Math.cos(m.angle), - y: where.y + 3000 * Math.sin(m.angle) + x: where.x + 5000 * Math.cos(m.angle), + y: where.y + 5000 * Math.sin(m.angle) }, tech.laserDamage / b.fireCDscale * this.lensDamage); } }, diff --git a/js/engine.js b/js/engine.js index dc9b6e3..52fc42d 100644 --- a/js/engine.js +++ b/js/engine.js @@ -177,8 +177,8 @@ function collisionChecks(event) { let angle = Math.atan2(player.position.y - mob[k].position.y, player.position.x - mob[k].position.x); Matter.Body.setVelocity(player, { x: player.velocity.x + 8 * Math.cos(angle), y: player.velocity.y + 8 * Math.sin(angle) }); Matter.Body.setVelocity(mob[k], { x: mob[k].velocity.x - 8 * Math.cos(angle), y: mob[k].velocity.y - 8 * Math.sin(angle) }); - if (tech.isAnnihilation && !mob[k].shield && !mob[k].isShielded && !mob[k].isBoss && mob[k].isDropPowerUp && m.energy > 0.1 && mob[k].damageReduction > 0) { - m.energy -= 0.1 //* Math.max(m.maxEnergy, m.energy) //0.33 * m.energy + if (tech.isAnnihilation && !mob[k].shield && !mob[k].isShielded && !mob[k].isBoss && mob[k].isDropPowerUp && m.energy > 0.08 && mob[k].damageReduction > 0) { + m.energy -= 0.08 //* Math.max(m.maxEnergy, m.energy) //0.33 * m.energy if (m.immuneCycle === m.cycle + m.collisionImmuneCycles) m.immuneCycle = 0; //player doesn't go immune to collision damage mob[k].death(); simulation.drawList.push({ //add dmg to draw queue diff --git a/js/index.js b/js/index.js index ec4aaa9..e36a298 100644 --- a/js/index.js +++ b/js/index.js @@ -497,7 +497,7 @@ const build = { level ${((m.dmgScale)).toPrecision(4)}x
damage taken ${(m.defense()).toPrecision(4)}x level ${(simulation.dmgScale).toPrecision(4)}x -
health (${(m.health * 100).toFixed(0)} / ${(m.maxHealth * 100).toFixed(0)}) +
health (${level.isHideHealth ? "null" : (m.health * 100).toFixed(0)} / ${(m.maxHealth * 100).toFixed(0)}) ${powerUps.research.count} ${powerUps.orb.research()}
energy (${(m.energy * 100).toFixed(0)} / ${(m.maxEnergy * 100).toFixed(0)}) + (${(m.fieldRegen * 6000 * level.isReducedRegen).toFixed(0)}/s) ${tech.totalCount} ${powerUps.orb.tech()} diff --git a/js/level.js b/js/level.js index 1308368..85eb04b 100644 --- a/js/level.js +++ b/js/level.js @@ -17,6 +17,8 @@ const level = { start() { if (level.levelsCleared === 0) { //this code only runs on the first level // simulation.enableConstructMode() //tech.giveTech('motion sickness') //used to build maps in testing mode + // simulation.difficultyMode = 1 + // simulation.isHorizontalFlipped = true // spawn.setSpawnList(); //picks a couple mobs types for a themed random mob spawns // spawn.setSpawnList(); //picks a couple mobs types for a themed random mob spawns @@ -31,7 +33,7 @@ const level = { // tech.tech[297].frequency = 100 // tech.addJunkTechToPool(0.5) // m.couplingChange(10) - // m.setField("time dilation") //1 standing wave 2 perfect diamagnetism 3 negative mass 4 molecular assembler 5 plasma torch 6 time dilation 7 metamaterial cloaking 8 pilot wave 9 wormhole 10 grappling hook + // m.setField("negative mass") //1 standing wave 2 perfect diamagnetism 3 negative mass 4 molecular assembler 5 plasma torch 6 time dilation 7 metamaterial cloaking 8 pilot wave 9 wormhole 10 grappling hook // m.energy = 0 // powerUps.research.count = 3 // tech.isHookWire = true @@ -48,28 +50,26 @@ const level = { // requestAnimationFrame(() => { tech.giveTech("non-renewables") }); // tech.giveTech("dark matter") // tech.addJunkTechToPool(0.5) - // for (let i = 0; i < 1; ++i) tech.giveTech("pigeonhole principle") - // for (let i = 0; i < 1; ++i) tech.giveTech("generalist") + // for (let i = 0; i < 1; ++i) tech.giveTech("demineralization") + // for (let i = 0; i < 1; ++i) tech.giveTech("remineralization") // m.skin.egg(); - // for (let i = 0; i < 1; ++i) tech.giveTech("many-worlds") // requestAnimationFrame(() => { for (let i = 0; i < 1; i++) tech.giveTech("quasiparticles") }); // requestAnimationFrame(() => { for (let i = 0; i < 1; i++) tech.giveTech("interest") }); // for (let i = 0; i < 1; i++) tech.giveTech("interest") // m.lastKillCycle = m.cycle - // for (let i = 0; i < 1; i++) powerUps.directSpawn(450, -50, "warp"); + // for (let i = 0; i < 7; i++) powerUps.directSpawn(450, -50, "tech"); // for (let i = 0; i < 7; i++) powerUps.directSpawn(m.pos.x + 200, m.pos.y - 250, "research", false); // spawn.bodyRect(575, -700, 150, 150); //block mob line of site on testing - // level.corridor(); + // level.testing(); level[simulation.isTraining ? "walk" : "initial"]() //normal starting level ************************************************** - // for (let i = 0; i < 1; ++i) spawn.powerUpBossBaby(1900, -500) + // for (let i = 0; i < 10; ++i) spawn.starter(1900, -500) // for (let i = 0; i < 1; i++) spawn.mantisBoss(1900, -500) - // for (let i = 0; i < 1; ++i) powerUps.directSpawn(m.pos.x + 50 * Math.random(), m.pos.y + 50 * Math.random(), "entanglement"); - // for (let i = 0; i < 2; ++i) powerUps.directSpawn(m.pos.x + 450, m.pos.y + 50 * Math.random(), "boost"); + // for (let i = 0; i < 2; ++i) powerUps.directSpawn(m.pos.x + 450, m.pos.y + 50 * Math.random(), "gun"); // for (let i = 0; i < 100; ++i) powerUps.directSpawn(m.pos.x + 50 * Math.random(), m.pos.y + 50 * Math.random(), "ammo"); // for (let i = 0; i < 2; i++) powerUps.spawn(player.position.x + Math.random() * 50, player.position.y - Math.random() * 50, "field", false); //lore testing @@ -145,22 +145,6 @@ const level = { } level.setConstraints() - if (!localSettings.isHideHUD) { - requestAnimationFrame(() => { - //grow and get bright - document.getElementById("right-HUD-constraint").style.opacity = 1 - document.getElementById("right-HUD-constraint").style.fontSize = "23px" - document.getElementById("right-HUD-constraint").style.top = simulation.difficultyMode > 6 ? "6px" : "9px" - setTimeout(() => { - if (m.alive) { - //fade to background - document.getElementById("right-HUD-constraint").style.opacity = 0.35 - document.getElementById("right-HUD-constraint").style.fontSize = "20px" - document.getElementById("right-HUD-constraint").style.top = "12px" - } - }, 5000); - }); - } }, newLevelOrPhase() { //runs on each new level but also on final boss phases //used for generalist and pigeonhole principle @@ -285,6 +269,46 @@ const level = { } }, constraintIndex: 0, + constraintPopUp() { + //pause + if (!simulation.paused) { + simulation.paused = true; + simulation.isChoosing = true; //stops p from un pausing on key down + + document.body.style.cursor = "auto"; + document.getElementById("choose-grid").style.pointerEvents = "auto"; + document.getElementById("choose-grid").style.transitionDuration = "0s"; + } + //build level info + document.getElementById("choose-grid").classList.add('choose-grid-no-images') + document.getElementById("choose-grid").classList.remove('choose-grid') + document.getElementById("choose-grid").style.gridTemplateColumns = "auto"//"450px" + let text = `

${level.constraintDescription1}
` + if (level.constraintDescription2) text += `
${level.constraintDescription2}
` + text += `
continue
` + + document.getElementById("choose-grid").innerHTML = text + //show level info + document.getElementById("choose-grid").style.opacity = "1" + document.getElementById("choose-grid").style.transitionDuration = "0.25s"; //how long is the fade in on + document.getElementById("choose-grid").style.visibility = "visible" + document.getElementById("choose-unPause").addEventListener("click", () => { + level.unPause() + document.body.style.cursor = "none"; + //reset hide image style + if (localSettings.isHideImages) { + document.getElementById("choose-grid").classList.add('choose-grid-no-images'); + document.getElementById("choose-grid").classList.remove('choose-grid'); + } else { + document.getElementById("choose-grid").classList.add('choose-grid'); + document.getElementById("choose-grid").classList.remove('choose-grid-no-images'); + } + }); + requestAnimationFrame(() => { + ctx.fillStyle = `rgba(150,150,150,0.9)`; //`rgba(221,221,221,0.6)`; + ctx.fillRect(0, 0, canvas.width, canvas.height); + }); + }, setConstraints() { //populate array with possible constraints and reset constraints level.constraintDescription1 = level.constraintDescription2 = "" @@ -303,7 +327,6 @@ const level = { level.constraintDescription1 = level.constraint[level.constraintIndex].description level.constraintIndex++ if (level.constraintIndex > level.constraint.length - 1) level.constraintIndex = 0 - if (simulation.difficultyMode > 6 && possible.length) { level.constraint[level.constraintIndex].effect() possible.splice(level.constraintIndex, 1) @@ -312,6 +335,24 @@ const level = { if (level.constraintIndex > level.constraint.length - 1) level.constraintIndex = 0 } document.getElementById("right-HUD-constraint").style.display = "block"; + // level.constraintPopUp() + //animate making constraint HUD bigger then smaller + if (!localSettings.isHideHUD) { + requestAnimationFrame(() => { + //grow and get bright + document.getElementById("right-HUD-constraint").style.opacity = 1 + document.getElementById("right-HUD-constraint").style.fontSize = "23px" + document.getElementById("right-HUD-constraint").style.top = simulation.difficultyMode > 6 ? "6px" : "9px" + setTimeout(() => { + if (m.alive) { + //fade to background + document.getElementById("right-HUD-constraint").style.opacity = 0.35 + document.getElementById("right-HUD-constraint").style.fontSize = "20px" + document.getElementById("right-HUD-constraint").style.top = "12px" + } + }, 5000); + }); + } } else { document.getElementById("right-HUD-constraint").style.display = "none"; } @@ -320,10 +361,10 @@ const level = { } //update HUD with constraints let text = `${level.constraintDescription1}` - if (level.constraintDescription1) simulation.inGameConsole(`constraint: ${level.constraintDescription1}`) + if (level.constraintDescription1) simulation.inGameConsole(`level.constraint.description: "${level.constraintDescription1}"`) if (simulation.difficultyMode > 6 && level.constraintDescription2) { text += `
${level.constraintDescription2}` - if (level.constraintDescription2) simulation.inGameConsole(`constraint: ${level.constraintDescription2}`) + if (level.constraintDescription2) simulation.inGameConsole(`level.constraint.description: "${level.constraintDescription2}"`) } document.getElementById("right-HUD-constraint").innerHTML = text @@ -427,7 +468,7 @@ const level = { } }, { - description: "0.3x damage after getting power ups", + description: "0.3x damage after using power ups", effect() { level.isNoDamage = true level.noDamageCycle = 0 @@ -1719,7 +1760,7 @@ const level = { }, vanish(x, y, width, height, isVertical = false, hide = { x: 0, - y: 150 + y: 400 }) { x = x + width / 2 y = y + height / 2 @@ -6761,26 +6802,34 @@ const level = { level.defaultZoom = 1500 simulation.zoomTransition(level.defaultZoom) document.body.style.backgroundColor = "#dcdcde"; - spawn.debris(-150, -775, 1425, 3); //16 debris per level - spawn.debris(1525, -25, 950, 3); //16 debris per level - spawn.debris(-650, -2100, 575, 2); //16 debris per level - + // spawn.debris(-150, -775, 1425, 3); //16 debris per level + // spawn.debris(1525, -25, 950, 3); //16 debris per level + // spawn.debris(-650, -2100, 575, 2); //16 debris per level + powerUps.chooseRandomPowerUp(2075, -1525); + powerUps.chooseRandomPowerUp(2550, -1825); + powerUps.chooseRandomPowerUp(1975, 250); //bottom floor //entrance spawn.mapRect(-200, -750, 1500, 100); - spawn.mapRect(-575, 0, 2150, 500); + // spawn.mapRect(-575, 0, 2150, 500); + spawn.mapRect(-575, 0, 2150, 165); + const mover = level.mover(-525, 270, 2050, 75, 15 * (simulation.isHorizontalFlipped ? -1 : 1)) + spawn.bodyRect(-1050, -75, 75, 75); + spawn.bodyRect(-573, 170, 30, 105); + // spawn.mapRect(-1275, 275, 875, 225); - spawn.mapRect(-1275, 275, 3975, 225); + spawn.mapRect(-1300, 275, 4025, 3300); + // spawn.mapRect(-1275, 275, 3975, 225); spawn.mapRect(-1050, 0, 325, 50); spawn.mapRect(-775, 0, 50, 140); vanish.push(level.vanish(-725, 13, 150, 25)) spawn.mapRect(-200, -750, 100, 600); - // spawn.mapRect(1200, -750, 100, 600); - vanish.push(level.vanish(-350, -225, 150, 225)) - vanish.push(level.vanish(-350, -450, 150, 223)) + vanish.push(level.vanish(-525, -150, 425, 150)) + vanish.push(level.vanish(-475, -300, 275, 150)) + vanish.push(level.vanish(-425, -450, 225, 150)) + vanish.push(level.vanish(-375, -600, 175, 150)) + vanish.push(level.vanish(-325, -750, 125, 150)) spawn.mapRect(2475, -1800, 250, 2300); - - spawn.mapRect(1200, -750, 100, 450); spawn.mapRect(1200, -375, 250, 75); powerUps.spawnStartingPowerUps(550, -100); @@ -6789,10 +6838,18 @@ const level = { spawn.bodyRect(1350, -175, 150, 175, 0.5); spawn.bodyRect(1350, -600, 125, 225, 0.2); + spawn.bodyRect(1575, 50, 50, 225); + vanish.push(level.vanish(1900, -25, 325, 25)) + vanish.push(level.vanish(1925, -375, 275, 25)) + vanish.push(level.vanish(1950, -725, 225, 25)) + vanish.push(level.vanish(1950, -1075, 225, 25)) + spawn.mapRect(1950, -1500, 225, 25); + vanish.push(level.vanish(1350, -1075, 225, 25)) + vanish.push(level.vanish(1637, -1300, 225, 25)) + //middle floor spawn.bodyRect(215, -1175, 100, 100, 0.3); spawn.mapRect(-1300, -1800, 250, 2300); - // spawn.mapRect(-1300, -2075, 250, 2575); if (Math.random() < 0.5) { spawn.mapRect(500, -1350, 525, 425); spawn.mapRect(25, -1050, 300, 198); @@ -6800,34 +6857,17 @@ const level = { spawn.mapRect(500, -1350, 525, 497); spawn.mapRect(25, -1050, 300, 150); } - if (Math.random() < 0.5) { - vanish.push(level.vanish(400, -1600, 175, 25)) - vanish.push(level.vanish(950, -1600, 175, 25)) - } else { - vanish.push(level.vanish(550, -1575, 50, 225)) - vanish.push(level.vanish(925, -1575, 50, 225)) - } - - // vanish.push(level.vanish(575, -1575, 375, 225)) spawn.bodyRect(225, -850, 50, 100, 0.4); - spawn.mapRect(600, -1800, 325, 225); - spawn.mapRect(1900, -1500, 325, 25); + // spawn.mapRect(600, -1800, 325, 225); + spawn.mapRect(650, -1800, 225, 225); + vanish.push(level.vanish(600, -1575, 100, 225)) + vanish.push(level.vanish(825, -1575, 100, 225)) + spawn.bodyRect(1050, -1825, 250, 20, 0.2); - if (Math.random() < 0.5) { - vanish.push(level.vanish(1400, -1000, 200, 25)) - vanish.push(level.vanish(1625, -1250, 200, 25)) - } else { - vanish.push(level.vanish(1400, -1075, 175, 175)) - vanish.push(level.vanish(1575, -1250, 175, 175)) - } + vanish.push(level.vanish(1125, -1800, 625, 25)) - - // vanish.push(level.vanish(1500, -1800, 225, 25)) vanish.push(level.vanish(-50, -1800, 450, 25)) - //exit - // spawn.mapRect(-1050, -1450, 700, 25); - // spawn.mapRect(-1050, -1800, 525, 25); spawn.mapRect(-575, -1800, 50, 200); spawn.mapRect(-1050, -1800, 525, 75); spawn.mapRect(-1050, -1450, 700, 75); @@ -6864,8 +6904,10 @@ const level = { level.exit.drawAndCheck(); level.enter.draw(); + mover.push(); }; level.customTopLayer = () => { + mover.draw(); //shadow ctx.fillStyle = "rgba(0,10,30,0.1)" ctx.fillRect(-1450, -300, 150, 325); @@ -6873,7 +6915,9 @@ const level = { ctx.fillRect(725, 50, 325, 225) ctx.fillRect(-325, -950, 300, 225) ctx.fillRect(-1025, -1000, 525, 275); - ctx.fillRect(-925, -1600, 325, 275); + ctx.fillRect(-875, -1600, 225, 275); + ctx.fillStyle = "rgba(68,68,68,0.93)" + ctx.fillRect(-1575, 150, 2150, 150); for (let i = 0, len = vanish.length; i < len; i++) vanish[i].query() }; @@ -6888,16 +6932,20 @@ const level = { level.exit.drawAndCheck(); level.enter.draw(); + mover.push(); }; level.customTopLayer = () => { + mover.draw(); //shadow ctx.fillStyle = "rgba(0,10,30,0.1)" ctx.fillRect(1300, -300, 150, 325); ctx.fillRect(-200, -675, 1500, 700) ctx.fillRect(500, -950, 525, 225); - ctx.fillRect(600, -1600, 325, 275); + ctx.fillRect(650, -1600, 225, 275); ctx.fillRect(-1050, 50, 325, 225) ctx.fillRect(25, -950, 300, 225) + ctx.fillStyle = "rgba(68,68,68,0.93)" + ctx.fillRect(-575, 150, 2150, 150); for (let i = 0, len = vanish.length; i < len; i++) vanish[i].query() }; } @@ -7178,6 +7226,12 @@ const level = { simulation.zoomTransition(level.defaultZoom) document.body.style.backgroundColor = "#d0d5d5"; color.map = "#444" + powerUps.chooseRandomPowerUp(-1550, 300); + powerUps.chooseRandomPowerUp(200, 50); + powerUps.chooseRandomPowerUp(-975, -1475); + powerUps.chooseRandomPowerUp(2150, -750); + powerUps.chooseRandomPowerUp(1850, 1925); + let buttons = [] let lasers = [] @@ -7202,8 +7256,8 @@ const level = { classType: "body", holdX: 1762, maxHeight: -1580, - minHeight: 130, - verticalForce: 0.03, + minHeight: 90, + verticalForce: 0.02, isUp: false, drag: 0.01, move() { @@ -7269,7 +7323,7 @@ const level = { let buildMapOutline = function () { //boxes center on zero,zero with deep walls to hide background - spawn.mapRect(2025, -2000, 1975, 4000); //right map wall + spawn.mapRect(2225, -2000, 1775, 4000); //right map wall spawn.mapRect(-4000, -2000, 2000, 4000); //left map wall spawn.mapRect(-4000, -5000, 8000, 3000); //map ceiling spawn.mapRect(-4000, 2000, 8000, 3000); //floor @@ -7325,13 +7379,13 @@ const level = { //lower right side //far right wall ledges - spawn.mapRect(1925, -1700, 200, 200); - spawn.mapRect(1925, -1200, 200, 200); - spawn.mapRect(1925, -700, 200, 200); - spawn.mapRect(1925, -200, 200, 200); - spawn.mapRect(1925, 300, 200, 200); - spawn.mapRect(1925, 800, 200, 200); - spawn.mapRect(1925, 1300, 200, 200); + spawn.mapRect(1925, -1700, 400, 200); + spawn.mapRect(1925, -1200, 400, 200); + spawn.mapRect(1925, -700, 400, 200); + spawn.mapRect(1925, -200, 400, 200); + spawn.mapRect(1925, 300, 400, 200); + spawn.mapRect(1925, 800, 400, 200); + spawn.mapRect(1925, 1300, 400, 200); spawn.mapRect(1250, 1650, 500, 25); spawn.mapRect(1300, 1125, 400, 25); @@ -7402,13 +7456,13 @@ const level = { spawn.mapVertex(-350, -835, "-225 -475 225 -475 225 475 0 500 -225 475"); //far right wall ledges - spawn.mapRect(1925, 1700 - 200, 200, 200); - spawn.mapRect(1925, 1200 - 200, 200, 200); - spawn.mapRect(1925, 700 - 200, 200, 200); - spawn.mapRect(1925, 200 - 200, 200, 200); - spawn.mapRect(1925, -300 - 200, 200, 200); - spawn.mapRect(1925, -800 - 200, 200, 200); - spawn.mapRect(1925, -1300 - 200, 200, 200); + spawn.mapRect(1925, 1700 - 200, 400, 200); + spawn.mapRect(1925, 1200 - 200, 400, 200); + spawn.mapRect(1925, 700 - 200, 400, 200); + spawn.mapRect(1925, 200 - 200, 400, 200); + spawn.mapRect(1925, -300 - 200, 400, 200); + spawn.mapRect(1925, -800 - 200, 400, 200); + spawn.mapRect(1925, -1300 - 200, 400, 200); spawn.mapRect(1250, -1650 - 25, 500, 25); spawn.mapRect(1300, -1125 - 25, 400, 25); @@ -7559,7 +7613,7 @@ const level = { //background structure ctx.fillStyle = "#c3c7c7" ctx.fillRect(1487, -75 - 1925, 25, 1925); - ctx.fillRect(1925, -2050, 125, 4100); + ctx.fillRect(1925, -2050, 300, 4100); //exit room ctx.fillStyle = "#d4f4f4" @@ -7580,7 +7634,7 @@ const level = { //background structure ctx.fillStyle = "#c5c9c9" ctx.fillRect(1487, 75, 25, 1925); - ctx.fillRect(1925, -2050, 125, 4100); + ctx.fillRect(1925, -2050, 300, 4100); //draw flipped exit ctx.fillStyle = "#d4f4f4" @@ -7604,7 +7658,7 @@ const level = { ctx.moveTo(balance[i].center.x, balance[i].center.y) ctx.arc(balance[i].center.x, balance[i].center.y, 9, 0, 2 * Math.PI); //rotor spins and stops at vertical and horizontal angles - if ((simulation.cycle % 90) < 15) { + if ((simulation.cycle % 140) < 15) { balance[i].torque = 0.0002 * balance[i].inertia } else if (Math.floor(10 * (balance[i].angle % (Math.PI / 2))) === 0) { Matter.Body.setAngularVelocity(balance[i], balance[i].angularVelocity * 0.1) @@ -7653,6 +7707,8 @@ const level = { spawn.bodyRect(1325, -1775, 175, 175); spawn.bodyRect(-375, -1725, 100, 75, 0.5); spawn.bodyRect(-900, -1625, 125, 200, 0.5); + spawn.bodyRect(875, -25, 200, 175); + spawn.bodyRect(-1662, 1325, 25, 175); spawn.bodyRect(-1662, 1825, 25, 175); @@ -7708,6 +7764,9 @@ const level = { simulation.zoomTransition(level.defaultZoom) document.body.style.backgroundColor = "#c3d6e1"; color.map = "#444" + powerUps.chooseRandomPowerUp(-1825, 975); + powerUps.chooseRandomPowerUp(-3975, 975); + powerUps.chooseRandomPowerUp(3900, 925); let buttons = [] level.isFlipped = false; @@ -8220,12 +8279,14 @@ const level = { spawn.randomMob(2825, 75, 0.9); spawn.randomLevelBoss(2400, 600); spawn.secondaryBossChance(800, -300) - powerUps.spawnStartingPowerUps(600, 375); + powerUps.chooseRandomPowerUp(600, 375); + powerUps.chooseRandomPowerUp(600, 925); + powerUps.spawnStartingPowerUps(1750, -325); powerUps.addResearchToLevel() //needs to run after mobs are spawned - powerUps.directSpawn(2825, 175, "heal"); - powerUps.directSpawn(2475, -650, "heal"); - powerUps.directSpawn(2100, 925, "heal"); - powerUps.directSpawn(625, -100, "heal"); + powerUps.chooseRandomPowerUp(2825, 175); + powerUps.chooseRandomPowerUp(2475, -650); + powerUps.chooseRandomPowerUp(2100, 925); + powerUps.chooseRandomPowerUp(625, -100); }, corridor() { // simulation.fallHeight = 4000 @@ -8235,6 +8296,10 @@ const level = { document.body.style.backgroundColor = "#d0d5d5"; color.map = "#444" + powerUps.chooseRandomPowerUp(5925, -2125); + powerUps.chooseRandomPowerUp(75, -4225); + powerUps.chooseRandomPowerUp(2950, -1450); + // level.isHorizontalFlipped = true if (level.isHorizontalFlipped) { level.setPosToSpawn(14075, -625); @@ -8473,8 +8538,8 @@ const level = { spawn.randomMob(3575, 375, 0.6); spawn.randomGroup(5300, -1400, 1.3); - spawn.randomLevelBoss(2025, -1825); - spawn.secondaryBossChance(-1900, -1800); + spawn.randomLevelBoss(2025, -1825, ["pulsarBoss", "shieldingBoss", "laserLayerBoss", "shooterBoss"]); + spawn.secondaryBossChance(-1900, -1800, ["historyBoss", "spawnerBossCulture", "blockBoss"]); powerUps.spawnStartingPowerUps(11750, -1000); powerUps.addResearchToLevel() //needs to run after mobs are spawned }, @@ -8948,18 +9013,17 @@ const level = { button0.query(); if (!button0.isUp) { //summon second set of mobs //1 boss, 1-2 groups, 11 mobs (all on lower ground level, where the slime is leaving) - spawn.randomMob(918, 2695, 0.1); - spawn.randomMob(1818, 2719, 0.2); - spawn.randomMob(2530, 2460, 0.2); - spawn.randomMob(3109, 2665, 0.3); - spawn.randomMob(3909, 2191, 0.3); - spawn.randomMob(4705, 2711, 0.4); - spawn.randomMob(5800, 2796, 0.5); - spawn.randomMob(7287, 2757, 0.6); - spawn.randomMob(5759, 2691, 0.9); - spawn.randomMob(5675, 2225, 0.8); - spawn.randomMob(7450, 2775, 0.8); - + spawn.randomMob(918, 2695, 0); + spawn.randomMob(1818, 2719, 0.1); + spawn.randomMob(2530, 2460, 0.1); + spawn.randomMob(3109, 2665, 0.2); + spawn.randomMob(3909, 2191, 0.2); + spawn.randomMob(4705, 2711, 0.3); + spawn.randomMob(5800, 2796, 0.3); + spawn.randomMob(7287, 2757, 0.4); + spawn.randomMob(5759, 2691, 0.4); + spawn.randomMob(5675, 2225, 0.5); + spawn.randomMob(7450, 2775, 0.5); spawn.randomGroup(6600, 2400, 0.1); if (simulation.difficulty > 1) spawn.randomLevelBoss(6076, 2341); } @@ -9050,7 +9114,9 @@ const level = { spawn.bodyRect(3825, 2240, 150, 75, 0.5); spawn.mapVertex(3500, 2452, "-500 -135 500 -135 500 35 400 135 -400 135 -500 35"); - spawn.mapVertex(1200, 2875, "-400 0 -300 -100 300 -100 400 0"); + spawn.mapVertex(1200, 2850, "-500 -100 -550 -50 500 -100 550 -50 550 300 -550 300"); + // spawn.mapVertex(1200, 2875, "-400 0 -300 -100 300 -100 400 0"); + spawn.mapVertex(1317, 275, "-500 0 -300 -200 300 -200 550 50 550 500 -500 500"); spawn.mapVertex(1300, -357, "-300 0 -400 -100 400 -100 300 0"); spawn.bodyRect(1550, -308, 50, 208, 0.5); @@ -9081,17 +9147,17 @@ const level = { spawn.mapRect(7625, 2890, 400, 25); spawn.mapRect(7800, 2880, 100, 25); - spawn.randomMob(2450, 250, 0.2); - spawn.randomMob(3250, 325, 0.2); - spawn.randomMob(3625, 350, 0.3); - spawn.randomMob(1750, -25, 0.4); - spawn.randomMob(1300, 1750, 0.5); - spawn.randomMob(2350, 1725, 0.6); - spawn.randomMob(3350, 1775, 0.7); - spawn.randomMob(1025, 750, 0.8); - spawn.randomMob(2400, 1775, 0.8); - spawn.randomMob(1250, 1725, 0.8); - spawn.randomMob(775, 1775, 0.9); + spawn.randomMob(2450, 250, 0); + spawn.randomMob(3250, 325, 0); + spawn.randomMob(3625, 350, 0.1); + spawn.randomMob(1750, -25, 0.1); + spawn.randomMob(1300, 1750, 0.2); + spawn.randomMob(2350, 1725, 0.2); + spawn.randomMob(3350, 1775, 0.2); + spawn.randomMob(1025, 750, 0.3); + spawn.randomMob(2400, 1775, 0.3); + spawn.randomMob(1250, 1725, 0.3); + spawn.randomMob(775, 1775, 0.4); powerUps.addResearchToLevel() //needs to run after mobs are spawned spawn.secondaryBossChance(1822, 1336) @@ -9102,7 +9168,7 @@ const level = { balance1 = level.rotor(-800 - 25, -395, 25, 390, 0.001) //entrance balance2 = level.rotor(-2605 - 390, 500, 390, 25, 0.001) //falling - balance3 = level.rotor(-2608 - 584, 1950, 584, 25, 0.001) //falling + balance3 = level.rotor(-2608 - 400, 1950, 400, 25, 0.001) //falling balance5 = level.rotor(-2605 - 390, 1020, 390, 25, 0.001) //falling button1.min.x = -button1.min.x - 126 @@ -9129,17 +9195,17 @@ const level = { button0.query(); if (!button0.isUp) { //summon second set of mobs //1 boss, 1-2 groups, 11 mobs (all on lower ground level, where the slime is leaving) - spawn.randomMob(-7475, 2800, 0.1); - spawn.randomMob(-6475, 2500, 0.2); - spawn.randomMob(-4575, 2775, 0.3); - spawn.randomMob(-7575, 2850, 0.3); - spawn.randomMob(-6425, 2575, 0.3); - spawn.randomMob(-5750, 2775, 0.4); - spawn.randomMob(-4675, 2800, 0.5); - spawn.randomMob(-3425, 2800, 0.6); - spawn.randomMob(-2475, 2475, 0.7); - spawn.randomMob(-3350, 2250, 0.8); - spawn.randomMob(-1275, 2725, 0.9); + spawn.randomMob(-7475, 2800, 0); + spawn.randomMob(-6475, 2500, 0.1); + spawn.randomMob(-4575, 2775, 0.2); + spawn.randomMob(-7575, 2850, 0.2); + spawn.randomMob(-6425, 2575, 0.2); + spawn.randomMob(-5750, 2775, 0.3); + spawn.randomMob(-4675, 2800, 0.3); + spawn.randomMob(-3425, 2800, 0.4); + spawn.randomMob(-2475, 2475, 0.4); + spawn.randomMob(-3350, 2250, 0.5); + spawn.randomMob(-1275, 2725, 0.5); spawn.randomGroup(-6225, 2400, 0.1); if (simulation.difficulty > 1) spawn.randomLevelBoss(-6250, 2350); } @@ -9168,7 +9234,7 @@ const level = { rotor2 = level.rotor(1525, 1900, 650, 50, 0.001, 0, 0.01, 0, -0.0007) balance1 = level.rotor(800, -395, 25, 390, 0.001) //entrance balance2 = level.rotor(2605, 500, 390, 25, 0.001) //falling - balance3 = level.rotor(2608, 1950, 584, 25, 0.001) //falling + balance3 = level.rotor(2608, 1950, 400, 25, 0.001) //falling balance5 = level.rotor(2605, 1020, 390, 25, 0.001) //falling } @@ -34957,8 +35023,8 @@ const level = { y: mob[k].velocity.y - 8 * Math.sin(angle) }); - if (tech.isAnnihilation && !mob[k].shield && !mob[k].isShielded && !mob[k].isBoss && mob[k].isDropPowerUp && g.energy > 0.1 && mob[k].damageReduction > 0) { - g.energy -= 0.1 //* Math.max(g.maxEnergy, g.energy) //0.33 * g.energy + if (tech.isAnnihilation && !mob[k].shield && !mob[k].isShielded && !mob[k].isBoss && mob[k].isDropPowerUp && g.energy > 0.08 && mob[k].damageReduction > 0) { + g.energy -= 0.08 //* Math.max(g.maxEnergy, g.energy) //0.33 * g.energy if (g.immuneCycle === g.cycle + g.collisionImmuneCycles) g.immuneCycle = 0; //genisis doesn't go immune to collision damage mob[k].death(); simulation.drawList.push({ //add dmg to draw queue diff --git a/js/mob.js b/js/mob.js index 30197db..df145f9 100644 --- a/js/mob.js +++ b/js/mob.js @@ -1234,6 +1234,30 @@ const mobs = { m.energy -= 0.05; if (m.energy < 0) m.energy = 0 } + + + + if (tech.isRemineralize) { + //reduce mineral percent based on time since last check + const seconds = (simulation.cycle - tech.mineralLastCheck) / 60 + tech.mineralLastCheck = simulation.cycle + tech.mineralDamageReduction = 1 - (1 - tech.mineralDamageReduction) * Math.pow(0.9, seconds); + tech.mineralDamage = 1 + (tech.mineralDamage - 1) * Math.pow(0.9, seconds); + //apply mineral damage reduction + tech.mineralDamageReduction *= 0.85 + } + if (tech.isDemineralize) { + //reduce mineral percent based on time since last check + const seconds = (simulation.cycle - tech.mineralLastCheck) / 60 + tech.mineralLastCheck = simulation.cycle + tech.mineralDamageReduction = 1 - (1 - tech.mineralDamageReduction) * Math.pow(0.9, seconds); + tech.mineralDamage = 1 + (tech.mineralDamage - 1) * Math.pow(0.9, seconds); + //apply mineral damage + tech.mineralDamage *= 1.08 + } + + + powerUps.spawnRandomPowerUp(this.position.x, this.position.y); m.lastKillCycle = m.cycle; //tracks the last time a kill was made, mostly used in simulation.checks() mobs.mobDeaths++ @@ -1253,9 +1277,11 @@ const mobs = { } else { for (let i = 0; i < amount; i++) b.spore(this.position) } - } else if (tech.isExplodeMob) { + } + if (tech.isExplodeMob) { b.explosion(this.position, Math.min(700, Math.sqrt(this.mass + 6) * (30 + 60 * Math.random()))) - } else if (tech.nailsDeathMob) { + } + if (tech.nailsDeathMob) { b.targetedNail(this.position, tech.nailsDeathMob, 39 + 6 * Math.random()) } if (tech.isBotSpawnerReset) { @@ -1269,7 +1295,7 @@ const mobs = { this.leaveBody = false; // no body since it turned into the bot } if (tech.isMobDeathImmunity) { - const immuneTime = 360 + const immuneTime = 300 if (m.immuneCycle < m.cycle + immuneTime) m.immuneCycle = m.cycle + immuneTime; //player is immune to damage } if (tech.isAddRemoveMaxHealth) { diff --git a/js/player.js b/js/player.js index 83d4a47..39a41bc 100644 --- a/js/player.js +++ b/js/player.js @@ -782,9 +782,9 @@ const m = { defense() { let dmg = 1 if (powerUps.boost.isDefense && powerUps.boost.endCycle > simulation.cycle) dmg *= 0.3 - if (tech.isMaxHealthDefense && m.health === m.maxHealth) dmg *= 0.2 + if (tech.isMaxHealthDefense && m.health === m.maxHealth) dmg *= 0.1 if (tech.isDiaphragm) dmg *= 0.55 + 0.35 * Math.sin(m.cycle * 0.0075); - if (tech.isZeno) dmg *= 0.15 + if (tech.isZeno) dmg *= 0.2 if (tech.isFieldHarmReduction) dmg *= 0.6 if (tech.isHarmDarkMatter) dmg *= (tech.isMoveDarkMatter || tech.isNotDarkMatter) ? 0.25 : 0.4 if (tech.isImmortal) dmg *= 0.7 @@ -795,12 +795,20 @@ const m = { if (tech.isHarmReduce && input.field) dmg *= 0.1 if (tech.isNeutronium && input.field && m.fieldCDcycle < m.cycle) dmg *= 0.05 if (tech.isBotArmor) dmg *= 0.96 ** b.totalBots() - if (tech.isHarmArmor && m.lastHarmCycle + 600 > m.cycle) dmg *= 0.3; + if (tech.isHarmArmor && m.lastHarmCycle + 600 > m.cycle) dmg *= 0.4; if (tech.isNoFireDefense && m.cycle > m.fireCDcycle + 120) dmg *= 0.3 if (tech.isTurret && m.crouch) dmg *= 0.3; if (tech.isFirstDer && b.inventory[0] === b.activeGun) dmg *= 0.85 ** b.inventory.length // if (tech.isLowHealthDefense) dmg *= Math.pow(0.3, Math.max(0, (tech.isEnergyHealth ? m.maxEnergy - m.energy : m.maxHealth - m.health))) if (tech.isLowHealthDefense) dmg *= Math.pow(0.2, Math.max(0, 1 - (tech.isEnergyHealth ? m.energy / m.maxEnergy : m.health / m.maxHealth))) + if (tech.isRemineralize) { + //reduce mineral percent based on time since last check + const seconds = (simulation.cycle - tech.mineralLastCheck) / 60 + tech.mineralLastCheck = simulation.cycle + tech.mineralDamage = 1 + (tech.mineralDamage - 1) * Math.pow(0.9, seconds); + tech.mineralDamageReduction = 1 - (1 - tech.mineralDamageReduction) * Math.pow(0.9, seconds); + dmg *= tech.mineralDamageReduction + } // return tech.isEnergyHealth ? Math.pow(dmg, 0.7) : dmg //defense has less effect // dmg *= m.fieldHarmReduction return dmg * m.fieldHarmReduction @@ -2736,10 +2744,10 @@ const m = { m.fieldThreshold = Math.cos((m.fieldArc) * Math.PI) }, setHoldDefaults() { - if (tech.isFreeWormHole && m.fieldMode !== 9) { //not wormhole - const removed = tech.removeTech("charmed baryon") //neutronum can get player stuck so it has to be removed if player has wrong field - if (removed) powerUps.directSpawn(m.pos.x, m.pos.y, "tech"); - } + // if (tech.isFreeWormHole && m.fieldMode !== 9) { //not wormhole + // const removed = tech.removeTech("charmed baryon") //neutronum can get player stuck so it has to be removed if player has wrong field + // if (removed) powerUps.directSpawn(m.pos.x, m.pos.y, "tech"); + // } if (tech.isNeutronium && m.fieldMode !== 3) { //not negative mass field const removed = tech.removeTech("neutronium") //neutronum can get player stuck so it has to be removed if player has wrong field if (removed) powerUps.directSpawn(m.pos.x, m.pos.y, "tech"); @@ -2835,7 +2843,7 @@ const m = { } else if (m.fieldMode === 8) { m.fieldRegen = 0.001667 //10 energy per second pilot wave } else if (m.fieldMode === 9) { - m.fieldRegen = 0.00117 //7 energy per second wormhole + m.fieldRegen = 0.001334 //8 energy per second wormhole } else if (m.fieldMode === 10) { m.fieldRegen = 0.0015 //9 energy per second grappling hook } else { @@ -4011,14 +4019,14 @@ const m = { { name: "negative mass", //
hold blocks as if they have a lower mass - description: `use energy to nullify  gravity
0.4x damage taken
6 energy per second`, + description: `use energy to nullify  gravity
0.5x damage taken
6 energy per second`, fieldDrawRadius: 0, effect: () => { m.fieldFire = true; m.holdingMassScale = 0.01; //can hold heavier blocks with lower cost to jumping m.fieldMeterColor = "#333" m.eyeFillColor = m.fieldMeterColor - m.fieldHarmReduction = 0.4; + m.fieldHarmReduction = 0.5; m.fieldDrawRadius = 0; m.hold = function () { @@ -4032,8 +4040,7 @@ const m = { if (m.energy > m.fieldRegen) m.energy -= m.fieldRegen m.grabPowerUp(); m.lookForPickUp(); - const DRAIN = 0.00035 - if (m.energy > DRAIN && m.fieldCDcycle < m.cycle) { + if (m.energy > tech.negativeMassCost && m.fieldCDcycle < m.cycle) { if (tech.isFlyFaster) { //look for nearby objects to make zero-g function moveThis(who, range, mag = 1.06) { @@ -4065,13 +4072,13 @@ const m = { moveThis(powerUp, this.fieldDrawRadius, 0); moveThis(body, this.fieldDrawRadius, 0); } else if (input.up) { //up - m.energy -= 5 * DRAIN; + m.energy -= 5 * tech.negativeMassCost; this.fieldDrawRadius = this.fieldDrawRadius * 0.97 + 1100 * 0.03; player.force.y -= 2.25 * player.mass * simulation.g; moveThis(powerUp, this.fieldDrawRadius, 1.8); moveThis(body, this.fieldDrawRadius, 1.8); } else { - m.energy -= DRAIN; + m.energy -= tech.negativeMassCost; this.fieldDrawRadius = this.fieldDrawRadius * 0.97 + 800 * 0.03; player.force.y -= 1.07 * player.mass * simulation.g; // slow upward drift moveThis(powerUp, this.fieldDrawRadius); @@ -4109,13 +4116,13 @@ const m = { verticalForce(powerUp, this.fieldDrawRadius, 0.7); verticalForce(body, this.fieldDrawRadius, 0.7); } else if (input.up) { //up - m.energy -= 5 * DRAIN; + m.energy -= 5 * tech.negativeMassCost; this.fieldDrawRadius = this.fieldDrawRadius * 0.97 + 850 * 0.03; player.force.y -= 1.45 * player.mass * simulation.g; verticalForce(powerUp, this.fieldDrawRadius, 1.38); verticalForce(body, this.fieldDrawRadius, 1.38); } else { - m.energy -= DRAIN; + m.energy -= tech.negativeMassCost; this.fieldDrawRadius = this.fieldDrawRadius * 0.97 + 650 * 0.03; player.force.y -= 1.07 * player.mass * simulation.g; // slow upward drift verticalForce(powerUp, this.fieldDrawRadius); @@ -5051,7 +5058,7 @@ const m = { } } if (tech.isCloakStun) { //stun nearby mobs after exiting cloak - let isMobsAround = false + // let isMobsAround = false const stunRange = m.fieldDrawRadius * 1.25 // const drain = 0.01 // if (m.energy > drain) { @@ -5358,7 +5365,7 @@ const m = { { name: "wormhole", //wormholes attract blocks and power ups
- description: "use energy to tunnel through a wormhole
+8% chance to duplicate spawned power ups
7 energy per second", //
bullets may also traverse wormholes + description: "use energy to tunnel through a wormhole
+8% chance to duplicate spawned power ups
8 energy per second", //
bullets may also traverse wormholes drain: 0, effect: function () { m.fieldMeterColor = "#bbf" //"#0c5" @@ -5454,8 +5461,10 @@ const m = { if (tech.isWormholeWorms) { //pandimensional spermia b.worm(Vector.add(m.hole.pos2, Vector.rotate({ x: m.fieldRange * 0.4, y: 0 }, 2 * Math.PI * Math.random()))) Matter.Body.setVelocity(bullet[bullet.length - 1], Vector.mult(Vector.rotate(m.hole.unit, Math.PI / 2), -10)); - // for (let i = 0, len = Math.ceil(1.25 * Math.random()); i < len; i++) { - // } + if (Math.random() < 0.5) { //chance for a second worm + b.worm(Vector.add(m.hole.pos2, Vector.rotate({ x: m.fieldRange * 0.4, y: 0 }, 2 * Math.PI * Math.random()))) + Matter.Body.setVelocity(bullet[bullet.length - 1], Vector.mult(Vector.rotate(m.hole.unit, Math.PI / 2), -10)); + } } break } @@ -5475,13 +5484,12 @@ const m = { if ((m.fieldMode === 0 || m.fieldMode === 9) && m.immuneCycle < m.cycle) m.energy += 0.02 * m.coupling * level.isReducedRegen if (m.fieldMode === 0 || m.fieldMode === 9) m.energy += 0.02 * m.coupling * level.isReducedRegen if (tech.isWormholeWorms) { //pandimensional spermia - b.worm(Vector.add(m.hole.pos1, Vector.rotate({ - x: m.fieldRange * 0.4, - y: 0 - }, 2 * Math.PI * Math.random()))) + b.worm(Vector.add(m.hole.pos1, Vector.rotate({ x: m.fieldRange * 0.4, y: 0 }, 2 * Math.PI * Math.random()))) Matter.Body.setVelocity(bullet[bullet.length - 1], Vector.mult(Vector.rotate(m.hole.unit, Math.PI / 2), 5)); - // for (let i = 0, len = Math.ceil(1.25 * Math.random()); i < len; i++) { - // } + if (Math.random() < 0.5) { //chance for a second worm + b.worm(Vector.add(m.hole.pos1, Vector.rotate({ x: m.fieldRange * 0.4, y: 0 }, 2 * Math.PI * Math.random()))) + Matter.Body.setVelocity(bullet[bullet.length - 1], Vector.mult(Vector.rotate(m.hole.unit, Math.PI / 2), 5)); + } } break } @@ -6239,8 +6247,8 @@ const m = { y: mob[k].velocity.y - 8 * Math.sin(angle) }); - if (tech.isAnnihilation && !mob[k].shield && !mob[k].isShielded && !mob[k].isBoss && mob[k].isDropPowerUp && m.energy > 0.34 * m.maxEnergy) { - m.energy -= 0.33 * Math.max(m.maxEnergy, m.energy) + if (tech.isAnnihilation && !mob[k].shield && !mob[k].isShielded && !mob[k].isBoss && mob[k].isDropPowerUp && m.energy > 0.08) { + m.energy -= 0.08 //* Math.max(m.maxEnergy, m.energy) //0.33 * m.energy m.immuneCycle = 0; //player doesn't go immune to collision damage mob[k].death(); simulation.drawList.push({ //add dmg to draw queue diff --git a/js/powerup.js b/js/powerup.js index 213eb8d..b7722bc 100644 --- a/js/powerup.js +++ b/js/powerup.js @@ -256,6 +256,8 @@ const powerUps = { powerUps.endDraft(type); }, showDraft() { + simulation.isChoosing = true; //stops p from un pausing on key down + //disable clicking for 1/2 a second to prevent mistake clicks document.getElementById("choose-grid").style.pointerEvents = "none"; document.body.style.cursor = "none"; @@ -264,7 +266,6 @@ const powerUps = { document.getElementById("choose-grid").style.pointerEvents = "auto"; document.getElementById("choose-grid").style.transitionDuration = "0s"; }, 400); - simulation.isChoosing = true; //stops p from un pausing on key down if (!simulation.paused) { if (tech.isNoDraftPause || level.isNoPause) { @@ -909,7 +910,7 @@ const powerUps = { } }, cancelText(type) { - if (tech.isSuperDeterminism) { + if (tech.isSuperDeterminism || type === "constraint") { return `
` } else if (tech.isCancelTech && tech.cancelTechCount === 0) { return `
randomize
` @@ -940,7 +941,9 @@ const powerUps = { }, researchAndCancelText(type) { let text = `
` - if (type === "entanglement") { + if (type === "constraint") { + return + } else if (type === "entanglement") { text += `entanglement` } else if (tech.isJunkResearch && powerUps.research.currentRerollCount < 2) { text += `` // style = "margin-left: 192px; margin-right: -192px;" @@ -1008,6 +1011,12 @@ const powerUps = { return text }, hideStyle: `style="height:auto; border: none; background-color: transparent;"`, + constraintText(choose, click) { + return `
+
+
  ${m.fieldUpgrades[choose].name}
+ ${m.fieldUpgrades[choose].description}
` + }, gunText(choose, click) { const style = localSettings.isHideImages ? powerUps.hideStyle : `style="background-image: url('img/gun/${b.guns[choose].name}.webp');"` return `
@@ -1607,6 +1616,8 @@ const powerUps = { } } } + powerUps.spawn(x + 25, y - 25, "ammo", false); + if (simulation.difficultyMode > 5) powerUps.spawn(x - 25, y - 50, "ammo", false); if (tech.isAddRemoveMaxHealth) { powerUps.spawn(x + 20, y, "tech", false) powerUps.spawn(x - 20, y, "research", false) diff --git a/js/spawn.js b/js/spawn.js index 9b9f2a8..4f743bc 100644 --- a/js/spawn.js +++ b/js/spawn.js @@ -1,6 +1,6 @@ //main object for spawning things in a level const spawn = { - nonCollideBossList: ["cellBossCulture", "bomberBoss", "powerUpBoss", "growBossCulture"], + nonCollideBossList: ["cellBossCulture", "bomberBoss", "powerUpBoss", "growBossCulture", "snakeBoss"], // other bosses: suckerBoss, laserBoss, tetherBoss, bounceBoss, sprayBoss, mineBoss, hopMotherBoss //these need a particular level to work so they are not included in the random pool randomBossList: [ "orbitalBoss", "historyBoss", "shooterBoss", "cellBossCulture", "bomberBoss", "spiderBoss", "launcherBoss", "laserTargetingBoss", @@ -114,9 +114,9 @@ const spawn = { } } }, - secondaryBossChance(x, y) { + secondaryBossChance(x, y, options = []) { if (simulation.difficultyMode > 2 && level.levelsCleared > 1) { - spawn.randomLevelBoss(x, y); + spawn.randomLevelBoss(x, y, options); powerUps.spawn(x - 30, y, "ammo"); powerUps.spawn(x + 30, y, "ammo"); } else { @@ -3921,8 +3921,8 @@ const spawn = { } me.frictionStatic = 0; me.friction = 0; - me.memory = 240 - me.seePlayerFreq = 55 + me.memory = 900; + me.seePlayerFreq = 41 me.delay = 5 + 2 * simulation.CDScale;//8 + 3 * simulation.CDScale; me.nextBlinkCycle = me.delay; me.JumpDistance = 0//set in redMode() @@ -4082,21 +4082,18 @@ const spawn = { move() } else if (this.seePlayer.recall) { //chase player's history this.lostPlayer(); - if (!m.isCloak) { - for (let i = 0; i < 50; i++) { //if lost player lock onto a player location in history + if (m.isCloak) { + move(this.seePlayer.position) //go after where you last saw the player + } else { + for (let i = 0; i < 55; i++) { //if lost player lock onto a player location in history let history = m.history[(m.cycle - 10 * i) % 600] if (Matter.Query.ray(map, this.position, history.position).length === 0) { - this.seePlayer.recall = this.memory + Math.round(this.memory * Math.random()); //cycles before mob falls a sleep - this.seePlayer.position.x = history.position.x; - this.seePlayer.position.y = history.position.y; - this.seePlayer.yes = true; - move() + move(history.position) //go after where you last saw the player break } } } } - } this.checkStatus(); if (this.isInvulnerable) { @@ -4170,7 +4167,7 @@ const spawn = { me.fire = function () { // this.armor(); this.checkStatus(); - if (!m.isCloak && !this.isStunned) { + if (!this.isStunned) { if (this.isFiring) { if (this.fireCycle > this.fireDelay) { //fire this.isFiring = false @@ -4221,7 +4218,9 @@ const spawn = { } } else { //aim at player this.fireCycle++ - this.fireDir = Vector.normalise(Vector.sub(m.pos, this.position)); //set direction to turn to fire + //if cloaked, aim at player's history from 3 seconds ago + const whereIsPlayer = m.isCloak ? m.history[(m.cycle - 180) % 600].position : m.pos + this.fireDir = Vector.normalise(Vector.sub(whereIsPlayer, this.position)); //set direction to turn to fire //rotate towards fireAngle const angle = this.angle + Math.PI / 2; const c = Math.cos(angle) * this.fireDir.x + Math.sin(angle) * this.fireDir.y; @@ -4233,7 +4232,7 @@ const spawn = { } else if (this.fireCycle > 45) { //fire unit = Vector.mult(Vector.normalise(Vector.sub(this.vertices[1], this.position)), this.distanceToPlayer() - 100) this.fireTarget = Vector.add(this.vertices[1], unit) - if (Vector.magnitude(Vector.sub(m.pos, this.fireTarget)) < 1000) { //if's possible for this to be facing 180 degrees away from the player, this makes sure that doesn't occur + if (Vector.magnitude(Vector.sub(whereIsPlayer, this.fireTarget)) < 1000) { //if's possible for this to be facing 180 degrees away from the player, this makes sure that doesn't occur Matter.Body.setAngularVelocity(this, 0) this.fireLockCount = 0 this.isFiring = true @@ -4277,7 +4276,7 @@ const spawn = { }, Vector.normalise(Vector.sub(this.fireTarget, this.position))); //distance between the target and the player's location if ( - m.isCloak || + // m.isCloak || dot > 0.03 || // not looking at target Matter.Query.ray(map, this.fireTarget, this.position).length || Matter.Query.ray(body, this.fireTarget, this.position).length || //something blocking line of sight Vector.magnitude(Vector.sub(m.pos, this.fireTarget)) > 1000 // distance from player to target is very far, (this is because dot product can't tell if facing 180 degrees away) @@ -5056,7 +5055,7 @@ const spawn = { me.laserSword = function (where, angle, length) { best = { x: null, y: null, dist2: Infinity, who: null, v1: null, v2: null }; const look = { x: where.x + length * Math.cos(angle), y: where.y + length * Math.sin(angle) }; - best = vertexCollision(where, look, m.isCloak ? [map] : [map, [playerBody, playerHead]]); + best = vertexCollision(where, look, [map, [playerBody, playerHead]]); if (best.who && (best.who === playerBody || best.who === playerHead) && m.immuneCycle < m.cycle) { m.immuneCycle = m.cycle + m.collisionImmuneCycles; //player is immune to damage for an extra second m.damage(this.swordDamage); @@ -5663,7 +5662,7 @@ const spawn = { best = { x: null, y: null, dist2: Infinity, who: null, v1: null, v2: null }; const look = { x: where.x + this.swordRadius * Math.cos(angle), y: where.y + this.swordRadius * Math.sin(angle) }; - best = vertexCollision(where, look, m.isCloak ? [map, body] : [map, body, [playerBody, playerHead]]); + best = vertexCollision(where, look, [map, body, [playerBody, playerHead]]); if (best.who && (best.who === playerBody || best.who === playerHead) && m.immuneCycle < m.cycle) { m.immuneCycle = m.cycle + m.collisionImmuneCycles + 60; //player is immune to damage for an extra second @@ -5762,7 +5761,7 @@ const spawn = { me.laserSword = function (where, angle) { best = { x: null, y: null, dist2: Infinity, who: null, v1: null, v2: null }; const look = { x: where.x + this.swordRadius * Math.cos(angle), y: where.y + this.swordRadius * Math.sin(angle) }; - best = vertexCollision(where, look, m.isCloak ? [map, body] : [map, body, [playerBody, playerHead]]); + best = vertexCollision(where, look, [map, body, [playerBody, playerHead]]); if (best.who && (best.who === playerBody || best.who === playerHead) && m.immuneCycle < m.cycle) { m.immuneCycle = m.cycle + m.collisionImmuneCycles + 60; //player is immune to damage for an extra second m.damage(this.swordDamage); @@ -5854,7 +5853,7 @@ const spawn = { me.laserSword = function (where, angle) { best = { x: null, y: null, dist2: Infinity, who: null, v1: null, v2: null }; const look = { x: where.x + this.swordRadius * Math.cos(angle), y: where.y + this.swordRadius * Math.sin(angle) }; - best = vertexCollision(where, look, m.isCloak ? [map, body] : [map, body, [playerBody, playerHead]]); + best = vertexCollision(where, look, [map, body, [playerBody, playerHead]]); if (best.who && (best.who === playerBody || best.who === playerHead) && m.immuneCycle < m.cycle) { m.immuneCycle = m.cycle + m.collisionImmuneCycles + 60; //player is immune to damage for an extra second m.damage(this.swordDamage); @@ -5964,7 +5963,7 @@ const spawn = { me.laserSpear = function (where, angle) { best = { x: null, y: null, dist2: Infinity, who: null, v1: null, v2: null }; const look = { x: where.x + this.swordRadius * Math.cos(angle), y: where.y + this.swordRadius * Math.sin(angle) }; - best = vertexCollision(where, look, m.isCloak ? [map, body] : [map, body, [playerBody, playerHead]]); + best = vertexCollision(where, look, [map, body, [playerBody, playerHead]]); if (best.who && (best.who === playerBody || best.who === playerHead)) { this.swordRadiusGrowRate = 1 / this.swordRadiusGrowRateInitial //!!!! this retracts the sword if it hits the player @@ -6180,7 +6179,7 @@ const spawn = { mobs.spawn(x, y, 7, radius, "transparent"); let me = mob[mob.length - 1]; me.seeAtDistance2 = 500000; - me.accelMag = 0.00007 + 0.0001 * simulation.accelScale; + me.accelMag = 0.0002 + 0.0001 * simulation.accelScale; if (map.length) me.searchTarget = map[Math.floor(Math.random() * (map.length - 1))].position; //required for search Matter.Body.setDensity(me, 0.0002); //normal is 0.001 me.damageReduction = 0.1 @@ -6222,7 +6221,7 @@ const spawn = { if (this.health < 0.8) me.seeAtDistance2 = 2000000; } me.do = function () { - if (this.speed > 7) Matter.Body.setVelocity(this, { x: this.velocity.x * 0.8, y: this.velocity.y * 0.8 }); //cap max speed to avoid getting launched by deflection, explosion + if (this.speed > 6) Matter.Body.setVelocity(this, { x: this.velocity.x * 0.8, y: this.velocity.y * 0.8 }); //cap max speed to avoid getting launched by deflection, explosion this.seePlayerCheckByDistance(); this.checkStatus(); this.attraction(); @@ -7215,6 +7214,7 @@ const spawn = { me.do = function () { this.seePlayerByHistory(60); this.attraction(); + if (this.distanceToPlayer2() > 9000000) this.attraction(); //extra attraction if far away this.checkStatus(); this.eventHorizon = 950 + 250 * Math.sin(simulation.cycle * 0.005) if (!simulation.isTimeSkipping) { diff --git a/js/tech.js b/js/tech.js index 778fa1b..954987c 100644 --- a/js/tech.js +++ b/js/tech.js @@ -141,7 +141,7 @@ const tech = { if (tech.tech[index].isLost) tech.tech[index].isLost = false; //give specific tech if (tech.isBanish && tech.tech[index].isBanished) tech.tech[index].isBanished = false //stops the bug where you can't gets stacks of tech you take with decoherence, I think if (tech.isDamageFieldTech && tech.tech[index].isFieldTech) { - tech.damage *= 1.15 + tech.damage *= 1.2 // simulation.inGameConsole(`damage *= ${1.05}`) simulation.inGameConsole(`tech.damage *= ${1.1} //hidden-variable theory`); } @@ -273,7 +273,7 @@ const tech = { if (tech.isDamageCooldown) dmg *= m.lastKillCycle + tech.isDamageCooldownTime > m.cycle ? 0.4 : 4 if (tech.isDamageAfterKillNoRegen && m.lastKillCycle + 300 > m.cycle) dmg *= 2 if (tech.isDivisor && b.activeGun !== undefined && b.activeGun !== null && b.guns[b.activeGun].ammo % 3 === 0) dmg *= 1.9 - if (tech.isNoGroundDamage) dmg *= m.onGround ? 0.9 : 2 + if (tech.offGroundDamage && !m.onGround) dmg *= tech.offGroundDamage if (tech.isDilate) dmg *= 1.9 + 1.1 * Math.sin(m.cycle * 0.01) if (tech.isGunChoice) dmg *= 1 + 0.4 * b.inventory.length if (powerUps.boost.endCycle > simulation.cycle) dmg *= 1 + powerUps.boost.damage @@ -294,11 +294,19 @@ const tech = { if (tech.isNoFireDamage && m.cycle > m.fireCDcycle + 120) dmg *= 2 if (tech.isSpeedDamage) dmg *= 1 + Math.min(2, ((tech.speedAdded + player.speed) * 0.033))//1 + Math.min(1, (tech.speedAdded + player.speed) * 0.0193) if (tech.isAxion && tech.isHarmDarkMatter) dmg *= ((tech.isMoveDarkMatter || tech.isNotDarkMatter) ? 3.2 : 2) - if (tech.isHarmDamage && m.lastHarmCycle + 480 > m.cycle) dmg *= 3; + if (tech.isHarmDamage && m.lastHarmCycle + 240 > m.cycle) dmg *= 4; if (tech.lastHitDamage && m.lastHit) dmg *= 1 + tech.lastHitDamage * m.lastHit // if (tech.isLowHealthDmg) dmg *= 1 + 0.6 * Math.max(0, 1 - (tech.isEnergyHealth ? m.energy : m.health)) if (tech.isLowHealthDmg) dmg *= 1 + 0.6 * Math.max(0, (tech.isEnergyHealth ? m.maxEnergy - m.energy : m.maxHealth - m.health)) if (tech.isJunkDNA) dmg *= 1 + 2 * (tech.junkChance + level.junkAdded) + if (tech.isDemineralize) { + //reduce mineral percent based on time since last check + const seconds = (simulation.cycle - tech.mineralLastCheck) / 60 + tech.mineralLastCheck = simulation.cycle + tech.mineralDamage = 1 + (tech.mineralDamage - 1) * Math.pow(0.9, seconds); + tech.mineralDamageReduction = 1 - (1 - tech.mineralDamageReduction) * Math.pow(0.9, seconds); + dmg *= tech.mineralDamage + } return dmg }, duplicationChance() { @@ -430,7 +438,7 @@ const tech = { }, { name: "Hilbert space", - description: "4x damage
after a collision enter an alternate reality", + description: "3x damage
after a collision enter an alternate reality", maxCount: 1, count: 0, frequency: 1, @@ -441,7 +449,7 @@ const tech = { return !m.isAltSkin && !tech.isResearchReality && !tech.isSwitchReality }, requires: "not skinned, Ψ(t) collapse, many-worlds", - damage: 4, + damage: 3, effect() { m.skin.anodize(); tech.damage *= this.damage @@ -549,8 +557,8 @@ const tech = { }, maxCount: 1, count: 0, - frequency: 5, - frequencyDefault: 5, + frequency: 4, + frequencyDefault: 4, allowed() { return tech.isEnergyHealth && !tech.isOverHeal }, @@ -781,7 +789,7 @@ const tech = { { name: "pigeonhole principle", descriptionFunction() { - return `1.4x damage per ${powerUps.orb.gun()}, but your equipped ${powerUps.orb.gun()}
cycles each level and you can't switch` + return `1.4x damage per ${powerUps.orb.gun()}, but your active ${powerUps.orb.gun()}
cycles each level and you can't switch` }, // descriptionFunction() { // let info = "" @@ -1010,7 +1018,7 @@ const tech = { { name: "Pareto efficiency", descriptionFunction() { - return `for each ${powerUps.orb.gun()} in your inventory
randomly get 5x or 0.2x ammo per ${powerUps.orb.ammo(1)}` + return `all you ${powerUps.orb.gun()} randomly get
5x or 0.2x ammo per ${powerUps.orb.ammo(1)}` }, maxCount: 1, count: 0, @@ -1395,6 +1403,64 @@ const tech = { tech.isCrit = false; } }, + { + name: "remineralization", + descriptionFunction() { + //reduce mineral percent based on time since last check + const seconds = (simulation.cycle - tech.mineralLastCheck) / 60 + tech.mineralLastCheck = simulation.cycle + tech.mineralDamage = 1 + (tech.mineralDamage - 1) * Math.pow(0.9, seconds); + tech.mineralDamageReduction = 1 - (1 - tech.mineralDamageReduction) * Math.pow(0.9, seconds); + + return `after mobs die gain 0.85x damage taken
effects stack, but fade 10% every second(${tech.mineralDamageReduction.toFixed(2)}x)` + }, + maxCount: 1, + count: 0, + frequency: 1, + frequencyDefault: 1, + allowed() { return true }, + requires: "", + effect() { + tech.isRemineralize = true + tech.mineralDamageReduction = 1 + tech.mineralLastCheck = simulation.cycle + }, + remove() { + tech.isRemineralize = false + tech.mineralDamageReduction = 1 + tech.mineralLastCheck = simulation.cycle + } + }, + { + name: "demineralization", + descriptionFunction() { + //reduce mineral percent based on time since last check + const seconds = (simulation.cycle - tech.mineralLastCheck) / 60 + tech.mineralLastCheck = simulation.cycle + tech.mineralDamage = 1 + (tech.mineralDamage - 1) * Math.pow(0.9, seconds); + tech.mineralDamageReduction = 1 - (1 - tech.mineralDamageReduction) * Math.pow(0.9, seconds); + + return `after mobs die gain 1.08x damage
effects stack, but fade 10% every second(${tech.mineralDamage.toFixed(2)}x)` + }, + maxCount: 1, + count: 0, + frequency: 2, + frequencyDefault: 2, + allowed() { + return true + }, + requires: "", + effect() { + tech.isDemineralize = true + tech.mineralDamage = 1 + tech.mineralLastCheck = simulation.cycle + }, + remove() { + tech.isDemineralize = false + tech.mineralDamage = 1 + tech.mineralLastCheck = simulation.cycle + } + }, { name: "shear stress", description: "after mobs die
they fire a nail at nearby mobs", @@ -1403,9 +1469,9 @@ const tech = { frequency: 1, frequencyDefault: 1, allowed() { - return !tech.sporesOnDeath && !tech.isExplodeMob && !tech.botSpawner && !tech.isMobBlockFling && !tech.iceIXOnDeath + return true }, - requires: "no other mob death tech", + requires: "", effect() { tech.nailsDeathMob++ }, @@ -1421,9 +1487,9 @@ const tech = { frequency: 1, frequencyDefault: 1, allowed() { - return !tech.sporesOnDeath && !tech.nailsDeathMob && !tech.botSpawner && !tech.isMobBlockFling && !tech.iceIXOnDeath + return true }, - requires: "no other mob death tech", + requires: "", effect() { tech.isExplodeMob = true; }, @@ -1437,22 +1503,16 @@ const tech = { descriptionFunction() { return `after mobs die there is a 13% chance
they grow ${b.guns[6].nameString('s')}` }, - // description: "after mobs die
they have a +10% chance to grow spores", maxCount: 9, count: 0, frequency: 1, frequencyDefault: 1, allowed() { - return !tech.nailsDeathMob && !tech.isExplodeMob && !tech.botSpawner && !tech.isMobBlockFling && !tech.iceIXOnDeath + return true }, - requires: "no other mob death tech", + requires: "", effect() { tech.sporesOnDeath += 0.13; - // if (tech.isSporeWorm) { - // for (let i = 0; i < 4; i++) b.worm(m.pos) - // } else { - // for (let i = 0; i < 8; i++) b.spore(m.pos) - // } }, remove() { tech.sporesOnDeath = 0; @@ -2658,7 +2718,7 @@ const tech = { { name: "non-Newtonian armor", link: `
non-Newtonian armor`, - description: "after mob collisions
0.3x damage taken for 10 seconds", + description: "after mob collisions
0.4x damage taken for 10 seconds", maxCount: 1, count: 0, frequency: 1, @@ -2735,7 +2795,7 @@ const tech = { }, { name: "fermion", - description: `for 6 seconds after mobs die
become invulnerable and inhibit energy regen`, + description: `for 5 seconds after mobs die
become invulnerable and inhibit energy regen`, maxCount: 1, count: 0, frequency: 1, @@ -3066,7 +3126,7 @@ const tech = { { name: "stability", descriptionFunction() { - return `0.2x damage taken
while your health is at maximum` + return `0.1x damage taken
while your health is at maximum` }, maxCount: 1, count: 0, @@ -3168,7 +3228,7 @@ const tech = { { name: "Zenos paradox", descriptionFunction() { - return `0.15x damage taken
–5% of current ${tech.isEnergyHealth ? "energy" : "health"} every 5 seconds` + return `0.2x damage taken
–5% of current ${tech.isEnergyHealth ? "energy" : "health"} every 5 seconds` }, maxCount: 1, count: 0, @@ -3576,7 +3636,7 @@ const tech = { { name: "Ψ(t) collapse", link: `Ψ(t) collapse`, - description: `after a boss dies spawn ${powerUps.orb.research(6)}
if you research enter an alternate reality`, + description: `after a boss dies spawn ${powerUps.orb.research(4)}
if you research enter an alternate reality`, maxCount: 1, count: 0, frequency: 1, @@ -5812,7 +5872,7 @@ const tech = { }, { name: "launch system", - description: `5x missile fire rate
1.2x missile ammo per ${powerUps.orb.ammo(1)}`, + description: `5x missile fire rate
1.3x missile ammo per ${powerUps.orb.ammo(1)}`, isGunTech: true, maxCount: 1, count: 0, @@ -5822,7 +5882,7 @@ const tech = { return tech.haveGunCheck("missiles") && !tech.isMissileBig }, requires: "missiles, not cruise missile", - ammoBonus: 1.2, + ammoBonus: 1.3, effect() { tech.missileFireCD = 10 for (i = 0, len = b.guns.length; i < len; i++) { //find which gun @@ -7898,7 +7958,7 @@ const tech = { { name: "radiative equilibrium", descriptionFunction() { - return `after losing ${tech.isEnergyHealth ? "energy" : "health"}
3x damage for 8 seconds` + return `after losing ${tech.isEnergyHealth ? "energy" : "health"}
4x damage for 4 seconds` }, isFieldTech: true, maxCount: 1, @@ -7925,13 +7985,13 @@ const tech = { maxCount: 3, count: 0, frequency: 2, - frequencyDefault: 200, + frequencyDefault: 2, allowed() { return m.fieldMode === 8 || m.fieldMode === 3 }, requires: "negative mass, pilot wave", effect() { - tech.lastHitDamage += 6; + tech.lastHitDamage += 8; }, remove() { tech.lastHitDamage = 0; @@ -7946,9 +8006,9 @@ const tech = { frequency: 2, frequencyDefault: 2, allowed() { - return m.fieldMode === 3 + return m.fieldMode === 3 && tech.negativeMassCost !== 0 }, - requires: "negative mass", + requires: "negative mass, not equivalence principle", effect() { tech.isNeutronium = true tech.baseFx *= 0.86 @@ -7966,29 +8026,51 @@ const tech = { } }, { - name: "aerostat", - descriptionFunction() { - return `2x damage while off the ground
0.9x damage while on the ground(${(m.onGround ? 0.9 : 2).toFixed(1)}x)` - }, + name: "equivalence principle", + description: `negative mass field doesn't cost energy
`, isFieldTech: true, maxCount: 1, count: 0, frequency: 2, frequencyDefault: 2, + allowed() { + return m.fieldMode === 3 && !tech.isNeutronium + }, + requires: "negative mass, not neutronium", + effect() { + tech.negativeMassCost = 0 + }, + //also removed in m.setHoldDefaults() if player switches into a bad field + remove() { + tech.negativeMassCost = 0.00035 + } + }, + { + name: "aerostat", + descriptionFunction() { + const damage = m.onGround ? 1 : (tech.offGroundDamage) + const infoText = this.count ? `
(${damage.toFixed(0)}x)` : "" + return `2x damage while off the ground${infoText}` + }, + isFieldTech: true, + maxCount: 3, + count: 0, + frequency: 2, + frequencyDefault: 2, allowed() { return m.fieldMode === 3 || m.fieldMode === 10 }, requires: "negative mass, grappling hook", effect() { - tech.isNoGroundDamage = true + tech.offGroundDamage++ }, remove() { - tech.isNoGroundDamage = false + tech.offGroundDamage = 1 } }, { name: "annihilation", - description: "after colliding with non-boss mobs
they are annihilated and –10 energy", + description: "mobs you collide with are annihilated
–8 energy each time", isFieldTech: true, maxCount: 1, count: 0, @@ -8723,12 +8805,12 @@ const tech = { }, { name: "hidden-variable theory", - description: `1.15x damage each time you choose ${powerUps.orb.fieldTech()}`, + description: `1.2x damage after you choose ${powerUps.orb.fieldTech()}`, isFieldTech: true, maxCount: 1, count: 0, - frequency: 1, - frequencyDefault: 1, + frequency: 4, + frequencyDefault: 4, allowed() { return m.fieldMode === 8 }, @@ -8742,7 +8824,7 @@ const tech = { }, { name: "WIMPs", - description: `at each level's exit, spawn ${powerUps.orb.research(4)}
and a dangerous particle that slowly chases you`, + description: `at the exit to each level spawn ${powerUps.orb.research(4)}
and a dangerous particle that slowly chases you`, isFieldTech: true, maxCount: 9, count: 0, @@ -8770,9 +8852,9 @@ const tech = { frequency: 3, frequencyDefault: 3, allowed() { - return (m.fieldMode === 8 || m.fieldMode === 6 || m.fieldMode === 9) && (build.isExperimentSelection || powerUps.research.count > 2) + return (m.fieldMode === 8 || m.fieldMode === 9) && (build.isExperimentSelection || powerUps.research.count > 2) }, - requires: "wormhole, time dilation, negative mass, pilot wave", + requires: "wormhole, pilot wave", effect() { tech.fieldDuplicate = 0.11 powerUps.setPowerUpMode(); //needed after adjusting duplication chance @@ -8792,7 +8874,7 @@ const tech = { { name: "transdimensional worms", link: `transdimensional worms`, - description: "after a block falls into a wormhole
spawn a worm", + description: "after a block falls into a wormhole
spawn 1-2 worms", isFieldTech: true, maxCount: 1, count: 0, @@ -8812,7 +8894,7 @@ const tech = { { name: "anyon", descriptionFunction() { - return `2x energy after duplicating a power up
+6% chance to duplicate spawned power ups` + return `2x stored energy after duplicating power ups
+6% chance to duplicate spawned power ups` }, isFieldTech: true, maxCount: 1, @@ -8903,35 +8985,44 @@ const tech = { }, { name: "holographic principle", - description: `0.8x movement and jumping
wormholes cost zero energy`, + cost: 2, + descriptionFunction() { + return `use ${powerUps.orb.research(this.cost)}
making wormholes doesn't cost energy` + }, isFieldTech: true, maxCount: 1, count: 0, frequency: 2, frequencyDefault: 2, allowed() { - return m.fieldMode === 9 && !tech.isWormholeMapIgnore + return m.fieldMode === 9 && !tech.isWormholeMapIgnore && (build.isExperimentSelection || powerUps.research.count > this.cost - 1) }, requires: "wormhole, not affine connection", effect() { + for (let i = 0; i < this.cost; i++) { + if (powerUps.research.count > 0) powerUps.research.changeRerolls(-1) + } tech.isFreeWormHole = true - tech.baseFx *= 0.8 - tech.baseJumpForce *= 0.8 - m.setMovement() + // tech.baseFx *= 0.8 + // tech.baseJumpForce *= 0.8 + // m.setMovement() }, //also removed in m.setHoldDefaults() if player switches into a bad field remove() { tech.isFreeWormHole = false - if (!tech.isNeutronium) { - tech.baseFx = 0.08 - tech.baseJumpForce = 10.5 - m.setMovement() + if (this.count) { + powerUps.research.changeRerolls(this.cost) } + // if (!tech.isNeutronium) { + // tech.baseFx = 0.08 + // tech.baseJumpForce = 10.5 + // m.setMovement() + // } } }, { name: "affine connection", - description: "wormholes can tunnel through anything
for 2x energy cost", + description: "wormholes can tunnel through anything
2x energy cost going through solids", isFieldTech: true, maxCount: 1, count: 0, @@ -10459,9 +10550,22 @@ const tech = { requires: "", effect() { setInterval(() => { + const unit = { + x: 1, + y: 0 + } + for (let i = 0; i < 5; i++) { + const where = Vector.add(m.pos, Vector.mult(Vector.rotate(unit, Math.random() * 2 * Math.PI), 2000 + 2000 * Math.random())) + spawn.sucker(where.x, where.y, 140) + const who = mob[mob.length - 1] + who.locatePlayer() + // who.damageReduction = 0.2 + } + m.switchWorlds() simulation.trails() - }, 20000); //every 30 seconds + + }, 20000); //every 20 seconds }, remove() { } }, @@ -10485,6 +10589,26 @@ const tech = { }, remove() { } }, + { + name: "aerodynamics", + description: "reduce air friction for all power ups", + maxCount: 1, + count: 0, + frequency: 0, + isInstant: true, + isJunk: true, + allowed() { + return true + }, + requires: "", + effect() { + const styleEl = document.createElement('style'); + document.head.appendChild(styleEl); + const myStyle = styleEl.sheet; + myStyle.insertRule(".choose-grid-no-images {border-radius: 50%;}", 0); + }, + remove() { } + }, { name: "pop-ups", description: "sign up to learn endless easy ways to win n-gon
that Landgreen doesn't want you to know!!!1!!", @@ -12204,7 +12328,7 @@ const tech = { collidePowerUps: null, isDilate: null, isDiaphragm: null, - isNoGroundDamage: null, + offGroundDamage: null, isSuperBounce: null, isDivisor: null, isFoamCavitation: null, @@ -12236,4 +12360,9 @@ const tech = { isWiki: null, isStaticBlock: null, isDamageFieldTech: null, + isRemineralize: null, + mineralDamageReduction: null, + isDemineralize: null, + mineralDamage: null, + negativeMassCost: null, } \ No newline at end of file diff --git a/style.css b/style.css index 9b15685..b72325c 100644 --- a/style.css +++ b/style.css @@ -746,6 +746,18 @@ summary { background-color: rgba(255, 255, 255, 0.4); } +.constraint-module { + line-height: 160%; + padding: 20px; + border-radius: 5px; + font-size: 1.2em; + font-family: monospace; + font-weight: 800; + text-align: center; + color: #624; + background-color: rgba(255, 240, 250, 1); +} + #right-HUD-constraint { position: absolute; top: 12px; @@ -768,6 +780,39 @@ summary { transition: all 0.5s linear; } +.constraint { + color: rgb(141, 23, 88); +} + +.metallic-sparkle { + background: linear-gradient(90deg, + #c38aa6, + #e6c0d9, + #dca4c6, + #c38aa6, + #e6c0d9, + #dca4c6, + #c38aa6); + background-size: 200% 100%; + background-clip: text; + color: transparent; + animation: shimmer 4s infinite linear; +} + +@keyframes shimmer { + 0% { + background-position: 0% 50%; + } + + 50% { + background-position: 100% 50%; + } + + 100% { + background-position: 0% 50%; + } +} + #text-log { z-index: 2; position: absolute; @@ -783,12 +828,6 @@ summary { user-select: none; } -.constraint { - color: rgb(141, 23, 88); - /* font-weight: 100; */ - /* text-decoration: underline; */ -} - .color-text { color: #000; } diff --git a/todo.txt b/todo.txt index 7d47bf9..2802010 100644 --- a/todo.txt +++ b/todo.txt @@ -1,42 +1,65 @@ ******************************************************** NEXT PATCH ************************************************** -new level corridor - new level element fizzler - it removes blocks -interferometer has wider platforms, a few helpful blocks, and fewer mobs -level constraints are announced in console +tech: demineralization - after mobs die gain 0.85x damage taken, effect stacks, but fades 10% every second +tech: remineralization - after mobs die gain 1.08x damage, effect stacks, but fades 10% every second +tech: equivalence principle - negative mass field doesn't cost energy +new JUNK tech: aerodynamics -foam gun no longer pushes the player back when firing -wave gun buffs - 1.2x base damage - 1.1x base ammo - 0.1->0.13x speed in map - 0.25->0.30x speed in blocks - tech: phase velocity 1.4->1.5x damage -pigeonhole principle gives 1.3->1.4 damage per gun - you can no longer switch guns, your gun cycles each level -quenching 0.4->0.5x overheal converts into max health -tungsten carbide no longer has reduced coyote cycles -control theory 1.5->2x damage at max health -stability 0.3->0.2 damage taken at max health -overcharge +88->100 max energy, 4->5% JUNK -zoospore vector 10->13% chance for spores on mob death -replication 15->10% JUNK -interest 6->5% of your power ups spawn each level +interferometer + slower elevator and lasers + wider side ledges + large laser blocking blocks +flocculation + fewer mobs + it's easier to get out of the slime +pavilion + move vanish elements + easier traversal + secret tunnel + removed debris, but added power ups and blocks +corridor + limited to bosses that don't interact with the movers poorly +gravitron, substructure, corridor, interferometer + added more heal and ammo power ups to match other levels +because some newer levels are zoomed out more + laser max range is 3000->5000 + nails last 1/3 of a second longer +bosses spawn an extra ammo power up + and 2 extra ammo on the hardest 2 difficulties +slasher mob's laserSwords will now damage a cloaked player +constraint announcement text looks more like computer code style to match game theme -updated "about" details menu - moved classic n-gon to here from settings - added links to community content in "about" - Are there more links I should add? - added an n-gon SVG head image +foam recoil is back: 1->0.7x horizontal force and 2->4.3x vertical up force + this makes it less annoying to horizontally and easier to kinda fly/float +negative mass field damage reduction 0.4->0.5x +holographic principle no longer slows player movement + added 2 research cost +fermion gives 6->5 seconds of invulnerability after mobs die +stability 0.2->0.1x damage taken at max health +non-Newtonian armor 0.3->0.4x damage taken after collisions +Zeno's paradox 0.15->0.2x damage taken +annihilation energy cost 10->8 to destroy mobs after collisions +radiative equilibrium damage is 3->4x for 8->4 seconds +aerostat can be taken 1->3 times +dynamic equilibrium damage increased by 6->8x damage per last damage taken +aerostat no longer has 0.9x damage for being on the ground +launch system 1.2->1.3x ammo for missiles +research says that repeatedly entering alternate realities builds up some positive effects + Hilbert space 4x->3x damage + Ψ(t) collapse 6->4 research on boss death +transdimensional worms: 50% chance for a second worm per block in wormhole +wormhole 7->8 energy regen per second +hidden-variable theory 1.15->1.2 damage after choosing a field tech +ghoster mobs are less likely to get knocked far away from the player for long periods of time -bugs - fixed outline on splash screen doesn't sync right on safari browser - fixed possible lock out on training levels: "hold", "throw", "throwAt" - from losing block behind a door - shortcut sort buttons in experiment mode properly order tech without clicking sort - fixed/increased the horizontal velocity contribution for some guns - this makes bullets shot on moving platforms more realistic - nail gun, super balls, foam, harpoon +bug fixes + dynamic equilibrium was set to 100 times higher frequency then normal + when constraints hide health bar's it's now hidden in the pause menu + mobs aiming at cloaked player + snakeBoss more intelligently chases player for a few seconds + pulsarBoss aims at player's history 3 seconds in past + pulsar will not stop firing + but it will still not fire at cloaked player ******************************************************** BUGS ******************************************************** @@ -59,14 +82,20 @@ player can become crouched while not touching the ground if they exit the ground *********************************************************** TODO ***************************************************** -tech: demineralization - 0.2x damage taken, but it slowly reduces effect - increase to full: - at start of level? - when you get the tech - decrease: - over time - at start of new level +tech synergy ideas + a tech that spawns mobs that the player can use to trigger mob death tech +wormhole field needs a buff + it's good on wide open maps, but it needs a defensive effect on more closed maps + fix? + increase energy regen? + new tech? + a way to make more blocks + the block can feed into worms/coupling energy + + +tech: - remove the research costs of all tech + there's about 15 tech with a research cost !!conformal - similar rules for small and big scales linked to holographic principle !!holonomy - parallel transport of a vector leads to movement (applies to curved space) when far away from your wormhole regenerate 1% of your max energy per second @@ -179,6 +208,31 @@ improve new player experience When foam is in an explosion it also explodes with size proportional to the size of the foam bubble Requires foam, explosion source, not aerogel +new level similar to ash tray maze + !!not sure how this works with theme (most levels are locations that have industrial stuff) + this might work as another line of sight level? + could be fine without line of sight if rooms don't exist until they open up? + where to put in game sequence? + watch a run through https://www.youtube.com/watch?v=nudSXUMBEV4 + close off doors as player gets close + open up doors as player gets close + holes in the floor + slide large walls back to open up levels below + show a zone, then close it off, but eventually reveal it later + rise up pillars during combat + small maze rooms, 1-2 really huge rooms, long corridors, medium combat rooms + triggers for changes + clearing mobs in a zone + or time based if player is too slow + player gets close to a zone + make map elements shift around as player moves through the game + start with map elements filling everywhere and slow open up new zones + need a cool way to animate adding and removing map elements + maybe for the entire level redraw the map every 15 cycles? + simulation.draw.setPaths() //update map graphics + slide map around + small map squares that each add in sequentially + Cosmological natural selection: do something with black holes spawn black hole mobs after bosses die? @@ -1210,7 +1264,6 @@ possible names for tech amalgam, amalgamation - the action, process, or result of combining or uniting. thermoplastic - the stuff in 3-D printers, use for molecular assembler tech ergosphere - region of a spinning black hole that might allow FTL or alternate realities. - equivalence principle - gravity and acceleration are the same Casimir effect - attractive force between two close conductive plates difference engine - early calculator/computer cyanoacrylate - superglue use for a slowing effect? @@ -1254,25 +1307,4 @@ list of powerful synergies interest + coupling, research + (peer review? or Bayesian statistics) electronegativity and high energy? electronegativity + anyon + duplication + Maxwells demon + interest + pair production - chain reaction + invulnerable + Abelian group + parasitism = clear all mobs on level - - -************************************************* COMMUNITY LINKS ************************************************* - -load old commits - www.cornbread2100.com/n-gon-loader - -n-gon fork - kgurchiek.github.io/n-gon-portal-gun - 3xiondev.github.io/n-gon-upgraded - coaldeficit.github.io/c-gon - n-gon-enhanced.vercel.app - -bookmarlet - github.com/Whyisthisnotavalable/n-scythe - github.com/kgurchiek/n-gon-mobile - github.com/kgurchiek/n-gon-controller - -text - ngon.fandom.com/wiki/N-gon - github.com/3xionDev/n-docs \ No newline at end of file + chain reaction + invulnerable + Abelian group + parasitism = clear all mobs on level \ No newline at end of file

&;aSqJP1wPi{fHds|(osKth@ zKLt5ufQmmia5&csZl` zH|~ahcgl@o=UG`nFt)eB^&pBkT?A$6zKBS#uM>Y>2ZU+#&nhgJA1JcI$QM_t&OtXy z-!M*ITioUceoF+qTT>MF%wUr6*t%-KG5*J#`rd183d+)!oc3f^R_sFs#A#@;118|Y zCbpe&K=;!XgUNQknF}vVrtlhpv?GSZ7Avg|Q}4t}L-9^gd35+RniIv6WU7BeG|z!X zI}q_g_?IRuU?&=-%BpKU!dz^%=`>&|YJbZ*#vZCasj`@YLd5E@nxBr!>OMM@Lu%q=UF7Sk5I5A=-(@`@R~cN{;yySqG&l{z$ze zCbmNv)<7dayMR`gMsQeQ`Sl(~suAsR?}rz6j+Rz3u7{Eo$E* zIzreH5e6WF6^5%DA?InU`yr3E^JU$^)$T$F4EY|Eret!DRF3+l=gt3ug@Zm7QcU0s zy~k+9+9v0c+PzP3ZrjgP1_NR~^h>u~Q_$7t5I6AN@||#0&c-8t^YcPjX7e=Gl9S_x z)ZSwcxXwA83oxZxWT5iDQNrJ)WHqkfqxJTdilpcu4;O0wcJo5&BAWnpM*ZoE z-Wnc0g4IohbfMky;s{d0Wnm?PE8R@6xLJ}q!SyHnsPwO*vL1|*0Lv@E)sc;HYxNE; zl*Coo`yd)$rLQ*ze&%|9U+BsL&Q*dTV%|qN_TDDd6K>Qt@aGy?-FA&57pz#IVj*-x9XmU^a!2KAlUF9#9lCg&sx4nPN%WD zkqp5T<%NC?N(OzGco~FaWV@Ctb2Os-oUiwJsG1^*Wto3clm|MnM6iWnpV2C)BRpWW zeJ-?ACRfYFQdY}pjjvRxW8^X((XG;$qp`f1*pXwf{hzq11cM&;J1c7J2A$n> z9p4Bf1nAfmlgB4~97MY^SBsx z3U)_KIbtsKNUU^CxMfGIG>WCYP03^8unfw5aWNspN8ls=G_Ffiz4Yos7bnnhlXOia z0^eRQNF7)1jad{;i3>|sgx#?1V}4=8K1$}N?#y9T7A-ACT&%bEZtn!mq^dKxOt_+o z%}LU5+DEHPX`N1097K?J?cmFpW6(M(WC&YV9Y;)A)7wyly}Tw$=Tdb;Y0FDsOt?>3 zJHvYlHQW;y%E32q;FS9)+IpXW9d4+bbzL8iu5p_ie11zRQ6F)aCF3uZHLra6Y#P_1 z1^C{j0E%%KADdhmH5F^@%tYX{A5lw#(HOPH2L0!H=0t4indwGlDs;+6n*w}^zbY;w zE-8_GxFndr9jqakZZ0JqI*NJ|49(uPv^~2lS_>)*iiQtwc!E{15#Lr3o%kNtBs|Nk z4<~EX4c2=4ynJ{XW?Rp_l(o<=GVLT1!H~*?pBKzW^oS<*NP$IAoq+Jcc&N0{r+!GJ z&GW2o3$^voH4F2&>NXm;&ZdWQ=jn+Geay6TaV*OcqgTZif9wH_iM;D(O)cW#ln}21j&45rJH;3<4ClvL34*`;xh??4&LpmiBQ1NT;j`zfy z@@F9w1~6G|y~q2etmsjV8L%ns^{VK@Iawd!P-Mfe+E`#Ep>4&R?nlDBCud_Fnx&f- z_Obe@##efnQkw)|86g4e{zP`AyBc} z5OE`K^ixkg0`Bo>9VOpUJI;;ufxAdTw4@Lm@P%E2Vz@mg_;3&}T8J*eO`L)quoQm&AArWHqwx100gql7aFWTe##1fwYB8FIRjp_-vjjo($q z!6ZiVAFSvwsPx5rr=TNaZ&vCu?;I>B7sJKx8H&28`s>MFyhzRu0BYl%)k2(&{H&x2 zLQABD3B9oxWZ=HmF9Np=U#^+$uRyo8m@I62!(OhB{J~pt!fu)gY`>i@paW9Nc$>VO z)$v{y9xOl3mhnYj8%(!=(aVW4f%sucuMXE^FJpV@puR+mw&NPqzj*5lVLLkE(0%@8 z^8w6Lt_V0EVFbT5J#m$(q*hyHTbf`QxHa;F@<3*akOZYqLu+X*tS@$mGh(>+ZR(_j z|1RcI(FhumouH=mr-BVbs&U2mPWD$kc$XD0b&W0)ncA>3V5xk?!U{MiK1h%^jcqB@ zqjhivmsT&6LGw$lB3RiPA%_|PTgZ@JY-bHXYILFtdk}S!nI##a3@FX65-b}_=}J|S ztGlw<^$S9j^mICDhKqFlA3{a%6mg7m!~fADmA>5qR=#D7=ke-w#p)0C<3G4b8)?f;|k zKo3%8fP0Zp+*csLa4%Juwa`Orv_wWEZ!B&RZ=8?5A&zh@C~vLjM?t_9OBz#c}6MpJK=)J(NxNIVh)}my{#3u*3JFlxnsHj{P9AqXUfu4jR z5GBkn0z+RR3}N>l!jV!UIF&d1J!Ay}DS+hz;HI-e*zxvhHS zinv=-+LVab;O+#ipH_?dh=adBQaTw`iD7`v11_Szto|4z9av&XI1M3~feQ^O%PAcd zyt9PVV|{Wcs7^Jt79M+F94#1#EdM-8CQ9!lVr1)G-*4zzE5vJP4Fh$R=4UvA9N6TS zI~+T*u{I^>4)03vPi;pc=)Wbsn&Qb`XdZDVJoXS6H#K(a(uY0IC=zPri$B-7Y2-^9 zVpUBq?#86+(9SxR-oECPjF0g+0l2UlUV7rEOLlaN=j8%|k>lc_F*S3q(7DsbY|NL^ z?my>pz88a_zm*AVU^XA%5e{20?6O%x z;`PQ1ksH;gKnWHCF!+5JWbVTzqzH%5StXW^9^zrx=B1$^=?iO?S&IclefSB<5pWdW zTDk0$!}K$lHIE02vInQZx;8zFKw}ad>`x@i=v*WHhG?m9^658~8;fe2PJuT?4K`;H zl&`qeJh6R)+j-DX*DGSbT!e`GQR+F?-blN>rge%9jttQ#OqZlqXI9?T8byTIvq~Nk zLKS$+%oqwjseg0^4S9rr)AsbwW122SKNmAu4-(-vo=)@gt%cBa&B-!VkSFZ4NZTjV(l6O?kd@3lnSCkRT&ZcX~BldYm-f4zP2oL{7_oAZXLN|4?&;4$9VIhYKx9{ z&f!K`8yo}Pqwa3(|1`=8&Y&0R&t`Y<;D6Ija2SFBQ-M&r6iwvXQS<;!K(fC|-z4W` zZdUI03!U_@YkFfwDEfIWk;p%-xv8QFOvD(TE`avc;ZX z!++pkqqHL)&-8v7h84^${fAR;9XJSLCX*IH+m%PJiyg7%&n=Cvr7`e?tN-9K&=a+J zU;~$A$v@5`brOE$t7)sLIrD>WKOfi;+<5&G$CfTHmG9~U zzBPd!IiwF|6hDKq>5kK>k&?n$U?O*-WcobQaZvp#ob>c$J&al6CffSygJNpU z18M=p4l6f}$p*KkVnt-%53~e@)*(og_08H$x{%4l%j@RA1dZiwnm8=d@12dGbk@u>M24 zEN+Ysd)tMV?AoS5K4>Kv%Vu3^$L*TrdC`Upc~w661od^#`8rZ5Z3$Y$n7P&54u8Ih z9HJ;V<~O9t@X+TLHMWNtS~5^yk@L8Ca+V<7j;@@v?TmS$?3eEm&8pBy8ZMLYqc#-*$>OiB6mR3K+e_*dL3mig_-$lHrcq+ikF3#N_keAxci8{u zOqQJ4_vbZZLJGG!fk3k%0{h04N{FVOIgd6R!YZ}Nm+_Id6QgboI`Zdp$aE-#urOSd zB!WK>rE_P?)zX01l>XZN-E>kDLwGpH$XO)Z4T8+C1}KgAju4)x&AED$ z;k!ENSvAkQ>Xe^*Q%-7xTM?Wt=sI;&wvXIJFwwwR^&nEe$}{3?!D6-c$8RZJ;g~zx z=h3mo?#3vY_!Fj1p^&(;}gJ>f`g<-Vm9FyksIh$8{#cIdn@vY|2?uiQ4D*JMr`=o z5Me;DP2TUyr;>%n<{l{ZtFI#+I0=FAElDFh)_4@rNnbwZ2)OgGmHCW+mn~`M1j?W; zW3?={DoA00KF!d{mHxaG*=l!LsE$yC{^G&U-p&z0M9?|7^J1)Lw*SNnd^0^I@>lnWb5a$GlKnb*xDizFfu{rz_7`me1?dST)h8a&JaeUp+uGuZObFY8R~%UIPXsuXY$h!Q>~$>E~(Ke z!H$bP`P5`Jw0LZmB*06fZq}-Zg5_i&WVARhYLF4saE+q~%#-UVmT1l6@6ls| z3&vNF>Tj|L4n3s z$5`CCOkO7#$fWBr*mDDOJ1K+^o-r zgRqMN0|VgN`f&rXOWD@I6Z6Qf6;WK`OxQ)nMhk;g+1M|Si0lrvC0xG>dzd%K2|ocj zwH*hbsCr#7RdCBxLi&+7o8_atqSOl_SrtEoZVet(wP->A@Oe%BM=51m@qnU+l#fC) z5{L$1JS!eQOioNnE|85CO!Zq1aYq-bneq^o7%`VMKi$H&(XHB-7y|u;|DOE+jG=`c zOo?T^9aZdV)m~)|mFS9uJdSd4h?uKQ)GfMs^K0rH6g=AO)*48DW%+ZRrhDM!t;d^l zx&K$U9<7ZVO%^ z?D?QLoP6V0?$s7UgOW=nj0ZbAA2=fqMUeVPb>yO>#TkCY-1~yCwT=p`5r(`~RT#w6 z3)R2urqp*p@oTlPfD0p%viK2=q`~rAQ<+{w2t-&c`+Shlt(5RNOW;X=Va>47B6l6% z5Y34<2fZvL!R4wx)XxL(^I1KI7v`3dC|^C_z_uoJD`<{0;vAE0@9&*)Nx9rr(=ofp zqbBkztdl`e&}@29@V4Od)m0OEaWXn#Pn^xSTx)L#Y+k_a<5*qT_^Zkf#o!*>KdB}5 zh_QMg@H8@l)Zt^QEW|q9R|r8Kte(^0LhyY#OV)xAj%p;A(A9-lHH9>6eq|mb+rf;p z6-n(bO)~nGNP~1>);YgvuJP#d>_6Gb8vuQpcg8 z0=vAGLOBa9_C58|oq5HbsyH*1l?q(3==SYb+n5Vdegt3~bz8mv5R3CYX6FAkfEaap zWk;1vP^(3tc*y+6(0}Rko*6~bwb}(3+Rm>9w;E%H^|q;vX!E`+SLk3#%@&%SVg>5E z9G#ZKQ2?D;U+g|AN>yX%25(vK;jNZ7$H$#B-qxMaJAPxJ0xo2PU7}wo_MSa({eyML zN3!W4Le?nSl*DW*p}4PZox5}bSxt|Dx2QlUIl}*WN2Z`<`EIA!of`bo6^{v)0=Tdj zuRgfh8+1@`34QENV;46}?!iG7C1XzCU35GGDRZWbRnjQZ4 zX`|sQ-ZAhk+3J5qrCId&yGivK?iDoZyp;;i?x4l+&6wXlfC%HyQ)7C;R<#;ClZww| z3~v5$QxB*OL~ZHG1XVipUPHrg-tdwAHknM^-oOoNiv}VLha*~qiCp?#GWtstoWHDf zC)2>E3MjY})bd>BKO@J|QQLi!B7`Mv0evpL5LLAc7L@D6N%tP=0gTx=;i5smyOr;a z`_zolavO$$7up-R+M)Kdy=bqPi{)A}JMIWMg-AA}f>mQQw_W}%{&FDl6~U~lfs>eC zbz~9e%-JXaV%6djjt$~_2iFENM&CE4h4LVOb0b53n-vG|MpLKpS~<~JoAHys52m`0 z1&Fh|hdE6r-V}j%1E@fWwKv_4&&$-#4sW+S5a*Gqbr68&_H%1dH?I3G#IoBf+=%!Z zTz(X)E({UtJ)jmcTDREj^s(^NvYLlN^T*LRP=hYKqM?+y0# zgjeEvO?R^5R?CuiYG+jY@)|Z|=7jAPyk3tK&xv$E~(F_~;6$tb1g^YW%mcXCMifR0Y)-XU{}6mD(kQJ&UsNX~~>AiIP9;!qdx2ee6pn2!0UR`FIiIo%F{p9ejTFyQ{|9@_J26 zY3|}8ieGsnIW>s`wb5=_i)8gX*Nq(Ym55q4YPnHY_K`gI`R%eIoEj`?;x6pD!MnNd zWBt#vTi^Zf`%EIRA4sCi9?=V7<)tf4(Zt1Wd;rO2PB=HJ%vh8iQhBDc=?ur>1J6j& zQjyBQ{l1iG-V)3uq&X*yY8aN3=;aPgbevXcpJ;yxUZzkVU;YpR$5dr>RN}gI8^$kN?z^C0nU*&t(%~++KF0RI3 zp2$}wsYE+gnavx-%f{rHIw%}UMZ8x7KGPn*ggsK$o-vHfCgRb#Dxu`yaUOV_JsxXM z;hbvrN==YZ@t7Cd+iS-lmmWG}znvYrsK#4=a`$IN(GgA7Q_X4O{cNVFhuZCyFT?a! z?dGyW^vN~q3gIF_|cN9p*K-N;Lr^0su=1~TwOcL7?TE2LXUe5WuMf;7Po(%9cOVs#gOuMy#r zhDyr?$hi@g@K8WL_;P*+{U~22)$}PJf}$Z2r8D1yhQAcBic92Sz&ZwCH_p9JtSDE) zSz551S7&dYS8aMw>{fa)2s3K>`Leh;&L`FP*}lSA^2BOuBZA|N5ZvBlLhCPr%LdJgudClzCj=h9r>)@M?oHiO}9~iGO#)tNbL>w zZUYD!=u$IU=T^>n@lEzCm=Zd4(B%hs^9DlKQNU9ThMaExUmb&G+zwc0mF@m@!gCd~ zM;2ON@N(M%3_Y{fawYg*_|5*--`6X;T2rtPd(cQI$*+vgUWz(?#!`K%mu)$-lg7hh zScM!wJDo60X9?2-v|?h4unf9{?^cbWganY zETuq~&GP&XfXWhS4BEC5hw53(h|5HHv#d5D)Pu z2Nc?^_BP<4PAF4=b4v1>7F4LWYOgx8vDwzv@dFA_$a?#l7q)dIqQb=Lr!FqdB?dd< zCAH{T#&ePd*#7W(`Tqbc#te;iCzMQ9Y}?BNJvu7%uJJv(e%Hl}ViQ9NXQ=y@kV3HD zffu!uXD?qf!FuVUa{gs1NXoH4AFIWG-m`tDC0@XQ1w(G}BtXCUA>5w-Rj1fK6HSqG zB4i1spgzdA2FfYFqg&jxriNudE>=pstNo~Zx4O2xdO(~1Z+D2}x}tA`^aE0#6B_r43FbpFN~nHvg7{^}}HEDz-tdO72} zayq%2sW`C}x+aL`6|8p$q%%@t(XRW^EavXSoj*EEZvz>2%>4`lUHZiG2-_1#)bn2M zldppZ^W}&_W>9!3GhbeFTdTxDr455cJ~e)Vb)X!9Q0xj(juf_4i*+b?6pVh50~G^q z+p1d%?^zpnKa&`HJ-6+@xb5w$LG{;bZRSO-EDY5adb77HAgvFmb1p_se$xHG6s$?T zAjt<YRO1G&cmwPoGEqnjDe79}rfQ;vUDtkQiBm`50G|B(Ax*?hwwW{q&5Z6DBok zm+Wlsp)(a+7on|6{OLhzZGIkt%5PFEVmP(&l@0+w#650pf?*l;@V`f4zIdi zzgAnG+Q45gO(FY;0J{V{e-Z1f)eu}(lNN!4AAgHTg&A!JXP10_0lNX=7(I8_RkX{( zBCOWEl0Bw2SL758E!Y4vPB9j~Rk4lp%%vw3z&^d-nQ5CDN=mSH zi}&?NoWzi+)F0doAo)@UeUuh==>(otZQ(H1PSw}{PBdSIa%s3f&bGpKA^HAKLMFo~ z{iwyZ)9dfUKtd8hL<~w-1W2h->Ars8wVHC7WY$@(WQw%k|Kyt?Xml0QQn}j7hdd5^ z+EgFtX0-~O^hk0gO%99aT}k$k(acLQ#4uV%`9<;O9WF(!L{2H&0{t~1gLu^qB8aB!7jb+Ah3-TtzJP1SO%IX9!fqq^~tl>TNG ztvGiKX!ld-8Z#g3HSozxTfS3MMQxqYss?%a0z|a&igpdD-m@m^Er9@yF7I4ZaUz@K zea*<|08x*+xsX9;Lm*Kr#b*j19~u5L(1`D` zr%PnZubFC`&tn}9S3jY(I6-`f!kKq0aeZORPmUQ7N=eCfpUl!h9nOG#7%j7lr9>2%bzcIz#W|=sghCK40hS}WTS5Vo_>1E z=&QwqZ$CF@hVRkJyHf0T-SW`K%L1IGjF7XeSIKoN(yF%Axdj;EKW}U zLzc`c@HU3VR;Diz)s*OT4V1kz8UV3G35}!^Psdb-g*b0N$9x)eBxZSLb9A%>%xdu7 z9;KC<1L5zn)JjO{S@jZ^OZpy29R`+Ijovv!Jp!#!apbrYO87{ZKb}$&HN^ZwzVn;L zdYOxV?1ABM-q}9s|IievYx5|+<1jh}k5%BA?PPq(AAgu`ib~L8~;62avbCUkZy!Uf$Py<7M!(S7EsXp zqpaD&&w;F-TqCrBhiM~`yu3sJ+F%celkea;c+bCjrEC>5PQDh!(s<6 zzcSvo@nqd=5$uZ!%&;aZ`$}B4y6R*fyxP8^r_qf)i$wKe*$|ri)gY%nGR}s@Ryin#C<~K378$b5;4%FgCQNUuR&$wMj$y~!v&=yoR*E^` zyPK%Rz@`-;tu7!^z!$4cjK!#OS{Ds?5N-%;f%69 zCB7^n+};~DeHJWVxSiAWQULt9&CHhg_N*Jr2TRM=5Y~_jp27HZU|vmwQ+t5PG*BZJ z@vx^_p*;DUz6MJEWtZbk*&(s(PxjOLH7{N;R$Zk!@CM1ReS?V{u3S-}8t&M0;3g5R zPZKDCcHQ0PSLN%r0O7b_KtFh(l?BVRMl5H84EgqLY%;7Gj>bVcU!b ztN|FIDP$ZaOU*eZTuO14La+5It73|}&JlvRl|B`pb?rp*y0FwonJ?N+vsa+3(?8zG zkYn?P^io&t#B^tsVw}`0f4+9UD)@otXzLhy_QqVwX?p@Ek=6yI*ktS;vy2!|*gKumt9~gb zS~bpW;X!z}J-3+*-pB6ZxYuRcuL^a!PXySRb@n#Ph#c#qPggE1(mO*o z>wERwLvqm5fLWHDpGelUaL!CVKhWd@t7BE#rlpE|^98cJkAk#hMqyv&FsmxrOOj9& zD_|ag+~{}mE*0;Tz9F1-JR+vPMOs&-E`sijqNie)H&{>nvaChO-up71l-@Hw^Dt>Azvto^IL!X-gp zz+ju#Yh#?*-2aOnxk3syeM{=lZN4r`C15$yncPT-6qxsn9()JXdCKk9DkZo->hk~5 zv5C|%X>|k=`Rgp)Wt$5}gaB;H4~ao7WQ30s(Obo_cW73M)H*Vv89d8&o2&Bz8@Wqx z${+brMZFh}?3Q!e(o@bLgQxQ;@^R&Wo>KvyO`WW~2?8*UPeH#mc-Kf1O5pkJ*X)}C z0e(QJD5(B7);gT4Z>F&UG)fKdL#gErT1(KG|y}$W!2xI z6w)e#0+#cG6>Bz_PsI!0Fz2BGND)0k?s=eijwQJQNF>Uk;Io z7?G%*cT7(zd8u23R9OJSo)hND2285f26d4*ID5Ia*pDHM`}QK6Cx^!Ig<9g! zn0XjH8;F2>Q2hubef;7|BEahih)KKWqkXQsuHb=){aFI&_v0khV(u?I#qz`ftojw2 z_;1ALCU%4yA(_iD#`7`6CEcyyus2v2QxT>}1flDoS`N(=NDld=5_T{-fq0C zXbZB2?|O4)sDcK5EzFf^2nrn?{9BXZ9KOLPOf`Xzg1g~)&ZBpYI`(*~S3acOOBv4X zNL;}5BsA+D-vi9DBG`*mS%^yzM8jJ#aB-Uz-CgEmtqE*Fw}4g0_T>HDOx0wKHoOTT zI6e{-$0hWOCiMpGArd_eiiKbpDk4vTCmF9)7n?Y?P*vxt@0fWT*u;@d8ZuO4&B^Us zKIKi6)X_AvfwQ?oc4>a0%v4{*TA8}&(25+MQ9{J!VB>;OWZ3=MLS=z6SA_V)C2ue- zuKhWgi|bJD9>@h?XjXy0zY=>?x74`sVC1&y7 zRGP&FSjgjb`KIOC_1y=OYvS}BTX&-#a7&lV$!--P|ND(ZfFH8Dogw7f9@=yV6Qh1m zi@3IJ{i3w6wzzU`xKPA?_vCp`P*5L~0dh~s1VJZDL{3^I;D<;1c;6)y6Sd&1@{l4j7Msk z;*i|+f3NqGNVD{l5ZI)lBUCb6v_$v1p+R>>e4_UJlIfTB8Q_aJB~(a&5g<$;igHjd z<>Rc3%TY-?2S>7_zO!=QWoM9rufOUq3!~K#c?}!>A^*Y_w7jJ>^dqt+IHO{my4i?z zSyi7>N=M*d${5~Ky8ic8_S)0^QA4+G5dGD~e%SD)HFLO<Uk7r1p)0H}&V}3;~iO`DEsdiHu1yUwOLjtYV0(2j%YwQYP;du>c zwrE>~qdS&#EDfJq_ch>`a1Staint}gFs(pCz|CI@s5t6!BgO7mP0e*PgMs3GATUxT z#&GxO-NVl8-ouAO)2_6ROr?rPgIb28*AeB=D^l0!!LCs(12Iaeta^+G@S$d&}8+) zPx*%ZG)__IaT&*fcwm*!#JY}gsaIg;7cMB*k-`Jk=rW-+wJnP1WXqI3wBOGC8KmkQ zD>KWjgCly3YOMAojUi*a^4xPaP}kkyKf!`LJA2=-^FV=Lt00LpN|OhQN$LQPVRU|Q?-eZMxp*Q+YaocI;Ux+RdQSI#t7LG{`Wn`L z@kk}3ai(Fn()Z!zGG3B?mEaU~3u3KgE3EN=qvKg!}HwEmeQ@Z}x@d7rYVne<~ zBR;=tc5B>b{d)6l$!OV{r)^^8Ef$9nU|>=;={Yb@11gE|?*4!np{|Vei9W0)EKh#t znySmVV1pX74@W;cExY+`isy{dpo28|kdWQ=z+3Ob7(iQ2lP=-^2Z9G33vS}1bp{7) z=UGk`@|~NeVoBfv?j*P1nH%e52j1Z=s>LrqGxSn9r3yE7)vTm1){^N`9Yu%^?@cRl zZx<2iV-5uVQHlH7>Z-fV7M|n=$h0VB%V)%SCN?Q7`Hk+TFl=WJ{?Ce=Xzz>@B!K)1 zw&P4i8gRp=&wU!JvhHAT3W}bvROVY}o@N_HmV`&cXozcrB1Wgkk4m35pn7w6-W0A7 zh@%Ct>?M@6-}jIB*rDB+pok|__qP)H?Jae37Dip+E|ou->C#yk(W<;teaxaWvRjCy zaenQys=0;_d}|;P7N!z|1d?yci>E9H)xp%*hj=+c9UGjU0S!s&1UBl9k2~mz})eTM9#&TZMkHv+ScKj~8sY5wQOA_r0$-aPzj6#=?lp zRKui~omZLSh=*?hXWxl@r~KscGoTt8a`Bc}ZOCmMJ-#cgx3K+O!**-%PAEl&_t?336BGL{@dlTM#We;+^aP& z!&s^yflWGsDOAO~*y7&2}hxajbkQ zH=$#rht^3-p%kYsWd8 zwEp^_Zu)#~m?+YZqTZ6R-|Aq}vu`bSp@TX+um5D7k?iSB43o~v%rB4kX)CFguH<0D zb-+Fs;m=P_(!4~N_z_S+$g=14bHHdgm>FLhi<9S?FwS_xWeTJV!IzUvjehWDI$dFN zz(Rve4U7QusLF7&_`@7ES#c6%U|#kLg&I7m-PHzjzwL*1VjZ*31Sqc>$C&m>NfTyY z+S$IF)d>h8$Td*qZ(#fO|As1tsO%#(K3_pHi}7a=ZS?F)*ZmHJET#@u?4>6^R`Sxu z?ILpaT-J?Wer;P=g%Qm7(-b_k#H6@&o+|O_+p62znG-qWFfDROpqNZdu*!&YO5x{T z!{dQy$f5+s^)6d$H*s!e!*K;~XL?&58xUXxXN!qBUzQTzdJv^_E2D&sN?nG1*~kRO zYD6p`8z7fgskXlG7EJl;1ckHprKcgE&py(Oyb)pBV`i1T*~%zZZiS*87Khl^n67W0 z2Ib@JUv9+RX#K~!Y82oh8jKfVe0>-&hwhH^eLwc;0a)A~Fsq0AHs1F$0Lg;lU>hjM z2G!`sf*Gdd1M&^uxFH|(r*wZYFYt@}6x^}Dm#!T_5+e_+ERCp#tuV2W)&|KNtM|Zn zFE)UF=dO{_cJ75GG!AoxHG<)z%nyq0<{`*8W{G6A7HR=CHgw^*x2byK*zP&~&Gl!Z zS2*LL!3{e0shHT)xFhW3nCYS#+Kz8;hmK}lO4qF__FD7cMM&oR6(+bK+)A+w<$MY& zH$(Q;%9CS%OaHsdbw(~B4IjeumjKt-{p0v{j1T86lfTy9bcv_0s$l#$T_WE0;yuzi zoppjcVoMC?1&`A~fT^`;a*nEiCg=l}dtmPx%F#Vg&nRGVKD;(y|EBLxhO&DCF&}+Z zxyiZO>foIf^`>CePOL9-_5P*<^^)jTg?=ZO>a#mm{7l7-45jVCMel?ez2f+haJ7RY z7G8Rl;I!g>By&5SN)c~pORp~jI&P6fA3nrrb@5g zgyR@-($v=&SE!NFfx8riz|%n+CVk*Enf)5(#Y(BYDj(p$@s5>~V_6INJik%-Z-xsg z2mF`tE%hM`jq>Jg3{09%JR%D^`1ebm6dEzl=wri(>mLATJ?+IyDqDNT1-iP+i6*jmML{WPc=`i)X$ z6?b;%Yc#8_3l@d`Uyt}q&+Yy8pO8gve*25|XD-d3D54q+2?jpqh<(dOTEJ2eI@+pntjwF)N!N zci6@)i$`t6$I}li{D*{!sImV3rzw?03Vss;6B$~kC2nit0?@w1cIP-3nKxwS z-U62RqvGrM#$BOh>rVA#{H9Yz*sq}ph%{@WhshAjY`|cXsamBK+ZdkQ{;wW^JxJh} zA%%_SN4b_AyPg7Oc6t|6vK;0pLnjF{3u&12qJ5Wa(9qY%7P<6Y$-%9Zs!1udr~UT8 z#gbt^9EgwiR1;KzXJwJT6hHLBNR6$hy8(W`R&6V7H)`&^>hF{M9Yi2aK)R~x zw1@)=7QatSSj-qU%dqXUo7e3U&9E3Q81$oGXuBmyt-aDdO4m7cj<7Yc5mO_eU~zXY zeE~Zm3#;dE%0xuvnyp)FF`d7~b{$---sG!>dinQ9^U-#s|8I0|=8cGrH`2uq%&<$< z;(t0;ey2_{*$`UiHJ-~{WkE22HC*a9n%-h^0uj_us*}f4RL}2;V|T9NLES{k_PfjS z)I|iK1lcX^GQ#IokL1~4&**p`)|mtW1difRPkN&$@0Isz0~h708t3-&Z^@mgwumaM z)8FnfP1zleATvLChOpuM49WnJhj*n5X*g%;QtDgr!Z=Fv=ts;I)@4m-d-_dFY z`SILuOEn5b4q^-WY+F_0XjIO=$+jC7jf!TJZZHD9Hbc0RS4nxG+HetLUW_Aie}5pGr-}FlL!CAwxjUJ%%m;0H zN;jt=kX&s3@EZ6q35C^`kbN|)kZ#T;&+t0EE%EFaBbA7N*NeV!_r5Z=E3ThNhz?$j zyLao~o0A@7v1T?v@$bpJ)T8c!_688ZsJO-C!@<9){{Q5li znmnVEovWEdhFIiT7MCapUnNjb=3X~^$@doIp9P;Oi*hwIfRk(2Fv;7d0@iwBrn$GT zv}fUH9WJ(vnuLulla;vP_BQiIb}!Xk+8DU)YpbVBWZ4*7Ss$HcfW*yHPZ;XBz%_X- zeG3V)xv9aeE)EfK6L8jRR2>_fNYSUTvBfTg10KTrt7u68S;P=)mLMtDl%kE^CZTnm zq6BtIWq!vY%y<6NN1P%HF~8V(NXp`ziFyg^UtOdPh^mWCNp68qo}s_Xk4d1pq1#WJ zH?EBPmxQ?*#|>Ta5eg+K>KRJ|a4Pn$?+^KW4}DU>tf4$jjq$_QaSKl~qP^~8K_B-* zlNR2Tn}xm_k?pv%B72OCMibHRw$Z1EK`9Z_7DX);PJS9^&nYjOGhwGKkff7F?UHfD zLQuw_GsztpZthsVZT&%Cv?#&r(6)upr@Q^qtl#dJHfL(2r$qv=_9Y@3M@@s(mcP+y z4?RZkj|MqbW=JAY&Nl@pPGSDr^~Toy zy+LL<7oX{t4*F+}d>xCPNjWlm3L)9e3t7tUtx)F_n8`4d@s8YC`h^38U;)&*E;B1} z3a+4bO-;$WX`bJywS7UnudRS2RF7rdKXMvDat2!ZI8jSI z)lyVG9Gg)n+o>_LbJ=ofp27jt1^pCDKpO-GQQFM$`^YH~54SM7a>Pv7<=qgGy}b-t zqPVy&5u80TC|Q}qUJ#?BjhxS9Oh+K#@lsQ!H{K4LT^0g&n0bC<>uJAP`tOpiizSDa zgxV;P5`BN7CA>)v7DuCA-}Fw%S*Wjk9S#NoGexDHYY4~~k^BpZlD3_|r4HI}FyE&o z?e*%>uiX~5r=Bs838}noE85<@nvoCmR4yW5rD7+kTWsAB6NJk?O~qLkT_nu3fQGKm zqtj^QLGbg1P82=%dXw0XxHhaG9po<-!Zk-5i9~VceKKG_$9?p4DNf~q-6EZdFKgOj zurjvpkU{ME#Z8DrWYEJQ9y2+$L6>eZ7sZO`bncH8yBx=y> zEpt$Fd=3$Ed4b!T~jR|tH(j^~!3 zRGMHtJLA?j>8!Y$%il41$((gXo5@Agv3CE*{$-2g_1IC92RT-px{tw^Kgc6$?{d`Jh*IDOgiVk5 z1^SUS$5pUf#pl3wB3bgEzitHBV6MxO97$t&l-jdxq1m*HtPZNLYF?1KN(;;vX^n8H zQ6--_K#&e{ilPG$O@`Me?y7RUq~o{wd2@P)Z*bcV`WWaYp;rdfN+dy_wIieyq#Tp3 zpCVb3*R8+g7F8sV9q-tUX_WIWym^PL0Rz?}&^t*m6_amt;z-!E$LNxnyQVIE z=6jNBc}(P@n8tP zzXp#wXCG9(e$KEV5@rfUai~y&@-*{Kv;{be>bL_A(-rit6MPfk(css0LGnM}+5*e* z&XhpvQD=F2>$D;W{r@hpj)c=M`Z!zEngi$P_NVl-CPA9G2A4sS$$awyaFCBi?~>r> zgD!M_L)P^^O2Mh~54z=te=%Pln5cCP)qSGIL$F2-aZ{pm{b$fM~&A1!MvmO+OkCWXbMO2(&f>C5i zBEZt9Xn6HJ$tN1X?*bFZMzIuL2d=biC3|g)J_;P_*{`cggmTBk*7Aki`RD6IV3*WO zl5jg;M^zg4j)sF%+#eay*nUdwP0bauO?;O~3@FHL{Xok)vfr^n{~x6_3r*@_UCf z)Un=9ZSw%oUjY11{4KNmFVxksTF7zD`$A~K1`1HhxbcRINHKM8MO(f4yka*;=w;S5 z>k#!!XT)-^CAo?QO$+qBy1qObiaf@-r~O?9Wrv#RhT`t+mH%Y_=VRG{~P_tgk-&9~~Q?fPku{ZK>xr7~1lC&-v`uPtfGI<^ zv~P02)yU_*XG5N^?IAAd+mw62brek-e=L5m1*rZZ4a1Hdvao#+ifBiG{uTO5+`Mw@Sl7@1jV63YmkUJn#<5GW9Vg%$+eYABTPi> zUujo@)Gf$1vaQ6hi=goADPY|kWLi3+;``=K!BG3VL@l~GU$CQ9dI|4);}H*51L1s7 z>i4dm1Ms{7lCtGiIhZGx1p^4D19xzhG3D1v&qSaW!*F;Amp`2g=t}l6z|$h&bT8TP zGkGnZH7^4EY}u7xp?f6sclBS>^tDkVM>j-6%=&reIe7E4d7Wvo1Rt?$BP?iWuyCW3 zCy}wr8UtU8?V1uX=PTFIyJylXSl(iCSuho^8V0j0Rp9CO1k6wHS2!g^-Mm7=&d-m_ zKx>>Fg(8u81=Be+y*1?PJXvIs6u}+xgkk!D@@~i&y4%FPiJk*rG@4L5D&8 z@3$6Zn=C+9!wD|$?PT{tVa?B9q9ID(?()2?duP5mKcKH)0$BVuXlhePuNZ^sB_iDh z{jyw@c0bv^gNm9bW}I+E-4qn^gFGWbI2af*cPA{eqR!=%C4F0!A5Z0DULz(u7#$IN zM0(mbCt5cBkqss}rw7Pz4fH&3s)El??lN(dmgBER`+BOkmk|vVs0kw-EA7Dl1x6ai zJ(V^7mk`j58TYLF_&T8had4b;$O)^+oyrtXo|>LoE>;y;V2^*reA_XVZ!LtZGLW$X zrCH9qWkjEBa407s#IV?`U*#7a1)yYp}gh=}Rb zq8H1@4~e7|z@PHInsl!U&44f$h6I(017Qpp@{1AMmE3hI4*vjzfQJRI;+7Gu5eqE4 z(IuzK-}1q;;&!;zW(3aFEO=V16=A9umt6mlxpOfM%J{kQrW`aa32J4{ZZ44Svd_&MEd z0eLeijWVsSW}vtJZadv77i1VY%}kJhhUM(}Dz`Ju25}<@kyv|y`SBp&yHWbK9&d4< z8t>h889Wt7z-7BE$DR*8`> zbhI8LVZl%a_$x~A2d&5k^|w5Vhh#EW5_t0!f>9At{(ScqwgF~1RiUJ>ke+oIxjMlt zoCJ>bby;@U5mxi=rD=bPr812#qWYK^w?*`s+xd`AkHo5Ya!_ZaRKy7VG9dMD4tv z39hLyD@*Ru?S|UTP_>ry4r^dTpP3!L0XRO#!9%fzIYUw5+q=Jh1SGBov0WV;A?+|O zAG59vF^cShsyI|_1C({;h^+WRwQhiysmK)kNVee*DubjDb_!zW1K3QSx^0aQlhheX zceql4Ca$_#dl<3&6hetK48^{LLVG<1Le8+J7{V<6{QU9=N%pRfYq(9E9T5m;DR9wf z<{b{m6R;(Sqh&Iv7fuhNkke_hcLb~c8Z3b+(h;k7!`Z?x?LO>ts3i@9=e~16Xj+5V zPfR(QM`MJoiD1BxH7eWe4aLQZQT}QB%(B1nSz0SsM09C(1-e>Mpp~yl#C;M&U?VpO zTAgOQ-K1juvs6TK<_^iV%ZzT1RY_Z&EWRgm(6&!5td+sPoJaFS)s0-bzDabsBi6Q5 z?~`M*rbyT5$!TArPoKIlA<6Khi+5*_kqj?Xw_U^V9!eioP&vky3^a-)iCm&D+Of~9 zuy&5Uq;Z@mY163r+}Egt9WxG(x2Bh(Vd@LL_wRA8I_c~+u}9@sKpk#dBy;w1M4c{# zs8Jhvw*yt~npdTR)YiKy&vpaQ{{iS2M)15irDAwrZC>@(qGFw9ipvo?x{)T%3M1QA z%#tcG#Lhsd?QdWE(Ku9jMb$}a_yK?D|1W-FPm&7WcG8{ni402 zNb$GwqVlUQyOAzcWs*FbeN0Z5!*xY0dn%%( zB>bECA5#8}+R+hdM^2*kutJSNz;uga`)dvH+TP!U+(6b+xO-otYf4Aiqxx} zH;v9gtM`!E^2+IuOU+m5ssxI$sDI7}@^5tqiwCY{d<{FiRSk}W)ao2LJKHP7GA2PO zgsWLgVD0Q3ph$XWqb%|S1cLo#2{JbtdIj1{1?|qjZIIXB#z!^T7^{Tnd$x%!=Rm z^?GiE4X%7W{tarUf88)gj<)(5ZQ3GmK})Ff=KY9MJwTkj%qA(P;8Ap^+$B2^RvvVN z8tFByDv*n_cP|svH)Z*9)gc2DTT-2xFSHyEge0NH$F|!e)O&lBo2y>V#h(owPzdpL zqit^V{6m@-i8lK;R(s%=X8)Kxa=#0=HKiin8Q5Ui|QIB8r_I+RF%V6 z7>_gnjPkLZIPa0Xri5^iKdxTv5W1(u^1g8XI#KX>cy`-9wuAguvophSJ&kZr7hGu1 z^KM8CO=wz*1dd?ZQGqu61k-2omkX$fGxu_p)M|cdg?-Z2i4jq1mw7XpW86Y0NmP3} z?=!||;1S0r9^7tD$;LZ(uuTOg2>a?1f)P57cv_LuGE8$!|1X*YKuuh_kw@*~(}o7M zFHWZw=*#f{_~Xx^fjzQ>sPVbKY$%KKtzBhl-G&2R~Kj2;-xBo14C zcq{$bK1Anki$>q=XGGh+3yC#JNZBUMzxrmBpp)K}!5&Q%Ar*Y9tn|qezKu)&ix% zV{zMU4~5Us3#pae>Ktbv5aaZolQ<8EC{CO4hyz!v&+PY~sLqxJUb(K7XuWiMAaD4d zn}i9GX^u*C={%P=Wb!*AkvIF!+Asb0)q7>^Y6-KlAP6>!Bpq&_veCK#`}Mqof)B@7 zGnHKO@9g)XFP!wY+no!r2Ys!yM5}z=&{om$GWQ*o42Mm4M`wY>N(Qi>x4Q>gXqNss z!dG7|gZw0OGEJr&;)O6G&nwd-=1dnoQ6+cX6v|Iz>I-<=(8heVd?ApMh~Pl^EGRAJ z2oofZbdd_$}?J#W}>TIBOkKnh;U<)$<;*mGklIOb;N-;P3S7-IvJ%{f7X3XV$#1#z(6) zx$?*@iA~1Vh$`L3@@DVVxg?LLBtk$Wj;A-F4*ar1&khD+K<-A{Ev4+mEDN3=4np2O zgXto@9&uiK*qW)5F7j{c56nhT8L7qh;mv5&1sv3?$RnD_K=e`z0lh_sPvFtV=|j21 zP%R;I8-QqW+;r{Qw9pGKp)$I4hK^43TgL<5TACLiV?fp9!OqSEgy5A8XJQ z7OIj=MGC5~D8`-f`U{dx*Un-nEUU38Vvq6tF|KHCRMOE^usYS26vQqx*{h|hY@b)0 zNz785ul!lvv_p@tpC{K3aIzZL$4-1KN-qd_DALc(h?ff!tw{)ifn%1mROIbsnNUg9 z4+TK<-=Q&+$9JO@kvW0!N8_&l-B~)<)tGkvf)Fi5G`;73iYO0OA;a$MdXp2CP|$~* z(iRZFGIc8uTvkXQ)#-0+0q;9zCr4h@>r&exBy1JXHrH-!O#kfp0V{s7`?$o~Vdf{? zebs*ev#(&#QdDZ97xfq`8*>Lre6e=$@ZBsg1qiwfF$$UwSe2PNNu*uXPmRIL*<`DZ zxo=iqe$>2m=_rDE#^D4mI2VwSrS%6tSb1pi%Y&|=qqk^azR)bE7WBQjU&Tgr=B3(4 zxM0=7;-J!dRUP#RNUL1ayb{!kPo=xxY9e~6Pwz*W6?Og{PlEtsN_PuVO}2+6yfszS zHE##)+>6q?v^WkIm3YyS%29Ze~`Z-C`V5THUB7_koSA@RS{b@iU} z2KmePCmp$*{0d@b1%uI|7VkUh(WCXc$NT<_@`Rw^j}t}FKq#eKhJ)@Ek>3D_U)(hO z*Y7TR64V&!Rn}bf#C#b7W7H8 z-l-N{_lhzvFE}!+M1^$B?W2Kv!XvWsjPPzRH=&f`nrp*|DWWGiyLlxCPEP}5P%Y@Y zi$$>%8gticB`Ve-S-Fy?{V@P&T~*Sj3bQi&1NJ>X1#i;iU6zbPJhuZ;FGcddY(gFf ztusjMQ7lO{?7ul=M!40|4vI8l#;emquidSH%Kh!^g!@3x8dIkYs91Pr?FR85kfre? zwLMO`*+_;#Ua^nGiLD2@c99KRkxs1*khU$5lt3ZfIGeTt&3P{`mSG!>b8u}JX7%3L zjoj;+BnK)RVflw9f_Bf5viaN-_%u%yoqy|T(n&Ub11BIn258o5x2J;GosnyHL}1A4 zb)Vrj_h9eU4hhK+ddgTI|8+z-Sg#XsokWw4N@kVFmK%maqw2zuq-d*E#* zdFg9T%)ty*^CF>VQ$_tu%<_+o0_(fkPhneL$b9@uW_12Wp89tPYV36SK<5k5omtej z&SEUEU>ab{kB*vO0+U}H^8leraA>9^d5qEh(?gs!GQf2qCZq)_Ih+(%dFcapRNcfy zn5Y@$>vW#_7-W4TwA+>Y%717_p)Qk7DrE9YU$qu#sC}zD&{&7O$PZUFU+$^#qgnZ1RKFTjVCSRTxmHbYW zd7>ycu%_oU5~xON1MZ0wo}SRyXCsfGdO;N_^Go2-v*{L>2%{&aA1qN{UzBwkdYZ4GqWJet_jHEy7PJvzE&;%ghQPI8V8!rE|iX==%vq@cr zpY9_B6kn?l{fuC@HG@=~C&+u6>(b%e`u@Gx!?$N9y4sy6Krii;X}5B z+d{jLhShB)c1#EvTSqJRY&7M)F_Tg;)>?@(5$tEg=ktN}U2mg}4?JD6+v@>bRyL@& z^iQNTYe7n0j@!qj*Te4{wktq8L*$45xJ;c6B!{CIbm*vPD#+{B9)B(#7AE5tSSS$m)D z#r~^aUpk;Y!7(8!i~i^)TTR4<{1Ek0*bYnJK_AH{DZz3)5Kp^Z zD=cQ6%8Y9mF|BxOqM2UXeBNn2b|V3usGZlV9p^+OzkSBG(*6uLUuX-^N+e>m8eGKh zUMC6fk3$L;d@zui+C0`*A`7j4kU8~f8tonW&&2iQIVh?f`-Cm6D# zNOg*8LnqzJQiiqLii29a9Io+qy#!~V@)V20QHdPlupb0#E8YdLc+}f5*Bq9EP3=iN zCT^_I*p84jd4~>dBsfI*DV{Z$d0@dU#79`cw!(!rT&!}Cs~c=@*m;Wa@fK%7 zEatbVX<}4U5G%DaM(-pI<0Z=50!`LoDAc+P9|b=(>n7U=&9u)^_PT97;=An5z-i*^ zDo_z>lUjx|wkVy#`Sv48st_p;LpdhIJ95InpNiw*HP3)x2&XiXo|K(3!i;u z{R(+Gtgj_C2Q&|PKygC!i6{61qj3Ao;|e#F_P~<&oamBkCZAtcRr)@Jl590rjlqu6 zz7MG73_Xjjtb2~Uy}GScKjE>v{${A<<$33mqMt)!A5Z%G$20x`+f$qVLfUj4 z>_uAKtIhp{59FVS8&V+FrC-Fm)+K4eh-`UfN%iOA8{u+>Sp%l{ zZYy6|o7L0r;M04|BEz(_$o;F7Fw~#e4M%{I2c>2`0)Hf;;MJf{rNzRm2Or3=lJN?J zj*22Y?dBG!5K8UOLcP7zg!|_x>s;ar`OI+T37kT2b`Rg9^u8mNF$X5!Mx_1~b=~hA zGFqDUxvc3kmOP~kJx63O0N|}`MAF*MlR9b3MN*K(?Z1gZe_3mARa?ixVT2hK=RrFE ztHxy3bdY^gM&G)b#N6Jy(^&YfXR{7Rfoz~Hqq)LIx5HH!-)rBSKF<#4#b95tzSDbA z3{44gSM%d3#fT<+xadJpZL8P%Iw83>-xD14=iMf#p7LRi08~H_(WyL36z>IdN>S}y zw~uR8$iaiiKi#obO=tgYZ~1%%mwl|nFqxF?T6s|p9!KNdYdILr za4aW~X*`Ums9f2-!JH?5$ya)b^ttY&n{zkFW$fcp`&46Y2HL`aH4APHF7DlbDSAnV z?n+3F8kJx*h-76Ob`)WS&^I_B*0hUAV05yvo>vhBA6C4|;SuS|DONAV*0>mSoAe9Y zzgvJEu5t*oJ_ahOC})=?PbNg@@l^57?cIt`A9L}G*{V+JfB4r6b?PxB!^&I1R{Es5 zVP00`9)zebFyj$w^1pA!(WLi!ayP^RF^lw%piyVR?~+5NpV`uxkE3Zz`DIK~rZmKk z$S~8vl1=uznDN2gI)GavEJ+it?+d1NNzz;gS<7MU5OU-bdo|Kb$Rw`8eZ%!8M{Rt< zkG`(hiimy#qSSmfm%aOX=0)tcO}f02jtW2cd|AnLH+&^a7D?>h3j0^1Teh~6e*}bH z6hIBweQ<)PoMVpzN!wHm|Do`Vol9it+`pjI2O%C~FzXw`U3L6O+@=j_Wss~Y%XQm~ zuDP$+Rr3iU_@zr;9QInx(iLC#hCR~(A$HN=%)2>Qb<)_`C7KTLl^XFUrKEA`dKlq! zsbq|4+>71lmH0tO-^qJiN!4Jplqt|W(~cT@PN9ob=6Tx6)&vr$zfl7-3gl-8Syw$B zUU)R~RCP(aTuho@p4KAo<6_tm0hDV)ZuCC(H=0dnK#UzVV=KfoN*>SX#vHg zOt>sRh~tI4ORFnhyLiOyE#R4dH={0pL}ocaZWAyFmEsf}u=;g0il|(PLPo*5m1Aw4 zmAL^rT%oJL)0p~EXv(5vZW-9D_NdcdK?-9$L` zR%-K297w`Wx@UXwFfS4SF`O89Fxa)joE7s?l%{%Al$fGe*>J9roVtHdW+FdW?&pD)5t|g@Cb2$*sD~lD7=@_X4 zzN4}WAE!uK(1PL+B-Fqz#q_dJ^X6{!zx82nHbS*B!SjWl12}}{J_gs;@MShBme6kt zQ;YPf4mPl6ShUB{wtdlu*S#wqT~~ACy-*j;{@w&_TKU9?t}a(PlbL`Rsc| z4~CfPM?u-rh>ee~wc_@xD@^=XvcPXmJCvJ)?bU8H5o6WW=5pn&Qx2X((^r~b;72O! z@gE@zQrN6FE4uDbyF8wKN($aG0M8$n=Z@~gHasb>z0*Ilvtz^;6lpjG#i~-pr>R(0 z&muKy;Y<(qx+BH2$u70ZA)Or5kr#~#&|8=@ANQ4TIg+N$DVt#JSi2Jh>)t;p(`zw4 zfw7;{3LqmM;Fg&tA1eP7p*kssez62vSNg^(Qc8JVfI5EjOefe0GcN!W(zIE!S$bl+iV{Z9ME|sCIIENLZ~xo4G$$M=PP-S%Dq)9W z!L)cZk5MAphUNW6wqGZC2SM&XQ$r^~eyk(hvN`_hdk+V$HeQ%%c(E$F!g&r*hgw=S3?_HcJ>l(kG>Q-Q8MI2 zj+wY<28W;E?U6oxF8;|J&!UBcX;m-=VfhdilhMmlf(wzSLIV>d9X@G5!VG9lL4F(YolYt)Y0Mj_E@h>k~vuCAL zJn-QeULxbju#@lt+rG8GY>9~NF!OXG#IAQF`^k(RZy2anh0No({3p)bcQ?i9QJO-n zT}YPDH33d7*LAtR0k04gckY~O!1dE-DDAIX`z;aCPqS9om_d1SI!VSzm8V1g8`yT5 z454trB$i_5LbJ)leRm_9x(#nqDH?%?n`nUaD_?oRN>~H2*iZkXct5}>1T>@Ug))K5 zaetOUB10~zG?QFQpim-v`1+_+ocXcGPzXKgv^o!xx@p4CTbrhjGDs7z(Rx=8L?^$l zWj(6|3$v>Zyu0h}*-q?7XM^?;CG7-1cdRV~L&pExgD)TuIp2p(ZYZ+Zn3pJz_C