From a65e67669ffa301901b321145fb5e4eaf4ac47c8 Mon Sep 17 00:00:00 2001 From: dani-polani Date: Fri, 3 Jul 2026 03:06:42 +0300 Subject: [PATCH 01/23] docs(ui-rework): mobile-first interface concept mock Canvas-first shell with three thumb-reach modes (Text / Link / Style), Export as the single primary action, and fine-tuning folded behind one disclosure. Foolproofing: opens on a real example, auto-fit prevents broken layouts, only curated controls stay visible. Interactive mock + rationale in docs/ui-rework/. Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/ui-rework/README.md | 39 ++ docs/ui-rework/mobile-redesign.html | 795 ++++++++++++++++++++++++++++ 2 files changed, 834 insertions(+) create mode 100644 docs/ui-rework/README.md create mode 100644 docs/ui-rework/mobile-redesign.html diff --git a/docs/ui-rework/README.md b/docs/ui-rework/README.md new file mode 100644 index 0000000..99ebc29 --- /dev/null +++ b/docs/ui-rework/README.md @@ -0,0 +1,39 @@ +# Mobile-first UI rework — concept mock + +Interactive mock of a proposed mobile-first interface for Word Aligner. + +- **File:** [mobile-redesign.html](mobile-redesign.html) — open in a browser (self-contained, no build). +- **Live artifact:** https://claude.ai/code/artifact/9c48a6a5-f31d-4bf3-a3af-d8b8f417fdad + +This is a design mock, not wired to the app. The rationale and flow are written into the +page itself. + +## Concept in one line + +The diagram is the work; the chrome gets out of its way. Canvas fills the screen, three +labeled modes live in a thumb-reach bottom bar, and the confusing fine-tuning is folded away. + +## The three modes + +- **Text** — write/paste the two lines. Comfortable fields, arrow reorder, RTL, add line. + Per-line font/size behind an "Aa" button. Auto-fit explained inline. +- **Link** (default) — the live canvas. Tap a word, then its match on the next line; a banner + echoes the pinned word. Tap a thread to delete via a real target. Pinch to zoom. +- **Style** — theme swatches, palette, light/dark, straight/curved. Only choices that always + look good. A single **Fine-tune** disclosure holds thickness, opacity, spacing, + tokenization, and fonts. + +**Export** is the one primary action, kept in the top bar. On desktop the sheets dock as a +right rail. + +## Foolproofing ("защита от дурака") + +- Opens on a real, connected example — never a blank canvas. +- Auto-fit means any input lays out on one row; no wrapping or overflow. +- Only safe, curated controls are always visible; the messy ones sit behind Fine-tune. +- Padded word targets, thread-delete popover, 44px minimum — fewer mis-taps. + +## Not addressed here (follow-ups) + +Routing of the SEO/marketing content off the editor, real per-line "Aa" sheet contents, and +the desktop rail interaction are described but not mocked in detail. diff --git a/docs/ui-rework/mobile-redesign.html b/docs/ui-rework/mobile-redesign.html new file mode 100644 index 0000000..a7233d2 --- /dev/null +++ b/docs/ui-rework/mobile-redesign.html @@ -0,0 +1,795 @@ + + + + + +Word Aligner — mobile-first UI rework + + + + + + + +
+
+
+ + Word Aligner · UI rework +
+
+
+

Mobile-first concept

+

The diagram is the work. The tool should get out of its way.

+

A redesign for phones, where most people already use Word Aligner. Type two lines, connect words with a tap, and the result looks finished before you touch a single setting. The controls that used to confuse people are still here, just folded away until you want them.

+
+ Surface phone, 375px up + Model canvas + 3 modes + State interactive mock +
+
+
+ +
+
+
+ 9:41 + +
+ +
+
+ + Word Aligner +
+
+ + +
+
+ +
+ +
+ +
English → Spanish
+
+ + + +
+
+
+
Your text
Each line becomes a row in the diagram
+
+
+
+
EN
+
Line 1
She is reading a book
+ + +
+
+
ES
+
Line 2
Ella está leyendo un libro
+ + +
+ +
+ + Long lines shrink to fit on one row automatically. You never get a wrapped, broken diagram. +
+
+
+ +
+
+
+
Style
Every choice here looks good on its own
+
+
+
Theme
+
+
Classic
+
Aurora
+
Atlas
+
Bauhaus
+
Nouveau
+
+ +
Palette
+
+ + + + + +
+ +
Background
+
+
Threads
+
+ +
+ +
+

Rarely needed. The defaults above already produce a clean diagram.

+
Thread thickness3 px
+
Opacity90%
+
Word spacing6 px
+ +
+
+
+
+ +
+
+
+
Export & share
Matches the preview exactly
+
+
+
+
PNG
image
+
SVG
vector
+
PDF
print
+
+
Resolution
+
+ +
+
+
+ +
+ + + +
+
+
+
+
+
+
+ +
+
+
+

Why rework it

+

On a phone today, the tool is buried in a page

+

Word Aligner works, and the recent auto-fit and pinch-zoom already fixed the worst of the output. What is left is the shape of the screen. The editor sits inside a long marketing scroll, so the controls that change the diagram live far below the diagram itself.

+
+
+
+ 01 +

Controls are stranded at the bottom

+

Settings, style, and export stack below the preview and the examples. To change a color you scroll past the whole diagram, then scroll back to check the result. On a phone that is a lot of thumb travel for one small change.

+
+
+ 02 +

Four icon-only tabs, no labels

+

Style, Colors, Tokens, and Fonts sit behind four unlabeled icons. People do not know which one holds the setting they want, so the fine-tuning reads as intimidating rather than optional.

+
+
+ 03 +

The core gesture is unguided

+

Connecting words is tap-then-tap, which is good. But nothing on screen teaches it, the word targets are small, and removing a thread means hitting a thin line. First-timers guess.

+
+
+ 04 +

No single home for the work

+

Editor, preview, settings, export, and share are five separate blocks in a column. There is no one place that says "this is where you make the picture."

+
+
+
+
+ +
+
+
+

The new shape

+

One canvas, three modes, everything in thumb reach

+

The diagram fills the screen and stays put. A bottom bar holds the three things you actually do, and each opens a sheet that slides up over the lower canvas so you always see the effect of a change. Export is the one primary action, kept in the top bar.

+
+
+
+ Mode 1 +

Text

+

Write or paste the two lines. Comfortable full-width fields, reorder by arrows, mark right-to-left, add a line.

+
    +
  • Starts with a real example, never a blank canvas
  • +
  • Auto-fit note explains why long text still looks right
  • +
  • Per-line font and size tucked behind an "Aa" button
  • +
+
+
+ Mode 2 · default +

Link

+

The canvas is live. Tap a word, then tap its match on the next line. A banner echoes the pinned word so the next step is obvious.

+
    +
  • Tap a thread to get a real delete button, not a hairline
  • +
  • Pinch to zoom for small text, shown by a hint pill
  • +
  • Word targets padded for fingers
  • +
+
+
+ Mode 3 +

Style

+

Theme, palette, light or dark, straight or curved. Only choices that always look good. The confusing controls sit behind one "Fine-tune" row.

+
    +
  • Twelve themes as swatches, one tap to restyle
  • +
  • Fine-tune holds thickness, spacing, tokens, fonts
  • +
  • Most people never open it, and that is the point
  • +
+
+
+ +
+
+
+
+
9:41
+
Word Aligner
+
+
Now tap the word below that meansreading
+
English → Spanish
+
+
+
+
+
Link · mid-gesture
The pinned word is echoed; the next tap has one clear target.
+
+ +
+
+
+
9:41
+
Word Aligner
+
+
+
+
+
Style
Fine-tune expanded
+
+
Background
+
+
+ +
+

Rarely needed. The defaults already produce a clean diagram.

+
Thread thickness3 px
+
Opacity90%
+ +
+
+
+
+
+
+
+
+
Style · fine-tune
Progressive disclosure keeps the intimidating controls one tap away, not in your face.
+
+
+
+
+ +
+
+
+

Protection from a careless run

+

A good result even when the user does not read anything

+

The goal you set: someone types junk without understanding the tool and still gets something worth sharing. That is a design property, not a hope. It comes from what the interface refuses to let go wrong.

+
+
+
+ Default +

It is never empty or blank

+

The canvas opens on a real, connected example. The first thing a new user sees is a finished diagram, so they copy the pattern instead of facing an empty box.

+
+
+ Fit +

Bad input still lays out well

+

Auto-fit shrinks any line to a single row. A 200-character paste does not wrap, overflow, or break the threads. It just gets smaller and stays readable.

+
+
+ Safe surface +

The easy controls cannot look wrong

+

Style, palette, background, and thread shape are the only always-visible choices. Every combination is curated to look designed. The controls that can make a mess are behind Fine-tune.

+
+
+ Targets +

Fingers, not pixels

+

Words carry padded hit areas, threads delete through a popover, and every button clears 44px. Fewer mis-taps means fewer accidental, ugly edits to undo.

+
+
+
+
+ +
+
+
+

Decisions and why

+

What changed, and the reasoning behind it

+
+
+ + + + + + + + + + + + +
DecisionReasoning
Canvas-first app shell, not a marketing scrollThe diagram is the product. On a phone it should own the screen, with the SEO and marketing content kept on separate routes below or off the editor entirely.
Three labeled modes in a bottom bar: Text, Link, StyleThree verbs match what people do. A bottom bar is the natural thumb zone and the labels remove the guesswork of four unnamed icon tabs.
Link is the default modeConnecting words is the core loop and the part people find least obvious. Landing there, with a teaching banner, puts the main gesture front and center.
Controls open as sheets over the lower canvasYou see the change while you make it. No scrolling away from the diagram to reach a slider and back to check it.
Export is the single primary action, kept in the top barOne clear call to action per screen. Export is the outcome, so it stays visible and distinct from the three editing modes.
Fine-tuning folded behind one disclosureThickness, opacity, spacing, tokenization, and fonts matter to a few users and confuse the rest. Progressive disclosure serves both without a mode of their own.
Start on a real exampleAn empty editor invites bad first attempts. A working diagram is a template people edit toward, which raises the floor on output quality.
Bigger link and delete targetsTouch accuracy drives error rate. Padded words and a thread popover cut accidental edits, which is most of what makes a diagram look careless.
+
+
+
+ +
+
+
+

Nothing is lost

+

Where every current control moves

+

The redesign relocates features, it does not drop them. Each capability that exists today has a clear home in the new shape.

+
+
+
+

Today

+
Line editor cardsText sheet
+
Style picker popoverStyle sheet, top row
+
Colors tabStyle sheet, palette
+
Appearance slidersFine-tune disclosure
+
Tokens & Fonts tabsFine-tune links
+
Export card + Share rowExport sheet
+
Per-line settings sheet→ line "Aa" button
+
Fullscreen preview→ the canvas is already full-bleed
+
+
+

Kept as-is

+
Tap-tap to connectsame logic, clearer affordance
+
Auto-fiton by default, now explained
+
Pinch-zoom and panunchanged, with the hint pill
+
Tap a thread to deletenow via a popover target
+
Share URL stateunchanged serialization
+
Export parityexport still matches preview
+
+
+
+
+ +
+
+
+

Scaling up

+

On desktop, the sheets become a rail

+

The same model widens cleanly. The canvas takes the center, and the three modes dock as a persistent right rail instead of sliding sheets. Nothing is relearned moving between phone and desktop.

+
+
+
+
+
+
English → Spanish
+
+
+
Text
+
EN
She is reading a book
+
Style
+
+
+
Export
+
PNG
SVG
PDF
+
+
+
+
+
+ +
+
+

Word Aligner · mobile-first UI rework · interactive concept mock

+

Try the phone at the top: tap Text, Link, or Style, open Fine-tune, or hit Export. This is a static mock of proposed structure, not the live app.

