/* ── the long session: what the app is still HOLDING ───────────── Minutes is all a walk has ever been. These are the numbers that decide what hours look like: the thumbnail map and its side tables (from the store itself — they are module-private, so artTally is the only way to see them), the catalog's ten session maps, the queue, the transfer list, the DOM, and the live listeners and timers. The listener and timer counts come from a registry that a step installs IN THE PAGE, not from here: they are -1 until it is installed, which means every step before the session block, every step after it puts itself away again, and the whole phone walk, where it is never installed at all. They count what was registered AFTER the install and is still ATTACHED — window, document, or an element that is connected — so the absolute number is small and depends on how much of the walk ran first; it is the DELTA across the laps that means anything. Attached rather than add-minus-remove because that counter is a liar in this app: {#key nav.seq} replaces the .screen element on every navigation, so each new screen gets its own scroll handler and the old element is simply dropped. grew* is the same number against whatever the block latched into window.__ssBase, and -1 when nothing has. Every backslash here is doubled and there is not one backtick, comment included — this block lives inside a template literal. */ tallyArt: (function () { /* one census per probe, kept in __ssLast for the fields below: a field of an object literal cannot see its siblings, and this insert is the only part of the probe this round owns. All of it is a read; nothing here fetches or evicts. */ window.__ssCensus = function () { var out = { art: 0, chars: 0, accents: 0, pending: 0, cat: 0, queue: 0, xfer: 0, nodes: 0, ears: -1, timers: -1, ticks: -1 }; try { var a = __ss.artTally(); out.art = a.art; out.chars = a.chars; out.accents = a.accents; out.pending = a.pending; /* waiting is a SUBSET of pending, never a second queue */ } catch (e) {} try { var c = __ss.catalog; var ks = ['artists', 'albums', 'extras', 'profiles', 'seeds', 'albumInfo', 'popular', 'heroSeeds', 'overviews', 'listeners']; for (var i = 0; i < ks.length; i++) out.cat += Object.keys(c[ks[i]] || {}).length; } catch (e) {} try { out.queue = __ss.player.queue.length; } catch (e) {} try { out.xfer = Object.keys(__ss.transfers.items).length; } catch (e) {} try { out.nodes = document.getElementsByTagName('*').length; } catch (e) {} try { var k = window.__ssCount(); out.ears = k.listeners; out.timers = k.timeouts; out.ticks = k.intervals; } catch (e) {} return out; }; window.__ssLast = window.__ssCensus(); return window.__ssLast.art; })(), tallyChars: (function () { try { return window.__ssLast.chars; } catch (e) { return 0; } })(), tallyAcc: (function () { try { return window.__ssLast.accents; } catch (e) { return 0; } })(), tallyPend: (function () { try { return window.__ssLast.pending; } catch (e) { return 0; } })(), tallyCat: (function () { try { return window.__ssLast.cat; } catch (e) { return 0; } })(), tallyQueue: (function () { try { return window.__ssLast.queue; } catch (e) { return 0; } })(), tallyXfer: (function () { try { return window.__ssLast.xfer; } catch (e) { return 0; } })(), tallyNodes: (function () { try { return window.__ssLast.nodes; } catch (e) { return 0; } })(), tallyEars: (function () { try { return window.__ssLast.ears; } catch (e) { return -1; } })(), tallyTimers: (function () { try { return window.__ssLast.timers; } catch (e) { return -1; } })(), tallyTicks: (function () { try { return window.__ssLast.ticks; } catch (e) { return -1; } })(), grewArt: (function () { try { return window.__ssLast.art - window.__ssBase.art; } catch (e) { return -1; } })(), grewCat: (function () { try { return window.__ssLast.cat - window.__ssBase.cat; } catch (e) { return -1; } })(), grewEars: (function () { try { return window.__ssLast.ears - window.__ssBase.ears; } catch (e) { return -1; } })(), grewTimers: (function () { try { return window.__ssLast.timers - window.__ssBase.timers; } catch (e) { return -1; } })(), grewTicks: (function () { try { return window.__ssLast.ticks - window.__ssBase.ticks; } catch (e) { return -1; } })(), grewNodes: (function () { try { return window.__ssLast.nodes - window.__ssBase.nodes; } catch (e) { return -1; } })(),