From b6f9e1e9f8c3e80a9193791c8bfc6acb41edb13f Mon Sep 17 00:00:00 2001 From: Ward Truyen Date: Wed, 14 Aug 2024 00:43:08 +0200 Subject: [PATCH] added Maze game --- README.md | 1 + src/game-maze-context2d.html | 46 +++ src/games-launcher.html | 1 + src/index.html | 1 + src/js/game-maze-context2d.js | 692 ++++++++++++++++++++++++++++++++++ src/js/game-pong-context2d.js | 3 + src/js/games-launcher.js | 11 + src/js/theme.js | 2 +- src/snd/click-button.mp3 | Bin 15882 -> 5322 bytes src/snd/flash.mp3 | Bin 0 -> 14559 bytes src/snd/footstep.mp3 | Bin 0 -> 15360 bytes src/snd/glass-knock.mp3 | Bin 10752 -> 4464 bytes src/snd/metronome.mp3 | Bin 0 -> 3864 bytes src/snd/snap.mp3 | Bin 0 -> 35108 bytes src/snd/surprise.mp3 | Bin 0 -> 36864 bytes 15 files changed, 756 insertions(+), 1 deletion(-) create mode 100644 src/game-maze-context2d.html create mode 100644 src/js/game-maze-context2d.js create mode 100644 src/snd/flash.mp3 create mode 100644 src/snd/footstep.mp3 create mode 100644 src/snd/metronome.mp3 create mode 100644 src/snd/snap.mp3 create mode 100644 src/snd/surprise.mp3 diff --git a/README.md b/README.md index d93c89c..cc5cf9b 100644 --- a/README.md +++ b/README.md @@ -6,3 +6,4 @@ - Tetris +- Maze diff --git a/src/game-maze-context2d.html b/src/game-maze-context2d.html new file mode 100644 index 0000000..3b17aa1 --- /dev/null +++ b/src/game-maze-context2d.html @@ -0,0 +1,46 @@ + + + + + Game: Maze + + + + + + + + + +
+ + Willem Games +
+ +
+

Game: Maze

+ +
Loading ...
+ +

How to:

+

Use the arrow keys up, down, left and right to move, or [W], [S], [A] and [D].
+ Press spacebar or enter, to select.

