From 19af64fec1693e88c8b94335cd968892672a12fa Mon Sep 17 00:00:00 2001 From: Sheng Chen Date: Thu, 20 Jun 2019 12:58:20 +0800 Subject: [PATCH 01/84] docs: Update documents (#351) --- README.md | 2 +- docs/README_zh-CN.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5fcf3138..8943f671 100644 --- a/README.md +++ b/README.md @@ -124,7 +124,7 @@ | `leetcode.outputFolder` | Specify the relative path to save the problem files. Besides using customized path, there are also several reserved words which can be used here: For example: `problem-${tag}-${difficulty}` | N/A | | `leetcode.enableStatusBar` | Specify whether the LeetCode status bar will be shown or not. | `true` | | **(Deprecated)** `leetcode.enableShortcuts` | Specify whether the submit and test shortcuts in editor or not. | `true` | -| `leetcode.editor.shortcuts` | Specify the customized shorcuts in editors | `["submit, test"]` | +| `leetcode.editor.shortcuts` | Specify the customized shorcuts in editors. Supported values are: `submit`, `test`, `solution` and `description`. | `["submit, test"]` | | `leetcode.enableSideMode` | Specify whether `preview`, `solution` and `submission` tab should be grouped into the second editor column when solving a problem. | `true` | | `leetcode.nodePath` | Specify the `Node.js` executable path. | `node` | diff --git a/docs/README_zh-CN.md b/docs/README_zh-CN.md index 0bd9d54d..d1a06b16 100644 --- a/docs/README_zh-CN.md +++ b/docs/README_zh-CN.md @@ -124,7 +124,7 @@ | `leetcode.outputFolder` | 指定保存文件时所用的相对文件夹路径。除了用户自定义路径外,也可以使用保留项,包括:例如:`problem-${tag}-${difficulty}` | N/A | | `leetcode.enableStatusBar` | 指定是否在 VS Code 下方显示插件状态栏。 | `true` | | **(Deprecated)** `leetcode.enableShortcuts` | 指定是否在 VS Code 编辑文件下方显示提交和测试的快捷按钮。 | `true` | -| `leetcode.editor.shortcuts` | 指定在编辑器内所自定义的快捷方式。 | `["submit, test"]` | +| `leetcode.editor.shortcuts` | 指定在编辑器内所自定义的快捷方式。可用的快捷方式有: `submit`, `test`, `solution`, `description`。 | `["submit, test"]` | | `leetcode.enableSideMode` | 指定在解决一道题时,是否将`问题预览`、`高票答案`与`提交结果`窗口集中在编辑器的第二栏。 | `true` | | `leetcode.nodePath` | 指定 `Node.js` 可执行文件的路径。 | `node` | From 1004e1df2573a8665a6060f6bd68cae852cfa80b Mon Sep 17 00:00:00 2001 From: Sheng Chen Date: Fri, 28 Jun 2019 13:07:47 +0800 Subject: [PATCH 02/84] feat: Support delete a session (#358) --- README.md | 2 +- docs/README_zh-CN.md | 2 +- package-lock.json | 6 +- package.json | 14 ++-- src/commands/session.ts | 91 +++++++++++++++++++++----- src/extension.ts | 3 +- src/leetCodeExecutor.ts | 8 ++- src/statusbar/LeetCodeStatusBarItem.ts | 2 +- 8 files changed, 91 insertions(+), 37 deletions(-) diff --git a/README.md b/README.md index 8943f671..cc0bffea 100644 --- a/README.md +++ b/README.md @@ -110,7 +110,7 @@ Manage Session

-- To manage your LeetCode sessions, just clicking the `LeetCode: ***` at the bottom of the status bar. You can **switch** between sessions or **create** a new session. +- To manage your LeetCode sessions, just clicking the `LeetCode: ***` at the bottom of the status bar. You can **switch** between sessions or **create**, **delete** a session. ## Settings diff --git a/docs/README_zh-CN.md b/docs/README_zh-CN.md index d1a06b16..0a3e23e5 100644 --- a/docs/README_zh-CN.md +++ b/docs/README_zh-CN.md @@ -110,7 +110,7 @@ 管理存档

-- 点击位于 VS Code 底部状态栏的 `LeetCode: ***` 管理 `LeetCode 存档`。你可以**切换**存档或者**创建**新的存档。 +- 点击位于 VS Code 底部状态栏的 `LeetCode: ***` 管理 `LeetCode 存档`。你可以**切换**存档或者**创建**,**删除**存档。 ## 插件配置项 diff --git a/package-lock.json b/package-lock.json index 0dbe10b8..46afe0b2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1786,9 +1786,9 @@ } }, "vsc-leetcode-cli": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/vsc-leetcode-cli/-/vsc-leetcode-cli-2.6.7.tgz", - "integrity": "sha512-OBTF0XV9drJEdGCOysx/nCmmzgqBOnn6baH9On6ZbTNr9chl3reuC7OfKHNts/DzEW71wStT7Xg2N2WJSMsojw==", + "version": "2.6.8", + "resolved": "https://registry.npmjs.org/vsc-leetcode-cli/-/vsc-leetcode-cli-2.6.8.tgz", + "integrity": "sha512-Zo1GBWgr7orJawlTUmXMUCGpPJ8RThoHMh9vABiPJO3n+uhPgLNGkuETIKk7u+I1dD7FHk+G/IxfD5siR49z2A==", "requires": { "ansi-styles": "3.2.1", "cheerio": "0.20.0", diff --git a/package.json b/package.json index d0f5360e..0ba3e9aa 100644 --- a/package.json +++ b/package.json @@ -29,8 +29,7 @@ "onCommand:leetcode.toggleLeetCodeCn", "onCommand:leetcode.signin", "onCommand:leetcode.signout", - "onCommand:leetcode.selectSessions", - "onCommand:leetcode.createSession", + "onCommand:leetcode.manageSessions", "onCommand:leetcode.refreshExplorer", "onCommand:leetcode.showProblem", "onCommand:leetcode.previewProblem", @@ -72,13 +71,8 @@ "category": "LeetCode" }, { - "command": "leetcode.selectSessions", - "title": "Select Session", - "category": "LeetCode" - }, - { - "command": "leetcode.createSession", - "title": "Create New Session", + "command": "leetcode.manageSessions", + "title": "Manage Sessions", "category": "LeetCode" }, { @@ -394,6 +388,6 @@ "markdown-it": "^8.4.2", "require-from-string": "^2.0.2", "unescape-js": "^1.1.1", - "vsc-leetcode-cli": "2.6.7" + "vsc-leetcode-cli": "2.6.8" } } diff --git a/src/commands/session.ts b/src/commands/session.ts index 5cf37724..f86d4cf3 100644 --- a/src/commands/session.ts +++ b/src/commands/session.ts @@ -5,7 +5,7 @@ import * as vscode from "vscode"; import { leetCodeExecutor } from "../leetCodeExecutor"; import { leetCodeManager } from "../leetCodeManager"; import { IQuickItemEx } from "../shared"; -import { DialogType, promptForOpenOutputChannel, promptForSignIn } from "../utils/uiUtils"; +import { DialogOptions, DialogType, promptForOpenOutputChannel, promptForSignIn } from "../utils/uiUtils"; export async function getSessionList(): Promise { const signInStatus: string | undefined = leetCodeManager.getUser(); @@ -32,17 +32,21 @@ export async function getSessionList(): Promise { return sessions; } -export async function selectSession(): Promise { - const choice: IQuickItemEx | undefined = await vscode.window.showQuickPick(parseSessionsToPicks()); +export async function manageSessions(): Promise { + const choice: IQuickItemEx | undefined = await vscode.window.showQuickPick(parseSessionsToPicks(true /* includeOperation */)); if (!choice || choice.description === "Active") { return; } - if (choice.value === ":createNewSession") { - await vscode.commands.executeCommand("leetcode.createSession"); + if (choice.value === ":createSession") { + await createSession(); + return; + } + if (choice.value === ":deleteSession") { + await deleteSession(); return; } try { - await leetCodeExecutor.enableSession(choice.value); + await leetCodeExecutor.enableSession((choice.value as ISession).id); vscode.window.showInformationMessage(`Successfully switched to session '${choice.label}'.`); await vscode.commands.executeCommand("leetcode.refreshExplorer"); } catch (error) { @@ -50,22 +54,20 @@ export async function selectSession(): Promise { } } -async function parseSessionsToPicks(): Promise>> { - return new Promise(async (resolve: (res: Array>) => void): Promise => { +async function parseSessionsToPicks(includeOperations: boolean = false): Promise>> { + return new Promise(async (resolve: (res: Array>) => void): Promise => { try { const sessions: ISession[] = await getSessionList(); - const picks: Array> = sessions.map((s: ISession) => Object.assign({}, { + const picks: Array> = sessions.map((s: ISession) => Object.assign({}, { label: `${s.active ? "$(check) " : ""}${s.name}`, description: s.active ? "Active" : "", detail: `AC Questions: ${s.acQuestions}, AC Submits: ${s.acSubmits}`, - value: s.id, + value: s, })); - picks.push({ - label: "$(plus) Create a new session", - description: "", - detail: "Click this item to create a new session", - value: ":createNewSession", - }); + + if (includeOperations) { + picks.push(...parseSessionManagementOperations()); + } resolve(picks); } catch (error) { return await promptForOpenOutputChannel("Failed to list sessions. Please open the output channel for details.", DialogType.error); @@ -73,7 +75,21 @@ async function parseSessionsToPicks(): Promise>> { }); } -export async function createSession(): Promise { +function parseSessionManagementOperations(): Array> { + return [{ + label: "$(plus) Create a session", + description: "", + detail: "Click this item to create a session", + value: ":createSession", + }, { + label: "$(trashcan) Delete a session", + description: "", + detail: "Click this item to DELETE a session", + value: ":deleteSession", + }]; +} + +async function createSession(): Promise { const session: string | undefined = await vscode.window.showInputBox({ prompt: "Enter the new session name.", validateInput: (s: string): string | undefined => s && s.trim() ? undefined : "Session name must not be empty", @@ -89,6 +105,47 @@ export async function createSession(): Promise { } } +async function deleteSession(): Promise { + const choice: IQuickItemEx | undefined = await vscode.window.showQuickPick( + parseSessionsToPicks(false /* includeOperation */), + { placeHolder: "Please select the session you want to delete" }, + ); + if (!choice) { + return; + } + + const selectedSession: ISession = choice.value as ISession; + if (selectedSession.active) { + vscode.window.showInformationMessage("Cannot delete an active session."); + return; + } + + const action: vscode.MessageItem | undefined = await vscode.window.showWarningMessage( + `This operation cannot be reverted. Are you sure to delete the session: ${selectedSession.name}?`, + DialogOptions.yes, + DialogOptions.no, + ); + if (action !== DialogOptions.yes) { + return; + } + + const confirm: string | undefined = await vscode.window.showInputBox({ + prompt: "Enter 'yes' to confirm deleting the session", + validateInput: (value: string): string => { + if (value === "yes") { + return ""; + } else { + return "Enter 'yes' to confirm"; + } + }, + }); + + if (confirm === "yes") { + await leetCodeExecutor.deleteSession(selectedSession.id); + vscode.window.showInformationMessage("The session has been successfully deleted."); + } +} + export interface ISession { active: boolean; id: string; diff --git a/src/extension.ts b/src/extension.ts index a2467c8d..4d33d803 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -51,8 +51,7 @@ export async function activate(context: vscode.ExtensionContext): Promise vscode.commands.registerCommand("leetcode.toggleLeetCodeCn", () => plugin.switchEndpoint()), vscode.commands.registerCommand("leetcode.signin", () => leetCodeManager.signIn()), vscode.commands.registerCommand("leetcode.signout", () => leetCodeManager.signOut()), - vscode.commands.registerCommand("leetcode.selectSessions", () => session.selectSession()), - vscode.commands.registerCommand("leetcode.createSession", () => session.createSession()), + vscode.commands.registerCommand("leetcode.manageSessions", () => session.manageSessions()), vscode.commands.registerCommand("leetcode.previewProblem", (node: LeetCodeNode) => show.previewProblem(node)), vscode.commands.registerCommand("leetcode.showProblem", (node: LeetCodeNode) => show.showProblem(node)), vscode.commands.registerCommand("leetcode.searchProblem", () => show.searchProblem()), diff --git a/src/leetCodeExecutor.ts b/src/leetCodeExecutor.ts index ad2d0514..c3ef495c 100644 --- a/src/leetCodeExecutor.ts +++ b/src/leetCodeExecutor.ts @@ -124,8 +124,12 @@ class LeetCodeExecutor implements Disposable { return await this.executeCommandEx(this.nodeExecutable, [await this.getLeetCodeBinaryPath(), "session", "-e", name]); } - public async createSession(name: string): Promise { - return await this.executeCommandEx(this.nodeExecutable, [await this.getLeetCodeBinaryPath(), "session", "-c", name]); + public async createSession(id: string): Promise { + return await this.executeCommandEx(this.nodeExecutable, [await this.getLeetCodeBinaryPath(), "session", "-c", id]); + } + + public async deleteSession(id: string): Promise { + return await this.executeCommandEx(this.nodeExecutable, [await this.getLeetCodeBinaryPath(), "session", "-d", id]); } public async submitSolution(filePath: string): Promise { diff --git a/src/statusbar/LeetCodeStatusBarItem.ts b/src/statusbar/LeetCodeStatusBarItem.ts index 5ca9bde6..35ca7412 100644 --- a/src/statusbar/LeetCodeStatusBarItem.ts +++ b/src/statusbar/LeetCodeStatusBarItem.ts @@ -9,7 +9,7 @@ export class LeetCodeStatusBarItem implements vscode.Disposable { constructor() { this.statusBarItem = vscode.window.createStatusBarItem(); - this.statusBarItem.command = "leetcode.selectSessions"; + this.statusBarItem.command = "leetcode.manageSessions"; } public updateStatusBar(status: UserStatus, user?: string): void { From 4abd6fcce099d1afc87638719c866ad477bce160 Mon Sep 17 00:00:00 2001 From: Sheng Chen Date: Fri, 28 Jun 2019 13:29:23 +0800 Subject: [PATCH 03/84] fix: Break new line when the description is too long (#359) --- src/webview/leetCodePreviewProvider.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/webview/leetCodePreviewProvider.ts b/src/webview/leetCodePreviewProvider.ts index a019db95..1bd83e69 100644 --- a/src/webview/leetCodePreviewProvider.ts +++ b/src/webview/leetCodePreviewProvider.ts @@ -103,6 +103,9 @@ class LeetCodePreviewProvider extends LeetCodeWebview { ${markdownEngine.getStyles()} ${!this.sideMode ? button.style : ""} + ${head} From 453c51a3bf62aacb2354e92fdcccd3c49aeb3550 Mon Sep 17 00:00:00 2001 From: Sheng Chen Date: Thu, 11 Jul 2019 16:23:40 +0800 Subject: [PATCH 04/84] feat: Can specify the workspace folder to save the files (#360) --- README.md | 3 ++- docs/README_zh-CN.md | 3 ++- package.json | 6 +++++ src/commands/show.ts | 4 +++ src/utils/settingUtils.ts | 6 +++++ src/utils/workspaceUtils.ts | 54 +++++++++++++++++++++++++++++-------- 6 files changed, 63 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index cc0bffea..a46fe59c 100644 --- a/README.md +++ b/README.md @@ -73,7 +73,7 @@ - Directly click on the problem or right click the problem in the `LeetCode Explorer` and select `Preview Problem` to see the problem description. - Select `Show Problem` to directly open the file with the problem description. - > Note: If no folder is opened in VS Code, the extension will save the problem files in **$HOME/.leetcode/**. + > Note:You can specify the path of the workspace folder to store the problem files by updating the setting `leetcode.workspaceFolder`. The default value is:**$HOME/.leetcode/**. > You can specify whether including the problem description in comments or not by updating the setting `leetcode.showCommentDescription`. @@ -121,6 +121,7 @@ | `leetcode.defaultLanguage` | Specify the default language used to solve the problem. Supported languages are: `bash`, `c`, `cpp`, `csharp`, `golang`, `java`, `javascript`, `kotlin`, `mysql`, `php`, `python`,`python3`,`ruby`,`rust`, `scala`,`swift` | `N/A` | | `leetcode.useWsl` | Specify whether to use WSL or not | `false` | | `leetcode.endpoint` | Specify the active endpoint. Supported endpoints are: `leetcode`, `leetcode-cn` | `leetcode` | +| `leetcode.workspaceFolder` | Specify the path of the workspace folder to store the problem files. | `${home}/.leetcode` | | `leetcode.outputFolder` | Specify the relative path to save the problem files. Besides using customized path, there are also several reserved words which can be used here:
  • `${tag}`: Categorize the problem according to their tags.
  • `${language}`: Categorize the problem according to their language.
  • `${difficulty}`: Categorize the problem according to their difficulty.
For example: `problem-${tag}-${difficulty}` | N/A | | `leetcode.enableStatusBar` | Specify whether the LeetCode status bar will be shown or not. | `true` | | **(Deprecated)** `leetcode.enableShortcuts` | Specify whether the submit and test shortcuts in editor or not. | `true` | diff --git a/docs/README_zh-CN.md b/docs/README_zh-CN.md index 0a3e23e5..6d90edb6 100644 --- a/docs/README_zh-CN.md +++ b/docs/README_zh-CN.md @@ -73,7 +73,7 @@ - 直接点击题目或者在 `LeetCode Explorer` 中**右键**题目并选择 `Preview Problem` 可查看题目描述 - 选择 `Show Problem` 可直接进行答题。 - > 注意:若当前 VS Code 没有已打开的文件夹,则生成的题目文件会存储于 **$HOME/.leetcode/** 目录下。 + > 注意:你可以通过更新配置项 `leetcode.workspaceFolder` 来指定保存题目文件所用的工作区路径。默认工作区路径为:**$HOME/.leetcode/**。 > 注意:你可以通过更新配置项 `leetcode.showCommentDescription` 来指定是否要在注释中包含题目描述。 @@ -121,6 +121,7 @@ | `leetcode.defaultLanguage` | 指定答题时使用的默认语言,可选语言有:`bash`, `c`, `cpp`, `csharp`, `golang`, `java`, `javascript`, `kotlin`, `mysql`, `php`, `python`,`python3`,`ruby`, `rust`, `scala`,`swift` | `N/A` | | `leetcode.useWsl` | 指定是否启用 WSL | `false` | | `leetcode.endpoint` | 指定使用的终端,可用终端有:`leetcode`, `leetcode-cn` | `leetcode` | +| `leetcode.workspaceFolder` | 指定保存文件的工作区目录 | `${home}/.leetcode` | | `leetcode.outputFolder` | 指定保存文件时所用的相对文件夹路径。除了用户自定义路径外,也可以使用保留项,包括:
  • `${tag}`: 根据题目的类别进行分类。
  • `${language}`: 根据题目的语言进行分类。
  • `${difficulty}`: 根据题目的难度进行分类。
例如:`problem-${tag}-${difficulty}` | N/A | | `leetcode.enableStatusBar` | 指定是否在 VS Code 下方显示插件状态栏。 | `true` | | **(Deprecated)** `leetcode.enableShortcuts` | 指定是否在 VS Code 编辑文件下方显示提交和测试的快捷按钮。 | `true` | diff --git a/package.json b/package.json index 0ba3e9aa..5f90e490 100644 --- a/package.json +++ b/package.json @@ -310,6 +310,12 @@ ], "description": "Endpoint of the user account." }, + "leetcode.workspaceFolder": { + "type": "string", + "scope": "application", + "description": "The path of the workspace folder to store the problem files.", + "default": "${home}/.leetcode" + }, "leetcode.outputFolder": { "type": "string", "scope": "application", diff --git a/src/commands/show.ts b/src/commands/show.ts index 7dceffed..896516a9 100644 --- a/src/commands/show.ts +++ b/src/commands/show.ts @@ -128,6 +128,10 @@ async function showProblemInternal(node: IProblem): Promise { const leetCodeConfig: vscode.WorkspaceConfiguration = vscode.workspace.getConfiguration("leetcode"); let outDir: string = await selectWorkspaceFolder(); + if (!outDir) { + return; + } + let relativePath: string = (leetCodeConfig.get("outputFolder", "")).trim(); if (relativePath) { relativePath = await resolveRelativePath(relativePath, node, language); diff --git a/src/utils/settingUtils.ts b/src/utils/settingUtils.ts index 3cc48ea7..b7cb5919 100644 --- a/src/utils/settingUtils.ts +++ b/src/utils/settingUtils.ts @@ -1,6 +1,7 @@ // Copyright (c) jdneo. All rights reserved. // Licensed under the MIT license. +import * as os from "os"; import { workspace, WorkspaceConfiguration } from "vscode"; export function getWorkspaceConfiguration(): WorkspaceConfiguration { @@ -11,6 +12,11 @@ export function shouldHideSolvedProblem(): boolean { return getWorkspaceConfiguration().get("hideSolved", false); } +export function getWorkspaceFolder(): string { + const rawWorkspaceFolder: string = getWorkspaceConfiguration().get("workspaceFolder", "${home}/.leetcode"); + return rawWorkspaceFolder.replace(/\${home}/i, os.homedir()); +} + export function getEditorShortcuts(): string[] { return getWorkspaceConfiguration().get("editor.shortcuts", ["submit", "test"]); } diff --git a/src/utils/workspaceUtils.ts b/src/utils/workspaceUtils.ts index f2f2d16b..df7df0ad 100644 --- a/src/utils/workspaceUtils.ts +++ b/src/utils/workspaceUtils.ts @@ -1,26 +1,47 @@ // Copyright (c) jdneo. All rights reserved. // Licensed under the MIT license. -import * as os from "os"; import * as path from "path"; import * as vscode from "vscode"; +import { getWorkspaceFolder } from "./settingUtils"; import * as wsl from "./wslUtils"; export async function selectWorkspaceFolder(): Promise { - let folder: vscode.WorkspaceFolder | undefined; - if (vscode.workspace.workspaceFolders && vscode.workspace.workspaceFolders.length > 0) { - if (vscode.workspace.workspaceFolders.length > 1) { - folder = await vscode.window.showWorkspaceFolderPick({ - placeHolder: "Select the working directory you wish to use", - }); - } else { - folder = vscode.workspace.workspaceFolders[0]; + const workspaceFolderSetting: string = getWorkspaceFolder(); + const workspaceFolders: vscode.WorkspaceFolder[] = vscode.workspace.workspaceFolders || []; + let needAsk: boolean = true; + for (const folder of workspaceFolders) { + if (isSubFolder(folder.uri.fsPath, workspaceFolderSetting)) { + needAsk = false; } } - const workFolder: string = folder ? folder.uri.fsPath : path.join(os.homedir(), ".leetcode"); + if (needAsk) { + const choice: string | undefined = await vscode.window.showQuickPick( + [ + OpenOption.openInCurrentWindow, + OpenOption.openInNewWindow, + OpenOption.addToWorkspace, + ], + { placeHolder: "Select how you would like to open your workspace folder" }, + ); - return wsl.useWsl() ? wsl.toWslPath(workFolder) : workFolder; + switch (choice) { + case OpenOption.openInCurrentWindow: + await vscode.commands.executeCommand("vscode.openFolder", vscode.Uri.file(workspaceFolderSetting), false); + return ""; + case OpenOption.openInNewWindow: + await vscode.commands.executeCommand("vscode.openFolder", vscode.Uri.file(workspaceFolderSetting), true); + return ""; + case OpenOption.addToWorkspace: + vscode.workspace.updateWorkspaceFolders(workspaceFolders.length, 0, { uri: vscode.Uri.file(workspaceFolderSetting) }); + break; + default: + return ""; + } + } + + return wsl.useWsl() ? wsl.toWslPath(workspaceFolderSetting) : workspaceFolderSetting; } export async function getActiveFilePath(uri?: vscode.Uri): Promise { @@ -40,3 +61,14 @@ export async function getActiveFilePath(uri?: vscode.Uri): Promise Date: Thu, 11 Jul 2019 17:00:49 +0800 Subject: [PATCH 05/84] fix: Failed to resolve the Node executable path when it contains spaces (#363) --- README.md | 2 +- docs/README_zh-CN.md | 2 +- package.json | 2 +- src/leetCodeExecutor.ts | 2 ++ src/utils/workspaceUtils.ts | 5 ++++- 5 files changed, 9 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index a46fe59c..ce36142a 100644 --- a/README.md +++ b/README.md @@ -127,7 +127,7 @@ | **(Deprecated)** `leetcode.enableShortcuts` | Specify whether the submit and test shortcuts in editor or not. | `true` | | `leetcode.editor.shortcuts` | Specify the customized shorcuts in editors. Supported values are: `submit`, `test`, `solution` and `description`. | `["submit, test"]` | | `leetcode.enableSideMode` | Specify whether `preview`, `solution` and `submission` tab should be grouped into the second editor column when solving a problem. | `true` | -| `leetcode.nodePath` | Specify the `Node.js` executable path. | `node` | +| `leetcode.nodePath` | Specify the `Node.js` executable path. for example, C:\Program Files\nodejs\node.exe | `node` | ## Want Help? diff --git a/docs/README_zh-CN.md b/docs/README_zh-CN.md index 6d90edb6..be328359 100644 --- a/docs/README_zh-CN.md +++ b/docs/README_zh-CN.md @@ -127,7 +127,7 @@ | **(Deprecated)** `leetcode.enableShortcuts` | 指定是否在 VS Code 编辑文件下方显示提交和测试的快捷按钮。 | `true` | | `leetcode.editor.shortcuts` | 指定在编辑器内所自定义的快捷方式。可用的快捷方式有: `submit`, `test`, `solution`, `description`。 | `["submit, test"]` | | `leetcode.enableSideMode` | 指定在解决一道题时,是否将`问题预览`、`高票答案`与`提交结果`窗口集中在编辑器的第二栏。 | `true` | -| `leetcode.nodePath` | 指定 `Node.js` 可执行文件的路径。 | `node` | +| `leetcode.nodePath` | 指定 `Node.js` 可执行文件的路径。如:C:\Program Files\nodejs\node.exe | `node` | ## 需要帮助? 在遇到任何问题时,可以先查看一下[疑难解答](https://github.com/jdneo/vscode-leetcode/wiki/%E7%96%91%E9%9A%BE%E8%A7%A3%E7%AD%94)以及[常见问题](https://github.com/jdneo/vscode-leetcode/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98)寻求帮助。 diff --git a/package.json b/package.json index 5f90e490..5e0005b8 100644 --- a/package.json +++ b/package.json @@ -361,7 +361,7 @@ "type": "string", "default": "node", "scope": "application", - "description": "The Node.js executable path." + "description": "The Node.js executable path. for example, C:\\Program Files\\nodejs\\node.exe" } } } diff --git a/src/leetCodeExecutor.ts b/src/leetCodeExecutor.ts index c3ef495c..8bef00fa 100644 --- a/src/leetCodeExecutor.ts +++ b/src/leetCodeExecutor.ts @@ -49,6 +49,8 @@ class LeetCodeExecutor implements Disposable { if (!await fse.pathExists(this.nodeExecutable)) { throw new Error(`The Node.js executable does not exist on path ${this.nodeExecutable}`); } + // Wrap the executable with "" to avoid space issue in the path. + this.nodeExecutable = `"${this.nodeExecutable}"`; if (useWsl()) { this.nodeExecutable = await toWslPath(this.nodeExecutable); } diff --git a/src/utils/workspaceUtils.ts b/src/utils/workspaceUtils.ts index df7df0ad..b27a3ddf 100644 --- a/src/utils/workspaceUtils.ts +++ b/src/utils/workspaceUtils.ts @@ -64,7 +64,10 @@ export async function getActiveFilePath(uri?: vscode.Uri): Promise Date: Thu, 11 Jul 2019 20:21:04 +0800 Subject: [PATCH 06/84] chore: Prepare for 0.15.2 (#364) --- CHANGELOG.md | 8 ++++++++ package-lock.json | 2 +- package.json | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 41a9e7a9..c5e16401 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to the "leetcode" extension will be documented in this file. Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file. +##[0.15.2] +### Added +- Prompt to open the workspace for LeetCode [#130](https://github.com/jdneo/vscode-leetcode/issues/130) +- Support deleting sessions [#198](https://github.com/jdneo/vscode-leetcode/issues/130) + +### Fixed +[Bugs fixed](https://github.com/jdneo/vscode-leetcode/issues?q=is%3Aissue+milestone%3A0.15.2+is%3Aclosed+label%3Abug) + ## [0.15.1] ### Fixed [Bugs fixed](https://github.com/jdneo/vscode-leetcode/issues?q=is%3Aissue+milestone%3A0.15.1+is%3Aclosed+label%3Abug) diff --git a/package-lock.json b/package-lock.json index 46afe0b2..ed6984a3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "vscode-leetcode", - "version": "0.15.1", + "version": "0.15.2", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 5e0005b8..66450123 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "vscode-leetcode", "displayName": "LeetCode", "description": "Solve LeetCode problems in VS Code", - "version": "0.15.1", + "version": "0.15.2", "author": "Sheng Chen", "publisher": "shengchen", "license": "MIT", From e1f3206756c1909c36a3832bec8f010e4e18bf8e Mon Sep 17 00:00:00 2001 From: Sheng Chen Date: Fri, 12 Jul 2019 15:16:12 +0800 Subject: [PATCH 07/84] feat: Can select folder to save the LeetCode files (#365) --- README.md | 2 +- docs/README_zh-CN.md | 2 +- package.json | 2 +- src/utils/settingUtils.ts | 4 +-- src/utils/uiUtils.ts | 12 +++++++++ src/utils/workspaceUtils.ts | 50 +++++++++++++++++++++++++++++++++++-- 6 files changed, 64 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index ce36142a..95067331 100644 --- a/README.md +++ b/README.md @@ -121,7 +121,7 @@ | `leetcode.defaultLanguage` | Specify the default language used to solve the problem. Supported languages are: `bash`, `c`, `cpp`, `csharp`, `golang`, `java`, `javascript`, `kotlin`, `mysql`, `php`, `python`,`python3`,`ruby`,`rust`, `scala`,`swift` | `N/A` | | `leetcode.useWsl` | Specify whether to use WSL or not | `false` | | `leetcode.endpoint` | Specify the active endpoint. Supported endpoints are: `leetcode`, `leetcode-cn` | `leetcode` | -| `leetcode.workspaceFolder` | Specify the path of the workspace folder to store the problem files. | `${home}/.leetcode` | +| `leetcode.workspaceFolder` | Specify the path of the workspace folder to store the problem files. | `""` | | `leetcode.outputFolder` | Specify the relative path to save the problem files. Besides using customized path, there are also several reserved words which can be used here:
  • `${tag}`: Categorize the problem according to their tags.
  • `${language}`: Categorize the problem according to their language.
  • `${difficulty}`: Categorize the problem according to their difficulty.
For example: `problem-${tag}-${difficulty}` | N/A | | `leetcode.enableStatusBar` | Specify whether the LeetCode status bar will be shown or not. | `true` | | **(Deprecated)** `leetcode.enableShortcuts` | Specify whether the submit and test shortcuts in editor or not. | `true` | diff --git a/docs/README_zh-CN.md b/docs/README_zh-CN.md index be328359..c23ea861 100644 --- a/docs/README_zh-CN.md +++ b/docs/README_zh-CN.md @@ -121,7 +121,7 @@ | `leetcode.defaultLanguage` | 指定答题时使用的默认语言,可选语言有:`bash`, `c`, `cpp`, `csharp`, `golang`, `java`, `javascript`, `kotlin`, `mysql`, `php`, `python`,`python3`,`ruby`, `rust`, `scala`,`swift` | `N/A` | | `leetcode.useWsl` | 指定是否启用 WSL | `false` | | `leetcode.endpoint` | 指定使用的终端,可用终端有:`leetcode`, `leetcode-cn` | `leetcode` | -| `leetcode.workspaceFolder` | 指定保存文件的工作区目录 | `${home}/.leetcode` | +| `leetcode.workspaceFolder` | 指定保存文件的工作区目录 | `""` | | `leetcode.outputFolder` | 指定保存文件时所用的相对文件夹路径。除了用户自定义路径外,也可以使用保留项,包括:
  • `${tag}`: 根据题目的类别进行分类。
  • `${language}`: 根据题目的语言进行分类。
  • `${difficulty}`: 根据题目的难度进行分类。
例如:`problem-${tag}-${difficulty}` | N/A | | `leetcode.enableStatusBar` | 指定是否在 VS Code 下方显示插件状态栏。 | `true` | | **(Deprecated)** `leetcode.enableShortcuts` | 指定是否在 VS Code 编辑文件下方显示提交和测试的快捷按钮。 | `true` | diff --git a/package.json b/package.json index 66450123..bb04635b 100644 --- a/package.json +++ b/package.json @@ -314,7 +314,7 @@ "type": "string", "scope": "application", "description": "The path of the workspace folder to store the problem files.", - "default": "${home}/.leetcode" + "default": "" }, "leetcode.outputFolder": { "type": "string", diff --git a/src/utils/settingUtils.ts b/src/utils/settingUtils.ts index b7cb5919..388f31b8 100644 --- a/src/utils/settingUtils.ts +++ b/src/utils/settingUtils.ts @@ -1,7 +1,6 @@ // Copyright (c) jdneo. All rights reserved. // Licensed under the MIT license. -import * as os from "os"; import { workspace, WorkspaceConfiguration } from "vscode"; export function getWorkspaceConfiguration(): WorkspaceConfiguration { @@ -13,8 +12,7 @@ export function shouldHideSolvedProblem(): boolean { } export function getWorkspaceFolder(): string { - const rawWorkspaceFolder: string = getWorkspaceConfiguration().get("workspaceFolder", "${home}/.leetcode"); - return rawWorkspaceFolder.replace(/\${home}/i, os.homedir()); + return getWorkspaceConfiguration().get("workspaceFolder", ""); } export function getEditorShortcuts(): string[] { diff --git a/src/utils/uiUtils.ts b/src/utils/uiUtils.ts index 1fec63e3..037b2371 100644 --- a/src/utils/uiUtils.ts +++ b/src/utils/uiUtils.ts @@ -92,6 +92,18 @@ export async function showFileSelectDialog(): Promise return await vscode.window.showOpenDialog(options); } +export async function showDirectorySelectDialog(): Promise { + const defaultUri: vscode.Uri | undefined = vscode.workspace.rootPath ? vscode.Uri.file(vscode.workspace.rootPath) : undefined; + const options: vscode.OpenDialogOptions = { + defaultUri, + canSelectFiles: false, + canSelectFolders: true, + canSelectMany: false, + openLabel: "Select", + }; + return await vscode.window.showOpenDialog(options); +} + export async function openUrl(url: string): Promise { vscode.commands.executeCommand("vscode.open", vscode.Uri.parse(url)); } diff --git a/src/utils/workspaceUtils.ts b/src/utils/workspaceUtils.ts index b27a3ddf..b77fc3c7 100644 --- a/src/utils/workspaceUtils.ts +++ b/src/utils/workspaceUtils.ts @@ -1,13 +1,23 @@ // Copyright (c) jdneo. All rights reserved. // Licensed under the MIT license. +import * as os from "os"; import * as path from "path"; import * as vscode from "vscode"; -import { getWorkspaceFolder } from "./settingUtils"; +import { IQuickItemEx } from "../shared"; +import { getWorkspaceConfiguration, getWorkspaceFolder } from "./settingUtils"; +import { showDirectorySelectDialog } from "./uiUtils"; import * as wsl from "./wslUtils"; export async function selectWorkspaceFolder(): Promise { - const workspaceFolderSetting: string = getWorkspaceFolder(); + let workspaceFolderSetting: string = getWorkspaceFolder(); + if (workspaceFolderSetting.trim() === "") { + workspaceFolderSetting = await determineLeetCodeFolder(); + if (workspaceFolderSetting === "") { + // User cancelled + return workspaceFolderSetting; + } + } const workspaceFolders: vscode.WorkspaceFolder[] = vscode.workspace.workspaceFolders || []; let needAsk: boolean = true; for (const folder of workspaceFolders) { @@ -70,6 +80,42 @@ function isSubFolder(from: string, to: string): boolean { return !relative.startsWith("..") && !path.isAbsolute(relative); } +async function determineLeetCodeFolder(): Promise { + let result: string; + const picks: Array> = []; + picks.push( + { + label: `Default location`, + detail: `${path.join(os.homedir(), ".leetcode")}`, + value: `${path.join(os.homedir(), ".leetcode")}`, + }, + { + label: "$(file-directory) Browse...", + value: ":browse", + }, + ); + const choice: IQuickItemEx | undefined = await vscode.window.showQuickPick( + picks, + { placeHolder: "Select where you would like to save your LeetCode files" }, + ); + if (!choice) { + result = ""; + } else if (choice.value === ":browse") { + const directory: vscode.Uri[] | undefined = await showDirectorySelectDialog(); + if (!directory || directory.length < 1) { + result = ""; + } else { + result = directory[0].fsPath; + } + } else { + result = choice.value; + } + + getWorkspaceConfiguration().update("workspaceFolder", result, vscode.ConfigurationTarget.Global); + + return result; +} + enum OpenOption { openInCurrentWindow = "Open in current window", openInNewWindow = "Open in new window", From 9b7847588ed84153af23f0c957acb5ade2b76d5a Mon Sep 17 00:00:00 2001 From: Sheng Chen Date: Fri, 12 Jul 2019 15:43:13 +0800 Subject: [PATCH 08/84] chore: Fix the changelog format --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c5e16401..2dd16029 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to the "leetcode" extension will be documented in this file. Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file. -##[0.15.2] +## [0.15.2] ### Added - Prompt to open the workspace for LeetCode [#130](https://github.com/jdneo/vscode-leetcode/issues/130) - Support deleting sessions [#198](https://github.com/jdneo/vscode-leetcode/issues/130) From 07ac6fb6b0a6527a4a0ccea02be3625781b89e96 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Jul 2019 14:22:38 +0800 Subject: [PATCH 09/84] chore(deps): bump lodash from 4.17.11 to 4.17.13 (#366) Bumps [lodash](https://github.com/lodash/lodash) from 4.17.11 to 4.17.13. - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](https://github.com/lodash/lodash/compare/4.17.11...4.17.13) Signed-off-by: dependabot[bot] --- package-lock.json | 6 +++--- package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index ed6984a3..a01167a6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -946,9 +946,9 @@ } }, "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.13.tgz", + "integrity": "sha512-vm3/XWXfWtRua0FkUyEHBZy8kCPjErNBT9fJx8Zvs+U6zjqPbTUOpkaoum3O5uiA8sm+yNMHXfYkTUHFoMxFNA==" }, "log-symbols": { "version": "2.2.0", diff --git a/package.json b/package.json index bb04635b..722a0916 100644 --- a/package.json +++ b/package.json @@ -390,7 +390,7 @@ "dependencies": { "fs-extra": "^6.0.1", "highlight.js": "^9.15.6", - "lodash": "^4.17.11", + "lodash": "^4.17.13", "markdown-it": "^8.4.2", "require-from-string": "^2.0.2", "unescape-js": "^1.1.1", From 6e37a825f4aef1c88d66f4ebdc346f13d49bb74d Mon Sep 17 00:00:00 2001 From: Sheng Chen Date: Sat, 17 Aug 2019 14:20:33 +0800 Subject: [PATCH 10/84] docs: Update readme page --- README.md | 6 +----- docs/README_zh-CN.md | 6 +----- docs/imgs/sponsor_coding.png | Bin 138165 -> 0 bytes 3 files changed, 2 insertions(+), 10 deletions(-) delete mode 100644 docs/imgs/sponsor_coding.png diff --git a/README.md b/README.md index 95067331..a1d6e64d 100644 --- a/README.md +++ b/README.md @@ -20,11 +20,7 @@

-## Sponsor -[![coding](https://raw.githubusercontent.com/jdneo/vscode-leetcode/master/docs/imgs/sponsor_coding.png)](https://coding.net/?utm_source=leetcode) - -- [English Document](#Requirements) -- [中文文档](https://github.com/jdneo/vscode-leetcode/blob/master/docs/README_zh-CN.md) +- English Document | [中文文档](https://github.com/jdneo/vscode-leetcode/blob/master/docs/README_zh-CN.md) ## Requirements - [VS Code 1.30.1+](https://code.visualstudio.com/) diff --git a/docs/README_zh-CN.md b/docs/README_zh-CN.md index c23ea861..619863bd 100644 --- a/docs/README_zh-CN.md +++ b/docs/README_zh-CN.md @@ -20,11 +20,7 @@

-## 赞助 -[![coding](https://raw.githubusercontent.com/jdneo/vscode-leetcode/master/docs/imgs/sponsor_coding.png)](https://coding.net/?utm_source=leetcode) - -- [English Document](#Requirements) -- [中文文档](https://github.com/jdneo/vscode-leetcode/blob/master/docs/README_zh-CN.md) +- [English Document](https://github.com/jdneo/vscode-leetcode#requirements) | 中文文档 ## 运行条件 - [VS Code 1.23.0+](https://code.visualstudio.com/) diff --git a/docs/imgs/sponsor_coding.png b/docs/imgs/sponsor_coding.png deleted file mode 100644 index 78c47fc0e224c50fcd6b10ece915e10ae36dc1c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138165 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 z zg}%NCY+As_9pK@y-PJ0XX7JiT1JGz^B@2z!`z>#9E~x>d@yYzq`O2R^fBq?RVk~QF z@7;O$|LB{j`fCU>Jc)yls9#6#>%;;c4PNX1xS&3*!aj!}LYLpwpc&r=2l4yx*{U$_ zKTCg4oa@bYLj>d0AWqyI1!jM_GU;mZt;l3N=3jaB*Q~%WtW!z`}a28+Xu8qoJu~vGf z4f50ayD=HzVo<)jorpuXyLXuzPf&$JLhHbfA>*Ee{Og4_`$^Px6(iHrp3*(E`bx}} zWTN>|Y#czf?^`b?ZNhTf*KKr8JIaywk^QrNpPrU8tMZKMksgk?7xX~=9@J+mDkE#W z(9Re?G8rsQMIs#|Q}BM3+uBrMZ=nJpGYIpP%{g#-OIw$A=h23(lhf39Q}6YazQ-X@ zHPevVT0OsHlkdUWzE89GKUwAJ>tH9$gNl@-YuN-#zu%6|d;^a*ep_FZ%Be&Fk8_)Oe+iYtCWhd^f_TQ86r5+G6p>cvFa;lj@iHI`gHyXBTXy~8LHy@g8$a0*E4RV*G@(8tdZDzZ^obTkK$qY1@&}_^&M;!I+zpypVv=n}Z3jEOXHHGf> z)%Y$g1xjVuK$Q#cgZhbIU@lR|U6cxmX#tiHA!R2X?9x(MJTWdsPG0F**%dOHY(10; z+{g>|+R{_kptz?MpxG&JmrQIGnp=Z_i?R^kD%5XMSLL;zO3ZA*>5SNegfPj(#q>KQ zJ^=v%9zG4mCDE3#Kkl{zz1G+NAfI`CONrC4O!G%meqpj;d!^ljSK z$k9L*iD@s^FaAi1qA9k-sOI6gSsZ-oAJ)D|trw2K>ci91w9{ai-w7Mp=cle z(z5em-A_v7FW6m>R!cm6O6%maFa31xb!!hA$LV03kAxw0u&L!ky4LX@eNx7|i^u7n z6~3OsGp6{aiXn)wHn>O4tR`85H$yYrJj3rDNx8>L2Bmk3%-qzQkQ^Y3>T0@_gdU9mTr3k$b%k5Waq zpUQH)GWy9YnsE(|0VkfnIf6Uo1kgWH#_tPs1HF%W7fG7*`lxtA0rUx)|DjCcKeT}}kShQ5`f=4Q|@>gaVj(%F+k?FIO z+|!j(ENcfJ4K{0>6*HcxZ}rWGX>q4hGQpOB1sdYWiy9vnHz&fT&%CJ3`~?E?xVe_x z!zeC8llgbd0v_C-8PEy#WUY$nI7TYMtRY1V93FnyAGXb?;A9&zRXtLNhr^NMB4FvH ziv^LI&)vor3ex4Dd2Jla0|saPJ-&i`V5B-e4x;TY`#%K>vz^4b1-o7(!+5^p7rJj- z8L;@%`iD_gNoGMRPnxB3)FrTvVr zUy_87`g*Y&vv-XovcNxMLyad-qQM#fWEzbh6m|qQG}hFBpt)z6Q#7$*OnCq3s4Jb` zn@cYoo^|H0SF1i^v39VAh>^uiAE*(YtTMEpyr5^!FY5`n4c`EYkw~UdcZzv6n(6;8lE>OWju$M zE7JZ|_?*{%(x#l>$+G#u-;uV%^FK{zZb`Y>uqUzr!ZuotZzq@8l$%$`4go~I^KQ}kYIKUXGn zJ*9L~MtbcT!Z2AYz5H4~$lL<~&s>)3mH3o9W=99pEmq=Amy*$j&9G^s-*VCSzfhAS zg`ik%7LtwFh*aH+*nU2UsPBl2MwcaUkl!4w(qfjuT+?+LV1qcZvRrQjXA%4#!jn-S zp^4GgSDGPWh1Jc15H6Kg@9yvpM<=GAiBRpdkUwQ zSBk}$=JsZSH+kB6**0=N99Q&(QhM7{E#*po7t~n^+wJ_z$#7-0*jgF!(_Wtc?QG%8 zV4m?_N&g2*B;;g{ZFi4KwF@U_ueiNQXUZ--nz7vH-3*--4d&2!q(k=VO$Nieow>M^ z3lEb@-9tp55;@l959Z3xgU3$)kO)X>FMU4DJ9yM0?lKAK;A{V zy`Pa`JjiL13b?kB>qh3qeADV=DKzwEo5FcbleE;Zn-F}YTa3yX)-AGlnYjfOi+r3G zSx!NKMRJhDHakA{pu2$#@c&L;!EBpTLYkk@ob7+gR65xTgz@Dr@l8#N^`9-H=Y#gs z_Y)-!>?0+DPNt^h4y*k)da{lPXXcIB3c_J$wL!JAc&)05>qPW_DpeDd`{cZfosiMQ}~9>&H;J`s058 ztn2JSTR$UD5C1C-{-l*DHJCNMJ)4p}$Xg(+@mk|)R%!(a2g34zh93MkIU+{SvaH`7 z3|2Sp&iy@EuV$Zocju;OiM4GvcOQ6T0V+sNq3P2nGr3SteG#_dz1gAj3G+?z! z6T;utg5qLCU?>jT9SYl7`a3goQf#D%aIPI6%hgIuq@qd>;+1;yD%l1j4^maZ`8eH? z>}m_;JAQqs@w3~uuXDTQPuuyzP>joY!)B9*ukUt8*vWN?RhN=v`u=xWtZd*r7{7mG z->&c8h#tx}r1EI5x+%mnuxi8^{a@v+x&?69%E-$~${K55H+`)ZRi6ToSUPc_j`$sf zj?2&dm!A_Kzgl{}D-i=SDpkM-nY{yI%B&kh&dwq|Udzy;pOy1CmTbxgdhcy*FQ+Kf zZX8!nhS;%!hBL?a*Lv@sdD!W0>aY85jTIx#-vzZfG}1ojSm^$18^E!1d8K3e&xzH| zJ;uewR!6T8PqRB&AiubecHDObR9dGJAn*!Q5x5lwUj*(5%+u;6B@a#pb~z!M{&i6y@D(d2-xp6;bvQt}0xK*);|0tY(@O5h4 z{pNuDpoPHQ>*q%BG=IC>A!H+B7uaW$q`zg&vle^cK_AK;C$fe^DypnCBl?pmX}GUh z2q7_)$@KK(>%Vzh*Lnr-4icHZbfUMJ$MDx%y+>=k#Isn} z1Q+5*f`8#(b4Xm!qv3ucCi*GKpN~t;LOknPc$65O1sPHYFJRfx&8ZRPyJqBQ9El>x z?ClqUT)fK9lroi^T>X50YG^60f-lAo0IoAurmJoI#sEtcehWdX1}S@Z3|3)c8&$)FCH^Z*_yH(#&zYhf0f^L_+oiA44*~(I< zZO~4@nEd&8!)#>hVg6eS5s79r5ya5^>wt3geZF`Kr+pmHauW|3t4hI7@RG_@ei@lJ zR7tRAbBdy72+G=wIIZHXp^1qs^!71Tvi;Xh)Y1rX^u$lA+`{$&TRLj-=FAb5fU6Ea#Yo-xAaaVwvo$WY%fcB`Oo5gN>FI}5TD0FNzG*#&b_3YU zTBB5kp%Rk|M%|acze;whunC%qUhG?Y&Un}SM`0?omT7X@|Ev4efL5Nv*Q_OK&&J#; zL9rBO1V!;n8rx{?VSF--OsPgy_GSbG_in!EjH-%k{JE3$UvOB4!f1aP<=cyI>LON>wL z8eK!~L4r?u64}y*v!)BJp1&=cev$cAT-~{lt|Qjz_v6sL!XFzqkF$ENKkMvra3*-P z^bl_9UT03s{!#o2-ua~Y(f0ua?r+(D)7e*PK&9rPiT){#Pevwx@%}aVGRgSEeNgSR zcG-;bFYMs^#4`u-cnhVA8ThbVUOLWWRSqn4m?z1f?a|Qm_0Exwh?hy_?VTwV@o$~N zl@&O-pu_KzlfiDn7f@xu`DrQIFSNX3I{+98p=yreZc7`sG(;Xtb=ue>Tm%BmyOFB@ z>hnZLp>Ij9td!HUg_)JW;XR4fOP#A(J`$NQBMn`vKdY;&I~DP-nA)u@hAJPt&S+88 zP*I5`X6pIpVu&@Mp5MTI799^Kc>zVhZ%{g>RBIV`7bptZO7fqLY7&;Q*>pTYFDk)sTtTA>aZBu``9256pneVv`XgRQMOf!F;iiWzE+( zz5>wN04l`bmE47X+i-V0jh>@HzXe}`*i-i0Y!erW)4LrWYx)%SBAH@Z71h;4J`;KB zNl|2s{*TD?xd|KwC-lUv6obfdsIa-G^YG|T9XTbew^m6jEAx}m;}Q3YM_F3Dq}Vh{ z+z5KLi;1SSid`IR+$MS!CdG%}@aRpXkkkJzq&2h|J92j1x#!5rabe=eL!MOq6-QH2 zRZ^@7lZ)#$E2ayg@f6QI$0!TFKMk@r(79JUV)83EpiEYBsbiEZ<3m*F4bv1Gv&+Zo z9Yg7iU583z@*4blm*M?d46ubluZ&o%VZtLA@;XZ{w^tek1%bYGg+iZJHUIq^Dc*Ud z)Z*7aSwdMTWH`^P0q_AujAhaD>EJ=nxznO9`5_dcTd$KLq9WKRbVorvsA`_rVc~I3 zj&YHSLvQii-ll^#!MfwB&0YaPAY7Ap|NcF2A!Aj9kh-6>d6Of!;hZp1GzY{8O*2Pe zd^PlVNo`zdHxl${^sE!4m82W}YIgnwSb|QAR_oD7zA#~!1FrX=bL$#hhQ{+6(vJs4 zd?JR5#i{^`xfr&F&K5$Vgk-Iwq)2OK6Cn+Eb)NA{`ux^?Vy!>wC4`W%JP=L|{UGwU zD}>X9wiAd~KnPs9wc0qSXzginOf6A4Xjbg+5ZY`Wf(#N1{8rtnz`u zK)xN)Gtr?R3#OHFNnDsmikc87$Tt7gi(K~9zL^11A6SFZx2;;YZ;JIjtiUOqlPz8>Whu1+PUvo2#G zLB7puI{J083I)Y=P3BjaiDGRfT?F(j`~W=>;29Vi5W2lvdJZt7^S zZjUsl=l3A6%Cr((oZA?F1HQr%-=dz8ZclBDqk%pd`~|ZGG`Kpw*|;+S*5gyh4Pn64 zZQFPMkFkxd%b0di-|j-8lNVdedf@5xu)i_KK|Ad=CIVA|e-|7p58EXg2i&@RWpMV- zs#c$wAO0#Gmzk82|CBz?F;0smf&Y?BEJ%%ou=>Qzo1G~^eVA*=8oFxuCi$lhbn9)v zUO}KEvCT+=8f5z=C)VAMw1=*f;*}$-dfcp})gXk{BjHkl@HENOPs!qlT5(Py|R7kQ;+)AkN%y#wBvXkty1&s!Oz}x zEuDO&?AA4Pihb|@{4KUB8GN9n%E(1RX0m_M71KKO?chAv&a2-%sjyPVGFWQ=e3tQf zSV)WS=s@9>7kGXwWLCn9rK;FnIkr2MS@rJoa^k*HC?$CR>U_X8EQt^|lMR|{VH8Ok z8_OZdRv=tVZsf!aT^J`gB85;7HL!3P=awSrI|4)(9OV*TaZ|u`OX2)MfL(K|RxyX) zs-;WoqVuUju*aS;>$uw!=$fdnl0A>u=TPk+(#OAHqHE68<*w0M5K0otOTM^z|BAx0 zHCJL3GxwKMZuws?-{8nHI3W6>z480ivsEv&p1<%Qs-d^GY=i3;B-qUw*eU|L9`H3C z=mmc;rS(r4c3laSalMII^>iH-t8e_0X6o11iQ<)zr%q5|yOSi5a}V4KfK$_vJgjHY z!Adi%$J1Osm7S9dgpoIV@wu`xIk)iMG3YiR5&$8VCq;IHyBci&FRj$dx}$#(8p6XQ_UuC4Pk0nVzd(9oKx zeA#h)?KSiX5Ai?<$e(AJBOoR?mM$U|LU&RYKM>9Ww)PHr&&8ROmHo4x+;?v89i(N4 zkAI~%dY5Hys;G=rU0<}DI^Niy3h_SLsNdXE9^i)qE)!7fj81ztxs2&+q_86Jx(9k{ z(w3NQO1$Xt*NcMw8+-fvngfoNa1>3e(5KVAvAd52<^82zvoU#nPvng7#)BY7BBzo* z8W4&Vb~1ZeuU>6D`Ey-7tEal@biKz`SrJKu{4W53Ov2|HwxjEt@_Y|YTK1dR$1J@( zT=Emz0sysU!o1)3IBRz{?0j#2`JM_Ga91pQvy^QgN&9NtD;;t>`~CRs>cB<8hW=X) zyb_O-lnhk+A&!p#M40P;xw)&f$;c^fj+W~!i}-42!(r?B>i&?-sqZ^d0#`0OyL7)!E9md$wk+Qm8cHvkI$d>JS{RMj2*2PM z&L>Mdfml^&ru>8*H_$S%MvJKW=8$?=XVYT;^>WAZKAN+Wy$eazzA&171P3KJ`Ki3;+=LYABmIWhMB zhS2O?>^KpH==4}KSJ9mzETOAlM9OImX~kK6jYz(ApcV~J3y&p5~O z29fB;fs4iZrm|pqA}}bF3JW<$`%lky?GmvoT^XM5Z|aMTb67xdu}Fla9cwF#mpboP zDmabhbHmGu{kpMI%CBLXuMNR=gGQU=4H5>Nshsv?n)c1apLrNe}A#UVa$h)Q`afYz=>;F8;_x> zd-&`&+2_u~cMorZW++T*V{>zA{2iWq(OVjbkyASJ$yAu>vA9!7s#cUt)IInQpWA2_ z9pulCx2;~kI10Uy*2#PeCl%0_uM)}UcVjoiyv2A`GO|6I_QCNoYi zXLhbMb`igV=Pf977_FM8;{41B2Q4m*<fT2}Lv2ovzj3jA+a053ww3#`d#lq2?DB8D*GMJe1(#qogSXw<4 z@8Y;`Z7QdsD4pZ1gHu5?6I{20mV+cxj2KHmZpKVz44&?toSXo14pa2%suLcm`o&w? z^aew%2d5+3ol{?tWr1EnmRZNj;s-T#HS$e0e5d|iptoEWGTIk&C<5Esu2WJ=3edB| zflcLgrP>=Jlq`ng5KSqDA)84aM9ElyItqaT4(CMhjw8@$h!0C*qYFjLU^tb2>Bjp; zJnflKoO%*vhk+QvV+oXM;hY#%l{mh;q#6&UFoq8!cyCr3!8Zg3Qi;m8OWq;9+=9JU zh2HvGuHjb#TMCWdX{tP$vCW$e{vwmjn!4+_c0v4(in(yV^JN#+A|fBs`DVb|?^o%j z$k(>Nl1M0V8~rfsc-iH;6i!h!Xd9B2q;WJ%&K_uJ-SO8oY5 z$j+Y6CAShPj>PACh5qtI7nlVX%Tp-4e9>xz%Oej}Zpmq}l8Zz{=qWR+$Fo2PHPts? zNu?RzTgZh##vJPRaL2`>5Ge`;yAn>(Y;g};1=~Whd^}fuDr$ zIc>1r>L-Hj%#(W^5hLD&c4O+to$!)&GKp^$p;Z_D9+1O@{xRAj5h?}i$xx?ALIEYP zqKMe_=G+v_`Tedcr#MKGa0?Gae#z0Dc`O!bP%I=gZF$ll%_ zL%ix(6>nyc%!D^kZ7Ofg9H|lO`?lvg=>|Ll0^*R?fTlnI*!|CJcr<1}h6eUxkcFml zuqww{T*75+FxfHZmP}EAtG?rS2x}K$GuT!zcL;N0)esPIRuaHjcXqs9iM#xffe_P) zm=h-A0nO(`*Pl2TMzJ=ig0nI1YUvEv! zkJaVXaNmEQCB|En%EI%wAjiAw(A!Qtt01*%Y*+HB2dh&_9myk|OkAr%0!H@s<&hhU z&R=RK_lDjgBwnF-3);@iL^Bg+W7lg;OY+#cGMNdfzih-)YRpPC2P7#c#lUwv>8sT@ zmmQ-IyMhAw$+*|p{K^t8@evj5&7ZperesOWhxI{+Qm8@iE?@h?MM%jd9 zTw7V!$O_5GUfGxU%HEq~lf8E~3Ca4Mejfh1*WN_xtsFzLcV?<*FHjib4sI z9Satdnzm3oszgfb;`a5-w2NQnEv>@em^;v5IW*)%B%t3E!^tQG?^Ckz9wKZ=+UiRf)19>O5Ni`y5j_Gca)P zeM*PW?vuVgYdK3;v~bCVuYL$Pgv0@ZP$^eZJU9v zf`l{)8@qUk1T4yNI%+nazP?1uSHC3k1+#`9re`duh)GG6BGU$yK#)Up3W&YcNmXYh zbMf;d25r=h^vT`F=XR3C^1hk>Dx+CWFw2OUcNl+zz(oF=I_|&y zeIhI@{Hkg3V)48s$?axv=_(pjR?F?m^O6WA+H8#QlJDg&`*#`CMCs4iZht*$ZKzEi zEX=^N(N`1wHXD!vU9_EngMX|*Wc*g zEvr`5dvQg)YJ6?v=2pd9Qzhg5Aa+%{#po2tbZlPH;NSOspgRZ8n{}R9}etMSq zG$$^kqu|BDwL~=$uK@>MAf^P{o?*exukU^~HYK;aOYQ>}FN0_8SThjmw`*5+lJf!k zE)V~V;4hWP>UV#dI~Y_3l7_@2G3a8;n>Fvr8cJLO>_7T-Po7!tll+}*lF^2;u0lhm zbI8O=!c!t(ikt5TZEyFUKI7(QlzJ<;PA>Oz4ApY=w>|I8mXEaeTZxRS(J$d`YWI+1 zknZ8G@uEbtn|xAfsm8zk<^C?!ilMR(R_lgGo9M@u@99~oMaaNRq`8vPe*JN6=GbQ? zb&sxS5lvg5jxIzf=|1Xy^1EF~Ob%V(#V=38(5bj@+%NHt(uDgvjxYRY!c@Jh=)Ty} zjUd-f@ZSIZ_I9sHwAYOIns5bk{BnV~B2-(_x}DWL-@?(3Vmy6qr-=k#zRX_MWT;7u zh7h~F=eUR{X_hWUK7t6Zm^c}m#Mt2)zyDX_(<~mbT2_&ss=KB)9nmj%YCr@7#NGbI zG^EDp<-_DM_i9-c0S_`&$7$GeoX7`|ZxFg!u@w^XBL;2&566eGFNgnzJ^NOom9Knq zC7E_TWWa4YBiKLKFfsjx>pQ^|W0Aq_b=ZMl_KuY6h;pd~k(LTBF&g@mKBmWsQCht- zuY<+Rv6nxa-n>JZp;ZvS=I>2BSv%5TsO)MZXyR)KHytsxo6kJA)YU)+6=qHUj-Y5N zL)?f`wo6wW*%XO(kxt}l;L1`{)wPo7Tl3ni=<5JCVgGDGk7x!D-1O20@v*{bsp8Dw z2P{mInd;8mGu#4H1iKUe^(8-Gc$aJS`%sgL)^)@v&_YKn$xJ#y^%b9(4jjA@hUc9{sqcS+Tuooc8M<0|nzwZ1gEOq?465!}*w$k-Z zQM3L#@vXmq9>*_Tw%#0GxW339+U#peFXy>kKEHJrO1nM@xG4tzL0d0SpD^VWT6~@( zF{RMh^k(InZHsEIJ)Nw5UQ&%ZH0Mi6&Y_+W(slQbodibeqR%W1cvh@TzLedpSDN|! z{yFMf@uU(~M}=eja`%mg|3$#nXcnFN?Ck+a?6Qs5zAF!B8Cj^ewK*7)B*R)h_%oLf zta1;l*pyR*ev{!&`u7e~6=L_38FzOPn%n-{op_FX9W^8}_jv*gU`^%1AOBhOYQ3EC zNekAle*UH9Y6I9@0$eW-ye0h44vtsaS=7kt_*K#O#U6dkrsOeF6@IYr<(!}5Df5F$ zI(bK%yv|V7XmPf2ZR^^mflZI7FFlHH}{bAxotqrj3+=5Eeu9kn+UHR8_Eh}2ceg)zKs< z>co6gi*^6V{5(PP0l!H~?(!MPKspATd!@+J8VXYKG?A2;rSlxp56ZcWEx%lM!W3&O z(Dozgj-IZw40OI%Syyo>ew!bpO!WIB6C4|EGm;npw6JmMBuMD1Vu2ohu%QqRc{_V| zAcm79f|hBgCoX8mM)G!ctM$JHhrPWV(&FORqf8#+qUj4hHyMdXeYs&er3rG0fn57` z^v~%vBpJBg9w0Mt}kW{_+qvYn(kVR;cSea&nga9 zeBrZH%oEwxy{wrmPAA?)LaDh|*N)|8?4}2uudrQZ3YT1c%8~uTk%|RK)`zc5Ff;{Yi>6n6G3CG+<)Rv4u zR%O~0^#8}9U}g@i%Qgoj=&omVYsGMLR&e*RBqYCWV4fbL+SCm`V{py}GIBNq^Glu( znXeS!A;6!roDBfhvOI9|dhv8)6^*H1wg^{_+CgQY;$VBPc#S#-G*#s4<4)cx$2;gQ zO%7bNnLKzRSg{mjUIxgxKOdsJF^1X`+wQaH*W260I}nV3=?WiE`rCa1~BtN8r4s4Q{mh;4|&gZVG!I zNh;3}YSC{oTdNo;AU@WZ0QgunhG zc8_|W=s>W8vJ&CuL>{H~6DnjnZbK&*O~pH9yESuPFxYT{uky%flUhxAPcM+u%XCoR z2;xx}>cg_WZ=<}pCeuy}S{t6HXP9s$fumU z5=SMIDa!aK`ZM#*u_&IrN#xp4ny_H9u@1bI#`7k~Z3uyguFL2$lun!l zON3Zl;Tzg~zGq#l{K>cvtrq!CUFL?tG{E@?7s+4&hM8s%yjjffx{4 z?x$~Q?k4SzW+WaNkhT02OK3RZCh3hs-Fx43WL1SOxD#qaJ%L_sh71VIK!hiT9;H9z zit9z2&R)J47_)PQl9P(1zu$c5`uR?i(wbs$G&6}6vfVtJ8bJv2B;sld&o;!f3#WJC z>w3?S7h_TTVm`($5}zDunH$ghWJ0-rF*VR7wg;bXN9irqYvG=U6T_cSG1XCY>fI=X6m9s9LrW@*fIJ%JpibX*RWD`2sgyfpw23%Ub!G-8p ztq8nak**aeef9{~dv@80WVZsDU~I#(TAes;rZcm$;+vjx75}@3OegaEQ=Al!@X(oxy9`Z?~(nzF4B zorK%DQw5P6a)BO=0eLfZ;;L7A+;yzeZb7_Yi8@M+Lxne@`Tx~h`4nUkd;l6eRvHez z)6A~EzFf?pJOWri{uIC?eByHyr*jx=rL1D-Vt|Br4ubV7Jhm$nc;N`p>(>0L#UQ0l zs<4LUiH1N516Xf$A_+Xgn6uMdo*_#x7`EyJ@U+Rr78^VsZOsb~x>kbboryG1nNnK~ zy%EcZQOd;*g{$?kxDDATeJ5cOKge`Dlf)&O>N=)4SLg~1?tJw#bWbU9x@%^|U4oWA zYWA|^)TWx*;pbaQJ~aUbjRO3&&f=6;L`tybgE^+Y&k;ZJx_4-Kx~tk@N!8XI;l$ zA~JiUbkg^ZNL{b2m@4G)!wbV-YvkJebQ2Qr%F--k^gr&Nus@yc6i(_t6>hmP0N|${ z2T$L%ACVjiP&^TBHJ8*j*>GkmoM`8E-4Luzl^Gp1L}d$W!){xgxnD?ukSx;A9BRkXK1Shgc zU^;dZjwx03gT`Kc$4a+=cVq)TJT{pEG14J-ad#(oHPTai0DIQTJ8N8pk`f&5- zgW~#*YlZQtJSQH^0?w9BXfG6SvXbj0E+HlU!m07l?{MSPrg4pgj3#ttJnLpHTO?zU zq%i)xX{$NgZ=>I=u_@im)bz~HQyDo?dpO_Zw+rP)H3WyFaLsM*~w;6rNRM69*GTq zFt_%Ux;+6gPgj=5xtGpz?v>k?c5VzI4!bsQy^rp<9^W6HZ}z)9Xs#jY?JcA-NLsoY zI#)_M3Hy+>zN#6PNL`)K(LA$<@)Y?;HSda^sj_Fra;uZaeO4bF*~0Vx=-+zweCU_| zya2G&*Y`mWtc^$x-8CHZ=MsuuV}n9+NU(qEYIfIhOyORS)HmvTaMQV}&d_mflH^1N zc0YMJJsUg>=E6%r`$tjXJt%tjnQoriHej)-1d|*HF)A z)-saqtE}tRjigpSSqvS=zC`BmfJ28SBz}eir+FB}Z zjUO@1`kvw2b#MxK293#kUA1!L0%Cjw~qY6&I@*#wWPpg`%B`cs+*f-kamKH(} zC5D`73!5l&c2GPJ}gFv$h6UG+O@^t_mguZ1c(I~+jOFwh zU@I(~)+g83QH8~j+IWb2{s-wUMyC}qs|Z%MtaIv{Gx3=@QN5pFyjm&bq3UOB`rEmR zehRZ-H-a)=d{YKAdVp9LXQ<8>G1t~p0BWL?3(M0SQr~6QmYdDm8?pK@>PG*|+3UgJ zFk4%L6QDeJ=C>o==y#G=T*8UxRhT9|RWev2-4sw^7_gOp=qPN`mxAuV`S>M-x&%&2 zN-A}8A|2o^=rio&U-l~1a2tHZsalRMfV=!ozWXz@Ntak-)jGur5W14PI;_89m$aVw1jKZILkS07d64|^)e^}>M*m^!7 zfE0hbnPSVj7QE(3^mwAmkp3Zcb;W88)kJrrSM!-)u6Hdi5D2l5Ukfx6FCqrqld^iZfs*xu_6xqYn`yywo`TInl zvBpz_=^S&tAs1%)M}=%DS9}N_nPL>@fDP(|8W$ecNafWYGfuC+O!83+nL`0z>05gb zv}Ml19H+zcjXo0MbkS)IB%&{(g0gyGNNg|yj%)eX4tdS=$_4;`5yj+?*lAUcS1=aj z!~#|bd|qKnrWg0_r#b7{*=GdES^Mf6Dqz1Avi15bXdxAl+ z8SDrsF;)naieC@yh7TbCWgvv5!hndp6OhO2>QGyrjmT(F&^H8yoEFIc2ZC!1%T!6~ z?~W|Yy|$83*%OJ>R=J1&9>lfhVhB6UA6k9uMr4awz{Bc(#(vp7@on}yIgZy5{w=T8 zje&%BQYxpEw>KCHuu z)9s6qBF1>YN3eq6A~F(+GD!K@;O(N_TFcDAg%wl5Z#I=i<@de9#<6rD;mfugS_1G@ zJpng1c8>fvMv)KL7fcjN4FQt&zeS?lh=KA?2D>qNMmaBFE`^vit*;$}Q6vqqT)dF^ z&KMk~bPh_4DfpJZ_n0D<=RC;MY15wTqArXN&dpu35$x-me3&*LQpp{ zpNL161#s(sz-#BKU>V|y5H~|`-b1Lwej~`A2DzaCx169e-#oT_;4uRF5M*EnvY}{~ z#v{iQvk1A1=M~mS+OsYpo<%A;`uGKwbv4c31YN!dU(?Xt6-LfUgPW`N^lRCe797#W zI%vMge7GbPK9OJ&HjJW8fBA@ z*AAU~Ov9dznv>dQ!MNt7$c^9-f~0T-HofJ^f?!Y`lh?w-e@8lx=Nyf`To1`HC|x zC|4fDcT?jchiV@+KDe&R#tO%R*NJ^ZX#}zsV)WYKk)ha%^fXqoT;xO)dlZ&o=+)kz zuqte~aIDDJnyQh#@~3Y*?qC1uo5bFa<)55?dCuL|WC=6f-2KWWHeFO}4|ysZe4`>f z9?Wn5BL!axM=9p~L#Wi+i|g(lD;$F5HDV!uRMVG|Ql9efX*#F$)Uw{uH=Y z@s`o#XzX?@>ezM%Ae??HBt5%2!SKPiVek4NVfaaBvq)wS(Qe=*5xj|tfc9>E!JkQ< zybFI>1A615<;&Nl@9!xSpntGYX3^9XtHZ+ETr^;9>?CbkYRB0tmMxJv-)GcZPM9qlF&_J>d0S5|i~I@Kr!=j{oBhOZ-dG8}N_!3sl+!7BTRl?-Y$M+bc9BpSvf8** zAw5~=`Q*VE5|G>?nG&_rzz{uKS$VSY_VQ=nMt8SwH*Xi@3z?7-}C(cE@?3b9{| zEH}?Rjnb*PA2kIZnaSngWXRKIok$Eez_NJXQAKM~uR!cjmLGgjSZ(yN5Lq{TCT8zD z=kxUF!zUV6HsCm)I^$bUm@_15AnWD{A@PcAq*CK^0ii;M+}&`KS<5SE1u&>PH8 z=(FykPb^@_$YiM9_hup77U`F;eGP=rJ4)~(&cJ6FV4z2B!))=_%94mf2dBYN0> zcXr}@`nCD`oXWsJC~y9hB`m>}vfGbeJe?scxky^#!43Ilh_?N6;+aKz4z}rvvR<>@9%$lpS;hJFSsgf++L7@UVW!wq09gjbO#I} zvc(Wr@?rJ93AKvBx0wwSn>(D&4HJL9nmX6hN(jvJinOho8n-JMsXF8;5Pw7|oDO!= z=yLXV|7Tiw`nJ)q*gi+2C+xX_?4Vk0G7oN15I0p4g+M>@MZ{BaObKT~+&nxYTSYR6 zrm5}DGW`l(usnA90SOfvLZ=y)4MDB$|3rcBS7MXux>VOPGVS|#1tefpDu6uXt=$AyUs9Gkr=p&jFdBu9)!kbReGPCGuP9rA{kYG5u$a{yt=lErX<25%u!Ra?_s}wWE-O zTd2LH4ox5j6>iGAY;g`iewa5=*l7?Fh=Uvpu~>ESPJ=3yH$~kt$_5hUgMdiSL0VkOI>Y0frGKVemJa~HNO-{dyRYtX zetIVObIOE1t?uMdi)!PBOK(A)iEK`&i-ro@JE)9|q9x1;&r6`6qrG|kGe)0K_0c_2|8E- zN4diKyU{+yJIj6yf3Nzqzw12~<9fo+o~eqYGo2|+|2UPt?kZ2uGV{OT zX{j=Ho=kJ(ppjYJ4r@6aoTop?hQz$?8V&)O+bUu|^TI*rtS(-i;~jh;-shX>huPq6 z`^&`g+ldX!>V-0^@G9o-<8y`Jjnf#XmI#r-99kRDn*W(2`f6B4)j!yY|3TO!sS@ie zPVXM7;UwbO%{b`K*X;YYTmgS!vuU~6+wJ`Hlic2C1L~lsfvPjo@<@=#Q~r=C@%Hz6 zz>S$dTL|hfr7^d_|7OOga(iWePMEYOmlH~6*JU%)eD$4_K}vM)ECY`m(Q`EKHoPDz zS%!hMEo?(%$*wNRuN-eEB592OZ07blH(hLA3!4rX>*j~oRVJ5D`nmMY>@+;--<>#{ zTk?zeUGBT`h&f2|fgB7pG4=Q?l`E75#LTlFk4{HI8We3v z?e`M%-3n|TTlv}!mEy?HXW5yzF?%ccyQNt!js8g!iT{t)8SSe!vdmf$MuSxyZ7fch zupzpKe3UYIyPN-ND9O}c_0aF6V^YRqFaFNo#)+fd!xaCjX19`ehNLdu=uSxI6Wk!% zYBl2LoKM0Zs8JHik$H?@1qS1>d(tt{p#v4s;M&0=Bt(5YI=wt`CJl3T=$N%9d(ZLk zzMdY2souLLhiE3!j&Az5nr?Wo;?L$;iFHGAwP+%BZ2ygSYkla$%$2aTuSSKdr@n1Q z#eXkf>V*ot){h4kgaPZz7_yt0#t!_F`@)Zmb@96q-rrp`meE+;$AdxA7wsDcm${F= z??JNuFq!_CDaBR`y1Szp_55mb!JB{i#5n~2zV!y_y}#0ap1htj%ZpO;TC{q^Bqf{g zIQ#?m-##JY(|=;60B?G?$x8J3ZN1^G^X*?C4>n1uR||1)2y_4DTdxywG7(9OB@#Qp zAmRI~_4eQpOQ}|e(6D&tb$P37kqYWK{iL8j>-Ig5F!E1_neXVA_4Hi4xbfi5+ZD6x zNo$E{4|M>h%*-$|zMhl5-J1ZFlYjMs6R~M&k^KvhKC>t$DS3TrcAW?^UQi<=7Mndf zuG&Z!(d4Suv)8TsSv&?MgBRT!CFM6G(VG_4GYvZz8xw16x4Z4uK*oGKeLUL!p7Ag5 z{dZQCi!EolQ^VZl4P_5riKc+*2Y&o9aHM;$_3Y&``d2v4joKx+`2*3+xtZU_9kV~H zHkEJotEZMjVu?hFHRul)8r@K+qcX4NM_X6Qpg49Cr=ZUH*Gk{`dOa>Jolbw1bbC== zf@#)($s$28Ok;f4oQv|Y*N6)CvM%?u8wIF&yuijyj}pLMWH8Z6333B#u9b*MZED78x4}vZ&fe7_ zi^e=JEyIZESL3;itYkMz*NYs6X_SMwkk81NhYjJs7qsRzpE+yTDszIq=J>cSS-sm~ zjSfSWBnRnNcCf4DDnH}iGyp;?4#mh~0(R!)j%<08zrS1v9U z&8fHDTT*k6r{=oV+OrW_m=}fd+bi46KJhbT$lU_}mFB~_p)F_d27@^FPS2C0Q(l&&5>J$z%I~Kb(frqi_x*7fUK76D0Fwt%_cR{=GdHa_SAX~hB{ymuYvrZIME)!*OUZpa zyxB1Oq;oIrrJAbeeCS|<oZk1bQllo+MQAHR6>WkC5{`}OA9aZaIx}>gPam(mChtkNB~ndPywQ-WtY)r^;{J!V zzP{rM=&uK0VxXurH(I<*zEaw z$V4}WP+0|xWSmVI#-;#+L`J|=_a;0vbdajpT1W^$iEAOjbGj;A)f`(EmqS$K5{du- zTvw*Je@6skuEj7{BN+B1gN7j!0XYOoiG~dfARt@7CaIKacR)%}>w%?silt`b#&;f%9cJioSgmdYaKC^Vks zEwf^x!FYSRRMUeosAt7=Y*n11aiXwI<#rV%SvG`;K2J-A?MErgFa!&~F1XO{V4iPF zt91BfvuU9*#Jdlv1^Idx2i;IMs4keEVV0m1+U_bu*7q>F#{;Qanh<$Xaxr4-MNzwN zV^}&Vy4A8YITj8&^@JV${TH6O@qH@DL3M?H11$*4PDAFPO&-XEL~6`=I41-#ab|;< zB`@-4^;ThB!{6yWiFpgfA;>R+$y=NXWP%#Hk-M79z7;{Cg6n0wdew)u8k87LL5+zj zGzDIJ3&?JQRnx@F?w3mx)$XPI$^U{jF=_{xwZH8Kd<_q z>EK8~DJ@Db+sOIH=zGb7X3}|9MM_;+V!?;1|9P~(3%!(y3j09EHyfJ`WaAA%tK-QO0g6qk1ehg9NgH z%qZ-E-?X4>4N4mvY%NG90~R)l`XjEbpKn4%X<=HFRyIRv*_|>iHyEx;ZgIPkC8WAf@9aZNgMvM3IE^CfInOqoMk<4#;ro>Za zcPE>G8FvSQg)4)_33+1vUwwbd>gB7ezYtRDLj2)g@!@Lvr(9yLF!S!3NZ-5o=R}7k zR2eHP4Gn~YP1zy#-|XleM&QH3XDxM2(SHrEjf2G9g2W@`ekjs072!gcmp3LXtDoD( z>r8IGE{xr2^PH27OOuluGEza}cINhO$qGWTc!{18@DaaL;KY+Da!MXfN-HWEWDQSF z(V6#C`4k$ryJwyCeT{7kfRH{64<(fh*6g}fUKst0z*Ko|J(uj9F}gsDgcX=u@BX|D%|2pjw|^YEv*{qx05GKr@lHYauuk zo)?Mwz+u~G^QJ0c+!Iwut?+)Mjs)O87;WyOrsN;mBVsHPr}&hD3$1g)t-fZYyQzT? zy9w6^k)ZEq%9Dlx>XiD~D61Ggj1sLKR6+44i5u*A?U&t}2#F}}Tf0Y?=W3$F08ZT> zAAbT~e;AwKuuZU$HU(F|r_`5*mV>!ddvPMG1+RhPJzB&s`vOwZzAk4di#M-_gNThNbJ6-bF8iN<{r35C7G;w9_r zOdkJpbdX`+tp0FJgv55Mf6c06aQtm^Sp#z;ST|IWpGpLj&jbtZ1V1Pg%oDV}pC}?- z&nPciW{_!-fL3SZ~Fx>Vp1TAQ&?85-)5NHz-B>He%m6Bdn0%})r6U&A-#&bKde zS<|E>s9>UZ5;Yo%BjcFi?I5;cWwoL3B8^c__wI^NCSqh-W}{*9W_-Ya@RuSHk-1_a zTZw@|kQz>MJ=D&NO>f-Y1=BP%KYTEIvylkQ2LGha_eLKXl)0ODooq&Lmr6>cPDS5) zX!WCka2he-M>qDbgDBiNx#+z%h)>FJ0}iBT7Z(?OeX2;R_uZ?-Y0s`#siYQa7c47K zhBOuNaiU)H1j!Iy>=@-BAk$JUQiFB-N`c%Vg-B+|&xRrHk3@WN6oKJGTW-x@^s5#W zV($W$Yi6)r@^MCdW=}0B!$c+x5HW^?h=14l5EC=+7WL6OiqKpttI!1+s}sowvRPvq z&;87h$RQ)>TC)5I_36)_>|4eZ?;3Hm5@#Hg`11p;qdu~LZA!6gKq16BicALlE}gR| zhCl7j@3a0|TdT|;Vs3+gp}Q@yn9P_>LLhpgDeg9`%pmc@CyFrp@CESCtx5~_;;yn$ z6SQq>!m!9~dY(d5I*#LidWYb#bANRAit{FoJJ1AkSfB_az7vnTgy2 z!ikwZSRaX`!0mJS24Z=q4kblIrKCL1;c`ZkVPRn&CWnvj^-pZKUL^&%Hb?-Eydk!l zSj1--U?*Sa5hCi?0<{NRg_4|&_bJR6A-vFXDF zFO5taJvESkJ)JmsxYQc(_U+$^a(|C{GJFb4-0Y*YNlDIP&bGpo@!xN=KovJ*M1I2Y!x>$?;HcO-5VN{MdHcQG z_u`-#zx8%P+OWJ<*x7VxY3X)=P5R)V_2NY2B^zBEWY2IL?oAxTNe+aa%(lcOtN>Ueu7 zJQqk}cFm4N)czpD=f{lei_$yZSY!k-K94R61Kw<QWtD$k-7R0u2w}{0t}K2#Blg{)#N+KoSiixd=Ivj6Ar0FIH!mppE0c)o zQM0-l5u%b8&(sfJUO5N+I`Y}Q$;hXvl@g0o6IwLCUbQ$`nfCo97BiyPPVO0m4gDEj zMFh@G8pB+AR^K9;8y_yz2@Vm_#)8dSLJp#d=7r+JbXk&d^6=eYviM3PGEAH`B>1kO zoa__|4fzSFoGeT@qV4P)`f1Y{l&~P!1ISm*ANPoW-zjVXvBzlvL5!um>EeBqf#G&` z#0InD_Z?3j)!Gi@`mRHw5o$q@Y#IL8Ky~))a5R5;#;>8y735*-?NBFvve|BDFXu%U za-J~1t{j1+aB21i#TAD2cJr}GP!(n7_L%fv6>mU^mJWMZ z%)Y78HzxE^RDoC)1lGeumWS}!3IWLRgH`C$o=`mq2_KGNJCaGUXux5bmC8Ywqi8*S zP=^bqLd!qls7}PmENaWhWy_sp1m)F@I3P(%56!qdY&w|)nc_3jw+kl|e{X`vzdA*s zEQUk@Y19xfd|G}z3b?fk7_HUDUHf@ZACAb^MiMm0J&6i!-~#uVNr_6iorC$bbHL@L z#yC+Yq-}s-MTMjP0<=Z|mS1AOFN(D9!K2Eo=Mo z3}p1EzuCLAXJ-HcH+mc5$u z1jr4>fXy#n2Y%OS<)sEMFnQMHx65JYjC9g2h5#VMehLWfnvjQQ=i1cbP&eE*IMuqb!0%DtF<^G|V~Ms-PuUh>MQY&ujK_gGR3 z1>EenqN5X7v{{~h!@YCA638|4_q^4)fu)NXlkyH8Iwh_=TGiqa{5JMYafjWwmIe2w?C$v%{s z8cj@`F#50T9W+n1T+%NQVHy^kmb_1^#hsfoNbXho|LRK29lV&yx*BEVW@K<48t(e# z*&Kn%bY+dl=>x&NOXtI_SFUr<@C_~F%t8P~ApiD&#c%Jr8Fx`{q9Cc&len#*T|$rTgbrNnBz&wn-_}|cuKrI zS@S^tZNeB}B60)&I|@LI!K?=eB=$Y;e|D%%0}cAVytLmYOXsvKS~~o32$dQla>gzq z76upm2o%TG9@T$$tx&zZMBo6(vQYdTY|AWL4mOCQl*4e9CZ^6<#Smx&T#xcYNcI6C z8XBRjaurUaw_V1EM{dKEgKdBt>&6<stqhg{G}Hg10TLjuQ$P`m}kQ}YF3`Sc?o(y zQDZ8haLXUm4+8g;zVi~fzG|M;qiif#BtZNyX?*VZY3p@#H!q13hKM;zFKe<@t=H@83WK-)HWQ3!7%jkIbPpoWcA(>=4{8T(3R2bS)DM8`+aB3-g9+ z{w*jexybtfL;>h@0rcrxw;Bmy0jzfiM`d5;8o2tYbHP{$*#HGw;P-kOdJUCarxR6cIVGZTRr zD_FyEBNE@(-TOOBxY|O;Dou_ z7vZK}?4}QFGhymzD3XZYnxEUOgCZ!}Q{v|*d za?F2?WR*b=jfM4VmAf=P_b6M~ykY%x-W;cOzU@04!`6KU+p0}FD8}}afyji38xue+ znaIu2IE09YT0N(%q5k@imS!5^DVL@!8xNV9%GJu9Dd=&Uvav$$CO3qM}wV5W1{$hU16J3c%{J3+$RH^RPJ!}9R`686?~%DJ#ia2 zfgTwmq>sO^a)aM);7uBrz`Y6Uu>n?%aSdBHfv0nPUCD0Tf}xnqA={lBKrNmViBq3* zp;jjT*yEC>XO+|aw*Gk*Pw$|o;p5yL8#>jO;fhfSBSTv+C(hmnJMr^rkMchERA%QK z{YfjMA&1`T8CyNva9}i|tcG_o?uW0L%Sx-g}CC zQMu>?Q@xj(#ZIXXK>9jbwZEA8z9HO3|GKKseu3x}ls9HBL5VVNKl{LHmZewhjz?m@ zl=HZaIuS?eDA_mjdopNQ>op~@<8O|}5F{Ex;2Vx#dABTESOlS@1A|XJd z#Ti_#((O=K%XRB9y(+75^?;PA6P{jS$Td*-Z*JlVer^{#!wPMkua?8o1~+%heFe7m zdAa)|X`@yhXZ~%1VJ>uTLr(K4>Nb4$rn26C#(W3z?25Af+(-C)_GU?S%Me82cB0@BrLJPtSRr$=`MX#7sXC0aW@^YC7WS}gI z!}Q`TmQgI8^N1j2IXDEN=lvmFfS_$2ODhDTphbaor~_g4&ckqCi6C(S7*J)E583^Y zY%f;pA%vX8KLkoZMv&9?Oqst2hGyaZ*mdirfNjo#1+Fu)c9K^%KrSY!jSUHl2nT_k z!o#82*yJrBC=^J&Rl%BR%v_AAv$k0w?9djLh;ms1LsG9(?g^;w9Mw&-qHs zDtR%Br077d5@oW{R8_5WE3eb!(%;Gex38wDvcd05Qa;`bUTk<{CFNM?XVwGxT)e6* z{der{l=FP^`SMVPxbs5&3;k|e>GKrTxySb|ZEXu%%TwKA@~Jfv5l6F$xgbx;Ny;NP zOR#@K2Z@zyo6~k}9>ABS=?@^mCm77Z-h9B3cq?8P_#s$d`reggQ+8MB5qS=Lb@Cw_glyxS~7lnC-K?FE(1Dvu+01`l&&Nr*H`| z1WB($h*(c&XT@aVD-Q`N5%(<&sKl&&Vu5(Y0x29b2+=*CGHncS_57tM40#v#+U0pSYiqk_cBInD_-0*^!m`Ib$H3<6ZbrFo#HGxdZnVBrGdtx}vVHNBh(f5Y|;`u|qNkl6XB!fQa*?nM z3HB!K=*BWEh@&8TY7|uFDKux1#!n<};~#jy@~*8(EgnunV(Xkv`5;#Ke&8u>79au` zF=8?B67TE%H=iBZy??*XK}osJ1&(`KH>&Q2oY2_vNYPr~53T>4EF zHs0%4SS z(c?rzpnK44SL-D2Q@enjI+yF2+Pg6Z)cWi=vxGjxG0bOlk*<1-%N`2hDAG*%A?n_y znY?tR=p6PSPS1hLQT9#V^H?`LnOrR_k%7l0BaV7lkI9bG69xM@xjAPR9v6qd@T_GL z97gE|Ims2c+_$3m=vo*#RW4oMO5bwy?snb1`KGn?FMbQnyc^A0nDkXnnd41+xo`cK z{+1FeCVCWXg`~|Y3fLuAE%A^I?GY{D?ts6Er*E&zTW`Kxo*xG6zc!mYh>|x-X#G<^ zJY*YBWmdP~@dbiiRlT0`r~Ibhj8S(s>zuFWE0-J`VQ#eTVdB4M#gmcwxb<@3Ff;wj z(%X}mQ5n$Z$sv`j6wdNHzLRx0*TC^WqE}{ObuHj9e=UC8AmHe4XZ-k-*=1m0SQx&^ z6i6EPsW8+-;>v)*n=8nnUX`4umw{sgPXqPWqBc7B{}J`&;ZVO_++z&Q*cxL^wqa;Y z60(!VFg0Tx%!HDCPnPVFt+7+~gtBW4A^hx1#=b>KC0i7dEa{ge();asp7(vP%XN+G z@`t(4eeTcwIp;p-d=j@(dEpS5$edHKEB!3f-HtL+=^&ul&RidOQ;lj|F*Hx>G4hmKp`159;K=lILi{*#w8~+af+@_}TeagM=8^D)AEn5A3+@|L~YGW6Pj0Xfr(!Op+G6@bm zr|0?#x4~yc1bU%yIhtfGSl}#0xlHfM%N#>#Bh&ExzK2)eiH5J6blr!a>T%LOoE7Ml ze>BcjeZvnRVK6MEezmSz`{>n!XXD1Id1F1Hdq67fq`UTY+1Ad8UvDqmnjCHQ;^?by zdLnW^yC&@S`kPb{U|%tk*sRBEVQ;hh=8wC};|GGa zz@uKxrF46FKY8k_x)Vd0r^mHLa=jY6Y_C!#|5>NcSG^6B1(=%Oy!5w+VOy_I=Lzw72TrufMpUnVL0aP`*0bIc-U& zgSO*OoC)uRsRaU2t7PmI4)~EjkZav?1i67A524K@C(536=G>d-vSUvnZw0qILc6jdg zfsRguLj*W{zD)?@AV=1t}SL%sE#3d`b>uUK$BtPDt2u(GLnM@LpZ z#D8lA8vKgUUt2N5mXs-n=aJM*MC5d7fypl#ZmDDTG3xk!yxr4^ug?Df--kkBBBiiC z)tv>ww{Ba@FLC?AfiA%7SiRdXK?LJ7zk@pW<^<8kk&(Q3ZahU2(9NiB)e6ynyQkF2 zgGh2ddq7_*S21~*H{aHtwwkm-^s=oVYuGu-x7sw*{$RHddnxz9LCGB5QmP`c-unKq zle{trzatTv8o)jz8VB#4q~`rr*yOX3H}U+L&c#uGB0Pd;xFbHha`klA)oJcu>fE3> zH6$w{VKCAR8IaqziP9HZY?uy#<=@FN?RbE_EqOx~F_;fqMh z^4*X2m9EMX3c4R2J`;iukEZIdusnqFH0$DTP`f|ku#ld>_B%i6ll{J^8|^Pn6luz} zXwKggWJ0dNBb%K-fU<`uk=_q;Hie>c;_yeubi=cea=F~r(!91+Us+w+utP+| z_~_Sip#fi&4VTG~g*|7hbpIgjmCax=Ks`%{CEgS-V;tl+4$OT@!Q2@d71oRu^X+~h znP7nWE?Sz$-22i~`_!12Omyy}cyK(D?(t6L);q(elXN;-e!NpRe(MFx7XF2Ax0r#~ zBZ354cRRYlwA5Q@Ot;9UztHUYGvU)`I=gy@c+wa*;W z;y4PuHJL^%FQ=4(o+{q5!Z1;}d@zd|#X1`ZI6AbhHG> zqttd;^uu|5B3Tg+XFFs^)=Cez*_$4&-sFbi6$-|Gb#~qPi7xZs`0!8TEk{{mwlg2D z`Pb(x;=A^JMqF$86XV?c8(9+hhPjR2A9f8+-Z!xUhU<=fTS-~JyO3DoPJa+_^a-fW zqtOLNs@K03haI=L7T;D_pX0_qtsgoce(bltQOFTF_KO&QyWxG3DINFp?qMY`jLO+JF>)h%(>a)G}Z7i2gX0qGnKxm?lSs{^e;_s?Ok24~U z7MMmi@e{2WLbk$-MHe!6VRhp9y9Y@CC;*y6Bg;D*LGzxuUrWy4EnUwobWmp=RA;Up zF0TM;KWrWKcM(Y_0mOnj@PAHsg|E*4j`%*)m1p+r+tW)S{yvudv}h3x@mO{+^mtRrd4JI0 zJa`}Y(N>S@K-tCCbLXQ68an% zMuu-mfP8V>igqAqj4>D&B?KMhA(?ZIM{3GJzM-%Hguu9|*dQZVUW)xqq0g$}pWYE3 zP~_{sumrk+j&ML_ew_UP(3NtsHG`UzVww;5eJ?vj7xtW zbAJJ&a_XK^9Z)UT*r>7X>dYAvNa_U09#9U6go&>jLc@i9yXPoWP@nGP z{sEf8eH&%2xn>)@*w@i{F{cqvsaB0Ix?l^W!GhZ3Z14R3sru4lWUJ%X?=g=d2&ZRd zD^34L<{X-i&o^9EDiHf-(Q{Sxtp!M6 zIA?m!UZKng3){S^qvxvdAo;B-cm*`H@_0bqg&utt$BPk-+UhMoR<8Hl`NvxB%IW&k zb}7WblFJa88M(J(877x*kd?)wn9}ZE>iGWevyJKF-$T9U#ztDM;x!-lHhQ}9oJ(rF zCFO>ubMW436ZvtF(<@`l)X1B1&DhnMW6V=@aKlAPWkrdrav2yXeND8W6ZltNyNr#K zK{wv<-jFdZTJgzE1I>y+>`?mha288RmwlC<#T6Ih7#@G0fiWheu;wPUS<{Y5tapyM zbWiYml(4w((0AzKrnqR4;{b>WdyjoySNJlB_eB&(vnGfe=;^c*Ho_+=vMOB3yLE19 z#l2pbn23WY^wa5ITjdfZAkB_#Mv?BRf?s^1_kB^}tcZxysPJBq2hExT_8+-u#8;+ud9mre&I zM!V!}jgbR7RXLHPt~YM<17%22;+HAQ-QC4#V>j86I`{R?o2`vD-l`VWqS+J(yus~j zYy4DJPe-}?FQTgZ=?f*A)^jPmQqma-ZDOLElg}^>$+c8k^PSp=c@_A%k=q)NvlYH= z8R^2oC^Fy7#&NepNN4mTy78e6CE=SLH>FhF^4qQcC{(1P8zozxgn~o9Vm@-KruqzU zox*`g{7cnwhd-8Yr_?^#y+z@_YmSgc=9Ec%4f~*K#7Y5(K2=7<#}%mN`4*3u&Mjv{ z_QHYo8_n~yc+h*#x4>W(d_3HCbTxz6HQ5*djb@J>fG&A6K+_5X4hk$E?~5SqxP%Ca zJxtO6HWpijEW7!JReh?Z=jks3BS_LgdZ>Qda7jj=tQ-KNvTrwgen-85sFfG$n!p;xJ^kkI)>Z0N-$}{x+7a zX`gTIEHlmJRng>=Hx(|~dtY0SeLYHNq!~rqnSKWE;(mU_o-rZ#-gsFsfiHowP6(TV zmeS9>j!$J`gG83tbz0rJv)Xw5@ybWxYL!o&vcKf@+}$HTDS*H7Y6L=jv?L<2sqx8= zX=D(rj_I;pF;j$5t?oCqc{~=>_h&@3eZ?}n-2GZ-!QSG={U6}1wzy0dP z(DQcAvA&9{xz}z|Rg;BQPX|Sp(qbmWIRd#3qu(1A){PdsX0uhuZnM!f4CzIYFkE49 z4Qe_UcE;=l`23^pS|7sV)sUvzSZ)n1Gy}*yM$Dh;dn5JpaN&=fy{uBQbP=20X>@Di z35);>P1qVSpK%XILbQf1DPG2@#!bRW-7_;~Z4rB8>s!EJ%#h~0-@h)8jXZ2pvQK}0 zKSnGK1dD@|%~+@U*bKDZPg|Iu%|HIvB*L)0<6^-$`@}^*mK&6(QLpDb^skFsWNAG1 znAxrAI`Fvh&O72qKzhWXclhD2?VZ46p(10)iqZLWH|DwDK(Q8TA?zn+$h$KnAhgp; zzq&QA5@jv5sK0Egv+W)Jr>#~0_3xcZiyGVcdAX4#mN;vjA21>)>tsL>0vNvv2zR%B z_YU8i+3Gyp^gncXd9c)HMEQNJy3iRGa5!dBW7DqHapxxn1`GfMr*FdyQW^qxo5O$Z zge|Q9-txA2a;2p+{5#O!^dnE;e8l0ezJuMBF_C{d>36!bh9A(hcD@!Ie;4D4*qia5 z?`XGb^DQSSNHUu=csww> zTNCkP236Dfdu(mjCI4k9PKYBeoh!$9?n$=lq0Q4DiX9=pr`*-Mj(1g8^8`lRQKN4( z`Zv}sDq4U4T5s}R2>;=Iym7F*JLMf-|HNDKR94$9u{!D7rW2wBhN72km+{x-yf)v^ znf2DuLv8WXWuF>EZNh$j1!lnZZH)M8Jk2hv3knGSz0m}Sxd;96TG+D9@4V(U-n0;Y z_xS7bx_6hA@%lj+*S*9IL#tFaWnjJ}0-Yyxlk%)dMtWwhF8N1bSIz2V-*&iHZ2Xyc_YKPGD5Cx<4tBl^xR_{kv(hh9_!9tL_=O%kfsRw3}sCP zrX+^e{aixUF1>9j6pyV)(`Dkn#QVY>F`OBx!O2@o_44?)t~L2!XR0D`UIXSXjvNxC z;7z!;<~NirvlT8k{;sB9einvaEDSrpDDdu_g@}@tP!5C;Tqumt)~(nUUmU48A|Rgp zZeW$><6tEr?2NZmpS2%sZq&)XnBBCUoekU@+feKWy+K9hQcZIF?kj9IS*`C+iY=j_UQ>Y};{{!Yn9X-K~I$@>4SwfT+!G!+mgWr5Bwp zrE@S@F#qLfW&NE8ba6c5j>U*Wv0T>X?=X!NZdX^{i5;(*-42tio;umX-+`U#Ob)8` zp$-6uwIzZ0p3x{QV|!$R;!{c%q=r+)AXVQiQ+tTTxIz$|~q7TXS39*T%UN1)I+1#k5?f0&v9sWI=}i`Q786 z>kkiiH;X4;4jDM0T8Ue}~!acvyD4|Fj89ky0-(aoo-n1dl!`>F?aDEK|G`PkAHAaV zgSp|#mM%8mMN*EJzFc;vB)-2i81>B>0>PpXN2kdimc_B7d&5JxU)z{9XIY+}S?IyPQ z+4wEFdy8Ap1l{IAR?UWdaZ(YerB>b2->)eoC@83FOJ+duyth|n9S4}jLB3&7l5fN( zp8Z5fp^|{cfFLH7o!6Q79PCj0p|d~G13eRPBZIcyO6Def@%qQZM@o!@5cLloFzz>IrgGwFFG>aeqB{Z3HRxjEEIlolX15Y**fcD(5F+xB>`%j9K*`6tzm4z+hS?d^A;d+n)8l2uIP z*k@R2Vd#Wm$(rWYnWm1X^*3FHaw^&;cdq>My7+T&>HYEk9D2SZ)b)Bn#qoA*jF|b&4E!xr_r0yXkgQPpX49ts z{obKMf6&73gD~w%a(^qewcv1VrTv!Q#q*tcMCsg3A9PZnQdFC&_q%|{eg;ezeeEex zo7HL3z(DT$HR)3xd_dwlISl~q{Oo0y)7Sk)t_wf)3#w6eGanJP>gPy9cII)LsE^K- z(eo6(NIOqvwA>0J0syntsoq8M4omBGcwH|q?0=ap(T-2R=J#5|=-jQ%y~Ej=TdgDW zF1(q1a=B-fBmP`zYYA-{cehI5VKi9)12 za5isYYKUL8&|&4f^=l0%@^@@VA$n`xt8{$zN9$`NzPYf>TnH2uW)l8{dScjo4(xG) zMm=G$&$OJnt)32GYt6(Q7EztPZA*(?O4_i5BXX|@A?$9xU7DCQ)k!7><5<$S73M-I z?gWrj(bE!e%5A6_^uAQvy~Kkz91Z>8Lf#$rLuz_{$P?n{P`v{j0>6s2e;H zIX5KHSW#^6GxgVDK*7X{Im zV_dRjwxRHyNILQ1p8>Fgy&7b~E_V-u=qV!U+JXIos*>c9)(x`Vci%$i{A9m#HPJ7G z)+>2tP`nV17$3Z^yFlx3y->SRB9ftfAeuMq`0ZiD}D&%dr&vnV|Upo{@n zd1yW#h5O;MjCb1&N@f}vg@f;joZ+bVw9b#5e}4>VdUGx++VH*a(-T$%Q^Qmbv}OCJ z)M!KgkeWP<9oO!JA7YuTLe-Ec?UMi31yuHu{CjE*HI8pywQ z(Mtc~l%+KD=48#?&T7HZYTNL4A209nGP)u~xVeu(%pfe(h%YeR3{n3pT;;` zS+*4ZoX)AK7B~rMoyn<4Z?$4Oqf)O)2{S~9TchKs_ihvRtujvxGxL4%A*i9k$c$B% z&!M>egY<3cFa>d(G)W431V@GeZGcsMNO=So5+QCQ$| zb3dsZOQ^dl#O9*WyGiC_@!u-Sz$0M3`66nqY#&}%o~kaw$3l!^GJ6EDQ?&+EV>`PVY z8eHLDMYcN?*b-v15HtKM$gs@}br{$ryGnH~O}tlc9+L_urIp%mj|^tb5nG#3*itAr z8x9LiEk#a{?93pLwY&Gr;OWmJ-5y}7!A$iT4nBmJi-tX~xA}$5g;+yh)sp_v5vNWL z%CtXjxB7**X48)^q~1%(;AK&1r&{oS77e7Wggtm_`K_ViTPN)V{M*2DOf^S~L5>KYSlCLOcm5VJe(tQShq%J@e5f&F;oM`4Qb%G2Tdw=FY%(Dw} zCBFEaD$(>e%oC${>p!ewDh{u2tM$QkOiq3X|l1>FJbic1!pa*D|gO5)2Ib zg{P5k>`r^$n^*U9bK4E0z>%k?iH_a5;>HjIiD2ocF5rX&Yb6U6py;?o=%uRT%omrN zoAb(RX~|NnW&OA)r#B28PIxuMUG_Ypg%Bq@QhZ@CHB+BUP`tyu&kW!Eo|9ztwp(X+ zn&^qv#^{(L5b>$0yd-7C7Pl`$iiJhE(8AZ!B>TkN(h6=ab*Q~p)reW&d_C(34LHnC zf4+t3)h&3FS7rwX6tCa6VSk8EV=bmNWFoQ|hVk-JCr7y~~$&SFacDxdBA(%ta=On^ul>9r%I{d|y*lM5+$ z;njywtG9!O9&c1m=lFsB)}l!oy3MJ-#gB*_NF>5VqiN`90f>=B32oCA&Fzk6af_&rZhvvPv{U8 zJ$#n!11U0Jzp1aLBM6aKODSAe6(bdLGU&N}(r8D}R9H4#6un^11+&G46bh5WQOHG{ zC>jQ!%ub~~m}Xr8q!k{u3usrGqNDX0S?NAgq+#SDdl|IsK3m}%L9HxteQ<*%^@TW2 zqtGbYh)yC#8L_!iii9)iY0=wy2#MHuPG;cx=BQ-VFO(u@$rE0Gh%>!8ZsiCfe(s3v zF2R~DMp^p@d4MoFQYfZ3Y!gLxOLhxZ*~5{n(Kt0;oaAE(`{eF80BPyLB!kZ1yX%ca zCLAtC7m<2}ZL!8Kp4m-~<6Nwc_(U8E$Sz*SQmK{Csg(dMDSQUasaPR!ey=B!z_cQo*KJ!{*B&e1}W+ZfF%CuKrd$GH9jnn&;6PNZy`eb z2=@l%@fFNKzMyXVjtwMZxL^WNkATPyg|%SG4SYN7G-zLwn{Pr^lZ>twvFCB1yBCFP#Ub@R(L4t4eNM7RpT2v= z$fIN2{mf0Zsl?ehF`7I|%ZPgWYc7J;KaDNbPQ#rt%xTzbY?$dq(d?J4^{m-S{Dl?Q)Jk>W zLh#D|e>-n~2z)2yNMg~vP^P>wss<%9E$VQIZ?VKEvC8w7V$v!%jlt&3rn_scmrYyS z=n^R2&ByoS^s4}0Ga-_=hIJt6pu^4w&QcA+?Sl;#4sZa(5N6jl zok?-RZl+8pk&wiKlD3D=YqxCQ@jdpFE;_>(aBAvb!KsVabt~Eh_-YR_mx{lK2h|5{ zJimIfEVRbC4+fqayN35I153VIIsdx-p`HklzPWqr8IwN{vuB(j?z#_oW|z@-T;`>i zwJ0%qiDdkR{y{}IPp(6+M;GtwiR+2dW>l`68&Pb$dQafxY2iTxk7K=9M+QCj3T35Ua8b`8a#t#G`PE>nTc^SQVp**MHMOz8;XXE zub5dWW(##>d@L2XQ^0{8^na)jZExg;$TTgP`R#R;lAGgf-{m(Sh$3?TgF*=EP2@5S zPej#zLnM98w5t;^&`cyEwlR>bqk;(1^roxo5Y`iMa-!YBnpZ$mfG=t(O=ndWU5}Ei zkeJiuy1+73nsK8ov7Y;Z|?&dhGk?Q#9{rcQSD3Bj}|lJ&aF9j|%bH{wW^Z|@Z| z2s*V+pfUVV&Dk)M11)8kEp~Z?78V8UJLUn9k;I7U7w=Gq$J3}{rXiWsvwVpU*0u%S z4jrER@yF8Z&%21aj6b`ve>~0>h>D4l&XM=7p>0&OCwe(%Ds;1f)YUBa+4PAiv zVY!BZc-sVr>fWm};fcdpacm~fq_RXPZZNw9~>IVb1 zst1hrdsRS2QGyR2I@7Gq_ZlIN;=`Hk*fe9H;HahIW{ewwbeu(CbiuQ(04d&az%Xc7 zDsYGDGcH|6WZ4oJ0OdSpsnAN(dm=AhP`HE4GBH1h0amo_j=5y_ojMGxE}pF~YuLn; z$d+E^=wCK7(P%E9jf7G67?R6T$eoVpSd<$?z4v{>caXimlgtMR!<3L2s7lm`zRVM_|9L>Y?GTtc zdCjlFYvpCW|6$yv_S244aWT%wBB-n~1P5YagEAwvpo4hdG#}D&1PW$>DaeA54rG;K z00Vf6T69d`MrK9C0y&nfVcQb>ZEk7g;=@l&%lbO)A9;XF3^v$J69+7EvLY;b_-Vxv z)u#+_mn&9UMLP-@u@anb*^YvUK9|Vr+yBTKIN4h<9(Cs3?b-?*k9nY=*NN5jErWAO zHBw?A7;ZmMjD8^uS;Vdp=*HyhuW^KpOV_26cElyb9!4JJgkgcmg|yS*qtJ5?@j7fA z1cPJUbBa;cRDC8GY}mGxsUQdOfF62 zg|Taj%OvuS;Yq1`xYVTBZVE%^APe0UivpIwLu@uX$Uz+m|K&$|%fRy8F}C8cf>ga_ zU1H`_1Q&7N;qT@XemL?o9o!Verk&V9@)5wm&JJg>p%&Br?(YCi%lSJpYaFnqts&>u zU(=kSk*q7iGFkjvBj1v4zq%TkZ*SQhqcFr6rzBt_w*}@Bkq%Z3d<1$V5S#kY9N6$+ z7|W993wq@3wEm@v!IEuu^qLQWeGuQAT1idXBt`aRSz8Kc!t_-+`LZRLLJE(tKWx5V z@JELflE0tL5HsZ>{y(>N5W*pa!n7oF}^Ab&;=!m9a;_ujj+w} zJ7fm)vOv*MWjeLsuWJ{iQf&!{YI1ctu&0tl5D-=^W>AGw|Hvj5IFVCNEM6dsR$!xt zC9}jZspnk*|2BcziYE-mrN0OEzQEjiP@oRvSlV-sphJx5{-U1|V z=Q;Ch=LCl3aWT1=$-R&i%~mC1V+}dz~4RmK?6t_JBkTdGYEh`5av=k z^-MZVOP|356B9_Qd>IA8*wPOqSa?VWygfXaIO-X4^&3>X1qL`XrC_qQ(Q+vNgTEgV zKmb}17R$0D37i6Tz<}m}b@}A=xQLM;vpPtn;kmF}pFq@4I%ff_!Eh5-(39m0ZI{13DN_rZuqA?HgaO*{Ed?fuHCs{a_R zI4w*!h6KG^UveL+bFzX8vI;UJ57?0?;Y?fIeRtSG#`*MZ>_Izl_+2Z2>?tiQHsb8fSHR}W0-01>1FWo@cHe*Ow)12-P6><1I-7M;YOw>bi_Wr4(pdlw zL(Yd~1L%O+8j2%_(?D5gdvv4#ISaHpntCEucYKIKRCF`-UlaG=2OeflaHL(y)k7dp zwD~m6B(%`z6;K%Dt&W~&z{_U> zd00LQBv<4 zFr2jr4=LV{jMddMQuN?ZT=l%^bptQ`PpUG-RF)TF$o^S8t_rOj+Za2YODk1)1|5vS z0Xfj9Vqj<=7#E!BLjdb(V>lQ(a+$Frn?ZrIPG|S94)SS+iUIWkb$Ofuer@GaC>+%+ zo$ULU9IBI92!C^^5E2&**40Q~(qE>xMbVf3ub067?rOuW+d#gfBo?V z%PatjQXdc*CPc;n4S>P8bP&v>f_gHbZV)fG|L6U^yuQX)o1?{t>gUmIoldX!BJN#W zE6_PZX^gKw4I(~DM_UCB$!T_9gALyUjE)B!4`?TFSB9nbUR?t7L0C+Qaal~{)QoNH zauoJCTN91=9<^8nQk^ZnJr=#4Gkgw1r8MK0SupJEjB}WAH-1m@Ja)OtGR6osfpwhD zf7CCLEMJ-PUh%tSTsJ4H6SulTzMe5h8s2Kmfz?BWP&%f-MRM`bi$cjtBq5@(FG_uR zV~sT+?nOmdajl27qMDNCC$HS*@RJ`U#!;npoc+c1Ql1+QMPgWi z-frmWWz?e1&^@lMOw>1^5Xq}4l!CA+N3-|f2xTB$OX_)6Xx%RZx|%T8hcCY6X3Fx0 zI{c5(oTw->W5g2!k|=7is~9y~3`C2?JF2L~izxdNTyTti$?c?J$v#KSg9@VBSrv@8 zy>HU+IX3FUigw15GsYxqc!cbA)+<3!VkgEvD>he|Jx9`a={YqPkj#F`U``s~NE+nn zi`3gd<+3`^;0OlM(yES-NfyT4eqU-JX zR4(L!(o2!Vfnu;sgDwjWhds~+;Ge%Peae)-UTLZhc%IO@~q|AOVhsKzI% zQHs1}ibNG66OYry<<^)Xj=72Nn*r1&zW=*yuRV-&Q9i1o7Fy}R=SAeXDw2f9=|A}J zXhtYT_6~_<4fmy+i4ZKIqfR6RMqEMIWa%wuqcGUXTx5m>Qw!0E1Y^%) z&q^6KXQ648NJlwH0hwH~muU!NX^adVr?vNj$*B)3w9Kq&VUnC@Lv-prUb1P7T{coP zwVLW(m;~I9F@Y#d@0ZBubBpncF&>b>M=$DGq4NDL$!Yy?EK$e>%0VC*XF`@!GH>#; z>#Wu8a|}PfsFLF6;INEl?*?Uy=hY%eu5j58xz2Ax534<}d?H-8`5BK8qA=HIp6T1{ zgv7JMLQWb>(I%`CNf=X6j8T9~VYu`n0kNbc0 zq4oG*$+eJ@C5zh^;l4X6H^q3TQS&@IiHY7tJHUI3LY684%Rl@e1M*oyN2)9qgz3IN z7&FYtLKA;bk+uJxR`nXNwhoH;77Xc;wF{#joL%HG4l(yt@upj^FEQ^XNh9jn?mTXfFc)CyV4y#aSpY>R| z+8RRH+70n+Q|{6JWuh8Pgz@M@kyF})Cql&oAx@MbUVyZ|s>Vj5c;6WgETJG8qm36M zw2c$ubmW?g!_MMKAH2SK{WPCrx?rh}NQ}|BDwUK@NR46Q;QJsrJ<60$`Vg3hkLd|B zR4k*Xi;J@_8@@yl_WPt{Gc%|Fo&m*ZnmkN=J<_n$R3C&3kOSf$A1uywq3AN>%E~Zg zh3-W!;ZWfR!dnOa5l8+eW|X4`5jVwQsZ>=1Qn*mo_4IAgbf2W13sUwaJFGDFWk42= zaY$h7nPs?PfyGA+8}S$JTwT2Wo+%^>fHgGquPI1jnmt5zVC6gU{d%bh4+GE#n2<3~ z@d;BEB3ax)-?dL=sEX1j4eQ0nD{;JhGyP=s)CVC?21e(AON4(oIjK>g{;sSQSqS0c zR#c$_vC@l{N{TOXR!CG|t0hGtDqATIGsicdRDQJ-7WM=W6F=(&>lrc5OX^Jj_iQ6n ziS+bsOWo%lS7YGS%1P-iX`sbY^|L*KvUe_D89#LoA9RK(eLEV3X|n|=XW;Z;D1n)X z^@29htZ9+4?|4%SZ{wF0vhrj*je;*P^YbNbmEnAgb^`iF$ToKIRj(t3tTM5_S3Rl3 z=hI3_KBgp*!Xhgw-pV>ti)74k0f83(X~EP-Nao`<)a#K*_TW#8{`CEVl|s3bAV<r{5{u&5GT|Ds zpOapIAXa>rj2Jv~&+>uM9)DfpHzxOK;vNqvGp3G!DZ1Re!F-Z|v1aEmPMk`kFhzA2 zMqyPLPUCVQ*Bm3BnM~7$C<*!fG$Q=;i4TZ(XQ@aCdAn< zZQn}tmfS+ZPG@x?VV9CrT(hW2Oqe{Z0)jb~OT>Dt?+ZynoIHemVqU3l1P}qXh8t}5 z89v40>HbyVBH$+GV@UR~lT|PlWKm0iDO_(RwcwZ44VGowvCF5FPsPUQGw{J_v99FK zzMN%QtQobhO126W`JpIaNg`o~St$tuM)R5oN+iXap3qHa#bbrayA$friAIxytByfz zf>Ej1$wDw&9~9I%Eu!m%?O9_|8!>|qR@f5cM}Bh@*<*Dqi3n=Ez4l3OSv1me@=>5X!1C{qLe~lAo9sy{Bmbc*wRGR|n$rVK!{f zK+TfD4)OXFsDOxm^;q=dlq>=coKi=MdQ@-4bKanMGAuqS~95_>fioz{Hw2T?@Wiw*gbtBZQc znj6!HgTe?5yv$klTror7Mhs)mS^#2?5Q&6gO(G+d)T6(gm`kO6&l$czoZVK&*#6~0 z7XmGZDuGK8Sn|;%S?&!=OT|};n~fBr6Neunb)YYF55fnP=kMgNIPlc|0PkYk&p8@1bTMV(3h1e{{OqN~?S) zxAyOT=Jq{m*9YhE^wqU68mbmN;D8?vxDU7|64h)6$E&&s3 zLBP4qz>-t1lb-;;50K|C*V~ocwr?gbH<}&z%BEhIu0}-x1eoiL)Pv;VSs@i-0~7{3 z3AR@bVvZ@%O4cwmoXknosC84$gID3jxlEMa-Eq&j&guBdURx6`A+D9L0AMU*%-V@0BYw~LPQB>#8O1H4;B zc{gEaV1LwPSiEL+)uEC^!bZ6;mkY_a0fsyP63t9cgf7}h~8Kfz(oZ?lg zWU{OhLSl8FL)!|Z6NdGnTW0{@Es??)7oVdhA*?EW1pM; zcY!euQ(9(`K#=O~xR1wHNFD4dRGz%A=F4bm1}4wS=T|5W29W*k*qm zb6f&98vEn<8my)epItSQt+Y*6gNsrVjr$Gdar0kIoDu9rd+6UYc zdI0rdVA|6FPG2a!mXYt8!TB?Zk zxy~GWGwmI*w(vCTJy|$ie3aCfQ#Y7N*Bls}>s1mgiu8wEgG!?8AxQ*_@mnV~;+ch? ztLaA*F*2=ibSsIUC2jCte7BE-<JtmAhT!0vC z^}lm}MdoBW4LAW^r7OJ--26q(6f6^^yW4V9tz(X5L8xl9GMSt)xV6g5fd<5vPFjg3d%*JA3%K&ZA@sP>(Oq=s~f z3VpT{d>ksq(6kehvYGf1#&$*wrSx;Du9K;KESFrg%aiBstGbu}iMF&RI)1-SWbgre z;XhI8=74#|cJhw+A_|sAwWa9%Fmy|c$>r|1_u0454$ohC^yFaN#P82k!3HWQ?)!In zt{^gjkGFEgPyyCN`xf3DyHrpT`=68xKlM8KSTxI({DfFsXBt9R%Q%Y}r+_hqx39L- z$ej;|FZY2%fRyXvqXgG#yOyL~FB;-vL zA^7=P1y5Z5$}=`gytcXOs7N!t2T5|7gs@4Z#q3z?jF`Y*N+fYfy_3*ID9LWFN&1Zk z=ij7K5UC4R2)Vy3;6Jh0o;l#(_$XuG6)604-#MfMzbuElAimU|uJj6gZ7Z+yX(EOV zkdN2Dl-LTWWxyh-B_tR=A*m8!8x-Et-2y zxs^JZxqv2WB8s_X?&4Cp)MV+jV3v}aSxx(bY2{3d+5ASE%D%^`uXF0uAD!d-ywAN| z*L7cS#pshw-t45RWPKMuBLN9k)Dzr5(^Fzz#nHgM3Fl?!ZS>{WpL@q+&|0l4#>3-v zNtmu`AN*(&XY9P_1I~ON>5jq`VFgW#7UPL;RoYH>;7~AoO-SDlFy#YN$HCnngzS0k z(>k>jXSy$+P5Ze2d*}O_n9a}Ez0TNdQpy(3KL7r0iW-^Cq7d@e;ovcgrg6(=^5dfH zp&~p4%3 z@rDr`RKz+eEnK$b;O$0wUU;~3p(2i8p7PO?8la|v+{1x-Yj<3~(0q2q1xpB#xUhse zs-JNbN|q0uGlxmhkFOtsbfBkD$0ngBn+A!Ff6!4S{8RZu6Pz0=y(tOtBb?RVl=f%OBPl+$? z9Cos|flM%ncjzy*uy*=2{kar+3&vJ&3kwW|>MBy4tyjlGqm4_^`?h^(k8Qm^8kvuQ z$!n09uWh2lMhL0)=k+wTkmYq|Q&3r3eL|H-3dt1;Dv!pe;HoLaWM^yRw$kr4?_)L} znR)OHOi3r%2hyrG`@MX5&7Ri#Wxp@MjR`j=X_Bp0Q32Mn?m^1FpbIo9ceSrrq$$D! zC7^LU)IqL@VeO+g)q#q11uFSUQEy>-0{B546^zG2y@TKt#?r#%rg3Js)U2ftcIuOx z5L#NaY1ugS98;!W6BMPNm(=j# zrcOmkaz#824I4bdkq!c^a|gI_pB?1}pw}aVM>@5vODff=#go>8PANl^bRJyBOEix( z^YG@rAajBR@~9iL!KE;aCC`;G`$1Q)9pwdJ$WWSXiJ$g5jRW9k)0&LLI;a*G8%#+k z`UH4aPwaekMs)pJhZOd=B&T@gT%9caxP?pbcgs&$RkgekXp}~@cV6Q26qIMdg{qvK zj#2Hht*J>UF6c73DbdcKQ^uKPw~a2Y2t~L5-emM~)Xnaek{O1M7VU|)Ter8k!+^@+ zK~yfc;)lraQm`82_%q{f9}ST;ZO4R{344&z5AUy>OLQEt?RD*e`(=K-p{V)y4b7A9 zzufuu@z$0t-?jwraW&G|GxL0lGYr|lh0DpvmRjAG_9sb%x(+v8uKvL@Jw3{hvpGEK zy}R!3C|VTD8_^126udx#ycsvcP6|`Y3}Yw$4l=J=P@t9H%02ebrlLf~04T}6qcT!h z(1o!Xk2!K!&_jKV390oO&jNo%LYLRO9_0IrTuy>3`4!8@(S}f#JDN25rB6ZpSlR{d zZUR)4sFg2h(uT2omh%F@7A;-qWko(s zG*`r`TH_6@_vSE^i}veX7=wbZ!FLvV#nx4qPJ9bXsk2Zmfyczd28(_M{qGfgP;}j; z@3&C~)*2k~OG_Sl{psz;mF14tf#2nF>%+^|hX?kMbi;2?)v-BuU(^~L1mI{95C2t1 z<`Jc(OWKl;fPxsg5Wz9hdecMXUL#S<6+ArM*Ib?Ip6)A*>dv;Wjjej!69gKljU3X3 z5O5$K{KO)|OH6YUyE?vqjvNdmoddy`Q_%9_sutak!#mhX#CU56Rz1i5KG_kAbkDe6 zPR2JP1k`kGf?M!3Hn`9_GPLEQTG6XhYDM8Gtrm_YP&6Gu;~3STu3fKoy?)yEQ)V%R zYW>#47ql4uKYFJ_c2rQW@Nah>XEyFu163^!yKe3KnB-e-K{iQ|8ayh8<3{Tz9sJG% zbCFLJJ6rac=+xoX9O14|ww-mlD&kJ{g*QxHy?8ATdWf>RIuEjEjJ}OT;g57v#N^o> z55fr>K)sGaI|2fPgIkNPa@Lmq5{F3+&F&-Ws!Pzit@J>L>!Yj=S;0nK(-uxeRrI}X zLAkwdqFXQ(ZT@Ne;{$X0b^WwE6~dl3ZG!WO=!VGK;aW(Bt4pf`D3{-Mtd28?$M0@|~Z1nhIK#=+Oir{TLtKt(a{kpX~#~#F-9^4l!p? zDXrl4u`OHdZe?!%XV=maKW*KgrJ5nhupLONS#m;6e?&QNYX>+pTq!;i2+-#a5t5X{ zL&)T3lnZnKYlF$Zv>L*49O1TSYbd8Q7ytjzF!T<~24nUbUXBk)`#l z=6@;(=y}jxmS5A5yRQkKseEPNIg7(W)MM9l2B*sP_ZT{OYf#a5b~m_w6+Z6FcsY>IMzEfep%W>44tT!ZwuExt*>j? zz!78Yi)tF@18!MZc8GZUaCFSuOJ;!m`L9*61ME~nU-(kAA|YHM{5CUB_tj3tB^Avy zwN7axthPrKV<>O}@b_c9{G<>)nnHqa_|b0pDuYMpu$6=v?4T6nYJd)p^(bOb)xCzS zPEuiUguQ9DavAk5g;V9YyEo|bW?jI6_(h>jLI6iJboJUEW8q`9GJi!a6uyFGG-iMO zsl>*{!^1<4qhud*v!?X+3`nLXK(hYr2A=J3eR(-aK;%_YIRvs47bd~GHMXE8CN{@?dmSr==M3~qX&#^DHPLX@E(MprL<$)|-f zKO00jEpbCUAJ!P%&U(fy8Led)=DS&3nVK4b2lgJAX=l>MN{SQrR89)reP9GT|Ma%S z5^{AI$4z8O`Vf+#1O9hV#snmzsgFA_Ew7g27KxA%K1I35`ftfL63`2UTfhi{ez4Lb zvIy1PaG;q;(oIsnrr1$FRwdn0R7grw=$HIT&aPTIfz zQMXw~ki%@GVHJz^h6CH)1-yI^Pwc{zE?3EXq+eKsXenaa4A`XP{^K0%+C$duZHH96%O?P_(t1 zFY=*;eiy@Ztt6i#n>slaGlfl1E`gUA8fL>{l=VYfYxk9EnwfRj#S4Ym$O^Ux3R5^F z;*D0v2q_i3?Br9CgtNr^C~rh;)E&-r&L2$p?p#Q`UMU%)YmH%+*C*Py|5i)KZ&JYK z`%6jiK-QHW!Q0J39+)P65Tsi+fK2JQIlMfw`09JTc_Ir2&r_-^ul^X!u^6a=U zTSD=O>ZJ#Q47XiB*eAWR|3LHKSY(VaP&Gr_9wTr#c0S79_g$ zsT@MwtiX*FHD|$On}+tX*5?t5k&R&6a$+rm5?#ylcXC9u$y!9LG90#%QV*90d4A-6 zQsi2Euz1EUM0kZNGd!;#)niV8%r@21n)l$rAMj{913MySolSS-f9Uwr`>QY^9v&#_ z`BIIjxn(Fg?xD$;yjT@H%<5cYeX2k^-$q}kKDebge}=G*FHTbKL!6Ne4Que0I)<1- z5$SEotz^t}j_@Cje!$4#WT$2OuV)j}hCOYHDiKkro~GG`e*bGt zS9~$6HyC9l1)TeH&xhX<94m+oq6LxcR_mfb=Bt7)lv&=4bSN^2uFDJgC`?V)HyS>i zw5y(yQzxJZ%4~n35eH75fbM|6L$57p0p`3&wpQvrcSw?Xb>^4W#mMkG@@8#QA2st%3g5?h!lSaR82AJ-fr#rg8>im2Bs7=ybI=@QOUa{xK*>%fdr}n z$8}60`-=5ZAY%6xLLBHRp(j9d5m)sJdc(kyu|_+`1GY;Hja<67bMHhPYB=S1(2lTDPHl2c89fB4X zq)`=Xq?IeCz5I6zNoSIGZnBo6JC~3kO|z^g!u7zjUqZV0s?@$f;9%R(7%|EWb|>R) z-6Oh|A086LaX@}n$txwo2Q~3>^p7$3i`~(t1d*@>0Zt$VCa-oAvH3->aA9%Q%<=5m ze8V*wdyF*43m1>9yf)uWcBy-6r0WXHv%`MfPRP{D*e<Py;hNm0HKk?sS&Wjf9%C|JxI3sgOse^M8m2INocGHjXXrIflxTG4!W_Zv^5ehV%3 zQnlg>&emKz#+kmGN$j%U$_fQEg9C||1{#5&&$$3U zNRu$LYrLZR6A6HMtf$OKdW*?ab#MJB(bektQQ!3=ZNsGGM%dGT+B&ZXKP(nfOj}Ug z4mY}VtNn+Noz@`ln4Lt2hfFo}p*-M``F2q+^DLw9w1u?c4bEnRY7Ontcif<}fx7u; z*R)G4^By(}7x#QQ1()BR?RHk>k6hn}DPy=R`j(bm-f%wP*p1C60=|F!JMM`~sQkv| z=MV(;ZPte&4D2*=)|YgPe5pWX7Cl^RkJ<2TX}$5Wk1V5?JlZ_UIzi1Yj9kvGtJ5|1 z_K3P}QazEd)~_veIaj6)l)QEP^O8*Qh_?6)DC=%q*P+U5j3XNuAuJsstop56mJsP|Fo@Vrd zWS}+7Zw%KO7QYIjKKn@v9t^x&SGM2>2Gvmb;I1YYOB1*}AsLaQGs5o{MW7p$rhVU} zOKMH3{yhEi;{#??r6Li2#2DVi6N?(YX5oWA3v-*0Vo*bGkwMfJAx4&_7AlWCgN<7U zO?Ixg#sGbiif6$vbTAJWqaIqU?&0|tCes`MK=&m>fE%6xf>jo5Ker-5aJ{hKe(v2n zTUo8)o=BZ8RHSVgGSs4><#9_kFR`tHXdd*c;vuEv3Aw-qbZ3h+3xPR(Idp_y$5(a2 zQy@7STXpc+VLZJ6nXg4}_NWQ39poPEx`WeP*)r2dMq73yu7~dr!U{w}=E$F^k>~Ko++E>Q|D8~6urx+?EBvG2 zCl2Z)Zpg%jFWq2Kr20?#s!n&lj59m9F|b;?TSs>emgg^(`LjQ^&M+vG0w=WncNd0q zo%`^M!z4Z3t*lG#Nm$E_Q#NvPH$xT?g5sV)B%I!0}2 zz%+T_uNO{`Ko{U6*XtPu_ovHQo3rmY)|j4b7tf71U28%h_zoU#3-rI}`cEoz@G^-YcbMY>Ze{64IYgv@-iPS?wc{oD`pg|*;r=vC z+DG2<xxr;uH9_jSC!PI_>3(+I&H@mIFjE>RM zSJT*tr<=z6@|O#j+|Zi073An)(&Dy)d&r0!TTj2pkY8NuA|UGnL2+CpX42*klXTYw zXB5<^ohJJ}LiYzZ$LlDU)n2X6EaJJ)X&ehugUGBah>E^dp@-80blt8}1lBF&Su@Ct z8!P~b@!zv#RrB`B&H+f`>AKKfi%AV772l*L6K~@~ka(x3M&@w%NOiX%Y=ZmIZ*rF0 zEv?RMSiTj6TA2XKX`r!>=|9UI+e_L{q^#%iw{9C|Sf?Ugzdp!j8oP3yXui)sDgE{$ z>mz6U0aRL`wx6a7nXXe7wxmxJ<07Ih)&;w$eh2|-2k}S&>sezC&;UB#EZtJkeI2%k zIildA3M1UFC=wO%?&%X#Twk;Lxs|OXco#IPwHswZ1q{q_CIurmmMsB)Jh5dBPyF*v z-A8Q>Q6e$n_h*Bo?@L=AKzTFW;TG3(h9@TKoZ9cWP2Rb@`S73bhvoa7oL&|vaXE0R zyQ*9;goz19gNJ;ZWem3LBncI&;xu$aAACR3HOzM}u`ue5^~c6^$;EX~)_=bLX7H*_ zJqhVpHuJhS1CMQm{ql%%b+$XbK-QetI_w~3r+|UWosc2z*PMIYqA6M{3_w| zbe*t{-@g#6aJ9!UFVe5p=yhHDo;?IEeuSvjhyaB)RMExvQ)Ob%+blMKSsNBlM>Ho> zO%4oLyLDAswhQD~H=U)tFC&AC;fcHIq<#v+F^fBzaz?4zp2M(|;Om8y7-09Zm9<%Q zLkB3H83o`mz|e7D!bAdrDmRP6A%u-`3;RSH)F)B(7P8@CPsjfq<*}XgKw4KV^T)$u zz-8G>vLZ{@u%01JlxJJ6-^Ush2c`H(MKSkvkOwle%}(~G9Uqc{iB+bX>nQts@& z@chB6JCe3OQD3KG?Ao0VqlM(N6NdF_HlRx(1U(hckfRZHF-!2^d!btMSNSsVnq}vE zhq>uRvaJ;|ZaURpDkg}K%!|q*W-bMyyMf>qa&ZS6z19i9-f$TMd%90#IdR5fs0n$A zyBti}NfiFf0FF)xV95>;8({qVVycQQp)}(;aOLuTUa$4Kf9*@>$u1AZy$$kIv2J_G zR?}~vHJQojs4Tdu8B}nbMcf&D!M3PK!!o1EjTDNS%(^ItrsWM@y`0}Z!@J^<-=bZ4N={v_5_xnuEXD$0`#xbXSN)7*stPj&+O6vYIO#!k4-=lh(`2WRIJE zXdS<#1p{)3O^}Q6Z&#KL1?F+k8uk@oK10I9eEsH=_4T9mYx&Bhz@_%@pHBu-$}WHZ zRuCosMM@EU zNdh3p9!Qu>5NLgrPr6$bi~K!2q`)r%Okyz|O|`rYP~NB$5&W#&^wOcW#nTH1KySBq z5oi&9#FS&R?)MPLj>+ zHjG8+Q}@wmFWyIr1lAj?9r1e-9dqjlIf@hSU(-E59#94+sDwtqRAdpRF?KHeFNscH zb+)YEtaIZk*^mJ#qb2<@(=e>oC1N+sswz)#lXSUap3nIcHg?B;f3o#y+S6gJ0JbLi zg@r-yoxjWaud0$h^a3@OI%_BKS<|9qK*TGN`I35&4IFAclr-W!A3gd0w?VKOh6@)r zxT)$b0+INgiUr5H?Gga`dAVDmDvoSHLw^e8KNM%Sxs}g|c~4JnA3!xY@7)Ly(jE{{2`rcWof%bE;w5 zi2~Bf_6kqWTxc6RFHl#(5bDNETV3eRnCMp^k$6 zxBJbD-!gTcp)cit@a<2e@)y>%n*Ct@zO;n-4pjDhQMKH>cd|y+GSiGq)$6KN`eoC& zv)$U@ZA<1VEfNo6+*Ol3luwtSQA>^aiT;=PvgVoA+o{%diERNRHuZwR^x~ztjz3vi zIA2>GqD`H&U!zeqR@4Kw37Kw!3Mj5ibnpAG7@q;twEhqOgOSUNr?AHY+Qa`rw&T|I z09ZJ1ZU+$M946Ivf?ckt1ifcAF^6=~!7+GHK0^gf5C`YIV232=^TA}@XDy3snLy56 zm0Z>Udet9tU$2by;Y-I&W8@w?0qVd$-d%Hc9_nuU_-^vRso{6;DqbpSYStb5x^(3G z-eMz-g2%N`E>AmV+V2)0j*ddh7)4TJFbHJvy zZb2G1TlR(ZjGX`y`i0fIXGyxR)}&50eiqrfvA^9AA<3mQyZMe9;CB59g+2GkIw1St zgL(!a_tmG`RoKVi5Z)f#g_KfLv>+`o_t@RLJ9%TxP>-7(=EW{CrF9o8vxO!W2QNEP zBb!%YrREv5!?izT7A7y-7p>f`h1i5p8t{KqK~ZKg{my7(Mx}~{1((|$ZH=)UcDlGp zTINE(W2;RvcCF**#-`dgjqHur2jM;_C;?#Pssc3(vFHxEK}4tsO?J@X4@;thOrP|j&N_AzoY z{EQ^b&aG%_Dl@bWov+G$NEQ2^N6ywD!U+~Xglw9@iemps8b})CFx4~Ym=Ws7mWJ#^ zN9XMipc-HAE3RDqUbpgB`s_;h%H{8w*_)q`&!2ZHXx*phf#$LIc$&7m^75npFeolw?&*qtAMLKC)sdG_8A~6K(6M*OeHGD)dLbKMrMNIR{Vet{Un1 zlas375;;0ixP2;)FH{pXr|Hat0{uce_m=W&wjGjpc{Z%ATn+|7`HQkT*tt2^&~mq${8RY%Ofpo#TjedEKlml-(9JFT zG*e6h%uP(b{yo2Z=llHQ$F*~98f!G1@D?g{81UK=%3i`-QkjBBisQ0np-!C8&Smc; zPeWOK`i?Nw`3~hARVKjO)Xi9Az-}x;^P6Kz>{2-fER>_M;1(m)7%HXi9-Ve0xu#nC z(exD!{KsN7qg^uWey=t%^X<2HD!*cc?-0CF3sI?vp(~u*7>@$8BmkypNmOOPh(iF( z^?Xzk#tlY_#R$oZKAqYgM8o2Trmx$=j{eG3vaSTRiycGt%XmTzF zbjY{JW#(X#dDi673vhS3v>eY21JI9*FZXjK)wT|TUT4n}&>!+|i56;uKHpPD8g_db zS(y^KyM_xEe!5!{IR0AXub@so^{(j4UxFG|)@grv# zSEho`=M9(I_ukm@ePsCUU|{>j*NGc7wiFNh^VuIIjU44`iQ$;;8n()j0I+se$cnYW z2U)qoAd6&XXru$iU8vx*iLmt1DvR_%_C=|y;rAZpAdJOqS};2$U_zkB zNCLZFg*Cj@HBK-r)=P#&YLvOhfP+u~#1<*Aa@~GCO3>XqW9S~T5^cHES1QJnc449V zs&@r1&pwVbS7KU$ouBkbg*o~%n*fthZ!?EX-D$jl>d0b~yU(+XnCG`Jm49AyFrys& z?(Wiql6I;Xd_Qt%;WuNz-Nya%<-TK@HBR$D(1FJvzI(GZr}o?(jXxJ`F_NS3Wa-~W zFuWvZM!x-$UBC#X5S1#u=*Rb797e zP|wQzzb`*E@3Z$!aZaftPq@c2Tw%u1w-v)s6#rHgM|zC`M4m$pJFo@;$$7 zSgT4YuvyfR=`sv7?kV@NgGEM}Kcy8)@3$p%{NOT>IUEV9`RR z?Kyk%K=$>{>`XGW(Nd*xZ&hN7(pXv|Fn8};I)u;**{0UDExx1aMdsoY zfAhOfs{!#vU~%}4$z`cfl|C)OmI~;sDd{o?g_a4YhM0XMIQ15#(8Jf-W%%g}t7qc& z+2Ys4d+v_&KH}%4a@v+ZOx+tO!xNuY^oYv5j9bZ6fr}51ZqrP%? z6y@UjUOy>`@0j|=rVpsune5Cj8<40_h5&(tH7tgugT>1q$8x^`0)7nO{XqaF@F~wn zQOz>P`XSkA%`xAJloOMwpN0=ztR0V%Ki+?R!oS4mg%R={MNp*DyUa(0%Crgc3q0{+ z8$KHWIPIYpWGGj0u?!yuByB)FOQG3jg!8)FkdzWJBTaui5pn+SFYh1A*4In@s${Ycobu`c`Bm+q9LiWMMC-Ozqo*EjD!diK zzOZHE^~CAJr?&}TvmC4YyOOcBxvvb+eKUZAS42xljw8oE=8D6$LA$RjE+S-t>PTPq zY3XLD~b;dgc)Wu;py(P;dxD~%nm z9vrTF;-^vmGV-i%KPdyFA8H(`;=ptZ&gr4kXb{GpkJoaAzhQ&Qv%xT~ibgQY6#%)I zvx-WYKcFms78LOVY0wK(GdTJAO5QH|RJKJ>=%0fGySlDdbx*7RsXLe!uXE2{2U)QY z0yc_lEO*kSc5)>^Z6W=S3wNrpU-sOUTWk1Ku3D=+{3-0(81k71{(3~;KZUKMgWT-c z`PYj-FMltMnoK%!>)W@_?^jZfqybIejVSU+QaBg3_8rmw<&`s7_s{1fUqc_MSqc21 zHmUKsSZX`ZE_2;2=i$Rcfs+_ToTjwR)5Cq%eb!&gGZG+K)<-FXW`l{OWVU6(AIhF!6qSFeG!U%bR%+G2{i(CM{n!qKh zCxI&fVE9A}H`*XtZ;+-!Ymu6_&E9eU_uG*bR)}9~)EUe6VsjP6&ydA!mQ!3YW}X$i zBhS#3pMc81{&?4qe?Bzcc9_Hr^V(c#SC#6~Ypoxp{ODj^z^|{C_v=qiz!XVP*y3I~ z6BwXv@q|D#L_!dsg z??J4V2W>QSIrzLAL9si!wt=Sy78`ot8-Dh~*|P1R zw0;ZXN81VfXUh_#zB|URa`r90o3MSIeDQT^M8L||*I#Usor}|)4h)5}Fjp4>@o-ef zLQ5H&>OAa{nlxR0ICsgEvS!a3QIACiCe<3MR`yy=(+jLmj0@Q{_hKtwIe(5`oT#p~ zb1J{hD@kZmR2%hmcSJFLc`RVdKoj73(79>_L8+9l!pl{$4+H*C_|=-AwAv|C1(rZ? zqx>0@i3c1Ds)BdF;&KtlK@xgHhM8rwmR%##w7K(WfRCw1JCF^KPTmV=FSeo@g0FD& zO$+3l%HbRx(-tAyZbuZnRG=xn@l%%Z{$y|v(h35d4SE1Io}%woGqYEdsD(KPx&_{Z z^UW=gkck2L{fY)RCTit9uvIDdI?7Y^t@<_hkTd_#zh2MvV*U#2R%05AD4My+>}d)| zoSMFyV^FVMl*smXpPeF4^rqB38Q&aGY1W4_GjydbcNY@64C>RhNZ2x+DzDG9KvGgU zuM{|c;xpGbn*n18u)>**7`cug>Jvss^#bcw(Sl!Y6Y#9q>|?@z&O&YeBaE-&;jN(l z2rER*B|5iMi!Asm%+GGazVy2qU7|H~&~xGq9IglNiF8Q}li&zvW6P`9T0pNf#Z34C zK7q3XQJx;&V-dR8+ryaFu#y(~D^ZO#ij_9qxE%fDY09BP|2{4~zw$z!=xkD2;JHuZ z>p@_cg2Q6rmqm<7)3xa7#P|>Yv$}A6`T@VF4mUmal$B>{ogK$g6ExPP=d6pZ}F_vhcN#&i1 zVj)3Pih1eW5hx+X2X9Ju@wz&a3$sH_@f)`57`PCCRa$g_)ncZ%ZbUw~u7Ev^b* zC0sN}ufziwC+044C%p+`%m8Lc3=fr?qT!r5a1*fbCUs)tnD@2d@*j=l2cTehx+Q-m zCt=zRrK0EI(QmL`(^gv$;o$5KJ6HVo)%VeH({GvB6!FEFx_5RiSBn{RG5HmyU~Ev^3G~SGQ&$tM%tqUWrERmOr*pw^n6SI>L2x)7 zlbNgcRZt8dgw4MG()*l-bmS#3r!F1|BWS`8txp#7c6raWwhS;)p@0}_rQo3t?IAcF z&9ilM6~j~dhp1;REg9EB%xLMNQ3lsPsM{lI4ss7JQV~%eJSZ%*xO_NmJNstib$wuo zpOdPJS4~B^yMvU04;wX0h}4Fa{J zztyJT%9n`wPg4pVe#gu;beq-XL-r?X42D0=45_YbF*SwaH0@8RSmJN2narrxt^oZChww=CT8fTKup(1dWzE(KZ zWAnoJ(C_z`a>FJfbZ?2hHq(@hdsy{6b|l)u#DQwlOTxWMA9c&qR#FDjHoRYR-t`vJ z+npvgW4c*;Spm$3<+ykN!F&jXNRWV#ph@``7yh^ESF+QW0~Vzg)_^5HsDy+W6GpV%b4A^lwW>{X*hJygpUAon@d=}dBpm^4(tbTl~ zipf)&^7|#Wfe0xn3Ch_*?}XWzlv9=B?k&FP?Pqd<#5nCQ$09|vXMl!=N)dkVNU ztp=#ibkZ3vX_u#ex(M2o=>Xh)wkJ?F`_2KkGl9&Gq*t`q#xs|d^VrfnD8U_AjfDZX z58xZ6*vZ($x_IKzZ;+=t72VQi42?)e3%VjwHs7k?J4j^m9&$nPRgtGGOd%e%Iraw% z^=?(@5~H^1p$@zFYO-7Ar-|@@_mg!2pKdIrZOMFovoA9xWhi4SkXWc7+w{k1k@w2h zs1Ugaq|`A+)}^a$E$MgNku7QhoyPSYQ*NE2B879s7Eeo9=q^L$?>_qizs`O8ayein z`Ow838e3AI-XAa?cOFqVNHZL$)(@SCR*?jlyAio!uTZ;g9qE6Epc!3lRQobA4oBKg zZ(6Kr%?0&hB)L&t34GN8a@vsU4>UE~S!%$dk3Iq_Lu>N6g^&us*oYUyq}oy91)qD& zp~~wF2%hV__KqJlp`k1QOTx=>NUS^8Vt4l6oNmq>CwMOWZ`)218$YsLl>MV`*dCl= zv6?XfubH(pSX0K%5OR|VuwdQ% z-&FK)IZ>mGH&fxJT?Dm8!S3*?>4}s32G*}UAAFhi`qQo#__Wj*7ju6vTy4IB?;a%4 z&=uAu5+1X!fHH8e72~Y>MC`~11+OqpF#v*iSkN{b0@jUzX3VwK4*sI8oI&%*1$)&Z zh2O`BJ43kqQc1Vk{-Dor;4A|!#H!;vRasYfp141_TtTLNu9LMhxO`?^2|_}-$4xdG zpL*xwaIYRKjco3&@IeX1Qx=WK-PNzZu$DA=Z!PNq=BN}DsO+oA!>SzQe_&H)qu@29 zkHN%wG`MrWeQ{cIx#NA(#n&sx9zR}L8MJtP9eupZxsSyZLY5zI}IFw{hrX|Bb~g zBk;MTQ|$F!0Qr4jZ>4n;CNC7Yqb}HT)V*+?kYOusO&-_m#`{{kf@pis_iMIXg{(3G zfQUYbIvtFMwe+Ur^$eY2l^at%auTF=BugdGTAgg`>wt;_nPB0-!ygE-c3HrIB%7+pfO60# z@ccjd{XCqK)iKN5w05D_B`OL<^u}}>=2~2o{0*~eEy$R(p!bqnIISEyKgOfRJpbsF zTo3lZ4Xj{|upfB!)v&6RA1K!N|20*Uc>k-ycfygi1?w~mF4y5*+9gT*<4*i*1ngA# zagOq)i<|?v+G!1~jF$P9w+5l=R3*=2(Q&~4$FuT%E4OB(_#kaIg-n@S?IJ0Tt?J2T z!Zi)R|EGjHL_~Y?W^&{P=wVCJ7V2D(B9JOyT!<1ajEE$_Ij{)-H3v+6_MxaZ5wYfc z>-d(7$(0Yie#MtODik%eOqo>g2`?t^F*;_@OPXqY_Yi?s`nivLd6T#+3{+aHNbSw~ zrePK|sjMwtXLj@>=e6CZ@q}lWU%#Jxyxrii^B*7c=Y;N3q=y4L3_9z6ZQ)w>SGB%* z%sQwZkx#OKkAuc)N*EnN{$JMO`N5Sl8&@*_{O)$^!{n2(r^!ln7n5IQ{pxJpXQUF~ z3o9#8R<9GRArPv(tkk+Rx~e0@W+iGa0sCr(XT2-m-&QMR1^3l7F5CNpvjB=}(q`e- zU<`ekGRjbX;>8CBq99N#NVPM-RJ51B0kk6(Jm6vE06*faF0aPNqaq+0m~5y@W305o zR>1kqf)GV=f7P&;Gd$dQeUxVI;h}V4dO=Y0v$ZCysw3YUVBP+FWy+AgXn>(Z_k^dY z{93>1f8EtKxmspBj1W8pplm@3eHQz5F#3kD7S*y`@O=YB{_Drv1pbiwO>)&XLh zwUaAa*bWTzC}~Qd56}D^klWh1CJaCDha_w@YXTe|z#;(FI$SASXoKOr zV3PSJj;+e~cTC52mwo#$3=V$#_})Ih;N|i^uXbI3;S5{LuR03J^)|(K?CxhQd#G0h zIM@feLWyhbrv0f$?U1&cOl)6Q$-iv8JpBFJ%cUbOpI(O?+45K2@OZDk6Ct0F8j?fj zix51Z+USA!Z7j4!g$5nPyIW#5Ip7bbr_~p^9Nc&DS#|B$G;1x_0bvKr*YNG{RY1>z zdU?D>6aqe`AoR+a}4sR9;`EH>BOD)$Hl z28*XroMmHzJngvG+#TR^ga_M=O%aO9#tje{ry4O(K{*?DlV#5BygtpwA5%bOuqYCq zDkv)UXYlg%^kv=;i=x#gO-%XM{_{&iD?(V{}(}>y*mb zYz3DJ)7!y&LfK};!U3Fmp2Bi&gE_8#ahrI|?hgbXR-6Rf2lY0(2+ zU#Gs#pZ@;o?a5~+v);@dK9-hPYCfNudqAZ!fCrsrm>j?Y$(H`HUqqo`Ymj5%DKMF} z4zZ=pKEI`0(XzfImD!Oh^eKzK!2E14E=2<={)m~fPAY0AlGfyQT*uF8PQ_LKlE=sY zvB(5lhG(Y#c= z8xcHq5q|2w=-5ghV1PpOUsU|QdKyb1Qg0J}c9?!dIv$UyJ(_d0{n&_bj#;eaM|>an z+R&xk@Ibw3o|tu>B8n)tHFN(=%U$G7mQm{)WBxI5`8pR|`bpIZ zYR33{jV_b}iWmoiV4dZqVi`Laa|S;P@hb%OP*)&N6y%mV!1=&q?hdP-Gt{)`pbIvi zm!S^u%he!ZP*G?aSWpH?gCtD<0%D>qXOwNe8$-cWjcQ*Y*0&755aWjkaNynu6|dfa zZz&-lzkqCM2M|KcRyYC_9bI16(Z=A$#@ZAPo3d z8*_>J&$H|VK3elrSOEQ{iyAVw<;j(|T5#gk*4Wv1&E0zb>D&CumVF;q>i)g+_qWA& z>&Ix5Mm3(C6ZE34Y5UzOyVEgp2B9!Jti=IO6stf~xiv3m+fripJ!&n~;C3h*heE{O zT()OiCmh;cAmi8NuP(47MY*s3I$}xuI zn}zA{d_3O<xU}GA#gsj6nf3B|}+v1=#U|HVQATRY&7J)e`O9}WiV+&>M_8eS90=975VnYT~ ztbj5>>-Em!CfXG5(9;R<{q&!f2_Pd52E$;AHTIUO*ZX?@%r~P7iS1_A4W0TuYWv2x z*QC5$ From 085b91f8561e3041aeb9643d77a570a44ea63d71 Mon Sep 17 00:00:00 2001 From: PoppinL Date: Tue, 27 Aug 2019 11:15:48 +0800 Subject: [PATCH 11/84] chore: replace sidebar icon (#400) --- resources/LeetCode.svg | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/resources/LeetCode.svg b/resources/LeetCode.svg index c06fe89d..a3bac1f0 100644 --- a/resources/LeetCode.svg +++ b/resources/LeetCode.svg @@ -1,16 +1,11 @@ - - - LeetCode_36 + + + Combined Shape Created with Sketch. - - - - - - - - + + + \ No newline at end of file From b96e7f5feff8352699c918f98d735342d4a4d4ce Mon Sep 17 00:00:00 2001 From: Sheng Chen Date: Tue, 27 Aug 2019 12:14:53 +0800 Subject: [PATCH 12/84] fix: Can trigger showTopVotedSolution from keyboard shortcut (#399) --- src/commands/show.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/commands/show.ts b/src/commands/show.ts index 896516a9..1846fe9f 100644 --- a/src/commands/show.ts +++ b/src/commands/show.ts @@ -13,7 +13,7 @@ import { leetCodeManager } from "../leetCodeManager"; import { IProblem, IQuickItemEx, languages, ProblemState } from "../shared"; import { getNodeIdFromFile } from "../utils/problemUtils"; import { DialogOptions, DialogType, openSettingsEditor, promptForOpenOutputChannel, promptForSignIn, promptHintMessage } from "../utils/uiUtils"; -import { selectWorkspaceFolder } from "../utils/workspaceUtils"; +import { getActiveFilePath, selectWorkspaceFolder } from "../utils/workspaceUtils"; import * as wsl from "../utils/wslUtils"; import { leetCodePreviewProvider } from "../webview/leetCodePreviewProvider"; import { leetCodeSolutionProvider } from "../webview/leetCodeSolutionProvider"; @@ -71,11 +71,15 @@ export async function searchProblem(): Promise { export async function showSolution(input: LeetCodeNode | vscode.Uri): Promise { let problemInput: string | undefined; - if (input instanceof LeetCodeNode) { + if (input instanceof LeetCodeNode) { // Triggerred from explorer problemInput = input.id; - } else if (input instanceof vscode.Uri) { + } else if (input instanceof vscode.Uri) { // Triggerred from Code Lens/context menu problemInput = `"${input.fsPath}"`; - } else { + } else if (!input) { // Triggerred from command + problemInput = await getActiveFilePath(); + } + + if (!problemInput) { vscode.window.showErrorMessage("Invalid input to fetch the solution data."); return; } From 24f636d89bb7dea356fda237a164d93769bbd12b Mon Sep 17 00:00:00 2001 From: Sheng Chen Date: Tue, 27 Aug 2019 18:44:56 +0800 Subject: [PATCH 13/84] fix: Add CSP in the web view header (#394) --- src/webview/leetCodePreviewProvider.ts | 1 + src/webview/leetCodeSolutionProvider.ts | 1 + src/webview/leetCodeSubmissionProvider.ts | 1 + 3 files changed, 3 insertions(+) diff --git a/src/webview/leetCodePreviewProvider.ts b/src/webview/leetCodePreviewProvider.ts index 1bd83e69..03a12e19 100644 --- a/src/webview/leetCodePreviewProvider.ts +++ b/src/webview/leetCodePreviewProvider.ts @@ -101,6 +101,7 @@ class LeetCodePreviewProvider extends LeetCodeWebview { + ${markdownEngine.getStyles()} ${!this.sideMode ? button.style : ""}