+
+
+ + + + From 7552e5e47edc664d9f1e766ff1dc44bf4040ac06 Mon Sep 17 00:00:00 2001 From: dani-polani Date: Fri, 3 Jul 2026 03:28:53 +0300 Subject: [PATCH 02/23] feat(ui): canvas-first mobile workspace shell Rebuild the editor as a canvas-first shell driven by three labeled modes (Text / Link / Style) with Export as the single primary action. - Narrow: bottom tab bar + slide-up sheets over the canvas. - Wide: docked right rail with the same panels. - Fine-tuning (variance, thickness, opacity, tokenization, fonts) folded behind one disclosure in the Style panel; safe choices stay visible. - Reuses existing components/stores (AlignmentPreview, LineCard, settings tabs, StylePicker, ExportMenu, ShareQuickRow); one canonical preview keeps export parity. SEO/marketing content preserved below the app. New: workspace store, AlignerWorkspace, ModeTabBar, ModeSheet, Text/Style/ Export panels. AppearanceTab gains a `group` prop for grouped rendering. check/lint/build/tests green; verified on mobile + desktop. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../components/settings/AppearanceTab.svelte | 170 +++++---- .../components/shell/AlignerWorkspace.svelte | 239 ++++++++++++ .../src/lib/components/shell/ModeSheet.svelte | 58 +++ .../lib/components/shell/ModeTabBar.svelte | 68 ++++ .../shell/panels/ExportPanel.svelte | 14 + .../components/shell/panels/StylePanel.svelte | 80 ++++ .../components/shell/panels/TextPanel.svelte | 48 +++ bitext/src/lib/state/workspace.svelte.ts | 33 ++ bitext/src/routes/+page.svelte | 346 +++++------------- 9 files changed, 731 insertions(+), 325 deletions(-) create mode 100644 bitext/src/lib/components/shell/AlignerWorkspace.svelte create mode 100644 bitext/src/lib/components/shell/ModeSheet.svelte create mode 100644 bitext/src/lib/components/shell/ModeTabBar.svelte create mode 100644 bitext/src/lib/components/shell/panels/ExportPanel.svelte create mode 100644 bitext/src/lib/components/shell/panels/StylePanel.svelte create mode 100644 bitext/src/lib/components/shell/panels/TextPanel.svelte create mode 100644 bitext/src/lib/state/workspace.svelte.ts diff --git a/bitext/src/lib/components/settings/AppearanceTab.svelte b/bitext/src/lib/components/settings/AppearanceTab.svelte index 9ac6f63..23e8e30 100644 --- a/bitext/src/lib/components/settings/AppearanceTab.svelte +++ b/bitext/src/lib/components/settings/AppearanceTab.svelte @@ -2,8 +2,17 @@ import { Label, Range } from 'flowbite-svelte'; import { settingsStore } from '$lib/state/settings.svelte.js'; + // `group` lets a caller render only part of the controls: + // 'all' → everything (default; used by the settings panel) + // 'basic'→ the safe, always-good choices (auto-fit, background, line style) + // 'fine' → the fine-tuning (size variance, thickness, opacity) + let { group = 'all' }: { group?: 'all' | 'basic' | 'fine' } = $props(); + const s = $derived(settingsStore.settings); + const showBasic = $derived(group === 'all' || group === 'basic'); + const showFine = $derived(group === 'all' || group === 'fine'); + const sel = 'block w-full rounded-none border border-gray-300 bg-gray-50 p-2.5 text-sm text-gray-900 focus:border-primary-500 focus:ring-primary-500 dark:border-gray-600 dark:bg-gray-700 dark:text-white dark:focus:border-primary-500 dark:focus:ring-primary-500'; const chk = @@ -11,21 +20,56 @@
-
-
+
+ + +
+
+ + +
+ {/if} + + {#if showFine} {#if s.autoFit} -
+
{/if} -
-
- - - settingsStore.patch({ - lineThickness: Number((e.currentTarget as HTMLInputElement).value) - })} - /> -
-
- - - settingsStore.patch({ - lineOpacity: Number((e.currentTarget as HTMLInputElement).value) - })} - /> -
-
- - -
-
- - -
+
+ + + settingsStore.patch({ + lineThickness: Number((e.currentTarget as HTMLInputElement).value) + })} + /> +
+
+ + + settingsStore.patch({ + lineOpacity: Number((e.currentTarget as HTMLInputElement).value) + })} + /> +
+ {/if}
diff --git a/bitext/src/lib/components/shell/AlignerWorkspace.svelte b/bitext/src/lib/components/shell/AlignerWorkspace.svelte new file mode 100644 index 0000000..bc6f8a1 --- /dev/null +++ b/bitext/src/lib/components/shell/AlignerWorkspace.svelte @@ -0,0 +1,239 @@ + + +
+ +
+ +
+
+ + + +
+ +
+ + + {#if onExpand} + + {/if} + +
+
+ + +
+ +
+ + + {#if viewportStore.isNarrow} +
+ +
+ {/if} +
+ + + {#if !viewportStore.isNarrow} + + {/if} +
+ + + workspaceStore.closeSheet()} +> + + + workspaceStore.closeSheet()} +> + + + workspaceStore.closeSheet()} +> + + diff --git a/bitext/src/lib/components/shell/ModeSheet.svelte b/bitext/src/lib/components/shell/ModeSheet.svelte new file mode 100644 index 0000000..a682261 --- /dev/null +++ b/bitext/src/lib/components/shell/ModeSheet.svelte @@ -0,0 +1,58 @@ + + +{#if viewportStore.isNarrow} + +
+
+ {title} + +
+
+ {@render children()} +
+
+
+{/if} diff --git a/bitext/src/lib/components/shell/ModeTabBar.svelte b/bitext/src/lib/components/shell/ModeTabBar.svelte new file mode 100644 index 0000000..034329a --- /dev/null +++ b/bitext/src/lib/components/shell/ModeTabBar.svelte @@ -0,0 +1,68 @@ + + + diff --git a/bitext/src/lib/components/shell/panels/ExportPanel.svelte b/bitext/src/lib/components/shell/panels/ExportPanel.svelte new file mode 100644 index 0000000..9e19411 --- /dev/null +++ b/bitext/src/lib/components/shell/panels/ExportPanel.svelte @@ -0,0 +1,14 @@ + + +
+
+

+ Download +

+ +
+ +
diff --git a/bitext/src/lib/components/shell/panels/StylePanel.svelte b/bitext/src/lib/components/shell/panels/StylePanel.svelte new file mode 100644 index 0000000..49f5c8a --- /dev/null +++ b/bitext/src/lib/components/shell/panels/StylePanel.svelte @@ -0,0 +1,80 @@ + + +
+
+

+ Theme +

+ +
+ +
+

+ Colors +

+ +
+ +
+

+ Look +

+ +
+ +
+ + {#if workspaceStore.fineTuneOpen} +
+

+ Rarely needed. The choices above already produce a clean diagram. +

+ +
+

+ Tokenization +

+ +
+
+

+ Fonts +

+ +
+
+ {/if} +
+
diff --git a/bitext/src/lib/components/shell/panels/TextPanel.svelte b/bitext/src/lib/components/shell/panels/TextPanel.svelte new file mode 100644 index 0000000..c565ba2 --- /dev/null +++ b/bitext/src/lib/components/shell/panels/TextPanel.svelte @@ -0,0 +1,48 @@ + + +
+ {#each projectStore.lines as line, i (line.id)} + + {/each} + +
+ + {#if projectStore.lines.length >= MAX_LINES} +

+ Soft limit: {MAX_LINES} lines — consider simplifying for shorter share links. +

+ {/if} +
+ + {#if settingsStore.settings.autoFit} +
+ + Long lines shrink to fit on one row automatically, so a diagram never wraps or breaks. +
+ {/if} +
diff --git a/bitext/src/lib/state/workspace.svelte.ts b/bitext/src/lib/state/workspace.svelte.ts new file mode 100644 index 0000000..188a412 --- /dev/null +++ b/bitext/src/lib/state/workspace.svelte.ts @@ -0,0 +1,33 @@ +/** + * Drives the canvas-first workspace shell: which editing mode is active. + * + * - `link` is the default and means "just the live canvas" (no panel/sheet open). + * - `text` / `style` / `export` open the matching panel (a bottom sheet on narrow + * screens, the docked rail on wide ones). + */ +export type WorkspaceMode = 'link' | 'text' | 'style' | 'export'; + +class WorkspaceStore { + mode = $state('link'); + /** The fine-tuning disclosure inside the Style panel. */ + fineTuneOpen = $state(false); + + setMode(mode: WorkspaceMode) { + this.mode = mode; + } + + /** Narrow-screen sheet is open for anything other than the bare canvas. */ + get sheetOpen(): boolean { + return this.mode !== 'link'; + } + + closeSheet() { + this.mode = 'link'; + } + + toggleExport() { + this.mode = this.mode === 'export' ? 'link' : 'export'; + } +} + +export const workspaceStore = new WorkspaceStore(); diff --git a/bitext/src/routes/+page.svelte b/bitext/src/routes/+page.svelte index ca21147..22c8378 100644 --- a/bitext/src/routes/+page.svelte +++ b/bitext/src/routes/+page.svelte @@ -1,14 +1,10 @@ @@ -178,7 +156,7 @@
-
+

-
-
-

- See exactly which word matches which across stacked lines. Add rows for glosses or IPA if - you need them, click a word then its match on the line above or below, and export or share - the diagram, great for lessons, posts, or conlang notes. -

-

- Created by - Dani. See other - tools for linguistics and conlanging. -

-
-
- {#key data.homePartnerOrder[0]} - {@const HomePartnerIntroBanner = homeBannerById[data.homePartnerOrder[0]]} - - {/key} -
-
-
-
-
- -
-
-
-
-

- Preview -

-
- - - -
-
-
- -
- - - -
-
-
- {#if !settingsStore.settings.autoFit} -

+ + + {#if previewExpand} +

+
+
+ +
+
+ + {/if} + +
+
-
-
-
- + +
+

+ See exactly which word matches which across stacked lines. Add rows for glosses or IPA if + you need them, click a word then its match on the line above or below, and export or share + the diagram, great for lessons, posts, or conlang notes. +

+

+ Created by + Dani. See other + tools for linguistics and conlanging. +

-
- + +
+ +
-
- +
+ +
+
+ {#key data.homePartnerOrder[0]} + {@const HomePartnerBanner = homeBannerById[data.homePartnerOrder[0]]} + + {/key}
{#key data.homePartnerOrder[1]} @@ -538,7 +396,7 @@ {/key}
-

+

-
-
- - -
-
From 5983d8b2e025bc84c73c0197f92cafec556d1140 Mon Sep 17 00:00:00 2001 From: dani-polani Date: Fri, 3 Jul 2026 03:50:30 +0300 Subject: [PATCH 03/23] feat(editor): full-screen /editor shell from scratch MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A dedicated app-shell route, no marketing content, to iterate on the ideal editor before swapping it onto /. - h-dvh shell: top bar (brand + theme), canvas toolbar (example/hide/clear), live canvas, and mode controls. - Narrow: bottom bar PINNED to the viewport (Text / Style / Export); tapping a tab slides a sheet up over the canvas above the bar, with a scrim. - Wide: docked config rail (same three tabs + panel). - Dropped the no-op "Link" tab — connecting words is always live on the canvas. - Client-side share-URL load/save so the diagram is shareable and reload-safe. - Reuses Text/Style/Export panels and the single canonical AlignmentPreview. - noindex for now. New: editorShell store, EditorTabBar, EditorPanels, routes/editor/+page.svelte. check/lint/build/test green; verified on mobile (pinned bar + sheet) and desktop. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../editor-shell/EditorPanels.svelte | 14 + .../editor-shell/EditorTabBar.svelte | 99 ++++++ bitext/src/lib/state/editorShell.svelte.ts | 36 ++ bitext/src/routes/editor/+page.svelte | 320 ++++++++++++++++++ 4 files changed, 469 insertions(+) create mode 100644 bitext/src/lib/components/editor-shell/EditorPanels.svelte create mode 100644 bitext/src/lib/components/editor-shell/EditorTabBar.svelte create mode 100644 bitext/src/lib/state/editorShell.svelte.ts create mode 100644 bitext/src/routes/editor/+page.svelte diff --git a/bitext/src/lib/components/editor-shell/EditorPanels.svelte b/bitext/src/lib/components/editor-shell/EditorPanels.svelte new file mode 100644 index 0000000..3e6fde8 --- /dev/null +++ b/bitext/src/lib/components/editor-shell/EditorPanels.svelte @@ -0,0 +1,14 @@ + + +{#if editorShellStore.tab === 'text'} + +{:else if editorShellStore.tab === 'style'} + +{:else} + +{/if} diff --git a/bitext/src/lib/components/editor-shell/EditorTabBar.svelte b/bitext/src/lib/components/editor-shell/EditorTabBar.svelte new file mode 100644 index 0000000..70fe68f --- /dev/null +++ b/bitext/src/lib/components/editor-shell/EditorTabBar.svelte @@ -0,0 +1,99 @@ + + +{#if variant === 'rail'} +
+ {#each tabs as t (t.tab)} + {@const active = isActive(t.tab)} + + {/each} +
+{:else} + +{/if} diff --git a/bitext/src/lib/state/editorShell.svelte.ts b/bitext/src/lib/state/editorShell.svelte.ts new file mode 100644 index 0000000..31bf8e1 --- /dev/null +++ b/bitext/src/lib/state/editorShell.svelte.ts @@ -0,0 +1,36 @@ +/** + * State for the full-screen editor shell (`/editor`). + * + * Connecting words is always live on the canvas, so there is no "link mode". The shell only + * tracks which config panel is shown: Text (the lines), Style (look), or Export (download/share). + * On wide screens the panel lives in a docked rail; on narrow screens it is a bottom sheet that + * opens above a pinned bottom bar (`sheetOpen`). + */ +export type EditorTab = 'text' | 'style' | 'export'; + +class EditorShellStore { + tab = $state('text'); + /** Narrow-screen bottom sheet visibility (the rail is always visible on wide screens). */ + sheetOpen = $state(false); + + /** Bottom-bar tap: open the tab, or close the sheet if that tab is already open. */ + toggleTab(tab: EditorTab) { + if (this.sheetOpen && this.tab === tab) { + this.sheetOpen = false; + return; + } + this.tab = tab; + this.sheetOpen = true; + } + + /** Rail click (wide screens): just switch the panel. */ + selectTab(tab: EditorTab) { + this.tab = tab; + } + + closeSheet() { + this.sheetOpen = false; + } +} + +export const editorShellStore = new EditorShellStore(); diff --git a/bitext/src/routes/editor/+page.svelte b/bitext/src/routes/editor/+page.svelte new file mode 100644 index 0000000..0997b8d --- /dev/null +++ b/bitext/src/routes/editor/+page.svelte @@ -0,0 +1,320 @@ + + + + Editor · {SITE_NAME} + + + +
+ +
+ + + Word Aligner + +
+ + +
+
+ + +
+ +
+ +
+
+ + + +
+ +
+ + +
+
+ + +
+
+ +
+
+ + + {#if viewportStore.isNarrow && editorShellStore.sheetOpen} + + + {/if} +
+ + + {#if !viewportStore.isNarrow} + + {/if} +
+ + + {#if viewportStore.isNarrow} +
+ +
+ {/if} +
+ + + From 63850232f7e61d1c9a76b1c7ae45cc2843c19813 Mon Sep 17 00:00:00 2001 From: dani-polani Date: Fri, 3 Jul 2026 04:13:18 +0300 Subject: [PATCH 04/23] feat(editor): header nav + toolbar theme + expand; remove Academic palette - Move the theme toggle into the panel above the editor; restore Examples / Guides / About links in the editor header. - Restore the Expand (fullscreen) control with its overlay + Escape close. - Remove the Academic palette everywhere: palette source, MCP tool schema, OpenAPI, API/About docs. Old share links with academic fall back to default (palette is stored by name, so no index drift). check/lint/build/test green; verified on mobile + desktop. Co-Authored-By: Claude Opus 4.8 (1M context) --- bitext/src/lib/api/align.ts | 2 +- bitext/src/lib/domain/palettes.ts | 12 - bitext/src/lib/mcp/server.ts | 2 +- bitext/src/lib/seo/og-svg.ts | 2 +- bitext/src/routes/about/+page.svelte | 2 +- bitext/src/routes/api/+page.svelte | 3 +- .../routes/api/align/openapi.json/+server.ts | 2 +- bitext/src/routes/editor/+page.svelte | 211 +++++++++++++----- 8 files changed, 158 insertions(+), 78 deletions(-) diff --git a/bitext/src/lib/api/align.ts b/bitext/src/lib/api/align.ts index cd1cbd3..daf1828 100644 --- a/bitext/src/lib/api/align.ts +++ b/bitext/src/lib/api/align.ts @@ -39,7 +39,7 @@ export interface LineInput { /** Global visual settings overrides. All fields optional; unset fields inherit defaults. */ export interface SettingsInput { /** Color palette for connection lines. */ - palette?: 'pastel' | 'vivid' | 'academic'; + palette?: 'pastel' | 'vivid'; /** Connection line shape. */ lineStyle?: 'straight' | 'curved'; /** Connection line thickness (1–8). */ diff --git a/bitext/src/lib/domain/palettes.ts b/bitext/src/lib/domain/palettes.ts index 417448b..24d193a 100644 --- a/bitext/src/lib/domain/palettes.ts +++ b/bitext/src/lib/domain/palettes.ts @@ -1,7 +1,6 @@ export type PaletteName = | 'pastel' | 'vivid' - | 'academic' | 'neon' | 'sunset' | 'primary' @@ -16,16 +15,6 @@ export type PaletteName = export const PALETTES: Record = { pastel: ['#fda4af', '#93c5fd', '#86efac', '#fcd34d', '#d8b4fe', '#67e8f9', '#fca5a5', '#a5b4fc'], vivid: ['#ef4444', '#3b82f6', '#22c55e', '#eab308', '#a855f7', '#06b6d4', '#f97316', '#ec4899'], - academic: [ - '#64748b', - '#475569', - '#334155', - '#78716c', - '#57534e', - '#71717a', - '#52525b', - '#3f3f46' - ], // Style-matched palettes — also selectable on their own. neon: ['#ff5d8f', '#5cc8ff', '#b18cff', '#7af0c8', '#ffd86b', '#ff8a5c', '#6ee7ff', '#c77dff'], sunset: ['#ff3caa', '#22d3ee', '#f97316', '#a855f7', '#ff6ec7', '#38bdf8', '#fb7185', '#facc15'], @@ -47,7 +36,6 @@ export const PALETTES: Record = { export const PALETTE_NAMES: PaletteName[] = [ 'pastel', 'vivid', - 'academic', 'neon', 'sunset', 'primary', diff --git a/bitext/src/lib/mcp/server.ts b/bitext/src/lib/mcp/server.ts index a85804f..f353bdf 100644 --- a/bitext/src/lib/mcp/server.ts +++ b/bitext/src/lib/mcp/server.ts @@ -106,7 +106,7 @@ const TOOL_INPUT_SCHEMA = { properties: { palette: { type: 'string', - enum: ['pastel', 'vivid', 'academic'], + enum: ['pastel', 'vivid'], description: 'Connection color palette. Default pastel.' }, lineStyle: { diff --git a/bitext/src/lib/seo/og-svg.ts b/bitext/src/lib/seo/og-svg.ts index 519d18f..847f46d 100644 --- a/bitext/src/lib/seo/og-svg.ts +++ b/bitext/src/lib/seo/og-svg.ts @@ -45,7 +45,7 @@ function fitTokens(tokens: Token[], budget: number): { tokens: Token[]; truncate * Assign a vivid-palette color to each connected component of links. * * We intentionally ignore the user's saved palette and their own colors on links: - * the OG preview must stay readable on a dark background (pastels wash out, academic + * the OG preview must stay readable on a dark background (pastels wash out, muted * greys vanish) and a user who painted everything black should still see a colorful * card. Components are iterated in link-array order so the mapping is deterministic * for a given `?data=` payload. diff --git a/bitext/src/routes/about/+page.svelte b/bitext/src/routes/about/+page.svelte index eeccb68..a72cc8c 100644 --- a/bitext/src/routes/about/+page.svelte +++ b/bitext/src/routes/about/+page.svelte @@ -114,7 +114,7 @@ }, { src: '/screenshots/settings-tab-2-colors.png', - alt: 'Settings Colors tab: toggle to match token colors to links, choice between coloring token text or backgrounds, and pastel, vivid, and academic palette buttons with swatches.', + alt: 'Settings Colors tab: toggle to match token colors to links, choice between coloring token text or backgrounds, and pastel and vivid palette buttons with swatches.', caption: 'Colors — palettes and how link colors apply to tokens.' }, { diff --git a/bitext/src/routes/api/+page.svelte b/bitext/src/routes/api/+page.svelte index 3615957..0672883 100644 --- a/bitext/src/routes/api/+page.svelte +++ b/bitext/src/routes/api/+page.svelte @@ -324,8 +324,7 @@ palette pastel vivid - academicpastel vivid pastel Color palette for connection lines and token tints. diff --git a/bitext/src/routes/api/align/openapi.json/+server.ts b/bitext/src/routes/api/align/openapi.json/+server.ts index a19f52f..805a18e 100644 --- a/bitext/src/routes/api/align/openapi.json/+server.ts +++ b/bitext/src/routes/api/align/openapi.json/+server.ts @@ -169,7 +169,7 @@ export const GET: RequestHandler = ({ url }) => { properties: { palette: { type: 'string', - enum: ['pastel', 'vivid', 'academic'], + enum: ['pastel', 'vivid'], description: 'Color palette for connection lines. Default: pastel.' }, lineStyle: { diff --git a/bitext/src/routes/editor/+page.svelte b/bitext/src/routes/editor/+page.svelte index 0997b8d..e53ee59 100644 --- a/bitext/src/routes/editor/+page.svelte +++ b/bitext/src/routes/editor/+page.svelte @@ -1,8 +1,11 @@ + +
+ + + + + +
+ +
+ + +
+
+
diff --git a/bitext/src/lib/components/shell/panels/StylePanel.svelte b/bitext/src/lib/components/shell/panels/StylePanel.svelte index 49f5c8a..4f67be7 100644 --- a/bitext/src/lib/components/shell/panels/StylePanel.svelte +++ b/bitext/src/lib/components/shell/panels/StylePanel.svelte @@ -1,5 +1,4 @@
-
-

- Theme -

- -
-

Colors diff --git a/bitext/src/routes/+layout.svelte b/bitext/src/routes/+layout.svelte index b1e6f4a..83ccfcd 100644 --- a/bitext/src/routes/+layout.svelte +++ b/bitext/src/routes/+layout.svelte @@ -10,6 +10,7 @@ import { settingsStore } from '$lib/state/settings.svelte.js'; import { viewportStore } from '$lib/state/viewport.svelte.js'; import { ThemeProvider } from 'flowbite-svelte'; + import SiteHeader from '$lib/components/layout/SiteHeader.svelte'; let { children } = $props(); @@ -69,6 +70,7 @@

+ {@render children()}
diff --git a/bitext/src/routes/+page.svelte b/bitext/src/routes/+page.svelte index 22c8378..6bc2109 100644 --- a/bitext/src/routes/+page.svelte +++ b/bitext/src/routes/+page.svelte @@ -14,7 +14,6 @@ import SeoSections from '$lib/components/seo/SeoSections.svelte'; import JsonLd from '$lib/components/seo/JsonLd.svelte'; import { CloseOutline, EyeOutline, EyeSlashOutline } from 'flowbite-svelte-icons'; - import { resolve } from '$app/paths'; import { SCHEMA_VERSION, type AppStateV2 } from '$lib/serialization/schema.js'; import { encodeState } from '$lib/serialization/encode.js'; import { projectStore } from '$lib/state/project.svelte.js'; @@ -123,13 +122,7 @@ const EXAMPLES_IMAGE_VERTICAL_CROP = '10%'; const examplesImageClipPath = `inset(${EXAMPLES_IMAGE_VERTICAL_CROP} 0 ${EXAMPLES_IMAGE_VERTICAL_CROP} 0)`; - const siteTheme = $derived(settingsStore.settings.theme); const previewHideChrome = $derived(settingsStore.settings.previewHideChrome); - - const themeIconBtn = - 'box-border m-0 inline-flex h-9 w-9 shrink-0 items-center justify-center border-0 transition-colors focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-gray-500 dark:focus-visible:outline-gray-400'; - const themeIconActive = `${themeIconBtn} bg-gray-200 text-gray-900 dark:bg-gray-600 dark:text-gray-100`; - const themeIconIdle = `${themeIconBtn} bg-transparent text-gray-500 hover:bg-gray-100 dark:text-gray-400 dark:hover:bg-gray-800`; @@ -157,86 +150,11 @@
-
-

- Word-by-word translation visualizer -

-
- Examples - Guides - About -
- - -
-
-
+

+ Word-by-word translation visualizer +

diff --git a/bitext/src/routes/about/+page.svelte b/bitext/src/routes/about/+page.svelte index a72cc8c..5c0958d 100644 --- a/bitext/src/routes/about/+page.svelte +++ b/bitext/src/routes/about/+page.svelte @@ -10,7 +10,6 @@ import StructuredData from '$lib/components/seo/StructuredData.svelte'; import { breadcrumbList, personCreator } from '$lib/seo/structured-data.js'; import { SITE_AUTHOR_URL } from '$lib/brand.js'; - import { settingsStore } from '$lib/state/settings.svelte.js'; const TITLE = 'About'; const DISPLAY_NAME = 'Word Aligner'; @@ -29,12 +28,6 @@ personCreator() ]; - const siteTheme = $derived(settingsStore.settings.theme); - const themeIconBtn = - 'box-border m-0 inline-flex h-9 w-9 shrink-0 items-center justify-center border-0 transition-colors focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-gray-500 dark:focus-visible:outline-gray-400'; - const themeIconActive = `${themeIconBtn} bg-gray-200 text-gray-900 dark:bg-gray-600 dark:text-gray-100`; - const themeIconIdle = `${themeIconBtn} bg-transparent text-gray-500 hover:bg-gray-100 dark:text-gray-400 dark:hover:bg-gray-800`; - const EXAMPLES_IMAGE_VERTICAL_CROP = '10%'; const examplesImageClipPath = `inset(${EXAMPLES_IMAGE_VERTICAL_CROP} 0 ${EXAMPLES_IMAGE_VERTICAL_CROP} 0)`; @@ -171,69 +164,11 @@ class="mx-auto w-full max-w-3xl min-w-0 px-4 pt-4 pb-16 leading-relaxed text-gray-700 sm:px-6 md:pt-6 md:pb-20 dark:text-gray-300" >
-
- -
- - -
-
+

import { browser } from '$app/environment'; - import { resolve } from '$app/paths'; import { Button } from 'flowbite-svelte'; import { ChevronDownOutline, @@ -12,6 +11,7 @@ TrashBinOutline } from 'flowbite-svelte-icons'; import AlignmentPreview from '$lib/components/preview/AlignmentPreview.svelte'; + import StylePicker from '$lib/components/preview/StylePicker.svelte'; import LineEditModal from '$lib/components/editor/LineEditModal.svelte'; import LineSettingsSheet from '$lib/components/editor/LineSettingsSheet.svelte'; import EditorTabBar from '$lib/components/editor-shell/EditorTabBar.svelte'; @@ -29,7 +29,6 @@ import { SITE_NAME } from '$lib/seo/metadata.js'; const previewHideChrome = $derived(settingsStore.settings.previewHideChrome); - const siteTheme = $derived(settingsStore.settings.theme); const sheetTitle = $derived( editorShellStore.tab === 'text' @@ -103,14 +102,6 @@ if (loadExampleEl) loadExampleEl.open = false; } - const navLink = - 'text-sm font-medium text-gray-600 underline decoration-gray-400/50 underline-offset-2 hover:text-gray-900 hover:decoration-gray-500/60 dark:text-gray-400 dark:decoration-gray-500/50 dark:hover:text-gray-100 dark:hover:decoration-gray-400/60'; - - const themeBtn = - 'inline-flex h-8 w-8 items-center justify-center border-0 transition-colors focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-gray-500'; - const themeActive = `${themeBtn} bg-gray-200 text-gray-900 dark:bg-gray-600 dark:text-gray-100`; - const themeIdle = `${themeBtn} bg-transparent text-gray-500 hover:bg-gray-100 dark:text-gray-400 dark:hover:bg-gray-800`; - const exampleBtn = 'inline-flex list-none cursor-pointer items-center gap-1 rounded-none border border-gray-300 bg-white px-2 py-1.5 text-sm font-medium text-gray-800 shadow-sm marker:hidden outline-none hover:bg-gray-50 focus-visible:ring-2 focus-visible:ring-primary-600 dark:border-gray-600 dark:bg-gray-800 dark:text-gray-100 dark:hover:bg-gray-700/80 [&::-webkit-details-marker]:hidden'; const exampleItem = @@ -122,43 +113,12 @@ -
- -
- - - Word Aligner - - -
- +
- +
@@ -195,6 +155,7 @@
+ -
- - -
From 5fbd1be469f305a9a116ec255506b3423d177715 Mon Sep 17 00:00:00 2001 From: dani-polani Date: Fri, 3 Jul 2026 04:53:11 +0300 Subject: [PATCH 06/23] feat(editor): swap editor onto / ; move old landing to /legacy MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - The full-screen editor is now the home page (/). Old marketing/SEO landing moved to /legacy and marked noindex to avoid duplicate content. - Extract the shared home load (initialState from ?data= / ?example=, partner order) into $lib/server/home-page-load; both / and /legacy use it. - New home carries the homepage SEO head (title, description, canonical, OG, Twitter) + JsonLd and drops noindex, so the homepage stays indexable and shareable. Initial state now comes from the server load (SSR), not a client-only decode. - Desktop editor gains a single-line footer: credit ("Created by Dani. See other tools…") + menu (Examples/Guides/About) + Send feedback. - Add a Feedback link to the shared SiteHeader (icon on mobile, label on sm+) so it's easy to find. check/lint/build/test green; verified / (desktop+mobile) and /legacy. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../lib/components/layout/SiteHeader.svelte | 29 ++ bitext/src/lib/server/home-page-load.ts | 30 ++ bitext/src/routes/+page.server.ts | 30 +- bitext/src/routes/+page.svelte | 469 ++++++++++-------- bitext/src/routes/editor/+page.svelte | 322 ------------ bitext/src/routes/legacy/+page.server.ts | 4 + bitext/src/routes/legacy/+page.svelte | 338 +++++++++++++ bitext/src/routes/legacy/+page.ts | 1 + 8 files changed, 669 insertions(+), 554 deletions(-) create mode 100644 bitext/src/lib/server/home-page-load.ts delete mode 100644 bitext/src/routes/editor/+page.svelte create mode 100644 bitext/src/routes/legacy/+page.server.ts create mode 100644 bitext/src/routes/legacy/+page.svelte create mode 100644 bitext/src/routes/legacy/+page.ts diff --git a/bitext/src/lib/components/layout/SiteHeader.svelte b/bitext/src/lib/components/layout/SiteHeader.svelte index 713b421..c19e599 100644 --- a/bitext/src/lib/components/layout/SiteHeader.svelte +++ b/bitext/src/lib/components/layout/SiteHeader.svelte @@ -1,12 +1,16 @@ @@ -148,34 +156,54 @@ -
-
-

- Word-by-word translation visualizer -

-
- - - +
+ +
+ +
+ +
+
+ + + +
- {#if previewExpand} -
-
-

- See exactly which word matches which across stacked lines. Add rows for glosses or IPA if - you need them, click a word then its match on the line above or below, and export or share - the diagram, great for lessons, posts, or conlang notes. -

-

- Created by - Dani. See other - tools for linguistics and conlanging. -

-
+ + {#if !viewportStore.isNarrow} + + {/if} +
-
- - -
+ {#if viewportStore.isNarrow} + +
+
- -
-
- {#key data.homePartnerOrder[0]} - {@const HomePartnerBanner = homeBannerById[data.homePartnerOrder[0]]} - - {/key} -
-
- {#key data.homePartnerOrder[1]} - {@const HomePartnerSidebarBanner = homeBannerById[data.homePartnerOrder[1]]} - - {/key} -
-

- + {:else} + +

+ {/if} +
+ +{#if previewExpand} + +{/if} - - - - -
+ + diff --git a/bitext/src/routes/editor/+page.svelte b/bitext/src/routes/editor/+page.svelte deleted file mode 100644 index cd9b5bd..0000000 --- a/bitext/src/routes/editor/+page.svelte +++ /dev/null @@ -1,322 +0,0 @@ - - - - Editor · {SITE_NAME} - - - -
- -
- -
- -
-
- - - -
- -
- - - - -
-
- - -
-
- -
-
- - - {#if viewportStore.isNarrow && editorShellStore.sheetOpen} - - - {/if} -
- - - {#if !viewportStore.isNarrow} - - {/if} -
- - - {#if viewportStore.isNarrow} -
- -
- {/if} -
- -{#if previewExpand} - -{/if} - - - diff --git a/bitext/src/routes/legacy/+page.server.ts b/bitext/src/routes/legacy/+page.server.ts new file mode 100644 index 0000000..a63d253 --- /dev/null +++ b/bitext/src/routes/legacy/+page.server.ts @@ -0,0 +1,4 @@ +import { loadHomePage } from '$lib/server/home-page-load.js'; +import type { PageServerLoad } from './$types'; + +export const load: PageServerLoad = ({ url }) => loadHomePage(url); diff --git a/bitext/src/routes/legacy/+page.svelte b/bitext/src/routes/legacy/+page.svelte new file mode 100644 index 0000000..2676842 --- /dev/null +++ b/bitext/src/routes/legacy/+page.svelte @@ -0,0 +1,338 @@ + + + + {DEFAULT_TITLE} · {SITE_NAME} + + + + + + + + + + + + + + + + + + + + + + +
+
+

+ Word-by-word translation visualizer +

+
+ + + + + {#if previewExpand} + + {/if} + +
+
+
+
+ + +

Examples

+
+
+
+
+ Animated demo: creating word links between “Hello world” and its French translation +
+
+ Linking words between two sentences +
+
+
+
+ Conlang example with a custom script font, interlinear glosses, and an English translation +
+
+ Conlang with a custom font and interlinear glosses +
+
+
+
+
+ +
+

+ See exactly which word matches which across stacked lines. Add rows for glosses or IPA if + you need them, click a word then its match on the line above or below, and export or share + the diagram, great for lessons, posts, or conlang notes. +

+

+ Created by + Dani. See other + tools for linguistics and conlanging. +

+
+ +
+ + +
+
+ +
+
+ {#key data.homePartnerOrder[0]} + {@const HomePartnerBanner = homeBannerById[data.homePartnerOrder[0]]} + + {/key} +
+
+ {#key data.homePartnerOrder[1]} + {@const HomePartnerSidebarBanner = homeBannerById[data.homePartnerOrder[1]]} + + {/key} +
+

+ + +

+
+
+ + + + + +
diff --git a/bitext/src/routes/legacy/+page.ts b/bitext/src/routes/legacy/+page.ts new file mode 100644 index 0000000..d43d0cd --- /dev/null +++ b/bitext/src/routes/legacy/+page.ts @@ -0,0 +1 @@ +export const prerender = false; From 1217e6736ff72eda6f4c17b7fa709cac66e367d9 Mon Sep 17 00:00:00 2001 From: dani-polani Date: Fri, 3 Jul 2026 05:01:16 +0300 Subject: [PATCH 07/23] fix(editor): full link set in the desktop footer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace the trimmed footer nav with the complete site menu: Open Aligner · Examples · Guides · API · Agent skill · Privacy policy · Terms of use. Feedback stays in the header. Keeps to one line (credit truncates first on narrow desktop). Co-Authored-By: Claude Opus 4.8 (1M context) --- bitext/src/routes/+page.svelte | 36 +++++++++++++++++----------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/bitext/src/routes/+page.svelte b/bitext/src/routes/+page.svelte index 9dfea0a..be0901d 100644 --- a/bitext/src/routes/+page.svelte +++ b/bitext/src/routes/+page.svelte @@ -1,6 +1,7 @@ settingsNavStore.focusTokensTab()} + title="Edit word splitting (Text → Word splitting)" + aria-label="Edit word splitting rules" + onclick={openTokenizationSettings} >
diff --git a/bitext/src/lib/components/shell/panels/StylePanel.svelte b/bitext/src/lib/components/shell/panels/StylePanel.svelte index 4f67be7..fac5583 100644 --- a/bitext/src/lib/components/shell/panels/StylePanel.svelte +++ b/bitext/src/lib/components/shell/panels/StylePanel.svelte @@ -1,72 +1,209 @@ -
-
-

- Colors -

- -
+
+ + {#if isClassic} +
+

Canvas

+ settingsStore.patch({ background: v as 'light' | 'dark' })} + /> +
+ {/if} -
-

- Look + +

+

Colors

+
+ {#each PALETTE_NAMES as name (name)} + {@const selected = s.palette === name} + + {/each} +
+

+ New links pick the next unused color. Changing the palette recolors existing links.

- -
-
- - {#if workspaceStore.fineTuneOpen} -
-

- Rarely needed. The choices above already produce a clean diagram. -

- -
-

- Tokenization -

- -
+ Color words to match their links + + {#if s.colorTokensByLink} + settingsStore.patch({ tokenLinkColorMode: v as 'text' | 'background' })} + /> + {/if} +
+ + + +
+

Lines

+
+
+ + settingsStore.patch({ lineStyle: v as 'straight' | 'curved' })} + /> +
+
+ + + settingsStore.patch({ + lineThickness: Number((e.currentTarget as HTMLInputElement).value) + })} + /> +
+
+ + + settingsStore.patch({ + lineOpacity: Number((e.currentTarget as HTMLInputElement).value) + })} + /> +
+
+
+ + +
+

Text

+
+ + {#if s.autoFit}
-

- Fonts + + + settingsStore.patch({ + autoFitVariance: Number((e.currentTarget as HTMLInputElement).value) + })} + /> +

+ 0% = every line uses one size · 100% = each line is sized on its own

-
-
- {/if} -
+ {/if} + +
+ + + +
+

Custom fonts

+ +
diff --git a/bitext/src/lib/components/shell/panels/TextPanel.svelte b/bitext/src/lib/components/shell/panels/TextPanel.svelte index c565ba2..1e403ab 100644 --- a/bitext/src/lib/components/shell/panels/TextPanel.svelte +++ b/bitext/src/lib/components/shell/panels/TextPanel.svelte @@ -1,8 +1,23 @@
@@ -45,4 +60,14 @@ >
{/if} + +
+

+ Word splitting +

+

+ How text turns into linkable words. Applies to every line. +

+ +
diff --git a/bitext/src/lib/state/settingsNav.svelte.ts b/bitext/src/lib/state/settingsNav.svelte.ts index 5921ec1..34bbee7 100644 --- a/bitext/src/lib/state/settingsNav.svelte.ts +++ b/bitext/src/lib/state/settingsNav.svelte.ts @@ -1,4 +1,4 @@ -/** Jump to Settings → Tokens from elsewhere (line editor hint icon). */ +/** Jump to Text → Word splitting from elsewhere (line editor hint icon). */ class SettingsNavStore { tokensFocusGeneration = $state(0); diff --git a/bitext/src/lib/state/workspace.svelte.ts b/bitext/src/lib/state/workspace.svelte.ts index 188a412..1d24a8f 100644 --- a/bitext/src/lib/state/workspace.svelte.ts +++ b/bitext/src/lib/state/workspace.svelte.ts @@ -9,8 +9,6 @@ export type WorkspaceMode = 'link' | 'text' | 'style' | 'export'; class WorkspaceStore { mode = $state('link'); - /** The fine-tuning disclosure inside the Style panel. */ - fineTuneOpen = $state(false); setMode(mode: WorkspaceMode) { this.mode = mode; From 74390d308c98016f6e6adb7b78aef8017cdbe8d7 Mon Sep 17 00:00:00 2001 From: dani-polani Date: Sat, 4 Jul 2026 02:35:44 +0300 Subject: [PATCH 10/23] feat(editor): pin group colors from a palette; drop dot/hyphen default separators Two user-requested changes for this release. Color-coding: selecting a word opens a small palette popover anchored to it. Picking a swatch pins that word's group to a color; pinned groups keep their color through palette and style-preset changes until reset via "Auto". Selecting a color does not drop the selection, so linking still works; a color chosen on an unlinked word is applied to the link created next. Adds Connection.pinned, project-store pin/unpin/recolor logic, and a selection-store pendingColor. Separators: the default tokenSplitChars drops "." and "-" (kept "|"), which surprised users ("the editor deletes punctuation"). To keep existing share links intact, the compact wire is bumped to v4 (new default + a pinned flag); v2/v3 decoders are frozen to the old ".-|" default so old links keep their original tokenization. The rtl example gains an explicit "-" separator (its Hebrew prefix split relies on it) and a pre-existing dangling connection in wiki-nahuatl-lgr is fixed. Co-Authored-By: Claude Fable 5 --- bitext/src/lib/api/align.test.ts | 14 +- .../preview/GroupColorPopover.svelte | 119 ++++++ bitext/src/lib/domain/alignment.ts | 2 + bitext/src/lib/examples/data/core.ts | 2 + bitext/src/lib/examples/data/wikipedia.ts | 2 +- bitext/src/lib/serialization/compact-v2.ts | 7 +- bitext/src/lib/serialization/compact-v3.ts | 6 +- bitext/src/lib/serialization/compact-v4.ts | 349 ++++++++++++++++++ bitext/src/lib/serialization/decode.ts | 26 ++ bitext/src/lib/serialization/encode.ts | 2 +- bitext/src/lib/serialization/schema.ts | 11 +- .../serialization-roundtrip.test.ts | 67 +++- bitext/src/lib/state/project.svelte.ts | 93 ++++- bitext/src/lib/state/selection.svelte.ts | 38 +- bitext/src/routes/+page.svelte | 2 + 15 files changed, 707 insertions(+), 33 deletions(-) create mode 100644 bitext/src/lib/components/preview/GroupColorPopover.svelte create mode 100644 bitext/src/lib/serialization/compact-v4.ts diff --git a/bitext/src/lib/api/align.test.ts b/bitext/src/lib/api/align.test.ts index 4f63a07..5f14e3b 100644 --- a/bitext/src/lib/api/align.test.ts +++ b/bitext/src/lib/api/align.test.ts @@ -179,8 +179,8 @@ describe('buildAlignUrl', () => { }); it('keeps periods inside gloss tokens when tokenSplitChars omits the dot', () => { - // With default ".-|", "1SG.NOM" would split into two tokens. With "-|" it stays one, - // so word index 1 of the gloss line is "go.PST.IPFV" and the connection resolves. + // If "." were a separator, "1SG.NOM" would split into two tokens. With "-|" the dot is + // not a separator, so it stays one and word index 1 is "go.PST.IPFV" — the connection resolves. const result = buildAlignUrl(ORIGIN, { lines: ['1SG.NOM go.PST.IPFV', 'Я ходил'], alignments: [ @@ -197,16 +197,14 @@ describe('buildAlignUrl', () => { expect(c?.upperTokenId).toBe('l0-1'); }); - it('rejects gloss word index that only resolves under the default split chars', () => { - // Under default ".-|", "1SG.NOM PST.IPFV" has 4 tokens, so word 3 exists. - // We do NOT pass tokenSplitChars here, proving the dot still splits by default. + it('rejects a gloss word index that only existed under the old dot-splitting default', () => { + // The default is now "|"; the dot no longer splits. "1SG.NOM PST.IPFV" has 2 tokens, + // so word index 3 (which existed only when "." split by default) is out of range. const result = buildAlignUrl(ORIGIN, { lines: ['Я ходил', '1SG.NOM PST.IPFV'], alignments: [[0, 1, 1, 3]] }); - if (!('url' in result)) throw new Error('expected url'); - const state = decodeState(new URL(result.url).searchParams.get('data')); - expect(state.project.connections[0]!.lowerTokenId).toBe('l1-3'); // "IPFV" + expect('err' in result).toBe(true); }); it('rejects invalid tokenMergeChar (more than one character)', () => { diff --git a/bitext/src/lib/components/preview/GroupColorPopover.svelte b/bitext/src/lib/components/preview/GroupColorPopover.svelte new file mode 100644 index 0000000..b10e268 --- /dev/null +++ b/bitext/src/lib/components/preview/GroupColorPopover.svelte @@ -0,0 +1,119 @@ + + +{#if pending} + +{/if} diff --git a/bitext/src/lib/domain/alignment.ts b/bitext/src/lib/domain/alignment.ts index 06adfe9..6b4332c 100644 --- a/bitext/src/lib/domain/alignment.ts +++ b/bitext/src/lib/domain/alignment.ts @@ -8,6 +8,8 @@ export interface Connection { upperTokenId: TokenId; lowerTokenId: TokenId; color?: string; + /** When true, this group keeps its color through palette/style changes until reset. */ + pinned?: boolean; } let connectionCounter = 0; diff --git a/bitext/src/lib/examples/data/core.ts b/bitext/src/lib/examples/data/core.ts index 8296b10..c4cac04 100644 --- a/bitext/src/lib/examples/data/core.ts +++ b/bitext/src/lib/examples/data/core.ts @@ -57,6 +57,8 @@ export const CORE_EXAMPLES: ExampleEntry[] = [ noto('أنا أسكن في بيت كبير', 'ar', 'Noto Sans Arabic', 36, true), inter('I live in a big house', 'en', 30) ], + // The Hebrew prefix ב- ("in") is split from בית ("house") — needs hyphen as a separator. + settings: { tokenSplitChars: '-' }, connections: [ ['he-0', 'ar-0'], ['he-1', 'ar-1'], diff --git a/bitext/src/lib/examples/data/wikipedia.ts b/bitext/src/lib/examples/data/wikipedia.ts index cb168e8..86b1fde 100644 --- a/bitext/src/lib/examples/data/wikipedia.ts +++ b/bitext/src/lib/examples/data/wikipedia.ts @@ -64,7 +64,7 @@ export const WIKIPEDIA_EXAMPLES: ExampleEntry[] = [ ['src-2', 'tr-2'], ['src-3', 'tr-3'], ['src-4', 'tr-4'], - ['src-5', 'tr-5'] + ['src-4', 'tr-5'] ] }; })(), diff --git a/bitext/src/lib/serialization/compact-v2.ts b/bitext/src/lib/serialization/compact-v2.ts index f5c15cc..ccab1dd 100644 --- a/bitext/src/lib/serialization/compact-v2.ts +++ b/bitext/src/lib/serialization/compact-v2.ts @@ -3,7 +3,7 @@ import { connectedConnectionIds } from '$lib/domain/link-graph.js'; import { pickUnusedPaletteColor, type PaletteName } from '$lib/domain/palettes.js'; import { tokenize, tokenizeOptionsFromVisualSettings } from '$lib/domain/tokens.js'; import { - DEFAULT_TOKEN_SPLIT_CHARS, + LEGACY_TOKEN_SPLIT_CHARS, defaultProjectSnapshot, defaultVisualSettings, normalizeVisualSettings, @@ -267,7 +267,8 @@ function compactToVisualSettings(s: CompactSettings | undefined): VisualSettings if (s.gff !== undefined) raw.glossFontFamily = String(s.gff); if (s.gfs !== undefined) raw.glossFontSource = Number(s.gfs) === 1 ? 'custom' : 'google'; if (s.gcn !== undefined) raw.glossCustomFontName = String(s.gcn); - if (s.sp !== undefined) raw.tokenSplitChars = String(s.sp); + // v2 predates the default-separator change; a missing `sp` meant the old `.-|` default. + raw.tokenSplitChars = s.sp !== undefined ? String(s.sp) : LEGACY_TOKEN_SPLIT_CHARS; if (s.bg !== undefined) { const n = Number(s.bg); /* Legacy 2 = image → light */ @@ -325,7 +326,7 @@ function compactToProject( } const sourceText = p.st ?? def.sourceText; const targetText = p.tt ?? def.targetText; - const splitChars = settings.tokenSplitChars ?? DEFAULT_TOKEN_SPLIT_CHARS; + const splitChars = settings.tokenSplitChars ?? LEGACY_TOKEN_SPLIT_CHARS; const tz = tokenizeOptionsFromVisualSettings({ tokenSplitChars: splitChars, tokenMergeChar: '', diff --git a/bitext/src/lib/serialization/compact-v3.ts b/bitext/src/lib/serialization/compact-v3.ts index 3e549fb..d56ab70 100644 --- a/bitext/src/lib/serialization/compact-v3.ts +++ b/bitext/src/lib/serialization/compact-v3.ts @@ -2,6 +2,7 @@ import { createConnectionId, type Connection } from '$lib/domain/alignment.js'; import { tokenize, tokenizeOptionsFromVisualSettings } from '$lib/domain/tokens.js'; import { SCHEMA_VERSION, + LEGACY_TOKEN_SPLIT_CHARS, clampLineGapPx, clampWordGapPx, DEFAULT_WORD_GAP_PX, @@ -78,8 +79,9 @@ function settingsToCompact(rounded: VisualSettingsV2): CompactSettings3 | undefi } function compactToVisualSettings(s: CompactSettings3 | undefined): VisualSettingsV2 { - if (!s) return defaultVisualSettingsV2(); - const raw: Record = {}; + // v3 predates the default-separator change; a missing `sp` meant the old `.-|` default. + if (!s) return { ...defaultVisualSettingsV2(), tokenSplitChars: LEGACY_TOKEN_SPLIT_CHARS }; + const raw: Record = { tokenSplitChars: LEGACY_TOKEN_SPLIT_CHARS }; if (s.lt !== undefined) raw.lineThickness = Number(s.lt); if (s.lo !== undefined) raw.lineOpacity = Number(s.lo); if (s.ls !== undefined) raw.lineStyle = Number(s.ls) === 0 ? 'straight' : 'curved'; diff --git a/bitext/src/lib/serialization/compact-v4.ts b/bitext/src/lib/serialization/compact-v4.ts new file mode 100644 index 0000000..3db73ff --- /dev/null +++ b/bitext/src/lib/serialization/compact-v4.ts @@ -0,0 +1,349 @@ +import { createConnectionId, type Connection } from '$lib/domain/alignment.js'; +import { tokenize, tokenizeOptionsFromVisualSettings } from '$lib/domain/tokens.js'; +import { + SCHEMA_VERSION, + clampLineGapPx, + clampWordGapPx, + DEFAULT_WORD_GAP_PX, + defaultProjectSnapshotV2, + defaultVisualSettingsV2, + normalizeProjectSnapshotV2, + normalizeVisualSettingsV2, + type AppStateV2, + type LinePairGapV2, + type LineV2, + type PairControlV2, + type ProjectSnapshotV2, + type VisualSettingsV2 +} from './schema.js'; + +export const COMPACT_SCHEMA_VERSION = 4 as const; + +type CompactSettings4 = Record; +type CompactProject4 = Record; + +export type CompactV4Wire = { + v: typeof COMPACT_SCHEMA_VERSION; + s?: CompactSettings4; + p?: CompactProject4; +}; + +function sortKeys>(obj: T): T { + const keys = Object.keys(obj).sort() as (keyof T)[]; + const out = {} as T; + for (const k of keys) { + out[k] = obj[k]; + } + return out; +} + +function roundVisualSettings(s: VisualSettingsV2): VisualSettingsV2 { + return { + ...s, + lineThickness: Math.round(s.lineThickness * 10) / 10, + lineOpacity: Math.round(s.lineOpacity * 100) / 100 + }; +} + +function settingsToCompact(rounded: VisualSettingsV2): CompactSettings4 | undefined { + const def = roundVisualSettings(defaultVisualSettingsV2()); + const o: CompactSettings4 = {}; + // Site chrome (`theme`) and preview toolbar visibility (`previewHideChrome`) are local UI only; + // they must not affect share URLs or decoded alignment payloads. + if (rounded.lineThickness !== def.lineThickness) o.lt = rounded.lineThickness; + if (rounded.lineOpacity !== def.lineOpacity) o.lo = rounded.lineOpacity; + if (rounded.lineStyle !== def.lineStyle) o.ls = rounded.lineStyle === 'straight' ? 0 : 1; + if (rounded.palette !== def.palette) o.pl = rounded.palette; + if (rounded.showNumbers !== def.showNumbers) o.sn = rounded.showNumbers ? 1 : 0; + if (rounded.colorTokensByLink !== def.colorTokensByLink) o.ct = rounded.colorTokensByLink ? 1 : 0; + if (rounded.tokenLinkColorMode !== def.tokenLinkColorMode) { + o.lb = rounded.tokenLinkColorMode === 'background' ? 1 : 0; + } + if (rounded.tokenSplitChars !== def.tokenSplitChars) o.sp = rounded.tokenSplitChars; + if (rounded.tokenSplitPunctuation !== def.tokenSplitPunctuation) { + o.pp = rounded.tokenSplitPunctuation ? 1 : 0; + } + if (rounded.tokenPunctuationChars) o.px = rounded.tokenPunctuationChars; + if (rounded.style !== def.style) o.st = rounded.style; + if (rounded.autoFit !== def.autoFit) o.af = rounded.autoFit ? 1 : 0; + if (rounded.autoFitVariance !== def.autoFitVariance) o.av = rounded.autoFitVariance; + if (rounded.background !== def.background) { + o.bg = rounded.background === 'dark' ? 1 : 0; + } + const keysBeforeFinalize = Object.keys(o).length; + if (keysBeforeFinalize > 0) { + o.mg = rounded.tokenMergeChar; + } + return keysBeforeFinalize > 0 ? sortKeys(o) : undefined; +} + +function compactToVisualSettings(s: CompactSettings4 | undefined): VisualSettingsV2 { + if (!s) return defaultVisualSettingsV2(); + const raw: Record = {}; + if (s.lt !== undefined) raw.lineThickness = Number(s.lt); + if (s.lo !== undefined) raw.lineOpacity = Number(s.lo); + if (s.ls !== undefined) raw.lineStyle = Number(s.ls) === 0 ? 'straight' : 'curved'; + if (s.pl !== undefined) raw.palette = String(s.pl); + if (s.sn !== undefined) raw.showNumbers = Number(s.sn) === 1; + if (s.ct !== undefined) raw.colorTokensByLink = Number(s.ct) === 1; + if (s.lb !== undefined) raw.tokenLinkColorMode = Number(s.lb) === 1 ? 'background' : 'text'; + if (s.sp !== undefined) raw.tokenSplitChars = String(s.sp); + if (s.mg !== undefined) raw.tokenMergeChar = String(s.mg); + if (s.px !== undefined) raw.tokenPunctuationChars = String(s.px); + if (s.pp !== undefined) raw.tokenSplitPunctuation = Number(s.pp) === 1; + if (s.bg !== undefined) { + const n = Number(s.bg); + /* Legacy 2 = image → light */ + raw.background = n === 1 ? 'dark' : 'light'; + } + if (s.st !== undefined) raw.style = String(s.st); + if (s.af !== undefined) raw.autoFit = Number(s.af) === 1; + if (s.av !== undefined) raw.autoFitVariance = Number(s.av); + return normalizeVisualSettingsV2(raw); +} + +function encodeLines(lines: LineV2[]): string { + return lines + .map((l) => { + const cols = [ + l.id, + encodeURIComponent(l.rawText), + l.font.family, + l.font.source === 'custom' ? 1 : 0, + l.font.customName ? encodeURIComponent(l.font.customName) : '', + String(l.textSizePx), + String(l.gapWordPx) + ]; + if (l.rtl) cols.push('1'); + return cols.join('\t'); + }) + .join('|'); +} + +function decodeLines(encoded: string): LineV2[] { + const out: LineV2[] = []; + for (const seg of encoded.split('|')) { + if (!seg) continue; + const parts = seg.split('\t'); + const id = parts[0]!; + const rawEnc = parts[1]!; + const family = parts[2]!; + const fs = parts[3]; + const cnEnc = parts[4]; + const sz = parts[5]; + const gwRaw = parts[6]; + const rtlRaw = parts[7]; + if (!id || !family) continue; + const customName = cnEnc ? decodeURIComponent(cnEnc) : undefined; + const parsedGw = gwRaw !== undefined && gwRaw !== '' ? Number(gwRaw) : undefined; + const gapWordPx = + parsedGw !== undefined && Number.isFinite(parsedGw) + ? clampWordGapPx(parsedGw) + : DEFAULT_WORD_GAP_PX; + const rtl = + rtlRaw !== undefined && rtlRaw !== '' && (Number(rtlRaw) === 1 || rtlRaw === 'true'); + out.push({ + id, + rawText: decodeURIComponent(rawEnc ?? ''), + font: { + family, + source: Number(fs) === 1 ? 'custom' : 'google', + ...(customName ? { customName } : {}) + }, + textSizePx: Math.max(12, Math.min(64, Number(sz) || 36)), + gapWordPx, + ...(rtl ? { rtl: true } : {}) + }); + } + return out; +} + +function encodeConnections(conns: Connection[]): string { + return conns + .map((c) => { + const hex = c.color?.replace(/^#/u, '').replace(/[^0-9a-fA-F]/gu, '') ?? ''; + // A pinned group keeps its color across palette changes; encoded as a trailing `p`. + // Pinning requires a color, so `hex` is always present when `pinned` is set. + if (hex.length >= 3) { + return c.pinned + ? `${c.upperTokenId},${c.lowerTokenId},${hex},p` + : `${c.upperTokenId},${c.lowerTokenId},${hex}`; + } + return `${c.upperTokenId},${c.lowerTokenId}`; + }) + .join(';'); +} + +function decodeConnections(s: string): Connection[] { + const out: Connection[] = []; + for (const seg of s.split(';')) { + if (!seg) continue; + const parts = seg.split(','); + const u = parts[0]; + const lo = parts[1]; + if (!u || !lo) continue; + const colorHex = parts[2]; + const color = colorHex && /^[0-9a-fA-F]{3,8}$/u.test(colorHex) ? `#${colorHex}` : undefined; + const pinned = parts[3] === 'p' && color != null; + out.push({ + id: createConnectionId(), + upperTokenId: u, + lowerTokenId: lo, + color, + ...(pinned ? { pinned: true } : {}) + }); + } + return out; +} + +function encodePairControls(pc: PairControlV2[]): string | undefined { + const hidden = pc.filter((p) => !p.showConnectors); + if (hidden.length === 0) return undefined; + /** `\t` between line ids, `|` between pairs — line ids may contain `-`. */ + return hidden.map((p) => `${p.upperLineId}\t${p.lowerLineId}`).join('|'); +} + +function decodePairControls(s: string | undefined): PairControlV2[] { + if (!s) return []; + const out: PairControlV2[] = []; + for (const seg of s.split('|')) { + if (!seg) continue; + const tab = seg.indexOf('\t'); + if (tab === -1) continue; + const upper = seg.slice(0, tab); + const lower = seg.slice(tab + 1); + if (upper && lower) out.push({ upperLineId: upper, lowerLineId: lower, showConnectors: false }); + } + return out; +} + +function encodeLinePairGaps(gaps: LinePairGapV2[]): string | undefined { + if (gaps.length === 0) return undefined; + return gaps.map((g) => `${g.upperLineId}\t${g.lowerLineId}\t${g.gapPx}`).join('|'); +} + +function decodeLinePairGaps(s: string | undefined): LinePairGapV2[] { + if (!s) return []; + const out: LinePairGapV2[] = []; + for (const seg of s.split('|')) { + if (!seg) continue; + const parts = seg.split('\t'); + if (parts.length < 3) continue; + const upper = parts[0]!; + const lower = parts[1]!; + const px = Number(parts[2]); + if (!upper || !lower || !Number.isFinite(px)) continue; + out.push({ upperLineId: upper, lowerLineId: lower, gapPx: clampLineGapPx(px) }); + } + return out; +} + +function lineEquals(a: LineV2 | undefined, b: LineV2 | undefined): boolean { + if (!a || !b) return false; + return ( + a.id === b.id && + a.rawText === b.rawText && + a.textSizePx === b.textSizePx && + a.gapWordPx === b.gapWordPx && + a.font.family === b.font.family && + a.font.source === b.font.source && + a.font.customName === b.font.customName && + (a.rtl ?? false) === (b.rtl ?? false) + ); +} + +function projectToCompact(project: ProjectSnapshotV2): CompactProject4 | undefined { + const def = defaultProjectSnapshotV2(); + const linesMatch = + project.lines.length === def.lines.length && + project.lines.every((l, i) => lineEquals(l, def.lines[i])); + const extrasEmpty = + project.connections.length === 0 && + project.pairControls.length === 0 && + project.linePairGaps.length === 0; + if (linesMatch && extrasEmpty) return undefined; + + const o: CompactProject4 = {}; + o.ln = encodeLines(project.lines); + if (project.connections.length) o.cn = encodeConnections(project.connections); + const pcEnc = encodePairControls(project.pairControls); + if (pcEnc) o.pc = pcEnc; + const pgEnc = encodeLinePairGaps(project.linePairGaps); + if (pgEnc) o.pg = pgEnc; + return sortKeys(o); +} + +function compactToProject(p: CompactProject4 | undefined): ProjectSnapshotV2 { + const def = defaultProjectSnapshotV2(); + if (!p?.ln) return { ...def }; + const lines = decodeLines(p.ln); + const connections = p.cn ? decodeConnections(p.cn) : []; + const pairControls = decodePairControls(p.pc); + const linePairGaps = decodeLinePairGaps(p.pg !== undefined ? String(p.pg) : undefined); + return { lines, pairControls, linePairGaps, connections }; +} + +/** Drop connections that are not between adjacent lines in stack order. */ +function pruneConnections( + project: ProjectSnapshotV2, + settings: VisualSettingsV2 +): ProjectSnapshotV2 { + const lineOrder = project.lines.map((l) => l.id); + const tokenToLine = new Map(); + const tz = tokenizeOptionsFromVisualSettings(settings); + for (const line of project.lines) { + for (const t of tokenize(line.rawText, line.id, tz)) { + tokenToLine.set(t.id, line.id); + } + } + const adj = new Set(); + for (let i = 0; i < lineOrder.length - 1; i++) { + adj.add(`${lineOrder[i]}\0${lineOrder[i + 1]!}`); + adj.add(`${lineOrder[i + 1]!}\0${lineOrder[i]!}`); + } + const tok = new Set(tokenToLine.keys()); + const connections = project.connections.filter((c) => { + if (!tok.has(c.upperTokenId) || !tok.has(c.lowerTokenId)) return false; + const lu = tokenToLine.get(c.upperTokenId)!; + const ll = tokenToLine.get(c.lowerTokenId)!; + return adj.has(`${lu}\0${ll}`); + }); + return { ...project, connections }; +} + +export function toCompactJSON(state: AppStateV2): string { + const slimSettings = { ...state.settings }; + const rounded = roundVisualSettings(slimSettings); + const sCompact = settingsToCompact(rounded); + const pCompact = projectToCompact(state.project); + const wire: CompactV4Wire = { v: COMPACT_SCHEMA_VERSION }; + if (sCompact) wire.s = sCompact; + if (pCompact) wire.p = pCompact; + return JSON.stringify(wire); +} + +export function fromCompactWire(wire: CompactV4Wire): AppStateV2 { + if (wire.v !== COMPACT_SCHEMA_VERSION) { + throw new Error(`compact: expected v:${COMPACT_SCHEMA_VERSION}`); + } + const settings = compactToVisualSettings(wire.s); + let project = compactToProject(wire.p); + /** Legacy compact stored a global word gap as `s.gw`; old `ln` rows had no per-line column. */ + const legacyGw = + wire.s?.gw !== undefined && Number.isFinite(Number(wire.s.gw)) + ? clampWordGapPx(Number(wire.s.gw)) + : undefined; + const legacyGl = + wire.s?.gl !== undefined && Number.isFinite(Number(wire.s.gl)) + ? clampLineGapPx(Number(wire.s.gl)) + : undefined; + if (legacyGw !== undefined) { + project = { + ...project, + lines: project.lines.map((l) => ({ ...l, gapWordPx: legacyGw })) + }; + } + project = normalizeProjectSnapshotV2(project, undefined, legacyGl); + project = pruneConnections(project, settings); + return { v: SCHEMA_VERSION, project, settings }; +} diff --git a/bitext/src/lib/serialization/decode.ts b/bitext/src/lib/serialization/decode.ts index a779027..caca082 100644 --- a/bitext/src/lib/serialization/decode.ts +++ b/bitext/src/lib/serialization/decode.ts @@ -9,8 +9,32 @@ import { fromCompactWire as fromCompactWireV3, type CompactV3Wire } from './compact-v3.js'; +import { + COMPACT_SCHEMA_VERSION as COMPACT_V4, + fromCompactWire as fromCompactWireV4, + type CompactV4Wire +} from './compact-v4.js'; import { appStateV2FromV1, migrate, type AppStateV2 } from './schema.js'; +function tryDecodeV4(data: string): AppStateV2 | null { + const json = inflateBase64url(data); + if (!json) return null; + let parsed: unknown; + try { + parsed = JSON.parse(json) as unknown; + } catch { + return null; + } + if (!parsed || typeof parsed !== 'object') return null; + const o = parsed as { v?: unknown }; + if (o.v !== COMPACT_V4) return null; + try { + return fromCompactWireV4(parsed as CompactV4Wire); + } catch { + return null; + } +} + function tryDecodeV3(data: string): AppStateV2 | null { const json = inflateBase64url(data); if (!json) return null; @@ -53,6 +77,8 @@ export function decodeState(data: string | null | undefined): AppStateV2 { if (!data || typeof data !== 'string') { return migrate({}); } + const v4 = tryDecodeV4(data); + if (v4) return v4; const v3 = tryDecodeV3(data); if (v3) return v3; const v2 = tryDecodeV2(data); diff --git a/bitext/src/lib/serialization/encode.ts b/bitext/src/lib/serialization/encode.ts index 0516f9b..84911fb 100644 --- a/bitext/src/lib/serialization/encode.ts +++ b/bitext/src/lib/serialization/encode.ts @@ -1,6 +1,6 @@ import type { AppStateV2 } from './schema.js'; import { deflateBase64url } from './codec.js'; -import { toCompactJSON } from './compact-v3.js'; +import { toCompactJSON } from './compact-v4.js'; export function encodeState(state: AppStateV2): string { return deflateBase64url(toCompactJSON(state)); diff --git a/bitext/src/lib/serialization/schema.ts b/bitext/src/lib/serialization/schema.ts index 6313ff5..6f264ce 100644 --- a/bitext/src/lib/serialization/schema.ts +++ b/bitext/src/lib/serialization/schema.ts @@ -42,7 +42,13 @@ export const MAX_TEXT_SIZE_PX = 64; export const DEFAULT_WORD_GAP_PX = 14; export const MIN_WORD_GAP_PX = 0; export const MAX_WORD_GAP_PX = 56; -export const DEFAULT_TOKEN_SPLIT_CHARS = '.-|'; +export const DEFAULT_TOKEN_SPLIT_CHARS = '|'; +/** + * Default separators in effect for compact v2/v3 payloads. Dot and hyphen used to split by + * default; they were dropped because users did not expect them to. Legacy decoders pin this so + * old share links keep their original tokenization (see compact-v3 / compact-v2). + */ +export const LEGACY_TOKEN_SPLIT_CHARS = '.-|'; /** Default join character for new projects; omits from compact when equal. */ export const DEFAULT_TOKEN_MERGE_CHAR = '+'; @@ -483,7 +489,8 @@ export function normalizeProjectConnections(raw: unknown): Connection[] { id: o.id, upperTokenId: upper, lowerTokenId: lower, - color: typeof o.color === 'string' ? o.color : undefined + color: typeof o.color === 'string' ? o.color : undefined, + ...(o.pinned === true ? { pinned: true } : {}) }); continue; } diff --git a/bitext/src/lib/serialization/serialization-roundtrip.test.ts b/bitext/src/lib/serialization/serialization-roundtrip.test.ts index ffab251..5218bec 100644 --- a/bitext/src/lib/serialization/serialization-roundtrip.test.ts +++ b/bitext/src/lib/serialization/serialization-roundtrip.test.ts @@ -73,7 +73,7 @@ describe('visual settings migration (v1 wire normalizer)', () => { }); }); -describe('compact v3 encode/decode (current share format)', () => { +describe('compact v4 encode/decode (current share format)', () => { it('round-trip: defaults via migrate shape', () => { const s = migrate({}); const decoded = decodeState(encodeState(s)); @@ -313,3 +313,68 @@ describe('compact v3 encode/decode (current share format)', () => { expect(() => fromCompactWireV2({ v: 99 } as never)).toThrow(); }); }); + +describe('compact v4: pinned group color', () => { + function baseWithConnection(pinned: boolean, color: string): AppStateV2 { + const base = migrate({}); + return { + ...base, + project: { + ...base.project, + connections: [ + { + id: 'c1', + upperTokenId: 's-0', + lowerTokenId: 't-0', + color, + ...(pinned ? { pinned: true } : {}) + } + ] + } + }; + } + + it('round-trips a pinned connection with its color', () => { + const s = baseWithConnection(true, '#123456'); + const decoded = decodeState(encodeState(s)); + const c = decoded.project.connections[0]!; + expect(c.color).toBe('#123456'); + expect(c.pinned).toBe(true); + }); + + it('an unpinned connection stays unpinned through a round-trip', () => { + const s = baseWithConnection(false, '#123456'); + const decoded = decodeState(encodeState(s)); + expect(decoded.project.connections[0]!.pinned).toBeUndefined(); + }); +}); + +describe('default separators: dot and hyphen no longer split', () => { + it('a fresh project keeps "U.S.A" as a single token', () => { + const base = migrate({}); + const s: AppStateV2 = { + ...base, + project: { + ...base.project, + lines: base.project.lines.map((l, i) => (i === 0 ? { ...l, rawText: 'U.S.A foo-bar' } : l)) + } + }; + expect(s.settings.tokenSplitChars).toBe('|'); + // Round-trips without the dot/hyphen splitting the words apart. + const decoded = decodeState(encodeState(s)); + expect(decoded.project.lines[0]!.rawText).toBe('U.S.A foo-bar'); + expect(decoded.settings.tokenSplitChars).toBe('|'); + }); + + it('a legacy v3 share link keeps its original "." splitting', () => { + // v3 predates the change; a missing `sp` must decode to the old `.-|` default so the + // connection on the dot-split token (s-1 = "S") survives instead of being pruned. + const v3 = JSON.stringify({ + v: 3, + p: { ln: 's\tU.S.A\tInter\t0\t\t36\t14|t\tESSE\tInter\t0\t\t36\t14', cn: 's-1,t-0' } + }); + const decoded = decodeState(deflateBase64url(v3)); + expect(decoded.settings.tokenSplitChars).toBe('.-|'); + expect(decoded.project.connections).toHaveLength(1); + }); +}); diff --git a/bitext/src/lib/state/project.svelte.ts b/bitext/src/lib/state/project.svelte.ts index e16a4fa..08a90ce 100644 --- a/bitext/src/lib/state/project.svelte.ts +++ b/bitext/src/lib/state/project.svelte.ts @@ -14,7 +14,7 @@ import { adjacentLineKeys, isStackedAdjacentPair } from '$lib/domain/lines-helpers.js'; -import { PALETTES, type PaletteName } from '$lib/domain/palettes.js'; +import { PALETTES, pickUnusedPaletteColor, type PaletteName } from '$lib/domain/palettes.js'; import { tokenizeOptionsFromVisualSettings, type Token } from '$lib/domain/tokens.js'; import { clampLineGapPx, @@ -240,7 +240,13 @@ class ProjectStore { layoutExportStore.requestRemeasureAfterLayout(); } - addConnection(upperTokenId: string, lowerTokenId: string, palette: PaletteName) { + /** `pinnedColor` (from a group color pick) forces the new group's color and pins it. */ + addConnection( + upperTokenId: string, + lowerTokenId: string, + palette: PaletteName, + pinnedColor?: string + ) { const opts = this.currentTokenizeOptions(); const tokenToLine = lineOrderTokenIds(this.lines, opts); const lineIds = this.lines.map((l) => l.id); @@ -249,27 +255,92 @@ class ProjectStore { const ll = tokenToLine.get(lowerTokenId); if (lu == null || ll == null) return; if (!adj.has(`${lu}\0${ll}`)) return; - const color = pendingAlignmentColor(this.connections, [upperTokenId], [lowerTokenId], palette); const seedTokens = new Set([upperTokenId, lowerTokenId]); + // Inherit a pinned color when either endpoint's existing group is pinned. + const componentBefore = connectedConnectionIds(this.connections, seedTokens); + const inheritedPinned = this.connections.find( + (c) => componentBefore.has(c.id) && c.pinned && c.color + ); + let color: string; + let pinned: boolean; + if (pinnedColor) { + color = pinnedColor; + pinned = true; + } else if (inheritedPinned?.color) { + color = inheritedPinned.color; + pinned = true; + } else { + color = pendingAlignmentColor(this.connections, [upperTokenId], [lowerTokenId], palette); + pinned = false; + } const merged = addAtomicConnections(this.connections, [{ upperTokenId, lowerTokenId }], color); const componentAfter = connectedConnectionIds(merged, seedTokens); - this.connections = merged.map((c) => (componentAfter.has(c.id) ? { ...c, color } : c)); + this.connections = merged.map((c) => (componentAfter.has(c.id) ? { ...c, color, pinned } : c)); + } + + /** Pin a group (component containing `tokenId`) to a color; it survives palette/style changes. */ + pinGroupColor(tokenId: string, color: string) { + const component = connectedConnectionIds(this.connections, [tokenId]); + if (component.size === 0) return; + this.connections = this.connections.map((c) => + component.has(c.id) ? { ...c, color, pinned: true } : c + ); + } + + /** Unpin a group and recolor it with the next unused palette color (auto behavior). */ + unpinGroupColor(tokenId: string, palette: PaletteName) { + const component = connectedConnectionIds(this.connections, [tokenId]); + if (component.size === 0) return; + const otherColors = new Set( + this.connections + .filter((c) => !component.has(c.id)) + .map((c) => c.color) + .filter((c): c is string => Boolean(c)) + ); + const color = pickUnusedPaletteColor(palette, otherColors, this.connections.length); + this.connections = this.connections.map((c) => + component.has(c.id) ? { ...c, color, pinned: false } : c + ); + } + + /** True when `tokenId` is part of at least one connection. */ + hasGroup(tokenId: string): boolean { + return this.connections.some((c) => c.upperTokenId === tokenId || c.lowerTokenId === tokenId); + } + + /** True when `tokenId` belongs to a pinned group. */ + isGroupPinned(tokenId: string): boolean { + const component = connectedConnectionIds(this.connections, [tokenId]); + if (component.size === 0) return false; + return this.connections.some((c) => component.has(c.id) && c.pinned); + } + + /** The color of the group containing `tokenId`, if any. */ + groupColor(tokenId: string): string | null { + const c = this.connections.find( + (x) => x.upperTokenId === tokenId || x.lowerTokenId === tokenId + ); + return c?.color ?? null; } recolorAllConnections(palette: PaletteName) { const pool = PALETTES[palette]; const components = connectedConnectionComponents(this.connections); const colorById: Record = {}; - components.forEach((component, i) => { - const color = pool[i % pool.length]!; + let autoIndex = 0; + for (const component of components) { + // Pinned groups keep their color; only auto groups cycle the palette. + const anyPinned = this.connections.some((c) => component.has(c.id) && c.pinned); + if (anyPinned) continue; + const color = pool[autoIndex % pool.length]!; + autoIndex += 1; component.forEach((id) => { colorById[id] = color; }); - }); - this.connections = this.connections.map((c) => ({ - ...c, - color: colorById[c.id] ?? pool[0]! - })); + } + this.connections = this.connections.map((c) => + colorById[c.id] ? { ...c, color: colorById[c.id] } : c + ); } removeConnectionById(connectionId: string) { diff --git a/bitext/src/lib/state/selection.svelte.ts b/bitext/src/lib/state/selection.svelte.ts index b1046d9..31f9ca2 100644 --- a/bitext/src/lib/state/selection.svelte.ts +++ b/bitext/src/lib/state/selection.svelte.ts @@ -5,6 +5,8 @@ class SelectionStore { pending: { lineId: string; tokenId: string } | null = $state(null); /** Shown when user clicks a non-adjacent line while a token is pending */ adjacencyHint = $state(false); + /** Color pre-picked for the selected (still unlinked) token; applied to the next connection. */ + pendingColor = $state(null); /** First click pins a token; second click on adjacent line creates a connection; same line changes pin. */ previewTokenClick(lineId: string, tokenId: string) { @@ -12,14 +14,16 @@ class SelectionStore { const cur = this.pending; if (!cur) { this.pending = { lineId, tokenId }; + this.pendingColor = null; return; } if (cur.lineId === lineId && cur.tokenId === tokenId) { - this.pending = null; + this.clear(); return; } if (cur.lineId === lineId) { this.pending = { lineId, tokenId }; + this.pendingColor = null; return; } const lineIds = projectStore.lines.map((l) => l.id); @@ -28,20 +32,46 @@ class SelectionStore { if (ia < 0 || ib < 0 || Math.abs(ia - ib) !== 1) { this.adjacencyHint = true; this.pending = { lineId, tokenId }; + this.pendingColor = null; return; } const palette = settingsStore.settings.palette; + const pinnedColor = this.pendingColor ?? undefined; if (ia < ib) { - projectStore.addConnection(cur.tokenId, tokenId, palette); + projectStore.addConnection(cur.tokenId, tokenId, palette, pinnedColor); } else { - projectStore.addConnection(tokenId, cur.tokenId, palette); + projectStore.addConnection(tokenId, cur.tokenId, palette, pinnedColor); } - this.pending = null; + this.clear(); + } + + /** Choose a palette color for the current selection without dropping it. */ + setColorForSelection(color: string) { + const cur = this.pending; + if (!cur) return; + if (projectStore.hasGroup(cur.tokenId)) { + projectStore.pinGroupColor(cur.tokenId, color); + this.pendingColor = null; + } else { + // Unlinked word: remember the color for the link about to be created. + this.pendingColor = color; + } + } + + /** Reset the current selection's group color to automatic (or clear a pre-picked color). */ + resetColorForSelection() { + const cur = this.pending; + if (!cur) return; + if (projectStore.hasGroup(cur.tokenId)) { + projectStore.unpinGroupColor(cur.tokenId, settingsStore.settings.palette); + } + this.pendingColor = null; } clear() { this.pending = null; this.adjacencyHint = false; + this.pendingColor = null; } showLinkHint(): boolean { diff --git a/bitext/src/routes/+page.svelte b/bitext/src/routes/+page.svelte index c14f141..bb18dc7 100644 --- a/bitext/src/routes/+page.svelte +++ b/bitext/src/routes/+page.svelte @@ -16,6 +16,7 @@ import StylePicker from '$lib/components/preview/StylePicker.svelte'; import LineEditModal from '$lib/components/editor/LineEditModal.svelte'; import LineSettingsSheet from '$lib/components/editor/LineSettingsSheet.svelte'; + import GroupColorPopover from '$lib/components/preview/GroupColorPopover.svelte'; import EditorTabBar from '$lib/components/editor-shell/EditorTabBar.svelte'; import EditorPanels from '$lib/components/editor-shell/EditorPanels.svelte'; import JsonLd from '$lib/components/seo/JsonLd.svelte'; @@ -407,3 +408,4 @@ + From e67b4fe67440c1624a9dd43cc9b60b6bd4d0772e Mon Sep 17 00:00:00 2001 From: dani-polani Date: Sat, 4 Jul 2026 02:45:56 +0300 Subject: [PATCH 11/23] feat(editor): reset icon in color popover; clear selection on empty click - Replace the "Auto" reset label with a reset icon. - Clicking empty space (outside any word or the popover) drops the current word selection, matching the intuitive dismiss gesture. Co-Authored-By: Claude Fable 5 --- .../preview/GroupColorPopover.svelte | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/bitext/src/lib/components/preview/GroupColorPopover.svelte b/bitext/src/lib/components/preview/GroupColorPopover.svelte index b10e268..7e98fae 100644 --- a/bitext/src/lib/components/preview/GroupColorPopover.svelte +++ b/bitext/src/lib/components/preview/GroupColorPopover.svelte @@ -73,11 +73,20 @@ function onMove() { position(); } + // Clicking empty space (not a word, not this popover) drops the selection. + function onPointerDown(e: PointerEvent) { + const target = e.target as Element | null; + if (!target) return; + if (target.closest('[data-token-id]') || target.closest('[data-group-color-popover]')) return; + selectionStore.clear(); + } window.addEventListener('scroll', onMove, true); window.addEventListener('resize', onMove); + window.addEventListener('pointerdown', onPointerDown, true); return () => { window.removeEventListener('scroll', onMove, true); window.removeEventListener('resize', onMove); + window.removeEventListener('pointerdown', onPointerDown, true); }; }); @@ -87,6 +96,7 @@ bind:this={tipEl} role="dialog" aria-label="Group color" + data-group-color-popover style:top="{top}px" style:left="{left}px" style:visibility={ready ? 'visible' : 'hidden'} @@ -108,11 +118,24 @@ {#if canReset} {/if}
From 1bb716ec141144a5e1566127640df2b6f9542d27 Mon Sep 17 00:00:00 2001 From: dani-polani Date: Sat, 4 Jul 2026 03:30:51 +0300 Subject: [PATCH 12/23] feat(editor): pinned-group marker; diversify deco/nouveau palettes; Amarante for Nouveau - Show a small lock badge at a pinned group's connector so it is clear why that group ignores palette/style changes. Editor-only (gated on visible chrome); the export builder is separate, so it never reaches exports. - Replace the near-duplicate colors in the deco and nouveau palettes with distinct hues (deco: gold + jewels; nouveau: muted botanicals) for wider variety. - Nouveau style now defaults to the Amarante display face (more art-nouveau than Spectral); add Amarante to the shared font picker. Co-Authored-By: Claude Fable 5 --- .../preview/AlignmentPreview.svelte | 3 ++- .../components/preview/AlignmentSvg.svelte | 23 +++++++++++++++++-- bitext/src/lib/domain/palettes.ts | 6 ++--- bitext/src/lib/domain/styles.ts | 2 +- bitext/src/lib/fonts/google-fonts.ts | 3 ++- 5 files changed, 29 insertions(+), 8 deletions(-) diff --git a/bitext/src/lib/components/preview/AlignmentPreview.svelte b/bitext/src/lib/components/preview/AlignmentPreview.svelte index c46065a..fc74534 100644 --- a/bitext/src/lib/components/preview/AlignmentPreview.svelte +++ b/bitext/src/lib/components/preview/AlignmentPreview.svelte @@ -293,7 +293,7 @@ {#if selectionStore.adjacencyHint} Only adjacent lines can be linked — choose a word directly above or below. {:else} - Click a word on an adjacent line to create the link. + Click on adjacent line to link. {/if}

{/if} @@ -422,6 +422,7 @@ {writesExportLayout} {thicknessScale} zoom={zoom.z} + showPins={!readonly && !hideChrome} />

diff --git a/bitext/src/lib/components/preview/AlignmentSvg.svelte b/bitext/src/lib/components/preview/AlignmentSvg.svelte index 88f242e..6b4882f 100644 --- a/bitext/src/lib/components/preview/AlignmentSvg.svelte +++ b/bitext/src/lib/components/preview/AlignmentSvg.svelte @@ -9,7 +9,7 @@ tokenLineId } from '$lib/domain/lines-helpers.js'; import { linkEndpoints, linkPathD, ribbonPathD } from '$lib/domain/link-geometry.js'; - import { connectorColor, getStyle } from '$lib/domain/styles.js'; + import { connectorColor, getStyle, readableTextOn } from '$lib/domain/styles.js'; import { projectStore } from '$lib/state/project.svelte.js'; import { settingsStore } from '$lib/state/settings.svelte.js'; import { linkHover } from '$lib/state/linkHover.svelte.js'; @@ -21,7 +21,8 @@ connections, writesExportLayout = true, thicknessScale = 1, - zoom = 1 + zoom = 1, + showPins = false }: { rootEl: HTMLElement | null; connections: Connection[]; @@ -31,6 +32,8 @@ thicknessScale?: number; /** Visual pan/zoom scale of the wrapper; measurements are divided by it to stay in layout space. */ zoom?: number; + /** Editing affordance only: mark pinned-color groups. Never part of the export. */ + showPins?: boolean; } = $props(); let displayTokenLayout = $state>({}); @@ -235,6 +238,22 @@ opacity={pathOpacity} /> {/if} + {#if showPins && conn.pinned} + {@const mx = (pts.x1 + pts.x2) / 2} + {@const my = (pts.y1 + pts.y2) / 2} + {@const fg = readableTextOn(col)} + + + + + + + {/if} {/if} {/if} {/each} diff --git a/bitext/src/lib/domain/palettes.ts b/bitext/src/lib/domain/palettes.ts index 24d193a..7099e26 100644 --- a/bitext/src/lib/domain/palettes.ts +++ b/bitext/src/lib/domain/palettes.ts @@ -22,10 +22,10 @@ export const PALETTES: Record = { jewel: ['#9c3b2e', '#2f5d8a', '#3f7a4f', '#9a7b2e', '#6b4d8a', '#2f8a8a', '#a85d3c', '#54616e'], ink: ['#2a2622', '#55504a', '#3a4a52', '#6a4a3a', '#454a3a', '#7a6a5a', '#3a3a4a', '#5a4a4a'], cyan: ['#cfe0ff', '#7ec8ff', '#a5f3ff', '#ffd27e', '#b9a5ff', '#7affd0', '#ff9ecf', '#dfe8f5'], - // Art-deco golds and jades (reads on the dark emerald canvas). - deco: ['#e9be57', '#9fd6ad', '#e8c98a', '#7fae86', '#d4b46a', '#bfe3c6', '#caa14e', '#a6cfae'], + // Art-deco jewels and gold (reads on the dark emerald canvas). + deco: ['#e9be57', '#5cc2a4', '#2f9fbf', '#e8825c', '#d1566e', '#8f7ad0', '#6f9fe0', '#b7cf63'], // Muted art-nouveau botanicals. - nouveau: ['#7f463e', '#496f3b', '#8a7a3a', '#6b4d6a', '#9a6b3c', '#4f6b5a', '#a15c4c', '#5f6e3a'], + nouveau: ['#7f463e', '#55793f', '#9a7d34', '#6b4d6a', '#b06a3c', '#4f6b5a', '#a7566a', '#4a6b8a'], // Risograph spot inks. riso: ['#df2321', '#006ac0', '#00a95c', '#ffb600', '#ff48b0', '#00b7c3', '#f15060', '#5a4fcf'], // Vivid rainbow so a set of links spans the spectrum. diff --git a/bitext/src/lib/domain/styles.ts b/bitext/src/lib/domain/styles.ts index 05bde29..a0841a1 100644 --- a/bitext/src/lib/domain/styles.ts +++ b/bitext/src/lib/domain/styles.ts @@ -240,7 +240,7 @@ const STYLES: Record = { tintBaseHex: '#f3efdb' }, connector: { cap: 'round', mode: 'ribbon', taper: true, ribbonScale: 5, lineColor: '#515e30' }, - defaultFont: 'Spectral', + defaultFont: 'Amarante', palette: 'nouveau', frameClass: 'aligner-frame-nouveau' }, diff --git a/bitext/src/lib/fonts/google-fonts.ts b/bitext/src/lib/fonts/google-fonts.ts index d14c202..2d0219e 100644 --- a/bitext/src/lib/fonts/google-fonts.ts +++ b/bitext/src/lib/fonts/google-fonts.ts @@ -18,7 +18,8 @@ export const GOOGLE_FONT_OPTIONS: { family: string; label: string }[] = [ { family: 'Libre+Baskerville', label: 'Libre Baskerville' }, { family: 'Spectral', label: 'Spectral' }, { family: 'Sora', label: 'Sora' }, - { family: 'Poiret+One', label: 'Poiret One' } + { family: 'Poiret+One', label: 'Poiret One' }, + { family: 'Amarante', label: 'Amarante' } ]; export function googleFontStylesheetUrl(familyCss: string): string { From 5e85459160a22fd14067d6fabd643e7488df23c2 Mon Sep 17 00:00:00 2001 From: dani-polani Date: Sat, 4 Jul 2026 03:42:24 +0300 Subject: [PATCH 13/23] feat(editor): move pinned marker above the group, use a palette icon MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The lock badge on the connector read as "this link is locked". Replace it with a palette badge above a pinned group's top token — clearly about color, not the connection. Shown for every pinned group (glanceable), but skipped for the currently selected group since the color popover already covers it there. Editor-only; never part of the export. Co-Authored-By: Claude Fable 5 --- .../components/preview/AlignmentSvg.svelte | 60 ++++++++++++++----- 1 file changed, 44 insertions(+), 16 deletions(-) diff --git a/bitext/src/lib/components/preview/AlignmentSvg.svelte b/bitext/src/lib/components/preview/AlignmentSvg.svelte index 6b4882f..a87cb29 100644 --- a/bitext/src/lib/components/preview/AlignmentSvg.svelte +++ b/bitext/src/lib/components/preview/AlignmentSvg.svelte @@ -9,6 +9,7 @@ tokenLineId } from '$lib/domain/lines-helpers.js'; import { linkEndpoints, linkPathD, ribbonPathD } from '$lib/domain/link-geometry.js'; + import { connectedConnectionComponents, connectedConnectionIds } from '$lib/domain/link-graph.js'; import { connectorColor, getStyle, readableTextOn } from '$lib/domain/styles.js'; import { projectStore } from '$lib/state/project.svelte.js'; import { settingsStore } from '$lib/state/settings.svelte.js'; @@ -44,6 +45,34 @@ /** Opacity multiplier for connectors not usable while picking the second token (0 = hidden is wrong; use low alpha). */ const PENDING_DIM_FACTOR = 0.22; + /** + * A palette badge sits above the top token of every pinned group so it is clear the color is + * fixed. The currently selected group is skipped — the color popover already covers it there. + */ + const pinnedBadges = $derived.by(() => { + const pend = selectionStore.pending; + const selectedComponent = pend ? connectedConnectionIds(connections, [pend.tokenId]) : null; + const out: { cx: number; y: number; color: string }[] = []; + for (const component of connectedConnectionComponents(connections)) { + const groupConns = connections.filter((c) => component.has(c.id)); + if (!groupConns.some((c) => c.pinned)) continue; + if (selectedComponent && groupConns.some((c) => selectedComponent.has(c.id))) continue; + const color = groupConns.find((c) => c.color)?.color ?? '#94a3b8'; + let best: { cx: number; y: number; li: number; x: number } | null = null; + for (const tid of groupConns.flatMap((c) => [c.upperTokenId, c.lowerTokenId])) { + const layout = displayTokenLayout[tid]; + if (!layout) continue; + const li = lineOrder.indexOf(tokenLineId(tid)); + if (li < 0) continue; + if (!best || li < best.li || (li === best.li && layout.x < best.x)) { + best = { cx: layout.cx, y: layout.y - 12, li, x: layout.x }; + } + } + if (best) out.push({ cx: best.cx, y: best.y, color }); + } + return out; + }); + function shouldDrawPath(conn: Connection): boolean { const lineOrder = projectStore.lines.map((l) => l.id); const pair = canonicalPair( @@ -238,25 +267,24 @@ opacity={pathOpacity} /> {/if} - {#if showPins && conn.pinned} - {@const mx = (pts.x1 + pts.x2) / 2} - {@const my = (pts.y1 + pts.y2) / 2} - {@const fg = readableTextOn(col)} - - - - - - - {/if} {/if} {/if} {/each} + {#if showPins} + + {#each pinnedBadges as badge (badge.cx + ':' + badge.y)} + {@const col = connectorColor(style, badge.color)} + {@const fg = readableTextOn(col)} + + + + + + + + + {/each} + {/if} From 98146d6c223f612bdc2918e32db68138a366f796 Mon Sep 17 00:00:00 2001 From: dani-polani Date: Sat, 4 Jul 2026 04:09:32 +0300 Subject: [PATCH 14/23] fix(editor): pinned badge shows group color, is clickable; popover avoids covering words MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Use the group's own color for the palette badge instead of the style's connector color (deco/nouveau/sumi/bauhaus overrode it before). - Render badges in a dedicated top layer and make them clickable: clicking a badge selects that group and opens the color popover. The old layer drops below the words under Bauhaus, so the badge was unclickable there. - Place the color popover beside the selected word (right, else left), vertically centered within its row, so it never covers a word on the line above or below — the words you click to link. Co-Authored-By: Claude Fable 5 --- bitext/src/app.css | 17 +++++ .../components/preview/AlignmentSvg.svelte | 64 +++++++++++++------ .../preview/GroupColorPopover.svelte | 32 ++++++++-- bitext/src/lib/state/selection.svelte.ts | 7 ++ 4 files changed, 95 insertions(+), 25 deletions(-) diff --git a/bitext/src/app.css b/bitext/src/app.css index d43f4d8..d3aa592 100644 --- a/bitext/src/app.css +++ b/bitext/src/app.css @@ -344,6 +344,23 @@ html { pointer-events: none; } +/* Pinned-group color badges: a top layer (above words and the connector layer, which Bauhaus + drops below the words) so the badges stay visible and clickable under every style. */ +.preview-badge-layer { + position: absolute; + inset: 0; + width: 100%; + height: 100%; + pointer-events: none; + z-index: 3; + overflow: visible; +} + +.preview-badge-layer .pin-badge { + pointer-events: auto; + cursor: pointer; +} + path.link-path { pointer-events: none; transition: stroke-width 0.12s ease; diff --git a/bitext/src/lib/components/preview/AlignmentSvg.svelte b/bitext/src/lib/components/preview/AlignmentSvg.svelte index a87cb29..70bc919 100644 --- a/bitext/src/lib/components/preview/AlignmentSvg.svelte +++ b/bitext/src/lib/components/preview/AlignmentSvg.svelte @@ -52,23 +52,31 @@ const pinnedBadges = $derived.by(() => { const pend = selectionStore.pending; const selectedComponent = pend ? connectedConnectionIds(connections, [pend.tokenId]) : null; - const out: { cx: number; y: number; color: string }[] = []; + const out: { cx: number; y: number; color: string; tokenId: string; lineId: string }[] = []; for (const component of connectedConnectionComponents(connections)) { const groupConns = connections.filter((c) => component.has(c.id)); if (!groupConns.some((c) => c.pinned)) continue; if (selectedComponent && groupConns.some((c) => selectedComponent.has(c.id))) continue; const color = groupConns.find((c) => c.color)?.color ?? '#94a3b8'; - let best: { cx: number; y: number; li: number; x: number } | null = null; + let best: { cx: number; y: number; li: number; x: number; tid: string } | null = null; for (const tid of groupConns.flatMap((c) => [c.upperTokenId, c.lowerTokenId])) { const layout = displayTokenLayout[tid]; if (!layout) continue; const li = lineOrder.indexOf(tokenLineId(tid)); if (li < 0) continue; if (!best || li < best.li || (li === best.li && layout.x < best.x)) { - best = { cx: layout.cx, y: layout.y - 12, li, x: layout.x }; + best = { cx: layout.cx, y: layout.y - 12, li, x: layout.x, tid }; } } - if (best) out.push({ cx: best.cx, y: best.y, color }); + if (best) { + out.push({ + cx: best.cx, + y: best.y, + color, + tokenId: best.tid, + lineId: tokenLineId(best.tid) + }); + } } return out; }); @@ -270,21 +278,6 @@ {/if} {/if} {/each} - {#if showPins} - - {#each pinnedBadges as badge (badge.cx + ':' + badge.y)} - {@const col = connectorColor(style, badge.color)} - {@const fg = readableTextOn(col)} - - - - - - - - - {/each} - {/if} @@ -328,3 +321,36 @@ {/if} {/each} + +{#if showPins} + + + {#each pinnedBadges as badge (badge.tokenId)} + {@const col = badge.color} + {@const fg = readableTextOn(col)} + selectionStore.selectToken(badge.lineId, badge.tokenId)} + onkeydown={(e) => { + if (e.key === 'Enter' || e.key === ' ') { + e.preventDefault(); + selectionStore.selectToken(badge.lineId, badge.tokenId); + } + }} + > + + + + + + + + {/each} + +{/if} diff --git a/bitext/src/lib/components/preview/GroupColorPopover.svelte b/bitext/src/lib/components/preview/GroupColorPopover.svelte index 7e98fae..acd20c5 100644 --- a/bitext/src/lib/components/preview/GroupColorPopover.svelte +++ b/bitext/src/lib/components/preview/GroupColorPopover.svelte @@ -51,11 +51,26 @@ const t = tipEl.getBoundingClientRect(); const vw = window.innerWidth; const vh = window.innerHeight; - let topPx = a.top - t.height - MARGIN; - // Drop below the word when there is no room above. - if (topPx < MARGIN && a.bottom + t.height + MARGIN <= vh) topPx = a.bottom + MARGIN; - let l = a.left + a.width / 2 - t.width / 2; - l = Math.min(Math.max(l, MARGIN), vw - t.width - MARGIN); + + // Place beside the word, vertically centered on it. Keeping the popover within the word's + // own row height means it never covers a word on the line above or below (the link targets). + const rightLeft = a.right + MARGIN; + const leftLeft = a.left - t.width - MARGIN; + let l: number; + if (rightLeft + t.width + MARGIN <= vw) { + l = rightLeft; + } else if (leftLeft >= MARGIN) { + l = leftLeft; + } else { + // Neither side fits (very narrow screen): clamp horizontally, sit just above the word. + l = Math.min(Math.max(a.left + a.width / 2 - t.width / 2, MARGIN), vw - t.width - MARGIN); + top = Math.max(a.top - t.height - MARGIN, MARGIN); + left = l; + ready = true; + return; + } + let topPx = a.top + a.height / 2 - t.height / 2; + topPx = Math.min(Math.max(topPx, MARGIN), vh - t.height - MARGIN); top = topPx; left = l; ready = true; @@ -77,7 +92,12 @@ function onPointerDown(e: PointerEvent) { const target = e.target as Element | null; if (!target) return; - if (target.closest('[data-token-id]') || target.closest('[data-group-color-popover]')) return; + if ( + target.closest('[data-token-id]') || + target.closest('[data-group-color-popover]') || + target.closest('[data-pin-badge]') + ) + return; selectionStore.clear(); } window.addEventListener('scroll', onMove, true); diff --git a/bitext/src/lib/state/selection.svelte.ts b/bitext/src/lib/state/selection.svelte.ts index 31f9ca2..ddf4bdc 100644 --- a/bitext/src/lib/state/selection.svelte.ts +++ b/bitext/src/lib/state/selection.svelte.ts @@ -45,6 +45,13 @@ class SelectionStore { this.clear(); } + /** Select a token directly (e.g. clicking a group's pinned-color badge) to open its color popover. */ + selectToken(lineId: string, tokenId: string) { + this.pending = { lineId, tokenId }; + this.adjacencyHint = false; + this.pendingColor = null; + } + /** Choose a palette color for the current selection without dropping it. */ setColorForSelection(color: string) { const cur = this.pending; From e7b2343c10350c3cc3cf7329b22b68e86d8eb387 Mon Sep 17 00:00:00 2001 From: dani-polani Date: Sat, 4 Jul 2026 04:39:31 +0300 Subject: [PATCH 15/23] feat(home): restore SEO content and partner banners below the editor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The editor stays a full-height hero on /. Below the fold: an H1, the examples, the intro copy, the guides/SEO sections, the two rotating partner banners in a sidebar, and the site footer — the content the old landing carried, now on the home URL that ranks. A subtle "Guides & examples" chevron in the hero hints at the content and smooth-scrolls to it. Drops the editor's redundant desktop footer (the page footer covers it). Co-Authored-By: Claude Fable 5 --- bitext/src/routes/+page.svelte | 171 ++++++++++++++++++++++++--------- 1 file changed, 127 insertions(+), 44 deletions(-) diff --git a/bitext/src/routes/+page.svelte b/bitext/src/routes/+page.svelte index bb18dc7..c1e1a15 100644 --- a/bitext/src/routes/+page.svelte +++ b/bitext/src/routes/+page.svelte @@ -1,7 +1,6 @@ + +{#if open} + +{/if} + + diff --git a/bitext/src/routes/+page.svelte b/bitext/src/routes/+page.svelte index bb18dc7..ac1f9fc 100644 --- a/bitext/src/routes/+page.svelte +++ b/bitext/src/routes/+page.svelte @@ -10,6 +10,7 @@ EyeOutline, EyeSlashOutline, FolderOpenOutline, + InfoCircleOutline, TrashBinOutline } from 'flowbite-svelte-icons'; import AlignmentPreview from '$lib/components/preview/AlignmentPreview.svelte'; @@ -20,6 +21,7 @@ import EditorTabBar from '$lib/components/editor-shell/EditorTabBar.svelte'; import EditorPanels from '$lib/components/editor-shell/EditorPanels.svelte'; import JsonLd from '$lib/components/seo/JsonLd.svelte'; + import SeoDrawer from '$lib/components/seo/SeoDrawer.svelte'; import { editorShellStore } from '$lib/state/editorShell.svelte.js'; import { viewportStore } from '$lib/state/viewport.svelte.js'; import { projectStore } from '$lib/state/project.svelte.js'; @@ -45,6 +47,8 @@ : 'Export & share' ); + let seoOpen = $state(false); + let previewExpand = $state(false); function openFullscreenPreview() { previewExpand = true; @@ -160,6 +164,8 @@
+ +

Word-by-word translation visualizer

@@ -200,6 +206,19 @@
+ +
+ {:else} +
+ + Partner offers + + +
+
+ {#each partnerIds.slice(0, count) as id (id)} + {#key id} + + {/key} + {/each} +
+ {/if} +
diff --git a/bitext/src/routes/+page.svelte b/bitext/src/routes/+page.svelte index ac1f9fc..31eb045 100644 --- a/bitext/src/routes/+page.svelte +++ b/bitext/src/routes/+page.svelte @@ -22,6 +22,7 @@ import EditorPanels from '$lib/components/editor-shell/EditorPanels.svelte'; import JsonLd from '$lib/components/seo/JsonLd.svelte'; import SeoDrawer from '$lib/components/seo/SeoDrawer.svelte'; + import CanvasPartnerStrip from '$lib/components/partners/CanvasPartnerStrip.svelte'; import { editorShellStore } from '$lib/state/editorShell.svelte.js'; import { viewportStore } from '$lib/state/viewport.svelte.js'; import { projectStore } from '$lib/state/project.svelte.js'; @@ -48,6 +49,7 @@ ); let seoOpen = $state(false); + let canvasScrollEl = $state(null); let previewExpand = $state(false); function openFullscreenPreview() { @@ -269,12 +271,15 @@
-
+
+ + + {#if viewportStore.isNarrow && editorShellStore.sheetOpen} {/if} @@ -37,7 +37,7 @@ class="fixed bottom-0 left-0 top-14 z-50 flex w-[min(32rem,92vw)] flex-col border-r border-gray-200 bg-white shadow-xl transition-transform duration-200 dark:border-gray-700 dark:bg-gray-900 {open ? 'translate-x-0' : '-translate-x-full'}" - aria-label="About Word Aligner" + aria-label="How Word Aligner works" aria-hidden={!open} inert={!open} > @@ -45,12 +45,12 @@ class="flex shrink-0 items-center justify-between border-b border-gray-200 px-5 py-3 dark:border-gray-700" >

- About Word Aligner + How Word Aligner works

- {/each} -
- - -
- - - {#if onExpand} - - {/if} - -
-
- - -
- -
- - - {#if viewportStore.isNarrow} -
- -
- {/if} -
- - - {#if !viewportStore.isNarrow} - - {/if} -
- - - workspaceStore.closeSheet()} -> - - - workspaceStore.closeSheet()} -> - - - workspaceStore.closeSheet()} -> - - diff --git a/bitext/src/lib/components/shell/ModeSheet.svelte b/bitext/src/lib/components/shell/ModeSheet.svelte deleted file mode 100644 index a682261..0000000 --- a/bitext/src/lib/components/shell/ModeSheet.svelte +++ /dev/null @@ -1,58 +0,0 @@ - - -{#if viewportStore.isNarrow} - -
-
- {title} - -
-
- {@render children()} -
-
-
-{/if} diff --git a/bitext/src/lib/components/shell/ModeTabBar.svelte b/bitext/src/lib/components/shell/ModeTabBar.svelte deleted file mode 100644 index 034329a..0000000 --- a/bitext/src/lib/components/shell/ModeTabBar.svelte +++ /dev/null @@ -1,68 +0,0 @@ - - - diff --git a/bitext/src/lib/domain/link-graph.test.ts b/bitext/src/lib/domain/link-graph.test.ts new file mode 100644 index 0000000..7a23c9b --- /dev/null +++ b/bitext/src/lib/domain/link-graph.test.ts @@ -0,0 +1,63 @@ +import { describe, expect, it } from 'vitest'; +import { recolorUnpinnedComponents } from './link-graph.js'; +import type { Connection } from './alignment.js'; + +function conn( + id: string, + upper: string, + lower: string, + color: string, + pinned?: boolean +): Connection { + return { + id, + upperTokenId: upper, + lowerTokenId: lower, + color, + ...(pinned ? { pinned: true } : {}) + }; +} + +describe('recolorUnpinnedComponents', () => { + const palette = ['#aaa', '#bbb', '#ccc'] as const; + + it('recolors unpinned groups by cycling the palette in component order', () => { + const out = recolorUnpinnedComponents( + [conn('c1', 's-0', 't-0', '#old'), conn('c2', 's-1', 't-1', '#old')], + palette + ); + expect(out.map((c) => c.color)).toEqual(['#aaa', '#bbb']); + }); + + it('keeps a pinned group unchanged while recoloring the rest', () => { + const out = recolorUnpinnedComponents( + [ + conn('c1', 's-0', 't-0', '#pinned', true), + conn('c2', 's-1', 't-1', '#old'), + conn('c3', 's-2', 't-2', '#old') + ], + palette + ); + const byId = Object.fromEntries(out.map((c) => [c.id, c])); + expect(byId.c1.color).toBe('#pinned'); + expect(byId.c1.pinned).toBe(true); + // The pinned component is skipped, so unpinned ones still start from the palette's first color. + expect(byId.c2.color).toBe('#aaa'); + expect(byId.c3.color).toBe('#bbb'); + }); + + it('treats a multi-connection component as one group with one color', () => { + // s-0↔t-0 and t-0↔u-0 share t-0, so all three connections are one component. + const out = recolorUnpinnedComponents( + [ + conn('c1', 's-0', 't-0', '#old'), + conn('c2', 't-0', 'u-0', '#old'), + conn('c3', 's-1', 't-1', '#old') + ], + palette + ); + const byId = Object.fromEntries(out.map((c) => [c.id, c])); + expect(byId.c1.color).toBe(byId.c2.color); + expect(byId.c3.color).not.toBe(byId.c1.color); + }); +}); diff --git a/bitext/src/lib/domain/link-graph.ts b/bitext/src/lib/domain/link-graph.ts index d170bbe..20b5298 100644 --- a/bitext/src/lib/domain/link-graph.ts +++ b/bitext/src/lib/domain/link-graph.ts @@ -83,5 +83,27 @@ export function connectedConnectionComponents(connections: Connection[]): Set = {}; + let autoIndex = 0; + for (const component of connectedConnectionComponents(connections)) { + const anyPinned = connections.some((c) => component.has(c.id) && c.pinned); + if (anyPinned) continue; + const color = palette[autoIndex % palette.length]!; + autoIndex += 1; + component.forEach((id) => { + colorById[id] = color; + }); + } + return connections.map((c) => (colorById[c.id] ? { ...c, color: colorById[c.id] } : c)); +} + /** @deprecated */ export const connectedLinkComponents = connectedConnectionComponents; diff --git a/bitext/src/lib/examples/data/wikipedia.ts b/bitext/src/lib/examples/data/wikipedia.ts index 86b1fde..4fa6562 100644 --- a/bitext/src/lib/examples/data/wikipedia.ts +++ b/bitext/src/lib/examples/data/wikipedia.ts @@ -62,8 +62,8 @@ export const WIKIPEDIA_EXAMPLES: ExampleEntry[] = [ ['src-0', 'tr-0'], ['src-0', 'tr-1'], ['src-2', 'tr-2'], - ['src-3', 'tr-3'], - ['src-4', 'tr-4'], + ['src-2', 'tr-3'], + ['src-3', 'tr-4'], ['src-4', 'tr-5'] ] }; @@ -91,7 +91,7 @@ export const WIKIPEDIA_EXAMPLES: ExampleEntry[] = [ ['src-1', 'tr-3'], ['src-2', 'tr-4'], ['src-3', 'tr-5'], - ['src-4', 'tr-6'], + ['src-4', 'tr-7'], ['src-5', 'tr-8'] ] }; @@ -117,7 +117,7 @@ export const WIKIPEDIA_EXAMPLES: ExampleEntry[] = [ ['src-0', 'tr-0'], ['src-1', 'tr-1'], ['src-2', 'tr-2'], - ['src-3', 'tr-6'], + ['src-3', 'tr-7'], ['src-4', 'tr-6'], ['src-5', 'tr-3'], ['src-5', 'tr-4'] diff --git a/bitext/src/lib/server/home-page-load.ts b/bitext/src/lib/server/home-page-load.ts index f395aac..dfef450 100644 --- a/bitext/src/lib/server/home-page-load.ts +++ b/bitext/src/lib/server/home-page-load.ts @@ -4,7 +4,7 @@ import { findGalleryBySlug } from '$lib/examples/catalog.js'; import { findExample } from '$lib/state/examples.js'; import { decodeState } from '$lib/serialization/decode.js'; -/** Shared load for the editor home (`/`) and the legacy landing page (`/legacy`). */ +/** Load for the editor home (`/`): decoded `?data=` / `?example=` state plus partner rotation. */ export function loadHomePage(url: URL) { const data = url.searchParams.get('data'); const exampleParam = url.searchParams.get('example'); diff --git a/bitext/src/lib/state/project-pinning.test.ts b/bitext/src/lib/state/project-pinning.test.ts new file mode 100644 index 0000000..5f8b137 --- /dev/null +++ b/bitext/src/lib/state/project-pinning.test.ts @@ -0,0 +1,65 @@ +import { beforeEach, describe, expect, it } from 'vitest'; +import { projectStore } from './project.svelte.js'; +import { settingsStore } from './settings.svelte.js'; +import type { LineV2 } from '$lib/serialization/schema.js'; + +function line(id: string, rawText: string): LineV2 { + return { + id, + rawText, + font: { family: 'Inter', source: 'google' }, + textSizePx: 36, + gapWordPx: 14 + }; +} + +function loadTwoLines() { + projectStore.loadSnapshotV2({ + lines: [line('s', 'a b'), line('t', 'c d')], + connections: [], + pairControls: [], + linePairGaps: [] + }); +} + +describe('project store: pinned group colors', () => { + beforeEach(() => { + settingsStore.reset(); + loadTwoLines(); + }); + + it('addConnection pins the group when given an explicit color', () => { + projectStore.addConnection('s-0', 't-0', 'pastel', '#123456'); + const c = projectStore.connections[0]!; + expect(c.color).toBe('#123456'); + expect(c.pinned).toBe(true); + expect(projectStore.isGroupPinned('s-0')).toBe(true); + }); + + it('a new link joining a pinned group inherits its pinned color', () => { + projectStore.addConnection('s-0', 't-0', 'pastel', '#123456'); + // s-1 → t-0 shares t-0 with the pinned component, so it should inherit the pin. + projectStore.addConnection('s-1', 't-0', 'pastel'); + expect(projectStore.connections.every((c) => c.color === '#123456' && c.pinned)).toBe(true); + }); + + it('recolorAllConnections keeps a pinned group and recolors the rest', () => { + projectStore.addConnection('s-0', 't-0', 'pastel', '#123456'); // pinned + projectStore.addConnection('s-1', 't-1', 'pastel'); // auto + projectStore.recolorAllConnections('vivid'); + const pinned = projectStore.connections.find((c) => c.upperTokenId === 's-0')!; + const auto = projectStore.connections.find((c) => c.upperTokenId === 's-1')!; + expect(pinned.color).toBe('#123456'); + expect(auto.color).not.toBe('#123456'); + }); + + it('unpinGroupColor clears the pin and recolors to an unused palette color', () => { + projectStore.addConnection('s-0', 't-0', 'pastel', '#123456'); + projectStore.unpinGroupColor('s-0', 'pastel'); + const c = projectStore.connections[0]!; + expect(c.pinned).toBe(false); + expect(c.color).not.toBe('#123456'); + expect(projectStore.isGroupPinned('s-0')).toBe(false); + expect(projectStore.hasGroup('s-0')).toBe(true); + }); +}); diff --git a/bitext/src/lib/state/project.svelte.ts b/bitext/src/lib/state/project.svelte.ts index 08a90ce..f56c953 100644 --- a/bitext/src/lib/state/project.svelte.ts +++ b/bitext/src/lib/state/project.svelte.ts @@ -4,7 +4,7 @@ import { removeConnection, type Connection } from '$lib/domain/alignment.js'; -import { connectedConnectionComponents, connectedConnectionIds } from '$lib/domain/link-graph.js'; +import { connectedConnectionIds, recolorUnpinnedComponents } from '$lib/domain/link-graph.js'; import { filterConnectionsByAdjacency, canonicalPair, @@ -324,23 +324,7 @@ class ProjectStore { } recolorAllConnections(palette: PaletteName) { - const pool = PALETTES[palette]; - const components = connectedConnectionComponents(this.connections); - const colorById: Record = {}; - let autoIndex = 0; - for (const component of components) { - // Pinned groups keep their color; only auto groups cycle the palette. - const anyPinned = this.connections.some((c) => component.has(c.id) && c.pinned); - if (anyPinned) continue; - const color = pool[autoIndex % pool.length]!; - autoIndex += 1; - component.forEach((id) => { - colorById[id] = color; - }); - } - this.connections = this.connections.map((c) => - colorById[c.id] ? { ...c, color: colorById[c.id] } : c - ); + this.connections = recolorUnpinnedComponents(this.connections, PALETTES[palette]); } removeConnectionById(connectionId: string) { @@ -351,13 +335,6 @@ class ProjectStore { this.connections = []; } - updateConnectionColor(connectionId: string, color: string) { - const c = this.connections.find((x) => x.id === connectionId); - if (!c) return; - const component = connectedConnectionIds(this.connections, [c.upperTokenId, c.lowerTokenId]); - this.connections = this.connections.map((x) => (component.has(x.id) ? { ...x, color } : x)); - } - getSnapshot(): ProjectSnapshotV2 { return { lines: this.lines.map((l) => ({ ...l, font: { ...l.font } })), diff --git a/bitext/src/lib/state/workspace.svelte.ts b/bitext/src/lib/state/workspace.svelte.ts deleted file mode 100644 index 1d24a8f..0000000 --- a/bitext/src/lib/state/workspace.svelte.ts +++ /dev/null @@ -1,31 +0,0 @@ -/** - * Drives the canvas-first workspace shell: which editing mode is active. - * - * - `link` is the default and means "just the live canvas" (no panel/sheet open). - * - `text` / `style` / `export` open the matching panel (a bottom sheet on narrow - * screens, the docked rail on wide ones). - */ -export type WorkspaceMode = 'link' | 'text' | 'style' | 'export'; - -class WorkspaceStore { - mode = $state('link'); - - setMode(mode: WorkspaceMode) { - this.mode = mode; - } - - /** Narrow-screen sheet is open for anything other than the bare canvas. */ - get sheetOpen(): boolean { - return this.mode !== 'link'; - } - - closeSheet() { - this.mode = 'link'; - } - - toggleExport() { - this.mode = this.mode === 'export' ? 'link' : 'export'; - } -} - -export const workspaceStore = new WorkspaceStore(); diff --git a/bitext/src/routes/+page.svelte b/bitext/src/routes/+page.svelte index 31eb045..fd4e928 100644 --- a/bitext/src/routes/+page.svelte +++ b/bitext/src/routes/+page.svelte @@ -212,13 +212,13 @@ color="light" size="sm" class="shrink-0 px-2!" - title="About Word Aligner — what it does and how to use it" + title="How it works — what Word Aligner does and how to use it" aria-haspopup="dialog" aria-expanded={seoOpen} onclick={() => (seoOpen = true)} >
diff --git a/bitext/src/routes/examples/+page.svelte b/bitext/src/routes/examples/+page.svelte index 7373660..bb054c5 100644 --- a/bitext/src/routes/examples/+page.svelte +++ b/bitext/src/routes/examples/+page.svelte @@ -2,6 +2,7 @@ import { page } from '$app/state'; import { resolve } from '$app/paths'; import { ALIGNER_DISPLAY_NAME } from '$lib/brand.js'; + import PageHero from '$lib/components/layout/PageHero.svelte'; import SiteFooter from '$lib/components/layout/SiteFooter.svelte'; import StructuredData from '$lib/components/seo/StructuredData.svelte'; import { galleryPreviewImageUrl } from '$lib/examples/cdn.js'; @@ -54,37 +55,35 @@
-
- -

- {TITLE} -

-

+ + {#snippet lede()} {DESCRIPTION} -

-

- New to the notation? Start with the - glossing abbreviations cheat sheet, then open any example below in the editor. -

-
+ + New to the notation? Start with the + glossing abbreviations cheat sheet, then open any example below in the editor. + + {/snippet} + diff --git a/bitext/src/routes/examples/[slug]/+page.svelte b/bitext/src/routes/examples/[slug]/+page.svelte index ca0c01b..ab93549 100644 --- a/bitext/src/routes/examples/[slug]/+page.svelte +++ b/bitext/src/routes/examples/[slug]/+page.svelte @@ -2,6 +2,7 @@ import { page } from '$app/state'; import { resolve } from '$app/paths'; import { ALIGNER_DISPLAY_NAME } from '$lib/brand.js'; + import PageHero from '$lib/components/layout/PageHero.svelte'; import SiteFooter from '$lib/components/layout/SiteFooter.svelte'; import ExampleSections from '$lib/components/examples/ExampleSections.svelte'; import PartnerBannerById from '$lib/components/partners/PartnerBannerById.svelte'; @@ -74,23 +75,22 @@
-
- -

- {entry.title} -

-

+ + {#snippet lede()} {entry.description} -

-
+ {/snippet} +
+

+ {rel.title}

- + {/each} diff --git a/bitext/src/routes/guide/+page.svelte b/bitext/src/routes/guide/+page.svelte index 82a396d..cbe5609 100644 --- a/bitext/src/routes/guide/+page.svelte +++ b/bitext/src/routes/guide/+page.svelte @@ -14,6 +14,7 @@ - {#each GUIDES as guide (guide.path)} -
  • - +
  • {/each} -
  • - +
  • diff --git a/bitext/static/screenshots/about/editor-overview.png b/bitext/static/screenshots/about/editor-overview.png new file mode 100644 index 0000000000000000000000000000000000000000..69cf400b3c2ea8048403a75122b939b401a67615 GIT binary patch literal 189128 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%0D?`q>wPnH!IBnVbr$o9a9L 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 ^~ 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 ORzXhnQK^hc!2bgD;NNKg literal 0 HcmV?d00001 diff --git a/bitext/static/screenshots/about/preview-clean.png b/bitext/static/screenshots/about/preview-clean.png new file mode 100644 index 0000000000000000000000000000000000000000..d5a08f8a55ab940933caf73bc86cad590675f077 GIT binary patch literal 83031 zcmeFZcUMzu_b!Z;tsuBTy1iD2~B$M zO$bE-2@u*Fe9r!z^L~Rf&Uo?%V`UB2%AL99ea$(qdCi2r(o(*6m+>wM3CTTGl@~fB zB!97yklcv>>pJlaHY16XgycSn>WgQ3KIz-%q&^%|z6+-)m`pa4bQgohK%-cd^q#wS zkD0rzF$WC~-$g)~=i2XDPK(}}hc+f!22t)l0_rW5vAkgqc*CTfwZy7?-L<~|vk?*H z={j~ZtMPTl-FsQ22j_C<0J*|^yeY+e^33R@F^gm)#3KP?-vmT)D}AJ%?z7|86Uy5f=X+0EIf;4r)9k3UcV9pmI3Q|sM(!3s@di?ptsb{rC&ZnHSWjFl`+B+U!Uvs^Dz?$$C znRJbrSufZEf@j)`-4D;L316! z$l>|emM*tu4&7Qj{ck1(Jg<@D!CI}YrO#67{t1eMCE5~s*1=n4@4mk)46yOpOa9U9 z_F21`S-$b@(NLwCc05fsEknZbP&W-m(n(9U^yj8a6L-01QkhxehRW($MR$S-xO0C< zQhV;h_x1A&%}R5QflG-{{Cv|&5qA4x!M*FJqJ?NkOT0Db8jbcBA9O<5Yak%c2|8fj zViD?MH>s-^eg5;|Y0HZS=A&#rd@+IbbpmC#d-59q!3DfcO2uS43&!64k)bqq0LL>B zLzE%SRkT@*$_-H(Ng|If;uN{@e%m}nVgL1NWrDbk5sY8nc@7@=Ex~E~z%9PDSuW_z z@X+anJ;rT3i5`>2BugcK6#DZ+|GeFg2G|Pz?T6#fQHNV8xx<$zy*cj4#LU{0@QT!$zwC+o=$wt^Z1kUGCb39&SbFN!6t{ZZbTFeM&!7!5$Bd%T|z>zD$MJDHASV`Ks$Tct0bP6rh1SbKPII z8QMOIfY-I{=l$MYBrj^^=K38ng@&U9Vn8|q;WOI<&F)rQ?@snGOJ#Qb^s()?`$3lj z504djRjfqcZSHLixovdQ#~!)kGE)LB&HgOnD(u!BjOrEL@NciX2>+(zG@<{7=f=0% zAMNdX+Rd|R^l{gXKKw|snMaNl<&bn)%N2 zlFJaVawaA7gV_tc{w_Tnbx|)B71PkrGl0L&x^O|C+WmSvinEp>fq`?)|Mi`C?}w&crzus4|?hBd`23Z zfu!T-`>HK4)%yv45r>`-_~7N=x%rz05M-p?;&?6_Al!U8_UoAD$~_tWxTn?{t~+*D zm88<&_rk}x(~{;~fu_MbuGaC5>Qe{}w34`C0xt`W*yt=W6k_g!mxc~1T1F~B{t%|h z?X~<9Ye$Ap3H%UI4{fx0eA#^A><;GG@a;mVLlQ22^&J)KOJQ#UBSQIBt@N7P>x3g2 z0o1<2!3LGtC09MVOc}+lsqhHubTkv;!RdDa!q!~_oI^jCsZ6csYm1y-8u)cCy6thOel8oA#DlSO zft}cw?yVig`SWjv8hCch!Gl$^uaSHY%W|Y5`ri8{(@;vITj#5skxFBO`tk{;=i1;P z%b5*+mMXRnt6zi%nA5cRstW2Kus&hX+zejWF6wDXYCOxZDD+_~JnJD_NLJu9Jo+dL zFu91#Yr++yNVQLVYwGiuUEfv(Tv(xFD>b2lmy#0JD%o4|Yg1>!9X#4o zJ`0!K!%00*3BTpB(Pn47^SL)KLtAV!ea0mZuKKI=@2)G{6#avn#>uHM*?*@{s=sy+ ztU3^t<5J8OOx91*h%U z?=Ymsl)gJne9XCVP2*+WB>|J#3%dIrVr0US!oR**DfuJ-^9rVZ6c@XkFe;r6igYg~ zSQLGn%0v#$9LLc_a|x%6#3(LRrHlu;T-ade{Bp5ndh)v2Xbyhqn}>gWkx3=*8`bqj;3RqD`?MrdA&dkS0o zL42jk3lEvg{%=>SAi⁣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 b){~QL`R(FJ8gE7A@x6xkO!dli9=-T~YLB?w literal 0 HcmV?d00001 diff --git a/bitext/static/screenshots/about/rail-export.png b/bitext/static/screenshots/about/rail-export.png new file mode 100644 index 0000000000000000000000000000000000000000..33691242dad7c71c0104cf4d6346c23c0a06c720 GIT binary patch literal 44577 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 Au>b%7 literal 0 HcmV?d00001 diff --git a/bitext/static/screenshots/about/rail-style.png b/bitext/static/screenshots/about/rail-style.png new file mode 100644 index 0000000000000000000000000000000000000000..c76ce689ae82554674e423adfdb448d12f0c0e93 GIT binary patch literal 79791 zcmd42WmH_5`qVJ2p&ARQzSS93+}<43a$kSS`_Y1VTHR} z!QJn_Pxps=?-}Ead;6U3FAP|ethM)Ab3XGopB?^5Sr+Fx*>eyGgd_J+S`7qx^alib zqVx0-FhVS_77PO6gXE;&Yj|etEn?~r%A)riqeUBGJeJ1rIfP0_K|Kh3Vn#{${JCu+ zSkf%LO_kV3zvMDrQ2FdZFTa0}aK+z7k?XW(1i&BtlzC|1q~h5dTrzy=ez2H2tD6Zi zj>Yd-9MlEA%RHtE`1vUuga!g>&`SWnPd>#5fh71IJqCuO{yPk3f{qr#!kS#U;r+sl zYAMZ$ze{yyhX%FQBiFAQ&wi!~7BT$6`UZ-7pZn0pU|e~rG@xa%J4gQkuk15zz=MJG zdJn{LaF#Uv2&NT3M!A3>+gIz`p7k%0rE20k1Lv4jn_FJ@+{ugf$I;SAOCB8vx@aT( zPY7$@MZw~J-!FL0Yv%OV|0qUu+u*I|4x>wdMjqYrh{pLR8 zXf(t|u#GfO+_#~U51|5!^aST-B+pi4ryK=IlP)rRpx-DJb|2VXg|J$3&z>)f6M2bx zj&GlpFVDeG`{g*P;H{ytM;P%CNMp*4Mo0JUg8`RX;qzYMd-{XAC+_Ty$zClY#tp9Z zW_P)tbKm#DCWb09RJ`KEp4pcVJ*kaC#Zw{#y1%`j$?>o zPmk_Q>H)^eDe5DvWtH*hfikl|e|F3wW$P#-N2!l39M89sO3)vv_4z9BvEUO+<8oId zBVYeJT{4X$=q`0U^DV#mbg=rU=@XT{l$T!9Ojqyq+CzuN{?^4l#c8D`Ab5!%fA6bU ze0a_lURdI_*fTgD^(VT#Tl6Gd_r<0hRtEJf;S0ZQZ%Ga5f&H*EoVc7(tC*+cyt?zX zp1N$Zr{E&lr@S>|n(VwW4qc(rh$Fd==@r%*u<@QX7T&k!kp|&Gjo0A ziWQQXdavM+eyLA1#b2l*n}qclo*+)3)bS}7Wkofb9Vpx07^)^R{3Dvt3C_BGzY+%w zfqo{avFo3xcqUFGJZ!wU7M(d^A`aCeWu$zi?m2U>xhF&i3@O{>G=LJZW<+Q?Eag_m zKW*E+{mwuAI7}oK-`fl|#^>We{&uOM8_B!rUhYwf*qv;1%N)P=ccnYq8|&Vb9M5W~ z7_(Rn*ugvX+^g8{_g|p=g`M8WzbD*!Rx;ae9L4P!nNrrWX{f}u9dY67^9f7)zW2R} z-I_I$k?sIy>N^opVB*Fk*pw<>@4gi$eCT&Z1OKcr(bhtJsKA!0+kUPeJj9@OP=4<3 zXxLg^(z^%Gv$eP~Q+Rj3HW}klh^i|zbXhsRQf|76{f$Arq~{{k_jN5ila|fD_6u*p z+0~SmlY}l3#WJJM{}I$iWJK{JlHdhq7gOxB4?vT zYp4!>D!B*SI)~+{t7C1uo?8qsYAyy!$oWzuF(g$_TAmZiyb1hVy8v3tE0y<SyJ z1wTZb!?B;yDjL|n-JQ$z)|EY`8QEMoFx*vtP|V|m7}YE}eS$o%W|}EfOUE7bOFC#` zV(ZP+Z$Rbumf=tY;+4mhmxoV7uU~27R#dk4L%f)9XR&KpZr~FkEiO}vozvyzu@6&0Lsn@N?d8$z}2M1I8Kv~AYt z;AY863(-tP`bQ20hAt-8j|8TDUm@jT!G8L!3F5M+5r&vic4_z8R!H4h`+zd!ow2rO zAMf8-`cP<^c5zl(<-WY@*5uY)hExgIs>-NrDtjWat?|14{*}<%OGT8vfLp~vp}xiJ zWc|=?spA}?*l^q1u*Hd#soGMj!+!4N>7=n2mq@9&m;AGqtIypn#M(YWt^9p?H7{SN z*$SOg?!Ts^BQ|I~OmrtLGP7uy?h*GUEo!n@6uYRDl|nZc6RQt}i;ZP5j7Y~x4I_E?~~dgWRf`tA%{`|FzwC}GM4S#^`xUgCYIoxcCC_ulv=3Pl=Qe6_aw zXMfikYeJ!tFRMMddW9%&EEVy%-U8>BmhtMQv#Nn48(L#UF>qwe%gxAxI^?_X|013H z@vwjFmF-;4?j%DQ6g#8@OLJ$wj%WHEt;df=o2FJqYIW1018ki(nyaApG0fQ2^P@EabAj0l7ms__WJ#VNIJ=up8(_O z&fJuREl~}@6)_qe@yop2a~3{+k>w?V(w>m6*Y~%^^AiGZm20hBY3YSek=*6@g{;L@KFs zLhp2+A}0Fq!?|CCpWwey`r#cbrenIQGeKL1XKJE7@mDPn@R2V#6If zl{Sj(=!XwYpRF^S=j7&o7*97FGP<)T4bp}^M&$Ji+>+cs3(cCTE{&M~U5fkY69b*| zuo{BFmU=UBNvXqEOYhr~DjHRuXYTAWTD?7G_`N1JG_6n#wzp>%v z=X`GV2CLzS8_Plm9^?E1oS0|^tLS<&D5iOQ^9J|SgW6|v%HAK=7vCrXKZ2iO$;zfr zB+X7N^(k9d#y@I(WSVA~1;_W9W_#zyB<$16R4IjlF)L2Yp4m^NB%X6B>d$;S+4&5O zc-mgfi=*=*rNu{Un@h3UT`9Ysz|Hymf*>ab8rk@xXSSvDozYu4E06p_%)VU}gs6XC zj0kD+G7|MQWw2+0u?%v2b+z7$fmQQTSv0LM+bn1w>!z2<&*k*sLZ!)}L+eTMSpiEc zKPGSnOV-o9F}YIK!2GXuK_MCfF{+z9DxQi@#aa$+Zti#^O%n~qdMMd5*}U?H%YQUE zp9MJY-eq-B?e{Cl!--4u*Xni-xheju02j?r#So-clt8y?qV!hCWvUgv1`cInx<=+wr6o{j*Iw+RVJXoM&$ogD9W9 z^W@+@&mvojyE(6*=BZd(Eb$Cc;xiP|^tTx<@LG(3);7d<^-&bl)MIF)f`#M?E>TqX%3De^e zqF1xCf=sJ_Rhp>an8zXimNolcAa$$7do*oP;6U6L+Jz|)ec$}$_WTUucPr$kP)zm7 zpElh#aQITX*Cd%<~T}Cc>SP1srD|91&?UvxVpVJp05dmbT*F-hKR8PxR>s z4zEZGF%9$N3NS^hm-F`YzLsTWLL6KaP-!?N3l!e`uniH#@tsZu6}$7_dGtINBhA0~ zb`Qw&G4mpz3d%b}`)^`DxSbYHxU%k6-o5|eWejy4dn3AKppUopX)~^0fXcqoVpvKi z>=26IdA6*R*S|}u)jw28T-C%Vv7T1q68NoiX-BW*%Z51Rd@k2HDSw-OYAsf#8N`0R znjWR5693YE?k&sB5!ZaRbZF)I*zJ_5-xNg1`_crGY(07diP=>{EUqJ_C$@F^$VgKX zzh<53CvqXaGH0?7=p?&&nz<)hFY+3_HPNbsOv zNRF6oSC4GcoL6BROiAc2dKo>HS*UU2>`OcKOFAv%ZH%>@%_ZrXcV{lCCA*Hd2KhUO zPYpb&_a|d%yB^+_lLq>YQwKs{SO4q?8Vwy{*i}aPqQ0+-FDzzYIJ3}BA$t37m;4@{ znrOp%N{X#?RYFDd2HzfkgS1m9)VMgg(2Fh0y+lD|4BAL`sjXI3y9-Ts_M5T|#04jW zPn3&2?+lv=xCWaQDnHiUJyH9u2ymV67Tx@sMVaaT{4HdbhxIpod%;P;A`@y}vCdtBm34LGVI# zJ2rm+F$nFEgw|>4lvVgXa% z%lUu2_P=&9|0&n6kl-ORWu}o_z!CFF@axyFg=Xf7+&MLx^JU#HPMZ8wSbV%2_4QJ$ zbU6eCujg>63-;7zMyq1|LY}Lta(noqEdCA+%`Fbf%x+PW_&)dtu@gG~c5!oppCn3k zcAy7JTKt`Z=XzGr*@&m)++I>IK#9K&bB%O#v=+B09Oudm3@BoNKxvnV$6@{2jt4U? zpZxz8<>!+)aINY!s^2EtYE&Er`8~{n?Zy!g%t%hkv=^SFIo-~akI5n?W-@wci(`xl0@=f-L2Ap+|=u-#r!{9>{wkt7l0l<#t7X3Ct5gC8^_^PJJRs*+>}hR4-A%Su$Cpn zPz=*O&Jgi?j~fm9E?Y%+a=N(}XxQd{+A}z@@@f`2vRBXy!8w?0_t;FEWMduXG_DgA zrhWwqc=*(YYhpLkdYg1|T*(w{SDOgx=fpV~E7Q*N5G5hX*)4?Raou0d07{wuArOdW7rAuCaI|Z>Q^H6y#NZa&>hrY!;KC zL_0X&7*XYadNA*SI-9q*EC0cxc>Wk95r4uZVbJ_j%<8vX-W;7QF12tT;Z6Y#^@Pv6 zu&?VY7wp~L46S!+q5|4hIRk|YU=5Kde@{vA&pGd$ZdN<-K5+<8m&4je%xW7^z9+k+T69i@M1UYYT}+qu9(_B(q}&{BJPy;cw*31MjhGJUFC zi@TRv@h8{)P-BjAG%g&{(0a&uwaSw8HBfk zOs>C<{Rza3lN3c=Hmn@IM};EUxta!k`6N%lA4je+4I@sPY#r|N`KZr3@oyrPk<3yz z=~E?~C#!+FDd~0g*JEcYOH_R29@o_jiBW%PO0;fPCQ0T;ZiM5CTc4#1JoKM3W%|IbaWnjVz0$Z zfy-HT0>R8x>*kSv59YSIp!8pTE7zT4H(|Z-E2-Kb(O6q*d$GC3>Y=JvbH3(q zOY}iDDMwLJUQJ6E-yYj;Lq46l5%aX&mPFHtAZTRn!7E4!8_cIXaE&D^r8+P^q;ReV1 z&9sW@R+~lshk)gaiuA2^9+|nz<7TCn^~>hEMC42y>in`q$mJlS8vfmk_BMPi#KIq0 zGQJ7>8#m!bJY)d>En#k1jhPD^nOoc}e3dn|8C9*e-Q7cKl5)E^YPt3xsc7*OXr}!P z3X^XCWlZ93{rSPDkumtNQw3@I`y)RHM3w+i&=s&ZklhG@V#f5JeCuRFN@W$cv=G(T z)x~Wt6b%`uaeDuVh>kNP47_pIyby90@q0?sxhEqkIQ83W-YCwSAgV?M2VZR(m%|() z;eH^XTJ!Md@R5{CKS5Yy+80zPXM=4xmKm84g8NHjVSgcwhi7=u}tX^Pl*G+T|X))f} z)=q45Uz<{&_QbdLqZJiuAe#Nue$Y;=1^b5Ad3e6y`$iB~tzG$s&A825{eIUG;rA(< z%0{b9=X?bR`p*V_SkA(#re4kSkkzi#VeG6PJejsh?2n=r{nE9poq+KwUrKgdTbFr7 zRU?|v{QA3di*ssVx!3X$OB~M0t$y3GdfDvkTmlO+CxMsUII|y*|F_C?8&s&VrODj0 z1xOm$8I^~1cWNdYQB<$}-JPOT z&y-6Y%W~j+`1=4HVCUs_Y@n0*D`2&L6xjFwWerUwrW2Wl`pd@w-!13xxF1RU)u>Rj zK4u?9|EJ^HUqtm3gfU$s7K0YsFl2c0a+pf=zoPvLlZ?{afZoi^%$;nafnaIM%fZKs zI+naea-N@@C0)UQ&0(m5CU(??#4xhG&icApXSJbnfe zoV0?aboMG+%xtaez-CK6y%0#owbygqpPB3EFj&XBmRsM93l2HAsn8KoSeEH#VdSxy zoswtqOd8QFOI1<&X_UBQ$>RkJg`$Hq{=^3bg&0EpPqR_7jDA-#i>o9&Y zQo|+^2q7KaPe+4D;%nP0W}jI{T51b;>T}TSDGlApIK&d$$IR4RqZV|6Aw>fFGW!#g zo4c>xoiP-zOIl{b6@>nW_YHXCjGrSNF6r!C4VD-&G;Uuj8bU!`4x6x&kv)b!c<`k# zK?ImFz$%97sd+*QvleH}-Ffm+Kk;eHEt&*BDLHuyu~UV1QBOJqPp`puDaeUFVL$z0 z3F>-Hh9=^3CP9-Y8Qp_qP3e==Fh2=)A?5AruVA;GsAk?XeMyw&dT+NNE^M~CswSVz z=f-JAmkssj6MOqwu#>aTnw*{ehhAM>sZRGmPHZ2vCEQ9Qvr6>eS%69}o_VKg=FsW?H}eV?>%``pLjkZAc%L$3t4I*{_Q*Yg*mDobh?B4{0CiN!IOz^o z-#p{<*jwTP&&|$ZZ$H3O;sOT;2hUXc&VCt~a2GocZw!+8-;TFNCPP?M`qq!vK`#g? z=6sIQjT(H-n>~Ap7mgC>-v&N+|2+ zJ#xxkqFzai5$jXWKb1M(paz$vGCJMfcWJo%C2+p|w|llk>zq~I)D!=O;M%5)v2Xgh zTS|lP!4I;_HZf6=L=$i36K`(jfdykWA{4i0Ugbgam2&j zm``47K`fT4queHUEK>u6bDUqPt#wmocZolQHF}CwY8gfzKxPQpvYHjT;g(3YG(#u_ z_}KR@SzQX5ltaI_xS%d8m4qT%Sc&AqLNV52 zRrEsYCXvHX(&0yR^z}_|HZiJAEs6M{s?=7*E@^u4ZXbvtfhgVhQw8>=%bsA^l z<_1LF;euAl*ZmNWB*?{N(V+#C=oxiZ78Pp}SIugJZhj~+rYOFr5X!@M-&cj>>`tjY$MVBkc5+zq7`9qOOtYvI2B( zmhHz!&nk5OfkbA(K(E15Znn`IrB!g$cl$s-)}CyF+E60DpuSInWeV|?ai%_W)@R<{ zUmm=Ts}Iqf*BS(F2>sEc&sU@>9{bKWux=nK@rcj2x!mxPc}a?2_74nv1i?b`^YgPe zIMtGJ5dtw(LQ(}$)0z(KeIaJS9de>i{u<5) zIkX%i@I-qPbWBHf86D_rzC=ZkIo8l(ys=L_)B_~w#auU=-I4k{%>q`-B9$K9c@oVs zldMf*6K_M6Vtw&*conCpU3vKrb8qGilbb1+1e!$H3p0dYM~$IS?fpj0B~HUzYYp&V z$b{;TI7g`XaYbBp_MfFC_ud24p}&YI9gqAvrNDFtL2u06dL*^E*HSLhUXMRMkNnXv zAg-z{?lZpX3!5R!pp8Y!VrMGXo=i833U(tf$@O42Hv0Km6-okbUINNyoqi7ZAP-37 zTV};zkQ2lz1xW)v)_brQzWg8~d%JX+9EcU7a_&<%U)??x-b#<~TP(D<8ZwlZlk>WT zT7x0FrWO_~M|Zg{B(rqFOkxkrt{az^hYRzw?;I|)}8F3Kfoep|Hj;`wNOkHICIqm44?1C0^zM+vr z2pn}TbTB9s7=<0TkG^kceJO3kyy~#3CGD}MCn^2-vg2x4@s`$Y`?pP^JQm^ChQlRc z|C4e^c6(-p{pJOSMF_s9e`d=%Ll!EoAOA_UOqNFN_Gfz=n_72^{2#a{IbivX@Z4^- zaVc|YIAwOL9Ntd^^z}795UFIjJ+AR3mS}-MTsrv%yor)@zvwwW?idz0hULg6eJ6Rl zz*#Y@mLW!(4s*o-{o9dq)}W)UuzLR_xQ|*eOX!8ig@!=@*hc5e{NHA+#R+{UMy5!6 z{S#+30gy!hQ+&^6AUdinVI_^`=s0D@#T6S)x4JL>xI8p!Vqfjh)rvt2AjZ%(q0v8B zQ1-P_92u3WO3iMjPP#*BoAf7tcnbQ16$q#(Z96+SkfzEsc*`_H^eE8&#|3LUam2ffg zFIoQI(+K%Lv1De#h%fH~fr6hhZhA zdtvS>Cjdj>Vn3Jr_|f%u1IM00v8!Cn-X6&-$~CuBcZpA7>@7s@tcLK;IXF*$T3=t^ zw8Itbdr3*9Yu_r}yz>!JNO?JXMB^*|Nl~QuA?gnllY5?iP6Mj0U!)5EenD2 zdhpiqQ5QfzJoW^c+dY8d8@qwniDRJz)z4R|<+%_Ike0>sVH1eH2ajFy$}eO;PMJ1K zwuz6O!QFtde=-IpX3Ma+uY$Q$G=dJ@%xsPIRln<(@mc_Br)Eb*ha2AY&P66Wk~k!6 z=RA~U?o5=^0R?vb9WK6;({cMl)A7Wtg09#uG5%ZdG2Ak0w`~ks0Z5Y-bwH4`-?uS# z3RGs@wI#>cXu|Oh<~6ehBPsgk8)8KXHaU%2zFyz#O8ID4XaFg-{qANuDxLI}V|9&y z2-U{V!qViQY4b0B@E;f%Kya+>MDFehnK&|$jVWnqHyDqz1i|N(koE=ttE*H1y%M>3 zOdbLt0i4ltHe@J{)Yc|0+OZZUBPZ>r4fqF-uhTa4e=ondNDp**gCBd_@cWH`?S-0X z0mVx)MjxK_5k+Tb_#xOK<>K!{&E9U6&3f zvL#eiRlNjAlV;nKFr0J`w(a-soUVrx^3hMXvP)@MYi%dZ*QUT1RPXpL&B2{#G!?Ur zQr9-gi!ZBPB;8ek*J$Rc0RR|}Lafg8oJf#{uB;F4=k1QqioEAwXXh~ILqS&X=-ThC zSAhFZN1qo%Aw0fU05(4QUx3YJZ*p_ZE~v#y5`5h3ZBwWSPtx`M(NxlTD)X(lJNIA2 zsRH6b3l6#XVs$lHd8yW^=jUCo4F^uwyv4C+SCJ@bXP2?!p4_1<59p=E25Q{2kIpl6odb9v zP%X>Dqacbk?dM8llUg;|jlPq+E75LQ1~t}s&7|(vj)+xQc#V8cn7&Epz7p9~eXSy8 z{?q5UsGU#@#E^mO>RB*0aXtWAEUpDG>1dcWSUib5v}+LU!rta?qWQEcc$c9qL1Dh& z$gZF+wrK|zi_|C4S?_!{7GA}9ix#QodGlf0>gnsZ@j7f}T=z>!9`+kMdLa^H#I+s$ zN>ul8?bF2E&ViQSz038b;VS}yGQzz*yNSKa!{~ZE*~e6}5Ae~^Dmny$j)zsKAA?q? z&Zp^jjaf*P1Lx3TJFoNMH?w(n${&%D#MW$5b_lmmxP`6!joQb#4*%Nt?X=hh<3`>` zG-`wX4+kVKUYxI|-Dqq1yz1oj#v->Z({5?7oj)mH&#rqT5U-;2u)eR_>7C4_uQp3U z@siPpG1qJY1L*Rd=-y*Io$lDST4^|3Q2%H3OULIv&Pv(ymsAIffdXQY|qhE%?=*!kf;Tz*azb zLFo&RzQxV_^c?605M2vj{QmpzEa099E`$$k>0N~!-?7n}0Y67uNw@vxqp{)i) z&Ho=NcM_G}03-^sBrsa8QAMeiH9dw=!@=Gxc+Y9_Vo%t6So|oCa#w>_K!BjcxJ(Qa zH`{w5`lQ5Gpw;3p&~J0tFO{6M>K|{|8ZXPMP}(tw@bUjbny9Ft=JP~Bwq zTj=`_O3HbDbvT=rW6~>gruLQSxVX`>X~$$0mUj0q;}dYTMT)RiKP&~TQ(9CD8*xSdE z>yRa}wv)IV@F@cGI# zUjr=Z?T~qgaQwQs-RbdCOcvF_xs5gsHZBhCGu{OUb90Rf=cYD@tKDL2++FEVt69m* zZd*;r`X)6Y8Bx|siL-@>Z2J_%2I)*%&-9v6>^dT(=iC;a6)56`CHP@{j7Fb?oIIIb zb#DYP$KzZ(?yPTp8u;uMYNN?IGd~*?60$37D7`Z_%|Dnvb-0*EiKT}Qddt}!`Ud;| zh4aeHDfSdaL_{C|6n+v~_`0aE`CTF>GVU6etSJG{F(H&}A^=c$7=#T`fP3Kov`b)k#+IHMfV;iljrSgdL~#Dab?dB_(9xE?+=j(xJy*|~u*nw}4MZba$Vo|` z4PrgV#d(e!7cBn@{v0GpA?7ZBU#`(s4u#q$y}G+YhdKh5$DdiXc08aD~pbYE709@Q|U&FDV zt!LsCGs>qru}|bM`+yTCE-D(~ez>4)u0M3~D3&)37r&aR#ssPdH=FsjWP5*AV7+$Z zd>gk`#AVRN2qMJKoU7A#zRPdle^<`qX<}~vdYCkU!_UXNfMPgBid<%0$z zfqIpcG;4pRPodt5s!Gi}JAEOr)NA9NdV8{cz>j)99%2tk}`4_6;7l z;)3J;2>A7xoULrNd!bCbqBuJbAD_f`{Pv=bydlBZajCgN@s?G)FhAamwv#wKGE&@o z^~{aSF;iK)Ip1n=ZZhFO7Zfv|t4lAepN{z=F8zLq?|yJ4LXkXY4ajJ^=Ylbs?<+N z8X9WYjO#U`Y!ZJ+qou^*e9?XX9RFuQaPSHQNM~5dch{(LjL}iCFt(mC%#7JD{%`;F8ZTpY~Q&)B3uEj~4E3$b7L!O-9F_~6^sM+1F0?}yM zi9if1W`_ITEEDxg;sSZeu-doo&h0uk6)64R z0*hN6QHrpmj-#ZD({cWa`Pw_EHt_$-&tE&%(e~o$IN?t zMjXh$XAH+ysnBbX$;Sa>?@aUd`yu=f$Bq3B3u~Wn4k;tY)1v=5B=Km#Q)h1%(O0PP z^MBBX)sBZzwp_AV(E_JV`@3Yek>Ni~nMK5J&fJ!btzcseXlQ$d~ zv~ask$?TJ9iu*gZQq&PzPk-?}UmH#z`;HYrG42|m(_r1=Yd*83+PYQlSj1v+&2fL* zk^M9NCkOk$`Ku=v`&FO&o;zl@Bv;-EkMhvcs^(`El8~q8do*iQ>NsqMh)dUV-1`;W zZL7_A{T+Z{6L(&JUe%c`2C{VJe613K{Si#U{Uy*Pvs}uxIJv!D2=0f=Xxa+gSBR8l zi(S9-Gu~!J5887`z)Tysfqx*yO;}Nwtw=!{wL^5+#+n5z!4K9i1c)v2?4;TrPC6Bm zA&9d!4$!&=S~~jZZ=(uQgfCrt_qo2JTeB3CN|unz%1Ish$_gGk2M76NnT2h9Gtfse z2K&_!4U+YVh1&`^)Nc#@Qn;N`BASx)=pMlgOSBb;td$sP zmFpa6dCka3DeClrNT}XEM+NV>3vUgYU$aX3eLN^u9SD&p`O>&*TVTM>lwk5h!aX#a zMEH8|x<7;*`7u;27IAYEwe|rA2m5)PQp{fJC&rILM9yCpR|`fVIIJtWiXuv1KYjrU z9`=lOPZ_c5^0iIs*C3HBY@8GPHm7l`(+kli2D7#v2!^4A`P70kj7cNq9nytC z6u5ECT2ZAI3dwKy`P;s3?+jys@c^Z*e~ zLX#xAp9Oo4BTB|e*pj&72j_=gxp~-*SN8#YeI3@VpBGv&8!H6P)$iqxX<1V=**xpK zSO{kK#Tg%@r03FHF=H}F1di9R`OqJI2SV3AKzlw!`xv(; zCHRBt3{qd-q%kPuTg5eDC2<U^u76e()(gvXf+S%sgn`)m`W-Y z_eEw*5~@x)^(CNGj%n$cU}m}?STHbKAmUFyxqM-*?bdL>^9#^2ZfWj20(Kc9!m4Q` zqA{y7z0nkOV-7c$H;o>mYvuVO=ij5Y9o`O`y3(Uw-8NHTVlf%C??&A9> z6P2HK2P`dS8?<{*MgVb?W~>tSPl8p@aA3!qzwbmm$HwJ0xOyppOSmWZVGTiXe={<{ zmyaI!9Uw0+C|+6u$re1N-5p8P_sL}d_V@6Ik74`$kB-Ui>q`uAi*2!1Fk%Dt+C;}Vy50Ys*8<+S_)AdrU%*lj|KU8r8Mmz)@Vlrs4F?B84L5Ns zvh={85mfC%s6zitvKtQfdVY1rC{1N?(0a;0#J)T9A2d4aX}^x{=k=FscwOipF?1m8 zs)%d#)^YB)#sPCe7^${3BLK4rr)u`<(W z4O8XTrXPRgEWxIhoBI-%QvTgnn(d4I^;rBD1oX~D>f<gGn{c>9|H1Z=M@{cn`2xC zJ4l3;TTUeGXG}s18cR=4Zh5FGlBb7gLvl^6qr)_rBXYh~H;eo!2(O^)_3K3_7xi%{ zG`J*OCNx3|YD@O2nlLSYAGETY?RymT5te@cWciwr_d@fK5Yi$SWkb@x^fX8FnQXMQ z-*rJ)G!ZC^hL*)072HUvZNFsgF!eiVgld22+ebkUhU;wld`yW~f^7|l(kH>YERun0 zYNpBT;WtN8W9YF;EThj}jMw+Fi!;=EDB8Z2$X{rVcfOAR;^k%~1EMvr>4MRJx^kvK z0Rxnno177A_(Ia`Eh)`ipc-!WOOW%**0uS=XB>;LuJNM0_UjKISR9P>mOy#&m0oT) zD9(3M!QJgSsEH;f$99QKD0+3O!i@E8tczS<6*<>)j!~n4uqXl#6h?qS3wi8I0;XCT z26pz95n4c)t;Srv4z>AmAG`5LddCzGbOJL3E4fO(rg%pKTG!h_W~SvpK`Rv%+*H3L z;xq9j(N`a?WkE1LC5)&073eRBI6>=i%Wsq(he<>3^u6#sqZy2F3IBOdT-RGRn&B@< z&xjaekTZvjf-Su@m&6+ta+t85V3tlb8I0f=*-gZ{L&pD_!)n|p;0@zA$g4+#UICht z2CUZ7+=B6~ln-JmY2%RuRnWZJ44Wr`(-v7#luX?H{prk4^G#VRiJz5uC#Y|g2hg7e1{coc(Uu8GQS&mA|t@O** zyK3(>oPYivnwYs6Ob$x=a^f>L)Kg4FUno&IQD$RjL0c>3E~x`OPXhJ;|5_TEus#;Y z=vH`}s8r;96eW67#Twj71O9K!r|K)Z|9pECAfJS?O>bajdi#OCY{2|)u^tA! z?CrV~lZ<38C{|P`^NYcFV=@1RvZW>WmsnuQs>Xf{xp^1?Mcmaqb*U3$I$k8N+8&iRB|Cc-cdX6PbvI1=HlQsYt#)OB~qtOzg}IxvM z3E+RDWkGw-^4A1t=Sug6b-hNDp!&nuF(x^qLnvA3B_LBVcnhH>=0W`tB&H=VF*Jkf)@?4YttPx{M0AvX3dv?aa9li!H^TEf`q zC^8fDOH@!;`S2Pu(rVTl1WUaWq)aXEv_Ac{w`IFVIA&6ErW;TEA?41Mp6% z^}YKNs5avE>mx3ne|zBKAIso(Ucf8*>&btjo9^HHZ1(Ct+D6f~68%}{e)Ze`ngUWC zFKAV_h!!LmpWgNu_@C`bkw+|G?fc*RoJyMV7Zpj#RiH>paIPTJ92gwn(Flu(7V}t% zU{5##Hprk1h?(Z#8p8lE(e)@fV*0cIUJ}jnPdx(@8X)F?S`r#MI{I5|(!2x&mGEkX zK!|1W^1h39$x)xrS}3lsCTOG;&__$x%cnrONABS2=9G25U+e8=18}XVsn9nY1IEs` z(Gbw5SOzAh_UnsK(y>57e3AvntHwO0p|D3tz_)PU+1uCqt+N;7D0j>oh+$Da;2nWS z67TEXdd1-$_9!8~`#bxK0s>*Y1B283O==xoT{x}6EH5oM;yXPZ-N~O7f)l{5#Tr1I zNEG_!4A3*3fX)?nRje1=*KcPB5h?;+5{>7)ZK*pOdOAdaMZ;)&i5pOYvslTu7dxgl zrQ7vSB`ozszC``_kjyTx(f%@nDlxvFX_b@0!aCjCqar2-pLK2T8Z8NBR=Ua! zH`kR}WQCM`l$RHB+vteW7d!FI_2j;s<11|>bmuSs+B!P%L5yFm4V)NN%ANse|28?aFjE6!KPOEDZ+?7I$g0v*54Ld+U29EqGJ{(XEj0 zo<)FnR0j+}o@oH>OZZMvab+{tav)8mZ*>fnc7xt9TMd+S#6%?u-G~CFjm~2 ztO)$%;t5xL|<5RmR(bT7K+ zK=-xxb?=#ZK6~!DpLsKH{3wW?3)Xp@$Nv}K!(u@9`W5xQ2?-6~oT^Z}s08b{ug;uH z*K+59=;e8EvM5^uCe-+0uy2Vg>0nKsjSM2Ri)5xJh0`z8up7uB!nUU>@}5yR&lcY= z#%+R(;}&ww{>uLoHl;D_%dK(`$I_Yt?fgc^+b&xzi$@}t@*wmxEi5P~n3Mhq1PUuX zIz&W!^xe<4griBy!SxSI$l(U2k)IuH9XiI|;P?bn#u~eG-sDu$tbIs|2N6$2p{Avk zV))U~(UoDKoW>k^_~XatBb>K>X7tJ#iS(@H&q|cTr&1IBPC7rUh<+^HEeU*gb`VDj zP36C8@7_P(?Y*QCWjmK3HlbXC(>f`Wk2abf%yR};Hw(K4Og{D!Y*$IQI)(#_*KKP$ z^&Im8MvQ7<%kX<6yB7!3D0qgN0Xs=Ci+u<^s`dQ68UMNZi5y= z+4WAZZG)D1kdyXk73Ll57Bi^*Y@6chb=2&>i+h9 zTKSTT#}}>@p==)Gp_H1pg)!SXKfkb;SSge`V&~wm< zdFh_+DXFPGdt+xnh@Gi*8ObdYEb;OP4w|}hI>-eo-Fcb4bXtn~0e8mu^<~I1-G}w5 z@t5O~lXKdhe%M#S&C?MOzh`>2)j z=b6jcL9oITFmpIPV{rHU%tn~myCtLYaac1p`@J>qlKq|R4;X$$V}r$KpDuzU7<3pl znR!8I8EA1~gNw9{fhjj64NvVK48IGJMQQwUTh$*gKbGt)jtvZ?dD1wPR1L%khBhX& znWP$vv7z<+hpo%i+ogR3xRinimxCoEHpe>o{HIkY;Ei1V#1}aT{8k~q)vp`9=U&Ux zC?(;V+BLo<&Igb6Ux4j2&49+oxG8L(ponN0BX{@f)C+jCUZvrRkXTv^xNMGU=Z{rB z_W|ik649+mCo$iPuGYQoTa*-Ct2i~NzqOMh?}q4w>5&pzu+o~E7E9D|(8jTh*@=CQ zp?%L3_(wr8+kTS`Bp1AISh@Zz?S%u$-uy0(k-jvXqUvSd$*XEJKFjZV-@cU)y)sMi zz9%w~tsrQ6AdnB%z8T-k?^kpxv9<%a6(sOr!|ucf!xxBmSGOP@%SC;yuV>@piKAWFvI^OCv+SKNbeRFw8J~L;h+&{9~pLqb3p#V>$$*T?6!oprPPoaBvTW-{+TPFo&YxTaK7I+e{ekRZsa|zTrpo2*as;UhC8&*4PgzaGbky|Ct+nT?$fNOVgY7e(3*sV{{@q8bL zZF{t~_AW)+gQ1eN%(*Ad$e$-b>1E&@uzFEa-PBYB(HG(u6nCmlBopED*@^*;DG5HvQoKB$Hs^5Ij#x&CXQ;|vYv1Y#bSjQAD8@RBI;vL+Z z%$n7N=H$QP&QE%LM9|P7>PSv8i2E>dd6d~*;vNJtD=Kqs&Hm4Lva6DB@W|yvF6577xZ~bvy)`{6CMIH z*Oq=QKJ~kSj5i6eo<~X2g`ge%m~LpH7f0_1Ns#&Y%DlSSnGZE9#?(t_PHOtD07<6Y_#M1FyU;ovDVs*f4i`gc%T>rt0T%ea;%4}-VhLZPHGKTE37~!O zC*DmY;}hj~uPa8_&;%cfdsPZxQcHz!%lyDym&5gElyjJ0{ReX!lQZ!tq+`m%k$=HE|-6Z~g$ zD$p7P2(De_BrK&Ti@F#vEV^o-TDZNK&;jewk3ngRx7mS^C@=8yyVfPr12O!CjPj!w z@(bSqi94ADT9^x*}s`orce zJeAok*&ql~GV^weE{z0cdUaNM0r&|>-`NaE4*rF$q#V9A^TC?kUzdXepH}b|&V9{T z@TZTQ90MMTB-&Y>3tFz?*nQ8~aGv4CuTlTp2nd2Hhuo?HKQ;EMAa!C>tkB+w_bZYpv-uxvopXG7%I#<>WhNwIs^r7iFyB9*#qhVWe@y>1vd`Z0 z8J7cz!o+)NDRh5&j&eI&Z4W5Vz`I}0xB)Gl8jVxxy1PV)+c(+#@b9sIeMAC@gATk_A$~lfNt( zo>YXr0yrqJ*aazva*McSVKFQap`3X8oXVYhu`go8e+JArAQ!BiQT334n97?G|OuS`{Nw@YY_ti@sJrn$7^paLaxQ9V)hTydIT}RsEPXAZ%!s<)=mVQ+d}0ik z{F%DRs_+KjmkD`Y_UAD1Zfx2z#j|BQdzs+fC-PbQc_Qd`K_Mw!4(W7zUpjaiUoW@xBfhe}#JhK^2Z9^Io^e&T;BA;>Qbdi@ozH?5GLhDE)= z)cj@TUbL%~VQr#NmPG4Tm?GxL0cp)!iPnIp)=_D0C_CsF3}Uhg#Kb|+;<25hBhF<*X{K7CT64Ux~iqGRLRG=G7hFH zbC`yGk!`pP3=F56cG#3VTLFEi2C=cRB&;WUXIfZU0}t4mfMu$j%JDrr$;(w_qP}~A zgyljZf#l-cHY_(B+ra#2`W;PsGZU6wBsu6sg~?HvBJs{#It@5H)_KRrUq+I1J0nVc z0oV0X8w%QyTBBuiZa$}pLCw1nplPP{vSK4~ocprr-0G(wrC!||+iYpHR3w%A zY_-g|Z3=&xIZ8CRI^I}M<`5ozsZ(V=Wb-4c89s8J?h`B%;iZz^ZQ@(L-hZs zGFNu*Cz~BN&Bo%+kB2(00|OJhuc!FUT4Ws0D4B+b($#j z#)({A3BQFc|5)9F8|njb#e=hX(18D>&wS>h+UCHGbGgQHOmXRwE_|&M?HQO$Aem5f z=Z^G?(~+@y7d%-^X~Y|xm+#HyXD8Wxxc3;7Jnl8bLp6(1nw-~4wjyzjX##KvXh|8g zcA9-Oq1iSTz6Qqwyg*e`!R`OnEF4D>rl47D>RZArIx*{;&o6Q4%B)kTZ{Rcr$APbe zBAItkwLiKhHT*+TaUl^&;?u}o15%PpYIUbUx1!R-XBTlYeqTloMjvdWiJm6pvI5R} zNM%87$&@T*_N3e6s>Bx1I(=Pa^>rHK8v$V{KOQpGx1Bcw)+*9^h`oHFG6Y1xHY&9;FhE?5L!Yk01}RAwx_N?M)$$$0qA4rW3^LipNHc~x1o%GAL@@43E~ zFV9%JIl16dVVjgt-sTa1UXWI>nW=(;HEj3Rt*Z@D z>Y5tMp~2D7mzxa`cQPf+kk@JB`|P!MDoQH`76gb6vLR!LjeQv8O=xJSs=W_a%1VDV zJuUre4LbUb$bZB`h7hs=s!=$xutRfFf!QITi#|+c;ZO3y zUiJ&wL2Te2NeN6Q!R7pX0L`Z>ku)_mwXLmfTi9Ll#!Y^@$Gq?#RFs?Ayk|hQ*laig z6X7w4slgGSd00}GX2A`l{6-6NzVk!4`XtT5t%C!(c?UY>6J0r6Bop*c8YF6&3*dV$ zJm$7Rg9-=04?V6s@9}^gH2sr z*pI=rnY;$&#PKiT$vcLssxdZ5PnYe-{>#d-)g?dmO7}-97ghFoY{oJP<%NVknRvdQ zSu&00AxB<|FCgd7?i2LkWTDq32raNkUpW$k()Tn?R`5yudc{vgrNvJ{%*=Xaho|8> zEwiU#WR2hw@Tp#aV496_n&)m?O8CT9uqeP?l>SM37)R59h?|~Zb#x#gj!+*w=<5Nw z0aW*`$44!fE}a?I3lx}qzs*Kbnz2M(xKi8Ru9y=q&JMzjG9~~Cni6bpW02Q^TiJ=! z_yqqm_0a^ff~WAq!|HI-&vz6b^MC4YZF~56m_@Y<*@RGWa;iu)uzGdu@uKO^>h=5_-p}lEsDj@N=_{ZT5{fEb0jffjtPWR> zN3e)Xs%yeKH|ova%e_eY`@@AVn}6=-Z^MmQ{scRoHJ9lAr3HYH$F~aA?A%TL=f$yW zeK~q1ugS63Yb^VId^)$|l>pDp{Soc1h}-u`9QRlu95iBII6Co#Y1lwmZPv*l4^kFYiuh{Q_DYAD`oX1G%i{e;y|~ zQ->aMr7ABk4|H3wqBd2mEDeQW>`->rKv1YC5xr%drXR0z-pMF47Hon9rV^mg+2c`N zDkvo6v1T&`iwjiQ(Lx}P`EKG}C4<{y!Y!vbjki<CyirXAfW2Azy_XyXp@ zo6G#z-j=Eqf+TTWPs+E>V^~4RYv8pH$Y?BmN1=xPXcpE+U|5r;QcF#C#WBs4sf|>V z3yh78g}tQ_;b<|x5}o#P3z}&rA}5Q(BWH0mH_HcK#YZUm7^&cwtusF+=*4<~oQ~ICDKT%%Ggh+DaUp)jU}*9d%D-Q(y>UrIO6t}t`b;Du zL&WauK$UNu!;x|k`G!p(ou%hZ8l$eQ^&#!x9xZWCNID}c>+8$j3ew^H)1!oN@z&Rr zlMUr6%L)Yv(G>plva*VkQq)ah! z)Fy)}7IBW8cwa$M0&*Qj{x_5NQf1{qLgXPk`|b$F1A!@MEi#fY!kQ{CCMKq4bDFJE z(g}r{or=#WHb^!0pUH;I;rdr~knqow9@)5S^S1WE`8#jer~XQh$d+Of4T?zY_7~ zHD;iUkdSC*qG&{rjfhd$myY~kcq8tF(vsyV1%#J422Fhne`75rZ|qN>n6xDc^3ZR0 zW87S)I{->cf0ij}CW@5R5D~<&NSX*I&Dfe%Y_!sn5y(SJMO^q)?}zNbzpows6+NVb zlg(f}R~?8sBjc_sh`Biiu5aHfO!_>-!At$3Q}H#dBKsFMi+=m+VK=637zzT^x5mIW zo{B5`yH0E^F&d0Lt;fXuN*^d%_oz(h1I|9=ql&S5?=9FIWwiyE0hy(JTM^_UO%Ssp zfORIWz*Qd=*ZN66aE6izf`A2dQtodFidiVuMNC=UA*Y3W*_TgrW#cUdIT89wxG9{k zYb}1OnTMU9S``ALAk~@R-y^QE9C>P?S~O?J7hh0%G=O_ID;wQEudMQkpEY83e258a zvu|H@xH?TIp1-cG+Q$inid4JC7JBqct{d=8%wv~?6N?$9L)MG@^P=kJ&U&W@%slb5 zx86KUB4(N|^VHveWBlAJQkqhfz;9i7zR4f)#R5g_CX=-_Zw)oAe8N|)hAjo96mA>c zC&jPIU0tmA4iv9A=`WPYaT}dk=clK>eERky=^jesC;$xJ<{xdS<4a^%)dFL&{GtLD z4kz*eE9T1H&8r%#d-}IbjS|HP7I7e6*n-4dY=Z;PV*dN5(XbfU<>nOj;LLioIN&rU z{mF`epa%NUI$F9Y*~quB5C3}t8mp4cwab*u5Q|h0i1~U-HsYUuUhtd^Ryrc zLh<$KUA|(JqRx!zr+;EA|2t8j0-18apiC4^Bg3kz=PMZBjVPG`%7Yf@45sAgOJ8k5 zu5|>LrME|$4YzLHVhv1Fa3?I#ugU_?JBwW=o(*63Gm3YnbK!Gn(`iq%hnlT<&Mz*0 zo|N1FDMSDrhm6nL8*GO_X%NIFI41QgJQuH;PPD<0gayGs0jfVz&e{2=POQkP=y?$s zPR(R-`@x)m*>nlD^F5^nZaUI@MB7y-WL#_WE+1I4A)@6VT*;g6*sxKun zUTMK`&_xNo-0v!?G52i|Ofs>1;#bj2^e!(Gv)keTa?&HxMs zD>Vbv+g&wt)9=H>x$3HhZg~SMT_2e|rfgz8aH$jVXd4N|gMzK@%<^Fw`#mCx@^}_3OPuDTS+; zKq*nb34kVP&2!xr<}=!8DBn38#gB(4YJt$lwmC~kL1Uv6W} z%^gvDG(SJjxsh67hAw6X)S@5l?NfDLc1tyCD&(Wgy$=s*@a^EWv;rrDlVHnuhhH8-CN zPN>acDn3Nz**DYxuV@+8Po<@m&u(`zbl$gOTz!h%!xeI!S4>S%0{^QlXm^%O)vmg9 z(F+N+Oi%Ni3Em;!Spz6e(Dj~bv~?SaC_35@EyOm*UYk(J2dyz7qYVV0Rg!Me$_U53 z#U@KO;5_TT=}-R{bP?LyrN>Hi3p|N(7Un?E3iC$rO~@6#>6cwHnn?aWNmN@6STRCbQ(YZqf-HMXFqsXlXxLu+%~Uuo#j4+$9y$I|F$4hqo6gC zuXS(~DC+yf;RAEmK%$%IM^?zW4A_h3=r*0SZUio~>3isMk4Zh05x}kil|P)7DLvvl z(N;aw4Qw&}gh z2Jcp$$!VyH+v0dQJAsIzynIZDOUV{_d>&v7#EHxG&IdJo6!Ge_PsW7wwm6Ye0gQ2c z3kjtPkY5r4dz(|{oF+6O$84Z&YifCB*^RW+1)JU z(ZhUUH>$i8s=i+R*acLRky{hloEu*r;da7cvJq-4HC^eUps5fY2;_wSI?GDqfW`*u zw~Br7$sV2b)5gKl2-$TSy`72MD6^u}xb11Amli|kw5IoO2;av5g}Wx#lg8D7>27bG z_wN_GV7@oCEGEkHWp-s^zJs6-RHQOPR_E2)pP{t8!{M^9LMH)cc z+k7?M&t3#b03SQY@KaJ3P65F;pOd7~ZidKGp-KJgvtc+K=@1XnE1-EX_&n4U+G8>K zNqOluNE1%Ftt654SWH(M=HI12buU}&bz|lIgtkLjT2bXuC--h+P*F}U`NV0hoR!1e zB$+~ToTX(^0s@l(Pw*7i9atx@)!$dn;i8Cf0)K_ewiBt2%p*%*iQ5$PK!ss~zcudC zF=BUCJm`{-dAOPh^(62o#-oB*B>sI^^iTNxAq7Ko;2%^j2fn;+10z`e=K9cx0UP3f zxkIXYTXxq}Qu4>v7opqge`x`Fg08P;T=#M{U%h(e{2~s970;xO*PCwF7zktI4uHbg zMx=bd=wt=J*sea-u^|<1VMfyfQU(@3e;o;vMv23M_QAT2mJS#h8KeSa!ge0xr&8UG zk#u|y%c(j!T4sYUFLbw_O`X0J@|x&XAv!U&gH}*Oy_+A8_`MvPoyzLj`D$`UO7w`M`?|Z)K70BMj-Q8W(Z`nr1M(118@sY7I5dcF{Z86ilUQjYl z!uY6?g!)u~GLqt|^5Uwh&bl$tAvIO~V>+oR7Thuxo;MdVgc}4a zEl)c7XJm1|snI@qWHV7}*b;)zp?DL=3y+3%is&i+XUthS#O^MY!0v1N57-3av0M+R z09C`R_k6YcIZaj;H83p0LPJk32UJFiUq)wjZku17&6~ZV_@Dt{yXirOIUU(R8BbLy zlZ|3D5Om;V)(xs2CPV!>XRcd>4+w~9&s#AdRa-K2lI@Rfhl7ES&++&d=C%@;_zdTM zCNHaG5U1eZXYvN1!;iOo@hAyOipsFT04bVqnGpB6?;+)*{_4quSldvYVvV(kLF{YQZs}b0ChI#|TVx#latywn(&{^SS@H z51{M+gqxcHnA|z>@xLH6C{(!jELUIl>-yWXZd{Lk!Qz1dH&ztU{U-80SPLNd# zN{pO6hh}uz_2?27t`GCKguTKkIF*59Kyh)(Z961y@gY0hzJdfY=vc~ARrc#vc;A+M zoLz*E_0mR0QIRdWzfDDDrT6keq}Sm#8&_xd(>Q1R2ZE8Pm0d8|T7e|N(WKkIM>`hn zDt)Mjbwy$-7G&&Mg?>}XQct{SV9*#?H>K)W(cA?ToMMf75>o1&2cnkhB{?3e{_yEx z!%`*_b=_Erb~5jstaB24LPaGYpbf!mnQY05ij6Hu)mcR@GHI6RXUY>j$4g2HQDvp( zP?l_e|Ah}fQGVSftfaZZ4#1Be?7j1{vO}7MGnO5p(3*B=A3a zOhk$@BFyXZJD4%*8u$yog7}C<@;Hq)%b&6BWDqUWec19Q2omJ7y#X&Z<^NlB1Ai-v z00Duyc?WedD-hyP#hx0wKO6b_ylwI)vqT`E8~`K}OdQnJz&wNw=^pr}p`M`9H2L{^ z$ioY;&6EKeCN}O`O-F?LdU)o2M)$Kxbw+RG^l>Jd0TG0?4-yy8msYHmULgAcEe zkT|FhEd7=K|7KZ+DP97Mb01Ha=)fO8Br_(OL5=Rpt3x!?@Tg{ceB`8lq<(Ra9E%?m z2jp#RCePHMCqCaJ!L{bDQrrYoL7erWm`GsV;j9c?bg9shkJsf&q%I*DlIgF#_m~)J z2q77093z)6B|56NfaLWU2I}b1$vHV~00=?4Gp+;X&QY(~m93^=?dC~7i8Qd&%%)d1 zI6@AuI)m8faFHI%-Uk+`YcA5ja^ve$$&Md{OxmB#s^A>uCR&^f46B35SiG-KBqb$@ z*_QMhq=^z+dO)`2-u?RwfnYy)S-;OV7Rd+3$W&g-q;AVT6=8^-=ggg(*a_SHpI$5d z#ytVMCqA%0M@a8uTF=J@LIP4IzxbhjO1X!<(h+2$ELc3l8tP1%&v?u#*h4?O7jaoS zPiyc6)G0kI!T23!{Q}Q;Y?tzrTNuym2}>al`?a&!MA9cKrooblU(W-LU&_*aNW}AvQd8%^W8=W;H6VYE!GAxlkvO4?aw+guAb~Iw;}!Am=VAJ_}JjQs4VQ`fB4uz z+fcbSOa2|&_knRUGScwF{jBZ&^=#5=p-bCRmwR6j%ij@q?1I8G2e~-$IgLQ`Tsibq{ zI%S5Buv#wWm|b77I_DTvm3ET=9?9!C=@rCsYv-Kd3zl3wlbY%!_MKZ`FQ8uikL;jeQ)R9(;{nM z!DcrJsAm29$}ytUnoSL>%ZjUzjW1DwYwAqJx*W@cZ@P6f*hHKx)+dZ*VBttYt8+v? z>bHTFJf^meJl{NDewT6~l0@T>Z9n7z!6AGPt@JtuaWxFqe4WKslL9gNGr*=QzT94Y==Jnzne~_6k1TxOs6v^7Q*d zdBfdprbQKgj`~+inn*<{gFR3;#}X8T=UM>_Cp;n0auuA$Vl{k}q2b{!PU9A*7l9Nq z-b8u;!(5FA0fPLQujylOheEACbBn_ktnj1&) zfixW|OnH}Dp2V21W-9m4lPUIb-d4IU@X)G&sYmIHr6QsN%67h*+B==N8QMG!{B(JD zVuJkp^C^&Y0}Q)60n}U@&8qgYf{lx^hzQ|)ny`P^(9g!Edw75ewm*hNZ99*ct9%oA z$2QeG={v~Z#4g`IHCVJ}14wVl+Xqy|Q?<1HcgzGQ2GO|r9&zyiXvm-Z z|JM9+hJY@k7jxY7AktJp_=E-Zoj7m+On!F(GKyYg7Lu{Xvk`scx+x|+Riy;CUfI$6F*bb~ zGqkbUN8B!_m6w$zgg8pN3RT(+yN^u214W?d#r-1OlH#ASXir2$9`3b+M0uL9T_`ps zlZNg2tNDAT*ituAG`*a;3J(X{B~$(ln-InFGf+X(Pyg7EU z4NMl;QwjbX_$*NFoxBxw(f$Yo`=`-lq_jPgcDtbi{2=f}Dy%fO2S;>kEYE;kg>8M~ z28P=TKcZs{3vGbT4BqqepM?U`)|B$Or1L)KoJncFC3G>`6TQn}(pJf}Pl#@8m3#rn z0srMn=)kEJ(!_YP-4>9*t~Aw3ma!WsMJ(YYAPqD>w=b8O%O0vY@thGD@TKEGY%S5< zgYQIGi9Y<~b4}UcJGb1TJ~?)6Z*(9KeLbD2G9psK@Qwtm($FiUL~9k|x?a$$X;SZJ zI!n4o%+lZ~TqPXyjvVCN;u;!753Co3B=Rk-QpOKBT<1Hid2G~kC1Iz)EvP+f}rqivW^m#`o|Iz*+@u za&$rWzMGfFKG|ahOWB#>sSH>pZgmG7iFTJS?L2J~^*my^C@J?jnL$`O>}oOJ+*56> z2fTqLhjkM)jF7K1T$o;~xNE!ylw6kQU$A@Ag`ApYpwaUDt(%P%evk;VqxABGcbQ-z zwi_*%FsbTUV1u%r%};2_^Y2xFd(tTqc)5*AV@l_|`V zfIQ(Na;4271HBm_p04?K$>hnF_XXcB&&rSC%! z`hbXYmOJIfTd_guKakfn(R|PqG-T3}#9>+J{sG+0FFdKqH#P;_EaKrEIB~vr5|&pg7~ei1_vSxv+u)RkyuM7^ynO20J?AjP5^n)=j#uN^1(I)T1hyy82I&nshIr7=Y%+CQOU}Eh`a|&7c~uTw81I*VuwRhrTwjF66S8DG%}m8Isu;I=f%E59H3DD+k%f- zXwCK>Zl9c>jUhnym!YNYkZL>Wl6iG(X-uQ%u$-vS;QC}>?3Qg9Hr5pM{3uq3hmP(C zNXoYTpq<3I86Qcr{2E~O#-T43hN=&+#Im+@$N=gK%ae0OU8CAx{;<+t1;O0BpHT^!WqM|A;`Bn-gEQoT zQO~-P1Vj?lZR`2CMfmrNYmc4ZO%HhNsFF6b4}oiq9srmHAFs?4K?xwZijaz{=8mLM zKn?h!Etx682eaEQKuoM+s@b~L4P1L!!!|jp?MFEl^ZrKQcPc;Vtt{xu4>htB6+)P-UnfHOR z)NXbML5iFUazIdXDu7aO*Rl4sjGKAA%}{`~5uIvG2bP_vq+i)v`-*&T%Mv0w^_*fh6Me z%9OlCC^0}|1(Y&fr2rj9{XK5^6BckiuHw!Q&Z+^I!T7A&!L<}HHu?fTGrw=N(aXvM zA2pp6AaSvI#Fc9{ai{wRHa_IV+DP;Bg42|wUK7~{8jN9DgTAo@Z+lBudDRbq%Rtvo z%q{=nu}xlIC#)Ou4vT92#<-nGWY{%Nq`kkzrawyg;AeVRza(-_X_Y&wPM| zzzN*^%AL=rRI&Q>d1jwN_VR^Bv9AQmY^cfWq_gi&{;(Nt2A0*uN>s_+I%4aXfhOVk z(lGE)@w0N#GAKi2H|?JA^176AFm1fj>+j4pdYI~%MODhS(Qh~IoUvzamnQ6U1kZT_ z^}_%DeYb3%dtS=i&}r{M0g^%;PDt{=46#n~=xPo;21^e9WU5f9%pF|= z9Cgvg<3u~?{?ow5|IN9Z|G#fO;931mb@~^Wfy2hx)sa~}s}`hI=h~B!M#FX762NvW z&rBUfZ0|onGsJo{q!lTFQgV9}`(S5TRQV#P5Z@sad5GoYdt3;PX+ibZn8Nkj>A}p{ z241Lrc0t%4VAKs2s7XK`Tiou)YkwC4Yx66#ny{S(AV<@%fA$?dT|oqxsL=o@+cnc+QWuLC^coqu#IH0Pnhuu`Q)hSdnmr}b%Ymm}VOPS6d1n6I`e32iD5P_E zEulB#IdxC|R5SrK*DJCM%B8rSbtZ5hC! z{!Y0va8quaE`RgN@GkPRYVQq0NDwbw9(#ZjQ*cC6$pY{588v>ulJ8dD)FyUt(yDY` zj9Dyj5g;gWic~zP-EvV#Cc2y=QS)?Je|0RNGjh)3j+o#OUSaCuP5D>J1TI!I|Bplq zL|gUS@Ec&WOXobRay(&X`UBoH(HQ`#=)_d6sE&#a%VT82nBVqfK?$8-8qWnituU;$ z*0IeIekgo)$IZi~)=vzei`+bqHVVDv{tHy1iGDCLG+e#^o#GV|p%dX2QhB0cOy_+q zcKB39ie4Em^@f>xMlIuB=x+iFwThNj`mP`FT>1AB?={a3u8MYM>&xMmk7TL_mcw07 zJUsXP^wQl!Y+^GuuL~#x5)qvv(F~Hg!C70cP31ipNo#CoI8U-yDg7>+6mi=or{smO z^_@sAo2|E>qF97pH$O<~`U4;L2ay6HEUS{-QC9p=*sQLrS}&ggL{;ySUY!p0_lqY0 z%EaL?B7ak-N%xu;(Ia{m33I|w*JUm;$V_1vXfU?#{a|0Y-V7zo%9-)Yf{McYnQe2K}aJaV(q_S2O zC_qoAa%`r8-f<_M{rtX%M>`wSNP(L1^ar+s);LO^!zsHi4L@Ed-_(TeI5xAo?GlAc zLQ6G1QBOPX_)3BxP!|DNZQW|eCIA8Lo^U-{=~tG(Ta1M>v~If zy52;WgGyZkn6jR!G%LS)2Aj`-#xC*OUN~#?r%+t-pFL492mOmmTk2 zSW>x({mm={!~pw3PlUrJP7iCwXV)+&`h~D5Yt0{2#q#?Nz0tZk+*W}-61GH9zzQ|@ zIm!n|wE#}1&oyb$hGZC^C)BzC>Cx&%0oZWj-zVWId|7IBkx)fiohIP*^mR1;(+CR~ zTaTS+M%KQ{y%^z;@)>=G)Z`R+v(K0cRjUs;;Z7*=9;f5ZJm|0F>E0G(OFD_izJE#% zPBqp@@95fk51J%RphF(bqtDQvYuj^rsdfR$nRFPBy9HP`UWwIJUp4Wq_E-8Zf$q*= z>O=qZP9wX~Co&#&I6!1XeV64oeehS;WihHdqkwl))cNPxp&p8b+|v}a=b*1Y&Rx(f z@;M_n58Z1vb5Y=To&sy!hY(5#g04o?5Unm)jp7 zGoYeJ)qpcN79YR!h8f$hzUOYZL#Lnxc&j#97Ey^8e`~oqJDb9%W2BN z=et%Y6y>%dmu3Y{srya#;5H2oE_4-O$putVhG6gD>TXU&J5b{HIh{k#oCc{5Nqvjy z&zW;2;M`pek+m)*$}xSRq8uX&BJJ!|NMDg!sz_7)@$_EC&ZRkWWF;vH2;;Wa#uov4 zfRn=Lg`rt8!+3T#j{jLXXQ@kAqBN98mj8KFFT4*gnplQon^i{Il!;D;5{*yejk$EX zRhNvc#pst^N-{x*rC)uq;5@*od>;iLjFTb#T<1`1uT^I{a3QyDixA`8BO|-Z*cv?P zemPHc0z>MZpQ}aAf11TJ6iHGrtZmUD-&VwC&y}32k&no*VGiWjs>mzf^-m!D z;6lY}&{Q^CL*!WKFus4CJi4IYFnax(j_Jd{0Y?p7A;mL|3z31GfXHlht>W>TLvIPJcyj+(--Na4!gTZCWAwql^Q;N;?vcFNYd&J)~*iabargKc4?KA8QW3K zhrtjl5i>~3_i5IHoDX}xUys#N@g;V5Z&?}8cNM6k6fxYBxEI?Vd1`(&N6PDSsa=t; z6h;SBR1e3Cep=ye)ztU}II3w~s zUo)nSSGlzC3~D3YHz9pUApJK)=|?hq+h`sat-5zXLT;|pMJbk4;bhthk!tIq~0E345CjPu|bW?NhT?lW}1-n1go1S)>U z!`6kYPV=%mnPe{{CMO>Nr)G*?>Lz}y*8b3(D>Uu4#sBIh=aa{^61@)rmFV6*vaA`4 z)19qP;3VI`2d5Pgz}Z^oh4&G(t}DM;mIFN`@$|4pZcjihAvT%EG%(Skr=qfe=gq)( zBmTzX2&n`lQ+NWPr17Vj<4W?hHpa%ewiroC*f&8%u9!d{HXj3EEX@VawmYd4^o}FM` zr3xug%)t*hSD7fs%gju*k6WFu7?wK*xn=N}ieFcXpyT7CAsf+GZvm;z zrdBFFN)fnEkY1YWLphkzCa2Ojl|FBsU@o^dtaJ{`MCj@^I!^ukS?L()7|$5zGud>h z42~Y!Y-d?C(+0&v9^Hr=?hc@>-#w;}92NQ}qQqQZbS;uNWx*Q%DMc)BC=m(@$YlM4Xh`(Aiw{NU2pkZoS>o!FxipRm zxw-|?S~v{)m9h@RF_^begP#094<=w3)4~xUAuHs9Sv6N_vy1Wf?j_wNqD6{#R)a8Yt)zkc7x{)QliKd>38d|BlNsUy<_;GJ{qbbE( z8gUDYU_qR?eTyg8WlGVy?lzN>pNzGz*dq+g;NE2NG9wRp@9U1w=%|V44BrW#2iN4_ z;1?;K<>DsYO>!rKZQngV6AF?f>I7w z%(d;2^p!ow>nWVfCK~N*6l$xB`ZG@Rn-KnTtK^yHsZ4R}I~2s$!&nf;wxark((U5k zt)9`=;J0)tzoT0pCzg99Z*JDQ%bmyg5xjr1toXBJnV=UFKs1c}-FGI8qT|4x?yXRe zt4*J(Q-y7?tTHjgk&c1ZH#qXw-ENGK&$F{DX@Y?0D(Jy{?)x(9*V~<)KkSqFeE+yJ zhu?x*R*fA9NWnt0j{=FwL>WL|rKJ<{TcmrQ%5xjy@qcjlRzY#LZMPr^At5*cLV!RN z4-kR{Ya9XuZCr!9(|AL$U;%;$*9IC5?sRZ>Z`|D*8fTvOd;foG&rI#wbF>fk5mi*% zWA}Znb**cywY3rZOst?tfar{OYt;v6#!27c2Iqg}TN?xA#dYg3udEm!4mGt?A-BL^ zv+FRTo|R@kpvlOP4W8=kSpCNrCFBwQfcWHsOza0u{I%3}aT~x3)~0{`5l+20J{I;t z=Tji7`hTr9{erCDr`#>*vPW7MfNq(KeHZTe+g*xnYX0&+MJ z^}dPxKd^r%cs{Sc`;W_O9tY)#2YV(p=Cu>c<6lmEMtyJM0Iru^xLY23(;^)>p&z}R z9i+@`bo?@Zr4qG01~_L!-p0_VZ0-$lp&WouwDxFP`RD>j;@$~*G;rB0GgRhkl8j^* zVq`?Sqsw#UD#tT_OEw6G64-_F6squ=uLS&aQ@{57z!JXb)gV4lkNnM_s5x|y6_EFv zU!lDn2SdRGUO}lVramTN9+{g^UTryFKRt<-&F%8ZxWXBg{Gv<=)3o*;rN&bshxLM5XU(~zXTBnDIls1dJYB*vvo+M|Zk?X! z&589dDUXrH+Q%2C{PPa!&Hww~cS8%%zg!N@4j4k`3smCmzJ5z- zwP+euZS>t#eZi!vdX?n_Qme``DEpuZz2M30mz9D2R_uIX_5M9u3j5PvMvsOU(J{z` zzIDes*#qdpCiIX11LF}mnHx%XJ0z^1z-+KhLD5`_`Sz`mii(Oeq;h@mv=_}X@XgZj z>#4mAITiUU8k)G&0ShauGDhhhMl_Ab@8o1l^L(d=fl`uBnh6I62PelSmSv=uClPK_ zjUTL^C?=s$c#Av_*vpP{=_GY}Vr~bR^nn@Mn#e_tQgyq9$C8pAqw4d+iu#sm<@d}C zy=5iuW4l%*H7~fC5>FlmPfuUytJ^f*ZzWFQE&^iFZhT^Iz4NK2pdn<9ML|hPC*%A~ z7*EY1uVmr6P7_XYxz|K4KcPUQ{$-W9RyxU6>-wxGL7K8E*r`W1>4ePoHq3RPuhj(u z76ODGHhYlVcJfy`Y|5nV*{LN8q+jpNxf&LZ9^^2X#N;oZaf$@1mi(3nIWKYr)&?1@F1plP8QE>kuM|WI&5;`Mi z<)wwpmb^=2^MV(_;L93tzqmkmQ#Dg@W0dwi8ZdM#yhBcwy5@1SP&z0Q-T3`(tZrMk za!nWT++L`aACrXCev+Jd@Cf!C$bucxZ=R|3O%AMMRIiq!5ZWv23iE*I)SgK9>?%m9 z@;TGx<=E>-vz>x{dPYY_)$f~93D8#_^|#l~aB$&|f}O4wV<57ckj8Ug&^ZY?41_+g zvd!!%3rsGPx35)Ex4z4=@Hn%K(3#0@#PB=Qd_h4u{G%3n*b~vzl_&qQCC=vRs(yU7 zHBNgSdi$U^15;{H8THLLU&v~w=EvjFHfo07fPOtbDJe-zV%Bk-Ji-Wz)UTX_h=PIw z2oEyGjIaf~TuX%I>DU=(&~n0CLH4@TsW>ibz}#+h8~qKYpR)4U-hR;;3PfRbdI0^R ztQ=YeODrqPTth7l|EaANpV@X)vXeD7{+S3TPXAy4)_7v3*CK?jreZqNl7Jzg}P;a_{k?owk0tQV{4sd@WQf$@KJ`%u z0b@d&dgGX;ks2F_yT+gWU(=`V-efLoCTgN`Ckj53e%6q78E|K3cgQq|5_$9Lv%~ez ztMBlPVwh%6i@YOub%&^E+Xt5ZJ?3eR--+GO>>IS3@2q&sZS;M^BP^d_g)dn$t({2G zop*rMCOFfhN~WyrIMmCM4kaf3)w)q->N7o!&P^wqqONY0rOA`bbcth=PdMIVq>Fcq zjPM1J_p8>o&Jc)oF-zfRq!SK!jp}z|;`(W)5GSVqi{N}`uiwTR5g zWBZG!cCM|B8Q<@<3Jv6UR~i9WYj6wHIQxm7e?8Z!hfI{dh@s(0a?RnEYifL&fuZ%* z);B4RK3%5{#D1yQ;%Kk7c9MGjH#xhcqiUmUm_H{ihtNH zNIl|f-$S~tER&QL69*T)LZk z_p;~a<|=`O3xq6IC;bhUqs9=g;9oEtb_Z8+)op8RCUWeC2%^Cru67B(emNiSQ1>JP z&voARCEHPN`1O;>v}~4-7ITVMF{0@Ro`YNs8AqDXfX<&6T06sR4QeR8o*wun>wK(N zsP}aCkMpW>&OWQ##2B+u-9`_7K|%j?(Z#weh$R8VFh}XMgyjHC;LOW?X^U4acX1hc z#t#=(J#3^fnh}@7KYK^dDr3XW*FCDFak5*|O|yA2PZzpJF0l~kf)B;P$3IIqjac<5 znVFfpV!4LrW*(~I(|0`-s>(S{u$%Y1_&F(V>1^QT^|tAkHx}allh~G-l2_utcLOIT z^p))bRQ!xnD5_wg<<`?4M{$kH4KRnsO|VnKZy(AoC{Qk~?pw0+Ft@Z^LwHH(^;J8S zme_3ny*=tVog0da^T80ACqZ%LuV{?G3oz+_y+!!#?d?^N+ogbf{3ip_gVJo47cvxv z2&`AJud2t=kggY;v`|{Kh1_O=bAJxoQ)+fo1*$f(OO3pxhA)i#UEvQSVZh6gYknMir!U^9%@U;j0l|B*UwB!w_Y%CluL!+CAa-GkA3JwcU}NJ1EsTeFU^ zB;5jnlY98OWXNjYW|UF~mY^m}SSQNMD;P6H?ZoxPL(Ab}oTcjXji`=M-dgjl{M)pTM+weVM2(U6hI zUi)d)3?z+bhm311n`H!!A?wHUMYa2d6(W;<@Yo7vg`irwS*T7c7|Xj(Gnc%T)^zjP z=Sv`Cvg(J5IsDL3hI6uduUl3L!f}nvG&>0pM2Yl(Kb{;5VG(L~Kfq5Q=)NJhm?e2; zrIcq37_VC)T%BLu*v+;)RF{mhTT1iK+oF=6e=yFh4~rJOHH9uVdY*jcROk*0rihVT zcdE|Jm{JxN)|8gv8ga=Lz*%QH(Ra5r7(;|p)jG5?o-k+VejOpBFM(QpR^{gA%+R$z z%(ijr==gsq0ysMQ~D zyOcZ7VWbk1atAI;N)XAXkfa#pA1M0u(a?1;d6+W)y6e{Wv@oCRAnzt1&NZ_$We-n} z&1+^dQSeL~nQIMr3{)|`7jW4*i4g1}?@#*@1VN^1B~d=`6?qyWePiwXdbK_31ML^a zugh&^QZ#H^`j)}=5@LvaK-vVvwj|w3Q?ru_=`}gruT=57Q_oo-4tU*?2$G^9A7!P( zsRh3e-B#O|`dqY2?7SOh%ty!GmUKo?X5`XQ{*|bEiIX{5yeMa}W7811!POk#?diOy zrmmiC_X0r)Tv*t_5SbOXr(09b3)v{H1W`sQkKw5VZ;Z!}Jp>!7qjYD1jr?qPKIB$f zilSF+l)edqe(LjD(LQohEb2Dvq5*Xf{#ODLlN;=PmrXX5-nCk?VTNC2(LC3A_;G-@hq5_TA?Za zyd~dpMU~}(JzxYiWeYN&DtNlc4J;_4$w@m9oR@h}p;2USik$UqIeXLU0VX|}=H@eK z!Y9W$#WjtB3-73$rTTRQb#x4v;d_Rn_Q`lh7Vy9;S*mB{nChVAvj)nn?w{_I$EEr< zXQS8#+U%%vjb=?y#*OV2#s zB;`dUbEtEUUr!W+t$G*-I@sUAc-96Lo(!a3M}VnsZe9IpcbBZ?W8*S`DDA{+l(_;g zUysAQqtfV453^~WwDeDg_I6jJirO&*VUGHc^((=vge+aS;&-NKyC5Gx;U5F@a5>R( z%FM5+9m<<$0NN=zK4PGNQ(k*4v>S+YhAk90R+bv6$N4@R-LvNi>FHCq(y-@o>J~rKi={sfjkb;D=gLjEfDh-@i26gE`p+eN*QmW*BXZ_f;U7#Wr-&M*@d#Z zZ`Qr=NX-mpNmrtbjy+{{R~mE>i!y?*TuUgAOtG-h))Xmd58yJL`#@`m*D z(!TWM<)?4MKC8ZXN$GuqB7>6`gb=#h-8@W9Wdi#G3mu`mAlg9e6MWzcg;uBn#YvK!|pF zId1Hg%^G4uRMpin7AJ%u{44w&k};Mq>rr`zVA^H_X{CNZb68-V#iAZHni?e5^HocA z=W=JRnKqBquh|HT>FA$xp2<72tb9KEe2 zCXD%0V&~7q0^N$iRWg1ho`r?Qat*IRpb_L~3Q7K7{Rcv+d@|;=nEs-xE6=Jb#c#!* zn`V`TkE`9)R{Ax+L9yA`cy!fQt*z-;HB2r^d9T$B%D5*8Eb20L;dlIJ*V8L2O4b1` zL8c7H_l!f@4k)5zPFQdte5Xz+5_3I>gF`|NR$Kds+jQlms=>V}W&N3Sanb~%o7eG) zoSGUpi!U`Ie=GtyFgQ`D$nDp>INpQ031nlbsJ1%GqIYpNk)%Hwv2s!4rgyN;DR_Fv_qlRSNB$dVEO)Es@!{{cI5)YB%_b-J z&sG2Q9qPQ7X!gAka8F(RW@aQUB7C=K-=S~y`eOoM2_`eZKa&QMAiZE-YJatyF6Wt# znMPtJl^=0KM6-O$l*iR`P7DTaVcL`}IojFDS3<#cH%=5e44b+qSth`M|YBvk7EgQ=8T-brbvsJl`)lXbbQ&OQAajd zFG4@CGbTR!h`ODrx_@+L_=1XTBLPl#;QUL#Au98LyW~#*D@VFr(uy|SyVvD9s2`Z53wj=J6gMbbJSe^_a@W(aj7o(w z#|{hXeHL9@M-DszAYAPJEB*o@lWWHKE4%AAi6%@axaQ7VfwwZ2SNom{wXMqbiJ@Kq z;`@|k7gZ}Hd#)|6IpIWZ=jaZgy)V!m+ZFecc`pWj!YY#dK;cB2Iy3ml2`+FKZts}8 zl0@Dul%M{YvnBoU_9svU$bI>;5&-bLx}CobU&CX3EeJhA4jbN(&Qd0n%*Q0jr*63( z3ay7q6EDKXBdM@xWN~Zs14^_HT)Lw*BiuaHOfwU79A$*QFNvdB3w25(aH&&i*=|PR zx*SM*@{&344*n1Uc(bHf7s1TL7oYyc_u+&K=lVu!mq$I{M1jgmdI2*59l=Xp zdRFqY8{EtbVquh~B;J9X59s(PxAPT!v)ytUW}bXXljyc$PeLO}q~h2Z^U_`Z_>*e) zO@p3@lJ5N9K>g*o661cdGh?ECw$Nr4dl;1>Zv{Eoi@OaPYVV?dUc2FLa7IxqxfO&h z|5?PdahTMHyx=$CD}*p&LP_juxGPV%cM=(`rDB~Tq|l-ur-XfbeX)%@8Q!bNCAO$h z@`qF>*Kd)tqvmUu%fRR39#7@PENGCzCfCcA5xS-s|!OB+K4g0;T7+ z;s2r^Cq>iRNvP}?7VV{SI4ZwJpBvmd=|6tA9AGuCHaN_J|ec{hu3u>-Merykm`6<+#hYI=;oJ2Nr?FuVm#DYtQ(%7xVgX52vCLvod7+ z&D&${i+MyV7Ps{x4^e;QNvxD<7E!E)t`61%?(D00PJ}#G(=tyLHHZVvj>o--RpH;+pB-(P{H!+dMfv zRQbQTfa%O|{#hAPv7awbCd%We^3V1*R@&3ca+mU4AP(i_oY}_HrOZ5&_KuY`6(J$v zo=4MTFiA2?42Qt1rB7u4Y-_jF)J((aK@mVo*mFVjIqdTf%Ivhu>Nv8?$D>9^Jc2F< z{369S01EqKE7kj}qK&86zHkHoRI7Q*@^>I~eSMc55m2(F66kI&|2d5j{UfK9#^<*fk5T(cLlRe?k13qT9p^o_ zP+{tJTP<`u=2p;&Y{3q_6hkXkR~jwfvg~WSIgi&L8Dg)nPU|R5^&agXi-Om5$^bRh@!x(4{4fCyJq*eXJTG^56LBws3ldu-#wkWbY=SC?mIuHSg-j-*oh z5@c$L<#IS)|JM^lc2!lSYb5~PC@w4n>n_0da}>X-RYd+AX#NAOU<^NJ^Icm@OL1xq(uK0|*dO&CXxn04 zOBGl_)8E|zhGkuu+uF?TvdZCWiDO8g6~Cgk32L~x(qsH@F744GGq9PR<~@7g%<-$Z zYRM@nj*gjm7N9!#k_zF4nwr0rb_;5oQ6`U|Ecu4sXwdI-!Hz~3tohh5q~ML}t_1y~ z>qgkr&h9p^YH_i3ddWO-(m0h!UX0_vv z6~}vL_zyPngp?gD-Y5BoJk_sH<=?8><;B?pFiya8)h0_?5&bt<2wzSG`!6pV-o!hF zGhHs4m28#5+Sy=5r-UsqKfhS`zc=HrqFcV`)U zeld5Glr*J1wh?8F&H4OWtHwy`Y%^3rX+h$$3qP}KRP>NsWS7pBUy+agBSS!WNd2g~ zJ>$St*~>>nuO&`ohaO<8?E_TdUXk@ojJ)fs&+fYiF@yWb;L%{_PwS1cWo>1Z!M!r% zfPRRSZAWg}>4+4vI6b2&t(SCu_fDZ;iZ_v9vHXTr@$sAQ7#J4yCK$2haw`4iVnNhbBaw!m&cjQ6r>F$%&MjznS@rpJ6l`FB2;frn|xN!dOQ$U@)ap zc{$vQxAU+p(nZ*dWeqKH?AO5jkMN(N9WNj;6+@BW5fSj`^^1of|oyU?x@xdb)Tpv9|#;Bd9P1p zSwKs=LtQOGW9IoKG-CiN@sQU|MpbTL{S-NcfdRutw|;+l=r0O@F)IVxPuAbqfX{xd zkNq0N1MVaQ@JN;(HMxAoTC9rD{ol3NSVK*%GG=}&-~e7e3?7PXZno_+#jiC~Zj@yX zEw7-%!1&9^@% zPA;xmFUAvOBM5iG#>Z~%cEcuP?co{98KAxEElq;F7F42Genlr$yWGnEOG|TbaG8=+ zRMeempMxKb)ru5T%17MPSN%(_-{79=7v`n05xx}c%9WDr7;aGXZH;y3={(0t+r@#yago8CR0J>m66` zTCz78MRfEfv)a#0>~CF=^k=>z(IE{Dq;1>L~Z=Bi57vq0kUV6T;9KT8K0svA2up(L}R z7BJ7DfSRf*?CyjqZjbS7|9WFS#w^QS6eQmNn=^E0sZmW~*vdqx51@+Sk4Gm)Y!!#9 zJXE_b0@^p(^gTi7nLlTL{WM98$KDG_R11?yUAq(~>(zUhokp~c(T5xMgaE~WGD=wP z=nh)HcA1Hz#VmvAY&j*sM0eiuPQlWh$4WU;PeRU})lS77{4fKcwy*XyXJ&>P^+q1T z`SK(t;Hv)VHe=P8Gq}04Z^&4)GSQD96*mcOVb@KQ*ex z%nrbFC<62bCu&*dcEL7z(aEW3kLA9d!5J_Dh76Ol9{p1t2b(DaC%EqMHh()8=VqH& zAr;IoEL2MECAiAbjHw^zYBn4&B`i&d4MhW_BDS!c9Hh0z|FYWCzrG}OmgnAR|M?Eq zXRj4eJqQa|J64n0dBsbRx9=S_zXyiuxi!uJ;NvaP`wL9lyDoCfGTfj&n*j2@JM?4K ztDDa(<~PBONN@i7^jT<1WhLjS7HBuR+pIXh(2s_+ToJ?ITgFs{6;;V=6*EB8nB}=S zxu*aW(F{QjXPviUQwK*A-1{FwY4T;#&Tqe1F*|XW+4ObR9Drt^OYhacl4_DLk|yp0 z#BQr1$YY6gS_U{B(lg}IS(S~(;j&vA3irTPA6m+v7-5qViA|ESdG(&E!Z%Q$LHoMO*Z8TyK@^9SZNB)c`$Qy~Vdyk3$#Jk{$R4-k#{ zk+-N76{tt0onj5030JKELo=57n?-`dypmj(mA$xM!$$-Bgl5LZfZLI>rT-VkIj!}` zYUvvJV%j`T@=cc3)_0eTQ+9$mKG*2|Rw+Wf4lmTC4!e@E+v~VjS^XVr4O%fq}1Ei|y@ez(S1U zu%(aGS2>$3rrm7sLzZw|l)a;EqKj4#^jfKcOhxTkANaIgsg@YCU8+c1(_(xd`dyBR zjd`o!F$pkjunLdp<~G~U|ETN zP|;Ov8mI(MG_ta^zmt=v|Ba@F!z~^h`pL=ttTogxd~0O%NqKB^4V0V`4JZ|^GZZ0^ zDm~p<8j!>B0VW~x^#_Lz@SWO23_5ZtLS2hP<@FU341;51$NwCCk;UbJn*n-HURd_Q&k&=>>V+%6 zQle!NfBZ`xJzP(Dzo~Tc?~ikLe!+#X;!_707WW%G>UI5)t|!5pDh?3h0qJnj8Qvki zMxZn!**SF~8FJd+5Swvl*i?WL#i}F-u&Efzso>md{dl%ib0`E%13ecCeCscHHa|x- zwcf7I5Pi+mQG)@z3DfSCP;W^j^+bC4t_t~G%`H&^Psdbf_-1#1|61tN*|h)A7in>E z5cC~bejA`~^0s_&bor|*OTUS=to(<+0et^3F!akuU+FCXd__S$t4^KV{Al#p;hc}h z&RkX1uB(JZm&~C1;c^8)T1yXJwzplc%`jgRriVl-?2VSe3Yb{-L%P9*{G3P}I7 zp!Ph=i5zn=sPW`%YFIHZf!qOCu?@Of?XN=OYQ8!M;#c*37vxn17?Jk&*4BNNPGwjfTH?&X4m7$&qp4bG$GIQabFjL{P?oZcocT^RP48y}gxDv-MF#J4OH zO6DxGu{ABXx({(Z6a!$Zvbrl^@s8U_1y<6N^?+Cr zueG|(VW+E`y0cRF0~5omN5!ulZBSmty(y!urdEwE>wDjirfTuI#MfnT>bRK8E!J-Yk`f&bI zK!RG>#YL@pGX4g29Vx)*k>RIuPl|yN`wshcMh@ry45P_L|AWz529q!`zMnkReWBV|8L1l?5rN(QbA||bbRsB&pVsb_6)89>T_ycjt$2_hc z?aYUqAOeO*4tYTgR7!0UrwNM#VY_>HLiesdMe}a!$kg_n_dVNMT1oSKRaDcZQrV9o zwXOBnOVantB>77VwRdSOR=nL)E9+L=HnXyU>1GNPyeKMy*pm>^pMS;_(zq7}>rDhY#@8 z^7!_#dTkvMb3G`RfCpoGuJSuiaD8OB`9gq0*_>XsG(OXJL&~?KR1=t546)X^xz6|n zd~ZisNAu{QbuSv_KoN)YeWxa;25n`&;gXb#24hQMZWZ;b?IrFk>-6~qZKOvZjk`J>KIS%!vy z(^h77_5fLWwDu?Ay4)O$w_IG;D>FG+cu@O-lCp1!b!ln6kzny`2Jx8ozB+quhjCX) zN=ltKI!z9)*J)x!H=A}s=z|3%7aA6pf$f-14XxjBcmecQm4^VM_dOR^RVL=OJ#EIn zCz0{H+sQ{R<}h&222O&Hy~9KbqW!D3HZAApQ(a-c2i-jE&6P zV_k*}zPY{^XcenAF*Rm0nIi&Rb`$bGSBY8mKgHjyST0qZzwXJV^Qa7uOvdjI!)}~@ zxP14Fm9+_jY#i|93a41iuk`L2FObCBEG$v`a^r|c9`8@}R7OG`sal!^fh zbk&#CjvGJ2h1}1hgQjqq#vLKH%fKLHobFQGuB+{WJJEBR#FXfjJ(Vi037O&~F7{8K z7*LxYr`$_xGktdtd;z^BDZYAvar)4vGML1sf4s61Y{oY4vjx=PnpNdu6?FI(Hen|G zqe%eGf`=Fa_a( zzFW=z{To@r3Jld2s?Vyn0QzN#>qhUs-s(v;0O(jliQ+UKoU^Oo2jk#;d}?=6odMBYTrqUab)cwhI}XY6{D z7o6|Tauyqv`G&>oq(6{UzKk)UWI+qz?t05->r;Bwf$a5*k!m?3uJ^)Wqm#egUTDjU zCaKvIIPwfU^C{N(K;eDt=_@prNra%RJJCN;7vz__bTIhakTN8?sC-pp)y0kIPq#I- zjJ}U;J5iHjC=E>Vy))nq7f)kgq zYo-gZ*cLpuU7oUAFbO=jNm8$@S$&j6*FDwN**D3P;`VK$dOqlf4-c21VD@x^@IJCE zX5*-<#mm_|*~zQXd$)P~DIG8cY8LqO=T|kMB!^^x7ZHzCByLG0}-)Z1xKMbdC42O^Pr!HA@GJ8R7X#zZOu$!uM)@fq>W7e{PjbjV6m1W&)n~yaHOae?v7_!|t!`O%5 zDwn6K6@CfXJ!nHr+GY0>Q600Ibft;yoq+xc)PszCD9~ZN%B)GN*>cq)HHl^%T5+-JR3on^te8F|@eIHV-qFh!ldp61)_aJN#<`f!t^_^JW}ZgsG`YK87Wgn| zWrdtRFU|0Qvl#&}I-GJmlWuPZan}GnB$m5DBT}<}c#F+ggpvUx=J^Bj2s^Z$6kdTE z>=}J?K5@sZ@r~S1u-JNtWgn|_R`+HS$n|L<7h^i7VfPdu+t2fUi=%kAP`TP%tCsr# z8-lO+L-+(d90c>RD3!aun?>5Px*iDKS+%(!Dfck18qb{ywCe0sXTIHT4U6 z=;YIVKs+LEx0`Ay>3~^;%xot510Rd|te#Ft-^9fDnyqnX`*d)`p~~>kKHLGWr+R{F z%{r8mw$ZLHy?0{VCC?aqCnpzP7PI*$&$@^OZLQfSNi*E3*olzf-P7GqdK?igzy}xRF?Zh&lIR2a&-tF(7rPL?beFL`ZKYNJRlVy6T(jpj@}tJkW*u zD%}PYg}edL?e^_S70^sViCttU#b}^}*=f&oj;MJ8@6s?C(xdA?8V7*_9+~98On0~8 zAMOT#Sc&Zz2CeD|gON7o!^%32H7UZEeZuySctP8;7i_PN zH~Zb!RLa;4E>~u7Xr90s`*Egh=U3^=>8k1yd+sIi*4puPK<2ggTa10F%66Pq>#^+~ zG=lDFWPl8^^B-cAefLg7MMMv?&@eE?mTm`kiLgAyEys*FvOr=n`6WlF%YSnL(fOO& zjw&KXA-KQqJ}&!2uRaI5w)tv-ahQ&$mmc-?A3QR?a?ytBU1KR?#*%DGOyhw{Z+Saj zcI(c+CuAx68rqozncW8m6@-!!IO3=r6S?PKer{Z?H*S z`x6;`orX!uPiyk}=TFr(kk@D!F?Af5ooRd4dKL$V&*i+=L1l1_H?Mo}C9Lxr+3Ik{ZKzrqmdb zu%6In9`}ht)p!}U&SPR!D^W?(;(m!`lrBH^`LI|UXz zRB(HMwXSX)t5EOnGpGiQ#>vTf(;_Dl~&1rR4tXnzJ2P9qZO}qgC}7@>ingX#(X${%IUZ zkBGYKzFiZ#At68!EL4`)6D;@WR08S<+iC4r{NVH2<1? zP);{?S0gFZ?t~$njXz3gFF84}SKv%KPPpd>maH1V3-;sDD(#zEbs1tMdR!{ZH`w=e zFZYH@c?HVWT{u_?3J?}%0k0M52JQ2fwD8af18K_4LyZsp>#1g$1@W8J9#ll# zQiR4mp%7(eeaA(o?}m9fcmYOa_&DUoo}U&ja)%OWn%(N^GNX3bnETn% zU6teSbnIorQpuTSF|)9D+)eTlm2&P6p!OX&)uD*V?%~&>0@z`c5tNjUCFkiWDPtM^ zy9>}jJ-=a+7DmO-E;|qD4~P$^8g>I^d8Qk{hah@Nm*Mln@L71O^WiesGOO&li<}vK zGZRb58Rzg+oVo!8Yx3v*+a;b{4#`fbm>yT533?JLn?-Jcjh^k_Spj`%K zrS+|aTh>o!Pl7`3`+V98;PB^t{7iC9$dd5}k;Qs|1DGmac5N#u)r7dKk6orQ_aJ~b~#pv1981I z>n_t5Pldj8batF>f|ZhzRC!Ci7P_hFI!p4~Hewqpv)DvLsF9Tb0rgc*?jNuP46L2a zX0;H-e*1Qd0?eFqF#Jed-=7K=MQ?T`w0kJ~C14TJ=&@;WTYccir2551Ud(+~J#2JW z)T6fml8Q*5hc3OS8i6;ObOEB8Cr+)5Hu|K&kl0`8n>QZ~?S*>s025(8H> zb78k;w;3R)$GH;>A!H0aTBlo9Og}{*|Oz3A1|w$TBs`(#vE%A)A^?mQ@7dMbL52U zGUrL@V*TdAL7}X=U6~No#1Mt6B*L=p^t9&CDv3WuMrI@-?d`I#{iktbw z&mP{XjJZarK9IfyKjgh0i{S%i1LJR+ZP#kIfzg$0`hH`Ium`su>K>8@hmq{ zaf~A;T}XT#_J2^cq`T|t%g_BwJFuLecn;Wa*nWQb+THBVqS*p72^;!5JiPRnfNL#u zsX@t~p~ds0pH|+>9jUZxs)+Wn;W6XGmXzqYxVn_pQ<5i;wL3J z%(}dyL_rktEaSF=rHg5sRcpSTlh$SLgql1J&1MDaQnt`ue)og=@rT3+~_YI`)l z#>+wHBgLZf?wvm%s_EA{D%=YU$Gy=Rr{{8?>lV77X$>i5sDfuTezV$N-j?Gf z3!V5p!W*>1vUc{COhRwB?WuUfZ~c4r7*l-e>7c8ZW22+nuJwmUPq{wrJd(7a3*YpB4KJ0Mim6%L27LODTuDgPj()0*_l(-FkIt(&>|3t0~YF5VSn zT}b)#{^PNa7l~rYKP%gKiOuLAnueQK^bQW#KSbX;al{1A;hsXG>qLa5i#AiXNfsYB zB3PUG0*9;+frz^vArmtz00R-KrOICIC-DA5hkkupyyHj93`>L9>G+s0@CX<^CcLoR zJ@8jKR{UhKkI?2lwpS`?2N}KjdA+#gL|#fuM?2D$^Y!N%c>LuMa}2-_C4Dk*?hdkd z$;90Op|6}9luljSkR~0V#@Fd*#G#Y-Pwc5W?1d68ldAsgk*}j_v@~p3TZ-2~ zG>*~aW~h#4-CrZ9u$#)yZO^cj6~+mAgZ2 z6fHxAiDcBTH8AS9!MVSO4;a|!rHPO=6s)QOBp(q}g5s9`JeG=^2!wY<-lZx*m(_39B7@YLi{1>dca#f3I`F>+p z{oyIOjf>`VZ(_P1I=g0bdOna$2MJ=@iJ+K6ppS3w~jytC}bMn$hW zGfM{LXL*WNN=sGcM@kPPVM1jUOblyUWu{^y0PL5^en$G1Zw5K3^>;rn>@6RY)fL(x zidb`Ih2ztsE@IOBFopO(e^joGQUf!U*q;bnY;OZ_f0XS~%q<`=(ZZxF)cNbwRNvv6 z;7+U0(FFxWLsCLY`*-q)EGZ(!&VfaQSH@7#$Y}LY!0qJ)==ar6U|_(?R?VId2~gL& zJcni1;=ATn5bN1!-2qXDab{xDXEHqoGj3%+_rhEc{a*>3WW;fDe%u;?rTS@Jd4b3w z-{yT#oWL`}&fZgOioYYF+zS7GSrn2Xm3WHRaQAfXHQXbl&)kn#i zWc?x_UslvNS<|?}H-I1RhKRu8vE;SsiiV<>fI5ymZ~P%P9s3*4q4Qc?vlwOYX`iV1Zoczg z7SFeQ-x5|^dY~zzcm?PMzWra+y>(QT@4N1cA|N3sA<`lZ0!ky@(%s$C($XT*-O?SC z?hfe&fk}6Fcb^Bp>$mnBrox=>eB+7xy6(@#FjCuvCSRm2ii*_l z7uXjRIFMe1BtXIpD=>z1zD=vP12xMn3`y$(hhiuk_gA_~b#3|b=q>!;It~B3MJxG@ zsC3619Z)z=5Xz5WhoMX{tyNeOLudGFh5Qu(e#*E<+i}3d1WbV5gio`QLr8 z|Ivi`@1NHDb6$Igh|5?!6qdq*86=0x4D%%o@P_(GRu~$8_#ngON^a~!$8}mWa(Jhp zU-cB$2lp$CQ2E6lLovkje)8<>j=-Ou@Im~3V-(78W-`hh`dJGP`^9{Z>1*1R7UNc14$I*UqLy3N{g zz3M&VC}ZUOcKV)?k>dEvc;*uXm=2__KMYH5I>O&n2E&W8^RstR&T!pPa7`!1B9dCj zE)-i17+bl!O^TwKGrDjGv~z{0O?A> zSU<>0skIJd)z!u!K7PUzLDi#HnqaKF`p*cD^HfA-Qe|PhS4JI_b1cbL>x|Qp9cGOn zg=JCTi58GC3hP5Jc^b7Ffe%{6l#qM(%XAGl!gxl~_P=TYFdZ)*-*VT4nnnSVO~s6o z?q6RO5Re-d5iyX>WSK|8?p0JImetE%eAKUr%Ima|jK?cu{1f`Yk7mNk*f`J~RoDl< zR-RjwKQl9v`~0w170ANh(NhQcrVcOpkO9|uy3gqm8|BZCZ?4D-GrI^6AdZb%JNiu*rGIQ7kPG` z6tf_Ekl$fHYZLG}YRrVxL9HSp67P0Jx7UzG<@(I$#d0j&XlcyODk{vkUD@5<5ieQ@ zvnYS)%~pVr2iV(H*#4NHR%9L<6FQRBFps%7kshIVfosNUnr@*B$u3Gm$4R~#;n*9g zZ9hE?Wt5rkm=vtQSCbB<7zvlxzewDBjTMJO5S?{-!;dpuAEyBBnzm2^OwT_D9z`4N#2trxZdW*jTxSx}LyLkd0Z=>uhpSxu&vdE*vJL;>K#!x5 zSR|%Ko2-DixHwR=t9QMtYD%Wd68=ey zdLG`TS70sxrq0z3BH+X_HZv0zL8{5 z&@o=$?YhP9p7Pi`*r)n>%Yev1tymU2_w))>AI_cbVxlby3-PI^kEAslY)(4&Za^7+ zTSR9H6x8Ml@bvyYH|;w5hsmO|UrO%{jJD@7Z+ zA|lx578Y0m6e?GzN9|x-sHjlLEo1#46C66EH)`Upbm)?l{PLlcaAH(Bj$t%YSAUBy zR@<%6W5x8iE_&G2Py#uz@plx`1U&_hYZ!x$pJ$=wpre4iyb#0pl5*t~_6dbNv@A`L zxw)AYbejnZBIY?JkISRT`AxnyTU1+m&e3&=P#r@vyvn!}2^!@)QmoOsMyZDu`1}}= zlPO%W#{PJ#UiXq_x_~;D9sNUSPV;?SzV)DzOw+bYKzp52%g1Y}FDT@)%hhqesrI)|){9?767 zmv-p0cbZt;!yzIj#$!&C(ZxEm`8ADpvq?F&OVhWGp<1&A*}Uk90+kwnAPXhXLOD=OvPP6594i$%_P62p@ z&wSk$TPVX0h><6Kw_8TpDfnCg)}gUxo2`@rmrKZl%slt&2~49#T)5D7w41Oixml%b zA~wm5jU`{nhQsSgq@2uFt9)8OZsFewP_nR(DJc09g;Q)|n8D&yhe*WrxwJU9Y1Pqo z>eZWV+}V<0pZC79c9VOI;MgwP<4rOsXOF#K+$LTYw}$@;zGfb;ZI*h1k@D`8P#G!$<(SP_ZS)8j$o zxGSrr);;F5NBxY;o&0~uSfF$K06dXlo|FQ)<*6?8!({k*iW8}yxW#9at-|o0aK5^b zHTr!gVy=ePcGUq?8$u&$(9UjCMDq}WZ zt|$oT-x@@YHH(NB!Quts+;Xqn&tay-nm`?O5?$&@3P)CP$P4mK?$(2PM$W)l6e(gnO?73yoY1!=}?&KFqoO`;36 zWK!W5-eoMFUmm+fE z98%@a2!(xXG^oCPbxTGgk8HpBn;X=6oz~axz@|Uy+eZ7|1X*+Oozoy%#11c_)AhvI z6a;8>z(4{FI3mL9x29jBbD5RIoT>ZF%bSgKTNBr zOX0GX>CeOf+HX|FLXDv#zaBal`OxLn>5>KfH9NL*no3J=@4NT!$~+eK7ed}B6pDee z!1#_;{=;0^2~2eL{-?=8`59q!F1FDPI^8oS!)Xzet2&RA{V125x`zWv4wdYU-3~Kg z88xMtFDc7R_jOZ$&?9(qnmxLH9}!O-05$1dwI;!X<{KL79xax3HMLQIIwBpO3T2IV zZRpTEmMw#1t~rSfZJtA*g1^Agf_P#fv=;E0l=(m>ojvH>d&9DZVc;X3f8 zqf^XiX~m%OHcgiMhQ#}U#aPw{4!wsD{&EJD+h2yur=~RaoY|=YDxl`v)e9B1EF3eD zMwbUElaXEMQ>XRS^7{d?yo%fu`sC!=c)F!|gh|OiqnUh}lZs73;SV2Z zHq#$W88o?;$G1IkK2A&-m^H=5=N0^EJmQ7494P5eeau=sN;oGS?TVeVo$lx#&>zpm z{EnsCAt(CO2}b}ffH?OiTVA(kxV?0VKB>Ck2t^Bm_`46<}I8FKBsn+9vIPc!4i z(BbgG4Ouwhz%@ZpzRG`B?yOP9S}<~kVjEPve;cv4!F~7n{TftTK+yzH*8CZ<*^g9Sa(_>CjxR(byJaoB z3AW&>!cnhbjc3w-;+6>dIJS0rn$Zc?gy4hY+tYoiLr|f%E$Ik0yQgqszA}8;(igu& z9v!TPqchbeQpmTK$L2~H8zjZF8c~hpj~R79WJADfmvS?-EpVw~NmBzhFtn33O# z>4nB>KMwaJqqVX0HW7Qw9imTr$9A>?5fnQNN>4bwycm8w73%pUHZcLAM|zd(n9{g9 z)@SD~Ay6N}&eak{x|o45UnOa+FkEKiOE-cLXrHeK=7W(k3n`J~EewCx)8C{NhV*en zqBK2Ns(~!*2R7e4Tni*DbsmZm(=yJ;in4|9_WsN#ZY_kc;}OjlwyIS>ETdRDRrDw z8|^4pX@7>sc=?_rCo@^I>06cgoN!1o=MWM`7s|>Gy3YtKknaR(dJrpg2N)opo|r7O zcTVIqMC{f|$5dRJnyDCV-GHK5Y zixJXlgy2tXDruzW->$r2(#?;K`%N$=UZRH5E#T*@pFDk7nJVEl};V5=vk2==8uAvhk>b;oHR~M>9e}Okubi-RsPCzC7`x6}7 z@D{r4ZDR6}?Rb?f0=tR#A9^%FtkhDSgJ7E5Jkt?HgTLoQ|7~xK^1R8BwJN+%o|+mpG{ee}HcxVN zL~zfmzIXUoETP=6pzHf*xX#b{U9gD z?Zm=y5XdfbCNaiBvCSnL91>CAzs&jMx;?yo*R}Y4_>swhU?pz+^fWsSZ)u1d*_leB z>yhf$JT=f10E7)-pD$XdyXaMhQb@Y(Ns^W!pY7Dey}=XeYUe&VZUREPS;lC7o^pQw zkiNl}m&Anev567sX=(H~!aY6g%?$S%GQx_?Lq0K{P3{U6lnRm(5)m`5Ia`S@5k;K_ zQ^LX`Wmks8<|-@>#x)Vxty%ei&XT}VWNfT2X{^Vz^v}>Y}afn)0GOC07y7IzmKZ!luPHwjZ7uWD$;dUmmWA5Af z#b^FOGIopn60F20|EdL;OT-ivQKmw+vh7de6O&(c<#l{@L{zgi!yB&GXpU%iCd1U# zg`DqwBe|FUgfAJVdwlonLqG)^<%1ftRqJ&t@Pc(@S6GZml-0+Z{sEFz3FF=Ue2tgn zDuVO}hpO=cYUj0+Y_K0HJ2)QMc)>%F^G3|Ne7n7EN2t#z*wFY}%)wS*S@L=^=R30Z zoIiqZbEHiT<06%L>~>LTZaFu6UwPe#4lZOHj<#e_h|~V8Lsx-Wx>_dVxKOl)B9ywV z!w0ihceU#ag-O%ZHbq*|TxR+fJymVURw=>^0+eOt<=PF$pbLIeYgA?k0+o|n z#lLuJ_=7qv!0n$chHXRgn(IOSTJ}y#w}!?DNpcy1d|G+YF2PVvKa=iM zIJTCF`C?|R_w*b8u=L+xtyy4VS>~Cv_L)*6EI!AuJn^gN!TpBF?~lRT8w%$2X!t9u zQ!aA>)}tkNOKrp+(0zP=YVn&x>9LXvy#?)~ z5t`3=K1C#*QF}WJzoyr2qk~dv&-pLngM-O#BI`6W*HJ?KBI;G2QJr&X6%l`@v?X<+VY6=HJANA2-^f8F zx8(+L8cgc#abPh|=lc4~6Z8}@18#BkgzM%Wey!>sWK ziz-pRiQ*eU0|P0#QnAX!H-2;42}D<)iBXBxKAckBv(A5MMeBU9thAiF*MB*h)6C6* z<$cVwqtsb&#kBz)U?H$0v+_!QxZzhNAA@En)j&m`C9;VV+hZ-UEa!!=0voduo9pd+ zvIjDkBgi|AIz57X&0Md={NyC|j>8-nd`@TQuH-gVRiYCo-B;o1)GU%;d8QLnJoM+7 zIJaw5OO3ps9O(DyzOG%I0`v<_H(|RG2&a23NcHCgTwhles@nNTS?Ju4Ly=9&YpNei z`$F#I=$Rg6yyt&qJjm8V*Ys@V_FOa;rSlDte{PYf22*LvzfPF~@XtQ8`o?QD8&RcSer9U=6? z?jNCpWADt8KN8i`@dN68JxHqu!B(Gkytk%AQX&u(0+n-fKVH>;=;cl1jOnJ!J-cIC znLewqT=<-A&bLO5OFOe2AMZat+pfS&?)cJ2-!Rxyz!o(FSk6bYGg?ap5O?{p^(k8;k7j)BE^u#>IvOIJkuu0t6AU_bG@v|#a^lJ zu{Dyo53zxT(s(Q#2ZJ#7VCgVhB)Q7GkjSoJ1MGF+BJ3GYLTK6_ZTwMK>6^n^xdORg z5!|55s}75e+mJ=|=!`mW*QyKX1xXHDlSNo(mNm5sM9c*bz#RBxnJ2+vw)VmA`j?*m zO3_>c4f}Q3OK`ETab={tV2^N`BaQEGXKxf&eC*w{Zw{s%S2e?L=xZXTR@She`jz<| zAG*REt%l#y`4~&fQ!5VQz#O&8OZC^=>%Uj59#Hq+cFD7b#L+Rg`IGpIppky%FVM!* zH!SQNe3`}__(Xs^gg790pw59R&ij2pYISyr&$x_yFno4e|x^AU; z#%S39h3d0_OV+zcTPLw$6<;Drm0kYuuA??~BIB-gHnB#95@k?gyIT^8WFLKp>7-5B zM`=HV@KO!}ri?=U&y zS>k3ovOBWJU8F~V^BQR0ZK39YJ3E+3ig9>Y8YQ6^6xD2~^^uPr>)Q}FQtiC6Is{!E zpq83@;W-EMgB57zyYm=wU?WLzOq}?F^62>dNUconSXGSHT%|r}+ni1tM3HkiAJ0Cz zwtPR@pQo4mR?9!t8An@5&(NRzG%A0(xKXS;Q(2}jWLjqH{m!mf^3q|_Ph^zsXfp6D z!Ew|}l9hq!&7Wd~2jeuXzqO7A+Q4MdS(W2^f-B;})jyx5(b)Om6)S*i;b8hTy-Vk_ zESh^Yf|G^j(nMZS(Ww)UAU4NOqSWFS=aSdO$QkMH;4%^9<;pyg3HY3%LXoBW*C$-3 zT61At(3cGdsb09JlfZwx(nkPdH&uHg1~e^rMU#xRmb$Fq@8Ugxo=Nc zbJRJKWFghOqnQWu2;`Z!-~P0oS>dLp26B#Lj$Stb-;xYtqdSR(n8_O)h_HxplSgd0 zvXX#x)JX1xOhVZ!C>PRcD>uOVtoJPAR|44wtpbkEpbRQ0Sglk&ts!y<@ZGk z5MF}upwZjBuL6#dfTnbI?7vAi}sSLS*gqg#4{xIHR23EN{!U_kHS z`1RtT2Whcw2S8a(9UlY?w_V#FI`P2+xir8N2=2XxJi)l*51oZBCR^;rVgSu&e=sX` zT%d4i{`NcQlha$--W5bcZGzcs1p+Hf%fCy7;05o0X~*D<6D;qOApp!pRE=Px)$ zf{c8R9F0ZCc37kdZf%AdU`fGGL%>-FU}^#Gv`0j1MG!Tj8TNVp5F32g2!`I#L@Bb zvhqs6QyYdt7s07rl_x&&#>HHc|*TEb%~9RM-y1f z*qN8>dW_!u{o>)iIu_|{yC#TmTKSydWTZf}kx$!Ee=T!0s<1wU^TM5$9Txbdo44ju zi)awQhoJYWVheZs9@0!4*pTVmt>4KF!-|TFFO;2hgUE-+D<78HfFfwk?sRUNab06JUln5nW^;oaWt$RxI4h#&3HS6tR55lY3xymtEZ@~AD9C!_0o*}*+;nOF?L+vl9{`C}`lF~QWc5@R)_H4dEBAA7 zE%^P*zqgc^CToVyTLk?hMYEjd}8>Oy_}4X{#BkN&A8=bw{`s+65vPqJ|xb**}9m2 z1g&5aLqOSEIJsa>*c!qxE@CR!FikC1UPK2Mm0UvoJ@atqwBCGBX@SHYCScawx~wF3 z=f1fV}Cc~G}2QxIR`=iZFAKx*=Ghp!Cu}LW-Q0Rg8 zTBVEyh?}*>x=LVu#f)~`<6w9FYQ>`I9hnmF;lrPl^SkF#ALHY30UU3W4-gmcD1fzi zaA69**j;$?87r{&Jw~9wBd9uk_$> zIZ<#seL(PdFV^-R&9V8OAG8dXHrQ}&*aevveb|s}Z|{7lx^7O1Et;`CR8UfiS(Wb; zhA#jhrQXM@S7d|FD+8bI?E;`$K`1ZM^_O#B;$Yc=tbm@JqB-Yoq?q+=;PQc4rS|^# z5+oLamSSoSw?o#sDP}^A^oSbZeYdFI-cx7IdM_MWWZ|&K!6y$Ofo}+3 zDVF}QaBw&mC*rwJmy>MYa0BlKBM;mZMn*9y9;v&hQJ5`r&p@-Yo3kC*WxP?&b*w0@ z(t!hH9j#_W9epa0jUxKO2cScy2C{Jf`J&d?@Q=JFfRL{m~>J9)y#oabl%x6jgAQU1mKXx!4d|O^(%KB+k6eQJ? zq4NYsB11#NBMf`{3WU=gZs#vNJs*}^^oRTbs-R`8W2@O-oE`iLC1cdI_bbd>-AhNt z;sy7&I9y?1WCW1^khoiUSN?a87soJJ4%Uy1=3Yud%xEn;c>A8owiOLScsyS-QqpOE z?`DH%=5bi0Jc*j{KI*;L%g7l5(IkbHu1i7WFLp{mGl#>C)s5#1^$Xdn@ybzjLss32o` zpOmZ%CJU^&1O(h5Q=m*qNyQI`Y�>wB=>=b3$&cLpr}~08X2Ltc}#VAu}^G(^*w8 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