+ + + + + +
+ + + + + + + + diff --git a/src/games-launcher.html b/src/games-launcher.html index d0b2b46..cec7dcb 100644 --- a/src/games-launcher.html +++ b/src/games-launcher.html @@ -40,6 +40,7 @@ + diff --git a/src/index.html b/src/index.html index b7cf6d5..ec8d2af 100644 --- a/src/index.html +++ b/src/index.html @@ -25,6 +25,7 @@ diff --git a/src/js/game-maze-context2d.js b/src/js/game-maze-context2d.js new file mode 100644 index 0000000..c5194b2 --- /dev/null +++ b/src/js/game-maze-context2d.js @@ -0,0 +1,692 @@ +// this uses the Backtracking Algorithm to generate a maze +class Maze_CTX2D { + static get DEBUG_PARENT_OBJECT() { return true; }; + static get AUTO_CONTINUE_ON_FOCUS() { return false; }; + static get SHOW_FPS_INTERVAL() { return 1000 / 4; }; // four times per second + + static get KEY_ARROW_UP() { return 'ArrowUp'; }; + static get KEY_ARROW_DOWN() { return 'ArrowDown'; }; + static get KEY_ARROW_LEFT() { return 'ArrowLeft'; }; + static get KEY_ARROW_RIGHT() { return 'ArrowRight'; }; + static get KEY_W() { return 'w'; }; + static get KEY_S() { return 's'; }; + static get KEY_A() { return 'a'; }; + static get KEY_D() { return 'd'; }; + static get KEY_ENTER() { return 'Enter'; }; + static get KEY_SPACEBAR() { return ' '; }; + static get KEY_ESCAPE() { return 'Escape'; }; + + static get STATE_MENU() { return 0; }; + static get STATE_MAP_GEN_ANIM() { return 1; }; + static get STATE_PLAYING() { return 2; }; + static get STATE_ENDED() { return 3; }; + static get ANIMATION_DELAY() { return 10; }; + + animationRequestId = 0; + running = false; + + constructor(divId, width, height, difficulty = 1, showFps = false) { + this.createCanvas(divId, width, height); + this.canvasEl.title = "Playing: Maze"; + this.ctx = this.canvasEl.getContext("2d"); + this.ctx.textAlign = "center"; + + this.audioCtx = new AudioContext(); + this.sounds = []; + this.sounds[0] = new Audio('./snd/short-success.mp3'); + this.audioCtx.createMediaElementSource(this.sounds[0]).connect(this.audioCtx.destination); + this.sounds[1] = new Audio('./snd/footstep.mp3'); + this.audioCtx.createMediaElementSource(this.sounds[1]).connect(this.audioCtx.destination); + this.sounds[2] = new Audio('./snd/glass-knock.mp3'); + this.audioCtx.createMediaElementSource(this.sounds[2]).connect(this.audioCtx.destination); + this.sounds[3] = new Audio('./snd/flash.mp3'); + this.audioCtx.createMediaElementSource(this.sounds[3]).connect(this.audioCtx.destination); + this.sounds[4] = new Audio('./snd/metronome.mp3'); + this.audioCtx.createMediaElementSource(this.sounds[4]).connect(this.audioCtx.destination); + + this.showFps = showFps; + if (showFps) { + // add framecounter and fps variables and html + this.frameCounter = 0; + this.initTime = performance.now(); + const el = document.createElement('p'); + this.frameLabel = document.createElement('span'); + const floatRight = document.createElement('span'); + floatRight.style = "float: right;"; + this.fpsCounter = 0; + this.fpsLabel = document.createElement('span'); + el.appendChild(document.createTextNode('fps: ')); + el.appendChild(this.fpsLabel); + floatRight.appendChild(document.createTextNode('frame: ')); + floatRight.appendChild(this.frameLabel); + el.appendChild(floatRight); + this.divEl.appendChild(el); + } + + this.setDifficulty(difficulty); + this.gameState = Maze_CTX2D.STATE_MENU; + this.canvasEl.addEventListener("keydown", (e) => this.onKeyDown(e)); + this.canvasEl.addEventListener("keyup", (e) => this.onKeyUp(e)); + this.canvasEl.addEventListener("blur", (e) => this.onBlur(e)); + this.canvasEl.addEventListener("focus", (e) => this.onFocus(e)); + + if (Maze_CTX2D.DEBUG_PARENT_OBJECT) window.game = this; + if (typeof WTerminal === "function") { + WTerminal.terminalAddCommand("restartgame", (t) => this.terminalRestartGame(t)); + WTerminal.terminalAddCommand("printgame", (t) => t.printVar(this, "maze")); + WTerminal.printLn("new Maze: @", divId, ' ', width, 'x', height, ' difficulty=', difficulty, ' showFps=', showFps); + } + + this.drawCanvas(); + } + + newGame(gridWidth, gridHeight) { + gridWidth -= gridWidth % 2; gridWidth++; + gridHeight -= gridHeight % 2; gridHeight++; + + this.gridWidth = gridWidth; + this.gridHeight = gridHeight; + this.gridCellWidth = this.width / gridWidth; + this.gridCellHeight = this.height / gridHeight; + this.gridCellSize = Math.floor(Math.min(this.gridCellWidth, this.gridCellHeight)); + this.mapWidth = gridWidth * this.gridCellSize; + this.mapHeight = gridHeight * this.gridCellSize; + this.mapOffsetX = (this.width - this.mapWidth) / 2; + this.mapOffsetY = (this.height - this.mapHeight) / 2; + + var result = this.generateBacktrackingMaze(gridWidth, gridHeight); + this.maze = result.maze; + this.animation = result.animation; + this.animationPos = 0; + this.animationStepTime = 0; + this.animationStepDelay = Maze_CTX2D.ANIMATION_DELAY / this.animation.length; + this.player = { x: 1, y: 0 }; + // console.log("animation", this.animation); + } + + playSound(index) { + try { + const snd = this.sounds[index]; + snd.currentTime = 0; + snd.play(); + } catch (e) { + console.log(`Failed to play sound '${index}': ${e}}`) + } + } + + createCanvas(divId, width = 0, height = 0, zoom = 1) { + this.divEl = document.getElementById(divId); + if (this.divEl === null) throw new Error("elementId not found: " + divId); + while (this.divEl.firstChild) { + this.divEl.removeChild(this.divEl.lastChild); + } + this.canvasEl = this.divEl.appendChild(document.createElement("canvas")); + const c = this.canvasEl; + this.width = width; + this.height = height; + if (width > 0 && height > 0) { + c.style.width = width * zoom + 'px'; + c.style.height = height * zoom + 'px'; + c.width = width; + c.height = height; + } + c.tabIndex = 0; // improtant for keyboard focus! + // c.style.imageRendering = 'pixelated'; + } + + drawCanvas() { + if (this.showFps) { + this.frameCounter++; + this.fpsCounter++; + + const now = performance.now(); + const diff = now - this.initTime; + if (Maze_CTX2D.SHOW_FPS_INTERVAL < diff || !this.running) { + this.initTime = now; + const seconds = diff / 1000; + const fps = this.fpsCounter / seconds; + this.fpsCounter = 0; + if (this.frameLabel) this.frameLabel.innerHTML = this.frameCounter; + if (this.fpsLabel) { + this.fpsLabel.innerHTML = Math.round((fps + Number.EPSILON) * 100) / 100; + if (!this.running) this.fpsLabel.innerHTML += " (not running)"; + } + } + } + const ctx = this.ctx; + ctx.clearRect(0, 0, this.width, this.height); + + if (this.gameState == Maze_CTX2D.STATE_MENU) { + ctx.strokeStyle = 'black'; + ctx.fillStyle = "#4080ff"; + const FONT_SIZE = this.width > 440 ? 24 : 16; + const x = this.width / 2; + const y = this.height / 2; + let text = "Menu"; + ctx.font = "bold " + (2 * FONT_SIZE) + "px serif"; + ctx.fillText(text, x, y - 3 * FONT_SIZE); + ctx.strokeText(text, x, y - 3 * FONT_SIZE); + + ctx.font = "bold " + FONT_SIZE + "px mono"; + ctx.fillStyle = "#b0b0b0"; + text = `Difficulty: ${this.difficulty}`; + ctx.fillText(text, x, y + 0 * FONT_SIZE); + ctx.strokeText(text, x, y + 0 * FONT_SIZE); + text = `Size: ${this.gridWidth} x ${this.gridHeight}`; + ctx.fillText(text, x, y + 2 * FONT_SIZE); + ctx.strokeText(text, x, y + 2 * FONT_SIZE); + if (this.isFocused) return; + this.drawBanner("Click here to continue. (unfocused)"); + } else if (this.gameState == Maze_CTX2D.STATE_MAP_GEN_ANIM) { + ctx.fillStyle = "#404040"; + ctx.fillRect(this.mapOffsetX, this.mapOffsetY, this.mapWidth, this.mapHeight); + ctx.fillStyle = "blue"; + for (let i = 0; i < this.animationPos; i++) { + const animationStep = this.animation[i]; + if (animationStep.state == 0) { + //clearRect + ctx.clearRect(this.mapOffsetX + animationStep.x * this.gridCellSize, + this.mapOffsetY + animationStep.y * this.gridCellSize, this.gridCellSize, this.gridCellSize); + } else { + //fillRect + // ctx.fillRect(this.mapOffsetX + animationStep.x * this.gridCellSize, + // this.mapOffsetY + animationStep.y * this.gridCellSize, this.gridCellSize, this.gridCellSize); + ctx.beginPath(); + ctx.arc(this.mapOffsetX + (0.5 + animationStep.x) * this.gridCellSize, + this.mapOffsetY + (0.5 + animationStep.y) * this.gridCellSize, + this.gridCellSize / 2, 0, Math.PI * 2); + ctx.fill(); + } + } + if (!this.running) { + if (this.isFocused) + this.drawBanner("press space to continue. (paused)"); + else + this.drawBanner("Click here to continue. (unfocused)"); + } + } else {// Maze_CTX2D.STATE_ENDED & Maze_CTX2D.STATE_PLAYING + ctx.fillStyle = "#505050"; + for (let i = 0; i < this.maze.length; i++) { + for (let j = 0; j < this.maze[i].length; j++) { + if (this.maze[i][j] != 0) { + ctx.fillRect(this.mapOffsetX + j * this.gridCellSize, + this.mapOffsetY + i * this.gridCellSize, this.gridCellSize, this.gridCellSize); + } + } + } + ctx.fillStyle = "red"; + ctx.beginPath(); + ctx.arc(this.mapOffsetX + (0.5 + this.player.x) * this.gridCellSize, + this.mapOffsetY + (0.5 + this.player.y) * this.gridCellSize, + this.gridCellSize / 2, 0, Math.PI * 2); + ctx.fill(); + if (this.gameState == Maze_CTX2D.STATE_ENDED) { + if (this.isFocused) + this.drawBanner("Press space or enter to continue", "Victory!"); + ctx.lineWidth = 3; + for (let p of this.fireworks) { + ctx.strokeStyle = p.color; + if (p.type >= 1) { + ctx.beginPath(); + ctx.arc(p.x, p.y, p.size * 2, 0, Math.PI * 2); + ctx.stroke(); + } else { + ctx.beginPath(); + ctx.moveTo(p.x, p.y); + ctx.lineTo(p.x + p.vx * 0.1, p.y + p.vy * 0.1); + ctx.stroke(); + } + } + ctx.lineWidth = 1; + if (!this.isFocused) + this.drawBanner("Click here to continue. (unfocused)", "Paused"); + } + if (this.gameState == Maze_CTX2D.STATE_PLAYING) { + if (!this.isFocused) + this.drawBanner("Click here to continue. (unfocused)", "Paused"); + } + } + } + + drawBanner(innerText, titleText) { + const ctx = this.ctx; + const FONT_SIZE = this.width > 440 ? 24 : 16; + const x = this.width / 2; + const y = this.height / 2; + const y2 = y - FONT_SIZE / 2; + ctx.strokeStyle = 'black'; + const g = ctx.createLinearGradient(0, 0, this.width, 0); + g.addColorStop(0, '#404040a0'); + g.addColorStop(0.2, '#404040df'); + g.addColorStop(0.8, '#404040df'); + g.addColorStop(1, '#404040a0'); + ctx.fillStyle = g; + ctx.fillRect(0, y2 - 2, this.width + 1, FONT_SIZE + 5 * 2); + ctx.strokeRect(0, y2 - 2, this.width + 1, FONT_SIZE + 5 * 2); + if (typeof innerText === "string") { + ctx.fillStyle = 'goldenrod';//this.isFocused ? 'goldenrod' : 'lightgray'; + ctx.font = FONT_SIZE + "px serif"; + ctx.strokeText(innerText, x, y2 + FONT_SIZE); + ctx.fillText(innerText, x, y2 + FONT_SIZE); + } + if (typeof titleText === "string") { + ctx.fillStyle = this.isFocused ? 'red' : 'gray'; + ctx.font = 4 * FONT_SIZE + "px serif"; + ctx.fillText(titleText, x, y - 2 * FONT_SIZE); + ctx.strokeText(titleText, x, y - 2 * FONT_SIZE); + } + + } + + updateCanvas() { + const now = performance.now(); + const timeDelta = (now - this.prevNow) / 1000; //timeDelta = (milli - milli) / toSeconds + this.prevNow = now; + //#state switch + if (this.gameState == Maze_CTX2D.STATE_MAP_GEN_ANIM) { + this.animationStepTime += timeDelta; + while (this.animationStepTime >= this.animationStepDelay) { + this.animationStepTime -= this.animationStepDelay; + if (this.animationPos < this.animation.length) { + this.animationPos++; + } else { + this.gameState = Maze_CTX2D.STATE_PLAYING; + this.running = false; + this.playSound(3); + } + } + } else if (this.gameState == Maze_CTX2D.STATE_ENDED) { + this.fireworksStepTime += timeDelta; + if (this.fireworksStepTime > 3) { + this.boom(); + this.fireworksStepTime = 0 + Math.random() * .5; + } + for (let p of this.fireworks) { + p.time += timeDelta; + if (p.time > 2) { + p.time = 0; + p.type += 1; + } + if (p.type == 0) { + p.x += p.vx * timeDelta; + p.y += p.vy * timeDelta; + } else if (p.type == 1) { + p.size += 10 * timeDelta; + } else { + p.size += timeDelta; + } + } + while (this.fireworks.length > 0 && this.fireworks[0].type == 3) this.fireworks.shift(); + } + this.drawCanvas(); + if (this.running) { // loop + this.animationRequestId = requestAnimationFrame(() => this.updateCanvas()); + } else { // not looping + this.animationRequestId = 0; + } + } + + startRunning(fn) { + if (this.animationRequestId != 0) cancelAnimationFrame(this.animationRequestId); + this.running = true; + this.prevNow = performance.now(); + if (this.showFps) { + this.initTime = performance.now(); + } + this.animationRequestId = requestAnimationFrame(fn); + } + + close() { + if (this.animationRequestId != 0) { + cancelAnimationFrame(this.animationRequestId); + this.animationRequestId = 0; + } + this.running = false; + } + + pausePlayGame() { + this.running = !this.running; + if (this.running) { + this.startRunning(() => this.updateCanvas()); + } + } + + terminalPrintGame(term) { + term.printVar(this, "pong"); + } + + terminalRestartGame(term) { + term.terminalClose(); + this.restartGame(); + // this.canvasEl.focus(); + setTimeout(() => { this.canvasEl.focus(); this.pausePlayGame(); }, 200); + } + + setDifficulty(difficulty) { + if (difficulty <= 0) difficulty = 0; + this.difficulty = difficulty; + this.gridWidth = 11 + 4 * this.difficulty; + this.gridHeight = 11 + 4 * this.difficulty; + } + + onKeyDown(e) { + if (e.key == Maze_CTX2D.KEY_ESCAPE) { + console.log('esc'); + console.log('running:', this.running); + if (this.running) { + this.pausePlayGame(); + } else { + this.gameState = Maze_CTX2D.STATE_MENU; + this.drawCanvas(); + } + e.preventDefault(); + return false; + } + switch (this.gameState) { + case Maze_CTX2D.STATE_MENU: + if (e.key == Maze_CTX2D.KEY_ENTER || e.key == Maze_CTX2D.KEY_SPACEBAR) { + // console.log("ENTER!"); + this.newGame(this.gridWidth, this.gridHeight); + this.gameState = Maze_CTX2D.STATE_MAP_GEN_ANIM; + this.startRunning(() => this.updateCanvas()); + this.playSound(4); + e.preventDefault(); + return false; + } + if (e.key == Maze_CTX2D.KEY_S || e.key == Maze_CTX2D.KEY_ARROW_DOWN || + e.key == Maze_CTX2D.KEY_A || e.key == Maze_CTX2D.KEY_ARROW_LEFT) { + this.setDifficulty(this.difficulty - 1); + this.playSound(1); + this.drawCanvas(); + e.preventDefault(); + return false; + } + if (e.key == Maze_CTX2D.KEY_W || e.key == Maze_CTX2D.KEY_ARROW_UP || + e.key == Maze_CTX2D.KEY_D || e.key == Maze_CTX2D.KEY_ARROW_RIGHT) { + this.setDifficulty(this.difficulty + 1); + this.playSound(1); + this.drawCanvas(); + e.preventDefault(); + return false; + } + break; + case Maze_CTX2D.STATE_MAP_GEN_ANIM: + if (e.key == Maze_CTX2D.KEY_ENTER || e.key == Maze_CTX2D.KEY_SPACEBAR) { + if (this.running) { + this.animationPos = this.animation.length; + } else { + this.startRunning(() => this.updateCanvas()); + } + e.preventDefault(); + return false; + } + break; + case Maze_CTX2D.STATE_PLAYING: + if (e.key == 'r') { + this.gameState = Maze_CTX2D.STATE_MAP_GEN_ANIM; + this.animationPos = 0; + this.animationStepTime = 0; + this.startRunning(() => this.updateCanvas()); + e.preventDefault(); + return false; + } + if (e.key == Maze_CTX2D.KEY_W || e.key == Maze_CTX2D.KEY_ARROW_UP) { + if (this.player.y > 0) { + if (this.maze[this.player.y - 1][this.player.x] == 0) { + this.player.y -= 1; + this.drawCanvas(); + this.playSound(1); + } else { + this.playSound(2); + } + } + e.preventDefault(); + return false; + } + if (e.key == Maze_CTX2D.KEY_S || e.key == Maze_CTX2D.KEY_ARROW_DOWN) { + if (this.player.y < this.gridHeight - 1) { + if (this.maze[this.player.y + 1][this.player.x] == 0) { + this.player.y += 1; + if (this.player.y == this.gridHeight - 1) { + this.gameState = Maze_CTX2D.STATE_ENDED; + this.fireworks = []; + this.fireworksStepTime = 0; + this.boom(); + this.playSound(0); + // this.drawCanvas(); + this.startRunning(() => this.updateCanvas()) + } else { + this.drawCanvas(); + } + this.playSound(1); + } else { + this.playSound(2); + } + } + e.preventDefault(); + return false; + } + if (e.key == Maze_CTX2D.KEY_A || e.key == Maze_CTX2D.KEY_ARROW_LEFT) { + if (this.player.x > 0) { + if (this.maze[this.player.y][this.player.x - 1] == 0) { + this.player.x -= 1; + this.drawCanvas(); + this.playSound(1); + } else { + this.playSound(2); + } + } + e.preventDefault(); + return false; + } + if (e.key == Maze_CTX2D.KEY_D || e.key == Maze_CTX2D.KEY_ARROW_RIGHT) { + if (this.player.x < this.gridWidth) { + if (this.maze[this.player.y][this.player.x + 1] == 0) { + this.player.x += 1; + this.drawCanvas(); + this.playSound(1); + } else { + this.playSound(2); + } + } + e.preventDefault(); + return false; + } + break; + case Maze_CTX2D.STATE_ENDED: + if (e.key == Maze_CTX2D.KEY_ENTER || e.key == Maze_CTX2D.KEY_SPACEBAR) { + this.gameState = Maze_CTX2D.STATE_MENU; + e.preventDefault(); + return false; + } + break; + } + // if (e.key == Maze_CTX2D.KEY_ARROW_UP || e.key == Maze_CTX2D.KEY_W) { + // this.human.vy = -this.speedHuman; + // e.preventDefault(); + // return false; + // } else if (e.key == Maze_CTX2D.KEY_ARROW_DOWN || e.key == Maze_CTX2D.KEY_S) { + // this.human.vy = this.speedHuman; + // e.preventDefault(); + // return false; + // } else if (e.key == Maze_CTX2D.KEY_ENTER || e.key == Maze_CTX2D.KEY_SPACEBAR) { + // //# next round/pause/play + // if (this.gameState == Maze_CTX2D.STATE_ENDED) { + // this.newRound(); + // this.startRunning(() => this.updateCanvas()); + // } else { + // this.pausePlayGame(); + // } + // e.preventDefault(); + // return false; + // } + return true; + } + + onKeyUp(e) { + // if (e.key == Maze_CTX2D.KEY_ARROW_UP || e.key == Maze_CTX2D.KEY_W) { + // this.human.vy = 0; + // e.preventDefault(); + // return false; + // } else if (e.key == Maze_CTX2D.KEY_ARROW_DOWN || e.key == Maze_CTX2D.KEY_S) { + // this.human.vy = 0; + // e.preventDefault(); + // return false; + // } + return true; + } + + onBlur() { + this.isFocused = false; + this.canvasEl.style.borderColor = null; + if (this.running) { + this.pausePlayGame(); + } else { + this.drawCanvas(); + } + } + + onFocus() { + this.isFocused = true; + this.canvasEl.style.borderColor = "red"; + if (!this.running && (Maze_CTX2D.AUTO_CONTINUE_ON_FOCUS + || this.gameState == Maze_CTX2D.STATE_MAP_GEN_ANIM + || this.gameState == Maze_CTX2D.STATE_ENDED)) { + this.pausePlayGame(); + } else { + this.drawCanvas(); + } + } + + boom() { + const colors = ['red', 'green', 'blue', 'violet', 'orange', 'goldenrod']; + const color = colors[Math.floor(Math.random() * colors.length)]; + + const cx = this.width / 2; + const cy = this.height / 2; + const speed = 100; + const size = 10; + const count = Math.random() < 0.75 ? 2 : 3; + for (let i = 0; i < count; i++) { + let p = {} + p.x = cx; + p.y = cy; + let rot = Math.random() * Math.PI * .5 - 0.75 * Math.PI; + p.vx = Math.cos(rot) * speed; + p.vy = Math.sin(rot) * speed; + p.type = 0; + p.time = 0 + Math.random() * 0.5; + p.size = size + Math.random() * 10; + p.color = color; + this.fireworks.push(p) + } + } + + generateBacktrackingMaze(width, height) { + + // Make them odd + width -= width % 2; width++; + height -= height % 2; height++; + + // Fill maze with 1's (walls) + let maze = []; + for (let i = 0; i < height; i++) { + maze.push([]); + for (let j = 0; j < width; j++) { + maze[i].push(1); + } + } + + let anim = []; + + // Opening at top - start of maze + maze[0][1] = 0; + + let start = []; + do { + start[0] = Math.floor(Math.random() * height) + } while (start[0] % 2 == 0); + do { + start[1] = Math.floor(Math.random() * width) + } while (start[1] % 2 == 0); + + maze[start[0]][start[1]] = 0; + anim.push({ state: 1, x: start[1], y: start[0] }); + + // First open cell + let openCells = [start]; + + while (openCells.length) { + + let cell, n; + + // Add unnecessary element for elegance of code + // Allows openCells.pop() at beginning of do while loop + openCells.push([-1, -1]); + + // Define current cell as last element in openCells + // and get neighbors, discarding "locked" cells + do { + let step = openCells.pop(); + if (step[0] > 0 && step[1] > 0) anim.push({ state: 0, x: step[1], y: step[0] }); + if (openCells.length == 0) + break; + cell = openCells[openCells.length - 1]; + n = this.getMazeNeighbors(maze, cell[0], cell[1]); + } while (n.length == 0 && openCells.length > 0); + + // If we're done, don't bother continuing + if (openCells.length == 0) + break; + + // Choose random neighbor and add it to openCells + let choice = n[Math.floor(Math.random() * n.length)]; + openCells.push(choice); + + // Set neighbor to 0 (path, not wall) + // Set connecting node between cell and choice to 0 + let connectY = (choice[0] + cell[0]) / 2; + let connectX = (choice[1] + cell[1]) / 2; + maze[choice[0]][choice[1]] = 0; + maze[connectY][connectX] = 0; + anim.push({ state: 0, x: connectX, y: connectY }); + anim.push({ state: 1, x: choice[1], y: choice[0] }); + } + + // Opening at bottom - end of maze + maze[maze.length - 1][maze[0].length - 2] = 0; + // maze[maze.length - 2][maze[0].length - 2] = 0; + anim.push({ state: 0, x: maze[0].length - 2, y: maze.length - 1 }); + // anim.push({ state: 0, x: maze[0].length - 1, y: maze.length - 1 }); + + return { maze: maze, animation: anim }; + } + + getMazeNeighbors(maze, ic, jc) { + let final = []; + for (let i = 0; i < 4; i++) { + let n = [ic, jc]; + + // Iterates through four neighbors + // [i][j - 2] + // [i][j + 2] + // [i - 2][j] + // [i + 2][j] + n[i % 2] += ((Math.floor(i / 2) * 2) || -2); + if (n[0] < maze.length && + n[1] < maze[0].length && + n[0] > 0 && + n[1] > 0) { + + if (maze[n[0]][n[1]] == 1) { + final.push(n); + } + } + } + return final; + } +}//-> class Maze_CTX2D + +function startMaze(divId, width = 480, height = 320, difficulty = 1, showFps = true) { + return new Maze_CTX2D(divId, width, height, difficulty, showFps); +} diff --git a/src/js/game-pong-context2d.js b/src/js/game-pong-context2d.js index 1c43f0a..7151907 100644 --- a/src/js/game-pong-context2d.js +++ b/src/js/game-pong-context2d.js @@ -41,6 +41,8 @@ class PingPong_CTX2D { this.audioCtx.createMediaElementSource(this.sounds[0]).connect(this.audioCtx.destination); this.sounds[1] = new Audio('./snd/short-success.mp3'); this.audioCtx.createMediaElementSource(this.sounds[1]).connect(this.audioCtx.destination); + this.sounds[2] = new Audio('./snd/flash.mp3'); + this.audioCtx.createMediaElementSource(this.sounds[2]).connect(this.audioCtx.destination); this.showFps = showFps; if (showFps) { @@ -255,6 +257,7 @@ class PingPong_CTX2D { this.countDown -= timeDelta;//PONG_UPDATE_INTERVAL; if (this.countDown < 0) { this.gameState = PingPong_CTX2D.STATE_PLAYING; + this.playSound(2); } } else if (this.gameState == PingPong_CTX2D.STATE_PLAYING) { //cpu actions diff --git a/src/js/games-launcher.js b/src/js/games-launcher.js index 6ce1a67..402964a 100644 --- a/src/js/games-launcher.js +++ b/src/js/games-launcher.js @@ -40,6 +40,7 @@ class GamesLauncher { this.selectGameEl = createElement('select', { id: 'games', style: 'float: right;' }); this.selectGameEl.appendChild(createElement('option', { value: 'pong-context2d' }, 'Pingpong (Context2D)')); this.selectGameEl.appendChild(createElement('option', { value: 'tetris-context2d' }, 'Tetris (Context2D)')); + this.selectGameEl.appendChild(createElement('option', { value: 'maze-context2d' }, 'Maze (Context2D)')); this.selectGameEl.onchange = () => this.onSelectGameChange(); this.gameEl.appendChild(this.selectGameEl); this.gameEl.appendChild(createElement('br')); @@ -93,6 +94,11 @@ class GamesLauncher { this.heightEl.value = 600; // this.difficultyEl.value = 1; break; + case 'maze-context2d': + this.widthEl.value = 800; + this.heightEl.value = 640; + // this.difficultyEl.value = 1; + break; } } @@ -113,6 +119,11 @@ class GamesLauncher { this.currentGame = new Tetris_CTX2D(this.gameId, width, height, difficulty, showFps); this.currentGame.canvasEl.focus(); break; + case 'maze-context2d': + this.createCloseExitGameButton(); + this.currentGame = new Maze_CTX2D(this.gameId, width, height, difficulty, showFps); + this.currentGame.canvasEl.focus(); + break; default: alert("Select a game first?"); } diff --git a/src/js/theme.js b/src/js/theme.js index a93ed70..22aa963 100644 --- a/src/js/theme.js +++ b/src/js/theme.js @@ -10,7 +10,7 @@ function toggleTheme() { } function setTheme(themeName) { - console.log("setting them: " + themeName); + console.log("setting theme: " + themeName); const root = document.querySelector(":root"); root.classList.add(themeName); localStorage.setItem('theme', themeName); diff --git a/src/snd/click-button.mp3 b/src/snd/click-button.mp3 index 4d5fbc33a505b15ee4262e4d9bd8803584830749..86ba9cd110f71d9ea54d5ab138a43716d211da66 100644 GIT binary patch literal 5322 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 diff --git a/src/snd/flash.mp3 b/src/snd/flash.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..e099c9d0296f2fda2b676d7f374f4e8a90a2cc3c GIT binary patch literal 14559 zcmds;RZv{PyX^-UG`PEaaMxgiLvVL@f=hrfxVyW%y9EspWN-@>+#x{|d=5EP|66q* zZr#UIb$(S-`(dPecCWp9?QeHOpAtcU{|~x$&Ngo!!FYQS000780PHuY-(dZRz#HOk z$p1s*4Z}CA|Kaq8_Z#4UM7@#qM)5yt-spQ{;vY+I{Cwl|9}jOp-*{_FRY^iwnwyQ2 zg9F(0pC0m3(gN9)0WjPD`r(?fK>nXM{?{I%PurFN0L(35`2q+)5(c9L76M=>V6w~} zY5{QXxgDY0T;f`d*tB2(FrP!fkOC8K=Pu$5@!LHZ^Fcg7Jfg@HY|elP1CSUQ1c+mz z;-Y>If{O;ipmIWWKiq$yfW8`6fTW}y)WiV*(n2sM@Ld5Tl0bNK1P=wq_BN&a_3tA= z7k>)GpDMwo_a9yjDFRhL1U`sMY(0LV6l9|q*Rqbp#Sx%a4PdlqBO!o%wK1HVCKlO_ zBIJbu<8nvG)+If`j5R=%Lwpo&XKfzgR|Y8Ta| z5hz{WbNhgVjZbu^O>R&B=o!r;7FkuIxS z*^X?2eb1?sf(?e?sw9=Vj4eqoGr4L?eV@Bl)k6`G!HQOU%#)j=l}mD2jH5@niBw9= zyfGV6NjkVWcuGxHw~I@vbQB66`f0b~L!oo}{H*$tO2NZ?J z|Kh~c;6lYkN7Fji4{hytsG6@yTkMLhu6 zX`e4qRk7=Q=*&Qw0l(VAtzzuOZQmx}?J&D2WB(C4c0%=P&;F@-CiDE6`zv=>y<5mt zlL^|~&kpZI5l%l8C8mweDQ`h&ieCCh1v8CHt@Iqi4pg18vVsc)kL9~q`)HG%)YLyu z@`Q`=`E0v}M{jn+MhXLj4L#L}F~y|ChJ}e5nNXFWX^zl6lS?7_CARfb{c4@;=o<|Q zljG_>a^qrfVGL?x{y@IcT1zkcV!)k#M^nJ8q`#rXDja2q#ce}?)!?l*?G28_F_-mm zR(V>AG%i-D$p>jf%3uniY~P|0%B-O5*-hfq;ElfXpf5pouvNApn8lH-aC0J{aW3!= z%Fw8*P(fz$$RSiypCqOcwTy);mn0tHhy z<#;~S!b(Q6)j@e?#e-=difS+ie>nYfQz-O#ezOLD#|%4<79|U*mdiq`r4k%zRz>|Y zi%QOw`x~HKf+Jp2%O63+ERl$^te-P_1VjKq|3(Z`$PXOg_iv?BfKS&QOV^p~i$ekj zg}u|ZAk9RP=4#)p?|~0#uatM%j2xP2E>?}~@zJBju1S@aE$`eP^~2R=Ji9*7GhwP? z?qL3ueVZ52!=hld5V%%S+-ZdS5JA3z$e@$J~>cft=QaY>6iCT(cxC$^^FH(a=zP7;6oB4nNQxGZnyZ2z)hx9kQ)<1#&Gq01j+?`!N_n_iXEzVB-D((L6oy#30^|k0Ir7*!tW+5 zsvJF%83_PCBlP-(Fve`rseb7DlxLokBI82BCCr_T(Cw&8l~u0qlOtCZvr4zLXtmo! z#^GR3HnRa!O5Y{{EEb9JAEW@t~iY)~PF<8%1L@1aji z3bj2MmO{ZyiiLZI3trnviXW+>P$XbsG91Dx3~QvT(qEo!P}3ZPutSFQb_vm!B>wbO$)?3%o^E^Mx3A2c#o!E>lpm-NgK>}QFW7yl=*H> z3{6xyapvi`Zwg`^2N4iEa&r}v6-9|IlKq0!dt=_Yld z-`~Z{<)Nwpt89lxx$FWFBlQzthU_QHOq08LuDX=quUwKhx@j|8@TyIeg-)z3HX_Ry zB{)h&7?&1l7%buxp7#X!^|0fzD9y@}SwcT1(=9-s8ZB!8@EJB6P^)c#yc9|QIVlXj za+c>gCnqu-s&j7;)dquUZdQ0=M@qb#WOBAMZG68zNMu0skKF=&3e!+S{KvK(dnUFVSYO#$At*<>v^3$sn z!KW+kEWy|Q7qQ1B|6Spx=k;OxW`3m1J1LGwXU7-PsdoU>%^JN0Ar`-}%aykKoE zJS(e}la(iDKYJ?;u6_(t_RB1DEO!cGiIhBujLDCT%>Fv9Vs`o&6Ho zg4GCG%zXbpTi;i~DE7!RU%~|4FF~RYolP0mn3Z@)(QXQ$(5iiN@7F>*hT8M&R>xKG z;z2HZ3G<9l@#Mw`trYme@*s8El--TAB(StW^fA~{GwK}|4Mpy}OejwjpwltVYy2RA zR*z(s00WzG^su+B+h=a?!RdDw5HoJ(2_)rv9?r+*?Mb_W<>1(|Vz&#C{J72@*m-rM zYAv-YXwnzUdzi1{LkT)G?jIed5%Zc2`|fPigX2S3_A3*;Q5r`MBGkW8SN&RoMvZ`E zl#^(h+=msG4EZ{8!~p~jy6s{g*1^3xl6Ki|R#z`MoA6!p2Nb+gy}xXLPO=_MFLAS4 zQKMMnqu$TRxL_4ps!C>_V3*5qaCv?4YY}fx-|ilr zmBoo@l;c2mNYV`_t8Y0LvfOZHG6i`o=&KO%zgrs|d0K)~FRJElHz(XbS`u+^c3`Fp zE6Ar)Z;4U7Ts~sCjF*>6jLj)>QAAmE_)=rvi1oKAyl@Gf#8> z)$3na@Z~diK%OTGtKa=E`az|P9zZ(!kay7lFZc#Dx)=NfUIme`6=kAmdeeG2oF#fA z@vl<;%7aj-EOU^Y1@k*Zu$qo57?b4fl*#`9z2jc`V$@SL3;+NXa8h*V!r_Mb3vGd5 zA_?CVrf>mj-gY7UAWd5yCYWq_H4kLa)mK(Qa)x09M78J*1#we(%eZ>8B8>TqjDO}SJWslImEFz1}q@#Yg>o!9B4w1@(RhRcekeOW2RojuEe z=in9X4`NLoELdQ1aTqXXB8uBy(?YwX^tL(lsnBv7%nSQAKDlOR_wq6s)6OSyU)vOAjKV6kc&fH&Z6+<>YoeJX*VEfZ(XKoU zksn4D94h}r$OYmo^gRqjcIWieSictdIMgT+6bAIbny7&bMi4b;J|(0sGzHtjzzn<% zZ^mj6r=FW#XIViFdaWDL%L6BV4rZl{Q#%3+C7lqxwNEj^pDJWyFWa=tTJBVVmWJ{j-U@Mo!6+rznWqZuu3 ziIz`W9cj4=j`mt^REs~Z8X}S-8+=Gj_H*Y+=OLhmN)p?$uC9K0%S}wCABuk=c2jls z{de}OcmJW@F&85L%RP7h5#g8O*=%N|-g#XBEC7HB=L66UjaC<)i{PWN$8{vy zEV`qBj4=@aUpQa`yowN2jEu7Vi85|XwlL?6eL;?vuB9O&5g}D`j(+AbChYdnx%t60 znI4u8-IG~IF5K6gHj=Uo)eKWEW{i?pO5|hXL~$WA)wnGhGCuoP2c(|t4dr{I5SiHE z!ii)j2wOEGa<&M%KqzerOg&POX4YBt3w^zNikoa&st<6IHy1rwg309lPF&_Ab9aLA zojSeQvce`PK@g8~S*bO1&!gPfpQj4Kb|@@eY}^}2@noNOzoPC&@&MojoXWd@AAMh* z4ZmxNB0z+b*?yo~$U$tbw!P&K0MMhv_vLM=7@si|KnMCc0-+>hq$+XH*Q}!GDEEj* ziS`@~m92Q#YllOrALUyoFKB2JWA@k0cg&&lz~mwtaUEbKY6`hdV#+Ft$GQSOup^0; zA=`l0m_|+D&tzJ5vbhm*_3+DsdXasE-V-`XG4A$Wl&x*eBx;kE;B&VvGokxw2kzJk z|020<^@$Y@3k{k))epVyU*VclEKtv?wsWCun*-)L-sNA23C(}vyH3U8;KLN$%w-tI zi5Ep|M=Kr3y^kzLA=WzISz-t2sz8NoXyTtl?$pAuF9@Tk^$Z>B9NdSYKd$r^|)nq_s)iGj3F zck2HQ3Gj|ATR!~~e#nwoL4j$=Mj@s=;|!(Um_Qx5huG=BV?8TTJq&e+ep1y#GQL4% zVqZG38JI|VLq+@!zLbtgsIpHD215W;))<)N-$5eVvNxo(4*XUg#cWGNcmh=#60cww zfAy`IM`SdM@SbHX0<4gb`jdfrf;Do*MJ3^Yq%Kyy5;RE~=zvbxL0V;ORMzFsEq{wG+V5%64Nzf#gqDIlt6l7hx zi|o5hOv+2Wu`X6`OJM}V_1f;rJ0sP3>i)H7T)a_hZ>P| z3b7jdAeDVO<8cRNvC{WLjsyZgxh)C3O#!#|vlYe*dAqDErqN`IE*-H?V&TzIh6DXJ zht}3M@^+w9ql)Qi6*M1muMcvpOTMb%Qbg#$MEeiv<*-q?-rc6^9J}7DgwfUhvdxm8 zg6C%5&IJ^Dg_%V8k+-%g(_PF~o9mwv{(y0#taWY>NO#4@?eo!gC9#>ZEFiS56R^!y z0r=#%nyN0l`4-qb3~eZVmam0`v%^!|vkFBFHr3-x3L18~Z$(1a^Zp#S1@9sm|fAAOq{P8b+?ks!NAYMDfT@{?* zNpksn*ODK^-TF-y%Vn{J2L1gaeo&arA7v+(@qK28zfk^`zc(-4wiPPBaTfR$M$*+Z zbPZF>va$^rAzx3^Kg|(~0~sS#bj?c^@myL|_8-B)rGd^pAEvfs|7c_#U+V`#p^wYI zu9>sYF|lY{LJ2w4k>EK8`GdE^*Gz9YEg{I4dmy?~&D02LzG_9d z*U99oZ=e>$&8+(qsOaV-%3t-VY4zV2jy0gjW^@a>1BDBZa06DA6p=~)=!~jWpH{!$ zkd5TL*TeoR{j<-X?=@^Tuln!rpf|F&%5)n@mo%CM3KC}e&?6o5{zq9Vt5>p2xVLbE z%siV7PSxgyl{vcQmfvbTn4xvu{95(7;gnjqCn@E996lTC7+$8e-)LW1CeGG_q!kJ| zs7^jEri5JI=lIHQ>XHA+5Bj3=T3W4FP_yPKK;qb@ET9CZ`#n^ZLBxy-hm5%}ZdkZ4nZ&!HKzVHJqCB&Ivx5@L z=~seW$UV2s`wR&#QVpcD)yL6u7B(J4o$3OS3cG@YM@|vQzco53A;sOr~ z!e`zYy7W9XEoF8|CTeBO0rU9}h{{n`fXH=;Z4fLV&;;iksNh0Z`Po=Iop~pn#~0@O zb>#OgJHy>;-aB56)N|``#^6HkUji&ns1uBo%nmirx^tFx$aB-G#Ilqfyp7c{=AZRo z;Rd42d@nEsN+~>P09Do`@R8>4{!pP8Bh%0$@HtEU7%ovFAl2gCuj`7627)oE6GU)- zKN&QRcmFZrau4C`u41dWY4}>k&{OB=&y1C8_4=$pg0VRBoYYZY(78Ep#+6k`FGGx? zOtP%Z7Is?h@s&!LQ9MiNV|0(*G6(uwJpZ6HB$H>k)Rb~dmEh+NC()*?cQ*cob6yi) zBqhJ!4o?{U3wAhl;Z5G?J0Kns`O5geOZ5jBxM!p5hsu2^0P`7279ozSm1lG=${e)H zaw>9JjQfl1v;^*!@dNw59JL_Ttea_EsM%n_Taa%coq89E2Wzl1jagYiU6Xh#MJrx! z0)=9lO7E5~Y^9b!LdunY;2JWFdnf`V&~b-XSwHJppyUyVl$>@NBs`npYM*->y=e->?!`J zcUC^~d5l3z;HRMj{(YXz#qpw}g#joGUbL>Q!Fth;KWRexH%-&yMJ&UMvG5^Ur}BI3 zQRY8-DXY*seiIi^kCy#f)W)cEz*m`88F@n_7R1~%(zzE{b6*v|iU&auy3M{50-R4~4{m`Ln9gQ*-^Q_lxlaPvCD=`^ea-p77AfM0uABo;nVsZef(Jl*n+y z5EPvxEd6S};?^fhA6`^FXS69RnT5nk%lF*c^R$V`*lJDNdWtEh3XCAH!XC_58 zSz#2au*mVhx^WX9;O2WJeBDBKKL<=4?Q@?k?WgyxYkmB&F(i+8*t5%>UsBL9uikRu z9#c3dcb-HY(@z^ak0YR0#tku_u>G|nHk^DR@2UUvyFG)?~LBld3DX zkVz(Fu`hrA3=m$DeW7hxzW-X8>rrm8`6fA4Dk6@tBTe`5s`;k5|!RZmwJ(EI+oGLlmhH*Bd{3c((;BTb7i6U4QER;4qGk z=jk6czpi%r^01tx>Z#Xt2y&Kpm4cj3SZkEYv=C<&9w#nJ7H{UFqq$gZ(?-F-f5%3l zX-_Jxxz2aM5t^2Cps4%>)>w4fC|0m9F?+(qtrN@zM zD2(tV45m*P^QwApm+rOqZ-aut^IFEwUpIuMT^opN%e-*7Q%)=n+M*p%El!{KMteDH z)#qpyj#O)iJImVo9WA{5aPS&tD&hjZfxP<2dv~g$j8bMtfv5lgT7^Qyx38-~lq6H} z{>r`}FbZ_Ut6?7c@-{2|%=w|_HvD}ER~a*wH+zgvnI5G+(FRKE^U`}%sZEw0dgH6(axULnt{W5n{h$u7nSO4sJMAQ!rqNy%6GvkajX) z2$7^vfOwhPSVN%gjytTS)d!YkNm5$~Te~bjDk?uIYtM z)RVOi^vyK69cR+$HklG_e)V2jHYzVQ$_(|z@Ew&6v1+-=^YckaRn|(Q5KkLs}sZ!i+(yO1EP2{1jP1_HvaBXJ*FkJ5?G!cgj!hZd(y_ zFBLVgD{(wsWKQY>T+sx0vn>WFIu6kPH?MxQ+MeIpRFmNWFnX}TZ${0g4%Xn+aQi`v zzc4bwwfJ5@=*KH8Tp40ioekTL2^w@S{Nm;bx;6A+QuxN}?T38>bRN2)(2b_NaidHh z5tL(%5-GN>f%#}5WDj1s-*w-Mn!n=Ni$!5-nyy3_DjYJfg_IX(m$YT@Y6v$y7@PA= ze;q~4mg@(a!69QmtT*3}YT5Smw6T7BL~!dU$Kr2z{4o-@(?Tq05U7DQmILn?AjWi(;LJxnxDbLB`VQHc{=D}#@<5#uN( z;ozvfifK#%J!l$0am3LpA@Yh%q=8#P$6tX7S0*8*83POH#g? z&S0+QgotO%gF^0`_+^;ZL}Mpa0S1B$^%y&zdm^6PT3we4%%<-PFx95X5 z?Tn;suXMXcGfwDOR23T=1lt@Up+CX}_;XL62i&;DXv}^SyiL7$^9{??RT-DQ4nN(* zge`IszMlr3IoUuBa31-grD`M}Q7yHS#L&qC)nUz?X0ymZ0s_`jVaBz12Qr2v zsP2LDOZAusi#jcKbfl)#FG~apDi&!AB1n)nm#X|CGQ}KW0se_bGLW0{}tcG+U$f|E5qRVK?0bQ_E9-|g$G zG2?ZahShUk3budDJZ|F4CIg_vnVz}71?72~P5Qm^wObS&zxq!olqDOg0*fu;zT1}s z$K`fqNjp$Cm6ZuZf&npBOqoXTH>?ZHo$L#2NF8@~6_Dr2zi*Yk;&(zM_wPFmqVQT5 zhYF#TpxU}oq$7eMxGm_SYGB@dPAtA@j?bb%$D;0#x>#Yk^Tnnj=V%g@0RQp379dwq zq1l2aV=xy0PKCfUGK^KPNY$cFm=G3WeDt&30mjaNgt*d2GVjK51U`SJ6TbX zUwGDNktQa~$6E+GrjWkaG(oQgIC*9}-C%%LE~8Qj`n7}PMZ<+y!Wx&>50sm0J^!6!OUyC8gi1T z#VUo2@kZA?w9a;1DIvd;XCFYErzLHnn{enR+Tk)LbshM_wd{87t&v&EM%^D-OTPBP zlw?sDRflN1(J*T47D2G0CMqW%E}?xj#KEw5it2rX%|6lFhML9UkS$+6TX6vZ3_nJe zB5@iRiQ0(87zu#Ybt($1Ib1nlQ=i(}T4yMg(xeW2=QBbwgA}1zAzdF=3yHlNin&)W11B_@R~xpc4n>a%{waM*%mP z)cG+8YE4NJ4N}A^(v`z|aI^kEYCO0E-d>$iNOq|Xm}+Uv@m^$h4lX2gxPE;(JAE;QSK3~3oXP%#NmD(Gt-wer&St?oM{eHjfjKI-Cb~LY z+f$02XVA8NGf~6}x!lF8YYJC_FE3S%UYZnx5=L|Dn z49NqfQ8zZ;YM5&lsZ-kja?_WD7i6>lWp(+HjpX}EILqyK3)RY}i3MYx0NtxG1&r>D z#Qcjk#zicSYc^T(FrR@qEAoxgPpMODL+lLY{&l)Vxe5Bt92L?b(g#CRERW1jNt%WfcV8=mZ&64f`3+E*x{nDL35ygl28NI_%84gZio=>0#S8{AiZfSl zO#K*I)Ybb;(qeNS8unleX&1WUCTv-2Td#37tX)dvj3E2M=cHP7Tk)_r+y zP6gb1TNwpf1S4TstG|8%z#yScs7!4GsF@a&-&R2Y(YQ{;c)h~LP?!ttV4oZDohzceI=iRN{Iu+H%&jwAhETs+B{L=O>kDm+7Ww2dCVh& z7TGX=Q7y)k(>bURG|5mV2fky&W1zs&Pvfbgqb*`{;OWPlNgPG|9A2a!#ta>*!70nC z&Pgr5m}bB-t!>BfUGmo^a&)QcQXDu~knl^ZaePM|DW(1>fPn5`8-p(7{`Td-!WUU` zA7>qw7IgIyE>&he%-Z)zk&Ehjv|P`l+zF$mpB){C9S!Q>x>?BtcRIePVNB3-oPQQo zB+p8j+;2pvHfl1t8M6DGU@{@bo?V<*`lX^MGuNBgUSDLtYrNR?^Oc{*GJ|21Q`c1g zOzSP2Jp^)4u_kvR_2bXiKA5b`qMRmkXNy#vwf{Sl{*d-*s8YR08C)dm{eobg@(JWAO9<%=oMuk8ZC#H3EvDAF+2O9ynp{;L zfW|-b^bSlpUio{VVJiBsX%$WqZg!Z4oH-T&-9lM;PRQ^ChsgMe`3~x2SGKJccajZQu*9->>=(Yu!2Vs#q-6?ZK68 zU%lhlvOJ?`kpyXZPOI*(=4f+2FsYMA&e()!NXaAYP^*qyWzD2CVysU=)!z=w;;dXT zBHed1>WosF+;wQ37p%ML{~G);8utIxyS(C8fFoLAq}XxcFH3>`k{hU0ZRymVxrsTl zzt{KDmZJc%&OuA6Cy+Q1N}RsTZM{7nP&V4~WQo8602jX`_J0D<+L3alQYv|jtNoRJ zOzTEt3gX7pu$<^uLCm>4n4q({JoOpxay-AdA=zJf*gSdVt*>@1F-2=3->5Qx90|8* z*lal3K)lyFL-@rC&V1vb4?TDKmyYbMI3-CqFWSHYu}{@x*w|nc@ei}a(&AychX%vg zp}xoR+HNee@-G@%^ZRXy9()Lre?%w*=vpdj*}P+9+h~;j!WCsoO2w3vkBa9ikr5I6 zj%ACeP40m2)kK1D{rcfClbGr_#awphZPaau(N~0g&>z80+TY4O$=A7>I*F~UsUY_6 zA$ubict-NXY8>q-BlGLkd2iG6H z)&WQdR7o=`B4qkyYG17WiNzqo!Jhzg>9&YEFt3YJxS5k~K_?zmze`8Zu`uYCrtPKV zX12Pb;Bd)=))6|?NBu;intR!vq&-$w!^Yw|p3WRDpDE{V>0U>j(l%`Hlm8+mdU&Vu zAx+%it!&sc5C5zQB0{n~ol<%CksR;y6*587gyYuqc;@FdKvziN2>h5)DL*xFE*d_4 zSnHS+0eD%7b)gMP$Apyf>Vr)jIF?3*wkrz$G7AcMhrIw6hg5PYNQ zZ|)=SFB{d%W6Vk)wL0|<)k|Y{l(+#>!A+yE4O&ezmP*p4Ey;xd*DGmwIaN@es1{+J zP6hoA{Rdq8*v_D8jzd}7FtxSW+dXqgb`7f@qB$>K8J&t|g+^WU*UHmKR)#7b!`lys zlyNE@Is}9(S0DVIGce)0HEss?)s+WbLt5-zkDWk@mey7YY=T)@9_FfJUHA*OH3V+}5OggC&XthEf z&Uae<`#E`GaX>O*$U{KVTFpiq~k+9KhDaN-6WJ zUxD-NsHFzB+S2M^jZ+GxQ439vs>H;%HFE!;PWeB0C0vlJ=OGK8MU1hwSg3r+mqbx_{jvUD` zQss^FsJ$RY>aSWlA8UP+nB%m4RvgP{(18y zdp&*5+hZl5hQH@Rq3r7SPG`!#_TyH+)1JLsK;Y)as!#0`m^*1UISyKzaOQM88f?0Rojdg5(%p#6jk-{*@mGA?Wo%DBJ(c^716hf9}T1HO# zq!xT~H~MZ&IT?d9PczjYdZ@;!#S516$&Xe-5ic52*Cr9Q+{sTo&R9bHI?i-^RZkob z2YXf)=`7`y%&1VO+{p7p7A2!oF~Ieb14UYq?jPcR4u>SLX~&h$^1SX9vS6E91#zk()ntKs_>KPhNY<$7fIz6h4ncjuL+U{Gs>Nuk*7kM(?(E{NJx%^MzSaG^~lq ztNUhR4#aCtEl~Xf>Mky-9<=qQro9qYVW!gix{$#X2k_#@4wG|pe;MxQ%h~u}e_mZ%xr-0AJkz|=J`Z;} zV{Ruo9~$5&=1ZOs+t@YdNXY)YX!6gp!HlpvGA>87- zxM~sv3CX;26t4(da~j#wZ6poI#iN0T-*KnftFK`7jwb47ms&~)#iJ@ET20d>yVZ5WSavy$LqV> z3X|nr$WNnRCo()XQfsefKZJg<_jYAzyd$=a;G)8g?4~m32%^aV+bZd0->EX`r*cOW z!-v3AMg!u@g2N_?Z)9X;i*r~Of$uWtx}Lt!fA3IzotGmw^jM{x3;#GhG@KP%KfR22 z*`Zg-Pjm;R|(cunYnhcLP zT1^{Ola?rW)m=E#H&N?$#nsPX z>uyM?ddYaJMoDCGCYgne==hYspKCQIlxT!l3-dZd!fw(2K9dr4Siu+7-`U)s40OSBL1e`yF*_1(|xJ0CO|*a{hLI z)7P2ytg}hT=k;7o%MB&m6m3DN5}A-rK(vZH%toncxeTVtgUGiEm=Z1$1Z;hA2e?VL zr&_|!Z;9X#>^g5)DKgYTTz@tg-qGB#=Vx(+877;Xsw+fc$N`?C`e40-cI*HoU^Vq4 z?_n2({0a&?+?b&@^8nRDg*6Sny#|D+zKwp(P3^{`>AnPts-Grt6=n5y7ldHXc3X!+ zFjPR4VXq~OFkeM4$lI(rT_{bSEyPr>7 z5UCsP`BusV-GYJY7K@%{0N6OC)A(9S02OPF;zKSND8|hsCI|+QCmClAg{u)p*f=?m z-!Lm;p7$$n)+(zhoS2=nf8T4oZC_5;w43!K&Dl8TM-_1FlPCMP1fOwb)wiPw3r*qI zzBC>ZsND|yZG6HE21&eiH>?Gh8A6T8p(-~x;GxICp*m1V0}qr4av2;%A{_+m1WDp# z1Y2iZh-+YWp3DyGPx>^10gk{x+z#-N`%kG|bK&HTYNXRIcd`x5T_=v?ye zMt@COil$5HDLCuItLeqcR&7)|2MZE;v$8AQ)aXkrsdi3j^qup>`VSg%T!Cu%aeTK2HuTaj|p0qIDC&eRm~=X^uA3 z9Ra>C83?5zRz&wshlfZ+Virb~oGYb&kc}@I7E+`>5Gu<|p)bg;JgGvXmCkKV5>z*t zk`;KQqrN<$3v;y0ntp3JRiQGAR*kYO*m8+3i#EIMJroivKToPlRKlB`!e&Ghr!&u` zoK%M|H!cP}tO$J3-wsw~85|=8$D+am-%9de03nPGE9pltAvUR1kTkr={&WrI51!|H zdhwr|El_iQ`H4x->S*ZSTIqKJ+4V^SO<40O&WZ1%`acPv(9?3Mo)hPZ^02S|gCUB6Z@Y7h(tB~d8*8-Rw;8yYE_iLdDd;5}$3F2O ziY!`qgCTce0jhm$5MpGohUD;w4t=oJ`9IsqwEjndK7m1JV0a3U_cxpn5(0!J5FlYq!XlU`S=dB`up^5iD8!X4tPTn&>gXUOB<#Cv0d&BH zxC~-|85MPau!L1b(NUC91VNldSsVv6H+d_}J@55@uJ_CP;klkqPg8xW>eR2Qo9@$9 zr+V#q!>L=;c;Wrix5s|j#`|WwrG{<1O|3A^miQ@% zd!x;h+G}>3<)yph>5I7|nxgp71*o;Q3zHYS;aJX*ipL(Oca5IbA3kqa+4DQ3a6o&hFF`KaqW&+!xG1Y*pqm2m`-<9esK8z&zz?aimSrZ|o)yZI#}_YyN-bJ>-&( z{QCK3Ly1kJ;h|Qz!~Q~Z&h;&Bhn-ETWtQk%cGE^#yS7K+pRbE#(<$wzw`{TgciZys z_OHVFU&X(eVn_uf0djEG-^1Mg9_ zqetIni{s~Ccs&TQz`sx45QgQ_idE4}B98ZrRn5V{*xEkuEM3NFScfK0_raci?O?ep zL&7hy%WGoTom$`gjAQl7BtZ-d6{R#d1piU`o}L*O6PH)tTKU4K8;bFBiNBWU!q3*@ zKX`no6uMx1zAZwKT2FuZ9HgI92OtEH3gURWQyEVnV0J z75@p>H*Jp2D>uj4(#V7Q=1za)Yn+IBBoz**`Slkvs=pm9I-c!&x94K;mAk$Dn~Nf& zPoDjdrxkQkp-?nkJ%4$9#4oHpqx!BVF7CMU@uTgR}3?zOk=8Bp%;wj|;{~uO&ijf-!>?z0j3C;*IKd4`e@=mg7Kug24Pp~ND+HEIuON>f2y1sSonI5vX`+4 z^rxVegP_6*1~g@fF5Edn6hrf)v0{P&9gN5U!3n#74Ce14mZV$@qM7!t8C=Tv0{MoS|2CC$WY-P^Z6p-&Ms;&OL-&@MfZ9z3h0n7 zcmtW$x9H7)!IL+6V_baou`KH)RiX8?@jlZYHOgkLe*C6x$vadKD=NSDCK*=CnuWHq z**S-!?^)R#y>ySmINA~C8YByv@?ugibaje43l<6%_u`5~k#W?Kf}+UW&|B+GbR}=N{g_aqDQQ#!nFYk zqY4uN`W_e&3_T(%O#F9HS=YyB^PB&(j7x`gzMeesb>3`Mj_!onPoDUFo~8gg-p9Wu zW8{|U$k&<9^F?1!oo`I${QyK@KdMy2I-?{ptI8hpoBvwYRwxw!K?5pb(&X^6pF)`Q zoF+$gvWDmV6w>N>B{&V2fqXq5ox>l9#vf5vLk<9mq<>+Ph&ZZE6ezRaG!fBUdj`(aJ3{>p`ph>3cOev_jz zlOq!#t+3mj-Y65<88HFUEs$&`Zo$(|-qIS}n|x^aNE-LZp@*gs6P3y)kl<+vN_{f( zu*S>Go70M6E$OWd(!EC_CJaqVizt>MUGFPKizv8YM7Wnjmun2rz{KGy4g-F5h;Yxk z5`i=RyK@8dBj}0A`@K3Tw-JZEHuH*S(G#jC@b~-qADk)0(}=_P`w!3)!V{F@x43r1 zVS+KsuNEza+3|)FaUqjK@qTsP4x>d5mf#@Cu7@bN5JY%}@Pvf|aTr=xGG9C`JYn+Lz~=+FGNqTkQ{HExwnLRZ^pb)|@%ug1obnGv%%#x)s^5d-J6RKbcU*ZCn-PWLU! z_3Xc>c513rJ1=jloq8NhI{a2gZF1gmNx*xo=LHKmQlTAo3GW~*s}TZbs4WjLHd?Jhe=`wwBW5)+6`W;Hu46~aefVfyip2D(1J;21L);N0t4HNeAD=o ze=Q(bbJR5cjmkwtM`RZ@O&Hl_yc~t^n+Mfi9km<0Vr_v@FSf(8;4QHO|IM2;)yM(g zG%$h|;Sz=8B@DwFdj~LjvtR)Un#fD|d@uD&6mW{?F*yjANp?HGPLPaphV&eTIU{D# z&TgoQI$mBo!laaaTc9;SnGihuj`lcxaMi1xn zSGq~>6aXBuN}$ccsaTUdJG?3km78^Cpz8{Q5w8Nh(10q0oV=`ls_s?ITp?l@Vyvrf z17VrQ;*TI~7-Cicj2CJO;j#G=qUdp@dSUx1tQzmz0TdqFwNqVf&N#o^7Pkj-jtU2X_J zh6@V;?Q(N~i6M*tZAfUciUB0r6e8Yh85n0|KS{poDogxOJj=lW-=i@hz4~;+jE+&zOH-W0u0O-cY zUvEYujo!32|MKwnmbO!>b*`!&&yL3K|NZB-o7+FB-#q>xN<1{~)){jqvG1$>3sqgq zKkG-W#`n6az9hwh_4$8piNCj>_@8x9zUljFoB>tE^WGNCzZ35J_(V84b!qOX&oedA z(`%DYZY~dVT?Y7IWuANn?|SnS`H#z8QX;-zCG8p9YP@vhx$x}M6^g0|n@BXC8mYN} zGp4+&TY%+0!S9f9x-#qh_F@p2Tm%`3IMOh?D_^$DM2yL2=_dMU85GIvV16dqGCPvY zqy-WG!)%tVU$9QLdanA98tPK7vP_ON_k6p6m5>GX`bdJI?!$v4&?7wZ2z-5^8L=z# zTidXZ)-D^Q#!gSC5fp-lXF*Vj-Hh?{5snTj2tHz`TWG2~plYe=B|!G*4H#~1-8lPT zd@pVDwd28qqgaI%ln-IeQ%vC-o~~Dc5~Q^%mp=Z!GujrJQUB~e^5`=s7Q(FbtqzLS zvMeDfLdJsNP2e@l_))U12G(8WvVZf;1m9_7y!znB#6PP7cvV*hqnpkIS)KWc*G33< znUB{ePm)opG^cHf!RTw}R?j%bHm|nYT(>Fje4G?bi~PLZIwSh=R;%v=95pyxmi~6C z+ZJwU%Xjpn>K9d@XXrfZa!cYE1!2N9)HkJCqQ;O@Oe!m+e4R{b|5(Vz@8QO{4?Otz zbr!616cSDIKp#b?{6!HU>7-VOYrBzq{~mfww(})2-C>oM>f)3>=1}xKZ3~t5q=c$_ zfMT_QA~`?}@TFi0aHb6lCw5dr5LI{$ETq8M zFVqUD3C}zqYNe-()z&anfgxe#nkq1~YG`PthG`aG<*i6hRmIa6y+iH(V!)>tX<;E& zU0zF7G<67n9X=Wt2Y{zq}li zTJFNh6I_cS2tRS0pt`K5ynU>%LLn=KFJn`4df6$NvYncRJ^iZpB(w#=HPx;8R{G<7 zJxg}(3rlvH`KB`ZqdQkq8sBa$)4qDAgLfYjteLVJw(po34D7eG_8-lQ-Ou#=UEsW}YISYg?dG)FdS%A3$6onT#6Hz|bC zgeI$4v+|fkrfRURQVCL8lP-mUCaGos>`?cV{#bTGGVwI`-@6`u~{B4Vg7I&jfE7e^cMw&TC4~!I`yT7BFB9_*jH=}$- zOzSk*Qq6QOTC;wl>8f7TTJ!&Tc14E}1|J}Z5EqWxmM#eEE9IG{cQ}Mm15=| z#&{jO_#?lcD=rH#zxe7K@05qr*78!8b=Og?eMJQiQy_D-LUBMTltJ^RSfnLl8FIz4$qFy$l?+B z5V0-jslf^*@EIK}h82f8X`f- zW-y_gt)dtu|Jb=&XWgh+d|U;yYpt_2QmodQ^AlR;Fm>*Ac5NV2UgY;Jt9%9n+A#SS zu3DYi3+0P?D{AWT@)~IYJL}3GY`p3Y-Y5o35lZuOgGF|kc0y*nD7aXiAArCn<$$HS z5PJjK^75ccFl^keDBi^R(Y@DO%d?30gD=zY4qJl{a@FhdW1aWlFjy56tjjADRD?2R zjX?#04A|ru{MG|;?OgSAyyvxIP z4;oEKd7}`=6Q}-2EUJFFIXZDQ+B3Ne)z`ITlpU<9O|?b#KrEp=8Sf$^1wR}I7WKrw zzxEfjx1Lgcx$b7h{*JqyikF0Rqa&(90Sj_awaYVe&_JMRb2ro`DtllYEae&dU)`;< zSKN#Ox8Z+op9jVxPeVco;kO5#>J)xg!5G|ESrptWf5>D9`$HPK83$4RP;&3GMz9dZ z9FpseI0{pHlW&YTKFaO(Ifzo)zZvX@mIRe8!2T_%2lyY}&zs0F-A^<^h;Zkpxi7lQ zXRNetaB2Hg&bfvh#_}J(1V;oqV=-X~x`gZMv9_3% ze1_Q88JK^BDuqBE^eR`;E7X8f@R+U(0t^(TVN0>S)W!40XlO#hF&b%Iyl@r1TOTA$ z0v>@z@CY!nSYZ--k*?+p%UgvX1ldl(>&rn06~0DSwyFwNS0e&WQZe9r3`3$Qw)%1j zoMNlH)*b}$>e3&EcuCe(^4*${5ugDh0Z&Yjia-S#j8p{!jj^3Hx7De)@}u5M_yI<9 z2CH>QOdb3Z-rrQ}zqf!n~|F*J3Q~#!Xho-AZPEr46jQLg_q91b( zci#2X(am7#*Im=4wQZ4CmQLril|Ef6Z52dzFPT4`Ht%mMePn6=;-cnjZsZ7;T6om_ zk)`JKG0mq-)G|wI<+S+-*F2|y$Km|{82{Dx&Cs)x z?2|Y4#cjilH43r>;?y^1U6`(M+p4s2J&l6w)Hl0(TvH#I(sP2;+`!>(KfB@h`>BsxF1eliSoVvsOsc7HKHsi?P2HW8Ck=nmRq8hRb8zMD^^s}G#*s|LqHS}!_#v%!=-FKL_ zsPmD5Ln^I8NvNq)Gma5jSpkn;VKvZ%%Cuw~sBf#GY;`@!oa0{kE#760X%^TY)-u|3 zjQS*%tlh|eB5}>Ayi;Wsq}@4_6V`K{J^Jf@P3^3lD6;EG_LE=DLY_X6yq`JTakx0^ zaAVGPQtINZ@YGb&F|w=4#mkjc0vTv9V{(bxHX za`-)OfObS1L7&h@P=7|9qm7i`pszz7pp6vJX+{NfDyQ_NLz&l2`h@x*^=BUfC0yku zZDb(Iq0F~{b|l~cm6Lgs`m^p!DkpEiv4D9I(|yzFlb1f`37$;ekHpl`X9BAb4U-qFp0Dm>NO?H1AE?P0SdH9YPHzaawOuLokn9Z&5?Q5RU)=(=FYL z73ar+o;Q~{wRU2=%-RUMte8Wyb{9mT-VtFDYr*~;;e`N_{n^47kSc1ASni#Tysspk zHl2nqF!2~`DB3avIR+RCKu`b{ftC6KDCF8T!IMKti12S|b;1NdHekQNPIvH28n|=V zF9>&O$!+Rq)af@yPl!P8KF|GtIz8F<-1z;8Zqf~Y^D|c8sPX&b=>7Bge_-z-Hcs|U zXrNih2dIS(bN`mK1JFE{q`D_1kVPn(_6_zMwLm4@C4-kh~;hM2ZGsve=>SPT9->t zL4LrezDSxcq6_SJsV@$r#SB0i#n4b<{+L}u>QJI~O-MJmH4fT!|J)D!5Fmh1V$X^P zXz@SyEF`&zt`H_jikuaS9oYlUTW|e6G5+4>^3@A(3(6$f>)8!{Rf9gUv9Y$Rh+PBW zh+W;PethiJ?Dg^Ch=THr>~PkvHc6*8`dz;Lt6xEBqRfQ)vrL&g2X2gs{TrJ&ohtfO z<5Zo_`tNWd=i3Z!ZN254T9;}Ae$2+E&w6M`eu{ju+JrBOXK~&cp&COPmFA7RcBKi8F#Yn#iu)?u>|5V|V6iFd(S` z4Xp{MM1*_HhQlf7&Ti*PKuqE?5K-OEb7rfnYUzNhT=oOZqQHJW2Jo5C*B{pi%K0L> zk_3&K9995AbX6^*Q#DCy@)_0XS^YuDdVaD5WAFf58Ux5uuTGI`b5CN<~o%gRlJ#{|+Dtq(sLoXe#=^1Y_h`8qd3hV9s%}_hl zDKm=dG&n}z8+e<(7tr%}b{uusmpw=GxL@RSUzp-}O_<`8u#`x~9 zPDA@wk?Ejb`MSVpsWWQWXsS=%lCjkJde}%ojw&$vxcM)6v*KMwXO(^5iK)APSJ}Th z@pWat;^ESYf}E~tai)Lz`^e=JU+-PL)&CmzP!@#~9Wjz#8ltf4`=W4!wAfQA?`J9B zN@b^#rLwKK97GCZQfzHInZ;Wk%38pteY1d-hb&;W=d%|qWZx_pfmvc*Z`?w?EUqst zP9E3G?4XtOuCK?vHdv@x@W6HA7Aos;_4*4{It9Zzy>T*mY?^=HY+77zl1%QG=HEXP zCySG%rAG@ZvMVkLBLe&awgyH7_$CA}tvqO6R>W3sl9i1 zvgK`{jD4$<(!PoUlMJu;-5awm|74HkN$%h;pBz4JTRO3$%mJS@O^QE2iXGEwMN>EW z^&rdaX$cPcp1?Y7y{EtRwsX!Rz-XDe4j$f1I+Cv>FBpj(?10Dgc&XfSAb9C}>4CLr zZHb}=d+BwFPgY9AmHBM2oK?XcBz9Sx+K7nRJNwPO3A1n3U`@CLPCspiR#^ygCdR~-Q0z58xi~dZm zAUDrNR6_PK=sn57H(P>HXL2)dpSgXe*T1rNWuGU>1Pv!YqE7S_?=qyCg(q*Iz!%YDRA z#>)+bI`fmaZX9Y@}T7V!#L#ODYnXi=$C4^Y7pkE(1aEr>-Y z3U@;KAim!GD?14WNaHLobf`2Rk}t%bN7#C;*L76kVb8-tudw=%z6^Az*LtL{C-Mru z4@vbF?u05kfGRW}NnOjZzFvs)N|14ux19JKd6U9rVaJt6C}olG>v zz1M>>owJF`6cmy*dgCy80dbf!54f4CLN-AtWSU}nFX>fud#R(E0>io{vt4W}#Cq6@ z4yHP?$%?LyvLbeiBKMjlidWdduCHz`g=4zAYY%cjs#!gDr)KuFh2QD=m}Gu^+@pH` zan@Hds4G>zf(2}uwSJm4V*u;j^CO5rtuZx zjuOoHrf~uQr3DR~IpSSpv&8WQaH5bM-S!Oy9}(^n?#ETsX=%yD-{O3f_J2_@m*PI5 z^Z6&$i7Wdue;$QwN+Yywh|P1<-W0wmBG(~QeF;tpqZ!zG!-=10LSrwf7EVid{K`qK z%KZ1Gqs<1T%5sg?*{eTfL3{RHeetM%Ba|+EjpsKf_q5Lnw8esAv8#5r zYr`wx$H%BMlnLq;5nAIF3fz7}4VZ194vlwSnS|#TrJx-&8dTVXVyt7-E8yz8y<(t1 z={*}-Va~J-9D+U^gA=F!ng10=ihyK zKi|zk7xr-Maz(?_hLbVV(=YUX)*r z5nd76=QH=IZp~(>r!a!V`lHsf8mx%fZHyK_jrdn$eQa>74i*)wrrdQ+!R{8TscY(| zsT=I4hINZ!wTMhvDLBGZi>S$~rG_wbMD&i(Uqg7CBXZ?cW6}8EL}-YQ$hE--Ydz^B zLgRg~t_{@&o=-_C_^w zsq_ldJdU*%Bv<=Hpz?+^{i?`#Bi)rbJ#$CGqZWF*~p zHp;V$o^0`Rn4=-|8Sysyqu&dAp?^BCTsX?7*RNZ0P31X$L}*chXJ*?N-)QONe7WiR%T=r|A;(33|FTv`(A% zTMx&GUEFVXf{dU~E4Ova>s4d%{nN zqZ~NemazmbowJdyP2f_dv@H#Z91=|*$+uTlZ1B?*fI#w}lFY)_ows+tbo<7Y_?nY{ z#k{lksT{tqo9o_m`??+zl#BE?x?jUTqD}i;2tnIBc;O$}mir9fM{fkh>w57Oo@@ZC zCFsUiY`uV9x6vn~3XRD1sk{)Po9EzV^~knl=^u0;UXn{DYU$D~| z?nyX{Z8(;UNnP1pAeV3yi_(IjkthJGLd6J-6jdm2nZTz4VhtvjNi--691#1gWlH<6 z61@A%XU^;cMD^{)z0%cRupJS;i>(A!esq|4i760fV|a1`gseLK_sZP7cONSiD@Qy8xuym_yO?b z5p{^4ml~lIW<|h3{1~WGmAAX=++T&na)IA~=rsCg3dCSEo`m7o&6Hk5LsiNImXSoZUt98^=R zc`=?vCG!Pwld>T?Avt_+mOdr#)P=6!>Ymz`U1a%SsREopmuirM%h7E)cgiM_`$+Uh zObJdj5oiC~*^Yf+&D|a<$#V$4J@a^~_x8+O`ENn@^`ER+k)WCwqL=FsXmwpTBG19+ zUdu*@K>Q+hteYPvAh})FfZAAPO zXRSSO%B^|b0~@?j2mD&y6tu@oZh2lVDNmtvcPo1hfg=t2ta-e>TY>irx~EBGk-)k2 z&8BlXPBtD+PIL~}$;ndb=GN)s*twFvnZ%fE;!XR-o0ii`-xsh{XrGc*kNm^M= z8YSh;NLg)O81Cyif^puJnk#4Wl<#m#`+vxvgC3aEIhxQ{zaF<$P zK0G7HAD)y%*+^#=Bcy#Xi>S2Ff@y?1-dVQXZJ&!>o=gqQ6ULvl^x@4_>LDNDi}aC? zD6Z>#_!R-#c{`M)Zij7ZK64e?d5_#IeKJYPn3dA}m4AX+{u{!QzXFRQy~TE@D5FI1 z-^`>5^ss(ms$sguUIDBGb%H=omkI<1Te?go2*XUVrEd%tQBk`2%djZTcmG7VP&jLW zGs{r~g9ZMLta(%vbgi)PPdE+K0K~%>b@`@sJ(KBxUQ?hpuofqy42&6B3sOl2K{d&o z6*;y8M6M{19Ufvx@D8fa$lvRk#on~ikxP~n_vamL?*}^C7M`JNqk06|!KH5=piKD8 z!h76&jeb?Sc32F3EYFhCfzY9q=6kQlWXH8v2$Oo#e06e9$kO}+c4mi__J2stjtua> zcHf2hlymdkmWYIh>n+grxP`gbh0FJs9~Qm_S6(tE9=q-mG1i!Ub}2!2mhAAcZkxj! z_T`Yv$CxitE_(pL_lI1^8V|W1a`^}J3jn>}yRGuaH+#34EPxkt^a5_79=&@_{!_uR zmh&GLJ}g|mCrR@I@99i;T4&*^2S^1ErvPV1?99C}1$et@KqxNXyD_C8r}<`}qk1D3 zs@y$D%R{TQei@+mGK~6WGH~2!kCJJCh$$%q$i;qH;x>!|j!jv9 zH|4VYa+U;&p_Jy<=grnLVBSo7|H z0sF5v`hL2yJ5RCuwjtJScq*Vs@Z9aWTSu_+Q78mABrOKe8NF$-fC!05^HowCazFWY zS&}Rb&>lbqq>}CcIzWY_r30w1V46PVPIsqIJ5Qxsf{c_-cehmP@Wndd3E%*`*PK<_ zB?!@ifLJW(jY_3C%1}|trvRq3P+-0wuIonS!YXJOSi{Yv$(3PYYtdiICn=YjmYff) ze=Vv@IUMLFEdZfoo&~dL5c;(+31Z2jNbit0&JsIVy;%q=O1{?{OpY`UNi5|92dH!s zJY+CELv+A_P6GOAuxE%beIu1Z+4b+{XgfZ(`O=dM^oiFhRG%jo9F_~F>B~7&R6Bn- zZFgzjdLuv++4mmY(I$=|XxMN8!5p`c1Lz}*UQV9*+qm|88%|!nRfODk@3d`Nx&fGe z&JoTL!q8VL3H9x^HIMc3&Jk>DzSe^5yPC%a1T(_g3{|m%@Ypy{IbH3^tIhjPIcb4P z8OUluwkOYw@E8Y1`XssFn<|XB5PRXEl~M*;&t&P5cF_93Oc#c`Qr~Wf34X8clm8wC zq#W$`Bo|_`^jy7mYyd5wvl4BunCDI*J17M};FWV6#kqHx_ga5?vcF$iQb=5GNGe)j zyw;zBrELc_i4sTQPQ5Xbq0>B-f^F1`PGb#O%W*!E82$MeJ;V+-9GD1$aXuZWwcGp8 zyrc}egBd;iXUb!(RUV+Du*%6uIc?ea%k%x8-#3kYHgHwEYY-CKGxWX8#N}56MjC0e zKH<99*=wU;_`&b9cMV1&)+a!G`FDbye7B4o2Dx~2JlH9E-^k(2x@{iQ@*gZ_i_xno z@?u0Waw?+OrWiT7%U}Qb^VKbd{(8BSb{0MUO8fs4_GeMxkj|HfecUV0rHb9lT15`Y zB~#rlrWuxb{a;*aT`U1zs`036de!5;DY}2?QSY^4>-Z^V$&x=-v851XNX7d-F2*hw z^Dbs8;rx9W#x9oG!{B(JQ8k6+ukvFupk4!3*D(1mRp_oqQqw^Hc}X!mMKKdU6+c-F zkAL&uf-o83uUnXm>_=IeQe37@Rj6G!)8uHNfE1=k%X)D@0|b6x5><@#a}jcdI8)EE zeuO`yFqwbz_y}UW&V}0cEwxQ`uRA(%@=#5iaIdp6adVaEVpOrmDyrB5;ji;$*Z7V;ZzS_a|*CsCwlQCQ5kTio>wfme)m`WXPrjOiT+PJMiJHt8)X}CvyISnY!!(6X0j5o z$9rToMJ%}?VjW5S+uj%IX)>HLSLMlY`iVWp@a3kUqk2mFABO#QJ^7x_mtT5YH;hZa z?pmIpN~jV^*8}zljLD7GM%MG_3#y)_KFU(GF06Od2b-?4ZVGKbpO+4^?~`j4RnODp zGHKQ_HVOz-r_nrntpN*kt0)hA+*`S4&Rc9cqUNY@a0CB1U}8kaTy>k9mK6K zE920iuWyWkFESvYJkx_0H!bjhJRI;}K%{%tmmpVxm@k?BEVo<+Ntod=A2+Q~AXh1I z)6)7}|9MC5cPFXgL+uX8Toqb#NRlHpU<<7h{6<37zd(tS?WD+hj44ssyByGs-k#`X z`dK|#Nb3Qzx_Zg5zDVA{ZxEVSHsm!F=mQBpntiG<*l|9*}# zj|g{<2uFZ7=@?45b!H8DJsWhXtdOpCtQZ`_401%SoEmcYy5KQ)rg&S8*sWPa5(mD| z?4zXKrvZ&fnKUudG0eltPI%HFd&PNX86;A=#_P0lHTjfi?=3U=e!$weWqtIX?Q-VXK5yBaPQJ80Cd_vtg<-Mv!nnT zjtDsB;T|*jtmYbptFlHCdknqLyc69LtWZ>rnLHYEc(}q5k;5%!Qu`I)Lk@s|ZShVt z=&*PvPBHYpUa{CmOYNgBaI+WG98&!C37!s=PJOOV8JQAj?5#cJN8PNdA5;?3cZNC? zu;|_9PP!kR;g}pcGJAAat^cmrvH;^P=7*zG&K8SPH3qE^yYaKB=ZD0VD^)0_@ejCA$79gn&TFKQYVK_sDZMkK zsqORYD8ZTjVb^iu{OO@z7n*)ShJ>g?3v;}G_Kb#YaxfIo%P;>?^C}>C!tF!oA3HY@ zk63NSI+INd&b_+HNOFypjlI2mQQQ}P(bYKz_4beZT9?lWwuL2Y?GE|d<_D3ZFY#KH z&l9@#n;k9(A0Sig17(;K`f-QQ2OVyk?>IP6ttrgcGH{)d%}x#W-@$Uj>Nyhp@X8W9A)zHPMsT%SmX-IY>rQyyi8bb zId9;YCI72Z-<_o0*|7N!#$!T{mhMR5I>Z^&*>Gwoawy)?_be(MLZR$q^3SCmTQZpy ze;bcfFW#2ac-E>>n1g`+pi4szR2Z9LRJ8TrK8Giu=izF#BRSK)Dpy|cdNfc^BuAKo z{Mhcs2HSyC(Z(7-KAkGLMlKHOOV8SQa+2Kj++x{m((<7Za=_7V-u~tUvaOLZoc+ixR2J zP6b^n3%%JY?>&3%L@Wt?BF^l}sjTsHr|Vx7KiNZEeeCfl;qsSaTu!{j`?-SuY+LP% zt^a+oHuMTHFT_tlPTVODle2ZEO0tQ+MHgis7>X|F>V2c3PLMcadWs4Y&yL!vE^qQ` zfoV{nkW!SJ-}zl-aIc@T>@-F(XODZD;{8#MBizEU(QOTd=kkBJ^mD*lm%@hiT^GGR zVDff!U)NCD|9i-W9kU;_ztPgV>$U@T@6CBz<5bmk7sg_=wp?kQ8M-$3TQ(jGS+CV4 z9&j*vZV7pLW~3}@XQ6KUoNC}-%(K2PHrQHudgnf2Ec9#iW_lSTZ7j>Ie6g15-=Vjd z8w&QGuyCq_xfw!5B^p+WOE_ExhVIQB$3~Ex8%EPGY(Z1*N3iM8(QBqB$jA~ z#5=2L$@#A$?WD0meSzUyEyL~Bg{9CQKicpl#2>pi;K;B3?Y|xo9hnKc^jGku|Ah1o zZ|yz4b?1j&jt%Y41;xL)Z)@An9`+8oCb(?X@gFX7_PVqqw4%vjeN4o=HqWo~_~>KJ)AEK9&E+e53!(uGaq@?*I1{ G_EIj literal 0 HcmV?d00001 diff --git a/src/snd/glass-knock.mp3 b/src/snd/glass-knock.mp3 index 52b49e59e2094f75d6c1c504b8a93ce97513adf2..f2365790b63c0fed75e7d6f26e50179d39844180 100644 GIT binary patch literal 4464 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 literal 10752 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 F{}-+ox{Lq- diff --git a/src/snd/metronome.mp3 b/src/snd/metronome.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..9c6cad411a605caeee35ce6a68761518e1dd7248 GIT binary patch literal 3864 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 literal 0 HcmV?d00001 diff --git a/src/snd/snap.mp3 b/src/snd/snap.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..5af960959c07cc79a960df9575e0bff7c224e923 GIT binary patch literal 35108 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%0DH}>Q!cIUnJhanVtkaxWkG;7Y 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 literal 0 HcmV?d00001