From 31abd735ac0ee4a6348c25cdab2477d0db9011a6 Mon Sep 17 00:00:00 2001 From: ybx <3046829330@qq.com> Date: Sun, 16 Aug 2026 09:16:17 +0800 Subject: [PATCH 1/6] fix(windows): send diff pathspecs the shared core accepts - translate git_diff_file and git_status_diff_stats filePath into the git.diff pathspecs contract instead of the unrelated paths field, and fall back to ["."] so whole-tree stat requests are not rejected - derive diff stat staged flags from the request instead of hardcoding false, and fetch staged and unstaged stats so both groups show counts --- windows/tauri/src-tauri/src/platform.rs | 45 ++++++++++++++- .../src/features/git/api/git-diff-api.ts | 16 ++++-- .../platform/core-result-adapter.diff.test.ts | 57 +++++++++++++++++++ .../tauri/src/platform/core-result-adapter.ts | 3 +- 4 files changed, 112 insertions(+), 9 deletions(-) create mode 100644 windows/tauri/src/platform/core-result-adapter.diff.test.ts diff --git a/windows/tauri/src-tauri/src/platform.rs b/windows/tauri/src-tauri/src/platform.rs index 5bfccd200..a3cdb70b6 100644 --- a/windows/tauri/src-tauri/src/platform.rs +++ b/windows/tauri/src-tauri/src/platform.rs @@ -90,8 +90,13 @@ fn translate(command: &str, args: Value) -> Result<(String, Value), String> { "git.write" } "git_diff_file" | "git_status_diff_stats" => { - paths_from_file(&mut payload); - payload.entry("pathspecs").or_insert_with(|| json!([])); + if let Some(path) = payload.remove("filePath") { + payload.insert("pathspecs".into(), Value::Array(vec![path])); + } else { + // The shared core rejects empty pathspecs; a request without a + // file scope means the whole tree, which git spells as `.`. + payload.insert("pathspecs".into(), json!(["."])); + } "git.diff" } "git_ref_diff" => { @@ -436,7 +441,41 @@ mod tests { translate("git_diff_file", json!({ "repoPath": "C:/work" })).unwrap(); assert_eq!(command, "git.diff"); - assert_eq!(payload, json!({ "root": "C:/work", "pathspecs": [] })); + assert_eq!(payload, json!({ "root": "C:/work", "pathspecs": ["."] })); + } + + #[test] + fn translates_diff_file_pathspec() { + let (command, payload) = translate( + "git_diff_file", + json!({ "repoPath": "C:/work", "filePath": "src/main.rs", "staged": true }), + ) + .unwrap(); + + assert_eq!(command, "git.diff"); + assert_eq!( + payload, + json!({ + "root": "C:/work", + "pathspecs": ["src/main.rs"], + "staged": true + }) + ); + } + + #[test] + fn translates_status_diff_stats_whole_tree() { + let (command, payload) = translate( + "git_status_diff_stats", + json!({ "repoPath": "C:/work", "staged": true }), + ) + .unwrap(); + + assert_eq!(command, "git.diff"); + assert_eq!( + payload, + json!({ "root": "C:/work", "pathspecs": ["."], "staged": true }) + ); } #[test] diff --git a/windows/tauri/src/features/git/api/git-diff-api.ts b/windows/tauri/src/features/git/api/git-diff-api.ts index 389c72f4d..5ec665ff6 100644 --- a/windows/tauri/src/features/git/api/git-diff-api.ts +++ b/windows/tauri/src/features/git/api/git-diff-api.ts @@ -219,14 +219,20 @@ export const getStatusDiffStats = async (repoPath: string): Promise("git_status_diff_stats", { - repoPath: resolvedRepoPath, - }) - .then((stats) => { + const request = Promise.all([ + tauriInvoke("git_status_diff_stats", { + repoPath: resolvedRepoPath, + }), + tauriInvoke("git_status_diff_stats", { + repoPath: resolvedRepoPath, + staged: true, + }), + ]) + .then(([unstagedStats, stagedStats]) => { if (generation !== getRepositoryCacheGeneration(resolvedRepoPath)) { return getStatusDiffStats(resolvedRepoPath); } - return stats; + return [...unstagedStats, ...stagedStats]; }) .catch((error) => { if (!isNotGitRepositoryError(error)) { diff --git a/windows/tauri/src/platform/core-result-adapter.diff.test.ts b/windows/tauri/src/platform/core-result-adapter.diff.test.ts new file mode 100644 index 000000000..cefe734b3 --- /dev/null +++ b/windows/tauri/src/platform/core-result-adapter.diff.test.ts @@ -0,0 +1,57 @@ +import { describe, expect, test } from "bun:test"; +import { adaptCoreResult } from "./core-result-adapter"; + +const twoFilePatch = `diff --git a/a.txt b/a.txt +index 111..222 100644 +--- a/a.txt ++++ b/a.txt +@@ -1 +1,2 @@ + hello ++world +diff --git a/b.txt b/b.txt +index 333..444 100644 +--- a/b.txt ++++ b/b.txt +@@ -1 +0,0 @@ +-old line +`; + +describe("git diff stats adaptation", () => { + test("maps per-file additions and deletions from the whole tree patch", () => { + const stats = adaptCoreResult( + "git_status_diff_stats", + { repoPath: "C:/work" }, + { patch: twoFilePatch }, + ); + + expect(stats).toEqual([ + { file_path: "a.txt", staged: false, additions: 1, deletions: 0 }, + { file_path: "b.txt", staged: false, additions: 0, deletions: 1 }, + ]); + }); + + test("carries the staged flag from the request into every stat entry", () => { + const stats = adaptCoreResult( + "git_status_diff_stats", + { repoPath: "C:/work", staged: true }, + { patch: twoFilePatch }, + ); + + expect(Array.isArray(stats)).toBe(true); + for (const stat of stats as Array<{ staged: boolean }>) { + expect(stat.staged).toBe(true); + } + }); +}); + +describe("git single-file diff adaptation", () => { + test("returns the parsed diff for the requested file", () => { + const diff = adaptCoreResult( + "git_diff_file", + { repoPath: "C:/work", filePath: "a.txt" }, + { patch: twoFilePatch }, + ); + + expect((diff as { file_path: string }).file_path).toBe("a.txt"); + }); +}); diff --git a/windows/tauri/src/platform/core-result-adapter.ts b/windows/tauri/src/platform/core-result-adapter.ts index dc94de2c9..1f86f93e7 100644 --- a/windows/tauri/src/platform/core-result-adapter.ts +++ b/windows/tauri/src/platform/core-result-adapter.ts @@ -29,10 +29,11 @@ function adaptDiff(command: string, args: JsonRecord | undefined, value: unknown return "files" in parsed ? parsed.files[0] ?? null : parsed; } if (command === "git_status_diff_stats") { + const staged = Boolean(argumentsRecord.staged); const diffs = "files" in parsed ? parsed.files : [parsed]; return diffs.map((diff) => ({ file_path: diff.file_path, - staged: false, + staged, additions: diff.additions ?? diff.lines.filter((line) => line.line_type === "added").length, deletions: diff.deletions ?? diff.lines.filter((line) => line.line_type === "removed").length, })); From d4d36a7625573bbc12172b13919efa94a87e9504 Mon Sep 17 00:00:00 2001 From: ybx <3046829330@qq.com> Date: Sun, 16 Aug 2026 09:26:27 +0800 Subject: [PATCH 2/6] feat(windows): default diff view to split and persist the choice - open diffs in split view like the macOS reference product and IDEA instead of a hardcoded unified default - persist the unified/split preference in a zustand store so the choice survives reopening diffs and restarting the app --- .../components/diff/git-diff-editor-stack.tsx | 4 +- .../stores/git-diff-preferences.store.test.ts | 18 +++++++++ .../git/stores/git-diff-preferences.store.ts | 39 +++++++++++++++++++ 3 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 windows/tauri/src/features/git/stores/git-diff-preferences.store.test.ts create mode 100644 windows/tauri/src/features/git/stores/git-diff-preferences.store.ts diff --git a/windows/tauri/src/features/git/components/diff/git-diff-editor-stack.tsx b/windows/tauri/src/features/git/components/diff/git-diff-editor-stack.tsx index 6165513dd..2e82304b9 100644 --- a/windows/tauri/src/features/git/components/diff/git-diff-editor-stack.tsx +++ b/windows/tauri/src/features/git/components/diff/git-diff-editor-stack.tsx @@ -25,6 +25,7 @@ import { calculateLineHeight, splitLines } from "@/features/editor/utils/lines"; import { useZoomStore } from "@/features/window/stores/zoom.store"; import { useUIState } from "@/features/window/stores/ui-state.store"; import { useFileSystemStore } from "@/features/file-system/stores/file-system.store"; +import { useGitDiffPreferencesStore } from "@/features/git/stores/git-diff-preferences.store"; import { buildSearchRegex, findAllMatches, @@ -650,7 +651,8 @@ const GitDiffEditorStack = memo(function GitDiffEditorStack({ const rootFolderPath = useFileSystemStore((state) => state.rootFolderPath); const isFindVisible = useUIState((state) => state.isFindVisible); const setIsFindVisible = useUIState((state) => state.setIsFindVisible); - const [viewMode, setViewMode] = useState<"unified" | "split">("unified"); + const viewMode = useGitDiffPreferencesStore.use.viewMode(); + const setViewMode = useGitDiffPreferencesStore.use.actions().setViewMode; const [showWhitespace, setShowWhitespace] = useState(false); const [isFileTreeVisible, setIsFileTreeVisible] = useState(true); const [fileNavigatorViewMode, setFileNavigatorViewMode] = useState("tree"); diff --git a/windows/tauri/src/features/git/stores/git-diff-preferences.store.test.ts b/windows/tauri/src/features/git/stores/git-diff-preferences.store.test.ts new file mode 100644 index 000000000..674ac31d2 --- /dev/null +++ b/windows/tauri/src/features/git/stores/git-diff-preferences.store.test.ts @@ -0,0 +1,18 @@ +import { describe, expect, test } from "bun:test"; +import { useGitDiffPreferencesStore } from "./git-diff-preferences.store"; + +describe("git diff preferences store", () => { + test("defaults to split view like the macOS reference", () => { + expect(useGitDiffPreferencesStore.getState().viewMode).toBe("split"); + }); + + test("setViewMode switches the preference in both directions", () => { + const { setViewMode } = useGitDiffPreferencesStore.getState().actions; + + setViewMode("unified"); + expect(useGitDiffPreferencesStore.getState().viewMode).toBe("unified"); + + setViewMode("split"); + expect(useGitDiffPreferencesStore.getState().viewMode).toBe("split"); + }); +}); diff --git a/windows/tauri/src/features/git/stores/git-diff-preferences.store.ts b/windows/tauri/src/features/git/stores/git-diff-preferences.store.ts new file mode 100644 index 000000000..e530e8893 --- /dev/null +++ b/windows/tauri/src/features/git/stores/git-diff-preferences.store.ts @@ -0,0 +1,39 @@ +import { create } from "zustand"; +import { persist } from "zustand/middleware"; +import { createSelectors } from "@/utils/zustand-selectors"; +import { createSafeJSONStorage } from "@/utils/zustand-storage"; + +export type GitDiffViewMode = "unified" | "split"; + +interface GitDiffPreferencesStore { + // Split matches the macOS reference product and IDEA; users who prefer the + // unified layout switch once and the choice persists across sessions. + viewMode: GitDiffViewMode; + actions: { + setViewMode: (mode: GitDiffViewMode) => void; + }; +} + +const useGitDiffPreferencesStoreBase = create()( + persist( + (set) => ({ + viewMode: "split", + + actions: { + setViewMode: (viewMode) => set({ viewMode }), + }, + }), + { + name: "git-diff-preferences", + storage: createSafeJSONStorage>(), + partialize: ({ viewMode }) => ({ viewMode }), + merge: (persistedState, currentState) => ({ + ...currentState, + ...(persistedState as Pick), + actions: currentState.actions, + }), + }, + ), +); + +export const useGitDiffPreferencesStore = createSelectors(useGitDiffPreferencesStoreBase); From b4b1eba4816b1fad5dbbaed5fe099dd1b52c8002 Mon Sep 17 00:00:00 2001 From: ybx <3046829330@qq.com> Date: Sun, 16 Aug 2026 10:23:51 +0800 Subject: [PATCH 3/6] fix(windows): page git history with a cumulative limit --- .../src/features/git/api/git-commits-api.ts | 19 ++-- .../git/components/git-commit-panel.tsx | 2 +- .../git/hooks/use-git-data-controller.ts | 16 +-- .../src/features/git/stores/git.store.test.ts | 99 +++++++++++++++++++ .../src/features/git/stores/git.store.ts | 49 +++++---- .../tauri/src/features/git/types/git.types.ts | 5 + .../core-result-adapter.history.test.ts | 44 +++++++++ .../tauri/src/platform/core-result-adapter.ts | 21 ++-- 8 files changed, 212 insertions(+), 43 deletions(-) create mode 100644 windows/tauri/src/features/git/stores/git.store.test.ts create mode 100644 windows/tauri/src/platform/core-result-adapter.history.test.ts diff --git a/windows/tauri/src/features/git/api/git-commits-api.ts b/windows/tauri/src/features/git/api/git-commits-api.ts index a43edf038..29c565dc9 100644 --- a/windows/tauri/src/features/git/api/git-commits-api.ts +++ b/windows/tauri/src/features/git/api/git-commits-api.ts @@ -1,5 +1,5 @@ import { invoke as tauriInvoke } from "@/platform/tauri-core"; -import type { GitCommit } from "../types/git.types"; +import type { GitCommit, GitHistorySnapshot } from "../types/git.types"; import { emitGitChanged } from "../events/git-events"; import { runGitRead } from "../runtime/git-read-coordinator"; import { @@ -24,24 +24,29 @@ export const commitChanges = async (repoPath: string, message: string): Promise< } }; -export const getGitLog = async (repoPath: string, limit = 50, skip = 0): Promise => { +export const getGitHistory = async ( + repoPath: string, + limit = 50, +): Promise => { try { const resolvedRepoPath = await resolveRepositoryPath(repoPath); if (!resolvedRepoPath) { - return []; + return null; } - return await runGitRead(resolvedRepoPath, `log:${limit}:${skip}`, () => - tauriInvoke("git_log", { + return await runGitRead(resolvedRepoPath, `log:${limit}`, () => + tauriInvoke("git_log", { repoPath: resolvedRepoPath, limit, - skip, }), ); } catch (error) { if (!isNotGitRepositoryError(error)) { console.error("Failed to get git log:", error); } - return []; + return null; } }; + +export const getGitLog = async (repoPath: string, limit = 50): Promise => + (await getGitHistory(repoPath, limit))?.commits ?? []; diff --git a/windows/tauri/src/features/git/components/git-commit-panel.tsx b/windows/tauri/src/features/git/components/git-commit-panel.tsx index d7e203a1e..2a4b51189 100644 --- a/windows/tauri/src/features/git/components/git-commit-panel.tsx +++ b/windows/tauri/src/features/git/components/git-commit-panel.tsx @@ -112,7 +112,7 @@ async function buildCommitMessageContext({ const stagedFilesForContext = stagedFiles.slice(0, MAX_STAGED_FILES_FOR_AI_CONTEXT); const diffFilesForContext = stagedFiles.slice(0, MAX_DIFF_FILES_FOR_AI_CONTEXT); const [recentCommits, stagedDiffs] = await Promise.all([ - getGitLog(repoPath, MAX_RECENT_COMMITS_FOR_AI_CONTEXT, 0), + getGitLog(repoPath, MAX_RECENT_COMMITS_FOR_AI_CONTEXT), Promise.all(diffFilesForContext.map((file) => getFileDiff(repoPath, file.path, true))), ]); const overflowCount = Math.max(stagedFiles.length - stagedFilesForContext.length, 0); diff --git a/windows/tauri/src/features/git/hooks/use-git-data-controller.ts b/windows/tauri/src/features/git/hooks/use-git-data-controller.ts index 267bf069d..1966e7d2a 100644 --- a/windows/tauri/src/features/git/hooks/use-git-data-controller.ts +++ b/windows/tauri/src/features/git/hooks/use-git-data-controller.ts @@ -1,7 +1,7 @@ import { useCallback, useEffect, useRef } from "react"; import { useSettingsStore } from "@/features/settings/stores/settings.store"; import { getBranches } from "../api/git-branches-api"; -import { getGitLog } from "../api/git-commits-api"; +import { getGitHistory } from "../api/git-commits-api"; import { getStashes } from "../api/git-stash-api"; import { getGitStatus } from "../api/git-status-api"; import { @@ -40,9 +40,9 @@ export function useGitDataController({ workspacePath, isActive }: GitDataControl gitActions.setIsLoadingGitData(true); try { - const [status, commits, branches, stashes] = await Promise.all([ + const [status, history, branches, stashes] = await Promise.all([ getGitStatus(repoPath), - getGitLog(repoPath, 50, 0), + getGitHistory(repoPath, 50), getBranches(repoPath), getStashes(repoPath), ]); @@ -56,7 +56,8 @@ export function useGitDataController({ workspacePath, isActive }: GitDataControl gitActions.loadFreshGitData({ gitStatus: status, - commits, + commits: history?.commits ?? [], + hasMoreCommits: history?.hasMore ?? false, branches, stashes, repoPath, @@ -90,11 +91,11 @@ export function useGitDataController({ workspacePath, isActive }: GitDataControl refreshAll || scopes.includes("refs") || scopes.includes("repository"); const shouldRefreshStashes = refreshAll || scopes.includes("stashes") || scopes.includes("repository"); - const [status, branches, stashes, commits] = await Promise.all([ + const [status, branches, stashes, history] = await Promise.all([ getGitStatus(repoPath), shouldRefreshRefs ? getBranches(repoPath) : Promise.resolve(undefined), shouldRefreshStashes ? getStashes(repoPath) : Promise.resolve(undefined), - shouldRefreshHistory ? getGitLog(repoPath, 50, 0) : Promise.resolve(undefined), + shouldRefreshHistory ? getGitHistory(repoPath, 50) : Promise.resolve(undefined), ]); if ( @@ -107,7 +108,8 @@ export function useGitDataController({ workspacePath, isActive }: GitDataControl gitActions.refreshGitData({ gitStatus: status, branches, - commits, + commits: history?.commits, + hasMoreCommits: history?.hasMore, repoPath, }); diff --git a/windows/tauri/src/features/git/stores/git.store.test.ts b/windows/tauri/src/features/git/stores/git.store.test.ts new file mode 100644 index 000000000..70d18e330 --- /dev/null +++ b/windows/tauri/src/features/git/stores/git.store.test.ts @@ -0,0 +1,99 @@ +import { beforeEach, describe, expect, mock, test } from "bun:test"; +import type { GitCommit, GitHistorySnapshot } from "../types/git.types"; + +const getGitHistory = mock( + async (_repoPath: string, _limit: number): Promise => null, +); + +mock.module("../api/git-commits-api", () => ({ getGitHistory })); + +const { createGitStore } = await import("./git.store"); + +const commit = (index: number): GitCommit => ({ + hash: `commit-${index}`, + message: `Commit ${index}`, + author: "Developer", + date: "2026/08/16 10:00", +}); + +const commits = (count: number): GitCommit[] => + Array.from({ length: count }, (_, index) => commit(index)); + +const loadInitialHistory = ( + store: ReturnType, + repoPath: string, + initialCommits: GitCommit[], +) => { + store.getState().actions.prepareRepositoryLoad(repoPath); + store.getState().actions.loadFreshGitData({ + gitStatus: null, + commits: initialCommits, + hasMoreCommits: true, + branches: [], + stashes: [], + repoPath, + }); +}; + +beforeEach(() => { + getGitHistory.mockReset(); +}); + +describe("Git history pagination", () => { + test("requests a larger cumulative snapshot instead of an ignored offset", async () => { + const store = createGitStore(); + loadInitialHistory(store, "C:/repo", commits(50)); + getGitHistory.mockResolvedValue({ commits: commits(100), hasMore: true }); + + await store.getState().actions.loadMoreCommits("C:/repo"); + + expect(getGitHistory).toHaveBeenCalledWith("C:/repo", 100); + expect(store.getState().commits).toHaveLength(100); + expect(store.getState().hasMoreCommits).toBe(true); + }); + + test("uses the shared core hasMore flag at the end of history", async () => { + const store = createGitStore(); + loadInitialHistory(store, "C:/repo", commits(50)); + getGitHistory.mockResolvedValue({ commits: commits(73), hasMore: false }); + + await store.getState().actions.loadMoreCommits("C:/repo"); + + expect(store.getState().commits).toHaveLength(73); + expect(store.getState().hasMoreCommits).toBe(false); + }); + + test("keeps the current snapshot when loading more fails", async () => { + const store = createGitStore(); + loadInitialHistory(store, "C:/repo", commits(50)); + getGitHistory.mockResolvedValue(null); + + await store.getState().actions.loadMoreCommits("C:/repo"); + + expect(store.getState().commits).toHaveLength(50); + expect(store.getState().hasMoreCommits).toBe(true); + expect(store.getState().isLoadingMoreCommits).toBe(false); + }); + + test("discards a completed request after switching repositories", async () => { + const store = createGitStore(); + loadInitialHistory(store, "C:/repo-a", commits(50)); + + let resolveHistory: (snapshot: GitHistorySnapshot) => void = () => {}; + getGitHistory.mockImplementation( + () => + new Promise((resolve) => { + resolveHistory = resolve; + }), + ); + + const pending = store.getState().actions.loadMoreCommits("C:/repo-a"); + store.getState().actions.prepareRepositoryLoad("C:/repo-b"); + resolveHistory({ commits: commits(100), hasMore: true }); + await pending; + + expect(store.getState().currentRepoPath).toBe("C:/repo-b"); + expect(store.getState().commits).toEqual([]); + expect(store.getState().isLoadingMoreCommits).toBe(false); + }); +}); diff --git a/windows/tauri/src/features/git/stores/git.store.ts b/windows/tauri/src/features/git/stores/git.store.ts index 5eb5334cf..7223fd477 100644 --- a/windows/tauri/src/features/git/stores/git.store.ts +++ b/windows/tauri/src/features/git/stores/git.store.ts @@ -1,6 +1,6 @@ import { createStore } from "zustand/vanilla"; import { createWorkspaceScopedStore } from "@/features/workspace/stores/create-workspace-scoped-store"; -import { getGitLog } from "../api/git-commits-api"; +import { getGitHistory } from "../api/git-commits-api"; import { getGitStatus } from "../api/git-status-api"; import type { GitCommit, GitStash, GitStatus } from "../types/git.types"; @@ -23,6 +23,7 @@ interface GitState { loadFreshGitData: (data: { gitStatus: GitStatus | null; commits: GitCommit[]; + hasMoreCommits: boolean; branches: string[]; stashes: GitStash[]; repoPath: string; @@ -31,6 +32,7 @@ interface GitState { gitStatus: GitStatus | null; branches?: string[]; commits?: GitCommit[]; + hasMoreCommits?: boolean; repoPath: string; }) => void; refreshWorkspaceGitStatus: (repoPath: string) => Promise; @@ -47,6 +49,7 @@ interface GitState { } const COMMITS_PER_PAGE = 50; +const MAX_COMMITS = 5_000; export const createGitStore = () => createStore()((set, get) => ({ @@ -79,7 +82,14 @@ export const createGitStore = () => }); }, - loadFreshGitData: ({ gitStatus, commits, branches, stashes, repoPath }) => { + loadFreshGitData: ({ + gitStatus, + commits, + hasMoreCommits, + branches, + stashes, + repoPath, + }) => { if (get().currentRepoPath !== repoPath) { return; } @@ -89,12 +99,12 @@ export const createGitStore = () => commits, branches, stashes, - hasMoreCommits: commits.length >= COMMITS_PER_PAGE, + hasMoreCommits, currentRepoPath: repoPath, }); }, - refreshGitData: ({ gitStatus, branches, commits, repoPath }) => { + refreshGitData: ({ gitStatus, branches, commits, hasMoreCommits, repoPath }) => { if (get().currentRepoPath !== repoPath) { return; } @@ -105,7 +115,7 @@ export const createGitStore = () => ...(commits ? { commits, - hasMoreCommits: commits.length >= COMMITS_PER_PAGE, + hasMoreCommits: hasMoreCommits ?? false, } : {}), }); @@ -129,27 +139,28 @@ export const createGitStore = () => if (currentRepoPath !== repoPath || !hasMoreCommits || isLoadingMoreCommits) return; + if (commits.length >= MAX_COMMITS) { + set({ hasMoreCommits: false }); + return; + } + set({ isLoadingMoreCommits: true }); try { - const newCommits = await getGitLog(repoPath, COMMITS_PER_PAGE, commits.length); - if (get().currentRepoPath !== repoPath) { + const requestedLimit = Math.min(commits.length + COMMITS_PER_PAGE, MAX_COMMITS); + const history = await getGitHistory(repoPath, requestedLimit); + if (!history || get().currentRepoPath !== repoPath) { return; } - const existingHashSet = new Set(commits.map((c) => c.hash)); - const uniqueNewCommits = newCommits.filter((c) => !existingHashSet.has(c.hash)); - - if (uniqueNewCommits.length > 0) { - set({ - commits: [...commits, ...uniqueNewCommits], - hasMoreCommits: uniqueNewCommits.length >= COMMITS_PER_PAGE, - }); - } else { - set({ hasMoreCommits: false }); - } + set({ + commits: history.commits, + hasMoreCommits: history.hasMore && requestedLimit < MAX_COMMITS, + }); } finally { - set({ isLoadingMoreCommits: false }); + if (get().currentRepoPath === repoPath) { + set({ isLoadingMoreCommits: false }); + } } }, diff --git a/windows/tauri/src/features/git/types/git.types.ts b/windows/tauri/src/features/git/types/git.types.ts index 2760d042c..2b47f6de2 100644 --- a/windows/tauri/src/features/git/types/git.types.ts +++ b/windows/tauri/src/features/git/types/git.types.ts @@ -20,6 +20,11 @@ export interface GitCommit { date: string; } +export interface GitHistorySnapshot { + commits: GitCommit[]; + hasMore: boolean; +} + export interface GitDiffLine { line_type: "added" | "removed" | "context" | "header"; content: string; diff --git a/windows/tauri/src/platform/core-result-adapter.history.test.ts b/windows/tauri/src/platform/core-result-adapter.history.test.ts new file mode 100644 index 000000000..98f2735f5 --- /dev/null +++ b/windows/tauri/src/platform/core-result-adapter.history.test.ts @@ -0,0 +1,44 @@ +import { describe, expect, test } from "bun:test"; +import type { GitHistorySnapshot } from "@/features/git/types/git.types"; +import { adaptCoreResult } from "./core-result-adapter"; + +describe("git history result adaptation", () => { + test("preserves commits and the shared core pagination state", () => { + const result = adaptCoreResult( + "git_log", + { repoPath: "C:/work", limit: 50 }, + { + commits: [ + { + hash: "abc123", + subject: "First commit", + authorName: "Developer", + authorEmail: "developer@example.invalid", + date: "2026/08/16 10:00", + }, + ], + hasMore: true, + }, + ); + + expect(result).toEqual({ + commits: [ + { + hash: "abc123", + message: "First commit", + author: "Developer", + email: "developer@example.invalid", + date: "2026/08/16 10:00", + }, + ], + hasMore: true, + }); + }); + + test("defaults missing history fields to an exhausted empty snapshot", () => { + expect(adaptCoreResult("git_log", undefined, {})).toEqual({ + commits: [], + hasMore: false, + }); + }); +}); diff --git a/windows/tauri/src/platform/core-result-adapter.ts b/windows/tauri/src/platform/core-result-adapter.ts index 1f86f93e7..1f512248f 100644 --- a/windows/tauri/src/platform/core-result-adapter.ts +++ b/windows/tauri/src/platform/core-result-adapter.ts @@ -63,15 +63,18 @@ export function adaptCoreResult( : [], } as T; case "git_log": - return (Array.isArray(data.commits) - ? data.commits.map((commit: JsonRecord) => ({ - hash: commit.hash, - message: commit.subject, - author: commit.authorName, - email: commit.authorEmail, - date: commit.date, - })) - : []) as T; + return { + commits: Array.isArray(data.commits) + ? data.commits.map((commit: JsonRecord) => ({ + hash: commit.hash, + message: commit.subject, + author: commit.authorName, + email: commit.authorEmail, + date: commit.date, + })) + : [], + hasMore: Boolean(data.hasMore), + } as T; case "git_branches": return (Array.isArray(data.references) ? data.references From 6cdc3c1cc1065cbf8515f3dbe15475f9bf3304b4 Mon Sep 17 00:00:00 2001 From: ybx <3046829330@qq.com> Date: Sun, 16 Aug 2026 10:25:17 +0800 Subject: [PATCH 4/6] fix(windows): discover the repository from the file's directory --- .../src/features/git/api/git-repo-api.test.ts | 45 +++++++++++++++++++ .../src/features/git/api/git-repo-api.ts | 12 ++++- 2 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 windows/tauri/src/features/git/api/git-repo-api.test.ts diff --git a/windows/tauri/src/features/git/api/git-repo-api.test.ts b/windows/tauri/src/features/git/api/git-repo-api.test.ts new file mode 100644 index 000000000..9cefff172 --- /dev/null +++ b/windows/tauri/src/features/git/api/git-repo-api.test.ts @@ -0,0 +1,45 @@ +import { beforeEach, describe, expect, mock, test } from "bun:test"; + +const invoke = mock(async (_command: string, _args?: unknown): Promise => null); + +mock.module("@/platform/tauri-core", () => ({ invoke })); + +const { clearRepositoryDiscoveryCache, resolveRepositoryForFile } = await import("./git-repo-api"); + +beforeEach(() => { + invoke.mockReset(); + clearRepositoryDiscoveryCache(); +}); + +describe("resolveRepositoryForFile", () => { + test("discovers the repository from the file's directory", async () => { + invoke.mockResolvedValue("D:/work/project"); + + const result = await resolveRepositoryForFile("D:/work/project", "src/main.ts"); + + expect(invoke).toHaveBeenCalledWith("git_discover_repo", { + path: "D:/work/project/src", + }); + expect(result).toEqual({ + repoPath: "D:/work/project", + filePath: "src/main.ts", + }); + }); + + test("keeps absolute file paths relative to the discovered repository", async () => { + invoke.mockResolvedValue("D:/work/project"); + + const result = await resolveRepositoryForFile( + "D:/work", + "D:\\work\\project\\src\\main.ts", + ); + + expect(invoke).toHaveBeenCalledWith("git_discover_repo", { + path: "D:/work/project/src", + }); + expect(result).toEqual({ + repoPath: "D:/work/project", + filePath: "src/main.ts", + }); + }); +}); diff --git a/windows/tauri/src/features/git/api/git-repo-api.ts b/windows/tauri/src/features/git/api/git-repo-api.ts index 1add83713..66073db2d 100644 --- a/windows/tauri/src/features/git/api/git-repo-api.ts +++ b/windows/tauri/src/features/git/api/git-repo-api.ts @@ -81,6 +81,16 @@ function joinPath(basePath: string, childPath: string): string { return normalizePath(`${base}/${child}`); } +function parentPath(path: string): string { + const normalized = normalizePath(path); + const separatorIndex = normalized.lastIndexOf("/"); + if (separatorIndex < 0) return normalized; + if (separatorIndex === 2 && /^[A-Za-z]:\//.test(normalized)) { + return normalized.slice(0, separatorIndex + 1); + } + return separatorIndex === 0 ? "/" : normalized.slice(0, separatorIndex); +} + function toRelativePath(from: string, to: string): string { const normalizedFrom = normalizePath(from); const normalizedTo = normalizePath(to); @@ -205,7 +215,7 @@ export async function resolveRepositoryForFile( filePath: string, ): Promise<{ repoPath: string; filePath: string } | null> { const absoluteFilePath = isAbsolutePath(filePath) ? filePath : joinPath(repoPath, filePath); - const discoveredRepo = await discoverRepo(absoluteFilePath); + const discoveredRepo = await discoverRepo(parentPath(absoluteFilePath)); if (!discoveredRepo) { return null; From 47bb9615e7665cd229cfb21e303d3e03bc6b2c06 Mon Sep 17 00:00:00 2001 From: ybx <3046829330@qq.com> Date: Sun, 16 Aug 2026 11:20:19 +0800 Subject: [PATCH 5/6] fix(windows): align split diffs and editor routing --- .../editor/stores/buffer-pane-sync.ts | 18 +++- .../components/diff/git-diff-editor-stack.tsx | 8 +- .../git/components/diff/git-diff-header.tsx | 9 +- .../components/diff/git-diff-hunk-header.tsx | 13 +-- .../git/components/diff/git-diff-text.tsx | 79 ++++++++++++---- .../git/hooks/use-git-diff-actions.ts | 3 + .../src/features/git/types/git-diff.types.ts | 1 + .../tauri/src/features/git/types/git.types.ts | 9 ++ .../git/utils/git-diff-helpers.test.ts | 61 +++++++++++++ .../features/git/utils/git-diff-helpers.ts | 68 +++++++++++++- .../src/features/git/utils/git-diff-parser.ts | 2 + .../features/panes/utils/pane-routing.test.ts | 64 +++++++++++++ .../src/features/panes/utils/pane-routing.ts | 22 +++++ .../platform/core-result-adapter.diff.test.ts | 90 +++++++++++++++++++ .../tauri/src/platform/core-result-adapter.ts | 62 ++++++++++++- 15 files changed, 471 insertions(+), 38 deletions(-) create mode 100644 windows/tauri/src/features/git/utils/git-diff-helpers.test.ts create mode 100644 windows/tauri/src/features/panes/utils/pane-routing.test.ts diff --git a/windows/tauri/src/features/editor/stores/buffer-pane-sync.ts b/windows/tauri/src/features/editor/stores/buffer-pane-sync.ts index d90e90ef2..68c169a70 100644 --- a/windows/tauri/src/features/editor/stores/buffer-pane-sync.ts +++ b/windows/tauri/src/features/editor/stores/buffer-pane-sync.ts @@ -2,7 +2,10 @@ import { usePaneStore } from "@/features/panes/stores/pane.store"; import type { PaneGroup } from "@/features/panes/types/pane.types"; import type { PaneContent } from "@/features/panes/types/pane-content.types"; import { ensureBufferInPane } from "@/features/panes/utils/pane-buffer-actions"; -import { resolveWritablePaneForBuffer } from "@/features/panes/utils/pane-routing"; +import { + resolveMainPaneForExternalOpen, + resolveWritablePaneForBuffer, +} from "@/features/panes/utils/pane-routing"; import { createPaneBeside } from "@/features/panes/utils/pane-split-actions"; const getPaneState = (workspaceId?: string) => @@ -29,6 +32,19 @@ export const getWritablePaneForBuffer = ( return newPaneId ? paneStore.actions.getPaneById(newPaneId) : activePane; }; +export const activateMainEditorPane = (workspaceId?: string): PaneGroup | null => { + const paneStore = getPaneState(workspaceId); + const targetPane = resolveMainPaneForExternalOpen({ + activePaneId: paneStore.activePaneId, + mostRecentActivePaneIds: paneStore.mostRecentActivePaneIds, + root: paneStore.root, + }); + if (targetPane && targetPane.id !== paneStore.activePaneId) { + paneStore.actions.setActivePane(targetPane.id); + } + return targetPane; +}; + export const syncBufferToPane = (bufferId: string, workspaceId?: string) => { const targetPane = getWritablePaneForBuffer(bufferId, workspaceId); if (!targetPane) return; diff --git a/windows/tauri/src/features/git/components/diff/git-diff-editor-stack.tsx b/windows/tauri/src/features/git/components/diff/git-diff-editor-stack.tsx index 2e82304b9..c83d273ff 100644 --- a/windows/tauri/src/features/git/components/diff/git-diff-editor-stack.tsx +++ b/windows/tauri/src/features/git/components/diff/git-diff-editor-stack.tsx @@ -1036,8 +1036,12 @@ const GitDiffEditorStack = memo(function GitDiffEditorStack({ {multiDiff.title || "Uncommitted Changes"} {indexedFileLabel} - +{multiDiff.totalAdditions} - -{multiDiff.totalDeletions} + {multiDiff.totalAdditions > 0 ? ( + +{multiDiff.totalAdditions} + ) : null} + {multiDiff.totalDeletions > 0 ? ( + -{multiDiff.totalDeletions} + ) : null} {isIndexingDiffs ? {indexingLabel} : null} } diff --git a/windows/tauri/src/features/git/components/diff/git-diff-header.tsx b/windows/tauri/src/features/git/components/diff/git-diff-header.tsx index 1ab7437cc..5c0687146 100644 --- a/windows/tauri/src/features/git/components/diff/git-diff-header.tsx +++ b/windows/tauri/src/features/git/components/diff/git-diff-header.tsx @@ -14,7 +14,7 @@ import Breadcrumb, { import { useBufferStore } from "@/features/editor/stores/buffer.store"; import { cn } from "@/utils/cn"; import type { DiffHeaderProps } from "../../types/git-diff.types"; -import { getFileStatus } from "../../utils/git-diff-helpers"; +import { countDiffStats, getFileStatus } from "../../utils/git-diff-helpers"; const DiffHeader = memo( ({ @@ -45,12 +45,7 @@ const DiffHeader = memo( const renderStats = () => { if (!diff) return null; - let additions = 0; - let deletions = 0; - for (const l of diff.lines) { - if (l.line_type === "added") additions++; - else if (l.line_type === "removed") deletions++; - } + const { additions, deletions } = countDiffStats([diff]); return ( <> diff --git a/windows/tauri/src/features/git/components/diff/git-diff-hunk-header.tsx b/windows/tauri/src/features/git/components/diff/git-diff-hunk-header.tsx index d7417f061..30fc9cafe 100644 --- a/windows/tauri/src/features/git/components/diff/git-diff-hunk-header.tsx +++ b/windows/tauri/src/features/git/components/diff/git-diff-hunk-header.tsx @@ -18,6 +18,7 @@ import { createGitHunk, parseDiffHunkRange } from "../../utils/git-diff-helpers" const DiffHunkHeader = memo( ({ hunk, + stats, hiddenLineCount, isCollapsed, onToggleCollapse, @@ -66,11 +67,13 @@ const DiffHunkHeader = memo( [rootFolderPath, filePath, hunk, isStaged, onStageHunk, onUnstageHunk], ); - let additions = 0; - let deletions = 0; - for (const l of hunk.lines) { - if (l.line_type === "added") additions++; - else if (l.line_type === "removed") deletions++; + let additions = stats?.additions ?? 0; + let deletions = stats?.deletions ?? 0; + if (!stats) { + for (const l of hunk.lines) { + if (l.line_type === "added") additions++; + else if (l.line_type === "removed") deletions++; + } } const headerInfo = parseDiffHunkRange(hunk.header.content); diff --git a/windows/tauri/src/features/git/components/diff/git-diff-text.tsx b/windows/tauri/src/features/git/components/diff/git-diff-text.tsx index 701906e99..e8f76fd50 100644 --- a/windows/tauri/src/features/git/components/diff/git-diff-text.tsx +++ b/windows/tauri/src/features/git/components/diff/git-diff-text.tsx @@ -10,8 +10,14 @@ import type { ParsedHunk, TextDiffViewerProps, } from "../../types/git-diff.types"; +import type { GitDiffSplitRow } from "../../types/git.types"; import { DIFF_HIGHLIGHT_LINE_THRESHOLD } from "../../utils/diff-viewer-scale"; -import { getSkippedUnchangedLineCount, groupLinesIntoHunks } from "../../utils/git-diff-helpers"; +import { + createFallbackSplitRows, + countSplitDiffStats, + getSkippedUnchangedLineCount, + groupLinesIntoHunks, +} from "../../utils/git-diff-helpers"; import DiffHunkHeader from "./git-diff-hunk-header"; import DiffLine, { getContentColor, @@ -19,13 +25,13 @@ import DiffLine, { getGutterTextColor, getLineBackground, getRailClassName, - getSplitLineMeta, renderDiffLineContent, } from "./git-diff-line"; function SplitDiffCodePanel({ side, - lines, + rows, + sourceLines, tokenMap, showWhitespace, fontSize, @@ -34,7 +40,8 @@ function SplitDiffCodePanel({ searchHighlights, }: { side: "left" | "right"; - lines: ParsedHunk["lines"]; + rows: GitDiffSplitRow[]; + sourceLines: ParsedHunk["lines"]; tokenMap: ReturnType; showWhitespace: boolean; fontSize: number; @@ -42,6 +49,15 @@ function SplitDiffCodePanel({ tabSize: number; searchHighlights?: Map; }) { + const sourceLinesByNumber = useMemo(() => { + const entries = sourceLines.flatMap((line) => { + const lineNumber = side === "left" ? line.old_line_number : line.new_line_number; + const visible = side === "left" ? line.line_type !== "added" : line.line_type !== "removed"; + return visible && lineNumber !== undefined ? [[lineNumber, line] as const] : []; + }); + return new Map(entries); + }, [side, sourceLines]); + const contentStyle = { fontSize: `${fontSize}px`, lineHeight: `${lineHeight}px`, @@ -54,19 +70,28 @@ function SplitDiffCodePanel({ return (
- {lines.map((line, index) => { - const meta = getSplitLineMeta(line, side); + {rows.map((row, index) => { + const lineNumber = side === "left" ? row.old_line_number : row.new_line_number; + const content = side === "left" ? row.old_content : row.new_content; + const isVisible = content !== undefined; + const diffType = isVisible + ? side === "left" && (row.kind === "changed" || row.kind === "removal") + ? "removed" + : side === "right" && (row.kind === "changed" || row.kind === "addition") + ? "added" + : "context" + : "context"; return (
- {meta.isVisible ? meta.gutterNumber : ""} + {isVisible ? lineNumber : ""}
); })} @@ -74,23 +99,33 @@ function SplitDiffCodePanel({
- {lines.map((line, index) => { - const meta = getSplitLineMeta(line, side); - const tokens = tokenMap.get(line.diffIndex); + {rows.map((row, index) => { + const lineNumber = side === "left" ? row.old_line_number : row.new_line_number; + const content = side === "left" ? row.old_content : row.new_content; + const sourceLine = lineNumber === undefined ? undefined : sourceLinesByNumber.get(lineNumber); + const isVisible = content !== undefined; + const diffType = isVisible + ? side === "left" && (row.kind === "changed" || row.kind === "removal") + ? "removed" + : side === "right" && (row.kind === "changed" || row.kind === "addition") + ? "added" + : "context" + : "context"; + const tokens = sourceLine ? tokenMap.get(sourceLine.diffIndex) : undefined; return (
- - {meta.isVisible + + {isVisible ? renderDiffLineContent( - line.content, + content, tokens, showWhitespace, - searchHighlights?.get(line.diffIndex), + sourceLine ? searchHighlights?.get(sourceLine.diffIndex) : undefined, ) : ""} @@ -169,10 +204,12 @@ const TextDiffViewer = memo( {hunks.map((hunk, hunkIndex) => { const isCollapsed = collapsedHunks.has(hunk.id); const hiddenLineCount = getSkippedUnchangedLineCount(hunks[hunkIndex - 1], hunk); + const splitRows = diff.split_hunks?.[hunkIndex] ?? createFallbackSplitRows(hunk.lines); return (
toggleHunkCollapse(hunk.id)} @@ -187,7 +224,8 @@ const TextDiffViewer = memo(
{ const isCollapsed = collapsedHunks.has(hunk.id); const hiddenLineCount = getSkippedUnchangedLineCount(hunks[hunkIndex - 1], hunk); + const splitRows = diff.split_hunks?.[hunkIndex] ?? createFallbackSplitRows(hunk.lines); return (
toggleHunkCollapse(hunk.id)} diff --git a/windows/tauri/src/features/git/hooks/use-git-diff-actions.ts b/windows/tauri/src/features/git/hooks/use-git-diff-actions.ts index b1cff41cb..564517639 100644 --- a/windows/tauri/src/features/git/hooks/use-git-diff-actions.ts +++ b/windows/tauri/src/features/git/hooks/use-git-diff-actions.ts @@ -1,4 +1,5 @@ import { useCallback, useState } from "react"; +import { activateMainEditorPane } from "@/features/editor/stores/buffer-pane-sync"; import { useBufferStore } from "@/features/editor/stores/buffer.store"; import { showAlertDialog } from "@/ui/dialog"; import { getCommitDiff, getFileDiff, getRefDiff, getStashDiff } from "../api/git-diff-api"; @@ -29,6 +30,7 @@ function openDiffBuffer( displayName: string, diffData: GitDiff | MultiFileDiff, ) { + activateMainEditorPane(); return useBufferStore .getState() .actions.openBuffer(virtualPath, displayName, "", false, undefined, true, true, diffData); @@ -100,6 +102,7 @@ export function useGitDiffActions({ try { const actualFilePath = normalizeDisplayedFilePath(filePath, "new"); + activateMainEditorPane(); onFileSelect(`${activeRepoPath}/${actualFilePath}`, false); } catch (error) { console.error("Error opening file:", error); diff --git a/windows/tauri/src/features/git/types/git-diff.types.ts b/windows/tauri/src/features/git/types/git-diff.types.ts index 97ca938d6..2b424993f 100644 --- a/windows/tauri/src/features/git/types/git-diff.types.ts +++ b/windows/tauri/src/features/git/types/git-diff.types.ts @@ -44,6 +44,7 @@ export interface DiffHeaderProps { export interface DiffHunkHeaderProps { hunk: ParsedHunk; + stats?: { additions: number; deletions: number }; hiddenLineCount?: number | null; isCollapsed: boolean; onToggleCollapse: () => void; diff --git a/windows/tauri/src/features/git/types/git.types.ts b/windows/tauri/src/features/git/types/git.types.ts index 2b47f6de2..d9646703b 100644 --- a/windows/tauri/src/features/git/types/git.types.ts +++ b/windows/tauri/src/features/git/types/git.types.ts @@ -32,6 +32,14 @@ export interface GitDiffLine { new_line_number?: number; } +export interface GitDiffSplitRow { + kind: "context" | "changed" | "addition" | "removal"; + old_line_number?: number; + new_line_number?: number; + old_content?: string; + new_content?: string; +} + export interface GitDiff { file_path: string; old_path?: string; @@ -48,6 +56,7 @@ export interface GitDiff { additions?: number; deletions?: number; is_truncated?: boolean; + split_hunks?: GitDiffSplitRow[][]; } export interface GitDiffStat { diff --git a/windows/tauri/src/features/git/utils/git-diff-helpers.test.ts b/windows/tauri/src/features/git/utils/git-diff-helpers.test.ts new file mode 100644 index 000000000..c94961f37 --- /dev/null +++ b/windows/tauri/src/features/git/utils/git-diff-helpers.test.ts @@ -0,0 +1,61 @@ +import { describe, expect, test } from "bun:test"; +import type { DiffLineWithIndex } from "../types/git-diff.types"; +import { countSplitDiffStats, createFallbackSplitRows } from "./git-diff-helpers"; + +describe("split diff fallback alignment", () => { + test("pairs removals and additions into shared visual rows", () => { + const lines: DiffLineWithIndex[] = [ + { + line_type: "context", + content: "a", + old_line_number: 1, + new_line_number: 1, + diffIndex: 1, + }, + { + line_type: "removed", + content: "aa", + old_line_number: 2, + diffIndex: 2, + }, + { + line_type: "added", + content: "aa", + new_line_number: 2, + diffIndex: 3, + }, + { + line_type: "added", + content: "abc", + new_line_number: 3, + diffIndex: 4, + }, + ]; + + const rows = createFallbackSplitRows(lines); + expect(rows).toEqual([ + { + kind: "context", + old_line_number: 1, + new_line_number: 1, + old_content: "a", + new_content: "a", + }, + { + kind: "context", + old_line_number: 2, + new_line_number: 2, + old_content: "aa", + new_content: "aa", + }, + { + kind: "addition", + old_line_number: undefined, + new_line_number: 3, + old_content: undefined, + new_content: "abc", + }, + ]); + expect(countSplitDiffStats([rows])).toEqual({ additions: 1, deletions: 0 }); + }); +}); diff --git a/windows/tauri/src/features/git/utils/git-diff-helpers.ts b/windows/tauri/src/features/git/utils/git-diff-helpers.ts index 5212cd3fb..903381d85 100644 --- a/windows/tauri/src/features/git/utils/git-diff-helpers.ts +++ b/windows/tauri/src/features/git/utils/git-diff-helpers.ts @@ -1,5 +1,5 @@ import type { DiffLineWithIndex, ParsedHunk } from "../types/git-diff.types"; -import type { GitDiff, GitDiffLine, GitHunk } from "../types/git.types"; +import type { GitDiff, GitDiffLine, GitDiffSplitRow, GitHunk } from "../types/git.types"; export { getDiffLineVisualState, getDiffLineVisualType } from "./diff-viewer-visuals"; export interface DiffHunkRange { @@ -104,6 +104,72 @@ export function groupLinesIntoHunks(lines: GitDiffLine[]): ParsedHunk[] { return hunks; } +export function createFallbackSplitRows(lines: DiffLineWithIndex[]): GitDiffSplitRow[] { + const rows: GitDiffSplitRow[] = []; + let index = 0; + + while (index < lines.length) { + const line = lines[index]; + if (line.line_type === "context") { + rows.push({ + kind: "context", + old_line_number: line.old_line_number, + new_line_number: line.new_line_number, + old_content: line.content, + new_content: line.content, + }); + index++; + continue; + } + + const removed: DiffLineWithIndex[] = []; + const added: DiffLineWithIndex[] = []; + while (index < lines.length && lines[index].line_type !== "context") { + const changedLine = lines[index]; + if (changedLine.line_type === "removed") removed.push(changedLine); + if (changedLine.line_type === "added") added.push(changedLine); + index++; + } + + const rowCount = Math.max(removed.length, added.length); + for (let rowIndex = 0; rowIndex < rowCount; rowIndex++) { + const oldLine = removed[rowIndex]; + const newLine = added[rowIndex]; + rows.push({ + kind: + oldLine && newLine + ? oldLine.content === newLine.content + ? "context" + : "changed" + : oldLine + ? "removal" + : "addition", + old_line_number: oldLine?.old_line_number, + new_line_number: newLine?.new_line_number, + old_content: oldLine?.content, + new_content: newLine?.content, + }); + } + } + + return rows; +} + +export function countSplitDiffStats(splitHunks: GitDiffSplitRow[][]): { + additions: number; + deletions: number; +} { + let additions = 0; + let deletions = 0; + + for (const row of splitHunks.flat()) { + if (row.kind === "addition" || row.kind === "changed") additions++; + if (row.kind === "removal" || row.kind === "changed") deletions++; + } + + return { additions, deletions }; +} + export function countDiffStats(diffs: GitDiff[]): { additions: number; deletions: number } { let additions = 0; let deletions = 0; diff --git a/windows/tauri/src/features/git/utils/git-diff-parser.ts b/windows/tauri/src/features/git/utils/git-diff-parser.ts index bc2f23bb8..76a94b9f9 100644 --- a/windows/tauri/src/features/git/utils/git-diff-parser.ts +++ b/windows/tauri/src/features/git/utils/git-diff-parser.ts @@ -160,6 +160,8 @@ function parseDiffSection(lines: string[], fallbackFilePath: string): GitDiff { }); currentOldLine++; currentNewLine++; + } else if (line.startsWith("\\ No newline at end of file")) { + continue; } else if (line.trim()) { diffLines.push({ line_type: "context", diff --git a/windows/tauri/src/features/panes/utils/pane-routing.test.ts b/windows/tauri/src/features/panes/utils/pane-routing.test.ts new file mode 100644 index 000000000..77040613d --- /dev/null +++ b/windows/tauri/src/features/panes/utils/pane-routing.test.ts @@ -0,0 +1,64 @@ +import { describe, expect, test } from "bun:test"; +import type { PaneGroup, PaneNode } from "../types/pane.types"; +import { resolveMainPaneForExternalOpen } from "./pane-routing"; + +const pane = (id: string): PaneGroup => ({ + id, + type: "group", + bufferIds: [], + activeBufferId: null, +}); + +describe("main pane routing for external opens", () => { + test("keeps an active main editor pane", () => { + const mainPane = pane("main"); + + expect( + resolveMainPaneForExternalOpen({ + activePaneId: "main", + mostRecentActivePaneIds: ["main"], + root: mainPane, + }), + ).toBe(mainPane); + }); + + test("routes away from the bottom pane to the most recent main pane", () => { + const firstPane = pane("first"); + const recentPane = pane("recent"); + const root: PaneNode = { + id: "main-split", + type: "split", + direction: "horizontal", + children: [firstPane, recentPane], + sizes: [50, 50], + }; + + expect( + resolveMainPaneForExternalOpen({ + activePaneId: "bottom-pane", + mostRecentActivePaneIds: ["bottom-pane", "recent", "first"], + root, + }), + ).toBe(recentPane); + }); + + test("falls back to the first main pane when history has no main pane", () => { + const firstPane = pane("first"); + const secondPane = pane("second"); + const root: PaneNode = { + id: "main-split", + type: "split", + direction: "vertical", + children: [firstPane, secondPane], + sizes: [50, 50], + }; + + expect( + resolveMainPaneForExternalOpen({ + activePaneId: "bottom-pane", + mostRecentActivePaneIds: ["bottom-pane"], + root, + }), + ).toBe(firstPane); + }); +}); diff --git a/windows/tauri/src/features/panes/utils/pane-routing.ts b/windows/tauri/src/features/panes/utils/pane-routing.ts index 035b1cfe9..51da5f01d 100644 --- a/windows/tauri/src/features/panes/utils/pane-routing.ts +++ b/windows/tauri/src/features/panes/utils/pane-routing.ts @@ -9,6 +9,28 @@ export interface WritablePaneRoutingInput { root: PaneNode; } +export interface MainPaneRoutingInput { + activePaneId: string; + mostRecentActivePaneIds: string[]; + root: PaneNode; +} + +export function resolveMainPaneForExternalOpen({ + activePaneId, + mostRecentActivePaneIds, + root, +}: MainPaneRoutingInput): PaneGroup | null { + const mainPanes = getAllPaneGroups(root); + const paneById = new Map(mainPanes.map((pane) => [pane.id, pane] as const)); + + return ( + paneById.get(activePaneId) ?? + mostRecentActivePaneIds.map((paneId) => paneById.get(paneId)).find(Boolean) ?? + mainPanes[0] ?? + null + ); +} + export function getPaneScopeForPaneId(root: PaneNode, bottomRoot: PaneNode, paneId: string) { const rootPanes = getAllPaneGroups(root); if (rootPanes.some((pane) => pane.id === paneId)) { diff --git a/windows/tauri/src/platform/core-result-adapter.diff.test.ts b/windows/tauri/src/platform/core-result-adapter.diff.test.ts index cefe734b3..140d1d1f7 100644 --- a/windows/tauri/src/platform/core-result-adapter.diff.test.ts +++ b/windows/tauri/src/platform/core-result-adapter.diff.test.ts @@ -1,4 +1,5 @@ import { describe, expect, test } from "bun:test"; +import type { GitDiff } from "@/features/git/types/git.types"; import { adaptCoreResult } from "./core-result-adapter"; const twoFilePatch = `diff --git a/a.txt b/a.txt @@ -54,4 +55,93 @@ describe("git single-file diff adaptation", () => { expect((diff as { file_path: string }).file_path).toBe("a.txt"); }); + + test("preserves Core's aligned rows for the split viewer", () => { + const patch = `diff --git a/a.txt b/a.txt +--- a/a.txt ++++ b/a.txt +@@ -1,2 +1,3 @@ + a +-aa +\\ No newline at end of file ++aa ++abc +\\ No newline at end of file +`; + const diff = adaptCoreResult( + "git_diff_file", + { repoPath: "C:/work", filePath: "a.txt" }, + { + patch, + rows: [ + { kind: "information", left: "@@ -1,2 +1,3 @@", hunkId: "hunk-0" }, + { kind: "context", oldLine: 1, newLine: 1, left: "a", hunkId: "hunk-0" }, + { kind: "changed", oldLine: 2, newLine: 2, left: "aa", right: "aa", hunkId: "hunk-0" }, + { kind: "addition", newLine: 3, right: "abc", hunkId: "hunk-0" }, + ], + }, + ) as GitDiff; + + expect(diff.split_hunks).toEqual([ + [ + { + kind: "context", + old_line_number: 1, + new_line_number: 1, + old_content: "a", + new_content: "a", + }, + { + kind: "context", + old_line_number: 2, + new_line_number: 2, + old_content: "aa", + new_content: "aa", + }, + { + kind: "addition", + old_line_number: undefined, + new_line_number: 3, + old_content: undefined, + new_content: "abc", + }, + ], + ]); + expect({ additions: diff.additions, deletions: diff.deletions }).toEqual({ + additions: 1, + deletions: 0, + }); + expect(diff.lines.some((line) => line.content.includes("No newline"))).toBe(false); + }); + + test("uses semantic stats when an unchanged EOF line is paired", () => { + const patch = `diff --git a/a.txt b/a.txt +--- a/a.txt ++++ b/a.txt +@@ -1,2 +1,3 @@ + a +-aa +\\ No newline at end of file ++aa ++abc +\\ No newline at end of file +`; + const stats = adaptCoreResult( + "git_status_diff_stats", + { repoPath: "C:/work" }, + { + patch, + rows: [ + { kind: "information", left: "@@ -1,2 +1,3 @@", hunkId: "hunk-0" }, + { kind: "context", oldLine: 1, newLine: 1, left: "a", hunkId: "hunk-0" }, + { kind: "changed", oldLine: 2, newLine: 2, left: "aa", right: "aa", hunkId: "hunk-0" }, + { kind: "addition", newLine: 3, right: "abc", hunkId: "hunk-0" }, + ], + }, + ); + + expect(stats).toEqual([ + { file_path: "a.txt", staged: false, additions: 1, deletions: 0 }, + ]); + }); }); diff --git a/windows/tauri/src/platform/core-result-adapter.ts b/windows/tauri/src/platform/core-result-adapter.ts index 1f512248f..522f181c2 100644 --- a/windows/tauri/src/platform/core-result-adapter.ts +++ b/windows/tauri/src/platform/core-result-adapter.ts @@ -1,4 +1,6 @@ import { parseRawDiffContent } from "@/features/git/utils/git-diff-parser"; +import type { GitDiff, GitDiffSplitRow } from "@/features/git/types/git.types"; +import { countSplitDiffStats } from "@/features/git/utils/git-diff-helpers"; type JsonRecord = Record; @@ -14,6 +16,59 @@ function normalizeStatus(status: string, untracked: boolean): string { return "modified"; } +function adaptStructuredSplitHunks(value: unknown): GitDiffSplitRow[][] { + if (!Array.isArray(value)) return []; + + const hunks: GitDiffSplitRow[][] = []; + let currentHunk: GitDiffSplitRow[] | null = null; + + for (const item of value) { + const row = asRecord(item); + const kind = String(row.kind ?? ""); + if (kind === "information") { + if (currentHunk) hunks.push(currentHunk); + currentHunk = []; + continue; + } + if (!currentHunk) currentHunk = []; + if (!["context", "changed", "addition", "removal"].includes(kind)) continue; + + const left = typeof row.left === "string" ? row.left : undefined; + const right = typeof row.right === "string" ? row.right : kind === "context" ? left : undefined; + const visualKind = kind === "changed" && left === right ? "context" : kind; + currentHunk.push({ + kind: visualKind as GitDiffSplitRow["kind"], + old_line_number: typeof row.oldLine === "number" ? row.oldLine : undefined, + new_line_number: typeof row.newLine === "number" ? row.newLine : undefined, + old_content: left, + new_content: right, + }); + } + + if (currentHunk) hunks.push(currentHunk); + return hunks; +} + +function attachStructuredSplitHunks(diffs: GitDiff[], value: unknown): GitDiff[] { + const availableHunks = adaptStructuredSplitHunks(value); + let hunkOffset = 0; + + return diffs.map((diff) => { + const hunkCount = diff.lines.filter((line) => line.line_type === "header").length; + const splitHunks = availableHunks.slice(hunkOffset, hunkOffset + hunkCount); + hunkOffset += hunkCount; + if (splitHunks.length !== hunkCount || hunkCount === 0) return diff; + + const stats = countSplitDiffStats(splitHunks); + return { + ...diff, + split_hunks: splitHunks, + additions: stats.additions, + deletions: stats.deletions, + }; + }); +} + function adaptDiff(command: string, args: JsonRecord | undefined, value: unknown): unknown { const data = asRecord(value); const patch = typeof data.patch === "string" ? data.patch : ""; @@ -24,13 +79,14 @@ function adaptDiff(command: string, args: JsonRecord | undefined, value: unknown argumentsRecord.baseRef ?? `git-${command}.diff`; const parsed = parseRawDiffContent(patch, String(fallback)); + const parsedDiffs = "files" in parsed ? parsed.files : [parsed]; + const diffs = attachStructuredSplitHunks(parsedDiffs, data.rows); if (command === "git_diff_file") { - return "files" in parsed ? parsed.files[0] ?? null : parsed; + return diffs[0] ?? null; } if (command === "git_status_diff_stats") { const staged = Boolean(argumentsRecord.staged); - const diffs = "files" in parsed ? parsed.files : [parsed]; return diffs.map((diff) => ({ file_path: diff.file_path, staged, @@ -38,7 +94,7 @@ function adaptDiff(command: string, args: JsonRecord | undefined, value: unknown deletions: diff.deletions ?? diff.lines.filter((line) => line.line_type === "removed").length, })); } - return "files" in parsed ? parsed.files : [parsed]; + return diffs; } export function adaptCoreResult( From 2c289ea4895be71e5888398dc46b02a7ea5fd08a Mon Sep 17 00:00:00 2001 From: ybx <3046829330@qq.com> Date: Sun, 16 Aug 2026 11:27:13 +0800 Subject: [PATCH 6/6] docs: add Windows split diff screenshots --- .../screenshots/windows-git-split-addition.png | Bin 0 -> 104304 bytes .../screenshots/windows-git-split-deletion.png | Bin 0 -> 102312 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/assets/screenshots/windows-git-split-addition.png create mode 100644 docs/assets/screenshots/windows-git-split-deletion.png diff --git a/docs/assets/screenshots/windows-git-split-addition.png b/docs/assets/screenshots/windows-git-split-addition.png new file mode 100644 index 0000000000000000000000000000000000000000..c83287138efcf8db02cf26c66ff48aa30c610635 GIT binary patch literal 104304 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

P1 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 literal 0 HcmV?d00001 diff --git a/docs/assets/screenshots/windows-git-split-deletion.png b/docs/assets/screenshots/windows-git-split-deletion.png new file mode 100644 index 0000000000000000000000000000000000000000..b57616015055f3e28badb4e1ef00ab629aa84e2a GIT binary patch literal 102312 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 z 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ⅅ|txguIOx5Q~xVvkL7&Mc&`E%vk%nnP- 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%0A&+N6jo6xNzciHXtUEdoW>bHGCfcda%hsieT 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≶r(LuB54hch$OyU56=z_I4Al52q7# z6ZA}>x>J~Bp;i*PR}x51jmG-e%h4E^1On)0%wtk<==qx>A^H;7P_grGgyl0-CaF|e zmF=?IgK@>*-9W~$+HT1d=v?@0k06c!0N^T$tIlQk`1tU+ETJ`_Pju)I@vs7a)xqr{ zUV)w@;q~BX9_TgU=b^|m446&yO2-?AESj*?~v-P`^3DpM>O zi!m1(E+{N?T(xPHX>a96-R1Lx7^a=igF^E8=5yR9{7n_$WBJPVM=OGgVeXz_95v@q zFJ6SZ#Ej(V=H|$L9!83>x*At^pRKY~Rf?omH@o<<7%CWcb-pd%Y=M}Q$0HY-5h?v! zH~=@?j#9LXZwz|!BHv8~*$z|uK z!WaTaVzCJ2UE>HCmF}xU-a*FleK%*N9Bg-tcfm~B)xB84;pD4i0e&3y>uGPoNiSDq zvOLtSIEO`U(%s$WYqemEo_2MsX)p9sBNhV8M6zG)}h|UcY{AR9@4GD5}?=Fj`?cy%J%+IpjE5 zqRy3gq&R9c8VW1gkHu`Ev6?f#ytJgEqEZ9&1Dem(0bTtVwZi;jZ1$UZg9c_mQavor zh1t#W_Q@+k;e9m*<(yoL2@ckS9zg#csq~<{BR9Z6#Wh#)$kaDmQczP zkCl^K%Fc!Z_%-PJxi+y0_BCA8Ohl=N%KThe{04AD#?!cZ}X z_f0av$9q}{*zyQmrQtaaG#YkwTRB1N5Ih=`oyWg?c@&*8|y*}!u1{&Fyw_-}&)uqg= zwos*41>~Wjq0P+9L}TdH4!S?33fzYgptD41Y|Yl%H{NY+2VpX0?C|0ICJqqGd8$Ai zbTXnE*zf?M1P;_eAfR0HkH)aMH zrX(V?p0y^pSn4$P*^)&Z&{W7|v%^9%VNdX1s;SMUhY3hkG&ai8jJQR9vPzyozb$*oNX-#7*o-EJ1N|c0hXE*Djpbn zP)1)cc7EJRO%znW9$y%lD1Dder+!OwJa$WOX^{KehiM^+Kc8RZLa#HCt3G;UfHdL6 zsau^o)1!1$)a_u=S31MR5~%D|mmsj7o*W$=9$MPlM-7w9Q;7q!pjQ1Os@1N6+9fAo z_0R?Q!+6-?+zAkY`2AqvN0geI<6;V*mC*a9F0dCNzm1&O8^C8~R`r-5JaWsk2O_Ij z`oSx-2V)C={P;DV$>jT<83}1G6@$^t#Kg*m`#n0Hm{oYu##V$dkS|;VlI>5>`4P?b z)IVK{&~aK^pDCX$_a`ey!00}cNi%U_{c)!;qT0?>T1t2HsykMQV6B_H{C$#-=~W=6 zvB_m0@v;D%kxZL(dH{3vR#bg<4h!p~YN}VH_mTs~tJz=D?d5 z&9NV@ijSi&W#AAR+u`0{o|Eg8-ID9OaGG(48F}BbOTn*B=*v~B*?qKg034Moh2flL ztfI^HnYe78LN+i!58a0a5)Ox=d^AVy`YN|@nBuY>*WF~QY;xhp=S%LkJC-&hy#em7uM)Apu-O9O09s)t4YL(~Vn&}c5AE`w8I-qES1J5qk6T26V*ZbXd zo4pwGr_XjSd*-L_#LW1gKkyDu85HBeZOI`lgqhM(B$|YgcKivA9EmjK24pgaO=nAF z$F44x;c~{a-b7=in~B>qRNP;iV_pfSTMCYG`lwdZ>$l0fn<=>Nbi5G^jix&$CoMax zL&4;-x;LM9soXS}s82IDkTcx(#-2WyEhD^69qP5bZQ4?Wq@E2H6e$>No2hfM7!KVh zDr7f;dO;|kB~vW0)~i^4@1!H8y_=sqE**$wYqMCEJ#QL1s1=5hW#d z<4yN1+k@k!8^2#|85at2+W?C3=8Z2!l^VJ!Fl2`I;-??(N0IX*-Bq?@N@h;p$M6XV z*Jq)MB*62i0hQUtq2XH5;W#&Wl0g0xmfrk>lF86=f&U2CtLuA&PH64GbVPtMFChsU!+?=shyZnL+R zT3!}hn2qV1lWV)(oT1LURqCmK_c9OFyJT*K6KCSRS7fv9L*2(z?m7&hZcr+++x8Zr zavu4%YTYPgbko}7?Yo~IBZrJ>C&3>ZInOdn`eN4HtSWkhj)NQq^^*s8K%yyfP+EB4t@AF>eQyd0MNdu{6 zH1nvZTEOQK@pgBYa$~FI4Ab^LG1Yw5O0%=vXKZEp>izG+^U`>h<*-1TD6w=L4z?c&Gx#V-#&rPhOSa3smFfqK*sopK~VZQ$Oh1kFd zKk99)u0?tYXbJ|P;YB_m+W*%pm^WWizM@C2#&x^UJWA^f{YJ0#^NaiWZrFff7;y{| zg@S}oU0t2gNY>%Z!6M+wBeHT1aimG3P7d2~;c?g%XdlA5CVp@mR#PpPxF8B2T^%C4 z@s9;EdgbBxPjQbTjD+9+(2-jSv>RMhcf@cwGYE&{YO35g^!)rhYG8ATFM#*`djMC; z=4hq!bbGwX!-<(0vpp6GnS_~3>?l;XNm#1!s!IAN);}O zzAwdHSsjmNs;#AeigKZ|f3Grhq7-^%VdQx;>!M;3s8-lN&+yLK2h2)!WlKka@6BKD zc}U4`p^LQsyoV8-0-ZhryS1%N?DnYp>U8^jYt$GZasVo2~uBOSklxkh)c zYEK$E`@K5*ImcH_w=2txrc-FYqSZ^Pq){X7)KnW6aq|XsKSc4BH_^< zDiGBuR(!O^+$_IVp8+-S=!Kr1^;p2eQpb~L>$y+Lrf}Y?tLBAs2bM>W`6zA~;7dzd z+9_`l5tmGjWcy0dzM;BT!}OKv+W9|;nGQZT!@o)6kq%+<)_^QF)FPXp^Xn@K9uJRQ z=nWeszc_w@xsZUMNVEj8+|ljRib@ek#cvb-Ma%&eKiK(iuyxE$p8dUD9GI_vidul| z`+%De8W`~sP(T1*>iEF@$j0q1Poj>{*Dmj zY3q0kFTi$Q|Gnbh^aL36)fx0tMs;N>&=CB`y#rZEC0NhDjp$=6@VY2FDO=XABkAw& zKI*iFG#JIdIab5~Jh;M+Pay;!stEE)1^zG;C>Gc~*w|k$UEl_mjJ=^%g8X1SO27jD z`|@DwrkB6B%>5eAAcy4ONrT&wHT3_ppoI&tomaq?-${EUWk-A12>f|7AgC#auR`eeZvNx26`Qlh+n{N~UI}*V?cPM1!_}v zAVGzp04yEA?iX+eL{jF+!7Q#k*;&LbNv__lLQ z24d=W)Bpk|h6lVFnu=EWL6_oWn|_?{?#Y)pwXjmwp6|@&iiY_xkRuuj?>lrB7JrF*Qwn(;(Oz(5oMB^_Lkqs}u=@P4Qj z36Hg3bX9oY#OPLM=)57b8SC9HG_j*yi-Un5z=*kx z)2phgD);+arunfSKLILRgHb>|zRQ#Tq5Ax+ne>UQ3s7KZwUD1O&YX7@9!-viHB2~# zoI<*Py`xEs{k(|VeJnMn)R4ZpI8bmqRe<=}=yrd$8ZP3-(cA)z5y0d$n>hx~(C^o# z&5w=IdjcLA<`Dsoh5`ysK@3E6-HNpTl)pVD0rBo7vdIITfO}Yi$1W_v+*JKSY~k1r zY``doiiym|R<%3UC>ews!`7%o!twqa%VEIR`Fde>H4?s~ds?>#cO+PaWGAumbk)ne zKXl~&M)lGu`yDz#V8j*MTK5xJm6 z3bzp}^WeQ%m;l>(`M|6u6!18DgDv%+dal`#xiEg8iU{_@4rCL9G zso`+Oi7E>RyIz>0ci=lJO@f~@?A%5bIDhd59eN~7vhM)?x*ijiHm7gBgh&(v9)rG0 zCVR-JoRyLB3|N__=J?Wb1T_+sO4Y%HB``E)=bN4%b;HTh^?oBNk_=CcLHQI(3+^U) zFFgj(FN4~t6RGC5x+)gWT3uE3v$gg1oqpd4b%x$pC{SPIZju50WfNAS0j-smIPPSG zc&_+|k^W#liTOD)WaMI+0lf3I)&ai?k=!L7ly}Mz!wiO9Wrk`kulVX5P23g4oYxhv zfx1oI{oPLt2Apj5`$OUchZN;Xvp2rHI%gp6_jbF}fVq zK=3lEJ^(cJxFl_wc~BB*7z2NH&Vxx-h=}_6>BgNzWudk) zoNwO-xo!@4LvT1yDHOieRUi_-cULTWM@uUulp|B1k}Ee9wINp^lYQ?2dUpq5!#X=v zzOCl4=&f37FN~?JRHX5vl-Flxvb5bHW{rePKIUL6cSt@ZKNqkY@s;y}!ybQCET@s* zU51%*nt6&>Tz=^v`K1%U%1!}qtkfU*4bUdf8Q1|tPb{d5=asmJS^=~PLxg81TM(F3 zf^E;GKXxQ1y5F$?l<1ujOXRdZFOb?;T3XxQHqA2~EYZC@S|xB_?OFv|=rZ>SWzjQG zD3t?o*xJx&RI9C4jSK4&H0fae(O45nKxIe^U;t)oFxy1-KBbYpP_O9AqlJIG|3%1- zY7cRXbIoPQQHs2iK#p>!zM)x3Rzh>~ke+eLT)AC0*K0RG+SS}P`P}b83^%s7rL!d7 zbbic{Os&bxM0n0=L$cE3`AkYn=;-Vu=Ag?flu!r|OjCFBSbD<}(t3l>f4q|h?1No( zM8438mHNyMl(;{G7(X~AEFSJF24HgN=``V}}d zK>F3wp6F6%z21jN989f#H!XncK9Xs_PaMO!xV}z|Dv>W|tn#8ULN=XDM#1k{J262V zoBRLc>$?M~Zr}eSDx^UX%E%}?va(yoF|xNq**kl$JO~-#kWKd9dzS2M$DUc)dvpBm zV>F)6^ZoUQ4(0v6$8}%xb-iwAny7FV0|U9BZ;BGDLU!NEVCh1kyc+uvLPoki+1DH^ z$NpTVl8`53VZDj1@ba09Fco#-@sm=Q!$^1&djHwkwR$)XO=^A5&I!LF6XL|E*=kKf zKX5ZiR@`u>6HvUq#KPZP>P}Y3{S1pe$LW92UjPmzny5UKW7NoDg zYR933K&Dv9nATRE1>b+tZhc7)-0$QIO4Xkr`Be4d;g z19TLzFt&EzwD@7~)H27n69sxA{v*ZiT3Ur3%`h6C2Nz6o2!HzZ+BNGk~Tk|*u)c|;^)PnuUGCp&joPoJs8U9+0%@GU9c?`p5BuV@v?#yXn2fboFZt&TvfvSysK>oy$TDWu?T4p75dQ~4^+YyJ zhKaOhm8Z7pC5^1Et}du8DP=lkjB3DWWg(J5Vpd%VP3g{R^rq5$eAS)tf;$UC>=D;w zeub=8rb2-*?>F9a2XGGzp@tY_K-%46nDWsT{GZ*IpoQ%HTBLwVP}3AN;$szMQw~5EUZ5MZKoSL zmFbcm;bZ#sK0IcAm};YE^P{J=IU(27iYa)v=QUy=>BPju7cXA}5qJZrApl^2epkX; zSho&?>i6-ifv|k-Ox1k3bU0*KCcJfT!V{Daxc0|Bf(!xohG;t~`eA^B2Ifx-x$rxjoCo8X$9Y&3$RaS=a=@+_FiL9H+6vo;+27!W`jVF4hI zYipfz7DLAaysy8~az@Evc2mr)H~)hnog`XnI_dF3IZ=+6+s4i|6+XZF&p#cw4~$i+ z$=t&d!K@v4r#I4HzwV0F^ui%=di1d*RpQ)<0*;b`n<`dgLl4*pu*_ME_kDgvIn1|m zL_1`h92B!0_8!DIm;r8ML0{sLTP8^A}7{jZZy6D0LUmU^z8(dPSafKmMBz>nf%ib zKzpy6X#M8R8wZsNO{t`Sfal&plyvCLOTFESj~UH% zJOC8sPJ7d#G0yvXz2CzCI2s04eeSE8)5o+ZE-Rt@#`jk=vQZHT9L`L|{G_$u^CV7x zHvcq@Eb2wrSPCIAvD5sN@WIIY_>4%$Q%OS}`Y9=(7E1q#CpsB})0IaclK;dA^7B1> zq_J8)a(P#xSM&gXr+C7O!eEzeak&PJqwG1wpBr9GrOaG%hbVq z9eTY5ek>rV@GyTzw`?LP7%aBd1|vjT3sbAw11x!dW_s*O7CN$YRNwD+2%n z3}3itosKGC2e~-*=Gy05sDt0wcNB4(B~z+250XiD+>_TA&O?9pWbr8|(p&AhktF7b44 z1MpG5yIw#oq6d-JP!(^+NhE>XF5p!vK9#N%H&H>lRPWxsn|hE?FWv3m1)z1_i7mm7 z9h7=Cmy@}NU>AH|B7fm61Vvsx6!?r48*M`%!strX5VU4527#p-9)n7ywy(5Zj@~aB zoIt;8<>ruQ*)P&kf3`puP;ime>`~`c5n-OnisjzHoHc(S zF-@~cs!NpcItg#ZM)xawJ3B%m!50FAkNr$#(&1Ug#>Af|mll?kYZ}^Pg8fn5y@LaS zkx93u=_T5}5qPT@^rGL|8>>9k993YV!}v8d3l2MpstncqlMQ@)#>4M#l1Ja; zE&K7^63J@ULA%U8A!4#!Ys7`WhIRP$O?~;_+Oh${XO>E}Jz(v^0%aaR43Mmpz zQi%Y9Lk3F6LQ>5zkx;+_Z8%W&L@TaxmWKj5KN+E&yj?}z8)JZCOKG#W+nj#CkGun! z7R$kM1yKaM(cmp&Vq^Stt&iIjHA?4xw`;|1;3tjRJw7>L7f=OI{H{z@BL~sh**R2f za%{Ui9QIf{L$z{WsBr?6PRFWj7Z6AGrn$LxnQ};g3ud-Tl>-OGi*R9$xjc;nzm$|u zhoL#&Fj)xk8BNsWt*?t*t-o`Pk~ACB)~J#8Tbxy$_AgmN6TKaK?=-^vV`2IWTwcCQ zx^8_37uS5fClx?u&F2CWH)h%+Hfke5z1?|ht1l2BprlGH=DGmhUL;(2(vxS2Z}!KJ zA9G9brlz^anK>8JujpRQzF`}spk+}TOXyo)2XBS9*0uuD@a~r7KsseSM&%A&y2D=0 z@rhsVD)NNSV0MuFlB$z4BZG1uH>5O=(AUQ^)L$vH==<9bfv-?|qvbN?S{7bF=|iG~ zJYf9s<(|pu<(?piQ2#PsZfIJ~NU?|xT0~0pajB%Ftf`mIpicLXNuDT^6w*_*b0Ws1 zQ7)# z!TKD8bO@eK{EJ(XlKTbo-`|~n8t*{WMi;Z>RAu%XtV@Kz#@UR9uHE7I3ChsmK8shL*Y1V087P&D zFU7`U!f51zMZxV!oED26$tE$g4ZaI}Z(~`qR1&?FHr`^}9o3=)3AXu&8qZ1qW!Yv? ztY#ebGt||k!fa|Q=;=$Vms!TdgrT0!26+a{5?gtu169wByjuSp5q~u1BZ9xqRY0zb z)-y)W>+b)!tBOT`se>23XbSuyo6ftfa1=tX%rjD`JewR7B3ju%jCCzb>GKO=G4F_} zuUSyoa+Bi{Ejd?VHhR8N1Wse!LIWHwhUyu%@^#HX^Wfe1?t$jHko`JGnhgBEqaK$! zbUIv?N{hWNQ0vlZjVv`@DkCTJTp6y4s(S{vJBm^+zV7)?hH|;p%m)JC09Sz(eZh?a>yhn1)&`PZr`ib<4d!f$j!^7L^R{s_RBvS7z`R+oG zp+KdpKP+isVWIoe3#mz#hfCEQ_ohG0bA6P!B?-!~9Qiz3<}Uc13|%H$3n~c3(q%J*ZI~ z0|c!+wle@z(I-nil%-Z4w1j5n;*DPnk;8Q!qL!?66oHzo#x|NpD_0hq^&x5xtQl<6 zoyx>y?{H7fdcC@gzilruxx7Z2EG66^TpKR;aO(93#d4dHa=wg$cojb=-;+vuxZho~ zVi|t3Spmk=#WQ2zzy6=gsJrwj#tkdNEPJSA57M)-8fP?iy%8FJz)nQ@!fv;tZIAq_ zZ@IORoG=ES9a^7rvxK^aC(4)!>+phJ1p&*nDY!X?$Vr)bGRXARWu2m#W!0D~>r$yI z+-Zqp!|!+MS=V8HHwE!T7uB-0m+V-}9Umrp$T+Wyyt?cK8HVvCf0(C{EsVIXrk;{p z>_(kUG8vtaSP$PHLsv~V95)!DX(fOjgi2acv=Tv&hT2{p+-A%AQYPp-o9dQ;Hq@b$ySMRoIO;JVh)$QblEeY=cx-9(k6 z)Z|iJ_cU#BjIU&B!AG(=wjIa@Am)~>yBp25+A=LDZL*vS^$(RaFZH52&jmoT4EKLd zqaU=tet(NQaxa-RgN?MLc7ZPw39Fk}oOr$AsY(P-SIpk4p*|qS zqbY?xt(X4>!>#Ynl?pjbk^bUx%Xa&1IJAlW?xV>cZw{&67#O#zdcg!@M)CJsE8LEB zi0>l0CrFCiRizP-GQ4bgt!L;4-&H$nj~B{}LJFNK!dKj|XEehr)SH^@bWckaClSlp zmn4jiU#AZg1%MUo`}*~V2J90glhe}9Vns4TAvbb4`-K+{kKJ~LEV#BLIPUA$uN0GS z^}djJn$Sk9V;YBR^;mohV#Tihve7*HGCg?PYE$TgLb0}^nbKx!vPlJJnzd)q)@4Ty z>pr7t%FpXp?Di{D2@aRLuCj-1(n83Mp-r)zb0IAe?4jBca{(_2eFYN5%l5jxi9S@@ zPJ6CA9~&d7e4rFY$thkwy;~?B5?PrRS$avHR(&8s%&~>h{`2JgcIHqpb*z-$WFYEd zv&s{j6gZ~%HO`J(uH3ll_y6{7p>F zu8wAhc92BWPcEZ(YKGzaU9mV8gwdEU$cMSX@-O@Uv?r_YuyjdYcP1jf6>+Q*Yg70v zy7>`P-}a)yF>v)MV>SedC#D=;Zz8S!-RCZr{52Z4oiue|_Q1%dwP*5D=#RuLG-q+sz)6z1bvEy8ypUx~JY1|IG2D-^fw9gkuFZO8I~6lZ z%}w4Mwo`DV)Zn{bsC2a9&qs&Qa*BI~{#dzCh8|in-tdILA@r@bs+mldT*TT=!5Z$D z>JMp;H!z;_^9pwJ>Sl_2x4ykHUED`*!+EG#WGeRs1#a#Itk~$wAG0TxyK# zt%a8qZhB9cVr7>yCFJV58Pj3CPK3f;ALP=2$`ky*mgZCW^T+R)t|tMq52Z@Gt*_`< z*F66j#;)Fodn->JQ2}zk0)j+UH(3tEtp?v51v+{RZB^*AMFp(kLG`4h zF%0yc?|kPA&8z!%``|jsAhv!f+Z{ z_rB0Y`LdN=Cw?OP_a?cg}!b>W%pKoH|dpB{H_HRRA)Y65*t#*|W zJgggDoRiqc$MyH~A6+@KD*c}>wEU{6o%*FYpIy-3CDp@Kt4$}fL69<+9HS!|Q)SgU z$Ww0Zd6(N}@nGyW9DW3-_`k*s;e{4DQyM`rG#s zGYMd)!)>YEROM`r*3vwF;2uyVdWR8WKISg4b8M;z%eF{UOv@olqBK(BKJ-Q}Cf;Z| z+|y8MNlh>p@mC9e08<-Kx)(ef>>nDaef3J(mQ1r*6QAUl)gis?yGN55k%|;c`>*{? z)hOMRwYXz_L*}>kJ2mQ|Rc584bIj(>(b5mMj*@_jBt?l`|G|C~V&B*vLG4BpY#3WX z`1#sm`}EGN62|nGoIS4%b!=`OvT+iL9Ep!_oA&8yc>)dUV zuIX)bc`Hp;%;_-G8*5-&%lpUo{M%5ab>VD%CmPw|rGV+~hV5+me5>{elD55#f_3^5 zC;w|iJFZMDw#)wU9tuXegFM&P+*bTwK01{;VLyL6Zlb@I+#X}wDrR@$eaM*j(ANov3ThAmRw!bh}8^H z@@_jeUa8g9Kst#e!@ZA_Py#kH2fsjzkA6*V0Zj`0M7G=gV=*TC@k2$`p2P!O>O)C> z&c>srw32#@(1Mq~QhUUS8LBI}=mzrD%xjhVzC`v1HndoiAldYL{jYEYUa&uxZcp4C zhmM|!_jHAE<{MU?G#aI7eakQ^eWlkDwd#p9RGTpa&E{7AnAr}8qO6QwpQ4o!+C#2j zEoW0UIf`}mHbd?G6mAhdc<|KdvR}Xh*!-7!S&3;y!mM*80$+$};IMRvP@xPwS;`4} zWn9oL0b#w7gueW6ufUm-+e`=Pv9J>uUn|%4vMKEmwEH{WGXROuq|fkYPR&ha z*mu5sEs_Io19BuWZg z*4y2V^&QfM9v7uAQOo*98>nB=9UUz0O8BG~KdaOy@iknh&xzC2JY3dOT*;B+S#!m^ z2)~aHVETQ04cW9|vEy0I(p?(-nas>zVF9f2uzIa@D-oK|y899^aKVz9=i3@}%(wC99P|$6BWpWO;k7T8_GXfal%dWun0tE*8G{ z>~__+@VA1=o@z{!cNdC1N98=Orack2W#+!bEy=^5I4r_>v^sDH)|}{Ir16g|4H0W* z(jjI`<70anbH^@F>b;`ZLdB}N5JksEcl$ITK+BQ@x z^eX3+v*fk6>(04tCGYI5K`d&^BPd+P5g+WnbJzMo?^p70UX?;YgQB_NR8a|ZUjf^p zfcUAz7gF)stzG`)OP+p2JN1Gj1kz(<&uQec0;|G;g{%n@WDm9}At52sa~#@V(dM@1 zFXM7qEih0v2@`G-A7;o16CTe*6fPtq@b;&yG?6;(;HG-w@0C9Lq;BMTcs*Rn-jj_L zVSRiD5FpFOeaV?38Sh<@D-O_KJvVt`05pri3Yt?fmd9Z z{@!SQ^HKuzY2l?iSTZ9d*Vm;}jqe>9MCtFx%uITyM$l0uX}$k|UhEqXh?Za=or9J0)WOcM-$*5tb`T~8vF z*qWPcpYX~)O@UHBnuH_iQO6}$hnuVPuN~rj%WMS@qcbfyGHJ2XJ&H1;9v9_s;gVG#mdyP!)R371eahFLOYADVO?Y+n5!jvbC)x9{!l z*Vi=%bb_2=*C@O-b1vxBHUa00btEkHJl*&mPyNF0ZyRor>V`M;S+;pQdN8)oZ|D{a zH1~|eq$Lh}#d8+xhzpDrrn59nnOcwG7cRiRgN=!D$o?70lMEwyj-NGH;Cfa25OuU% z$9JsS-b(uCZE8BaVNu0bQo0+4jTY4T>X?KZnoAe7xP6Y(WV9p%oqt-&VX%jP$0Ig{ zVpOCZV%ddv=uCuFFBqys@D}pmYCT)I%id%Xd6%)Dm@`L!3-^lI#?M<4`cg}H*}ZfV zSzR76Lu<9LZw|w?J=b{+Wz)CQ$puF$oK!=|1e-*>65>Y6!PiS-F+cen6kIPjds#>G zIvx6&YH+a_4(CcvCKH=HI%vsW@$eLh@Rp_Vci2nZEcUdsweK_O+N}aw{DztztQ!Gxed)b<~$eR^G%G1)j%%m^IG|x z1dLOh*m?fw?H?*y50vJUP;&R@)~m&brKqT7(?uL%^C!uQwr4x7kM|HQxYjGws;HRq zj}To_(-aX6)?~9VJW98iv{?O)mwUI20cf~P%<6Epf5 zrzQ2KROWR}M5Vsn!%5YF^2UM{QaQp6A)Jmm3z|yaISP`Pf?T$o_dN%F3%4VCv?9sI z=}_zDGmZL$yNWXhKNw3SYfEOQtZpb<8#-)g?uth|_&J=f^YKkHV+XI@!>OZCwUOeZ zi9r10!|qpOV*Vx0YMF9#aa^66;y0?`ED~~=ypn?pWVFT%iT~5l z`yrIxd#@~ug?%3AVdRHX%n;!M4kE1R?{nFST*eXAo~kX`}ez2-OMm*_6KUPjf&k8xq%N|#@l zG-}4zF^S-pphS;RdH+%7k`j6ANX(Lj4 zcY-K4c;}!`OIui$htrNLzZ)fmX=o|NcPs6+uo3mq@;>wWl&t2y@E(s63zECt`vtei zDmfLds5wS~W+*qV-8ievM$k1w>G|xM8n(ZD=`LD`NoPUpJF}{Fag%(k>{}{@{QNF- zD>GX}L&b(4MfWXcUZgNxQ7SVWU?~Jh^%X=h zFRHEE**{lMxNT}N7cs(n*qx9YneuTin?x^Fq(FbTr={Aqeef}8@>c03SHLh!$FwUi z$dEhqA@gTrocSz83GH{Xd>tvKN`!I~FG2~&=PBtcbPF%#$;qqKcB5M&Cd30wP79;? zoq1?|HEI6Uv1pW(CO*`$>apoQ71=4v!xgqG#x@=z6&7pHo;`afQ)+M5#H0lg6|Jy> zuV(9dccr8}jFJmIO@5!01k`V%T>8uAUdAKU)$gr?FPLqS532GlGQD`j6HJ0WHd<~b zE{<<%wVbkp?@nVXjX$PuaKEInxBoknxH#Pk@POqN3oLXj&AV1U- z?VBITA+zPu=JV#tMB-+AUL;kC$OR)laQ_$m|+C&U}*`UtwYA84t?AGBE963HnQZ>0@e+KuE(G{ zF=S;?F|-aflv`CcNU`-UY}H3Vr11iOfmx7I#N8_$x6V~OKPfrrEg(q!q>}X5fgrZ2 zHHauWqWIvc#73`Iwb@owp|jJV$@ovkzIzpBv@coc7=CQ8sisqHnT*;)%F16_XI?GU zS8!q5>|lOQRX5?|CcNOqL6pbv(v~5Au%zVEko>jfPY12LqrPQVkM%2Yf?B5){D$cT zvq`*gDX8vzChH{~$X}S!S!nZA@qaJ-Ik}zyN27MdeG%(u@u1_CxE^e%??WA%=`Bph ztmTa&FL?eH11yfU-O%OHk_^^GzDGIb69bp7d*zyP1|7FZTF7k19UTvjGbsE9jGqKk z{7zVp_)f!2Jft|_>1M51avkUa;a{Lm-P)a2WO)6C{dvAINs8N?6 zbd+Rd?~i!f*|}+ys5wS-?<)PmRz$+^EDa@fS8&1>l6&W+UeN%0t@53EmhV}H4WCl` zN}S@0USSg)*ZFh#>9E#=TP2sulSWj!atIh_YNI{8?8Lw8YaXPu%q<8e!{;-0C@abE zYx$H-?fQ2-_uIL3g#t(}P3t&l8y$Z*$)uP+SSJ3PlIZjE$RDNPH`t`D!n~I2@7<=B6J>7FYv&t!?oX}e zH9oyG5+~^I4NIqxCwQzHZJVS$QU-`Z9yowfQ6Sl=@Dk=`c~)R_u1inl4|RppUdph|mKBKO_P#Rx-&W^Ff}o=}WhF4oE0xz@n$ zcK9Y(k~$Sw;V573j6T#Mw}@Gu${$OoO+ZjUI59a?zPtBT$V0_JKGK|*LkR~EXSK4; z`a%OKa}_hUaYTeiHQpJ11h=~3W<@Y$aADjtCOJs^3`7( zdcjo`UFxugwVO>wlM?i_;Z9EG=|8=PI)^sJN}e5QQTODbkf^ATMG_c&e%|z=ONwBP z9@;RLZ2E}dn+S0O$Rb~*O4Ibl!8^w%o9U+haG#rMmxCKXqT9568XfQk0}*^CCZaMn|F;W2OC8mSUFZ5>~at7 zUiwFEwr!}~Joz6!tyGX+SzcZqyyg5+{&;)gfl0M3-Biw6k-a=S`zuBhuQ-r{G?33m z?2c@Kw&#U_Nr?j-8%E9ph<3OwjzYUNAj)`KlH)6er^w*77GS7 zs=e=z1G78hz)vYMm~qP3lnYz z+lB~-7Ls_xFz5W&rA)RB@wY3+yIhlMHm@6VNU9Kat?Sd$R8Fg-Sd57j!^MuXB~RU= z9m~pPgx&b$vLd(lf=w@8-my=s{So5~8R+^%GFWM!u2jgyYMiIHMW`XXE(u9c(N7dJ zdu=uYmyAzHQ$1>Mj%MO14G@K1d35=F7k*XLPr4jyOp)N=8KrrP!IDo8pK*nBS`150 z-M*iVYg?#b<-?r8#ze-;z{bQYj_S*qDW2V@Xysi&AQnRJ6H4DGpveW`?QSpMZPb5M zjC{c#TEdDzMCQ=Oc&dh(vfCL{YzK-NAMSpv#d1E>o4-twrJQ>o_?(*t!Ov0yFU3^z znGU=|@8WeNLXwWTI^0%Ac4_<}>_F^6;eCMYsr1tvQP35V+bLOgYm7%X%#@%`5^buG z>;#Ns@|@GFfr^TP>Ki41Z#UHUs|ISd{GgPhA3zeFlFIUIF`KL&F8taGpe z$0wlnX`vDr(Uepa-|FhWy%2<~($V}NrY1o*9=jTJf{&w@SIH_@akRx&Si4={aeh+8 zQ0o5x!kul&3HFEk2C42o|2v((-deMU)_?PV1nd*3`s`C_Tq_}Dob>m$=9r^|{GAq5 zkOwe&OGkoxDBWm(w)353Nl!9{zaC;J2mW&_ln@VjR{LWv(EcBTJ<&THpOM{!6={p- zVej{wvH#PZ_^anv3V^N8JD1MieZPkH-xJ_Rn%1~Pr*`YSZpBJ&4 zYv(_`cge`{S?|Bw=P#iCy%sn4Yl_e_?yzJkFzMFT`;rUz>Av3GSRDUCE0=YLLp|2W zEr%1${mys!^IX7jxRL#Lu2 zc%k}K|^QH%1AX7*%wRHU{-@xw?XwvYb|BnE2RJmj>cA!3$ zR#O{$-Oj_V(-v7gYDde#p10X>cwlfnbJd*TubJuTx7U46JY|ms8^)f6v*pn$G0~X1SpL{*e0W$ zM~5O9=Wb)1IqjvlV@dvF$Id(NE0C}|zk6JEc6QC5lU~I*0obN90x=7dho&m#YXc%? zXMhji-L*-jQ7+1eL~>>V6bijU4!?Nfz&{wcfKJyI&>s*yP8NY(-RhBE`cvfI8lzbK zt$vVGKCMbnBk>$BG4a`qlY~Add|2zT34SvKz~l{!pTW+LADD0ufoH39lk84<>_oRn$fpF`Pk}vKgz{RLR3$L-){D)g%%ma z%(qD*3oa02s<1fZYYL1O*q+QhU1wDIbl!-_Pkh*2d+YpdE|r)$#(%x21_KGkA?9;B zbUr?ak<{x-5O&<(WSW`Y9W7shu?+K-8T2hfC(9uDcI(c}pnc&iZ=qoCWUK zaZRJu+K)Qy1$Ln-$#@TuP{iO6vK`^1TuDJbceL|he#;JMyzHv|{RopP$>}+gQzZB= z^NC#Af9Vp?jZuU=?If9dKS4|3;`}^KcLm@bcSdX_Ykruk_2;dy+wz{Gl;Es8e;I+s zV2NqG1PS%41ZDV621bZPoEpq~6zl?pCB3aPy zZWxPRpasUYYs6391k1d9`O>IA2YSN#^2-ZoR727JZ^@)S>5Tvl;e*y=O}cg7cq0{B zEhGzwpJUa|>gwu+`fv);vNwC)sOXqNMrN2-t|)-EjR(gEF9?O8sOeqP0Qf;Cm5@^q z_C!O#&@e;uf2^4TzYE#Fy@5w!$kQ#l2Jcfd87dQFZkp>#^vN|fHQU#16?ER86KtYL zw%wTF0WfGY8f*r&DvGeF0`POHEx;19y6EdO8R_^H5KB26Y|lyT2bNnE~N_3k9G z$J*a@!C#a0V)MPJ`C2V_iU*Va><^U^-fL387*vx$Uw7cgUEQd`LeLvU=L>+pl=sF! z8#0qd{m(7CR7x@zmko>@jsK5ufL-p-16EUdKv`3BDw4$M4yVP>W5iB1?gMcl;TJEy z0g`nJ^3+vT*$}-pZDeGsG-RD{n7>JM&OsK zyem_K`n3D17HD5rr(5Ys4T_0Tb45j`(4Z@I*vn(8{mn2^GlQmZ!y-1)aI0ciG`cU%Q>9V~2AGtM!h zkm?S9zWo%Kz>N} zS|ket12Xs~j*fV(!FbI zZkx|uIM}NC`NC*c)-n!WW5km%BpnUdV%zj!cG2sMCbk<>e4+jQmYV;W>^dP&;U|5L zOtj{GQu_I0etw#ILW*6QtK+1(YTVT&Jw2kry_sn4gaZgktn~=<&xJS{&uLWN1+ow3 zjPo>r_J z|D+@w`uZk+O)1*clFX<~ltKIAFA{;bcqrR{6HE1b0y>dll?QthRX#oj#&%r|ooM}l zW<)`Ne^h2V6V9x`^!KRM^-$`6JCbj0zyds}`ewXLyk2{B*E;?p7`S>ZYEcf0tpSW( zL0JLA;4ec2CQ!qK-hcaSB>>L9gT*}J1L*FUzCP9*aT8k$Agdpu>K8(e#sQspFU66q zL;|<6K{^1$ud^9sb`tavp!NTqbwZxRa}uYF`{02OGV}|}BLu}cJCHNaAwns{p@pZw z1AFu-vjgK_Z`r{hfo3$69tm=^tqF;7qn|HN8_8uB{S3Hz5@AMN!20h9vj{}~ESKfK zwYI9(`LCN_5CGv(&UF-9jiB9RrM-Chbl9$L(L#u}N5VI8cnG#>8oW8esE8I^-gCNz z{S_Cm{-++~2cpVwyIdB1-}HrA#u?T^q9vq)R>qfTA(73x7^4sCQcWxxXP9o48#SZn zAU&tYL!M&5PGt9IFy&$nxDHsiILk{)!v}+{uJnJrAYy5Z;;WRI`>pyS^ZTn>Pes5( z-Zx47<=VJF+|P#yJOeh=kloj|Y|+QBtPf+3HPy}c zf8yN2Y7e>e@7=wC5`nModir>US0Hc~E+WLo$GUV;G(1oM{MdyReTqjcvuG8KIabLi z>?vHo5P0%m7c@A~7N5GX{yCcyJ#`jk<_H5pqf*7g$L1?%$M6PEQpZOn^b%I0DhabH z2jX%`Uh&6ulZp@t&8tAhNMq1G{gV1$Lj*dp(@LnLCxJGt_ktGAEngsv#ArPv(OfNB>flF1Q#suvq5a7~FlNtKU_x2fVs#RI$St`bX?ewk^S4 z-xDT%`$YNAU0CFAtKS;`E1{HhMd4UyHYwxl%uq_Ey>dwFN(}maaAN4_1yOCcjkOUk zX8Z%l2?+nlWFh6dzuKiLz%tpjY$jneLuEc0lPcISgRwLLS)%m>0 zsIVbEo&0HMmdL5Z^IU*|9P&|Tity~yFY{%HOvx-kiR6%HKtYMre{5sJhEv3Vi5R3Z z1YCIk^?Tr$o=`}6-Wq=}c+FN3sgi#`c?#+h{l~Yb{{Vg=)mo^7<&k<4kDB}NeQ$&$99_HKFMq(~oKuX)tdZ^gs)8T;B(<#k-Cyuoa-VP{0PgaHW4Z1)GR{1tEGI>n#hI{(L2+K>zCx zN{FRhnc#v|l&XrVk#XI5L;r7m{rgmqs!sxapXuZpUZhJ;R%<9d=32|mQ<+gkNQIQt zJlues6!CN(yQvOFzV>k7k&nGPcr!A8+q!l|=t7~{+d{i7A}#g{TjDe|MgLa~h;+OJ zyyKjGoYdWAaEh@RyV~4fpleV0Sjlw;{~scRG9L#qTVMbpE81ARysOxo4r-8NDXRkJjVj%L|!0A3iIDv z)rPhR$o}*1&DbwY3i@ZLZW)+y5}I|CP+%lc;X`I(jGXHl9^6TfJWP>Gx8Ef0C_lbI zViNQHVM5xDi%$8@e2n77X28K0<-)5f+=f}esoKW*FtasEhQRH2lH4U9GsoojULh4o zJ5b9r1gyBz{52yZmAbh@uC0lUi2+c!ZYR#N@$#I(Qp!Jx_tn)k9JNpEX8#9zBR}Gv(%Kava@_Ff0-B( z`?aMd-N}vWqQ{3jj}fwZRI<+ndB+O&f(V>mB>}epAZ;)4fxbtdYyzU|1Wa;-1}qF= zM*Tw#$*+#dx)h`ul4DFwEm@013H5jHgh{3e_(gQg%|)YQ-DU>ajQz`KMN1u8-%3Ig z!@eJgjy(mKL-B!{Zxzt&W5!55pMhkllsU9N-#(*zCIZ;HxT^yIm3 zP|(e*k;V#EKgD^-x(yn;Pwr>Y)25pR(~-mJNP)YeWASuWST-bs>)>qe@|GO$cHW?E zt;@MGReWLNU#k0erj+zC&@*98Q#!V=G*-;ry<{aKMK1f5b32s8powLHaD0r_)sZZ6aDJ>DG44FTb}2854~@5is3!k^=OV{|3S zQa;PP6c8{T%;Dsufvn^B813|Qqqw4P*&T&-KhPR=->BlV+l~DuJu*B@#NzZ>{Y%1u z7+5Alc#+#$v^<99@>scuc5tdzKpLC`roj;Sf&8^3h9Bg;3~C|{1MCzX9C)epP6z`q zY2N%>goX80yB-Ohj1{9M9jk%{a15;S^`SspF2n$x$(5uJ{6t7`a6QCPKS4SF6`mjy z1iI*8DdhNBO@!p-i@UU%RV&^uCl7R2MRDqN9zMZ2=%LcLKFZfxzTR!UvU>n3sT0=A zizAheD_KkRKVLRUX|Z^4L8kj-C2=)Yr360hOlHtK8*`ZHRwwu_$TJ>W#$AOuS^D>+ zDd$_MVnhkN6gbSa+gnmD{$QjJR`sT0*!`*TYAJ>d2z-VQ;Ge1m33vDLQlv6HG%4U& zeKqabE}F*B>LMFNB)G$;`2+J-Ufl)-Chc^o2o9cVkuIXLd;*{`2TXEK=s_T|%k>Gs zdQCm!A5{hyiu4uOF8rW0--sG2{qzy6*ojgDx9KeY-53rQsNyz2I~I@D59Dz}R@d8> zl!TD5%MZH)@e!lZcGom z)RZdm@%|Qx3B}EiCA%fnYzR~OMep3^?(Xzw5?W1y0s=rnUp-3(OMNy@dz}RinCj_}U_-*@L>fdG_zjZf$RWycwu0(C`9K z4XBnSh<@BzN#t&Q2|d9j6FCWjYz+&(TSpxy>WBGV)WL7xR#%4vpKUWjAIMBiq~5~s z*Lm9?>B%OmkmM)&pd@U=LLaKFN$!Td#Dvd)}0$Ufa3;*4jKsw5X{s z+a)5sip!)hU+*yN7iG0jqmM^jg47} zGqu(qYK!Tw)6K9YoB?9~+=O#_TYgdzaOM=(rvwwllf{H2sw~)T&G6;>tnQTs(@2X$ zjEAob6=_X=wH9ssw`>Q*aYaEWm4Y-@2t2R6e@+4zG&*IszRp-vh12KP)4X&Z|t+` z$t5VPg=BIGxyY>t{+RqRIXOu&xiBmLC?{5vSp>t>v|hNoI2b*IPL?g-50EkQLot8S z<5%^}TX-o&QTr5+CnSjqp6E3c&l~Eve+==Lf6G<^FfeR3l3ff z83z}JhvT0ilbB{OA5r=BYu0eJv%LP%Mbrg${lL2@u)yz97BW3a*y-T1l*Fg*vED$Z zlaY(?($K8;`Vs}Mz1>NXul|_vbe$mS{rg66B!poF8Pe5~&B84qSTt&>c`_e?VMaka z#Ju(J&Yg!urOrE9;-Q<+Q~KXi-@|ni^$!YylM(lay5M-{XW!tgO&>vaDp6V@@{TY9!opURWUf9_OYBpn}$Hme1(XsmZbPXAexpy3KId z7+*M8v~p>-onUSYfxEE0kBB*(siZ}7!*=!gA%yZ|8`A3384 zHWSq+C24{JH>EWiux8sA2dl(TV+eg)a9fplq|&p3JylB!j#lU~Jk%oQNp6s?$%mDV z#ZJ%=#d6u zRE~Vv$;mn(may9EH% zlDvw!>dQL(fCl@=ByN`4^`T-Ndli+8NbOG)gP>adAdldD8qZ#>&ZP*Jh;adEFB%5`SP zoaeTv+@EdP6^k!~3g zui*B>Z66=}w#3vxg}UW?&c}~74D=o?rMKg?Mc`U((jj#tASFmQs5H{u2vXABCEeZi?4i-m{rx@v_&Rc~bM5Zz?9_W_#v$)$cPQ9D z?r>o_Ug?>`>)S*_#aLzUhL&k_Gx;@-b+&SVIWhvW0d)QS&4O1Qc6V*n=yb~U_Vadj zb||*O2ZKRH_TEoiGppYk91bTJLj6G*?6qw<^!N^)<&k1b?c-rs&X)dMwUkd>i7}wa zR0U947d5+2#SU2Si4&h81;l%vjm8^@8?9murI^RfAG6Wl)!^`5>1h1BQM`kb+@R}u zEZ}f9C!M%uXKEd&m)_Nusk*w4`o#%`zK3Q>1E!~dpd&Y22K?VvJ+~9~O`%0&w;)+s zOKI7f&tkw^;)D&b%wpRwQU5N~-K<;?>$C$B{skak8dHBeY3m0L+ zjHOg5@Yb>xt&3nlM{b->3zpGC`C(a6H0V?O?$8y)c|N5DIldFAH?pq?BM66{c?CSc{?ly_?9$2Y_IMgX&w1i1A|TY+hQU0e zWKF#Dq)JX*5R+%vijwxe^VxoL3BzjtiDx^a-hQUoO5fA-CPk>uT$u$zEygGKPJ9CP zBI!zTceKCQtp({l;&r{S$0FW1re60{m?73#auDOAw$At*ZhRz|5NJ@5duGEXvKjiH zdVJad*qb&_VT=lq2(7NgM@cYL_AiNKO$dThlG>3}nB%fMc8Fqla%muIE;aAB@iT?SAIV3zDLbooM z32z}1Ckdh?APz{^dFi;@u~@>|t0ow2O4l^?OiUj>Rw00<_}?|m0k+2toYAKG$*%cv z)ZZrUPI-`b4#CX?+P)^bNyb;1@XG<^^S!D$A}=!1q?fnj|iA>$=<5lcM=_lOpx5Hbj8aJj>aH^Z+_Qgg z*j|P!UV<sJe2Tkf4{lx9~(z$3l`eWVNwqzDy$42!TxPIcO0CDq>EFi3J~C zmJ)h?`lSM7;WucC|J8q?f`ye(TQ@I7DH<6M1B2j8hZVbJWLQ)E4M5!$=r!rkkO$O8 z;cHX%O?!wAg$An5tC^OBhGgyqNt6nR-6ykDxfa|xS@N0!P(2!T<~E8i-oMuu4EP`d zx-R7QzbsYad5W*5zz?9AKA4R)9ugz3wXG*ceqbDAJTOjkO@;jxZ^M`tD(^~`jUzj_ zsg}Fa<(I+r@5_I{Jyo@@YHz>3{Yn7Zq>RQuA1pG;;uG@^-y0u)JGm$}Oh|c<*I*16 zf{%=6%j37IDY3-F0Odt|c}n5%S415lxg!KSy1w@lK3qySh1Rv)8voXL)}$2**PeGAf{>_KpyuCoWkN>dENxvhD1P#8?P520@=w z*K?);TNa6s@&3|2=z!=`!&j#lLI&=sF#ONeK$=bf3Bm?+O&Cd|;5iu0NFnFza*c}`jHm7k_}SUTl01MJc6O&D&!3AL0r;1%s`>eGn})Jgen}?r3-Q(G zssp3M4VwO(*q5`c#V{Vlxkqn4>eV!ngcB+ zmT7NaO_(aXA58d8G^Nw8q;&9~19l1Gq{kN;ev7hV?h4C5W&&g%+-m^eX23#qLzrda zC0AvfAECk=-V9}ud{300x}yXMH{q*SHGEMJTjb&(!%O!MNF#@hzkP~=Uu+$OnNAzt%s@Zn8NuH_*}JC#6~&7m9ow=ADaam) zYv7lf@a{iFPi6pxKLvtw?mpwe=Y&xhR3OBxiaT-|zDLE7Ryj~BB;F9T=#>CEIezr; z3RY*E1gEi?yrTIk!B55ox|nw8(en;LokYm+5ekqM9*=dDJlqtVj1e{uGV?1EE#l>w zjgo9Yy`VVPF#OZY|DEgvmmvfTcNxj-b5r77L!b1uKch-ze(9Sc+!ECTlRIXG#gqz3&vXt$n z77JiHE|iQ_H-Wa>Wp*5`R=c6u!n0J)b)r*uUMT;;n=lJ+9OKT7*+WQ?`)ECl+(2}4 zsWhE=DjXZc*>>FKSRZ+D5TtuZ#qM<3NkSyuJ`Nz;s|8z)!ng(0j%N@a>3{#_|SHUH?FUZ;Tq zA6#r1N8N5llW! zc#?&fbN#hH^o9o6ALcJS2`@ph(CL{n5AUIBqEKXZkPEZ6u{NJ!{%}$py3P_xhO;H+ zodJ1idws6sz3`k)8wC&P72Qs{o^O0VH&QG#hK-c6Bqkk0aTw`T7oi0+uhdif*cp&}!HmbLi> zT3m+&b%Io})PClei#l!OPTdK&r@zv_9b4A1^g;ri$d6sHOZ1$b2AaY~c$~5VFMlc; zy#1=4CDfCyFSjObVY2zdKf-$zQRd!*v( zSX0HItzTTk=}p$L4A10XWT0QdA*NSjrBj^DUc#=IFC?$qU-(imA%`*&o2F}4YT2;R z4`0M}iT3*)!#a}_HFEJ!#B)dXOM9X>6j%kU#VSFHX>xHvP+d06ApsjUhhItuzCNx5 z(J>Ydx*YXTeE*_0(5HriaCB~b3`?Q1dVu?F+%{qq=jQH11Hpe?YNTD?AsEJrhwm)^ z+s?832&E&vKTt=xZRE|@u36X?pMq{Tk6cOB42uq>MoUk}o=qY%MONXER(uYE{io3vM3Dm0tu=?iOV?A(TV8Lah*}b;@G7Bm$b$P)jA}6c-oY0bOW`;6Rf% z9|vZ0-SRTKI6_OE?(cmd^4L1R2|5#QF7(k&;{S8&P9i7|E_s-1-B41vE-w8UsDB}q z)c`mKPiwp3c(dh)uy>!g1TgSfyNB3!h*DskE$R_B1AUL=2@=E|*VwhM=- z9$NiRcBx|mled0tV=JcaC@h)sBomvRBJZ99PuH2;@fKeswi8-kutk` zZFk_{tm1plpC(zQ5JP%P zCIT2W6guZ7$kbjxjwfBF5$c?+O)D8ORFOWop8meonQ{}Vs zHZc2F);fN+K=haU%^6t%Ytwka8xEy?{E(Z1spi=^N2X%BN>3i>b81b&>Y%f+BAuI+@c z?xnp@>JT-qvJHKihXcH;f8&KMen=QGHF>KEU^KICjf{=geo_zrgbN?KyQw8$A3_FF zy60(i1q0R&OZ{lrn?h*T1L0A@_1Azb&!4nDxQ8PAC8ed#WD`3}QnMiuQ`B!(mdp3M zbj>?RqGkq@{A0UQqXQ($LYP87-htMEG0Q|ceq2jDH#}tWDnUfIoh8xn9#hv7BP^ZA z@p4t{@vPLO`F13^%`>EvqnKUO)|jZ5g7VxzKkaY{p}im^Zj>BAm&0l?u@dXPe6U=a zpDpCiX(jVezMhbbMGjLo)#9Cmy+g8JOBVqf+d*x#eTl_l(O84MEqg~wusY%EhIHB{ zG?GXPV$rVyYIlQ5184(rS|wj^r%2Oke3>Bsq(?Go9cnh#BQCt%Q@Bs9UjV}6YF~Z| zffL`|Aw`#>R;W4YXYZr)RhaYbqDwio=3Z(^O__-xT><36Y{fljuWNyb6QOYC$Rj}v zDkxeBbs|yF10h)1+PXhy*UfW} zIB~maHibnhyn+-nf|Flej>1)r7sS9gARu>tX3qeK-10vE`LA_aq6j3hc!5J1A{GAV+jK!^XS=BLI zB_&;R@n?k2V-oj4f)O=!`h8gD<~;4b-=*6lDblIQ!U?PnM+cz6Cg_ZO1iIvyFZ8}! z^&?`&rCLWUwP8n<{8ExxX0tiRZoBn#3bbSAvT^#*sz_E!Ww)D$fTDI}^?)hx<~zB= zj|>Gj6;ky6V0jx=nZ@66=` z8y}PSiK>2$Vtx|5$bLJIICLYc2%hUJd>)9y_H%O78(g5MSK|@EKBOKnTic=0(MRL~ zZK>jHdvoAolN&{VtR`^vc_Q}pCup@X-59ENFc}YIF%l+Y=fMw5C@3DZ zk3*%8vr`vK?lT)t_Hhc2U={pc7$z4BWoXD?^HinN7x_X8opTYKy-+(Bi5u2Lz?e&q zT~v*_qH;PUB8&HScHX>41?bx=Pc$KBeV`rZyX+`5_|UB*rS-gqY;3IKjTqHueD{2M zdS=bA7!5&}hNec@>`!={OTT}&rzsZGE4PPlKAYuAp&sJI>okhuEag$1srJ)WaG#r7J_ainS59Bpv0;vROKN3WxXfoGX z58B!Tj(uD>SLq@EimnEBjE;`3QhQN@o>-vu7o%}27wKnB_M&Z&o9632)f7oiG&VK{ zI>nYba6ZN#3f|D9`D8};XjC7%4NHqeiCrT}u|bqJChoNwXqNzyp!!md=GX0Iupmb} zgphmmxyv|NHXX1*R1ua73IsFeH5jaqo3?fSGvkvncRew|D& zKSZ}!43kSuTjjm$9vH=JYO}jGLTF<%-5hD)a2y%0=FNlmIV17)H&Tf_!Bn|iKRxaj zh>N|20x4a4dwXS1?GN${5i%J8Mx=X z4VDh1vknN>uq?*4r~svh9Ywzyd0e`^m9{ugRhh;=Ic^8`+7ejuxG(2 zghPdP(^KBzAbT(!^zMuR#nbhM2d(QDi3k#csg?PUiApg)5iIh7E?|yZHHCH6%K~*B z5sLzrm@i#vwUGC&t3YP-n5!{DW(*JwF{RU*Tjg!)f8~J&ZmW1M?}OfKRnb_GPHy~x zWC9>jkbi8zs8liYZJe%DiX9LvHGCqG978EG%fA9satsEfzoyo_7^eX$a>#PTA34bj zKMCXxfo6XPqs~allJG$tz-Yz{C&JS>0LrI+XLGI_^m5dwpTzv+uOM&}YT%w#M%aug z(>5oonurfI5b0yjL#v}usX*zyX?XX-Lx77v8PY)Zr2Ob~ajefa!y(7(0dOd-QWm_n2UDRB??qIW>8?4UH%&+99?k956NoE@56YX@ z_Nj3I6l0Q3isR6EQV+S6Fb0#u)cop@W3xG7h(P*1nQGh5lmx)3{CA|%{m-w~5qskx zI^I1!j-xQp`j@#fC+vCyY8u`6Q%sVn@;HSB9-6hX?my57#f7%K#2EEmLyAQLwTb(d zle{4P1PHL&SG9OY0+nC4%kZ#{WPJwk@=mWYfg%KmC3bn2$&M;W(BH2QR2K*0Fbb8- zuk(xZjfj8NCNYE&r?Lj$O_qy&Ig1^ag_gq6R^(|G{CsJ+aPk3hUMYg~|0`j8O$kyH zD}12U%iSHm7!>@2MI)EZ6H7r%W!d^ArrVk24B|(uOzCa9sHd%c1W{rxTOXXnpCCJM zafzoQ4cJcoU6WarZ+&nFbAJb8@*pjgm~BmTd1{#kP(|H6T&_r)Tu;E`ENQtdpvHT; zU;6TnU4IL^Q*#m|g@Ew4NnCdC^d>pR(eC!{GizQ);Rf+ zz5ercRr)}#XbQai=aNlMKFMRK*j?2Z5TzSJ0D?%^r6uzXf`5K>0kJ{^^~tbne1MD` zKj#bQK4PCA1utdD2T2D{*UQg#F9aTT@pMTIcIWN#DDb5 z4d(xPJ{}VBZ*rHuI$@P?=!ISEN`PSQy+xZ{whWZ8RNoe0Lyz1S>AG3_TPDO=hLdi z*kal%K92>QHGE+Psyyr;im*!o-0OEk??3F532$(0O5SOrUn3j78WaG#&KGgM_7T|c zxb#iiI9XRpKA!z7qv!_eg)x3Y;Vnp_LsUAhUW)+K)c-5VP#6f%PCjb30f6jip{a~q z-J=ugof;{pgPB02ZNl4}Gl0P907C`#KYvgMN%OM)*d%%7iP-!2mw3|o=0Mz=MQ&i` z+9{AoU%&Ctn|x#b&lOZGK~9S;yw3UWFW-OaC|we-A{3&q*SoZqn~5q6|03&YB=r2} zTo4&C<>4)S@`qibijwnh&gIFK1Ljl$fT^&a-;EcNEK%~o^=$yZK2O7eR2H)^%X~w2 z#kbBQs?a^#-YXMcg^f^i1H3oRlKn@Huu~%p1QEZ=EXFqAy}~Q^R6HSL5y5og4lgl8 zZ_KV`9k1v(rBjk`4BPOX6|+`xw|;Qp2toMEgoNv?4aw;&>Pi7S4i2;dG;>Ybv2RW2 z{~xrGCrW&Y37+t6h69wv#nw!CIua{uYMiQCTa*<;*2gLv6!4zljg>_0{u555|HuF_4+00FZOgn2(U=0B272snTbG05bZyzO0Z^_3)OvL{)cwws(1w3 zdo8!-WN%Ir2i?Iwv$R!fra-7Rdj*ydTK3C|I{_wsy;wV)L2uLz@;@06A}XG0fL#(2 zGg)B-9S-#Riv--FxQjM0Kg-TBYahhCTb8trO@pNb2Da@~<1FZ+%B0iY`)?I3m{JJ! zsCdr5M$t(0O7>HCh=7fQ`77f2%;myWJZ>2L!5EDIP}3!j8L~|OKY@ca`<6z4>sV8a z?r*@rTZeHb0h>0I6OrI5V>(K}W$<0$qBW3irgPLcP|*m|5xwOt0$c{+igWbVi<wpMC`y^Jyzh=6g#5B^9=Q$p){ z4phu8f0f=&5?fhkjMGD3_mjZnzZr1nyuQrE0;iExg3mTvB^V;2*Ro`F+n`_(ii?Vf ze%2nAs#aHLlNh=xHdDOf;rSH{ze)oI1%+dKms~3EYXm4xh3^AHRCMFa`v^<|cXzoz7_cccX= z-=F@gfDJ@J0)Ggc$wiNZ{`7pGH3S5L$4lUforILSiOJzy9I&De5bn>kuFHmdfJhj- z?&e$<$U9yD&CH4QTFMGQnAo3K1o-2rpiiRhR;rE@mpxp->`3P~UZOh*0hDc@2u>;H#iO-TV)= z5(1I_>SR3niPA|L^17wig8Vk6N3FvKVkl!rfO658a#@1Dd_&(y62+=sccsXzZ*4JZ zC4a5DVl6nC@ z0$N@X9*6&tHDm6f+QUoXK6SPbUO|BNgj?5 z%QDb*D$3i6Vuh>J#j_9&x(gOy_$NP+Au*iPBR#}DGM8!2vMcxx5JQU<`|bt%pB%(u zG?lTlGXMnV7CG2J`*g*qG&bVbh1pH%T+cBuWJ2Ero0ZQFK_3OVhj*vSZ|~!2x_!WA zvD@nmrAs*8UtTdPKkWZ*O&3b;*_kUZGy8ZkoUQF;*zVq*J&lG(1ixJQ5fY{;C_v}O z2^yv@E0xAR|FtoNWfbx3okINn+iJeU4X2)$ME?LSixfj6@S z^X9Ddl`yzi)k#Xd?<|D1bYx@vRUB3-xqUN~W5{+>D0;3tO)5@&7j!$_T;Tk^9rL;L zrnmNRo}1DlE+%H`yLS+1ww@LZ7crnp0mMKw8$*VZHOSp}MI;ZNGa%LO{dbBJ*YR2M9bGped`xf*>#N%Id1M#f)zhyRACo@GmrS zy{=?RMGO6rM+P8OP&xGJb77)fqvL>p#xMq3&}h@9vwr+aJuh>d(v-GZuWPwbB*&=aLIB$gjkbm}eO`cfmMP%?;0ptg)xtluoo5XDhH z#IDFd#~QRO$*l4g2=)GecQglXt`l)vV!Tf4 zpqav4(Q)VY0Ytg43jzfcB{uN;4F*#>W2V>+k&T9qW9rJ-`L z>f5gY%gcd+!V;j~1W3u^JenB?m7T=i#&DFa z!NtYe%F1l1Jx;ev1v3F?(57&P;6~-}{Kjxr5dfSo$i*0ECp&qQC2j1juxma3q?lQw z#3H$MoUE8!kd*Qo1e7O0t)90mCW|hOOEkGPeh<#K82h!O_f^#ju@gb}dXT1Si?*P* zp~izK61LNPJZ#H4K)>s38JGFWBB5ssy0|G<|F8RT{ zl}VFBi}n>wQ|KEm-G{k(b8B`WfeVTg03w!A8(9oam6XZBc*DP{JJ{D6Hyg^A7)`B< zdfkrqA2Et;F9neo-5U8lbPAFrYIxA2NTiP8c0>k0jwAC7Fj=7p6T1@sc2vBbp?$>? zKn4}(fSqa&wdk-bCML#e@kBW-T$4OOIGV#^A@M%HV>am43Jlp8nXt-YHjLNtv@&uW;SGZx&n-az02b4=2@(*6c3 z9*aq1iLy-7@#40=KfSHRM92og#8<+{kJtKhGw!gye#IkD7+!3f)E-CVKMy*$mZ|*s z7qk^dqgMK^d~9!+mIlz%5C%Pqv|F(R(7RNlVs+{LZl(NeiXy4)BZDRzKiwMcEpe3a z(f2e60GMTVe{@N_{@8l!XlD~6cQ5uUkQ`fgQo0Mg(k1!$TW5LFi+vZ_ENGmjPY^;J?*>SN4~yooj05-$WAy?1qO z)_8}nV^Cy7=4Rg0LcNBez@gNp$5R9xgf27kTJPN#&41x7vcDrm9%{@vwUCe1Y@aWN z74BOmOT~Y$+3iWGc==s@4m=u*q3Vf!p&>=TWXL&aa#_U4-jyDnfbzd7(`*fl=tAg? zKU|ZGiTgqTmi6v|JgxBE%}$?T+jal#kzb5<8%tR2&x|a-2?-XM?tcn3?E*E@W>JOc zA5Ow57Z`s5V0H*I{t!wXHQ@LZ8Jjp~c}E`@S)a0^m2L|G`v$WYGgN^}3H;ky07Iv7 zVDk#+w~LVGeB0!r7%cQLgkO)(CX%+`yygobg75#bmNLR|$Y=+ z6^py>6}>)>1z14vA1$uE$G+6iF5yy?#|i=%Ncr*((a&gBdkO~nj)~i_Qzh^)aBQ{J zTosSXkZAxAXqCDqRBVEsIdx#zK@d+Cc!%6s>lv-fxmEDTrNNU!%L9T9b8s?k;s}2Zy)rKGeVSYs%&g%VXbK=rsE%q9V4b-?R4Hqr2H7 z2CYPz#sZ1E0v-@t=DCHE2X?{Q0$#%MU4?fR%YliFVH$6usxvV25>78Ho`<2{IL==Z|>pqs@EGcL+SF6ivZ<6xaT>BpGxT=L;~$>Ze1kc8AK`m2|{YnDH;X_ zhLDg@e!(62GD-`Z0V>7(}}P~Ch?SpY-!HJVUuMtSJzue$0)+HZ&O~A z0Iv*peXT~o&FH6kH-41~rl@OEhR2JmvJ&FzQjk`>Io}~JLlA11l5R%Xr&N5l-0R@x zgU4zzz136@5;Ea60h%@EIE+O3aO`KbR6GhAveDPqAFFiXJYLA|QFc&-4!uVOcxk4@ znv+Stm5Z3g{$K}*^8g=H?IF8O=MU#wJ~*s?#9NrRRTFEoDU_1mucs*7vk58epYhH{O^>2A^_^G(H@ZUJ z^VcXq?Oj~-IA8ijNlT~qkoXtU3?u7gCV?A?(EDkJ<+6$hJ>(~_I7u@AJDu9bt^%<dmK{0bx|F~woEIQZtnA#5G4^Uc-!_WhOh zm6b&0@-li}VNh&s8g$E>$Wbb_L9mxy>G0v~PE!;R=JCef-5K8m$YZy`0BEZIgvgK3 ztVn&eRNg8mcm|42l-cdo@hgR{@Vko>#Ua2$rQH6Ix?>422%pky!g*O> z@5DLTJ{n10HnTPR<=80xnbC)zj!t4CnY8Eu!a=1Z1YdAiL01^+~}PSDVY4<7`AshUHWO@VcHOZ=FzL$TO$s2uOn zyC%E+tvH1iaM^?NV1)oai(i>E_@+#{!Xjv(+@fVuR9IMFw?5VEzcxXbz-qbVr=r`{ zsocKblt0oOL9<@tjU`Sr3(N;Uk)>BRp{7wF=w#uJ9f$~IYy5F9QeW0F_wNvQ6`cA* zdh-yREEH218>9y%n=Rgcglf&tFt>2%t&FQZ0;8;c!^2xQM;+R&Pf?}-xW_M9DkWFD zZO)TaIku#>^I4@ACf$5zl0>PEx8;ak%NxJE{lm|c!h>_Th{E;xrKI`(q~g3<@3~z-hW1=S2^JHMBI>xKIK7k* z4YWfdtS5}-uZg;+_v(hz;B9TAh~n+T-Vnv|xQATPa}=|L=3hW(w|4fVAd+hWpkfYM z@cgxa4IE{GqHFq{z1?gR_^9=Zba*yOEf>}%xw+9<-#vZk)rd0xsU zG7E0fsAMf-?gBPS(q;ZzNnI)Qy9>dx%O?!p4ky;_XMJ+4s00BUzxr1u=9a-r?KE>o zip(G!0s>$E|B$15PC~N$j;CdLFG&Vo0FrSaF%K2U_3Oozud;^qmPR9jAANwcEhJ}2 zg(aEG>)y`HuR$(t_thK&@Y7(aX@kl9TX0DPRA{zSFgqA4C#0}h-p?G1-Yhs&wY>;I zdd_PKK`6xlb74YXjtudVSRe^*(?!EN7U3Zw8MXs9q!iLw`ro8+R+ybDW zrJ>TdF5=6}r6)&li=g6vgw6RXoSftNSSLvJoW9+%Ox@9_Y5RwjI+ERb^LHP1oTnD| zF>8k2?!jy=(sF|hy6&F=;*7tl?oNSQvkW7xOFRYkla-)aZP`{no`W(QE04~Q5vRei zX_t3~r-g{h0G5jRe@KRN7Q$DC=nHaAe~373Ca4hpbMT9e0N-yxg7ix1*z;%Rq0<4f zitzcHE@HxG=%w%z@Gv|zi~OZ6d9{7f<-8!ym+496FS(pQD%oY=KuKQ@j(}}*0dZ3~ zxb}xtPl^AE;#@*)r_%w@08j>8d|`vghYc@yT>7D8ZD|sPQ~ctjIc6 zD9!&Bb3FrDnjyrHO=sIbU*Gh7m7dF0oqalkElfZ(jJ{Ug>?AUM_RoJ|TTUf|;Np8p zrzX{(q{Y4M`v;PnfdXt8Mw3U_rkK~S_x-&%aFmWAN9p)s76AA%@@|a(w+01dGS-Dy zM|Qh?Cp`fi>EJVD{+!NvP6xPE&k7y}wT!RSfI5PE3dzX1BAI}0I@uol76{8RGozlt zQx(U3#Yj(6l1)`BOf^Hk(A^>X>geHk|1PC56cJ6$$A=U&9%7~)^!VC8@9B9FSwM>g zyn%M7IcifOxrycQm{Ig!8D|;TSmuA;AjbvITH+vndg@r&7;3U*ZP&dZYrB|RmRn}& zY#sGJ3KJRz4jG@z@dnh{2d)iRbza9CPLlUT>4oC*C%<2OzsXl2d;QrPPBRE~PlaIa z3w2Dq67aux2l&8>{*?dnr6=FKEZ3gHLA^Q__;VYE@1ygfAx|YgiqV$4%O(Kd8Shy7 zKSuLCc@>y(j3F3yzGes@L&&@`P}cwXVqRvbR~-Si8i+t6Kt}2;bws_k;)_|#62@qU z2^+~nUU@dnJoHwQE5w1k;43wLl_DU{5D~He#dDAkF=e-(VO(7c9CBis<5wMXSUvkv zoNJE)`U1*btOfj+<-RC=D))PNR9jIw?^=kyzGn4i8G)w(k#Vl_2xm48@`mhA==r`@JnIT1+HE!A_y~s|yQWjkvIWLJyqSgy^vD|@i%LMtrn1trE;5CBhs$U=XRyJ*e@RCDDR*{E zAWIYHso;Y@=M=cu3_$kVi-s(5QR?8AnqW1iJEfWvbu9C8iW4?p-j3?&%dLuyxFS-B~7 zm{cw}Sz8n(D&=zX> zr8Bts5#>=r7hY2+>*7*=RGEg>V)g-3We&0T!!7nnbn_0bFDQwoPVs$xGFwag(^Wo$ z#qUZOL%**B7HqW|C6)SwP8L7@$YSaDH?*IP!-#snR#wfoFs{UzXn_xTD|Uao=D5#v~*g3 zuF`wjzMIlbY~S=(zq@&KQw|ZNzZ&_HztC3JLq#RHsnaYH z69q@F(>mJPZ6G%_@j-5uPGHSpuX0__z5-U8J>bZ@10M_fc{a4gOC)mWy85hdiL z?T<`hkL5~;-(i*4(2oBYXIH+M4fv3l4&D6f{A~KxKuhg%)^>yl%wfi9#4Wc(+)oeB z)9<#N(KeTGAcpJAs+jxwl>}j!b1Kv!f@yp*uvi{M{j)XkTIo16WR6)qb_Q1h12GZM zIy_oJ06hv@?jM-8NuzZ%LFL0BA<+N9<}o*6KL9BS*}vq+Kq8>!(kn=m?RF$)dcCPD z-81jNGAepERtdWe$~1HA=fFb&j}F@qm6Gi?0U9On^CLbJBmiVXtGQUU@?Y5X<7o$_ z^21L9`x~o=SFc zDntE?(b5jFKZbF}pZ|7f8y~TpB$pIiX0s^gN9({?&u1T=a+LpfnP1ct?!Aj+?bU4p z`taN`kV6NmN@GQGD9vg-*?1#jYB4M8p{wxbeEg$2nLKd)Rxsk(*jHtx&dhNqW@ctp zdkS>DzO2c2+^$}DoJT)VMc@d~3^r!k@(16Wg7grOsD&QyvbwOaP`Yi%u2SLHnr`1< zF#L9~K)&4WXFlp`c2?GlFB_GfRJULC88_Q56|x5CSM}YK2e>_bYU1HN68!v_Y>6wREJ?6mtkeF8N z`pL(1+}QYXG;iN>!Gt%u)nt8(*Gp1Cez8llC4SOiOFK&|{BUcIDXZag@Ych%lyn?h zS>bF8@*Z?eO^t2VMa$Iw?ZlAdz({fjbB)?hk@g4Ucn&*bJgRF4yX#d3UtM@q33EVM z&Tzw`Oqp~g4Gj%Ct>%)IN`$Hp+4e{4AZCG%hLNw6z5Nk|;6*NN4(HtfdbwP!Nss_9hgQgBBh{)JSpd%s$-TD9z_UECP z=hf;s(7DvUeTh2NAe^8+OgG^;&XQlUwPII`+r>eSo?;a+^TA^_Qr@m6C-(cnU;;vv zgTp{e2ywh&nIX>mbw`9#DTWLW#doqP7edX67w$=z{j8o~f*beoegwH;0eOx<`o5io z@PS&S`$9Oqo_$vnYIFHS@*}sUo;U;NtgPSZ=K5%RUp5!>WZnu>5Ol{*mbu$!rGYji zEEB%zE*`U>NPf$+aW@f;T_5CK7ai&kl@kO=oC>xDj?g zjMldFBMT1ckG*FdaJSk@F!Bbe4qF;PS^Xjrz_4w5U1MS2y9*@}st{Qz$jSAN4q#D9 z1i#;Blq3(PJ|<*kEe6p-cOF&E5(yzbsCz!U ztU$y>&UaTkz-Svb1X){KkInwx#t04!oSd3M#M)YS;@cyNf298k;m34y zsQkO|nfDuQZhAd6DK9}zSoChcp8F4v`CEAJk@qs+P|%T+o4uHCpNt_E3e)e;nVpnT zg3lkw7Y(K)qZ+m!gmaQZeImcx)@^&Jw;Hw{O%BJ<_ERM>eAs%y9vrJ9)w-jRL5GHA z8cI@fyd%jY0oc`YKX)D0V(Hsu**eM`OQaX)=IlJ#0ecJL{5TaM12K=VX;Y|WJvEK@ zWZ-?t*tfLVF3Z*=&fV&%V#;9A>cRGuF(ZS4+=k|Qc(hu)2pf>vfRJYd(0fE4?fzID zaAW?(w2{O90O*hEvda#F+S_HEoU1>_wW6#wzeYWbk}eMn2uhR7?(k_33JB0w?o%vR z<&Lx49x*yLt`wzL%+r^R<1vI^==r{@M-o*sdh1v*$>qmNV)uJ~4y6YpdMOT=K)r{F zwV($C8DX-#Kc1p%nX}N|*Id=X#H`ksB#3T4{?!tqsjpN@Wc4){b=xpnKBkN>U@jlWgWxqT4#&-EFJ{?1!} z&R%J79EF3L&sPo<#t4o5d!TGAx^LcnNN>02^|K6wy9srn#ynr;2n5WV0N3Q9Zn<43I#}BcQd($fyiKgQQ@pTZ>C;VIjvyzqg&=0F6~Xygffq+tSc55Avwv zk-iv;_&<1;O6eq&&Yqc_s!1Wc{jJ_JN;YGUM}%T;J8P3QJg;h%8osz{_vSS-2cHs_ zQ0UAqPox8?faP0yG*)n+!ESv7EW$|fLd2Ko)SYMc&1*Ya4KET(O5X3f2`ujob$!9> z|Hq+-!C|bVHA#+~l$5gNBab1lHR68FY|PS4HQF(KU>|intP8)p)R^zWEf=hDWH#jh7X6ppja91GbwW|~j z{|f)>6hVR#z~e=O1qR(}YS(CJ{!y&jSWV0Pi-tJDs= z4L)DN==HT4huJ@0&`n`%m&NLU=VeIEWss{B9SV0MrEbu@B>TRx3`Z!p~H9*F-!#{Est-Vo4sW zOu#YR)x!M zqhL}`SZu&`e6&10&3U*X!H}600+WoNv9zq#z?ha=S;;T(!WTKYJx2cIw2Lak zL^%J&TNP=ViP}Xe;-91QDZq)yAAvL27Zl*KzBc3O*ejod-zSjQVemmx@gd%XWh#gfUqh ze*F9NLBE7V)NSW6u@Gd#stM3=ux#VEK>4%flGXBKy9Y_ys`a@&O01yUndtYs&ehe` zUv`QNhg@4h(!EU2cUi0&t)?(EL%pvq5_k7^S2ERVT`LX1HKX3g*qh@%!N&&evC+{C z`iHJNG?g*0W13<4gQ=C6X2V3+zBlt#t|1eCNESxcyAU5`{1v8GBp?VL{tE(F_mEu@ zLCwc-L~JW<;52gs`P8yFZaBiy4>J3y3OCw8|0!HE(O`hAf^_3uJ>_}pgVoyOSrLbR z8@WU;*B>iS1mQX=C(7*h4;LEgxQEQwT<$|0d{|D<}i4OeLCOxae5U z***KEe0Zg1UYR5NwumRfu#)LWHIdXIbE&H88{B^-RrLg}oFZOsDALQgZK6C7t3{jn ztRN8j*w@24h)TJ{=64~MvYlCYRj`q1{-ox>j|@VJI}Q14o97zyG+F@{>+VQ@N^qwD zG!UuplbId`N+=P{>8=FH_oDp;AtR1(F(veor|9L9NBnn!f?ae}P2PxG|GQrY$NS+g zMm-UNzMp^*G`rKC|I2zkq3Uhdff{mpP=JQvaDx;V}%{OBpWBE1D7Fr=0{5RPtexWhn2bo#c;9e>LkPeyd}1@N{Dqb}gX? z2lXNnjv}nAdon}}?(JvSB3pp$z7$S-^7KN|uD{>ASL}%d2cR2xX=s{ru9cJ`E<_iL z^bG0Rnq#*f)`_WF^R>BdMpGX8d9yt}Bk`GA`3I8WWP=YBI+D_hA)GHcvBpaRsFg>Q z+l#}SA3w8~+3p(Vrj0yAL3f=rO&F4rmb=f=j|g)I-6z?tKexi7*>8%Mto*b6G`hYiUom?=ud}^6 z$0mxYW3-F*HKi~8YrwI^m;8IWDzF&U)Z0(Oy2=uD|0Na^gD-Vc5eX4H4k5Y@qo5w>LuuW+;u)OnXK) zE=9QBYj_n{`YAk-Xa~mbXUZqIn4*&zhA-#E|4u&u03zU*Xd8W;QgGFYyLA3N*I&W( zj~+nyNe-(EO*|q#f9mY`A)h;2r+@eTqCJNM1qJ;X!x#Vmcruv)Fdz>5sl4S{gzt6# z-=~=?<`V=WgB#8}-`9=%z6}5C#k`RCdZ(?H@EJsQa!?f!Kxg9XPk#)kK=h3N{7aPf z?2YGNS0KXPxlV=`Ty6AYqYs6kWdASbzu^Soe(7-08(?2La~ya6c<))r5i(3?93Z3O z+`y^*7VGb*@E?3ZN(T7mLhK>Tv)!z5Wz~Ny7(7`a4UIw> zW*GQ|>U^0DhKJ~Mb-{k!`vTupEv|H3|%xm+)%U`_=#a5}vL3e4#b7C1Qq z7vh0e1MG{Wy=}AbsUhC^Uzn&9Jwyj|U{D*Jiv=e$P(k$183T4(0*K`7l1C^wFju}c zryhm5nBK_;e0Q)KzMq1cPcpAl?%MeS({oDv?Qi%FsFo9gO7d~F zm0ENFlPs(|uK-k)yDE#hUf=xZ+9VQrz#KPcG+xd>$$E4lk4`@T;P(UyJrjE%JmOtr z8vqLh%|L|z7js;mY#ks)!?qk?Za_xnVu7pse3kNGlBaS9;Ky@dY^nTgzw_^7EMOO2 zU)!g%bUYtT-L+G`?cM!iS06>vK^*vLqm*WA0hZTzTx<+zJ1P+Sf@oVq@81G_j zWI#HSKQV)QDa6Hb^_7rqI=uvON(tXP;1sGq@puj)D+3Ase=09076>vjj-g_E#<%P+ z>U{re|KMUF_X6h1SV_(?dt`jk0qCv2$>|#e_%?p>|6BHS6XaOA6zT8|)x`;*rev<| zqC$1x9tXG&K@3=?g5|MHV7z!P7U^JUOyTZu$Lcz8z%~8?wR7a}H5r4r4pUfxSEiw+ zFGv;ywz3`pjnw?dBnzu90<4*UM{%O62B(adpr*;b_i@h&KPyv{Q{2knID|T@N z)?8fqfqY;k3)EPTKqm;{p$bjpOLiXk&&a^=|NrAa6K4hn1~yPfl9|CIHD2?_vMWn~ OA`G6celF{r5}E*wQflD< literal 0 HcmV?d00001