From bfd6d6446123248b9501a0ae3c6bbfbecb4fd200 Mon Sep 17 00:00:00 2001 From: stitch1 Date: Fri, 16 Oct 2026 20:03:38 +0200 Subject: [PATCH 01/25] new ui --- .gitignore | 3 + README.md | 33 ++ compose.dev.yaml | 46 ++ dev/Dockerfile | 5 + dev/config.yaml | 19 + dev/mosquitto.conf | 3 + dev/seed.py | 61 +++ dev/start.sh | 11 + tests/js/browser-smoke.test.js | 4 + tests/js/kassa-app.test.js | 99 +++- tests/js/kassa-dom.test.js | 8 +- tests/js/kassa-textfill.test.js | 62 ++- www/index.html | 16 +- www/kassa-app.js | 261 ++++++++--- www/kassa-dom.js | 4 +- www/kassa-textfill.js | 39 +- www/stom.css | 809 +++++++++++++------------------- 17 files changed, 886 insertions(+), 597 deletions(-) create mode 100644 compose.dev.yaml create mode 100644 dev/Dockerfile create mode 100644 dev/config.yaml create mode 100644 dev/mosquitto.conf create mode 100644 dev/seed.py create mode 100644 dev/start.sh diff --git a/.gitignore b/.gitignore index cb8df27..d7c8562 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,6 @@ __pycache__/ node_modules/ tests/__pycache__/ tests/plugins/__pycache__/ +dev/data/ +dev/artifacts/ +!dev/config.yaml diff --git a/README.md b/README.md index 775f6af..8b54c3e 100644 --- a/README.md +++ b/README.md @@ -67,6 +67,39 @@ To get started, copy the files from `fakedata`. ### docker-compose +For the self-contained UI development setup at **http://localhost:4123**: + +```sh +docker compose -f compose.dev.yaml up -d --build +``` + +This runs PHP, MQTT, and the unchanged Python backend in project-specific +containers. The UI assets are mounted from `www`, so edits appear on refresh. +Sample members, balances, products, and stock are seeded once in the ignored +`dev/data` directory. This setup does not use production data or hardware; +the door command targets the development broker and no printer is connected. +All CSS, icons, and JavaScript are served locally, with no CDN or web fonts. + +Member and user accounts appear as one continuous list of compact rows, +with native single-finger touch scrolling and mouse-wheel scrolling in the +left panel. Cash and amount controls remain above the list, and the receipt +and command bar stay visible. Account-only search results use the same list. +Products and commands retain pages of up to 56 buttons (8×7) at 1920×1080, +or 25 buttons on smaller screens. The command bar's Enter button submits the +same command as pressing Enter on the keyboard. + +The Music and Home Assistant shortcuts load their requested pages in the +left-hand iframe and include links to open them in a separate tab. Home +Assistant is configured to allow embedding. YouTube's homepage still blocks +embedding, so its toolbar includes a separate-tab hint. +The [supplied Hack42 logo](https://johnkr.com/wp-content/uploads/sites/2/2015/12/Hack42.png) +is already included as `www/images/Hack42.png` and is now displayed in the header. + +To stop this setup, run `docker compose -f compose.dev.yaml down`. To reset +the sample data, stop the containers, remove `dev/data`, and start them again. + +The original development setup remains available: + If you don't want to install apache and an mqtt server yourself you can use docker-compose for local development. Simply running `docker-compose up` will start an mqtt server on port 1883, an apache+php server serving the files in diff --git a/compose.dev.yaml b/compose.dev.yaml new file mode 100644 index 0000000..2c35d09 --- /dev/null +++ b/compose.dev.yaml @@ -0,0 +1,46 @@ +name: hackbank-ui + +services: + mqtt: + image: eclipse-mosquitto:2 + volumes: + - ./dev/mosquitto.conf:/mosquitto/config/mosquitto.conf:ro + healthcheck: + test: ["CMD", "mosquitto_pub", "-h", "localhost", "-t", "dev/health", "-m", "ok"] + interval: 2s + timeout: 2s + retries: 15 + + backend: + build: + context: . + dockerfile: dev/Dockerfile + working_dir: /app + volumes: + - ./kassa.py:/app/kassa.py:ro + - ./config.py:/app/config.py:ro + - ./input_validation.py:/app/input_validation.py:ro + - ./plugins:/app/plugins:ro + - ./images:/app/images:ro + - ./fakedata:/app/fakedata:ro + - ./dev:/app/dev:ro + - ./dev/data:/app/data + environment: + KASSA_CONFIG: /app/dev/config.yaml + PYTHONDONTWRITEBYTECODE: "1" + command: ["sh", "/app/dev/start.sh"] + depends_on: + mqtt: + condition: service_healthy + + web: + image: php:8.3-apache + volumes: + - ./www:/var/www/html:ro + ports: + - "127.0.0.1:4123:80" + environment: + MQTT_HOST: mqtt + depends_on: + mqtt: + condition: service_healthy diff --git a/dev/Dockerfile b/dev/Dockerfile new file mode 100644 index 0000000..48641c3 --- /dev/null +++ b/dev/Dockerfile @@ -0,0 +1,5 @@ +FROM python:3.12-slim +RUN apt-get update && apt-get install -y --no-install-recommends git \ + && rm -rf /var/lib/apt/lists/* +COPY requirements.txt /tmp/requirements.txt +RUN pip install --no-cache-dir -r /tmp/requirements.txt diff --git a/dev/config.yaml b/dev/config.yaml new file mode 100644 index 0000000..33c2b48 --- /dev/null +++ b/dev/config.yaml @@ -0,0 +1,19 @@ +mqtt: + host: mqtt + port: 1883 + keepalive: 60 +door: + mqtt: + host: mqtt + port: 1883 + topic: dev/door +stickers: + printer: + host: localhost + port: 9100 +pos: + serial: + port: /dev/hackbank-no-printer + baudrate: 19200 +logging: + level: INFO diff --git a/dev/mosquitto.conf b/dev/mosquitto.conf new file mode 100644 index 0000000..0e3b61e --- /dev/null +++ b/dev/mosquitto.conf @@ -0,0 +1,3 @@ +listener 1883 +allow_anonymous true +persistence false diff --git a/dev/seed.py b/dev/seed.py new file mode 100644 index 0000000..cff56fe --- /dev/null +++ b/dev/seed.py @@ -0,0 +1,61 @@ +"""Seed the isolated development data once. Never reads production data.""" + +from pathlib import Path +import shutil + +data = Path("data") +data.mkdir(exist_ok=True) +if not (data / "revbank.accounts").exists(): + for source in Path("fakedata").glob("revbank.*"): + shutil.copyfile(source, data / source.name) + + names = [ + "alice", "bob", "charlie", "dana", "eddie", "floris", "grace", "hugo", + "iris", "jules", "kim", "lars", "mara", "noor", "oscar", "pim", "quinn", + "raboof", "robin", "sam", "tess", "uma", "vincent", "wouter", "yara", "zoe", + ] + balances = [24.50, 8.75, -4.20, 42.00, 15.80, 31.25, 6.50, -18.50] + (data / "revbank.accounts").write_text( + "".join(f"{name:20} {balances[i % len(balances)]:+8.2f} 2026-10-16_12:00:00\n" + for i, name in enumerate(names)) + + "guest +12.50 2026-10-16_12:00:00\n", + encoding="utf-8", + ) + (data / "revbank.members").write_text("\n".join(names) + "\n", encoding="utf-8") + (data / "revbank.products").write_text( + """# Beer +clubmatebeer 2.50 Club-Mate beer +grolsch 1.50 Grolsch pilsner +ipa 3.25 India pale ale +radler 1.75 Radler 0.0% +weizen 2.75 Weizen +tripel 3.50 Belgian tripel +stout 3.00 Coffee stout +# Soft drinks +clubmate 2.00 Club-Mate +cola 1.25 Coca-Cola +colazero 1.25 Coca-Cola Zero +gingerbeer 2.25 Ginger beer +icetea 1.50 Ice tea +tonic 1.75 Tonic water +sparkling 1.00 Sparkling water +orangejuice 1.50 Orange juice +# Hot drinks +coffee 0.50 Coffee +espresso 0.75 Espresso +tea 0.50 Tea +hotchocolate 1.00 Hot chocolate +# Snacks +crisps 1.00 Paprika crisps +stroopwafel 0.75 Stroopwafel +chocolate 1.25 Chocolate bar +nuts 1.50 Salted peanuts +noodles 1.75 Instant noodles +pizza 4.50 Pizza margherita +""", + encoding="utf-8", + ) + (data / "revbank.stock").write_text( + "".join(f"{name} 42\n" for name in ["grolsch", "ipa", "clubmate", "cola", "coffee", "crisps"]), + encoding="utf-8", + ) diff --git a/dev/start.sh b/dev/start.sh new file mode 100644 index 0000000..e18fec8 --- /dev/null +++ b/dev/start.sh @@ -0,0 +1,11 @@ +#!/bin/sh +set -eu +python dev/seed.py +if [ ! -d data/.git ]; then + git -C data init -q + git -C data config user.name "HackBank development" + git -C data config user.email "dev@localhost" + git -C data add . + git -C data commit -qm "Initial sample data" +fi +exec python -u kassa.py diff --git a/tests/js/browser-smoke.test.js b/tests/js/browser-smoke.test.js index 81318da..ce8408b 100644 --- a/tests/js/browser-smoke.test.js +++ b/tests/js/browser-smoke.test.js @@ -139,6 +139,8 @@ test("kassa frontend posts keyboard and button input in a browser", (t) => { Object.defineProperty(keydown, "which", {value: 13}); input.dispatchEvent(keydown); document.getElementById("bon").click(); + input.value = "clubmate"; + document.getElementById("CommandEnter").click(); var output = document.createElement("pre"); output.id = "smoke-result"; @@ -165,10 +167,12 @@ test("kassa frontend posts keyboard and button input in a browser", (t) => { assert.match(data.eventSourceUrl, /^stream\.php\?session=main&t=/); assert.equal(data.hasButtons, true); + assert.equal(data.activeElement, "Zoek"); assert.deepEqual(data.fetchCalls.map((call) => call.body), [ "topic=session%2Fmain%2Finput&msg=", "topic=session%2Fmain%2Finput&msg=abort", "topic=session%2Fmain%2Finput&msg=bon", + "topic=session%2Fmain%2Finput&msg=clubmate", ]); }); diff --git a/tests/js/kassa-app.test.js b/tests/js/kassa-app.test.js index 9f29032..5ec4a33 100644 --- a/tests/js/kassa-app.test.js +++ b/tests/js/kassa-app.test.js @@ -137,7 +137,7 @@ function loadScript(sandbox, scriptName) { vm.runInNewContext(script, sandbox, {filename: scriptName}); } -function loadKassaApp({hash = ""} = {}) { +function loadKassaApp({hash = "", pageCapacity = 25} = {}) { const elements = {}; const documentListeners = {}; const eventSources = []; @@ -192,6 +192,9 @@ function loadKassaApp({hash = ""} = {}) { } const window = { + getComputedStyle() { + return {getPropertyValue: () => String(pageCapacity)}; + }, HackBankTextfill: { fillElement(element, options) { textfillCalls.push({element, options}); @@ -279,6 +282,100 @@ test("kassa app wires Enter in the search input to post input and clear it", () assert.equal(input.value, ""); }); +test("the command Enter button submits once, clears the input and restores focus", () => { + const {elements, fetchCalls} = loadKassaApp({hash: "#bar"}); + const input = elements.Zoek; + input.value = "2* clubmate"; + elements.CommandEnter.eventListeners.click(); + + assert.equal(elements.CommandEnter.tag, "button"); + assert.equal(elements.CommandEnter.type, "button"); + assert.equal(fetchCalls.length, 2); + assert.equal(String(fetchCalls[1].options.body), "topic=session%2Fbar%2Finput&msg=2*+clubmate"); + assert.equal(input.value, ""); + assert.equal(input.focused, true); +}); + +test("pagination uses the grid capacity for large and smaller screens", () => { + [25, 56].forEach((capacity) => { + const {elements, eventSources} = loadKassaApp({pageCapacity: capacity}); + const names = Array.from({length: capacity + 1}, (_, i) => `member${String(i).padStart(3, "0")}`); + const send = (topic, msg) => eventSources[0].onmessage({ + data: JSON.stringify([`hack42bar/output/session/main/${topic}`, JSON.stringify(msg)]), + }); + send("buttons", {special: "custom", custom: names.map((name) => ({text: name, display: name}))}); + + assert.equal(findAll(elements.Page1, ".Buttontext").length, capacity); + assert.equal(findAll(elements.Page2, ".Buttontext").length, 1); + assert.deepEqual(findAll(elements.MainButtons, ".Buttontext").map((el) => el.textContent), names); + }); +}); + +test("members and other users stay in one list at either page capacity", () => { + [25, 56].forEach((capacity) => { + const {body, elements, eventSources, timers, fetchCalls} = loadKassaApp({pageCapacity: capacity}); + const names = Array.from({length: 140}, (_, i) => `user${String(i).padStart(3, "0")}`); + const send = (topic, msg) => eventSources[0].onmessage({ + data: JSON.stringify([`hack42bar/output/session/main/${topic}`, JSON.stringify(msg)]), + }); + names.forEach((name) => send(`accounts/${name}`, {amount: 12.50})); + send("members", names.slice(0, 70)); + send("nonmembers", names.slice(70)); + send("buttons", {special: "accountsamount"}); + + assert.equal(findAll(elements.AccountList, ".account").length, 70); + assert.equal(findAll(elements.TopButtons, ".page").length, 0); + assert.equal(findAll(elements.MainButtons, ".Pagina").length, 0); + assert(findFirst(elements.TopButtons, "#cash")); + assert(findFirst(elements.TopButtons, "#shownumbers")); + + elements.Zoek.value = "user"; + elements.Zoek.eventListeners.keydown.call(elements.Zoek, {which: 85}); + timers[timers.length - 1].callback(); + assert.equal(findAll(elements.AccountList, ".account").length, 140); + assert.equal(findAll(elements.TopButtons, ".page").length, 0); + assert.equal(fetchCalls.length, 1); + + body.eventListeners.click({target: { + closest(selector) { + return selector.startsWith("div.Knopje:not") ? findFirst(elements.LeftButtons, "#otherusers") : null; + }, + }}); + assert.deepEqual(findAll(elements.AccountList, ".Buttontext").map((el) => el.textContent), names.slice(70)); + assert.equal(findAll(elements.TopButtons, ".page").length, 0); + }); +}); + +test("Music and Home Assistant open the requested frames and switch cleanly", () => { + const {body, elements} = loadKassaApp(); + function clickMain(id) { + body.eventListeners.click({ + target: { + closest(selector) { + return selector.startsWith("div.Knopje:not") ? findFirst(elements.LeftButtons, `#${id}`) : null; + }, + }, + }); + } + + assert.equal(findFirst(elements.LeftButtons, "#irc").children[0].textContent, "Music"); + assert.equal(findFirst(elements.LeftButtons, "#spacecon").children[0].textContent, "Home Assistant"); + clickMain("irc"); + assert.equal(elements.IRCwindow.children[1].src, "https://www.youtube.com/"); + assert.equal(elements.IRCwindow.children[1].title, "YouTube"); + assert.equal(elements.IRCwindow.children[0].children[2].href, "https://www.youtube.com/"); + assert.equal(elements.IRCwindow.style.display, ""); + assert.equal(elements.spacewindow.style.display, "none"); + clickMain("spacecon"); + assert.equal(elements.spacewindow.children[1].src, "http://hass.space.hack42.nl:8123/home/overview"); + assert.equal(elements.spacewindow.children[1].title, "Home Assistant"); + assert.equal(findAll(elements.spacewindow, ".embed-note").length, 0); + assert.equal(elements.IRCwindow.style.display, "none"); + clickMain("irc"); + assert.equal(elements.spacewindow.style.display, "none"); + assert.equal(elements.IRCwindow.childElementCount, 2); +}); + test("kassa app handles closed streams by scheduling one reconnect", () => { const {eventSources, timers} = loadKassaApp(); diff --git a/tests/js/kassa-dom.test.js b/tests/js/kassa-dom.test.js index c37eef8..443202d 100644 --- a/tests/js/kassa-dom.test.js +++ b/tests/js/kassa-dom.test.js @@ -11,6 +11,9 @@ function fakeElement(tag) { id: "", tag, textContent: "", + setAttribute(name, value) { + this[name] = value; + }, appendChild(child) { this.children.push(child); return child; @@ -112,7 +115,10 @@ test("button helpers build native elements and fill visible text", () => { helpers.fillVisibleText(".Buttontext:visible"); assert.equal(textfillCalls.length, 1); assert.equal(textfillCalls[0].element, label); - assert.equal(textfillCalls[0].options.maxFontPixels, 5); + assert.equal(textfillCalls[0].options.maxFontPixels, 22); + assert.equal(textfillCalls[0].options.minFontPixels, 12); + assert.equal(button.role, "button"); + assert.equal(button.tabindex, "0"); }); test("allElements supports legacy visible selectors", () => { diff --git a/tests/js/kassa-textfill.test.js b/tests/js/kassa-textfill.test.js index a16666b..1db7e3e 100644 --- a/tests/js/kassa-textfill.test.js +++ b/tests/js/kassa-textfill.test.js @@ -5,7 +5,11 @@ const test = require("node:test"); const vm = require("node:vm"); function loadTextfill() { - const sandbox = {window: {}}; + const sandbox = {window: { + getComputedStyle() { + return {fontSize: "22px", paddingTop: "10px", paddingBottom: "10px"}; + }, + }}; const script = fs.readFileSync( path.join(__dirname, "../../www/kassa-textfill.js"), "utf8", @@ -18,20 +22,23 @@ function loadTextfill() { }; } -function createElement(text) { +function createElement(text, width = 50) { const element = { currentFontSize: 0, parentElement: { - offsetHeight: 50, - offsetWidth: 50, + clientHeight: 50, + clientWidth: width, }, style: {}, textContent: text, - get offsetHeight() { - return this.currentFontSize > 2 ? 120 : 10; + get clientWidth() { + return this.parentElement.clientWidth; + }, + get scrollHeight() { + return this.currentFontSize * 1.2; }, - get offsetWidth() { - return this.currentFontSize > 2 ? 120 : 10; + get scrollWidth() { + return this.currentFontSize * text.length / 2; }, }; Object.defineProperty(element.style, "fontSize", { @@ -47,25 +54,44 @@ function createElement(text) { return element; } -test("textfill lowers font size until text fits and vertically centers it", () => { +test("textfill fits text into the current tile using readable pixel sizes", () => { const {fillElement} = loadTextfill(); const element = createElement("hello"); - const result = fillElement(element, {maxFontPixels: 5}); + const result = fillElement(element, {maxFontPixels: 22, minFontPixels: 12}); assert.equal(result, element); - assert.equal(element.style.fontSize, "1.4vh"); - assert.equal(element.style.top, "20px"); + assert.equal(element.style.fontSize, "20px"); + assert(element.scrollWidth <= element.clientWidth); + assert(element.scrollHeight <= 30); }); -test("textfill reuses cached size for repeated text", () => { +test("repeated labels are sized independently for differently sized tiles", () => { const {fillElement} = loadTextfill(); const first = createElement("cached"); - const second = createElement("cached"); + const second = createElement("cached", 100); + + fillElement(first, {maxFontPixels: 22}); + fillElement(second, {maxFontPixels: 22}); + + assert.equal(first.style.fontSize, "16.5px"); + assert.equal(second.style.fontSize, "22px"); +}); - fillElement(first, {maxFontPixels: 5}); - fillElement(second, {maxFontPixels: 5}); +test("textfill grows labels again after resizing and respects the minimum", () => { + const {fillElement} = loadTextfill(); + const element = createElement("hello", 20); + fillElement(element, {maxFontPixels: 22, minFontPixels: 12}); + assert.equal(element.style.fontSize, "12px"); + element.parentElement.clientWidth = 100; + fillElement(element, {maxFontPixels: 22, minFontPixels: 12}); + assert.equal(element.style.fontSize, "22px"); +}); - assert.equal(second.style.fontSize, "1.4vh"); - assert.equal(second.style.top, "20px"); +test("textfill leaves hidden labels untouched until their tile is visible", () => { + const {fillElement} = loadTextfill(); + const element = createElement("hidden", 0); + element.style.fontSize = "18px"; + fillElement(element, {maxFontPixels: 22}); + assert.equal(element.style.fontSize, "18px"); }); diff --git a/www/index.html b/www/index.html index 281528c..679632f 100644 --- a/www/index.html +++ b/www/index.html @@ -1,15 +1,19 @@ - - + + - Hack42 - HackBank - - + + + + HackBank · Hack42 + + - + + diff --git a/www/kassa-app.js b/www/kassa-app.js index fd4829e..13549d0 100644 --- a/www/kassa-app.js +++ b/www/kassa-app.js @@ -15,6 +15,7 @@ document.addEventListener("DOMContentLoaded", function() { var tabenable=0; var question=""; var locked=0; + var pagedButtons=null; var buttons=window.HackBankButtons; var dom=window.HackBankDom; var allElements=dom.allElements; @@ -139,7 +140,7 @@ document.addEventListener("DOMContentLoaded", function() { function showAccountButtons(activeButtonId, accountType, tabMode) { activateTopButton(activeButtonId); showElement('#Secondscreen'); - makepages('normal',buttons.accountsToButtons(accounts,members,nonmembers,accountType)); + makeAccountList(buttons.accountsToButtons(accounts,members,nonmembers,accountType)); prependCashButton(); focus(); tabenable=tabMode; @@ -162,13 +163,17 @@ document.addEventListener("DOMContentLoaded", function() { }); scrollToBottom('#Receipt'); if(counter === 0) { - appendToElement(receipt, createElement('div',{class: 'welcome', text: "Welcome to Hack42 Bank HTML5 Interface"})); + appendToElement(receipt, createElement('div',{class: 'welcome', text: "Your next round starts here. Scan a product or choose a button."})); } clearElement('#Receipt2'); cloneElementsTo('.Itemline', '#Receipt2'); scrollToBottom('#Receipt2'); if (receipt2 && receipt2.childElementCount === 0){ - appendToElement(receipt2, createElement('img',{src: 'images/Hack42.png', width: '100%', style: {top: '12vh', position: 'absolute'}})); + appendToElement(receipt2, appendChildren(createElement('div',{class: 'receipt-empty'}), [ + createElement('span',{class: 'empty-symbol', text: '+', 'aria-hidden': 'true'}), + createElement('strong',{text: 'Nothing on the tab yet'}), + createElement('span',{text: 'Scan a product to get started.'}), + ])); } } function build_totals(msg) { @@ -285,7 +290,7 @@ document.addEventListener("DOMContentLoaded", function() { appendToElement(mylines, document.createTextNode(val)); appendBreak(mylines); }); - setElementStyle('#mylines', {position: 'relative', top: '-12vh', left: '0px', zIndex: '100', background: 'lightgray', height: '76vh', overflowWrap: 'break-word', overflowY: 'scroll', width: '96vw'}); + setElementStyle('#mylines', {overflowWrap: 'break-word', overflowY: 'auto'}); scrollToBottom('#mylines'); showquestion(); } @@ -303,12 +308,71 @@ document.addEventListener("DOMContentLoaded", function() { }); showquestion(); } + function buttonsPerPage() { + var mainButtons=first('#MainButtons'); + if(!mainButtons || !window.getComputedStyle) return 25; + return parseInt(window.getComputedStyle(mainButtons).getPropertyValue('--buttons-per-page'), 10) || 25; + } + function selectButtonPage(id) { + allElements('#TopButtons .page').forEach(function(button) { + button.classList.remove('currentpage'); + if(button.id === String(id)) button.classList.add('currentpage'); + }); + hideElements('.Pagina'); + showElement('#Page'+id); + fillVisibleText('.Buttontext:visible'); + } + function reflowButtonPages() { + if(!pagedButtons || !first('#MainButtons .Pagina')) return; + var capacity=buttonsPerPage(); + if(capacity === pagedButtons.capacity) return; + var activePage=first('#TopButtons .currentpage'); + var firstIndex=(activePage ? Number(activePage.id)-1 : 0)*pagedButtons.capacity; + var extraButtons=allElements('#TopButtons .Knopje').filter(function(button) { + return !button.classList.contains('page'); + }); + var previous=pagedButtons; + makepages(previous.className,previous.buttons); + selectButtonPage(Math.floor(firstIndex/capacity)+1); + extraButtons.reverse().forEach(function(button) { + first('#TopButtons').prepend(button); + }); + } + function commandButton(extraclass,stuff) { + var knopje=appendChildren(createElement('div',{class: "Knopje Knop "+stuff.text+" "+extraclass + " " + stuff.class,id: stuff.text, role: 'button', tabindex: '0', title: stuff.display }), [ + createElement('span',{class: "Buttontext ",text: stuff.display}), + ]); + if(stuff.right) { + var fullwidth=''; + if(!stuff.left && stuff.fill) fullwidth=' fullwidthButton '; + appendToElement(knopje, createElement('span',{class: "right extra "+fullwidth+stuff.rightclass,text: stuff.right})); + } + if(stuff.left) { + appendToElement(knopje, createElement('span',{class: "left extra "+stuff.leftclass,text: stuff.left})); + } + return knopje; + } + function makeAccountList(accountButtons) { + pagedButtons=null; + clearElement('#MainButtons'); + clearElement('#TopButtons'); + var list=createElement('div',{id: 'AccountList', class: 'account-list', role: 'group', 'aria-label': 'Accounts'}); + accountButtons.forEach(function(button) { + list.appendChild(commandButton('normal',button)); + }); + appendTo('#MainButtons',list); + first('#MainButtons').scrollTop=0; + fillVisibleText('.Buttontext:visible'); + showquestion(); + } function makepages(extraclass,buttons) { + var capacity=buttonsPerPage(); + pagedButtons={className: extraclass, buttons: buttons, capacity: capacity}; var pagecount=1; clearElement('#MainButtons'); clearElement('#TopButtons'); appendTo('#MainButtons', createElement('div',{id: 'Page'+pagecount, class: 'Pagina'})); - appendTo('#TopButtons', topButton("page",'1',"Page 1")); + appendTo('#TopButtons', topButton("page currentpage",'1',"Page 1")); var counter=0; var donewpage=0; var first=1; @@ -327,25 +391,10 @@ document.addEventListener("DOMContentLoaded", function() { appendToPageLabel(pagecount, '
'+stuff.display.charAt(0).toUpperCase()); first=0; } - var knopje=appendChildren(createElement('div',{class: "Knopje Knop "+stuff.text+" "+extraclass + " " + stuff.class,id: stuff.text }), [ - createElement('span',{class: "Buttontext ",text: stuff.display}), - ]); - if(stuff.right) { - var fullwidth=''; - if(!stuff.left && stuff.fill) { - fullwidth=' fullwidthButton '; - } - appendToElement(knopje, createElement('span',{class: "right extra "+fullwidth+stuff.rightclass,text: stuff.right})); - } - if(stuff.left) { - appendToElement(knopje, createElement('span',{class: "left extra "+stuff.leftclass,text: stuff.left})); - } lastchar=stuff.display.charAt(0).toUpperCase(); - appendTo('#Page'+pagecount, knopje); + appendTo('#Page'+pagecount, commandButton(extraclass,stuff)); counter++; - var w=5; - var h=5; - if(counter>=w*h) { + if(counter>=capacity) { donewpage=1; } }); @@ -385,7 +434,7 @@ document.addEventListener("DOMContentLoaded", function() { } else if (buttons['special'] === 'accountsamount') { activateTopButton('members'); showElement('#Secondscreen'); - makepages('normal',window.HackBankButtons.accountsToButtons(accounts,members,nonmembers,'m')); + makeAccountList(window.HackBankButtons.accountsToButtons(accounts,members,nonmembers,'m')); document.getElementById('TopButtons').prepend(topButton("shownumbers",'shownumbers',"Enter amount")); prependCashButton(); focus(); @@ -464,7 +513,7 @@ document.addEventListener("DOMContentLoaded", function() { break; case 'infobox': run_infobox(pathParts[6],msg); - setMainButtonsBackground("#d7ffd7"); + setMainButtonsBackground("#e8f3ec"); break; case 'accounts': setupaccounts(pathParts[5],msg); @@ -541,7 +590,13 @@ document.addEventListener("DOMContentLoaded", function() { } }); } - makepages('normal',buttons); + if(tabenable === 2 || (buttons.length > 0 && buttons.every(function(button) { + return button.class && button.class.indexOf('account ') === 0; + }))) { + makeAccountList(buttons); + } else { + makepages('normal',buttons); + } if(buttons.length === 1 && fill) { dingen[dingen.length-1]=buttons[0].text+" "; setSearchValue(dingen.join(" ")); @@ -557,6 +612,11 @@ document.addEventListener("DOMContentLoaded", function() { postmsg('input',searchValue()); setSearchValue(""); } + function submitCommand() { + locked=0; + verwerkinput(); + focus(); + } var delay = (function(){ var timer = 0; return function(callback, ms){ @@ -599,9 +659,7 @@ document.addEventListener("DOMContentLoaded", function() { } function handlePageClick() { - hideElements('.Pagina'); - showElement('#Page'+this.id); - fillVisibleText(".Buttontext:visible"); + selectButtonPage(this.id); focus(); } @@ -610,6 +668,20 @@ document.addEventListener("DOMContentLoaded", function() { focus(); } + function showEmbeddedScreen(selector,title,url,hint) { + hideElement('#IRCwindow'); + hideElement('#spacewindow'); + showElement(selector); + var screen=first(selector); + if(screen.childElementCount !== 0) return; + var toolbar=createElement('div',{class: 'embed-toolbar'}); + toolbar.appendChild(createElement('strong',{text: title})); + if(hint) toolbar.appendChild(createElement('span',{class: 'embed-note', text: hint})); + toolbar.appendChild(createElement('a',{href: url, target: '_blank', rel: 'noopener noreferrer', text: 'Open '+title+' ↗'})); + screen.appendChild(toolbar); + screen.appendChild(createElement('iframe',{src: url, title: title, allow: 'autoplay; encrypted-media; picture-in-picture; fullscreen', allowfullscreen: ''})); + } + function handleMainButtonClick() { switch(this.id) { case 'members': @@ -641,18 +713,12 @@ document.addEventListener("DOMContentLoaded", function() { case 'irc': activateTopButton(this.id); locked=0; - showElement('#IRCwindow'); - if(document.getElementById('IRCwindow').childElementCount === 0) { - appendTo('#IRCwindow', createElement('iframe',{src: 'http://kleintje:4200/',frameborder: 0, scrolling: 'no', width: '100%', height: '100%'})); - } + showEmbeddedScreen('#IRCwindow','YouTube','https://www.youtube.com/','If the page cannot be displayed here, open it in a new tab.'); break; case 'spacecon': activateTopButton(this.id); locked=0; - showElement('#spacewindow'); - if(document.getElementById('spacewindow').childElementCount === 0) { - appendTo('#spacewindow', createElement('iframe',{src: '/spaceconsole/',frameborder: 0, scrolling: 'no', width: '100%', height: '100%'})); - } + showEmbeddedScreen('#spacewindow','Home Assistant','http://hass.space.hack42.nl:8123/home/overview'); break; case 'knopjes': activateTopButton(this.id); @@ -707,27 +773,83 @@ document.addEventListener("DOMContentLoaded", function() { } function buildLayout() { - appendTo('#body', createElement('div',{id: 'Firstscreen'})); - appendTo('#body', createElement('div',{id: 'Secondscreen'})); - appendTo('#body', createElement('div',{id: 'IRCwindow'})); - appendTo('#body', createElement('div',{id: 'spacewindow'})); - - appendTo('#Firstscreen', createElement('div',{id: 'Receipt', class: 'Receipt'})); - appendTo('#Firstscreen', createElement('div',{id: 'Totals', class: 'Totals'})); - appendTo('#Firstscreen', createElement('div',{id: 'Buttons', class: 'Buttons'})); - appendTo('#Firstscreen', createElement('div',{id: 'Log'})); - - var inputWrapper=createElement('div',{id: 'Invoer'}); - inputWrapper.appendChild(createElement('input',{id: 'Zoek', placeholder: "Starting network communication", autocomplete: 'off'})); - appendTo('#Firstscreen', inputWrapper); - - appendTo('#Secondscreen', createElement('div',{id: 'LeftButtons', class: 'LeftButtons'})); - appendTo('#Secondscreen', createElement('div',{id: 'MainButtons', class: 'MainButtons'})); - appendTo('#Secondscreen', createElement('div',{id: 'TopButtons', class: 'RightButtons'})); - appendTo('#Secondscreen', createElement('div',{id: 'Receipt2'})); + var header=createElement('header',{class: 'app-header row'}); + header.appendChild(appendChildren(createElement('div',{class: 'brand col-auto'}), [ + createElement('img',{class: 'brand-logo', src: 'images/Hack42.png', alt: 'Hack42 · Hackerspace Arnhem', width: '84', height: '56'}), + appendChildren(createElement('div'), [ + createElement('span',{class: 'brand-name', text: 'hackbank'}), + createElement('span',{class: 'brand-caption', text: 'HACK42 · BAR & DRINKS'}), + ]), + ])); + header.appendChild(createElement('nav',{id: 'LeftButtons', class: 'LeftButtons col', 'aria-label': 'Register sections'})); + appendTo('#body', header); + + var workspace=createElement('main',{class: 'workspace row'}); + var leftColumn=createElement('section',{class: 'workspace-main col', 'aria-label': 'Register'}); + var screens=createElement('div',{class: 'screens'}); + var overview=createElement('div',{id: 'Firstscreen', class: 'overview-screen'}); + overview.appendChild(createElement('h1',{class: 'section-title', text: 'Current sale'})); + overview.appendChild(createElement('div',{id: 'Receipt', class: 'Receipt'})); + overview.appendChild(createElement('div',{id: 'Buttons', class: 'Buttons'})); + screens.appendChild(overview); + + var selection=createElement('div',{id: 'Secondscreen', class: 'selection-screen'}); + selection.appendChild(createElement('div',{id: 'TopButtons', class: 'RightButtons', 'aria-label': 'Current options'})); + selection.appendChild(createElement('div',{id: 'MainButtons', class: 'MainButtons'})); + screens.appendChild(selection); + screens.appendChild(createElement('div',{id: 'IRCwindow', class: 'embedded-screen'})); + screens.appendChild(createElement('div',{id: 'spacewindow', class: 'embedded-screen'})); + leftColumn.appendChild(screens); + leftColumn.appendChild(appendChildren(createElement('section',{class: 'activity', 'aria-label': 'Register activity'}), [ + createElement('span',{class: 'activity-label', text: 'ACTIVITY'}), + createElement('div',{id: 'Log', role: 'log', 'aria-live': 'polite'}), + ])); + workspace.appendChild(leftColumn); + + var receiptPanel=createElement('aside',{class: 'receipt-panel col-auto', 'aria-label': 'Sale receipt'}); + receiptPanel.appendChild(appendChildren(createElement('div',{class: 'receipt-heading'}), [ + createElement('span',{class: 'eyebrow', text: 'THE HACK42 BAR'}), + createElement('h2',{text: 'On the tab'}), + createElement('span',{class: 'receipt-currency', text: 'EUR'}), + ])); + receiptPanel.appendChild(appendChildren(createElement('div',{class: 'receipt-columns', 'aria-hidden': 'true'}), [ + createElement('span',{text: 'ITEM'}), + createElement('span',{text: 'QTY'}), + createElement('span',{text: 'AMOUNT'}), + ])); + receiptPanel.appendChild(createElement('div',{id: 'Receipt2'})); + receiptPanel.appendChild(createElement('div',{id: 'Totals', class: 'Totals', 'aria-label': 'Account totals', 'aria-live': 'polite'})); + receiptPanel.appendChild(appendChildren(createElement('div',{class: 'receipt-footer'}), [ + createElement('span',{class: 'receipt-barcode', 'aria-hidden': 'true'}), + createElement('span',{text: 'HACK42 · HACK. SIP. REPEAT.'}), + ])); + workspace.appendChild(receiptPanel); + appendTo('#body', workspace); + + var inputWrapper=createElement('footer',{id: 'Invoer'}); + inputWrapper.appendChild(appendChildren(createElement('div',{class: 'command-caption'}), [ + createElement('label',{'for': 'Zoek', text: 'COMMAND LINE'}), + createElement('span',{class: 'command-help', text: 'Scan a barcode · Type a command · Tab to complete'}), + ])); + inputWrapper.appendChild(appendChildren(createElement('div',{class: 'command-input'}), [ + createElement('span',{class: 'command-prompt', text: '›_', 'aria-hidden': 'true'}), + createElement('input',{id: 'Zoek', placeholder: "Starting network communication", autocomplete: 'off', spellcheck: 'false', autocapitalize: 'off', 'aria-label': 'Product, command or username'}), + createElement('button',{id: 'CommandEnter', type: 'button', class: 'enter-hint', text: 'ENTER ↵', 'aria-label': 'Submit command'}), + ])); + appendTo('#body', inputWrapper); } function buildLeftButtons() { + var icons={ + abort: '', + members: '', + otherusers: '', + products: '', + commands: '', + sounds: '', + irc: '', + spacecon: '', + }; var buttons=[ ["Knopje Button topknop normal abort",'abort',"Abort"], ["Knopje Button topknop special",'members',"Members"], @@ -735,11 +857,13 @@ document.addEventListener("DOMContentLoaded", function() { ["Knopje Button topknop special",'products',"Products"], ["Knopje Button topknop special",'commands',"Commands"], ["Knopje Button topknop sounds",'sounds',"Sounds"], - ["Knopje Button topknop irc",'irc',"IRC"], - ["Knopje Button topknop spacecon",'spacecon',"Lights"], + ["Knopje Button topknop irc",'irc',"Music"], + ["Knopje Button topknop spacecon",'spacecon',"Home Assistant"], ]; buttons.forEach(function(button) { - appendTo('#LeftButtons', buttonElement(button[0],button[1],button[2])); + var element=buttonElement(button[0],button[1],button[2]); + element.appendChild(createElement('span',{class: 'nav-icon', 'aria-hidden': 'true', html: ''+icons[button[1]]+''})); + appendTo('#LeftButtons', element); }); } @@ -759,14 +883,13 @@ document.addEventListener("DOMContentLoaded", function() { } function bindSearchInput() { + document.getElementById('CommandEnter').addEventListener('click',submitCommand); searchInput().addEventListener("keydown", function(data) { if(data.which === 9) { dotabfill(1); data.preventDefault(); } else if(data.which === 13) { - locked=0; - postmsg('input',this.value); - this.value=""; + submitCommand(); } else { delay(function(){ dotabfill(0); @@ -788,6 +911,24 @@ document.addEventListener("DOMContentLoaded", function() { fillVisibleText(".Knopjetext:visible"); bindButtonEvents(); bindSearchInput(); + document.body.addEventListener('keydown', function(event) { + if(event.target.id === 'Zoek' || (event.key !== 'Enter' && event.key !== ' ')) return; + var button=event.target.closest && event.target.closest('.Knopje'); + if(button) { + event.preventDefault(); + button.click(); + } + }); + if(window.ResizeObserver) { + var textObserver=new window.ResizeObserver(function() { + reflowButtonPages(); + fillVisibleText('.Buttontext:visible'); + fillVisibleText('.Knopjetext:visible'); + fillVisibleText('.Paginatext:visible'); + }); + textObserver.observe(document.getElementById('MainButtons')); + textObserver.observe(document.getElementById('LeftButtons')); + } focus(); postmsg('input',''); }); diff --git a/www/kassa-dom.js b/www/kassa-dom.js index 8102531..4595b48 100644 --- a/www/kassa-dom.js +++ b/www/kassa-dom.js @@ -62,7 +62,7 @@ function fillVisibleText(selector) { allElements(selector).forEach(function(element) { - window.HackBankTextfill.fillElement(element, {maxFontPixels: 5}); + window.HackBankTextfill.fillElement(element, {maxFontPixels: 22, minFontPixels: 12}); }); } @@ -80,6 +80,8 @@ element.className = className; element.id = id; + element.setAttribute('role', 'button'); + element.setAttribute('tabindex', '0'); label.className = textClassName; label.textContent = text; element.appendChild(label); diff --git a/www/kassa-textfill.js b/www/kassa-textfill.js index ebc420f..067261f 100644 --- a/www/kassa-textfill.js +++ b/www/kassa-textfill.js @@ -1,30 +1,23 @@ -var cachepixels = {}; -var cachetop = {}; - (function(window) { function textfillElement(element, options) { - var fontSize = options.maxFontPixels; var parent = element.parentElement; - var maxHeight = parent ? parent.offsetHeight : 0; - var maxWidth = parent ? parent.offsetWidth : 0; - var text = element.textContent; - var textHeight; - var textWidth; - if(cachepixels[text] > 0) { - element.style.fontSize = cachepixels[text] + 'vh'; - element.style.top = cachetop[text]; - return element; + if(!parent || !parent.clientWidth || !parent.clientHeight) return element; + + // Labels can appear in different sized tiles. Measure their current + // space each time instead of caching one size for every repeated name. + element.style.fontSize = ''; + var labelStyle = window.getComputedStyle(element); + var parentStyle = window.getComputedStyle(parent); + var fontSize = Math.min(parseFloat(labelStyle.fontSize), options.maxFontPixels); + var minFontSize = options.minFontPixels || 12; + var maxWidth = element.clientWidth; + var maxHeight = parent.clientHeight - parseFloat(parentStyle.paddingTop) - parseFloat(parentStyle.paddingBottom); + + element.style.fontSize = fontSize + 'px'; + while(fontSize > minFontSize && (element.scrollWidth > maxWidth || element.scrollHeight > maxHeight)) { + fontSize = Math.max(minFontSize, fontSize - 0.5); + element.style.fontSize = fontSize + 'px'; } - do { - element.style.fontSize = fontSize + 'vh'; - textHeight = element.offsetHeight; - textWidth = element.offsetWidth; - cachepixels[text] = fontSize; - fontSize = fontSize - 0.9; - } while ((textHeight > maxHeight || textWidth > maxWidth) && fontSize > 0.5); - textHeight = element.offsetHeight; - cachetop[text] = ((maxHeight - textHeight) / 2) + 'px'; - element.style.top = cachetop[text]; return element; } diff --git a/www/stom.css b/www/stom.css index d1617a7..d039685 100644 --- a/www/stom.css +++ b/www/stom.css @@ -1,507 +1,342 @@ -body { - background-color: #f8f8f8; - overflow: hidden; -} - -#Firstscreen { - background-color: #f8f8f8; -/* width: 1024px; - height: 768px; */ - height: 99vh; - width: 99vw; - position: relative; -} -#Invoer { - background-color: #aaaaaa; - width: 99vw; - height: 5vh; - position: absolute; - left: 0vw; - bottom: 5vh; -} -#Log { - width: 99%; - height: 29vh; - position: absolute; - left: 5px; - bottom: 70px; - top: 64vh; - background-color: #ffffff; - overflow: scroll; - font-size: 3vh; -} - -#Zoek { - -moz-box-sizing: border-box; - -moz-user-input: enable; - -moz-user-select: text; - background-color: #F8F8F8; - border: 1px solid rgba(,0,0,0,0.1); - border-radius: 3px; - color: #222222; - display: block; - font-size: 4vh; - font-weight: normal; - letter-spacing: -1px; - line-height: 4vh; - margin: 0; - outline: medium none; - padding: 0.5vh; - position: relative; - width: 100%; - z-index: 400; -} - -#Receipt { - width: 48vw; - height: 45vh; - position: absolute; - left: 5px; - top: 10px; - color: #000000; - background-color: #ffffff; - font-weight: normal; - font-size: 3vh; - line-height: 4vh; - margin: 0; - outline: medium none; - padding: 0; - overflow:scroll; - overflow-x: hidden; -} -#Receipt2 { - width: 30vw; - height: 64vh; - position: absolute; - left: 66%; - top: 26vh; - color: #000000; - background-color: #ffffff; - font-size: 3vh; - font-weight: normal; - line-height: 4vh; - margin: 0; - outline: medium none; - padding: 0; - overflow:scroll; - overflow-x: hidden; - border-left: solid 1px; -} -.Product { - width: 15.5vw; - position: absolute; - overflow: hidden; - left: 0px; - height: 4vh; -} -.Times { - width: 3vw; - position: absolute; - overflow: hidden; - left: 15.5vw; - text-align: right; -} -.LoseOrGain { - width: 2.5vw; - position: absolute; - left: 18.5vw; - overflow: hidden; - text-align: left; - font-size: 2vh; -} -.Itemeuro:after { - left: 21.5vw; - position: absolute; - content: "€"; -} -.ItemAmount { - outline: medium none; - width: 7vw; - position: relative; - left: 21.5vw; - text-align: right; - overflow: hidden; +/* Self-contained Bootstrap-style container / row / column grid. + No CDN, web fonts, framework JavaScript, or external assets are required. */ +:root { + color-scheme: light; + --ink: #1c2937; + --muted: #65727e; + --shell: #121b28; + --panel: #f1f4f5; + --line: #dce3e6; + --accent: #ffbf69; + --receipt-width: 336px; + --gap: 16px; + --button-columns: 5; + --button-rows: 5; + --buttons-per-page: 25; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; + font-synthesis: none; } - -#Totals { - width: 48vw; - height: 45vh; - position: absolute; - top: 10px; - right: 5px; - color: #000000; - background-color: #ffffff; - font-weight: normal; - font-size: 4vh; - line-height: 5vh; +*, *::before, *::after { box-sizing: border-box; } +html { height: 100%; } +body { + height: 100vh; + height: 100dvh; margin: 0; - outline: medium none; - padding: 0; - overflow:scroll; - overflow-x: hidden; -} -.UserName { - width: 50%; - position: absolute; - overflow: hidden; - left: 0px; -} -.GainOrLose { - width: 20%; - position: absolute; - left: 50%; - overflow: hidden; - text-align: left; -} -.Totaleuro:after { - left: 70%; - position: absolute; - content: "€"; -} -.Totalamount { - outline: medium none; - width: 25%; - position: relative; - left: 85%; - text-align: right; - overflow: hidden; -} -.infoboxes .UserName { - width: 30%; - position: absolute; - overflow: hidden; - left: 0px; -} -.infoboxes .GainOrLose { - width: 10%; - position: absolute; - left: 30%; + padding: 0 20px 18px; + display: flex; + flex-direction: column; + gap: var(--gap); overflow: hidden; - text-align: left; -} -.infoboxes .Totaleuro:after { - left: 46%; - position: absolute; - content: "€"; -} -.infoboxes { - font-size: 25px; -} -.infoboxes .Totalamount { - outline: medium none; - width: 25%; - position: absolute; - left: 33%; - text-align: right; - overflow: hidden; -} -.NowHas { - position: absolute; - left: 60%; - width: 15%; -} -.NowHas:after { - position: absolute; - left: 150%; - width: 15%; - content: "€"; -} -.NewSaldo { - position: relative; - left: 90%; - text-align: right; - width: 15%; -} - - -#Buttons { - width: 99%; - height: 13vh; - position: absolute; - left: 0px; - top: 46vh; - overflow:hidden; -} - + background: radial-gradient(ellipse at top left, #253346 0, transparent 55%), var(--shell); + color: var(--ink); + font-size: 16px; + line-height: 1.4; + -webkit-font-smoothing: antialiased; +} +.container-fluid { width: 100%; margin-right: auto; margin-left: auto; } +.row { display: flex; flex-wrap: wrap; } +.row > * { min-width: 0; } +.col { flex: 1 0 0%; } +.col-auto { flex: 0 0 auto; width: auto; } +h1, h2, p { margin: 0; } +iframe { display: block; border: 0; } +::selection { color: #121b28; background: var(--accent); } +* { scrollbar-width: thin; scrollbar-color: #aebbc3 transparent; } +/* First row: identity and the original register sections. */ +.app-header { + flex: 0 0 82px; + align-items: center; + flex-wrap: nowrap; + gap: 26px; + border-bottom: 1px solid #ffffff12; +} +.brand { display: flex; align-items: center; gap: 10px; } +.brand-logo { display: block; flex: 0 0 auto; width: 84px; height: 56px; padding: 4px; border-radius: 6px; background: #fff; object-fit: contain; } +.brand-name { display: block; color: #f8fafc; font-size: 24px; font-weight: 750; letter-spacing: -1px; } +.brand-caption { display: block; margin-top: 1px; color: #a1adbc; font-size: 9px; font-weight: 600; letter-spacing: 1.3px; } +#LeftButtons { display: flex; align-items: center; gap: 6px; } +/* Keep all command handlers on their existing .Knopje elements. */ .Knopje { - align-items: flex-start; - background-color: #337ab7; - background-image: none; - border-bottom-color: #337ab7; - border-bottom-left-radius: 3px; - border-bottom-right-radius: 3px; - border-bottom-style: none; - border-bottom-width: 0px; - border-image-outset: 0px; - border-image-repeat: stretch; - border-image-slice: 100%; - border-image-source: none; - border-image-width: 1; - border-left-color: #337ab7; - border-left-style: none; - border-left-width: 0px; - border-right-color: #337ab7; - border-right-style: none; - border-right-width: 0px; - border-top-color: #337ab7; - border-top-left-radius: 3px; - border-top-right-radius: 3px; - border-top-style: none; - border-top-width: 0px; - box-shadow: none; - box-sizing: border-box; - color: #FFF; - cursor: pointer; - direction: ltr; - display: inline-block; - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; - font-size: 14px; - font-style: normal; - font-variant: normal; - font-weight: bold; - height: 13vh; - letter-spacing: normal; -/* line-height: 80px; */ - margin-bottom: 0px; - margin-left: 0px; - margin-right: 5px; - margin-top: 5px; - min-width: 13vw; - outline-color: #FFF; - outline-style: none; - outline-width: 0px; - padding-bottom: 9px; - padding-left: 12px; - padding-right: 12px; - padding-top: 9px; position: relative; + display: flex; + align-items: center; + justify-content: center; + min-width: 0; + padding: 12px; + border: 1px solid var(--line); + border-radius: 9px; + background: #fff; + color: var(--ink); + cursor: pointer; + font-size: 17px; + font-weight: 650; + line-height: 1.2; text-align: center; - text-decoration: none solid rgb(255, 255, 255); - text-indent: 0px; - text-shadow: none; - text-transform: none; - vertical-align: middle; - width: 120px; - word-spacing: 0px; - writing-mode: lr-tb; -} -.Button { - background-color: #539ad7; - height: 12vh; - margin-left: 5px; - margin-right: 5px; - margin-top: 5px; - min-width: 12.4vw; - padding-top: 1px; -} + user-select: none; + -webkit-tap-highlight-color: transparent; + transition: background-color 140ms, border-color 140ms, box-shadow 140ms, transform 140ms; +} +.Knopje:hover { border-color: #97a9b7; background-color: #f9fcff; box-shadow: 0 4px 12px #172d4010; transform: translateY(-2px); } +.Knopje:active { transform: translateY(1px) scale(.98); box-shadow: none; } +.Knopje:focus-visible { outline: 3px solid #db860d; outline-offset: 3px; z-index: 1; } +.Knopjetext, .Buttontext, .Paginatext { display: block; min-width: 0; max-width: 100%; overflow-wrap: anywhere; } +.topknop { + flex: 1 1 0; + min-height: 48px; + padding: 10px 7px; + border-color: transparent; + background: transparent; + color: #b9c4d2; + font-size: 13px; + font-weight: 600; + gap: 7px; +} +.topknop:hover { color: #fff; background: #ffffff0c; border-color: #ffffff18; box-shadow: none; } +.topknop.activetop { color: #1e2730; background: var(--accent); box-shadow: 0 3px 14px #ffbf6912; } +.topknop.abort { flex: .8 1 0; color: #f6a1a6; border-color: #dc69702b; background: #7b263226; } +.topknop.abort:hover { color: #fff; border-color: #e17980; background: #8b3542; } +.topknop.spacecon { flex-grow: 1.35; } +.nav-icon { display: flex; flex: 0 0 17px; order: -1; } +.nav-icon svg { width: 17px; height: 17px; } -.abort { - background-color: #B90000; -} -.back { - background-color: #00B900; -} -.ok { - background-color: #00B900; -} -.knopjes { - background-color: #00B900; -} -#Secondscreen { - height: 95vh; - width: 100vw; - width: 100%; - background-color: #f8f8f8; - position: absolute; - top: 0px; - left: 0px; - z-index: 300; - } +/* The flexible left column and a fixed-width paper receipt. */ +.workspace { flex: 1 1 0; min-height: 0; flex-wrap: nowrap; gap: var(--gap); } +.workspace-main { display: flex; min-height: 0; flex-direction: column; overflow: hidden; border: 1px solid #ffffff14; border-radius: 12px; background: var(--panel); } +.screens { position: relative; flex: 1 1 0; min-height: 0; } +.overview-screen, .selection-screen { position: absolute; inset: 0; display: flex; min-height: 0; flex-direction: column; background: var(--panel); } +.overview-screen { padding: 20px; gap: 16px; } +.section-title { font-size: 20px; letter-spacing: -.5px; } +#Receipt { flex: 1; min-height: 0; overflow: auto; } +#Buttons { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; } +#Buttons .Knopje { min-height: 60px; font-size: 15px; } -#IRCwindow { - left: 0.5vw; - top: 13vh; - width: 99%; - background-color: #ffffff; - position: absolute; - height: 83vh; - z-index: 542; -} -#spacewindow { - left: 0.5vw; - top: 13vh; - width: 99%; - background-color: #ffffff; - position: absolute; - height: 83vh; - z-index: 542; -} -#LeftButtons { - left: 2vh; - top: 2.5vh; - width: 100%; - background-color: #f8f8f8; - position: absolute; - height: 13vh; -} +/* Second row: backend prompts, paging, cash, and contextual actions. */ +#TopButtons { + flex: 0 0 auto; + display: flex; + align-items: center; + gap: 8px; + min-height: 72px; + max-height: 30%; + padding: 12px 16px; + overflow: auto; + border-bottom: 1px solid var(--line); + background: #fcfdfd; +} +#TopButtons .Knopje { flex: 0 0 auto; min-height: 42px; max-width: 180px; padding: 8px 14px; font-size: 13px; } +#TopButtons .page { min-width: 90px; color: #526273; background: #edf2f5; border-color: #e0e7eb; } +#TopButtons .page.currentpage { color: #263e50; background: #e0e9ef; border-color: #a1b6c5; } +.Paginatext br { display: block; } +.Question { flex: 1; color: #536371; font-size: 15px; line-height: 1.45; overflow-wrap: anywhere; } +.Question::before { content: "›"; display: inline-block; margin-right: 10px; color: #c87a19; font-size: 21px; font-weight: 700; } +#TopButtons .cash { color: #2f5b4d; background: #e7f1eb; border-color: #cfe3d5; } +.cash::before { content: "€"; margin-right: 7px; font-size: 16px; } #MainButtons { - left: 2vh; - width: 66vw; - height: 65vh; - top: 26vh; - background-color: #FFFFFF; - position: absolute; -} - -#TopButtons { - position: absolute; - left: 2vh; - top: 13vh; - width: 100%; - height: 13vh; - background-color: #f8f8f8; - text-align: center; -} -.Knop { - height: 12vh; - margin-left: 5px; - margin-right: 5px; - margin-top: 5px; - min-width: 12.0vw; - padding-top: 1px; - position: relative; -} -.Buttontext { - position: relative; -} -.Knopjetext { - position: relative; -} -.numbers { - left: 28%; - position: absolute; - width: 70%; -} -.invoer { - font-size: 80px; - line-height: 80px; -} + flex: 1 1 0; + min-height: 0; + padding: 16px; + overflow-x: hidden; + overflow-y: auto; + touch-action: pan-y; + overscroll-behavior-y: contain; + background-image: radial-gradient(#a9bbc326 .7px, transparent .7px); + background-size: 12px 12px; +} +.Pagina { + display: grid; + height: 100%; + grid-template-columns: repeat(var(--button-columns), minmax(0, 1fr)); + grid-template-rows: repeat(var(--button-rows), minmax(72px, 1fr)); + gap: 10px; +} +.Knop { min-height: 72px; padding: 12px; font-size: 18px; box-shadow: 0 2px 2px #20384704; } +.Knop:has(.extra) { justify-content: flex-start; padding-top: 10px; padding-bottom: 30px; text-align: left; } +.Knop .Buttontext { display: -webkit-box; width: 100%; max-height: 2.4em; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; } +.account { background-position: center; background-repeat: no-repeat; background-size: cover; } +.account:has(.extra) { border-top: 2px solid #cfdbdf; } +.account .Buttontext { text-shadow: none; } +.account:hover { border-color: #bb9763; background-color: #fffaf2; } +.productgroups { justify-content: flex-start; text-align: left; border-color: #e7dbca; background: #fffaf1; } +.productgroups::after { content: "↗"; position: absolute; right: 10px; bottom: 7px; color: #ad7a35; font-size: 16px; } .extra { - padding-left: 1vw; - padding-right: 1vw; - background-color: #00b000; - border-radius: 0.5vw; - bottom: 0; - font-size: 2.5vh; position: absolute; -} -.rood { - background-color: red; -} -.orange { - background-color: #FF8300; -} + bottom: 8px; + max-width: calc(100% - 16px); + padding: 3px 7px; + border-radius: 4px; + background: #e8f2ed; + color: #2f6753; + font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace; + font-size: 12px; + font-weight: 600; + font-variant-numeric: tabular-nums; + line-height: 1.2; + overflow-wrap: anywhere; +} +.extra.right { right: 8px; } +.extra.left { left: 8px; } +.extra.rood { color: #a33342; background: #fce6e9; } +.extra.orange { color: #8b5512; background: #fff0d9; } +.extra.fullwidthButton { left: 8px; width: auto; text-align: right; } +/* Accounts are one continuous collection of compact, touch-friendly rows. */ +.account-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); grid-auto-rows: minmax(56px, auto); align-content: start; gap: 8px; } +.account-list .Knop.account { justify-content: space-between; gap: 12px; min-height: 56px; padding: 12px 14px; border-top: 1px solid var(--line); font-size: 17px; text-align: left; } +.account-list .account .Buttontext { flex: 1 1 auto; width: auto; min-width: 0; } +.account-list .account .extra { position: static; flex: 0 0 auto; max-width: 45%; width: auto; margin-left: auto; padding: 4px 8px; font-size: 14px; } +.Knopje.abort:not(.topknop), .Knopje.remove { color: #a33342; border-color: #edc9ce; background: #fff1f2; } +.Knopje.ok, .Knopje.enter, .Knopje.knopjes, .Knopje.back { color: #194d3a; border-color: #b9d9c7; background: #dff0e7; } +.Knopje.undo, .Knopje.restore { color: #815715; border-color: #ead9b9; background: #fff4df; } -.right { - right: 0; -} +/* Activity stays visible while products, accounts, and prompts change. */ +.activity { display: flex; flex: 0 0 58px; min-height: 0; align-items: center; gap: 14px; padding: 10px 16px; overflow: hidden; border-top: 1px solid var(--line); background: #e9eef0; } +.activity-label { flex: 0 0 auto; color: #697c89; font-size: 9px; font-weight: 750; letter-spacing: 1.5px; } +.activity-label::before { content: ""; display: inline-block; width: 5px; height: 5px; margin-right: 7px; border-radius: 50%; background: #789c89; } +#Log { flex: 1; max-height: 100%; overflow: auto; color: #546572; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; } +#Log .lastlog { color: #253b48; } -.left { - left: 0; -} -.small { - height: 7vh; - line-height: 6vh; - width: 5vw; - min-width: 5vw; - font-size: 6vh; - font-height: 6vh; -} -#leeg { - background-color: #fff; -} -#space { - min-width: 40vw; - width: 40vw; -} -.lines { - height: 70vh; - overflow: scroll; - font-size: 2.5vh; -} -.Question { -font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; - border-top-width: 5px; - font-size: 5vh; - line-height: 5vh; - position: absolute; - top: 4vh; - width: 100%; -} -.cash { - left: 0; - position: absolute; -} -.account { - background-position: center; - background-repeat: no-repeat; - background-size: cover; -} -.account .Buttontext, -.account .extra { - text-shadow: 0 1px 2px #000; -} -.account.fullwidthButton { - width: 9.75vw; -} +/* A receipt uses its own columns, never viewport-relative text positions. */ +.receipt-panel { + position: relative; + display: flex; + width: var(--receipt-width); + min-height: 0; + flex-direction: column; + padding: 26px 22px 20px; + border-radius: 10px 10px 0 0; + background: #fffdf8; + box-shadow: 0 8px 28px #00000014; +} +.receipt-panel::after { content: ""; position: absolute; right: 0; bottom: -7px; left: 0; height: 8px; background: linear-gradient(135deg, #fffdf8 25%, transparent 25%) -8px 0 / 16px 16px, linear-gradient(225deg, #fffdf8 25%, transparent 25%) -8px 0 / 16px 16px; } +.receipt-heading { position: relative; padding-bottom: 22px; } +.eyebrow { color: #7f8078; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 10px; letter-spacing: 2px; } +.receipt-heading h2 { margin-top: 5px; color: #27322e; font-size: 28px; font-weight: 750; letter-spacing: -1px; } +.receipt-currency { position: absolute; right: 0; bottom: 26px; padding: 3px 6px; border: 1px solid #deded4; border-radius: 4px; color: #747a71; font-size: 10px; letter-spacing: 1px; } +.receipt-columns { display: grid; grid-template-columns: minmax(0, 1fr) 46px 85px; padding: 12px 0; border-top: 1px dashed #cdd1c7; border-bottom: 1px dashed #cdd1c7; color: #7a8076; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 9px; letter-spacing: 1px; } +.receipt-columns span:not(:first-child) { text-align: right; } +#Receipt2 { flex: 1 1 0; min-height: 70px; padding: 7px 0; overflow: auto; } +.Itemline { display: grid; grid-template-columns: minmax(0, 1fr) 24px 28px 10px minmax(56px, max-content); align-items: baseline; gap: 3px; padding: 14px 0; border-bottom: 1px solid #e6e7df; color: #3e4942; font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace; font-size: 12px; line-height: 1.5; animation: receipt-in 180ms ease-out; } +.Product { min-width: 0; overflow-wrap: anywhere; } +.Times, .ItemAmount, .Totalamount, .NewSaldo { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; } +.LoseOrGain, .GainOrLose { color: #7b8378; font-size: 8px; letter-spacing: .2px; } +.ItemEuro::after, .TotalEuro::after { content: "€"; color: #7b8378; font-size: 10px; } +.ItemAmount { font-weight: 650; } +.receipt-empty { height: 100%; min-height: 170px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 20px 0; color: #83897f; font-size: 12px; text-align: center; } +.receipt-empty strong { margin-top: 8px; color: #626e62; font-size: 14px; font-weight: 550; } +.empty-symbol { display: grid; place-items: center; width: 46px; height: 54px; border: 1px dashed #c3cbbb; border-radius: 5px; color: #91a18a; font-family: ui-monospace, monospace; font-size: 26px; transform: rotate(-6deg); } +#Totals { flex: 0 1 auto; max-height: 30%; min-height: 0; overflow: auto; padding: 14px 0; border-top: 1px dashed #bfc8b9; } +.Userline { display: grid; grid-template-columns: minmax(0, 1fr) 30px 12px max-content; align-items: baseline; gap: 4px; padding: 8px 0; font-size: 15px; font-weight: 650; } +.UserName { min-width: 0; overflow-wrap: anywhere; } +.welcome { padding: 12px 0; color: #7a8276; font-size: 12px; font-weight: 400; line-height: 1.6; } +.receipt-footer { display: flex; align-items: center; flex-direction: column; gap: 10px; padding-top: 16px; color: #8b8e81; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 8px; letter-spacing: 1.2px; } +.receipt-barcode { width: 112px; height: 22px; opacity: .3; background: repeating-linear-gradient(90deg, #425142 0 1px, transparent 1px 3px, #425142 3px 5px, transparent 5px 7px, #425142 7px 8px, transparent 8px 12px, #425142 12px 15px, transparent 15px 17px); } -.activetop { - background-color: #161650; -} -.Spaceknop { - min-width: 20vw; - height: 18vh; -} -.dot { - height: 3vw; - width: 3vw; - background-color: orange; - border-radius: 50%; - display: inline-block; - position: absolute; - top: 0px; - left: 0px; -} -.slider { - background: #d3d3d3; - height: 100%; - width: 25px; - background: #d3d3d3; - outline: none; - opacity: 0.7; - -webkit-transition: .2s; - transition: opacity .2s; -} -.slider::-moz-range-thumb { - width: 25px; - height: 25px; - background: #4CAF50; - cursor: pointer; -} -.topknop { - min-width: 9vw; - margin-left: 0px; -} +/* The command line is always on screen and retains the original input. */ +#Invoer { flex: 0 0 auto; } +.command-caption { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 8px; color: #a0adbc; font-size: 10px; } +.command-caption label { font-weight: 700; letter-spacing: 1.8px; } +.command-help { color: #95a5b7; font-size: 11px; } +.command-input { display: flex; align-items: center; gap: 16px; min-height: 64px; padding: 8px 16px; border: 1px solid #4b5d70; border-radius: 10px; background: #080f19; transition: border-color 180ms, box-shadow 180ms; } +.command-input:focus-within { border-color: #ffbf69b3; box-shadow: 0 0 0 3px #ffbf690a, inset 0 0 32px #ffbf6903; } +.command-prompt { flex: 0 0 auto; color: var(--accent); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 24px; font-weight: 700; } +#Zoek { flex: 1; min-width: 0; width: 100%; padding: 8px 0; border: 0; outline: 0; background: transparent; color: #f8fafc; caret-color: var(--accent); font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace; font-size: 20px; line-height: 1.4; } +#Zoek::placeholder { color: #9aabba; opacity: 1; } +.enter-hint { flex: 0 0 auto; min-width: 88px; min-height: 40px; padding: 8px 12px; border: 1px solid #4b5d70; border-bottom-width: 3px; border-radius: 6px; background: #172434; color: #e4edf7; cursor: pointer; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 11px; letter-spacing: 1px; transition: border-color 140ms, background-color 140ms, transform 140ms; } +.enter-hint:hover { border-color: var(--accent); background: #273547; color: var(--accent); } +.enter-hint:active { transform: translateY(1px); } +.enter-hint:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; } -.slider::-webkit-slider-thumb { - -webkit-appearance: none; - appearance: none; - width: 25px; - height: 25px; - background: #4CAF50; - cursor: pointer; +/* Existing special screens fit inside the same left column. */ +.numbers { display: grid; width: min(100%, 420px); min-height: 100%; margin: 0 auto; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: repeat(4, minmax(64px, 1fr)); gap: 10px; } +.numbers br { display: none; } +.numbers .invoer { font-size: 30px; } +.keys { height: 100%; line-height: 0; } +.keys .small { display: inline-flex; width: calc(100% / 11 - 4px); min-height: 40px; height: calc(100% / 8 - 5px); margin: 2px; padding: 2px; border-radius: 5px; font-size: 17px; line-height: 1; vertical-align: top; } +.keys #space { width: calc(100% * 7 / 11 - 4px); } +.keys #leeg { visibility: hidden; } +.keys br { line-height: 0; } +.infoboxes { display: flex; min-height: 100%; flex-direction: column; gap: 10px; } +.infoboxes .Userline { display: grid; grid-template-columns: minmax(0, 1fr) 44px 14px max-content; gap: 8px; padding: 20px; border: 1px solid #c1d9cb; border-radius: 10px; background: #f7fcf9; font-size: 22px; } +.NowHas { grid-column: 1 / 3; margin-top: 14px; color: #698172; font-size: 13px; font-weight: 400; } +.NewSaldo { grid-column: 3 / 5; margin-top: 14px; color: #31634e; font-size: 20px; } +.NewSaldo::before { content: "€ "; } +.mylines, .lines { height: 100%; padding: 16px; overflow: auto; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: #425364; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 13px; line-height: 1.8; } +.embedded-screen { position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; overflow: hidden; background: #fff; } +.embedded-screen iframe { flex: 1 1 0; width: 100%; min-height: 0; } +.embed-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; padding: 14px 16px; border-bottom: 1px solid var(--line); background: #fcfdfd; font-size: 14px; } +.embed-toolbar strong { margin-right: auto; } +.embed-note { flex: 1; color: var(--muted); font-size: 12px; } +.embed-toolbar a { padding: 8px 12px; border: 1px solid #d3dfd7; border-radius: 6px; background: #eef5f0; color: #285840; font-weight: 600; text-decoration: none; } +.embed-toolbar a:hover { border-color: #7ea58b; background: #e1eee5; } +.embed-toolbar a:focus-visible { outline: 3px solid #db860d; outline-offset: 2px; } + +@keyframes receipt-in { from { opacity: .3; transform: translateY(-5px); } to { opacity: 1; transform: none; } } +@media (min-width: 1600px) and (min-height: 960px) { + :root { --button-columns: 8; --button-rows: 7; --buttons-per-page: 56; } + .Knop { font-size: 20px; } +} +@media (max-width: 1100px) { + :root { --gap: 12px; } + body { padding: 0 14px 14px; } + .app-header { gap: 14px; flex-basis: 74px; } + .brand-logo { width: 68px; height: 46px; } + .brand-name { font-size: 21px; } + .brand-caption { font-size: 8px; letter-spacing: .6px; } + .topknop { flex-direction: column; gap: 5px; min-height: 50px; padding: 6px 4px; font-size: 12px; } + .nav-icon { flex-basis: 14px; } + .nav-icon svg { width: 14px; height: 14px; } + #TopButtons { min-height: 64px; padding: 10px 12px; } + #MainButtons { padding: 12px; } + .Pagina { gap: 8px; } + .Knop { padding: 10px; font-size: 16px; } + .activity { flex-basis: 50px; padding: 8px 12px; } + #Zoek { font-size: 18px; } +} +@media (max-width: 850px) { + :root { --receipt-width: 288px; } + .brand-caption, .nav-icon { display: none; } + .brand-name { font-size: 18px; } + .brand-logo { width: 50px; height: 34px; } + .app-header { gap: 10px; } + #LeftButtons { gap: 2px; } + .topknop { min-height: 42px; font-size: 11px; } + :root { --button-columns: 4; --button-rows: 7; } + .receipt-panel { padding: 20px 16px 16px; } + .receipt-heading h2 { font-size: 25px; } + .Knop { font-size: 15px; } + .command-help { font-size: 10px; } + #Zoek { font-size: 16px; } +} +@media (max-width: 620px) { + body { padding: 0 10px 12px; overflow: auto; } + .app-header { flex-wrap: wrap; flex-basis: auto; gap: 10px; padding: 14px 0 12px; } + .brand { flex: 0 0 100%; } + .brand-caption { display: block; } + .brand-logo { width: 64px; height: 42px; } + #LeftButtons { flex: 0 0 100%; flex-wrap: wrap; gap: 5px; } + .topknop, .topknop.abort { flex: 1 1 22%; min-height: 36px; } + .workspace { flex: 1 0 auto; flex-wrap: wrap; } + .workspace-main { flex: 0 0 100%; height: 460px; } + :root { --button-columns: 3; --button-rows: 9; } + .receipt-panel { width: 100%; min-height: 330px; max-height: 480px; } + #Receipt2 { flex-basis: 130px; } + .command-help { display: none; } + #Invoer { position: sticky; bottom: 0; z-index: 3; padding: 10px 0 0; background: var(--shell); } + .command-input { min-height: 58px; gap: 10px; padding: 8px 12px; } + #Zoek { font-size: 14px; } + .enter-hint { min-width: 64px; padding: 5px; font-size: 9px; } +} +@media (max-height: 700px) and (min-width: 621px) { + .app-header { flex-basis: 64px; } + #TopButtons { min-height: 54px; padding-top: 6px; padding-bottom: 6px; } + .activity { flex-basis: 42px; } + .command-input { min-height: 54px; } + .Pagina { grid-template-rows: repeat(var(--button-rows), minmax(64px, 1fr)); } + .Knop { min-height: 64px; } +} +@media (prefers-reduced-motion: reduce) { + *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } } From fc087f48caa788bbfe8e6d2a400467b89deb30af Mon Sep 17 00:00:00 2001 From: stitch1 Date: Fri, 16 Oct 2026 21:06:00 +0200 Subject: [PATCH 02/25] Fix selection filtering, restore account tabs, and add user themes --- README.md | 17 +++- tests/js/browser-smoke.test.js | 74 ++++++++++++++ tests/js/kassa-app.test.js | 177 ++++++++++++++++++++++++++++++--- www/images/users/README.md | 6 ++ www/images/users/stitch.png | Bin 0 -> 21102 bytes www/kassa-app.js | 133 ++++++++++++++++--------- www/stom.css | 46 +++++++-- 7 files changed, 380 insertions(+), 73 deletions(-) create mode 100644 www/images/users/README.md create mode 100644 www/images/users/stitch.png diff --git a/README.md b/README.md index 8b54c3e..2fb2815 100644 --- a/README.md +++ b/README.md @@ -80,14 +80,23 @@ Sample members, balances, products, and stock are seeded once in the ignored the door command targets the development broker and no printer is connected. All CSS, icons, and JavaScript are served locally, with no CDN or web fonts. -Member and user accounts appear as one continuous list of compact rows, -with native single-finger touch scrolling and mouse-wheel scrolling in the -left panel. Cash and amount controls remain above the list, and the receipt -and command bar stay visible. Account-only search results use the same list. +Member and user accounts use compact rows with page tabs when needed. At +1920×1080 a page holds 66 accounts (six columns and eleven rows); smaller +windows calculate their capacity from the available space. Cash and amount +controls remain above the grid, and the receipt and command bar stay visible. +Filtering keeps the same button sizes, expands results on backspace, and +restores the previous selection and page when cleared. Typing and pasting +both update the filter; Tab still completes a unique match. Products and commands retain pages of up to 56 buttons (8×7) at 1920×1080, or 25 buttons on smaller screens. The command bar's Enter button submits the same command as pressing Enter on the keyboard. +Account themes use the existing `account-` CSS classes. `stitch` +has a local Stitch icon, a `#6088B0` background and bold white text; `BugBlue` +has a slowly animated blue glitter background and white text. Balance badges +keep their debt colours, and the glitter respects reduced-motion settings. +See `www/images/users/README.md` for the icon source. + The Music and Home Assistant shortcuts load their requested pages in the left-hand iframe and include links to open them in a separate tab. Home Assistant is configured to allow embedding. YouTube's homepage still blocks diff --git a/tests/js/browser-smoke.test.js b/tests/js/browser-smoke.test.js index ce8408b..17d7af6 100644 --- a/tests/js/browser-smoke.test.js +++ b/tests/js/browser-smoke.test.js @@ -27,6 +27,7 @@ function runChromium(command, url) { "--no-first-run", "--no-default-browser-check", "--headless", + "--window-size=1920,1080", "--disable-gpu", "--disable-dev-shm-usage", "--no-sandbox", @@ -61,6 +62,7 @@ function writeKassaFixture(bodyScript) { + @@ -176,6 +179,77 @@ test("kassa frontend posts keyboard and button input in a browser", (t) => { ]); }); +test("filtering keeps account cell sizes and backspace restores the previous view", (t) => { + const command = chromiumCommand(); + if(!command) { + t.skip("Chromium is not available"); + return; + } + const fixturePath = writeKassaFixture(` + window.addEventListener("DOMContentLoaded", function() { + setTimeout(function() { + function send(topic, payload) { + window.__eventSource.onmessage({data: JSON.stringify([ + 'hack42bar/output/session/main/' + topic, JSON.stringify(payload) + ])}); + } + var members = ['BugBlue', 'Jan', 'Johan', 'Jos', 'Josef', 'stitch']; + members.concat(['John']).forEach(function(name) { send('accounts/' + name, {amount: 12.5}); }); + send('members', members); + send('nonmembers', ['John']); + send('buttons', {}); + var before = document.querySelector('#AccountList #Jos').getBoundingClientRect(); + var input = document.getElementById('Zoek'); + var counts = []; + function filter(value) { + input.value = value; + input.dispatchEvent(new Event('input', {bubbles: true})); + } + filter('Jos'); + setTimeout(function() { + counts.push(document.querySelectorAll('#AccountList .account').length); + var after = document.querySelector('#AccountList #Jos').getBoundingClientRect(); + filter('Jo'); + setTimeout(function() { + counts.push(document.querySelectorAll('#AccountList .account').length); + filter('J'); + setTimeout(function() { + counts.push(document.querySelectorAll('#AccountList .account').length); + filter(''); + setTimeout(function() { + counts.push(document.querySelectorAll('#AccountList .account').length); + var output = document.createElement('pre'); + output.id = 'smoke-result'; + output.textContent = JSON.stringify({ + beforeWidth: before.width, afterWidth: after.width, + beforeHeight: before.height, afterHeight: after.height, + counts: counts, fetchCount: window.__fetchCalls.length, + hasCash: !!document.querySelector('#TopButtons #cash') + }); + document.body.appendChild(output); + }, 250); + }, 250); + }, 250); + }, 250); + }, 0); + }); + `); + const result = runChromium(command, `file://${fixturePath}`); + fs.unlinkSync(fixturePath); + if(skipIfChromiumSandboxed(t, result)) return; + assert.ifError(result.error); + assert.equal(result.status, 0, result.stderr); + const match = result.stdout.match(/
([^<]+)<\/pre>/);
+  assert(match, result.stdout);
+  const data = JSON.parse(match[1].replaceAll(""", '"').replaceAll("&", "&"));
+  assert(data.beforeWidth > 0);
+  assert(Math.abs(data.beforeWidth - data.afterWidth) < 0.5, JSON.stringify(data));
+  assert(Math.abs(data.beforeHeight - data.afterHeight) < 0.5, JSON.stringify(data));
+  assert.deepEqual(data.counts, [2, 4, 5, 6]);
+  assert.equal(data.fetchCount, 1);
+  assert.equal(data.hasCash, true);
+});
+
 test("the checked-in jQuery vendor file is gone", () => {
   assert.equal(fs.existsSync(path.resolve(__dirname, "../../www/jquery.min.js")), false);
 });
diff --git a/tests/js/kassa-app.test.js b/tests/js/kassa-app.test.js
index 5ec4a33..895863c 100644
--- a/tests/js/kassa-app.test.js
+++ b/tests/js/kassa-app.test.js
@@ -40,6 +40,9 @@ function makeElement(tag, register) {
       this.eventListeners[type] = handler;
     },
     classList: {
+      contains(className) {
+        return element.className.split(/\s+/).includes(className);
+      },
       add(className) {
         const classes = new Set(element.className.split(/\s+/).filter(Boolean));
         classes.add(className);
@@ -137,7 +140,7 @@ function loadScript(sandbox, scriptName) {
   vm.runInNewContext(script, sandbox, {filename: scriptName});
 }
 
-function loadKassaApp({hash = "", pageCapacity = 25} = {}) {
+function loadKassaApp({hash = "", pageCapacity = 25, accountCapacity = 66} = {}) {
   const elements = {};
   const documentListeners = {};
   const eventSources = [];
@@ -193,7 +196,7 @@ function loadKassaApp({hash = "", pageCapacity = 25} = {}) {
 
   const window = {
     getComputedStyle() {
-      return {getPropertyValue: () => String(pageCapacity)};
+      return {getPropertyValue: (name) => String(name === "--accounts-per-page" ? accountCapacity : pageCapacity)};
     },
     HackBankTextfill: {
       fillElement(element, options) {
@@ -311,29 +314,31 @@ test("pagination uses the grid capacity for large and smaller screens", () => {
   });
 });
 
-test("members and other users stay in one list at either page capacity", () => {
-  [25, 56].forEach((capacity) => {
-    const {body, elements, eventSources, timers, fetchCalls} = loadKassaApp({pageCapacity: capacity});
-    const names = Array.from({length: 140}, (_, i) => `user${String(i).padStart(3, "0")}`);
+test("account pages use their own capacity and retain cash and amount controls", () => {
+  [21, 66].forEach((capacity) => {
+    const {body, elements, eventSources, timers, fetchCalls} = loadKassaApp({accountCapacity: capacity});
+    const names = Array.from({length: 191}, (_, i) => `user${String(i).padStart(3, "0")}`);
     const send = (topic, msg) => eventSources[0].onmessage({
       data: JSON.stringify([`hack42bar/output/session/main/${topic}`, JSON.stringify(msg)]),
     });
     names.forEach((name) => send(`accounts/${name}`, {amount: 12.50}));
-    send("members", names.slice(0, 70));
-    send("nonmembers", names.slice(70));
+    send("members", names.slice(0, 66));
+    send("nonmembers", names.slice(66));
     send("buttons", {special: "accountsamount"});
 
-    assert.equal(findAll(elements.AccountList, ".account").length, 70);
-    assert.equal(findAll(elements.TopButtons, ".page").length, 0);
-    assert.equal(findAll(elements.MainButtons, ".Pagina").length, 0);
+    assert.equal(findAll(elements.AccountList, ".account").length, 66);
+    assert.equal(findAll(elements.Page1, ".account").length, capacity);
+    assert.equal(findAll(elements.TopButtons, ".page").length, capacity === 66 ? 0 : 4);
     assert(findFirst(elements.TopButtons, "#cash"));
     assert(findFirst(elements.TopButtons, "#shownumbers"));
 
     elements.Zoek.value = "user";
-    elements.Zoek.eventListeners.keydown.call(elements.Zoek, {which: 85});
+    elements.Zoek.eventListeners.input();
     timers[timers.length - 1].callback();
-    assert.equal(findAll(elements.AccountList, ".account").length, 140);
-    assert.equal(findAll(elements.TopButtons, ".page").length, 0);
+    assert.equal(findAll(elements.AccountList, ".account").length, 191);
+    assert.equal(findAll(elements.TopButtons, ".page").length, Math.ceil(191/capacity));
+    assert(findFirst(elements.TopButtons, "#cash"));
+    assert(findFirst(elements.TopButtons, "#shownumbers"));
     assert.equal(fetchCalls.length, 1);
 
     body.eventListeners.click({target: {
@@ -341,9 +346,149 @@ test("members and other users stay in one list at either page capacity", () => {
         return selector.startsWith("div.Knopje:not") ? findFirst(elements.LeftButtons, "#otherusers") : null;
       },
     }});
-    assert.deepEqual(findAll(elements.AccountList, ".Buttontext").map((el) => el.textContent), names.slice(70));
-    assert.equal(findAll(elements.TopButtons, ".page").length, 0);
+    assert.deepEqual(findAll(elements.AccountList, ".Buttontext").map((el) => el.textContent), names.slice(66));
+    assert.equal(findAll(elements.TopButtons, ".page").length, Math.ceil(125/capacity));
+  });
+});
+
+test("backspacing a user filter expands results and clearing restores the selection", () => {
+  const {elements, eventSources, timers, fetchCalls} = loadKassaApp();
+  const send = (topic, msg) => eventSources[0].onmessage({
+    data: JSON.stringify([`hack42bar/output/session/main/${topic}`, JSON.stringify(msg)]),
+  });
+  const members = ["Jan", "Johan", "Jos", "Josef", "stitch", "BugBlue"];
+  [...members, "John", "Visitor"].forEach((name) => send(`accounts/${name}`, {amount: 12.50}));
+  send("members", members);
+  send("nonmembers", ["John", "Visitor"]);
+  send("buttons", {special: "accountsamount"});
+  function filter(value) {
+    elements.Zoek.value = value;
+    elements.Zoek.eventListeners.input();
+    timers[timers.length - 1].callback();
+    return findAll(elements.MainButtons, ".Buttontext").map((el) => el.textContent);
+  }
+
+  assert.deepEqual(filter("Jos"), ["Jos", "Josef"]);
+  assert.deepEqual(filter("Jo"), ["Johan", "Jos", "Josef", "John"]);
+  assert.deepEqual(filter("J"), ["Jan", "Johan", "Jos", "Josef", "John"]);
+  assert.deepEqual(filter(""), ["BugBlue", "Jan", "Johan", "Jos", "Josef", "stitch"]);
+  assert(findFirst(elements.TopButtons, "#cash"));
+  assert(findFirst(elements.TopButtons, "#shownumbers"));
+  assert.equal(fetchCalls.length, 1);
+});
+
+test("clearing a filter restores the original user tab after no matches", () => {
+  const {body, elements, eventSources, timers, fetchCalls} = loadKassaApp();
+  const send = (topic, msg) => eventSources[0].onmessage({
+    data: JSON.stringify([`hack42bar/output/session/main/${topic}`, JSON.stringify(msg)]),
+  });
+  const names = Array.from({length: 125}, (_, i) => `visitor${String(i).padStart(3, "0")}`);
+  names.forEach((name) => send(`accounts/${name}`, {amount: 0}));
+  send("nonmembers", names);
+  send("buttons", {});
+  body.eventListeners.click({target: {
+    closest(selector) {
+      return selector.startsWith("div.Knopje:not") ? findFirst(elements.LeftButtons, "#otherusers") : null;
+    },
+  }});
+  body.eventListeners.click({target: {
+    closest(selector) {
+      return selector === "div.page" ? findFirst(elements.TopButtons, "#2") : null;
+    },
+  }});
+  assert.equal(elements.Page2.style.display, "");
+
+  elements.Zoek.value = "no-matching-user";
+  elements.Zoek.eventListeners.input();
+  timers[timers.length - 1].callback();
+  assert.equal(findAll(elements.MainButtons, ".Buttontext").length, 0);
+  elements.Zoek.value = "";
+  elements.Zoek.eventListeners.input();
+  timers[timers.length - 1].callback();
+  assert.equal(findAll(elements.Page1, ".account").length, 66);
+  assert.equal(findAll(elements.Page2, ".account").length, 59);
+  assert.equal(elements.Page1.style.display, "none");
+  assert.equal(elements.Page2.style.display, "");
+  assert.equal(findFirst(elements.TopButtons, "#2").classList.contains("currentpage"), true);
+  assert.equal(fetchCalls.length, 1);
+});
+
+test("mixed search results retain the layout of the selected section", () => {
+  const {body, elements, eventSources, timers} = loadKassaApp();
+  const send = (topic, msg) => eventSources[0].onmessage({
+    data: JSON.stringify([`hack42bar/output/session/main/${topic}`, JSON.stringify(msg)]),
+  });
+  send("accounts/Jos", {amount: 10});
+  send("members", ["Jos"]);
+  send("products/jos-soda", {description: "Jos Soda", group: "drinks", price: 1.5, aliases: []});
+  send("buttons", {});
+  function filter(value) {
+    elements.Zoek.value = value;
+    elements.Zoek.eventListeners.input();
+    timers[timers.length - 1].callback();
+  }
+  filter("Jos");
+  assert.equal(findAll(elements.MainButtons, ".Buttontext").length, 2);
+  assert.equal(elements.Page1.classList.contains("account-list"), true);
+  filter("");
+  body.eventListeners.click({target: {
+    closest(selector) {
+      return selector.startsWith("div.Knopje:not") ? findFirst(elements.LeftButtons, "#products") : null;
+    },
+  }});
+  filter("Jos");
+  assert.equal(findAll(elements.MainButtons, ".Buttontext").length, 2);
+  assert.equal(elements.Page1.classList.contains("account-list"), false);
+  filter("");
+  assert.deepEqual(findAll(elements.MainButtons, ".Buttontext").map((el) => el.textContent), ["drinks"]);
+});
+
+test("clearing a product filter restores the selected product group", () => {
+  const {body, elements, eventSources, timers, fetchCalls} = loadKassaApp();
+  const send = (topic, msg) => eventSources[0].onmessage({
+    data: JSON.stringify([`hack42bar/output/session/main/${topic}`, JSON.stringify(msg)]),
   });
+  ["cola", "coffee", "water", "whisky"].forEach((name) => send(`products/${name}`, {
+    description: name, group: "drinks", price: 1.5, aliases: [],
+  }));
+  send("buttons", {special: "products"});
+  body.eventListeners.click({target: {
+    closest(selector) {
+      return selector === "div.productgroups" ? findFirst(elements.MainButtons, "#drinks") : null;
+    },
+  }});
+  function filter(value) {
+    elements.Zoek.value = value;
+    elements.Zoek.eventListeners.input();
+    timers[timers.length - 1].callback();
+    return findAll(elements.MainButtons, ".Buttontext").map((el) => el.textContent);
+  }
+  assert.deepEqual(filter("co"), ["cola", "coffee"]);
+  assert.deepEqual(filter("col"), ["cola"]);
+  assert.deepEqual(filter("c"), ["cola", "coffee"]);
+  assert.deepEqual(filter(""), ["coffee", "cola", "water", "whisky"]);
+  assert.equal(fetchCalls.length, 1);
+});
+
+test("the Stitch icon belongs to the user button and preserves its command", () => {
+  const {body, elements, eventSources, fetchCalls} = loadKassaApp();
+  const send = (topic, msg) => eventSources[0].onmessage({
+    data: JSON.stringify([`hack42bar/output/session/main/${topic}`, JSON.stringify(msg)]),
+  });
+  send("accounts/stitch", {amount: 10});
+  send("members", ["stitch"]);
+  send("buttons", {special: "accounts"});
+  const account = findFirst(elements.AccountList, "#stitch");
+  assert.equal(account.children[0].tag, "img");
+  assert.equal(account.children[0].src, "images/users/stitch.png");
+  assert.equal(account.children[0].alt, "");
+  body.eventListeners.click({target: {
+    closest(selector) {
+      return selector === "div.normal" ? account : null;
+    },
+  }});
+  assert.equal(fetchCalls.length, 2);
+  assert.equal(String(fetchCalls[1].options.body), "topic=session%2Fmain%2Finput&msg=stitch");
 });
 
 test("Music and Home Assistant open the requested frames and switch cleanly", () => {
diff --git a/www/images/users/README.md b/www/images/users/README.md
new file mode 100644
index 0000000..b2f3e49
--- /dev/null
+++ b/www/images/users/README.md
@@ -0,0 +1,6 @@
+# Account icons
+
+`stitch.png` is served locally for the `stitch` account. It is the unmodified
+[Stitch head image from PNGaaa](https://www.pngaaa.com/detail/3869790).
+Stitch is a Disney character. The source lists this image for non-commercial
+use.
diff --git a/www/images/users/stitch.png b/www/images/users/stitch.png
new file mode 100644
index 0000000000000000000000000000000000000000..0c9cef144fce00816b1a780a34f94729c7e99cb9
GIT binary patch
literal 21102
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
FV1mjd?iT<6

literal 0
HcmV?d00001

diff --git a/www/kassa-app.js b/www/kassa-app.js
index 13549d0..84192c0 100644
--- a/www/kassa-app.js
+++ b/www/kassa-app.js
@@ -16,6 +16,8 @@ document.addEventListener("DOMContentLoaded", function() {
   var question="";
   var locked=0;
   var pagedButtons=null;
+  var filterRestore=null;
+  var filtering=false;
   var buttons=window.HackBankButtons;
   var dom=window.HackBankDom;
   var allElements=dom.allElements;
@@ -308,10 +310,23 @@ document.addEventListener("DOMContentLoaded", function() {
     });
     showquestion();
   }
-  function buttonsPerPage() {
+  function buttonsPerPage(accountList) {
     var mainButtons=first('#MainButtons');
     if(!mainButtons || !window.getComputedStyle) return 25;
-    return parseInt(window.getComputedStyle(mainButtons).getPropertyValue('--buttons-per-page'), 10) || 25;
+    var style=window.getComputedStyle(mainButtons);
+    if(accountList) {
+      var width=mainButtons.clientWidth-(parseFloat(style.paddingLeft) || 0)-(parseFloat(style.paddingRight) || 0);
+      var height=mainButtons.clientHeight-(parseFloat(style.paddingTop) || 0)-(parseFloat(style.paddingBottom) || 0);
+      if(width > 0 && height > 0) {
+        var columns=Math.max(1,Math.floor((width+8)/(240+8)));
+        var rows=Math.max(1,Math.floor((height+8)/(56+8)));
+        mainButtons.style.setProperty('--account-columns',columns);
+        mainButtons.style.setProperty('--account-rows',rows);
+        return columns*rows;
+      }
+      return parseInt(style.getPropertyValue('--accounts-per-page'), 10) || 66;
+    }
+    return parseInt(style.getPropertyValue('--buttons-per-page'), 10) || 25;
   }
   function selectButtonPage(id) {
     allElements('#TopButtons .page').forEach(function(button) {
@@ -320,28 +335,46 @@ document.addEventListener("DOMContentLoaded", function() {
     });
     hideElements('.Pagina');
     showElement('#Page'+id);
+    first('#MainButtons').scrollTop=0;
     fillVisibleText('.Buttontext:visible');
   }
-  function reflowButtonPages() {
-    if(!pagedButtons || !first('#MainButtons .Pagina')) return;
-    var capacity=buttonsPerPage();
-    if(capacity === pagedButtons.capacity) return;
-    var activePage=first('#TopButtons .currentpage');
-    var firstIndex=(activePage ? Number(activePage.id)-1 : 0)*pagedButtons.capacity;
-    var extraButtons=allElements('#TopButtons .Knopje').filter(function(button) {
-      return !button.classList.contains('page');
-    });
-    var previous=pagedButtons;
-    makepages(previous.className,previous.buttons);
-    selectButtonPage(Math.floor(firstIndex/capacity)+1);
-    extraButtons.reverse().forEach(function(button) {
+  function selectionSnapshot() {
+    if(!pagedButtons || !allElements('#MainButtons .Pagina').length) return null;
+    var activePage=allElements('#TopButtons .currentpage')[0];
+    return {
+      view: pagedButtons,
+      firstIndex: (activePage ? Number(activePage.id)-1 : 0)*pagedButtons.capacity,
+      extras: allElements('#TopButtons .Knopje').filter(function(button) {
+        return !button.classList.contains('page');
+      }),
+    };
+  }
+  function restoreExtraButtons(snapshot) {
+    snapshot.extras.slice().reverse().forEach(function(button) {
       first('#TopButtons').prepend(button);
     });
   }
+  function restoreSelection(snapshot) {
+    if(!snapshot) return;
+    makepages(snapshot.view.className,snapshot.view.buttons,snapshot.view.accountList);
+    selectButtonPage(Math.floor(snapshot.firstIndex/pagedButtons.capacity)+1);
+    restoreExtraButtons(snapshot);
+  }
+  function reflowButtonPages() {
+    if(!pagedButtons || !allElements('#MainButtons .Pagina').length) return;
+    var capacity=buttonsPerPage(pagedButtons.accountList);
+    if(capacity === pagedButtons.capacity) return;
+    var previousFilter=filterRestore;
+    restoreSelection(selectionSnapshot());
+    filterRestore=previousFilter;
+  }
   function commandButton(extraclass,stuff) {
     var knopje=appendChildren(createElement('div',{class: "Knopje Knop "+stuff.text+" "+extraclass + " " + stuff.class,id: stuff.text, role: 'button', tabindex: '0', title: stuff.display }), [
       createElement('span',{class: "Buttontext ",text: stuff.display}),
     ]);
+    if(stuff.text === 'stitch' && stuff.class && stuff.class.indexOf('account ') === 0) {
+      knopje.prepend(createElement('img',{class: 'account-icon', src: 'images/users/stitch.png', width: '32', height: '32', alt: '', 'aria-hidden': 'true'}));
+    }
     if(stuff.right) {
       var fullwidth='';
       if(!stuff.left && stuff.fill) fullwidth=' fullwidthButton ';
@@ -353,43 +386,42 @@ document.addEventListener("DOMContentLoaded", function() {
     return knopje;
   }
   function makeAccountList(accountButtons) {
-    pagedButtons=null;
-    clearElement('#MainButtons');
-    clearElement('#TopButtons');
-    var list=createElement('div',{id: 'AccountList', class: 'account-list', role: 'group', 'aria-label': 'Accounts'});
-    accountButtons.forEach(function(button) {
-      list.appendChild(commandButton('normal',button));
-    });
-    appendTo('#MainButtons',list);
-    first('#MainButtons').scrollTop=0;
-    fillVisibleText('.Buttontext:visible');
-    showquestion();
+    makepages('normal',accountButtons,true);
   }
-  function makepages(extraclass,buttons) {
-    var capacity=buttonsPerPage();
-    pagedButtons={className: extraclass, buttons: buttons, capacity: capacity};
+  function makepages(extraclass,buttons,accountList) {
+    if(!filtering) filterRestore=null;
+    var capacity=buttonsPerPage(accountList);
+    pagedButtons={className: extraclass, buttons: buttons, capacity: capacity, accountList: !!accountList};
     var pagecount=1;
     clearElement('#MainButtons');
     clearElement('#TopButtons');
-    appendTo('#MainButtons', createElement('div',{id: 'Page'+pagecount, class: 'Pagina'}));
+    first('#MainButtons').scrollTop=0;
+    var container='#MainButtons';
+    var pageClass='Pagina';
+    if(accountList) {
+      appendTo(container,createElement('div',{id: 'AccountList', role: 'group', 'aria-label': 'Accounts'}));
+      container='#AccountList';
+      pageClass+=' account-list';
+    }
+    appendTo(container, createElement('div',{id: 'Page'+pagecount, class: pageClass}));
     appendTo('#TopButtons', topButton("page currentpage",'1',"Page 1"));
     var counter=0;
     var donewpage=0;
-    var first=1;
+    var firstOnPage=1;
     var lastchar="";
     buttons.forEach(function(stuff) {
       if(donewpage === 1) {
         appendToPageLabel(pagecount, ' - '+lastchar);
         pagecount++;
-        appendTo('#MainButtons', createElement('div',{id: 'Page'+pagecount, class: 'Pagina', style: {display: 'none'}}));
+        appendTo(container, createElement('div',{id: 'Page'+pagecount, class: pageClass, style: {display: 'none'}}));
         appendTo('#TopButtons', topButton("page",String(pagecount),"Page "+pagecount));
         counter=0;
         donewpage=0;
-        first=1;
+        firstOnPage=1;
       }
-      if(first === 1) {
+      if(firstOnPage === 1) {
         appendToPageLabel(pagecount, '
'+stuff.display.charAt(0).toUpperCase()); - first=0; + firstOnPage=0; } lastchar=stuff.display.charAt(0).toUpperCase(); appendTo('#Page'+pagecount, commandButton(extraclass,stuff)); @@ -567,9 +599,12 @@ document.addEventListener("DOMContentLoaded", function() { if(!tabenable) return; var dingen=searchValue().split(" "); var zoek=dingen[dingen.length-1].toLowerCase(); - if(zoek.length<2) { - return; + if(!zoek.length) { + restoreSelection(filterRestore); + return; } + if(fill && zoek.length<2) return; + if(!filterRestore) filterRestore=selectionSnapshot(); var buttons=[]; window.HackBankButtons.addMatchingButtons(buttons, window.HackBankButtons.accountsToButtons(accounts,members,nonmembers,'m'), zoek); window.HackBankButtons.addMatchingButtons(buttons, window.HackBankButtons.accountsToButtons(accounts,members,nonmembers,'o'), zoek); @@ -590,12 +625,15 @@ document.addEventListener("DOMContentLoaded", function() { } }); } - if(tabenable === 2 || (buttons.length > 0 && buttons.every(function(button) { - return button.class && button.class.indexOf('account ') === 0; - }))) { - makeAccountList(buttons); - } else { - makepages('normal',buttons); + filtering=true; + try { + var accountList=filterRestore ? filterRestore.view.accountList : (tabenable === 2 || (buttons.length > 0 && buttons.every(function(button) { + return button.class && button.class.indexOf('account ') === 0; + }))); + makepages('normal',buttons,accountList); + if(filterRestore) restoreExtraButtons(filterRestore); + } finally { + filtering=false; } if(buttons.length === 1 && fill) { dingen[dingen.length-1]=buttons[0].text+" "; @@ -890,12 +928,13 @@ document.addEventListener("DOMContentLoaded", function() { data.preventDefault(); } else if(data.which === 13) { submitCommand(); - } else { - delay(function(){ - dotabfill(0); - }, 200 ); } }); + searchInput().addEventListener('input',function() { + delay(function() { + dotabfill(0); + },200); + }); } window.HackBankStream.createSessionStream({ diff --git a/www/stom.css b/www/stom.css index d039685..c51ca5c 100644 --- a/www/stom.css +++ b/www/stom.css @@ -13,6 +13,9 @@ --button-columns: 5; --button-rows: 5; --buttons-per-page: 25; + --account-columns: 6; + --account-rows: 11; + --accounts-per-page: 66; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; font-synthesis: none; } @@ -127,8 +130,9 @@ iframe { display: block; border: 0; } background: #fcfdfd; } #TopButtons .Knopje { flex: 0 0 auto; min-height: 42px; max-width: 180px; padding: 8px 14px; font-size: 13px; } -#TopButtons .page { min-width: 90px; color: #526273; background: #edf2f5; border-color: #e0e7eb; } +#TopButtons .page { min-width: 90px; padding-top: 6px; padding-bottom: 6px; color: #526273; background: #edf2f5; border-color: #e0e7eb; } #TopButtons .page.currentpage { color: #263e50; background: #e0e9ef; border-color: #a1b6c5; } +.Paginatext { line-height: 1.1; } .Paginatext br { display: block; } .Question { flex: 1; color: #536371; font-size: 15px; line-height: 1.45; overflow-wrap: anywhere; } .Question::before { content: "›"; display: inline-block; margin-right: 10px; color: #c87a19; font-size: 21px; font-weight: 700; } @@ -182,11 +186,37 @@ iframe { display: block; border: 0; } .extra.rood { color: #a33342; background: #fce6e9; } .extra.orange { color: #8b5512; background: #fff0d9; } .extra.fullwidthButton { left: 8px; width: auto; text-align: right; } -/* Accounts are one continuous collection of compact, touch-friendly rows. */ -.account-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); grid-auto-rows: minmax(56px, auto); align-content: start; gap: 8px; } -.account-list .Knop.account { justify-content: space-between; gap: 12px; min-height: 56px; padding: 12px 14px; border-top: 1px solid var(--line); font-size: 17px; text-align: left; } -.account-list .account .Buttontext { flex: 1 1 auto; width: auto; min-width: 0; } -.account-list .account .extra { position: static; flex: 0 0 auto; max-width: 45%; width: auto; margin-left: auto; padding: 4px 8px; font-size: 14px; } +/* Keep empty cells when filtering; account pages fit the available screen. */ +#AccountList { height: 100%; } +.account-list { grid-template-columns: repeat(var(--account-columns), minmax(0, 1fr)); grid-template-rows: repeat(var(--account-rows), minmax(0, 1fr)); gap: 8px; } +.account-list .Knop { justify-content: space-between; gap: 10px; min-height: 56px; padding: 8px 12px; border-top: 1px solid var(--line); font-size: 17px; text-align: left; overflow: hidden; } +.account-list .Knop .Buttontext { flex: 1 1 auto; width: auto; min-width: 0; } +.account-list .Knop .extra { position: static; flex: 0 0 auto; max-width: 45%; width: auto; margin-left: auto; padding: 4px 8px; font-size: 14px; } +.account-icon { display: block; flex: 0 0 32px; width: 32px; height: 32px; object-fit: contain; pointer-events: none; } + +/* Personal account themes are presentation only; balances keep their meaning. */ +.Knop.account-stitch { border-color: #6088B0; background-color: #6088B0; color: #fff; font-weight: 750; } +.Knop.account-stitch:hover { border-color: #b9dfff; background-color: #6088B0; box-shadow: 0 4px 14px #254a7030; } +.account-stitch .Buttontext { text-shadow: 0 1px 1px #1c3b5e60; } +.Knop.account-BugBlue { + border-color: #315fb0; + background-color: #153a79; + background-image: + radial-gradient(circle, #fff 0 .6px, transparent 1.3px), + radial-gradient(circle, #b4e7ffcc 0 .7px, transparent 1.4px), + radial-gradient(circle, #69b5ff99 0 1px, transparent 1.7px), + radial-gradient(circle, #d4c6ff99 0 .5px, transparent 1.2px), + linear-gradient(115deg, #102b65, #285c9d 45%, #16477f 65%, #142e6b); + background-size: 13px 17px, 23px 19px, 17px 29px, 31px 23px, 200% 100%; + background-repeat: repeat, repeat, repeat, repeat, no-repeat; + color: #fff; + animation: blue-glitter 24s ease-in-out infinite alternate; +} +.Knop.account-BugBlue:hover { border-color: #a7d4ff; background-color: #153a79; box-shadow: 0 4px 14px #214b8e30; } +.account-BugBlue .Buttontext { text-shadow: 0 1px 3px #061a43; } +.account:is(.account-stitch, .account-BugBlue) .extra { color: #fff; background: #102c58b3; } +.account:is(.account-stitch, .account-BugBlue) .extra.rood { color: #a33342; background: #fce6e9; } +.account:is(.account-stitch, .account-BugBlue) .extra.orange { color: #8b5512; background: #fff0d9; } .Knopje.abort:not(.topknop), .Knopje.remove { color: #a33342; border-color: #edc9ce; background: #fff1f2; } .Knopje.ok, .Knopje.enter, .Knopje.knopjes, .Knopje.back { color: #194d3a; border-color: #b9d9c7; background: #dff0e7; } .Knopje.undo, .Knopje.restore { color: #815715; border-color: #ead9b9; background: #fff4df; } @@ -274,6 +304,10 @@ iframe { display: block; border: 0; } .embed-toolbar a:focus-visible { outline: 3px solid #db860d; outline-offset: 2px; } @keyframes receipt-in { from { opacity: .3; transform: translateY(-5px); } to { opacity: 1; transform: none; } } +@keyframes blue-glitter { + from { background-position: 0 0, 8px 3px, 3px 11px, 15px 7px, 0 50%; } + to { background-position: 13px 17px, -15px 22px, 20px -18px, -16px 30px, 100% 50%; } +} @media (min-width: 1600px) and (min-height: 960px) { :root { --button-columns: 8; --button-rows: 7; --buttons-per-page: 56; } .Knop { font-size: 20px; } From f82c9c8c07dcbe4d20ebaeb336004b098cb96787 Mon Sep 17 00:00:00 2001 From: stitch1 Date: Fri, 16 Oct 2026 21:17:40 +0200 Subject: [PATCH 03/25] Enlarge account touch targets, add logo Abort, and trim sound controls --- README.md | 10 ++++++--- tests/js/browser-smoke.test.js | 1 + tests/js/kassa-app.test.js | 37 +++++++++++++++++++++++++++++----- tests/js/kassa-buttons.test.js | 21 +++++++++++++++++++ www/index.html | 12 +++++------ www/kassa-app.js | 20 ++++++++++++------ www/kassa-buttons.js | 10 ++++++++- www/stom.css | 12 +++++++---- 8 files changed, 98 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index 2fb2815..c436c42 100644 --- a/README.md +++ b/README.md @@ -80,9 +80,10 @@ Sample members, balances, products, and stock are seeded once in the ignored the door command targets the development broker and no printer is connected. All CSS, icons, and JavaScript are served locally, with no CDN or web fonts. -Member and user accounts use compact rows with page tabs when needed. At -1920×1080 a page holds 66 accounts (six columns and eleven rows); smaller -windows calculate their capacity from the available space. Cash and amount +Member and user accounts use 84px-tall buttons, 50% taller than the original +compact rows, with page tabs when needed. At 1920×1080 a page holds 42 accounts +(six columns and seven rows); smaller windows calculate their capacity from +the available space. Cash and amount controls remain above the grid, and the receipt and command bar stay visible. Filtering keeps the same button sizes, expands results on backspace, and restores the previous selection and page when cleared. Typing and pasting @@ -90,6 +91,9 @@ both update the filter; Tab still completes a unique match. Products and commands retain pages of up to 56 buttons (8×7) at 1920×1080, or 25 buttons on smaller screens. The command bar's Enter button submits the same command as pressing Enter on the keyboard. +Clicking the Hack42 logo also sends Abort and clears the command input. +The Sounds menu and command search omit Deur off/on, Groove Salad, Jazz Radio +Blues, Kill Music, Louder and Quieter. Account themes use the existing `account-` CSS classes. `stitch` has a local Stitch icon, a `#6088B0` background and bold white text; `BugBlue` diff --git a/tests/js/browser-smoke.test.js b/tests/js/browser-smoke.test.js index 17d7af6..de7a36d 100644 --- a/tests/js/browser-smoke.test.js +++ b/tests/js/browser-smoke.test.js @@ -243,6 +243,7 @@ test("filtering keeps account cell sizes and backspace restores the previous vie assert(match, result.stdout); const data = JSON.parse(match[1].replaceAll(""", '"').replaceAll("&", "&")); assert(data.beforeWidth > 0); + assert.equal(data.beforeHeight, 84); assert(Math.abs(data.beforeWidth - data.afterWidth) < 0.5, JSON.stringify(data)); assert(Math.abs(data.beforeHeight - data.afterHeight) < 0.5, JSON.stringify(data)); assert.deepEqual(data.counts, [2, 4, 5, 6]); diff --git a/tests/js/kassa-app.test.js b/tests/js/kassa-app.test.js index 895863c..e1deea2 100644 --- a/tests/js/kassa-app.test.js +++ b/tests/js/kassa-app.test.js @@ -140,7 +140,7 @@ function loadScript(sandbox, scriptName) { vm.runInNewContext(script, sandbox, {filename: scriptName}); } -function loadKassaApp({hash = "", pageCapacity = 25, accountCapacity = 66} = {}) { +function loadKassaApp({hash = "", pageCapacity = 25, accountCapacity = 42} = {}) { const elements = {}; const documentListeners = {}; const eventSources = []; @@ -299,6 +299,32 @@ test("the command Enter button submits once, clears the input and restores focus assert.equal(input.focused, true); }); +test("the Hack42 logo aborts once even with an unfinished command in the input", () => { + const {elements, fetchCalls} = loadKassaApp({hash: "#bar"}); + elements.Zoek.value = "2* cola"; + elements.LogoAbort.eventListeners.click(); + + assert.equal(elements.LogoAbort.tag, "button"); + assert.equal(elements.LogoAbort.type, "button"); + assert.equal(fetchCalls.length, 2); + assert.equal(String(fetchCalls[1].options.body), "topic=session%2Fbar%2Finput&msg=abort"); + assert.equal(elements.Zoek.value, ""); + assert.equal(elements.Zoek.focused, true); +}); + +test("custom sound menus omit the retired controls and keep the remaining choices", () => { + const {elements, eventSources, fetchCalls} = loadKassaApp(); + const names = ["abort", "ns", "deuron", "deuroff", "kassaon", "kassaoff", "killsounds", "groovesalad", "christmas", "blues", "quieter", "louder", "vergaderen"]; + eventSources[0].onmessage({data: JSON.stringify([ + "hack42bar/output/session/main/buttons", + JSON.stringify({special: "custom", custom: names.map((name) => ({text: name, display: name}))}), + ])}); + assert.deepEqual(findAll(elements.MainButtons, ".Buttontext").map((el) => el.textContent), [ + "abort", "christmas", "kassaoff", "kassaon", "ns", "vergaderen", + ]); + assert.equal(fetchCalls.length, 1); +}); + test("pagination uses the grid capacity for large and smaller screens", () => { [25, 56].forEach((capacity) => { const {elements, eventSources} = loadKassaApp({pageCapacity: capacity}); @@ -315,7 +341,7 @@ test("pagination uses the grid capacity for large and smaller screens", () => { }); test("account pages use their own capacity and retain cash and amount controls", () => { - [21, 66].forEach((capacity) => { + [18, 42].forEach((capacity) => { const {body, elements, eventSources, timers, fetchCalls} = loadKassaApp({accountCapacity: capacity}); const names = Array.from({length: 191}, (_, i) => `user${String(i).padStart(3, "0")}`); const send = (topic, msg) => eventSources[0].onmessage({ @@ -328,7 +354,7 @@ test("account pages use their own capacity and retain cash and amount controls", assert.equal(findAll(elements.AccountList, ".account").length, 66); assert.equal(findAll(elements.Page1, ".account").length, capacity); - assert.equal(findAll(elements.TopButtons, ".page").length, capacity === 66 ? 0 : 4); + assert.equal(findAll(elements.TopButtons, ".page").length, Math.ceil(66/capacity)); assert(findFirst(elements.TopButtons, "#cash")); assert(findFirst(elements.TopButtons, "#shownumbers")); @@ -405,8 +431,9 @@ test("clearing a filter restores the original user tab after no matches", () => elements.Zoek.value = ""; elements.Zoek.eventListeners.input(); timers[timers.length - 1].callback(); - assert.equal(findAll(elements.Page1, ".account").length, 66); - assert.equal(findAll(elements.Page2, ".account").length, 59); + assert.equal(findAll(elements.Page1, ".account").length, 42); + assert.equal(findAll(elements.Page2, ".account").length, 42); + assert.equal(findAll(elements.Page3, ".account").length, 41); assert.equal(elements.Page1.style.display, "none"); assert.equal(elements.Page2.style.display, ""); assert.equal(findFirst(elements.TopButtons, "#2").classList.contains("currentpage"), true); diff --git a/tests/js/kassa-buttons.test.js b/tests/js/kassa-buttons.test.js index c96196e..aa0ebd5 100644 --- a/tests/js/kassa-buttons.test.js +++ b/tests/js/kassa-buttons.test.js @@ -146,3 +146,24 @@ test("product button helpers include prices, stock and aliases for app pages", ( "123", ]); }); + +test("retired sound controls are absent from command menus and search candidates", () => { + const helpers = loadButtonHelpers(); + const commands = { + deuroff: "Deur off", deuron: "Deur on", groovesalad: "Groove Salad", + blues: "Jazz Radio Blues", killsounds: "Kill Music", louder: "Louder", quieter: "Quieter", + sounds: "All sound commands", ns: "Ding Dong", kassaon: "Kassa on", kassaoff: "Kassa off", + christmas: "christmas", vergaderen: "Vergaderen!", + }; + const visible = helpers.commandsToButtons(commands); + assert.deepEqual(plain(visible.map((button) => button.text)), [ + "christmas", "kassaoff", "kassaon", "ns", "sounds", "vergaderen", + ]); + const matches = []; + helpers.addMatchingButtons(matches, visible, "loud"); + assert.deepEqual(matches, []); + assert.equal(commands.louder, "Louder"); + assert.equal(helpers.productGroupToButtons({ + blues: {description: "Blues beer", price: 2.5, group: "drinks"}, + }, {}, "drinks")[0].text, "blues"); +}); diff --git a/www/index.html b/www/index.html index 679632f..768af8d 100644 --- a/www/index.html +++ b/www/index.html @@ -6,12 +6,12 @@ HackBank · Hack42 - - - - - - + + + + + + diff --git a/www/kassa-app.js b/www/kassa-app.js index 84192c0..63035d8 100644 --- a/www/kassa-app.js +++ b/www/kassa-app.js @@ -317,14 +317,15 @@ document.addEventListener("DOMContentLoaded", function() { if(accountList) { var width=mainButtons.clientWidth-(parseFloat(style.paddingLeft) || 0)-(parseFloat(style.paddingRight) || 0); var height=mainButtons.clientHeight-(parseFloat(style.paddingTop) || 0)-(parseFloat(style.paddingBottom) || 0); + var rowHeight=parseFloat(style.getPropertyValue('--account-row-height')) || 84; if(width > 0 && height > 0) { var columns=Math.max(1,Math.floor((width+8)/(240+8))); - var rows=Math.max(1,Math.floor((height+8)/(56+8))); + var rows=Math.max(1,Math.floor((height+8)/(rowHeight+8))); mainButtons.style.setProperty('--account-columns',columns); mainButtons.style.setProperty('--account-rows',rows); return columns*rows; } - return parseInt(style.getPropertyValue('--accounts-per-page'), 10) || 66; + return parseInt(style.getPropertyValue('--accounts-per-page'), 10) || 42; } return parseInt(style.getPropertyValue('--buttons-per-page'), 10) || 25; } @@ -453,12 +454,13 @@ document.addEventListener("DOMContentLoaded", function() { } else if (buttons['special'] === 'custom') { activateTopButton('commands'); showElement('#Secondscreen'); + var customButtons=window.HackBankButtons.visibleCommandButtons(buttons['custom']); if(buttons['sort'] === "text") { - buttons['custom'].sort(window.HackBankButtons.compareTextReverse); + customButtons.sort(window.HackBankButtons.compareTextReverse); } else { - buttons['custom'].sort(window.HackBankButtons.compareDisplay); + customButtons.sort(window.HackBankButtons.compareDisplay); } - makepages('normal',buttons['custom']); + makepages('normal',customButtons); focus(); tabenable=0; } else if (buttons['special'] === 'accounts') { @@ -812,8 +814,14 @@ document.addEventListener("DOMContentLoaded", function() { function buildLayout() { var header=createElement('header',{class: 'app-header row'}); + var logoAbort=createElement('button',{id: 'LogoAbort', class: 'brand-abort', type: 'button', title: 'Abort current sale', 'aria-label': 'Hack42 — Abort current sale'}); + logoAbort.appendChild(createElement('img',{class: 'brand-logo', src: 'images/Hack42.png', alt: 'Hack42 · Hackerspace Arnhem', width: '84', height: '56'})); + logoAbort.addEventListener('click',function() { + setSearchValue('abort'); + submitCommand(); + }); header.appendChild(appendChildren(createElement('div',{class: 'brand col-auto'}), [ - createElement('img',{class: 'brand-logo', src: 'images/Hack42.png', alt: 'Hack42 · Hackerspace Arnhem', width: '84', height: '56'}), + logoAbort, appendChildren(createElement('div'), [ createElement('span',{class: 'brand-name', text: 'hackbank'}), createElement('span',{class: 'brand-caption', text: 'HACK42 · BAR & DRINKS'}), diff --git a/www/kassa-buttons.js b/www/kassa-buttons.js index 08b3c64..b2c398f 100644 --- a/www/kassa-buttons.js +++ b/www/kassa-buttons.js @@ -51,12 +51,19 @@ return buttons; } + function visibleCommandButtons(buttons) { + var hiddenSoundCommands=['deuroff', 'deuron', 'groovesalad', 'blues', 'killsounds', 'louder', 'quieter']; + return buttons.filter(function(button) { + return hiddenSoundCommands.indexOf(button.text) === -1; + }); + } + function commandsToButtons(commands) { var buttons = []; Object.keys(commands).sort().forEach(function(command) { buttons.push({text: command, display: commands[command], class: command}); }); - return buttons; + return visibleCommandButtons(buttons); } function accountsToButtons(accounts, members, nonmembers, type) { @@ -153,5 +160,6 @@ productGroupToButtons: productGroupToButtons, productsToButtons: productsToButtons, rebuildProductIndexes: rebuildProductIndexes, + visibleCommandButtons: visibleCommandButtons, }; })(window); diff --git a/www/stom.css b/www/stom.css index c51ca5c..cf31c7b 100644 --- a/www/stom.css +++ b/www/stom.css @@ -14,8 +14,9 @@ --button-rows: 5; --buttons-per-page: 25; --account-columns: 6; - --account-rows: 11; - --accounts-per-page: 66; + --account-rows: 7; + --account-row-height: 84px; + --accounts-per-page: 42; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; font-synthesis: none; } @@ -56,6 +57,9 @@ iframe { display: block; border: 0; } border-bottom: 1px solid #ffffff12; } .brand { display: flex; align-items: center; gap: 10px; } +.brand-abort { display: block; flex: 0 0 auto; padding: 0; border: 0; border-radius: 6px; background: transparent; cursor: pointer; } +.brand-abort:hover { box-shadow: 0 0 0 3px #ffbf6980; } +.brand-abort:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; } .brand-logo { display: block; flex: 0 0 auto; width: 84px; height: 56px; padding: 4px; border-radius: 6px; background: #fff; object-fit: contain; } .brand-name { display: block; color: #f8fafc; font-size: 24px; font-weight: 750; letter-spacing: -1px; } .brand-caption { display: block; margin-top: 1px; color: #a1adbc; font-size: 9px; font-weight: 600; letter-spacing: 1.3px; } @@ -188,8 +192,8 @@ iframe { display: block; border: 0; } .extra.fullwidthButton { left: 8px; width: auto; text-align: right; } /* Keep empty cells when filtering; account pages fit the available screen. */ #AccountList { height: 100%; } -.account-list { grid-template-columns: repeat(var(--account-columns), minmax(0, 1fr)); grid-template-rows: repeat(var(--account-rows), minmax(0, 1fr)); gap: 8px; } -.account-list .Knop { justify-content: space-between; gap: 10px; min-height: 56px; padding: 8px 12px; border-top: 1px solid var(--line); font-size: 17px; text-align: left; overflow: hidden; } +.account-list { grid-template-columns: repeat(var(--account-columns), minmax(0, 1fr)); grid-template-rows: repeat(var(--account-rows), var(--account-row-height)); align-content: start; gap: 8px; } +.account-list .Knop { justify-content: space-between; gap: 10px; min-height: var(--account-row-height); padding: 8px 12px; border-top: 1px solid var(--line); font-size: 17px; text-align: left; overflow: hidden; } .account-list .Knop .Buttontext { flex: 1 1 auto; width: auto; min-width: 0; } .account-list .Knop .extra { position: static; flex: 0 0 auto; max-width: 45%; width: auto; margin-left: auto; padding: 4px 8px; font-size: 14px; } .account-icon { display: block; flex: 0 0 32px; width: 32px; height: 32px; object-fit: contain; pointer-events: none; } From 6bb27271f99367e54a4291088c05e49fe65bd3d9 Mon Sep 17 00:00:00 2001 From: stitch1 Date: Fri, 16 Oct 2026 21:50:46 +0200 Subject: [PATCH 04/25] Improve touch controls, add account themes and live audio sliders --- README.md | 53 +++++++-- audio_control.py | 148 +++++++++++++++++++++++ compose.dev.yaml | 15 +++ deploy/hackbank-audio-control.service | 25 ++++ package.json | 2 +- tests/js/browser-smoke.test.js | 1 + tests/js/index-scripts.test.js | 3 +- tests/js/kassa-app.test.js | 44 ++++--- tests/js/kassa-audio.test.js | 139 ++++++++++++++++++++++ tests/js/kassa-buttons.test.js | 16 ++- tests/test_audio_control.py | 116 ++++++++++++++++++ www/audio.php | 66 +++++++++++ www/index.html | 15 +-- www/kassa-app.js | 63 ++++++++-- www/kassa-audio.js | 165 ++++++++++++++++++++++++++ www/kassa-buttons.js | 5 +- www/stom.css | 69 +++++++++-- 17 files changed, 887 insertions(+), 58 deletions(-) create mode 100644 audio_control.py create mode 100644 deploy/hackbank-audio-control.service create mode 100644 tests/js/kassa-audio.test.js create mode 100644 tests/test_audio_control.py create mode 100644 www/audio.php create mode 100644 www/kassa-audio.js diff --git a/README.md b/README.md index c436c42..819623a 100644 --- a/README.md +++ b/README.md @@ -73,8 +73,8 @@ For the self-contained UI development setup at **http://localhost:4123**: docker compose -f compose.dev.yaml up -d --build ``` -This runs PHP, MQTT, and the unchanged Python backend in project-specific -containers. The UI assets are mounted from `www`, so edits appear on refresh. +This runs PHP, MQTT, the unchanged Python backend, and a demo audio controller +in project-specific containers. The UI assets are mounted from `www`, so edits appear on refresh. Sample members, balances, products, and stock are seeded once in the ignored `dev/data` directory. This setup does not use production data or hardware; the door command targets the development broker and no printer is connected. @@ -91,20 +91,28 @@ both update the filter; Tab still completes a unique match. Products and commands retain pages of up to 56 buttons (8×7) at 1920×1080, or 25 buttons on smaller screens. The command bar's Enter button submits the same command as pressing Enter on the keyboard. -Clicking the Hack42 logo also sends Abort and clears the command input. +The larger Members/Other users buttons and page tabs support touch selection. +Clicking anywhere in the Hack42 logo, title, and subtitle area sends Abort and +clears the command input. The Sounds menu and command search omit Deur off/on, Groove Salad, Jazz Radio -Blues, Kill Music, Louder and Quieter. +Blues, Kill Music, Louder, Quieter and Kassa off/on. Sounds provides two large +volume sliders for HackBank POS effects and Space audio. Each reads the current +output volume, applies changes, and refreshes every two seconds while open. +The development audio controller uses in-memory demo levels and never connects +to a sound device. Account themes use the existing `account-` CSS classes. `stitch` has a local Stitch icon, a `#6088B0` background and bold white text; `BugBlue` -has a slowly animated blue glitter background and white text. Balance badges -keep their debt colours, and the glitter respects reduced-motion settings. +has a slowly animated blue glitter background and white text. Jos has a gold +key icon and dark theme; nino has a Ukrainian flag background; the existing Anus +account has an animated plasma effect. These three names match without regard +to case. Balance badges keep their debt colours, and animations respect +reduced-motion settings. See `www/images/users/README.md` for the icon source. -The Music and Home Assistant shortcuts load their requested pages in the -left-hand iframe and include links to open them in a separate tab. Home -Assistant is configured to allow embedding. YouTube's homepage still blocks -embedding, so its toolbar includes a separate-tab hint. +The Home Assistant shortcut opens its page in the left-hand iframe, with a link +to open it in a separate tab. Music is hidden until a LAN music interface is +available. The [supplied Hack42 logo](https://johnkr.com/wp-content/uploads/sites/2/2015/12/Hack42.png) is already included as `www/images/Hack42.png` and is now displayed in the header. @@ -119,3 +127,28 @@ start an mqtt server on port 1883, an apache+php server serving the files in 'www' on port 4242, and hook them up to each other. All that's left is to run `kassa.py` and point your browser at http://localhost:4242 + +### Production audio controls + +`audio_control.py` uses the system's existing `pactl` command to read and adjust +only `hackbank_pos` (POS effects) and `snapcast` (Space audio). It does not change +the existing audio routing. `www/audio.php` connects to the controller through +`/run/hackbank-audio/control.sock`; the controller does not open a network port. +Volumes range from 0 to 100 percent; zero also mutes, and a nonzero setting +unmutes that output. Missing devices or an unavailable controller disable the +affected sliders. Financial commands continue through the existing backend. + +The supplied systemd unit targets the bar installation at `/home/barapp/kassa`, +runs as kiosk user `bar`, and gives Apache's `www` group access to the socket. +After deploying the UI branch, register and start it as root: + +```sh +systemctl enable --now /home/barapp/kassa/deploy/hackbank-audio-control.service +systemctl status hackbank-audio-control.service +``` + +The unit depends on the existing kiosk PulseAudio/PipeWire socket and named +outputs. The page title remains `Hack42 - HackBank`, the identifier used by the +existing POS audio router. No POS backend restart is needed for these UI changes. +For a different installation, adapt the unit's application path, kiosk user, +web-server group, and runtime audio socket before enabling it. diff --git a/audio_control.py b/audio_control.py new file mode 100644 index 0000000..38e532f --- /dev/null +++ b/audio_control.py @@ -0,0 +1,148 @@ +"""Expose only the two HackBank output volumes over a local Unix socket.""" + +import argparse +from http.server import BaseHTTPRequestHandler +import json +import os +from pathlib import Path +import socketserver +import stat +import subprocess +import threading + + +OUTPUTS = {"pos": "hackbank_pos", "space": "snapcast"} + + +def validate_volume(channel, volume): + if channel not in OUTPUTS: + raise ValueError("Unknown audio output") + if type(volume) is not int or not 0 <= volume <= 100: + raise ValueError("Volume must be an integer from 0 to 100") + + +class PulseAudio: + def __init__(self, run=None): + self.run = run or self._run + + @staticmethod + def _run(*args): + return subprocess.run( + ["/usr/bin/pactl", *args], check=True, capture_output=True, + text=True, timeout=4, + ).stdout + + def read(self): + sinks = {sink["name"]: sink for sink in json.loads(self.run("-f", "json", "list", "sinks"))} + channels = {} + for channel, name in OUTPUTS.items(): + sink = sinks.get(name) + values = [entry["value"] for entry in sink.get("volume", {}).values()] if sink else [] + channels[channel] = { + "available": bool(values), + "volume": round(sum(values) / len(values) * 100 / 65536) if values else None, + "muted": bool(sink and sink.get("mute")), + } + return {"channels": channels} + + def set(self, channel, volume): + validate_volume(channel, volume) + if not self.read()["channels"][channel]["available"]: + raise RuntimeError("Audio output is unavailable") + self.run("set-sink-volume", OUTPUTS[channel], f"{volume}%") + self.run("set-sink-mute", OUTPUTS[channel], "1" if volume == 0 else "0") + return self.read() + + +class DemoAudio: + """Development-only state; never connects to an audio device.""" + def __init__(self): + self.volumes = {"pos": 35, "space": 70} + + def read(self): + return {"channels": { + channel: {"available": True, "volume": volume, "muted": volume == 0} + for channel, volume in self.volumes.items() + }} + + def set(self, channel, volume): + validate_volume(channel, volume) + self.volumes[channel] = volume + return self.read() + + +class AudioRequest(BaseHTTPRequestHandler): + def setup(self): + super().setup() + self.connection.settimeout(5) + + def address_string(self): + return "local" + + def _reply(self, status, body): + data = json.dumps(body).encode() + self.send_response(status) + self.send_header("Content-Type", "application/json") + self.send_header("Cache-Control", "no-store") + self.send_header("Content-Length", str(len(data))) + self.end_headers() + self.wfile.write(data) + + def _dispatch(self, write=False): + if self.path != "/volume": + self._reply(404, {"error": "Unknown endpoint"}) + return + try: + with self.server.audio_lock: + if write: + if self.headers.get_content_type() != "application/json": + self._reply(415, {"error": "JSON required"}) + return + length = int(self.headers.get("Content-Length", "0")) + if not 0 < length <= 256: + raise ValueError("Invalid request length") + request = json.loads(self.rfile.read(length)) + if not isinstance(request, dict) or set(request) != {"channel", "volume"}: + raise ValueError("Invalid volume request") + state = self.server.audio.set(request["channel"], request["volume"]) + else: + state = self.server.audio.read() + self._reply(200, state) + except (ValueError, TypeError, KeyError): + self._reply(400, {"error": "Invalid volume request"}) + except (OSError, RuntimeError, subprocess.SubprocessError): + self._reply(503, {"error": "Audio system is unavailable"}) + + def do_GET(self): # pylint: disable=invalid-name + self._dispatch() + + def do_POST(self): # pylint: disable=invalid-name + self._dispatch(write=True) + + +class AudioServer(socketserver.ThreadingUnixStreamServer): + daemon_threads = True + + def __init__(self, path, audio): + self.audio = audio + self.audio_lock = threading.Lock() + super().__init__(path, AudioRequest) + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--socket", default="/run/hackbank-audio/control.sock") + parser.add_argument("--demo", action="store_true", help="Use in-memory development volumes") + args = parser.parse_args() + path = Path(args.socket) + if path.exists(): + if not stat.S_ISSOCK(path.stat().st_mode): + raise RuntimeError("Audio socket path is occupied by a regular file") + path.unlink() + with AudioServer(str(path), DemoAudio() if args.demo else PulseAudio()) as server: + os.chmod(path, 0o660) + server.serve_forever() + + +if __name__ == "__main__": + main() diff --git a/compose.dev.yaml b/compose.dev.yaml index 2c35d09..c4be19e 100644 --- a/compose.dev.yaml +++ b/compose.dev.yaml @@ -1,6 +1,15 @@ name: hackbank-ui services: + audio: + image: python:3.12-slim + volumes: + - ./audio_control.py:/app/audio_control.py:ro + - audio-runtime:/run/hackbank-audio + command: ["python", "/app/audio_control.py", "--demo"] + # Match www-data in the PHP development container. + user: "0:33" + mqtt: image: eclipse-mosquitto:2 volumes: @@ -37,6 +46,7 @@ services: image: php:8.3-apache volumes: - ./www:/var/www/html:ro + - audio-runtime:/run/hackbank-audio:ro ports: - "127.0.0.1:4123:80" environment: @@ -44,3 +54,8 @@ services: depends_on: mqtt: condition: service_healthy + audio: + condition: service_started + +volumes: + audio-runtime: diff --git a/deploy/hackbank-audio-control.service b/deploy/hackbank-audio-control.service new file mode 100644 index 0000000..2520a5f --- /dev/null +++ b/deploy/hackbank-audio-control.service @@ -0,0 +1,25 @@ +[Unit] +Description=HackBank POS and Space audio volume controls +After=hackbank-audio-route.service snapserver-desktop-capture.service + +[Service] +Type=simple +User=bar +Group=www +Environment=XDG_RUNTIME_DIR=/run/user/1000 +Environment=PULSE_SERVER=unix:/run/user/1000/pulse/native +ExecStart=/usr/bin/python3 -B /home/barapp/kassa/audio_control.py +Restart=on-failure +RestartSec=3 +RuntimeDirectory=hackbank-audio +RuntimeDirectoryMode=0750 +UMask=0007 +NoNewPrivileges=yes +ProtectSystem=strict +ProtectHome=read-only +PrivateTmp=yes +RestrictAddressFamilies=AF_UNIX +CapabilityBoundingSet= + +[Install] +WantedBy=multi-user.target diff --git a/package.json b/package.json index 5b0e576..ef236a7 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "kassa", "private": true, "scripts": { - "lint:js": "eslint www/kassa-textfill.js www/kassa-dom.js www/kassa-buttons.js www/kassa-stream.js www/kassa-app.js www/spaceconsole/all.js tests/js/*.test.js", + "lint:js": "eslint www/kassa-textfill.js www/kassa-dom.js www/kassa-buttons.js www/kassa-stream.js www/kassa-audio.js www/kassa-app.js www/spaceconsole/all.js tests/js/*.test.js", "test:js": "node --test tests/js/*.test.js" }, "devDependencies": { diff --git a/tests/js/browser-smoke.test.js b/tests/js/browser-smoke.test.js index de7a36d..a2b8ad8 100644 --- a/tests/js/browser-smoke.test.js +++ b/tests/js/browser-smoke.test.js @@ -80,6 +80,7 @@ function writeKassaFixture(bodyScript) { ${scriptTag("kassa-dom.js")} ${scriptTag("kassa-buttons.js")} ${scriptTag("kassa-stream.js")} + ${scriptTag("kassa-audio.js")} ${scriptTag("kassa-app.js")} diff --git a/tests/js/index-scripts.test.js b/tests/js/index-scripts.test.js index b112ba3..e33373f 100644 --- a/tests/js/index-scripts.test.js +++ b/tests/js/index-scripts.test.js @@ -7,7 +7,7 @@ test("main index loads split kassa scripts in dependency order", () => { const indexPath = path.join(__dirname, "../../www/index.html"); const html = fs.readFileSync(indexPath, "utf8"); const scripts = Array.from(html.matchAll(/ - - - - + + + + + + + diff --git a/www/kassa-app.js b/www/kassa-app.js index 63035d8..7253504 100644 --- a/www/kassa-app.js +++ b/www/kassa-app.js @@ -18,6 +18,7 @@ document.addEventListener("DOMContentLoaded", function() { var pagedButtons=null; var filterRestore=null; var filtering=false; + var audioControl=null; var buttons=window.HackBankButtons; var dom=window.HackBankDom; var allElements=dom.allElements; @@ -123,6 +124,7 @@ document.addEventListener("DOMContentLoaded", function() { if(label) label.innerHTML=label.innerHTML + html; } function removeActiveTopButtons() { + stopAudio(); allElements('.topknop').forEach(function(button) { button.classList.remove('activetop'); }); @@ -133,12 +135,17 @@ document.addEventListener("DOMContentLoaded", function() { fillVisibleText(".Paginatext:visible"); } function activateTopButton(id) { + stopAudio(); allElements('.topknop').forEach(function(button) { button.classList.remove('activetop'); }); var button=document.getElementById(id); if(button) button.classList.add('activetop'); } + function stopAudio() { + if(audioControl) audioControl.stop(); + audioControl=null; + } function showAccountButtons(activeButtonId, accountType, tabMode) { activateTopButton(activeButtonId); showElement('#Secondscreen'); @@ -376,6 +383,9 @@ document.addEventListener("DOMContentLoaded", function() { if(stuff.text === 'stitch' && stuff.class && stuff.class.indexOf('account ') === 0) { knopje.prepend(createElement('img',{class: 'account-icon', src: 'images/users/stitch.png', width: '32', height: '32', alt: '', 'aria-hidden': 'true'})); } + if(stuff.class && stuff.class.indexOf('account-theme-lockpicker') !== -1) { + knopje.prepend(createElement('span',{class: 'account-icon key-icon', 'aria-hidden': 'true', html: ''})); + } if(stuff.right) { var fullwidth=''; if(!stuff.left && stuff.fill) fullwidth=' fullwidthButton '; @@ -390,6 +400,7 @@ document.addEventListener("DOMContentLoaded", function() { makepages('normal',accountButtons,true); } function makepages(extraclass,buttons,accountList) { + stopAudio(); if(!filtering) filterRestore=null; var capacity=buttonsPerPage(accountList); pagedButtons={className: extraclass, buttons: buttons, capacity: capacity, accountList: !!accountList}; @@ -447,12 +458,28 @@ document.addEventListener("DOMContentLoaded", function() { }); } } + function makeSoundScreen(soundButtons) { + activateTopButton('sounds'); + pagedButtons=null; + filterRestore=null; + clearElement('#MainButtons'); + clearElement('#TopButtons'); + showElement('#Secondscreen'); + var screen=createElement('div',{class: 'sound-screen'}); + screen.appendChild(createElement('h1',{class: 'section-title', text: 'Sounds'})); + appendTo('#MainButtons',screen); + audioControl=window.HackBankAudio.mount(screen); + var actions=createElement('div',{class: 'sound-actions', 'aria-label': 'Sound commands'}); + soundButtons.forEach(function(button) { actions.appendChild(commandButton('normal',button)); }); + screen.appendChild(actions); + showquestion(); + fillVisibleText('.Buttontext:visible'); + } function dobuttons(msg) { var buttons=JSON.parse(msg); if(msg === '{}' && locked === 0) { showAccountButtons('members','m',1); } else if (buttons['special'] === 'custom') { - activateTopButton('commands'); showElement('#Secondscreen'); var customButtons=window.HackBankButtons.visibleCommandButtons(buttons['custom']); if(buttons['sort'] === "text") { @@ -460,7 +487,13 @@ document.addEventListener("DOMContentLoaded", function() { } else { customButtons.sort(window.HackBankButtons.compareDisplay); } - makepages('normal',customButtons); + var soundMenu=buttons['custom'].some(function(button) { return button.text === 'ns'; }) + && buttons['custom'].some(function(button) { return button.text === 'vergaderen'; }); + if(soundMenu) makeSoundScreen(customButtons); + else { + activateTopButton('commands'); + makepages('normal',customButtons); + } focus(); tabenable=0; } else if (buttons['special'] === 'accounts') { @@ -744,6 +777,12 @@ document.addEventListener("DOMContentLoaded", function() { makepages('normal',window.HackBankButtons.commandsToButtons(commands).sort(window.HackBankButtons.compareDisplay)); focus(); break; + case 'sounds': + locked=0; + postmsg('input','sounds'); + setSearchValue(''); + focus(); + break; case 'back': activateTopButton(this.id); locked=0; @@ -814,19 +853,20 @@ document.addEventListener("DOMContentLoaded", function() { function buildLayout() { var header=createElement('header',{class: 'app-header row'}); - var logoAbort=createElement('button',{id: 'LogoAbort', class: 'brand-abort', type: 'button', title: 'Abort current sale', 'aria-label': 'Hack42 — Abort current sale'}); - logoAbort.appendChild(createElement('img',{class: 'brand-logo', src: 'images/Hack42.png', alt: 'Hack42 · Hackerspace Arnhem', width: '84', height: '56'})); + var logoAbort=createElement('button',{id: 'LogoAbort', class: 'brand brand-abort col-auto', type: 'button', title: 'Reset current sale', 'aria-label': 'Hack42 HackBank — Reset current sale'}); + appendChildren(logoAbort,[ + createElement('img',{class: 'brand-logo', src: 'images/Hack42.png', alt: 'Hack42 · Hackerspace Arnhem', width: '84', height: '56'}), + appendChildren(createElement('span'), [ + createElement('span',{class: 'brand-name', text: 'hackbank'}), + createElement('span',{class: 'brand-caption', text: 'HACK42 · BAR & DRINKS'}), + ]), + ]); logoAbort.addEventListener('click',function() { + stopAudio(); setSearchValue('abort'); submitCommand(); }); - header.appendChild(appendChildren(createElement('div',{class: 'brand col-auto'}), [ - logoAbort, - appendChildren(createElement('div'), [ - createElement('span',{class: 'brand-name', text: 'hackbank'}), - createElement('span',{class: 'brand-caption', text: 'HACK42 · BAR & DRINKS'}), - ]), - ])); + header.appendChild(logoAbort); header.appendChild(createElement('nav',{id: 'LeftButtons', class: 'LeftButtons col', 'aria-label': 'Register sections'})); appendTo('#body', header); @@ -903,7 +943,6 @@ document.addEventListener("DOMContentLoaded", function() { ["Knopje Button topknop special",'products',"Products"], ["Knopje Button topknop special",'commands',"Commands"], ["Knopje Button topknop sounds",'sounds',"Sounds"], - ["Knopje Button topknop irc",'irc',"Music"], ["Knopje Button topknop spacecon",'spacecon',"Home Assistant"], ]; buttons.forEach(function(button) { diff --git a/www/kassa-audio.js b/www/kassa-audio.js new file mode 100644 index 0000000..911dc0b --- /dev/null +++ b/www/kassa-audio.js @@ -0,0 +1,165 @@ +(function(window, document) { + function element(tag, className, text) { + var node=document.createElement(tag); + node.className=className; + if(text) node.textContent=text; + return node; + } + + function mount(container) { + var stopped=false; + var readInFlight=false; + var writeChannel=null; + var revision=0; + var sendTimer=null; + var pending={pos: null, space: null}; + var dragging={pos: false, space: false}; + var controls={}; + var panel=element('section','audio-controls'); + panel.setAttribute('aria-label','Audio volumes'); + var cards=element('div','audio-volume-grid'); + var status=element('p','audio-status','Reading audio levels…'); + status.setAttribute('role','status'); + panel.appendChild(cards); + panel.appendChild(status); + container.appendChild(panel); + + function message(text) { + if(status.textContent !== text) status.textContent=text; + } + function showLevel(control, value, muted) { + control.input.value=String(Math.min(100,value)); + control.output.textContent=muted ? 'Muted' : value+'%'; + control.input.setAttribute('aria-valuetext',muted ? 'Muted, '+value+' percent' : value+' percent'); + control.input.style.setProperty('--volume-fill',Math.min(100,value)+'%'); + } + function apply(state, confirmed) { + if(stopped) return; + if(!state || !state.channels) throw new Error('Invalid audio state'); + var available=0; + Object.keys(controls).forEach(function(id) { + var channel=state.channels[id]; + var control=controls[id]; + if(!channel || !channel.available || !Number.isFinite(channel.volume)) { + control.input.disabled=true; + control.output.textContent='Unavailable'; + control.input.setAttribute('aria-valuetext','Unavailable'); + return; + } + available++; + control.input.disabled=false; + if(dragging[id] || pending[id] !== null || (writeChannel === id && confirmed !== id)) return; + showLevel(control,channel.volume,channel.muted); + }); + message(available === 2 ? 'Volumes are up to date.' : (available ? 'One audio output is unavailable.' : 'Audio controls are unavailable.')); + } + function unavailable() { + if(stopped) return; + Object.keys(controls).forEach(function(id) { + controls[id].input.disabled=true; + controls[id].output.textContent='Unavailable'; + controls[id].input.setAttribute('aria-valuetext','Unavailable'); + }); + message('Audio controls are unavailable.'); + } + function json(response) { + if(!response.ok) throw new Error('Audio request failed'); + return response.json(); + } + function hasPending() { + return Object.keys(pending).some(function(id) { return pending[id] !== null; }); + } + function refresh() { + if(stopped || readInFlight || writeChannel || hasPending()) return; + var requestedRevision=revision; + readInFlight=true; + window.fetch('audio.php',{cache: 'no-store'}).then(json).then(function(state) { + if(requestedRevision === revision) apply(state); + }).catch(function() { + if(requestedRevision === revision) unavailable(); + }).finally(function() { readInFlight=false; }); + } + function sendNext() { + if(stopped || writeChannel) return; + var id=Object.keys(pending).find(function(key) { return pending[key] !== null; }); + if(!id) return; + var value=pending[id]; + pending[id]=null; + writeChannel=id; + message('Saving volume…'); + window.fetch('audio.php',{ + method: 'POST', + headers: {'Content-Type': 'application/json'}, + body: JSON.stringify({channel: id, volume: value}), + }).then(json).then(function(state) { + apply(state,id); + }).catch(function() { + pending[id]=null; + unavailable(); + }).finally(function() { + writeChannel=null; + if(!stopped) { + if(hasPending()) sendNext(); + else refresh(); + } + }); + } + function queue(id, immediate) { + var control=controls[id]; + if(control.input.disabled || stopped) return; + var value=Number(control.input.value); + pending[id]=value; + revision++; + showLevel(control,value,false); + window.clearTimeout(sendTimer); + if(immediate) sendNext(); + else sendTimer=window.setTimeout(sendNext,120); + } + + [{id: 'pos', label: 'HackBank POS effects', hint: 'Scans, confirmations and alerts'}, + {id: 'space', label: 'Space audio', hint: 'Building sound system'}].forEach(function(channel) { + var card=element('div','audio-volume-card'); + var heading=element('div','audio-volume-heading'); + var label=element('label','audio-volume-label',channel.label); + label.setAttribute('for','Volume-'+channel.id); + var output=element('output','audio-volume-value','…'); + output.setAttribute('for','Volume-'+channel.id); + heading.appendChild(label); + heading.appendChild(output); + var input=element('input','audio-slider'); + input.type='range'; + input.id='Volume-'+channel.id; + input.min='0'; + input.max='100'; + input.step='1'; + input.value='0'; + input.disabled=true; + controls[channel.id]={input: input, output: output}; + input.addEventListener('input',function() { queue(channel.id,false); }); + input.addEventListener('change',function() { queue(channel.id,true); }); + input.addEventListener('pointerdown',function() { dragging[channel.id]=true; }); + ['pointerup','pointercancel','blur'].forEach(function(event) { + input.addEventListener(event,function() { dragging[channel.id]=false; }); + }); + card.appendChild(heading); + card.appendChild(element('p','audio-volume-hint',channel.hint)); + card.appendChild(input); + var scale=element('div','audio-volume-scale'); + scale.appendChild(element('span','','Silent')); + scale.appendChild(element('span','','100%')); + card.appendChild(scale); + cards.appendChild(card); + }); + refresh(); + var pollTimer=window.setInterval(refresh,2000); + return { + stop: function() { + stopped=true; + window.clearInterval(pollTimer); + window.clearTimeout(sendTimer); + }, + }; + } + + window.HackBankAudio={mount: mount}; +})(window, document); diff --git a/www/kassa-buttons.js b/www/kassa-buttons.js index b2c398f..fc2e91e 100644 --- a/www/kassa-buttons.js +++ b/www/kassa-buttons.js @@ -52,7 +52,7 @@ } function visibleCommandButtons(buttons) { - var hiddenSoundCommands=['deuroff', 'deuron', 'groovesalad', 'blues', 'killsounds', 'louder', 'quieter']; + var hiddenSoundCommands=['deuroff', 'deuron', 'groovesalad', 'blues', 'killsounds', 'louder', 'quieter', 'kassaoff', 'kassaon']; return buttons.filter(function(button) { return hiddenSoundCommands.indexOf(button.text) === -1; }); @@ -73,6 +73,7 @@ var isNonMember = nonmembers.indexOf(user) !== -1; var amount = accounts[user].amount; var extraclass = user; + var theme = {jos: 'lockpicker', nino: 'ukraine', anus: 'plasma'}[user.toLowerCase()]; if( !((isMember && type === 'm') || @@ -90,7 +91,7 @@ buttons.push({ text: user, display: user, - class: "account account-" + cssSafeClassName(user), + class: "account account-" + cssSafeClassName(user) + (theme ? " account-theme-" + theme : ""), rightclass: extraclass, right: amount.toFixed(2), fill: true, diff --git a/www/stom.css b/www/stom.css index cf31c7b..751d5db 100644 --- a/www/stom.css +++ b/www/stom.css @@ -57,7 +57,7 @@ iframe { display: block; border: 0; } border-bottom: 1px solid #ffffff12; } .brand { display: flex; align-items: center; gap: 10px; } -.brand-abort { display: block; flex: 0 0 auto; padding: 0; border: 0; border-radius: 6px; background: transparent; cursor: pointer; } +.brand-abort { display: flex; flex: 0 0 auto; min-height: 60px; padding: 0; border: 0; border-radius: 6px; background: transparent; cursor: pointer; font: inherit; text-align: left; } .brand-abort:hover { box-shadow: 0 0 0 3px #ffbf6980; } .brand-abort:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; } .brand-logo { display: block; flex: 0 0 auto; width: 84px; height: 56px; padding: 4px; border-radius: 6px; background: #fff; object-fit: contain; } @@ -92,12 +92,12 @@ iframe { display: block; border: 0; } .Knopjetext, .Buttontext, .Paginatext { display: block; min-width: 0; max-width: 100%; overflow-wrap: anywhere; } .topknop { flex: 1 1 0; - min-height: 48px; - padding: 10px 7px; + min-height: 60px; + padding: 12px 8px; border-color: transparent; background: transparent; color: #b9c4d2; - font-size: 13px; + font-size: 14px; font-weight: 600; gap: 7px; } @@ -126,15 +126,15 @@ iframe { display: block; border: 0; } display: flex; align-items: center; gap: 8px; - min-height: 72px; + min-height: 88px; max-height: 30%; padding: 12px 16px; overflow: auto; border-bottom: 1px solid var(--line); background: #fcfdfd; } -#TopButtons .Knopje { flex: 0 0 auto; min-height: 42px; max-width: 180px; padding: 8px 14px; font-size: 13px; } -#TopButtons .page { min-width: 90px; padding-top: 6px; padding-bottom: 6px; color: #526273; background: #edf2f5; border-color: #e0e7eb; } +#TopButtons .Knopje { flex: 0 0 auto; min-height: 56px; max-width: 180px; padding: 10px 16px; font-size: 14px; } +#TopButtons .page { min-width: 110px; color: #526273; background: #edf2f5; border-color: #e0e7eb; } #TopButtons .page.currentpage { color: #263e50; background: #e0e9ef; border-color: #a1b6c5; } .Paginatext { line-height: 1.1; } .Paginatext br { display: block; } @@ -197,6 +197,8 @@ iframe { display: block; border: 0; } .account-list .Knop .Buttontext { flex: 1 1 auto; width: auto; min-width: 0; } .account-list .Knop .extra { position: static; flex: 0 0 auto; max-width: 45%; width: auto; margin-left: auto; padding: 4px 8px; font-size: 14px; } .account-icon { display: block; flex: 0 0 32px; width: 32px; height: 32px; object-fit: contain; pointer-events: none; } +.account-icon svg { display: block; width: 100%; height: 100%; } +.key-icon { color: #ffdc87; } /* Personal account themes are presentation only; balances keep their meaning. */ .Knop.account-stitch { border-color: #6088B0; background-color: #6088B0; color: #fff; font-weight: 750; } @@ -221,6 +223,30 @@ iframe { display: block; border: 0; } .account:is(.account-stitch, .account-BugBlue) .extra { color: #fff; background: #102c58b3; } .account:is(.account-stitch, .account-BugBlue) .extra.rood { color: #a33342; background: #fce6e9; } .account:is(.account-stitch, .account-BugBlue) .extra.orange { color: #8b5512; background: #fff0d9; } +.Knop.account-theme-lockpicker { border-color: #b59554; background: linear-gradient(120deg, #263649, #182533); color: #fff8e7; font-weight: 750; } +.Knop.account-theme-lockpicker:hover { border-color: #ffdc87; } +.Knop.account-theme-ukraine { border-color: #3770b4; background: linear-gradient(to bottom, #0057b7 0 50%, #ffd700 50% 100%); color: #102d48; font-weight: 750; } +.account-theme-ukraine .Buttontext { padding: 5px 8px; border-radius: 5px; background: #fffdf3f2; } +.account-theme-ukraine .extra { color: #102d48; background: #fffdf3; } +.Knop.account-theme-plasma { isolation: isolate; border-color: #835ee8; background: #20114d; color: #fff; font-weight: 750; } +.account-theme-plasma::before, .account-theme-plasma::after { content: ""; position: absolute; inset: -90%; z-index: 0; pointer-events: none; } +.account-theme-plasma::before { + background: radial-gradient(ellipse at 25% 35%, #fa228c 0, transparent 48%), radial-gradient(ellipse at 80% 70%, #04e9e2 0, transparent 48%), radial-gradient(ellipse at 65% 10%, #9951ff 0, #251055 65%); + filter: blur(9px); + animation: plasma-flow 16s ease-in-out infinite alternate; +} +.account-theme-plasma::after { + background: repeating-radial-gradient(ellipse at 50% 20%, #32cfed99 0, #9548ed77 12%, #f45b9955 24%, transparent 36%); + mix-blend-mode: screen; + opacity: .65; + filter: blur(7px); + animation: plasma-flow 23s ease-in-out -7s infinite alternate-reverse; +} +.account-theme-plasma > * { position: relative; z-index: 1; } +.account-theme-plasma .Buttontext { padding: 5px 8px; border-radius: 5px; background: #100c3dcc; text-shadow: 0 1px 3px #09051c; } +.account:is(.account-theme-lockpicker, .account-theme-plasma) .extra { color: #fff; background: #131b3dcc; } +.account:is(.account-theme-lockpicker, .account-theme-ukraine, .account-theme-plasma) .extra.rood { color: #a33342; background: #fce6e9; } +.account:is(.account-theme-lockpicker, .account-theme-ukraine, .account-theme-plasma) .extra.orange { color: #8b5512; background: #fff0d9; } .Knopje.abort:not(.topknop), .Knopje.remove { color: #a33342; border-color: #edc9ce; background: #fff1f2; } .Knopje.ok, .Knopje.enter, .Knopje.knopjes, .Knopje.back { color: #194d3a; border-color: #b9d9c7; background: #dff0e7; } .Knopje.undo, .Knopje.restore { color: #815715; border-color: #ead9b9; background: #fff4df; } @@ -284,6 +310,24 @@ iframe { display: block; border: 0; } .enter-hint:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; } /* Existing special screens fit inside the same left column. */ +.sound-screen { display: flex; flex-direction: column; gap: 20px; } +.sound-actions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; } +.sound-actions .Knop { min-height: 104px; } +.audio-volume-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } +.audio-volume-card { min-width: 0; padding: 22px; border: 1px solid #c8d7e0; border-radius: 12px; background: #fff; box-shadow: 0 3px 12px #1a344908; } +.audio-volume-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; } +.audio-volume-label { color: #243d50; font-size: 19px; font-weight: 750; } +.audio-volume-value { color: #244f70; font-family: ui-monospace, monospace; font-size: 28px; font-weight: 750; } +.audio-volume-hint { margin-top: 4px; color: var(--muted); font-size: 13px; } +.audio-slider { display: block; width: 100%; height: 72px; margin: 8px 0 0; padding: 0; appearance: none; background: transparent; cursor: pointer; touch-action: none; } +.audio-slider::-moz-range-track { height: 12px; border-radius: 8px; background: linear-gradient(to right, #32688f var(--volume-fill, 0%), #dfe7ed var(--volume-fill, 0%)); } +.audio-slider::-webkit-slider-runnable-track { height: 12px; border-radius: 8px; background: linear-gradient(to right, #32688f var(--volume-fill, 0%), #dfe7ed var(--volume-fill, 0%)); } +.audio-slider::-moz-range-thumb { width: 42px; height: 42px; border: 3px solid #fff; border-radius: 50%; background: #32688f; box-shadow: 0 2px 8px #173b5e55; } +.audio-slider::-webkit-slider-thumb { width: 48px; height: 48px; margin-top: -18px; border: 3px solid #fff; border-radius: 50%; appearance: none; background: #32688f; box-shadow: 0 2px 8px #173b5e55; } +.audio-slider:focus-visible { outline: 3px solid #db860d; outline-offset: 2px; border-radius: 8px; } +.audio-slider:disabled { opacity: .4; cursor: default; } +.audio-volume-scale { display: flex; justify-content: space-between; color: var(--muted); font-size: 12px; } +.audio-status { min-height: 20px; margin-top: 12px; color: #56707f; font-size: 13px; } .numbers { display: grid; width: min(100%, 420px); min-height: 100%; margin: 0 auto; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: repeat(4, minmax(64px, 1fr)); gap: 10px; } .numbers br { display: none; } .numbers .invoer { font-size: 30px; } @@ -312,6 +356,10 @@ iframe { display: block; border: 0; } from { background-position: 0 0, 8px 3px, 3px 11px, 15px 7px, 0 50%; } to { background-position: 13px 17px, -15px 22px, 20px -18px, -16px 30px, 100% 50%; } } +@keyframes plasma-flow { + from { transform: translate(-7%, -4%) rotate(-15deg) scale(1); filter: blur(9px) hue-rotate(0deg); } + to { transform: translate(7%, 6%) rotate(30deg) scale(1.25); filter: blur(9px) hue-rotate(100deg); } +} @media (min-width: 1600px) and (min-height: 960px) { :root { --button-columns: 8; --button-rows: 7; --buttons-per-page: 56; } .Knop { font-size: 20px; } @@ -323,10 +371,10 @@ iframe { display: block; border: 0; } .brand-logo { width: 68px; height: 46px; } .brand-name { font-size: 21px; } .brand-caption { font-size: 8px; letter-spacing: .6px; } - .topknop { flex-direction: column; gap: 5px; min-height: 50px; padding: 6px 4px; font-size: 12px; } + .topknop { flex-direction: column; gap: 5px; min-height: 56px; padding: 6px 4px; font-size: 12px; } .nav-icon { flex-basis: 14px; } .nav-icon svg { width: 14px; height: 14px; } - #TopButtons { min-height: 64px; padding: 10px 12px; } + #TopButtons { min-height: 80px; padding: 10px 12px; } #MainButtons { padding: 12px; } .Pagina { gap: 8px; } .Knop { padding: 10px; font-size: 16px; } @@ -347,6 +395,9 @@ iframe { display: block; border: 0; } .Knop { font-size: 15px; } .command-help { font-size: 10px; } #Zoek { font-size: 16px; } + .audio-volume-grid { grid-template-columns: 1fr; } + .audio-volume-card { padding: 16px; } + .sound-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (max-width: 620px) { body { padding: 0 10px 12px; overflow: auto; } From af7d6fdde3a9b2107a25ddb3c8f3ff7fec46e5c1 Mon Sep 17 00:00:00 2001 From: stitch1 Date: Fri, 16 Oct 2026 22:05:47 +0200 Subject: [PATCH 05/25] Silence Sounds navigation and preview adjusted output volumes --- README.md | 14 ++++++++--- audio_control.py | 49 ++++++++++++++++++++++++++++-------- compose.dev.yaml | 1 + plugins/sounds.py | 2 +- tests/js/kassa-audio.test.js | 29 ++++++++++++++++++++- tests/plugins/test_sounds.py | 10 +++++--- tests/test_audio_control.py | 47 ++++++++++++++++++++++++++++++++-- www/audio.php | 6 +++-- www/index.html | 14 +++++------ www/kassa-audio.js | 7 +++--- 10 files changed, 146 insertions(+), 33 deletions(-) diff --git a/README.md b/README.md index 819623a..68d500d 100644 --- a/README.md +++ b/README.md @@ -98,8 +98,11 @@ The Sounds menu and command search omit Deur off/on, Groove Salad, Jazz Radio Blues, Kill Music, Louder, Quieter and Kassa off/on. Sounds provides two large volume sliders for HackBank POS effects and Space audio. Each reads the current output volume, applies changes, and refreshes every two seconds while open. +Opening Sounds is silent. Releasing a slider plays a short preview beep on +that output after saving its volume; dragging and automatic refreshes are +silent. At zero volume the output remains muted and no preview plays. The development audio controller uses in-memory demo levels and never connects -to a sound device. +to a sound device; it also simulates preview requests. Account themes use the existing `account-` CSS classes. `stitch` has a local Stitch icon, a `#6088B0` background and bold white text; `BugBlue` @@ -131,7 +134,10 @@ browser at http://localhost:4242 ### Production audio controls `audio_control.py` uses the system's existing `pactl` command to read and adjust -only `hackbank_pos` (POS effects) and `snapcast` (Space audio). It does not change +only `hackbank_pos` (POS effects) and `snapcast` (Space audio). Previews use +the existing `paplay` command and the local `KDE_Beep_ClassicBeep.wav` file, +explicitly selecting the adjusted output at full stream gain so its sink +volume determines the preview level. It does not change the existing audio routing. `www/audio.php` connects to the controller through `/run/hackbank-audio/control.sock`; the controller does not open a network port. Volumes range from 0 to 100 percent; zero also mutes, and a nonzero setting @@ -149,6 +155,8 @@ systemctl status hackbank-audio-control.service The unit depends on the existing kiosk PulseAudio/PipeWire socket and named outputs. The page title remains `Hack42 - HackBank`, the identifier used by the -existing POS audio router. No POS backend restart is needed for these UI changes. +existing POS audio router. Restart `hackbank-audio-control.service` after +updating its Python controller. Changes to `plugins/sounds.py`, including the +silent Sounds navigation, also require restarting the existing POS backend. For a different installation, adapt the unit's application path, kiosk user, web-server group, and runtime audio socket before enabling it. diff --git a/audio_control.py b/audio_control.py index 38e532f..7fae537 100644 --- a/audio_control.py +++ b/audio_control.py @@ -12,18 +12,22 @@ OUTPUTS = {"pos": "hackbank_pos", "space": "snapcast"} +PREVIEW_SOUND = Path(__file__).resolve().parent / "www/sounds/KDE_Beep_ClassicBeep.wav" -def validate_volume(channel, volume): +def validate_volume(channel, volume, preview=False): if channel not in OUTPUTS: raise ValueError("Unknown audio output") if type(volume) is not int or not 0 <= volume <= 100: raise ValueError("Volume must be an integer from 0 to 100") + if type(preview) is not bool: + raise ValueError("Preview must be a boolean") class PulseAudio: - def __init__(self, run=None): + def __init__(self, run=None, play=None): self.run = run or self._run + self.play = play or self._play @staticmethod def _run(*args): @@ -32,6 +36,15 @@ def _run(*args): text=True, timeout=4, ).stdout + @staticmethod + def _play(sink): + subprocess.run( + ["/usr/bin/paplay", f"--device={sink}", "--volume=65536", + "--client-name=HackBank volume preview", "--stream-name=HackBank volume preview", + str(PREVIEW_SOUND)], + check=True, capture_output=True, timeout=4, + ) + def read(self): sinks = {sink["name"]: sink for sink in json.loads(self.run("-f", "json", "list", "sinks"))} channels = {} @@ -45,19 +58,29 @@ def read(self): } return {"channels": channels} - def set(self, channel, volume): - validate_volume(channel, volume) + def set(self, channel, volume, preview=False): + validate_volume(channel, volume, preview) if not self.read()["channels"][channel]["available"]: raise RuntimeError("Audio output is unavailable") self.run("set-sink-volume", OUTPUTS[channel], f"{volume}%") self.run("set-sink-mute", OUTPUTS[channel], "1" if volume == 0 else "0") - return self.read() + state = self.read() + if preview: + state["preview_played"] = False + if volume > 0: + try: + self.play(OUTPUTS[channel]) + state["preview_played"] = True + except (OSError, subprocess.SubprocessError): + state["preview_error"] = True + return state class DemoAudio: """Development-only state; never connects to an audio device.""" def __init__(self): self.volumes = {"pos": 35, "space": 70} + self.previews = [] def read(self): return {"channels": { @@ -65,10 +88,15 @@ def read(self): for channel, volume in self.volumes.items() }} - def set(self, channel, volume): - validate_volume(channel, volume) + def set(self, channel, volume, preview=False): + validate_volume(channel, volume, preview) self.volumes[channel] = volume - return self.read() + state = self.read() + if preview: + state["preview_played"] = volume > 0 + if volume > 0: + self.previews.append(channel) + return state class AudioRequest(BaseHTTPRequestHandler): @@ -102,9 +130,10 @@ def _dispatch(self, write=False): if not 0 < length <= 256: raise ValueError("Invalid request length") request = json.loads(self.rfile.read(length)) - if not isinstance(request, dict) or set(request) != {"channel", "volume"}: + if (not isinstance(request, dict) or not {"channel", "volume"} <= set(request) + or set(request) - {"channel", "volume", "preview"}): raise ValueError("Invalid volume request") - state = self.server.audio.set(request["channel"], request["volume"]) + state = self.server.audio.set(request["channel"], request["volume"], request.get("preview", False)) else: state = self.server.audio.read() self._reply(200, state) diff --git a/compose.dev.yaml b/compose.dev.yaml index c4be19e..5f8dc38 100644 --- a/compose.dev.yaml +++ b/compose.dev.yaml @@ -5,6 +5,7 @@ services: image: python:3.12-slim volumes: - ./audio_control.py:/app/audio_control.py:ro + - ./www/sounds/KDE_Beep_ClassicBeep.wav:/app/www/sounds/KDE_Beep_ClassicBeep.wav:ro - audio-runtime:/run/hackbank-audio command: ["python", "/app/audio_control.py", "--demo"] # Match www-data in the PHP development container. diff --git a/plugins/sounds.py b/plugins/sounds.py index 21cb0f4..98c5509 100644 --- a/plugins/sounds.py +++ b/plugins/sounds.py @@ -89,7 +89,7 @@ def input( return None def pre_input(self, text): - if text != "abort": + if text not in ("abort", "sounds"): self.master.send_message(False, "sound", "KDE_Beep_ClassicBeep.wav") def hook_wrong(self, _text): diff --git a/tests/js/kassa-audio.test.js b/tests/js/kassa-audio.test.js index 932f6af..aecdb4e 100644 --- a/tests/js/kassa-audio.test.js +++ b/tests/js/kassa-audio.test.js @@ -102,12 +102,29 @@ test("rapid volume edits keep the latest intent and ignore stale reads", async ( await audio.reply(5, state(10, 66)); assert.deepEqual(audio.requests.filter((request) => request.options.method === "POST") .map((request) => JSON.parse(request.options.body)), [ - {channel: "pos", volume: 64}, {channel: "pos", volume: 10}, {channel: "space", volume: 66}, + {channel: "pos", volume: 64, preview: true}, {channel: "pos", volume: 10, preview: true}, {channel: "space", volume: 66, preview: true}, ]); assert.equal(audio.controls.pos.input.value, "10"); assert.equal(audio.controls.space.input.value, "66"); }); +test("dragging changes volume silently and releasing requests one preview at the final level", async () => { + const audio = audioFixture(); + await audio.reply(0, state(35, 70)); + audio.change("pos", 40, false); + audio.timeouts.forEach((callback) => callback()); + assert.deepEqual(JSON.parse(audio.requests[1].options.body), {channel: "pos", volume: 40, preview: false}); + audio.change("pos", 50, false); + audio.change("pos", 60, false); + audio.controls.pos.input.listeners.change(); + await audio.reply(1, state(40, 70)); + assert.deepEqual(JSON.parse(audio.requests[2].options.body), {channel: "pos", volume: 60, preview: true}); + await audio.reply(2, {...state(60, 70), preview_played: true}); + await audio.reply(3, state(60, 70)); + assert.equal(audio.requests.filter((request) => request.options.method === "POST" + && JSON.parse(request.options.body).preview).length, 1); +}); + test("audio failures disable controls and a later poll recovers the real state", async () => { const audio = audioFixture(); await audio.reply(0, {error: "unavailable"}, false); @@ -123,6 +140,16 @@ test("audio failures disable controls and a later poll recovers the real state", assert.equal(audio.status.textContent, "Audio controls are unavailable."); }); +test("a failed preview keeps the confirmed volume and reports the playback problem", async () => { + const audio = audioFixture(); + await audio.reply(0, state(35, 70)); + audio.change("space", 60); + await audio.reply(1, {...state(35, 60), preview_played: false, preview_error: true}); + assert.equal(audio.controls.space.input.value, "60"); + assert.equal(audio.controls.space.input.disabled, false); + assert.equal(audio.status.textContent, "Volume saved; preview sound is unavailable."); +}); + test("leaving Sounds cancels queued volume edits and ignores late replies", async () => { const audio = audioFixture(); await audio.reply(0, state(35, 70)); diff --git a/tests/plugins/test_sounds.py b/tests/plugins/test_sounds.py index 1bd7b5b..26ac433 100644 --- a/tests/plugins/test_sounds.py +++ b/tests/plugins/test_sounds.py @@ -75,10 +75,12 @@ def test_pre_input_non_abort(self): self.sounds_instance.pre_input("non_abort_command") mock_send.assert_called_with(False, "sound", "KDE_Beep_ClassicBeep.wav") - def test_pre_input_abort_is_silent(self): - with patch.object(self.sounds_instance.master, "send_message") as mock_send: - self.sounds_instance.pre_input("abort") - mock_send.assert_not_called() + def test_pre_input_abort_and_sounds_navigation_are_silent(self): + for command in ("abort", "sounds"): + with self.subTest(command=command): + with patch.object(self.sounds_instance.master, "send_message") as mock_send: + self.sounds_instance.pre_input(command) + mock_send.assert_not_called() def test_hook_undo_is_noop(self): self.assertIsNone(self.sounds_instance.hook_undo((1, {}, [], "user"))) diff --git a/tests/test_audio_control.py b/tests/test_audio_control.py index cc748ef..714d67c 100644 --- a/tests/test_audio_control.py +++ b/tests/test_audio_control.py @@ -1,6 +1,7 @@ import http.client import json import socket +import subprocess from tempfile import TemporaryDirectory import threading import unittest @@ -29,7 +30,12 @@ def run(*args): sink["mute"] = args[2] == "1" return "" - self.audio = PulseAudio(run=run) + self.previews = [] + + def play(sink): + self.previews.append((sink, self.audio.read())) + + self.audio = PulseAudio(run=run, play=play) def test_reads_existing_outputs_and_external_changes(self): self.assertEqual(self.audio.read(), {"channels": { @@ -61,6 +67,33 @@ def test_invalid_commands_cannot_reach_pactl(self): self.audio.set(channel, volume) self.assertEqual(self.calls, []) + def test_preview_plays_only_on_requested_output_after_setting_its_volume(self): + for channel, sink in [("pos", "hackbank_pos"), ("space", "snapcast")]: + with self.subTest(channel=channel): + state = self.audio.set(channel, 45, preview=True) + played_sink, played_state = self.previews[-1] + self.assertEqual(played_sink, sink) + self.assertEqual(played_state["channels"][channel]["volume"], 45) + self.assertFalse(played_state["channels"][channel]["muted"]) + self.assertTrue(state["preview_played"]) + + def test_normal_updates_reads_and_zero_volume_do_not_play_a_preview(self): + self.audio.read() + self.audio.set("pos", 40) + self.assertFalse(self.audio.set("pos", 0, preview=True)["preview_played"]) + self.assertEqual(self.previews, []) + with self.assertRaises(ValueError): + self.audio.set("pos", 50, preview="yes") + + def test_preview_failure_preserves_a_successful_volume_change(self): + def fail(_sink): + raise subprocess.CalledProcessError(1, "paplay") + self.audio.play = fail + state = self.audio.set("pos", 45, preview=True) + self.assertEqual(state["channels"]["pos"]["volume"], 45) + self.assertTrue(state["preview_error"]) + self.assertFalse(state["preview_played"]) + class UnixConnection(http.client.HTTPConnection): def __init__(self, path): @@ -105,12 +138,22 @@ def test_socket_reads_and_changes_are_visible_to_another_client(self): def test_rejects_invalid_input_without_changing_state(self): initial = self.audio.read() - for body in ['{"channel":"pos","volume":999}', '{"channel":"bad","volume":50}', '[]', 'not-json', 'x' * 257]: + for body in ['{"channel":"pos","volume":999}', '{"channel":"bad","volume":50}', '{"channel":"pos","volume":50,"preview":"yes"}', '{"channel":"pos","volume":50,"preview":true,"extra":1}', '[]', 'not-json', 'x' * 257]: self.assertEqual(self.request("POST", body)[0], 400) self.assertEqual(self.request("POST", "channel=pos&volume=20", "application/x-www-form-urlencoded")[0], 415) self.assertEqual(self.request("GET", path="/arbitrary-command")[0], 404) self.assertEqual(self.audio.read(), initial) + def test_preview_requests_are_optional_and_channel_specific(self): + status, state = self.request("POST", json.dumps({"channel": "space", "volume": 64, "preview": True})) + self.assertEqual(status, 200) + self.assertTrue(state["preview_played"]) + self.assertEqual(self.audio.previews, ["space"]) + self.request("GET") + self.request("POST", json.dumps({"channel": "pos", "volume": 40, "preview": False})) + self.request("POST", json.dumps({"channel": "space", "volume": 0, "preview": True})) + self.assertEqual(self.audio.previews, ["space"]) + if __name__ == "__main__": unittest.main() diff --git a/www/audio.php b/www/audio.php index d08def8..7b67fdd 100644 --- a/www/audio.php +++ b/www/audio.php @@ -32,10 +32,12 @@ function audio_error(int $status, string $message): never { } $body = file_get_contents('php://input', false, null, 0, 257); $request = json_decode($body ?: '', true); - if (strlen($body ?: '') > 256 || !is_array($request) || count($request) !== 2 + if (strlen($body ?: '') > 256 || !is_array($request) + || array_diff(array_keys($request), ['channel', 'volume', 'preview']) || !in_array($request['channel'] ?? null, ['pos', 'space'], true) || !isset($request['volume']) || !is_int($request['volume']) - || $request['volume'] < 0 || $request['volume'] > 100) { + || $request['volume'] < 0 || $request['volume'] > 100 + || (array_key_exists('preview', $request) && !is_bool($request['preview']))) { audio_error(400, 'Invalid volume request'); } $body = json_encode($request); diff --git a/www/index.html b/www/index.html index eafa04c..422c009 100644 --- a/www/index.html +++ b/www/index.html @@ -6,13 +6,13 @@ Hack42 - HackBank - - - - - - - + + + + + + + diff --git a/www/kassa-audio.js b/www/kassa-audio.js index 911dc0b..8e41b34 100644 --- a/www/kassa-audio.js +++ b/www/kassa-audio.js @@ -83,16 +83,17 @@ if(stopped || writeChannel) return; var id=Object.keys(pending).find(function(key) { return pending[key] !== null; }); if(!id) return; - var value=pending[id]; + var change=pending[id]; pending[id]=null; writeChannel=id; message('Saving volume…'); window.fetch('audio.php',{ method: 'POST', headers: {'Content-Type': 'application/json'}, - body: JSON.stringify({channel: id, volume: value}), + body: JSON.stringify({channel: id, volume: change.volume, preview: change.preview}), }).then(json).then(function(state) { apply(state,id); + if(!stopped && state.preview_error) message('Volume saved; preview sound is unavailable.'); }).catch(function() { pending[id]=null; unavailable(); @@ -108,7 +109,7 @@ var control=controls[id]; if(control.input.disabled || stopped) return; var value=Number(control.input.value); - pending[id]=value; + pending[id]={volume: value, preview: immediate}; revision++; showLevel(control,value,false); window.clearTimeout(sendTimer); From e055471ea314c335b28524dc52b8182b747354f6 Mon Sep 17 00:00:00 2001 From: stitch1 Date: Sat, 17 Oct 2026 21:40:51 +0200 Subject: [PATCH 06/25] Organize commands and add settings, archives and user history Allow party mode to end without a printer, preserve settlements and keep its settings reachable during pending prompts. Add browser appearance modes, persistent Sounds navigation and the supplied effects. Index recent purchases without repeated full-log scans and recheck the latest transaction before undo. --- README.md | 44 ++++- compose.dev.yaml | 1 + dev/seed.py | 27 +++ kassa.py | 13 ++ package.json | 2 +- plugins/accounts.py | 6 +- plugins/historie.py | 25 ++- plugins/party.py | 45 ++++- plugins/sounds.py | 8 +- plugins/undo.py | 21 ++ purchase_history.py | 99 ++++++++++ tests/js/browser-smoke.test.js | 1 + tests/js/index-scripts.test.js | 1 + tests/js/kassa-app.test.js | 26 ++- tests/js/kassa-buttons.test.js | 25 +++ tests/plugins/test_party.py | 14 +- tests/plugins/test_undo.py | 21 ++ tests/test_kassa.py | 28 +++ tests/test_purchase_history.py | 63 ++++++ .../banana-peanut-butter-jelly-time.gif | Bin 0 -> 1537 bytes www/images/effects/mlg/hitmarker.gif | Bin 0 -> 4588 bytes www/images/effects/mlg/hitmarker.wav | Bin 0 -> 6814 bytes www/index.html | 15 +- www/kassa-app.js | 185 ++++++++++++++++-- www/kassa-buttons.js | 47 +++++ www/kassa-preferences.js | 106 ++++++++++ www/sounds/throw.wav | Bin 0 -> 108936 bytes www/sounds/vergaderen_extreme.wav | Bin 0 -> 959416 bytes www/stom.css | 92 +++++++++ 29 files changed, 874 insertions(+), 41 deletions(-) create mode 100644 purchase_history.py create mode 100644 tests/test_purchase_history.py create mode 100644 www/images/effects/banana/banana-peanut-butter-jelly-time.gif create mode 100644 www/images/effects/mlg/hitmarker.gif create mode 100644 www/images/effects/mlg/hitmarker.wav create mode 100644 www/kassa-preferences.js create mode 100644 www/sounds/throw.wav create mode 100644 www/sounds/vergaderen_extreme.wav diff --git a/README.md b/README.md index 68d500d..c4ca649 100644 --- a/README.md +++ b/README.md @@ -92,10 +92,52 @@ Products and commands retain pages of up to 56 buttons (8×7) at 1920×1080, or 25 buttons on smaller screens. The command bar's Enter button submits the same command as pressing Enter on the keyboard. The larger Members/Other users buttons and page tabs support touch selection. +Commands are grouped into Products, Users, Sales, Wholesale, Market and Misc, +with an Abort action and a Settings section. Category tabs provide larger +controls for each section. Manage members contains member administration; +all underlying commands remain available. Remove item edits the current +unbilled sale; transaction undo is a separate action. Door open retains the +existing configured door command. + +Settings offers Party, Dark, Banana and Dank Hit modes. Party mode reflects +backend state and can be disabled even while another question is pending. +A missing printer no longer prevents exit: settlement totals and their history +are saved in the party state before attempting to print. No sale or account +balance is cleared by changing this setting. + +Appearance settings apply to this browser and survive reloads. The command bar +also accepts `darkmodeon` / `darkmodeoff`, `bananamodeon` / `bananamodeoff`, and +`dankmodeon` / `dankmodeoff`. The banana appears at a random screen location, +lets clicks through, fades during its final two seconds, and disappears within +one hour of activation; refreshing does not extend that deadline. Dank Hit mode +plays the supplied hitmarker sample through the POS browser audio and displays +a click-through marker for 300ms at each click or tap. + +Member and Other users lists have alphabetical Archive tabs for accounts whose +last purchase is older than a year. New accounts with no purchase record use +their last account update as a conservative fallback. A read-only index of +the existing checkout log is shared between sessions, reuses unchanged results, +and reads only appended data after the first scan. Initial reads are capped +at 8MiB. If that window cannot establish a full year's coverage, archives stay +unavailable and accounts remain in the normal lists. Deposits, transfers, +refunds and undo lines are excluded from purchase history. + +Clicking a user with an empty sale shows the balance and up to ten recent +purchase line items. Add again uses the current product price and only adds +to the sale, leaving the normal account selection and checkout flow intact. +Reordering is offered only when a historical description identifies one +current product. Older or ambiguous products remain visible as history. +Undo latest transaction appears only for an eligible latest transaction; +the backend rechecks its ID and owner before using the existing undo flow. +The local seed adds stitch, BugBlue, Jos, nino and Anus, two archive examples, +and sample purchase history without resetting existing development balances. Clicking anywhere in the Hack42 logo, title, and subtitle area sends Abort and clears the command input. The Sounds menu and command search omit Deur off/on, Groove Salad, Jazz Radio -Blues, Kill Music, Louder, Quieter and Kassa off/on. Sounds provides two large +Blues, Kill Music, Louder, Quieter and Kassa off/on. The Sounds page also omits +Abort and Christmas; the header reset remains available. Ding Dong, Vergaderen, +Vergaderen Extreme and Throw remain on that page after playback. Typed sound +commands keep their existing behavior. Sounds provides two large volume sliders for HackBank POS effects and Space audio. Each reads the current output volume, applies changes, and refreshes every two seconds while open. Opening Sounds is silent. Releasing a slider plays a short preview beep on diff --git a/compose.dev.yaml b/compose.dev.yaml index 5f8dc38..4ae9d52 100644 --- a/compose.dev.yaml +++ b/compose.dev.yaml @@ -30,6 +30,7 @@ services: - ./kassa.py:/app/kassa.py:ro - ./config.py:/app/config.py:ro - ./input_validation.py:/app/input_validation.py:ro + - ./purchase_history.py:/app/purchase_history.py:ro - ./plugins:/app/plugins:ro - ./images:/app/images:ro - ./fakedata:/app/fakedata:ro diff --git a/dev/seed.py b/dev/seed.py index cff56fe..b5c9915 100644 --- a/dev/seed.py +++ b/dev/seed.py @@ -2,6 +2,7 @@ from pathlib import Path import shutil +from datetime import datetime, timedelta data = Path("data") data.mkdir(exist_ok=True) @@ -59,3 +60,29 @@ "".join(f"{name} 42\n" for name in ["grolsch", "ipa", "clubmate", "cola", "coffee", "crisps"]), encoding="utf-8", ) + +# Add UI fixtures to existing development data without resetting balances. +theme_users = ["stitch", "BugBlue", "Jos", "nino", "Anus"] +existing = {line.split()[0] for line in (data / "revbank.accounts").read_text().splitlines() + if line.strip() and not line.startswith("#")} +now = datetime.now() +with (data / "revbank.accounts").open("a", encoding="utf-8") as output: + for index, user in enumerate(theme_users + ["archive_member", "archive_guest"]): + if user not in existing: + date = "2024-01-01_12:00:00" if user.startswith("archive_") else now.strftime("%Y-%m-%d_%H:%M:%S") + output.write(f"{user:20} {[42.0, -4.2, 12.5, 8.75, -18.5][index % 5]:+8.2f} {date}\n") +members = set((data / "revbank.members").read_text().split()) +with (data / "revbank.members").open("a", encoding="utf-8") as output: + for user in theme_users + ["archive_member"]: + if user not in members: + output.write(user + "\n") +marker = data / ".ui-purchase-fixtures-v1" +if not marker.exists(): + with (data / "revbank.log").open("a", encoding="utf-8") as output: + for user in ["archive_member", "archive_guest"]: + output.write(f"2024-01-01_12:00:00 CHECKOUT 400000000 {user} 1 * 1.25 LOSE EUR 1.25 # Coca-Cola\n") + for index in range(12): + date = now - timedelta(days=12-index) + transaction = int(date.timestamp())-1300000000 + output.write(f"{date:%Y-%m-%d_%H:%M:%S} CHECKOUT {transaction} Jos 1 * 2.00 LOSE EUR 2.00 # Club-Mate\n") + marker.write_text("Development UI sample purchases; not real transactions.\n") diff --git a/kassa.py b/kassa.py index 5b99df9..d81e54d 100755 --- a/kassa.py +++ b/kassa.py @@ -163,6 +163,19 @@ def input(self, text): self.send_message(True, "buttons", json.dumps({})) return + # Configuration must remain reachable while a product/user prompt is + # waiting for an answer, without aborting the pending sale or prompt. + if text.strip() in ("partymodeon", "partymodeoff") and "party" in self.plugins: + self.pre_input(text) + try: + self.plugins["party"].input(text.strip()) + except Exception: + logger.exception("Party configuration failed sid=%s", self.SID) + self.send_message(True, "message", "Could not change party mode; please try again") + if not self.nextcall: + self.send_message(True, "buttons", json.dumps({})) + return + self.buttons = {} self.pre_input(text) diff --git a/package.json b/package.json index ef236a7..4675b59 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "kassa", "private": true, "scripts": { - "lint:js": "eslint www/kassa-textfill.js www/kassa-dom.js www/kassa-buttons.js www/kassa-stream.js www/kassa-audio.js www/kassa-app.js www/spaceconsole/all.js tests/js/*.test.js", + "lint:js": "eslint www/kassa-textfill.js www/kassa-dom.js www/kassa-buttons.js www/kassa-stream.js www/kassa-audio.js www/kassa-preferences.js www/kassa-app.js www/spaceconsole/all.js tests/js/*.test.js", "test:js": "node --test tests/js/*.test.js" }, "devDependencies": { diff --git a/plugins/accounts.py b/plugins/accounts.py index 413ad97..267a9ca 100644 --- a/plugins/accounts.py +++ b/plugins/accounts.py @@ -374,8 +374,12 @@ def _resolve_account(self, text): def _use_account(self, account): if self.master.receipt.is_empty(): + details = dict(self.accounts[account]) + plugins = getattr(self.master, "plugins", {}) + if isinstance(plugins, dict) and "historie" in plugins: + details.update(plugins["historie"].account_details(account)) self.master.send_message( - False, "infobox/account", json.dumps(self.accounts[account]) + False, "infobox/account", json.dumps(details) ) self.master.send_message( True, "buttons", json.dumps({"special": "infobox"}) diff --git a/plugins/historie.py b/plugins/historie.py index 3c32f5a..58d6a1d 100644 --- a/plugins/historie.py +++ b/plugins/historie.py @@ -1,5 +1,6 @@ import json import os +from purchase_history import purchase_index class historie: @@ -51,6 +52,28 @@ def reversesearch(self, text): def help(self): return {"history": "User History"} + def account_details(self, user): + products = self.master.products.products + purchases = purchase_index.recent(user) + for purchase in purchases: + matches = [name for name, product in products.items() + if product["description"] == purchase["description"]] + if len(matches) == 1: + purchase["product"] = matches[0] + purchase["current_price"] = products[matches[0]]["price"] + undo = self.master.plugins.get("undo") + latest = undo.latest_for(user) if undo else None + return {"user": user, "purchases": purchases, + "history_available": purchase_index.available, + "history_complete": purchase_index.complete, + "undo_transaction": latest} + + def publish_activity(self): + self.master.send_message(True, "activity", json.dumps(purchase_index.activity())) + + def hook_endsession(self, _user): + self.publish_activity() + def history(self, text): if text in self.master.accounts.accounts: lines = self.reversesearch(text) @@ -80,4 +103,4 @@ def input(self, text): return None def startup(self): - pass + self.publish_activity() diff --git a/plugins/party.py b/plugins/party.py index b46e6c2..5b65391 100644 --- a/plugins/party.py +++ b/plugins/party.py @@ -44,6 +44,8 @@ def __init__(self, SID, master): self.started_amount = 0.0 self.credited_amount = 0.0 self.started_at = "" + self.last_settlement = None + self.settlements = [] def help(self): return { @@ -61,10 +63,18 @@ def loadstate(self): self.started_amount = 0.0 self.credited_amount = 0.0 self.started_at = "" + self.last_settlement = None + self.settlements = [] try: with open(STATE_FILE, encoding="utf-8") as f: data = json.load(f) self.active = bool(data.get("active", False)) + self.last_settlement = data.get("last_settlement") + self.settlements = data.get("settlements", []) + if not isinstance(self.settlements, list): + self.settlements = [] + if not self.settlements and isinstance(self.last_settlement, dict): + self.settlements.append(self.last_settlement) self.started_amount = float(data.get("started_amount", 0.0)) self.started_at = str(data.get("started_at", "")) if "credited_amount" in data: @@ -77,16 +87,24 @@ def loadstate(self): logger.warning("party_state_load_failed sid=%s error=%s", self.SID, exc) def writestate(self): + state = { + "active": self.active, + "started_amount": self.started_amount, + "credited_amount": self.credited_amount, + "started_at": self.started_at, + } + if self.last_settlement is not None: + state["last_settlement"] = self.last_settlement + if self.settlements: + state["settlements"] = self.settlements _atomic_write( STATE_FILE, - { - "active": self.active, - "started_amount": self.started_amount, - "credited_amount": self.credited_amount, - "started_at": self.started_at, - }, + state, ) + def publish_state(self): + self.master.send_message(True, "settings/party", json.dumps({"enabled": self.active})) + def _credited_amount_from_log(self): credited_amount = 0.0 try: @@ -122,6 +140,7 @@ def _ensure_party_account(self): def _publish_members(self): self.master.accounts.publish_members() + self.publish_state() def _enable(self): self.loadstate() @@ -147,6 +166,7 @@ def _enable(self): def _disable(self): self.loadstate() if not self.active: + self.publish_state() self.master.send_message(True, "message", "Party mode is not on") return True self.master.accounts.readaccounts() @@ -161,6 +181,13 @@ def _disable(self): "settled_amount": settled_amount, "started_at": self.started_at, } + # A disconnected printer must never trap the register in party mode. + # Keep the settlement on disk so the totals survive a failed print. + self.last_settlement = settlement + self.settlements.append(settlement) + self.active = False + self.writestate() + self._publish_members() try: self.master.POS.printparty(settlement) except Exception as exc: # pylint: disable=broad-exception-caught @@ -168,13 +195,10 @@ def _disable(self): self.master.send_message( True, "message", - "Party mode receipt print failed: %s" % exc, + "Party mode off; settlement saved, receipt print failed: %s" % exc, ) return True - self.active = False - self.writestate() - self._publish_members() self.master.send_message( True, "message", @@ -205,6 +229,7 @@ def input(self, text): def startup(self): self.loadstate() + self.publish_state() if self.active: self.master.accounts.readaccounts() self._ensure_party_account() diff --git a/plugins/sounds.py b/plugins/sounds.py index 98c5509..882de6c 100644 --- a/plugins/sounds.py +++ b/plugins/sounds.py @@ -27,7 +27,6 @@ def hook_undo(self, args): def showsounds(self): custom = [] - custom.append({"text": "abort", "display": "Abort"}) custom.append({"text": "ns", "display": "Ding Dong"}) custom.append({"text": "deuron", "display": "Deur on"}) custom.append({"text": "deuroff", "display": "Deur off"}) @@ -35,11 +34,12 @@ def showsounds(self): custom.append({"text": "kassaoff", "display": "Kassa off"}) custom.append({"text": "killsounds", "display": "Kill Music"}) custom.append({"text": "groovesalad", "display": "Groove Salad"}) - custom.append({"text": "christmas", "display": "christmas"}) custom.append({"text": "blues", "display": "Jazz Radio Blues"}) custom.append({"text": "quieter", "display": "Quieter"}) custom.append({"text": "louder", "display": "Louder"}) custom.append({"text": "vergaderen", "display": "Vergaderen!"}) + custom.append({"text": "vergaderenextreme", "display": "Vergaderen Extreme"}) + custom.append({"text": "throw", "display": "Throw"}) self.master.send_message( True, "buttons", json.dumps({"special": "custom", "custom": custom}) ) @@ -57,6 +57,10 @@ def input( if text == "vergaderen": self.master.send_message(False, "sound", "vergaderen.mp3") return True + if text in ("vergaderenextreme", "vergaderen_extreme", "throw"): + sample = "throw.wav" if text == "throw" else "vergaderen_extreme.wav" + self.master.send_message(False, "sound", sample) + return True if text == "deuron": pass if text == "deuroff": diff --git a/plugins/undo.py b/plugins/undo.py index fba5536..d302941 100644 --- a/plugins/undo.py +++ b/plugins/undo.py @@ -21,6 +21,7 @@ def help(self): "undo": "Undo last transaction", "undolist": "Undo a transaction", "restore": "Restore a transaction", + "undouserlatest": "Undo user's latest transaction", } def hook_post_checkout(self, text): @@ -192,6 +193,10 @@ def listundo(self, restore=False): self.master.donext(self, "doundo") def input(self, text): + if text == "undouserlatest": + self.master.donext(self, "undo_user_latest") + self.master.send_message(True, "message", "Select a user transaction to undo") + return True if text == "undolist": self.listundo(0) return True @@ -204,6 +209,22 @@ def input(self, text): return True return None + def latest_for(self, user): + self.loadundo() + if not self.undo: + return None + latest = max(self.undo) + entry = self._get_undo_entry(latest) + return latest if entry and user in entry[0] else None + + def undo_user_latest(self, text): + transaction, separator, user = text.partition(":") + latest = self.latest_for(user) if separator else None + if latest is None or str(latest) != transaction: + self.master.send_message(True, "message", "Latest transaction changed; reopen the user details") + return True + return self.doundo(latest) + def hook_abort(self, _void): self.startup() diff --git a/purchase_history.py b/purchase_history.py new file mode 100644 index 0000000..4e47fe0 --- /dev/null +++ b/purchase_history.py @@ -0,0 +1,99 @@ +"""Bounded, incremental read-only index of the existing checkout log.""" + +from collections import defaultdict, deque +from datetime import datetime, timedelta +from pathlib import Path +import re + +CHECKOUT = re.compile( + r"^(\S+) CHECKOUT\s+(\d+)\s+(\S+)\s+([\d.-]+) \*\s+([\d.-]+) " + r"(LOSE|GAIN) EUR\s+([\d.-]+) # (.*)$" +) +MAX_READ = 8 * 1024 * 1024 + + +class PurchaseIndex: + def __init__(self, path="data/revbank.log"): + self.path = Path(path) + self.identity = None + self.offset = 0 + self.signature = None + self.records = defaultdict(lambda: deque(maxlen=10)) + self.last_purchase = {} + self.coverage_start = None + self.complete = False + self.available = False + + def refresh(self): + try: + stat = self.path.stat() + signature = (stat.st_ino, stat.st_size, stat.st_mtime_ns) + if signature == self.signature: + self.available = True + return self + reset = (self.identity != stat.st_ino or stat.st_size < self.offset + or (stat.st_size == self.offset and signature != self.signature)) + skip_partial = False + if reset: + self.records.clear() + self.last_purchase.clear() + self.coverage_start = None + self.complete = stat.st_size <= MAX_READ + self.offset = max(0, stat.st_size - MAX_READ) + skip_partial = self.offset > 0 + if stat.st_size - self.offset > MAX_READ: + self.records.clear() + self.last_purchase.clear() + self.coverage_start = None + self.complete = False + self.offset = stat.st_size - MAX_READ + skip_partial = True + with self.path.open("rb") as source: + source.seek(self.offset) + if skip_partial: + source.readline() # Skip a partial first line at the window boundary. + data = source.read(MAX_READ) + end = data.rfind(b"\n") + 1 + self.offset = source.tell() - (len(data) - end) + for line in data[:end].decode("utf-8", errors="replace").splitlines(): + if len(line) >= 19 and line[4:5] == "-": + if self.coverage_start is None: + self.coverage_start = line[:19] + match = CHECKOUT.match(line) + if not match: + continue + date, transaction, user, count, price, direction, total, description = match.groups() + try: + count, price, total = float(count), float(price), float(total) + except ValueError: + continue + if (direction != "LOSE" or count <= 0 or price <= 0 + or description.startswith(("Undo ", "Give to ", "Taken by ", "Pfand ")) + or description == "Declaratie"): + continue + self.last_purchase[user] = max(self.last_purchase.get(user, date), date) + record = { + "date": date, "transaction": int(transaction), "count": count, + "price": price, "total": total, "description": description, + } + self.records[user] = deque(sorted([*self.records[user], record], key=lambda item: item["date"])[-10:], maxlen=10) + self.identity = stat.st_ino + self.signature = signature + self.available = True + except OSError: + self.available = False + return self + + def activity(self): + self.refresh() + cutoff = (datetime.now() - timedelta(days=365)).strftime("%Y-%m-%d_%H:%M:%S") + covered = self.complete or (self.coverage_start is not None and self.coverage_start <= cutoff) + return {"available": self.available and covered, "cutoff": cutoff, + "last_purchase": dict(self.last_purchase)} + + def recent(self, user): + self.refresh() + return [dict(record) for record in reversed(self.records.get(user, []))] if self.available else [] + + +purchase_index = PurchaseIndex() diff --git a/tests/js/browser-smoke.test.js b/tests/js/browser-smoke.test.js index a2b8ad8..ff7e423 100644 --- a/tests/js/browser-smoke.test.js +++ b/tests/js/browser-smoke.test.js @@ -81,6 +81,7 @@ function writeKassaFixture(bodyScript) { ${scriptTag("kassa-buttons.js")} ${scriptTag("kassa-stream.js")} ${scriptTag("kassa-audio.js")} + ${scriptTag("kassa-preferences.js")} ${scriptTag("kassa-app.js")} diff --git a/tests/js/index-scripts.test.js b/tests/js/index-scripts.test.js index e33373f..2130ece 100644 --- a/tests/js/index-scripts.test.js +++ b/tests/js/index-scripts.test.js @@ -16,6 +16,7 @@ test("main index loads split kassa scripts in dependency order", () => { "kassa-buttons.js", "kassa-stream.js", "kassa-audio.js", + "kassa-preferences.js", "kassa-app.js", ]); assert(!html.includes('src="all.js"')); diff --git a/tests/js/kassa-app.test.js b/tests/js/kassa-app.test.js index 8b30699..837a742 100644 --- a/tests/js/kassa-app.test.js +++ b/tests/js/kassa-app.test.js @@ -331,7 +331,7 @@ test("custom sound menus include volume controls and omit the retired choices", JSON.stringify({special: "custom", custom: names.map((name) => ({text: name, display: name}))}), ])}); assert.deepEqual(findAll(elements.MainButtons, ".Buttontext").map((el) => el.textContent), [ - "abort", "christmas", "ns", "vergaderen", + "ns", "vergaderen", ]); assert.equal(audioMountCalls.length, 1); assert.equal(audioMountCalls[0].container, findFirst(elements.MainButtons, ".sound-screen")); @@ -573,6 +573,30 @@ test("kassa app handles closed streams by scheduling one reconnect", () => { assert.equal(timers[0].delay, 1000); }); +test("late idle updates preserve Commands and selecting an action restores normal navigation", () => { + const {body,elements,eventSources}=loadKassaApp(); + function send(topic,payload) { + eventSources[0].onmessage({data:JSON.stringify([`hack42bar/output/session/main/${topic}`,JSON.stringify(payload)])}); + } + send('accounts/Jos',{amount:10}); + send('members',['Jos']); + send('commands',{deposit:'Deposit Money'}); + send('buttons',{}); + body.eventListeners.click({target:{closest(selector) { + return selector.startsWith('div.Knopje:not') ? findFirst(elements.LeftButtons,'#commands') : null; + }}}); + assert(findFirst(elements.MainButtons,'.command-sections')); + send('buttons',{}); + assert(findFirst(elements.MainButtons,'.command-sections')); + send('buttons',{special:'numbers'}); + assert(findFirst(elements.MainButtons,'.command-sections')); + body.eventListeners.click({target:{closest(selector) { + return selector === 'div.normal' ? findFirst(elements.MainButtons,'#deposit') : null; + }}}); + send('buttons',{}); + assert(elements.MainButtons.children.some((element)=>element.id === 'AccountList')); +}); + test("kassa app removes accounts when retained account messages are cleared", () => { const {elements, eventSources} = loadKassaApp(); const sendStreamMessage = (topic, msg) => { diff --git a/tests/js/kassa-buttons.test.js b/tests/js/kassa-buttons.test.js index 494c75e..cc51966 100644 --- a/tests/js/kassa-buttons.test.js +++ b/tests/js/kassa-buttons.test.js @@ -181,3 +181,28 @@ test("account themes match names without changing account commands or balances", assert.equal(byName.Jos.rightclass, "Jos rood"); assert.deepEqual(Object.keys(byName).sort(), ["Anus", "Anux", "Jos", "nino"]); }); + +test("command sections preserve action ids, ordering and access through Manage members", () => { + const helpers=loadButtonHelpers(); + const commands={abort:'Abort everything',addproduct:'Add new product',setprice:'Change the price of a product', + addmember:'Add user to members',members:'Manage members',partymodeon:'Enable party mode',partymodeoff:'Disable party mode', + market:'Market: Products',changemarket:'Market: Change Price',addmarket:'Market: Add alias'}; + const sections=plain(helpers.commandSections(commands)); + assert.deepEqual(sections.map((section)=>section.name),['Products','Users','Sales','Wholesale','Market','Misc']); + assert.deepEqual(sections[0].buttons.map((button)=>[button.text,button.display]),[['addproduct','Add new'],['setprice','Change price']]); + assert.deepEqual(sections[1].buttons.map((button)=>button.text),['members']); + assert.deepEqual(sections[4].buttons.map((button)=>button.display),['Products','Pricing','Aliases']); + assert.equal(commands.addmember,'Add user to members'); +}); + +test("archives use purchase dates, keep unknown activity visible, and preserve selection commands", () => { + const helpers=loadButtonHelpers(); + const accounts={Jos:{amount:10,lastupdate:'2026-10-16'},old:{amount:-2,lastupdate:'2020-01-01'},newuser:{amount:0,lastupdate:'2026-10-16'}}; + const candidates=helpers.accountsToButtons(accounts,Object.keys(accounts),[],'m'); + const activity={available:true,cutoff:'2025-10-17',last_purchase:{Jos:'2024-01-01'}}; + const split=plain(helpers.splitAccounts(candidates,accounts,activity)); + assert.deepEqual(split.active.map((button)=>button.text),['newuser']); + assert.deepEqual(split.archive.map((button)=>button.text),['Jos','old']); + assert(split.archive.every((button)=>button.class.includes('archived-account'))); + assert.equal(helpers.splitAccounts(candidates,accounts,{available:false}).active.length,3); +}); diff --git a/tests/plugins/test_party.py b/tests/plugins/test_party.py index 9ffcb9e..ef29c47 100644 --- a/tests/plugins/test_party.py +++ b/tests/plugins/test_party.py @@ -199,6 +199,7 @@ def test_partymodeon_persists_state_and_publishes_party_member( "accounts/party", json.dumps({"amount": 100.0, "lastupdate": "2026-05-28_19:00:00"}), ), + call(True, "settings/party", '{"enabled": true}'), call(True, "message", "Party mode on; started with EUR 100.00"), ] ) @@ -327,12 +328,12 @@ def test_partymodeoff_without_active_mode_does_not_print(tmp_path, monkeypatch): assert plugin.input("partymodeoff") is True plugin.master.POS.printparty.assert_not_called() - plugin.master.send_message.assert_called_once_with( + plugin.master.send_message.assert_any_call( True, "message", "Party mode is not on" ) -def test_partymodeoff_keeps_active_when_print_fails(tmp_path, monkeypatch): +def test_partymodeoff_saves_settlement_and_restores_members_when_print_fails(tmp_path, monkeypatch): monkeypatch.chdir(tmp_path) (tmp_path / "data").mkdir() (tmp_path / STATE_FILE).write_text( @@ -355,12 +356,15 @@ def test_partymodeoff_keeps_active_when_print_fails(tmp_path, monkeypatch): assert plugin.input("partymodeoff") is True data = json.loads((tmp_path / STATE_FILE).read_text(encoding="utf-8")) - assert data["active"] is True - master.accounts.publish_members.assert_not_called() + assert data["active"] is False + assert data["last_settlement"]["settled_amount"] == 27.5 + assert data["settlements"] == [data["last_settlement"]] + assert not plugin.active + master.accounts.publish_members.assert_called_once() master.send_message.assert_any_call( True, "message", - "Party mode receipt print failed: printer unreachable", + "Party mode off; settlement saved, receipt print failed: printer unreachable", ) diff --git a/tests/plugins/test_undo.py b/tests/plugins/test_undo.py index 757aada..9d5a067 100644 --- a/tests/plugins/test_undo.py +++ b/tests/plugins/test_undo.py @@ -11,10 +11,31 @@ def test_undo_help(): "undo": "Undo last transaction", "undolist": "Undo a transaction", "restore": "Restore a transaction", + "undouserlatest": "Undo user's latest transaction", } assert undo.help() == expected_help +def test_user_card_undo_rechecks_owner_and_transaction_id(): + master = Mock() + plugin = undo_module.undo("SID", master) + plugin.loadundo = Mock() + plugin.doundo = Mock(return_value=True) + plugin.undo = {1: {"totals": {"Jos": -2}, "receipt": [], "beni": "Jos"}} + assert plugin.latest_for("Jos") == 1 + assert plugin.latest_for("nino") is None + assert plugin.undo_user_latest("1:Jos") is True + plugin.doundo.assert_called_once_with(1) + plugin.doundo.reset_mock() + plugin.undo[2] = {"totals": {"nino": -1}, "receipt": [], "beni": "nino"} + assert plugin.undo_user_latest("1:Jos") is True + plugin.doundo.assert_not_called() + plugin.undo[3] = {"totals": {"Jos": -1}, "receipt": [], "beni": "Jos"} + assert plugin.undo_user_latest("1:Jos") is True + plugin.doundo.assert_not_called() + master.send_message.assert_called_with(True, "message", "Latest transaction changed; reopen the user details") + + def test_undo_hook_post_checkout(): master_mock = Mock() undo = undo_module.undo("SID", master_mock) diff --git a/tests/test_kassa.py b/tests/test_kassa.py index d3909ab..efa3de6 100644 --- a/tests/test_kassa.py +++ b/tests/test_kassa.py @@ -6,6 +6,34 @@ from plugins.products import products +def test_party_configuration_does_not_consume_a_pending_user_or_sale_prompt(): + session = kassa.Session("SID", Mock()) + party = Mock() + question = Mock() + session.plugins = {"party": party} + session.nextcall = {"plug": question, "function": "answer"} + session.receipt = Mock() + session.receipt.receipt = [{"product": "cola", "count": 2}] + session.pre_input = Mock() + session.input("partymodeoff") + party.input.assert_called_once_with("partymodeoff") + question.answer.assert_not_called() + session.receipt.assert_not_called() + assert session.receipt.receipt == [{"product": "cola", "count": 2}] + assert session.nextcall == {"plug": question, "function": "answer"} + + +def test_party_configuration_error_does_not_stop_the_command_host(): + session = kassa.Session("SID", Mock()) + party = Mock() + party.input.side_effect = OSError("storage unavailable") + session.plugins = {"party": party} + session.pre_input = Mock() + session.send_message = Mock() + session.input("partymodeoff") + session.send_message.assert_any_call(True, "message", "Could not change party mode; please try again") + + def test_session_startup(): client_mock = Mock() session = kassa.Session("SID", client_mock) diff --git a/tests/test_purchase_history.py b/tests/test_purchase_history.py new file mode 100644 index 0000000..bfa0a6e --- /dev/null +++ b/tests/test_purchase_history.py @@ -0,0 +1,63 @@ +from unittest.mock import patch + +from purchase_history import PurchaseIndex + + +def sale(user, number=1, description="Cola", date="2026-10-15_12:00:00"): + return f"{date} CHECKOUT {number} {user} 1 * 1.25 LOSE EUR 1.25 # {description}\n" + + +def test_recent_ten_are_exact_user_matches_and_incremental(tmp_path): + path = tmp_path / "sales.log" + path.write_text("".join(sale("Jos", n) for n in range(12)) + sale("Jos2", 99)) + index = PurchaseIndex(path) + assert len(index.recent("Jos")) == 10 + assert all(row["transaction"] != 99 for row in index.recent("Jos")) + offset = index.offset + with path.open("a") as output: + output.write(sale("Jos", 100, date="2026-10-16_12:00:00")) + assert index.recent("Jos")[0]["transaction"] == 100 + assert index.offset > offset + assert index.activity()["available"] + + +def test_cache_skips_reads_and_does_not_leak_profile_mutations(tmp_path): + path = tmp_path / "sales.log" + path.write_text(sale("Jos")) + index = PurchaseIndex(path) + records = index.recent("Jos") + records[0]["description"] = "changed by caller" + with patch.object(type(path), "open", side_effect=AssertionError("re-read unchanged log")): + assert index.recent("Jos")[0]["description"] == "Cola" + + +def test_missing_rotated_and_partial_logs(tmp_path): + path = tmp_path / "sales.log" + index = PurchaseIndex(path) + assert not index.activity()["available"] + path.write_text(sale("Jos")[:-1]) + assert index.recent("Jos") == [] + with path.open("a") as output: + output.write("\n") + assert len(index.recent("Jos")) == 1 + path.unlink() + assert index.recent("Jos") == [] + path.write_text(sale("nino")) + assert index.recent("Jos") == [] + assert len(index.recent("nino")) == 1 + + +def test_large_logs_have_a_read_limit_and_do_not_claim_full_year_coverage(tmp_path, monkeypatch): + path = tmp_path / "sales.log" + path.write_text(sale("Jos", date="2026-10-16_12:00:00") * 100) + monkeypatch.setattr("purchase_history.MAX_READ", 512) + index = PurchaseIndex(path) + assert len(index.recent("Jos")) < 10 + assert not index.activity()["available"] + + +def test_refunds_and_undo_entries_are_not_purchase_history(tmp_path): + path = tmp_path / "sales.log" + path.write_text(sale("Jos") + sale("Jos", 2, "Undo 1") + + sale("Jos", 3).replace("LOSE", "GAIN")) + assert len(PurchaseIndex(path).recent("Jos")) == 1 diff --git a/www/images/effects/banana/banana-peanut-butter-jelly-time.gif b/www/images/effects/banana/banana-peanut-butter-jelly-time.gif new file mode 100644 index 0000000000000000000000000000000000000000..96d47d23a1879b4e66316ae2a0402182794d3637 GIT binary patch literal 1537 zcmY+Ec`(~)7{`A^gdmBl6BMz6)S1M+OX>_k=?>~_v5vZ{+D60`i6cTPBqcCoydcE_4MOl`E&uDNC{)m6cb_R5#}hQ? zm_fuWS8eMDI%xt!S(&{w)?COsGJLHf!S`*v24l|kIR$O7em@Wfe0r5jm9n zBw7(Q*Ph^L3eG+SE_V195P${RE&7e9mR7AU*QTy+WSt7%gC1aOSSDf=LW3u-_2H%w zivM%V19E^CpfBZaph$873!j6v$zPC69JcVuIhSZwY+ya8-ZTX}VinnMVJ|CdwT}%ei@~j77TQ7*k!8jJ#!EWm~V>sh6rML>JIfe4Pgd zse{Al{-Iu#6Tru*qdo*ZEDaj4m>;L%INM3Tzh9!ouOG-wyVPjVI^ezIgHVDQ146kp z3lyR@5iqvL#SHOjBK>jf9eSj{=3?KjLD4$2T6gIwW_=zk+9}q?t!yhEJ~KpYH9OL# zwm_*#cxVzl&(gGzuIXfgWx-O<#8rk?fw(*y+YnYghF_OjOSs+I(B9PCQr&qQZYr#c z;;CJ|I>NX+HZn26yC-%=-={}<2L+p-^E*rQH+m4@to}tGvVe|M835EtkxWYaP^c)h z9;1$)t;9vYl2dlw2BOBCvmfZ8?K(<-miWhfjP==L_N*-+nn=eHTC z>XSXRWPZwJYNKXFuUT|jb!|6vV*w)?$7D9dE$??@FCYu@$tE^fa+Z+k&anyPFC402_C$>HG&Mry%4&^anri(u9hW?Zo>4v1o^Mu!obMf zi~uDt9h``R)76-C4Q%1fN)F4O<5-xWsX{8zXl^3;BHKGsLK&ea0A)X0T}P4heYSd6 zDZ>63Py@>|e%Y0hEeVJW+ZV~YEiWVak3t^(Mx{r=P!r>@9;njuGBt%I6XlFqg6`Mq zwc#rEkIKJtu*(ahko?)JJ~R3cxfwmnul~%zlL_aKoi4?u0!)^Jaw+qg9h+%WPLC>% zU`LfUl+bac9*k^5?;_Y8l3p0O`vmRr?D(j(_)Dc1VwJW2l5s~kZ5{}d zU-)!s3o1`oP z1|b;u5^41RO5j&8Ncoh(*}>;#+o`2d zD=~N4Ia3|m#_CT-R?=WDd}8}$mlk5;n9MUznR!fK_fEuN^zwe2gRymPRz5k>0(6F4 z?1s1W(qo$B*l<}@)%Y`Y+DyKUEw7=)2QF-fN?)Xf-H$Ek5ursRT74P`>hS1}@5Sc` QKKDHvV|5;?Dgxj92Wx;@{{R30 literal 0 HcmV?d00001 diff --git a/www/images/effects/mlg/hitmarker.gif b/www/images/effects/mlg/hitmarker.gif new file mode 100644 index 0000000000000000000000000000000000000000..07b13c6a726db3fd0e87c90374c317ccb8b4653d GIT binary patch literal 4588 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 literal 0 HcmV?d00001 diff --git a/www/images/effects/mlg/hitmarker.wav b/www/images/effects/mlg/hitmarker.wav new file mode 100644 index 0000000000000000000000000000000000000000..eea42a1f55803a978e23a086cf40a30fe063c729 GIT binary patch literal 6814 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 V7rT7*vUzqf^XJFRUFC(){{TAW8U_FW literal 0 HcmV?d00001 diff --git a/www/index.html b/www/index.html index 422c009..7ddcf07 100644 --- a/www/index.html +++ b/www/index.html @@ -6,13 +6,14 @@ Hack42 - HackBank - - - - - - - + + + + + + + + diff --git a/www/kassa-app.js b/www/kassa-app.js index 7253504..37b472a 100644 --- a/www/kassa-app.js +++ b/www/kassa-app.js @@ -19,6 +19,21 @@ document.addEventListener("DOMContentLoaded", function() { var filterRestore=null; var filtering=false; var audioControl=null; + var currentView='accounts'; + var commandCategory='All commands'; + var soundButtons=[]; + var activity=null; + var accountProfile=null; + var accountType='m'; + var archivedAccounts=false; + var accountSections=null; + var filterReturnView=null; + var preferences=window.HackBankPreferences ? window.HackBankPreferences.create({ + sendCommand: function(command) { + postmsg('input',command); + }, + playSound: playsound, + }) : null; var buttons=window.HackBankButtons; var dom=window.HackBankDom; var allElements=dom.allElements; @@ -36,6 +51,13 @@ document.addEventListener("DOMContentLoaded", function() { var topButton=dom.topButton; function postmsg(topic,msg) { + if(topic === 'input' && preferences && preferences.handleCommand(msg)) { + if(currentView === 'commands') locked=1; + if(filterReturnView === 'commands') { filterReturnView=null; makeCommandScreen(commandCategory); } + else if(filterRestore) { restoreSelection(filterRestore); filterRestore=null; } + return; + } + if(topic === 'input') filterReturnView=null; fetch("post.php", { method: "POST", headers: { @@ -149,11 +171,32 @@ document.addEventListener("DOMContentLoaded", function() { function showAccountButtons(activeButtonId, accountType, tabMode) { activateTopButton(activeButtonId); showElement('#Secondscreen'); - makeAccountList(buttons.accountsToButtons(accounts,members,nonmembers,accountType)); + currentView='accounts'; + makeAccountSections(accountType,false); prependCashButton(); focus(); tabenable=tabMode; } + function makeAccountSections(type, archive) { + accountType=type; + archivedAccounts=archive; + var candidates=buttons.accountsToButtons(accounts,members,nonmembers,type); + if(type === 'o') candidates=candidates.concat(buttons.accountsToButtons(accounts,members,nonmembers,'x')).sort(function(a,b) { return a.display.toLowerCase().localeCompare(b.display.toLowerCase()); }); + accountSections=buttons.splitAccounts(candidates,accounts,activity); + makeAccountList(archive ? accountSections.archive : accountSections.active); + addArchiveTabs(); + } + function addArchiveTabs() { + if(!accountSections) return; + var top=document.getElementById('TopButtons'); + var name=accountType === 'm' ? 'Members' : 'Other users'; + [[false,name],[true,name+' Archive']].reverse().forEach(function(item) { + var tab=createElement('button',{type:'button',class:'archive-tab'+(archivedAccounts === item[0] ? ' selected' : ''),text:item[1]+' ('+accountSections[item[0] ? 'archive' : 'active'].length+')', 'aria-pressed':String(archivedAccounts === item[0])}); + if(item[0] && (!activity || !activity.available)) { tab.disabled=true; tab.title='Archive unavailable until purchase history can be checked'; } + tab.addEventListener('click',function() { makeAccountSections(accountType,item[0]); prependCashButton(); focus(); }); + top.prepend(tab); + }); + } function build_receipt(msg) { var parts=JSON.parse(msg); var receipt=first('#Receipt'); @@ -206,6 +249,10 @@ document.addEventListener("DOMContentLoaded", function() { } function run_infobox(name,msg) { var json=JSON.parse(msg); + if(json.user) { + accountProfile=json; + return; + } var newsaldo=json.amount; var infobox=first('.infoboxes .Total_'+name); appendToElement(infobox, createElement('span',{class: 'NowHas',text: "Now Has"})); @@ -220,6 +267,7 @@ document.addEventListener("DOMContentLoaded", function() { } function setupcommands(msg) { commands=JSON.parse(msg); + if(preferences) Object.assign(commands,preferences.commands); } function setupstock(name,msg) { stock[name]=msg; @@ -232,6 +280,10 @@ document.addEventListener("DOMContentLoaded", function() { function makepage_infobox() { clearElement('#MainButtons'); clearElement('#TopButtons'); + if(accountProfile) { + makeUserProfile(accountProfile); + return; + } appendTo('#MainButtons', createElement('div',{class: "infoboxes", id: "infoboxes"})); cloneElementsTo('.Userline', '#infoboxes'); appendTo('#TopButtons', buttonElement("Knopje Button normal ok",'ok',"OK")); @@ -241,6 +293,51 @@ document.addEventListener("DOMContentLoaded", function() { appendTo('#TopButtons', buttonElement("Knopje Button normal kassala",'kassala',"Kassala")); fillVisibleText("#TopButtons .Knopjetext:visible"); } + function actionButton(label, command, className) { + var button=createElement('button',{type:'button',class:className || 'profile-action',text:label}); + button.addEventListener('click',function() { + locked=0; + currentView='action'; + postmsg('input',command); + setSearchValue(''); focus(); + }); + return button; + } + function makeUserProfile(profile) { + currentView='profile'; + var screen=createElement('section',{class:'user-profile'}); + var heading=createElement('div',{class:'profile-heading'}); + heading.appendChild(createElement('h1',{text:profile.user})); + var balanceClass=profile.amount < -13.37 ? ' rood' : (profile.amount < 0 ? ' orange' : ''); + heading.appendChild(createElement('span',{class:'profile-balance'+balanceClass,text:'Balance €'+profile.amount.toFixed(2)})); + screen.appendChild(heading); + var actions=createElement('div',{class:'profile-actions'}); + actions.appendChild(actionButton('Full user history','history '+profile.user)); + if(profile.undo_transaction !== null && profile.undo_transaction !== undefined) { + actions.appendChild(actionButton('Undo latest transaction','undouserlatest '+profile.undo_transaction+':'+profile.user,'profile-action undo-user-transaction')); + } + screen.appendChild(actions); + screen.appendChild(createElement('h2',{text:'Last 10 purchases'})); + screen.appendChild(createElement('p',{class:'profile-hint',text:'Add again uses the current price and adds to the current sale.'})); + if(profile.history_available && profile.history_complete === false) screen.appendChild(createElement('p',{class:'profile-hint',text:'Recent history is limited; open full user history for older purchases.'})); + var rows=createElement('div',{class:'purchase-list'}); + (profile.purchases || []).forEach(function(purchase) { + var row=createElement('div',{class:'purchase-row'}); + var details=createElement('div'); + details.appendChild(createElement('strong',{text:purchase.count+' × '+purchase.description})); + details.appendChild(createElement('span',{class:'purchase-date',text:purchase.date.replace('_',' ')+' · paid €'+purchase.total.toFixed(2)})); + row.appendChild(details); + if(purchase.product && prods[purchase.product] && purchase.count > 0 && purchase.count < 100) { + var command=purchase.count === 1 ? purchase.product : purchase.count+'* '+purchase.product; + row.appendChild(actionButton('Add again · €'+(prods[purchase.product].price*purchase.count).toFixed(2),command,'profile-action reorder-purchase')); + } + rows.appendChild(row); + }); + if(!rows.childElementCount) rows.appendChild(createElement('p',{class:'profile-hint',text:profile.history_available ? 'No purchases found.' : 'Purchase history is unavailable.'})); + screen.appendChild(rows); + appendTo('#MainButtons',screen); + appendTo('#TopButtons',actionButton('Back to members','abort','profile-action')); + } function dokeys(keys) { var keysElement=document.getElementById('keys'); keys.forEach(function(val) { @@ -367,6 +464,7 @@ document.addEventListener("DOMContentLoaded", function() { makepages(snapshot.view.className,snapshot.view.buttons,snapshot.view.accountList); selectButtonPage(Math.floor(snapshot.firstIndex/pagedButtons.capacity)+1); restoreExtraButtons(snapshot); + if(currentView === 'accounts') addArchiveTabs(); } function reflowButtonPages() { if(!pagedButtons || !allElements('#MainButtons .Pagina').length) return; @@ -380,6 +478,7 @@ document.addEventListener("DOMContentLoaded", function() { var knopje=appendChildren(createElement('div',{class: "Knopje Knop "+stuff.text+" "+extraclass + " " + stuff.class,id: stuff.text, role: 'button', tabindex: '0', title: stuff.display }), [ createElement('span',{class: "Buttontext ",text: stuff.display}), ]); + if(stuff.hint) knopje.appendChild(createElement('small',{class:'command-hint',text:stuff.hint})); if(stuff.text === 'stitch' && stuff.class && stuff.class.indexOf('account ') === 0) { knopje.prepend(createElement('img',{class: 'account-icon', src: 'images/users/stitch.png', width: '32', height: '32', alt: '', 'aria-hidden': 'true'})); } @@ -460,6 +559,7 @@ document.addEventListener("DOMContentLoaded", function() { } function makeSoundScreen(soundButtons) { activateTopButton('sounds'); + currentView='sounds'; pagedButtons=null; filterRestore=null; clearElement('#MainButtons'); @@ -475,9 +575,46 @@ document.addEventListener("DOMContentLoaded", function() { showquestion(); fillVisibleText('.Buttontext:visible'); } + function makeCommandScreen(category) { + commandCategory=category || 'All commands'; + locked=1; + activateTopButton('commands'); + currentView='commands'; + pagedButtons=null; filterRestore=null; + clearElement('#MainButtons'); clearElement('#TopButtons'); + showElement('#Secondscreen'); + appendTo('#TopButtons',actionButton('Abort everything','abort','profile-action abort-all')); + var sections=buttons.commandSections(commands); + ['All commands'].concat(sections.map(function(section) { return section.name; }),['Settings']).forEach(function(name) { + var tab=createElement('button',{type:'button',class:'command-tab'+((category || 'All commands') === name ? ' selected' : ''),text:name}); + tab.addEventListener('click',function() { makeCommandScreen(name); focus(); }); + appendTo('#TopButtons',tab); + }); + var grid=createElement('div',{class:'command-sections'+(category && category !== 'All commands' ? ' single-section' : '')}); + sections.forEach(function(section) { + if(category && category !== 'All commands' && category !== section.name) return; + if(!section.buttons.length) return; + var card=createElement('section',{class:'command-section section-'+section.name.toLowerCase()}); + card.appendChild(createElement('h2',{text:section.name})); + var commandsGrid=createElement('div',{class:'command-group-buttons'}); + section.buttons.forEach(function(button) { commandsGrid.appendChild(commandButton('normal',button)); }); + card.appendChild(commandsGrid); grid.appendChild(card); + }); + if(preferences && (!category || category === 'All commands' || category === 'Settings')) { + var settings=createElement('section',{class:'command-section section-settings'}); + settings.appendChild(createElement('h2',{text:'Settings'})); + var settingsGrid=createElement('div',{class:'settings-grid'}); + ['party','dark','banana','dank'].forEach(function(key) { settingsGrid.appendChild(preferences.toggle(key)); }); + settings.appendChild(settingsGrid); grid.appendChild(settings); + } + appendTo('#MainButtons',grid); + focus(); tabenable=1; + } function dobuttons(msg) { + if(currentView === 'commands' && locked === 1) return; var buttons=JSON.parse(msg); if(msg === '{}' && locked === 0) { + if(currentView === 'sounds') return; showAccountButtons('members','m',1); } else if (buttons['special'] === 'custom') { showElement('#Secondscreen'); @@ -489,8 +626,12 @@ document.addEventListener("DOMContentLoaded", function() { } var soundMenu=buttons['custom'].some(function(button) { return button.text === 'ns'; }) && buttons['custom'].some(function(button) { return button.text === 'vergaderen'; }); - if(soundMenu) makeSoundScreen(customButtons); + if(soundMenu) { + soundButtons=window.HackBankButtons.visibleSoundButtons(customButtons); + makeSoundScreen(soundButtons); + } else { + currentView='action'; activateTopButton('commands'); makepages('normal',customButtons); } @@ -542,11 +683,8 @@ document.addEventListener("DOMContentLoaded", function() { function playsound(sound) { var audioElement = document.createElement('audio'); audioElement.setAttribute('src', 'sounds/'+sound); - audioElement.setAttribute('autoplay', 'autoplay'); - audioElement.load(); - audioElement.addEventListener("load", function() { - audioElement.play(); - },true); + var playback=audioElement.play(); + if(playback && playback.catch) playback.catch(function(error) { console.log('Audio playback unavailable',error); }); } function showquestion() { @@ -568,6 +706,7 @@ document.addEventListener("DOMContentLoaded", function() { scrollToBottom('#Log'); break; case 'receipt': + accountProfile=null; build_receipt(msg); break; case 'totals': @@ -610,6 +749,19 @@ document.addEventListener("DOMContentLoaded", function() { case 'commands': setupcommands(msg); break; + case 'activity': + activity=JSON.parse(msg); + if(currentView === 'accounts' && !searchValue()) { + makeAccountSections(accountType,archivedAccounts); prependCashButton(); + } + if(currentView === 'profile') { + // A fresh backend check still guards the actual undo command. + allElements('.undo-user-transaction').forEach(function(button) { button.remove(); }); + } + break; + case 'settings': + if(preferences && pathParts[5] === 'party') preferences.setParty(JSON.parse(msg)); + break; } } function runmsg(path,msg) { @@ -635,10 +787,12 @@ document.addEventListener("DOMContentLoaded", function() { var dingen=searchValue().split(" "); var zoek=dingen[dingen.length-1].toLowerCase(); if(!zoek.length) { + if(filterReturnView === 'commands') { filterReturnView=null; makeCommandScreen(commandCategory); return; } restoreSelection(filterRestore); return; } if(fill && zoek.length<2) return; + if(!filterReturnView && currentView === 'commands') filterReturnView='commands'; if(!filterRestore) filterRestore=selectionSnapshot(); var buttons=[]; window.HackBankButtons.addMatchingButtons(buttons, window.HackBankButtons.accountsToButtons(accounts,members,nonmembers,'m'), zoek); @@ -686,6 +840,8 @@ document.addEventListener("DOMContentLoaded", function() { setSearchValue(""); } function submitCommand() { + var command=searchValue().trim(); + if(currentView === 'sounds' && !['ns','vergaderen','vergaderenextreme','vergaderen_extreme','throw','sounds'].includes(command) && !/^(dark|banana|dank)mode(on|off)$/.test(command)) currentView='action'; locked=0; verwerkinput(); focus(); @@ -707,6 +863,8 @@ document.addEventListener("DOMContentLoaded", function() { } function handleNormalClick() { + if(currentView === 'commands') locked=0; + if(currentView !== 'sounds' || !['ns','vergaderen','vergaderenextreme','throw'].includes(String(this.id))) currentView='action'; var dingen=searchValue().split(" "); dingen[dingen.length-1]=this.id; postmsg('input',dingen.join(" ")); @@ -756,14 +914,16 @@ document.addEventListener("DOMContentLoaded", function() { } function handleMainButtonClick() { + filterReturnView=null; + if(this.id !== 'sounds') currentView='action'; switch(this.id) { case 'members': locked=0; - showAccountButtons(this.id,'m',tabenable); + showAccountButtons(this.id,'m',tabenable || 1); break; case 'otherusers': locked=0; - showAccountButtons(this.id,'o',tabenable); + showAccountButtons(this.id,'o',tabenable || 1); break; case 'products': activateTopButton(this.id); @@ -772,10 +932,8 @@ document.addEventListener("DOMContentLoaded", function() { focus(); break; case 'commands': - activateTopButton(this.id); locked=0; - makepages('normal',window.HackBankButtons.commandsToButtons(commands).sort(window.HackBankButtons.compareDisplay)); - focus(); + makeCommandScreen(); break; case 'sounds': locked=0; @@ -784,6 +942,7 @@ document.addEventListener("DOMContentLoaded", function() { focus(); break; case 'back': + currentView='overview'; activateTopButton(this.id); locked=0; hideElement('#Secondscreen'); @@ -795,6 +954,7 @@ document.addEventListener("DOMContentLoaded", function() { showEmbeddedScreen('#IRCwindow','YouTube','https://www.youtube.com/','If the page cannot be displayed here, open it in a new tab.'); break; case 'spacecon': + currentView='embedded'; activateTopButton(this.id); locked=0; showEmbeddedScreen('#spacewindow','Home Assistant','http://hass.space.hack42.nl:8123/home/overview'); @@ -862,6 +1022,7 @@ document.addEventListener("DOMContentLoaded", function() { ]), ]); logoAbort.addEventListener('click',function() { + currentView='action'; stopAudio(); setSearchValue('abort'); submitCommand(); diff --git a/www/kassa-buttons.js b/www/kassa-buttons.js index fc2e91e..ec682e1 100644 --- a/www/kassa-buttons.js +++ b/www/kassa-buttons.js @@ -66,6 +66,50 @@ return visibleCommandButtons(buttons); } + function commandSections(commands) { + var definitions=[ + ['Products', [['addproduct','Add new'], ['aliasproduct','Add alias'], ['setprice','Change price'], ['voorraad','Set stock']]], + ['Users', [['deposit','Deposit Money'], ['give','Give Money'], ['take','Take Money'], ['adduseralias','Add user key alias'], ['members','Manage members']]], + ['Sales', [['bon','Print Receipt'], ['kassala','Open cash drawer'], ['undolist','Undo a transaction'], ['undo','Undo last transaction'], ['history','User History']]], + ['Wholesale', [['declaratie','Declaration'], ['printstock','Print stock overview'], ['bons','Receipts to print'], ['remove','Remove item'], ['afroom','Remove cash money'], ['delmember','Remove user from members'], ['inkoop','Report buying'], ['verkoop','Report sales'], ['restore','Restore a transaction'], ['pfand','Return deposit']]], + ['Market', [['market','Products'], ['changemarket','Pricing'], ['addmarket','Aliases'], ['delmarket','Remove product']]], + ['Misc', [['sounds','Sounds'], ['stickers','Stickers'], ['dooropen','Door open']]], + ]; + var hidden=['abort','addmember','partymodeon','partymodeoff','darkmodeon','darkmodeoff','bananamodeon','bananamodeoff','dankmodeon','dankmodeoff','undouserlatest']; + var used=new Set(hidden); + var sections=definitions.map(function(definition) { + return {name: definition[0], buttons: definition[1].filter(function(item) { + used.add(item[0]); + return Object.prototype.hasOwnProperty.call(commands,item[0]); + }).map(function(item) { + return {text: item[0], display: item[1], class: item[0], hint: item[0] === 'remove' ? 'Current, unbilled sale' : ''}; + })}; + }); + var extra=commandsToButtons(commands).filter(function(button) { return !used.has(button.text); }); + sections[sections.length-1].buttons=sections[sections.length-1].buttons.concat(extra); + return sections; + } + + function visibleSoundButtons(buttons) { + return visibleCommandButtons(buttons).filter(function(button) { + return button.text !== 'abort' && button.text !== 'christmas'; + }); + } + + function splitAccounts(candidates, accounts, activity) { + var active=[], archive=[]; + candidates.forEach(function(button) { + var last=activity && activity.last_purchase && activity.last_purchase[button.text]; + if(!last) last=accounts[button.text].lastupdate; + var old=activity && activity.available && /^\d{4}-\d{2}-\d{2}/.test(last || '') && last < activity.cutoff; + if(old) { + button.class+=' archived-account'; + archive.push(button); + } else active.push(button); + }); + return {active: active, archive: archive}; + } + function accountsToButtons(accounts, members, nonmembers, type) { var buttons = []; Object.keys(accounts).sort(sortText).forEach(function(user) { @@ -155,6 +199,9 @@ allProductsToButtons: allProductsToButtons, buttonMatches: buttonMatches, commandsToButtons: commandsToButtons, + commandSections: commandSections, + visibleSoundButtons: visibleSoundButtons, + splitAccounts: splitAccounts, compareDisplay: compareDisplay, compareTextReverse: compareTextReverse, cssSafeClassName: cssSafeClassName, diff --git a/www/kassa-preferences.js b/www/kassa-preferences.js new file mode 100644 index 0000000..95bc4ad --- /dev/null +++ b/www/kassa-preferences.js @@ -0,0 +1,106 @@ +(function(window, document) { + var MODES={dark: 'Dark mode', banana: 'Banana mode', dank: 'Dank Hit mode', party: 'Party mode'}; + var COMMANDS={darkmodeon: ['dark',true], darkmodeoff: ['dark',false], + bananamodeon: ['banana',true], bananamodeoff: ['banana',false], + dankmodeon: ['dank',true], dankmodeoff: ['dank',false]}; + + function create(options) { + var saved={}; + try { saved=JSON.parse(window.localStorage.getItem('hackbank-appearance') || '{}') || {}; } catch(_error) { /* Storage can be disabled. */ } + var until=Math.min(Number(saved.bananaUntil) || 0,Date.now()+3600000); + var states={party: null, dark: saved.dark === true, banana: until > Date.now(), dank: saved.dank === true}; + var switches={}; + var banana=null; + var fadeTimer=null; + var expireTimer=null; + + function persist() { + try { window.localStorage.setItem('hackbank-appearance',JSON.stringify({dark: states.dark, dank: states.dank, bananaUntil: until})); } catch(_error) { /* Preferences still work without storage. */ } + } + function update() { + Object.keys(switches).forEach(function(key) { + var button=switches[key]; + button.disabled=states[key] === null; + button.setAttribute('aria-checked',String(states[key] === true)); + button.querySelector('.setting-state').textContent=states[key] === null ? 'Reading…' : (states[key] ? 'Enabled' : 'Disabled'); + }); + document.body.classList[states.dark ? 'add' : 'remove']('dark-mode'); + } + function removeBanana() { + window.clearTimeout(fadeTimer); + window.clearTimeout(expireTimer); + if(banana) banana.remove(); + banana=null; + } + function renderBanana() { + removeBanana(); + if(!states.banana) return; + banana=document.createElement('img'); + banana.className='dancing-banana'; + banana.src='images/effects/banana/banana-peanut-butter-jelly-time.gif'; + banana.alt=''; + banana.setAttribute('aria-hidden','true'); + banana.style.left=(12+Math.random()*Math.max(0,window.innerWidth-124))+'px'; + banana.style.top=(90+Math.random()*Math.max(0,window.innerHeight-290))+'px'; + document.body.appendChild(banana); + var remaining=Math.max(0,until-Date.now()); + fadeTimer=window.setTimeout(function() { if(banana) banana.classList.add('fading'); },Math.max(0,remaining-2000)); + expireTimer=window.setTimeout(function() { + states.banana=false; until=0; removeBanana(); persist(); update(); + },remaining); + } + function handleCommand(command) { + var change=COMMANDS[command.trim()]; + if(!change) return false; + states[change[0]]=change[1]; + if(change[0] === 'banana') { + until=change[1] ? Date.now()+3600000 : 0; + renderBanana(); + } + persist(); update(); + return true; + } + function toggle(key) { + var button=document.createElement('button'); + button.type='button'; + button.className='setting-toggle'; + button.id='Setting-'+key; + button.setAttribute('role','switch'); + var label=document.createElement('span'); + label.className='setting-name'; label.textContent=MODES[key]; + var state=document.createElement('span'); + state.className='setting-state'; + button.appendChild(label); button.appendChild(state); + button.addEventListener('click',function() { + var prefix=key === 'party' ? 'partymode' : key+'mode'; + options.sendCommand(prefix+(states[key] ? 'off' : 'on')); + }); + switches[key]=button; + update(); + return button; + } + document.addEventListener('click',function(event) { + if(!states.dank) return; + var marker=document.createElement('img'); + marker.className='click-hitmarker'; + marker.src='images/effects/mlg/hitmarker.gif'; + marker.alt=''; marker.setAttribute('aria-hidden','true'); + var rect=event.target.getBoundingClientRect ? event.target.getBoundingClientRect() : {left:0,top:0,width:0,height:0}; + marker.style.left=(event.detail ? event.clientX : rect.left+rect.width/2)+'px'; + marker.style.top=(event.detail ? event.clientY : rect.top+rect.height/2)+'px'; + document.body.appendChild(marker); + options.playSound('../images/effects/mlg/hitmarker.wav'); + window.setTimeout(function() { marker.remove(); },300); + }); + update(); renderBanana(); + return { + handleCommand: handleCommand, + toggle: toggle, + setParty: function(state) { states.party=state.enabled === true; update(); }, + commands: Object.keys(COMMANDS).reduce(function(result, command) { + var change=COMMANDS[command]; result[command]=(change[1] ? 'Enable ' : 'Disable ')+MODES[change[0]]; return result; + },{}), + }; + } + window.HackBankPreferences={create: create}; +})(window, document); diff --git a/www/sounds/throw.wav b/www/sounds/throw.wav new file mode 100644 index 0000000000000000000000000000000000000000..e8052f8288808a2bc7dce8d567ef523dfb565192 GIT binary patch literal 108936 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�tjB;A@7ijp`bZ|PvpP(zhUo}e4qWF{ZIL) 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 XtotsfXEiFff9O54@;PO%3dR2iVxE(3 literal 0 HcmV?d00001 diff --git a/www/sounds/vergaderen_extreme.wav b/www/sounds/vergaderen_extreme.wav new file mode 100644 index 0000000000000000000000000000000000000000..ea1cec2844bd5d1f736d15670d5297726042b8b4 GIT binary patch literal 959416 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

76dwJU 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 BpIra| literal 0 HcmV?d00001 diff --git a/www/stom.css b/www/stom.css index 751d5db..6fae910 100644 --- a/www/stom.css +++ b/www/stom.css @@ -352,6 +352,98 @@ iframe { display: block; border: 0; } .embed-toolbar a:focus-visible { outline: 3px solid #db860d; outline-offset: 2px; } @keyframes receipt-in { from { opacity: .3; transform: translateY(-5px); } to { opacity: 1; transform: none; } } + +/* Grouped commands, persistent settings and compact account history. */ +.command-tab, .archive-tab, .profile-action { min-height: 56px; padding: 10px 16px; border: 1px solid #cdd9e1; border-radius: 8px; background: #edf2f6; color: #263f53; font: inherit; font-size: 14px; font-weight: 650; cursor: pointer; } +.command-tab { flex: 1 1 auto; padding: 8px 11px; white-space: nowrap; } +.command-tab.selected, .archive-tab.selected { color: #1c3f59; border-color: #91adc2; background: #dce9f3; } +.archive-tab:disabled { opacity: .5; cursor: default; } +.abort-all { background: #fff0f1; border-color: #edc9ce; color: #a33342; white-space: nowrap; } +.command-sections { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 12px; align-items: start; } +.command-section { grid-column: span 4; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: #fff; min-width: 0; } +.command-section h2 { margin: 0 0 10px; color: #607484; font-size: 12px; font-weight: 750; letter-spacing: 1px; text-transform: uppercase; } +.command-group-buttons { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; } +.command-group-buttons .Knop { min-height: 52px; padding: 8px 10px; font-size: 14px; justify-content: flex-start; text-align: left; } +.command-group-buttons .Buttontext { font-size: 14px !important; } +.command-group-buttons .Knop:has(.command-hint) { flex-direction: column; align-items: flex-start; gap: 2px; } +.command-hint { color: var(--muted); font-size: 10px; font-weight: 400; } +.section-wholesale { grid-column: span 6; } +.section-wholesale .command-group-buttons { grid-template-columns: repeat(3,minmax(0,1fr)); } +.section-market, .section-misc { grid-column: span 3; } +.section-misc .command-group-buttons { grid-template-columns: 1fr; } +.section-settings { grid-column: 1/-1; } +.settings-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; } +.setting-toggle { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 66px; padding: 12px 16px; border: 1px solid #cdd9e1; border-radius: 8px; background: #f4f7f9; color: var(--ink); font: inherit; font-size: 15px; font-weight: 650; text-align: left; cursor: pointer; } +.setting-state { flex-shrink: 0; font-size: 11px; padding: 6px 9px; border-radius: 20px; background: #e1e8ee; color: #536371; } +.setting-toggle[aria-checked="true"] { border-color: #77a78e; background: #e8f5ed; } +.setting-toggle[aria-checked="true"] .setting-state { background: #246849; color: #fff; } +.setting-toggle:disabled { opacity: .55; cursor: wait; } +.single-section .command-section { grid-column: 1/-1; } +.single-section .command-group-buttons { grid-template-columns: repeat(4,minmax(0,1fr)); } +.single-section .Knop { min-height: 84px; font-size: 18px; } +.single-section .Buttontext { font-size: 18px !important; } +.archived-account { filter: grayscale(.85); opacity: .62; } +.archived-account:hover { opacity: .95; } +.profile-heading, .profile-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 18px; } +.profile-heading h1 { font-size: 28px; margin-right: auto; } +.profile-balance { padding: 12px 18px; border-radius: 8px; color: #285e49; background: #e2f0e8; font-family: ui-monospace,monospace; font-weight: 700; } +.profile-balance.rood { color: #a33342; background: #fce6e9; } +.profile-balance.orange { color: #8b5512; background: #fff0d9; } +.user-profile h2 { font-size: 18px; } +.profile-hint { color: var(--muted); font-size: 13px; margin: 7px 0 14px; } +.purchase-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; } +.purchase-row { display: flex; align-items: center; gap: 16px; justify-content: space-between; min-height: 70px; padding: 10px 16px; border: 1px solid var(--line); border-radius: 8px; background: #fff; } +.purchase-date { display: block; margin-top: 5px; color: var(--muted); font-size: 12px; } +.reorder-purchase { min-width: 168px; } +.dancing-banana, .click-hitmarker { position: fixed; z-index: 100; pointer-events: none; user-select: none; } +.dancing-banana { width: 90px; max-height: 130px; object-fit: contain; opacity: 1; transition: opacity 2s linear; } +.dancing-banana.fading { opacity: 0; } +.click-hitmarker { width: 70px; height: 70px; object-fit: contain; transform: translate(-50%,-50%); } +button:focus-visible { outline: 3px solid #db860d; outline-offset: 2px; } + +/* Personal themes and debt colours remain recognizable in the dark panes. */ +body.dark-mode { --ink: #e1eaf3; --muted: #a4b6c9; --line: #3a4b60; --panel: #192637; } +.dark-mode #MainButtons { background-color: var(--panel) !important; } +.dark-mode #TopButtons, .dark-mode .activity { background: #202e40; color: #dce5ef; border-color: #3a4b60; } +.dark-mode .Question, .dark-mode .activity-label { color: #bdcddd; } +.dark-mode .receipt-panel { color: #e5edf4; background: #1b2938; border-color: #3a4b60; } +.dark-mode .receipt-panel::after { background: linear-gradient(135deg, #1b2938 25%, transparent 25%) -8px 0 / 16px 16px, linear-gradient(225deg, #1b2938 25%, transparent 25%) -8px 0 / 16px 16px; } +.dark-mode #Log, .dark-mode #Log .lastlog, .dark-mode .Itemline { color: #c4d3e0; } +.dark-mode .receipt-heading h2, .dark-mode .Product, .dark-mode .ItemAmount, .dark-mode .UserName, .dark-mode .Totalamount { color: #edf3f8; } +.dark-mode .receipt-columns, .dark-mode .receipt-footer, .dark-mode .receipt-currency, .dark-mode .eyebrow, .dark-mode .receipt-empty, .dark-mode .welcome { color: #b0c1d0; } +.dark-mode .receipt-empty strong { color: #c7d8e6; } +.dark-mode .receipt-barcode { filter: brightness(3); } +.dark-mode .abort-all { background: #482d3a; color: #ffb7c2; border-color: #845362; } +.dark-mode .Knopje:not(.topknop):not(.account-stitch):not(.account-BugBlue):not(.account-theme-lockpicker):not(.account-theme-ukraine):not(.account-theme-plasma), +.dark-mode .command-section, .dark-mode .purchase-row, .dark-mode .audio-volume-card, .dark-mode .mylines, .dark-mode .lines, .dark-mode .infoboxes .Userline { color: #e1eaf3; background-color: #233448; border-color: #40546a; } +.dark-mode .command-section h2, .dark-mode .audio-volume-label, .dark-mode .audio-volume-value, .dark-mode .audio-status { color: #b8cee3; } +.dark-mode .command-tab, .dark-mode .archive-tab, .dark-mode .profile-action, .dark-mode .setting-toggle { color: #d9e5ef; background: #26394d; border-color: #445d73; } +.dark-mode .command-tab.selected, .dark-mode .archive-tab.selected { background: #365675; border-color: #8eafcd; } +.dark-mode .setting-toggle[aria-checked="true"] { background: #214b3d; border-color: #76aa8f; } +.dark-mode .setting-toggle[aria-checked="true"] .setting-state { background: #76be99; color: #102f22; } +.dark-mode .profile-balance { color: #bce0ce; background: #244737; } +.dark-mode .profile-balance.rood { color: #ffbdca; background: #542f42; } +.dark-mode .profile-balance.orange { color: #f5d197; background: #4b3e2c; } +.dark-mode .Knopje.abort:not(.topknop), .dark-mode .Knopje.remove { color: #ffbdca; background: #482d3a; border-color: #845362; } +.dark-mode .Knopje.undo, .dark-mode .Knopje.restore { color: #f5d197; background: #4b3e2c; border-color: #806746; } +.dark-mode .NewSaldo { color: #bce0ce; } +.dark-mode .NowHas, .dark-mode .LoseOrGain, .dark-mode .GainOrLose, .dark-mode .Times, .dark-mode .ItemEuro::after, .dark-mode .TotalEuro::after { color: #b0c1d0; } +.dark-mode .Itemline, .dark-mode .receipt-columns, .dark-mode .receipt-heading, .dark-mode #Totals { border-color: #46566a; } +@media (max-width: 1300px) { + .command-section, .section-wholesale { grid-column: span 6; } + .section-market, .section-misc { grid-column: span 6; } + .section-settings { grid-column: 1/-1; } + .settings-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } + .purchase-list { grid-template-columns: 1fr; } + .command-tab { flex-shrink: 0; } + .single-section .command-group-buttons { grid-template-columns: repeat(2,minmax(0,1fr)); } +} +@media (max-width: 620px) { + .command-section, .section-wholesale, .section-market, .section-misc { grid-column: 1/-1; } + .purchase-row { flex-wrap: wrap; } + .reorder-purchase { width: 100%; } + .settings-grid { grid-template-columns: 1fr; } +} @keyframes blue-glitter { from { background-position: 0 0, 8px 3px, 3px 11px, 15px 7px, 0 50%; } to { background-position: 13px 17px, -15px 22px, 20px -18px, -16px 30px, 100% 50%; } From e5d0ed2dc2c3f0f7efc08f2803da1231514525dd Mon Sep 17 00:00:00 2001 From: stitch1 Date: Sat, 17 Oct 2026 21:48:42 +0200 Subject: [PATCH 07/25] Refine command layout, dark colours and click effects --- README.md | 29 +++++++++------ plugins/sounds.py | 24 +++++++----- tests/js/kassa-app.test.js | 17 ++++++++- tests/plugins/test_sounds.py | 31 +++++++++++++++- www/index.html | 16 ++++---- www/kassa-app.js | 9 +++-- www/kassa-preferences.js | 70 +++++++++++++++++++---------------- www/sounds/yeet.wav | Bin 0 -> 92312 bytes www/stom.css | 35 ++++++------------ 9 files changed, 140 insertions(+), 91 deletions(-) create mode 100644 www/sounds/yeet.wav diff --git a/README.md b/README.md index c4ca649..6bee227 100644 --- a/README.md +++ b/README.md @@ -93,8 +93,9 @@ or 25 buttons on smaller screens. The command bar's Enter button submits the same command as pressing Enter on the keyboard. The larger Members/Other users buttons and page tabs support touch selection. Commands are grouped into Products, Users, Sales, Wholesale, Market and Misc, -with an Abort action and a Settings section. Category tabs provide larger -controls for each section. Manage members contains member administration; +with an Abort action and a Settings section. All commands stacks the groups +vertically, with four buttons per row on the bar display; category tabs show +each group separately. Manage members contains member administration; all underlying commands remain available. Remove item edits the current unbilled sale; transaction undo is a separate action. Door open retains the existing configured door command. @@ -107,14 +108,17 @@ balance is cleared by changing this setting. Appearance settings apply to this browser and survive reloads. The command bar also accepts `darkmodeon` / `darkmodeoff`, `bananamodeon` / `bananamodeoff`, and -`dankmodeon` / `dankmodeoff`. The banana appears at a random screen location, -lets clicks through, fades during its final two seconds, and disappears within -one hour of activation; refreshing does not extend that deadline. Dank Hit mode -plays the supplied hitmarker sample through the POS browser audio and displays -a click-through marker for 300ms at each click or tap. - -Member and Other users lists have alphabetical Archive tabs for accounts whose -last purchase is older than a year. New accounts with no purchase record use +`dankmodeon` / `dankmodeoff`. While Banana mode is enabled, each click or tap adds +another 40px-wide dancing banana at a random screen location. Bananas let clicks +through, fade during their final two seconds, and disappear individually after +five minutes; refreshing preserves their deadlines. Switching the mode off +clears all bananas. Dank Hit mode plays the supplied hitmarker sample through +the POS browser audio and displays +a click-through marker for 100ms at each click or tap. + +Member and Other users lists end with an Archive tab after the page buttons. +Archives list accounts alphabetically whose last purchase is older than a year. +New accounts with no purchase record use their last account update as a conservative fallback. A read-only index of the existing checkout log is shared between sessions, reuses unchanged results, and reads only appended data after the first scan. Initial reads are capped @@ -136,8 +140,9 @@ clears the command input. The Sounds menu and command search omit Deur off/on, Groove Salad, Jazz Radio Blues, Kill Music, Louder, Quieter and Kassa off/on. The Sounds page also omits Abort and Christmas; the header reset remains available. Ding Dong, Vergaderen, -Vergaderen Extreme and Throw remain on that page after playback. Typed sound -commands keep their existing behavior. Sounds provides two large +Vergaderen Extreme, Throw and Yeet remain on that page after playback, without +the usual command confirmation beep. These sounds also work as typed commands. +Sounds provides two large volume sliders for HackBank POS effects and Space audio. Each reads the current output volume, applies changes, and refreshes every two seconds while open. Opening Sounds is silent. Releasing a slider plays a short preview beep on diff --git a/plugins/sounds.py b/plugins/sounds.py index 882de6c..d2e4da1 100644 --- a/plugins/sounds.py +++ b/plugins/sounds.py @@ -1,6 +1,15 @@ # -*- coding: utf-8 -*- import json +SOUND_SAMPLES = { + "ns": "ns.wav", + "vergaderen": "vergaderen.mp3", + "vergaderenextreme": "vergaderen_extreme.wav", + "vergaderen_extreme": "vergaderen_extreme.wav", + "throw": "throw.wav", + "yeet": "yeet.wav", +} + class sounds: def __init__(self, SID, master): @@ -40,6 +49,7 @@ def showsounds(self): custom.append({"text": "vergaderen", "display": "Vergaderen!"}) custom.append({"text": "vergaderenextreme", "display": "Vergaderen Extreme"}) custom.append({"text": "throw", "display": "Throw"}) + custom.append({"text": "yeet", "display": "Yeet"}) self.master.send_message( True, "buttons", json.dumps({"special": "custom", "custom": custom}) ) @@ -51,15 +61,8 @@ def input( if text == "sounds": self.showsounds() return True - if text == "ns": - self.master.send_message(False, "sound", "ns.wav") - return True - if text == "vergaderen": - self.master.send_message(False, "sound", "vergaderen.mp3") - return True - if text in ("vergaderenextreme", "vergaderen_extreme", "throw"): - sample = "throw.wav" if text == "throw" else "vergaderen_extreme.wav" - self.master.send_message(False, "sound", sample) + if text in SOUND_SAMPLES: + self.master.send_message(False, "sound", SOUND_SAMPLES[text]) return True if text == "deuron": pass @@ -93,7 +96,8 @@ def input( return None def pre_input(self, text): - if text not in ("abort", "sounds"): + command = text.strip() + if command not in ("abort", "sounds") and command not in SOUND_SAMPLES: self.master.send_message(False, "sound", "KDE_Beep_ClassicBeep.wav") def hook_wrong(self, _text): diff --git a/tests/js/kassa-app.test.js b/tests/js/kassa-app.test.js index 837a742..6d64fcd 100644 --- a/tests/js/kassa-app.test.js +++ b/tests/js/kassa-app.test.js @@ -325,18 +325,28 @@ test("the entire Hack42 brand aborts once even with an unfinished command in the test("custom sound menus include volume controls and omit the retired choices", () => { const {body, elements, eventSources, fetchCalls, audioMountCalls} = loadKassaApp(); - const names = ["abort", "ns", "deuron", "deuroff", "kassaon", "kassaoff", "killsounds", "groovesalad", "christmas", "blues", "quieter", "louder", "vergaderen"]; + const names = ["abort", "ns", "deuron", "deuroff", "kassaon", "kassaoff", "killsounds", "groovesalad", "christmas", "blues", "quieter", "louder", "vergaderen", "vergaderenextreme", "throw", "yeet"]; eventSources[0].onmessage({data: JSON.stringify([ "hack42bar/output/session/main/buttons", JSON.stringify({special: "custom", custom: names.map((name) => ({text: name, display: name}))}), ])}); assert.deepEqual(findAll(elements.MainButtons, ".Buttontext").map((el) => el.textContent), [ - "ns", "vergaderen", + "ns", "throw", "vergaderen", "vergaderenextreme", "yeet", ]); assert.equal(audioMountCalls.length, 1); assert.equal(audioMountCalls[0].container, findFirst(elements.MainButtons, ".sound-screen")); assert(findFirst(elements.LeftButtons, "#sounds").classList.contains("activetop")); assert.equal(fetchCalls.length, 1); + names.filter((name) => ["ns", "vergaderen", "vergaderenextreme", "throw", "yeet"].includes(name)).forEach((name) => { + body.eventListeners.click({target: {closest(selector) { + return selector === "div.normal" ? findFirst(elements.MainButtons, `#${name}`) : null; + }}}); + assert.equal(String(fetchCalls.at(-1).options.body), `topic=session%2Fmain%2Finput&msg=${name}`); + eventSources[0].onmessage({data: JSON.stringify(["hack42bar/output/session/main/buttons", "{}"])}); + assert(findFirst(elements.MainButtons, ".sound-screen")); + assert.equal(audioMountCalls.length, 1); + assert.equal(audioMountCalls[0].stopped, false); + }); body.eventListeners.click({target: { closest(selector) { return selector.startsWith("div.Knopje:not") ? findFirst(elements.LeftButtons, "#members") : null; @@ -370,6 +380,8 @@ test("account pages use their own capacity and retain cash and amount controls", names.forEach((name) => send(`accounts/${name}`, {amount: 12.50})); send("members", names.slice(0, 66)); send("nonmembers", names.slice(66)); + send("buttons", {special: "accounts"}); + assert.equal(elements.TopButtons.children.at(-1).textContent, "Members Archive (0)"); send("buttons", {special: "accountsamount"}); assert.equal(findAll(elements.AccountList, ".account").length, 66); @@ -394,6 +406,7 @@ test("account pages use their own capacity and retain cash and amount controls", }}); assert.deepEqual(findAll(elements.AccountList, ".Buttontext").map((el) => el.textContent), names.slice(66)); assert.equal(findAll(elements.TopButtons, ".page").length, Math.ceil(125/capacity)); + assert.equal(elements.TopButtons.children.at(-1).textContent, "Other users Archive (0)"); }); }); diff --git a/tests/plugins/test_sounds.py b/tests/plugins/test_sounds.py index 26ac433..8a31e66 100644 --- a/tests/plugins/test_sounds.py +++ b/tests/plugins/test_sounds.py @@ -1,5 +1,6 @@ from unittest import TestCase from unittest.mock import patch, Mock +import json from plugins.sounds import sounds @@ -37,12 +38,18 @@ def test_showsounds(self): with patch.object(self.sounds_instance.master, "send_message") as mock_send: self.sounds_instance.showsounds() mock_send.assert_called() + menu = json.loads(mock_send.call_args_list[0].args[2]) + self.assertIn({"text": "yeet", "display": "Yeet"}, menu["custom"]) def test_input_valid_commands(self): commands = [ "sounds", "ns", "vergaderen", + "vergaderenextreme", + "vergaderen_extreme", + "throw", + "yeet", "killsounds", "groovesalad", "christmas", @@ -70,6 +77,26 @@ def test_input_invalid_command(self): self.assertIsNone(self.sounds_instance.input("invalid_command")) mock_send.assert_not_called() + def test_sound_commands_play_only_the_requested_sample(self): + for command, sample in ( + ("ns", "ns.wav"), + ("vergaderen", "vergaderen.mp3"), + ("vergaderenextreme", "vergaderen_extreme.wav"), + ("vergaderen_extreme", "vergaderen_extreme.wav"), + ("throw", "throw.wav"), + ("yeet", "yeet.wav"), + ): + with self.subTest(command=command): + with patch.object( + self.sounds_instance.master, "send_message" + ) as mock_send: + self.sounds_instance.pre_input(command) + self.assertTrue(self.sounds_instance.input(command)) + mock_send.assert_called_once_with(False, "sound", sample) + mock_send.reset_mock() + self.sounds_instance.pre_input(" " + command + " ") + mock_send.assert_not_called() + def test_pre_input_non_abort(self): with patch.object(self.sounds_instance.master, "send_message") as mock_send: self.sounds_instance.pre_input("non_abort_command") @@ -78,7 +105,9 @@ def test_pre_input_non_abort(self): def test_pre_input_abort_and_sounds_navigation_are_silent(self): for command in ("abort", "sounds"): with self.subTest(command=command): - with patch.object(self.sounds_instance.master, "send_message") as mock_send: + with patch.object( + self.sounds_instance.master, "send_message" + ) as mock_send: self.sounds_instance.pre_input(command) mock_send.assert_not_called() diff --git a/www/index.html b/www/index.html index 7ddcf07..12dbeec 100644 --- a/www/index.html +++ b/www/index.html @@ -6,14 +6,14 @@ Hack42 - HackBank - - - - - - - - + + + + + + + + diff --git a/www/kassa-app.js b/www/kassa-app.js index 37b472a..07af5f4 100644 --- a/www/kassa-app.js +++ b/www/kassa-app.js @@ -190,11 +190,12 @@ document.addEventListener("DOMContentLoaded", function() { if(!accountSections) return; var top=document.getElementById('TopButtons'); var name=accountType === 'm' ? 'Members' : 'Other users'; - [[false,name],[true,name+' Archive']].reverse().forEach(function(item) { + [[false,name],[true,name+' Archive']].forEach(function(item) { var tab=createElement('button',{type:'button',class:'archive-tab'+(archivedAccounts === item[0] ? ' selected' : ''),text:item[1]+' ('+accountSections[item[0] ? 'archive' : 'active'].length+')', 'aria-pressed':String(archivedAccounts === item[0])}); if(item[0] && (!activity || !activity.available)) { tab.disabled=true; tab.title='Archive unavailable until purchase history can be checked'; } tab.addEventListener('click',function() { makeAccountSections(accountType,item[0]); prependCashButton(); focus(); }); - top.prepend(tab); + if(item[0]) top.appendChild(tab); + else top.prepend(tab); }); } function build_receipt(msg) { @@ -841,7 +842,7 @@ document.addEventListener("DOMContentLoaded", function() { } function submitCommand() { var command=searchValue().trim(); - if(currentView === 'sounds' && !['ns','vergaderen','vergaderenextreme','vergaderen_extreme','throw','sounds'].includes(command) && !/^(dark|banana|dank)mode(on|off)$/.test(command)) currentView='action'; + if(currentView === 'sounds' && !['ns','vergaderen','vergaderenextreme','vergaderen_extreme','throw','yeet','sounds'].includes(command) && !/^(dark|banana|dank)mode(on|off)$/.test(command)) currentView='action'; locked=0; verwerkinput(); focus(); @@ -864,7 +865,7 @@ document.addEventListener("DOMContentLoaded", function() { function handleNormalClick() { if(currentView === 'commands') locked=0; - if(currentView !== 'sounds' || !['ns','vergaderen','vergaderenextreme','throw'].includes(String(this.id))) currentView='action'; + if(currentView !== 'sounds' || !['ns','vergaderen','vergaderenextreme','throw','yeet'].includes(String(this.id))) currentView='action'; var dingen=searchValue().split(" "); dingen[dingen.length-1]=this.id; postmsg('input',dingen.join(" ")); diff --git a/www/kassa-preferences.js b/www/kassa-preferences.js index 95bc4ad..c8a8d98 100644 --- a/www/kassa-preferences.js +++ b/www/kassa-preferences.js @@ -5,17 +5,18 @@ dankmodeon: ['dank',true], dankmodeoff: ['dank',false]}; function create(options) { + var bananaLifetime=5*60*1000; var saved={}; try { saved=JSON.parse(window.localStorage.getItem('hackbank-appearance') || '{}') || {}; } catch(_error) { /* Storage can be disabled. */ } - var until=Math.min(Number(saved.bananaUntil) || 0,Date.now()+3600000); - var states={party: null, dark: saved.dark === true, banana: until > Date.now(), dank: saved.dank === true}; + var states={party: null, dark: saved.dark === true, banana: saved.banana === true || Number(saved.bananaUntil) > Date.now(), dank: saved.dank === true}; var switches={}; - var banana=null; - var fadeTimer=null; - var expireTimer=null; + var bananas=[]; function persist() { - try { window.localStorage.setItem('hackbank-appearance',JSON.stringify({dark: states.dark, dank: states.dank, bananaUntil: until})); } catch(_error) { /* Preferences still work without storage. */ } + try { + window.localStorage.setItem('hackbank-appearance',JSON.stringify({dark: states.dark, dank: states.dank, banana: states.banana, + bananas: bananas.map(function(banana) { return banana.position; })})); + } catch(_error) { /* Preferences still work without storage. */ } } function update() { Object.keys(switches).forEach(function(key) { @@ -26,37 +27,42 @@ }); document.body.classList[states.dark ? 'add' : 'remove']('dark-mode'); } - function removeBanana() { - window.clearTimeout(fadeTimer); - window.clearTimeout(expireTimer); - if(banana) banana.remove(); - banana=null; + function removeBananas() { + bananas.forEach(function(banana) { + window.clearTimeout(banana.fadeTimer); + window.clearTimeout(banana.expireTimer); + banana.element.remove(); + }); + bananas=[]; } - function renderBanana() { - removeBanana(); + function addBanana(position) { if(!states.banana) return; - banana=document.createElement('img'); - banana.className='dancing-banana'; - banana.src='images/effects/banana/banana-peanut-butter-jelly-time.gif'; - banana.alt=''; - banana.setAttribute('aria-hidden','true'); - banana.style.left=(12+Math.random()*Math.max(0,window.innerWidth-124))+'px'; - banana.style.top=(90+Math.random()*Math.max(0,window.innerHeight-290))+'px'; - document.body.appendChild(banana); - var remaining=Math.max(0,until-Date.now()); - fadeTimer=window.setTimeout(function() { if(banana) banana.classList.add('fading'); },Math.max(0,remaining-2000)); - expireTimer=window.setTimeout(function() { - states.banana=false; until=0; removeBanana(); persist(); update(); + position=position || {left: Math.random(), top: Math.random(), until: Date.now()+bananaLifetime}; + var remaining=Math.min(bananaLifetime,Number(position.until)-Date.now()); + if(!Number.isFinite(remaining) || remaining <= 0) return; + position={left: Math.min(1,Math.max(0,Number(position.left) || 0)), top: Math.min(1,Math.max(0,Number(position.top) || 0)), until: Date.now()+remaining}; + var element=document.createElement('img'); + element.className='dancing-banana'; + element.src='images/effects/banana/banana-peanut-butter-jelly-time.gif'; + element.alt=''; + element.setAttribute('aria-hidden','true'); + element.style.left=(12+position.left*Math.max(0,window.innerWidth-64))+'px'; + element.style.top=(12+position.top*Math.max(0,window.innerHeight-68))+'px'; + document.body.appendChild(element); + var banana={element: element, position: position}; + bananas.push(banana); + banana.fadeTimer=window.setTimeout(function() { element.classList.add('fading'); },Math.max(0,remaining-2000)); + banana.expireTimer=window.setTimeout(function() { + element.remove(); + bananas=bananas.filter(function(item) { return item !== banana; }); + persist(); },remaining); } function handleCommand(command) { var change=COMMANDS[command.trim()]; if(!change) return false; states[change[0]]=change[1]; - if(change[0] === 'banana') { - until=change[1] ? Date.now()+3600000 : 0; - renderBanana(); - } + if(change[0] === 'banana' && !change[1]) removeBananas(); persist(); update(); return true; } @@ -80,6 +86,7 @@ return button; } document.addEventListener('click',function(event) { + if(states.banana) { addBanana(); persist(); } if(!states.dank) return; var marker=document.createElement('img'); marker.className='click-hitmarker'; @@ -90,9 +97,10 @@ marker.style.top=(event.detail ? event.clientY : rect.top+rect.height/2)+'px'; document.body.appendChild(marker); options.playSound('../images/effects/mlg/hitmarker.wav'); - window.setTimeout(function() { marker.remove(); },300); + window.setTimeout(function() { marker.remove(); },100); }); - update(); renderBanana(); + if(Array.isArray(saved.bananas)) saved.bananas.forEach(function(position) { if(position) addBanana(position); }); + update(); persist(); return { handleCommand: handleCommand, toggle: toggle, diff --git a/www/sounds/yeet.wav b/www/sounds/yeet.wav new file mode 100644 index 0000000000000000000000000000000000000000..77a117138968bd07ac155ad8b331312a3c00ef51 GIT binary patch literal 92312 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 Date: Sat, 17 Oct 2026 22:03:18 +0200 Subject: [PATCH 08/25] Unify user details and add confetti celebrations --- README.md | 41 ++++++++++------- kassa.py | 6 ++- package.json | 2 +- plugins/historie.py | 53 +++++++++++++++++++--- tests/js/browser-smoke.test.js | 1 + tests/js/index-scripts.test.js | 1 + tests/js/kassa-app.test.js | 23 ++++++++++ tests/js/kassa-confetti.test.js | 76 +++++++++++++++++++++++++++++++ tests/plugins/test_historie.py | 55 +++++++++++++++++++++++ tests/test_kassa.py | 18 +++++++- www/index.html | 17 +++---- www/kassa-app.js | 33 +++++++++----- www/kassa-buttons.js | 2 +- www/kassa-confetti.js | 80 +++++++++++++++++++++++++++++++++ www/kassa-preferences.js | 15 ++++--- www/stom.css | 3 ++ 16 files changed, 376 insertions(+), 50 deletions(-) create mode 100644 tests/js/kassa-confetti.test.js create mode 100644 www/kassa-confetti.js diff --git a/README.md b/README.md index 6bee227..372b0dc 100644 --- a/README.md +++ b/README.md @@ -93,33 +93,39 @@ or 25 buttons on smaller screens. The command bar's Enter button submits the same command as pressing Enter on the keyboard. The larger Members/Other users buttons and page tabs support touch selection. Commands are grouped into Products, Users, Sales, Wholesale, Market and Misc, -with an Abort action and a Settings section. All commands stacks the groups -vertically, with four buttons per row on the bar display; category tabs show +with an Abort action and a Settings section. Category tabs and headings have +emoji icons. All commands stacks the groups vertically, with four buttons per +row on the bar display; category tabs show each group separately. Manage members contains member administration; all underlying commands remain available. Remove item edits the current unbilled sale; transaction undo is a separate action. Door open retains the existing configured door command. -Settings offers Party, Dark, Banana and Dank Hit modes. Party mode reflects -backend state and can be disabled even while another question is pending. +Settings offers 🎉 Party mode, Dark, Banana, Dank Hit and Confetti modes. +Party mode reflects backend state and can be disabled even while another question is pending. A missing printer no longer prevents exit: settlement totals and their history are saved in the party state before attempting to print. No sale or account balance is cleared by changing this setting. Appearance settings apply to this browser and survive reloads. The command bar -also accepts `darkmodeon` / `darkmodeoff`, `bananamodeon` / `bananamodeoff`, and -`dankmodeon` / `dankmodeoff`. While Banana mode is enabled, each click or tap adds -another 40px-wide dancing banana at a random screen location. Bananas let clicks +also accepts `darkmodeon` / `darkmodeoff`, `bananamodeon` / `bananamodeoff`, +`dankmodeon` / `dankmodeoff`, and `confettimodeon` / `confettimodeoff`. +While Banana mode is enabled, each click or tap adds another 40px-wide dancing +banana at a random screen location. Bananas let clicks through, fade during their final two seconds, and disappear individually after -five minutes; refreshing preserves their deadlines. Switching the mode off +one minute; refreshing preserves their deadlines. Switching the mode off clears all bananas. Dank Hit mode plays the supplied hitmarker sample through -the POS browser audio and displays -a click-through marker for 100ms at each click or tap. +the POS browser audio and displays a click-through marker for 100ms at each click or tap. +Confetti mode drops a small shower from the top for every submitted command, +and a larger shower after a completed sale. Particles fall off the bottom and +let clicks through. The local canvas renderer stops when no particles remain; +switching the setting off clears them immediately. Refunds, deposits, transfers +and undo do not trigger the larger sale shower, and reconnecting does not replay it. Member and Other users lists end with an Archive tab after the page buttons. -Archives list accounts alphabetically whose last purchase is older than a year. -New accounts with no purchase record use -their last account update as a conservative fallback. A read-only index of +Archives list accounts whose last purchase is older than a year, in alphabetical order. +New accounts with no purchase record use their last account update as a conservative fallback. +A read-only index of the existing checkout log is shared between sessions, reuses unchanged results, and reads only appended data after the first scan. Initial reads are capped at 8MiB. If that window cannot establish a full year's coverage, archives stay @@ -127,8 +133,11 @@ unavailable and accounts remain in the normal lists. Deposits, transfers, refunds and undo lines are excluded from purchase history. Clicking a user with an empty sale shows the balance and up to ten recent -purchase line items. Add again uses the current product price and only adds -to the sale, leaving the normal account selection and checkout flow intact. +purchase line items, alongside OK, undo, restore, receipt and cash drawer controls. +Every visit receives a fresh profile response, even when its data is unchanged. +After checkout, the same view combines the transaction summary with the updated +profile and purchase history. Add again uses the current product price and only +adds to the sale, leaving the normal account selection and checkout flow intact. Reordering is offered only when a historical description identifies one current product. Older or ambiguous products remain visible as history. Undo latest transaction appears only for an eligible latest transaction; @@ -205,5 +214,7 @@ outputs. The page title remains `Hack42 - HackBank`, the identifier used by the existing POS audio router. Restart `hackbank-audio-control.service` after updating its Python controller. Changes to `plugins/sounds.py`, including the silent Sounds navigation, also require restarting the existing POS backend. +The profile response fix in `kassa.py` and sale display events in +`plugins/historie.py` require the same backend restart. For a different installation, adapt the unit's application path, kiosk user, web-server group, and runtime audio socket before enabling it. diff --git a/kassa.py b/kassa.py index d81e54d..40485d8 100755 --- a/kassa.py +++ b/kassa.py @@ -171,7 +171,9 @@ def input(self, text): self.plugins["party"].input(text.strip()) except Exception: logger.exception("Party configuration failed sid=%s", self.SID) - self.send_message(True, "message", "Could not change party mode; please try again") + self.send_message( + True, "message", "Could not change party mode; please try again" + ) if not self.nextcall: self.send_message(True, "buttons", json.dumps({})) return @@ -227,6 +229,8 @@ def send_message(self, retain, topic, message): or self.cache["hack42bar/output/session/" + self.SID + "/" + topic] != message or len(topic) < 8 + # A profile is a response to a new visit, even when its data is unchanged. + or (not retain and topic == "infobox/account") ): logger.debug( "send_message sid=%s retain=%s topic=%s message=%r", diff --git a/package.json b/package.json index 4675b59..2e6d869 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "kassa", "private": true, "scripts": { - "lint:js": "eslint www/kassa-textfill.js www/kassa-dom.js www/kassa-buttons.js www/kassa-stream.js www/kassa-audio.js www/kassa-preferences.js www/kassa-app.js www/spaceconsole/all.js tests/js/*.test.js", + "lint:js": "eslint www/kassa-textfill.js www/kassa-dom.js www/kassa-buttons.js www/kassa-stream.js www/kassa-audio.js www/kassa-confetti.js www/kassa-preferences.js www/kassa-app.js www/spaceconsole/all.js tests/js/*.test.js", "test:js": "node --test tests/js/*.test.js" }, "devDependencies": { diff --git a/plugins/historie.py b/plugins/historie.py index 58d6a1d..a198f9f 100644 --- a/plugins/historie.py +++ b/plugins/historie.py @@ -7,6 +7,7 @@ class historie: def __init__(self, SID, master): self.master = master self.SID = SID + self.checkout = None def reverse_readline(self, filename, buf_size=8192): """a generator that returns the lines of a file in reverse order""" @@ -56,24 +57,62 @@ def account_details(self, user): products = self.master.products.products purchases = purchase_index.recent(user) for purchase in purchases: - matches = [name for name, product in products.items() - if product["description"] == purchase["description"]] + matches = [ + name + for name, product in products.items() + if product["description"] == purchase["description"] + ] if len(matches) == 1: purchase["product"] = matches[0] purchase["current_price"] = products[matches[0]]["price"] undo = self.master.plugins.get("undo") latest = undo.latest_for(user) if undo else None - return {"user": user, "purchases": purchases, - "history_available": purchase_index.available, - "history_complete": purchase_index.complete, - "undo_transaction": latest} + return { + "user": user, + "purchases": purchases, + "history_available": purchase_index.available, + "history_complete": purchase_index.complete, + "undo_transaction": latest, + } def publish_activity(self): - self.master.send_message(True, "activity", json.dumps(purchase_index.activity())) + self.master.send_message( + True, "activity", json.dumps(purchase_index.activity()) + ) def hook_endsession(self, _user): self.publish_activity() + def hook_post_checkout(self, user): + # Observe the receipt for display effects; accounting stays in its own hooks. + sale = any( + row["Lose"] + and row["count"] > 0 + and row["value"] > 0 + and row["product"] not in ("undo", "give", "take", "declaratie") + and not row["product"].startswith("pfand_") + for row in self.master.receipt.receipt + ) + self.checkout = {"user": user, "sale": sale} + + def hook_post_endsession(self, _user): + checkout, self.checkout = self.checkout, None + if not checkout: + return + user = checkout["user"] + if user in self.master.accounts.accounts: + details = { + **self.master.accounts.accounts[user], + **self.account_details(user), + "checkout": True, + } + self.master.send_message(False, "infobox/account", json.dumps(details)) + self.master.send_message( + True, "buttons", json.dumps({"special": "infobox"}) + ) + if checkout["sale"]: + self.master.send_message(False, "effects", json.dumps({"type": "sale"})) + def history(self, text): if text in self.master.accounts.accounts: lines = self.reversesearch(text) diff --git a/tests/js/browser-smoke.test.js b/tests/js/browser-smoke.test.js index ff7e423..a8c133b 100644 --- a/tests/js/browser-smoke.test.js +++ b/tests/js/browser-smoke.test.js @@ -81,6 +81,7 @@ function writeKassaFixture(bodyScript) { ${scriptTag("kassa-buttons.js")} ${scriptTag("kassa-stream.js")} ${scriptTag("kassa-audio.js")} + ${scriptTag("kassa-confetti.js")} ${scriptTag("kassa-preferences.js")} ${scriptTag("kassa-app.js")} diff --git a/tests/js/index-scripts.test.js b/tests/js/index-scripts.test.js index 2130ece..285291f 100644 --- a/tests/js/index-scripts.test.js +++ b/tests/js/index-scripts.test.js @@ -16,6 +16,7 @@ test("main index loads split kassa scripts in dependency order", () => { "kassa-buttons.js", "kassa-stream.js", "kassa-audio.js", + "kassa-confetti.js", "kassa-preferences.js", "kassa-app.js", ]); diff --git a/tests/js/kassa-app.test.js b/tests/js/kassa-app.test.js index 6d64fcd..076b5a8 100644 --- a/tests/js/kassa-app.test.js +++ b/tests/js/kassa-app.test.js @@ -610,6 +610,29 @@ test("late idle updates preserve Commands and selecting an action restores norma assert(elements.MainButtons.children.some((element)=>element.id === 'AccountList')); }); +test("repeated user visits and checkout keep profile history alongside transaction controls", () => { + const {elements,eventSources}=loadKassaApp(); + function send(topic,value) { + eventSources[0].onmessage({data:JSON.stringify([`hack42bar/output/session/main/${topic}`,JSON.stringify(value)])}); + } + const profile={user:"Jos",amount:12,purchases:[{count:1,description:"Cola",date:"2026-10-17_12:00:00",total:2}],history_available:true,undo_transaction:null}; + for(let visit=0;visit<3;visit++) { + send("receipt",[]); + send("buttons",{}); + send("infobox/account",profile); + send("buttons",{special:"infobox"}); + assert(findFirst(elements.MainButtons,".user-profile")); + assert.equal(findAll(elements.MainButtons,".purchase-row").length,1); + ["ok","undo","restore","bon","kassala"].forEach((command)=>assert(findFirst(elements.TopButtons,`#${command}`))); + } + send("totals",[{user:"Jos",amount:-2}]); + send("infobox/account",{...profile,amount:10,checkout:true}); + send("buttons",{special:"infobox"}); + assert(findFirst(elements.MainButtons,".infoboxes")); + assert(findFirst(elements.MainButtons,".user-profile")); + assert.equal(findAll(elements.MainButtons,".purchase-row").length,1); +}); + test("kassa app removes accounts when retained account messages are cleared", () => { const {elements, eventSources} = loadKassaApp(); const sendStreamMessage = (topic, msg) => { diff --git a/tests/js/kassa-confetti.test.js b/tests/js/kassa-confetti.test.js new file mode 100644 index 0000000..9445022 --- /dev/null +++ b/tests/js/kassa-confetti.test.js @@ -0,0 +1,76 @@ +const assert=require('node:assert/strict'); +const fs=require('node:fs'); +const path=require('node:path'); +const test=require('node:test'); +const vm=require('node:vm'); + +function setup() { + let now=0; + let sequence=0; + const frames=new Map(); + const listeners=new Set(); + const canvases=[]; + const drawn=[]; + const context={setTransform(){},clearRect(){drawn.length=0;},save(){},restore(){},rotate(){}, + translate(x,y){drawn.push({x,y});},fillRect(){}}; + const window={innerWidth:1920,innerHeight:1080,devicePixelRatio:1,performance:{now:()=>now}, + requestAnimationFrame(callback){frames.set(++sequence,callback);return sequence;}, + cancelAnimationFrame(id){frames.delete(id);}, + addEventListener(type,callback){listeners.add(callback);}, + removeEventListener(type,callback){listeners.delete(callback);}}; + const document={body:{appendChild(canvas){canvases.push(canvas);}},createElement(){ + return {setAttribute(){},getContext(){return context;},remove(){canvases.splice(canvases.indexOf(this),1);}}; + }}; + vm.runInNewContext(fs.readFileSync(path.join(__dirname,'../../www/kassa-confetti.js'),'utf8'),{window,document}); + const confetti=window.HackBankConfetti.create(); + function advance(milliseconds) { + const until=now+milliseconds; + while(nowcallback(now)); + } + } + return {confetti,advance,canvases,drawn,frames,listeners}; +} + +test('confetti enters at the top, falls down, and removes its canvas when finished',()=>{ + const {confetti,advance,canvases,drawn,frames,listeners}=setup(); + assert.equal(canvases.length,0); + confetti.burst(false); + advance(16); + assert.equal(drawn.length,18); + assert(drawn.every(({y})=>y<0)); + advance(2000); + assert(drawn.every(({y})=>y>0)); + advance(14000); + assert.equal(canvases.length,0); + assert.equal(frames.size,0); + assert.equal(listeners.size,0); +}); + +test('completed sales get more confetti, with bounded work and one animation loop',()=>{ + const {confetti,advance,drawn,frames,canvases}=setup(); + confetti.burst(true); + advance(16); + assert.equal(drawn.length,90); + for(let i=0;i<100;i++) confetti.burst(false); + assert.equal(frames.size,1); + assert.equal(canvases.length,1); + advance(16); + assert.equal(drawn.length,360); +}); + +test('switching confetti off cancels the animation and allows a fresh start',()=>{ + const {confetti,advance,frames,canvases,listeners}=setup(); + confetti.burst(false); + confetti.clear(); + advance(1000); + assert.equal(frames.size,0); + assert.equal(canvases.length,0); + assert.equal(listeners.size,0); + confetti.burst(false); + assert.equal(canvases.length,1); + assert.equal(frames.size,1); +}); diff --git a/tests/plugins/test_historie.py b/tests/plugins/test_historie.py index 7103439..9e19358 100644 --- a/tests/plugins/test_historie.py +++ b/tests/plugins/test_historie.py @@ -1,4 +1,5 @@ from unittest.mock import Mock, patch, mock_open, MagicMock +import json import plugins.historie as historie_module @@ -74,6 +75,60 @@ def test_input_history(self): def test_input_other(self): assert not self.historie.input("other") + def test_checkout_refreshes_profile_and_celebrates_once_after_session_ends(self): + self.master_mock.receipt.receipt = [ + {"Lose": True, "count": 1, "value": 2, "product": "cola"} + ] + self.master_mock.accounts.accounts = {"Jos": {"amount": 20}} + self.historie.hook_post_checkout("Jos") + self.master_mock.send_message.assert_not_called() + self.master_mock.accounts.accounts["Jos"]["amount"] = 18 + with patch.object( + self.historie, + "account_details", + return_value={"user": "Jos", "purchases": [{"description": "Cola"}]}, + ): + self.historie.hook_post_endsession("Jos") + messages = self.master_mock.send_message.call_args_list + profile = json.loads(messages[0].args[2]) + assert profile == { + "user": "Jos", + "amount": 18, + "purchases": [{"description": "Cola"}], + "checkout": True, + } + assert messages[0].args[:2] == (False, "infobox/account") + assert messages[1].args[:2] == (True, "buttons") + assert messages[2].args == (False, "effects", '{"type": "sale"}') + self.historie.hook_post_endsession("Jos") + assert self.master_mock.send_message.call_count == 3 + + def test_cash_sale_celebrates_without_an_account_profile(self): + self.master_mock.receipt.receipt = [ + {"Lose": True, "count": 1, "value": 2, "product": "cola"} + ] + self.master_mock.accounts.accounts = {} + self.historie.hook_post_checkout("cash") + self.historie.hook_post_endsession("cash") + self.master_mock.send_message.assert_called_once_with( + False, "effects", '{"type": "sale"}' + ) + + def test_refunds_transfers_and_undo_do_not_celebrate_as_sales(self): + self.master_mock.accounts.accounts = {} + for product in ("undo", "give", "take", "declaratie", "pfand_cola"): + self.master_mock.receipt.receipt = [ + {"Lose": True, "count": 1, "value": 2, "product": product} + ] + self.historie.hook_post_checkout("cash") + self.historie.hook_post_endsession("cash") + self.master_mock.receipt.receipt = [ + {"Lose": False, "count": 1, "value": 20, "product": "deposit"} + ] + self.historie.hook_post_checkout("cash") + self.historie.hook_post_endsession("cash") + self.master_mock.send_message.assert_not_called() + def test_history_unknown_user(self): self.master_mock.accounts.accounts = {} result = self.historie.history("nonexistent_user") diff --git a/tests/test_kassa.py b/tests/test_kassa.py index efa3de6..0f10bd8 100644 --- a/tests/test_kassa.py +++ b/tests/test_kassa.py @@ -31,7 +31,9 @@ def test_party_configuration_error_does_not_stop_the_command_host(): session.pre_input = Mock() session.send_message = Mock() session.input("partymodeoff") - session.send_message.assert_any_call(True, "message", "Could not change party mode; please try again") + session.send_message.assert_any_call( + True, "message", "Could not change party mode; please try again" + ) def test_session_startup(): @@ -491,6 +493,20 @@ def test_send_message_updates_prompt_buttons_and_skips_cached_long_topic(): assert client_mock.publish.call_count == 3 +def test_unchanged_profile_response_is_published_on_each_visit(): + client = Mock() + session = kassa.Session("SID", client) + for _visit in range(2): + session.send_message(False, "infobox/account", '{"user":"Jos","amount":12}') + assert client.publish.call_count == 2 + client.publish.assert_called_with( + "hack42bar/output/session/SID/infobox/account", + '{"user":"Jos","amount":12}', + 1, + False, + ) + + def test_send_message_logs_debug(caplog): client_mock = Mock() session = kassa.Session("SID", client_mock) diff --git a/www/index.html b/www/index.html index 12dbeec..b3d0732 100644 --- a/www/index.html +++ b/www/index.html @@ -6,14 +6,15 @@ Hack42 - HackBank - - - - - - - - + + + + + + + + + diff --git a/www/kassa-app.js b/www/kassa-app.js index 07af5f4..abbbdd1 100644 --- a/www/kassa-app.js +++ b/www/kassa-app.js @@ -52,12 +52,14 @@ document.addEventListener("DOMContentLoaded", function() { function postmsg(topic,msg) { if(topic === 'input' && preferences && preferences.handleCommand(msg)) { + preferences.command(); if(currentView === 'commands') locked=1; if(filterReturnView === 'commands') { filterReturnView=null; makeCommandScreen(commandCategory); } else if(filterRestore) { restoreSelection(filterRestore); filterRestore=null; } return; } if(topic === 'input') filterReturnView=null; + if(topic === 'input' && msg.trim() && preferences) preferences.command(); fetch("post.php", { method: "POST", headers: { @@ -281,17 +283,18 @@ document.addEventListener("DOMContentLoaded", function() { function makepage_infobox() { clearElement('#MainButtons'); clearElement('#TopButtons'); + if(!accountProfile || accountProfile.checkout) { + appendTo('#MainButtons', createElement('div',{class: "infoboxes", id: "infoboxes"})); + cloneElementsTo('#Totals .Userline', '#infoboxes'); + } if(accountProfile) { makeUserProfile(accountProfile); - return; } - appendTo('#MainButtons', createElement('div',{class: "infoboxes", id: "infoboxes"})); - cloneElementsTo('.Userline', '#infoboxes'); appendTo('#TopButtons', buttonElement("Knopje Button normal ok",'ok',"OK")); - appendTo('#TopButtons', buttonElement("Knopje Button normal undo",'undo',"Undo")); + appendTo('#TopButtons', buttonElement("Knopje Button normal undo",'undo',"Undo last transaction")); appendTo('#TopButtons', buttonElement("Knopje Button normal restore",'restore',"Undo + Restore")); - appendTo('#TopButtons', buttonElement("Knopje Button normal bon",'bon',"Bon")); - appendTo('#TopButtons', buttonElement("Knopje Button normal kassala",'kassala',"Kassala")); + appendTo('#TopButtons', buttonElement("Knopje Button normal bon",'bon',"Print receipt")); + appendTo('#TopButtons', buttonElement("Knopje Button normal kassala",'kassala',"Open cash drawer")); fillVisibleText("#TopButtons .Knopjetext:visible"); } function actionButton(label, command, className) { @@ -586,8 +589,13 @@ document.addEventListener("DOMContentLoaded", function() { showElement('#Secondscreen'); appendTo('#TopButtons',actionButton('Abort everything','abort','profile-action abort-all')); var sections=buttons.commandSections(commands); + var icons={'All commands':'📋',Products:'📦',Users:'👥',Sales:'🧾',Wholesale:'🏬',Market:'🏷️',Misc:'🛠️',Settings:'⚙️'}; + function categoryIcon(element,name) { + element.prepend(createElement('span',{class:'category-icon','aria-hidden':'true',text:icons[name]})); + return element; + } ['All commands'].concat(sections.map(function(section) { return section.name; }),['Settings']).forEach(function(name) { - var tab=createElement('button',{type:'button',class:'command-tab'+((category || 'All commands') === name ? ' selected' : ''),text:name}); + var tab=categoryIcon(createElement('button',{type:'button',class:'command-tab'+((category || 'All commands') === name ? ' selected' : ''),text:name,'aria-label':name}),name); tab.addEventListener('click',function() { makeCommandScreen(name); focus(); }); appendTo('#TopButtons',tab); }); @@ -596,16 +604,16 @@ document.addEventListener("DOMContentLoaded", function() { if(category && category !== 'All commands' && category !== section.name) return; if(!section.buttons.length) return; var card=createElement('section',{class:'command-section section-'+section.name.toLowerCase()}); - card.appendChild(createElement('h2',{text:section.name})); + card.appendChild(categoryIcon(createElement('h2',{text:section.name}),section.name)); var commandsGrid=createElement('div',{class:'command-group-buttons'}); section.buttons.forEach(function(button) { commandsGrid.appendChild(commandButton('normal',button)); }); card.appendChild(commandsGrid); grid.appendChild(card); }); if(preferences && (!category || category === 'All commands' || category === 'Settings')) { var settings=createElement('section',{class:'command-section section-settings'}); - settings.appendChild(createElement('h2',{text:'Settings'})); + settings.appendChild(categoryIcon(createElement('h2',{text:'Settings'}),'Settings')); var settingsGrid=createElement('div',{class:'settings-grid'}); - ['party','dark','banana','dank'].forEach(function(key) { settingsGrid.appendChild(preferences.toggle(key)); }); + ['party','dark','banana','dank','confetti'].forEach(function(key) { settingsGrid.appendChild(preferences.toggle(key)); }); settings.appendChild(settingsGrid); grid.appendChild(settings); } appendTo('#MainButtons',grid); @@ -741,6 +749,9 @@ document.addEventListener("DOMContentLoaded", function() { case 'sound': playsound(msg); break; + case 'effects': + if(preferences && JSON.parse(msg).type === 'sale') preferences.sale(); + break; case 'members': members=JSON.parse(msg); break; @@ -842,7 +853,7 @@ document.addEventListener("DOMContentLoaded", function() { } function submitCommand() { var command=searchValue().trim(); - if(currentView === 'sounds' && !['ns','vergaderen','vergaderenextreme','vergaderen_extreme','throw','yeet','sounds'].includes(command) && !/^(dark|banana|dank)mode(on|off)$/.test(command)) currentView='action'; + if(currentView === 'sounds' && !['ns','vergaderen','vergaderenextreme','vergaderen_extreme','throw','yeet','sounds'].includes(command) && !/^(dark|banana|dank|confetti)mode(on|off)$/.test(command)) currentView='action'; locked=0; verwerkinput(); focus(); diff --git a/www/kassa-buttons.js b/www/kassa-buttons.js index ec682e1..76981fd 100644 --- a/www/kassa-buttons.js +++ b/www/kassa-buttons.js @@ -75,7 +75,7 @@ ['Market', [['market','Products'], ['changemarket','Pricing'], ['addmarket','Aliases'], ['delmarket','Remove product']]], ['Misc', [['sounds','Sounds'], ['stickers','Stickers'], ['dooropen','Door open']]], ]; - var hidden=['abort','addmember','partymodeon','partymodeoff','darkmodeon','darkmodeoff','bananamodeon','bananamodeoff','dankmodeon','dankmodeoff','undouserlatest']; + var hidden=['abort','addmember','partymodeon','partymodeoff','darkmodeon','darkmodeoff','bananamodeon','bananamodeoff','dankmodeon','dankmodeoff','confettimodeon','confettimodeoff','undouserlatest']; var used=new Set(hidden); var sections=definitions.map(function(definition) { return {name: definition[0], buttons: definition[1].filter(function(item) { diff --git a/www/kassa-confetti.js b/www/kassa-confetti.js new file mode 100644 index 0000000..8dbabb4 --- /dev/null +++ b/www/kassa-confetti.js @@ -0,0 +1,80 @@ +(function(window, document) { + var COLORS=['#ffbf69','#f05c86','#55cdb6','#7dafff','#bc8dff','#ffe17a']; + + function create() { + var canvas=null; + var context=null; + var particles=[]; + var frame=null; + var previous=null; + + function resize() { + var scale=Math.min(window.devicePixelRatio || 1,2); + canvas.width=Math.round(window.innerWidth*scale); + canvas.height=Math.round(window.innerHeight*scale); + context.setTransform(scale,0,0,scale,0,0); + } + function clear() { + if(frame !== null) window.cancelAnimationFrame(frame); + window.removeEventListener('resize',resize); + if(canvas) canvas.remove(); + canvas=null; context=null; particles=[]; frame=null; previous=null; + } + function draw(now) { + var seconds=previous === null ? 0 : Math.min(.05,(now-previous)/1000); + previous=now; + context.clearRect(0,0,window.innerWidth,window.innerHeight); + particles=particles.filter(function(particle) { + var age=(now-particle.created)/1000; + particle.x+=(particle.drift+Math.sin(age*3+particle.phase)*12)*seconds; + particle.speed+=50*seconds; + particle.y+=particle.speed*seconds; + particle.rotation+=particle.spin*seconds; + if(particle.y > window.innerHeight+20 || age > 14) return false; + context.save(); + context.translate(particle.x,particle.y); + context.rotate(particle.rotation); + context.fillStyle=particle.color; + context.globalAlpha=Math.min(1,Math.max(0,(window.innerHeight-particle.y)/80)); + var flutter=Math.max(.25,Math.abs(Math.cos(age*4+particle.phase))); + context.fillRect(-particle.size/2,-particle.size/3,particle.size,particle.size*.65*flutter); + context.restore(); + return true; + }); + if(particles.length) frame=window.requestAnimationFrame(draw); + else clear(); + } + function burst(sale) { + if(!canvas) { + canvas=document.createElement('canvas'); + canvas.className='confetti-canvas'; + canvas.setAttribute('aria-hidden','true'); + context=canvas.getContext('2d'); + if(!context) { canvas=null; return; } + resize(); + document.body.appendChild(canvas); + window.addEventListener('resize',resize); + } + var count=sale ? 90 : 18; + // Bound the work when barcode scans or commands arrive in quick succession. + particles=particles.slice(-(360-count)); + for(var i=0; i Date.now(), dank: saved.dank === true}; + var states={party: null, dark: saved.dark === true, banana: saved.banana === true || Number(saved.bananaUntil) > Date.now(), dank: saved.dank === true, confetti: saved.confetti === true}; var switches={}; var bananas=[]; + var confetti=window.HackBankConfetti ? window.HackBankConfetti.create() : null; function persist() { try { - window.localStorage.setItem('hackbank-appearance',JSON.stringify({dark: states.dark, dank: states.dank, banana: states.banana, + window.localStorage.setItem('hackbank-appearance',JSON.stringify({dark: states.dark, dank: states.dank, banana: states.banana, confetti: states.confetti, bananas: bananas.map(function(banana) { return banana.position; })})); } catch(_error) { /* Preferences still work without storage. */ } } @@ -63,6 +65,7 @@ if(!change) return false; states[change[0]]=change[1]; if(change[0] === 'banana' && !change[1]) removeBananas(); + if(change[0] === 'confetti' && !change[1] && confetti) confetti.clear(); persist(); update(); return true; } @@ -104,6 +107,8 @@ return { handleCommand: handleCommand, toggle: toggle, + command: function() { if(states.confetti && confetti) confetti.burst(false); }, + sale: function() { if(states.confetti && confetti) confetti.burst(true); }, setParty: function(state) { states.party=state.enabled === true; update(); }, commands: Object.keys(COMMANDS).reduce(function(result, command) { var change=COMMANDS[command]; result[command]=(change[1] ? 'Enable ' : 'Disable ')+MODES[change[0]]; return result; diff --git a/www/stom.css b/www/stom.css index 16bd245..74aaa58 100644 --- a/www/stom.css +++ b/www/stom.css @@ -356,6 +356,7 @@ iframe { display: block; border: 0; } /* Grouped commands, persistent settings and compact account history. */ .command-tab, .archive-tab, .profile-action { min-height: 56px; padding: 10px 16px; border: 1px solid #cdd9e1; border-radius: 8px; background: #edf2f6; color: #263f53; font: inherit; font-size: 14px; font-weight: 650; cursor: pointer; } .command-tab { flex: 1 1 auto; padding: 8px 11px; white-space: nowrap; } +.category-icon { display: inline-block; margin-right: 7px; font-size: 17px; line-height: 1; letter-spacing: 0; vertical-align: middle; } .command-tab.selected, .archive-tab.selected { color: #1c3f59; border-color: #91adc2; background: #dce9f3; } .archive-tab:disabled { opacity: .5; cursor: default; } .abort-all { background: #fff0f1; border-color: #edc9ce; color: #a33342; white-space: nowrap; } @@ -376,6 +377,7 @@ iframe { display: block; border: 0; } .archived-account { filter: grayscale(.85); opacity: .62; } .archived-account:hover { opacity: .95; } .profile-heading, .profile-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 18px; } +.infoboxes:has(+ .user-profile) { min-height: 0; margin-bottom: 18px; } .profile-heading h1 { font-size: 28px; margin-right: auto; } .profile-balance { padding: 12px 18px; border-radius: 8px; color: #285e49; background: #e2f0e8; font-family: ui-monospace,monospace; font-weight: 700; } .profile-balance.rood { color: #a33342; background: #fce6e9; } @@ -390,6 +392,7 @@ iframe { display: block; border: 0; } .dancing-banana { width: 40px; height: auto; opacity: 1; transition: opacity 2s linear; image-rendering: pixelated; } .dancing-banana.fading { opacity: 0; } .click-hitmarker { width: 70px; height: 70px; object-fit: contain; transform: translate(-50%,-50%); } +.confetti-canvas { position: fixed; inset: 0; z-index: 90; width: 100%; height: 100%; pointer-events: none; } button:focus-visible { outline: 3px solid #db860d; outline-offset: 2px; } /* Personal themes and debt colours remain recognizable in the dark panes. */ From 7da940cbb71c255b9baa92b27e5e5705888a3705 Mon Sep 17 00:00:00 2001 From: stitch1 Date: Sat, 17 Oct 2026 22:23:32 +0200 Subject: [PATCH 09/25] restructure and add sounds --- www/sounds/KDE_Beep_Beep.wav.org | Bin 1078 -> 0 bytes www/sounds/{ => POS/command}/KDE_Beep_Beep.wav | Bin .../{ => POS/command}/KDE_Beep_ClassicBeep.wav | Bin www/sounds/POS/deposit/breathtaking.wav | Bin 0 -> 285488 bytes www/sounds/{ => POS/deposit}/itsgone.wav | Bin www/sounds/POS/deposit/ivodanku.wav | Bin 0 -> 236988 bytes www/sounds/POS/deposit/money.wav | Bin 0 -> 198738 bytes .../insufficient_funds/insufficient_funds.wav | Bin 0 -> 261812 bytes .../insufficient_funds}/sinterklaas.wav | Bin www/sounds/POS/sale/cash_tycoon.wav | Bin 0 -> 195388 bytes www/sounds/POS/sale/katsjing.wav | Bin 0 -> 304848 bytes www/sounds/katsjing.wav | Bin 33676 -> 0 bytes www/sounds/{ => soundboard}/ns.wav | Bin www/sounds/{ => soundboard}/throw.wav | Bin www/sounds/{ => soundboard}/vergaderen.mp3 | Bin .../{ => soundboard}/vergaderen_extreme.wav | Bin www/sounds/{ => soundboard}/yeet.wav | Bin 17 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 www/sounds/KDE_Beep_Beep.wav.org rename www/sounds/{ => POS/command}/KDE_Beep_Beep.wav (100%) rename www/sounds/{ => POS/command}/KDE_Beep_ClassicBeep.wav (100%) create mode 100644 www/sounds/POS/deposit/breathtaking.wav rename www/sounds/{ => POS/deposit}/itsgone.wav (100%) create mode 100644 www/sounds/POS/deposit/ivodanku.wav create mode 100644 www/sounds/POS/deposit/money.wav create mode 100644 www/sounds/POS/insufficient_funds/insufficient_funds.wav rename www/sounds/{ => POS/insufficient_funds}/sinterklaas.wav (100%) create mode 100644 www/sounds/POS/sale/cash_tycoon.wav create mode 100644 www/sounds/POS/sale/katsjing.wav delete mode 100644 www/sounds/katsjing.wav rename www/sounds/{ => soundboard}/ns.wav (100%) rename www/sounds/{ => soundboard}/throw.wav (100%) rename www/sounds/{ => soundboard}/vergaderen.mp3 (100%) rename www/sounds/{ => soundboard}/vergaderen_extreme.wav (100%) rename www/sounds/{ => soundboard}/yeet.wav (100%) diff --git a/www/sounds/KDE_Beep_Beep.wav.org b/www/sounds/KDE_Beep_Beep.wav.org deleted file mode 100644 index 3c18175f79b9a6f7ebcccd28afba86c54ce5111b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1078 zcmW-hNpj;h7=_hUS){Vc0kY^57hl-YT24)TXL&y*)2yTKnx^J z+NsJ3vkGLQu=wgn0q^~I;9q}y`t<7$olf_+qu;$G{rGdI)A_*1f4_9z=ZDUZ9mh<~ zpZJ>bcru+_eOXuIKZ8O4@!z-mQ{6l9M76(bYgjNi_mA{AP?U7{+F)E2H?gQEkt&}) zv@JrcSe=M+9O+WDs@eil`Yl!E2pC;&L0$JoSL9?0HwPIh^&UddhCM8^if&n~HOrM&XunH~@?21zQ)HbxN(RCyk zktd10?{6)uU+^suw8$03vu(rc@2mulaFpCP4PiA|C88R-VmH~;4JH-6JCUT&m%HGu zZV4&L=2TXqP!qwrYB4Iyhg4JI*ysi~q$v<%j{{Q<6H9QWs3nM%yP+j|+@Lke8j4u; z_t=$O&c@}wDG{r)Ss*%zCn^2!ZG~`&u7RY3K#@;2RgEx1t5Zb{15Jq5WrGWfH$7De zBSQ>sSc4HE_vgAC#uyf$yzGawI+0+vq;0W5_xhXNL^O?`<&f&@rT)i`JL@t;cpk=-YBpYx8y{DIw z8-UA5wv#|s)5n_Sh{0v7+Q*@)e10fd4jEpbYUVM}q~wlP5HYgp=~@hQF}fi&;t}D7 zR2~r_SQamb$ZWsZDmN&)Q}}`*X1gm_^%GCFM*EuNm_Cnv#pMyv`n#IJg6wCZVke=h zrQ3=hNb>7Mv69HpKYuIBJTKttL^EPwD)E|C2;$;vPuF8$$Y4b(2r2KVsl~A=h0B81 z3Ef_p8i*~)pTi1em~4lx7ACxFldQ%WBD;~#1^J3~`CO5#p!;d4y2qiWpFdSJMV9OpO3suf43ezsv{o*}e8)6FEdlz7EEk{9S}YH&fO3~qTlxxh_o8h{H1 zxBSH+f;Xwb4OqNRDugKJf^`54DZJ+SDJa=q*nGVqcne4&B%CcXJ{VXaz8~cgaf~Ff pq+p)&7jnNG4+s78^ZvzPcr}_#=ZnR1xtPyp)5&-=;y-}*?|-!j348zm diff --git a/www/sounds/KDE_Beep_Beep.wav b/www/sounds/POS/command/KDE_Beep_Beep.wav similarity index 100% rename from www/sounds/KDE_Beep_Beep.wav rename to www/sounds/POS/command/KDE_Beep_Beep.wav diff --git a/www/sounds/KDE_Beep_ClassicBeep.wav b/www/sounds/POS/command/KDE_Beep_ClassicBeep.wav similarity index 100% rename from www/sounds/KDE_Beep_ClassicBeep.wav rename to www/sounds/POS/command/KDE_Beep_ClassicBeep.wav diff --git a/www/sounds/POS/deposit/breathtaking.wav b/www/sounds/POS/deposit/breathtaking.wav new file mode 100644 index 0000000000000000000000000000000000000000..3d9841484b061abb7b12acc0f4be7f913a63c99f GIT binary patch literal 285488 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�y@CX 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 literal 0 HcmV?d00001 diff --git a/www/sounds/POS/deposit/money.wav b/www/sounds/POS/deposit/money.wav new file mode 100644 index 0000000000000000000000000000000000000000..503d7ea5aa1de0d0d9624882e84e88ce86dcbea3 GIT binary patch literal 198738 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⁣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 literal 0 HcmV?d00001 diff --git a/www/sounds/POS/insufficient_funds/insufficient_funds.wav b/www/sounds/POS/insufficient_funds/insufficient_funds.wav new file mode 100644 index 0000000000000000000000000000000000000000..d86e460162adc0113236bbd86ed90c9b4db82544 GIT binary patch literal 261812 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 literal 0 HcmV?d00001 diff --git a/www/sounds/sinterklaas.wav b/www/sounds/POS/insufficient_funds/sinterklaas.wav similarity index 100% rename from www/sounds/sinterklaas.wav rename to www/sounds/POS/insufficient_funds/sinterklaas.wav diff --git a/www/sounds/POS/sale/cash_tycoon.wav b/www/sounds/POS/sale/cash_tycoon.wav new file mode 100644 index 0000000000000000000000000000000000000000..580094b158b70eef095d14a4a79a309045dc08f2 GIT binary patch literal 195388 zcmXV&1)LN|)5fPqcJ~YpcXtggK|%=b1VV7vAc5fS!7XTlYaqD0yF0;Mg2Tz$%=CQ! zx%Xp#ySF>qUGmgZ)iwNByGD&trmFn>eY5Iadk@GSt0;<4RHfP`MTy<6D!LM@bnY;q zLoCPGj^hYLI-24*27466{nYr3RJ@$!QzFfuWCDz>+4)oO}e|6&nWI2$txAFoJs*+->@a6 z5^zk%t0Y(QDY@95S^4UGbgnqpoSV)=Cy{X`Q?e*|mBPHg;mmZ(N9UdM%6aZYajk;9 zGAh}*P89bvl%QidUpdSD7tOU(aorS3dfw5z({gsKl153*p48kaJ)c>XY)S^cW#@Y; z<`&5rv201p6=S((*a;%Z2wu^g9m$!|9FdHDF&yE})g6a>g^XM)mTQ>Y+ns+hj!4JW zENqYAJPqlE*&cR6NXcM4so3X^B6HG++%cs{dbxkyE4h0z^7`LrCVt2APRA>4(wXkJ zEQ~xmbI8d%7e{7MawxeOPddKm;OI>3$<6T@`JRFElQI8vN$-qFXXN6jT%47GyQk&t zN+CVp((yM9N2g?d(Y#`qb!x7XftRZ%S9TfM>&`3<$EId`IzH1TUCAAD2IifKV`BgR zT4~slg;zGllO1hlQS$INYtnTxaZGx)xU+TVl#w%2Cyh8G_f5r_?wvDpd~VLj&abT8 zH8c1ApTwfkTyn+|jV@d()A(&*qwaj&W887L()ynaQYL9FisO@Umo#j3ZPJx^B%cOb zb*|#tvwMVx@2;L*+x?&XT$@VHOx?e(mAQZ2Bi)g@d)#*{KJmYCXzYt(OEmZL@lE4M zcWfG4l%%^DY*z**Rdgr`m>sz+Icr}W4A>M19X$w+6F)6$vAb=PyX-Hdt{()T;Flu1gIh*NS1O*qO`<$|(Q zIj&4q4k(j(FH#;TXO!E@J*BHMh_Qv7bMk6bHP%B6CK94&v9-^x5P-hN^y*w^g5%zu(>E8ojwvbK|fxpr_)GU`i=`xKvh z`8&>;=S*~FqhrVE!}$JDE-K5A&s=4O@>zMI)Dqu|CZfJbBT|ZW%2uV6@~!f(a~J8a zcV;lp1K7%C^f%qv;1qVgaX!coGS=}peVl>JIp}mynk%D~_R27&rP5vbQTZ9UR#hs1 z(uKgjuyY!1uXols=bZakOcpGpkn)Oehtd2-^nMu$D|kb0qC?8)uAq4Ear_=KEXugC}rIJcec&SvJk z4Zr-)sjL)LW+|hTb;@5#U*%WD!VgwBe>y#p>SSj@lI}int_M4;sFY^@ojG={atI6E ztgKK5D;+@`P5B!QkHkmDF^3t*VKMsti+fCPmO9;>@kr=*=O1TF(hPEdvDK9FXylQk0WA2uvPYSsj8qzO zr98YIF~5b_NpD796`7`R3OS!;P^NUEoYA}zxt5EJHhyy&UmSz%i#w(8#Dd7bnKKLx z_GO$6oVHGV=V!jnMsAOt;*9b)^uASD$(+~m-hdD7#HWtoSr5R3ZJmbreo5yKu6)Be&ylN~UQQ2ZkTU=a9_|!%>N*KBxpPLI zl{e)*Sscrli?;r8)*{VwP6Rg49os&l>_P^b$c~@16;;F_F`Vy(#A$qdi839n>{nLt zZl=^#9%2_4;4&Yv|E;{5@M?f;7NVsS&K~w%;e8T&*o^%RL`s9v{w%C`Cf`Tmv9rL2 zo#^B;uWKB)kMnLiDe#S!*g`FAvkh}xtjtrcD_4~N6u%-Bk9dMyw&3BP!O5QD7qL<7 z5gkQ)@d*v?0N?&*4$DBtLCCcWHZ)6_!|^My_JLSLQEdGyc6$#W`v+}~#IDA3-`&`( zK&n4-=iYc^VJs<&@&o?V84s(=cGqi*D8=!67j?UU1-~mZ8QWa0eFQ!I3+jEqek89b zVG;O(VEIessB#Lt?U%#|uA;%+=&P@bD^kjR@~FIqMqbJU=?4$fIhma@AW&nc5prBa zJh_c0Jtt}pcMxVgjhs3^n*vWNddJ37Yg73)t7+smI<@P6;QUlba)oVoi;);1OtQ3P`dQ9i0Fp5958? zv8*kewVctd=04Ay0!j&`2Qg(SK6Hq=J_T=ekxUd8#Y7oVK~xk!h{~dxs3Y2luA-Od zflYPdZ%xq}JkBmYDhbH%iZUNr&Ow^Xu(UsjC4G^5Rd7L960oMN%%GRk6uFdh$~)}g`L&ICoWVXL z@c$a1XhrT+2-~QQrpIDA^Oc1}w3$TY(Y!{2mqYQ7f$aSWY1ihQ23W!mN*VCCD)?Io zn{co31AA&=9qmE%fxHHDZX0Z{HpkQ;{*@#CW#K+)z?2+ltr%xj0sC{H+dKHmWqda) zKHZ2b<^ugvz!TE(Ee0%Ji{$fxJ0Th46mz}>c~U!T>e z9o@`ltXq>J&tYbKidpQ$4(2OEhyrtnUklmN3;e69v}67$;4n8pxedg#L)g+~eBl7` zb|$0ig)g%Jb|}7O^SDE(WtI`flYmO^1=ctpz}C9{Ujc{ z9$cEm)%#)bLz&?KqQ^Xbk0konPqOlo+~XUk7S_-SUzo)`E`zF1Id2=jJd3-p2HAEZ znVa0#&sE>S!LGA)Hxc46-g}y3A36u|kxOvgS57Lj)%n?4t}Zz7C_RfdA!B zVk`x*mYQh4DHi)3`zxTg+Da>>16u5YUDQL1)!1K?UmftEUw9A1qPpS>&651e^^O$W zAqYm@N2ABF$jyvoAEUoQ^nQ?(86<}l$0#r0aTk+t?0J#}TtT~!dAV%g&F9^`s36y> zfEO0SnqB|+$Q5og*IRgYBK*jeZ!A}f1_MG!{vCT>C-L&#MCg66tQTC#XcEQ z!v)Vcxs+#4Uu3liDJ*72lNfO>q~K;#S;>~l!cFsYZXW#Ydl2qNtSJlkd&b!pL8JSO z>a~*%J*QT#an>6r4?1m%%b6MRaKZ@J1}k% zv)#lo=g{RwY^gGK9|bygzh;L$cf8N#TeI=kyf9 zd~ZO6Z;hw*@px)w?HQ4>3JS$0{_<43ObE50_E7}bjTl*RU3A9{cst}%nF z*vK~G-=A2>K7M^->qF3CJIJyIi`h?HJVE~Cfl<`ss;yxZO<)*xK+2|Ab_YI3F@lBg zsI|nyWy+u6L6n??mQlwS_%u;%KVoy?@d_cGwvsZF1$h!i7>*0;IzvR zXCRes_-Gf#yaxX{2Xns0zGIv<1YazOextB|gSVEHnZ2TZ@E-_t0Uk6BYjQ27A9%Et zDDoVON(39d*kdZ^0k8-FvvwSCG4P-XzW)}J%SF^6e*-aI_+Ppt5Fa^z-w{=gC4 zu-Sg#Y)AH1z&^6Us&Zk;X+iHOSj;!>|8V`gB>7oWylx~q`xEQhO$VX2k;=BFW+5omu6OE_m<L6n~0e&oD9KF$cb#lF?Re1);EU8-Vq#Ok#9!k<)ilS4um^`Wo*Rzwu3Ea(fd)xcnY1LM(#IYY!{LI9*$Z? z)H(!Sp5^zpB)o5f^qV-Pv9ESm!6eSyLp(UbSvRoVySyKRsc*2{>_p}2jI0SGXhgKE zLZ+97Jk_nNXM}4NBZgLCPZRci3-Y+tT@O)0P>1*zZ`c5COab#2BIjYqxht9YXwYyx z8lQxP&*GRZNfN(BjNJj+?BulS3rUuH7HfLW_#Wd8E5Vy7py4z=rzKr=K3Dk@ zgj|Y0{fQp`LZ@z=b8CWbCEg~AyH!fJ@*d*-mAXnM=H=!=ZVudtzm>t$yvR2_5!{XG z7I7v5lyNii7(NRzx4InJ94UN%x6WCWDBl@v7Q!!{;lH=>E4S|17R#88g^og- zy|9NSXgwF_oJBJy(U8lMvVki1@XD{Sh@wa@H`x;u=4VVLcx5M2#(;q5@$ld(C*CfNBlPz`YO&{TuxRM ztqx3L+bcmk*UL_W%gY({Y-$RV;ApMUW+8Gy2Wh@aijmu~k*ToNUQ{T4MW1c)=a$q7 zny{r`5~JRT-X1WLdsx~TG;x^o9wG76cy+Y0fM`3O>~SA5xRK;j*RhfZ%ruJoeFwfY zf#dmTD&LQk=*jsRl zx3gfxThPTs8yfR2&d3`u%Ut-47v^R#FC7hp(TGa@CW7eeM|W=KRTgil1iS4-q#w_0 zn<4$GSelFE#gR{8W}lCE=+@$&akV(~`X3f>i{F=trEc}~D&BDjO|QX*mLb0*Y`Y19 zyX^fWHg$#1U7*D_UM_0vW6Syf_YD^rvolh6wIm%Ll%MT zC-I((tuFwXSEA+F_{J#kc>#M4G5Ui<{Z}xOr{M7xBG7qw?JI0xDY9rmlxz$RS3p9g z@U$PfUu~?Q1@_Ymud9*71*4Ey6czZCFw_kE%?MLY!@DRFsKy!ju~`q6@De+ChzHzZ zo@YV3N66+alKBjJg{azOL2gyKM-!~L7S@*?oN=qZ$#{jaj3;=8d-hYV@)T*_;O{m3 z?mpMK$ltA?uUqH-!tZ$YIcV7C`)w@kE5B2KZ6@bEV*7hIT_PUlX1ZzNSspOz4tv%k z=e_9VG?;u2otTWyt>->t+eL6!0qUrqlnT^+4iMkVfMSohTNi3dZdIu; zs5hA_w8AGFf|=FP_S>Xc?L)@N(RiyQ#xe#?=LW;~GY&VtxhpIwK(sB`!v`f+oKsFF z)h1SxPyL?66lZeRkWyQW6h4toOu|AMVmW2FkGq!VW{wxJ`;}PdSTc;X&UcOmpJ)tY zZwDS$Va_Aaq=~i#G8~6)%E0B^s#16SeKvZwk-+z8^faC`gm@N@>_0n^@WNx@eHyfz z2T9saKjwE?xy$%VE9Z%SCGe#taG(xJm6lN;pHPZ($7}MbJV7P!0=3zEPFB#NH%x07 zXt9QIyuk+DtoIxvar2Tm{+`40o`Jf4B;xv=%aC4jyqi}&Mb~TLrDH*i5mdxV!yX2s zLpN&bV60nR38Jeh%;q?`z;d|g2U!hn8VPcjz$>1x?Ie--KH9%ed^iaXncS%b==U!^ zQcT=Nuc{~_-Y8|n1tnUXS03YMhsjHBFy}s4#AP^u8|@>=8UN)jX+WQL*kcamI=Y;U z?~ld$#yb_A7$+#7$zMUV3s{_iSNu&ZyU1!)Gkhi=emWQ%yGR|i4b_A(*j7Ds(FgXi z3X8PBuA*REW%icAgL`wYv(k$;H#?KbvtKDC#3?0>n4vrZ|F;q;4wK(XYFpomt4gE@ zV5zmh>ON?;8yNgm>P|FPaUO5!PZWL1ea|Ro;jfFh+B4;?@(vm0Q#w;W&qfWh9~S=( z-?)#>q<3PS|KwFUmsolV*=o48Y(Ievrvmm%wa z16mA5FAeaLenf{oc>V(7M;#);0X(oO=$8yma0D-12$%R78F%CA7m-06*;8&L??YaG zncMkG?v(A&yIV0>jUBn`E}QxG2J3M%Z#QQ3=2Zwk{Y1WYh8(UVSbG>QJPOVJD@F^C zx-pprvRia*Au{i8U9l@Go9I z8r#T=H6J50-ikGClON?rd#?PQHM$z)1E%vW73Uv>+e2VDsqoe_*i~I8P9Bzpsgqup z1)K;nuk~1+0aleGR!He{eziB)lkH@3B7Ucl;Z>qSeUHk$yHf6=ZvwL&4NA4Af*r@J zx|l7#!xjzZULK2iB8!n>G$R6?!~Q0~<)&lZPaNT>j!7lI5?rG^HSQej`2m@9LYt?g ziMLn4KjT;%THsuf6`h~Be-TDe3ZL&rHdIVB6VIr?+E+BS$iV9pG?1EbA&W7|e*r68$>CmIjb%X2rt)!-n!A ziRY|6?6Ggzk+O!|4Fc`KYF{Zq{KleEwNc3_@`(tMp0`gd5pzU0(MR-vi6tjezh?dA zir6lOhz4Zj&y@|LKXx-g^yFAoEJRnOSR)%H=aI2Zr6$wDc`27;&A*dFBq#pF<4b>V z{x9l8HM?3!{SCiALLIFZF@7)E`w-&w31V7Z?DVb7g{*QAIrgF7xz1R|J(l&7yjW3B zd%t}dP5*!m;NV)UeJ->3proT(P=nR#JfaOKunJsqaq+ZVFQ>}sG7UMb zyPDxX5T&>7DiPUcb@S-b1N@nFO_wBS~1Z{p$eU~9w3 zi5G)Di-{(uz&NjR4(#58RZIkF?lGR`@RsUm<_3&<4b=r~6`v`r?7`aHn&c6DwGq~y zmALaQSl1Um@g6&C!H9+vJN^Jee^&m$54IwkF4*!c{H7dH&h2t~&Gvivd>nXRn*79F z%c{h=kKwi>K#}jsxpuPeM=Fh#iL%d-)gEHgI8eC;7TN|pYm2-Ms%%*p!!WR{Eu-nk zm|XrYIkpDtLXq|BL!pGLY#q81({M>w$zy!$9VMNteK;{vc;H zm}V{Fzyz$Zk|-fwVln5$5s^`36$9{}Xi&^cobJNWr<8}_(M2qG2t4&O{(A|A`G}lx z1Bft+=r#>R`-A-MlQV()4FhvxiOLU%$pMayW4zJuw^$ITJ~MkJ|HFbxGvc~Pwl`Kd zo)wh3%(5luts&i|#D=$2BCb(SI?8(&^8OP}IEt%=z@To9l=Yl9`2A(6fHdDa7TDrr z&1@d=;~2VYN#^DgU(m={&MQF`)a~JN9CsDuqv8-J<6xr?V1zBuVsE-V_F<7VL5O@w z+U<*N%qA*4LO*#$Jn_}W&$fU8{gGmMu9bqErZ87+0%PyTyEhi5Dg%k-OVPZa?8?V+ zo51*%*y^`lkbat`uK z#yxT&&j?WBEtVQ~DxlTzVEsuDWij{vj(pG}&sj~Z+y*DkO9U%R#LNR?HfHo)K!=4& zE^$LiEgmcJ)VAYc2lt4j{g6#O2=D|AwS}9lrb;)F)uQp(_6>AiS^O+&i|+8o2Sjvt z6>S;&4zqVJc=k?7$(o{96cD4>0w7YIehFG%PGV=<@WxwkS&bT*%lsZu#hC$KWyCkO zpreA!KRudU%N+fjcN05liC#al0{cK-lDFh-`B2*OGV*k*IA>wx1z8d8LcOjqOfePj zXl(i$DmYuopnKs(kI66!fLyMInq$*>nDZmBsHtctmWkhm2d2>geSf9y^a-wB7j5rU z-V=AziBV!0*8fnPQ8Ec1%dw?V48@PsW&agkR{6dlA; z(OB#f5k&2uh=i)lPuI+5Sz7jzxzXqqd52a07@}Sac-tVnsu#l}pYka3O$Pj))kM zU#qREdUfrER$QyE{ig0ykBF&a6Mp}ZwdLG$5nfZW;|wNmeTl%FpU?(N>L6w}>uq zp9yqVTvJ+!x_s^j0g5O)81GU%DhGOKh`+T$Q=RbcH$<$R==eOGwJd1dO&*tJkDgEm&J2?D2jkuT#6qm3J|}|RB=0&bH_73$udE}p$uY7Xc5*;& zlgp*YxhtTICzPyWCnHB zwIFXgXRGY(WF$g%WnG{oEV?5W{epRb#Af<2B1Kp7o@(&gcTNKZKFMm$ zXuRqnOrDsfb_P)Dh?wf0&Q?HBEe`b7OAzL1w+ftRdQ@`&Q-rJ+hp4w+117s&pRs8U9h5{Iy_qRMV!`~*C<8JS*pxY0voUyvA- z9_F5(87{>>SeYhIT2JhMiG13?3Dd%bThSS?jqiu4piBV^io&)x$T`^iD&!xQ+rVp= zJB%SNrgf4zQ{@}9Tpmue7cP-bc_p7XGvpNKh5Q?@zeI1v5@&^M3|k%x?{T|74kF(l zVaNNG8pP%bVvll3q!l)K%`EWWPT5va?}udVSxkj!bRj-y{PPc zz;a$ucgancWnSXXMiBEA5#$Z?9O%50S(U|3E9BRV%q<<3RGe8oK^|qCi!!@&pA2lA z%pkMNQoIgJ14}B-^$#Sm#u;3(5Lw{|CAX-+{kGumdGT7eiq(c_Js0~BBBV?bjp*R{ zQAnk_xPtBUrW0$tV#8{3!kaUo)!pKRSf$<+{nXh)#cR8$EkrXljhG_7Ds9BS%35(! zX&}xL>jg)T5pTsfa;B5maV2t|g4EuMDV>PIuZd49eWbVC+&+R3a=8mb4Y z?6q=}-OL#w*DAj|_rZ%=%(uTnKMhshzg@OOEhvNfh<>ExVkWF*6tZrCm%ou6VFZWi zMLkc3JQBP=rZgrlb$}t)!SWL1L+6}aimm)eF0<09iJyKe4x;^0;vik68$}xCbXDxY z4wsR~Mav5ElI^#bfGm&UW%J0Pn!rp~W7XZsgo}~2w;%#O0Po}FE16sx@U4MPawIr` z*>6&Zshh#`(x6mMY1^&s2>ZO<&Tfo_oW?KKpsPuCWqYbM(bBDB=40z;tG)ElH``aH zvFBO8SzpafaJaYNbX7538P9yvsQFb#Y{E*{fq&JMt1z~lWYynLn@I=KY?1S14H)AL zk(r*XZ^S@k^_-k;3Hh+CUQ<&UqxGu#dTo!oTwSLAr4CgKt6kKxNh5uTPKS{tofSpY zw^&07aW^Dsf2^C;v(<_KI}sziLRVRI4DnqA8LYR|F8S|`jGW><5&SlMM9}nNA|UyAOY?3nR&koD!`qme)RQl|hEh@U=(OoZgbD4FWUo z$y2g}9k3j0rd36LvS%Xy@!|*DD#RjW2pOW3=XIhD?#wV$>{DWQH3N+%=E=5u~lmPvXCWl<*&eqWo4T~0Fn z48*%7pwI?2zm`w?QJbVLRAa@jA_Ey%m>$D#?W%S~Yq-_V>WkdIvGQ6`%&?!e&Q5QC zD~H&bok6mMQWsX&gKWLHom{@KM#^|gb(-26WIOC{wYAEwVtufWSheJEyRfWc$6Kkb z*XBqwgMGrf2=Xq#YAha@SuXwp6;j|EekH7Ar&^Il{0hU*K_*&WOco>5lj>ykj9N+^ zqs|e}L^&}+OjP%)CA4;0oG{e;NmY)$RHJrKmAa;kgX26Chr}cpZ(&&fb@H-`u-Q*k znO>23J|hQl`^uZcB7f(O*~H&4isI@iWs2C~EW#3gQ&f&EVds-SS=H^nR!O^smEFE> zZM2KpkL+ajV!M}gQChF5%~V&4_w-5*poVe^wo((0b4hdtRR$oN^lG%WLp^}!O;Bg47xBmO+DUDK zmP{X^meN*;zG_ZzXs;}w+?2JIRC1Ve)@m!iSbJq^dy8CV$B^}10SR-8kL_E#7Ygvbm)t6cktdJE7v957E|N1G!8Yp>@sAMm*Aa(%kv&Dh zjn>#hm~$U%t?jWZViP4~M|+t~08gb04*Z$K;M~XKX2+C-`VR zv^HC(tOoXX_H28&ebd&F$Yj7l~in zL><)>Bh{|z2DOVePJ5{Zv`ku*W~evB3}Rp^VvW$2gP7UXzsav8Pd99n)g@16$PZ*Q zCBL$)%xZ$)~XPs8JGP>~u*Ma;qT^Yi(V%xpgO^3Q0F zsv-5ucpV?Cf@1dyxH;J;E-^^AfMA11HMXFpd4py`4BnmfoIfh$-o% zvk%F0_6%9aE-4dD%TmGJu~s2_hV`R8)2;=RFG02i?w+s~#i9_fiX} z>9mPza&;YX@B&xw2*U1zX*Qzn+L3I!4E*Z8jG($O+QxJC&(tewLvS*`$V5gs2TPq`H?t?&zu0x` zarQ&2uzk3oqF@diJ#&82=4 zmDKfAG}DS&s;Z{f4yXs!3hG7CSEMFmpQCnHuV{<4u4*4OK@?McT4{bA)mCbm^d9O9 zwJ1`VM6E4{@|B!m5f#>G)}bDedt6aw5_L|I%S z$^p)rfTSA8ABk!|$VK)>`>s{Q&TGZm^{p%qtSq+}ao-P-E@1mY>Kyhx+nw zctas_!+TT-0x;wux z2~T(ZuzpKaR{te$@X1E9AiQg{6>rtF<`5%8c42#z{f*Vbnq}X%$71ta?HD;3>witv z_%a;20QH?RVmYsjYD=nJFYIb^2cG+_b;TNLrL(J2qrCxhdnSiE$E@DAZT?~T?Qyb^ zDzuOKdgC|!y`EWJtTtn1Z5h?Zjci||?pAw~v%WV+Ti@Gr>=?4P>S|V2Z$602)C_u% zfsZG*-9lyaS6Ev|n)EuubicDLE1i|bIxD-&&)~~B=DZMJPjqt%>KzBEBsC?gSHbLD z&Muin?zWF$cgfV8YIg9;1C#7XZk-%{_N(2EI?N4wJ=`-3XAA0pO{oFa&DI8KQ>n;| z)#_=l)D!9lb+7tfo1!h(%4qv}_TxS^=nZyXdo7j1Nd2+43f9$%T(k>o5%bCGj#76R zLrv&kB?l`R!{8&e!~`sl|&WoBLTUU*8_G*6l{>>jL_L~(WmwTx77%h`C-d)9NmBl~ztjbgIMp-<3Tc>eMH zVyrYYHILeu^_cB)4NtlqrsArz^7Y2U13a{Wi@#R&XzuWBlOxlWOk&YdtSY&u7h=4u_I)AYl9UG*Dw!TneEO* z+&olNE|6hWk;|y*oVL4=_2tvc=-st8+Eyx??h`ucz<_+@TbsF7BFJ3Hyc=F^mN$R4 zpIJ4i{y0ePggMQ;Ywxt%il2mEv$Z4oOZ}P}qqTs0PXw6W}M?h>_1>iKXD>MTkeY?KD*3YBAo&N=CK5+Kp9AI4u=B)!9$=_XN-5{L0$i zP3yK*C{#F9H}rjI8eDlj_09X%2dl9)*s`d5eGrjqQMI00Q=O!iq$0LTo@Yg59h%Ke zv}+{G$jXn`Oxl+LPPp;*~O()v_|w=bDhG{YFKshgXM!U^jBlm8{?{(VyuT^(dp5I!?75_qn*9N^Y&X)?DkamH>#nnTN_EfibCOns&P-1E-!UVE=qfw{b+ zs+~fFsS%WC%wLc|W?7S*>af|$+#0GJDjGf)S}%W)F;vlpGQT3?5*3jWR5R!Shg%F0 zRfVO#RGVl$w5HU&-%{y2ucgzwlQ-NI4b?5MzelpA(~}H!i1^Ct$Y3(F9^wFgc#+l6 zq15u$SZA#Zc-mmN)Az8Lk|LX!O*JeJ`Clcn{oX{}n{-P|M&gfHwaEkr*sfjBy2ABK zSp}>DYH@WN?Db9HWnchY>M!!!N~RgUZm+fb*sbg$p)bK-iB!kc-s*pHqZ~;uz#mlO zvwJUjZWuF+r`A!cFIhwfZJ0JdpQGQVqQ0LR?omCvA((rC&u( z?-Ll_OmD2OW%7r~SE&D~xyi&AYs<7)R$h7-RSnxXXvA}^w7zxTtYVq6%FbbDfDL^g zni*Wnsze%Np8hSXrRB8~WLG`aer8#7m$lNWLVwFJwY@spJJ`Dz`8E%X32aXIH=&Dv znm?=6)XJ%i*Iw#1jatT5V}j>}=d~!Wo-`F}VrXZmO`w0^aX2oVn%b`+tH`$cJbhfu z_LzzK0ewj5NvLROStv-~!MuoD5$`+|y3l!D@9JV2K&b9>5X4Ra<{NQWw|#Qc`j@J3K~xs4y3(kkdTS%s_!$Jk+njS0qjqdknQkakLa;wj~6 z1P|MuI40pp;5UEYuqU+K`A%N&%r&Y;H1Wkm)s6fb-8=eR)SReP5z!I9A)7+fg~tRl zg#P=o>g(w*2fnWKpA7^;-w@>yWS+-;yBUbp{ zkPqh*ubex2Yx2moYBjN!XE;(i56Sx0T8quAV8$M!q_IhxtL21A=JS8?+u_ufhv;@& z^w%tLT+6IJ)p98}MCI@_^IG6su&brmUs>HqZRfT3!Lw_VowhOh>c{OX*7eYZV1Kol zI1;hc7i|>LhuJ##I?ujMrqM2RDwOCy5*SA1D~DD~FH4;-H&3O-P?xylne6T1yY4$> zY&KHs{k3bJ%f>9dl9tJ88vaRXCSdF}7f7ad@UZ`D@OonUV3+VVYh&oNxg@YSRMh-xWev3rA2xefX^d)yyLvl3bSpR& zy=_k@6h9((%%3ehAXp@EQT#+RUHFw}tKoRkdxnS)tPcFE6xM#%!eom1tkc$m(9ZCy zxU2Eq;;SVbum;-iU~!q~5?Lyqh}62S*YzfNI{IFCtC9btL3($!J8IZWYxWH957qZv zGOESgi(U{>J))fcliu3=$E=jNK5zDopsV?D_upDx=r1s<(RV>BR51H)pqGm)p+fa5%5$F77tDTS|{#_e`p|6;-bV-!DGSNWLce!R>q=aza;D8 ztKdt^>RndfGVigNbJ0s8M)?|Qoz((XM{|k2#G351l>b^a8=1FY8x+&(!K+}S5bAMW4%+nzVL+b<6xCgYSwMPr5~bGXnd$;cujb8;8>t= zLd}HHpK9elx5A?58LK1zj;iJ@>zk}r(F#!m7-uH8cKdS$3MDj6 zI1pGJDD7CRFn%Yi!_-!5`L%d5>;&I4Z>gA6(J8!-jRqp#8Kvb?KYDj#QPcD^>Qkk( z`kg2$<}0g>@GZXF7B!_h(z<5m&}yi)S%aJ>3))xItfGi_j`4$XL<(zP_>^_VY#H7YDoAd0 z+NkbXEQYJ|!yC+7RtMR^sUcKL$m(PY2Uy9>qW-2;6D`%gYMlBHHU2W$bB(5xSw&)b`j9l_FMG$7kAhw$RTe@lQEv9P`Z8(-<`(@>D2OF!D`QZ@r$OP*1rO z-6X~rl_lygx~sBKpM5WmDOPx3C_eBkF+<|Nae4e&!s*b(z!v+EnZhWh_4S5~yq>Z~ zS8av*IFu_i63$mZw4k2<&Y4dST}dj`6SbcD2k%i|QC3I>1-}hFv2w{#{^fy@arNUP zsE0k&8X5QOw9bLhy6^?_BxC!a@o%GV;YdCcEY-IAT~WQe$}zSm!ATa9?FoUvY1ps6a2d#X6_HqC!<&PB8w{9Q}@#*RsN^oVGH*T3-0+ zME!v-mPvs&f%9LrxZ5z{v|I-6Z4OJ{x1V zzR$bT`;%T)pGLpK3sF$rpjFgWb)dSFPKG$Wq0z(p*_%rrs;{7mnU^k&-sGO{v*tJK z`NXhYWa)9TB|RG+kB=HbReb?{K}Y`zc0 zhHr(sg*#KjFR#VuEp@LE@}-QN7MV4=sBy=Wm6g?vPGeD6&7(J#taBv(=RXwuJ)BwB zJx#Q1#&j!W{}VhOsvD>htY)ROb87vxA!-dZud`2fqVlBq>UifFjrCo09%|ZQ(OSt! zRsM~cL+o)@Yctf>bil;fIqg$cS*yPF8P@kYypSwqGQ6sBI9Ir2;=_aziPsY5hiivZ zs|&>qV%P>MI2(yLmyJxuQROiImrQ@>DEa1X>dkx9a%!Sylc#_5(C9PX_ue}q6Sc9S zTCCn(k1<*sU3@Qnl_CyCOww=Y_30xRVPCgPP~Wd*_a`gvV?TheSF=yq-eAw5G+SF$ z=gI8OsDuiBfnnf1;*s@s3tHJz-ouhqf)GjPwpDx5pK3r;?Wtf;)V zn|Dc6$>_75j@}Y_P%jnHB(jt-(No`=WUF?2nbBFOB(rD9_Vx`K$$EG>YlWRY+|BG~ z9< zkHe*`pF(Tx&*6T-(}@j&!xC>QkzmdW`;Iv;bkf;I-8`3^Y~2pOw8on4%ueC1{=JEZ z6B{M&437=3laJ&$Ix7l=%+Tb(>|hgfopp(o!gtmv*1L0xDYBj7312i{+S6D8Xs6a= zoU1~2!UMt+%@gpP+j26wTpF#Er;{gVMC%Au^Q%{^?$&;@j=7YY>QQA0uJhQcnT2u0;C3;2UYUJXm{t?w9mwA`?=4l6Yo|hMUL8{{3 zC|_1@oHu#Irijhtp;PHpxfJm<;-+tzuMYL`cE%EYjwjxjtzHxN>525PPBK7SuO{gA z^gj9#Ee)ERLLId!x$$_bn>9W(EY#gxVcs?CSc~mCvNN@^zwA{qnbSl`#=WDw+k8Vr zHtkokzQIm6F<9xPZa2ny=X;w(T+ligO~o6vqjOkECQ~@)sfz6tHQ;cS^vY^2bv5hQ zKe4(~S39g4MqNFto?VMJg5=4yRh|vu=>*kTVV}3^g#QeswQic<*tP7}p+ezh0bkII z4g0OCva5OBx*sZHel&aAzsStWduzC?Mjfv-dFxZ>ppug+??`K%HQyd=?`FMdIh`^! zsaR&TdYhR;t%Hlq>*1Hw?%%SCu+x>lx32fNZzfT0M#KisQcr6wyEfA3Y{YtVdjC>q zs})SeY#b^T8clD=d~)#^{f%}{zpX#^=JfqxoHz1QYjAV=BD@l)_U4iSJ2ia~{ooOI z?JiXRx7sVH0Gy;=SPX_bMc%hp^M6VBSt*{Q#)%))y~wee)6S}5bq!?-bq?9VURDPy zyH(0M99$VJ5qRxi7g`wlfpzE&;SnJG*w6#&W<&HEdP#T(o@SS$D)xackZew8DeQ7q z9=kQG4LPk1tiCm&-r={_Sak6M4vzn-Js;=cPLmpa_;YIn9uTHlx%&8n=2rg09^k@1Dzi6^XGouPmA ztTRb3tsnE&_ZHH6sGI4pKE=w=2sz8nZJ#$civ~(HEvFi$;=a++%^g-I^H(LxsV%Nk zdz4l!XRZA~;R$P5!Y&jZ6|5RKl2|AFF<8vLVU7wpfo*{j{#oJXp+RQ5Fi+vhuilrQ z$6njxRlAGa^q&=GHEWDaB}b?&)pPngU8fd*5S(mIhvRAFQdQ|K<~X;M(ITt1KpSf$ zh(zs_a!DN`)@UP@m+AmmT1cs`d9=pHz=+FHT12U+^df~O!;h__=30ALD4%&HT+phc zOcn#2RZ227pVq`sJ+sy4>Ns&qq|&SCx#<(zFJt9FEuij$70=MeYx$Jx(nlnm7y2pq zFmYu<=fvCzdiZMalzeXQrUI448el#RcMiKN#YL%C4Pp&u67ixrwseNo%wc*ny_K3t z{gD-fZ_S6WqtBrd);+VKd}dEqtE$3t%UEtqHMU~&wjqs`{2xCX>4~pGHQzL|S-MOq zFHqZROds|ZIZalz9V^P*89o;NHQduy>>~D`pmxYw19JT2i}GFf{OrldI(~gtIX@*{ zPdt=3EU`PiSpD^0`beXLF_(U-4e;GA8hdC zr%qW`9j&(3_vovXJ4$D(r8O=zIP^O3Ij}3ZI`}@cBGi!8(KQjBBc^(adbV4U)^77l zc&K&5Tws0-U!(u8f>ufGLiPJ^%~V%v57a5n9@(6pk<34K!^|a&kZQW2$sikEyS&{#kuRT2>PpEy* zqMz`s-j`hYttT$BbL25^R_|lh0S;i%_4Uizajl5f)_c>l+*ia`mX5OztlQaiUY4g$ zUOXHb4usx?CbL$nvEq229<18*NamHboa>^#R?eqJW*58EV~KeKH3IL0AHv724#Cvn zCjP$z`Kc}@D(SJFiQ0a1EtQNF_7GLq+VJeg5iy90^JeX=Rn`6_cp$jKI$-_A+CdfU zrAY8y;QNHW@#nw(_vJ4C!^F_&`%$xuwt6vVyY15siC9l|W2Se#=b$m0s>LfYLhnJB z=p40~@k!qm`9ov`^^vix2Rx-SY>*|ba{lA~|H6fc1chviO5-2V2V>0WuQ6rluHLS_ z(JCfikh~LX_*v=2Sgy4sJ4mK=il`Z}CH;f+9g?3&UMe^@_-~vqzH;22xP9^S68zdD z{@cbsBUC$;eT4dSqMBK2Vb!sIqMz#s74asaxxs<9uwU}5St09NtFqnLo=%+H=YQ`X zXH@q5?2Gg5@Nf5joA@lDHWkz4dXzrGC}mvsncl9{cm76yby>wM5DtgBCuT})jQ>XQ zM4x3|F}rz&cs@nOMV4pnaxpCEDfQ*oRx*2~nnfGJ`o=-lsPofRR+vh2gM^2P39nwi z_Iw=l@rKezq>B6if9hqt4p$7vhTjKYdfpp*ViS}98M`<6yNIX0sYJkhp+&)>b}_qF zXi2C}V0NH$pl)Ep`}Xfke~J2Xz`Nb+_y+jm#cbtg-xE(sZ$(dQ&%Z|hsN0cM@Z?^> zn}HIMvm?7i=Zr~dPBHUf!#nMuy_#A?%fwBI`~AQ8SCP}D*5_zbqKv5Tv<38qWKmW{ z<%ufdUFRua%{EW6x>U)V()-C8WL>rk*sZ*8JOv~CJ}Ncx;^&5+M|~Rl$qY>m|4H@{ zV1=)f(utL!wd!elEZT;rn5O*bY}WSZ8}&boJ4RE_aJ`>C-)LYIk4zcami2+v3B40y zKi~hf?#s+C9jql*Gvla{1`MBXZZb=UnuJ~j{|ny3&QFq;v}Y}4vK?cG!n4DE^MF~A zbvBz0>`&GcYkN?H4uxumi)%Nvj*$l=>&8rvX%PD`Hh=V~Xg>_Th`+wSVYp*>wC}5L zU38_GGTzbNt;Q|m2Yk6WUFI##$!5RLg+KTB^yOn+^FsJ9Eu=p1Mti%(jEY_zb1-@| z^4LY!!5p57nMyC~5IwAgjCsaURD_ai+Q!&!wdV9&Mg1*-%lJfLpqFvt`gY%CAiC0YHf#Tw0ax@y*k4~9=AzD`^c zJRa0pIlW3RO=E4HR*1gYC#_JJ}m!hjE+UuD|KI+H1$!OT!C77pd2+v@CNP zJ$(_LDxUr7do^dUWUx*AKk+N#D#hpdy6x-HgqsO9dFsl~dUDQW^J0FB^~H|T-l!Q9 zevTLZaf$7$jjYNBt(sJJqR2Yd2Csx3TJ>adZJ9pV+Hc3l|C#V8&J*7()GqYcNbYG6 zJ2rN6$|))PC2N!{!JF4NORcG0FppWo{Y3(+!}-hzo?%KSR*FAZll~OA8z}2PooLx3 z?S6)%+c4t~5r-o3`*Qh?YmxeBMG-sf+On|~VOI_(gck+lgWK#Qc17cvUN?GP)X3OB zlh5$A_I_u7HJ=A}2O1>iNm%K>nplZ7(}7;<*mQ4J4ZjGDCHKs2oi+ysHv7-`yCjyf z28H{`xmJ*VsA8Vx`cQSUlGbVwJ{9^UI5~7AxF<9)^wivEW?)^pqVb)Pm-^-lBemxz zvy8beE_2-8V6I>?`iYLxk1^a=g39nrUn9B!8q#+@6{g)LI5KoJeoI1B!r6p5W>;&Y z??gnp*oYLdAHK;5wwT%@hKK&@=owVxBa+Xn^)F4{e$L!8MRXd5uh z#PE50f<2V}qYLo!WO_mEk~3Z&R%$qTjHB9f?_JM!V+UP+|o-YE~bf zM5(SOsA=fddSn)|M$m6ys-rcZXS%0`vCycfx4`#1iL+L1djYJrDo=FkM8f=9qIOZe zpp~P~@=5SZXcl#xy1_5OQC5__K&ztP@s9ERX1q1F3Mr~-JG3#LZ@k;pKeQL&J?3D4 zxxk0S+y0z(DS5~E=*gmMhDTdOB_&?FYbLYaU^jL30(vXf^G>OC)S*$aQGGmVJX2Yp z|E%6od#L@@T5!1OVm;4&c~uX*YoBFWQ^V834}!ab$E{)3HhO2$@xMTgqCYH;UO{`{ zd0>3@`aP9JW#wn9p4q_unI4%`)>bmcJf0!O64tiYn;vs*C{L&nwWjt~5i70pN?x|6 zTfa~XxkQg-9`dHj^sQR-D@~=3rH(M@5GX3jc~g6{|bQ1c! zQ+yeDCT(A6L%2<-X82X;QTVp{PHS$Y^Q`3gn8#LXyB0mU+j*+75bNl#;dBM)f+^$q zY7{q4>rK@6Vgog#JZdZPmZzjfSpS%*WH)<1z1uNLDthI+%i;O}Z7sFq-aPB_HZa6r zFgz}}UF!BO%`ZkrU5$u|sO_DoOp~dsl;N(ynf@boHEW2cnDHm;I7OY)_Grg3N@)tbVmL|XIU*#g#2N?Iouj5I;p1q(s-e*(|z=zdeDDadK|98Jp0p+_?Oy` zvidbKTx&s9qsgnDeN{!4QL zmHiSJh*Wj7qN#PD;xDd_)t0D*kfBiu--YD?VgF2Tub&5ZKq}@!ZJ=>f2i*gQSsy1J z5jx3|^a;+9J#g>d#WrFIzz}!G24YRoUg%z!`ELTAO_yy-mXt01r4Ch#pa<$lH=%!0 zyD1xfADaeVi}#>WCIN+T5`6|wf(>Y8H`W1lq2IK5dTa3~+?VyGzx0RtUhuaLLv|uG zX2re%P2hy5M8dz}4X~0}u69f7tR}0Q2}|Ph@K-oP z*gzv-u?EnmLRJ?vdB1=l{m=U}Pp=q^k<;W2LM3ss6e$nVMg1DE(g{Q&QHy#;mVg=T zI^q#<2U$cbG7>7x+IT!=A{&!K2`e(vP%e00zYlYdEl_Wx(8FB=k6$z}s-l{q9tSt{ zP)tKxA%~&ky=jQVx}w#50rZ*uy%hFkBKWNC`S4aP+ZFc=M-kh(N^nql>+4@{0t(Y4)3Q-S6Tz3 z{E~Lk0kRS$!{1g0&i75gZ@)I|M*Id0&5||cfBxA4Ay7{IBbS8fNOhpH$A+$I1N0W~ z@7@bFF`UP3Fx@LprC{x#$48J;Fc+->Okh9A0Jwv7!8>6R))ZzAZQ+@9fK#CY@EVyg z87@N(B>zi~SCu=;S>V9G0q+x!8qsFpq{#qgrYYz&Hhed>n@*ugx&yTc-H6l)#RJjz zS(8C0G9neh7ke4}HYb7SSfk&EzIQpCovY#bSRkPiI7)*5dA=9Gb90|+OZ^7zPK9&5 z88FcA^_F^XEnjV{XK7=AmU{s|w<7R6Wq$(TM?PXcD?HZ}my$5!KCfO*)By~3WsUHS^@n|(mho&x44 z3z8wuLq(Sc^^yX2#WY~a{=$diDF}-^f_r+89@K7tw_q_$Tvp&DejaUz{sZoE4O~c3 z$RNWuRDp@(aByGr0H*(pK0+EN&QLnaM?$NCieQ4-pdAgt*JD?}KRN_vtdYU#`bY$3 zgE0FT1$D+Z@I9?jvy`36XSuz)N6800_P4%3Z>oM$$}9Ke`%q`MBbpNRvHxLKsLK~) zXE6kx%_(vV`5&c+B7u6o0_fezK%Ddi%Kx+`Xg`r2=oPXbRf)-GCgZWhZg}pBfDP`X z^i(FuOXTW6Tg``O;=i=VYsfcXms_9%z`HTafFr%}AGnp7!t5pAk{^N1t`6r|1NgjW z1HJQ7f1pcnHk1Y(uNJs6Ch2`({&)&;fj%K=S3#k0z}(xRmjbs}P2^utP~Qc+L*;Q6 zt&4hr03HhDM!n!(JuCRX;Bw&Jm#DIGP0p9DY0uQ!Fk?LcwAKXRL9fHJ%8Rx6zB?2eI7*OIU*a^;GbLyo7{?-na|P#AoAMfc1%l@9r7AXC~|}nhLb? zPMCNhtR?8TwcbjK5>SFlZ^(vO1ow*}xJ$nQZns)+ zFMkfE2R{O(PzEUU6|e>18E7$0z$efK=2v5ZIhq2l;J*4rO#wI4HsF?C0-?MJ_#XpI zs@}lgFX|)p^FZaEhW@P>q2ph`sWt~F>ZZ1e)U19bVvKsYaiGkul3Ma~7b zG!A@_Ky=MTlF*946}Eu+WKZm0Y&yJW+t31Z3Q(QXf$yyX zoW*SUnw+85g1ONvWC>B8oXo_qKdJWgN${Z>^fI~tsTys701m^T&V`Bk8ek`nf%|wj zyz7bj3B4mQsD0t9uA!7x)@gIKfA#x%4t!0W!L#-fW_;(+1!y&bBaUI8u~np#d_>iy zYXd9EC>50!@EjgOQLF**0w1x`cmh-dR>>pol~>3r)KTBTJ7NPSEgtd!80Z@f=pb|x zUWS;3lt51a*}XHE6+~19CU6Ek^=Q9o;4zrMUcuDXaA>e?H(EkD= zHCZj8&Qe%#gEa@;ZxQI}OV!HiKycvp(i8O*^^3AxjZvrQZml+upQC^rEw0Z8%_uW? z8JODLB!`T0R4~%2P-ea4t2+A7Y#F&ENnn1m|=({N4s= z8XAV(!J42>v_E)EoN#BRz%+0a@LO)so#sP$LfK%X}ZT?O^8L2wcd`I zRqeUFM&77&RnE$rYJ4uxxF{L87p8o=lwhr_@9e{0Hj!(x0tKBxqvdGetEJNM^N91R*i8#dnhmQlj zJPLSC7H)#)q(l}3BSMFyFVc%(Oz0Hs;z$E_W)IYSfBnCMOjJLBHdUJG%p5hl&1+0K zrU!IoW(@tDu1by}J1Vo3dV%(V5$YUp=b6-&;GmgcY;An0-ce0_RX!G-jh2HO?=|kMOR1 zd%jg*THq-B3`eEf1uuIs%%qofK0teAmo3UBlqBxmk0;Z6swPU37L3q zNw>Tv50gId)E@#(>J0ge917?8cyus0;CF(L_9J+O-hfxmJ2_NwC0br)nVU}A$3=g!{FV>fx8|HpgSTN-9U#qfss9^@drS834cryK4=t)j@Kl{kMLe`$9^H!r8lEd7ou zAU+UAraaTzG~F~3-qRG{XYUlK>59OIcw4$9T_Q3G4_S=Lm$T$3%>=6N^x$q)Qb+1J z`bOo0(j7R{-|*`?;IS+LlZxrUXiwAE>XWc7Fij7lhxG$G4QJ{i@)h~7Susyy_An99 zm8U~)3PI(P-?3}haqu}b#4F&Rp&LjJN_u@QsMdp8>J!=tYYU#4Hhd5MoHSlCqW6#^ zptKI#^* z?ikFTU`C`|;qUQ316Kk~^m_V3TBnVczbrwrGu0l_4-!CYYLDJS?f3!wGu-=!m3K;k zbXW57Px+csH;Dv)VHKgdP*O5TDA3#|;I3Yz{m}-ISIHIRV$e$aq8Zd^>H@YLy9a#n zKi~mb4&3mQz`DQ@nB}ZBhKwhG<4MvMYipF5N)_RKpb{t^7M#Kh5i^;ZEW}&tHoV#0SBheHc2zaJC`4pSi$%1b4ziF-Lr8h(k)54wx`g zcT)yPDC;tp@FXx3ELlBd!opsJjxu*Et9H@rEj^whrJh zkDM1MD<{YoVZMXH-*Ev>`91J6kH9?WQFWX8-|n0aXgzea+8EAK3-X3MPu2tv%qHdx zbAY?U9RQu~CgjlVfNZOB!MZ^~OVZCl&Qm(*C&fUY-bOqn4jF0gy`d%YL+m5rkT8;h zFT*dA3fT`B#E4+eU~}Nhhk+g(1+~RAahmuI?%{BiQ=Q-!e@`4IUPA@#gIe|^=n+*= z2UIE3fo&Qa(!m>Y1hO4OwNCKkrZ*=~7@^-~*%%97k89x8ZYI4&UiE zcs9}%MM;F-E{dE+)+O(dL&2lnLOd-N7iWpf!DEbq`>X=K9dE(@%bK_r98Z;}UjQ>V z9PZ{4;B9#Zp5tWr-jX40s2bdVI_|2?J{UlcF=`);N|h! z*kv>b=hStzB}}JYUFkRxeOD`ctrftiVuFKXMh zo1mu+6$S`tz^})E7J3DAf}_Fh!C#b_=CQJPdwHS!QX=JrkTUQ~sjCLT3!DYq>0iJS zb_FfI7jhffua(p5f`4E*6V0v!?_oL6FH2zOutP*&axu{wsPL2ISgaIIL#?|UwruP{ zN<)`10b53up;wX=)eAd}(bRlOCl-;D!67>VG@Y7I6ZU~Vsxf#s=EB$f3(|9ZS~^TA z%WE@$3i*m3!B;@m)LUtwbW825Rz>tk#HFp zugy#>^Az;35#X4sh-@%SgOt8IQ0YeovvmxTSUUaZt%5ysJba!{K{H&eZ`BX^H~XJ~ z3T^@w^#NpbY#`s01L!mKH2sPGN9rICfx7U&G@C-hL?n;s4gbnVaw{aEIDpOC4e!-J z`6zrEOXWqNv9tt_4Gx-WAJCxcf=_rg#gZx^c12Ik%DEwGk3r+9F(IP;G2zu^rD~IQE*SDX=n8LI-z`( z32l}706d}Hu;y4LU{<;U$94}}hW)o~;x+u)`_xnF4Rw zp7IQy>0i*nZb7HP37m?SBjd>PxD#Ir{c2_Kpw-k!?Jk_&8{oa!pzqf2iqFIc$^)gs zf3?;2wN1z{(Tp*3-0AKUjw9B*;7y}upi9Xjf?WV#jHqeTJ;DBjb74;MH8R-bMBd3+r zWBoome9#Qk_8{Q4+WjBW`Y*x|r1Xh7LneD858rN_`c%Xj9rZcaRk4|&*!`4qPe}rXF~PRN4PDU z2mi~JECBuTGt@pc!F4=X#^f+DN_?ljQa2j!7B?yMs)>#Am4V=OK0mHyk_b{KLe276PzWudEN83&y~$1=6ev&@UhE~E=x zg#IQ@5=o$!>;>p7v#pylt0M>+#}t7Ns?+?_F5W*rH3V$PMKzLU${c4qFnI1)1S3`Q~y2s z7&Agm0WEy5cvYVT=QSS;Q5O0YoD-)&l{^PbOFd5`&)vfG!acyd_|d^w0=J%<%$?+- za1}$yY$6p>Eoz7(#a_}}X`ye7?}LA>e;GBNY7*8zth#NAZ5HVJ8GIK1!#TlO&r{$g zK-Zpa?QiYGmE!KQ$JuW%zyGY9QEmu%!Ve`!@cH?)0@WnmAl{o=lf+gFAT3Op7Yfzh^?N{n5BQPAB03Q0` zZ?@s4D=Oyob?;?4%+#JrKWAYifi5M?Vg*qb-{fIt; zne+}wfBULk(X71g^EwwhC(2c13)Cu8uuE7IcqZR6H<*xgSSl?al9mXygz{d^GXd|2 z3*aRxucvE&fX|*O+!j9NS1z~?-mg3VC1ohzm5#v4T*vR?K3g4oZZRzGpyfI3uqMc zd>CKX<#ffsjC2z^0xL#+qV8aW@D@^&>dp%Qk?z3`JZeCC}zpk^2!;G~+zj9N!m3TOwB(w_f z`AGg?-#za&b`Lw2-b-(j|CP^c?X^e1wAbKja`u$*DUae?CREbL>(w149Am_>VmoRW z)tvfB%_9d>a23EFcF&l;LF*Awq;0U1zz_42_=<}K#>5o;s*As3Mk;CnA`v~cS{ zIqL*7(U)*rjzGqv&kgs$-EtHN_&@k!(Bfyo^oIq#e;GXQMyRK!z`gef*v%b~8CDXl z2-Uw6nV==>bwL+-$`9c;dRWgOND}H6F(kZhShl?}TZ%>XA=(eO?rQ9*?Y8o~_Zg6i zIoy3CZy9B-W?5~TVo5W-0HQ|<*3ut>FXU4G%e>p!e`VG6HuR|CTyZ9`2*=Djxi>J2 zZEc@zt8Xr6dJgY;Z8cLljgCg$P^pfGJb_N;>*ihD32s1nP)49&p0Uu}(z1;1!Zal-Ql+@Z+*bM{ z{R(C`=cU#1Sv3sqvp0}RFxIdTD}`;9PK)1#)54&L@)2y(io~a;Ev66fhV_-Q#R1L} zPE9N=#X_=PT`U=E%a!9I*?tVIrKon%Bp8Fuft5X~U6vxHkPvsm0C&mF%B@cfWH5Nr;?|ux0bhr+D!e%r}GURZyXfV zHJ@!OZN($nho5A}uqR;tImExwztwf$y(e%|$b&TY4Oj%e9mun$P{W?#`k5NTOlgeQ z=F3tzbu#yY^V_$C?GCRKQIXAI_d;Tui;Sjj(zTgZptjxTEBTvyk9ya8LY_UK>DjDZ zEvH~E{!J_^R)W4?1T8B9p9apAAU+ZFtyg@$uPUUCdGO14MSX_08M2y!bW3_AyOL3X zA#4tLLz0jt>~g+!KKEz(=jgrlui`DyD5MA4si+zYHR4HT9n%Yo#T@Y8_d(rog2`s~ zGZdSoEK>YM3mvPxslI;j{B;T=!bipRkMGP~qzGW83F$a87ahl3qGlVW21km`gk=IBm=YK$OjRB$SCCJkA;DML zFZHUD4>isI*zT;!G?^>UEFe>Z>B{&(zHbmvr4@{~xKhB!R@KL=k>K1Pt2LBqb*v&% z+u3w_3Nu`JD(&$UxDZdivjxm|n&S1T`rI*-616dEOziiVZQNty7-AOr-IQTnXbTU^ z1P|k6@s?ka0%8+&8>qiEpbxr=w^lo;$(~oPegTiK8Bz}W#MQOew~Vo$M!q67wI1MM zxeJtXTkHu;A6A8)!Tg2*{{6bP6c`TzTLLQ2B&s)ZBKXCf?EL25>bxfQ7J`BU&gc2a zaqXM3m3O#j>3>NU){HkskDz1J?%;W8hP(vNWj)_R-xBSVxEW8yeuUzXebhp13RK*E zl)dUr@cQOpr5FQLX8rUtqNW~~+66u8g5V}06%^4Ict>k8O6TUgY z`tljFf|X_Ku(0(=?H2M9ZR`*&6yD1|hdyTR4)xtj(d^yt9_$YAY5r`zX>g&fNAyAS zCtJYhbKP*KId=!|Yk%ttRn4{0``c-Eox&F)6RnqRx%3CNyk&tU-S#znA!P5}5$}3C ziaq%XzF6-s$Q$d2Ud3y9V!U?mdKYFm9qg*!mpkfpsHS7!X1GNuu z68jCQY-4IsaIx4=KPOtSQABCOc5;9LTxv=WeYAgycY@&&aGAZyXh<*eD5KQNaxdjt z0ko~&bM6`31GCC(GIoMqNYQ*+I5q?oxU1$p_5+cl%ue%U`VF~M+pb26nD~(_WNU{Z zF(lEQ=qD`oRS$)f_An)h5%*{?N2VHK?a)K~9M@O>W%p0RG<_8IhCHNO@H9xnieP5q z)5uxaaC#fv)zZzL31sv(Z-gga-6zyF4Ai7hCivn6x^n27AySOxd#W46(`rL-1T_mG z#s?M?rDO@_c7OCzO>jl{$g@L@{N?f)Hj&H9i&XAlO}Wg)%eOK|1Pmm zogC=?z2wIpf5I})y7L2tMxO<<@TM@|+rr6IF~iX6BWo@!KdJg-+t;W8Vkc>Jdg~9h z{w)8t6Mar}jDDTCD@=@Z)2Z~q@TI1+aoJIa!w<(jLq4QMeySCRQ>cm~I_(L#b0p$_(cwe}}}Mchw%YD$l8ZthKfz;+v|C^;fw9Ho1>EbfJ# zOFsoC(0u-Z%slXRebe&fncPU@4ydG383&db zG-};cOK=C#i74kk@1L19Ja0cY#N03CLdkQ+ZdL>3#$Sn1{^-p8nKeBJeB0$LP|GW^ zr^9bXh8emAzZ6nMWw^(tKM@n+i>p2&Tqzwa<{uT9QLxE%DYSqb#k{xug$R@vt%926 zVZt7DyEfH$**Z&)pk_$jf^p;#tdX```Kp;h2dGi(c0N&B=icL~gOv+T5f=H|IBvR6 z>LTKkR;nfZx7`PfRk0PZyQ3>sxLR3mHn0_0J+2nPog~9upEIlH*nZ#h_2IYs`uUWs zF28PPZT;HLW63>gF673PK3?{DOwD5d(}yXh!nZ$rJ0AS$Zs3E z?FN6**(WE(^S65`vKN+j&Y^1v?|oMOQqd`2PdDQn?Eb8zXcOfH(q#We?`in?>2UV_ zbhq~2)9UItU&(jJvDLxR_2}QG;?@LuoiUaB$}J5v@*n@$`NNX$*S?pK2L@jlZjzb6 z+uI?%q$M_um}9JJX>4sA)fDT%a_DQk1-^jlf_h*+OL%I*GB%rPDT#5%!+6j-iwl8?3c)fVrLJZ>5E|LH_UGRebTT%E7V7RpP$o7gC&fAvWeGU?W0~ zVy$AvlsaB!N_@wX$(H9~{qaS3DNsb>K&PpT_a*0xmy}Pr9dn-i*!XqU*O6b#<;4`O zQRg9#gHM28`K)~o%E}D+gIot_*_Or)wkym;^JZc+F_Aot-!@IP7R1jeKGN=wXw7%= z`5ifVpL`bgTCH#J1GR?`N^3bXQ^T8mHv?SSS$R|k8m+5TOI ziJ_%YSL67E_>!|NLv5Gzd|`&r-*HnMBpgGn%zSD$7bzpkE$89C`cQlwFN54h&43xss7EM{TiqGuw?)MzHAvZ6>_*bf$h26IOr&UOjb9Dzlo5;wsl))94m%ot z1C0nR$)bL>|MU5KiGrS49#^XKE&c)BVNGW?lS>W7!ZOWT*@V(eso7FZmC-?J;zbB%G~ z6=P2#jgifKT4DR#9^bxsyA|GvX%`oW-%}zt>7SC9 z``C+GhD1w@{6x*hItP!Ud&#oIp~B33NyruF)R@#@L4}@m+{HpkM-z;3lZh{e8`!_7 z#MH2gx}PZJFDK*_uFdc2KZ{c#q zT`n145pCE!u4Y^!eHzL8&icX{tkd1M3n2s;COs03T7qdqe zJo-N8b2ZiOWt0>8gU}zUh*NB{)b}C5@9@~gG6UNhpG4^cJ#9FH$!EJ99x#_NF7$NEv&(xOE%DdtL~mPn zDSnE}^QN`T_!>hLLylgK}Hv3|ExR5`E3yJc&bgnYL3WXqSFk*2K=z zZL*)~dHBMlnx@&2NA*L&K7sB2hWST}ZtJJWfl;T6KT!1Gt1N5A=^rh>&UG#1Q{(EC zq3wMW{*~8*_qqT&*_W=_R1fBPOsC}5T<7pit*$cH^&^V`a{NU?pOlP*6QwB2+^`l7 zDyL+jn$bu75qKV~X{Z&KoqU=(X6&2M{zDmQlJg`zl^te19aT3OD@ov$5n282Su{$`ccK%EzmE<}0ryp?d;#_Atz%tIE@?%dA9G#@5_(0 zt%*s*9}^bd>THb%mGGFjm?OkB%OrDlbgp$*p)X*S+d@sxgd9_TiQgyC`o@(OEP5JvoJV`_1a9SC$!#J0 z@=OS>qLSrikUW&kFY~55v%R!Hns%}4@HVCbZ#8YBbJd^rImzEz7S<_XMZr@}Su2LC zBZHSiN0gsBqJ9qc!f%B&4Iju|V+J}_<@E|QEu4Z~2(_g5S^P2Y61JLk3lAnjf_p}k7wndxxb#BuBE<#CA z%H&7aiJyUv0!s3c9*pmsbT^??iMOuEoM}DMw&@ zeH{I=EkX@f1{=+!M>R^Q9q}&8Z<)w6BwmCX8h02|O4lpbHf&*Jx~H+nBuw;vmk#)Q z;S~0QDdNHd>!eC@vw$l5eC7F4zG56{iH|4|wcYrWUO@K)Z_FZL2!0SBkPug*QR&iE z-bGxF74S0peOUPO0{*X;yBo%v=7zltnEYYF8|NtXiXRj5{hdR<4Sj?psobCbKRaiv zde7wa|GpQz3?&GYIbU3&KXV)@k_%VoFHraC_n4d3KJ07zG;Aa7clLI+aE^5B2yG=& z*h7)aBfF+t#PW!PxztZz{@vgI7Cv8-B3BA(0Z5K9(E7o_09a*JOOp9cWkMVLn9MY7KVR_i6VAF`tp5#0d*Gr zVo!?HIs>jcheqg2;d2Qt|zk)nA7nP%B94wK)y2NtCB zjhzWXlDG=$!R|;cYLUa~eBzC8o%h%CjP}&@ty2~tS-u;>6DR7x6OD7tKe-&+23zwmBto{Vv}NP(vC6?3Y6rGH^^UxR|MX07R&vbC>Ynra zTVBza>}TNEoXAAcm8sR_k+5r4lqpMWWA3r(QP%jLVGkp(8Sk=B3|VSP<%w{F{?4@y zv&VfWSuP}W44e}ZJ+XoPt{i8Sqi11@qG=hQza7bF_Wro@)}O_$Q$;u>R!h z`kNOG&Kk(CFN{(pg^3)MtfZW*7H)qMvxhv6CgZz8rHI+gWJa~UK>8DBJ^hPpj%I%j zdtT=YfvW;!iPJ~rtYG!5Ek9}(4gEo=B?6m~L2T9Vmx<3UnPHQq{r;k0Yq`2bv!=zQ zmGC9F%Uap##*a!{AHv2WZOr#9H>vlwHl}rU(lARrpH=Vun{4#UMJX#VkLb&GA@4Kw z)IGvq$ZMfdT-B(nB`#F#ln`5KUQ|)SUIN^R!6>1Lb+7e#%;pjq;XRTVs(?M{IG^`3 zXV~}VfvHYIV1j7pE6BG!|2kX$@_m?^ANHpm*^qG?nFt@Tk=v}?R=&E%IbLfYwTp1( zHMV8PyUm%!_M3W!y~ln5Es{ugF+Q=|{T}7LUpOG>20A)P@fG&U-Y&LuuQ2~%7sf7% z@0QfPRKM`}s8n_^b;YuSBkkA2#zppsZI$>m*&IDIhQnV%#zA`xXHG$4P+!9ekJB+Q zo6JbfeepBjSKZr4$PicZAH2yzZSQGMJy)H;TB!y1IBZ`;=lHa+u;`WCTW$lSE4@Zl zx{W0@t^->q;s>}*zPiWez4}%D+xG1JId21FwCaH=N|u8z8s_etf7j!6loNPhUI}85 zbC7pi zVZISDKXQBWTRM~b;63KNFK_oRW*ZyJaj(Ma;MKTBo>Q(ZKhxi)WH~=P;FCNFp-JRQ z>^zgBzL4YGXY=}kn|1+pg*l7|O!W!e{GND8?m+r$r?@b#V${c!(-GrJequ1|A@`+% zrP&X@9fR*|yHs0Q6=JpzQNA7C zHb#wXmokMOZRe0=bfBE-Zxf2vI$6HkKC_c8lVJzt5$%icUd;}0^iFb^<$pFmYz6D< zc#-||xB8*OZ|!rA)J3w#mQE@k`#7-;y@)bW6|rXQTH^>?^_Xd~Yg00Zibfu{ zjEyRZm7*NJGM)`Wme++YAdX<$%>p^vHjk=q1R_J*Ag9VBrHyhkUiWtr;zd%-@=tW9 z6h`pF-QZRXZBq+Fl>?F^8~g_C zfxp1=jj0}GiQN-^JiaCM$2d-`?<*%Cb{{sxYD367OlwPO#7CyQ$s@m!x+@m~t%+W! zjW)9vLVqJ=JW-As4r9)NP;0f3^`$MvHY;+8nXuDnmSLlKi*JsNG2Aiju-xN**j5_b zndTwR;5#K>{zj%4tC`D3Boi2OGLY@7pL^r?>4J{=GCG%jW7!c?pUO4Y0S0BLkmhyz z3w^~x9k9h{JhM8uH#A8mXwp4$bFtxGwHx03a zzd@Z}c=}Jet5RNL<%U)RdCqh+mNcKC*5-Cn9_a^d;k zNswll!mSQpO*ITl26x?9X`=Ihvv*!9KQS;)O4i2cpTSpu-C|>7OlgoZ{}lYW^Uxm5 z05t)xqTAKFQkwIgFq!{|)iF+`Oy*1EIifAImY4vUStt2+-aD9}r%(?euQVN9LPe9) zh{wTx_*!hJS&uZ(s3{H-|2|;5)aU9M;J;6x*Vq=^8}cE(0J)8?HYJ7?FuTk;nN9F8bvB-#LR6F&@-*vY1G<_yDoDOSw$3`ojF5t2@jcyrRSbRP+8Y+cF*d3%kQrFi? z;fb0|53WA_QJtzK6P>svG|i!gdZ7gKO8a)Qg=MW1b1d^8%dHfc>)h$_>ASzNK&wKNEauHgYbiq-_a?2S2LogRiJ^ z$UUle_%iECWM`?(Eov@EsW6~b_qcD~arYE60^f6fpbtYEp z^IShNqYIwo;OIR(A6#UQjCHvmG0$U5p<(DL#Hsxq5pAnUI@vu??@WsyUM$sE4M_W` zXg+r^{A_R+$q`S8CR`y?U5Yrjkk{p_nF^ER!3ely}13BV1Omhs@~jT6e^XcaC{eOfj!F8Nu_l z8PwGWhEIfz{Dx1oq#0p&;kIVZ|D%ZI_?ZE_znfI3#}G8r&P%!?3i@Tw^i|^f7w&Uz z64nL?3NqTHds;;dVK2u$NGu2|8Fky561~!VDtsBA>ND|a&UvtFG+tYX{Geit` zasKFn26>(G9b!Fy70=wF$wEEhmJ+M)^3?X!z^5T%*v^PY>>^v&hz>D_BW8!A`clXX zn-YpMLLx2xE~FS~<6$<5o23TiE_g@1IzCHl=WpqbQ49P}{QZiGXU|EmCKq@wnrUbNk%LsoXG&B<4ywFj{7G0Q!JG!e4Zcb?nTt z|9tyvM|uZgug|EJP)o_Xl?gB_ZUPCpy`B4t6wRd!gN+~U(c?rcdxn$A#&j}M-?%w) zf9!bch6ocIZPJW~jaG3@V20yDp%DoLKhgK;$wVRb5}Aqp<+XSgxwaIEfua6Ch1R0S z&I69^!Bd(~_3M8yg{c*5PAZIY2DgQ?9-#7>9*~ZylHJjx ze0%q!qSXAGo>qmYik@Zu>-d?I<7(;ng#s*h; z`+GM#D>+vMze$zQRa!m}U4Mc@kt^b?Ko?iF!UpdC?z#LLVF5VPA8_+5Rw9jiMAfkl zjj|WJA3iuL)#$fvB;!n9vG4rD-{_80cJX{xcZt%unjc8Iu3W&7U+{#I0_CX)kQKqG4z8y23- z?lL}tw4niVoxojwgPV1(FPQH==j`R`SNNl#L|%kkLNX9V#9ovnBpuRve5L)TTrFL^ zdR9G%A0TgWO{}wHn#5HK8ya4TYC%ncnNT{o3H~7)V>Ydc*v!2(pYk;MqMao%WjWL=sS`V=+*kN$nEKqoFt)fP}zo@0qz)QGp6`tW=xSxhJ?L=^hAp^g{ zY`2UKThDDapC<%rrj`>N7q}eA1zzwNm%)vv4Qwtuf_+U@$7c%$UqiRI@Vj$f{-nb5 zSu5R73ZA=nIZL_Exyu;(AbY8q%y^wdVzmc`422233RIPA2AiU0Y6-WW^Vt4GT#Y$l z+G&N|=_n0c+z4>){?GTy_1#y}eKhdL*F6GOrJ#CA!EpM=ug(-+VV_+b1R zSwr;#Ww}C1ClVpEt~z#yUQ2dmdJ%sDPERvevw}OqOmCsk(|22|s&*nQR3tb$*W*Wt zNo+k+WgKU#lMdr4;xs)c;ITGCt{JH28wP%+gH$#%g?K{$K;Mz`qzjtjO!u@=^ED&m;1(PI*#8O}89U81 z)>>V?tn}Afs;!V-h9BBMB}$tkX8TXO|9BfY$77kHe#}~GCTy=gtTj|$dTg#a*+2jM z_Ad6`4ov_e@IIvd++t4*8341Y=z+kmb&(VEWu5J{P*iHt1pE;4;h7Fz6<{4 zo)e%wZ^y&1$}re4Q0kYE>X@+Y0G9nbhdd`GQ^ z_7G`~wKXlYEn#0<2LpwF6S;@a(}#s-`Ns=xwS(?~^sGVNBgvM&Czy}#&+G;K|RyW&;PBgIXoRfG1Jm>=Ie`I$y1DqsHmA;yX zjWunvoV1@{Q%rwTm8m*VyLR<0a;=rW`IpKq1HGa4N~fn$$><>1p0`sQ%nYGMfsb>$ z;RocOlObNr797Fk5Nc~5w!_{n@_*LpVPDx##(d#b;23|vv)JI$^7ZxVYH5-1TJrnT zgz4V&&@}ZgY6?*zSY5xN_LUbYQ^hRze%E>M{r@!gv-Y-54V%i|F?YlANkmh0A37Ls zjZY#?(j8frN=Zx9335eYWMBd$p5+6xvniAsd>^R5S9CQhobGVv!yb`f1#X4;GGjJ% zHFdUx8J}`~bPlLF7K}XjUF1U}{vKG#Q zNTK)Ib>);#@oe%Wx+cpl0&Dm}*8o?gLPhomE(XV`E8tBkjh;0m>o=8^$|doAa4ood z^7SbECvn}@E$p=sH$TG0lD~Xmzw{ssz4T5A-f$Ojph2>=(j=)~Vrji9~udZh#Dr{}kfJKs5fX zze3uem%!6-A?VP$g&t|EMKX{m+~*(h6}+#Uw+qjR+x+wKL+B~U7QwlS=6J4=xh6Im zzk;RWEr>QGij;sP?W;I!i$Zb~o7NvP+|Ln4s*HL~OAwX_3EnjKLC5C8CjKyf4DgO4 zL+ubFai5Ha{ZMA*qq3B!L5YmUJwPXt0`eTsMIYjQse{ZTYya?p=GXRZWM%dul8qMk zTlj}gzG$wzM+)legIDBE$^-cdYy#*lq(NTYF}x)qp;r7O>|pE!%z0nf?9qZ~K(3Ck zMGuIGk2%kFF;TD=$^lt_6TvV10lABA2VYZfX{zu`c8Z?`cc84cN!9+_MGE^5D*9*f zH+&O3PXjObi;&TkYFio}Zhm7;HAZm#fD4PnDY6N(%y`|zn-Rz@cn_PGMnMfXE;w0V zMC>8zLHhSfKFu@F-K21^cduizues-qHc7pKw?hY_n?f$+OK1=J-q3@{!;W%&xJPtx zW zx)YiP*^V_IPwAX4KL_wEAqVNmul%>5rAv})pvuTE&;4W>C?uH#QaBs*D zq{-3>aettVTvjvz2YE`~r1S;Oy$ZdVk8ja)Gj_hOO zKw~2&g?Rwkg88Ak!6@XXeqM9Suk@2zU&x(YtqDqXr8A_m#rU)MN1pD&Gk&x%+<)0` z;A;f?Yh~$cQDk+2C3>Yv4bD#z5cj|zWgT4DYOUg|{RKIX@^ zpo^GQbUkjpaWx)9k>E|`FZHGPMNLs=19!g~a&QXxWbY!^nZkhUzN3mS(f3fhts7yV z9~x>Dir1z?ith(?FnAZMv0mdXhBH1ybD`U9j>_PY`%Na&JdLw^Am??W{I{6t%l6#$ z^m9-3U*pSYt+i6hL`C$U@cZSjasnjo#6zm~B4P)19O}__coIIHe#x}t4w>E7ZT24F z55s-zP!=`Z2&$off&uVE*M?++u;4*$i`++SFSZG!DsSa7;9=e%tCCY|qIQs@Ahqp; zR1VUcx{@uaiR=kutR>OPaa*~P%tWRb)Sf%=(Zm(lL6l64!o~-8LzepiwI}#W2u^yLVXG5hn9iAZ#wKmSOgy5lD>Psn!X>tw%(`Scrhq;(uLp*y#j3fl|%NR zAF{C)YOk>OSc)-*`@nSPh8SmUdp28nbgm;$& zNk+k&p(aXusK}R#M}?pMit;FN2(XX+aGH9EmLx31|41EAA}bJGh(X4m>>Bn4dj!s` z(Hg2Om-`64l@Hc6MJ%I*+<35{jsay6q>(ixg0VN16KUA*vA_i=H=pMkA5l)N^vDsfqczDZ+9AcVjmpai<9W z4G}+0TqHK(G1xW(C0`3{@x64#`}cV}Kppo6wwb+$obLHzccGrx$lnNbEFa`Aj3?%T zhvG238oVl1V87LAb`Vg9qpdb;r0pVehxrkDuDuKXRK~%6Rs0y&q~L z&FLIlgrCaRWk$OvtQKZH^?aylijlZB7?x61tF2!P^b37XYMXQ}Wm58U^+~9P!@9-b zvWVaea)6n^_hDY}y|`n%Cf1h(Mf0V{d)tbs=v{JOI|O9BUEuS~3RU)2B70;M3s02YTYst#vE!Vz++4zopX43%m6(I=1Se%~FDF1PkFte+Yh;YY{gRbuIgrEekiAR!~RNg5l6@|c%wIj_HfGA&}5 zJk__3e!|^yhQk~J4z$t2X0{IvM;g&m{kL&2R4`ax|0h`2Ds5!4PZ*o*%DQLIFqgQi z;lXalbrDNTQObDvt6W416B~(Fg{zn{HumKS3y;#37U2a&Niw-L$i$V|nqWi~wpPM9 zJVVWGE)Qv%rH+OkUq?1+N9!N^jkVuA?i@8UGoReS(5ml4_V_LSIW11RAZhS`w1;0W zPsU7oF>{I=>hjDfWCSg+XPQ^7(KuCJTMe}P#?nx-HdG^8Mfh~G=wU_6Q5U_B;O-Fq(fXBGLUxjjiq{0R{uI*j8FD07H$XvzlF<> z47CgFK+*~MnGfBWE|Cxmo8xM{EQhbv;p| zr|2)T7yPzU+(d>G&j=Jui#k$-zdN&x8;dOTMtZH_7NZ*2H^+>}c3M+Y=Y|rK>Y3Xfs3*wXMYnL~gqPJNsO3F3mP=uuX6Fz~TES_|qgEyUxRk^1iV3wg2 zo~pb02K_Yd_4&qHbB#IN8Djotnfmw8n^4*0H2RJJWeVG$g?L&+S>?+kb(hER1;}|k zw^dM&G*edNoo^wx7Gud~oE~-A^5C{EpaMu+_(ZKWj8n0FhzK1lr( z{G$K49g9j< z>P7UCUxaNS5QAjscEe;PMdknx#-aXS{|#eW}0o(cvUc-sfFF#=r>aA z7u+Paue4Xnu5|LfmaB%9R+@)1(s!jTeJ{4+tC6B?iu;#a#2h3yNQ#%A3z%))WBNt& zdZfz6?|DSxz!p#kOu zqob3@dujY**A4tcGV8U#CirsZItf+;y8#5uc3u%KHM2&3s`_zE z;|QQOOoSTYEC|I_Fr|ONRO2t{ab~k%lVAh20ti8ww6^Nz;4`gGsE>9uFvR>vTZh`C zty0DR$oD5~vh+Zi#ytlUBZm1UJr+|bbL5-S1n~*#^0LUIdxV^d*G>cPueku3){6oy zlJoq1`zPIxe1TMn*}(69=)MG(K8`7ZT>LV~V9>z@PbKUWZ%fyu$MQaDi=@bJ>1v^k z*h}WcA--i^1XtdusLu~Y25zJXiA~`l=?kxOI>;OcEA@$*P0> zSOCekP1tfYnw)?F(KHKKXY>Zz%i!3QjVZ!kH^iij(I>(=QpA8Wido0mWEG|2M{$7C zl`IkKA*t~*vLju%j?T#omBqd};a|jT{@&a=Qqq0yWj78ZTk&DAh^CCSrUYVECOmTq6R1Mp#7Ou3c3DC~(9~S1) zv20~;>ZQ;qdi z^bL>L6O})rcjUCN^Wm+1b;GkNnfx22Tk;Eb7WdissLoK|B&(smff(IXciXLyKC;wX zZPqmJYHQSDT9j7Vnr&`IzcY!H7cvSvg{ATdWvDN8L_y!v@W%2Se^d0`N8K;>K5Kvx zWmPdJVO#nTp71?*`Zb(=hqTc+O@0R+22LfDkPuj`O%J8AqYM#Dr=sF#DMe}HZ|Ex$ zR!vNj7Qzqyiu=ZX#RRi0|BU5HGM9$$$yH#AdK0WH_T|tnl}%Zhv^DAH-%Clu64gML zl#NCKvpt;d71`S49hX@w$`2Q}ahK_KwkC4lS`mfpCxgXTNC95s%ZYckDP1Q;F`2p2 zW)GZ{kAkz*#etDp_F#McnOeo{WCW0%)R$eron=4r+q}b|DJ6iJo8YeE4EDP8M}8Wf zH|j>@ywusk_eY(Pclq)QBWV|8Pww*mb=q3jwc4mc&KM)riB<*U89vQ0_nK4Dyrs8Q zoqgrx5rJw*1>yT#5IWQ1XXaQZfHD@whS@vyC&}40n)|(_ZfNM2>7T zK80)+27`?`T@MFS?LhJ>==f%7Z$qW*2)hG%&Gbx7rU*BjgbNptcs@8xkS~V)Chf&L zpq}ps*Zhf?Mb6+m5%x*>6xJAdZt->>>ymafG*n#`IHR@*bk=$XH>-sMv0CcjOJx0} z<|;zPahCkg;aL|+eci2P#$>S0uh6>UO}U`Ir7|%rwNPHF!$u+l_&IYF-R4tsqJBV2 z30w_bOd{Ixly3HEvlP?R3wkZxD2G~o^*W)xT7jU?iMM`nU%2YXiFqp>l4r<0loGfz z|4LJROOd<2gu!;%PB3m8In{Y)q?U*z@;hE*x4xa*9H2+4(}G)*O9ix~!=c=vIQ^Y= z0x7K-kYQhyeh|SH^QBf2!oLYSlw0h5{g=t@DzL3=?l1pL{E`m1V(h14z6xyDA7k)?` zd@YoLeofBn&xD$H4p*MPgI&RX-3=v&5|ck@?*jX+Cx&P9Hnb(~6cDZlA?Z%`CNXW@ zIA#NqfulX_tJWY0)g_$32M{eWaJ16pljq+#)c`rNfAU!=gTVeky;{2^*&ph zuYruGsi@r|oWJG>FST=kTh0z*4Y(|VW-4ua;9^SqKkY*Ylct*|ktNf>oezFPHd0M! z%{?H``Q~C8dQq;(pA|;4cX`iS54ZPWcAmIas-;ARbrJhZ8Mv1W)EHWt;H$qqLmiT~ z>5<^ajZZ^g3q%6@+fkHw=Rpf<#5b;D~fewk^9Vz zx7t~S^cA7ZMsu}{-ZS(>y@~#PLExRaLL2KE)=1=fQ1Gp4p^uo4e6*j&OEcaZ4i!R@ z@0mO#VwQB*-$E?v4UV2@vmh%s03!_PHaEB(!Ka@7Ur4hZAB9YbP`C*rZ3rbD)D4*Svy%lUT?lPv% z3qdvcNhEsK>wr8PTkWHb3~moKPg$n#4S04BW4L$C{=f&>|D?)FOSzptQYxwpp?|~> zJCrZTUE)TN3}QLqtW;PouJlD3*CH~He)m4RE3K~Pa1M1i={nb=i{LSY-Ij+7Fp%&bk;yEHh4BzBq=#~F{!Ju zG&q$_bf=2nq}ob$|2?H<*afk#?>k8revrq)EPlICi=E5WW#icn+(N!KIO199eR`F- z!1_$gJwopjcc%3Hb0)Moal2h#-^aXnvvMLciJ!tXMK;!Kst7LKE-vCN8p*BT?(@IM zalw%TO6~B%VLhU{N;Un3kVE&#Ao>ZlBx<<%fpq35wUSv7`>1hhClGw@xmTT>%w_kk z=l8}S-@cUfj}hgiLw4Ijskr}BgfDz#>L+rih^^#baRyU^k8=8Xe)P}RE!HYv{)^q; zFs&)hGJ%=t&1M$6ukA(VG_88jRcoiLw1{yU{1jbmCuQ=@5Bn>33wtQOQF05NlrE%^ zw2aF|&UgvTZl|?74LtGIT!^0xVx%8@?;GX}<7zM}WmC$~zkh;hQ(hX^wE*H zYN5bs?QkHq*(%i5`PWL*tNk!TMsfbsn2f?agL{^+wBQR#jJ+8TC2# zSThyV&)oseQ8oFI^4xbne6Z3uqO!vLkXDF%x19i3WR)tEXm7%n@OjBT@TGmIgOnFx*~Qncb)&ucH*9~ zEQk_KkvmtI4&w{auH;|L5t~W3#Js+J^7`i zW|39HsAD%UN83%zXYibT#cZjk>)EkxFMBR1NlW=Dd`2iNsz;noy)b-#sycE0*Bf7oo?NOm&Uh&jhhu@75w)Tlt$ z6zk96lp2Xu)t`Zoon&?AYVlvu=a(glaEzQ0TN6$A%O9bOcph1WQRE0&fcbQsvQxB` zHo`!u0-Khb3-V^AV8`SyDbY!Rz?Gz&T1;?=xk>+PudoJz6SjiU*sop|q?&GW|GIOK zE8N?=&$puOKsd!yZIrR;v1sqxQ+hw1DDywaFp*?V7nqy=&DoD%u0g&CUq> zufrhE>y>fWOw#@_)9W{^XmcYvxjVFn*k8%x?+_jn)iJzls_)99u%6;IX(Lh)cQSEq zEHeciRRd-U*eB<3M=;(~r#aM!rHxdoPumxK5mEwq^p~NUb~9@vdyDmiFY;))c(^XT z^nVo2%CUS}`Y&6V+r&4bZD|@AR%|*i_)xILH;1K4(ZezxoPAXGFgdSLrSYOP`3Fal=uGJa(>@7A)l0) zndh}LCWRu^Vads%CMm;>G}=n=V(Pf(kiR_CdT4DiE14gSEY`nf3*;>=ck_Yy@E>~y z&-_vOTv#dpjK~3s7WN1P?d#4uWS;ibw;MI|iuMg;cKMx(_8KH3U($Z)YqYD{J$0!T zfb#!u@JeWOprCO|Tjw2Q*U?jQ6Qy|gQiX*7rT4`fNc_u(q}skr4z@6t2C1Iaxu=Zk z#V~oioXGLoY~Qugn6K4wYNM37fgy>rLg9go&?lv1Z*ik(Jux4hCywI=lN;z-$5Y?=}+6i-JG@l%+`FyiVgVODyQC5i#0dIr5}j+{e)EnQB-cA zSNcK&LJ{r}w+YFS&CF7IX|;XI70kWr=(j>^!BBdKoyQ`u3a2<9?5ox`Y$#S+tL=jB zIHnV)kR?K8;h}Uxn(S+?6bm0A%VAT5!{SsnngMCexN6PUk-TGV^Hg^`TY`yZ^0^c2 z7obvH*Crcf^*6>ZeXv#0>~3Zo>iHU&`Fh4RJ+odo6r7n$7@!Y!j2ttz-9x8v97fAhmf)v@uaNof~!` zb~du{UokRUp4o)l;xEn{)Jk2LlH3DK)7#N0!gDE)#QD$2nZkO@d3`65ozR+Dv#1n>R;o$_5z;2n{FC=o!iykVK1~Un#lh(CmT7f@yLT&X&O#d_XT^6{G#8K`tnoU z^M*fG%qi#QTOuQ_1ru-g2A!vi{T1hZKJT}4#C_-N0&6nfx?tWkCa8vXJ&l+f8Iknf!O8K81_(!Mau%KXcY; zV#XV3RZ}e!{H~q~W;7;hd+jb(XJ)>4h1O`20d=PDP&PE~ImZa~Vi|;fQcW z=_zILmy^aSHHAIG4Q?vC)lKKbT5F6}#yIu39v=FNJE#$!hX-y!cM$HA3Q(L3f^(~Z zW13x|xj~jYzf>3~ACWisn=9A+P>K1DfzSDj^bjf{Q*sK@ zirmEwpvjbAJMe{=ugr0fExzf3HbMOyybyX7Sgh6!R?@GB{xvfjW!%DE9WE8EM0sR& zy%INL@_i3EwspZXE5tn}yGU#C1&xpv)h}Ozozklnkv&4p(;t zG~=Z)#$5+B#Tn2H!r61)T_i_8ajJWrnfBZ_d>eVNolC1kW3KvL_$D8s)1`s@B;+Lh za7tM9k%TiNlty2n-Y{pG_nj|xiu=D5qLo%BYk|=hJy#0mD{<~Sdp(#k8tkJh(^_GvYOQTpq^ zUt_i^I&pWE41?3ZT+5Bz}j#0bN<@R-P1_%_IU@K z4^Dr_wl0FH*%+y#$z+3gTsq;es!R@#hKKfq;GxDhNOjN*jydn#YgQ3E+G>RD$pWjn zy}^mVys82?OWBQkT2U=k(9qaW3#+G@n%Tm<2QA~1m{l$>FPHnvWt0lice$=$3lU^2 zW&kCb6<$9#KQokxLH^Th<_0?%JJLj**ItMAr_2iF4-n|Cqs_y5I`^8LpN&V3Vqwxx zxQAKgLixG)Lu@8Ar(4MmJ{Ea|U&T3cA34hZR*F{QX*^wt{KZ$+RkI!L-&XovLX4CzO9kWz>6o~m=B4$qtILgC+IOU!@RaTlo|E|tEwKT{S_4q{e(e>~&wZuxK7}Cbh z(=c(rxKXa5sB$WQ5vh!?Grc3$We0H8oYi(cbEcl6eN%@b$MA^W-?(d>1Cyq!^#NVz zdHV{KdOht<;6~SlQlKZ-fo&@c7fQ%AeEXFdVa1fX{;VLvya(5$En9{;?9O%{+l8Gh zb|kX)%UBh`jNJonLlMlE|IrU>$F=LBySS64nz4EpWUrs)85%Ag#eF$To+fpa_K4-g zjzSaRJo3zg;KsG#k03GL&kaYyU<|W>4M!!{3g1O)H9R;km?~q_B6Oc%{0SxsIOiyq!=3#f(13WnDpXJ*SX3G(6{6UunFUUOp#fQ#wlrr909>C7%-KYbd`~@(SO?x!fW?@Bi-^2ZM0jUH@jx(KDNAk*K&E=kZCa zAM^pck-xPK_j3h1H@GEd-AGPj*U$vIReCDFkX>Ik?4bSPR7oHgF94F-jO&^}*U?^^CeMv|Z!XH%2Obv@^lJi9PsvazfCd0d;6rF&%vX zD)CDGEiy^xf@wU7PvYxB*H{bZ?Mcj5N4T5Z2Ip@QF>t@8TQrt<)R(rhN3HP>fx{svx8sHHK(~ z^}6bNWXeu9N102lUsh&&mOTYKiJ~}@tAp27)FVid*p2M1AKXd0Mkpk80A1~a|A73# zcTpH2-a+=?5--~QFMdKYO^P zFlm_)*?jq>cJdyfikOPFqQCj4d{^Z6zvFhZski|8*qb1krhu6o={CWs zKhGGYz0&4|_UoCohT!Vlb_aQBxPE+j>>yK!C_W?g#7pFXP?=5^cF^`9NM#qQf^E{4 z<`fShGv@|3k6-O&^lsz+c&FzE_0I}@*G8*~c|xygAGNwUpB>p9>K#WXS=R$E1e}+~ z>=5=7cbxx9t_w@i%QX~>%MXQ%;&fzE-U0`&xl`J%V5P;jsHN7&?4~_6*Xczq)2Lw` zHlLa4%sJ)@owW>|v9CaPvddY|tYAOzjgjx1O4=!ImwyVCpPv@1m(f)IQjbGG4lLn&C*@n%V5C3f!pwOhe-dX7*-GlSmTId4Dp zcs7agxKiwCj%OdTUyy(I3th)GI%^SOzyWTm6Y{fC`U$!fslYF775JVriN?PkFFSdV0W1)>sIp869_+s>V!S+Tub-PvEXzEV4b3hkU6WqjTuqGyh15tsk!!AV@G14$_ zlGYWIgu!yMpvx0z7RkY^Y8JR(jy2A5jR*R5L(s>YEA=J#ch$4&T5WC4E^em>y=APm z3|Y_<-E7Vu^j3}dMyOmfO9#bC%1`mNazq#)S0lZJaqKm&2X2BKZWrf*v&1gr#yA$Z zSzGO?c0Q{E-pH?7U8Av@U_4a!Sw)O_*v@=HHvb0n>Z62AQfKkJd{l^)Ih;+W`AZ}X zUmIQ4G@SH{$bZ}b!s9pD?$+}5BA2_3@h`Y;dEgEXgbo@dv{H6zpbYZy>y(^~YRZ@bf$(95suNR0>+4QRF7;Rl}66)Dv zW_7(Dbkny{FFnN0V2l$B22y2vr1#aKNGpsZ89)_nfzL8dx+Q#(iqH|_am*jCc!ijm z_C#wY>V=wS16?(b8pn{9+{%iye&J3w^?X`h!&O_FP4t`a{#^E!y7RF!txOvVRmI)1 z0Yz0sFrVLG^Y3z&sao{vJt)+R3xl*M;v&1{Bz+)!p_Rn0(3S6D1^xpj&|fXV zR*c753+;B$ul))1)E|V(Tc3?c%&3baTek;W5Coh*%t-bEbB@c-Z9`T(+($xhDZA`S zvz21fAf>NxT57-_B4@p+-gUbQoUgle+bF4jHxC=hR#T*)MxckShMV~{YUkBfKb+eW zy)y28?jTzS?5EGtIijS}R`+;vE z!pUY{z&Dhj9n}h|)AS~4iWzAv1tl&gcaF<}d)*c|xv5xRzAChmcG3hP7c?eS`TBf* z{1@bA^M#@7YQbdTaysqYv&Ir5QJs$T?7D#{^+7<;C#%EoJk)UVIkvZ)`OHQ@DP9iG z;!i$|cet;7E!0Yds3IN}1L6kR7IMlw?!Bh)=ijkESghGvZ>zUgk0Nsoxl-yZ1Jnwu znDyKqjI_ee?mg$D!@Ieiv))+uJ=cnBg`CqA>9?{&&WHK=7v+&KTFO9jQw!PF72Rr1 z&}s@|!6SVe=yt^VVqQgl{1W4}p=$M@t(_X$tglpOSh>wY-hXZa*Mgr--wJ*)UfM5i zm5YhrrJ1P3EAn4CZ1I`4%x||BbKO(D=1hI}p*z|dgq>F-?KJXW{t1;2lu)|`tLv{+ z*6M7gcbB?NSlo$xdEq`OB90@^s0N)GPk!Rf$w#{i-9+MN;~`jT=$yBeB+yI2BAlkt{;uH-}i`x#V7hQG$; z$2=ti++AnrXpu_C;fd=ky_G*gV|bn2!1i-?Th-x_-l@ljn&?Dbrn_#yxs3g=X?)^?owt_jI3byV7rqKso6v9 zCg}eU+l#G%*tHY8q~zo^{0NWe>DwLJKt>Ou9Q@a;(ua=)d*8dNl6Bn;>3o z;2x5T&}%Hm9e+XGp&Ud_A0(rp1K!W(Vk4l6k8$TSJKTlX!7T+3Eyl@XS28c_hoS5* zrLGT7QIYzk$LJfaj&@PZP}_13XbnK!xJ7x{EN+9=W3G{MVn5SGRraM=UvDnt^8?H7V zPqxvFm=27VJIHU9w(>mXtXN0tLQe3-n0Fv&mNn{H5n7D3UdwA6hH8uU|Cm3Az=e;( z{e0hQZ+Ec^IyarOZU%61_wn;+F)=~z3or0wd8EI)_)#iMj`EXG&D{d+q@q^`{FT#S zd)~IA+#)vTi~|{haxCdC)Z|N& zyWCw&M9Xj@9}aroZluJuVs-X0bIY6O&cPm`lCetttiBICRC@*sgGJUKgrYp&GWHsi zo)lpJBc0jpWH-B)JOov?2S>?fbYB_3GG8j}5KTdlO3-$61zVlz=4>@HnT^$;PDAUA zh3Z3`r=dJ4)?+??s<75^nVt zTsyY27s6J*vzglIWqh;q8@Zf626CUR@ubzy5*K*P#e$_ zw7UFOXst{}qG~FdOYFe&MBxgvY1oY3MkdJ#XNS7W+4){kc9b{VTZyx&h`HG~r$+0Y zLX-5PYMlAY06WxO#GK^Da>warezka%KP^7tEbL()@Ux(yEsiv!5}!+srYZW2SP`yzcA;uQS^iG+&)h zEz}gYORdBv=sT)_uTr1h221dyyVI8JOZsYaAX0pSY7KjaantE(FL8UranlMDE8G5K zmBlIj#s2N2M-uUR+)6=ui#~ut@sl!5e6QT2Ii)oG9ljcq&O7Kv+E?5}_-5)jgP8tq zZe|t;Y(aZD>Y1$82&0uL8Hd5qYhfE!B$V58IXKX0aXFpX(Kk(~1INcvi=wtnC6wjU z2-&&Qq#-+)U&FQmORER@1zI~#3ka*}DWMr{Ex3F;l8ar$)N-ON#vHF+!anAtQCy{% zQJ2O2)6VPa^#earb4?H`qL@DL2tjeeer4P7F8_p%7E;L#rFOpDQlc`C))Y^H4Lj96 zZlAQ%o2%`0##CpISq4;@7`MHB#hDFq^%8qA7$K59!180BIRu`K`OIjx6Zs+Z6f^jy zNHa0-|E!!P<;70iMx;Kp27QGA5w4Hd6+J*!<}tGHPU4!i0Yp%PuF)zqJaUh9X| zB_JrZ1J~&Ux0);>J;b9Vi}aT-Bxd1n)0SK<@)Ywy9hi+&W5FTs!YQhR;vr{+}iuXfv*rKT7=)G#Zbz6L$lc~D^gIN8ySws%&5*_LPz zvIWm^YeE|~f;JZiimrTL+^(DzYRgmM1>FJ7Tncnxies7W?Q6y}>~l{!Y3!iGq6_?G z-84rV)F`Q4)(@%`%@umU&H$fgA*McdB|GRZF+unx#|dZT=cKT>mYc|bWY#eoP)ko? zZ!i@(hMNP`(s=Kcdm25#|K`*S^a5%Yy?^Mf9u58H9HdnsHw1b#hWw-lpndv}KSO(Q zgZS*+LM{fM-D9$dUZF3AA=v!f0nf4_d!8NW=5c3OsW3f_RU1LKbw(=@%wg`(Qe&Qx z6*cb?uP&45PQfPsklPa5v|j96_A$ShJfdkuin+>2@ud7nXeiGk%Y;WvfA)#}#43)x z^?!y4j?8hrkp02DWG7mAFmq9m?=%iNXg}r;)9f48ZkM{Fpb>dS1k7n$Dud(`{N8B-VupFdqc=+6f3bsH?E-q?+=NA`A#QO%g8w*#%_Q)r6bSj}!dGD>>Q zyc!_p8g#8RQ|KU1p-;s+#H1I{izM-bK*O4eKSRiU>{!lnnBg;<*^l7e4L0ivOEtWPLAw^Rv#-I?^44AkP1*y{ zWY<9R+)|$6OOSi`TT5+~De$89;#PBSpv%dIt)pq*2mf^*G!~t#R$z850NXavcwj{8 zSuhEH7P9nVS`9FQx-l1-L_C?%@BveCzI+_|^j&n6Sc<$OH@NoPCA^u3*wf4(a0I)8 z$yp10@|V^gtBOvwNHt^dXy{lVD|~W$jM4gHd!XIj8-_Td0^~YBRwzz}3itT{nauCy zV~L54T1SDAsGLKZAlDcAix0RS{3r02j#<;q<;FUA?5~6>=o>=qja6D4X3IWkNE>>8 zus!R`yaFGx>;L$jY#Y`kEonokgPcxT<}0hD_#R1%l;y&4aR->Tm6$?adgr#;)!MAr zwelO~pw&)7ozNIL%&W{5W_n|f&KeE$FYrj0f~ROQSlqLqAuA-t$nT`3K3<;hn;=HW zhsk~7u*aYT{p0RtYI-V@gJ}WYz0dvQ1fWfCug7U`)jQA!lnWiwa;vwEW0=zxbqceW zxOt?xSXU?_XBOH^XVAL__>cT{5{-T52znRHnf^jAVLaJF&a;=;OKv}Ro>j*@h3C;y zm0(cq98A*3Y6b0H_8)gRQy=@Nu1qm-gGaF6nPu!n4zcevhE^3@h!^4L`bQqEOu~${ zDmtf8+$XkyE83CPTWzn=TTN%KfhY8%antH;ZLs1&<~;*t#89h{wal7pFS9pbC$=2i zv47}nRNHTroJv&K966)^73z33@2d`=MLB#-<_a+20ZRY*dv`VzQ8FK zuhr3-sHe0|YEN*3W85u+@}r?mJ6LoDXi8HKGe%2ZE&-_!fnXpN6nCqea3%gOMqSYn!k)m z^%)RyO3|!T5Z8bp)?1Dh*GNrJk7r@hc$wkfooeh>A7ghEZX8q38wK^-W*<|wf7y!j zpF7jZ>9s=dJOG@m1owdZ0ZO_vG_!a|(v>~3<*O{k%NwA+c*&LGhA_+Baqd~`HFo%s zb^~Z_7Mr{5`XJB36Ap$*PUE_6XtJj1MX;lQ5{c=`-s3sJq6w0Pou-0WWix?F--$qD z_$N?`&G+)L;ods7Au=5*f|hQ3oj`y*i0w&foFVbpA*IGSKft_eL}Lo|%=^K%gG!_v zIfnV+2JsE@+P`x}`JdcUt~1g3hT!C-5$B7KXo$W?{ZtJz^@_G&7BI_c$sp@()%S+x z8Q-;6YpV6wsRbR;YjzVq5NS{= zq_yHfWxv=}$tpB}XXX&Mm6?PsM^ihWcf@}02`&qL>udKW^dV=h5$0e+G+b?&-b2e{ z`1B;Wk~}BeJID3{E&PJiLny15^o%r>q|kc&0=_x_h^q}}V@6t?q^9{v1ZjpoZY1a- z3ta{(k%G|GwnOjHR9_uxZ00xmJ89h7@Wd@+{~-&Zj?c!H=WDVz@C_FMr8Gb0OPy&0 zD7P|*g`}&(eeo@{OOuh!IL{enE`nosBXUj$n`^aX==41>fpHy!?Tmi8e)DhF6tMI7y5tJDQl#cj-AIJ6>`XkPUaKp!e?)HAnXZ`47(W4_ZotFl?k z`DQ7Pg1i1I00s3 zbNI}V?N0huYq4Gd{FE6uPg;W)^#k7zluel0^0--^S$W;E-d^?&f01kyhYEM(>q0pt zry$F}$QmJ$Bm5Rd@E%~hQN;aYok#Y@DeM}zdYADu4a4Wy+K4u)Xdm^OT0679aU5ID z8s2o~IXe`t->YIpT1zfMM@bL)oz%sSRAnA8t-(>>#$CsjYYTrJ^X52az4yVX1b20D zOsh<_no&SqW-wYV>%DQ!>F91`?t?bekp6&v_z63of6WM7KDI8mnft>JC3opA%86^} z6Ja80O&4*;IRi}498M4OxcNivZfwMyrjnN4es30ZW8A#nJoNWe&dC@7i`HU-YjMkcMbd7ox%pbpsjW_BsYnGV=Uw9#K zgzk7(u-#n9-bR%XLe4-XXht%lvwp{Kp|Y?^N+Z6O1>vLkg{#8zp6*DP0R+u-}hP{=JGlT_b&X`AmcKFj{( z1Fa0^&U&1|WuZA~A_8`}u z)DbSyYErcDPC7(ON&k{cLUsNae~g{YrZDI6E-ry8V=s3eK9Kw1cuvNos<#oZe$$en zHK`uj1U!PHHPi(j+pD zHe(lp5!&2YYh5w|Mp-R~;e{q4lgEbJz8&^QO}*_P)n|fA)NoI_72GmjA?P11HW#KV zON2erRk0X6@r{&D!Yio}s__X><}`CH`?GbyC}34LQmm(76CJUiIu)H%j*jV)ZtOQj zqmuQ^C=WkN0<@{yxh#BVY6}O%F3L42G;+?JGHl4e3TzBft5YuIY4 z*cMvUgXb&*c1W|iHT)n(V&n1i?wPraD*B*McKBlQz}rHsOlAzoin*9mNb-nbTY}R$ zok`0sVoTsDy24K+Z9$fe6dwp*;f=f|_r?8m1Ed&hm)6Yes$Yv0XY2DJlb zYkP#1*B)tU)^w{T=B#O*vUXm#5V8i!c|)<+JxW)IgQY^gitW}*`3yQY5SJd8ca=W;*8Yj1jPWl$vr4zCHF>n?&z~15(n*ry`5q6rl%Uf-)M~Vukol%XzAn1~t=!?`Q z)i!2Rxr=#?X5TF4%_GKb{gX(7y$qBbLW6t#65w}HxawMs-j;mC%5+b zNnpPD~ z37f?#f+c){W@ri1iivgB+WVnid8N+*F{5nAuRjgN8Jm#Sy2>8qUPb5nmKoyJW*Xpg zFT*TiW?(zq7Weraago$qnk^@Y)#Wk5EwLJTg}!(R6Ljuc5mqJru~AWLh0k%M^$WiJ zTUG{C-cOC=Ml3w=?aaRBA^WYp6qCr-9E%c|&ws%)yah$mD$Hjeh#~2LutzLUDCr9Q?^4`H70tTZ zPh+U|-ppw{u^yTp?(-v7V|$x*+b(2JKuSUmcZU1jZG`>cFYYIwRY*o3li9aKUgOIw zWs!5xKcqZoFrArR?i??h^VN+7P3|~YUcD{DYGI|f7%MfZPS)tCFV!z5VY{F6 zi}_#Qm0j#CDDrsWwR9dn7az?poQ6iI4hYFR`4{XLt{_{5D+W^c3+5Hh<#f(-=m1}8 zQ?*W^hT8E^K4Xl|BSU7Rd(Z2`jO13Zt;rZ}9j(E?pl6{||HC&X?MVgP!i(uSp^=zQ z+$&Cn4knWC4v5Gs%~v8%h@m3BAx7UE*KxQ`ou8Dok|0I{%rNrWwTUW3;s+tXK90%mW_V z)lt*^F!md-;A6gT)we5nW0)gQ=jH@GyMd5KUM?(_V}+YiZ@ODJ##iFcurJ`E!%T{4 z11DV@uNu?c8}E*A)>!pSV*HQ1yHP!?uhvGJ*NnCHCiI=DkqYvP@5U#=QJY>G1OHwR zeiT^^pK*}ez?CI``4*I;$)p##$Jwa6H^W)K40|2UIE}N3H6qnAMzXpa-xKfTb4y~w zQH}Y+g}g>wTdySk|6c4VHam#WqcB@bFHRB0qldXC3?Y?p&d=Z!%uyRTMNPv@r)9*v z@~hcjA7|IG+Cw{#2;J5*Z1)>lk#;!dwSS%OpoipSJ96{+vd}MGptGeoVVs;=(8Ry^ z8*;Eqyl-wJySm%hI^lAd8(*}CyTd@SuaDCyo2i%;jdPfH`_1pVZZhT*JKo;sRYl5j z0?j}-OI_#;DJLm`I%gq|bs$@xTgU3$HZ~cWbhta1eatkdW1`*8j$rq*qA@$)p+48C znuP9nslDEwgG{BN>}&oJdxQ+b1T>b_`TOi&{x%myE?|$)ifkkoNqhR2Jcj%GDj{5V z_PM(TldcYWcC)+M!;H`#pr)1tEsV&F3U_Nx-m@AzLnE7u&dSGXKqN$vQ_EYN- z<}E9*pI5we%s}o2sS7_>OW`wSL8=r>QiM$W6VePiv9(Z!++i-drI`$_gMKUM{cnP{ z92q}_PwIOgKfi>Y;ueFhHxMq{ z_uP8EDv2bgNdV_zZA^PIBQfcNSx_%)menqz@4RPKGi=O}+qxUwN8TY;V*lg2j4Cqf>)C+%H5X+pqW5Q3o8r(o>k@WD>V^B5DMJCE~JV%|m?wHeLrB{e6#L<1IZ*6Hd zd4f#4N!(R;vD3f~8WXG+dRFWXQaf+We$HIW4=>GpY>)ce|5}%k-PH%r!XUg6`7kp( zkNnU9be!ZD_bcaxukr=*7Q3j9{1H4wIhe^f37=pRQOwQaZF3s9rJY&MN_!vlQ6sE0 zMl5{1(Pp@I8XSXH?ku+i=F&aMB;h?g+6~DEVLG2g%keCY0Co2=mkFEl)tFkG0$VqU zi(ymPW}fAawKw5ZyP_`9D`BoUQC(_HGCn$|asPJmrZR2+w`T#xc{ksa+rf|HqWKMY zlG^dZackTXQs@%tFm=S`sKl#6t(n*PjGcZh5~&tWTaQ^{B%By5#eiv8dT`zw`1uMo!l!^bj}nVar-XMoefnq{xU z9;Lk%xkNW8M^_~&1(EOz9`g7b&$9|P?!$w zW3uo<+Ag32B}Ih0*hd*od;1%Dq7&#Z3z+lu#+a?-gC}qZI22oL&CZ1kguhNEJWuPf z(U12sa~;rWHxiDC`IN4*&;MQesLTelx(75p2~b^5@JhOu;Fpo%gD-;&glV=P{;g!F zWb#@|%w@(sqmXVG!*mVk>fx?0#C4(I!Gv$?tK z6SfOm6}MM2W-imny^AOHCVoOyHJxS!-)UpizDVwD;LLY6dAm_BxZEgiIqAvQr-^(d zl}I__C-MA3vJ)N6C}ELsM~o1XK-}EKfAxO273{g@L*uq)L$j0BD5PD-XL-S#jbxuN zXQh+Z+u|~e?Z#o#mK)nX^od*)YL559XYsClRqCm%6Hg)^?=W4+)#ZvYpWSTucKX=Q zjXqWxqYg4^pJUdY2io=x@W`|^_Zw@C6MAP;HK>#T%%e;CF3wpo{obV#D1wX=j^-TRwTdKa$zi4mFer7Y|)hNtX zq-s@xtFFJ;g$@?u$!7YDKg&<$^YUd#PSOjm_bc=x(t=KB~}*yk(whHGLEn` z2RDr6J>qy)xZxRDwPVIP?Fe`tf2?m-ZF?pZYacD#OL$AWVzYhO?u%x^WG=Il_`BpP zeFXaXbNM`SO4}kwWix*i9P^KEYVWUo(0yaScZWIKuss{%^s={D?@%jEK@U4kf1tB^ zV`GH=0y_Fl&K|b{CY9sJNU@;s5gBj?#1*6~?T_ES82^G>#ee=kj?Mx~iYslyRkx&j z47b7EB{&2K?(XjHfdqHA;2YfC-Q696yA19&Fw^DrKm2FU?q<)~keTkPd%y2h@mPrw z-IS&x4;qOP(rbT=w;85ziM7aV8M+hd7k43)D}KK@*nI57x;y-3s6IO>tK=ifGI_3& zNE}g;DLI+pFQ|33@mdyrg1%gDALs$fdKbs-K60KzZg)29A8;N4-layy2)ryL8KP-u z@1{l(+un^Kv#zSY&HL9s?6;A|$^)6c&f^Tu6xKDkCj5J#LD)j=DCg)X`2#ti!@btd z4|le`6jxV9w}ZXjxl7AtQRgt9WsJ2M|Ls^axpj#BrW;z4*HWw)NK#{sU^o3%@PM{4 zFikzDO;N5WN5u z*SzA=dwH*1oNTS}T3+R@R)-BaS~&#fe-Uj!W*EtTQS$87N@z*6Y)Yg!=U?J9|7ey4 zpI%{xg`%uWBwGD#{swov)IH6OM4y5GT;A(9lKcAOrC0E28|55IPq3wn`i9^L6nt&< zw1GsNc(de#QhR@7`; zxc0-n_eYPMh5WYnTFsyazR(U2LO1!gf7I{h=J7u|Yy8h{5$TC{0sm0QZR1R`ADSo4 z`rIWgjd9ikvj@D&dap0(U_Q5SIen2D5xk}@2pq#HR1Iz99C;Y(*bj0|G)CW)R!TZ0 zTIljd|4&j+N;;LT)m91PJQ(dhvqtDX=UpT>>jJ-x+(*>H_$F)5t#>1tx`rW@Sr^2Jh-CUUPte!H`*=Z zm2|#XS&@X=T~OH%M{l31sdwP;WbwT**Udv(OGWl&mhfbuKg9f_OdshnX9aO z+e_~5a(g=qX*rLx``QoaM{nRp{!OeqbRd-4L=-b`9>wT(nZtY zWSTP5f0eVV>Cxr?%aatqL(~oL#9sQ_CoAvpO+1x%l2bO{xkfTtZ2SguLHvJKTjPk6 zoL2I|oXF+;j^OCieOzk(0{N%k4gP96X|*SqyfSGK+KNDWeSWZ^_EUc>Dk@jO*7~`x z?H*1EtG{!^yy5s}F%tJ?xjCHIXe3FJePT5^#=$tD+}LQb^B$NHLP+k@5-etQ&BX+B3K}>$`{SztGn{_4c`my{j-%4RJ0{ zxBdeMDn){EZ9fZ1m=R($={`BM=%BCl44bVDfs5IwZIRoF-^ln#B7N{Lfs)qZoj)c$ z_VfDDJlD}+bxkeBjsjmFVXU?5m@VCJ_B&sIEoD&qs{hlMsC)G>c>Sx3`^tB@Df99z z5Viqy6fA*}ORd%s-^E%fAg|^3AL49;Kid~NgBEO$RhP_z`F2lIY2T8Gni&nzF0k+M z+(iZ9VOog(%0^{_dQwfN&(-FF2ehPdsaC+}pBv{d^EGyiZuU5HkUhnmLk{3NH{1#5 z-M{7*U|tyNuD}Bx4L<*b)4Lq3aRac$r>aTr$3gVe*}~syiGy{Ol`36Fav#63?|X&4 zZytY_SIRBwMYwC+PtF&dp-CLy%3wD(cUnt~f9;T&&YR=@DW@Rm;;gn+n-}P*O$)SB z$LZab-?bCswNhQo5Rc_~@(8)HoENRlCh`co`h)z8Zb@g5HQ(4`G>l(vbdT?0Z7~wL z@9Z8ZQZ%_g9+A?@Kv5GN;RxpL&&plAEZLP+ip%a6BxeqPWFSt-q9x!2+w5j^6WcN7 z8@yp;V1`bk(cc9Qde_PA2yk!P+v>OUZ?Mrc^LP0Z{Ybf+JW1K6X4c<<)6EIX8ORb= z7T^0JA=GZtQ)vbmbp}#&3p!cAC#zWv$%ns_c*szwm2olt zJ2^o+tO(NpOK*d!ZI66YtY^nQqCVw$O0Vz1(PyIqO|JAqS3Hedy{%T24Xl~?SIqYR zN1AS1XNNV;Y-`pH-7{*%H#DO|pGZwF<2Gvvl5Mv0 zDUJ_R3^WVw&{G9}(>Cd0oO6BA+bnlYyA#Uc{+yMst(s<1d{QLxlF-u(_u5tanZ4fL z==|f%^qPVxpOSj;Wd739)ebZYlY%Y6>w(!-)}Clng(~VvS^e^U92$wQC@^2aBNcVe zIdAMV_FvXZ^LMj{+0{4<7W5DXNVxT#gy7ia7}#det&(5Q7VM!N(sQV>;M8ZCn0l~} zRaYh`x5TeM`#ZjCc60BFlh+w;8OB(AO#9J!Z#Q5*?9)~%c7xxgwsJ|>%Mo%C<*M8U z_24BKkKXDdHHEfCll45h6iBVNA&)Areo%ZAP5suM=HvyLyAzsY?g@3ZEMt~OPtmF1mclsZMPt4|7!MDe^v z>lfGo7j;E36$RB_&!?ak#3lO(R)J5NOQELu{cO#rBQNY@gEpN8~sY)K05N1XiaYO zzgjC5lnUF~{IPLX4tu(jiRQGv(k$`> zGO)+Y)wcvC_Kwwh=imS>jeZoT#%1{yuF;g z;%9Dbtj9la4~182?&BA7Ni``t(gs=uu&U;P32GDVfU*_5yCOHy8|9n&7dpw8$~9rh zCGkv;W%jCMFE{s^3*q7p$Cop=gpRRy(LwFC^5>ISol1$5!jwDG-=c&(Lo64&l||}b zuqXHQkGRIB>zM+@wM|+X*r}ybZvU{G0S{;?qm(r!G}n4;9JbTho1J^k1*e@`$0_T& zb{^1+>uw>uPi}V%h+ED4)=D!Ci4p;KnES?GD*LE+YG_sPgboZA%qVF?yqoN(VTp|L`5(S2Jjus;U7IA^#w~>Va*;_q>T8ijS`^+T7dl6EAT! zjC5yt58NfRtmFdsuPc$iz&$&NJANT3Ml*dhSV*G4r3-`Ow|2!=E4E`6`XFvW47UsiOMjNXP*B2=twBPB+I3g~IKjDkcb3+eOS}Qk{#mWy+PV54wz3m?3yMJpWwkCuU zqBVPGIYu$3g?$Vpua-{>nRFOG;S=$%^i%FDwSvV{#6mP&|EiLHPfHtE57(7gt)reL zzi+gk(3|R}urrVa+JXF`|H1431){zZ9HbE3-V3)FlXFY=zEhu>`i!TMM=@Qr!nb=^ zU!$cDo+Zai(cbDa(eo@MN0z=Mx3?FDC$f}t9yTE_x6&qWq+6css1^1|>pvWQX~CRE z!qEQdz4ca0ImK!Axc=(xKuWC=v)6t-t&&pRE}xUr5C-9uCPi-19j|0?6of zbYI$s>~rQ0tG?0N@9{3cDdc2>6PrIn}z)J%DTtm9- zCy_JAy~S#gS51zuw3K!uuv|+Oyr|aGH;c2vr^n!gyVXA9jI(t2sddD?YUlA5IF9?8 zxAG`1l#b3&oRJIgM>cR1yU)C7ej)tOhm{R_8*u*#TCrd*Rp^C87G;TaTKdT3e;>x- znLp6m$^B7~-+iz*9CzUlc9@Um9;>X;#QF^kue$Zhjr5L7CR6cs^^g)GnfQ!$T-;WR z2~K$KeT%s{xhO2EiuIzQxGPS}ujQOlV}Fl(!Y*P@GA?i?d*F0q`29z@6P>*H*vrC} zT|~_+z}Aw=P0<5>$6;JVbQ1HqFBfW_ss~bVKW`wbL`AdNl%AW;C{7mG1ivXfpPvRR6epM2E2=MCfAl2JNW&}Iaxg3(<9V=RwavmV;r=_pgu z`S)S5N;{|AFShJ0cLp#M&hpl}CumRV<*c{5+H1|#Xl|OhC!A0Cdq;^eN<+A)Qrdw) zBRa&^@Q(IEJFSU=aH(XAN+ZeFNylW@kQul#3e(%}GACqRuud3ZIM!!a1MnWzw@hZ+ zMAAf5Wed=}wbK4o+M)l;uBHWoEZDOch*ZQ4UpPP+nD~d(QuOb|C2n@GT$XphiId<;sHx@0t4|x zry*A&$mu@=ZPg#{NcPlAdrQ&jFa7&01{A?&)|1c=6>G6Jhq&U; zv?f1Z=6u?O>ioI?j(n26?q_DLE%4e)$vi2~j8~Nz|C2l0tvSc@^%eAw7wx`%Ab~#(^(PWq}FwuXS*FqbtB&O^Xut)s5 zGrWKNxqeeH%0kjJn4CFq6b;ZXZQ<A&&)+i1JKCgxqw8Vs^#ozEzB15C z4bujR9NaC5agF@pKjnP70cslU)8NPcTLC@wG`RdE=KIhKIs#6C4*upv!M?9Wk#DPK z)z3PJPhh|LQai_)QJFh!mhy_EnyEO1m*Z`lqV$n#$k)71UP-5^T?)=4(v(9VjW6-v z&DCJ&2kkbV@bgR6WnT&ii*DN_WFg&W4j-(P1*c4;FCa(c9f>6A^<052Y7XtY{9aD$ zM|gwD@4Eos(F=`#aXY`&fcNJoob!FhbcQfBO+dvr){S*r`)5g;D<;yYY49@M2@DPV z6ZTJ_ZCE}%PvDetMkyipmRkFT!G9{dU12bDdr@w0&dbbTKWD5VD2Th6DE|{itVW+q*=a#Yk9Z5 z$eLckPW^*7;Q3=o5zEWJoQ_W zKafl87roUH+6p~AZAv}ErUy0zSFzJP5tBs&QsBpUUz{m)vPtA>9dy##LqPkp(lM}u zTRGB>wH8|ytVs5xb9}aY@vwTN$4=8~26oYpI84t3R`K#n=ev}TT%o0oPR>< zMZ$V(zZH}HL2{!;+kM&GQX6%REaU>FF+SpGUIH_dT`EG}#x=HpA=(WkR(q{<(#~+| zuRxz110pztrnl#y87O}EOUg}SQnaN@|B>SMDIXLt;o=_Sg@BmM=`+zAv@Otwe zO=q&04WeCFPDJ*^GWOVGB)$Ku_X#ur_aCQ!$2TxT{U#5Q$AKabaNFBq&Qv&$T;^=M zfK|{rX7A_u+2CY$6QN-`U{~N>3-G6>^KIVzeaaV3^-_TybaKto%LV6YGxRs?opJJR zsjAeHuM=2yHRkEO+Tn7^R9Itx^b({LPHWuvVxb{O$hK`^zn$kL?R^D`y zIS0)JaHMU?DK3MSV<10oL-?4#-HxC-GrX$qDfDaYQAMtlR?0*0{BBl<8vB{8S2D z=-1&qYLFB5KW48nTIE1Lv@DsGHcB0F1kC@u^i3`!ZIZwG-=)>ePAbamO(<$t*jvEn zr-27-GItsI(K|0Dn@vSIysIq9!?B9T9c=#GpfKA z=sH^BjcgJ4%u`jEo#qIwqCNe`?tOQYoz9(MeFe3Oa*NvK-A<&04R8y(m)x7AL5^{r z!b?Xp2c01cajBe1Ij8=nB@L)xObf_mXrlJjeuxNVle~uXo9&)YH`6}$xk-KoFRx#j z8}d&kgrjy6JC#-6`pf)4PuB@@oih4QKzV%k%@Tvf#nIjg8A zcjZhvg!8o+2Y;S!vO2Tt4C9AhmYC#VE7ZWp^L^W8$J2&o)1 z!4xaOjc!vv$>WtZ@;*Mvv9ukW5c%Pd^3b_C7Og}UIV6?i=gsC;AVGYa(TN@Igw-Ey z$9d~D3hF9&yL5IWvbIJ4hgn%xMxp7j{d(RU zXQfluO7AQ)hdaMpg~&48&AW687ICV3$gK@u+>XC~kSV6bsgqHKrVt54jNC$g0G@RT-Fr_k`VLYU4xd?WS5%;T zt?@<{%L=_l!?VztWzS{9DIn#Nc>e zrD~iUB}Q^*g_)ZEA_1$vWJ`s? zJxi+>wH?~@fUms-uXT54M7jXc&^BelKRe2c3-2|mueJm>dCl(t=o(>CG}OvQvWfw{07f8H&A z?&``tr5tEuNjA~e(%({QGK*Aai#6KnZM-x`g{qTBvA~{T^#Tnk!aubk*!v;egxjQ{ z@=x;K?#bOmDYVI3)XCaJ?UeqH=JPDQ(T?)&|1E`JcLq5H9NVmfuC9-Ljk}^YTI{{f z0Jj^Nmc86mZ1bJ)BK^&rR#2)Vl^0(`1N;{cwIsozaM3>eb{7&aDhi!k*?J_x?RTeo zMZg7WfGN~>N0F&Gl5XK%_BHD~eC`cvsCn96U@ZhCNeNEAT?|oolD$4sTN%iWpW`>R zpjLzvc^R`(Yhj};)UX3Jl~1J6$!V&R9jLYe})os6EosXsPr}{B`>S=s_|3{> z%%Q1fIXyEsolVXO6lY!V$lQX@ZiBBpE4rWFFj2+XV{(w)wO#)+mSx-^8=l7fDHFX$~}mOo-GH*1+Op-;w=P{@on zQ-Fo9$J1g-lf@o!PTdS1U@HHhk65P8W9yj6oq3pfHd^h4L$n_}KtbiDw4Qv7R_{PbjnoG>fp;#k-s6U-_DpN=aH@(-^m$dr6t9QzK@917N&h@d*Joko^ z)I9?#S=^~^R|WweZ0)x?ScmQ9_EGnD=7n4Qq?NRe+Uh_Py>T#+-a24`H(ZD5Fi`A` z5zXZiA~~*~H>d(j;kLc)H3eI!LWcQP^AC2fTcN9Fese!b_w~Gq{#t1)DchaZNF{|< zLAj$gS8A$DmG7KRY1F&S+zquMS}AQ9zR7ZGDY07~>KF5NIghQ4)=J}{nb;_3B{18g zVb~8oecg>B$1|rC&b>aAUa8WOkf$4lS5L^Im*-C)EQ-;u&1(x45jC>pI3!uw8^xuZAP_m41Id> z;1exVV5zET$&^W)Af0ibMfruLe`(`eh-YW8R{?BkI|-%VEW?~{PBlP6jk4Bf?vnG) z4}R9Ve3}VyBD_?xlS#8#J4~K=d(t#ZfQEEcUZBUQ&PH2NStGKE)6yfqI9i_lBtHl% zxzW$u9Fpi3+sLX)#s#F-<&*Z#yqZ!^>Ea;}qsc*-rsZWQM3Bz5>S$+$;xQ5@shZ>TiF z{r-e=w5c9IBlB3V2rtndz0E>;04w@ca8O=%2Elc-@p`+T+%lZZ9h~hTg6FNK)=8_6 zb9;=fR-)%Hr{hCv%qdk84aQ>soOE4Y$2>Sdn@!F~ak?Bf3stQzJkgXr zZmWQ;;%tc_=_VdjFp_#y(_?=A;_oJ@Xz*zWh~OB?W64?SXOn9kj6T zL}@i74;J0!^2~ns@rJ(T-;YpIr)3f!hDWn3j;=^+1sTWl$iQ4_=OoYlg3|$P&y*UW zC4Q+C5Cv5oyz{Uesa%j>h?b(RQXHL4jB-G|#3r{(d=+P#fH7WDmP{MM zE4fAMdN=i$EONol~9OS)-LylzBm zQQ0_ZH8XC)B}`*WZtth_4@m{&PI6t*OWuPcVwqSd9~BKm4e*w>YHIekZuAa+0{fp2 z7QBFjuFhy-CZU5GW)C;J+O^Dl=#H}BJdAe}xYh7ZweZUFgf{cub94Q`S=C2=BxhxV zU&Qa+URxf>04{Wkx#XQ3BYu)KJi>eE{z_R}hEj12s`n}GRHr0HG3F@l9z=Ch<-Ey804akx^ST~KJh^RM|y{MWP( z{NYxj|L3Wd-ONOm=wH?_;}wZ+GL2Ii@Z=ui)R-eo<+5m~ZebFeBPK96HbMuuf^$Bd z`UgDUF)+7Ia+qj_`XdE-`PJ?J%+`F4!>lSsKeRGuIhRs+D_j(Z{uw{JlpBrsa+0&_ z%8TTlLQ@{1`Ocxu*0*Xs1KG9L?69)dktCurWQYt#RoI(7FflVzK{QZvQS7}U8A)*) zIInOhd`2lVmS^d?*V_9jeUpmd*!0vkdJH-A+qCO}^_ta1Bi3rhIa1KRhTAYX86UcmRn4Pb)n=$g^>UzzTX1ov zQl_COO|P65;mR!LvkyEUH4mMR{R?|FZJk~ zruUcoa+kB5#+^@OITrIWq1xKdT%TIXLJnAFTs%AQ#rD<<1#{~r^Gy>yvvOXEmJR&4 zt7seh9gWc*r=Y?@#@mBY@73A` z(rCTNUq8nkmrp4oJoyAlz*=%zlz{7`PB=FXx~stae!Snf)WuqB zazKBg-+9k%K8w#Y-ri$9MX4y!uOrj*cGrGwZ(ve7V>d+CrhvO$b8AZDCHQ;AQCsU3 z@T<1dBZ3og+o{|c!v!a++>1W@_UPyCd)Gl{zPfkalg@ajF6a6;Gs>($Kl>aUlIifj z&tStVD>>3Me1;)qjW$k=(0i+WwCw6c^)o)ZC;0tuDo2?@SCIq#TqJ|zeL(6|b2zT@ z)+Hk?Sv(m?7c6ZhH$(OkX4(8+Nm}UYNUdaz=XxiT#@~3XMlx+3Q?qcZ59eo26WD;> zU1y(J!gCzuyY71@zdf7Y*(B)7%9Hhb#%{}$INsUoBt~_X$t?uW_tU-Q_QhX4iRtSj zKJaJwJl^QNg8TKv!SUn@p5kZxD91}3q&HpxaJBYcPX3PMZUxfuhM*4klU&(p%!`HS z*|>u~WGHvseXkISXk*19vXgZy@mHJA0Hu;_Z&&X~g$u>J4y%&Bn z@1$GGsfcJZv$iRq>C4gY)!;m-tH$AI{mR{5Rn84_b{E#R z6X)_UX2r+MO5dz8R&jF!9@B^B4a2e)Snr+QZgp_v?s6^VDfxdM6Vk3H%iCP7{rP_y#!2ii9$xzX}xAr`zjg^3my;5+-E67>< z25)3JX?e~P!tno6J}+?>lPu9w`jd3A>?p?RjO1Jn;(z`_i_mu{3zak=LO1!HfBHR1 z%nW)SDI7z+1*ni;fm0qQhhv?U6imIky@EZlhtt;k&0j}`%6@T=J-xEt3@^%0rK;9L zQPmId(Q9cOUnlaC8kURyJR;YW7f6TvmEK{ps6W~^v+{Lg7J2+*nCLT;ll9p9;@4-I z%PkvXnOse|A!j5>@mB&~D?YtsBujo&r>LE^x_HYAqV{etkCn>!%jj4yV`ssGcF=xg zzPC?WOUVK4;%;_zZy%UQ1(HmAlc%xC@5Ro2T*?HWRZne3-`6y4RA4oG*D|%X_5s&n zg#3a$snyJfjZr5BoW11wo&xD!g+4c$NunuQ#fNrhJAw1o&d;Bp*>5lXE%#FfG2a|h ztDrZ?8yL@9+E%$l7swtI9MRHj>2Lp+j(Cf-f~hT?pW5Hyc6ayLm+Uv@S)Tv9c;G*y zoWJC@^B(!_*fS6E`+iX`i#T|nK(TAcZdLviM&RJzMg@deZnF5mqKd6DQ!zF-rS zfY0guS%QCinCK~%Ny||ntafhWZFpxlAlvCb^Q%*y92L@oIR7ir+?B^K%@kC@&q06d zbVSdAp_;iZMWgO_xV2|8rT&G+ zzY%R#$524EV`7|YeD5N|? zbCg!3Adh7^c;gYJ12a=1`J1GW1OEmtvZtNLd|}Nq+SxtO`j)ZN;cggBAI1pjIsY0a zzmg`=vA&#dAf1TClapW3=)P;N&qlv_Tq&W2hIFYaZN>YF)|4YfET~_1uJX-I-LU@$Q%6N4y7`lmu_^p?h zeeZAXxZdb>HoKF(N$i6M&}VnFJ@n}p?Sj@+(4jOa#xhAmq`acBvKx;>Gv?1cs;kvN zM_wJB|8V)694&X|W@`tU-b22}Hhu=&I~V$({>~Mvh@HiJW*s*Mfq8$xw|dQ+>n)P< z;l+K)Q!<^D;FjS1*Ti*sqsStXD*y4hjzN2|67J_2oK0iS_*(uhude&jK2CRSv>jo# zLc7r$4eSHAw40PXkd1gD_mQ=*%YT6*qX8b<;c`x}^BL$^R-+@g)erh0Ro0UzZVHQ_Ml3`y8 zz5H!-YuoW7(L>H+X6?oHRdN*zn?2B$eb7%X&B zu$8&m*gyif$THeleLafRk95hkk$e&$7kSgYr?iTXbdS2_K$f<#*DT}NZ)I(R+23Xj zHcz1ly$pWyhjdaJESBP>9-#fD2K6%P7;PbY)+=&9YQw6Xk=LT|Z-(Bw0J^PFXrJGC zWAQ7`u(MbhX<0sR7B-fWWmb|_@6z7i!7Ty#KIhitoQFoXK6VrL%ZF z#%OcZp4wb=hP&t(tK%<#i@QSZPK^1=s%R?qDf57x*uKiPaNSMhHT2ftGG4{M_JGn3 z^DjuLVaa>p&mQbXME5@YhadRxE*s z>ldSa60ABg+Mv!%;tcss$jCTRO%_-Qj80MJ|aB^?dar9VJ2J`O6 zEPGB#KyF)q^&H;+72qMeqyBK;uXTdVT+gS}{Nljf*0>GyN); zNw64#)@vuu`R`1(_0@7(6EY0fYPWP(y{2{K?J6d(B{6>QFC5YSVt2AEw!>P^RC~7b zhjWBnhKVTmhJ*j#$BFgduSpcG)d%?_rzov_+OEI}eMqn{xfBDKYGBBtY(6Y@chj$N@a9=GT%asxkouPYIC9_Pk3i(3Snc z`*heIY%f8ZJ;e>VDZOdlFjQ+dy%%0tzbbid9i#+IOB2*)S`ob-I`8Fy|FofcCH9!! zcoAkw2XU_GaNu3}v?_y6zCg2e0@U}8vyTb9HqX#n5FpW)Qts6e&@$Xx6y{&hRHt)E?HQlgN;}suNN+U&a>!ESF72X$H}G^_wgTHB(Lz0 zMOzQa{?lPoEZD+A__(vs4{#TS@<#u$f7d@vqd;PuTzlmwWGhyKiJCxqdOdBmeoWm! z&U}0c#SbMDUXc~q(yTAey%SYsy z+#N}j-L(0x)HC8nnMVfhV>vqtVnseF{qU>%RlR&nbqD<$u+7V0Qs%;*l(Oc~Efuss zu_vUpk2|fLf~ZxC@~$^S1u;b~q70NZrI9>UbVb*24i>Vi_?1fa6?E)3_Ohm8Ft_$` zu-cx!=_+nbrr6EqBGP}yJL~M%e0#(FAAUyZBdUVV(hcvB{}0)HH^JAEp^bQ{M(fAb zIPDIejM=KI-c^=@w_KMq(?FTcZEde4MRuiK(mDdyRS(Rq8&0av{$jrqc{-P1^((m# z-OBz1sf0*KDo{;5lQupuj67MDbdF!WJL8$@R*~|Sl0LD^FwiZTH&4MGeRr>M$KhIs zr+Uqa`i-+{qtk?rq$J)tKbyQ*zNS18&Cx8zX$81D+lmWHU6`|5azS(q`8c^|%74q5 zC1) zV9+H*EAr<*OX~EYNxj3U9*%e*#+L@~J^5+kc$w?=3FthSe+o_mnfm3NV+a3CTzc{M7 zoWAO1BrB?|oB&n96p-6mw36%gEPImqm%ZA|n3I0^F}{VWbTiskMdTFM*@e!dH46sT&{>s`XEQz7 zmC+)M&ZT_P3BRp(8ja1L0I($NAoMuT5`+j?>2Vuow|GYl)m^ia2s^v z9&V$JRMP6{l)+j7p4C3|@m7&Dh#~S7a>vr4FguQ4rOUi`Z4YpJCkFW!gk2y z=#QTI1vv`q{ibqzl1Hm3&E#cD2lY9<2|zcl-z$TtpXpeA(7^fr%uRmC@jD8EKL?aNKoyEj%6Mg zXg+N)&woZ(kbH8ae1Y7@Co~}CbK|VvK!Gz#9lRz|wEwTa-mAgPeb$X|OQ6^8>r{qQ zTID8Wzc|dFwNrVctx^>I4*O>%d7Y5q17!A$BwiKH+ShIx`I9e;2Phj>fMDHs_L0)M z-L8f9xtV?5xlR_7;TZm(QYCQdePWq9T^vzo$V-$V=wXkevz^Ip^^nbJtW+F5SWU^o zmwCnwxQ!Ubz{)0cdD-{$UI6+>?A3y~D17kW% zF3AEqYznLC$wAQ3-wZ*^oX(q$x+sCA!E552Fsj%C%}ubcpWJ@5&i6v`d6^vhZBkM? z$MTR2sNywPgtlreywOqZaUd%g+gv4?HjFcLwA6$`pF?5J!tw(c48Nh2@lZNwKp$Qvi!#8Ev;rtyF?<0PDZE@hN-QQnT~ zYdmLjaw$ft!;CNrUa~#+TX#}x!<0>I-qUcb@AuX^pRK3Xck&qWn=|be)@i3S-nduZ z4RjGh(%?(0kW1pO93som|mF+$PzWDIfXUeIfeOvhtVSERZkE&?|?9qtV`t2X7SpRbk3) zu$=5-uS9B&UxlglBz#sS?~Qkdx9|g9YMspV_>WSXD?`PYoi}++yg%e^a-^uFlz{UX zCMK$hlmc2GI@GR-0qR;}SCy{Y(`aq(@V*QM->xXeD;CPd7yOKav}JmP=4lE&l{{pUhLLV;9 zC{sZcvq%|ue@oIP7Qhv-)_I6t{-?duY6XXKp8Wp0%%N%Rgw|1Wi18~IvMTzp?NUjm zMO`!0!~qTL6F*O&H)$WA(Wv%BDN{_eLQ#6$|4I(QBlo$R5}Ymz&V-XzRr3ZJfW6I4 zbj*x3hoPkY7d>egQo`@jc6C!}s_m1Pi)`TP9*XsjBo^dTcA{b`qV`8|vQQoi(>Vjp zWL6YuH{2oKD0sqJ_6eA|Ib?%%Jowjil|k~hVz2dX^fr^%NM{b=ns0pfhWx1p~Kf*7;9Ot4T_G@l2ZQ-vXH~P9n@EDH%$$O6Y%kdZ+9T zG~>QEhLB}ngDi=!_KM|}DCy`ld?@6Be`ZMMby zEU!StG@ie%r)E*o$q)Q`&R1)QktCGb_(^X3JaZH--o7Nlt#g*sVf_Z>Xe4{kbafFp zWgjt6c}H&gQo%;67D8oofP~Eo%2NK^^YUf1Q)m4GA|OqWR(NCFyljKjQ0{bcl6smS zfmgeR-&fx2WcKISr_nxC^D9V4X+Hi0PZ+@zE{nWMyl98luCaWNiGMLXPb#+mp=J%I zxp@?Qa%-oA-4TAH8mvhcuLdW}On)9zXl^>s>ia@oMJ{zv*`h5|is*le73whgBtKak zjcmvK31Su?SpYC^iTY}xFJRy`K%wEI;bP=D82M! z+O=S3@(9XlOTf?nrIRbYdJ>;`d-;jfSS*!aC<&C&>QH`vg)Hm}petX^cIHMhg8qu1 z=)_q~$>Uw&XOYhP`(Z*W$|wBx@@#P0T69Ma@ybXW++6-wzpT8IeIrqz4jmao^dD?; z>y-m?JnbE+F&U$jpW|2TxmAr*d(ilHhcKn&lF_OAL zp@Bf1s9)w@z9N-En_6D_7xnT^k|kG5hrJ{2blAtb<_2fHRotCz*W>xGh@+wls=`;a zmMnByxerMAyNp}^ku+9$DV}KQlrLmqF3>un<@o_l@)eEbQ9RHYrPQz(UHoEvo~g*U z-{oFr+g^98do6C#1CU4bMh84V-x09UZ)tk8o?LNd%{_1b32s_T`s7|>;?F9z^;)}W$zfj% z_O-=J<~JdofLv7XcYn5(#<^jwb9Q>WxPMoO68Jny>Ei+^l^=?Sk2?m2V>l;EB@&~e z#V1(cm7vEp?Feg-k)8Yfo^{Fea63FhS-KvVLL}RF4JQrCiy~42xiCJN;be;5Q3t}r zZ}taCG5%yGpPJ%;x?jzw@70Q_Iq{5c@|#F~y@%eft!RK%-8yb2v!m_pPI*_7FUk|( zaz^6opNZ$F5If*=e~Q$`KmRMQfaH+o!KHL!Oh=`@LA;Uwl9KqTqzNcS^LVS6kutGo z-n05!b?x8mSP-%zC=`}^vUeL6brDYckm;EjeaFuQJ{2IBv?w^uYOgAKQ^T7MlKi(a zp5MBVw9P+6dtr4ngl*kXsMTM?UQCf!N)Oy2WY5(y1MtWb`CN0VN7Vn}u`J--_0e_W zQt0UqlYh#|(Nzt_b2U}IAop>K;9Gg^WbqQRBUQqaG7ufc6Ssvmoa~3r#xT5LWxNRQ zD89UAk|s-}EvG@@^ah-FAs&%G^?mv!T@UoqtLwMHEL~Aiy%RPnd}!q0$m4W)Pw}67 z0qe3+$|w_>g(s}6XVBpK&Dle)Q*!)~@%DZ@Ih@s4bsH1W8RdXv@a7B@2KbUftHl?s zsNRN2v<{zLme7f~_n}7dgUl+%6TC)U?a$;4{%d{&t86Dl0)keOT5%#|)sm_iL>iHU zMA^eAPO5WX93s;xlBC5RY{8&p-tS&}udh^w`EoTzO`Nc{?@w~rgXg*(YU zig#j%b=`XCzI1WvGcDd_6@QP&McSXpVk#k%nU)Ek0=HPcZ)ur ztiFtHuO_<1a`;zoI^#&B&riPBBR0;&emVG>>fTK`qkKE&+Ec!Ane_$2o=y}-^t4X(O1pj*;d~+yBe>b90KTfCe6mjQTa zGD_{`sd#`kqQ4#`QYuZP68O-Xac>-Rqok((9CqSo%r-m3Y*Ak+s>FFuyvLw1>(DK< z@Gg>9b;OTigQy29G|p?|KXogjV4369lx|34!Hj=r{ut@Jw@v>4S;^=rfNIZmx4EfE zAneUd`IL98BUzj2wKHm2EnF+Dnd%_id{cr+!_EgDqTdtR8hJciyLsK_;1)^9KX_>-wmj#uGm3dRI~w5#(#@-=pWuoIX?5uNx{YpPFFfE1 z^6fs7g))Y3cAHbkTV|9o^M~?;dRwJY0AumB##u9%WIytm7b24*2m1Yw>H_s*uv^%a zh-Q(Ug4Kf+NT&T8rA#=e%K~LJPl1Hy^0d;_uLFD3*o~lfc$iJHIc>u~r0UWxFxByB ztp0&lA4cozX;_av+-e`V_a>tSD5Pi7N1%?GfHL`zmO*pyUHwEiUf!MK{Ac|%t1xrS zwtlmAqI2C0=DpimZ@o268u`p3W=@iCdRoQob37jraz>F3ckwHA5&TIz?VG+dFfdpm zEK=X1?_>H%Ns2;F7}q4^>E#KHjZa~IG}c>7tRMEjc5lCspBWTwyW4^7bG9?wo6nPB z`I=k-*HuGphaL!of=9zLgzpSrNo#%Uz}UbW_|nsUeiD5iqkPHjRdVxyQGG)_+{T(> zo+8_6skzm@ZasC!!XJD9(K5VxAd6|maFDo8Am?pq`gx$H!()3unFC9cPq&qE^lM!6 zV?+kAN?WFOruXct+s8={0$k9pV!e)g^)rjv#Q2>VC!UGa4vjG;TO;kHXun%>FSqdL zOXDGMj0rfwje$PF80EaWN@P-g$Q|Uvc>4qRUR5i-`G9_zm$33H>Ct_R(mD*s z>{t{?$?O?8;O(IZ#aK*e*ceSV%qyH6{ zK|g@UIaHZ+KUv!7zd=7002QbS7dOf|WhrhGyS$SIb}!nb!NbVrOtJfr)su@eX)|d# z+rvLcBnxjJk(-{HS@>XQjv2J6Bl$pjHiM*(((8%gkv;XZO9G8kgvv zUo53~z_!kwfy-ei&vOMl`>y1$XQP^RV>?u8?Q) zEm2I*9(b=0Cqw3v`akgXp-K_Z@YiCSw9}8rrQgDz;%@NnIEzu5+?N*nSENIvA*gs{ zqn$(UK6kn_OPVWmv{fbbYCO`zMgyL-l3_jAejM<1TQ zAM_>RmoM@6evYEYy&2qQ*@z1f*~6=aHPUMZ9*OblA}1@^{3ET5uuGSeMa&?J2e`X2Xf0otfNA}F?pO$bk|{|q*Xn_+zTvh@3Uk{Ze+Sd{d7 z)Yl|x#Q6lzqG}|*Ew1W0K*(6(sNKRk8yK)wc{Jav&~es7i29)Z~mK(mhGF zBH2LYQJ|xrUrz163>Eym^ke;d&7PckTjfov$PxOS$i#`)YD*$gCGnyrL|hBIYHIRc zZ;PT=>)Y*gsWR>i>XyKEZcldk4xO5-xf8K153Oyv*Z-P1_*xp<1zx>+g-MtSx z-aUyg>P)AlM@^VA5Mv#8xBQ%A+)m_%{mff2*T!7o1(F3T2ec1MUyS(J_hT0452-dy z4@<)*YJH6XR_-VBV^Tfne&^Bm=AVm2Nr|!~y_noow@44^)*I*9%EMsQh@nYyCj4Kj zo6(uVb0ryLS9dbWo^w$h8lGEC7Wq7UY2Yd9mYCRa*4<~_p4WL->qX9p_mTS&RZH>8 zt?d*+Szt$vOLQBb=B41Ez`9^lJ-20BhhAiS9s5jvnk4M5zA)3mY<8OJ=@X`Hm})j2 zpbYmmKRomC{)g?ZZe8-L_$v?vJP(ZxRd;h3Z)nj7_rEB4-5B%J&zWCx#_o)_!@{CY zsx#c^pVMMznx*{7KPtqQ4Hbz^5EvW08=M>YPt=2mMN%sF^!Ir`9?&mlhjr9j88d$t zQCsMl6TVAyD)MD;nE%09`fmQGX5U2YKxvYFD%8mMXx{NF>E+c`!Q@(G;AliC`eEY| zO^g~JH6rTi*O#%6zKZWp!u_!6sVk;Vo_TV%O^F&Mz5VUl=Xr1YzPbH+=KD<_l77hT z91nFtOLQ!dF)}v6gs7{DIz+`KNSmarbJxrHA?54ef86>uSv=KRMBRySBTolk(9yat zY+FQ+@VdcFUpIZ~@#6T4n5SD}lE0Yoe6yZXo1eB!hHjA&iDsx*lBXx#iC5z6>yf|y!_vJq(zB}!<`8?h8Wj}YvM+CkFMrldZ zoy>q$B5Fou(wE?=Iv{NheTtv*eEN&yUv7U|6L}=8NV*j1yXB0^Ju%Id=&sxdwVitI zd9q!m1r6;cH}QcFM?MbvSmk3@db%r0^Cc;=WRyuhbiMfUp`GeM?Qq20s5hJp-J~}1 zA!|4c_cXhH@L8~rHbVp9Gtm1yGoOE*1ohj#}j7{(?fkAFb(N9Z1{TUaE%N$lA z+?D^2qq6|6>Rh|I2nKa(J(sRf&)3aN@s1*yJ9$FYW zq8;u@AxlA4%#^N5Uoz@up0a}|SG8td2eN|4tqfwFxZ70>uG7xi-@4n=%zMut2v)~T zp&b0<*F%Sed7QOe-OWnIHrWiGkvBbZ@;VjK-qyi`n1l)2)0_lPAgw}bb8pa7TdX5A&HX+0 zL&)5a<5~~xe6XKn7`Qisv$)*Z-__l2_p_{a8GR+M zFA;sDI7fsK;0Lnh@jV!%c2kP6kLWqbvK^2lX$m$e)gAqvKSC;m2i-lwL<+`%z?NX5 zr-iq6pmwk~&L9k?kDaN_{HQhd4qLwfc%Cm6RV!FBrH-q6V zeXx>qzBnkVMAVjoR)>{T`er!w>gD?f0@DqbKgMyq-u7adu1m6t&@_}3- zb_g4(70_%?curO9M(N0V5x-p9T~1`v+wqsI^Q>(ES&ayjrB{)6!Dex>fIv9dI42eACM(K9ow12zz4SKTwQZdLIhgh}2URdvb=3Enf zJhE`;4|gPcmwqU12t3HXmpKSor3bFUu2`oiO3X2;g+0$oz+S7gQdFvHB^YTSj}8;c z2wr{?e^kuC_y0EkovKB@G7DJu<%vo`%$+tmn!AD_qr>|4bF>v0kI2pi|!64 zL{lU{9^$JWpbgbn*vwmCcYaIR49Z|ld5$l`|1q#zdQP-JX6Fp^*}g^1<7SH^z>IEW z^+6jdj_QFka#Ojc^3|8=8{=>3YoZ-i)*^kCN*y6;=!fNUsu0|zOb*hDBiLG+Fl5r9~*k1mQId|pD zfl_)qWh2~?6!pwHp|@3=_$Pb6NFl+Jc1>#{y^g*tG!k2i(T;zJWYPyN?+u}pLq^7O zBN#xOBlk#5YY_uAbui@_&T3 z3cVjGkSob0xqi6Xi>zZ3J&-wT4<@>)FJQk(oN;0MHQF_s@sDk2czEH?@=X~cap$H?8*;Z9u z(27an_IbS*x00TX7UjRJL{|m5OXNy%v)P`=Y>i?a;6!yGljzmT6K#h&M?XOpV6wTj z;!oF=kh0F9t}(<3@~4`r#mXJ!$H4=^dTIl;gbH7*zoGxK&*j%atlUjj1}$MT`^^4A zD(WDkez2~bTiPM-fDv}Ea9Ny=_h%dHfH_)e02cflo8kHV~Add=inah6uNw0=)Fu)W;i3E zv6I*QrPqaP`j)}yC1Kp`PkQYsxT#g;+i_>m%o-={lKy+n#Q&FMgg=5Sem~qWclnBBGwMD zj#*q!_NC-B^i0mG=vkAs!{6CA*!ZsZB2Ey~%|EPV`XHkjsGXO|Rdj1Ii#ms!BFEHZ zCCa3GQirK}NMgLh9XQ>-XZ1IFX?FsBe1(JeeY>rKMoIFMCBWD=m>!FsVX}P&`vd`* z{U=Os<`m9VB^b<=+z4HRjHP8NAQo*P3X^BZ!*Egih2mmQ zOCl2;~`7-_UpUpgJE<8Kx`?OQLE3yhPO2RG@d>Qr#rXTr2nn5vE} zZ6~?`c7=bEEZSC&==0di%rT0a%P=!5i(ZVAa1&G52AB^nWu{wY%w2j5bk=L=N6;5+ z4=%tvcxYr$99m)L*qAMho&*9M|M^Sl-|QjM!d>tt7Z5wRsySP_y9i;9iR4l0liEou ziudz!IP^+#1ee7&WCb#UXa|PGFlC=|M0KO+~0f&Y(itvH*BDcQXp5*@_|qMQhqOA*IsJVk+gnh##pD3CEbiY?jY=F zy!fwD)==zK;`E|=U2yICVdl6Of8v#h>iDY>fn=fi3+D~5mIw3VV&)n+xTaY1LA?Bl zGu{C?Me3z(RKMEMc3q?(Lh-I@fL&`BwAmgA6$J-cLif;0DZ<_bo#Z&vfmuw)(oXCf zLal!4K&6!2S=ytxXD+?0Jsr*j*Vn1bMG-j-Orpi^I4N%HSSEbB@3X} zw-wuuDPpGhCwGXegiQ2PBp=QgTg)M_7rsLlpeg>W-{P$Q(b>@12F9GtFc&8W1_fSt z$9mnKg1$r8?;8qA(jKR%W{@*Rdf7w6rdeU3CsY~YysJ_Nz_R^Ti>E*@Eazw zS!5)2!f0#;U79Kh@RfYipXe3PI=zRTQaE>vCBbnR4_-+} zR(rB}%vPligD8rIFfFvOIZIoGY$%9(0a_W5sV>1tGmZ zTDS%|!`x=ILcaR0!9p(N zUv{&ZNUvPsmhl7lx!hNFIi@}FND|a$YhhBqfUFE(dz4;BJ)jm=_M!*5RT(Vz)k><< z&>}JnTmOXfV-w~x?EuNPss007uQBLqytLBvg@y}lwnfhWIgg0x;tUbqVPqoT_>TB* zWFPRXklM&JG7;~ka)ciHDyppu}(g69r{>WHmcC;2M zs-h@m)%75zo8FhpnE-w55N*(L8~eYiZPAA`?Ws4t#A!L+f%JaoId4H3}S7 zHcPeP5$pns&IQ~>LeR2mX7x5_sH(CaUDkYdH+v&Ec{h;|?9BXRRxrPrX5w0LeAxZ4 z%C1wc*35S%ncR$g?J4Ru8VBRCaoI>jk`-aItZAegaYQJ&9ete`>InT0Qh?L--^Ku~ zg5JWKZ*8W>f#yYW6Im})k$gyyXcfMGLf&CL3@?SW!?}cNo30R4f)f37o~5g=wlgN-{JxGz#jN}UxDm4q9W8Sw(gTfc(JuVot{%Cq9@w9Z z(FW>C@^|I9alu@Qj&)5z5}ts;T^790HK13V1!15JIgMCr9Wx`rWqF8A)>-=s2u91W z*;xj2Qx=$b$IOaqF0H@3RjG}%kfJX#ee`a2mC(ph56mle2v?kcCN^+v7HyGtE_IF*WwA55B%xMsYaepmS3#M}Yx&KIXh~E+I{hSQ zm;rqk_5p{`!Q#RE+DFJpfBp{)hC1jO?g2+&9Cl{U(4py!o!@q$weS_Yx~BFhYc+@| z6OkvIrcFWyj@G}Ld0;_4q`#0ROHHK8(jz_2s6ixy=Ua-Xi8G9j*|&lDXaKp3;>gD= zC7V!L)-d~*$ykY?b)|u}dQzM%4y=hN|~8b_DLzg-9}$7bX#FXD63l7aD_0n-|p z<|Le7{y`J5CiW0xm;z{`Y~cGc0c_=~!-~F{YsnqvDpT93!XUf<(3~+eVzTt7Z_zBvy01{;Dz_7q=Z#CbjU@6>aODN^FGH|1OCT8N<9WFc& zwu%KDP54zjjn91$7PTW_QU5>ff-FHiAP!g$$W8VO@;+QpCG9up8W*(VkOrA;{{{cd zJ}`?)h!w@L+%2v+G9Yu1HtB~>d2O^E(uulcS$H=4fCX=(3s8ohN*$wpR4+99CV}1A z9W3Qjb|_N!2D-0vKw2DXsz^tjQ`=~xwVrw*WD6gIdQlY{wmL>Wb0hYC3T7hHv7yVN zuhR#S-kL%vwt+iU6h4nGbZ#2iCve7H3Z_{;vk{1m0*E)S!AEL@K38tDu{8#5;9Z_vPKfLzQ)vL&?|EcJJ0iWzGsVZ*ls+xmLgK(l5EOGZEPsj&u~0R{4TX(Hj2!7I3`&bBLA1eg7zu z>OJXig--c?%eg?u*J+>^{iM&nJLsv1M`5ugiH6WfU%0bnT74QWEm{b0R-P}Gv=1yj0>AtNEuP^+gF(3ffgI&TB0JyZ)ZC=PbEckN@Z zaof<_%O)6#0_%VS}WKqka71#u=zzZPg^k=_f!`v7qEiV(pUq-&T5<3(bjRd@N zCEQ-EV8LLx+)nzS4pg^-J@g#Sz|}ZFp8&CD18Bd!sLu2fY6o45>_Jr|`k+(0od~re zVSL(xu3I$ROB5A>t=R`F)B1@#^gervU66WD_Fy=s99oIX(a+<_=fnu3IkJL7aJvXM zFTgOi9W1JU?2q;qFqW4X{~99N5(CkEDi5ywJ$fXa2y$~V%qeTLdl(Aul($qLih-@+ z66hcM!M)v&4RsXz7++yLL!blJ4Sk^*u-k8>+#pM~VXuI9Pz9W^`Ea$T!aHBZE^9vk zGrthtXC2YjUy9$ydhAFiAVod_v!T{n1+BQ!Oj&DYnEjA1s)+gDR(P~pA^m-t%7Zh` zbmmVx2^)?p)>)&0)lS{1!O;$0!X@NDIP)KL81mbr>@?kJ)YNO}>0oqrgU!irA4NX3 zgI!*gmCy2F`4Y|n3Ft>OW-GJh@x3^WCfaZCgiay9+Y2|7WAqyE8J3_W6lH5<1#&Wb zl41A;oJO~%&zbRN5A}-j789|n_-~Kl9)V*5PCkVD=O5HMb^=Vp z$C0$F%->|IvCZHRtVpj0CqO0pBVV*dnJtG)X@Ty6I{s&}A~~(SI9=Sbu7JI@6ehlS zx*bR#S9ubQu@P;;rgZdGju|nQQ){4im8&a8ATjt9Gt>u4 zDV0aNsT+2`BkUvgYBYCOg1^3*cn`MGIjSe~j_HQx>lY-Qs(_(z6|})|I1d~&;*9(1 zb)~TUCOAk5ms?nujm2Q#t|d95KSrxhtp;Wi*^5{JD|@scaWkpbq=FmtWX@zod$x54 zov3Vq7R$2**hTbe@E`&pJawegu&0;?qU0iVrCL<`OZyW19xN@lmwSOSR|a%|Drn=E zLi@L`(cL^{-L)HVOZju$H$H-k;8!yn*?P8Z4>G;xOREGL=r!!YW@9818yM3ppUI(f z_6H~*Dw=kK&2z>jJY9REp^^$laYHNBERIWiF)*;+p-1`<)Ur_=h7PWI&JnH~&Vt-8 zCYznY^hOKszJ1&LAG}=Wz*U`&8}V)Q^M}JtxE=4{Pv~hZU=LwSQH`5TZKM|yWpPeu z29nKAAq8IX{_IZvDJ8I@?0oQ@FT<1enB7{>(A`=HGW=_-9pD39QIh4yx}{A9PvV4G z#yp^pL`wTJDAyy6?l32N=)<6y3>LQ7N5~SOLK4;42kT*XqSmd zvTw%E*J*U^+H;GzG?3?RA~Bd@G&Fjt!kOzLVZ(LVlH8TE_;h$K5w_R>nQEnsu6)+ZqsLDRk!KwjP2fw&CMOxD{!{Iw-ZGjQES_=qkkN6$ z6|#<8Pj-i!AzoXgrO4Zqq4ELcYcNB)sh-oGBX!aq%=r**HkTw0aeU$m@=NgRf5Rt} zMY}5>nsT+#%xX$cMyu!>eFs*>cX&4J(SB*iK<*SkdoKlIM;*1VR$Lk^-;-j%#nkkb zXi%&{Ml(P5jV0~*_B&+lK7&(r7_DH1j-(HOOl!i3RGBtN4|<$MOi7=NOi*jJy~5)? z+6D9dr)aZ(rhHV8tIg-;x^X4&YfooyUDM!l+?1+H-cBT9RsB%nj!LC>5=?y7?6Fj+j4739`p2^*BM zyi|S6QbN()e2#r#BXS(I2)g`qJiovOYC(2%Bw{jlbxFPyo^dPsQEAl6|nybyOVAIi?ID)P4Zh9vAC{>7i zRxRs<9fIatA~q}@B$X?ndFa%qfl=Al{ER2SLu00Kz)Uo4>w!_+vaOxOTDvh>3w|y9 zIl*|il5N3$hZ~|1>%z3p%e4TN$j`0iIK>xiOShb8E z)Chc*3nHIXf>qf5{6t|bn6x9f()>Q5vDlW|4*o#|JCGhi4>m*1hWaaQoT(d2kkh?M z)FTqmGAGQNNCl4rzb(}6WE3*5!4`fJzo%-%XuK^-GXy@bvDh_r#fh#cSg%d6*LVO1 z%}RO})d2J8*Mt)k0s-lBP?^m>@RP07G_{R#3tX?Q#A164C^*N7RzwFFX8ZCR@fPdJ zKj%K8)f3MDL-(Nx7)Fm+UNZ`_(%iQ9zljZa`X7x>V2?aP=XWs-P`Qz<+N}9Nv+u2q zRrhKc=0>{(HH{fapTeg@;1AHtxb}8lDi%Jdy;L4hel>m>`<5HTv}bF=136Hitlv^@ zD2*kj6bEO6)6&dYIMpdI6IQfSY!@Zc-Jo_qBhC^(I z%fZ=u5j7uACXfcGCTJm=6?{E0Zp?WPGfzj(3jxq=>quuI4OoHpE`PK25$DOk#Sta~ozH9PIiNfY-4l{$! zi!I=4ag#Wnsl#;ERc$MBZd-9D-lq0fPa~Ij-`=6_(yr+;DZHTyvh4)g8S0qn zYK8vydZsG34tuR1vMu+=>Gd4kTicBG`fz#( zkb+f*=#GuZDzz2JWPOlrb!fJ{QF(<~!U@no4(PfTkDlpk^pYasG?w(;+A8K5y&g26 z+uD9m&045mjVtCW%)f4-)zB7=;YQ>z`aB$JE6h#UP;CRDAdPVwZOm)vfpo*XeIT+a zJm_x&k@hQNC^$vk(6`E)Ti_nPAIG;{K?z9)kicfGeGpse{ZJcHHW1jXJ78rtV2}j#J zQ%2Xa44(6Q&_7C14$2Peleq%+&u7wdDH1I9Wz1N1vXN{=;-5Vs!|6!eS?U@s%|~QI z`d`YR%d_KPtv@5=Lc2Q}yM%aasl7*Cr(MFl>?!C`_vKc~Rbz!&lC8;|(%xvp(PS>* z{MRXgx3ZADPgD>bLPN3}?k)2zpV(hCsb^$9{j_?7&&{`DYcNacI+Q40!2W-~_0Vt| zv)DWAEU-SB`@VXoBk!vsm+L}~Wg>b540)U6)JEzn^MrL9O~>KLE!@Tpb|Qa^-wo1B zFJ!V_z}8$DY4iceRU4q@q#*m@V&33Q4C^>+dZneODV~CY3 zc5qH}MTV3_AEP{T0e$teOa(bXX%3>n9kf6T2mTD4RFah!AZk`uw<|-fO!F~4iq4Bn z=n(8sHMqi#8nyLX_GqgDKHneE01pTJ>8_zLa@+XtQ6xwv!mLJpTfvvDq4gcXRY zwiD*F+8~WyP`9b4)c>h*ctf_-!t}OssPc^%Lyfd@?9%vJz4R;g0rte#U=Y>NUH{ii zw^kXHIRT#aOl0?~=p(ej=2ozWA8Q-o44eZaZw;;ovj{(#gD5w-!5(1U(64GF=3<@T z`@9T?PjQj~3v3_x%ld6|I5U?g63L3zN;{o6g3in>V{Y(oDI8sdNOK|BK&cqaFtAbF z1YKhi*+>WxdSLc=Md_s9Frk1l^r3L<5PN@9;AF!y5Z;Q9=@H zpWeG#W$h3C02gGc;X8Yu8OTjzpEJ3ba-v%tN1_cDtSrxf(K?TrVD}7Gm*?xEX%V%l zS=rp7?bS|zPIwMq-(S*txwU^-V3228PFHE3Jc?byjRPllHQwsY z#bd%BFmzuOzVjqMllv1b)|Wz2u^VzZAHA=9g_KyemSjmc157XmbK5WWck5rfuXT_~ zp$ZEfxJmG?w>Nnsjx0kA0*w#pc-?{b6)Z;1RiNh#VvA76vGNlu#x=lZa+#ODR;I1J6!J zx(gErF6&4-i@ph_$O`@~pAR?bN7%C5#^hiKcAy@-g(BqX$|s*5NYd(<{rty*B|YDA zRv@cZUu&+}{2abyXne@l&>VOET%pkgLw&Ai1_RD?Z&T(pZkZl$__MEjBBXcHd1bD; z!nYWE@-|X_LpJ_G!_H~1v=wEUD&T~3mFdsbn-N*DmRGB$KU79;MO`rGJ-rTt+D8{JhKZ~t$3ADC>HacGIWINnQ)zXNq*qavT|;7 zz}UccvM$@z)f@VC5D*$0ud$s;K(@cUc){F`XJZ}WFR~p|jy#Q%)Fm#F9?oQwHd$Yg z_#)I>@+V9#;+>Dhb3!DqfVEXw-7VEt2T8x>xZra8 zsZovSXU@_d%Oh~gs6#d&B+bwSTL6J4h}qO}TVjd|i=Aad{X{lX#qLX6Tqoyd@;uwn zdPk18x|3Y6th`0~Bwq%xs3Lmlf>u_U2ph>*{vz{*C}mAy@*`~#M>fOWb`d?DPQoOt zoqSc{=-g~=@vM`@r(Pj?(~0nAh8v>g(TA89aEcJDj@Ea4ey(6|&+5Pbh^IO&N)-ir*+{y@n6y zuq!@9=gWu>>{Y~cFn}}lGsYi*M}gx~h}^|r)L+Bj%C`rcn2lC-qmFYoeWKzOtr)40qg|Z4ZU@ zaT6wDRp3pX1K;>u_p^|X_6nkvzr25sc3*vto_?58TAF1&*Yn$5^mg)M-!b(}z|Z_c zTyRbmZ099$I@;+C{5Ab$m0PMxHfNui_0edW%SVMoM{w{DhY&ZZ+OCTs<;4ZgOV%Rr z38vbu)wXI`Fdhifz9XgXk0L88zxo-ZUw^n0co_B}VrMszO6UT0}xq6|{pF;aA(S29DY7dSwHIb}}=nPaWGnKFng<_;rM z$*1_>H(0IwgB(yB`6<7FTPD&%b+VzIEUxD}xCF;5I~?0hn8UHtTA1C{vm|X+`jDLR z-Ut4Ef%_V|(DZYhj>|A7L3r$pi6)Qx;}FcL@486$CAJQ7R?F!hn8?*ti>SKVP8&w7 zCQb7WCN}p#tx6?6DP7dwN^2zw|NlR6ze=_a5V>iAjRxP~3lT$>b?$QP6%5|Ml*mcv zXKd_aiuhf@0#++~gmbL(2cI!e=-$e0NH_den~6L^bvjV79MZp(kd#W z(7ye|=3=j6Cf@}PqHe}UEkSM+%#j~Sxw# z>#ef|W(`X~mG%gi1fT1^=w^Ep*ZCDpGwvdn;!l^iXV^JWnRJdjJ1IK`j@wJ&eCUWg z`{O#qzl^ILQZ>X6+f);ItCWOX|6QUkHAiL9o*hQbrw<8l>HPfv=mqpD?Y5NYf1EYV zTQzfjM%lE>!EEU~+eQo#o;yD{Pr19g$~k9Q&$K#Hn)e@li_#14u=;5CkAZa~K%TX) zau=8}Acvd86FS1aO3#wMYpcC~``y8}{tnVU-#6)=e}152FhBK`KOXZX?+bKLE*kUX z9v=P2R?p_&(_NL^o`lLJE=1ieRQh+3z=Dh3YwkPOt{;8pdK~V0ZvQz<9vC+~YjnSo zH!2SE)RDTJ9CqyTg0@trnDl+Kr)+1?uTa?#i7y9*wyeW~4r6zY}Sw&=MD^TR(T58c&6^he zDkM{xEFH|sl`}vY2zuEKeK=c}U6;Rpf#HRQ7f*3Mi2nCS>zs?vt@k58CVt-egZbta zFLIH!`qhl6I<{K-_}1}1#Fy-@V1sNi!}TL7IL$j>_{cYMJQllwhxIAY)4RhP?RoAu zeP@(bNK5UWNn>Xk)JCx zVBd>_fA&i2{Ur8Dfls^Ny*28|9h|%Q8GI^R%N6NtRbXQjtG9K>lX>hu4pZ zOn;kQKDpetUF117BO)p`vtU~BF)>>Fl~2FEjDEfQU4GxPU_b4W6_@8s{uPp1m=gU$ zRo-R^ zD@zqGBNbUv{8hXwpBtOaYbj5^R{d4`_Za_De;al%Q!ej?xX{>bk)OCTL^=0B&YNdz z%-wu*;tt1LjaU+1BD9^5#G9TG-pDVXzwLgX^fBgHo|my-kA2SvGx|vEu>Xh{7hW{- zd{`^b{fx^g37=@+^XwjEFKd^2ReGoGRRU36q6X)=k+(0KU&xcw%m4g$O8TR~Sh*kl zncZtHA_C$hcOZ05q?NiiBm7f`&)G-;oQa+ueJX#;{M(A2DbgzHY{Z`mD^1Pmn*GH} zFxQBAga&d8=~ZU&tlgM;)@9}hN6p1lNn!@`g{$PC`L^OQ5SE{!pVP>$Y>yEcJY(wd zRl!O;s=rXLD&wT5*#|Onj9z+kS8eA6VLm^Nt;altTdI_rB&`Z=_f_@0&*+l=_Sa8o ziT@JF8*i}%&qiaNb&eG}Q-6X7AnBv2y;iO-7e1Bwyy!z=P+8U3d%3owPg5%TdsIYN z!Lai>WB3EZgJu0Oa3t-^~=v;X}R@xR;{R_ zu_YWI-7SfB^lzSX$U+&%1SX3qPv@g8$5O{U;(=XMZYpgLy%4fE>Sp9KL(>apx-x2h zfADq2xBFjae1G#bujlV94rDbU>TN{B{67-ts6i3e?e`|FF-im%!n_E39kS24Tl5Fs z`11bD`L@v0H%stGc~?u{10RGT{F;cW;px~1KC^n7UHq}WCplD3Gq69JQ3Oq6t~4#A zQ202LBOl0NMgsTK@!s(yw5?f`dMWobR?;{4+Dc8Mq8!v7vrR-L#1mdJYGTYcajFyT z2I60`I`{!E8Bf-TtQmnF{*huAVL`BZpmX58j|Sc0seQ$qsoj=;DT9M6jEQLL)z0ak z{b%}a&-IMT(hJ`@elOEL^rve9h|T|#32Ck@2ji4;Qt_WGg%CI2VWc(d;VjDV`is;W zS?9CY`!*RR;5_2!S|M%1nLIZW?&L0?r$cy;$P4Z!q4gb&ox8x%e+GVD3Y>OBL86qL z*BmFTeMT3xn^cx*N;C`K?@ElE5b`dpiF1E=(77n|0bVQ3ZP{L?S=KxBtit@YyzyDC z!16SttIsyn->Ru_ZhoMDPm(~miuhICm2r! z@0E@#v>?W=IjNrt&1TZHzCSnTc;#=t44Xz?&P4zs^f4z?WJV1@tt4ub|5ALuVX zkrK4bU{N)9W~8Tb+V_m-S;cc!p1)EEmpUw?-WRqqa(RmF(W>b<*X)?Z9llA^+8}!|^n_YIMFhSMK4sgUE1d zl;ZQUe!e;qJj>aVpeT&8D-tiJ9j(6 zU9X%q&{>I9a^wer>jBnZ-+#>4-v0o^7B@%Wsoq&w4mL;vC_s{0O|9(i?CO}OU;IDr znXb0HkFD%F>*(*u7Q#W~|2sG-&>*{JR>g0_zW&cM%5zVw>1adDA$w>RSg2jC_kq?@ zZhwcsTIss{L#t;Lg*j;>xJf(MA6$CyhBV3l%ioM>2e4&>JI??D-vO0Qv01l~)H(mLTMMEBGJ8>t(dPT}zU zc#W&(Cf{M-!?bQ`&a9!Ct?Uif-H@B^n{0mOFDZY3&K{gm%CjqTo6%640b?`|!b=-W z(`0jko@j4{5oL~^VcgdvRaLH_x|K3Q9ln3)$B-oFa;KM_#g4(uGy%-27BFfX(f>ww zh+h()6d4y)QD`olL=P}RdxT`)Yamr_k!Kv$P$+$#}{F&(U;n>_8X-?p0zas z*&yc}7AlB|j^)n0Y#FWvRf!&AM-UaTm#xgd;dcqc!~@O^uB5QU@Y`X=G zz*{s~4bkGj`d#7-I;%LIIUZVz!5TS0M{wC(ae^SX>OGC_emWrKEcf=17#XZya|5V5 zhuAyZ1@;^l4kpw8^!~=5=p&T0av>qskz9`C$V}!e(^N}UM}Xy!MIIuSVZPu-!g`A1 z8-L8TMcm;mB1~gI_caQu$=VY61vbbZoG-*DVK+j9VOH3wur=YcT)*9i*6WDIy~`aWilMw+RXc~kXLt8LnKLl_X+2XC9`H)j<|$tq-VViFZ3Co{lneDlG>vk)X1fzWyosh#=sjAJu}H6LrLpD3XW|5RU#_g9D3!&QuwIcf zBXT8A2VYStAoG;pQIA>heyTBgrA!SXlr&&vjvvs{BU74^P z!-OI(O?<*VW-cPjxkdUF*bX*iaqPrzhNgsGh>VPS?#>-@iA&=aCO!qjH9M7yDwBfbtrai&OAvui`WLWBd|+1hs?o!AtN_@ksym;CiAjFgJ9nyD*6K z|6?vvaSoeb!VUr#@&oal`U%2U2=P&v!gmUZaSNe7_e1AX$MMjUAw}GOxYCgedn*Fk?5v+@ zzj|d2$xhaa8Lg1)uI8-io*lb3uCmMPzOFvkHUv@wgM(v&wSq%~^W<=aFt3;ck*97V z&zCo(PD<_Mm2!+=Vz5xw-ORsJyQDS@j0{|NymNYDv*SACx|jQmt8wUdnDZ)T?8$19 zIyz&j@eiSf{V%#y#F3aPl)>(l)~fvi*Q91jZ*74l;%T3*eZ_8PIt4Z^TwUeRc6&@0 zpwEKC*8FR|lm=g7l1Hh!%!9L1+VNYg$ZcYuTj$ZOx})YJD-aXInebI{v2mA$Bm4x< zv8<3xBK-=sw}V_)94DRk#9w+o^>I$gtVRBJM-=JibS4YVb=;1BIq2dqn5?F?hNT)VQ-xXLY?N@r}arEC@ z1uKS14z5(=0`uj#%*md_z#qy|dN$w8SuXUK(Ad?D%%X>C)r=Ue7uv^!)sQa05UXGxFKgFP7AqeEYl97u-3aRY&7aZ_ zrMuS6D8io*UZZ2Y2GpOnLLXrjSeTuOS9TS%B*^RK6|X!}ssL*37Bt>szy)mzl2mo8 zo$1ul)esVXtdN4CM8t~7qM&b75MmrH`Rd|IbE-XAD~BFcKGK9=s0EBZ)9tR-X?g`& z$D9g7InIPe3uU2JRr;mhl+Q3*i2mX$wjXzn{$Zz^sUTUNhLK|`JR6rBi(E&B$?IGua zLQ#~gNIU3)TrutlX^|<`Ona-*!i-l!&>)M@ZfM>0X6hm}Mc=MpBs@0Kqf)bArNAbA zxOUsW#kW7RO2#zLt*jQxPN@cF8ROVF^i?BWdue?)nv+%ST1FY|5fa*6xW{y5Hku-c zipB+_o03XI80-1gR2nr6G~WDDS+%zRMj$==mD()Oj4ep46LK*XLE~$r9hB3g^}+3M z)H}qgjxLTzuDYS?BA$kPj(8Tnu@HzhhQnLglXJZTXD3NzZ^K z;Q)Ljzl3$HTa2VSVvD;<(A`JEdWsEPdH7`UtRv1{jJ?9ggUdRHTF&H#iFBww+)SrB zqt!To>7)+S$}0y!7ke({^$yC3^v?FI4aWK_YrW)H+|8>|7pz>yI^~V0edepQxL^6R zXQxj$^Jp=yRl;d^M@KKdCTwpd=}fU4e~LTLq&OQnyy54=CJXQR$;d(XM^CUKO`_>N zm;TAj<|<+%m0~2=NciB~+?*-vnBZ>VJ{vZcjS&w}<+%Cub!4B)(S_}75U9H_yX}tT z5@fS$nqSS{%2VZ#^g?O{UTiaPtoq_z-4qNj7d?n1*e!Htwjp?z=gpP!J~`Rj$X7U< z^E3*y560M*olc)Z>aQ*QGK=Up=6JKMy~}z9*3}-Q*vF6w$aI%9dlO3yiuu<*;h?$U zjx<;WdxDT0LHwnalE(!&UsZLmTo?WQIWVXZ;JS8)pEw0X@-N1GbAmcuJ7jIb-t0M^ zf5-HbNDF-<_mKn5YUT*^BTlI+)H&WG-twM(p8A12!7nCyv-}M4m(bgJpZ?8_vo-3F zA{(TXOW)4&&J^du@VnG;;R-Q=J8i`?rSv64LGur!Z(ee5t%cN2`Cm|BW|%dRcMyq| zM2g;AA7T3RymS(=fd_+BT+Z!s<`R-zdBqyyFm^gM6^Z7SYALf3d`Tyi7jmw^=765F zMXnk6n@BWu%)oPTk7$GDkheX8mdO!2H~o<;g|z=Y@c8OzwDwVXr!2(xAWEBnr{;D2 zG4eGUQVM%q2V4`xy<%VP05^-f%sn+`n=OzPABEn_|FkP0pSjI2rZM}QUB|a#YH+K_ znRMO2A}K0kebybxuiU^!sHQ|I+mtOT6&xOX983;=0+(bxw}2fAr&&vNk!-^K{n2V~ z9Hh=7DVb&FQ-1|3>v@&hR7aa2Zkr#J_HrCJurIWDZMWW2uP6{g+psxdXTrvYHw^6* z_FGu&cu2+|_d9@EjHcNLnBx0lxANAR-@PX6ukb(IOWb|Q=_DT{gD-OC<+PN}1$mgk zY73vag3i|Bw~(u@{qBLz0P~qD0)}r5Ex-C3268vN9EG)HbXKyFDr%#bH@fLf*y7AV zwm0(`{_m zp6(s&E2bFo4PuR*m#@uM4c{CR7Zz}lWSSW+8NP;6L4OUsfHKz}XZ+w+&>!5x9pV3_ zlet0k5$bQEfRZ40@>annDxbHbFVcTTKCRGXCX%;Z=mazhM`_LVS?IBk)B0nYaS^1% z>*@satXT>fW(U`v9S=A8DA*vzaXUd+LaNB{=&ABcY$5Y$3Rpf1&{n!j$1$5=cc~Am zwt&t@5|K@!^}=NkG1LNW6&f1r4U#T|E@(|I47)AP(LucG$nRLqI@!LYMI3-Vv;$X> zE5WC5U>G5#yoQ{_kK{Y^*ZEDx26LycNMK!d>zr%ZOLBGxCQF%Uvdv{bq6vIfIK_V! zPIJ%s6j155ON2uD^7vo+CkF0lzqNtXcW_)kBgwOe{s}_w6swd;f%F%z5=u|AyipFE zYJ$7X++(LQCG8}0l{7c_1`X8KMvDHOxI*-#x>JMDnd}N4!FHs6d-2D)ykZNXimRdX zh>*osBktqBSpkNfO4d%31Q)X!NTpSY&d4wv6>mCXaF^@@$HEb!1AS0GYi*N1YYo-E zjA|B%(~-y?VTWSV1#Se_gr8{@u!noUd(UQl%$nd$&&d_c_K!9X>n&jg`-vRiDUhIl z(?zL7bAmBUx*YrxTo}A>&NUedW^g+sYQdJ>n>d6fhh)g+L1PD+ z>tpHOZ2w ze8lZM9})$THrlV|LhT!jvq|t$wbVOk{qzK*llcg2!tJJJd0=(Dp$^o;v9Ybn4CRWj zP59-=9Q>DA>R=uPPx%bBlKaWcMb3KwOsD544Thwv<`ggmv&>uIeZA8*n}xJ1NO$d{ zI}ih?qxKZKHYnV0&~lZmxppLyz)$TWaB38xkJCpTgPfb(jY5ucWB4Ap`#*yfkhIEy zOdV4#9pQH~;Yb}!6Mb88|q$d*rrnv=Pj?N4~ z!YQc3@nTLyw{)HL2UU^`bJemXs5MO%1TKA&YvFa5jdfYlIs|K^fKg5 zqCQ;<-Sr- zE`1Di)CQu1{n=^@p3pn~5qFTxO)f=VEw8O01yPu)iA4Dzg2GlI84TvCI7#>C?s2xz znH|LEr+(9I?Yl(K%x5N#g{ zdAVNPIk0})urt|nU^rqHPy|5#omPbi~T~UQ)kh;9070r9D9eg7CjWqNnpSW z;Kne`P|)jjr~=3V+lWz7L{hRzkNNBF-q3=z$0`RSP8aJ7b;YW}II`iqa&A3fAbqLj=%r~@Y{!!IsEBUz((Rd?SzGr=YkYh&BCZQHi(jct2lCmY+gZ99{}?XIf#pZD8e-tJpW?(MGn zaK7`MgCcT$vg#lr*adw-(Hr4!b`M^%Vj7 zg6aW&b#r0g=T)iUq7T8tt)R#)mg)5RE`HAs0`H=hp&8p2PuB$MAX>#w-InYFr_%4e zU2t%o!zt~qVzYU$PJA^ZMFMs;i=doc4=tMrvr$ZE*Z75bBp&L*=5OyY4m!I)Y;t;M zP1|UVAol)G;@SF0{}NN!{cI(!o4V#7J)3>_rJjNJeU%*6Q`KSz{|VbEm)I>@g6_*r zbjF+FdjHrQu)0{Gb~(E^PFdAd7d8=QM2?8+81)5@v#Kf*XC3^Uxp%46DiF4>a3i;& z<=);*F-y#SS&>bNlFm*4F#p<+7a?n6-i%o_qcHzfZxW*%oY*8YF-%YN7iu^Mog-+ph0D73DAZE=+r@nkoWuTJP741|Io0-?(QHc% zl&{1TncT!h5&f-Rf=3>A+lz-vFuNmo@hyw2?(nfo8$bD302_F zY7$=7pHRsCZGA#3Ym|M+H^{o^bQHg2Nj!|I;_^{ezK}`m1ZWCZg-KJ|j)VSKu$YMh zVG_>NZ~YK2q-*#I_}QBu3p2R9Px^*(rh3_z?cchOnc?-qP2?t?jrG+gubBE2Nb4Sm zTp#&6A`nqMDin`x3k@M185%eh=}_mElS!$~W0?6c&}VxE-CO#Z_ZT1LYu3Lqi&Ml- z=&ZK_?EH4eHSdOL4fbAFJ*S3FI=KHubMw3=&`d1If1nHD0ao}%bC_GIp0byb6SVs!`_DnTh;08oTNhB<_dQm zKK021x1%tQbZfCu-%ln+y{Q*UBT=v?8?o*F(yC;(;B;}-tw|NX#JlZP!pEwIFN^Pw zzeZ4fd}pr6C|M5;_c#iyS5e{VMMUNk;s_qqx2<%}ahUuL8Z$l3UlPY0xrF~eR`#;9 z%Rbg_>nHx3^L)ka!p;?ZclzSI9+%ykjd*Df!=0)mI|)~GCB2J0{2tGnb?7X_ws%^$ z;mo}w_MX8TWdt|vy|)@y@PQz~rQ{?rg?y4bv=8X9PTgYuO6~FICaRqpfqSvlnfpp94q8V zPzyG)_B%nohjxTj+gH!Y7L+8YSx~~D+w4EK^-Xsydo)b#?QAF|WYhaQ&W_g%*;T%S zTUh`P?UVHS=lRx|aWY zA?VQi(a>lu#+hq!nTWLV;nkDHs*d(_KL2f}Ej-)_>{a=!efV}q;w>{s_ce97@xO7$ zeeJz>_rl)W7g)gFz$JGeSu`zKp_yrfOK6Zt&9-P4w)M-Skn@?X=otR|_D}l=akVBD zVhY^nQ;|!iu$O$0s$?Kn zpf*2mw)c@;Y38;%C(d9c^bs*eB!v5aPKL;FXt-=KX?0@pL>ubODD>dx!R==W1Q+wm zD4l1r*mgqqr53#XZ1{km(cy3#E~A(t&{vy@-|7P^8+tiq9lt%$j>`l&he)KSK=>e`8&C~L8O-Ru?L>4-j| zZPN&DabM9{{X?dznaH zE}358HO6OaFdly?QNFoCOlXMqi0vQeF9Y^5$Vup%%#N|cXD-1maF|`jImOAnkGfeZ zYVQXsh4%5RI#NR)z~Aend&nE>^`=6}Z7!)-)Mf?cAbjdqiB;%yEVA!N2QQFb_A^n- z*0{aAFg4hpbyX%F(^9RC8fN!##8YnhmEpJ>yaJ$gY#I5As&z7sc5-+G&DBO1Sgez;8=1 zhqLg4xQ+kG74b+cv?`+5@X976p;#64%--WWfmTOs=CsdoTI(P>$N@NE zj=@7F6+2T2O%+iPUxDK?Cg=8F{041QJEo(M{0BF?VtDKtdj@;q9fQ95dj%&7{_OAM zAB^7gQD5{nL$GxPuEBUwK)2A%y{+EQz($l!+Q|@}VOddwI&82Jrm0%1!c}2ig%fZ> zH>WG7@onrA%gJ#*wHu86uZ6-a3p{>1aDE zfA2K)XEA&gd*Q_UOstU8nc;MWR0I$p__0@!`_d13;2oJ)+ zOQe)ZL=Idpa>*9fAuBmEz;1MJ2CYKv{q4;Q42y~p_!W7;y&Bj>&$v#fLQBHWhUEj4 zCBxYi%7NE#1xBPnY>D?c72Ia|OHV#(&>g;TvS9b5hE~r~#$I zp{=fbVaka)xcwzX!|IRfia*UPqVa5%kA2Bhc#)LwMtj@TFLhL3<@q!x-zJk~(1c7O ztBayC278@n@T*&-V_To`vd?SY$ysKil|vMiXV_*Rs1A@HGwYt-3RMOlodqhGz2z0= zGgI>`R$9DDG`gpAd})K`IKp2A|K?KM^!%m^`reQ1)#yAu#c%0~6+z`Y%j#rRN8zD~ z3=@Ni5xvcEbytn2yNlEdalOfk6Us__!{=J(%n2D&l)(=)iL=nY<9mjGZ;&0!cS^3Y zQ__RH6EBHqf6FLSTBI;vP)8|=zxZ0U4JONA)MFNVciqu=0l(G*s6cH!SKU;_^hSLj z6{dFRIQ`Zy%u97&*Fsn1x;n>Oj?i7vp{$|~t4eC3nnd+m&Q0VVbjP}D-QsQrcXnWg zm(=^l9Y2cyQxNq+dsI;WA-?^=ALJ#9%RqHjU8|<`n)m(%Pp_WxHh!)j@xX3^x^@}0 z3{9tesH%Qf`Mr;-ws(m=qUUO+_X>rJ_2!i>rdO)J)mpEPNpBKTEw|xzUFR7GJ29M1 zXtB(5>NsnyYE~Q~OAYUa`^9VQ#R64qryr|N>>AhMc5kG|yUICOjh5qcbDsU;UFi1g zGC##yc>@OeXuGMiz#3v()BYJUK{u5oy zIkT5;^1jYxKB7R?T7IPJh@?~9W0l4KBevDq>S%VFwdMmk`AYOV!Zp zbxqk$RzNE}nS3VN6J6HwObh7B#L;(db5+Faq;sg|UOIPwU`SL}bjtm(4-H=9?-T6cf$le(@dqz1 zhS}Rt`7Gch!$Y$&bwpPfF%KgLqT6TD0Zh^1^kmDx)CYQ1)xN+AHwIn7A|m=buN)}f z0`x5A*s-Wz=drWti8Rzwlk9FHAsQERh#^ZwNqt2{xcG#6QGuE&%B`X9xCgzaZa;h; zo4bYaz3UmZKPp{R^QhmE-_WcmBK#to^TwVQRFW=WwZES4rgOtr)Ylh|<3~F&+lSli zSs;=5K#xY^kz7f9=2k5RS!{sg?glmlv#AVdu%;od=e9$gx3=R;;#Bj!b1Z+TFMucP zNqdcn3!;BtY;guTji?Xy>HJJ4`j~&kH}oW`>(%6;c;0k3VPI+0_lUC*;gN1+6t3gP z@NI6VKjZqER|V*eKHybYK{g^N;!yo{nksyTYF`a%lx=}9dmZr`>1S>lkxjIH`wtl z?1Va%t>ZGlw|+epg1yIl( z?xe8GTUV&1w#ttpg;UG6d|90MPCgsWFc7p(GJ{!h6g|@I%t|#* zSN7V$F#XBR?_m7ie*7;x&`ow0nYqDNbXGE5Np9h9Ya3WbVLXDm!H8PTj4&69i_P&J z{+oT6dEQRf)>Tzca>-;iit&2Xlkf}wfM;=h=d!cS>TB1+V|}^Z$;s;b%q$d-+@P$% zI(T5nPxM40;4f5WC%c4m!fs(5mG4AVv5R`|ven$W;H+`ZT9H;UFw8Vm{*TDCk9A67 z!9kqWe}e`*u$q}}yxGg*1~DX;)gH!GJ(%u6x*+~!@6f}_k56&Yz>mmUN_ri@t?ovx zj7;Ulcbl0RAe5g~67Qz_){BC9HCSiXL-agQf>-3bPbQRpb3C*EDRPp?C*q2QM2%5I z&t6^+W_8a|6-7Yys;ZNJLEr z3bB)@b&Pn|TqY#f&ogNIEoeR$lyR(=_%O=gIKf4OVgyyN zzgmyk(d_}&|JeT5?&WVujd0G_3QfYh=+LyKa=ygAUvBkGRa5uW3~^h`aeAW)chC3VTb~*IVRO^p5Kex+(E3`d54~^jPL5T0b*PM?FRl zRNtA-9iSfVhJxBdrgPJMN37y_g>JQb$Xo1*9T91%a@(8uq8&Oj9mQH^Iisu&==kMA zCu5mxj+(?GP@isSZ4Yw(zj&xdK{IjZfbQPg7Z{Fh2pW?S_a5qPucuF3HrU7Dau&(_GdYdh@G9;g)Qyx z4JU@DP8P%jfR`*F%-9UP`w_6N+9(=7sGQD%ds>626Y^s(f z_H#5eH=%}_KN_VWMF?N=i3T|_g9!}6%wMN167PxmxHGue$UL}$_%rSV2Nu6$%Nc6Hwh$m#L3uc-wV9ued(G0D_Y5FYupIqJr+-s)=R>GIM8o1%P z-fM8sc-}nkL14B!gqi-zsQ>7gcBA<{3e2Y$)ofcj{^LxN8`{ZuQXRaO>h<5J{{fPN_BI~^P%f10y{~V4ro0)0;G{4PyddGOCh&hDb(LJ`{Gdl0B&dw|} zT@HysRu=IZck;tUn6IANZB2W9SB_GP)8yV@DA zfCi?6cIc;4fc&2IV#8BRL(lRrQT!m9V|~$IT!F@4Z+2iC>1jGEIe7(K*^BgvnSDEa z&3x~CKHoCm0Xsh|=*ISY{5Kn+)LMlaEH^#S8k3FZ)> zssGFsrZo@gBR|j=_2YgjZfFxS)j{i-HQ(CK-+#p)7cCSi$qqxAMGsLa)hjQn5^4$> zDhuhYv*2BuABWlwys3XosQhIv$*XvbBoO65c_UDW8S2}PCzcD}?va(-c@1OsFF8Xt zCT~=vOX;s3QGbkPqSBp+`OwYdjt%??48U!)ocqN6Kn?!L+o4($Eq0>nw@D;nNBTV- z;sm_1GQf!VC~#C|=VT~&+z*`xROq3)rw=pX4pa5$-YcoP^xC&jm&=SM@f}oH9sb-? zMbI(EA$qRB^Zo`pL36C@U|IE@JLvPS=f2ja_PYxj-i4U7$DF~-@s%0CPI^Bu#3Z;u zcaD4>*)K9vR4R~+`Jjt==#;hBUPpn97guw1T|JzxXBoLyFiG1=9C||)dWMdtjL0Cr z(w}eBCrv8+eWl(8&$EWuq+Tl&azJfUqe0+cDExJ5nG3IB%_st4VCH?Sx0eMTw&dn3R53pNdXvw3XVzI|L{c2Av&skhiP)t( z;awivj91$^tA;t%AhKr}aO;4or2nDn86VsYz&UD|qPkFe4> zldbg5O6zZDE_%-wop-)czBK+*PCMTZyS8(N+0J;TA_4N%5^AOF?E4fWM-Ku!sEUTs zTqeSe$Q9{et-lv@iBxZ8O;m@&KryP|gz!-=wN}c)Jca%89-pBjxh0tS`#16(aU2E7 zP@>@sP@(wntrm0lx2kn2Ol3jaxF9uNFEnD767L(bH*pN^`7XMenf&!%=+Eo}8NDpu zfMCpqZ9IYJU4>3$Cn)xOvqP^?#Z@M6FTGb%uaFyX>%hh?!W8d^P6_JOMr=kc!DofY z^)eK%r7R#J|Do}43N)>=+%0WR#Tc-eOyU_4dn7*a)zowe@3sAiNGP7Jnht!Qa)@L$Ol{{p&euI3P z6a3<=F2IdZATSkWG1(GCrigXU+KI>aG2WB0vOAxwl+G74lo#5YoOn)z<5H{UgrW6? zGpxXJ2QXEC%wE(Qb5f@exy^0xmt@Qs22-Qg5C*hktym;pqRhGgXP?nHrtGyMaC~jX z{PZK!fSEjzX(o}_X5JHV-=IJprK268*VDC5Rk2}vmva}QxwcomcQ0_`f9qZ2t`!+M#U_Grsr|70AjRJK)vhYKqXbql5DExv}sCBl%`M1AfrJlJ? z0_Di?U}%dcrKsBKyh$_B>J1s%IX9_q;@T zybASKUtK#|A73?6amaXu_}SC+JXO@BK!x_9Dq}J;nOJF7$;)DwOfT=rk#dzanm^`Q zCu9Uj+6iqB>TJ!k!|1`I(BzwfYj_rNav|y)r5lkwH-n$Q zp+7xc%<^VTj&%PtF&$rD$3$!h^hzrof2)rNHR`SIi6Vl&`N2) zh0D;?8IB75Q85aSy)MjY!T#_ln?Tjjn$MOO3?RtV1XE0iQU~7W|#8Uw9oqfvc@>;q_H>43wETqX%*t#r34XKX=;i$I-jY=Gv30i zw=J3S1p2|H^iiC*mg*1m3K!72ZU@6-sX4_Id#};D5cNiLG=eX4zBf^)?blQFA?1Vb zkWj63cQE70qe{AG)oyo(UhJ(kn^Xm+F8xs(w&iW+iPhvh{>Tma?kO)PJt|1l%T6c!w zn49m5(s{Jk7E_x))RO1GR6?w-)^+0fC+dc&RyTIf&&t(&=Cf8^>8A%>My%?=MpQxZ znR9blxEJ3b1&y%04`*Y{Ns7vIrs|F=Ykqnk&EnKwfGGR%JQ+8=IiAsy% zaB8~I^J>|}K5P|r5?Y(=XK*kg@EM&iF3LT69c;UObgb)jKX?|*qd-#AGZF0vewGmb z!2!&AGP!Tv3hq0vi5CXK7G2fU=Iz$z_p3vlFoudOK5=@io{ma=Y3APJ==w8KN9R_x z;J@ZqojCV1=s0@?p20Wy8Tb)(&3zoW2X6a-+1e@os{>}B8Ot}QPX{to9z^y0EYsB4 z%)M*NExen!Vmgf4^!y4E{m4fiUa#%+1UM%znJ%0_sXY`NHM@L{#!fNWR+i`99Ho-2 zZ*R8;T6f95zu{WVu?N^^QH;K8f3^ZvQ&~$6CffCcXSS5*2dl&kV9MBvc}!m2M_ok= z_?cG-rq?^yMknYJaVxQoQakkyedzx<#Ugs0Q%q(z3!521T)0j(z-OD_d7h6>(K9W1 z+imqd?#=;q4n*>>HxQTk+(f|RCX7vwtT6L-itps(q|C!B$EVm_D8*%d^VO-1HKNytE&`X>Y5{V2UsN8UvdUhb?)`JL~QTpZtM;#eRd49g%V?+Qu>MAIzlQQ@wezrnTOh%e%>EueVD&8=d1$ zUf*oz8yXcu?TI{tx#EyWD$nA-QW`r@2009EwSRz~JJ zVe&6@9ebe+u-e*W9k!nGB!VnyE#uAAAX>%Y4rKzXiS+Jy=~Y~nh$ngreUuU2Nw`)K zp6AVE{?&IbHkktQ7-+HMf>RZL6ML+QNFd1s?U_0*zv2-HdWD&A6F)yDr3w^z{!YA|7b(bI>y;XlvAD+f}Z#xWx zZ}gnih$oHl-!ZBse=m{Rhbu{M>gYwr#!u+57|rx_4SF)EWLhyCrMKr)<~f-kjN=o$ zS03o_LG^+D?TI%B#zq9#MJ8`M=Qtn7VzWQuM6H)&n*&L(z6# z2ZL`KOqT6-Z92QM_7yOy`POSV-i57H)K^19F_~I?qRxFz9C#oah+47)xJMlr6*t*u zzGtPfa@t*~;RaeqqPbLdC^Nn>;PZvKTc5xcy3sKuWb)daIwKDpsA5c@exg{KKrQz= zpx!)goVVzFTA`e(()5&I^jv=1uab&5E za-A4VS9H&M!VDSi1?O`QSkX@2*&<@|d8Q}@$%y&rltY+0_J*m^PVdw+*e0G&Tu#eo z;SF^9Ixrb9cmvH5$3z&>DZ5+^zPL%ml@rk-Eo(Kgp7J)z%LjBFCvZo}kKS4$l^Xtd z0zJYD(tSCb+q}LyAqZPawUKzzf=>27Fp+lTu9oH*N&*j<=9J`wp8;{PtchZTj6*Mb z!n7B)%u$rNXTVk4Vlr?~Dp4b?VM<;^Whc%x=00V^d9EvwwLaD7ePa4gGDvp3xck`a zwEnCXIa~|AoH;2SHUo8 zD)z~AbdJA3B<>SUPSQ2>z(21L9eo;eOh-`~>pg z9sS33YLgVQfm|+_5!8bo z{yMSg7Zb>%GFbMdZ%swd#lAKj@*d`~pZPTre%EQxn%E+KG;&SWv5AJW_*v24B$(SV zmV5kGzCcg&z9?YTqegCyI`}hs&Oz|BLaf?WVwgsM@Kfso`)?P>)!*V9i1=T;i43qY zx_E27VQwuiBfQ6dT^C1`V(du1aXojmcga#HV{0E$v#YBn3@-ry2UmgXKUBF3-!4A`Hks7~-VRRs&yzdTRo;g5ICwPU`bXeOD zK<7fhQ43R#z>VN{*uk6I#w|Sq5?UEQr7vQk9810RT-Kl>>w$N}2ualb7u0wL_OGn{(c| zh{s9;dy_rf`fj}c|c9(6@PSPc=J=JB=&Q|{}L62pR@9n zI8qlpU&m(TaodL%dTb7qi-i-3h5By%*D=ebW!g=WiR9xTknVAJiW$%8;Uvfvgv zPiHkRbY^h4^5Da#=|)CV!^Wqx?#zEbm*3-+j87ivVco~O=n;&TA#6|l#22{;IVqKp zCdiy2n>)(ZSE=7GdJ0TELKP)?3{<(nhQ83rZ{?2m5#N|eZR2S~&LNNVm3Rjb-^A4W*Kwz6Bnsn3ds!xt ziNSp1TD4>ftG~>^?BFxV{A^j9@172h?L{#J9qpU2Ub5k?HI1wm8>Yy4`p|7E1G#P~ zb#hvKTh2037$q)&$<&gisJ)l*-G9Jn`N;d&4N^4$)=ey8a&4T6|1l}4AgOF}VUZ9e#%mVAX|z$kqch z=)%N!5Xj95x~|-0@|`M`9)#L{U)4}ggICpGC8WYnq+3vr?_sZN3>&V)nZH*Ntw1l% zaC3H0H58RQh+4_`z5Zo-T9_{Ulx}Yt^31-&gxCyjHJ<-I1^N9w3Ltsm0IyXEs3I?; zw^{*i_IUUS^U*_C!M^1o;lWml3lly1PQ{it;C$SL?>UOw^_BeEk9QRTVwRiTsC6JM zbI{ojXL8s9Jbb(Upx@|v)VpW#|Ek2a=9nl)z`Gfvuc?;IT`N(K6eW+Op(D{eAZ7t8XFRu2btsG z9tF_FcumbQpYvD~9PkzFlo)n%7$CXWD^bjR_Tt1h6=$3})>d{4U+`pqF*CZwhS|S* zsyeGqdnME$&kvp)o7%P#d9$NB&RjMbc=aR@@Dx0yqdcuSVv-ooIgMpalO?DTrBxOD z=@ZZ3w3x{aZb|ISM)i8jxIB%g;4)$G#{^!IAJ{U8$9dZfu2T$7L`#|1swA^o9r!ud z8AA$ zvG5R`l*f%L$6W3?b>gnJ~jxhBlJT@10Au#QQF9Au=sDH<-3;KZduuh&aH_kQr@BGzfPAphlv5+=Tx4-sx}$*Kk)SH z`k~GVpRYDd&W~V1zj+sz=)FqgtB}@CWbL-gT7{erFh?d>UC5{pVKWT2jtbYhEps@z z?0g`5KkfVMHEnaATN~|R@+AD&BKC1n)ZQV|!`pakRmIVJt6DA&>mtnN23s*@Mf-!S z14GZiD{e#%Y0g=$2oipRJ3Yr+@6`>|@q(jndKKY=+>iR;<-%+HaiFf6$jz_ zH8l>u>SA6s&RZK$tTb>czc?S+*k0=Y40AIf*}aF^FWyrTuVPa8#p|aE@f@q**C5;= zw}96OrdGdb)h*^H&&3M5|FrBfjQ7tCdgSXA)ZR|vOH98V=9Mvtye&E%-oUl=2hjcz zFjn?i&vi;U&EVf-9kjnW(qAn&ZODokCt|z_DHY-iP8T%R*WM{?#fQaw6lTM;Yn16sN&vVQG!jbM`)K=rk2;$IMm5Un3^?EP2B5&Em89V zb=}ThTB6={{8ZBG`$A|qp(?jHq@v)=E@MNfo9~vr+TYf?>lW1zjy{O0BsWXxODw~05fq+y!aJect%|7;)nl$Xngu=Rc zsgg4Ve`-=wQ54ckh>OkiJ};+w>=wrlx(qeaHn4&k#Lt?lvJ&1dHe4FIrP1ZM7Lh+P z1OBB4quxi22}pN=id27b%eTX-)9l%=ms8|-yq@a$l(PhFfidV#A9jA)m2q>A9n{Rf zC-_%TkKj!~z5N$_3U95l@ZomBJHJB*e9If>9Yo(d0+wA6TXeI)FoURS_rTBn%|6Ro z`;9%(x5#%m_ym5o6=Jjq85N^cNU0cGf_?=z@-GcO;42&a!Y<}tB&RvC%_(cG_qWLE z)it->KIW-A%PeMF_X=k|rW}Gh-(OA$PG=D&pP*h7Nr}nmoUzLg#3ud|_z+`oUF#6} zGqQd}sz@iIbj0gFr~Xt6v;Gtc`!B3~*!ZyJzt8`<7?wC7a zAL=fmGLzpKOcf^yznuc-x?l3GT|u^o8`8}lE%Vr4qUSz%kk*X$7^2JmOtw)1J}^1^ z5ExTYHb!?c8SPC~+KXJimW}uL>~AHZwti=Kb&~kM_y+{H5BUrKrm?|`gWH4*4Cx*t z54Yn|$by&&V*H5NDn^5t146!rveG)0ewBeV|2 z`=!7?-nFPQZk|A}w<1s;_WA<-o;xs+EzAPU%r!W~E7J}9yr;(NSyfQ+@Ec77-{^Pb z%&0$TXf6D+IAZjlIFaqc|B6~2kswefN_ZijRs(TzTr3hZ@4RCF>s!fQaaw1Bzl$@^ zUk!J^0(cVSv+p`D;Ie0xXJjO&FRO?~6b7?#w#pPI*XLKeyewdrcT`6z`_c40C8)>K zf+s$+cfwuj;IsVcgNg+2^fyA|^D|tQan5jGEmZ!d`)c}+IW^hAvg{g66uVQytW=+M zN0rUgBF{aeM;aEW4R+l&>J@4rvDX**~g(RP{ijz$iBd%t;UC*Ksvo5AZVK zcy)$t_ZhfQj)*7}Q6{`^_>-_E;r>5~BmVqZ#2G6S_!_w)5D!(BgHhE2GLYFl=05g9 z!Ac`}-gB5==cZ50%*N&>-!b2bppX6=!A*j?1$PZ9fPeYV;J6`$@k*%>vO8pQ$dKTM z!C(D#{LTF-{M}IwZI4gd2!HXQh5lB-OZR(MNymED|bvOYRG zZ{a5V5U<%mJ%gI!I_lmc50%piF zoF8^iTt$;RS)5&VHK!>K^d;^2ID@`&I@>|MCH4zvyWQI9#g^$?W(R#iyAM!_4zPo% z1gK+5{-oYF-l}^rt!)BIWfhs(< zCWhf}X2{H6btjaeqW7^6!WZwRSVGtHit6k*OEq%|QgDic z-2-ef$5yx8V4Y8`(dBhC0wcvRI2V0D`ZwD_b|ELb-P!qN#d9`-S#Gy#;}JU9sxQ;Z z`qasFO%o=Z8L2YId(Y8d`#|Neg6*M&rlf8m>X`_*Ym<2TY$03qsIt#m$}VP~a^Pf;q#%1bgQQS1H7_aJX{7lmAgYxd9hA>*OK& zhWqfsqUbkQneMQP4&sj$%tmodI?MVXwMk?nGO}kbpaoeQMVSev9DBeE=z-&?OYq=& zsw!T5m6lr^hr65uW@S_E^JmW8M=HsiOq<5g$rc0E{>aU3FEfFUy)jwjY;%-cxP!dd zh3Rjol?i-xphzz7f=Z;KFBwYR^f&)~Cq7+9I;QcaKeNU4^up8F#@J)Ev$EQatglvC zHX{2lOWMaw>5^5P`tCT0LogU%O!j7EG%mnoWl%b|1zL&bk`BJ-pJV3l9lY0eKa_z$QD?YqMRn>*oBl6K<|1$YfWef* zcG>@E$HwLy`;cA3uFRdiN}oFzTu z+b4_J&yc70OCP_kSxbbpLc#R!GRJueZymQ$-oZvDbVpDh$i-IJLzo}UL3^ITUFio$ z`VSn+O7;i#j{<1#q+&ZHiCx@T3)k?r{AHzO`uj*MmTO=HhOkB40^ZFB_JjuMSRi3r z)nl?(Z{{7h*gCA|eRZ37QSLnW>$kjB-ed1H_v0?uW-7Yz^!)D}Cbpm4IbL_S0({{x zw|yX)*E+Dldl_(41vj^v?oMI1$z{`J6dq=U=s7a;h7wUx#jsk^UGK6>!qESS{^d9} zn6p|b>}|4#l~*2;CpnShn8R0v8x)LYz&2P!JxwD$9`257>gfw~&-tmC`w4c|AJCv`u!BFboxrypGOb zN1;^FgPE>wQRS%$H1o{EctTEBsl0J20Z9K9cb8YxZ4WnnKAMxpJLR^6C;Ewr`b^?U z4O4}RN}|%{@IG$w4yVFMFG5C$0sip}Otvp4+*7C6R3FOTL{;K_0%dzIyrXV>Bd=X_*>a07?$D5Q`0zk*5DaI)<9HkqGkp-shchZ|HD6mZhEOsWPERh)?A-=IPl{q&R9nvNAc%s8tW!+TO!P zXfkF$6|Md7;va$F76gG?OkJbd;$6;-91b@EKBh_w9-0u|O=0@3(eUnan7uk9Dnj3x z7B@l}VT^nSBKDRy|C-+D1T)m3oP-K;kfdrC!(1VJ{^lTz?#B$6QI;{_)re9V5mvg*vLwz;^VZ zXSWD8Qx~}1-9i0V!gmc*hq&)W*{l7R=~{mHg_}()&Vwa4hy}!?AZvsy4(jJ8kF??t05j7i7ueL$<;*_i_;$tui>V56dcfxid8%QsmD`U!ZuC?vU(CGxmWo) zUu6{#l!_o1F|B+&kN4d1UEuQrK{b+6H(q0NW(>7!40vV}VTn}KJyjF1tE-?x4LMJ7 zg&(fzF;fGs=~$*Pv*k3=2TiRUu+%cZVyQ>PT~CgH4LS{mT_NhkL!7kIRD(O&N~09E>NZ1XB*`MKFB%gfsdQE+@IbcCl&17@{oOq z9%+GWY&Vn_t?we0)lF2A_uwhE=jSFPuKZ>Ku>r6T;s{T`P{S{x;{43r+DGMlmMxHcREm3H6MO~}2?3Sb zq|-3l>IT051`Iizy@&YB-E%UJ+^VXOe=abQ&jUlF8|ENv zoE1vO$qh%qu|}~2OuZwIu{#*WTt2RB#(X9@C&9sS@&kExmDtO-9mI}AE4Cld<`X%X zz+_^cvxB~9F%ft#^YU!y%hh9dqzHXNOK{{-|L+xYTgkX#eVNG(gE{a4WNJ2_HNaDy zq9?0k#Qw6(t3qJ>%n_5}DUM*uU6onO8>afJn-!s2lUDBxO4Hrf(lZV_lBXqf%<0}cQK6YS(IBd zg4Oova@v1(K)*WKdCJ z^oKndO0*o#H18ZI_ch84clmtnQ3v`-R9{DD(m;$f0Ver#$cSl}eN2G0^NYT_HN3@7 zU`yM*`|S4pP1ava9hw&8bvRk(GEANj?pzhL=0}*W)YEIsFWzrH-b`t#mt61{-oP;! zWP&*{6R7j@5uegBZ*8T2vm;R$e!vLM!fw!tXK;QTD((t=o^52L_{0sggXK7x-5LxR zIuo(}Ds$s$^r4{L;xG1=Jf37QwPhigI&HXDJ);p1;$>2hvPxnc^U4r@&H-}zK*pVM6^Yrih-6DX+9A9ZXTYU)?N2X%mrcu*?5(CD8rNkq9wm!`FJz;d&j`EH z@ZHDrcOMeJKEeBlPt|-H4#ZA<4rHp0zE7su1P^B}v-dfwGd=tqu&cAG4N5H)xUEyE z`7_Aw@)cSADkm$9KfZ%e?d1D*BePWiD@Y|`zzRJ;-blu`?@y#@LqF3PR@5g|4bH$e zwjPFXW^#e9?}V@SfV+O1sGNbDvyeBw9EMb1-r95`^bX?mX1;q<*cS!io4p1>>CL{W z0vXxB+3U^8I>x!J0yBLhCua|n(g&glPoOuvfaRQfA3I_T`ToYrfp)5o-NV}`5JvA$ zO#{7;%@f^7|1gqwbqXH%EDAO%qag&xi(s?AK~ClecUQX9V|xBm-|E*<+^YtwFAV0nLYPh#s<)H3v z;N{ilyk)u(dni6Vz%19>@it%1ue02*+F~E>uZ^k1KZ5}Ih%lRY;;F=GB5o4Xl=HX@ zy@W*S8vJpiK6}mKhfL(`FQyio13EB>x@;YNR7&_MJIJs(#8Eorj!caY%j+N!8$~ZU zTjZh7xk^W!j|eo6pIef*5+8i(3(U!dRAbpe|H3&#G5F4%bp|lT?!^A%CYo6~fj6Le z|M_{lWPP}fH;7A(dCPwZ0e5OU93B`au%45GOYI=rRRsTh$mD#LDi62ts+vWGTo$e9 zx1d7ph^A|)*Wa?IUWi!NgZQzN%{x!-vi#N|>mmDsyg{o1=d34ut9jH~*+E18HV=6h ze{@B1@(i-caq|&JrnEe%%JizE>5LwV0J(n%8^gyzL@&!q@NHaTDQ?fy0X3-6qEFEm zqR2OJUl;;x5|rlD3_!hWDv0n*v}BL4lkqpbF$@)16$Y0>moS_gzS0^5cf2N=fHoN5 zW+wY3Q0sXP(zKlC+J}>!47NmcHQXAGj3$z7*7vxzevpeD{C?YcCo4hKQd$LN6KeMX zRxvq7r z&gh@i@gb%ZzskU_`KU(eiE0C?G}l2~P7jQ#7mqH?PhAod)DHHl$qO>k z))b_NA5WdMn4h$OcexMzI|PPiSMvRS^6?U)T`HpTaxz$XzWW=xtbTBGbD0WMd?^0X zb1h|)vAk);UR^a^1-!Kjz0MjUU|fFg6yDBVaE4=Sj%^WxnEwppK5d1|xk%pRzFwq{ zWgkdRg@aXtH+zKmmW%oBdwq?~)f+k#*78W$NAbyUJIRY4yRfNb0eEobt+Mb}{*lYA zljP1L>>tgOlc@13TEE2+IhNWYGbeN}{O4rmF}%#8@SI!gq*M}3O>|veo9e@}Q^b*SptD)Y?a}!t6J6nb6O(PmPu$5Drs)6Y z9S1n6o6UbHij~pQxNzT+>LR9xu1T-3lBeE^DDssWq#%euZ+Q|H!eQdbQW$YF;VAZ! zhF)$F_aZgteh23`8~pRzXL9Whr^nHG2qiJ={f3~ zN#y1-oXM|X0pHalU4$NV8Fx1q8!OSo{fKDHWxDqtvh-CBK2=j3c2BV(2(rbX8-m&IiHMI4Y};xsJ6 zJ;b5I>;x``x7bY1=YDydk3Ro@?|sM^wb)o6jb`Z+7ywmyp0oM28bomi6D0hXz#3M= zPy0ZOOGoXUiOMTK?@-#{s=cZnly$cf)s`$xdh^ zs>o`b`;EFWTDNE=gChJZHc%fthMWG1xU!#0cPcTuw|GPya*i533{K&E(UUIX5*mF( z4eE^$P{#dgv;L;ef>|UpLv$H_zigbd0d%VEL|bC$P2%kk>djRk3ysN_k7Qxua#`@V zFf#0D{(c{})Y604wKdnMzejM!i}4JL=t2BWC;9!t(ASI!+L?%qaDi%T8d>B6r(!2c z@M+n-dBFB$d-iWLgSWm$A2S_0gq4UnzhG4c)Djh+&)7}-=%st`d>6t~8O}Rr%bq(F zOuQdWKavGZr3G=Ljob;o(w3fU1NkH=-CrdC&Q@yJG-d&P;T5XPXT;!VuvSly;d{c` zsbD(m#pI+Cuw57PjB1b-LV(D;j;P&(bC7aN1+?-J)@pah&U0yq#jy zG6P|~#6*i=KJO*z|IsRT8q91Eh=I&->k!#W@%&2ZkDwvfK|rqX=a1+sq@gyO0-7D4 zySJEg6e;%da~_g8pOHI`Q!6%+W56iOa(b_`2{Ia_djR!%9qxHB9sO%6*b~fI2IyyM zD%vZr^h(ZV6Kb3s^lmGN;mes{Y$6`tXGZ>#^Ky&0=h2bTz~S$dJ3`DiD4`mJQ4$J8Imh*CA#yqLr8;XV-I9&!`) zLj?a$N#>PniQQRlpaqzr>$j)Z1m?d>7H{__a+Hpa!c+|Fwein}lbx zktg7RWhbY$ED9o3iJzI8Ga;ynqo{el!#e#!Qeu3xtlsS1EdeBzjv1d4&N##_kx=+OV?A8Nn=8dpTV}j-k;de~US$f9j zI0R0A*%YEWXbtCJ5>?qe>V=iWjtj(Dg||u{kh@3Z<3X|&bN1Ebi?d*JJE=+9&>^1} z1wfl;f%!Kew?@)QO(Q$D0WVKLRr?G!$u5w0M! zu{hR6>bUiC80_)fuszCLuYU+CHh>8A1ZMkM>g)D&hDX>HiJ?c)6SP+OnQG30H5v-j;xH#6 zAN4|EYMKGy=nnl=H?~9i%1EN;RVsvCasm9jMdZ2keCivVw@tkL7Vy$N;&TLg1YbFk zsA+*V-lE4~iwjKo5K&&4=-JsfF`m7H%-r{k+@v?CYz$^+Dw?_e54RvGQ-tDF$2FK^ zcpw;E$(I$(Ip$`2s7g!GwfjIc8dEpMAzOTdkFc0{{FR8Ck-lXmSu>3lN!@&ym|9O} z2XFjDroP4|+Hh{~OMWhU38Fh_Lq6W}G3umVT2MQUBPIpt7_)Lh8iOMaCa&k9_KM)y zRw3rE<#V4B$*AWGz}|>KeSU>cKZ3In#ci?K++C&fljky-^YrQ$$(8ZwJX+D)4g%qy zV+zojq@wyA31aEc%~j&(b>ob71ktESKad>+GZsvP$@K1DxG@VsE~YX`IEG^SExPU- z>}qY{|8-^p;!x{`smA>CcvJ&Vm2(Q z*}$3o2h=kWvx%vo$b;d!k2I3MI!#QTz-JswT)M>^sVY(PDK%PQG@GiTwbED|ihrkbQfS&RbSY^ z=g!b6Eg%R;2&jM{ARr|nC6dyOK}!AUl#m7~38g{lP*Onw1*B8yZjex7VCK&EJM(?d z_uOZI8Sb3B&)#dj>s{|!dmj<{HymNRHCik;oD=s3j2y$~8(ZbS)uR@xWftZGk0Z95 z(-nHHnu>$DoT8C0;*+?ndTX|`nMrXc?cH56s2Cw8aS&r;p*xV+wZ%+SOvQ zW2#mDNIfQu5eJo{=I*_uF>#?lbKA{ z>YzTpN;gW#i0y9`Ii6LZtd~pmEnk_GG$43Ko=bUJ}-|G;oUV>9McHLC+ znY(7txn{KeZG8SQJQ>JlbK<|t?D)GaTY8}*;hvq6*Uj%u82YdI$rt)X<$J8SUkI99 za@7vv#YOea_0H+|8IEl5^+UY=-!!~T)Z1$3z-_EK2M*rN7%otQD?_=j@UBhrqQkCv zAmSzd^gA5UZDEvcaFEEj(c#3n{9AJFD*V2=I>%`CKEtdm!fI~2uc}aOmDNgTeH-hq z_(ZRISy_CDCccO6@;xR!3G*3Bq3^3NumNQ)wLZ2zs`l zuQlL>-$!KC{Z-c)eQiU#BI?V%np>w%{Iz%JQbf*BV?G}vySxW?E>b=g>93q@Uguel z1*$(Y;@ZkVyI?rK@!z-bm0CO_2R_gR`zkMo`6={)yrZO@;pcUgeMiX-IA2QM)=j>d z8&6EHI+0vHlrwH+xMkdv@LJc+9`Predd*#>i5O;wda2OsIxe#4a_z@18%Gwf^QNqt z>|?zcxhX?!tf3SouRiA^>M2R(^V4KBWyIkX*87GGEQB|t63brk^%h;FD!x+# z&L_uDkF&<-_6)~(?>0!@i#Mmn?$*j(CSc)vbxr4_whgs%*YWt=t}s?)I4oaD6uPe` zF=yy|ck3BRx&*4xGqS3moC&(taH^*incC`*N5kdS2s+9^#__DLtly_>^GkmAv#UnZ z&T5JdYpIl}F{C=wmU`?nKV>9jm*6#iy4tS$Pw=|*MtaOX;=#sQNL>00+Z-o;bP2aL z-cIg(o;dQ4T%m|ucYzvZR=QH4D$kcE{VwwEg8SVu{Wl?g7M(Q7Fd12MpW2UZCscBhpw!`}GZEV;&mP+F(?Hj2#S%+=-M ze6COq=L7UN=MRi`DK%p>AMJ^gOkn|=M7ZN#*Nv}$Rrt)k@1)Wd)w#2S8uWH#2|GBm z)8`{1lk0MrA$DZcvp5^~&7ni}0yI4hg?<)42Z&cauu-Sg(Vo6H&bwBrg&9jt>pWmj zV429pzGmu&DrJxL1)1zD9JjKSyDS@{>wA@g*vcFx3MWzHy==$T zD>&V^dIR#Z`cCqunR5JtY~+1NK1X&OBNr%d%^QXu$PQ-8ak6=BfNUShH}+t|ZR8nm z+N)Syzs09`eFHqCvL_QYkarKX{>Q=x^p#hp69yHoVr*uinK(}kOCrWa>DgKXkIR_z z8zRjD7Tt)pSjgO^kRh%JpH-RMVV~~bo`;tV{x_l!&z9q5;3WgFmqV^~&9xGV|xK4q;BDW!dJ#n)tCN#pi~v$E9p=#{nTmIKsP=F(qw z$r1kH#{oKf{vz~Dh1Gp-wHH8>Y4GF&HLsmksj79ng@s*icPrTA(i&4eBd$VHif)1Io|XL2VKuD zis|zFn&)^9nz~sEdyOB`ryoM6xxFd7c?+U+Ri*D{PjfS` z^3KhOQi&N0bED{otL>DSq#LfIz4Q(BvvhF=;27Lym>TMrbnxX)58Eg64C5sYMABba zN_t$T0;bgrj@E(%>D3s{c`nl?YrRASS;3m;^TZJ{>N@5%QQY5Fe5M>>5lt){ZpBYm z>tspl-n-#OKU0AJjp(dzpd0P8DZFbA?dswWxiQ-GZ0we->`Ta>4N4ux4<=i$ek@@Q zA3sf}%IPi#i`utn0PoX#dRm)rAjJks;4Y^>Zp95J!=eGI-Ok^JexI3>OxV>qE4vyF zf5U=C%EQLdR#rmfGd|&p8N6kMGMKg6@%6Zy5$W{^bcV?j^(plY&4bY&(gtqPABIEj zGVUh>9sRNF=Q{QB2!?f19qJ}#9MoeriY(hHEE%o$7||?^G4^w>t3p*|vCcYSPw(>0 z$j}b@=Nxm~&`AYZjq|$w4fEY|BdXJza+z$ZXysYLST)$|*zSAYy@1W!k+-FBui1RP zO#`eXr>RO4Dl4PUM^(HZ@cKaSl82HYcQ-$Bv7{B^Fc4vW|8Xi56DyGtnVX??>VZV=%(6-0vr{ z=lAqmMatc`&^yPdn+y+!)et^}nE#`PPUrjS*y z8LQS-oUg#5w&4|>piLdQOHPVtP^o!I{`v|AU)0ZQ>bk5Yw$y}1jiB&!D0v*Oi^FHL z=})b#*Q%j4%FFH#swnovN}90gKA8R&ysMP+x{^~?jPzdjZo9^;=g@S1vh!a`8~FGmJ=1TgxMIw_q>7Sp9$LNJ&Cd)uYFl<8IWiw5)v)yNSY;w!+G9 z=^kU*z%Y9HJS^l#oaD4uM*Wn{^@$v@)@@zsxY(h}!#mfh8IF<96*8AcKik&g*tYe z8kLa3RE^D#qBC`85d|=hOKf+UF*K$IC5)S64`xrXqbn9Si++3~+??gEfb1a|=362{ zTfes)R)DgBg=j2?DKc6Uvh2G&gQy_48 z8h@BoUQo}wqLPr!{5HmvhZ_A-*7-Z{I?uBT@Xda(<6^`c6orK>@{aDKv$TTwI9*{p z@jF(T1g~}am$>vZ-mrl6Pjdfb;Qd&N@MMTEm%Z*(Q_vgcJlV$VaHiL0Hoc2wt@nLv z$R5krmdlV@TBEG|=q}!|jvg>guUZfMu#rBSsz%*HhW$%;G~7#T-g}GQ=OePyFuuV) z?yHu)9C;f@zUo|>znm)no3YLi_nL`y$sx&)X7^+9LOlTDSD-i5ux|7DeR5bZTqbqJ zD&)qw8e5m4l#EF4ypto3Ak{)o}&)b`U3sAJ37?haOd4bZu$g8ha zZ>S1c1%ei(u9u~)JAZ(pk;44eh4>?&&o=AzKqPc(p*$=lmi>%f>=A!w$lBY>{IcSS zXVeSl%3VHYO|R1`bB5Ppv{Ced+47uR80B=haSPwhZN;mFTCvIo{Jp&RnMb@!5PC`n zT)^W?$>0C<>GkQoC;8=QXXAaQ9@Qb7UMAB~KKH90lnm~qoE&l@W)EKC@Q9vpBu%I{ttzt}Ojq5>aWi(p${e;rdsz6->IT1Hox7pY1$dMadi2CQuewfk zUKyP0@@ME3XN`IObo_Z^gRqc-bjCxv=Q_c{pqh1Bw3@&+OR>%**65NrlnSS9LF>O2 z*Mg^k`T{k17%3DtF842IPQ<~^Yq4aoKPovtTyHp*ir>Nz8%ig&cELfGmpy= zrhCWds`Qm3j`6Jp#?pfS7lxKm)P*y+_xbP__}F$HpM}yLJF_mq<6&M9WDnPfSwBFnD;%C%>yb!t?&N~Xj3A)x_H}Ab^J=^JBx17BY z7CWEY7ZYIIp7_^H-rrv(@*|%2wKe&Q)|~{0eU2*}jolGG7kiM#asfVHmT_&6*R(S` z6Ifabu_TY*C}j0EQ(244Y;yA5#}uQp80$DJzA>GuA#bcC-}s1z(Hm2l1XV_gPQ#$m zVBB^E*7R6*k}kdu+(yKitsYSZCU2Crj>S7OhqkMJ?SfQ0Fxoco>w?%hEiMh8-{{_J zV^B%tTz6teQAQ@&zja$C(jV5J@y=YZW-JWeDE?liS3cKkmYx^A1zS2(F}kS(RmM!x z^R|25u@Y~rE62%1ElLUhGhl5EyfVTQ zUBne%M=5(-?oPtVfolqC3_)z;!TqxD$zVfiWg^$ zE`#`(Pp*(WbVH7{*OkVxh*6MkmMbn0T~CP5kMV$|aI}(&Z;U))15K!(`c!W=I>|g9 zv6_jXLNV{?ETT=u78XPC?X<9H%1~qcxUaeFf;X1J_D{N6AN;2lpMS%+quBmomVZK> zBOU#xJPRLeJO|}O|LEOFu0mSR0Wf2nwLjSTPBqoE<08Jp?@H3w@6o88*vvnF6?qro zGwZOV^|;&-2zN|G{@cvPVLHLH*Wd6OfZ?3t*UzcsiH##QyUBoyCyGa)OVD@(|I5!V zGsxXaikfBctkzohCD#s5F$5uP0qDN?Sf1p8-Y7rGK>&3yg3kt})TyeXZ_CkU1mP_=rAP${PKw*5_Hhd{Eys92yOi zgIwsn&}9DEjlR;w+Lxq;C&b8a(aFw3ujwLgVe#Rx*z_f~-IP|gK z&XPZ5#nXI#Zk-!PWXQ-^9iO^37cy!y6@1n(ZoKc!}h@bq}KI8WMt%15r2>WZ-JAX zWq056fPPr`eaO*`T^FE#o)_Ovhv%5joiz2NBF(G3+xf1>n;A-cN>y(PVall`REht0 zHCg7HBIm!l{)US`nc|+i!*!zgC~ErWqD5jha80eaKkYXwJ^TY~sh3fo;}_Lw`iI!* z%j&vS+4pox$VvQT8oe@cs1gM*n@@e9Q)h$tJ)S?c6Wu-)-KNW7zGkQG*}_nttn4mA z&T(HEY33vKuAFg|L-OLzwADY1Hb?xvmM%QDg!%l3FRQPzrwce-SBO-SMpazy-dyZm z8}4h(qv$QotiX0Ybe0W$ug_>+#D6mHvN+ubl=-ru6=GIz_fXoWN6NW3!kaqSQC1fE ziaUKrgnkS96*cb85PH7~WqMKKGuOGGmid}{F3$gZ;qq%#e~yGoMDF)=!Zv(-sxFzf?svqE*=WrhNRKTOoGM~>k*W1rs4(^{1ca(Q!m!XcP+nkEX1$p|@ zQ77xR_#$2h8YDmHA)02yAXek`O>nRT5#xEtTl{5-eL_uji+>^(FAtZNclK3d3Qp_H zFS2)lDV;?2cCI~Iyx$02w$Q-WvV&z2aj^Leyk2HbYeUUDR(T>69)mOQq5!;QMuMJ< zgE;m*E1Q^Zo`A+(6o;QA8%iCS+X)mOIy)e*Gfs}_;rgHG`381&P}Ce^CJWNk9STz(0l9fBTI0dGhBN{T|t2plH+rbiP5|QbAG41?>CD-z~&-xk44^Q&OXTE zyzms^;Ed;8s%YPP0zn$N*d$EiYPi0+JWNF@F79^2UZ%(whggr=?6xEYxR{?^q5TcA z-c@xkgs6!N!x3>)@P&gkhO6NQ@|h*j{y+8NS{Tq|eD-U3c5uq|6qb0!*pkcKAG4!H zxMoqAdj<%SPDSo(s~D?8buSGl6z93l7)1>udagQg&8OsrChcV%W9`|FlP&#EUa%tK zbs2TR&>DC@LbYlX)Ewl`ibi|gyzPQSYvA6G{N)cLyU5ob^7G_8umQaMNmVFCs00h# zFJtfM%$R+Vqdd2zN93>SyKN%>2%VFC&&0$Bi|`*om2`BcW5)g&HRlmVH{IR7@0G*q zH|6!gIi8v592sa~sZUuuo(R`>UbPw~id7 z3u_!|9%j(~ujo5?2lM?B%ev^=dF1Ft@UGlut&;g01X+G$k#k-9J$t1Vn8S>^9+$}F zI;n2;@pO-Gu(Tj(6AaygA|lb0@kPUhAma+uz|((=vMS#2d> zbsKZ$DfrMrno~Zx)OtLnm`roOo|P}LuU^>00C}7flkmqk;w5lb+@=EnMEOo-@N*Ocr}KSc_P`UfTb5hD{SG ztzBedh4J6Dvf*~3%zwDTVrX1Aao*e*ttS&1psR8srFOPGj=|Xf)pON}-f&O1Xak)c zt6k-sPnyF^3b4z?W~~%vbx+-K88mNURSL4joc6J$6^#;5)`D}qqMae}0SjG46HMYR z+QYA(Ws}L|K{?z(4h$hP4@$tNuE=w?!J^Kv=uNpn7*D+$e#P#{^y(++{au#tOpW)P zm*nUJ*{mlbL^KV(&|?*Whvc%4wXbuoS2^c;jDE-p)RxpD)h?M~Qx(;WnA1%&aRu() zr3zm6b;!D%!oVJ3DgU_J1kf@c?V=_vp(C~SOTYV#{4UtjI>^7v_(>FAs;`XQbilCQ z#yU!{o%b=1%9wI#c~&XtSHO1_FuM`r&qE4w&?Pa^RrmVyj%%KF2OIE>ju=N89czch z+%@#+?lRPR{3gFyI7_GOXGL1*C~V2+otI>`6U(=I;%A#xZ>~^AQn7@>Funwj$)PtS zyJ-Fnt9aLal(70)u%$Ryb~ZlVG^E|-g;aIf-x}zaoaN{-VSj(AyFP`%o`a@tGEL>^ zzLP$(MJ9{biZL3SK#cAAH6$D)63^)UjXXl)b5jue#1Y z`RsZXiW``7Vc0Z;m9J6ZyJ81oS?p*5?7SH9g(~@67`aN6*hi~B@18Hiz-?5^t|CTq zeO!yh(x9LFignl~lKm>KU!~Jzpa$ooV%Nf+hOoOeV&x6h!CbiZr!aJ?d~TfH{2KZX z5{8ChA*t~Gpi*2JJ9<}5rzFiU3x9beSKDjECwR~$y+IlDd33{V&lzu7wW+x{@~Mb) zaPwWW_$~~Mq}i+xMcQJ=S=quBn6V17HD{eksa!k7q{;HFS`ewMJ?3A^6K=xLTr}b) z@tML{9=4QiEv7fFVY`3&{%==UCC6%pWoL-n3`N^xo3XJ)Xo~su&({uLjQv`7-6|F7-5ho{nw;&D zF1<>y$(N9^!_=JShCZqfXXPVJRgK!AC@&HVo` zQT(o~BD)*L;6LPs7ht zgOOCVY@z9RV;YfpHpIv$gI`3e>FB;2h{R2ebbLHsRmaL(%bdE4fCDh`@1e^fvHpRR z-O|WmGl&{D^xO_HmZUh*a=hSkmHRqYrnau2HoUyE`2HD%rC0bgO)w2ryd2gyl6@SN zgJo4&Y|6vNy4FZmI1qQJ&wJAQ`8qMClNgu@tGgJkA9pNVPvk48N90j_pHX9dLTy}m zxXk0HZ~}^YW9u}94bOoPqp+ZUm{tqe*c{f*z_d<^11D+PYxznqepy8C!c7(2%|`hX z6*V{~t(GXf#~PJp{Xy^GQ@U6-9g1zJ7PIO7n{bJ>IPGE?%_s~vubt6L*+VXUc~g8^ ze%Wd|b)#3U_4{H#pLo6g6*fFfTsux_$Zeg!lCxhCg|kE^j4TqF!&iQ%#)oCw3v`L( zhXC_@b~ars2WSXm_C{GZV+3`OrJia<8O}KYOoy+z2pZ2^@|L~ zL4rN%J;msre7`&Y9Sa9m^W+DV!S~q9Jn`%f+{)zhQ;C3oLyoVk!W&}EeH!#~zt>M( zf75>Dzhm3Q_H+tUS!WiO@=U0H&b&M8Y^Fx$_6T0}IW_wxy}G)Lr>n>?iBdGr{ryH2 zyl2%zq0N}zQm8n~olU2*jgnsukX;Obmb2aE-&VVl9T&@}3Q^8usN%%SFU;dGooeHp z7ceKQ;&i=^5@j^fqr9wwVr2f zcF`;TrGw;U+n=$|Me4dcJfnFdoneYtQ3opti}@GC%ENqht&F-WG^&nCy#teS7;h}! zJ0+|6m4(fNyBk#E13e&6r#Gq~{$@tz`Mi3fT4qt_97Ei@EPV zvE;Aq6d392Q=VSKI;Y1)Z^V{m1uZeX?Q+8$biG+D_k}B!!4}$Mpx?0F1Mu0iQ)KTS z`pIei`z=Mc7vYA`xUQ%)mNvH;wj7mL-wGj^f4eQ#C|%Alh~ zfrCcytC;q;*z}Y~r>7+S!73`_8hO~vefirVdFx#2WI1S&Oc!8EPfyDbewlJr9qN5$ zUdQMdC@0$uI{{)>^6V=8vJOL&&r10)&F=d6g-b|rhdvpkwfW=Q$62yDBI5w`A|%nX;*yq z&;v29DU8e{DzN;oG5jdn#%*kGCJU@)01? zg~hcW=^Hb~ zbM#uVu}FCGAU0JvMwO)Yh_ z} z4er}R-BzD>iKs@-Pdz2-Uyb;OhhB>8=*i1}MqCQL7V%kVSKRuDY`XUw$F&a45w-if zlL_HX)cdrdcO$xoMnyD?yy1yq9h|%MNWC~Ba-i-5-Gw@Vj&k3g!y&;dfNYnennsgIaTN~FQG2k!$-WK;A zpdL^+G%un6>xqbJ>twau&a#S(DjBstvR2e}Pc6UXtm77XPfqdl6rlr@uALC-G^z>VLT{*qJfID>#JBE+$LVuzZeQI?ao@4$@tDX& z_*fNcrlHz)^7CL1YgU!%SDj3dgK8QZxhg7Mf`c9Bz#SXKX z<9Yq(XQJPKUNU-q^!aDmqKib&h#nCAIQrx0AEK*84~^~BF;Vi#kc4yW$6p;M1zAW zb2s9C!ZTiBsb}z7Mvp+DXA*`qwK?hA-&E^*^E#B^Vqv(lbWh zPH-wJP1G_rnglQVN9DVVy#9#}_;Yfw(bWG}aoCnB0gH4*=2kg>uDhbBy>W+e?d%Z^ z@vUBBSwBoT&N*hS@!{`8`!!xIamOeMb!JQ{S{1h+e$!Ug<+*)g;$CBGUqv32 zMaKOK{kFQA^iUl3AdHO03=-+K33eGzzzE-Rr8P#KI`Uemj{QTGoE#jZPi6;;+DBQw zXAj72F(_r^1y6X2@+82*P8A#PRIyc&{l)KEPO(p7pTwikn~@ovYLs3?&p@Gm9%>fZ z40rs7M@1N0M+~Bf_}x|BvOVUiC;b(Q=@K&{=8c#dF>x=FJ9)Zg%nvcY$E1!e>($9A zmU*27^JQ#(?0IDB#c2EzOe@uI?rsi@T*;}RMrIVC3r1Cg#@({^hof( z1d|eEOi(Pr_NW8S^7|?39Vh9xh^!u&Hu9M+x!PBzp3A^bOzeW*m0^kJ7cfwpgtEn*EzDO=>A>w|8@}3*M`f>!GnIJCAudv zne%#L=jZOIovbi1#yJlUE}_~oN6!1)4zo`^V>OBA1m2C=;H>gnp7&K2lJ)Z}v4LI# zR3rb0EeJu*s>rUw#mkz%!8qBmh&-wVW6b~0RFaLdoGDiI1Db0lU&&}r*Su?kbyz2# zTP5!gP6NFZF-7JR5xLGz?^B+(w@GKk56;b)>(8-PbE9g)S=n8%x408_*4UnbfAPR- zbj;^^%YGK!zr;T#K#9fjg4w?2i++n>*i72(Y6|jG9OX5tW1xc1w)SzVKOLdiu+Wl- zTA?v?yusA_5^{vYn8XNNpfw+8D@Up#tBq27KT7SsM_+p?3%;vU=09C$mFZn`fCt zu#iO&NwLq@b$%8%gYQs3@=>X?x$j8bT93?QuutqyYUVJQm(ht@%Xt1rGKyQ)W2OG& zqq2=tvW_2Alc%en&!^gtRQC^J!8^VxQ3)$i?aTWrCkDI@Gj7G!@$9-JPPDkqf(}^S zL(XHl?VPa;w7dF#dmYw!U!*94H_d{pso`@ydB_ed{6oxe8;g&OYyj!(nBWt?iI}bQ z@RTMZqA7+M2GBMcm{P##aG=DN6ynzISw-Z zq%Z2GGf>a_`NP`&O}}=vOo}j)t_~sR6mgm)h|=i*M@S ziHdw##3|s+jJ)<#mvA;x4z;dF^w|laTY3eiQ${nvgHH6)E7o_uY;LO83|iF;YI<+; z_64MzXT@Ty*he(_*-ohV*OLq?>NT6M&T~CtgHDkxp}2@8z6Q~6JJE$d^midYPXaBT z$yDxJy-RZ6b>?IyPVv3WcasQq3O?O6o5^Gt@5wNln7{h&EN5tl`Kw@tlFD)a5)tRi z89T$+GL)}J@`MTMg{5_KlvSshEDy~<8yl%Aa1HvlG1FINAs^C^gNU#Mgsp>NK!jq|-3+2;w@b6mu z;z#_YBI{VC&+wm!+UBXX+3F5EzqN`(t57wwfl;$0t-0+lzVK zlN~JN1HXjx^Vbh>{!(V?Z87m9);fpwu?nZ?LPf|ST1WZmzm($#Doxi_Ll3BQt)OrB z=R-B*@Hy?7N*3N0n^*Mft54{r&hMh~tky<65QffCBe+G=C>_|0h}PSysW==bcN&8+ zy~FFnZ01j1w}Otg$^N|qdRTT_qm3f%O0~3|zCWV>;E^?ZJ?@~mJz}hv%S$eAP ztW!z<9ix~^$InaY{{`NDMr)|S7e8W&EofDZ{C-*2dBvT-tdd_Ai~Ba*2jU!;wPhD& zYtXcVebmAJ&>Z;DLp6tB&gZDEjiku*rEfKp54~YVUda7-+GD+*r_s^EFh>ExMzi2k*83B+3Sr{S`6)fP1H zzBuV@HP^+iu+%#I=FjuAzc^KzH;l9u9Ox%Pd)g4CZ8&{3uM-s3;v*%ntfQ=b8f{`u zxH7BiYPPmJ+!K|8N*!p-2BYvXW%QSg5-zWKRX z`H*H*PshYpV&M*-8d&svS?ORs50m6w`|!lH^yfypQoq!T{iRNhK6b&jp!QefPZcq_ zYJ9#xe2u0|XbW!}>N*8*(V%x@g`9Q->+I~_$MV z@H^^`y+qm{VAEMF<(XVRWPjXc8R|6ZWd-Py4%1EqeXrA)j##s~uGEyR74T;^D4)@+ z7h{LRr~wCPd$;28u9Jv6&Z51w|&|^3gBE3y%h_}g0);!)7cvi zo?@6hZn~(uBHRc{kESrL_m0QnehLL>NN!^AooZt0^dQT}>{IBS+ zLTz?E&1_wKzt~Cd+DqZu27`~m-%IKS*L;5&AB@w#^ENeh5I(a3JNeyNIhS1NiI{U! ztlO#^WC*-V9qR5k8^hUh{6DSPzwQq9SnZ`a)dp4UBdUgvRjPCIjK= zSw+s5>6Bskf5tej7~M6aIfS8XvNmIJmZt74mgc?`KFsA&bK%fdYm>^%x5WOt%J-&F zAA)M+HWq(c?fGB*7uq-Ru@r?SFe~Woel8n&;0(a*kTvMT%`Czs z;yIb(dsOO}#}=xC&COC(Do0r{{C%_fCcAp!`G#jb-Ft&NXm{RQ#tIg}B45^{dcZ0T z3GYyg&d5Ux$DNFQ;mH=M?eB|oj$bNvRf46=f*kL${Prqq-}~VEJCuUIV;_siEvP$h`?QAg@EPnWIF&BgGhfvGc+L#l-y&)} zFgq2T8k->=KlZ6frJ-ys_x{HEwmQR<*+%Wm1T!3kpNS%nFpi%U(&gL^UT&n8ji(yd z;IUnCn38gYIaJ$Wl;ZZ{K?B*&7cl7ExZ`kqfB2*>_0n>NFoeA?TI9i$KIZR@%=>)U z_NO^qg7-#>qD!55Jlk0>kMN$ianrYrc7k4+p5lG5gRHtadWCX-lci6>Mbn6L#pG6d zVf$v>wyV0;Sx7%xhI2$m`YX_=1cmMfEBcLX$ME%=FzhY0-Bs@Kd;KaSD7n4(;3WwC zvQyZSt1KptSPDD(@T3o5=}^6Bb@;+=IJlCgzJYDbcL&We)OIq5zH;G`_KqB5;p;^6 zpYY(8##YT742B(*tw?6``Hk;3`oy3H*g~{9hKCoFV~uBTCt-bW7#YQm{_(CIxONR% z<25X6k$U?s%GJMOS+FztvMz>BB4;=@QG6Zw9k$Uq{4z`G&E~q9nU>a~p6_16v9lY+ zTWleTbv%!y-=k(cRb_rGa@_LlkD1s=F+G;KD6F0I#r>!=ogrLJFrufL4_RL4q2_}OrMz~jV#YH;V9k$GSjJo zx~9{D*l8vh+!;QtwvX*i9$!Umu%PP>7YCE*+sqd_ii_T7QFrusT%#YK!Ca5XjAufT zo)Dy}-z&t|Qt^{0CxT_u#qctI_Kv>wnPTi;-hZE#lF|L8GFOL;^l3y@b1+5+^%!&4 zH1s1}dKNNmlkHbY+z(4qu#7J1v+LnRDjDlUYQk9~y! zbw?CeMGc;ZbJ3dG56dzkU zK%uI#oL9Ue%C?@gkFMaio?*up={|wiF&s60{ldaK@R$`6S+QwIo ziF`ZMTegV9)6ISbnD~%>@CytX>Gcs!jz7wX8xx; zEf*fxN_WnDmi<_FOhK>LsXCcyHc3?xH>t$d#H9*|@mcxgWejBoW*20N)nRExb?>6) zp|V+-=CdxU;^kL?3^3%f(d3c8=hbhPfPY?6F+C>I?`Nl%*yG>0=yV)Zl^zBTH-EL^ zS7&H80}^k;v!CMXr6^JDM1{#_aJ{)Z?fzr%y8P6wA}lpKe2V5<+o3^M?@PuHzq6{P z`S=~(^P5y0SBkBxbYL8&v_BJovd0FnEP?wQ zLaC^v5?ohakX=vNd8d&dQ@;zx7O;1Jo;vZMa6=k*@z`>)O{orrMTGur^BBgH$Njxv z^TS1)*+!CGMRbXL^{9L*tL}j8_O9*F3$u*M(8;H)50??&6Uw!V80Xe-D}1M~v7Qx4 z>$CE%I7-KOUNqTEY?AZm3+3dg!!hN{>bB=tj2%z$j0RD}@}vAhitU0mTO9XnGn`|ehT4Av)60> z|8xAa1zz_BTq^|oGvXcZ${Xs?)tkfjIU?_Oa+;njZa*F}QdYCoNvadXxbNNh3fav7 zT?tKSPc5;CVz}uUS@}xXHAh_OAP*VH3rF~r{4lr>Z&<~1w!n&JX1ty{{Ajbh4uAO` z_g>4&=lGoJtT%X`&0oCmQ+DuQI4ia4Qam#KsLyq>uU;A6Z@;`U##aEw3IJj z4>w_(OQGBZ_A~~%4e+lTFyd8}#~T#qZ`oci*~MVJ&I8%iSL|~z-K(OUJD*d9n>*Wl znkvU*s@*)R_rNOV#N%er&u+t_bWo#|JI=yK&&#_`iYOOFtz-W68wRwTC--A3T|}u? z@tIgMu{pg6-I`K20ymtlpW`UT{eo_nf<~8AKXO_#mp*jKPYzQ!*F_vQ^P}Y6?^%r` zPQv>cZY<<;%gn|MvAGpZq6B`DB<>%4 z=38v#7yq6sCJqsYK87B}c>N>s;vaLGivrn>7q9dg&)H~Lr)6qu*ug5!fh4`G+vnDH z0_|mhf0dPurm|AEUHhb&Is+e1!l1vgv*RM#PQG;rivAw|(`Y^rbX>G&2Sa$)EHko( zzPG}awu`=ZeMZ92*D9qgA$}^1WSz=L7b-$Iev}%@|3|60FXkn+FYUPu?;iCbEI%kL zm+$C3tK@`Fd2cDcH6B--#=2_w?jm~_&5|l%m3i>`;+Rc)zcUsS40!oO+RljhvjB$R z$-xfY$JB|UBL8Pr>l;zz7bDuBM`k6To$lUyvhIM*6ybyaK=5GC_YyPOS)_dxn@j?M zviO|Wb-_90>t%RG~_@_ei$$exZ{r`@9RVUg>c2y?*t&4Pxljqpt| z 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 z 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 z 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�eDnPY%X#1Dx$o=pTq>@rNY+jyhSs3P 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


Y>(bB?$z8E8hQF) zfcI_9H+h|Ve zSr>6#+g`p%e-o~O*;1^hm|Kd^)Xoui)!uYQVEZ)lqyuydaTORK$c|!m9KMafq(%1g zHjh-QdhAxQ%f(+vdl085xi(1k;2v_E-LGagKMzj@4!Bz|7v(?laaPrhgHtufuyU23 z34`8bhJ1id5l*S>fgz4Fma*JefdCj2M~b=jwY3fCD)hNNAL{DL zakoOEG*97Bc_ggPaDYxsCjlhGygnf=S3MW2W&+v)zCwsR8GR4mW7lvCv2s0wcVpGl zleiu10dyDVDT|4lWToiGCg9!7DZ0<%G3Fnzk~oCw>d29i}$mPx#gJcKNApqOmpR;_t~Z)IE(ywU9-VlQlN^wbRJ;)X;`d=sf#M z-ip0LzXBV8c;cewFtmXVX8)&|YZaWHlI)pv-at9GCG0iAV23; z11|W8xXTkQfn>2}q4LbBrw7Ap2~laO=9pW6g|b!UN)Cd@tHzrzuG8*o&~Iuo5~j=q z-Xa~50@m$fAhV$#L^)17%2Yml82VMXEAD{4L-V+uOcH!TE5L`DeI9k9MQy={1Dh2y zdKiAgj-qFPBlYvB*Wx4A0cy2V zJNQr$aunQePvbY(zd9F-fr^p4z_b%w z&^6#U^NVQ$4y6#Jjz?riqU*^RaHKRCqS5~#))P*@RCW?!V2)$8qe#e9El3$$9XS+L z-AtZ-t^?wH^bD|rx!~?5y+ZV$KW`Nwv>3uX|Fdh^d8!%S$pP+NTwCNHWIw;oBT2oX zWvZWRDYpchs2PCV5mo}dsY67h60AHW(Ex}d*+k>Uo(NU1~_aRrwI9K#=DBUGy~pi*YMq2)p=P$K)2 zZ{$XNB%sA!;uc_+bP~FaB|umCdyrA*(Kuk1zbj6M?x`;A8S)wM89E2LE!+|&LM<>0 zlC9EWW+-;-20C5wfU9tS;4zcrHVX&vB7BTAS2zJ>5|r9OWC0QO#r}ZXxm$b_CYYF!ze0B=KIN;WJFye8aajskW~eefN-O}YgwMYSq7 zJ(zQgNs>qHxgHkA!p}q_t!DIb7JDH#V14*jzu3TqR$9`yaaXuUa3yZ&%`6aVEN&0ty(>CiE(Zbv(QSYA3%%$%3kOT<+E@f z7()%!4&c3=+k|TX?RL~O6E|arm4-rN;SC=vcY`Wi)2xbo6`3zwuiayt4$dTY!q1pV zj7QyG{|nz?$1~G4D>bMvUN#yKgIg+L{FV7weW}tN1F9?%aURGM|H9|#Lu?QEx>y9B zP$)jk5o`|-MWs@kqOTNLb^yGQ61YP5J8%kcOx;ATLcS^|q(_=*Pz+Z96_CG`9?q}Q zM7%rxL!}XJ#AvEY^)LT~CX*|uW7H+mn`Efn_%uy_!y9ZmR!e}wWP3KV2=+#C_^QT_ z*a2RUQk~7gD$@_3n`J9I2i=Y4QnS%``HmDMo|0ZL`-KL;9WDvo3FKSOxSl9&l~alz zQH6}*A_cp5E54e$SPuFY-Y@SHc>X#x0vO{M zZAZZI>bg6b^GI!#-HxR4^`1lGWLtj4L;G!Rw{u6$?Amt1BPHLx(^1qx{7ZFCUM2Z9B!8mvh@1t}kAE|ep za?=bd6ndmG4g-*B|3}eTMOTrmQMju8c-*lNLXhC@E`z(fySuv$GPn$o8QceVclQto z9@mqjZPit`?hA_-5>`v~FMEHRG68(nG}}79r*`yJ@Z8HT^Jc25aPzOjPt?_z6(D|S|$u4iR=L0glF*Y z9VT-EoknkDUKAa7KSn0_lGn*sKO^q}H*l=nNk_E*{Ep0WqUzE1UPNDUQ+Gm z;gl*g^S!e#x@dx*1#P&0@oqKV-_(0d9)fz{#o{^3YI`|i->00{0`VI1&UYq%xBCHktzIo$=@)M|wVvISCiKJS* zX#sy&&U3kZU2z0sBJE*oa|QcEfrDoLmU+E(wJq7yp1;L!q4fV&(vyH|p-b&lu@A85 zwqBMxh*asoFAFf|fFVI^!yg5=GreM( zuvJY+>S0MVSp?D4i$4OFp(Dmz_6awTGS!wEP;wwj0JCVwM z_YOH&sjcUu8X8i+_&R7a>7PJe;vb7&;njK{+zWiv8+bRMAM7Kh7V{@&xexZ;_7r+$ zH%md>E;gE~Hr5H>rB#%bdPo>;`EDsGXk;+E1=d0T>F1bau^c6M(Knr*8lNl!%;T9@ zev;_{d_{`Woycu#D1V#lBt}cJSvBYLg{+h9MRg5+Hd1aOWC*-Jyc&*7@TYaF4JEdd1?!RUc8073sB?qcr8g>Br!(NJZp+7>rd@9E{~ zwP_zaAKnv;4=8BGf9A=V7(KYp0J!vD@Vq7A0gua>OG0N%O^ zW~vz94LU0op2Cwj+UQMo(Efjg+{tJ65&VEwa*vHB`WBMUTrew+nwFf+Pgg55v8$mTb*VNzE zR$K)oBiJ3}E~c$l1?`japVEXaM+uOJgls96`wM2O=7P3)BRoaIPpS_cOLFle&+e=V zt_w7a<*wnCUpX1H%k;NnwOAA8vk%4Q(k(C@mK0V}gq}buK(enLricD)zVX#EIP-HI>#U zX>cvQ1JyL-JLzfc{$4n#aIq&`{+o?AC$lxcO;Uy5jko!(>DBo1mRq2=?qD{u3G6B` zo4HI@p*+7eyRti%>BQ7TCH#akZ5wL?WS_c+s|owcF3&pDm)}kXGrjm$csKmb88lVs zsVP+)pilJ0>#GE8kFo`tKA6^u+x4@`3DerZH&!g1qB`uNkg6rdN7c40;ASy*z&qA% z8yL=pl;!=tG1>=*Gh~m+s$cOOkS`hw*!I#b`yTr^_83ZHuLX;dvuuN54d}2+Ap=8d z1zUqh1%=yQ^D;Y4d?aFm{m3^9m7|?-jBlKmD6O@9t~%K}v)?;&<<)u~Sj6`OP4xq+ zq8x&?Y(3!TEGFZOKM*t}ZGgk@XcFq`d+%#1)si|CHOwi@siIyAQLTgYeYga?rElXN z2n*HPq@giVo~f+^(}gr`KBHLX8h+;q*JJ#SET!tLU)~^~fHFae_Wh`%Itb+j8bSTE zhgnzIttIycP7vIB7i=XEZsrf?;OvjCMn89Cm0_lZCSE?8Fo0rrIWkjJ0g}{{Guew}wXAk}dD7(J%ovDYG=e zOLrXa0r-)e{?+upXmi@w^jycrYW>vXx6{5iC_PrI@vi)rY9E!tGWm520&<`;EvRCN zy$SDS&o2lMnRhrpJu7BPZuxhML9uC3yJ{wd)(Q_PGd%K{ar;|~XX2BHvO}t^Fvb`@ z-|yfZ<`wK-X`iDUsPSqn0&=(X`@S{)QIsJRq}W1eRGodu*KZQtWvI}Y((h;;n!-$ly2$h=Q7H{~wV4t-w3JY# zTJc={X7I0|lv`8I&pi9j)rg{FS#@roS>N^PG-J_6CO_x1)!7Rz^OvalCSaTu=dby^ z!bsK!wQW(_mEKIhEZ&P~Z@B8OD|YhikjoQ)nJcw)J3n5q9eOovop_;3#apE}3gfxk zMOOmuzg_go?N;-GE&T#olo}X$vh;g%9PyVPq>vI3@LtmA=ZB<;!sRRbA6<4{&$#Sq zW;)aCOD#w3l3mKwzFVS_Frw1p;a4kO=8_(_0GrEKlG3@4QM2m>N2&>}+I=tn zN6DsjPgX4ws<6h!nVA{1?iH*dL2J1Sn+hukKJtD{72k#cEZy) zsb7ug2T$IeZ1yznTiPijmkh}`l(*Iq990;S`E%Hr3QuyA$9~xIYIBzJ+kvyQl8fg} zc76NBe4HyE|9vp`V$P;dJ><%sYwFjW&!1ixH?>dc6TrYyF<;QWyV-Ba3OZpn(X|-F}@=2t@~TQM;p4K>{W@xee?{~aE z@=VKV$aLwS0eSJtIxs_7R3ge$Pn=exciHlZ&su*?_-39Hcf8oa=sFF~RSS!oA{Bn^ zmm13qmS$z_^v2uftrK|WtY)AG_qo~3TPnNhkFCBJGc z&n$5(Y+-mwtx<#=vcofx)YMxI=kYWtxc)+M!#cx^$TbFjxs3A8Pu!7y-M|?cJkvw>#1|p z)0Th2ACT2Q_ZD1xt>vtUyk>2~RpDxtzg5#CN}sN|K9;Ew)+q2x@Tll1-k$dYe(cN0 z@||VEb2C#0-FmLpPxn~+NF?Fd*KOb%W_3{4G8~v4X_BQ$VGA|ZJWd^!i`fL0c zThQJ3Vd)U!4qaCDQpt(A*`K>`<;3yn=RN=U8VEP-?aeo}5MP9^0aHgX(p*)d)yPPdHhAU&9SiApZpTk~8l2 zy0oA7xx(+I``B)0-Lt;2^m@JH+k))z>2<#E{V4js6gs{x^J>9EOuxT|eEXGU%E(Sn zD{#`zzdTG9cIC`7zKUn_Cwnhg=u`i7U_OnR^ykVOa|K)sok%a~a{toaEPg)j1x{Cd z19QIpC}AIsuAg3eZqUOrADM5;`-M5vjd%WKFIK-43ZuW)$gJuwN{@g0@53vvV>90c zjCX{2~C(H8FFp=b%t0q73b&SK+;2K>pRdvIX%!yA+e`pT0+%>pW7>Q?gseD8uaSLVJPog~^$dXj&Kfb*reKv#fSje(0%Iw4`tw?T|MW zbWo-ktg}OA7iTB=LDX^U{a?Z8sZ_k;t}Hht~l9or1-#k7fQB|T2}mQx$X5f#C^0* zAZ0@@M5i$`ZF_B_0@Y)LQLh@-w8b-(EgQ7#c!304_54oCEXOO3=S|= zSRH)Qv|3*UI$6#e`Pyi$v(n_}-A|V?ne^n$6S*R;#l3&DQR&zuF{y}#l;>%UG- z<*3@|dts-PuG!__N9C4lW#LMvGryi+_YW(qg2SlpwX%`rF0GxT^S+keKABxJ&Za%j zewaCeQk2hmE9EpzUk!#@e`+hWwOMs@zBxLYyO0=~l|2bwWc{H-f>=kf=q+X|aM|kw zfzX}BYLwj(uaqfMY>bo{axT7Gx!4lZ_={y18gOB$QzTaFQ%^K(X%tb^c6KuKiESnmc#V|Nd=chP6pO73s}D@qLMEO%6Q z(X&2<>~zEy_lF&_JuiN!#^>VDF@(QonO1sD%(Q?R#&D)q@V|Cf+`yU%A(Fd;ZAsM7 zz-HB3mI`O@1{#5LY`tw~qoxN}!*=bW|FJkBu%!Kc&@ppQt%Tge800K4@6a+?)ZkT!r4LUVJwqHcJT!$R`a zH|F>3?Qdg$tZ)t|^P(!+E6O2-0}2=ChvW_c6Sz@1N7LgN-kJRBHMkbp1fNRJPOFNB z=dMr7fs>^Pg~KuvnaOUbR4y57d#4}NJX%Gel&K^;p8pbP67Gqmia!Y42|tAz@t>__ z)g9VGZ4SO742w;PpQ#Q`JHUAY)|1w@AC4o;DgI%w5t_?Yj%rk*G5VxGwIu}o5bs&b zge2J;8T4w& Q!%$mZ#vcBX8$USL#K#21n`BPCl_de4h=896_%*~tbpJOnt zFV1Il!XcUab6Kt%;FP#k$4Yxc^G!gx7BhbDZ{oojuYR5@xN5MjVHtgLm$)r9>kqF&sJ zm|TYvbcRnh{S(raQf2y;t6dC42b8D~mtJ;oMQ7#oiY-DfNrOU;#!e|aJZ4#mhQ(G{ zh6c?omsEa!aE0It#jb@&_MpS_m^#7PD{2|{*Fppmhl3B`(R0C+1-@a^C8K&g=v(ap-l>A+=#eEXg_ceDnRjQ*~ z?pB3n^(`2q|CzHgPjRkxACtGa4*5e|L(@LwR#r0gCrq|9N^usH%687_t4bJB31L_^*+7m zL7|vkz3{I7(a2M(D%n~a9Ig~7=cqHT6^_#P_#j3Wdx#WZ59%M7WiB65EYL4?3ab)v zl1x>6Vxs+kLk!$&`@*J5)g502F8EwWOe`dXbz^hVPiln<*25eSaseL`M zS*yL{J?+#VaJrhE?{h5#y*-zGn{-9lZ-{y=l8(aAWbbZod%RNVPLe$B^H=y&JbxJz zh2vUK&J_HG(+lotFWL6oJT202n0D({9L^@$9$V^Ym5fV5AE^P_5zs9tpY0xa5v&)9 zsikQ^=@VfKMYC`;s%ccTWmxeR#Y#pTG8Z^H#Pp@}*bTwQqMVihyei~d8Cy(Em=(R9 zLf`@{K{20728L~CR!GM}7KLVsqs@22L!;;M`}C{DZU#(tUsrpGH$wBNnypXpjPP`$ zzELk|8QA3EnSbb?`pWLgi2d>(`ZJGOX1e%&NNI##s{TV4b$89Uv|6^e05=%bYu&A>>)cDFI z`G>jMs>S&UmOr(5Tp(UZ(xRW5?!ZV#R>WJoZt56!HM+ETi|U^_^J4!g{*84SjdR?< zb&PWbUm$tmS4-cwU+`3hWrB{!olX#gtHkV&{y>wfPDH(ksu&VlY<1MB7_Dqz@wkwG zO&wzb%l{YTV@GiFEDg+d=`B@z?g{J?d@k^?rBnFZ5`~r#riC|xU$Squa|!u z)FVJ-ugb01VwRqQ%Tp)4t~|-o1-^67^RGd@3fF%QN?%43hK7B7_;hsP7CyoIuwW`k zGd;*XlXs1sG8=}Ess*kXKjcl*yZGp3^OoSHw&q)*X$v#)$q(TPTCxyE4w zYAfXmYu*I^s*-gbmvkmCnCz2@6k<9IZOSp z6~SQm)wP|xkozooC27D89G9U9>(yRKm zGPU%@pqcm;{NW+4@$5%(!E+p)V`^%ta&ha;=&BChc!yWnEdh0emZlHZSEAW8*^8pS_`h1?Vb8uo+iB%JCYh~+o-!S zZ$oBV|KWDo=kjCK%5-Yn9LDl?M{j(T%nJI$OmmV8hsyK0$7Bs5bXWTiyO}M?mC;(e zhU(>Qhw+|_Npb^QZEa`H4@|;_fYjgpe1+mY_CL8<;Xhuxe;ev2IMf@NUEMmHTC^w| zdDnv@!e@8BC&o@u!rTwlutk|t^{2jKp5sPm5-p7Y2b_PA@j-dgUjJFtTYcjhT~H~# z3M>Vpi$;KxLYhQKEj5u_Vy%Ve7f!_u%zQvt&_rpl@Y__;@s53?ZD6-p#@SQBJ~Gw1 zP{;!Vq&UkL@urvz2l^kl0>BRIVU}a(vnR-DW*6KJi2m7?m^H6(9f|g98U6GB#2@^5 zKRab@*4|Q9#(L*#&8k*5+)@jsaY2-Owm8LgJf%Z{M~^S+p8i+5BL5+kKxGRqI4dZ- zwT4A?(kkRw^k(Q~;nsrTMmTek?rmmz2cmra@BGw)#dsZM?RE1H$9B50UZ@G)INXJA zsK3u|?FtmaBf2}mVM8#1Q@w*)`ss(TMeIHHO9AUMN#&9B1`2U9w{<#ZSynh_Q%EE0_H6#H7P8y{tF z9W+a<40^F&*boT#;^eUUCn$z%>WSJ!V-`OX1d?6cBxXLU=1(v(_<2f9VRt{ETz~}x z!G)}<-BSB=6{T4;Nu(1c3JmklKo6T#O8aR`HEtgJ*0R%n6t0G!Z0UjJgZxy9wc7r}CK16?-$VT~ z9AFQ^x{SavrbIAQ`$Dea#&mamochWyTk_2(tsQK}B;6m7U+KU+jV zMN15l!4vx!s-kk>4`O@aHB}{r+IHJci-Pcw>1hOMhA~6DsrT_7A!V5)qqOpuQ3kg1 zC%8&_|5EDvXL;`%e=%c>OwFO6p>&eIaEkxW+=jGz@aeI>?!F=<2%Cvqlv`MpCK&k& zv+~S&^$VN3s(JqO?)QFBuIN$90O!LT-upuyUs%@t)BoB#T^*@y@g;k6Xx3l@-%(eR zrn37{O?f_$_CtMMYqW|x3~eGiC%#)zNR!*ddt2=kI*uZ2bzF3 zm;s^OSiTplG0&xg=37D?b~y8d?IjjBx8$2~HuHMZ2JRkr&GboH#w^8lxQYvcspJLY zWOa^ee@*$q8nK7;fiDd^8a_M-63`jEU~8K{o8L2u>IC&J844lMjSkFt@qsj6xWSi` z{-kM+0?YH6RFQL=Q`n8tDtifgOVdJAinWi$FO-AxaAjeuwY;z$q_KCn1lX5UCjv+# zQ_wE;g*FVY0ZF){zDMt4jM5&vKNq}oZgrC)N6{2-Q@wzy6$90m`c>n#JkkBeGhU9@ z|H3NXYIHHilJRT;Rh_&>gV1uVlU58r0NY48qXSAY?$S)>HPj(=Njau%&|WJ?5zowE z=7SpeJ?e`w zidl@4jW0$RvKm|UgYs{E0e$vQi)j|kvfT7QoFTk}C56-CzomZ! zN@JR_aokln65YdJaW7*Xy+UTPgDWNKbU*r#D&u;?*5o#l^{uG2F~OJw?n5{9F=LsP zOb0RBOiAE4h$iIap-$TbhUZ7rTNfMyV0o^uc-q(g-B5Kl%2&MHnLX;zAgW+ee0@j--GlF9lM* z=Ut{DM^$>pGV+=1G>#in(Gbvy4Hi_vV79^Ylux=7KBR=wy37wYj=wBiGArh)<|d-V zz6U4Bb((D09ew|Qb_yfFI&cA12G2Ii=^1E0SZ|!wYH3+&D(EY;;pf68G>ybW6W}YT zPAwmYkmg`CUP-gVcA+oE|2;!R^e&GA4Zu}syX;pKw<)PHpC0DhHr-D8q;~wxT|G4xUY`ZLGgTUuj;&Y_wm$V{8HjK5rx%3-lA( zMI}pVpoQpNP)DsmHRCHF4;SDXaEDP@jn!w9JH|ro7rLuArQXFJq=oj@_gJ2wk3y^T zPa0OoXua`6QXD@+3v{BjQdj!l`FpFwsp{?vISYTo3hXji)o7@1raCZ*Y8pN%$%jR+3mO=m|#6C zoslvHjZI{N*kjZg+h0JYLzZPWyZxBOWS(gmZ5?F_5fCegc8gi+&-dds`Yl<;dg-~C z$Xubmr_pQ^?mdT@9C8s(;~s(I`Ylyck7$3Z?X+t&D<_cI$DC#}KsV5pKz)Woabl*E~zW0tdT6fS>zmwVwrx^$2 z_kK=hH500;{U_g&pBk0v6&BD0wSq#^wNVK*R*A#kk%N*v<_bCN22hSo0tcx3worBI z@#GJ2h|rR2E|!)0im9B;{KQLvg$&>uAkv!*0lg{3W0$m)>nQfJ z{j@E%hMD7q2Es>?;r|oj&1KEO^h`uzV8NoyVGwQ7Mgr~TT30_)%?%A)OtPv9w3Z#*BTfOSlJa1hLA-jQ=O9gs5ws$YIbYmH`PDwqa4 z;n~_qd>Nzzp4McGu&UJ2uF^UGHKP=0LK4-5${R)1&ghNwRd@kzWblRrX{4@jluXrz z;J>iT=#J(nqfs@`h&fN++4;;^wgLDdyOletNnWRqFs$qV%JOK0N}-u727jRc=cWE2 zfTpwE#>-imKV+O&Kl|5eZta@8mwyE%hqa_o0X@sxUeeV{Ft`qZOopxxpb24!ZMW z=o?m!UjyqIni`~^!vWM2-wt-C-<&l}5qlh;RxZhp^}dvEe1TRBM`;quE1^C0evg%| zn0CS>yn*b{ojL<2a4Sqs(|N8WOflLUgQycC5+8tlDcR~PP9|@-m%Os~ zZK-+&Z6;UrBXSJth5P8Mm1o*{R2_ciHjs}%gE#PReW?6ZJ4!rYx$%N-**>rn*>v0n zj^}QH7e+jKOrN?=unBpf+lSz7J=xwFz20IKww*+A?3v ztdNT?F;o#C<}pi9ruVaU9matga0;Jl-Yn7YEBelsr!Il2;Dd&=OF-jh3EABLzgGe- zuU;a<;Y={f*eowZk-|X!7TC-OnoiJZ>~;SsSE1Zm+v*EdZ{nSLbv*#y#ib}`s3ShA z4nPx(;$$^o`Oka-`xR`bYSJzKdD>BYM!~qJd34|`yGd$jUS)1U6Uv+L8@WZeELosl zaW7Pl;PW^}AL(~`Qv5keZO;kq3tL97pezCoVFNHJ553I_cNTR+0;mmtaiKO4{LQvQ z*v3*tn10fA)H6qQpe5=zeF?3b_Y3{FxwI>9E^QRQvu@^J<`_KAyo5PiCjEC!ESL02 z@@ON)_@?suUbxaU&@>wZWf=NR0?dPIMUQs3AG_p-?3E~9m&(bym z6LsV+0#_|NgPsd>jY7SJTv6Rf9S7qmvthj6knDqV_*v#L_H5H!MkJ%TBy%7O$PJK< zekd_&3`*3d_+~m&3y#Y#nBhV`h}EkqvlZPqgN|tDDL-u}`K)`@!NyN!0`r2rBNn_$ z+3!89RHgdPNyZX?ef1|wg>GC)USmoILvO6&Dcrg7%0;xFzH=mh#n z1?JnrHQ^N;jlXJBz3sI)_7e+Haqn{PD4Ek*=q3`)J_25priZ}JtOL&C#&EIh8@3Wz zK#rO222BpwXR6H&VB6Zy20yU(v|TYvLKwe|??m76z1(wH9h%TcMbP_@g9IA;YPlmgR8vdJ$v2d(__g}@3)TER*I0RxG6wy|6WJqN1Q*NCr_~pxn<4}P>6QGZbyrI%wKRe1 zA(OO(qS2mD{>}bI^tATMivOc>RBde7nP#w)u~M(1MEc%PS^&mlxkO7#A(rMSZWNAE zMdd5bK?%ENe1!PeyOL%K5EsKF7(vJV8R8U}MbC>^{w7~Ru$X6?icCW+Gpyz9Gi~*y zR-~JD2bB@CEM3G@F`3&&zsrM+3I+?$v4x6qzN8ps1tl9`lTFpe{f&(tW;RM8@vNPy}43Ssi9v$X2t2BEzeM9 z;Td>_QHQ<8tHhz`$~trx4c0dLXKDw~M7=3uaXCiD5wseNQvCQ&qobVWH|b__RekQ? z;X9)>#M!740~X|~jWCLoou#+#G49qdeIwGoMT zfpGpcp9nkC42R)TAE6lx!u!DnrZR30LWOR^G3lhKrg%!&V0v!ZAa$h_ptj~6rZlmV zI9^JW?lE&vGZarY882vR_9Nw<{!Go(HfmkaV9;KTaes8P-p$@r?-<_&xk!byx_gWk zpcy#S_{SgZQM_Z6C(3EPHtkJvsH1nfx?Fuk^AnmHd&y3ETK%Bk=>uc~X<&>}Cd>2H zZ0(>{LK~+|)|-=T^oP7z%Q0SK4~az8wN!XpXvZ9dGP?&BlDeQaxN1z-rs>CwP52Z@ zXPa^>!7}QvB49k~jGkg-JkefJs^b@$O)c=-xw{giIm!ec<39+^O+(G&*h|bKQ+ewZ z^H>Q8Czw0T4E8Zt$(-ambM=`g)cL-OufrqiAbJbT%paVa$)%p`&SFpDq8KBNpcIwH zpcb~^FDL+|;_qNQJDy#O7wdn}Wancb&RBqSFj6QjAmJ$O`JZx&!B5;0-e=z9$9Ns9 zvzJ+!DZ}&=TA7COwMbQ?IW7TyG3VHLn#9_NAHY5%W57vxjHQ(iWXGW*U3YGbP=>9Nopo@N}>l+|&mvamsdIvJ5q-T|~06hqN$0Yk9^+GM!}O z{YFV`0O|zR;>REqX5rgpw{ZY%H%8MtbHqQ*|BCj+^YmWoHT?lPhF!W(S*^cRNBWk? zi*ZM|-ta5sWsjPp?~uNlWA8wJ0Hx#A0#mRmN6Rw3hX=J}`G(i<2cpe59n>M6 z@LG7zxUA$T;|$0SXUoIK5Q}r9B(9lhqP4BGlPL#Ekwdh;j%Hqh$NWRFix|WfXIOSD z`+^(8UV#JHhNcasbWt_!mWXMQw2J8f7s6&R92iVrVL4ZpDG9CYKxPDaqJLB;!ts14 z#722iiQgkV;I9G>_?Z1nU*;-TL+mEj6WR*D1Za9CjDV||qihct%+!D_Neb(cc9;@O zSA?p}e#r8zxRK-ue!;HdRd^Sc=O%MGFo6t)-I=RKJ?)C#1o{VWQii6f-@6^5eYjoZCOy-j7WB|Ntv{$G4!>HE(rglg%X*c!m zdMu77iKrb~tv&X%a4~X#Q64`uhM_^)7wx4{-Ee6S5!CA{wY6=Oq*IAs&7R<{3$6IA z)aw*O-y=5|KpKLVB#@cT1yaZQOKt|dt{+s(sb{r7Faw4#8LY&$x|u0}`c{Aw=2IQTJLWPvtd~cBs~dfhzSZ()eGhJK979p)3|>uppak|P z*N4sK=9wzlD%B&tp(f(OPR(3`U|8x6`)CQHF8FbrkWJm5X}FjJdtOMAW& z{4!`GRoT{D1jL{<*NR`lIk^BPirFHJr+m^&Y%14^o-^_E6t0CI&<^t@?elMj1yM~%$S+vU za@0H;zJ>eE6GheNNzY8(cx`;A{L;N(i?Il&<1TtN{h6T~;qVvp82+N?TxoH)&A3s!W{vH|-6IFgB?KFXF}< zPF!8e73VWgxl~~w^(0-VdxaZ@0}f^zQ9s2vb{qGd-zFxp74aU>oZmqyJUQ?uKZN_r zPL_6ZqXA+DGsBF#D3EN$kokurpgg4$J>ibfJ~4ts>&Ntu`e3zzvQu9{4jU=jblMkf zLl?C*My76|edlqe4cnAn=Wo(3*dMLL?LiP3MLoeI{7(9=+*I1BKdF=9jbig0RQ&oI z<(@hopTg789eo{$;4F0J+6JtLFX(rpHuB?DB$`&a%Slaa&}zH2QCFYs{q4`iVUWXL z$T6-VO>J+CPZ)~f2m9$fC!Y`G+jGN2B7A_)V2W^7?9K3aHf83XrH+8tunC{Z-eDUu z`)I{m78f_{q(A)4erATkvO=D;gzX5UnRj@F@rww|3g$iANH|G3ev2rB|AetdbLmm| z59(K#2>#_5aW;1nR-`?vgSu+wAv2DJg-k8ZM!y4pbIXJ$>;$G5;~`VXza)hmg)P|t z{uF(Wno%lO5_+X3p*Y-+jD>~pI;_VY=XS%rMjGw_$C4<$jhbORVohuWJ@e=j2#eu( z-Kr0zcfY?{q}0F*K_2Rg{sO5?V{%Hpp|qz|7|LOw)$c>$wB+W@Y)d*RU5GtsI7&xV zjb0=I{sD)u3O9xMK@I>jIBwiA>R}I#V1J8U1Pyq>IQBj4Ku(hfpadMiU^;=R%tuQi ztsEEA4&A4p){f}kjF+Sutj{#2d#rA>8?QlUh4;}E>a!w7W3UPa!Mda#xJJEs7I?`} z&?n;pUWXVh6lGGTYGb9ym!uGFiS|prE&rvZ8SlXv@Pn{$E8K(IX+8A?#tc12`)o|1 z8TLP@qoo`0(pl(Fn)8m8*ZOSZj$TS@puN^D^ncWgZr<9Ge~lb;k4)v7NR7mm+yKta zy@ffbNRKi~8KTyTc6K>TGx0lLk&>Ou3Eg-n{QqQV4W0KdhR@hsK3mL_N^#H0HfA5U z2+TCD!B&*VT#pj_8}T*x-cT{V6P>-mI>8&V2h#l?SI8BKnUY=j1d5}fdMw$-CUQ@i zl58f|ocjbB<~5VT9Dr4fmwFtXC&t6&SOZy12xPDs5j_U=)Y>X*we8g1b_6GZKbYt2 zH+r%Z*A{92p)}gPCL%lO3$36FzKm+?Keg7hXIQ8K%mRZXf*YVQ_=>Be$!cZo9+HgC zs5!FZOn88KMC`x~uadV~KY5Z|St&*<_{HiJV*&1}n`tJMRUfA=@}_tzsL)tXO2AS~ zJhz|!#Qer z$I($*qx<1E?kCkK1sWa69N@*dMg}QEJ$h;UHqImlnUGK&?nR$bM|>JlAEr@@p04HC zk<4f~5*{J%wQkg-))FatTVpz@M!lq?g_m3w+l+k+CZh~>ke-c4!yDizzKs`Cy6iLM zKW{s4dtXK0CI5J>B|UpvCDCm@Wd;qHKW#_!oJA0`%#6ik_~O z&^sHkG&L<2^rYl)GptTp>Z8@M^yFnVUXhg+_!sN|QjBCHngmgA-$k_x$^gxoDsTt$ zFCQu-vme1vG6H-gZ;Yo1f`jZeb{q47ttrHEOG!gI$KFOcLHT4iJ`XR_J3E&v$-DWD z!go4b_>W!B+oeZhZ?TGr&a%w6MMk*HRp(Bzjo?iX!wwMMN$;g0rprj?0bHDLO94qk(V>ByF3 zI)Pwt3L5YhDS;^ukv{RWggx|pie<+TE4rdTV0I(lLD&N`P&JgHZ_^*> zit!2@1E-7)Mg?{;8%9>@oz&atim_5XC$}@YGMIEDU-S)HS26?+qi(uNdP9AeJ{R7m zzj+u~PddWoWF7uXdw|}NU$`0FKOKYpxsBp%=_go@$CCDZjPRRn!#O}4(~PS?JIasj zRB;4l5{YV}e;LXnooS}rb5n{~lm6d&io;vPiM~yWBBHRo2*g?sWkD`Hs9LPt_zpJPWVA7;d_aLZTC%I z8NXvzz%x4as>ePvt{ctR7%fDZ!aNgfrjkN$-(0nx$!lD7{VR9k0?BzrA*X%aT%*8F zlbJ~cUF?}+E(kD!+?74`P;pSFXq)RXoT;9W`-4!h+k4UfRJaTe`xAZ3>11iRvzoHW zUEqp9ZE&<&%=6n5qE`@4(%oFH=?xi&M>7)bh??@P#RRb3!dP?h9tK&GxF4G$PKJXw}LvEC4WKZ zU>JCfPHA0@zRW!-RT^P^8X9NciKE!@VO@jc8S0;9>;#eh@T9iRNf+bzscRxtHM{Y@ zrncNgPoQhB@!2TmHrxTInb(^YN)v>}6SJ+ir6JADtN}iwh5Q<0k-CiULV6Sy>BN#k z)00G7RelD#YHR=xZOub$;yO@X$O?ebnbsBhQ_u#K)*7O-%2n0FGD01GH{7hOmluN* z>;Z2~!5TdiKG%NG`Drvrg)PLsMp><+`qrlyQ?I7@V>B%YbS~~cJqF? zKuPeB{b-e33Sm1$-;xym=u!?TdqdxQ7|{Lq5SnY*^@TYXvZpGMP>oVa1=CM=2i#FWspe z4EradjHiUB*#=J>6Y+Sao^c{+?DiNwO)! zi~54G@@Q0@spd`dC4uj*h@85(rng+qDCGpDseZ8(Grqb1!@0Pjvm_|A88$U^rMTW0 zV!Cc`%*`e@i}_@Ah_a^-&fWS?~$j=1ng2{VrKJoN1^RIM4FKZG)XXy>xY_cQ)T)`fCN6 znQVaX#L^@zn^hBR--S?liP9V##;dG({%hIa#hdoIu#CQ&eWHX?eqtBTGi3qX$3Ny~ z7->|Qy!d|XG{=l%hnWM^lly6UZZe-#mE?WjKF9raoduiUudGi}{ zT;pq9W3w;&Kk%iVuW2dimve_@FSAd|8s=KU?sy(BE(h={fl%kJqy1XS}e3&p(#^9Az$CFh9Pb zd5_zVZQ<6yZ1ImqA^UEso&de7mg$LML|)lHrSg-=Pv0l|epkK^$X3qV-dxx>=*%nP zJ>sa6{@gzhHOnlT<6s840gmwOpuOb7u2;WD=PZYL$+phqtP?O(e=B2DR&(tx?Lm)t zs`+wxnD?;0Ab6>VXQ8ZtB*I_AUzEw2 z%$Y2#z)w6MJuOu;9u#cy70;Y2pTzgQ(b5_|*Pfg|%=g&eRsW&waG$0_tcMM~jS;X< zEJaztvdJgIr$Tj=J6LCq)uFy`w#cg#hhuKu` z8c_0Y*j5KkGdTk;ivOB-2R;bgY~Jhd?Yf(HKl>P*Z?pXKJc<6AUWczU9V4y6fl!yk zu(7CtzbTI~oss*23jNExQaG;8^_?RQ(`bJZUTLmxDnUy78yi|lXZcq-NjR#m=8BZ8 zyftYdSHzW}F+r;}ztR-%F-{0kK&H1$5u;hF=LO61>>N=o_vws!!Xye$SZ@k)cjNs?g8pR`!eT?{0TpHWtY(xWXI<&$;S3N zN>Dz@TK;`VnrQ#x_-QYm^HwYD-;q=2=f|)0vu`?V`N?^C-bK0Fvj0<>dfvMqWqi+F z;<}b~$`j-Ig!+Upwe-=lXmP2r@30GdHtVhY|JlRD7g|Bj4SAy!q)u^PLqLmi1m%V4 zgXJD{6RL_e<96#DwAOquBuR!HK_rJ|NTnhYViO9kwXTWqmv0?a&(<|g3#g%23HT>= zd(@xc|BS<;?eW(F8U>e&%r5XTer(`QiY=cD4TXEndh2)y!fgQIV;zf2!Ou9a`g>)j82_THZET3b4<#ll&x>}q!)F5D?!^%QYt_10TUJ7 z{X1(<@9Z*+$Uj>6puv#-S37;y*4j(t?anWTF0^vy(WZqOUVJ!r^QwzE=i45-_U8B3 zP}84k@aYZnjFpV~s%x zBkkR@m-udG7Q8>Fk26^TvO~k_8SaNpEtjZw;4nv7<)F z&oap&U4L)AGczWk@Ywv~g?1Va;_cy?wsZM&ekb|Ir+qA)SzXo|%Gm)2E1oP|zHIN- z-O4qq<}~;9!&K;4elddY+ws+6XopGIv~?J zGhzJ4L+R!Mgtz>?hX#FieyouAlYIF(CVY|Q(f1z#{S*A@2V+C3KK{1!>sivQ%IGp_ zpPqfQ#Z3r(^{@o0Rw?n#yN92{IyEPzCtt2cUr1<;D?c6-c)I?Iylj8DkfIT#JO!0E z;h*w$;U)e8kt@n{G@C;fxMmf~4_y8r@`uMu^Ox;6yga81xoz>KD+9jP@Ey82&NZ!i zc;xG6*WBH|C%wJoQg7XLxBXM$UUE)?{jzt|pDy}UlRx2~;$fabVeb=4gLV%<7yGa66G)C&wAKxu`su4vA%^Ldbbp+YM2PfKHF?)>n!~%tS zSk11@-yNwu&+-0IUKxAA)WG!JY0E^neK8`H9Hth&8P*Gyc5V-B;^^<$`1{TK5VSh} zyRlF3^um_{{23SW8ik#)a#vjX6K!_Tc>fe7h0D(2zJFbrs*UaTfS*vFVy)-SNQ=xG z^rsV!G5!(u3p@M?nJa#6z&)*VZC_YbwPnN>&8mD3&y6h`G|AB$nIflHG5a2n7oXxR z@u#=5iCi<{Vc3bP{}wJ!%3C)ISN(fEF4vA^W|H z=x&%k$T?q2{d3iIQ@o-KiS$H$rb)ij;6z07i|8C}NAA$bWf83dG6Gu^SX@4}XiHO? zhZN8%pN*?wTIemIK63}Tt!CZe5%!0;BDd@Lu0dp!zh~ghsQ;A8hU;zrrs_^=v&$(fY#$UaI<$X=SiC4WHf@|-n1JZKjE=$xK)Q0XVg_FuUHBqIC) z+NRLZ&E|S~fSO2{B}iN1c&%N~P)?k4ro2S>mS4|x1bAAvd`E<(0VNFw{IVJz)W?$L z9ibmEc}YV4iL7(#dy7?fxH=Mq?@77%nuJ1*s28-o`*s@_?&=efnwSnx#{hLDSLee4ro^71sEh=1m~3rY*L((d;5Eiercz~2DhZMyYe z?`-E$e=YwBHIdE=j5BWJgK<|BBYWhZwu|9AtuEkYRtarvuD}Gj6kE=FkUKC_d@?jR zxH{_@I6Js`K)=YX;a4LjSXY30-&6>d8fU$7Z?|-3vOC2+n%wb>@W^r}@jpWn3Jf|B z(aRKVj1zwbtzd866G?F`R$Y>{&fQEHLK(=t_B%BBn54K)Jh2lJ4- zVJ)qh0e=8|y#&RoAB1b>D)^DFF*zQvkxl^>;$JD23Mvw?IFfDmRn8ml_2C|JXHZ^y ziUy^3?vMO8nuA31=kyND6*SdH`)Z0?1grnE|A69jiTSl?6Bg&|uUUP)-4-{6S$4t2|kXkT>Ba+5;j;I(vbR z7fogkp1Nu^ni#b4^Y|r3wCkCi-VMrs^Z~3wfevseiolsQa$E z(Zk$nn%%R~W1`{owRYEAJb$cnl(vp%D}U3VVqR?SBJQ=E zGqoU^!4cTS&_qZio#-O8gM5KW$Qk^Jbj}!S9%srk95zK7%L-=LJ$gGR(|ATYVp?S` z1S-)GDFA1H?iXt;CB;jZOe>AUrD_4MZ3*HV*!KB|#{wPNDh|ZMO?_;Rfasu@pie?E z)JMKfy3tnKY8c;T`-JaR|M zpsN0_lxaA|d%Lmyw4=Q;oGgSOpJ_L>~SyWJgg_j(TS zzU(cm=&I}OrcTos4FGEGWM5~s9&`sIq36Gk3a}|n(qHP=^)CL4N+J(cTjn3iujSjx zPQ%H-E=UzN`49d;o|&n=-Z^yLHLBc(okP42DHPr;%s`3w!q(j z@fpS5YO-ELDdImwm(s&(G#O+#M>>(RQUb|^+3DNt3OlZqP%F^c+F8G*D>Mzd!3WT3 zt+=-|Orp(4li4V21m9&O*=%kdkYze&IcR|hB2O0mVo8#xmeE&`J7^2|I!1uY&Lp=o zj4^aKdJWIbtpeH`RKX~W$H!qm=XyEc^vhIAZfy~RXIYj3nRNs)h&FkTv{x(yKAsAq z7r#&*=*2MAJLqen+t+}(bvM@y<;-1-^^JGIf0jxAVJjgkTj|{6A3|0OH&`rp^PPMQ z87tH#ACXI|3llBtv`6f`TvQn9zv7Q){isFzrHx^I>0N&lHI;$yP3;Stt)9Co`O2d& zsH7gDOjBaC5Be#*S4^WdeYcbj+AIHbbp}jPwiX@YKB11ZNKO|&0RPje`PebC7`!)i zzyTHs6smH*x4<7+ENvAzJ_5b>amH+Odvj^SGSMIvBBLP|^%UdiCAGNj(64hJOH-p+ zC2_bALZ^T#H%BW3bIL2EPqImhmA8>i+Aw+z4b|RxmitPu!Q>e02OZYSO1Q6`|E%j? zc9pzjf1bV!#fcAL?qn|NhVJ6>^tt~vMZ!v4ka?68{|a4K+dBJY|M+t=tr%>H&u~0) zcJWW8rDzd#8LwwtLW+2YyKlIgp3KY1Ip%fx*Jc&{zTwB`>|$C;-rNgh zLi=o}(UTmla`PQAurGeEXR*3g{o>o}j?4+m9G~y;TysD2v~pK-J@D^Q>v~Ih20L5k z?69we-96P|&*C0^wtpV_SGK^G-vsfQR5<8jSoz>u*5@`9RiWVD(dz?sL#p)HkPx&f zEG2laEzG(#;IqvZF+JvK)WyI!@u+;>(kt*)h$CDIDr-qHKQ#Wa90~psw9ypK4=Agp zx)I5d=Fs9HCoN+Py8;IVHWV|^6TU=S2?}(SZs!IyB-fQ4o!2Hi-CoDjKc~U(S6Qv| zhk9*^6bN1gptNWRwk1xpgci#D&hdFUMH?lux3`@V1 zbucS6tGR1{r&#u=^yQhie%Ae5@aNLsZGL9`>X&&r>!0jFxoZIiUR15Ee4?9}-!;`y z(5Jil+DmvQ`LgoP=WTb#d6L~lTpL}Acd@6p2YO=q)4V=8*Bqbi$MR07by6tZ~*8Bjl>R?DdzWh1tVHU6b`8odMRvZXl%&J(7lmUBA$hoiJToe$owqejLjMNAiQ(@-1sU9z9MxK zY=s9zH@9KXE7ptG11<+98#T+?K-rQ8Y@(f^i$gnvHi$V^Xn*{y0`Uchg$@d=7Tm#h z*>cA;QZ5g3UdhG|VIw1jkWP^&WBP{OiC7(z6rLBf9y~dNY$GgF%~yi^1$+|^n~IA? zeFc2Cm0rNpq9~Ia^%!R#cO1K~R#TwI=S9x(>Rln%9BdwrU+6V~Okx66{jOLABeYZf zj&_(%8>@;(m1y^2eZ21Vo~9|P$DZUm<}Kn#bKTdfvTD4QKPf-Zo$Wm1+^22umCPEQ zJ=p#x{ol0ue`ftM{(SfC%h$NCO+O9%(J=Q)w&PpcyR)w^r<6$D=eX-SlF{h%?N4XE z-T&SxvuR%K)Z!oHkN>_meBGV-J-4d;0g&PRIp@@;{<7>fGUf2!R>!5Bsd+F1#;P-g zZ*;YG)z{y7!qiZln;rb8m$Fa)!~_G@zB@i@KXHHK8e1T*?r8-+gwv>6MDK7Md^VB*Duw7|Kv4TZz z6x$tRh#Ql5Db^N!G`c`+=YoUcR)%MWJq*7SJlS?XNC+xpo?|#}@dVxsx>+za@l5D} z*xH3w1w05WV_K~bB$dHY)8A6jGEaVDZWVY4=;jV_IMD6mJ^Qntw5YKr-|RSSzn6Hl>EU_{O9+(*)isnl zQ{j5}Tlc`wgywIPHvJgv8dzmRe12-*2SND1=n9%&K3Snd%g40~*Vr4s1h)y9oU{6I z|Br#5d2x|3DeO!1@T6*LLtj!IAK(2fDN{?Gmb*TC?(_WA8v5Og**^-Tjs98P)z7)( zU25jufKTpIKg07+d@c93r<>+A`4Io^@~7r+XFTut>4|d28-2Cq&Hh?jHRa2a*M~lB z%Q~epUe2_KzJ1a)<3z|;yZLRzy9S;OruyE{uj}9C*y988LoTJvKUMNIPrFGC=^IlT zf7!Z5_?B>_MAt zC3DC5`^54(m#(duwaiUIdgF<(^=yomAn*Prf7ubD7Cd5H5!k?7C_jWh3LYWW zqZ}}bMZ423U;F|eIfq^_lFMEc6nE9fLSrT4C=1F))$0z zGA6sqdV-Ys=qVeYTR-nyPJ{GqnKyGslEJPApKf}t@NvH@|Jm)y%RdeKi=66W`9NSp z(+jlR)INB4OjL>3h*H5_qVGfm2CN} z!9gEmK3TfTgT(}KspX@=>o4LS#p8{|U~|SMeV+M@X}yF^8%-7U%kD$&f|=L9js1Mq zag4TiJ@xqAQF^@e)K@FJQ-<|-#1C6$ldQsjM&)+Md+Lf(%X&ld3T3~}d68ehQ7P*U zpvkMbdb-wRFU@?Nn))R^qcF@LPS;Xc2bLym5QoBi*cI)S@g6Uhdp^6UJAwVuuHXbC zW2t&ROLUFPUhcVV@BTY4o1|C#y(GIt=GBaxKg~ZS{wU!XoB1;}G{fvz@9OHE%Mk`!l%E&!dr@S^jJR*cRG%?SP;ygAewteJjuNp@L64F6iYhOG^+5j`jN zWq7*nTV$b_a*=JqCr5eW-i1~Tqp|m+4hKJp_){=2q@t-==*O6KafTQroCisvog+6! zSBltgJsSK_zUvuB%0w)%wxb2`F+;Fry?KZF%f85Q#5dbJ+m+_*k-If#PF6xrXP4?O zn?EdXp1VtaO?!S$*UamAC*3Z02k(Bhv{Kl)Gp|N|ivG90JU>L~EA${$@jCe~nT_m* z{qjq3y0NkKm9ZC^8@M<&BXousDgKh5i(d$)N#aP$Ibj}l!+v;&zMaiGgeuepK1@c@6M^_JmU_5%>0o$+0zN{5I?)xI<|W2xsN*bWc2-> zpStk(-LHFoW#&}L3CwGp*Zq$_eNtZEY&~7H-*p~!EqCp8JN@g`+TJ&w&FVM*Mb~wI ze=L$OQlsEIVatMTLCek6q&IR`!&8$hDBTtuxGAJ-=*p0>(c2^H2KEYWA6`D_SS4|?_Z2q@6D=tLktVkxKzze<@l+Cl-iqZdUehDv zXv}?$JK+1?nwNRZnftR+y~X>#pUhq8$RyQ#u+ar0d`Oy}S*bVXp4ZqWK+^NbQTO zsQQ|0h1uECw32d7r+l{78RlO9RbKl$fzRzb@6H5Y6VEXv+k4en)>pz;(*BoygLj~^ zKy9K-a~#T@;}(?GYPjF%A$n<1AP9u2O=vU@r6b&Hyq$pCp8y2%k#vD?pzo@-O%c5{ zlsQVOFNFr8eR?$MZYgW^ng0_$kw?al@>w!f{1>M1dK>a#9yp&o6;BbHTgKk+o= z(}kJhK2wpv@&U271))1a%GhR@UmM#8?lvDMr;P)GZkm{U#QL{wuhA`*mvF8jbYP>=-;gWjXUe5lr{?U_o07- zuRj7`WE*)c_O~{bHlQQ@25@RV1ZVR%8VU|d$aR&X_#1x#PFhZOvf*U1;RvCupzsTB znuuGFhTth5foJl$Vt;u$-X#t+E`WU_zd<7#iQS|bROuV(X_PDsV-A0`Qpum@U8`hi zPqmu*3w;V?YBqLRt>xF15=tv?E#Dp=_+d4dTEf%ZWpWR6BlkQ<6T1LgwfEl@`8DIds#DjPvCZjmC0>h>%Vn-QJrS`%)xsAS} zQQ-XkWQef_Stpnd8;=+V8mbx;p(9R`f(`NFL@CAC+h8_WO+Dq-Lb7m<1d0m`Ka7`6 z>y0I3-MHK074A|mKSA@9S^7b`MK8zma0&{=!-bOKZPJd7poxMaUc-IFBjyR_Lx#oD zU*Ik|Oiseo?P_$NmBVMnuc%z0dt<^fed5Uo9Y*p8-BAg0jLbAo}tcm z?i>Djs-_R27q!D$lJ?%0=-Z0%*;BtMLa346Q+u*!Cx?wUBGjN4&drND@FjZ>#Lk@sBPeaft)3! zgyq61(IEe2J`m8;#++5}AU_2%Y6D!$)a5K8sTEE0|?HgiFi4O@~eAOpPtg15+)ljCJJlQUUppv`rW< z?lY`5EES&$HZe;04|og1!HJj*jM)U%gtQQMN~d2rPWxqmp|G~TvfgG{nPwyl?LEfsz8s@Zu$>3 zM7^mjR0b*QU_N^VUxjS&t^AFvqeX0pmIhUBH~OE}inSxf#XEu%Um@4YNd7_#)(}LG z5umy)DJ2sxL#7>|^G?3naAEP^cq`lXwYHdNWyRXmI>v1QF1wYqB*u(o> z?+aJIi{?Va*^f@)Qe+WXEzT1T@mu;`eLNqF-{Bu*n1tj5;6iwdUf~C%G&0k*R6_@a zrD8wnn_-nH&~QtDZiX~aD2szgzVJW_kza{bq|@?1u>yL**0XJ_GwKEt?gxO_b4^%I zHVIY5c-&jRqV!UG>Q!heYk_5QlKe%+qq6)r&jaeZMAO(H{uxz+&E8>T1fB&OX4h)Z z)puGOUC}zxulzfX65OOXx(^=0H`-vWysqev*$9}|tpWsy=HkfzZ@^?kU#vaXXVa6w z2AeLv#$|{>n22BUTeQDEn*O40c90}V*GwMuKd!zYR#0H$}P2++QzcdGBC{)Am%z32{@r;gHI`;Ws^)MoXH z_Dx?26ZxM=AyN$pPRsaL@H4jK_wjboDB6UrhR){Eh9^={aF`7vmElSslOKl1rW?Q{ zOfvR0)iZ4Zr5=xWG>pc#QXfMea>5@~5-!RB1!VRIMj-@)}lSkMET zKk&Ob%hbty(v)DbS^NQcfeve7>mch4TW;V%V0GOiZNwe&NJD?acw;f+SUForCf)FS zHU(UjD`Ag#6Hvkv&`8t>_2nypfI#&p`XMFD*GRF$q~B6__Yde#A0W@2+>RFF|<+yr6UXNqz}m z!z=heeVIB)?V_I7X0ooRBJN6F3Fm<3cR>uo6X`rU6!Nca`~j{Z&4)?QsX)zWjmM!Y zPzeRGDrgEW4Ef7B!(+&s#t0*c3K6zDDIyF3wfBJ>V)TQHdJ^Qt>7=pHP;3ZZ>zCq0 z!*ZiTJ|NdK90!-z4&VSyXUljB@r!MxDX zN>-_>um~SQ3%JZ@^5*;mZ-}O%-I$2UQbke2HeN+v1~j4^I+Gtk|Dw6D!)6J1Vat;Q zw3V*Zny9t3E#RW7Kn9baXefO8>ijf2NpscTz)^lh8v}Fd4r+?ZvEM+08mzR_n(1q_ z&FUd7f>lB<&^r{5ce7#Y1OH%kyS|ZT(;n<1$LJln7ym)~c|qDnZ4acRfxIqWh3mu4 z@GZ!N9Q+d3z%^*mjX+hI2z$8}N+-o=aXv)Q733#b4=kIG*oPkq3*{L`hhd!*L0pi7 zjlvzsa^Q8Pikadqshweoafm#SWIz=9m-`V+tqOfaE4*hZz#met<0o0UOWFp-Jk*tUKcS`M{W&x9-4PS{Sa1oxB zD)=Kh$XC#oTCxg0T748Nf~tWxvV>krH^a8NU~RG5M2%N=`RAxb84wD=71mX6sV&vM zYa$T6?BL0a)YsCDc)7SmFoVap8U0JIPoJ?j{2@w(yKx+tKaC_RbOj=QG7Vu5I3XO~ zo@6OkTraK?t4ZI)%kWHor|IC8GK)9FG2$9{S|5WibUsT3&t)xrn0}r5`7vS!AEt!2 zL!Z;F9nvq;uXGFD#fn2utPP$DcYiN$qPJ0;{s&r7?nBq`dK`fFpk?5Yia?2chJIf8 z2OLnN$P^$GJR|GyFw_%vl-}nXz}tC{Ch%0;LR=^Plq_NZ4&#ehLEaVF(P#L-Fx~(s zUQsb#T#FT2LT{zFr;GR-+>_kF(O5(IxQ@_<^aajeSN)G(8t6*Xh2KIs;WF?b!%#2C z(>_uizOk=*EtY|>*bug1%?HliU0`8WffKo?9zhGSL{u5bi2cQEa*uzYPk~AB2sa=< zg?7>_@xItoo(5EkKf+ib$vtN-v{|Spmo`>3Hjq1uR`H;?Py9tXqJ41YPZS3mu9_~I zb{T4dcL#R3k)1*f_)bT|+ZibiGZZuKkavlX@hCP;*YpDX47!Gfpg;@`LGU16C%4cQ z`d)3QYFZM5i4?T`|4uuYaTrS{>-*GW{zP9tZ-&nWUHReQY&);^Q|~CB{Ybf`^ip&$%Y6%`fon=rSNTSJPI#{RDysAKuB;C4 z%w0;Pz+&+Jl#pi}*IUA&QB?@*3D4 zmLfeT?Z89oL{osr*FfwpBnWrJwemG!R_r1j_&}OUH=rxRb*YeS1t0VgvV|lACt(7w z1n)yKZN!g|CQ>)4t^oHA7<|=HZ*+l|0uIPO{3NO>w3jZ6WpS>)K%J=e1yY`k7NrAd z8FmSHG=8)aji);l)mK|Np)IHFz%@G$NKPs{!*fv-nosLN_Y8(d*g>35K9YM7JF-}3 z_5${nzoSkqOpj(SQ7>VXI9~V*Bc7*AdSPng&-rggU>{)(VLJHk4v4$SE2vKteKUK5 z4+sjWOGXIC#3kY~*Z>Msdd#T*qZj1QNq4D^bV0ZX6A7K*+j_!#^GJ4HPoOf|Bh;0C z2>Ji_1JK)gEq#ZcMbESAY!QEi8;WPdQt)>R*)_em{#l>T0^z!%(QSzE=V6NI1JBm~ zQOhc)l?^~#%-~&6J${(l^}!Ue#Z=S&QQL!O_%RItj$1MiD`)ASRR_f0wOTRFqpBKa z`}i|d8=n40be?k7Th`Y_Ii^NxJGJrpY1)cUMAJ|k9!^K9pZ)ukN%|o8lc~szd*O}f zHP7Hx`3HTx`cvr+CmF>yaFXTVviK^*j0$WhHzFTX>1BQloK-*NWfB8&z<2O=USa)! zhhZnJ$R+YYJSlGm@91LE9mPP+Srcy*{*$`PFQwwr6N$?AcQS0Pu0&GJ>KRS%1AupMQBc2E*G!zbbWULqK!e7URff!u>M zVjp$b4$Z#s?dSxaPg+BT<-+CRt!_r+fj2l``vTQ|cTkFMz+KwQ>a)pgF8!>P)V_d= z?**zP(w--RR_XF9oiM*>^hhsXh8k|xhqwhrWAso)Se~6={OF~li_$d zevi8FTC|AvKv}Eyq$SZ`_yiiq)0oKHGpc(ut5!~3tu#@K(fQ~!?ho})O*&V9sx{MI zXe;%L`gwg1os7;2SHvuE;BDkJc_&s7*mP^~TG&%75F(~ZY0_=s1^SQuOV7|YK)L)! zC@elB!MHtaEq?$mLqaEMi!~cn*(r2~=ul&91M=M~c-B6Edo@IRr-jq`pjEsgJ%RC8 z4e~^vHjwV6%jpi_|BMBiNd~!1vY>{l54_V4+BvqK`&kSxgeIdtyfsT=hiO;sZ+~AO zQ#Mc!PsFd$d)}SD1m0;cV91q(c(`6o)7ztsB$u4V7PJ7!xck(*Y8Xt;NZ_LRHziTCUI(CwUWItYl|H2MFlD(t1=|Eb6wqgo8 zDU24EkyPFs7)tB3J8BzXQZ=EJcH^@^3rHcw(0x5aJ)#=4W10drRBdzs)RA{+CYeH# zd4%3TYoU*#OW0CWR;UeH(H>+)H{i{VgrC+|zeQtsJe=Os#7AOhAr{R7hsK|d`$MK+g{h&Z_#0}C_v2gqZ~cd2Q_I6yx(U4WOYlY@$UgypyTs#IUp)zQ zlVi+=yFl%}i44IygQo%B!twAv?9*D)TBtvH3wm5{h&Wg15N(v!1?cpTVee}Kt|pk^ z3X1~6YCqekSApzU;!cROO~?(H;d%vRhEWioYJtjBM4wCH`-M~gDfpO&;5q0XTSar> zq>e@N(E~hG94u!`JAtUQle<|Obpr2cJkSbG;rZAMcX*$074nE8G!#ft!`LKb6PAGk z?gyxZ4$_`f2M*>iDzKVBil_m6u^dSNSK)D>adqP&JE_;B1-S_~B(XvPsJvU?%d{Wt zw{_CCKv>A*SMg2aCRTw6Kd_nSYV*~%+BZsBC$4Y>QZLwH~CQb zTqAIKU@5MJ*wh4O$gXOiVB#`?mO$_EYTN>q;1SHAmxGgkq~3>K*UQkqfFA27v!PnK z&fh`)a6+%jKA~*VQYa`q5x$Ed640md6yB4WSYK8Ql>s&8wiqJxCw<5Z(4aR_pFWM& zf&M~MoF^Ourf)Pk%KP(4yarH8GU;eO0L{ejNVvE`yh1Rqr?1zzwo9K+&j2r_2+l*1 za3agZ3}m3jP^;C2*uM%DAmfC3!Z|z?wL^8$W4Mc3wd;Cu?nbllQ2YpA$3DK9uGHV? zez?joy(GQKJCF*(BRHG-<3_wN-3WAvG+qmpLP_{2{7qN#37zJ*Sc<-1%~3bQS#k!r zc)(W?mI;-J4(dX2;Or#mm1sloqF)#5i>-tWWG7DJR@Ry((lT@?oyKH55@J_J_zecg zEe2{Q)g9VKszGgnu?%tcvsjNrf}gzr{h*)LE3rU0W1z|cx^@=4U9I^geXxEL{(S`$ zN!Eycr1QcIyc4CPlBhhZ4#bOP=r=wo9FPvkb!6aCLhjLszv4f+hwGrqWx;!87K6nB z!VNTqLiNWuAA#xvrD;Aq!F9!ULQCNaS%o?Q6Qd|<0Nm*=;t_F%2=5_~JyL<$x{nnD z2KaMU7U-)Th?TU(ui#y`>a%p6b_d?;Hk!i2A+I}(fAQU{K3%M>QQHIkqB_flrMCBZ zG%ke4@I|z_-bTBiW~i%lGvAFu;4Cc-)shp<0os{emuWNllb+xQ$SLueumC4Q4RMDh zQ9(Dsto=D!5oQ((!zVb7-q1wgjbe?dO|^$m<+KE@Kq;u1E0IQM2E7B*q!#)a=B39J5U5ouDH9tqs>^=_PneEsfp|j3Lx|GE;N$21Zq-m<%Cj78>mME_iznpsFiRS>dTnER4br9QLbr+ z*&dXGj6lZOiI+l`!~$IiH{{c&)bsj8J_vHlcc?Tv1KqGubQyG;PSdF@8UFl@a7mmX zGzMlvcQzSfN|yc_zLl47E+hcM<&*%vQ{Iz)(;Lu>v^v`h-rzl;a=(E%6(jV<3gl1$ ztT8_Zb@L_xNe{&^VLko;%7cw>r*6F%OMnj3V-hDG5E(dMO0YxpF`UYa;OUyg=isZr z?23o;VJT|Hvh{d6mVMw~kdD_w1Z z2)++;@N#@U+9dpxB$-1r4}@9NJnjU-)*wC#-r>J-8>oGXiz=Cii=k9t^JmZu;ON}N z`9R)(BJ>1`bt0a~H?vswlU{&{vg4$$;3uQuJ$2wG=qIa6r$V*gmllWp&P(xIV7b+X zPxJ@63@w0B4_j;KMs|vCfYa|jnE+>E5b!l#Xh*dGy&s(oJ(z)f2S3lRvL$*Gb*z%F zGy&4VR<;^_0R2+Hoq(K@!kW-5?F^9JL*b4rhB~7!P*yJkyQ4C_3gqZ1T8{Rert#mP zqxD9I;ViM~AJhg~XWc}*(Z5(JbQ61_B2MAmSUY{XYFBD#$&|Ar+za#Fz@CFVX(j7G z59moS!7+#pg4$#)?9V_zGe3+AATQg>CIR1iDW8N_zz&6`;u1m;LK^c7fhE(GTfzr$|sR+gO1*Q=()5OiU~c*9Gr$Ueuj01)AbfDgNBl-!Y@*t zl!q?EQRtGS>K^ESl%;prBUF{lA}4TX=xTKYPSpd=r&oY!^uD|&)IP`YV^jo~pz-<% zwTxO$>j26o=l{RnBpwb`@Jxun2-t+Bp~BhAhXagK1LjFG>q^6cb@K|Mwx$)MU*NZV z!xeA=9!pcTicqce0ou+Z{Vp8`HPkr{%UxMK^gaT#UO;$Cg6CcUqSkR#6m8}uc}1YY zMZnt|uivMSAUB>0#Gogjf9>W*J`p%>7C0~3gHAe+)Db2M!BFwn1HQ&F7Qz!jM{EXN zpFmK54hYZ5O31-`va2*1)WdmrC@}o~5j#o-DNNKM3b#SScpg6vGxDOeQ_7SsNH@h6 z0*9TPhtW*b7d=C>$qiA0Jsiu$mO^8qpsSEyG=v(~4jl0ep@-C8svvHK)2tg*R33Jf zm&Sj=eQF3%d#+ehyhQGz@_Ymv$13n~NW)1&Cs1bG5Q|=-YTOQ2ah7sw2d-Q)Xzpc6 zQ}mSuvIJUPf2UQ@ThX2Ht@MQM&O$tdSNlJKSu3ke0}5>?x{b{OU3d@rgLF=*qPX(EuRXJ)@n0^L$UapcaBjg^9=leKr|wWuqbbN76X>?;MSXerQ9; z_x6+SxGiWr|9^Yu>pOsTmJ7OdJE&J(kY&fP<$55c&z*gk6FL8uuYShwnla$S&c$*Z|1L&mj}M z1e~dh@c9hr1gHE0aQXTJUup&Xq>`u(j{pWkdx$-2(G9#4e%f3?hqt5$Z$*a#kMR-k z9q*%J#3uZNZ5+FW31ls>Q-i<@0y!+20r%s85Gno;vdC`8&Kq!*#?a~T)b+zBNIDq> zUCXwhmkgnE^nQ9xU{aQ%e_&F=4EoP7ybu2MQN6QX1R~=#UIy(#%kW*$Ip%=IJ{3;4 z&+1aGHZ8{&qFj^(6>TJB&H|rD^B^;K(&CWQjfEOA318rs*f;tNG-A890JP{1EQg=P zhsYP;uXJUJ;Dag&dCg8b6C&4ebQmo_9nng7cVmDq+FU)Nm7--K<9Wjgx)1NKi_L-0 zn+Ck1bZr!H{N|%@=!*{_Wud=a9rhZySUQlL$MHV+B-H22AwDj|yLca#N$=AG|9|7y zFHmH2$qeBwX@dvzr%>G$XWw}j=&>##kH{`kn;gZ{&<&tY?a`h3YW4@MCLXet6ozwr z2Wa_T(E6^!o`)Q$F0I0FQ3hS}DtZoC`wJke&Sy5>_x}+adZ7ObHAq3|bdI8z_0^z{ z-{Q5PPTPmuLeFCusfG9RI>5N8OiKdOa2Fl}^u4dZKv@YrnU!oP-33~3IY#+r(1E85 zwO|v65d zz?<_PH3r((EV3G?Q|)Q4&h^_g2-LFAFohuEX?Pr7g8Xbe)qrh9Sy|Kp6t+wfM`G|c zR2(>KGOI&Z(|e#L?ZBhps{g>oB$Yj-n;_c@W$)=^=&-y5qS#L|6ezoefT?y)>!Yux z^I0uk8tSD<@Kl_`z0rA=s}I&%Y9;6vu7Q%)50vZ8Fpboa--ajhB`pZO_ccHcdq(OI z8#bZ}+{{dr={;y8$T?5aGe8L&3^DK>XjWmMGhNnB=oQ&d_JmRBV0HrCFaoZyC+z5H zrbCX(?!jh(Ww<*0c|A}{i@-f>PbbqPwwiYWjo^Y%TG$1OT~TC#F5XDckh{ZsxD9$D zRaXUx2#eR%C#XDI6CH3mCrr zT$l;?Nh5hP*wb?fs-LgWtKUHC;4GAa>^v3f>YIEcZYcPL>%t#6!MM#z4&rbsC*TU$J3$zYq_3+Zr+! zl<;*mMFW9mcz=pDD$Vgg4#=M983)#pJL@VE!GsWy+j(Q*Vbxlbzmn>6Q0Ri zpe(4gJL`X-b}k5gv|s8Ytvj8>QXt~=hI(%}c#u~s3t_&fqjp})ggd6g6{oQ^5FN&8 z89@9xsJ*1UL5*Aq%+7mIBZl+sYz-(8v3grNk?#R@Ae~rXO5zt<20GI@h-Ho8bll3O z!+UierX(6e74;JOFHhkcF{9I{5WWvu=pN`YUnZqMf2ztaK!2bSY6I`>C)l0j1--*a z%ER-R2$|Ja$QlF5GpM*H0r&qQ)GY@{R~&-MqlTbQ8-&SXhU9`y_6u?nVs|LHii_Y~ z_&NN14K@PT1n1l%G8+Xz*Uf|;A{Fh$w_)4VaG|mgB=jQ(VdvIqcoV9iQ8*a1MGog! zH_{X8GX$i{C9pRong`>4WG(3j(`heY|I>NUrpwTu`eHo=zN-}Im|TaNv=4s-S@s!- z{xUQ2WFCy>LQGSLg0G`Pd;%K|%uqiqir(P>G8IncZ2S^WfoFa+iv&GsHk?1_P(Q2^SYXL-a6Ppj2)nQVa%mYUEboMv92rkIdtSGmj_mDv?Ay?tM&tTty zi#H4O>}qs95EK_935|hsm9e9AGt|O=K=Cb0$3P}p40~X!$We&nR@M}@fTTe-KN>2A zKR`L{f@49gTB>)03TGy*3*EP4%*i*Sb3km2MYkDvq_xg)jg(^kknaTLWG-YXmC;3B z5p?tI)W9C`^Y{|nm4BdyEH9KMargn+2;0DWpwe(6{U=tCAO{yb1a`ck$MDv+2eoD{ z?gZU4EIk!B010yyJ`Uv6i+mrlTTod`uz}<>=tbM$J$wb#RZT$< z(qKC5HEdB!=hIOz_&F;;=D0*0Biz7G(G>V|D_m;`^zSnuH!n;!lX7s+FR_`lEuBPH zQ6uw1Fa03w)yYA(KvmD92E8$GfSvmPI6BApJeD>N&&+P>rgod!W@8O&QM5E1MjR;b|QQ1y$k5$bSudl~4q% zFo(=)p3(%bo$qbrvB>6;(Yg7rE3;K*&dxHE%OuxFeVKf7P}sdA&o#=;deh#qak)Js zmQL$+@zo~h^BMe^1G1DHoc5>aZO`lFUN-iqV_rrRLo}t2mV{6K2u5|64d=eDXzrj3 zeJbj*htGyv`~vP=Lx9jQq2-sC>AESYT>jvTsbqZmXc7@_uh>oEwH&6VtLw~f-5s2P z+&=4^d)!*?S|=TN$1ypc?mSEEk?Z)I>m;TPb_%MjXu_V76TOw6wWIu_ zj5E+3Oe*OxwMYcn1a`2EV3yA&o2k;yU^dbeDz6cD6e0aThk0 zhea)M-`*y-_pPe$?t_unmrVJ6|&=B0<c>*m?| zvWSYSX2{sgDZ$LT#Yt>$X&>9kuzLT<<*tOkI@tC%3CQ;!Y(i`=;R6c@m-l5Vxzv{A zS^0sv9?*wObg!)L5J!JBRY%6+^TpMr7a#j-+GY3kpJ^X zVX_F^QhQSwrY5=GNYB`7Ux+#E;R8sAPAj%jO~;`-TgK*`nhACldvYtz$4Ic&#wMDH zg$7}+I4RShC{$=lYk)ijQq5PG%P0|w!uq6y^WhB3v7FB~rVxJ;NF)oPL}^8GYgVSS&)fzyQdcngvxu&bW$9HOZ|;zCS12Mn`~~G zU$y6ZKa&GxKGI`v^8cqd!%Pj%p}#uGCN+l>G?Z%FLD$sMWU^_+MG?Y#u~SZDMjF86 zbdoossQGJG^Zq()D{sXkJBVj;lkS$%#N_OR$l>(rU{r~}_{;m!ackk~ zU(6hq&{i>)4XzJ~B~QggQgZKc&*&NME{VyumQU}~bxk(*u5a=_wd)KDr^6zRsB1Nq zW*9T&9kA(V+|!Uwy%z!Ef?Z*o!JQVNnq*P=)h7wl%ns0t|Gzm;s<}uh1C{Gka@MGu zXlRd#zu+Iq>36;|1n<|v(^ttmi`=ML)7U>OM__SB>^qjb3U$ty{3ej;e9z?g z7QQbLop(F8p>5+V{t?T?K~89>x7xSFS1c;|+r&W=9A90P8L2ZnNMshKlWA|4h^4Z( z$_4xTR1K3zTFn6SfuE|l>4_Sk7+Sg>RMfa|TitYgHicXH=K0v6W}v{goe#aJ+t<(bUB+Lw(T|$iJ?vky1x>N0RaYX#UW z&by1&U?2e|7gOk5@W3Ik+cS*6?#LUI)5{Crmd<`*+BNbDx5SJPi|hvK;3qTL))AG^ zLsfT@IRE5cF`hRb1VC2+c?%TJNY@LKQsJo;h3q1_`+BNFA^5?*+#XX@Jx6f~=3}e# zRHngK%tja6SshlEf9Z|whIWA{OSb(}?60ptM`}14UMq;bq&3QpoVKwwHknKUo7tBs zrIO6dMmCIek6|{OSi{EaPnCTsi=v?G#T$H2w`2C+C(gqGOP3KwLx%5X~4`Ai#ay09cxo^Z%234%~|8rbV8ZSgT*Wqpm{}KcIBb` z=7%`dfxOq{g`h?x=lRY6e@U)_RInON9qc1Jg4?FBRk&X&6_Zm|CyBcm#mHrufqQRK z@D}Yeg+Tstz?Zx5ueo4zPcS{_HyO+ylNy}tF5hRpD(Li9N}h|-6__M+%s@K;Y~+O4 zA?ol>pET+9Q{OUQFo;GmD#|3eMOMI-cFlUshFQ_ZK0r%9S17okI3&JTgsJafw(80J z*{eIDHk^-Mb2_urBKV4M+)dodXnxZzPuRC06n#KXuTuT}ZF;!Dvs6GKTcMf?mU;LD ztHFg$#Y0g{kNy9@^^olrE(VB626{+V6C%9XO!gm?|bh zN9YzNJLhMaT&`xRJy8l!aP~(gKRTkhX!d@~X)3eRft$+)F>wZ1*RG39U|0WC$BpmJfj`B*i_K2VW5HoZ40qieo#}LdgPT~0+p(04|CH- z8knP;B04+memYZoKH(F#ADjCX-)O6nftq9!iR=h-&g`)j|G^5h(DsKiK7+^m$&FX9VQa|Fc;|XYWZ7~r#f6?f*9`QLLIW*_-vS1DPrWS2{6c~FPSeHOikbf^Jx2rjN7pi2bGEm8naH<3BG&ak^RJGMG!-=_rDvonq<%cVO zU_#h$2AEp(q~*MMli+wp!br5SySOpIU%vu>dS(yvH~-l7--74ux6Q~tY5+Ptm^W^| z+C=hxBes>3V3M=Mb2}bS({%Bkl-1PkAzaqy*{=SX9NZ?rEfe4QU}k-vVSPr`SOr`F#B z>D~t$H5cS~HYnhF5QJdxo7cw&~34~w4RNUZZbivl})XYI+^a>93o^4_Nc(uGS_^cY~@vtTLx$EOL+l-(5 z#9Q5j)A*Z;nTh)@W}$B?%l#*hR0KTEUi$7(T(a|-@h_>CaKaUt_-4SZ&E@SLV1s!Z zW;vtXGOoY#2y`T?_yz_XpE|RgIbpg}#Ql!a<*5h+yN$tbc*jy(qg0-%oSI5q>4gSz zJkR5sX)0cTB)xU6Isr}}>PHuDtg6UwG?C}{9sDJhvmgAWBOT4-lld|#*DcU8?sQ}7nhcv;P4DprX+L!1-MDkp$QyDH>YMtaBUx?tIjY!Yh6VVJO9Z2PmBz9bEDXeMn!^q58ZoL+yNsqNf8jJCm;Bs~tHUM^h7K>V(`L^30aR z``U!ActS7oR(SvEY0O*SsRHA;CnZ1Me-}3(o**BtCueb_NTZH2QU0N3$FS|_)s4*- z69EcdTVzv9oLNpG70hqnpL0C|)l3Je@X{pWTzy6F@k33Lmtk4_#T7Zx8340Ckh|7j zI>VjEO0(fF7ArtB^K#2us9%6zh;xwsR$EjR8H7QdI0uX?nM3R)im-UxOcl(O-I9I& zI5@*?6a>-mUDR-H%F5gw-`F%{qtA!SC!0J8qL`n3_X}_KByWrFy{{l=ZU|cMjAU)} zwPQ^R-k%a|MbFtUUzi2FkwL1hJi~Wb%MO)Ba~qG|1e!IJ@7EE9*=T!H*F&+G-m8J{ zf0W&1_uCXA41dIBo6l?@qdW$jrO%ue2f>~uqN*_bL@SsO+i~mV6x?B-n7V?|x30Ih zK#OX6_q?I{wN8XfFv1SzjYz7-2r7vl?|I%w6oomd*Bf!87h?ChB^J=HE_gS|)=-Llxzgp8+NSl(;E~4L%9pq5{u1d$u0%{zk%uI~R=ZQWFx3r&as3?3f_`#TIY#O3<`c&%-~slw^PMC*??rxKDe>x!tB3iKB@;wmJoMZMW+Lv zsdj#2+?y(rt*|1>$mjgu7o3C6A~t|w&J8fZ#iBka(`NRoL7=y}ot5ewU1m>|lZWX! zHyhSbGzS~-*j98RxEpjEdb$8Jkgh+%K4*IKW2=r}61#148mS+7Q{Zghpw1B>w-o``{LV^^rWims6mCcQd}fK2qukL-QLz}?=XxrzZ77)0&3 zOpjYBW2?1n!tqRgCbX6)x1%#f`PpgQ$+QhzBbHsLm6r>)tB$Tu=iLvNdkKDTk1cJN zo8w>y?@^yBRC1TVzFvZ9-sPRU<~{NP^$=8^slbO*pa%TGXE;X(dEve)-h6%CwBye9 z)+o*6pnH7*zn|Z<~TF<0I>Rg z>`IB@8#?1r+%4NV)!nr29efe7s0Bg{6u(giW(`P zdQaFquvz=*u+!1toB)?!fb*pRHQbFDvHk64emlV&Sly<8b!y}N@!H^@sgJ^= z7Vkn0@c~WhaC3p_Z9dMl7AQ^s(tZAz`TC&O6d(Lj?tvty@ z&=(cv89G3J`yXs?XH+@dkBvsHlDAm@HAOfLi$w~a)GnNeuDym*Y!hd(1KQ#)Y95S1 zVX=cZAsEhoy)Ld_>hkuWNUh$3E;i-Hu*-TsJJ)1en)@#5!1tX%IrtToMgwjX4AwKX zpaaZ86%>f3;wAO#ketKL9UX?Q5xr8Wl4#sZf>OT3-8X;?k)(W%U*V5@@}0BJRc{5jj5|}q3+XnO{j3#oWH5GPO#I-xdx6`PTc2x7z=j# zOV)Kpvt6xXGnx%X9ScS0Mlg-aAoGLN0iJIbl@o-z4_c*JW*yGw3_>wGbyHWF-Uitq zJ;XbY1~7|>g?8((*dq3bFZ_9n(q$~Zv>;SW3&avC#{#((hA;#y<2X-hkT=gejUqP) z2_J6hcu`UmdhlHk2UyG-5xg)X$Gu={@nZ5a{!OSnQzzJ(II|-YK->o|=#(pMehn>5b7)5<} zB}(J{s-XLUrDR2)aRh$l7aK!iSoR@uB5ZbU!}Vckp2F1$d?It5Zcbxd8GF!gRA&;L z#Z=zk`R4ZZyXCfYs<0^!fPaW5KA{#(jBaF@8xt1t57_N=HrFp~1XX!=r!)P}cK^7u z-OkQw`3rQhF-oN@%456Q;oL;`gu03I@SV@>vfjpg8V2r`1AX3iYO4>d!G$*{LkF5` z>WUpQuF4`0u#271Rq0nd!QU6~8*a1Fn1*to1@3E~>rGyOcZ3dJ%5H)A|4B6t5ld`l z^T2aS4tU|~rB|S*8P047nFdyy(jR%qVPkTV=XNabDg-v{L89OFHHpc?CUMPurF* z)7{hFQd353kvQ>iQA`&v%~M!}{@f?&=^I`WbnD4PLAEMQJsrmL^+3P7o2&XMdX}5wBxu7BddWo@E}o)=9Y7Td zXS?!~x43t$0~mw`yUmTdZ8Tnu_pFY#n)ZwPX3+g4=9y?M0+(TWxRD{^AFi0nDYOu&@&QX+^*Vu|agG~Pdvl&9( zL3K92kvI>|;JwUghoKWo!DL*SE}eki&KcNxqI=8raFMOuuD7zdz9T z#_0Q~%{Keecn$C)T7Jd4V*q1`J=;ptfh?=YMyI|rt!r56U4#9g$!$5Y^ZDu{+? z3hS|v41f`Nhi=fNavgE*sF!Tj)6s98hU+RKic$f?)MNErjfHV5!CsP!E*oY8U@MNX zrCx?JF0MAqeSGq9>_ix+c508a-_7s$&b{FbVZ*%0&XS!;Fr}=4ert+rxKDYl`bsBD zi^{SvbJ0fLhIOhOZ%Qqvukw=%QAO>5MR`u1M;pFF9;XTF&pC9T<0zFjfU?YGW5~gG z9t+6%O@SKO~y8iUh#g2hZ#A0H5;i~X$rb$eUBw>L78iLK zXCxDRW*hQ)LSZ|b%QoVPsllzH{@w_02`NcE_^J1yl4!#-oJt1DaNi=74cjz7x46d~ zmKJ{bEGYMU)VKlqKm7>pN=EkAYm#&r^vis3&`c=~uUPX*-E$JDcsbB1oNv?TW{_UI}^-K+?fNX3aP3 zO9MEGo-PJD@Dn^c1L)-#khg8@Qc>v7XpouR_7{%0A>1{%!inP~RTtnuOY=1&`4nG^ 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 ^w6~6` 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

M%=Iad^5 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 @}m`nY6;hnsN+^=hfJ9Jgi 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 QP*VPX#QfiB|Nn&if28s=;Q#;t diff --git a/www/sounds/ns.wav b/www/sounds/soundboard/ns.wav similarity index 100% rename from www/sounds/ns.wav rename to www/sounds/soundboard/ns.wav diff --git a/www/sounds/throw.wav b/www/sounds/soundboard/throw.wav similarity index 100% rename from www/sounds/throw.wav rename to www/sounds/soundboard/throw.wav diff --git a/www/sounds/vergaderen.mp3 b/www/sounds/soundboard/vergaderen.mp3 similarity index 100% rename from www/sounds/vergaderen.mp3 rename to www/sounds/soundboard/vergaderen.mp3 diff --git a/www/sounds/vergaderen_extreme.wav b/www/sounds/soundboard/vergaderen_extreme.wav similarity index 100% rename from www/sounds/vergaderen_extreme.wav rename to www/sounds/soundboard/vergaderen_extreme.wav diff --git a/www/sounds/yeet.wav b/www/sounds/soundboard/yeet.wav similarity index 100% rename from www/sounds/yeet.wav rename to www/sounds/soundboard/yeet.wav From f1b4b7b93337ecba3874a58ce0ca2cc2837ea4e5 Mon Sep 17 00:00:00 2001 From: stitch1 Date: Sat, 17 Oct 2026 22:42:45 +0200 Subject: [PATCH 10/25] Restore grouped sounds and save POS sound choices --- Makefile | 4 +- README.md | 30 +++++- audio_control.py | 78 ++++++++++---- compose.dev.yaml | 4 +- kassa.py | 3 + package.json | 2 +- plugins/sounds.py | 111 +++++++++++++++++--- pos_sound_settings.py | 129 +++++++++++++++++++++++ tests/js/browser-smoke.test.js | 1 + tests/js/index-scripts.test.js | 1 + tests/js/kassa-app.test.js | 24 ++++- tests/js/kassa-sound-settings.test.js | 125 +++++++++++++++++++++++ tests/plugins/test_sounds.py | 136 ++++++++++++++++++++++--- tests/test_kassa.py | 15 +++ tests/test_pos_sound_settings.py | 110 ++++++++++++++++++++ www/index.html | 19 ++-- www/kassa-app.js | 18 +++- www/kassa-sound-settings.js | 132 ++++++++++++++++++++++++ www/post.php | 2 +- www/sounds/POS/error/KDE_Beep_Beep.wav | Bin 0 -> 2156 bytes www/stom.css | 22 +++- www/stream.php | 1 + 22 files changed, 899 insertions(+), 68 deletions(-) create mode 100644 pos_sound_settings.py create mode 100644 tests/js/kassa-sound-settings.test.js create mode 100644 tests/test_pos_sound_settings.py create mode 100644 www/kassa-sound-settings.js create mode 100644 www/sounds/POS/error/KDE_Beep_Beep.wav diff --git a/Makefile b/Makefile index b4301cd..0482a3a 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ PYTHON ?= python3 NPM ?= npm PHP ?= php -PY_FILES := kassa.py load_printer_logo.py $(shell find plugins tests -type f -name '*.py' | sort) +PY_FILES := kassa.py load_printer_logo.py pos_sound_settings.py $(shell find plugins tests -type f -name '*.py' | sort) PHP_FILES := $(shell find www -type f -name '*.php' | sort) .PHONY: test python-test js-test php-test venv pip-compile pip-sync pip-sync-dev lint python-lint js-lint php-lint check-types fix check @@ -42,7 +42,7 @@ pip-sync-dev: ## synchronizes the .venv with the state of requirements.txt lint: python-lint js-lint php-lint ## Do basic linting python-lint: venv - @. .venv/bin/activate && ${env} ${PYTHON} -m pylint --persistent=no kassa.py load_printer_logo.py plugins + @. .venv/bin/activate && ${env} ${PYTHON} -m pylint --persistent=no kassa.py load_printer_logo.py pos_sound_settings.py plugins @. .venv/bin/activate; for file in ${PY_FILES}; do ${env} ${PYTHON} -m black --check --quiet --workers 1 "$$file" || exit $$?; done node_modules/.package-lock.json: package.json package-lock.json diff --git a/README.md b/README.md index 372b0dc..625a549 100644 --- a/README.md +++ b/README.md @@ -146,7 +146,9 @@ The local seed adds stitch, BugBlue, Jos, nino and Anus, two archive examples, and sample purchase history without resetting existing development balances. Clicking anywhere in the Hack42 logo, title, and subtitle area sends Abort and clears the command input. -The Sounds menu and command search omit Deur off/on, Groove Salad, Jazz Radio +The Sounds page starts with the soundboard buttons, followed by the two volume +sliders, then the POS sound settings. The Sounds menu and command search omit +Deur off/on, Groove Salad, Jazz Radio Blues, Kill Music, Louder, Quieter and Kassa off/on. The Sounds page also omits Abort and Christmas; the header reset remains available. Ding Dong, Vergaderen, Vergaderen Extreme, Throw and Yeet remain on that page after playback, without @@ -160,6 +162,26 @@ silent. At zero volume the output remains muted and no preview plays. The development audio controller uses in-memory demo levels and never connects to a sound device; it also simulates preview requests. +Soundboard samples live in `www/sounds/soundboard/`. POS effects live in +`www/sounds/POS//`, with a separate choice for each feature: + +| Feature | Default sound | +| --- | --- | +| Command | `KDE_Beep_ClassicBeep.wav` | +| Deposit | `itsgone.wav` | +| Insufficient funds | `sinterklaas.wav` | +| Sale | `katsjing.wav` | +| Error | `KDE_Beep_Beep.wav` | + +Each dropdown lists audio files from its own feature folder. Changing a choice +immediately saves it in `data/revbank.sounds.json`, shares it with the other +browser sessions, then previews the selected sample. The Preview button plays +the current choice without changing it. Reset restores one feature's default; +Reset all to defaults restores all five and previews the command default. +Opening the page or receiving settings from another browser stays silent. +Settings requests use a separate route so they cannot answer a pending POS +question. The error alert retains its two repetitions for unrecognised input. + Account themes use the existing `account-` CSS classes. `stitch` has a local Stitch icon, a `#6088B0` background and bold white text; `BugBlue` has a slowly animated blue glitter background and white text. Jos has a gold @@ -191,7 +213,8 @@ browser at http://localhost:4242 `audio_control.py` uses the system's existing `pactl` command to read and adjust only `hackbank_pos` (POS effects) and `snapcast` (Space audio). Previews use -the existing `paplay` command and the local `KDE_Beep_ClassicBeep.wav` file, +the existing `paplay` command and the local +`www/sounds/POS/command/KDE_Beep_ClassicBeep.wav` file, explicitly selecting the adjusted output at full stream gain so its sink volume determines the preview level. It does not change the existing audio routing. `www/audio.php` connects to the controller through @@ -216,5 +239,8 @@ updating its Python controller. Changes to `plugins/sounds.py`, including the silent Sounds navigation, also require restarting the existing POS backend. The profile response fix in `kassa.py` and sale display events in `plugins/historie.py` require the same backend restart. +The sound-folder update also requires a backend restart and an audio-controller +restart; include `pos_sound_settings.py` and the entire `www/sounds` tree when +deploying. Preserve the saved choices in the existing data directory. For a different installation, adapt the unit's application path, kiosk user, web-server group, and runtime audio socket before enabling it. diff --git a/audio_control.py b/audio_control.py index 7fae537..715cd55 100644 --- a/audio_control.py +++ b/audio_control.py @@ -10,17 +10,22 @@ import subprocess import threading - OUTPUTS = {"pos": "hackbank_pos", "space": "snapcast"} -PREVIEW_SOUND = Path(__file__).resolve().parent / "www/sounds/KDE_Beep_ClassicBeep.wav" +PREVIEW_SOUND = ( + Path(__file__).resolve().parent / "www/sounds/POS/command/KDE_Beep_ClassicBeep.wav" +) def validate_volume(channel, volume, preview=False): if channel not in OUTPUTS: raise ValueError("Unknown audio output") - if type(volume) is not int or not 0 <= volume <= 100: + if ( + not isinstance(volume, int) + or isinstance(volume, bool) + or not 0 <= volume <= 100 + ): raise ValueError("Volume must be an integer from 0 to 100") - if type(preview) is not bool: + if not isinstance(preview, bool): raise ValueError("Preview must be a boolean") @@ -32,28 +37,47 @@ def __init__(self, run=None, play=None): @staticmethod def _run(*args): return subprocess.run( - ["/usr/bin/pactl", *args], check=True, capture_output=True, - text=True, timeout=4, + ["/usr/bin/pactl", *args], + check=True, + capture_output=True, + text=True, + timeout=4, ).stdout @staticmethod def _play(sink): subprocess.run( - ["/usr/bin/paplay", f"--device={sink}", "--volume=65536", - "--client-name=HackBank volume preview", "--stream-name=HackBank volume preview", - str(PREVIEW_SOUND)], - check=True, capture_output=True, timeout=4, + [ + "/usr/bin/paplay", + f"--device={sink}", + "--volume=65536", + "--client-name=HackBank volume preview", + "--stream-name=HackBank volume preview", + str(PREVIEW_SOUND), + ], + check=True, + capture_output=True, + timeout=4, ) def read(self): - sinks = {sink["name"]: sink for sink in json.loads(self.run("-f", "json", "list", "sinks"))} + sinks = { + sink["name"]: sink + for sink in json.loads(self.run("-f", "json", "list", "sinks")) + } channels = {} for channel, name in OUTPUTS.items(): sink = sinks.get(name) - values = [entry["value"] for entry in sink.get("volume", {}).values()] if sink else [] + values = ( + [entry["value"] for entry in sink.get("volume", {}).values()] + if sink + else [] + ) channels[channel] = { "available": bool(values), - "volume": round(sum(values) / len(values) * 100 / 65536) if values else None, + "volume": ( + round(sum(values) / len(values) * 100 / 65536) if values else None + ), "muted": bool(sink and sink.get("mute")), } return {"channels": channels} @@ -78,15 +102,18 @@ def set(self, channel, volume, preview=False): class DemoAudio: """Development-only state; never connects to an audio device.""" + def __init__(self): self.volumes = {"pos": 35, "space": 70} self.previews = [] def read(self): - return {"channels": { - channel: {"available": True, "volume": volume, "muted": volume == 0} - for channel, volume in self.volumes.items() - }} + return { + "channels": { + channel: {"available": True, "volume": volume, "muted": volume == 0} + for channel, volume in self.volumes.items() + } + } def set(self, channel, volume, preview=False): validate_volume(channel, volume, preview) @@ -130,10 +157,17 @@ def _dispatch(self, write=False): if not 0 < length <= 256: raise ValueError("Invalid request length") request = json.loads(self.rfile.read(length)) - if (not isinstance(request, dict) or not {"channel", "volume"} <= set(request) - or set(request) - {"channel", "volume", "preview"}): + if ( + not isinstance(request, dict) + or not {"channel", "volume"} <= set(request) + or set(request) - {"channel", "volume", "preview"} + ): raise ValueError("Invalid volume request") - state = self.server.audio.set(request["channel"], request["volume"], request.get("preview", False)) + state = self.server.audio.set( + request["channel"], + request["volume"], + request.get("preview", False), + ) else: state = self.server.audio.read() self._reply(200, state) @@ -161,7 +195,9 @@ def __init__(self, path, audio): def main(): parser = argparse.ArgumentParser(description=__doc__) parser.add_argument("--socket", default="/run/hackbank-audio/control.sock") - parser.add_argument("--demo", action="store_true", help="Use in-memory development volumes") + parser.add_argument( + "--demo", action="store_true", help="Use in-memory development volumes" + ) args = parser.parse_args() path = Path(args.socket) if path.exists(): diff --git a/compose.dev.yaml b/compose.dev.yaml index 4ae9d52..aba1142 100644 --- a/compose.dev.yaml +++ b/compose.dev.yaml @@ -5,7 +5,7 @@ services: image: python:3.12-slim volumes: - ./audio_control.py:/app/audio_control.py:ro - - ./www/sounds/KDE_Beep_ClassicBeep.wav:/app/www/sounds/KDE_Beep_ClassicBeep.wav:ro + - ./www/sounds/POS/command/KDE_Beep_ClassicBeep.wav:/app/www/sounds/POS/command/KDE_Beep_ClassicBeep.wav:ro - audio-runtime:/run/hackbank-audio command: ["python", "/app/audio_control.py", "--demo"] # Match www-data in the PHP development container. @@ -31,6 +31,8 @@ services: - ./config.py:/app/config.py:ro - ./input_validation.py:/app/input_validation.py:ro - ./purchase_history.py:/app/purchase_history.py:ro + - ./pos_sound_settings.py:/app/pos_sound_settings.py:ro + - ./www/sounds:/app/www/sounds:ro - ./plugins:/app/plugins:ro - ./images:/app/images:ro - ./fakedata:/app/fakedata:ro diff --git a/kassa.py b/kassa.py index 40485d8..f6dc0f1 100755 --- a/kassa.py +++ b/kassa.py @@ -263,6 +263,9 @@ def run_session(client, SID, action, data): if action == "input": session = get_session(SID, client) session.input(data.decode()) + elif action == "sound_settings": + session = get_session(SID, client) + session.plugins["sounds"].configure(data) else: logger.warning("unhandled_session_action sid=%s action=%s", SID, action) diff --git a/package.json b/package.json index 2e6d869..305bcad 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "kassa", "private": true, "scripts": { - "lint:js": "eslint www/kassa-textfill.js www/kassa-dom.js www/kassa-buttons.js www/kassa-stream.js www/kassa-audio.js www/kassa-confetti.js www/kassa-preferences.js www/kassa-app.js www/spaceconsole/all.js tests/js/*.test.js", + "lint:js": "eslint www/kassa-textfill.js www/kassa-dom.js www/kassa-buttons.js www/kassa-stream.js www/kassa-audio.js www/kassa-sound-settings.js www/kassa-confetti.js www/kassa-preferences.js www/kassa-app.js www/spaceconsole/all.js tests/js/*.test.js", "test:js": "node --test tests/js/*.test.js" }, "devDependencies": { diff --git a/plugins/sounds.py b/plugins/sounds.py index d2e4da1..48c0e11 100644 --- a/plugins/sounds.py +++ b/plugins/sounds.py @@ -1,20 +1,26 @@ # -*- coding: utf-8 -*- import json +import logging +import re +from pos_sound_settings import POSSoundSettings + +logger = logging.getLogger(__name__) SOUND_SAMPLES = { - "ns": "ns.wav", - "vergaderen": "vergaderen.mp3", - "vergaderenextreme": "vergaderen_extreme.wav", - "vergaderen_extreme": "vergaderen_extreme.wav", - "throw": "throw.wav", - "yeet": "yeet.wav", + "ns": "soundboard/ns.wav", + "vergaderen": "soundboard/vergaderen.mp3", + "vergaderenextreme": "soundboard/vergaderen_extreme.wav", + "vergaderen_extreme": "soundboard/vergaderen_extreme.wav", + "throw": "soundboard/throw.wav", + "yeet": "soundboard/yeet.wav", } class sounds: - def __init__(self, SID, master): + def __init__(self, SID, master, settings=None): self.master = master self.SID = SID + self.settings = settings or POSSoundSettings() def help(self): return {"sounds": "All sound commands"} @@ -22,14 +28,18 @@ def help(self): def hook_checkout(self, _text): for r in self.master.receipt.receipt: if r["product"] == "deposit": - self.master.send_message(False, "sound", "itsgone.wav") + self.master.send_message( + False, "sound", self.settings.sample("deposit") + ) break - self.master.send_message(False, "sound", "katsjing.wav") + self.master.send_message(False, "sound", self.settings.sample("sale")) def hook_balance(self, args): _usr, _had, has, _transID = args if has < -13.37: - self.master.send_message(False, "sound", "sinterklaas.wav") + self.master.send_message( + False, "sound", self.settings.sample("insufficient_funds") + ) def hook_undo(self, args): _transID, _totals, _receipt, _beni = args @@ -98,11 +108,84 @@ def input( def pre_input(self, text): command = text.strip() if command not in ("abort", "sounds") and command not in SOUND_SAMPLES: - self.master.send_message(False, "sound", "KDE_Beep_ClassicBeep.wav") + self.master.send_message(False, "sound", self.settings.sample("command")) def hook_wrong(self, _text): - self.master.send_message(False, "sound", "KDE_Beep_Beep.wav") - self.master.send_message(False, "sound", "KDE_Beep_Beep.wav") + self.master.send_message(False, "sound", self.settings.sample("error")) + self.master.send_message(False, "sound", self.settings.sample("error")) + + def publish_settings(self, state=None): + state = state or self.settings.state() + self.master.client.publish( + "hack42bar/output/settings/sounds", json.dumps(state), qos=1, retain=True + ) + + def configure(self, payload): + request_id = "" + try: + if len(payload) > 512: + raise ValueError("Invalid sound setting.") + request = json.loads(payload) + if not isinstance(request, dict): + raise ValueError("Invalid sound setting.") + request_id = request.get("request", "") + if not isinstance(request_id, str) or not re.fullmatch( + r"[A-Za-z0-9_-]{1,80}", request_id + ): + raise ValueError("Invalid sound request.") + preview = None + if set(request) == {"request"}: + state = self.settings.state() + elif set(request) == {"request", "feature", "sound"}: + state = self.settings.set(request["feature"], request["sound"]) + preview = request["feature"] + elif set(request) == {"request", "preview"}: + state = self.settings.state() + preview = request["preview"] + if not isinstance(preview, str) or not any( + item["id"] == preview for item in state["features"] + ): + raise ValueError("Unknown POS sound feature.") + elif set(request) == {"request", "reset"}: + feature = request["reset"] + if not isinstance(feature, str): + raise ValueError("Invalid sound feature.") + state = self.settings.reset(None if feature == "all" else feature) + preview = "command" if feature == "all" else feature + else: + raise ValueError("Invalid sound setting.") + self.publish_settings(state) + self.master.send_message( + False, + "sound_settings", + json.dumps( + { + "request": request_id, + "ok": True, + "settings": state, + } + ), + ) + if preview: + self.master.send_message(False, "sound", self.settings.sample(preview)) + except (ValueError, TypeError, OSError) as error: + logger.warning("sound_settings_failed sid=%s error=%s", self.SID, error) + message = ( + str(error) + if isinstance(error, ValueError) + else "Sound settings could not be saved. Please try again." + ) + self.master.send_message( + False, + "sound_settings", + json.dumps( + { + "request": request_id, + "ok": False, + "error": message, + } + ), + ) def startup(self): - pass + self.publish_settings() diff --git a/pos_sound_settings.py b/pos_sound_settings.py new file mode 100644 index 0000000..e5719a8 --- /dev/null +++ b/pos_sound_settings.py @@ -0,0 +1,129 @@ +"""Shared POS sound choices, backed by an atomic file in the app's data directory.""" + +import json +import logging +import os +from pathlib import Path +import tempfile +import threading + +logger = logging.getLogger(__name__) + +DEFAULTS = { + "command": "KDE_Beep_ClassicBeep.wav", + "deposit": "itsgone.wav", + "insufficient_funds": "sinterklaas.wav", + "sale": "katsjing.wav", + "error": "KDE_Beep_Beep.wav", +} +LABELS = { + "command": "Command", + "deposit": "Deposit", + "insufficient_funds": "Insufficient funds", + "sale": "Sale", + "error": "Error", +} +SOUND_ROOT = Path(__file__).resolve().parent / "www" / "sounds" + + +class POSSoundSettings: + write_lock = threading.Lock() + + def __init__(self, path="data/revbank.sounds.json", root=SOUND_ROOT): + self.path = Path(path) + self.root = Path(root) + + def _choices(self, feature): + return sorted( + ( + path.name + for path in (self.root / "POS" / feature).iterdir() + if path.is_file() + and not path.is_symlink() + and path.suffix.lower() in (".wav", ".mp3", ".ogg") + ), + key=str.casefold, + ) + + def _read(self): + try: + saved = json.loads(self.path.read_text(encoding="utf-8")) + except FileNotFoundError: + return {} + except (UnicodeError, json.JSONDecodeError) as error: + raise ValueError("Saved sound settings could not be read.") from error + if not isinstance(saved, dict): + raise ValueError("Saved sound settings could not be read.") + return saved + + def state(self): + saved = self._read() + features = [] + for feature, default in DEFAULTS.items(): + choices = self._choices(feature) + if default not in choices: + raise ValueError("A default POS sound is missing.") + selected = saved.get(feature) + features.append( + { + "id": feature, + "label": LABELS[feature], + "default": default, + "selected": selected if selected in choices else default, + "choices": choices, + } + ) + return {"features": features} + + def sample(self, feature): + default = DEFAULTS[feature] + try: + selected = self._read().get(feature, default) + if not isinstance(selected, str) or selected not in self._choices(feature): + selected = default + except (OSError, ValueError): + logger.warning( + "pos_sound_settings_unavailable; using defaults", exc_info=True + ) + selected = default + return "POS/" + feature + "/" + selected + + def _write(self, selected): + self.path.parent.mkdir(parents=True, exist_ok=True) + descriptor, temporary = tempfile.mkstemp( + prefix=self.path.name + ".", dir=self.path.parent, text=True + ) + try: + with os.fdopen(descriptor, "w", encoding="utf-8") as output: + json.dump(selected, output, sort_keys=True) + output.write("\n") + os.replace(temporary, self.path) + except Exception: + Path(temporary).unlink(missing_ok=True) + raise + + def set(self, feature, sound): + if ( + not isinstance(feature, str) + or feature not in DEFAULTS + or not isinstance(sound, str) + ): + raise ValueError("Unknown POS sound feature.") + with self.write_lock: + if sound not in self._choices(feature): + raise ValueError("Choose a sound from this feature's folder.") + selected = { + item["id"]: item["selected"] for item in self.state()["features"] + } + selected[feature] = sound + self._write(selected) + return self.state() + + def reset(self, feature=None): + if feature is not None: + if not isinstance(feature, str) or feature not in DEFAULTS: + raise ValueError("Unknown POS sound feature.") + return self.set(feature, DEFAULTS[feature]) + with self.write_lock: + self._write(dict(DEFAULTS)) + return self.state() diff --git a/tests/js/browser-smoke.test.js b/tests/js/browser-smoke.test.js index a8c133b..8abdfc2 100644 --- a/tests/js/browser-smoke.test.js +++ b/tests/js/browser-smoke.test.js @@ -81,6 +81,7 @@ function writeKassaFixture(bodyScript) { ${scriptTag("kassa-buttons.js")} ${scriptTag("kassa-stream.js")} ${scriptTag("kassa-audio.js")} + ${scriptTag("kassa-sound-settings.js")} ${scriptTag("kassa-confetti.js")} ${scriptTag("kassa-preferences.js")} ${scriptTag("kassa-app.js")} diff --git a/tests/js/index-scripts.test.js b/tests/js/index-scripts.test.js index 285291f..d0453f8 100644 --- a/tests/js/index-scripts.test.js +++ b/tests/js/index-scripts.test.js @@ -16,6 +16,7 @@ test("main index loads split kassa scripts in dependency order", () => { "kassa-buttons.js", "kassa-stream.js", "kassa-audio.js", + "kassa-sound-settings.js", "kassa-confetti.js", "kassa-preferences.js", "kassa-app.js", diff --git a/tests/js/kassa-app.test.js b/tests/js/kassa-app.test.js index 076b5a8..88750a3 100644 --- a/tests/js/kassa-app.test.js +++ b/tests/js/kassa-app.test.js @@ -146,6 +146,7 @@ function loadKassaApp({hash = "", pageCapacity = 25, accountCapacity = 42} = {}) const eventSources = []; const fetchCalls = []; const audioMountCalls = []; + const soundSettingsMountCalls = []; const textfillCalls = []; const timers = []; const register = (id, element) => { @@ -200,9 +201,22 @@ function loadKassaApp({hash = "", pageCapacity = 25, accountCapacity = 42} = {}) mount(container) { const mounted = {container, stopped: false}; audioMountCalls.push(mounted); + const panel=makeElement("section",register); + panel.className="audio-controls"; + container.appendChild(panel); return {stop() { mounted.stopped = true; }}; }, }, + HackBankSoundSettings: { + mount(container,options) { + const mounted={container,options,stopped:false,updates:[],replies:[]}; + soundSettingsMountCalls.push(mounted); + const panel=makeElement("section",register); + panel.className="pos-sound-settings"; + container.appendChild(panel); + return {stop(){mounted.stopped=true;},update(state){mounted.updates.push(state);},receive(reply){mounted.replies.push(reply);}}; + }, + }, getComputedStyle() { return {getPropertyValue: (name) => String(name === "--accounts-per-page" ? accountCapacity : pageCapacity)}; }, @@ -244,6 +258,7 @@ function loadKassaApp({hash = "", pageCapacity = 25, accountCapacity = 42} = {}) return { audioMountCalls, + soundSettingsMountCalls, body, documentListeners, elements, @@ -324,7 +339,7 @@ test("the entire Hack42 brand aborts once even with an unfinished command in the }); test("custom sound menus include volume controls and omit the retired choices", () => { - const {body, elements, eventSources, fetchCalls, audioMountCalls} = loadKassaApp(); + const {body, elements, eventSources, fetchCalls, audioMountCalls,soundSettingsMountCalls} = loadKassaApp(); const names = ["abort", "ns", "deuron", "deuroff", "kassaon", "kassaoff", "killsounds", "groovesalad", "christmas", "blues", "quieter", "louder", "vergaderen", "vergaderenextreme", "throw", "yeet"]; eventSources[0].onmessage({data: JSON.stringify([ "hack42bar/output/session/main/buttons", @@ -335,6 +350,12 @@ test("custom sound menus include volume controls and omit the retired choices", ]); assert.equal(audioMountCalls.length, 1); assert.equal(audioMountCalls[0].container, findFirst(elements.MainButtons, ".sound-screen")); + assert.deepEqual(findFirst(elements.MainButtons,".sound-screen").children.map((child)=>child.className),["section-title","sound-actions","audio-controls","pos-sound-settings"]); + assert.equal(soundSettingsMountCalls.length,1); + eventSources[0].onmessage({data:JSON.stringify(["hack42bar/output/settings/sounds",JSON.stringify({features:[]})])}); + eventSources[0].onmessage({data:JSON.stringify(["hack42bar/output/session/main/sound_settings",JSON.stringify({request:"sample-1",ok:true})])}); + assert.equal(soundSettingsMountCalls[0].updates.length,1); + assert.equal(soundSettingsMountCalls[0].replies.length,1); assert(findFirst(elements.LeftButtons, "#sounds").classList.contains("activetop")); assert.equal(fetchCalls.length, 1); names.filter((name) => ["ns", "vergaderen", "vergaderenextreme", "throw", "yeet"].includes(name)).forEach((name) => { @@ -353,6 +374,7 @@ test("custom sound menus include volume controls and omit the retired choices", }, }}); assert.equal(audioMountCalls[0].stopped, true); + assert.equal(soundSettingsMountCalls[0].stopped,true); }); test("pagination uses the grid capacity for large and smaller screens", () => { diff --git a/tests/js/kassa-sound-settings.test.js b/tests/js/kassa-sound-settings.test.js new file mode 100644 index 0000000..7d6a620 --- /dev/null +++ b/tests/js/kassa-sound-settings.test.js @@ -0,0 +1,125 @@ +const assert=require('node:assert/strict'); +const fs=require('node:fs'); +const path=require('node:path'); +const test=require('node:test'); +const vm=require('node:vm'); + +const DEFAULTS={command:'KDE_Beep_ClassicBeep.wav',deposit:'itsgone.wav',insufficient_funds:'sinterklaas.wav',sale:'katsjing.wav',error:'KDE_Beep_Beep.wav'}; +const ALTERNATIVES={command:'KDE_Beep_Beep.wav',deposit:'money.wav',insufficient_funds:'insufficient_funds.wav',sale:'cash_tycoon.wav',error:'KDE_Beep_Beep.wav'}; +function state(selected={}) { + return {features:Object.keys(DEFAULTS).map((id)=>({id,label:id,default:DEFAULTS[id], + selected:selected[id] || DEFAULTS[id],choices:[DEFAULTS[id],ALTERNATIVES[id]]}))}; +} +function node(tag) { + return {tag,children:[],attributes:{},listeners:{},_text:'',value:'', + get textContent(){return this._text;},set textContent(text){this._text=text;this.children=[];}, + setAttribute(name,value){this.attributes[name]=value;},appendChild(child){this.children.push(child);}, + addEventListener(event,handler){this.listeners[event]=handler;}}; +} +function fixture() { + const requests=[]; + const timers=new Map(); + let sequence=0; + const window={fetch(url,options){return new Promise((resolve,reject)=>requests.push({url,options,resolve,reject}));}, + setTimeout(callback){timers.set(++sequence,callback);return sequence;},clearTimeout(id){timers.delete(id);}}; + vm.runInNewContext(fs.readFileSync(path.join(__dirname,'../../www/kassa-sound-settings.js'),'utf8'),{window,document:{createElement:node},URLSearchParams}); + const container=node('main'); + const controller=window.HackBankSoundSettings.mount(container,{session:'bar',initialState:state()}); + const panel=container.children[0]; + const fields=Object.fromEntries(panel.children[1].children.map((card)=>[card.children[1].id.slice(6),{select:card.children[1],preview:card.children[2].children[0],reset:card.children[2].children[1]}])); + function payload(index){return JSON.parse(requests[index].options.body.get('msg'));} + return {requests,timers,controller,fields,payload,status:panel.children[2],resetAll:panel.children[0].children[1], + async respond(index,current=state()) { + requests[index].resolve({ok:true,json:()=>Promise.resolve({done:1})}); + await new Promise((resolve)=>setImmediate(resolve)); + controller.receive({request:payload(index).request,ok:true,settings:current}); + }, + change(id,sound) {fields[id].select.value=sound;fields[id].select.listeners.change();}, + }; +} + +test('feature dropdowns load saved choices and keep each feature’s own options',async()=>{ + const ui=fixture(); + assert.equal(ui.requests[0].options.body.get('topic'),'session/bar/sound_settings'); + await ui.respond(0,state({deposit:'money.wav'})); + assert.equal(ui.fields.deposit.select.value,'money.wav'); + assert.deepEqual(ui.fields.sale.select.children.map((option)=>option.value),['katsjing.wav','cash_tycoon.wav']); + assert.equal(ui.fields.command.select.disabled,false); + assert.equal(ui.fields.command.reset.disabled,true); + assert.equal(ui.fields.deposit.reset.disabled,false); +}); + +test('a changed choice saves immediately without consuming POS command input',async()=>{ + const ui=fixture(); + await ui.respond(0); + ui.change('sale','cash_tycoon.wav'); + const request=ui.payload(1); + assert.equal(request.feature,'sale'); + assert.equal(request.sound,'cash_tycoon.wav'); + assert.equal(ui.requests[1].options.body.get('topic'),'session/bar/sound_settings'); + assert.equal(ui.fields.sale.select.disabled,true); + ui.controller.update(state()); // An older broadcast must not replace the pending selection. + assert.equal(ui.fields.sale.select.value,'cash_tycoon.wav'); + await ui.respond(1,state({sale:'cash_tycoon.wav'})); + assert.equal(ui.fields.sale.select.value,'cash_tycoon.wav'); + assert.equal(ui.status.textContent,'Sound settings saved.'); + assert.equal(ui.timers.size,0); +}); + +test('failed saves and timeouts restore the confirmed choice and allow retry',async()=>{ + const ui=fixture(); + await ui.respond(0); + ui.change('deposit','money.wav'); + ui.controller.receive({request:ui.payload(1).request,ok:false,error:'Could not save sound.'}); + assert.equal(ui.fields.deposit.select.value,'itsgone.wav'); + assert.equal(ui.fields.deposit.select.disabled,false); + assert.equal(ui.status.textContent,'Could not save sound.'); + ui.change('deposit','money.wav'); + Array.from(ui.timers.values()).forEach((callback)=>callback()); + assert.equal(ui.fields.deposit.select.value,'itsgone.wav'); + assert.match(ui.status.textContent,/could not be confirmed/); +}); + +test('per-feature and all-default resets use the settings route',async()=>{ + const ui=fixture(); + await ui.respond(0,state({deposit:'money.wav',sale:'cash_tycoon.wav'})); + ui.fields.deposit.reset.listeners.click(); + assert.equal(ui.payload(1).reset,'deposit'); + await ui.respond(1,state({sale:'cash_tycoon.wav'})); + assert.equal(ui.fields.deposit.select.value,'itsgone.wav'); + assert.equal(ui.fields.sale.select.value,'cash_tycoon.wav'); + ui.resetAll.listeners.click(); + assert.equal(ui.payload(2).reset,'all'); + await ui.respond(2); + assert.equal(ui.fields.sale.select.value,'katsjing.wav'); +}); + +test('leaving the page cancels waiting state and ignores late responses',async()=>{ + const ui=fixture(); + await ui.respond(0); + ui.change('sale','cash_tycoon.wav'); + ui.controller.stop(); + assert.equal(ui.timers.size,0); + const before=ui.status.textContent; + await ui.respond(1,state({sale:'cash_tycoon.wav'})); + assert.equal(ui.status.textContent,before); +}); + +test('settings from another browser update without sending a new write',async()=>{ + const ui=fixture(); + await ui.respond(0); + ui.controller.update(state({command:'KDE_Beep_Beep.wav'})); + assert.equal(ui.fields.command.select.value,'KDE_Beep_Beep.wav'); + assert.equal(ui.requests.length,1); +}); + +test('a feature with only its default sound can still be previewed without changing it',async()=>{ + const ui=fixture(); + await ui.respond(0); + ui.fields.error.preview.listeners.click(); + assert.equal(ui.payload(1).preview,'error'); + assert.equal(ui.status.textContent,'Playing preview…'); + await ui.respond(1); + assert.equal(ui.fields.error.select.value,'KDE_Beep_Beep.wav'); + assert.equal(ui.status.textContent,'Preview requested.'); +}); diff --git a/tests/plugins/test_sounds.py b/tests/plugins/test_sounds.py index 8a31e66..0f22285 100644 --- a/tests/plugins/test_sounds.py +++ b/tests/plugins/test_sounds.py @@ -1,19 +1,25 @@ from unittest import TestCase from unittest.mock import patch, Mock import json +from pathlib import Path +from tempfile import TemporaryDirectory from plugins.sounds import sounds +from pos_sound_settings import POSSoundSettings, DEFAULTS class TestSounds(TestCase): def setUp(self): self.master_mock = Mock() - self.sounds_instance = sounds("SID", self.master_mock) + directory = TemporaryDirectory() + self.addCleanup(directory.cleanup) + self.settings = POSSoundSettings(Path(directory.name) / "sounds.json") + self.sounds_instance = sounds("SID", self.master_mock, self.settings) def test_hook_checkout_with_deposit(self): self.master_mock.receipt.receipt = [{"product": "deposit"}] with patch.object(self.sounds_instance.master, "send_message") as mock_send: self.sounds_instance.hook_checkout(None) - mock_send.assert_any_call(False, "sound", "itsgone.wav") + mock_send.assert_any_call(False, "sound", "POS/deposit/itsgone.wav") def test_help(self): self.assertEqual(self.sounds_instance.help(), {"sounds": "All sound commands"}) @@ -22,12 +28,14 @@ def test_hook_checkout_without_deposit(self): self.master_mock.receipt.receipt = [{"product": "other"}] with patch.object(self.sounds_instance.master, "send_message") as mock_send: self.sounds_instance.hook_checkout(None) - mock_send.assert_called_with(False, "sound", "katsjing.wav") + mock_send.assert_called_with(False, "sound", "POS/sale/katsjing.wav") def test_hook_balance_below_threshold(self): with patch.object(self.sounds_instance.master, "send_message") as mock_send: self.sounds_instance.hook_balance((None, None, -13.38, None)) - mock_send.assert_called_with(False, "sound", "sinterklaas.wav") + mock_send.assert_called_with( + False, "sound", "POS/insufficient_funds/sinterklaas.wav" + ) def test_hook_balance_above_threshold(self): with patch.object(self.sounds_instance.master, "send_message") as mock_send: @@ -79,12 +87,12 @@ def test_input_invalid_command(self): def test_sound_commands_play_only_the_requested_sample(self): for command, sample in ( - ("ns", "ns.wav"), - ("vergaderen", "vergaderen.mp3"), - ("vergaderenextreme", "vergaderen_extreme.wav"), - ("vergaderen_extreme", "vergaderen_extreme.wav"), - ("throw", "throw.wav"), - ("yeet", "yeet.wav"), + ("ns", "soundboard/ns.wav"), + ("vergaderen", "soundboard/vergaderen.mp3"), + ("vergaderenextreme", "soundboard/vergaderen_extreme.wav"), + ("vergaderen_extreme", "soundboard/vergaderen_extreme.wav"), + ("throw", "soundboard/throw.wav"), + ("yeet", "soundboard/yeet.wav"), ): with self.subTest(command=command): with patch.object( @@ -100,7 +108,9 @@ def test_sound_commands_play_only_the_requested_sample(self): def test_pre_input_non_abort(self): with patch.object(self.sounds_instance.master, "send_message") as mock_send: self.sounds_instance.pre_input("non_abort_command") - mock_send.assert_called_with(False, "sound", "KDE_Beep_ClassicBeep.wav") + mock_send.assert_called_with( + False, "sound", "POS/command/KDE_Beep_ClassicBeep.wav" + ) def test_pre_input_abort_and_sounds_navigation_are_silent(self): for command in ("abort", "sounds"): @@ -117,7 +127,109 @@ def test_hook_undo_is_noop(self): def test_hook_wrong(self): with patch.object(self.sounds_instance.master, "send_message") as mock_send: self.sounds_instance.hook_wrong(None) - mock_send.assert_called_with(False, "sound", "KDE_Beep_Beep.wav") + mock_send.assert_called_with(False, "sound", "POS/error/KDE_Beep_Beep.wav") def test_startup(self): assert self.sounds_instance.startup() is None + topic, encoded = self.master_mock.client.publish.call_args.args + self.assertEqual(topic, "hack42bar/output/settings/sounds") + self.assertEqual( + {item["id"]: item["selected"] for item in json.loads(encoded)["features"]}, + DEFAULTS, + ) + self.assertEqual( + self.master_mock.client.publish.call_args.kwargs, {"qos": 1, "retain": True} + ) + + def test_setting_is_saved_before_preview_and_read_by_other_sessions(self): + self.sounds_instance.configure( + json.dumps( + {"request": "choose-1", "feature": "deposit", "sound": "money.wav"} + ) + ) + self.assertEqual( + POSSoundSettings(self.settings.path).sample("deposit"), + "POS/deposit/money.wav", + ) + calls = self.master_mock.send_message.call_args_list + reply = json.loads(calls[0].args[2]) + self.assertTrue(reply["ok"]) + self.assertEqual(reply["request"], "choose-1") + self.assertEqual(calls[0].args[:2], (False, "sound_settings")) + self.assertEqual(calls[1].args, (False, "sound", "POS/deposit/money.wav")) + self.master_mock.callhook.assert_not_called() + + def test_all_feature_hooks_use_current_choices(self): + for feature, sound in [ + ("command", "KDE_Beep_Beep.wav"), + ("deposit", "money.wav"), + ("sale", "cash_tycoon.wav"), + ("insufficient_funds", "insufficient_funds.wav"), + ]: + self.settings.set(feature, sound) + self.sounds_instance.pre_input("clubmate") + self.master_mock.send_message.assert_called_with( + False, "sound", "POS/command/KDE_Beep_Beep.wav" + ) + self.master_mock.receipt.receipt = [{"product": "deposit"}] + self.sounds_instance.hook_checkout(None) + self.master_mock.send_message.assert_any_call( + False, "sound", "POS/deposit/money.wav" + ) + self.master_mock.send_message.assert_called_with( + False, "sound", "POS/sale/cash_tycoon.wav" + ) + self.sounds_instance.hook_balance(("Jos", 0, -20, 123)) + self.master_mock.send_message.assert_called_with( + False, "sound", "POS/insufficient_funds/insufficient_funds.wav" + ) + + def test_invalid_setting_is_rejected_without_saving_or_previewing(self): + for payload in [ + b"not-json", + b"\xff", + "[]", + json.dumps( + {"request": "bad-1", "feature": "sale", "sound": "../deposit/money.wav"} + ), + json.dumps({"request": "bad-2", "feature": [], "sound": "x.wav"}), + ]: + self.master_mock.reset_mock() + self.sounds_instance.configure(payload) + self.assertFalse(self.settings.path.exists()) + self.master_mock.send_message.assert_called_once() + self.assertEqual( + self.master_mock.send_message.call_args.args[:2], + (False, "sound_settings"), + ) + self.assertFalse( + json.loads(self.master_mock.send_message.call_args.args[2])["ok"] + ) + + def test_preview_current_error_sound_without_saving(self): + self.sounds_instance.configure('{"request":"preview-1","preview":"error"}') + self.assertFalse(self.settings.path.exists()) + self.master_mock.send_message.assert_called_with( + False, "sound", "POS/error/KDE_Beep_Beep.wav" + ) + + def test_read_and_reset_requests(self): + self.sounds_instance.configure('{"request":"read-1"}') + self.assertFalse(self.settings.path.exists()) + self.assertEqual(self.master_mock.send_message.call_count, 1) + self.settings.set("sale", "cash_tycoon.wav") + self.sounds_instance.configure('{"request":"reset-1","reset":"sale"}') + self.master_mock.send_message.assert_called_with( + False, "sound", "POS/sale/katsjing.wav" + ) + self.sounds_instance.configure('{"request":"reset-2","reset":"all"}') + self.master_mock.send_message.assert_called_with( + False, "sound", "POS/command/KDE_Beep_ClassicBeep.wav" + ) + self.assertEqual( + { + item["id"]: item["selected"] + for item in self.settings.state()["features"] + }, + DEFAULTS, + ) diff --git a/tests/test_kassa.py b/tests/test_kassa.py index 0f10bd8..aa47bb6 100644 --- a/tests/test_kassa.py +++ b/tests/test_kassa.py @@ -85,6 +85,21 @@ def test_on_message(): mock_get_session.return_value.input.assert_called_with("some data") +def test_sound_settings_route_does_not_consume_a_pending_pos_question(): + session = kassa.Session("SID", Mock()) + plugin = Mock() + session.plugins = {"sounds": plugin} + pending = {"plug": Mock(), "function": "answer"} + session.nextcall = pending + session.input = Mock() + payload = b'{"request":"sample-1","feature":"sale","sound":"cash_tycoon.wav"}' + with patch("kassa.get_session", return_value=session): + kassa.run_session(Mock(), "SID", "sound_settings", payload) + plugin.configure.assert_called_once_with(payload) + session.input.assert_not_called() + assert session.nextcall is pending + + def test_realcallhook(): session = kassa.Session("SID", Mock()) plugin_mock = Mock() diff --git a/tests/test_pos_sound_settings.py b/tests/test_pos_sound_settings.py new file mode 100644 index 0000000..ffccecf --- /dev/null +++ b/tests/test_pos_sound_settings.py @@ -0,0 +1,110 @@ +import json +from unittest.mock import patch +import wave + +import pytest + +from plugins.sounds import SOUND_SAMPLES +from pos_sound_settings import DEFAULTS, POSSoundSettings, SOUND_ROOT + + +def test_bundled_defaults_and_soundboard_files_are_valid_and_in_the_right_folders(): + settings = POSSoundSettings() + for feature, default in DEFAULTS.items(): + assert settings.sample(feature) == f"POS/{feature}/{default}" + assert default in settings._choices(feature) + for relative in { + *SOUND_SAMPLES.values(), + *(f"POS/{key}/{name}" for key, name in DEFAULTS.items()), + }: + path = SOUND_ROOT / relative + assert path.is_file() + if path.suffix == ".wav": + with wave.open(str(path), "rb") as audio: + assert audio.getnframes() > 0 + else: + assert path.read_bytes().startswith(b"ID3") or path.read_bytes()[0] == 255 + + +def test_selections_survive_restart_and_are_shared_between_instances(tmp_path): + first = POSSoundSettings(tmp_path / "sounds.json") + second = POSSoundSettings(first.path) + first.set("deposit", "money.wav") + assert second.sample("deposit") == "POS/deposit/money.wav" + second.set("sale", "cash_tycoon.wav") + assert first.sample("sale") == "POS/sale/cash_tycoon.wav" + assert first.sample("deposit") == "POS/deposit/money.wav" + assert json.loads(first.path.read_text())["sale"] == "cash_tycoon.wav" + + +def test_reset_one_feature_preserves_other_choices_and_reset_all_restores_defaults( + tmp_path, +): + settings = POSSoundSettings(tmp_path / "sounds.json") + settings.set("deposit", "money.wav") + settings.set("sale", "cash_tycoon.wav") + settings.reset("deposit") + assert settings.sample("deposit") == "POS/deposit/itsgone.wav" + assert settings.sample("sale") == "POS/sale/cash_tycoon.wav" + settings.reset() + assert json.loads(settings.path.read_text()) == DEFAULTS + + +@pytest.mark.parametrize( + "feature,sound", + [ + ("sale", "../deposit/money.wav"), + ("sale", "money.wav"), + ("command", "/etc/passwd"), + ("unknown", "katsjing.wav"), + ([], "katsjing.wav"), + ("sale", None), + ], +) +def test_choices_are_limited_to_files_in_the_matching_feature_folder( + tmp_path, feature, sound +): + settings = POSSoundSettings(tmp_path / "sounds.json") + with pytest.raises(ValueError): + settings.set(feature, sound) + assert not settings.path.exists() + + +def test_failed_write_keeps_previous_saved_settings_and_cleans_temporary_file(tmp_path): + settings = POSSoundSettings(tmp_path / "sounds.json") + settings.set("sale", "cash_tycoon.wav") + before = settings.path.read_bytes() + with patch("pos_sound_settings.os.replace", side_effect=OSError("read-only")): + with pytest.raises(OSError): + settings.set("sale", "katsjing.wav") + assert settings.path.read_bytes() == before + assert list(tmp_path.iterdir()) == [settings.path] + + +def test_corrupt_settings_keep_playback_defaults_and_can_be_reset(tmp_path): + settings = POSSoundSettings(tmp_path / "sounds.json") + settings.path.write_text("not json") + assert settings.sample("sale") == "POS/sale/katsjing.wav" + with pytest.raises(ValueError): + settings.state() + settings.reset() + assert json.loads(settings.path.read_text()) == DEFAULTS + + +def test_missing_selected_file_falls_back_to_default_and_hidden_files_are_ignored( + tmp_path, +): + root = tmp_path / "sounds" + for feature, default in DEFAULTS.items(): + directory = root / "POS" / feature + directory.mkdir(parents=True) + (directory / default).write_bytes(b"wav") + (directory / ".DS_Store").write_bytes(b"metadata") + settings = POSSoundSettings(tmp_path / "choices.json", root) + extra = root / "POS" / "sale" / "extra.wav" + extra.write_bytes(b"wav") + settings.set("sale", extra.name) + extra.unlink() + assert settings.sample("sale") == "POS/sale/katsjing.wav" + state = settings.state() + assert all(item["choices"] == [DEFAULTS[item["id"]]] for item in state["features"]) diff --git a/www/index.html b/www/index.html index b3d0732..f885eb8 100644 --- a/www/index.html +++ b/www/index.html @@ -6,15 +6,16 @@ Hack42 - HackBank - - - - - - - - - + + + + + + + + + + diff --git a/www/kassa-app.js b/www/kassa-app.js index abbbdd1..c7e2859 100644 --- a/www/kassa-app.js +++ b/www/kassa-app.js @@ -19,6 +19,8 @@ document.addEventListener("DOMContentLoaded", function() { var filterRestore=null; var filtering=false; var audioControl=null; + var soundSettingsControl=null; + var soundSettings=null; var currentView='accounts'; var commandCategory='All commands'; var soundButtons=[]; @@ -169,6 +171,8 @@ document.addEventListener("DOMContentLoaded", function() { function stopAudio() { if(audioControl) audioControl.stop(); audioControl=null; + if(soundSettingsControl) soundSettingsControl.stop(); + soundSettingsControl=null; } function showAccountButtons(activeButtonId, accountType, tabMode) { activateTopButton(activeButtonId); @@ -572,10 +576,11 @@ document.addEventListener("DOMContentLoaded", function() { var screen=createElement('div',{class: 'sound-screen'}); screen.appendChild(createElement('h1',{class: 'section-title', text: 'Sounds'})); appendTo('#MainButtons',screen); - audioControl=window.HackBankAudio.mount(screen); var actions=createElement('div',{class: 'sound-actions', 'aria-label': 'Sound commands'}); soundButtons.forEach(function(button) { actions.appendChild(commandButton('normal',button)); }); screen.appendChild(actions); + audioControl=window.HackBankAudio.mount(screen); + if(window.HackBankSoundSettings) soundSettingsControl=window.HackBankSoundSettings.mount(screen,{session:session,initialState:soundSettings}); showquestion(); fillVisibleText('.Buttontext:visible'); } @@ -691,7 +696,7 @@ document.addEventListener("DOMContentLoaded", function() { } function playsound(sound) { var audioElement = document.createElement('audio'); - audioElement.setAttribute('src', 'sounds/'+sound); + audioElement.setAttribute('src', 'sounds/'+sound.split('/').map(encodeURIComponent).join('/')); var playback=audioElement.play(); if(playback && playback.catch) playback.catch(function(error) { console.log('Audio playback unavailable',error); }); } @@ -749,6 +754,9 @@ document.addEventListener("DOMContentLoaded", function() { case 'sound': playsound(msg); break; + case 'sound_settings': + if(soundSettingsControl) soundSettingsControl.receive(JSON.parse(msg)); + break; case 'effects': if(preferences && JSON.parse(msg).type === 'sale') preferences.sale(); break; @@ -781,6 +789,12 @@ document.addEventListener("DOMContentLoaded", function() { //console.log(elms); if(elms.length < 3) return; switch(elms[2]) { + case 'settings': + if(elms[3] === 'sounds') { + soundSettings=JSON.parse(msg); + if(soundSettingsControl) soundSettingsControl.update(soundSettings); + } + break; case 'session': if(elms.length < 5) return; var sessionID=elms[3]; diff --git a/www/kassa-sound-settings.js b/www/kassa-sound-settings.js new file mode 100644 index 0000000..259836d --- /dev/null +++ b/www/kassa-sound-settings.js @@ -0,0 +1,132 @@ +(function(window, document) { + var FEATURES={command:'Command',deposit:'Deposit',insufficient_funds:'Insufficient funds',sale:'Sale',error:'Error'}; + var sequence=0; + + function element(tag, className, text) { + var node=document.createElement(tag); + node.className=className; + if(text) node.textContent=text; + return node; + } + function mount(container, options) { + var stopped=false; + var confirmed=null; + var pending=null; + var timeout=null; + var fields={}; + var panel=element('section','pos-sound-settings'); + panel.setAttribute('aria-label','POS sounds'); + var heading=element('div','pos-sound-settings-heading'); + var title=element('div',''); + title.appendChild(element('h2','','POS sounds')); + title.appendChild(element('p','profile-hint','Selections save and preview automatically.')); + var resetAll=element('button','sound-reset','Reset all to defaults'); + resetAll.type='button'; + resetAll.addEventListener('click',function() { send({reset:'all'}); }); + heading.appendChild(title); heading.appendChild(resetAll); + panel.appendChild(heading); + var grid=element('div','pos-sound-grid'); + var status=element('p','pos-sound-status','Reading POS sounds…'); + status.setAttribute('role','status'); + panel.appendChild(grid); panel.appendChild(status); + container.appendChild(panel); + + function render() { + Object.keys(fields).forEach(function(id) { + var field=fields[id]; + var feature=confirmed && confirmed.features.find(function(item) { return item.id === id; }); + field.select.disabled=!!pending || !feature; + field.preview.disabled=!!pending || !feature; + field.reset.disabled=!!pending || !feature || feature.selected === feature.default; + if(!feature || pending) return; + var choices=JSON.stringify(feature.choices); + if(field.choices !== choices) { + field.select.textContent=''; + feature.choices.forEach(function(sound) { + var option=element('option','',sound+(sound === feature.default ? ' (default)' : '')); + option.value=sound; + field.select.appendChild(option); + }); + field.choices=choices; + } + field.select.value=feature.selected; + field.select.title=feature.selected; + }); + resetAll.disabled=!!pending; + } + function update(state) { + if(stopped || !state || !Array.isArray(state.features)) return false; + if(!Object.keys(FEATURES).every(function(id) { + return state.features.some(function(item) { return item.id === id && Array.isArray(item.choices) && item.choices.includes(item.selected); }); + })) return false; + confirmed=state; + render(); + return true; + } + function failed(id, message) { + if(stopped || !pending || pending.id !== id) return; + window.clearTimeout(timeout); + pending=null; + render(); + status.textContent=message; + } + function send(change) { + if(stopped || pending) return; + var id=Date.now()+'-'+(++sequence)+'-'+Math.random().toString(36).slice(2,8); + pending={id:id,action:change.preview ? 'preview' : (Object.keys(change).length ? 'save' : 'read')}; + render(); + status.textContent={save:'Saving sound…',preview:'Playing preview…',read:'Reading POS sounds…'}[pending.action]; + timeout=window.setTimeout(function() { failed(id,'No reply from the bar. Your sound choice could not be confirmed.'); },8000); + window.fetch('post.php',{ + method:'POST',headers:{'Content-Type':'application/x-www-form-urlencoded'}, + body:new URLSearchParams({topic:'session/'+options.session+'/sound_settings',msg:JSON.stringify(Object.assign({request:id},change))}), + }).then(function(response) { + if(!response.ok) throw new Error('Sound request failed'); + return response.json(); + }).then(function(reply) { + if(reply.done !== 1) throw new Error('Sound request failed'); + }).catch(function() { failed(id,'Could not reach the bar. Please try again.'); }); + } + function receive(reply) { + if(stopped || !pending || !reply || reply.request !== pending.id) return; + if(!reply.ok) { failed(pending.id,reply.error || 'Sound settings could not be saved.'); return; } + var action=pending.action; + window.clearTimeout(timeout); pending=null; + if(!update(reply.settings)) { + render(); status.textContent='POS sound settings are unavailable. Please try again.'; return; + } + status.textContent={save:'Sound settings saved.',preview:'Preview requested.',read:'Sound settings are up to date.'}[action]; + } + + Object.keys(FEATURES).forEach(function(id) { + var card=element('div','pos-sound-card'); + var label=element('label','pos-sound-label',FEATURES[id]); + label.setAttribute('for','Sound-'+id); + var select=element('select','pos-sound-select'); + select.id='Sound-'+id; + select.disabled=true; + select.addEventListener('change',function() { send({feature:id,sound:select.value}); }); + var actions=element('div','pos-sound-actions'); + var preview=element('button','sound-reset','Preview'); + preview.type='button'; preview.disabled=true; + preview.setAttribute('aria-label','Preview '+FEATURES[id].toLowerCase()+' sound'); + preview.addEventListener('click',function() { send({preview:id}); }); + var reset=element('button','sound-reset','Reset'); + reset.type='button'; reset.disabled=true; + reset.setAttribute('aria-label','Reset '+FEATURES[id].toLowerCase()+' sound to default'); + reset.addEventListener('click',function() { send({reset:id}); }); + actions.appendChild(preview); actions.appendChild(reset); + card.appendChild(label); card.appendChild(select); card.appendChild(actions); + grid.appendChild(card); + fields[id]={select:select,reset:reset,preview:preview,choices:null}; + }); + update(options.initialState); + send({}); + return { + update:update, + receive:receive, + stop:function() { stopped=true; pending=null; window.clearTimeout(timeout); }, + }; + } + window.HackBankSoundSettings={mount:mount}; +})(window, document); diff --git a/www/post.php b/www/post.php index 5d660f2..47fe94f 100644 --- a/www/post.php +++ b/www/post.php @@ -25,7 +25,7 @@ function request_string($key, $max_length) { fail_request("Invalid msg"); } $msg = $_REQUEST["msg"]; -if (!preg_match('/^session\/[A-Za-z0-9_-]{1,64}\/input$/', $topic)) { +if (!preg_match('/^session\/[A-Za-z0-9_-]{1,64}\/(input|sound_settings)$/', $topic)) { fail_request("Invalid topic"); } diff --git a/www/sounds/POS/error/KDE_Beep_Beep.wav b/www/sounds/POS/error/KDE_Beep_Beep.wav new file mode 100644 index 0000000000000000000000000000000000000000..238e384ab8be02f2762e7fb8bd07e6f82ed5ba57 GIT binary patch literal 2156 zcmeHH$#Ua16x3AZkjg0^ki&dI{vn4YJc0-uwd}QKhWbqQPS;mgK zs(gIcwg|Cec_hklq)XAVY70o|w^WrQV067Xc_xU^`+*_)z!uC2dS)DN&&{qIyOKFV zFJ*!0c4P}q;w$EP_IHg6n$5hf75lPwx_z!ODd9X64B&}k`q0#bRdBJ#t|+AsZ9~f% zT}FZtd6L-s{?fAg310(2i(FAW*)+WVij}|-4wBoZA*?3LL{vjp>?Z5F!K9)$N0Jo! zau?jxEg>aYAInMo&BKog=>+2DfW zbx&2o$Pj}o)?h@)?Wrz@u`T--xFrzN`=Kodi7VL?*iuB;cI3)l%rE2w7-8k($dTO0 z7WDJo6UB_}v9rg+UCS`5vZ*IJz!9{;V^d;Q=QE$zo&A&VarKIUBXYuA04?)*AlZNm z=si4@TmW1|vYiC7n%>teM+`1v)jkYW<(%NSThfSCM7qtf{2lIPuF6gi_sOS z5w{2zq;iW0!J>HDTW0gwR=GgYox&#!G24D|RX_1$YqYCLj_KprS6prpt-q}qEXZya zDs~d8TDqzDg(SaB6f21g{nNLy%<}>+k2E6&rV_7Mg&;1z_H;c4h76XZf{^l#npzy2 zQn)C1ozTshse#y%{0ms243o{!)xv~#ZIabELu5PhIU!%M&L1n16?8WZRrfH|^wWom z=7?l-pmIXG*1IcdmgD^DP_^R7)KAu|%rk^mC%T!$mJ%;{NAd!FO$|=Sl)*J`Cnva0 zO#^Vk;F|w9MDRK_xB!dSNre!_oUjgnA%&ORKLsV5Gn?->1aA&0goI1qFLF#Ix_OfTm1#bSOjn@uO<(TE4Y>-hMV8gHrbmKtxV I@xM~zKUirJ_W%F@ literal 0 HcmV?d00001 diff --git a/www/stom.css b/www/stom.css index 74aaa58..aae2520 100644 --- a/www/stom.css +++ b/www/stom.css @@ -310,9 +310,21 @@ iframe { display: block; border: 0; } .enter-hint:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; } /* Existing special screens fit inside the same left column. */ -.sound-screen { display: flex; flex-direction: column; gap: 20px; } -.sound-actions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; } +.sound-screen { display: flex; flex-direction: column; gap: 16px; } +.sound-actions { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; } .sound-actions .Knop { min-height: 104px; } +.pos-sound-settings-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } +.pos-sound-settings h2 { margin: 0; font-size: 19px; } +.pos-sound-settings .profile-hint { margin: 4px 0 0; } +.pos-sound-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; } +.pos-sound-card { display: flex; min-width: 0; flex-direction: column; gap: 10px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: #fff; } +.pos-sound-label { color: var(--ink); font-size: 15px; font-weight: 700; } +.pos-sound-actions { display: flex; gap: 8px; } +.pos-sound-actions .sound-reset { flex: 1; } +.pos-sound-select { width: 100%; min-width: 0; min-height: 56px; padding: 10px; border: 1px solid #a6bdcc; border-radius: 7px; background: #f4f7fa; color: #243d50; font: inherit; font-size: 14px; cursor: pointer; } +.sound-reset { min-height: 44px; padding: 8px 12px; border: 1px solid #cdd9e1; border-radius: 7px; background: #edf2f6; color: #263f53; font: inherit; font-size: 13px; font-weight: 650; cursor: pointer; } +.sound-reset:disabled, .pos-sound-select:disabled { opacity: .5; cursor: default; } +.pos-sound-status { min-height: 20px; margin: 8px 0 0; color: var(--muted); font-size: 13px; } .audio-volume-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } .audio-volume-card { min-width: 0; padding: 22px; border: 1px solid #c8d7e0; border-radius: 12px; background: #fff; box-shadow: 0 3px 12px #1a344908; } .audio-volume-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; } @@ -417,6 +429,8 @@ body.dark-mode { --ink: #e1eaf3; --muted: #a4b6c9; --line: #3a4b60; --panel: #19 .dark-mode .profile-balance { color: #bce0ce; background: #244737; } .dark-mode .profile-balance.rood { color: #ffbdca; background: #542f42; } .dark-mode .profile-balance.orange { color: #f5d197; background: #4b3e2c; } +.dark-mode .pos-sound-card { background: #233448; border-color: #40546a; } +.dark-mode .pos-sound-select, .dark-mode .sound-reset { background: #26394d; color: #e1eaf3; border-color: #445d73; } .dark-mode .Knopje .extra { color: #bce0ce; background: #244737; } .dark-mode .Knopje .extra.rood { color: #ffbdca; background: #542f42; } .dark-mode .Knopje .extra.orange { color: #f5d197; background: #4b3e2c; } @@ -426,12 +440,16 @@ body.dark-mode { --ink: #e1eaf3; --muted: #a4b6c9; --line: #3a4b60; --panel: #19 .dark-mode .NowHas, .dark-mode .LoseOrGain, .dark-mode .GainOrLose, .dark-mode .Times, .dark-mode .ItemEuro::after, .dark-mode .TotalEuro::after { color: #b0c1d0; } .dark-mode .Itemline, .dark-mode .receipt-columns, .dark-mode .receipt-heading, .dark-mode #Totals { border-color: #46566a; } @media (max-width: 1300px) { + .pos-sound-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } + .sound-actions { grid-template-columns: repeat(4,minmax(0,1fr)); } .settings-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .purchase-list { grid-template-columns: 1fr; } .command-tab { flex-shrink: 0; } .command-group-buttons { grid-template-columns: repeat(2,minmax(0,1fr)); } } @media (max-width: 620px) { + .pos-sound-grid { grid-template-columns: 1fr; } + .pos-sound-settings-heading { flex-wrap: wrap; } .purchase-row { flex-wrap: wrap; } .reorder-purchase { width: 100%; } .settings-grid { grid-template-columns: 1fr; } diff --git a/www/stream.php b/www/stream.php index 7d9bae7..a8302eb 100644 --- a/www/stream.php +++ b/www/stream.php @@ -42,6 +42,7 @@ function procmsg($topic,$msg){ exit(1); } $topics['hack42bar/output/session/'.$session.'/#'] = array("qos"=>0, "function"=>"procmsg"); +$topics['hack42bar/output/settings/sounds'] = array("qos"=>0, "function"=>"procmsg"); $mqtt->subscribe($topics,0); echo "retry: 1000\n"; echo "data: ".json_encode(array("startup","1"))."\n\n"; From 038bdd0434c67c9469270b29e7055966adc724dd Mon Sep 17 00:00:00 2001 From: Mendel Mobach Date: Sun, 18 Oct 2026 09:48:04 +0200 Subject: [PATCH 11/25] Invalidate purchase cache after log access errors --- purchase_history.py | 2 ++ tests/test_purchase_history.py | 30 ++++++++++++++++++++++++++---- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/purchase_history.py b/purchase_history.py index 4e47fe0..a5c8788 100644 --- a/purchase_history.py +++ b/purchase_history.py @@ -81,6 +81,8 @@ def refresh(self): self.signature = signature self.available = True except OSError: + self.identity = None + self.signature = None self.available = False return self diff --git a/tests/test_purchase_history.py b/tests/test_purchase_history.py index bfa0a6e..a4b9c76 100644 --- a/tests/test_purchase_history.py +++ b/tests/test_purchase_history.py @@ -27,7 +27,9 @@ def test_cache_skips_reads_and_does_not_leak_profile_mutations(tmp_path): index = PurchaseIndex(path) records = index.recent("Jos") records[0]["description"] = "changed by caller" - with patch.object(type(path), "open", side_effect=AssertionError("re-read unchanged log")): + with patch.object( + type(path), "open", side_effect=AssertionError("re-read unchanged log") + ): assert index.recent("Jos")[0]["description"] == "Cola" @@ -47,7 +49,26 @@ def test_missing_rotated_and_partial_logs(tmp_path): assert len(index.recent("nino")) == 1 -def test_large_logs_have_a_read_limit_and_do_not_claim_full_year_coverage(tmp_path, monkeypatch): +def test_recreated_log_rebuilds_cache_when_file_metadata_is_reused(tmp_path): + path = tmp_path / "sales.log" + path.write_text(sale("user_a")) + original_stat = path.stat() + index = PurchaseIndex(path) + assert len(index.recent("user_a")) == 1 + + path.unlink() + assert index.recent("user_a") == [] + path.write_text(sale("user_b")) + + # Some filesystems can reuse both the inode and timestamp immediately. + with patch.object(type(path), "stat", return_value=original_stat): + assert index.recent("user_a") == [] + assert len(index.recent("user_b")) == 1 + + +def test_large_logs_have_a_read_limit_and_do_not_claim_full_year_coverage( + tmp_path, monkeypatch +): path = tmp_path / "sales.log" path.write_text(sale("Jos", date="2026-10-16_12:00:00") * 100) monkeypatch.setattr("purchase_history.MAX_READ", 512) @@ -58,6 +79,7 @@ def test_large_logs_have_a_read_limit_and_do_not_claim_full_year_coverage(tmp_pa def test_refunds_and_undo_entries_are_not_purchase_history(tmp_path): path = tmp_path / "sales.log" - path.write_text(sale("Jos") + sale("Jos", 2, "Undo 1") - + sale("Jos", 3).replace("LOSE", "GAIN")) + path.write_text( + sale("Jos") + sale("Jos", 2, "Undo 1") + sale("Jos", 3).replace("LOSE", "GAIN") + ) assert len(PurchaseIndex(path).recent("Jos")) == 1 From a0f6bd63dc673048047bad26cd64579fcc7445d5 Mon Sep 17 00:00:00 2001 From: Mendel Mobach Date: Sun, 18 Oct 2026 09:48:05 +0200 Subject: [PATCH 12/25] Apply required Black formatting to UI changes --- plugins/accounts.py | 4 +- plugins/party.py | 4 +- plugins/undo.py | 8 +++- tests/plugins/test_party.py | 8 ++-- tests/plugins/test_undo.py | 4 +- tests/test_audio_control.py | 87 +++++++++++++++++++++++++++++-------- 6 files changed, 87 insertions(+), 28 deletions(-) diff --git a/plugins/accounts.py b/plugins/accounts.py index 267a9ca..f720682 100644 --- a/plugins/accounts.py +++ b/plugins/accounts.py @@ -378,9 +378,7 @@ def _use_account(self, account): plugins = getattr(self.master, "plugins", {}) if isinstance(plugins, dict) and "historie" in plugins: details.update(plugins["historie"].account_details(account)) - self.master.send_message( - False, "infobox/account", json.dumps(details) - ) + self.master.send_message(False, "infobox/account", json.dumps(details)) self.master.send_message( True, "buttons", json.dumps({"special": "infobox"}) ) diff --git a/plugins/party.py b/plugins/party.py index 5b65391..fbf8ba3 100644 --- a/plugins/party.py +++ b/plugins/party.py @@ -103,7 +103,9 @@ def writestate(self): ) def publish_state(self): - self.master.send_message(True, "settings/party", json.dumps({"enabled": self.active})) + self.master.send_message( + True, "settings/party", json.dumps({"enabled": self.active}) + ) def _credited_amount_from_log(self): credited_amount = 0.0 diff --git a/plugins/undo.py b/plugins/undo.py index d302941..d8e5af4 100644 --- a/plugins/undo.py +++ b/plugins/undo.py @@ -195,7 +195,9 @@ def listundo(self, restore=False): def input(self, text): if text == "undouserlatest": self.master.donext(self, "undo_user_latest") - self.master.send_message(True, "message", "Select a user transaction to undo") + self.master.send_message( + True, "message", "Select a user transaction to undo" + ) return True if text == "undolist": self.listundo(0) @@ -221,7 +223,9 @@ def undo_user_latest(self, text): transaction, separator, user = text.partition(":") latest = self.latest_for(user) if separator else None if latest is None or str(latest) != transaction: - self.master.send_message(True, "message", "Latest transaction changed; reopen the user details") + self.master.send_message( + True, "message", "Latest transaction changed; reopen the user details" + ) return True return self.doundo(latest) diff --git a/tests/plugins/test_party.py b/tests/plugins/test_party.py index ef29c47..7c8715f 100644 --- a/tests/plugins/test_party.py +++ b/tests/plugins/test_party.py @@ -328,12 +328,12 @@ def test_partymodeoff_without_active_mode_does_not_print(tmp_path, monkeypatch): assert plugin.input("partymodeoff") is True plugin.master.POS.printparty.assert_not_called() - plugin.master.send_message.assert_any_call( - True, "message", "Party mode is not on" - ) + plugin.master.send_message.assert_any_call(True, "message", "Party mode is not on") -def test_partymodeoff_saves_settlement_and_restores_members_when_print_fails(tmp_path, monkeypatch): +def test_partymodeoff_saves_settlement_and_restores_members_when_print_fails( + tmp_path, monkeypatch +): monkeypatch.chdir(tmp_path) (tmp_path / "data").mkdir() (tmp_path / STATE_FILE).write_text( diff --git a/tests/plugins/test_undo.py b/tests/plugins/test_undo.py index 9d5a067..aff7c59 100644 --- a/tests/plugins/test_undo.py +++ b/tests/plugins/test_undo.py @@ -33,7 +33,9 @@ def test_user_card_undo_rechecks_owner_and_transaction_id(): plugin.undo[3] = {"totals": {"Jos": -1}, "receipt": [], "beni": "Jos"} assert plugin.undo_user_latest("1:Jos") is True plugin.doundo.assert_not_called() - master.send_message.assert_called_with(True, "message", "Latest transaction changed; reopen the user details") + master.send_message.assert_called_with( + True, "message", "Latest transaction changed; reopen the user details" + ) def test_undo_hook_post_checkout(): diff --git a/tests/test_audio_control.py b/tests/test_audio_control.py index 714d67c..498db75 100644 --- a/tests/test_audio_control.py +++ b/tests/test_audio_control.py @@ -13,8 +13,16 @@ class TestPulseAudio(unittest.TestCase): def setUp(self): self.calls = [] self.sinks = [ - {"name": "hackbank_pos", "mute": False, "volume": {"left": {"value": 32768}, "right": {"value": 32768}}}, - {"name": "snapcast", "mute": True, "volume": {"left": {"value": 60293}, "right": {"value": 60293}}}, + { + "name": "hackbank_pos", + "mute": False, + "volume": {"left": {"value": 32768}, "right": {"value": 32768}}, + }, + { + "name": "snapcast", + "mute": True, + "volume": {"left": {"value": 60293}, "right": {"value": 60293}}, + }, {"name": "unrelated", "mute": False, "volume": {"left": {"value": 65536}}}, ] @@ -38,16 +46,24 @@ def play(sink): self.audio = PulseAudio(run=run, play=play) def test_reads_existing_outputs_and_external_changes(self): - self.assertEqual(self.audio.read(), {"channels": { - "pos": {"available": True, "volume": 50, "muted": False}, - "space": {"available": True, "volume": 92, "muted": True}, - }}) + self.assertEqual( + self.audio.read(), + { + "channels": { + "pos": {"available": True, "volume": 50, "muted": False}, + "space": {"available": True, "volume": 92, "muted": True}, + } + }, + ) self.sinks[0]["volume"] = {"left": {"value": 16384}} self.assertEqual(self.audio.read()["channels"]["pos"]["volume"], 25) def test_updates_only_requested_output_and_returns_confirmed_state(self): state = self.audio.set("space", 60) - self.assertEqual(state["channels"]["space"], {"available": True, "volume": 60, "muted": False}) + self.assertEqual( + state["channels"]["space"], + {"available": True, "volume": 60, "muted": False}, + ) self.assertEqual(state["channels"]["pos"]["volume"], 50) self.assertIn(("set-sink-volume", "snapcast", "60%"), self.calls) self.assertIn(("set-sink-mute", "snapcast", "0"), self.calls) @@ -56,12 +72,23 @@ def test_updates_only_requested_output_and_returns_confirmed_state(self): def test_zero_silences_output_and_missing_output_is_not_replaced(self): self.assertTrue(self.audio.set("pos", 0)["channels"]["pos"]["muted"]) self.sinks = [item for item in self.sinks if item["name"] != "hackbank_pos"] - self.assertEqual(self.audio.read()["channels"]["pos"], {"available": False, "volume": None, "muted": False}) + self.assertEqual( + self.audio.read()["channels"]["pos"], + {"available": False, "volume": None, "muted": False}, + ) with self.assertRaises(RuntimeError): self.audio.set("pos", 40) def test_invalid_commands_cannot_reach_pactl(self): - for channel, volume in [("default", 20), ("pos;echo bad", 30), ("pos", -1), ("space", 101), ("pos", True), ("pos", "50"), ("pos", 1.2)]: + for channel, volume in [ + ("default", 20), + ("pos;echo bad", 30), + ("pos", -1), + ("space", 101), + ("pos", True), + ("pos", "50"), + ("pos", 1.2), + ]: with self.subTest(channel=channel, volume=volume): with self.assertRaises(ValueError): self.audio.set(channel, volume) @@ -88,6 +115,7 @@ def test_normal_updates_reads_and_zero_volume_do_not_play_a_preview(self): def test_preview_failure_preserves_a_successful_volume_change(self): def fail(_sink): raise subprocess.CalledProcessError(1, "paplay") + self.audio.play = fail state = self.audio.set("pos", 45, preview=True) self.assertEqual(state["channels"]["pos"]["volume"], 45) @@ -120,9 +148,13 @@ def tearDown(self): self.thread.join() self.temp.cleanup() - def request(self, method, body=None, content_type="application/json", path="/volume"): + def request( + self, method, body=None, content_type="application/json", path="/volume" + ): connection = UnixConnection(self.path) - connection.request(method, path, body=body, headers={"Content-Type": content_type}) + connection.request( + method, path, body=body, headers={"Content-Type": content_type} + ) response = connection.getresponse() result = response.status, json.loads(response.read()) connection.close() @@ -130,7 +162,9 @@ def request(self, method, body=None, content_type="application/json", path="/vol def test_socket_reads_and_changes_are_visible_to_another_client(self): self.assertEqual(self.request("GET")[1]["channels"]["pos"]["volume"], 35) - status, state = self.request("POST", json.dumps({"channel": "pos", "volume": 68})) + status, state = self.request( + "POST", json.dumps({"channel": "pos", "volume": 68}) + ) self.assertEqual(status, 200) self.assertEqual(state["channels"]["pos"]["volume"], 68) self.assertEqual(self.request("GET")[1]["channels"]["pos"]["volume"], 68) @@ -138,20 +172,39 @@ def test_socket_reads_and_changes_are_visible_to_another_client(self): def test_rejects_invalid_input_without_changing_state(self): initial = self.audio.read() - for body in ['{"channel":"pos","volume":999}', '{"channel":"bad","volume":50}', '{"channel":"pos","volume":50,"preview":"yes"}', '{"channel":"pos","volume":50,"preview":true,"extra":1}', '[]', 'not-json', 'x' * 257]: + for body in [ + '{"channel":"pos","volume":999}', + '{"channel":"bad","volume":50}', + '{"channel":"pos","volume":50,"preview":"yes"}', + '{"channel":"pos","volume":50,"preview":true,"extra":1}', + "[]", + "not-json", + "x" * 257, + ]: self.assertEqual(self.request("POST", body)[0], 400) - self.assertEqual(self.request("POST", "channel=pos&volume=20", "application/x-www-form-urlencoded")[0], 415) + self.assertEqual( + self.request( + "POST", "channel=pos&volume=20", "application/x-www-form-urlencoded" + )[0], + 415, + ) self.assertEqual(self.request("GET", path="/arbitrary-command")[0], 404) self.assertEqual(self.audio.read(), initial) def test_preview_requests_are_optional_and_channel_specific(self): - status, state = self.request("POST", json.dumps({"channel": "space", "volume": 64, "preview": True})) + status, state = self.request( + "POST", json.dumps({"channel": "space", "volume": 64, "preview": True}) + ) self.assertEqual(status, 200) self.assertTrue(state["preview_played"]) self.assertEqual(self.audio.previews, ["space"]) self.request("GET") - self.request("POST", json.dumps({"channel": "pos", "volume": 40, "preview": False})) - self.request("POST", json.dumps({"channel": "space", "volume": 0, "preview": True})) + self.request( + "POST", json.dumps({"channel": "pos", "volume": 40, "preview": False}) + ) + self.request( + "POST", json.dumps({"channel": "space", "volume": 0, "preview": True}) + ) self.assertEqual(self.audio.previews, ["space"]) From 9ddfbffb4a8a5c6dba966d149d5338062dfbb243 Mon Sep 17 00:00:00 2001 From: stitch1 Date: Sun, 18 Oct 2026 11:20:26 +0200 Subject: [PATCH 13/25] Add Magic Button Studio with private persistent user designs --- .gitignore | 2 + Makefile | 4 +- README.md | 43 +++- button_themes.py | 166 ++++++++++++++ compose.dev.yaml | 1 + kassa.py | 3 + package.json | 2 +- plugins/buttonstudio.py | 69 ++++++ tests/js/browser-smoke.test.js | 81 +++++++ tests/js/index-scripts.test.js | 2 + tests/js/kassa-app.test.js | 7 +- tests/js/kassa-button-styles.test.js | 36 +++ tests/js/kassa-buttons.test.js | 8 +- tests/js/kassa-textfill.test.js | 9 + tests/test_button_themes.py | 207 +++++++++++++++++ tests/test_kassa.py | 17 ++ www/images/users/README.md | 11 +- www/images/users/stitch.png | Bin 21102 -> 0 bytes www/index.html | 23 +- www/kassa-app.js | 34 ++- www/kassa-button-studio.css | 117 ++++++++++ www/kassa-button-studio.js | 325 +++++++++++++++++++++++++++ www/kassa-button-styles.js | 125 +++++++++++ www/kassa-buttons.js | 3 +- www/kassa-textfill.js | 1 + www/post.php | 9 +- www/stom.css | 83 +++---- www/stream.php | 1 + 28 files changed, 1288 insertions(+), 101 deletions(-) create mode 100644 button_themes.py create mode 100644 plugins/buttonstudio.py create mode 100644 tests/js/kassa-button-styles.test.js create mode 100644 tests/test_button_themes.py delete mode 100644 www/images/users/stitch.png create mode 100644 www/kassa-button-studio.css create mode 100644 www/kassa-button-studio.js create mode 100644 www/kassa-button-styles.js diff --git a/.gitignore b/.gitignore index d7c8562..330114e 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,5 @@ tests/plugins/__pycache__/ dev/data/ dev/artifacts/ !dev/config.yaml +/data/revbank.buttons.json +/data/revbank.buttons.json.* diff --git a/Makefile b/Makefile index 0482a3a..65e83fc 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ PYTHON ?= python3 NPM ?= npm PHP ?= php -PY_FILES := kassa.py load_printer_logo.py pos_sound_settings.py $(shell find plugins tests -type f -name '*.py' | sort) +PY_FILES := kassa.py load_printer_logo.py pos_sound_settings.py button_themes.py $(shell find plugins tests -type f -name '*.py' | sort) PHP_FILES := $(shell find www -type f -name '*.php' | sort) .PHONY: test python-test js-test php-test venv pip-compile pip-sync pip-sync-dev lint python-lint js-lint php-lint check-types fix check @@ -42,7 +42,7 @@ pip-sync-dev: ## synchronizes the .venv with the state of requirements.txt lint: python-lint js-lint php-lint ## Do basic linting python-lint: venv - @. .venv/bin/activate && ${env} ${PYTHON} -m pylint --persistent=no kassa.py load_printer_logo.py pos_sound_settings.py plugins + @. .venv/bin/activate && ${env} ${PYTHON} -m pylint --persistent=no kassa.py load_printer_logo.py pos_sound_settings.py button_themes.py plugins @. .venv/bin/activate; for file in ${PY_FILES}; do ${env} ${PYTHON} -m black --check --quiet --workers 1 "$$file" || exit $$?; done node_modules/.package-lock.json: package.json package-lock.json diff --git a/README.md b/README.md index 625a549..5c2ca71 100644 --- a/README.md +++ b/README.md @@ -182,14 +182,38 @@ Opening the page or receiving settings from another browser stays silent. Settings requests use a separate route so they cannot answer a pending POS question. The error alert retains its two repetitions for unrecognised input. -Account themes use the existing `account-` CSS classes. `stitch` -has a local Stitch icon, a `#6088B0` background and bold white text; `BugBlue` -has a slowly animated blue glitter background and white text. Jos has a gold -key icon and dark theme; nino has a Ukrainian flag background; the existing Anus -account has an animated plasma effect. These three names match without regard -to case. Balance badges keep their debt colours, and animations respect -reduced-motion settings. -See `www/images/users/README.md` for the icon source. +The **Button studio** action on each user profile opens “Hack42 Magic Button +Studio (tm)”. Current and draft buttons remain visible beside the editing +tools. Backgrounds support solid paint, 2–6 gradient stops with percentages +and a full 360° angle, glitter, and plasma. Effect speed and intensity are +adjustable. Lettering has colour or a separate gradient, six system font +stacks, size, weight, a fixed angle and optional continuous rotation. Icons +can be built-in symbols or a personal image, with size and rotation controls. +The native colour picker and six-digit hex fields work together. +Large scroll buttons also work on the bar's touch screen without swipe gestures. + +Upload a PNG, JPEG, WebP or GIF (up to 8 MB), drag it into the icon area, or +paste an image with Ctrl+V / ⌘V while the dialog is focused. The browser crops +it to a square and resizes it to a 144 × 144 PNG; GIFs become still icons. +The original upload is not stored. Images use `object-fit: cover`. + +**Use my new button** saves to `data/revbank.buttons.json`, using an atomic +write. Designs and their embedded icons survive backend/browser restarts and +are shared across the bar's terminals through retained MQTT messages. This +file belongs to the installation's private runtime data and is ignored by +the public application repository. Include it in private data backups. +Cancel or Escape discards the draft; Revert changes restores the saved design, +and Start fresh restores the account's initial design as an unsaved draft. + +Initial designs keep stitch’s blue and bold white text (without a bundled +character image), BugBlue’s glitter, Jos’s key, nino’s blue/yellow flag and +Anus’s plasma. Personal icons must be supplied locally through the studio. +All effects are clipped inside their own button; balance badges keep their +debt colours. Animation respects reduced-motion settings. Saving a design +uses its own `button_studio` route, so it cannot answer a pending sale prompt +or change receipts, account names or balances. Only validated presentation +settings and small PNG data URLs are accepted; no arbitrary CSS or remote +image/font URLs are stored. No new external runtime dependencies are needed. The Home Assistant shortcut opens its page in the left-hand iframe, with a link to open it in a separate tab. Music is hidden until a LAN music interface is @@ -239,6 +263,9 @@ updating its Python controller. Changes to `plugins/sounds.py`, including the silent Sounds navigation, also require restarting the existing POS backend. The profile response fix in `kassa.py` and sale display events in `plugins/historie.py` require the same backend restart. +Button studio deployments must also include `button_themes.py`, +`plugins/buttonstudio.py`, the new JS/CSS files and the updated PHP routes, +and restart the POS backend. Existing private button data must be preserved. The sound-folder update also requires a backend restart and an audio-controller restart; include `pos_sound_settings.py` and the entire `www/sounds` tree when deploying. Preserve the saved choices in the existing data directory. diff --git a/button_themes.py b/button_themes.py new file mode 100644 index 0000000..cdf80f9 --- /dev/null +++ b/button_themes.py @@ -0,0 +1,166 @@ +"""Presentation-only button designs stored with the bar's private runtime data.""" + +import base64 +import binascii +import json +import os +from pathlib import Path +import re +import struct +import tempfile +import threading + +MAX_REQUEST = 160 * 1024 +MAX_ICON_BYTES = 96 * 1024 +FONTS = {"system", "rounded", "comic", "mono", "serif", "condensed"} +ICONS = {"none", "image", "key", "star", "bolt", "heart", "smile"} + + +def fields(value, names): + if not isinstance(value, dict) or set(value) != set(names.split()): + raise ValueError("This button design has missing or unknown settings.") + return value + + +def number(value, low, high): + if type(value) not in (int, float) or not low <= value <= high: + raise ValueError("A button setting is outside its allowed range.") + return value + + +def choice(value, choices): + if not isinstance(value, str) or value not in choices: + raise ValueError("Unknown button style.") + return value + + +def color(value): + if not isinstance(value, str) or not re.fullmatch(r"#[0-9a-fA-F]{6}", value): + raise ValueError("Use a six-digit hex colour, such as #6088B0.") + return value.lower() + + +def gradient(value): + fields(value, "angle stops") + stops = value["stops"] + if not isinstance(stops, list) or not 2 <= len(stops) <= 6: + raise ValueError("A gradient needs between two and six colour stops.") + result = [] + for stop in stops: + fields(stop, "color position") + result.append( + { + "color": color(stop["color"]), + "position": number(stop["position"], 0, 100), + } + ) + return {"angle": number(value["angle"], 0, 360), "stops": result} + + +def icon_image(value): + if not isinstance(value, str): + raise ValueError("Choose an image for your icon.") + if not value: + return "" + prefix = "data:image/png;base64," + if not value.startswith(prefix) or len(value) > MAX_ICON_BYTES * 4 // 3 + len( + prefix + ): + raise ValueError("Icon images must be small PNG images.") + try: + raw = base64.b64decode(value[len(prefix) :], validate=True) + except (ValueError, binascii.Error) as error: + raise ValueError("This icon image could not be read.") from error + if ( + len(raw) < 45 + or not raw.startswith(b"\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR") + or not raw.endswith(b"\x00\x00\x00\x00IEND\xaeB`\x82") + ): + raise ValueError("This icon image could not be read.") + width, height = struct.unpack(">II", raw[16:24]) + if not 1 <= width <= 144 or not 1 <= height <= 144: + raise ValueError("Icon images must be resized to at most 144 pixels.") + return value + + +def validate_theme(value): + fields(value, "version background text icon") + if ( + not isinstance(value["version"], int) + or isinstance(value["version"], bool) + or value["version"] != 1 + ): + raise ValueError("Unknown button design version.") + background = fields(value["background"], "kind color gradient speed intensity") + text = fields(value["text"], "color gradient size font weight angle rotation") + icon = fields(value["icon"], "kind image size rotation") + image = icon_image(icon["image"]) + kind = choice(icon["kind"], ICONS) + if kind == "image" and not image: + raise ValueError("Choose an image for your icon.") + return { + "version": 1, + "background": { + "kind": choice( + background["kind"], {"solid", "gradient", "glitter", "plasma"} + ), + "color": color(background["color"]), + "gradient": gradient(background["gradient"]), + "speed": number(background["speed"], 2, 60), + "intensity": number(background["intensity"], 0, 100), + }, + "text": { + "color": color(text["color"]), + "gradient": ( + gradient(text["gradient"]) if text["gradient"] is not None else None + ), + "size": number(text["size"], 10, 48), + "font": choice(text["font"], FONTS), + "weight": number(text["weight"], 400, 900), + "angle": number(text["angle"], 0, 360), + "rotation": number(text["rotation"], 0, 60), + }, + "icon": { + "kind": kind, + "image": image if kind == "image" else "", + "size": number(icon["size"], 20, 64), + "rotation": number(icon["rotation"], 0, 60), + }, + } + + +class ButtonThemes: + write_lock = threading.Lock() + + def __init__(self, path="data/revbank.buttons.json"): + self.path = Path(path) + + def all(self): + try: + saved = json.loads(self.path.read_text(encoding="utf-8")) + except FileNotFoundError: + return {} + except (UnicodeError, json.JSONDecodeError) as error: + raise ValueError("Saved button designs could not be read.") from error + if not isinstance(saved, dict): + raise ValueError("Saved button designs could not be read.") + return {name: validate_theme(theme) for name, theme in saved.items()} + + def save(self, user, theme): + theme = validate_theme(theme) + with self.write_lock: + saved = self.all() + saved[user] = theme + self.path.parent.mkdir(parents=True, exist_ok=True) + descriptor, temporary = tempfile.mkstemp( + prefix=self.path.name + ".", dir=self.path.parent, text=True + ) + try: + with os.fdopen(descriptor, "w", encoding="utf-8") as output: + json.dump(saved, output, ensure_ascii=True) + output.write("\n") + os.replace(temporary, self.path) + except Exception: + Path(temporary).unlink(missing_ok=True) + raise + return theme diff --git a/compose.dev.yaml b/compose.dev.yaml index aba1142..a661b78 100644 --- a/compose.dev.yaml +++ b/compose.dev.yaml @@ -32,6 +32,7 @@ services: - ./input_validation.py:/app/input_validation.py:ro - ./purchase_history.py:/app/purchase_history.py:ro - ./pos_sound_settings.py:/app/pos_sound_settings.py:ro + - ./button_themes.py:/app/button_themes.py:ro - ./www/sounds:/app/www/sounds:ro - ./plugins:/app/plugins:ro - ./images:/app/images:ro diff --git a/kassa.py b/kassa.py index f6dc0f1..0574b13 100755 --- a/kassa.py +++ b/kassa.py @@ -266,6 +266,9 @@ def run_session(client, SID, action, data): elif action == "sound_settings": session = get_session(SID, client) session.plugins["sounds"].configure(data) + elif action == "button_studio": + session = get_session(SID, client) + session.plugins["buttonstudio"].configure(data) else: logger.warning("unhandled_session_action sid=%s action=%s", SID, action) diff --git a/package.json b/package.json index 305bcad..52baf43 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "kassa", "private": true, "scripts": { - "lint:js": "eslint www/kassa-textfill.js www/kassa-dom.js www/kassa-buttons.js www/kassa-stream.js www/kassa-audio.js www/kassa-sound-settings.js www/kassa-confetti.js www/kassa-preferences.js www/kassa-app.js www/spaceconsole/all.js tests/js/*.test.js", + "lint:js": "eslint www/kassa-textfill.js www/kassa-dom.js www/kassa-buttons.js www/kassa-stream.js www/kassa-audio.js www/kassa-sound-settings.js www/kassa-confetti.js www/kassa-preferences.js www/kassa-button-styles.js www/kassa-button-studio.js www/kassa-app.js www/spaceconsole/all.js tests/js/*.test.js", "test:js": "node --test tests/js/*.test.js" }, "devDependencies": { diff --git a/plugins/buttonstudio.py b/plugins/buttonstudio.py new file mode 100644 index 0000000..7837c2e --- /dev/null +++ b/plugins/buttonstudio.py @@ -0,0 +1,69 @@ +"""Separate UI settings route: never consumes a POS command or pending question.""" + +import json +import logging +import re +from urllib.parse import quote + +from button_themes import ButtonThemes, MAX_REQUEST + +logger = logging.getLogger(__name__) + + +class buttonstudio: + def __init__(self, SID, master, store=None): + self.SID = SID + self.master = master + self.store = store or ButtonThemes() + + def help(self): + return {} + + def publish(self, user, theme): + self.master.client.publish( + "hack42bar/output/settings/buttons/" + quote(user, safe=""), + json.dumps({"user": user, "theme": theme}), + qos=1, + retain=True, + ) + + def startup(self): + for user, theme in self.store.all().items(): + self.publish(user, theme) + + def configure(self, payload): + request_id = "" + try: + if len(payload) > MAX_REQUEST: + raise ValueError("This button design is too large.") + request = json.loads(payload) + if not isinstance(request, dict): + raise ValueError("Invalid button request.") + request_id = request.get("request", "") + if not isinstance(request_id, str) or not re.fullmatch( + r"[A-Za-z0-9_-]{1,80}", request_id + ): + raise ValueError("Invalid button request.") + if set(request) not in ({"request", "user"}, {"request", "user", "theme"}): + raise ValueError("Invalid button request.") + user = request["user"] + if not isinstance(user, str) or user not in self.master.accounts.accounts: + raise ValueError("Choose an existing user for this button.") + if "theme" in request: + theme = self.store.save(user, request["theme"]) + else: + theme = self.store.all().get(user) + self.publish(user, theme) + reply = {"request": request_id, "ok": True, "user": user, "theme": theme} + except (ValueError, TypeError, OSError) as error: + logger.warning("button_studio_failed sid=%s error=%s", self.SID, error) + reply = { + "request": request_id, + "ok": False, + "error": ( + str(error) + if isinstance(error, ValueError) + else "Your button could not be saved. Please try again." + ), + } + self.master.send_message(False, "button_studio", json.dumps(reply)) diff --git a/tests/js/browser-smoke.test.js b/tests/js/browser-smoke.test.js index 8abdfc2..d8cf956 100644 --- a/tests/js/browser-smoke.test.js +++ b/tests/js/browser-smoke.test.js @@ -63,6 +63,7 @@ function writeKassaFixture(bodyScript) { + - - - - - - - - + + + + + + + + + + + + + diff --git a/www/kassa-app.js b/www/kassa-app.js index c7e2859..747126b 100644 --- a/www/kassa-app.js +++ b/www/kassa-app.js @@ -21,6 +21,12 @@ document.addEventListener("DOMContentLoaded", function() { var audioControl=null; var soundSettingsControl=null; var soundSettings=null; + var buttonThemes=Object.create(null); + var buttonStudio=window.HackBankButtonStudio ? window.HackBankButtonStudio.create({ + session:session, + getTheme:function(user) { return buttonThemes[user] || null; }, + onSaved:updateButtonTheme, + }) : null; var currentView='accounts'; var commandCategory='All commands'; var soundButtons=[]; @@ -272,6 +278,13 @@ document.addEventListener("DOMContentLoaded", function() { } accounts[name]=JSON.parse(msg); } + function updateButtonTheme(user,theme) { + buttonThemes[user]=theme; + if(!window.HackBankButtonStyles) return; + allElements('#MainButtons .account').forEach(function(button) { + if(button.getAttribute('data-button-user') === user) window.HackBankButtonStyles.apply(button,user,theme); + }); + } function setupcommands(msg) { commands=JSON.parse(msg); if(preferences) Object.assign(commands,preferences.commands); @@ -321,6 +334,11 @@ document.addEventListener("DOMContentLoaded", function() { screen.appendChild(heading); var actions=createElement('div',{class:'profile-actions'}); actions.appendChild(actionButton('Full user history','history '+profile.user)); + if(buttonStudio) { + var studioButton=createElement('button',{type:'button',class:'profile-action studio-launch',text:'✨ Button studio'}); + studioButton.addEventListener('click',function() { buttonStudio.open(profile); }); + actions.appendChild(studioButton); + } if(profile.undo_transaction !== null && profile.undo_transaction !== undefined) { actions.appendChild(actionButton('Undo latest transaction','undouserlatest '+profile.undo_transaction+':'+profile.user,'profile-action undo-user-transaction')); } @@ -487,12 +505,6 @@ document.addEventListener("DOMContentLoaded", function() { createElement('span',{class: "Buttontext ",text: stuff.display}), ]); if(stuff.hint) knopje.appendChild(createElement('small',{class:'command-hint',text:stuff.hint})); - if(stuff.text === 'stitch' && stuff.class && stuff.class.indexOf('account ') === 0) { - knopje.prepend(createElement('img',{class: 'account-icon', src: 'images/users/stitch.png', width: '32', height: '32', alt: '', 'aria-hidden': 'true'})); - } - if(stuff.class && stuff.class.indexOf('account-theme-lockpicker') !== -1) { - knopje.prepend(createElement('span',{class: 'account-icon key-icon', 'aria-hidden': 'true', html: ''})); - } if(stuff.right) { var fullwidth=''; if(!stuff.left && stuff.fill) fullwidth=' fullwidthButton '; @@ -501,6 +513,9 @@ document.addEventListener("DOMContentLoaded", function() { if(stuff.left) { appendToElement(knopje, createElement('span',{class: "left extra "+stuff.leftclass,text: stuff.left})); } + if(window.HackBankButtonStyles && stuff.class && stuff.class.indexOf('account ') === 0) { + window.HackBankButtonStyles.apply(knopje,stuff.text,buttonThemes[stuff.text]); + } return knopje; } function makeAccountList(accountButtons) { @@ -757,6 +772,9 @@ document.addEventListener("DOMContentLoaded", function() { case 'sound_settings': if(soundSettingsControl) soundSettingsControl.receive(JSON.parse(msg)); break; + case 'button_studio': + if(buttonStudio) buttonStudio.receive(JSON.parse(msg)); + break; case 'effects': if(preferences && JSON.parse(msg).type === 'sale') preferences.sale(); break; @@ -794,6 +812,10 @@ document.addEventListener("DOMContentLoaded", function() { soundSettings=JSON.parse(msg); if(soundSettingsControl) soundSettingsControl.update(soundSettings); } + if(elms[3] === 'buttons') { + var design=JSON.parse(msg); + if(design && typeof design.user === 'string') updateButtonTheme(design.user,design.theme); + } break; case 'session': if(elms.length < 5) return; diff --git a/www/kassa-button-studio.css b/www/kassa-button-studio.css new file mode 100644 index 0000000..3249f74 --- /dev/null +++ b/www/kassa-button-studio.css @@ -0,0 +1,117 @@ +/* The studio owns its colours, type and motion; the POS behind it stays put. */ +.button-studio { --studio-purple: #704ac3; --studio-ink: #35294d; --studio-muted: #716582; width: min(1510px, calc(100vw - 64px)); max-width: none; height: min(900px, calc(100dvh - 64px)); max-height: none; padding: 0; border: 2px solid #ffffff; border-radius: 24px; color: var(--studio-ink); background: #fcfaff; box-shadow: 0 28px 100px #0c082a60; font: 16px/1.45 system-ui, sans-serif; overflow: hidden; } +.button-studio[open] { display: flex; flex-direction: column; animation: studio-arrive 220ms ease-out; } +.button-studio::backdrop { background: #101526b8; backdrop-filter: blur(5px); } +.button-studio *, .button-studio *::before, .button-studio *::after { box-sizing: border-box; } +.button-studio h1, .button-studio h2, .button-studio h3, .button-studio p { margin: 0; } +.button-studio button, .button-studio input, .button-studio select { font: inherit; } +.button-studio button { cursor: pointer; } +.button-studio button:disabled { opacity: .45; cursor: default; } +.button-studio :focus-visible { outline: 3px solid #8e61dd; outline-offset: 3px; } +.studio-header { display: flex; flex: 0 0 auto; align-items: center; gap: 20px; padding: 24px 30px; border-bottom: 1px solid #e6dcf2; background: linear-gradient(110deg, #f1e7ff, #fff5df 70%, #e6faf0); } +.studio-header h1 { font-size: clamp(21px, 1.8vw, 30px); font-weight: 850; letter-spacing: -.8px; } +.studio-header .studio-hint { margin-top: 3px; } +.studio-badge { display: grid; place-items: center; flex: 0 0 62px; height: 62px; border: 3px solid #fff; border-radius: 20px; color: #fff; background: #8960d1; box-shadow: 4px 5px 0 #cdb6ed; font-size: 42px; transform: rotate(-9deg); } +.studio-eyebrow { color: #8e63ae; font-size: 10px; font-weight: 800; letter-spacing: 2px; } +.studio-close { flex: 0 0 48px; height: 48px; margin-left: auto; border: 1px solid #cdbce0; border-radius: 50%; color: #645078; background: #ffffffb3; font-size: 30px !important; } +.studio-main { display: grid; flex: 1 1 0; grid-template-columns: 390px minmax(0, 1fr); min-height: 0; } +.studio-workbench { position: relative; display: flex; flex-direction: column; align-items: center; padding: 28px 24px; border-right: 1px solid #e6dcf2; overflow: auto; background: radial-gradient(#cfc1e5 1px, transparent 1px) 0 0 / 16px 16px, #f0eafa; } +.studio-owner { align-self: flex-start; margin-bottom: 24px; padding: 6px 13px; background: #fff9d1; color: #8b6c21; border: 1px solid #ead591; border-radius: 4px; font-size: 13px; font-weight: 750; transform: rotate(-3deg); } +.studio-workbench h2 { align-self: flex-start; margin: 0 0 10px; font-size: 14px; } +.studio-preview-slot { width: 100%; padding: 16px; border: 1px solid #dbd0e9; border-radius: 14px; background: #ffffffb8; box-shadow: 0 4px 0 #dcd0ed; } +.studio-new { border: 2px solid #a487e0; box-shadow: 0 5px 0 #c6b2e9, 0 10px 25px #704ac314; } +.magic-preview.Knop { width: 100%; height: 84px; min-height: 84px; max-height: 84px; justify-content: space-between; padding: 8px 12px; text-align: left; transform: none !important; box-shadow: none !important; cursor: default; } +.magic-preview .extra { position: static; max-width: 45%; padding: 4px 8px; font-size: 14px; border-radius: 5px; } +.studio-magic-arrow { margin: 20px 0; color: #9a7aba; font-size: 13px; font-weight: 750; letter-spacing: 1px; } +.studio-live { margin-top: 16px; color: #756094; font-size: 10px; font-weight: 850; letter-spacing: 2px; } +.studio-hint { color: var(--studio-muted); font-size: 12px; line-height: 1.5; } +.studio-workbench > .studio-hint { margin: 8px 0 20px; text-align: center; } +.studio-draft-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; } +.studio-sticker { display: grid; place-items: center; flex: 0 0 auto; width: 94px; height: 94px; margin-top: 28px; border: 2px dashed #debc5c; border-radius: 50%; background: #ffe88d; color: #8b681f; white-space: pre-line; text-align: center; font-size: 12px; line-height: 1.6; font-weight: 850; transform: rotate(10deg); } +.studio-editing { display: flex; flex-direction: column; min-width: 0; min-height: 0; } +.studio-tabs { display: flex; flex: 0 0 auto; gap: 8px; padding: 20px 28px 16px; border-bottom: 1px solid #e6dcf2; background: #fff; } +.studio-tab { flex: 1 1 0; min-height: 52px; padding: 8px 16px; border: 1px solid #e0d5ec; border-radius: 12px; color: #7c678c; background: #f8f4fc; font-size: 14px !important; font-weight: 750 !important; } +.studio-tab[aria-selected="true"] { border-color: #b394df; background: #eee3ff; color: #663db2; box-shadow: 0 3px 0 #d7c4ef; } +.studio-controls { display: flex; flex: 1 1 0; min-width: 0; min-height: 0; margin: 0; padding: 0; border: 0; } +.studio-editor { flex: 1 1 0; min-height: 0; padding: 22px 30px 30px; overflow-y: auto; overscroll-behavior: contain; scrollbar-color: #cbb9df #f7f1fb; } +.studio-scroll-tools { display: flex; flex: 0 0 auto; align-items: center; justify-content: flex-end; gap: 8px; padding: 8px 28px; border-top: 1px solid #eee5f5; background: #fcfaff; } +.studio-scroll-tools .studio-hint { margin-right: auto; } +.studio-editor h2 { margin: 0 0 18px; font-size: 18px; } +.studio-editor h3 { margin: 0 0 12px; font-size: 15px; } +.studio-presets { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin-bottom: 22px; } +.studio-preset { display: flex; flex-direction: column; align-items: center; gap: 7px; padding: 6px 4px; border: 0; border-radius: 10px; color: #6e5b81; background: transparent; font-size: 11px !important; font-weight: 650 !important; } +.studio-preset:hover { background: #f1e7ff; } +.studio-swatch { display: grid; place-items: center; width: 100%; height: 48px; border: 2px solid #fff; border-radius: 12px; box-shadow: 0 2px 6px #46306026; font-size: 23px; } +.studio-field { display: flex; flex-direction: column; flex: 1 1 0; min-width: 0; gap: 7px; margin: 0 0 16px; } +.studio-field-name { color: #6d5c7d; font-size: 12px; font-weight: 750; } +.studio-input { width: 100%; min-width: 0; min-height: 46px; padding: 10px 12px; border: 1px solid #d9cae6; border-radius: 9px; color: #4c3b61; background: #fff; } +.studio-input:invalid { border-color: #d15a79; } +.studio-field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; } +.studio-color-row { display: flex; gap: 10px; } +.studio-color-picker { flex: 0 0 52px; width: 52px; height: 46px; padding: 3px; border: 1px solid #d9cae6; border-radius: 9px; background: #fff; cursor: pointer; } +.studio-hex { font-family: ui-monospace, monospace !important; text-transform: uppercase; } +.studio-gradient { padding: 18px; margin: 0 0 18px; border: 1px solid #e3d8ee; border-radius: 14px; background: #f8f4fc; } +.studio-gradient-track { height: 26px; margin-bottom: 18px; border: 2px solid #fff; border-radius: 20px; box-shadow: 0 1px 4px #44305b1a; } +.studio-stop { display: grid; grid-template-columns: minmax(0, 1fr) 110px 44px; gap: 12px; align-items: center; } +.studio-stop .studio-field { margin-bottom: 12px; } +.studio-stop-remove { align-self: end; width: 44px; height: 46px; margin-bottom: 12px; border: 1px solid #e1ccdf; border-radius: 8px; color: #ac668b; background: #fff; font-size: 22px !important; } +.studio-small-button { min-height: 44px; padding: 8px 13px; border: 1px solid #d7c8e7; border-radius: 9px; color: #745293; background: #fff; font-size: 12px !important; font-weight: 750 !important; } +.studio-small-button:hover { background: #f2eaff; } +.studio-gradient > .studio-hint { margin-top: 10px; } +.studio-range-row { display: flex; align-items: center; gap: 12px; min-height: 46px; } +.studio-range-row input[type="range"] { flex: 1 1 0; min-width: 0; height: 40px; margin: 0; accent-color: #9163cb; cursor: pointer; } +.studio-number { width: 68px; height: 44px; padding: 5px; border: 1px solid #d9cae6; border-radius: 8px; text-align: center; color: #6b478d; background: #fff; } +.studio-unit { flex: 0 0 26px; font-size: 12px; color: #8c799c; } +.studio-editor > .studio-hint { margin: -4px 0 18px; } +.studio-drop { display: flex; flex-direction: column; align-items: center; gap: 10px; margin: 12px 0 18px; padding: 28px; border: 2px dashed #c6acdf; border-radius: 14px; background: #f2eafb; text-align: center; } +.studio-drop.drag-over { background: #e3d2ff; border-color: #8a55cc; } +.studio-drop-star { font-size: 30px; } +.studio-file { display: none; } +.studio-footer { display: flex; flex: 0 0 auto; align-items: center; gap: 14px; padding: 18px 28px; border-top: 1px solid #e6dcf2; background: #fff; } +.studio-save-note { flex: 1 1 0; } +.studio-status { color: #6c4a91; font-size: 13px; font-weight: 700; } +.studio-save-note .studio-hint { margin-top: 3px; font-size: 11px; } +.studio-save-note .studio-small-button { margin-top: 8px; } +.studio-save-note [hidden] { display: none; } +.studio-cancel { min-height: 52px; padding: 10px 20px; border: 1px solid #ded1e9; border-radius: 11px; background: #fff; color: #786584; font-size: 14px !important; font-weight: 650 !important; } +.studio-save { min-height: 54px; padding: 12px 24px; border: 1px solid #7042ac; border-radius: 12px; color: #fff; background: #8957cc; box-shadow: 0 4px 0 #62359b; font-size: 15px !important; font-weight: 800 !important; } +.studio-save:hover:not(:disabled) { background: #7945bf; transform: translateY(-1px); } +.studio-saved .studio-new { animation: studio-ta-da 600ms ease; } +@keyframes studio-arrive { from { opacity: 0; transform: translateY(12px) scale(.985); } to { opacity: 1; transform: none; } } +@keyframes studio-ta-da { 40% { transform: rotate(-2deg) scale(1.04); box-shadow: 0 0 0 12px #d6efcf80; } 70% { transform: rotate(1deg); } } +@media (max-width: 1100px) { + .button-studio { width: calc(100vw - 24px); height: calc(100dvh - 24px); } + .studio-main { grid-template-columns: 310px minmax(0,1fr); } + .studio-workbench { padding: 22px 16px; } + .studio-preview-slot { padding: 10px; } + .studio-presets { grid-template-columns: repeat(3,minmax(0,1fr)); } + .studio-editor { padding: 20px; } + .studio-tabs { padding: 16px; } + .studio-tab { padding: 8px; } +} +@media (max-width: 760px) { + .studio-header { gap: 12px; padding: 16px; } + .studio-header h1 { font-size: 18px; letter-spacing: -.5px; } + .studio-badge { flex-basis: 42px; height: 42px; font-size: 28px; border-radius: 12px; } + .studio-header .studio-hint, .studio-eyebrow { display: none; } + .studio-main { display: block; overflow-y: auto; } + .studio-workbench { border: 0; padding: 16px; } + .studio-owner, .studio-sticker, .studio-draft-actions, .studio-workbench > .studio-hint { display: none; } + .studio-preview-slot { max-width: 350px; } + .studio-magic-arrow { margin: 12px 0; } + .studio-workbench h2 { align-self: center; } + .studio-tabs { position: sticky; top: 0; z-index: 3; } + .studio-editing, .studio-controls, .studio-editor { display: block; } + .studio-scroll-tools { display: none; } + .studio-field-grid { grid-template-columns: 1fr; gap: 0; } + .studio-stop { grid-template-columns: minmax(0,1fr) 82px 44px; gap: 8px; } + .studio-stop .studio-color-row { gap: 5px; } + .studio-stop .studio-color-picker { flex-basis: 38px; width: 38px; } + .studio-footer { flex-wrap: wrap; gap: 10px; padding: 12px 16px; } + .studio-save-note { flex-basis: 100%; } + .studio-save-note .studio-hint { display: none; } + .studio-save { flex-grow: 1; } +} +@media (prefers-reduced-motion: reduce) { + .button-studio, .button-studio * { animation: none !important; transition: none !important; } +} diff --git a/www/kassa-button-studio.js b/www/kassa-button-studio.js new file mode 100644 index 0000000..36bf844 --- /dev/null +++ b/www/kassa-button-studio.js @@ -0,0 +1,325 @@ +(function(window, document) { + var serial=0; + function create(options) { + var styles=window.HackBankButtonStyles; + var dialog=null, profile=null, draft=null, current=null, pending=null, timeout=null; + var editor, currentSlot, newSlot, status, save, retry, tabs, controls, returnFocus; + var selectedTab='Background', ready=false, processing=false, dirty=false, generation=0; + + function el(tag,className,text) { + var node=document.createElement(tag); node.className=className; + if(text !== undefined) node.textContent=text; + return node; + } + function button(text,className,callback) { + var node=el('button',className,text); node.type='button'; + node.addEventListener('click',callback); return node; + } + function hint(text) { return el('p','studio-hint',text); } + function message(text) { if(status) status.textContent=text; } + function refreshButtons() { + save.disabled=!ready || !!pending || processing; + controls.disabled=!!pending || processing; + retry.hidden=ready || !!pending; + } + function preview() { + newSlot.textContent=''; + newSlot.appendChild(styles.preview(profile.user,profile.amount,!dirty && !options.getTheme(profile.user) ? null : draft)); + } + function changed() { + dirty=true; preview(); message('Looking magical. Save when you’re happy!'); + } + function inputField(parent,title,type,value,attributes,onInput) { + var label=el('label','studio-field'); + label.appendChild(el('span','studio-field-name',title)); + var input=el('input','studio-input'); input.type=type; input.value=value; + input.id='Studio-field-'+(++serial); + Object.keys(attributes || {}).forEach(function(key) { input.setAttribute(key,attributes[key]); }); + input.addEventListener('input',function() { onInput(input.value,input); }); + label.appendChild(input); parent.appendChild(label); return input; + } + function range(parent,title,value,min,max,unit,onInput) { + var field=el('div','studio-field studio-range'); + var label=el('label','studio-field-name',title); + var row=el('div','studio-range-row'); + var input=el('input',''); input.type='range'; input.min=min; input.max=max; input.step=1; input.value=value; + input.id='Studio-range-'+(++serial); label.htmlFor=input.id; + var numeric=el('input','studio-number'); numeric.type='number'; numeric.min=min; numeric.max=max; numeric.step=1; numeric.value=value; + numeric.setAttribute('aria-label',title+' value'); + function update(source,other) { + if(!source.checkValidity() || source.value === '') return; + other.value=source.value; onInput(Number(source.value)); changed(); + } + input.addEventListener('input',function() { update(input,numeric); }); + numeric.addEventListener('input',function() { update(numeric,input); }); + row.appendChild(input); row.appendChild(numeric); row.appendChild(el('span','studio-unit',unit)); + field.appendChild(label); field.appendChild(row); parent.appendChild(field); + } + function select(parent,title,value,choices,onChange) { + var field=el('div','studio-field'); + var label=el('label','studio-field-name',title); + var input=el('select','studio-input'); + input.id='Studio-select-'+(++serial); label.htmlFor=input.id; + Object.keys(choices).forEach(function(key) { var option=el('option','',choices[key]); option.value=key; input.appendChild(option); }); + input.value=value; + input.addEventListener('change',function() { onChange(input.value); changed(); }); + field.appendChild(label); field.appendChild(input); parent.appendChild(field); return input; + } + function color(parent,title,value,onInput) { + var field=el('div','studio-field studio-color'); + field.appendChild(el('span','studio-field-name',title)); + var row=el('div','studio-color-row'); + var picker=el('input','studio-color-picker'); picker.type='color'; picker.value=value; + picker.setAttribute('aria-label',title+' colour picker'); + var hex=el('input','studio-input studio-hex'); hex.value=value; hex.spellcheck=false; hex.maxLength=7; + hex.setAttribute('aria-label',title+' hex'); hex.pattern='#[A-Fa-f0-9]{6}'; hex.required=true; + picker.addEventListener('input',function() { hex.value=picker.value; onInput(picker.value); changed(); }); + hex.addEventListener('input',function() { if(hex.checkValidity()) { picker.value=hex.value; onInput(hex.value); changed(); } }); + row.appendChild(picker); row.appendChild(hex); field.appendChild(row); parent.appendChild(field); + } + function gradient(parent,value,title) { + var section=el('section','studio-gradient'); section.setAttribute('aria-label',title); + section.appendChild(el('h3','',title)); + var track=el('div','studio-gradient-track'); + function repaint() { track.style.background=styles.cssGradient(value); } + repaint(); section.appendChild(track); + range(section,title+' angle',value.angle,0,360,'°',function(angle) { value.angle=angle; repaint(); }); + value.stops.forEach(function(stop,index) { + var row=el('div','studio-stop'); + color(row,'Stop '+(index+1),stop.color,function(newColor) { stop.color=newColor; repaint(); }); + var position=inputField(row,'Position %','number',stop.position,{min:0,max:100,step:1,required:''},function(next,input) { + if(input.checkValidity() && next !== '') { stop.position=Number(next); repaint(); changed(); } + }); + position.setAttribute('aria-label',title+' stop '+(index+1)+' position'); + var remove=button('×','studio-stop-remove',function() { value.stops.splice(index,1); renderEditor(); changed(); }); + remove.disabled=value.stops.length <= 2; + remove.setAttribute('aria-label','Remove '+title.toLowerCase()+' stop '+(index+1)); + row.appendChild(remove); section.appendChild(row); + }); + var add=button('+ Add colour stop','studio-small-button',function() { + value.stops.push({color:'#ffffff',position:50}); renderEditor(); changed(); + }); + add.disabled=value.stops.length >= 6; section.appendChild(add); + section.appendChild(hint('Stops are sorted by percentage. Put two stops at the same % for a sharp edge.')); + parent.appendChild(section); + } + function backgroundPanel() { + editor.appendChild(el('h2','','Pick your kind of magic')); + var presets=el('div','studio-presets'); + styles.presets.forEach(function(preset,index) { + var tile=button('', 'studio-preset',function() { + var next=styles.preset(index); draft.background=next.background; draft.text.color=next.text.color; + renderEditor(); changed(); + }); + var swatch=el('span','studio-swatch',preset.emoji); + swatch.setAttribute('aria-hidden','true'); + var design=styles.preset(index); + swatch.style.background=design.background.kind === 'solid' ? design.background.color : styles.cssGradient(design.background.gradient); + tile.appendChild(swatch); tile.appendChild(el('span','',preset.name)); presets.appendChild(tile); + }); + editor.appendChild(presets); + select(editor,'Background style',draft.background.kind,{solid:'Solid paint',gradient:'Colour gradient',glitter:'Glitter ✨',plasma:'Plasma 🪐'},function(kind) { + draft.background.kind=kind; renderEditor(); + }); + if(draft.background.kind === 'solid') color(editor,'Background',draft.background.color,function(value) { draft.background.color=value; }); + else gradient(editor,draft.background.gradient,'Background gradient'); + if(['glitter','plasma'].includes(draft.background.kind)) { + var row=el('div','studio-field-grid'); + range(row,'Effect cycle',draft.background.speed,2,60,'sec',function(value) { draft.background.speed=value; }); + range(row,'Magic intensity',draft.background.intensity,0,100,'%',function(value) { draft.background.intensity=value; }); + editor.appendChild(row); editor.appendChild(hint('Longer cycles move more slowly. All the sparkles stay inside your button.')); + } + } + function textPanel() { + editor.appendChild(el('h2','','Give your name some personality')); + var row=el('div','studio-field-grid'); + select(row,'Font',draft.text.font,{system:'Clean & friendly',rounded:'Round & bouncy',comic:'Comic time',mono:'Terminal hacker',serif:'Storybook',condensed:'Big & bold'},function(value) { draft.text.font=value; }); + select(row,'Weight',String(draft.text.weight),{'400':'Regular','600':'Semibold','700':'Bold','900':'Extra bold'},function(value) { draft.text.weight=Number(value); }); + editor.appendChild(row); + range(editor,'Font size',draft.text.size,10,48,'px',function(value) { draft.text.size=value; }); + range(editor,'Text angle',draft.text.angle,0,360,'°',function(value) { draft.text.angle=value; }); + range(editor,'Text rotation',draft.text.rotation,0,60,'sec',function(value) { draft.text.rotation=value; }); + editor.appendChild(hint('Rotation: 0 is still. A higher number means a slower full turn.')); + select(editor,'Text paint',draft.text.gradient ? 'gradient' : 'solid',{solid:'One colour',gradient:'Rainbow letters'},function(value) { + draft.text.gradient=value === 'gradient' ? styles.gradient(['#fff3a6','#ff9bdb','#a7edff'],90) : null; + renderEditor(); + }); + if(draft.text.gradient) gradient(editor,draft.text.gradient,'Text gradient'); + else color(editor,'Text',draft.text.color,function(value) { draft.text.color=value; }); + } + function loadImage(file) { + if(!file || !/^image\/(png|jpeg|gif|webp)$/.test(file.type)) { message('Choose a PNG, JPEG, GIF or WebP image.'); return; } + if(file.size > 8*1024*1024) { message('That image is a little big. Choose one under 8 MB.'); return; } + var ticket=++generation; + processing=true; refreshButtons(); message('Making your image button-sized…'); + var url=window.URL.createObjectURL(file); + var image=new window.Image(); + function finished() { window.URL.revokeObjectURL(url); if(ticket === generation) { processing=false; refreshButtons(); } } + image.onload=function() { + if(ticket !== generation || !dialog) { finished(); return; } + try { + if(!image.naturalWidth || !image.naturalHeight || image.naturalWidth > 16000 || image.naturalHeight > 16000) throw new Error('Image too large'); + var canvas=document.createElement('canvas'); canvas.width=144; canvas.height=144; + var size=Math.min(image.naturalWidth,image.naturalHeight); + canvas.getContext('2d').drawImage(image,(image.naturalWidth-size)/2,(image.naturalHeight-size)/2,size,size,0,0,144,144); + var png=canvas.toDataURL('image/png'); + if(png.length > 128*1024) throw new Error('Image too large'); + draft.icon.image=png; draft.icon.kind='image'; + finished(); renderEditor(); changed(); message('Image ready! Save to keep it with your button.'); + } catch(_error) { finished(); message('This image could not be resized. Please try another one.'); } + }; + image.onerror=function() { finished(); if(ticket === generation) message('This image could not be opened. Please try another one.'); }; + image.src=url; + } + function iconPanel() { + editor.appendChild(el('h2','','A tiny picture. A big entrance.')); + select(editor,'Icon',draft.icon.kind,{none:'No icon',image:'My own image',key:'🔑 Key',star:'★ Star',bolt:'ϟ Lightning',heart:'♥ Heart',smile:'☺ Happy face'},function(value) { + draft.icon.kind=value; + if(value === 'image' && !draft.icon.image) message('Choose or paste an image to finish your icon.'); + renderEditor(); + }); + var drop=el('div','studio-drop'); drop.tabIndex=0; drop.setAttribute('aria-label','Paste or drop an icon image'); + drop.appendChild(el('span','studio-drop-star','🖼️')); + drop.appendChild(el('strong','','Your image goes here')); + drop.appendChild(hint('Drop an image, or focus here and paste with Ctrl+V (⌘V on a Mac).')); + var file=el('input','studio-file'); file.type='file'; file.accept='image/png,image/jpeg,image/webp,image/gif'; + file.setAttribute('aria-label','Upload icon image'); + file.addEventListener('change',function() { loadImage(file.files[0]); }); + drop.appendChild(button('Choose image…','studio-small-button',function() { file.click(); })); drop.appendChild(file); + drop.addEventListener('dragover',function(event) { event.preventDefault(); drop.classList.add('drag-over'); }); + drop.addEventListener('dragleave',function() { drop.classList.remove('drag-over'); }); + drop.addEventListener('drop',function(event) { event.preventDefault(); drop.classList.remove('drag-over'); loadImage(event.dataTransfer.files[0]); }); + editor.appendChild(drop); + if(draft.icon.image) editor.appendChild(button('Remove my image','studio-small-button',function() { draft.icon.image=''; draft.icon.kind='none'; renderEditor(); changed(); })); + editor.appendChild(hint('Images are cropped to a square and fitted with cover. Animated images become a still icon. The original file is not kept.')); + range(editor,'Icon size',draft.icon.size,20,64,'px',function(value) { draft.icon.size=value; }); + range(editor,'Icon rotation',draft.icon.rotation,0,60,'sec',function(value) { draft.icon.rotation=value; }); + editor.appendChild(hint('Rotation: 0 is still. Larger numbers give a slower spin.')); + } + function renderEditor() { + editor.textContent=''; editor.scrollTop=0; + tabs.forEach(function(tab) { tab.setAttribute('aria-selected',String(tab.dataset.tab === selectedTab)); }); + editor.setAttribute('aria-labelledby','Studio-tab-'+selectedTab); + if(selectedTab === 'Background') backgroundPanel(); + else if(selectedTab === 'Lettering') textPanel(); + else iconPanel(); + } + function close() { + if(pending && pending.action === 'save') { message('Saving your magic. Just a moment…'); return; } + ++generation; processing=false; + window.clearTimeout(timeout); pending=null; + var previous=dialog; dialog=null; + previous.close(); previous.remove(); + if(returnFocus && returnFocus.isConnected) returnFocus.focus(); + } + function fail(id,text) { + if(!dialog || !pending || pending.id !== id) return; + window.clearTimeout(timeout); pending=null; refreshButtons(); message(text); + } + function request(theme) { + if(!dialog || pending) return; + var id='studio-'+Date.now()+'-'+(++serial); + var payload={request:id,user:profile.user}; + if(theme) payload.theme=theme; + pending={id:id,action:theme ? 'save' : 'read'}; + refreshButtons(); message(theme ? 'Saving your new button…' : 'Opening your paint box…'); + timeout=window.setTimeout(function() { fail(id,'No reply from the bar. Your changes are still here; please try again.'); },10000); + window.fetch('post.php',{method:'POST',headers:{'Content-Type':'application/x-www-form-urlencoded'}, + body:new URLSearchParams({topic:'session/'+options.session+'/button_studio',msg:JSON.stringify(payload)}) + }).then(function(response) { if(!response.ok) throw new Error('Could not save'); return response.json(); }) + .then(function(reply) { if(reply.done !== 1) throw new Error('Could not save'); }) + .catch(function() { fail(id,'Could not reach the bar. Your changes are still here; please try again.'); }); + } + function receive(reply) { + if(!dialog || !pending || !reply || reply.request !== pending.id) return; + if(!reply.ok) { fail(pending.id,reply.error || 'Your button could not be saved.'); return; } + if(reply.user !== profile.user) { fail(pending.id,'The bar replied for a different user. Please reopen the studio.'); return; } + var action=pending.action; + window.clearTimeout(timeout); pending=null; ready=true; + current=styles.copy(reply.theme || styles.defaults(profile.user)); + if(action === 'read' && !dirty) { draft=styles.copy(current); renderEditor(); preview(); } + currentSlot.textContent=''; currentSlot.appendChild(styles.preview(profile.user,profile.amount,reply.theme)); + refreshButtons(); + if(action === 'save') { + if(options.onSaved) options.onSaved(reply.user,reply.theme); + dialog.classList.add('studio-saved'); message('Ta-da! Your new button is saved.'); + var savedDialog=dialog; + window.setTimeout(function() { if(dialog === savedDialog) close(); },800); + } else message('Your paint box is ready. Have fun!'); + } + function open(userProfile) { + if(dialog) return; + profile=userProfile; selectedTab='Background'; dirty=false; ready=false; + returnFocus=document.activeElement; + current=styles.copy(options.getTheme(profile.user) || styles.defaults(profile.user)); draft=styles.copy(current); + dialog=el('dialog','button-studio'); dialog.setAttribute('aria-labelledby','Studio-title'); + var header=el('header','studio-header'); + header.appendChild(el('span','studio-badge','✦')); + var title=el('div',''); title.appendChild(el('span','studio-eyebrow','THE BUTTON MAKEOVER MACHINE')); + var h1=el('h1','','Hack42 Magic Button Studio (tm)'); h1.id='Studio-title'; title.appendChild(h1); + title.appendChild(hint('A tiny button. A very big imagination.')); header.appendChild(title); + var dismiss=button('×','studio-close',close); dismiss.setAttribute('aria-label','Close button studio'); header.appendChild(dismiss); + dialog.appendChild(header); + var main=el('div','studio-main'); + var workbench=el('aside','studio-workbench'); + workbench.appendChild(el('div','studio-owner','✂ Made by '+profile.user)); + workbench.appendChild(el('h2','','Your current button')); + currentSlot=el('div','studio-current studio-preview-slot'); currentSlot.appendChild(styles.preview(profile.user,profile.amount,options.getTheme(profile.user))); workbench.appendChild(currentSlot); + workbench.appendChild(el('div','studio-magic-arrow','↓ a little magic ↓')); + workbench.appendChild(el('h2','','Your new button')); + newSlot=el('div','studio-new studio-preview-slot'); workbench.appendChild(newSlot); + workbench.appendChild(el('span','studio-live','● LIVE PREVIEW')); + workbench.appendChild(hint('Same name. Same balance. All your personality.')); + var resets=el('div','studio-draft-actions'); + resets.appendChild(button('↶ Revert changes','studio-small-button',function() { draft=styles.copy(current); renderEditor(); changed(); })); + resets.appendChild(button('Start fresh','studio-small-button',function() { draft=styles.defaults(profile.user); renderEditor(); changed(); })); + workbench.appendChild(resets); + workbench.appendChild(el('div','studio-sticker','100% YOU\n0% BORING')); + main.appendChild(workbench); + var editing=el('section','studio-editing'); + var tablist=el('div','studio-tabs'); tablist.setAttribute('role','tablist'); tablist.setAttribute('aria-label','Button design tools'); + tabs=['Background','Lettering','Icon'].map(function(name,index) { + var tab=button(['🎨 Background','🔤 Lettering','🖼️ Icon'][index],'studio-tab',function() { selectedTab=name; renderEditor(); }); + tab.id='Studio-tab-'+name; tab.dataset.tab=name; tab.setAttribute('role','tab'); tab.setAttribute('aria-controls','Studio-editor'); + tab.addEventListener('keydown',function(event) { + if(!['ArrowRight','ArrowLeft','Home','End'].includes(event.key)) return; + event.preventDefault(); + var next=event.key === 'Home' ? 0 : (event.key === 'End' ? 2 : (index+(event.key === 'ArrowRight' ? 1 : 2))%3); + tabs[next].click(); tabs[next].focus(); + }); + tablist.appendChild(tab); return tab; + }); + editing.appendChild(tablist); + controls=el('fieldset','studio-controls'); + editor=el('div','studio-editor'); editor.id='Studio-editor'; editor.setAttribute('role','tabpanel'); + controls.appendChild(editor); editing.appendChild(controls); + var scrollTools=el('div','studio-scroll-tools'); + scrollTools.appendChild(hint('More room for more magic')); + scrollTools.appendChild(button('↑ Scroll up','studio-small-button',function() { editor.scrollBy({top:-editor.clientHeight*.75,behavior:'smooth'}); })); + scrollTools.appendChild(button('Scroll down ↓','studio-small-button',function() { editor.scrollBy({top:editor.clientHeight*.75,behavior:'smooth'}); })); + editing.appendChild(scrollTools); main.appendChild(editing); dialog.appendChild(main); + var footer=el('footer','studio-footer'); + var notes=el('div','studio-save-note'); status=el('p','studio-status'); status.setAttribute('role','status'); notes.appendChild(status); + notes.appendChild(hint('Saved on this bar, shared with its terminals. Images stay in the bar’s private data.')); + retry=button('Try loading again','studio-small-button',function() { request(); }); notes.appendChild(retry); + footer.appendChild(notes); footer.appendChild(button('Cancel','studio-cancel',close)); + save=button('✦ Use my new button','studio-save',function() { + var invalid=Array.from(editor.querySelectorAll('input')).find(function(input) { return !input.checkValidity(); }); + if(invalid) { invalid.reportValidity(); return; } + if(draft.icon.kind === 'image' && !draft.icon.image) { selectedTab='Icon'; renderEditor(); message('Choose an image, or select “No icon”, before saving.'); return; } + request(draft); + }); + footer.appendChild(save); dialog.appendChild(footer); + dialog.addEventListener('click',function(event) { event.stopPropagation(); }); + dialog.addEventListener('keydown',function(event) { event.stopPropagation(); }); + dialog.addEventListener('cancel',function(event) { event.preventDefault(); close(); }); + dialog.addEventListener('paste',function(event) { + var item=Array.from(event.clipboardData.items).find(function(part) { return part.kind === 'file' && part.type.startsWith('image/'); }); + if(item) { event.preventDefault(); loadImage(item.getAsFile()); } + }); + document.body.appendChild(dialog); renderEditor(); preview(); refreshButtons(); dialog.showModal(); request(); + } + return {open:open,receive:receive,isOpen:function() { return !!dialog; }}; + } + window.HackBankButtonStudio={create:create}; +})(window, document); diff --git a/www/kassa-button-styles.js b/www/kassa-button-styles.js new file mode 100644 index 0000000..5bb5a95 --- /dev/null +++ b/www/kassa-button-styles.js @@ -0,0 +1,125 @@ +(function(window, document) { + var FONTS={system:'system-ui, sans-serif',rounded:'"Arial Rounded MT Bold", "Trebuchet MS", sans-serif', + comic:'"Comic Sans MS", "Comic Sans", cursive',mono:'ui-monospace, "Courier New", monospace', + serif:'Georgia, "Times New Roman", serif',condensed:'Impact, "Arial Narrow", sans-serif'}; + var SYMBOLS={key:'🔑',star:'★',bolt:'ϟ',heart:'♥',smile:'☺'}; + function copy(value) { return JSON.parse(JSON.stringify(value)); } + function gradient(colors,angle) { + return {angle:angle,stops:colors.map(function(color,index) { return {color:color,position:index*100/(colors.length-1)}; })}; + } + function base() { + return {version:1,background:{kind:'solid',color:'#e7edf3',gradient:gradient(['#7760db','#f080b5'],135),speed:24,intensity:65}, + text:{color:'#263e52',gradient:null,size:17,font:'system',weight:700,angle:0,rotation:0}, + icon:{kind:'none',image:'',size:36,rotation:0}}; + } + var PRESETS=[ + {name:'Blue glitter',emoji:'✨',kind:'glitter',colors:['#102b65','#285c9d','#142e6b'],text:'#ffffff'}, + {name:'Cosmic plasma',emoji:'🪐',kind:'plasma',colors:['#251055','#fa228c','#04d9d2'],text:'#ffffff'}, + {name:'Candy shop',emoji:'🍬',kind:'gradient',colors:['#fdc5de','#c9b5ff','#a5e4f2'],text:'#38254e'}, + {name:'Sunset',emoji:'🌅',kind:'gradient',colors:['#fead63','#ee6f98','#7c5bd4'],text:'#ffffff'}, + {name:'Blue & yellow',emoji:'💙',kind:'gradient',colors:['#0057b7','#0057b7','#ffd700','#ffd700'],text:'#ffffff'}, + {name:'Fresh paint',emoji:'🎨',kind:'solid',colors:['#6088b0','#9bb9d7'],text:'#ffffff'}, + ]; + function preset(index) { + var definition=PRESETS[index]; + var theme=base(); + theme.background.kind=definition.kind; + theme.background.color=definition.colors[0]; + theme.background.gradient=gradient(definition.colors,135); + theme.text.color=definition.text; + if(index === 4) theme.background.gradient={angle:180,stops:[{color:'#0057b7',position:0},{color:'#0057b7',position:50},{color:'#ffd700',position:50},{color:'#ffd700',position:100}]}; + return theme; + } + function defaults(user) { + switch(user.toLowerCase()) { + case 'stitch': return preset(5); + case 'bugblue': return preset(0); + case 'anus': return preset(1); + case 'nino': return preset(4); + case 'jos': { + var theme=base(); + theme.background.kind='gradient'; + theme.background.gradient=gradient(['#263649','#182533'],120); + theme.text.color='#fff8e7'; + theme.icon.kind='key'; + return theme; + } + default: return base(); + } + } + function cssGradient(value) { + return 'linear-gradient('+value.angle+'deg, '+value.stops.slice().sort(function(a,b) { return a.position-b.position; }).map(function(stop) { + return stop.color+' '+stop.position+'%'; + }).join(', ')+')'; + } + function node(tag,className) { + var element=document.createElement(tag); + element.className=className; + return element; + } + function apply(button,user,design) { + var theme=design || defaults(user); + var label=button.querySelector('.Buttontext'); + if(!label) return; + button.appendChild(label); + button.querySelectorAll('.magic-layer, .magic-label, .magic-icon').forEach(function(element) { element.remove(); }); + button.classList.add('magic-button'); + button.classList.toggle('magic-neutral',!design && !['stitch','bugblue','anus','nino','jos'].includes(user.toLowerCase())); + button.setAttribute('data-button-user',user); + var background=theme.background; + var layer=node('span','magic-layer magic-'+background.kind); + layer.setAttribute('aria-hidden','true'); + layer.style.background=background.kind === 'solid' ? background.color : cssGradient(background.gradient); + layer.style.setProperty('--magic-speed',background.speed+'s'); + layer.style.setProperty('--magic-power',background.intensity/100); + background.gradient.stops.slice(0,3).forEach(function(stop,index) { layer.style.setProperty('--magic-color-'+index,stop.color); }); + if(background.gradient.stops.length < 3) layer.style.setProperty('--magic-color-2',background.gradient.stops[0].color); + button.prepend(layer); + button.style.setProperty('--magic-ink',theme.text.color); + button.style.setProperty('--magic-font',FONTS[theme.text.font] || FONTS.system); + button.style.setProperty('--magic-size',theme.text.size+'px'); + button.style.setProperty('--magic-weight',theme.text.weight); + if(theme.icon.kind !== 'none') { + var icon=node('span','magic-icon'); + icon.setAttribute('aria-hidden','true'); + icon.style.width=theme.icon.size+'px'; + icon.style.height=theme.icon.size+'px'; + icon.style.flexBasis=theme.icon.size+'px'; + var picture; + if(theme.icon.kind === 'image') { + picture=node('img','magic-icon-image'); + picture.src=theme.icon.image; picture.alt=''; + } else { + picture=node('span','magic-symbol'); + picture.textContent=SYMBOLS[theme.icon.kind] || ''; + picture.style.fontSize=theme.icon.size+'px'; + } + if(theme.icon.rotation) { picture.classList.add('magic-spin'); picture.style.animationDuration=theme.icon.rotation+'s'; } + icon.appendChild(picture); + button.appendChild(icon); + } + var frame=node('span','magic-label'); + var angle=node('span','magic-angle'); + angle.style.transform='rotate('+theme.text.angle+'deg)'; + label.style.fontSize=''; + label.style.animationDuration=theme.text.rotation+'s'; + label.classList.toggle('magic-spin',theme.text.rotation > 0); + label.classList.toggle('magic-text-gradient',!!theme.text.gradient); + label.style.backgroundImage=theme.text.gradient ? cssGradient(theme.text.gradient) : ''; + angle.appendChild(label); frame.appendChild(angle); button.appendChild(frame); + var balance=button.querySelector('.extra'); + if(balance) button.appendChild(balance); + } + function preview(user,amount,theme) { + var button=node('div','Knopje Knop account magic-preview'); + button.setAttribute('role','img'); + button.setAttribute('aria-label',user+' button preview'); + var label=node('span','Buttontext'); label.textContent=user; + var balance=node('span','extra'+(amount < -13.37 ? ' rood' : (amount < 0 ? ' orange' : ''))); + balance.textContent=Number(amount).toFixed(2); + button.appendChild(label); button.appendChild(balance); + apply(button,user,theme); + return button; + } + window.HackBankButtonStyles={apply:apply,preview:preview,defaults:defaults,copy:copy,gradient:gradient,cssGradient:cssGradient,preset:preset,presets:PRESETS,fonts:FONTS}; +})(window, document); diff --git a/www/kassa-buttons.js b/www/kassa-buttons.js index 76981fd..e96d631 100644 --- a/www/kassa-buttons.js +++ b/www/kassa-buttons.js @@ -117,7 +117,6 @@ var isNonMember = nonmembers.indexOf(user) !== -1; var amount = accounts[user].amount; var extraclass = user; - var theme = {jos: 'lockpicker', nino: 'ukraine', anus: 'plasma'}[user.toLowerCase()]; if( !((isMember && type === 'm') || @@ -135,7 +134,7 @@ buttons.push({ text: user, display: user, - class: "account account-" + cssSafeClassName(user) + (theme ? " account-theme-" + theme : ""), + class: "account account-" + cssSafeClassName(user), rightclass: extraclass, right: amount.toFixed(2), fill: true, diff --git a/www/kassa-textfill.js b/www/kassa-textfill.js index 067261f..e583fdb 100644 --- a/www/kassa-textfill.js +++ b/www/kassa-textfill.js @@ -1,5 +1,6 @@ (function(window) { function textfillElement(element, options) { + if(element.closest && element.closest('.magic-button')) return element; var parent = element.parentElement; if(!parent || !parent.clientWidth || !parent.clientHeight) return element; diff --git a/www/post.php b/www/post.php index 47fe94f..0837606 100644 --- a/www/post.php +++ b/www/post.php @@ -21,13 +21,14 @@ function request_string($key, $max_length) { require_once(__DIR__."/config.php"); $topic = request_string("topic", 128); -if (!isset($_REQUEST["msg"]) || !is_string($_REQUEST["msg"]) || strlen($_REQUEST["msg"]) > 512) { +if (!preg_match('/^session\/[A-Za-z0-9_-]{1,64}\/(input|sound_settings|button_studio)$/', $topic)) { + fail_request("Invalid topic"); +} +$max_length = str_ends_with($topic, '/button_studio') ? 160 * 1024 : 512; +if (!isset($_REQUEST["msg"]) || !is_string($_REQUEST["msg"]) || strlen($_REQUEST["msg"]) > $max_length) { fail_request("Invalid msg"); } $msg = $_REQUEST["msg"]; -if (!preg_match('/^session\/[A-Za-z0-9_-]{1,64}\/(input|sound_settings)$/', $topic)) { - fail_request("Invalid topic"); -} require("phpMQTT.php"); use Bluerhinos\phpMQTT; diff --git a/www/stom.css b/www/stom.css index aae2520..f875eaa 100644 --- a/www/stom.css +++ b/www/stom.css @@ -196,57 +196,34 @@ iframe { display: block; border: 0; } .account-list .Knop { justify-content: space-between; gap: 10px; min-height: var(--account-row-height); padding: 8px 12px; border-top: 1px solid var(--line); font-size: 17px; text-align: left; overflow: hidden; } .account-list .Knop .Buttontext { flex: 1 1 auto; width: auto; min-width: 0; } .account-list .Knop .extra { position: static; flex: 0 0 auto; max-width: 45%; width: auto; margin-left: auto; padding: 4px 8px; font-size: 14px; } -.account-icon { display: block; flex: 0 0 32px; width: 32px; height: 32px; object-fit: contain; pointer-events: none; } -.account-icon svg { display: block; width: 100%; height: 100%; } -.key-icon { color: #ffdc87; } -/* Personal account themes are presentation only; balances keep their meaning. */ -.Knop.account-stitch { border-color: #6088B0; background-color: #6088B0; color: #fff; font-weight: 750; } -.Knop.account-stitch:hover { border-color: #b9dfff; background-color: #6088B0; box-shadow: 0 4px 14px #254a7030; } -.account-stitch .Buttontext { text-shadow: 0 1px 1px #1c3b5e60; } -.Knop.account-BugBlue { - border-color: #315fb0; - background-color: #153a79; - background-image: - radial-gradient(circle, #fff 0 .6px, transparent 1.3px), - radial-gradient(circle, #b4e7ffcc 0 .7px, transparent 1.4px), - radial-gradient(circle, #69b5ff99 0 1px, transparent 1.7px), - radial-gradient(circle, #d4c6ff99 0 .5px, transparent 1.2px), - linear-gradient(115deg, #102b65, #285c9d 45%, #16477f 65%, #142e6b); - background-size: 13px 17px, 23px 19px, 17px 29px, 31px 23px, 200% 100%; - background-repeat: repeat, repeat, repeat, repeat, no-repeat; - color: #fff; - animation: blue-glitter 24s ease-in-out infinite alternate; -} -.Knop.account-BugBlue:hover { border-color: #a7d4ff; background-color: #153a79; box-shadow: 0 4px 14px #214b8e30; } -.account-BugBlue .Buttontext { text-shadow: 0 1px 3px #061a43; } -.account:is(.account-stitch, .account-BugBlue) .extra { color: #fff; background: #102c58b3; } -.account:is(.account-stitch, .account-BugBlue) .extra.rood { color: #a33342; background: #fce6e9; } -.account:is(.account-stitch, .account-BugBlue) .extra.orange { color: #8b5512; background: #fff0d9; } -.Knop.account-theme-lockpicker { border-color: #b59554; background: linear-gradient(120deg, #263649, #182533); color: #fff8e7; font-weight: 750; } -.Knop.account-theme-lockpicker:hover { border-color: #ffdc87; } -.Knop.account-theme-ukraine { border-color: #3770b4; background: linear-gradient(to bottom, #0057b7 0 50%, #ffd700 50% 100%); color: #102d48; font-weight: 750; } -.account-theme-ukraine .Buttontext { padding: 5px 8px; border-radius: 5px; background: #fffdf3f2; } -.account-theme-ukraine .extra { color: #102d48; background: #fffdf3; } -.Knop.account-theme-plasma { isolation: isolate; border-color: #835ee8; background: #20114d; color: #fff; font-weight: 750; } -.account-theme-plasma::before, .account-theme-plasma::after { content: ""; position: absolute; inset: -90%; z-index: 0; pointer-events: none; } -.account-theme-plasma::before { - background: radial-gradient(ellipse at 25% 35%, #fa228c 0, transparent 48%), radial-gradient(ellipse at 80% 70%, #04e9e2 0, transparent 48%), radial-gradient(ellipse at 65% 10%, #9951ff 0, #251055 65%); - filter: blur(9px); - animation: plasma-flow 16s ease-in-out infinite alternate; -} -.account-theme-plasma::after { - background: repeating-radial-gradient(ellipse at 50% 20%, #32cfed99 0, #9548ed77 12%, #f45b9955 24%, transparent 36%); - mix-blend-mode: screen; - opacity: .65; - filter: blur(7px); - animation: plasma-flow 23s ease-in-out -7s infinite alternate-reverse; -} -.account-theme-plasma > * { position: relative; z-index: 1; } -.account-theme-plasma .Buttontext { padding: 5px 8px; border-radius: 5px; background: #100c3dcc; text-shadow: 0 1px 3px #09051c; } -.account:is(.account-theme-lockpicker, .account-theme-plasma) .extra { color: #fff; background: #131b3dcc; } -.account:is(.account-theme-lockpicker, .account-theme-ukraine, .account-theme-plasma) .extra.rood { color: #a33342; background: #fce6e9; } -.account:is(.account-theme-lockpicker, .account-theme-ukraine, .account-theme-plasma) .extra.orange { color: #8b5512; background: #fff0d9; } +/* Every personal design is painted inside its own clipped button. */ +.magic-button { isolation: isolate; overflow: hidden; gap: 10px; } +.studio-launch { border-color: #baa4dc; color: #704ab1; background: #f0e7ff; } +.dark-mode .studio-launch { border-color: #8c72ba; color: #e3d2ff; background: #40304f; } +.magic-button > .magic-layer { position: absolute; inset: 0; z-index: -1; pointer-events: none; } +.magic-layer::before, .magic-layer::after { content: ""; position: absolute; pointer-events: none; } +.magic-glitter::before { inset: 0; opacity: var(--magic-power); background-image: radial-gradient(circle, #fff 0 .7px, transparent 1.5px), radial-gradient(circle, #bceaff 0 .8px, transparent 1.7px), radial-gradient(circle, #fff9ce 0 .6px, transparent 1.3px); background-size: 13px 17px, 23px 19px, 31px 29px; animation: magic-glitter var(--magic-speed) linear infinite alternate; } +.magic-glitter::after { inset: -100%; opacity: calc(var(--magic-power) * .35); background: linear-gradient(110deg, transparent 35%, #ffffffb0 50%, transparent 65%); animation: magic-shimmer var(--magic-speed) ease-in-out infinite; } +.magic-plasma::before { inset: -80%; opacity: var(--magic-power); background: radial-gradient(ellipse at 25% 35%, var(--magic-color-1) 0, transparent 48%), radial-gradient(ellipse at 80% 70%, var(--magic-color-2, #04d9d2) 0, transparent 48%), radial-gradient(ellipse at 65% 10%, var(--magic-color-0) 0, transparent 65%); filter: blur(8px); animation: plasma-flow var(--magic-speed) ease-in-out infinite alternate; } +.magic-plasma::after { inset: -80%; opacity: calc(var(--magic-power) * .7); background: repeating-radial-gradient(ellipse at 50% 20%, var(--magic-color-2, #04d9d2) 0, var(--magic-color-1) 12%, transparent 30%); mix-blend-mode: screen; filter: blur(7px); animation: plasma-flow calc(var(--magic-speed) * 1.4) ease-in-out -7s infinite alternate-reverse; } +.magic-button .magic-label { display: flex; flex: 1 1 0; justify-content: flex-start; min-width: 0; z-index: 1; pointer-events: none; } +.magic-angle { display: block; max-width: 100%; } +.magic-button .Buttontext { display: block; width: auto; color: var(--magic-ink); font-family: var(--magic-font); font-size: var(--magic-size); font-weight: var(--magic-weight); line-height: 1.15; } +.magic-button .magic-text-gradient { color: transparent !important; background-clip: text; -webkit-background-clip: text; } +.magic-icon { position: relative; display: flex; flex-shrink: 0; align-items: center; justify-content: center; overflow: hidden; border-radius: 8px; pointer-events: none; z-index: 1; } +.magic-icon-image { display: block; width: 100%; height: 100%; object-fit: cover; } +.magic-symbol { display: block; line-height: 1; color: var(--magic-ink); } +.magic-spin { animation: magic-spin linear infinite; transform-origin: center; } +.magic-button .extra { position: relative; z-index: 2; flex: 0 0 auto; margin-left: auto; background: #f1f6f2ee; color: #234f3c; } +.magic-button .extra.rood { color: #a33342; background: #fce6e9; } +.magic-button .extra.orange { color: #8b5512; background: #fff0d9; } +.magic-neutral .magic-layer { background: #e7edf3 !important; } +.dark-mode .magic-neutral .magic-layer { background: #233448 !important; } +.dark-mode .magic-neutral .Buttontext { color: #e1eaf3; } +@keyframes magic-spin { to { transform: rotate(360deg); } } +@keyframes magic-glitter { to { background-position: 47px 31px, -23px 41px, 31px -29px; } } +@keyframes magic-shimmer { 0%, 20% { transform: translateX(-35%); } 80%, 100% { transform: translateX(35%); } } .Knopje.abort:not(.topknop), .Knopje.remove { color: #a33342; border-color: #edc9ce; background: #fff1f2; } .Knopje.ok, .Knopje.enter, .Knopje.knopjes, .Knopje.back { color: #194d3a; border-color: #b9d9c7; background: #dff0e7; } .Knopje.undo, .Knopje.restore { color: #815715; border-color: #ead9b9; background: #fff4df; } @@ -419,7 +396,7 @@ body.dark-mode { --ink: #e1eaf3; --muted: #a4b6c9; --line: #3a4b60; --panel: #19 .dark-mode .receipt-columns, .dark-mode .receipt-footer, .dark-mode .receipt-currency, .dark-mode .eyebrow, .dark-mode .receipt-empty, .dark-mode .welcome { color: #b0c1d0; } .dark-mode .receipt-empty strong { color: #c7d8e6; } .dark-mode .receipt-barcode { filter: brightness(3); } -.dark-mode .Knopje:where(:not(.topknop, .account-stitch, .account-BugBlue, .account-theme-lockpicker, .account-theme-ukraine, .account-theme-plasma)), +.dark-mode .Knopje:where(:not(.topknop, .magic-button)), .dark-mode .command-section, .dark-mode .purchase-row, .dark-mode .audio-volume-card, .dark-mode .mylines, .dark-mode .lines, .dark-mode .infoboxes .Userline { color: #e1eaf3; background-color: #233448; border-color: #40546a; } .dark-mode .command-section h2, .dark-mode .audio-volume-label, .dark-mode .audio-volume-value, .dark-mode .audio-status { color: #b8cee3; } .dark-mode .command-tab, .dark-mode .archive-tab, .dark-mode .profile-action, .dark-mode .setting-toggle { color: #d9e5ef; background: #26394d; border-color: #445d73; } @@ -454,10 +431,6 @@ body.dark-mode { --ink: #e1eaf3; --muted: #a4b6c9; --line: #3a4b60; --panel: #19 .reorder-purchase { width: 100%; } .settings-grid { grid-template-columns: 1fr; } } -@keyframes blue-glitter { - from { background-position: 0 0, 8px 3px, 3px 11px, 15px 7px, 0 50%; } - to { background-position: 13px 17px, -15px 22px, 20px -18px, -16px 30px, 100% 50%; } -} @keyframes plasma-flow { from { transform: translate(-7%, -4%) rotate(-15deg) scale(1); filter: blur(9px) hue-rotate(0deg); } to { transform: translate(7%, 6%) rotate(30deg) scale(1.25); filter: blur(9px) hue-rotate(100deg); } diff --git a/www/stream.php b/www/stream.php index a8302eb..25207c8 100644 --- a/www/stream.php +++ b/www/stream.php @@ -43,6 +43,7 @@ function procmsg($topic,$msg){ } $topics['hack42bar/output/session/'.$session.'/#'] = array("qos"=>0, "function"=>"procmsg"); $topics['hack42bar/output/settings/sounds'] = array("qos"=>0, "function"=>"procmsg"); +$topics['hack42bar/output/settings/buttons/+'] = array("qos"=>0, "function"=>"procmsg"); $mqtt->subscribe($topics,0); echo "retry: 1000\n"; echo "data: ".json_encode(array("startup","1"))."\n\n"; From 82d2873bef2103e04fbd4a8f501714f0e2897079 Mon Sep 17 00:00:00 2001 From: stitch1 Date: Sun, 18 Oct 2026 11:43:54 +0200 Subject: [PATCH 14/25] Add label backdrops and consistent account button borders --- README.md | 3 ++ button_themes.py | 19 +++++++++- tests/js/browser-smoke.test.js | 6 +++ tests/js/kassa-button-styles.test.js | 2 + tests/test_button_themes.py | 55 ++++++++++++++++++++++++++++ www/index.html | 26 ++++++------- www/kassa-button-studio.js | 15 ++++++++ www/kassa-button-styles.js | 25 ++++++++++--- www/stom.css | 9 +++-- 9 files changed, 137 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index 5c2ca71..5728800 100644 --- a/README.md +++ b/README.md @@ -189,6 +189,9 @@ and a full 360° angle, glitter, and plasma. Effect speed and intensity are adjustable. Lettering has colour or a separate gradient, six system font stacks, size, weight, a fixed angle and optional continuous rotation. Icons can be built-in symbols or a personal image, with size and rotation controls. +Lettering also has an optional label backdrop with its own colour, opacity, +padding and corner rounding. It follows text rotation and supports gradient +letters. Older saved designs continue to load with the backdrop off. The native colour picker and six-digit hex fields work together. Large scroll buttons also work on the bar's touch screen without swipe gestures. diff --git a/button_themes.py b/button_themes.py index cdf80f9..b4e8042 100644 --- a/button_themes.py +++ b/button_themes.py @@ -83,6 +83,18 @@ def icon_image(value): return value +def label_backdrop(value): + if value is None: + return None + fields(value, "color opacity padding radius") + return { + "color": color(value["color"]), + "opacity": number(value["opacity"], 0, 100), + "padding": number(value["padding"], 0, 12), + "radius": number(value["radius"], 0, 20), + } + + def validate_theme(value): fields(value, "version background text icon") if ( @@ -92,7 +104,11 @@ def validate_theme(value): ): raise ValueError("Unknown button design version.") background = fields(value["background"], "kind color gradient speed intensity") - text = fields(value["text"], "color gradient size font weight angle rotation") + # Existing version-1 designs predate configurable label backdrops. + text = value["text"] + if isinstance(text, dict): + text = {"backdrop": None, **text} + text = fields(text, "color gradient size font weight angle rotation backdrop") icon = fields(value["icon"], "kind image size rotation") image = icon_image(icon["image"]) kind = choice(icon["kind"], ICONS) @@ -119,6 +135,7 @@ def validate_theme(value): "weight": number(text["weight"], 400, 900), "angle": number(text["angle"], 0, 360), "rotation": number(text["rotation"], 0, 60), + "backdrop": label_backdrop(text["backdrop"]), }, "icon": { "kind": kind, diff --git a/tests/js/browser-smoke.test.js b/tests/js/browser-smoke.test.js index d8cf956..400448d 100644 --- a/tests/js/browser-smoke.test.js +++ b/tests/js/browser-smoke.test.js @@ -294,14 +294,18 @@ test("button studio previews locally, saves one user's design and cancels withou document.querySelector('#Studio-tab-Lettering').click(); var size=Array.from(dialog.querySelectorAll('input')).find(function(el) { return el.getAttribute('aria-label')==='Font size value'; }); size.value='30'; size.dispatchEvent(new Event('input')); + var backdrop=Array.from(dialog.querySelectorAll('select')).find(function(el) { return el.labels[0].textContent==='Label backdrop'; }); + backdrop.value='on'; backdrop.dispatchEvent(new Event('change')); result.currentUnchanged=current===dialog.querySelector('.studio-current').innerHTML; result.livePlasma=!!dialog.querySelector('.studio-new .magic-plasma'); + result.liveBackdrop=!!dialog.querySelector('.studio-new .has-label-backdrop'); result.previewSize=getComputedStyle(dialog.querySelector('.studio-new .Buttontext')).fontSize; var postsBefore=requests.length; dialog.querySelector('.studio-save').click(); await wait(900); result.savedExactlyOnce=requests.length===postsBefore+1; document.querySelector('#members').click(); result.savedFontSize=getComputedStyle(document.querySelector('#stitch .Buttontext')).fontSize; + result.savedBackdrop=!!document.querySelector('#stitch .has-label-backdrop'); result.otherUnchanged=other===document.querySelector('#BugBlue').innerHTML; result.bounded=getComputedStyle(document.querySelector('#stitch')).overflow==='hidden'; send('infobox/account',{user:'stitch',amount:10,purchases:[],history_available:true,undo_transaction:null}); @@ -327,8 +331,10 @@ test("button studio previews locally, saves one user's design and cancels withou assert.equal(data.error,undefined,JSON.stringify(data)); assert.equal(data.currentUnchanged,true); assert.equal(data.livePlasma,true); + assert.equal(data.liveBackdrop,true); assert.equal(data.previewSize,'30px'); assert.equal(data.savedFontSize,'30px'); + assert.equal(data.savedBackdrop,true); assert.equal(data.savedExactlyOnce,true); assert.equal(data.otherUnchanged,true); assert.equal(data.bounded,true); diff --git a/tests/js/kassa-button-styles.test.js b/tests/js/kassa-button-styles.test.js index e08034f..5125306 100644 --- a/tests/js/kassa-button-styles.test.js +++ b/tests/js/kassa-button-styles.test.js @@ -23,8 +23,10 @@ test('each user gets an independent editable copy of their existing theme',()=>{ assert.equal(styles.defaults('bugblue').background.kind,'glitter'); assert.equal(styles.defaults('BugBlue').background.gradient.stops[0].color,'#102b65'); assert.equal(styles.defaults('Anus').background.kind,'plasma'); + assert.equal(styles.defaults('Anus').text.backdrop.color,'#100c3d'); assert.equal(styles.defaults('Jos').icon.kind,'key'); assert.equal(styles.defaults('nino').background.gradient.stops[1].position,50); + assert.equal(styles.defaults('nino').text.backdrop.color,'#fffdf3'); }); test('stitch keeps blue paint and bold white text with no bundled icon',()=>{ const theme=load().defaults('stitch'); diff --git a/tests/test_button_themes.py b/tests/test_button_themes.py index f1adde5..48b96dc 100644 --- a/tests/test_button_themes.py +++ b/tests/test_button_themes.py @@ -117,6 +117,61 @@ def test_gradients_validate_stops_and_do_not_mutate_the_input(theme): validate_theme(theme) +def test_older_saved_designs_load_without_rewriting_or_losing_their_settings( + tmp_path, theme +): + store = ButtonThemes(tmp_path / "buttons.json") + store.path.write_text(json.dumps({"stitch": theme})) + before = store.path.read_bytes() + loaded = store.all()["stitch"] + assert loaded["text"]["backdrop"] is None + assert { + key: value for key, value in loaded["text"].items() if key != "backdrop" + } == theme["text"] + assert store.path.read_bytes() == before + + +def test_backdrops_save_and_reload_with_gradient_and_rotating_text(tmp_path, theme): + store = ButtonThemes(tmp_path / "buttons.json") + theme["text"]["backdrop"] = { + "color": "#FFFFFF", + "opacity": 65, + "padding": 6, + "radius": 12, + } + theme["text"]["gradient"] = deepcopy(theme["background"]["gradient"]) + store.save("stitch", theme) + saved = ButtonThemes(store.path).all()["stitch"]["text"] + assert saved["backdrop"] == { + "color": "#ffffff", + "opacity": 65, + "padding": 6, + "radius": 12, + } + assert saved["rotation"] == theme["text"]["rotation"] + assert saved["gradient"]["angle"] == theme["text"]["gradient"]["angle"] + theme["text"]["backdrop"] = None + store.save("stitch", theme) + assert store.all()["stitch"]["text"]["backdrop"] is None + + +@pytest.mark.parametrize( + "property_name,value", + [ + ("color", "url(https://example.test/image)"), + ("opacity", 101), + ("padding", -1), + ("radius", 21), + ], +) +def test_invalid_backdrop_settings_are_rejected(theme, property_name, value): + backdrop = {"color": "#ffffff", "opacity": 65, "padding": 6, "radius": 12} + backdrop[property_name] = value + theme["text"]["backdrop"] = backdrop + with pytest.raises(ValueError): + validate_theme(theme) + + @pytest.mark.parametrize("stop_count", [0, 1, 7]) def test_gradient_stop_counts_are_bounded(theme, stop_count): theme["background"]["gradient"]["stops"] = [ diff --git a/www/index.html b/www/index.html index 9ac4043..4d07ffc 100644 --- a/www/index.html +++ b/www/index.html @@ -6,19 +6,19 @@ Hack42 - HackBank - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/www/kassa-button-studio.js b/www/kassa-button-studio.js index 36bf844..47e5349 100644 --- a/www/kassa-button-studio.js +++ b/www/kassa-button-studio.js @@ -146,6 +146,21 @@ }); if(draft.text.gradient) gradient(editor,draft.text.gradient,'Text gradient'); else color(editor,'Text',draft.text.color,function(value) { draft.text.color=value; }); + var backdrop=el('section','studio-gradient'); + backdrop.appendChild(el('h3','','A little contrast for your letters')); + select(backdrop,'Label backdrop',draft.text.backdrop ? 'on' : 'off',{off:'No backdrop',on:'Colour backdrop'},function(value) { + draft.text.backdrop=value === 'on' ? {color:'#100c3d',opacity:75,padding:5,radius:5} : null; + renderEditor(); + }); + if(draft.text.backdrop) { + color(backdrop,'Backdrop colour',draft.text.backdrop.color,function(value) { draft.text.backdrop.color=value; }); + range(backdrop,'Backdrop opacity',draft.text.backdrop.opacity,0,100,'%',function(value) { draft.text.backdrop.opacity=value; }); + var backdropShape=el('div','studio-field-grid'); + range(backdropShape,'Backdrop padding',draft.text.backdrop.padding,0,12,'px',function(value) { draft.text.backdrop.padding=value; }); + range(backdropShape,'Backdrop rounding',draft.text.backdrop.radius,0,20,'px',function(value) { draft.text.backdrop.radius=value; }); + backdrop.appendChild(backdropShape); + } + editor.appendChild(backdrop); } function loadImage(file) { if(!file || !/^image\/(png|jpeg|gif|webp)$/.test(file.type)) { message('Choose a PNG, JPEG, GIF or WebP image.'); return; } diff --git a/www/kassa-button-styles.js b/www/kassa-button-styles.js index 5bb5a95..5d72371 100644 --- a/www/kassa-button-styles.js +++ b/www/kassa-button-styles.js @@ -9,7 +9,7 @@ } function base() { return {version:1,background:{kind:'solid',color:'#e7edf3',gradient:gradient(['#7760db','#f080b5'],135),speed:24,intensity:65}, - text:{color:'#263e52',gradient:null,size:17,font:'system',weight:700,angle:0,rotation:0}, + text:{color:'#263e52',gradient:null,size:17,font:'system',weight:700,angle:0,rotation:0,backdrop:null}, icon:{kind:'none',image:'',size:36,rotation:0}}; } var PRESETS=[ @@ -27,7 +27,12 @@ theme.background.color=definition.colors[0]; theme.background.gradient=gradient(definition.colors,135); theme.text.color=definition.text; - if(index === 4) theme.background.gradient={angle:180,stops:[{color:'#0057b7',position:0},{color:'#0057b7',position:50},{color:'#ffd700',position:50},{color:'#ffd700',position:100}]}; + if(index === 1) theme.text.backdrop={color:'#100c3d',opacity:80,padding:5,radius:5}; + if(index === 4) { + theme.background.gradient={angle:180,stops:[{color:'#0057b7',position:0},{color:'#0057b7',position:50},{color:'#ffd700',position:50},{color:'#ffd700',position:100}]}; + theme.text.color='#102d48'; + theme.text.backdrop={color:'#fffdf3',opacity:95,padding:5,radius:5}; + } return theme; } function defaults(user) { @@ -101,12 +106,22 @@ var frame=node('span','magic-label'); var angle=node('span','magic-angle'); angle.style.transform='rotate('+theme.text.angle+'deg)'; + var name=node('span','magic-name'); + var backdrop=theme.text.backdrop; + if(backdrop) { + name.classList.add('has-label-backdrop'); + name.style.setProperty('--label-backdrop-color',backdrop.color); + name.style.setProperty('--label-backdrop-opacity',backdrop.opacity/100); + name.style.setProperty('--label-backdrop-padding',backdrop.padding+'px'); + name.style.setProperty('--label-backdrop-radius',backdrop.radius+'px'); + } label.style.fontSize=''; - label.style.animationDuration=theme.text.rotation+'s'; - label.classList.toggle('magic-spin',theme.text.rotation > 0); + label.classList.remove('magic-spin'); + label.style.animationDuration=''; + if(theme.text.rotation) { name.classList.add('magic-spin'); name.style.animationDuration=theme.text.rotation+'s'; } label.classList.toggle('magic-text-gradient',!!theme.text.gradient); label.style.backgroundImage=theme.text.gradient ? cssGradient(theme.text.gradient) : ''; - angle.appendChild(label); frame.appendChild(angle); button.appendChild(frame); + name.appendChild(label); angle.appendChild(name); frame.appendChild(angle); button.appendChild(frame); var balance=button.querySelector('.extra'); if(balance) button.appendChild(balance); } diff --git a/www/stom.css b/www/stom.css index f875eaa..487ed10 100644 --- a/www/stom.css +++ b/www/stom.css @@ -165,9 +165,7 @@ iframe { display: block; border: 0; } .Knop:has(.extra) { justify-content: flex-start; padding-top: 10px; padding-bottom: 30px; text-align: left; } .Knop .Buttontext { display: -webkit-box; width: 100%; max-height: 2.4em; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; } .account { background-position: center; background-repeat: no-repeat; background-size: cover; } -.account:has(.extra) { border-top: 2px solid #cfdbdf; } .account .Buttontext { text-shadow: none; } -.account:hover { border-color: #bb9763; background-color: #fffaf2; } .productgroups { justify-content: flex-start; text-align: left; border-color: #e7dbca; background: #fffaf1; } .productgroups::after { content: "↗"; position: absolute; right: 10px; bottom: 7px; color: #ad7a35; font-size: 16px; } .extra { @@ -193,7 +191,7 @@ iframe { display: block; border: 0; } /* Keep empty cells when filtering; account pages fit the available screen. */ #AccountList { height: 100%; } .account-list { grid-template-columns: repeat(var(--account-columns), minmax(0, 1fr)); grid-template-rows: repeat(var(--account-rows), var(--account-row-height)); align-content: start; gap: 8px; } -.account-list .Knop { justify-content: space-between; gap: 10px; min-height: var(--account-row-height); padding: 8px 12px; border-top: 1px solid var(--line); font-size: 17px; text-align: left; overflow: hidden; } +.account-list .Knop { justify-content: space-between; gap: 10px; min-height: var(--account-row-height); padding: 8px 12px; font-size: 17px; text-align: left; overflow: hidden; } .account-list .Knop .Buttontext { flex: 1 1 auto; width: auto; min-width: 0; } .account-list .Knop .extra { position: static; flex: 0 0 auto; max-width: 45%; width: auto; margin-left: auto; padding: 4px 8px; font-size: 14px; } @@ -209,6 +207,9 @@ iframe { display: block; border: 0; } .magic-plasma::after { inset: -80%; opacity: calc(var(--magic-power) * .7); background: repeating-radial-gradient(ellipse at 50% 20%, var(--magic-color-2, #04d9d2) 0, var(--magic-color-1) 12%, transparent 30%); mix-blend-mode: screen; filter: blur(7px); animation: plasma-flow calc(var(--magic-speed) * 1.4) ease-in-out -7s infinite alternate-reverse; } .magic-button .magic-label { display: flex; flex: 1 1 0; justify-content: flex-start; min-width: 0; z-index: 1; pointer-events: none; } .magic-angle { display: block; max-width: 100%; } +.magic-name { position: relative; display: block; max-width: 100%; isolation: isolate; } +.magic-name.has-label-backdrop { padding: var(--label-backdrop-padding); border-radius: var(--label-backdrop-radius); } +.magic-name.has-label-backdrop::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: var(--label-backdrop-color); opacity: var(--label-backdrop-opacity); pointer-events: none; } .magic-button .Buttontext { display: block; width: auto; color: var(--magic-ink); font-family: var(--magic-font); font-size: var(--magic-size); font-weight: var(--magic-weight); line-height: 1.15; } .magic-button .magic-text-gradient { color: transparent !important; background-clip: text; -webkit-background-clip: text; } .magic-icon { position: relative; display: flex; flex-shrink: 0; align-items: center; justify-content: center; overflow: hidden; border-radius: 8px; pointer-events: none; z-index: 1; } @@ -396,7 +397,7 @@ body.dark-mode { --ink: #e1eaf3; --muted: #a4b6c9; --line: #3a4b60; --panel: #19 .dark-mode .receipt-columns, .dark-mode .receipt-footer, .dark-mode .receipt-currency, .dark-mode .eyebrow, .dark-mode .receipt-empty, .dark-mode .welcome { color: #b0c1d0; } .dark-mode .receipt-empty strong { color: #c7d8e6; } .dark-mode .receipt-barcode { filter: brightness(3); } -.dark-mode .Knopje:where(:not(.topknop, .magic-button)), +.dark-mode .Knopje:where(:not(.topknop)), .dark-mode .command-section, .dark-mode .purchase-row, .dark-mode .audio-volume-card, .dark-mode .mylines, .dark-mode .lines, .dark-mode .infoboxes .Userline { color: #e1eaf3; background-color: #233448; border-color: #40546a; } .dark-mode .command-section h2, .dark-mode .audio-volume-label, .dark-mode .audio-volume-value, .dark-mode .audio-status { color: #b8cee3; } .dark-mode .command-tab, .dark-mode .archive-tab, .dark-mode .profile-action, .dark-mode .setting-toggle { color: #d9e5ef; background: #26394d; border-color: #445d73; } From 90c0c7299dbffc576ac9972af3fc189760708bb7 Mon Sep 17 00:00:00 2001 From: Mendel Mobach Date: Fri, 23 Oct 2026 20:53:15 +0200 Subject: [PATCH 15/25] Generate EPC bank transfer requests for completed deposits --- Makefile | 4 +- config.py | 3 ++ config.yaml.example | 5 ++ epc_payment.py | 64 +++++++++++++++++++++++++ plugins/deposit.py | 40 ++++++++++++++-- tests/plugins/test_deposit.py | 57 ++++++++++++++++++++++ tests/test_checkout_undo_integration.py | 21 ++++++++ tests/test_epc_payment.py | 64 +++++++++++++++++++++++++ 8 files changed, 251 insertions(+), 7 deletions(-) create mode 100644 epc_payment.py create mode 100644 tests/test_epc_payment.py diff --git a/Makefile b/Makefile index 65e83fc..ee25bec 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ PYTHON ?= python3 NPM ?= npm PHP ?= php -PY_FILES := kassa.py load_printer_logo.py pos_sound_settings.py button_themes.py $(shell find plugins tests -type f -name '*.py' | sort) +PY_FILES := kassa.py epc_payment.py load_printer_logo.py pos_sound_settings.py button_themes.py $(shell find plugins tests -type f -name '*.py' | sort) PHP_FILES := $(shell find www -type f -name '*.php' | sort) .PHONY: test python-test js-test php-test venv pip-compile pip-sync pip-sync-dev lint python-lint js-lint php-lint check-types fix check @@ -42,7 +42,7 @@ pip-sync-dev: ## synchronizes the .venv with the state of requirements.txt lint: python-lint js-lint php-lint ## Do basic linting python-lint: venv - @. .venv/bin/activate && ${env} ${PYTHON} -m pylint --persistent=no kassa.py load_printer_logo.py pos_sound_settings.py button_themes.py plugins + @. .venv/bin/activate && ${env} ${PYTHON} -m pylint --persistent=no kassa.py epc_payment.py load_printer_logo.py pos_sound_settings.py button_themes.py plugins @. .venv/bin/activate; for file in ${PY_FILES}; do ${env} ${PYTHON} -m black --check --quiet --workers 1 "$$file" || exit $$?; done node_modules/.package-lock.json: package.json package-lock.json diff --git a/config.py b/config.py index d1ddf43..b4f1e48 100644 --- a/config.py +++ b/config.py @@ -7,6 +7,9 @@ CONFIG_PATH = "config.yaml" DEFAULT_CONFIG = { + "deposit": { + "epc": {"name": "Hack42", "iban": "NL43ABNA0136777643"}, + }, "mqtt": { "host": "localhost", "port": 1883, diff --git a/config.yaml.example b/config.yaml.example index 3601400..cf175a9 100644 --- a/config.yaml.example +++ b/config.yaml.example @@ -1,6 +1,11 @@ # Copy this file to config.yaml and adjust local values. # config.yaml is intentionally git-ignored so local secrets/device settings are not overwritten. +deposit: + epc: + name: Hack42 + iban: NL43ABNA0136777643 + mqtt: host: localhost port: 1883 diff --git a/epc_payment.py b/epc_payment.py new file mode 100644 index 0000000..0e8579b --- /dev/null +++ b/epc_payment.py @@ -0,0 +1,64 @@ +"""EPC069-12 payment requests, rendered locally without external services.""" + +import base64 +from decimal import Decimal +from io import BytesIO +import re + +import pyqrcode + +from config import config_get + + +def create_payment(reference, amount): + settings = config_get("deposit", "epc", default={}) + name = settings["name"] + iban = settings["iban"].replace(" ", "").upper() + for value, limit in ((name, 70), (reference, 140)): + if not isinstance(value, str) or not 1 <= len(value) <= limit: + raise ValueError("Invalid EPC recipient or reference length") + if any(ord(char) < 32 or ord(char) == 127 for char in value): + raise ValueError("EPC fields cannot contain control characters") + if not re.fullmatch(r"[A-Z]{2}[0-9]{2}[A-Z0-9]{11,30}", iban): + raise ValueError("Invalid EPC IBAN") + checksum = "".join( + str(ord(char) - 55) if char.isalpha() else char for char in iban[4:] + iban[:4] + ) + if int(checksum) % 97 != 1: + raise ValueError("Invalid EPC IBAN checksum") + amount = Decimal(str(amount)) + if not amount.is_finite() or not Decimal("0.01") <= amount <= Decimal( + "999999999.99" + ): + raise ValueError("Invalid EPC amount") + if amount != amount.quantize(Decimal("0.01")): + raise ValueError("EPC amount must be in whole cents") + amount_text = format(amount, ".2f") + payload = "\n".join( + [ + "BCD", + "002", + "1", + "SCT", + "", + name, + iban, + "EUR" + amount_text, + "", + "", + reference, + ] + ) + if len(payload.encode("utf-8")) > 331: + raise ValueError("EPC payload exceeds 331 bytes") + code = pyqrcode.create(payload.encode("utf-8"), error="M", mode="binary") + output = BytesIO() + code.png(output, scale=8, quiet_zone=4) + return { + "name": name, + "iban": iban, + "amount": amount_text, + "reference": reference, + "qr": "data:image/png;base64," + + base64.b64encode(output.getvalue()).decode("ascii"), + } diff --git a/plugins/deposit.py b/plugins/deposit.py index 63031c2..50a0e7b 100644 --- a/plugins/deposit.py +++ b/plugins/deposit.py @@ -1,10 +1,14 @@ import json +from decimal import Decimal, InvalidOperation + +from epc_payment import create_payment class deposit: def __init__(self, SID, master): self.master = master self.SID = SID + self.payment_shown = False def help(self): return {"deposit": "Deposit Money"} @@ -26,8 +30,8 @@ def value(self, text): self.master.callhook("abort", None) return True try: - value = float(text) - except ValueError: + amount = Decimal(text) + except InvalidOperation: self.master.donext(self, "value") self.master.send_message( True, "message", "Not a valid number! How much do you want to deposit?" @@ -36,8 +40,12 @@ def value(self, text): True, "buttons", json.dumps({"special": "numbers"}) ) return True - if 0 < value < 1000: - self.master.receipt.add(False, value, "Deposit", 1, None, "deposit") + if ( + amount.is_finite() + and Decimal("0.01") <= amount <= Decimal("999.99") + and amount == amount.quantize(Decimal("0.01")) + ): + self.master.receipt.add(False, float(amount), "Deposit", 1, None, "deposit") else: self.master.donext(self, "value") self.master.send_message( @@ -48,5 +56,27 @@ def value(self, text): ) return True + def hook_post_checkout(self, _user): + amounts = {} + for row in self.master.receipt.receipt: + user = row["beni"] + if row["product"] == "deposit" and not row["Lose"] and user != "cash": + amounts[user] = amounts.get(user, Decimal(0)) + ( + Decimal(str(row["value"])) * Decimal(str(row["count"])) + ) + if amounts: + payments = [ + create_payment(user, amount) for user, amount in amounts.items() + ] + self.master.send_message( + True, "deposit_payment", json.dumps({"payments": payments}) + ) + self.payment_shown = True + + def pre_input(self, _text): + if self.payment_shown: + self.master.send_message(True, "deposit_payment", "{}") + self.payment_shown = False + def startup(self): - pass + self.master.send_message(True, "deposit_payment", "{}") diff --git a/tests/plugins/test_deposit.py b/tests/plugins/test_deposit.py index d36dba3..0db91c9 100644 --- a/tests/plugins/test_deposit.py +++ b/tests/plugins/test_deposit.py @@ -1,6 +1,7 @@ from unittest.mock import Mock, patch, call import json import plugins.deposit as deposit_module +import pytest def test_deposit_help(): @@ -88,3 +89,59 @@ def test_deposit_startup(): # Assuming startup is a placeholder with no functional code deposit.startup() # No assertion needed, just checking if method exists and runs without error + + +@pytest.mark.parametrize("value", ["0.001", "1.234", "NaN", "Infinity", "-1"]) +def test_deposit_rejects_fractional_cents_and_nonfinite_values(value): + master = Mock() + plugin = deposit_module.deposit("SID", master) + plugin.value(value) + master.receipt.add.assert_not_called() + + +def test_checkout_aggregates_deposits_by_user_and_clears_on_next_input(): + master = Mock() + master.receipt.receipt = [ + { + "beni": "test_user", + "product": "deposit", + "Lose": False, + "value": 25, + "count": 2, + }, + { + "beni": "test_user", + "product": "deposit", + "Lose": False, + "value": 5, + "count": 1, + }, + { + "beni": "test_user", + "product": "drink", + "Lose": True, + "value": 10, + "count": 1, + }, + {"beni": "cash", "product": "deposit", "Lose": False, "value": 2, "count": 1}, + ] + plugin = deposit_module.deposit("SID", master) + plugin.hook_post_checkout("test_user") + retain, topic, payload = master.send_message.call_args.args + assert retain and topic == "deposit_payment" + payments = json.loads(payload)["payments"] + assert len(payments) == 1 + assert payments[0]["amount"] == "55.00" + assert payments[0]["reference"] == "test_user" + plugin.pre_input("ok") + master.send_message.assert_called_with(True, "deposit_payment", "{}") + master.send_message.reset_mock() + plugin.pre_input("next") + master.send_message.assert_not_called() + + +def test_normal_checkout_does_not_offer_payment(): + master = Mock() + master.receipt.receipt = [] + deposit_module.deposit("SID", master).hook_post_checkout("test_user") + master.send_message.assert_not_called() diff --git a/tests/test_checkout_undo_integration.py b/tests/test_checkout_undo_integration.py index 2c41adc..20484c0 100644 --- a/tests/test_checkout_undo_integration.py +++ b/tests/test_checkout_undo_integration.py @@ -1,3 +1,4 @@ +import json from unittest.mock import Mock, patch import kassa @@ -7,6 +8,7 @@ from plugins.receipt import receipt from plugins.stock import stock from plugins.undo import undo +from plugins.deposit import deposit def make_session(): @@ -48,6 +50,25 @@ def make_checkout_session(): ) +def test_deposit_payment_uses_checkout_user_and_survives_endsession(): + session = kassa.Session("SID", Mock()) + session.receipt = receipt("SID", session) + plugin = deposit("SID", session) + session.plugins = {"deposit": plugin, "receipt": session.receipt} + plugin.value("25.50") + session.callhook("checkout", "test_user") + session.callhook("endsession", "test_user") + topic = "hack42bar/output/session/SID/deposit_payment" + calls = [ + call for call in session.client.publish.call_args_list if call.args[0] == topic + ] + payment = json.loads(calls[-1].args[1])["payments"][0] + assert payment["reference"] == "test_user" + assert payment["amount"] == "25.50" + assert session.receipt.receipt == [] + assert plugin.payment_shown + + def test_checkout_stores_undo_snapshot_after_receipt_checkout(): session, receipt_plugin, undo_plugin = make_session() diff --git a/tests/test_epc_payment.py b/tests/test_epc_payment.py new file mode 100644 index 0000000..44bc99c --- /dev/null +++ b/tests/test_epc_payment.py @@ -0,0 +1,64 @@ +import base64 +from io import BytesIO +from unittest.mock import patch + +from PIL import Image +import pytest + +from epc_payment import create_payment +import epc_payment + + +def test_epc_payload_contains_exact_payment_fields_and_scannable_png(): + with patch( + "epc_payment.pyqrcode.create", wraps=epc_payment.pyqrcode.create + ) as create: + payment = create_payment("test_user", "12.34") + assert create.call_args.args[0].decode("utf-8").split("\n") == [ + "BCD", + "002", + "1", + "SCT", + "", + "Hack42", + "NL43ABNA0136777643", + "EUR12.34", + "", + "", + "test_user", + ] + assert create.call_args.kwargs["error"] == "M" + assert payment["amount"] == "12.34" + assert payment["reference"] == "test_user" + with Image.open(BytesIO(base64.b64decode(payment["qr"].split(",")[1]))) as image: + assert image.width == image.height + assert image.width >= 300 + assert image.getpixel((0, 0)) != image.getpixel((32, 32)) + + +@pytest.mark.parametrize( + "amount", ["0", "-1", "0.001", "12.345", "NaN", "Infinity", "1000000000"] +) +def test_epc_rejects_invalid_or_fractional_cent_amounts(amount): + with pytest.raises(ValueError): + create_payment("test_user", amount) + + +@pytest.mark.parametrize( + "user", ["", "x" * 141, "test\nuser", "test\ruser", "test\x00user"] +) +def test_epc_rejects_invalid_reference(user): + with pytest.raises(ValueError): + create_payment(user, "1.00") + + +@pytest.mark.parametrize("iban", ["not-an-iban", "NL00ABNA0136777643"]) +def test_epc_rejects_invalid_bank_configuration(iban): + with patch("epc_payment.config_get", return_value={"name": "Hack42", "iban": iban}): + with pytest.raises(ValueError): + create_payment("test_user", "1.00") + + +def test_epc_rejects_oversized_utf8_payload(): + with pytest.raises(ValueError, match="331"): + create_payment("\u00e9" * 140, "12.34") From 535308a8c65c35635db18ef8693aaa3c4a237e60 Mon Sep 17 00:00:00 2001 From: Mendel Mobach Date: Fri, 23 Oct 2026 20:53:15 +0200 Subject: [PATCH 16/25] Display large scannable deposit payment dialog --- README.md | 18 ++++++++++++ tests/js/browser-smoke.test.js | 48 ++++++++++++++++++++++++++++++++ tests/js/kassa-app.test.js | 25 +++++++++++++++++ www/index.html | 4 +-- www/kassa-app.js | 40 +++++++++++++++++++++++++++ www/stom.css | 50 ++++++++++++++++++++++++++++++++++ 6 files changed, 183 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5728800..fd4bf36 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,24 @@ The hackbank consist of a php front-end that communicates with a python back-end over mqtt. +## Deposit bank transfers + +After checking out a deposit to an account, the screen displays a large EPC QR +code with the deposited amount and the account's username as the transfer +description. The recipient defaults to Hack42, IBAN `NL43ABNA0136777643`; +override `deposit.epc.name` and `deposit.epc.iban` in `config.yaml` if needed. +The payment details are also displayed as text. QR images are generated locally. + +The dialog is a payment request, not a bank confirmation. Deposits are credited +using the existing checkout flow; bank payments are not automatically verified. +Closing the dialog or entering the next command clears the request. Startup +also clears retained requests. Cash checkouts do not produce a transfer code. +Multiple deposit lines for the same user are combined; purchases do not reduce +the requested deposit amount. Amounts must be whole cents. + +The payload follows [EPC069-12](https://www.europeanpaymentscouncil.eu/document-library/guidance-documents/quick-response-code-guidelines-enable-data-capture-initiation). +Support for scanning EPC codes depends on the banking app. + ## Development set-up You need python, paho-mqtt-client and apache+php. diff --git a/tests/js/browser-smoke.test.js b/tests/js/browser-smoke.test.js index 400448d..769e4c0 100644 --- a/tests/js/browser-smoke.test.js +++ b/tests/js/browser-smoke.test.js @@ -342,6 +342,54 @@ test("button studio previews locally, saves one user's design and cancels withou assert.equal(data.noFinancialCommands,true); }); +test("a completed deposit displays a native payment dialog and dismisses through OK", (t) => { + const command=chromiumCommand(); + if(!command) { t.skip('Chromium is not available'); return; } + const repo=path.resolve(__dirname,'../..'); + const payment=spawnSync(path.join(repo,'.venv/bin/python'),[ + '-c','import json; from epc_payment import create_payment; print(json.dumps(create_payment("test_user", "25.50")))', + ],{cwd:repo,encoding:'utf8'}); + assert.equal(payment.status,0,payment.stderr); + const fixture=writeKassaFixture(` + window.addEventListener('DOMContentLoaded',function() { + setTimeout(function() { + var result={}; + try { + window.__eventSource.onmessage({data:JSON.stringify([ + 'hack42bar/output/session/main/deposit_payment',JSON.stringify({payments:[${payment.stdout.trim()}]}) + ])}); + var dialog=document.getElementById('DepositPayment'); + var image=dialog.querySelector('img'); + result.modal=dialog.open && dialog.matches(':modal'); + result.qrWidth=image.getBoundingClientRect().width; + result.details=dialog.textContent; + dialog.querySelector('button').click(); + result.closed=!document.getElementById('DepositPayment'); + result.lastPost=window.__fetchCalls.at(-1).body; + } catch(error) { result.error=String(error.stack); } + var output=document.createElement('pre'); output.id='smoke-result'; + output.textContent=JSON.stringify(result); document.body.appendChild(output); + },100); + }); + `); + const result=runChromium(command,`file://${fixture}`); + fs.unlinkSync(fixture); + if(skipIfChromiumSandboxed(t,result)) return; + assert.ifError(result.error); + assert.equal(result.status,0,result.stderr); + const match=result.stdout.match(/

([^<]+)<\/pre>/);
+  assert(match,result.stdout);
+  const data=JSON.parse(match[1].replaceAll('"','"').replaceAll('&','&'));
+  assert.equal(data.error,undefined,JSON.stringify(data));
+  assert.equal(data.modal,true);
+  assert(data.qrWidth>=300);
+  assert.match(data.details,/NL43ABNA0136777643/);
+  assert.match(data.details,/25.50/);
+  assert.match(data.details,/test_user/);
+  assert.equal(data.closed,true);
+  assert.equal(data.lastPost,'topic=session%2Fmain%2Finput&msg=ok');
+});
+
 test("the checked-in jQuery vendor file is gone", () => {
   assert.equal(fs.existsSync(path.resolve(__dirname, "../../www/jquery.min.js")), false);
 });
diff --git a/tests/js/kassa-app.test.js b/tests/js/kassa-app.test.js
index a73b39a..5b7b8a9 100644
--- a/tests/js/kassa-app.test.js
+++ b/tests/js/kassa-app.test.js
@@ -58,6 +58,9 @@ function makeElement(tag, register) {
     focus() {
       this.focused = true;
     },
+    showModal() {
+      this.open = true;
+    },
     cloneNode(deep) {
       const clone = makeElement(this.tag, register);
       clone.attributes = {...this.attributes};
@@ -269,6 +272,28 @@ function loadKassaApp({hash = "", pageCapacity = 25, accountCapacity = 42} = {})
   };
 }
 
+test("deposit payment opens a modal with bank details and closes without confirming payment", () => {
+  const {elements,eventSources,fetchCalls}=loadKassaApp();
+  const send=(state) => eventSources[0].onmessage({data:JSON.stringify([
+    'hack42bar/output/session/main/deposit_payment',JSON.stringify(state),
+  ])});
+  send({payments:[{name:'Hack42',iban:'NL43ABNA0136777643',amount:'25.50',reference:'test_user',qr:'data:image/png;base64,test'}]});
+  const dialog=elements.DepositPayment;
+  assert.equal(dialog.open,true);
+  const image=findFirst(dialog,'.deposit-payment-qr');
+  assert.equal(image.width,400);
+  assert.match(image.alt,/test_user/);
+  const values=findFirst(dialog,'.deposit-payment-details').children.map((child) => child.textContent);
+  assert(values.includes('NL43ABNA0136777643'));
+  assert(values.includes('EUR 25.50'));
+  assert(values.includes('test_user'));
+  findFirst(dialog,'.deposit-payment-close').eventListeners.click();
+  assert.equal(dialog.parentElement,null);
+  assert.equal(String(fetchCalls.at(-1).options.body),'topic=session%2Fmain%2Finput&msg=ok');
+  send({});
+  assert.equal(dialog.parentElement,null);
+});
+
 test("kassa app builds the startup layout and opens a session stream", () => {
   const {elements, eventSources, fetchCalls, textfillCalls} = loadKassaApp({
     hash: "#bar",
diff --git a/www/index.html b/www/index.html
index 4d07ffc..156e0e4 100644
--- a/www/index.html
+++ b/www/index.html
@@ -6,7 +6,7 @@
     
     Hack42 - HackBank
     
-    
+    
     
     
     
@@ -18,7 +18,7 @@
     
     
     
-    
+    
   
   
     
diff --git a/www/kassa-app.js b/www/kassa-app.js
index 747126b..b8bdcbf 100644
--- a/www/kassa-app.js
+++ b/www/kassa-app.js
@@ -59,6 +59,7 @@ document.addEventListener("DOMContentLoaded", function() {
   var topButton=dom.topButton;
 
   function postmsg(topic,msg) {
+    if(topic === 'input') removeElement('#DepositPayment');
     if(topic === 'input' && preferences && preferences.handleCommand(msg)) {
       preferences.command();
       if(currentView === 'commands') locked=1;
@@ -297,6 +298,42 @@ document.addEventListener("DOMContentLoaded", function() {
     buttons.rebuildProductIndexes(prods, groups, nobcgroup);
   }
 
+  function showDepositPayment(state) {
+    removeElement('#DepositPayment');
+    if(!state.payments || !state.payments.length) return;
+    var dialog=createElement('dialog',{id:'DepositPayment',class:'deposit-payment','aria-labelledby':'DepositPaymentTitle'});
+    dialog.appendChild(createElement('h2',{id:'DepositPaymentTitle',text:'Bankoverschrijving'}));
+    state.payments.forEach(function(payment) {
+      var entry=createElement('section',{class:'deposit-payment-entry'});
+      entry.appendChild(createElement('img',{
+        class:'deposit-payment-qr',src:payment.qr,
+        alt:'EPC-betaalcode voor '+payment.reference+' - EUR '+payment.amount,
+        width:400,height:400,
+      }));
+      var details=createElement('dl',{class:'deposit-payment-details'});
+      [['Bedrag','EUR '+payment.amount],['Ontvanger',payment.name],['IBAN',payment.iban],['Omschrijving',payment.reference]].forEach(function(field) {
+        details.appendChild(createElement('dt',{text:field[0]}));
+        details.appendChild(createElement('dd',{text:field[1]}));
+      });
+      entry.appendChild(details);
+      dialog.appendChild(entry);
+    });
+    var close=createElement('button',{type:'button',class:'deposit-payment-close',text:'Sluiten'});
+    function dismiss() {
+      postmsg('input','ok');
+      focus();
+    }
+    close.addEventListener('click',dismiss);
+    dialog.addEventListener('cancel',function(event) {
+      event.preventDefault();
+      dismiss();
+    });
+    dialog.appendChild(close);
+    document.body.appendChild(dialog);
+    dialog.showModal();
+    close.focus();
+  }
+
   function makepage_infobox() {
     clearElement('#MainButtons');
     clearElement('#TopButtons');
@@ -769,6 +806,9 @@ document.addEventListener("DOMContentLoaded", function() {
          case 'sound':
             playsound(msg);
             break;
+         case 'deposit_payment':
+            showDepositPayment(JSON.parse(msg));
+            break;
          case 'sound_settings':
             if(soundSettingsControl) soundSettingsControl.receive(JSON.parse(msg));
             break;
diff --git a/www/stom.css b/www/stom.css
index 487ed10..c7e5371 100644
--- a/www/stom.css
+++ b/www/stom.css
@@ -505,3 +505,53 @@ body.dark-mode { --ink: #e1eaf3; --muted: #a4b6c9; --line: #3a4b60; --panel: #19
 @media (prefers-reduced-motion: reduce) {
   *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
 }
+
+/* Payment codes always use a white surface, including in dark mode. */
+.deposit-payment {
+  box-sizing: border-box;
+  width: min(860px, calc(100vw - 24px));
+  max-height: calc(100dvh - 24px);
+  padding: 24px;
+  border: 0;
+  border-radius: 8px;
+  background: #fff;
+  color: #172017;
+  overflow: auto;
+}
+.deposit-payment::backdrop { background: rgba(0, 0, 0, 0.65); }
+.deposit-payment h2 { margin: 0 0 16px; font-size: 24px; }
+.deposit-payment-entry {
+  display: grid;
+  grid-template-columns: minmax(0, 400px) minmax(0, 1fr);
+  gap: 24px;
+  align-items: center;
+}
+.deposit-payment-qr {
+  display: block;
+  width: 100%;
+  height: auto;
+  aspect-ratio: 1;
+  image-rendering: pixelated;
+  background: #fff;
+}
+.deposit-payment-details { margin: 0; overflow-wrap: anywhere; }
+.deposit-payment-details dt { margin-top: 16px; font-size: 14px; color: #465246; }
+.deposit-payment-details dd { margin: 4px 0 0; font-size: 22px; font-weight: 600; }
+.deposit-payment-close {
+  display: block;
+  min-height: 48px;
+  margin: 20px 0 0 auto;
+  padding: 10px 24px;
+  border: 1px solid #36563d;
+  border-radius: 4px;
+  background: #edf4ee;
+  color: #172017;
+  font: inherit;
+  cursor: pointer;
+}
+@media (max-width: 640px) {
+  .deposit-payment { padding: 16px; }
+  .deposit-payment-entry { grid-template-columns: minmax(0, 1fr); gap: 8px; }
+  .deposit-payment-qr { max-width: 400px; margin: auto; }
+  .deposit-payment-details dd { font-size: 18px; }
+}

From faa97ce99bb6d8538d90aeaba412e6124c37af2f Mon Sep 17 00:00:00 2001
From: Mendel Mobach 
Date: Fri, 23 Oct 2026 21:03:36 +0200
Subject: [PATCH 17/25] Add desktop and mobile deposit QR screenshots

---
 docs/screenshots/deposit-epc-desktop.png | Bin 0 -> 85253 bytes
 docs/screenshots/deposit-epc-mobile.png  | Bin 0 -> 60727 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 docs/screenshots/deposit-epc-desktop.png
 create mode 100644 docs/screenshots/deposit-epc-mobile.png

diff --git a/docs/screenshots/deposit-epc-desktop.png b/docs/screenshots/deposit-epc-desktop.png
new file mode 100644
index 0000000000000000000000000000000000000000..a587903c591822011691174bffe236faa7ec13fa
GIT binary patch
literal 85253
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

literal 0
HcmV?d00001

diff --git a/docs/screenshots/deposit-epc-mobile.png b/docs/screenshots/deposit-epc-mobile.png
new file mode 100644
index 0000000000000000000000000000000000000000..fd0dbcc0db2be737273405723767b8a45fc99f43
GIT binary patch
literal 60727
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�JvNzORZxi+7<^PGt(Q`h
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
Date: Fri, 23 Oct 2026 21:04:15 +0200
Subject: [PATCH 18/25] Revert "Add desktop and mobile deposit QR screenshots"

This reverts commit faa97ce99bb6d8538d90aeaba412e6124c37af2f.
---
 docs/screenshots/deposit-epc-desktop.png | Bin 85253 -> 0 bytes
 docs/screenshots/deposit-epc-mobile.png  | Bin 60727 -> 0 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)
 delete mode 100644 docs/screenshots/deposit-epc-desktop.png
 delete mode 100644 docs/screenshots/deposit-epc-mobile.png

diff --git a/docs/screenshots/deposit-epc-desktop.png b/docs/screenshots/deposit-epc-desktop.png
deleted file mode 100644
index a587903c591822011691174bffe236faa7ec13fa..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 85253
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

diff --git a/docs/screenshots/deposit-epc-mobile.png b/docs/screenshots/deposit-epc-mobile.png
deleted file mode 100644
index fd0dbcc0db2be737273405723767b8a45fc99f43..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 60727
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�JvNzORZxi+7<^PGt(Q`h
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
Date: Sat, 24 Oct 2026 19:59:25 +0200
Subject: [PATCH 19/25] Add LAN Music menu and start updated development
 backend

---
 README.md                  |  4 ++--
 compose.dev.yaml           |  1 +
 tests/js/kassa-app.test.js | 16 ++++++++++++----
 www/index.html             |  2 +-
 www/kassa-app.js           |  4 +++-
 5 files changed, 19 insertions(+), 8 deletions(-)

diff --git a/README.md b/README.md
index fd4bf36..f4d9f91 100644
--- a/README.md
+++ b/README.md
@@ -237,8 +237,8 @@ settings and small PNG data URLs are accepted; no arbitrary CSS or remote
 image/font URLs are stored. No new external runtime dependencies are needed.
 
 The Home Assistant shortcut opens its page in the left-hand iframe, with a link
-to open it in a separate tab. Music is hidden until a LAN music interface is
-available.
+to open it in a separate tab. Music opens the LAN sound-system interface at
+`http://192.168.142.157:3000/` in the same pane, with a link to open it separately.
 The [supplied Hack42 logo](https://johnkr.com/wp-content/uploads/sites/2/2015/12/Hack42.png)
 is already included as `www/images/Hack42.png` and is now displayed in the header.
 
diff --git a/compose.dev.yaml b/compose.dev.yaml
index a661b78..eef9424 100644
--- a/compose.dev.yaml
+++ b/compose.dev.yaml
@@ -33,6 +33,7 @@ services:
       - ./purchase_history.py:/app/purchase_history.py:ro
       - ./pos_sound_settings.py:/app/pos_sound_settings.py:ro
       - ./button_themes.py:/app/button_themes.py:ro
+      - ./epc_payment.py:/app/epc_payment.py:ro
       - ./www/sounds:/app/www/sounds:ro
       - ./plugins:/app/plugins:ro
       - ./images:/app/images:ro
diff --git a/tests/js/kassa-app.test.js b/tests/js/kassa-app.test.js
index 5b7b8a9..b50f1b8 100644
--- a/tests/js/kassa-app.test.js
+++ b/tests/js/kassa-app.test.js
@@ -597,8 +597,8 @@ test("the stitch account has no bundled character image and keeps its command",
   assert.equal(String(fetchCalls[1].options.body), "topic=session%2Fmain%2Finput&msg=stitch");
 });
 
-test("Music is hidden and Home Assistant opens its frame and switches cleanly", () => {
-  const {body, elements} = loadKassaApp();
+test("Music and Home Assistant open their LAN frames and switch cleanly", () => {
+  const {body, elements, fetchCalls} = loadKassaApp();
   function clickMain(id) {
     body.eventListeners.click({
       target: {
@@ -609,16 +609,24 @@ test("Music is hidden and Home Assistant opens its frame and switches cleanly",
     });
   }
 
-  assert.equal(findFirst(elements.LeftButtons, "#irc"), null);
+  assert.equal(findFirst(elements.LeftButtons, "#irc").children[0].textContent, "Music");
   assert.equal(findFirst(elements.LeftButtons, "#spacecon").children[0].textContent, "Home Assistant");
+  clickMain("irc");
+  assert.equal(elements.IRCwindow.children[1].src, "http://192.168.142.157:3000/");
+  assert.equal(elements.IRCwindow.children[1].title, "Music");
+  assert.equal(findAll(elements.IRCwindow, ".embed-note").length, 0);
   clickMain("spacecon");
   assert.equal(elements.spacewindow.children[1].src, "http://hass.space.hack42.nl:8123/home/overview");
   assert.equal(elements.spacewindow.children[1].title, "Home Assistant");
   assert.equal(findAll(elements.spacewindow, ".embed-note").length, 0);
   assert.equal(elements.IRCwindow.style.display, "none");
+  clickMain("irc");
+  assert.equal(elements.spacewindow.style.display, "none");
+  assert.equal(elements.IRCwindow.childElementCount, 2);
   clickMain("members");
   assert.equal(elements.spacewindow.style.display, "none");
-  assert.equal(elements.IRCwindow.childElementCount, 0);
+  assert.equal(elements.IRCwindow.style.display, "none");
+  assert.equal(fetchCalls.length, 1);
 });
 
 test("kassa app handles closed streams by scheduling one reconnect", () => {
diff --git a/www/index.html b/www/index.html
index 156e0e4..c64a9d0 100644
--- a/www/index.html
+++ b/www/index.html
@@ -18,7 +18,7 @@
     
     
     
-    
+    
   
   
     
diff --git a/www/kassa-app.js b/www/kassa-app.js
index b8bdcbf..86e3e9f 100644
--- a/www/kassa-app.js
+++ b/www/kassa-app.js
@@ -1037,9 +1037,10 @@ document.addEventListener("DOMContentLoaded", function() {
          focus();
          break;
       case 'irc':
+         currentView='embedded';
          activateTopButton(this.id);
          locked=0;
-         showEmbeddedScreen('#IRCwindow','YouTube','https://www.youtube.com/','If the page cannot be displayed here, open it in a new tab.');
+         showEmbeddedScreen('#IRCwindow','Music','http://192.168.142.157:3000/');
          break;
       case 'spacecon':
          currentView='embedded';
@@ -1192,6 +1193,7 @@ document.addEventListener("DOMContentLoaded", function() {
       ["Knopje Button topknop special",'products',"Products"],
       ["Knopje Button topknop special",'commands',"Commands"],
       ["Knopje Button topknop sounds",'sounds',"Sounds"],
+      ["Knopje Button topknop irc",'irc',"Music"],
       ["Knopje Button topknop spacecon",'spacecon',"Home Assistant"],
     ];
     buttons.forEach(function(button) {

From b6800d7815dfb22d2fdd9f882cda2b40eb96a683 Mon Sep 17 00:00:00 2001
From: stitch1 
Date: Sat, 24 Oct 2026 20:05:27 +0200
Subject: [PATCH 20/25] Simplify embedded pages and add profile membership
 actions

---
 README.md                      |  9 +++++---
 plugins/historie.py            |  1 +
 tests/js/kassa-app.test.js     | 41 ++++++++++++++++++++++++++++------
 tests/plugins/test_historie.py | 12 ++++++++++
 www/index.html                 |  4 ++--
 www/kassa-app.js               | 12 +++++-----
 www/stom.css                   | 10 ++-------
 7 files changed, 63 insertions(+), 26 deletions(-)

diff --git a/README.md b/README.md
index f4d9f91..3ab505b 100644
--- a/README.md
+++ b/README.md
@@ -153,6 +153,9 @@ refunds and undo lines are excluded from purchase history.
 Clicking a user with an empty sale shows the balance and up to ten recent
 purchase line items, alongside OK, undo, restore, receipt and cash drawer controls.
 Every visit receives a fresh profile response, even when its data is unchanged.
+The user page also offers Promote to non-member or Promote to Member, using
+the existing `delmember ` / `addmember ` commands. The action uses
+actual membership, including while party mode changes the visible member list.
 After checkout, the same view combines the transaction summary with the updated
 profile and purchase history. Add again uses the current product price and only
 adds to the sale, leaving the normal account selection and checkout flow intact.
@@ -236,9 +239,9 @@ or change receipts, account names or balances. Only validated presentation
 settings and small PNG data URLs are accepted; no arbitrary CSS or remote
 image/font URLs are stored. No new external runtime dependencies are needed.
 
-The Home Assistant shortcut opens its page in the left-hand iframe, with a link
-to open it in a separate tab. Music opens the LAN sound-system interface at
-`http://192.168.142.157:3000/` in the same pane, with a link to open it separately.
+Home Assistant and Music open directly in the left-hand iframe with rounded
+corners and no extra toolbar. Music uses the LAN sound-system interface at
+`http://192.168.142.157:3000/`.
 The [supplied Hack42 logo](https://johnkr.com/wp-content/uploads/sites/2/2015/12/Hack42.png)
 is already included as `www/images/Hack42.png` and is now displayed in the header.
 
diff --git a/plugins/historie.py b/plugins/historie.py
index a198f9f..6c28dc8 100644
--- a/plugins/historie.py
+++ b/plugins/historie.py
@@ -69,6 +69,7 @@ def account_details(self, user):
         latest = undo.latest_for(user) if undo else None
         return {
             "user": user,
+            "is_member": user in self.master.accounts.members,
             "purchases": purchases,
             "history_available": purchase_index.available,
             "history_complete": purchase_index.complete,
diff --git a/tests/js/kassa-app.test.js b/tests/js/kassa-app.test.js
index b50f1b8..2ad2db0 100644
--- a/tests/js/kassa-app.test.js
+++ b/tests/js/kassa-app.test.js
@@ -612,23 +612,50 @@ test("Music and Home Assistant open their LAN frames and switch cleanly", () =>
   assert.equal(findFirst(elements.LeftButtons, "#irc").children[0].textContent, "Music");
   assert.equal(findFirst(elements.LeftButtons, "#spacecon").children[0].textContent, "Home Assistant");
   clickMain("irc");
-  assert.equal(elements.IRCwindow.children[1].src, "http://192.168.142.157:3000/");
-  assert.equal(elements.IRCwindow.children[1].title, "Music");
-  assert.equal(findAll(elements.IRCwindow, ".embed-note").length, 0);
+  assert.equal(elements.IRCwindow.children[0].src, "http://192.168.142.157:3000/");
+  assert.equal(elements.IRCwindow.children[0].title, "Music");
+  assert.equal(elements.IRCwindow.childElementCount, 1);
   clickMain("spacecon");
-  assert.equal(elements.spacewindow.children[1].src, "http://hass.space.hack42.nl:8123/home/overview");
-  assert.equal(elements.spacewindow.children[1].title, "Home Assistant");
-  assert.equal(findAll(elements.spacewindow, ".embed-note").length, 0);
+  assert.equal(elements.spacewindow.children[0].src, "http://hass.space.hack42.nl:8123/home/overview");
+  assert.equal(elements.spacewindow.children[0].title, "Home Assistant");
+  assert.equal(elements.spacewindow.childElementCount, 1);
   assert.equal(elements.IRCwindow.style.display, "none");
   clickMain("irc");
   assert.equal(elements.spacewindow.style.display, "none");
-  assert.equal(elements.IRCwindow.childElementCount, 2);
+  assert.equal(elements.IRCwindow.childElementCount, 1);
   clickMain("members");
   assert.equal(elements.spacewindow.style.display, "none");
   assert.equal(elements.IRCwindow.style.display, "none");
   assert.equal(fetchCalls.length, 1);
 });
 
+test("profile membership actions send the existing command for the selected user", () => {
+  const cases=[
+    {members:["Jos"],profile:{is_member:true},label:"Promote to non-member",command:"delmember Jos"},
+    {members:[],profile:{is_member:false},label:"Promote to Member",command:"addmember Jos"},
+    {members:["party"],profile:{is_member:true},label:"Promote to non-member",command:"delmember Jos"},
+    {members:["Jos"],profile:{is_member:false},label:"Promote to Member",command:"addmember Jos"},
+    {members:["Jos"],profile:{},label:"Promote to non-member",command:"delmember Jos"},
+  ];
+  cases.forEach((scenario) => {
+    const {elements,eventSources,fetchCalls}=loadKassaApp();
+    function send(topic,value) {
+      eventSources[0].onmessage({data:JSON.stringify([`hack42bar/output/session/main/${topic}`,JSON.stringify(value)])});
+    }
+    send("members",scenario.members);
+    send("infobox/account",{user:"Jos",amount:12,purchases:[],history_available:true,...scenario.profile});
+    send("buttons",{special:"infobox"});
+    const action=findFirst(elements.MainButtons,".membership-action");
+    assert.equal(action.textContent,scenario.label);
+    assert.equal(findAll(elements.MainButtons,".membership-action").length,1);
+    action.eventListeners.click();
+    assert.equal(fetchCalls.length,2);
+    const params=new URLSearchParams(fetchCalls[1].options.body);
+    assert.equal(params.get("topic"),"session/main/input");
+    assert.equal(params.get("msg"),scenario.command);
+  });
+});
+
 test("kassa app handles closed streams by scheduling one reconnect", () => {
   const {eventSources, timers} = loadKassaApp();
 
diff --git a/tests/plugins/test_historie.py b/tests/plugins/test_historie.py
index 9e19358..75c06ef 100644
--- a/tests/plugins/test_historie.py
+++ b/tests/plugins/test_historie.py
@@ -75,6 +75,18 @@ def test_input_history(self):
     def test_input_other(self):
         assert not self.historie.input("other")
 
+    def test_profile_reports_actual_membership_independently_of_party_visibility(self):
+        self.master_mock.products.products = {}
+        self.master_mock.plugins = {}
+        self.master_mock.accounts.members = ["Jos"]
+        self.master_mock.accounts.visible_members.return_value = ["party"]
+        index = Mock(available=True, complete=True)
+        index.recent.return_value = []
+        with patch.object(historie_module, "purchase_index", index):
+            assert self.historie.account_details("Jos")["is_member"] is True
+            assert self.historie.account_details("guest")["is_member"] is False
+        assert self.master_mock.accounts.members == ["Jos"]
+
     def test_checkout_refreshes_profile_and_celebrates_once_after_session_ends(self):
         self.master_mock.receipt.receipt = [
             {"Lose": True, "count": 1, "value": 2, "product": "cola"}
diff --git a/www/index.html b/www/index.html
index c64a9d0..ec04584 100644
--- a/www/index.html
+++ b/www/index.html
@@ -6,7 +6,7 @@
     
     Hack42 - HackBank
     
-    
+    
     
     
     
@@ -18,7 +18,7 @@
     
     
     
-    
+    
   
   
     
diff --git a/www/kassa-app.js b/www/kassa-app.js
index 86e3e9f..d612952 100644
--- a/www/kassa-app.js
+++ b/www/kassa-app.js
@@ -371,6 +371,11 @@ document.addEventListener("DOMContentLoaded", function() {
     screen.appendChild(heading);
     var actions=createElement('div',{class:'profile-actions'});
     actions.appendChild(actionButton('Full user history','history '+profile.user));
+    if(profile.user !== 'cash') {
+      var isMember=typeof profile.is_member === 'boolean' ? profile.is_member : members.includes(profile.user);
+      actions.appendChild(actionButton(isMember ? 'Promote to non-member' : 'Promote to Member',
+        (isMember ? 'delmember ' : 'addmember ')+profile.user,'profile-action membership-action'));
+    }
     if(buttonStudio) {
       var studioButton=createElement('button',{type:'button',class:'profile-action studio-launch',text:'✨ Button studio'});
       studioButton.addEventListener('click',function() { buttonStudio.open(profile); });
@@ -987,17 +992,12 @@ document.addEventListener("DOMContentLoaded", function() {
      focus();
   }
 
-  function showEmbeddedScreen(selector,title,url,hint) {
+  function showEmbeddedScreen(selector,title,url) {
     hideElement('#IRCwindow');
     hideElement('#spacewindow');
     showElement(selector);
     var screen=first(selector);
     if(screen.childElementCount !== 0) return;
-    var toolbar=createElement('div',{class: 'embed-toolbar'});
-    toolbar.appendChild(createElement('strong',{text: title}));
-    if(hint) toolbar.appendChild(createElement('span',{class: 'embed-note', text: hint}));
-    toolbar.appendChild(createElement('a',{href: url, target: '_blank', rel: 'noopener noreferrer', text: 'Open '+title+' ↗'}));
-    screen.appendChild(toolbar);
     screen.appendChild(createElement('iframe',{src: url, title: title, allow: 'autoplay; encrypted-media; picture-in-picture; fullscreen', allowfullscreen: ''}));
   }
 
diff --git a/www/stom.css b/www/stom.css
index c7e5371..aa7175c 100644
--- a/www/stom.css
+++ b/www/stom.css
@@ -332,14 +332,8 @@ iframe { display: block; border: 0; }
 .NewSaldo { grid-column: 3 / 5; margin-top: 14px; color: #31634e; font-size: 20px; }
 .NewSaldo::before { content: "€ "; }
 .mylines, .lines { height: 100%; padding: 16px; overflow: auto; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: #425364; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 13px; line-height: 1.8; }
-.embedded-screen { position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; overflow: hidden; background: #fff; }
-.embedded-screen iframe { flex: 1 1 0; width: 100%; min-height: 0; }
-.embed-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; padding: 14px 16px; border-bottom: 1px solid var(--line); background: #fcfdfd; font-size: 14px; }
-.embed-toolbar strong { margin-right: auto; }
-.embed-note { flex: 1; color: var(--muted); font-size: 12px; }
-.embed-toolbar a { padding: 8px 12px; border: 1px solid #d3dfd7; border-radius: 6px; background: #eef5f0; color: #285840; font-weight: 600; text-decoration: none; }
-.embed-toolbar a:hover { border-color: #7ea58b; background: #e1eee5; }
-.embed-toolbar a:focus-visible { outline: 3px solid #db860d; outline-offset: 2px; }
+.embedded-screen { position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; overflow: hidden; border-radius: 12px; background: #fff; }
+.embedded-screen iframe { flex: 1 1 0; width: 100%; min-height: 0; border-radius: inherit; }
 
 @keyframes receipt-in { from { opacity: .3; transform: translateY(-5px); } to { opacity: 1; transform: none; } }
 

From 7c9059c35911143235c9c9cc18000eef1646141e Mon Sep 17 00:00:00 2001
From: stitch1 
Date: Sat, 24 Oct 2026 20:07:30 +0200
Subject: [PATCH 21/25] Keep iframe rounding at the top and remove the pale
 corner fringe

---
 README.md      | 3 ++-
 www/index.html | 2 +-
 www/stom.css   | 6 ++++--
 3 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/README.md b/README.md
index 3ab505b..214d108 100644
--- a/README.md
+++ b/README.md
@@ -240,7 +240,8 @@ settings and small PNG data URLs are accepted; no arbitrary CSS or remote
 image/font URLs are stored. No new external runtime dependencies are needed.
 
 Home Assistant and Music open directly in the left-hand iframe with rounded
-corners and no extra toolbar. Music uses the LAN sound-system interface at
+top corners, square bottom corners and no extra toolbar. Music uses the LAN
+sound-system interface at
 `http://192.168.142.157:3000/`.
 The [supplied Hack42 logo](https://johnkr.com/wp-content/uploads/sites/2/2015/12/Hack42.png)
 is already included as `www/images/Hack42.png` and is now displayed in the header.
diff --git a/www/index.html b/www/index.html
index ec04584..92bac77 100644
--- a/www/index.html
+++ b/www/index.html
@@ -6,7 +6,7 @@
     
     Hack42 - HackBank
     
-    
+    
     
     
     
diff --git a/www/stom.css b/www/stom.css
index aa7175c..c6fd9b8 100644
--- a/www/stom.css
+++ b/www/stom.css
@@ -332,8 +332,10 @@ iframe { display: block; border: 0; }
 .NewSaldo { grid-column: 3 / 5; margin-top: 14px; color: #31634e; font-size: 20px; }
 .NewSaldo::before { content: "€ "; }
 .mylines, .lines { height: 100%; padding: 16px; overflow: auto; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: #425364; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 13px; line-height: 1.8; }
-.embedded-screen { position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; overflow: hidden; border-radius: 12px; background: #fff; }
-.embedded-screen iframe { flex: 1 1 0; width: 100%; min-height: 0; border-radius: inherit; }
+/* Clip once at the panel's inner top edge; a second rounded white surface
+   behind the iframe creates a pale fringe, particularly in dark mode. */
+.embedded-screen { position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; overflow: hidden; border-radius: 11px 11px 0 0; background: var(--panel); }
+.embedded-screen iframe { flex: 1 1 0; width: 100%; min-height: 0; border-radius: 0; background: transparent; }
 
 @keyframes receipt-in { from { opacity: .3; transform: translateY(-5px); } to { opacity: 1; transform: none; } }
 

From e36ea525a9409b505737ed283141e6ddf04706b3 Mon Sep 17 00:00:00 2001
From: stitch1 
Date: Sat, 24 Oct 2026 20:28:00 +0200
Subject: [PATCH 22/25] Refresh Lovelace Bar branding, navigation and idle
 scanner focus

---
 README.md                         | 20 +++++--
 package.json                      |  2 +-
 tests/js/browser-smoke.test.js    |  1 +
 tests/js/index-scripts.test.js    |  1 +
 tests/js/kassa-app.test.js        | 15 ++++--
 tests/js/kassa-idle-focus.test.js | 89 +++++++++++++++++++++++++++++++
 www/index.html                    |  5 +-
 www/kassa-app.js                  | 27 +++++-----
 www/kassa-idle-focus.js           | 49 +++++++++++++++++
 www/stom.css                      |  3 ++
 10 files changed, 190 insertions(+), 22 deletions(-)
 create mode 100644 tests/js/kassa-idle-focus.test.js
 create mode 100644 www/kassa-idle-focus.js

diff --git a/README.md b/README.md
index 214d108..71924db 100644
--- a/README.md
+++ b/README.md
@@ -109,7 +109,17 @@ both update the filter; Tab still completes a unique match.
 Products and commands retain pages of up to 56 buttons (8×7) at 1920×1080,
 or 25 buttons on smaller screens. The command bar's Enter button submits the
 same command as pressing Enter on the keyboard.
-The larger Members/Other users buttons and page tabs support touch selection.
+After one minute without keyboard, pointer, touch, wheel or form activity, the
+command line regains focus if it has lost it. This preserves unsubmitted text,
+the current screen and receipt, and sends no command. Music, Home Assistant
+and open dialogs keep their focus; hidden or unfocused browser windows are
+left alone. Activity inside the cross-origin embedded pages cannot be observed
+by the bar, so their selected views are excluded until the user leaves them.
+
+The header identifies the venue as Lovelace Bar, with Drinks @ Hack42 below it.
+The log strip is labelled HISTORY and the receipt footer reads
+Eat. Drink. Hack. Repeat.
+The larger Members/Guests buttons and page tabs support touch selection.
 Commands are grouped into Products, Users, Sales, Wholesale, Market and Misc,
 with an Abort action and a Settings section. Category tabs and headings have
 emoji icons. All commands stacks the groups vertically, with four buttons per
@@ -140,7 +150,8 @@ let clicks through. The local canvas renderer stops when no particles remain;
 switching the setting off clears them immediately. Refunds, deposits, transfers
 and undo do not trigger the larger sale shower, and reconnecting does not replay it.
 
-Member and Other users lists end with an Archive tab after the page buttons.
+Members and Guests lists keep their Archive tab at the far right, after the
+page buttons, including when there are multiple pages.
 Archives list accounts whose last purchase is older than a year, in alphabetical order.
 New accounts with no purchase record use their last account update as a conservative fallback.
 A read-only index of
@@ -153,7 +164,7 @@ refunds and undo lines are excluded from purchase history.
 Clicking a user with an empty sale shows the balance and up to ten recent
 purchase line items, alongside OK, undo, restore, receipt and cash drawer controls.
 Every visit receives a fresh profile response, even when its data is unchanged.
-The user page also offers Promote to non-member or Promote to Member, using
+The user page also offers Promote to guest or Promote to Member, using
 the existing `delmember ` / `addmember ` commands. The action uses
 actual membership, including while party mode changes the visible member list.
 After checkout, the same view combines the transaction summary with the updated
@@ -243,6 +254,9 @@ Home Assistant and Music open directly in the left-hand iframe with rounded
 top corners, square bottom corners and no extra toolbar. Music uses the LAN
 sound-system interface at
 `http://192.168.142.157:3000/`.
+The selected Music tab matches Trollibox orange, while Home Assistant uses
+its [primary blue](https://contributors.home-assistant.io/design/foundations/color/).
+Both use dark text and icons for contrast.
 The [supplied Hack42 logo](https://johnkr.com/wp-content/uploads/sites/2/2015/12/Hack42.png)
 is already included as `www/images/Hack42.png` and is now displayed in the header.
 
diff --git a/package.json b/package.json
index 52baf43..ddcc5c3 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@
   "name": "kassa",
   "private": true,
   "scripts": {
-    "lint:js": "eslint www/kassa-textfill.js www/kassa-dom.js www/kassa-buttons.js www/kassa-stream.js www/kassa-audio.js www/kassa-sound-settings.js www/kassa-confetti.js www/kassa-preferences.js www/kassa-button-styles.js www/kassa-button-studio.js www/kassa-app.js www/spaceconsole/all.js tests/js/*.test.js",
+    "lint:js": "eslint www/kassa-textfill.js www/kassa-dom.js www/kassa-buttons.js www/kassa-stream.js www/kassa-audio.js www/kassa-sound-settings.js www/kassa-confetti.js www/kassa-preferences.js www/kassa-button-styles.js www/kassa-button-studio.js www/kassa-idle-focus.js www/kassa-app.js www/spaceconsole/all.js tests/js/*.test.js",
     "test:js": "node --test tests/js/*.test.js"
   },
   "devDependencies": {
diff --git a/tests/js/browser-smoke.test.js b/tests/js/browser-smoke.test.js
index 769e4c0..2f165b0 100644
--- a/tests/js/browser-smoke.test.js
+++ b/tests/js/browser-smoke.test.js
@@ -87,6 +87,7 @@ function writeKassaFixture(bodyScript) {
     ${scriptTag("kassa-button-studio.js")}
     ${scriptTag("kassa-confetti.js")}
     ${scriptTag("kassa-preferences.js")}
+    ${scriptTag("kassa-idle-focus.js")}
     ${scriptTag("kassa-app.js")}
     
   
diff --git a/tests/js/index-scripts.test.js b/tests/js/index-scripts.test.js
index e6ada2a..a69b7a3 100644
--- a/tests/js/index-scripts.test.js
+++ b/tests/js/index-scripts.test.js
@@ -21,6 +21,7 @@ test("main index loads split kassa scripts in dependency order", () => {
     "kassa-preferences.js",
     "kassa-button-styles.js",
     "kassa-button-studio.js",
+    "kassa-idle-focus.js",
     "kassa-app.js",
   ]);
   assert(!html.includes('src="all.js"'));
diff --git a/tests/js/kassa-app.test.js b/tests/js/kassa-app.test.js
index 2ad2db0..ec283b0 100644
--- a/tests/js/kassa-app.test.js
+++ b/tests/js/kassa-app.test.js
@@ -318,6 +318,13 @@ test("kassa app builds the startup layout and opens a session stream", () => {
   assert.equal(String(fetchCalls[0].options.body), "topic=session%2Fbar%2Finput&msg=");
   assert.equal(elements.Zoek.placeholder, "Starting network communication");
   assert(textfillCalls.length > 0);
+  assert.equal(findFirst(elements.LogoAbort,'.brand-name').textContent,'Lovelace Bar');
+  assert.equal(findFirst(elements.LogoAbort,'.brand-caption').textContent,'Drinks @ Hack42');
+  assert.equal(findFirst(elements.LeftButtons,'#abort').children[0].textContent,'Cancel');
+  assert.equal(findFirst(elements.LeftButtons,'#otherusers').children[0].textContent,'Guests');
+  assert.equal(findFirst(elements.Log.parentElement,'.activity-label').textContent,'HISTORY');
+  assert.equal(findFirst(elements.Receipt2.parentElement,'.eyebrow'),null);
+  assert.equal(findFirst(elements.Receipt2.parentElement,'.receipt-footer').children.at(-1).textContent,'Eat. Drink. Hack. Repeat.');
 });
 
 test("kassa app wires Enter in the search input to post input and clear it", () => {
@@ -453,7 +460,7 @@ test("account pages use their own capacity and retain cash and amount controls",
     }});
     assert.deepEqual(findAll(elements.AccountList, ".Buttontext").map((el) => el.textContent), names.slice(66));
     assert.equal(findAll(elements.TopButtons, ".page").length, Math.ceil(125/capacity));
-    assert.equal(elements.TopButtons.children.at(-1).textContent, "Other users Archive (0)");
+    assert.equal(elements.TopButtons.children.at(-1).textContent, "Guests Archive (0)");
   });
 });
 
@@ -631,11 +638,11 @@ test("Music and Home Assistant open their LAN frames and switch cleanly", () =>
 
 test("profile membership actions send the existing command for the selected user", () => {
   const cases=[
-    {members:["Jos"],profile:{is_member:true},label:"Promote to non-member",command:"delmember Jos"},
+    {members:["Jos"],profile:{is_member:true},label:"Promote to guest",command:"delmember Jos"},
     {members:[],profile:{is_member:false},label:"Promote to Member",command:"addmember Jos"},
-    {members:["party"],profile:{is_member:true},label:"Promote to non-member",command:"delmember Jos"},
+    {members:["party"],profile:{is_member:true},label:"Promote to guest",command:"delmember Jos"},
     {members:["Jos"],profile:{is_member:false},label:"Promote to Member",command:"addmember Jos"},
-    {members:["Jos"],profile:{},label:"Promote to non-member",command:"delmember Jos"},
+    {members:["Jos"],profile:{},label:"Promote to guest",command:"delmember Jos"},
   ];
   cases.forEach((scenario) => {
     const {elements,eventSources,fetchCalls}=loadKassaApp();
diff --git a/tests/js/kassa-idle-focus.test.js b/tests/js/kassa-idle-focus.test.js
new file mode 100644
index 0000000..9381b93
--- /dev/null
+++ b/tests/js/kassa-idle-focus.test.js
@@ -0,0 +1,89 @@
+const assert=require('node:assert/strict');
+const fs=require('node:fs');
+const path=require('node:path');
+const test=require('node:test');
+const vm=require('node:vm');
+
+function load() {
+  let now=0, sequence=0, paused=false, focused=true, dialog=false;
+  const timers=new Map(), documentEvents=new Map(), windowEvents=new Map();
+  const document={
+    hidden:false,activeElement:{tagName:'BUTTON'},
+    hasFocus:()=>focused,
+    querySelector:()=>dialog ? {} : null,
+    addEventListener:(name,callback)=>documentEvents.set(name,callback),
+    removeEventListener:(name)=>documentEvents.delete(name),
+  };
+  const input={value:'2* clubmate',focusCalls:0,focus(options){this.focusCalls++;this.focusOptions=options;document.activeElement=this;}};
+  const window={
+    setTimeout(callback,delay){const id=++sequence;timers.set(id,{callback,due:now+delay});return id;},
+    clearTimeout:(id)=>timers.delete(id),
+    addEventListener:(name,callback)=>windowEvents.set(name,callback),
+    removeEventListener:(name)=>windowEvents.delete(name),
+  };
+  vm.runInNewContext(fs.readFileSync(path.join(__dirname,'../../www/kassa-idle-focus.js'),'utf8'),{window,document,Date:{now:()=>now}});
+  const controller=window.HackBankIdleFocus.watch({getInput:()=>input,isPaused:()=>paused});
+  function advance(ms) {
+    const until=now+ms;
+    for(;;) {
+      const next=Array.from(timers).filter(([,timer])=>timer.due<=until).sort((a,b)=>a[1].due-b[1].due)[0];
+      if(!next) break;
+      now=next[1].due;timers.delete(next[0]);next[1].callback();
+    }
+    now=until;
+  }
+  return {document,input,controller,timers,advance,
+    activity:(name)=>documentEvents.get(name)(),
+    windowEvent:(name)=>windowEvents.get(name)(),
+    pause:(value)=>{paused=value;},modal:(value)=>{dialog=value;},windowFocus:(value)=>{focused=value;},
+    listenerCount:()=>documentEvents.size+windowEvents.size};
+}
+
+test('one minute of inactivity focuses the command line without changing its text',()=>{
+  const app=load();
+  app.advance(59999);assert.equal(app.input.focusCalls,0);
+  app.advance(1);assert.equal(app.input.focusCalls,1);
+  assert.equal(app.input.focusOptions.preventScroll,true);
+  assert.equal(app.input.value,'2* clubmate');
+  app.advance(120000);assert.equal(app.input.focusCalls,1);
+});
+
+test('keyboard, mouse, touch and form activity each restart the minute',()=>{
+  for(const event of ['keydown','input','pointerdown','pointermove','click','wheel','change','touchmove']) {
+    const app=load();
+    app.advance(59000);app.activity(event);
+    app.advance(59999);assert.equal(app.input.focusCalls,0,event);
+    app.advance(1);assert.equal(app.input.focusCalls,1,event);
+  }
+});
+
+test('embedded pages retain focus until the user returns to the bar',()=>{
+  const app=load();app.pause(true);
+  app.advance(180000);assert.equal(app.input.focusCalls,0);
+  app.pause(false);app.activity('pointerdown');
+  app.advance(59999);assert.equal(app.input.focusCalls,0);
+  app.advance(1);assert.equal(app.input.focusCalls,1);
+});
+
+test('iframe focus and open dialogs are left alone',()=>{
+  const app=load();app.document.activeElement={tagName:'IFRAME'};
+  app.advance(60000);assert.equal(app.input.focusCalls,0);
+  app.document.activeElement={tagName:'BUTTON'};app.modal(true);
+  app.advance(60000);assert.equal(app.input.focusCalls,0);
+  app.modal(false);app.advance(1000);assert.equal(app.input.focusCalls,1);
+});
+
+test('hidden or unfocused windows do not reclaim focus, and recover when returning',()=>{
+  const app=load();app.document.hidden=true;
+  app.advance(60000);assert.equal(app.input.focusCalls,0);
+  app.document.hidden=false;app.windowFocus(false);
+  app.advance(60000);assert.equal(app.input.focusCalls,0);
+  app.windowFocus(true);app.windowEvent('focus');
+  assert.equal(app.input.focusCalls,1);
+});
+
+test('stopping clears the timer and all activity listeners',()=>{
+  const app=load();app.controller.stop();
+  assert.equal(app.timers.size,0);assert.equal(app.listenerCount(),0);
+  app.advance(120000);assert.equal(app.input.focusCalls,0);
+});
diff --git a/www/index.html b/www/index.html
index 92bac77..63fa9b9 100644
--- a/www/index.html
+++ b/www/index.html
@@ -6,7 +6,7 @@
     
     Hack42 - HackBank
     
-    
+    
     
     
     
@@ -18,7 +18,8 @@
     
     
     
-    
+    
+    
   
   
     
diff --git a/www/kassa-app.js b/www/kassa-app.js
index d612952..dcdb64a 100644
--- a/www/kassa-app.js
+++ b/www/kassa-app.js
@@ -202,9 +202,9 @@ document.addEventListener("DOMContentLoaded", function() {
   function addArchiveTabs() {
     if(!accountSections) return;
     var top=document.getElementById('TopButtons');
-    var name=accountType === 'm' ? 'Members' : 'Other users';
+    var name=accountType === 'm' ? 'Members' : 'Guests';
     [[false,name],[true,name+' Archive']].forEach(function(item) {
-      var tab=createElement('button',{type:'button',class:'archive-tab'+(archivedAccounts === item[0] ? ' selected' : ''),text:item[1]+' ('+accountSections[item[0] ? 'archive' : 'active'].length+')', 'aria-pressed':String(archivedAccounts === item[0])});
+      var tab=createElement('button',{type:'button',class:'archive-tab'+(item[0] ? ' archive' : '')+(archivedAccounts === item[0] ? ' selected' : ''),text:item[1]+' ('+accountSections[item[0] ? 'archive' : 'active'].length+')', 'aria-pressed':String(archivedAccounts === item[0])});
       if(item[0] && (!activity || !activity.available)) { tab.disabled=true; tab.title='Archive unavailable until purchase history can be checked'; }
       tab.addEventListener('click',function() { makeAccountSections(accountType,item[0]); prependCashButton(); focus(); });
       if(item[0]) top.appendChild(tab);
@@ -373,7 +373,7 @@ document.addEventListener("DOMContentLoaded", function() {
     actions.appendChild(actionButton('Full user history','history '+profile.user));
     if(profile.user !== 'cash') {
       var isMember=typeof profile.is_member === 'boolean' ? profile.is_member : members.includes(profile.user);
-      actions.appendChild(actionButton(isMember ? 'Promote to non-member' : 'Promote to Member',
+      actions.appendChild(actionButton(isMember ? 'Promote to guest' : 'Promote to Member',
         (isMember ? 'delmember ' : 'addmember ')+profile.user,'profile-action membership-action'));
     }
     if(buttonStudio) {
@@ -1102,12 +1102,12 @@ document.addEventListener("DOMContentLoaded", function() {
 
   function buildLayout() {
     var header=createElement('header',{class: 'app-header row'});
-    var logoAbort=createElement('button',{id: 'LogoAbort', class: 'brand brand-abort col-auto', type: 'button', title: 'Reset current sale', 'aria-label': 'Hack42 HackBank — Reset current sale'});
+    var logoAbort=createElement('button',{id: 'LogoAbort', class: 'brand brand-abort col-auto', type: 'button', title: 'Reset current sale', 'aria-label': 'Lovelace Bar — Reset current sale'});
     appendChildren(logoAbort,[
       createElement('img',{class: 'brand-logo', src: 'images/Hack42.png', alt: 'Hack42 · Hackerspace Arnhem', width: '84', height: '56'}),
       appendChildren(createElement('span'), [
-        createElement('span',{class: 'brand-name', text: 'hackbank'}),
-        createElement('span',{class: 'brand-caption', text: 'HACK42 · BAR & DRINKS'}),
+        createElement('span',{class: 'brand-name', text: 'Lovelace Bar'}),
+        createElement('span',{class: 'brand-caption', text: 'Drinks @ Hack42'}),
       ]),
     ]);
     logoAbort.addEventListener('click',function() {
@@ -1136,15 +1136,14 @@ document.addEventListener("DOMContentLoaded", function() {
     screens.appendChild(createElement('div',{id: 'IRCwindow', class: 'embedded-screen'}));
     screens.appendChild(createElement('div',{id: 'spacewindow', class: 'embedded-screen'}));
     leftColumn.appendChild(screens);
-    leftColumn.appendChild(appendChildren(createElement('section',{class: 'activity', 'aria-label': 'Register activity'}), [
-      createElement('span',{class: 'activity-label', text: 'ACTIVITY'}),
+    leftColumn.appendChild(appendChildren(createElement('section',{class: 'activity', 'aria-label': 'Register history'}), [
+      createElement('span',{class: 'activity-label', text: 'HISTORY'}),
       createElement('div',{id: 'Log', role: 'log', 'aria-live': 'polite'}),
     ]));
     workspace.appendChild(leftColumn);
 
     var receiptPanel=createElement('aside',{class: 'receipt-panel col-auto', 'aria-label': 'Sale receipt'});
     receiptPanel.appendChild(appendChildren(createElement('div',{class: 'receipt-heading'}), [
-      createElement('span',{class: 'eyebrow', text: 'THE HACK42 BAR'}),
       createElement('h2',{text: 'On the tab'}),
       createElement('span',{class: 'receipt-currency', text: 'EUR'}),
     ]));
@@ -1157,7 +1156,7 @@ document.addEventListener("DOMContentLoaded", function() {
     receiptPanel.appendChild(createElement('div',{id: 'Totals', class: 'Totals', 'aria-label': 'Account totals', 'aria-live': 'polite'}));
     receiptPanel.appendChild(appendChildren(createElement('div',{class: 'receipt-footer'}), [
       createElement('span',{class: 'receipt-barcode', 'aria-hidden': 'true'}),
-      createElement('span',{text: 'HACK42 · HACK. SIP. REPEAT.'}),
+      createElement('span',{text: 'Eat. Drink. Hack. Repeat.'}),
     ]));
     workspace.appendChild(receiptPanel);
     appendTo('#body', workspace);
@@ -1187,9 +1186,9 @@ document.addEventListener("DOMContentLoaded", function() {
       spacecon: '',
     };
     var buttons=[
-      ["Knopje Button topknop normal abort",'abort',"Abort"],
+      ["Knopje Button topknop normal abort",'abort',"Cancel"],
       ["Knopje Button topknop special",'members',"Members"],
-      ["Knopje Button topknop special",'otherusers',"Other Users"],
+      ["Knopje Button topknop special",'otherusers',"Guests"],
       ["Knopje Button topknop special",'products',"Products"],
       ["Knopje Button topknop special",'commands',"Commands"],
       ["Knopje Button topknop sounds",'sounds',"Sounds"],
@@ -1248,6 +1247,10 @@ document.addEventListener("DOMContentLoaded", function() {
   fillVisibleText(".Knopjetext:visible");
   bindButtonEvents();
   bindSearchInput();
+  if(window.HackBankIdleFocus) window.HackBankIdleFocus.watch({
+    getInput:searchInput,
+    isPaused:function() { return currentView === 'embedded'; },
+  });
   document.body.addEventListener('keydown', function(event) {
     if(event.target.id === 'Zoek' || (event.key !== 'Enter' && event.key !== ' ')) return;
     var button=event.target.closest && event.target.closest('.Knopje');
diff --git a/www/kassa-idle-focus.js b/www/kassa-idle-focus.js
new file mode 100644
index 0000000..a451829
--- /dev/null
+++ b/www/kassa-idle-focus.js
@@ -0,0 +1,49 @@
+(function(window, document) {
+  var IDLE_MS=60000;
+  var EVENTS=['pointerdown','pointerup','pointermove','click','keydown','input','change','wheel','touchstart','touchmove'];
+
+  function watch(options) {
+    var lastActivity=Date.now();
+    var timer=null;
+    var stopped=false;
+    var checking=false;
+    function activity() { lastActivity=Date.now(); }
+    function schedule(delay) {
+      window.clearTimeout(timer);
+      timer=window.setTimeout(check,delay);
+    }
+    function check() {
+      if(stopped || checking) return;
+      checking=true;
+      try {
+        var remaining=IDLE_MS-(Date.now()-lastActivity);
+        if(remaining > 0) { schedule(remaining); return; }
+        var active=document.activeElement;
+        var blocked=document.hidden || !document.hasFocus() ||
+          (options.isPaused && options.isPaused()) ||
+          (active && active.tagName === 'IFRAME') || document.querySelector('dialog[open]');
+        if(blocked) { schedule(1000); return; }
+        var input=options.getInput();
+        if(input && active !== input) input.focus({preventScroll:true});
+        schedule(IDLE_MS);
+      } finally {
+        checking=false;
+      }
+    }
+    EVENTS.forEach(function(event) { document.addEventListener(event,activity,{capture:true,passive:true}); });
+    window.addEventListener('blur',activity);
+    window.addEventListener('focus',check);
+    document.addEventListener('visibilitychange',check);
+    schedule(IDLE_MS);
+    return {
+      stop:function() {
+        stopped=true; window.clearTimeout(timer);
+        EVENTS.forEach(function(event) { document.removeEventListener(event,activity,true); });
+        window.removeEventListener('blur',activity);
+        window.removeEventListener('focus',check);
+        document.removeEventListener('visibilitychange',check);
+      },
+    };
+  }
+  window.HackBankIdleFocus={watch:watch};
+})(window, document);
diff --git a/www/stom.css b/www/stom.css
index c6fd9b8..c7de448 100644
--- a/www/stom.css
+++ b/www/stom.css
@@ -103,6 +103,8 @@ iframe { display: block; border: 0; }
 }
 .topknop:hover { color: #fff; background: #ffffff0c; border-color: #ffffff18; box-shadow: none; }
 .topknop.activetop { color: #1e2730; background: var(--accent); box-shadow: 0 3px 14px #ffbf6912; }
+.topknop.irc.activetop { color: #211307; background: #ff6600; box-shadow: none; }
+.topknop.spacecon.activetop { color: #082c3a; background: #18bcf2; box-shadow: none; }
 .topknop.abort { flex: .8 1 0; color: #f6a1a6; border-color: #dc69702b; background: #7b263226; }
 .topknop.abort:hover { color: #fff; border-color: #e17980; background: #8b3542; }
 .topknop.spacecon { flex-grow: 1.35; }
@@ -345,6 +347,7 @@ iframe { display: block; border: 0; }
 .category-icon { display: inline-block; margin-right: 7px; font-size: 17px; line-height: 1; letter-spacing: 0; vertical-align: middle; }
 .command-tab.selected, .archive-tab.selected { color: #1c3f59; border-color: #91adc2; background: #dce9f3; }
 .archive-tab:disabled { opacity: .5; cursor: default; }
+.archive-tab.archive { margin-left: auto; }
 .abort-all { background: #fff0f1; border-color: #edc9ce; color: #a33342; white-space: nowrap; }
 .command-sections { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; align-items: start; }
 .command-section { padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: #fff; min-width: 0; }

From 77b2c93db10281f5d20bc3335ae18ebd39bf1a83 Mon Sep 17 00:00:00 2001
From: stitch1 
Date: Sat, 24 Oct 2026 21:26:47 +0200
Subject: [PATCH 23/25] Add ambient shader button presets with stable previews
 and user seeds

---
 README.md                          |  29 ++-
 button_themes.py                   |  12 +-
 package.json                       |   2 +-
 tests/fixtures/button-shaders.html |  84 ++++++++
 tests/js/browser-smoke.test.js     |  44 ++++-
 tests/js/index-scripts.test.js     |   1 +
 tests/js/kassa-app.test.js         |   1 +
 tests/test_button_themes.py        |  25 +++
 www/index.html                     |  11 +-
 www/kassa-app.js                   |  10 +-
 www/kassa-button-shaders.js        | 305 +++++++++++++++++++++++++++++
 www/kassa-button-studio.css        |   8 +-
 www/kassa-button-studio.js         |  86 ++++++--
 www/kassa-button-styles.js         |  14 +-
 www/stom.css                       |   6 +
 15 files changed, 598 insertions(+), 40 deletions(-)
 create mode 100644 tests/fixtures/button-shaders.html
 create mode 100644 www/kassa-button-shaders.js

diff --git a/README.md b/README.md
index 71924db..42096ca 100644
--- a/README.md
+++ b/README.md
@@ -227,6 +227,32 @@ letters. Older saved designs continue to load with the backdrop off.
 The native colour picker and six-digit hex fields work together.
 Large scroll buttons also work on the bar's touch screen without swipe gestures.
 
+**Pick your kind of magic** includes four animated shader presets alongside
+the other backgrounds: Five lights, Snow, Cubes and Synthwave.
+Cubes rotate in a wave from bottom left to top right; Synthwave drives through
+a landscape of wireframe hills. Tap a sample or choose it under Background style, then
+adjust its scene colours, effect cycle (longer is slower) and intensity.
+These are original, texture-free shaders inspired by the supplied
+[lights](https://glslsandbox.com/e#109700.0),
+[snow](https://glslsandbox.com/e#109692.0),
+[cubes](https://www.shadertoy.com/view/MdVXzw) and
+[synthwave](https://www.shadertoy.com/view/tsScRK) references; no demo code,
+remote assets or third-party shader libraries are shipped.
+
+The local WebGL 1 renderer shares one context across every button and preview,
+batches identical scenes for the same user, caps its internal image at 320 × 128 pixels and
+runs at up to 24 frames per second. Hidden/off-screen buttons pause; opening
+the studio pauses buttons behind the dialog. Reduced-motion mode uses a
+still scene. If WebGL is unavailable or its context is lost, the saved colour
+gradient stays visible and names, balances and button actions keep working.
+Shader choices use the existing private button design storage, with the same
+version-1 schema and a fixed allowlist of scene names.
+Animation phases include a stable hash of the username, so people sharing a
+preset move differently. Studio samples and the draft use the current user's
+seed. Selecting another preset keeps the gallery canvases and draft canvas
+alive; the small shared render buffer is preserved between copies to avoid
+empty frames on Firefox graphics backends.
+
 Upload a PNG, JPEG, WebP or GIF (up to 8 MB), drag it into the icon area, or
 paste an image with Ctrl+V / ⌘V while the dialog is focused. The browser crops
 it to a square and resizes it to a 144 × 144 PNG; GIFs become still icons.
@@ -303,7 +329,8 @@ silent Sounds navigation, also require restarting the existing POS backend.
 The profile response fix in `kassa.py` and sale display events in
 `plugins/historie.py` require the same backend restart.
 Button studio deployments must also include `button_themes.py`,
-`plugins/buttonstudio.py`, the new JS/CSS files and the updated PHP routes,
+`plugins/buttonstudio.py`, the JS/CSS files (including
+`www/kassa-button-shaders.js`) and the updated PHP routes,
 and restart the POS backend. Existing private button data must be preserved.
 The sound-folder update also requires a backend restart and an audio-controller
 restart; include `pos_sound_settings.py` and the entire `www/sounds` tree when
diff --git a/button_themes.py b/button_themes.py
index b4e8042..ff6e079 100644
--- a/button_themes.py
+++ b/button_themes.py
@@ -118,7 +118,17 @@ def validate_theme(value):
         "version": 1,
         "background": {
             "kind": choice(
-                background["kind"], {"solid", "gradient", "glitter", "plasma"}
+                background["kind"],
+                {
+                    "solid",
+                    "gradient",
+                    "glitter",
+                    "plasma",
+                    "shader-lights",
+                    "shader-snow",
+                    "shader-cubes",
+                    "shader-synthwave",
+                },
             ),
             "color": color(background["color"]),
             "gradient": gradient(background["gradient"]),
diff --git a/package.json b/package.json
index ddcc5c3..501faa7 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@
   "name": "kassa",
   "private": true,
   "scripts": {
-    "lint:js": "eslint www/kassa-textfill.js www/kassa-dom.js www/kassa-buttons.js www/kassa-stream.js www/kassa-audio.js www/kassa-sound-settings.js www/kassa-confetti.js www/kassa-preferences.js www/kassa-button-styles.js www/kassa-button-studio.js www/kassa-idle-focus.js www/kassa-app.js www/spaceconsole/all.js tests/js/*.test.js",
+    "lint:js": "eslint www/kassa-textfill.js www/kassa-dom.js www/kassa-buttons.js www/kassa-stream.js www/kassa-audio.js www/kassa-sound-settings.js www/kassa-confetti.js www/kassa-preferences.js www/kassa-button-shaders.js www/kassa-button-styles.js www/kassa-button-studio.js www/kassa-idle-focus.js www/kassa-app.js www/spaceconsole/all.js tests/js/*.test.js",
     "test:js": "node --test tests/js/*.test.js"
   },
   "devDependencies": {
diff --git a/tests/fixtures/button-shaders.html b/tests/fixtures/button-shaders.html
new file mode 100644
index 0000000..be2447a
--- /dev/null
+++ b/tests/fixtures/button-shaders.html
@@ -0,0 +1,84 @@
+
+
+
+  
+  Ambient button shader checks
+  
+  
+  
+  
+  
+  
+
+
+  
+  
+  
+
+
diff --git a/tests/js/browser-smoke.test.js b/tests/js/browser-smoke.test.js
index 2f165b0..689c2d9 100644
--- a/tests/js/browser-smoke.test.js
+++ b/tests/js/browser-smoke.test.js
@@ -19,7 +19,7 @@ function chromiumCommand() {
   });
 }
 
-function runChromium(command, url) {
+function runChromium(command, url, extraArgs=[]) {
   const profile = fs.mkdtempSync(path.join(os.tmpdir(), "kassa-chromium-"));
   try {
     return spawnSync(command, [
@@ -34,6 +34,7 @@ function runChromium(command, url) {
       "--allow-file-access-from-files",
       "--dump-dom",
       "--virtual-time-budget=3000",
+      ...extraArgs,
       url,
     ], {
       encoding: "utf8",
@@ -56,6 +57,36 @@ function scriptTag(scriptName) {
   return ``;
 }
 
+for(const disabled of [false,true]) {
+  test(disabled ? 'shader buttons keep their gradient and labels when WebGL is unavailable' : 'ambient presets render distinct scenes through one shared WebGL context', (t)=>{
+    const command=chromiumCommand();
+    if(!command) { t.skip('Chromium is not available'); return; }
+    const url='file://'+path.resolve(__dirname,'../fixtures/button-shaders.html')+'?report'+(disabled ? '&disabled' : '');
+    const result=runChromium(command,url,['--enable-unsafe-swiftshader','--use-angle=swiftshader']);
+    if(skipIfChromiumSandboxed(t,result)) return;
+    assert.ifError(result.error);
+    assert.equal(result.status,0,result.stderr);
+    const match=result.stdout.match(/
([^<]+)<\/pre>/);
+    assert(match,result.stdout);
+    const data=JSON.parse(match[1].replaceAll('"','"').replaceAll('&','&'));
+    assert.equal(data.contexts,1);
+    assert.equal(data.canvases,17);
+    assert.equal(data.labels,17);
+    assert.equal(data.fallback,true);
+    if(disabled) {
+      assert.equal(data.status,'unavailable');
+      assert(data.samples.every(sample=>sample.state==='fallback'));
+    } else {
+      assert.equal(data.status,'ready',result.stderr);
+      assert(data.samples.every(sample=>sample.state==='animated' && sample.bright>1000 && sample.width<=320 && sample.height<=128),JSON.stringify(data));
+      assert.equal(new Set(data.samples.map(sample=>sample.hash)).size,4);
+      assert.equal(new Set(data.seedSamples.slice(0,12).map(sample=>sample.hash)).size,12);
+      assert.equal(data.seedSamples.at(-1).hash,data.samples[0].hash);
+      assert.equal(data.preserved,true);
+    }
+  });
+}
+
 function writeKassaFixture(bodyScript) {
   const fixturePath = path.join(os.tmpdir(), `kassa-browser-smoke-${process.pid}-${Date.now()}.html`);
   fs.writeFileSync(fixturePath, `
@@ -83,6 +114,7 @@ function writeKassaFixture(bodyScript) {
     ${scriptTag("kassa-stream.js")}
     ${scriptTag("kassa-audio.js")}
     ${scriptTag("kassa-sound-settings.js")}
+    ${scriptTag("kassa-button-shaders.js")}
     ${scriptTag("kassa-button-styles.js")}
     ${scriptTag("kassa-button-studio.js")}
     ${scriptTag("kassa-confetti.js")}
@@ -290,6 +322,13 @@ test("button studio previews locally, saves one user's design and cancels withou
           document.querySelector('.studio-launch').click(); await wait(30);
           var dialog=document.querySelector('.button-studio');
           var current=dialog.querySelector('.studio-current').innerHTML;
+          var presets=Array.from(dialog.querySelectorAll('.studio-presets .studio-preset'));
+          result.allPresetsTogether=presets.length===10 && !dialog.querySelector('.studio-ambient');
+          presets[6].click();
+          var previewCanvas=dialog.querySelector('.studio-new .magic-shader-canvas');
+          presets[7].click(); presets[8].click(); presets[9].click();
+          result.previewCanvasPreserved=previewCanvas===dialog.querySelector('.studio-new .magic-shader-canvas');
+          result.presetCanvasesPreserved=presets.every(function(tile,index) { return tile===dialog.querySelectorAll('.studio-presets .studio-preset')[index]; });
           dialog.querySelectorAll('.studio-preset')[0].click();
           var style=dialog.querySelector('select'); style.value='plasma'; style.dispatchEvent(new Event('change'));
           document.querySelector('#Studio-tab-Lettering').click();
@@ -331,6 +370,9 @@ test("button studio previews locally, saves one user's design and cancels withou
   const data=JSON.parse(match[1].replaceAll('"','"').replaceAll('&','&'));
   assert.equal(data.error,undefined,JSON.stringify(data));
   assert.equal(data.currentUnchanged,true);
+  assert.equal(data.allPresetsTogether,true);
+  assert.equal(data.previewCanvasPreserved,true);
+  assert.equal(data.presetCanvasesPreserved,true);
   assert.equal(data.livePlasma,true);
   assert.equal(data.liveBackdrop,true);
   assert.equal(data.previewSize,'30px');
diff --git a/tests/js/index-scripts.test.js b/tests/js/index-scripts.test.js
index a69b7a3..e8eca38 100644
--- a/tests/js/index-scripts.test.js
+++ b/tests/js/index-scripts.test.js
@@ -19,6 +19,7 @@ test("main index loads split kassa scripts in dependency order", () => {
     "kassa-sound-settings.js",
     "kassa-confetti.js",
     "kassa-preferences.js",
+    "kassa-button-shaders.js",
     "kassa-button-styles.js",
     "kassa-button-studio.js",
     "kassa-idle-focus.js",
diff --git a/tests/js/kassa-app.test.js b/tests/js/kassa-app.test.js
index ec283b0..d78c6b7 100644
--- a/tests/js/kassa-app.test.js
+++ b/tests/js/kassa-app.test.js
@@ -655,6 +655,7 @@ test("profile membership actions send the existing command for the selected user
     const action=findFirst(elements.MainButtons,".membership-action");
     assert.equal(action.textContent,scenario.label);
     assert.equal(findAll(elements.MainButtons,".membership-action").length,1);
+    assert.equal(findFirst(elements.MainButtons,".profile-actions").children.at(-1),action);
     action.eventListeners.click();
     assert.equal(fetchCalls.length,2);
     const params=new URLSearchParams(fetchCalls[1].options.body);
diff --git a/tests/test_button_themes.py b/tests/test_button_themes.py
index 48b96dc..4b76175 100644
--- a/tests/test_button_themes.py
+++ b/tests/test_button_themes.py
@@ -70,6 +70,31 @@ def test_designs_are_shared_survive_restart_and_keep_other_users(tmp_path, theme
     assert saved["stitch"]["background"]["color"] == "#6088b0"
 
 
+@pytest.mark.parametrize(
+    "kind", ["shader-lights", "shader-snow", "shader-cubes", "shader-synthwave"]
+)
+def test_ambient_shaders_survive_restart_without_changing_other_settings(
+    tmp_path, theme, kind
+):
+    theme["background"]["kind"] = kind
+    store = ButtonThemes(tmp_path / "buttons.json")
+    saved = store.save("stitch", theme)
+    assert ButtonThemes(store.path).all()["stitch"] == saved
+    assert saved["background"]["kind"] == kind
+    assert saved["text"]["rotation"] == theme["text"]["rotation"]
+    assert saved["icon"] == theme["icon"]
+
+
+def test_shader_choices_do_not_allow_uploaded_source_or_urls(theme):
+    theme["background"]["kind"] = "shader-https://example.test/demo"
+    with pytest.raises(ValueError):
+        validate_theme(theme)
+    theme["background"]["kind"] = "shader-snow"
+    theme["background"]["source"] = "void main() {}"
+    with pytest.raises(ValueError):
+        validate_theme(theme)
+
+
 def test_uploaded_icons_stay_in_runtime_data_and_do_not_need_a_public_file(
     tmp_path, theme
 ):
diff --git a/www/index.html b/www/index.html
index 63fa9b9..cbfdc3c 100644
--- a/www/index.html
+++ b/www/index.html
@@ -6,8 +6,8 @@
     
     Hack42 - HackBank
     
-    
-    
+    
+    
     
     
     
@@ -16,10 +16,11 @@
     
     
     
-    
-    
+    
+    
+    
     
-    
+    
   
   
     
diff --git a/www/kassa-app.js b/www/kassa-app.js
index dcdb64a..63d4a65 100644
--- a/www/kassa-app.js
+++ b/www/kassa-app.js
@@ -371,11 +371,6 @@ document.addEventListener("DOMContentLoaded", function() {
     screen.appendChild(heading);
     var actions=createElement('div',{class:'profile-actions'});
     actions.appendChild(actionButton('Full user history','history '+profile.user));
-    if(profile.user !== 'cash') {
-      var isMember=typeof profile.is_member === 'boolean' ? profile.is_member : members.includes(profile.user);
-      actions.appendChild(actionButton(isMember ? 'Promote to guest' : 'Promote to Member',
-        (isMember ? 'delmember ' : 'addmember ')+profile.user,'profile-action membership-action'));
-    }
     if(buttonStudio) {
       var studioButton=createElement('button',{type:'button',class:'profile-action studio-launch',text:'✨ Button studio'});
       studioButton.addEventListener('click',function() { buttonStudio.open(profile); });
@@ -384,6 +379,11 @@ document.addEventListener("DOMContentLoaded", function() {
     if(profile.undo_transaction !== null && profile.undo_transaction !== undefined) {
       actions.appendChild(actionButton('Undo latest transaction','undouserlatest '+profile.undo_transaction+':'+profile.user,'profile-action undo-user-transaction'));
     }
+    if(profile.user !== 'cash') {
+      var isMember=typeof profile.is_member === 'boolean' ? profile.is_member : members.includes(profile.user);
+      actions.appendChild(actionButton(isMember ? 'Promote to guest' : 'Promote to Member',
+        (isMember ? 'delmember ' : 'addmember ')+profile.user,'profile-action membership-action'));
+    }
     screen.appendChild(actions);
     screen.appendChild(createElement('h2',{text:'Last 10 purchases'}));
     screen.appendChild(createElement('p',{class:'profile-hint',text:'Add again uses the current price and adds to the current sale.'}));
diff --git a/www/kassa-button-shaders.js b/www/kassa-button-shaders.js
new file mode 100644
index 0000000..9a7eb74
--- /dev/null
+++ b/www/kassa-button-shaders.js
@@ -0,0 +1,305 @@
+/* Original, texture-free ambient shaders. One WebGL context serves every button. */
+(function(window, document) {
+  var WIDTH=320, HEIGHT=128, FRAME_MS=1000/24;
+  var VERTEX='attribute vec2 position; varying vec2 uv; void main() { uv=position*.5+.5; gl_Position=vec4(position,0.,1.); }';
+  var HEADER=`
+    #ifdef GL_FRAGMENT_PRECISION_HIGH
+    precision highp float;
+    #else
+    precision mediump float;
+    #endif
+    varying vec2 uv;
+    uniform vec2 resolution;
+    uniform float time, intensity;
+    uniform vec3 color0, color1, color2;
+    vec3 palette(float n) {
+      return mix(mix(color0,color1,smoothstep(0.,.5,n)),color2,smoothstep(.5,1.,n));
+    }
+    float hash(vec2 p) { return fract(sin(dot(p,vec2(127.1,311.7)))*43758.5453); }
+  `;
+  var SCENES={
+    'shader-lights':`
+      vec3 scene() {
+        vec2 p=(uv-.5)*vec2(resolution.x/resolution.y,1.);
+        vec3 light=color0*.12;
+        for(int i=0;i<5;i++) {
+          float n=float(i);
+          vec2 center=vec2(sin(time*.19+n*1.7)*resolution.x/resolution.y*.34,cos(time*.23+n*2.1)*.28);
+          vec2 delta=p-center;
+          light+=palette(n*.25)*(.025/(dot(delta,delta)+.025))*.85;
+        }
+        return light;
+      }
+    `,
+    'shader-snow':`
+      vec3 scene() {
+        vec3 sky=mix(color0,color1,uv.y*.65)*.55;
+        float snow=0.;
+        for(int i=0;i<4;i++) {
+          float layer=float(i), scale=5.+layer*3.;
+          vec2 p=uv*vec2(resolution.x/resolution.y,1.)*scale;
+          p+=vec2(time*.11/(layer+1.),time*(.22+layer*.09));
+          vec2 cell=floor(p);
+          vec2 center=vec2(hash(cell+layer),hash(cell+layer+17.));
+          vec2 flake=fract(p)-(.2+.6*center);
+          flake.x+=sin(time*.3+center.y*6.283)*.1;
+          snow+=(1.-smoothstep(.025,.07,length(flake)))*(.35+layer*.18);
+        }
+        return sky+color2*snow;
+      }
+    `,
+    'shader-cubes':`
+      vec3 scene() {
+        vec2 p=uv*vec2(resolution.x/resolution.y,1.)*2.4;
+        p.x+=mod(floor(p.y),2.)*.5;
+        vec2 cell=floor(p), q=(fract(p)-.5)*1.8;
+        // A quarter turn travels from the bottom left across successive cells.
+        float phase=time*.22-cell.x*.15-cell.y*.19;
+        float angle=(floor(phase)+smoothstep(.12,.84,fract(phase)))*1.570796;
+        float c=cos(angle), s=sin(angle);
+        mat3 rotation=mat3(c,0.,-s,0.,1.,0.,s,0.,c);
+        vec3 camera=normalize(vec3(1.4,1.1,2.3));
+        vec3 right=normalize(vec3(camera.z,0.,-camera.x)), up=cross(camera,right);
+        vec3 origin=rotation*(camera*3.+right*q.x+up*q.y);
+        vec3 ray=rotation*(-camera), inverse=1./(ray+vec3(.00001));
+        vec3 a=(-.36-origin)*inverse, b=(.36-origin)*inverse;
+        vec3 nearPlane=min(a,b), farPlane=max(a,b);
+        float entry=max(nearPlane.x,max(nearPlane.y,nearPlane.z));
+        float exit=min(farPlane.x,min(farPlane.y,farPlane.z));
+        vec3 background=color0*.18;
+        if(entry>exit) return background;
+        vec3 hit=origin+ray*entry, extent=abs(hit), normal=vec3(0.);
+        if(extent.x>extent.y && extent.x>extent.z) normal.x=sign(hit.x);
+        else if(extent.y>extent.z) normal.y=sign(hit.y);
+        else normal.z=sign(hit.z);
+        vec3 face=mix(color0*.65+color1*.2,color1,abs(normal.x));
+        face=mix(face,color2,abs(normal.y));
+        float light=.55+.45*max(0.,dot(normal*rotation,normalize(vec3(-.4,.8,1.))));
+        return mix(background,face*light,smoothstep(0.,.035,exit-entry));
+      }
+    `,
+    'shader-synthwave':`
+      float peak(vec2 cell) { return .25+hash(cell)*3.6; }
+      float terrain(vec2 p) {
+        vec2 grid=p*.65, cell=floor(grid), f=fract(grid);
+        float a=peak(cell), b=peak(cell+vec2(1.,0.));
+        float c=peak(cell+vec2(0.,1.)), d=peak(cell+vec2(1.,1.));
+        float height=f.x+f.y<1. ? a+(b-a)*f.x+(c-a)*f.y : d+(c-d)*(1.-f.x)+(b-d)*(1.-f.y);
+        return height*smoothstep(1.,3.8,abs(p.x))-.35;
+      }
+      vec3 scene() {
+        float horizon=.48;
+        vec3 sky=color0*.28+color1*exp(-abs(uv.y-horizon)*6.)*.32;
+        vec2 sun=(uv-vec2(.72,.73))*vec2(resolution.x/resolution.y,1.);
+        float disc=1.-smoothstep(.225,.235,length(sun));
+        float stripes=smoothstep(.08,.18,fract(sun.y*22.));
+        disc*=mix(stripes,1.,step(0.,sun.y));
+        sky=mix(sky,mix(color1,color2,clamp((uv.y-.4)*2.8,0.,1.)),disc);
+        vec3 camera=vec3(0.,1.1,time*2.2);
+        vec3 ray=normalize(vec3((uv.x-.5)*resolution.x/resolution.y,(uv.y-horizon)*1.25,.95));
+        float distance=.1;
+        for(int i=0;i<36;i++) {
+          vec3 point=camera+ray*distance;
+          float gap=point.y-terrain(point.xz);
+          if(gap<.025) {
+            vec2 f=fract(point.xz*.65), lines=min(f,1.-f);
+            float hills=smoothstep(1.,3.8,abs(point.x));
+            float edge=min(lines.x,lines.y);
+            edge=min(edge,mix(1.,abs(f.x+f.y-1.)*.707,hills));
+            float width=.012+distance*.0008;
+            float neon=1.-smoothstep(width,width*2.,edge);
+            float roadEdge=1.-smoothstep(.025,.07,abs(abs(point.x)-1.15));
+            vec3 ground=color0*.18+color1*(.12*hills+neon*.85)+color2*roadEdge*.45;
+            return mix(sky,ground,exp(-distance*.038));
+          }
+          distance+=max(.055,gap*.45);
+          if(distance>38.) break;
+        }
+        return sky+color1*exp(-abs(uv.y-horizon)*140.)*.5;
+      }
+    `,
+  };
+  var FOOTER='void main() { gl_FragColor=vec4(clamp(mix(palette(uv.y*.6+uv.x*.4),scene(),intensity),0.,1.),1.); }';
+  var source=null, gl=null, programs={}, state='idle';
+  var targets=new Map(), observer=null, sizes=null, mutations=null, observing=false;
+  var motion=null, timer=null, frame=null;
+
+  function seedFor(user) {
+    var hash=2166136261;
+    for(var index=0;index>>0)/4294967296;
+  }
+  function palette(background) {
+    var stops=background.gradient.stops.slice().sort(function(a,b) { return a.position-b.position; });
+    return [stops[0],stops[Math.floor((stops.length-1)/2)],stops[stops.length-1]];
+  }
+  function announce(value) {
+    state=value;
+    document.dispatchEvent(new window.CustomEvent('buttonshaderstatus'));
+  }
+  function stop() {
+    window.clearTimeout(timer); timer=null;
+    if(frame !== null) window.cancelAnimationFrame(frame);
+    frame=null;
+  }
+  function mark(target,value) { target.canvas.dataset.shaderState=value; }
+  function fallback() {
+    stop(); targets.forEach(function(target) { mark(target,'fallback'); });
+  }
+  function initialize() {
+    if(state !== 'idle') return state === 'ready';
+    try {
+      if(!source) {
+        source=document.createElement('canvas'); source.width=WIDTH; source.height=HEIGHT;
+        source.addEventListener('webglcontextlost',function(event) {
+          event.preventDefault(); announce('lost'); fallback();
+        });
+        source.addEventListener('webglcontextrestored',function() {
+          programs={}; gl=null; state='idle';
+          if(initialize()) schedule();
+        });
+      }
+      // Keep the small shared buffer valid while Firefox copies it into each
+      // button. Discarding it can expose empty frames on some GPU backends.
+      gl=source.getContext('webgl',{alpha:false,depth:false,stencil:false,antialias:false,preserveDrawingBuffer:true,powerPreference:'low-power'});
+      if(!gl) throw new Error('WebGL unavailable');
+      var buffer=gl.createBuffer();
+      gl.bindBuffer(gl.ARRAY_BUFFER,buffer);
+      gl.bufferData(gl.ARRAY_BUFFER,new Float32Array([-1,-1,3,-1,-1,3]),gl.STATIC_DRAW);
+      gl.enableVertexAttribArray(0);
+      gl.vertexAttribPointer(0,2,gl.FLOAT,false,0,0);
+      announce('ready'); return true;
+    } catch(_error) { announce('unavailable'); fallback(); return false; }
+  }
+  function program(kind) {
+    if(Object.prototype.hasOwnProperty.call(programs,kind)) return programs[kind];
+    var vertex=gl.createShader(gl.VERTEX_SHADER), fragment=gl.createShader(gl.FRAGMENT_SHADER);
+    gl.shaderSource(vertex,VERTEX); gl.compileShader(vertex);
+    gl.shaderSource(fragment,HEADER+SCENES[kind]+FOOTER); gl.compileShader(fragment);
+    var handle=gl.createProgram();
+    gl.attachShader(handle,vertex); gl.attachShader(handle,fragment);
+    gl.bindAttribLocation(handle,0,'position'); gl.linkProgram(handle);
+    gl.deleteShader(vertex); gl.deleteShader(fragment);
+    if(!gl.getProgramParameter(handle,gl.LINK_STATUS)) {
+      console.warn('Ambient button shader unavailable:',kind,gl.getProgramInfoLog(handle));
+      gl.deleteProgram(handle); programs[kind]=null;
+      document.dispatchEvent(new window.CustomEvent('buttonshaderstatus'));
+      return null;
+    }
+    var uniforms={};
+    ['resolution','time','intensity','color0','color1','color2'].forEach(function(name) { uniforms[name]=gl.getUniformLocation(handle,name); });
+    programs[kind]={handle:handle,uniforms:uniforms}; return programs[kind];
+  }
+  function measure(target,width,height) {
+    if(width <= 0 || height <= 0) return;
+    var scale=Math.min(1,WIDTH/width,HEIGHT/height);
+    target.width=Math.max(1,Math.round(width*scale)); target.height=Math.max(1,Math.round(height*scale));
+    if(target.canvas.width !== target.width) target.canvas.width=target.width;
+    if(target.canvas.height !== target.height) target.canvas.height=target.height;
+  }
+  function visibleTargets() {
+    var dialog=document.querySelector('dialog[open]');
+    return Array.from(targets.values()).filter(function(target) {
+      return target.canvas.isConnected && target.visible && target.width && target.height && (!dialog || dialog.contains(target.canvas));
+    });
+  }
+  function schedule() {
+    if(frame !== null || timer !== null || document.hidden || state !== 'ready') return;
+    frame=window.requestAnimationFrame(draw);
+  }
+  function draw(timestamp) {
+    frame=null;
+    if(document.hidden || state !== 'ready') return;
+    var visible=visibleTargets();
+    if(!visible.length) return;
+    var groups=new Map();
+    visible.forEach(function(target) {
+      var key=target.key+':'+target.width+':'+target.height;
+      if(!groups.has(key)) groups.set(key,[]);
+      groups.get(key).push(target);
+    });
+    var rendered=false;
+    try {
+      groups.forEach(function(group) {
+        var target=group[0], settings=target.settings, compiled=program(settings.kind);
+        if(!compiled) { group.forEach(function(item) { mark(item,'fallback'); }); return; }
+        rendered=true;
+        gl.viewport(0,0,target.width,target.height); gl.useProgram(compiled.handle);
+        var uniforms=compiled.uniforms;
+        gl.uniform2f(uniforms.resolution,target.width,target.height);
+        gl.uniform1f(uniforms.time,(motion.matches ? 12 : timestamp/1000*24/settings.speed)+target.seed*120);
+        gl.uniform1f(uniforms.intensity,settings.intensity/100);
+        target.colors.forEach(function(color,index) { gl.uniform3fv(uniforms['color'+index],color); });
+        gl.drawArrays(gl.TRIANGLES,0,3);
+        group.forEach(function(item) {
+          item.context.drawImage(source,0,HEIGHT-item.height,item.width,item.height,0,0,item.width,item.height);
+          mark(item,motion.matches ? 'still' : 'animated');
+        });
+      });
+    } catch(_error) { announce('unavailable'); fallback(); return; }
+    if(rendered && !motion.matches) timer=window.setTimeout(function() { timer=null; schedule(); },FRAME_MS);
+  }
+  function cleanup() {
+    targets.forEach(function(target,canvas) {
+      if(canvas.isConnected) return;
+      if(observer) observer.unobserve(canvas);
+      if(sizes) sizes.unobserve(canvas);
+      targets.delete(canvas);
+    });
+    if(!targets.size) { stop(); mutations.disconnect(); observing=false; }
+    else schedule();
+  }
+  function watch() {
+    if(!motion) {
+      motion=window.matchMedia('(prefers-reduced-motion: reduce)');
+      motion.addEventListener('change',function() { stop(); schedule(); document.dispatchEvent(new window.CustomEvent('buttonshaderstatus')); });
+      document.addEventListener('visibilitychange',function() { stop(); if(!document.hidden) schedule(); });
+      if(window.IntersectionObserver) observer=new window.IntersectionObserver(function(entries) {
+        entries.forEach(function(entry) {
+          var target=targets.get(entry.target);
+          if(target) target.visible=entry.isIntersecting && entry.intersectionRect.width > 0 && entry.intersectionRect.height > 0;
+        });
+        schedule();
+      });
+      sizes=new window.ResizeObserver(function(entries) {
+        entries.forEach(function(entry) {
+          var target=targets.get(entry.target);
+          if(target) measure(target,entry.contentRect.width,entry.contentRect.height);
+        });
+        schedule();
+      });
+      mutations=new window.MutationObserver(cleanup);
+    }
+    if(!observing) { mutations.observe(document.documentElement,{childList:true,subtree:true,attributes:true,attributeFilter:['open']}); observing=true; }
+  }
+  function attach(layer,background,user) {
+    var canvas=layer.querySelector('.magic-shader-canvas');
+    if(!Object.prototype.hasOwnProperty.call(SCENES,background.kind)) {
+      if(canvas) canvas.remove();
+      return;
+    }
+    var previous=canvas && targets.get(canvas);
+    if(!canvas) {
+      canvas=document.createElement('canvas'); canvas.className='magic-shader-canvas';
+      canvas.setAttribute('aria-hidden','true'); canvas.dataset.shaderState='fallback';
+      layer.appendChild(canvas);
+    }
+    var context=canvas.getContext('2d',{alpha:false});
+    if(!context) return;
+    watch();
+    var settings=JSON.parse(JSON.stringify(background));
+    var colors=palette(settings).map(function(stop) {
+      return [1,3,5].map(function(offset) { return parseInt(stop.color.slice(offset,offset+2),16)/255; });
+    });
+    var seed=seedFor(String(user || ''));
+    var target={canvas:canvas,context:context,settings:settings,colors:colors,seed:seed,key:JSON.stringify([settings.kind,colors,settings.speed,settings.intensity,seed]),visible:previous ? previous.visible : !observer,width:previous ? previous.width : 0,height:previous ? previous.height : 0};
+    targets.set(canvas,target);
+    var rect=layer.getBoundingClientRect(); measure(target,rect.width,rect.height);
+    if(!previous) {
+      if(observer) observer.observe(canvas);
+      sizes.observe(canvas);
+    }
+    if(initialize()) schedule();
+  }
+  window.HackBankButtonShaders={attach:attach,palette:palette,status:function(kind) { return programs[kind] === null ? 'unavailable' : state; }};
+})(window, document);
diff --git a/www/kassa-button-studio.css b/www/kassa-button-studio.css
index 3249f74..5c992a1 100644
--- a/www/kassa-button-studio.css
+++ b/www/kassa-button-studio.css
@@ -38,10 +38,12 @@
 .studio-scroll-tools .studio-hint { margin-right: auto; }
 .studio-editor h2 { margin: 0 0 18px; font-size: 18px; }
 .studio-editor h3 { margin: 0 0 12px; font-size: 15px; }
-.studio-presets { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin-bottom: 22px; }
-.studio-preset { display: flex; flex-direction: column; align-items: center; gap: 7px; padding: 6px 4px; border: 0; border-radius: 10px; color: #6e5b81; background: transparent; font-size: 11px !important; font-weight: 650 !important; }
+.studio-presets { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-bottom: 22px; }
+.studio-preset { display: flex; flex-direction: column; align-items: center; gap: 7px; padding: 6px 4px; border: 2px solid transparent; border-radius: 10px; color: #6e5b81; background: transparent; font-size: 11px !important; font-weight: 650 !important; }
 .studio-preset:hover { background: #f1e7ff; }
-.studio-swatch { display: grid; place-items: center; width: 100%; height: 48px; border: 2px solid #fff; border-radius: 12px; box-shadow: 0 2px 6px #46306026; font-size: 23px; }
+.studio-preset[aria-pressed="true"] { border-color: #b394df; background: #f1e7ff; }
+.studio-swatch { position: relative; display: grid; place-items: center; width: 100%; height: 48px; overflow: hidden; border: 2px solid #fff; border-radius: 12px; box-shadow: 0 2px 6px #46306026; font-size: 23px; }
+.studio-shader-fallback { color: #85541b; }
 .studio-field { display: flex; flex-direction: column; flex: 1 1 0; min-width: 0; gap: 7px; margin: 0 0 16px; }
 .studio-field-name { color: #6d5c7d; font-size: 12px; font-weight: 750; }
 .studio-input { width: 100%; min-width: 0; min-height: 46px; padding: 10px 12px; border: 1px solid #d9cae6; border-radius: 9px; color: #4c3b61; background: #fff; }
diff --git a/www/kassa-button-studio.js b/www/kassa-button-studio.js
index 47e5349..afe64bd 100644
--- a/www/kassa-button-studio.js
+++ b/www/kassa-button-studio.js
@@ -3,7 +3,7 @@
   function create(options) {
     var styles=window.HackBankButtonStyles;
     var dialog=null, profile=null, draft=null, current=null, pending=null, timeout=null;
-    var editor, currentSlot, newSlot, status, save, retry, tabs, controls, returnFocus;
+    var editor, currentSlot, newSlot, status, save, retry, tabs, controls, returnFocus, shaderNote;
     var selectedTab='Background', ready=false, processing=false, dirty=false, generation=0;
 
     function el(tag,className,text) {
@@ -17,14 +17,27 @@
     }
     function hint(text) { return el('p','studio-hint',text); }
     function message(text) { if(status) status.textContent=text; }
+    function shaderStatus() {
+      if(!shaderNote) return;
+      var renderer=window.HackBankButtonShaders, state=renderer ? renderer.status(draft.background.kind) : 'unavailable';
+      shaderNote.hidden=!['unavailable','lost'].includes(state) && !window.matchMedia('(prefers-reduced-motion: reduce)').matches;
+      shaderNote.textContent=['unavailable','lost'].includes(state)
+        ? 'Animation is unavailable here. Your colour gradient is still shown, and you can keep designing.'
+        : (window.matchMedia('(prefers-reduced-motion: reduce)').matches
+          ? 'Reduced motion is on. These scenes keep a still preview.'
+          : '');
+      shaderNote.classList.toggle('studio-shader-fallback',['unavailable','lost'].includes(state));
+    }
     function refreshButtons() {
       save.disabled=!ready || !!pending || processing;
       controls.disabled=!!pending || processing;
       retry.hidden=ready || !!pending;
     }
     function preview() {
-      newSlot.textContent='';
-      newSlot.appendChild(styles.preview(profile.user,profile.amount,!dirty && !options.getTheme(profile.user) ? null : draft));
+      var design=!dirty && !options.getTheme(profile.user) ? null : draft;
+      var button=newSlot.querySelector('.magic-preview');
+      if(button) styles.apply(button,profile.user,design);
+      else newSlot.appendChild(styles.preview(profile.user,profile.amount,design));
     }
     function changed() {
       dirty=true; preview(); message('Looking magical. Save when you’re happy!');
@@ -104,30 +117,56 @@
       parent.appendChild(section);
     }
     function backgroundPanel() {
-      editor.appendChild(el('h2','','Pick your kind of magic'));
-      var presets=el('div','studio-presets');
-      styles.presets.forEach(function(preset,index) {
-        var tile=button('', 'studio-preset',function() {
-          var next=styles.preset(index); draft.background=next.background; draft.text.color=next.text.color;
-          renderEditor(); changed();
+      var settings=editor.querySelector('.studio-background-settings');
+      if(!settings) {
+        editor.appendChild(el('h2','','Pick your kind of magic'));
+        var presets=el('div','studio-presets');
+        presets.setAttribute('aria-label','Background presets');
+        styles.presets.forEach(function(preset,index) {
+          var shader=preset.kind.startsWith('shader-');
+          var tile=button('', 'studio-preset',function() {
+            var next=styles.preset(index); draft.background=next.background; draft.text.color=next.text.color;
+            if(shader && !draft.text.backdrop) draft.text.backdrop=next.text.backdrop;
+            renderEditor(); changed();
+          });
+          tile.dataset.preset=index;
+          var swatch=el('span','studio-swatch',shader ? '' : preset.emoji);
+          swatch.setAttribute('aria-hidden','true');
+          var design=styles.preset(index);
+          swatch.style.background=design.background.kind === 'solid' ? design.background.color : styles.cssGradient(design.background.gradient);
+          if(shader && window.HackBankButtonShaders) window.HackBankButtonShaders.attach(swatch,design.background,profile.user);
+          tile.appendChild(swatch); tile.appendChild(el('span','',preset.name)); presets.appendChild(tile);
         });
-        var swatch=el('span','studio-swatch',preset.emoji);
-        swatch.setAttribute('aria-hidden','true');
-        var design=styles.preset(index);
-        swatch.style.background=design.background.kind === 'solid' ? design.background.color : styles.cssGradient(design.background.gradient);
-        tile.appendChild(swatch); tile.appendChild(el('span','',preset.name)); presets.appendChild(tile);
+        editor.appendChild(presets);
+        shaderNote=hint(''); shaderNote.setAttribute('role','status'); editor.appendChild(shaderNote);
+        settings=el('div','studio-background-settings'); editor.appendChild(settings);
+      }
+      settings.textContent='';
+      editor.querySelectorAll('.studio-preset').forEach(function(tile) {
+        var background=styles.preset(Number(tile.dataset.preset)).background;
+        tile.setAttribute('aria-pressed',String(background.kind === draft.background.kind && JSON.stringify(background.gradient) === JSON.stringify(draft.background.gradient) && background.color === draft.background.color));
       });
-      editor.appendChild(presets);
-      select(editor,'Background style',draft.background.kind,{solid:'Solid paint',gradient:'Colour gradient',glitter:'Glitter ✨',plasma:'Plasma 🪐'},function(kind) {
+      shaderStatus();
+      select(settings,'Background style',draft.background.kind,{solid:'Solid paint',gradient:'Colour gradient',glitter:'Glitter ✨',plasma:'Plasma 🪐',
+        'shader-lights':'Five lights','shader-snow':'Snow','shader-cubes':'Cubes','shader-synthwave':'Synthwave'},function(kind) {
         draft.background.kind=kind; renderEditor();
       });
-      if(draft.background.kind === 'solid') color(editor,'Background',draft.background.color,function(value) { draft.background.color=value; });
-      else gradient(editor,draft.background.gradient,'Background gradient');
-      if(['glitter','plasma'].includes(draft.background.kind)) {
+      var shader=draft.background.kind.startsWith('shader-');
+      if(draft.background.kind === 'solid') color(settings,'Background',draft.background.color,function(value) { draft.background.color=value; });
+      else if(shader && window.HackBankButtonShaders) {
+        var palette=el('section','studio-gradient'); palette.appendChild(el('h3','','Scene colours'));
+        window.HackBankButtonShaders.palette(draft.background).filter(function(stop,index,all) { return all.indexOf(stop) === index; }).forEach(function(stop,index) {
+          color(palette,'Scene colour '+(index+1),stop.color,function(value) { stop.color=value; });
+        });
+        palette.appendChild(hint('Your palette also becomes the still background when animation is unavailable.'));
+        settings.appendChild(palette);
+      }
+      else gradient(settings,draft.background.gradient,'Background gradient');
+      if(shader || ['glitter','plasma'].includes(draft.background.kind)) {
         var row=el('div','studio-field-grid');
         range(row,'Effect cycle',draft.background.speed,2,60,'sec',function(value) { draft.background.speed=value; });
         range(row,'Magic intensity',draft.background.intensity,0,100,'%',function(value) { draft.background.intensity=value; });
-        editor.appendChild(row); editor.appendChild(hint('Longer cycles move more slowly. All the sparkles stay inside your button.'));
+        settings.appendChild(row); settings.appendChild(hint('Longer cycles move more slowly. All the sparkles stay inside your button.'));
       }
     }
     function textPanel() {
@@ -212,7 +251,10 @@
       editor.appendChild(hint('Rotation: 0 is still. Larger numbers give a slower spin.'));
     }
     function renderEditor() {
-      editor.textContent=''; editor.scrollTop=0;
+      if(selectedTab !== 'Background' || !editor.querySelector('.studio-background-settings')) {
+        shaderNote=null;
+        editor.textContent=''; editor.scrollTop=0;
+      }
       tabs.forEach(function(tab) { tab.setAttribute('aria-selected',String(tab.dataset.tab === selectedTab)); });
       editor.setAttribute('aria-labelledby','Studio-tab-'+selectedTab);
       if(selectedTab === 'Background') backgroundPanel();
@@ -223,6 +265,7 @@
       if(pending && pending.action === 'save') { message('Saving your magic. Just a moment…'); return; }
       ++generation; processing=false;
       window.clearTimeout(timeout); pending=null;
+      document.removeEventListener('buttonshaderstatus',shaderStatus); shaderNote=null;
       var previous=dialog; dialog=null;
       previous.close(); previous.remove();
       if(returnFocus && returnFocus.isConnected) returnFocus.focus();
@@ -264,6 +307,7 @@
     }
     function open(userProfile) {
       if(dialog) return;
+      document.addEventListener('buttonshaderstatus',shaderStatus);
       profile=userProfile; selectedTab='Background'; dirty=false; ready=false;
       returnFocus=document.activeElement;
       current=styles.copy(options.getTheme(profile.user) || styles.defaults(profile.user)); draft=styles.copy(current);
diff --git a/www/kassa-button-styles.js b/www/kassa-button-styles.js
index 5d72371..116df71 100644
--- a/www/kassa-button-styles.js
+++ b/www/kassa-button-styles.js
@@ -19,6 +19,10 @@
     {name:'Sunset',emoji:'🌅',kind:'gradient',colors:['#fead63','#ee6f98','#7c5bd4'],text:'#ffffff'},
     {name:'Blue & yellow',emoji:'💙',kind:'gradient',colors:['#0057b7','#0057b7','#ffd700','#ffd700'],text:'#ffffff'},
     {name:'Fresh paint',emoji:'🎨',kind:'solid',colors:['#6088b0','#9bb9d7'],text:'#ffffff'},
+    {name:'Five lights',emoji:'💡',kind:'shader-lights',colors:['#18183c','#ed548a','#6fddd5'],text:'#ffffff',speed:40},
+    {name:'Snow',emoji:'❄️',kind:'shader-snow',colors:['#102d48','#416c9b','#e9f6ff'],text:'#ffffff',speed:32},
+    {name:'Cubes',emoji:'🧊',kind:'shader-cubes',colors:['#182742','#448eab','#a9d5e2'],text:'#ffffff',speed:44},
+    {name:'Synthwave',emoji:'🌴',kind:'shader-synthwave',colors:['#201136','#d749a1','#ffc07b'],text:'#ffffff',speed:40},
   ];
   function preset(index) {
     var definition=PRESETS[index];
@@ -27,6 +31,10 @@
     theme.background.color=definition.colors[0];
     theme.background.gradient=gradient(definition.colors,135);
     theme.text.color=definition.text;
+    if(definition.kind.startsWith('shader-')) {
+      theme.background.speed=definition.speed; theme.background.intensity=90;
+      theme.text.backdrop={color:'#100c26',opacity:65,padding:5,radius:5};
+    }
     if(index === 1) theme.text.backdrop={color:'#100c3d',opacity:80,padding:5,radius:5};
     if(index === 4) {
       theme.background.gradient={angle:180,stops:[{color:'#0057b7',position:0},{color:'#0057b7',position:50},{color:'#ffd700',position:50},{color:'#ffd700',position:100}]};
@@ -67,12 +75,13 @@
     var label=button.querySelector('.Buttontext');
     if(!label) return;
     button.appendChild(label);
-    button.querySelectorAll('.magic-layer, .magic-label, .magic-icon').forEach(function(element) { element.remove(); });
+    button.querySelectorAll('.magic-label, .magic-icon').forEach(function(element) { element.remove(); });
     button.classList.add('magic-button');
     button.classList.toggle('magic-neutral',!design && !['stitch','bugblue','anus','nino','jos'].includes(user.toLowerCase()));
     button.setAttribute('data-button-user',user);
     var background=theme.background;
-    var layer=node('span','magic-layer magic-'+background.kind);
+    var layer=button.querySelector('.magic-layer') || node('span','magic-layer');
+    layer.className='magic-layer magic-'+background.kind;
     layer.setAttribute('aria-hidden','true');
     layer.style.background=background.kind === 'solid' ? background.color : cssGradient(background.gradient);
     layer.style.setProperty('--magic-speed',background.speed+'s');
@@ -80,6 +89,7 @@
     background.gradient.stops.slice(0,3).forEach(function(stop,index) { layer.style.setProperty('--magic-color-'+index,stop.color); });
     if(background.gradient.stops.length < 3) layer.style.setProperty('--magic-color-2',background.gradient.stops[0].color);
     button.prepend(layer);
+    if(window.HackBankButtonShaders) window.HackBankButtonShaders.attach(layer,background,user);
     button.style.setProperty('--magic-ink',theme.text.color);
     button.style.setProperty('--magic-font',FONTS[theme.text.font] || FONTS.system);
     button.style.setProperty('--magic-size',theme.text.size+'px');
diff --git a/www/stom.css b/www/stom.css
index c7de448..2763672 100644
--- a/www/stom.css
+++ b/www/stom.css
@@ -202,6 +202,8 @@ iframe { display: block; border: 0; }
 .studio-launch { border-color: #baa4dc; color: #704ab1; background: #f0e7ff; }
 .dark-mode .studio-launch { border-color: #8c72ba; color: #e3d2ff; background: #40304f; }
 .magic-button > .magic-layer { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
+.magic-shader-canvas { position: absolute; inset: 0; display: block; width: 100%; height: 100%; pointer-events: none; }
+.magic-shader-canvas[data-shader-state="fallback"] { visibility: hidden; }
 .magic-layer::before, .magic-layer::after { content: ""; position: absolute; pointer-events: none; }
 .magic-glitter::before { inset: 0; opacity: var(--magic-power); background-image: radial-gradient(circle, #fff 0 .7px, transparent 1.5px), radial-gradient(circle, #bceaff 0 .8px, transparent 1.7px), radial-gradient(circle, #fff9ce 0 .6px, transparent 1.3px); background-size: 13px 17px, 23px 19px, 31px 29px; animation: magic-glitter var(--magic-speed) linear infinite alternate; }
 .magic-glitter::after { inset: -100%; opacity: calc(var(--magic-power) * .35); background: linear-gradient(110deg, transparent 35%, #ffffffb0 50%, transparent 65%); animation: magic-shimmer var(--magic-speed) ease-in-out infinite; }
@@ -366,6 +368,8 @@ iframe { display: block; border: 0; }
 .archived-account { filter: grayscale(.85); opacity: .62; }
 .archived-account:hover { opacity: .95; }
 .profile-heading, .profile-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 18px; }
+.profile-action.membership-action { margin-left: auto; color: #115370; background: #d9f1fb; border-color: #87cfe4; }
+.profile-action.membership-action:hover { background: #c2e8f6; border-color: #5ab6d2; }
 .infoboxes:has(+ .user-profile) { min-height: 0; margin-bottom: 18px; }
 .profile-heading h1 { font-size: 28px; margin-right: auto; }
 .profile-balance { padding: 12px 18px; border-radius: 8px; color: #285e49; background: #e2f0e8; font-family: ui-monospace,monospace; font-weight: 700; }
@@ -400,6 +404,8 @@ body.dark-mode { --ink: #e1eaf3; --muted: #a4b6c9; --line: #3a4b60; --panel: #19
 .dark-mode .command-section, .dark-mode .purchase-row, .dark-mode .audio-volume-card, .dark-mode .mylines, .dark-mode .lines, .dark-mode .infoboxes .Userline { color: #e1eaf3; background-color: #233448; border-color: #40546a; }
 .dark-mode .command-section h2, .dark-mode .audio-volume-label, .dark-mode .audio-volume-value, .dark-mode .audio-status { color: #b8cee3; }
 .dark-mode .command-tab, .dark-mode .archive-tab, .dark-mode .profile-action, .dark-mode .setting-toggle { color: #d9e5ef; background: #26394d; border-color: #445d73; }
+.dark-mode .membership-action { color: #b8eaf9; background: #164459; border-color: #3b88a6; }
+.dark-mode .membership-action:hover { background: #1d536a; border-color: #62a8c1; }
 .dark-mode .command-tab.selected, .dark-mode .archive-tab.selected { background: #365675; border-color: #8eafcd; }
 .dark-mode .setting-toggle[aria-checked="true"] { background: #214b3d; border-color: #76aa8f; }
 .dark-mode .setting-toggle[aria-checked="true"] .setting-state { background: #76be99; color: #102f22; }

From 6be7ad992384dd14b1c64fbf5378a8daf138d5ef Mon Sep 17 00:00:00 2001
From: stitch1 
Date: Sun, 25 Oct 2026 15:12:29 +0100
Subject: [PATCH 24/25] Continue account animations across scans and expand
 button styling

---
 README.md                            |  29 ++++++--
 button_themes.py                     |   5 ++
 package.json                         |   2 +-
 tests/fixtures/button-shaders.html   |  12 +++-
 tests/js/browser-smoke.test.js       |  63 +++++++++++++++--
 tests/js/index-scripts.test.js       |   5 ++
 tests/js/kassa-app.test.js           |  47 +++++++++++-
 tests/js/kassa-button-styles.test.js |  62 +++++++++++++++-
 tests/test_button_themes.py          |  13 +++-
 www/index.html                       |  15 ++--
 www/kassa-app.js                     |  54 +++++++++++---
 www/kassa-button-shaders.js          |   8 ++-
 www/kassa-button-studio.js           |   5 +-
 www/kassa-button-styles.js           |  40 ++++++++++-
 www/shaders/README.md                |  34 +++++++++
 www/shaders/clouds.js                |  60 ++++++++++++++++
 www/shaders/heartfelt.js             | 102 +++++++++++++++++++++++++++
 www/shaders/star-nest.js             |  58 +++++++++++++++
 www/shaders/universe-within.js       |  73 +++++++++++++++++++
 www/shaders/wonderful.js             |  28 ++++++++
 www/stom.css                         |  13 ++++
 21 files changed, 687 insertions(+), 41 deletions(-)
 create mode 100644 www/shaders/README.md
 create mode 100644 www/shaders/clouds.js
 create mode 100644 www/shaders/heartfelt.js
 create mode 100644 www/shaders/star-nest.js
 create mode 100644 www/shaders/universe-within.js
 create mode 100644 www/shaders/wonderful.js

diff --git a/README.md b/README.md
index 42096ca..9836b7d 100644
--- a/README.md
+++ b/README.md
@@ -214,6 +214,15 @@ Opening the page or receiving settings from another browser stays silent.
 Settings requests use a separate route so they cannot answer a pending POS
 question. The error alert retains its two repetitions for unrecognised input.
 
+The **😎 / 🙂** button sits immediately to the right of Members Archive or Guests
+Archive. It toggles personal button styling for this browser: off gives user
+buttons standard colours and lettering, hides custom icons and backdrops,
+and pauses their shader rendering. Names, balances and button actions still
+work normally. The preference survives reloads and follows other tabs in the
+same browser; saved user designs stay intact. Studio previews continue to
+show the designs while editing.
+Sunglasses mean styles are on; a normal smile means styles are off.
+
 The **Button studio** action on each user profile opens “Hack42 Magic Button
 Studio (tm)”. Current and draft buttons remain visible beside the editing
 tools. Backgrounds support solid paint, 2–6 gradient stops with percentages
@@ -227,17 +236,23 @@ letters. Older saved designs continue to load with the backdrop off.
 The native colour picker and six-digit hex fields work together.
 Large scroll buttons also work on the bar's touch screen without swipe gestures.
 
-**Pick your kind of magic** includes four animated shader presets alongside
-the other backgrounds: Five lights, Snow, Cubes and Synthwave.
+**Pick your kind of magic** includes nine animated shader presets alongside
+the other backgrounds: Five lights, Snow, Cubes, Synthwave, Wonderful,
+Heartfelt, Star Nest, 2D Clouds and Universe Within.
 Cubes rotate in a wave from bottom left to top right; Synthwave drives through
 a landscape of wireframe hills. Tap a sample or choose it under Background style, then
 adjust its scene colours, effect cycle (longer is slower) and intensity.
-These are original, texture-free shaders inspired by the supplied
+The first four are original, texture-free shaders inspired by the supplied
 [lights](https://glslsandbox.com/e#109700.0),
 [snow](https://glslsandbox.com/e#109692.0),
 [cubes](https://www.shadertoy.com/view/MdVXzw) and
-[synthwave](https://www.shadertoy.com/view/tsScRK) references; no demo code,
-remote assets or third-party shader libraries are shipped.
+[synthwave](https://www.shadertoy.com/view/tsScRK) references.
+The other five adapt the GLSL supplied by the user; their source credits,
+individual licence notices and adaptation details are in
+[`www/shaders/README.md`](www/shaders/README.md).
+Heartfelt uses a procedural palette backdrop instead of a missing image;
+Heartfelt and Universe Within run silently without audio inputs or long
+intro/outro blackouts. No remote assets or third-party runtime libraries load.
 
 The local WebGL 1 renderer shares one context across every button and preview,
 batches identical scenes for the same user, caps its internal image at 320 × 128 pixels and
@@ -252,6 +267,10 @@ preset move differently. Studio samples and the draft use the current user's
 seed. Selecting another preset keeps the gallery canvases and draft canvas
 alive; the small shared render buffer is preserved between copies to avoid
 empty frames on Firefox graphics backends.
+Repeated scan/selection updates retain an unchanged account grid and its page.
+Balances and debt colours update directly, preserving shader canvases, glitter,
+plasma, and text/icon rotations. Changed account sets or grid capacities still
+rebuild the list; contextual command controls update on every response.
 
 Upload a PNG, JPEG, WebP or GIF (up to 8 MB), drag it into the icon area, or
 paste an image with Ctrl+V / ⌘V while the dialog is focused. The browser crops
diff --git a/button_themes.py b/button_themes.py
index ff6e079..d4bc4ec 100644
--- a/button_themes.py
+++ b/button_themes.py
@@ -128,6 +128,11 @@ def validate_theme(value):
                     "shader-snow",
                     "shader-cubes",
                     "shader-synthwave",
+                    "shader-wonderful",
+                    "shader-heartfelt",
+                    "shader-star-nest",
+                    "shader-clouds",
+                    "shader-universe",
                 },
             ),
             "color": color(background["color"]),
diff --git a/package.json b/package.json
index 501faa7..301f75a 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@
   "name": "kassa",
   "private": true,
   "scripts": {
-    "lint:js": "eslint www/kassa-textfill.js www/kassa-dom.js www/kassa-buttons.js www/kassa-stream.js www/kassa-audio.js www/kassa-sound-settings.js www/kassa-confetti.js www/kassa-preferences.js www/kassa-button-shaders.js www/kassa-button-styles.js www/kassa-button-studio.js www/kassa-idle-focus.js www/kassa-app.js www/spaceconsole/all.js tests/js/*.test.js",
+    "lint:js": "eslint www/kassa-textfill.js www/kassa-dom.js www/kassa-buttons.js www/kassa-stream.js www/kassa-audio.js www/kassa-sound-settings.js www/kassa-confetti.js www/kassa-preferences.js www/shaders/*.js www/kassa-button-shaders.js www/kassa-button-styles.js www/kassa-button-studio.js www/kassa-idle-focus.js www/kassa-app.js www/spaceconsole/all.js tests/js/*.test.js",
     "test:js": "node --test tests/js/*.test.js"
   },
   "devDependencies": {
diff --git a/tests/fixtures/button-shaders.html b/tests/fixtures/button-shaders.html
index be2447a..9163c9f 100644
--- a/tests/fixtures/button-shaders.html
+++ b/tests/fixtures/button-shaders.html
@@ -36,6 +36,11 @@
       return context;
     };
   
+  
+  
+  
+  
+  
   
   
 
@@ -44,6 +49,7 @@
   
   
     
@@ -16,11 +16,16 @@
     
     
     
-    
-    
-    
+    
+    
+    
+    
+    
+    
+    
+    
     
-    
+    
   
   
     
diff --git a/www/kassa-app.js b/www/kassa-app.js
index 63d4a65..c7f9a3e 100644
--- a/www/kassa-app.js
+++ b/www/kassa-app.js
@@ -203,13 +203,20 @@ document.addEventListener("DOMContentLoaded", function() {
     if(!accountSections) return;
     var top=document.getElementById('TopButtons');
     var name=accountType === 'm' ? 'Members' : 'Guests';
+    var tools=createElement('div',{class:'account-display-tools'});
     [[false,name],[true,name+' Archive']].forEach(function(item) {
       var tab=createElement('button',{type:'button',class:'archive-tab'+(item[0] ? ' archive' : '')+(archivedAccounts === item[0] ? ' selected' : ''),text:item[1]+' ('+accountSections[item[0] ? 'archive' : 'active'].length+')', 'aria-pressed':String(archivedAccounts === item[0])});
       if(item[0] && (!activity || !activity.available)) { tab.disabled=true; tab.title='Archive unavailable until purchase history can be checked'; }
       tab.addEventListener('click',function() { makeAccountSections(accountType,item[0]); prependCashButton(); focus(); });
-      if(item[0]) top.appendChild(tab);
+      if(item[0]) tools.appendChild(tab);
       else top.prepend(tab);
     });
+    if(window.HackBankButtonStyles) {
+      var appearance=window.HackBankButtonStyles.toggleButton();
+      appearance.addEventListener('click',focus);
+      tools.appendChild(appearance);
+    }
+    top.appendChild(tools);
   }
   function build_receipt(msg) {
     var parts=JSON.parse(msg);
@@ -563,34 +570,51 @@ document.addEventListener("DOMContentLoaded", function() {
   function makeAccountList(accountButtons) {
     makepages('normal',accountButtons,true);
   }
+  function reuseAccountGrid(extraclass,buttons,capacity) {
+    if(!pagedButtons || !pagedButtons.accountList || pagedButtons.className !== extraclass || pagedButtons.capacity !== capacity) return null;
+    if(!allElements('#MainButtons #AccountList').length || buttons.length !== pagedButtons.buttons.length) return null;
+    var nodes=allElements('#MainButtons .account');
+    if(nodes.length !== buttons.length) return null;
+    var fields=['text','display','class','left','leftclass','hint','fill'];
+    if(!buttons.every(function(button,index) {
+      return fields.every(function(field) { return button[field] === pagedButtons.buttons[index][field]; });
+    })) return null;
+    return nodes;
+  }
   function makepages(extraclass,buttons,accountList) {
     stopAudio();
     if(!filtering) filterRestore=null;
     var capacity=buttonsPerPage(accountList);
+    var reused=accountList ? reuseAccountGrid(extraclass,buttons,capacity) : null;
+    var currentPage=allElements('#TopButtons .currentpage')[0];
+    var selectedPage=reused && currentPage ? currentPage.id : '1';
+    var previous=pagedButtons;
     pagedButtons={className: extraclass, buttons: buttons, capacity: capacity, accountList: !!accountList};
     var pagecount=1;
-    clearElement('#MainButtons');
+    if(!reused) {
+      clearElement('#MainButtons');
+      first('#MainButtons').scrollTop=0;
+    }
     clearElement('#TopButtons');
-    first('#MainButtons').scrollTop=0;
     var container='#MainButtons';
     var pageClass='Pagina';
     if(accountList) {
-      appendTo(container,createElement('div',{id: 'AccountList', role: 'group', 'aria-label': 'Accounts'}));
+      if(!reused) appendTo(container,createElement('div',{id: 'AccountList', role: 'group', 'aria-label': 'Accounts'}));
       container='#AccountList';
       pageClass+=' account-list';
     }
-    appendTo(container, createElement('div',{id: 'Page'+pagecount, class: pageClass}));
-    appendTo('#TopButtons', topButton("page currentpage",'1',"Page 1"));
+    if(!reused) appendTo(container, createElement('div',{id: 'Page'+pagecount, class: pageClass}));
+    appendTo('#TopButtons', topButton('page'+(selectedPage === '1' ? ' currentpage' : ''),'1',"Page 1"));
     var counter=0;
     var donewpage=0;
     var firstOnPage=1;
     var lastchar="";
-    buttons.forEach(function(stuff) {
+    buttons.forEach(function(stuff,index) {
       if(donewpage === 1) {
         appendToPageLabel(pagecount, ' - '+lastchar);
         pagecount++;
-        appendTo(container, createElement('div',{id: 'Page'+pagecount, class: pageClass, style: {display: 'none'}}));
-        appendTo('#TopButtons', topButton("page",String(pagecount),"Page "+pagecount));
+        if(!reused) appendTo(container, createElement('div',{id: 'Page'+pagecount, class: pageClass, style: {display: 'none'}}));
+        appendTo('#TopButtons', topButton('page'+(selectedPage === String(pagecount) ? ' currentpage' : ''),String(pagecount),"Page "+pagecount));
         counter=0;
         donewpage=0;
         firstOnPage=1;
@@ -600,7 +624,15 @@ document.addEventListener("DOMContentLoaded", function() {
         firstOnPage=0;
       }
       lastchar=stuff.display.charAt(0).toUpperCase();
-      appendTo('#Page'+pagecount, commandButton(extraclass,stuff));
+      if(reused) {
+        if(stuff.right !== previous.buttons[index].right || stuff.rightclass !== previous.buttons[index].rightclass) {
+          var balance=reused[index].querySelector('.right');
+          if(balance) {
+            balance.textContent=stuff.right;
+            balance.className='right extra '+(!stuff.left && stuff.fill ? ' fullwidthButton ' : '')+stuff.rightclass;
+          }
+        }
+      } else appendTo('#Page'+pagecount, commandButton(extraclass,stuff));
       counter++;
       if(counter>=capacity) {
         donewpage=1;
@@ -613,7 +645,7 @@ document.addEventListener("DOMContentLoaded", function() {
     } else {
       appendToPageLabel(pagecount, ' - '+lastchar);
       fillVisibleText(".Paginatext:visible");
-      allElements(".Pagina").forEach(function(page) {
+      if(!reused) allElements(".Pagina").forEach(function(page) {
         hideElements('.Pagina');
         page.style.display='';
         fillVisibleText(".Buttontext:visible");
diff --git a/www/kassa-button-shaders.js b/www/kassa-button-shaders.js
index 9a7eb74..ef81712 100644
--- a/www/kassa-button-shaders.js
+++ b/www/kassa-button-shaders.js
@@ -1,4 +1,4 @@
-/* Original, texture-free ambient shaders. One WebGL context serves every button. */
+/* Ambient scenes and local shader adaptations share one WebGL context. */
 (function(window, document) {
   var WIDTH=320, HEIGHT=128, FRAME_MS=1000/24;
   var VERTEX='attribute vec2 position; varying vec2 uv; void main() { uv=position*.5+.5; gl_Position=vec4(position,0.,1.); }';
@@ -119,6 +119,7 @@
       }
     `,
   };
+  Object.assign(SCENES,window.HackBankExtraButtonShaders || {});
   var FOOTER='void main() { gl_FragColor=vec4(clamp(mix(palette(uv.y*.6+uv.x*.4),scene(),intensity),0.,1.),1.); }';
   var source=null, gl=null, programs={}, state='idle';
   var targets=new Map(), observer=null, sizes=null, mutations=null, observing=false;
@@ -199,8 +200,10 @@
   }
   function visibleTargets() {
     var dialog=document.querySelector('dialog[open]');
+    var quiet=document.body.classList.contains('button-styles-off');
     return Array.from(targets.values()).filter(function(target) {
-      return target.canvas.isConnected && target.visible && target.width && target.height && (!dialog || dialog.contains(target.canvas));
+      return target.canvas.isConnected && target.visible && target.width && target.height && (!dialog || dialog.contains(target.canvas))
+        && (!quiet || !target.canvas.closest('.magic-button') || target.canvas.closest('.magic-preview'));
     });
   }
   function schedule() {
@@ -254,6 +257,7 @@
       motion=window.matchMedia('(prefers-reduced-motion: reduce)');
       motion.addEventListener('change',function() { stop(); schedule(); document.dispatchEvent(new window.CustomEvent('buttonshaderstatus')); });
       document.addEventListener('visibilitychange',function() { stop(); if(!document.hidden) schedule(); });
+      document.addEventListener('buttonstyleschange',function() { stop(); schedule(); });
       if(window.IntersectionObserver) observer=new window.IntersectionObserver(function(entries) {
         entries.forEach(function(entry) {
           var target=targets.get(entry.target);
diff --git a/www/kassa-button-studio.js b/www/kassa-button-studio.js
index afe64bd..dcf2003 100644
--- a/www/kassa-button-studio.js
+++ b/www/kassa-button-studio.js
@@ -147,8 +147,9 @@
         tile.setAttribute('aria-pressed',String(background.kind === draft.background.kind && JSON.stringify(background.gradient) === JSON.stringify(draft.background.gradient) && background.color === draft.background.color));
       });
       shaderStatus();
-      select(settings,'Background style',draft.background.kind,{solid:'Solid paint',gradient:'Colour gradient',glitter:'Glitter ✨',plasma:'Plasma 🪐',
-        'shader-lights':'Five lights','shader-snow':'Snow','shader-cubes':'Cubes','shader-synthwave':'Synthwave'},function(kind) {
+      var choices={solid:'Solid paint',gradient:'Colour gradient',glitter:'Glitter ✨',plasma:'Plasma 🪐'};
+      styles.presets.forEach(function(preset) { if(preset.kind.startsWith('shader-')) choices[preset.kind]=preset.name; });
+      select(settings,'Background style',draft.background.kind,choices,function(kind) {
         draft.background.kind=kind; renderEditor();
       });
       var shader=draft.background.kind.startsWith('shader-');
diff --git a/www/kassa-button-styles.js b/www/kassa-button-styles.js
index 116df71..b97cb8c 100644
--- a/www/kassa-button-styles.js
+++ b/www/kassa-button-styles.js
@@ -1,4 +1,36 @@
 (function(window, document) {
+  var STORAGE_KEY='hackbank-button-styles', enabled=true;
+  try { enabled=window.localStorage.getItem(STORAGE_KEY) !== 'off'; } catch(_error) { /* The toggle still works without storage. */ }
+  function updateToggle(button) {
+    button.textContent=enabled ? '😎' : '🙂';
+    button.setAttribute('aria-pressed',String(enabled));
+    button.title=enabled ? 'Hide button styles' : 'Show button styles';
+  }
+  function updateAppearance() {
+    if(document.body) document.body.classList.toggle('button-styles-off',!enabled);
+    if(document.querySelectorAll) document.querySelectorAll('.button-styles-toggle').forEach(updateToggle);
+  }
+  function announceAppearance() {
+    updateAppearance();
+    document.dispatchEvent(new window.CustomEvent('buttonstyleschange'));
+  }
+  function setEnabled(value) {
+    enabled=value !== false;
+    try { window.localStorage.setItem(STORAGE_KEY,enabled ? 'on' : 'off'); } catch(_error) { /* Keep the in-memory preference. */ }
+    announceAppearance();
+  }
+  function toggleButton() {
+    var button=node('button','archive-tab button-styles-toggle');
+    button.type='button';
+    button.setAttribute('aria-label','Button styles'); updateToggle(button);
+    button.addEventListener('click',function() { setEnabled(!enabled); });
+    return button;
+  }
+  if(document.addEventListener) document.addEventListener('DOMContentLoaded',updateAppearance);
+  if(window.addEventListener) window.addEventListener('storage',function(event) {
+    if(event.key !== STORAGE_KEY && event.key !== null) return;
+    enabled=event.newValue !== 'off'; announceAppearance();
+  });
   var FONTS={system:'system-ui, sans-serif',rounded:'"Arial Rounded MT Bold", "Trebuchet MS", sans-serif',
     comic:'"Comic Sans MS", "Comic Sans", cursive',mono:'ui-monospace, "Courier New", monospace',
     serif:'Georgia, "Times New Roman", serif',condensed:'Impact, "Arial Narrow", sans-serif'};
@@ -23,6 +55,11 @@
     {name:'Snow',emoji:'❄️',kind:'shader-snow',colors:['#102d48','#416c9b','#e9f6ff'],text:'#ffffff',speed:32},
     {name:'Cubes',emoji:'🧊',kind:'shader-cubes',colors:['#182742','#448eab','#a9d5e2'],text:'#ffffff',speed:44},
     {name:'Synthwave',emoji:'🌴',kind:'shader-synthwave',colors:['#201136','#d749a1','#ffc07b'],text:'#ffffff',speed:40},
+    {name:'Wonderful',emoji:'🔮',kind:'shader-wonderful',colors:['#c95bd8','#56e5d1','#ffb36c'],text:'#ffffff',speed:48},
+    {name:'Heartfelt',emoji:'💜',kind:'shader-heartfelt',colors:['#171c3b','#415d91','#ffc6a1'],text:'#ffffff',speed:48},
+    {name:'Star Nest',emoji:'🌌',kind:'shader-star-nest',colors:['#ff0000','#00ff00','#0000ff'],text:'#ffffff',speed:40},
+    {name:'2D Clouds',emoji:'☁️',kind:'shader-clouds',colors:['#336699','#66b3ff','#ffffe6'],text:'#ffffff',speed:36},
+    {name:'Universe Within',emoji:'🌠',kind:'shader-universe',colors:['#552d91','#6ccdee','#dfbdf2'],text:'#ffffff',speed:48},
   ];
   function preset(index) {
     var definition=PRESETS[index];
@@ -146,5 +183,6 @@
     apply(button,user,theme);
     return button;
   }
-  window.HackBankButtonStyles={apply:apply,preview:preview,defaults:defaults,copy:copy,gradient:gradient,cssGradient:cssGradient,preset:preset,presets:PRESETS,fonts:FONTS};
+  window.HackBankButtonStyles={apply:apply,preview:preview,defaults:defaults,copy:copy,gradient:gradient,cssGradient:cssGradient,preset:preset,presets:PRESETS,fonts:FONTS,
+    enabled:function() { return enabled; },setEnabled:setEnabled,toggleButton:toggleButton};
 })(window, document);
diff --git a/www/shaders/README.md b/www/shaders/README.md
new file mode 100644
index 0000000..600225b
--- /dev/null
+++ b/www/shaders/README.md
@@ -0,0 +1,34 @@
+# Button shader sources
+
+These five adaptations use GLSL supplied by the user for the linked examples.
+Each JavaScript file registers a local fragment-shader body; no remote shader
+code, images, audio, libraries or buffer passes are fetched at runtime.
+
+| Preset | Source | Credit and licence supplied with the code |
+| --- | --- | --- |
+| Wonderful | [mtyGWy](https://www.shadertoy.com/view/mtyGWy), [tutorial](https://youtu.be/f4s1h2YETNY) | Tutorial credit preserved; no licence statement in the supplied source. |
+| Heartfelt | [ltffzl](https://www.shadertoy.com/view/ltffzl) | Martijn Steinrucken / BigWings, 2017. CC BY-NC-SA 3.0 Unported. |
+| Star Nest | [XlfGRj](https://www.shadertoy.com/view/XlfGRj) | Pablo Roman Andrioli. MIT. |
+| 2D Clouds | [4tdSWr](https://www.shadertoy.com/view/4tdSWr) | No author or licence statement in the supplied source. |
+| Universe Within | [lscczl](https://www.shadertoy.com/view/lscczl) | Martijn Steinrucken / BigWings, 2018. CC BY-NC-SA 3.0 Unported. |
+
+The shader-specific notices are retained in their respective files; the MIT
+notice is included in full. See the [CC BY-NC-SA 3.0 terms](https://creativecommons.org/licenses/by-nc-sa/3.0/)
+for the two BigWings shaders. These notices describe the supplied shader code;
+they do not assert a new licence for the rest of the application.
+
+All scenes use the shared renderer's username-seeded clock, three scene colours,
+speed and intensity controls. Numerical guards prevent zero-distance divisions;
+descending smoothstep transitions use an explicit interpolation for WebGL 1.
+The original Wonderful ring iterations, Star Nest's 20 × 17 volume/fractal
+iterations and 2D Clouds' noise layers are retained.
+
+Wonderful uses a 2× closer view so its pattern is legible on a small button.
+Heartfelt uses a procedural bokeh backdrop in place of its missing image input,
+with closer framing and continuous rain covering the whole button. Its heart
+accent changes the fog instead of masking the rain to the centre. Lightning
+is subdued and full-button intro/outro fades are removed.
+Universe Within keeps its four network
+layers and sparkles, replaces audio FFT input with a quiet glow, fits the
+vignette to the button and removes long intro/outro blackouts. Both are silent
+and use fixed ambient camera/parallax settings instead of mouse input.
diff --git a/www/shaders/clouds.js b/www/shaders/clouds.js
new file mode 100644
index 0000000..65eb279
--- /dev/null
+++ b/www/shaders/clouds.js
@@ -0,0 +1,60 @@
+/* 2D Clouds - adapted from the user-supplied shader.
+   Source: https://www.shadertoy.com/view/4tdSWr
+   The supplied source did not include author or licence comments.
+   Original noise layers retained; sky/cloud colours use the scene palette. */
+(function(window) {
+  var shaders=window.HackBankExtraButtonShaders=window.HackBankExtraButtonShaders || {};
+  shaders['shader-clouds']=`
+    const mat2 cloudMatrix=mat2(1.6,1.2,-1.2,1.6);
+    vec2 cloudHash(vec2 p) {
+      p=vec2(dot(p,vec2(127.1,311.7)),dot(p,vec2(269.5,183.3)));
+      return -1.+2.*fract(sin(p)*43758.5453123);
+    }
+    float cloudNoise(vec2 p) {
+      const float K1=.366025404, K2=.211324865;
+      vec2 i=floor(p+(p.x+p.y)*K1);
+      vec2 a=p-i+(i.x+i.y)*K2;
+      vec2 o=a.x>a.y ? vec2(1.,0.) : vec2(0.,1.);
+      vec2 b=a-o+K2, c=a-1.+2.*K2;
+      vec3 h=max(.5-vec3(dot(a,a),dot(b,b),dot(c,c)),0.);
+      vec3 n=h*h*h*h*vec3(dot(a,cloudHash(i)),dot(b,cloudHash(i+o)),dot(c,cloudHash(i+1.)));
+      return dot(n,vec3(70.));
+    }
+    float cloudFbm(vec2 p) {
+      float sum=0., amplitude=.1;
+      for(int i=0;i<7;i++) {
+        sum+=cloudNoise(p)*amplitude;p=cloudMatrix*p;amplitude*=.4;
+      }
+      return sum;
+    }
+    vec3 scene() {
+      vec2 p=uv, q=p*vec2(resolution.x/resolution.y,1.);
+      float drift=time*.03, warp=cloudFbm(q*1.1*.5);
+      float ridges=0., weight=.8;
+      q*=1.1;q-=warp-drift;
+      for(int i=0;i<8;i++) {
+        ridges+=abs(weight*cloudNoise(q));q=cloudMatrix*q+drift;weight*=.7;
+      }
+      float shape=0.;q=p*vec2(resolution.x/resolution.y,1.)*1.1;q-=warp-drift;weight=.7;
+      for(int i=0;i<8;i++) {
+        shape+=weight*cloudNoise(q);q=cloudMatrix*q+drift;weight*=.6;
+      }
+      shape*=ridges+shape;
+      float colour=0.;drift=time*.03*2.;
+      q=p*vec2(resolution.x/resolution.y,1.)*1.1*2.;q-=warp-drift;weight=.4;
+      for(int i=0;i<7;i++) {
+        colour+=weight*cloudNoise(q);q=cloudMatrix*q+drift;weight*=.6;
+      }
+      float detail=0.;drift=time*.03*3.;
+      q=p*vec2(resolution.x/resolution.y,1.)*1.1*3.;q-=warp-drift;weight=.4;
+      for(int i=0;i<7;i++) {
+        detail+=abs(weight*cloudNoise(q));q=cloudMatrix*q+drift;weight*=.6;
+      }
+      colour+=detail;
+      vec3 sky=mix(color1,color0,p.y);
+      vec3 clouds=color2*vec3(1.1,1.1,1.)*clamp(.5+.3*colour,0.,1.);
+      shape=.2+8.*shape*ridges;
+      return mix(sky,clamp(.5*sky+clouds,0.,1.),clamp(shape+colour,0.,1.));
+    }
+  `;
+})(window);
diff --git a/www/shaders/heartfelt.js b/www/shaders/heartfelt.js
new file mode 100644
index 0000000..c35b686
--- /dev/null
+++ b/www/shaders/heartfelt.js
@@ -0,0 +1,102 @@
+/* Heartfelt - Martijn Steinrucken aka BigWings - 2017.
+   Twitter: @The_ArtOfCode
+   Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported.
+   https://creativecommons.org/licenses/by-nc-sa/3.0/
+   Source: https://www.shadertoy.com/view/ltffzl
+   Video: https://www.youtube.com/watch?v=uiF5Tlw22PI
+   Adapted from the user-supplied source for silent ambient buttons:
+   procedural palette backdrop replaces iChannel0; no audio or mouse input;
+   subdued lightning, closer framing and continuous rain across the button.
+   The heart accents the fog rather than limiting where rain appears.
+   N13 noise is credited to Dave Hoskins in the supplied source. */
+(function(window) {
+  var shaders=window.HackBankExtraButtonShaders=window.HackBankExtraButtonShaders || {};
+  shaders['shader-heartfelt']=`
+    float rainS(float a,float b,float x) {
+      if(abs(b-a)<.000001) return 0.;
+      float t=clamp((x-a)/(b-a),0.,1.);
+      return t*t*(3.-2.*t);
+    }
+    vec3 rainN13(float p) {
+      vec3 p3=fract(vec3(p)*vec3(.1031,.11369,.13787));
+      p3+=dot(p3,p3.yzx+19.19);
+      return fract(vec3((p3.x+p3.y)*p3.z,(p3.x+p3.z)*p3.y,(p3.y+p3.z)*p3.x));
+    }
+    float rainN(float t) { return fract(sin(t*12345.564)*7658.76); }
+    float rainSaw(float b,float t) { return rainS(0.,b,t)*rainS(1.,b,t); }
+    vec2 rainLayer(vec2 p,float t) {
+      vec2 original=p, a=vec2(6.,1.), grid=a*2.;
+      p.y+=t*.75;
+      vec2 id=floor(p*grid);
+      p.y+=rainN(id.x);
+      id=floor(p*grid);
+      vec3 n=rainN13(id.x*35.2+id.y*2376.1);
+      vec2 st=fract(p*grid)-vec2(.5,0.);
+      float x=n.x-.5, y=original.y*20.;
+      x+=sin(y+sin(y))*(.5-abs(x))*(n.z-.5);
+      x*=.7;
+      y=(rainSaw(.85,fract(t+n.z))-.5)*.9+.5;
+      float d=length((st-vec2(x,y))*a.yx);
+      float mainDrop=rainS(.4,0.,d);
+      float r=sqrt(max(0.,rainS(1.,y,st.y)));
+      float cd=abs(st.x-x);
+      float trail=rainS(.23*r,.15*r*r,cd);
+      float front=rainS(-.02,.02,st.y-y);
+      trail*=front*r*r;
+      y=fract(original.y*10.)+(st.y-.5);
+      float droplets=rainS(.3,0.,length(st-vec2(x,y)));
+      return vec2(mainDrop+droplets*r*front,trail);
+    }
+    float rainStatic(vec2 p,float t) {
+      p*=40.;
+      vec2 id=floor(p);p=fract(p)-.5;
+      vec3 n=rainN13(id.x*107.45+id.y*3543.654);
+      float d=length(p-(n.xy-.5)*.7);
+      return rainS(.3,0.,d)*fract(n.z*10.)*rainSaw(.025,fract(t+n.z));
+    }
+    vec2 rainDrops(vec2 p,float t,float l0,float l1,float l2) {
+      float s=rainStatic(p,t)*l0;
+      vec2 a=rainLayer(p,t)*l1, b=rainLayer(p*1.85,t)*l2;
+      return vec2(rainS(.3,1.,s+a.x+b.x),max(a.y*l0,b.y*l1));
+    }
+    vec3 rainBackdrop(vec2 p,float blur) {
+      vec2 q=(p-.5)*vec2(resolution.x/resolution.y,1.);
+      vec3 col=mix(color0,color1,clamp(p.y,0.,1.))*.35;
+      for(int i=0;i<6;i++) {
+        float n=float(i);
+        vec2 center=vec2(sin(n*2.3+time*.015)*resolution.x/resolution.y*.4,cos(n*1.7+time*.012)*.4);
+        vec2 delta=q-center;
+        float radius=.025+blur*.018;
+        col+=palette(n*.2)*exp(-dot(delta,delta)/radius)*.7;
+      }
+      return col;
+    }
+    vec3 scene() {
+      vec2 p=(uv-.5)*vec2(resolution.x/resolution.y,1.), imageUV=uv;
+      float T=mod(time,102.), story=rainS(0.,70.,T);
+      float t=time*.2;
+      float zoom=.5;p*=zoom;
+      float minBlur=4.+rainS(.5,1.,story)*3.;
+      float maxBlur=6.+rainS(.5,1.,story)*1.5;
+      vec2 heartUV=p-vec2(0.,-.1);heartUV.x*=.5;
+      float shrink=rainS(110.,70.,T);
+      heartUV.y-=sqrt(abs(heartUV.x))*.5*shrink;
+      float heart=rainS(.4*shrink,.2*shrink,length(heartUV))*shrink;
+      maxBlur-=heart;p*=1.5;t*=.25;
+      imageUV=(imageUV-.5)*(.9+zoom*.1)+.5;
+      float rainAmount=.65+.35*heart;
+      float l0=rainS(-.5,1.,rainAmount)*2., l1=rainS(.25,.75,rainAmount), l2=rainS(0.,.5,rainAmount);
+      vec2 drops=rainDrops(p,t,l0,l1,l2), e=vec2(.001,0.);
+      vec2 normal=vec2(rainDrops(p+e,t,l0,l1,l2).x,rainDrops(p+e.yx,t,l0,l1,l2).x)-drops.x;
+      float focus=mix(maxBlur-drops.y,minBlur,rainS(.1,.2,drops.x));
+      vec3 col=rainBackdrop(imageUV+normal,focus);
+      float shift=sin((T+3.)*.1)*.5+.5+story;
+      col*=mix(vec3(1.),vec3(.8,.9,1.3),shift);
+      float flash=sin((T+3.)*.5*sin((T+3.)*5.));
+      flash*=pow(max(0.,sin((T+3.)*.5+sin((T+3.)*.5))),10.);
+      col*=1.+flash*.08*(1.-story*.9);
+      vec2 vignette=imageUV-.5;col*=max(.15,1.-dot(vignette,vignette));
+      return mix(pow(max(col,vec3(0.)),vec3(1.2)),col,heart);
+    }
+  `;
+})(window);
diff --git a/www/shaders/star-nest.js b/www/shaders/star-nest.js
new file mode 100644
index 0000000..d75d241
--- /dev/null
+++ b/www/shaders/star-nest.js
@@ -0,0 +1,58 @@
+/* Star Nest by Pablo Roman Andrioli. Source supplied by the user.
+   https://www.shadertoy.com/view/XlfGRj
+
+   MIT License
+   Copyright (c) Pablo Roman Andrioli
+
+   Permission is hereby granted, free of charge, to any person obtaining a copy
+   of this software and associated documentation files (the "Software"), to deal
+   in the Software without restriction, including without limitation the rights
+   to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+   copies of the Software, and to permit persons to whom the Software is
+   furnished to do so, subject to the following conditions:
+
+   The above copyright notice and this permission notice shall be included in all
+   copies or substantial portions of the Software.
+
+   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+   IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+   AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+   LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+   SOFTWARE.
+
+   Adapted to fixed camera angles, scene colours and the shared seeded clock. */
+(function(window) {
+  var shaders=window.HackBankExtraButtonShaders=window.HackBankExtraButtonShaders || {};
+  shaders['shader-star-nest']=`
+    vec3 scene() {
+      vec2 p=uv-.5;p.y*=resolution.y/resolution.x;
+      vec3 direction=vec3(p*.8,1.);
+      float drift=time*.01+.25;
+      mat2 rot1=mat2(cos(.5),sin(.5),-sin(.5),cos(.5));
+      mat2 rot2=mat2(cos(.8),sin(.8),-sin(.8),cos(.8));
+      direction.xz*=rot1;direction.xy*=rot2;
+      vec3 origin=vec3(1.,.5,.5)+vec3(drift*2.,drift,-2.);
+      origin.xz*=rot1;origin.xy*=rot2;
+      float s=.1, fade=1.;vec3 v=vec3(0.);
+      for(int r=0;r<20;r++) {
+        vec3 point=origin+s*direction*.5;
+        point=abs(vec3(.85)-mod(point,vec3(1.7)));
+        float previous=0., change=0.;
+        for(int i=0;i<17;i++) {
+          point=abs(point)/max(dot(point,point),.000001)-.53;
+          float size=length(point);change+=abs(size-previous);previous=size;
+        }
+        float darkMatter=max(0.,.3-change*change*.001);
+        change*=change*change;
+        if(r>6)fade*=1.-darkMatter;
+        v+=fade;
+        v+=vec3(s,s*s,s*s*s*s)*change*.0015*fade;
+        fade*=.73;s+=.1;
+      }
+      v=mix(vec3(length(v)),v,.85)*.01;
+      return color0*v.r+color1*v.g+color2*v.b;
+    }
+  `;
+})(window);
diff --git a/www/shaders/universe-within.js b/www/shaders/universe-within.js
new file mode 100644
index 0000000..69071ce
--- /dev/null
+++ b/www/shaders/universe-within.js
@@ -0,0 +1,73 @@
+/* The Universe Within - Martijn Steinrucken aka BigWings - 2018.
+   Twitter: @The_ArtOfCode
+   Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported.
+   https://creativecommons.org/licenses/by-nc-sa/3.0/
+   Source: https://www.shadertoy.com/view/lscczl
+   Video: https://youtu.be/GAhu4ngQa48
+   Tutorial: https://youtu.be/3CycKKJiwis
+   Adapted from the user-supplied source for silent ambient buttons:
+   audio FFT replaced with a gentle constant glow; scene palette, fixed parallax,
+   button-shaped vignette, no intro/outro blackout, WebGL 1 array indexing. */
+(function(window) {
+  var shaders=window.HackBankExtraButtonShaders=window.HackBankExtraButtonShaders || {};
+  shaders['shader-universe']=`
+    float netS(float a,float b,float x) {
+      float t=clamp((x-a)/(b-a),0.,1.);
+      return t*t*(3.-2.*t);
+    }
+    float netN21(vec2 p) {
+      vec3 a=fract(vec3(p.xyx)*vec3(213.897,653.453,253.098));
+      a+=dot(a,a.yzx+79.76);
+      return fract((a.x+a.y)*a.z);
+    }
+    vec2 netPosition(vec2 id,vec2 offset,float t) {
+      float n=netN21(id+offset), a=t+n;
+      return offset+vec2(sin(a*fract(n*10.)),cos(a*fract(n*100.)))*.4;
+    }
+    float netLine(vec2 a,vec2 b,vec2 p) {
+      vec2 pa=p-a, ba=b-a;
+      float h=clamp(dot(pa,ba)/max(dot(ba,ba),.000001),0.,1.);
+      float d=length(pa-ba*h), span=length(a-b);
+      float fade=netS(1.5,.5,span)+netS(.05,.02,abs(span-.75));
+      return netS(.04,.01,d)*fade;
+    }
+    float netLayer(vec2 st,float n,float t) {
+      vec2 id=floor(st)+n;st=fract(st)-.5;
+      vec2 points[9];
+      for(int i=0;i<9;i++) {
+        vec2 offset=vec2(mod(float(i),3.)-1.,floor(float(i)/3.)-1.);
+        points[i]=netPosition(id,offset,t);
+      }
+      float lines=0., sparkle=0.;
+      for(int i=0;i<9;i++) {
+        lines+=netLine(points[4],points[i],st);
+        float d=length(st-points[i]);
+        float star=.005/max(d*d,.000001)*netS(1.,.7,d);
+        float pulse=sin((fract(points[i].x)+fract(points[i].y)+t)*5.)*.4+.6;
+        sparkle+=star*pow(pulse,20.);
+      }
+      lines+=netLine(points[1],points[3],st)+netLine(points[1],points[5],st);
+      lines+=netLine(points[7],points[5],st)+netLine(points[7],points[3],st);
+      float phase=(sin(t+n)+sin(t*.1))*.25+.5;
+      phase+=pow(sin(t*.1)*.5+.5,50.)*5.;
+      return lines+sparkle*phase;
+    }
+    vec3 scene() {
+      vec2 p=(uv-.5)*vec2(resolution.x/resolution.y,1.);
+      float t=time*.1, s=sin(t), c=cos(t);
+      mat2 rotation=mat2(c,-s,s,c);
+      vec2 st=p*rotation;
+      float network=0.;
+      for(int layer=0;layer<4;layer++) {
+        float i=float(layer)*.25, z=fract(t+i);
+        float size=mix(15.,1.,z), fade=netS(0.,.6,z)*netS(1.,.8,z);
+        network+=fade*netLayer(st*size,i,time);
+      }
+      vec3 wave=vec3(s,cos(t*.4),-sin(t*.24))*.4+.6;
+      vec3 base=(color0*wave.r+color1*wave.g+color2*wave.b)/1.5;
+      vec3 col=base*(network+max(0.,-p.y)*.15);
+      vec2 vignette=uv-.5;
+      return col*max(.15,1.-dot(vignette,vignette));
+    }
+  `;
+})(window);
diff --git a/www/shaders/wonderful.js b/www/shaders/wonderful.js
new file mode 100644
index 0000000..f7cdbe9
--- /dev/null
+++ b/www/shaders/wonderful.js
@@ -0,0 +1,28 @@
+/* Adapted from the user-supplied Wonderful tutorial shader.
+   Shader: https://www.shadertoy.com/view/mtyGWy
+   Tutorial: https://youtu.be/f4s1h2YETNY
+   Palette reference: https://iquilezles.org/articles/palettes/
+   The supplied source did not include a licence statement. */
+(function(window) {
+  var shaders=window.HackBankExtraButtonShaders=window.HackBankExtraButtonShaders || {};
+  shaders['shader-wonderful']=`
+    vec3 wonderfulPalette(float t) {
+      vec3 wave=.5+.5*cos(6.28318*(vec3(t)+vec3(.263,.416,.557)));
+      return (color0*wave.r+color1*wave.g+color2*wave.b)/max(.001,wave.r+wave.g+wave.b);
+    }
+    vec3 scene() {
+      vec2 p=(uv*2.-1.)*vec2(resolution.x/resolution.y,1.)*.5;
+      vec2 original=p;
+      vec3 result=vec3(0.);
+      for(int i=0;i<4;i++) {
+        p=fract(p*1.5)-.5;
+        float d=length(p)*exp(-length(original));
+        vec3 col=wonderfulPalette(length(original)+float(i)*.4+time*.4);
+        d=abs(sin(d*8.+time)/8.);
+        d=pow(.01/max(d,.0001),1.2);
+        result+=col*d;
+      }
+      return result;
+    }
+  `;
+})(window);
diff --git a/www/stom.css b/www/stom.css
index 2763672..fd190d0 100644
--- a/www/stom.css
+++ b/www/stom.css
@@ -226,6 +226,16 @@ iframe { display: block; border: 0; }
 .magic-neutral .magic-layer { background: #e7edf3 !important; }
 .dark-mode .magic-neutral .magic-layer { background: #233448 !important; }
 .dark-mode .magic-neutral .Buttontext { color: #e1eaf3; }
+/* Quiet account lists keep every saved design intact; the studio previews it. */
+.button-styles-off .magic-button:not(.magic-preview) { color: #263e52; background: #e7edf3; }
+.button-styles-off .magic-button:not(.magic-preview) > .magic-layer,
+.button-styles-off .magic-button:not(.magic-preview) > .magic-icon,
+.button-styles-off .magic-button:not(.magic-preview) .magic-name::before { display: none; }
+.button-styles-off .magic-button:not(.magic-preview) .magic-angle { transform: none !important; }
+.button-styles-off .magic-button:not(.magic-preview) .magic-name { padding: 0; animation: none !important; }
+.button-styles-off .magic-button:not(.magic-preview) .Buttontext { color: #263e52 !important; background-image: none !important; font: 700 17px/1.15 system-ui, sans-serif !important; }
+.dark-mode.button-styles-off .magic-button:not(.magic-preview) { color: #e1eaf3; background: #233448; }
+.dark-mode.button-styles-off .magic-button:not(.magic-preview) .Buttontext { color: #e1eaf3 !important; }
 @keyframes magic-spin { to { transform: rotate(360deg); } }
 @keyframes magic-glitter { to { background-position: 47px 31px, -23px 41px, 31px -29px; } }
 @keyframes magic-shimmer { 0%, 20% { transform: translateX(-35%); } 80%, 100% { transform: translateX(35%); } }
@@ -350,6 +360,9 @@ iframe { display: block; border: 0; }
 .command-tab.selected, .archive-tab.selected { color: #1c3f59; border-color: #91adc2; background: #dce9f3; }
 .archive-tab:disabled { opacity: .5; cursor: default; }
 .archive-tab.archive { margin-left: auto; }
+.account-display-tools { display: flex; flex: 0 0 auto; align-items: stretch; gap: 8px; margin-left: auto; }
+.button-styles-toggle { flex: 0 0 56px; width: 56px; padding: 8px; font-size: 24px; }
+.button-styles-toggle[aria-pressed="false"] { color: #1c3f59; background: #dce9f3; border-color: #91adc2; }
 .abort-all { background: #fff0f1; border-color: #edc9ce; color: #a33342; white-space: nowrap; }
 .command-sections { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; align-items: start; }
 .command-section { padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: #fff; min-width: 0; }

From afb9076b2f45459cad9f1df2046abe3433fd9593 Mon Sep 17 00:00:00 2001
From: Johan Bloemberg 
Date: Mon, 26 Oct 2026 10:22:25 +0100
Subject: [PATCH 25/25] Add Matrix button background, Cyber font and name
 casing

---
 README.md                            |  29 +++++--
 button_themes.py                     |  20 ++++-
 tests/js/browser-smoke.test.js       | 112 ++++++++++++++++++++++++---
 tests/js/kassa-button-styles.test.js |  51 +++++++++++-
 tests/test_button_themes.py          |  40 +++++++++-
 www/fonts/OCRA-NOTICE.txt            |  67 ++++++++++++++++
 www/fonts/OCRA.otf                   | Bin 0 -> 14744 bytes
 www/fonts/README.md                  |  17 ++++
 www/index.html                       |   8 +-
 www/kassa-button-shaders.js          |  27 +++++++
 www/kassa-button-studio.js           |   3 +-
 www/kassa-button-styles.js           |  42 ++++++++--
 www/stom.css                         |  12 ++-
 13 files changed, 392 insertions(+), 36 deletions(-)
 create mode 100644 www/fonts/OCRA-NOTICE.txt
 create mode 100644 www/fonts/OCRA.otf
 create mode 100644 www/fonts/README.md

diff --git a/README.md b/README.md
index 9836b7d..db6cae2 100644
--- a/README.md
+++ b/README.md
@@ -96,7 +96,8 @@ in project-specific containers. The UI assets are mounted from `www`, so edits a
 Sample members, balances, products, and stock are seeded once in the ignored
 `dev/data` directory. This setup does not use production data or hardware;
 the door command targets the development broker and no printer is connected.
-All CSS, icons, and JavaScript are served locally, with no CDN or web fonts.
+All CSS, icons, fonts, and JavaScript are served locally, with no CDN or external
+font service.
 
 Member and user accounts use 84px-tall buttons, 50% taller than the original
 compact rows, with page tabs when needed. At 1920×1080 a page holds 42 accounts
@@ -228,17 +229,29 @@ Studio (tm)”. Current and draft buttons remain visible beside the editing
 tools. Backgrounds support solid paint, 2–6 gradient stops with percentages
 and a full 360° angle, glitter, and plasma. Effect speed and intensity are
 adjustable. Lettering has colour or a separate gradient, six system font
-stacks, size, weight, a fixed angle and optional continuous rotation. Icons
-can be built-in symbols or a personal image, with size and rotation controls.
+stacks and the bundled OCR-A font **Cyber**, size, weight, a fixed angle and
+optional continuous rotation. Icons can be built-in symbols or a personal image,
+with size and rotation controls.
 Lettering also has an optional label backdrop with its own colour, opacity,
 padding and corner rounding. It follows text rotation and supports gradient
-letters. Older saved designs continue to load with the backdrop off.
+letters. **Name case** offers Original, UPPERCASE, lowercase, Capitalized Words,
+camelCase, PascalCase, snake_case and kebab-case. Word-based styles recognise
+spaces, underscores, hyphens, camel-case and acronym boundaries: `BugBlue`
+becomes `bugBlue`, and `HTTPServer` becomes `httpServer` in camelCase.
+These change only the button's visible name; account IDs, search and commands
+keep the original username. Turning personal styles off restores original
+spelling; Studio previews still show the selected design. Older saved designs
+continue to load with the backdrop off and Original casing.
+Cyber's font source and notices are in [`www/fonts/README.md`](www/fonts/README.md).
 The native colour picker and six-digit hex fields work together.
 Large scroll buttons also work on the bar's touch screen without swipe gestures.
 
-**Pick your kind of magic** includes nine animated shader presets alongside
+**Pick your kind of magic** includes ten animated shader presets alongside
 the other backgrounds: Five lights, Snow, Cubes, Synthwave, Wonderful,
-Heartfelt, Star Nest, 2D Clouds and Universe Within.
+Heartfelt, Star Nest, 2D Clouds, Universe Within and Matrix.
+Matrix has falling green code on black, with bright heads and fading trails;
+its procedural glyphs need no textures. Its colours, speed and intensity are
+editable, and it can be combined with any font or name case.
 Cubes rotate in a wave from bottom left to top right; Synthwave drives through
 a landscape of wireframe hills. Tap a sample or choose it under Background style, then
 adjust its scene colours, effect cycle (longer is slower) and intensity.
@@ -247,7 +260,7 @@ The first four are original, texture-free shaders inspired by the supplied
 [snow](https://glslsandbox.com/e#109692.0),
 [cubes](https://www.shadertoy.com/view/MdVXzw) and
 [synthwave](https://www.shadertoy.com/view/tsScRK) references.
-The other five adapt the GLSL supplied by the user; their source credits,
+Five presets adapt the GLSL supplied by the user; their source credits,
 individual licence notices and adaptation details are in
 [`www/shaders/README.md`](www/shaders/README.md).
 Heartfelt uses a procedural palette backdrop instead of a missing image;
@@ -349,7 +362,7 @@ The profile response fix in `kassa.py` and sale display events in
 `plugins/historie.py` require the same backend restart.
 Button studio deployments must also include `button_themes.py`,
 `plugins/buttonstudio.py`, the JS/CSS files (including
-`www/kassa-button-shaders.js`) and the updated PHP routes,
+`www/kassa-button-shaders.js`), the `www/fonts` directory and the updated PHP routes,
 and restart the POS backend. Existing private button data must be preserved.
 The sound-folder update also requires a backend restart and an audio-controller
 restart; include `pos_sound_settings.py` and the entire `www/sounds` tree when
diff --git a/button_themes.py b/button_themes.py
index d4bc4ec..f0f9a9a 100644
--- a/button_themes.py
+++ b/button_themes.py
@@ -12,7 +12,17 @@
 
 MAX_REQUEST = 160 * 1024
 MAX_ICON_BYTES = 96 * 1024
-FONTS = {"system", "rounded", "comic", "mono", "serif", "condensed"}
+FONTS = {"system", "rounded", "comic", "mono", "serif", "condensed", "cyber"}
+TEXT_CASES = {
+    "original",
+    "uppercase",
+    "lowercase",
+    "capitalize",
+    "camel",
+    "pascal",
+    "snake",
+    "kebab",
+}
 ICONS = {"none", "image", "key", "star", "bolt", "heart", "smile"}
 
 
@@ -104,11 +114,11 @@ def validate_theme(value):
     ):
         raise ValueError("Unknown button design version.")
     background = fields(value["background"], "kind color gradient speed intensity")
-    # Existing version-1 designs predate configurable label backdrops.
+    # Existing version-1 designs predate configurable label backdrops and casing.
     text = value["text"]
     if isinstance(text, dict):
-        text = {"backdrop": None, **text}
-    text = fields(text, "color gradient size font weight angle rotation backdrop")
+        text = {"backdrop": None, "case": "original", **text}
+    text = fields(text, "color gradient size font weight angle rotation backdrop case")
     icon = fields(value["icon"], "kind image size rotation")
     image = icon_image(icon["image"])
     kind = choice(icon["kind"], ICONS)
@@ -133,6 +143,7 @@ def validate_theme(value):
                     "shader-star-nest",
                     "shader-clouds",
                     "shader-universe",
+                    "shader-matrix",
                 },
             ),
             "color": color(background["color"]),
@@ -147,6 +158,7 @@ def validate_theme(value):
             ),
             "size": number(text["size"], 10, 48),
             "font": choice(text["font"], FONTS),
+            "case": choice(text["case"], TEXT_CASES),
             "weight": number(text["weight"], 400, 900),
             "angle": number(text["angle"], 0, 360),
             "rotation": number(text["rotation"], 0, 60),
diff --git a/tests/js/browser-smoke.test.js b/tests/js/browser-smoke.test.js
index da2ffe4..e9c6b2b 100644
--- a/tests/js/browser-smoke.test.js
+++ b/tests/js/browser-smoke.test.js
@@ -57,12 +57,16 @@ function scriptTag(scriptName) {
   return ``;
 }
 
-for(const disabled of [false,true]) {
-  test(disabled ? 'shader buttons keep their gradient and labels when WebGL is unavailable' : 'ambient presets render distinct scenes through one shared WebGL context', (t)=>{
+for(const mode of ['animated','disabled','still']) {
+  const disabled=mode === 'disabled';
+  test(disabled ? 'shader buttons keep their gradient and labels when WebGL is unavailable' :
+    (mode === 'still' ? 'ambient presets render still scenes with reduced motion' : 'ambient presets render distinct scenes through one shared WebGL context'), (t)=>{
     const command=chromiumCommand();
     if(!command) { t.skip('Chromium is not available'); return; }
     const url='file://'+path.resolve(__dirname,'../fixtures/button-shaders.html')+'?report'+(disabled ? '&disabled' : '');
-    const result=runChromium(command,url,['--enable-unsafe-swiftshader','--use-angle=swiftshader']);
+    const flags=['--enable-unsafe-swiftshader','--use-angle=swiftshader'];
+    if(mode === 'still') flags.push('--force-prefers-reduced-motion');
+    const result=runChromium(command,url,flags);
     if(skipIfChromiumSandboxed(t,result)) return;
     assert.ifError(result.error);
     assert.equal(result.status,0,result.stderr);
@@ -70,17 +74,17 @@ for(const disabled of [false,true]) {
     assert(match,result.stdout);
     const data=JSON.parse(match[1].replaceAll('"','"').replaceAll('&','&'));
     assert.equal(data.contexts,1);
-    assert.equal(data.sceneCount,9);
-    assert.equal(data.canvases,22);
-    assert.equal(data.labels,22);
+    assert.equal(data.sceneCount,10);
+    assert.equal(data.canvases,23);
+    assert.equal(data.labels,23);
     assert.equal(data.fallback,true);
     if(disabled) {
       assert.equal(data.status,'unavailable');
       assert(data.samples.every(sample=>sample.state==='fallback'));
     } else {
       assert.equal(data.status,'ready',result.stderr);
-      assert(data.samples.every(sample=>sample.state==='animated' && sample.bright>1000 && sample.width<=320 && sample.height<=128),JSON.stringify(data));
-      assert.equal(new Set(data.samples.map(sample=>sample.hash)).size,9);
+      assert(data.samples.every(sample=>sample.state===mode && sample.bright>1000 && sample.width<=320 && sample.height<=128),JSON.stringify(data));
+      assert.equal(new Set(data.samples.map(sample=>sample.hash)).size,10);
       assert.equal(new Set(data.seedSamples.slice(0,12).map(sample=>sample.hash)).size,12);
       assert.equal(data.seedSamples.at(-1).hash,data.samples[0].hash);
       assert.equal(data.preserved,true);
@@ -378,7 +382,7 @@ test("button studio previews locally, saves one user's design and cancels withou
           var dialog=document.querySelector('.button-studio');
           var current=dialog.querySelector('.studio-current').innerHTML;
           var presets=Array.from(dialog.querySelectorAll('.studio-presets .studio-preset'));
-          result.allPresetsTogether=presets.length===15 && !dialog.querySelector('.studio-ambient');
+          result.allPresetsTogether=presets.length===16 && !dialog.querySelector('.studio-ambient');
           presets[6].click();
           var previewCanvas=dialog.querySelector('.studio-new .magic-shader-canvas');
           presets[7].click(); presets[8].click(); presets[9].click();
@@ -440,6 +444,96 @@ test("button studio previews locally, saves one user's design and cancels withou
   assert.equal(data.noFinancialCommands,true);
 });
 
+test('Matrix, Cyber and name cases preview, save and preserve original account commands', (t)=>{
+  const command=chromiumCommand();
+  if(!command) { t.skip('Chromium is not available'); return; }
+  const fixture=writeKassaFixture(`
+    window.addEventListener('DOMContentLoaded',function() { setTimeout(async function() {
+      var result={};
+      try {
+        function send(topic,value) { window.__eventSource.onmessage({data:JSON.stringify(['hack42bar/output/session/main/'+topic,JSON.stringify(value)])}); }
+        function wait(ms) { return new Promise(function(resolve) { setTimeout(resolve,ms); }); }
+        var saved=null, writes=[];
+        window.fetch=function(url,options) {
+          var params=new URLSearchParams(options.body);
+          writes.push({topic:params.get('topic'),message:params.get('msg')});
+          if(params.get('topic').endsWith('/button_studio')) {
+            var request=JSON.parse(params.get('msg'));
+            if(request.theme) saved=request.theme;
+            setTimeout(function() { send('button_studio',{request:request.request,ok:true,user:request.user,theme:saved}); },10);
+          }
+          return Promise.resolve({ok:true,json:function() { return Promise.resolve({done:1}); }});
+        };
+        send('accounts/BugBlue',{amount:-20}); send('accounts/stitch',{amount:10});
+        send('members',['BugBlue','stitch']); send('buttons',{});
+        var other=document.querySelector('#stitch').innerHTML;
+        function openStudio() {
+          send('infobox/account',{user:'BugBlue',amount:-20,purchases:[],history_available:true,undo_transaction:null});
+          send('buttons',{special:'infobox'}); document.querySelector('.studio-launch').click();
+        }
+        openStudio(); await wait(30);
+        var dialog=document.querySelector('.button-studio');
+        var current=dialog.querySelector('.studio-current').innerHTML;
+        function choose(title,value) {
+          var select=Array.from(dialog.querySelectorAll('select')).find(function(input) { return input.labels[0].textContent===title; });
+          select.value=value; select.dispatchEvent(new Event('change'));
+        }
+        function lettering() { return dialog.querySelector('.studio-new .Buttontext'); }
+        function matrix() { Array.from(dialog.querySelectorAll('.studio-preset')).find(function(tile) { return tile.textContent==='Matrix'; }).click(); }
+        matrix(); document.querySelector('#Studio-tab-Lettering').click();
+        choose('Font','cyber');
+        result.caseOptions=Array.from(dialog.querySelectorAll('select')).find(function(input) { return input.labels[0].textContent==='Name case'; }).options.length===8;
+        choose('Name case','uppercase'); result.uppercase=lettering().textContent==='BUGBLUE';
+        choose('Name case','snake'); result.wordDetection=lettering().textContent==='bug_blue';
+        choose('Name case','original'); result.original=lettering().textContent==='BugBlue';
+        choose('Name case','camel');
+        document.querySelector('#Studio-tab-Background').click(); matrix();
+        result.presetPreservesLettering=lettering().textContent==='bugBlue' && getComputedStyle(lettering()).fontFamily.includes('HackBank Cyber');
+        result.matrixPreview=!!dialog.querySelector('.studio-new .magic-shader-matrix');
+        result.currentUnchanged=current===dialog.querySelector('.studio-current').innerHTML;
+        var faces=await document.fonts.load('17px "HackBank Cyber"','BugBlue');
+        result.cyberLoaded=faces.length===1 && faces[0].status==='loaded';
+        dialog.querySelector('.studio-save').click(); await wait(900);
+        result.saved=saved.background.kind==='shader-matrix' && saved.text.font==='cyber' && saved.text.case==='camel';
+        document.querySelector('#members').click();
+        var account=document.querySelector('#BugBlue'), canvas=account.querySelector('canvas');
+        result.account=account.querySelector('.Buttontext').textContent==='bugBlue' && account.getAttribute('data-button-user')==='BugBlue';
+        HackBankButtonStyles.apply(account,'BugBlue',saved); HackBankButtonStyles.apply(account,'BugBlue',saved);
+        result.repeatedApply=account.querySelector('.Buttontext').textContent==='bugBlue' && account.querySelector('canvas')===canvas;
+        var toggle=document.querySelector('.button-styles-toggle'); toggle.click();
+        result.quietName=account.querySelector('.Buttontext').textContent==='BugBlue';
+        var preview=HackBankButtonStyles.preview('BugBlue',-20,saved); document.body.appendChild(preview);
+        result.quietPreview=preview.querySelector('.Buttontext').textContent==='bugBlue'; preview.remove();
+        toggle.click(); result.restoredName=account.querySelector('.Buttontext').textContent==='bugBlue';
+        result.otherUnchanged=document.querySelector('#stitch').innerHTML===other;
+        openStudio(); await wait(30); dialog=document.querySelector('.button-studio');
+        document.querySelector('#Studio-tab-Lettering').click();
+        result.reopened=lettering().textContent==='bugBlue';
+        choose('Name case','uppercase');
+        var posts=writes.length; dialog.querySelector('.studio-cancel').click();
+        document.querySelector('#members').click();
+        result.cancelled=writes.length===posts && document.querySelector('#BugBlue .Buttontext').textContent==='bugBlue';
+        var input=document.querySelector('#Zoek'); input.value='bugb'; input.dispatchEvent(new Event('input')); await wait(250);
+        result.filtered=!!document.querySelector('#AccountList #BugBlue');
+        input.dispatchEvent(new KeyboardEvent('keydown',{key:'Tab',keyCode:9,which:9,bubbles:true}));
+        result.completion=input.value==='BugBlue ';
+        result.editingSendsNoCommands=writes.every(function(write) { return write.topic.endsWith('/button_studio'); });
+        input.value=''; document.querySelector('#AccountList #BugBlue').click();
+        result.command=writes.at(-1).topic.endsWith('/input') && writes.at(-1).message==='BugBlue';
+      } catch(error) { result.error=String(error.stack); }
+      var output=document.createElement('pre'); output.id='smoke-result'; output.textContent=JSON.stringify(result); document.body.appendChild(output);
+    },0); });
+  `);
+  const result=runChromium(command,'file://'+fixture);
+  fs.unlinkSync(fixture);
+  if(skipIfChromiumSandboxed(t,result)) return;
+  assert.ifError(result.error); assert.equal(result.status,0,result.stderr);
+  const match=result.stdout.match(/
([^<]+)<\/pre>/); assert(match,result.stdout);
+  const data=JSON.parse(match[1].replaceAll('"','"').replaceAll('&','&'));
+  assert.equal(data.error,undefined,JSON.stringify(data));
+  Object.keys(data).forEach(key=>assert.equal(data[key],true,key+': '+JSON.stringify(data)));
+});
+
 test("a completed deposit displays a native payment dialog and dismisses through OK", (t) => {
   const command=chromiumCommand();
   if(!command) { t.skip('Chromium is not available'); return; }
diff --git a/tests/js/kassa-button-styles.test.js b/tests/js/kassa-button-styles.test.js
index ce4a1f0..7f53869 100644
--- a/tests/js/kassa-button-styles.test.js
+++ b/tests/js/kassa-button-styles.test.js
@@ -16,7 +16,7 @@ test('gradient percentages sort stably and sharp edges preserve both stops',()=>
   assert.equal(JSON.stringify(gradient),before);
 });
 
-function appearance(storage) {
+function appearance(storage,buttons=[]) {
   const classes=new Set(), nodes=[], events=[], handlers={};
   const document={
     body:{classList:{toggle(name,on) { if(on) classes.add(name); else classes.delete(name); }}},
@@ -24,7 +24,7 @@ function appearance(storage) {
       const node={attributes:{},listeners:{},setAttribute(key,value) {this.attributes[key]=value;},addEventListener(key,handler){this.listeners[key]=handler;}};
       nodes.push(node);return node;
     },
-    querySelectorAll(){return nodes;},
+    querySelectorAll(selector){return selector === '.magic-button' ? buttons : nodes;},
     addEventListener(name,handler){handlers[name]=handler;},
     dispatchEvent(event){events.push(event.type);},
   };
@@ -92,3 +92,50 @@ test('stitch keeps blue paint and bold white text with no bundled icon',()=>{
   assert.equal(theme.icon.image,'');
   assert.equal(fs.existsSync(path.join(__dirname,'../../www/images/users/stitch.png')),false);
 });
+
+test('name cases derive from the original spelling with consistent word boundaries',()=>{
+  const styles=load();
+  const original='BugBlue john_doe';
+  const expected={original,uppercase:'BUGBLUE JOHN_DOE',lowercase:'bugblue john_doe',
+    capitalize:'Bug Blue John Doe',camel:'bugBlueJohnDoe',pascal:'BugBlueJohnDoe',
+    snake:'bug_blue_john_doe',kebab:'bug-blue-john-doe'};
+  assert.deepEqual(Object.keys(styles.cases),Object.keys(expected));
+  Object.entries(expected).forEach(([mode,value])=>assert.equal(styles.formatName(original,mode),value,mode));
+  assert.equal(styles.formatName(original),original);
+  assert.equal(styles.formatName(original,'unknown'),original);
+  assert.equal(styles.formatName('HTTPServer2__Élodie-Test','camel'),'httpServer2ÉlodieTest');
+  assert.equal(styles.formatName('user2Name','snake'),'user2_name');
+  assert.equal(styles.formatName('e\u0301Test 𐐨Name','capitalize'),'E\u0301 Test 𐐀 Name');
+  assert.equal(styles.formatName('  john__doe--42  ','pascal'),'JohnDoe42');
+  assert.equal(styles.formatName('___---','camel'),'___---');
+  assert.equal(styles.formatName('','capitalize'),'');
+});
+
+test('quiet mode restores original names while previews keep their case and settings',()=>{
+  function account(preview) {
+    const label={textContent:'BUGBLUE'};
+    return {label,querySelector:()=>label,classList:{contains:()=>preview},
+      getAttribute:key=>key === 'data-button-user' ? 'BugBlue' : 'uppercase'};
+  }
+  const accountButton=account(false), preview=account(true);
+  const {styles,handlers}=appearance({getItem:()=>null,setItem(){}},[accountButton,preview]);
+  assert.equal(accountButton.label.textContent,'BUGBLUE');
+  styles.setEnabled(false);
+  assert.equal(accountButton.label.textContent,'BugBlue');
+  assert.equal(preview.label.textContent,'BUGBLUE');
+  styles.setEnabled(true);
+  assert.equal(accountButton.label.textContent,'BUGBLUE');
+  handlers.storage({key:'hackbank-button-styles',newValue:'off'});
+  assert.equal(accountButton.label.textContent,'BugBlue');
+  assert.equal(preview.label.textContent,'BUGBLUE');
+});
+
+test('new designs retain original casing and Matrix is an independent background preset',()=>{
+  const styles=load();
+  assert.equal(styles.defaults('Someone').text.case,'original');
+  const matrix=styles.preset(styles.presets.findIndex(p=>p.kind === 'shader-matrix'));
+  assert.equal(matrix.background.kind,'shader-matrix');
+  assert.equal(matrix.text.font,'system');
+  assert.equal(matrix.text.case,'original');
+  assert.match(styles.fonts.cyber,/HackBank Cyber/);
+});
diff --git a/tests/test_button_themes.py b/tests/test_button_themes.py
index bbf9ff2..8cb0835 100644
--- a/tests/test_button_themes.py
+++ b/tests/test_button_themes.py
@@ -82,6 +82,7 @@ def test_designs_are_shared_survive_restart_and_keep_other_users(tmp_path, theme
         "shader-star-nest",
         "shader-clouds",
         "shader-universe",
+        "shader-matrix",
     ],
 )
 def test_ambient_shaders_survive_restart_without_changing_other_settings(
@@ -161,12 +162,49 @@ def test_older_saved_designs_load_without_rewriting_or_losing_their_settings(
     before = store.path.read_bytes()
     loaded = store.all()["stitch"]
     assert loaded["text"]["backdrop"] is None
+    assert loaded["text"]["case"] == "original"
     assert {
-        key: value for key, value in loaded["text"].items() if key != "backdrop"
+        key: value
+        for key, value in loaded["text"].items()
+        if key not in {"backdrop", "case"}
     } == theme["text"]
     assert store.path.read_bytes() == before
 
 
+@pytest.mark.parametrize(
+    "case",
+    [
+        "original",
+        "uppercase",
+        "lowercase",
+        "capitalize",
+        "camel",
+        "pascal",
+        "snake",
+        "kebab",
+    ],
+)
+def test_cyber_and_name_case_survive_restart_without_changing_the_username(
+    tmp_path, theme, case
+):
+    theme["background"]["kind"] = "shader-matrix"
+    theme["text"].update(font="cyber", case=case)
+    before = deepcopy(theme)
+    store = ButtonThemes(tmp_path / "buttons.json")
+    saved = store.save("BugBlue", theme)
+    assert ButtonThemes(store.path).all() == {"BugBlue": saved}
+    assert saved["text"]["font"] == "cyber"
+    assert saved["text"]["case"] == case
+    assert theme == before
+
+
+@pytest.mark.parametrize("case", ["title", "UPPERCASE", "", None, 42, {}, []])
+def test_unknown_name_cases_are_rejected(theme, case):
+    theme["text"]["case"] = case
+    with pytest.raises(ValueError):
+        validate_theme(theme)
+
+
 def test_backdrops_save_and_reload_with_gradient_and_rotating_text(tmp_path, theme):
     store = ButtonThemes(tmp_path / "buttons.json")
     theme["text"]["backdrop"] = {
diff --git a/www/fonts/OCRA-NOTICE.txt b/www/fonts/OCRA-NOTICE.txt
new file mode 100644
index 0000000..665ff14
--- /dev/null
+++ b/www/fonts/OCRA-NOTICE.txt
@@ -0,0 +1,67 @@
+%
+% OCR A for MetaType1
+% Translated by Matthew Skala from METAFONT code, starting March 2011
+%
+% I, Matthew Skala, release my work on this to the public domain.  However,
+% the copyright notice below, from the METAFONT code I used as a source,
+% may be applicable.
+%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% METAFONT-84 Definition for OCR-A Optical Character Recognition Font
+% (C) Copyright 1988, 1989 Richard B. Wales.  All Rights Reserved.
+%
+% Coded by:
+%
+%	Richard B. Wales
+%	Computer Science Department
+%	University of California, Los Angeles (UCLA)
+%	Los Angeles, California 90024-1596 (USA)
+%	+1 (213) 825-5683
+%	wales@CS.UCLA.EDU
+%
+% Source of information:
+%
+%	ANSI Standard X3.17-1977 (approved January 20, 1977, by the
+%	American National Standards Institute, Inc.)
+%
+% Based on an earlier version by:
+%
+%	Tor Lillqvist
+%	Computing Services
+%	Technical Research Centre of Finland
+%	TML@FINGATE.BITNET; mcvax!santra!tml
+%
+% Terms of copyright:
+%
+%	You may do anything you wish with this font definition, as
+%	long as you retain the original copyright notice and credit
+%	information intact in the source, and do not charge any fee
+%	for distribution of either the source or any fonts derived
+%	from it beyond a reasonable copying or communications charge.
+%
+% Disclaimer:
+%
+%	While I have made every reasonable effort to make this font
+%	definition correspond to the specifications in ANSI Standard
+%	X3.17-1977, I do not guarantee that it conforms fully to all
+%	official requirements for the OCR-A font, nor that the char-
+%	acters produced from this definition will be usable by any
+%	particular OCR hardware and/or software.  It is the respon-
+%	sibility of the user to determine the usability of this font
+%	definition for his application.  Use of this font definition
+%	is totally at the user's own risk and without any warranty
+%	whatsoever, express or implied.  Neither the author nor his
+%	employer will be responsible for any damages, including
+%	secondary or consequential damages, arising out of the use of
+%	this font definition.
+%
+%	The four ASCII characters "Tilde", "Underline", "Grave Accent",
+%	and "Vertical Bar" do not appear as part of ANSI X3.17-1977.
+%	In order to make a complete ASCII character set, I supplemented
+%	the standard with my own designs for these four characters.
+%	Since these characters are not part of any standard, they will
+%	presumably *NOT* be readable by any existing OCR-A equipment.
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/www/fonts/OCRA.otf b/www/fonts/OCRA.otf
new file mode 100644
index 0000000000000000000000000000000000000000..9cc8b41bd2cacfc8352bd11844f59484f0adc0fe
GIT binary patch
literal 14744
zcmb_@34BvU{`jQrOCF_`BLoyM2|{VhQJ?~H$qHxzMMPRoxr!}qp>5J8>3t?`5r(5p
zdSCRQtsr1Qt0LtPS64&@ceUy+D*9oSbqkHV{GD_s{P=(8y_Y71x}VSgXqxxt&CHwm
z&i6atd-6g=#0%&ll!v_0swH7z+V9?e>N$k?rw|G$4hxHT-nwtxDum_~AcV#)efpU&
z)QWr%ntc_XwM$pM5dO}+cm4<3Bj9=Z((pBle|ffQHMH9il5Kw>d|IfbZqN%*hVjt0
zmlGoO2h=GS5R%73-Kp5<$fz-B(Mf2#2H)ASP@$OQo4rtD@zzjY!k206W~aP2XC*x
z$chmMz4m%_!t*}yF1wCq$e@=O;s%MY^sZEvAx<`4DtjS?Y_3%HM&o3KQrQRkydjl2sXP>MUaQ42Ogz*(N-E3HDDO#9*$a*E`ny#2Mnk+_lgd75s8RwQj26iLA(e+B
zU#~E+3~*|_7fWRs3i0}nRQ5taUT37TH>?p$Wgn#VT92Mbk;n+2SQL#?0ng!R7u3YV
zSBrvBD4LFDz-KCaL(vqdV>O}h6pZG>({|`*fH$L{tV4-#eHrdiP{Z2N;kp{dL0v5L
zOBQ-9Mj=qUPM9Ma-et4QKy%R?_)LZGTo_pkt%*YK2pBCHo>#yq@$gAPDNr&1yy*Ez
zqcJu*RU5u5GCoop6gqvzjHxq1r)Wc`ht3F|uiYMLh>p_g616YuqN26i)3vMPUXG1S
zj?yj;(XNY(k2Yw7X3U*4XX>1}!P>~gC~br;S-T=GK0YZW4tNK>fR+I0TC@m?OIB;)
zwi*@{gG>TylHoBr#uOh3g)m{^M(CL+02dE$g~B4I!+jon-6M(5p~6BRhsC;3iNbV=
z#zl!Kaq-&Fkm=faT46@Ght8S$_*Ax@f#6vS@FW8&;)MCxoLYp|MkgEMV9}va7AIaL
zEC8;t0-5#j#ym6)K1L{+fY>G&B@QJBgp7r;OaQwM+M-}RA!sMkLthkYH0llWrcE;%
zOuJ0UaS4%zSe+?EXNXD+*{O$i_aa^BS_FtP3LqxJ(5$2d5Yk~dw$l<3S`=@LPEL$8
zMr&i!^|8^cW`I}Nc1jSS^LXK9T|z?S!2Kg(0tUSiR;80B^LR6oNycOy%s24sNw9pj
zD~)|a
z-B{2n#c{+I8zUYAVAyPjZrbI3|r*C{3Rsr0^R%H|KfIfv@?pi{}`?M{mGDz50c4b9B}U<
zzz1M|ATLs7yJfG)_Q>|iuxy`fzwChQAlO6cjGS!A8$p)#%1koib=d2y_eAd!pFp2P
zpCdk3eSYK~<<@aWI3kadw<|^}5)~Ku$-ISsYtZmPTL&2iUG#m%_uIjf1|RVA@iY5f
z^!uNOav!?nKg@rf|J(lG51BqBVd&7I8;1Ti?4@B>hd(@g+wc?0VC7-uzeWU%h#S#5
z;`WH&RHIbks&7W-jO-cp;;1hlp8W7X9$EUxsnK&s*N^^Y%$70ljD31+@1vU@ZC9^Q
zAJ+`l#At45W3|`D1&_0hJNH=NV^2MHYW&pkhb9c2P#G{L;P%8bfx&?@0-p_hIWQ}5
zUtn$EpM!=4tqqC}G6o$A9umAPI5!yk`(rY`cUbCha*9l*!|lrJ(i5+C4N3=MjrpHZ*z
z@11X#ktc3@6Yt(cmDbmvoV62gJ6V`2BeC{wyEoy8U8QSe^U%R^R$#NK$>44}Si$CR
zYZM+k6|BD1*rd~JB;F!S3?O*&lee0hbUM&@YU($M_$gQ~ok@7ysL+{AIyS7PlX?U2
zP^}@G&Z>xaH}zKdH>8k-_A9?$5h3DwZrN|yy+`N)Dm_4D0ziToSO7<>2o?zfKpNXL
zWFg?ANvEbgS4fY5Apsg1#K18&=_PPzkN|*&E>sAMBt1)M4}(Id0gSJ7Od%^}FxjSV
zvYDY`j5uixuC|s|@Q!f~D`&MGEXNg?jgB*MR)IN}caC#fxdO{8c{rDMSbc<*SuapxvTE*?u96|Uy5
zD!yHMb&h(ne9qFaxtcHq&MD5ZnfZSPOk2R^syvRWnY*Ld>4MS4JEzWGqJD9`ZG{GgaB&R%|CsXMt3SSqs{K-w&
zEdpeKeHVMcX6j>)Ac;NLw$K1C1bOg6kiZLU+X2(r?88YcIX{sJnppCIIGFM(aN9Ov
zIDzY-&8lbvYN+W;63>vcWCCLtNoF|4xrGySbB=R$Q!>7S&BC@sm}-3ACgCKy)#IA7
z(rVza-uc`?+W{Lc!%S-6G@O}l&H@g*JD=Na*<-J;>&dN$TdPmt
zQ#?G2YwbVaD!CrSiJEQ@u+R2|hHQ|xHXHOBx{CII1Z0{(pt@rLaO$IWvH>vpD6y%?
zIf>w+c-^LGYiw*|B-ao@;fPz5cF+wDUqzpo2f!n`VGIBrwh12GfqfiAmq1;AjT`SKYjIb~Mifr5Pnm}g2uKu?IBd}Ig4H^8&7cx89b-9ai6LeA0`OZcUMxD+MS-I}}QL#FkBKG_Xfhuz8gK
z0$?n1WjEbGZmNj6o0{3428@sphLj$H$z)*RJA`xSM0p6?3y|Ot7kx(%k!RsquppFo
zdgqJkN#s*K%oEv%6ap*@2jzBW;F_Q)A(g|Qp;>Ok1TjP|f39~Dk3%c?Sil%Uz1t*CTQsY}Y%=hb9`DxoBX
zz?Z8kEw91#qLejb^BzkPNDz1@+nk??(?FWrn9;-J)(5Hyz9iOX0vJMl+P)N*?za{5
zj)^3XtF&2ba4p}Vz~U6naU`3w6r1;(U7|UyEE7N?P8vhu+cyQa_s$n=D%epjVu0FU
zTAb98)Xqp8O^;IxmoILr*+|su>X*&~e3})K~&{wuhKyMa+`?y{wGHFo-(iae)iZGfgunkCnpOnQ9^JTSqt(C#P!
z?0A8EYX+^|gb!7hH1Ma$Xkx&p=xDAar9P_(^KH$r5$KlQJyO0@|aaavYk3cu5t
zpt?qmeoK#XZjs5XCP5#J1aV8ee!fX$nsx>LPo79Wx20K_{
zAeq-G-g_4qY=>garcIzT)(L#&S-W`+L!_i|7%fMu@bb7J|4WldYoMqL7Y
ztn?6JE9I#;qq3lypFp;9mfE5^+=QEo>uUW1{sk4*>e|Xf54`a_Ub`b@Ge41Tss)bp69E1BpQ
zH4JDz4?Ek@^}6B^uFbJ#@&BR#O@=iMo3N=MEyFKh0#p=aW#pt{HoK&X0Ix9ngE|dN
z3D~WS;>@rx6Vaj-be=O@4n%e=U}A}FzCP#$SHdxfU{EVfpjN3{1UW>f!0T8C3J`VC<3XroSv2mS9-!yGQXc9n52_WX#-bU
zP+lY$uFN_Yr4GGA-Xrkk%1c4R)rdx!?6x
zZ2_CualMZs8oQ9%@A!G?1jyd;$q6qMy7IvH_HO_7_
z8spwXH>lXzNoyUq=_BxRAA5^03mjg$vpSLgjqc(OMZXpI9=?d*I)3OR{~OuWpXIbr
zk$Q65@d&&IZ;MNf=C$yO#K1)Ufr=m!#}${A+A6?hEH@wY3m}Nb_2)YFN>M%&P^oa4EF
z+5&3RXoO4QzJmQleEU?2rdcqTV=1j<7O7iiJU~dtpsNa!?HtdQX4T|_ZWsOE(pPM|
zZ9Lsd>>pt6+s{A$R&!qQoeKpN?AZ`NL2EO3IqMX9gTc*_F2)8If6=9tU#Q7``DJ|O
z!v2qNTi)U9THeV!lJP-^o>;91idk!2ZDzV_2Y$KYqs1EV3s$aM|AOWf1=f`rD${v~
zuQP?S6ciPzp(!n^y58kV2rK)EtenVVDc~BWRb64`>$+^L-p$XP8IqS_A|G
zrFA-(t33dZIhkwjiI+YL<*t1I05tdc7NSbq2(Gis82RV0AMa*j89pSk)&F_Skk?nLMcG^2@U!(8CL{HE?%DqrzKY
zL2~l;)Zdt!-wV40%El%HPY;9`>OI+#5aSY;K`RlWv&UKkoqNxGq-ut*<
z#r}xw;;j8y(6&ahdBaujD_RxSGv}jRpN$R{n=CL2#89SFy3`aD}-%zb5n5ES$ho7%S6~lW$4SO4G%&v9fVqae!k_%VTCMb)9!dR>GgzTJ3e8nxQyG6pE$;6{*K|5sfalm
zcXByf(005t)0i3=yD1L;0rb*#)kI%LeTZ_4=BOk)@0)>Cc`T|57G*9rThnUeYVZmE
zD7g(0P-amMRp4`mlR$~1v9ALq=rH$evG^(8zDV_@0@qqA%4~HY|BnK$hRKhg-x{M?
z#CXjSBl?|rz_5=xs$i#sFWu>!=?<|uX5Lox+0{YE_oze=*tXwm++|*fIK=*0b$gv`~r#iKnP|S
zGM8Qh1nRfx9PbFuJ)1QDR%ukuM3J1aN^>Jp8lQ!CYQ+*cm9mIR(!~`Kbfy|DmZgqW=n}j;3)(egU+)Yy@nkFbNP?LU*#&?N%+cH;O92lm(S#l2`=hlB0Kyb9>N-aCj1
zB=Eolbm|$_G|H>DoL%CxMDO8u?04)x^~|y>9d|rUb@K17Pi&a0vRSev>B_FP`wxe_O1y~UWuo6soamOKaFNKWVlG80?HZ(>ZNtUD-2!nn+cE4bMK%9W^
zVtob@DEA9;c(ek$+6rk^Cpn0WZqG|NP4Lnu7{_dFzEu4Lm(c
z{J8vsMP+*``0DD4DmB?DZ^xzEUU!)>EH!3JKDOn^TF@~&<#Bjtw!x5;oEMMd@%keh
zPN(wZ2=(Kt3u@AF3cp*SPd0!o*(xuZnwe(R1hNvk-zj#6pmrE`R0yUoK9O>|&^t
zB9`aK!gBI4-p{ofKWHgBD
zESz1CpUcxAx|9Z!rCfeRwl&M;Zs!)~S;1bOMc2|rG>R)Q3(0DxwOkJ68Ro-C0zys3
z0z&HqgjPC!x(}f&lmrNUm|ob0=_qo+6Q#2iF6scjIcs`d4p657FQZc@2;K`US5V5Z
zU8LoD8v67qCjTaXhlF)WC9Z;~J0qalImjcAbsEz<^d~OgT$F>e+2(eIDf^{CyTO(d
zvR#Tb?{0!@i${nJJg-%9d@AdNp|#nSMH8~5QosXJdn^_VnKFgmWK2{~5+-L<61)#K
z&1C@H6`dj-6BTwJJLzy|R__N&S||YFO5(LN9&UrIK9j?2g&NR~rY2xFS2|D3E{ZNw
z5Cw3fs$-k=27Oj6j^ZJO#||;D6rN+@ZLs~AEED7Va|8|#63ksOkvK4#Gw|mS`<}_X
zOqWSM3V%qpa3%HiwXo@%-KMZXz66J_%UI1XqZxFTNJBBBI0}bR%k!d7%FqKz6(O4_
z5W}JmwASF>$*=+-z_d#AUpXCaM?Ii-Ug(_tqeJj2||JHf;P)+glsBzm(NvsmNW_rdaX
zoRM$N=IOz^PcsY@0R|vaqE{*JTqa8}T_VI;hYAV*et4FYXD7Ktzn6}u@PdKrSO6T{
z2ti-rSi@QRG5MY|m*tdz%PeH|AoC``3evO&@;}7B;{fR1hUQkyTY{aTHsaLGq7MLhAPPvZ5|m%?F%!h#|*
z8{CX7#jlj`B+PL{1w(?|5YQza3_r7pW5ku3iq>X2r^6KsDz;DWr$VRYS8R{C~@EM>E(&QrQT%n`im4qO)2R^0r
z`wjP^(-VE30f>zM+mw=XoNz9#
z?{!y{6^;OGq#YioeLBcXj?r!d{efhZa8&5>M3sH4&)XB_{y#cSd;gfMa-8n{v-32B
z6UhM?$tU~0Nxn;CL8gqkS4?QL;}guQlN=~P7m6mObkg9zB)8d#2^VhIiHZNy^tKrH
zyYz2wQUS5QbF`Ghd-m?Zdw4@@YD>%ErdIVi0(JZM?Z^B1X5FDAcHS;oI^z<{NF8b~;n(^#yi_w%*;b|2Wc
z@6CN3m;L^uxHBoi1tOJIGG36W^qf(vq;DCA9?~#Wl^vEmdDve|zW)zDlvLcwY%F#s~Kv
zgap!S&Y~TPy+wO>Gaxz*-6mkzb=vAzP))=iEP
zoTVnCJPkwQJI|8I4`xnl9R!6+>#J*8UmGweL?Kq0Y01tn5TZhbd654Sf{`9!HxY6;
zD#IiuTapN{=)QWx(SoK{aMbkbbqf4)O>|r0k%aafIGpfJ*GD%r#M{k$aIiGVlnkd7
z4!5Y!EAX3{Cv|NJM`EgCFu(8*&xf*6`%7ge=m!G@5uB+;aE6-wF^bAi8hqKW3gGux
zLc1@VglqQO#zZ(-&Ds(CvH(u~Lm$^^?SX6Mk#KArO*9y$&p=b)8j3>U
z`Z$^c*O_P`TxY=y;#_JNO$H~q*_fl@>J5-FXhy;nel^CxmBEGmR!jzG?PWdyfj_jW
z;iPv6oaScd?`3epTj&Vqu*LgM>8_XVDbk(&QY{3=9SS3ig)`$pFe?xH*$YmZr^3}A
zaNz|f&W&)@!mmCU47_v-T?=(Q)EMC_gFfOD>m!4{;uD*PozoYeQiZ37q$h@DnSgr+
zqc5CJ59x>Fhx>4hJW9|N{@5Gno7@S)-ShW(>=$_KD^tU-N|MBnjFWNjTRHXwS13#M
zaNpxD_w^B56WuLRsp)|l_c*Mim)hCgv#&TulTgSRy2N^no`D8rb-
TDs-+@LC
     Hack42 - HackBank
     
-    
+    
     
     
     
@@ -21,9 +21,9 @@
     
     
     
-    
-    
-    
+    
+    
+    
     
     
   
diff --git a/www/kassa-button-shaders.js b/www/kassa-button-shaders.js
index ef81712..4b3c53a 100644
--- a/www/kassa-button-shaders.js
+++ b/www/kassa-button-shaders.js
@@ -18,6 +18,33 @@
     float hash(vec2 p) { return fract(sin(dot(p,vec2(127.1,311.7)))*43758.5453); }
   `;
   var SCENES={
+    'shader-matrix':`
+      // Original texture-free code rain. Each small glyph is a grid of strokes.
+      float glyph(vec2 cell,vec2 point) {
+        vec2 pixel=floor(point*vec2(5.,7.));
+        float code=hash(cell+floor(time*2.));
+        float vertical=step(.52,hash(vec2(pixel.x,code*71.)));
+        float horizontal=step(.63,hash(vec2(pixel.y,code*113.)));
+        float stroke=max(vertical*step(1.,pixel.y)*step(pixel.y,5.),
+          horizontal*step(1.,pixel.x)*step(pixel.x,3.));
+        vec2 inset=fract(point*vec2(5.,7.));
+        return stroke*step(.12,inset.x)*step(inset.x,.88)*step(.12,inset.y)*step(inset.y,.88);
+      }
+      vec3 scene() {
+        vec2 grid=vec2(resolution.x/resolution.y*9.,9.);
+        vec2 p=vec2(uv.x,1.-uv.y)*grid;
+        vec2 cell=floor(p), point=fract(p);
+        float column=hash(vec2(cell.x,17.));
+        float period=15.+floor(column*12.);
+        float head=time*(2.2+column*2.8)+column*period;
+        float behind=mod(head-cell.y,period);
+        float trail=pow(max(0.,1.-behind/11.),1.6);
+        float tip=1.-smoothstep(0.,1.2,behind);
+        float ink=glyph(cell,point)*trail;
+        vec3 rain=mix(color1,color2,tip)*ink;
+        return color0*.4+rain+color1*trail*.045;
+      }
+    `,
     'shader-lights':`
       vec3 scene() {
         vec2 p=(uv-.5)*vec2(resolution.x/resolution.y,1.);
diff --git a/www/kassa-button-studio.js b/www/kassa-button-studio.js
index dcf2003..477a3d8 100644
--- a/www/kassa-button-studio.js
+++ b/www/kassa-button-studio.js
@@ -173,9 +173,10 @@
     function textPanel() {
       editor.appendChild(el('h2','','Give your name some personality'));
       var row=el('div','studio-field-grid');
-      select(row,'Font',draft.text.font,{system:'Clean & friendly',rounded:'Round & bouncy',comic:'Comic time',mono:'Terminal hacker',serif:'Storybook',condensed:'Big & bold'},function(value) { draft.text.font=value; });
+      select(row,'Font',draft.text.font,{system:'Clean & friendly',rounded:'Round & bouncy',comic:'Comic time',mono:'Terminal hacker',serif:'Storybook',condensed:'Big & bold',cyber:'Cyber'},function(value) { draft.text.font=value; });
       select(row,'Weight',String(draft.text.weight),{'400':'Regular','600':'Semibold','700':'Bold','900':'Extra bold'},function(value) { draft.text.weight=Number(value); });
       editor.appendChild(row);
+      select(editor,'Name case',draft.text.case || 'original',styles.cases,function(value) { draft.text.case=value; });
       range(editor,'Font size',draft.text.size,10,48,'px',function(value) { draft.text.size=value; });
       range(editor,'Text angle',draft.text.angle,0,360,'°',function(value) { draft.text.angle=value; });
       range(editor,'Text rotation',draft.text.rotation,0,60,'sec',function(value) { draft.text.rotation=value; });
diff --git a/www/kassa-button-styles.js b/www/kassa-button-styles.js
index b97cb8c..82d16c1 100644
--- a/www/kassa-button-styles.js
+++ b/www/kassa-button-styles.js
@@ -8,7 +8,10 @@
   }
   function updateAppearance() {
     if(document.body) document.body.classList.toggle('button-styles-off',!enabled);
-    if(document.querySelectorAll) document.querySelectorAll('.button-styles-toggle').forEach(updateToggle);
+    if(document.querySelectorAll) {
+      document.querySelectorAll('.button-styles-toggle').forEach(updateToggle);
+      document.querySelectorAll('.magic-button').forEach(updateName);
+    }
   }
   function announceAppearance() {
     updateAppearance();
@@ -33,15 +36,40 @@
   });
   var FONTS={system:'system-ui, sans-serif',rounded:'"Arial Rounded MT Bold", "Trebuchet MS", sans-serif',
     comic:'"Comic Sans MS", "Comic Sans", cursive',mono:'ui-monospace, "Courier New", monospace',
-    serif:'Georgia, "Times New Roman", serif',condensed:'Impact, "Arial Narrow", sans-serif'};
+    serif:'Georgia, "Times New Roman", serif',condensed:'Impact, "Arial Narrow", sans-serif',
+    cyber:'"HackBank Cyber", ui-monospace, "Courier New", monospace'};
+  var CASES={original:'Original',uppercase:'UPPERCASE',lowercase:'lowercase',capitalize:'Capitalized Words',
+    camel:'camelCase',pascal:'PascalCase',snake:'snake_case',kebab:'kebab-case'};
   var SYMBOLS={key:'🔑',star:'★',bolt:'ϟ',heart:'♥',smile:'☺'};
+  function formatName(user,mode) {
+    if(mode === 'uppercase') return user.toUpperCase();
+    if(mode === 'lowercase') return user.toLowerCase();
+    if(!['capitalize','camel','pascal','snake','kebab'].includes(mode)) return user;
+    var words=user.replace(/(\p{Lu})(\p{Lu}\p{Ll})/gu,'$1 $2')
+      .replace(/(\p{Ll}\p{M}*|\p{Nd})(\p{Lu})/gu,'$1 $2').split(/[\s_-]+/u).filter(Boolean);
+    if(!words.length) return user;
+    words=words.map(function(word) { return word.toLowerCase(); });
+    if(mode === 'snake') return words.join('_');
+    if(mode === 'kebab') return words.join('-');
+    return words.map(function(word,index) {
+      if(mode === 'camel' && index === 0) return word;
+      var characters=Array.from(word);
+      return characters.shift().toUpperCase()+characters.join('');
+    }).join(mode === 'capitalize' ? ' ' : '');
+  }
+  function updateName(button) {
+    var label=button.querySelector('.Buttontext');
+    if(!label) return;
+    var mode=enabled || button.classList.contains('magic-preview') ? button.getAttribute('data-button-case') : 'original';
+    label.textContent=formatName(button.getAttribute('data-button-user'),mode);
+  }
   function copy(value) { return JSON.parse(JSON.stringify(value)); }
   function gradient(colors,angle) {
     return {angle:angle,stops:colors.map(function(color,index) { return {color:color,position:index*100/(colors.length-1)}; })};
   }
   function base() {
     return {version:1,background:{kind:'solid',color:'#e7edf3',gradient:gradient(['#7760db','#f080b5'],135),speed:24,intensity:65},
-      text:{color:'#263e52',gradient:null,size:17,font:'system',weight:700,angle:0,rotation:0,backdrop:null},
+      text:{color:'#263e52',gradient:null,size:17,font:'system',weight:700,angle:0,rotation:0,backdrop:null,case:'original'},
       icon:{kind:'none',image:'',size:36,rotation:0}};
   }
   var PRESETS=[
@@ -60,6 +88,7 @@
     {name:'Star Nest',emoji:'🌌',kind:'shader-star-nest',colors:['#ff0000','#00ff00','#0000ff'],text:'#ffffff',speed:40},
     {name:'2D Clouds',emoji:'☁️',kind:'shader-clouds',colors:['#336699','#66b3ff','#ffffe6'],text:'#ffffff',speed:36},
     {name:'Universe Within',emoji:'🌠',kind:'shader-universe',colors:['#552d91','#6ccdee','#dfbdf2'],text:'#ffffff',speed:48},
+    {name:'Matrix',emoji:'💻',kind:'shader-matrix',colors:['#000804','#008f3b','#b6ffd1'],text:'#ffffff',speed:24},
   ];
   function preset(index) {
     var definition=PRESETS[index];
@@ -70,7 +99,7 @@
     theme.text.color=definition.text;
     if(definition.kind.startsWith('shader-')) {
       theme.background.speed=definition.speed; theme.background.intensity=90;
-      theme.text.backdrop={color:'#100c26',opacity:65,padding:5,radius:5};
+      theme.text.backdrop={color:definition.kind === 'shader-matrix' ? '#001208' : '#100c26',opacity:65,padding:5,radius:5};
     }
     if(index === 1) theme.text.backdrop={color:'#100c3d',opacity:80,padding:5,radius:5};
     if(index === 4) {
@@ -116,6 +145,8 @@
     button.classList.add('magic-button');
     button.classList.toggle('magic-neutral',!design && !['stitch','bugblue','anus','nino','jos'].includes(user.toLowerCase()));
     button.setAttribute('data-button-user',user);
+    button.setAttribute('data-button-case',theme.text.case || 'original');
+    updateName(button);
     var background=theme.background;
     var layer=button.querySelector('.magic-layer') || node('span','magic-layer');
     layer.className='magic-layer magic-'+background.kind;
@@ -129,6 +160,7 @@
     if(window.HackBankButtonShaders) window.HackBankButtonShaders.attach(layer,background,user);
     button.style.setProperty('--magic-ink',theme.text.color);
     button.style.setProperty('--magic-font',FONTS[theme.text.font] || FONTS.system);
+    button.style.setProperty('--magic-synthesis',theme.text.font === 'cyber' ? 'weight' : 'none');
     button.style.setProperty('--magic-size',theme.text.size+'px');
     button.style.setProperty('--magic-weight',theme.text.weight);
     if(theme.icon.kind !== 'none') {
@@ -183,6 +215,6 @@
     apply(button,user,theme);
     return button;
   }
-  window.HackBankButtonStyles={apply:apply,preview:preview,defaults:defaults,copy:copy,gradient:gradient,cssGradient:cssGradient,preset:preset,presets:PRESETS,fonts:FONTS,
+  window.HackBankButtonStyles={apply:apply,preview:preview,defaults:defaults,copy:copy,gradient:gradient,cssGradient:cssGradient,preset:preset,presets:PRESETS,fonts:FONTS,cases:CASES,formatName:formatName,
     enabled:function() { return enabled; },setEnabled:setEnabled,toggleButton:toggleButton};
 })(window, document);
diff --git a/www/stom.css b/www/stom.css
index fd190d0..1eae003 100644
--- a/www/stom.css
+++ b/www/stom.css
@@ -1,5 +1,5 @@
 /* Self-contained Bootstrap-style container / row / column grid.
-   No CDN, web fonts, framework JavaScript, or external assets are required. */
+   No CDN, font service, framework JavaScript, or external assets are required. */
 :root {
   color-scheme: light;
   --ink: #1c2937;
@@ -197,6 +197,14 @@ iframe { display: block; border: 0; }
 .account-list .Knop .Buttontext { flex: 1 1 auto; width: auto; min-width: 0; }
 .account-list .Knop .extra { position: static; flex: 0 0 auto; max-width: 45%; width: auto; margin-left: auto; padding: 4px 8px; font-size: 14px; }
 
+@font-face {
+  font-family: "HackBank Cyber";
+  src: url("fonts/OCRA.otf") format("opentype");
+  font-weight: 400;
+  font-style: normal;
+  font-display: swap;
+}
+
 /* Every personal design is painted inside its own clipped button. */
 .magic-button { isolation: isolate; overflow: hidden; gap: 10px; }
 .studio-launch { border-color: #baa4dc; color: #704ab1; background: #f0e7ff; }
@@ -214,7 +222,7 @@ iframe { display: block; border: 0; }
 .magic-name { position: relative; display: block; max-width: 100%; isolation: isolate; }
 .magic-name.has-label-backdrop { padding: var(--label-backdrop-padding); border-radius: var(--label-backdrop-radius); }
 .magic-name.has-label-backdrop::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: var(--label-backdrop-color); opacity: var(--label-backdrop-opacity); pointer-events: none; }
-.magic-button .Buttontext { display: block; width: auto; color: var(--magic-ink); font-family: var(--magic-font); font-size: var(--magic-size); font-weight: var(--magic-weight); line-height: 1.15; }
+.magic-button .Buttontext { display: block; width: auto; color: var(--magic-ink); font-family: var(--magic-font); font-size: var(--magic-size); font-weight: var(--magic-weight); font-synthesis: var(--magic-synthesis, none); line-height: 1.15; }
 .magic-button .magic-text-gradient { color: transparent !important; background-clip: text; -webkit-background-clip: text; }
 .magic-icon { position: relative; display: flex; flex-shrink: 0; align-items: center; justify-content: center; overflow: hidden; border-radius: 8px; pointer-events: none; z-index: 1; }
 .magic-icon-image { display: block; width: 100%; height: 100%; object-fit: cover; }