A pixel-art meatball above the prompt, in the desktop app and the terminal, that shows what Claude is doing: rolls while it works, chomps on edits, watches…

A pixel-art meatball that lives above the prompt in Claude Code, in the desktop app and the terminal, and shows what Claude is doing at a glance.
<sub>Also as a GIF for places that won't play an SVG. Regenerate both with python3 docs/make-pose-sheets.py after changing the sprite.</sub>
| He… | When |
|---|---|
| rolls along the bar | Claude is thinking or reading |
| chomps | Claude edits a file |
| stands with a focused face | a command is running |
| puts on goggles and fidgets | tests are running (npm test, jest, vitest, pytest, go test, cargo test, …) |
| cheers, or groans | the tests passed, or failed |
| carries an envelope | a pull request is being opened (gh pr create) |
| plants a flag in the confetti | the pull request was opened |
| rolls with mini meatballs behind him | subagents or background tasks are working (one mini each, up to four) |
| winces and shakes | a tool fails |
| hops and blinks | Claude is waiting on you: a permission prompt on screen, a question, or a plan to approve |
| does a happy hop | the turn is done |
| dozes off | nothing has happened for 5 minutes |
| gets rounder | the context window passes 50%, then 80% (time to /compact) |
Needs Claude Code 2.1.288 or newer. In the desktop app he's drawn from the 32×32 SVG. In a terminal he's one line of colored text, a little face rolling across the band: (•ᴗ•) rolling, (O_O)! waiting on you, (¬_¬) ⠋ running a command, (°_°) ⠋ running tests, \(^o^)/ ✓ passed, (>_<) ✗ failed, (•ᴗ•) ✉ opening a PR, (^ᴗ^) ⚑ PR opened, (x_x)# something failed, \(^ᴗ^)/ done, (-_-) zZ asleep, an o trailing behind for each running subagent, and rounder cheeks, ( •ᴗ• ) then ((•ᴗ•)), as the context fills.
claude plugin marketplace add jesseorndorff/meatball
claude plugin install meatball@meatball
Then start a new session.
To hack on him, clone the repo and add your local copy instead, so your changes load without pushing:
git clone https://github.com/jesseorndorff/meatball.git
claude plugin marketplace add ./meatball
claude plugin install meatball@meatball
No. claude plugin details meatball@meatball reports ~0 tokens added to every session, and nothing he does later spends any:
His only cost is a little local work: a few small state updates per event and, in a terminal, about eight redraws a second while he's moving.
/meatball hides him or brings him back (the ✕ beside him hides him too)/meatball width <px> pins the bar's width; /meatball width auto fits it to the window againversion in plugin/.claude-plugin/plugin.jsonclaude plugin marketplace update meatballclaude plugin update meatball@meatball, then start a new session.claude-plugin/marketplace.json: the one-plugin marketplaceplugin/hooks/register.tsx: the modplugin/hooks/terminal.ts: his one-line text face for terminalsplugin/assets/meatball.svg, plugin/assets/meatball-agents.svg: the sprite and the subagents strip; plugin/hooks/meatball.ts is generated from them (compacted to fit the desktop's 128KB SVG limit) by python3 scripts/build-sprites.pydocs/make-pose-sheets.py: draws docs/poses.svg and docs/poses.gif from the spritesplugin/assets/meatball-16.svg: a 16×16 version, kept for terminals that draw block characters cleanlyplugin/types/index.d.ts: the state contractRun the tests with claude plugin test plugin and check the manifests with claude plugin validate .
MIT © 2026 Jesse Orndorff
hooks/register.tsx 535 lines1import { atom, read, update } from 'claude-code'
2import type { EngineInterface, Register, SvgProps } from 'claude-code'
3
4import type { Agents, Fill, Mood, Motion, Pose } from '../types'
5import { AGENTS, MEATBALL } from './meatball'
6import * as terminal from './terminal'
7
8const isHidden = atom({ plugin: 'meatball', key: 'isHidden' } as const, false)
9/** A meatball standing at home in the middle of the bar with nothing on his plate. */
10export const FRESH: Motion = {
11 pose: 'none',
12 mood: 'none',
13 fill: 'normal',
14 rolledMs: 0,
15 since: null,
16 isTurn: false,
17 poseId: 0,
18 turnId: 0,
19 from: null,
20 homeAt: 0,
21}
22const motion = atom({ plugin: 'meatball', key: 'motion' } as const, FRESH)
23
24const width = atom({ plugin: 'meatball', key: 'width' } as const, null as number | null)
25const agents = atom({ plugin: 'meatball', key: 'agents' } as const, {} as Agents)
26
27/** His size on screen, in pixels: the sprite is 32×32 art scaled up crisply. */
28const SIZE = 48
29/** How fast he rolls, in pixels a second, whatever the window's width. */
30const SPEED = 120
31/**
32 * The desktop reports the band in columns, not pixels: about this many
33 * pixels to a column on the desktop app (95 columns came to about 1050px).
34 */
35const PX_PER_COLUMN = 11
36/** Pixels kept free at the band's end for the close button. */
37const CLOSE_ROOM = 48
38const CHOMP_MS = 1200
39const BOUNCE_MS = 1000
40const HURT_MS = 2500
41/** A quiet spell this long after a turn and he dozes off. */
42const SLEEP_MS = 5 * 60 * 1000
43
44/** The tools that change files: each one is a bite. */
45const EDIT_TOOLS = new Set(['Edit', 'Write', 'MultiEdit', 'NotebookEdit'])
46/** The tools that run commands: he stands and watches them. */
47const COMMAND_TOOLS = new Set(['Bash', 'PowerShell'])
48/** The tools that stop and ask you something: he waits on you. */
49const ASKING_TOOLS = new Set(['AskUserQuestion', 'ExitPlanMode'])
50
51const RESULT_MS = 2500
52const CELEBRATE_MS = 3500
53/** A subagent counts as running while it has used a tool this recently. */
54const AGENT_TTL_MS = 20_000
55/** The agents strip shows at most this many mini meatballs. */
56const MAX_AGENTS = 4
57
58/** Commands that run a test suite. */
59const TEST_COMMAND =
60 /(?:^|[\s;&|(])(?:(?:npm|pnpm|yarn|bun)\s+(?:run\s+)?test|npx\s+(?:jest|vitest|mocha)|jest|vitest|pytest|mocha|rspec|phpunit|go\s+test|cargo\s+test|dotnet\s+test|make\s+test|claude\s+plugin\s+test)\b/
61/** Commands that open a pull request. */
62const PR_COMMAND = /(?:^|[\s;&|(])gh\s+pr\s+create\b/
63
64/** What a shell command is up to, for the mood he wears while it runs. */
65export function activityOf(command: string): 'testing' | 'deliver' | 'busy' {
66 if (PR_COMMAND.test(command)) return 'deliver'
67 if (TEST_COMMAND.test(command)) return 'testing'
68 return 'busy'
69}
70
71/** How many subagents are running: those seen using a tool in the last little while. */
72export function agentCount(seen: Agents, now: number) {
73 return Math.min(MAX_AGENTS, Object.values(seen).filter(at => now - at < AGENT_TTL_MS).length)
74}
75
76/** How round he is for a context window this full. */
77export function fillFor(percent: number | undefined): Fill {
78 return (percent ?? 0) >= 80 ? 'stuffed' : (percent ?? 0) >= 50 ? 'full' : 'normal'
79}
80
81/** Stop rolling, banking the stretch just rolled. */
82export function halt(m: Motion, now: number): Motion {
83 return { ...m, rolledMs: position(m, now), since: null }
84}
85
86/** Roll on from wherever he stopped. */
87export function roll(m: Motion, now: number): Motion {
88 return m.since === null ? { ...m, since: now } : m
89}
90
91/** Time spent rolling so far, from the middle: where he is along the bar. */
92export function position(m: Motion, now: number) {
93 return m.rolledMs + (m.since === null ? 0 : now - m.since)
94}
95
96/** How far into a lap he is, for the animations: a lap starts at the left end, he starts in the middle. */
97function lapAt(m: Motion, now: number, lap: number) {
98 return (position(m, now) + lap / 4) % lap
99}
100
101/** The bar's width in pixels: pinned by `/meatball width`, else from the band's columns. */
102export function barWidth(pinned: number | null, columns: number | undefined) {
103 return Math.max(SIZE * 4, pinned ?? Math.round((columns ?? 80) * PX_PER_COLUMN))
104}
105
106/** One trip out and back along a bar this wide, in milliseconds. */
107export function lapMs(bar: number) {
108 return Math.round(((bar - SIZE) * 2 * 1000) / SPEED)
109}
110
111/** How far along the bar he is, 0 at the left end to 1 at the right, and which way he faces. */
112export function spot(m: Motion, now: number, lap: number) {
113 return terminal.alongAt(position(m, now), lap)
114}
115
116/**
117 * After a turn he hops where he stopped, then rolls home to the middle:
118 * where he is on the way, how long is left, and whether he heads left.
119 * Null while he is out working.
120 */
121export function walkHome(m: Motion, now: number, lap: number, travel: number) {
122 if (m.from === null) return null
123 const walk = terminal.homeward(terminal.alongAt(m.from, lap).along, travel, SPEED, now - m.homeAt)
124 const isWalking = m.pose === 'none' && m.mood === 'none' && now >= m.homeAt && walk.leftMs > 0
125 return { ...walk, isWalking }
126}
127
128/** Which way of standing still or moving he shows, most urgent first. */
129export function look(m: Motion, isRolling: boolean) {
130 const mood = (name: string) => `data-mood="${name}" data-idle=""`
131 if (m.mood === 'alert') return mood('alert')
132 if (m.pose === 'hurt' || m.pose === 'fail' || m.pose === 'pass' || m.pose === 'celebrate') return mood(m.pose)
133 if (m.pose === 'chomp') return 'data-chomp=""'
134 if (m.pose === 'bounce') return 'data-mouth="open"'
135 if (m.mood !== 'none') return mood(m.mood)
136 return isRolling ? 'data-roll=""' : 'data-idle=""'
137}
138
139/**
140 * The bar the meatball lives on, `bar` pixels wide. Rolling out and back
141 * while Claude works; stopping to chomp on edits, watch commands, wince at
142 * errors or wait on you; hopping when a turn ends; dozing after a quiet
143 * spell. A redraw restarts the animations, so they begin part-way in (a
144 * negative begin), on the spot where he was.
145 */
146export function stage(m: Motion, now: number, isWorking: boolean, bar: number, helpers = 0) {
147 const lap = lapMs(bar)
148 const travel = bar - SIZE
149 const home = walkHome(m, now, lap, travel)
150 const isRolling = isRollingNow(m, isWorking)
151 // Our classes and animations are prefixed mb- so they can't collide with the sprite's own.
152 const ball = MEATBALL.replace(
153 /<svg ([^>]*?)width="64" height="64"/,
154 `<svg data-fill="${m.fill}" ${look(m, isRolling || Boolean(home?.isWalking))} $1width="${SIZE}" height="${SIZE}"`,
155 )
156 const along = home ? home.along : spot(m, now, lap).along
157 const dur = `${lap / 1000}s`
158 const begin = `-${lapAt(m, now, lap) / 1000}s`
159 const trailLeft = `translateX(-${trailWidth(helpers) + 2}px)`
160 const trailRight = `translateX(${SIZE + 2}px)`
161 const css =
162 '.mb-face{transform-box:fill-box;transform-origin:center;' +
163 // On his way home he faces the middle; otherwise his facing follows the lap.
164 (home
165 ? `transform:scaleX(${home.isLeft ? -1 : 1})}`
166 : `animation:mb-face ${dur} steps(1) infinite;animation-delay:${begin};` +
167 `animation-play-state:${isRolling ? 'running' : 'paused'}}` +
168 '@keyframes mb-face{0%{transform:scaleX(1)}50%{transform:scaleX(-1)}}') +
169 (m.pose === 'bounce'
170 ? `.mb-hop{animation:mb-hop ${BOUNCE_MS / 1000}s ease-out 1}` +
171 '@keyframes mb-hop{0%,55%,100%{transform:translateY(0)}30%{transform:translateY(-9px)}75%{transform:translateY(-5px)}}'
172 : '') +
173 // The agents strip trails behind him: to his left heading out, his right heading back.
174 (home
175 ? `.mb-trail{transform:${home.isLeft ? trailRight : trailLeft}}`
176 : `.mb-trail{animation:mb-trail ${dur} steps(1) infinite;animation-delay:${begin};` +
177 `animation-play-state:${isRolling ? 'running' : 'paused'}}` +
178 `@keyframes mb-trail{0%{transform:${trailLeft}}50%{transform:${trailRight}}}`)
179
180 return (
181 `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${bar} ${SIZE}" ` +
182 `width="${bar}" height="${SIZE}" style="background:none">` +
183 `<style>${css}</style>` +
184 `<g transform="translate(${(along * travel).toFixed(1)} 0)">` +
185 (isRolling
186 ? `<animateTransform attributeName="transform" type="translate" ` +
187 `values="0 0;${travel} 0;0 0" dur="${dur}" begin="${begin}" repeatCount="indefinite"/>`
188 : home?.isWalking
189 ? `<animateTransform attributeName="transform" type="translate" ` +
190 `values="${(along * travel).toFixed(1)} 0;${(travel / 2).toFixed(1)} 0" dur="${home.leftMs / 1000}s" fill="freeze"/>`
191 : '') +
192 `<g class="mb-face"><g class="mb-hop">${ball}</g></g>` +
193 (helpers > 0 ? `<g class="mb-trail">${trail(helpers)}</g>` : '') +
194 `</g></svg>`
195 )
196}
197
198/** One mini meatball is 11 of the strip's 44 units wide; the strip is drawn at his scale. */
199const STRIP_SCALE = SIZE / 32
200
201function trailWidth(helpers: number) {
202 return Math.round(helpers * 11 * STRIP_SCALE)
203}
204
205/** The agents strip showing `helpers` mini meatballs, at his scale. */
206function trail(helpers: number) {
207 return AGENTS.replace(
208 /<svg ([^>]*?)width="88" height="64"([^>]*?)data-agents="\d"/,
209 `<svg $1width="${44 * STRIP_SCALE}" height="${SIZE}"$2data-agents="${helpers}"`,
210 )
211}
212
213/** Fill in what an older meatball's saved state lacks. */
214export function settle(m: Partial<Motion> | null | undefined): Motion {
215 return { ...FRESH, ...m }
216}
217
218/**
219 * Start or end something that lasts: he stops while it holds, and rolls on
220 * from the same spot once it ends if the turn is still running.
221 */
222async function feel($: Pick<EngineInterface, 'state' | 'clock'>, mood: Mood, from?: Mood | Mood[]) {
223 const now = await $.clock.now()
224 await update($, motion, stored => {
225 const was = settle(stored)
226 if (from !== undefined && ![from].flat().includes(was.mood)) {
227 return was
228 }
229 const next = { ...halt(was, now), mood }
230 return mood === 'none' && was.isTurn && was.pose === 'none' ? roll(next, now) : next
231 })
232}
233
234/**
235 * Stop and strike a pose for a moment, then roll on if the turn is still
236 * running. A later pose cancels an earlier one's ending.
237 */
238async function strike($: Pick<EngineInterface, 'state' | 'clock'>, pose: Pose, ms: number) {
239 const now = await $.clock.now()
240 const m = await update($, motion, stored => {
241 const was = settle(stored)
242 return { ...halt(was, now), pose, poseId: was.poseId + 1 }
243 })
244 $.clock.after(ms, () => {
245 void (async () => {
246 const later = await $.clock.now()
247 await update($, motion, stored => {
248 const was = settle(stored)
249 if (was.poseId !== m.poseId) {
250 return was
251 }
252 const rested = { ...was, pose: 'none' as const }
253 return was.isTurn && was.mood === 'none' ? roll(rested, later) : rested
254 })
255 })()
256 })
257}
258
259/** Whether he is rolling laps right now: no pose or mood holding him, and a turn under way, not on his way home. */
260function isRollingNow(m: Motion, isWorking: boolean) {
261 return m.pose === 'none' && m.mood === 'none' && m.from === null && (m.since !== null || isWorking)
262}
263
264/** How often the terminal line repaints while he moves, in milliseconds. */
265const TICK_MS = 120
266
267/**
268 * The terminal has no CSS animations, so while he moves a timer asks for the
269 * band to be drawn again; once he stands still it stops.
270 */
271let ticker: (() => void) | null = null
272
273function stopTicking() {
274 ticker?.()
275 ticker = null
276}
277
278function keepTicking($: Pick<EngineInterface, 'clock' | 'ui'>) {
279 if (ticker) {
280 return
281 }
282 const timer = $.clock.every(TICK_MS, () => $.ui.invalidate('ui.render'))
283 ticker = () => timer.cancel()
284}
285
286/** Send him away until `/meatball` brings him back. */
287async function putAway($: Pick<EngineInterface, 'state'>) {
288 stopTicking()
289 await update($, isHidden, () => true)
290}
291
292/** What he is doing, for a screen reader. */
293function describe(m: Motion) {
294 if (m.mood === 'alert') return 'The meatball is waiting on you'
295 if (m.pose === 'hurt') return 'The meatball winces: something failed'
296 if (m.pose === 'fail') return 'The meatball groans: tests failed'
297 if (m.pose === 'pass') return 'The meatball cheers: tests passed'
298 if (m.pose === 'celebrate') return 'The meatball plants a flag: pull request opened'
299 if (m.pose === 'chomp') return 'The meatball chomps an edit'
300 if (m.mood === 'testing') return 'The meatball watches the tests run'
301 if (m.mood === 'deliver') return 'The meatball carries a pull request'
302 if (m.mood === 'busy') return 'The meatball watches a command run'
303 if (m.mood === 'sleep') return 'The meatball is asleep'
304 return 'A meatball rolling along'
305}
306
307/** Note a subagent at work, and redraw once it would age out of the count. */
308async function sawAgent($: Pick<EngineInterface, 'state' | 'clock' | 'ui'>, id: string) {
309 const now = await $.clock.now()
310 await update($, agents, seen => {
311 const fresh: Agents = { [id]: now }
312 for (const [other, at] of Object.entries(seen ?? {})) {
313 if (other !== id && now - at < AGENT_TTL_MS) fresh[other] = at
314 }
315 return fresh
316 })
317 $.clock.after(AGENT_TTL_MS + 250, () => $.ui.invalidate('ui.render'))
318}
319
320export const register: Register = on => {
321 on('session.start', async ($, e, next) => {
322 const ran = await next(e)
323 await $.command.register({
324 name: 'meatball',
325 description: 'Show or hide the meatball; /meatball width <px> or auto sets his bar',
326 })
327 // A reload starts him over at home in the middle, with nothing left mid-pose.
328 const { context } = await $.session.usage()
329 await update($, motion, stored => ({
330 ...settle(stored),
331 pose: 'none',
332 mood: 'none',
333 rolledMs: 0,
334 since: null,
335 from: null,
336 fill: fillFor(context.percent),
337 }))
338
339 return ran
340 })
341
342 on('session.measure', async ($, e, next) => {
343 const fill = fillFor(e.context.percent)
344 await update($, motion, stored => {
345 const was = settle(stored)
346 return was.fill === fill ? was : { ...was, fill }
347 })
348
349 return next(e)
350 })
351
352 on('command.run', { command: 'meatball' }, async ($, e) => {
353 const [word, value] = e.args.trim().split(/\s+/)
354 if (word === 'width') {
355 const px = Number(value)
356 const pinned = await update($, width, () => (Number.isFinite(px) && px > 0 ? Math.round(px) : null))
357 return { text: pinned ? `The meatball's bar is now ${pinned}px wide.` : 'The meatball sizes his bar to the window again.' }
358 }
359
360 const hidden = await update($, isHidden, was => !was)
361 if (hidden) {
362 stopTicking()
363 }
364
365 return { text: hidden ? 'The meatball rolled away.' : 'The meatball is back!' }
366 })
367
368 on('turn.start', async ($, e, next) => {
369 const now = await $.clock.now()
370 await update($, motion, stored => {
371 const was = settle(stored)
372 // He sets out from home (rolledMs 0, the middle), even if still on his way there.
373 const awake = { ...was, isTurn: true, turnId: was.turnId + 1, from: null }
374 return roll(was.mood === 'sleep' ? { ...awake, mood: 'none' } : awake, now)
375 })
376
377 return next(e)
378 })
379
380 // A permission prompt is on screen: he stops and waits on you. (Not every
381 // "ask" verdict becomes a prompt: in auto mode a classifier settles most.)
382 on('classic.PermissionRequest', async ($, e, next) => {
383 await feel($, 'alert')
384
385 return next(e)
386 })
387
388 on('classic.PermissionDenied', async ($, e, next) => {
389 await feel($, 'none', 'alert')
390
391 return next(e)
392 })
393
394 // You answered by typing: whatever he was waiting on is over.
395 on('prompt.submit', async ($, e, next) => {
396 await feel($, 'none', 'alert')
397
398 return next(e)
399 })
400
401 on('tool.call', async ($, e, next) => {
402 // A subagent's or background task's tool: it adds a mini meatball to the
403 // trail, and if it was what he was waiting on you for, it has now gone ahead.
404 if (e.agentId) {
405 await sawAgent($, e.agentId)
406 const ran = await next(e)
407 await sawAgent($, e.agentId)
408 await feel($, 'none', 'alert')
409 return ran
410 }
411
412 // A tool's arguments sit on the event itself: Bash's is `e.command`.
413 const command =
414 COMMAND_TOOLS.has(e.tool) && typeof (e as { command?: unknown }).command === 'string'
415 ? (e as { command: string }).command
416 : ''
417 const activity = COMMAND_TOOLS.has(e.tool) ? activityOf(command) : null
418
419 if (EDIT_TOOLS.has(e.tool)) {
420 await strike($, 'chomp', CHOMP_MS)
421 } else if (ASKING_TOOLS.has(e.tool)) {
422 await feel($, 'alert')
423 } else if (activity) {
424 await feel($, activity)
425 }
426
427 const ran = await next(e)
428 const failed = 'isError' in ran && Boolean(ran.isError)
429
430 // Whatever he was waiting on or watching is over.
431 await feel($, 'none', ['alert', 'busy', 'testing', 'deliver'])
432 if (activity === 'testing') {
433 await strike($, failed ? 'fail' : 'pass', RESULT_MS)
434 } else if (activity === 'deliver' && !failed) {
435 await strike($, 'celebrate', CELEBRATE_MS)
436 } else if (failed) {
437 await strike($, 'hurt', HURT_MS)
438 }
439
440 return ran
441 })
442
443 on('turn.complete', async ($, e, next) => {
444 // He hops where he stopped, then rolls home to the middle.
445 const now = await $.clock.now()
446 const done = await update($, motion, stored => {
447 const was = { ...settle(stored), isTurn: false, mood: 'none' as const }
448 return was.from !== null
449 ? was
450 : { ...was, from: position(was, now), homeAt: now + BOUNCE_MS, rolledMs: 0, since: null }
451 })
452 await strike($, 'bounce', BOUNCE_MS)
453 // Nothing for a while and he dozes off where he stands.
454 $.clock.after(SLEEP_MS, () => {
455 void update($, motion, stored => {
456 const was = settle(stored)
457 return was.turnId === done.turnId && !was.isTurn && was.mood === 'none'
458 ? { ...was, mood: 'sleep' }
459 : was
460 })
461 })
462
463 return next(e)
464 })
465
466 on('ui.render', { component: 'AbovePrompt' }, async ($, e, next) => {
467 if (e.props.hasSurvey || (await read($, isHidden))) {
468 stopTicking()
469 return next(e)
470 }
471
472 // In a terminal he is one line of text: pixel art there is too big and striped.
473 if (e.surface === 'terminal') {
474 const { Box, Button, Text } = $.ui.resolve(e)
475 const m = settle(await read($, motion))
476 const now = await $.clock.now()
477 const home = m.from === null ? null : terminal.placeHome(m.from, e.props.bodyColumns, now - m.homeAt)
478 const isWalking = Boolean(home?.isWalking) && m.pose === 'none' && m.mood === 'none'
479 const isRolling = isRollingNow(m, e.props.isWorking) || isWalking
480 const { column, isReturning } = home ?? terminal.place(position(m, now), e.props.bodyColumns)
481 if (terminal.isMoving(m, isRolling)) {
482 keepTicking($)
483 } else {
484 stopTicking()
485 }
486
487 return (
488 <Box>
489 <Text>{' '.repeat(column)}</Text>
490 {terminal.face(m, isRolling, isReturning, now, agentCount(await read($, agents), now)).map((piece, i) => (
491 <Text key={`p${i}`} color={piece.color} bold>
492 {piece.text}
493 </Text>
494 ))}
495 <Text> </Text>
496 <Button key="close" label="×" plain dimColor onPress={() => putAway($)} />
497 </Box>
498 )
499 }
500
501 const { Box, Button } = $.ui.resolve(e)
502 const { Svg } = $.ui.resolve(e) as { Svg: (props: SvgProps) => JSX.Element }
503 const m = settle(await read($, motion))
504 const now = await $.clock.now()
505 // Leave room at the end of the band for the close button.
506 const bar = barWidth(await read($, width), e.props.bodyColumns) - CLOSE_ROOM
507 // Once he is home, draw him again standing still.
508 const home = walkHome(m, now, lapMs(bar), bar - SIZE)
509 if (home?.isWalking) {
510 $.clock.after(home.leftMs + 50, () => $.ui.invalidate('ui.render'))
511 }
512
513 return (
514 // One row holds him: left unsized, the desktop gives the band's content far more height than
515 // he needs. Heights count whole rows; pixels are refused.
516 <Box width="100%" height={1} alignItems="center">
517 {/*
518 His bar is a guess from the band's columns, so it sits centered in
519 the room left of the close button: his home is the true middle, and
520 a guess too wide is trimmed evenly at both ends.
521 */}
522 <Box flexGrow={1} flexShrink={1} justifyContent="center" overflow="hidden">
523 <Svg
524 source={stage(m, now, e.props.isWorking, bar, agentCount(await read($, agents), now))}
525 alt={describe(m)}
526 width={bar}
527 height={SIZE}
528 />
529 </Box>
530 <Button key="close" label="✕" plain dimColor onPress={() => putAway($)} />
531 </Box>
532 )
533 })
534}
535hooks/meatball.ts 8 lines1// Generated by scripts/build-sprites.py from plugin/assets/meatball.svg: the sprite.
2// Its root attributes pick the pose: data-fill (normal/full/stuffed), data-mood
3// (alert/hurt/sleep/busy/testing/pass/fail/deliver/celebrate), data-chomp, data-mouth, data-idle and data-roll.
4export const MEATBALL = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\" width=\"64\" height=\"64\" shape-rendering=\"crispEdges\"><title>Meatball</title><style>\n.v,.m-open,.mo,.fm,.xm{display:none}\nsvg:not([data-fill]) .v-normal,svg[data-fill=\"normal\"] .v-normal,svg[data-fill=\"full\"] .v-full,svg[data-fill=\"stuffed\"] .v-stuffed{display:inline}\nsvg[data-mouth=\"open\"] .m-open{display:inline}\nsvg[data-mouth=\"open\"] .m-closed{display:none}\nsvg[data-chomp] .m-open{display:inline;animation:cA .36s steps(1) infinite}\nsvg[data-chomp] .m-closed{display:inline;animation:cB .36s steps(1) infinite}\n@keyframes cA{0%{visibility:visible}50%{visibility:hidden}}\n@keyframes cB{0%{visibility:hidden}50%{visibility:visible}}\nsvg[data-mood=\"alert\"] .f-default,svg[data-mood=\"alert\"] .mc-default{display:none}\nsvg[data-mood=\"alert\"] .f-alert,svg[data-mood=\"alert\"] .mc-alert,svg[data-mood=\"alert\"] .x-alert{display:inline}\nsvg[data-mood=\"hurt\"] .f-default,svg[data-mood=\"hurt\"] .mc-default{display:none}\nsvg[data-mood=\"hurt\"] .f-hurt,svg[data-mood=\"hurt\"] .mc-hurt,svg[data-mood=\"hurt\"] .x-hurt{display:inline}\nsvg[data-mood=\"sleep\"] .f-default,svg[data-mood=\"sleep\"] .mc-default{display:none}\nsvg[data-mood=\"sleep\"] .f-sleep,svg[data-mood=\"sleep\"] .mc-sleep,svg[data-mood=\"sleep\"] .x-sleep{display:inline}\nsvg[data-mood=\"busy\"] .f-default,svg[data-mood=\"busy\"] .mc-default{display:none}\nsvg[data-mood=\"busy\"] .f-busy,svg[data-mood=\"busy\"] .mc-busy,svg[data-mood=\"busy\"] .x-busy{display:inline}\nsvg[data-mood=\"testing\"] .f-default,svg[data-mood=\"testing\"] .mc-default{display:none}\nsvg[data-mood=\"testing\"] .f-testing,svg[data-mood=\"testing\"] .mc-testing,svg[data-mood=\"testing\"] .x-testing{display:inline}\nsvg[data-mood=\"pass\"] .f-default,svg[data-mood=\"pass\"] .mc-default{display:none}\nsvg[data-mood=\"pass\"] .f-pass,svg[data-mood=\"pass\"] .mc-pass,svg[data-mood=\"pass\"] .x-pass{display:inline}\nsvg[data-mood=\"fail\"] .f-default,svg[data-mood=\"fail\"] .mc-default{display:none}\nsvg[data-mood=\"fail\"] .f-fail,svg[data-mood=\"fail\"] .mc-fail,svg[data-mood=\"fail\"] .x-fail{display:inline}\nsvg[data-mood=\"deliver\"] .f-default,svg[data-mood=\"deliver\"] .mc-default{display:none}\nsvg[data-mood=\"deliver\"] .f-deliver,svg[data-mood=\"deliver\"] .mc-deliver,svg[data-mood=\"deliver\"] .x-deliver{display:inline}\nsvg[data-mood=\"celebrate\"] .f-default,svg[data-mood=\"celebrate\"] .mc-default{display:none}\nsvg[data-mood=\"celebrate\"] .f-celebrate,svg[data-mood=\"celebrate\"] .mc-celebrate,svg[data-mood=\"celebrate\"] .x-celebrate{display:inline}\n\nsvg[data-idle] .bob{animation:bob 1.2s steps(1) infinite}\n@keyframes bob{0%{transform:translateY(0)}50%{transform:translateY(-1px)}}\n@keyframes blink{50%{visibility:hidden}}\n@keyframes third{0%{visibility:visible}33.33%{visibility:hidden}}\nsvg[data-mood=\"sleep\"] .bob{animation:bob 2.8s steps(1) infinite}\nsvg[data-mood=\"sleep\"] .z1{animation:zz 2.8s steps(1) infinite}\nsvg[data-mood=\"sleep\"] .z2{animation:zz 2.8s steps(1) infinite 1.4s}\n@keyframes zz{0%{visibility:hidden}25%{visibility:visible}100%{visibility:visible}}\nsvg[data-mood=\"alert\"] .x-alert{animation:blink .5s steps(1) infinite}\nsvg[data-mood=\"alert\"] .bob{animation:hop 1.4s steps(1) infinite}\n@keyframes hop{0%{transform:translateY(0)}8%{transform:translateY(-1px)}16%{transform:translateY(0)}24%{transform:translateY(-1px)}32%{transform:translateY(0)}}\nsvg[data-mood=\"hurt\"] .bob{animation:shake 1s steps(1) infinite}\n@keyframes shake{0%{transform:translateX(0)}6%{transform:translateX(-1px)}12%{transform:translateX(1px)}18%{transform:translateX(-1px)}24%{transform:translateX(0)}}\nsvg[data-mood=\"hurt\"] .x-hurt{animation:blink .4s steps(1) infinite}\nsvg[data-mood=\"testing\"] .bob{animation:nerv .5s steps(1) infinite}\n@keyframes nerv{0%{transform:translate(0,0)}20%{transform:translate(0,-1px)}40%{transform:translate(1px,0)}60%{transform:translate(0,-1px)}80%{transform:translate(-1px,0)}}\nsvg[data-mood=\"testing\"] .sw{animation:blink .8s steps(1) infinite}\nsvg[data-mood=\"pass\"] .v,svg[data-mood=\"celebrate\"] .v{animation:cheer 1.2s steps(1) infinite}\n@keyframes cheer{0%{transform:translateY(0)}8%{transform:translateY(-2px)}16%{transform:translateY(-4px)}24%{transform:translateY(-2px)}32%{transform:translateY(0)}40%{transform:translateY(-2px)}48%{transform:translateY(0)}}\nsvg[data-mood=\"pass\"] .s1{animation:blink .6s steps(1) infinite}\nsvg[data-mood=\"pass\"] .s2{animation:blink .6s steps(1) infinite .3s}\nsvg[data-mood=\"fail\"] .bob{animation:wince 1.2s steps(1) infinite}\n@keyframes wince{0%{transform:translateX(0)}4%{transform:translateX(-2px)}8%{transform:translateX(2px)}12%{transform:translateX(-2px)}16%{transform:translateX(2px)}20%{transform:translateX(-1px)}24%{transform:translateX(0)}}\nsvg[data-mood=\"fail\"] .sm{animation:blink .6s steps(1) infinite}\nsvg[data-mood=\"deliver\"] .bob{animation:bob .5s steps(1) infinite}\nsvg[data-mood=\"celebrate\"] .c0{animation:third .6s steps(1) infinite}\nsvg[data-mood=\"celebrate\"] .c1{animation:third .6s steps(1) infinite -.4s}\nsvg[data-mood=\"celebrate\"] .c2{animation:third .6s steps(1) infinite -.2s}\n.spin{transform-box:view-box}\n.v-normal .spin,.v-full .spin{transform-origin:15.5px 17.5px}.v-stuffed .spin{transform-origin:15.5px 16.5px}\nsvg[data-roll] .feet{display:none}\nsvg[data-roll] .spin{animation:roll .6s steps(4) infinite}\nsvg[data-roll] .bob,svg[data-roll] .v{animation:none}\n@keyframes roll{from{transform:rotate(0)}to{transform:rotate(360deg)}}\n</style><g fill=\"#2b120c\" opacity=\".22\"><path d=\"M7 30h1v1h-1zM8 30h1v1h-1zM9 30h1v1h-1zM10 30h1v1h-1zM11 30h1v1h-1zM12 30h1v1h-1zM13 30h1v1h-1zM14 30h1v1h-1zM15 30h1v1h-1zM16 30h1v1h-1zM17 30h1v1h-1zM18 30h1v1h-1zM19 30h1v1h-1zM20 30h1v1h-1zM21 30h1v1h-1zM22 30h1v1h-1zM23 30h1v1h-1zM24 30h1v1h-1z\" /></g><g class=\"v v-normal\"><g class=\"feet\"><path d=\"M9 26h4v1h-4zM17 26h4v1h-4zM9 27h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M10 27h3v1h-3z\" fill=\"#a4532f\" /><path d=\"M13 27h1v1h-1zM17 27h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M18 27h3v1h-3z\" fill=\"#a4532f\" /><path d=\"M21 27h1v1h-1zM9 28h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M10 28h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M12 28h2v1h-2zM17 28h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M18 28h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M20 28h2v1h-2zM10 29h2v1h-2zM18 29h2v1h-2z\" fill=\"#2b120c\" /></g><g class=\"bob\"><g class=\"spin\"><path d=\"M15 7h1v1h-1zM11 8h4v1h-4z\" fill=\"#2b120c\" /><path d=\"M15 8h1v1h-1z\" fill=\"#c8281e\" /><path d=\"M16 8h4v1h-4zM9 9h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M11 9h3v1h-3z\" fill=\"#f2685a\" /><path d=\"M14 9h5v1h-5z\" fill=\"#c8281e\" /><path d=\"M19 9h1v1h-1z\" fill=\"#9c1a14\" /><path d=\"M20 9h2v1h-2zM8 10h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M9 10h2v1h-2z\" fill=\"#c8281e\" /><path d=\"M11 10h3v1h-3z\" fill=\"#f2685a\" /><path d=\"M14 10h5v1h-5z\" fill=\"#c8281e\" /><path d=\"M19 10h3v1h-3z\" fill=\"#9c1a14\" /><path d=\"M22 10h1v1h-1zM7 11h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M8 11h2v1h-2z\" fill=\"#c8281e\" /><path d=\"M10 11h2v1h-2z\" fill=\"#fff1dc\" /><path d=\"M12 11h1v1h-1z\" fill=\"#f2685a\" /><path d=\"M13 11h6v1h-6z\" fill=\"#c8281e\" /><path d=\"M19 11h4v1h-4z\" fill=\"#9c1a14\" /><path d=\"M23 11h1v1h-1zM7 12h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M8 12h11v1h-11z\" fill=\"#c8281e\" /><path d=\"M19 12h4v1h-4z\" fill=\"#9c1a14\" /><path d=\"M23 12h1v1h-1zM6 13h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M7 13h2v1h-2z\" fill=\"#c06a3e\" /><path d=\"M9 13h1v1h-1z\" fill=\"#e3996a\" /><path d=\"M10 13h2v1h-2z\" fill=\"#c8281e\" /><path d=\"M12 13h1v1h-1z\" fill=\"#e3996a\" /><path d=\"M13 13h2v1h-2z\" fill=\"#c06a3e\" /><path d=\"M15 13h2v1h-2z\" fill=\"#c8281e\" /><path d=\"M17 13h1v1h-1z\" fill=\"#8a4026\" /><path d=\"M18 13h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M20 13h2v1h-2z\" fill=\"#9c1a14\" /><path d=\"M22 13h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M24 13h1v1h-1zM6 14h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M7 14h1v1h-1z\" fill=\"#c06a3e\" /><path d=\"M8 14h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M9 14h2v1h-2z\" fill=\"#e3996a\" /><path d=\"M11 14h1v1h-1z\" fill=\"#c8281e\" /><path d=\"M12 14h1v1h-1z\" fill=\"#e3996a\" /><path d=\"M13 14h11v1h-11z\" fill=\"#a4532f\" /><path d=\"M24 14h1v1h-1zM6 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M7 15h1v1h-1z\" fill=\"#c06a3e\" /><path d=\"M8 15h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M10 15h1v1h-1z\" fill=\"#e3996a\" /><path d=\"M11 15h1v1h-1z\" fill=\"#c8281e\" /><path d=\"M12 15h12v1h-12z\" fill=\"#a4532f\" /><path d=\"M24 15h1v1h-1zM6 16h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M7 16h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M8 16h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M10 16h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M11 16h1v1h-1z\" fill=\"#9c1a14\" /><path d=\"M12 16h2v1h-2z\" fill=\"#c06a3e\" /><path d=\"M14 16h6v1h-6z\" fill=\"#a4532f\" /><path d=\"M20 16h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M22 16h2v1h-2z\" fill=\"#c06a3e\" /><path d=\"M5 17h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M6 17h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M8 17h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M10 17h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M12 17h2v1h-2z\" fill=\"#c06a3e\" /><path d=\"M14 17h6v1h-6z\" fill=\"#a4532f\" /><path d=\"M20 17h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M22 17h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M24 17h1v1h-1z\" fill=\"#8a4026\" /><path d=\"M6 18h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M7 18h4v1h-4z\" fill=\"#a4532f\" /><path d=\"M11 18h1v1h-1z\" fill=\"#3f6a1e\" /><path d=\"M12 18h4v1h-4z\" fill=\"#a4532f\" /><path d=\"M16 18h2v1h-2z\" fill=\"#c06a3e\" /><path d=\"M18 18h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M20 18h2v1h-2z\" fill=\"#6e2f1c\" /><path d=\"M22 18h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M6 19h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M7 19h9v1h-9z\" fill=\"#a4532f\" /><path d=\"M16 19h2v1h-2z\" fill=\"#c06a3e\" /><path d=\"M18 19h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M19 19h1v1h-1z\" fill=\"#8a4026\" /><path d=\"M20 19h2v1h-2z\" fill=\"#6e2f1c\" /><path d=\"M22 19h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M6 20h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M7 20h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M8 20h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M10 20h4v1h-4z\" fill=\"#a4532f\" /><path d=\"M14 20h3v1h-3z\" fill=\"#8a4026\" /><path d=\"M17 20h1v1h-1z\" fill=\"#6e2f1c\" /><path d=\"M18 20h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M20 20h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M22 20h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M6 21h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M7 21h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M8 21h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M10 21h4v1h-4z\" fill=\"#a4532f\" /><path d=\"M14 21h1v1h-1z\" fill=\"#8a4026\" /><path d=\"M15 21h3v1h-3z\" fill=\"#6e2f1c\" /><path d=\"M18 21h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M20 21h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M22 21h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M23 21h1v1h-1z\" fill=\"#8a4026\" /><path d=\"M7 22h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M8 22h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M10 22h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M12 22h1v1h-1z\" fill=\"#3f6a1e\" /><path d=\"M13 22h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M14 22h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M16 22h2v1h-2z\" fill=\"#6e2f1c\" /><path d=\"M18 22h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M20 22h3v1h-3z\" fill=\"#6e2f1c\" /><path d=\"M7 23h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M8 23h1v1h-1z\" fill=\"#5c8a2e\" /><path d=\"M9 23h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M10 23h6v1h-6z\" fill=\"#8a4026\" /><path d=\"M16 23h2v1h-2z\" fill=\"#6e2f1c\" /><path d=\"M18 23h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M20 23h3v1h-3z\" fill=\"#6e2f1c\" /><path d=\"M8 24h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M9 24h2v1h-2z\" fill=\"#c06a3e\" /><path d=\"M11 24h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M12 24h8v1h-8z\" fill=\"#8a4026\" /><path d=\"M20 24h2v1h-2z\" fill=\"#6e2f1c\" /><path d=\"M22 24h1v1h-1zM9 25h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M11 25h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M12 25h5v1h-5z\" fill=\"#8a4026\" /><path d=\"M17 25h1v1h-1z\" fill=\"#6e2f1c\" /><path d=\"M18 25h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M20 25h2v1h-2zM11 26h4v1h-4z\" fill=\"#2b120c\" /><path d=\"M15 26h1v1h-1z\" fill=\"#6e2f1c\" /><path d=\"M16 26h4v1h-4zM15 27h1v1h-1z\" fill=\"#2b120c\" /><g class=\"f-default\"><path d=\"M16 14h2v1h-2zM20 14h2v1h-2zM15 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M16 15h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M17 15h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M18 15h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M20 15h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M21 15h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M22 15h1v1h-1zM15 16h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M16 16h1v1h-1z\" fill=\"#d6cbbd\" /><path d=\"M17 16h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M18 16h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M20 16h1v1h-1z\" fill=\"#d6cbbd\" /><path d=\"M21 16h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M22 16h1v1h-1zM16 17h2v1h-2zM20 17h2v1h-2z\" fill=\"#2b120c\" /></g><g class=\"fm f-alert\"><path d=\"M16 11h2v1h-2zM20 11h2v1h-2zM15 12h1v1h-1zM18 12h2v1h-2zM22 12h1v1h-1zM16 13h2v1h-2zM20 13h2v1h-2zM15 14h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M16 14h2v1h-2z\" fill=\"#f8f3ea\" /><path d=\"M18 14h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M20 14h2v1h-2z\" fill=\"#f8f3ea\" /><path d=\"M22 14h1v1h-1zM15 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M16 15h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M17 15h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M18 15h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M20 15h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M21 15h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M22 15h1v1h-1zM15 16h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M16 16h1v1h-1z\" fill=\"#d6cbbd\" /><path d=\"M17 16h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M18 16h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M20 16h1v1h-1z\" fill=\"#d6cbbd\" /><path d=\"M21 16h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M22 16h1v1h-1zM16 17h2v1h-2zM20 17h2v1h-2z\" fill=\"#2b120c\" /></g><g class=\"fm f-hurt\"><path d=\"M9 14h1v1h-1z\" fill=\"#86d6f7\" /><path d=\"M8 15h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M9 15h2v1h-2z\" fill=\"#86d6f7\" /><path d=\"M15 15h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M16 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M17 15h1v1h-1zM20 15h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M21 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M22 15h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M8 16h3v1h-3z\" fill=\"#86d6f7\" /><path d=\"M15 16h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M16 16h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M17 16h1v1h-1zM20 16h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M21 16h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M22 16h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M9 17h1v1h-1z\" fill=\"#86d6f7\" /><path d=\"M15 17h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M16 17h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M17 17h1v1h-1zM20 17h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M21 17h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M22 17h1v1h-1z\" fill=\"#f8f3ea\" /></g><g class=\"fm f-sleep\"><path d=\"M16 14h2v1h-2zM20 14h2v1h-2zM15 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M16 15h2v1h-2z\" fill=\"#e3996a\" /><path d=\"M18 15h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M20 15h2v1h-2z\" fill=\"#e3996a\" /><path d=\"M22 15h1v1h-1zM15 16h8v1h-8zM16 17h2v1h-2zM20 17h2v1h-2z\" fill=\"#2b120c\" /></g><g class=\"fm f-busy\"><path d=\"M15 13h2v1h-2zM21 13h2v1h-2zM16 14h6v1h-6zM15 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M16 15h2v1h-2z\" fill=\"#e3996a\" /><path d=\"M18 15h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M20 15h2v1h-2z\" fill=\"#e3996a\" /><path d=\"M22 15h1v1h-1zM15 16h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M16 16h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M17 16h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M18 16h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M20 16h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M21 16h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M22 16h1v1h-1zM16 17h2v1h-2zM20 17h2v1h-2z\" fill=\"#2b120c\" /></g><g class=\"fm f-testing\"><path d=\"M15 13h3v1h-3zM19 13h3v1h-3z\" fill=\"#2b120c\" /><path d=\"M7 14h7v1h-7z\" fill=\"#5a6272\" /><path d=\"M14 14h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M15 14h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M16 14h2v1h-2z\" fill=\"#a9e3f2\" /><path d=\"M18 14h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M19 14h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M20 14h2v1h-2z\" fill=\"#a9e3f2\" /><path d=\"M22 14h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M23 14h1v1h-1z\" fill=\"#5a6272\" /><path d=\"M7 15h7v1h-7z\" fill=\"#3d4350\" /><path d=\"M14 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M15 15h2v1h-2z\" fill=\"#a9e3f2\" /><path d=\"M17 15h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M18 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M19 15h2v1h-2z\" fill=\"#a9e3f2\" /><path d=\"M21 15h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M22 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M23 15h1v1h-1z\" fill=\"#3d4350\" /><path d=\"M14 16h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M15 16h2v1h-2z\" fill=\"#a9e3f2\" /><path d=\"M17 16h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M18 16h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M19 16h2v1h-2z\" fill=\"#a9e3f2\" /><path d=\"M21 16h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M22 16h1v1h-1zM15 17h3v1h-3zM19 17h3v1h-3z\" fill=\"#2b120c\" /></g><g class=\"fm f-pass\"><path d=\"M15 7h3v1h-3zM19 7h3v1h-3zM14 8h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M15 8h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M16 8h2v1h-2z\" fill=\"#a9e3f2\" /><path d=\"M18 8h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M19 8h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M20 8h2v1h-2z\" fill=\"#a9e3f2\" /><path d=\"M22 8h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M11 9h3v1h-3z\" fill=\"#3d4350\" /><path d=\"M14 9h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M15 9h3v1h-3z\" fill=\"#a9e3f2\" /><path d=\"M18 9h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M19 9h3v1h-3z\" fill=\"#a9e3f2\" /><path d=\"M22 9h1v1h-1zM14 10h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M15 10h3v1h-3z\" fill=\"#a9e3f2\" /><path d=\"M18 10h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M19 10h3v1h-3z\" fill=\"#a9e3f2\" /><path d=\"M22 10h1v1h-1zM15 11h3v1h-3zM19 11h3v1h-3zM16 15h2v1h-2zM20 15h2v1h-2zM15 16h1v1h-1zM18 16h2v1h-2zM22 16h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M14 18h2v1h-2zM22 18h2v1h-2z\" fill=\"#f08a8a\" /></g><g class=\"fm f-fail\"><path d=\"M15 13h3v1h-3zM19 13h3v1h-3z\" fill=\"#2b120c\" /><path d=\"M7 14h7v1h-7z\" fill=\"#5a6272\" /><path d=\"M14 14h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M16 14h2v1h-2z\" fill=\"#a9e3f2\" /><path d=\"M18 14h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M19 14h2v1h-2z\" fill=\"#a9e3f2\" /><path d=\"M21 14h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M23 14h1v1h-1z\" fill=\"#5a6272\" /><path d=\"M7 15h7v1h-7z\" fill=\"#3d4350\" /><path d=\"M14 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M15 15h1v1h-1z\" fill=\"#a9e3f2\" /><path d=\"M16 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M17 15h1v1h-1z\" fill=\"#a9e3f2\" /><path d=\"M18 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M19 15h1v1h-1z\" fill=\"#a9e3f2\" /><path d=\"M20 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M21 15h1v1h-1z\" fill=\"#a9e3f2\" /><path d=\"M22 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M23 15h1v1h-1z\" fill=\"#3d4350\" /><path d=\"M14 16h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M16 16h2v1h-2z\" fill=\"#a9e3f2\" /><path d=\"M18 16h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M19 16h2v1h-2z\" fill=\"#a9e3f2\" /><path d=\"M21 16h2v1h-2zM15 17h3v1h-3zM19 17h3v1h-3z\" fill=\"#2b120c\" /></g><g class=\"fm f-deliver\"><path d=\"M16 14h2v1h-2zM20 14h2v1h-2zM15 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M16 15h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M17 15h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M18 15h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M20 15h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M21 15h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M22 15h1v1h-1zM15 16h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M16 16h1v1h-1z\" fill=\"#d6cbbd\" /><path d=\"M17 16h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M18 16h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M20 16h1v1h-1z\" fill=\"#d6cbbd\" /><path d=\"M21 16h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M22 16h1v1h-1zM16 17h2v1h-2zM20 17h2v1h-2z\" fill=\"#2b120c\" /></g><g class=\"fm f-celebrate\"><path d=\"M16 15h2v1h-2zM20 15h2v1h-2zM15 16h1v1h-1zM18 16h2v1h-2zM22 16h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M14 18h2v1h-2zM22 18h2v1h-2z\" fill=\"#f08a8a\" /></g><g class=\"m-closed\"><path d=\"M24 16h1v1h-1zM25 17h1v1h-1zM24 18h1v1h-1zM24 19h1v1h-1zM24 20h1v1h-1zM24 21h1v1h-1zM23 22h1v1h-1zM23 23h1v1h-1z\" fill=\"#2b120c\" /><g class=\"mc-default\"><path d=\"M17 19h1v1h-1zM18 20h7v1h-7z\" fill=\"#2b120c\" /><path d=\"M22 21h1v1h-1z\" fill=\"#ffffff\" /></g><g class=\"mo mc-alert\"><path d=\"M21 19h1v1h-1zM20 20h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M21 20h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M22 20h1v1h-1zM20 21h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M21 21h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M22 21h1v1h-1zM21 22h1v1h-1z\" fill=\"#2b120c\" /></g><g class=\"mo mc-hurt\"><path d=\"M18 20h1v1h-1zM20 20h1v1h-1zM22 20h1v1h-1zM24 20h1v1h-1zM19 21h1v1h-1zM21 21h1v1h-1zM23 21h1v1h-1z\" fill=\"#2b120c\" /></g><g class=\"mo mc-sleep\"><path d=\"M20 20h3v1h-3z\" fill=\"#2b120c\" /><path d=\"M23 21h1v1h-1zM23 22h1v1h-1z\" fill=\"#86d6f7\" /></g><g class=\"mo mc-busy\"><path d=\"M17 19h1v1h-1zM18 20h7v1h-7zM21 21h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M22 21h2v1h-2z\" fill=\"#e05a6a\" /><path d=\"M24 21h1v1h-1zM22 22h2v1h-2z\" fill=\"#2b120c\" /></g><g class=\"mo mc-testing\"><path d=\"M19 20h1v1h-1zM21 20h1v1h-1zM23 20h1v1h-1zM20 21h1v1h-1zM22 21h1v1h-1z\" fill=\"#2b120c\" /></g><g class=\"mo mc-pass\"><path d=\"M18 20h7v1h-7zM18 21h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M19 21h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M20 21h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M21 21h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M22 21h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M23 21h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M24 21h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M19 22h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M20 22h3v1h-3z\" fill=\"#e05a6a\" /><path d=\"M23 22h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M20 23h4v1h-4z\" fill=\"#2b120c\" /></g><g class=\"mo mc-fail\"><path d=\"M18 19h6v1h-6zM18 20h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M19 20h2v1h-2z\" fill=\"#ffffff\" /><path d=\"M21 20h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M22 20h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M23 20h1v1h-1zM18 21h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M19 21h2v1h-2z\" fill=\"#ffffff\" /><path d=\"M21 21h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M22 21h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M23 21h1v1h-1zM18 22h6v1h-6z\" fill=\"#2b120c\" /></g><g class=\"mo mc-deliver\"><path d=\"M22 17h9v1h-9zM21 18h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M23 18h1v1h-1z\" fill=\"#c9b99a\" /><path d=\"M24 18h5v1h-5z\" fill=\"#fbf6ea\" /><path d=\"M29 18h1v1h-1z\" fill=\"#c9b99a\" /><path d=\"M30 18h1v1h-1zM22 19h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M23 19h1v1h-1z\" fill=\"#fbf6ea\" /><path d=\"M24 19h1v1h-1z\" fill=\"#c9b99a\" /><path d=\"M25 19h3v1h-3z\" fill=\"#fbf6ea\" /><path d=\"M28 19h1v1h-1z\" fill=\"#c9b99a\" /><path d=\"M29 19h1v1h-1z\" fill=\"#fbf6ea\" /><path d=\"M30 19h1v1h-1zM22 20h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M23 20h2v1h-2z\" fill=\"#fbf6ea\" /><path d=\"M25 20h1v1h-1z\" fill=\"#c9b99a\" /><path d=\"M26 20h1v1h-1z\" fill=\"#d33a2c\" /><path d=\"M27 20h1v1h-1z\" fill=\"#c9b99a\" /><path d=\"M28 20h2v1h-2z\" fill=\"#fbf6ea\" /><path d=\"M30 20h1v1h-1zM21 21h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M23 21h7v1h-7z\" fill=\"#fbf6ea\" /><path d=\"M30 21h1v1h-1zM22 22h9v1h-9z\" fill=\"#2b120c\" /></g><g class=\"mo mc-celebrate\"><path d=\"M18 20h7v1h-7zM18 21h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M19 21h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M20 21h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M21 21h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M22 21h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M23 21h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M24 21h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M19 22h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M20 22h3v1h-3z\" fill=\"#e05a6a\" /><path d=\"M23 22h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M20 23h4v1h-4z\" fill=\"#2b120c\" /></g></g><g class=\"m-open\"><path d=\"M23 14h2v1h-2zM21 15h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M23 15h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M24 15h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M20 16h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M21 16h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M22 16h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M23 16h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M18 17h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M20 17h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M21 17h4v1h-4z\" fill=\"#3a0d0a\" /><path d=\"M31 17h1v1h-1z\" fill=\"#f2c14e\" /><path d=\"M17 18h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M18 18h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M19 18h5v1h-5z\" fill=\"#3a0d0a\" /><path d=\"M15 19h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M17 19h7v1h-7z\" fill=\"#3a0d0a\" /><path d=\"M28 19h1v1h-1z\" fill=\"#f2c14e\" /><path d=\"M29 19h1v1h-1z\" fill=\"#c98e22\" /><path d=\"M15 20h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M16 20h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M17 20h7v1h-7z\" fill=\"#3a0d0a\" /><path d=\"M28 20h1v1h-1z\" fill=\"#c98e22\" /><path d=\"M29 20h1v1h-1z\" fill=\"#f2c14e\" /><path d=\"M16 21h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M17 21h6v1h-6z\" fill=\"#e05a6a\" /><path d=\"M23 21h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M30 21h1v1h-1z\" fill=\"#c98e22\" /><path d=\"M17 22h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M19 22h4v1h-4z\" fill=\"#e05a6a\" /><path d=\"M19 23h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M20 23h1v1h-1z\" fill=\"#e05a6a\" /><path d=\"M21 23h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M22 23h1v1h-1z\" fill=\"#e05a6a\" /><path d=\"M20 24h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M22 24h1v1h-1z\" fill=\"#e05a6a\" /></g></g><g class=\"xm x-alert\"><path d=\"M26 0h4v1h-4zM26 1h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M27 1h2v1h-2z\" fill=\"#ffd23f\" /><path d=\"M29 1h1v1h-1zM26 2h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M27 2h2v1h-2z\" fill=\"#ffd23f\" /><path d=\"M29 2h1v1h-1zM26 3h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M27 3h2v1h-2z\" fill=\"#ffd23f\" /><path d=\"M29 3h1v1h-1zM26 4h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M27 4h1v1h-1z\" fill=\"#ffd23f\" /><path d=\"M28 4h2v1h-2zM26 5h4v1h-4zM26 6h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M27 6h2v1h-2z\" fill=\"#ffd23f\" /><path d=\"M29 6h1v1h-1zM26 7h4v1h-4z\" fill=\"#2b120c\" /></g><g class=\"xm x-hurt\"><path d=\"M12 5h1v1h-1zM20 5h1v1h-1zM11 6h1v1h-1zM13 6h1v1h-1zM19 6h1v1h-1zM21 6h1v1h-1zM12 7h1v1h-1zM20 7h1v1h-1z\" fill=\"#ffe066\" /></g><g class=\"xm x-sleep\"><g class=\"z1\"><path d=\"M22 3h4v1h-4zM24 4h1v1h-1zM23 5h1v1h-1zM22 6h4v1h-4z\" fill=\"#4f9be8\" /></g><g class=\"z2\"><path d=\"M27 0h4v1h-4zM29 1h1v1h-1zM28 2h1v1h-1zM27 3h4v1h-4z\" fill=\"#4f9be8\" /></g></g><g class=\"xm x-testing\"><g class=\"sw\"><path d=\"M11 9h1v1h-1zM10 10h3v1h-3zM11 11h1v1h-1z\" fill=\"#86d6f7\" /></g></g><g class=\"xm x-pass\"><g class=\"s1\"><path d=\"M4 7h1v1h-1zM3 8h1v1h-1z\" fill=\"#ffe066\" /><path d=\"M4 8h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M5 8h1v1h-1zM4 9h1v1h-1zM28 13h1v1h-1zM27 14h1v1h-1z\" fill=\"#ffe066\" /><path d=\"M28 14h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M29 14h1v1h-1zM28 15h1v1h-1z\" fill=\"#ffe066\" /></g><g class=\"s2\"><path d=\"M27 3h1v1h-1zM26 4h1v1h-1z\" fill=\"#ffe066\" /><path d=\"M27 4h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M28 4h1v1h-1zM27 5h1v1h-1zM5 17h1v1h-1zM4 18h1v1h-1z\" fill=\"#ffe066\" /><path d=\"M5 18h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M6 18h1v1h-1zM5 19h1v1h-1z\" fill=\"#ffe066\" /></g></g><g class=\"xm x-fail\"><g class=\"sw\"><path d=\"M11 9h1v1h-1zM10 10h3v1h-3zM11 11h1v1h-1z\" fill=\"#86d6f7\" /></g><g class=\"sm\"><path d=\"M16 4h1v1h-1zM16 5h2v1h-2zM15 6h4v1h-4z\" fill=\"#b9b4ae\" /></g></g><g class=\"xm x-celebrate\"><path d=\"M2 3h1v1h-1z\" fill=\"#e0a91a\" /><path d=\"M2 4h1v1h-1z\" fill=\"#6b4a2b\" /><path d=\"M3 4h6v1h-6z\" fill=\"#ffd23f\" /><path d=\"M2 5h1v1h-1z\" fill=\"#6b4a2b\" /><path d=\"M3 5h5v1h-5z\" fill=\"#ffd23f\" /><path d=\"M2 6h1v1h-1z\" fill=\"#6b4a2b\" /><path d=\"M3 6h4v1h-4z\" fill=\"#ffd23f\" /><path d=\"M2 7h1v1h-1z\" fill=\"#6b4a2b\" /><path d=\"M3 7h3v1h-3z\" fill=\"#e0a91a\" /><path d=\"M2 8h1v1h-1z\" fill=\"#6b4a2b\" /><path d=\"M3 8h2v1h-2z\" fill=\"#e0a91a\" /><path d=\"M2 9h1v1h-1z\" fill=\"#6b4a2b\" /><path d=\"M3 9h1v1h-1z\" fill=\"#e0a91a\" /><path d=\"M2 10h1v1h-1zM2 11h1v1h-1zM2 12h1v1h-1zM2 13h1v1h-1zM2 14h1v1h-1zM2 15h1v1h-1zM2 16h1v1h-1zM2 17h1v1h-1zM2 18h1v1h-1zM2 19h1v1h-1zM2 20h1v1h-1zM2 21h1v1h-1zM2 22h1v1h-1zM2 23h1v1h-1zM2 24h1v1h-1zM2 25h1v1h-1zM2 26h1v1h-1zM2 27h1v1h-1zM2 28h1v1h-1z\" fill=\"#6b4a2b\" /><g class=\"c0\"><path d=\"M14 0h1v1h-1zM14 1h1v1h-1z\" fill=\"#ff5d5d\" /><path d=\"M19 1h1v1h-1z\" fill=\"#4fb3ff\" /><path d=\"M2 2h1v1h-1z\" fill=\"#ffd23f\" /><path d=\"M12 2h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M2 3h1v1h-1z\" fill=\"#ff5d5d\" /><path d=\"M30 4h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M30 5h1v1h-1zM30 6h1v1h-1z\" fill=\"#ff5d5d\" /><path d=\"M17 7h1v1h-1z\" fill=\"#ffd23f\" /><path d=\"M30 7h1v1h-1z\" fill=\"#5fd17a\" /><path d=\"M20 8h1v1h-1z\" fill=\"#ff8ad8\" /><path d=\"M30 8h1v1h-1zM0 9h1v1h-1z\" fill=\"#5fd17a\" /><path d=\"M5 9h1v1h-1z\" fill=\"#ff8ad8\" /><path d=\"M8 9h1v1h-1z\" fill=\"#4fb3ff\" /><path d=\"M28 9h1v1h-1z\" fill=\"#ffd23f\" /><path d=\"M0 10h1v1h-1z\" fill=\"#5fd17a\" /></g><g class=\"c1\"><path d=\"M14 2h1v1h-1zM14 3h1v1h-1z\" fill=\"#ff5d5d\" /><path d=\"M19 3h1v1h-1z\" fill=\"#4fb3ff\" /><path d=\"M2 4h1v1h-1z\" fill=\"#ffd23f\" /><path d=\"M12 4h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M2 5h1v1h-1z\" fill=\"#ff5d5d\" /><path d=\"M30 6h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M30 7h1v1h-1zM30 8h1v1h-1z\" fill=\"#ff5d5d\" /><path d=\"M17 9h1v1h-1z\" fill=\"#ffd23f\" /><path d=\"M30 9h1v1h-1z\" fill=\"#5fd17a\" /><path d=\"M20 10h1v1h-1z\" fill=\"#ff8ad8\" /><path d=\"M30 10h1v1h-1zM0 11h1v1h-1z\" fill=\"#5fd17a\" /><path d=\"M5 11h1v1h-1z\" fill=\"#ff8ad8\" /><path d=\"M8 11h1v1h-1z\" fill=\"#4fb3ff\" /><path d=\"M28 11h1v1h-1z\" fill=\"#ffd23f\" /><path d=\"M0 12h1v1h-1z\" fill=\"#5fd17a\" /></g><g class=\"c2\"><path d=\"M14 4h1v1h-1zM14 5h1v1h-1z\" fill=\"#ff5d5d\" /><path d=\"M19 5h1v1h-1z\" fill=\"#4fb3ff\" /><path d=\"M2 6h1v1h-1z\" fill=\"#ffd23f\" /><path d=\"M12 6h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M2 7h1v1h-1z\" fill=\"#ff5d5d\" /><path d=\"M30 8h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M30 9h1v1h-1zM30 10h1v1h-1z\" fill=\"#ff5d5d\" /><path d=\"M17 11h1v1h-1z\" fill=\"#ffd23f\" /><path d=\"M30 11h1v1h-1z\" fill=\"#5fd17a\" /><path d=\"M20 12h1v1h-1z\" fill=\"#ff8ad8\" /><path d=\"M30 12h1v1h-1zM0 13h1v1h-1z\" fill=\"#5fd17a\" /><path d=\"M5 13h1v1h-1z\" fill=\"#ff8ad8\" /><path d=\"M8 13h1v1h-1z\" fill=\"#4fb3ff\" /><path d=\"M28 13h1v1h-1z\" fill=\"#ffd23f\" /><path d=\"M0 14h1v1h-1z\" fill=\"#5fd17a\" /></g></g></g></g><g class=\"v v-full\"><g class=\"feet\"><path d=\"M9 27h3v1h-3zM18 27h3v1h-3zM8 28h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M9 28h3v1h-3z\" fill=\"#e3996a\" /><path d=\"M12 28h1v1h-1zM17 28h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M18 28h3v1h-3z\" fill=\"#e3996a\" /><path d=\"M21 28h1v1h-1zM8 29h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M9 29h3v1h-3z\" fill=\"#a4532f\" /><path d=\"M12 29h1v1h-1zM17 29h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M18 29h3v1h-3z\" fill=\"#a4532f\" /><path d=\"M21 29h1v1h-1zM9 30h3v1h-3zM18 30h3v1h-3z\" fill=\"#2b120c\" /></g><g class=\"bob\"><g class=\"spin\"><path d=\"M13 6h5v1h-5zM10 7h3v1h-3z\" fill=\"#2b120c\" /><path d=\"M13 7h5v1h-5z\" fill=\"#c8281e\" /><path d=\"M18 7h3v1h-3zM9 8h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M10 8h4v1h-4z\" fill=\"#f2685a\" /><path d=\"M14 8h5v1h-5z\" fill=\"#c8281e\" /><path d=\"M19 8h2v1h-2z\" fill=\"#9c1a14\" /><path d=\"M21 8h1v1h-1zM8 9h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M9 9h1v1h-1z\" fill=\"#c8281e\" /><path d=\"M10 9h4v1h-4z\" fill=\"#f2685a\" /><path d=\"M14 9h5v1h-5z\" fill=\"#c8281e\" /><path d=\"M19 9h3v1h-3z\" fill=\"#9c1a14\" /><path d=\"M22 9h1v1h-1zM7 10h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M8 10h2v1h-2z\" fill=\"#c8281e\" /><path d=\"M10 10h2v1h-2z\" fill=\"#fff1dc\" /><path d=\"M12 10h1v1h-1z\" fill=\"#f2685a\" /><path d=\"M13 10h6v1h-6z\" fill=\"#c8281e\" /><path d=\"M19 10h4v1h-4z\" fill=\"#9c1a14\" /><path d=\"M23 10h1v1h-1zM6 11h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M7 11h12v1h-12z\" fill=\"#c8281e\" /><path d=\"M19 11h5v1h-5z\" fill=\"#9c1a14\" /><path d=\"M24 11h1v1h-1zM5 12h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M6 12h13v1h-13z\" fill=\"#c8281e\" /><path d=\"M19 12h6v1h-6z\" fill=\"#9c1a14\" /><path d=\"M25 12h1v1h-1zM5 13h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M6 13h1v1h-1z\" fill=\"#c8281e\" /><path d=\"M7 13h1v1h-1z\" fill=\"#c06a3e\" /><path d=\"M8 13h2v1h-2z\" fill=\"#e3996a\" /><path d=\"M10 13h2v1h-2z\" fill=\"#c8281e\" /><path d=\"M12 13h1v1h-1z\" fill=\"#e3996a\" /><path d=\"M13 13h2v1h-2z\" fill=\"#c06a3e\" /><path d=\"M15 13h2v1h-2z\" fill=\"#c8281e\" /><path d=\"M17 13h1v1h-1z\" fill=\"#8a4026\" /><path d=\"M18 13h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M20 13h2v1h-2z\" fill=\"#9c1a14\" /><path d=\"M22 13h3v1h-3z\" fill=\"#a4532f\" /><path d=\"M25 13h1v1h-1zM5 14h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M6 14h2v1h-2z\" fill=\"#c06a3e\" /><path d=\"M8 14h2v1h-2z\" fill=\"#e3996a\" /><path d=\"M10 14h1v1h-1z\" fill=\"#c8281e\" /><path d=\"M11 14h2v1h-2z\" fill=\"#e3996a\" /><path d=\"M13 14h12v1h-12z\" fill=\"#a4532f\" /><path d=\"M25 14h1v1h-1zM4 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M5 15h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M6 15h2v1h-2z\" fill=\"#c06a3e\" /><path d=\"M8 15h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M9 15h1v1h-1z\" fill=\"#e3996a\" /><path d=\"M10 15h1v1h-1z\" fill=\"#c8281e\" /><path d=\"M11 15h1v1h-1z\" fill=\"#e3996a\" /><path d=\"M12 15h14v1h-14z\" fill=\"#a4532f\" /><path d=\"M4 16h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M5 16h3v1h-3z\" fill=\"#a4532f\" /><path d=\"M8 16h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M10 16h1v1h-1z\" fill=\"#9c1a14\" /><path d=\"M11 16h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M12 16h2v1h-2z\" fill=\"#c06a3e\" /><path d=\"M14 16h6v1h-6z\" fill=\"#a4532f\" /><path d=\"M20 16h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M22 16h2v1h-2z\" fill=\"#c06a3e\" /><path d=\"M24 16h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M25 16h1v1h-1z\" fill=\"#8a4026\" /><path d=\"M4 17h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M5 17h3v1h-3z\" fill=\"#a4532f\" /><path d=\"M8 17h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M10 17h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M12 17h2v1h-2z\" fill=\"#c06a3e\" /><path d=\"M14 17h6v1h-6z\" fill=\"#a4532f\" /><path d=\"M20 17h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M22 17h1v1h-1z\" fill=\"#c06a3e\" /><path d=\"M23 17h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M24 17h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M4 18h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M5 18h1v1h-1z\" fill=\"#8a4026\" /><path d=\"M6 18h5v1h-5z\" fill=\"#a4532f\" /><path d=\"M11 18h1v1h-1z\" fill=\"#3f6a1e\" /><path d=\"M12 18h4v1h-4z\" fill=\"#a4532f\" /><path d=\"M16 18h2v1h-2z\" fill=\"#c06a3e\" /><path d=\"M18 18h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M20 18h1v1h-1z\" fill=\"#8a4026\" /><path d=\"M21 18h1v1h-1z\" fill=\"#6e2f1c\" /><path d=\"M22 18h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M24 18h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M4 19h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M5 19h1v1h-1z\" fill=\"#8a4026\" /><path d=\"M6 19h10v1h-10z\" fill=\"#a4532f\" /><path d=\"M16 19h2v1h-2z\" fill=\"#c06a3e\" /><path d=\"M18 19h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M20 19h2v1h-2z\" fill=\"#6e2f1c\" /><path d=\"M22 19h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M24 19h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M5 20h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M6 20h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M8 20h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M10 20h4v1h-4z\" fill=\"#a4532f\" /><path d=\"M14 20h4v1h-4z\" fill=\"#8a4026\" /><path d=\"M18 20h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M20 20h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M22 20h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M24 20h1v1h-1z\" fill=\"#6e2f1c\" /><path d=\"M5 21h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M6 21h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M8 21h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M10 21h4v1h-4z\" fill=\"#a4532f\" /><path d=\"M14 21h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M16 21h2v1h-2z\" fill=\"#6e2f1c\" /><path d=\"M18 21h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M20 21h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M22 21h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M24 21h1v1h-1z\" fill=\"#6e2f1c\" /><path d=\"M5 22h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M6 22h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M8 22h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M10 22h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M12 22h1v1h-1z\" fill=\"#3f6a1e\" /><path d=\"M13 22h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M15 22h1v1h-1z\" fill=\"#8a4026\" /><path d=\"M16 22h2v1h-2z\" fill=\"#6e2f1c\" /><path d=\"M18 22h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M20 22h2v1h-2z\" fill=\"#6e2f1c\" /><path d=\"M22 22h1v1h-1z\" fill=\"#8a4026\" /><path d=\"M23 22h2v1h-2z\" fill=\"#6e2f1c\" /><path d=\"M6 23h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M7 23h1v1h-1z\" fill=\"#8a4026\" /><path d=\"M8 23h1v1h-1z\" fill=\"#5c8a2e\" /><path d=\"M9 23h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M10 23h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M12 23h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M13 23h3v1h-3z\" fill=\"#8a4026\" /><path d=\"M16 23h2v1h-2z\" fill=\"#6e2f1c\" /><path d=\"M18 23h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M20 23h4v1h-4z\" fill=\"#6e2f1c\" /><path d=\"M7 24h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M8 24h3v1h-3z\" fill=\"#c06a3e\" /><path d=\"M11 24h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M12 24h6v1h-6z\" fill=\"#8a4026\" /><path d=\"M18 24h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M20 24h3v1h-3z\" fill=\"#6e2f1c\" /><path d=\"M8 25h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M9 25h1v1h-1z\" fill=\"#c06a3e\" /><path d=\"M10 25h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M12 25h4v1h-4z\" fill=\"#8a4026\" /><path d=\"M16 25h1v1h-1z\" fill=\"#5c8a2e\" /><path d=\"M17 25h3v1h-3z\" fill=\"#8a4026\" /><path d=\"M20 25h2v1h-2z\" fill=\"#6e2f1c\" /><path d=\"M22 25h1v1h-1zM9 26h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M10 26h2v1h-2z\" fill=\"#6e2f1c\" /><path d=\"M12 26h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M14 26h7v1h-7z\" fill=\"#6e2f1c\" /><path d=\"M21 26h1v1h-1zM10 27h3v1h-3z\" fill=\"#2b120c\" /><path d=\"M13 27h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M14 27h4v1h-4z\" fill=\"#6e2f1c\" /><path d=\"M18 27h3v1h-3zM13 28h5v1h-5z\" fill=\"#2b120c\" /><g class=\"f-default\"><path d=\"M16 14h2v1h-2zM21 14h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M15 15h4v1h-4zM20 15h4v1h-4zM15 16h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M16 16h1v1h-1z\" fill=\"#d6cbbd\" /><path d=\"M17 16h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M18 16h1v1h-1zM20 16h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M21 16h1v1h-1z\" fill=\"#d6cbbd\" /><path d=\"M22 16h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M23 16h1v1h-1zM16 17h2v1h-2zM21 17h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M14 18h2v1h-2zM22 18h2v1h-2z\" fill=\"#f08a8a\" /></g><g class=\"fm f-alert\"><path d=\"M16 11h2v1h-2zM21 11h2v1h-2zM15 12h1v1h-1zM18 12h1v1h-1zM20 12h1v1h-1zM23 12h1v1h-1zM16 13h2v1h-2zM21 13h2v1h-2zM15 14h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M16 14h2v1h-2z\" fill=\"#f8f3ea\" /><path d=\"M18 14h1v1h-1zM20 14h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M21 14h2v1h-2z\" fill=\"#f8f3ea\" /><path d=\"M23 14h1v1h-1zM15 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M16 15h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M17 15h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M18 15h1v1h-1zM20 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M21 15h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M22 15h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M23 15h1v1h-1zM15 16h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M16 16h1v1h-1z\" fill=\"#d6cbbd\" /><path d=\"M17 16h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M18 16h1v1h-1zM20 16h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M21 16h1v1h-1z\" fill=\"#d6cbbd\" /><path d=\"M22 16h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M23 16h1v1h-1zM16 17h2v1h-2zM21 17h2v1h-2z\" fill=\"#2b120c\" /></g><g class=\"fm f-hurt\"><path d=\"M9 14h1v1h-1z\" fill=\"#86d6f7\" /><path d=\"M8 15h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M9 15h2v1h-2z\" fill=\"#86d6f7\" /><path d=\"M15 15h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M16 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M17 15h1v1h-1zM21 15h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M22 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M23 15h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M8 16h3v1h-3z\" fill=\"#86d6f7\" /><path d=\"M15 16h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M16 16h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M17 16h1v1h-1zM21 16h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M22 16h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M23 16h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M9 17h1v1h-1z\" fill=\"#86d6f7\" /><path d=\"M15 17h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M16 17h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M17 17h1v1h-1zM21 17h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M22 17h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M23 17h1v1h-1z\" fill=\"#f8f3ea\" /></g><g class=\"fm f-sleep\"><path d=\"M16 14h2v1h-2zM21 14h2v1h-2zM15 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M16 15h2v1h-2z\" fill=\"#e3996a\" /><path d=\"M18 15h1v1h-1zM20 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M21 15h2v1h-2z\" fill=\"#e3996a\" /><path d=\"M23 15h1v1h-1zM15 16h4v1h-4zM20 16h4v1h-4zM16 17h2v1h-2zM21 17h2v1h-2z\" fill=\"#2b120c\" /></g><g class=\"fm f-busy\"><path d=\"M15 13h2v1h-2zM22 13h2v1h-2zM16 14h3v1h-3zM20 14h3v1h-3zM15 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M16 15h2v1h-2z\" fill=\"#e3996a\" /><path d=\"M18 15h1v1h-1zM20 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M21 15h2v1h-2z\" fill=\"#e3996a\" /><path d=\"M23 15h1v1h-1zM15 16h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M16 16h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M17 16h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M18 16h1v1h-1zM20 16h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M21 16h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M22 16h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M23 16h1v1h-1zM16 17h2v1h-2zM21 17h2v1h-2z\" fill=\"#2b120c\" /></g><g class=\"fm f-testing\"><path d=\"M15 13h3v1h-3zM20 13h3v1h-3z\" fill=\"#2b120c\" /><path d=\"M6 14h8v1h-8z\" fill=\"#5a6272\" /><path d=\"M14 14h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M15 14h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M16 14h2v1h-2z\" fill=\"#a9e3f2\" /><path d=\"M18 14h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M20 14h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M21 14h2v1h-2z\" fill=\"#a9e3f2\" /><path d=\"M23 14h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M24 14h1v1h-1z\" fill=\"#5a6272\" /><path d=\"M5 15h9v1h-9z\" fill=\"#3d4350\" /><path d=\"M14 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M15 15h2v1h-2z\" fill=\"#a9e3f2\" /><path d=\"M17 15h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M18 15h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M20 15h2v1h-2z\" fill=\"#a9e3f2\" /><path d=\"M22 15h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M23 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M24 15h2v1h-2z\" fill=\"#3d4350\" /><path d=\"M14 16h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M15 16h2v1h-2z\" fill=\"#a9e3f2\" /><path d=\"M17 16h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M18 16h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M20 16h2v1h-2z\" fill=\"#a9e3f2\" /><path d=\"M22 16h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M23 16h1v1h-1zM15 17h3v1h-3zM20 17h3v1h-3z\" fill=\"#2b120c\" /></g><g class=\"fm f-pass\"><path d=\"M15 7h3v1h-3zM20 7h3v1h-3z\" fill=\"#2b120c\" /><path d=\"M10 8h4v1h-4z\" fill=\"#5a6272\" /><path d=\"M14 8h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M15 8h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M16 8h2v1h-2z\" fill=\"#a9e3f2\" /><path d=\"M18 8h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M20 8h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M21 8h2v1h-2z\" fill=\"#a9e3f2\" /><path d=\"M23 8h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M9 9h5v1h-5z\" fill=\"#3d4350\" /><path d=\"M14 9h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M15 9h3v1h-3z\" fill=\"#a9e3f2\" /><path d=\"M18 9h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M20 9h3v1h-3z\" fill=\"#a9e3f2\" /><path d=\"M23 9h1v1h-1zM14 10h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M15 10h3v1h-3z\" fill=\"#a9e3f2\" /><path d=\"M18 10h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M20 10h3v1h-3z\" fill=\"#a9e3f2\" /><path d=\"M23 10h1v1h-1zM15 11h3v1h-3zM20 11h3v1h-3zM16 15h2v1h-2zM21 15h2v1h-2zM15 16h1v1h-1zM18 16h1v1h-1zM20 16h1v1h-1zM23 16h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M14 18h2v1h-2zM22 18h2v1h-2z\" fill=\"#f08a8a\" /></g><g class=\"fm f-fail\"><path d=\"M15 13h3v1h-3zM20 13h3v1h-3z\" fill=\"#2b120c\" /><path d=\"M6 14h8v1h-8z\" fill=\"#5a6272\" /><path d=\"M14 14h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M16 14h2v1h-2z\" fill=\"#a9e3f2\" /><path d=\"M18 14h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M20 14h2v1h-2z\" fill=\"#a9e3f2\" /><path d=\"M22 14h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M24 14h1v1h-1z\" fill=\"#5a6272\" /><path d=\"M5 15h9v1h-9z\" fill=\"#3d4350\" /><path d=\"M14 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M15 15h1v1h-1z\" fill=\"#a9e3f2\" /><path d=\"M16 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M17 15h1v1h-1z\" fill=\"#a9e3f2\" /><path d=\"M18 15h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M20 15h1v1h-1z\" fill=\"#a9e3f2\" /><path d=\"M21 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M22 15h1v1h-1z\" fill=\"#a9e3f2\" /><path d=\"M23 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M24 15h2v1h-2z\" fill=\"#3d4350\" /><path d=\"M14 16h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M16 16h2v1h-2z\" fill=\"#a9e3f2\" /><path d=\"M18 16h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M20 16h2v1h-2z\" fill=\"#a9e3f2\" /><path d=\"M22 16h2v1h-2zM15 17h3v1h-3zM20 17h3v1h-3z\" fill=\"#2b120c\" /></g><g class=\"fm f-deliver\"><path d=\"M16 14h2v1h-2zM21 14h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M15 15h4v1h-4zM20 15h4v1h-4zM15 16h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M16 16h1v1h-1z\" fill=\"#d6cbbd\" /><path d=\"M17 16h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M18 16h1v1h-1zM20 16h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M21 16h1v1h-1z\" fill=\"#d6cbbd\" /><path d=\"M22 16h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M23 16h1v1h-1zM16 17h2v1h-2zM21 17h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M14 18h2v1h-2zM22 18h2v1h-2z\" fill=\"#f08a8a\" /></g><g class=\"fm f-celebrate\"><path d=\"M16 15h2v1h-2zM21 15h2v1h-2zM15 16h1v1h-1zM18 16h1v1h-1zM20 16h1v1h-1zM23 16h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M14 18h2v1h-2zM22 18h2v1h-2z\" fill=\"#f08a8a\" /></g><g class=\"m-closed\"><path d=\"M26 15h1v1h-1zM26 16h1v1h-1zM26 17h1v1h-1zM26 18h1v1h-1zM26 19h1v1h-1zM25 20h1v1h-1zM25 21h1v1h-1zM25 22h1v1h-1zM24 23h1v1h-1zM23 24h1v1h-1z\" fill=\"#2b120c\" /><g class=\"mc-default\"><path d=\"M18 20h1v1h-1zM19 21h7v1h-7z\" fill=\"#2b120c\" /><path d=\"M23 22h1v1h-1z\" fill=\"#ffffff\" /></g><g class=\"mo mc-alert\"><path d=\"M22 20h1v1h-1zM21 21h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M22 21h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M23 21h1v1h-1zM21 22h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M22 22h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M23 22h1v1h-1zM22 23h1v1h-1z\" fill=\"#2b120c\" /></g><g class=\"mo mc-hurt\"><path d=\"M18 21h1v1h-1zM20 21h1v1h-1zM22 21h1v1h-1zM24 21h1v1h-1zM19 22h1v1h-1zM21 22h1v1h-1zM23 22h1v1h-1zM25 22h1v1h-1z\" fill=\"#2b120c\" /></g><g class=\"mo mc-sleep\"><path d=\"M21 21h3v1h-3z\" fill=\"#2b120c\" /><path d=\"M24 22h1v1h-1zM24 23h1v1h-1z\" fill=\"#86d6f7\" /></g><g class=\"mo mc-busy\"><path d=\"M18 20h1v1h-1zM19 21h7v1h-7zM22 22h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M23 22h2v1h-2z\" fill=\"#e05a6a\" /><path d=\"M25 22h1v1h-1zM23 23h2v1h-2z\" fill=\"#2b120c\" /></g><g class=\"mo mc-testing\"><path d=\"M19 21h1v1h-1zM21 21h1v1h-1zM23 21h1v1h-1zM20 22h1v1h-1zM22 22h1v1h-1z\" fill=\"#2b120c\" /></g><g class=\"mo mc-pass\"><path d=\"M18 21h8v1h-8zM18 22h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M19 22h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M20 22h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M21 22h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M22 22h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M23 22h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M24 22h2v1h-2z\" fill=\"#3a0d0a\" /><path d=\"M19 23h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M20 23h4v1h-4z\" fill=\"#e05a6a\" /><path d=\"M24 23h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M20 24h4v1h-4z\" fill=\"#2b120c\" /></g><g class=\"mo mc-fail\"><path d=\"M19 20h6v1h-6zM19 21h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M20 21h2v1h-2z\" fill=\"#ffffff\" /><path d=\"M22 21h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M23 21h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M24 21h1v1h-1zM19 22h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M20 22h2v1h-2z\" fill=\"#ffffff\" /><path d=\"M22 22h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M23 22h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M24 22h1v1h-1zM19 23h6v1h-6z\" fill=\"#2b120c\" /></g><g class=\"mo mc-deliver\"><path d=\"M23 18h9v1h-9zM22 19h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M24 19h1v1h-1z\" fill=\"#c9b99a\" /><path d=\"M25 19h5v1h-5z\" fill=\"#fbf6ea\" /><path d=\"M30 19h1v1h-1z\" fill=\"#c9b99a\" /><path d=\"M31 19h1v1h-1zM23 20h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M24 20h1v1h-1z\" fill=\"#fbf6ea\" /><path d=\"M25 20h1v1h-1z\" fill=\"#c9b99a\" /><path d=\"M26 20h3v1h-3z\" fill=\"#fbf6ea\" /><path d=\"M29 20h1v1h-1z\" fill=\"#c9b99a\" /><path d=\"M30 20h1v1h-1z\" fill=\"#fbf6ea\" /><path d=\"M31 20h1v1h-1zM23 21h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M24 21h2v1h-2z\" fill=\"#fbf6ea\" /><path d=\"M26 21h1v1h-1z\" fill=\"#c9b99a\" /><path d=\"M27 21h1v1h-1z\" fill=\"#d33a2c\" /><path d=\"M28 21h1v1h-1z\" fill=\"#c9b99a\" /><path d=\"M29 21h2v1h-2z\" fill=\"#fbf6ea\" /><path d=\"M31 21h1v1h-1zM22 22h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M24 22h7v1h-7z\" fill=\"#fbf6ea\" /><path d=\"M31 22h1v1h-1zM23 23h9v1h-9z\" fill=\"#2b120c\" /></g><g class=\"mo mc-celebrate\"><path d=\"M18 21h8v1h-8zM18 22h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M19 22h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M20 22h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M21 22h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M22 22h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M23 22h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M24 22h2v1h-2z\" fill=\"#3a0d0a\" /><path d=\"M19 23h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M20 23h4v1h-4z\" fill=\"#e05a6a\" /><path d=\"M24 23h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M20 24h4v1h-4z\" fill=\"#2b120c\" /></g></g><g class=\"m-open\"><path d=\"M25 13h1v1h-1zM23 14h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M25 14h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M22 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M23 15h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M24 15h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M25 15h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M20 16h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M22 16h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M23 16h3v1h-3z\" fill=\"#3a0d0a\" /><path d=\"M19 17h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M20 17h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M21 17h5v1h-5z\" fill=\"#3a0d0a\" /><path d=\"M17 18h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M19 18h7v1h-7z\" fill=\"#3a0d0a\" /><path d=\"M15 19h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M17 19h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M18 19h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M19 19h7v1h-7z\" fill=\"#3a0d0a\" /><path d=\"M14 20h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M15 20h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M16 20h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M17 20h8v1h-8z\" fill=\"#3a0d0a\" /><path d=\"M29 20h1v1h-1z\" fill=\"#f2c14e\" /><path d=\"M30 20h1v1h-1z\" fill=\"#c98e22\" /><path d=\"M15 21h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M17 21h8v1h-8z\" fill=\"#3a0d0a\" /><path d=\"M29 21h1v1h-1z\" fill=\"#c98e22\" /><path d=\"M30 21h1v1h-1z\" fill=\"#f2c14e\" /><path d=\"M17 22h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M18 22h7v1h-7z\" fill=\"#e05a6a\" /><path d=\"M31 22h1v1h-1z\" fill=\"#c98e22\" /><path d=\"M18 23h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M20 23h4v1h-4z\" fill=\"#e05a6a\" /><path d=\"M20 24h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M21 24h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M22 24h1v1h-1z\" fill=\"#e05a6a\" /><path d=\"M21 25h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M22 25h1v1h-1z\" fill=\"#e05a6a\" /></g></g><g class=\"xm x-alert\"><path d=\"M26 0h4v1h-4zM26 1h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M27 1h2v1h-2z\" fill=\"#ffd23f\" /><path d=\"M29 1h1v1h-1zM26 2h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M27 2h2v1h-2z\" fill=\"#ffd23f\" /><path d=\"M29 2h1v1h-1zM26 3h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M27 3h2v1h-2z\" fill=\"#ffd23f\" /><path d=\"M29 3h1v1h-1zM26 4h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M27 4h1v1h-1z\" fill=\"#ffd23f\" /><path d=\"M28 4h2v1h-2zM26 5h4v1h-4zM26 6h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M27 6h2v1h-2z\" fill=\"#ffd23f\" /><path d=\"M29 6h1v1h-1zM26 7h4v1h-4z\" fill=\"#2b120c\" /></g><g class=\"xm x-hurt\"><path d=\"M12 3h1v1h-1zM20 3h1v1h-1zM11 4h1v1h-1zM13 4h1v1h-1zM19 4h1v1h-1zM21 4h1v1h-1zM12 5h1v1h-1zM20 5h1v1h-1z\" fill=\"#ffe066\" /></g><g class=\"xm x-sleep\"><g class=\"z1\"><path d=\"M22 3h4v1h-4zM24 4h1v1h-1zM23 5h1v1h-1zM22 6h4v1h-4z\" fill=\"#4f9be8\" /></g><g class=\"z2\"><path d=\"M27 0h4v1h-4zM29 1h1v1h-1zM28 2h1v1h-1zM27 3h4v1h-4z\" fill=\"#4f9be8\" /></g></g><g class=\"xm x-testing\"><g class=\"sw\"><path d=\"M10 9h1v1h-1zM9 10h3v1h-3zM10 11h1v1h-1z\" fill=\"#86d6f7\" /></g></g><g class=\"xm x-pass\"><g class=\"s1\"><path d=\"M4 7h1v1h-1zM3 8h1v1h-1z\" fill=\"#ffe066\" /><path d=\"M4 8h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M5 8h1v1h-1zM4 9h1v1h-1zM28 13h1v1h-1zM27 14h1v1h-1z\" fill=\"#ffe066\" /><path d=\"M28 14h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M29 14h1v1h-1zM28 15h1v1h-1z\" fill=\"#ffe066\" /></g><g class=\"s2\"><path d=\"M27 3h1v1h-1zM26 4h1v1h-1z\" fill=\"#ffe066\" /><path d=\"M27 4h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M28 4h1v1h-1zM27 5h1v1h-1zM5 17h1v1h-1zM4 18h1v1h-1z\" fill=\"#ffe066\" /><path d=\"M5 18h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M6 18h1v1h-1zM5 19h1v1h-1z\" fill=\"#ffe066\" /></g></g><g class=\"xm x-fail\"><g class=\"sw\"><path d=\"M10 9h1v1h-1zM9 10h3v1h-3zM10 11h1v1h-1z\" fill=\"#86d6f7\" /></g><g class=\"sm\"><path d=\"M16 2h1v1h-1zM16 3h2v1h-2zM15 4h4v1h-4z\" fill=\"#b9b4ae\" /></g></g><g class=\"xm x-celebrate\"><path d=\"M2 3h1v1h-1z\" fill=\"#e0a91a\" /><path d=\"M2 4h1v1h-1z\" fill=\"#6b4a2b\" /><path d=\"M3 4h6v1h-6z\" fill=\"#ffd23f\" /><path d=\"M2 5h1v1h-1z\" fill=\"#6b4a2b\" /><path d=\"M3 5h5v1h-5z\" fill=\"#ffd23f\" /><path d=\"M2 6h1v1h-1z\" fill=\"#6b4a2b\" /><path d=\"M3 6h4v1h-4z\" fill=\"#ffd23f\" /><path d=\"M2 7h1v1h-1z\" fill=\"#6b4a2b\" /><path d=\"M3 7h3v1h-3z\" fill=\"#e0a91a\" /><path d=\"M2 8h1v1h-1z\" fill=\"#6b4a2b\" /><path d=\"M3 8h2v1h-2z\" fill=\"#e0a91a\" /><path d=\"M2 9h1v1h-1z\" fill=\"#6b4a2b\" /><path d=\"M3 9h1v1h-1z\" fill=\"#e0a91a\" /><path d=\"M2 10h1v1h-1zM2 11h1v1h-1zM2 12h1v1h-1zM2 13h1v1h-1zM2 14h1v1h-1zM2 15h1v1h-1zM2 16h1v1h-1zM2 17h1v1h-1zM2 18h1v1h-1zM2 19h1v1h-1zM2 20h1v1h-1zM2 21h1v1h-1zM2 22h1v1h-1zM2 23h1v1h-1zM2 24h1v1h-1zM2 25h1v1h-1zM2 26h1v1h-1zM2 27h1v1h-1zM2 28h1v1h-1z\" fill=\"#6b4a2b\" /><g class=\"c0\"><path d=\"M14 0h1v1h-1zM14 1h1v1h-1z\" fill=\"#ff5d5d\" /><path d=\"M19 1h1v1h-1z\" fill=\"#4fb3ff\" /><path d=\"M2 2h1v1h-1z\" fill=\"#ffd23f\" /><path d=\"M12 2h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M2 3h1v1h-1z\" fill=\"#ff5d5d\" /><path d=\"M30 4h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M30 5h1v1h-1zM30 6h1v1h-1z\" fill=\"#ff5d5d\" /><path d=\"M17 7h1v1h-1z\" fill=\"#ffd23f\" /><path d=\"M30 7h1v1h-1z\" fill=\"#5fd17a\" /><path d=\"M20 8h1v1h-1z\" fill=\"#ff8ad8\" /><path d=\"M30 8h1v1h-1zM0 9h1v1h-1z\" fill=\"#5fd17a\" /><path d=\"M5 9h1v1h-1z\" fill=\"#ff8ad8\" /><path d=\"M8 9h1v1h-1z\" fill=\"#4fb3ff\" /><path d=\"M28 9h1v1h-1z\" fill=\"#ffd23f\" /><path d=\"M0 10h1v1h-1z\" fill=\"#5fd17a\" /></g><g class=\"c1\"><path d=\"M14 2h1v1h-1zM14 3h1v1h-1z\" fill=\"#ff5d5d\" /><path d=\"M19 3h1v1h-1z\" fill=\"#4fb3ff\" /><path d=\"M2 4h1v1h-1z\" fill=\"#ffd23f\" /><path d=\"M12 4h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M2 5h1v1h-1z\" fill=\"#ff5d5d\" /><path d=\"M30 6h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M30 7h1v1h-1zM30 8h1v1h-1z\" fill=\"#ff5d5d\" /><path d=\"M17 9h1v1h-1z\" fill=\"#ffd23f\" /><path d=\"M30 9h1v1h-1z\" fill=\"#5fd17a\" /><path d=\"M20 10h1v1h-1z\" fill=\"#ff8ad8\" /><path d=\"M30 10h1v1h-1zM0 11h1v1h-1z\" fill=\"#5fd17a\" /><path d=\"M5 11h1v1h-1z\" fill=\"#ff8ad8\" /><path d=\"M8 11h1v1h-1z\" fill=\"#4fb3ff\" /><path d=\"M28 11h1v1h-1z\" fill=\"#ffd23f\" /><path d=\"M0 12h1v1h-1z\" fill=\"#5fd17a\" /></g><g class=\"c2\"><path d=\"M14 4h1v1h-1zM14 5h1v1h-1z\" fill=\"#ff5d5d\" /><path d=\"M19 5h1v1h-1z\" fill=\"#4fb3ff\" /><path d=\"M2 6h1v1h-1z\" fill=\"#ffd23f\" /><path d=\"M12 6h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M2 7h1v1h-1z\" fill=\"#ff5d5d\" /><path d=\"M30 8h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M30 9h1v1h-1zM30 10h1v1h-1z\" fill=\"#ff5d5d\" /><path d=\"M17 11h1v1h-1z\" fill=\"#ffd23f\" /><path d=\"M30 11h1v1h-1z\" fill=\"#5fd17a\" /><path d=\"M20 12h1v1h-1z\" fill=\"#ff8ad8\" /><path d=\"M30 12h1v1h-1zM0 13h1v1h-1z\" fill=\"#5fd17a\" /><path d=\"M5 13h1v1h-1z\" fill=\"#ff8ad8\" /><path d=\"M8 13h1v1h-1z\" fill=\"#4fb3ff\" /><path d=\"M28 13h1v1h-1z\" fill=\"#ffd23f\" /><path d=\"M0 14h1v1h-1z\" fill=\"#5fd17a\" /></g></g></g></g><g class=\"v v-stuffed\"><g class=\"feet\"><path d=\"M9 27h3v1h-3zM18 27h4v1h-4zM8 28h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M9 28h3v1h-3z\" fill=\"#a4532f\" /><path d=\"M12 28h1v1h-1zM17 28h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M18 28h4v1h-4z\" fill=\"#a4532f\" /><path d=\"M22 28h1v1h-1zM8 29h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M9 29h3v1h-3z\" fill=\"#a4532f\" /><path d=\"M12 29h1v1h-1zM18 29h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M19 29h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M21 29h1v1h-1zM9 30h3v1h-3zM19 30h2v1h-2z\" fill=\"#2b120c\" /></g><g class=\"bob\"><g class=\"spin\"><path d=\"M15 4h1v1h-1zM11 5h4v1h-4z\" fill=\"#2b120c\" /><path d=\"M15 5h1v1h-1z\" fill=\"#c8281e\" /><path d=\"M16 5h4v1h-4zM9 6h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M11 6h3v1h-3z\" fill=\"#f2685a\" /><path d=\"M14 6h6v1h-6z\" fill=\"#c8281e\" /><path d=\"M20 6h2v1h-2zM8 7h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M9 7h1v1h-1z\" fill=\"#c8281e\" /><path d=\"M10 7h4v1h-4z\" fill=\"#f2685a\" /><path d=\"M14 7h6v1h-6z\" fill=\"#c8281e\" /><path d=\"M20 7h2v1h-2z\" fill=\"#9c1a14\" /><path d=\"M22 7h1v1h-1zM7 8h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M8 8h2v1h-2z\" fill=\"#c8281e\" /><path d=\"M10 8h4v1h-4z\" fill=\"#f2685a\" /><path d=\"M14 8h6v1h-6z\" fill=\"#c8281e\" /><path d=\"M20 8h3v1h-3z\" fill=\"#9c1a14\" /><path d=\"M23 8h1v1h-1zM6 9h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M7 9h3v1h-3z\" fill=\"#c8281e\" /><path d=\"M10 9h2v1h-2z\" fill=\"#fff1dc\" /><path d=\"M12 9h8v1h-8z\" fill=\"#c8281e\" /><path d=\"M20 9h4v1h-4z\" fill=\"#9c1a14\" /><path d=\"M24 9h1v1h-1zM5 10h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M6 10h14v1h-14z\" fill=\"#c8281e\" /><path d=\"M20 10h5v1h-5z\" fill=\"#9c1a14\" /><path d=\"M25 10h1v1h-1zM5 11h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M6 11h1v1h-1z\" fill=\"#c8281e\" /><path d=\"M7 11h1v1h-1z\" fill=\"#3f6a1e\" /><path d=\"M8 11h2v1h-2z\" fill=\"#e3996a\" /><path d=\"M10 11h2v1h-2z\" fill=\"#c8281e\" /><path d=\"M12 11h3v1h-3z\" fill=\"#a4532f\" /><path d=\"M15 11h2v1h-2z\" fill=\"#c8281e\" /><path d=\"M17 11h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M18 11h2v1h-2z\" fill=\"#c06a3e\" /><path d=\"M20 11h2v1h-2z\" fill=\"#9c1a14\" /><path d=\"M22 11h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M24 11h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M25 11h1v1h-1zM4 12h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M5 12h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M6 12h2v1h-2z\" fill=\"#c06a3e\" /><path d=\"M8 12h2v1h-2z\" fill=\"#e3996a\" /><path d=\"M10 12h1v1h-1z\" fill=\"#c8281e\" /><path d=\"M11 12h1v1h-1z\" fill=\"#e3996a\" /><path d=\"M12 12h1v1h-1z\" fill=\"#5c8a2e\" /><path d=\"M13 12h3v1h-3z\" fill=\"#c06a3e\" /><path d=\"M16 12h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M18 12h8v1h-8z\" fill=\"#a4532f\" /><path d=\"M26 12h1v1h-1zM4 13h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M5 13h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M6 13h2v1h-2z\" fill=\"#c06a3e\" /><path d=\"M8 13h2v1h-2z\" fill=\"#e3996a\" /><path d=\"M10 13h1v1h-1z\" fill=\"#c8281e\" /><path d=\"M11 13h1v1h-1z\" fill=\"#e3996a\" /><path d=\"M12 13h4v1h-4z\" fill=\"#c06a3e\" /><path d=\"M16 13h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M18 13h8v1h-8z\" fill=\"#a4532f\" /><path d=\"M26 13h1v1h-1zM4 14h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M5 14h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M6 14h2v1h-2z\" fill=\"#c06a3e\" /><path d=\"M8 14h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M9 14h1v1h-1z\" fill=\"#e3996a\" /><path d=\"M10 14h1v1h-1z\" fill=\"#9c1a14\" /><path d=\"M11 14h15v1h-15z\" fill=\"#a4532f\" /><path d=\"M4 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M5 15h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M6 15h2v1h-2z\" fill=\"#c06a3e\" /><path d=\"M8 15h17v1h-17z\" fill=\"#a4532f\" /><path d=\"M25 15h1v1h-1z\" fill=\"#8a4026\" /><path d=\"M3 16h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M4 16h4v1h-4z\" fill=\"#a4532f\" /><path d=\"M8 16h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M10 16h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M12 16h2v1h-2z\" fill=\"#c06a3e\" /><path d=\"M14 16h6v1h-6z\" fill=\"#a4532f\" /><path d=\"M20 16h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M22 16h2v1h-2z\" fill=\"#c06a3e\" /><path d=\"M24 16h3v1h-3z\" fill=\"#8a4026\" /><path d=\"M4 17h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M5 17h3v1h-3z\" fill=\"#a4532f\" /><path d=\"M8 17h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M10 17h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M12 17h2v1h-2z\" fill=\"#c06a3e\" /><path d=\"M14 17h6v1h-6z\" fill=\"#a4532f\" /><path d=\"M20 17h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M22 17h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M24 17h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M4 18h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M5 18h1v1h-1z\" fill=\"#8a4026\" /><path d=\"M6 18h5v1h-5z\" fill=\"#a4532f\" /><path d=\"M11 18h1v1h-1z\" fill=\"#3f6a1e\" /><path d=\"M12 18h4v1h-4z\" fill=\"#a4532f\" /><path d=\"M16 18h2v1h-2z\" fill=\"#c06a3e\" /><path d=\"M18 18h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M20 18h2v1h-2z\" fill=\"#6e2f1c\" /><path d=\"M22 18h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M24 18h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M4 19h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M5 19h1v1h-1z\" fill=\"#8a4026\" /><path d=\"M6 19h10v1h-10z\" fill=\"#a4532f\" /><path d=\"M16 19h2v1h-2z\" fill=\"#c06a3e\" /><path d=\"M18 19h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M19 19h1v1h-1z\" fill=\"#8a4026\" /><path d=\"M20 19h2v1h-2z\" fill=\"#6e2f1c\" /><path d=\"M22 19h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M24 19h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M4 20h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M5 20h1v1h-1z\" fill=\"#3f6a1e\" /><path d=\"M6 20h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M8 20h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M10 20h4v1h-4z\" fill=\"#a4532f\" /><path d=\"M14 20h3v1h-3z\" fill=\"#8a4026\" /><path d=\"M17 20h1v1h-1z\" fill=\"#6e2f1c\" /><path d=\"M18 20h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M20 20h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M22 20h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M24 20h2v1h-2z\" fill=\"#6e2f1c\" /><path d=\"M5 21h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M6 21h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M8 21h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M10 21h4v1h-4z\" fill=\"#a4532f\" /><path d=\"M14 21h1v1h-1z\" fill=\"#8a4026\" /><path d=\"M15 21h3v1h-3z\" fill=\"#6e2f1c\" /><path d=\"M18 21h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M20 21h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M22 21h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M24 21h1v1h-1z\" fill=\"#6e2f1c\" /><path d=\"M5 22h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M6 22h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M8 22h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M10 22h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M12 22h1v1h-1z\" fill=\"#3f6a1e\" /><path d=\"M13 22h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M14 22h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M16 22h2v1h-2z\" fill=\"#6e2f1c\" /><path d=\"M18 22h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M20 22h2v1h-2z\" fill=\"#6e2f1c\" /><path d=\"M22 22h1v1h-1z\" fill=\"#8a4026\" /><path d=\"M23 22h2v1h-2z\" fill=\"#6e2f1c\" /><path d=\"M6 23h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M7 23h1v1h-1z\" fill=\"#8a4026\" /><path d=\"M8 23h1v1h-1z\" fill=\"#5c8a2e\" /><path d=\"M9 23h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M10 23h6v1h-6z\" fill=\"#8a4026\" /><path d=\"M16 23h2v1h-2z\" fill=\"#6e2f1c\" /><path d=\"M18 23h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M20 23h4v1h-4z\" fill=\"#6e2f1c\" /><path d=\"M7 24h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M8 24h2v1h-2z\" fill=\"#c06a3e\" /><path d=\"M10 24h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M12 24h6v1h-6z\" fill=\"#8a4026\" /><path d=\"M18 24h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M20 24h3v1h-3z\" fill=\"#6e2f1c\" /><path d=\"M23 24h1v1h-1zM8 25h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M9 25h3v1h-3z\" fill=\"#a4532f\" /><path d=\"M12 25h8v1h-8z\" fill=\"#8a4026\" /><path d=\"M20 25h2v1h-2z\" fill=\"#6e2f1c\" /><path d=\"M22 25h1v1h-1zM9 26h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M11 26h1v1h-1z\" fill=\"#6e2f1c\" /><path d=\"M12 26h2v1h-2z\" fill=\"#a4532f\" /><path d=\"M14 26h6v1h-6z\" fill=\"#6e2f1c\" /><path d=\"M20 26h2v1h-2zM11 27h4v1h-4z\" fill=\"#2b120c\" /><path d=\"M15 27h1v1h-1z\" fill=\"#6e2f1c\" /><path d=\"M16 27h4v1h-4zM15 28h1v1h-1z\" fill=\"#2b120c\" /><g class=\"f-default\"><path d=\"M16 14h2v1h-2zM21 14h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M8 15h1v1h-1z\" fill=\"#86d6f7\" /><path d=\"M15 15h1v1h-1zM18 15h1v1h-1zM20 15h1v1h-1zM23 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M7 16h3v1h-3zM8 17h1v1h-1z\" fill=\"#86d6f7\" /><path d=\"M14 17h2v1h-2zM23 17h2v1h-2z\" fill=\"#f08a8a\" /></g><g class=\"fm f-alert\"><path d=\"M16 10h2v1h-2zM21 10h2v1h-2zM15 11h1v1h-1zM18 11h1v1h-1zM20 11h1v1h-1zM23 11h1v1h-1zM16 12h2v1h-2zM21 12h2v1h-2zM15 13h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M16 13h2v1h-2z\" fill=\"#f8f3ea\" /><path d=\"M18 13h1v1h-1zM20 13h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M21 13h2v1h-2z\" fill=\"#f8f3ea\" /><path d=\"M23 13h1v1h-1zM15 14h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M16 14h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M17 14h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M18 14h1v1h-1zM20 14h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M21 14h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M22 14h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M23 14h1v1h-1zM15 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M16 15h1v1h-1z\" fill=\"#d6cbbd\" /><path d=\"M17 15h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M18 15h1v1h-1zM20 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M21 15h1v1h-1z\" fill=\"#d6cbbd\" /><path d=\"M22 15h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M23 15h1v1h-1zM16 16h2v1h-2zM21 16h2v1h-2z\" fill=\"#2b120c\" /></g><g class=\"fm f-hurt\"><path d=\"M8 13h1v1h-1z\" fill=\"#86d6f7\" /><path d=\"M7 14h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M8 14h2v1h-2z\" fill=\"#86d6f7\" /><path d=\"M15 14h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M16 14h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M17 14h1v1h-1zM21 14h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M22 14h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M23 14h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M7 15h3v1h-3z\" fill=\"#86d6f7\" /><path d=\"M15 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M16 15h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M17 15h1v1h-1zM21 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M22 15h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M23 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M8 16h1v1h-1z\" fill=\"#86d6f7\" /><path d=\"M15 16h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M16 16h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M17 16h1v1h-1zM21 16h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M22 16h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M23 16h1v1h-1z\" fill=\"#f8f3ea\" /></g><g class=\"fm f-sleep\"><path d=\"M16 13h2v1h-2zM21 13h2v1h-2zM15 14h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M16 14h2v1h-2z\" fill=\"#e3996a\" /><path d=\"M18 14h1v1h-1zM20 14h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M21 14h2v1h-2z\" fill=\"#e3996a\" /><path d=\"M23 14h1v1h-1zM15 15h4v1h-4zM20 15h4v1h-4zM16 16h2v1h-2zM21 16h2v1h-2z\" fill=\"#2b120c\" /></g><g class=\"fm f-busy\"><path d=\"M15 12h2v1h-2zM22 12h2v1h-2zM16 13h3v1h-3zM20 13h3v1h-3zM15 14h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M16 14h2v1h-2z\" fill=\"#e3996a\" /><path d=\"M18 14h1v1h-1zM20 14h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M21 14h2v1h-2z\" fill=\"#e3996a\" /><path d=\"M23 14h1v1h-1zM15 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M16 15h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M17 15h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M18 15h1v1h-1zM20 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M21 15h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M22 15h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M23 15h1v1h-1zM16 16h2v1h-2zM21 16h2v1h-2z\" fill=\"#2b120c\" /></g><g class=\"fm f-testing\"><path d=\"M15 12h3v1h-3zM20 12h3v1h-3z\" fill=\"#2b120c\" /><path d=\"M5 13h9v1h-9z\" fill=\"#5a6272\" /><path d=\"M14 13h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M15 13h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M16 13h2v1h-2z\" fill=\"#a9e3f2\" /><path d=\"M18 13h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M20 13h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M21 13h2v1h-2z\" fill=\"#a9e3f2\" /><path d=\"M23 13h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M24 13h2v1h-2z\" fill=\"#5a6272\" /><path d=\"M5 14h9v1h-9z\" fill=\"#3d4350\" /><path d=\"M14 14h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M15 14h2v1h-2z\" fill=\"#a9e3f2\" /><path d=\"M17 14h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M18 14h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M20 14h2v1h-2z\" fill=\"#a9e3f2\" /><path d=\"M22 14h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M23 14h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M24 14h2v1h-2z\" fill=\"#3d4350\" /><path d=\"M14 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M15 15h2v1h-2z\" fill=\"#a9e3f2\" /><path d=\"M17 15h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M18 15h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M20 15h2v1h-2z\" fill=\"#a9e3f2\" /><path d=\"M22 15h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M23 15h1v1h-1zM15 16h3v1h-3zM20 16h3v1h-3z\" fill=\"#2b120c\" /></g><g class=\"fm f-pass\"><path d=\"M15 6h3v1h-3zM20 6h3v1h-3z\" fill=\"#2b120c\" /><path d=\"M9 7h5v1h-5z\" fill=\"#5a6272\" /><path d=\"M14 7h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M15 7h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M16 7h2v1h-2z\" fill=\"#a9e3f2\" /><path d=\"M18 7h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M20 7h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M21 7h2v1h-2z\" fill=\"#a9e3f2\" /><path d=\"M23 7h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M8 8h6v1h-6z\" fill=\"#3d4350\" /><path d=\"M14 8h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M15 8h3v1h-3z\" fill=\"#a9e3f2\" /><path d=\"M18 8h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M20 8h3v1h-3z\" fill=\"#a9e3f2\" /><path d=\"M23 8h1v1h-1zM14 9h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M15 9h3v1h-3z\" fill=\"#a9e3f2\" /><path d=\"M18 9h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M20 9h3v1h-3z\" fill=\"#a9e3f2\" /><path d=\"M23 9h1v1h-1zM15 10h3v1h-3zM20 10h3v1h-3zM16 14h2v1h-2zM21 14h2v1h-2zM15 15h1v1h-1zM18 15h1v1h-1zM20 15h1v1h-1zM23 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M14 17h2v1h-2zM23 17h2v1h-2z\" fill=\"#f08a8a\" /></g><g class=\"fm f-fail\"><path d=\"M15 12h3v1h-3zM20 12h3v1h-3z\" fill=\"#2b120c\" /><path d=\"M5 13h9v1h-9z\" fill=\"#5a6272\" /><path d=\"M14 13h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M16 13h2v1h-2z\" fill=\"#a9e3f2\" /><path d=\"M18 13h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M20 13h2v1h-2z\" fill=\"#a9e3f2\" /><path d=\"M22 13h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M24 13h2v1h-2z\" fill=\"#5a6272\" /><path d=\"M5 14h9v1h-9z\" fill=\"#3d4350\" /><path d=\"M14 14h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M15 14h1v1h-1z\" fill=\"#a9e3f2\" /><path d=\"M16 14h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M17 14h1v1h-1z\" fill=\"#a9e3f2\" /><path d=\"M18 14h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M20 14h1v1h-1z\" fill=\"#a9e3f2\" /><path d=\"M21 14h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M22 14h1v1h-1z\" fill=\"#a9e3f2\" /><path d=\"M23 14h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M24 14h2v1h-2z\" fill=\"#3d4350\" /><path d=\"M14 15h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M16 15h2v1h-2z\" fill=\"#a9e3f2\" /><path d=\"M18 15h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M20 15h2v1h-2z\" fill=\"#a9e3f2\" /><path d=\"M22 15h2v1h-2zM15 16h3v1h-3zM20 16h3v1h-3z\" fill=\"#2b120c\" /></g><g class=\"fm f-deliver\"><path d=\"M16 14h2v1h-2zM21 14h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M8 15h1v1h-1z\" fill=\"#86d6f7\" /><path d=\"M15 15h1v1h-1zM18 15h1v1h-1zM20 15h1v1h-1zM23 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M7 16h3v1h-3zM8 17h1v1h-1z\" fill=\"#86d6f7\" /><path d=\"M14 17h2v1h-2zM23 17h2v1h-2z\" fill=\"#f08a8a\" /></g><g class=\"fm f-celebrate\"><path d=\"M16 14h2v1h-2zM21 14h2v1h-2zM15 15h1v1h-1zM18 15h1v1h-1zM20 15h1v1h-1zM23 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M14 17h2v1h-2zM23 17h2v1h-2z\" fill=\"#f08a8a\" /></g><g class=\"m-closed\"><path d=\"M26 14h1v1h-1zM26 15h1v1h-1zM27 16h1v1h-1zM26 17h1v1h-1zM26 18h1v1h-1zM26 19h1v1h-1zM26 20h1v1h-1zM25 21h1v1h-1zM25 22h1v1h-1zM24 23h1v1h-1z\" fill=\"#2b120c\" /><g class=\"mc-default\"><path d=\"M18 19h1v1h-1zM19 20h8v1h-8z\" fill=\"#2b120c\" /><path d=\"M24 21h1v1h-1z\" fill=\"#ffffff\" /></g><g class=\"mo mc-alert\"><path d=\"M22 19h1v1h-1zM21 20h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M22 20h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M23 20h1v1h-1zM21 21h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M22 21h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M23 21h1v1h-1zM22 22h1v1h-1z\" fill=\"#2b120c\" /></g><g class=\"mo mc-hurt\"><path d=\"M18 20h1v1h-1zM20 20h1v1h-1zM22 20h1v1h-1zM24 20h1v1h-1zM26 20h1v1h-1zM19 21h1v1h-1zM21 21h1v1h-1zM23 21h1v1h-1zM25 21h1v1h-1z\" fill=\"#2b120c\" /></g><g class=\"mo mc-sleep\"><path d=\"M21 20h3v1h-3z\" fill=\"#2b120c\" /><path d=\"M24 21h1v1h-1zM24 22h1v1h-1z\" fill=\"#86d6f7\" /></g><g class=\"mo mc-busy\"><path d=\"M18 19h1v1h-1zM19 20h8v1h-8zM23 21h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M24 21h2v1h-2z\" fill=\"#e05a6a\" /><path d=\"M26 21h1v1h-1zM24 22h2v1h-2z\" fill=\"#2b120c\" /></g><g class=\"mo mc-testing\"><path d=\"M20 20h1v1h-1zM22 20h1v1h-1zM24 20h1v1h-1zM21 21h1v1h-1zM23 21h1v1h-1z\" fill=\"#2b120c\" /></g><g class=\"mo mc-pass\"><path d=\"M18 20h9v1h-9zM18 21h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M19 21h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M20 21h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M21 21h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M22 21h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M23 21h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M24 21h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M25 21h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M19 22h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M20 22h5v1h-5z\" fill=\"#e05a6a\" /><path d=\"M25 22h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M20 23h5v1h-5z\" fill=\"#2b120c\" /></g><g class=\"mo mc-fail\"><path d=\"M19 19h6v1h-6zM19 20h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M20 20h2v1h-2z\" fill=\"#ffffff\" /><path d=\"M22 20h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M23 20h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M24 20h1v1h-1zM19 21h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M20 21h2v1h-2z\" fill=\"#ffffff\" /><path d=\"M22 21h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M23 21h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M24 21h1v1h-1zM19 22h6v1h-6z\" fill=\"#2b120c\" /></g><g class=\"mo mc-deliver\"><path d=\"M24 17h8v1h-8zM23 18h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M25 18h1v1h-1z\" fill=\"#c9b99a\" /><path d=\"M26 18h5v1h-5z\" fill=\"#fbf6ea\" /><path d=\"M31 18h1v1h-1z\" fill=\"#c9b99a\" /><path d=\"M24 19h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M25 19h1v1h-1z\" fill=\"#fbf6ea\" /><path d=\"M26 19h1v1h-1z\" fill=\"#c9b99a\" /><path d=\"M27 19h3v1h-3z\" fill=\"#fbf6ea\" /><path d=\"M30 19h1v1h-1z\" fill=\"#c9b99a\" /><path d=\"M31 19h1v1h-1z\" fill=\"#fbf6ea\" /><path d=\"M24 20h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M25 20h2v1h-2z\" fill=\"#fbf6ea\" /><path d=\"M27 20h1v1h-1z\" fill=\"#c9b99a\" /><path d=\"M28 20h1v1h-1z\" fill=\"#d33a2c\" /><path d=\"M29 20h1v1h-1z\" fill=\"#c9b99a\" /><path d=\"M30 20h2v1h-2z\" fill=\"#fbf6ea\" /><path d=\"M23 21h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M25 21h7v1h-7z\" fill=\"#fbf6ea\" /><path d=\"M24 22h8v1h-8z\" fill=\"#2b120c\" /></g><g class=\"mo mc-celebrate\"><path d=\"M18 20h9v1h-9zM18 21h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M19 21h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M20 21h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M21 21h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M22 21h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M23 21h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M24 21h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M25 21h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M19 22h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M20 22h5v1h-5z\" fill=\"#e05a6a\" /><path d=\"M25 22h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M20 23h5v1h-5z\" fill=\"#2b120c\" /></g></g><g class=\"m-open\"><path d=\"M25 12h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M26 12h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M24 13h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M25 13h2v1h-2z\" fill=\"#3a0d0a\" /><path d=\"M22 14h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M24 14h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M25 14h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M21 15h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M22 15h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M23 15h3v1h-3z\" fill=\"#3a0d0a\" /><path d=\"M19 16h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M21 16h6v1h-6z\" fill=\"#3a0d0a\" /><path d=\"M17 17h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M19 17h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M20 17h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M21 17h5v1h-5z\" fill=\"#3a0d0a\" /><path d=\"M16 18h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M17 18h1v1h-1z\" fill=\"#3a0d0a\" /><path d=\"M18 18h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M19 18h7v1h-7z\" fill=\"#3a0d0a\" /><path d=\"M14 19h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M16 19h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M17 19h9v1h-9z\" fill=\"#3a0d0a\" /><path d=\"M30 19h1v1h-1z\" fill=\"#f2c14e\" /><path d=\"M31 19h1v1h-1z\" fill=\"#c98e22\" /><path d=\"M15 20h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M16 20h10v1h-10z\" fill=\"#3a0d0a\" /><path d=\"M30 20h1v1h-1z\" fill=\"#c98e22\" /><path d=\"M31 20h1v1h-1z\" fill=\"#f2c14e\" /><path d=\"M16 21h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M18 21h7v1h-7z\" fill=\"#e05a6a\" /><path d=\"M18 22h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M19 22h6v1h-6z\" fill=\"#e05a6a\" /><path d=\"M19 23h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M21 23h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M22 23h2v1h-2z\" fill=\"#e05a6a\" /><path d=\"M21 24h2v1h-2z\" fill=\"#2b120c\" /><path d=\"M23 24h1v1h-1z\" fill=\"#e05a6a\" /></g></g><g class=\"xm x-alert\"><path d=\"M27 0h4v1h-4zM27 1h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M28 1h2v1h-2z\" fill=\"#ffd23f\" /><path d=\"M30 1h1v1h-1zM27 2h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M28 2h2v1h-2z\" fill=\"#ffd23f\" /><path d=\"M30 2h1v1h-1zM27 3h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M28 3h2v1h-2z\" fill=\"#ffd23f\" /><path d=\"M30 3h1v1h-1zM27 4h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M28 4h1v1h-1z\" fill=\"#ffd23f\" /><path d=\"M29 4h2v1h-2zM27 5h4v1h-4zM27 6h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M28 6h2v1h-2z\" fill=\"#ffd23f\" /><path d=\"M30 6h1v1h-1zM27 7h4v1h-4z\" fill=\"#2b120c\" /></g><g class=\"xm x-hurt\"><path d=\"M12 1h1v1h-1zM20 1h1v1h-1zM11 2h1v1h-1zM13 2h1v1h-1zM19 2h1v1h-1zM21 2h1v1h-1zM12 3h1v1h-1zM20 3h1v1h-1z\" fill=\"#ffe066\" /></g><g class=\"xm x-sleep\"><g class=\"z1\"><path d=\"M22 3h4v1h-4zM24 4h1v1h-1zM23 5h1v1h-1zM22 6h4v1h-4z\" fill=\"#4f9be8\" /></g><g class=\"z2\"><path d=\"M27 0h4v1h-4zM29 1h1v1h-1zM28 2h1v1h-1zM27 3h4v1h-4z\" fill=\"#4f9be8\" /></g></g><g class=\"xm x-testing\"><g class=\"sw\"><path d=\"M10 8h1v1h-1zM9 9h3v1h-3zM10 10h1v1h-1z\" fill=\"#86d6f7\" /></g></g><g class=\"xm x-pass\"><g class=\"s1\"><path d=\"M4 7h1v1h-1zM3 8h1v1h-1z\" fill=\"#ffe066\" /><path d=\"M4 8h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M5 8h1v1h-1zM4 9h1v1h-1zM28 13h1v1h-1zM27 14h1v1h-1z\" fill=\"#ffe066\" /><path d=\"M28 14h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M29 14h1v1h-1zM28 15h1v1h-1z\" fill=\"#ffe066\" /></g><g class=\"s2\"><path d=\"M27 3h1v1h-1zM26 4h1v1h-1z\" fill=\"#ffe066\" /><path d=\"M27 4h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M28 4h1v1h-1zM27 5h1v1h-1zM5 17h1v1h-1zM4 18h1v1h-1z\" fill=\"#ffe066\" /><path d=\"M5 18h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M6 18h1v1h-1zM5 19h1v1h-1z\" fill=\"#ffe066\" /></g></g><g class=\"xm x-fail\"><g class=\"sw\"><path d=\"M10 8h1v1h-1zM9 9h3v1h-3zM10 10h1v1h-1z\" fill=\"#86d6f7\" /></g><g class=\"sm\"><path d=\"M16 0h1v1h-1zM16 1h2v1h-2zM15 2h4v1h-4z\" fill=\"#b9b4ae\" /></g></g><g class=\"xm x-celebrate\"><path d=\"M2 2h1v1h-1z\" fill=\"#e0a91a\" /><path d=\"M2 3h1v1h-1z\" fill=\"#6b4a2b\" /><path d=\"M3 3h6v1h-6z\" fill=\"#ffd23f\" /><path d=\"M2 4h1v1h-1z\" fill=\"#6b4a2b\" /><path d=\"M3 4h5v1h-5z\" fill=\"#ffd23f\" /><path d=\"M2 5h1v1h-1z\" fill=\"#6b4a2b\" /><path d=\"M3 5h4v1h-4z\" fill=\"#ffd23f\" /><path d=\"M2 6h1v1h-1z\" fill=\"#6b4a2b\" /><path d=\"M3 6h3v1h-3z\" fill=\"#e0a91a\" /><path d=\"M2 7h1v1h-1z\" fill=\"#6b4a2b\" /><path d=\"M3 7h2v1h-2z\" fill=\"#e0a91a\" /><path d=\"M2 8h1v1h-1z\" fill=\"#6b4a2b\" /><path d=\"M3 8h1v1h-1z\" fill=\"#e0a91a\" /><path d=\"M2 9h1v1h-1zM2 10h1v1h-1zM2 11h1v1h-1zM2 12h1v1h-1zM2 13h1v1h-1zM2 14h1v1h-1zM2 15h1v1h-1zM2 16h1v1h-1zM2 17h1v1h-1zM2 18h1v1h-1zM2 19h1v1h-1zM2 20h1v1h-1zM2 21h1v1h-1zM2 22h1v1h-1zM2 23h1v1h-1zM2 24h1v1h-1zM2 25h1v1h-1zM2 26h1v1h-1zM2 27h1v1h-1zM2 28h1v1h-1z\" fill=\"#6b4a2b\" /><g class=\"c0\"><path d=\"M14 0h1v1h-1zM14 1h1v1h-1z\" fill=\"#ff5d5d\" /><path d=\"M19 1h1v1h-1z\" fill=\"#4fb3ff\" /><path d=\"M2 2h1v1h-1z\" fill=\"#ffd23f\" /><path d=\"M12 2h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M2 3h1v1h-1z\" fill=\"#ff5d5d\" /><path d=\"M30 4h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M30 5h1v1h-1zM30 6h1v1h-1z\" fill=\"#ff5d5d\" /><path d=\"M17 7h1v1h-1z\" fill=\"#ffd23f\" /><path d=\"M30 7h1v1h-1z\" fill=\"#5fd17a\" /><path d=\"M20 8h1v1h-1z\" fill=\"#ff8ad8\" /><path d=\"M30 8h1v1h-1zM0 9h1v1h-1z\" fill=\"#5fd17a\" /><path d=\"M5 9h1v1h-1z\" fill=\"#ff8ad8\" /><path d=\"M8 9h1v1h-1z\" fill=\"#4fb3ff\" /><path d=\"M28 9h1v1h-1z\" fill=\"#ffd23f\" /><path d=\"M0 10h1v1h-1z\" fill=\"#5fd17a\" /></g><g class=\"c1\"><path d=\"M14 2h1v1h-1zM14 3h1v1h-1z\" fill=\"#ff5d5d\" /><path d=\"M19 3h1v1h-1z\" fill=\"#4fb3ff\" /><path d=\"M2 4h1v1h-1z\" fill=\"#ffd23f\" /><path d=\"M12 4h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M2 5h1v1h-1z\" fill=\"#ff5d5d\" /><path d=\"M30 6h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M30 7h1v1h-1zM30 8h1v1h-1z\" fill=\"#ff5d5d\" /><path d=\"M17 9h1v1h-1z\" fill=\"#ffd23f\" /><path d=\"M30 9h1v1h-1z\" fill=\"#5fd17a\" /><path d=\"M20 10h1v1h-1z\" fill=\"#ff8ad8\" /><path d=\"M30 10h1v1h-1zM0 11h1v1h-1z\" fill=\"#5fd17a\" /><path d=\"M5 11h1v1h-1z\" fill=\"#ff8ad8\" /><path d=\"M8 11h1v1h-1z\" fill=\"#4fb3ff\" /><path d=\"M28 11h1v1h-1z\" fill=\"#ffd23f\" /><path d=\"M0 12h1v1h-1z\" fill=\"#5fd17a\" /></g><g class=\"c2\"><path d=\"M14 4h1v1h-1zM14 5h1v1h-1z\" fill=\"#ff5d5d\" /><path d=\"M19 5h1v1h-1z\" fill=\"#4fb3ff\" /><path d=\"M2 6h1v1h-1z\" fill=\"#ffd23f\" /><path d=\"M12 6h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M2 7h1v1h-1z\" fill=\"#ff5d5d\" /><path d=\"M30 8h1v1h-1z\" fill=\"#ffffff\" /><path d=\"M30 9h1v1h-1zM30 10h1v1h-1z\" fill=\"#ff5d5d\" /><path d=\"M17 11h1v1h-1z\" fill=\"#ffd23f\" /><path d=\"M30 11h1v1h-1z\" fill=\"#5fd17a\" /><path d=\"M20 12h1v1h-1z\" fill=\"#ff8ad8\" /><path d=\"M30 12h1v1h-1zM0 13h1v1h-1z\" fill=\"#5fd17a\" /><path d=\"M5 13h1v1h-1z\" fill=\"#ff8ad8\" /><path d=\"M8 13h1v1h-1z\" fill=\"#4fb3ff\" /><path d=\"M28 13h1v1h-1z\" fill=\"#ffd23f\" /><path d=\"M0 14h1v1h-1z\" fill=\"#5fd17a\" /></g></g></g></g></svg>"
5
6// The agents strip: up to four mini meatballs rolling, as many as data-agents (1-4) says.
7export const AGENTS = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 44 32\" width=\"88\" height=\"64\" shape-rendering=\"crispEdges\" data-agents=\"4\"><title>Meatball agents</title><style>\n.a{display:none}.a .sp{transform-box:view-box;animation:roll .6s steps(4) infinite}\n@keyframes roll{from{transform:rotate(0)}to{transform:rotate(360deg)}}\nsvg:not([data-agents]) .a1,svg[data-agents=\"1\"] .a1,svg[data-agents=\"2\"] .a1,svg[data-agents=\"2\"] .a2,svg[data-agents=\"3\"] .a1,svg[data-agents=\"3\"] .a2,svg[data-agents=\"3\"] .a3,svg[data-agents=\"4\"] .a1,svg[data-agents=\"4\"] .a2,svg[data-agents=\"4\"] .a3,svg[data-agents=\"4\"] .a4{display:inline}\n.a1 .sp{transform-origin:5.5px 24.5px;animation-delay:-0.00s}\n.a2 .sp{transform-origin:16.5px 24.5px;animation-delay:-0.15s}\n.a3 .sp{transform-origin:27.5px 24.5px;animation-delay:-0.30s}\n.a4 .sp{transform-origin:38.5px 24.5px;animation-delay:-0.45s}\n</style><g class=\"a a1\"><g fill=\"#2b120c\" opacity=\".22\"><path d=\"M2 30h1v1h-1zM3 30h1v1h-1zM4 30h1v1h-1zM5 30h1v1h-1zM6 30h1v1h-1zM7 30h1v1h-1zM8 30h1v1h-1zM9 30h1v1h-1z\" /></g><g class=\"sp\"><path d=\"M3 20h5v1h-5zM2 21h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M3 21h1v1h-1z\" fill=\"#f2685a\" /><path d=\"M4 21h4v1h-4z\" fill=\"#c8281e\" /><path d=\"M8 21h1v1h-1zM1 22h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M2 22h7v1h-7z\" fill=\"#a4532f\" /><path d=\"M9 22h1v1h-1zM1 23h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M2 23h3v1h-3z\" fill=\"#a4532f\" /><path d=\"M5 23h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M6 23h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M7 23h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M8 23h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M9 23h1v1h-1zM1 24h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M2 24h3v1h-3z\" fill=\"#a4532f\" /><path d=\"M5 24h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M6 24h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M7 24h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M8 24h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M9 24h1v1h-1zM1 25h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M2 25h5v1h-5z\" fill=\"#a4532f\" /><path d=\"M7 25h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M9 25h1v1h-1zM1 26h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M2 26h4v1h-4z\" fill=\"#a4532f\" /><path d=\"M6 26h3v1h-3z\" fill=\"#8a4026\" /><path d=\"M9 26h1v1h-1zM2 27h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M3 27h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M4 27h4v1h-4z\" fill=\"#8a4026\" /><path d=\"M8 27h1v1h-1zM3 28h5v1h-5z\" fill=\"#2b120c\" /></g></g><g class=\"a a2\"><g fill=\"#2b120c\" opacity=\".22\"><path d=\"M13 30h1v1h-1zM14 30h1v1h-1zM15 30h1v1h-1zM16 30h1v1h-1zM17 30h1v1h-1zM18 30h1v1h-1zM19 30h1v1h-1zM20 30h1v1h-1z\" /></g><g class=\"sp\"><path d=\"M14 20h5v1h-5zM13 21h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M14 21h1v1h-1z\" fill=\"#f2685a\" /><path d=\"M15 21h4v1h-4z\" fill=\"#c8281e\" /><path d=\"M19 21h1v1h-1zM12 22h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M13 22h7v1h-7z\" fill=\"#a4532f\" /><path d=\"M20 22h1v1h-1zM12 23h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M13 23h3v1h-3z\" fill=\"#a4532f\" /><path d=\"M16 23h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M17 23h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M18 23h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M19 23h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M20 23h1v1h-1zM12 24h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M13 24h3v1h-3z\" fill=\"#a4532f\" /><path d=\"M16 24h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M17 24h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M18 24h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M19 24h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M20 24h1v1h-1zM12 25h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M13 25h5v1h-5z\" fill=\"#a4532f\" /><path d=\"M18 25h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M20 25h1v1h-1zM12 26h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M13 26h4v1h-4z\" fill=\"#a4532f\" /><path d=\"M17 26h3v1h-3z\" fill=\"#8a4026\" /><path d=\"M20 26h1v1h-1zM13 27h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M14 27h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M15 27h4v1h-4z\" fill=\"#8a4026\" /><path d=\"M19 27h1v1h-1zM14 28h5v1h-5z\" fill=\"#2b120c\" /></g></g><g class=\"a a3\"><g fill=\"#2b120c\" opacity=\".22\"><path d=\"M24 30h1v1h-1zM25 30h1v1h-1zM26 30h1v1h-1zM27 30h1v1h-1zM28 30h1v1h-1zM29 30h1v1h-1zM30 30h1v1h-1zM31 30h1v1h-1z\" /></g><g class=\"sp\"><path d=\"M25 20h5v1h-5zM24 21h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M25 21h1v1h-1z\" fill=\"#f2685a\" /><path d=\"M26 21h4v1h-4z\" fill=\"#c8281e\" /><path d=\"M30 21h1v1h-1zM23 22h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M24 22h7v1h-7z\" fill=\"#a4532f\" /><path d=\"M31 22h1v1h-1zM23 23h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M24 23h3v1h-3z\" fill=\"#a4532f\" /><path d=\"M27 23h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M28 23h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M29 23h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M30 23h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M31 23h1v1h-1zM23 24h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M24 24h3v1h-3z\" fill=\"#a4532f\" /><path d=\"M27 24h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M28 24h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M29 24h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M30 24h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M31 24h1v1h-1zM23 25h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M24 25h5v1h-5z\" fill=\"#a4532f\" /><path d=\"M29 25h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M31 25h1v1h-1zM23 26h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M24 26h4v1h-4z\" fill=\"#a4532f\" /><path d=\"M28 26h3v1h-3z\" fill=\"#8a4026\" /><path d=\"M31 26h1v1h-1zM24 27h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M25 27h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M26 27h4v1h-4z\" fill=\"#8a4026\" /><path d=\"M30 27h1v1h-1zM25 28h5v1h-5z\" fill=\"#2b120c\" /></g></g><g class=\"a a4\"><g fill=\"#2b120c\" opacity=\".22\"><path d=\"M35 30h1v1h-1zM36 30h1v1h-1zM37 30h1v1h-1zM38 30h1v1h-1zM39 30h1v1h-1zM40 30h1v1h-1zM41 30h1v1h-1zM42 30h1v1h-1z\" /></g><g class=\"sp\"><path d=\"M36 20h5v1h-5zM35 21h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M36 21h1v1h-1z\" fill=\"#f2685a\" /><path d=\"M37 21h4v1h-4z\" fill=\"#c8281e\" /><path d=\"M41 21h1v1h-1zM34 22h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M35 22h7v1h-7z\" fill=\"#a4532f\" /><path d=\"M42 22h1v1h-1zM34 23h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M35 23h3v1h-3z\" fill=\"#a4532f\" /><path d=\"M38 23h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M39 23h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M40 23h1v1h-1z\" fill=\"#f8f3ea\" /><path d=\"M41 23h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M42 23h1v1h-1zM34 24h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M35 24h3v1h-3z\" fill=\"#a4532f\" /><path d=\"M38 24h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M39 24h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M40 24h1v1h-1z\" fill=\"#1a0b07\" /><path d=\"M41 24h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M42 24h1v1h-1zM34 25h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M35 25h5v1h-5z\" fill=\"#a4532f\" /><path d=\"M40 25h2v1h-2z\" fill=\"#8a4026\" /><path d=\"M42 25h1v1h-1zM34 26h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M35 26h4v1h-4z\" fill=\"#a4532f\" /><path d=\"M39 26h3v1h-3z\" fill=\"#8a4026\" /><path d=\"M42 26h1v1h-1zM35 27h1v1h-1z\" fill=\"#2b120c\" /><path d=\"M36 27h1v1h-1z\" fill=\"#a4532f\" /><path d=\"M37 27h4v1h-4z\" fill=\"#8a4026\" /><path d=\"M41 27h1v1h-1zM36 28h5v1h-5z\" fill=\"#2b120c\" /></g></g></svg>"
8hooks/terminal.ts 109 lines1import type { Motion } from '../types'
2
3/**
4 * The meatball in a terminal: one line of colored text, a little face that
5 * rolls along the band and changes with his mood. Pixel art there is too big
6 * and, where block characters don't fill the line, sliced into stripes.
7 */
8
9/** How fast he rolls in a terminal, in columns a second. */
10const SPEED = 12
11/** The room his face, its extras and a trail of helpers take, so the far end of the bar fits him. */
12export const WIDTH = 16
13
14const MEAT = '#c0603a'
15const GOLD = '#e0b040'
16const BLUE = '#6aa8f0'
17const RED = '#e05a5a'
18const DUST = '#806050'
19const GREEN = '#6ac46a'
20
21/** A run of text in one color. */
22export type Piece = { text: string; color: string }
23
24/** His cheeks as the context fills: rounder and rounder. */
25function wrap(face: string, fill: Motion['fill']) {
26 if (fill === 'stuffed') return `((${face}))`
27 if (fill === 'full') return `( ${face} )`
28 return `(${face})`
29}
30
31/** Two frames of anything, swapping every `ms`. */
32function beat(t: number, ms: number) {
33 return Math.floor(t / ms) % 2 === 0
34}
35
36/**
37 * His face and extras for this moment, most urgent first, as the desktop
38 * picks its poses, with a little `o` behind him for each running subagent.
39 * `t` is milliseconds, for the blinks and flaps.
40 */
41export function face(m: Motion, isRolling: boolean, isReturning: boolean, t: number, helpers = 0): Piece[] {
42 const pieces = alone(m, isRolling, isReturning, t)
43 if (helpers <= 0) return pieces
44 const trail = { text: 'o'.repeat(helpers), color: MEAT }
45 return isReturning ? [...pieces, { text: ' ', color: MEAT }, trail] : [trail, { text: ' ', color: MEAT }, ...pieces]
46}
47
48function alone(m: Motion, isRolling: boolean, isReturning: boolean, t: number): Piece[] {
49 const body = (eyes: string) => ({ text: wrap(eyes, m.fill), color: MEAT })
50 const spinner = '⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏'
51 const spin = { text: ` ${spinner[Math.floor(t / 100) % spinner.length]}`, color: GOLD }
52 if (m.mood === 'alert') return [body('O_O'), { text: beat(t, 250) ? '!' : ' ', color: GOLD }]
53 if (m.pose === 'hurt') return [body(beat(t, 200) ? 'x_x' : '+_+'), { text: '#', color: RED }]
54 if (m.pose === 'fail') return [body(beat(t, 200) ? '>_<' : '>.<'), { text: ' ✗', color: RED }]
55 if (m.pose === 'pass') return [{ text: '\\', color: MEAT }, body('^o^'), { text: '/', color: MEAT }, { text: ' ✓', color: GREEN }]
56 if (m.pose === 'celebrate') return [body('^ᴗ^'), { text: beat(t, 300) ? ' ⚑ *' : ' ⚑· ', color: GOLD }]
57 if (m.pose === 'chomp') return [body(beat(t, 180) ? '•O•' : '•-•'), { text: beat(t, 180) ? '·' : ':', color: GOLD }]
58 if (m.pose === 'bounce') return [{ text: '\\', color: MEAT }, body('^ᴗ^'), { text: '/', color: MEAT }]
59 if (m.mood === 'testing') return [body('°_°'), spin]
60 if (m.mood === 'deliver') return [body('•ᴗ•'), { text: beat(t, 300) ? ' ✉' : ' ✉ ', color: GOLD }]
61 if (m.mood === 'busy') return [body('¬_¬'), spin]
62 if (m.mood === 'sleep') return [body('-_-'), { text: Math.floor(t / 1400) % 2 ? ' zZ' : ' z', color: BLUE }]
63 if (isRolling) {
64 const dust = { text: beat(t, 150) ? '∙' : '·', color: DUST }
65 return isReturning ? [body('•ᴗ•'), dust] : [dust, body('•ᴗ•')]
66 }
67 return [body('•ᴗ•')]
68}
69
70/** Whether anything about him moves right now, so the band needs repainting. */
71export function isMoving(m: Motion, isRolling: boolean) {
72 return isRolling || m.pose !== 'none' || m.mood !== 'none'
73}
74
75/** One trip out and back along a bar this many columns wide, in milliseconds. */
76export function lapMs(columns: number) {
77 return Math.max(1, Math.round(((columns - WIDTH) * 2 * 1000) / SPEED))
78}
79
80/** How far along a bar he is, 0 to 1, after rolling `rolledMs` from the middle on a lap this long. */
81export function alongAt(rolledMs: number, lap: number) {
82 const p = ((rolledMs + lap / 4) % lap) / lap
83 return { along: p < 0.5 ? p * 2 : 2 - p * 2, isReturning: p >= 0.5 }
84}
85
86/**
87 * His way home to the middle from `from` (0 to 1 along a bar `span` units
88 * long) at `speed` units a second, `elapsedMs` after he set off: where he is,
89 * how long is left, and whether he heads left.
90 */
91export function homeward(from: number, span: number, speed: number, elapsedMs: number) {
92 const ms = (Math.abs(0.5 - from) * span * 1000) / speed
93 const t = ms === 0 ? 1 : Math.min(1, Math.max(0, elapsedMs / ms))
94 return { along: from + (0.5 - from) * t, leftMs: ms - Math.max(0, Math.min(ms, elapsedMs)), isLeft: from > 0.5 }
95}
96
97/** Which column he starts at, and whether he is heading back to the left. */
98export function place(rolledMs: number, columns: number) {
99 const { along, isReturning } = alongAt(rolledMs, lapMs(columns))
100 return { column: Math.round(along * Math.max(0, columns - WIDTH)), isReturning }
101}
102
103/** Where he is on his way home after a turn, `sinceHome` ms after he set off (negative while he hops). */
104export function placeHome(from: number, columns: number, sinceHome: number) {
105 const span = Math.max(0, columns - WIDTH)
106 const walk = homeward(alongAt(from, lapMs(columns)).along, span, SPEED, sinceHome)
107 return { column: Math.round(walk.along * span), isReturning: walk.isLeft, isWalking: sinceHome >= 0 && walk.leftMs > 0 }
108}
109types/index.d.ts 50 lines1/**
2 * A moment he strikes and then lets go of: a bite, the end-of-turn hop, a
3 * wince at an error, a cheer or a groan at test results, a flag for a new PR.
4 */
5export type Pose = 'none' | 'chomp' | 'bounce' | 'hurt' | 'pass' | 'fail' | 'celebrate'
6
7/**
8 * How he is while something lasts: waiting on you, watching a command run,
9 * goggles on for tests, carrying a PR out, or asleep after a quiet spell.
10 */
11export type Mood = 'none' | 'alert' | 'busy' | 'testing' | 'deliver' | 'sleep'
12
13/** Subagents and background tasks seen working: agent id -> when last seen, in ms. */
14export type Agents = Record<string, number>
15
16/** How round he is: how full the context window is. */
17export type Fill = 'normal' | 'full' | 'stuffed'
18
19/**
20 * Where the meatball is and what he is doing. His place along the bar is kept
21 * as time spent rolling, so a redraw (which restarts the SVG's animations)
22 * puts him back on the same spot.
23 */
24export type Motion = {
25 pose: Pose
26 mood: Mood
27 fill: Fill
28 /** Milliseconds rolled before the current stretch, counted from the middle of the bar heading right. */
29 rolledMs: number
30 /** When the current stretch of rolling began, or null while he stands still. */
31 since: number | null
32 /** Whether a turn is running, so he knows to roll on after a pose. */
33 isTurn: boolean
34 /** Counts poses, so only the latest pose's timer ends it. */
35 poseId: number
36 /** Counts turns, so a sleep timer from a quiet spell that ended does nothing. */
37 turnId: number
38 /** Where a turn left him (time rolled) as he heads home to the middle, or null once a turn starts. */
39 from: number | null
40 /** When he sets off home: just after the end-of-turn hop. */
41 homeAt: number
42}
43
44/** `/meatball width <px>` pins the bar's width; null works it out from the band's columns. */
45declare module 'claude-code' {
46 interface PluginState {
47 'meatball': { isHidden: boolean; motion: Motion; width: number | null; agents: Agents }
48 }
49}
50