From 68ebc7568e6f4c21d4bd247bdedea548a313bdc2 Mon Sep 17 00:00:00 2001 From: Kevin Midboe Date: Tue, 8 Apr 2025 21:47:35 +0200 Subject: [PATCH] source, static files & Dockerfile --- .env.example | 5 + Dockerfile | 23 ++ README.md | 38 +++ src/app.d.ts | 13 + src/app.html | 13 + src/hooks.server.ts | 10 + src/lib/components/Daemon.svelte | 49 ++++ src/lib/components/Deploy.svelte | 41 +++ src/lib/components/Header.svelte | 115 ++++++++ src/lib/components/Lifecycle.svelte | 63 +++++ src/lib/components/Logs.svelte | 150 +++++++++++ src/lib/components/Node.svelte | 201 ++++++++++++++ src/lib/components/PageHeader.svelte | 16 ++ src/lib/components/Pod.svelte | 203 +++++++++++++++ src/lib/components/Progress.svelte | 75 ++++++ src/lib/components/Section.svelte | 29 +++ src/lib/components/Server.svelte | 259 +++++++++++++++++++ src/lib/components/Sidebar.svelte | 112 ++++++++ src/lib/components/Table.svelte | 136 ++++++++++ src/lib/components/navigation/Tab.svelte | 49 ++++ src/lib/components/navigation/TabList.svelte | 11 + src/lib/components/navigation/TabView.svelte | 29 +++ src/lib/components/navigation/Tabs.svelte | 63 +++++ src/lib/icons/Logo.svelte | 98 +++++++ src/lib/icons/Thermometer.svelte | 18 ++ src/lib/icons/box.svelte | 11 + src/lib/icons/branches.svelte | 13 + src/lib/icons/clock.svelte | 18 ++ src/lib/icons/connection.svelte | 12 + src/lib/icons/cpu-x86.svelte | 25 ++ src/lib/icons/cpu.svelte | 16 ++ src/lib/icons/cube-side.svelte | 16 ++ src/lib/icons/database.svelte | 13 + src/lib/icons/earth.svelte | 13 + src/lib/icons/finished.svelte | 28 ++ src/lib/icons/floppy-disk.svelte | 16 ++ src/lib/icons/hard-disk.svelte | 23 ++ src/lib/icons/layers.svelte | 13 + src/lib/icons/link.svelte | 16 ++ src/lib/icons/map-marker.svelte | 16 ++ src/lib/icons/microsd.svelte | 18 ++ src/lib/icons/network.svelte | 16 ++ src/lib/icons/paused.svelte | 30 +++ src/lib/icons/power.svelte | 13 + src/lib/icons/printer-idle.svelte | 31 +++ src/lib/icons/printer-paused.svelte | 36 +++ src/lib/icons/printer-printing.svelte | 30 +++ src/lib/icons/printer-stopped.svelte | 28 ++ src/lib/icons/printing.svelte | 27 ++ src/lib/icons/server.svelte | 22 ++ src/lib/icons/shield.svelte | 16 ++ src/lib/icons/stopped.svelte | 26 ++ src/lib/icons/temperature-bed.svelte | 38 +++ src/lib/icons/temperature-nozzle.svelte | 31 +++ src/lib/index.ts | 1 + src/lib/interfaces/homeassistant.ts | 235 +++++++++++++++++ src/lib/interfaces/printer.ts | 8 + src/lib/interfaces/proxmox.ts | 79 ++++++ src/lib/server/filament.ts | 92 +++++++ src/lib/server/homeassistant.ts | 36 +++ src/lib/server/kubernetes.ts | 116 +++++++++ src/lib/server/proxmox.ts | 86 ++++++ src/lib/server/traefik.ts | 22 ++ src/lib/utils/conversion.ts | 46 ++++ src/lib/utils/string.ts | 3 + src/routes/+layout.svelte | 37 +++ src/routes/+page.svelte | 82 ++++++ src/routes/cluster/+page.server.ts | 90 +++++++ src/routes/cluster/+page.svelte | 94 +++++++ src/routes/cluster/pod/[uid]/+page.server.ts | 17 ++ src/routes/cluster/pod/[uid]/+page.svelte | 165 ++++++++++++ src/routes/cluster/pod/[uid]/logs/+server.ts | 27 ++ src/routes/health/+page.svelte | 20 ++ src/routes/network/+page.server.ts | 26 ++ src/routes/network/+page.svelte | 56 ++++ src/routes/network/[id]/+page.server.ts | 29 +++ src/routes/network/[id]/+page.svelte | 15 ++ src/routes/printer/+page.server.ts | 11 + src/routes/printer/+page.svelte | 237 +++++++++++++++++ src/routes/printer/[id]/+page.server.ts | 12 + src/routes/printer/[id]/+page.svelte | 30 +++ src/routes/servers/+page.server.ts | 43 +++ src/routes/servers/+page.svelte | 29 +++ src/routes/sites/+page.svelte | 28 ++ static/favicon.png | Bin 0 -> 1571 bytes static/fonts/Inter.woff2 | Bin 0 -> 73116 bytes static/fonts/RecklessNeue-Regular.woff2 | Bin 0 -> 35416 bytes static/logo.png | Bin 0 -> 43744 bytes static/logo_grey.png | Bin 0 -> 76914 bytes static/logo_light.png | Bin 0 -> 39225 bytes static/printer.png | Bin 0 -> 223732 bytes static/style.css | 146 +++++++++++ 92 files changed, 4348 insertions(+) create mode 100644 .env.example create mode 100644 Dockerfile create mode 100644 README.md create mode 100644 src/app.d.ts create mode 100644 src/app.html create mode 100644 src/hooks.server.ts create mode 100644 src/lib/components/Daemon.svelte create mode 100644 src/lib/components/Deploy.svelte create mode 100644 src/lib/components/Header.svelte create mode 100644 src/lib/components/Lifecycle.svelte create mode 100644 src/lib/components/Logs.svelte create mode 100644 src/lib/components/Node.svelte create mode 100644 src/lib/components/PageHeader.svelte create mode 100644 src/lib/components/Pod.svelte create mode 100644 src/lib/components/Progress.svelte create mode 100644 src/lib/components/Section.svelte create mode 100644 src/lib/components/Server.svelte create mode 100644 src/lib/components/Sidebar.svelte create mode 100644 src/lib/components/Table.svelte create mode 100644 src/lib/components/navigation/Tab.svelte create mode 100644 src/lib/components/navigation/TabList.svelte create mode 100644 src/lib/components/navigation/TabView.svelte create mode 100644 src/lib/components/navigation/Tabs.svelte create mode 100644 src/lib/icons/Logo.svelte create mode 100644 src/lib/icons/Thermometer.svelte create mode 100644 src/lib/icons/box.svelte create mode 100644 src/lib/icons/branches.svelte create mode 100644 src/lib/icons/clock.svelte create mode 100644 src/lib/icons/connection.svelte create mode 100644 src/lib/icons/cpu-x86.svelte create mode 100644 src/lib/icons/cpu.svelte create mode 100644 src/lib/icons/cube-side.svelte create mode 100644 src/lib/icons/database.svelte create mode 100644 src/lib/icons/earth.svelte create mode 100644 src/lib/icons/finished.svelte create mode 100644 src/lib/icons/floppy-disk.svelte create mode 100644 src/lib/icons/hard-disk.svelte create mode 100644 src/lib/icons/layers.svelte create mode 100644 src/lib/icons/link.svelte create mode 100644 src/lib/icons/map-marker.svelte create mode 100644 src/lib/icons/microsd.svelte create mode 100644 src/lib/icons/network.svelte create mode 100644 src/lib/icons/paused.svelte create mode 100644 src/lib/icons/power.svelte create mode 100644 src/lib/icons/printer-idle.svelte create mode 100644 src/lib/icons/printer-paused.svelte create mode 100644 src/lib/icons/printer-printing.svelte create mode 100644 src/lib/icons/printer-stopped.svelte create mode 100644 src/lib/icons/printing.svelte create mode 100644 src/lib/icons/server.svelte create mode 100644 src/lib/icons/shield.svelte create mode 100644 src/lib/icons/stopped.svelte create mode 100644 src/lib/icons/temperature-bed.svelte create mode 100644 src/lib/icons/temperature-nozzle.svelte create mode 100644 src/lib/index.ts create mode 100644 src/lib/interfaces/homeassistant.ts create mode 100644 src/lib/interfaces/printer.ts create mode 100644 src/lib/interfaces/proxmox.ts create mode 100644 src/lib/server/filament.ts create mode 100644 src/lib/server/homeassistant.ts create mode 100644 src/lib/server/kubernetes.ts create mode 100644 src/lib/server/proxmox.ts create mode 100644 src/lib/server/traefik.ts create mode 100644 src/lib/utils/conversion.ts create mode 100644 src/lib/utils/string.ts create mode 100644 src/routes/+layout.svelte create mode 100644 src/routes/+page.svelte create mode 100644 src/routes/cluster/+page.server.ts create mode 100644 src/routes/cluster/+page.svelte create mode 100644 src/routes/cluster/pod/[uid]/+page.server.ts create mode 100644 src/routes/cluster/pod/[uid]/+page.svelte create mode 100644 src/routes/cluster/pod/[uid]/logs/+server.ts create mode 100644 src/routes/health/+page.svelte create mode 100644 src/routes/network/+page.server.ts create mode 100644 src/routes/network/+page.svelte create mode 100644 src/routes/network/[id]/+page.server.ts create mode 100644 src/routes/network/[id]/+page.svelte create mode 100644 src/routes/printer/+page.server.ts create mode 100644 src/routes/printer/+page.svelte create mode 100644 src/routes/printer/[id]/+page.server.ts create mode 100644 src/routes/printer/[id]/+page.svelte create mode 100644 src/routes/servers/+page.server.ts create mode 100644 src/routes/servers/+page.svelte create mode 100644 src/routes/sites/+page.svelte create mode 100644 static/favicon.png create mode 100644 static/fonts/Inter.woff2 create mode 100644 static/fonts/RecklessNeue-Regular.woff2 create mode 100644 static/logo.png create mode 100644 static/logo_grey.png create mode 100644 static/logo_light.png create mode 100644 static/printer.png create mode 100644 static/style.css diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..e7e736f --- /dev/null +++ b/.env.example @@ -0,0 +1,5 @@ +PROXMOX_URL= +PROXMOX_TOKEN= +HOMEASSISTANT_URL= +HOMEASSISTANT_TOKEN= +TRAEFIK_URL= diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..e112690 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,23 @@ +FROM node:22-alpine3.20 AS builder + +WORKDIR /app + +COPY src/ src +COPY static/ static +COPY package.json yarn.lock svelte.config.js tsconfig.json vite.config.ts . + +RUN yarn +RUN yarn build + +FROM node:22-alpine3.20 + +WORKDIR /opt/infra-map +COPY --from=builder /app/build build + +COPY package.json . +RUN yarn + +EXPOSE 3000 +ENV NODE_ENV=production + +CMD [ "node", "build" ] diff --git a/README.md b/README.md new file mode 100644 index 0000000..b5b2950 --- /dev/null +++ b/README.md @@ -0,0 +1,38 @@ +# sv + +Everything you need to build a Svelte project, powered by [`sv`](https://github.com/sveltejs/cli). + +## Creating a project + +If you're seeing this, you've probably already done this step. Congrats! + +```bash +# create a new project in the current directory +npx sv create + +# create a new project in my-app +npx sv create my-app +``` + +## Developing + +Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server: + +```bash +npm run dev + +# or start the server and open the app in a new browser tab +npm run dev -- --open +``` + +## Building + +To create a production version of your app: + +```bash +npm run build +``` + +You can preview the production build with `npm run preview`. + +> To deploy your app, you may need to install an [adapter](https://svelte.dev/docs/kit/adapters) for your target environment. diff --git a/src/app.d.ts b/src/app.d.ts new file mode 100644 index 0000000..da08e6d --- /dev/null +++ b/src/app.d.ts @@ -0,0 +1,13 @@ +// See https://svelte.dev/docs/kit/types#app.d.ts +// for information about these interfaces +declare global { + namespace App { + // interface Error {} + // interface Locals {} + // interface PageData {} + // interface PageState {} + // interface Platform {} + } +} + +export {}; diff --git a/src/app.html b/src/app.html new file mode 100644 index 0000000..2612ba0 --- /dev/null +++ b/src/app.html @@ -0,0 +1,13 @@ + + + + + + + + %sveltekit.head% + + +
%sveltekit.body%
+ + diff --git a/src/hooks.server.ts b/src/hooks.server.ts new file mode 100644 index 0000000..bc625d8 --- /dev/null +++ b/src/hooks.server.ts @@ -0,0 +1,10 @@ +import type { Handle } from '@sveltejs/kit'; +import { dev } from '$app/environment'; + +export const handle: Handle = async ({ event, resolve }) => { + if (dev) { + process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'; + } + + return await resolve(event); +}; diff --git a/src/lib/components/Daemon.svelte b/src/lib/components/Daemon.svelte new file mode 100644 index 0000000..e7b7d87 --- /dev/null +++ b/src/lib/components/Daemon.svelte @@ -0,0 +1,49 @@ + + +
+
+

{pods?.length} of {metadata?.name} in {metadata?.namespace}

+
+ +

heatlthy: {healthy}

+ +
+ {#each daemon?.pods as pod, i (pod)} + + {/each} +
+
+ + diff --git a/src/lib/components/Deploy.svelte b/src/lib/components/Deploy.svelte new file mode 100644 index 0000000..02e5cc3 --- /dev/null +++ b/src/lib/components/Deploy.svelte @@ -0,0 +1,41 @@ + + +
+
+

{metadata?.name} in {metadata?.namespace}

+
+ +
+ {#each pods as pod, i (pod)} + + {/each} +
+
+ + diff --git a/src/lib/components/Header.svelte b/src/lib/components/Header.svelte new file mode 100644 index 0000000..074524e --- /dev/null +++ b/src/lib/components/Header.svelte @@ -0,0 +1,115 @@ + + +
+
+ +

schleppe.cloud

+
+ +
+ Home + {#each $breadcrumbs as crumb (crumb.label)} + / + {crumb.label} + {/each} +
+ +
+ User profile +
+
+ + diff --git a/src/lib/components/Lifecycle.svelte b/src/lib/components/Lifecycle.svelte new file mode 100644 index 0000000..fbbbade --- /dev/null +++ b/src/lib/components/Lifecycle.svelte @@ -0,0 +1,63 @@ + + +
+ {#each conditions as condition (condition)} +
+ {dict[condition.type]} + {condition.status === 'True' ? 'yes' : 'no'} +
+ + {/each} +
+ + diff --git a/src/lib/components/Logs.svelte b/src/lib/components/Logs.svelte new file mode 100644 index 0000000..12a380c --- /dev/null +++ b/src/lib/components/Logs.svelte @@ -0,0 +1,150 @@ + + +
+
+
+ + {#each logs as log, i (log + i)} +
{#if lineNumbers}{i + 1}{/if}{log}
+ {/each} +
+
+
+ + diff --git a/src/lib/components/Node.svelte b/src/lib/components/Node.svelte new file mode 100644 index 0000000..6481894 --- /dev/null +++ b/src/lib/components/Node.svelte @@ -0,0 +1,201 @@ + + +
+
+
+ {metadata.name} + + +
+ +
+
+ + Status +
+ {status.phase} + +
+ + IP address +
+ {status.addresses[0].address} + +
+ + Pods +
+ {pods.length} + +
+ + CPUs allocated +
+ {status.capacity.cpu} + +
+ + Memory allocaed +
+ {convertKiToHumanReadable(status.capacity.memory)} + +
+ + +
+ + diff --git a/src/lib/components/PageHeader.svelte b/src/lib/components/PageHeader.svelte new file mode 100644 index 0000000..79c4c8b --- /dev/null +++ b/src/lib/components/PageHeader.svelte @@ -0,0 +1,16 @@ +

+ + diff --git a/src/lib/components/Pod.svelte b/src/lib/components/Pod.svelte new file mode 100644 index 0000000..faa4803 --- /dev/null +++ b/src/lib/components/Pod.svelte @@ -0,0 +1,203 @@ + + +
+
+
+ {name} + + +
+ +
+
+ + Status +
+ {status?.phase} + +
+ + Pod IP address +
+ {status?.podIP} + +
+ + Instances +
+ {i + 1} of {replicas} + +
+ + Running on Node +
+ {spec?.nodeName} + +
+ + Uptime +
+ {formatDuration($uptime / 1000)} + +
+ + +
+ + diff --git a/src/lib/components/Progress.svelte b/src/lib/components/Progress.svelte new file mode 100644 index 0000000..6473fa6 --- /dev/null +++ b/src/lib/components/Progress.svelte @@ -0,0 +1,75 @@ + + + + +{value}% + + diff --git a/src/lib/components/Section.svelte b/src/lib/components/Section.svelte new file mode 100644 index 0000000..8529e17 --- /dev/null +++ b/src/lib/components/Section.svelte @@ -0,0 +1,29 @@ + + +
+
+

{title}

+ +
+ + +
+ + diff --git a/src/lib/components/Server.svelte b/src/lib/components/Server.svelte new file mode 100644 index 0000000..e645b4f --- /dev/null +++ b/src/lib/components/Server.svelte @@ -0,0 +1,259 @@ + + +
+
+
+ {node?.name} + + +
+ +
+
+ + Load +
+ {loadavg} + +
+ + CPU cores +
+ {cpuinfo.cpus} Cores on {cpuinfo.sockets} {cpuinfo.sockets > 1 ? 'Sockets' : 'Socket'} + +
+ + DDoS protection +
+ Enabled + +
+ + IPs +
+ {node?.ip} + +
+ + Memory +
+ {formatBytes(memory?.total)} + +
+ + VMs +
+ {vmsRunning.length} / {vmsTotal.length} + +
+ + LXCs +
+ {lxcsRunning.length} / {lxcsTotal.length} + +
+ + Uptime +
+ {formatDuration(uptime)} +
+ + +
+ + diff --git a/src/lib/components/Sidebar.svelte b/src/lib/components/Sidebar.svelte new file mode 100644 index 0000000..418bfcd --- /dev/null +++ b/src/lib/components/Sidebar.svelte @@ -0,0 +1,112 @@ + + + + + diff --git a/src/lib/components/Table.svelte b/src/lib/components/Table.svelte new file mode 100644 index 0000000..6737df4 --- /dev/null +++ b/src/lib/components/Table.svelte @@ -0,0 +1,136 @@ + + +
+
+

{title}

+
{description}
+
+
+ +
+ + + + {#if displayColumns.length > 0} + {#each displayColumns as column (column)} + + {/each} + {:else} + {#each columns as column (column)} + + {/each} + {/if} + + + + {#each data as row, i (row)} + hasLinks && goto(links[i])} class={hasLinks ? 'link' : ''}> + {#each columns as column (column)} + {#if column === 'Link'} + + {:else if column === 'Hex'} + + {:else if Array.isArray(row[column])} + + {:else} + + {/if} + {/each} + + {/each} + +
{column}{column}
Link{row[column].join(', ')}{row[column]}
+ + {#if footer?.length} +
{footer}
+ {/if} +
+ + diff --git a/src/lib/components/navigation/Tab.svelte b/src/lib/components/navigation/Tab.svelte new file mode 100644 index 0000000..b159760 --- /dev/null +++ b/src/lib/components/navigation/Tab.svelte @@ -0,0 +1,49 @@ + + +
+ +
+ + diff --git a/src/lib/components/navigation/TabList.svelte b/src/lib/components/navigation/TabList.svelte new file mode 100644 index 0000000..df93a2e --- /dev/null +++ b/src/lib/components/navigation/TabList.svelte @@ -0,0 +1,11 @@ +
+ +
+ + diff --git a/src/lib/components/navigation/TabView.svelte b/src/lib/components/navigation/TabView.svelte new file mode 100644 index 0000000..ad4a908 --- /dev/null +++ b/src/lib/components/navigation/TabView.svelte @@ -0,0 +1,29 @@ + + +{#if $selectedPanel === panel} +
+ + +
+{/if} + + diff --git a/src/lib/components/navigation/Tabs.svelte b/src/lib/components/navigation/Tabs.svelte new file mode 100644 index 0000000..05686d8 --- /dev/null +++ b/src/lib/components/navigation/Tabs.svelte @@ -0,0 +1,63 @@ + + + + +
+ +
+ + diff --git a/src/lib/icons/Logo.svelte b/src/lib/icons/Logo.svelte new file mode 100644 index 0000000..eb00262 --- /dev/null +++ b/src/lib/icons/Logo.svelte @@ -0,0 +1,98 @@ + + + + + + + + + + diff --git a/src/lib/icons/Thermometer.svelte b/src/lib/icons/Thermometer.svelte new file mode 100644 index 0000000..5f4947a --- /dev/null +++ b/src/lib/icons/Thermometer.svelte @@ -0,0 +1,18 @@ + + + + + + diff --git a/src/lib/icons/box.svelte b/src/lib/icons/box.svelte new file mode 100644 index 0000000..ab5aa63 --- /dev/null +++ b/src/lib/icons/box.svelte @@ -0,0 +1,11 @@ + + + diff --git a/src/lib/icons/branches.svelte b/src/lib/icons/branches.svelte new file mode 100644 index 0000000..5edd31d --- /dev/null +++ b/src/lib/icons/branches.svelte @@ -0,0 +1,13 @@ + + + + + diff --git a/src/lib/icons/clock.svelte b/src/lib/icons/clock.svelte new file mode 100644 index 0000000..685a75b --- /dev/null +++ b/src/lib/icons/clock.svelte @@ -0,0 +1,18 @@ + + + + + + diff --git a/src/lib/icons/connection.svelte b/src/lib/icons/connection.svelte new file mode 100644 index 0000000..fe6b344 --- /dev/null +++ b/src/lib/icons/connection.svelte @@ -0,0 +1,12 @@ + + + + diff --git a/src/lib/icons/cpu-x86.svelte b/src/lib/icons/cpu-x86.svelte new file mode 100644 index 0000000..269bc1c --- /dev/null +++ b/src/lib/icons/cpu-x86.svelte @@ -0,0 +1,25 @@ + + + + + + + + + diff --git a/src/lib/icons/cpu.svelte b/src/lib/icons/cpu.svelte new file mode 100644 index 0000000..6da1701 --- /dev/null +++ b/src/lib/icons/cpu.svelte @@ -0,0 +1,16 @@ + + + + + + diff --git a/src/lib/icons/cube-side.svelte b/src/lib/icons/cube-side.svelte new file mode 100644 index 0000000..804c573 --- /dev/null +++ b/src/lib/icons/cube-side.svelte @@ -0,0 +1,16 @@ + + + + + + diff --git a/src/lib/icons/database.svelte b/src/lib/icons/database.svelte new file mode 100644 index 0000000..e915229 --- /dev/null +++ b/src/lib/icons/database.svelte @@ -0,0 +1,13 @@ + + + + + diff --git a/src/lib/icons/earth.svelte b/src/lib/icons/earth.svelte new file mode 100644 index 0000000..9ecb0c1 --- /dev/null +++ b/src/lib/icons/earth.svelte @@ -0,0 +1,13 @@ + + + + + diff --git a/src/lib/icons/finished.svelte b/src/lib/icons/finished.svelte new file mode 100644 index 0000000..adc3184 --- /dev/null +++ b/src/lib/icons/finished.svelte @@ -0,0 +1,28 @@ + + + + + + diff --git a/src/lib/icons/floppy-disk.svelte b/src/lib/icons/floppy-disk.svelte new file mode 100644 index 0000000..1740a54 --- /dev/null +++ b/src/lib/icons/floppy-disk.svelte @@ -0,0 +1,16 @@ + + + + + + diff --git a/src/lib/icons/hard-disk.svelte b/src/lib/icons/hard-disk.svelte new file mode 100644 index 0000000..f898485 --- /dev/null +++ b/src/lib/icons/hard-disk.svelte @@ -0,0 +1,23 @@ + + + + + + + + + diff --git a/src/lib/icons/layers.svelte b/src/lib/icons/layers.svelte new file mode 100644 index 0000000..bac7a20 --- /dev/null +++ b/src/lib/icons/layers.svelte @@ -0,0 +1,13 @@ + + + + + diff --git a/src/lib/icons/link.svelte b/src/lib/icons/link.svelte new file mode 100644 index 0000000..cdc3cd7 --- /dev/null +++ b/src/lib/icons/link.svelte @@ -0,0 +1,16 @@ + + + + + + diff --git a/src/lib/icons/map-marker.svelte b/src/lib/icons/map-marker.svelte new file mode 100644 index 0000000..237f507 --- /dev/null +++ b/src/lib/icons/map-marker.svelte @@ -0,0 +1,16 @@ + + + + + + diff --git a/src/lib/icons/microsd.svelte b/src/lib/icons/microsd.svelte new file mode 100644 index 0000000..49bc1b8 --- /dev/null +++ b/src/lib/icons/microsd.svelte @@ -0,0 +1,18 @@ + + + + + + + + + + diff --git a/src/lib/icons/network.svelte b/src/lib/icons/network.svelte new file mode 100644 index 0000000..f5c7240 --- /dev/null +++ b/src/lib/icons/network.svelte @@ -0,0 +1,16 @@ + + + + + + diff --git a/src/lib/icons/paused.svelte b/src/lib/icons/paused.svelte new file mode 100644 index 0000000..2468f0b --- /dev/null +++ b/src/lib/icons/paused.svelte @@ -0,0 +1,30 @@ + + + + + + + diff --git a/src/lib/icons/power.svelte b/src/lib/icons/power.svelte new file mode 100644 index 0000000..e86f5fe --- /dev/null +++ b/src/lib/icons/power.svelte @@ -0,0 +1,13 @@ + + + + + diff --git a/src/lib/icons/printer-idle.svelte b/src/lib/icons/printer-idle.svelte new file mode 100644 index 0000000..b6f745b --- /dev/null +++ b/src/lib/icons/printer-idle.svelte @@ -0,0 +1,31 @@ + + + + + + diff --git a/src/lib/icons/printer-paused.svelte b/src/lib/icons/printer-paused.svelte new file mode 100644 index 0000000..2103fc4 --- /dev/null +++ b/src/lib/icons/printer-paused.svelte @@ -0,0 +1,36 @@ + + + + + + + diff --git a/src/lib/icons/printer-printing.svelte b/src/lib/icons/printer-printing.svelte new file mode 100644 index 0000000..b7eaf00 --- /dev/null +++ b/src/lib/icons/printer-printing.svelte @@ -0,0 +1,30 @@ + + + + + diff --git a/src/lib/icons/printer-stopped.svelte b/src/lib/icons/printer-stopped.svelte new file mode 100644 index 0000000..9e64326 --- /dev/null +++ b/src/lib/icons/printer-stopped.svelte @@ -0,0 +1,28 @@ + + + + + diff --git a/src/lib/icons/printing.svelte b/src/lib/icons/printing.svelte new file mode 100644 index 0000000..0fe98c2 --- /dev/null +++ b/src/lib/icons/printing.svelte @@ -0,0 +1,27 @@ + + + + + + diff --git a/src/lib/icons/server.svelte b/src/lib/icons/server.svelte new file mode 100644 index 0000000..db045ef --- /dev/null +++ b/src/lib/icons/server.svelte @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + diff --git a/src/lib/icons/shield.svelte b/src/lib/icons/shield.svelte new file mode 100644 index 0000000..45e7069 --- /dev/null +++ b/src/lib/icons/shield.svelte @@ -0,0 +1,16 @@ + + + + + + diff --git a/src/lib/icons/stopped.svelte b/src/lib/icons/stopped.svelte new file mode 100644 index 0000000..0b5fcf1 --- /dev/null +++ b/src/lib/icons/stopped.svelte @@ -0,0 +1,26 @@ + + + + + + diff --git a/src/lib/icons/temperature-bed.svelte b/src/lib/icons/temperature-bed.svelte new file mode 100644 index 0000000..5fa2fee --- /dev/null +++ b/src/lib/icons/temperature-bed.svelte @@ -0,0 +1,38 @@ + + + + + + + diff --git a/src/lib/icons/temperature-nozzle.svelte b/src/lib/icons/temperature-nozzle.svelte new file mode 100644 index 0000000..60921e7 --- /dev/null +++ b/src/lib/icons/temperature-nozzle.svelte @@ -0,0 +1,31 @@ + + + + + + diff --git a/src/lib/index.ts b/src/lib/index.ts new file mode 100644 index 0000000..856f2b6 --- /dev/null +++ b/src/lib/index.ts @@ -0,0 +1 @@ +// place files you want to import through the `$lib` alias in this folder. diff --git a/src/lib/interfaces/homeassistant.ts b/src/lib/interfaces/homeassistant.ts new file mode 100644 index 0000000..754f353 --- /dev/null +++ b/src/lib/interfaces/homeassistant.ts @@ -0,0 +1,235 @@ +export interface Entity { + entity_id: string; + state: string; + attributes: Attributes; + last_changed: Date; + last_reported: Date; + last_updated: Date; + context: Context; +} + +export interface Attributes { + editable?: boolean; + id?: string; + device_trackers?: string[]; + latitude?: number; + longitude?: number; + gps_accuracy?: number; + source?: string; + user_id?: string; + friendly_name?: string; + entity_id?: string[]; + icon?: string; + min_color_temp_kelvin?: number; + max_color_temp_kelvin?: number; + min_mireds?: number; + max_mireds?: number; + supported_color_modes?: ColorMode[]; + color_mode?: ColorMode | null; + brightness?: number | null; + color_temp_kelvin?: number | null; + color_temp?: number | null; + hs_color?: number[] | null; + rgb_color?: number[] | null; + xy_color?: number[] | null; + supported_features?: number; + effect_list?: string[]; + effect?: null; + initial?: null; + min?: number; + max?: number; + step?: number; + mode?: Mode; + unit_of_measurement?: string; + radius?: number; + passive?: boolean; + persons?: string[]; + next_dawn?: Date; + next_dusk?: Date; + next_midnight?: Date; + next_noon?: Date; + next_rising?: Date; + next_setting?: Date; + elevation?: number; + azimuth?: number; + rising?: boolean; + device_class?: string; + has_date?: boolean; + has_time?: boolean; + hour?: number; + minute?: number; + second?: number; + timestamp?: number; + source_type?: string; + 'Fast User Switched'?: boolean; + Idle?: boolean; + Locked?: boolean; + 'Screen Off'?: boolean; + Screensaver?: boolean; + Sleeping?: boolean; + Terminating?: boolean; + 'Battery Provides Time Remaining'?: boolean; + BatteryHealth?: string; + BatteryHealthCondition?: string; + Current?: number; + 'Current Capacity'?: number; + DesignCycleCount?: number; + 'Hardware Serial Number'?: string; + 'Is Charging'?: boolean; + 'Is Present'?: boolean; + 'LPM Active'?: boolean; + 'Max Capacity'?: number; + Name?: string; + 'Optimized Battery Charging Engaged'?: boolean; + 'Power Source ID'?: number; + 'Power Source State'?: string; + 'Time to Empty'?: number; + 'Time to Full Charge'?: number; + 'Transport Type'?: string; + Type?: string; + 'Low Power Mode'?: boolean; + Available?: string; + 'Available (Important)'?: string; + 'Available (Opportunistic)'?: string; + Total?: string; + 'Hardware Address'?: string; + 'Active Camera'?: any[]; + 'All Camera'?: string[]; + 'Active Audio Input'?: any[]; + 'All Audio Input'?: string[]; + 'Active Audio Output'?: any[]; + 'All Audio Output'?: string[]; + 'Display IDs'?: string[]; + 'Display Names'?: string[]; + 'Bundle Identifier'?: string; + 'Is Hidden'?: boolean; + 'Launch Date'?: Date; + 'Owns Menu Bar'?: boolean; + 'Allows VoIP'?: boolean; + 'Carrier ID'?: string; + 'Carrier Name'?: string; + 'ISO Country Code'?: string; + 'Mobile Country Code'?: string; + 'Mobile Network Code'?: string; + battery_level?: number; + altitude?: number; + vertical_accuracy?: number; + 'Current Radio Technology'?: string; + 'Administrative Area'?: string; + 'Areas Of Interest'?: string; + Country?: string; + 'Inland Water'?: string; + Locality?: string; + Location?: number[]; + Ocean?: string; + 'Postal Code'?: string; + 'Sub Administrative Area'?: string; + 'Sub Locality'?: string; + 'Sub Thoroughfare'?: string; + Thoroughfare?: string; + 'Time Zone'?: string; + Zones?: string[]; + temperature?: number | null; + dew_point?: number; + temperature_unit?: string; + humidity?: number; + cloud_coverage?: number; + uv_index?: number; + pressure?: number; + pressure_unit?: string; + wind_bearing?: number; + wind_gust_speed?: number; + wind_speed?: number; + wind_speed_unit?: string; + visibility_unit?: string; + precipitation_unit?: string; + attribution?: string; + access_token?: string; + width?: number; + height?: number; + fps?: number; + bitrate?: number; + channel_id?: number; + entity_picture?: string; + motion_detection?: boolean; + frontend_stream_type?: string; + options?: string[]; + state_class?: StateClass; + auto_update?: boolean; + installed_version?: string; + in_progress?: boolean; + latest_version?: null | string; + release_summary?: null | string; + release_url?: null | string; + skipped_version?: null; + title?: null; + Count?: number; + preset_modes?: null; + percentage?: number; + percentage_step?: number; + preset_mode?: null; + active?: boolean; + color?: string; + k_value?: number; + name?: string; + nozzle_temp_min?: string; + nozzle_temp_max?: string; + type?: string; + modifier?: number; + 'AMS Slot 1'?: number; + remain?: number; + tag_uid?: string; + tray_uuid?: string; + hvac_modes?: string[]; + min_temp?: number; + max_temp?: number; + current_temperature?: number; + hvac_action?: string; + occupied_cooling_setpoint?: number; + occupied_heating_setpoint?: number; + system_mode?: string; + unoccupied_heating_setpoint?: number; + off_with_transition?: boolean; + off_brightness?: number | null; + battery_size?: string; + battery_quantity?: number; + battery_voltage?: number; + measurement_type?: MeasurementType; + device_type?: string; + status?: string; + zcl_unit_of_measurement?: number; + last_triggered?: Date; + current?: number; + restored?: boolean; + source_list?: string[]; +} + +export enum ColorMode { + Brightness = 'brightness', + ColorTemp = 'color_temp', + Onoff = 'onoff', + Xy = 'xy' +} + +export enum MeasurementType { + ActiveMeasurement = 'ACTIVE_MEASUREMENT', + ActiveMeasurementPhaseAMeasurement = 'ACTIVE_MEASUREMENT, PHASE_A_MEASUREMENT' +} + +export enum Mode { + Auto = 'auto', + Box = 'box', + Single = 'single', + Slider = 'slider' +} + +export enum StateClass { + Measurement = 'measurement', + TotalIncreasing = 'total_increasing' +} + +export interface Context { + id: string; + parent_id: null | string; + user_id: null | string; +} diff --git a/src/lib/interfaces/printer.ts b/src/lib/interfaces/printer.ts new file mode 100644 index 0000000..019a63c --- /dev/null +++ b/src/lib/interfaces/printer.ts @@ -0,0 +1,8 @@ +export interface Filament { + Hex: string; + Color: string; + Material: string; + Weight: string; + Count: number; + Link: string; +} diff --git a/src/lib/interfaces/proxmox.ts b/src/lib/interfaces/proxmox.ts new file mode 100644 index 0000000..c32746a --- /dev/null +++ b/src/lib/interfaces/proxmox.ts @@ -0,0 +1,79 @@ +export interface Cluster { + id: string; + quorate: number; + version: number; + type: string; + nodes: number; + name: string; +} + +interface Memory { + used: number; + free: number; + total: number; +} + +interface RootFs { + used: number; + free: number; + avail: number; + total: number; +} + +interface Swap { + total: number; + free: number; + used: number; +} + +interface CpuInfo { + cores: number; + mhz: string; + cpus: number; + model: string; + sockets: number; + user_hz: number; + flags: string; + hvm: string; +} + +interface KernelInfo { + release: string; + sysname: string; + version: string; + machine: string; +} + +interface BootInfo { + secureboot?: number; + mode: string; +} + +interface NodeStatus { + memory: Memory; + kversion: string; + cpu: number; + ksm: { shared: number }; + uptime: number; + currentKernel: KernelInfo; + rootfs: RootFs; + swap: Swap; + idle: number; + cpuinfo: CpuInfo; + pveversion: string; + loadavg: [string, string, string]; + wait: number; + bootInfo: BootInfo; +} + +export interface Node { + info: NodeStatus; + online: number; + nodeid: number; + local: number; + name: string; + id: string; + type: string; + ip: string; + level: string; +} diff --git a/src/lib/server/filament.ts b/src/lib/server/filament.ts new file mode 100644 index 0000000..5a88706 --- /dev/null +++ b/src/lib/server/filament.ts @@ -0,0 +1,92 @@ +import type { Filament } from '$lib/interfaces/printer'; + +const filament: Filament[] = [ + { + Hex: '#DD4344', + Color: 'Scarlet Red', + Material: 'PLA Matte', + Weight: '1kg', + Count: 2, + Link: 'https://eu.store.bambulab.com/en-no/collections/pla/products/pla-matte?variant=42996742848731' + }, + { + Hex: '#61C57F', + Color: 'Grass Green', + Material: 'PLA Matte', + Weight: '1kg', + Count: 2, + Link: 'https://eu.store.bambulab.com/en-no/collections/pla/products/pla-matte?variant=42996742783195' + }, + { + Hex: '#F7DA5A', + Color: 'Lemon Yellow', + Material: 'PLA Matte', + Weight: '1kg', + Count: 2, + Link: 'https://eu.store.bambulab.com/en-no/collections/pla/products/pla-matte?variant=42996742717659' + }, + { + Hex: '#E8DBB7', + Color: 'Desert Tan', + Material: 'PLA Matte', + Weight: '1kg', + Count: 1, + Link: 'https://eu.store.bambulab.com/en-no/collections/pla/products/pla-matte?variant=48612736401756' + }, + { + Hex: "url('https://www.transparenttextures.com/patterns/asfalt-dark.png'", + Color: 'White Marble', + Material: 'PLA Marble', + Weight: '1kg', + Count: 1, + Link: 'https://eu.store.bambulab.com/en-no/products/pla-marble?variant=43964050964699' + }, + { + Hex: '#0078C0', + Color: 'Marine Blue', + Material: 'PLA Matte', + Weight: '1kg', + Count: 1, + Link: 'https://eu.store.bambulab.com/en-no/collections/pla/products/pla-matte?variant=42996751073499' + }, + { + Hex: '#000000', + Color: 'Charcoal', + Material: 'PLA Matte', + Weight: '1kg', + Count: 2, + Link: 'https://eu.store.bambulab.com/en-no/collections/pla/products/pla-matte?variant=42996742750427' + }, + { + Hex: '#ffffff', + Color: 'Ivory White', + Material: 'PLA Matte', + Weight: '1kg', + Count: 2, + Link: 'https://eu.store.bambulab.com/en-no/collections/pla/products/pla-matte?variant=42996742586587' + }, + { + Hex: '#E8AFCE', + Color: 'Sakura Pink', + Material: 'PLA Matte', + Weight: '1kg', + Count: 1, + Link: 'https://eu.store.bambulab.com/en-no/collections/pla/products/pla-matte?variant=42996742684891' + }, + { + Hex: '#AE96D5', + Color: 'Lilac Purple', + Material: 'PLA Matte', + Weight: '1kg', + Count: 1, + Link: 'https://eu.store.bambulab.com/en-no/collections/pla/products/pla-matte?variant=42996742914267' + } +]; + +export function filamentByColor(name: string) { + return filament.find((f) => f.Color?.toLowerCase() === name?.toLowerCase()); +} + +export function currentFilament(): Filament[] { + return filament; +} diff --git a/src/lib/server/homeassistant.ts b/src/lib/server/homeassistant.ts new file mode 100644 index 0000000..6877e54 --- /dev/null +++ b/src/lib/server/homeassistant.ts @@ -0,0 +1,36 @@ +import { env } from '$env/dynamic/private'; +import type { Entity } from '$lib/interfaces/homeassistant'; + +function buildHomeassistantRequest() { + const url = env.HOMEASSISTANT_URL || ''; + const token = env.HOMEASSISTANT_TOKEN || ''; + + const options = { + method: 'GET', + headers: { + Authorization: `Bearer ${token}`, + 'Content-Type': 'application/json' + } + }; + + return { url, options }; +} + +async function fetchHassStates() { + const { url, options } = buildHomeassistantRequest(); + return fetch(url, options).then((resp) => resp.json()); +} + +export async function fetchP1P(): Promise { + try { + let hassStates = await fetchHassStates(); + + hassStates = hassStates.filter( + (el: Entity) => el.attributes.friendly_name?.includes('P1P') === true + ); + return hassStates; + } catch (error) { + console.log('ERROR! from fetchP1P:', error); + return Promise.reject(null); + } +} diff --git a/src/lib/server/kubernetes.ts b/src/lib/server/kubernetes.ts new file mode 100644 index 0000000..6087847 --- /dev/null +++ b/src/lib/server/kubernetes.ts @@ -0,0 +1,116 @@ +import * as k8s from '@kubernetes/client-node'; +import stream from 'stream'; +import { writable } from 'svelte/store'; + +const context = { + name: 'kazan-insecure', + user: 'admin', + cluster: 'kazan-insecure' +}; + +const kc = new k8s.KubeConfig(); +kc.loadFromDefault({ contexts: [context] }); + +const k8sApi = kc.makeApiClient(k8s.CoreV1Api); +const appsV1Api = kc.makeApiClient(k8s.AppsV1Api); + +const k8sLog = new k8s.Log(kc); + +export async function getReplicas() { + try { + const allReplicas = await appsV1Api.listReplicaSetForAllNamespaces(); + return allReplicas.items; + } catch (error) { + console.log('error when getting replicas:', error); + return []; + } +} + +export async function getPods() { + try { + const allPods = await k8sApi.listPodForAllNamespaces(); + return allPods.items; + } catch (error) { + console.log('error when getting k8s resources:', error); + return []; + } +} + +export async function getPod(name: string, namespace: string) { + try { + return await k8sApi.readNamespacedPodTemplate({ name, namespace }); + } catch (error) { + console.log(`error when getting pod:`, error); + return undefined; + } +} + +export async function getDeployments() { + try { + const allDeploys = await appsV1Api.listDeploymentForAllNamespaces(); + return allDeploys.items; + } catch (error) { + console.log('error when getting deployments:', error); + return []; + } +} + +export async function getDaemons() { + try { + const allDaemons = await appsV1Api.listDaemonSetForAllNamespaces(); + return allDaemons.items; + } catch (error) { + console.log('error when getting daemons:', error); + return []; + } +} + +export async function getNodes() { + try { + const nodes = await k8sApi.listNode(); + return nodes.items; + } catch (error) { + console.log('error when getting k8s nodes:', error); + return []; + } +} + +export function createLogStream(podName: string, namespace: string, containerName: string) { + // const logEmitter = new EventTarget(); // use EventTarget or EventEmitter + const logEmitter = writable(); + + const maxLines = 400; + let liveStream: stream.PassThrough | null = null; + let logAbortController; + + async function start() { + // Live logs + liveStream = new stream.PassThrough(); + liveStream.on('data', (chunk) => { + let chunks = chunk.toString().split('\n').filter(Boolean); + + console.log('chynjks length:', chunks?.length); + if (chunks?.length > maxLines) { + chunks = chunks.slice(maxLines); + } + + chunks.forEach((line) => logEmitter.set(line)); + }); + + console.log('setting logAbortController, prev:', logAbortController); + logAbortController = await k8sLog.log(namespace, podName, containerName, liveStream, { + follow: true, + timestamps: false, + pretty: false, + tailLines: maxLines + }); + } + + function stop() { + console.log('ending livestream!!'); + logAbortController?.abort(); + liveStream?.end(); + } + + return { start, stop, logEmitter }; +} diff --git a/src/lib/server/proxmox.ts b/src/lib/server/proxmox.ts new file mode 100644 index 0000000..4d9b258 --- /dev/null +++ b/src/lib/server/proxmox.ts @@ -0,0 +1,86 @@ +import { env } from '$env/dynamic/private'; +import type { Cluster, Node } from '$lib/interfaces/proxmox'; + +function buildProxmoxRequest() { + const url = env.PROXMOX_URL || 'https://10.0.0.50:8006/api2/json/'; + const token = env.PROXMOX_TOKEN || 'REPLACE_WITH_PROXMOX_TOKEN'; + const options = { + method: 'GET', + headers: { + Authorization: token, + 'Content-Type': 'application/json' + } + }; + + return { url, options }; +} + +async function fetchNodeVMs(node: Node) { + const r = buildProxmoxRequest(); + r.url += 'nodes/' + node?.name + '/qemu'; + + return fetch(r.url, r?.options) + .then((resp) => resp.json()) + .then((response) => response.data); +} + +async function fetchNodeLXCs(node: Node) { + const r = buildProxmoxRequest(); + r.url += 'nodes/' + node?.name + '/lxc'; + + return fetch(r.url, r?.options) + .then((resp) => resp.json()) + .then((response) => response.data); +} + +async function fetchNodeInfo(node: Node) { + const r = buildProxmoxRequest(); + r.url += 'nodes/' + node?.name + '/status'; + + return fetch(r.url, r?.options) + .then((resp) => resp.json()) + .then((response) => response.data); +} + +async function getClusterInfo() { + const r = buildProxmoxRequest(); + r.url += 'cluster/status'; + + return fetch(r.url, r?.options) + .then((resp) => resp.json()) + .then((response) => { + const { data } = response; + const cluster = data.filter((d: Node | Cluster) => d?.type === 'cluster')[0]; + const nodes = data.filter((d: Node | Cluster) => d?.type === 'node'); + + return { cluster, nodes }; + }); +} + +export async function fetchNodes(): Promise<{ nodes: Node[]; cluster: Cluster | null }> { + try { + const { nodes, cluster } = await getClusterInfo(); + + const infoP = Promise.all(nodes.map((node: Node) => fetchNodeInfo(node))); + const vmsP = Promise.all(nodes.map((node: Node) => fetchNodeVMs(node))); + const lxcsP = Promise.all(nodes.map((node: Node) => fetchNodeLXCs(node))); + + const [info, vms, lxcs] = await Promise.all([infoP, vmsP, lxcsP]); + + return { + cluster, + nodes: nodes.map((node: Node, i: number) => { + return { + ...node, + info: info[i], + vms: vms[i], + lxcs: lxcs[i] + }; + }) + }; + } catch (error) { + console.log('ERROR from fetchnodes:', error); + + return { nodes: [], cluster: null }; + } +} diff --git a/src/lib/server/traefik.ts b/src/lib/server/traefik.ts new file mode 100644 index 0000000..c355fe6 --- /dev/null +++ b/src/lib/server/traefik.ts @@ -0,0 +1,22 @@ +import { env } from '$env/dynamic/private'; + +const TRAEFIK_HTTP_URL = '/api/http'; + +function buildTraefikRequest(path: string) { + const baseURL = env.TRAEFIK_URL || 'http://localhost:9000'; + const url = `${baseURL}${TRAEFIK_HTTP_URL}/${path}`; + const options = { + method: 'GET', + headers: { + 'Content-Type': 'application/json' + } + }; + + return { url, options }; +} + +export async function getRouters() { + const { url, options } = buildTraefikRequest('routers'); + + return fetch(url, options).then((resp) => resp.json()); +} diff --git a/src/lib/utils/conversion.ts b/src/lib/utils/conversion.ts new file mode 100644 index 0000000..e2b90f1 --- /dev/null +++ b/src/lib/utils/conversion.ts @@ -0,0 +1,46 @@ +export function formatBytes(bytes: number) { + if (bytes < 1024) return '0 KB'; // Ensure we don't show bytes, only KB and above + + const units = ['KB', 'MB', 'GB', 'TB']; + let unitIndex = -1; + let formattedSize = bytes; + + do { + formattedSize /= 1024; + unitIndex++; + } while (formattedSize >= 1024 && unitIndex < units.length - 1); + + return `${formattedSize.toFixed(2)} ${units[unitIndex]}`; +} + +export function formatDuration(seconds: number) { + if (seconds === 0) return 'Uptime: 0 days 00:00:00'; + + const days = Math.floor(seconds / 86400); + seconds %= 86400; + const hours = Math.floor(seconds / 3600); + seconds %= 3600; + const minutes = Math.floor(seconds / 60); + seconds %= 60; + + return `${days} days ${String(hours).padStart(2, '0')}:${String(minutes).padStart(2, '0')}:${String(Math.floor(seconds)).padStart(2, '0')}`; +} + +export function convertKiToHumanReadable(input: string) { + const match = input.match(/^(\d+)(Ki)$/); + if (!match) return 'Invalid input'; + + const kibibytes = parseInt(match[1], 10); + const bytes = kibibytes * 1024; + + const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB']; + let i = 0; + let humanReadable = bytes; + + while (humanReadable >= 1024 && i < sizes.length - 1) { + humanReadable /= 1024; + i++; + } + + return `${humanReadable.toFixed(2)} ${sizes[i]}`; +} diff --git a/src/lib/utils/string.ts b/src/lib/utils/string.ts new file mode 100644 index 0000000..36294ae --- /dev/null +++ b/src/lib/utils/string.ts @@ -0,0 +1,3 @@ +export function capitalizeFirstLetter(text: string) { + return text.replace(/\b\w/g, (char) => char.toUpperCase()); +} diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte new file mode 100644 index 0000000..50eaa51 --- /dev/null +++ b/src/routes/+layout.svelte @@ -0,0 +1,37 @@ + + +
+
+ +
+ + +
+ +
+
+
+ + diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte new file mode 100644 index 0000000..7710d9c --- /dev/null +++ b/src/routes/+page.svelte @@ -0,0 +1,82 @@ + + +Welcome to SvelteKit +

Visit svelte.dev/docs/kit to read the documentation

+ +

+ Lorem ipsum dolor sit, amet consectetur adipisicing elit. Pariatur laboriosam, necessitatibus + repudiandae quo voluptatem ratione, sit eum dolores enim earum at officia expedita consequuntur + ipsum voluptatum sunt, atque magni minus. +

+

+ Lorem ipsum dolor sit, amet consectetur adipisicing elit. Pariatur laboriosam, necessitatibus + repudiandae quo voluptatem ratione, sit eum dolores enim earum at officia expedita consequuntur + ipsum voluptatum sunt, atque magni minus. +

+

+ Lorem ipsum dolor sit, amet consectetur adipisicing elit. Pariatur laboriosam, necessitatibus + repudiandae quo voluptatem ratione, sit eum dolores enim earum at officia expedita consequuntur + ipsum voluptatum sunt, atque magni minus. +

+

+ Lorem ipsum dolor sit, amet consectetur adipisicing elit. Pariatur laboriosam, necessitatibus + repudiandae quo voluptatem ratione, sit eum dolores enim earum at officia expedita consequuntur + ipsum voluptatum sunt, atque magni minus. +

+

+ Lorem ipsum dolor sit, amet consectetur adipisicing elit. Pariatur laboriosam, necessitatibus + repudiandae quo voluptatem ratione, sit eum dolores enim earum at officia expedita consequuntur + ipsum voluptatum sunt, atque magni minus. +

+

+ Lorem ipsum dolor sit, amet consectetur adipisicing elit. Pariatur laboriosam, necessitatibus + repudiandae quo voluptatem ratione, sit eum dolores enim earum at officia expedita consequuntur + ipsum voluptatum sunt, atque magni minus. +

+

+ Lorem ipsum dolor sit, amet consectetur adipisicing elit. Pariatur laboriosam, necessitatibus + repudiandae quo voluptatem ratione, sit eum dolores enim earum at officia expedita consequuntur + ipsum voluptatum sunt, atque magni minus. +

+

+ Lorem ipsum dolor sit, amet consectetur adipisicing elit. Pariatur laboriosam, necessitatibus + repudiandae quo voluptatem ratione, sit eum dolores enim earum at officia expedita consequuntur + ipsum voluptatum sunt, atque magni minus. +

+

+ Lorem ipsum dolor sit, amet consectetur adipisicing elit. Pariatur laboriosam, necessitatibus + repudiandae quo voluptatem ratione, sit eum dolores enim earum at officia expedita consequuntur + ipsum voluptatum sunt, atque magni minus. +

+

+ Lorem ipsum dolor sit, amet consectetur adipisicing elit. Pariatur laboriosam, necessitatibus + repudiandae quo voluptatem ratione, sit eum dolores enim earum at officia expedita consequuntur + ipsum voluptatum sunt, atque magni minus. +

+

+ Lorem ipsum dolor sit, amet consectetur adipisicing elit. Pariatur laboriosam, necessitatibus + repudiandae quo voluptatem ratione, sit eum dolores enim earum at officia expedita consequuntur + ipsum voluptatum sunt, atque magni minus. +

+

+ Lorem ipsum dolor sit, amet consectetur adipisicing elit. Pariatur laboriosam, necessitatibus + repudiandae quo voluptatem ratione, sit eum dolores enim earum at officia expedita consequuntur + ipsum voluptatum sunt, atque magni minus. +

+

+ Lorem ipsum dolor sit, amet consectetur adipisicing elit. Pariatur laboriosam, necessitatibus + repudiandae quo voluptatem ratione, sit eum dolores enim earum at officia expedita consequuntur + ipsum voluptatum sunt, atque magni minus. +

+

+ Lorem ipsum dolor sit, amet consectetur adipisicing elit. Pariatur laboriosam, necessitatibus + repudiandae quo voluptatem ratione, sit eum dolores enim earum at officia expedita consequuntur + ipsum voluptatum sunt, atque magni minus. +

+

+ Lorem ipsum dolor sit, amet consectetur adipisicing elit. Pariatur laboriosam, necessitatibus + repudiandae quo voluptatem ratione, sit eum dolores enim earum at officia expedita consequuntur + ipsum voluptatum sunt, atque magni minus. +

diff --git a/src/routes/cluster/+page.server.ts b/src/routes/cluster/+page.server.ts new file mode 100644 index 0000000..ff2f66d --- /dev/null +++ b/src/routes/cluster/+page.server.ts @@ -0,0 +1,90 @@ +import type { PageServerLoad } from './$types'; +import { getPods, getNodes, getDeployments, getDaemons } from '$lib/server/kubernetes'; +import type { V1DaemonSet, V1Deployment, V1Node, V1Pod } from '@kubernetes/client-node'; + +function filterAndStackNodes(nodes: V1Node[], pods: V1Pod[]) { + const getNode = (name: string) => nodes.find((node) => node.metadata?.name === name); + + pods.forEach((pod) => { + if (!pod.spec?.nodeName) return; + const node = getNode(pod.spec.nodeName); + node.pods.push(pod); + }); + + return nodes; +} + +function filterAndStackDaemons(daemons: V1DaemonSet[], pods: V1Pod[]) { + const getDaemon = (name: string) => + daemons.find((daemon: V1DaemonSet) => daemon.metadata?.name === name); + + pods.forEach((pod: V1Pod) => { + if (!pod.metadata?.ownerReferences?.[0].name) return; + + const daemon = getDaemon(pod.metadata.ownerReferences[0].name); + if (!daemon) return; + daemon?.pods.push(pod); + }); + + return daemons; +} + +function filterAndStackDeploys(deploys: V1Deployment[], pods: V1Pod[]) { + const getDeploy = (name: string) => + deploys.find((deploy) => { + return ( + (deploy.spec?.selector.matchLabels?.app && + deploy.spec.selector.matchLabels?.app === name) || + (deploy.metadata?.labels?.['app.kubernetes.io/name'] && + deploy.metadata.labels['app.kubernetes.io/name'] === name) || + (deploy.metadata?.labels?.['k8s-app'] && deploy.metadata.labels['k8s-app'] === name) + ); + }); + + pods.forEach((pod) => { + const name = + pod.metadata?.labels?.['k8s-app'] || + pod.metadata?.labels?.['app.kubernetes.io/name'] || + pod.metadata?.labels?.app || + 'not found'; + + const deploy = getDeploy(name); + if (!deploy) return; + deploy.pods.push(pod); + }); + + return deploys; +} + +export const load: PageServerLoad = async () => { + const [podsResp, nodesResp, deployResp, daemonsResp] = await Promise.all([ + getPods(), + getNodes(), + getDeployments(), + getDaemons() + ]); + + const pods: V1Pod[] = JSON.parse(JSON.stringify(podsResp)); + let nodes: V1Node[] = JSON.parse(JSON.stringify(nodesResp)); + let deployments: V1Deployment[] = JSON.parse(JSON.stringify(deployResp)); + let daemons: V1DaemonSet[] = JSON.parse(JSON.stringify(daemonsResp)); + + nodes.forEach((node) => (node['pods'] = [])); + deployments.forEach((deploy) => (deploy['pods'] = [])); + daemons.forEach((daemon) => (daemon['pods'] = [])); + nodes = filterAndStackNodes(nodes, pods); + deployments = filterAndStackDeploys(deployments, pods); + daemons = filterAndStackDaemons(daemons, pods); + + // TODO move to frontend + deployments = deployments.sort((a, b) => + a.metadata?.name && b.metadata?.name && a.metadata?.name > b.metadata?.name ? 1 : -1 + ); + + return { + nodes, + deployments, + daemons, + pods + }; +}; diff --git a/src/routes/cluster/+page.svelte b/src/routes/cluster/+page.svelte new file mode 100644 index 0000000..3b36ee7 --- /dev/null +++ b/src/routes/cluster/+page.svelte @@ -0,0 +1,94 @@ + + +Cluster overview + +
+ +

Cluster {nodes.length} nodes

+
+
+ {#each nodes as node (node)} + + {/each} +
+
+ +
+ +

+ Daemons {daemons.length} daemons ({daemons.reduce( + (total, item) => total + (item.pods ? item.pods.length : 0), + 0 + )} pods) +

+
+ +
+ {#each daemons as daemon (daemon)} + + {/each} +
+
+ +
+ +

+ Pods {deployments.length} deployments ({deployments.reduce( + (total, item) => total + (item.pods ? item.pods.length : 0), + 0 + )} pods) +

+
+ +
+ {#each deployments as deploy (deploy)} + + {/each} +
+
+ + diff --git a/src/routes/cluster/pod/[uid]/+page.server.ts b/src/routes/cluster/pod/[uid]/+page.server.ts new file mode 100644 index 0000000..3218f20 --- /dev/null +++ b/src/routes/cluster/pod/[uid]/+page.server.ts @@ -0,0 +1,17 @@ +import type { PageServerLoad } from './$types'; +import { getPods } from '$lib/server/kubernetes'; +import type { V1Pod } from '@kubernetes/client-node'; + +export const load: PageServerLoad = async ({ params }) => { + const { uid } = params; + + console.log(uid); + + const podsResp = await getPods(); + const pods: V1Pod[] = JSON.parse(JSON.stringify(podsResp)); + + const pod = pods.find((p) => p.metadata?.uid === uid); + return { + pod + }; +}; diff --git a/src/routes/cluster/pod/[uid]/+page.svelte b/src/routes/cluster/pod/[uid]/+page.svelte new file mode 100644 index 0000000..4ef89a7 --- /dev/null +++ b/src/routes/cluster/pod/[uid]/+page.svelte @@ -0,0 +1,165 @@ + + +Pod: {pod?.metadata?.name} + + + + Details + Logs + Metadata + Deployment logs + + + +
+
+
+
+ + {status?.phase} +
+ +
+ + {status?.podIP} +
+ +
+ + {status?.qosClass} +
+ +
+ + {formatDuration($uptime / 1000)} +
+
+
+ +
+
+
+ + {metadata?.namespace} +
+ +
+ + {metadata?.ownerReferences?.[0].kind} +
+
+
+ +
+
+
+ + {spec?.nodeName} +
+ +
+ + {spec?.restartPolicy} +
+ +
+ + {spec?.serviceAccount} +
+ +
+ + {spec?.schedulerName} +
+ +
+ + {spec?.hostNetwork ? 'yes' : 'no'} +
+ +
+ + {spec?.dnsPolicy} +
+
+
+
+
+ + + + + + + + + + + + +
diff --git a/src/routes/cluster/pod/[uid]/logs/+server.ts b/src/routes/cluster/pod/[uid]/logs/+server.ts new file mode 100644 index 0000000..6090cbc --- /dev/null +++ b/src/routes/cluster/pod/[uid]/logs/+server.ts @@ -0,0 +1,27 @@ +import { createLogStream } from '$lib/server/kubernetes'; +import { produce } from 'sveltekit-sse'; + +export function GET({ request }) { + return produce(async function start({ emit }) { + console.log('----- REQUEST -----'); + const url = new URL(request.url); + const pod = url.searchParams.get('pod'); + const namespace = url.searchParams.get('namespace'); + const container = url.searchParams.get('container'); + + console.log('pod, namespace:', pod, namespace); + const k8sLogs = createLogStream(pod, namespace, container); + k8sLogs.start(); + const unsubscribe = k8sLogs.logEmitter.subscribe((msg: string) => { + emit('message', msg); + }); + + const { error } = emit('message', `the time is ${Date.now()}`); + + if (error) { + k8sLogs.stop(); + unsubscribe(); + return; + } + }); +} diff --git a/src/routes/health/+page.svelte b/src/routes/health/+page.svelte new file mode 100644 index 0000000..d9840fe --- /dev/null +++ b/src/routes/health/+page.svelte @@ -0,0 +1,20 @@ + + +Health + + diff --git a/src/routes/network/+page.server.ts b/src/routes/network/+page.server.ts new file mode 100644 index 0000000..558280f --- /dev/null +++ b/src/routes/network/+page.server.ts @@ -0,0 +1,26 @@ +import type { PageServerLoad } from './$types'; +import { getRouters } from '$lib/server/traefik'; + +let cache = { + timestamp: 0, + data: null +}; + +export const load: PageServerLoad = async () => { + const now = Date.now(); + + if (cache.data && now - cache.timestamp < 10000) { + console.log('Serving from cache'); + return { + routers: cache.data + }; + } + + const routers = await getRouters(); + + cache = { timestamp: now, data: routers }; + + return { + routers + }; +}; diff --git a/src/routes/network/+page.svelte b/src/routes/network/+page.svelte new file mode 100644 index 0000000..bd74ae1 --- /dev/null +++ b/src/routes/network/+page.svelte @@ -0,0 +1,56 @@ + + +Network + +
+
+
+
+ + {routers.length} +
+ +
+ + {providers?.join(', ')} +
+
+
+ +
+ + + diff --git a/src/routes/network/[id]/+page.server.ts b/src/routes/network/[id]/+page.server.ts new file mode 100644 index 0000000..dfc9b98 --- /dev/null +++ b/src/routes/network/[id]/+page.server.ts @@ -0,0 +1,29 @@ +import type { PageServerLoad } from './$types'; +import { getRouters } from '$lib/server/traefik'; + +const cache = { + timestamp: 0, + data: {} +}; + +export const load: PageServerLoad = async ({ params }) => { + const now = Date.now(); + const { id } = params; + + if (cache.data[id] && now - cache.timestamp < 10000) { + console.log('Serving from cache'); + return { + router: cache.data[id] + }; + } + + const routers = await getRouters(); + const router = routers.find((router) => router.service === id); + + cache.time = now; + cache.data[id] = router; + + return { + router + }; +}; diff --git a/src/routes/network/[id]/+page.svelte b/src/routes/network/[id]/+page.svelte new file mode 100644 index 0000000..2ed3c47 --- /dev/null +++ b/src/routes/network/[id]/+page.svelte @@ -0,0 +1,15 @@ + + +Network: {router.service} + +
+

router:

+
{JSON.stringify(router, null, 2)}
+
diff --git a/src/routes/printer/+page.server.ts b/src/routes/printer/+page.server.ts new file mode 100644 index 0000000..32c9ae2 --- /dev/null +++ b/src/routes/printer/+page.server.ts @@ -0,0 +1,11 @@ +import type { PageServerLoad } from './$types'; +import { fetchP1P } from '$lib/server/homeassistant'; +import { currentFilament } from '$lib/server/filament'; +import type { Entity } from '$lib/interfaces/homeassistant'; +import type { Filament } from '$lib/interfaces/printer'; + +export const load: PageServerLoad = async (): Promise<{ p1p: Entity[]; filament: Filament[] }> => { + const p1p = await fetchP1P(); + const filament = currentFilament(); + return { p1p, filament }; +}; diff --git a/src/routes/printer/+page.svelte b/src/routes/printer/+page.svelte new file mode 100644 index 0000000..99c06c8 --- /dev/null +++ b/src/routes/printer/+page.svelte @@ -0,0 +1,237 @@ + + +Printer + +
+
+
+
+ + + + {currentStage.state} +
+ +
+ + {bedTemp.state} + {bedTemp.attributes.unit_of_measurement} +
+ +
+ + {nozzleTemp.state} + {nozzleTemp.attributes.unit_of_measurement} +
+ +
+ + + + + {printStatus.state} + +
+
+ +
+ + {#if currentLayer.state !== totalLayer.state} + Currently printing layer line {currentLayer.state} of {totalLayer.state} + {:else} + Finished printing {currentLayer.state} of {totalLayer.state} layers! + {/if} +
+
+ +
+
+
+ + + {Math.floor(Number(totalUsage.state) * 10) / 10} + + {totalUsage.attributes.unit_of_measurement} +
+ +
+ + {capitalizeFirstLetter(nozzleType.state.replaceAll('_', ' '))} + {nozzleType.attributes.unit_of_measurement} +
+ +
+ + {nozzleSize?.state} {nozzleSize.attributes.unit_of_measurement} +
+ +
+ + {capitalizeFirstLetter(bedType?.state?.replaceAll('_', ' ') || 'not found')} + {bedType?.attributes.unit_of_measurement} +
+
+ + +
+ +
+ + + diff --git a/src/routes/printer/[id]/+page.server.ts b/src/routes/printer/[id]/+page.server.ts new file mode 100644 index 0000000..a1051b1 --- /dev/null +++ b/src/routes/printer/[id]/+page.server.ts @@ -0,0 +1,12 @@ +import type { PageServerLoad } from './$types'; +import { filamentByColor } from '$lib/server/filament'; + +export const load: PageServerLoad = async ({ params }) => { + let { id } = params; + if (id) { + id = id.replaceAll('-', ' '); + } + + const filament = filamentByColor(id); + return { id, filament }; +}; diff --git a/src/routes/printer/[id]/+page.svelte b/src/routes/printer/[id]/+page.svelte new file mode 100644 index 0000000..dc77ee6 --- /dev/null +++ b/src/routes/printer/[id]/+page.svelte @@ -0,0 +1,30 @@ + + +{#if filament !== null} + Filament: {filament?.Color} + +
+
+
+{:else} + Filament not found! + +

Unable to find filament {data.id}, no swatch to display.

+{/if} + + diff --git a/src/routes/servers/+page.server.ts b/src/routes/servers/+page.server.ts new file mode 100644 index 0000000..9aeadc7 --- /dev/null +++ b/src/routes/servers/+page.server.ts @@ -0,0 +1,43 @@ +import type { PageServerLoad } from './$types'; +import type { Node, Cluster } from '$lib/interfaces/proxmox'; +import { fetchNodes } from '$lib/server/proxmox'; + +const TTL = 10000; // 10 seconds + +interface ClusterCache { + timestamp: number; + data: { + nodes: Node[]; + cluster: Cluster | null; + }; +} + +let cache: ClusterCache = { + timestamp: 0, + data: { + nodes: [], + cluster: null + } +}; + +export const load: PageServerLoad = async () => { + const now = Date.now(); + const hit = cache.data.cluster && cache.data.nodes?.length && now - cache.timestamp < TTL; + + if (hit) { + const { nodes, cluster } = cache.data; + return { nodes, cluster }; + } + + const { nodes, cluster } = await fetchNodes(); + nodes.sort((a: Node, b: Node) => { + return a.name.toUpperCase() < b.name.toUpperCase() ? -1 : 1; + }); + + cache = { timestamp: now, data: { nodes, cluster } }; + + return { + nodes, + cluster + }; +}; diff --git a/src/routes/servers/+page.svelte b/src/routes/servers/+page.svelte new file mode 100644 index 0000000..5736377 --- /dev/null +++ b/src/routes/servers/+page.svelte @@ -0,0 +1,29 @@ + + +Servers + +
+ {#each nodes as node (node.name)} +
+ +
+ {/each} +
+ + diff --git a/src/routes/sites/+page.svelte b/src/routes/sites/+page.svelte new file mode 100644 index 0000000..620a8a9 --- /dev/null +++ b/src/routes/sites/+page.svelte @@ -0,0 +1,28 @@ + + +Sites + +
+
+ +
+ +
+ +
+
diff --git a/static/favicon.png b/static/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..825b9e65af7c104cfb07089bb28659393b4f2097 GIT binary patch literal 1571 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 YRszqT&M0D85|L8Cy{dmRO+Equ0Ke1n;s5{u literal 0 HcmV?d00001 diff --git a/static/logo.png b/static/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f148b7387991d827befe17dc228cb06d9e77059c GIT binary patch literal 43744 zcmb@ucUY6lyEdw_5EX%?F6m_{A{KfP0wGvI1VKQ06GBJnEsziq6_FAVrIU#C-b8wn z5_;%JFCm1QKtcVy{5$8wiMuB>9^QNI ze{#)&Ir;f8*Yx#RlHp&MA4OlhclYk6&uX94o_r#a^wJ-FI(rbE zM=DG+?u+hL-D2V4M+nu}OEZ4;USx#ZjCL&yPq@rxW^0?S(DCbuDz9nvoRz|!k?kzg<1)gkvyWuVYP@*M zL-67KGPoHXGCa&{tp-a`dwKMGdsINOy=f&%K)Cxx(clLa2Ks1|Xznl-b(eiaV?;3- zy3i%y*oHUn9sJ>&u83_XCfY*+?y_*gQV9IQGx?%L!4S{l_Ej+=H?4$jfeh{*2`jox zTpmGt^}uDdMwvjyY15=7PjO)(#Ovm(MP-1&8d>dLLO}I&vddzUb+ur76Yq9xH9I=x z>dhsM$f3JyVX>m}OQHp$rs$#e`VT7ol=Rc|^zDaTF}!13CC9bjFh9_aFg@Xet2@WF zTQMV-#C4o)ty+$2LxKhZzT4%sacV@VwHo^H6YIaoG+&Fu9v2~_f6ttcF&8u&_DDW3 z4*>%7guOJtdXT)>C_Pdggc1V*Y!yzvUE%+0hdAzc#S-5%X4z*VSkI57XRt2(TPY*# z|M$8V9dUo~@HwseSM#q#N+rZeuVf5wdV_{|tYsvjLz;Q`WzTHcU$&NQ*>Q&0LBcbK zw;i<+x{?J^SzW2UXJTMHX_lq}I&lwDE?lR|sMY;YLQ8}y32QCdMFcqcfGya4)Z)9l zxVHyZjvYk&?+y;mlN0{P`xGC+GYlQo(zlV>sl0hxZtzQdL_!3%Fd?(WcFjZI&@uC- zG>IxGI5`u7cWSQ=a6z#9~}b#k;-4b;i^s_zRYeBtI|y~LeP-D$^=%pbGD zI?}s7CAv`*H9olvW+B+es-o~n&o2t&-)@TUwd;2yEM9&|tL;Di)Tv1wZ9`hMN#iF( z-f?`w3ZeYvWyQruxZ(EWp1$eE|L8J(xw3Nl%j~*<(_3oo11)!HN4IFAkA1!N;D;i7 z+Ya(@E{v<3@!Xq8V|uuISNzz|>CI);YGwGaRg}>@^!Vt}S>!e*Ac;*t%I_oCmqaFly+Y z-xb^0LzZA0s4-7G)%)(b{n%t0C9%uq&Bg2LpoxdS89VIUW%77#D~FVZ!0nZmD<@Nn zUQJZfdw5iP;OlMc>LDM9>%;>o88L8uVcTFblK*J7Z?;eIIR@-Qv3elL{A%y-nNWw- zkpjeWLB+I6f;6;Ez2xAim4qDUI`j{-ILcZj!)-gcK5%wB%g*zO7hVuT%~&zo-@ZqxGjz8f$jGR;BjUCnS}T&14VL!kRAHGKD|_K(cEPdV zjD4$%^=bnZrd9&=o`lZsu2^w|8=>>^yAZ+C3TIf)YF_n$+N`aUFJ-osThzJBJ8jIS z^5q#71>I}CV2`WxrYa$Hx8ojCFFd1q(riU#1q1PL^hzZzu{i%IHn0aqIeY;lAfT2QDBs!L+r+O<)xy%OZ5>;@5TjE|dmlPrGbb929fKbb9XV>=3CtvJeh-(|Lgl{m6sST-EWs-Kmu{ZN=cVU8$V}nb2PqQS2e*eOASi^ zk-8viB?gfJPcUmWZVd%xNOC>-{(}ch5#E;1rzN8>ar?$g;m%y*h>w3sj%Qgnw=sot ziu2l+GvFtbByb*>(F7W4XsHqm%sMo`*T0#h3fk8z%OC$4NIn; zh6(AMM0YDnzKunJgs6{V=)q@)%d5^lpqysVWE}Y8Xpt4hw*UJh5kKk6$4|%pU!G1B8mF0djeD4zDR_7}!CI+a8RXc!;@l%8Fq6Xn!`i3Z zK0XTP^*l+|q4%spA!F(TF>P=cwTiqWWjQOU65uyeC_yCAQuMjhtS=#K9EK^U{j3cE^*~jzc z7xtbX+??vT$7g8d@_u=bwD65BFHgSN8}8@X_kMUd5s1x1`=EU&|Fu-v$#`q?Q3=#& zqXN+4na;?6DP~>LJlJ{VJkxOSZE(h@P;E7>U(ZgnNGnlsGnzF{qOicIXmM_`igogF zf{fj#ewQ#`qFr1l$Scp8E@4@_r0P0ZX-mXmV4|;9z%=4L!L*RJvahZ z(n|Dd*wvWpPsQtzxcWQRsi_RlWSsC0+eX!n$J|xC^H8>YwpM~nQ##M3MYo^G$ppVO zGKNORxQdq?VL%Cq(Yg=$NnN~Q9o+CVu)Fcbi<>ya#tR@p5*DNkd>4#$C-H4YE6no} zbXhcO^|Q2@BY0$Ux7s3;YAhN&*O^}6x-vUI*+1?0oN*^m{XPAT`>Y?!7gxogd(zs* zD;)^X>Hlo`Q`V)`rMc!Z=Ic+MIUF@LgHQrW=5M{wp%^g(ioAug5ADv={Vl#_wp)ca zvDcyQk(5U3rjQKqZd1tD_=rgVcFphr<6l*7E$Y)BT)wCai1`J|`ImVKJ}R)@eC^O>Ptq1f+0S)RP$kee(4R>1Ld4`eACrmE%Xk6_ zd=UlatIacDC3?wGBNw4^qQdpM)A<#;979WT(fX_0#SXZiI*i}7^s=%nT>0G|YVnvC zQ9yd3<{r~DjF@6ZN&m=62 z(EZj5pNj;%JY|Z9YqVG&OH->C5SZtOz!hK2{dxzBldu?CAE0SwtdE#%dIo)R_|+12 zX(B@-rj0_m31PWy@e4H5UXjMcK6>(L;t#&yyLSOPP;Bckcdz! zZ$WBGxlHa?Sc|V*Q}Ck#0T%=4JADrK7wcQhSimQ$km0H-)B4sjy}V4ZAB5%_!vu(1 zRBsJi)>WgbJhs)o2!TYjk~c;s#-?3=HynK%9xJu0A$KU%wbNGHxKijq28DK98G5&! zrIP^B8=aV%G#e`=2`aeWPY^RHo&0goK9j5N-8+-3FbAB1-K1=P*h`4&mpx)S?Q(5N z+tRrs-sNNnAwH{q=(F@F^XV>W9YoF}j|__4t+nZLx74h}>~KCw(v-7&J-2SYad24c z$FDVS!4=gEHB@%vJAx8=Ur)2moQqow3*N38`EWtlQorI(0r=%c-xc&qs>HoFjb_7n zh6Pi^B)8ZrS!K1Vb25wajW0lpIg;hJ-9Euhp56LZKoqN|{!sn@6|7h%c{V$Y4Yjq|~eUvhI z{i)eYIl~$n2P@n-%c>zbd<~p2TEOL5TwVW9r+Xj)A&{{}!3Fy-qfYVLGsV^ql3`vB ze#W)#8pt$LWtb|m!7P&Zj@V$D4rX1c-nF*9X}mxfZ4zlA;Mh1`5WY?(5Dv{{#RbLB zpckVbv2y}PFPqYqduVDEhhR|%hoD^hRTfqW#Sa}9Szx`uzE;Z)@$dUPoL{VR_V4SO z{0kt=!EBh)3^VIuP_+&1V-uKMSmf#ncN~h>wIkxJ6fy!Ooqxdag$GGP;!0hD_2ne*pvUillvC%s!RH-&hmUc4zVkul;NTo_&zV$`Gu+qJw zOwFq-X4h6+B}bY!{1}?497IwoJ;*pS#fHTudZ-f5unA#!bu?~uG|#9o5CaM9u0(gY z#_*;|`+p~B^Z=V#SH~Bffx$80nA?8~!&p_nXgZjQ;+H-=4AaNBv-us)XMEgA zP}(NC4OwYoBNZy^wL|ffapwOMoK-Y6`^kb*< zeOUh&cF5l2UE!bBN0K{PqnOcGzlTzd8tN}g>G-{BZ&o*n6+1wzgR!c*h%0?2dWj+2#} z0~gXlxpclttXnQsLW?ZwcC3#WbqC^>wTk66bRWcCa-|@Uy;r?ml`5k>h%qbd*lwHy z^@^B>)~(Sk(2IkA5YlPC+`A*fdHo9hL5o}^1!j)Hp^;@C!pFKKK=h2N7H;^KOL)JOg8Ew?=S2KN~W)!F9%5)qQqTVaYj`fz_8@L#EXCVUzoerUf zHA`EZum91K!3JBV#_!Goe)3HVoRwKPc!zF0>ikRjjF;a5k-W;L@M`=ya0ZF-$mXo` z=UDjGBi#ukhEBT2P#6&47yc;S$cU!6*vcPQBoTsMPyc&YTJSja%!l(yAup&?2mvmp z&rEYF-SCvm3s%@jCwh&~>eez&*1m_8gH6*`jw9{xpvr4)c_>G78>PxHKBywcSu@nU zWII;Bb&vZQYy;Q%jDAAR(?(#%Y0cs3{U~ z3wK}OOZlVZamy8}ici_0?+f26{_t4ySlm3yCV(g)41B-e<7Q}W;puAr2T@|quqb%1 zC??3;yz|OYGly!ejLTyFO?2{Orumk-Xkqoj>+e{(AQ}Pat?8-gpuUt z9DkxY;;u5L$>mi)^s9Gx_=>1YrJ$mHEHxvxP*o+x?1!y}s1KBQ-o9E%Ok?0$1!s4P z<%`DGCwpD~np&6iA;edq7glU~<4mh*nrtS`+t-YaEd}(`RgY>9=kBRg!&7eP&Ofa# zNhFXa>k|rt%Cv=z3eBDT?+*`S(`iQ&t3omRz}o)N?D(u&AT$~LIC2l}`8*^*VCI~< z_*h(d18;@S#E7`Fpt5^04+dp%M7?F;Ox!E(3&U!@s7I&s)G+qdq5ZJK;cTlT^O^d( z!1O0yJ83L95~I#*b&+eL!u8d6KA};66BM%hoX{WbmZkv_NJLkeoh&oW>fi9PR)E!w%EzA*d zIM2+=4GGTk!- z+kO8hI!B}8r!lkoi-Ygdk{9l(+kkQ9vrNQ*Nfwk?<$`9^g*NJQQH5D^)Ilp_O4W>6Zfh`yL`5U?Koz0ZIC{U(Acj-i zH@)LiCJSz28yIZJ^4?~h69}MNFe*Gr1*#+3p2bmby&{OZUE=PRz-fJ3`c&AN^WVP+ z19)@ECO?r1_BbosoC?e~VER#%BnXODo&A@!XMc`?qdPRj`0&$+nl2vaL=9GYCZRM=ThVy{nE}^7k zlNEnI>!K|Pa|oI&+qSvT;-qBFvpQ%Cnoo0qZJ7w0zhM9V5(}R*uoM@Xgf&4z?3All+W`dd3hq&K zV7LFiDkZrK@#{iJxHC@|c;yC}-Du=WEU%1j*3oB?hI)_L#wOnE5*NHkL_J(;S7yEZh|EH>~mk+03j&Ut?$50hE*2gU-e0`1F z)G|&9C4R7u9^GbPF~olL`Ox&W{DXDV0|7!b6TnRM5+HN`$Euq||3r>IZH2qSBNf$P zWrFtHqk#$g$Rm3EEe^73XE)Z3fQ{rLla~60C-^okGihC*_;sjk#A>Y=6&I^O9xhRh za!gcl@U2kw9WON~OP#228?_8QEbYdSW%uk4exHA!G6w8?M3+o8CIT$+M+D85@D>yY zZ>er&vd`Qt1&)rpaXKg=i1f4G)>{&K`R-GC8J+73;Cczku0!b{h%e>B(de#fk1DjS zLc*X>FNbgBS0TcmXq^J12Hj+aj6}@;rVEwfRC_h!imBj|AI&}uf2Z5MhYe^NK>@68 z&wig=O$hrB_VXFJgwTxjQSVlzIZ>whDX(O)r@2?~MlyMirP<5Eb@QKAWo1!yMjg2p!w|u~*?)`;8Jm>x zZoNKTc}r+I|52Xyu(P4xs@Y!>$@JA`8M}{0`bxbsI*#92DuDQyB1XM1tMN2@`K921 zUgkEhN%hFD@<1q#|1lIrKTaQ%qTSO4oq>xMW*(h+X~xBhm1B=?zdl(Xk>SiowX@E-J8|y2VAGd(fODy3}XPIJRi}>JqyaRofysfNNl1bx{(tpou zszlvGc~x>uT66_I2Fh_j+1x=R%bFhW)H~ip;=y}4P0ct-WW1NZ4#_J@8G=b0!gI@k zLJu0J%4)3rg4JMCCmIRdr%$o6n{0S<6PMvbrq+G$32?_Hsop_aHsNf!VPu3E$Xb->G@^qba zH@7LhVk11=HIDrCHb)3jdGt5)q65|*M++h znb+G?>Bcu$OniTI5bJ;|M0L?T*KLqT=z5Is==&nR-AI335CaWL(7RNo#{FrGeSv$^ zE`RVY$!@IyMqT_%lS?8Y81%d3=3pl14s3qGs;(~Yofo4^5echpr;9_ojpB}qdaZhH zgCD%#0=O4dzr~ltr%BolS@QVRR{HO4zdDUeR(w^iiaQY$z>~RlCifp=yikWGJv6){ z2F{}i85NdrH#Wi1q%%|_%e@W^Bc%*$erk=C;)gBXGv?ske4N~iY?`!q8DvDX8ALnc zYkq(2Ggf|1*iw@o!!G$K&ML^~yVlregp{Q69XZ8Gzos`dgRp~A+>B#`jR3&UqhQT8 z;@5O2c49PhRAr;JoeD8V5(c0IpRBL6iF17dN2R_eDq@ID%L z=l@^20PiyQ;O471@uHajEoxwBYd;*AH;PHNhUIldqa|?VRYEZbm^$|>gFRhF)Xhy( z+KTowrrNp##d_tbkDC5kXjP#GSImm%Q3jn%I@HhX4v@qKf+nlsr2dd^-Z7$#Atf2l z3RSWwign6#)$<6qsu0s-LA!)3FB|rf5;YJGY+} zTDOWkoemwPfCFO62Nrk@%?I!Ze{tL;j-;=PA>aP2aC_sq-8t+ltnR9P1m5>z%PSd3 z-UGwLaZr-&KVIXu{DmyLs4dO*|7N@6AKT~x%{1EwH}Btvm;DN3Wfv=o3({Iwg&oF! zXYpOjy^VF@j4OKPs>V2^xmiya+sjM)Fw~$wWkuazMEX|GWmsdr|By7MQcW#C&eQ~T%Bp6I12vk=ST{{AC?s>`|k^>)QN z2I*@5Q~8)P4%)}Jgt@FyROSjSYUB{^?k#y1HNM)Pz)rawr!I;5PmFdMsj!4?P(ND{ z0Tp0}_!5-v_7+vKpS3lNU4_G+Tjhp7GYrdtOkcQg%kWlumg#Nuk6a0vU!nUq1cZj4 zw9ZA(U64yZW0&LhmTNg%@oL2410!{1Z%6R7bA42`yO5B4UifpfS3P;O99O5}hV^!xvuol>Y<6&1oMo=m!mqrGEP1O}%t21aY;m_~?w$P}EIUsE)8aXeu zHG$M1qt}r1{p}!Y>)k<>YOcgF(ME;M*Fj7%mURL08ZUk|KD?=S4Yxuh#!>d>@R*hT zs-&)sC+|;A{3NfXtqkD>w;Lb7vd1qd5_QpTE+hG{SCoaEuXl>96uuCl^d+-k?*y6N zz1a|s(*R4e_($~y!gk@3(F;h%ldt>q4F;2Io%zB#S>H-!v7U=^bCDO)=d*8yR6t zoePB(W<5@Sf?h`l^2z z+4P3l4Tn*^4d_dhDOp<4GP?xUIMwL7@5+UG<>Rk))6}=qA@JVGIH*+f2eV4|rXp=2 zRTayT);39B=K5@djMcu>w9wp3U-9M7^XP3Jdj`4BdF%10^;ct7PJtxM4-7f-s}QJdGoKA^xRT8fHmj$?30oxVZE4cH!vJ7N^DG;J%Ga7}I8^7M^oqllj?b1GC@!*F_XT`kL1YR|CsA&>?j(J` zX8SDfRz!J!*(qp)kOFCcdqVxozWwyQ3RJMy8Y69X#(?n-qa}R*z9ysIpPBB@d|kT| zm_q5dv5^OJsOwJ?-JWB=6NFy{X;EoQi|ti!y&zJhU`bftyGJP(P%a*Y3ryk808H{% z2)-x!fiS=`f`_7q39nbBaysO%z2E!wj&&0_u6|0l`TB7i#jiNI)lX;P=@-8KyLe-x zheHVBT_1vyhRGmv3!bII=^K5|DqOci(It2G4QDIt8hnhfHW|P&g52ktf{a+#&A^BY zz2;;RxS041V7A90m0o1weV#stZ=);2E?M1)@-ChwHm&U09)ILuqz>z?&1FV<4B{Tt zvBxB~FzeXJoaWfCjU~>m?&-z2Jl1MUCsO2uBHN$HV7(!G18>6rB{qW!M=nOL#95RO zPytu`NJjS{nPa-ppmsB05nBM0HEXl;_l;e8u{EupPsZC!D+#*hFIaRp)^B>HG-!SQ z$_m%*`y_oqFQJ2g_0J+Xrz825j#~Qlr58(oesR)wYp36f`f89j#BEV(+reUgz~l9q zQ@$Nqe`wn#4X_)stZYuYA^(bn?^Sw^r4>A2hxjm2?1F!96zb7^6}eBMY=E9^;hCoN z&lpjiHWRR)YwX7rPG8L+tEy|)F^^Tnp1sJferTrw5o6U$scjI%p!+ zs)9V2g~Hd~gSMDU=|Eilh&Y#yQ71jiidZF5IEf5r`gl5CvF|hvQFbBP30nM1Rf)s??296w$^DW2Q?!`2@ux|uBTlW0HY4ZG z3m#e+ZYvjClAw?$VRL(`TWLnGTyngqUf$Ex8oCE|R2?GZqWMc=SXqtxTz2M0>OQrhe&>7jZ=NK?C0%uzl~w za`rS_dG-0W=fslX`UDw~h*;^MsXP)4G*l#BinA%35$zS7c`|d37~s2KldP3d8BtZa z)l+$_P!kuls;gFYr!ET9_P2$kHb%;mgx*{dxMTTdkBc;26S#>-vA)YqvM^_5Wi^{4 zlk4#1qowc5orhP1(mg++Myt(cmlpfcJwINa z=LTe;(0lICSKSuDhwskq)Av`4=D1V)gXFucKpt0Nzr4e0$x}6aw2jmvo$n9pAyd_C zTl%~2H|mf_K|Mcs1}@hCawIp$_6I^%LRLkHgI!pj&gav6fd}fVL=ZZ^ z98?FS41|{1i#x6|orqTu`;l+6;cYnL8P)P<^Bb4TAz5WnrtFWUUjXvC*?~llGs5*G z$@41=8qxOqKAY+8?=q;HdJesI{>`Iv+quSt6qpdX?>5I9GN#sNwSVT-#Lr>K=a$NB zh26+D8$idm(!D6@lar}d;A~crKQTWdK(EsNZX31;p#R>l66JDg1tI5mK5~g#rZ*t@ zi~2S~wRu&XJSQW=PVd@Yyp>raor7E%{By z(B%7)jW=l~%jJ*4ITMJht7&cOevx{91$utrAHUV;KHAH99>2fUhL1PHP8AMaVx6^Q ztPoUv##z~emI$k>L-GAl`6@DkfJWDDo+tR1{_xOj@fKFC93OThuc8y@&~j^U`5CW z{u%?z(3sPNBC7^L;~$Pq%YKY1qqE?e9bLy~&%WL=xb!q$>dF`Ah&E=x-AukAMXVB{ z;5vC`4G_R)2JVu6OxGhO_^j_)Kk7SznPN_mTlF)wNCvh3PSud%lI6B@5n|XXN$E7+ z1-k;klO`J=f%NZ1VV>=Uy?rdBc7;;Q<2l=S6<0MW%D>ru<-s%t{HilzLV;WxzMnn* z>yfIUS1hd=3H*OHgOeIa5E;+o>)Pz}HYVtp+%uTGCC@ z1p-puj}-rhrKLt`w&wX68X?X^oOI}=&`{VLWB%~5?K{D#0DHHwe3QX`D7Nq_+mtb( z5SY`ypOcI*K;#cH%b18_(2XouHW>mi}&vjVzkI`Gj|TCv9tOWIa4J zO$|X55R9IFjW?`zFS#l^nEqJaW2rrQE5Tps+j)iX642^*7l!Y?GTK~O-3AB4ujgw9 z?ag7WhEYzzDU53`+F@7K8cjx3KtZIAXLba1A`jysh!wvzqP8F^7U5&7niv$d8B`f%Rx>Vs$~ zc!Bz~5EPl$oX_H#{72o|&&N^X!WcG$%TSD~{QQR_AKaGG5KPFPqc=$@oxzp*W{um|h> zCCkH0aM8MjXiiD1X`pgFSCEn;h74~?J?p?OM8}n{aH)`h$pw0=on9L%8Z^HUwm6hy zRWmz~p^1&XZIr;Eyf@hvJ?l!~7g=KYk)3kTp6xqa zo;P<^p+?VLXsVE~%JJ<9tpME=Ri`CyAD93KJq4we)Aus%RLY;j?O@_5Jcv^9lBS|D zs20gGT}7RBDXTX$?)-7{PIeN~8;3c<)AtUg$aX_Qu-k}P^GhJ(oYtyF|EPn$V(S#- z-b;6ZFMZGUDPvivZtr>v@iJ+3wKj!Ak&-;2%Yuu{Y!Jg^?0slSY!lcBNjuduHGa6w z8z1D-1~90Om)%PzA;%Gr(oX+;72ioXtIW0RX6CS?pYm2PJ#^&!vy0Ovb${B`TCBK)tv-RzqliF?=;x=wK-z6V@I ztgic=&cWR`S{`(mHB5f&Q)kN#O|5msRO zbxmbYjkg#5@x)AS+vD5S6le4ItHC8UYjUU2A#QSahE(Q2qkSJFDZL)|LfyC0`Qf_6 z^DqGbM|UV$dIw%v-@>IR`x$S}+ePIYmuIeKOAD)N#9UcFx8!d_o(lNnN6l1y-$SPn zYkl{jy+f>!Hn%L*%IpkYza5xDr`Ua^4hKI8$%T4duRJih#CbSkufU9B<TsY}d-D%KyO1xR*sI)I*R~<%xhJwtk<@1J1q{iW3K8M9s+*|J_2>h9nug!%)&z z+X|x;5c}scUwQR5w+seD3Mmw?5DE!5c z_dnEXv$v3d7Wip5uk|zgOS9aYH%Su}#H^UM$lX2RP)w|Z;j5)SUEm#~K|PVk9nN1= zs9HJsM9{il9y!fb52P?Nuiib`%`fD*xkN#CTTN9oZYf#rs<|YsgMHJyjsj&$UcWv; z{2ehec7xopuTDIqO@G6Scr7MZ808yp>d)C=hUVjy8O@=ni}WfN@@q^`;urmq)-4*e z_Rx=IwP4m7gIEcxoyE68S^0C-3lr-o zr4DsL{7C@02UNMDR+MX2ZJ%-5A6WSfM}&X6&@q$A%!qvN;O6ffE7mu4ApV_4T!IN| zmXDATmts+updz4`xx94WJo@n(yoXN3&iG z0Bt3{oT?H=MAgz_UlXG&%54n7f|*!wDJqEWiELoHEcA25QWiAP3th&PDnXCn=FWiL z(d}c6@Of5gSD5fIA)pq;A0M!}VxTWHiTK0=s=1?|>3vY2Yg7}|n+(#)wTwbNpa}Zz z^KHTe@xg-sFcJTWM~I2^KJYW0sts8gN;|vcZh?+dBm#O&pX98lSI;azM8+sin@?jB zDJ9l_g0VC}1>kPnnO75h@~7Q!h&Q=K$5J-q)O6@71^o8EWfZdYlQ#enw}tD_H?`3L z!jmXGe+{F#X17etqP}XTCn@WaKHL7U74JR_wFw_Df%WkL$c?_)*ij91f$%$4?z8%q zAN5`Fi&GZ6q~8W#;C?@oVV+tkiar6$&gCnE*y&`^KMJo=3%vL%jc*8(4q0)NG9*N8r^(DcGe3~6ABUr~;-$(BqH4(;v(U0tH}i%~s;PWE+J{CV?WxIo zqGvm5|FN*!uzV=ZSvsznrWg!|{7sSOMib@ZZ9~~#eZxd- zl74U7k2KRGbC8wb6R9X8q#86^t!5>kcpo-q~P*my3TgFSz(1FB5FZIJtLS9*P*1d-QOhD=a+Gdi*9w>Ak%wX7T8(wo-#47~q} zN{-nZSl!n8jvp*h=aJqA8|O3U4Y3cRTrEA<+t^U`8f7nOILHyHMi-m~}JJKEJ z6)o)yeTXbNvtHlCtx|H#(AYmG>TLVDP6sVsVA=B7VKghRenL4TmmUM04PF#pF=7!p zd>d?zKt)DA-HDOD#vsrp7<7GnMD|Sa^40+6EAPjWiSoHr>w0w#q2)TC)c_*b#qT?I z3C9xA(~)N%vz|Ac|1f-VuEwTy;0{p-eRL62^Ap}$YDM2@RwPPZC<1nqC=DSN5wW>R z7C`OH4K4*F(AN=LZ$y$0W;MlmLWspHoSPCQk#|*kfT7La!Tx^HGY$xmJ*wOcS;eki zo%A@%Z?pC8k)=aFYpfz58UTnXf0A)VDrsEka6$PO8lo8HjErC#d8q}6p3O;VhX3-? zhS(mM>^U2g>3z$pYVt0+0&i92E$>xeYUTS3idaNnSz>j`46XWgG43GytEtRsK-6O# z)#S%0y%L-W@SHAhb?Y67KivvVf3~eRXvwcUCqpv5DtG{{9Wlpe-46X#{2Ysr1!T%^ zx(Y752M09iiSMQ|Lu>#ouaflkLgVs;_ue)}mxK#|$o>@NrU2nd)xGb$re$G;Y?ZHa zQr&-i;drO@pHvqBF34SF>5^8iU%?lUcnOLL6!c_hR3Qr>74~#_dj(}#{Jaa{7>tSs z#KZg{Zf~#X)Yb2OAKBANkgcK{rL3J7A1I16|}^ zfKJbx@j`3eyQ>cbcmF(pi*48gno9-AmjF`^`n;fFh}@mpaH}20K1hAaiLg#(1~k@7 z976H=UrQG5DQ9l)hHcbGl#G{qr{p9TMWnuiZ}rUVR1ImW5U4xhs}BAzpb^~4CcLVY zcvi}1EOakB`1F`4=zs}%mGgoJjz;rY>VyDlpusJ_LZ*Lo+1u?8SYaJ_Y536H|DcB! zZE&Ca#r4y5LRT8P7?A|RMKuJ_67P)`S}@KataZa7A38c2jkX05A{^tkP4AewjvoXM zPN3L)diDoEemg!)eiUwh+4QG3Od!gP<|LcWNV7VcF2JatONK`N>wf_tx90JH90?o? zS-k3_$iXe<4BVm5;uVgd^u4)LX^WsAF8=K{`aZ`kDde=XzZjy7ksZe=ug3~r7%sD_ z(0)>1U!S|R*`;0Fw=m)g2r9&vA85Ky1@t^04hVhM>H(G!5tx3^2HeE|b|lN29>NB6 zRmAB>VFyBE^9kS=#o55svC%w(GIe0!C11OZM)4`69(}lgh`ESa?Fh(Yl*R&0IRj3F zK0=!f{fULih@6r<6~?s!AG#5AcOrH@bV<>^igNiDdx3e?zV7_paJb)rKHIB*F4GUU zEih(KJQYetg=?-;=br9@!vH|JUj-?&+ncdE*N5-b)%NyiZ};B@vM|5v@bGX*jT`*}?THRpsgvzeFC}fU#GyDKQpUW@)_>(CJ*WY0&ULAR z4-=InAS*Sx#%hUo7ywO6G_vBvEmBZhT7K{tcQ$$(>WU zC>76H_o?Pkj=`+FpUZo`2m0cba5x}PzbM2_Q{y9E!g|O&x?-a7Nt#P-3P8FnmnSNW zxS~vGz|HJ2serBB9+|R}PY$fqo?T1z!Gn zf76q_8b$ipgTd0%}fqc=7y{PWf*cUkbC7YW28q2HFfQZNgGla zV8*2|l5hJ2M-!ky1K6tfOD^^Xb<|we!gqq%!`9V|L)qL->dL?J>;6n^5x!shQv$T-bE{h7|63Hij0GW+2O z+9;BBnB4FD&7s<@{4nLQ0LJ~kWMNox3ZsRY!>4+(H${2Sdu0e>_5ER3`15>Y2o9s{ z%QbsQTpkSjvUNY?{y?teGdCI1ro!8(Li3Dy!|e-b)pM8k9j9^)^4PP<(;oFDwhoLO ztH5<~7ohB#uJ)m7Ox$rRdU0p*F%sE)Dc-eiZA)FXV|W?(Hx3mpsaFnw*IHp-*U3?9 zJ?hy}ceYfKeCk5p>d8X(!EKg*qp@s#K(k6(&Yo;x9mZK$ui;z+RwFCPsdCSEo|wsM zn5aOTwVm6{Ue?PjZ2{Bsf?(VHfk8&||O-Wm*2Qai0T@{H&`o=kzYeml7}bIDtpZ_CB_jS3u^bb(uRcU zEtqEa;?1${q@&2#{C}P%e6}5M{B=)Am^cxsWOrQiry!U3swM9rk^WQVkK?qpA(&oi z+vHF8bvC8YzTZJdn}O6AO}8Nbgsje&TDP{bw<}GWEH51wv+>R#Z!cx;r4|EyZ+`*D?{C`7OYaGN9Upe(?wT4 zg`?VC?vS6{@h{Aw? z#}J8p!nrarO!pC!?$)9|B?4}s*q9}eRte2JjkAb z_``DhztrZ3Vk$?7{W`>Ly7J@H0$HUA$P4cpV8ZZXt9P9=W+QpQ3FOglFg~tvhewSz z*vJ7=9IWN2%na4Upr)UupReqr>!6iBxe|6jYw%WPsV|oO08Hri-@j!t0%+(TUOQWY z;;0K5T`%&o!SJP}s%fbHSX)M<8ST8JvpazjS)BiC7$W&Hh?&{{ zU$}qA>ExG+@GS2^|NH8>&|k=0Z6w2bySG_@H2X-08dhi9QrTQa$9B_1l*) zq>#5~dS`0%qfWc$zkN&VrN9&mU9SvKOnO}(o%^fta{C_pttU<<@)ftgeGLhYbQro5 zMLc6R{7=Zi0->m+X&G@sCudVV2x#g~SmJ|Mn^xb&(-bBx#?uTX<-E4jE-p!@23UKj zyqJ8oQXl*kEO#0_+5EIqy(}`$36Vjj>hk%!xYBcXT;+o;sZbY}B>k)nl9OA^T2o!YJqA|P_=f#RrfEhF6rotGN${*_`Z)aIDB86C4X`2& zK+?yIz5op}$5+SAPph{BQ>9IP>kb~Bi%_pdcAfPbA^;rE@KbNtt&vj_FI&!EUSssk zrdEGcLICRkESWCnH}KMV=a+do+xn0IQ6Yg2(pO-d;4^X?4iBfDF`)haYK(&1l7big zw~#LCfywbmt+fYK+DWFOhf~TXQAFR`KjreRbf~$*J4>c|_;yRZ(#d1`F$A=d>aoyV zg6&(?_SGvKmm6);K6!KNQO=~+9!+*Gom<@OSJ*PqW3)Xkt3TXk3_2de8_C&ncg8z3 zQQR46Zdd+62fJU#DErE5*Bb!~3>25R6@=;@0r}xU@ZF-1U9q$)FRGM4YaF2jjL(>?qHXR`JFpr^0V7A%``$EWy5jWQzKw=qRe+gpwEVK{Pzy+gXRF> zRw-3AIq^2+5Kt=v)C7Iiw^o1ZHn#d01?}GI#Tw#?XBOgOE$;!{qmDEufU(elHx;;| zpLLUJFe*jVAi}`0Uc`C@zwN6+-%`T;G+M_qSgz7)8@>-Q$7#}|Hc)9df)g>>CDi<+ z{f!UWhOStN`R7Gxb0a^k#!8I1E(Pr2R5Ioo{RB1Baw;^=X+>}yvJf|Ls>7r)B|-TueG3rEjdjE zmxZS+V}#3NJszX$<|hA7z=oOUe*qikZk4ic5gGTlahb|Z>!cw_hGKbkH!|Dc(8fg8 zsqKw&`&FTsS_PuitwxUT2h7Ychvfi5e`8Uyc4BOw=0JMUN0fod@tuz@iNUCSLbz$P^N@iCgb<4e= zlA(ukAo;lye5|k~vnzTHsRy>LH4h;@u297u(+S|lCjrF1*sCOY&ZBD0Z zekAAUBo~+6>ah7j$G|YXD3jt>^C?ooj3jaBUQ-0nFq{7vX`Pf9HH}J^)BX+T{Vyg{ z5=e>Sk=-wLTX|Kb0AG8VtY6WnW9WM5%6mMN1>uD5O~0B35pxK#`l7~^vI4KsYoaeo z=%SBiysx)0avX7c4D{G; zc+^7scdx)F(j??oPRp82 z!ukzoP+eHAQ+bvA73f7i6}g+!h@Z7`(H|K8%WLn_lo{(Ixg3Q{d<1|%OP%H+5OH6> zsH}cX;O4ZbWvo2VX9#KrSBAXCe?z$M=#*V=DmDOwAD9{UrMtsVm5xHK0v0~31mEs4 z<~bRN%`Z9qk9Sa&gZ}bzS$xL7&lb$Gx4ds#j4ET9>KbxvFisx8+D%bOL`LQ!@I~@z zZ!0>=Rif&gT06>FQl+Ji37s?-&7R!u-JXui>%;KW$386;cEdResiM=yVa(UMuxjR! zPt=w_XCdtaqqUWq-&pl}2CSD~9}zftEUFtJC&l!ybLU*0zoa%9sTi^|T`jJ-HxvY) zYb{c8rF0Pb_T`Z2j62Wnn2ZbS)m`qL_So2O?|^cyZVqK(Ze$bSt=~ATlx}fgwE_x8 z#(pKT`o)Bu>MUWg+*!5!h&;&khnoO$xdPK7m*_CyiaxnuDGT4Vr6U#P8&wgb*@2Yv zY>XU-><97w`38SxhDJKI2X(hO>rCt5lRiGzBW4GVo#)Yry<#jBM$6f+`=*&LW9OCs zhM&q|U9D6jr-){#D)bE<%)-UA&fP0Q*O3*G)%zR*myaW4@)FT{bPhCh9Pq)Cac!|d4M7cbkm?-fV9u|4x{9!Q zKbm=f6u8Gt20U+S`Z5Q)0q&k!$F4Z`EQzk;#YS4eV}~Ie4gksP3whaO21vzJqMT%g z!z*6je=)VqkF5IKcV{0tX%e89t+>pqy9XxMJgzq7pREe!Y_o z9YF401-uOC{UNXgyVV*bPnN&TEwfwTdqYNt)TI6ko&lS8Qm(k&r{ni%1xS$r;=29s zv!}11td>^&0*+nFiQ*y$eUD{A;G`IA$;6wis$G4rbyJHtg znYfXtl^jBL@3WWY?kdg0YO(%(RTh+j8`CEfbElG$>4ees@uiN)pT^YMhRsaig}3Z1 z2fnmI8g*DOL19KM)B})=N%CSBX=5xbvF2#uH9PpRY3TXWK&CB4%;xp>u%ycO4+Baq zs_Ld+`!WPVaASO!G{7K$CxC zPq9H26<`Dh5H2gY>(kCIgq*#lHBfMYuX;V#QMhl&Q2B(NmVM2e5d^0?(^+J zt||e8QrktY80TvMRk{i}`En7p&ubF3A#vE0<;&hur<^$J z>eO$mG3Y)Jh6bWj`Bv}L zNp}s8;Q1%3n><&qEc8-zlAC-XiVF-nW!t?R{aP}_&AY?Q-kIIxkhVb-YZ3bk~< zs}kS~DN#>!y1s>c38+ZWcl?kuQ@Qfb*g%cc{!eJDBZDF;Ol&nOt!SmD?KNNV)u_tR zb6spyGDt>K@wtb|ue%Ob+y@Wu4INXM|En7DXGWJ4N#M-svKg4D{qlq*_9eNQC%E?C z4DF7!{rYD7`{gB;`+RBpo~un>JJfsf7juW#-?%J~5$rd7`N4r`&VE z8`BYfJ5ooh1L*xpic&*2erT)5*ZF*GBJqt%36GD-yRWTD@eipT#+LOne#(ks7r|T= zLA?^Mx^8~1YZyJFzp-m%*eYRY^E*TVdzXjQb?t{^;bRlt-(7o8Unb&#Rz zj`-qJf>mjvxLLnRZbu?huiky7w~8B^dR6v%c>Q|IV>lyD*R{qd*HIooADZ0Php9@M z$bFWY?TK5ux#a!G@S30Y0+|E$^uIwX@NLUJ%%=N;dw2ioVxQFEzD2o&Nu|tzqjNuH zC2MhVmp6}*TyKq5>;73uiUvJ-w$On_(Ebz|S8q%CV(GaV{tG{=Q7q!IqjUfWM1Z!Jr2S8^(xRcH@29&aoEmhRQY_Kf;eaF~g$Yoz;mN(ThtP6$ zPVx0p|JgcFwevhO9>YuwKBr1Z6o;al#`I*B!{RALDs}p1v*-JG5$t@%jANP3RY8kV!fG zENidC5qu`5Q$iRW$*gEF{1T}^na#+dk3RMr_!umn{F8Gs-S4pK-F#K-1=;`M2tYzJ z8V_Iuyq&LGVQCoR!kPd2IA(%A+{*vc0|YV8w5!(mRB!-%Gh>}~j;U@m3Lil&L^)kN zeF&{k=M*i$0_=UaaH1Gub-4rk4U;OCnF54Yj~->fNB>1oM|)+gu{#ruwC8nI+36&# z-M*ZxRwCqQokdS{bDmD?B^J8pgeqTTA0`RB9`uVJJYsfF+t=;iHNf~u^koh(mC@T+ z$Gy^1a?S%kdZH4Nyb@038gl`ZVQ5z-&ncN5;2EYwf*%F#-5BIw@bsdN8%)}wAH>4^LPI>zuQ!-{_?>GDzRU%vbU zIigbYEk(pac>JGwdw&Q;p`I8*t(4))@jIYfH+Z-C*8f8a_HgYiWHz>4A>G=2sEp^4 z0n+Y$OsO%XA+9^NI)dwpP13hCW*~^g`34QAJn2koIBiuOQ0>G6)5v%PL#YRy80`9F zyGiyWq8{(Y4rfPkX-1$pk0mUFtxN!zC~CI;5MlM!CN4mb<~NTrsV!%T=^i9L9D-vBpDA)xMUs9x0cka~nI zbI3g`HmXW4(8^(VOWu|I`RXPK>nhaAnGR$>QSE6Z&?aQ5Yb%w{bLY6?^x_`-KV}zp z$t?9Sf|K=kW=>(br>?XIJb1nHaf#Eh$WD;rC6t2SDu(%<*iz;^E8VUme6Nr&>T_H* z%pUM7w{L|0udIRquZ3AF(Vo};EbXwX-fJGcEt>L2djs@DEA7X^NtGA>De3sFlR0_X z<&KBrp=CF$v_r4-u-{dGF@8^FvO@3A_YdD*uE)N3{$V}_p?0YFyDVxp=~l(;$_Y4e zo;2e%S1}_&MN=^pup)-0&@{i}Gfz(QTb+SnVqS%KyeoT>%`9FlJ#EVKm*dV=*GUuU z)Ee6C-MN7kv$d$A3t35}ckbLt_}zBTb*_8mmB;TXG*m`k;juMg;?ng3=rZXRf9tr? zdhXIQ!Gu$gPdC3FKChcleXq9`cg^pj-tqi3;~H;6nxlO6b+c;t5EsepqrZlfG#WWM zlg?4y&w2%=#l}GVmeS|ivp7?U&VH|S#eJH#0yt_g87&Um$W4P?cs20 z%WSA=5P|^vWjxPBJr-uDZvlV)jKOJ*b(V+H8A>CZ-~D+O5V3SWl3hss(MlrJ=wSNK zd`j=l+D5OPOzLNH@jK|%ka$Xi<759leQ=T2PPLMmjI)k5n>aFHlJo-M>16EW=lbX4 zgxPjWZPJCkYbDQcixNGKeSJxv0!a_tP|ucbKynI3&vw2hcYp7mzwO|BF$qCQI6*)RqJwy>a=Ova;{@d~tt! zCRGFW)dH3eHV@V_yh;p-=crcOfj7)DzAQ_(*&TQNy_;JuAt7N7>~i24J1?!$yot@f zI5(bf8?8*rbw-a2uac(!I4YgF+yvri3^?d*JsH*U%h`m+~o{j4a=9MTwkp;Hc(*2tK5=|p7_FgH}2Jp z&Ms^rrp!!U_wL?3@)A34*hICRI0Mv!ztBPhy&`GN`@ZUlVjtn8;VPppyUBNs#@a7Gqv24 zU5Er(e>$n26p?j{ES#^Lg@N6XhF*TUN<}>X9nJGp*l}gc8@|Ar>ZjO zHx$;I??xH{u26J1Bo$ytd|1)%B5^w`Ytz;{fO{?qENoCZSPPV0rSdJ>zuOJOKj*q3 zW!?@m=K$)@ISsO>Z%!nIN$iMbND6-b?;FS$voRYzmfuQ%K51$um=8RBXVBsT;$9dM z2)ikQN#1XtR@0?#BhRi%)v~24%CnAr6`yO_Js{5yq}1AWW12!?pP+Xb&Q<3waVE=e zg>`4GyQzXz`{YG1fAv@9d~BM#H^wq3I7bGEMw;FIaKe0=&IJ9G5=_^k7l zqz%sduNQo~hxr9v(LK3gzcHPr#JV&Vj}Hns>y5K#Bm6L=r$pz9%)fUgb;7Ap{^lZa zOXz}r%ChnjQV)4}2GaTlG7K;Iv_f~CEQ-Gpa$P*4@bbz0M+_vx2@nA@B5(4oe#IzR zls2CUk~VC)eEWcb6wth_wcyI9BqUL_5T}+g{*1*oR^{>yqvoHQ2@jF+1Kp#>nSa1KF!d3x z{-|~~skf${QW4vCw$(mz-~0kX(+22FDpDs&!UkhWWdolm7K4L-BT}UpZ@-Rx&z3WF zTn~ISc!o8lG!(|nYOWx!d&Y(R=`}C8^vROWnOy~+Zx-vOHDbqOh5B5)@vFi~8FSZR z&q{h}8nU)MGL=3^S{&ZUjTJu0ZquKlQVWTqe#lFUoxc7+-#`})Z_mcv%DEU9>u~g@ z>3OC_$Sd%>k3e0|$(iBdFbxebHNNU<7E6mGXM+zyVe-w7hw|cv?MMA3xt>-01Hi8qTjs#K=0Ow|tF-!pqh< z2OnFu7f%$ob17`VM2iIZ!1x-koPS$lPBBsBxpM;G!w*;;OVq*b_>;#?i8t8xkc#tW z_jh}U!p%Qcs0t-|84tVuzR^$*aWl9e&U>4Os)Y&U6Gw*mu)4FTChPn~8B!43(z{$w%D9no9v8ROFHU!$i= z5U?MQD(&NYrop#m%PA^*hAjpX+O~xvt8w^Hi1S6>y`fzj@0l*3>)-F5iI=U>&_7KC8?>I|>L6bhNK#X};w@qEcF0pI&B z&t;q1u6|BW>S{flVxQoLNjNxOh`&l2a;9E=w$^Vucc8MT^{1CUkY2kx=*iCi9U}T4 z54*9LMHTbkETbuz?e4vwQ3ytFtSnPiNl6;=F{Ykzh5hlLqj*Ke=N0M2~u&IU*wC|ZC88WrgxZMpf_Ia zG|yNQMm4Ug^&-9^nf~S0yX>Qno1Oh>E4>s+5=P~wL^18KGP8%R#v*$FQTe&?LPv~}Rsg05mdUodD zn5YTG`RiAftLC#y-L8@i>$Rs~;L|=_;7K2)KHT{yXP-Yo<8e)V+~t~&?9gM#MB6;R)vr3b5+&aHy+E}FN_@^FmP4Pz(`nrPukp9dlirP^4P zl)Pf*?yJ$H5VeemEiupEOl=0b5@rW1j^^o=yt$YpiKXNe%)5bP!F?Ok#mgFIXqQ?O z4APl&-Rp`kPi>a-eg0~R^G@w&e`tNTIpch$vx`^8r8MQ}ynd+5;Asf3s=K%|m)vua z{pZbpblV#IW*FS9DB=eF;lr@|5qo#ycA)_xrR(> zkN6|>I9cvdd}mmsj)GJ>tWGo7r^*r6ecd3Gjb%<^f2Yb($ZI?9teI6SAB-_qVp?y2 z)V0fG?M%+w35F@|wmZOrjH=;wZ!^4TP8w)SFW@#sR=NhboVq=+>BEO-`lpR&NvbPx z`oXQSqzj$3H|pujJh>ygYmcQQx(O{GO8z3|*d$5c)K5N{R@u8Q@=SXw#L54%#vn&@ zNB5WL@q}JFr0Fd;u#S@`U)WE&IKO(Sf%aSxryPWRn!)wN&l6!Vzzx&11z)+RaF_PQ zi*~@pe03D>cr^2Cr$r7VyqC0S6_7^z$>=kb?EQ%@%1%+go?sCjZBE-)N|`?x695o^ z^-G9&0n$02qfvn(d{^Ar7 zNE_mQHJOCDU4ukU6{xJbD7J(N_FOx*?aOWYIA7=B;%4#c%d6IpA7@J0=8NBCXJSX> z!Z*0=h>VVo4l|M4B-_fXo#OYC29oO%!;3IgCMB`YD$uEtGGMW}17+7iLCM37>|WB` z7HKsVe%t`I`_M+kBd)S>lI=1%tZ{!=aZOXqRFgXQt)pmw_L$;W=~1kdN4hQdl`W-W zz_iy5Ut3`Omp8IP;NYvV#WFQA3ZBOkA^VUwB`RALoMM9%^_3QyaFmMKNd#AQBaoKT z*4Dcu^cmNGeryg->>vIfC-_@$9`;-16q}LT43wCi^iJ~O!{&;tWqBzU#B4;QedWhV zYQw{WrC_Yq8)b|G5bT1+=Z3@;nN(SSZfZ3%bqKd!TIr4FeS5N!IGZS)M=dNsWfx2N z?;*J%z=Dl2jJtzON?WF+L>Z`#hTNEB&;>c?>&#QPqs+N8cu&ZRej7ve(Qk=rzSkfF zws2L-!9kRazrQEhru${aekJ3<+xsVj18V+qo|}Gpx1}2*WEU+TZDfQOzh2CDtlAhm z4(mR3zsZINoPcR!AKv+0nTY1K}1Za}XV zx-{^jo}o>ks~qIv_N0(HzU&km?F{D_U%}Fv0yH<#gHDJ5a^@eWi*S8m?J7C$zmN2t zn7)3gm0&Z5XPJ1y%Gh951$E-b0RF;iiJY~6lOLpK6$kiop zwq#b=G)tSFO|!ha%Vy8UD>v%5+?5Ff+Ds(QO79Hs0H3r{1&E`pwuDGrZ!$4ZD>-*a ze+&e+h{F>^>}|eiYJ@9_M``OpBQvFI6rd$0wf~&FKgmA4=f|-xy&ihVS6JmSEccgjyFf?e4HNRYV-sx@nnjI$_1@f{>5mtm z{e6~$k=@mL9((?)%<&JAJ7DBoQ{fLj$QM66E6<$%=%=wlHePoeZd>8pT+q}x<{QJo zKiU(i&A{n;aN z=pTg_+LDU3B8!ue0GLk`&!Wab0zRoI)@r%}TV~HKx!L>sgNYoSS|8M2zT7=_`Tlv0 zld9?3_9;-M0XSuX_G873mt6Ve&HHkr7kUiZR;WlQ(dvvd^YGSgnxUrlzlu^B#BKlC{mR8$qkRwziLSk?}!@p0uDovI%eRVHXl@t#VZn%9hPQ*t@;_ZJaPM2IsSsrQPgZ#nU4lYoVnb<&6{u`JkeukywUBN$ZUw zehwCMVap3QV)Mk8@V5<4m{>vRfHnHl#sdKi&1a}9!nk^QveMBZQ;Lvy{ef=XW?_4b zs7>H=#9T02FHM*xv8=Hty19|ex5l67X>7~8y8n?i5ge$&tNrO8&w)= z$^1P;oR`OThWzh_BR>DYB2-xKO3h!{{ZG-71#H}g^|R5dwki0LCHYNO6wiGUL>(e5 z*a=(t-jI`>$yq&wx_j$2biC%eSK%CGP157QUa1IZ*#$I0@S~3`=)Fr8h{LV7ao&vu zYf-7nDQjGm1JqlK_cMHyOER90vy6id4+pLtiX#N_PPlbONgDzQ=XxUcwgjd3)Zy4I zZ3-t_v?{(c^dK)3-=ENLR%B2nj8pNkQBN#!_v|jvgQ!>AuXtP&A%}c;sJicigfDMX z$8B4Z37OI$ z7j%N-U}ZP=UQN}kr{8yP??T17yOF&G?@G!SVZDjGm)x%|RQ*_z*bd@&Pn18Wl=ZPd zaZHlZAVBUPKa=}r<&vek!n;S$O>XjDVP_XWPHed&mAo<+$62@>*6n29=qhmWS03!T zX|>CGyQsft#T(O$y*hUNXG6c`9}!z9h;~h$r57`>wgH;GCmm*b^gCAA<_l=bx;QU+ z_1|-dUm*T=Qfw}^=n-PP@1vo3n)jv#Z$Lor$S?7xH)lvz^I^Y7P64(^t4vho=9qee zzcEuf`t8%FpYR=L3{R6*WU9&{qn8Yp?*k)?nw0`2EG-ApGS$atXy;0VU^>dRk}EHc z7^k1vAxHVb%01_RJpPBPCYbh?`xg{j0NYByPLVU(va+(oJ8)(jTkoFSB^fJ1eeyWZ zKHtJbQl{@ud^Kp4jfJ_H0Jj%nkjx;5aM4V5a!1qd%sQ^lHq&j-YU6zGflP9TPAK4K1Zu=H~fxLOM zYS(SXTHRx3B2(GNETAp)s^Eu#R$H6igvRhej~xvk#F3GdPt#(MBy4rR+yZhtyIs>+ zL49D;-9zi{o=z++Pg^4EoI#0lSr#N}&ZyddHouV5;`=ST*Wj^5mnMmXn!(Yf$-JMJ z7hW6*ee=>d5puhi`&eB~&F5NO!}){zf|2(XARNs-o*m)qlylJ9k;F11$71Ri$aen| z8Z`fHc8p)^$nYLNQXV=-VpUQihn$xR#dK;rBD17Lxm)S=hC3(2@&x^2Bda52q<3BX zz5>jb09EpNlxom9+u%neSF_{T?YAb%pyU`4u&NK(hqaNZBfXw{?eTJ-fk`Es2hUsGY|GJk8Y{U| zTUA=~3OpUKByQdy3@neC`Lf}H_ds+?nz_8LYuEy)YNrwP9s3mYmJ}^nzQ8WlzAnOt z9#*tzE1TAh$0zF{B!_=dX<9%xdaS^MC89I{;y)TXgpd#{eamSXw1POT6~82t%D?sZ zJf;v1d^Sge_w8rfPd=ZNZXM-w&DxFz^6(9(Pac08J{V{OG7-N)<Hi=Xic&SHZx3A$P6>q%g7E{ONZ; z;xw3Q(B0~5q(5NlYkv|<&*VNUX3@~(#(HzIz=bcEHN%o+H(((v_{VOjl&sqe)@XCh_y{0sMak*-m9&{AphozZ{@SU@&!)E)yxuMKL%Twf|L0|a zK-CB{aIC0b%{ug;6;^}6UXkkmP!r^Jvh+&x52WJH@NB8Mp4zLQBjw`c#H9}+Rb^c@ z`+9|{VW5696>#Gp2pOw%6??@uvTj9gP_Mme6&Sw3rX-@CU^F;VF6)Mu+uQ;9n+_-k zb@q>QdU*p=h~(e+d|BaKaP|#asRFe@fdK|zgP7Rr#8qND`Kxsx*YQia4c^PnDVPgK zM&nLIqMT@U!AOJM2+8O;JQ8T!{_3yggSd6o75MM%aUdTyInEj_j(*eS`{1uy?QB}F z^RYXIzg66{Zn^gN59|Vc1xzwzhPXyv$B;;HFRVWX&n1tf5*3AY2mK{$@u=x) zOFyMZ#7)Mkru@_syV>J>v)TH~D8>vk^V$Qhf*}7)0V3L%qHP1HPd*c# z*u&X~c>;O+ln!2b^tqC`kQSJFkz1tmw0gpBtU$o|q)bgsw4dwggZJO^3U;dS=Wf0$ zxe+becF;Y&HSPH}8I15f#d1o{gp*?^Q`2}BMQKy?#G&$7xUB0ixwh+9Bk_5f%u(H> zox9s7oIb9IIov7>VYDto;_$h05Q+rPBFblk^EQ6U8qo#O7vy$p=deJ5{kUU{5Ud1l zoU9_q;b5jEXC0T#ui_JkAGk4rt(M%FrRKYAVKUWef=k}4+`LQPyuhRZgR9jls;h@H z?dQ{wRdOP@I~T~}t;@hyvt;q0G}s87vz z`mofZvC;YOSlIu?{U8T#IZPGR-slrX#w8_fZHyHjh;3MzT^#zv+a7jZ*#F%??^Y6# zvtS;b9wc@$*$*=b!R;?pT0Dw!XgT@Vqu(hQe#@|Dk#o>}U~?zctP$RL$*tUR`1jwC zvBL4AGRIu4&iRe8PT}H>*kr27i?6w{B;2ufK%_2(0z!Q7n2h0XEWzuo=huW@MIHlt zh>10cP~2?`eP9G{I+^#IEe9KKPOnzc-5qvWW(v9HOW8N2f^op?M^@FSg;VwoRc83L zz8ZuI&skb=K(`tqS6`=!EdI?+d7FXDBmQLqdH?aPLmRd!8vW9Kr_;&*5P8$pu5s7r zlXimrpj}FpL*jBhV#!**g;rX_&0ySYa!Y+7nps=p)#PPnT5nIvn;=wY!SkY>*7}7L zr_m%;>>opzs?*28pMMj+aVSMGU%FH-aBrsUh(@bbS}QiQBOYZ-+Q{Y9cb#S5Y3ux2 zWAe@LOE_)xTB^9Xm23&Ms9R#MwFZ0ocjC{{QtGT}lp9a;a?Q4G*3;)9pDV0r6;Br- zXax`=Q{K(jld^9m)!xy_4i)~i!sX`eJ@FTQj`?G)`!<|qSx;J^gZ{#wOmld6;Xu8E zPrP$zl|(9SWMY*Ukm-!vo>K%)tMeruS$FsMF19W|YAV07Dq6Jnp3OxomF^@LRGEd| zNby`F*s*tfM6B((ex@x&!H^2@1p{NCtrp}8&LS-+LSp9AKr74gZ&FY2E$VYx3 zdrhSnZ#P1~qxX?Z$`82=e8_g{G>ychty|0bQvLOJCPDjJ(_i#;rh z2tRShu_2CWn=^I(Bgg7^F(0i6%4>1c!5RYAzW>DEv)DZv^hjt?tEJxoih<6>%?KJkGx2x(nJrgsnbMKib%Q&V`j?@&2 z*P%5ojCjEexZC$rFM9tS1;j_&9Tc=Jvc%=5?+1sV-!W|kVZ`Wf&rIuXx_2>OG#iCM&{yCpOv;q;MWL$5L zqo7!13eF?`?EVbcsI(c>zyk8uldAner7#j?pVP?0dN#uctpEP>qkH zYi`0fxZQAQ8b>IXp?(1|+Pw9A{9wy7-I?39ubG3qO*XeYfhh$6fV~0K)??(xH3dI5 zy7?YaR-P~uoM56Pu=+Hq-CDiEk_kC|G<`7zq%}H?cF^Y^=so~_Jb!#SQX?~xk}IA5 z4w$mj%&_2pRrH*3Qdn$^(o*PW>JWE638mSu%d*ZRp2(vNkw+D4bD62dJ5`eWG4Jjy z$Dn41k6j9C{$@Vg4ueyI&vHL*$5xq!+D(owUuzOI_6%p=sgiEUVXu0x1}u~VsYZ@% z-DjA4VdYW(Aq3!E;2_UO7713nX3Z1QnLK4{yfPL&kUsk>lL;u7#gR5_fi~B~S4o?B zL59uYov>ELo?$LTl&TuV24n>fG(0+@PGG#*@>^U-HVYUII>~^y=*dx8*Q> zrI5M0>&BlfJrIRbr+h}g0?levx)A^1X#-Y)fZa|IwEt@Ihzp*{%)Y$hm-oF4{GIO5 zSd|EUhj9&2lgiRX=yH=5(uvv$f*}6^G|7sWZzj0SFllE8-4rREv0u3Y5jDWMfsC57 zG;c^4Ao&8+Hmm*%4L$TgX1{5F)#{1{gkSoS4B{UXzKV3ltt4?T;yaY+saxM*=S4qrOKBd*-pB`~Yz8qlBUn#b1( zlu=I&o-Pml`}x?2c9_xnq5PE3uDfF6^^LxylpH0f$x_Dh6GSZq5){m$ z3Cn&FB8H0SiWkQ66mMm8gkmm$#QQ$`5DaVLv~pLGYyhlDVO> z_;`^a%o+&MulmcGZ%Sqw1}P>Q#fj4HHF|X;(AS7(3vXWqOLAwefWYu1vFb-vq0lHC zV7|whMVV*|5UBuR5-4-=-((F(SGB(NUn*G|(B>VDGX0~)5Rg4bBEhW*ktoJ=>AJ|n zl!vOl-Lbi>4;Q^N^82OoMa2PAZHud@tRUfMzw9+h956!uTW{5Jnm6VR8iW@! z(Ui&J_xgJ*KV6xRe)DyyZr=Y1P3pRU}X5vgmJ zk^;6Keb^mD;tocHZof~J-m2CHDdzOI32_i?nAy^I+^5JoCP=RD`8OEJnGL+o<3-6{ z&e6IT)g;O=J+vtY6#vV`$C_sIjgl%%@4x+hR(@vXL0o>RK_sE7Jt*C{)`Uo}5rdD? zmn)(RVfbE0Z+BlXbw(EwNuRU=793aIG;MoaM;CmKy8g0r${L1L%ksL4@|G&F0W(2| zpR?9+2u21#6y_%p?omkzh=S+YnL0XEvrR9~oON7d<({ZN04}d-z6?7_r}J&xemuW_ zlq;NEYpwff5-T9yAc><#b8#%aVT{dRLyAB>-Dr_KvozN5rgyyw7XdYb8Ep9|U*F6p zdnp6%)P*&An5)31$;+2f>f^TZfWNb9N|v~sk{hpVQnF*VzIMv+*1y$v-sbw#6?gk5 zM7jP{CMnA2i816EK6s?3`$u#(DL>Dd#^ z>BpEzKc(k({YskAX{nFbdqIU@;;8t^;kv`nXDW)ch+X!#IEWYS4y4B-xiima@c{Ff#^8 zwqztBVJ4A%UuW!M3kQ^%RXCz*+gnX@Pbo7#U?c8ufz_y(K=OS|B&6wa2vAGeS_R``{oUW zr@n6&qQ!6RwnkxN+TY8Ks%Xf~3>NNvy|LB%LC!l8R*<^pyE_ScFc9)rcr~7k&)d#V z+#eaCm4G?Kr2$Wa8O@|Z)6h*IQ9ep9GKS=pnUHKW#EtVp^`!(C+SK-ViS7R0@zOI7 z{+(PnpSR0*W|2}_N$p8%oSCvEpmM5$C*f#EAJNlge+9GNILiS=TE~T}mQ`Zv!6(4Q zH#liXpOgh;V7IPA*_omE6sMy{NrH%Vl)qU=s)@c6I%#qe9;b1bm4p>#6y79dToR!x&NyOWd z)3!;lXCg$`Z9d@KvCW&s${Y`$#u*`2z?3HdD|BFM*sAh|@y&yD<4-}zRI&`60Ix78Ca5Goe}&<5%+|3-2N90Zu* ztJSYU*}(%XBs>tVQC|w^CqT#P$jClYWjL=m__C7jYv!04jr75ygYyCV_QdD&*56?0 zyoRnRPjphHQcaNkJ4ubrc5lQKeqkD5wFK)GYo-CfjL(AycS;Rz*0?s2$y4jF>j`As z%bdFI<;A1I+cw>4*EUA|k*tD5Eyzr;&uk|`1Rq?+!$%H!^!8dp+goT(TWo5l4;XN; zsANNGkS&3hS$g^cu&?LD9})Qb^On@F&xjw2vc|`YY5DDD+EM#Z4E6DLNSPC~5k~Jp zU>ti`O>#iGQP|K(m8ZOf?}n&j+2YT1wy=b>_)}wS+#PPuG9847`w?s(Yx+4+bnn{@ zR(`IhZs4OIfwsAJY?L}oFseQ%Lq*a&3tOsuriwrIbKh^r51{nDP|l@I1fdHv5vY~@ zJsuh9Yf^us#hl2@K69d$nftP}x3FTc=2Eo!@z z6>6OEo$}5pt3m6!e&XK)BCYTgVq643iP%a25?Ts0CF^m#jyiseohpmvPNblRlWhk{ zjI)ETbG=;DFulUWVmp?@i*-x#5T<<>k)&z2P`czckYAHjA|t;oOP^77>wu1j3zn48 zEM}VGU_PR7b;CtGtkJT>eW+;l{z`{uNN6`CXBoXJIke_ zR9LKRf07(oaU=3PS?j|Lt3ZHLK6p>h|8V#oLXK+L4C=ANc{@-)mU7jd*w2XZ6CaI5 z?JNelUXjPA0QF|YBqdHyw6=i-qr@R}^!XUBQZRbHh8p;cq%C(N1ecY&ZIc{dNwpG2 z@_d6;x~JZI;4?$Dk#5v2E~-4jCxMUhwi-E=%_$ts$?r;fe?D48RdtYG0`vZ2QS$>> zZ6=1-$H_E4!(0+B$NkK)ujL`yyO$%PKrnWkpzOOaaJ#QBJB83{BeT{n{THvcwtxjC z*JMK<2#>4jP^oxvSj(|XSCY*vxq(9RL=>bAtA0Ef?5>w@reF?ec~=h#C}}XTUP2U5 zU>|SJibsrdA83EK7{lpBDd^w~JEl!AOjdjL#f?%pQYEo5?0Pah(nf|BIJ~#@5nr5l zN726ZWZ!C)SO4$#f`$UvD~MfXV3{`D1MAHY-cS!mje!FQ?D-3u?a@%#3V z_zUiwnqlZ9aH8petn+@qFGz7-kj_pEdc5*YtM0d3ZCK2wtJd`%!_;GE)6Z4|R9B>J z;Yt4F>Ef&hq6PwiMsYhAVhERGQkyr&#O!kq?xw1j*B7m?oG`!YHW={S@2j3EW#Yvp zo(FTrZ&9teF=38O(4ut5{lo7^&q(n~lzd^Q!Iw;81W4xohX&i3l zu>v5C416hfMcr5>&#e_xVx0Ci9C}`oF367y7CYbKDG+KX!YwhjLAFJgK2hKB)w-tK z9EjGpUi%7_fg}fSjN}{?-w%wYbxz>`OkI z7&lF{Y5EclcYc9!XbFFDYxHe*g0iFW2Y8ljNm-Uy5^-uvMe?SGzEgeOMdoqQcq84c zOpu+VcwggwjvW=B9fI7}VX<&lC+~>Wiw*6924icXYhTOh z=#9tjJJIz}Y4r5l-5e^xP~eiW6PDjlVdC?x43*(>*I3`BdrJoiYGTzzkO>~U#N`tF zbXyG5ydGI!j(jpex)oh8xT$^w=hc|j$7oAnn9@@1YEAR2Qdp}xEDf!j{0~(wN@Ukj z5~Gcuac0Ob)3dh8ITj0Wz zS73F&;%6spAs==N+F&dYo36Egv}|;-=fj6n8`?C>au;7(S8~6M9YcStEV4S-ieP=) z)@khEieyEUZYd6@=8wh=prfMB*3mijL;UHNbTr8TExKFk`Cy5JMop8?ilY_pdGOar(4hZJbZX9(8+^wLDY^7*-s zrREB@zof_6W%qZjkJSNxZvFyH{sM%+fi5t!Lz6tIU&0ISSj;>Ie|yr`NrK`Z0P-~~ zy(8NOh~=5fY}{$pa!^7}v79|;S|14e$h3^)q@Q>^LnY+K8c7WH3|zP{_PjCJ_3XkL z>&rs+KRteT>(8U@Rk{zQ)%t8%-AYh(XQsEaW>onfPOyihVqQrdcqNr^;qFi9w2lBq2{E#SK4so> z^+4#&zV`&A=SYRKQpA=OMB*wPh8^l%3!KU+0k;L#e*)9Fbi-(h%(c_V1_d#JL?W)( zJf4pF^RZ4)O5y`okFo6lS3Bv9-6~HzgxjyzM=`~s*N&6Qj5dJ%20^bk%_7* zzs&2mcR4~mUQPea&8=oyJ_`$IzT9w$3yVnQ&#)MUMsy-d?_D&jt?0?Zq zka_VqAD^?``GhibD(-}f+Ut&_Yd-HARZ6n&4tZ8RUt9f5zF@F*mk+p&1FStRs1yof zrs+WNVfLgAj6;lewr>=9w(YOQnqc?W0Zgwur8;vbJ}r~(9+(%}5YML>Yiv{L&5c?% zg{vQt#eFa*I7y78a!R7?*JVp4PnZexf1dI3%}1{3pH`6DAnvEvE{dZd8&+@W1V%oC29H15{$(H;t!g$<8y zpTBVNB0RVr$y1fN0gJfa8x8;+^d zCvjj4EdOjyFVLDm?t*~j0SkvzU+(xsfbya=itKn%Wv_SEr#JG0_qN`4gZIt^Ibp;^ zK}N~zIx(kxjfCevE@tcL#^xtYTe(0}IUvB+zq?Gr1Eq2KYo4ng0^3t6@oRMJ8z^|A zx#+d$?%SN;?}>~IyH9DC4qobrHLGktuGras-e_^8!Dn)T<{ld|9WD3h%jW47E~jfN zTr-ve7uAYf7Dq(K3v4`XzFr%L zf0o=<8fx@nK)~zj!6~Yqv*%mKi$Z+e1_$%3>03*U`$6JFt@hpQ;bb3&&BrhOib_t= zHN8s!Vm!dRL{3$wjW)*A3M6r=K|I1bjXW>eZkI+aj`&&_4pnui;1U5TNs}8PF5)lV zL@I@o*Q}?*Q%;Op_LpQLK%Ds|T?A-YLOHp_WC?gau>zp6m0GJam!>QYUmT`u!=(>} zKC^g;+NF7~um%O4_+D6jW0svb={YFt2+^y?#Krhuw=GGRnmq=skv;m2e{&OV?ndiO z@R~eu7a(UZne|F?TybiSpedq5$xx()2xo&wNa&CL$27HAcXxt%I0FjaQqFpN8SK?j zV;L-_IkSeong@>qGWiTn%NROmB4$H|w=E``0u~MWEG=GE04L2R)vO)VT3;5?YZx1t zt37RIl7*^#iE9|V_D!14eL$;RZBBR!_`OD?PlOP!*SZpdU^#a|&IW!7gvIhd9q7Pk z03YBo7wDwue{A^JZ)DRr)*$sN!ti!kVU|p>&}Gxvjt8Mfc=8mO7uG3@ci{tJKl&%( zlOEpfjz$2=yqtR+B|?NXEq|QbojR?8MTq0qe`1B?QzkO+w^&XDZj7C57^K6;71lWr z7Oi+17-&4XEKFQeD`{_$>XD;&s9`uFh-w%j;F}ES#ng@3R>ai6Z7X0P5gpJLkq}B~ zdef95uvE2=ivX_7o_HvjlQ$L$j^&63%Tg&mn77mF-tf262r-NQu}1lduJxRP%htrI z2Rk7BGBZuH9!K$0w*;SIPQI-vsgp;Idx_A86%Q4ZojdR)u^3Rg0&wJ(O%ku|pgXO* zmHq0_Z=j^?*&49Kvn3L!+#<~_87jg{bl-A$@p9^PTWNj`y^Kkg_#18Q(9;=bVl-#;B!TuOECqmgie; zih?)-xmDX$D7;cU$RIiBrop>V+#jhML;ry^+8DFZ$8E+;;U`|iTJG53?c%_KFSvnmU^qUh2*V8d?%V?Fj>L&tY>a=R^#9Dr_i(y|&=Cy1U#Qcx7gd|{uYtj(9y!3MN+WrJ~Um@FY z@d|P#Cwbl$+idyDp9e_8)uvaEuY&743lfJ}K#Ajr^jS{#DruzJcemj>M0DB>Kjc`* zXJQ{I%;jipB4Fs$0VrNmtO16q3DTmo15m4`#)`?3zYZl;&ZrJ)^Cr^2Ge}lGDGb2F z8#d2!mcw`Z#)Z=G>)SxtW45NfdDR9PXsQ1kW;&r|&9*`Z3WJE%k{x9Zw=LrD*gw$yNb2TG0fFpSuhI&plb5>sbTOUbDVgZsh zQ~&m+jk=JD!E9W;S2bzjE*Zx6aGi0_M-02F;6gyUrH4F)M&k z62b@nSRrW;^Gr#MV!O(kw4YI`z0^-p5#eEDdoQ{`Dxa#JLLY{ivxF2a%E8|depxa~ zjwLb3kmr2UM!mdx3+)GrL&|b+K z*2}dDy!8OMWX&zneXCK~3DeLy=_Ap&PM^1lM&LrR*gKMn7OkdVIk#G9bsj zBzfCobs{HCaQd;=bkbrqCk#wmhJNlyk9%!wGsftvp%+a9@sJ!2Sy`$Kqiy-M$O&RR zRsvlRqWX+SQj_xOqws{^9%bufE7!VI9O+()h7!sSV7pWSzFyQ7S<5o7r$6!%=JOBC z1Uap5ZoNrz&mBo-DKm+2>s`)BwLI3n()FibBi0%p0ltZn$AE?08&|@pKehpOqbS0x z5fu}m`x+v4)oGFh+`vZWxvpuzI@B@JCish-9qRP}W<4%Pss}NqxK#f`~;oUTx@_bekU={Wo0rD;sBwNeaHi}4LsTG zELQKx6l>GiKqkZ)hyv(IpWl+ft=HP$+qYj0wMcPB*SPkiM$PRoN5}k_KMQvz%_fyQ zHCN}PMa6(LqUL6YK7~fgFBgkQc#7W3^D0}03+Q*pgG*sNxW2FYLK}C?yCm*+KA8^u zGYPDtAj?RL8GDx7YN`TU1F-6^3&$*R+3`h-71%w%to>CS0W|ybRM5uPg|=K79C)H$qx5rM*v|^U$F?x82DfRi)?J3f*Jr9SNX)NU)CU+$HchwpTV? z3%xxzZAeYY+L3Dm6L&hNXQVkV(jqw> z&9bcjs$AF?hq}Mqcg`m`8{y(VKCJo`4?TGB7CKd3+9N1Pb>)D&bzMoRS-xb9P1j`& z>A~~Q-z?YRo7r|!E4Z`Ol~(iNM^_2KgqS+!@Ck1uZCU3txRt`S}JIY&JlDW^Ce}Bv(MDX#7*6Bw0g?P@TLBStKZz8Bi z=f?J)R4^@1lKoDcSU(Pm{y{c+dK2psiASJQ@!PHbbu#G z@Pseln1;ibqJU#dD-<>^|5DqXeIafcU;nD7ADDRGmN87uuV${;3!q#cG^w7{KrhR(kdFBUI1S|G&MW67-6Bc(O?;OiX}Q7{&f!@0QZ0RyevndBvX&$ zL}u;UgM4Efao9EHu~WsBJ+t1|Z=0Bi9|VjMxD565^murWb-jP@wvplQb<{Gr^q}Aw zc0_#z{41^3tk5pGZDRUvytccMsWm{4rd8=hJ3bdPTHpsre6!c*S*)u=1zY&ZHkLIO zQs!Y9J9^E_{GL~gf!!>(Q%_T)>k-VwwapPaV=$$+c0a(q!Y|cDH@|uxz)e%!aQnCO zPUL;G%YK<8rxt0FvXfV32Gop(a}c$D%mF$j88+V#ne;*_sY|3iH6-{qH~0~tYXLmu zM6G~;=IEcF5+XP0x&%~|fZ$=UCjYz}P{C|0a_kdYpE zz%qkF^_TKvF-%5X-?x>zhFa;nvj?OVHNZmj>p+H3&OhkLm7m19n8o^$c72__^mbQ8JJ1Z;zUf$}bKq%5C&dRs0s(k74ua%nm0@ zeRi(Ao*R~p8+_TU*vY{uSEdsjf)*QoM_Yp`ix%$r0!i>?_3}gQ>&mWYU`O`UmEWBQ z|MKq3$r+RTR4LqFYJClP|129^yz6VHB9p<6HpaN0NE|`3>ix3HaFkhUS#d-H>}ktw zQVvgQXD8*nexlQZdRX>Aax^_USc9EnPW2+HK3Y+FlC1nronzlx`FPxApHle4zF$Pi zVCqdEyOta&{E2+%tisfBkVvK}S6H_WZKPm{@w; zZYbb?0{voHo@Gv*j(;L0ElrNB4nx|3zHFzOc>OaDNw*b28Jg}?;~Sjb^p-!AW*j92 zvPRSP_HPG57u_Z)c-Y#x3zVQfg)^Vq!(c*E{>(i&S2ssJZzd&O#%cu5W_8o(Ip&Sy+QBJ}%IB^+C1W9zBY-y^=$UwHu4%sx zjeXCmmHju-2YcLSM^k?y9$`l}VC6oG?sU{a%_zS~GQK`1Bs*VZr2=w~lm_=E%3YLd z)spRUfc-pFSk?46AP*NsR*)qmJC-xd%y zl^zB>b3jcrJ(j*+S?#xPuVjaciB`aqh=TxqAa!rA8M9SB8ZT#A_BwjkmjsyT$aQ~G zDUY-kC1^!E1NN{i?$*1y9i4|R@Pv7 zcP!Al=0)k(z#X)s!F?*0;Is4FlLVwa$N_k(p9@KF>Kbg;;1AJJ4p8uB=!5CaH9_pt zK#=vQEWj}?q2QpSN-kYb-7(-;9PrgaZFrpm*X)-0iY;}qj-tK{qD7*-t=qGKoH*a9 zZ(%*aF;){uh8ziisO10~&C(e%sx;Q=VYsUOcNni{YF^F5@AZZ{|3103W?L|$CV_{790$M&8QOJlmGK@B2~aK!c>?)cMm82Y@yq)kWU~#hc%F4>N>Vp*K)l_V&0{QGapp6FZ^3RcjQ^HJ=T1M5I z{5Kuf#aaSITnEgcrhv816P&{I+Yy-}nF|c>|E+WV{@+Ja!wV%}sumn8Ofs1YjJhRi zM)>jHAl?G)F&yI98*U0^`N-5MC_Zh;1Hd$a@g(622UDB>16Ek@CjWowPDG-g@zM_M z-ztlSO)`MqCgWA2r^PmrHuYkgPTf>BPGB}w;MBA%SL+EWCjKCW7!CgaH_gHy{?P0r z`lUn%G1>LAYdd*O!OO_UdK~?BRmrY64bOId9=!VdTs3WxcyTF=Q#kQGW#iCgA1jMO zT%rUK2H}du37TEzm5}xRHza2G+zl|m>ny4Yh{TQblE;6^sCxNNN57g z$C@hw=g}PT6}(Zo9O>>*Nu6vy#HkNua?qU*zGUgioOXeJKK&oDr2l8o>HpU7^7J0x Y>J`6Eb5+c<1HkLPw&C5P+xD;i3p5CaO8@`> literal 0 HcmV?d00001 diff --git a/static/logo_grey.png b/static/logo_grey.png new file mode 100644 index 0000000000000000000000000000000000000000..e2d59deff3fc6cd2b4f26dbe48e109440a34d5e3 GIT binary patch literal 76914 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%0DAV7e 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