From d9291f53e4a7989306685967e25dc6288d5705d5 Mon Sep 17 00:00:00 2001 From: DoctoDre Date: Tue, 30 Jun 2026 21:00:58 +0200 Subject: [PATCH] Cleanup: remove clutter, gitignore secrets, update README - Remove .secrets from git (real tokens! now gitignored) - Remove orgmylife.db, remarkable_token.json from tracking - Remove SPEC-NoteGraph.md (superseded by monorepo knowledge store) - Remove empty placeholder dirs (shared/powers, shared/mcp-servers, shared/knowledge-store) - Update .gitignore with secrets patterns - Replace old Wissensdatenbank README with monorepo README --- .gitignore | 6 + .secrets | 21 -- README.md | 303 ++---------------------- SPEC-NoteGraph.md | 402 -------------------------------- orgmylife.db | Bin 294912 -> 0 bytes remarkable_token.json | 1 - shared/knowledge-store/.gitkeep | 0 shared/mcp-servers/.gitkeep | 0 shared/powers/.gitkeep | 0 9 files changed, 31 insertions(+), 702 deletions(-) delete mode 100644 .secrets delete mode 100644 SPEC-NoteGraph.md delete mode 100644 orgmylife.db delete mode 100644 remarkable_token.json delete mode 100644 shared/knowledge-store/.gitkeep delete mode 100644 shared/mcp-servers/.gitkeep delete mode 100644 shared/powers/.gitkeep diff --git a/.gitignore b/.gitignore index 6dab269..d2fb464 100644 --- a/.gitignore +++ b/.gitignore @@ -71,3 +71,9 @@ yarn-error.log* # Misc .cache/ + +# Secrets (NICHT im Klartext committen!) +.secrets +*.token.json +remarkable_token.json +orgmylife.db diff --git a/.secrets b/.secrets deleted file mode 100644 index 98f22c0..0000000 --- a/.secrets +++ /dev/null @@ -1,21 +0,0 @@ -# Tokens fuer API-Zugriffe (NICHT committen!) -# Diese Datei steht in .gitignore - -# GitLab: Bestellsystem-Repos (read_api fuer Inventar, POM-Analyse etc.) -# https://git.tech.rz.db.de/bestellsystem1 -GITLAB_TOKEN_BESTELLSYSTEM=glpat-4hLnqiONvqxLOGB8AvgerW86MQp1OnpuOAk.01.0z0kt1fdf - -# GitLab: Dieses Audit-Projekt (write fuer Push) -# https://git.tech.rz.db.de/AndreKnie/project-audit -GITLAB_TOKEN_AUDIT=glpat-my1E6DY1HykjnMuSm5mMYG86MQp1OjFnNTcK.01.1006v7db9 - -# Jira -JIRA_TOKEN=NTMwMjQ0MzY2NzQ0OkpIZBEiwwYfES+c80xqOpsjVdpx -JIRA_TOKEN_SAB=ODc5OTA4NzEwOTA3OtYXcOwp6DF0w2jIqUtpZy08wP6L - -# Confluence -CONFLUENCE_TOKEN=MjM0Mzc4ODEyNTkxOlFySnuOOXbzsYdRjrXrSVFR4fRK -CONFLUENCE_SAB=NTcwMTk3NjY0MzQ5Ov5N/ZnglAroOMcDmrlLQGrsyrae - -# OrgMyLife -ORGMYLIFE_API_SECRET !Z5l5vUcm!&qfhUuE=Nf \ No newline at end of file diff --git a/README.md b/README.md index cb797e3..4c5be45 100644 --- a/README.md +++ b/README.md @@ -1,293 +1,40 @@ -# Wissensdatenbank ETL-Pipeline +# Monorepo -## Worum geht es? (in einfach) +Zentrales Repository für alle Projekte, organisiert nach Arbeitskontext. -Dies ist die **zentrale Wissenssammlung** fuer den 1st-Level-Support und Chatbots rund um -DB InfraGO. Wir **sammeln hier das Wissen** aus vielen Quellen (Confluence, Webseiten, -PDFs), pruefen es und legen es **versioniert im Git-Repo** ab. Damit ist dieses Repo die -**Single Source of Truth**: Wenn etwas hier steht und freigegeben ist, gilt es - und genau -das lesen die Chatbots. - -**Was ist „ETL"?** Drei einfache Schritte, die bei jeder Aufnahme passieren: - -1. **Extract = Sammeln.** Wissen aus den Quellen holen (Confluence-Seiten, Webseiten, PDFs). -2. **Transform = Aufbereiten.** In einheitliches Markdown umwandeln, mit Schlagworten/Scope - versehen und vertrauliche Inhalte herausfiltern. -3. **Load = Ablegen.** Das geprueefte Wissen versioniert nach `data/processed/` schreiben - - die zentrale Wahrheit, aus der Chatbots/Vektor-DB lesen. - -Kurz: **Quellen rein → aufbereiten/pruefen → als Single Source of Truth ablegen.** - -## Ziel - -Klar definieren, **welches Wissen in Chatbots darf und welches nicht.** Wissen wird bei -der Aufnahme speziell verarbeitet und bereitgestellt, sodass Chatbots es nutzen koennen. -Klassifikation nach Scope: - -- **allgemein** – darf intern **und** extern genutzt werden; nicht toolspezifisch - (z.B. Regulierung/INB, Kundeninformationen). -- **intern** – nur DB InfraGO intern. -- **extern** – public im Internet bzw. fuer EVUs/EIUs. - -Technisch eine **ETL-Pipeline fuer LLM/RAG**: holt Wissen aus Confluence, Webseiten und -PDFs, klassifiziert es nach Scope, filtert vertrauliche Inhalte und gibt nur geprueftes -Wissen frei (`data/processed//...` = Feed fuer die Vektor-DB). - -> Architektur & vollstaendiger Wissensfluss inkl. Diagramme: -> [`.kiro/steering/architecture.md`](.kiro/steering/architecture.md) -> · Manuelle Einrichtungsschritte: [`docs/SETUP.md`](docs/SETUP.md) - -## Denkmodell +## Struktur ``` -Domaene -> Scope (intern|extern|allgemein) -> Tool -> Dokument(e) +bahn/ ← DB InfraGO Projekte (10 Repos, untouched remotes) +dhive/ ← dhive GmbH Projekte +privat/ ← Persönliche Projekte +shared/ ← Kontextübergreifende Tools und Infrastruktur ``` -- **Domaene**: fachlicher Bereich (jedes Tool ist eigene Domaene; `regulierung`, `kundeninfo` fuer allgemeines Wissen). -- **Scope**: `intern` | `extern` | `allgemein` (allgemein gilt fuer intern UND extern). -- **Tool**: eine Fachanwendung aus dem 1st-Level-Support (Katalog automatisch aus Seite 428909879). -- **Strategie pro Quelle** – siehe Tabelle unten. +## Kontexte -### Strategien (Verarbeitung pro Quelle) +| Kontext | Inhalt | Repos | +|---------|--------|-------| +| **bahn** | DB InfraGO | aisupport, Analyse-O2C-C2S, awesome-bahn-mcp-servers, beam-mcp, Confluence_Bot, db-planet-mcp-server, O2C-Harness, project-audit, Projekt-KIQ-HP, teamlandkarte-mcp | +| **dhive** | dhive GmbH | Jury-Voting | +| **privat** | Persönlich | CV, NoteGraph (→ Redo geplant) | +| **shared** | Übergreifend | AI-Orchestrator, OrgMyLife, power_skills_and_more, tools/monorepo-cli, references/symphony | -| Strategie | Was sie tut | Wichtige Options | -|-----------|-------------|------------------| -| `confluence_page` | genau diese eine Seite | `scope` (auch `intern,extern`), `incremental`, `attachments` | -| `confluence_tree` | Seite inkl. Unterseiten | `max_depth` (-1=alle, 0=nur Seite), `incremental`, `attachments` | -| `confluence_faq` | FAQs aus Tabellen | `incremental` | -| `crawler` | Webseite: Index → Detailseiten | `detail_pattern`, `selector`, `max_pages` | -| `sitemap` | Detailseiten aus (gz-)Sitemap | `sitemap_url`, `url_pattern`, `limit`, `incremental` | -| `gitlab_md` | Markdown-Dateien aus einem GitLab-Repo | `ref`, `path`, `max_depth` (Token: `GITLAB_TOKEN`) | -| `file` | Dateien (md/pdf) aus dem Repo-Ordner `files/` | `max_depth` | -| `pdf` | PDFs einer Seite → Markdown (1→n) | `split: headings\|pages`, `heading_pattern`, `keep_raw`, `redact` | - -### Confluence-Anhaenge (eingebundene PDFs) - -Bei `confluence_page`/`confluence_tree` werden **eingebundene PDF-Anhaenge** -(`view-file`/`viewpdf`-Makros) automatisch geparst und als **eigene Dokumente** im -selben Feed abgelegt (Frontmatter `kind: attachment`, `parent_url` zeigt auf die Seite). -Scope/Domain/Owner werden von der Seite geerbt. Inkrementell ueber die Attachment-Version -(unveraenderter Anhang -> kein Re-Parse). Default an, pro Quelle ueber -`options: { attachments: false }` abschaltbar. - -Bilder werden nicht binaer uebernommen; der **alt-Text/Dateiname** bleibt als -`[Bild: ...]` im Markdown - gibt dem RAG Kontext ohne Volumen. Datei-Embeds ohne -Parsing-Pfad (z.B. Office-Docs) tauchen als `[Anhang: ...]`-Marker im Seitentext auf. - -### Mehrere Quellen pro Tool - -Ein Tool kann beliebig viele, gemischte Quellen haben – einfach weitere Eintraege -unter `sources:` anhaengen (z.B. mehrere Confluence-Quellen mit `max_depth`, eine -interne und eine externe Seite, oder zusaetzlich eine FAQ-Seite). Siehe die Tools -`pathos` (mehrere Quellen inkl. `confluence_faq` und `intern,extern`) und `nur`. - -### intern vs. extern – wie wird klassifiziert? - -Es gibt **keine Inhaltstrennung innerhalb einer Seite** mehr. Klassifiziert wird pro -Tool und pro Quelle: - -**Tool-`scope`** (in `config/tools.yaml`): - -| Tool-`scope` | Bedeutung | -|--------------|-----------| -| `intern` | alles intern (Default, restriktiv – z.B. Salesforce, NuR) | -| `extern` | alles extern | -| `allgemein` | gilt fuer intern UND extern | -| `mixed` | Tool hat Quellen mit **unterschiedlichem** Scope (z.B. eine interne und eine externe Seite) | - -**Source-`scope`** (pro Quelle, gilt fuer die ganze Seite): -- `intern` | `extern` | `allgemein` -- `"intern,extern"` → die Seite wird fuer **beide** Scopes genutzt (dupliziert). - -Quellen ohne eigenen `scope` erben den Tool-Scope (bei `mixed` => intern). -**Wichtig:** Hat ein Tool gemischtes Wissen, braucht es im Zweifel **zwei Seiten** -(eine interne, eine externe) als zwei Quellen – statt einer gemischten Seite. - -Allgemeines, tool-uebergreifendes Wissen steht separat in **`config/general.yaml`**. - -Der Tool-Katalog wird **initial** mit `scripts/bootstrap_tools.py` erzeugt und danach -**manuell** in `config/tools.yaml` gepflegt. Uebersicht aller Quellen: GitLab-Pages-Seite -**„Wissensquellen"** (`config.html`, geparst aus tools.yaml/general.yaml/approvals.yaml). - -## Neues Wissen hinzufuegen (Workflow) - -Jedes Wissen hat **owners** (intern Verantwortliche, Accountability) und einen -**contact** (herausgebbare Kontaktadresse, Default `einfachbahn@deutschebahn.com`). -Beide stehen im Frontmatter jedes Dokuments und auf der Pages-Seite, damit klar ist, -wer verantwortlich ist und an wen man sich wenden darf. - -1. **Issue anlegen** mit der Vorlage „Neues Wissen" (`.gitlab/issue_templates/`): - Tool/Domaene, **Quellen je Zeile** (`URL | Strategie | Scope`), **Verantwortliche** - (`owners`) und optional **Kontakt** (Default `einfachbahn@deutschebahn.com`). -2. **Reviewer uebernimmt** die Angaben nach `config/tools.yaml` bzw. `config/general.yaml` - (neuer Tool-/Quellen-Eintrag inkl. `owners:`) – per GitLab Web-IDE (Variante A) oder - manuell (Variante B). -3. **Merge Request** öffnen. Die **MR-Freigabe ist das Quality Gate** (4-Augen, via - `CODEOWNERS` + Protected Branch). -4. **Vorschau** im MR: den `preview`-Job manuell starten und `PREVIEW_ONLY` auf - Tool-Id/Domaene/URL der neuen Quelle setzen. Er verarbeitet nur diese Quelle und - stellt die erzeugten Markdowns als Job-Artefakt bereit. Lokal alternativ - `python -m src.main --only "" --data preview`. -5. **Merge** → der ETL-Schedule verarbeitet die Quelle (stuendlich Mo–Fr, inkrementell) und - committet das Wissen; die Vektor-DB liest direkt aus `data/processed//...`. - -## Freigabe-Prozess - -``` -MR mergen (Mensch) -> ETL: Extract -> Transform -> Auto-Filter -> data/processed/ -> Vektor-DB -``` - -- **Freigabe = Merge Request (Mensch, das eigentliche Gate):** Wer eine Quelle - (Link + Strategie + Scope) in `config/tools.yaml`/`general.yaml` eintraegt, stellt einen - MR. Beim **Merge** (4-Augen via `CODEOWNERS` + Protected Branch) wird entschieden, - welche Quelle mit welchem Scope aufgenommen wird. Danach laeuft der ETL automatisch. -- **Auto-Filter im ETL (Sicherheitsnetz, kein Freigabe-Knopf):** setzt pro Dokument - `review_status` – standardmaessig **approved**: - - `approved` -> `data/processed/...` (**direkt live**, sobald gemergt + ETL gelaufen) - - `pending` -> `data/staging/pending/` (Blacklist-Treffer, Scope-Warnung, oder - Inhalt < 50 Zeichen – Grund im Frontmatter `review_notes`) - - `trusted: true` (z.B. INB) bleibt trotz Treffer approved; `redact: false` schaltet - die Redaction pro Quelle ab. -- **`config/approvals.yaml` (nachtraegliche Korrektur):** hebt einzelne - `pending`-Dokumente per URL oder `hash:` doch auf `approved`. - Kein Schritt, den jedes Dokument durchlaeuft. Den Hash zeigt die Pages-Seite (Detail-Fenster). -- **Vektor-DB liest direkt aus `data/processed///`** (implementiert): - Nur freigegebenes Wissen liegt dort, der Scope steckt im Ordnerpfad **und** im - Frontmatter (inkl. `owners`/`contact`). Kein separater Export-/Ingestion-Schritt – - `processed/` IST der Feed. Der externe Index nimmt nur `extern/` + `allgemein/`. -- **`data/_meta.json`**: globale Statusdatei fuer nachgelagerte Systeme mit - `last_run` (letzter ETL-Lauf), `last_change` (wann sich der Bestand zuletzt - inhaltlich/metadatenseitig geaendert hat), `documents`, `by_scope` und einer - `content_signature`. Ein Index-/RAG-Consumer kann daran erkennen, ob ein erneutes - Einlesen ueberhaupt noetig ist. -- **`data/_index.json`**: dokument-genauer Katalog des gesamten Bestands. - Pro Voll-Dokument: `domain`/`tool`/`scope`, `url`, `path`, `content_hash`, - `last_updated` und - falls vorhanden - die zugehoerigen `chunks` (Anzahl + Pfad) - und `attachments` (Anhang-Dokumente: Name + Pfad). Anhang-Dokumente haben zudem - `kind: "attachment"` und `parent_url`. Aggregate: `documents_total`, - `chunks_total`, `attachments_total`, `by_domain` (mit `documents`/`chunks`/`attachments`), - `by_scope`. So sieht ein Anschliesser auf einen Blick, was pro Domaene/Tool wo liegt - und welche Dokumente zusaetzlich als Chunks oder Anhaenge vorliegen (z.B. INB = - Voll-Dokument **und** Chunks; pathOS-Seite = Voll-Dokument **und** Anhang-PDF). - Deterministisch (kein Zeitstempel) -> aendert sich nur bei echten Bestandsaenderungen. -- **`data/run_log.jsonl`**: append-only **Lauf-Historie** (1 JSON-Zeile je ETL-Lauf): - Zeitstempel, verarbeitete Dokumente, Status-Counts und **Fehler je Quelle** - (z.B. fehlgeschlagene Confluence-Abrufe). Auf die letzten 500 Laeufe gekappt. So sieht - man - auch historisch - ob ein Lauf sauber durchlief, ohne die fluechtigen CI-Job-Logs - zu durchsuchen. Die Uebersichtsseite zeigt zusaetzlich eine kompakte Health-Zeile - („N Dok verarbeitet, M Quellen mit Fehler") in der Fusszeile. - -### Wo liegt das final freigegebene Wissen? - -Ausschliesslich unter **`data/processed///[/]`** im Repo -(versioniert, = Single Source of Truth). `pending`-Dokumente liegen in -`data/staging/pending/` und werden zur **Transparenz ebenfalls committet** (auf der -Pages-Seite einsehbar). Der Audit-Trail steht in `data/review_report.json` und in -der Git-Historie. - -## Lokal testen +## Tools ```bash -python3 -m venv .venv -source .venv/bin/activate -pip install -r requirements.txt - -ruff check src tests # Lint -python -m pytest -q # Offline-Tests -python -m src.main --config config/tools.yaml --data data # Live-Lauf -python -m src.chunk --data data # Chunks erzeugen (offline, optional) +# CLI-Tool für Monorepo-Verwaltung +cd shared/tools/monorepo-cli +pip install -e . +ctx-guard --help ``` -## Confluence aktivieren +## Sicherheit -```bash -export CONFLUENCE_URL="https://arija-confluence.jaas.service.deutschebahn.com" -export CONFLUENCE_TOKEN="" # Bearer-PAT (Server/DC) -pip install atlassian-python-api -``` +- Secrets werden via git-crypt verschlüsselt (pro Kontext eigener Schlüssel) +- `.secrets` ist in `.gitignore` — niemals committen +- Zugriffskontrolle via `shared/config/access-config.yaml` -Ohne Credentials werden Confluence-Quellen sauber uebersprungen. +## Föderation -## Betrieb (GitLab CI) - -- `quality`-Stage: `ruff` (Lint) + `gitleaks` (Secret-Scan) bei jedem Push/MR. -- `etl`-Stage: **stuendlich Mo–Fr 8–17 Uhr** (Cron `0 8-17 * * 1-5`), baut Wissen, - committet `data/` nach `main` (per `GIT_PUSH_TOKEN`); der Commit loest automatisch - einen `pages`-Refresh aus. -- `pages`-Stage: baut `public/` (Uebersicht, Hilfe, Chatbot-Anschluss, Wissensquellen) - fuer GitLab Pages auf `main`. -- `preview`-Job (MR, manuell): verarbeitet eine neue/geaenderte Quelle via - `--only` und stellt die erzeugten Markdowns als Job-Artefakt bereit (zum Pruefen - vor dem Merge). `PREVIEW_ONLY` beim Start auf Tool-Id/Domaene/URL setzen. -- **Kundeninfos inkrementell**: `incremental: true` crawlt nur NEUE Detailseiten und - ueberschreibt vorhandene nicht – Re-Runs bleiben schnell. -- **Confluence inkrementell**: `options: { incremental: true }` prueft pro Seite die - Confluence-Versionsnummer (`source_version` im Frontmatter). Unveraenderte Seiten - werden uebersprungen, nur geaenderte/neue Seiten neu verarbeitet – spart API-Last. -- **Re-Tagging bei Metadaten-Aenderung**: Aenderst du in `tools.yaml`/`general.yaml` - nur `tags`/`owners`/`contact` einer Quelle, weicht deren `meta_fingerprint` - (im Frontmatter) vom gespeicherten ab. Der naechste inkrementelle Lauf passt dann - die bestehenden Dateien dieser Quelle in-place an (nur Frontmatter, kein erneuter - Download/API-Call). -- **Scope-Wechsel**: Aenderst du den `scope` einer Quelle, wird die Seite neu - verarbeitet und an `data/processed//...` geschrieben; die alte Ablage - wird nach erfolgreichem Schreiben **automatisch geloescht** (domaenen-intern, damit - eine URL, die legitim unter mehreren Domaenen liegt – z.B. eine pathOS-Seite auch - unter `web` – nicht versehentlich entfernt wird). -- **Domain-Umbenennung**: Die neue Ablage entsteht automatisch, die alte Domain-Ablage - bleibt aber stehen (domaenenuebergreifendes Loeschen waere wegen geteilter URLs - unsicher). Den alten `data/processed///`-Ordner daher bei einer - Domain-Umbenennung manuell loeschen. -- CI/CD-Variablen: `GIT_PUSH_TOKEN`, `CONFLUENCE_URL`, `CONFLUENCE_TOKEN` (Masked). -- `scm-info.yaml`: Pflichtdatei fuer DB-GitLab-Compliance. - -## Konfiguration - -- `config/tools.yaml` – Tools, Domaenen, Quellen, Strategien, Scopes, Tags -- `config/filter_rules.json` – Blacklist-Keywords, Regex-Redaction -- `config/chunking.yaml` – gemeinsame Chunk-Defaults (pro Quelle ueber `options.chunk` ueberschreibbar) - -### Chunking (optional, Default aus) - -Grosse, stark gegliederte Dokumente (v.a. **INB**) werden zusaetzlich zur Voll-Datei in -**Chunks entlang der Ueberschriften** zerlegt – ein **abgeleitetes, jederzeit neu -erzeugbares** Artefakt unter `data/chunks////`. Das Voll-Dokument -in `data/processed/` bleibt unangetastet (Parent-Document-Muster): ein Anschliesser waehlt -Voll-Dokument, Chunks oder beides. Es werden bewusst nur **deterministische, embedding-freie** -Strategien angeboten (`headings | faq | recursive`); semantisches Chunking gehoert in die -Vektor-DB des Anschliessers. Jeder Chunk bekommt eine kurze **Contextual-Retrieval**-Zeile -(`> Kontext: > `). Aktivierung pro Quelle via `options: { chunk: headings }`. - -**Inkrementell (kein Voll-Rebuild):** Chunking laeuft am Ende jedes ETL-Laufs automatisch -mit (`src.main`) und ist Teil von `data/`. Pro Dokument wird nur dann neu gechunkt, wenn -sich der **Inhalt** (`parent_hash`) ODER die **wirksamen Optionen/Strategie** -(`chunk_fingerprint`) geaendert haben - sonst wird das Dokument uebersprungen (keine -Datei-Aenderung, kein Git-Churn). Aenderst du also bei einer Quelle z.B. `chunk_level` -oder von `headings` auf `recursive`, werden **nur die Dokumente dieser Ablage** neu -erzeugt. Wird `chunk` wieder auf `off` gestellt oder ein Voll-Dokument geloescht, werden -die zugehoerigen Chunks automatisch entfernt. - -**Feinsteuerung (Default aus, pro Quelle ueberschreibbar):** - -- `chunk_min_doc_chars`: Dokumente unter dieser Zeichenzahl bleiben **ganz** (kleine - FAQ-/How-to-Seiten muessen nicht zwingend gechunkt werden). -- `chunk_kind`: chunkt nur Dokumente mit passendem `kind` (`""` = alle; `attachment` = - nur Anhang-PDFs; `document` = nur Voll-Seiten). - -Beispiel **pathOS** (an der Tool-Tree-Quelle in `config/tools.yaml`): grosse Anhang-PDFs -(z.B. EVU-Schnittstellen-Doku, 2,8 MB) werden gechunkt, Seiten und FAQs bleiben ganz. - -```yaml -options: - incremental: true - chunk: headings - chunk_kind: attachment # nur Anhang-PDFs chunken - chunk_min_doc_chars: 3000 # < 3k Zeichen bleiben ganz (~750 Token) -``` - -## Version & Changelog - -Aktuelle Version steht in **`VERSION`** (SemVer), die Historie in **`CHANGELOG.md`** -(Format „Keep a Changelog"). Beides wird auf der GitLab-Pages-Seite **„Changelog"** -angezeigt (Version auch in der Navigationsleiste). Pflege-Regeln: -`.kiro/steering/changelog-versioning.md`. +Bahn-Team, dhive-Team und private Repos können als eigenständige Team-Repos synchronisiert werden (Hub-and-Spoke). Konfiguration: `shared/config/team-repos.yaml`. diff --git a/SPEC-NoteGraph.md b/SPEC-NoteGraph.md deleted file mode 100644 index 0134bf9..0000000 --- a/SPEC-NoteGraph.md +++ /dev/null @@ -1,402 +0,0 @@ -SPEC.md -1. Executive Summary -Product / Initiative Name - -Note-Graph - -Interviewed Stakeholder Role - -Owner, sponsor, project lead, and implementation orchestrator (“AI conductor”) - -Product Type - -New product - -Goal in One Sentence - -Create a personal knowledge infrastructure that enables reliable access to all notes, thoughts, decisions, and contextual information at any time in order to improve memory, prioritization, and project continuity. - -Short Business Context - -The stakeholder operates across many parallel projects, domains, meetings, and customer contexts. Information currently exists across handwritten notes, PDFs, meeting artifacts, task systems, Confluence spaces, and AI-generated summaries. The current process relies heavily on memory and chronological note-taking, causing information loss, weak follow-up tracking, and fragmented context retrieval. - -Primary Target Users -Primary: Single knowledge worker / project orchestrator -Future potential: Extended collaborative usage (currently out of scope) -Core Functional Scope Summary - -The system shall: - -consolidate notes and knowledge artifacts from multiple formats and sources, -support flexible tagging and contextual relationships, -preserve historical context and traceability, -enable fast contextual retrieval, -connect notes with tasks, people, projects, and decisions, -support gradual AI-assisted enrichment, -maintain portability and data ownership. -In Scope -Personal knowledge management -Cross-project contextual search -Flexible labels/tags -Relationships between notes, projects, people, tasks, and decisions -Integration of handwritten notes and document-based sources -Offline-capable note capture -Mobile access -Traceability between tasks and source context -Export and publication workflows -AI-assisted enrichment and retrieval -Out of Scope -Full project management platform -CRM functionality -Team collaboration platform -Chat/messaging system -Calendar replacement -Complex automation workflows -Autonomous AI agents -Advanced graph visualization in first phase -Semantic contradiction detection in first phase -Main Open Questions -Degree of automation vs manual curation -How granular note segmentation should become in practice -How historical relationship changes should be surfaced to users -Scope of AI-generated suggestions in early versions -Exact publication/export workflows -Main Acceptance Indicators -Relevant information can be retrieved during meetings. -Meeting preparation becomes significantly easier. -Contextual information can be found reliably across projects and time. -Tasks remain traceable to their originating notes and decisions. -2. Goal -One-Sentence Goal - -Provide a durable, searchable, context-aware personal knowledge system that acts as an external memory and decision-support environment. - -Detailed Goal - -The system shall centralize fragmented knowledge sources and allow the stakeholder to: - -capture ideas quickly, -retain project continuity, -retrieve relevant context rapidly, -preserve historical relationships, -connect operational tasks with their originating discussions and decisions, -maintain structure despite frequent context switching. -Business Value -Reduced information loss -Better prioritization -Faster meeting preparation -Improved continuity across projects -Reduced cognitive load -Better follow-through on decisions and tasks -Long-term retention of institutional and personal knowledge -Intended Outcome for Users and Organization - -Users should be able to trust the system as a reliable external memory and operational context assistant. - -3. Stakeholder Context -Respondent Role -Owner -Sponsor -Project lead -Implementation orchestrator (“AI conductor”) -Perspective Represented - -Single stakeholder representing both business and implementation direction. - -Relevant Organizational or Customer Context - -The stakeholder works across multiple projects, domains, customers, and meeting contexts with heterogeneous documentation ecosystems. - -Whether This Spec Reflects One Interview Only - -Yes. This specification reflects a single interview. - -4. Target Users -User Groups -Primary User - -Knowledge worker managing many parallel projects and information streams. - -Potential Future Users - -Additional collaborators or project participants (currently out of scope). - -User Context - -Users frequently: - -switch contexts, -attend meetings, -create handwritten and digital notes, -consume large document collections, -derive tasks from discussions, -revisit historical decisions. -User Needs - -Users need to: - -retrieve information quickly, -preserve context, -avoid forgetting commitments, -connect ideas across projects, -maintain operational continuity, -understand historical decisions. -Pain Points -Media breaks between tools and formats -Difficulty finding information later -Fragmented storage locations -Reliance on memory -Missing conversion from notes to tasks -Weak cross-project traceability -Loss of contextual continuity -Important Differences Between Groups - -No differentiated user groups are currently defined. - -5. Current Situation / Current Process -Current Process - -Information currently exists across: - -handwritten meeting notes, -PDFs, -Confluence spaces, -task management tools, -AI-assisted document search tools, -digital note collections. - -Meeting notes are often incrementally extended over time and searched manually using: - -project names, -dates, -people, -remembered context. -Existing Workarounds -Manual search -AI-assisted document retrieval -Chronological note accumulation -Personal memory and contextual recall -Main Gaps, Bottlenecks, and Failure Points -Media discontinuity -Information fragmentation -Weak traceability -Missing task extraction -Incomplete prioritization -Context loss across projects -Inability to reliably recover ideas generated in unrelated contexts -What Should Remain Unchanged -Existing working style should remain largely compatible. -Notes may continue to originate from different tools and formats. -6. Functional Scope -Main Capabilities - -The system shall: - -ingest and organize knowledge artifacts, -support contextual relationships, -preserve historical information, -enable retrieval across projects and time, -support flexible tagging and labeling, -connect operational tasks to source knowledge, -support gradual AI-assisted enrichment. -Key User Interactions - -Users shall be able to: - -capture notes quickly, -associate notes with multiple projects, -associate notes with people and topics, -split notes into smaller contextual fragments, -search by content, project, person, or time, -review historical decisions, -export or publish derived content, -revisit unresolved items. -Major Functional Areas -Knowledge capture -Knowledge organization -Search and retrieval -Relationship management -Task traceability -Historical context management -AI-assisted enrichment -Export/publication support -Role-Based Differences in Usage - -No differentiated role behavior currently defined. - -Relevant Triggers, Inputs, Outputs, and Outcomes -Inputs -Handwritten notes -PDFs -Markdown files -Office documents -Meeting artifacts -AI-generated summaries -Outputs -Search results -Structured contextual views -Exported content -Task references -Meeting preparation material -Outcomes -Faster information access -Improved continuity -Better prioritization -Reduced forgotten tasks and decisions -7. Business Rules -Notes may belong to multiple projects simultaneously. -Relationships between entities may evolve over time. -Historical assignments and timestamps must remain preserved. -Original notes and source information must not be lost. -Tasks must remain traceable to originating notes or decisions. -Structured relationships and free-form associations must coexist. -Offline capture capability is required. -Mobile access is required. -Users must retain control over AI-generated enrichments or suggestions. -Relationship interpretation may change over time without overwriting historical truth. -8. Business Objects / Functional Data Objects -Note - -Represents a captured thought, meeting artifact, observation, or written content. - -Thought Fragment - -Represents a smaller extracted or separable unit derived from a larger note. - -Project - -Represents a business or operational context grouping related knowledge. - -Person - -Represents individuals connected to notes, tasks, meetings, or decisions. - -Task - -Represents actionable follow-up work derived from notes or decisions. - -Decision - -Represents an explicitly recorded outcome or conclusion. - -Source Document - -Represents imported or referenced material such as PDFs, Office documents, or AI-generated summaries. - -Label / Tag - -Represents flexible classification and contextual grouping metadata. - -Relationship - -Represents contextual connections between business objects. - -Time Context - -Represents historical assignment and chronological relevance. - -9. In Scope -Personal knowledge graph functionality -Multi-project note association -Flexible tagging and labeling -Contextual relationships -Historical traceability -Search by text, project, person, and time -Mobile access -Offline usage -Handwritten note integration -AI-assisted retrieval and enrichment -Export and publishing workflows -Task traceability to source context -Gradual enrichment through review/question workflows -10. Out of Scope -Enterprise collaboration platform -Full project management suite -CRM capabilities -Messaging/chat platform -Calendar replacement -Autonomous AI workflows -Complex process automation -Advanced graph visualizations in first release -Automatic contradiction analysis in first release -Fully automated prioritization -11. Requirements -Knowledge Capture -The system shall allow users to capture notes quickly. -The system shall support offline note capture. -The system shall support mobile access. -The system shall support handwritten note integration. -The system shall support importing external document sources. -Knowledge Organization -The system shall allow notes to belong to multiple projects simultaneously. -The system shall support labels and tags. -The system shall support both structured and free-form relationships. -The system shall allow users to split notes into smaller contextual fragments. -The system shall preserve relationships between fragmented content and original source notes. -Search and Retrieval -The system shall provide full-text search. -The system shall support contextual retrieval across projects and relationships. -The system shall support search by people. -The system shall support search by project. -The system shall support time-based navigation and retrieval. -The system shall allow users to retrieve meeting-relevant information quickly. -Task Traceability -The system shall support linking tasks to source notes or decisions. -The system shall preserve the origin context of tasks. -The system shall support identifying missing task metadata such as priorities or deadlines. -Historical Integrity -The system shall preserve original notes and timestamps. -The system shall preserve historical relationship assignments over time. -The system shall allow contextual relationships to evolve without losing historical information. -AI Assistance -The system shall support AI-assisted search and summarization. -The system shall support AI-assisted enrichment and categorization. -The system shall support gradual future expansion of AI capabilities. -The system shall support review or quiz-style interactions for knowledge enrichment. -Portability and Ownership -The system shall support export of information and derived content. -The system shall minimize dependency on proprietary structures. -The system shall preserve user data ownership. -The system shall support long-term portability and migration. -12. Open Questions / Items to Clarify -Desired level of automatic relationship generation -Exact workflow for exporting/publishing to external systems -Preferred granularity for note fragmentation -Scope of AI-generated task extraction -Desired review cadence for enrichment workflows -Long-term collaboration requirements -Definition of archival versus active information -Rules for conflict resolution between changing contextual assignments -13. Risks and Ambiguities -Excessive maintenance effort may reduce adoption. -Weak search quality could undermine trust in the system. -Too many manual steps may interrupt workflows. -Incorrect AI-generated relationships may reduce confidence. -Information overload may reduce usability. -Overly rigid structures may conflict with real-world usage patterns. -Insufficient offline support may limit operational usefulness. -Lack of clear contextual boundaries may create organizational confusion. -Future migration requirements may conflict with short-term optimizations. -14. Acceptance Perspective - -The product will be considered successful if: - -users can reliably retrieve relevant information during meetings, -meeting preparation becomes significantly easier, -contextual information can be recovered across projects and time, -tasks remain traceable to their origin, -users trust the system as an external memory, -the system reduces forgotten follow-ups and lost context, -users can maintain organization despite frequent context switching, -knowledge remains portable and under user control. -15. Glossary -Original Term English Explanation Notes / Context -Notiz-Graph Note graph / knowledge graph system Working title of the product -KI-Dirigent AI orchestrator Stakeholder role coordinating AI-supported workflows -Confluence Knowledge collaboration platform Existing documentation source -NotebookLM AI-supported document knowledge tool Existing AI-generated summary source -Labels Context labels Used for structured assignment -Tags Flexible metadata tags Used for contextual classification -Todo-App Task management application External task system -Medienbruch Media discontinuity Fragmentation between formats/tools -Gedächtnisstütze Memory aid Contextual reminder mechanism \ No newline at end of file diff --git a/orgmylife.db b/orgmylife.db deleted file mode 100644 index c05aa3585a55d07ff57e63b9a84e6565f5c663c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 294912 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
  • HN&mhZG?Gm_{Sw6srp1W%GP!}i;QHu_c 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
    py<7XSc2tYvF@M6JIaNkh z&@kJT7Jyv}LkNt|u<3C8Xq|D=;slSi$(4~UBrybblxib<3HHa<7+!6g3^}8{hJ8QF zOS+5{A#raz0l9Pp=gjVYJP}q)cqKSMzov6Gr^Zj}*VcjZ)~f9uM->O_z=8|BB@CZ8 z$d(7z;&_8t{aP3=Z*lw{si`T5H;Nj7+T`*dv#-9UGk6JD1i|roME#mNP)1&mI3fn7 zQqaH%VvWQ4DKo@t&vbKw2gQt(kp?7=2=~#Chryr?E!`NlGJwYssk~;&L2fWj7Xd6iNz?SMd6^JX&tI!_VwU1Hn#~@kQu6 z$7Ix~VHjWL)M&PT4He2jy_7To>tfg78p@5z=rszwwZ=6#9M@PGIF}N5>jVsuk;p0* z3n4(u#~T+RGbkMIHume@SQ&Vi($e1I81Q-=cZdum;^+`EfuGGH!6x;kfuGh;;) z_4M%Wj+paKi<=Ytl**SE+bvo*^!9xRu_7O6~i2; z8SWFpuZN@MFF-7 z&GGb6ieX)9gu_|w32O0c?r3?~KHvwSH&Lk@yJRkpCtp{$r&6fE$Jl=8kqtytKd8d- zE(5>D50r=Oomt)c5RwR%X zqveD40(X3n`9LHz%^T!Tskwyr!9Y?RSFPIZ z<+#KAeBbAa@-5i0k|gSKS$0;vcSS@D5WqEgbSH7uf!B>I__)7<#YfpGqTU(}MTTyPFeyo~Fw{@9g5y^CIEc78{9TU5=;o$x1QJUhUk?@v6Cg!!%h2j;CC0 z2fdLEuu)7vW=}~D60|w0itRn#&?H|ui4$BWI#LEq=Wgz*<>5KC=Trt0x;r*r<7=D*WIIKz;<58Z9`*$3!Lu_11Qv$IkMtZL6!sp<{eS)I7u9Ef?pg8WuSSAR(-=X zWw>JPwZjHj;1$R=K+8B{-3+|yicB!y85UrFdRcjYBqU+EmMY(F@(t~j@n&ep38$=6 z-W-m1K>Wshq71N3xf)vPBIRD&5Sq>mV?j62?a6}7OFife&qc~W>df*KONTd6C_*4N z9rqk#FQM)37G0bgeZsHjnera{(8Lv^k@XEC4>#>bN{Yh?zOkmufaw$&0*qZ739YlM zHvR&g5la!aZJq3LIKj`$o6ErJJcmad+6M~^$VSe(s)x$3ISUXN<7L2eN)}6R&oBuk z45j2Np)1%B7(#^1)~Pu*X92rqvJ8Mu5r_5-y9>$a?}BHZLb37=h!vg<6HeX1$#-qy zc(< zNZmtR91LO5gLkqFd`=lc*RhNBk5d-%o}zE0M=(k-yhn}hLEFzlu61AI{CYH1-f0`( z+yNV=QxOfuZl`EHBp3uro$-xzE8=)PW`4~U%E0FodG4~QyW$`%iyzBOy7G9pGDgAX zEMPO-Rt7?+x6wMZJmGj#i2S;o zECZvnp?LxD9*t%b+nqTznKpiH+*Izd*C)Ws$(YX%p<|$K`8%B8%YUZqKyhwI=!iKm zp3ie&5HHbuVG2I}366J`Wr|BAbiBI3`Lp@C>RBJ{fr;@_6LY$itC`A`eFHiQE}E5jh^2jZ8+yBL^e5GoZu*ZgerGtEymKiT|5^W)8rHb30_Q1gS$_rQX2qWO69Z1ZIEc=N&L z{mp&N-OZbuH#V2wA(}PX-G~L;BqUm_kY|~`Zc+%>g9^+2bT|92g8k5GjanRV0?1*k-v$4@wX)G~J z<6Pr3BVvTq^XfVEEOI8E0!G6V>T&g`dRRTA9#r?JJJktwT+OOUHLeb-{i;uOtIdh$ z6VD}{O+1r$D)D6EiNxcHM-vYx9!fk2Oo%%ZClbdKvx&*Xc;aAUf1)qZo!Fe%m{^%u zk}wnJCQeI45}~%|+n#HCw(Xg=r`n!ud!p^}wny6@ZhNTh!M1za?rb~JcD!x2Z4wz7 z2ix|y^|f`kZEoAxwz6$Wo7r}5+i7i)wov@}_;c}Rl3Yyw?5kXaO*>@54PUZdMB_fkGIaYPPUG>9&Fv;+Sl6My18{@>&n(8t!C@Ft*5m{ zT0;PKY|AsqfqAm!iDsqi#_7iCOiwdTW127$Oxuh$rerqbKm4zAjdPivW1PeE zY~yUEXBlTPJ<~Xo=^4fuOkZHUfaxD?#fbCwT8&nwEk+B|m=R+dHKI%-Mucgz(abb# zgqb!OO-u~~p*rZ5G89wY(3xt6#x!Jvh^jxRKQR3t^*>C1uYS+;f2;q^^uN`AGyO01 zUrhf~{U_7s)$>e$r+&xux9Yb{|3m!;)8DAyF#WaqHPc_IUori6_3uodQ_nH|rTQh) zU#MR&{a@;TG5xvvIn#er|HkxZ>Ss)Us(#A!S@kT_pQxWO{jvHn(|=X}%JfI-M@)aH ze#rC(>IY1}ufEUp8TAa)@2T%G{TKBwOuwtX%k(?yJ50Z=zRmP$^)%COsc$iTNI+OiuRhQ83B{{c{e$`k{`cq9=a~Mz`g^8-r~Z!VNp+IxXVqt!enx$U z>Er5grk_@yX8I}hDW;!PpJe)&dW`8O)F+sJTz#DB->Sc5`lx!8>BrQ^m_DK&Vfr`f zZ4(&ZnEsXeE2bY*A7uIg^#P{uSMO)~KJ`AP z?^W+*`jC2v>3h_Bn7&)Ro9SPwzhwF@^)9CGRPSW^4)qSEf1&<@>4WM)rf*koXZnD8 zfa(3}ex~=S`y^ZNx)mxd~tL|lbkGhBHThv>a-mUItdY8J3>6_J?nZ8NAiRl~F z8=1aAy@BbS>Q1JwSFdOKI`ulHuT`&Q`Wp2brmt47X8J1iDyFYguVi{conTr~6{clX zW?E7urt@l^=_}MLn7&-SoavmJV|rX2XZkYrGNyN^JD46*$C%!(ZfAO%x{c{kb(HB5 zb%g1xnq@kpW|$sUhnY^RX{J+ZifK_5nHE%m>8+rvnWj{V>4+L(I;@774yhrgNtI-JP#t7?KpkLui@JsB z&FW^RH>sPL-l%S5dV{)w>GkS*ru)@?ru)=BrhC<1rhC*Lrh{sb>3|ww+OPVVUZ<{O z+Nb)M?pC{*?ozv$?o>OO?od0J_Nrc{*Q#ro_NX4F-Kv{um+E4=U2SLDsXCc%Q`?ws zRa=>EQCpaHs1Bx^)n=yGsB4&Bt*&PJQuR`%SE;L*zC^u*=_a*_>6PkArW@5prW@1- zrt8&urt8!?rfbz&rfbw1rmNLzrmNH{rYqG-rYqD6rpwiGrtPYo=`yv9=@seU^dzQZK@xe~)^hdLjS&Jarz^bJe*_&r#kr!h^a1k*Ov#x$06AqFumKjo9SJ~T}yqW2nj5jfTqwz+j zZ!q4#^iJbWrmr_%&-8W1>zKaQcrDY{7_VXaYU9;RUuC?C=_`#_GCg6OU|KO)ei>zh z<(E-1SbiDv2Foww6$Z;M1_tf zFXO0jl>dFiIKp(+m}QD2V5WzS!%U}*X{J-g6w{(nWLhu^Om8)AWjbk0GR+%#ra2?W zG;3s;W{eEe31fokA>$C!w2@{yZj3V>Ggy8h;G5-_kuq3*86yVEFJssk=I;#|EWeDT z!SV|?0hV9J0pkGkZ!vCRdb4pe)0>Q&nBHix{4#DZZs31kZ(PrGzp{)YnXqvaW&JI z8ZTvfm2nl*ml!O+j7`QS{`Zx}l}tAp8<}n}HZWaptY^B;SjTj&v6kr?V-3^Q#%iXk zj8#lm8Y`KuFjg>KZY*coZnQI9W-McRg>ePb7aK2Ty3|<8bcwNq>E#B?FJ!#4{4y>x zSbiCo8Z5tzON>kSdy5Q~U&h4-%P-vgSbiB785c4CLgPZF7Z?{XJ>NK=>5GgPF@2%& zLZ;^#=ZXLSouS0tiB)Z1h5!E>@mpGd*Lqj$ik2_648*<}%Om&yEzwIN?~JT({$g`~ z_}k&prr$P|n=ZsIJzc#EDRqzQtFkQ-*D|&K4s!We%xx8}0pUBgIP8j#Oonp_8eCte+`lTq7F?xC~+e;%Liy z;~gwOHpgwk^lNqQ{7M8)$uqdaK+!-*q6u>yqLK+02_DGhz$LDtQB*PU*dDw$JuwAr z(4@H?A=>HTv<*s%P;tbhG;*HUoWSoFs{jGzR(?Gs?IDX1$<9-f9BD4viR?8C7X$WA zieTrmvYm*lL?F)CBC%2-Ruj&;I?K33wh$zn2LaA+v~m?dp@?N1*)`*oVmnnF<+wf< zz!PPIz`E)6NAbj29Iw&PuffR*P*5z>HSo5PUd*03w@uku5$I!sCTT^06THbo6+oa^ zNXAw;12Fus3a(8KP=!A%vPRg7ZjSdg{Q6g@0P;i()>|m45xBOKQC z4B#DV6k#kJ?;iAPbneWG?u5=b(YTuc>x+ICf%$V3z!%7nrkq*I!-Z3nlDoR5v)Obu zg~gZ2U~?2GYMi|*6e-uhElF-WaDop;s-oE_ELKubO)Mp2%DZ=t{RW87T0rPfwt^xh zV)Z@BId5h)O`A;icq$v>X%TzZjh7SD|B@}EI*B_5i$HyW$ni7*;E1uu@AjCDinaDsbt50z1JL?jYm zG$G?rT?@J6os@UzxG1pIAjoSr2fGo86MPdME2GNDJ~{shuYMDyYSVOLGK+$ULI4D5 zN*fuOVHXJ&FTw=tVgfJ>4kvg>#;s*kAi0Ly2X+k*MhM7+&|0eC3DyQh=g_A2@RC^; zPVhdb$|yr371;oUz$ZI4O(DrWaH6K&ij14%UB-TECR;}B5fKFLh$cs=z*DgWaJq2P zMcrIloZy=yRi3u{wFC8skC@4!@jRfrq#bNR4xFuTM>t-GtY5#5lu>g;;)j5|NB|p2 zi3Z3`7V<}FxelfBhzmreTxy$zD;;Ky=1ve(gOBM<8I?#R_TNE^X^c68ma+NpKg8G7 z`F(B90%A!Hlu?>QG9#-&iI_jc1wgpf9n=md_+A(;qaev8ycZhPs(~c)1~o_z5fllI zw}*bScc6@NBenfNG{wrsp{foicnc%tyq)2>69SB(^s{NJ0yGi{u@tM+*5R#e9>AK)jvl z90faBkX>j3+e_xC?r?B%+`H0m_HHkuzQ`V4Bh}!J096YBGV6`%mKQ_#Y2C*3YyPG( zDvz8c$AuI&;hoeF#M0q-`|bDmq4FU+H?0SFFZn5eWM}cFc$DB_dWF1jNWLsY9~>*E z?bu%i@4yw%6BdJY*eJsQhnvj_I$2Kq|LYL{|4>_d{FCu(Tff&j-Kw>`yyeW;hhx3b z&ql9{d^2)=^V7|To3-%U!W-bveu420<8pYGuhaikAJP6rD};U(H2(is1$jfBNF zQ*+6-0zWZ=5LBYO)a?zMvjAQDSOqCW(!QNw<5!txwX}}_l}2FFXkR#9vFEpd(iJ2Y zN#4I5*X_>2VPV!V;M(DMN5QYHIlZzp5=!!Bur4tDu$xTelOzo2UPVeU<&|$qp%xC| z_22{a7~3A|HWv(b2Uxi{HAki2Tij7u5(!-|0-=Wzsem&-Y0``2#%v%q6lcYq05?2p zLYl#9W+Oq3mV;LljyIOi?*-BoBqPa?+o96H3K4W1w1r7TXED8Xr@xC6bVFq-NJEk& z2t=?Vo*uUiZ}J!(ir_Ug=he66MT8T4hDR#MK@zBf?SMwfrIt(}UT-NL2AP8ugB#OY zPgtIt6FiJNboj|qbnrbA?%7hT!N=m;bRlr2Wr zs97NnC%84@w#tj_7*rRSJMMe1&6|L?G>1^ehPNgCOXdzM1oFyz8*y`jZ;zP@YK&NS zFu}+oEGnp@b*NK#K1bM6PElRU4kvi@Yp#OABVv#SREoL%-<@l!py0?DAFqE>dOt;2*D2muaIj24a0b8kj#N;OM2;eg8TVf8A!8tV zya$d}j#n-88^>%VVXH=%JJQ}sqC)Wkmhd`geLOpsK=H~>Hz)YU zn604Vh-iT|U99%ebUY-Yd$HlLMum4c!3~EKmAJhpom(4FIpahuTB&a*COuwyoAyASlfHsUf(v|c4J#d+vRO>pzMDu{^|G!;;DFl z{HplH@fO5lzrS_9HQls|JCx2WBm-U>!U5{$t(LSlYT|2HNwWS({fj}==0@?!5m9Mi#eQATb^^|NgIhF=u z??8TZY9?7o!Am~_7%%cRY3u49TLro`*M)xT$6gcq_66!1&GS;OU#~vk_v2Ne&r znjZu5)MDZ6mg9=6+Ug%Cq*Utz%id}ySZdR>c5R*o ztehT7YO4wF*81GZJk?@ns&=jR(>n;9)%wt~LupU*XFwI0$^g2&6Hwn%>fHLz^iS4* zraeS53AfdWBn46)}}6^-x~6H2lDIp5@0>`LbjC36UJDC#ft<7$6H^#VM9L1>X?d;8TUMs~BSq`-d>M7aAm9sPTE4`>mpaY7%fN7twcZIH2sf!RtW zwirfm6MRh_m=-k5-l@kLn! zRO~B@X)tZH%R#^$V@2%Aa`8WXF=1EB3$g2a9}HRrc>dK#28_AOZ4Nnh`wGd~G(t)G zh=|hNpBza`m6m1ZuIY(PDp|;;Mu3zrARYvpJPwaDa6Jl1)Kk|Vli}tIdQDcf>Z7gU z1XFOq`pvFWQ$0dk!{K9tSY=oi59Y}xn$!1_bf|toqA}EMRMe#U>DKWA>R3?qmK{6y zXtxrkeU(XhpC{kTkofei{N%VfGqxNh$H&Q)O;rfg9|$*lFqO=blZc$#SZ*UjFw*KB zgnsT@vRwZ$2^RY+ed9;q9nkx?Ah24KNjZSnnM{(aZERQ$IU+8D&e=(-k(9Hr{5#md zgt{WAM?i5IsoW9Tsn)at`y4x5dl~n-Kh-s0+CNWIEDnLXYY!|^J=$Pr|IVIWTXyW; z+S}Q0_H^y)8SL4;%iOtp+nycfs_XvvS1#phG1EtrIRs}S407ry)dxBG_7wcm`s?`+ zouV7{l;F71j_e}UAcqQDx#Z$5%t0=xRcHokOWPo5r!WodS95y-!!SG!MenG&apl_8 z>(;MRUu4kpsc96jgM|k`?<5J-m-#Tp3kXcNy;Vs_QPQ&h3fhfiWE9n#gCXBGeED+rqqw< zK)@$csJiRDJBFU(noQyqYVW4;_qexwUt# z3?d{bMh2A^pmU~*Nh*`VKZ4~CA;PFf?&=i*aww9lTB(_QU61UcP;_1P|C?sQraxsmC~b}N_xYQ$h3 z6)TFoLT`XAiwYmm7CAbd#ep^|#Zgfo67m^tPx$W_bD1Rpdq)AUWIH|#JT+z zmVHp^-{TjYOj6wyx?b?{)In8bzRmmYkK&N2VXn)7vaqSbC=Oc_MW7Y}SldRTeW1z_5$v|{>pMtb(xr5T1%fCCu89&AwpxqqX~O@%F_d^q;(Xx$ zZI6E;zPt7N$eF&d<-IMdV_%Ei82vWz|9_3V`xiFf*L-I99pTMQ|Il=U@de`s^$T?j z;^8Cu721cjt3zMIW88nHE5Hzu;1@P#)a-k60(WE+Sl1X}7=#eG0E4R6aN*{7%{qQ2 zjqwV=Ma1S;E5!MM5TC?fHtomj+9s2*1SHmEv9=rkxDffbL(!?w=xrNF(Z>8y*hng-nh!t`r+&Zq!Z zB*l(~+JW^u9q}G8g#nlXo+Ymz#m(`~yx)7ID!>oZ$QPP-UAPBMs9Q8|S-mGc6`jtZWq;gR4j;*84~|CwKzI z;R*_Th)}RW(^6zhfXafa0O4N4{gHtg43Eb`y%Mn@6p-m&s4h;8obua@2P&xhQR|J9 zt~IhyJDlL52Kh>dZ4;LYTzs;V0*!m~$;SYBk2mLdrTW|sFJ~|Z55OU5f~>c@YwBj!;!$KPnKyXNU#jM>=;&{~-zkVL8pst4mI@$;A6c^Awr z?Nlip<*iaEi3ZIDtw1Xf09&tP&du?@nP2a|jIl%?SO%;^-IE&R3GH=O4Ab1)D6QaYy@hV7u-I}VP&_^dfzKcuEvE!ne8%j?5 zM;LIJM^m((8ePHRc>C+uY@vc;9}=hJ7>DW%Qs^sWfWQEHAMNINPg}o64^&Y3qgJ}3 zg|!UyS|{Tij#tg|YvGm(N`0KiqbZhryePI7!VRFs)dk842iX!{j$Z>46_oi9F*e91 zPLD-V76;;vu*JQi(ai}ivS%wO@gW}a9ci||kPQPi$LV3N^49=XRXWY^}R7 z_;vJ11yw#I<;9ZMr!H`f79dY?QbC~9ZFPs^T|s_r=PIb|Awf@WLvz(|jRrBLxCB9w z^-5|tC-`wOR9Rt1;fv->_E3HlX>i!--gkF%f(w$_%5r-$cjjjhTWceVA{JmGvz+QF z4(r8kXU+oDs?kcj4asdC{WU)br0s9o zu8#j>d_VC2kF_?pys2eX?8~_SKN`IX$a~A+fnOf}VtAzKTTN->%SJ~1hkCPGq<>oP z)1KCfS|ap8_vQcplD{9QAp59R96=`VR>7I+R&6ll4#&H_{Dvc0LFSPJW;#}RSv+z+ zc~3t#CwLnpmAoA%$47@{G{D2q1_E2LC%qfN%W>ZV{kl@DAopmi+}2NBU>(oq!-#H} zUZLvcxQEuS)l4O8>o~L}VPhlw0t%Pos82i;i&R1!>pJOhg3H^3733OSz@5Cjn(~Hm zgtiNj?ky%D<0zcqSF3yl`9v?_Cak&%r>ZL=k-IfFN4}X*zJKrt^jj)OF_JUU2{~lx zNr_O6r6+N`!t6Zx$Qb3;Pry@YlRwOys$RBZ|{sG+a=t}jbF0| zD&zIrS0)`<`Hdtt77EwA3A*~`&Z&$cc0Vesz8W*|C)9;S7cq5ErLc^=>(R{#E@-or zQQI8SlN-$!fN>0{=%Qo3!&4!zFxXHByy}yi;~gZw!JccbpzOy4j|3kfslp~02x05U zBvBO?Qx507c>}z7RvB@!k@t9s-90;b2IIr&Y6Kdg>^i=!mGgwroz#_1&+nIkR#A zV<3n9!iwo2K?$o{Vi*ufQsfXcGAQ63v8AyZpdoo@!_Dy?@qX`kq;iX+asM&*C0dX* z(kR2%=G4eQzqaQts@#n6kyD}<5IlfI7|f5rx(WX#Tm48aEkd_IX5W%T#O{h98I$PhX}xf z-BRAo@m|dQM&)1yWkW;+bSI}VCr9b}&vLvW`oF^oZdEx@L3I#Wmir(qVZ-4T$aMt& zMuTPLaNOPV>%^@UlmHQ@Qg6DqgE8AzuUWnl^%@`p3VCGOSxF>V%Is6Ak)2R~gyR)P zer*;jr~o3$qP3W|!?rpO+xS><6y9*e%Y~h`Kpmv$9{S=?bcTh(KXe zJWAR3V*yX#kg_gw0H*>RR0Ev{{zBpe*LgA(l>89m+m;>e6dsx~FB!!;L^uOLoX`Q5 zm87Y8C4iR`d=gRCLnd(_>f_8%J|H$31&um|-SK3cPEy;WPG-6|EEWRTt@9Ps_7F|g zQQ|06WjbR;3egtF;=sKhz4U6pZcgwMVXA_v9%2h~*@yuag{~4>6P5Cn3gEocq}iI) z>TrVVQWF&v`w*LspinqklmqA^SP}Kd9*f#~EC9b%I$F8TzKdI(M0K1L0@8T?$Z_2$ z(-qxfPL0Cu*U+t%K4;A!$hA10pG4T-Oo|TKVis{-pwcFmD$cMviHSCa6MP2c{+|sc z-j;~8-QV^Sv<=^c(+ z{`d{+%n4*0NiLw+it3%$mOzkA09y^@TisJfzcE@84!gY`FVyjj9tdc(`!9&JDkZ&s}~Z z0kvZ(KYsf@+$aPQ$pK@WuyK)0D5Dly63Ps@!(=_WETd^_&#gtbP?t-<&>oZyma{6yS#V>yXtNIIk3GxQJp zQ)I9AfnH9~6K3KBa+E{}TK78+3KfeBNqW3K#*Fn%_X*(?S5@TEbPk)KP2F)K;vixS;qXe1O~J7&k-kodm$}6GE8#hy zuQa2zz7K~}=P&Ua){zsy@RTdLUBhbNNRGfH`3#{0vQAvMI6?cFJ`uJRJbR52irG+l z*v2Kr)v%GU#eNq~aA7-o0>GRinELa$VNBU^ujmvWhlrBZ4K5iD$E#!djor)%z;ViX z(u2@LL>N=V6&!%1;{jUDUS2Z%U#tEDnS_QnbQ3@jTxAB)IGP>*56MZ}xP2=j#`bF{Tw+=Imb<=7`x{b>b1=Y zI>nO}0CP%$whg?r1$j5f2hWhf1XbrqyXI|47PCg)ZRmjDc(pXY4STo(NKPx%#L5ZB zPC*bn`Z!~&_=sKKhKA|c?7H+m-p%nYbian@vzn&kZAA zm1@tCsnAm>5!lRZRB*2#9v7T)#0kE}Cn^B$6b;1{nvN>Q_ifqL*^g(^Vxnt2c5qE= z4kx&#aBIbZ>9lOKotbnIvHery$XG)v92OS$gN}kmyBMz`oZxNVUI9#}U^igPz>$(d z?B-C4vY2R!dj{L>Xgo8ud@m_w5EWwMue)D39IxQ?o8{XoK<^yjN$yW(MyZDBFhY6q z=y8o+ZX!L;>3pNRfOMWY?y2x={Xhj+o?;2By54ZV#!YjQEe^pNQWZpNa2@uZf@A`o-4wwZ6RdK-<-Ax3zY( zCR%>e@|~8+mK$3JTQ;>^8v9M`bFnv}ieP)}^yv42GWdb$UD0FFT=e?rrs&z)nbBzE zXOXW)J`=esaem|os{L(_T+;l9=3h2{z4?>P??D~Ed~<(W3iazYB!&_{QkSVS60yWz zCcf78Elt;dqd%s9RDZR8tG+{DtY4&`)Amm7_u9|2k7@U5hqb&m*!EHFC1S6jR3$-r znn|T5GDnP8QCjf6WM%?U<%1x`O>HTCOun+UkeY$NBR4#5YzT$I=TyTl9efyd7o`j} zgz;9#!z!U4(XP5o?bI3Po2+DqEi0L%Jsp{(0}$8}`Ze^NBD8X=s{M-MFzlk7zWVTL zHKxNT3nkY|1p?X*GMq9hiYB(MewytoJ$m3)jq$>~An?!pvmaGb8E(%P#xsG?@s z7})-RtFN5_DaIw|tfffVEil=orXiLuAlL-kHc^M=q$N}rQJ$O~167wmxm+1nYA z9ntD%*P%VQX6*k5sQ7;?K!w>ca)a5^WA3Bfvln-{{4j;))b=G0r}jduL+j#%S%RAxa$_jKV*ntK z+vTvv!jLa(SM#8FTyA99(!a$c?D^c~ic?>wL}$yPtDe3@^=kWeE;Dz+!i@x78{UA< zt!+sE?uCOg&d<9R_MTZBJ7S5Um1B12VgFGrw6*s2m|Hq__1ejC+7JP65Jn#_<2YuJ%2C)b zbxytBx5nI_OcQ#tBaF<@$4F_~r`^NCwKxXwm8oPlJC%lhrd~W@%?Y#?lTi10a z3J{P)f&^eYcAUm>bR^lb6bm2@-k_z300Byr#E1EiY$>jC033i234q2!lxRCPEwusD zW^!96Y0~CP+FN(#wrSJOKnRqSG;=SV#F5TEIQzBs+H3vmMX8P`9*h5C}}t&Dkk0<;IX!kcXf{ zg+s8xG77dMEKrwnL=*)M2I(gxabbXzo&~RzP7ZvLd8+6NO1B<*X8RW;S878bw>#h~ zTD~~jM=0}wff`3!UPoh8L?J71O)MPrS^_Yv_fr}a{KCMFTh%J8Pf?I^TkBN5R1nHk zb=@mje!ZDHsKmv5PEEP%K zBo+r}3Z!XZET)}UY>#Mb)DlB=<~*?ffGs7u(IwQSi3-~3!GA-m72o-(MsC&qn5XKNW!mm*?95e(r5yA30ah| zP4@41pR-)A7L~%PfCcRz#)D;2ytL~fIW;4Nd_GvjTgTu2K}wS$`sDC>95ZbJ*>rDz zplRh$(_Q{uY9NeAK)t#d2qh>GoLWzd z%N^JSa1)p*U??$THiniqH=th7RH=ceBGF-sCOE5NB)T-oD@r~?{s(m3iw`5x8iu0on5$^%f0l?m(yRzA$?%+R z)s$wEana?yvus{(APz}HcFmS3$G=Bs1D&)Z`WDu{4${F2>vljR$@f~}Lze;C^w5YZnmxT1I?DGsijxHo9@O@9njX9E-rZw0JI+DqbV|?rlL+uNO#fch{d$j znFyoTkg|;<+pIX#5m^n)>xuz1Tg>+JUfnD=Q0+sItj6t{@Ed=S_zx(hga2U9MT?o3 zdv&EY4(q8%L{}R4C;CAsb+`Kr{cy_;?z86`sPZAaNe!1vyuPR=6u1}Z=fmLKXk=%+ zkD8B)+0xc)Zkx6SYJOz+MuYW5%K=AOl!S4dapo}zplW_a^C?$W%O(@5c_A?jVVHpl zwf~#-TH}x&geml3*1qA}k%iury)FT$hjvFNr4zebJEncq|X~0Bn zMUW|_T`;pcF%E9ofsg*>2I_dU+whppc69-2wwTXpuSKjkP{l)Y9E0y&Wqj2W2V}0~ zt1E?#4XCnOE>$sp@IRRCI_L)LsJ9piyH~%Pjs^;QJkR7ieF2w<;ouNp#b_3*syd=0 z9ciLhC>|||v|YOY4lL}xuI}z+dq+$Ew0o_A z>L1fQd$v%ZLv|Swd4;5yCpHGRWlj-`x#C>HX$Nv(v|SEtw#52&6};X+g|&@L8xY8#sOhMkgv_b|*(*&W+2+Opv1I`&McH*TMN9u)GA}e9)SWmMS|vB= zv^KSMk!4W#l7?Ogd9cG(1LJD8n4@)jEj;P}hb)&Z?ibznqyAsa`D@M#@c&na|9JQV z!%oLX98V7YA48W1|HI(5LHE8N-`j#+*K zpK1T+N&|64f>QN-$^@c|9L-`S;ew8<(;Ts2Z0VnfRvHK=(mbMtIRemV&I`i^ly1s= zg+qw2f^B*eE#~9dYvryt5Ktu8T+6;I9hruSVYvXcp5}Q@S*w-T4ruPXqBdiPUl~Rv zTKd;}uQir*?v86s*!{`3i(ChQtN;vd(|@5HL1HjVU04vX1JTm|A}==(WYkN#1`z^O zG2c{T?L|xf%zV9p=px~ph>fIF$4X1%&SQ=nW+fk7pj+-MOp;r65Q%fWfdC`1w=G;j zGks}NH`^(VdZ}>xG3wQrH499g>(Ps@$_<1Y308QfoHpX>I%$d3gg}IK?$}aLlW6IG zORqN&ceJC~;wod{tnI?4W#*RtwTyaWRu>Pk$DH*St}I}{E9z=mK_XuQd2tcw#M(7u z4U@5GF^;I$DsMDq^a{CvWrZHz^vHpp%yDZH=T~Oo49kjS1l{f)LrcG%D~;)9mXXwK z)7zDag}hy(CRs}-BjE>YB(Po+ywX6LP{DZ(?1@x~Y2}*Xlbt73AI1*+T(33G>ip<- z#(H$!L^I5+z}V71YV?5yvVlG;#1jE(lQoWP(TVer`)R^+%OEUxP#{TjR@GD}1js_P zH+O>pfRaQ@|EDM0n9@-VB-SltRQNgwbQK?yxni|hz!cr+E&b9=rg7Sg;WD_7Z(+Oi z5JaOGYi{Ycms|r0LPZdT#&SLLDkW&w*QRR%CtkJAY!SW4Gu@cfrOFn0q7$4ZB-~^F zQRA46E&X4UFE@}8^pc>BiULnF;Oj_71HYMaWr4gNq$B6b`Lb~9Bx8(rQPUv0vsTg4 zzmSk`APJ}lU|_pbD`bKflu}c4D|-zt$}MeTQLhEP+?eRp+Zu%Iv-kseXGp51`>OU zDNe!#l)`tAo*j{VVlAQ2AxN)7H^=6Qmj3mq&7lVJdX||!4Oovk^^fjZ(29wu!a<;3 z6oWzXt!^kD1|wR`_f@a;E;W$qQ!_v^N;@iosG1Q|VwpqRR(s`^HiK2~4w39rbSRMM zrt+wndeI@MQy57)gvMq||D?OxKz2_ppMrMpYVH{9Uxx0sVKK%Q^FVsdFV~3bWYlpn z3ALBcgYl%Jqh?G0VZ+Ofh*`gBxqRb;AWAU1j-zL6>7Ph8EsgM?(j0%{P$0e{MyK6 z*#B3C_c%W72n_w)(9GaB2ETLPU+nwPzWeune6O_U%X`B1-?A^+e%m%P@Qs1%1NT|K z&-$3<7u%KpZ~osi4MaJ0H*Ax=gRj;Op{Utn6fk;ThdzYC)g029s&B8 z`LVI3|6BIO2Ev#`NRiIP@}*8Y@4Dt;Dmnpp3)sAi&4XZFw3r9hYp%HlBAT|pkw9UP zjLamCA+P{QE&b0k+d%A+h(Hz$t7(2Eq@PD^7PHVzv!#DFwbH2Tn2^4lkpFc51bvIT zMs@PGQj2*Uy;g5?pn-@bg-^7YPd}bRVicHMH>m=n&|CVY*AFxh$|O`GjaObRw}N&T z)=;HMSw&nNTx;`Qf>Fc(VEo*Mh(wDSxazeG>kULM32B3+3xF8H$C%viFeG4d=hWpQ zoE*_JSgN2ZGt)A*^iRIo#`8K=X^!H6;Pu=Ku)1~=r>J*s>AxFr?lqlr8^~&-z5?_( zhty-><4F075}>)-nt-k}1Op-|L<}=Ni>cxOiI)D6lS~6?LHnO(+$iV@xM1?Pb%7KUg18NI#@vsw#e4zvn(9hpS?B*6EOZrYk1DJrkTVb8 z#L0uq1iCeU)7WArt6se=H}bvrkYm=jnHWU6wn6mjYQ2%ud923dD-6^KXAs1F7}Jb_ zP$3FqQ_VDjNg7&=vU9JVmm5edDl7mKNFBS9TP?36#Sc|*#0Meu&ADZaEoM2T zS6A6aGjk}ga3Gh$wt|ldb^~^9KH0{W{vo_fBcroYjYuw}PA%bEtZ9=#ZO&cPs2<_w;?`<^~Dx;oV;d> zIi+{6j%tm|dL}v}kEuY)Vft)&gW}^5ig71&V=tn`JfL3PUT-v0fErd=GbE6xLsl!b z>7a$aao`{)o3DAX7^0>BDQ`5M(@hw99o4xqA{xl?fbtAh5r~vQjF5gqW3lmH@YRkZ z(`+#htJlOc4J7vz(uW~b8WX{{z)!nDj?EUc^wX=Cas&B1g)OY*S^)%?4V|zjA$HaM-mzIOV$N zns7ZaxaP7tf5-U~&bsrm^T5de82MeG1)m-HUq-Scr$>&A3=aS8@V^=U`QaZLR)?pD zqr;C4KjipZ$L~0P)$v8g|K|9x1{imU?4*kN=r-s&tl0%OU{?*`b z4F1?)IWlL>^=DhNuV^!cb1iIS^CFg);2C~|cI)syS+ zL%uGhxK<`|<{-%iloO=pRaOhuL)D;V!B$YSvC=Y_&t5vOUQM!U=lkF`EXrEYCGb_lA3e^Tl z)l^$SvZbv2(1WLwWHm3>V6LdGQ^pdgnn@lG{mL`d{Mo<{JZST1KclB22H*)X6s1O= zXxcB4x@^JnGnAeI`7)@<`T}LK5cwqtL$>~N%9kK2rgKSc^1M7dHSj~cew0ilj<|zD z7G|+vY*dcOp>Q-54#up1NyIq8FNoBu*Ca0G{cm~Rx?`4onvTK5MBGrj&6el2NK6}} z3M{WPao4M$Ado7kNvxx7BV;QMB#1`UA^B@}pQoS@L9fxn|nEqK_EuZun9usuAG zDCgDd)(>!Jl(wmBkc<5ww+lOOGv=pNeSF|QQjD>7{Kur#YMo+&Du`(XiG=7}HronB zy4iI~Z~(VzARqAXL(&@w+0L=GMIwRbyNe>($aLbAblUPCiA6M1g6ISr7u3julHUlgH2MD!OYY%g1z zFNriCB07#dQqqKfA@SjT{cG!M*7sO`9Un6Ob7c!5SOW1hU>qg{5TF;^j5-ldy`^8P z=W|;Kv3i&dH~D6k!7~i|M@Cqd$jN-(yV@yuR(nB79)lyExG zPpD=d#tNd=8z;+e>qc*BgZ+ASliNbblpqzon*`s~Vyj?nW_+}bRM3%VF|Tf~jxt*a zo9ad?0_5&SD$SPuNhP<1NGUNLVYoP5E~;zb{bCbfxW@LFtu4lu{t@ltV01Hntwn zVf(I=G-baL^Tg?5uN&iRj4k~eD2rRDND^TtsT&Bi<85@x#Et@9HpBGI9Yst3W`fIG zC`R%K_lLWcV0(Or%?;#5+TrohY%w$JUdy?*<<|3YG;dlM3ZVi{myutusALPGOE^@+ zg4W@kfG$OgdAhy2tZX$ai}3LtLyl6C)#rK73@%%!EFzA2wUrD>>`IV) zayxC5AWpr-NIAWxR@@rV=|i)GiWBdVP)-ekHu_^WMFw;89vNHuzf>=64G&u0#`J+y zANn`C(uQD<9cGVSv&n9uc!<%*Y@M??p&ND#6(`!bG{zRQsk~P=xve3cKTe;YGpK}O zJ|HhPy0vjB%ty5Jf11{|26b9D$Wur!hhzwvLXIwBf!Fg`v~}5R>7QY&Z=q0#V971G zM(UPwizf@q6y4Pw^?TSdC5*0Ye(a-~+1l1#eX>)ft0+NNR7*7v=YrIokI*H=9td*X zd=i^2<|E&GBby~eG$pDP{lebNB>R}@Laa9!G+O%aXmjrtYKRn=?hQN1NyZ9>^giP7 zjRI}bvz?(o=2#*`rcHuqw)AiRyRv1|MRZ+MX`y<&rMJyP)j#9RZ4KxLrDJ_Dc2NVX zgRL}M%(ri^ja=VC-4H>wGxHOAh7{>V_TVa4s+>NAE7gnjl)(2rHJuG7EOp9bQ6~#{h_6Q>F;_2B}7ErroMM9QRr#>jL56rH@SFr*sq1a z#Lk~ait4q(xyA?dtrUSxTDXp1bOfQOn}{pKCA9R!j;G z=NFtWITxJ|I)_L8VC0uZestvfM#>|XMp7fekwb$w2dg8_;lCXIz2Sc~{Ket_b@(3* zzcf5I92`D4e4pd*9Dn5a8Z7@m>bU7R=SVspaaf0bXXr~qKRxtMhCV*@;!t5IJoL!m zUkv`);8zDfH~29lbg=v9-4)nff!!6@U4h*d*j<7DPpv>JKQYIx*ng<~!N>u8($3xlF1bk!vQ2)8TIZ1~7 zG#TcFOsxmjiUiu7IlnuebSeHrRzdN#ru8wc=hG(pyJ$1Ip;NLTMlP-zJY(#I7U2WB zq$)yO3y4$0>JYpAWBpbZdX4O#qU%=VkbR}=(|p&bi(Q{~R4m$P4O<*wf9rRxU}<}V zCnFMOUQp9j)P%P_alm%UswL5EuTV!ZIZKN!-T;vvcdq7@{MJ9G<>vJrlhkrnfk(R@ z2Qm;Ph5$#3JXCvbdr_+$gLIE@6jJJNjTrbfa^oRi0Yr`|qSRq&ty10~CylgPPLo#+ zylHBKwzmzyHO9Jd(!Oc6UYe|D z(!t7@)A|(Y($IfSyRBtRwI3i4fQ#jFQFlT^rHv9uh_Y`^WA810@|5ibE4_e15}ZQK z(@J-1pd$=KuTake=c6`2UJl0J5)Mn01wSRrTU5j0V!4<`MUN$+%P(V{45axJbhr_d zQvzgDDp1WxTi9uPlpiUTjhglAi&=g|K0s(cLjD=V0Q&}S73Jqc2{6` z1$I|pcLjD=V0Q&}S73Jqc30q=z5>-P6iS(3mmpK(p{dE4_{=O+b_N_^!*Kw0 z0L~2l`QYn=7Y1$nesYH~^IRchHBOgFhl1%-E+R6d4PJ z=O1%gldG3(Y@_5HL7t5Yx`8HpRcKO=OL8s+t$JY{=5sEx$QolQ7Tzagi_eFujY+C zlFJghS*Fe5ub(Q^R+Y48qFlhN!dj~M}))ET`fJtrYf5(VY34cgyN ztBCeYqreG8#bwpC)$(;lbE}z30fB`_Xz)+coVX`^;Gi&PWTo`=gY+93DTVXVbd-vO zbir4u~~sDZnMWZ%p7PvSM%!m<#4#m4$r^aX$iEx3>QWq`4mQq>YMl| z_PFOaBi+8adGt}2x%Yk9bQ{+E z!=|&NeQSyAGO%`0yzF*U6&F~yvvcg4=ZliqZZ7$2^KEroKS$2d58>6xHZs2iDrXnibj__w3 zjq`I8#0XTBmPKhTBJ z-haQ-GHduQQecAr=Md!%219o3Jk}4j>h;LIo;}Fj=N^K8Sb^xe0g~_ zSH-=*s^*X{zSjH0-8OpOZ6a)>slZ5KtrY==4wurcWz;;+;!L`X*2h^M9K522iZPQ5Dtd) z_-Y>cJ!;Fv`nCcvpAfklPr5YZw4@A6-8y|I5fz@7sI;keBzq5GT&W}x^!{+SbA5H6(=x@QJ`_N03?>lL9{4U5AqL2DqC&`kuXxYTcas}1 z6A>qa9G7Mv_SwBUp+8|zXHu0_NIm&&=|qRXSxbdO4F$e|?V^GL!j>Xs^yK;inbjH9hB%9EoWN!DKXN)!Pjr3$6xGR+OT zrqh8-G>^A4%T>}eu}Wwt-ue-#G< zA$XUY7{oHPZz6o75|q-1sEQSSu|H17?KVhBOHccyBSD`h>RTRtx(*6dR*&9;b;pH3 zYH5-k3PB^-DQINUg#t(m>Nb>OP#o!XIo4Cneq7!rQBOl@%T+ozF&mBsvzfF{38+di zoQ*0me<%=&KAWMu0nW&DoqvF z>Z@>zdh?an_yBIy1!;@7SR}`LR6-sJbP!EmgWx*`;>MvMIHjOgRZ$Y%d;;=n5x<3J z9ADH^%am1&#ATI!$fVJ2ew>pAd!!A1fx^!487RypiSzH5B*GQB*D6#6q{8PHBw8KJ z6hYe*4O}DdE*J-8@2~J z57rfZYs*-bN9BzrL8ojiCq+91q{2=Bg?N>oNKxx2fqylJ( zz2d~W0jp`IheJ{*VrUwNgIDS)j>|J~Jl|AW+-A=EA5{IjdGfv8tjZ9a*l`)~aKpqZxgOU3N7R2?m0p zD9&Uw>{VkSUp96jYGd4jQw?1^T5K2I>6j)pUlv@hU~j;C|p zzv+4p_C0d*Ivv@~CrxK|Oi*Z*)0JVj$t#rIUk@8Hr(wgZbPYFiZK>Y#UOsz%9PBgT z`+TyQ0t}Py`ZK9%30Nm{_-LkJc`NY|<;SkW;Yz7+|HVr&ppck45BKHzamL|b7# z1FB>O_||7$`!2%pL8CZW`D2o4lupN6pZVBpAZWmW;0YYmD=mSJj--lfP`~piWlCY1 z!4N$?O0U26VM-7I&t&)v*HFWP)(HT>F_4X##e(7WV^Sa}BUgp+c_lVHLyQ|sP?Bi> z={QSssE|sxF0nWL@Ti?skVwgM{-`{i@J9m?Un-Fd1L~ZVQ*uxa2a~~6Amxw5;^U^* zyvfuO{m6^7d`a)@(&D+<*|Xk>+39WsvFSUCd)Ue3;30C*FIt>?e+aTwAS@WE=E2KS zfV2izTKMP!`RWi2;?usld0%Kc5sLXDk%-@)h{XKS6teauL-9azGMVBC1dg~Yvp0)P5ix#Y47uOxSjn@*skqpn5M49@>~ujB_ds!w z3TrBmbnG&12$0+w&M@vP=`?cMmFYIc31{|q(&-R%Ohv^(WKPGKGMsQ}N6*t80xm+5 z=rKuqd%9<~oQ{NAtEjo$Z6-&B4e4d~(DW z^~FM9&GfTVg|w8#0z*otK33|L4Z0t(;)U!ng384SZ&4Xv?|4xuGJo2RzAnK;QI_VW zlZ($Wap|-s9YHnaH$VC+$QSJBLIGa&Y#_^Z2_?(w8s_D6bZ(98kAy?fTqGTfW`e3Onhs<_5!xo7>d)jN zfpM%;O$bxoWtfZ6ad$n6^#4K2KeM>rF>=T;Jvg)X5&QcGK8*+8w*TBHgx!|)n=5?f z$V60A;Kh1jlQb0YyflL~^asKbPf$iqH!_bVRdub2e4Z+%Pj@_^wKspI>+g_Y;#e&9 zl^=fd)t|&k-9SAR2okuqWpHEQp9rcTrTa*t0JD*hZRcU>;{1A-bg>Ok0?f>wLJ>y4 zs<#^ODn(@jy7_vQ?yOPPk*lMH($zAo-_^_7A1*_##!VoMhTgSO{<))&CA4pYBOsVN|?Dc8NCH~zBrrBNl5sa=-mvyt`Wxyi`$F~3?UKR>!k3i`7bX0Bu>qt}*- zPY1HT`RVy9*=w_lXF5sHC;NQR-?NddszkEkj3*O|Wb@hnt2Q_aA! zqH@XbX9(6{r6TAB*zR+*$$Z%zpg)~&hiizE;;kNt01O}F-_R>X!ckb)F}zHA*%f4v z1vx;b7v@kFNfi>_uEMg5|GQYvR|>ft>)gyLCP|Ki2B2|<*7rO~*fU{v<=e$0>B#ih zm~li-m{&1iSfQE1svBT`6kUe580(=i@;eLcNr1<38XL`>hPDE&wsT{Zm220o#TJ68 zRN~oZFXn2|E9DEpl5%Bo{`rN)<#HjWBxjK5HZfZruPv({fYG$-+whkg(V*Khq3z%v z+ChVQNMTyW^}XHB_4p}GsrT-&;%wL;-p!>VZw395uBI~NIOzYlMQ}A7lPXv~x~FKZ z#05<+&OuvThxJ>6#gHxnypX8ZsG1_3z!IH$aZeC5fXd3SyKvt~f3<*nh~CfNdSexu zAYQxF{2G3y_4i!!_?p*uw5rzXYo0aHf3|byf@jjX=hrfmY5836nR@tas1jPuOjH7= z3W4g?v+3o+Z>#YlTW-~y0_vR~~hFlNjehoAZ0Tw(by9y?T zwK~n&YVweDF+;vp<0Z&1q?}iwD6{7Zu2n41o3DI|yxFj(92CdDXAu(25R4IDGlx_P z8HZH!5{gD5un`PE+}o{ZtO}A&$H+)UN_psJmQW0d9ZGly%{>a=4C<0#G5{6xq_hih zORK_TmLBfe+=;7@U<0zj`6Cbt!Uaw)MCbK70S!z&KH3AfbMi& zW#ofrTIKW1GE7N=%UOqBMJnFhWOO1iIpGgR*jsEb;!l-CprZxuH8G(3wKio}_TPkG?} zmBcMk$^r_bjKK_joMHaDQpTp0R?D1YJ)!4YpHZ$BV2g%v8X_K;G4idGcM2#Jm>a%n zjKG8}uJ_GYAnSb~VoHloa1{NhWx^9Ryx1{-23Z6iu5FSa&DP|Y3|WY$FF=$XgFuNC z@7QN(`yImoI#4Y`rN@;43|1@%zH`p@aHxSaT_}<4 zEU2ek0f5>`1#%=33WWncITVP=-dHAv%NaTQf*Alp!AvmXi7Ln+7)fW{k2`cj4Y zXd-vkvzS(%heu_8yi~3ga)k_k$2h&NyIS#KSEt}U*{4lShk%5wMP@7?s3>kPkTyx< zIMVG_HR*_^RacMlp}KPen~WaJwwWSfvRdz0D+mg0COyGhahZb|RV5rhDqf+&6Hhk+ zg41B_r(lhUPeH%LEC`NqI&if^B!}2+G^NdzVT>bCmstzlIxsP;vdqfst%vjjVHPIF zs<8Ed3=Bp#x&!;Pv32gc9FEEXIp|k|(MV7Y=3+`F81pO9Y|ftz2V(ueE$S#6Qtxon zeb{suW9pU6GFD+3azdWfFyk8DyS72SeYrAQ?{jPJL!J%WZ zOh8UYd@+FfIYkKvLuw|QORK&>AgYev7FHAX|Ib@ov5{5B=HM6iJ-GL#{Zj)kSw8>m z3jmxt3DSI6+%nU2%bZ_cqU0V~fpkctqhzjb8WJmPTLCmlCMW|O1g+g4-kC8GgfpWE zDX~gl#X$#4BZ(e-MKTWqA~6ej6ACf$63Lff?#DD^1>sn96+mxq87%Nc-2Cn1?EEyV z7`lxx$qo%{n=s7gn1uUZrsR`kdcc)=I=-|ZB~$ZKd_IwyT0E6Xq~_13<`cJW&LmT4 zKZ~1v`PS=os4Rpr0Imjtg6FVBpn|4A@0)f>%&e0bWv>j7HyDytUq}fl*Er5w64JMQ@vjGOvk6rC1#)TsB$cv4h1sERGn5m!C)rqQ9^;VCmoh!p zFdUA^QD0;nKd-5XN&s?EPZxnN<0AB6;VF*8BSTh^Jp?m(!nt%Nk_m?)a;9s~hu6E2 z#|`xav@vSiwEC<+hwK>U%>0|JH*~&rdTbyY}@k+9TCzN;BJ5(Jsbw8 zoqmrT^~m{5XNSqYi(cr5Upr%)0kc9WKjz@J;$n0b!6q!sU zQMsNQ_3NMVq;93PLRPo>dY8bSqCkDOgJnpopY(r$1 zt$7&1S;-~eb3MxvU+= zB!?6a38v6GBUw*0ss=pioIj%kbE+Ir0=LC*3|Jv25*>W3qd@pHyC&bj5v!j-zrc78|`ruN`c@H+J>J!Fr`MhAjZ}RP_`K z8C0Dt=V~6Tr}sniKIo5zz;{m1yu@dKA2 zkrr~#ZTHE}ZH6VsPnH}-3566@$$6r=a3qtC#XO-HfkXaW))Ncjgu-n)lJUV`2y550 zO=5_rIj02C0S3Vxxqd{4ZPgTQ$BjCbz% zv+7KBZM~4sCE^?N*Jh>)3riQDUEdihl#Dam45r>+D#R33N+J|KGB>^Ufa|{tu2lgWkOx z_KyyH(6aR{*8gw3a2mq?eofeak_bxk%K}xCjR>?}l`dYG20KV2ych1QD0ZnSKj!qB z&|=|!2|kMQoFv>FGgODg^{8-Gcq7NpyBSS3k|6ja!=$iRc!9)^2N5w2_akfwU_fC$TA zT@ex^-XvESHbt<k-(@!F0IM>id( zz)gx`_g|vT$E;U%S8&)|Ax;*tnItu{k2F)m(#+J^_@XpL0hH@%4KeP}c+!w;i*($` z@rQiqVl9kEfFi<0Qy6p=jX53truWAkz|UBYcmoW|utq9KQ%K)5xePo90ov8B11KUI zrBHt;3u}l$f#HROZ{qf#V4^N85GaB@kD&ky97zSABkXl&D@Ir-4C33Y+KVkD39hZQ zG1bmH#TQkhel-SQKt-M9P&OU*tKm>68&-XalFg>at0JN68g$;<#CBvRK@9tEzR)x{ z+*?kdo%?wK@*e|t27ji1gq=DK z=l>eGH1&%t))*)DM2wlRjg#zGg72;4FSrWGH-^RnUZ#sIfPFN-U_68gRZ}Kq$Q|@4 z1_KLS9C|VU?E-2JfdCPdJrDSlv>aBlnQ$;2R$wLoXxI12Tui#*I?YBQ;r-uqKqC$^ z3g6Hen`Qh_9TV*(+7T(zf0PoNDl$s{nk&5tE&C3l&R=&gZUaKW!K*26=*EuA2 zFg3g&LIIRCjt>lW;(jK|S>RIat-7LEf1ESi;CVG$sb_$xA$o{nE(q0QGN3>K7=CK& zD!K27|4d@bq?3*1;p zDEQ?ZfEH{E2_K{%V}cYSK=SAcVTa_uL=1URWR@q(2z5Y*rfGYxV(B@mmViQ2FG31s zWYXZ^B*bUkej*ML>AC{oW`z>;mw_Ti@-!WEt#@{|MyM;EaCUZ07h6PTBn3Ja|598m z09V;9fg~w?1u$ejoWdqlCE%8tn==!vR!I{v6HB6V4r)?s>q-~PN+=A@oAo2wRm}!f zRfz&ZLp76NR8Fh@K&~HS{K>e>@`52wk`UX+d_7aBr{=`S zRuu}&6U>*_L$kgq?7!H_j%BZ3&B<9c98IUQv1}k1Rl?yw?|8}0w~sq5bvAJ@@^y(y zSYXt+NS=e~y5)?+pbiJ@k_0Lo%A){`v9+Be0j9lit&-0LuT-+RQaGoqS0Y7ueK~M_ z9EKz9``%Va5PijvXpZ8jS^u{dEUrhL9~}Pl(AW2Ueb1lS$80}^N4x*r%N4j8fBHVl ztJ9k7#GcTJ^V1igzC*Nt)QB5GRaSBe1Vj((1}tcT7s6x*|9%v2sjn4S^W%q&|R@!02RZq;PggwD% zGy`xw81Q7$>4+?cviMzS9I*s)RhEl2B`ABZ)x4-Bq^x!W>oy&8PRrT*NiAlL$)s)I zhKAHd7oTob?ix50@`d3PmPYgt^fo{AwqRO~AwDCE3@bS@;PKwL^Z8dB2R zbhu6x&LAOZf|{o95OPMEnpy%5u^^%)=w2lqNTUe|;#g`3Wz`j^USyEu_(o_~lyQS} zGBTL5ip{$9S*)%~0!USQ>ocF&g5Mu5Hhckkzof5Wlso)MH znTP)Xz!y>xoCt4yoE)ziTO%8ORgj2D1Ee2a$`rC=9O;8-8H(B&_sPkLWFisp#zWCb zITrOj2WwT+Jhj|OM8SycgKw7_&c^(~bS4{1M^wcZ!SN2sIoYS~V9(SUAS*|2=81$j zAn(nO{0z_ug3V}Mu{f+A;bIpWGrPz6rPNi-v?|U=vMvd%Q&X+6b|P(IwRV7RcFpy^ z>4ajqz-zkFjs?T+onD+ir@dZfdFwO@l_E}#9cOSH2@aT1*Q-$Rai2-$5^_PPkm+>? zT|Zn=f+25Jt$Q=@VIWBcT#r3c9UX*g3;dSC{#-zb#xlOF9EDvvm`fv2TFwS#C5NPd*tr; zYpAKOBpWjF4CeuCm?kKb@C5(lX5hynDd%Nm8wKLZ;*&0JAzcQBSQS3|I?j3ku+DZP zK@l(03Id**!bMXluj9Z;x4x9i5n|R1j$s#$brq2UL=(K_9`YCwe}{i(I2w>g5yMKj z1bAI=bT%}5O^;I#Ze4Um#~8uMi1b>%v~qJ~aUy=ycrtY$sK$tfjsF`gO0r?2AIK zgWrm2(%mkK8>w?{%h8+bY*c?zx24RVy`ZtDg*r4N;h@NVEQmN|kgQrJk${6(#feNJ ze-VLX912eAKbbecMFpqMYA(*$6&Vgda6in0m4GmhF_gv$;7I?IPEEe~$|tLgke!`g zg1_?uuFR~;hyMI2xU}JuoRtH=!yoAer{4$XLtW{0CiMT{DZ z_tK=2#*r6Ul%~3cTU9ohk6SvrPxd%|o=0;JyGX z^hiTZ8-uboIiE^-=9Co`-aSbLE(EMY0DYjcX*3&R&2#gq>8Yh@4<-ENkhH5*60QJC z6xIvDMu4S}+5p*5#J;kYDZJ;9>~^g#+jTjcH0pOPftb zEmAv0d_fsht{tF0Wa%dj0+fb-vw%-K&yjCPbgkxV%t?}XmQ?^O@eM|q zlp&yN$gv4r7I-rt1JfOU)%&XYbcnjxzolsQ98M8G<^PKJZDaX!B{;P+@g$6-$b zQl&@sh2cqyd?_A%;XP*}}P8gNqR7gY8sBgbIb5KX2dWOZF!U_v$kc0qd(9eY1{xJ>D zpgsu%5&kMJ3}Sa{H&a1&V1!VvBUK622tXJMz=3j!EMe@rtG@uL56Y&5 z{07&x_h^~>d@WI@WS7X9%XIq@j(1>|0Mnk-y8ne;mbMX=AeA(muWr~xH6v5^|aPcy-I=d?}=Zm zuT?9V6DiWp4zFcOCm?8I7|=S@$NfGrY5aj~9=MY$)x+!Cztnl_>zP(^0XWtu(U2#X zLBvf)M(mBMBE$h{S3I#y8W~uk!D!5vLnxpx*YwY2jZxtQGd(h`+`MlIqTVIVr=DYN zCINdv*SZcNN(>tr?z~#;vPX-KFL3fqoC_R<3Wt)gO=t?quY038rvLMGt{-dH{g zN%Mey$AlLYvFL@wo88lcNrF>mo ztjMznY6-*wld+h00&)F5dBWcc%Sj?ECkPNM5F6idSk8^~qT7-;dgj0Rkyr<2s_^u`3!i)hY-eKGXwCzaF@|JIVUOyE z^L;Rzj(TDMArUnb4ye&g4nRYsdFFTElV4nL!?euF5Jirc*$KpmuC0OSaUIo(PJsxL z$pwdW71(MG8Apx*#REuKdXkWY1o%WwWh_8k!|csNIvnFV4E3h2Wq?EQkAMOJbifx0 zYY;jZAl{}int7m$DI@$c>ydN1_WM49tm<-1K2_(-<#zVnad?Gd(P5R_;B9hebB-4vKLX>Vg z=fUSg#ssb{_P$NR)WgQisAPrQ&ENVDlD{Fthv9- z{mGH1-Jcs-cHSKLyz688e!+QcpuEzub@Qd$)UV z?|<2I*m`j9PdX=DV?#6hUUt2EZ)xwLeaD>Y;QROdiS4HArNLJ))Gv@8A=~oS9bH9> z_~pm%kgqK~Yu^l6zZqv_e)DnrtJBu)4C&u4UI0%YvYoZw#?n0Zuq|NiV*j1B-L%kN z-Afze48Hk_)oevtwQpXsev9PQr3Y+Bd9E#U!MPK*m#ue<%%9zJ*b?r~A;W3_jRkN567g@Z5B zEI=OHc?O6RKAQ?o-hXm|<4)UtYcu%&sdw69*6xAkV}pNV`Pn;&TaM9!5Wv$rN17ot z)fkr=MXzz|U4&gmVzzanr=4fd4L@O9u(pzw0=v?R8?@zO4UIft4faUe8QidMu3PU} zYQ>$Tl?;qLVELq#+`B8};l;_@5RZ!F3wNBJ(4VqzI{Vm9@E2h(f@VcY>&(H;a>l+n zWxY+^qB!&ss#kP}Io5pV?VF=J>!Y8PUZeedRt(t>bVE!*!(icgtg*e0l1pB{t+2Df z20a1Wis>%uqnymKIs4`zh&oy%oq=qD+_djmKXpu=ylCHyv_^3+3uL^9mPB7cjIEDa z3r8Qf&FZ&3Xnvbo2S-NYmV@F{Z1ctwBeqAalr0yIKI&nJ^HI|4wOZGYzuhK7IOD%h zv6&r#+STe~_t_rTA9Ka&LnK9M?`nE@GPgxNn)vc1~14K;=a2rEbj_s>~-tYRD z<X=TV8VVTPro!b2jq|ouDu>-^%ZY6& zO*$l7%Brm+LJrlAYLP?lvYoJYz|la&sp8`x6xQc@S8d#fSH?5~&l7l$tn2OWRr z_!-AX9p@dxLvQW-3hb`H?h5R#!0rls z>sMgZma+EqbuqizTp*dYr$@*6orCZT_RXXB8Vmjhgb%h8UPHFBwLhHAh~^R`*x#?( z&^Z!+4Vo(4xlJWif^E7-4-D(u2IuRgb=)0bc5m>R{xqN4tA*qCP1{}JncqCq6ixB= zfcK8^RNC3?v@A2$dRv|A9%#1_Th)3epzT51lu$(}(3QOd7NA&DR$}(&L8^~^+iI(Q z+X(2OZll=3zW+LhZNKms-E006du+q$9$H1l?t!7=cZWxrLn4h5|r9$dG| z_J1>caqrLX{m$WkF*GzV?mS};4ZP%dYxqwc%eK!A{N?cD`~GC$%R~Qq@6kQZkq_Bl z7ztVb$l>1evh~AzetU5LzGcfF41RUssiE)PlNkPp^P!P%?ENlV!1nihzv1|@d)=LL zTU`Iuz2y48-AUKKb_ZN*6<`I|1QyWxJr z{S)p_INxyog!2=wA9Q}VYYT`(e&@o|Is4`#*5miaPj2aweKTe~uBS}Br|wyc7wnrd zf13;I-7|O3^9zgi%_ptLOt#3Coi8xGD7St|J7`v4P?^W!%3vk!WWz%JA`>Mv9$b zG3xkT1|vsR`*U?>53 z4{AjQp0;m3j`h8Vclhu8__KgNCeR$ENI?5AhZRQP(kwPe#LDH5T$^!xT8I267&h5R*O8 ztk35Orqfa6`A_=-{wTuOy~|Zkp#=9VPB`+Uerw4h`+*-$$G%h|iR>xJ5A~??yDe9aV+)i>R1N#Wp>R-9kd!H%ji`QqG$Z>n za<)AK-x1zA6_Zk;xoC{ast2e8S zH)4;rJqW(5?LqXBwg-`Swmk@aNArQ0VB{Tb55ny1V3=^|?QL%aAF^1iORbRxLJv0I z;MoRzZ!{jBD8WHRo&2dD7oUK09)CWPIeE!+$XRzTv~e4-MNLf9`nG@qapg z+40kkPdh&Bc+s)qxagR2#2iN)4?Fe_{l(B941IOzD?|Tu=!b_sGW3C=($M>c&J0C| z4i7yzG%)zz27h<(HwS+K-R=Ify8^o_u)6}gE3mr)yDPA}0)4GOQ<&*rh-?#)AXvA3 zB=}IJ5{m#jMl`VLXML&EQny}O9~=Ap}7q;vA=*g4j)x!3;cw*&Ubqu(*ePc8tr zH*@f}cMRRKg8ePg%DJbV0xE1oxKl`<4b*p!;@w5&=%;y8c8q}DQ!}alv3r7d3&8c> dqtF7!GS%0(>oOb@0z$p_$s9Bz?mf0B{=W=Umcsx5 diff --git a/remarkable_token.json b/remarkable_token.json deleted file mode 100644 index 4e87c91..0000000 --- a/remarkable_token.json +++ /dev/null @@ -1 +0,0 @@ -{"device_id": "b34feb7e-2c5f-4308-a657-a20a24547171", "device_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdXRoMC11c2VyaWQiOiJhdXRoMHw2NjBkNzM2NWEyZDYzZjBmMmIyOGIwNGIiLCJkZXZpY2UtZGVzYyI6ImRlc2t0b3AtbGludXgiLCJkZXZpY2UtaWQiOiJiMzRmZWI3ZS0yYzVmLTQzMDgtYTY1Ny1hMjBhMjQ1NDcxNzEiLCJpYXQiOjE3NzkzNDc1OTEsImlzcyI6InJNIFdlYkFwcCIsImp0aSI6ImNrMHRUUkZvVXhzPSIsIm5iZiI6MTc3OTM0NzU5MSwic3ViIjoick0gRGV2aWNlIFRva2VuIn0.29K8KBvJynjJyDRpnd36LvcG8-wXwA7MBweaXE0ocmY"} \ No newline at end of file diff --git a/shared/knowledge-store/.gitkeep b/shared/knowledge-store/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/shared/mcp-servers/.gitkeep b/shared/mcp-servers/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/shared/powers/.gitkeep b/shared/powers/.gitkeep deleted file mode 100644 index e69de29..0000000