From 64c19b3db60dbb079bd158085b56506458db2379 Mon Sep 17 00:00:00 2001 From: Alejandro Bailo <59607668+alejandrobailo@users.noreply.github.com> Date: Wed, 14 Oct 2026 13:51:08 +0200 Subject: [PATCH] fix(ui): show Registry subscription and setup prompts (#13038) --- ui/actions/registry/registry.adapter.ts | 10 +- ui/actions/registry/registry.test.ts | 39 ++++++++ ui/actions/registry/registry.ts | 28 +++++- ui/app/(prowler)/registry/page.test.tsx | 55 +++++++++++ ui/app/(prowler)/registry/page.tsx | 13 ++- .../registry-access-prompts.fixed.md | 1 + .../forms/connect-account-form.test.tsx | 57 +++++++++++ .../workflow/forms/connect-account-form.tsx | 90 ++++++------------ .../use-registry-provider-discovery.test.ts | 77 +++++++++++++++ .../forms/use-registry-provider-discovery.ts | 53 +++++++++++ .../registry-explorer.integration.test.tsx | 22 +++++ ui/components/registry/registry-explorer.tsx | 3 + ...gistry-upgrade-prompt.integration.test.tsx | 63 ++++++++++++ .../registry/registry-upgrade-prompt.test.tsx | 46 +++++++++ .../registry/registry-upgrade-prompt.tsx | 49 ++++++++++ .../shared/cloud-upgrade-modal.test.tsx | 17 ++++ ui/lib/cloud-upgrade.ts | 11 +++ ui/lib/registry/provider-options.ts | 4 + .../evidence/registry-paywall-desktop.png | Bin 0 -> 63366 bytes .../evidence/registry-paywall-mobile.png | Bin 0 -> 49231 bytes .../evidence/registry-paywall-tablet.png | Bin 0 -> 43246 bytes ui/types/cloud-upgrade.ts | 1 + ui/types/registry.ts | 5 +- 23 files changed, 571 insertions(+), 73 deletions(-) create mode 100644 ui/app/(prowler)/registry/page.test.tsx create mode 100644 ui/changelog.d/registry-access-prompts.fixed.md create mode 100644 ui/components/providers/workflow/forms/use-registry-provider-discovery.test.ts create mode 100644 ui/components/providers/workflow/forms/use-registry-provider-discovery.ts create mode 100644 ui/components/registry/registry-upgrade-prompt.integration.test.tsx create mode 100644 ui/components/registry/registry-upgrade-prompt.test.tsx create mode 100644 ui/components/registry/registry-upgrade-prompt.tsx create mode 100644 ui/tests/providers/evidence/registry-paywall-desktop.png create mode 100644 ui/tests/providers/evidence/registry-paywall-mobile.png create mode 100644 ui/tests/providers/evidence/registry-paywall-tablet.png diff --git a/ui/actions/registry/registry.adapter.ts b/ui/actions/registry/registry.adapter.ts index e84fab1218..e0d82ba91d 100644 --- a/ui/actions/registry/registry.adapter.ts +++ b/ui/actions/registry/registry.adapter.ts @@ -190,6 +190,9 @@ export async function classifyRegistryFailure( endpoint: RegistryEndpoint, credentialStatus: RegistryCredentialStatus | null, ): Promise { + if (response.status === 402) { + return { status: REGISTRY_FAILURE.SUBSCRIPTION_REQUIRED }; + } if (response.status === 401 || response.status === 403) { return { status: REGISTRY_FAILURE.ACCESS_DENIED }; } @@ -198,15 +201,16 @@ export async function classifyRegistryFailure( return { status: REGISTRY_FAILURE.ERROR }; } + const code = await getRegistryErrorCode(response); if ( response.status === 409 && - credentialStatus !== null && - !isActiveRegistryCredential(credentialStatus) + (code === "registry_credential_not_configured" || + (credentialStatus !== null && + !isActiveRegistryCredential(credentialStatus))) ) { return { status: REGISTRY_FAILURE.ONBOARDING }; } - const code = await getRegistryErrorCode(response); if (response.status === 502 && code === REGISTRY_ERROR_CODE.KEY_REJECTED) { return { status: REGISTRY_FAILURE.RECONNECT }; } diff --git a/ui/actions/registry/registry.test.ts b/ui/actions/registry/registry.test.ts index a3a44ffcf9..5f85fcc27a 100644 --- a/ui/actions/registry/registry.test.ts +++ b/ui/actions/registry/registry.test.ts @@ -115,6 +115,45 @@ function mockRequestDeadlines() { } describe("installed Registry provider discovery", () => { + it("reports a missing Registry key as setup rather than a connection failure", async () => { + // Given + mockDiscovery({ + failedEndpoint: "providers", + failureStatus: 409, + failureBody: { errors: [{ code: "registry_credential_not_configured" }] }, + }); + + // When / Then + expect(await getInstalledRegistryProviderOptions()).toEqual({ + status: "onboarding", + }); + }); + + it("shows the paywall when bootstrapping Registry requires a subscription", async () => { + // Given + fetchMock.mockResolvedValueOnce(jsonResponse({}, 402)); + + // When / Then + expect(await getRegistryBootstrap()).toEqual({ + status: "subscription_required", + }); + expect(fetchMock).toHaveBeenCalledOnce(); + }); + + it.each(["available-artifacts", "artifacts", "providers"])( + "offers a paid plan when the %s read requires a subscription", + async (failedEndpoint) => { + // Given + mockDiscovery({ failedEndpoint, failureStatus: 402 }); + + // When + const result = await getInstalledRegistryProviderOptions(); + + // Then + expect(result).toEqual({ status: "subscription_required" }); + }, + ); + function mockDiscovery({ emptyMetadata = false, failedEndpoint, diff --git a/ui/actions/registry/registry.ts b/ui/actions/registry/registry.ts index 18cd2322ce..e6a1ae3964 100644 --- a/ui/actions/registry/registry.ts +++ b/ui/actions/registry/registry.ts @@ -138,6 +138,8 @@ async function classifyDiscoveryFailure( credential: RegistryCredentialStatus | null, ) { if (response.status === 409 && credential === null) { + const failure = await classifyRegistryFailure(response, endpoint, null); + if (failure.status === REGISTRY_FAILURE.ONBOARDING) return failure; const currentCredential = await readRegistryCredential(accessToken); if (currentCredential.status === REGISTRY_FAILURE.ACCESS_DENIED) { return currentCredential; @@ -211,6 +213,18 @@ export async function getInstalledRegistryProviderOptions(): Promise status === REGISTRY_FAILURE.SUBSCRIPTION_REQUIRED, + ) + ) + return { status: REGISTRY_PROVIDER_DISCOVERY.SUBSCRIPTION_REQUIRED }; + if ( + [catalog.status, providers.status].some( + (status) => status === REGISTRY_FAILURE.ONBOARDING, + ) + ) + return { status: REGISTRY_PROVIDER_DISCOVERY.ONBOARDING }; if ( catalog.status !== REGISTRY_CATALOG.COMPLETE || installed.status !== "ready" || @@ -303,8 +317,11 @@ function bootstrapReady( function bootstrapFailure( failure: RegistryFailureResult, ): RegistryBootstrapResult { - if (failure.status === REGISTRY_FAILURE.ACCESS_DENIED) { - return { status: REGISTRY_FAILURE.ACCESS_DENIED }; + if ( + failure.status === REGISTRY_FAILURE.ACCESS_DENIED || + failure.status === REGISTRY_FAILURE.SUBSCRIPTION_REQUIRED + ) { + return { status: failure.status }; } return bootstrapReady({ status: @@ -340,8 +357,11 @@ export async function getRegistryBootstrap(): Promise { } const catalog = await readCompleteRegistryCatalog(access, credential); - if (catalog.status === REGISTRY_FAILURE.ACCESS_DENIED) { - return { status: REGISTRY_FAILURE.ACCESS_DENIED }; + if ( + catalog.status === REGISTRY_FAILURE.ACCESS_DENIED || + catalog.status === REGISTRY_FAILURE.SUBSCRIPTION_REQUIRED + ) { + return { status: catalog.status }; } if (catalog.status === REGISTRY_CATALOG.INCOMPLETE) { return bootstrapReady({ diff --git a/ui/app/(prowler)/registry/page.test.tsx b/ui/app/(prowler)/registry/page.test.tsx new file mode 100644 index 0000000000..c87e2014ae --- /dev/null +++ b/ui/app/(prowler)/registry/page.test.tsx @@ -0,0 +1,55 @@ +import { render, screen } from "@testing-library/react"; +import type { ReactNode } from "react"; +import { beforeEach, describe, expect, it, vi } from "vitest"; + +import { getRegistryBootstrap } from "@/actions/registry/registry"; + +import RegistryPage from "./page"; + +vi.mock("@/actions/registry/registry", () => ({ + getRegistryBootstrap: vi.fn(), +})); +vi.mock("@/lib/registry/presentation", () => ({ + readRegistryPresentation: () => ({}), +})); +vi.mock("@/components/shadcn/content-layout/content-layout", () => ({ + ContentLayout: ({ children }: { children: ReactNode }) => children, +})); +vi.mock("@/components/registry/registry-explorer", () => ({ + RegistryExplorer: () =>

Registry catalog

, +})); +vi.mock("next/navigation", () => ({ + redirect: vi.fn((path: string) => { + throw new Error(`redirect:${path}`); + }), +})); + +describe("Registry paid access", () => { + beforeEach(() => vi.clearAllMocks()); + + it("offers an upgrade on direct visits without loading the catalog", async () => { + // Given + vi.mocked(getRegistryBootstrap).mockResolvedValue({ + status: "subscription_required", + }); + + // When + render(await RegistryPage()); + + // Then + expect( + screen.getByRole("button", { name: "Unlock Registry" }), + ).toBeVisible(); + expect(screen.queryByText("Registry catalog")).not.toBeInTheDocument(); + }); + + it("keeps access denial separate from a paid plan upgrade", async () => { + // Given + vi.mocked(getRegistryBootstrap).mockResolvedValue({ + status: "access_denied", + }); + + // When / Then + await expect(RegistryPage()).rejects.toThrow("redirect:/profile"); + }); +}); diff --git a/ui/app/(prowler)/registry/page.tsx b/ui/app/(prowler)/registry/page.tsx index 36c2bb90f6..cf0c61c1d3 100644 --- a/ui/app/(prowler)/registry/page.tsx +++ b/ui/app/(prowler)/registry/page.tsx @@ -3,6 +3,7 @@ import { redirect } from "next/navigation"; import { getRegistryBootstrap } from "@/actions/registry/registry"; import { RegistryExplorer } from "@/components/registry/registry-explorer"; +import { RegistryUpgradePrompt } from "@/components/registry/registry-upgrade-prompt"; import { ContentLayout } from "@/components/shadcn/content-layout/content-layout"; import { readRegistryPresentation } from "@/lib/registry/presentation"; import { REGISTRY_FAILURE } from "@/types/registry"; @@ -15,10 +16,14 @@ export default async function RegistryPage() { return ( }> - + {bootstrap.status === REGISTRY_FAILURE.SUBSCRIPTION_REQUIRED ? ( + + ) : ( + + )} ); } diff --git a/ui/changelog.d/registry-access-prompts.fixed.md b/ui/changelog.d/registry-access-prompts.fixed.md new file mode 100644 index 0000000000..19b79647ce --- /dev/null +++ b/ui/changelog.d/registry-access-prompts.fixed.md @@ -0,0 +1 @@ +Registry provider discovery distinguishes paid-plan upgrades, missing credentials, and connection failures diff --git a/ui/components/providers/workflow/forms/connect-account-form.test.tsx b/ui/components/providers/workflow/forms/connect-account-form.test.tsx index 763cbcb4b3..4f090b7fce 100644 --- a/ui/components/providers/workflow/forms/connect-account-form.test.tsx +++ b/ui/components/providers/workflow/forms/connect-account-form.test.tsx @@ -9,6 +9,10 @@ const { addProvider, updateProvider, getInstalledRegistryProviderOptions } = getInstalledRegistryProviderOptions: vi.fn(), })); +vi.mock("@/hooks/use-auth", () => ({ + useAuth: () => ({ permissions: { manage_registry: true } }), +})); + vi.mock("next/navigation", () => ({ useRouter: () => ({ push: vi.fn() }), })); @@ -23,6 +27,8 @@ vi.mock("@/actions/registry/registry", () => ({ getInstalledRegistryProviderOptions, })); +import { useCloudUpgradeStore } from "@/store/cloud-upgrade/store"; + import { ConnectAccountForm } from "./connect-account-form"; describe("provider account aliases", () => { @@ -84,6 +90,57 @@ describe("provider account aliases", () => { }); describe("Registry provider source tabs", () => { + it("explains Registry setup without claiming a connection failure", async () => { + // Given + vi.stubEnv("UI_CLOUD_ENABLED", "true"); + getInstalledRegistryProviderOptions.mockResolvedValue({ + status: "onboarding", + }); + + // When + render(); + + // Then + expect( + await screen.findByText("Registry is not connected yet"), + ).toBeVisible(); + expect( + screen.queryByRole("button", { name: "Unlock Registry" }), + ).not.toBeInTheDocument(); + expect( + screen.queryByText("Registry providers could not be loaded"), + ).not.toBeInTheDocument(); + }); + + it("offers the Registry paid plan upgrade while keeping built-in providers usable", async () => { + // Given + vi.stubEnv("UI_CLOUD_ENABLED", "true"); + getInstalledRegistryProviderOptions.mockResolvedValue({ + status: "subscription_required", + }); + const user = userEvent.setup(); + useCloudUpgradeStore.getState().closeCloudUpgrade(); + + // When + render(); + await user.click( + await screen.findByRole("button", { name: "Unlock Registry" }), + ); + + // Then + expect(useCloudUpgradeStore.getState().activeFeature).toBe("registry"); + expect( + screen.getByRole("option", { name: /Amazon Web Services/ }), + ).toBeVisible(); + expect( + screen.queryByText("Registry providers could not be loaded"), + ).not.toBeInTheDocument(); + expect( + screen.queryByRole("button", { name: "Retry Registry providers" }), + ).not.toBeInTheDocument(); + useCloudUpgradeStore.getState().closeCloudUpgrade(); + }); + beforeEach(() => { vi.clearAllMocks(); vi.stubEnv("UI_CLOUD_ENABLED", "true"); diff --git a/ui/components/providers/workflow/forms/connect-account-form.tsx b/ui/components/providers/workflow/forms/connect-account-form.tsx index f0199a0c80..3380aa9c0d 100644 --- a/ui/components/providers/workflow/forms/connect-account-form.tsx +++ b/ui/components/providers/workflow/forms/connect-account-form.tsx @@ -8,20 +8,19 @@ import { useForm, UseFormReturn } from "react-hook-form"; import { addProvider, updateProvider } from "@/actions/providers/providers"; import { addRegistryProvider } from "@/actions/providers/registry-provider"; -import { getInstalledRegistryProviderOptions } from "@/actions/registry/registry"; import { AzureMethodSelector } from "@/components/providers/organizations/azure-method-selector"; import { GcpMethodSelector } from "@/components/providers/organizations/gcp-method-selector"; import { WizardInputField } from "@/components/providers/workflow/forms/fields"; import { ProviderTitleDocs } from "@/components/providers/workflow/provider-title-docs"; +import { + RegistryUpgradePrompt, + RegistrySetupPrompt, +} from "@/components/registry/registry-upgrade-prompt"; import { Button, useToast } from "@/components/shadcn"; import { Alert, AlertDescription, AlertTitle } from "@/components/shadcn/alert"; import { Form } from "@/components/shadcn/form"; import { ProviderCredentialFields } from "@/lib/provider-credentials/provider-credential-fields"; -import { - REGISTRY_PROVIDER_DISCOVERY, - type RegistryProviderOption, -} from "@/lib/registry/provider-options"; -import { isCloud } from "@/lib/shared/env"; +import { REGISTRY_PROVIDER_DISCOVERY } from "@/lib/registry/provider-options"; import { createAddProviderFormSchema, AddProviderFormValues, @@ -38,6 +37,8 @@ import { isKnownProviderType } from "@/types/providers"; import { RadioGroupProvider } from "../../radio-group-provider"; +import { useRegistryProviderDiscovery } from "./use-registry-provider-discovery"; + export type FormValues = AddProviderFormValues; export interface ConnectAccountSuccessData { @@ -219,60 +220,25 @@ export const ConnectAccountForm = ({ const [method, setMethod] = useState<"single" | null>(null); const router = useRouter(); - const [registryOptions, setRegistryOptions] = useState< - RegistryProviderOption[] - >([]); - // Only confirmed Cloud and Private Cloud access enables Registry source tabs. - // Unknown access stays hidden but remains retryable through the warning. - const [registryAvailable, setRegistryAvailable] = useState(false); - const [registryError, setRegistryError] = useState(false); + const { + result: registryDiscovery, + isRetryingDiscovery, + retryDiscovery, + } = useRegistryProviderDiscovery(); + const registryOptions = + registryDiscovery?.status === REGISTRY_PROVIDER_DISCOVERY.READY + ? registryDiscovery.options + : []; + const registryAvailable = + registryDiscovery?.status === REGISTRY_PROVIDER_DISCOVERY.READY || + registryDiscovery?.status === REGISTRY_PROVIDER_DISCOVERY.ERROR; + const registryError = + registryDiscovery?.status === REGISTRY_PROVIDER_DISCOVERY.ERROR || + registryDiscovery?.status === REGISTRY_PROVIDER_DISCOVERY.UNKNOWN; const [providerError, setProviderError] = useState(null); - const [discoveryAttempt, setDiscoveryAttempt] = useState(0); - // Local state needed: a request in flight cannot be derived from the attempt count. - const [isRetryingDiscovery, setIsRetryingDiscovery] = useState(false); const submitting = useRef(false); const createdAccount = useRef(null); - useEffect(() => { - // Registry is Cloud-only: elsewhere never ask, so a failure cannot surface it. - if (!isCloud()) return; - let active = true; - const load = async () => { - try { - const result = await getInstalledRegistryProviderOptions(); - if (!active) return; - setRegistryOptions( - result.status === REGISTRY_PROVIDER_DISCOVERY.READY - ? result.options - : [], - ); - setRegistryAvailable( - result.status === REGISTRY_PROVIDER_DISCOVERY.READY || - result.status === REGISTRY_PROVIDER_DISCOVERY.ERROR, - ); - setRegistryError( - result.status === REGISTRY_PROVIDER_DISCOVERY.ERROR || - result.status === REGISTRY_PROVIDER_DISCOVERY.UNKNOWN, - ); - } catch { - if (active) { - setRegistryOptions([]); - setRegistryAvailable(false); - setRegistryError(true); - } - } - }; - // Only this effect's own load ends a retry; event reloads must not. - void load().then(() => { - if (active) setIsRetryingDiscovery(false); - }); - window.addEventListener("registry-artifacts-changed", load); - return () => { - active = false; - window.removeEventListener("registry-artifacts-changed", load); - }; - }, [discoveryAttempt]); - const formSchema = createAddProviderFormSchema( registryOptions.map((option) => option.type), ); @@ -474,6 +440,12 @@ export const ConnectAccountForm = ({ {/* Step 1: Provider selection */} {prevStep === 1 && (
+ {registryDiscovery?.status === + REGISTRY_PROVIDER_DISCOVERY.SUBSCRIPTION_REQUIRED && ( + + )} + {registryDiscovery?.status === + REGISTRY_PROVIDER_DISCOVERY.ONBOARDING && } {registryError && ( Registry providers could not be loaded @@ -485,11 +457,7 @@ export const ConnectAccountForm = ({ type="button" variant="outline" aria-disabled={isRetryingDiscovery} - onClick={() => { - if (isRetryingDiscovery) return; - setIsRetryingDiscovery(true); - setDiscoveryAttempt((attempt) => attempt + 1); - }} + onClick={retryDiscovery} > {isRetryingDiscovery ? "Retrying…" diff --git a/ui/components/providers/workflow/forms/use-registry-provider-discovery.test.ts b/ui/components/providers/workflow/forms/use-registry-provider-discovery.test.ts new file mode 100644 index 0000000000..b16784f16d --- /dev/null +++ b/ui/components/providers/workflow/forms/use-registry-provider-discovery.test.ts @@ -0,0 +1,77 @@ +import { act, renderHook, waitFor } from "@testing-library/react"; +import { beforeEach, describe, expect, it, vi } from "vitest"; + +import { getInstalledRegistryProviderOptions } from "@/actions/registry/registry"; +import type { RegistryProviderDiscoveryResult } from "@/lib/registry/provider-options"; + +import { useRegistryProviderDiscovery } from "./use-registry-provider-discovery"; + +vi.mock("@/actions/registry/registry", () => ({ + getInstalledRegistryProviderOptions: vi.fn(), +})); + +function deferred() { + let resolve!: (value: RegistryProviderDiscoveryResult) => void; + const promise = new Promise((done) => { + resolve = done; + }); + return { promise, resolve }; +} + +describe("useRegistryProviderDiscovery", () => { + beforeEach(() => { + vi.clearAllMocks(); + vi.stubEnv("UI_CLOUD_ENABLED", "true"); + }); + + it("ignores a stale discovery that settles after a newer one", async () => { + // Given + const initial = deferred(); + const afterChange = deferred(); + vi.mocked(getInstalledRegistryProviderOptions) + .mockReturnValueOnce(initial.promise) + .mockReturnValueOnce(afterChange.promise); + const { result } = renderHook(() => useRegistryProviderDiscovery()); + + // When + act(() => { + window.dispatchEvent(new Event("registry-artifacts-changed")); + }); + await act(async () => { + afterChange.resolve({ status: "subscription_required" }); + }); + await act(async () => { + initial.resolve({ status: "ready", options: [] }); + }); + + // Then + await waitFor(() => + expect(result.current.result).toEqual({ + status: "subscription_required", + }), + ); + }); + + it("applies a retry even when the request it replaces settles later", async () => { + // Given + const initial = deferred(); + const retry = deferred(); + vi.mocked(getInstalledRegistryProviderOptions) + .mockReturnValueOnce(initial.promise) + .mockReturnValueOnce(retry.promise); + const { result } = renderHook(() => useRegistryProviderDiscovery()); + + // When + act(() => result.current.retryDiscovery()); + await act(async () => { + retry.resolve({ status: "onboarding" }); + }); + await act(async () => { + initial.resolve({ status: "error" }); + }); + + // Then + await waitFor(() => expect(result.current.isRetryingDiscovery).toBe(false)); + expect(result.current.result).toEqual({ status: "onboarding" }); + }); +}); diff --git a/ui/components/providers/workflow/forms/use-registry-provider-discovery.ts b/ui/components/providers/workflow/forms/use-registry-provider-discovery.ts new file mode 100644 index 0000000000..f6add31968 --- /dev/null +++ b/ui/components/providers/workflow/forms/use-registry-provider-discovery.ts @@ -0,0 +1,53 @@ +"use client"; + +import { useEffect, useRef, useState } from "react"; + +import { getInstalledRegistryProviderOptions } from "@/actions/registry/registry"; +import { + REGISTRY_PROVIDER_DISCOVERY, + type RegistryProviderDiscoveryResult, +} from "@/lib/registry/provider-options"; +import { isCloud } from "@/lib/shared/env"; + +export function useRegistryProviderDiscovery() { + // Local state needed: discovery and retries resolve asynchronously. + const [result, setResult] = useState( + null, + ); + const [attempt, setAttempt] = useState(0); + const [isRetryingDiscovery, setIsRetryingDiscovery] = useState(false); + // Initial, retry and artifact-change loads overlap: only the newest applies. + const latestRequest = useRef(0); + + useEffect(() => { + if (!isCloud()) return; + let active = true; + const load = async () => { + const request = ++latestRequest.current; + const isCurrent = () => active && request === latestRequest.current; + try { + const discovery = await getInstalledRegistryProviderOptions(); + if (isCurrent()) setResult(discovery); + } catch { + if (isCurrent()) + setResult({ status: REGISTRY_PROVIDER_DISCOVERY.UNKNOWN }); + } + }; + void load().then(() => { + if (active) setIsRetryingDiscovery(false); + }); + window.addEventListener("registry-artifacts-changed", load); + return () => { + active = false; + window.removeEventListener("registry-artifacts-changed", load); + }; + }, [attempt]); + + const retryDiscovery = () => { + if (isRetryingDiscovery) return; + setIsRetryingDiscovery(true); + setAttempt((current) => current + 1); + }; + + return { result, isRetryingDiscovery, retryDiscovery }; +} diff --git a/ui/components/registry/registry-explorer.integration.test.tsx b/ui/components/registry/registry-explorer.integration.test.tsx index 4641c873c3..bf2101b318 100644 --- a/ui/components/registry/registry-explorer.integration.test.tsx +++ b/ui/components/registry/registry-explorer.integration.test.tsx @@ -440,6 +440,28 @@ describe("RegistryExplorer", () => { expect(cardFor("AWS guard")).toBeTruthy(); }); + it("re-renders the page when a refresh reports a lapsed subscription", async () => { + // Given + const screen = await render(); + refreshRegistryCollectionsMock.mockResolvedValue({ + status: "subscription_required", + }); + // When + await screen.getByRole("button", { name: "Refresh Registry" }).click(); + // Then + // The mocked router never swaps the page, so the explorer may refresh again. + await expect + .poll(() => vi.mocked(registryRouter.refresh).mock.calls.length) + .toBeGreaterThanOrEqual(1); + expect(vi.mocked(registryRouter.replace)).not.toHaveBeenCalled(); + await expect + .element(screen.getByRole("button", { name: "Refresh Registry" })) + .toBeEnabled(); + expect(document.body.textContent).not.toContain( + "Registry could not be refreshed.", + ); + }); + it.each(["access_denied", "reconnect", "onboarding"])( "honors %s from a collection refresh", async (status) => { diff --git a/ui/components/registry/registry-explorer.tsx b/ui/components/registry/registry-explorer.tsx index 8ac02f93ec..14b04b52a9 100644 --- a/ui/components/registry/registry-explorer.tsx +++ b/ui/components/registry/registry-explorer.tsx @@ -182,6 +182,9 @@ export function RegistryExplorer({ onResult: (result) => { if (result.status === "access_denied") { router.replace("/profile"); + } else if (result.status === "subscription_required") { + // The server page swaps the catalog for the paid-plan prompt. + router.refresh(); } else if (result.status === "complete") { setRefreshMessage(undefined); setState((current) => diff --git a/ui/components/registry/registry-upgrade-prompt.integration.test.tsx b/ui/components/registry/registry-upgrade-prompt.integration.test.tsx new file mode 100644 index 0000000000..2c32e3e568 --- /dev/null +++ b/ui/components/registry/registry-upgrade-prompt.integration.test.tsx @@ -0,0 +1,63 @@ +import { afterEach, describe, expect, vi } from "vitest"; +import { page } from "vitest/browser"; + +import { it } from "@/__tests__/fixtures"; +import { render } from "@/__tests__/render-browser"; +import { CloudUpgradeModal } from "@/components/shared/cloud-upgrade-modal"; +import { useCloudUpgradeStore } from "@/store/cloud-upgrade/store"; + +import { RegistryUpgradePrompt } from "./registry-upgrade-prompt"; + +vi.mock("@/hooks/use-auth", () => ({ + useAuth: () => ({ permissions: { manage_billing: true } }), +})); + +const VIEWPORTS = [ + { name: "mobile", width: 390, height: 844 }, + { name: "tablet", width: 768, height: 1024 }, + { name: "desktop", width: 1280, height: 800 }, +]; + +describe("Registry paid plan prompt", () => { + afterEach(() => { + useCloudUpgradeStore.getState().closeCloudUpgrade(); + }); + + it.each(VIEWPORTS)( + "opens the shared paid plan modal on $name", + async ({ name, width, height }) => { + // Given + await page.viewport(width, height); + const screen = await render( +
+ + +
, + ); + + // When + await screen.getByRole("button", { name: "Unlock Registry" }).click(); + + // Then + await expect + .element(page.getByRole("dialog", { name: "Unlock Prowler Registry" })) + .toBeVisible(); + await expect + .element(page.getByRole("link", { name: "Upgrade to Unlock Registry" })) + .toHaveAttribute("href", "/billing?feature=registry"); + expect(document.documentElement.scrollWidth).toBeLessThanOrEqual(width); + await expect + .poll(() => + page + .getByRole("dialog", { name: "Unlock Prowler Registry" }) + .element() + .getAnimations({ subtree: true }) + .every((animation) => animation.playState !== "running"), + ) + .toBe(true); + await page.screenshot({ + path: `../../tests/providers/evidence/registry-paywall-${name}.png`, + }); + }, + ); +}); diff --git a/ui/components/registry/registry-upgrade-prompt.test.tsx b/ui/components/registry/registry-upgrade-prompt.test.tsx new file mode 100644 index 0000000000..c548e14262 --- /dev/null +++ b/ui/components/registry/registry-upgrade-prompt.test.tsx @@ -0,0 +1,46 @@ +import { render, screen } from "@testing-library/react"; +import { beforeEach, describe, expect, it, vi } from "vitest"; + +import { RegistrySetupPrompt } from "./registry-upgrade-prompt"; + +const { permissions } = vi.hoisted(() => ({ + permissions: { manage_registry: false }, +})); + +vi.mock("@/hooks/use-auth", () => ({ + useAuth: () => ({ permissions }), +})); + +describe("RegistrySetupPrompt", () => { + beforeEach(() => { + permissions.manage_registry = false; + }); + + it("sends Registry managers to connect their key", () => { + // Given + permissions.manage_registry = true; + + // When + render(); + + // Then + expect( + screen.getByRole("link", { name: "Connect Registry" }), + ).toHaveAttribute("href", "/registry"); + }); + + it("asks everyone else for an administrator", () => { + // When + render(); + + // Then + expect( + screen.getByText( + "Ask an administrator to connect Registry before adding custom providers.", + ), + ).toBeVisible(); + expect( + screen.queryByRole("link", { name: "Connect Registry" }), + ).not.toBeInTheDocument(); + }); +}); diff --git a/ui/components/registry/registry-upgrade-prompt.tsx b/ui/components/registry/registry-upgrade-prompt.tsx new file mode 100644 index 0000000000..4ab5321879 --- /dev/null +++ b/ui/components/registry/registry-upgrade-prompt.tsx @@ -0,0 +1,49 @@ +"use client"; + +import { Alert, AlertDescription, AlertTitle } from "@/components/shadcn/alert"; +import { Button } from "@/components/shadcn/button/button"; +import { useAuth } from "@/hooks/use-auth"; +import { useCloudUpgradeStore } from "@/store/cloud-upgrade/store"; +import { PAID_PLAN_UPGRADE_FEATURE } from "@/types/cloud-upgrade"; + +export function RegistryUpgradePrompt() { + const openCloudUpgrade = useCloudUpgradeStore( + (state) => state.openCloudUpgrade, + ); + + return ( + + Registry is available on paid plans + + Unlock custom providers, security checks, and compliance frameworks. + + + + ); +} + +export function RegistrySetupPrompt() { + const { permissions } = useAuth(); + return ( + + Registry is not connected yet + + {permissions.manage_registry === true ? ( + <> + Connect your Registry API key to load custom providers. + + + ) : ( + "Ask an administrator to connect Registry before adding custom providers." + )} + + + ); +} diff --git a/ui/components/shared/cloud-upgrade-modal.test.tsx b/ui/components/shared/cloud-upgrade-modal.test.tsx index 0687d9c564..5b50a7a5b1 100644 --- a/ui/components/shared/cloud-upgrade-modal.test.tsx +++ b/ui/components/shared/cloud-upgrade-modal.test.tsx @@ -51,6 +51,23 @@ vi.mock("@/components/shadcn/modal", async (importOriginal) => { }); describe("CloudUpgradeModal", () => { + it("links the Registry paid plan upgrade to billing", async () => { + // Given + vi.stubEnv("UI_CLOUD_ENABLED", "true"); + useCloudUpgradeStore.getState().openCloudUpgrade("registry"); + + // When + render(); + + // Then + expect( + await screen.findByRole("dialog", { name: "Unlock Prowler Registry" }), + ).toBeVisible(); + expect( + screen.getByRole("link", { name: "Upgrade to Unlock Registry" }), + ).toHaveAttribute("href", "/billing?feature=registry"); + }); + afterEach(() => { cleanup(); modalTestState.keepContentMounted = false; diff --git a/ui/lib/cloud-upgrade.ts b/ui/lib/cloud-upgrade.ts index a3a6dc0e8c..3f4c3bbb49 100644 --- a/ui/lib/cloud-upgrade.ts +++ b/ui/lib/cloud-upgrade.ts @@ -215,10 +215,21 @@ export const PAID_PLAN_UPGRADE_ADMIN_NOTE = const CLOUD_UTM_SOURCE = "prowler-cloud"; const PAID_PLAN_UPGRADE_UTM_CONTENT = { + [PAID_PLAN_UPGRADE_FEATURE.REGISTRY]: "registry", [PAID_PLAN_UPGRADE_FEATURE.REPORT_DOWNLOAD]: "report-download", } as const satisfies Record; export const PAID_PLAN_UPGRADE_CONTENT = { + [PAID_PLAN_UPGRADE_FEATURE.REGISTRY]: { + title: "Unlock Prowler Registry", + description: "Prowler Registry is included in paid plans.", + benefits: [ + "Connect custom cloud providers", + "Extend your assessments with custom security checks", + "Use private compliance frameworks across your accounts", + ], + primaryCta: "Upgrade to Unlock Registry", + }, [PAID_PLAN_UPGRADE_FEATURE.REPORT_DOWNLOAD]: { title: "Download Your Scan Reports", description: "Report downloads are included in Prowler Cloud paid plans.", diff --git a/ui/lib/registry/provider-options.ts b/ui/lib/registry/provider-options.ts index 0c586484df..567a1b760f 100644 --- a/ui/lib/registry/provider-options.ts +++ b/ui/lib/registry/provider-options.ts @@ -12,6 +12,8 @@ export interface RegistryProviderOption { } export const REGISTRY_PROVIDER_DISCOVERY = { + SUBSCRIPTION_REQUIRED: "subscription_required", + ONBOARDING: "onboarding", READY: "ready", ACCESS_DENIED: "access_denied", /** Access could not be evaluated: keep Registry hidden but retryable. */ @@ -20,6 +22,8 @@ export const REGISTRY_PROVIDER_DISCOVERY = { } as const; export type RegistryProviderDiscoveryResult = + | { status: typeof REGISTRY_PROVIDER_DISCOVERY.SUBSCRIPTION_REQUIRED } + | { status: typeof REGISTRY_PROVIDER_DISCOVERY.ONBOARDING } | { status: typeof REGISTRY_PROVIDER_DISCOVERY.READY; options: RegistryProviderOption[]; diff --git a/ui/tests/providers/evidence/registry-paywall-desktop.png b/ui/tests/providers/evidence/registry-paywall-desktop.png new file mode 100644 index 0000000000000000000000000000000000000000..40615c3110187ff4d5d94417dfed440a5a074df1 GIT binary patch literal 63366 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 VB{nNykpJdZOYOeuS0pO@{{WaCO?LnQ literal 0 HcmV?d00001 diff --git a/ui/tests/providers/evidence/registry-paywall-mobile.png b/ui/tests/providers/evidence/registry-paywall-mobile.png new file mode 100644 index 0000000000000000000000000000000000000000..981004a3002504aa918c6d5388fd408176fdd747 GIT binary patch literal 49231 zcmcF~Raae2*DUVtPH+hB?k>UI-JJ~t5AN>n9^5rJ1oz z-MiQH_ zu*M4`1fw&NP2wohYHDf*1_lm}6qyhXK4#?tk-MWQObm>z z%7lr`>^@^WS#NLe{vc@i)UTnj!LX=bu@Fqz*i6}I)sm^dd0cPh=Hw{gA%#h#(5e(U zthZKc)hWu#l2I#HYclei64W1j%jVkbbf?GU4JKn`Htg2!^0=HW6p#G9g1KP@ggKUWXL*nSpnM@L7t zOxd=P3^{zH_3+c2{(8TR>HqiR=;E;_O8@k$oU*9xiiG1IOBf9 z?spQEnVH$}wiv09?{{QujVkrOkB|QEFD*}=F5VAkOC4^<{GL~o)YMg%jZIB%o}Sz% z4c!RXUy%s8kO-NLdMT3zO7*+H|1A^`H|zw--WBdxPG#9#VIVc*8Ai&0!j2QqHiwwaH7LCK0B^=;y z-RQhKV7&~y0yE%gI2v~@iJXFh(^I2X-)kTQzEnP)y2$JCVih<&$L-#4B`|c`zXC|< z*4OPW#i2bk$^Mz_Et+3$zDz?ldrOeDJ(n#{f4SfDx4UhB%LKZ5tw>!hy{;4%+ zFqH&pp|L-p%%XGHugv!MgI}V0903b+?I04iAwQwmksBHw&K2~*S*{ZehJmx+>h35n zr+HJt#Z6C1!J_;)_>K7;`StOVqKXEY&;1Pa{^EXuCY*?sRo2wR&Q_ydsXCR#iT?fW z=o?nNk#0(%LMGb{7EmKNXlS!7c7GBQ(6GWPEVm1$1!Rg9U0hUexQREnjXae{(_P2N=eOZ0oZ z-LXhIx`B;OX0rRH!&-#R1YKdT3i`cZd6A)&IxLhSi_JRa@wp=es2KY{?3FmD95vww zRk{?k>b2UR?(Y75yj(AqjxQ@OUwCTI!gDKhb%rb2y(#;ay%!}A@Ih2cg>;wfaOXTX zHz!frmM7>l@TItCU`?D?KAp+k-JO`%l~PyM*Y_;~o#KlO52G@3NvQbC!#ONB3?sap z)OEehLYaWq?H3|)X?}4c4mu=Q=b!26xKK!}1=k`*KMbrFI6Ngrlt56S2-s)yrScLI zP+3A@Ftn&v2R8i$;LS1z?LcXo4o8uNoDuOA?(%#kBLm+=ZU)yn+#L+(u((p-TqxWX z4@2q?U{&gdY*K=f!B+s8Ry>SPG=AKGzQVElPWaK zTPfJU%k6;AT=|+#1T1DwPHd{7XP~@@^RS{`KHhz3(f(RZWrg-*MS1QG!KWb1CHN$g zODf;l2E+9)o-o~GnT^H`YeYvzimuLL?v_~lVj*o}j<>p>FLOI>`M&)fg%gDo`GYh? zk-#z;Q|cZ!5-5cPU4&0XMb%F$3OPH{>abpLAe&6xVm%k62v-PQ%qgzOqV|S08#apo zR4QUqWLO*%SQ(_v)oK%L87e`r!0arm%MXz4QWbRQUh`;&w#@;-X)X7Lb?rh2ih5<6#og&Y`JkGSjQJn5LJY*#W+?;n48Lk7&~za>8@6t zp`hzQL|xtW=f^+c3{l6#FF9;U@0V@c_3wx2My<9>Q473h2;{=PPb@D4SZ4PpbM-wS z-22C;zxzUdF9k>mL{{@Egg1^yGx?~{V#fDVG(;%ugm`!nYL0(uiK|i+Qwo{}q5o?y zS)6tSlXbl>a(4*iEk*(F*p+^_ziBEo6pwF8W@86xe&mNvL-3XF^5E*D=>I%jC?Aw9 z%tIk!RVRoV=S4?qGPTJq&K#HtDKWvsVbl%LlvFo;J<4{97&q)ElRyl{IQa=#Qd;KL z-h1=H@-O%?q$evGbC!J#hYJl{6YB^CzR0T3Lpv4`m#J^MPi7!MiaQXh!+-~;tXHqi z5p)oP6N&X@0I1x-Y!SGJ1TvMB@Xqrrw~(My<=lnag7bc*7^4EWuUsJ53fPLEiZZ-H zS|+*}O*B}}9}X$tNx_n#Gw~u3ITf1JKTN`pCz;{NXC-D~pP!$}n6=HmUV+WB}Zu0jT-lK4E-s_)~patR(;tq_C!WzJ*OipncF`Xwz0^+mj`Mz1XlC2~B>TIz>RwxAD}?*vdqg)(TnBe8_1On6jSJHUCe zJOslalUIdy&5qA075Wv^2mY0A3Uf_h+fbpEW^~cDoYbYr1&ZDT^g{>U5x0|suO>p_ z`7WA=cqpXu*x$A5#5nxrQi2maOfmKZvghk&0VL508W&OC;_qY{7xD}WWqDHD65%CF zd?>ZzaIh1cS_EGr9_9?uKI{W6h#EnA@k?hWl~k! zWQrkW!PyaSAg~bvXLDsRi2_V@tb4x%QcE;r_g%PVr|rCT$#QsDBs{P>ynw{^wV}c< zc#y^75=LR7Jl;fATP)b^{lDWQ(Q;7Kqrf2)n7qk*DqY&xD=%1Eq|#XzHSs2OOn(H^ zha!w(v;O5|2$N~FB0-6TuXc|xOb&{ph(!^!;!o#`+eMQI;p0l}gWiRc~E!w%|Z zoG|x31y%TJ@ibU#vve#9YfZq_;26?dW;<@QlWAj|;Ba{?R;WlE$^j!dVLh~vdgRk= zBqs3h0Ros=XdL{$wl^*UbptRfG8jUrp`CX2MRMpUMHhCj#r{G43ai*+8qpd2EZ;r< zQx~57Bh$8s0I68%03|RP^%oecirHen)SmNZ2b?cWK4i;Ui7X}(cmhE;_C1gKF4#jE z4n8IotwubFpt5_0%Kp!`*2Q+`7*iH=5eH*JSk=|!pFJcZu(9;(ve1n?`NV_18H?FP z{r&F?IbLiKe5U29ffix1fdjkh#r^#!CUFEc$)u!5D6z8jI(LB`Pj7cKb4N#$nZ^6h zm0w21kd z-wq@=&&BV-bB#OWDo7ya-V^YJJ%#SKNan%~f7{4QH(Bk(SH$K66 zqn4Zq@rNB~@B1)V(`QumN8m~k`en?WE9{AEWQT4~PhlV8d=K8T__v((03e(lw*Krkh6MwU_R7hqR~Vcsck!ZQI0Fssz{*W+FEsJjhNC+ox;6SL%I z!>Bc?pVZ1OBW8rj@@XC9tyy_b8-f;v&mkoGF1$1|^4y5lm@<)1w?V;KUGCHB4ujT) z8~XOoZpqV`Rc^c;+Rr$Cy?#$OyKn#Uzp7UhJYT_%?(_#EzmVI%zdS5$7Z14~ezN08 zOG{V3TqpqeqxboU@JbRr4rt1DFuF9fU;P|Ov8$h(8)aaS2{_Eh&`hx)YKC)sUoYEM zeQX%2+;YBtE=2%SJC#vSQ_uWmhXy@%qaXZ}61|lGXdtEW4tnr`fq`v~oAbWyBGk!; zDG%AT`W<3_?oQ^4N6Yj53&`m z9<)+x*pro$bFsHKU-pf#c?}q6lG4(og5FrIMG}!10Mz~E`^@$Wj0d{pdUrQ4+3)3^ z&M%fIP^LsA5JJWZXxJ;!_W&!2_7=(F_zQdkb2M&16G~1?d)(=VbS%XsB_%Zvw|+}L zM2KW7NYFn#exT>IvylQC=p10{- z{tbSQ3hf+dgQ###dw|nCUT-VO&jZMtLOQOXj|bg6TumgAr6I(yQoq9$8WBh0!Q*lb zd-zBGKu_#CfRCi(N&X7I#FjWS_@(31ObCv}VD@K{8+n&C3-I{qi-yc@DX%xknH4BI z*FdM|tO$IJg882PaJA1&W3VS*-rw{pkW_7pu*s zsJgzse$Eq3EinJX=!wzMMFWcPciHlV14zEXx)vew78L>1D84KPnIn#n+fn_ew#!am zpf&Q<)fF-US4>O@U?=B{6H# z<8^n`G$S+^iKbyDCRiW?KriwtXv!PUm3os3L6Gf9sxgKN+2`x_=PX@8k+SZa;%;UrLlnhNaXzYrOqzA#KhhZ|t@m<9<7ag>y)C>=Q34Mx9OU5;S4rq%0u}^6=;TLZp=2RUfiG?N zXA$CfjGWYzxY&CnSZvpnBIPq5T+cZ`V5v{CM4*nV{P6_I8Ex5L!zgM4)SI#L z?61!cdG%`Pf!cvD;)K?+&E*p3$C`9O4?p^rYYn2Q$CRKRcQ4o5=(TD~T%3<=>w;$W zaN8BzLkPL-MY2V3-~>P?Xb>ja9v3TtXOEAMAIJFt%BS_Z0DTlUY~J5)vYOc+jh`F- zVt%#Jk${O6{e;V;zjGYayVJJqFTQsY=}f+u9z1Xw<%mZ-3-=U#6tpb9&a^fQz?3;D zbkc9hK8Kis#B4=>=blaoRFzS({s3?_^a>2eweJTw8lhm9WHe4;SRoEaFEC*Wf~AC!b4dj%RP*#81oQ&QmtNxi-FBRGidKIS4>g<@#LAeCZ78WG% zm_Oeh+KyJW;M|w%Os88Z=%wx+$a5Ke^qgvtO!_IP; zC=iFqA>0ugwA?B!pJLUuZq#P6W(5n8a>PTnU@Pa+9p*B=5FSKaAra#@BiKa_n)vhP z4qmzZRUuSA=79k8Eh>=HVv3qmDq<|ucD z3*2o;s+V<*GhKQY%DxR|7FELi{8F3brw-!qhP}rEeOKBf7x{BpL=(}|&M}tQ#nB;u zY`tJTzR`|C^5vgLiK=Urx5CWE&JX+c)R_9f&f-5{wdj7Un4HtG?XyBV1O5G)KEcp6 zA<5yn2%X=w%J($Y;1Ce9*sV|=t_sAhlg^1FY-PoJL5X#7>1`bR=poKiL3xQ;N`bY3 zdR6doOezo5)=aZB`Vu@*Zx$?I107E{%qK8WAz#;;Z7^|>>27epi)!@MFNkvf#77B1 zry#J_gl-h~TGR{^;qi309-hb4s@8UJAAmKZJ%Fy_+qdX-UM!K zeB#+mjF{+F1AWZz^Jsteeb7y%>z=3`Hl#WXF_6jfU@Q^e(#Rt1>5I{ou3I`aVZ#a0 z7ivahcUIqFE?qo66)Iv#@6EGU^Thjvf+qHla9edM?(X-{T3C76U@$W0VSa;~<`%gDQa7dr<}8)yGp^e;^0ra&}gm2r){g4%W)&3m<5dDD`dOlCSTF*(p-~b7Dr@RFuckA z7j?@B7Lx%eeRjU2lD=NDL{_sAv{apu776*FCIe~c;}4Ueh%`B^a*^!fVmmxo&`tYh zR3NuOE4+bF7KDH;2@O<*k>VHqa zpyT0x3}A!c$}I&?a19ozD~xA4<^o$al0m_bu>4K_@7_JtLWN*!Y3*|%TL{ZJM9aB| zwGajcNfmi^BIWSR22Iq^)ne=xiP+W1wT@)2_b9ZHT=4yqQ92HCES{{Rw==l81orbk zb($8dpkJgpSdm4Z=J7tzNc3sG$7%j@RM*TWsu6V~rtN`aVy84jTEjrs?~`HC`50HD zuB|NcT%rk{rq>89?6~2C&$ZLDSE{GXqKp2i?J(Opy!b`R%2^e(BAX~b4u8aSr2X++ zq-)&FSq)7_PWa=dboaoxzua-E((O^eOOs{OA_38imE|JcoK*?4e^MA^ac^MyyPpx2 zb;6Pm)#!`ma`z&i)!K60Qti*Qf*^BlsqbEv!$nJ`mK4mn)0qSKNDHj-JKvT&N}OU? z@M4fCvAY}i%0rD20F62p>)ME*)~(C|hC+{}e<0eQMDZ-WvlN=U`4>O{l$2(GgA90o z_%k#aLn7$?a({Xs$WmQo*yD{!qezLgKH|(8Re#Le|6^gsacy;Vv)fB;GCfJ5(6~Ry z-`^jos`5G}ZEV*L{kuc_uqm+?x`FPAhjMb_pt@IJK43H1##8z?8HNha!JBOs zjsO($aQ+7s5mEe$pC(kPm};~7SWp^*sg#PEnp&OFuW6$W=+dHmTPD3$20txcDk|th zi9JBky}P-wo-c{)>Ust6!-*amXcK}cv=;n0Xn@0Mi-=0V^NQ$Qlg`h9FmDXNHu*w+ zXJ=NeAYqNPy(G@A^DaS+oM0%Sz1R$nw&swu4b3nY;%K#iCTIyoFS zGHPLeh@Z%h5%YmWpi-b<$q_rZ5dGZo*+eQ6pdse?kw^qGYBheS&f)T&(iO-6>kTAG zWCMjJIaf=3Spx*2Q+^Cu>}fbM9^91tJVZW}5b-`*j5ske)(w%|*;GPh`xJ0N1K_e_ ztH&o?_j3D}a8w9MV8ybS&+P&HH2Nl#H~FH}`wQ}p^3W&^KnK!$_p#B@6Z2|mHGkr% zUM*I#lLIUOe3KSKL1s*wY479xwaQV&@x*qJ{AJ^kw$(rmQ|FEXMs8MvAhZfsEP$ICf$kuJ;4T(Pvz% zqjr+?Wpg{_`3d;swBY>&^s0&^^|TYBXJu&4&tLpj|lU>o~1osf7+F9VY+ z4Q47bo!`{!ta1VEe7ukhQ1ycca2a(a)ZL(f+l^w&ZlhoRV~M>|QMJye^Q9{pTn+>& z9iG>QC%$6|WIXB1HG0K}ukW6RyC)f095&w1x2Y8sC%|pW%d7C;o12gldX1_W66D;6 z{m~CWpT{7-vhjQt69|;;ZZCF0ofwLGaH@Ug@pwL+U;ct;tpGH-PsO7QA{jkM?TfV| zyHG>Gk+AMmtnHl<8EPZ!FNJuj#_C&4VbDo(bi3vig;^vny{4JdVn{^s3x%s?{)uTo zqQKa7a&iJN9d9qM${N_6>uV)-J4Uo6!VBBd7XU%a9O*)X1eIT;LgJdrCKS<9^X9H& z2)R+pQa>NXzJG^Gg^h8rrX`;!DmJ_MGdEW$5*UPn5_ez2?|2yY;|ExVONMm};?AZ> z!-@!vq*209yLe_r3{(%YYAs7?V`H7+uW_`3m@(o5PP--Fn;lVO4iDkMLW*qd%0>k>Di9JoW5B!~UZ7UqvKnc`q-EW#Db%ceiscdwGvl;R} zpNfPBUDNda9iiR1*&S5A2Cg8U;BSiyU(pz_18N`=NiD-TYc;C5V0KSHJ2TbhbQkBY z00{tFYP4c@I)uURaJiGJS!=1%tbVy&ng9d=Q%zwyI(S0X2G*7AQ3@sBAlD-F9{4}0 z6}ed63Lwmz;2og?@f>a^65{ecgCcg6A*>i{W`trjbAul?=B*qPHSGNXo21Bby;n0v z;t&)j(_Cj)eb#)+JOZ{A>dsqwf4sp2PO6abBo|csn~T)zi|X&{i|{BZ5V07}MF-5Z z6b1_O#jbz&hu4-CvUlF*e_{qGF)M+b@r(*cc7C9x27_^$)}rsDV4)hIs*Z3aNyZ0b zh7ZP9aw2t`Jaf*#jhbczyNpVc`h~EID3_@4P@g97t{n6y5M& zUF|xUtz&r8Bjd-vjK8q;JB?m4HOsW5uG|+rcmCQTz*zec7#e9oAefG2<=)~!c7tYM;AX*CDB2<#v#aUT89`R~!3C;rbju-I534IG z?=^o^xl(>uonnl%<(_}oQlZgv$L0*T?D488PLc-NU;=(acw(?h*G~ioR@dk?hlj2) zwqj2`GA;p^BfNxC>ou9FezI|8Q=6_m%R9s)t zw#t3Ao{HK*)MNm`Sct8T4`@LJkfOf8H>Gl6W{N#CE1~}?ayXCj3f_na=zxAN&vj@q z-4nE*092VDO1*13Te)beKa2&lzA;iqs(1^k4HLY?57rp>b}vn!u_wrP!3dV8BrE=L z<(tuJV(=qXlfh)mUDi{LQ7`34!l~3Q{;gF^)PQ1Nk304|t8L?HgEv1N=U5;4Zp9&* zNIWrf7fE7oNAb@(YiWy4(S4&mb6{jeNA|$$&l3TLayOc5fo`Lt^fp%i_WrTSdAiI3 z)pmtAl&AxBQ-Lx)%H&bzq;hM`W?MroD`OJ|o^7Uuqa_(FXqc`&7>daHSgpp0eRB`C zP>URCNJA7{pOPo68ue#g2QMx{ujo^K=O;#Vm=bgCva*UbFxKN)@aiX1JBRz1;;5O8 z&Xl_CF}>PuguC;Nob*AYb7VXkdr?_>)dh^f;@mqQs|$7!Y+hquTRfPPweRsW_Lf8D zA*Bu~{n<{v2J3Gfw5CR(P)6<9X(+P+sy8FsqH+y?kL{cR0N z_!q>!#absG#JpAfIdCoT4K99Ab_k}QBBP0Ktk>7u#rsyJwtA{E(WR#41m&~&@c%1% z4nDaX-jZ zz@3t|M!mHd;%*dPe_mKbdphjxTxDTk9{)Nre#)gGu}I;I_j=|MVwv0;o-0--lU6$X z28DNg@}qBPRwf-{%LB#L{%N@~AuS;#FDWd*!x@3)p*)gbe6NDd!R4i2Rf<^1&`m|gv6J8gmdm{>4N}cGx5DF5YKmwC zX7?##r%aJsW}MMT!9qW3k1uJ!WiHV|QqrK45Zy*qtLI_ThGB$&@wv-|>)!|Ofb+`r zLEPakF3G3rcicV0@J^gtug@K?75C4^;5C)>dCo0 z6msJOai%Rd`ipELVp8uz(bL|V-0oYb{0`(oz5|zN-#0cvPL0GQm|U9fXbF|Ol&=vg zFB6+q8&OZ9gS*`Ch%G-Yjt?@3N`27;$#@2+0t|hmVTV$9Y10$SnZy^1)AKA4CUSGP zgukP^99Md#CWVki)b}B`KCYrNHi{`F%w<&E{S-&U#AZ5+Nl83lnwBg4iiP^Ih5gPD zQFk{c&AecWDfi%Tc$UunX4to`#%=OQ#uCvjl6>}Tn=&lJ|Fm%#;;ACx^-mV2i@^Ii zP${<2|KY0z-7i~0wqX7rJPEZ{t3~zeXdPOmNuhena`K9P-QGq+J;yv~ii}DKs=jnhnQ0C?Vaah5X1iJabEAdSx+WU*@w6% z9_Hf;a>97!!{Qq?I>38pnCE^t_B(YMb%cdVDABo0OB6#q^*l%X;OX2@f;U46DY{wBkLP!dwg1z>w2&cHCpS%% z7Y`9+cFZp!&WYP9?f&;z?>9MK6P)ZFjRuL{HS8qyCYMCiJZV9%(wL;Av?nHVUeylu zYQ2UxnLa}%Px?K=XO;2m; zIe#E^e7LH{)g34Yf?dxEst_scw=AS^SKxB(Xg91A?U>p9{Mn!Veo|~ks57Nq>}2s) zq*-)m4d>IOck%5rUwm!O%}NQ$b=AVnyq%C^L&`|?Dl4byjRxH~m%{pJGLSsn9A;B! z$$^~8xTayLglsL3X#={w12(cfDFqF#ikhpRZPS7;*b$7K!r@kwADBy7Ae7)@mF0)% z>ZC(eHur)DfSMM$`OWGw%+ERg6KpuV0oPNNZBL^Xuk1XxTQEZP6B=$16tc+JWLQ|8 zV1vlkz6i6arS@+gdt@m|?3$4a`X~7Z=J!3_l25xgM1jIL$_zaf;Q{u|pnsj4(fwf) z5K7xoUc>~hS4?91h)?Y}W6@?nZ;bWBynVc=v07K8lpdWQcvWXID3IlhxY>LN50dQP zS*>%VQW)+Dc!J1{DE1_YIab@lNGdjEJ&KnoXu^cqO++>7-S8oyTlnqO3mrCrR{x9_ zBrt(J{3Yj+`muJLiQ@L-t^_ZTdt|p^Q0Kenexmeh5r`y_jH(gUVKqa~BTf2Asu(9JD|E{vD%$x&N~1Wx*Q?`| zLI1_nfWV||jV#`-q4wK6Ml$--#}@mqmsEqhS7#>Ctuu?e6xye&@xk^2mMIAE>#wCd zGG=)3rp7Q^bDP+wA_sAKSL6Rgu%iYX&JLYaH@8;js>NKc$4eWrl&QrFHh%v-%yR?J zjyId1t_!?vQoEUFWykdx6h6{HyT)R3{(Cp@lceNIqZQ6X8|OT=2j2EimsqxfbMk+B z$Ly?f;#e?WS_Lt-SM7N*%9AuYHrh=A!!fZXMntZzuD;rTzL`8MJHc%zvXTlB%MA{p?4xk ze{16kr3c|Cl_}Gb*3Y#^xh|=3hmkE}T^v5X<+z{<-<&K(@Q>G}58UF~Yl`onk^R%F zAC2_Ej3NW$igI`S*`2G1cQiOgcuo1rkstWNV=&WhP%DVMYh;V(4r}zQyM?r}$v$aP zo-i*$Yqf}k3Sj_l;@~mPOMmzYk?$7x-bVaHH=LT>4*tpQ@#`YKX7hGXB*AYrmK}tI zJ4jR;FoAMznCWJ9X;vAWlGW5~-p%Ma3L7ORpnnQbD`seInE zX2P20D?NCbW&G51RrivK^o27jFB028Ys+~Fc`hh((KhK{1cy_G&6|yt6OpRTGEZeQ z(9QCje{=OCRv0|MRa!_Ws?U`2(mFXtYqqEU)|1CzGh^e_6D+5uOuWCqiM(pU)Zoi> z3D3k8%xa_Vw^Hf44c`nWKEmSd12wmX>n$1`9N~_fv^9S7FV;(ZApNb%qm!m;+bgcf zo@(=K#YKK4NTC^*=x*9ChZU@_zGs>&`A^k`95|$%c znT?*zirAEVp@jup6PIM@N5JpI1`}?QWTL44y*89X!~-X(enJIH#Uq1X2A94;irWhE zDnbK^!#^fUSawvc`RyuOvh7SIim?pf96lw`zMn}w@?XxImfSYM*94`XMmXY6K3p{K zz?Y0r3+Ok@)Hx3Ow$Rf$vE5PNA7^IlBwI8G26!!q(pkx|3KrZ(o(S614bFW8I= zJ?r{#h=zqUX&{+mw|4}ZReCZNX!8{;Zw@E?03FZPH1_MVGyPZnpfKban2c`xuZ=Tq zxKe%H*=_V}vd5KlbT&3NI)mnX{yI>4ORY<3LgiC8R>{XqldyE>jhDY=WmoUs-E2ny zi)?pycO%T5hhC?J?Qb?81T!=?^v|DZM0(%P>C*c)+Zg~KDKi)KNXjk2Pd9(Mfx$tQ zAcp=`YNt%+jHQ-_oKlm@vCwjR9^J(_{@J{|yu`%Bp^#2?k>e~cC>WT|_I69w{WS6N z?iz?DS>3eF&&ls7IMhCFxMJd$z%{h*?Lp)+?H*dG8{_Ht`~o)MnzP^T?SZzFouK;t zF+pjN+!8XWFc?GCOtNZ4-%Sp>SUH`{Y~m|E88zH~aUMW84x%Vdxsm`(P>>K15ngjl z*Y@qSWtNO64UuoGfqPt!talYu1Sc;f)lwE@$ND z=XZ7Se~<`#XJHajT#afLHl{!;$rNg6T4)sa$(R+AmL5%_l7D%6G9Fx7(r~C#X-tPF zvb%8C$Pg_*_r)mAlS(DgmEsX9B@T#V<^20XnpO;p|V%UGx?YXrK%@uzl$wn z3B;lk5Tw&i|1&ASJvFE^OOD^eWFQX;I@^g=?P+fcx&$Lqp5oIgtT9sQ*taQko21)~ zEF`r;uQe-}XW*md#zKeY#`;B|>twezOdw4uQ43Xpcj*0QzaxcWT#ikzzQmDJI(IxB z!wHR^=zFtmLbfs*)yXJ*Cj4T4%27u{#Y$muI?HW+{F!z~VM|%;o)6MC++C$`nuuCW z*(h-;V{8Tm>zK9VDCCG0)H+*%{gTl|f|R!7)8-QdWeY^k0? z;>3rcwZOS)VtoaQf!yZYbv<$}O^+?u>4%vU+p6_e3!#VCGA#~Po(>yZad#{q2Q1%p zm?dTA4AWOecqltoihSTjWA#?=B+(YlR$ifcV^6xBxD5!DcdLiFIu81TIa*t{FF@!NpcaB^wYLycef-{Mh z`j$f^#Yya3Q9n1!}2!d1V zjPAnpzRN#DLD+Il< zS^M^8gv;gX}4I=V%d@TF# z`gUoaibNPEv`xcZVDDnsG=vShT*0B-Ga=n`d~H&p*(Ju&att(Qt8faP?o8jN%Vvh6 zFZm-<%BfojokFJFat2EAAu@hsHnINGkzr5>b}Eof&OXgN!OdDcGSI#pDRHWpW~92! zsd0`}ZNsQ$Zp0hmc8aDo`r0qg$-%-Q9lE@2$|7@|6uqH<(AM4kP5zJEy*>Hb^gsrT zQ=bFJ{(@#knV*U{r0kMokO^+38@+0~``CI2mV@}xUZQb=V;-Gjo~pvQNcv9cEjb$| zyT=fd)G=HCH#64ofyh$|Ul+VoeMihzycpaxFAio|m`)H)q8B&t6mDYG4RbMz>H&Kj6{eIw zbF!oaRNh1VKeHnQWHaN;DN{OMoV=EaA+p1cslO@=`I{xphbKxVqD0HAr6^4L*Nw-l zMsVHgE?TaoMdnyO; zX!8~87PW8$aOaB*`NLy7%0fCC>#pwUW#AKAXr9E`#$1%v-%%6D3oaZD$+Tpf`Nw%y zM4q=1QoFKeyG)FYC8*o0tnAGd+nJd&=Q=sH*rqSnTT#=_XeR27$H*7Zs0rGyr#0i< zPj=%on8?OQ!yWzy5l zvv(d87V)WcGD}p`jW=mceGs^RgXF7t&s`vfQidoqPm@};$q325BgVXiHnA+%6Vkaa zEXR_sQr%vtwR^QV2o7*T2*!2H+0fmGobmASL)A_Er5>p;fT)~M(B_UZj~;6RI?BX4 zxi=R%W~87|CZ*R2Tg1>dRU^p^#~MBxCj@()r*iZifcXSs2}hwuMgDZ*B}? z3wFbfFk*%RF+o=@-L?^TOz-$K9n~{$cSj$~jUR^NH$*XClR4$rloec;ViS8heUaI& zVXU`_Y_(81J=zuTaV8TUb|Zc>&esnzRyeCEEq2ej2}pIGh3ObWN+!Fvt^7oyPr4HD zDh$K($fUg%K^8ySWw8Bi0Rv5#Nx(YyBRVc`J){P5stV0cJ~qm>f(03~yTKNh%$@u+ zBv{|drTJsNZItpM;(|LyDJo+HF*16hnGpl>XAiu8YvCGNYN`U?Ad}d;x5s%@t&<-Q zBRGu26bU<12Y8#MgWeY{v(eHpa?QJuECcZ=e)M84aka&?MxF=43aXWD&tE zM2*_+GR5`9shGrpV=I%$Pf5+AM{ht@9AXL8)867$ zT-sx`9QbCRR0h9AJ5ik&()>I7Wbiz>GtK>rY-^PMS9zwIfzrg1(hvuIp(En3XkuT& zge3U5=1EYce0Dcnll}d!tD*8T+?v_~wsBFNV#zhNf<`;kK#K1A(K)?D8H1?jm&Buo zb;V6q^Z9!ogy4UXOmUO-RuIh>?8ZG>vXoRptY)fTlGdEn4$T{hrpm1_(HS!Sdb8@> zQ6p!Up14q|chwIn4o#EU;-5`WEmW;QGMbEhQ*D<$WBZn+NpH_8!%o8e&Hd#;3PerM zp6zDRzV?9cAzo6;g-Vm#W%$$jZ;@n_m$%ok%glZv4XP;*FQ2T*2tHD^G?|CdcZv4o zCN&TUq_1zU{nYit3Oq3p9sji?g)i~<0g8@?9j}}g*tJ%uD>iU}rrO|JdUI1>u0&E^ zLOnV>GBh$mNliIst}u%vg)=|DU;@3lDY&_@VeawBX}c^dr|5t2xpP!Qcs(GN%DPzk z^SW)e_iU-^7UY;UCZEc%P-swIz+ERMwk7m80FRVZ8pvV=KD`_<>(z=S7Eu+OnV}G` z)-5LfRy{u5fJ)@&V*LHLY*c&Qr6LkVIU@V!oOLi@`o2R!+h@(m*8XwD*jy0+? zMQ)f9aiUN4{S=Y1RIhUX+NnrophdUY}1#TRFMq+@cbc+;#MKxQK4K(yCZOj?Hcxz$Npkkw{nq4@rva@5@qjN=b;T#RPpoL|SKVpFiU-B4T3tv^voFkp{4k#(3aOoE3j) z_rnz{-B!?D$YBpBG<=`;@PXZ~j!&e|jHfVJ%}f>8rSr8}l-mj9yBiH7q~<>fQzF4o zbo~u@1M_~n(c30G^biXi!1}5U7?NLssGd1D>eV)#Mq~5iyRBH-YGlmm>FMFYNlI3h z7;u&i#!1zRo1M0SKpOFIJe?-&Mu@G*dbda?2!yf-=$_Uq?(qU7tgLhYh5mj34uh43 z{my`UblfE2fRD^3E3GQ^NIWrp`kdTlVLfsDd zQ*1R;yV<#0o^SM#@Be(bwp88aam7KKyRw4kdFX0SV2$s!aBOJdU5rDoD<*}-Yy^b{ z6Kn#ZqN38~v`O&#d^|lp4djD5-0zNrC(_Ud=~RmD_h~+U|CT-D=Wr}K{L_EsnSc`;XPrLKN3|LcQXYIk>+Dt$dV#=iWISsTVOaL@SJ*AJu~ z(ThcL_ipgntb1k?tT zug6J$`B-SFnLg6-*`EWi2Pn{4Z2m?E9%BOaoCa$=XArUJ^h zfVwRxCf)9g3|Pz=xQorUe519BjFnNPy!(r#XgqnqI}(LO7t~P%_##dtxIioQM#nQw zn`Ou*cqkGm@EgAZ0v>;6vim=Gh>ylurgz5t^6z?%?a0lQ?7}XNjE()Kr1bCR=H~H{ zgx58tE&bmtS#V@aP?40B)cBz*R=aZHfZcMfy!^NI9v@uRocj8D)?#UFMqTxPyGDvR z>SYS}Mn=E(N8`}L$i91d^;dQWd~RL;VpONa0b-&_bqBgp$P!n;szFys; zifZ;{#0%4DR4oR4IslP10sHIFJKVJQ9u7`U4R%W)(CPEfT{Au3npchwEX~(QbWdY&J(=-dwTmmBV)JW$t<#S+;@C<6@0o{1)`? zxMrPW57*_|$KTg$TxP?N&Q6cZFgO<%7k&?WVV5@^rmd7pwVs~4TK$GM!069|mdjmK zco!EJC)Gfslu1BJ`Z+NpY?G(*2@a`pQLR;LulqGz_esyZJp?5pG|*yVY-*5!%nZS`{Zc&TR{Qd?U)lrttd z+AN{O;(oUH290okwLrL!^LDXZ^BR-MK9R;GnT-gmyYgGDoQ%ZY^K8*;uS7Q5|MPv_ zschd0NJgQM3XbriSQ`c~=-yA=*FA?*tUi3chf4{3{xNdLf@#d*vKarHT%MpimDOUs z3WGubg=~Di$uD=c)pcEMdoOV~Rpe>CQL!75SiJMz+1{yuC)^8!IWc?Rl4$c~{h$BM z|MGsgV!yhZF*7w?1WgMU16~ckfA6U8FZaCPZ~Demij{RsViaM!y8x#9 z1MN*bkJ`{bf2(+_=OP5MG5Z5BS^_=YiuO2!k~G_E9C);R?7d z3YYXcK{h!PfOUogQK!cn`CtOxXYJ1dEGqsjkbEq2`)-)kJ1>}*%7*z>@Fcxna!OF5 z*YR@AL9cCqtEj{GWmUTcPCA}g`n$EvnEHwGA)i012}Bkf*CVMwh$bGKN< z8y%ikQED+Av(d+llJG}C7bT-^YYCxJzEB~d%-PF>9oqV?csMGF5KtvDI|C!1W(FW)COyf{KcC*v7ybB0pME`ny zyrM#iOpM%MZsSUXRDoHDD~tG96ygX~=|MTV9wr zuy8W2251Z1CvZSra;a5MuT%G@EQ=DW&`c1WRoTX&5c8pFR0m<%jMeDLC9C#G#kO9ict9G`9v=^;v^Z=cn909j zF5?k{ukCH{Ho0SgY1+MTZvzfmJVA(&`5LxRWG2IQ5$@S09v)g@i{M=xkc!62=eBgIjQY;K1=t3M59(nVP%-Jds!p9|$ru%hH87S%{j zd&76fd^l$V{|#~VgNWs3+5IM~=@XgcNAC>qqVQtsV0OEtnQ?6T*)FnBou*@`US$90 z7i58eB4U5Cf7jdT85wY>MNYr`2c=^~;Fy*H4(75!!a7!lE%KTA)lFF{wg541lxTW2k&N#7NGkosi2&9OD3r8WPQ|rV^Pb3(P zBMI%0myzM|J{Svxe0|0Y1TG8MT|V=hMv*Te8R<9D0J4j(8r9P|oQO1V+$7M0 zGrVp`MW<#8fhqq-*IP%m^+n-=EiJAEiaP~b+=@$aTCBLcLvhy>cPs8%C{WxrxVyW% zOOX&r=KkKiH*elrGyefAYU`M_k8GXDxjcf*9m56Z^&_n*x;Q8c)=h z*s{k%pJR6H#(ID}DfyZC?`B>A<2AY~p_%+8b#HJFPDfm%{e0_Z;d_9-nJwu4bGf_O zd-q^`rS@?<>{2F<1OjQU0hoRSS?3I8{k)}Ilj{&l4(AUrmGTCMO_Ar{6gQ!Frwf(Z z<1a#fC-pii|3c9wjsU4iCZ`uCtiP|%WFUu>Is7$GR)*DBSfR^w!a)t~$fetRCXFB0 zzeG9gTHsw`pW`9|PqMijD4sSg6f*WkPZbVNbnCyj63y8Ye$@Id<8?5e9tFNTS*-fw zOv(PBNMs=yr^a&9#P)RV@$YGByF$=|Qq&6#{#8{Mtzp&IlNKHfJyuIvrv3NzMMr-M_?$T)#qHYIc zi9cUyDSEb3cT@M_hyZoRpHP06!|~Y!`r;9zs~U8QyXjqqjL#0S5l-WCfcXKh#n|Ae z=3mLIb)WkghP|V)o^-B}O0->)EIwgd1^bQm091E;B+HmirSn+S-kxxSOLa7M)%7wd z^fjHIn1f62?+I!}ogW=D#{&M)ltc56t7hUY6fyz6CSpN<1$q64vBU=Z`J4H2&83j( zPZmFG&=bEbAs*r-B!4Q$DhfsM@Hl$8rvt(I*Wd5n-|#+uSonOgL4>F0aUbDDIg(~E$zpH|SR>!amdffv`>Y#=$HW5XJ_YA%@vI~ZahHya01 z9k(aaFj{X@@;J_tW|uZ{zsom|I%r-Dzqosb+;;ffVW29zf3!ZPybfZakqzUku7JR}?)*W?hYx&FNJ`(TZ$3fq zDXlgN5Mx=?sK6^pZ+l$_{6)+m;87ad&D)+}nPc^GwP_yg61al8>QB4n78hiWbl_aI zT6Noeo}_U6t|^XtVX44zG8!*w^d);joytVzWR79*kf~@I1 z2qWB6TB@6GmG6 zoWkG;>dP8{gieMkZ6>hjU^$T0J@gLPKKMdA6PqLrbZ zeQ(A<78L=!(8(&5<#v@gIxB*DU`cTc#bS&&nk+IU!h>hip8Z#qA`87(I+}@}tS%|P z`TiwYST)g9kMcd??N?r1R8-Jfcb>$z6juET?--_3)-EB9Dvdg+Q63O;R+HDRKth;k zJILYkf_xGo2jybD+3m7obrGC-|NfnVxA)Tle1Tlp`HM&WovlW35z*DP7sGoK6JQi4 z5Tz@m$90gSF9YMHj3X5@l7*cIM6oC^4osUo5p`1_kxz=&#nq*f=aTAHVoCL3&>| z2owbba(r@b5!N?DaN5~1jl%z=(fXssE|X`iJ)wWd)ZxdEXhRqRz=dvcgq=;;WgfLT zHJr?yPM5POzI1J@6HeytYf9w^QM@2w{r;@PJ(WT=C?gEzv6;ajFyDQeXEPKki7|ed zV3EBAIzZAzxZEOJkC)r=1{eP)>sgR3rRdyKtjmPN?taRTOb2Ywr?;923MHDGuztCu z$cTte7bw!dYU{zyzP_TZrT{|_RCTv_+?Z6*{n-8bIUR2>E*g4Mj(~_(`Qm|yMal6r z>rkS&qY?xa_SmKbG!)Lxt|v1cgK67u-b+rG+CK1{3%>32+THm(Z$L*!&&U7CuD_^s zGw)958l+ZY|B}-I^_%;x;H|Urq#$_f>HP&FI+n(gDtNZsA+rr_;{^pw=!@EH)*1swH5oC2Xavk} z6Bcc!s$Ej!THSvP%lS_2%3%MQXuCVw-P=RS?tSC1+)AFL*Wj(7sj1mI6m3B+;_Ye3 zPLEt^RMq(=1>TWn&{thOH8)pJHwt^XUM-cu2CDFsS6czR5@jB2e!dm@YuMFjR{dPPJ-JSok+_?o0#xII zD(sa`y*)D9D;lM*U+w3Mg$0brJfG%jUQ2{do8`{{Z|~0|4RKk`>CFZ4L*h0MjC~d+ zH*ZPx2GWPj5=%f1GH1XEr&Ftz{#(vp0;M+S9n4|fCc5TzwuNFiNKJO4S9&{1>rU5^?d6F(`O0qN?I` zw6vD6H|6==_o(hKM7@h8Qdy_?W1_p0at&X*MjaUfTXCI%m5Df)nEhhEizW8ix*K!> zlMgXWF)OSAMGe&xwniL=eJ0_-bJ^72=?}?lvdK=1zuG^fq)oUG_AZfocx?eedddk-pfq|Hj1+&Qt6h!L@|6NwDF zWuD%jL{t9p@L4U!RDRDjQ540%*|9_i@>8UD-jhc<7ZyPBhJkxQ`<9?fE-YOf9Gjl6<92ef-mp7&T{uOmvvHBFZGZI$6|LN? z=6DW#BcGamJuR?j8#MwIJeF?QB-UFP_P{_-Z@$|%`oqayP9ir!}(pga7 z2NY>7K;mQqJdwr=FR=AhhFJ3Bx!>inVOZZyM>Q(iJg?89b2}9j6n^I}cl~zQm_Y)c z=9Icb5xErfcR3q*`d*xU9gEGYDX7ckgQ=3hj<(-4w>1+Z^`gX)7ss{Ek|hqn*%&!* zz!g61p<{;Cc|0to0n}s`wjwZBA)Vewr9u2pIv8QQ1Wuk>L`crnk*1+{U_Yq$F{e2I zp}c+V%cm01=t*{Od^_>Rl6BqL#RKYgkMY)F^_g-2Axu$kY7AX<>PmDvlS;L_2ZjD4 z5?@vn!G!I4$S0J~F()TTlb^;LsDKS62h^(T~+2f~C_=}9&?|MVR`5eY% zrt*P9je8-wmBe>63}w`;uy=S{hfx{`y&}N!jYmHCV+_HjT&p55bR*SRU$KfLOAOzH z@!>rL5Wq!pk0jZ}60Gp}l_4iIyXXt~u}S?wqh;C{b~Gi|Zih^1RETwmM2=4{+82A~)o_%kV9y*Xzm$i9@A59q;o{>dgU|8Hl{X#q=C zp`Zj)Wyd6LyXY#-jr!` zc4y9=v1%Tl%E$O<8rxSv-PO4GS?tTV=NQtJGEEc9Q~$Mo-%D*8PBe@r%}3^0&m=)= zANBKtmzGYlFhU{m$1^Q0F)d>oV)hP?5B1HzCue78Ra9rwwuqzU>pR19Fz?A0mJC>% znwog8dw;sS-(z99A6tL-DRc8TjR&q)f2>!`+r>vE3v9gUlDYkoHbhe@t$~9Vy;c4(%dFzBZ!dKZ4NKD0$zvRK*){B%(m2yQg@{m9Py5e2QQ%`ciDG zL~yKYFK>%lqEifa%_<{gtF??=OyjXCO4rA>yO<*z!6)X_AZAn7|HN7J%X$t4Gqu!x zhi&rjIoDkT?W5PYfbXug#!#t!Fwvs%xL-w zHj5xYm>8tnc7pZ$2Cp+Q9a4bBK&?oWKJr3E%E;jTGy0IdJXQrK=Qb;$m~$B8-LGhH zuy4FaF<)KMcF-Tr(Y&dTL4lVaEL%q;JD!Qnhmx2y{V&>wknW6@m9M7&!m=ESSzKP)te%iS$&y3#+H zU8pg=u?*vy-5bfh)=bgHMLf*B8etn%fsHA~2nH~B%3GM@5F4JHtm6zb2L)c8N_Km_ zwK3lsF|-)^=mVJL#v`OR3v0Ntjm*xvoXlDCI;?j(ZtwKVrBXsgi9g$LC*U8F(3vR` ztKw!Ms>Wku@)jmD;y)+wZ%44Z$Y&at&Lpa!Yz8_3tg90&-_VB)YtlL$qnqwB7jnrI z&LK|yr|27J^0&Nihw6KM4~1+YU%hS6l>NRX7=~i+A1;2iAeK!@;MatWahm05hT0vD zOlA{S0UyTUaxbe%hoz?)e*}^=W*6h%eP-ZJ01%V!FIE>@6*A31@bwDY#n&&;D*ZN# zlX~kYn3jA|Z;OBW*f_T0UuKtP61RUEb2YkZ1!Z8#ZdCf-C-aeS^Nw#oo9=~ANB{bY zuGSAJu`-i$vcAb`82*g+Xqylsg2{QCpl!DtO`92p`!kCNV%^5oF6^kHlaa0hVMXus=!oNS4wmBC_z zALgo-O#0rQH*r~pzYsOs>z$;Iuc^f|bB%qtKe)B*13g@5k z7)$TBbKpmImz?8zOMVSE{OL4m2BE>#N~_I_``B1LyRD_*sp>5}OGbtC`1!c4$(h7| z_4RqCgB^_O__C_a&%|}t?Kg>kJ0r%L>?L}t-x6!cSGrXp0?K!}(wX0)Pk-8UJguyb z0Fnayq1L?gQz^g_0A?a!&uavZfVpa-*6yZA*AK)Emt{h^$o?IhKFb{%=~JLM`VI`1 zrx&U-|GQnC)Y_2SJG*y{7oKCuGR~Jm{%>?!)LF90o<->v014f6ASEbiSVs8X$4&?M^-&X3H$*D6Y= z0kvovNHe~P>0SixAELVLn{ar!b_&J3+v~2&O)Zg>1gEtfEVD5^-X=@epkx|<7b;WeLtMm2Hz z5J}CQBUdfhf%r_7XWGKUxZs}cM%p&wJs}2#1(ZT!o7YAMmy?S>q#MPMV?(oqQgJCk zo$x=YfH*BUcq6yr=alx0eAx3#h2Z3ZUAwTUy^7XScDlxQi<;@v`{r13CR9yS?$Nzv*CNM6=HQsDVi)>|e5zMz-i+ zw}HSf{Pa##{_?c2+uJ+2aHXk6kFB4t*IV67weo#S6v;V$!uJy4?`DUb<221hO{+w{ zVn*Ftsjk=ADg5ZuzkaZ(Y9A!^yYL?i30u0dF)Y~{%q}O(J~e0~gZ=KOFM2Cu_Ejla zCqJ%jk?*NZ<{a%YjBnVX_qZ|=E??Dp&v1Fr(1T^LWmYIFhpp2zS!bYr*yF!}SvIid zpLIo_CNNnOm)rX*74ozj$pvQSaGz>3B~&ReIaY4a7_Vq?X64y1Z0iMcAf5b$b-+UD z3>wOiC`AyVn+M|lsfXN#)C%Qh9PtA8l>vkm@=_KIZ23s%r% zb7;KSZ2xTA&hPtSHfMB?wNigFtCG`Lyi>sKN^k^@s!+QF7qP2-oV@9k>1=a<|04Iz zmkc41c5^X{vjaL^r+tWWq>qG{pgk7Oo@DiSzN`!vbJ$E_QI&S6A5CRl@APZKJUB^t zQIMzFrC@WwCuuoE>&eB0#z==R`Ly(9C3t11M~JwQatP@zx(=Pbt9SI->ap_@oLBOy za)rHr{`V2BKU1`^!=QP%M71#KVfwj4(cdc>gnr-ydXheX*46$iGAqccQBw50AK0K( zn&#+`)fp&qx2ac|j}*w|ns%p=rU)`8_wQsu1Mr>UYcKaOFJIGL?s(+Aj7Z=spBZ1&RVIk!C?=U7Pm zseS6Xq9C8sv(^g|W|ridsvqRWT*T1Ogc)r^*x-T!$Lx(Ec^NDCu&7292|fw9>bS`D#g>AxqhsxJX@kj=veFBJP}p?oy^6pDh6vXtD$c3X5P`^>rYNj>9b+M9+%nF!UEj3@BN{G!#t&k=M`XFeH?oL z5FLPdAV6}$F->EZ~=NS{5WN4qGJFdFQ^#^v-4eV^T z^AHLJ=^nu?vnD1s^)^^vyML!UnPPy@VlGm);7=B#HP+Kk>B>ovqJBD|XV=)EILmb6 zT&KwzV~72I!x9F1Lwo*{>7)=Z##E;($CAzpRf8&)g7>h4|D2c1KP$e{bz@}3mO`i3+uHWxy1%1wHi-B>lk*Opk&_?Q1Ycc#80By>W*BP0Uv7GJ_r@D*B@%`|y|98-_Q(ujT<6a1p;0xgLb!XUEFgeOldX0+3T3M#^comHW zE2gtjxRoF;C<%{rb{s9#gVWlQ&wwWz|AJw&YCY@$HM=E$wO*9W_I&*F#EqiVD%F%9 zJ2Up7t3QAKTxqaT05~nrk8JH79Su?de=^rKT#s!S8{z9f8jq=OrF&dz+XK^VyGKmn z-u?YrhiyZc3fHARAQF89AH0~&pL4_TFextpPt|qQ2Mp~6-mxSYnEAA@ia2D%QzF(K zQ_)|9LYZh;g7rI+J9(A-Mjk$@y;^VW!Q}y4R;$(XIEw?+H*qRYp zW*cesyTbHY`ywrcVX5n3j&~ksG?eQM7+h3%ofQ@eo7Um6u}>Fm4%bz_A!rcao6>Vk zbZnpJqjwxJdtnYkVZ38QVc<1dn&(u3;jl1c)CbQ`i+x;Uq{B}_?SXavA9lT*FH+ve zz{JWVQ||bA3=V(o4|Byd&2q*)UE$c5PQQ_hp^$VTWCRCZ#&9x|KPh=Di z_!)s71noC?F*h#y5l=PR6LNXa+ArwyXJ10?7~1)r+K($K!8HXfHNCV4%hy zuk_ZPxo3o>^;&C+Fr~1%|0XQ_s-(22`sgY(RP=fHb+_bz?Gy3L4l464W*zgSv!#v^ z%~fnuw8M)?QA&bs=$2^v`dv4Y%4x~g8RPb*<-`?At&Y)#p+9kL^EmMvykGrsTNnBO z!qjqGVE=W2)9l*Hto`t|?vdWrhNUidOvfK+*c{En{jQ&P`jqg?7Oja6zI;b;H=+3| z-U^`%z^$uy@s{s7y>Qup`)PUA35*^I^xoif%2m}Gank$?B__?6 zDshF@<1)&>n)4g$J>>+#^&6f_{+T+rZ$B^q;dg?68~#mL_TuKsdr;*3l zM!9_qlYlzo!S|0Ef%LFFp}Z0*Q-o2RpM{jrzJAV2V*P7i~(_1<(=xCF_rOqpWJ{)1>kn45Yp7}AarTG8uQ|Fhd@3EvmbA?C82g9rmS zDd1Vlo=CKo`Ra9JIb1~i1k;ULifP*x>^}&fPN?ht!^H~id?$VYXd2!-jmqYS`Lq*a zj8n-hz!>CQeh)($OJ+iC%xFpI2SqFZwQ;*mU;r;Ie5b{sxG6-YDja0IACB`0AVB;d zaWFE#TZZmpgkt8gnnhJ^P8hL|1&X|}vmEKhK&t#XUi^{4flyIw6%F<MzKIv%zC4~4{}TI4442Io6-XK6M$B&K|S=wK} zetjO9W`0B2kOZ)-pN}nbLC|q-?+Z~Fx9P+gF~IT%G}yhNabU%4^il5&52PNsW`3id5GJ3+ z?bSCltV4Y)0OKfp};ya;f<=NXA% zW5=~NloPTkn?PfQ0R}t3h5+V7dai0}i34}<4!iOTfswP{Qy*9lg2r2ENGV|UWwr4f zu63hnWJJY{ow^OZEG|c5?;jsO2gu>OB2Yu%{IA3ai=zMr;izaB%$l9g07+DY5_;S_ z_}Wk*qZ+hnAldA6x&d4kuHSIe^Sd1IJ&X)T3G)!}S%?k}_Vf=lRLChi$Ip2bWmRvD z7EiFZw1gi`2LT3=o2_mxMsSg5?v7nnNb|+VXnA^cR8%o(x^GEevVSbMTW`X8e}7Ar zrgYjJXdo7admar%^!4@Sb@9Gu)DY(wh=ZO@bjZLfb!r^DtGGixm%{;JL(rD(;@`+f zVaFpaUtb}CydAo4JwZeQ&G1`7wpa?mWFVc01Xra~JjC#D+@QsTUo`a%^kLla3K~PY z=;!MjNys+cX~(p}a6mB-n_Fu#?p%pzk%#lB++so(^>lu0F1!P`|8wO$_7PDMOO7Iw z#$YecX5QvG-sc&*j2iMz$0p3o*gbN`q_@jq^!6bTg(g?P^O zhG9RVN=r%E2!<5OU=^wo5m7sUW4d$c8H~UOic#FzNI?A!FJFB-!CbNiZvytq%71sy--lPy+8&p zr!{-Dn|+T>4q4Z&o{j`l;B`rIb~Bo))8$ay{U5cs&GW34|!^J^Xnq41P126GCMPR#rnJ-6Fe@(_4U`e zdyO}zGI;G)WYsp+I$WUcEjRl|l}xE@yKF0%N!s;V1F{sXbTA+c3IPO=lUJI*;{7;V z>$n7XH(<6Wyj4Iv5~2oBvSoLBi?7EsNRAKymsi;iE6=hQ=sj+<`_tU;)Kt75a%@*w zVgF{Um&D$uwf0i7xwl}yC@>&w(^!zO3h(IX7~(vV)y8ynWUpX{N*;?n&c2HwVV`z= zgVmmz%Daw*;yJ=5U3+5M3^>B}ZvvK_FL#F~7_9A3h@ap5p;CW|6^Muf=BYgFOHr|r#qVZj5v5tG z`6cI%jwh?DJ&sTS!fasF)+L-MV>nk-^yT>I2xS+^L#tAm-cVCZ-u}DF&KcR<-@=a+ zUjMWP17nfT2fOgQ^F>N51aIVVgm!O;^Fz+dcjopWK!8$y-XE-8vEs)5H58>;%al{U z2%N%vya}RmR;wFpc9_XC-bF-D<~nb3uv~NLM(l5SZnWaS6`P;VMDT6=vC-_if1>L_ zLG>Bme?QVZnEJ~Az7X$brEP6?nqB8Q{?tnIP-|CaYc@Xg83Dw5Yh! ztstp3#$5RdPPaD{clr8Y`FFl_{5lQX?t9Cv`(Edl1-C*1UUG~&9+CK*B-UGoCg6$t zpBHs*M;n)XD>d<&v|M738}XV3If9WJZ<^ZK=sQ6R@jV54FS}#h%X*tfa6+MxfF%)9 zTTn9I|97xuzJMjV2q#fvBnCVYJ(P-DHf@;6&&zQ@$hjmU z|33!e|F0iKe0ztGmIzas z$jH5si6(P{l>NbWBSI5R)r(R;(%U}%LUsqTDRIl>>5qD^r1-4>4xln`3)5l5w6}gg zhLG4hyj$2<-7aSCdVbq-Pklw?c=N31%yRGU?3F_5q;oO+o<(JBe0g8{r)WY(pF{a- z2;DN`z;O(}&A&myiCjwPG6N8L*#)-MtXlY^jHmH(vmZ4)JPatXbNHM%Kdcm5vMDK5 z0kcHC7GKou`Lg*mK5OSX3l@YRgx=m{Ir46e5+;1v3cJ;NSRAF44AY|G{l9b<4)0oApahs? z0zdjJO$Qe%RS)kgbY02m#&O2EdbB~Gy+}+5KIy!jry&Y70eCHCa;f$}35|h?>F((G zd|g6px7q-D>dR%NPZkAr*X#~F951qc;)q~HFV$8CbdRU&C2X1}$V<|{Peev+OE1^wcIK@7h9rAFQ2A?So&l<$1o|agCWQg9Brm8hkUQSZ_iW0w5@Cv@ybcoOQnxy77hn-TsOjPs zb#I&drDEaTIj>RI&j9W=(NxxQ^|si|Rb&ssO14@+>f;uGfJjx6tA0wrrqygUGFP?l z3{}i-B@_1l#x4nfcjWvV68i`ht(QnAHSDpK%^PVT5A@eBA3bn^s&)KQu}wqqg4judVDL5r|cGE@M?~OU8Q#= zQc)U`kp8q%KnrTOQ9y@(x^t4jTZN5~phhu&a{c`#%j*`MkTKe3t@+dF$|Pqx2BFnX z(I>#i9%vB-{CA=oS2UP@>97WBDtL@9ArZ{A6zbdTGTY{mQac}=cNdoYqij6~GO17v zeGR~35_-zmN|On+p{0I=$52X8tN)8mn0tjTk3(Rm@5y41p~=ik4RwgP6J(}eFBx&)pg9`e?iI8{OXgeKu`Fq)NF#x8BFY$?S6Nasp*P8z6wQ zQ>Mz`&pglu{@BcUcfK721+gku?nf6X<_dgOGr5?{*MG3j=KX7^+bJ&PZv!;V0p=I0 zB@C?Jn^?(d3kxFOGqGyT+eoR5O0BBTDs%PGSLaP6&YoY&3{=^OgNQAMx0!ZuXF#?K ze`(6th{YJB}7-Z7`Vmphctd%x(uSrjMk%gK9-^88!OjoOAn_C|Ss zETJ_2tG<$jEKL`>UINuY%Oo}`z=C?;fWuc0@Q=GSzKPu7gEzrVO=(c6RqKEOTS5njd`Tsz9)AQ%gp9I>$xk^BTSly3f$nBwY9PDigu)*>zwOgAuT?n(cKLgFE zg#w9nC`!(B+B7X1A?sSXhv;LkZqsF%VN-Jh;`OMr+w%KGXEoF-eqJtyK zlAd^Z$#_J0?d30W20N_iH#SBlJU6P)Iqo=r9OY$vwl$6nH+x~70Xnn{ZaXAVE-ES` zK=&C#@ls<{Ya+rEd;z+O&nL>TSGl9drdS(1!b+6?I2@i}np4_&Nr;cH)gi6mnZ_Qs zU+X`n76Tjxg$WggU>@!dZzuRM*Xka&l1gWJVNL!pq5VOXwRQc^65NwRlT}?1bWL^` z+;m#p_4Oajahw9|j!piZtujpqRzSPo_Y(z)ER;mNALnJMrtlesnwt7?wa8kvAg(tI zEAN0KvUv8#l^~VH_zD3tt|(!5c?#)JsG{6G&j#!(HwW6Ie;Q5!T%$_cutYH%FmV7q zoVz~W0!adp?Lot-*(&`yG+Y6n3*5^6H09oHQ%XM9GXTd*a}I&Bq%prN;k2T9PM@#1 z;Xf};8Oo&?6&yV^l+UgB3VHXnc^E^n$i%*~!^n7C*%1yWaw1>|s$#lL=aI3oGfp%h zHvPbK75tm6ZPT@)i;H!^?@02(%rKYZ{2*i?&$pPkz)SiH$Pw+hJ$>G!5W%uq?CfoC zsRM2bdc1Yz?D2i%{-|QM!1ZcD|4_MU$poAkDyKW#a^mLfJe55PY#Cd2cFTXCWlxW1 z8Pr!ZAKy97Z%O{uYB{*QHpIlW5?!B2t)T^jlGuqKMcy%-3si%k}2atpL9&eW)W>O6=xbr)2?TpWdzu zCMhjFrBvl)G)GQGHs)ZQL7idwRunJf5Y!>bCCTOucIoR@uX@+==k+BjMW?J(zNZbL zY+WN_RNti3RoOlt0AIA4jEf>{>eHO$8kFgk7L1E*PQarRwn{>{r>|@B)9ViI&*q^E z6`8&Xcr12OzJ-KiinoFa|6M3Jv@)g2BHZAg|6zDgxdE-SvP4DZY>Y*W^#QBa2Y*(6 z{cY*44byl1;PMpHctC8c-(#dD%ITKKs<}CivvWMV#%bJJ{WVSae?zhVBR2iM6@>I- z|4k@nFG&-w{r;N*Z}fS-ap)67*q7`(5PWWePsnBn-2>&~BK2ahXESYUh`b_X)wkWu zr{y3cu1Op=b9a9t9K-1w9$p?E4guU_3_tUyR0KZter^IyO!1b{$I08Q8pC`H8QK03v6YKz+KWTDLw))RVXdqk@pIH&>~ z60l>--G#r9hyGj3jKfhQA~6jg`*rMFn@XFjmpDPH6-<%f5^WF6|(8Ys>f67VlMce#Y|MeuyUBi28z|O= zyo8M7R~xJ$C-bAl;~6Z5H6+6}6mmRFvyz+j9`JlXoQFxtqjl?x8bpnY8I+yqs+fvH z#N*pnk;&`-bnRn>szUhyA!PShvUPAUEO*bQk%}y1kKq3RcbP{Ux z*@D$hiNzU%D&7yrnK?Nk+fkE+P8>^?iVu( zdx39FfCJ}z&UzMTgfQb?7Aly_u}lF0PmVpUjD2KI>@9y!&&KcKVt*m;w}gS(Z^liJ zZTxxd^{T$-(ZZ>^p@Dj$d{dxP^h_zN7Z#T3{*6`I|k)M-xB9Ncx49|SntI317NWw+gj zcK9?|KCmXB;~s4-)zAw2+-)?P5-MB6fE_-KeNiuOXP1LEC@ARROxW?PFTF1~xKuS* zlqBHO1Ax+Ah#FmG`^5Rf%nuT1k)3D+Vmmx8FW5xkOO^Uzjpr-J`oNWOBE}4?KmM!Q zw5R(o`h)ssI!pBMJV7l%9aR7i`xy`qN{GGM1h3BS&@aKVLo{t|ZKa_nCpnVl0-~=n zIwRloYSiqz(Z5Z_$!i*)$NBHSj#_i4wnO9=+5IUv|9~6Qb~Kr%#`MQ(imP_IjBxHL zqOfpraYZN}z`%$A%_AK{dLrOhkE!~^ax#k=_$BQ4KmK^y#Q!0`m}%p{K6h({dPZM3KNXCl3p7(-Vo0A6$b-;1g*YfuskMVkgX-w%GL z9pnzDmXP_cKYNY`x)9r$`cE8hWbc709f_u{J<*x(3Wp#6*P1yd<8$yy{&xn zvOCH3T}mc4n?@rv!my=Iz1HyX6FFK5q01sEKp(TH&}kYanJEAO?mmpQ4qz6vzygEC zNe$%w-xIC)vrzwh7GYt(J8-%C`HI-s*D3?Q`^(kUe0?Sp^R&lgL0!7c!NaeH>Isw} z+Xu#!w4YlZi@>;m!|E!&sHg}qL3k4N?~412DG-)Ew# z&H_e;hgV2zTku4sS2CebL(`+lY6v@-m-_{I-Pn3}0sy%lF|T+fX50BkxN9uuJ3uTg?9)oH_T`I_)y_4fIvQJo;x#v_<&xzkf6`_q2v~GOLP9EZAd^5;muoKiyC)b~ zncre%_QT~mlWOr8PzrXwSdbvJxt<>!A2$HdXx3a_ckj0(W~ZCJYoI5hLClb{vH}Q3 zipISAbQ*beqyb9)rr2Oq^2csxY@s`p#gF+dNC}aU9-JDjKTJ_kZcFb9!>+d*sxdD1! z%mr=LW()jZ&AnAzRA1aTsv?MVcSv`4OE*YJcT0DNNFyQL-QC^YAksOYba%&D|M&Sk z=e<66=MIJmX3w6rf9so0>k|{t>uY=#bbyz_=XCx8(pz319rl$(beBWlXCzr3&lw;#Oy=N1O zv3%uaWp$s1aw+_t2~o~wdwOa#YK*dcSqB%U+`#4))E_q4LGW&uUM=U#3&;+${8HwM z?1Wy2qMt8zL&_jEK8GNKnSkHB9W*B^J`pF;Xfx8%)`Cn+KyCeSfP+IvBhcv-fu;Gk-+^`N`S9FRL z*375g{r(6dxk9maz&8WlH)EyHrY*C>6Vm0^Bo$)>+Japyzov2T(-H3eAUgPe89-v) zsmQ~H5G361@ScY|6Cd>>()jFzZ=*f4W2ebJo$W;8@0lYL^27k%7UQl^WI*P>iQN0B zXs(F%e0}0EWcTL(OpK}U8cL|!N^09C<9J<3rOQvkjpbGV)20%6PWKbYs^}@ z{{|hnO<^R^snuo+s8h#=#3y#hI&xnH<4`-US@?z={SR8Oyy5>`?eny?RHE;f*Jwtk zH7B{&W?;M)ERWuq{yqbJeRtkK!h&6+{nYPClQF5UJ&92ThR_2jvh&0AyG{+$C?w|EThqGgt5D$zt#nYRdOG0H@_14mT5J|Cmi+LP;D#a{(W_#vI@j6vz(~^>sNc{PMnllx_=Od@iNe9>H zr>y5jgO};NkOblovaPgzm1%tgC|BRzs0tu&2JPKqJq8LcS+di)0~}pKZZE4myqABf zmGS}u?}$1)GX#CmGIju$`@5j9pn$_hM~H_9m-8kh%XhQWz&}nTuSmbka;EVZkb*hB zYV`UN&b}olS0!P|jVVIQk~+rT6V?JWLLrm?8lZ||*XMNyb5@_;zit>M&?_k) zqg?g;FY7h`w7Q(gkY+Fbc(woG18B`!m?UJ<7d)NLTL8OG+x5;6C|%vvS)}P0j@|^3 z^^bw}noRIeU0;;CcOElMYRfi9q;# zQ^u(PU{|gmKi+j^zN{6{aVcbVgl3(bcsOUt{-cx+J$Q5)-n$i-iEagx+W#OO$eTH= zo5>(k4jBoLvA?CxT&Wtg(}@^_w)nLDF)SpW@=xn-vQ{Zn2$>QQR|wRC4KedqB5zQ< zQsNt*OEbV#tI&AsWq*0&b7guKwy|ari~^r6-r~6KtBb8n`{_FVWMHc(;J6B(@&YVY z^Cj9zk741WeLmL*n5Yj(xRq}uCPBteVT`fS+|a9s&&4$2ohnLoqg+ldK&QJ`N4Al$ znRGr63(={8?)jIdAovqVTiqVAzg_I%Fi09i@dKzH8WEO+>I__U%ISKLBOG~YOTF9a zdRPk+%p(>~vE1*zKB$N32xfqnRCB)4Yl8-}mgzj95&*;??sh)NaJ`oe(u5%wv>7F5 zFT%S2U zyq#Jii~bO~znzdo*M*nNyFXor?d`~oC$^h(zz$D3x?=l zHv0R?&UJY56Tpumr=Lz2#H=j*qLGKOUf|V?OQm@5P7K@2=)UIm_9vK-@ zdoP5O?%mnRt{~?A-kR@ZZ*LM02FuL+r0Q}rwRcWZQOIPEnH%Hxy<*q+=MgF&4rsNj zZeOLiPi*E>;=IYwZoJ|IvW-ovQ6gXWYvJTLl(HbR@1q2K!t(od$ebWkiB7)jZ6P>sd!a7 zdsYfOIYQWscMa;Nf?wKBnC8A=X`G=0=l}b$?{{g9)_hJov-RKNl#cH&?k&MlyUekg zWSQzS{QYxtJ_)@`*?l?xf=bG68R}jg;-5 z{*RU=9sk3tHCHklwnBh}8|(zr1T5UijdD0HqHw=(^Nz9$fI8j#IxTBMN$* zD6h;`ZkxL^32<#BNA@`W<&XO3uh+Eq)c)Mc0Lea?La zruD-8)lMIDjy%nmt|Z29U{fy>)JKA;u8y4x-J?7Qh>IripGxAzCgbi_YEjuiLsB1R z7S>vCzxy%Xh0!%QlkR9lTDMqY{X{uV0a2UK3D4Z`FHBm%kJFU<0928?{+ zp#$6mf_GtyYXB5;IA4Jr7bPt-ft8!reTD7=q5%gmK81@3O%Dl)RU=RzTqKm)t$BPG z-8lYdD|LT?IV%Fj=7}csHI);!3m=X*hj_%;MVu})cZ95q5^|nhepP}bVfQy4PP^9Y z^(4_DA6(QBp`q*|$Y$TgVE0$?S;3u5WS?e3@gp@uF;|Ga$00TfZ&Qn;wSWJcWADWm zy>k%=j0x0mGQ(5>Epx?V-{WVbbI}r)5-T}C8N8U|*R@m~a!HSpd zpS#Y@t5u4ZTJVE}_3xo=u?E@XKz76z<^VATaAi=?_IFXwFu?5(G=Xn97f4hfTsElu zxuroQ=>A>W;5^ITgt`83RRsNP>3h(LeKKM)Wy6OJ90ZDGyRhp2M20INe)^FWoInwX zpt&`E^xuYrIfD(S5n0=v9KSl&g$AePLk6!oleLsQ(Pu3IGEx0JWy zKQWw~Ts^Qh6l()OVZ85a-xQafj-r&*r_uqmQnd=#)69z?5O&FHyRp#&fR*MlIaRxx zCM(G1pvyK{IzU{AIlZ@nE_YG7z`(dBbg)!l)%34)D4zyod4h3)-EnIVpey=az8oAJ z3B{Q%qN$?6h?m3vdOCR5YgBfbDCMkwS8vvRfAioRepfD=NIO@l``9BI5){$_kAPr3 zQ>c3?=p!J|0pvgq+ZP2OEH>vApI_#Gv4B1aZ%$Y5V_p|qNULeohawzK>5hj;yVcH^ zX#?l*)u{#biA?PhXusDN0dii;E2^vA1&B9D@sXxJ{vCtv^Ke6_Q+yVY;)M0ug3-q7 zcEantXOD+iOTceJ%?Si~yyhoQL;_wO?w)6HYkp_c>^uA0K^A~~|5RGU1fnF@t6sm0 zK*RgJ{+nW-03&Y0S(8vWCc}EA?hsT+6ets(%`V@a)c)P3*adnd@asWZzB|cZBu>rs1R`RmT0YLGiEIihT=NCzwV&1s9>5dI! z(WyNp;nrmez$dex{{&b=j{lw@zkt9#=T;;}vnh_nrz1|eN@2~iio@)|QOq%LSr!C~ zs5;lJUt(467!eE3pIpV=d3FOKcY7h24xFVw6mjqMZ~ZQ|YLb%F;|k?BVQ!C>v?VQr zzRG&rt<-J-7;SE+$yal#a&JF90Sw1k*AS-f z{d?yreRERT=H)_;ayAg$D!;hc1NEra<{Akc~j0j{8yr{wUA zeFie~PcAgf{=@_X)@4nZt%(Z+%p22ss=ulps4;s@8fvH!kxE50^7i?2ChL=)nA<0#ql*>&I=YOE;`IS!EMBne<{R z3P@&4SS*#~&~(;fx8i%tpMD<8`qWS?f!J-68z@prl5h9AB+G6({La#GLSG+5KP)T4 zww-I(+i5Aw{CUK2(oaqQF^sKw6d~I;_$9w^O}Cz6Zx)e}d~a4hkXm^rOcT|nmNV(p z@4C&@$S7FPBQ&;Xkm7e14a@l*uIF`5<6XFO0FzU2fjo94!B!9fgrFnbPrXyGwP~B% zIkg`p+{IFLH;H9kt1yqaVzsVC7m;RpjotsIy^gOgE$N6h<}eceDiKY`fV;OAs;Bn{q@sr+m;a& zPhOPhscp5iueu2`?&-cfB4Y$~KE+bi7yr0f)+7WdX8U1Igd>^AzAJ3ce{ldMl& zcbHCo?eZyRJww_L;y#pwr9<^P*}F-HMGd(Q4|s(Lr5_JHtWGAif@eVBvFA82JC zgz?>}P_30}^R$~cHcgWjUB(JU0q|j#^uO@3U}LbY_39R`{k+z6 z0#3dYp;h0zdw;>n71rYD!hNyWUhhAnX1tw0^y`O^9v?O=UBM%K64T4q^>OA}n_>vC zuwz=3LdaQ*S`w%#7sLHjaTSl;WDnJt{uy`KHf_%Ew*BF9Fc%xP!yDQ0$ME6H1eEmgQG` zwiJ6?c=nQ;D^q6d7W*=U!-K7i-ILq^_0DH1!7n_?a*7IJzLoqalU?JJlhb{O6VLm> zWUyh)j~ITpjRZftESBzotD7Qrj-D*t(sZ7|YLls5B?3C$QC{}n<9#64nR;4-#LO*q ziT5h2e#Hffy`>Rr6MO)YY4btFCg{j6lev~VDb#_@|9(KlAKIvGhLV6g1krX{_-8ku zC`c;84{@O7Ao)lrnIe2#8gUx%3lt;UTWZrHZcLs(_hIvvqHa~FEf<-!912zac$Tam z&ALV#FOynnt$tdxzj9_;@1TKscWvf-;W*V2+o840$MZ`kFE{5rg}K=fXm{ z&pkM;cOIu!Y?;&vr~X|ZPuFK)&vy5Ne^zn5xbjzjF-uaqWS%`JP^C%4>&Oq?i}(>F zPCGV&-XiO3s*GdQT%sJRbWLA*Klf}YCCkvy;ivZ$G~}ROP2`~5%*xk{ zc6ut{q>{l$z1Ah)U1+>JIAPajN|}J0)u?TrE7P=qN928iRLEnBKW6O-M51{PJ&_NaAXCU3 zw^RQify{^Ex&7AG8JegoxN9+3Xe4a&!0oj=)G#!3KCa6U)0}w9C<9OM`E>8xU&ug? z&ixRU=q)d_Tmp}0OV^@PB8-UF8SDxDVrUKHlg5^KA3S@RKX7{zg^UwbE;`kpHkD{D z;QJ>BOhJ5{uHa^2+a3(|k>rewGihL*0yFT>jg537yRfOA{om1z@qeqKtxjE+pG8i=ep6sqiR)L#p~w^Z*QyvBVcMM?M`SI}qt-T$N6faoNoqs^ku;74^OPOky! z#(rVmoo2JVt{76=e)P8>ItYCmzfDP5Rnv)O|NV*W)5k%iW-PswQ%UZ!2eF7uqgp&a zIJ3{cy9_J>@Gi@y^fE?2r%gJo{d2fB^H#1k{~0ponlrJ<)Oh&98oZ*NZzB*P&JxbJ zR^@WPIodXXLp+~xAEu%g%?h=gh+jy+Ldyre%vAi+J3M>;O|Czq=mVd8F9u$c>d%B3 z7P*eIZPHMbK5IOUa?t=SNTmDI>C5vmB|pTqcAl%RIB54X>`Nxj6Z%V|&aFVcuVug7 zYJh6%zQ?mUS%VrW@Qs_HSYkS6~81|#ou|(h2RGRJBbNU9+(og7OuJcmz(fg-| z@VLPywX<9W*9*e!TmP3bsVV*NFl+VPqGaZZJ|PI1Yf$lpoFIrj02+BNNzOE!Hy zOxrB*Y~p{t?-kXh9P0R3@!Tg>F(-vyT_>6q)P~GGp^G?ZP`-Y3N@Gv3QD8jla~fSS zy5iCfSJbV7nVKTr z$^~EEOZR!G z5H%X$e{dQKxPL`8#^v)Jz3_Vti}23k(D=Ojl~#S;;gz3DVOV&bNNfFNsDt_`Z{@dP zj~U0L4<~WluGqHfLe_K1nUbTIa9J*mV=6s8{xp)lS*lM6UNG&GC@wpYLqkQraT%td zsKrYNaWC6tq;|aeltxFpdv7U+Z?sLyg{;+Kdy^hP#9RecL@57-jbLV{rb^^UH=UVb zXuXvK>08MAnNy=<_amDhQrqXVgZ-1w?;qBlOqD> zVErVYX8aq2GVj^U{@YeaR;7_I@q7Jky9Gg8Cb4LQviZVYQVd+B5#DE@DkwtE=-s=p z0u&InE$4{=h~FMEg*_hPK2!=tK8I=YUk`QHA$v1lo24Iej06t ze!|YjiCC2$ugj+Uhb7}cCtFT?j1Xo`Yp6~{bjnV1^gsrNewlcPtghFYSkg#I&BuP$ z;#r&hM@tq(sHv+LPP+=nlLGiQY`RZw#t8v@~2VGhrcGQDQ#^ZZ ziKgb|=JoJ+6zfEej*ga>H9oCmafGk7M2d>Kxj_Qxc~>;-S88%X`a@Ych!bn93?ZqT zi<2KVnix)m4$SJ}Y&^zX7kO2CC#oUIvf4fuPSDF2J{C!-cax)IV^jw|++YjF0-6YF zrj>s2vXDu5V{4K`KCNB2i?PPA;RNRAlNV4@@$pEXD>v3alvI;PO8IzNfh!B_px%~c zW>UJ@lbZ>D?#eA{lb`9Vz5J427sdq>5SyAx-!nn!08xtn=KEPi(psguuFhDW(ukRx zc`b_1reAsQH<6cARL`(x^(i$g4rdf&pSAf_3_^@*@fZIsO6T+{05H6~gN7CLypo!8 zgs9iqa9Xe40V>U2h~?5@V_f()h=lz8LZS$s_jmO#K<`jD zU|#$C2VPHSrb3;cSdDi8D$JzQKASI%KGA`Q&zV2aEtGDzJE_b5Z%+_1re3w);uXzI zE|Cg8?vleIi|Jf4$tXuBr#zv@>r+U*CL0j<9?Xsa>iN0J5Q+ul5x35ks1$)bRe;xJ zaDV#)iUVR|fP|_tB9Q4_&RFudnQ?dfV%Fv%t}WGIoF(sgA?~?fA)`g2O@v zZA!(ITrA1k`^iiWtDYzQk9~hb)1l0j7y7bf6T5@`o<;z)2AYNZhk;T!o;hk`-aI%NQDMX3#k24=fV8lSIU2Le9|J>AU!fqhTK-Bn$UYYG>i z!8c@Lfkq&vFP$qbF;!}^UAwxv>Vf*esM)T;n50rA9EVC4tX}$MeSyl($ms9xzpiX^ z7VmyoZbCZs=P@CD?z5j*OcJi#`dV+&8`9F+qWv z4qyf4g@GOUG}TQ5!F)9E#AcVZ`XX|TiNmY6Q6y7gS_etnf zxx(s|8aeVSoDcT$&J0DnUOZc?va%W@qKJ49;`A!LTiDDMW>8=+ zKt}@&4NXr^PjyoyKG(O!>=)4F^XUbgf@yG6mRUAy!fUQ&P-~!=QiBMpFJHcl z?M!T{7-Uy^r2aOKOy%&)5b6RI7gL!6dHy*hB-LjXTJ;;b&v%zo#euvHmWfQ-H@jKB z<9YR4wolINKR=v);^%KS@a_65{xds?9AV#Js#0q3>AtHsHv0a~nEM#;$yN&{=N;h1 zg1YF`D#Jq~diAYAKbFyP>Rh$fFSql*1DjjMjCd#P1gEd_Wzlx@@~oimQ?jM?z{NK6i*OH#6x_=t@M<)R zefjS5hzug_^_l$y%h{h^0f@W&QDC{=eI(0#Dr3liX!&HG!kG4C`P#~oNlUFn8Pf;u z7}hs~3waVAfkWtr**O4HtMtdD%wJ!g14#&JyVh!nb!)#)X7Zrp#8qCS9}H=pSfSXZjbK&jxlYv&e$usuMS4&`|33wof`H9_t<3e+ANo;Gqp^@ zlI(qIbvuPQJlNm9A9)oN-vIV=c10%;j|Kb|7o60gr;Apd@`R|UnL>WPt&xVDg9o5F zdt351JrVD_NnHOjMV#2|QeD0m9?j7+EBX=dSY*q>SKUPv63Vt!$Pk=}QU-IqQ| zKDU$QdWV0x5WgWs^#$aps|kFrGwk)|=xF2zc!b9D%ZbB<)G*N4kxkwzd1?Sz?*Mgo zWeept^X)v8l+5@=xAWbN71}J}!XysnmC`eXfrg~*>VFp9lJd7equ4o@py12!W}jtS zcI0W-V}TA;=|!WyZ&-N2vlyIJFfk*FE4T7L$QL0+YIhi#cRs<2V zAwM34w%he$VRT5l;QtBjF*8nD7-D+TWgfXUxcV8!XcM_^!Q40$sxDVc{l;vkWIzoH z>H;(a^;V#)TD`}CHxSvJNaHdheXa8r2MRc5e*gC94DPo=11mFTr)5iHg#7#+>mgla zgRD1~|7F_pu{z-tBUOczYc+)H_z>e4r{TUFB?TJjFt8Rzz3Z;;jX>Z3ZX_N~aI{(j z)kI4qdwyvk0n|~7=;*Bdow&>4h&*MdMhLY=qoI+uU(waQM1di5`?sF}qM26} zdNF@tdfqI4>u1T6j*jxQV`_4n`X>zr%y4x*NOSXE{1&+pBSxyWBg45#YFaD`I^q7` zzdIEV&8m)$q-}On!-!xd&|@4@b@uesvX(Qk49~yK#L)7yA8yHDB`lGm9SjU?1_1&f zmo^==5SomovEZn|J7=aR<7DAwBvM`%4fWqc9DSe4qr1%R6O!Y}zft8&NlOn30mM0i zl$V#5L;M)2U2Tl<#*2P0!rOb|fkGW%^KXFSC^T|=YVol4$Y{Yo;=fe%5QfeX0}W_f zpzo;qRYK{>NBDRLLIaxH*Z@7L=HKR(nT%7xyMR%fF^NO$D=schNkL(J5dp?=V5?hi zuY$Tigq6BoE9h>r8&xj`&6g6cDmg|CKx8nk?`d29(eG7f<&YkjC8*UI-F(nM?ykaU zQq|QNs_tLC{xv6?8=Wr)(L_SjTJ7Zj)p5#%p_vjr3aM6P(a3Cxg+MAjcPqKp44YLZq40b86$OW&u6n5Kp7M>9PTO z74%DktX{uM4EkMryGegJ&~CJO*qUMb2-uWQKtIr6J!c5<*R|X1z|ViQ zu?gk#fCNs;KIMpe2=>p!admi%7KMn8h*z`Xn_I=Xn|63FY+THx4(%#0H#;!z8Y+OE z(vax8tJ?wiIV^cBnu~Y$m*#UkET0d6rjNT(dm)p{PLBdSBR|Oe_P!eW_o~y#O+qsE zVM{zb9riHYBB9mnY-J<6JGwBKOX8(gFZ3=L{Yslyg@I0Zy)}|I8y}y%n7p{S*B|IkYTUGn8$l0-f3K}` zd$%DWx0DRsNIVzdCm-clB~H{B@zWz;c~;MW-V7hDWa@)tJEN|o$AF71`p_l4%8?)MbZIABB}vo{#H@Zuh_mB%9FN4KX~^`6#ggKf_Em^&im8ssVe?FPRyuLY zWJnnP5RcKlm)$OqSMC=V z3p1ZFA@ocwv%}{~;+D=U^0`uSWh!NS*PINP8!CyG*WBo8=!of{k;e5eEy;7iRsyPM zF^4=-RRUa}%N_{bjRI%GW`i?u@@{C!=sc*qpqJf+v<6D?s(20OYbe-d8s#dOi%1X*4OtG@Y5n73`51?x(7$Va zAuU7dC>pCKx^=h8Tmd&gS=c<#TFXvJ;~<&J?z|v3yqL!^^QG^d?)UdbiLBx(+cqL< zXoNQLy@~ z^}V9pSIelxj(Fdo=JRqxNm-xJ92(QKVTaHhUMe){jAVWtDl;`c7LhYCnTfa~qIfG& z8G)ZNv)>UA8Pf81Nh^BgxfRgKoD~o-OA|9q#n`^v{6an>K3IwdVtWMd@LmV_W`-JD72X@uidTl#Mc zS38zn099on_kv|Tav_C_<(XX^J~MQVe+0U=N!cbXId+o_(HK)f4uj`@qe*s;4WFK? z#c+az-=1>P1S>$>_^^_V?&8 zYeJXrY49?OcjjgnWbwk~{>(a)$UE{#t&6>jlwovq5haZ)YjXQopg_)X)SqriWro&X zBYoJ}uUuqqJR+Uas02s#w~nI@ch`5!L#SNxK+GHY6P^PS3`>Z%b-W!Ds{kQROac$4 zc}uz+dJ1S{F*Yf}rRpW6(tLI;$ydm~+zb=Dbb9zR8zC}I;-0%rn`+)~!!vy_0G6XR zaN1{jZEJ-88`w)3)o}Ts2v}1wwW#Te(Dr^tE9Cy zjHYRbZT2(kXGGT=eopPHMlZ2$GgO1Tmt$Mvtn&Vt+O!l{@%w!2&KY6NMoSNd+_snZ z7u?KB!Fx-pV5Hv#T&I@OX}?;d;LRI!ziY-@D71mmm7Ru=%rz}BsV6M05h-6J_NEBM zuTE#>yuUezkELm&V5~2jF0IctOPgG_gq3A#JcDE(H?Gs+@H3ip$YH-&-{b(t-A7L& z+n%y*VftSw_Q7g_rtnmTwo6s^M$TA+6;RUUD#s7(biG+riRZr>bQw55H_0^yV~k&1 zP%6`=8`Vz+{Th#?DqL~RrEBf{=9Tdw4W08d7ve__8rocsNnOhr^f;GF5}Y7aMCGF8 zuzgWCk*jsIg(gU?hV^%a@j35_z=8((aSb7}FWlm2UbaZYdiq+*scxtvnn^p?v3Y@( z@0DSdbA-a*mZXF)VJO7>wp&OJrwgevyx5d2f)jCY6j93K)}-~^Eu>cyZhvG?tT>(%aB(@~}ZYZ56M=CPX< zUsUpx>4IyRQ~e8tMUxuqM@B*{HEyLW>+x3KHcc@p`Z8D2mW{A&UDp`I?$|Yd+?D(u z=`<~@pVx?R0d7(m-v*I$u2(S4EI%hI@v)R`g!QCSnK>^x1v9AhSqC`QQ5kx=Cbo+w zQ7}!oWSA2F-Lh^#cY@DMHfeUzxkwkZOe*A%E&M1;%dd^l{2A$BX(VW8G&BW~ucmxC z4ElXlV#K$weH-+pbyO*cC53|0g{B7?dYvk9-av%;i`sBlb@~J^Pf^Uzn>Tg4)XiCY zVWwZqEVs1$GRWE_AFzIL)$DO7o7_it6HVGJ{CNWR9hwR<30c10CMns0R{2U+^mu5g zQCyIATA0QXrr8KTZ##G|%sS^5Q+I@t*qZ1Qn=5|Y&-#N3#v(JhOp2!lei&wntqtWc<*8}Y+z0yRQ!S>_?iwYrXvc$2^*{H)J)0Z7ICjt+Dz#B)+25qPk*eZAUCz6rE?ypEDfXUS)he#MyT>;h zBeIE6bDBk0-+5`n!j+jtgE~C* z=cS$U&;20`2OE5PEk&wNqwE-Oy?l(qCI-}e3d;5%`dD;&L$aF@qM8!#Hh#P`Qnw78 zjgJdeLoW?X6_s&?C6yMuc=;&eyidwv9BT{ab5nOiNO$_nHnpWh1fd?ZX7Z(`%1tDwxt<@@lq<;RQc!%Gf7TXL;vQf-Ab zz-4aLrfIjJTOHyv6x)ZhA9ft5gSVxqSAiqe{9f*oGpsj%ZAT=qcS4DkX2GS=vjJVt zFtjq(5;9e7S$^Zs$);GhFaB`7;uN|Z<}07}gn`g^q;U^r^LI;rTwlz|yGU4iQi)GI zkkGug38q|UvG*Q)g{_Fj3!K6Q!3vyNj4qa*&2RxLXFK!;)ugF0jAJydPYz-{@+0(Z zjhtQkk!U@k`6w530DdPXY#PpGf2#OcMoJ3*m>pY_tkO<~MuJdP7|BUnqiky0wVerD z6Vg{Fjh1$f+IVx1L~+BG0;MaDKDE6mcvAQKtAxcyV&8;paqW~+nqaFmlZ6zE)sDE! z9}JeV*CmS&&mM$06uxVcho8*5s>~8%cbIQp)EhGr5_#U`oYtWH^qe#TpLy7i-MoK) z(p&}SD=;v5vO{r`U3cmDrc`ncn{+Jn8%r{_;Cie`3q3TBOLhnl;f+$O!#L8rM5gR= zw>!1|`?G7$;ir(X5nj|Bl$sDT_}nq3g`{BdqP=?aDjT5@pC9H@p@x* zZkMdGZ@L6r>g=3w9^++i$TE6qC_AgnbSkM1IYnF_af@9h*vc?)K;8`1+RI`s=Qx zg*vCxsZFd7TMT2YPOg(+u6)OD-(Zej)rx4HVkeF(T<6R7(q3kwnp9I{6rb<=I*1N1 z8DS7s4HN(H)i*OOdSY!C%UXCdUAESyU#YEv_g7&NFzVMiN9H40`(h9T9do~YEr`G+ zoMD;I#-C2EJ9JDDcas}86OB=7x}fh$S)TZTi_ls@-_pxW7LGi}h`rb|Yx}MIX23~4 z*{FgjsGB49Fns8}-5m1>i#xS*!-tj^vXo_91S^T0t|4p|$mA?2%B6y<5zN?ov>Z<{ zXD)vq)FaB-cbdg^IcZ=55BJa9B*I4_IK>U7kCmD{*`DLxgPYPFrjJ01#13gc)64XQ zKfsVTb~H`&V0Y!dz$De2Sd^o^^0{VVj>{K6lmB^g| z_SDrPO_8(1Z!-8CVTH0Ss3I7%oUJEz8tCsmtdIg6qCT2Fo^euRq7G@g4wTN!@7tXuPx0}h` zBLu^x>2+oBfFHtFuQFiF&YXB!24xq>-M}uH1`<3nP&yyz<3>ZbjQ3%tYp(Z-{#~Jy z1M{;vliYY=kFzaa>k9E9bbnvGwL|Y~0<0y99!}hv2et=l1vi zMN(YdBkLp^!5CL#F~ovbI4S6l_qjowVbR?NSdtOKg@=cCvpBUOu5yA`ODUJU;eFoe z4nmCExbtsFM9r+??BLW(xO=$YImz~(>f~(j-r(O?f)XH71z{#%{NG=BrI;W@Fj@pM zaBlv8_rO6zJs>c!zpwAwt5Xb-Y9MuVWTe&q%}-S|VGDLLQZAlaikQn%B~R=p39p@) z?gtPeRTt{t!mpzV92^`7805d4_hYtjl_KQoOb3a%ts71H;R(2-F+pKkKPk84WyqHs zET&FZTj2KYk;cTMW?CJ0-(H{CSXdM(gD?{!f0&6n|5NC2JB1V!;NalE1@mzd1XL23 z;{L=0$+E&Jkyjh4#F&D`zXo~Yns*{n(Gmm_(g_I(v9qhFgqeboP*D0OegVU#)p9;v z;Xa7S!yLr9@#@T3^uhwkR@2kc4ur2td0f%_f7|WPk$Bwe>ubI=EG+C-9!8z|uel<= z9|$}S@F`n@~`49ONG$o2L2 zQ+WQx5>%{=$;AXUN>s=eY1J6s9L?jTCMG2KJwt~_Mr5B9BM8_G+nm0QUy2998+3ZP z4#$uM&@ic&Vq#<0`#!n#a&NVcCo^l+8u#+pu8{IO{T)kYF8)5A%C_0=dK^u{D@TVR z`s|>sy_7Ez`hg{0Iyo+mG9`)CfS5+7+pn|gqvo(OBGpR1$s@Cf$m?#bXiQibp{Sn_ z*T1Lp?obJvxl*vH>CWrRlbWh34yQBj}VQiNb+JnOYqM_pawpbvfx za>-18G7k<8VBwJ0I=x#|i{yCiH&Bt0S32BljD5@%6ci>NuJ-GE?k`L@*aO<<$~BHB zvju_KOc)CMrT2v*DQZcAEyYq_H|Y*W-mw*JJ!3gw@EZ$cTu508 z&r90ogP9_EdZjE(65SZ&%pU?$k@(zXR6leGD>bW#)e%-LAHVX1@T4xb7sN}Y;A4r=@Ij&3&){1<>%vT1!kGkVlqp}^Yb&Y z5Tz5}-T7u{;PF!3ZkO+q3Yyms9B0dSU*TCX65ijfG+L=y!qW~Iv-iMG_Nu9=dEcFN znhqj^)m0Gl0~Vz-5Yd4>5pq%6{rbqPnZKRHsP>1zOHvh4G0(X+Z}Hgs_N49GI6j}t zfNC%bLCD?Pb|}S4vn_Mm6S=TgSl|1aXi~E4cU96+gfP&aIDA%p22IY@9%a!N++9ij z&t|?)w}bfk{Ozwt6*U5`M?ul;?&pRTnpI4im8~|*pVb2uAZlDeaB0DQSt7n(e@Eg| z3XWEqn3M2+=bIFF5S!PfFC{{nf2VT}AKll{k0&t(t|KN(^<6}=b$R?txA-F{_lGS8 zGg8=e=}-z zfZ1Ou4X1>k3E*_6_5Abq9=gjOtmc}f(=P?0-D=I3D1PZPgJ4d&Lw5#ePV){POLF}{ z*D4Una9}@eN0HMxl>H$bUsYZ=xifNmd?;*g34+0N#t1yDq|%j>-rA| zT#&5k0-4=7syI0%C49j1GjjQ$u?va(HF>z)8+q*)?VIi8H#LW|BF#F9oLz|(edYTl zI`g8+%%?M#%l#c+h-^mWVkC@q;!@~c3b;zWOjWPNj$027Ap#c&f1ROQ1=7*Prc}k+ zTQQsdZ@!25FS4G!-2}{8i6$^;w33VzteDi`-+361z|v)Lt_BDGz| z?S~|bdrR0?j3ILW&XxmA3&fxXOOX;-_mGAy5#Pt2vR)I#Odhmg+2*aU&*$B5c8k?y z$WSb2DpTLACo^=P$Lqs@>9@WXkl&WIBe|_LJ~`B&oE!J;L%C%he+(T6<_mMehK|+2OC|F9~4Q1qOZ5R_7D5N zy=eWyCiYFYqYP5CL3bqu9CEvK#qUgBv!&t!?qd|jdLmA9WA&^3sZdKDvU$MecetO& zSf}}Nd`Ca@+Dq1|{n5ri2z+CMa0nv2C;yzx2O7iw0^ejl4sL)f?EZQ&!5kCp723s( zgROQ?BhQSQ3IX4@1BA6wb+lKm-y?xPk6embTlL$VWGzgJ$#Cd31;mb;DX^ zu<$jF#?{(8O~ zPa_S;GVZ3zaOCq-dyc-~<_9*$Um>L|zMpDerK;9^WjbB*S@3U9mIK?||2nYq{wN)6 z%qVi_OhizSG<)6ZetX5Sp;RJCGm!^NKDp_aYq;BJ&??l>x@j-tj=USP;nA=I-qte5 z5@eZHSeLO|PeV^_j;#cI^7ff*Ffh5wTO{!SAd1sRmHO|{T16dzOr`Mu_rUW0zHuZb_Osc$oN-w?U%%lDm60Xo*z1mVX7kVm_NGGYKnbJ z>Tgw7%?H6je;X6BXJy>~kac0|B!OSmD^i$7Ro0xGehzNSKY5;4|7OgF74E2RF?K+8q~`t6#x2IN`LH4G0ANe&d*J(3 zvV2cNOTZyXbVeac_XRo(Ym0qg%lJCkn?mV-L#& zHY1U`fIZgao_||EAYF&mDdaohXySU%33%`K(gSJ~j#KZh1Gc{`n3|e4+bkz!Wks17 zv*qU#nrOe6X1cQYfuU$z>k43qQnmnqpMHFUb|9mauC=>d^1@TszEolBkR7Z3Br&288f4E?eG`o8i*!D@gqzsE)1Jyv%d4!zPA{d9>kMXT%c z#>LfYof(23hQ(CQV2#VsTv@GtksKah!GEBK{&C4Hw)YFS-5Q}NJ@k}DCYIb6h_h#F zZ8RbWhU{J4U&oRdFYMUELRMSs{ddCYFL0tGBl|Imy>5=Qe~>N7$Pi*=6_g_EPi7y_ z6ruQC9l(n6JQq$69!wXQAlSjuSw`kE_!$7M81K9T6%|!77(fNaFnDLg;z-uTg@rwd zB98|JDw3^2HXk1WT+X)A_X@;j_wxGXIQC;G z2E`DSM9GDzLm9(nw}1DGN!ZkQFMF-tg83$r@?0ayXsT3;Sf=x6hH~0M9r=jqSrIw}sC4NhWE)={@J-gPW#dsQ-TC+V0 z^n{WgUd)*3OGlMkNB2j#SKrAj{(Haf%Q5De^iS9CCQX5<=i~Q!*h}61yj6P<{0c-S zhZwdT=ls!GWl=PGQ?E@rKlZz`^(O$~{i*%FSe@dD#OKKOElu~A2gkFLjm;z3wL4VHhN+M%tk14n7dDG2q$a1gc)}_LD*rY6Cu@QANsJ=)?W!7Y|^8?sW3^NHErid(;r~ytW z_xA-c#P}RxhpisK18(U#Qs&jGe1t~x@zvk^Wkg$V_XYnk02d9!O`b&BE;QX|kdn$A z^!}G8v6bI%y-%X_$>O!ox!2B~uh23x>MikqxmjEiU7}_rv2x8iSedK5x8dc3m4yun z%?=C(k_7E_hdQ<*;*^Qv|KS2c12ID_>6q^0)0F0Ry+6I$NbZMmetNc~L+goE^GOi$ z>xV+2_bl5J1l4lvBGlxfR8TH7#R>8N(-jr3uaWneSZ_PO@Zu4a+NViHnVuU51iWZW z3I5<6I;JG}f&tK`Q?KXKEJPgP3Ez95_`$4Cyz%1@&P6j~$d+6!%LSaOb6Li<)3-Uv z{IvG?Mw!Nk{ak<3zkJ+7>=%K&-t;tcxH0esVv3G-k!Q7|rEG*nu!YWuAJxSs=m5H=r{)g8hQkG=S5gdfWn6^X^vWgI8L_=rWs=Rk?f z!6Zrpnq=b%v0i8*guOlAG~z;xP9it8jkt#sQzUhPwoq2p3n+yJrR$t%_;5P*)%m@6 z4Y2YVGHX_fou`o4J+7!c{2xPem%ye5u{9oy#El2^ERCj7aRvsx&%*LUy*J5YQHmaH z(9O!)`KrS1<(VZ;Q}kmQy^JaWeutKxnEE)t@WKp-O&Yrad8DuRK9s^QERLeCdkMM3 z_ar_w?qAB;Xa($BrbJRfs;FG{B+Y=c#ef-LKkr_u@`+natWy z^bwiJnB1ANEejwGZX_n0gy}l4Mj0v$$LiB%@gdhm;YOt4ejeOrAFw9miQ$8AHB|L5 z@yX3T@U+TisnKNB-&}Bw8!%Dl1cY%qIK+>b>X6g)@?8A7zugfGKhLx(Wg?_!+6v|{ z4{Fd{)pd(zqw2B;=oo3lfHLleJF!d{jvo-8i(UjEU&KB!wZccTI6?cgrTz{~GlX&D z)Vl449-20cj~E}V86R=qdNZ0xA6X+NgFbxH))p|zNgdxYjBz-xWi)92E(fv1;}1sR z=Qv*w5;bZa@r)#&V2ByW5ahyf;m(I5(FZfHlq(WVLD&cT91{PnFBXA5fp4*2hx2m$ zLQOv96IPTxkvQl*{p%Z$4E=z4FW`O_^^?lmOn`hgR4YSx1bYa;!|1!R3+dH(x%ROz zW}ZNj62Ou1^INO>p-D{XFUx6a1#n(Q(j-VC$#``eIyjMI6`N*gmQ*7%JBDb zK!fi%s9);x0~!XIKv3+C4}6B%KBXk*YN&(rQXP2&69_~bzQOcjaLGziy{ImBz^HjRvC{Dsmk*mzFMN12@|%fWaICSAA;-3_ttGwmij zt#-5ZK;?JI^ch}K3oXsub;jjhdxTfAOj`;DB>vu@s)_yhZB*UoWH~xMse~(bx2(Prl6ZmOptN>S1O3J> z0?iF|14P+A5;;!$}V^8N!W^kvpDRZI5N8Zl`=MEbC@?^Q|mPw z*?UBHvy=%Ai8awBg}`2{p=De$XOpH)HnQ|Y-gKx##wEJUv&m1 zGvOvQNBO0925kUFr~ZoPgI?%_(&Ca;>G?(YG__lox%mhe^IL`8W6@{ty$_>m9=q@9 z9FJ)I#ZtPF)4O3f-OV0w-5V%M%H)&Z;ISI98@{^v9eu9SX&2Q)$Lh8y6SPS>ypEbD zAH45Tg5#&by~BW@{jL9mCshmG@|6Ncr5hQJ?8vl%%Wt>@3>o zU%N%U{nO;(gNPjBY|bGO}>cgW#s`5mzE%Zp6urF-J9I|RW)#BKwOn&!O>nj4-W7z_x$A2BufL)!Z1!Y-!Z|U zMTS^^fSUSC-H46XF3*o!t|LwfWH~`R&P-kgVhj|Z{j|KWfd6v^7ZzUj{zmkX-o2U^ z5>*?@MhP%#Np1!v;8WE56Fr$ELa1nNdUu2BqOixU%b?-Y!>rl{-|YSvi~XMCV~&jt zc7*0aEUGs){F%)tKA71hZ9>%ZK)DgC<26d(G3WB!7uhcV|k zK^J-EGuclm6*0a|h_}%5gGy0*J5g#i-2}T$#pv*sPqCdIyN^Tffg#3ac^Eu0bF)&t z>Z;2^K~OFGeKswjT4RyfrqMf7FnOFPtx>wE*V{zuDXsc2zy_X3H604f(1mq*`4&UnW?`qPaGcFgA-t)Yy=uA7c88s_sWp`= zu8yPle0O?+vDw+(A8-3ypQ8mlq{}_cW?>|;|B$PVV^Y1v<-y{~neq!W(!H+OYD-Kw zdJdvQDIEKXL$VV!-H-42@bwP!9vl?9($ejLfDRBI9fpnR6^Z5OQ8POax z3J<~#3wB4(mI?yrD`yU@-YLEPqCQko_eNu>!m8$)oLzWhUXXQM*>XZGYGbUc72Q)6$eIW5}b)P#ln@U*hKA z;$<7gTJ{+G;HUKRnZ+i>x5~}EfBUmFk^XE0?!A`onn~wp<)BX?#tC(xx_THMkxOQd z=_Wc%Kkt>g$j4}`H=vU04@Aam^*?eNUAVz&>LJ#D%YI){SFTcpY=xA5K8(hIN&S+H z_z6?DON)8p-TI0fZK34$n1n!@4tfLwC1DFS#BT4&qQ+GHVLX*Rkqd-4isJG4B{&S` zmG|*N=Wnas`IHZ*r)(YQ_9&GhDm`lMzRS^zI0Py##IQ zD+kw`vt1+Bh&9(rh5cgl*~|0;7tpP@b_8!t;PVW$2H&K((`L~e<{@C*)gGPR&*rx8 zsf0~tu8dZ5_US40eEu`^c0F@7HX{=|2)pV?f{;?Fw)kq1BKu}>*|XvW6yV}z@Q}lD zmC8)+y!{v`<3!|rH$@SUp0jK85||Nuq~6ykRD2v58A6f!6uWF3NP`Sw1U>_=QePKv zP`^TV2rQC6>C^+6Dv(DuTFh%%-u^Wlpp`?97I9lF!<4JHGiF?uF!+1 z6mRu=3L_%m+kk*}kN(K1ZwdQvLuZ?FQtsKAd=9T}gwIh(o(&wsn_+#p!o}8OZdObq zl*0Ts2L%2|03q$$XutV75RL;BCDiA}uC)AnV`***6JHEveU+qOl$hmGxP4PP`)(=< z2R`cSbyJLi9mNE%GG6_PBdEWIaQrjtYPO@8`Ht8P6tzYZFF05*5Lrnz^R<|J;mV^= zsDTO;xik)#Ba@20S(dX6B@`3n1hZ1u&8`S?w|XCl1YNWTXz_%|Kh{cnF{3Z1ZSaA_ zX~e&r4=Mp4(uP~WpRNb}dEf}pFc^u+2~&&)-BGt(M@B{_ zl>rR;uK-u^vm&&g0C%UP*00ztI5@bduyA1b>X8mGNOsaE9o3RqgEl8Al`ziK2fNL# zPJllZ7Z?A}uj|V=I5+^f(d}f3ia`eYq%QgV{0z*z>;1)cT3Q-_){uc1jep{Axr z#{Z<=Es+qEk8zjVCEndaQ*1-)|~Z zh+t&bk<2_4X99H;kPu4KFw39WGK6n|n47@~1=!btWBDGK3GR7I3_-8ctaBKkFgkVO z)jw7lVn{&E3*pEE7o(=KB4K3<(HUZ0M@q*D63P+(x1w0a~hJcXm zc5x0Hgjg5cQXYB7Z)Xj>b!2#aZt%MhA8aJD*27eFgVJ78C6oN`GDK;bTU zfDG2o));|xy`!|o%yQ-g{qHf*Pj+B}XkX!`0g`R;x@RlLTuTHat{q>?GS=4sX%(f$ zK@_)|r_j6=4Dp8i{bKu0trJ`1g!BB~*dI%Cl?Ot*r&=gN$&4>fx>uARr00JdbwS}XK+_3SqE9#5{L`+2txnE1&pE*X6dKO zJ80_Swhyh%kd0K;&#sT$kJM{2YjAN!^1Qm6iE z(E9rp@Sx~OwxMd7y;j1yP)N7WHqx>uxnE0pCypWOMBxcaM6HkT3Cx-?-AVG%06UeW zc)Un^eEqTURx$pK>3m*LDAiK=Ooaf)fa4Y3M^(wiP2>T2B{m~IN(-`X0wr=UJQefR zut!A~@fMV}ntsTD+~=f}3QI3iEPlk?5m9%DvVPRuyqN8(WbLA6>dL3HySbZ#Pv~&m zy$b1Ew0O#E_vkM5sLA4cVOJtp!~v1#{cfP_9QS-mYV@co^(aVT@Kwo}Wk#Z6GIp?P zO4Q&UB$yjSk&?1-ou(;GjE4AO?g*Dc^<}4?oC1GikPmxH4l;vq9;O!6)fEt-*81K8 zg~M6xTJWqJluYF4ihplLJFbyN<@vntIxL>sdEr=d@bF?s!xKRuJStlIojI0>v)i)` zDwZ5P1tE6b~1+oLf4|X8J2et?VciEZb>zuSv_rTKDd0$QjFd~JYJyJJO_3pg;ejCy`k`b_+Ga@3MJ{veS z(Jr>5Jc=g>juctbvJve`yH3|KpGrzu+!{s4xlZL{bm%LWJ5~q$j1Y8uYHOLIlrUJU zzw%K~U!$ULlb4?(WH6wDy3RSeh(LIAGzbEx!Xo~muMam#R>-JeCulir5P4NBc}NBg*D$# z22yi6X0}_>u&@Gy-5co`<^X$lSG&-pc*j?f#f^8Q__<=F91v0 ziOsNr!|go*TN3`hq!hE%bXy&p=SchKAD9U!(2NpK9hcJI>rqUH5jYUYmw_!sClFP9 zV9P0r`|F6OyYfcA{D&ceLaF%DzjpkNLgBmPDj4Csam?ytyRnhic2@ChOh?QSlPsMK zsRjyiPR&Am=1>qm3e3Fvljy-qdckE7K zIO%cT2Ud+P+Gcsw~m+BDx>7WTCG(>KSe|%>CENecvf3vC2LY6i}nP6>H-IW5Y!VG z46wjNEI93;Q#t+)DdFxHTY4_FGO(tzdU4}sFb7!f= zrd@U<_pjv^6~6yb@-_?N3ny6HFFiUXj?n5@Nc9>*Yu;bZZb`o}Dk!zgXXv7$&#(;F ztNB!{8@CoJ@28|=_B((Q53Z-zqQu6!KuelgK)i-Pzo)%h>-TJ%fl}5H=nKtnK}uTQ z-NLI`5B!ZhkKl2GR`cZ*4P)!Wh${%h@dqUSKPS8ka#f7N22D(F@!)DGmKU-z$whJ- zV9gPhCPE-Z5KAihqX9YrjdF%cSwu(dn=?tUva$LXL;m~9wU~^Vov2dF^h;GO@Lah3 zTpMK+6Nr4P*FLbEbF?d%n4kT|+(v!WX!-dhiP5#*BtlAxQ_3+is}x_hl&H}o=~sd4 zuZQXE`v8|w;sUw)Jn$C8abzcpA26!U*m&gM0Xh~awUK0ttPfmGJOu%^F>9!pAstI~ zMj|uQnF=n;U&-JbR!B(IDn93zPn1@(ZhT}>8f4~?k_sf0B9U@bRa(oV^Pxtevg`d)Q<2ld z0469Y93%nZw>4KrMrbibD363c-W}k8a0@obF07X>N*hb@YY;!%>R{nD;YnHSCvxK3 zr1I+?Dr_jgTW@5a``(X*HI3%zh3>$?!gvvMRgA89mJ)*=s!(2Rii{($(p?93F6S??M`jc>=X$67kF zyE`78w|9(6R@%s$_{bbutK)fG2g^%6G{IbmDqIOTw%L*93x_yWQYU8v4KkDji~%Kf zuDD#u_$@)7$_sBQ5kzz#5W}>cuB6lyryV~Q@Kh;Eic{iR>7G49uakq7eFY;L@kkW@ z(GH}swVIg~o;g6+U=$aRO#>HWBwVm*z_%;cF5Uyp1MD* zwQzQ?^>JJ+B0=V_WE&NIjT_BCsN)e3{#F=x3%VLDKaZQLXm9?^CjF-%MQ6_xQU9vW zS^Z1khK3-%#au&O+}5Ic`Zq(&;%G&+;|N5u`ER@%9k^z>~APq;v9b*I&!LPP% zi=u3-9lX*SVL6{_`J2XrRcY7FS-h|aBh9i%HLPlehyWZnf-8fZI2;`-!QWo=hKLPD z=qeUr@Nj_r8SIY+KDGa*{;g_KZqrJor~XSBJcq6_myDB*qoIFGyV3z!D^#&=Qz~yJ zU87RBHbVF~o};UUDyU6WP(4c(No|0YwK=ui8v$1L5d-T(|1gb(3kG6qWD^O~K;hLF z$ZuF-XQ_Q04Ro{6b%e^91+sHoOl;pkZJ{l?&daEmULWwjf_970y< zpgz6oI*0^zWR(V6VGl}4fxpXbuE>@AYJYUE#!OgMVWR~95i@Xg+{m_Ysw4SD6V2MH|`Pdhjc2$vZB5c>~pfsxnQDUxM54YZ$Qc z=y9ducEerAGDkksw63kK5Z~PNu8Ty7OkcY9`9jFfG$@Ae5+o%8%*b z%`f^=Q~j+DSi7z+Qqy@^gqdp}og@bZ&2XD6RFcqo=Wpt#dwx#SJIM`ZTSCN`h%^`| z&=>ft&;mY|v3IoZ=zpTCNVWlkU74hOr5riLz?j(wS%!@7HGE0P=%D86_#}%HZ4O!y zQSZceyam%)$R=lEM(0g2u$1C|Hq#+>Unet)OlOjvDIv zz?fG}akb1HzK#}vvTPObM$tTO8LSiHW-#}MkNZ*txYc%Kb$>}~B~4cH)mubl3mzpi zMcgbjk5~F2qoPg_WUv`^J@@uf`T2Pv;IHH6m4;nz2mwVGW>a8=jmRC}WV9@8{;xck_atfi^eGb0bXUmC= ziTQjul8=6n6s?d`y(H&fCX{T-JcfwDHdiloEav}qAlSlY)b4P+fCi8UVb~F=3_8{N zQkDu%)st378mcp8&M~01&y4^?bc;vRtzJ`I;AWhyTAjzpGbj z7kz2aESbt#ZuV{XQrCNya5Kf@n6%!&!bCjG&>s@T=XT$-+)(nLeE0}lWF4*Rdi3_X z|9k>_x`W58`0V0EaRip29di3qTN0%F$!{H#u#`rkhZ5Rx}Hti?6 zYNn9m>PRxJ1T*U77AtwZKG}E6Dl7jdl(v*GHr^_TjeRqn++T*XlM6_fVv6X)wZQ#$ z|3~Ic?^PKD`cE?@$?34;w>L8g)YM6Z-3GKNE&M=k3TA@Z9C&yZcv230E0u!_RV#)9 z?njR|6#(0T8Qpv6t*a~7bkxLV)b{n0iiVaA*EESJ$=kQLMeuG`vMc|9tc8w5YLhkt zHN>q$41f7@k=bHD z!d-^Gm?AJTXKd^pKyK~wcw*Jylxb*0Uy&01QGl0G4hk6zii!eMz=%NpyfzYyvJdXX)+2*VVkUKkWkODica_!~9o?D@gWYupo1zM!V zOL`V+Fcs>RPKPs|{~36-&EwE#UQWX~#VU_^NY{xP?;)J+xCkh($$$CMg){h{)Jmx5 zbVTov=#Z+Hs+p;@lv!@Z=(0rBDS?g4$k;gVKL!Wx@%C7&OqFgnfl;kw%!Y&zGmXvY zHS61F7f@R@A3*so`;)0RXmWBHy#{$~oB~t=EA(9S?fPsMkVwJr4BK}-osIK5e{EJ& z2$Pr@fh>Ws75D)>{!cw3a3-%Oufx3n4p=(X&<~3* zZaZ5+<7N%Z^UF&SbZHsymWa#aqKH|m!}XXIpi0mN7-D0+Dgl~Im3-n$W4Kn6;Pa3F z;R3Fmyc#-{iWB%4`JT{8g?w)-xkh8*d?fR$9v$klJ6wo_Ji_vVs3bxl8lwqxRn;%s zCAojf?%9|g&j!b}0B!xJ(w|HA;n;MzO~gW9!??&1`?EXl%%>hyRYv+TM5BD?^YU-( zzcyLVYt|Utoj6YcTqB#rnAaCicDkx>hTY69O&YkH&kX)dQj-E2e-2&b7LRVmczghD zN%!;f)nFt63IXdcuTx!d6Zg;YqUD*q_CCUQ6;0n4@b? zdA0t;(f$0m`m)5ARW+qo+fxbh@VL+Ee5%ENb5J#^@$;?onHGJc-V)pXJ+c}ra+_wA z7yyToBj``{xbc!B?47RjbUY=R>*)nrUul9sAeih;R;!w%J)&={G2xMK-?ukY)-}ph z;qVqJ^AdK>$!z(9?{DODNSDNA_sm{yyWUJj zR|iEh2fWhXGOH=k%^Le$`|gJo%WjO zdOYuadc&)fBk(dY@P&$siZGe)grtQU0iAfR!=1tgofxELjDW%*vlYqBHX4>UUb!ZasncRla2 zJ=WyYZ|#FeBgxQQs{8I9ox!b4D%#~a`%yu(agO@lZ6UhpWkp>_Pdz2c>s-Qs}*K|ux`Zp*~V zH%HtTcYqK-EmNo7hX3{TVVEM7&1lGHbgibl3|uf|!D#{dmBX{FWF_R`T6-vEV397pAGwN zhzTJ4g4;boZ{(z-`v$Pluv7!?@uF?iX691%4e@HcQyuB?G$HQi3$8iP0U{mBGEyA) zZ(~W~>eH20i8;dU_M2T~*syR%OJ#|@#+KUM8*$=+IXAved&TBBa%lh2z3d84V$ z=9wRZX&*5NFCHp&`1C>-Lr8+1!uEEDqitu)@!*Y{I)E01J~aY1Fhpn8{L7awFfcHD zW%etTL_@U~HQltkWF*KH16~wKcqcROR#9eiLUT;sy+=R`*oaunK@&(1RD82xn$2LbKvywSa%`qjUD`?CkmQKv*g}D(N2z*dIUMkDsozgksU|Vcy{aT{0QdF}RdQ z9oDa2jj2Xnhi+eKRc+r`4Fjy++&4TIt=*B3kP;|gu6Hr+1?`^ixBF#`w+k>ta1p6Q ze(G}kFc9>Db7eU`&@bC1oJOLS!xX(eT~x09N5rz+;EwT{!lEbr%zGm}ynFNQ-puiPs#)jN?OQp}SW+pwjl4IeYwm61dI!k$Oiad- zCiWS8-qu^v3}lK?k%dVucuO9gElZ-sgtC^3{|>iO9jalUrDA1ffN zB5u8YRkE4C zJ&)Jihr;>j8*|Xxk5*;!78Dd<`D}e4#i1t?aFZ0Ue5n7{;eHAlGCzNPPvLXFJ+sIB zQRqd%Ni|{V@7wEnbTeWtv`t-a+cM(tY9$Iv^78!(NU)5k_b!6Wn=p3IX+I8=bGWDJ%v|K$Q;dbFl*H!kl2at!Cau1lwZJexy#rKffEg&-{p* z7Z@n_d=|F^0UYCOX$qNYv28H=B+T|fARWc=>gr5QXr;M z^|bDrEnffP^YCq9H)LQL;BndV6T3C(OM=^A)&oCqPiKzA9*PAX%H?dq=?cx)&@!@K z?hVf;TS@k}*DH*V=^ucGLCLxuq5Ca+!~P<$whk@1#cl}NJ$>l_uhA3$=i6W`3j4R^ zI{z)g{U;IP&q}YG(ywVT0Uf?vsgwP8=C2X2O~)sT_$Q)|7$6@A?B zYf;AqE^%`~7g@D8?`}4%)f_kZVde{m2jFWTSbEn%$M2!>$iV@CMuHt#O3Z$FXw+Mc zE3F>`1qB0xEvP%7A?cGwyZa{0XXeQD?Oe)Cw^KoG+YMC*7*Wx;aJ6FomW3pd7x)wg zoiU~0KBcJz8i{%XdmHH_OdnSlSDBR2E&k z?ya@8&Gu<`J2z;uz9BV;%EmPIG3{oNjwNCPvWy?!iE2-%{f8CxGZY;)Tp#a_oOmB6 z6L&u<_}vCe`Li6XRSnONYppbXe|zCI`Zu0SVX**pbga;1oyzU*k%%TYY_OK{$Op0L zHtW>caF9B#$_Nw{70DG7^IB=v`1Q}fv2=LdAX5|ab-AlY&T4K~FpNJ@W+h})HtBmCsMh~=JF`HBGk4Ue!2GoNRIu8pW2_RzX0Z%s zSkU#*@!$0qLJouZdX0|uo8$A9wwInRVa?$mr{#tX3qxq%jR7&*$lzZ;sqE#dNP)~d z{xKi@$fD9xVy{wjo81ss}F{q5YsUNNzDTWrwU9DMr(^h12os|GE9-YbOZ_mvP9G&s_ERXV* zb~hf-{qp=`cDCtz4duvQ;gMHX<}^SNy!U|iJxrVBcpcxQ))ig7>XQ;85ghfU+XgLi`g7Ln)o-oBz#)~s_u zV--nBtl5`$<4f(k!!f3RQ`rnAj40nmhNbV$Zo^u6`1t-l5EzBG`M=E+ManwAoWB_^ zx7z&{9bYhxGcgGcLG^F6zl)jby14YV?;v$VY78==rR~7(*%$7Lu6bwR4dVDE0=BTrTY@ zS{8=n)UrEe2lK(qk>vovU$Q8ADQnT{1hu+o5PiGfl=APJH|+3ooeTTvp!%KXtWu}K z&Btd=B096tW)>YP-jd_H^~K$0_0#g)~mStCxM~D#N^~A-w~Rv7PrgjDFhv#M`jaqj=yCYeqJpd zPi58b1Qbx%u+4Vkb`{c?&QXMG^bC9+>;Kl_ka44;eJ`#@ONK@Lw%3*|N)#!$z1G_2 zD{=_=`KYM!Rg=pp{9lXI5h~a(r$qd^P4}3(UlgaAY5#`{c#Tbm2K!Is3hrNJG#yR8 zy!L)K_se}7f8O+C(rsLdtogOkWw!tR={6%8Mn(w89NL`ChkiYMLSsrhTxzEq_tkQk?D<-!dyDDbSSb40 z`C60AG(@WV!P;$j(tsoQVp--~y(0a=#w`nlM(277XLsN(fRrO=erR}D&#mQpGZ;}E z9-ZhF`t;UdgQr=l(#XLPoFJL_kJny5m-9F=K2{iJGlKGqz&a0EZQMiq&?zFpSQ1N% z4YWJOp!<2IA+bb3uhHcunq*N1^@v8AsaU@=p-iI1Zmm?O1ARuv5l{i)A56h@|Es(= zo-)JfDN9TbFH5A4y}^dpwo@Nf{RXtAD+Gv3QZ)u}{~>t&NKXei^x%+?j0j|0DfS^Z zvJMwET(HL(M)$Wu3$aDT%+TP_f&lg9s9E}05*E^al_LIUz>gfxTZpO8odQ(CMi-eC ze~6Zm*Xs@M=F?;7X54lbyPJBJ)L9JX&L^k2e)HO$wcoLFeYlGQd-JI|*_RXAS)&>7JW>DY{#0hXTF~uCz^X41QA944Rjo55@Gj|OrA`>2 z2_6S8v+Vs6s;48moJ%~yu@MWc=c_}z(=+4J7z}rRyc;~K=5xDt==4hW#!logKV;(% zBUp4j-9RCZozRmG$=4g!Tna6AtwqKw95cT@$bLw%M8%d!HVg^53S8zC6=xta+tq*t z9CdHuB25)>0qg{|w#`O;lNe%MtddEa({t7Gbqf37WoPJxj_GubsPCI>DC=>{nYage<|9r7X8PM14A33?PF{|T{UVBz60Hnn?RnWt6@KVDP(KWx2qToddXKl~`5lqdqyARvvT z(jg$A(%m5`A>B18>FzEm>CQ2c?(Ud$cQXd>?Rn05KfgElN11G6F7E4_*V^IXCA_MW zL8sZG6F>lSeuHnKVk8{w#iB~RF?sj8m8`Gd5)_rLcH_*?+1f=Z*4rSF)4r6OuLpD@ znxK$F>q^hXlz2Qk*~JDgk)hqr76+0?lg z>64vhF5-J1nUs-Vo~>=_dD6aqyMK&}5*wr3CG-|Ie?>-&IPA7`TJO$$>38`2WoKuH z7R5Nzr5F)UiPy%L_7+V~E3NiP}rbTjf9Xd1lY*V|kNu8>$?7qp+LM zg3^d~Eo>vT{BaXl{eq5)O5;}l6}+i-C&6}qFtYC5ck+V)PG#fJBe8&kMJO}Fdka-C z)ogPuc_Qvj;}}#=N?n9WkXr`FVl23?ZlV_whiW^C&6O!J1+WOq-4WsHJk}aCGc#mR zxu=TwYd%L0gI~&U&yZBSiMhSTO4=x4*)=$d!RdYV>XqYQetK!jg!sTK#smWp8FFl| zfoU%Pd@`@^;Wh{6glIRe-NoglU(Rj$6K^lRuWM&wP*Io8J2p7)b}6o^rudfXH??g% zCY{7iP)*M$toIw*cwAd4SX~#17h*Vv8Qs@dT_BQtO}i3I2}8`OD1J+xu5%m#XKIVt zC60CoH3OXNNB_9FqMdOUQbscw1tUKK=bye>yqs_-PDnA53vD^glGIX6uva{G5~%JO3TrBI#%^ zL!~-P0SdI&KH^?$LdA4?gC1OsLcC5qflIf%y6T7XO(-U~L@&Z}+GSSCrkUO{?}AxD z5fJP23NM0sN@9bT^u88kRRN3V5>5Xl^G66D*P>W3cmU;M^vxs0ga?P8jHFN$WEHU= z`7I60mrw7arpuLcc?>twf`X4n$0EsxRCXJpslcnJZFh3rUN^VSa-lwWZuuhCpytlU z$J-rERCP+*{M=nc^n=D0i77QkLc&lo0 z=Y8j%E+B%7dz00XJ%4z836Ne1fHHk_R&>;*>)E5q-fGgA|HJYiT9nic~J!1 zv>Xcq+ggROP>#Yt`8zQYUr8`K z$9KtCZ#U1vDtmmJO69_8#}O^ChT+y;WGh6DzO_|`&6sxLiZTV>Zck0*l`-sy5Ah*~g?AX?khG|HuPrIyF3MGt|0w!Mx>g7H>q# zwflpfmJ+e&R}Dil95D%qd19hH%z1Bl<~-PQFdVFkQ@W!X;qRENPBXut2Q&Ok3rW{l zgNQq3`^+wJIY{mNsCHU~*rzp;R<%?|)wVl<{Fsk_R{z-ZHiM|!hPCzOatR5yXNgG{ z=LWL|B_?BuFF%k6iH6GUNcS8tOTomPKRUxSy^`++52P=%*u*1}K3-!@WEmA{IqxI$KH;dpWi!4mL}&MHt@#NbKC{4KTy;4a(zKx5k&YfS!3$&RhEo;C zFSzML-{;Zt%0w33fu$ZYbYe}?izjvqIaLz`4WeT&5ScUvGQ*| z_Xt<=Y{dQeBSsb>I>v74MQq>kL=C|?`E*&dhH9|c*t%?~Mv6*G-&a$ARxzUOlfLg{ z4_&c-oT``Az_p0?U*P|ImY6*;_d)tT_29&o-&2u=N(Vyxbx=S;)z)^8fX{=p^=pN! zZ-3r^d`@l5N=^|aAtyF5Mz5HbBn~Chwyd)k3q2Xs*6Sc9?CM8h-uyUTj6(+5Q6se?>3QgE9G*nW09^GY$qL6YIM!K#~5_6%NVH7IJP(EicHp}}_G6c=@ zz)>ZKAafIH_u$52P&M_vk9Ymiu*_lsBV7;o}z z6Z0iJ>LtzRpbe)sUV%>Qbl5Q}R5TpdC+b+StZ;_0QYSEO>&3Zd86oY5x+lLYmB&1x^l1^ zh4FA(p|dL0T=*Aojg3bRrl>Y}`^|e?sF3jfcwfE2Q)k^+@r8;yCPh9Bt5}7$8yhB< znefXp6r&f~)BkPzYki%~yqfAD3gtjPs0W%Wu?4~-n@nn*%VEaN6O!B0!xf;pVfJwh znHjSNnXPYMt{6>`u^@(w%oRB>9uFZ18C@MN#^O?4a=qbkFYqYqFI84%cX5SMb=@Fs z&`A%xVO?0YakKHx(AYjdhvod&dD%jzGCk;hU+LC-nJV_@h6M2O-nxUWdCA%^d2RY{7i?m^=1s*Y(v#s=5rX8zfL+0 z>&cs&E%cZ52K|^4Mjk(2y0N3(`61bvq}iul|J*me5K?bk1|>yFm2j_R5-5Xgb9fnD zq(|*Y*ep>(HpbTZU`Bi!e?D>)IND5S8|rE&k}Q;-jZnDM9pG*9G0BpsTAyWg^iPk+ zDpzkx_&*n-D0<`kK0whg_mUikAqr-&zoUMq72~@9=uEsO(-R?Quj05*STK=(>6ocJUzs$k;{Lpv zojxRS(7&cAOY!Dm)%OcggjjR`Fu^CDxw+ZAH}tyOsI?x_jPX1+jh|IUhWaNrEBo16 z&!t6S(lSGje?$od;zIVsP6h=k5ps_R*wPkbS$}x;#`y8`=y5j>Elgw8e`VQN@cl#( zD&WOIL&bP8lN`lK`+m4=eD}PoJMrW6k&HvT+? z%uimivz)F32sB^91>C7$vkD7z$G=^eZ@yUIvweou77!W~-BzWK(FAgvKDV-(Gwa_vzK~A{x#Z{D|P9Goc95~Uw87CT0DLn z$2FwWW1WAoN5;ZJ!w>cdpD9#0L3{M4DJZYH{4AZg*r>UdAZ621j^^$r8<{RVrgCAS zIa#Nd^Yh+<2^J7U(}ezdVg@hg#$dlbQZvhX@)4|+ZAdHJxbLEM{bH&caZYEcPlZbvdAosti2DU%&)-fdL1dMWN(=PsBk zrC}c=T59$BLiE6=OW~qN-^GDup`Pw%Z&PHDyVGYgiOnIZ&Jcp1n#{!+Z7;18As>1= zY47#mH5C0%GE%MC6U^YyL%&4NXJS>ANvzR45W~qhVfK*}FXm9SX{}6!UQMk6wZ-QF zq1Hg=Q1H!!WoBlc@1m=f>73if(pgTI@VW1O`D7oWazOb9UZ#r(q;UT-VH8P?VLHqH z`t4g9n)VP0XxU0zkN&ysFeJEPp72Jm%1!gV@x!RgKWI) zh`X2p`wsr(r;5j?9tI+aK8}H}N#_B4p0KDWtA4&4g2YRCSK0=R(G;$HW8q=R!%X7! zA7<#=#5dpGRhRaBkUhmhfAhK#vNDlU2KCsV_1X4<{dzfmj86PWJOOtXnNLgCma;Sq zw_+Z#9c@<~i;V#~$K_~~Y@lT{Ph>i8!ZnpNn|;ssHZ31M9A@5z8)?mhelN%UIg_5K zzcoETq7%&uX2>rnpcHo8f&vp2%sM?Q2wS|bXqV~k0)G>k(>iHC`PG*dr?8M1sdQ;;4M9g+H$4M{cMU;rjQwffFNrt#35h;B>#1nLk z_=EBR?<#52^oD-ILI(dUZk$y-;s;^nttM-cBHrC1qCyAvEgTJ^60rz&>=k8_YJ1tS zDg%2n$qUcmZQT&MO9;_^ieT+}TWqV$;pd6t&Xre|XHf@O3JdA6!=_)E!F;pE*Y_@cLe}=CXQsFHTmMdZkLkG#Qgo5=C}zGS zuQ$B*Tgrv4XIrn<5e`e^))glMtj8ajo@P8Xy-<%jcpLqmX8xE&CN>~uEJ=cE1DPUR zEzPd6J?gISd-P}JK|4xbv^#FeQoYTR`czeCbN{B%@lF)h z|1=Re`rK)%_oXZtmG@U#?R=&LC8aD$FW1vi@$OlTz3Nz|*F7KQMLEo_m1^?MnZoG} z&G*|LjA?Fv>DY<_T+p%{+P` zp}{FM1G%UKR^~H~SNX531bqIJf9GDa2t4W2+$z;PeleDfLcG(#4C*7lhdKVWtyyS{ zV%5^^)W+o0OsGts8hr4~E8z1M5c(U1p2$?Q6K-593+jqWiOIRVJjFZwr7$;R@IkyG zHlvGP8Dy}$(t4dWvp%S#B`GKdVx#-9ikDBDw3-T^a%kW*^?pk-Ha7eqKb&Tlp9Aj8 z|KWLs+N8Auyzv^BGdklM^SMMgY9Gk7HQ-(@+yXCKhk)Ysfc9aS6PnR~>~MMkb(fO@ z#6=3sfGoINZn9B-igqR#Gv4ExP&a_LGht7`0Gjl zL!^r9HX(Q*);hLJVgD&L`)>Z@_piUwAb(%{ODQbL|K$7qasXxU{_WKs8~D>%A>paf zkN;dyBEi&W96XKyx3yci(M$Y)CPM!kSkyyGfZzI|8NH^bvdS61c-udLwT}F{z>9-P z$Vk0LtW{^R*die8^WwW~mQAg{Kc0rWL)Elz4p&Tke0+SdJWsX<)JnCnEZ99edOo*HF<2-;-OqcK zGYBTKY?pI@jerqgrx#ry@Rd85*X+$NB63RM=!}?7R;?UoDlXI*UAYz)FV|^(*$|ff z#dhU!xLD?bDNG9xrrx*L(>!_*r=7Uq(@o^Xp2PTvBYX*pi;H{IsQOb)0CHdjnoL)c zRsiL{KSfR>=yJe9O`4{*i@Nwr)Nd$LBr_@MA7#*aO2Tn6I+oX;Cgjm&z@CMg{p;HU zKRmqWHj7QO)#``KG!(LOa{Qpj5tQQ22&DXKoGw#7oG8KrFGrL|I8E;BpTJi-zZ0`c zp)F`N!?roYlUFI$JKY*>4<~t>!fVd-oAHdu3BfHE-s<(ZqpQnMlT6;=-LF4X?W}1q zg=*7qD)B&gBOZa*W<*WiNHv9!htu8!hHgh^=VxNSTboY%xXYcz0;kkE;EWBAjP#oY zUa2=76k9Vzr`yT}BXtg&Ws4qXpJZgd%$Ffu;NGuESd{Z+V(A8%RDUj%dR$5qvgMX) zj2&eM_9Yg7OE=&b(_km!JXnH;e$SVUWoh-*gp3zDq>_-FNe7n;EuP~6ZK{wM+`q!mKK{;i&bsL8brT*xtp|{7WerS$Kr;(sr5l3T9HEt z+bK}tyO$cT2) z$$PpFHpv2ppfK{uHoSgQ;Lyu;>(8AF+^yLum75a6S-suXO^_RDh5I7;M9Ub%fRGXZ=*P?OK_1&Dh&UdE?2kuJ^J3r;qSWV{3`rM*P z3UTKcbq`T`-CG%>wUDQEt zXSjVPPS7@4kNZYHL%U@MYzAfej3|{X3bk=QH|0 zpFe-LLBe<2zlXcJ|8DT#Q{Lk+>V8Lcb9NA+r{{KF3tVlf;iX?jbAa^@JQA%s$G=`T zJ9lC4-{Ys7gW8Suol=>e+*Uoma-|}}AQlfXshA4k#ZrVsB6d3qBUC8tcj8iV6D696 zo@j9mw8y$t#=VkHcB!%5ttPg_0x&~$vs!??=IPr)l*iCNkpZij?p^kTRC>hR#?SU- zJU-uKwTa89=jG?uS&nnk&=}2zOy*`1Ic$%ugC;zuFPX_%;*z6|{&*QAmz(;b{xXat zwbuJ20$qqp%Cj5G@-!ibivYp`5iYyFoAX`TRCy6D^T8ceO31CKMw_p~d%#TgyCTv) z^;CPrWEMp)HQ265*%P3>WMNQiNjl@0`7m3x4x$D@ksqE(NJ*&|X`%H4x8^VXSBVc% zP&!l<@L7Q5$Hr3fuF;+VlQ80HD^?!vj(|!hvL=9@X!mbv1WZG%-4h zt?7)hw#^S7Xcj!2w44YE5BJG2xK7N3;K$Py3(`pnt^dL6&_!A#lRQud+R)UbTu(ae9R1nzMB4*51~O>B1|{27Qq?^1c-}3s zu$d#vZoYzw`i7L-Ivu&r#2BYWw_7$Mv8STVt~IYjHtW`c|I$nbP&9nnRAu+=jOLn_YrRLw8{A{&&U7^cXtx|gptcfG1|H+vSr|`UAltR z1E)#XM3BnhK*P)t;;?mluCaaE0k%+Y6KU?U*nCNLK4aUV4eCdWRf{9QXlLTNyi>k* z_6?2D(GF8--vva^+>fs}3!p*9qZjEOe-6R_^7Y`fgUw=#-OS<_3ji)nEKs9yS*)M4}L6P%Wb9MoPKT-F0+CCPb|NWcmM5(sE z7234h`U&koKnc8ocziAis(&?28AUlz@{%?HGwH+DWHFEMPzKj!rUWF{__~UAwM*o! zTc5+Ye%i%~G+R3_oqE2UTbHAtDGDATHI2;>Vm}e`f=x;dGnTd4`2fEdwCIA0z85UI zttUsLvCldqfuR}ns9BF>QL$WZ&1zePVq_=gn_Z}uy1%W426E6G2dDyHJ94L=Z%prD z0!qe%tomIZv8SlRXGDlSom>A ze{;t>S0icSS3KnB4TZU#<|p|*7u||7ecu{AGNN#0x4pvJMuhye{D~4bF^Tv+UR+Qx z<1>7G|J%rIc6LfUQc~t#zogXXNEWqVM&9I?KY9|`C`&XGjEIy9wx|UKby}39nHV)H zvH~kx!~VwwXzC{wN-<0oiEH<(=KHzuiWPT(Zqz8(nvyU--%+}wF*dO`?S1c|jfHDI z!S2(19v3B=!A0CX9b>b}Od$p`hch-YRvk4R1M?}5s6&86{)japggPO$kEn@V6~E2+ zVQ*Y2Pgy3PL*EXQ1Wk=a+s_o zA4O&7NhiLr$2IB}T3>j zhNsqt-t#+d8LMT>r8hai?&K6cfG&P|c{jBl(*Mk)T|DlLIYtFT`;^;30T4nqtT(Ny zz`wgm^2YOn0!nYb+4gun1a$7EU15T|1QUv&+lh+LGq#Spmsi{NEx#s*`V~>f)qieT zl~=K_snxjNjf^mZfR06!U|zzVa|}F#LBOdmo(*29ocR6Rau{iWbC)gx!NHYWEA6?u zYRDfi4tON~{Yvm!F;c{CZ!7xf=m?D1Dn(lRw~f{2=H{=pYjJRJ zB3d2jfj4vM;;cv+>VAoVgGmeqUQiwX>Cgz6;>GVDpp0{ImgzQ!M1o0A3Yf-EjAjxj zab1^ zA|WkMxV^av7A928G&B^>*Mlw~LA$XDU`hNn1Z{Sa{TgBflINncRVHQnFdVp6<0sIx zSq8@CT*<+dz^CNA?rUFS^JN1gUGdWa`|R8iBo#?6u#_)Lsv+R95w`vLH_`V?!Qv+qDJxpM^;?DLy*OBBSV?j77BsO{fDboMISJv6b59T{Z%q;>Ciz$rKe!3q+J zTdP%2%4u<%6iY9cGTZixohaxFfR6f}%Z(4OvHs5K&l;06z4*=hR6xOgzY%yA*N$)_ zopwf?k7EcVLJ7W(?k($kr$e^K@?vPE4e<Qun=T$#jRv{AhwpbmI#b*zarQ9Yd zVQfinPnD}npMeU`Yw0Gd7Q_CPa~t$HK#w@?*2`Wn5Feod&7ZVrf zv0kFPYsXmqVMd3~sN~oQu~aL)wdub2S`ABzPf9|UDAFy!8FHYP_q^#? z1IUqr-}M)1`S6#ik^lplZ9#s+nF=Zt2;!V@oYeqzhy)9)59sK6LYm=fKLGlM!65&D z18Xp`{OkOM+T)8hk3$^dH}Bj-r@@;AUSuTT3gCd8^Y&b+9@L$v>kwF;suTM9GF19Lw z0Tz@`b&cUzc;C&^&+I%Qoq9sX>)Ph)HahAuV!Yl*kigxR10zgeP<-g1ZqgqQBDOeB z*+5)zA6OlAbr4hc(1_Em0{XCK_qSXZH_Hec_U{D!i76XY9FKz3GM5(T>%X4EA^oT8 z{bqH!19iGp!L4A+3(g?L2<&MMmGINe9Dl)<)=C+O%J zP8pmr0NL03WQ$lU(2p&?&4uZSNk+c_72d1e{T6SM)J>w;CE|z$Xt)RWg@{>A!GI zs(hN78b%`hJJ3X+%^qwIi4^v<8JMv{ zUj%Sy>Lg3*J^u4pUEbGMhEry0_0*i4N)-=sFn_#w3{=z0-vM>p3Z7U6+htK)*jqwt z+*DLc_ROea6Qb+ylhi{okLF1UDz@xbO6a^1Ik(e2s`%1<39m!(j=pNwd)^zF)`HbU($>QP1hp_2vFG~*GNH>x-o)n(1HHO!mGW1Da?+JMYx{_V* zTcIF9gFZbD^%z!+d}1?EVclrIZZY}O=wei@Ai6K3Fjh)1x6hKr&EN#}Q|6x;$h?AcRRIb826u=uKC)_^6tRm@H<3;ZBj+N~3oK49}>b>8Pw zXt2dii>HD3;<=?YQSaJc9f?*)D!GjPu-@=(GcfNqHqgA+Y_;lbIF^^qI7v&EHD3#T z@w&sGd+hB@WzT&HAO!tbQJ4R;p&b24GUwUmZ+Eo521iGu{q@+LpVYL?LfA+14rg%G z%{92~0<_0LM0FZ)!3RE=G)pupMeZ~z9Irpg7`zJs8Ab8!sE*xxU*}b!1_*E3WK40Qthse%F8*6w{e!Oun8kb>LpurStX3Y&4X;lId;76=r)0ux!rH*BA9|p-R!1QLZGGo@BpTX=?qKqRttE)6PUa zTzJsBH`sx}_2ozb@L+gElO5}P1OmgBqmpIVoxXUjU$a9$)++xc!%2B;5{11__apB; z5JI9)NQ5T}0e6j4JXxgdaxe|YI54~lif;cN8O6sfaeF*15>Dwo1Bc5Wq5coc^=!n- zo7GhzQxwHmdavz;|Mf~`4h;{tAsSGNhkp-Os+n1q9>Y3AUJO&F9QLha`SufqJfim= zVL0pkdQlt?49b?%2XIeh{8gp?y^o!p9l+0E_g2RieMX@gbYnC(@W~^;{}a`@9WQQB z0}%F6TGs2VaulTR1R-~1D;WUtVqsuJRVq&Wj|oSMo;4S zW~amGv^Z4dTnb9va&IK4bN`W_FXyq`3G!fo+5!vX8Wgg{Xe5QTnjDEsIK4a!z*l4j zl;3&B@w|`Vc=9DW@684IGg4AgCq&(h`TxHRAqS)&YU&W6nn2|i-2qVgBrWYnu5oA7 z<{7rX&{*vb^`1G3CVID4stsrsaU>XkG>Arqq6;z0e{Zg&co7~87CdHf%&?~?Dc3FU|!N>0rCBJJHfTRq=nQS5vq1(9sFEBf^ z`D|{^X$L4X)IvhKoI!1Y0Rf`lid9OT?-n$VzcQo?xO66Tb#*Opw+1Zj(J*M0{H-Yk z$@++OfMpWO6^`d7i}N32*&TiJ@#~oGciEYsrKN2Ii+BJZaWGr#Vr4~k@%>AI8&f2}=5Q%|smY|j73$F??|L&XFYJyCucxq9p^KJ`B%e`n)inDjCa&{U8I^ETyr%@oBWoj}NVbaBZ1#QuCP{8~($ zhQ_9?&1rY+^Y8K4KU>R5K)|^lx?j?%TGMyL)W?3R`cq}QVMgPM+;#cUxrG-vBEm^T zu=&95BMmKg5SD$t>3RNEXY-;|n}hqT)wMSyC@4rfn#XdYaI(o{eAsNLi&2CHY-98~ z-H=tL6Ed25`_qg26l+U=f6l4({$O5{ON2n`YU6&1g46gaVt*cthl6O4+i)-Yo3kQ5 zeb3|d1shOP5ZM={VYjJ4Zr1D^nUoS94i)k2FiPjI={y2L>0HiiJM5Mp#I>ZsYaO|@ zIt)gLa}og;YsgKJ-O8PmKGyxM!%3XkdVvfi+4+`j8g-JlKYE+6Qc?2-*_Y{jRpYfmC(=5W8^o|u zUSASL$!l%yTpd_-caNGdkS&5>!^uxRw$Vw7(Hp6o1XBPs8;sgqH*46d>N``Lt#y=|Oi`g8&VZg&V*!6TW_Vo9gm}ZXF>*M_6 z!N@M2GSX-L1<^Z z7~wE1R|c@E(nT!2F!JP#5Lf$bdmdhM0*u3)Kp2ve!rle^y~bFh5rQyZh?$j5w~EMK z34p#f@$aiVPltK4^veO}^H@D64#ME%xUZg1=gWcGBfjGn?Fnt>a zslk+5MemCN^EdwTVL=RG=)bI_Ga=UYV4oe_3jtwdWaQ13>|GLS4#c7OwhZ>#{I1$9 z8Wx6G@26aX*Jo-utYf>ycr$$3^yNP!K*y{$<62F9y5!-~ll34FhkR?S2$^a#pmBDo z4;;%KL%f3ntT!H1a$~r&aj(@`85np$ZpishCgk>Rpo0-><30qsn5#{XO12^p*4Y}P z9OEZ0mcV*{xS8qw&3~d;{i)Q>CE6*a`ScACd1AV*SD(UNc4iKM+$`+1W1LvFSTVe; zfjB$B@j@QL*1=xTL~LqFfFnL-E(sY>z0q$4`-7%S)&Kf)GrezcCvX6~P^^ixMLl76 zUeG{&2OPbD@3e$8O!pQl$vrew@NIY2FshN?8Hn}St*$!EGQgU`l>g%6&)^B32ga&#yMD7XzUYtz3|$7Qi@wGHXnq#SSw%?7d7k zUR1GH*#A1)TZ&=EEl)Vj2#BAo;hyYebPQAAq`3%RCzE97t}|ikL}tSM%)e#*d6`zU zY<2TrRjimxPrvp=B<+a$r|W%tWWa!W%~F5Qb-RG`8?JaeAakwNDm-bOJWFr;XRter zSUvC4WB>%|V~j7ic0ArGKWFu7y-$@vhj%4co^u!(-S92-+5XF8Kh)5xofE*6;X>aX z*^XK4oqf^JXfW_hEkEO&o3H2cQ**?97UkB%s@K9m1UDfiB-H*3QRGCf9n~67)~y#q z{1XE;6i9T2n2+Z46{#Zc%CeYjRPgVUN#;Z}QXQx>8U(C|yE`t(goBEe_Ho4a zJ~(>!ylfAbxbW!3zXLsp?iyaH(_vwr*Bl%ebKg`G9{0!e?Cm87 z&3fZS@{Uz#1pJcd39Hv5!21#fWi$2q?x|%Z6Grs;rI2=|5;%=n(fLm^RZX*B>PR_P zdV7tZe8i(~IU8dJk|CfBErt)$fe%I+|3mQe$x(sPu4HeWm&P}DVL#Et>Gosb#={4? zL9e37x;cmXqC3TeA7EJi*s!~}nYiKz5&<6RkXoZm&lbx~980xwehU@c;5(E@7|D2l zB5CR9UY=C!84m4fex0xFmM7l?DFr9-bW>Rh_j{;IM=fvX3+S~E3gTIna-`5CZBJ`r@cR3B66~)ogjHj1?$T8_(y>1;ZtE*q^W&M}ii1 z<6N)#srK*K?CHOw*>{_OgCMBp&r~I4z7UTSs9w2fmK>;rz?Zm7Qw|p@+r4F_tN*`H z9ph=GR;Fr*862>e(FJQKsLaGe6Icl z9Nr4N;9cRVzbsd60a~Wx<<OVP4)7iX$vW}x(tq9FCPpu)82Oi|kb3lYpCxFa zzy(d?Oi!0M%{LDVbH*P?Icrbn(enuz_*8xLzBR;+^Axt^uEOl8d5Ko(IXgBoG6HDD zr^NjDjT?{`$net@u$tGav#)jpB~47a`iA@OCFi>qX zmk+sm&(*}msl2(qYqkNqgME@I$Xda0w(`%%N3d&m>w0UUj`m9T$-i`gGUUcY*k8XV zY~Fikw7Othst7BoGr|HCAGLnC`r=%X#qlrYz)TYI_`}@h^900x9%07)T6MB=X8QN` zH-=YHphe2*cx-*<>5T4S>*-&a0IbFK&FfeHjbpkB*ogM1sHjbS*X^E4W%M@^t7Fa| zMXJ~P6T(RE;|y9zJWi(u4u64z0*6uZ% z=bDycZ4M{v%?4m&ER?OKEW2R7z!q2fT|=Ku`j?WR)b~$CA8Py^)^&ZOcmDxi4 z;+{4wJ!e?a%9gjl@VPBRs#aD0f)9(P5y3hv%d>^98;brh&c7aW^O*` zx>OgD@I{;tB#-ls*VEEd<2<&Rt-al^Z5mIb2o92wz%AJ~YfEXE1Ad|SWr!?o$6js^ z8|?Mb>E%6)$293hO8D$DoyMY#DQyB=UReUy%Bq!d%sdKdgWelTRKofbn>zlVVnVdk zDGo&Wd9ANWMGSe-#82&e`vJiYit;85WHtfz8@7RDM1(3i2?3c zGJ^couY}BQGNGcPMJ<1K0xX1yI%jjS>Kqyi%qxJv;H$&vb;S7;W~sW9j*mOIL1CYp zX)lxPi&V-YWan~^nh%rE52-6-O{JWWiIc%z*>tIv54*zrcV&Y zQB0Khzs)SqrpumiwHo(ULB$15I1MJiLpx?7b9GDBn_p>SD|)y69vW)_QlA}`3M}L& zquOtr4wy^}KnW50F@+9}GU``WM(5X5QoyK58Ydej5TMs6N~;(ys`eT@A}u4@l8UN1 zZ(8QhA;fq2yH2K|j|%h^4?U&DJaM3zOS{65|8W7Cas`uK9sd7_OE#scds#-b*(JA6 zW6X1wRO{4ePQU%+VyV}p9!ecRAqPuZvOcWoA>W`*fZNPmk5}l=64BwjV4k zFj4Gt7}-;D?9^IQ_;Xh-ifHynd_tvP1V3Jv}Y$s}~GJtc9T~v-loc=@ztj ziD3jKnynheHxH>YUY1B+Ki{XQss$|=_?khW#=+;=WlTy+n4_hELPge#p)2!w<-127 z(IM^4yX&aTL%W~usyflc1f_hK@~lcR(XqiwFZs_sJx7;MpQUw2>^k4&uwg(gm;JxT z#!{JtVEDU6+!B16)l5x^p??l*%32 zT7gRxjhUIuTclZS>T4OttX}q6oSAU(^O0fX)|~x*L8jMKlPu}=dWWV2M^DjfDV4Z^ z67)tX^$m40TkqvZcGolN_bj{Y9~I(@EicG!TwBvI?bNC3Wv^NI_`BrN!78fyt!4U7 zlPmYI>ywcEgh|68oki~L@i6>u9#x_-PKDFE?f!(~yPpEj!8Wi3MuYaNF#> zy0I@X`nQg3Ig}0h#&+ao8`_fFC6uN+0&oY;!>vfuV(0x?<_lLgI_JrhT2nl&{W+1b ziqGQGesz5x<*-lG`Uw8HCkuC~6P{(Ot*1_WpiZPDNPTefx`Q*hp_T1M8CP4m&#IW>CSw+Vg>JHh+2Fiymwniz;^G`JMuxXwbjBQA=wvp zx0t6p3j%J9AKHHgSODdw;$j7sI)rSkvqkhG^7bSu=FEgKwBbUi;&d@L8J${cHplmmO76rUW23y;8; zyPhWxWW3!?gnKh9=MMlPTuMloq~MlIxZ=$F_@wI@*#U794+N^yDjQv0Duc#36M@ z-kgJZW_7@54vVcsx7zgAFCQ4&74nylOf6U{{X4006<9a`&IT|TwbBw?%xh05KA}99n<#-7WX4dJgxE}O+06N z`h<70jyIbGq57oVTJo3W0wz6kROO2zP9JL&vXsnc1TWU% zfg+j;b=s%o!-H0rtHrh*V)^ns3k%LfSYXpypnJM*#Ut|g-6hZN(`t&8W7qVL7jhW6 zk!f(j3*_%7#Z;;ROOMIZ=}VhxPq%&wv&A2ru{)M2?1$__y!U4av7WYEVzC^0-i78L zis+iSnwd+p-Ph;tjz!A6Mg*dw5#lhLv@o-;>*=f=tTKB*6|(h73stW5N-4Z8OV*cW z?uUlgJ!%*fT06#^@j|)FqBGKbW2C&jQ2b=VrCXXT)O)#~u+M>Yh-k%eW#=j|S^3s^ zv)u*XcxfAwQ$6TrprXpeN+#q5Ej_)w*TpR8Qx&n8C>$@42aBgfE*DOhmzM!xn}r-H zXlTp;4mOKAoYI2#e0EbzObmit->iqbU1kT8gp;4H(Pw(kl}ej&rGoX%^9`R-bXrt= z3)eFtgqghFE%xzXzajSiD0Cj!rTKx)9C3Llf*g47xlrwK=_4KpMrb@-Tn^9!X>amL z`YUiF@T{%eTvAqeA)K}Cj&9vfTW>9_0ShB3w1hv)jeWJ-s4ttrNuU(>j1uN?*t#X) z^3cyWU&gD>vG@7C$0m6kz|5C}^>=~c=clKsyyi;FV#`;dgbxI zSiKvla88BhexY@M!rX#S=c3i$pg)kBx6$u1KMyGzUJ`J_5U$yNEUyk}dCaLOpr7=5 z$|vU+*A3dEKW8n6LpI~FoQLKOmDdK1)`Phh>3fwo4rzBbWJu?Q$$5sr92H0oz1)nG z`(p25VsH*fxOi+$c4srlE_pCPk_`hzbVt^p7;iJS+)e^b9xq)NU3B>1u$c!KpuRwt zsN0!}plQSXY`DCgdH;X4_vP_We*fEjGBijGh7d6bBPNwCTbK#iW*B5Je3U)=T11T{ z#!_P^yKH02k}XTJWQ!G}Si*Yo%D|M$=Pex3W==RVtg&ULQ$bp;1j zAG*^CIXfIi0GCIl-yN18W0!LM$HzQGH;qT|JryX<)u^8|#p7Dtsbc5$*2sG7qRiYK`3hU(v?L)?f*<>&*1$_!L|ebJ!}}R^s#}Et^+{5{h#*RA3L56I)tN0I{s) zaQ9ol!Im}?IGF-==^;iNTY?&ARRXs@lMc2|_C{V9g#IN7$#~iVTuq8f%Q!FV@O1}( z=)=@|%ANE%q!t!dw2BeZM9qWwoneEQ!>2*xVgq?Ox$_4NYZLxDe!o+Ivg_{3U=xtT z1*cXVTau1C4tGj+1|)0B&h)ET5AAsi^9O}rKa-IWe_4qh*+{T`X_;lMb);Lz721+5 z%%~lNVK7G0Vp`wL*?jZWJ*o71+Uag082oOl4afb>cG8HGn0p#cYcUo zkthgT4mZ7=wslutLO`D1a^90WOX)mMfK;HvVy8C!&OfFi3^{!Kr*GN_m~qdP-{Npe zP5IGd*I0Y~xaWgT@7&dkL~Nz^yt?~P+_eP@e%rBtUcozs#-Sv*wgsVaF55&yz?;rV z%XcmF_rF}mM%-h{i+WMRO_VPdMF{8S^mAGYJKq&Uu<0j(qkUJ^*aWt5B@I-;27aDI zj-)%4&g$2+1SNqg_r+4v+T&18%l0jxvY620G)#?d0lQMBAVEPv0SVx~y`XV1h;%e$ zml;UH-kqLS712+-QWe&HUi5>$%Afsr+XLF6s}~~zL#9qp#cZm z>434>1OhI$x}|<(rn=4dr99=nr$nZ2!j~GC-d{8*HZK42#xi9U2$}2xLlBRMe}DR{%o*%dD&;u)8{4LB8e@ z_e<5)JCBCOacbdbI=d^5S*u_yQWo&$xel#$E9ZHhPrO6F`*KiR5v4`jCww8`q_(Q1 zTxnwsm3XVa&(h*YH_^GpU%nchA184q@4oH#Mx$45?(Xwqu|f83cYb++9(=x< zo*FV*!vA`h$7b<(QT%t-sn7M*_j&Y|P?BFxpNJ!G&!1W{dV)+laJHFQ^%rTjh&45+ ztxS(5skby*pP5%|pJW^@r|W%1-|J62@!5+i?{HiVdQfULTxli}5K<)gX}*Jd6g|(h zcKr6R<(<=8f|cKszK^pJ83(-yk3Gh|@+5~g1kK+rMiqFQZFU3C%^#8z?E&;&pSP}7 zF+3tnef5EGWEq^sC4fo2v%TFaFmS55$-#j+X65&5;sYeLAwR>QEr;m`ji^=D)`)g zT4wbwpZMo@@=!UxDAp<%@Eie$3bK96X=Hw`B*}W>IoB(>=HJ@c*x8KU$QO;*_<~Lx zZrEzQpqE>B*%->Tmhaz8@=c2pJ9F>;71{~gwMb#Y@S7SJ{f=Yj&_2)A3%97xmIAj9 z^MZzX=|@rL^~VMsr%oO*GtTTt+bh{|+oA%+KiTaSTXL4{@Y^yM8`l5_&*iYDz=dhk z&#mphE)GAPab2!Q-S#G5FC>d4rhl?MF|unPG!2qDx#tlW`TpBI^k?TlE0v|Z+HyOLKn_f0!&CR7b^a2 zSsOS5mkfW^?cw_KXlGwvb2I#B+XBakKfAOz^XhqGZor}j_g!m;fB(GiyTxPt`f@xg z)iB?a?MdMWKr@oUs2oP3Ub3cLNK*+qF1Q$EzQ32_FI54kwxrqV&wK<@1d9%##I%ar zv?w$1s5{#|IrVTjsY{`wy+hV%WZXjn=t=w6*hD6dx=#KE=ra($j9T<^Uj^uJ^z3l7 z8Ku@mLs&?Nf8?N7){?+0eE1XH_pw}nFD|C74KswGG@Ej8V^y>T6EioeIxv{lBo zBtI>b%i^7nW8&hnCNbLWJydD&P%`7k)_HE|oJ`Cob=zjFEPFkSTPQS3d5X za0N|b3US0n%g@ix+8Xh)x1`a&g3jba(f`E)tc%3NcE5cU0ZVc0x%0J#3r%|}_EXJ& zmdjgY?vHJNWAOwePElqgiAWBW- z(vQ>bsEv*?akBmUY-AQGFXu5>ZNHFCc;uK@DjFNT?FjJw2)p6u)kJz*K3JXGl) zq4se}tN5dME}<2!pi(H=H46zB^W|<+7Hxd*8fP7pXdewL9!^7M;CCLKN`+qC3Y2Vm z_>5)YFNmV=dvrmCwy;2y#Dt?1@zT+H$Fnt^#Q(7qW6j|Oe%q8zkpxp=c`*SwIW&Je z+w_~H*`L;sH(jYF?q7Yy19zIXgp%X#0!!x`TazdNd`$0)w1`YqJkSf)1W!o?J-Gsa z4}&Z#zkq;}*5?9p5$TY41g65YW6FmnecCTwb@!TC+V`z@(Tm+;OeeDaJ2^zP>%vN6 zb7Swf2afB;k7X6)<+VO8ZZPU=>+0%i!_Mkuj=_MxkTO3%KR5zZR+f|&#<;Pj7|wZ^ znRQqu3ZzF3U;Tv<7)^9(dA(`nH_=0jj6VzYJSH-zU5MpQVh`Hv{PTm8CAaH9Qt%ES zvCu=$GB7XAtxs z)<19=#HY9?%zlpFhg2OtNFdG%Yx~ZIlbb}*daP$Dw{KcmQ4k$}ZE0Kz?o_beNT2M_ zl`+x^h+nC@GsHxWld$qA_x3WYAcEP(a}YF`Kh!q5U~ZCyR>CbslH zOD_J+KYtmo5p1!Ot=R)_)=-4j`L}_#y*AWwFh^FNUU>ypAD^5hz&GiUMwBFWtyW zMXC0|xBMI47m;cEo<fOq*zegPSR>)qO_MWXDK{+6oecuB#Vdu z(Nr-30V439$&m@i{bo9^ys&Hvio+1*X}C)#uI(63o(?HnSsE$TfB2B#$7>Vze+2-X@Kp0s zr`k!WO?MFb(1je*#NC%2Ts%7RDD%lIdrYEjBh=XQao<5(atX1ezln zQZVVtsE5ds4;K4s8o}LoJ&HvQ|F&NKEL&_G8=&lPaHpcg+-mti>N)XCeA0VyYp=g#eJZ`V!{M*J@KT<75aGC$1q^!+`UJTsU1a;IQb>t);a|zi%1fNT5z!S~FyC4J(B5eTJXu zG;+*~o9e;Q*!Y;2EeCpr*hf*%S)@pXTJ*j-Gx4xU)kR#xD8A-z4b@zIQ7DV~5ZMYr z4Z>BAZHw|Gd%oFAGT?c8FVgHq_}E`q7nLawP-J-B9+2+%4>>C)XUv(O=SAsfR(K>e z2B?%jI#Wsue~EFkQpY&BX9M+yjB-CSUt7n*n_%H2|D~#mMy9StO;?^W_>q4-xXt?g z?y7XPAd;l5bw%~xMua_gB{WqtGAe;8YnUeuyb6kE=J5W(amB+FHq{Pv%2DUl=U_G! z#KEdZ0ic3Uo?hATNbG)bczf525E z|GolR3V*|1*Cmq;Sxpd-b$CWNj(m9eOv13*p|bfWR#l?h^yDebb2zr{rD!F0FANU* z1)ij}fSEIzLguci++GniUBA5ZKsnrwIaLAj7E{fY)2oIU^ZXH`J!i_EmVnTOV^p<$ zBgp)QCXfQf262JNiLZJP2S>CVQng87GRmx7*I1-SylAFI8j6MJi<7fJ@fOTWiVgQj zH{v$>&0gKf&2JDbDg5VwhTrVT717SJANBT{ssl*Ji0MnH}iGApPw5so_RVUEJ89ALup*PV1zs3 z#Uha;h6aRvDubcb1k7U?gS~I|Z7F1y!2U*V6v6qr8jXE)b*er-34w9nihoBBny5FJ zp1MdTolC2}d$-B(c$3e0;hI{*9i(1T*1w|ssPXCZYJaZ6oJmpZmymt`P zbBRO$YGM|L>OL~qifPpn?>9&RMM zm~M5%U?BKGKc`2=Br>gFud*4g7bj<^?<2T6*N#)?(oLIKy>v~A1#U5--&(p!&PpwV zW<(R%Yeow_eF?&7-p@&wlk_Jocw#RNMr38@$ieI6t3}CRSd`VFh`5i&PqZ|g@K+?? zn*;JTZf;jbQlQ|!od{T%b|P;936j(Y|S5d zm-~9Voaf)ROr05iGdexw2ki%FfTZb>Qe}l#K zW(tj`5iOpnaonr5A{MF^$_4uc$FN{9ua^4L_tf?DE1+eemwQshdBWcP>dy(Y;JiP3 zX%*L-i+whiwdCELQJphRC2&U6$F8%E^JYP1;F#xV%&X7vq(B{)+oAMV^DrNEEFh&# zF`dfM+dGNaTjm-(%!sxhBy^bWC5c9g*o=a3-rcr;gQCzB&GFb|KVp>Hp+fIH&F>#X)&y*YeL~<}Ez)9?{MATUb(8M3!~< z-QMSL9BdFtgyGZ2+zbe5Qh5;FH4R{+{x*289LjM0?IX|y3q?JcfLEs~lLhQLy(z@x z(%@@GbMqR_6oGbSy#~|QG}3T&HsKNWR1aJn`&gwI65;q>oOD|ta@xEwo8Qg-^IKDp zx2J&GFoMzE<4ZqcNF*6@{K3QMBsw~Y%ml8aCWBQU zq%&MeXcLY%ywDMrw*DpbapznN{;CUBJF?`CR0O`!!UXb~&BiBM+;ZLH%#!pLz?~r? zOA`_Etr0xJ=qL0>vSy_(6La+NSMF_GI}WM-3~#LkKds;fKMKTtPH6F{r zwxXFl&ns_)c@fjpe8%<30m?VW`TENQ@6q|y;WdIFMhZ#*(b(?4k~$j@`_}&Qfue)diN3vA0N)5KVFVYY%7@)?r1I)CoPY%6o1Nff*XazsyAL72!A09jmY`} z@7&dCP{%=d_KFG%1|eDr05MvHILei3UX7 zBZl_gVN7&>$Sl3N$Mbs7P5l22xpjcLwxW`cv1wVKH06jSUP!2?{Z&APcF)z#bz*eg zs?wlTr55dG8|@3qhuTgSuyJ7tQc_W*81YdXqX73z1dq=3_kRcod#)_ecoBK#c>L6& zKb`~4C=C-sZ5ou$y#EWdiO@Ujf3wqYpd$*+pAilHoNgn`j}kJ zcfkD>Q*e7^U+#g%ljIW*k>(<{b5e5kdN$*nSx~)XJowxBP(nsEBXcDeJ)zwSei6@; zeSb!K09r|5xc%H(lc0cYu5TzXqF0V+%^P0I^{&*uh1zl_;30cp+Hi27j7mv|u~@ce zsWIug&Hii>xk+)u;L%%I)m>{D-0I=Jh+fZ!UbbCl=FsilIN0^{12@I0?-DU)lX9Zh zLh3HoPYx-Rq1?O#%4_G|^kFf0NGT1}G;V%!t~?12O=jC z6pK%3KkMntTenlEpyFC+ReXb{ob=@-CV@n`MY<*}HKFk$VHc^AvO?&Z`&#p53EK^+ z&XBRUCVXlu*E8bTn4F6xkq8%$wR%kp9e1bG6qdd0h>P2_f39@25fFsYS7)NpnD!Sh zFy+O1Z)QGq<=tUMvlGOerZoGQ{2WBxHEXOJqZU!#+0IX`F~wW} zevYCfTz0VLHhMflz@x{PKElWU(Jx;f6L;|;bQp`2iW!v*fOfP1!KZ7Cwf*t<}H ze9<6VvRQh=!YsPoFb6Ty-R;S6RsbzYloT><*cod~vcq87w?}Q{1+Scz4tqWxX=rlv zu#e*ZG%egO806H^9=76ABo#6%X7(CP&2TFZt9sgw~w|R ze-j7o_YKqw59+;v90RRyFVJaMYYIrHRVKcT1n*bCVBYzoc86zE+Sqy2($s@ZWFIEg z?mm>DYcn@S3e;K3UlrJ)Ias@ zQB}D^M2O}5Mav;L%+i3fzkTjNdU*?>er#9%n_!+L z{Eh~c;F{%X+Yn+S18pd(*8ZY99U*XrbFFgc*4cT%y(;2BZ5~EQKLoYbdboF?06(ri zX>@wDn^!eLjBfeIUey9SFc2x*ipakmzb(X1R(WenLf;x|_sxO>4!a!*$NPB;384S!X+*fr^>t>= zmtnQ=XiD(21oL-r~K6ydPzS0g4|C_ql@7U;ah<#-0WK?SQh2Ss+T^bxLyW0NT z-m8I`FX{`|^pYLF$Jt*(vf??*FS+vZYP)v07Byg*8_x&VXlVHVO$;`wc2affD-*(h zQvrZLgszq@#)T8)4??Hxqg!bnXfj8TA;W-c^tofYTV6sx@;_JRt<&&P4Zr9@O{@jj zAuCU23$sp&{3n-+&?L}LIR7^#y3t5mC_ojjll>Mb#Bmc*Lizit|9PyQCv%9EJ`)Z% z6ulDieEf+kLxfnp+J908Fivr@8hWG`CjV_RKaqNEO`Y!H9BVo-sm+Lal#`PwN$8HV zj$l|RY(;^qr|r9J8HNJMw>7eYkJ{!8Fu&_)&b0*SQU0P9FCdHB+$&* zp)M?nTqDJ*hudY}ucIZCWmUg}M@7#QX)wYjH>DBvG>*aR>No+t?=Y_Iz-Mv2pVK8X zz}Y51V$jk@f6ZReAO}DU!~d_&-G498(*Lc4|JK3Z@$vuF4}P5dbL!N|iNArp)2UOZ e=>9GnXinAO27+8CQi8#qQ(723beWnJ>3;y*b4|Yh literal 0 HcmV?d00001 diff --git a/ui/types/cloud-upgrade.ts b/ui/types/cloud-upgrade.ts index 39d7fd113e..e612f72f3e 100644 --- a/ui/types/cloud-upgrade.ts +++ b/ui/types/cloud-upgrade.ts @@ -19,6 +19,7 @@ export type CloudUpgradeFeature = // Prowler Cloud features gated behind a paid plan. export const PAID_PLAN_UPGRADE_FEATURE = { + REGISTRY: "registry", REPORT_DOWNLOAD: "report_download", } as const; diff --git a/ui/types/registry.ts b/ui/types/registry.ts index 954b794b81..5820214a4e 100644 --- a/ui/types/registry.ts +++ b/ui/types/registry.ts @@ -9,6 +9,7 @@ export type RegistryEndpoint = (typeof REGISTRY_ENDPOINT)[keyof typeof REGISTRY_ENDPOINT]; export const REGISTRY_FAILURE = { + SUBSCRIPTION_REQUIRED: "subscription_required", ACCESS_DENIED: "access_denied", ONBOARDING: "onboarding", RECONNECT: "reconnect", @@ -17,6 +18,7 @@ export const REGISTRY_FAILURE = { } as const; export type RegistryFailureResult = + | { status: typeof REGISTRY_FAILURE.SUBSCRIPTION_REQUIRED } | { status: typeof REGISTRY_FAILURE.ACCESS_DENIED } | { status: typeof REGISTRY_FAILURE.ONBOARDING } | { status: typeof REGISTRY_FAILURE.RECONNECT } @@ -300,4 +302,5 @@ export type RegistryBootstrapResult = status: typeof REGISTRY_BOOTSTRAP_STATE.READY; state: RegistryBootstrapState; } - | { status: typeof REGISTRY_FAILURE.ACCESS_DENIED }; + | { status: typeof REGISTRY_FAILURE.ACCESS_DENIED } + | { status: typeof REGISTRY_FAILURE.SUBSCRIPTION_REQUIRED };