From 51680a7d44c51c10c511e0e5a3d0e119a5b313c4 Mon Sep 17 00:00:00 2001 From: itz4blitz Date: Sun, 8 Mar 2026 17:40:29 -0400 Subject: [PATCH 01/10] Refine theme foundation and responsive surfaces Replace hardcoded status styling with semantic tokens and add shared drawer and resizable patterns so settings, repo, session, and file flows feel consistent across desktop and mobile. --- frontend/components.json | 5 +- frontend/package.json | 2 + .../components/file-browser/FileDiffView.tsx | 42 +-- .../components/file-browser/FilePreview.tsx | 8 +- .../src/components/file-browser/FileTree.tsx | 2 +- frontend/src/components/memory/MemoryList.tsx | 6 +- .../components/message/ContentDiffViewer.tsx | 14 +- frontend/src/components/message/DiffStats.tsx | 6 +- .../message/EditableUserMessage.tsx | 4 +- .../src/components/message/FileToolRender.tsx | 6 +- .../src/components/message/MessagePart.tsx | 6 +- .../components/message/MessageSkeleton.tsx | 13 +- .../src/components/message/MessageThread.tsx | 8 +- frontend/src/components/message/PatchPart.tsx | 4 +- .../src/components/message/PromptInput.tsx | 58 +-- frontend/src/components/message/RetryPart.tsx | 12 +- .../components/message/SessionTodoDisplay.tsx | 6 +- frontend/src/components/message/TextPart.tsx | 6 +- frontend/src/components/message/TodoItem.tsx | 6 +- .../src/components/message/ToolCallPart.tsx | 50 +-- .../src/components/model/ModelQuickSelect.tsx | 2 +- .../components/model/ModelSelectDialog.tsx | 20 +- .../notifications/PendingActionsGroup.tsx | 4 +- .../src/components/repo/AddRepoDialog.tsx | 269 ++++++++------ frontend/src/components/repo/RepoCard.tsx | 14 +- frontend/src/components/repo/RepoList.tsx | 8 +- .../src/components/repo/RepoMcpServerList.tsx | 22 +- .../components/repo/SwitchConfigDialog.tsx | 11 +- .../session/ContextUsageIndicator.tsx | 10 +- .../session/EditSessionTitleDialog.tsx | 4 +- .../session/PermissionRequestDialog.tsx | 2 +- .../src/components/session/QuestionPrompt.tsx | 54 +-- .../src/components/session/SessionCard.tsx | 22 +- .../components/settings/AccountSettings.tsx | 2 +- .../src/components/settings/AgentsEditor.tsx | 2 +- .../components/settings/AgentsMdEditor.tsx | 4 +- .../components/settings/CommandsEditor.tsx | 2 +- .../settings/CreateConfigDialog.tsx | 4 +- .../components/settings/GeneralSettings.tsx | 2 +- .../components/settings/McpOAuthDialog.tsx | 6 +- .../src/components/settings/McpServerCard.tsx | 12 +- .../settings/MemoryPluginConfig.tsx | 16 +- .../settings/NotificationSettings.tsx | 2 +- .../settings/OpenCodeConfigEditor.tsx | 2 +- .../settings/OpenCodeConfigManager.tsx | 10 +- .../components/settings/ProviderSettings.tsx | 4 +- .../src/components/settings/STTSettings.tsx | 28 +- .../components/settings/SettingsDialog.tsx | 253 ++++++++----- .../src/components/settings/TTSSettings.tsx | 46 +-- .../settings/VersionSelectDialog.tsx | 16 +- .../components/source-control/BranchesTab.tsx | 4 +- .../source-control/GitFlatFileItem.tsx | 6 +- .../source-control/GitFlatFileList.tsx | 6 +- .../src/components/ssh/SSHHostKeyDialog.tsx | 4 +- frontend/src/components/ui/back-button.tsx | 23 +- frontend/src/components/ui/badge.tsx | 11 +- frontend/src/components/ui/button.tsx | 12 +- frontend/src/components/ui/card.tsx | 14 +- frontend/src/components/ui/copy-button.tsx | 4 +- frontend/src/components/ui/delete-dialog.tsx | 1 - frontend/src/components/ui/dialog.tsx | 12 +- frontend/src/components/ui/discard-dialog.tsx | 1 - frontend/src/components/ui/drawer.tsx | 87 +++++ frontend/src/components/ui/header.tsx | 8 +- frontend/src/components/ui/input.tsx | 8 +- frontend/src/components/ui/mini-scanner.tsx | 26 +- frontend/src/components/ui/page-header.tsx | 8 +- .../components/ui/pending-action-badge.tsx | 32 +- frontend/src/components/ui/resizable.tsx | 45 +++ frontend/src/components/ui/select.tsx | 6 +- .../ui/session-status-indicator.tsx | 28 +- frontend/src/components/ui/switch.tsx | 12 +- frontend/src/components/ui/tabs.tsx | 4 +- .../components/ui/virtualized-text-view.tsx | 4 +- frontend/src/index.css | 339 +++++++++++++----- frontend/src/lib/git-status-styles.ts | 30 +- frontend/src/pages/Memories.tsx | 2 +- frontend/src/pages/RepoDetail.tsx | 4 +- frontend/src/pages/SessionDetail.tsx | 8 +- pnpm-lock.yaml | 32 ++ 80 files changed, 1177 insertions(+), 721 deletions(-) create mode 100644 frontend/src/components/ui/drawer.tsx create mode 100644 frontend/src/components/ui/resizable.tsx diff --git a/frontend/components.json b/frontend/components.json index 7673dbac2..77cd03635 100644 --- a/frontend/components.json +++ b/frontend/components.json @@ -1,14 +1,15 @@ { "$schema": "https://ui.shadcn.com/schema.json", - "style": "default", + "style": "new-york", "rsc": false, "tsx": true, "tailwind": { - "config": "tailwind.config.js", + "config": "", "css": "src/index.css", "baseColor": "slate", "cssVariables": true }, + "iconLibrary": "lucide", "aliases": { "components": "@/components", "utils": "@/lib/utils", diff --git a/frontend/package.json b/frontend/package.json index 9acb2891c..ecc930019 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -43,12 +43,14 @@ "react-dom": "^19.1.1", "react-hook-form": "^7.65.0", "react-markdown": "^10.1.0", + "react-resizable-panels": "^4.7.2", "react-router-dom": "^7.13.0", "rehype-highlight": "^7.0.2", "rehype-raw": "^7.0.0", "remark-gfm": "^4.0.1", "sonner": "^2.0.7", "tailwind-merge": "^3.3.1", + "vaul": "^1.1.2", "zod": "^4.1.12", "zustand": "^5.0.8" }, diff --git a/frontend/src/components/file-browser/FileDiffView.tsx b/frontend/src/components/file-browser/FileDiffView.tsx index eaca2544a..30ca7b958 100644 --- a/frontend/src/components/file-browser/FileDiffView.tsx +++ b/frontend/src/components/file-browser/FileDiffView.tsx @@ -93,25 +93,25 @@ const statusConfig: Record< modified: { icon: FileEdit, color: GIT_STATUS_COLORS.modified, - bgColor: "bg-amber-500/10", + bgColor: "bg-warning/10", label: GIT_STATUS_LABELS.modified, }, added: { icon: FilePlus, color: GIT_STATUS_COLORS.added, - bgColor: "bg-emerald-500/10", + bgColor: "bg-success/10", label: GIT_STATUS_LABELS.added, }, deleted: { icon: FileX, color: GIT_STATUS_COLORS.deleted, - bgColor: "bg-rose-500/10", + bgColor: "bg-destructive/10", label: GIT_STATUS_LABELS.deleted, }, renamed: { icon: FileText, color: GIT_STATUS_COLORS.renamed, - bgColor: "bg-blue-500/10", + bgColor: "bg-info/10", label: GIT_STATUS_LABELS.renamed, }, untracked: { @@ -123,7 +123,7 @@ const statusConfig: Record< copied: { icon: FileText, color: GIT_STATUS_COLORS.copied, - bgColor: "bg-emerald-500/10", + bgColor: "bg-success/10", label: GIT_STATUS_LABELS.copied, }, }; @@ -155,16 +155,16 @@ function DiffLineComponent({ const bgClass = line.type === "add" - ? "bg-emerald-500/10" + ? "bg-success/10" : line.type === "remove" - ? "bg-rose-500/10" + ? "bg-destructive/10" : ""; const textClass = line.type === "add" - ? "text-emerald-700 dark:text-emerald-300" + ? "text-success" : line.type === "remove" - ? "text-rose-700 dark:text-rose-300" + ? "text-destructive" : "text-foreground"; const lineNumber = line.newLineNumber ?? line.oldLineNumber; @@ -172,14 +172,14 @@ function DiffLineComponent({ return (
isClickable && lineNumber !== undefined && onLineClick(lineNumber) } @@ -196,10 +196,10 @@ function DiffLineComponent({ )}
{line.type === "add" && ( - + )} {line.type === "remove" && ( - + )}
           {!diffData.isBinary && (
             <>
-              +{diffData.additions}
-              -{diffData.deletions}
+              +{diffData.additions}
+              -{diffData.deletions}
             
           )}
           {diffData.diff && (
diff --git a/frontend/src/components/file-browser/FilePreview.tsx b/frontend/src/components/file-browser/FilePreview.tsx
index a7bd732f6..401c75459 100644
--- a/frontend/src/components/file-browser/FilePreview.tsx
+++ b/frontend/src/components/file-browser/FilePreview.tsx
@@ -282,7 +282,7 @@ export const FilePreview = memo(function FilePreview({ file, hideHeader = false,
               return (
                 
@@ -342,10 +342,10 @@ export const FilePreview = memo(function FilePreview({ file, hideHeader = false, {formatFileSize(file.size)} {formatDate(file.lastModified)} {shouldVirtualize && ( - Virtualized + Virtualized )} {hasVirtualizedChanges && ( - Unsaved changes + Unsaved changes )}
@@ -382,7 +382,7 @@ export const FilePreview = memo(function FilePreview({ file, hideHeader = false, )} {showSaveButton && ( - )} diff --git a/frontend/src/components/file-browser/FileTree.tsx b/frontend/src/components/file-browser/FileTree.tsx index 75012104c..dea4e6b3d 100644 --- a/frontend/src/components/file-browser/FileTree.tsx +++ b/frontend/src/components/file-browser/FileTree.tsx @@ -200,7 +200,7 @@ function TreeNode({ file, level, onFileSelect, onDirectoryClick, selectedFile, o Rename - + Delete diff --git a/frontend/src/components/memory/MemoryList.tsx b/frontend/src/components/memory/MemoryList.tsx index e251a4a69..3ab36a3a9 100644 --- a/frontend/src/components/memory/MemoryList.tsx +++ b/frontend/src/components/memory/MemoryList.tsx @@ -17,9 +17,9 @@ interface MemoryListProps { } const scopeColors: Record = { - convention: 'bg-blue-600/20 text-blue-400 border-blue-600/40', - decision: 'bg-green-600/20 text-green-400 border-green-600/40', - context: 'bg-purple-600/20 text-purple-400 border-purple-600/40', + convention: 'border-info/25 bg-info/12 text-info', + decision: 'border-success/25 bg-success/12 text-success', + context: 'border-accent-foreground/10 bg-accent text-accent-foreground', } export function MemoryList({ projectId, scope, showFilters = true }: MemoryListProps) { diff --git a/frontend/src/components/message/ContentDiffViewer.tsx b/frontend/src/components/message/ContentDiffViewer.tsx index f439517ae..301c7a336 100644 --- a/frontend/src/components/message/ContentDiffViewer.tsx +++ b/frontend/src/components/message/ContentDiffViewer.tsx @@ -117,8 +117,8 @@ export function ContentDiffViewer({ before, after }: ContentDiffViewerProps) { key={index} className={cn( 'flex font-mono text-xs', - isAdd && 'bg-green-500/10', - isRemove && 'bg-red-500/10', + isAdd && 'bg-success/10', + isRemove && 'bg-destructive/10', )} > {!isMobile && ( @@ -132,14 +132,14 @@ export function ContentDiffViewer({ before, after }: ContentDiffViewerProps) { )}
- {isAdd && } - {isRemove && } + {isAdd && } + {isRemove && }
                 {truncateLine(line.content)}
@@ -170,4 +170,4 @@ export function ContentDiffViewer({ before, after }: ContentDiffViewerProps) {
       )}
     
   )
-}
\ No newline at end of file
+}
diff --git a/frontend/src/components/message/DiffStats.tsx b/frontend/src/components/message/DiffStats.tsx
index cdc0e0c2e..32469cd2e 100644
--- a/frontend/src/components/message/DiffStats.tsx
+++ b/frontend/src/components/message/DiffStats.tsx
@@ -14,7 +14,7 @@ export function DiffStats({ additions, deletions, variant = 'default' }: DiffSta
   return (
     
       {additions > 0 && (
-        
+        
           {compact ? `+${additions}` : `+${additions}`}
         
       )}
@@ -22,10 +22,10 @@ export function DiffStats({ additions, deletions, variant = 'default' }: DiffSta
         {compact ? '/' : ' '}
       )}
       {deletions > 0 && (
-        
+        
           {compact ? `-${deletions}` : `-${deletions}`}
         
       )}
     
   )
-}
\ No newline at end of file
+}
diff --git a/frontend/src/components/message/EditableUserMessage.tsx b/frontend/src/components/message/EditableUserMessage.tsx
index cc3aa8cef..ce7575430 100644
--- a/frontend/src/components/message/EditableUserMessage.tsx
+++ b/frontend/src/components/message/EditableUserMessage.tsx
@@ -151,11 +151,11 @@ export const ClickableUserMessage = memo(function ClickableUserMessage({
   return (
     
   )
-})
\ No newline at end of file
+})
diff --git a/frontend/src/components/message/FileToolRender.tsx b/frontend/src/components/message/FileToolRender.tsx
index b77c7072d..3b609bd26 100644
--- a/frontend/src/components/message/FileToolRender.tsx
+++ b/frontend/src/components/message/FileToolRender.tsx
@@ -94,12 +94,12 @@ export function FileToolRender({ part, filediff, filePath, content, toolName, on
         className="w-full px-3 py-1.5 bg-card hover:bg-card-hover text-left flex items-center justify-between text-sm gap-2"
       >
         
- + {toolName} {filePath && ( {getRelativePath(filePath)} @@ -151,4 +151,4 @@ export function getToolSpecificRender(part: ToolPart, onFileClick?: (filePath: s } return null -} \ No newline at end of file +} diff --git a/frontend/src/components/message/MessagePart.tsx b/frontend/src/components/message/MessagePart.tsx index 052271119..e29bb4259 100644 --- a/frontend/src/components/message/MessagePart.tsx +++ b/frontend/src/components/message/MessagePart.tsx @@ -86,7 +86,7 @@ export function TTSButton({ content, className = "" }: TTSButtonProps) { return ( )} {isQueued && ( - + QUEUED )} diff --git a/frontend/src/components/message/PatchPart.tsx b/frontend/src/components/message/PatchPart.tsx index 725a76360..f16db5004 100644 --- a/frontend/src/components/message/PatchPart.tsx +++ b/frontend/src/components/message/PatchPart.tsx @@ -38,7 +38,7 @@ export function PatchPart({ part, onFileClick }: PatchPartProps) { {displayedFiles.map((file, index) => (
onFileClick?.(file)} > {getRelativePath(file)} @@ -67,4 +67,4 @@ export function PatchPart({ part, onFileClick }: PatchPartProps) {
) -} \ No newline at end of file +} diff --git a/frontend/src/components/message/PromptInput.tsx b/frontend/src/components/message/PromptInput.tsx index 24d6be40f..7d09623b8 100644 --- a/frontend/src/components/message/PromptInput.tsx +++ b/frontend/src/components/message/PromptInput.tsx @@ -760,12 +760,12 @@ const { model, modelString } = useModelSelection(opcodeUrl, directory) return ( -
+
{showStopButton && !(isFocused && prompt.trim().length > 0) && ( ) @@ -852,20 +852,20 @@ return (
- {showStopButton && ( - )} @@ -889,11 +889,11 @@ return ( type="button" onClick={handleVoiceToggle} disabled={disabled || isProcessing} - className={`hidden md:flex p-2 rounded-lg transition-all duration-200 active:scale-95 hover:scale-105 shadow-md border items-center justify-center ${ - isRecording - ? 'bg-gradient-to-br from-red-600 to-red-700 hover:from-red-500 hover:to-red-600 text-destructive-foreground border-red-500/60 animate-pulse' + className={`hidden md:flex p-2 rounded-lg transition-all duration-200 active:scale-95 hover:scale-105 shadow-md border items-center justify-center ${ + isRecording + ? 'animate-pulse border-destructive/50 bg-destructive text-destructive-foreground' : 'bg-muted hover:bg-muted-foreground/20 text-muted-foreground hover:text-foreground border-border' - }`} + }`} title={isRecording ? 'Stop recording' : 'Voice input'} > {isTogglingRecording && !isRecording ? ( @@ -911,11 +911,11 @@ return (
- )} - + className={cn( + 'rounded-2xl border border-border/70 bg-background/70 p-4 text-left transition-[transform,border-color,background-color] hover:border-primary/20 hover:-translate-y-0.5 disabled:pointer-events-none disabled:opacity-50', + isSelected && 'border-primary/35 bg-primary/10' + )} + > +

+ {option.label} +

+

{option.description}

+ + ) + })} +
+ + +
+
- + + { + if (repoType === 'remote') { + handleRepoUrlChange(e.target.value) + } else { + setLocalPath(e.target.value) + } + }} + disabled={mutation.isPending} + /> +

{sourceDescription}

+
+ +
+ setBranch(e.target.value)} disabled={mutation.isPending} - className="bg-[#1a1a1a] border-[#2a2a2a] text-white placeholder:text-zinc-500" /> -

- {branch - ? repoType === 'remote' - ? `Clones repository directly to '${branch}' branch` - : localPath?.startsWith('/') - ? `Copies repo and checks out '${branch}' branch (creates if needed)` - : `Initializes repository with '${branch}' branch` - : repoType === 'remote' - ? "Clones repository to default branch" - : localPath?.startsWith('/') - ? "Copies repo and checks out current branch" - : "Initializes repository with 'main' branch" - } -

+

{branchOutcome}

{showSkipSSHCheckbox && ( -
+
+ )} +
+
- - {mutation.isError && ( -

- {mutation.error.message} -

- )} + {mutation.isError && ( +

{mutation.error.message}

+ )} + + ) + + const submitButton = ( + + ) + + if (isMobile) { + return ( + + + + + Add Repository + Bring a remote repo into the workspace or import a local Git directory. + +
+ {formSections} +
+ + {submitButton} + + +
+
+ ) + } + + return ( + + + + Add Repository + Bring a remote repo into the workspace or import a local Git directory. + +
+ {formSections} + {submitButton}
diff --git a/frontend/src/components/repo/RepoCard.tsx b/frontend/src/components/repo/RepoCard.tsx index c402f605c..b2a87a458 100644 --- a/frontend/src/components/repo/RepoCard.tsx +++ b/frontend/src/components/repo/RepoCard.tsx @@ -78,10 +78,10 @@ export function RepoCard({
@@ -105,7 +105,7 @@ export function RepoCard({ {repoName} {isReady && ( -
+
)}
@@ -115,17 +115,17 @@ export function RepoCard({
{isCloning ? ( - + Cloning... ) : ( <> - + {branchToDisplay || "main"} {isDirty && ( - + {unstagedCount > 0 && unstagedCount} @@ -135,7 +135,7 @@ export function RepoCard({ )} {(ahead > 0 || behind > 0) && ( - + {ahead > 0 && `↑${ahead}`} {behind > 0 && `↓${behind}`} diff --git a/frontend/src/components/repo/RepoList.tsx b/frontend/src/components/repo/RepoList.tsx index 30a09de30..4f9a4c7c9 100644 --- a/frontend/src/components/repo/RepoList.tsx +++ b/frontend/src/components/repo/RepoList.tsx @@ -230,8 +230,8 @@ export function RepoList() { if (!repos || repos.length === 0) { return (
- -

+ +

No repositories yet. Add one to get started.

@@ -325,8 +325,8 @@ export function RepoList() {
{filteredRepos.length === 0 ? (
- -

+ +

No repositories found matching "{searchQuery}"

diff --git a/frontend/src/components/repo/RepoMcpServerList.tsx b/frontend/src/components/repo/RepoMcpServerList.tsx index fa7c1bc8e..171719963 100644 --- a/frontend/src/components/repo/RepoMcpServerList.tsx +++ b/frontend/src/components/repo/RepoMcpServerList.tsx @@ -66,9 +66,9 @@ export function RepoMcpServerList({ switch (status.status) { case 'connected': - return Connected + return Connected case 'disabled': - return Disabled + return Disabled case 'failed': return ( @@ -78,7 +78,7 @@ export function RepoMcpServerList({ ) case 'needs_auth': return ( - + Needs Auth ) @@ -97,7 +97,7 @@ export function RepoMcpServerList({
) : isLoadingStatus ? (
- + Loading...
) : ( @@ -133,19 +133,19 @@ export function RepoMcpServerList({ title="Click for options" > {status?.status === 'connected' && ( - + Connected - + )} {status?.status === 'needs_auth' && ( - + Needs Auth - + )} {status?.status === 'failed' && ( - + Failed - + )} @@ -184,7 +184,7 @@ export function RepoMcpServerList({ {serverConfig ? getDescription(serverConfig) : 'MCP server'}

{failed && status.status === 'failed' && ( -
+
{status.error}
diff --git a/frontend/src/components/repo/SwitchConfigDialog.tsx b/frontend/src/components/repo/SwitchConfigDialog.tsx index 744c90f83..052c16d77 100644 --- a/frontend/src/components/repo/SwitchConfigDialog.tsx +++ b/frontend/src/components/repo/SwitchConfigDialog.tsx @@ -91,7 +91,7 @@ export function SwitchConfigDialog({ {loading ? (
- + Loading configs...
) : configs.length === 0 ? ( @@ -107,7 +107,7 @@ export function SwitchConfigDialog({
{config.name} {config.isDefault && ( - (default) + (default) )}
@@ -117,9 +117,9 @@ export function SwitchConfigDialog({ )} {error && ( -
- -

{error}

+
+ +

{error}

)} @@ -134,7 +134,6 @@ export function SwitchConfigDialog({
) -} \ No newline at end of file +} diff --git a/frontend/src/components/session/EditSessionTitleDialog.tsx b/frontend/src/components/session/EditSessionTitleDialog.tsx index 6e90c2e69..591e36865 100644 --- a/frontend/src/components/session/EditSessionTitleDialog.tsx +++ b/frontend/src/components/session/EditSessionTitleDialog.tsx @@ -75,7 +75,7 @@ export function EditSessionTitleDialog({ isOpen, currentTitle, onClose, onSave } setEditTitle(""); inputRef.current?.focus(); }} - className="absolute right-2 top-1/2 -translate-y-1/2 p-1.5 rounded-full hover:bg-red-500/10 text-red-500 transition-colors" + className="absolute right-2 top-1/2 -translate-y-1/2 rounded-full p-1.5 text-destructive transition-colors hover:bg-destructive/10" > @@ -102,4 +102,4 @@ export function EditSessionTitleDialog({ isOpen, currentTitle, onClose, onSave } ); -} \ No newline at end of file +} diff --git a/frontend/src/components/session/PermissionRequestDialog.tsx b/frontend/src/components/session/PermissionRequestDialog.tsx index de2960ee1..e038f1a8a 100644 --- a/frontend/src/components/session/PermissionRequestDialog.tsx +++ b/frontend/src/components/session/PermissionRequestDialog.tsx @@ -197,7 +197,7 @@ export function PermissionRequestDialog({
)} {isFromDifferentSession ? ( -
+
From another session: {displaySessionName}
) : ( diff --git a/frontend/src/components/session/QuestionPrompt.tsx b/frontend/src/components/session/QuestionPrompt.tsx index 455f2a6dd..c7f00effd 100644 --- a/frontend/src/components/session/QuestionPrompt.tsx +++ b/frontend/src/components/session/QuestionPrompt.tsx @@ -179,20 +179,20 @@ export function QuestionPrompt({ question, onReply, onReject }: QuestionPromptPr return (
-
+
{totalSteps > 1 && ( )} - + {isConfirmStep ? 'Review' : ( totalSteps > 1 ? `Question ${currentIndex + 1}/${questions.length}` @@ -203,22 +203,22 @@ export function QuestionPrompt({ question, onReply, onReject }: QuestionPromptPr )}
-
+
{isConfirmStep ? ( {totalSteps > 1 && ( -
+
{Array.from({ length: totalSteps }).map((_, i) => (
-

+

{session.title || "Untitled Session"}

@@ -108,7 +108,7 @@ export const SessionCard = ({
) : (
-

+

{session.title || "Untitled Session"}

@@ -124,7 +124,7 @@ export const SessionCard = ({ )} {manageMode && ( diff --git a/frontend/src/components/settings/AgentsMdEditor.tsx b/frontend/src/components/settings/AgentsMdEditor.tsx index e02374fe7..acf4463bf 100644 --- a/frontend/src/components/settings/AgentsMdEditor.tsx +++ b/frontend/src/components/settings/AgentsMdEditor.tsx @@ -76,7 +76,7 @@ export function AgentsMdEditor() { if (error) { return ( -
+
Failed to load AGENTS.md
) @@ -127,7 +127,7 @@ export function AgentsMdEditor() { /> {hasChanges && ( -

You have unsaved changes

+

You have unsaved changes

)}
) diff --git a/frontend/src/components/settings/CommandsEditor.tsx b/frontend/src/components/settings/CommandsEditor.tsx index b9d0ec746..7bd4b561a 100644 --- a/frontend/src/components/settings/CommandsEditor.tsx +++ b/frontend/src/components/settings/CommandsEditor.tsx @@ -93,7 +93,7 @@ export function CommandsEditor({ commands, onChange }: CommandsEditorProps) { variant="ghost" size="sm" onClick={() => deleteCommand(name)} - className="text-red-500 hover:text-red-600" + className="text-destructive hover:text-destructive" > diff --git a/frontend/src/components/settings/CreateConfigDialog.tsx b/frontend/src/components/settings/CreateConfigDialog.tsx index 5c7081319..b8993d576 100644 --- a/frontend/src/components/settings/CreateConfigDialog.tsx +++ b/frontend/src/components/settings/CreateConfigDialog.tsx @@ -141,7 +141,7 @@ export function CreateConfigDialog({ isOpen, onOpenChange, onCreate, isUpdating className="font-mono md:text-sm" /> {error && ( -

+

{error} {errorLine && ( (Line {errorLine}) @@ -176,4 +176,4 @@ export function CreateConfigDialog({ isOpen, onOpenChange, onCreate, isUpdating ) -} \ No newline at end of file +} diff --git a/frontend/src/components/settings/GeneralSettings.tsx b/frontend/src/components/settings/GeneralSettings.tsx index cbc0678ce..cf95a82a4 100644 --- a/frontend/src/components/settings/GeneralSettings.tsx +++ b/frontend/src/components/settings/GeneralSettings.tsx @@ -36,7 +36,7 @@ export function GeneralSettings() { href={versionInfo.releaseUrl ?? ''} target="_blank" rel="noopener noreferrer" - className="text-xs font-medium text-green-500 hover:text-green-400 transition-colors" + className="text-xs font-medium text-success transition-colors hover:text-success" > v{versionInfo.latestVersion} available diff --git a/frontend/src/components/settings/McpOAuthDialog.tsx b/frontend/src/components/settings/McpOAuthDialog.tsx index a8138ab56..c27dcf970 100644 --- a/frontend/src/components/settings/McpOAuthDialog.tsx +++ b/frontend/src/components/settings/McpOAuthDialog.tsx @@ -288,7 +288,7 @@ export function McpOAuthDialog({ {step === 'waiting' && (

- + Waiting for authorization...

@@ -321,7 +321,7 @@ export function McpOAuthDialog({ {step === 'popup_closed' && (

- + Checking authentication status...

@@ -363,7 +363,7 @@ export function McpOAuthDialog({ {step === 'success' && (

- +

Authentication successful

)} diff --git a/frontend/src/components/settings/McpServerCard.tsx b/frontend/src/components/settings/McpServerCard.tsx index d2dd0a5a3..86f0497f8 100644 --- a/frontend/src/components/settings/McpServerCard.tsx +++ b/frontend/src/components/settings/McpServerCard.tsx @@ -24,7 +24,7 @@ interface McpServerCardProps { function getStatusBadge(status: McpStatus) { switch (status.status) { case 'connected': - return Connected + return Connected case 'disabled': return Disabled case 'failed': @@ -36,14 +36,14 @@ function getStatusBadge(status: McpStatus) { ) case 'needs_auth': return ( - + Auth Required ) case 'needs_client_registration': return ( - + Registration Required @@ -102,7 +102,7 @@ export function McpServerCard({ const displayName = getServerDisplayName(serverId) return ( -
+

{displayName}

@@ -119,7 +119,7 @@ export function McpServerCard({ {getServerDescription(serverConfig)}

{errorMessage && ( -
+
{errorMessage}
@@ -177,7 +177,7 @@ export function McpServerCard({ onSelect={() => { setTimeout(() => onDeleteServer(serverId, displayName), 0) }} - className="text-red-600" + className="text-destructive" > Delete Server diff --git a/frontend/src/components/settings/MemoryPluginConfig.tsx b/frontend/src/components/settings/MemoryPluginConfig.tsx index e8f9c16a1..c99a2d737 100644 --- a/frontend/src/components/settings/MemoryPluginConfig.tsx +++ b/frontend/src/components/settings/MemoryPluginConfig.tsx @@ -219,7 +219,7 @@ export function MemoryPluginConfig({ memoryPluginEnabled, onToggle }: MemoryPlug className="flex items-center gap-2 p-1 hover:opacity-80 transition-opacity" > {expanded ? : } - + Memory Plugin
- + Reindex
@@ -569,7 +569,7 @@ export function OpenCodeConfigManager() { }} >
- +

Global Agent Instructions (AGENTS.md)

diff --git a/frontend/src/components/settings/ProviderSettings.tsx b/frontend/src/components/settings/ProviderSettings.tsx index f32dfb0ef..2c623fd24 100644 --- a/frontend/src/components/settings/ProviderSettings.tsx +++ b/frontend/src/components/settings/ProviderSettings.tsx @@ -191,7 +191,7 @@ export function ProviderSettings() { {provider.name || provider.id} {hasKey ? ( - + Connected @@ -308,7 +308,7 @@ export function ProviderSettings() { )}
- + Connected diff --git a/frontend/src/components/settings/STTSettings.tsx b/frontend/src/components/settings/STTSettings.tsx index 3826dfb22..2594e1d18 100644 --- a/frontend/src/components/settings/STTSettings.tsx +++ b/frontend/src/components/settings/STTSettings.tsx @@ -180,12 +180,12 @@ export function STTSettings() {
{saveStatus === 'saved' && ( <> - - Saved + + Saved )} {saveStatus === 'idle' && isDirty && isValid && ( - Unsaved changes + Unsaved changes )} {saveStatus === 'idle' && !isDirty && ( All changes saved @@ -376,8 +376,8 @@ export function STTSettings() { )} {sttError && ( -
-
+
+
{sttError}
@@ -411,19 +411,19 @@ export function STTSettings() {
)} {!isTesting && !isProcessing && testResult === 'success' && testTranscript && ( -
+
- - Test successful + + Test successful
-

{testTranscript}

+

{testTranscript}

)} {!isTesting && !isProcessing && testResult === 'failed' && ( -
+
- - Test failed - {sttError || 'no speech detected'} + + Test failed - {sttError || 'no speech detected'}
)} @@ -435,8 +435,8 @@ export function STTSettings() { className={`px-4 py-2 rounded-lg transition-all duration-200 active:scale-95 flex items-center gap-2 ${ !canTest && !isRecording && !isProcessing ? 'bg-muted text-muted-foreground cursor-not-allowed' - : isRecording - ? 'bg-gradient-to-br from-red-600 to-red-700 hover:from-red-500 hover:to-red-600 text-destructive-foreground border-2 border-red-500/60 shadow-lg shadow-red-500/30' + : isRecording + ? 'border-2 border-destructive/50 bg-destructive text-destructive-foreground shadow-lg shadow-destructive/20 hover:bg-destructive/92' : isProcessing ? 'bg-muted text-muted-foreground cursor-wait' : 'bg-primary hover:bg-primary/90 text-primary-foreground' diff --git a/frontend/src/components/settings/SettingsDialog.tsx b/frontend/src/components/settings/SettingsDialog.tsx index 82fc15ae3..a20cbc196 100644 --- a/frontend/src/components/settings/SettingsDialog.tsx +++ b/frontend/src/components/settings/SettingsDialog.tsx @@ -9,12 +9,22 @@ import { VoiceSettings } from '@/components/settings/VoiceSettings' import { NotificationSettings } from '@/components/settings/NotificationSettings' import { Dialog, DialogContent } from '@/components/ui/dialog' import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs' -import { Settings2, Keyboard, Code, ChevronLeft, Key, GitBranch, User, Volume2, Bell, X } from 'lucide-react' +import { ResizableHandle, ResizablePanel, ResizablePanelGroup } from '@/components/ui/resizable' +import { Settings2, Keyboard, Code, ChevronLeft, Key, GitBranch, User, Volume2, Bell, X, type LucideIcon } from 'lucide-react' import { Button } from '@/components/ui/button' import { useSwipeBack } from '@/hooks/useMobile' import { useSettingsDialog } from '@/hooks/useSettingsDialog' +import { cn } from '@/lib/utils' type SettingsView = 'menu' | 'general' | 'git' | 'shortcuts' | 'opencode' | 'providers' | 'account' | 'voice' | 'notifications' +type SettingsSection = Exclude + +interface SettingsMenuItem { + id: SettingsSection + icon: LucideIcon + label: string + description: string +} export function SettingsDialog() { const { isOpen, close, activeTab, setActiveTab } = useSettingsDialog() @@ -50,7 +60,7 @@ export function SettingsDialog() { return () => document.removeEventListener('keydown', handleKeyDown) }, [isOpen, close]) - const menuItems = [ + const menuItems: SettingsMenuItem[] = [ { id: 'account', icon: User, label: 'Account', description: 'Profile, passkeys, and sign out' }, { id: 'general', icon: Settings2, label: 'General Settings', description: 'App preferences and behavior' }, { id: 'notifications', icon: Bell, label: 'Notifications', description: 'Push notification preferences' }, @@ -62,7 +72,48 @@ export function SettingsDialog() { ] const handleTabChange = (tab: string) => { - setActiveTab(tab as SettingsView) + setActiveTab(tab as SettingsSection) + } + + const activeItem = menuItems.find((item) => item.id === activeTab) ?? menuItems[0] + const mobileActiveItem = mobileView === 'menu' + ? activeItem + : menuItems.find((item) => item.id === mobileView) ?? activeItem + + const renderSectionIntro = (item: SettingsMenuItem, compact = false) => ( +
+

Current Section

+
+
+ +
+
+

{item.label}

+

{item.description}

+
+
+
+ ) + + const renderSettingsContent = (value: SettingsSection) => { + switch (value) { + case 'account': + return + case 'general': + return + case 'notifications': + return + case 'voice': + return + case 'git': + return + case 'shortcuts': + return + case 'opencode': + return + case 'providers': + return + } } return ( @@ -72,12 +123,12 @@ export function SettingsDialog() { className="inset-0 w-full h-full max-w-none max-h-none p-0 rounded-none bg-gradient-to-br from-background via-background to-background border-border overflow-hidden !flex !flex-col" style={swipeStyles} fullscreen - > -
-
-

- Settings -

+ > +
+
+

+ Settings +

-
- -
- - - Account - - - General - - - Notify - - - Voice - - - Git - - - Shortcuts - - - OpenCode - - - Providers - -
+ + + +
+
+

Workspace Preferences

+

Manage your account, git identity, provider access, and OpenCode behavior.

+
+
+ + {menuItems.map((item) => { + const isActive = activeTab === item.id -
-
- - - - - - - - -
-
- -
+ return ( + +
+
+ +
+
+

{item.label}

+

+ {item.description} +

+
+
+
+ ) + })} + +
+
+
+

Quick Tip

+

Drag the divider to resize the sidebar and use `Esc` to close settings.

+
+
+
+ + + +
+
+ {renderSectionIntro(activeItem)} + {menuItems.map((item) => ( + + {renderSettingsContent(item.id)} + + ))} +
+
+
+ + +
-
-
-
+
+
+
{mobileView !== 'menu' && ( )} -

- {mobileView === 'menu' ? 'Settings' : menuItems.find(item => item.id === mobileView)?.label} -

+

+ {mobileView === 'menu' ? 'Settings' : menuItems.find(item => item.id === mobileView)?.label} +

-
- {mobileView === 'menu' && ( -
- {menuItems.map((item) => ( - +
+ {menuItems.map((item) => ( + ))} -
- )} - - {mobileView === 'account' &&
} - {mobileView === 'general' &&
} - {mobileView === 'notifications' &&
} - {mobileView === 'voice' &&
} - {mobileView === 'git' &&
} - {mobileView === 'shortcuts' &&
} - {mobileView === 'opencode' &&
} - {mobileView === 'providers' &&
} -
-
+
+ )} + + {mobileView !== 'menu' && ( +
+ {renderSectionIntro(mobileActiveItem, true)} + {renderSettingsContent(mobileView)} +
+ )} +
+
) diff --git a/frontend/src/components/settings/TTSSettings.tsx b/frontend/src/components/settings/TTSSettings.tsx index fa8923ca5..fb8771380 100644 --- a/frontend/src/components/settings/TTSSettings.tsx +++ b/frontend/src/components/settings/TTSSettings.tsx @@ -252,12 +252,12 @@ export function TTSSettings() { )} {saveStatus === 'saved' && ( <> - - Saved + + Saved )} {saveStatus === 'idle' && isDirty && isValid && ( - Unsaved changes + Unsaved changes )} {saveStatus === 'idle' && !isDirty && ( All changes saved @@ -297,15 +297,15 @@ export function TTSSettings() { form.setValue('provider', 'builtin', { shouldDirty: true }) form.setValue('apiKey', '', { shouldDirty: true }) form.setValue('endpoint', '', { shouldDirty: true }) - }} - className={`flex flex-col items-center justify-center gap-2 rounded-lg border-2 p-4 transition ${ - watchProvider === 'builtin' - ? 'border-blue-500 bg-blue-50 dark:bg-blue-900/20' - : 'border-border hover:border-blue-300' - }`} - > - - + }} + className={`flex flex-col items-center justify-center gap-2 rounded-lg border-2 p-4 transition ${ + watchProvider === 'builtin' + ? 'border-primary bg-primary/10' + : 'border-border hover:border-primary/40' + }`} + > + + Built-in Browser @@ -316,15 +316,15 @@ export function TTSSettings() { type="button" onClick={() => { form.setValue('provider', 'external', { shouldDirty: true }) - }} - className={`flex flex-col items-center justify-center gap-2 rounded-lg border-2 p-4 transition ${ - watchProvider === 'external' - ? 'border-blue-500 bg-blue-50 dark:bg-blue-900/20' - : 'border-border hover:border-blue-300' - }`} - > - - + }} + className={`flex flex-col items-center justify-center gap-2 rounded-lg border-2 p-4 transition ${ + watchProvider === 'external' + ? 'border-primary bg-primary/10' + : 'border-border hover:border-primary/40' + }`} + > + + External API @@ -540,8 +540,8 @@ export function TTSSettings() { /> {!hasWebSpeechSupport && ( -
-
+
+
Browser Not Supported: Your browser doesn't support Web Speech API. Please use Chrome, Safari, Firefox, or Edge, or switch to an external API provider.
diff --git a/frontend/src/components/settings/VersionSelectDialog.tsx b/frontend/src/components/settings/VersionSelectDialog.tsx index d34c0cae0..93f413b3e 100644 --- a/frontend/src/components/settings/VersionSelectDialog.tsx +++ b/frontend/src/components/settings/VersionSelectDialog.tsx @@ -95,7 +95,7 @@ export function VersionSelectDialog({ open, onOpenChange }: VersionSelectDialogP )} {error && ( -
+
Failed to fetch versions
)} @@ -113,20 +113,20 @@ export function VersionSelectDialog({ open, onOpenChange }: VersionSelectDialogP key={release.version} onClick={() => setSelectedVersion(isCurrent ? null : release.version)} disabled={isCurrent || installMutation.isPending} - className={`w-full text-left p-3 rounded-lg border transition-colors ${ - isSelected - ? 'border-primary bg-primary/10' - : isCurrent - ? 'border-green-500/50 bg-green-500/10 cursor-default' + className={`w-full text-left p-3 rounded-lg border transition-colors ${ + isSelected + ? 'border-primary bg-primary/10' + : isCurrent + ? 'cursor-default border-success/30 bg-success/10' : 'border-border hover:border-primary/50 hover:bg-muted/50' - }`} + }`} >
v{release.version} {isCurrent && ( - + Current )} diff --git a/frontend/src/components/source-control/BranchesTab.tsx b/frontend/src/components/source-control/BranchesTab.tsx index 2026176a5..394739343 100644 --- a/frontend/src/components/source-control/BranchesTab.tsx +++ b/frontend/src/components/source-control/BranchesTab.tsx @@ -226,13 +226,13 @@ export function BranchesTab({ repoId, currentBranch, repoUrl, isRepoWorktree }: title={isCheckedOutElsewhere ? 'Branch is checked out in another worktree' : undefined} > {isRemote ? ( - + ) : ( )} {branch.name} {(isCheckedOutElsewhere || (isCurrent && isRepoWorktree)) && ( - worktree + worktree )} {branch.type === 'local' && !branch.upstream && !branch.isWorktree && !(isCurrent && isRepoWorktree) && ( local diff --git a/frontend/src/components/source-control/GitFlatFileItem.tsx b/frontend/src/components/source-control/GitFlatFileItem.tsx index 6adeb8a13..7e4d1955e 100644 --- a/frontend/src/components/source-control/GitFlatFileItem.tsx +++ b/frontend/src/components/source-control/GitFlatFileItem.tsx @@ -70,10 +70,10 @@ export function GitFlatFileItem({ file, isSelected, onSelect, onStage, onUnstage {(file.additions !== undefined || file.deletions !== undefined) && (
{file.additions !== undefined && file.additions > 0 && ( - +{file.additions} + +{file.additions} )} {file.deletions !== undefined && file.deletions > 0 && ( - -{file.deletions} + -{file.deletions} )}
)} @@ -99,7 +99,7 @@ export function GitFlatFileItem({ file, isSelected, onSelect, onStage, onUnstage onClick={handleDiscard} title="Discard changes" > - + )}
diff --git a/frontend/src/components/source-control/GitFlatFileList.tsx b/frontend/src/components/source-control/GitFlatFileList.tsx index ba23ab614..0e9e41901 100644 --- a/frontend/src/components/source-control/GitFlatFileList.tsx +++ b/frontend/src/components/source-control/GitFlatFileList.tsx @@ -110,8 +110,8 @@ export function GitFlatFileList({ {(totalAdditions !== undefined && totalAdditions > 0 || totalDeletions !== undefined && totalDeletions > 0) && (
- {totalAdditions !== undefined && totalAdditions > 0 && +{totalAdditions}} - {totalDeletions !== undefined && totalDeletions > 0 && -{totalDeletions}} + {totalAdditions !== undefined && totalAdditions > 0 && +{totalAdditions}} + {totalDeletions !== undefined && totalDeletions > 0 && -{totalDeletions}}
)} {!readOnly && ( @@ -120,7 +120,7 @@ export function GitFlatFileList({ - ); -} \ No newline at end of file + ) +} diff --git a/frontend/src/components/ui/badge.tsx b/frontend/src/components/ui/badge.tsx index f000e3ef5..e66bb4e04 100644 --- a/frontend/src/components/ui/badge.tsx +++ b/frontend/src/components/ui/badge.tsx @@ -9,12 +9,15 @@ const badgeVariants = cva( variants: { variant: { default: - "border-transparent bg-primary text-primary-foreground hover:bg-primary/80", + "border-primary/20 bg-primary/12 text-primary hover:bg-primary/18", secondary: - "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80", + "border-border/70 bg-secondary text-secondary-foreground hover:bg-secondary/80", destructive: - "border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80", - outline: "text-foreground", + "border-destructive/20 bg-destructive/12 text-destructive hover:bg-destructive/18", + outline: "border-border/70 bg-background/60 text-foreground", + info: "border-info/20 bg-info/12 text-info hover:bg-info/18", + success: "border-success/20 bg-success/12 text-success hover:bg-success/18", + warning: "border-warning/25 bg-warning/16 text-warning hover:bg-warning/22", }, }, defaultVariants: { diff --git a/frontend/src/components/ui/button.tsx b/frontend/src/components/ui/button.tsx index 4b7a12522..2e68f961f 100644 --- a/frontend/src/components/ui/button.tsx +++ b/frontend/src/components/ui/button.tsx @@ -5,19 +5,19 @@ import { cva, type VariantProps } from "class-variance-authority" import { cn } from "@/lib/utils" const buttonVariants = cva( - "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all cursor-pointer disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", + "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-[calc(var(--radius)-0.125rem)] text-sm font-medium transition-[color,background-color,border-color,box-shadow,transform] disabled:pointer-events-none disabled:opacity-50 active:translate-y-px [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:ring-[3px] focus-visible:ring-ring/60 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", { variants: { variant: { - default: "bg-primary text-primary-foreground hover:bg-primary/90", + default: "bg-primary text-primary-foreground shadow-sm hover:bg-primary-hover", destructive: - "bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60", + "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90 focus-visible:ring-destructive/25 dark:focus-visible:ring-destructive/35 dark:bg-destructive/65", outline: - "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50", + "border border-border/70 bg-panel/80 text-foreground shadow-xs hover:bg-accent/70 hover:text-accent-foreground dark:bg-panel/80", secondary: - "bg-secondary text-secondary-foreground hover:bg-secondary/80", + "bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/85", ghost: - "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50", + "text-muted-foreground hover:bg-accent/70 hover:text-accent-foreground dark:hover:bg-accent/60", link: "text-primary underline-offset-4 hover:underline", }, size: { diff --git a/frontend/src/components/ui/card.tsx b/frontend/src/components/ui/card.tsx index f62edea57..0cfd7abd3 100644 --- a/frontend/src/components/ui/card.tsx +++ b/frontend/src/components/ui/card.tsx @@ -6,13 +6,13 @@ const Card = React.forwardRef< HTMLDivElement, React.HTMLAttributes >(({ className, ...props }, ref) => ( -
)) Card.displayName = "Card" diff --git a/frontend/src/components/ui/copy-button.tsx b/frontend/src/components/ui/copy-button.tsx index 1ade77131..7e81b9c28 100644 --- a/frontend/src/components/ui/copy-button.tsx +++ b/frontend/src/components/ui/copy-button.tsx @@ -60,9 +60,9 @@ export function CopyButton({ title={copied ? 'Copied!' : title} > {copied ? ( - + ) : ( - + )} ) diff --git a/frontend/src/components/ui/delete-dialog.tsx b/frontend/src/components/ui/delete-dialog.tsx index b2c05db23..2f62cb693 100644 --- a/frontend/src/components/ui/delete-dialog.tsx +++ b/frontend/src/components/ui/delete-dialog.tsx @@ -51,7 +51,6 @@ export function DeleteDialog({ variant="destructive" onClick={onConfirm} disabled={isDeleting} - className="bg-red-600 hover:bg-red-700 text-white font-semibold border-red-600" > {isDeleting && 'Deleting...'} {!isDeleting && (title.includes('Configuration') ? 'Delete Configuration' : 'Delete')} diff --git a/frontend/src/components/ui/dialog.tsx b/frontend/src/components/ui/dialog.tsx index 4fa44fc22..88a967820 100644 --- a/frontend/src/components/ui/dialog.tsx +++ b/frontend/src/components/ui/dialog.tsx @@ -18,8 +18,9 @@ const DialogOverlay = React.forwardRef< >(({ className, ...props }, ref) => ( } {isDiscarding && 'Discarding...'} {!isDiscarding && 'Discard'} diff --git a/frontend/src/components/ui/drawer.tsx b/frontend/src/components/ui/drawer.tsx new file mode 100644 index 000000000..f69f2f0cd --- /dev/null +++ b/frontend/src/components/ui/drawer.tsx @@ -0,0 +1,87 @@ +"use client" + +import * as React from "react" +import { Drawer as DrawerPrimitive } from "vaul" + +import { cn } from "@/lib/utils" + +function Drawer({ + shouldScaleBackground = true, + ...props +}: React.ComponentProps) { + return +} + +const DrawerTrigger = DrawerPrimitive.Trigger +const DrawerPortal = DrawerPrimitive.Portal +const DrawerClose = DrawerPrimitive.Close + +const DrawerOverlay = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)) +DrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName + +const DrawerContent = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, children, ...props }, ref) => ( + + + +
+ {children} + + +)) +DrawerContent.displayName = DrawerPrimitive.Content.displayName + +function DrawerHeader({ className, ...props }: React.ComponentProps<"div">) { + return
+} + +function DrawerFooter({ className, ...props }: React.ComponentProps<"div">) { + return
+} + +const DrawerTitle = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)) +DrawerTitle.displayName = DrawerPrimitive.Title.displayName + +const DrawerDescription = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)) +DrawerDescription.displayName = DrawerPrimitive.Description.displayName + +export { + Drawer, + DrawerPortal, + DrawerOverlay, + DrawerTrigger, + DrawerClose, + DrawerContent, + DrawerHeader, + DrawerFooter, + DrawerTitle, + DrawerDescription, +} diff --git a/frontend/src/components/ui/header.tsx b/frontend/src/components/ui/header.tsx index f81b1e498..057b88804 100644 --- a/frontend/src/components/ui/header.tsx +++ b/frontend/src/components/ui/header.tsx @@ -193,7 +193,7 @@ function HeaderMobileDropdown({ children, className }: { children: ReactNode; cl {totalPending > 0 ? ( <> - + ) : ( @@ -203,13 +203,13 @@ function HeaderMobileDropdown({ children, className }: { children: ReactNode; cl {permissionCount > 0 && ( setShowDialog(true)} className="gap-2"> - + {permissionCount} pending permission{permissionCount > 1 ? 's' : ''} )} {questionCount > 0 && ( - + {questionCount} pending question{questionCount > 1 ? 's' : ''} )} @@ -254,4 +254,4 @@ export const Header = Object.assign(HeaderBase, { Actions: typeof HeaderActions; MobileDropdown: typeof HeaderMobileDropdown; Settings: typeof HeaderSettingsButton; -}; \ No newline at end of file +}; diff --git a/frontend/src/components/ui/input.tsx b/frontend/src/components/ui/input.tsx index 267cead07..0b455b05c 100644 --- a/frontend/src/components/ui/input.tsx +++ b/frontend/src/components/ui/input.tsx @@ -5,10 +5,10 @@ import { cn } from "@/lib/utils" const Input = React.forwardRef>( ({ className, type, ...props }, ref) => { return ( - 0.8) return 'bg-amber-500' - if (intensity > 0.5) return 'bg-amber-500/70' - if (intensity > 0.2) return 'bg-amber-500/40' - return 'bg-amber-500/20' + if (intensity > 0.8) return 'bg-warning' + if (intensity > 0.5) return 'bg-warning/70' + if (intensity > 0.2) return 'bg-warning/40' + return 'bg-warning/20' } if (statusType === 'compact') { - if (intensity > 0.8) return 'bg-purple-500' - if (intensity > 0.5) return 'bg-purple-500/70' - if (intensity > 0.2) return 'bg-purple-500/40' - return 'bg-purple-500/20' + if (intensity > 0.8) return 'bg-chart-4' + if (intensity > 0.5) return 'bg-chart-4/70' + if (intensity > 0.2) return 'bg-chart-4/40' + return 'bg-chart-4/20' } - if (intensity > 0.8) return 'bg-blue-500' - if (intensity > 0.5) return 'bg-blue-500/70' - if (intensity > 0.2) return 'bg-blue-500/40' - return 'bg-blue-500/20' + if (intensity > 0.8) return 'bg-primary' + if (intensity > 0.5) return 'bg-primary/70' + if (intensity > 0.2) return 'bg-primary/40' + return 'bg-primary/20' } return ( @@ -86,4 +86,4 @@ export const MiniScanner = memo(function MiniScanner({
) -}) \ No newline at end of file +}) diff --git a/frontend/src/components/ui/page-header.tsx b/frontend/src/components/ui/page-header.tsx index beeb71941..1b2e53319 100644 --- a/frontend/src/components/ui/page-header.tsx +++ b/frontend/src/components/ui/page-header.tsx @@ -8,10 +8,10 @@ export interface PageHeaderProps extends React.HTMLAttributes { export const PageHeader = React.forwardRef( ({ className, children, ...props }, ref) => { return ( -
= { - orange: { - bg: 'bg-orange-500/10', - hover: 'hover:bg-orange-500/20', - text: 'text-orange-500', + warning: { + bg: 'bg-warning/10', + hover: 'hover:bg-warning/18', + text: 'text-warning', }, - blue: { - bg: 'bg-blue-500/10', - hover: 'hover:bg-blue-500/20', - text: 'text-blue-500', + info: { + bg: 'bg-info/10', + hover: 'hover:bg-info/18', + text: 'text-info', }, } @@ -53,12 +53,12 @@ export function PendingActionBadge({ title={`${count} pending ${label}${count > 1 ? 's' : ''}`} > - - + + ) } diff --git a/frontend/src/components/ui/resizable.tsx b/frontend/src/components/ui/resizable.tsx new file mode 100644 index 000000000..c50c2e921 --- /dev/null +++ b/frontend/src/components/ui/resizable.tsx @@ -0,0 +1,45 @@ +"use client" + +import { GripVertical } from "lucide-react" +import * as ResizablePrimitive from "react-resizable-panels" + +import { cn } from "@/lib/utils" + +function ResizablePanelGroup({ className, ...props }: React.ComponentProps) { + return ( + + ) +} + +const ResizablePanel = ResizablePrimitive.Panel + +function ResizableHandle({ + withHandle, + className, + ...props +}: React.ComponentProps & { + withHandle?: boolean +}) { + return ( + + {withHandle && ( +
+ +
+ )} +
+ ) +} + +export { ResizablePanelGroup, ResizablePanel, ResizableHandle } diff --git a/frontend/src/components/ui/select.tsx b/frontend/src/components/ui/select.tsx index 67075a8c4..a9e6cc247 100644 --- a/frontend/src/components/ui/select.tsx +++ b/frontend/src/components/ui/select.tsx @@ -19,7 +19,7 @@ const SelectTrigger = React.forwardRef< span]:line-clamp-1 md:text-sm", + "flex h-10 w-full items-center justify-between rounded-[calc(var(--radius)-0.125rem)] border border-input/80 bg-panel/75 px-3 py-2 text-[16px] ring-offset-background data-[placeholder]:text-muted-foreground shadow-xs transition-[border-color,background-color,box-shadow] focus:outline-none focus:ring-[3px] focus:ring-ring/40 focus:border-primary disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1 md:text-sm", className )} {...props} @@ -75,7 +75,7 @@ const SelectContent = React.forwardRef< 0.8) return 'bg-amber-500' - if (intensity > 0.5) return 'bg-amber-500/70' - if (intensity > 0.2) return 'bg-amber-500/40' - return 'bg-amber-500/20' + if (intensity > 0.8) return 'bg-warning' + if (intensity > 0.5) return 'bg-warning/70' + if (intensity > 0.2) return 'bg-warning/40' + return 'bg-warning/20' } if (statusType === 'compact') { - if (intensity > 0.8) return 'bg-purple-500' - if (intensity > 0.5) return 'bg-purple-500/70' - if (intensity > 0.2) return 'bg-purple-500/40' - return 'bg-purple-500/20' + if (intensity > 0.8) return 'bg-chart-4' + if (intensity > 0.5) return 'bg-chart-4/70' + if (intensity > 0.2) return 'bg-chart-4/40' + return 'bg-chart-4/20' } - if (intensity > 0.8) return 'bg-blue-500' - if (intensity > 0.5) return 'bg-blue-500/70' - if (intensity > 0.2) return 'bg-blue-500/40' - return 'bg-blue-500/20' + if (intensity > 0.8) return 'bg-primary' + if (intensity > 0.5) return 'bg-primary/70' + if (intensity > 0.2) return 'bg-primary/40' + return 'bg-primary/20' } return ( @@ -106,7 +106,7 @@ export const SessionStatusIndicator = memo(function SessionStatusIndicator({ {status.type === 'retry' && ( <> Retry #{status.attempt} - {retryCountdown > 0 && ({retryCountdown}s)} + {retryCountdown > 0 && ({retryCountdown}s)} )}
@@ -141,7 +141,7 @@ export const CompactStatusIndicator = memo(function CompactStatusIndicator({ } const pulseFrames = ['●', '◐', '○', '◑', '●', '◐', '○', '◑'] - const color = status.type === 'retry' ? 'text-amber-500' : status.type === 'compact' ? 'text-purple-500' : 'text-blue-500' + const color = status.type === 'retry' ? 'text-warning' : status.type === 'compact' ? 'text-chart-4' : 'text-primary' return ( diff --git a/frontend/src/components/ui/switch.tsx b/frontend/src/components/ui/switch.tsx index a16c1ef84..6f1124cd9 100644 --- a/frontend/src/components/ui/switch.tsx +++ b/frontend/src/components/ui/switch.tsx @@ -8,17 +8,15 @@ const Switch = React.forwardRef< React.ComponentPropsWithoutRef >(({ className, ...props }, ref) => ( )) diff --git a/frontend/src/components/ui/tabs.tsx b/frontend/src/components/ui/tabs.tsx index 26eb10912..c51d6c0d3 100644 --- a/frontend/src/components/ui/tabs.tsx +++ b/frontend/src/components/ui/tabs.tsx @@ -14,7 +14,7 @@ const TabsList = React.forwardRef< onLineChange(lineNum, e.target.value)} className={`flex-1 bg-transparent outline-none pl-2 text-[16px] md:text-sm ${ - isEdited ? 'bg-yellow-500/10' : '' + isEdited ? 'bg-warning/10' : '' } ${ lineWrap ? 'whitespace-pre-wrap break-all' : 'whitespace-pre' }`} diff --git a/frontend/src/index.css b/frontend/src/index.css index 7dc955c76..167096db4 100644 --- a/frontend/src/index.css +++ b/frontend/src/index.css @@ -1,58 +1,171 @@ @import "tailwindcss"; -@theme { - --color-background: #0a0a0a; - --color-foreground: #fafafa; - --color-card: #141414; - --color-card-hover: #1a1a1a; - --color-border: #2a2a2a; - --color-primary: #1d4ed8; - --color-primary-hover: #1e40af; - --color-primary-foreground: #fafafa; - --color-muted-foreground: #d4d4d8; - --color-accent: #27272a; - --color-input: #27272a; - --color-muted: #18181b; - --color-popover: #18181b; - --color-destructive: #dc2626; - --color-secondary: #27272a; - --color-secondary-foreground: #fafafa; - --color-accent-foreground: #fafafa; +@theme inline { + --font-sans: "Sohne", "SF Pro Display", "IBM Plex Sans", sans-serif; + --font-mono: "JetBrains Mono", "SF Mono", "IBM Plex Mono", monospace; + --radius-sm: calc(var(--radius) - 0.25rem); + --radius-md: calc(var(--radius) - 0.125rem); + --radius-lg: var(--radius); + --radius-xl: calc(var(--radius) + 0.25rem); + --color-background: var(--background); + --color-foreground: var(--foreground); + --color-card: var(--card); + --color-card-hover: var(--card-hover); + --color-card-foreground: var(--card-foreground); + --color-panel: var(--panel); + --color-panel-foreground: var(--panel-foreground); + --color-panel-border: var(--panel-border); + --color-popover: var(--popover); + --color-popover-foreground: var(--popover-foreground); + --color-primary: var(--primary); + --color-primary-hover: var(--primary-hover); + --color-primary-foreground: var(--primary-foreground); + --color-secondary: var(--secondary); + --color-secondary-foreground: var(--secondary-foreground); + --color-muted: var(--muted); + --color-muted-foreground: var(--muted-foreground); + --color-accent: var(--accent); + --color-accent-foreground: var(--accent-foreground); + --color-destructive: var(--destructive); + --color-destructive-foreground: var(--destructive-foreground); + --color-border: var(--border); + --color-input: var(--input); + --color-ring: var(--ring); + --color-info: var(--info); + --color-info-foreground: var(--info-foreground); + --color-success: var(--success); + --color-success-foreground: var(--success-foreground); + --color-warning: var(--warning); + --color-warning-foreground: var(--warning-foreground); + --color-sidebar: var(--sidebar); + --color-sidebar-foreground: var(--sidebar-foreground); + --color-sidebar-primary: var(--sidebar-primary); + --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); + --color-sidebar-accent: var(--sidebar-accent); + --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); + --color-sidebar-border: var(--sidebar-border); + --color-sidebar-ring: var(--sidebar-ring); + --color-chart-1: var(--chart-1); + --color-chart-2: var(--chart-2); + --color-chart-3: var(--chart-3); + --color-chart-4: var(--chart-4); + --color-chart-5: var(--chart-5); +} + +:root { + --radius: 0.875rem; + --background: oklch(0.182 0.012 264.82); + --foreground: oklch(0.968 0.004 247.86); + --card: oklch(0.214 0.013 264.89); + --card-hover: oklch(0.246 0.016 264.76); + --card-foreground: oklch(0.968 0.004 247.86); + --panel: oklch(0.228 0.014 264.78); + --panel-foreground: oklch(0.968 0.004 247.86); + --panel-border: oklch(0.334 0.018 264.68); + --popover: oklch(0.212 0.012 264.8); + --popover-foreground: oklch(0.968 0.004 247.86); + --primary: oklch(0.694 0.144 245.18); + --primary-hover: oklch(0.744 0.126 243.35); + --primary-foreground: oklch(0.188 0.014 264.7); + --secondary: oklch(0.284 0.012 264.74); + --secondary-foreground: oklch(0.968 0.004 247.86); + --muted: oklch(0.256 0.01 264.68); + --muted-foreground: oklch(0.736 0.016 257.56); + --accent: oklch(0.288 0.016 250.72); + --accent-foreground: oklch(0.968 0.004 247.86); + --destructive: oklch(0.676 0.207 29.05); + --destructive-foreground: oklch(0.978 0.007 17.38); + --border: oklch(0.344 0.017 264.6); + --input: oklch(0.272 0.012 264.74); + --ring: oklch(0.694 0.144 245.18 / 0.48); + --info: oklch(0.724 0.129 231.21); + --info-foreground: oklch(0.188 0.014 264.7); + --success: oklch(0.742 0.149 155.78); + --success-foreground: oklch(0.208 0.013 160.21); + --warning: oklch(0.796 0.152 84.11); + --warning-foreground: oklch(0.312 0.046 59.9); + --sidebar: oklch(0.196 0.012 264.84); + --sidebar-foreground: oklch(0.968 0.004 247.86); + --sidebar-primary: oklch(0.694 0.144 245.18); + --sidebar-primary-foreground: oklch(0.188 0.014 264.7); + --sidebar-accent: oklch(0.282 0.016 250.72); + --sidebar-accent-foreground: oklch(0.968 0.004 247.86); + --sidebar-border: oklch(0.334 0.018 264.68); + --sidebar-ring: oklch(0.694 0.144 245.18 / 0.48); + --chart-1: oklch(0.694 0.144 245.18); + --chart-2: oklch(0.742 0.149 155.78); + --chart-3: oklch(0.796 0.152 84.11); + --chart-4: oklch(0.696 0.162 321.44); + --chart-5: oklch(0.726 0.126 206.81); + --scrollbar-track: transparent; + --scrollbar-thumb: oklch(0.384 0.016 264.6); + --scrollbar-thumb-hover: oklch(0.492 0.02 252.41); + color-scheme: dark; } :root:not(.dark) { - --color-background: #ffffff; - --color-foreground: #111827; - --color-card: #f9fafb; - --color-card-hover: #f3f4f6; - --color-border: #e5e7eb; - --color-primary: #1d4ed8; - --color-primary-hover: #1e40af; - --color-primary-foreground: #ffffff; - --color-muted-foreground: #6b7280; - --color-accent: #f3f4f6; - --color-input: #e5e7eb; - --color-muted: #f4f4f5; - --color-popover: #ffffff; - --color-destructive: #dc2626; - --color-secondary: #f4f4f5; - --color-secondary-foreground: #111827; - --color-accent-foreground: #111827; + --background: oklch(0.986 0.004 255.42); + --foreground: oklch(0.226 0.02 255.51); + --card: oklch(0.995 0.002 255.71); + --card-hover: oklch(0.966 0.006 255.09); + --card-foreground: oklch(0.226 0.02 255.51); + --panel: oklch(0.976 0.008 254.66); + --panel-foreground: oklch(0.226 0.02 255.51); + --panel-border: oklch(0.9 0.012 255.75); + --popover: oklch(0.998 0.001 255.71); + --popover-foreground: oklch(0.226 0.02 255.51); + --primary: oklch(0.598 0.165 252.34); + --primary-hover: oklch(0.548 0.173 252.03); + --primary-foreground: oklch(0.985 0.002 247.86); + --secondary: oklch(0.948 0.01 255.08); + --secondary-foreground: oklch(0.226 0.02 255.51); + --muted: oklch(0.958 0.008 255.52); + --muted-foreground: oklch(0.528 0.022 255.7); + --accent: oklch(0.942 0.013 252.76); + --accent-foreground: oklch(0.226 0.02 255.51); + --destructive: oklch(0.62 0.22 25.23); + --destructive-foreground: oklch(0.985 0.002 247.86); + --border: oklch(0.892 0.012 255.92); + --input: oklch(0.93 0.008 255.81); + --ring: oklch(0.598 0.165 252.34 / 0.32); + --info: oklch(0.618 0.152 236.68); + --info-foreground: oklch(0.985 0.002 247.86); + --success: oklch(0.648 0.182 156.15); + --success-foreground: oklch(0.985 0.002 247.86); + --warning: oklch(0.724 0.16 78.28); + --warning-foreground: oklch(0.305 0.046 59.24); + --sidebar: oklch(0.982 0.005 254.78); + --sidebar-foreground: oklch(0.226 0.02 255.51); + --sidebar-primary: oklch(0.598 0.165 252.34); + --sidebar-primary-foreground: oklch(0.985 0.002 247.86); + --sidebar-accent: oklch(0.948 0.01 255.08); + --sidebar-accent-foreground: oklch(0.226 0.02 255.51); + --sidebar-border: oklch(0.892 0.012 255.92); + --sidebar-ring: oklch(0.598 0.165 252.34 / 0.32); + --chart-1: oklch(0.598 0.165 252.34); + --chart-2: oklch(0.648 0.182 156.15); + --chart-3: oklch(0.724 0.16 78.28); + --chart-4: oklch(0.662 0.18 321.11); + --chart-5: oklch(0.626 0.154 210.83); + --scrollbar-track: transparent; + --scrollbar-thumb: oklch(0.828 0.015 255.68); + --scrollbar-thumb-hover: oklch(0.708 0.028 250.68); + color-scheme: light; } html { - background-color: #0a0a0a; + background-color: var(--background); min-height: calc(100% + env(safe-area-inset-top)); } -:root:not(.dark) html { - background-color: #ffffff; -} - body { - background: linear-gradient(to bottom right, #0a0a0a, #0d0d0d, #0a0a0a); - color: var(--color-foreground); - transition: background-color 0.3s ease, color 0.3s ease; + background: + radial-gradient(circle at top left, color-mix(in oklch, var(--primary) 18%, transparent) 0%, transparent 34%), + radial-gradient(circle at top right, color-mix(in oklch, var(--warning) 14%, transparent) 0%, transparent 28%), + linear-gradient(180deg, color-mix(in oklch, var(--background) 92%, black 8%), var(--background)); + color: var(--foreground); + font-family: "Sohne", "SF Pro Display", "IBM Plex Sans", sans-serif; + transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease; min-height: 100vh; min-height: 100dvh; overflow: hidden; @@ -66,13 +179,79 @@ body { overflow: hidden; } -:root:not(.dark) body { - background: linear-gradient(to bottom right, #ffffff, #f0f0f0, #ffffff); - min-height: 100vh; - min-height: 100dvh; - overflow: hidden; - position: fixed; - width: 100%; +@layer base { + * { + @apply border-border outline-ring/50; + } + + body { + @apply bg-background text-foreground antialiased; + font-feature-settings: "cv05" 1, "cv09" 1, "ss03" 1; + } + + ::selection { + background: color-mix(in oklch, var(--primary) 26%, transparent); + color: var(--foreground); + } +} + +.surface-panel { + background: + linear-gradient( + 180deg, + color-mix(in oklch, var(--panel) 94%, white 6%), + color-mix(in oklch, var(--panel) 98%, black 2%) + ); + border: 1px solid color-mix(in oklch, var(--panel-border) 86%, transparent); + box-shadow: + inset 0 1px 0 color-mix(in oklch, white 10%, transparent), + 0 18px 48px -34px rgba(15, 23, 42, 0.55); +} + +.surface-panel-muted { + background: color-mix(in oklch, var(--panel) 78%, transparent); + border: 1px solid color-mix(in oklch, var(--panel-border) 78%, transparent); +} + +.heading-ink { + background-image: linear-gradient( + 135deg, + var(--foreground), + color-mix(in oklch, var(--foreground) 56%, var(--muted-foreground)) + ); + background-clip: text; + -webkit-background-clip: text; + color: transparent; +} + +.scrollbar-thin { + scrollbar-width: thin; + scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track); + scrollbar-gutter: stable; +} + +.scrollbar-thin::-webkit-scrollbar { + width: 10px; + height: 10px; +} + +.scrollbar-thin::-webkit-scrollbar-track { + background: var(--scrollbar-track); +} + +.scrollbar-thin::-webkit-scrollbar-thumb { + background-color: var(--scrollbar-thumb); + border: 2px solid transparent; + border-radius: 999px; + background-clip: padding-box; +} + +.scrollbar-thin::-webkit-scrollbar-thumb:hover { + background-color: var(--scrollbar-thumb-hover); +} + +.scrollbar-thin::-webkit-scrollbar-corner { + background: transparent; } /* Custom animations */ @@ -179,40 +358,27 @@ body { } .prose-enhanced a { - color: #60a5fa; + color: var(--color-primary); text-decoration: none; } -.dark .prose-enhanced a { - color: #60a5fa; -} - .prose-enhanced a:hover { - color: #93c5fd; + color: var(--color-primary-hover); text-decoration: underline; } .prose-enhanced hr { margin-top: 2em; margin-bottom: 2em; - border-color: #d0d0d0; -} - -.dark .prose-enhanced hr { - border-color: #3f3f46; + border-color: var(--color-border); } .prose-enhanced blockquote { margin-top: 1em; margin-bottom: 1em; padding-left: 1em; - border-left: 3px solid #d0d0d0; - color: #6b7280; -} - -.dark .prose-enhanced blockquote { - border-left: 3px solid #3f3f46; - color: #a1a1aa; + border-left: 3px solid var(--color-panel-border); + color: var(--color-muted-foreground); } .prose-enhanced pre { @@ -331,31 +497,7 @@ body { padding: 0.5em; background: var(--color-accent); color: var(--color-foreground); -} - } - -/* Custom scrollbar styling */ -.scrollbar-thin { - scrollbar-width: thin; - scrollbar-color: var(--color-border) transparent; -} - -.scrollbar-thin::-webkit-scrollbar { - width: 6px; - height: 6px; -} - -.scrollbar-thin::-webkit-scrollbar-track { - background: transparent; -} - -.scrollbar-thin::-webkit-scrollbar-thumb { - background-color: var(--color-border); - border-radius: 3px; -} - -.scrollbar-thin::-webkit-scrollbar-thumb:hover { - background-color: var(--color-muted-foreground); + } } /* Progress bar animation for download dialog */ @@ -395,3 +537,14 @@ body { background-color: #7f1d1d; color: #fecaca; } + +@media (prefers-reduced-motion: reduce) { + *, + *::before, + *::after { + animation-duration: 0.01ms !important; + animation-iteration-count: 1 !important; + scroll-behavior: auto !important; + transition-duration: 0.01ms !important; + } +} diff --git a/frontend/src/lib/git-status-styles.ts b/frontend/src/lib/git-status-styles.ts index a98ffa9bd..4fad8f6d9 100644 --- a/frontend/src/lib/git-status-styles.ts +++ b/frontend/src/lib/git-status-styles.ts @@ -1,22 +1,22 @@ export const GIT_STATUS_COLORS = { - modified: 'text-amber-600 dark:text-amber-400', - added: 'text-emerald-600 dark:text-emerald-400', - deleted: 'text-rose-600 dark:text-rose-400', - renamed: 'text-blue-600 dark:text-blue-400', - untracked: 'text-gray-500 dark:text-gray-400', - copied: 'text-emerald-600 dark:text-emerald-400', + modified: 'text-warning', + added: 'text-success', + deleted: 'text-destructive', + renamed: 'text-info', + untracked: 'text-muted-foreground', + copied: 'text-success', } as const export const GIT_UI_COLORS = { - ahead: 'text-emerald-600 dark:text-emerald-400', - behind: 'text-amber-600 dark:text-amber-400', - current: 'text-emerald-600 dark:text-emerald-400', - remote: 'text-blue-600 dark:text-blue-400', - stage: 'text-emerald-600 dark:text-emerald-400', - unstage: 'text-rose-600 dark:text-rose-400', - stagedBadge: 'bg-emerald-500/10 text-emerald-600 dark:bg-emerald-500/20 dark:text-emerald-400', - unpushed: 'bg-blue-500/10 text-blue-600 dark:bg-blue-500/20 dark:text-blue-400', - pushed: 'bg-purple-500/10 text-purple-600 dark:bg-purple-500/20 dark:text-purple-400', + ahead: 'text-success', + behind: 'text-warning', + current: 'text-success', + remote: 'text-info', + stage: 'text-success', + unstage: 'text-destructive', + stagedBadge: 'border border-success/20 bg-success/12 text-success', + unpushed: 'border border-info/20 bg-info/12 text-info', + pushed: 'border border-accent-foreground/10 bg-accent text-accent-foreground', } as const export const GIT_STATUS_LABELS = { diff --git a/frontend/src/pages/Memories.tsx b/frontend/src/pages/Memories.tsx index 72e1d31d9..e63d314f3 100644 --- a/frontend/src/pages/Memories.tsx +++ b/frontend/src/pages/Memories.tsx @@ -86,7 +86,7 @@ export function Memories() {
- + Total Memories: {stats.total}
{Object.keys(stats.byScope).length > 0 && ( diff --git a/frontend/src/pages/RepoDetail.tsx b/frontend/src/pages/RepoDetail.tsx index 250da2b39..745896a79 100644 --- a/frontend/src/pages/RepoDetail.tsx +++ b/frontend/src/pages/RepoDetail.tsx @@ -127,7 +127,7 @@ export function RepoDetail() {
{repoName} {isWorktree ? ( - + WT: {currentBranch} @@ -207,7 +207,7 @@ export function RepoDetail() { onClick={() => handleCreateSession()} disabled={!opcodeUrl || createSessionMutation.isPending} size="sm" - className="bg-blue-600 hover:bg-blue-700 text-white transition-all duration-200 hover:scale-105" + className="transition-all duration-200 hover:scale-105" > New Session diff --git a/frontend/src/pages/SessionDetail.tsx b/frontend/src/pages/SessionDetail.tsx index a89e8bfb4..03003e1dd 100644 --- a/frontend/src/pages/SessionDetail.tsx +++ b/frontend/src/pages/SessionDetail.tsx @@ -336,7 +336,7 @@ export function SessionDetail() { variant="ghost" size="sm" onClick={handleParentSessionClick} - className="text-purple-600 dark:text-purple-400 hover:text-purple-700 dark:hover:text-purple-300 hover:bg-purple-100 dark:hover:bg-purple-900/20 h-7 px-2 gap-1" + className="h-7 gap-1 px-2 text-info hover:bg-info/12 hover:text-info" title="Back to parent session" > @@ -352,7 +352,7 @@ export function SessionDetail() { {getRepoDisplayName(repo.repoUrl, repo.localPath)}} + subtitle={{getRepoDisplayName(repo.repoUrl, repo.localPath)}} generating={isTitleGenerating} />
@@ -474,7 +474,7 @@ export function SessionDetail() { handleClearPrompt() }} onClick={handleClearPrompt} - className="absolute -top-12 right-0 md:right-4 z-50 flex items-center gap-2 px-4 py-2 rounded-xl bg-gradient-to-br from-red-600 to-red-700 hover:from-red-500 hover:to-red-600 text-destructive-foreground border-2 border-red-500/60 hover:border-red-400 shadow-lg shadow-red-500/30 hover:shadow-red-500/50 backdrop-blur-md transition-all duration-200 active:scale-95 hover:scale-105 ring-2 ring-red-500/20 hover:ring-red-500/40" + className="absolute -top-12 right-0 z-50 flex items-center gap-2 rounded-xl border border-destructive/50 bg-destructive px-4 py-2 text-destructive-foreground shadow-lg shadow-destructive/20 backdrop-blur-md transition-all duration-200 active:scale-95 hover:scale-105 hover:border-destructive/70 hover:bg-destructive/92 hover:shadow-destructive/30 md:right-4" aria-label="Clear" > @@ -494,7 +494,7 @@ export function SessionDetail() { stop() }} onClick={stop} - className="absolute -top-12 left-0 md:left-4 z-50 flex items-center gap-2 px-4 py-2 rounded-xl bg-gradient-to-br from-red-700 to-red-800 hover:from-red-600 hover:to-red-700 text-destructive-foreground border-2 border-red-600/80 hover:border-red-500 shadow-2xl shadow-red-600/40 hover:shadow-red-600/60 backdrop-blur-md transition-all duration-200 active:scale-95 hover:scale-105 ring-2 ring-red-600/30 hover:ring-red-600/50 animate-[pulse_2s_cubic-bezier(0.4,0,0.6,1)_infinite]" + className="absolute -top-12 left-0 z-50 flex items-center gap-2 rounded-xl border border-destructive/60 bg-destructive px-4 py-2 text-destructive-foreground shadow-2xl shadow-destructive/30 backdrop-blur-md transition-all duration-200 active:scale-95 hover:scale-105 hover:border-destructive/80 hover:bg-destructive/92 hover:shadow-destructive/40 animate-[pulse_2s_cubic-bezier(0.4,0,0.6,1)_infinite] md:left-4" aria-label="Stop Audio" > diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f4d72663f..a6983abcb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -187,6 +187,9 @@ importers: react-markdown: specifier: ^10.1.0 version: 10.1.0(@types/react@19.2.7)(react@19.2.3) + react-resizable-panels: + specifier: ^4.7.2 + version: 4.7.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3) react-router-dom: specifier: ^7.13.0 version: 7.13.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3) @@ -205,6 +208,9 @@ importers: tailwind-merge: specifier: ^3.3.1 version: 3.4.0 + vaul: + specifier: ^1.1.2 + version: 1.1.2(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) zod: specifier: ^4.1.12 version: 4.3.2 @@ -3651,6 +3657,12 @@ packages: '@types/react': optional: true + react-resizable-panels@4.7.2: + resolution: {integrity: sha512-1L2vyeBG96hp7N6x6rzYXJ8EjYiDiffMsqj3cd+T9aOKwscvuyCn2CuZ5q3PoUSTIJUM6Q5DgXH1bdDe6uvh2w==} + peerDependencies: + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + react-router-dom@7.13.0: resolution: {integrity: sha512-5CO/l5Yahi2SKC6rGZ+HDEjpjkGaG/ncEP7eWFTvFxbHP8yeeI0PxTDjimtpXYlR3b3i9/WIL4VJttPrESIf2g==} engines: {node: '>=20.0.0'} @@ -4125,6 +4137,12 @@ packages: resolution: {integrity: sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==} hasBin: true + vaul@1.1.2: + resolution: {integrity: sha512-ZFkClGpWyI2WUQjdLJ/BaGuV6AVQiJ3uELGk3OYtP+B6yCO7Cmn9vPFXVJkRaGkOJu3m8bQMgtyzNHixULceQA==} + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc + vfile-location@5.0.3: resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} @@ -7928,6 +7946,11 @@ snapshots: optionalDependencies: '@types/react': 19.2.7 + react-resizable-panels@4.7.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3): + dependencies: + react: 19.2.3 + react-dom: 19.2.3(react@19.2.3) + react-router-dom@7.13.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3): dependencies: react: 19.2.3 @@ -8467,6 +8490,15 @@ snapshots: uuid@11.1.0: {} + vaul@1.1.2(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.3(react@19.2.3))(react@19.2.3): + dependencies: + '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.3(react@19.2.3))(react@19.2.3) + react: 19.2.3 + react-dom: 19.2.3(react@19.2.3) + transitivePeerDependencies: + - '@types/react' + - '@types/react-dom' + vfile-location@5.0.3: dependencies: '@types/unist': 3.0.3 From aa87d0ef46f6f6f4c028a99cd55cffa49c9aac61 Mon Sep 17 00:00:00 2001 From: itz4blitz Date: Sun, 8 Mar 2026 17:44:45 -0400 Subject: [PATCH 02/10] Fix settings sidebar resizing Let the settings nav wrap naturally and widen the resize handle so the desktop sidebar is easier to read and drag while reviewing account and config sections. --- .../src/components/settings/SettingsDialog.tsx | 18 +++++++++--------- frontend/src/components/ui/resizable.tsx | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/frontend/src/components/settings/SettingsDialog.tsx b/frontend/src/components/settings/SettingsDialog.tsx index a20cbc196..5a57b53d9 100644 --- a/frontend/src/components/settings/SettingsDialog.tsx +++ b/frontend/src/components/settings/SettingsDialog.tsx @@ -138,9 +138,9 @@ export function SettingsDialog() {
- - - + + +

Workspace Preferences

@@ -152,11 +152,11 @@ export function SettingsDialog() { const isActive = activeTab === item.id return ( - +
- +
diff --git a/frontend/src/components/ui/resizable.tsx b/frontend/src/components/ui/resizable.tsx index c50c2e921..7ccbf97a7 100644 --- a/frontend/src/components/ui/resizable.tsx +++ b/frontend/src/components/ui/resizable.tsx @@ -28,7 +28,7 @@ function ResizableHandle({ Date: Sun, 8 Mar 2026 17:48:49 -0400 Subject: [PATCH 03/10] Fix settings panel default widths Use percentage-based panel sizes with react-resizable-panels so the settings sidebar opens at a usable width and can be resized normally on desktop. --- frontend/src/components/settings/SettingsDialog.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/components/settings/SettingsDialog.tsx b/frontend/src/components/settings/SettingsDialog.tsx index 5a57b53d9..a8e1d9ad2 100644 --- a/frontend/src/components/settings/SettingsDialog.tsx +++ b/frontend/src/components/settings/SettingsDialog.tsx @@ -140,7 +140,7 @@ export function SettingsDialog() {
- +

Workspace Preferences

@@ -185,7 +185,7 @@ export function SettingsDialog() {
- +
{renderSectionIntro(activeItem)} From d5b93d08e6d0db41633ff98e7f1bf85d74acf544 Mon Sep 17 00:00:00 2001 From: itz4blitz Date: Sun, 8 Mar 2026 17:55:41 -0400 Subject: [PATCH 04/10] Address theme PR review notes Simplify the running-state warning styles in tool call output and restore a visible hover state for the version update link so the semantic theme cleanup keeps its interaction cues. --- frontend/src/components/message/ToolCallPart.tsx | 4 ++-- frontend/src/components/settings/GeneralSettings.tsx | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/src/components/message/ToolCallPart.tsx b/frontend/src/components/message/ToolCallPart.tsx index 513d62d6e..9113cd15f 100644 --- a/frontend/src/components/message/ToolCallPart.tsx +++ b/frontend/src/components/message/ToolCallPart.tsx @@ -302,7 +302,7 @@ export function ToolCallPart({ part, onFileClick, onChildSessionClick }: ToolCal
$ {typeof part.state.input?.command === 'string' ? part.state.input.command : ''}
-
+
{isWaitingPermission ? 'Waiting for permission...' : 'Running...'}
@@ -311,7 +311,7 @@ export function ToolCallPart({ part, onFileClick, onChildSessionClick }: ToolCal
Input:
-
+
{isWaitingPermission ? 'Waiting for permission...' : 'Running...'}
diff --git a/frontend/src/components/settings/GeneralSettings.tsx b/frontend/src/components/settings/GeneralSettings.tsx index cf95a82a4..345e1a490 100644 --- a/frontend/src/components/settings/GeneralSettings.tsx +++ b/frontend/src/components/settings/GeneralSettings.tsx @@ -36,7 +36,7 @@ export function GeneralSettings() { href={versionInfo.releaseUrl ?? ''} target="_blank" rel="noopener noreferrer" - className="text-xs font-medium text-success transition-colors hover:text-success" + className="text-xs font-medium text-success transition-colors hover:text-success/80" > v{versionInfo.latestVersion} available From 8586b62f0276158d1fce1fef0d107f1043f9edd1 Mon Sep 17 00:00:00 2001 From: itz4blitz Date: Sun, 8 Mar 2026 19:07:23 -0400 Subject: [PATCH 05/10] Adopt OpenCode theme presets and preview screenshots --- .../theme-switcher-github-light.png | Bin 0 -> 128730 bytes .../theme-switcher-opencode-dark.png | Bin 0 -> 116805 bytes .../theme-switcher-tokyonight-dark.png | Bin 0 -> 134846 bytes frontend/src/api/types/settings.ts | 1 + .../components/settings/GeneralSettings.tsx | 229 +- frontend/src/components/ui/back-button.tsx | 2 +- frontend/src/components/ui/button.tsx | 12 +- frontend/src/components/ui/card.tsx | 14 +- frontend/src/components/ui/dialog.tsx | 22 +- frontend/src/components/ui/header.tsx | 4 +- frontend/src/components/ui/input.tsx | 8 +- frontend/src/components/ui/page-header.tsx | 21 +- frontend/src/components/ui/select.tsx | 38 +- frontend/src/hooks/useTheme.ts | 26 +- frontend/src/index.css | 298 +- frontend/src/lib/opencode-themes.json | 7408 +++++++++++++++++ frontend/src/lib/opencodeThemes.ts | 215 + frontend/src/pages/Login.tsx | 10 +- shared/src/schemas/settings.ts | 2 + 19 files changed, 8038 insertions(+), 272 deletions(-) create mode 100644 .github/screenshots/theme-switcher-github-light.png create mode 100644 .github/screenshots/theme-switcher-opencode-dark.png create mode 100644 .github/screenshots/theme-switcher-tokyonight-dark.png create mode 100644 frontend/src/lib/opencode-themes.json create mode 100644 frontend/src/lib/opencodeThemes.ts diff --git a/.github/screenshots/theme-switcher-github-light.png b/.github/screenshots/theme-switcher-github-light.png new file mode 100644 index 0000000000000000000000000000000000000000..49fe341d49e732cbca2392009a05cc193a2c73ad GIT binary patch literal 128730 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 literal 0 HcmV?d00001 diff --git a/.github/screenshots/theme-switcher-opencode-dark.png b/.github/screenshots/theme-switcher-opencode-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..d63a33e0bec06572dc000d5b9dcd2665a1eb7e72 GIT binary patch literal 116805 zcmeFZWn7eN^e#Lmq9BS&he)>~-GY)5(v3lPcUd4JAT>yXl*ACj(4`_scc;>gbi-NW z-uwTakMH?O{x7Z_=BF=)uj056)ko7OnG^yp2=7cG!M8rC52ovdUo9Xmiy~gt{Vh zXw7F%Xd*`6#dQ4seu%1r0~-6u*w@$o_~}!WZYj$@|3o0H7@3)yWY7Hj&!;%&JOBGX zmACya{`-FL!Wr&=-+tw|l>FasyF5VP|NG;DD`(CAee0)xP5j)y@0VX8$o_r%l=%Oq zOTSed`ZiejVjx%BacjQIajxBZq-3RzK&)!JUsv69q}tQf#AKE=zv}b9PmkC!Jw$jc z_GYyp*~tZ+zNDs3)dvwDA006$B_3_Ga7s%_W%D{XJA2Q@m{NHz7rONSx5!SydxKGtLfB22%l^W@ zpIjhD9(qQ^?$_5(pFZ6;Z9iI2^5wdjk(M@U|C2JiXv}rO8+%T%ug)h{6ygB^0WB|V zZ1Vm)FnS|a!sn$uJSv2DRz?QCeM{Mnt@Fn}oD(}Ohes|l?eN(hb1fZniCfPRI~?lZ zx_@6OL6E-Z$&)8BQVpThw%(M%>+-XFH1T4-HIb(W1GS05?i-$K)voiMDN{c~eUH|E zc4x@8QJ?$?upGz}v7dZXC1~6nnU+Quvz{Jpz?DbKy3wa;n9w^?<-Tc|U)_Jp=If<@ z?l<|6?Cw*)^VzdADuelkVtsFi_AZ+R+Ni3kdhV_sH`0by9W3Ust5>eo945NYl1fYe zq^KSo93(dMDl92+X^Z92xxg&!_9s~}lbqY^W2F47<)_lBs?h^MvMh$sGiT0-cwyPT*8db7@atNV@5z3?&vs61Y;02mW6Kt77sCR| z{z72fxpU`At%g3QcTA>+iVm0BPW<}zdTMG)eJ*TXPd=%BwkGIDa;n*G@h(L**Gns0v=8^dU4)?pJGisFUcRj8&WC)F66+SvK3c1&ej$Fpb8!mC*S-LL}YDZC2Zw2tOkNjnm~3a5oY z#zeQ%<6T3a{h1o?!;{UVQ|=F$%ZrOFp|5cWd?1eTwu|2ga&xOWhxhjO!ZE4q$ox>8c8UVe_wiG&+7bR(mMRtlLM|&W>?&Wgb4X1EG&%S zEo{-or-THQ$XJPWTsOhDl;HZV_rt?F?oRgh=B5cdJ$b{4_g?s?{OIah_b0b8^X8CE zQi|uNx$*n=@Bf}ZPsZE(81kU0Lt&9{)c1-CK}aS1e#ou;7S7suZu9UIqaW|CV{_bN z$YKVpVJi->9R}4N)qlQUX>V`WNy*7sYK^(CpcB!?(q#Me>C=Y~AIi&PG87NJkGBUl zm{>QaBa|x2%VpC}#y!_!IM)|4laPrdiE_p3Q$JgNKt$d8pGT#Y4p|;5`dOuSIh0Z; z1D-YXjK01;<+W=CP7B@P;o-~6%Mf0WZ)BcVKCgcdNr@!;_-IbdcL`NW#G&Wb!d?n% zDJR3(RNPwWvZ51lksgHmuIyxdGB$Ns!>&p<_9rw)V9hIJ_@t!F(to7*- z-u&>GO&dM^{q2=zLG(Kw%l_6_o~15n>T1~d>Z&Ry!34~o*VIQ}%VOD(^3k0%klP*&b@=c;{pts+C3}^%95vk)KtRo#=dv-~ zB;YtJ40)2U%fNNaIV2=RKtLdl*P6@r&;DFeXkZ{Iq-IF@(+hC!hjr#M;%vCuQx6xL z-mtYFAasN`8fkCcx)s5ww6nb(^=|)ocOn{hJL#S{H(?g14#uoA`2nre2QwQRWZ&uD zRA_p}e_6vaRMNp=qaUSvYk0NrCzU7EA8b`Rfhg4c_x2IAva+(gHD?cE!#{mu3MC~a z{qLkaZD`=5sd_)=(87+3i|e0BI1a_GI5)R-vXSP$KhEHqvF2o_mgM<+Hc?1`aa z(x*@J^YeQuMDWC%p%o~R!cV1WO?N-}#0rBJ`e+qHA^LByOa2t@7;a&phTKhLJZ zfBkyu-rCXe?;cB$y!sEK{@;a5|IdIrhR?6&w?Fw+O2Np41ooZ*L*L_XuW_zizKn^M z3ZWQEl@86w$be#+k(>LN^|6c$iJ+6&ix)2*J*tNQ!k>A45#PbyehA9>8{8Wf78XVl ztgeoZagZ@G9M^~c=`DUdwTARiJgwv)<#{#*ALI|C!juoibt}mn%N^O z^x(k*$N+#J+||{iG)^GRhoDjeoNkF#3^zw%e#+>;fab8ngf=EGE4X3v6=l2-S9 zVq#+1bVzk_a&oyH#eRxi;|QIQT{_}^4pC@(qB5akJ8iwaLTn_#^*oTX%~aU;xZ4|1<_trYl*s<$sORynp|Gb#-;{6>l#uI^N(9AGoh3zj*!} zaEfkBr;a6K)6nL|hEcf=!un%uEXx@TntU_3pKyOCjC(Y#07d>lC_EZ>iX9grKIh=% z6nVcN5I=f=M(oE%1mod3htC*oB`gHfq-Afl?__0XkE(u-J4tu`3O;_+C7-LfgUP^X-6VY%+l6E53~{#_f1+)jt|>j zsO~co-?~K)`}$D4^4pXDxPb3A0@vD_o5^^s2E%Bj@n*V3>Kbn`n6$;FZ;|FS%?zUK z938J*y~-<_6eaq*?_&SmKfAlN&}|mq67V@Hv%f;rqMMz6Z^CSSeH}m%SK*7FA)}*u zlI0Kk?CtFvbftMEzD6g-wN9oB1&eU>yKRft2w$%?i zHgq|KF6yl2!UFhNzIN$*yL{176JL%u{n-3zlBhS`FbfmYFQvh*3&nhXdD+>Q2?(M) zO1=6OLJ;^$^bAN^sX8&(yo-2b+%nd6> z{`abxiuLvNq|ticq(1HfrI1P(E&b>bWEa7}qukxaz8nljZHH)DQ+B6FHVJz$(?iFM zcD2aaOLB8_A)5UkUY);Vbxr*6@K7GTFgf|01b{s46yWT}hgw>nn!enO-P+pP+jEPM zXo?KLC!bwjwqgpqrmdrK;EBKB6uoBc=C(&}TUF?`J_#6<#88QS&KJ`akq{sMVWgBD zH#xs@RnVA^h);(#NmJH^O9<^_!&y= zyEXr0N>JTo6{=riPDI*m}Tyb<=;)Yy1?q3363&2(1; zgF-Cu3(?U7nMpo6Iyx4gl1~hQ8nXnnA^bJjDTm4O#@#;aqt}?(#f~2 z>B4&fzV>)<=y%7yRL!$+qZ9WVv)6H zt(xoVXc-u!T$2CUyruHWO8JZ4>ywY_)cwUxW##0a>j7cYc}qY@Xm`F#l6*@WyT=7O z&d$z0J~hjVBeoPeUp=r4T5?O*f)nHuHdfZ0++6rH1Y%gmC9S2U#W*u|#5J|&IZe=91GLELYcA%r77yi_lk7gYGm9dl|j!LkY+P zi=ko{Cnq)WIT|eer!Q}3XXot9vn!9ipJ7>-Y)cD^vP)zML0DqXi3TF~HcN^AcWOUJz99N3eT-uL?Y^pX;dzw4U? z&EC+EhPdfpu2cVQQIVs!cQqDHK2^oX$43{T{MvtE7pLOl5TgkKmJRWB76=C1g~T`KVK@HDl7L_;&x)5tPn(TbaAy;NZA7 zjg9FK$p{?|l?z(2>PK-@MtOOA&vhhmPAFm<&Ct+LbXZzin&)cy+-l_-m6%Tz&$c_? z%MvJ6f4AHURbC#GVC_Ui9)Dox;&S!Mm6oO^Ts%A{XJ_?!ap=WbTU&(zU7(rW`B+(5 z^W7fI7L}^X%iEfY2}QS+5`IvK<3$w|*c~5iL!VT3aBk|P*`pA{MUOpC`I`9#DDNI%FWO`7n=W*xbFrId_UGwa?p-t}c>1#SPG*oI z@OyuLJ&+V4YMGhtUn!m7Fy!P)Kq5^aB6f@)Y{+At*I!0eLF(G*yMFDO za^5a56D8yBe0+QhRlTnE_F=XKxw&kpDoC@bQo$^&tPu+Ubo9#XzTIsBb^y>E&jdZWDuK5|Zy1HHSy)(rn%93BavGJ# zdtDBGh~`gIV|8wtoKpGX{p`S zJ{%?EwFxb%yv7DFBxAm($Aq}WVyn>zvw=K)cXxL#@6}O(3(4|i+-Azw)+;}$ec2cr z@y}SY3JVKE_b&qFO9*&Epy_}iL`4HG%GWFJuA=nyJ^lFcT10-VS~U;?^4W25ah~Nh zU!c=(B#u5m6#g*oX#EGQIxM7(iWomXKL>}RMoCsy)7~9~?4YEiBmhnJi8l?~P~>%# zm2Yd8Jlt%U2~S)bETk0@Iz;N)!13rMbV)zGAM)nS`M|2boP!=S`T0%=-|N?}JJ=CY zQE~L>q)?pHH#9Wgdu(pL@VhPm_$KzBcg0TDLuU|d_wGGmX?$~2CpT*=a3@VRVtU>Z zC?+f+3>@~1mW)KYc~8cL3l|`8t;Z^O046>6{r>&?w9Fc;6)HbJI@4j4$vZ+)8aEAy zZ?@3xUZDPF5Gq$!R%;Gdpnq{UfbR^Ft7`J1k|HQL3t#b`NF0C=W~>l zl#Gu*-Jao!W^j^-gQooS@l@x40Rwy@tOrU+Q*%G6uR+cspvfh(Z)e8 z_hRdn-tAX17frZ~SliYfm$)LISr+~X!sB&q5S~&S@DT3 z8zynvkeH}6TtL>Sxw#qB#u2(vO-H}+q;$_lXa7m$P`U|F15N1GiCy06ID}OmgvEr{ zX7FRPi6f2dFJC_TX>sXEc8+?KV(G)0A9UVG+G+&1D|jf9XCQ z%Ak1NbWc}LZ}iKPRLmclg;OHuzHD{EA9Re2Ndk^iA=YgD@m$8ua180+$MV~Mo)#Uh z0(=r>fhCABYT-RfqWeFd`%YgffIJ!!O?PRtzvtwR^TF0aG>5(pP=`?aj6DGApmHOj z6U+@^lkd*a$V);Gx;Np_hZ$CT6jNN2Q~uJ2(HhL)h_MnBAT+3Qv-gyWFDMJU&&8EC z1T-~icCk4mEqOGv?I<**##4=zCQP;qV;Bb>)Uv5O^~EK3507TXXG3UX!tiFIo)a%! z?SnU;YU3Oboa+JcpTfrd{r!1)c+3N~Rwm>qH({H$02Ir~6ap*O6l6SQ#=}me)6txN zB|*{Do;4=o%a`oz=09o@r2B88qoZ}b_)teoa{Y$+rf9a!-D=bt17alHcfr3pjJJ(` z!pDDe9u?Wbhoz{DBu;{rf}J!cm(BT_(1IAoA2aZ6&@iGcnDNl;%?;l3sm!m4g4a zKr)3;dV0FMn;VG*2se$-Ql@zvFtkk}^|21qwA!H*9G5=QPeUY8!J0})X>zN%PF-S;4oLEnwc-$J`9II#S)Z&I~|0FgW=g6(r=lCx&&|@C?a3&!t zipOfOpe}%5cXdpcH7qsbNvf3WwW*nz^baA{blLq3bj@KO8=ou4TF{ksZO{s|_Hg_G zxE%R$>vsS(FPmBjp6=xvGnasL&}Q)1nzskwmVP?rD*F!4H=MHvtygy~U^XqOK~uTp zN7ZJxE;Ac&dimxmZWr{s8SvurMA&SMJU@QwxE4;<-#%HHmF`)huVB1T*U7NaABjY= zcrzvIOXLI>KHb1A+_SM*H@33M?Urs0FD${_Tq+IUiCOdOFqM~&*5hGjmfh%qUWD|( zs<6{T!$)6hRE|j2dn)Lf@gs~<^nT^S7t=Or(6{=J&YAzSj9*Kp2NVu3+N6i9=O-S? z>j6y=FCFboGIjqgdsOKp6e3XZG**ydVKfTnQ|+Y&su~)HvsMKAa@<~~&3vDl)`GmO z5BB%7PRFtM2k}%S?m{O}Lr7^!gg4O5)3dWSg9Q&l5ZHZ^RMbx);KWPWgyY zBc~XOJ&~D#?x3-;5%fxnw+%Rovp7!}y25!D4CE6^-QKtieQ$ATnk`K%Eeo@5cdP!u zDaYf>S9~()#l!AHl51KO_2It4rqa85S5=8QXbEI!p<1EvbRqp(m@g0&Z*H2~FJxt9 zbiP=BPgTX|#_VxCX7|O29&Su~TTda>^Hd2{>qwDYAnO*bLolroO zL?Mw3hSDRYwgV?^7MYRLma6RsjZK>S#4L<&T5BK8Sk08#PeJ&a7?s^MqyM;o878yM**2B&1HS?yOAR%(MvTiS z(+x$%iA+#XW(Y~NPhFQB3h2HWnww|2;77J{&_ogm2nY%`V_ZVH>dFE%{}8XUqcYf9 zs(3af;+$mfpjd@&V<3((w+#&qtqtmaeYf`JLm5`o$1+g+^M;j5EtOc^X}Sr4IsnIW zOEX$Nq_fo4Fz_PYsd(#<5o?Uu>0D8Ix~7K4>TvNA$RZztf-I{GM2@*3b!taON6$@7 zrFv)2Jjp1o)#CHzLrpXiK5LPdX*VJv*72HHS+_Y`FrFeAFikxL^?c?H^0)4zSG{nE zPQ*LB=JC?S=ICg0n`-TYW`;>Rfup-VyAlsPQ}JsT&Pk!wvQ$W+49Ag#*5%b6+gvxB zqvMVmnwrM}z(FHaWpxN(4_d&>xVT|1AAC7nmj~}z^fC!hGLd5TlRkm!*X_fYjm7(V z+g6SjFoB>CrHj1_pSKQy50TWqA;=XyYq9Z6jd4DEwvh=%b>7H8w#70tC&@!V+#$ z_x(GaMv<0T1c$7#wc7KkrNpym&)U=;?*NBMrZEv;A3WNBL0ht4jf`5e~mdq(OSG^!*WbN$dxZ#g1#ANMSo-E$g2e7WWESm z9~uq1BQj0hvgdgU+J;v5)cG0g4V`&euDps$H%OE~=`uf)1A>+9`(&m0u@n-;Z9n+~ z6eP?^zLuQT3G7kg!*rt4t1prg-S+`aWh#JdL>$c??K^8*weIguOT1+?`8lyE2Z-8o zbcojztlMFB=I1tBd-!Kl1CAlgzC-9@j3#nh2THtb%A2)eDG&?|tK15)EtMbZ^Js+5 zE4n5P@G2-PE887xnNP_(=jJj8gaEu)!PY$19q4`!uPEc%WIT?!oV@O*;aBDpMsQB z0Kg`keNBB&0MVd0R{+n!x@5R6waUQ;33Ev9<;$0jv#sujE2X#cWOT*eyVO^jOBNOu zGHBXC^T~RA7k$|*>Bo;B;9L3YM<^j8CN^DP`;DjsdKTSA(#cDFA!b6DrZK(%k}qZzw+ee5PUm>n706FW~c5N z1^m=6;qG}H!AB}8D#X=i|ML-bj$sLoe_sDT>_u-Ci$g0b55bzV{Ogz9P^^ly1&{$> zcEY4C5>R3J&A%^w-QCKwf{curXtWA8QD9#cC9A~ZzR>^ug=X-B&Y2+wKR8AtJQix8 z7=r`?N<;dOkr7Xj3_!tv=2PWUQc`{&Bu8>#w}RKN>sH4qvHcT0C?)TMgYoh3*x1=c zpe?`Iyk%WFwgZYFA2+wmTO2Akafvx-l%Pz;+16;wxvY-5&v(+Gz5%g@wNj+24OY23 z+S?c21g)m`f4U+kS64%{k*uR*(SHh6IRbQdH#G7C`AGa{<{E`P#F;sJ>%7$6VS^-N|t-iPEQC7D|H3n)O$)V3eTKbs0`S|!a0FM-HKP82m{|~(diM9|{+Gu&v=g*U10D)8L9}9{;wDv+S%b!wHQvrAL<{LGK^UM2Kmp%HO zE*}jPgptH^vltum@){4&v$ON^kkYsbK>1^$fo`k;;$m`g5?IIo>`wD`C8V!XzkHFQ zf(9C>U3v{9xAw+N0JYDc@;As6myPeRvdXh&<>W+2#C&XY>;3YCklWH71KbjZHpLMO zyl^@hqJ_yfcXp8T+T>Z1RK_|w5q`RfL^p4$sjEZ0_?_C>J2*MII63q#P*BvI8lL{t zLPd;)XJpJ~%+C5ZWW*l$SNJphy`zHIU_kWgt)H{979e%;`N#@28r16(>8rHX(h2EML|hP z5#`|G;NH651cchF?tA{`-h!6hI*WzX<3$T1}IRp0mBJ4TVCrH8w&CeKp+z z%?%uX3v+{&S7uGgGxkt)8#s-Pjq%|m-!%$&1g%Z@128*i=#bnu`5Fl%vdEmkoA_xmxz@g+g zFQ9G%<692Cg@lBJj(CBd?kadzFdiV?LEBVJ5*^FYJF(_{d7_CmpkRw$`~X}ktcV|& ztT;YfAD|Z1ON$}G~^s^7rEMCsu zqb4EYcUjiL!3nUT6wlWwmaDw6{ekp8M5&rk6*x)=JAuAyX|Q*6l!rXYZt@3ADZo`}=c=AJffXMSxn1${|XM{=pjccG!a`!mt7 zeG}fhV|?Ro*oa;TC@WvBSWe|4(o3;kMqL^4_@-(g}L0f#(p-67E5ny5)f#bCcJ*VXoprN(9C=v z%d2dA0j8Q#WPfDQyF!NODn8;-BkW-DPf<9YqYjm^Oqp~1jC3RZzJwDxF*6Ijl6V3@$P zgtx1S2NK~eQeLZ1RkVFHPilC1kzY|z9d&Qv_<;aKpCI^zV+Fk#S| zKW|%r%n!9IC^R%bKfl)Qw*-)Spa?^?@|JxWoCB2&>rhg$hTnlFxxw(*Z80nJ{rmSC z`37SdF5EsoK5Nyx25aNhtSl^at9Vzg+^^z((SRrW6pl2o)yz%i`3BWeA4t~WY<9%* zwA@wpM>SUHK?;C~8^B6VDvxd3JSc@+T6=m_`|p6GZ{saR%pUH(wK)z86Un z`_~>lb`{IjVb6m=wqp94pL(6R<&=D6R8-Rxlv;XSZl7(iz((zhG zN`k&sj+I{0ro*J^9(e=ciBj<1Xkv67wU<6UIi~kRj@JOr z2XTYJIafO$(ugiqx~J>7d*=Bi$e}!jNFL`OhaOyo-iI!M*}9AFOKbI5hIC;Q(9c@s znrKrSeG9UlG_ST_#*bqG8r!&FF%m%JymV8r_u_otNwC?6rK^90;A-fV({E`%bfva~ zuWo3RJoU!GuqK1FHFNLoUAs=-E0->PbTBoY0~d)tgMrujBkRY3aJ*_yw)45{dldL$ zxZS|)Bl&~*j6DQ9UD0q4Z}Aj3GWWCSYFRb&xMh>-+Y^N72YJ#uBqS`{mw_%t7thYl zg3Q7Q{@RI&(@e4B1)!nXadYk8@}e}QEoQ2L2&!6dAUE!#TSjha%VCeqP=)N3a8b)m zGGZTa-(nFi_CZ`Fv3B@8!Vp2rO+(rD6Q>Jpwqg!FoF<_@J3DDSN}O8!DYX`SOG3$E zm(;0>AJB0x^`q`rft*B6My8{w={ntbUGjILi05=_PaEZbT);gRmgcl9@N6{inQLpu zKw|rmU~MhEaDS#JQ;BtHdU~44+dpqv{OkA3VU{aR2=iFYTV6&VQ@^ z-n}6|G2~VtU9k39Hc+hAefsA}C?8+WPC?B%0J|IWYiq!)TI>A+MVC=^AO+Ou0Ze)-o89|<(3~xEzf>mD+ z_4UFkW&C;cCD!`+S9_X0X%>ne&&|z|YXUN1=j4q3IIN5Y%OmJJp%elRAhZK&{OFpt zEp!i?RrN{#2GQ(8oWtg+D@iM(_AIIl{#%zRiHPn0)Kkm(Td8bDaqiX>Efk=OU%fh; zUOQ&U>WtyneboZ3?!Ywtii6Gz!so+jlwq;4!z!xa!-G%&0T;~V`ZZqrVAqFjGVs|q zHZ~1suHEXEN3#W{tW_*=u>098c{qR47{5Y5K;Yhc5$~Rco*r1~<<&%7S4RUNWewX<%-dk~!>>G<=-I>Hu65_CFqs_f69i5l!()4Tw+y4j`FQ!(gdJsv zUJ{A#g6}6vaCn|5+$01T3VlU={RD;K>)`iguik3C-|@!Zzj+FRfD`qwGVb|LH^_H% zej!0YJ&7gG)q;;%*WS8}$g=zMX6Tbz=VoUw))N~Z{S-T~p9g_$}5))nwzk5 z9i1zGMN-T5nj-DsV1?QmE8stKL>958vs+RN92k-gH1*kvxm~&x6Sz&gpdk_4`dqKF>)a zz8Nw3&$L9hOey&u^Z?sTdKnB972t{aQc@r*R9svPB@oCfShg;?JG8Vgqp*rxw4|jp zTt7xo!vF}_@V^xp)0z2z0&H|gL}X0)=fO7Cck&ZP7&MS(3JEURSy@BHmeEF|K+Z@# zfBrdA#^a9{p*7&I@KvM`z=+>dX3AtmLHjgJa)|6lN*fxHi|9D-&30|t z5Abob9PUBs0|BZHhuTYdL)Bf_arQ$}Qc}}9B1lk66ScKfV0Z5Z!-%X5NT+Gjz9)0O zP=id4(XiF6Ctz-_IXyW9u=3Jq<_a-~Ffim`x@XrA#nMZBqkn$fPy%MHCN1q@W=~U9 zvjxZ#Ku?q}WW;T3ZUQ1Vvaj~sg|5LHl4<_aYF^v%qZY#xht*Lm-B$s13oJ*lK0*;A zj3oxruNENDne_}STs1CNS64STH>dXA3PTSEan|sgb>7zgVVdNPjEcH-{W^_27A+f1 zC`%)^VH~89MP@2o8{71Xiq@df8wsxC*rw^GunUq+?GcyOWo2!fU=Doq{TSZp~UmuI0j2e_)pq%B-e{Z>LjwS~L?Ktj z;xIUdh~D~oV=%?n?zh=O({T)HN2f| zekU46k=kW{nrZ;+M90UQspjq)?TI75CEb6qB(DU6?y3fPWl#a+M!@5@It!s-mtol) zy>&>G80ah!lt7N>3jnFB9jk+sBVNFn*o&GSUT)f^rVz22CcZ|)NCIGbgCP}D!yq&#uXR$PN$2h$GE-)@iP$v|hCpgQGWnHX`z z_s>_c-x3Ees>sowx{WXJ z8GT=}OHx!hULoH$f5xsb;#aM{?inX7EiG$nlyG+YU5I$dzkv3i@+nNr(`+sd4&j;BvDF~y0R05$Urs48+vVf@K7iqbTR{H#T~*dr zU7K8BObM9ynP0u<$A%V2&%K?ZvIZ4d@Cux@@3*N~TCpRxRND3n<2l$2B5*w``naD0Fk zDAt^7i`$)zvz2Qh5ZUSkj0;q0x)<0Wx?lBTd*B&!c>gn)oH4AT7rZ)Ouf|5PWPQQ? zU!q@Lz$u5|a93^WUJ%!&w_tRdsZfHAdA&$F+ZZFr=y)!S=y&?g#Cc1#MF#)>V5)Ow2H&`1{`89${sb*7ch%-n2D>1P*U^oI+b=l@a<120;zU7pf1m)%7J)(Q(5E4X-w` z8yF@{v7c-fwsOv_Nf#`=oZtp9K4+tcP{;b6!nT5qt^{D=+e!_^@9cfrlXMOKS&I#zvUsTwSv2!l4 zN32XusX_#(zSz}Wmsy2dTV7eQHb$(ht#OjBW2fVW3W0isX6YIjpw!gV3=B8|%Uz5y zFWsL#di2(4X&7|{+%98dV=c|ibSM1_vMIf_R@6paS1Di$u5+D&g2iHSMvRy-A+9JQ zB2_Vbe(kh$(pB51hTh4>!p6qTDm%;eX!jEp@4PoLC@ZW0qS+83Pv7LB3+)_A*^H5#xookzcoiQ8;z42`6}j9FfAOISn% z?XA`;@^W%?QOMLFP|)zmc^@arA=r87EeNh&MIv$VNbH70Wi&Vh%DN{~x(=?CoBrKDNJ<8NYcvHZ)X8S@~nUU$p8TKvX&E8km)PqByRprk1N+Bvmoi{VFY% zO=2OR>Z1fIqa4Hu&~&ki9d8z!8E}t;$+~(KYH-i~y{*u*v9NS6IHB;qb@lerZ8mG_ z>F5kYZ#|Y)8<$?+w*~yVBQE4M{|nm7;Z@RLLW6#;a~KyNA4mz*y=zKR^_>f!nrif6mMM78S03;83vJ)7&0J7T!sHH3o*$V;_J6JEFiZD#9X=tdn zx60xmISpZsAcej0c{EH@)886!hbr>V_XT(jn1tcFXDj6Q-Z#KdP&W(hy-j?KLC*jV z@Z)Glp1~+)7Mbvy+yH0+dXxj*?V=oB@L`v|Du2v9TBHb%wx zk9);Y5cybjpn5{92yWrV*yfYO zZqwooC*X&`#R!FZn7TtdUVn$M_)xLsPJ6sS>e$P=&(JX}d{Fxs3qB)=T2Q{g0c{~S zM_yIlt=7+Fkez-&x0!o#alXrB1y-7ItCIAAu0 z-<;1F=1A)0zF8t#`DOuP6ZD8xNEvi*tY?u~>n?i4*)Tpq+_9Yl+DWm$5j5p&{TAt+y%c z{EW1So%s9$$W7>gpJ==+6#dm@8h;`LFA+tm17z0QR0>xKz&fijcbp zID%t#HaB}%_6`prnV9tuU17J#%8-4fZD2rk^JZFZr(7GWjjCV_IO~= zJCJA1hWubAK+Jt3t$QM^BC0aHvDT=W+u7eD2)<;4H02s01RLI zsFv)uB`L~QW<0s9oz}}@xIAnu=WmJ$~H!8U%X1e^wI%b z@k{3{f;u}p%gXq(*ow@~8EVzWvOCKOrUtpv<(FAan~!veETZ|C7# zoe*pw$2vTGrpKg|u519`EP~Kv9{L?-)_wP^q=p7kczb<4Yymr~!o?bxc|HMBUmuGW z8>X>2me3uHB-Yc7VUU8o_4UW#cnP6RK*x^du>>0dn8p7<{|Zy{x$qqblgr?KS21ml zWR^=BvCzDsi=Fay-<%!8$|-8BeLtX;qwh`-^YsCq)rteYT0w&aY%Kgxwie}2SffTT z@Gx0rWm^3$z@Xjzib)#;VxTv}cOxQcd9-}p4P0#N>^%kY#2=hj@G$c=*dYp4 z6_rT#Ex5sL5uY32qmYLg1u(c2>weqY--pDh5Av78cESpj9Qd43u>y`6Y26G$CPY_INx-QhI)BvHH#NCkaLNUHeLKZD58$K2 z`6oa(8NP5EMj4>&sX#yT&uh#uGx!X<960Yd^kb38*$h_*83M7Rf~u;&fq?z3irV(7 zvpNg+=as~cv7Ihc-{9apOq-THST8mKl2U_6M@$HQ@3s-2u1g8bCkWp6+W~03z1_EP za;iQE`w68Fhz!8xdY*t_q2A9t!G>7@B_kuFOHr4$Afum)vvY!gqsimPAL=#X3odHm zn=Qb_WGrN3V*`!V`p!;XZmzJ;(H_*}+$26aIwSb1k?y%rv6Hfl3@JIF30}W?g?Tvw zeGOQUTw=i5+!A<$QOz`hGxAXoQ8lzJ*-KbH3W65m9hGZam2d_z@ao{eW9I|*Ug8{K zMlQknf|GwcZZc?@!fJ@iSZJf8wZ47^-2Wl( zK~uBVF)=ZLgA%pLKt~57^gfUm{A(}4&;p1$1FyOOr2)GtFM)b$*)TGc=Oj1=q8}qQ z!3D&;8hAT}&SBeQKLz^)9Kk1y6jSsJ3~~i!Fc}B-m6%$O^~w6Gsw!{{Z?8?9?yXNX zX8;`y&QMq;n5RS$Bm;g1Q}KtNsls0}pPE{kBFg$3MGIjl1u!<28G9;(j#EGcw|C>7 z!K8J_QFE87J@Ay}dLD<_M%{sHybJB(ZvH~eVH)oxd&>ypP_xA0l5W0{opm|0I^4g3t;a`RD{PXJ@h|~>J z-f_0~BGTh*P0b(5O&`7SdeN-YcxYV1wuw|2SKZf>^{v^Pyuw@#9RnECp@#v?N#T9~ zs#eZvRm){WCuw$ewuGeQOsV)k$F!-8F6N22>HHgnj$%2}F})(YdZ$5m_7L)XGBn_X zwQ^cnQ8Gj@0Shz2&}-6_Ks%vb>r?%s2a113Yis0f2iQbVh(VML6C7rPS{7E|43aB5 z`=b+C`N{HUbr-e6Nbj38R%wizU|`SztEDB%*s(pyqIe@uRBJuLJ9LvUiV6hhni?N~ zF(7?m9UjfYdJObBmsoRd2aSW7Kdoc-SXN%X5=4(>8fyz(%z8$ZiSMf+_!IL2`MZ|ONo}^*jkRVT{d@ny}E{m zhVpAq1SRdDyeLEeCiZy4lfBme?}=pxYC%vy;O|V(Yei>%TvATY*WUz1j8(&*VzD}; zJzd4YRPYp8j=N31b&o6Z+N2YeOR=Bh947 z98E!hAApT2PM629grdu*g}%cKZbnW{&P=1;QaNw5d*H|3ZLI%o++v&>_lNNnNT%TZ zk?Geb8dedCHXfIZK^iyRNz(?wLi@Tl^5HnFsr8IfHfN=ix%2@itHWY1vt*|gIN!^y zwxNF!^gm*08Zz8((tvnDSUq$pFy@O367JNta=(D7KXa|s8k8iMe?bjsqm2Ti>TYYf z+ZTSkD7N?OT!h3_ttfVcY?MGPT*1}V)%g)L!cZD9>lBzwjdruf8T!}#90&qj+(2++ zd>VvdXL4R6=uN@HK`QFyCMWlv_g#r>pjyv@6AZUf`ySb|9)~>y$9p2-FxgqdO(g2s zxMUqU|!!98vbPWKSPK|t7vF2)H3Tq zegh)p{j?a$h|8~fh|8~kRnK?mdK*1g&GM6U3NIE`m<`vZ7S}Zz)x~8>e_*Zis%3G} z!ugR=1C#?SRn0I%xOegVd5nXmNF7gA_;q>OjV<`f3v3GsVGc<$r<(5BDhOj_l$5}m z$H&Al+h@xLPNTvbRwrtGL9`#1`AKvb5gRKAr$GA+?}>jsl5@l~NQ7G;i9xpyIG#8c zM@Lomf-r3|S%+H@C6wk?|Jkv4?TEUECAB9Gj2Vj5Ave8N!IXjQB{X&BgbGUS4 zB`r)+RK@FC~bCbu5=>;yGLI=(3b2%gVEJbZx&GN z8l2HrRi*7pjFL1Re8aZ-K3|oWQAEt`&oAt#*_nBmu+GWOX48m+9yEU(TaRqU1Xpy% zAccLP5I_Tw48$K33(GM0VKL@CbSzQkb;=~+JF8$mjk;=NY^)H=&CJHO3<(vzMOF>% zb$MFakGpE`T!zp=LD-s!p%Hp47axCeoanRJ#s@@fG%r1E$zT!&!>#@PH=)BOb_*Ax z+zAvKEq$I>ABtVga zHr8_HY3E8>4@~|}(gj(~F;Rdcs7Ljcj^v&t2LnR}G|=Ig><})KRuWtz-~&cg-nQ(N z7qvn;fkM;&vlC&(%FEk7odcV$MKzOFan_3N?%mFbiKKiF`0!*A(5S$s1WD&srz|k| zRsyr)-rj&C^?@%~yoOGOnrjm#%6gn$rqA9K)p!W(2TE<;!n?nLpv(UdR$K*WqiC-V zaKwy|p0k9qKueV!;eM}kQ*RP;c`nKj9KC*~|d@BXx= zC@pO&R6gj%c&p~_!e#CHfR?_Bk6&ylh@;g3H*3bS<*~a8o{!JV;<3Sjf#9-QYpkRM z=T?X&h_ew9H(=U5GXYx#el5}pb%2}$-jpL|nu<&0hG$T)(@>t407Qc;5?q~VN-?oo z2rqNwbrKK)h|FmJ7jgd`j`jcl|KqevDwGmZGAc8LY@w`B*}FmZ$_j}VNhld*gfb(t zg@}smO_XfevNyl$Lp|T`&*yjij^FY9?|c67JYKKT={z5g$Nhf4jqCMtYcAVmhu98< zA|gVmo0G%BX`&y`H+rLZVP>UobEfFxVW}&MMY<;e_;1= zfl<@N1y|sAZ?BHRQP^zVn`O5U>xVVVkU>lF<~rLd2toD2{5+DXXY%~DF{nwaEk@DW z+S;~HGkG}FHw?D%4WPcMeEs^H-fD!$$mW+v@u6A{x849CvVN1IDH#G*q8ogVDh=qp~*)I2VmAq-y^p&RPddfhN6JOgK? z0jq$B$VU`#Np&fSj>dqZL8&12Z-+EIrTBRF?%y9C8e;NFh6gbiLAJrYVNv3<@}g}F z|E$B}?(N~IvZ1dGwF#od`37-28=_AVx%4dHgSgTxwmPwlJZiJ0J_sa<`YbNor1jmO__?xE@~US5*gwCM8TIEi?R zvd$%2mc&2i4ik^*S(Pu_BK5^f+|x{(WOQg`em?1vScvGCx=XlOx-Y^G(>1YPUe!KR z&@oKAYqevjo!m!Z{mYR=Zp=L5KDM7eW4@?2$Jz~%x@d1e*HQkRp~8`+H61JcQs?gy zPcH7nF^in1PP5-cqiaZN6=uA51*QCB6V~2MB9HVeeYke3WDnjTtJf@F-|p#u|EhUQ z?No_QT*Jw+QzUlRCwW)z%X3Bz6MpFq$*lQhH6GjRinoo$imq5pXkTC|e>zG_+4g$L{Z=l{fBe&yXO-qOr3 z{K251|ENhHuf3Ouq?(wBzI}j4Ny#6VRZc2WJGYY`a+G3H#w!n<< zp4@eCM`VQ7q{aC=t&jCjOb{Sj9dD>mTW$TJ@44V)u{PB% zz`T#aQnbyvZ%JSC6z7q}0uxD2?PDyn;}rels8A2EFj=A~2yJ0d`v9VM2&P+O9IUM` z5?^^$8v^p@uTcAi=59n7lADUv^bLZc?Hi2+IxcG}>#M5kx72>G{oeTVXY7YSy6b`h zLpot}B06Cr?P2zU;kk@4fthTMuYS({c5(KYFK^H;Wr|NW9e*j`vD{Vths0{ZN@m>J zP>3xeUx5_QfXo;?44QDjqW2Nq^0T>p8$Lv*)@6PD@y^bRs;bPSA#rg=2olxQ)S!6U zAQ(u$aiF9m*8got+S|5SI*#)E8FGcmi0JQ|`^rl{H`RQus!OdpIo;*`;iJS#=5(vZ zjkB%S$IWGAt7J!LCJP-E57wTNqUG$FBV#Sd9(+nSu-czBVLNS->7;O6C*RUd>(1bl zBOlkSnv$36%SF~43#UgvTJ3U89j}Zc`_OW3vxxOdr+~%Iyw58id3IDR&1^II81b-A zwMAq(BtPTEc&onKpLgajr>ulcQ!l=<6nl2^cMY3CG502E`NR)PcKs>8I#e#I%{1oQ zaJhYOEUPhMmD)Nk7CaLiC}cp(BDJ|gm}m9wpd=oJ*}cHC?b-7*I2cL3o=~JYO;0Z1;*SKXN|pt?6(*nVdYEnZ>QjV+ykO>&*=n!cE^4rkC$q~PUptnQmbDt3{X}5WZ|nF=oV=5NY-mP!kCaSk= zzqgiHYd(1Q*P#UlQBgC4adi(uL52?A!?|NJ4Tli!0$NNft-OIHFjg zm^q>awh3G0)OTig&gA%@k$T0gPwLGrWnJyk`ofGK1Pfhq=m$B?duOxSy}GC zR8;WFKdPm1%_Z!xY$qO&i5WY33I+k&TVWeWK3PI=f0U6CNgeuX>kHl?J|W>5LBg1w zoV+Z~n!2)wu1_`d>ptG{Y6A*I!SHNR`IN0gqptJ#?_D18s$yr-gmd%G=w-!589w)4;7X!9 z#4u6gY58dTg#4{uUi)*58}j#y+4X$WFIXuSQP$FQ7J8W!tN8m$PL@_s-$aCkkgLqd zrx&%%p?;OC4U^HNB6_)QP&j?sg%k^nFi@e^&jQ-xoSZnSgThBWJhp7MJ43s>=#pA{ zlpBZHO81tT9U{+F?Ktzk<#6+SiYrJRoQ}CyQT5=StIo%)fVt4v^e>z_rI}0QT6m zkVS>3c?r7dgrp?%#)zHk*NiIdK1W{bI#c9I1qr&%WoObxNYc)X?z$V?_j{1f_SQ1h zxJ4!B39;KpSPQ3@Dl%5`e_GN}&s7#?$(i1sml(_Ipfk5|NHlZK%j4ta-><5IXnMuA z{m%2?6K2EmY+O_!HMbmE>p7&S>Tu?@r%a~g5= z=H`T5Mk^Bf`QwX+8ERw;HF-weL?>tLhAEa^pDw!1DcU;PH}2;Y2?=T`A5m+bp0QgQ zRCp7+Jp0+HCWS6ykHzgK+mwrin|qdg?sSJ^e=;*(XiIj9+jZNmp{q_Q-{oX>@8{AR z*#*-NskS8ja+N!HyVoa0>-g=?Ca%6g56Of=&0OYL>6EuYA16OOsVc2!75QkO60uE5 z-ALMXi>`_u@6>Jv*41gB%%$p;RbN@+n^-$KrX-{;g)`yHxSRQm+yK@IIG8iw9f1Cm zp$FaHLcNffYVdPa6+PvaI?1w}yfY8C-eUXS_BFqr!mluVbyn#eoguBbBZbpi#VFlH z(fKrOF(Qd_j_azXkDm_mlB@3K80<=2L-QwDQVl{;gu1i z;K{YgInQ&^iBm7z>bAt*!BZrWM+fcr3WSJ%P7+g?i(;!Cwf2@;1qF4x-+7ifwTa)e zs7$;I1v~rtdEP4ZMvR3d5kHDoryQymS-i z11hk0h6nJ_B@9Y?x6rhoPg&TXexB<^tv-V6^;a?{y~upUEESEvsPtCnHOtipd91tb zY;HQ+x8L!o`}afciAvJ?q~Vt?viSLR@Hki6*YVi&Ui(!CK(AZV4xv;@wXgTO-ghLCni^`C zlo@D;es}*gas4kO%+TMz!)fl-$7xT$?7m>tvW)aMmUYp0#pDjXUH=&PPrI_TA8Gqz zqhO1`X@OLuZD2>~d$;>i-)5a{^^LB@(d^QZOD$z?|E`_5W9@d*=@d(PwzZdg`A+jGEVO&#JDAPBnwYWHP3_6q zJG*W6QWkOyZc*XL+~l(?OzxuAoMt^yDzf)$ZtSn2ac!^cn&@Zl_t8k23J&~HIy0Pl zv(ziUzPxbF`h0vuOUu?8x7;ZMSIM5&WgFvmj$lc;{`O9c?(cuI9|9KrN+_xL6Rty> z;=205GQux!IOg@_{3G{>4q>_Ok)QsLar(J(<{4Y3yzk(U@pq`y4)W)a=90_4F0p(l z>||y4tdqHr9lio43vrYm}Mjg!Tx@7R%>&vSnh$}fPjGP9Q*s|zlE5gN+JAS6F zu+PRNM@{%uWFJzhVW41`K=c!1_&lb=bNzhF7nw4|Oet%(V%ZmgX*&?7A0+D)5yyLi=j?yAfKVqP z>R}l^=a%R%b*``J=vSq5Z*CqVNzUzuQbDJ=g6l+iPow-YlM% zb)6EdR`dpf^B0WnpxB6$Jm+RjKY2BF%y+6KU z7vz~(5!DzLlvVRh^qE+gXh#0qS!wUW0Q2_Sn)RLK;j9s1LY&#rlMMPJfp@gbS($mI z1&=uGW@~3>73aND?aVmEQ34 z|G@Mj$ke-Kw1rwlOLJ;9Tl!V5#ckVke+!{V=||a~iDi5$|E{Ei@XVxDWTsty>hM@$)W#EL7|}wa_5IXU!$TP zelkQQz!~MKc7!7(!_Dr``c6BQL?#ZahV>HS6WasuZ^;euYmU3_}6;HHd zPQYzg*W^bLyTw~PKl1UjuTk$-Czlr~4Q>ojYr9f_6q+c`Z*-|xnkry;ui zDybf2cqrF^)cJzmMpwoShPhS-on@69yy6tHjv!;=L&Fc9Ms%eBb|x^bsS_P@cQrub zTHaD-SpsR-?nA=H@ota^10r#npI=>76$p;%i+6rlWXrn3GX%2e9Q42-@dXTKWMn|w zY|;mDBs3M*Q8sDpNHXTYZv<7R6It<;`|(y2E+)L!S;Tq;S|C6S$KRt0j58=flWrL=XWc`&o7GukLBA z80|>CkyGgCWFOx9j)j>zG)+U=`z$Xuucd0kjz3FoCQ58(LshgU35vs`If6o47H%C- z%TG;6NP1gcQ8kmsv36s1UcF^ZyI|!@e(Lt?+BwO~=4y4x4K(|2$}`njnlG-BRU2qF z*^}256==!6h=?=28#i3Ib<%gobV5?Xl(h|?zV{w|B>{i_40D^ojm{6k3RI2-G8bm$ zM5dXVEO#(mQR4qy|5j_tVjDr6>}M0OT9>w>_rIK=ye8^0)YUZsW>uL@KZNMVAEI05 zp{e#xtEu)%7xiAEN)7n^@c@5FI70Tyt!k^NWH^kr5&gp#++EP|nSLw)0Tf*mgqWu} z0|taSImZCOw=^}qX}^-vv51Pdc}GEe^fQ7LUc>w?h)K&g0>|U~drZ}k)%s7A)i^?x zgX{{a{w9{RB_KSg(5MIuG_)DtJD`VPPe?%S{f|2RX5Z$`wfMIy0ZMy)cKq|m8O*?ZH=22-s1?L zK*@qx{nxKpHy;%ca^YtbnkymAAdiWSh0a$uD}-*MzqfZ95J)s^OZw1ufDEcOxh**% z;e)x*<@Dra#YA%jS9I*rHaAofU!r1;^nOZpq{$g8W0E3JS97zSZ5ACnlFB7Sq zan`YXQ3?%$GOK{$bJXGV$fW4ki=7K2qR;M9%U9}VDeBz%gvWPkF;!~E^ijp{DZY7$ zw(*56%{?Y^VvDx&w)FB9s*7fiiE>KN7QPQE8Z4(~eRi@ZCkaF-8`x-04!t@R{MKxk zt2ZdDps~9qJwGHwSw~en_@?M^Zv5f(OG5Sf{x1D*B7vHRsi=SZm-y*?JD&2E<6V-# z&69C4b7UmeKDO4@k9>VOxw!a`&#mhZIF27b$r*;{1Pm)EK+G>Yp(WMd2NA^7G$j?s z&;3ydVL@gYdO;Aef^?rLyE41G=m>h8 zV>vy$0Q`fzq9$aq8$FSeCr_3OQhRn9o15!EQJK7fXG_4IH$**sr_yC_#6@Wm7RjSnlg(`YxC9dby`v(TT zzmeYkc_sb_lJ+scZ+8r6fWeRU<>%J2y7J*?7GE2x7Ru|5P_g$BLeBww>@-^0dMZjv zPHhFDBPyU8sm|zcRF%ESkuEeeXPfjP;R+g4-W79hr+P<5epWxf0Cmk#R0w1u>b~;w z@s)2?C2bG$5&Lph^boxhg6l|L>;DoXU;@TkgTWCfHTb!kB z&}2ck2p|)q$+xG4?1xkYu5jyIZg*ZmBOl$x`ad{gk&)X&Bt*#u&PBtmZN%>T;Niov zFYsdTRM(J~;RsJjN(z{Ef(dv%q|V)gZjiK&RAypkZe8WMv;84$NXTP0(*ThLmk-ZG|7I}a zJ&@L-l#4de_lKosaOfqaq;O%y)7&M`dE9D9N8`rjxSzEYfp`B6L)%@uPBhjud~O22 zVEwf?Eda(k@?#WtB=nk8WzUQOmgWl=&fB&a-;8Ih{9sBt|U2rYv!z=qv z1#PaSVg0oey!=ow7}qg2&GN1Nc3WjVH||)t6u#lpzJG7??vb~5C~y`R%rWN)fJ&{X zF9BG(Gn12V{|c|*h9sW>z?FfL^0h*Wb~Yz3uWBfunQq|5zr}M0rZ+CZ_>b%w?g|Kj ziP)*O_B|w2kU1VKCs^=TK9OjCY0ET&JU*is;Cr8SUEutsIvI@QiJT;wQB}m{`>du z-3v>B5GMhMOPp0*PDkaCJo{-t0`Dz2syN}k_huS;mbQVzADY& z8trZtnn`MRM^p8^pC_6zMw5og#EsFYs;jg4nPUTIOY@)|THv`b`J>xd?{{VdY!|#M zwA&a>FoR>=U*cdtPniYzwd>cJ-4PzeI|3&HOZz#H(4c>b(s}(0(gq?EdZI?pfW*!y3TZ(|b)Hhh`Cmzo;g1{OaSHcBXPY+p+M zz+q3xS&{o9fY5nU)-u5U5BbfltJ(9XIIAJOHjpe)>66(?;GHuLN}^XgR! z@_st~eq0doP?-YuXTY}GT)i4~LF(K&n!>jAX7{U*5Yt1QKmepUU6qiy7hQ(a868>w zg@fgo@-naLUxk4va);ScQzmpSL*d{s_)69(^z`Y|#v;K7+IpG2{F! zML!il;mpD1<=d^r7N*L-(h!rH?K6q_(w|X7m3x-!i-+A_zzwpDrM4gV9d( zWva|>`R2<0YVzC6DC_HM;RKmX zY<2!REa*X|*syI6di_fz zZ6R+I<>ajHmAGP}OiS}2@SME3Io-&?Z%+;#T66oN0(b#df(n}(*j!D0jm^z+>Cgs1 zL{_rjrsDPRG*fhQEIAj{pbtGf1O;Ahk-Iz(a&BLL|9LzG9;rbEWsEpRq4d1v1i4x> z^!PeiiD@Gjuhjon3s7ZlQjn2>!rL>A!X!N^s*9L%10)LbVavWWLTyhFRVe3xlsChW z97yd{HbwUO`o}%bJy%aCfMlxLCZ5!?MhYjad=jf1{3r4QA(5NyYzFc&lYR;P;&SMomLx?r?j}uaLz`?s{4zVn!^kXzt2m7 zqtcsbYUsz!?Nup)YB=J~;vlhe*Ea>3azbkc&p4v@?}cuKVcf=jC(OMq${*x^g}(4v z@Gqy|^qN)hbZC;c@R@Bio@iUV&%fJ`0lh#{lHAaq!G&>G7ecX1V(gupEBF~7KRi6~ z?dqDvM?ByiKs7f}`|roZ9_S;$HK*Ny?v2m5h;hF0=ZCqRoSYoG%oaam`06f?}_2)8EKTX@Rd)v0!WaFSM_7LzQ@}As+;K8_&q2%xI%fe&J-j7fvetWSp^d{5o7s%Tx?=L zZ`#$olt0(UN4xV7$rbI%eH{9Y@`XYt^xJA&bCnA|ts}XAI?V=Y?m9!63${Ntz2uaf*-Fvp_XY|Dl zHYS>bo}JuHej_{|G^jiG>NTwfuWg$xi+wI@y-G zAe~RhBfa%MOB)R8YB{6j#~C$*oL*eyHt$u20e#!;Hvbvu8`OeIE*64q4h=0R=uc^Y zoz(7$-RU?>h0viS(69lBFu;7hHI%k%D;;Yq7@oz|0H{gy@e`Klf%?DQ|e8s~hcF_}*a0_Q31(if*0s>E= zQnfmpT^QKf$F1sX0zL#0I+PbhrO^to6Fh5dq#Rp+VQx*L1Pm(|#sWPp-@!nH2U@w^ zGfV<-->a8UoPlFDfCDapmpf<4?c5RJWa*Mxdg8;k|cJ7bKZVK>}dRt-;x*^StOgV{A1pXEl+?iQWzob0Q})NaaF%qoFT*YFqL z$4ywABscEG;e;0A4dR^qSoHy6^+7 zt-Zx88`pi{?t$yhb<@+Zb|5|t8nf@h9c!IN;I`|K@I351Qqt09eV~W|8eNoIe8pdW7N+5?)wC7*_pIO=;G@yl58DHwaVjjnq@r z`~i^n!Di<&J#fS;ALKpUeV-O$!U6o^+2#?T3@H(HR75E#$%*G-3mvp;XX*D(mh;?a zZEw4_&~C`u*NW*)1n0>@W#q;<+d2)jnn3WrLjWQ&WPh63Z_v z+tIhbpg$gsLE2Q&gA17v*TzkcQk;hqb6hhEr*19|#CY<&+pQl0RwsWok8h2C_!XAM zxAYiGK|pl%SBBKFAeNV>YGB8YOVZ{FP0xwy?&-lH4RZ|JXbe~3a{a|ZxL@l3U;~>Q z{h>~LFn}$*!W`j!w#Oh1-50pBc9(Na=gkB<-ZY*&NhfK4>+?1V?|aU%-xiesUOYFGw=o9Ux)8 zy!eAxT1v{UZ>LsuYlY=yWCG1sJGI2u5mUsdptgNQ{Y=M$N+XtgS#OeDIR@%V{MEMZ z&Bueo6XAz>{kqtIlkh0saECH|@7Unr!jFzswbn;;AF(&Fq2Tii^f)4*sF>Q+E17$O8Dw=|Y24()l=m(T4BHQ0i?{(+=i-QPw*;N1jbjR*Me>RyB_}tZ zFEehCx4`VCJNx$s(^}@7brCdcX75q=@!V8bKLx=x(SYwf@%7)sps7jBt0HiU1Whf^ z!2)TQgST)@jR+=^g~Ikz1C{mbF38Sz)AChXvlRyEwCW(Fv%7iI8Q+B1hfqa=b>&41 zN?V68W!AxF8V@}*ty(6vpFj6tk0HFJB|fw;G!kJ$NJuUUaAwZ8R+pV#o;x9<;N=Rc z!=2V(RNn|-efufvPwu4klUU@H(g#nngu~I|f{BqaH&O6P%A81?)JxLN9s_^}W(ogj zpk9#5pNH|bz|=Sb?Qfx^Y3s+rVgYo1rMTlQk|x5NG2~P zVu|6b3p}HthlQ53z)erBTckrdvRbpYTmxhQF$=U4=Q7081Kr7&b5CyG{ITq%D&A)F|Y#qSCTix58z}%TN^qikZA!WIkj7!ESI)ONcZtnWT%{`68nyA8=NDVg367QNu zjl+GHy0$i?zFNAv@7$Bi!88?(-!aht&sMmXgrwQa$A@<(OJrU03D67F#g~{^SO{cK z*HAsO4UEN+J@64L7jn(uF2L4@hZD)KZ?-!Nz$p?nuu9*pO}w0e%6`Pz#q`r_ga>AZ zJB{I}0De;=Z>ukm&nCw&S+JhkMZ@zY+8T3C=Q`ZhQ2FK3P7fccW5M#)g~vel&|jUB zt{3%?3IF8g+`|jja$77Cr)dVHTAKIJ-F#bG?vey{sq(Jp7dR)V1Ox8t>sDsC9+6&2H%he({_R6x`EZ#=c|jP3Ywft$UL0jMKI%DvQ0Sx0xIr!F&P>1 z>{X0vzNb>Aiq(xHEV@lvJ~=arm8lL{@6$6stP|(>o>7HjS(cDagPIC=KR%-n;uIWE zT>1t1xw(XyvH$)R0|Nt@4-Tac8)ZG2k7M}LGHM2m&Q+*j$?eE@o-viJ!Df*mu|0+P zXpn|5AD;tky_D4JAHC&$-$B@d|MCLLnfnP6Ojx0UqM|6EUhFn7Euz?f-SavB*Uz6N ziR>3I_m$Q@mIokZQrgAF#SuelLos?g=mzYf5G$+xkkz53rbd-MUL^329Cg0SoTZm* z-=%sB${8o_M;)~EWF2!d9#3FhI? z9c))pClF1`59HhQlwd*YwNU+K!?9?Qdq0i>f-MZTQ%dPv^kEF`KNeNux5;AEytO7zPFh%b&K=VGPIEPFP*! z9UQV8HfP-BmA8tS;%MpsbPN?@?edO)7w%IQ+O+ZqhDJuh;CdE(!2XRWQAMWDaO&m9 zE1=3P!zm2VhpbiU6Plw+oV4}d*bh)hEcx_F*sDN=AWlZ&HEUFHG7?B&@KnuRx~zu{Y;cHM&^KzNb)w5* z+A!Rb5+P_m1Ygq*GBSSi?^oi9S$;6+0_p&V)jPe9T5^_1Ltnf&@Djijx|7$wz-QHZ zd5PK#<85Rv-v-GOrE6G|IMIN}$|6STkx{cBJ9g}h>!KZe^=-M+L4sC_)Wr0WZ!{ZZ zKcaXa{r9txd|F)}!$+%{wTGG-MFwnoF@le!ej#F|>_0&wE{*L!aLTBJc~UiL+U><_ z_gUEs7XlhGh-QrYJ6t__5oZ-rdTa+}LF(eL_oGJlHVYVM<;9cCDzs(Y22tyM8~k|f z%y+m32kj7uG`E1Y6vBPA80PdiA3HDtT(R?mgR9vgBPn^`VLxFuAztF@Ak*Y3yb)Vk zSf~mYf;WdBE|r@`FTsH)JoX5IQQ}INQI~Y=ecJH%-#{(_fuH4bL=gZknYU$>-8x){ z7y=O*(XjsXVf7l?%#1xJ9j8X4n zCPIky*T9(I5qFH^Mre(jWt?y?zZd7^=qUULe_!ottea{HIC%t5wn`Mp+J`V~^FPI2 zWQ{(GRYEa=2PuYa8i)4!3qLUsx@Xq`?!$tD&PX;9=W#Tl>W?UF9Mk|b z1HooZz>l`Y!y8K6rGZssGka^p?TtxBG0Ff90TeILv(D6;0ucjnKw>bY+jW#%-(ny5 ziSVmubW~SU(+STjPEgHL>Ns*>6I4smh#ENxo6+Ab#KZsT)2BE<086=pAP>nK_3(F7 zP5QFiAEB>cb7&wgRV3R$Er}pE_eDk-uPCd$(X0x!**|}tmQ#}cU~+e`v%`RTVn74n zGfc`sd-4O%#*dzjYe0>{wVt%6`2G9$nAO>H5eSMd1P|!Mn88n#;QKD9=~-n9+4}VW z*eykJfYl=uC1S7w zV$#>!>0m{I97!ljbWj?o6P6&~w(SLvp&aI-02ub5O)DG^Ezl|Di3F~-Qa6bAKR0>=gom~ zMcq;n?aMo=F%q@V%x%@WyiW7Rm90G~xXALLALAGx+0XO>#l}#{UmgW`S;`X=F<*BO zMQKc3z^;x_dl{5&gzUEwfn(Jx5y;_dyX_nN*OJizJbLu{>hi*6=?%@GtU&vucWn#@ zz0r*u<<3Ml#PazX5m_+yprUJ{WS9&D0(cKZcQ?p5)%OLTMH@)B%=~k+v(0kY&U26z zsH>}c)d666r78_dcLitT0&40O6}}2o7eYfq`Z4;*DV0y~aqqnUtXxElPWSb)Ozgj) zjBo>Zt+{_{h9~7{+$PQ+zF!Z8n3H>Rgcc%dS$_$hXT`i*!4B9}DaGaSJ-cxd!i^W; zDkHdnSP175gTPHD6vl;xf95OV<}x+<-$k%s#!NJz9;3I3gBH4K4Rg&QnH}s@T7;z$ z7AFqX;HGDrW#<#kiRlXmTgD;*M2p`icQ|q8tXdUp>x zgj`ykyEw%llCpYss7XH7kigVsK698z;)St~Fr#~O$u7TBKz?KiJ_4{lO0u$b#TQ@7 zYo|aQgckDUina%8rAi_Gm}GsWzB#uxOZ>w@UWT2v*wp`7dIF` z&wPL8&DFun`UmS`nJf5Io?biyZXfN6q>Je<8F_mxtGKABqG->4?a$XL`p5qXnB9G^ zR*+~hO5k2QW!#}Ib5MV$g`z;D?zN=0Z-~tnN!o7LdE_)djgeyzU72pcNRZxM1B)v= z$^^N71jy3Mo{PEe5rkf6pby4T(B!_I`12T~6>%sPh`3G-O z@PrWOLnNY$sFi4&M6W9v87QA03b7)dfc!XYU;j=tanIW0Kd_;m+P>)>y6tut^{_b3 z=JZ3ZSkB7IDqIm9OtS$8(Bp*V9v!dJE85&1g2iD{irlEZU4;1RgA#eh*)eS1@0dQK zFOEu@U%lTkMn6QB$o7%LP?E#LV+O1|ySGTjdGsFH&-MEYw{+{EGlvubqat`l`}z!1 zDYTnT;_m)VD|7kx**bT8pWHDJ5^~VXj=YD-jzsh4K7D;1EiJ7}mr~KU@0oW&4BXaP zjBXI3%cg5pS^gZ>s3j7p@a}5VEzKN+5T-&kl4J`60w|vFac&0|uaxaTDFgSj7caiuTEQE-i^x22fE9L~VZ#LZ$R)^M z)Yb8DMk4}@kB#-1rup}Kb6Kz^UcY}2BFHD=S$@f0+|f~pSqlGim@{c(Ud;6Vv;RL$ z(%3m7YcFvQ{inTu@9UG|PQA|=-8=^yn@bLdt4h9n!Ds@jL^J(3`yZ$324rhrX+xqK0+5bd0?z-z_?8Gq4mBDyk)IzZaF|!7i z@r^*Zqwa{R0}dH5P69ao+~4pi8TFQ4Z~1~W6p0PBNY&Th%DU;Mwe_~0I|JTFA``{5 zq1k@y+&krhV_#no9PoWDEG^Z<=cNDE|L{k6 ziVy&y9sXq#iS@f@R;wpIBG|zlLjfPj^?KOavvsq0DfepkjvYIOkh=mja(m%eWM~8K zr+eZvh|OR_9m%AkCi#?^gv9&~8S#-F&+1a#xkzHiz0i&FNgx*|o-Wh~{z7BXc4Be5 zJCcKY7*JkThFliZZ&iyg__WnGzv}CVtN(@IOQfaiUAj~hV+uXyG9w-l{i4hV%aJ4l z?CQ&3Hxme2#H>252$cVhhF&{TNQR#3Tc7!}q_tkjBi>{Krt5%oRhijFTxdjz#E+;y z?ZKsuq|$BOzrVKW%=-86ee(uMBJM+{Sg&JISwfZPC*l`Lsm~I>==P)k9?buLxApJc z{(mq|YV-g16SF#s6%Wi}e3uDktN=o>iZW|6CJCU7sqT;k;yuI4fHd|tJk_Z4-R^q0 z9}PP8<^ax>&aGlkz0{|P@U{(7)6X?EHF)lU<7m~#7ees`5;y_?kSwz9PF`cNNf#Df zTb`PnM+-yCJ_$@Q*)W949Vz-^nv0MGFGAB$bggQwNgEIr-YVY%J=F$>|EmR@?9Ob_ zqXj0`kPKHOd9%N0#ql*XegK^H@(5g!t;EK=kD8jL!Jsy0%le2dyL~tJ2E?_X_=DVy z*aE(XK+ORWGfcU_SK9txs;+2d{D5&F7#U0Bg>IN#mMi0VQ~5>L6;l-m6fJO z{o$>rfNJVR(oUTF_j#KtDQHeB`fzh2IxNJzhyyDKaK;PQ3NTQ?D|On4Ah%#dXi-xW z@7W${vBhVp#aWrpp(TnhEsCN~Ui4PtI9x z<~pCUA8N$xto+$FGn}iKCDaTEJQQ7M!d%=cJFNs5Jjm`{#504s2=)=hDhzwdJ|m5; z!G%2=A9-1|=guIXX>Mw|T7aZie4C~9-W8Us=f##->mllmZ??jDLup`dr{ zkN5=`TH8aMu-~OS9W5<6Ip@3hcPyErEPv5h^f3^(lvGqF3A`lIZ70uu)Lg+my-;b1 z6emY?sJHjQa4-R%(%o@I{oW1CQ0l3HeB)Yq+9Zgd)&l8SS=67AeLUyCt{8GU0hKr0 z%>yVZH9?=i&FHb!49YxokCEzPB00@NBq_*8k*a^u<>?m zi9_w+KTwGDBrPFpd$j#Q{|G(nDB8B4xfSy%sKNwnw|qV$u$znwAGW}G<^-id*z$0T z`N{9+INe`pzp9C7e%gn8Lel)Ic@kgcw@+g3GO7aSSoFVcDX- zuq`r`?DMK(Y>oQ?`l4xKmRDNRr-0003FF+%OyI+}Z$BI4iUb!Fp|es_(RJFK`B#)u zRsvPS$jcL}Sib!l*bLC)jPscz!E?6}a0Ayvrf~kx$8lFBhpQ*ighlwja6-bU@yiFn z)i3VgcNT?|9KJ7}iOGpag>FIPW7yT8B<9nw3Sk1O@^AR~_)1DFnx0gO3Q|yHlHb!B zVc)ZakV#8ZGm|wNl2CMPFlfE*xRRV4PwLWB(60;_lu;ns_U7F15qIzbKIu_<-zVLI zCq8=Mk5FVPm3`xZCl56(MnNw2o@0HDMB8VOa zzNA$2;CrP)V#+*Go1G+>$~Yf;-&bp9D=JVCGZxy%@2KbXzBIzb$-dyV$>2gdY*DOY z3toeDO*QdH&$BYV&MGQ9eoa4YcIYR|K6-ken^6mV7rY%WlKOWLRK@$ASx9fue;W0N z)ESc&wpW>?DNW$)o1uWauU*&Ss58$d#d82si*`fMioi!#im8<*FX~^i939n|G1fS z7Y~oI&3VK+i%NSNxy+4(ydK3@?V0bUIusW#SeCNLdFDYZtuZZaXh6W;)-{j4d-nW6 z>I)Fcu&|hTA=$1dr`31a+5B3sZ^SO@T5qemvuCQ<&f51$`{TomjP(QYoM+G!2N|0} z1oLpZE^{abwFQZ8JpX0j#Wof~lvdVl`qo%vWOJYTLQghn4lu7zobQ^l%k7pR3!K~+;Hw=JaZM3mEezvV^Bw!xtx zXLRI74o>{QQ7z@@2~rX45ghF7QnZjaJY+E_y|jUo{wM<$ek+3a7F}a0?XJqUU%w8qemf&{gG51O z|LZ7%Kjx_isbboumXTl%?OCiiN65M+%SDn8h@i2Vb88JM9b>c?+ulIua}_mCqte)H!!eCp6g?DK&Q$(42s_ax|0&dR;^rE0w8A0vHZ{0gE!}ol8=T!SM+5Z zG9TSl0W@&0^O8HGFg8Pm`{!;;dw*uPiE;3OP>KzPybn+Okd=}$J^Y}!m2L7T+-hZn zMPjd(wl)_Qc$~J;eI?<`i|z$C`ySu%qZx{cBWADDPpK-_2Z~14@iE(+U-qFMn!X~W zvGMo3aeDpLjM|}%f*c&9hy~K#0})qT{5ma-@}!;1J@ePeycnVKMS&0=Lt)`DmtLEn z4ff*0Pg~cDQ5?j*i?5v?e0-Bm2zxbK592$up@}J6hZ#9;?21ecJ)4inzU}N_`U9_? zHgg%7Z9K*^!Kx^m)d@>WOOFWkr4QN<*hR?*uluxxBhaS z(>>dG9T~SpN5RLOoCEvS3F_?WwfsruWo`0y;kg&J3Gbq>`d3aDh%YJp`sY% zwgm!c=&^Y=)gedkpEMDhANenct6J&rV^nImI#8A0m^5Zmq z>GBQXXQH;Vq&}ycOG;Q!s|e?erbso~I0Qe$`akzG|4Pw@{0H7zX@AgMn*XAidhIJ}2L^l!M3hLp zL{t&5WCw>6ABeu5NE;C0E(LGDC6NacB}0Qjx}+oGssYho9JTv?;FSe&O@eA9>@kX@l)*mbad?U z7+`T3HA)SQ0m!Pap}hSQp&Hyu2Z#TJ$2;;Ek@&C)hyQFKzfoEt_xF=ZNf}UYdq$}0 zM*R)QNBtoqAp|{ny@=p$cA}4a@6jrk?Uvf0pdcJUuc>%XpS}|NKUe+Hqg)2t*lde| z6|gmlLOv?}uipu#SD36n*6aVdTodLfo*ne&O%IilaM$1<`pB#3>`N{& z8veaRl!IsVyGBOxZ!drcH-`y(D8YrRV^OannHUNNWbNPUl2To(qd3HFIGC{;9K8l! zZad7YI7&S|Jry(20U<}g4Yjbo>r5cdI>sR>=>3D%a0TOk7%v7Z-kIM+A!6|7FrEOR&acpI?mmO3iQE)O`B@vyx?mAG7OFgQ_~>?4X7^@N;CAl$cVM; zYXo&EvbUHbl8{I7dCvxI5hRJm3=a>ZY_OT)(lEABu;YUR1HGyr{!J(b^GVv8n)VIa z=5AT7L_t(eu0G)u;&r&I%-eJKkxnCn@HFLiXTjT7A8EkKGV48vtDehzTdhJU@@3DS zOFz)*I~O}loLTuqu`PWk zcY8epH>eF&C)eQ>Um%PtS%xi0Rz_(#T^c&1+@+OCi|jaIHUE0|||D7Rs@Q z0*5X2(2~L9V)O36#-RoydHD*kB(n>5*+0m7cQ#?4&VRLlg=#waD!ZMEtsNb1P>c|l z9=|XWNOxkCCO_tHb>81?y_n!Cq!J3diaF$2V24WveZ-NANE_d(k;=|=KOORnU%(tA z6?|X8e*E~$lh@DN*=0C9#45yU*@?Mym{)hm$qpmP4iC8^%xMm_BEfCNjs1WI2D*PW z5n^0x`Pl2B?LTRaI1nA~LpWM-AafPWzrNj6RyLU8w!-GShB#;%gT%f`gz*$2yGBlm z;aKHXZcEylkGud(KI^7Or1NyHb+6B*y$A0S)fTC)akn*>nAjp3JTCV4s_$&OYH68F zC!RBlDGV4ekphl)p%#W1P@IoAVgN+jLtLM+JcXu7q&Dm?AJ+-Bjr$Xqg zo5cWE!s^e|&PC-z7%+wztnZH)Y_YH&zS0n>2+udRq}VWj|JP!U#I0Z)x{W_O6QQa| zgM$W~@Luj+t8S2YVZ?4HA@N1%X;VEpS;6&Y6|iaR?mw6o*Tb&yikC~{edqqdc?@W$ zRJ>q)&wYSKGksOJ2IA)(B=(L{sg^5z*Gpb&&pGDYJe$y~UAj`{v;$^!I&BC|t2CyizO*H-%{WGOJE$g>HNz-lY%!#H5 zo?V|~nBOR^rF5#09!pFYSU(XjS)_v#eZGSb85ATbv9`mPC)Z%oy! z&vHf6`Wc4fpaN$C#aLQw>iQzc;3SKD$l@%i=kY?xVKM35c}Y8_=vz5FPr^@oAc1)5 z5`?4V@wuN~Io4S9CFi9!qxG|ssPJHLOyLGj%O2D8pTXCuaky`znkkj=I6z1D z(FG|7T|XlHbz(=idO+un58SU$1sCg>=}CunZ0ATOzpqSf@jBi9eeRx=-zGbuO6mOR zMQl{@@`qWnP_ACh$j&Yubf*h)RotMM+3U39jvL0a$Qk1P2}ItGqKYe-3?Qd^wh<~6 zG6n{Qu$gaS5Z&2O_Wu5DWN64-==1o}#bf%sd?@F<_PtR}lB@Yfb@$QppITm(?kpF0 z%$J&(NsdbW%As#!5Bp`k+)cW(Qz?kKNX|rbS>9*a>j9?XmQn=i;}8kJ^z1q_r0QgT zw|p`NXx0mx%r3`0T(mf^9GJRSX134N#MG3h*~KFz#mc~dY1dfvD@Xh5sMY-a8)4zyBLoN|KDG%px>oWD_z%WrVDV ztn8VYRkn;$l#z@Eg+xY1$=)+$gvgGDSqk^_sIKe&-oM}d`2F)c|G2KtBRV_J<9HwM z_v`gsFPCU`O*_A~A@s|gj%%N!)=c0omU;OQlD{?9CL@fmCq^wJ92Jq$>k#c9N(_$w z2EjX{Q5A+%AHmh?e;cEqh&Pt)_Fl8f{AzxQi zbWS9k+ZycAoOtZGe#h<|G1hz9Vw^HLCke=!ma9)9iFV9bOa6BF>>Lm4a3)qA*w`Vl zDG-nanfOml()Ki`B8Fh58nGSa()Ad$=XhHbRR7P+Q)6~!0wgA=e5Uef?sV~#b2&fx zFd|kSj;FB@TR-qdLh$`jM~4CkmuUFWr5cW|z_Tf;WAX2eYTW!<`gldg3fhOnEMgh8 zv=UoBh_8rml9PMg3xtvxqcYzccy6yGWbB_tMo^6%>{F0ru)=u-aJCo6N{r_iu0ri$ zxP@9;5cd=1Z6PNwKXUTon_UCPo_=)U8PV`_!$Q4f z)22Fxa}dIz$qd*!!UZbd2c>`YPg(<qWVFV*|!5cw}VX zyh;5$!i38-gzjuv;0in4UTX+mE?B7O2a4qm&4N=8sIGbA9{Bj}0oq9Iwj)iQJ&&;U z$mxN>)Vb`%Ihlzkr#mS!{_y9w1(l8m@9s+IK(q7l1JFg6SRg8h1zAn60Wt&KJx8A{ z`u$hYKf3kof&M=bb2;PV5|3ga9o9m^$3c(L1(?KvR>&8lm34{nMGqaSZ|wfz{qgOF z=#R_jIXIPKui32NAP5Y#G`=~HLz+uBcN6DEAS83`JZQX-ba1R?;DOiN>Cr~KQEky% zcx=vvTuH^jI?-^tc!k)R;_iuly#`)OKKbcFf7@0Xt%9Fx`vaU&?AL5P$a+FQc`(m% zCo6<8y!tc+xw$J)6?;Ox8fW*Z_&cO#0hfL4ZLIoSc)L+SI4E9cT1Ooekxx_4p>;1S zYZhWM(=EFoT!rH2`|>h?_j@K&dFRTS)BUfUzn_~*W9@?&3z^MT_W;|&=z(gc{6)E# z`_>KIROi0w4fcH)xGQ5-8UKD?WBAuitNAHqkI2#y!MuozW%W;bp`1MZ-f?A%wu%kvZz#y5bQrOpevs?@!qXOIN4pEXq_ApOG6=Ud65Cs@FAjAK@aNahe+C+NuopS+BO z;`Tmf{Q_e~lQV_ULz!_1g9yO5Md}zFYynYUU6dc3@IZ~LEqLoHrh4rTjGcqf!GSp! z{&3Uozjc8NKs_N5S|%ZzSl8hYS~gUk=_lF(v9&RC0F{unU@oAcqtnScAhtv0Hx4e? z{5Pv*3jp)|y;nd;2omMehwB3&A&Ofh-DAw(T1hPlLGQ5dWGt(|5ViY4yFwD?(dtHi z)S&|FU3VQaj-S6t^|iG9Yyu$?n^Vq*hz+xmFOl4124fXHgo0WE$L6r94jUnM14jFx_MlKys5=rc6g@aemnp3PKE&^U)@QQuul=sl< z^EOi4O{Z5WDbjKGi2lJv77CkMg*Joe>FWWDi7Y~Y_JoEQS=Gm}$$D}i`CND0Po3|Ta2 zatXc#&<<8c;B6dz5jY@FF4jdQVY^C{RL#dIOim0$041}PDhan9Lr8B_0I}u5kj_Un zew(+U#fz)}zDC%w(M-nX&sY{~qIQ_(K*JX_`LijGUyNG#&!-HJEBSa1f)88|4@-yw zw6(OlEkm>bT)cpaEGNeircg&mxT9L@>n#Bb5IE4qQS5x=A->BcLqY<<4<$J`jRM#E5gK%Jr|xPtl!*`v@7 z9ulhoCJ8@ZyR@6D$;g`L@KMYe`0Ei^Tchj2c38Qvy$C|2?(Xg{gRk{)gdF7~5GU5- z{!oOH<3F~etgfn6bXSO=U+gitN#u(_c9ZJ%1OBLQzYza%PQ#-rgceGNxdU6CY%9@+ zT@M*@*ulE3FWzh-ZY5rwsdzdNCyTbGtFsf)7F(x>Rql&8F3sqo7s{#?PySQlnlF~b^(;^h+S ziiXc0+$PgZph7>+D|Uo z+De!;MB_0Qm;w^O!R%ask|Wh|fBp;kR=fNBucPc3Sw`AG zTtb5N3vg2cuWoNwna44?2HVDq<9s+>j5C*j6CRC_F6!7EyfztYiQ>Qw#Pj85`lh{~ zf3_>ItirnrlrX#Yzqj@wggnJ1B_?md>ZA~B>HEZO_Ol=#aUIWb&yS#1K|f=?+<86Z z3XqRO!m*NP72{~z;U6bCeaOj5E|okPcqH5ygmeVDWoS8wdxtWo&LB#IO^S)nH~<<5 zMy9xYz_NgHXre%xNC1QojA-7b%b%(j9>%-Zk)Ph)CUjxn{dQOa7CifTb$VJ{>GkW$ z(l8|>R2S1$A$ftZ*(n~u2G7HPDGNNs+?4wIt)Cw~e@;aT)f=o+z?phBZ$Yhxms+hf zqouWV*ap*lh4k9dK|MoIf8Rmk)j> z&Qe->gOm9#)^K^s2$?3@-78D8VHF=gencmsrKyRrbZ?4^bR#40o!ePI1$hM@_&uJT z^TlB1tc+=~P9W`7;);5s)tsLA@N=OC-35G)P!js<$H_qD-qP5+XU{YH9V3_JI_eU0 zgiJ|nxgt4Pr)}N02>ko(3ONM@cSF-6BAQX!?_g$zQozpAGSo?TgEVJ{dSVXQcKQH^ zd7M&DI3s(ssrKt?QPBDu>x+h;-*x)X8D52bX*h0=lpk{HKsJZcKDF`pHHR!SOS|4z z?U=Ie3hxsw_7M+EiLr5rS4;=-0ZjRNDTb2B<~=!0o}D9es{&JO<>lp5H-5!4dYkU# zKOo#?*J#;sCe-lHf`e;OCPmqB8@|zhdQML-dz9qV11<)%Lvb;E%1aDsY^%yeZ8fL)s2|C4 zGEBX91nX*<<8@e9gYvE9SNeKYj4V#=OW+XNlj>`e4+girfdfU<&y^K``y*Gc0e^F1 z5u;V(`TIOgGGNDQ!VYtl!pqoNDm$A&W-g2zv#y?^zC?h}-uMIuvzs(H2tc%1J5s=% zB^wFXfL!|-NU;zqQeKKdv0o=9f~C|#VnsMO$oL$Qs|D9mX56h?yr2O9{DLtB=oJ58 z2Bk{WEFO63a%(52+$naM#+WZWN=@Xt$DV{LedzAi3hi6m*59k*AFj;L#zy*idsOk% zkDiZ{@v9dxad=991g##P)k6xr5lsv59dK|EbF83D*VENylJe1aJz{Jedh3D7b}poh z;__hfYt7{Vhu@&;f0k4GT;uw6M^!Sa|2#p?3)J-p~lE%w5HB<7*fqzWA2D*XTR_2%5J) zRd;w;*iN}bYb0WvsK#-|x^j1^*|~H#SQ_!qErn8egrbC8%kcr^7LEn9V0$F^A^Imt zzwjrCnNx<)c>a;+(15zn%Ey^<1CTtL-}%qFr|YUHSVn;)dZ^m;J-p5dRil zsZ<0b^xv1*CQ^&PKOp{h`rn)W{qg^gzomxc^#m1+x_z|FJDT905k7WIIqgD5 z-&6kP$V-`tWczHq?qz%UpSPom!M<9~@pLaUvm`=_Wa;so0~y>od)d|&X2X%u(NWCH z{DD=E!DJOma12CAhY3mZV-Nj+snGt}RP+MmjxQL$;%C$N3`?=6w5oXS(fWBw9idXHda$X>E*r2pp56u$~VHp<-Wxu zHb+2sl$8?O)9zV+OID7%!W!_2P|QDlM`Phi4dT;)zSr zdHMCBYs7{R-6j4#l%YTZ^9*s3pQfj`amS%kke7!PMi|8@?IJyd`Y65YlA{h8y#-(% z_~5|-@Y09o2yk+AV#aiC`ca)!<*+~zGTHt0ZkG0ntnWx-OkSkmN*wiKH` z?+OYS;+$P(f&>y3G{3rW32Y0gnojaqjn(=un3ddK5Vvkhl^-+7aBS7uqdV?9`-ob> z4#IMspYR)EL&hR3eR7)uo=yaUeOGa8oL8uL z%~iYXZn$M@_rly)Gn>e)1&gh>^okEAhp!Cj1}20)ZEg-ef+o+8p=5uUJM!k z)diB0Xct)z(2Q-`vV|?X{Mv73u}D^$-u(g9eD!F#pjNQME{S~2-{``=BXB9k(J{|I zb_U$1`_>|As!OJ#PyF9bq5?sj9zCXn;-m$$!+Y%o^}DJ=vD&DCbad!A*1EI}jlNj; zH@&AkF5a)GEiE>90EjP!Mn^m|KXdEIbscq8-9np}2sNbxg z21`9&&hXO@+hp9mxaumr!H6%_l`Hf2ONsTb*r~}!_%;jJR0M1V!?-JUiei~U=F$p=#&^4MJJ6Laq$8d`{ zxUWE9K+!z>3EjS57yLRFwe;kSANc! zQ64RH*hn#^TovMuB8K;x?nkFrGZZ9hY^mI(rYPd#v3d_FDJs%rr8&vh$fL{k`1WxF z8BOu<$#n4rl_1hGwD%OvTDQ)cQWo5sN#9UpYGHB6Cu7JV>%!S13fg7FC4E zUvMExa;uS8O7=g6VftPf_kf4@Kn)JR*g(5uEqcsfz=6?^tEo!)73v+4GwnRu%+*0> zr^qXKKhDgA+Z@I0$h(aS5eM`cU=zf~am#lAVQ<@)Ri53C;yW%#%5|z%B9O9Z0yuPx z6ugRI;A2f z!`NI$UaMj$L8gX_)WBkyeX@0OWC-2Vs$rc4YK$@A!f2UIuFz%x`3AEhFJya_;>_i& z=1Yc!dj*}x-?)6%I(Usd2!YMN7vCGA5xCKPPW0iPeJ27m?Br}Y85?Z}OLc##?u>~M zH`05Q=`q_#HZ82r(0v<%T6<-a*`|gDnWh`I&ps49!h(tGaHNo9 zkFIMOw}2zBpSx&gS!jgdX}n!}ieQvE3EF zR$^*&>C#64^#CA_3Jg8%pz?Mexoj#Agmc%ChQ}_&A+wMpBd{ z#G7U(na!{Z9NusroqpJm4ZnL?nvZy6LqkB(;RpqBvro!4B8jf?I%mnWbJtw$aYl5j zWX__uXIwd=+RC3JM>fUvB&U6`u%x_QZ_&W&rk~%&CPi0cc!49NV#ez?nC;B4S65Mq z>_`gQxKnNAK>6YDCNIZRRh5;bX$*9rok2)Rl1fb>VSQ-(nzn0S z_oHiVK5sU7e>kx^%XHzrd1O)NdF{J<#zxIJ&C>=nM9(-|oRqtjos^bv$N%*tYfP75 z(W%F$<2<%n_8w9AzBO`bf!gi+x0m@}<25g8Yv>x>*NeV$J1M2$7t_}l4y|u5ne*`I zZBc07J^d`>2*tLr+~XAL8s{VZgo9PnlM-&0yf%4XDq;1^>dgGvxpz)4?{xa~ONv$T zpJ;1t#U_|yEtAqPUHoCBAv&`oV1ZS-Q!h^RT0vpq^4#1RW#!rA1>K4&M>*ylJNzgw zc*uoXLI~85xQn=H(?D?|7BD=CqfuqiO43HUMH&Yf3g`vgl( zVNse9s`>Hb2YeCG(NK$OgZ^Ya^2i1yjbb-1t?3Y*&;WbJ+J~-IbPRlkozj6oOd2Au zVaRb#oy`0zp@Yt;>=r>PwN*#@dwnc8D9Rn8HTbcb45vug<0A-ug(rW%Qtle%n*yj>+k_&?>d3J(tTbQ+9ka8-T5`)Kn`7b z<)73?UtZQ16GMbi+rl7FQ3o5IqPwOB**@}FD?Hu7aU;s?;&$EL^2`MzrNA1VLFjzQ_PWNotgbKgZqe**aN3u-x95Bt)D3k=zkrtkTUCh`&71q z^VC&OvEIIZoltIdjUk=$x^8pQO`?N51AwmOdGX-cU?4QtKj0@>MriII|DZdzMt@r$SQsIFfuTt znExoF!y&`Z)>4f2F_s}zL6r2IE+XXotNF^OY;9+uj&k5SR8}PnR9mj6!ALmL*wN>) z^Fs~+)o{%o5(w!VqyFBx7-R%FWro6(RPPZrQ7ciu5j!Hqhq$CSt2s8 z5VLXm^wvn$TdHX8FPoVSuM~y{1HX_sapE#W^f~7uKPAD!%Xo?Cc~A+Ex7_j=KDqf` zQ&v`%8CBqBxjC2hHSg$8v8DuHM2A`ksBiENeXb+{%MJu#0iSiGVPz9CS(te4BTvRj zhi$5kS|LcM2V*f%>4x~aP(Z-#jO}JrqwbyK2Z$hdnJV$6-QK9iWedC z2zfH3;(tY0MA`qWse^MSU*5ilCSxY~je`*pwj!&p^m=E>7_tp}TCyxN6Jy6wXTc&F zP11Ksc`>2#<0M(3XGZt!-a?MP&=|a{-7a_+UAchd2AYDnjYX^(uu-6g!F^?z3V#UGIw>6g!zGi?rly@8OwNi)-=p)_r*;wG!r1APQ-=6HaxEa4d_ET6~q^IkG*uYua0fk!@@3!3I6N$N_I>bJ$ zB(jnl%Wtm2zdpSkdyY%gN@vA4069Q@#R-RxB!0I&=EoBu3-dU! z3Jlm$F2lRF78UjPU!dN4+|o-Es6y}TD_FVYj!SvY!(pHsJ?7W%2P2pbyBd^LkGoUG(dcWrJy-h0ItZlWD zG%0cSd}j}Ddt!30q5he5hxN@S`||7+%Y5!6xzd-Oab{_5)^ro9Wm&J&A)DRFOe57c5eaU_XZ*{FP5!M_BmfN{WfWqb6{JlT;cU)`SCYZXZ2d>8k2todPqndbM8{q z^iZ3yu-lW6t>^80Fe`tbGXauB?RDF%Hc>I=amAoO=7pY`TDv7MLFW%aO1fraAV1m8 z7(m<%=o@Y37(Zo{974s(?yUl#T!yv$Xbc#vh=9#JP;7xe`15-DiG^`&x8!MOP7&2* zN~YkTeHk?SW~2^uoOR~6Sc-L^&TH1$oc&g@Fm|f2mkoG2Nw;q&*9? z$YQ8WW%%nadzn9qR;W62y4$~^UXrd1*9@VYqhlG2=rI4ToKVenAi^RR0>h@CtGhO} zC3P50=~3Ec_nPvl$xchO9=?-Pwjb|L~U!mDSDtgU8M}^Sg4dS;XdOzaF@_ z@k8+^lRLllXWNBLvc-x#bVYxK+0``k?!_m1_OK-QaY@?bWv+n_?Yt)0#qPy@znq)j zF)6=Tb~=d z#?!hpGfY{esK~~|gm63}XvBm77Z89bOJI2ac}d)Y zro%1`s3_nb^!5M`w)+w$P$qF$WTD2=_#Yob^=OTIjlu{3yZqe*1g2%fJ9KO16LSn_#i_UPcIMZ`{1;3sc(8ojYOs zVD}vUL!>$t3KCcfUitEcpGo^_YilbiSS2J9r}*(_F1dKzE*;e?FHn&LYmAc`1j^6@J`1|CT9uY;Bs#G1=^>~cOBF)RN%zVJEws2L#GLF zjaDK!D2P5|4_29m2GJpJYW`zt)@(TYDjuv!U0F58hHFfh&lo=8z8`j z9mseGPgh%2RVS4%bqCAm-&c^$()fA}!o@f-7b^{oca{-=!6CVZC<$}0U=5stWn3W; z9K5AliiJE}BAx)^pj-*pJv4M@ae0}A_tG`>+KvvV#p$kNDrd|y3;0B`3-TupBwx0j zd~3N5KXvprx-7r?k^AeAna@6$ddWK^Ue5JZlkgP%47$6fogd!SiNzi{*$eke35~Yt z(CR&K`G>~(mX-gKND|Rvi&T^UePV|ND1AY?Mxd&~#FE^hN;nO$IEV9;ov*!p`xXgE zghw|^JmF(}kj3MIh^~B%FQH;~wusVqp5JmY-n#c^BrB`cG5x*wNayr4YMu>;n88c2 zGKK~As`Ir)dn$r+>f6;cO8U3kk}b>46*|`vaIY;A?QKpcaHOCP^U2qc#cozY4eQc=bR_r($MG z?i!F`B>sJFWwJIXYhFQS0a%tPG>2C%_43>(4f8_s$Se16;5F_7M&h!p&Dy>?cD(0u z(@`-o`fWJG+~-D5uToh2#7#LS;O%x~9;#<3#jBI>KII$f_0?BT=f4snrcDW5cX5ZP znLvS*Rg=Z$JM3S^yFG~)`kXDhI@>iu&juP25JF`|1vqqYQN93HO}dcO^}^&vXlVHx zx?db#c}MoPBe@4`|Mi<@Ui6KZ`N1V&8}&$1~T}-A%S-i{b05U6-~w`gl%v9zL%J*E#I#3lot+ zQ+d6~c*GIi`2|@52o^dl_a=O1hxq^wh?TQ9;+gV<7Ve#$QaII*T21QL41Z~PxP%Zz z`z)Rj!p?p7(&2#d*L=7}|5Gw9`{qFYz4LTNS8d6aZxAu4rNz!u>W?Zz4lGPO9va^> zwDm}TCO^~ao{{yOYC(Cq&i)T?ycza>d*NFKK{(zia9k|aYnmkUV#yLNu9I-U#ehbRGFoIsk(_akzj85)>1>_Wap1F{e>- zm6|6ii8rKZ2p4M{%8AAtYyuMD7k&$lTGzF_`)Ks_^Hpl@&r_;k4R;%w9@a{kdoDMo8IKA zZQa%eS7RpQhPtrDi7rdqZhIqa?F{28atjWXQK56yv|CGvG&Aio4#{B07`2kof*{7h zVwVhcpR=;&3q*(_U4>`TAGyb*kugdT<(tJKzbZoG($YAOu*F*Ya+Wr*jVo8yKSKV; zBnhymGdqs3B!x^0f&N*#yMNur!s6W3`I8Pdsqe$~9Ows`BWq#J%Du3-7!e-6u(U(~ zGp!08aV0(pi=rYT`=`5j6uvyA{LEt+{2WhcMAd{!#6;v`4Es)0>@^aRMzY(^= zB@Cm3fe6c^K_;>2bD^%Grsi&Sl~t$N*^IJBcr>t{DY@@SRt-U^ynX9du(**Oe1Voa z40C+3GCOBd%bi|TyX9I~+QOfEblHt<_S9w^-m4xi7ZMirdJ6u>r|w+Rb6fIr%E>-Y@(`P$Nn>E$?x)Y^ z%+H;p@nO4s>X+uA;Y}eEuBtK6?$8V68ion+zIvoXZE@^Lc)(r_ArT%y+iqPcTkDtQ zdkTyq;G?d>j$!g`Lm3W+>8|ecUGKF*?4G=N!id`3N>kbPRK&A8pH;LBG;X4J&VOF; z?CJCVtm&FQC!%_G5foGw>`G0reD?e~zmKrGt&6R!W}&BNr*?M=O7E;^PqWi!UCm#O z2{vmE%&|nIKa88FB9f+vbKNaazQh^q zsFL9zvz@gyD0(LUiy@Ph;(K%}k+@G&X7I*q-)F77&~kRfti~TVy8)F3MyB1*T`OJa z|1cshZI-Z@_Hd{|D3kBcwsSnCG%vY;^?gl?t}|!;Zc(DE*mkC2zQHcmVj-D3L zmE`BL~Ecntsx7g1EMt?A0x1kI}rRid!BzipK2q1%vZidgpCtdtMJR=LdHE zd8e}(^G6vI#TPm1?~ZBe?7CaPcV+){I~O)$lT7~L?%bRl>}o_5<-`XCY(yCI1X0n` z+`W;(HGpPlL~sdY&n+Y49#ch69xU^l9PR)in|O0Sp%!i-+JISp(>j_fiwZ2rhcMZJ zBJ>eEg5nPxNYQ+lXB0fb(8lSy*4Gv_w0nR|rQ;nY0?Z7$&F9|Pt~I%HvgC664^6(5 zRB`E-!um?ZF_^@%N zMrFr^qFPX;6&BsiROX7Jd$Mcs}?2uTe)26q;!QxDjh1P3r}nibu1 z&xXsJETHt~R!-~NH$&_ma*Qb&{N^*6;@>}dEWE_P?N{-n(6rr9U72H-&I%>D$2)G0 zvBXxI0r|C`P0?3EYdXwN)_ER(^SjRb$`gaxfEvaUjlRBxxXIy5&@LxKi_gpZ0$H}+ zt#r1ZpuZX(j*5#re03jcD}c9|M*mvDfsWS+X%esfk5KG5AzLfzsnFX~68ij{w&r== zX#Hr{f?}>;Um`S~98G%T$WvE4?_*FM>(HubXf7Pg{ni@F_nFgArbmK0I*T*6EshnPc1$CF%crZWwvbP_UyQY{ zf#+>Uxtep}lZG2l{7P4w~K-yL74pgig5&mh^^ktLd|=haKa7q&t3BIPpyscgR(C z{w-~Y1DOl1VKEs;&$N794OVr?OItVFOD(1M>p5oE3igZ_4Sk48Yq!A&)+A(N3<$S3A4C));{;}>^$EU zJ$`RAZR|2yu=Q=KLPHFJ5OUxuKA_x?m6e6^ zT72Fz_)mEcwWnW?w(?wm*8X|Toxfa#L%h2VmJLuC8w%Fj7yjo*OJ;LtJI9(>PRauQ zO*OBo0uzrUtqL#LN1?mo>y7*}LI}?Oz51Ra&m;ZWGa0hk#|OS@J%2}&1>V&NfE9GU zDC0*))C~=j?%a8|&2#W?#YOCY(~e?Cu8~z$fx2I!4@t=qQBfv8rvD=W`uBBSD+O<9`}g1YzfSSL0$So9`2Ujs%zyqo!7@HJ z`+0iY!kn{MM$^{TK-bdBNZQyg5+8Az^}m{;ruyC%A1~*!o@>bp_Xh?tvu3%nuvl!Z zxNI$6omaamB>qXM;`NO_dOUWWQ~y;3#=RTeKsvE0DDui8%|(jx!tAUrFI7WoYXv!OA1)p%nYQ=CejPIO6;J|5<03|c0R4Ggepg%T7X30| zQU&dQkZ5tT5w1)6yPR!Q#P?h`fz{xL1WrogQ(QG@;eI1@alTV}XQ{1CJMaJaWUC3# z_a!AIy?!l0hIR;`irP`pp1wX^*AjaMab4Yq|Hs?XH!& zk+QI04=ktbA!4M-b)m*uL6QiXXcS?FzMr!SZES49cUKUDk#GpZ0MDF#K}RRq6j~L+ z38Lmc)$tg$=n%HrZiIWwgPSrysCNTw8>X4#(3{_=fCKuHe3I8(X!h5_0XIUe3|$H2 z+X(m}D!rV4)s@S!zn5rT2svW?^dbH+6(|n&(_&&-8jHth)b68NbVu)txg4P|^qkEn z#&!U9fkH=;0x1nd7*!L0D}bU-c(Tj=HaD0OAMev+;2K{CO5V#gqvm6l^m0c61-ddQ zkrhG{5*XAica5-9BCC@wL7c#(Xw}{uv;4VHLx`B5KjHq3uoyv-xc+th*ZMcko9}`RRE*|0z}S}*nR6Anwkf=LB~r#fxusG0u+v< zETT*4^y!~~+5*O(OyO@)G?VVYUQdKZP$DVieQtbt5s`#|rNCYNSFiO(&}p;|UF4%j z2jyM^C4@HT?ij+Cok)1#qNhKKf_-&x`OUrLe;HT0#9Y2Xh$xBaiQWrpk6%)WAevu= zl(M^OVeBNb9$&uXCqqh6)S1uW);3@MF3XD{Zhv&J-rGW7VyyT^{jpZ?HkaP^t@O)s zoNe?qEEU#yh1DTE~Gym^~;9WU1G*nwV0h!wzae?+z-KAcIS+XAseqlJ61?GEae2`qfu#vq_|APhi z3`3u_hL|TpV1cJ-ZJ65E0^;ooRjE~H5NeQ<>Xf+7LR_yTaMGJdH-Qk|10EHNS*X(5 zZA`BGG5xbnUzi~!M39pVNDo54ti9F*OJ-!`-AZ&JP>OUvwSVyqi9ol3*i_ZjP)I>B8-h+Z<$!Ju z)(b8Ao__4d(?Skn-RbSXTQK$jmn)rfG9pbAfIObJf|Z3L@mSF-98@of;XU|6j6I{^ z$3C(KCQ(i=|B5pnJ-f}iL1^|d-Ux?eM8x)Y<`83(B{luhkjIDg3l*H!nfkbT&w&9ODkAlI@=sD7aj_sA=N=P;+^u!qH5Y6r2bg9T&HJ zp>?E~7#_Y}=?C`$8cDJ3?N%+%tKDjS#Bnomd3}%v3w_ z-c9^uTjAQr&?VK@*xw}$BTk{(IW2GDm)|n3Z2e{bh`hOeo8)V_njB;f7T>A3F;}s& z@@3D-y#k#ne-BKTPG;KL4T_gAg9HOcPW`GIrB~QZC!fj$|ICY5&z_yhV@@@CGz|Rh zOg)f$S}_(eXA4jcSV?QhctGAEulVRQEK-MdoVK^kAHji!rQQfvAa6G&&iQTfKr@aW z4U^LLA*ll97jkx{ed|gOuUET3^$qO z6S|7y+|_jnuwl+36B84Vbv4yX_V(G2TGtnUh-~UeVl2DDlkqA&7ja{1g~L;(@1^Rl z)O@@ZMeDQvdeyJ(!%{%2!~H{{Uq%hI#`CWw)BLh?-o10;n(&dvf7OZD!E5quQy8dm z_pX-t7oH!0)Yzou2dzv@G%j4|d*`Rzk`ahvaz`jix)ghSmQLTjZOh&I@BmZ6nzr! z->0!+u(`eVAp$aZnLAjDV|{zF0s^Zww`Au0^<;GJtYbbk_RaSggPxAT>n|Ub#~RhK zrFoma@4mb@CNZ+r%cJFm;jw-5zifw0+kQ~i2D=tchp^?p_~_;O|?4U=ed`-k{i-fVdp9N@XIS zu;zFp{3BWnl&CwPFH5YSI`t^$#^*u@e}0f*?A~dk~qa|691{ z;A#G#ZD z9S?PU863#;D(Xh7gK68qEXU-w&}GsO66)5^f<=ph`ov#3tGO{g-oCicMNs%i!`x@9 z7AZv?jAB?G4;w-rC+eV5m9Q#PW^MWp0vp7~Tk83%;Sv@J~~@ix2S9aIqB ziD{hBTc>P#M@>bgWo5ArO z`j>t&{Z>+s5UI-9JiqJZLk}JtN*W#5ZfwXwpoilhR2#W>VVujUw720jjnB%uk3Cec z>aLTo#ei-BBfEcja`bFm%KvegyVF?-Y85DO5LH1BI_YFH*mMdLtM`)#-w{7^1kJj6=Q}N`B{o`$#CNx=UYT)sW@9)jPukO_7)S9dIffYZa_~LTR_ymgcyq614Xi^%rHAx8 zUUYuW~<%1JOZ*qp>k8nlTUw5%&RTBb6XN#rtK!+9cgF ztdOV9N8~$?*3tgOkUBTei4g_Mu07;?qC_dKd|O^dzy@gj9f_Nx3ZV_9Jl%{iEemWd zXc-9K{CWn?>sK95F8bXxPWfqkW4~1r?!(8qG~VFJNsHODjU0%>tGn)LFSWO5i3Kg} z)sQV;eaePzzL7A~@X%97Qzaww`9XD>Pq2(!CvD%iax*3H)B5`N_fP91Z|C>~6QS`) z{5@&ZM8&_GDH*OwY;OMpBj{^r@;>P{=l_X;o?dLykzfuWJpVs_0k%fD8AwIxfk7nsR?#pie}#MJ|Ikl(Y{>KXC+(QP zJZc;|0)m41Izym~A%~-@9vpmwKqTVVU8t?mL>4<^(1SHjG!V=f==DV_;*C|;GgK>* z^G*DJKjWm)d%WYrhipEWRq^Tk_PFCgW|=ea@u;h(N+g%UHVc=|OYN~z;h=jcU5e3tIshkgm#>Pe1usJ>Dk?o2?mh+i7P^6M=JzcvRJ2P+vrAdAU*g5Ap149Ia|**9 z84tC+J&B|ul~!j1Lh~{`j$qxbzC08yxp#W0V!1D&ku)b6?zf(jVzDFf$_(4B`_o z+62xEHvQ+XUm&l4quE5GPyBLvKe(JLE-uw?MYrpQkW|As^7PJw2W$15Ntb}Zp0jvf z@@YAY=MCMC9dirsRJXCF4x)LwjNASrV&}=n4$#dI-o<<|;!&bbL;zHIMTHF2es8Ta zqlby;6}6ifLly$vd$xX&6HLTJ=76{LAs0CNpG#0sxmO4vyQTiwvm^LQ2`GxUu-pzw z;N#-Ah?B$!_YFLR?&RvEvo6U%PtPl~prV=jD=po`$tWig0O|qI9hp|vg++`_##Hwb zBAu_qHOrN$cQ|(Ay?#`jn5+a_anJ_5e`DRwlX23G8y>ax3Cm$&wO2lB+&Gz@erRm? zgcyn&@ze<(nCQ`u8WYM1;xU*skleU&Bf{1C=LJpyaV0|k(0O6&i?zoPP;{VyKap1O z10p`F=i4C*`4`-WYn$#yhYnz-ewXFk0|`%}jx}OoNdkEJIC5=osg<=g++1Bm9txTT zK$(6J{I$0vvy3dD@*##)5K+5se&?-`F81_k`GY*fN{k)S>4LHabftdRw2{Q8Yn$G; zcV(OFOD=!^?&9G5V)&|7)|-?RTumt+)xq48o#HON3N;8Z{Z?=G?J;C8k>ttn%iT>% zy2&q#2XB$d8|ki+%O9@5JH9uIc;s%qme}B&-BGakVLS`=vQ8C|#_Bgd;E!O$!9e4C z=lt#ndpI&hp)-Go7EoDr7*#j%O^9fduU-@4BCF^(UQ^1LduX=-WT}?j!j}%EgUX4p z8#kZ`im~H7z5V`VZ%@yq>>E0wh!WAWy!an1fLiqF)JhKiYQB{u-0(dNE-j*if`4FDY9_{vrX(pA?RSu>5|A0NsT3lmVI8Bl5utcp zL*#K1pMP}irPBEp3~J<)BHA~AX2b(9krMuZ{k{*TjWn9Ks$18;TS6&}B(u!=@NmkV zF=`vi09tL%-_d;~A_(*{V6G`ju}oDKqtDUWx;*JIG~L?Wf?C~M?KvmfzDYJEKXscf zCAlDJf+JC~CoJ|2N2oWY4>WM6x6Du~X!nh{xQ)=@Zbaq`!bI>-QR-Ry9r#RYF30d>$JePOyND03lKqV4e~k&xOiRzol#6 zwhW8Ef)<5*sF*%YUsX||GN{(&iw~&5Q+~=q>_odAKN*DjA=~C&^~K%4?}d2l=%xf= zY93TE$Pb+YKE`$QXywX2=nw8E=M+q3@}=}T05hr@Jc`U@Y*6lKfyL%4>{l1VFMh;U z_Wg1lm~L3N)|O;8ujVZDV|ALk+FMWV;$UYtGR!peKyfI>&L9x*#5$5#hZfF%k@UJGHV=7s8J1y2ZHf#0iP4Sjj>?X|u$nJ8UC| zO~w7v?;$>wUi5gXQdJ1#KpIkeOi9eD6A5d3n`7d$x4WR zR6PnI8baZUOhV~0RjXcA^2-4fs2yuLqt|q>LnvC#&dj`UhCl`hVfo0XI|I)0Ee?P- znbFeNM3sd0k5Et{{lZ8tposkG=g(!mQTvBaJ&%|-Ke*Vly5C#gFFaAA!z#vF$s*TB zX&72>;9^U2b25iArQ8xdjO^21J}^R7H(&$B`;Ll64&5tywU<0Y(m%n7)9_~LTfM)O zW784Os5{z>gtp=;CnLi9c5gkt^0xHsVW1eyBJ}i`z84y0}gS*S$SmUZE6|V=54?37;);#ZJeGOOG8>Qmyk?`6P z(i9J0Vae*YgZh>V&S7HUdjXD--*f2;cQ_#-ana(zwex5jD%pO14}N^t?a;PnrjgiO zFRl)t5CPMIL6)q#HRF{6W+IP?i?UB&n~pF+%FLfTlX4+U?^a0DMwU;A(D@-%9ZcP_ zWi&=+%XY7pPeUy0U#C6$2`utzY@K+(ra02>gWYL4+TVA)Jn=F;BSSXRXhxH9bVBPr zxm96&5Qne!mcMFRJ3egj7K$A-;}3m5y^tnXP@2h$KIsLyAtbNJ|5*SEwY}zHY)GlD zj)iN$k6nA>&jvQw@4O{x(mNL8uqiVn$ZUvqPSrmvH!m;z#tj&T@2D&La+y}4xeB?O z&vr@lntLBklb!AMFaHDtK0+o3#JagZ6mLM2)Efo5<*aYS@XAXs&iypCncJW9C3;Np zd)F3+ZlgP9C(UXl_4_7 z&~@v^UF@~zb1g?X{N(UScLU2de%r16eP#(^2lUww=ByL=_qML9BxzQtVa2+C^I%sf%uRN z0r5kJ6fLeke`}g=|4H*f#l6JD2r+U~0J|U>l%?3U`X8OX!>#}7n&!cEq%=cdH@CRB zJD#dSDct?nl5HMADAm+FL!rXMqmVLZaY=3#@);fZ(HFh+VzzgO;$ilb-VuRR$2WAC zp~u+E#}ODuZ~b76{vD$F1fRToz?To}V$tjS_wNUAc)cGo5HopdNllx-Q&NwHFTrPz zX!1r$110@8SiHn5b?_~k2Pl~Lv(7Yel3a3~W>IqoOz{0vEkgV^@DY76jyT!@$;D0$ z$W_l6?wr#yt~!eRO10u^0HBHath_HwYN@yeAO=QQ=yivAlnFJ=d4fc!-9KT=UL)n? z8p8B2jpr*$E=kh+DmI@wzjl(xcedL$Y%c@d;WHA-3CRBzJp}bR*y^t_*M0U8yila(F`Yzz#vMXOsAOi$R zVi@vyzIR)#tj&j4j^wV$k^sshwnK98yXehE_Znuo=WxOA-jL^IcO>czvL*Pmsn;+c zL4-q1W9L21(YLP)lfv|WQKMRxsPcC!8~UoiQa?O5=Op+L`4f zPNmFNl=SmI=f`(ob`}eZ{kO+xv1=#NSN1;Kv$*V5gy`}NdCN)|P(s>K+-*{uh==@J zwB#cSuI!AAc}V*cH}XGw`qXHJ5+l8^t)s~NG<@MWJ=|8h?(Xi`+CvRm!Kq=c4s;kav@R#mE6fImu-?=v4y|>O9!q&RVyOCLH&Kh@ z)fonZ-}CHj1u`bY*ayfs(;cM8Sp|B#?|@>q=7kHzMwMi!!gt^0FajVZlP#+_F7-;H!G&f#03_H$@=sb4mGGt*5i>&XE=U^WczMnr%Bdb`s<>WmfCAvE-}M6qZpSIcc!@|1WX8z8 zVY~auT<8=y`d38N6>a zoc8511pU)X<2OTo%*{xMez-z92|@lAGBV@+e0<*_9q$|Ze({yV0Ux4wJ`B~74*F3{ zAqCO$8=+Q64wA$;UW+%Zzp;lM=^6yvhfGezLfPWCH5;k~@gX1#L8K)nx7@$__z$w)@FA{ikg zJ2HNcv+?YM5*KwoN$&aBe{b85Qioo6s$K5u*la1csN zTFNbym%oh~`iggUMTA{`Tz;dZaJ*0Aj-;sVf3Xw7vGZ;1ZML6o>d@XO7UhW+Q`$)v z9^vUeUOMUkV{Nf#E+5cc7&TpCoUs|gh(!*=CEN^f(=nrj%DVFb^5LF;+W|OqV_YK! zRE6A!1>B_wDZ-%>G7?(?m47HzA9#0*DecLx<#nUArv(c-)VSyYtM3xe$)$ha`8L^r zzUT_m2Z569pxR@KO0#_i1rxza!yt2ro%!mhXF9z&r%?(35wRf=lGBr%HHA0=;Jf%T zcK*d0$^~>9a8z}^@;Z5=x3uT=>mnP?CPFYI#$0Dxp^|Fd~XW&ExSAqY;qm+lBLio`z3XAw@<71gU27^!d~FJCy4!+zTkJy5u_|Zs?*w* z8d~{TA1QU}Y^F3hY0k5-F2{Sq8?CgHvusdVh($x8L zKUcbPkX}&sWs@rj`wxyGiuYMF8t6G*oG7nuiDXe@A$$oj0ED=I?ADKcP!R-2)&@&A z?xS6p3#;7ZUFN1k3`3lmmWw>VSa`iblM>7>;;uJuQexP~I?zXXK&mb( zB;+=U7&!d!wkUBx`V?Y6KkU8$ad6%#$E}?>SGJ5YWZt@kGXiw#66<;Ux81PB*uS47 za;wvg{vh{jZSFqH&!BCJ;K+azC9%*IabZ$E5k~@U-osp4nEScfOg3e z?0#ZlZZcE?0s{NJJw&qTJl2-Jb;nwfEJ$LQ04Y}K&&wUm8g@f%P}e|zGy9@3R=K?I z`5Ff9*WpnTZfMZcPe#;o=rwMU)||#NXZF_UiRE)?9XaCaY#Y3ijk2?;*-u} zErGJ!(wU#hj~cW-OPwV4+RPoK%k$fN3l|IbCtj((3N==DqZmM0e$uVMBCLqVRGTf8 z21oeq+KmRIi_oeACfOhn;2bn2jBZ7SHS9t zhg-RwtKPk1a@(%y=B8A%-*IGW$^jt=>H#fxDY*?1iwsNaKP3YV3jy_H!pqIl)HF3E z1$j>&%0&O1>JTFQwwlTVAq!{%DkUy1?N0aj+fbQ7oc|X@PQ2nz5F+wU!Id!}KoP5O z)B;l~)P`k6angUP%7Zk&7Z349LDIf=?r3T=T@T?R8yi?Nh!m4e)^fdt$gkhLPaM@mx<79RFPV@&XkisQGZ&x;s1f z-XY1D%IY@H8q0AoeoH`dJLX=}uGx5rK%9Pf1R` z$KCR{+NF_U)N)-;=;i=|zz8n^SwlS3cqM-BURM$-QO|VsK2}8DCls53(Vz8Am0ib* z8b0nWGjAYp@~yw~BU{Dzy{e~h+~J_60E=h9MOyk6=eM%PR>w2&CfDV%m4;?ux6EG3 zDexZ(v5YAUl2{Irbb31kq>Z~ z0l1(q1hx;b)MvP4?9b_6ND>+z?u>2)Ast6lQz-VGpw9+zhqmJ4EId@`uOpyT$mSE= z8wk1_&?wyskI!EO0-{d1I>^XuCPm+aBsX0xt!H}g-nw%u7=@SJJNdzHTa_nJdi1`5*P21i?$BfZLe3iz4TA+;;-+Z3u*|Cn0<>npj6ciLO z|Adim@qu_14Fft@KEquL;{-gXW)DUsr^`x9A$A(%%^Ixb-VK_7o{GwCQvLd`ZP2O0 zteq()xUwK|*(K-2wP!lcq&+y(?-X0wo)HJ##ALQC1p3$g?C-L)M7nXbe_ng6{{ z-Q>HG;(HfKHy$44N(Pt>f%%B-luN)~8!03H;dvM#^+n6kk(lsJEnZ5f#();FS>I$eHgDJiy zV^2HCD+bXmh!;lUgsBq|bB*!c`@QE?vDv?`Y~5X z$g3FuxEmnY`(*??mUA39r%bx&j&GD>{eD_sUJX#G0mT<(QU6w3e36=RIxa1rRw8{6 z7Fz3>PuF6tp2v<|j;*|gxJ!etbUat8M!-*dmBM#zDsvfEU69BBqpRmLy|_$Wd9mXv zOM0Bvh%cHFPI~oq-9|i?<6e7H+%Q1RW)FewMM7%>P1iNE)@{wc8p1xwPnP`;+o~@o zFR!hFun#_ndk*CJ4ZRc%+Z%LFUm=RSx?fzp2PERTu;4B4-o7=EQtImznD5`HjQO;G z$iS?$v(P_KYr0tIayp8-Ff!mFwT#QW>()H((jELz;+`iFt{VBT0>j=n7aV$uzJofB3hAd z>%q_9t*i*;%PiZTnV&N9p0H{Ym#K*DVw_PM{DPI1D44GFw7t98xi@aC!_=}PQNKV;!$+LnWCE@F4KIfh?xLi@hDvNFhf zn@QBG>4GQcUNnamDQT3=y)d$k;MBam@*TY=$7C!j97lV5X%I3PG#}3F^&F}-1ZO!X z_M!NxTtJ$d+@bu2T7tzNuI9_#>^8UKN@Mw~ub81=yz7yPozvE>TNy;i8noY537-j) zWc7}CBO5oA*?#K#j=MkjfQiuS9bEmrrYf)HkL^wDQ=(5oOLvQ%-@e2q-K2G`d47Ed zR#JNwdn`lRI*(9_TAYxD{=Faf4)|i4H;wBc+lI~`Bdip^7AjUn}&Ev;T`OBw!`LbCBtaN9_@K0p-!dwbft<| zzsK;xMMDeL%n6%MA|Icm$6fq&uEW#wnND0{xaE1%voP@qFmFo@VC=Rf(aBS}tKCyV z&@_V?BYvNM0-%av*yKb;J$lrAn+TG;A|oF?_N#1FIbYF-EdhXp_ zBvJ&ufg$nhLO2l_J7H|Ga>N%6@DNG#E$gFNFHf~rgzm_HsRlV}EMQYWIzNT8p(E)WPX)o^o!Tn}{-M>u>wXL|a&nlO!N_ z-amk}MJi!*-37}3az-4r0-x(Q-#!XbUX@#orGne7&s74*H_!d`{*1q0G;~{d2IwO; z#7WD>Q2Qoq;HOi)LD579Jq{ydH{z(l!%@)TPFb#IV$zj(*;w;Mi=VIfgPf4YuAXhy zp|+%#5FgLie%z^W83 z3oTHBBk~FG?6K8zIDe@b4EHcFq@7^%0akGa{)b|Hdm|1NPb`f|1j9!;HK*e$&;%1%SwAc_|DGl*jJ{Bqk}FbX zZd-#T4Ik#Y7&&!OR%0B*cNJl1{H)#|!>INhV2a7MgM*~C4+Akx7Hgpjao)NIw(1Zo;tk@y6FOrOEEMZ!N6AAWj z#AFW8vcc&&KxPxKWmiB>B?E(w^H^UkX-}F*1C!OE2s3<4daBWM>34OKcbS9c^oLb zN%E-uk&O&uLVD?v?IceObqsCCZOHHYzqOq>ocTH7DYNlVT{w|IL0Bs;9a?+9y8_ZA zS=-t|K}A1VJ9r6IryHu4tHeK53484R30UTPw%!We%A1A4f~>i^W7()Gzd`Gpxamv9 zl_lE1K=k&v$?_i1U1JeW>U+e~VX~*yXmGUL#9DNGwr}^o^3F@zeWwznQ!Fj6%v`ez0G72MzDOQ>cwxr| z0q*d!>1w902`0Z=36{u8AF=h-zV(1UVpM%6>Wf&P-um)o9RrYKHss#FUymdY4lyZA zFdzb~jI=Z7l1$Zky6fkhTjRYq|0#X0S$29bX<6fU^4I)CbX4fsja;pbVoFT^KXJ_&ivloWe#Q*arTlFWsH@)j9Y>Hbc0j}&w0?6T zLyrIs+?AU)sR(iGDr-bHChR@aIT~{CSfIRxYM7MjJbA-Q2{17N9zJ{s z)s;)H>o=SvXZt}X_CSC@*~&~kafy(U>2(Ws??*$&dJ3jMJ-7nt0{H0gzgQg>u3&(l z#@TlZtJ4oW{mDRcTSEvWao*PadP8~A4Mbj_VR;I|D;A7vNLQ4I^Ga`BOKBoG@`~1r zt9RhOjd3h~kXv9ib9HU80ymOBWeGu-#9S@$+s&cy%b+W)uCCfk48xr@yKI3mzXne6 zi$JbHQi6!rFqUAIfGSGl8ol_h7xIdPqVFf55#lf*FDDgkCF6WILnPA%sqxc%CKKI4XpjMBAZF0MK z+s1P!C6a0Zj{5DTmZ~?sbnuQ0=_-*zfM}6zu{dIl-Pyu_&Vo@7&#vLnP4<9%q%)7qbkvycd`ugHk1M59AUqfC$xjeagHMVEu z79=;Pwz->|J39=Qt*>Z1%U!D(d&^<*?6SvfWk7g#cwc+N}TATNK@slf#?RQt5x3J&#>-PCwq7enD=`j#>ZEPUU2z>D1T8#RyPi|6rnqUy)D=?aF*V}{!ntQDhaZdn9$H&$gCBZ{*K(eYg4_k(EolK^}jTS z1t+8b-#yGZ4hYau-hst?#u%KoGGH&cP4oKjdxi|7uyHU9fe&OxJ$|)ki_VwI8y{+F zq^?+fy=$!VtCHjNmR96TmODgASNyhcH+jvzRiQ~|?*$q z$7~O2YG`#{FJX!i*U->XPc;%$Q@`A+ctrGFZ|J@5r*zJhw=8Sm!TWj&9Sp*}pSfPL zx&Pdya^7Hk&+`Fg1qFd=S<5@<^0E#YK1dv9n4X9VmSh&tCnFrK^&V=yG}*D>R_aV7 z@t|M{1r-xe^1-n^(b`voHx9HmzI%5F$gTP-c_JdF5GF~`5_CU#!asAhssUk1#VUp7 zA31#9+E%PCT-I|>UcG*vy+lD#aeiT;n&jXV+I0rgXaH$`ndmMr0)2WQqMaK1biHyb z%VAGA82N!~`qN~+nQ`y?wfAHl_=Dae~&?-~)Q z3htXF8hOl{J`hBM6@os1F&c3DnVo=oqlctaRYO&ZKut#S-AyO|J#=)wLAy=w%h|c2 zrN=VO(8?Qwc#NH947$FW+M|`p{69+iR(Cpjev5ShRt`m#kU`60#kzY^`qzF8vr_e* zX0XW1Z_;Cki0+Km<1tF)Pa%WuGEWCjw z@2AgO<2OflOepuNSH3lZeg=N;`WC?7;KGvk@}=W1?+y%=7{`i%X#3@ccy2 zWm9gbEzqyH{oH8g{X0~toj!jHX^`yxrl30-H)qnkPlaCAZyWUwY{=CfATq#EB?fG1 z0*|Z*6##S`eB%QHh6iI`m29-75%m{7i%G*s*7$8VPHXF|>}5~dh6dVeLZ>C&+9a#8 z%L`jSG|oO!ig*+~v9a9!5d&vN!?FC_d?$+8?Dpc1sKR$qtVTY)YB#BJ`l99n-PZe! z)n`_R&%pctsiGLK*V*>*{(b{fQ{PX!Sc07y6X&f2v9wlJS6`fd>ubw&)yys4u%kD= zNat=};YR<}W8Au5>)5g=DH#Qx78f(#R2@oJMpo&o!!w$%L>PlsO=@C=kLuGQHSIxj z@YU4hOFpKqb8Yqxr96r12TYu`hkFVpp9Z%@XK-hV-azXpJ!=X2_lYTt_3g(%9-33 z5k{<^HTd#`MZ>RhR8}d6W)MILShpPcyxHZ;N7uj_J;bM3)$W({8JS@@IYxP48#AZ= zS0jN6Y=0`!zqw2HRc~iiQZmlN!-jA?8yFQqNeD9|tT75QN@fupjCF;DA_~^P#fb)? z>W#dIDPuFiz6}~DS3GxEV-Ni+hTIm-mra8+vPbPq0vugqUJg_-KcaXs4~zB}n)d28 ziL(kBZkV`Id?~#NR%G3d@#P;LVCEmP+miqXXM!HPWmB`R=ptpdQf*F?(W{2MdBLb9 z)Gg!>bS-SG=CsA~e$))TQtOkHc`@S=?O~v5?5z38`&H_<)YT~=CSlW5kA$V0ALuj8 zH*#DxH#AHel{lSyx3cKTC)?Vv8SV2pUdw0S35PvQICeR)H|@#3QzKu#AX3e51i{nW zS?UU-JM!l=&B|}xZswy_z(|8E6mpl{nLf-qC5=NcBgv)O)TzCny)V~X6@cVxoux5| zw_dD+EY0)09^h;aKkYR(!oI59Xyxa$-wnPkK1Iv*1eGIqA#Q!;5C=cP+7gz?C{u_E z8q=D?%0j$+tb4~yjh@FImj3F0n1T94AX`{giJg@9N#kMe{;yooKJp`gktufW6k7dE z?3KPuO2b3Pqg&swPY}U17k=d$0MwqpAp0LiP{Csdy{gThP{gm#rJn5nv_tv_4v1g( z^;TYY2FRUqBt10sYIRiE^S_U80I=83^sNjF`$>AvJt20$b0QU?chIO4#r5yFF4S%X z3dzvQtP&L%@=dg_U;hcJsovy`+2g1m8JWB-qaNBfvbfJSCR0gf*6izygTnO8L zO=|DpyoNJ&H{R(x15okqzfrC30Z?4Qv`&_SYSr^+zpqGj(8OpybK`U|o*+};OKCNr)~TXIwj^12L)W+}Prt@g&dtba5%T7U03 zNhj0FvDaa1F6daLh6N1?FZobNZOg-4(%Q;OYks$M>*X8GG|`XZ!)=?OjoJATV%d#Z z%E(C)nm}sJ183%~`i(y6@9JDEfUv8l+`2?Z?sq|ZJ$R$WH3;m+Lx0eCcmlw8Y%{a4 zAcmqbCK{c>64R{e?Qy}CJZfoi!7JT?O5%L`Tc_vdWYSUZ`n6w;uIq3ksuSTK)6<%N z;s}UQ^nY;{+Z0{i?WLRW$x-xIgktFP89mpbJWA-}V}=f8kGLc1f` z*QZruYZ)`lDZW0MbJk0?3{P4y_qIvCo5FN#JyxdAb@~Cv@ZrMEtA@+ZL}i><-7Ofia*EQlpZr>%X1wvJXkl; zOK&sF$^wY?#$g>M(BSjO-@}Xb0xcj(VnBE2y5O;6-!VU#5x>F%D@ru1hF7mb|KkX8 z$561$DaXO*Mzu7|S!O4HNe6&jyMvyWWD}|{wQ50ZFwm7o#JVS}Vw%Lw#id(%-5z14 zkZWA*gzy1sM#3I})bela$YD(g1DZZrxFDmA!v9aC2;86XW|yYh0kdjZdY3a04` zM&i(kj0soED6YO0C>);u_Qwqy%oA@l9P_MTvAM#Y)p1~U$IhJ*bg3*SuJc-T@-j#vrm#A=GMeBYJB&J2Qt#dkgUooe z8CScS*#@UXIHwmD&O)~ICmKVhH87kbt~le3z9RF=2v16-VD?FuU5yyuAKZoTYA)G3 zXo|N2=6>H0LwP`k{=d*fv|7zacv%4hhaWidwHvc+LQeS-p?mx)4nCQu94TiAon|o# z-h_|gNB>~~v>UiXMlfFl#u>wrkOFDJhb{#LTGMk6Q`{(Qq+SW@wi*&04pI(eec&JL zdy=mU_|W@pC2mQ@*Uty`P#>q6@K!yipqdo~LgVaCe8w?rs&LrHk>6~?UVn_zod|OV zgz1rwv(lHPQ~v1u#a%oHs>9#yAxOe@Wr#dgKbb;g9bttiZ`xGzM6pp8Bke6M2CXvU ze8netrK|#~YlH@_<}2jxXcyQf>Wokt6BCZBUm+1ldXvL^jssAH*&+39iPv^f`n6}9 z+wtwla{cRNkhrf3{L6t)q@vj^zNZhp8aG<3vp7m7_}^o z7aI@hgDM$u2c{vhga=4)>Hud=l>m=kxj!jEx|fedNZ0uUszWiDyLyhLrBXTKHeWEi zYD0n1xiv<7fP;fY9nQUfs>YiKrENk{*$5H41uG6-|8OsJB#lkMn;FgAdxHORxzbp7 z$!=SMD`}X+rQ@;~Rc|U8hxX~{JoVI=Lgi^g>b>ntRaoV?6Od&E^B_g z+tnP1gdv;h_Pi_zyrMDD=YwoeW@d$`%BeYKCZ?O%pkVle?a2IcyRyE$#%;^$ZEA1| zkP#p8dChgU%pnZJJ%YoRFacg5kthmZ%!JW9to-~m&7#psCt_dgD|&NV9QGvLy!o*5 zqae!DLJ4o9yYHt}V5|9Ksv!{wA}69tvH$Oh-S+a0!j>pyP}x320e(VG<{ii8o$e3W z@abHLc^Z64nmYyGM4d3fsZ8~K4N0?8wU zOq`goY*O_}kW1K(0RrIdpuMI??%ObP-;C(e$BDc7nDF~ge)-~6UrT@X z!?AjZY3wgDq-8m%=D&!Ry=89>PH#lL$ejT%N zbrn5$QSf8%1C@s$545;LHq{3pSMj7yKYG=gLNGM_EHD5Hrlhz;NjHp}A_&}>0u%`x z9+zE@96Of&;>E?$t#33MK*bQ4=`xKwGX(G!-bAcL)wiUfAH&{^$rl7i2f7R-}x@e4$oj70oFz-+8}(jOUF%r+mf_C5fm0? zX>a1j+49jN8$e4RKURDjkFe5T_mo!iVh&Ig z{o@%%Un*^7{27YaL3l74fs>nS>o;ixZ4wtJC!i5nm$Wt@$KD+^G2||oC4M314#|-7 zxk3Jm4Qpw_*7KM=THFi$h^7KZ_6B;c&3P(TR-6lOac^Gz7XZ_OT5#=%DlemvFrmPY zfL$LV*a$v2HTA7X7<%O0n72q+;`k^&Rq8#1%~eJ`<2t;ChB{orzS8 z-;BeQ6xrBFIL};FQCFuWo2EI+>rEU278N*DZ4iwEUx>w70ucTLK)4bTPzM4McEk7y z$)%GIJm#K&zK0ZKQg#qq`Dt3z($x=aIx{(n1UFg1%a=QZd#?`wLV(mxtH36<^zipT zx=^|+*Ed))eRl*!Ol}oW+a4YXC|ChZy^4d^kOGF0<-a~pO~R=>O$e3+C=3irzNjU2 z{?T~)kBm#k8!wLoWu=_Ncw?39aFzVe_;Y#Sry^+u+)Cn==nL_T8p^VWYWOjQ&)}p0 zk(hE5))pAZxSS7BG85IcI3udh7RZ*6Exjep`*~qT21S(Q-No@PR`NU+Svy2w=;`St zOA7tx<}ZyrB#!~cR{*SN1gO+&#K0EDxi=$Sj`1fRU;po|;_=!FaqLmjPZ+0uUrXYX zv_Zai)zGjHnac=~w20Izxu&=i8wj3zeOPV(@}`swVmO?rg4AH?XInOJP69X)34JNe zBa)>xM3@113Y!5V#`5x;?z3!MzSx-uU*Vmoq&ye8Oo0)#?ThsDn{&QG5+GlKrH@fj zA1qYw&1s&x17MReobSJ6<4B1k!GCJwr`{NT*y7@2tuG<%z6gZNn2q&dD>&EZ|yRCKl+lEWep>&SCa$~!t12mI0EV+6}v}#&=3FjUL8#A+@O_=Bs=p3?e5snGG z;9{35879ZAU0pWd5N%Z>o+rGRvQ$Oj2_}JNytfo`N}#sqezC{qU54Qe&{9!mDyn#0Yart|pUd&|;qgKP#n9}! z!O75&RkF)I*bby2Fw9bpJ$Vh;#s!8aW_ngcCKp~eL{4Bw0AjW{Kktq{6(0adi+>v; zEM5VTMeHW@KhtQ#PyI?py}D{j!^k9+YT)3=*+G+7~l6JbwnpPI9S9*CDo00dXpb#K;quw`YscZ{W1ed0t$+EZ(=YlbfOxqgKEHoyb^4fzO(8 z=35BE9AUG{$K$2g&TN|pdU_Tt5hou|oPzV0SGvk_8}t=lO*n;58XM@~b0?RhOG zK_{|EPR&FLR;F;`*{o=3imMUZA$X^(3yl!suI(p65J?A>=l71*DTPhP*26DfX+Bbl z(-z}1JV|LyTN)Qb8JwWQ=H55<$({kY)2ULUg*gVSLTuJSJ%pm8EQ16*Cbc^$${EJ$5a)BhrjNwYLi)%^O_~W<*fYrDtWqu=#Z2 z4NS%alv8(Bg9z~xL?OPjZ& zuFw%FbDib5>zwkWZ{Ow-`lj00Cy9yJsQA3}mr)VW(@WeCV7ynu6dK~JWpx0QW$YQd zCTjo6R>S6d2Cyuk(0GFR{$>wPG^eOk34Cx_dJ8*UyQZORWAkg|SZr@_^hI{}trtL$ zeKq~jCtuzM5L7;cJ67<4<(@*3TNj}&HM|OMd4`_dmaJl8jGGGg*}(}uLFxW?Q_L72 z?(cSma?DDHZQx|f9t_tDISu#5bEtkVtW5GM{AxBk~{TZ0!5@Sd^p6SL6T28@O4l#}58yQDJlMJUl%U}Ety31cTPx>qO27ko4yACxlEnT-y&2l~eciAk~ z$mhNp+x=hHEQh3cR_)Ryq)S`^Pgz|ZJmC1v%@3QLzG3_`IX=$m8=Pl=M2F7i=8F|O z9Ry?oTp5WF4*A2C&zZ@0ofFf9kmICFRhSq%J-K70SLu1$%G?i56#3`QUAS-o(&`*% zQE7#(8w4EOx{4OifL_X{3QjC3`Gtep_$Gx?5j+&%E{weK6SI8(5K~Ootp!Ohhlh&! z6^$REWX84_>|_{tYA?Rzro+-4_x+iU=RvZg(ekxqr$N>SS}W~GJtwkhQ=bf1NIkv2 znD6?(JrIO32zz6dW!uLUFp9BQ!cJl$&dSPKR#pbw-AKycN~^pT!mXQZO=*T0J|tJHYHm95m5&PNR8u8i3j>e~nO-O6`Mt7^W+fZ@< zu=b)3&!AOR?>e=5GkreQKW#KSj&?Mg&$_$lM2^-(;1}lJRm&Py4V?WBS|Cr%OCdo{Nkz4m}a~ z|2^+F$dIMu7n6~hnYXJq@GftG+J-q`K|vuPyBXqc*&`YhfItN#@aTSxx5Q3{&wt-< z0og-Hb{!{uf}M#84smhC_XXG@0rfj{zInrX>=?OgjDzyw7BPj*{e>T#z?gULR@KlL znVihhy}eLVQe=FScQ0o=?hI#eT0u1J!Cf8q^5;`CDm+@7^bE}sXbxL8UiuYlX!reT zRAjUes{=t^gvtOz34VTlBQa)L+Piy*JooaTvY;;^pok?&TO`FTYR#PTMd z)4noN1|9A{=QvJsv!})P)YxU7iXG5B_pyAJYCubi%8-GVtOLBK`-I02$i=K6figO+GujSx^ zF7pE=zu>}MzC!20fLxBrQuQvAR_f@0+sW#QM4MF~$V$QAv3zkh>to+-YfHyR-`c)9 zbuZ}cr?8gxuK%C&fpUjq?*?5}Rc{f6rCxVHCWEo5)?QRQb|9Aq*#Y;IzEN_Fp@hVZ zI`M1#rR-!-^mau7S2Xg7df4v|&pSdkz2<}`975b5KL;MLUKRITD=lrK%p$xVD?hjI;@CeUjxDZz;jhT`h+er{k=!PO5!6Q0+L8>)isbzm6`+1P zmxmEOGF--#yE^ygh?z7#o=ACNR2xEojM;oTq*DE=$`W^~>A!b%b+#A%Zvxs?*EB0f z_y^`(s#?TpcTuce>iP|w?z`&SzAjTAed^lL&mPOwnJ-k}dWB0V)p~tP$Ol@1LY;rd z=3LWrh*@_YJYcXBL?;aLVazlYBhJ9Z#f3#2?3wqBZs&0=7^<}xF}%uC#~=hO>fosV zdXpq9GfqQGaX?>?`q8!1pOYFsUwfqDOK_U-J#vYV^d>lR)5k z2x)>No<4p0zbI#~-GdmSG~&=Wf17>Zz>aydq-5_Gc}N}u8;{T#?Oa{eB~q}TT_jwP zD6ZzBAD3<|;!un>f(-&WXCf@MK)e+@=^i0LQ8T#>6~pGdq+i)DVD|VpT=IUF z&GB{ef9qOy2fBS6^tI#^6d6ySnmIPoA0mc~MUaho=+S=>M|x^UJ%y<0~i``hwe(qr=E(i3;vH2U_qsL(hU z?OaOYhP;uJlVZn?`5!;1Oo*hDTBP3I`Kz}XGl72$h|Zg%yy0>D+h#yz>*wY69(}>~ z)>itPdBxAVd!wZ*81x0z)n4q99}9T@X^U?nW`A&gmp|Q`sgrs@tM>Kljd9+1EdGc$ zKnTPA-cfqx@3r`>Vs4&>)YHflIV1f87%hKYdkKaeW;wfRkE9J^JGd%=*}LmcQuTbX z<^#GP@*|c+HE%y%9DNEaxN`E)M~^JCZ_#&aJ<00}G{?=evXYtfCw~O|WKP6R1pz)qai)vU2C!jh6L1GaR5zqr^v|aZc9vX_uiiwD(q21U2?W@Mco=YE_T02`gW%uGH z-L#Z96|Y}@_TOAYZ=(!l`c6vVp}$`@!eML*#S*qOQ&ZEWJNnYk4p3&Mr5!;Z$HQ}3 zm4!i|{W!mwva)iP#r*TfQ0dtRR8^HVcB`m{JP&ktb6?e+ur7S8mTqhIG%KsNzLxt4 zH?2(Bo|F84pX&G7I;StZOK+lTtwe0&4+M&7-TTL=BCh5C?J4{J+l==A>jz(}5I0VO z*d{r-Tw|abTfe)y5fKgHg{KcBa<}GFawksS{dEzK`;Bdg+3D`-fnjr^C+L-LdZlw| zTn@{$-sxVbJk$F5x2i1BmnyIojrPN9`<3h>!e64qVdG zLhWGzECH87K+n*{-oEnRo2hlL{BLh|0kw&yW)vKEuuf=RBYFM6&VL^+t7Z82hx>ia zBw}z4G1r9u!qSh!Fg&2RxnZ0fJ)@kQoXjITxU$7k#0eEnwmrtr*u2&H{jHNAX@p1! z%u~DZE7%oubx{Fvj;xzbDSdfzbZYg%$x!zLOgXsyrt z!C8;I>8L}EqTfX8nLoHS)*dHmB9*lpn3`gN9U3j|H4K_DLmAq2O! zN_6({D^@D0O(Y}_*hgPM1PnjH!Gn^}$Rh5V`}-b}_#IC(GsBZ$*LoCsbO+`k=HG9C z1v*%je5O%F-79s!7bywJzO2^@8%Vwo|CJM`1`M4v3Fk}kw6!OHVX_MD0PuE{~ZK` zXHkTk5ojBqUz#dExq%$$bNgHe!8b52TXL0&#Inn)`$Aw;7n8)_P%k45obPlGeqwqzn7Adf7g4S&?W z8zTt>GZk)P;G?2(4P6pozWoFr3D+n1mF`h4c?u--z$!VZH|Iz>%;=!H)|P(|5J2QO zabAqLx$@Kgd$7d6OUqSw)GIRczM0kL302==>xSK3NWa|ej2NojyNwtk zHE$0?7b0lcE?cOhr^h1*s8kZw2Fe&{5c!cQMK~g>ClwcK(YgcpfDy^Pd&y_DFweb) z61m`$!+qlqz&*g$TgA0Ie*8G*Zl-CGa@%8#kHEM{WgY2rJzC2!90KsV4i0NQX_yBl zdcR+G%G?Z_#5g$>UaQtxpchno3CJv{OU~@r{R@h1xc9a1cytQm%V53%A`p-92k;VT zHpnwGGcqnu6!giR;yTGb6A{_M31*;>kUAO7Y5A`9_sIcOAA!n7ROwtb%T%GI+q<_6 z^Px-?p}<!!upq4=IW%R~2m1CN%L;pAxPV!?m` zXvpt*u4361Uq580{9LI;+tK=6O*63EX>B>X%u|7bH6mvvEGOdwFmNbzimy#Pdrv(J z4x<&qCv+8v9geVoqZ5tN_d~*6a{~Ze03|$6^4ZSL zRC^+PiD@@e1a8Ls-HNTU`cL)!?AfzhyI-Cc4S2Rs&lzm*KIJXij8nD)V1$%Ybeh{5@!3 zjx^7rsU1wFmAa1|SlXMkYhCLtMz-gl;^}M2(iM-ohcZEvfChmc%3s~LXOE!%D-v-> zSxEEl-3zWoMc!%VwDa%9vtw-#-3$W+JCyxH-{-ZwIF*kLN!?R@BLBz4W z!&lovVs-?IV4%j98my^Tjo04n-XfBU783r2s>Jt*CiXov8u4Bcf*21CGv9vG*qEJ@ zqaw&sPhXc`^VKMU?CzNaG#X-^qGgfr_bt3kT4OdiIY#js+)io)42^+Fz{(~3N2P6ep$3Ji?c(C% z!h$;foz!=D=BeU_09?FuiOqP+_5alAq~wDG1pc=rzrKs4Ag1>RO&o?Cq=WF8H>Y2)MY zNbn$Fe@bTOnR(djF}`1E-eB(sY{NM2h$Z3Tf%*&!!fOEhPL#)k)j~zb@rypmqAG#X z*2fTgIDWdrWLuz@mlrWFvg}Zj+=VJJ%`>3%z!WzY50h=_3kd&c&eq#jERP+-ga2iJ zQD+dzG6reHU9uw@DZo?MxB&Q(*_m?fl|oDL09?lzVEmi>z73{336h;5l^Jc2Rz8w zdLU92cN*bEYSsBTSfS(=YW8a3SjGN1NNKWxL@E?I?s`QVVtp27qGCAP@3qyendAl> zjb`!*Jp)81X>CXok$XJ?aXJr52c+V)m>PSyKmnnICrTh3CDx}g;*NOrgphZGqHz?o z#*s*>l%%8>0ZR={cxb=}80R_e7Jg9^GkQ4GynFByU-AcUx4-+=?dHkUSv(|2dD73kbFxXNKz^>6gKww`V0O%m$+%+ zBF4br3U8{j^Eig;F>}WWlO6r6|3)q2=NsQMv72GwgyCR!iAy&B^ArbuB0!QbbNqMw z>`NNjIFc@T=aQaYw$2eTv2K+h60N*KC~z^xs+Yfa)prLI#~tVjj&vX=X0*4g#F=EG z^zQc|u-d*lFP5V76NI3;x~sn&fhINOaZI*k9OQzg{?>om&T}WJr!C z1QDdN!l*pe?uR;uwME*glXVP=2QNHK8%`;?g4GAD2%>~#tgJFNH~n4YQjb~_2WrM~ zxPpMGTkK>mLXjI8*@0mWdlg}9;E+tXV7+|{p|!kpIv@>&OP9iYQd{Cc&d&$H0%0M% z!zjtgLpz<2wTf0Rpu6T0NF?CvH^A#SElm`rxloV6u1wslX}@MLD3J02lPzFl85Pmo zmao(&`HZs+A3**9KfeQ@UjSo~Gm6+XaeM)%!3*{V?{YpDyG%(s49YIG0lXf%%pX2y z2imR5apO87+x0vpaW&l|!r|2$EHn!}lI%-thokxGhGn$v^$uob=xY@@LLGcQF+BvT ziwXqz6ytm_G7Z5oZNroDcE#u%a_jn-RaB}wdUlvv3p5k z5}H}iD+bo)m9iV>X}HoxV8H?q2PVMewT|J(hK7gbWEq*5EE%RWLb^~W6M%fktcAC% zY&++@iE}LOt(EVK17u#%cmtr&`RXuQArQn^>j~CEq0MKpBM7bd&Mkq-ddGWy8b4}m zG}yCoZ_)uQOzj-RnUgmekTMk3~kjGUenwLsP2aVepCh+4sJR3UyZV0nq;+#l>ao zWB>|-zzF9O7Kqj-w}o-dC2Z=Nm{j4&&CECx)pCsMhjr^&l~L56Ls91G`vq0nQ$nJA zeSAhFzi{@C7W8=>TS{ZAsN;=#IVVGwbFXB*e};8)a&7uS-p+dYs0x0m+qRh(03b@N9AmT37clE&G0)gx>kebndk>8j zxf*W>A5=BpkR@dL`_7$hmyasw@3F1OWIn*8o-%>;g884>sF$-R8=o?=FPJt(6fVs+ zo{WRK4geZ-N!BM1Z~b%Qnr5Ppdqq?s3+r8tEF(?BUn zVJyB}JX2VyXnQ`kytq4&*&|zn(OSl;y1Wmp3~&~}y5GXI2orpiHrhoF$zcRllE?bY zn*fcwpMy55(^XUPoUOa~p3Mxm$9$oLs{z)Vb!^-a0Prxd@>=Lo9! zy631G)gz_Gu_fs|=H>-$aR{5m^u1OnxKJ}anBETzy22MCGP2X1csK9fx)U4kt%N<*+PTS_^2;U?eLd7_LvcTGoE_=36$PEU=;kx605CJ8CvzgJR;h$73*p@#*S5b9u7kfxKDl=oMdv^yNGlmR|wp$?KJNXA_coxbmi?Dsdq1QU$ z#a07yL!|y9mNMl3FKzZ~-vlKFg4EQi>=_0POIDYSxwiy4H%Vc;5Pfe2>Q|iST2V%z zOdGC$!Ak3E9ac*NqcS43{`2@V%VzQlllGmDxk2RM(4X?Yr5r&u?LN zw!Wt3ImP9TBwoh{S?HF&DcE@KWRcWaYbFXr5|Tp?0gG^LVic+E=s-sK0;*!JS6Oi11Ed$xByij1RBi1<2&Mmq2 zzuxkv7;X?u@x%_V6MFdF>Nn4|)QXCV%}ov!3l;0XDw2mGhz%)8m{F}Gv}m8^SL*fF z4)WNR&8yd6g6K8+l3ah3>EmGS4iybBso)N7W-2|?1D?V8e(;U)4(pGQCppAtSS`DC z@NrgY0>MPcROz*MXybzm{L%!7B!oh|OS1{opqF^G&OWgoQAdFvKmQ$7z~n~{#r=HU zAY|-r%Bc?A+Y_TK1#A?UBX*g51=0iL;M$oj&1p&oM}&o$c{>Qy%eM0>opQAf0%oFP z1Opwo??!k|+LlhA6>nG@IJq_usw^4IdA%m+KtvsJhR2Gjg=ePt8Q^?NmN*HEK zq8TTIOhC!GxD-nsZzm`JH5<211Xm#+Na|=_ws`vrKK1HYdiIs;{aYqV4*TtHY+1sMfJ*h+`9GE2_^7CPh68EJc*Em>C-1=v{X0dz5XFm5G@ zcZK5`gi(vQm{{6NIMKLy_7=BE7`*m@iI@%({f)L~YB-V0GIcc8&LAg2#Azfb3_H>j zHMyg@mo7oDv3fo#&eEpyN;jv*b1Aa!0v>ujD&iyQXg4qu*G!&tFAIw&#@8JZk06-( zn5KGYi9{U)My*c>H+rU3b>#RR&)~*EVtl)iF>kg)c@n20Hu)@-!JBDbuKwrRc8NBRZp5UIA^XYBDymCcu#n^4) zv&8SQ7$(t*sz_1Z_!atv$CB>dGwjzJ(5&+C@x1`^h`nM0A3AqShzNjW?Xz7kcgCYH zo@lI`QKU!FrX|fkgn6|lqZzfMvGEXq36FZNf=}0atO>dgwoHPE$LPjq%i2EhNb~nC zQEcLVwK$v`R_h&7a@O~q4@#(?X(>lDpNi>SxWS+O7>lh4|`3I;n5p{&#k%-~LbdCMMbr~5j6(WV`{RG9yL+*1IY4<%X zvtdU^t9|W_*N55RPxQ=Y9=)12?T@lP%&MTLh>hz&SeY?CVbx+gXqN854G`kSCL;CPM#e^XTOEPmbVKr=R zojLe{ASM@O0c%06S||m`5bZwHv)U6w7%Q>mDk>>?tgkMjTZs-1wuhDsQYwvZj1xSU zh9VKH5p4MwAz2PEH;nUGHpk2xCHA4qJiw;%X5V@_qn5_&u30U=oU*>|_*rsGu3F06 z+#I;A$4E&0gHPD>m3x+4Z@Ihi`MxK#c9$T#bUK%Ab{p`u3s_wobu1H_JgeIBO}JxxZImfJYk9AC%a?mgda{N` z8gGh7h>GcKu%`J3LU;S4KK<}00j>R>`BFm+3u=+xU_P5JNLPxQ^@?&CN< zB*K;7>%6kE@T99wx+lx;{MZWnf?|1q78636T_OgAPT>Ni3Cak&tGIf`v3l2&ja#!UO~a zR1CTs2?eAC1f=VCy|~ue`;70L@txoJ&iU_S>@oHp+c}w&_kG^yx$moPw`Ce@y??#R zm0I}NC;kTyau_OA6f>4ef;TTPofQZ_T(j?Q6#mWRhE20!E5mPg(oq#(VG~^1JaAQ$ z$1x__cglQ?uk_y#ezm&R1%qX)i|@LeGLyo!8ku;WI8L1U58ue~oPqlCMXR5ijfeY# zA_VSuJH9(Q7j{v@)aaW>!V!Wgz>i1&0vG#AnY)7G3iZ1}*$YXsl+Cd1Skt);u=PBEavV^dO*AkU{LK`z{aZfBmZV8v}C7!^Yo}vzl4L`JS7l zEBTj6ihdPVpb6r*t$4s_Z_V`VQG6($H6Z`;YK&Ob%c4R5GuBnK0?k*jCn8>jZv6Oz z4U$MlR7Up4(o@x1lr^0&KmnkSY9QsE&o+viqFD1956Ms0w+b3Y9;g?-z^`iU(e+x| zGW=)6?ZzyrBBh$@}$e)rYaLG$Kspj<{SvM5LBe{qALTn!4A=% zex_>K-_SlGZ{QhS4#HQU)SUtXq@MaZJ8~=`F#lQWOg!0PIsAA>s^D*twY`9L_Ro~( zG^wgJhu>GETYjp3x*^ly0e|OmtMJF4cg8d>sIuNylZZG=T)`inID^pSYlEvtRhvbF zT|z6{JZvq=_hasMiLEEEk55#0YG36Ff1qDO^=bII`cyo7L*!44d=)%VvU04N{np00 zmBF{N*Xz7Xn3P|?oOhADyEL~h>fYg#xRh=?;WP>jC3flCKwD%hXUBWMzGho>arFV- zy5N?NL5+z>Lr8C^cr2{$hGt6jSRD72_jicqny9E$*mw^JS`yQ9pjE+k)|&%}8g(ah zXd_4riS+a99vOjmp#aWvldEP?i0TWPlkxO&58;xWL*WM(379HmL+hf+5>_^7!RdLV zbOA!y*v~-!z7%_7r)8WOT?p?6P~(((@tb6T0% zc*=*)p|ZFzt%T$~x*s?uF@CB+hu|*2A@|8VeDDC>d5?T^$H9+X+DMK8OCNNVV&*&)wceIJwc4)Dt=Wl3zr+s{rG%H(lX^nT%O7mn>NHyQvdgF@ zfD}RF&UyKnwuUpaQPkM*aAQF;)&6?H@%|N!B@4rlQ5CP5J1fJH5ntQ9<$C(}xn??z zT?;I&31wIt0km{JAhqTxRQv^Kp(W(;&%>>KN7!V)D|JKPtkZ%k$d-+ zG~~O~O0qpb3;@6%2gZSxf?9@v5v`a{0z3*kWoHVBv4LgY|-P4wR{|E&l? z%O=0b5xEY>W5oap1pwW1dW3WW$*5D4pG&P+B&y!X=U8=ZpSU}?Ojr~iSp(%FARXGq z_fG7xQO_fV4O&h565IsP-T@@hM`N* zFqe!&dHc}ow{iGdWa%?)!6pC!Ro16%sGOV zg>#0RGkAG;=)ymDZ>;Sou~$o~-T1Q879WFf7NSkDAfAK}p*be2> z5kHFuq$+kuHp@SYefWhz)b7*xYrV=>Z#!RxCdNXtc5F^)A|=CV zbn$rMm;6n&7;ixAK!;A9azY_ME#Z5BS4!wP@G&qcK-2>>_Ao`BvhMZ>0u6^}iup#K z^_QDx>!?|Q^dN&=H$v_h7IHA7z9du@utf)DFn7?0O zWzt-lc_A^Srfq`(Qd*|%lFoE>PV7Pq62mrbk{MEM^;y(bXrCpw1l&fZjsx-wg=mIb zUOs~tdfYWO|4;|#SZ^J(ZV=NrjtWj2!$`n3yb(zNeQ{4dJwAQB4V3dp5yM8@SLhyYc1q z8-k}cw6RFY+-ez;*e?eQ8N8a zfv`Z+xN7M3}Dz z{5XoiykOej9WTG95xA2ZE;u|s*b)igcKSetT4<0^o8_#E1AFex$*mbK2g1Lf&1HR3 znF-zrlTow^_C*W5?-r}m@f!_suo*-sA8_#|H-LD@t=1Sg^K<5FY&Ws++~2=A`hr8} zO4m15qhrU4s#k;Y>~;ep=ZN1T61P5?8Q<>uBzRue{XHI}ELv^)Xy0WG`Gk@dYAX^*O<+ zSf6#NLj|z|aYIAt+iJe_jkxw*(o=n`e#w6HU7u^hWHv)(8!`iU?yha)CWS!$w%(a*s4JN&P`<vy+_Pc7qLv>7x(t-=ifRQO(3^D3>=-GIDV#EHVPpvEVgA>l*3jQ97aC zkEgdjDz<6Kni@0IQST%F2KZM@%pu{)2IlLQ4Z9a68%8|s;?~z>lm$rA&N)v5^}*(Q zDdP!HD6$T*Ak^wCOcGQ={W~tZ*y!-=9?`tuNn_VJ>z0!lBSqGAu+hnr58cUqNty z6x~mwDp2kwm?0S{zF`nzJBX=*!=kZoBrQDgCV3 z;_TNVahmuG9bBzLuTxX?Uqt6cwjM0|5we0836oO3w4w$qCo#e_Vw zk&b-zuhfvt0Lk02pIag$6Xg~p1YUvMO7XDcHD>G`c9hGW0J1124`;(&hqyQn9j8aZ z!TbdKqlS(RM>R`pNUT=gFAc#5ethu7lALTbdY=*Zf`}BtsRmlZKOo?U;}SeN zL35gyhPh;yfM)AkQd^K&aysQg^bU+A@H6J0X*Cpe!~{eP)7)oU=Fdj{2AD8I#paI^ zISd5jftr|?_aa%5jK$l8CpT~Orftsa(cZkrwK`5j9oCW&+{?-MtdE<#f z+m4RI!5h1@Gs-5?{Hw}Ou!uH%{9QmSm#Co_$-Hj2N+KM<3uZK7li_Jcu|Bwb-(=YK zF#Erq+1cBzh66n;<3@9p!jwN`9AtXi3cj(auBx5LJ)Wqq-SuP58(9|G2g;U3e?}%} zN&a}u%FstQe{*+?W(k$mMT|>XIlYebAW(T>mCAp%#QYt$nLXWfoUblbN@h@V9`rn8 z2}n}*84AwynrVe_KH0TzA)rlaGAavV3osdN&6IwUoAqsJJE>W%+(q+)>N?|G2WO;) zG}84dv37Ob3t<(^JaCg}bk#B60ZE;03`uM0Sx||HHErCu5yQ_gHU`>osV7u_6s_~v z#mVil@v3c%&yNdui^tp;E!;69zHDoD^b8LRL-dMK4S?=pQjHXI)mnWI$s=U7#qeO? z9>GRoMo=^$NiWkWwKVO-8kf%oMeE-18}Wo`3+~+HEB# z{8vLr`pNICp)mg-+v{&F*o(vij92T7D3X7-u^yt8)O3Mj&n&*m|MrW#^GL4w+Jn4< zzLQUlCx=kMkjek{zVjF;4z16#XU|qyZ7=vnm|R23wKlvGB2K*S zuq|7*Ux$Ve zvm5&GnG(Z??`C4erGx|#uX*m=ZSAsS|493;P5vj+J`nBmfFLkD(X=)*Xm2+gq1yBC zPUc?Klz8m>r|l>G&nWl)7e#^p%fH&gd+UEk*|KHzPQFxNxrla~$(0Lg4T69L zlYWeh${SPGevS;q%KUK_iwnK8O`{T_Vj&5tkjcnBf{TCmzJ2kenO{rwJeDySkS}R? z1xYXn!G<(6L$F@|YbmE7a^%PNRRv3sb{W!1CU^3Q{PpBu+2g~B$Htm$BRPyj;(xs_ z5x^+0J3IoV8#veSiFo)DU+N@8eZaW>c}ve3`%O8YB#AFb{QS=>qSuh$ke2(tcr#$~ zBysHMVjd?R2)Rlk+yF)^4qYf4YCH?jIN2dt zDAiG@E`c2Bggyuc(j-+eIA;;A5#UISS7iy5HJzUsJ8luH5-<+3M3jd|#cU4wT9yK2 zm^ppvMQ!tAD|)<3dg1*xZI~khV1YPLd3V=X41(kjR++>!1eq>c%4Z?>CEW3gaqXIGjA7N`C@pjxINGv##_0BWa_%D}q!~$JuTA7Pp(JXM9LTc%u)-*LR9Y3J?1ocgj z8&J%Z(aFl2zP{eC#3r8!gx{?-!vHh}@}^<&3}HHjhX_SaN=il5SBPkyiC%O;MF6rVf_K;D z87EfjdJ)%oTgZ?s-XR_5-2Hu!?#L&wbf~dwmF*u6;bE{i zYU=$Bm!?~)ZNqG5WC)Mrd7I{eACG=?cay{$FU9Ru?cXY={B5t>%i)%Z$I|lbNqb4F z!1{fxL!5}I+DKKProNIK7h8eEzJ{`29F_XFTJE~KI=ISVr|g6ipL0)kalr3p(04;? z)cL#;jwKZE^AHQNP4ZTS9Mz83xxx}Q1%I!;W}c3X3alPLWU_2fe-fM8p@U~U>5JH= z3dfh$Erzo)1pde)rz{@->a|8k_qEX?d3dI1`a{~{SDOtKi*0XlF@F?*ab3ac!G#_} zDh%K!^lO)s`+y}QBlN`k@82SJwv>RWc!1YQ`2rtqISb$W6?FoW!G5Hu7cPuR^UXJ=BJ!-UkT)uLv!LItyPQZ9KzA3 zhZ@a*on!AO(h>?s#{gYIaR`0eHXNIP!a~b-fs0uxMj}KBqwnIVLlMUI2H(6SXM|Yn z$B;S6KQBO@TB-r;80%{YQi{i2=L^=bxt(n2*>>de`Kv)DR)X~KX%KYha^fm9*Nze) zoPYp`(YgTvv$N|-B$2m_ftyyG)I1}G+x)Js&^T7a1mca*6%lIN%EQdeedtEERQ4m^+U)Y>FYZgt?!@unAaM1DuX=xM z#QnC(s)v15;W^DCj`JOM)6$OHxBpmLa@{@lnEQO0Z$Y7HX|_V&tI>{pWHX=T_r_6h z5OVG{oMr$pR+kXT6*(H9gq>lEN5+PhRvV~0l#L$3@^{TvT<2X3-cVhv|9@etR`*E> zgkg*b>GM3^z~?{$1?^dl1vd> zLB-xNT!9|bP9(?r>c_AX1-n%*fdexETM*Hx9*5>RBi6 z?Wvjmu^vs?n;D3wtKjS)Qs{wlp(wa_Z~lui2lV}raRv1-RXQSgi_nB<2|5fW#Fyqj zW48O=GXBJyUZuGtOD8WsQ|t|0TU7J(tU1M&wX1E^&X7c6ben6+D;v_f{_<|I-cPwZ zPSX!xery+a{`81`{2+VMkbdnJqhSIG<Cs$+f9FVtO>PQ z{c~Bzwv%3rReUHHcfMZv+Pl7zQL4_Jg!MoX0>88z*uv&YlJ6#R_7@$n4fzl#;-IPaZz}w!Iy;6=z_9Jd=cM9wX)2 zx{787YOmr>6XM+|O5JWv3T4OU&4l$7J_*F`h+{zMTyT){)DZJ+(4N@GRk!f0V1{4$ z&DcQ9(+&wU_Vg)9c#On<#G0~i68+BzvJS_gwD{5Z`jOY>EAVn^RwAlC%moz&VC}s8 zGdXcT^+9RXozcA38u5z-yX58IJt|^hp=?IT&uI6nJVGA+Vh}&lmqPcz4-5>5Wy$K5 zRMRk5U}$i#MOUFt84``2aVW9mWJxtmQnGB#vbSq>=$LmXAFd~;AQ6$*v9bE_v9)zJ zh`zC%$+t9MtjozC%_9yUKv#&JS%MXtI2Mj;X1s5jrs(FSUX=}epx%P1#@hs>Alas&H!l3r#1 z2Ubm8#rU!IY?q$yoFlVylibu$=kUe{gAucn?kURxyz&lg#m?_n?5Y&6jhu-azka_^ zvtZ_=ByStXY87)3%@ra1b%Y2qU{I#YV9o+^LUa=1bG^G|EfAliKX>N{8`M(COn39) z-C|CHvaaTFE@W-7AE}SSxJxL$42k(^_})mml-L?$u#EGN(kQsO78SuE3#eQO*V*O= zOizYk4*Hv;OMF_PH}M`)w6b)u`2j}RAaH1hF8D7Bh=~=#m=M5KS{E1hUfDjx;C{sj zm|eo(vHoWEx5WJLyofX$<>{O0 z*e)arD|d_}%G>)@oV7d#HCN1KR|1a@h5asw%LI3Lw8=cxe@euHQztalGrN|nX(VA$ zt_%?%{vS$}64MGN_By04E_*FUwiNfut;Su$AU#u4dI?lC?$U ze<0dsluvIBblcx?XL=`vPi|=ca_vP2I`Qb^2YyaJ(`@(EFO?PJWOmb-nY}FfHUGmo zC+9FZ_T>Jmm9Mmg&O0q=3B1YUA##m2=bA66iP_7XPCfSrShkl9(YTqYh*bRcKpa-9 zMsn>`VAsRkjFTrdwop$4-cu?ISY~2kO3^LQYGtW4g8rZB8V@#w+*lhRk-<^DeSIc6 z0k0G%BxMVM*=iWai@sxHGM@)#osp3ylFHZ`qMxYvo3FkXz2W!1@V1z_9Le6_C!ztQOio%yCl!7n!kLy_M3@WM{27U z2w(bwGSU@Lo4S4W3)D<>qfm*kEag~g%~!|2Q{V9>O_ z$4x0N^fGcXizv#=*AHd+)n1?u6?8EH#h9F!KWHnQPGhdDsRuAXcnVeYJ}NM1`}SKsefHx zeML3x5auyX0p0MFKXGoo0 zPQo>NFM2h#VntKRF7BWa{tWTzQYUjEWOu+F#!L%$aGfavO0rI)ykh3aq?rHQ#f-&`$*6#N zsHDTyzL8F$Yv(auaIa2V_)~hH(VXzS{YV?AY56Ch$-%27Z`-=He#-@f7%F)K> zaX27T<1^Z9^By|{^d>Y7rkS(uV$ZulR{G$%A2iI2B^GmrCHHM@I((&hiq`ar=)zx6Dr$t9qJYB#sg!%Q5u}&HC8iJRS53UFt9rB}ZyLmuC!o$O{1;P5M6jtO(a*S@!$C=Ecx1b~?Je*L>= z@M6hmpM=O0IFd}%=*S3XaKJSL)LuAUOl$c{(k2dgP|Hxlc-(N+MF)O6!N->Uc7vna zJ3??E-MxQ5AFfU~rSyw5=tn4qMh<*W^F=NEi)A1FNk~8K2aqYpQG1yYm-;ru3Gg<- z^sBevCE?vvGFuls;@Ko4-Y200xhSdwxNeVZoktI@Pdh}vEpMTtX`v*1eGS560@fmI zSEj|Hf3vZ$ch0Wt?cAR2^-pk0lf9ot`s-hmzjs--(~jKc=&)a8gKWX)EB>C^mfU== z*EJj4unO{!ZtPbv>`qdEKSXi1Y70psA{crehV!&d#_rzi*B-2mWPIy=OFKyjLZgDWoL zhEx-t_2yZnh^UXi&0lZ2kCb1y%Rq^5NWeOL$ROU?)wKd75RFF2pB$e<`%`zJS8H3l z`mlX_i8)Jsk;R5vDxW-mKHwwRd7l3LUbEgs$*m-hO>n`c(cba=6kTiow?-3u)XftF zTu1yIwjElnH}Re~QHGlz%0|};j5FU_ z{UxL~s>b8jFofBLu9mlr=bzW@l)h^G)X0ON;%>xX;sZd^zbFj89I2N!#UgnJb{pl! z1h2AJABh8k{&_|Q58`2oZY8B$|{^eYY`w;Zjie6Gutm+; z-nVuUjq@QsJ_@wfTn2l)F)I^9*r$M3b5M{24Yk?DuxHPn-Mbk>r--j%?24ldQI1&y znq^yl>{%snid7%2as(3hSN~wV3V+YP$5#9=GgPY|NctZS+xY+Vt=|-bAid?~HIF89 zVZqtinLzMkrhp?Q0#!zN1z}XiT9FN_cT$5TFcF(%fY|T*_90%UtkDJWf553oS`1hf zq)hBX$QMJTCHrc(KhB1mWsi#t-Lvw)Y&u7hL`MpIJn@#JV*Ea4c5m@%mEQ47TgS zpLOzO{QBS8@PT4 z6~cwk=wjPHcy9yo#Qz}uf-Q+JY`uAvBzw`Hm=HxMj@1Z{LSNjTeHgj=p7zr4~7wCg>WPhoSd-zYh<4zo~2Ag;PxdhEl?0d`~V6Zl>>BiBJRtJ@L0NH zusY5b`;g^2`QwB;8!_{3q~D30)vWn{=(n~yjhwnyaBHP#=S~3ehYe(`_L+AozfB3e zU9VadvL6XxULc$*TUMI~(SSXe;*3@-4cr_y`U#cf=o1n3RM@X~l4Q?HUb^a~p8@6g z3O123oc4+Sk7i-B!Uc^Ix^9SQZUnbwg$RDOE(W{-wdo}?Sr}7p5*-Jgcq7~6SRc4I zkYXRI>Q)HnmbCbMEyMs>7bKS_LW_*=hlEx00|9D-LB%||?$wJI+@;}h(RF0DprD`@ zO-4_6<_uE%E5fdWX(Or*H9g|88(-Z|C_TD21@I6^GP^k3sMIA02Pnj4!GF^AGr&X? zzHV^Kzt$tQSvBs(l@IqWJd-MbO+TW7(giw8N?O{i59PVZ%PFvc$XtyhQg;bHQJA;X zKG+k;zz+nln5{b_&ya>>dg#;#)o7vz^`vGgkA%u4^7kTtc&}>zP_oYgG=}=;#l?sR>YjU4A#ofL{n9@(by8C zJm^>U=7t71w%Iq8(os%hBU+N{;n2x=ktMYejH zM8mas>0+?jrN_sQiiWAren`7o?m*9(`dp3l>#HTXO$0_`wB#h#65LK&Wm8+ZM zM@p)yvTaM>RnZJq)#s_0f~v8p7DeKArV-{T5MQ%#U_Z^z&yTN8uQ*n%R7Tw>_TVZ# zv8yV!`ZUYfKH9^X^F5w|bhDGnZmypOwjcg;i}B>@Iq-e+jvXttzHSujFQ-c{6NRc{ zV&e`5F=SS{Vz0n5>HwbHu;=&RrKP0gE(4f?K`@h7*~A^35#dM8ZnvZrvWZ>Vjz4hy zrcJEO%s3a!CJ|(^1n$}EQHRT9S+`=Z=oh&j*tS)r%~;&RbY?Bz1gR zUU-&1cEjX?ue9#q+<=}@0cGIBIlc5YyNc%a1^=H7sSwYcE@JwJ$Mf{kJ53C=BK9EM z8zGRbKp|t}V`3z9i6LVu%LwNsMn=7V{~q2(aK|51CZ}QIo~#l^e0E3)G26*L=^{v3Vp#mD)r|{Ndb)_*S_9*%wPA|=vf&`u+1?BQ4{Q~9?%7- z;0Z{5v&x4xJz~%`b2m5Srwemsy}p&+&0=nvQIm@O`W890vD^v8!zOIw>EdFk^0x2a zMJu{b7f@NHwI_IFmjy*d6*|u#`@`eJYW~bp`-i}3^%YRS=RK~2&xCXAL?az=OWctp zZNs-WH%v&)VgPLt@${+va`Sac9KPDx+eTw0`ab@}UI*qbPdL`wD+tvSaz~CEr2z&{xmv+(P;b(T*_o-UX z$^MH|&q&-$g(J816d2Mx1nv?Q?wiYS^ zQD*jGSZKe8&d%gazW1gD_Lz~swQC;z5m8OW`tfuLADZ$XMt8aKk%f%g{Zl$vZS->m zcZ{TYWUqQC@BySKt06zjZ!4!3*HikQ3_gCCP))@eDZm$3TCKNk^#0%4x2SaGE7EAj??C*f8-<|BC*2S3zxnL421j4K_!?IZd6peNCtpT! zc8~vEw{_3Su_slmSjf$it<+R6CWoJ8;ZxSdt^LCVp!;#@UqoA%L7(27Z{ncd=@vmYIsUr>mp|s--(u|iua6Qij6AW@T(i5T zN%^S!xvux|8*A=f;FWkmLX;IBtWkK$N*O|E3N{0SieU z#LRR-7klaYelZuKkB8J_Od&Ll6Pj$davV4SEi76y&Iwh@g!UG2JN+C$!Vr#pdNCIb zA)f0w?b2yAudQxnr_{>6xgp=&&C6S^D}2d~mBGj~WfuOu~hL9s~?Gj-Y_xCLnUF3Y|| z;mL;$8#mI6yS*+`SkwG)Jdl*Il_V9Jdt=VXDlKfrI?s`5U_SZbrVi`Z51mx4@}9aW zIVBaPS7Roq4(y6XZ8e8hx;lkMtFA36uuQ$DO|JeusN{XqWKP<8k!?f)^=3yeuLLf6 zT+I*VOyoVqsff|)uiB+r)%p;Ki}Wri8r(F17ECsbGFbw>}_5?-*nKLJw0q+)8)5r-^nL^2;osaXaBDRjFz zSSSapq3P@3>fXM63xN>IQI%Z7%5VVtSVwB|I)wVzuwtO)We<$cMK}i#2>3S_cW9lc z(@(6vSt80KvRzt*QTj1as<0?U8XGZ`c5<+@2Uars5FY-pOnWABrd`EwT}Q;nuHTwI zy`Ji|(Jocd->d%#@j;4i(DSj6ISrTLX!$(1lveKKL*T&i^`c@v%4yrI9DA%ZfTO&f ziO-g5+jVl)`89wjq+_(KYe3dzQ{2j1v>ZAnMM%n7`eegP8a3A)9xjP_76zOi?tQni zJW*E7-kPbFq&}l7_=iH*`{g{#iLx@M&{+t>G^p z(VOaOtCkm+sf9Gf?B0L+ghO3A;64z7yE04`I3Qy!9KHR~2T%{itiMdCLDq{RqsVW)bZd+4>TM=$WR}Vi0+q{kfdK*f0f@*s zn}Ii;YMnDY+`&~k?cXiy#{A{+t-HYTe@@4zx|LZ5yqDWfdl!5Hq=Ev4lD6cwBOQLv zUs5Qx$SXm7kY5yLG$?G*8e(mi6yE;$vvhuiCDIr1tZK~n^j?0J-vvlbvBzqC$JI_J z^rkkg&2{XWpCJx`$l}Vq$F2y%^%bI} zX&-5DXB$-Isg6TYTq#{Vd0<)OHg&)K=APT%GIz6?A)l?KYi5D<$!%Hj2bO1@f77C2 zw%fKckSP2xx;k{56Oj55>5Sgkpb%>D6z9bk^y3|0j}#Or#058A?{^=k>Jq(^?L(X^ z-J3uxPh8B{EAPW}5Cw&fT2rtQndykXw(QN#9dc|SspM$6)!)S+m6q)9mxia29%ENA zOS??P&qZ!6TZf$YH-xyoB-C_d77?rXVB{?BM0`vni+>H2M_Vf?{mj8WiV4EGfjR-o zm<66;Y|trZuQg;Z%TtCB4>{YTj!oz?C?zU`BZ}lD1irNtxff+0LEM|QvFAWGg_)IA z`idBvOa|L-xo~^9`iT4uWu`0gGBPhFv%;F~84e`m3;Go8vh{TwE@dXGf2-V2Pfwtq zW=#H+-lV2rfOQ$Jk>GXb2P?>AA&2Z*gGJX^XYK)9^L{q(E~vaH(!^Hu-K8~t-0@gJ z&I3zc+(J^6{?eZpd!pR>SLh#|EVQaC`uK%g$3o&E!~eqpw)BNE*4Ou6uuyMyFeyO0 za{vT0^gGFo6vV&Xj0N~V5*I=qRJ#ZLjmZYtcyLj$)J1769tKkJ^w~2Dv@(#g4XT`R zt-vM;9XOCAQf0aPqgCgIc&W*LAdwi;S0R(>| z$fr#KBPK?q-QM#iOChy=HMDCySWEva3z*w<0uSnwzC@GbY)*-J^X%(vZ#X(PH#P>V zsrK&;ew=UZ*fsciL^?D3Af!=GJp>-CuGlUJQDvX{03sk$KOZsl2_IC`64N<3cjAno z%FF1?mMa~*@A|;J&6bSPT-M@wm*Hhi)cUEnX0hs@h-7@+YX=U?!zk=?Ml(nC>-HpDx1#ohd@1#gsOf3}#TIydrLzU@Og$N>alRN}CR^7> z@6k7I%DT{6qbi*zI4ec!_Rlsnw8*0QG?%pUd4CZ%<6oo`%_~H+V5oqU4^3PF2NxHn zG+lirkQaPJL`0jNg5xqa_H1k8K>Zy`&Z3Ds_*ea1*~j>$#HMAO2W6jOI`J!{d_d%( ze(4gXVev1j26~P`4GFVhY6{iWr{-4723e!_d9m_2^29W4#E;uBnBOf=_$=9jeLwhzSjx&VIr0YdOF!K}=?fko|mt)pE9DOEb+gyNj@PL;Br|N8H z{Ku8MeWv3d3!Y}o`vfb_M_+pwl(}HDYK>}&sG6U(HMSw!c1dsSdXc^T9OIbc;jyva2brkRfl#$#V zf{f%96utw`LB|HY{P#;+5`*~8-h2RIlP*8iPXv0cmkW8mG`T86HJ zuufg$b9rj5(nUnLtkPk^wMCYp`aLqF0sue&rJ%leGcoY|->w-DYa4yJ9)y#Ty|!_I zff&&KT7@OWFCS_b-oyh;pZO}w%CUY@hNxYJjggDHu8FxCErC- zOuydMYkYk<5)ofHSLoYUcC$j@YYLs!vm(1jv3LA5T)U0e%5JgU#9_Hs_HsCPG8PT8 zpwVZd#JOw5)P!um7q^ZFWFyO0A7v1>vx#;U-r+J}QK+V5LWsehcuHCsm~y}h9653Y z!XH4osKnqj4cRUq%j5LZ_--1ePe7~iyrL&WOWl-7!r#D$L0tEy0NGIy;sHSLKc&AN z%6;@xZeCME12d_(!_)$fYue)RHL&S$q|rRDs~dIp0uf|9!qOUus&28N10`KrJ9DWA zJ?#65$i@v3xp0hAJ=G_VDZ&`qNg^Ri$1gB2)1;ooz|%6cH}1VDp$s^mZ0kA4=)bqW=e>4I>|a4wjGQdroz+*~6>@x7H2 zuW;qSJ$0zouh}6!%4zc~#tmy|Ynz)f430Wg_zE*8L#;Wir!lYCCYC>+r+{rG;g3409>x^;MHu z_*$6EcI5nJGHV?A%Vfr>QYm?J^JdRW<7%>`@s(JVp4U^PLcg+L6wCl0QuOEg~+~}YFuV}yT9#Ux5|yd;fj3GRp>q{aZRHOYSz9C&_-2pt@dfRg!9R7!9;+ZO7AfY#YO6r}PY{-WLmH(2PPF?!_u_w*$odjMIt989DcdlL4D0QI|F$6v z(+8la3&K#tOP2^iE$*4w6C_b@4o3nN(pQl%?HVi8SQ{84ynXxh%uEr|{UVbI#t7eLSV;I(rmwHEtu6M*5p=?` zd;oG0H&CzCU{e=zG3VFfwiZoTYYf7yq@)Bb2@pYKM|a?xM5gt{awb?7((haSbre#< z+TZSSBf=Ow=3b-(m&oR$j|Bk-d>B7(K7`XtAiA@pnqad@*6d(G0gDU!5UUM9nbPic z#HajHw;)1?)NS9}zTNkaFE`lmKrF648U9mhuvS^_CAeUWedxn=xS*l z^Dg-8N*GurhI^3N|3`?QA8~v{M3j5;-|&iGUo)YEAqIVuw4_)3LO$h+c0zIG!9Ht6 z{82wZVh?8~TKQZ{uoe>Rtf46ehWLE+{m5v=p=QGm?`LyRtvGWkmcS)A>3}0KC)jSd z@f=*WP)T3X%`1VI!5*43J?LyTF{|wc$Let5qZGf%NU9y6jyw)H29R>i_LgN4$JS9^))|8Vz|?9 zdO&haZX&!u)@CsI{Wl$ZPmzI)j?ZDJArS~^gjFFM7gy6UVl=^Cb~R#bQd}IS3^Itj zX&+N$sYg!R9(sD*ruoNVO)cf+W?&)UjX^&6GSGF3)xLmGRIDqDlhtV5!T&IB5O&4P zw(lsz1dLu9R??*E8qzW_94D+uK>W;tp@|%6Ob&(P-_{DIBHXNBix#`T#?}or7&!vU z5anWEbO3)kIj2eqCgFKNBk>6di24&ge!Nb^GL4E)sQYr}*`y`*(bOLwnV?P#=}w zpBl~ti2@_znJoyf^(kz2gDxA$$1zS$Rjxy#*h2|ae)UJ1a-MW>|9%Zs)woDTwigE9 zA9_Jt#@x`9VWKW0BXg9Uebt3ayq0)rYQ;JOjWRrf{Ly$KA+9KWrFtE~k_!-)VqXD7 z_5?RSAp-I&|BbzIHU&mVZA0dz>FM&n+>n+HhKTIOxe_{$sg=^x>;y>{vw>2xzXs~9 z5RX@==BcFw72?v9U@K-~dOv@700$B3!pp^87A-F%`I8}BA{^*A#szx7egXzNKiUmf zNnN{CFl>v}5PUJ8+Od6mwjQz2NSraZqdcn0%CJlV_rQ_{tsv(VwSof?0fPmA1dW&C zfe2(kc#QlOF+(bMNFJv}y>T;REN%b`g}k*;D%eIb7|$Xyh+UVw{z`&f!?{NS+XzU< zjvGBb2$eOTeNLpb6AUHcWNf8Yh){@UyBIISEebjlZGjdI=Anbx{{!o*uJB9FTGMq- zMBEpaVv?->yFHmK)wmotk`khvOkon#n!`lo&`=c(%;kkyZw3j8$Viw`cApQ#s=EZI z#R{UDCn3nfg&&_EP6y$2Z1U9sm0aZLnXvi4v@a4ldGf~c;+)OlpNQBm>GOFU*KRt8 z!4_a@W54XABlzmLcraf@OCwfshmKpQ-h=7zT4q>^3|wKW2k9%RtyFIhQ+CJ@egSs( z@ejXi86Z3c@uKz54P0H9kanHgf1XSxvd#IDUPCiSj49u+`BmSU7@j|HQGHB%>qG5$ zOY?Dr7*8^-6!bh4CfsOu%M3|5YW`>XPVrFVzs9u{^UTO%y zj|EiMdX9a2<;#m6xgsl@+TI<*neC6&*Vls}w}mPI>@5^~rOY9#M_03PE=h}#p$-Fc zaNhosN=UFX3XSeiQEAcUy_3Q#RbQH8d&|o6SP1m%jN*A=N+_n6zw~JB+rPTDU{};baK7rkVFW zjgSA>-cD})1HT!i8F2@YiDrZ82uKvYh{p{6y<}Wz z3R6`7bCxIj7O-9 z(RPWyNq3w$u{k~eL)pp^OKe6ToIe(2xviM#eJ?w1xSvF^TP2RBZ+UyK3`mPRVZuZ4 zyLWCY3tdHUMYM6(;PAkltk3~R>@)7O#SF3W2zL56&!j;wl^Lyo`73~AeMX4E1Y(p6 zvtd7(Mi3kjz-TBcj`8!Wo}NT+r-f~Razb$1fQVI<&)Yx0^*sHiu&lU8Qt^rF=2he|m7$dIt7b?QfX^jqLn!%C&b)FGbv1YmLSJU*rgl z+vYDIl4qO9R+VAA{a69Q_TT-&Z{A$%I0uJ`{9L`Vc<`lDCr*sRPp$X*#>gMzhIyAR3^a-7O zgP9?UuN~e=u!&F4Co#A41oyzPYw0NRP8Lg77$IeAwVHs36|C-#Xv;RnzRy|_b4_dh z*kLR;zxXY@L)`UhqiWIB^E4tSR<@dO^f~TGV3qb}k5T+PEm9)lNBJOQ;qkC=YSH^W z{l`V~tqaDd>oi#W-yM(N@i%we{Q~>iopC|p8_Vk(cPl2AqF*Eq3h?vN{hY^>Qv}3< z`P{x+v7=Fpry8NB|DOKuoT`y=+v@Ra+;el?V#SKxAHO~Hy8JRIVtM_~ zmmFatHPxS-vOPYTJs}b0J^<+sjFY}4=RQ}iclyj3)vc%{Q5{)huWbjY_w6%GBxWzo zEZ+|b_O$J9<)K&{g}Nzr^)IH6r93TL?25ltG-asDpM|S>da~CJM6%XVkLjr?3~87j zhllI^Ze=|2MTAH#czJoIXr-4``~v4!Xt|J_QQ2O1fHQYAFWi-%+~0Zj44w;&dHxC! z7OfibAkY~LnA9=#odgkP+Q}G;K{)d;we46<5b!W6Wj~fb5$*I$S%NH{@R=ehQn6dA zv^w&giZJgckzij_N$L?D;IQgN^NmpcgDl9%jF>grnp%c)r~Nx;M>sj%khWF2GA%F9 z34|7gTGTs_6(oe;{rkd~7nYZeQ6EfGnA-01?g`DU53Yev3r|_g2`RAzMIY$rIu~d74u+dH;Ar>IgIQJiLuT3KIHv@dtM}!>4X?$zNFT?*uZhMWh$#WxB zMtwiBcZm-}AVSoMt6p&vK-KD(FLm)4p8BtT5J z4{%|U%nvAE{Bov|N5SZjKo_1c`RVoJIKijF)rPIM#Cq}wdHE|Sw$5mnH7M?B`kdr9 z7Qf8~6P4c8Eqd#_{nIK#cj^|p2;oFvhvEpOulPKwnx(+##n||GDO1RizhMdtlG2eM zqOefz6j=Hb${V>t0m$niKtS{v`Fd4p=>d?BXT^!E_&rQv8H;imLb8ebxU^?`1C>n^ zyR6(MA?;TP>&LD~#4VF2gYFC=1YHxte$koFyvRzFUqZwy^Zgc#d5SZ{l}64`fUK@|7+!63C6^> zw;eh?{Y+rHr>!}lzG?OPZW=b$>G<&~;XGeN%wtW?$mw!?N)n)_O!=FeF%D<&=h}Wl za*EsXTz{5bPNQ;B&Uk-^@ZaHTTN1Tv|H250p4Y!q^@pw-J86(O6~6HNjsGH1Ld zc(J**Mcpi2kQhWF$2Y?UGt}`u2*2Zm*5_YJX zXvg2I$}Yn)3z4UGT|bI+xdDz{%E&zLLR>xsnnynohnRFF^7Lz=@da5S<~mQ@f9l=x z59jb@%Wm3MOCs4YfO>gp%ssTL5a&46)$?YAOYo36tguKT3CTz`%$t1h@L_f%^Kh#E zd5i%_`Hm9)_>+}rOaN?+Maw7(p;YR$&p!QRdBpI*2Z6E0T^R=V{Vip<+lt&*z~O&b zHl=CqEnwSb-#IH**G44BLbBmF7#FI~-#6`9@p)dx-q=b@Ijtb5Dw2D0d|Z~B*Ug3I z^P$QN-{l$i6?Jwn)DpDqXC2DBu-tKeKcx6)Fug7_*?w?xW2mKB6jz%qDUCDtIP;2O zY3h5(N6UOlv3ViSP{ndfnqHAEe+~pMSVIWlv-td~)@EM-Z?3JxsHEv}gF%}MhY86` zdoG3hv>_Vo90b61Y-k+}urx?+H0F=^Yy-*^zUGa`?IJb(;!A0BH6Qxz>--?K{Xj7Ds-rO?%Rb3h8~cW46PN6)$~XEnmrD@WpF zP>-!i*Ap+NrmEr<5NKL`0wf{l2ZbKcpb*9&5}MI#Y`=CuYHLO#^X5~`)WMf5QP$Xh ziyxnw3jP>SU1oG+A=yMba3-E-(<`Y{*m6uZr25dsQESL-N&Jc2?EM0-1XEd?hY)a@ zgJJgYaO|eDqnS z3Ul8;Hod-`<^Edxtff}@O$=S+6|&Pf)`tg<_0xpS{Z{l~DdFU2t9OGrTs=@QBbD)N zT6AChECxe7sOW7Qy#n6mNtIx}S-ve_7_V@Zol#p;k!=jsd>?tZaCvND(X}Ah<_43o zV*0J;Mq~RIB6bMuH(!Co2hUl`^Q6FYC}Z*jqL1``eG^auI|ASQ2=NGk@9SFpCWzyD z9%xEzeA=jYyBswI%Yf~Z$(IXf5Xy1JYg?{qB&U3ih)dFjJN87@q`x%%_{>b`=O5_% zuG>as=jj&&KQKF)lbn_^b<;MVf|-1vUAyd>b%<~`ePSv>&|^ojA8*!8T>gf?l_IX} z&F5%!toX5Dp)Uk3G)hNvUrdvS88xq3TeXD)(*7(XK2k4rta-q4Xa9^pf5(Q>BOFUs zTpxWM|4(CA9uD>T_D4!}DwR5?NJ%)7MzV`Yn`J6Own3+J5ZOAiw1_EMRKm#Eql`+n zvYQF5Co{4aC8JLEy->2w`}uPE{mwt{d%g2l*JYaJJJ0ud?)!6p7PuiN9=+Y@>2MLf1x!gIgPVq?>`-3}ol{g%G5`G~Ky-JSot89-)x%bo zm#=vLo{g5hNwLxw*u#sLFDJ&wp~#|)_Ng#m_s?s($D$xFIn{ff9}@xiH*V+!J@rbb}UaXuHEFdV@bOsHI>O! z5!==*StUMPz-Za1Q=nY^%X@E<&Bf;3ZjD)qJ|)eDiE8d~w$I8J9)WbfX-OH9AV+|{ z#PYRW(TxH*^U^;yE2fXGAA&Xw^l1J`ByzC=g(6^8bk-%f`9%T(MfYV*eR&Qkl%t%; z9D5&)Ik7>_{frgAA>kfQCGM(`k##6#+J_9MOPt@X=$+T?%dyZ!%IDpw6scTZo{Jgg zpI-v*q^5$_dkVL+DZ^bR-W!M5tV8y-t5+i{Pog%0e3X+`gtCL!VlOU}oiffWMC9DrM;Q8D=HTBPHz&D&pCbLo2YM{;&k+Mvy&u zGQ7|X_5k5a(7UgnqUtfj$I9HI7|y_ZMLmU*ul=s$%kF{oJiF$u&kbU_sBYjHey;Bc zk&f~9;j^m!Vy)Dcag#jr+=+)juz)wGTJ;lETj$4QrdH%(LK;<(J4;$~r8I6=?kZJJ z?0z)tIoFP5m(wy>aD5vO5=D7YZR>Y&%`6INOs+4xznP7GRx9U3M!{`2_L&gvETzD4 z?}d5W{W{+cDtF1tm%gAd7sVKcbQqCB;sYJ~1YPfC&bCv|aK+oalx z8VC`x40C$#;mJ>{=<4qdn;@Xp|3NLoIX%?>WcZ>q{wRMsX);9zVvvi6hZ-*1vJK)U z;kZyC^8&8iX<2&}Tmwc@B;EzO8TsA(i|wGF;-d@v4I6&a=^nW;6Uq1iTw2SuTT>*d zcJxJBW6xz0%W$0c^WAg$h}>CK@heYi-?+7uxI7vb?w1cJSco$BhR~{_xTxWenX{kV(c;~CFp03?q+4As2 z!Am!xj&*yue}3`{BKa4SONcdgrJP&PR+?yg#lT5y?AAz8M?roWpkv~bHu z36RW`CV1h1$nzh+Xuy8Tq{iYbDYVnYxzR5#+BaEw$wL>6d>Ha=Dx+WLlzB4*jAgXx zX7@&ns?u#N+a)%?>oXmmo*1kM6|lb7V5&9^Gd6f7t(9|yC|1=6wM0-CUC3+KpFk^z zjIT`!Zc@#$?Uz{Vu9cvD%2YF_-G|L&N4RIQ^#FZ@@2OZ4Wm(zhUz;^hm$}rFLc|Ii zyp;AWRK6Isi&)36`yYKtsrn^oe#}5!JA?lGdd{fh3zR(V#Xt2b2Mw^a-kp;Duz=;w zb~swrd(2z0%R{DBR-VUk_u-u8^@|UOj(2w*vpLb>;OHNu5%@~*f#-DenSrtTx;pvl zE%8~*>aQJ_Ze<78S_ZOXCC-;B9W;IUIqW9ukEunYB_{{J)?XUE<|-kwrgngFWIJrN zp0YmhT>H`y2|FtH-jVQ>fNyn9CujvnR^Z{$YL`ck)K0wD+0HHlvCv?a*xOcs)vQ zPhI*JVcSQPdYe+G2=6G4fM>6PTKV_3g7LK8rGejr9?b`g-Fq?cd@>t0$}9OOEDLJ` z8trO;w735>O?-1EkryTM@Cf6Y2oU*5eZX9(3>h<00+ z6@VW1{2Te<8;wpYj9u_Pq&k1BTxQMg4r{2Odp))*Fs1^ydl|Xu(vGMyB6_z`7{pWv zT-u5<8f32_A(o|L1|HLd!BxkWMRYBH#+Q_~hLpCab@N@4`-ORLUfZ#Dt=av%^};X* zxuL=HzS`ot0oq_Y^@dChzENzEu`6gOakP?XVI1a&8NO^gW-IJTjnpb@&lJ_|aoZX| zBlO*r=nC258hWBafBxzJb-5C>B%;n45dKrGzAD-QR&(4W&W^N%0uU78>^I-<2k z_-5(QQ|6KvM@%ix7`z)=nai1cn-|S_O)hvA_SY!CK1|j#p!*4V3;%od(o}vIOMut9 zq1_Tr@CT;*Cq6hNxNAt(2<6u-6CbJ`Mu(o!+gTZZ)NU*XA~@_h`R8q~Iv=iB&vznv z{Gsg99Cz5g;AARzbVJcVr_IXV-j9c5sA&!Xlt&2=c93g^Y^-<6WPZjb+pE^F^Vvl- ziawobD2y^4C@DUc9S8LWpwgDA?@>U9Sf=c14wDvWo|QC=sc~mL#ReZeIV+uXfH*Mc z^=F5Wy~7+@&zSjn@rcGd%hAc^ok(Mk$1_N+BHCnTz3oMO-UTXDTj{%+qVVoEdw{%a^mBu=6!Wl;mu%r9Rh-M@zm_Vx4wV+{YY88SeR7(YIQU3; z_AJi*;G?>2wRa(XKq$ih8-`8=d8aU)Xiso)_2Ma5XS2TqY-7bWBxqWT>Mqm>d`nW? zz)o%(&{Ytvl?rgEJ`luuF1_c%i}KJ8T6%)jz9y-f`z@3!_V=rZ#Zx#Mb@lQ6o=3NH zPOMTG)JiOza&9PqUyI>Ngg;eU#=@_!Lie-R3qIkkEn;qJdK>+=En$mAHyY`CXSOK0 zKd>TQW>rnj;$kDPtRl`+B&^cy+ zKLo{jAL?-L2^TqoIH|&u?K-{ie9HgxifYcO%%k^+Yv}n@$mRPRf866J{^A|>p^3yZj-*kR3=3fuI_s+Fg=*{-hi=l${&(po6LMe`B`lGpao z6?i_`>FK$vn~}T&Qtv~$*@%0=Gk^H_r)#2jM_TKP%-!8)V{t? zzxuUs)X%RCWii=;?Zgix)?Dz)k=1QQonJi#p%_{@utDQDtMHZK);8E| z>i4rJ3X_2vp$PT@5f#cGnu?pBZAXn+aZa-P=G5}PulX5953ni(?ktg#FQI?TI5M$U z|FY822-ISxauTlD+xDLG=|pwXn($$$A+hkpYht(yZI(&O{2uJ~k29hb5~Fv*>R&v| zR06zBace(Wt--c6deLA>CN{XO^=Y6$_92{@ks<5XWukKO)%)1HUndNrm1X6%)-Y@9 z`X$tM3OLW3R{cfaEMQTdoQE=D_)AMSR9wDd#R&|`43~vRL_7>Es~nUkGHK^7LB<5c z<>2XWlQY~8H|5~1K0`b*3T*G zFo->ut^~tit?|rXy%yd+>jZ9**4W|>lTDHkBew@xq{NmRPrJ~DrTZeCcc@-M`Ve^) zjT!^~B9kS;-spE6JOLwV_s;3LHv3FW!slLx@-c_+Y0|6xc(L!g%qwRSGe{a~j-~wJ z`(r*hZo|YiZ^!LIx?*48e5H>+5p3`H8TSsFYZby90YTLsl>4{=1QImd9%3I^KAi%| zWao4G@uyCUxzC+3)gyg7GY-8kdbTLsqB>KWT@nyXtoH;TJoT+Qsb zyoWdKR#dCioF=hIP8;i-#>q)h_e-*ipCEIpMStC?-81kic6^&i3$Y#8{Q~)zwf@dD zjV&9{R9CnB=g*Zd_f*Rbe^+i=X}tP;E06+ke~8D96RzLRX&5BcHsm$0r~&=;BqlHb zoQD9L+U$MR)s)|hslgO#MPe`w@Sh$R6B7eAG zJt6N)54nDQp#E-k&{7>MDwRz{o$5|LD4xFeH{uJoAL(dqjRbECBaU0S%vTtc!^`>u zXb^v-Q)VwJO_i+UVdJ%DU>Rk3Z?dWQaaIJ=v*C^bzggj4X$c}DjU?* z)#1DXjEf5y9nOIQ7873#=4O#em>3t`{TH#-{)9|bs6lY*l%DR#1{(z$vE#wgNQO_? z2tWd~UUldMkQ@FWf2s_pGmMu43aU7nK zB04xiNr$_d9EujN9xXB)eMZ50$}y8uz7Y-3D4;DupD?S?q67{UcS^TTqs)SvCK!CF zjx{V|A+JmR-^jRC|EQlY-7z#UaQ^=2!I_AdiPkV(h|j$Z4MXP8)UvUC04?xwrnj{@ z6vs9?|H_^8BmZ>#04_G9;&;`pTVX<4hu1XuNgP^)HgUNv258gF)^Ei2mkK+aDPsw z1r;?0@_E1&K>7CnF}-n@p~0cV-Qofw1@Xw!_%W&`(J241BqG_~mJ{%v@o_2AjpRI+ zTT48bRCGPsD}nj5z5V{!Wu%(>Kb{_ajJu)+rxo3LBZ(Ft8CjfAM|@&@ZC90cy^fxq zV^C~>i+TcQFj$W>ebau<8ChJPa}tK~$XmFXU9wInJTMVwh6GVFl5ZU_j7!H^vyQ zu2f7R)zHByE-Wkzi*2jo`d`7(+3EH#3N%-n63tr7A@f1XPe-l-{FM0RidKMS8CR0t8T`NL6}AKzi>Gnu>t*P(ur$ zcY+XFXt^89^ZTFoKF_)5yr1v>vXh<7-fPXZ)|_LGITr6T3RVWI1Qd;*j{|6B>7|7OSDx-x$$6H4@0XbEmX7dqnxq3^8m9uT$tV` zez2l&bI=H}EFzBWA-E2_?bl)BLWaYQ%lStAy-=1m84p@!yzuAyt4kE0{(csCdV%`y zWpd}gkMLt>TxVRqX8GrrFOG#jNZ&6aB!ZMUw5RJCcDEJrJR|RHJ}u_2_4Z#cUUYr(BCoE5g**1| zMT7u5)u&Jb=QgmbEvma_gFL;=ag`Q|Pqc?2ZDBi0!@8e- zHAdNs*~8YybI~C8qq+dQFkRHh8RI*3^B%90)fVsVPTY4kjQz_|ka1pgwE9|ri^IwM zftlIEV!b{i*U4cW!UqpbxERyV(Cehtx|@o=Uhb1QThoWjp`d*MC_0m7i-b7xR=3&1 zD~YRAB=ln=^USX<|86hbYft6&@?3#}NOPr}Xk9^Y=Qh}0a zZafX-ure`iw3*H{Bb7LsjF{L}xy@A2-vZsBOI2pKZ~hrC7!-aNWc$4?x`Xt6vV??> zAnMFdD+_{cGon=yyB8JYyS>5bE-{u9{ZJ6aP?CPUcbds=GPgx9gn>Q$I|cRg$>nNA zgoQ($D_;tXehMG4D4#kjvkZC=U$psU+OD+e=r|{*UDbpMcN*SL=X=DR={X7ex&cva zYJ^78k6RQ;5Q^562z#x)Y+^^S$d-(*-YB_P54g z19xvVZaXU}nXQksu|E+jsTh2%zNf>&&W>HHbZ7iCvsbRF+T5ZtL5^!c?V(Rx`#*xC z^jh#ZHzsP(76)8YjcA%wWkIv{#+I|=`JX>;4>euFkEB54Q}tCDKIA=pTNe==7VG&8 zqSLwk9h#FoGSb^-W@O|$-`jkOAG+R(@0LitvUlX~Ra1+8S~wECR_Xf$4xgR>`}VSe zQGUyyd6UWukXU3)THZ1S+T+ShNRb|E3olde1CayaPjd#W_(DySo3 zL)6I?mzGMizHal^71uG17vR~&M5mrjse>S=O_~GcP`Sud&)uKsC5=(VLCAGQX*1ZOg9KkXSk`CrlNd=!L(c>xZdJ(##y<{l?Fj(Ce$^noSwM-4O}G} z$BBZTGQ<;1E>CJzwRAbElT_*(tDfoO2L#GD$(hL{4xik(s26m0fmZppntsB;_A%~g zL`pC=mZH6l^ajJ+ZQ`=!wJNx>&>}yt=Lw3lV#C>)+)E~rmGb=TfV5-^JyNA^KLj(N$Uj6I& z!La=8nQ4AI61Q7|GI^?k@+3W7S62MKz_oG5*bl}gO7f^Pe+&IuX^sUWv2GN$l6g?A zFF-~bw@cOENl9Rm_d+O~7F4X{;F(%dkvZHwiRkDk&EnJ@%sJlQLUNT@7_=PLG|)LY zJMZuBLyrz{KS_zKhBhJ=LGJE2Cu*Ak+aJMBukSN6tDl1u;P7LQ^4_0$pQSgs{6NeX z{Q>YTV)(97QvSK|Tl9ulBVYkpIc3NeM}$SVgTYAHb_3v2lzPwh5Ef~WRS<%+&T6d( z3#m^ODQ0>kR8(F*`}3=Toru^+k5@+Y>d&2Quy`Ngz#}4RuwVl^@;{M z^pN|Dm(tHwjhk6oLew0z%oWznA&^8B+zwiF>llK2cmJ`|DFuOyj@9;n8{krgNR3Dd zBUj@enJ(=K1}6*aSQ*&yLXP(QgTfypDU!*l${iQrT-}85Z!NfeeJPVuV6h;P;@l~U zx(%M$K^7SKYa?s2>d7eF(wq8F`_L_r<;;xgRsW2-M;6_In#l-X&OcD>%Sb0&p37?| zkun{+%Y5Cy9f<#E*j7A!3oc#L$miZ)#HL#h#ky!oTs%r5LphYyadGwh3-N5e#4^6q zE`P6X9u(A(U{6BLW8HITwFlXxFl-G>Imt>Y+xP$H(=_rIXh)jf`=8zXf8C^ibU>2p0v?=`XNRtr)`D?iVZY}; zpOC%67pd{!N>~49H?#h)tn`m2{nOO{8{;)L$UW&#Y!O@ij?O$GDi@oFO-4s-va$CH zPV-w&fj_FAR*P(w6dMg|#M89;T+a#$Psu>6TidW5Y#G{h;gcq3x~kHOHbTC|v?+z} zbwt=cUgF}ikG7azn5X%y0kcOn4%Xc_p86bc_Qu%W-q0)?(ohS{9!mJY*hLhk%(Zd zg>Kh-^7oVB8Ku5IHtOANs;wV~nFQ4?m>WG>N;C9Pj2G83)Vddkso=f~g7qeJo9=kg zpQ+0`DJM5(?bB{nUAWW{ew(*2Cr6SaU95(e88g+ETKQ#MzTO>CaCpXWdP$OWQxAbv zPLNo38z{=pf6C!7d6>^idM)HO2=XyBR3Xe`Q_w+xe?$@QRp6UOIhT$*^8E`u^*uxE z@YW#}?+=bzFt*rU#9WK(`C4+UzCpp@?KfG*A)97q+*w-63JC{Bt$ZiC70&Ca9lAXC7aPvX6 zlvHNDjc0vz&8=!t=aohXEC%gXf8uoOd4rgrv3*V1mY&SzB*x5sBi*PI=ZXa0Ak_h0EV6)B% z2b3*JMcpKIe9HDX!Y%1Tn&+T~kv(V4R@tf7Xw`Mm@#{gPwvR?il>)<)J|=l{U^ng? zwcL=RBA~~^8%tr~J3b16U@v=mU@wYpQ;# zfqqJgevAU*XWnJ)SUDxI4%o~|MyEMXLDBEhy4wX=%7?%?yCDPg;rez{7w z`l-XCsKYjZq`}i>P*RW9U_O4M&m=+V<#FVRy&U@5)#<6H>eD2xtT?=&VdTXsmNr-& zj9*|B*5D=IekoBeZ%QmoUH%#E^9y7&f_Zh1hFsN8CRag@w!oqp)ik-k=>6KX$FH26 z3RoM}&~c3ue?r2@e%pLk8thSkhE@#4Ez^kGyqKQOrktr>+Vy@1B(7Yr9uM{{I1jN-ba#UYfQUA2ZT?)ly>i3_$<%D! zq5Aszm)_1_B~CZvkXqO4RU;I-#(wt#Eg6}Cq1MXcqQ#>X?k3FZMV;aIiv-)010FUr z@b^-ID)}XBqIK@Y`T2(k28G(M8Rd3Ih}9~+QD2H%Z9A{;YbCywT6>i%Ppk4ZV<2x&x7Y^r`Jvq!Zpr=aIIGb2X+ume&2@if4&9@n zE$t>5Vjy(*>ub_Mk0MnIlX=u4fME_Lo#N^4N1R7oeX#UnrQzPSHEWv6{(>p7w~}+- zr>%ogq)ueqLe%xc;^D;A5@+|p)tZ@IQ!ugd7e?!zPF?1zz5<%*0hRK{pyL%YDs4e3 zs@hS5*jtNQnsK}Id?lw^J1%N!{q$Suk8;2smRm3ft!7UT9BedTpzLSeb~Kg5&lMwa zF{t;c+Q_HsYsO>x#=VUO2Qlc; zLUUO#z0KG0@y<&@eEn$~3q`KZ&T+O3yr&wdcLPzy2`DRby%6{Glnso1Z>0(DW$Mps*lO<R*CnY{AH;eyG8 zsXU1+#?0x$eC8)&Lu_oZ%O`E5@6Q&UvF%%^E$>GX&0j|}&Du+Iu0X7|FUckyfn1!o z7FGq3bsLY}Nw>C|eX?K$!&PxkB$nGxYU~bQuBA1m#N_ijsIsIexp*clx%PE8JD#l6 zbnn9<#{!~C*8KRpohG7_{TUzAoGbQvmEGQ2k*wI!fb8;01p@D9lp}f@a+@=1U=@5I zLCuSJ7*pEitIm_l5uk7OiqEAC{Mw#95>?s&CxcvAOSlax*G=^1+`|OB9{- zn?hIx2g9Pr^QlMm`l@O%5VO+{(R%#xrYaJZbA_>`3V3)g&3CG@MQclJQ>EKT$PnYj z%GU{B1_b3ArN48sq9UVNvo<}CuYTR+nomecw-TCLhx%wsidp0R=)lK2%P`R^_`t86 zEU^W3XC}_PeQMBi`jUfLLJTpYwP?oFu}8xxp`rLhCF`8px*H)mJ8bb~Y;Z26po{GH z4Aj=tx)mS0^qzFYS$RDmP4=7-7E1X9mxy|adA;G z*RO=gRmu(wF|gBoCWQYqi&^!YEGGFrKK}5Y5bO~MFf<+>+^+44)td~bzP=JNxYRiW zgvrZJXVuS#eHW>ZG_thQgh)Z{1ds2xOaQRtx^TVt|8XkZ(>KyKP}iKDr+RJd?85A-k*47< zTE8r+AcSoDu^v+vQE=Kl7JS84BE5Px%y${i_6 z*dmkG)XwubKg|)1*m|!+g(oVXem^}lR1feq=XU&3K)qJj7G!sQ<+?I3`hF%aU?O0Shn&VBJ4|RW-r%`=|2^lL*Id!6<<8aA^F2h9$m;@!VQ>G`rwr+%-_t!*)VNS@18e>!ckRd+DH z9qmx|`IH}HOZ~%(&pqYi%lq0w!Zbvl-ILKqt-z4JOPNahKTfe;0xRIT)|$o5&d%Zl zJ!1kA3kx&HXRfNoIihqebw8=7|2H_l zrfF{ofP%x`F739RC_SHYE2Lbz{!8y}?nURs!}^tP^;yL@jIqGM?v5U8qkO00VtGnD zboOw-u3e0W$@t{^6{F&lhB5daVO;6i8ovo0t*GUX;Cu<6uV8*kF#kCXF@~Kn(4S)J zZ|v+4e3tKuY=)Sr`UF0vf8;n7{J7HEn(g}z;GtZ2`V+P8h}kOO-k5yfGLR#&{n006 zL$ut}(9znBKn~SbG_C+h=8jda&x!^7@Qr^*gV#~8`wwv8G|z3KoDP1weIDijb!9E* zxmnKk7a5L*XK;ETF7^}eRo6~o*BwB(c;$`_7GU1t!Fohoo`mX#u{;S1JoxCS`SN%( zSxwN@1&lxSfpd55tEdpEiqW>$*o3A-sBY&pEo%DoOQ=11dJl}`JRrTzhyL+(FS||n zwXpa@`HM3jt`etywzqz{*Vd96%jKDRR8NU1_AEL>P#3bIA~vJWO)#SXuEn$aKom>)5C{UVb@W5cq`E(j z0Ol498s|)3?u=M7YzLxf=>Dl-`pw?&O`#50tegXgyZY|(%Hn)_ zqL2A*-MR)_WWU5w=<1COfgTdWj2F)nDj1o3f=wTNW@M(DsIAF@f4iTE1ZOT99N-N3 zLPO+%OfN$=OMqnB+1%avr6~$4D0UAm-slS*++N~NF_?I9JmUM(sq1xirJ8p=f3+>n z)@{{TSEw(-kSNORKVDANu^?szeNfNUfU2qk#0svuKHoO5+}8%Y}wS9!AeZNt!7 zMZ>g!O)*?Df{QsN>=M$-C_|w zF#*A2$ybi=zJ8*5uel!uHB2|JmGBw-_U)ucX&tn?N9yE);Q^YW+xM-OuwLKZjk|hz zZEY0()8u|mM)~N-NLEcv*G8q)tfK1T(*3mF{k@|7elP8GCA`taCA5yZ!SrJFl$dza zNkO3kcd{4uGFRjF&GLI^;Q&^&?6N6j7i&6g6Me$$&>bJ^Eb*Af{L9#T!U%fg#1b*{ zpSN+`xU`>D&?_$u48P>|A>l(lq*GK?jq`o=?mP

u7E5uzzmX%czhS1}#JT1^cWlZm4nTT)&B4# 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

+ ) +} export function GeneralSettings() { const { preferences, isLoading, updateSettings, isUpdating } = useSettings() const { data: versionInfo, isLoading: isVersionLoading } = useVersionCheck() + const currentMode = useTheme() + + const appearance = preferences?.theme || 'dark' + const themePreset = preferences?.themePreset || DEFAULT_THEME_PRESET + const previewMode = appearance === 'system' ? currentMode : appearance + const previewTheme = resolveOpenCodeTheme(themePreset, previewMode) + const previewSwatches = [ + previewTheme.primary, + previewTheme.secondary, + previewTheme.info, + previewTheme.success, + previewTheme.warning, + previewTheme.error, + ] if (isLoading) { return ( @@ -18,17 +60,19 @@ export function GeneralSettings() { } return ( -
-

General Preferences

- -
-
- OpenCode Manager +
+
+
+

Preferences

+

General Settings

+
+
+ OpenCode Manager {isVersionLoading ? ( ) : versionInfo?.currentVersion ? ( <> - + {versionInfo.currentVersion} {versionInfo.updateAvailable && versionInfo.latestVersion && ( @@ -46,89 +90,120 @@ export function GeneralSettings() { unknown )}
+
-
- - -

- Choose your preferred color scheme -

-
+
+
+
+
+ + +

Matches the built-in palettes available in OpenCode's `/theme` picker.

+
-
-
- -

- Automatically scroll to bottom when new messages arrive -

+
+ + +

Controls whether the selected OpenCode palette renders in light, dark, or system mode.

+
- updateSettings({ autoScroll: checked })} - /> -
-
-
- -

- Display model reasoning and thought process -

-
- updateSettings({ showReasoning: checked })} - /> -
+
+
+
+

Live Preview

+

{getThemeLabel(themePreset)}

+

{previewMode === 'dark' ? 'Dark mode' : 'Light mode'} palette preview

+
+ + {previewMode} + +
-
-
- -

- Automatically expand tool call details by default -

-
- updateSettings({ expandToolCalls: checked })} - /> -
+
+ {previewSwatches.map((color) => ( +
+
+
+ ))} +
-
-
- -

- Show file diffs expanded by default for edit operations -

+
+
+
Panel
+
Workspace shell
+
+
+
Element
+
Inputs and cards
+
+
+
Diff
+
Added lines
+
+
- updateSettings({ expandDiffs: checked })} - />
+ updateSettings({ autoScroll: checked })} + /> + + updateSettings({ showReasoning: checked })} + /> + + updateSettings({ expandToolCalls: checked })} + /> + updateSettings({ expandDiffs: checked })} + /> {isUpdating && ( -
+
- Saving... + Saving theme and preference changes...
)}
diff --git a/frontend/src/components/ui/back-button.tsx b/frontend/src/components/ui/back-button.tsx index efc2b014b..b86ab1a70 100644 --- a/frontend/src/components/ui/back-button.tsx +++ b/frontend/src/components/ui/back-button.tsx @@ -15,7 +15,7 @@ export function BackButton({ to = '/', className = '' }: BackButtonProps) {
- - + +

Workspace Preferences

@@ -185,7 +185,7 @@ export function SettingsDialog() {
- +
{renderSectionIntro(activeItem)} diff --git a/frontend/src/components/ui/page-header.test.tsx b/frontend/src/components/ui/page-header.test.tsx index 509bc35f8..3cfbddd32 100644 --- a/frontend/src/components/ui/page-header.test.tsx +++ b/frontend/src/components/ui/page-header.test.tsx @@ -56,13 +56,13 @@ describe("PageHeader", () => { render(Content); const header = screen.getByTestId("header"); expect(header).toHaveClass("border-b"); - expect(header).toHaveClass("border-border"); - expect(header).toHaveClass("bg-gradient-to-b"); + expect(header).toHaveClass("border-border/60"); + expect(header).toHaveClass("bg-background/90"); }); - it("applies backdrop-blur-sm for frosted glass effect", () => { + it("applies backdrop-blur-xl for frosted glass effect", () => { render(Content); const header = screen.getByTestId("header"); - expect(header).toHaveClass("backdrop-blur-sm"); + expect(header).toHaveClass("backdrop-blur-xl"); }); }); From ea25e7bdc046da049c0829a31d554a086ea6a9ce Mon Sep 17 00:00:00 2001 From: gollum Date: Sat, 8 Aug 2026 12:09:40 -0400 Subject: [PATCH 07/10] fix(theme): finish main merge and enable isolated HMR ports Restore broken conflicted UI files from main, keep themed back-button, load .env.local overrides for a parallel dev stack on 5004/5174/5552. --- .gitignore | 2 + .../src/components/message/PromptInput.tsx | 8 +- .../src/components/repo/AddRepoDialog.tsx | 5 +- .../src/components/session/SessionCard.tsx | 14 +- .../components/settings/SettingsDialog.tsx | 299 +++++++----------- frontend/src/components/ui/back-button.tsx | 13 +- frontend/src/components/ui/header.tsx | 56 +--- frontend/src/pages/SessionDetail.tsx | 13 +- frontend/vite.config.ts | 3 +- shared/src/config/env.ts | 4 +- 10 files changed, 147 insertions(+), 270 deletions(-) diff --git a/.gitignore b/.gitignore index f3d7c92f2..2a715cbb1 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,8 @@ node_modules/ *.log .env .env.local +.env.*.local +workspace-dev/ dist/ build/ coverage/ diff --git a/frontend/src/components/message/PromptInput.tsx b/frontend/src/components/message/PromptInput.tsx index 1f51f99b4..e292dcaa9 100644 --- a/frontend/src/components/message/PromptInput.tsx +++ b/frontend/src/components/message/PromptInput.tsx @@ -1261,8 +1261,8 @@ return ( } className={`w-full bg-muted/50 pl-2 md:pl-3 pr-3 py-2 text-[16px] text-foreground placeholder-muted-foreground focus:outline-none focus:bg-muted/70 resize-none min-h-[40px] max-h-[120px] disabled:opacity-50 disabled:cursor-not-allowed md:text-sm rounded-lg [field-sizing:content] ${ isBashMode - ? 'border-info/40 bg-info/6 focus:bg-info/10' - : isDragging ? 'border-info/40 border-dashed bg-info/6' : '' + ? 'border-purple-500/50 bg-purple-500/5 focus:bg-purple-500/10' + : isDragging ? 'border-blue-500/50 border-dashed bg-blue-500/5' : '' }`} rows={1} /> @@ -1331,8 +1331,8 @@ return ( > {displayModelName || 'Select model'} {hasVariants && currentVariant && ( - {currentVariant} - )} + {currentVariant} + )} ) diff --git a/frontend/src/components/repo/AddRepoDialog.tsx b/frontend/src/components/repo/AddRepoDialog.tsx index 79c7eca18..e29acc6e7 100644 --- a/frontend/src/components/repo/AddRepoDialog.tsx +++ b/frontend/src/components/repo/AddRepoDialog.tsx @@ -19,7 +19,6 @@ interface AddRepoDialogProps { } export function AddRepoDialog({ open, onOpenChange }: AddRepoDialogProps) { - const isMobile = useMobile() const [repoType, setRepoType] = useState<'remote' | 'local' | 'folder'>('remote') const [repoUrl, setRepoUrl] = useState('') const [localPath, setLocalPath] = useState('') @@ -300,10 +299,8 @@ export function AddRepoDialog({ open, onOpenChange }: AddRepoDialogProps) { Auto-accept the SSH host key for self-hosted or internal servers

- +
)} -
-
+
+ +
+ + + Account + + + General + + + Notify + + + Voice + + + Git + + + Shortcuts + + + OpenCode + + + Providers + +
- - - -
-
-

Workspace Preferences

-

Manage your account, git identity, provider access, and OpenCode behavior.

-
-
- - {menuItems.map((item) => { - const isActive = activeTab === item.id - return ( - -
-
- -
-
-

{item.label}

-

- {item.description} -

-
-
-
- ) - })} -
-
-
-
-

Quick Tip

-

Drag the divider to resize the sidebar and use `Esc` to close settings.

-
-
-
-
- - -
-
- {renderSectionIntro(activeItem)} - {menuItems.map((item) => ( - - {renderSettingsContent(item.id)} - - ))} +
+
+ + + + + + + +
+ setIsVersionDialogOpen(true)} /> +
+ +
+ +
- - - -
+ + +
+
+ +
-
-
-
- {mobileView !== 'menu' && ( - - )} -

- {mobileView === 'menu' ? 'Settings' : menuItems.find(item => item.id === mobileView)?.label} -

+
+
+
+ {mobileView !== 'menu' && ( + + )} +

+ {mobileView === 'menu' ? 'Settings' : menuItems.find(item => item.id === mobileView)?.label} +

-
- {mobileView === 'menu' && ( -
-
-

Workspace Preferences

-

Choose a settings area

-

Jump between account, provider, voice, git, and OpenCode controls without leaving the current repo context.

- -
- {menuItems.map((item) => ( +
+ {mobileView === 'menu' && ( +
+ {menuItems.map((item) => ( ))} -
- )} +
+ )} + + {mobileView === 'account' &&
} + {mobileView === 'general' &&
} + {mobileView === 'notifications' &&
} + {mobileView === 'voice' &&
} + {mobileView === 'git' &&
} + {mobileView === 'shortcuts' &&
} + {mobileView === 'opencode' && ( +
+ setIsVersionDialogOpen(true)} /> + + + + +
+ )} + {mobileView === 'providers' &&
} +
+
- {mobileView !== 'menu' && ( -
- {renderSectionIntro(mobileActiveItem, true)} - {renderSettingsContent(mobileView)} -
- )} -
-
{ - navigate(to); - }; - return ( - ); + ) } diff --git a/frontend/src/components/ui/header.tsx b/frontend/src/components/ui/header.tsx index 9a3d36377..0a3cdeeda 100644 --- a/frontend/src/components/ui/header.tsx +++ b/frontend/src/components/ui/header.tsx @@ -48,7 +48,7 @@ function HeaderTitle({ children, logo, className }: HeaderTitleProps) { className="h-6 w-auto sm:h-8" /> ) : ( -

+

{children}

)} @@ -161,60 +161,6 @@ function HeaderActions({ children, className }: { children: ReactNode; className return
{children}
; } -function HeaderMobileDropdown({ children, className }: { children: ReactNode; className?: string }) { - const isMobile = useMobile(); - const { pendingCount: permissionCount, setShowDialog, navigateToCurrent: navigateToPermission } = usePermissions(); - const { pendingCount: questionCount, navigateToCurrent } = useQuestions(); - const { open } = useSettingsDialog(); - - const totalPending = permissionCount + questionCount; - - if (!isMobile) return null; - - return ( - - - - - - {permissionCount > 0 && ( - { navigateToPermission(); setShowDialog(true); }} className="gap-2"> - - {permissionCount} pending permission{permissionCount > 1 ? 's' : ''} - - )} - {questionCount > 0 && ( - - - {questionCount} pending question{questionCount > 1 ? 's' : ''} - - )} - {totalPending > 0 && children && } - {children} - {children && } - - - Settings - - - - ); -} - function HeaderSettingsButton() { const { open } = useSettingsDialog(); diff --git a/frontend/src/pages/SessionDetail.tsx b/frontend/src/pages/SessionDetail.tsx index f68457266..187609f65 100644 --- a/frontend/src/pages/SessionDetail.tsx +++ b/frontend/src/pages/SessionDetail.tsx @@ -98,14 +98,6 @@ export function SessionDetail() { const [hasPromptContent, setHasPromptContent] = useState(false); const [minimizedQuestion, setMinimizedQuestion] = useState(null); - const handleSwipeBack = useCallback(() => { - navigate(`/repos/${repoId}`); - }, [navigate, repoId]); - - const { bind: bindSwipe, swipeStyles } = useSwipeBack(handleSwipeBack, { - enabled: !fileBrowserOpen && !modelDialogOpen && !sessionsDialogOpen, - }); - const isMobile = useMobile(); const { keyboardHeight } = useVisualViewport(); const inputBottomOffset = isMobile ? keyboardHeight : 0; @@ -220,7 +212,7 @@ export function SessionDetail() { const handleMinimizeQuestion = useCallback((question: QuestionRequest) => { setMinimizedQuestion(question) }, []) - + const handleRestoreQuestion = useCallback(() => { setMinimizedQuestion(null) }, []) @@ -570,9 +562,6 @@ export function SessionDetail() { Waiting for shortcut key...
)} - {ttsEnabled && lastAssistantText && !hasPromptContent && !hasActiveStream && ( - - )} {minimizedQuestion && minimizedQuestion.sessionID === sessionId && ( { const env = loadEnv(mode, path.resolve(__dirname, ".."), ""); const backendPort = env.PORT || 5001; + const frontendPort = Number(env.VITE_DEV_PORT || env.FRONTEND_PORT || 5173); return { envDir: path.resolve(__dirname, ".."), @@ -22,7 +23,7 @@ export default defineConfig(({ mode }) => { }, server: { host: "0.0.0.0", - port: 5173, + port: frontendPort, proxy: { "/api": { target: `http://localhost:${backendPort}`, diff --git a/shared/src/config/env.ts b/shared/src/config/env.ts index cefcc6368..56085de24 100644 --- a/shared/src/config/env.ts +++ b/shared/src/config/env.ts @@ -5,7 +5,9 @@ import { DEFAULTS } from './defaults' try { const { config } = await import('dotenv') - config({ path: path.resolve(process.cwd(), '.env') }) + const cwd = process.cwd() + config({ path: path.resolve(cwd, '.env') }) + config({ path: path.resolve(cwd, '.env.local'), override: true }) } catch { // dotenv not available (e.g., in production Docker), env vars already set } From e76adff144d028fe6a6c3b49149a6cafca294b32 Mon Sep 17 00:00:00 2001 From: gollum Date: Sat, 8 Aug 2026 12:10:43 -0400 Subject: [PATCH 08/10] chore(dev): add dev:local script without bash predev gate --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 73d16806e..f267abfbb 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,8 @@ "scripts": { "predev": "bash scripts/setup-dev.sh", "dev": "concurrently \"pnpm:dev:backend\" \"pnpm:dev:frontend\"", - "dev:backend": "NODE_ENV=development bun --watch backend/src/index.ts", + "dev:local": "concurrently -n backend,frontend -c blue,green \"pnpm:dev:backend\" \"pnpm:dev:frontend\"", + "dev:backend": "bun --watch backend/src/index.ts", "dev:frontend": "pnpm --filter frontend dev", "start": "concurrently \"pnpm:start:backend\" \"pnpm:start:frontend\"", "start:backend": "bun run backend/dist/index.js", From 6a3750f45f5a51e00cc586b68294530addf418a2 Mon Sep 17 00:00:00 2001 From: gollum Date: Sat, 8 Aug 2026 12:17:32 -0400 Subject: [PATCH 09/10] fix(auth): allow same Tailscale passkey on HMR origin Omit fixed PASSKEY_ORIGIN so WebAuthn verifies against the request Origin. Keeps RP ID as the Tailscale hostname so prod passkeys work on :5174 HMR as well as :5003. Vite allows Tailscale hosts and pins HMR clientPort for Serve TLS. --- .env.example | 5 ++++- backend/src/auth/index.ts | 4 +++- frontend/vite.config.ts | 5 +++++ shared/src/config/env.ts | 3 ++- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/.env.example b/.env.example index b0ecc49ea..826b93bd2 100644 --- a/.env.example +++ b/.env.example @@ -106,7 +106,10 @@ AUTH_SECRET=CHANGE_ME_GENERATE_WITH_openssl_rand_base64_32 # Passkey/WebAuthn Configuration PASSKEY_RP_ID=localhost PASSKEY_RP_NAME=OpenCode Manager -PASSKEY_ORIGIN=http://localhost:5003 +# Exact origin for WebAuthn verification. Leave empty/unset to use the browser +# Origin header (recommended when the same RP ID is served on multiple ports, +# e.g. Tailscale prod :5003 + local HMR :5174). +PASSKEY_ORIGIN= # ============================================ # Push Notifications (VAPID) diff --git a/backend/src/auth/index.ts b/backend/src/auth/index.ts index 147222d85..3da961ff2 100644 --- a/backend/src/auth/index.ts +++ b/backend/src/auth/index.ts @@ -48,7 +48,9 @@ export function createAuth(db: Database) { passkey({ rpID: ENV.AUTH.PASSKEY_RP_ID, rpName: ENV.AUTH.PASSKEY_RP_NAME, - origin: ENV.AUTH.PASSKEY_ORIGIN, + // Omit origin so verification uses the request Origin header. + // That lets the same RP ID work across Tailscale ports (prod :5003, HMR :5174). + ...(ENV.AUTH.PASSKEY_ORIGIN ? { origin: ENV.AUTH.PASSKEY_ORIGIN } : {}), authenticatorSelection: { residentKey: 'required', userVerification: 'preferred', diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts index d3965daeb..63237fadb 100644 --- a/frontend/vite.config.ts +++ b/frontend/vite.config.ts @@ -24,6 +24,11 @@ export default defineConfig(({ mode }) => { server: { host: "0.0.0.0", port: frontendPort, + allowedHosts: true, + hmr: { + // Tailscale Serve terminates TLS and proxies to this port + clientPort: frontendPort, + }, proxy: { "/api": { target: `http://localhost:${backendPort}`, diff --git a/shared/src/config/env.ts b/shared/src/config/env.ts index 56085de24..757326d91 100644 --- a/shared/src/config/env.ts +++ b/shared/src/config/env.ts @@ -126,7 +126,8 @@ export const ENV = { DISCORD_CLIENT_SECRET: process.env.DISCORD_CLIENT_SECRET, PASSKEY_RP_ID: getEnvString('PASSKEY_RP_ID', 'localhost'), PASSKEY_RP_NAME: getEnvString('PASSKEY_RP_NAME', 'OpenCode Manager'), - PASSKEY_ORIGIN: getEnvString('PASSKEY_ORIGIN', 'http://localhost:5003'), + // Empty/unset => passkey plugin uses the request Origin (multi-port Tailscale OK) + PASSKEY_ORIGIN: process.env.PASSKEY_ORIGIN?.trim() || undefined, }, } as const From c2e340ba9078a49d5ae82e7090b337016924bb6f Mon Sep 17 00:00:00 2001 From: gollum Date: Sat, 8 Aug 2026 12:23:42 -0400 Subject: [PATCH 10/10] fix(auth): make Tailscale passkeys work on HMR origin Inject allowCredentials for discoverable passkey login (fixes Windows Hello cancel), isolate dev cookies, expose RP ID to login page, and preserve Origin through the Vite proxy. --- backend/src/auth/index.ts | 3 +- backend/src/index.ts | 2 +- backend/src/routes/auth.ts | 63 +++++++++++++++++++++++++-- frontend/src/contexts/AuthContext.tsx | 24 +++++++++- frontend/src/lib/auth-loaders.ts | 1 + frontend/src/pages/Login.tsx | 11 +++++ frontend/vite.config.ts | 16 ++++++- 7 files changed, 112 insertions(+), 8 deletions(-) diff --git a/backend/src/auth/index.ts b/backend/src/auth/index.ts index 3da961ff2..5c5f360a3 100644 --- a/backend/src/auth/index.ts +++ b/backend/src/auth/index.ts @@ -76,7 +76,8 @@ export function createAuth(db: Database) { }, }, advanced: { - cookiePrefix: 'opencode', + // Isolate dev cookies from production when both share a Tailscale hostname + cookiePrefix: ENV.SERVER.NODE_ENV === 'development' ? 'opencode-dev' : 'opencode', useSecureCookies: ENV.AUTH.SECURE_COOKIES, }, }) diff --git a/backend/src/index.ts b/backend/src/index.ts index 877adbd80..c0c647d38 100644 --- a/backend/src/index.ts +++ b/backend/src/index.ts @@ -345,7 +345,7 @@ void scheduleRunnerInstance.start() const settingsService = new SettingsService(db) -app.route('/api/auth', createAuthRoutes(auth)) +app.route('/api/auth', createAuthRoutes(auth, db)) app.route('/api/auth-info', createAuthInfoRoutes(auth, db)) app.route('/api/health', createHealthRoutes(db, openCodeSupervisor)) diff --git a/backend/src/routes/auth.ts b/backend/src/routes/auth.ts index 19c242514..4a147ec7c 100644 --- a/backend/src/routes/auth.ts +++ b/backend/src/routes/auth.ts @@ -5,12 +5,42 @@ import { ENV } from '@opencode-manager/shared/config/env' import { logger } from '../utils/logger' import { hashPassword } from 'better-auth/crypto' -export function createAuthRoutes(auth: AuthInstance): Hono { +type PasskeyRow = { + credentialID: string + transports: string | null +} + +function withAllowCredentials(body: string, passkeys: PasskeyRow[]): string { + try { + const options = JSON.parse(body) as { + allowCredentials?: Array<{ id: string; type?: string; transports?: string[] }> + [key: string]: unknown + } + if (options.allowCredentials?.length) { + return body + } + if (!passkeys.length) { + return body + } + options.allowCredentials = passkeys.map((pk) => ({ + id: pk.credentialID, + type: 'public-key', + transports: pk.transports + ? pk.transports.split(',').map((t) => t.trim()).filter(Boolean) + : undefined, + })) + return JSON.stringify(options) + } catch { + return body + } +} + +export function createAuthRoutes(auth: AuthInstance, db?: Database): Hono { const app = new Hono() app.all('/*', async (c) => { const response = await auth.handler(c.req.raw) - + const setCookie = response.headers.get('set-cookie') if (c.req.path.includes('sign-in')) { logger.info(`Sign-in response - Status: ${response.status}, Set-Cookie: ${setCookie ? 'present' : 'missing'}`) @@ -18,7 +48,33 @@ export function createAuthRoutes(auth: AuthInstance): Hono { logger.debug(`Set-Cookie header: ${setCookie.substring(0, 100)}...`) } } - + + // better-auth only includes allowCredentials when a session exists. + // Discoverable (empty) options often make Windows Hello cancel immediately. + // Inject stored credential IDs so the authenticator can match the passkey. + if ( + db && + response.ok && + c.req.method === 'GET' && + c.req.path.includes('generate-authenticate-options') + ) { + const contentType = response.headers.get('content-type') || '' + if (contentType.includes('application/json')) { + const passkeys = db + .prepare('SELECT credentialID, transports FROM passkey') + .all() as PasskeyRow[] + const body = await response.text() + const nextBody = withAllowCredentials(body, passkeys) + const headers = new Headers(response.headers) + headers.delete('content-length') + return new Response(nextBody, { + status: response.status, + statusText: response.statusText, + headers, + }) + } + } + return response }) @@ -91,6 +147,7 @@ export function createAuthInfoRoutes(auth: AuthInstance, db: Database) { registrationEnabled: !adminConfigured, isFirstUser: hasUsers.count === 0, adminConfigured, + passkeyRpId: ENV.AUTH.PASSKEY_RP_ID, }) }) diff --git a/frontend/src/contexts/AuthContext.tsx b/frontend/src/contexts/AuthContext.tsx index ec826ba34..9942d72bb 100644 --- a/frontend/src/contexts/AuthContext.tsx +++ b/frontend/src/contexts/AuthContext.tsx @@ -82,14 +82,34 @@ export function AuthProvider({ children }: AuthProviderProps) { try { const result = await authClient.signIn.passkey() if (result.error) { - return { error: result.error.message || 'Passkey sign in failed' } + const msg = result.error.message || 'Passkey sign in failed' + if (msg === 'auth cancelled' || result.error.code === 'AUTH_CANCELLED') { + return { + error: + 'Passkey was cancelled or blocked. Open this app via your Tailscale HTTPS URL (same hostname as production), then try again. If it still fails, sign in with email and re-add the passkey under Account.', + } + } + return { error: msg } } await refetch() const from = (location.state as { from?: string })?.from || '/' navigate(from, { replace: true }) return {} } catch (err) { - return { error: err instanceof Error ? err.message : 'Passkey sign in failed' } + const message = err instanceof Error ? err.message : 'Passkey sign in failed' + if (err instanceof DOMException || (err && typeof err === 'object' && 'name' in err)) { + const name = err instanceof DOMException ? err.name : String((err as { name?: string }).name || '') + if (name === 'NotAllowedError') { + return { error: 'Passkey prompt was dismissed or timed out. Try again.' } + } + if (name === 'SecurityError') { + return { + error: + 'Passkey blocked for this origin. Use the Tailscale HTTPS hostname that matches production RP ID.', + } + } + } + return { error: message } } }, [refetch, navigate, location]) diff --git a/frontend/src/lib/auth-loaders.ts b/frontend/src/lib/auth-loaders.ts index cce1af144..d72f6e7b2 100644 --- a/frontend/src/lib/auth-loaders.ts +++ b/frontend/src/lib/auth-loaders.ts @@ -6,6 +6,7 @@ export interface AuthConfig { registrationEnabled: boolean isFirstUser: boolean adminConfigured: boolean + passkeyRpId?: string } async function fetchAuthConfig(): Promise { diff --git a/frontend/src/pages/Login.tsx b/frontend/src/pages/Login.tsx index 361bf7b19..319caee5a 100644 --- a/frontend/src/pages/Login.tsx +++ b/frontend/src/pages/Login.tsx @@ -64,6 +64,17 @@ export function Login() { const handlePasskey = async () => { setError(null) + const rpId = config.passkeyRpId + if (rpId && typeof window !== 'undefined' && window.location.hostname !== rpId) { + setError( + `Passkeys only work on ${rpId}. Open https://${rpId}:${window.location.port || '5174'}/login instead of ${window.location.host}.` + ) + return + } + if (typeof window !== 'undefined' && window.location.protocol !== 'https:' && window.location.hostname !== 'localhost') { + setError('Passkeys require HTTPS. Use your Tailscale Serve URL.') + return + } setIsPasskeyLoading(true) try { const result = await signInWithPasskey() diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts index 63237fadb..0141b216e 100644 --- a/frontend/vite.config.ts +++ b/frontend/vite.config.ts @@ -31,8 +31,22 @@ export default defineConfig(({ mode }) => { }, proxy: { "/api": { - target: `http://localhost:${backendPort}`, + target: `http://127.0.0.1:${backendPort}`, changeOrigin: true, + configure: (proxy) => { + proxy.on("proxyReq", (proxyReq, req) => { + const host = req.headers.host; + if (host) { + proxyReq.setHeader("x-forwarded-host", host); + } + const proto = req.headers["x-forwarded-proto"] || "https"; + proxyReq.setHeader("x-forwarded-proto", String(proto)); + // Preserve browser Origin for WebAuthn expectedOrigin checks + if (req.headers.origin) { + proxyReq.setHeader("origin", String(req.headers.origin)); + } + }); + }, }, }, },

*8OIuCFm;8C?d5^5f6AM&CTiNG**Yr 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�GFE^$gVI`!a^m5LnLx%wKZkNHc5kq= zb^#B2pr>zc@!frIe*K0ZP=nJ&f5ZgPLof>7g<g^F3tMF7#pI@*k%-NkYwMDtj1@1Yem!aF&Z~DFyVLS z7jfv8;v4~m7+!pBGkhCOL%bIrayeU-WloK3*IKi(uU=|kXsAv_t8#6j-BswKEOT$( zMWV-{Mqkl|qLM&{#1dS%Kk3JyH0QaVI1|0&<~3J&U_c!j8l&rY_~3G!n3G}S%H{dw z#+jjo=j}F!$Fl-0{;UkJojEfekw-H?=)-e=8F0gW_ zt&E9~s&;WZ`r*2pxBt|N>9a$w_Kln3=E_)#*cQjD+w$cVF3;}-3=xcxJ`5U}iI>eB z%7bGH+y~7yaC5Ezqnv~spEwgMR{eTyO{L5!E9KEux9^pwtMM~~<>{;d%F#70?AiOZ zI2>mqP{U$v5y|7J1I++1^UdNK7-lL$qhL69lr5SvrOdJ_8_ItS@WDVx0k*e1X)5Vj z+vlIO%C!Zc*EgwRQTuxqy}fA@eCtjF?ps&Dfjfp*lBWwCwPhG@)DW9&qSkl@U#Y#w z;U9{C3M2_x2wxnWKh)x{0XC#cP@pjcdO2+!n&RyQ^k_=b#eUUn*yrCoKe;A20{xhM&Vvs5aOIdv;=%_uiIJ|I=q@w-Ee08-4p34!qH|8@`*)lVW#U# zj8AIZ(bVn)6pcLyU`G~di%_6@rQG9=W;4K#M!YwVeT@~(3|G~VPqj+h%I*hO{P{Pj$aN;-dHu($V&zhpa(Hc>5H>%>@ z#i}03rX(|%O3IBQcs;(xeOV9iPlTP;Nc?HXOZwmOTH_X`+KOn%IPkW&1@U83<531g z*k(px^*B8h^4Y^N#m@918Z^OWl@osS#!8_v*sEfFFCRJ_ev$bO@nEtUD1uBGB8BGh z6*cTt_J@Il-;uu<8p9sBh14^&B;2seOR7wWtM&~Sd-ML& zruq+D@8*%IMIto1d;4aCIPq26YR!IR%)r*NI4Q|#ZZ_$s-qMc%7v`q6aJFiDYf!@I zo3v7(>Z)D+8<-`~r+Utpm+xy6kP8j~028?b_NGCW#xD+&OsPgddBKz~9Y9`yR4E@q z0mG45v%9=8IRKd0$}J6;y7vWVC2fEPBYH*MGPp%)Zob5!od%NvoRcSjv#{v1YC1af zi;(*e>|>Zsu;;eAOQ=zIg9DX1)Noh&Z2&ashkRCZT9EuVgG$(^@rkoSqvsVE>%SDZ zCnhj~_9n?~0S|n=>R(-w2Ve_)pbKak%U>w@VOtP4{ZA~(Gn<|StDNY@FRm1mRq1M5 zMKv|Qfd$eJ?+xwRP=Gr3)y+I&;b@yITKA0$=1INM@9WfwuPEu0@BY?n>Voa8=_kK~ z;8>g=cWwWqTiY#;(-&$J6RAm|O38ea2FGU5!(zur(+-=F$h@+7B7T>_ZMj-gLw9E& zk;dmVNVMra-&H-7;->busobaHrW~ljC#EV)h@c`rrTP}`sv zi7oA7+-7Z(vBd>N$wRfOZm|Iq28U);R2&5X-o3vfoC=?u4U=TK>SC{5`Y$Schm(_l z<6Rh=H8644@RE@B!dw9c(^bOP-CWED3j3T5V~5JAC6cgM*5?n_y! zI*x}bV-2o_5dqnl?LEZOz=jxQs4bMrlrQ|2ka{MaZ;-YKb8fF8?qGe zslqA!EpMsKuWP?7DVTS2_x5@U|<5+6891lIY0s~*uI~0IW*vV>od>@ z_oM&M7NQzeC%|>IM2bQlu?5V|^o^@K9dA)Cz`9_8m4$ol!;B^z-@nBLAz(kbh~856 zOVAEb{2Lp1VSJHG}+N?`O5w11&P3wxp*0v6cJJ2Ph-ZA~p< zRz8x`OVJdk86)JWSKEM=H|@)(C49pGrP<5Nq0rS=L-&9lcdaFsDG5no)~C&AQF2DC zGW2_ZVpep$vHQ_E*)aqTZETV%cR%9um*(NYaL4n@l;h(Emc`_q=)S-=8=~S_2Ha7i zVz5!m@K(cp%ua=>vhdv9;M&*ebCMLC9K&yOhA(~w&3GV9Ptp|fe>4eAd;TwbLCX}v z+Syfe7V_?x@#m8=nDH)9>g6>z@+|1?wKD^C?tM?}HFi!7Cr=A`9fh~AC-3h4(?^gW zWYJe6MgKOs-ZLG1k?*bA+MuYDqlKNma}I-`wW^!_^C%%=^%9K{P8Sj_lY=yxs>a5NwsW5 zkCcj<&dV3itQ7Kk`rB(67*$v_ybFPNxYlPnbiu;JgKGk5Z^QS}%*M~nAHMV zG<~Y;^iYa7bK;3=*uGM+0p3Z0V zyPhK6!OY16R)0;qx!;2~xM{%wItF2#$OlA_aAm&&t$;RLP%{;WhATurZ^c4Rv;2j< zDbWP<)Zu_s+{25VhJ{lg84H%Tu!u#rQa&LkW8DpX;OMTu@=K30r;?Mq%|5y|D7REL z%2(WVIR6~6_q1MzUg3$Ig7toFZp*U*v(I!2K;q>;JRi!$p>a=pd%HqK9i z#$`QjHyAqTb54&&m;>e=aGA>+r8Pd{w-|dg<@-a~_+^)Ni*~ZCEw1E`kzU~~*wHhY z;q88B{&xi_ppEaaV6}gRgzM%%unAA7>HE$UB0Wv5I=>M(-t?hwQio5yBh}=%VFT3b zhql{YnU<4Ho@Ko`f%d zV$SJIO660r$ROkn*ktpw%?$bSdESL`9XPJW1sI-|qbx$uxBYStN zj~l`i>qHOWR(b}Ky?h~Aj&Vto)ywhj<*ZkZnBHJ9pkM0_h4+lB-=Pa`dB)PdyWAxv z%wLp}p1T>{V0k=U+1e2ldKYN-RF&I$1alzxtk4Pw9-9K_3tQ7mRVS$rK$p1zA@hY? zp>tK?e)qf-hhZNsUGnMK`pmbAEM4Ew>+gnFT`2{Cw9@H8)mw@(NamgWK+s^U2oE20 zHjm^B1uaA11DvB9SAP7jT0lkc{t&LNQW^NFw7W?FgpFF^{1N(QtX-~x{)P=R12ytjrvvoj<%qI+11qh!Q&D*oJml9pEwe?h- zv}C?7TcQhaz$W8m!z3g#pRIdfvGrDZ8@Z{X^XSTX1!HB|-oxm0LYAd5*HT|9TV&O{ zyX*o35fQf*ohJtdRE)S*Dm+IFb5dSp0rS(EUBaT@i&?@1y}(e||0TzNDf&+sdM84G zHVt+sW0QWo1i$rhlQ!*6M9@p}8h2c9{*OBGPh2V+@TrR*pB{9rdIHJEsa#-vbOPY> zGs9$H47{ruz2P@iS{U>^j`N-70o*)Z?cd_|D*?L)aisCz7`0mWVju;9y4k2;1pwR2 zf#4CHz@Ya*1}mq?n_b{|0U|r8bc?MDp+?bPgM>RQl}mu?_iJ9Dwv6#bRJ>caQaXF)#r~ypXP)=otMWN{Q{#`1 zNhP%i$f~0cHW}qaarmRnDihIJ!MqSb_f4_e`d{v-MzI$rvnRhYojx`8Mh@jk#cri> znW5uM{>6)_n^p7oQGE`U4B2_vH%E7Z*1C@vI=0mo(e4{T_W0esw-TymvT;k~ zU0vDt^?R4oO#Vy}OnG$~sb+X&1Us=hQ0bMoHiOE?+TiwZNZH1&0L=;?2+`jJBa@g2 zieBmW=K|SS*)s<*D@@N%ldu78frA4qQvSAhdVVF_{LWzwVcJLvc-3tm)ns3~L^fKm zx(WpX2~mO-rQ!s<3De8C*ROTU7y5~7IOBq+CVn#1(8+qGuV17?!$OZY)Vk*vjiehJ zCR}!Pd>%Fn3W?|md*ZTc2#U)6J2vy~^j3sJCAzBhuJcWbkvsD%6apUGc_9Vu6iB$; z+%LQ3v&{5Jo4N3Cj16NY#PECXU|$J=Cct zPO%)!1h-$?`iPw*WFRs!j-5x@p_jjZhfhasHZ@&_9cs;ean<7&aD84{_dVshu!UVlqk6`A#SLjPXWF$MMcCaltUz z29=*(p8i1C`P+v^MujL1Wt}SAEY@gHH$1RiUf$4!(Bad$3Sn*OW@cyal2f{T;dl~h zN<}%>p32MjmVx2<4l3Ay(PMY8yfUT(R#BXis+(pY_-kO0@9n6@vi(j~MRD8Vg`drK zaZ1)Xt~r!Hb2MQ5KhK>2(nyxD#g@4D10%8!+-UnlX@47}o+xyz=U2b!_=FbxF(}U- z&u4hz9P#3ZKzoo4qc8Y z=jN%$tgxdp;%-ls-|i9NM5f(_) zSea3Mbd&=Xeifp3g+?6ce!N^-*Rpk7DelUOJpmYi)rIgYJ|2#z0**1~u}3%@MF5R) zx|W9Q>$M=4#?+ge;vMWhC{|{c+c&Qb-uF|wU2SoshAOfCmCgc8azH3}`>VayprpHI zW_te1=OWJ)z{jtFZ!h~&b@@^AygvDZRiuu}1^uX{a zb!Ei@fBKU!M(xu1Owb`MD=(jL-F#@hLHAMOer?wCIZgkjVaQYdub1wMbDPCPwT4j8 zN7lG#7^Wf@8!}U>rb$DSwM&uZ;h6J z7zIYBNtCD{Bg9xLT7mw_`!PS+{%kFedg!I~LwVH}o9COuXB2>_rw;G#XRY2PAI=b13n#xD$E$$(j@DM)T#XeQ zIch(77w@(jl)=6>-Q-SpfFA26YMJ7^)`mRFxevFh>4|G$HP!ghfvDXvNRin(6BfSM zsx-Vw19AO&X!|=oC+Dc%##6}oc+N9R`>06|josUem|oaJQqVsEQdZTTM-!8y6{{9J zAvU9>xV}RkPU3#&S^4nwk@DKB`~$-iw!5)5RW%FE-PJ$BqRI_WFHVtg)xO4XNL|LI z%tL}0j2i*yMZ)QQ<81BA9y(8V?iN`~C^hHC8G9aN8@^v5A zfL~lU{-AeXRs!CIt#&}zb#IPW6-xDuj~_1};S={?%9kC0=prZiaMtaJu4l&la(RBf zVQYT#C#eJ!u(QuG9QPR3SK8W4en|g*U8*8Kp#jCj#nPld z^36vwhvEXYBko|MAa&m-++7A{A>K5*y-mT)+||46v~EHt;Mg%|CeYIKQOu%WS*g7# z^5U*^VC>r&DJpff8(6WH82u^M+?FX-<3nHOz2 z8E7IXm7CXvG8i;ql8w zBaPaTAk(;T*;mMO;Z@z1Y(95fByX~m{o%|L`2gWrv5}%DP%Dk$n84hrx9=)5r+Q3J zezx~%y*C7FW-anC56^y@plIIY3aN) zJGU0Y>$Z^ML=4|68r|ItN)~`p@8xwu(k|7x_2Ho;J{jX6xtF*0!5Wqe$;=6T6i@D}-8`9#e-_ zIDbPl-iv%6XQ-T>jPDes(Q*BjDE4D_YSv)m(x-&sX0SOcD@|m*(Bf>?^;jw z=xb00xXy$oXP`Z^^76zVtWeW`9UWcof2GIjeOJH{gVwQVQqnYxX(7e%1(q)~HC=Ik zwK5i2QJiVf)%-*4<97Z{?7QJ1@{`pcU_=wT$$F}kl$EdDqee!c z(s-lgl$0jh+OE$gulmC&?k&F3(0xQR&u|#8pO=4bSRc%Dv#2%HaDn#~YHgJu28-3N zciIk1OWo!clZ{MtLtB^f9N1{%LqakFZF-_^R2Wrcvgz4%*|W^9Kg?!e^RV@1HO556VYw=o!#FDhwW|7SG~RKR7m#H2FAuPs*WrY7$7!yQ zxa_sfSiHIzCO6pg3N?`J`O0=~>VD#}R~^jb^uS6uN`H7r^-i3*231j_9X*rD@Cz%i zcqJ#NsN)Ll=bvx*Ve}1UD?)j{$s4e&jfe}D#~4jg)3CTb zvx~D3cJ`f#U9F8p^>k}sUR3^TUi4-NE@o#@{WTJ6&!Ln*i^k3|QAK>kY4&Qx=n&K{ z6g0%cX!hLjLGiQC8{Q4|SC=$W4YNwWMYMnJSI6P=dLnGYL+zm;pcaf9d0cv0< zradR>)C>ktzgH8YH-QzDln}!j20QDn4Gj*J!YjC}L{0PyVQl)9jTpDs6?2I){CUY@ z;>3p?bQvXiGaIzIynE8`8?CVCGR##dZ7)lJHt?I`7M4QD$s=MWhJ9SToUz_Uk5JNZ z#fL#Uwm81Ho=)`)v(3M10sl2DGIoDYj~*L!NBy)fynJDR7M(!l>T=N1_H!Pe!6J|1 z*v0IT|JWN(_{1ha0eG)h8wpJ?LlHL7p}|3&q2SX}iO-^Z@*EGG-~xIyzFF@d?@ub;8xZbOD3k_ zx=)vcq=e{BcEl}pA!OZg$FGrROiU3Ue%gXED!KH?$jGb2v~L!%1r^frM&mAB3G#j= zk!%xguDJBKD$E2(!xR5Jhx0AsZ$#1@j67RKZXh{RG zq?Cnm9aQs=#4Z;KXR8h!-66ik{vx%Hug1K-ubyZOf*cl}D3bFbJCkjn{1Q8R=Z&gH z$i2dZ%2$rE`noUbZ973CrxF%%QwOhJXR+UF%EHs%o#V39_~{sP9CNc*Gg`FN1RwJS zdWbt07D1U!I0$UoH8VFCb#`fIhaSJmu{j(UtxvAbXA!gLvZ~eZjp(9(G9Ee`y&GI? zbGSKoM?f*QEc4f6_an6obH2gUAJ9o>tdgTJzBLgw?=hEH%4KmV1_{%1V5f`MU-r!= zc8!05z73^s3E-Pud|UNSoASN|Lgu?W`JZ<3 zCCN)FYt!a*htHd25bl+GArOnd@(QkOPWB9pKXQu;N$hV( z8%By27gWb%t#Q5R{COq1(HbELr-GxdO2?M|Lq_X~1NtXH>IIE%p%vcPJ{tNb%KSwV z{M^QfiPWXnJjRpx4ybhJk1Qak@_MUbF~Vqi7yh2-p1-`hXSJAHU7f-Cq3w{HuAGZd$d)7&4Rq47Q_9mt zxrJY2$TaG+G9RzwR|=-DoVMQ31r@&e`RAm=?~k-HRh5nO22Fa04Hn*hu<8GQB?Yl1 zQ$c;oN`Z6&6@`y-($iHikLWjl_vF^LHdkM(vPRF`;;^Rc?DThsW|r+dfpYn>4-s<# zo$%y(=VQ(Bba-$uDLF=wR*3I#srZFe)zY0V4r?FT{=PR#W;AZ**Nii@@F}^Ps!c+N zS5HfoSUwrKc_L?fa>RnRppfkC9rzTwg~0@)`UeV%qTA@oF;+kA zpxEp|l_l@7gJHJsM`iigN_2F( zu!50tNU`#+oujRzvmMl77qd-qFc_nexIKst*lJeT1ojXcnne4vDCw_H|LTrIKFi;^e{*)uERKYwN}&KzWziM zURTyGeYV`Zp~q*ed`vsw?Ijs8^$+|(3>V+@x*whGVh`B{HS-M**)m0*`WQiSx{cwW5M0_t@99pp}n>5^PV93He{W}>q z;3Tpyd(N~tA8LIpy)O%wmDq_mLmHlzGaMR0l?rsshc6F{JDe10gw6tjHn_@>nMh4_ z$uD7T?K|!483}dNWup=EQY25AUVr$T%}s*2K-Tl;!(dL(Nt^;K&p%hs!^eNhwI}~^ zJM;Jb0QWlZ704?y6CP~#k2}8rkqvHhnxJs%UEs-+567?qT)1lA|0BK?|8e)yvp~vb z$-8jOjmd=S6v^+mii#XNdgps(kG)8LQaG*qljri?1UGvMNlHrtLa;zyS9^YXo|Wiy zHMRlrm<0D~7+p%DC3SL3j1>DGsnW_>k`Kgf3}*TLsc6qvB$(jrD!Ws~Ur7PIe94=P zjN3~pall-BgOsGFuD14x;G_JX_oN)J6MvE{vFgBQNi8p*JY)|ANLOxB8D3Vn4T{!R zALt)6e5%CYg#DKu5hPCasFfc#ogJY*88OzhmLuMh*x(WExDeRr;2_MUPeojmjN}~m zVa|u?$xoHzg&7))1claC#cBGRBvrE2s0JoK;yz8plqhl>?m+OnK=O`3?61SDR)(X#6=P?FmZ9>bZEHOxyD-yCfY5clN(6CE&?K9_T;`l z*Zo;V*^2Y?=LWVXCgFNB;O@E(C*SbrBv9PFvuq+Szw0HHaD4n}LacJm3}iZ&Nc{aT z7e%jt^}@mAii%p;#nmkevJbjH2l-9SHQ|j;4_v)fwKzWzKK&WIMZ<|&Tpy_2gI7cH zl|M*VdPN{s*bw-5%pX~reMI(m8=0NNA zuFA*dtq+x|;V#4!Xl-r0a)gR4>U+0IUdI==**vmHpw_K9-wK?v` z_P+u>U%6^XNJx~Yq@=4Vj}9cQ54@xu2;j)xu(pm9C)9c+0Djf2d1IYEe*O!qE!>3} zh*V3zJCN>nrh7c=YoA+v4R^NN^j00+AjBYWPQdPw2S1#|cbeRqe@^(QFEBx+0 zQ44ERQ-bcbu}p!RFUulD4feCF4r9(jDXA9Lj&ZZSvx{9Z4y#m1LgPRmlTuAJ7pFmc z3Kp!z;Lv-9WJEY@Sz8IcTecn;6jRA$kD|XXP(1U8onog>ZAUo2VNgk zycC?ubaSxV7ctwHMeV0pHR8kd@W+x>9;BL-u?PS#WTgQ$s(dT+h5PzX@=f6^uBj<0 z`Rmc9;4m=N^Q-q2dLaFg@%X`61x+hZ zp-WAvGCK?b^EbJ%Y|>*-LZ_$KwMd zrH}4>{oFifgka08D06?Sro+q-5q9ggB$QLHXl#0#N!Ma^VQ!5@zN1M#LXj3FZm`e( z@#D0K(q_b4v%j)9P_IZskoSm-f3%a5M#`Z_r3Ot-Ym|#YjrIB>NAq95erEsmSS+|sZ-SsVLx!u|w)N`zwhXVfw`jd>rTUVcz9{E`slj%D+XavFxbcu}gu3V;P zE3Ym2UdK0hi-Tjs+)3UH4FVq+1eB*6IkB|)7LI+re{t3cupIgMIQ>)FP$EyWteGVN z{zy00q|8fmo$9JvXR==2b2q4&zxurD&oc!A6KxN@rJvC!eKCk3m#VSkzvAW+woLGoS?;mRx( zluoswtV#e8s`-QF>Q&7k1 zh{IEmh_w5SmaL5zr^Bw_5|M;=%0XC3R{fCWYjeF>C-->@r4iGg&O5z&rl$gQpQ$EX z$*(|_kkQdBy)X|CuMX(1w6rbE{tc3~-C_Xgx=JGZOhV=FRSVT0d)D-Pk(9E5*AgR- zF=x#xVX^-Ft#H|Btu#4u^Bw`-dk*>_o6r5CrKu5xqwQN%ZJF61_(6B@raLh~5dJi{2$f9gJQ_ zH@d;7V+Ox9B-wkP=bY<2&-Gr{JAb8^ncID@^m#s3O?mA*;0=7Txylk^v_9_|XXieDikMXyROH|^!L27RT&~B*)d;u= z)*Lhi#Hwg(M>(V4$qX_B}5)wwx(@QI>$3*<$S z5|0~~xAy_m&CO+U#aC87n+l*Bry(zT6;D=jGZx|tL0|Io1s(Purk0Kh-N7AJzhE3V zvM)Iw3|7mV$=$0jJ2zWbIoDz}UV{^BeIdHJB8N!GoJonT*dUhvf z*Z$PVScA)S@v`q-DaFjZzD9uSFf#b1rd+u|@PNyGgV>O47f{k&a&F^$2w@7ef*NQD zoxb0cZ}jGc+u+0t_E}%QCV!#h=Mdo9Mx8%3RHV)Pke`=ttQbpgNprMmNOW~J4eUYp z(7r*`+!D%(*;&u@x78wI5wEtJJ^uLP55{(w*)cKa*}1v31zN-7hd-8;$3#F7OyU{8 z+<$uO6FE0{?oA~}ZLI>9PYT&#(3e1%=&>|6g;<%kC?Bs#29O(67I?vumf`T4tgJR% z1$$98dwzBD=F`&!HZ}V<-+B24wYKpLD!XwRndMCE^gpAeoqzvD7fcecapmLVG&zQN zUX+0c1@s5FH#y+pI*IIT7k#m>8wx)6Z`_yKiUPD8h!7YqoDv*PsM8a(Q$kN2#6DhA zcbySMEk|sxQPkF~O+{*Ij)_4@CQ4|kHwzbZ!Qyr5&D6Zi+FFQ?LvLy`ktK6G>`$$J z_Zm$tL5uS3D$q|*NcW@J@nLa8%uK2ZYPZXQ=tRhMSLtU}Orlu?@hFyRl#^m1*!cp)$~43?rp3a*_>I#LMzi{Jn= zh4o|@_Y>a~uydU+R^ygXdbG4Vm2vl(R=b|o<8+-L2;O#f^A)nr3Vme|7<<3&3td&F zyvriCJ14;A!|jY93jWdW-{tMgZ4cj1qr4hYB>kSPhn(~WFogdL6t7l2;DI1 zTAZnZC5+HEcn=DPxTE{NY}g10y4LM&!TOc-twfup670QPm%b&G0Ad262#Btc^+t^c zYJi&UOys>I!K2&u5tN9C@Y%Bdq-LooVds^cw^*qXFRzYo*uI^PMJ8hVQU&N^GV}PwC#;rih;2WZKo^onmSG$^9 zhk1>++NGBdnX~(g<|l3vbRns=!!mU0+@M+M_g3HD-A&Wx8;8U7s<%KJwi4iPZLM~; z&UPxQKuS-seku4!Hs3Ttf4KOQ0_gG|T<5nEK~3cYR&UYPS?y~)kKJNv2O}c?${e$H zXku(kVl0>Ch9E<@dj22)if8BD@2Ic2g@!sC3{)e0hWGc*w%yv^$yaf5#>ghx6-i0u ziedEWg8;PHXQJfz*mZ025`U??UaJWOvi4T9faPKh#y&5!-*9F_&rma}Xp+UyP$joi z$h9lvO0#{-Q=sjuTsjz}pj^J4;`4I?K)BLX2)cUGS;u4U+qFh*Y+jL&;k-kl--0#xH5|{m94?Fat70wcX*y6dE1qRWD^(I}lqA=jG>jwDSx;$nv}8;E?|y zbRt>yg`A_d#j~gKL9Q*&ie1};Z{(EU=g+od2uufVQI(C;^OKV;w=vw%NA^7nYV|Lz z=?f_sf00IiGK~&LlRanEsZbZN?V1Gmx|#;JZG_u{9+>hclC~Zjup*~dJ|Z;?G^C^u z;t^(L=HE;)3#R68ZdWhXiMTbh{jp@mw{~|lW(mcfu>&gbd4K7cN{;QG4`3^;FcVr= z93r;b^U*avZ@56sWSPS&#iwP&S!Uqw&vNsv$=2|cdWLBQ;;oD&vf9e9b zE|{}Cyj25zihU*wVk(*aLF(pSVp>X%(w=j2^l@==mg#R_7&+g?^yKi(8 z-^@r+DWXy{z9@&M%t*JaKgr6zKU|?2ofDNe+C=V zZg;haoJg~l{llzXkGp)LX(km{pp$!Srb6gC#xrshvdT@~UltyNWj$`i-^X>iY1go$ z&JF$!k2c6$R+9HFZlwgTp^r$Whfwu`Fn>u=w^dFTuH~3ED1mo>oR%ghXZ#l(nvpVa zMl3NopG@f(yoOZU;ixoUh{t|!8L-0DJu{=+G53+T2RmQq7SAsApmcq$>|Ccve+KmKUa5Y};}A*kdT1-QvXueh``iE=V*H z8`qcIK+DBxBHgc7LRd0BeyEaeZO2|jx*Dn9>P$aQyC1W)A0ayZUnTp^{A6UHmVDodM@Gz1jv(%Oqcn7*J(EO) z+`s2pBurfry+A<1BF@6p@&_e{YEW}W|Lr>h16>)23k&N*Ng*v*O$7got8<3pjraI? zE6$$v#^AqGD<>T**Y*Q-@5|t#cu<0_i2#MPJ^+YbKT)*k)EB+XMJMAPp0)(=Zkc=# zfu!02G;Dye5D<9A)xH}*!!iILI&;Iycu zqzl%f(;R!|k!e0$VRd+@0N*$NVTM zDM42&Y&fL_wC#vA?`+}2)D73SqNzQ3<4@Hr5?dB@3#}#^SS!jaq2kl;TXF5dG(->2 zX&`R&Z9@txP*3cgtta|dZimnfR4Y^U%qY22eRWL zCN>q&oP*OP1$s5lS*W;?_8pu`nRy)c=9s-X{=_z@G>}86T$i<7N46NCjZKi zYP>Evb2x?ax<+ejw{iOqyo}&AW3xWL+5#Xpli0EBTx*|Sv3vFxb@L|so^+KA>9B0# z&~3<8Jb97jaD};2)k6{ze$7Kx#)FkI{w#GQHs7<_#b%U7mln055E(B}nX56!O56vI zvA!Db06QaF&chD|w314=$2v0h0eV~krlR~QcORxvcu+*<9-CmlSQI=SJ_W*X%cQr5 zvmEs3D0c<7W`XTg|J6Kq>>*}+qJwGSD{Uf`uu~-vUuvtPcXUwJ8ixVKvtKrdh4vK} zl3Gw7rw6qUGjC!ii!2kImcEa!xf{WM80)z1B-&-GM5}eNY9I6t_qI|YOOvmG=JDH3 zN0i&aSFYd$^~q*y@2OvPaZsoP&! zT+~odn3_W(mdP}=f!f(W<>lo%_1z%I3yq(6pP2_#RZq44y}8Cfg^Qz9Vo8@&nFkil zJzA@d*^G2Q>JpS3ttT%c>xe6wEz3WYD*lwEBU|A*H95ZO7Z#i-@TzT#m-PVKsxIB} z{_|HpH>i4fg^R!e){-k1v$ZU3dRZbU*L1gnBG}`|P=Xlgwwrh~KQ}j!i3gT}q&gfZ ztGx*dp?`#=qs%`UsE4d;-`WF&$}ijhoq;mOym+{E+A z|7M(kT`5-o&@fxwy?;cv{w)?BxGZ#unWjR%|M(gq4=0x9PTOi}NvpRl{s>hF3$`%r z8}Ls6t4mB2$0~N%Yu}=FuJzWkavi<1*fGUbo&|C}dWk0h&9oI&zW2jtzp}o5fVjA8 zdB!)W+%frz#~^~{n(blxdC{t*8?0PH@?3AfwGBcb=0W?cmE)sgy7nW6&0fp)6+us^;poZF}hnMgac#^ z>=v~`BIOl2!V7S_kGnzFfd+ANao^3y@``v6QqI%f-i}ikf2?08csXC2j~UtlJD3eE zB|>SSODZZBy%UAF%m?1$`9})wEhyyI?H3UkY6uOg^zXD*PbkaFJ0D*_5<#4%z`0=U ztAegU4ljzUWJ7=yV}Ze3)ZAQ2Udc+iDSFj7qt>El;5({VKma z>4^AbEcdv*(I(^KYDATdYn8U9^7EB>8Y3eN{<&~cvTGxFPQ!lwqjfH^t^&I~Ye3}1 zM9|gfjkcN7$rw^NS{24TD7hi3(zuA*yVrJf^m=T;eJ`goIoMiX8WSPSkN0}%>h&_k z2NvTDg|S}W+nNp9UE)NXzBc6i8NwVMK4)seaE_S#u4EGcoJsV>z?!h1bw83K@!UCPVC*x395@)7z-7%Zw6#rsYS&ndM@>Qmri z5$U3oD z^5uux(;_4#*W$n`jZmzORU+hEK?1`=$wDdD!@ef5vXBFx8mT!jR@aVidFPPj@4r-0HWwLb!BQTFnnf_=eQLw}sOG>h;Gr$;<}l?xATk(weyup3hCXxW3W<9 zV!3x#oW*I+5;IuqZZXk(`q~#oS>ZZVk&*|P@u~(*D;o9|8vQJCVvR(RN6=@&nAM=H zh$3FR*|AsvWb=mxA46y6V-Gx>lECkj28JM{mf86S+?yCHuPOLp#T8M}h(42u#Gp#< znde3e1$83XEu3!ZwpkC4e_cZNU5OQ&|G6T(XS`jqB;d3KoR&m6Gqm(5?anp#NxTxU zXfXUjX>js($o(#~&qXf9L^0FvIi~&dMHr!x?M2oOAQT#e)EQB>i5KCi?Om3+r-9sbZr6!J9bbEjV7it?lD&r^L_&4+?`)!=E9Mt;K3{L zPIlMv7i1RuIfKiwv9S(0&ZU`OJ5iZ>^YJu-w6p=z>I*A#%${$2e{o6sb>Ck_d{GyA zEob|tcKhRE%8G(_bTdD{xrn&6`~ZE$!uM1%f)|s?kYn{bAbD9?jFYihOV|$XEfvcl z`A=4lY(MDM56Kg3Yt`=JzbN~~q9z?}64Tt{J0c%gm2C1RrxlC5YLI}PfP4{o<@wjA z!CD)oZJ%Rael??9YSFqu`zZ{_!^mNz3%j__$@%HllZ#E6AuHfFkc$l5daw$Gjm{KR>`kx6mDu3M9)l&Kp9j#-- zGdpV^qwtg4dw8Ux9CEAjbFQkH{;A61$rQ*r>c8%+H7m_k(xX%HJtS?;%NM%#t3Ndi zs-Nv5{zWQ3Jc^98{(|su?#`@V>wjPc9R!osJ$WM~%vE$c<+7oF#DzWGQx^q-Km~xT z!tHm15rh3S2Z;sbSJIh)cmv^8rb8Of0koIhGwSXm;6&iw%$cf=cW%&g&GeDTrMa($ znE4b*v)8xJl;%U%>>w|a+os#$P~UTnvJrRn-6Dkox>_6EI<@k150=L&=fnwU<@tF! zG&X#~{55tO5Bk%Ffr6qOmuNic5f`T=AmHlidPcv&6$Z@y7;1NUTSkS=9MJi)EVKnP zN)Va3V>;%oAFyh%uV@Se_qL67ue$W+;ZMv80y8?hBE%&W{+=&)I&02~<5qTPVbm|t>1$svHXNLir)Dr5Y0Xp>zSY@XC=;R{8 zVQYN=Y_tHXYBpNjGsx<=Rn7~xG}o_F5ukb;ERQrtucxuk7_AL%8z*7QyBv5fMIT zn4U;{K5(ScIBmLzRz_{?QM5Xu}Ncs@B0XUFX8-=Z{`CcT^sz zXuBsDZYC4f$?~I1+UjGYbuGCnt1=wylb;c4cN7)O9^X z9y|xEb8p-5rX{!8pU_B)1LTwIyiTKY#GEm0cew@b7}^2gRYuxk>YO~hCHpG2Ek@jjlJI5>cNhsJIG{ro&i%D^CIvFk zaaa#>Cjw4iD%$RqA!~jRxxfR&OY5grd1io@yTq^8SHX_2KHBVda2jk(dOl+JodaWi z4c#r&bw$#3vp!A>ILOj;lY?2q(Ps*{+nb~2N&>v1rgPB=)&?W(`bg^Wl9(*ec=6XB zwkXP$JX2E1$Yiq2OiD|O<6ytzmDTpqCPSmtYs&h`Ozx*)_Qu=GWQsZ&Y?@k(Pz~U} zD7-|OcxOI3GL~T!=+57Wc=0Kr3tegGS)N!yH7d5=N1at`&81`g7>tcmEKxT%;ADjQ zcP5OmQsUu7yB{W}u;)xrsV$OO7qa*b5PZ>B>Qg*5V(mxyS%Grc(TmQa5@46${5dU~ zB6u}2p%!&_01h`ZNocYpi=esammH26LlM55TSuH2t? zn(D!Wvz}bTWV?CpGZExaoq+3H(we#aI-8df_GBX2TPWf15pJFVZn}H!_0r~UeGGQc z-bdjs=*c&%I)jQNrS@egl;O9a;}x>})(s=MFl7w|t#MSK_Stj9APM@btFFKr>ciR8!t0*GtXi`n-PqgZrtQK|!6Ma)0OqYC&dJmGZYe zF-~nLD-m}Cco!R>4^2u$NByorJ1aSy>*17^Xe7D_AE*sEuon$Xo;-J68s3>;ut-aI zaqt%SEiMw~mUa#gD{%?H-7ZT=k#k$s-sJuS<7=#U`&@pbk=YW_GX@vPx`CqmyF zXc_9aOd=w6Ds1#^!UoXli9N$_wyRQeR@wv^0Tq()v={0|jcp2;4@G?0kIkGP}Es%z8?#MK&eZ>C^?y81e)Q+70|EBuvdv9* z!93D4)Z$Pu=vlT~Ryh*gk-Elayp$7Lr+y@3rCWO6tx+yMeZ+{={Aln4wf@*!Aak3! zk6tgGy*>Ik($<8AoVBGdqReEG&uuiQmyMj$6;~AN| z0jxFJ>a-{4g`S{R;P;BDTL@nZseb^*HRKFsKG?QOpfZ)rlbs@aqJBe6>xm&SUUSObTcKq=?8(`L9;D*?aTd^j|tJEp{xA)3-?a2T*{) zs6x86N&~xE_A&Ej^o4NJSKY`0S8FkAPQpPy^)C&$ifusJrwe72$$Mh87&F44Gx1P# zbd+{IMpEU)RJwwzoho+vBM5K2NC?zJyk(s-7VYhl;<~pr#I1Ujlp}!JKC55R*o49B z?QI4|Nh#^PJ^StoukUm#5eF8n=h${hKP#qwEqEOU+zJ!Xi1y8VHZl`HlAP!Qv_&ip z;&i>vL46^f$k!dF5zN(JDyrtr3~?TJ!YXHdACqX;EI$IQ2UeL2(6Cr9^))0#>56us*0x$yTb!T1Lfc}k{kX5-%g_&&ob)vO+#X!dbGMZZD$s`34f?DQrco{; zWv)j+59(;!^NNAOefV=;LJCFwN{BgHfTTI|XHR1={x&BRKqww;q}M6JW8H?^c?joN zD^!HeLbfi4zd>g(m*;YH9q~%VIuVq0oQ9~fFx+Fiy{ch%ou)2gxf6i9crW7DTXemh zj8phq&TukrKFYWkN)lleMhZ@AO`EE$-goW*3O5!V9_5foYJSJr9JIsU-Z>zE7*tfb zc6hluQ+|1djKk${HMO~;6($LUwb^ux);60_4-S03i%I|o`xX|QOs`#A$YDP>JO2Jl zvPlUa|K{}jZg#yz3FYTavf4aMR*zn+C%uIi&&}Oa)02m+EnOv}f|7Z_Wd zR8gVEqLtCxY8ckk9wTtDKlM}r(0zj@SqzNNuFlh|Ti#_e+xxLtWNBq<%S8iD@LRC! zm=hlF03uOPBS4!eptlfJ|F#{RU3xxQ<@(1J0Rt@Df1U^$ILuYCp={y;syRiGp2Hu# z0kkw%$yxmueTcaUh(2tgc4VtupXVvMX{`do;5}(A3JTI#>&0?iPU*$_jtZC-$Hn8P z>lemIByP0`^oQd@r@}HOCg*7w{OddOkc;#gS0nSvPkLKA){e6EMiMe%KHBA%U}ZsF zla%DOTiQc{<_3L^4U}*-_jf!X>N7CfX%QPbmo8p$i#B+b13q1GM!}NI8UzvkUOJc7 zx!kYFT_l-Uek`d~rEGz(_MO*xol#VlowY%J#sHe15#)d*+5?K$@bl&{9UJRSDgXfU zxu}~yGjh~)?-V<=#o~0B?!1o3l zvC9wHV)hqa8&oVqR!B6T7$X|{$<^%=1pdX~aJp;~;3!Z3(sAc~A0Fns!vt9TfN!1v z%_b)kZtCy2eal1@D52tVBu}4#V5lHWx*KEBfony{OL}RY=9Vg=PC|*x8}eY$U7;_ln@B-W(7?1d|lf^j^F;h6OxHk24S6y!l*N zxK(Fa$7D7>AkBzZ8CauIoJPbJH z{R`qq${F=PVZ#<dNF5whac@fRJ0C~K_EuJn8{2iO!) zYAwqtTj&HMoBWEx!u$ntf%s*Hx(firG(CNa&W?M3fFDYl&m6fl*4zM9Nf@~Bt@C*K zK9G|&IBhZ@m(%wRUA`Nl3srE3C*Ld>Ulsoq$`Q>^0W9 zIYfGiKku>Dy-pJEufajOsQ?rTVzfcA_l3D>#T2yUwY0|j`si?P9-Wz;onBm=nOY^I zCe=_=vj%g_GI81Zw^YB&a?!RjV5=xC4GqLD?(W}#00C8uJ3I|iDv@p8)mN;^ZuKvs z?5ymzSy9|iK%A-mCeKg$b@L$$mvHyxbT?CdSv%^gj}$@CervY`NU0n*)5TV%%*pe{{08%WuJr`y`*IiRbv zO&MY+N^lTcfnbnKr*=YZ!npgZrVd6{R;e1-M;WH1o(HM8(Xvkq6au;pv;%{K_h=5% zm_FSvd=SgX^Sji}h@{u{e|rCHn}j5Fl=6U(Ejl)6~Gx*;cwl4z9pb;u&vZ zW=6-*Mno7~L-G38JoyXEWZd1_%FJTIsWLrr>Ny*S-O7Ec;~I4gVIG9UR;ef{MT7r` ztV9ST+u7`1^^CW{kvRuJsj0xAbUeB2B}e7vS5_Dx{1Sh&ru@B*{)d@m0*+2r`c*BC zkyXf!|E8<8OUFMR_;E%7#Pi@UPX_LSe)()BJuIpbNU^~&fI3<2D5CaRg(_V)Rt|`d zzCoe$9l{6CwpbadU9G2jVnI}2=*c@91aXr(@0zgFaqeq3{t>qI3gdH@M9Qm|nD_HP zPGdhw&f^4ukgYqoxeF=3#lkYR5L%_-l1_X;_peQ&;IkWM+jn86&0nH^;+MAI6=!yvlXmCug3(&Mb8$#c8DDx zn|PUC_a-U!Qp`otZzmEqD{^abt=mmf{h?4j|` zp7Rx#AT}1>)2Z2jC7-`-YRYL|HYvBVI61jD8>|y`-`K!jd1NCMf7*x0;~@MbTuC(m zhm%4yzuJt7t8fR?2ppso`I}-~r$4C~XOihl504H4Y$#Um!KRN zxR187C+c?U1Jnr8r4kuM0sJsLep^9@YdWEMnfHOIM&tkc>$Uh!<8^6AzGNiEgjQ zq#cfxT?@zL$8TTKVMIkK;KC(gf>SfgM}r=2xBRQkos^UsvyQ66W5YsS9d#b-1sKsk zg~7{QOxqf5P~h;tQuO<9Zml2s^xm>zEVqRKwQhU9f#nH}TjGEC37E?7K|jlO~_Ty8$c za|*Yt9WZTgcMLh=UWz%L}Jyt|>+(n*Kp> z0fjvys+aoZ1}oj29JN89o#t|U@ zwcD<&cE@AQeI3nhL#jEyuy7~rmBbF%U)1b3X%x-tWPpSYTZQW%KgGry8}$ti0){4v zJlIN>MyIa+Eu-np<+ZP}BWl1BBBRY(Kf-R4m$8=>hj8ow*JGv#7QEmS_AfM09+ z2OzVw_ZDCE8ZfICI1YOS3vKUb3s=3~`8*wRC%05YwW&NqCSM^lPZQcTG=ytH_Ni#e zf&qCYMw~c9b!`=SWp-tnrSjRRoQ8&yqEcMAm4VAhW`1lj&~4*to+lTQI>EeTZr_Jb zmX%dO5c z?lLr*Zqb@B8!6R~H>!DD=|=B*gfvHOz$NQw1nmo%9x@WOJ|jWs>rP$rv48R;3S8lW z1YF=i0_H{s*hL9ivTiE9jS*hDCIG3K?B!&ZVX^gZWMz?#`PvFBo^JwACbHE*A-_9z zC0m}&Dz#aff?GF+>2B@qmgClX!&(BHG&&b`Dsb&%orG&5prpnRTS0bI9?`_78OKv)u~ zjz@NI{>0}@5O6^$udJ?T@*=P+^iJ9pu&9Vt>_R}1oLU-vrzSmhfGrWD!% z;`V+7Kc4N*oCTkjP17)yFZY3QZyhxT=HIJQ%kiqWj)uQ_5%$3L^=qjZyF|^$KMEEB z!+*k1`HAA&Hxg1Ewpku&Yh(|9HShId6@JifvzC|tYG&HwuxBkcHpanx)b{n7eK#uk zEw8q=5JLYh&^oc?<)P8>j1P5qTu@%ShoxAgZ^B+Tft_7R-60}azuamyBft7^j^=1X zSIw#$8Lva`jEgLCT=w&=!xWn(3dUC-EEA^te0~y9>VffCyEc-TH?a$}Mnaect;U3^ z+F=eRw#7!Bqr0rMHq8TsQ&aL_=zlv5jH-CK6ew(NTrv=^1Q={At%gd3p5@VcbbY|g zYD11q)vPGjqnAycfRU4ZG5gW?sMKS1d49)@$@9&#?X68lVU2Bku)^vawAbp-mnyA> zeHprhGF9GJJEdxf?bD|Xwjdc3q5k6H;6~r&=8i2=$isaE76uMFGRQ1iX#%Ll--1?)>5?+4|`m< z)jm?$yQAu(-IzTTxpxyL_RfkCym&ZGdL3sN{ku!K%h)0h2~=3OWo7fHQ{GaIa#8aa ztAI})D%$W*FhWoC^IO`Ah{?~rDaqFuKbjmFygi+PJ|_{Zu~kDwBSc#n1WF_SamSsL z_PaEmi;n=AXI*0;?hx{@ZgOdnhTS?rd&0Tbu-n+VMmwW-Rdw4;;Z;0Bp|z7=*csWh zcErtPJS9{%VYHm}nCyf$E}I0G0bUP}xEX!W_^1Ki#p}QJB3(ylU*aqAbzT~nk5;-( zPrL7WN7Ej0Lrl7^z4+^+Y^<%W#P`*zGL8E1S(CM#N6h9~Xg3w%?F;^D#21bzDAk1p z3bJ=SBVuAH9!KJSXv8`2A4K(1mgHl@C0NrSJ^nk|_bhBuswzq^4dxzth~en4yMIrT zf?VrryYT#RWHE_qZw#4z)_4Mx*LnB{~*BMRa^@F$+R8c zz5^ZYw&aMTMX`(vbt=#w%sQ!;4bk3B{xT@S5B|^MnAI63eev$E^WfI*VhTYE#z;p03fbhy|==xr-|D?r=@W*VC7#YHTjkPG5-Wf_@IHOB;Y z%#Ji|6BD8`Y8EQ&%21Hy(V3!#9%c_?*+iS{(qv@In~qgcjI$xc(=>~zv%SXENDix~ z_I$u$QQ1O<1!;qHHec0Q8{p(t=lL-5-FV!OJ5Cc`$coHo=^*{~tpT^|f~Yt;V}K#q zb#FYsGXc&Gbf9m(Uow~NR}3d3vqj*aQ|oX#;myyF8nDiA;I2>ll*pxBL2SyxZMQ00 z5X|XmXX3K6x-qP~s9amTx*UHB!u0hQk4{;E_HC3^MTtT&&`$T8R^SvPjPlVl$eGJ3 zxNRm@7RZK2yM&HIZOV&vhL40cT8}ear;qh-Brh*TNQqhWVaop6o z$9$07R=AuvI+0$H#!TCrE#6rT``(RcnG@zTHtmpFo?YTaHyQc_)jd_N-pz3rQ&9Wz zKs_ri<5|DAzjZYOKuZ{ej=T;ClACLy*Sc|xoeCKyJ%4|kSGHnMB zC4FNf)qs4DC*p03WBfwg+ut96R1APko)5k@J-MJ75?SklnJ-+bu^n!>E9N9YREj;o zgy_!PlhWSWXq%vrrMylm=r$l7IC4&wwJz1SOeU^SmFUH2dUy&V7!i3{Szd)!DQ zD^$I`lIiBRsi-O4D4oHx_dy}D(#6rm1&zk{o}W)!h3|jRwVoME9#Tkq4vVQ1Fj#K^ zAr9?Zn>Uj|lvLSA?8h&kSs|k!Fj~ZT$ z=7(-nLR*(jvJs`>AmVS0nZ7+dELQ#Yj8lwyC7S|%?lcP*b;i|y(Fzz2#rok#O}ndH z-+nPbItvW}TLrZjWaxY|~s`QxpbGwrBVdM5WOxj5ww zInDB|+P1bH;G1nF0tsn=RvW5BpHX0CX-v~7Pa0TVbZuY`#y?Bg)>&N+BH#G5iZXds z(bT6QZp(c^yL~3j=lv7^^noU6WVcaWi*GD(Wn^sh(cF=ZD-;lL?-}pUznV_V$a43N zJv?XB1A!o8;HMc`#}tR@C>S+);wlUnE28mD9b?e0@q#&;!j-DMef-gcz<(jRM}=DM zShnN-cIVFs`2jb);<9e6$Pu_Mxv(=sH@G0 zsUIw@9|r1Js`CP@{e*Q-E9bxJLL?dYC#jI*s-edw3Kd(kkXH|$%yJ5kOrsNng{&Cx zs#Lt*S+|2y?@z|7jLfrng~{Ao6DTk|0B9}coUzGRVD!&XaZ3T;+*d1yM@E9yu%Zgs z%kPqrT_zpt8@eHN{h}XctZ(^?S60?@e0+Qm>Y-)fw7d^AMLG~sY{gIa^|@{)_WACES7f;IQoHAouCy~&#i z9t4pY#D&k`r=JGd)`0=Xq+hyKmUn(_kRI;6y zhfGgU%2u?qi)lkeTvkIn@${6v4%35duLipgYYebK zMyWZxN*`!(Oo)HEl(bslPtr`z?)X@=X70z=2_%DLYhy{4&y ztPYyO*up|t(?P+v4AK0&tmrkT_Xkn7|4Ge92^lf#nV?eYnHqfa(>3{6JR0@0AY;sH zHz8f~V9C-tXkuoMsJq5%7E`Y7P&;?GZI$J%atWMYG;N14Xq(XQL*i=%4Vsc?W2j;| zgtn05By^Bd$vbx}w+#_kBIz(roT$g&nUQUhOw0H z=yl{I;f|l41P4JemQ@&8^Z;M)@vfAcJ2-0z#R!WaId|44IvVa62g*G>A^sMDtB;Se z1`hp_%CBNmFx3-)$*|dV*$*}P&1?Z-fn{!XX~xf|bNdxACIj1M;pN4t z>fpho96uOWPVb&%Rc+<2E;%w%>QP*ZUZ1MFod-R2afCu#_0rOmmh$sI$DCn*ijAQ_ zc`bdYpjM8ErxnEyCJv6hc9pXS%3420+cMlZhE-%vGgMPBt+4V{=lL>g`3#X6<@GH0 zN+r;>RL1ngps*iTZ1Biiy%(ED?_C=6{0$F4=+;rF?Cfl|?HuiVjk=!WF(|yGw$hI2EwWNEC^Wxu@VMZik0c& zqN!h>Vpera4s>=w7Y*YFhw)9BeCIe}@ZXUvar9GNo^fKxOV5-x6mZPU%zUaUo}3{w zv6GsRHw<@`S|tK2+eku0ugNmW^E5llnb}EKyU;e%&jPak(R@aM4qvBvNIVj_gsxrP zt!nl9{=`n-__fg|afQ2#1%LriQc}6l<+q&Y=&0e&WXBIx>FrCV^PneTAm|#|ug6~8 z6lAvTXeD$|U~Aal{S#6^g=gG6n<{E_xa*xuW&3xAAA*-Wa|e+p=L)S3wluAa!bA=Ok;-3?MD%L9`&A_v6ND2r&hVt5JTW5A5Kvg(ZMg=rSO(G*zt?3{De;++1SmWNFXCqh@9vuxZHq(yK@a znglBTl){v~SY{fKDbgZ0plngI>FYxjEPx)pjb9okHQwF#nTpdL8BkHycAuLTf%4W9 z^(8PQmX4~HQw~vJp#nsBmU$-`j3%1LuC+n7+8%IfxAD0W1xwa^H0oSN$Alx&zCb4q zlj^b9t@OF3^la|o0!`;OW3^-umMzLxgPg9o?K9n7(Tjh^>z0N3;X&a?0X12N*R~&Z zt#o(Z2rf5EtMeFsk00^bmtG#{;*^0#=7Hs{UlDHW=LOCx0L>0qY%X0UwK?br2J4`X zfJ+Nz$*#7keI*Dt#OXl>kTHD*(rFz%H#f&jIRUFu=UaJbHHPrSC-lQ~I(TSl$0Wu( zeJwK8L-%+udJTNEYCE%?O}HkV=muTbu(7M03)DHxPOsG5cp(R0OV^fY(rW}kQ#E;| zAUb1hc2-kK-UQ5mhSAIEME42G3^T@A0;2h@GBQ4!O^+y9Ys=m>QeH8h>(`yq2x$kg zzTtNd+l!0lVb@Kd;29yr&w0B0NJhOeeg4bw2K3?4Kiz7WI}D`=8^6N#aW+T+$Wq2J z?F^M(CwYQfdESF#I#G!?2{`I63{GHG#Ydt+`U8P&B1kOG%I?1ouhQNk8!HhXv+e?M zTdZ1}TwUf=(z9bW!9n2j$E%hJx~arvRUKEp@txYrtD@P%JH{LeNPuPI=UE6jbN`cF zukYNh<2()d7NO>9T(sfFr8uVKc5WZv;yXx!_}FHfN4tiG??@Q&Ycvu4xJa$0tgf1! zdAT4aH4NG}%ncX{C6!1WK8HKB%P9pm2bKUVT99x~{?rb(`SEkO5-{*ra9Qt6sf9Xy zj?H4dJo?WCqWzjF%b9XpQPI^OtuQhz@t zX>fnR6SR#rK>i=-_v25nsZ4t6rBVl|Obu z!{?-#^n;Pu{vi%7^AFPYN2&F3Vqw||ujh#zNKS_z7A{y+4-L1riX{w`GXHqYYHh6n z!%@yx@Ua124dCk&MiLqfRnR#FG zSS(FUaO|Gvs+F}h2!Y#J-ytCO2M3yfK-e;YWRerA^KYYMD6&E(1NuZ*Lp_G(`enpC z*$Q&%uIx!FhD-6tIcaGq=M~zI4xm35hv7o?GLG#OCBMvy-1&J7VPGKvfF0XERS*A} zc>g=e{R_wXMFxTo0-*8jJ^-L*e>q8(`>%914hQ+gi~J5o`}Y+6!0`Y-{u0PP!~p+` zYx)Jt0j0tJ?`dxTAHoU$>mAWNMF{FfLbWW&#`>^2r#*gn^QJt=Ed}BWkhzB=aS8;1 z<3Bw;rLwa62CG(fF1K^S?~c>cUGo1P!E;PAZ^;60d4rE^PJX_$(7tqPsR-`5aOGsm zYXD~~4IVlg=p}(`(rp7iRar>^W*!n;DP%t*Y4Q&>Hz9|8$VnCUcaoQ8P!0Q2uAOV3<^q0 zKfglJhF5qeguJJFOK)#RR-q#9?e^J~h3#Wwk`VhKFv-6?`>Dz(4adcMDTN=;V~f@+ z>f8>n?1|q(r@ste;lQ2oFIh7xbu<53F8>#)lm9`k@rW5bBtO5OkI)jAEA-9%-uL>Ki=YQ*VY;M8BjxyUq1sh zqil8$f`iG0w}&&RKdnY;V@A_9GlbRAFhd>J)Pft_H*eAl+}dCNKIU<>nQzz8(fw64 zVyyDz;~pMb!wi2z*&6ix1Ylf|9((xiho|0rPwws(Wl0b|h!n2Y)KZ$7T|vzx)_mk} zex%;!9T#_zUGfMx#bH{nYs_3L-4n6 zf*WgFL`+lInIr@YqF44>d-ZP%ZubE0{nq?(O76uw$E?V=IB-bB#S0gnQV6m!++*S6 zlW{j~nP;usD3Tp_S)7+`smwKl{%GjsUqyKz?P7O5b{g;xydD{}Yrk0Fby|XpV(i_H zx<_N}I>14Acfw*VH7;Eu*@OqvjF;+0yXB-;w!K#QQ*_&@X+?~E zo(a90EgTlCW)mqB%?496;ss&p8Hq<7fZ$7TT^Jx%sZ~sF4T}0o%n$NF4{V5t_Zz)~jC{s$jGR&nvvf|}Z#^@6PvqAL@7q%bZZ2MK_kHF^p zCVqHjW#t2YcIjfXG-h1w`S$HN+jP?7IZM39;i3fJyJck$T)F`_H+S83vNx#d-QuZ z2HGy}0`JZS~OJV})eI+eh_R*MgJF#Yy?>^^T;WYi`?tWuJ5%2|M!G8?up%%VWIYtVD+OGYUaN` zatsw{*@lBu_fl}uEDz&M`%bZf4!800V+WklM&`H`GyO}ZxLB!QmdoQYS6<~iC|x#& zSi@Tt)t7 zU+%OYoPd$5|AYvVVF9}4=@J{c082TkzI8PPOElX1Okx6jL%Swj)0X(Slb9F%1KjU+ ztKD@?=LQrIIgAzW^xox$->c)CeVR%ekSK7QMaXI{?yiJ}<+V)wJfG&Vx8@Vr%b7=~Jvn!BY zZ^qIed5u)6>r6m4C4ukGH#QbCwkwRBLxMviC@x>Na1XpXKYa6g0*A%McG>>kzH|(q z3ov@?r-^}~`i<)!R5v2Odpo|aSR})=lc#ECJzdy*fAH0jlhuA(q=DJ~?km83tNEbX znT-eBtS?<^NGEvlVg}^Cg79ABqnq#6s<(YXrG?v$`c=bopk%PN&y|(W-7!E3(YCXb zyKGs9nJQR+@5Wz-93DoUcPV^w(6(%O2oB$hAR${FM~6qJnQ0%XnZdhs>NfHN0zO&R zYR|8jAyZ;eg_qT+4lz}xF)=a!$;W*$k^IXwiWPX}R34@d(^^?WIp|)9imzi}Nvo|z zI@Gx%r?@f(u{P60Z5mCbc29^bcY~0 zbaxNkLk&ZG*Wlj!oPFMN&U&8pu5YdHyZ_j;+}wHH*L~Hmeo}G&xfbA2y*@-B8yHx3 z3=h7Eh3NPmIwvUb31{DqXR2~;c1xHkk>7>i2{lZD?pAQ_v)MEaka&#sndS=Qs5C6A zy%|>12&*}5G`h(VREAsBwGoCpdfk^u0NO+%{618M{A~QJBtLO{xT3oca(s6X*z2E| z4^n`0MMkrsBIC!^O5{^sOSa}~tQY~}{BIi(Ra?y8V(w+O?%Jc~bgay}BU`kx+f&<@ zoXuet!vkME-(mBAqwL;f{mqNMk>oIWTF-J}-3(3$xprkbUW&Xbg^8XkXUW_TQjjg1y;OeSN-4y%(M&%87hxW1mkWMdA2*0pBJN7zwJl_xy zo+5LT16VCWwDX@}*!x}(m%#%ai_j4A^h$5|Hx*iZqjY#5ryvJ(&4z+nNz)foA+U?* zS$;wCej`SeGwyOE?n86a+uDzSAlz(?>u;$0e-LzIoD%$5;Cmj1SLsq@#{8Pp?j^}! zG2i@~e*FT<_PI^3o&3El50cw0!{?eS0Xe<>?+Otn!#4n4+_K8-p=oqE+)QPTv98Cl zSGxA0m7;Hvgv`~GAAc001DK4xl=zD{-%%1s&cnkfcmS3++7AF5A8KhjcD7Hi??Nr7 z&F}mQ*3AlJm;7L^wtUMEu|D=;K?NB11GMPQq<+JfCg5@Bx_tl}!p?$f03GFFobZyG zh4^GBMy%H$BazZb(oeL=0lwkzZp#}+806d4F|m1|D8D>K*dRJID_g&t;KxD~B(LY0 z^LMOU45XhN@;TI$9^^Z$#gH(?J>8h$1RtLqvn7!FsYku_&-*=CyjPy^Z{sL-)UwO}jGFAi|b~!L9pV^_9zWkyUlFdSWk+d!zYTP>fDU)LC2m zFc5k=n2G_BMvQ^GXOVUP{>H-48qgaW%1?F1wJElMzJ3QBlJ8HpvoWkM*Me0Sxb!rNI5FnSgNdb7UQkE<30G2XipA zUTFQvRxK$n31{ZDILVT4{~&J_LFsyICc&E zpc?~*&>Xa{rKA<*G)(lhEUP2%0qz$9+$CL-^?Pw}?1oR)P$1>Yk4R9A+t1(n*5){^ zdcTVN{KLT5@(1kHRsf)k*huFQ()=2g;QA(ZZc2r8=~tEvaDS|+IRV)}2t=Q~<>^!J zNa$^4Ap$;r{^@tHd0?Va$icEXaaTefKk-Jd^@r76YL;V1IMmAyWxQ8jaW|7W zGH@p38y^r67X>d&fgz=waJ8y^Lfzg}Si`HvQ1gxfwtOiosOFg%tMFnV4Vbbe2(M*; zY@y7k>E1>y8aWNdD4@k*o_`0x{-G@giDt93av?Ovvtxo>XqaPyBC&=Bl8tB0Y-amV zK;4GBHBB}C513njPFB<^!A~eqmpx-hd&iAj)WgoS#l^H_{!^3u^+v;;*;L2_~tldVOjk2!afRcp&d)!@p-^YaQ7r;N}Y4MWtTa0uMlJ?N<|i{)L8tC0SV}JNt*YK{ADB zF+W37jgFDmJa*c2FMn(_>ZoAa-<8&X-4CFJtcMma5x5$(uUt<*E=G~x;bLTV->c+0 z@8RYICM7Y*R}Y&W#tRo1{rYACWPZbgLszbOw|z)WF4~#mHkVoZmVLPe&8o0>nnf13>Z+vjAc7vZAI46@!43*JC6}*aB--dK1%g@n~_MUwneF- z|0Nh0$Nw%L7-a2{7~AVb5q49UP+D}B=S1y`8Td(PgfyetzSRUfwVH^7u(l?iX3djo9r2zUo9{4`K3ge?<@c^80j~ZWmwCj0YNVuJ1u}&Xt4pqi;F+Y$``vt*B*A=lb zAVc#Sq?BBxYx==~AnjGi=d=0_|Iku;0|dRn8+(}Px@->j?x=~G;A1N5re@fn5HFH8HCItbno_zVEF)U1b6vb)EWL@se+d_=Pl|G7*500?sb zXH9tg82W9|(RVzT7h)oziwc50GLgB&5AP_BhD``nn{lard^G3adK#K#g0iR3kh}OA z6$HW8DB`dvYKAJ$*G&TYYt1lS-Fz!68;)C(f`SN}{_mq()XgS?GFmSWEmK=}hePLn zCOOh-3U^npe*wIpY!%ZQ9YQ=}8^`IlYb|tNblCkS89g3CmgWC%u;_{tA`C)whwjO+ zC#I_uwl*`vY2Q$t>XUa8Sm#qEKlhn#p1O<2)dk2gl#^A|)bxyj4WbXO-`)7xm01H? z52*-(bRgKsXprmZ?=Pz^dC~v#$80#Bw>*eD05V14=xUjlor9gJl_|e^@@N@UvdBKI zpUClilu-J+EZ<(xS^V2FS{*nKSmF-8|gSH7p48La`7B9BRDT;?fm%n z#UMS2#`GZB3GrrmW@pyw?#Gm8&Pa)J)D^y}^4P@e^gTv~K_;F}1uV>no|T2Vd%HYQ z{K;nK-*R*4a_PER+Jw~s$MLIswFTZKY`qHtpwd6*5WigQncC->I;bhiJRBSxx*xXC zI35;kzSbklW?nJV#L8Hr3EYD=&MVD6-Q#fgz4fnvbBaK*&UM>#CRq6`^)*XBEos}s zkUi(gplOVBNKnpHYSmwpL#*37F4 z50|kYlHh16PneRFyVaE<@O2{gUfu04=NjxWuZ9NzGoIUI+?mcB^d$PDA!AjG2b|}Y z{a%y$$hFpiYiz>!0{dfMBGwc%Jcot|7mYq|-ZygD0ENlu3TkfDZvlDF$yS-Bz)R=X z8A^65#R?{JXoCqO=E^lL5XAZ8&xLW|;+I`aB_e?61D^FnwYgbY*RNx*^+>XP`9r8Z zLoA!lDn9-F{Gf!ju+GP)EO}#P7BC<6>8sf>21|yugZfz>q>0}rzGnj#K*4a1Yrt%x z){XLNlapp)5^$sqhW<$2fNuM1V=)YvfNPVL6!Hz|o1#~YBpk4%L+2{j zVq!@LKy=;CKCb1ou093Ph64xxx-19Fr(5{JPEBog{9X<3UmJr4nmltZKRxa(k#9)RlGy2dy?{DecyNO8Ho-sUew zdB5LZi^`B!y}Kst$B~JbZc&T~I<^|04>|vW`?uZcy&>)$XlHLFbDwWigmprNR^m7K z>=gjek>PLGhSUTED#~3Pb5uEqfOXSxI*h-lHs5P7d)YfV9<{OS;R8k{FZ zx=_Frot%-STTs`L`(WJT=hEMSm5kA3Ftyvpr0XCNxh325FnTP(FShIGXnkOz`9)0- zqsLET3Uu$74$x_hx?8sb+dFH`Gqf@nvyQ^MJ+mo~6}Q$d6YlFJ3r%x6*&Q zrfG5dWA<)lcWqN|uf{z~{HT=vm4yztBei^;yJO$L-ax-~Tm->mFdid~EznCcJbzygW}7Kg=q!OyITK0p>u!8y|OT{LLyJcGJT^B9Y;?(fx&j4Qnd#yEME4 zRjrD2=$8MMUqDoeT%%;xSqx9=%li=l=kbEG%@hSwj4?~@F^|L z%_xI<>I|Eo87%Xc1V4qzy3^bvgnx-xB&k(>b-3GiGV+rWI2AXx@FW#e)n!yR3gY@VT;EVTaE8jhC2@J%(<1a}%=))ze@0pT);x+Xp>^llF--r^WTJ25i=7KjOe|C{=}*f$$k&0u#|GKm_dWkY z85eD3X1}g-T%(pmuR4RRo>3h6GJmVxC`18(-)Iu$#r8wW2-fo@;nHu|tIu=|L_`pm z;Goyemo3TK+c(yFCtq6GTU&=_mH_PQ0-5>$G`bDUYtn-f%SFKh?C~7`ujJ&GPGSrY z)UcALu>G4@P-1BFgx!t$flR@i7jaCX4p2)JtDn zxBLH*9Q`vnAUrr8J2{~Q1giKzb_OqR)*#UTE;9is7ieg0l!29#y0$8?zPT+VW5_=o ze&`BHn~G-37m!h;Y7m2=SRhRRzZwDea&~9<%{g(F;lWQDH1z=~ z8gJu;dDaT$h5;u9VlHbaVFlK=6r|FssvMr^m~+>u zpNfm6fP5A((~OII1=j3AGS3CC1Rd@7M5j_s3%VzG(KNHxJ%=t3k<+1@&I~Cj4z|GN8?zxGyyPd3ra;h5ou}WKd+eTsi!~NsXj&dhB z+zZUkwi}6$ee&>=fKxwwOFza=7Ub}h*;Y~`vFwqNd0BLXq8>!p8L-R++?=&`p(G(eH;^<6&b4G})(+RIgdAu6 zcQ!&DxCiZ5lVG5SKIn~wTx~j5lE{A}Cuq}&3h?uCaao-|h5T@l4b((NGJBrU@=|4& zv-$`K1L(G1j*FWcpTN+^y9L;R*rh`@W|jvgI&hLM)o*ff@wAoMUfPocS&867x@e`e z1|tkNH+4Yc56+!42vup zY$qd&CocKjUTTeb^BWlr|G|0qANWe79Nz3Ppy>+!OxiawQEk)$($=iS9oMwwEsl3L zfT8!|X63rRNZkxb;lNr7dL`)at4AZ({wuechN$S*j~^QsakhpB z)nGj=4{Y0u*SPaNc<8D1!D{R%D~I>DAH==pF)p4{H zR$J}S?JRzuB#Kke#1GgYXvZ(k)CQ^&JpTO=fu}9dp%+CVeSo)Bo-U#rP<3zHMK=2 z)*80tLY6`1fY~{Eud)hg4$|7$z=VO%w4gMZ$B z4^fSZr@hT#5BC7c7=5n<&@gkUZ%y_l0JgJ-Xe;1)KJEVenOtq0Bi#bBO!zm5=uZO& zmn_I+X*C0rYE)Ft4|YI?BP0Z1lYH;woOe)#3G(oRIAt*T#3LXL{l|>=-;+yfv4qqG zj}}mgu9L~~eapVk6S!M6%ggExK#T>SdBcUgu*Md5xl%JQC#NcT^1Ip4n%zco&od); zY9JAphw9GzC&dz%&~%f>v0TEJQqE)pSrjXu#}C;^X%%B_WevwPx3QaQ34rl;RIX-Jrus)rUx03;1LlV zZC$lrd0!Wr^YZfn%1(*LYM)msuvL8WFcg%np592IRcF3CGWAw+S+K72YC5s3or!cP z^5V5QKVi|nq^+a&@>NL5Lh}|tqoJB8do6cB$aV7H1YrvRO2^k>dXb}&4NPAT5LgNP z^WJ|{?2tqOyLZRyhCECj4ULU1jfCfU+4MF1v5_e2_3;|}d?#WUSOReI|kl2tAeDXVPM>Css z=g8s8#l_{3hcHWRwnrv$;YIyTMVV742q-6)>Y>O9hRC^R{Y=mD@D0v=&2O&T zI?EQ9uhE&Vm708(X*O15AnWs^x>yeZ)&f%fu!@+z3wzWcKi=|v-HS92cFTSU25ppP z>K^6q+ByLzKus-DLb9c1Cua#8c_P7cwh|cC{@gF&6i!lDV~2MBE*>L-d1%cRJp? zQA3f2*-OBL;+0xuBC-iO?%WPDsXV6 z3L!j({-}F&wg{56Rsg0_?S=uwsjKKt0aD+LO%!v4&H*@p>Np=i-F>2wK3P4BScBFU z<&`ex;N-x|yp4h>gx;<9=!}lk7$BCd!VNDS1CI$Lt6*$I0^aTW=Eh6#x0Xk{l%rA= zj@<0@YTRMXa$%=7HtY-H_wqXfT6Pm6Z4|O{au|v@`ZY1TX_(LqpyekuuRJY#?Pbv8 z7Om8yhkvKmoNHUfg-7TcFD$;H4k9%$W~tm9s=$JRuxxuPtI2J6i#q=s-HPs)Zf-Rv zT-D}Bj;O^Y`27ZnDQ1#C*8-|1%rPY~mFEkpGvWU(K>-BIfssx3@<)INCwVCTZE-PO zBh$wAc*y8M+29AV0d-=Tyt<7p6gg_Uh6kjS*mPq|TdZXba@&55y>NJ_wvUM+?)(zL zv}IDUxR^ocemqjFfpw2j=U^sPzUFMT8~Age$y?W`{)Yw-DFSE$-M`RXJz%zzh2v^* zA~q9~jcXa>o2Rye5%SsBar{|1uSqTF#gd41g?3NhED-t7H)s0 z6&K*;tS(IHI8KN!@i^p0I&P*K1E$s}vbWTVXr4ouetnMqEr zBXY7LLo(!U{*93)Fo6}2zx)dOfPstawk3?_p&2Jvt^1|IJ0j*!`@Y=(o-G-RPU}6j zk9nBog$qTfx!ni8`nuR#7Sv|Ky=emd1N;C3rsc;kMRA`%UVF!UP+eRFMuwoiEBH~kICygopyo{fyTnQlu3a)_M$JHYa;%EB*$w!XAz;HyPd;paq-&x zgEreCpQg{I1-x%r7boUAFM)^{f_rA)@~d`+2yi_PO-6~PR*dkoE2ePT$}K_o)*bdbaz-!SgB_Uo^# z_5)&WQCp`!!AN8BF9P_V4h-(eZf)hP^J&Xr4ISa~5Su)>0HhwWv@l1_pXFBYvJ}T|fjQ)EdzKL(n&*F?b&Lg z$N6q+nw9&d_bIv|s{29$b(>QO_MLg^HlFLLmYHUjI-vihmXCd0DKFmv=7OL$hC~pg zeP%Xc0LFoy%uMC9p6^=}_bPY$!q(UK?ohUDPL}MK3Q%0XbwkA2G2i^?=tu~;OjfvR z+sNb~o50S%?)*;Q{Xm_hZlu5>JdWOE@5rYXWxyi8#g*v(?o`&{WVS>%EuFsF*v<8H z${8AH9zZUzlYpXte#-~JQ|aEB8C`K@d){! zeEWS)$_5FXc0)C|?%ji(ryy_01PkQc>`nOR!S>Zxx=}+S@nRogF;0SBuFSRCyIL z7vddE>atXWD=C4~1%nA&>m5erh^S0FNZD7zzVu$*GD=ZX$-MmjPy^GnxJ&=;Pp#VE zG$(({^3zS9RnD06>cg^yMwDTSBb8P;4*`wCyLU%hOXI@lN2g9$P~*By^zw27wDxqg z1_pe&Qs*Lu&)$wC_>uhD-7t9|`TBkUkslUF>vcccp^*P7sGT{yHD0nWvUSqA>!j(? z5v$>h3D`f8vY6$T*$h%l;5S(!LX&j{u`s`f4A}6G&Ab4}};A zBR<&2Wi4*Rl$d&li1#?}hw2<74{;)R)d`2Yh26J&eJsZ-4FRK8*m(Ki=rB>p`CT`M zh_mrgE8EmmZN}m&4Mq1uCL4KjkwR0rh+%534jt3W;&pYFvp1)N6fmXu%6C;)8 zm8_@*L5_Z9^3%=!j72&b6?6s`AcCKq$dkvjIz7{J-#yZ=_-tboRQ9-VXhK03ECBG1 zlC#^EgW%x1O$ix5nJ?9>)wXMQ{!`vPG{$--Yip8n>EtxA`auV~4tO`4wdZUaYN#^< zKm_a-@%P7)wYV*<7Kd}F&ue$m8m-*6sNUbeg{QVI3&Wfqb>noO+apYHUtjPA(e!6U z-l!)GwXhO z-LXGKynsy#2V%_|U_Aipmo{nm2AJgnCXhgZ5 zo*3eB@J_+TQQ^4LbSz9r+d+XKIqiyfs2o|dT|^;I?s*4@6s4v8)zSi$I@!jZaw`HH z;l`-Mr%#){#;{r~EN3(~b0y|6($S59(d1&3_1Svcr(cRG@V-{I!pSVB7^1KpwL%5Q zr?$o~7bGc8WFl7=hMzD^Kl{2e4cz#>)6{Y}`dG|Nv%3=HrpjE#xqR46*M9*MJoQ{x znXlTiFgquxrtneMW@?FBjeoW$C-kxS&wR?GVM zK}^8TRkQp_r6Gk70-;MH+_@DoU29_cq^~&I22O04k@?mror14e{bjClOSP8_4_7z& zn616kU-Z5J3Gd(-_m-OO3DmYf;@;%l+XK6=6G8H6hZ9T!7bG15-nzTvG$l(DO#l>& z=7k1hcquTJr*PUW+hsHTUgGdLtSAO>`joNQIjEX?-rBwFWIp^N-*zjd%zFSHIKd<- z#j^EU=9a|xu+0|sWWz4u<)>w}{bQ4T@84$>@^T#RK5XP_(H8KvwYEyM88$P;q=C_d z#xLbMHnue}q2|t3`^J|%XU z<-2$9wh>sgEKC-rreV|Vh1$cG{qCE45&l|hre;Ed)q*wEWMpK*uTEvPFoCC^h7@~3 z&+u^m##nPlfQtSQvM7`Kg-OLtJL87WMVUdds~NoA^)t7X#o2*7_syF(^RgN9b1aZw zRFNgwg^zeSUqrIV?r#Bm2XW1^#Z*j+(tVDQ4?&{{mxL~L_7$!#x@A1VWr$s!q_4qs6a_?JGpqIgN;sYa98;AzE~JAEEXO#P=Ffx4O@!5MAd zgVqwyAGFNh9z>C*AG-AkScG$0gfAY6Sd5rkBuLYAa-}C8GO)zE^G74QION5TW%=p2 zn2bw^eSdXlAf*lY9^B%Sgyw4)R^t0ckg>TbbAC8c;0QA4k6S8tD7D}>0qd`UujiU& zYYq-5YEjv<))GqXR2mB3s?&q4Vs6~chknl&EI%{|^%)_xrytiMK1ap2jfVTQZUpfK zvj%Y+OR7Cj@t%3vNdBgjNDTNeA~q$3r}v1X0?QBawd5pX{Tz4?H_5y^6YefmOKP5N zk?G;{*RJhj>IjND_dE+ypZjqeKUxqTWYpz)daGr>t-WxY$}NBKSDpwPBsI*1xTh~k zPeL-*B)Zt{nw!Jmssjw>Cw#IN<9!^1%d8plNQt>&jd=E~EAnXD_<>X6X2?Z|?XThBoUj8d6on4Z3QAMyOb>oF9i?}u z2^aNz4c!ojol^&$vcgV2#OC2`--C0Ts(p*GHzP*jv#$gXZSZL$a83#(`wfl_$YIgu z4LjzAliD(+-N|xmu5OPP4Ocx!Jc1Y%9iDnWpIH`3ToPWY*ov=|jlv;=l)nJ(otrJ zVaz`YfQdF5&v;)eW~Ak1r_W#wc6ajI{`}2TbftyjL}D`Q#dB#6FN@uwq!|S$G%+Dz zGbDsnzWd=+4BIz-*};hc(Xn4QeCaY^oLap@)VNr|_=vy!=RR}ezi`20x16}~2l4+Vb?pdQccdb3$R9gjL$ z-`F77rzGneVY`7*$7L)^%1)5QC|O%lV)epRNkjS)$E$-5r_ve{Z14BFnxh#o?^}>p z;{9}kFHQbj3+R8m6Mj%fv`EOJ8!G8Jz9dL`C!$9|*J^!yLsOQg|4_2uAuUbrA=YCr zqwWNL#t83D-M#fioSe7aE(87I)zD!~T;bjJpB|RxQ9PQPv^KjPS^ZENEd5z4o@wi8 z@KxA!Q9Rb|(%63bbm4wr1_}|FlN-fvwc9z*k$3l|m*HbVxx}Lw3$D;sgT)P*6ockc z?%|TQ*p3Q#(6`40gHDry2w+?o?iIOMsZ3L=Mz=7r7ALqrG;&nz;a-x!7+zqSoiFHd z(E42D z)-cWH$j~xIU;fqsgSxZDtCQN<2&3A^4Abl`CT9JH{VPA74!s~rl)dMUP|r+igf=PWb1@0XccZyGa}y48vq? z`le)zSXq}$VRi)%?hU%BGm0zprqYp1@fJghG#GYYc!ggUOimV3trir;^P0vFtaOIP z7KPs2XV%e|`nVWEGGydWW8Cfse&WrQ?m!m_9bOaTA zOOd&bezwO-&4Gym9(TrLB(CzM#kx+<`ABcMw23oBC*u<=Oxb~4%{sN=Wb<$rX*F#A zgX7B8$jD}0kzLy)mD0Ug8j{tu7-ANiX<{vDEJ7xEnM5hSI8mG~`GU+eW$)__|9S*wtPalp&Al&Btv=doFpx zz7Xi%_OG$5+;{I~$zLN({QAWGe7fk=je_EQ;EY_dVI*K-;Cmw`ces}I*cY}NE6>y8 z1nZq$WTfQV)#sp^YW6+(6;JsoNkkkADzX+wLdo9zoFEnafl76&5_#>7M-cyo-+k;* zved(7yQqL}IHdXJc+6dPXoz&96x<7$8Kz7VYXc)wlu7YsvziYJ=0@|{zm`CzvxsQH?gwP_KM{JdIyHLjli&9ckCjYu6pxozONP;_mOZyQ zTb)-85#6=HWZ_EM8m%Mjy8~h0K6cozlg9Iw#>SEDez-Y0Q-9;FZ>0ll#X`rUx#Mcu zkB!7S!(;JF^s&!Cy;t&I5?&j57pFH+^78wO6GZ zbJ$_O%Oqmrn4ht>y=a8xKK2t5@S52fvsf;ZCO*Gx$YOojn1QbS9CchaGNj@_f4;xp z#dBVmoRK|ugezHCn9l>J$a6vX8tGP^dFyUWB7*~bHPYta8ahbUj-K~XoL5_P_cm0= z4WDh3j+>GU)s^h7oNJ>tpFt@S!&}ZfONmz;Jbr9;N+vp}FchVJ^Y*IGr!eQ%!s-(EisY7&x!{YI1li4| zaoeC`;?B0jTHPv3gEGz2pOrk=&O+la7C)mVM_1F1&F7DeJkBM3e{EGk4}2tly(GGg z%ACVusnOSDO>|fdviB%y5>YrtsX~uYm_U5o(JtvwSYXsuv;kZ}R`=v3r>D2Q@_#{B z8noITD3`6IC1XH%RyPJoM{3@4CT-~+Hv~(9R1Eys-2}^$6&z2lh^vK3?=tdtIFr90 zxthsL!xZ6<3GX(`ea~Z5pc`*9Q(w@%w7Z*}pI9uDOS-Fyn3b05df<{@H{q~yehf2w znB1Gjx*C%v9h2ywlx6(5Y+z@YJ?H`c^~$P2zk}K-X9m&h*~6E+o5r?HVk5IooWyk>|PYOQ9B`%G8MluqWzJ-Mt1s< zk8+4h*ow<;f2X|zN^%PCP@}~gb)^VDkyocbwbn6j>xRX?r}A55tEiB@fPWbR^Sz&D zSOh|j%a~n3(iat%ITfEv1v4m1mm9y;A0~vWHi7x;j1Lzgp3MYW_6;P*y;@>{ye-4G z$|TOMWwf}CcZ-v@#)vK_b22_5CQcMIOmHGg79E*RzxRq+$j*98%hXW$eAN-f5un3t zDjIG%W&m5%Sgb1bcuVBIvvSRvgNfqIxy&TFIBmuw;h3xcu+6*xm)RpF>*v_GBkcK2 zHNm549>=ih(|g^CCTG_0U1WwAw-YR8kcE|WL7V?@{jU0ySEWaHREAgCw4-n3Zr!c* zM`iDC*vYPPXFXPw^zBSCFgg|~wHm|_W3nn}JxWdDlL)G) zji97o(1B0Xg!H{2ca(o!aw-@K8HGDLtQIJ*rSb1H-T}AjQHvDszicOJ&Mz7HZ7IHz z(pv0%dU`mNTkd!2w1?6L~o@cE-~gJJB3(Co9aSyKonBf!XrIK&gI* zk}=DIkyyqf>C3WYS2DIJE;|{&oX&BkSFK8{>(J}T8O#ppp^Zohw7TUB)f+o9qmi#^ z+Dp$W6N7J1D%!n5riKTVQomRDHIiGJL1ok4QGuXf=@3!Xi7|kiqRj0Ubp&gTN6(3{ zz2_wzV%06ps;qOvf(|0TEmQUHmhY_(>}3_syu-z{>OyYG>bsyKMAG`#ieDEHj_WHO zTK0R=o)^8yR9Br+LVZ!+ z4I14(XzU`wOUsmjIAu5Vz4Q73A+#I!GC>Iy!&1Cy&zqzmJUh`=8Qw$YGYSNMRcVck zPH*xbl`UD01owAkqqwr3$PKCY((JW$>{q_ytDz{ZEIvO1@JG3=8>`WcM zT8rgyoha0ErRr0vBGql;`{MZ-IaSJ2qfIg0JOxjaS3p1(03=IYWmQhQF^fem zyUL#)H(Kn!0v_;`=U0{rQI&|LFar?xkey3c+J`r%gGVr45bNakD?nM}1vK2U#IG@) zjC=RIri!U3$PaZTHRViM((O$WX_Z^k`1waY-x8`wgeAN2kcQl~Ra%W(*G+h~CU?&2 zS#l@hHPL8(-QoBj4^VeXpQ`{m720)k9&A{J6TOyw=O~I-2z%CV-T5mXTcpkQtG|c-v>>brtnI+ z1O{*VF0@C?ol?E0SH;v&pj`kS4r$RTn<}5Yn`rTK13uorTF2Yb)fF@oBE{^mu9R~* zT|dL{96~hD8v(EIIj}JOp8q+Jq^0zhRy?!B*=Gz_bMUQqAFl`> zmfROhjR-OmJv8O4Jzx2HJH2VipgApw%pq_DMq}4doD@P^Dlnw7m?>W!R4juRPSZRx zRg`)&_l_tqSH`ghgU~{=0m0E9Ev@7RS zXBD7Xi^4w{4|P-%B*WU2q5IqT;S=4uZ~F_zHLBx9uB(8t;nHOLcal&1&nK1y_cys^ zC4y|G+PRrLg1)Ug{U~IA@bSRXVr-(|3%dM8-uv!Di%#ET)_-Gv%?#YLKslSIMclr3 zN8oUZrX*%F>_broZg5IABkXafzrdpKYgS@Etge{K@U(d_A0D4fUmZMfboPrNvu?hZ zcDG>Wz0nI;os;Rt@5v~ao5m|g`_(-GHNlF-J}-){1VQliyX>}{h8G!4x~^ep%60>b zk+8)#lyM1SR<`KOU*htWe-n!mnHsd(aequ;dzj)&T}k}QYE~7)-0FI zyf$zAkOa2)>PQ9cP~EQ%V{ts3Dyw@n{Mz~A&tH$1zzYbM5`%)|oR4;R#^5+5gLRJL z%}GRkJf+(4;G2nL^ZgoCF*GKwM|1<8%g78mc zm#x#`_npJjoFW`%)T6z_E+U&MWg2S+An6_<{q%`SiH*o#gAKg>YOQFyd*f*Vc!zxQ zHC3|8q4RNNg|e_jN_zA+gWZ}`W8;x_6;jr?AAiZ4%JB@&q-){Ul7UJ~lVxD3X$7EM zYt$FPthDW7S%+w={u2Yq(pxX)@Q#IJb26-#1bOtG~{+ z)@3M*qnftS5OBp|67f=1A|Ya!rrr<)V1oxW*$Udv=*BW^?7q=l;5ZWzy03Q?Vn26+ zOf=8oTO=mqu&i7+=Twq#l{=c$nxvG zKeXO>zVe#w@h3C#mz5xCr=Yg>V7-mvVDtFHr`bD-@`5NO*OQUT%GJ)qlalH*Rt5U; zA5J_-wM8!FC`PTUl@*OzM{ch5b9Pjd`t&2LagY}6uq4v@L5k|QrHfLa?qpBBXz{vN z1DO^NnUHnJ0_b{z1O6s+IC^%z_1!5wrTVKT-k&$-8I9r6vnLJPAqE9FoI^Ic~BNzV+tkfN_TR z(=IQL1=xpbtd9o~5pJhz9!HZtTlpHt+u>rNpQ#uU&*~E8Po?a?2E4XYO&9a-2L)^+OAVgsliak#dEV)=8}_8u)QYVeIq4mTR>ujQ zQtuktD1VfqdM@>%;FXO6Y~*>XL~Jz|E$_hixDTVxr%z7KexuLXL$6-VOp|+XZU`!` z@gJ4B&e|?h?9q)k7sV1M&kC96#q*$Z(lnd80n=;^MF=@)V>r*Iz)e=}N}nI*IUSaj zl!QG^S6Nt$(<+_I0;{lJtmc=xbl>P`jP~9kyW72|OEc!&Dq$gOm{V=CQy7tkQ?t%f zH@LQM{y6%TNB{Rhv!U>Fb^t_kQd*ZSo@9N}b<)Kc!^HtwRKT$Kd2(_YlQU^YkOC>y zsXgp@fE$wMyfL|-XrB1RZevKE=W7Gb+H{|3iP`jIx%0*}9$t7S0|oN!`4^L6=(x?^ z==6E-^P`4rt_9fMjbXv<89(_lvckec+~Jz&(CGc8L+%Lt#RK4AUlWu|1uj^A6HE(z zB!1oS%Bvc?kG=&@4Bw~Z`m+UrfvVW`*J=KbRx;p4sA9pE`wv58$|x~T9+(iK+4j%PA3+ot6b2S%PJfLNX5-{^J#)j2jJTJK0`17V!JHhX{euJ9?ysA4 z2d^(q^z8cX9v2^%|4G@I^;Hbk-N48?nalLq*ebCXGBdP8~&WM?CmSstX zLP^l$r&Qmcdf&1;qF^Kq4fAgbS#^CyoHV;H?qfSxEl1JepvGu!4w`kJ?o3bLi5F55KmZOq?srN#Iyf;NEO$T{NvWpD)#^UGafrn)&uG*&F|WBh0j_Y zRGR9O41|G}tIT!=^*j_v!xOzRGcfaS*nzICX0w~LXcaM@WourI@ z-xdTCXTXbN9AB$Wg~tYJXM>ZYW5~ZAx@Qa0-O+Wo!MDb(O`IQHBIs>~w9!N~M?k>! zb8=Co?{2uw%=dvyknj;hHvkBPVs*?UX)3Cp8w{v^C z0i?0tb#nal=@|zok(5uLB(RRpBH`?R70Qc7s3-|GkOjQiF8g zFab&6wQHV6*w;RadSba=G@ZO(MIZF7ZPWaiA-6vb%Ir6h#?`z>N`Oz=2CiC16xcj7 zBW0rS3m)^RMyCa`Ef0kT`(%QXqBoyie18`gE^JSM5fn9LU`9^%NlIB6^ySlPsRi`m zEWS_YK7V^E&$6}ZC*wGFsd_M1?fCc@+&I`~6ohNfgeK#`(T=S4{cCn5gI6#0^?WV= zlE<8$k}EMj-U#**`P?M@zVJ4%v~rS(Pf3lwG{Y8AI4HuZ(%ai`aT?G0D_6W}cTf+? zeKCl8sM~`gWn&_7D{$sB>fV3O-hJNx^0 zuV3*ySj_e&%@iWW8nL0YURpZI@9~ZkqzUqq&CO@vUf%B-5#G(A1(WL5Pyx!n|2Ql} zf=d0qa2v+uWp9bex2q2aa~6(M3Yn2HB^gURkt`3+$awAc_Nq3gWgJXs(*4c%M>g4h50vz5+i|D$tPWj&qF934FCSK z*~%17GeR$sqt@SK<+jjD7AsJA$s%KO{Q(d9o2!3jr|OhN#6!;?Q^ikkF${u?v<%A= z;}gew%nDqqmt8--Eru>U%+;06@3|c^QtiMh{&%xhe+#gTZy0cxF);6&?!32{;Wh@X z2B-Bq}y$=a(ya}yL`&FNbGWREBMffF9dM*+)-qpMd? zn4hj(m2`BH5p0@zbSI$(eK!#7jNvus5}_FKlFFjg!o63SN?nj`40kW^SOPcxdgoJd zf_9r82d*V#gw`nQGxg7;6&(NOhp&Yc-Dm!Y`k#H-e8iv?{d1ea|6P{9|Lv)qbWs3* z{8jG#HNd0&bK|}G-wwQvcF3&yf1@F{`H5hGf`;&~jdbH2l+*dSuiGGy(Lk=Dr#~1F YeRXdklgb~n=-s3x3#Tr0PYsVbpQYW literal 0 HcmV?d00001 diff --git a/frontend/src/api/types/settings.ts b/frontend/src/api/types/settings.ts index bc393cf02..e72cdd252 100644 --- a/frontend/src/api/types/settings.ts +++ b/frontend/src/api/types/settings.ts @@ -38,6 +38,7 @@ export interface GitIdentity { export interface UserPreferences { theme: 'dark' | 'light' | 'system' + themePreset?: string mode: 'plan' | 'build' defaultModel?: string defaultAgent?: string diff --git a/frontend/src/components/settings/GeneralSettings.tsx b/frontend/src/components/settings/GeneralSettings.tsx index 345e1a490..0b70eee40 100644 --- a/frontend/src/components/settings/GeneralSettings.tsx +++ b/frontend/src/components/settings/GeneralSettings.tsx @@ -1,13 +1,55 @@ import { useSettings } from '@/hooks/useSettings' +import { useTheme } from '@/hooks/useTheme' import { useVersionCheck } from '@/hooks/useVersionCheck' import { Loader2 } from 'lucide-react' import { Label } from '@/components/ui/label' import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select' import { Switch } from '@/components/ui/switch' +import { DEFAULT_THEME_PRESET, getThemeLabel, OPENCODE_THEME_OPTIONS, resolveOpenCodeTheme } from '@/lib/opencodeThemes' + +function PreferenceToggle({ + id, + title, + description, + checked, + onCheckedChange, +}: { + id: string + title: string + description: string + checked: boolean + onCheckedChange: (checked: boolean) => void +}) { + return ( +