From 458db1cd02100333c4a06ffccd2ad01ade7f3b13 Mon Sep 17 00:00:00 2001 From: Bill Glesias Date: Mon, 12 Jun 2023 09:54:26 -0400 Subject: [PATCH] chore: merge develop -> v13 6/8/23 (#26976) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * docs: revise contributor advice for node.js setup (#26652) * feat: initial release of cypress/vite-plugin-cypress-esm (#26663) * chore: release @cypress/vite-plugin-cypress-esm-v1.0.0 [skip ci] * chore: upgrade Lerna to v5 and use Nx (#26660) * dependency(deps): update dependency engine.io to v6.4.2 [security] (#26664) * dependency(deps): update dependency engine.io to v6.4.2 [security] * updating changelog --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Matt Schile * fix: updated CYPRESS_DOWNLOAD_PATH_TEMPLATE regex to allow multiple replacements (#25531) * feat: Component Testing banner (#26625) Co-authored-by: elevatebart * chore: Update v8 snapshot cache (#26647) Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com> Co-authored-by: Ryan Manuel * chore: 12.12.0 release updates (#26697) * chore: cypress[26674] updated github workflows to use checklout@v3 and stop using set-output and move to file use (#26696) * fix: move types condition to the front (#26630) * fix: move `types` condition to the front * chore: update changelog * optimize deps for vite * update config * try optimizeDeps.include * missing dep --------- Co-authored-by: Lachlan Miller * fix: revert #26452 (Yarn Plug n Play compat regression) (#26735) * Revert "fix: correctly resolve dependencies for CT onboarding when using Yarn Plug n Play (#26452)" This reverts commit 7a33f5c1a87f5a3aa3b8da575b39e42f93bfd5db. * changelog * changelog * chore: fixing PR link in releaseData.json (#26734) * chore: update stalebot config (#26745) * misc: ACI empty state slideshows (#26692) Co-authored-by: Stokes Player * fix: do not cache module resolution during launchpad dependency detection (#26726) Co-authored-by: Mike Plummer * fix: Vite esm plugin issues (#26714) * chore: Update v8 snapshot cache (#26707) Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com> Co-authored-by: Ryan Manuel * chore: adding in repo token to explicitly use that while running commands [skip ci] (#26746) * chore(dependency): update dependency @percy/cypress to ^3.1.2 🌟 (#26717) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Chris Breiding * chore: Remove console.log (#26756) * chore: put types condition first in the syncing script (#26743) Co-authored-by: Chris Breiding * test: create lists files after folders when in same directory in specs list (#26723) Co-authored-by: Chris Breiding * chore: update vm2 to 3.9.19 (#26772) * chore: add telemetry to the proxy (#26695) * chore: set up instrumentation and instrument middleware * chore: set up console exporter * chore: add parent span option to telemetry package * chore: set up telemetry verbose mode * chore: instrument the network proxy - part 1 * chore: make sure to terminate spans when request is aborted * fix telemetry, create/end the request middle prior to sending the outbound request * avoid telemetry ts build step, create entrypoint into packages/telemetry using TS conventions * allow env vars to be "true" or "1" * when creating child span, inherit their attributes directly from the parent * create custom honeycomb exporter and span processor to log traces * remove duplicate code that's already called in this.setRootContext * cleanup * more clean up * update honeycomb network:proxy attributes, update console.log message * yarn lock * chore: remove performance API in middleware * chore: end response on correct event * recursively gather parent attributes on close * added key and some clean up * github action detector, move verbose into index, verbose log commands * some tests * clean up honeycomb exporter * some renaming * testing console trace link exporter * Don't lose the top span when running in verbose. * link to the right place for prod/dev * changes to verbose to make sure it is read in the browser * Apply suggestions from code review * pass parent attributes between telemetry instances * default to false * 'fix' build issues * src not dist * add back on start span * once more with feeling * Fix some tests * try this i guess * revert auto build * Apply suggestions from code review Co-authored-by: Bill Glesias * support failed commands * Address PR comments * Address PR Comments * error handling * handle all the errors --------- Co-authored-by: Bill Glesias Co-authored-by: Brian Mann * chore: update triage workflow to add comment to contributor prs (#26493) Co-authored-by: Ben M * chore: telemetry pr cleanup (#26776) * fix: fix UI flash when switching to debug page (#26761) * chore: add Nx Cloud (#26712) * chore: add empty nx.json [run ci] * chore: add nx cloud runner [run ci] * chore: add nx-cloud dep [run ci] * chore: update local nx cloud accessToken to be read-only * feat: update git related messages for runs and debug (#26758) * feat(app): update DebugError copy * feat: set isUsingGit project flag and consume in DebugContainer * feat(app): update not using git icon for DebugError * feat(app): displays alert on runs page when not using git * feat(app): add component for when no runs for current branch * feat(app): add warning for no runs for branch on runs container * chore: add feat to CHANGELOG * chore: remove logged status value * chore: resolve import from merge conflict * test(app): stub branch name for e2e runs spec * chore: add line break in changelog entry * chore: cleanup PR * chore: fix i18n import for DebugBranchError * chore: add utm and update Warning links to inline * chore: capitalize Git in i18n * ref: warning liink * test: add i18n to tests * test(app): change utm_source assertions * chore: cleanup pr * chore: remove unused prop * test(app): remove no git warning when moving to runs page in e2e * chore: change template logic * chore: remove duplicate RUNS_TAB_MEDIUM const * Changed Debug test assertion and reordered new components for Debug --------- Co-authored-by: Stokes Player * chore: rename video processing events to capture/compress (#26800) * chore: change processing nomenclature to compressing when printing the run. * chore: rename 'capturing of' to 'capturing' * chore: rename upload results to upload screenshots & videos (#26811) * chore: rename upload results to upload screenshots & videos * run ci * chore: capture versions of relevant dependencies with `x-dependencies` header (#26814) * chore: update changlelog script to handle revert pr ref (#26801) * fix: Correct typescript scaffold dependency (#26815) * fix: correct typescript scaffold dependency (#26204) * add changelog * Update change log for PR comment Co-authored-by: Mike Plummer --------- Co-authored-by: Mike Plummer Co-authored-by: Mark Noonan * chore: 12.13.0 prep (#26833) * chore: 12.13.0 release (#26834) * chore: 12.13.0 changelog fix * remove pending, bump version * fix typo * chore: release @cypress/vite-plugin-cypress-esm-v1.0.1 [skip ci] * chore: Implement runSpec mutation (#26782) * chore: replace gitter badge with discord on readme (#26771) * chore: add GraphQL mutation for sending system notifications via Electron (#26773) * fix: upgrade typescript from 4.7.4 to 4.9.5 (#26826) Snyk has created this PR to upgrade typescript from 4.7.4 to 4.9.5. See this package in npm: See this project in Snyk: https://app.snyk.io/org/cypress-opensource/project/d5b36925-e6ee-455d-9649-6560a9aca413?utm_source=github&utm_medium=referral&page=upgrade-pr * test: fix 2 broken tests for Windows (#26854) * Update stale_issues_and_pr_cleanup.yml Upped the number of operations per run. Have been manually doing that so this job can get through all the issues in the repo with no problems. * chore(dep): [Snyk] Upgrade vite from 2.9.13 to 2.9.15 (#26830) Co-authored-by: Ben M * Update triage_add_to_project.yml * chore: fix minor background color styling in debug results component (#26887) * Update stale_issues_and_pr_cleanup.yml stalebot was incorrectly configured to run in debug mode. I have updated the default to run in normal mode when running scheduled * chore: Deprecate @cypress/xpath package (#26893) * chore: add telemetry realworld app (#26896) * chore: capture telemetry for realworld app maybe * idk what i was doing * setup record key and telemetry * testing * override project id * some times we just need a little context. * Adding tests * Adding comment * chore(deps): update dependency find-process to v1.4.7 🌟 (#26906) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Jennifer Shehane * chore(deps): update dependency firefox-profile to v4.3.2 🌟 (#26912) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Jennifer Shehane * chore: add browser state action for debug (#26884) * chore: add browser state action for debug (#26763) * Address PR comments - remove unneeded async and test context - genericize openProject function * Revert route change, update spec description * chore: replace gift devDep with simple-git (#26728) * chore: replace arg devDep with minimist; remove unused shx devDep (#26727) * chore: enable caching for lint task (#26791) * chore: remove old performance reporting (#26920) * chore: remove old performance reporting * remove libhoney dep * try this * build and build snapshots if deps are out of date * foiled by a comma * freaking comma * no snapshots maybe ugh * ignore engines instead * don't need this * remove rename support file step * chore: update Snyk to scan all projects (#26867) * SEC-544 chore: [Snyk] Update Snyk flag in Git actn * Update snyk_sca_scan.yaml Removed --debug switch from the test command --------- Co-authored-by: brady-cypressio <90723145+brady-cypressio@users.noreply.github.com> * chore: skip problematic component tests that fail on contributor PRs (#26924) * chore: omit unused circle variables that cause contributor PR issues (#26935) * chore: make git message warnings remain dismissable (#26812) * feat: make git message warnings remain dismissable * chore: update CHANGELOG * chore: update CHANGELOG * chore: remove unneeded code * chore: update BannerId types * chore: fix queryies * chore: clean up PR * chore: move TrackedWarning to frontend-shared * chore: update import * ref: move TrackedWarning to TrackedBanner * chore: udpate CHANGELOG * fix: update TrackedBanner to parse markdown message * chore: set TrackedBanner default message prop * chore: update RunsContainer * chore: add missing tests and update alert type --------- Co-authored-by: Stokes Player * chore: replace fast-glob with globby; remove unneeded getenv dep (#26730) * fix: update angular dep min versions (#26908) * fix: update angular dep min versions * chore: update CHANGELOG * chore: add line break to changelog * chore: update changelog pending release date * chore: remove whitespace * fix: upgrade typescript from 4.2.3 to 4.9.5 (#26858) Snyk has created this PR to upgrade typescript from 4.2.3 to 4.9.5. See this package in npm: See this project in Snyk: https://app.snyk.io/org/cypress-opensource/project/5fdaebf8-b115-41d1-a2d9-857261769179?utm_source=github&utm_medium=referral&page=upgrade-pr Co-authored-by: Bill Glesias * chore: Update v8 snapshot cache (#26762) Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com> Co-authored-by: Ryan Manuel * feat: Implement testing type switch promos (#26894) * feat: Implement testing type switch promos * Add tests, changelog entry * Add tests * Fix button styling * Styling fixes, add framework links * Add missing testId * run ci * Fix spec * chore: updating v8 snapshot cache * chore: updating v8 snapshot cache * chore: updating v8 snapshot cache * Fix styling issues * Resolve code review findings * Fix issue with yarn.lock * Fix extra padding at bottom of promo * Add tests for utm params * Add test for switching testing type when both configured * Fix changelog version * Address review comments * Widen promo when no image defined * Prevent flash of promo before query resolves * Reduce top margin * reduce size of text box to match latest figma * update button style to match figma * increase width at which we collapse sidenav * add short versions of the headings * remove skeletons from header * avoid extra height * adjustments for column alignment * fix flaky test * update tests for responsive text changes * update changelog * restore spacing between header items * avoid occasional flash of promo on page load * update text handling * fix types and tests * Update packages/app/src/specs/SpecsList.vue Co-authored-by: Stokes Player * updated final e2e bullet * fix question mark icon flashing * text formatting * remove superfluous snapshot [skip ci] --------- Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com> Co-authored-by: marktnoonan Co-authored-by: astone123 Co-authored-by: Stokes Player Co-authored-by: Lachlan Miller * chore: release internal-scripts-v1.0.0 [skip ci] * chore: fix changelog links (#26948) * chore: 12.14.0 release (#26950) * chore: Update Chrome (stable) to 114.0.5735.106 and Chrome (beta) to 115.0.5790.13 (#26650) * chore: bump cache version (#26952) Co-authored-by: Ryan Manuel * chore: move release date (#26958) * chore(deps): update dependency @antfu/utils to ^0.7.0 [security] (#26923) * chore: fix base error styling (#26954) * chore: remove low value percy snapshots (#26934) * chore: remove low value percy snapshots * chore: remove more low value percy snapshots [run ci] * chore: remove more low value percy snapshots * remove additional snapshots * reduce snapshots * fix types --------- Co-authored-by: Lachlan Miller * chore: changelog updates (#26964) * chore: stabilize side navigation bar during loading and switching testing types (#26953) * fix: log video path if exists, regardless of compression (#26813) * chore: print the video path whether or not compression is on or fails * chore: fix video replacement regex * chore: add bugfix entry * feat: allow users to pass true to videoCompression config and only a… (#26810) * chore: allow users to pass true to videoCompression config and only allow valudes 1-51 inclusively to be passed in * run ci * chore: allow zero to be option for CRF as we will coerve it to false and skip compression to have a lossless video, which has the same effect * Update cli/CHANGELOG.md * chore: update videoCompression types * chore: update changelog * Update cli/CHANGELOG.md * Update cli/types/cypress.d.ts Co-authored-by: Emily Rohrbough * Update packages/config/src/validation.ts Co-authored-by: Emily Rohrbough * chore: update config snapshots * Update packages/config/test/validation.spec.ts Co-authored-by: Emily Rohrbough * chore: add system test on videoCompression=true coersion * chore: document 0 as being false and not a valid CRF option for cypress video compression and make CRF valid values 1-51 * chore: fix types * chore: fix types * chore: fix change to log as feature and not bugfix * chore: fix server side unit tests --------- Co-authored-by: Emily Rohrbough * chore: trigger mac/linux/windows binary builds and v8 snapshot cache update tests * chore: updating v8 snapshot cache * chore: updating v8 snapshot cache * chore: updating v8 snapshot cache * chore: fix possible bad merge from mismatched snapshot in CLOUD_AUTO_CANCEL_MISMATCH test * chore: fix possible bad merge from mismatched snapshot in record_spec system test * chore: updating v8 snapshot cache * chore: updating v8 snapshot cache * chore: updating v8 snapshot cache --------- Co-authored-by: Mike McCready <66998419+MikeMcC399@users.noreply.github.com> Co-authored-by: Lachlan Miller Co-authored-by: semantic-release-bot Co-authored-by: Adam Stone-Lord Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Matt Schile Co-authored-by: Mahdi Khashan <58775404+mahdikhashan@users.noreply.github.com> Co-authored-by: Mike Plummer Co-authored-by: elevatebart Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com> Co-authored-by: Ryan Manuel Co-authored-by: Ben M Co-authored-by: Mateusz Burzyński Co-authored-by: Stokes Player Co-authored-by: Mike Plummer Co-authored-by: Chris Breiding Co-authored-by: Luis Furtado <46112985+luis-furtado@users.noreply.github.com> Co-authored-by: Matt Henkes Co-authored-by: Brian Mann Co-authored-by: Emily Rohrbough Co-authored-by: Jordan Co-authored-by: Stokes Player Co-authored-by: Dave Kasper Co-authored-by: Mark Noonan Co-authored-by: Ely Lucas Co-authored-by: Snyk bot Co-authored-by: Jennifer Shehane Co-authored-by: cypresschris <96069059+cypresschris@users.noreply.github.com> Co-authored-by: brady-cypressio <90723145+brady-cypressio@users.noreply.github.com> --- .circleci/cache-version.txt | 2 +- .circleci/workflows.yml | 52 +- .eslintrc.js | 1 - .github/workflows/snyk_sca_scan.yaml | 4 +- .../workflows/snyk_static_analysis_scan.yaml | 2 +- .../workflows/stale_issues_and_pr_cleanup.yml | 12 +- .github/workflows/triage_add_to_project.yml | 25 + .../workflows/triage_handle_new_comments.yml | 2 +- .github/workflows/update-browser-versions.yml | 10 +- .gitignore | 2 - CHANGELOG.md | 1 - CONTRIBUTING.md | 3 +- README.md | 4 +- browser-versions.json | 4 +- cli/.eslintignore | 4 + cli/CHANGELOG.md | 69 +- cli/__snapshots__/download_spec.js | 4 + cli/lib/tasks/download.js | 8 +- cli/package.json | 40 +- cli/test/lib/tasks/download_spec.js | 7 + cli/types/cypress.d.ts | 7 +- cli/types/tests/plugins-config.ts | 2 +- lerna.json | 4 +- npm/angular/src/mount.ts | 1 + npm/create-cypress-tests/package.json | 3 - .../scripts/copy-templates.js | 4 +- npm/vite-plugin-cypress-esm/CHANGELOG.md | 13 + npm/vite-plugin-cypress-esm/README.md | 6 +- npm/vite-plugin-cypress-esm/cypress.config.ts | 2 +- .../cypress/component/assetTypes.cy.ts | 16 +- .../cypress/component/dynamicImport.cy.ts | 11 + .../cypress/component/fixtures/image.svg | 1 + .../cypress/component/fixtures/import-like.ts | 5 + .../cypress/component/fixtures/style.css | 1 + .../cypress/component/importSyntax.cy.ts | 12 + .../cypress/types.d.ts | 2 + npm/vite-plugin-cypress-esm/src/index.ts | 67 +- npm/webpack-preprocessor/package.json | 1 - npm/webpack-preprocessor/test/e2e/e2e.spec.js | 4 +- npm/xpath/.releaserc.js | 3 - npm/xpath/CHANGELOG.md | 13 - npm/xpath/README.md | 81 +- npm/xpath/cypress.config.js | 12 - npm/xpath/cypress/e2e/index.html | 26 - npm/xpath/cypress/e2e/spec.cy.js | 183 - npm/xpath/cypress/fixtures/example.json | 5 - npm/xpath/cypress/support/e2e.js | 16 - npm/xpath/images/cypress-xpath-reference.gif | Bin 707120 -> 0 bytes npm/xpath/package.json | 33 - npm/xpath/src/index.d.ts | 16 - npm/xpath/src/index.js | 165 - nx.json | 48 + package.json | 15 +- .../e2e/cypress-in-cypress-component.cy.ts | 14 +- .../cypress/e2e/cypress-in-cypress-e2e.cy.ts | 14 +- .../app/cypress/e2e/cypress-in-cypress.cy.ts | 33 + .../e2e/runner/cloud-debug-filter.cy.ts | 6 - packages/app/cypress/e2e/runs.cy.ts | 20 +- packages/app/cypress/e2e/specs_list_e2e.cy.ts | 18 +- .../app/cypress/e2e/specs_list_flaky.cy.ts | 2 +- .../app/cypress/e2e/specs_list_switcher.cy.ts | 95 + .../app/cypress/e2e/support/e2eSupport.ts | 18 + .../app/cypress/e2e/support/execute-spec.ts | 2 + packages/app/cypress/e2e/top-nav.cy.ts | 4 +- packages/app/package.json | 8 +- .../app/src/assets/debug-guide-skeleton-1.png | Bin 12695 -> 0 bytes .../app/src/assets/debug-guide-skeleton-1.svg | 68 + .../app/src/assets/debug-guide-skeleton-2.png | Bin 14015 -> 0 bytes .../app/src/assets/debug-guide-skeleton-2.svg | 52 + .../app/src/assets/debug-guide-skeleton-3.png | Bin 17369 -> 0 bytes .../app/src/assets/debug-guide-skeleton-3.svg | 91 + .../app/src/assets/debug-guide-text-1.png | Bin 37816 -> 0 bytes .../app/src/assets/debug-guide-text-2.png | Bin 33486 -> 0 bytes .../app/src/assets/debug-guide-text-3.png | Bin 22995 -> 0 bytes packages/app/src/assets/record-guide.svg | 72 + .../app/src/assets/runs-guide-skeleton-1.svg | 120 + .../app/src/assets/runs-guide-skeleton-2.svg | 121 + .../app/src/assets/runs-guide-skeleton-3.svg | 119 + packages/app/src/components/Blank.cy.tsx | 12 +- packages/app/src/components/Slideshow.vue | 45 +- .../app/src/components/SpecPatterns.cy.tsx | 2 - .../app/src/components/promo/Promo.cy.tsx | 126 + packages/app/src/components/promo/Promo.vue | 72 + .../src/components/promo/PromoAction.cy.tsx | 43 + .../app/src/components/promo/PromoAction.vue | 47 + .../app/src/components/promo/PromoCard.vue | 54 + .../src/components/promo/PromoHeader.cy.tsx | 17 + .../app/src/components/promo/PromoHeader.vue | 43 + .../app/src/composables/useRelevantRun.ts | 6 +- .../app/src/composables/useTestingType.cy.tsx | 119 + .../app/src/composables/useTestingType.ts | 72 + packages/app/src/debug/DebugContainer.cy.tsx | 125 +- packages/app/src/debug/DebugContainer.vue | 26 +- packages/app/src/debug/DebugFailedTest.cy.tsx | 4 - packages/app/src/debug/DebugPageHeader.cy.tsx | 1 - .../src/debug/DebugPendingRunCounts.cy.tsx | 4 - .../src/debug/DebugPendingRunSplash.cy.tsx | 7 +- packages/app/src/debug/DebugResults.cy.tsx | 2 - packages/app/src/debug/DebugResults.vue | 2 +- .../app/src/debug/DebugRunNavigation.cy.tsx | 2 - .../DebugRunNavigationLimitMessage.cy.tsx | 2 - .../app/src/debug/DebugRunNavigationRow.vue | 1 - packages/app/src/debug/DebugRunStates.cy.tsx | 56 +- .../app/src/debug/DebugSpecLimitBanner.cy.tsx | 7 +- .../src/debug/GroupedDebugFailedTest.cy.tsx | 2 - .../app/src/debug/LayeredBrowserIcons.cy.tsx | 2 - packages/app/src/debug/StatsMetadata.cy.tsx | 2 - .../src/debug/empty/DebugBranchError.cy.tsx | 12 + .../app/src/debug/empty/DebugBranchError.vue | 22 + .../src/debug/empty/DebugEmptyStates.cy.tsx | 176 +- .../app/src/debug/empty/DebugEmptyView.vue | 177 +- .../app/src/debug/empty/DebugError.cy.tsx | 10 + packages/app/src/debug/empty/DebugError.vue | 21 +- .../app/src/debug/empty/DebugNoProject.vue | 29 +- packages/app/src/debug/empty/DebugNoRuns.vue | 26 +- .../app/src/debug/empty/DebugNotLoggedIn.vue | 29 +- .../app/src/debug/empty/DebugSkeleton.vue | 56 - packages/app/src/debug/empty/DebugSlide.vue | 76 - packages/app/src/debug/guide/DebugGuide.vue | 52 + packages/app/src/debug/guide/DebugTour.vue | 76 + packages/app/src/debug/guide/GuideCard1.vue | 35 + packages/app/src/debug/guide/GuideCard2.vue | 35 + packages/app/src/debug/guide/GuideCard3.vue | 34 + packages/app/src/debug/guide/TourCard.vue | 36 + packages/app/src/debug/utils/constants.ts | 16 +- packages/app/src/layouts/default.vue | 8 +- .../src/navigation/SidebarNavigation.cy.tsx | 36 +- .../app/src/navigation/SidebarNavigation.vue | 9 +- .../navigation/SidebarNavigationHeader.cy.tsx | 2 - .../navigation/SidebarNavigationHeader.vue | 18 +- packages/app/src/pages/Debug.vue | 3 +- .../app/src/runner/SnapshotControls.cy.tsx | 4 - packages/app/src/runner/SnapshotToggle.cy.tsx | 4 - .../runner/SpecRunnerHeaderOpenMode.cy.tsx | 66 +- .../src/runner/SpecRunnerHeaderRunMode.cy.tsx | 7 +- .../automation/AutomationDisconnected.cy.tsx | 5 +- .../automation/AutomationMissing.cy.tsx | 5 +- packages/app/src/runner/event-manager.ts | 9 +- packages/app/src/runner/events/telemetry.ts | 65 + packages/app/src/runner/index.ts | 4 + .../SelectorPlayground.cy.tsx | 2 - .../app/src/runs/CloudConnectButton.cy.tsx | 12 +- packages/app/src/runs/CloudConnectButton.vue | 4 +- packages/app/src/runs/RunCard.cy.tsx | 12 - packages/app/src/runs/RunResults.cy.tsx | 4 - packages/app/src/runs/RunsConnect.cy.tsx | 2 +- packages/app/src/runs/RunsConnect.vue | 49 +- .../src/runs/RunsConnectSuccessAlert.spec.tsx | 3 - packages/app/src/runs/RunsContainer.cy.tsx | 136 +- packages/app/src/runs/RunsContainer.vue | 65 +- packages/app/src/runs/RunsEmpty.cy.tsx | 14 +- packages/app/src/runs/RunsEmpty.vue | 29 +- .../app/src/runs/RunsErrorRenderer.spec.tsx | 20 +- packages/app/src/runs/RunsErrorRenderer.vue | 4 +- packages/app/src/runs/guide/GuideCard1.vue | 35 + packages/app/src/runs/guide/GuideCard2.vue | 35 + packages/app/src/runs/guide/GuideCard3.vue | 34 + packages/app/src/runs/guide/RunsGuide.vue | 52 + packages/app/src/runs/guide/RunsTour.vue | 74 + packages/app/src/runs/guide/TourCard.vue | 36 + packages/app/src/runs/utils/constants.ts | 7 + packages/app/src/settings/SettingsCard.cy.tsx | 3 +- .../app/src/settings/SettingsContainer.cy.tsx | 8 +- .../app/src/settings/SettingsSection.cy.tsx | 2 - .../device/ExternalEditorSettings.cy.tsx | 17 +- .../src/settings/device/ProxySettings.cy.tsx | 4 +- .../settings/device/TestingPreferences.cy.tsx | 10 - .../src/settings/project/CloudSettings.cy.tsx | 4 +- .../app/src/settings/project/CodeBox.cy.tsx | 2 - .../app/src/settings/project/Config.cy.tsx | 3 - .../src/settings/project/ConfigCode.cy.tsx | 5 - .../src/settings/project/ExperimentRow.cy.tsx | 2 - .../src/settings/project/Experiments.cy.tsx | 2 - .../app/src/settings/project/ProjectId.cy.tsx | 2 - .../settings/project/ProjectSettings.cy.tsx | 2 - .../app/src/settings/project/RecordKey.cy.tsx | 2 - .../src/settings/project/SpecPatterns.cy.tsx | 2 - packages/app/src/specs/AverageDuration.cy.tsx | 8 - packages/app/src/specs/CreateSpecModal.cy.tsx | 2 - packages/app/src/specs/InlineSpecList.cy.tsx | 6 +- .../app/src/specs/InlineSpecListHeader.cy.tsx | 1 - .../app/src/specs/InlineSpecListTree.cy.tsx | 2 - .../app/src/specs/LastUpdatedHeader.cy.tsx | 4 +- packages/app/src/specs/NoSpecsPage.cy.tsx | 3 - .../app/src/specs/RequestAccessButton.cy.tsx | 4 - packages/app/src/specs/SpecFileItem.cy.tsx | 4 - .../specs/SpecHeaderCloudDataTooltip.cy.tsx | 49 +- .../src/specs/SpecHeaderCloudDataTooltip.vue | 8 +- packages/app/src/specs/SpecItem.cy.tsx | 2 - packages/app/src/specs/SpecNameDisplay.cy.tsx | 2 - packages/app/src/specs/SpecsList.cy.tsx | 27 +- packages/app/src/specs/SpecsList.vue | 33 +- .../app/src/specs/SpecsListBanners.cy.tsx | 239 +- packages/app/src/specs/SpecsListBanners.vue | 69 +- packages/app/src/specs/SpecsListHeader.cy.tsx | 10 - packages/app/src/specs/SpecsListHeader.vue | 11 +- .../app/src/specs/TestingTypePromo.cy.tsx | 69 + packages/app/src/specs/TestingTypePromo.vue | 297 + .../ComponentTestingAvailableBanner.cy.tsx | 87 + .../ComponentTestingAvailableBanner.vue | 145 + .../specs/banners/ConnectProjectBanner.vue | 4 +- .../app/src/specs/banners/LoginBanner.vue | 4 +- .../src/specs/banners/TrackedBanner.cy.tsx | 12 +- .../app/src/specs/banners/TrackedBanner.vue | 23 +- packages/app/src/specs/banners/index.ts | 2 + .../src/specs/flaky-badge/FlakyBadge.cy.tsx | 2 - .../specs/flaky-badge/FlakySpecSummary.cy.tsx | 97 +- .../generators/ExpandableFileList.cy.tsx | 3 - .../specs/generators/GeneratorSuccess.cy.tsx | 18 +- .../component/ReactComponentList.cy.tsx | 6 - .../specs/switcher/TestingTypeSwitcher.cy.tsx | 56 + .../specs/switcher/TestingTypeSwitcher.vue | 83 + packages/app/tailwind.config.cjs | 5 +- packages/app/vite.config.mjs | 18 +- .../__snapshots__/validation.spec.ts.js | 260 +- packages/config/src/browser.ts | 2 + packages/config/src/options.ts | 9 +- packages/config/src/validation.ts | 10 + packages/config/test/validation.spec.ts | 40 + .../src/actions/ElectronActions.ts | 17 +- .../src/actions/EventCollectorActions.ts | 24 +- .../src/actions/ProjectActions.ts | 183 +- .../data-context/src/actions/WizardActions.ts | 8 + .../src/data/ProjectLifecycleManager.ts | 2 +- .../data-context/src/data/coreDataShape.ts | 11 + .../src/sources/HtmlDataSource.ts | 2 +- .../src/sources/ProjectDataSource.ts | 53 +- .../src/sources/UtilDataSource.ts | 6 +- .../src/sources/VersionsDataSource.ts | 86 +- .../actions/EventCollectorActions.spec.ts | 24 +- .../test/unit/actions/ProjectActions.spec.ts | 174 + packages/data-context/test/unit/helper.ts | 2 + .../unit/sources/ProjectDataSource.spec.ts | 59 +- .../unit/sources/VersionsDataSource.spec.ts | 54 +- packages/driver/cypress/plugins/index.js | 2 - packages/driver/src/cypress.ts | 3 + packages/driver/src/cypress/command_queue.ts | 1 + ...tml => CLOUD_CANNOT_UPLOAD_ARTIFACTS.html} | 2 +- ..._FAILED.html => VIDEO_CAPTURE_FAILED.html} | 4 +- .../VIDEO_COMPRESSION_FAILED.html | 44 + packages/errors/src/errors.ts | 18 +- .../test/unit/visualSnapshotErrors_spec.ts | 11 +- packages/example/package.json | 2 +- .../support/mock-graphql/stubgql-Project.ts | 1 + packages/frontend-shared/package.json | 6 +- .../assets/icons/illustration-chart_x120.svg | 5 - .../assets/icons/illustration-debug_x120.svg | 8 - .../assets/icons/illustration-gear_x120.svg | 5 - .../src/assets}/logos/angular.svg | 0 .../src/assets}/logos/nextjs.svg | 0 .../src/assets}/logos/nuxt.svg | 0 .../src/assets}/logos/react.svg | 0 .../src/assets}/logos/svelte.svg | 0 .../src/assets}/logos/vite.svg | 0 .../src/assets}/logos/vue.svg | 0 .../src/assets}/logos/webpack.svg | 0 .../src/components/Alert.cy.tsx | 19 +- .../frontend-shared/src/components/Alert.vue | 11 +- .../src/components/Card.cy.tsx | 9 +- .../src/components/CopyText.cy.tsx | 1 - .../src/components/InlineCodeFragment.cy.tsx | 1 - .../components/NoInternetConnection.cy.tsx | 2 - .../src/components/ResultCounts.cy.tsx | 6 - .../src/components/ResultCounts.vue | 2 +- .../src/components/ShikiHighlight.cy.tsx | 18 +- .../src/components/ShikiHighlight.vue | 12 +- .../src/components/StandardModal.cy.tsx | 7 +- .../src/components/TerminalPrompt.cy.tsx | 1 - .../src/gql-components/Auth.vue | 10 +- .../ChooseExternalEditor.cy.tsx | 9 - .../gql-components/CloudViewerAndProject.vue | 53 +- .../gql-components/HeaderBarContent.cy.tsx | 43 +- .../src/gql-components/HeaderBarContent.vue | 20 +- .../src/gql-components/LoginConnectModals.vue | 8 +- .../LoginConnectModalsContent.cy.tsx | 6 +- .../LoginConnectModalsContent.vue | 32 +- .../src/gql-components/StatusBadge.cy.tsx | 2 - .../gql-components/TestingTypePicker.cy.tsx | 6 - .../composables/usePromptManager.ts | 28 +- .../src/gql-components/error/BaseError.cy.tsx | 52 +- .../src/gql-components/error/BaseError.vue | 2 +- .../gql-components/modals/LoginModal.cy.tsx | 4 +- .../frontend-shared/src/locales/en-US.json | 117 +- packages/frontend-shared/src/store/index.ts | 2 +- ...-store.ts => user-project-status-store.ts} | 73 +- packages/frontend-shared/src/utils/icons.ts | 23 + .../src/utils/isAllowedFeature.cy.ts | 75 +- .../src/utils/isAllowedFeature.ts | 44 +- .../src/warning/Warning.cy.tsx | 12 + packages/frontend-shared/tailwind.config.cjs | 5 +- packages/graphql/package.json | 1 - packages/graphql/schemas/schema.graphql | 77 +- .../enumTypes/gql-RunSpecErrorCodeEnum.ts | 8 + .../src/schemaTypes/enumTypes/index.ts | 1 + .../schemaTypes/objectTypes/gql-Mutation.ts | 68 +- .../src/schemaTypes/objectTypes/gql-Query.ts | 5 + .../objectTypes/gql-RunSpecError.ts | 16 + .../objectTypes/gql-RunSpecResponse.ts | 21 + .../src/schemaTypes/objectTypes/index.ts | 2 + .../schemaTypes/unions/gql-RunSpecResult.ts | 14 + .../graphql/src/schemaTypes/unions/index.ts | 1 + .../e2e/config-files-error-handling.cy.ts | 25 +- .../launchpad/cypress/e2e/open-mode.cy.ts | 26 +- .../launchpad/cypress/e2e/project-setup.cy.ts | 5 +- .../e2e/scaffold-component-testing.cy.ts | 38 +- packages/launchpad/package.json | 2 +- .../src/components/code/FileRow.cy.tsx | 4 +- .../src/migration/MajorVersionWelcome.cy.tsx | 4 - .../src/migration/OptOutModal.cy.tsx | 1 - .../src/setup/InstallDependencies.cy.tsx | 1 - .../launchpad/src/setup/ManualInstall.vue | 1 + .../src/setup/OpenBrowserList.cy.tsx | 4 - .../src/setup/SelectFrameworkOrBundler.cy.tsx | 4 +- .../src/setup/SelectFrameworkOrBundler.vue | 2 +- .../src/setup/TestingTypeCards.cy.tsx | 10 +- packages/launchpad/src/utils/icons.ts | 25 - packages/launchpad/tailwind.config.cjs | 5 +- .../lib/server/middleware/request.ts | 12 + .../lib/server/middleware/response.ts | 1 - packages/proxy/lib/http/index.ts | 53 +- packages/proxy/lib/http/request-middleware.ts | 244 +- .../proxy/lib/http/response-middleware.ts | 162 +- packages/proxy/lib/network-proxy.ts | 16 +- packages/proxy/test/unit/http/index.spec.ts | 10 +- .../test/unit/http/request-middleware.spec.ts | 2 +- .../src/ct-detect-third-party.ts | 41 +- packages/scaffold-config/src/dependencies.ts | 87 +- packages/scaffold-config/src/frameworks.ts | 56 +- packages/scaffold-config/src/searchUtils.ts | 71 - .../test/unit/ct-detect-third-party.spec.ts | 62 +- .../test/unit/frameworks.spec.ts | 58 + .../test/unit/searchUtils.spec.ts | 105 - packages/server/lib/cypress.js | 4 +- packages/server/lib/makeDataContext.ts | 9 + packages/server/lib/modes/interactive.ts | 5 + packages/server/lib/modes/record.js | 4 +- packages/server/lib/modes/run.ts | 67 +- packages/server/lib/open_project.ts | 16 + packages/server/lib/plugins/child/ts_node.js | 2 + packages/server/lib/util/print-run.ts | 38 +- packages/server/lib/video_capture.ts | 6 +- packages/server/package.json | 5 +- .../expected_stdout_bundle_failures.txt | 4 +- .../server/expected_stdout_failures_outro.txt | 4 +- .../server/expected_stdout_passing.txt | 4 +- packages/server/test/unit/config_spec.js | 14 +- .../test/unit/plugins/child/ts_node_spec.js | 4 + packages/socket/package.json | 2 +- packages/telemetry/README.md | 4 +- packages/telemetry/index.js | 5 + packages/telemetry/package.json | 1 + packages/telemetry/src/browser.ts | 7 +- .../detectors/githubActionsDetectorSync.ts | 31 + packages/telemetry/src/index.ts | 145 +- packages/telemetry/src/node.ts | 29 +- .../src/processors/on-start-span-processor.ts | 15 + .../src/span-exporters/cloud-span-exporter.ts | 29 + .../console-trace-link-exporter.ts | 77 + packages/telemetry/test/browser.spec.ts | 15 +- .../githubActionsDetectorSync.spec.ts | 97 + packages/telemetry/test/index.spec.ts | 68 +- packages/telemetry/test/node.spec.ts | 10 +- .../on-start-span-processor.spec.ts | 19 + .../cloud-span-exporter.spec.ts | 72 +- .../console-trace-link-exporter.spec.ts | 168 + packages/types/src/config.ts | 3 + patches/resolve-package-path+4.0.3.patch | 19 - {npm/xpath => scripts}/.eslintrc | 7 +- scripts/CHANGELOG.md | 150 + scripts/binary/index.js | 9 +- scripts/binary/move-binaries.ts | 49 +- scripts/circle-env.js | 14 +- scripts/package.json | 6 + scripts/sanitize.js | 10 +- .../get-binary-release-data.js | 16 +- .../validate-binary-changelog.js | 2 +- scripts/sync-exported-npm-with-cli.js | 10 +- scripts/unit/circle-env-spec.js | 50 + .../__snapshots__/async_timeouts_spec.js | 5 + system-tests/__snapshots__/base_url_spec.js | 10 + .../browser_crash_handling_spec.js | 30 + .../__snapshots__/browser_path_spec.js | 4 +- .../__snapshots__/busted_support_file_spec.js | 5 + system-tests/__snapshots__/cache_spec.js | 5 + .../caught_uncaught_hook_errors_spec.js | 20 + .../commands_outside_of_test_spec.js | 15 + .../component_testing_spec.ts.js | 120 + system-tests/__snapshots__/config_spec.js | 20 + .../__snapshots__/controllers_spec.js | 10 + system-tests/__snapshots__/cookies_spec.ts.js | 10 + .../cy_origin_retries_spec.ts.js | 5 + system-tests/__snapshots__/es_modules_spec.js | 10 + ...erimental_skip_domain_injection_spec.ts.js | 5 + .../__snapshots__/form_submissions_spec.js | 20 + system-tests/__snapshots__/go_spec.js | 5 + .../__snapshots__/headless_spec.ts.js | 10 + system-tests/__snapshots__/iframe_spec.js | 5 + system-tests/__snapshots__/images_spec.js | 5 + .../__snapshots__/interception_spec.js | 5 + system-tests/__snapshots__/issue_149_spec.js | 5 + system-tests/__snapshots__/issue_1669_spec.js | 5 + .../__snapshots__/issue_173_spec.ts.js | 5 + system-tests/__snapshots__/issue_2891_spec.js | 5 + system-tests/__snapshots__/issue_5475_spec.js | 10 + system-tests/__snapshots__/issue_6407_spec.js | 5 + system-tests/__snapshots__/issue_674_spec.js | 5 + .../network_error_handling_spec.js | 25 + .../__snapshots__/new_project_spec.js | 5 + system-tests/__snapshots__/only_spec.js | 10 + .../__snapshots__/page_loading_spec.js | 5 + .../pause_headed_exit_spec.ts.js | 5 + system-tests/__snapshots__/plugins_spec.js | 24 +- system-tests/__snapshots__/promises_spec.js | 5 + system-tests/__snapshots__/record_spec.js | 171 +- system-tests/__snapshots__/reporters_spec.js | 65 + system-tests/__snapshots__/request_spec.ts.js | 20 + system-tests/__snapshots__/retries_spec.ts.js | 10 + .../__snapshots__/return_value_spec.js | 5 + .../runnable_execution_spec.ts.js | 10 + .../screenshot_element_capture_spec.js | 5 + .../screenshot_fullpage_capture_spec.js | 5 + .../screenshot_nested_file_spec.js | 5 + .../screenshot_viewport_capture_spec.js | 5 + .../__snapshots__/screenshots_spec.js | 5 + .../__snapshots__/server_sent_events_spec.js | 5 + system-tests/__snapshots__/specs_spec.js | 5 + system-tests/__snapshots__/stdout_spec.js | 45 + system-tests/__snapshots__/studio_spec.ts.js | 20 +- .../__snapshots__/system_node_spec.js | 15 + .../__snapshots__/task_not_registered_spec.js | 5 + system-tests/__snapshots__/task_spec.js | 10 + .../testConfigOverrides_spec.ts.js | 20 + .../typescript_spec_support_spec.ts.js | 20 + .../uncaught_spec_errors_spec.js | 25 + .../uncaught_support_file_spec.js | 5 + system-tests/__snapshots__/user_agent_spec.js | 5 + .../__snapshots__/video_compression_spec.js | 149 + system-tests/__snapshots__/viewport_spec.js | 5 + system-tests/__snapshots__/visit_spec.js | 35 + .../vite_dev_server_fresh_spec.ts.js | 160 + .../__snapshots__/web_security_spec.js | 12 +- .../webpack_dev_server_fresh_spec.ts.js | 160 + system-tests/__snapshots__/websockets_spec.js | 5 + system-tests/__snapshots__/xhr_spec.js | 10 + system-tests/lib/normalizeStdout.ts | 4 +- system-tests/lib/performance-reporter.js | 157 - system-tests/lib/spec_helper.js | 1 - system-tests/lib/system-tests.ts | 17 +- system-tests/package.json | 3 +- .../config-with-ts-module/package.json | 2 +- .../config-with-ts-module/yarn.lock | 8 +- .../react-vite-ts-unconfigured/package.json | 3 +- .../projects/vite-ct-object-api/package.json | 4 +- .../projects/vite-ct-object-api/yarn.lock | 26 +- .../projects/yarn-v3.1.1-pnp/.pnp.cjs | 12852 ---------------- .../projects/yarn-v3.1.1-pnp/.pnp.loader.mjs | 249 - .../projects/yarn-v3.1.1-pnp/package.json | 6 +- .../projects/yarn-v3.1.1-pnp/yarn.lock | 1488 -- .../scripts/mocha-reporter-config.json | 2 +- .../scripts/send-root-honeycomb-event.js | 13 - system-tests/test/video_compression_spec.js | 36 + .../cache/darwin/snapshot-meta.json | 1334 +- .../cache/linux/snapshot-meta.json | 1354 +- .../cache/win32/snapshot-meta.json | 1353 +- yarn.lock | 4039 ++--- 465 files changed, 11291 insertions(+), 23745 deletions(-) create mode 100644 npm/vite-plugin-cypress-esm/cypress/component/fixtures/image.svg create mode 100644 npm/vite-plugin-cypress-esm/cypress/component/fixtures/import-like.ts create mode 100644 npm/vite-plugin-cypress-esm/cypress/types.d.ts delete mode 100644 npm/xpath/.releaserc.js delete mode 100644 npm/xpath/CHANGELOG.md delete mode 100644 npm/xpath/cypress.config.js delete mode 100644 npm/xpath/cypress/e2e/index.html delete mode 100644 npm/xpath/cypress/e2e/spec.cy.js delete mode 100644 npm/xpath/cypress/fixtures/example.json delete mode 100644 npm/xpath/cypress/support/e2e.js delete mode 100644 npm/xpath/images/cypress-xpath-reference.gif delete mode 100644 npm/xpath/package.json delete mode 100644 npm/xpath/src/index.d.ts delete mode 100644 npm/xpath/src/index.js create mode 100644 nx.json create mode 100644 packages/app/cypress/e2e/specs_list_switcher.cy.ts delete mode 100644 packages/app/src/assets/debug-guide-skeleton-1.png create mode 100644 packages/app/src/assets/debug-guide-skeleton-1.svg delete mode 100644 packages/app/src/assets/debug-guide-skeleton-2.png create mode 100644 packages/app/src/assets/debug-guide-skeleton-2.svg delete mode 100644 packages/app/src/assets/debug-guide-skeleton-3.png create mode 100644 packages/app/src/assets/debug-guide-skeleton-3.svg delete mode 100644 packages/app/src/assets/debug-guide-text-1.png delete mode 100644 packages/app/src/assets/debug-guide-text-2.png delete mode 100644 packages/app/src/assets/debug-guide-text-3.png create mode 100644 packages/app/src/assets/record-guide.svg create mode 100644 packages/app/src/assets/runs-guide-skeleton-1.svg create mode 100644 packages/app/src/assets/runs-guide-skeleton-2.svg create mode 100644 packages/app/src/assets/runs-guide-skeleton-3.svg create mode 100644 packages/app/src/components/promo/Promo.cy.tsx create mode 100644 packages/app/src/components/promo/Promo.vue create mode 100644 packages/app/src/components/promo/PromoAction.cy.tsx create mode 100644 packages/app/src/components/promo/PromoAction.vue create mode 100644 packages/app/src/components/promo/PromoCard.vue create mode 100644 packages/app/src/components/promo/PromoHeader.cy.tsx create mode 100644 packages/app/src/components/promo/PromoHeader.vue create mode 100644 packages/app/src/composables/useTestingType.cy.tsx create mode 100644 packages/app/src/composables/useTestingType.ts create mode 100644 packages/app/src/debug/empty/DebugBranchError.cy.tsx create mode 100644 packages/app/src/debug/empty/DebugBranchError.vue create mode 100644 packages/app/src/debug/empty/DebugError.cy.tsx delete mode 100644 packages/app/src/debug/empty/DebugSkeleton.vue delete mode 100644 packages/app/src/debug/empty/DebugSlide.vue create mode 100644 packages/app/src/debug/guide/DebugGuide.vue create mode 100644 packages/app/src/debug/guide/DebugTour.vue create mode 100644 packages/app/src/debug/guide/GuideCard1.vue create mode 100644 packages/app/src/debug/guide/GuideCard2.vue create mode 100644 packages/app/src/debug/guide/GuideCard3.vue create mode 100644 packages/app/src/debug/guide/TourCard.vue create mode 100644 packages/app/src/runs/guide/GuideCard1.vue create mode 100644 packages/app/src/runs/guide/GuideCard2.vue create mode 100644 packages/app/src/runs/guide/GuideCard3.vue create mode 100644 packages/app/src/runs/guide/RunsGuide.vue create mode 100644 packages/app/src/runs/guide/RunsTour.vue create mode 100644 packages/app/src/runs/guide/TourCard.vue create mode 100644 packages/app/src/runs/utils/constants.ts create mode 100644 packages/app/src/specs/TestingTypePromo.cy.tsx create mode 100644 packages/app/src/specs/TestingTypePromo.vue create mode 100644 packages/app/src/specs/banners/ComponentTestingAvailableBanner.cy.tsx create mode 100644 packages/app/src/specs/banners/ComponentTestingAvailableBanner.vue create mode 100644 packages/app/src/specs/switcher/TestingTypeSwitcher.cy.tsx create mode 100644 packages/app/src/specs/switcher/TestingTypeSwitcher.vue rename packages/errors/__snapshot-html__/{CLOUD_CANNOT_UPLOAD_RESULTS.html => CLOUD_CANNOT_UPLOAD_ARTIFACTS.html} (94%) rename packages/errors/__snapshot-html__/{VIDEO_POST_PROCESSING_FAILED.html => VIDEO_CAPTURE_FAILED.html} (78%) create mode 100644 packages/errors/__snapshot-html__/VIDEO_COMPRESSION_FAILED.html delete mode 100644 packages/frontend-shared/src/assets/icons/illustration-chart_x120.svg delete mode 100644 packages/frontend-shared/src/assets/icons/illustration-debug_x120.svg delete mode 100644 packages/frontend-shared/src/assets/icons/illustration-gear_x120.svg rename packages/{launchpad/src/images => frontend-shared/src/assets}/logos/angular.svg (100%) rename packages/{launchpad/src/images => frontend-shared/src/assets}/logos/nextjs.svg (100%) rename packages/{launchpad/src/images => frontend-shared/src/assets}/logos/nuxt.svg (100%) rename packages/{launchpad/src/images => frontend-shared/src/assets}/logos/react.svg (100%) rename packages/{launchpad/src/images => frontend-shared/src/assets}/logos/svelte.svg (100%) rename packages/{launchpad/src/images => frontend-shared/src/assets}/logos/vite.svg (100%) rename packages/{launchpad/src/images => frontend-shared/src/assets}/logos/vue.svg (100%) rename packages/{launchpad/src/images => frontend-shared/src/assets}/logos/webpack.svg (100%) rename packages/frontend-shared/src/store/{login-connect-store.ts => user-project-status-store.ts} (67%) create mode 100644 packages/frontend-shared/src/utils/icons.ts create mode 100644 packages/graphql/src/schemaTypes/enumTypes/gql-RunSpecErrorCodeEnum.ts create mode 100644 packages/graphql/src/schemaTypes/objectTypes/gql-RunSpecError.ts create mode 100644 packages/graphql/src/schemaTypes/objectTypes/gql-RunSpecResponse.ts create mode 100644 packages/graphql/src/schemaTypes/unions/gql-RunSpecResult.ts delete mode 100644 packages/launchpad/src/utils/icons.ts delete mode 100644 packages/scaffold-config/src/searchUtils.ts create mode 100644 packages/scaffold-config/test/unit/frameworks.spec.ts delete mode 100644 packages/scaffold-config/test/unit/searchUtils.spec.ts create mode 100644 packages/telemetry/index.js create mode 100644 packages/telemetry/src/detectors/githubActionsDetectorSync.ts create mode 100644 packages/telemetry/src/processors/on-start-span-processor.ts create mode 100644 packages/telemetry/src/span-exporters/console-trace-link-exporter.ts create mode 100644 packages/telemetry/test/detectors/githubActionsDetectorSync.spec.ts create mode 100644 packages/telemetry/test/processors/on-start-span-processor.spec.ts create mode 100644 packages/telemetry/test/span-exporters/console-trace-link-exporter.spec.ts delete mode 100644 patches/resolve-package-path+4.0.3.patch rename {npm/xpath => scripts}/.eslintrc (52%) create mode 100644 scripts/CHANGELOG.md create mode 100644 scripts/package.json delete mode 100644 system-tests/lib/performance-reporter.js delete mode 100755 system-tests/projects/yarn-v3.1.1-pnp/.pnp.cjs delete mode 100644 system-tests/projects/yarn-v3.1.1-pnp/.pnp.loader.mjs delete mode 100644 system-tests/scripts/send-root-honeycomb-event.js diff --git a/.circleci/cache-version.txt b/.circleci/cache-version.txt index c8b9721d306c..81c26f678bd7 100644 --- a/.circleci/cache-version.txt +++ b/.circleci/cache-version.txt @@ -1,3 +1,3 @@ # Bump this version to force CI to re-create the cache from scratch. -04-19-22 +06-07-23 diff --git a/.circleci/workflows.yml b/.circleci/workflows.yml index ec0582d3dc10..289014aa65c5 100644 --- a/.circleci/workflows.yml +++ b/.circleci/workflows.yml @@ -30,7 +30,7 @@ mainBuildFilters: &mainBuildFilters - /^release\/\d+\.\d+\.\d+$/ # use the following branch as well to ensure that v8 snapshot cache updates are fully tested - 'update-v8-snapshot-cache-on-develop' - - 'ryanm/feat/unify-cdp-approach-in-electron' + - 'billg/v13-merge/6-8-23' # usually we don't build Mac app - it takes a long time # but sometimes we want to really confirm we are doing the right thing @@ -41,7 +41,7 @@ macWorkflowFilters: &darwin-workflow-filters - equal: [ develop, << pipeline.git.branch >> ] # use the following branch as well to ensure that v8 snapshot cache updates are fully tested - equal: [ 'update-v8-snapshot-cache-on-develop', << pipeline.git.branch >> ] - - equal: [ 'ryanm/feat/unify-cdp-approach-in-electron', << pipeline.git.branch >> ] + - equal: [ 'billg/v13-merge/6-8-23', << pipeline.git.branch >> ] - matches: pattern: /^release\/\d+\.\d+\.\d+$/ value: << pipeline.git.branch >> @@ -52,7 +52,7 @@ linuxArm64WorkflowFilters: &linux-arm64-workflow-filters - equal: [ develop, << pipeline.git.branch >> ] # use the following branch as well to ensure that v8 snapshot cache updates are fully tested - equal: [ 'update-v8-snapshot-cache-on-develop', << pipeline.git.branch >> ] - - equal: [ 'ryanm/feat/unify-cdp-approach-in-electron', << pipeline.git.branch >> ] + - equal: [ 'billg/v13-merge/6-8-23', << pipeline.git.branch >> ] - matches: pattern: /^release\/\d+\.\d+\.\d+$/ value: << pipeline.git.branch >> @@ -72,7 +72,7 @@ windowsWorkflowFilters: &windows-workflow-filters - equal: [ develop, << pipeline.git.branch >> ] # use the following branch as well to ensure that v8 snapshot cache updates are fully tested - equal: [ 'update-v8-snapshot-cache-on-develop', << pipeline.git.branch >> ] - - equal: [ 'ryanm/feat/unify-cdp-approach-in-electron', << pipeline.git.branch >> ] + - equal: [ 'billg/v13-merge/6-8-23', << pipeline.git.branch >> ] - matches: pattern: /^release\/\d+\.\d+\.\d+$/ value: << pipeline.git.branch >> @@ -139,7 +139,7 @@ commands: - run: name: Check current branch to persist artifacts command: | - if [[ "$CIRCLE_BRANCH" != "develop" && "$CIRCLE_BRANCH" != "release/"* && "$CIRCLE_BRANCH" != "update-v8-snapshot-cache-on-develop" && "$CIRCLE_BRANCH" != "ryanm/feat/unify-cdp-approach-in-electron" ]]; then + if [[ "$CIRCLE_BRANCH" != "develop" && "$CIRCLE_BRANCH" != "release/"* && "$CIRCLE_BRANCH" != "update-v8-snapshot-cache-on-develop" && "$CIRCLE_BRANCH" != "billg/v13-merge/6-8-23" ]]; then echo "Not uploading artifacts or posting install comment for this branch." circleci-agent step halt fi @@ -282,9 +282,6 @@ commands: name: Restore cache state, to check for known modules cache existence keys: - v{{ checksum ".circleci/cache-version.txt" }}-{{ checksum "platform_key" }}-state-of-system-tests-projects-node-modules-cache-{{ checksum "system_tests_cache_key" }} - - run: - name: Send root honeycomb event for this CI build - command: cd system-tests/scripts && node ./send-root-honeycomb-event.js - run: name: Bail if specific cache exists command: | @@ -576,14 +573,15 @@ commands: # To make `circleci tests` work correctly, we need to step into the package folder. cd packages/<> - GLOB="cypress/e2e/**/*cy.*" - if [[ <> == 'ct' ]]; then # component tests are located side by side with the source codes. - GLOB="src/**/*cy.*" + # for the app component tests, ignore specs that are known to cause failures on contributor PRs (see https://discuss.circleci.com/t/how-to-exclude-certain-files-from-circleci-test-globbing/41028) + TESTFILES=$(find src -regextype posix-extended -name '*.cy.*' -not -regex '.*(FileMatch|PromoAction|SelectorPlayground).cy.*' | circleci tests split --total=$CIRCLE_NODE_TOTAL) + else + GLOB="cypress/e2e/**/*cy.*" + TESTFILES=$(circleci tests glob "$GLOB" | circleci tests split --total=$CIRCLE_NODE_TOTAL) fi - TESTFILES=$(circleci tests glob "$GLOB" | circleci tests split --total=$CIRCLE_NODE_TOTAL) echo "Test files for this machine are $TESTFILES" # To run the `yarn` command, we need to walk out of the package folder. @@ -752,7 +750,7 @@ commands: command: description: Test command to run to start Cypress tests type: string - default: "yarn cypress:run" + default: "CYPRESS_INTERNAL_ENABLE_TELEMETRY=1 CYPRESS_RECORD_KEY=$MAIN_RECORD_KEY CYPRESS_PROJECT_ID=ypt4pf yarn cypress:run" # if the repo to clone and test is a monorepo, you can # run tests inside a specific subfolder folder: @@ -822,7 +820,7 @@ commands: name: Run tests using browser "<>" working_directory: /tmp/<>/<> command: | - <> -- --browser <> + <> --browser <> --record false - unless: condition: <> steps: @@ -839,7 +837,7 @@ commands: - run: name: Run tests using browser "<>" working_directory: /tmp/<> - command: <> -- --browser <> + command: <> --browser <> --record false - unless: condition: <> steps: @@ -1944,20 +1942,6 @@ jobs: command: yarn workspace @cypress/mount-utils build - store-npm-logs - npm-xpath: - <<: *defaults - resource_class: small - steps: - - restore_cached_workspace - - run: - name: Run tests - command: yarn workspace @cypress/xpath cy:run - - store_test_results: - path: npm/xpath/test_results - - store_artifacts: - path: npm/xpath/test_results - - store-npm-logs - npm-grep: <<: *defaults resource_class: small @@ -2050,20 +2034,13 @@ jobs: command: rm -rf cypress.json - run: name: Install prod dependencies - command: yarn --production + command: yarn --production --ignore-engines working_directory: /tmp/cypress-example-kitchensink - run: name: Example server command: yarn start working_directory: /tmp/cypress-example-kitchensink background: true - - run: - name: Rename support file - working_directory: /tmp/cypress-example-kitchensink - command: | - if [[ -f cypress/support/index.js ]]; then - mv cypress/support/index.js cypress/support/e2e.js - fi - run: name: Run Kitchensink example project command: | @@ -2767,6 +2744,7 @@ linux-x64-workflow: &linux-x64-workflow requires: - create-build-artifacts - test-binary-against-cypress-realworld-app: + context: test-runner:cypress-record-key <<: *mainBuildFilters requires: - create-build-artifacts diff --git a/.eslintrc.js b/.eslintrc.js index 5c469c301940..12aa005137ac 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -57,7 +57,6 @@ module.exports = { rules: { 'no-restricted-properties': 'off', 'no-restricted-syntax': 'off', - 'no-console': 'off', }, }, ], diff --git a/.github/workflows/snyk_sca_scan.yaml b/.github/workflows/snyk_sca_scan.yaml index 15487445ade7..1aa7fcfb5410 100644 --- a/.github/workflows/snyk_sca_scan.yaml +++ b/.github/workflows/snyk_sca_scan.yaml @@ -16,7 +16,7 @@ jobs: matrix: node-version: [16.x] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Setting up Node uses: actions/setup-node@v3 with: @@ -27,6 +27,6 @@ jobs: - name: Perform SCA Scan continue-on-error: false run: | - snyk test --yarn-workspaces --strict-out-of-sync=false --detection-depth=6 --exclude=docker,Dockerfile --severity-threshold=critical + snyk test --all-projects --strict-out-of-sync=false --detection-depth=6 --exclude=docker,Dockerfile --severity-threshold=critical env: SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }} diff --git a/.github/workflows/snyk_static_analysis_scan.yaml b/.github/workflows/snyk_static_analysis_scan.yaml index 50ce41e5f14e..d32553086d01 100644 --- a/.github/workflows/snyk_static_analysis_scan.yaml +++ b/.github/workflows/snyk_static_analysis_scan.yaml @@ -13,7 +13,7 @@ jobs: Snyk_SAST_Scan : runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: snyk/actions/setup@master - name: Perform Static Analysis Test continue-on-error: true diff --git a/.github/workflows/stale_issues_and_pr_cleanup.yml b/.github/workflows/stale_issues_and_pr_cleanup.yml index 20b4f31b0415..ece421f0aad6 100644 --- a/.github/workflows/stale_issues_and_pr_cleanup.yml +++ b/.github/workflows/stale_issues_and_pr_cleanup.yml @@ -6,6 +6,10 @@ on: description: 'debug-only' required: false default: false + max-operations-per-run: + description: 'max operations per run' + required: false + default: 3000 days-before-stale: description: 'days-before-stale' required: false @@ -28,7 +32,8 @@ permissions: issues: write pull-requests: write env: - DEFAULT_DEBUG_ONLY: true + DEFAULT_DEBUG_ONLY: false + DEFAULT_MAX_OPS: 3000 DEFAULT_DAYS_BEFORE_STALE: 180 DEFAULT_DAYS_BEFORE_CLOSE: 14 DEFAULT_EXEMPT_ISSUE_LABELS: 'type: feature,type: enhancement,routed-to-e2e,routed-to-ct,routed-to-tools,routed-to-cloud,prevent-stale,triaged' @@ -37,7 +42,7 @@ jobs: stale: runs-on: ubuntu-latest steps: - - uses: actions/stale@v7 + - uses: actions/stale@v8 with: days-before-stale: ${{ github.event.inputs.days-before-stale || env.DEFAULT_DAYS_BEFORE_STALE }} days-before-close: ${{ github.event.inputs.days-before-close || env.DEFAULT_DAYS_BEFORE_CLOSE }} @@ -50,5 +55,6 @@ jobs: exempt-issue-labels: ${{ github.event.inputs.exempt-issue-labels || env.DEFAULT_EXEMPT_ISSUE_LABELS }} exempt-pr-labels: ${{ github.event.inputs.exempt-pr-labels || env.DEFAULT_EXEMPT_PR_LABELS }} exempt-all-milestones: true - operations-per-run: 400 #keeping this a bit higher because it processes newest tickets to oldest + operations-per-run: ${{ github.event.inputs.max-operations-per-run || env.DEFAULT_MAX_OPS }} #keeping this a bit higher because it processes newest tickets to oldest debug-only: ${{ github.event.inputs.debug-only || env.DEFAULT_DEBUG_ONLY }} + repo-token: ${{ secrets.TRIAGE_BOARD_TOKEN }} diff --git a/.github/workflows/triage_add_to_project.yml b/.github/workflows/triage_add_to_project.yml index c056ccfea74d..11c27119b66d 100644 --- a/.github/workflows/triage_add_to_project.yml +++ b/.github/workflows/triage_add_to_project.yml @@ -6,6 +6,10 @@ on: secrets: ADD_TO_TRIAGE_BOARD_TOKEN: required: true + TRIAGE_BOARD_TOKEN: + required: true + WORKFLOW_DEPLOY_KEY: + required: true issues: types: - opened @@ -41,3 +45,24 @@ jobs: with: project-url: https://github.com/orgs/${{github.repository_owner}}/projects/${{env.PROJECT_NUMBER}} github-token: ${{ secrets.ADD_TO_TRIAGE_BOARD_TOKEN }} + add-contributor-pr-comment: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + with: + repository: 'cypress-io/release-automations' + ref: 'master' + ssh-key: ${{ secrets.WORKFLOW_DEPLOY_KEY }} + - name: Set up Node.js + uses: actions/setup-node@v3 + with: + node-version: 'lts/*' + - name: Run comment_workflow.js Script + uses: actions/github-script@v6 + with: + github-token: ${{ secrets.TRIAGE_BOARD_TOKEN }} + script: | + const script = require('./scripts/triage/add_contributing_comment.js') + await script.addContributingComment(github, context); + diff --git a/.github/workflows/triage_handle_new_comments.yml b/.github/workflows/triage_handle_new_comments.yml index f2b2dbce4ac9..0cf253ad0d24 100644 --- a/.github/workflows/triage_handle_new_comments.yml +++ b/.github/workflows/triage_handle_new_comments.yml @@ -22,7 +22,7 @@ jobs: - name: Set up Node.js uses: actions/setup-node@v3 with: - node-version: '16' + node-version: 'lts/*' - name: Run comment_workflow.js Script uses: actions/github-script@v6 with: diff --git a/.github/workflows/update-browser-versions.yml b/.github/workflows/update-browser-versions.yml index ba1ea3a28e2f..be0e08ad3f5e 100644 --- a/.github/workflows/update-browser-versions.yml +++ b/.github/workflows/update-browser-versions.yml @@ -10,7 +10,7 @@ jobs: BASE_BRANCH: develop steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 token: ${{ secrets.BOT_GITHUB_ACTION_TOKEN }} @@ -40,13 +40,13 @@ jobs: env: BRANCH_NAME: update-chrome-stable-from-${{ steps.get-versions.outputs.current_stable_version }}-beta-from-${{ steps.get-versions.outputs.current_beta_version }} run: | - echo "::set-output name=branch_name::${{ env.BRANCH_NAME }}" - echo "::set-output name=branch_exists::$(git show-ref --verify --quiet refs/remotes/origin/${{ env.BRANCH_NAME }} && echo 'true')" + echo "branch_name=${{ env.BRANCH_NAME }}" >> $GITHUB_OUTPUT + echo "branch_exists=$(git show-ref --verify --quiet refs/remotes/origin/${{ env.BRANCH_NAME }} && echo 'true')" >> $GITHUB_OUTPUT - name: Check need for PR or branch update id: check-need-for-pr run: | - echo "::set-output name=needs_pr::${{ steps.get-versions.outputs.has_update == 'true' && steps.check-branch.outputs.branch_exists != 'true' }}" - echo "::set-output name=needs_branch_update::${{ steps.get-versions.outputs.has_update == 'true' && steps.check-branch.outputs.branch_exists == 'true' }}" + echo "needs_pr=${{ steps.get-versions.outputs.has_update == 'true' && steps.check-branch.outputs.branch_exists != 'true' }}" >> $GITHUB_OUTPUT + echo "needs_branch_update=${{ steps.get-versions.outputs.has_update == 'true' && steps.check-branch.outputs.branch_exists == 'true' }}" >> $GITHUB_OUTPUT ## Update available and a branch/PR already exists - name: Checkout existing branch if: ${{ steps.check-need-for-pr.outputs.needs_branch_update == 'true' }} diff --git a/.gitignore b/.gitignore index 65d1854e6057..f67b890a1140 100644 --- a/.gitignore +++ b/.gitignore @@ -78,8 +78,6 @@ system-tests/lib/fixtureDirs.ts # from npm/webpack-dev-server /npm/webpack-dev-server/cypress/videos -# from npm/xpath -/npm/xpath/cypress/videos # from npm/grep /npm/grep/cypress/videos diff --git a/CHANGELOG.md b/CHANGELOG.md index 0fe28547aa15..becc1f915c87 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,4 +14,3 @@ - [`@cypress/webpack-batteries-included-preprocessor`](https://github.com/cypress-io/cypress/blob/develop/npm/webpack-batteries-included-preprocessor/CHANGELOG.md) - [`@cypress/webpack-dev-server`](https://github.com/cypress-io/cypress/blob/develop/npm/webpack-dev-server/CHANGELOG.md) - [`@cypress/webpack-preprocessor`](https://github.com/cypress-io/cypress/blob/develop/npm/webpack-preprocessor/CHANGELOG.md) -- [`@cypress/xpath`](https://github.com/cypress-io/cypress/blob/develop/npm/xpath/CHANGELOG.md) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index fedcaa775fc8..09763aa5403e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -197,7 +197,6 @@ Here is a list of the npm packages in this repository: | [webpack-batteries-included-preprocessor](./npm/webpack-batteries-included-preprocessor) | `@cypress/webpack-batteries-included-preprocessor` | Cypress preprocessor for bundling JavaScript via webpack with dependencies included and support for various ES features, TypeScript, and CoffeeScript. | | [webpack-dev-server](./npm/webpack-dev-server) | `@cypress/webpack-dev-server` | Webpack powered dev server for Component Testing. | | [webpack-preprocessor](./npm/webpack-preprocessor) | `@cypress/webpack-preprocessor` | Cypress preprocessor for bundling JavaScript via webpack. | - | [xpath](./npm/xpath) | `@cypress/xpath` | Adds XPath command to Cypress.io test runner | We try to tag all issues with a `pkg/` or `npm/` tag describing the appropriate package the work is required in. For public packages, we use their qualified package name: For example, issues relating to the webpack preprocessor are tagged under [`npm: @cypress/webpack-preprocessor`](https://github.com/cypress-io/cypress/labels/npm%3A%20%40cypress%2Fwebpack-preprocessor) label and issues related to the `driver` package are tagged with the [`pkg/driver`](https://github.com/cypress-io/cypress/labels/pkg%2Fdriver) label. @@ -205,7 +204,7 @@ We try to tag all issues with a `pkg/` or `npm/` tag describing the appropriate You must have the following installed on your system to contribute locally: -- [`Node.js`](https://nodejs.org/en/) (See the root [.node-version](.node-version) file for minimum version requirements. You can use [avn](https://github.com/wbyoung/avn) to automatically switch to the right version of Node.js for this repo.) +- [`Node.js`](https://nodejs.org/en/) (See the root [.node-version](.node-version) file for the required version. You can find a list of tools on [node-version-usage](https://github.com/shadowspawn/node-version-usage) to switch the version of [`Node.js`](https://nodejs.org/en/) based on [.node-version](.node-version).) - [`yarn`](https://yarnpkg.com/en/docs/install) - [`python`](https://www.python.org/downloads/) (since we use `node-gyp`. See their [repo](https://github.com/nodejs/node-gyp) for Python version requirements.) diff --git a/README.md b/README.md index 8df5cd1a3ef7..9867193933f2 100644 --- a/README.md +++ b/README.md @@ -28,8 +28,8 @@ npm - - Gitter chat + + Discord chat StackShare diff --git a/browser-versions.json b/browser-versions.json index 641eb70e9240..eb4bb16309d3 100644 --- a/browser-versions.json +++ b/browser-versions.json @@ -1,5 +1,5 @@ { - "chrome:beta": "113.0.5672.63", - "chrome:stable": "112.0.5615.165", + "chrome:beta": "115.0.5790.13", + "chrome:stable": "114.0.5735.106", "chrome:minimum": "64.0.3282.0" } diff --git a/cli/.eslintignore b/cli/.eslintignore index a3f72532311c..8bd0ed4f295f 100644 --- a/cli/.eslintignore +++ b/cli/.eslintignore @@ -1,6 +1,10 @@ **/__snapshots__ /build +# do not lint package.json, it incorrect re-orders the `exports` +# https://github.com/cypress-io/cypress/pull/26630 +package.json + # cli/types is linted by tslint/dtslint /types diff --git a/cli/CHANGELOG.md b/cli/CHANGELOG.md index 82e0a27ecdd6..0d58a8464027 100644 --- a/cli/CHANGELOG.md +++ b/cli/CHANGELOG.md @@ -7,18 +7,82 @@ _Released 03/1/2023 (PENDING)_ - The [`cy.readFile()`](/api/commands/readfile) command is now retry-able as a [query command](https://on.cypress.io/retry-ability). This should not affect any tests using it; the functionality is unchanged. However, it can no longer be overwritten using [`Cypress.Commands.overwrite()`](/api/cypress-api/custom-commands#Overwrite-Existing-Commands). Addressed in [#25595](https://github.com/cypress-io/cypress/pull/25595). -## 12.11.1 +## 12.14.1 -_Released 05/09/2023 (PENDING)_ +_Released 06/20/2023 (PENDING)_ + +**Features:** + +- The [`videoCompression`](https://docs.cypress.io/guides/references/configuration#Videos) configuration option now accepts both a boolean or a Constant Rate Factor (CRF) number between `1` and `51`. The `videoCompression` default value is still `32` CRF and when `videoCompression` is set to `true` the default of `32` CRF will be used. Addresses [#26658](https://github.com/cypress-io/cypress/issues/26658). + +**Bugfixes:** + +- Fixed an issue where video output was not being logged to the console when `videoCompression` was turned off. Videos will now log to the terminal regardless of the compression value. Addresses [#25945](https://github.com/cypress-io/cypress/issues/25945). + +## 12.14.0 + +_Released 06/07/2023_ + +**Features:** + +- A new testing type switcher has been added to the Spec Explorer to make it easier to move between E2E and Component Testing. An informational overview of each type is displayed if it hasn't already been configured to help educate and onboard new users to each testing type. Addresses [#26448](https://github.com/cypress-io/cypress/issues/26448), [#26836](https://github.com/cypress-io/cypress/issues/26836) and [#26837](https://github.com/cypress-io/cypress/issues/26837). + +**Bugfixes:** + +- Fixed an issue to now correctly detect Angular 16 dependencies +([@angular/cli](https://www.npmjs.com/package/@angular/cli), +[@angular-devkit/build-angular](https://www.npmjs.com/package/@angular-devkit/build-angular), +[@angular/core](https://www.npmjs.com/package/@angular/core), [@angular/common](https://www.npmjs.com/package/@angular/common), +[@angular/platform-browser-dynamic](https://www.npmjs.com/package/@angular/platform-browser-dynamic)) +during Component Testing onboarding. Addresses [#26852](https://github.com/cypress-io/cypress/issues/26852). +- Ensures Git-related messages on the [Runs page](https://docs.cypress.io/guides/core-concepts/cypress-app#Runs) remain dismissed. Addresses [#26808](https://github.com/cypress-io/cypress/issues/26808). + +**Dependency Updates:** + +- Upgraded [`find-process`](https://www.npmjs.com/package/find-process) from `1.4.1` to `1.4.7` to address this [Synk](https://security.snyk.io/vuln/SNYK-JS-FINDPROCESS-1090284) security vulnerability. Addressed in [#26906](https://github.com/cypress-io/cypress/pull/26906). +- Upgraded [`firefox-profile`](https://www.npmjs.com/package/firefox-profile) from `4.0.0` to `4.3.2` to address security vulnerabilities within sub-dependencies. Addressed in [#26912](https://github.com/cypress-io/cypress/pull/26912). + +## 12.13.0 + +_Released 05/23/2023_ + +**Features:** + +- Adds Git-related messages for the [Runs page](https://docs.cypress.io/guides/core-concepts/cypress-app#Runs) and [Debug page](https://docs.cypress.io/guides/cloud/runs#Debug) when users aren't using Git or there are no recorded runs for the current branch. Addresses [#26680](https://github.com/cypress-io/cypress/issues/26680). + +**Bugfixes:** + +- Reverted [#26452](https://github.com/cypress-io/cypress/pull/26452) which introduced a bug that prevents users from using End to End with Yarn 3. Fixed in [#26735](https://github.com/cypress-io/cypress/pull/26735). Fixes [#26676](https://github.com/cypress-io/cypress/issues/26676). +- Moved `types` condition to the front of `package.json#exports` since keys there are meant to be order-sensitive. Fixed in [#26630](https://github.com/cypress-io/cypress/pull/26630). +- Fixed an issue where newly-installed dependencies would not be detected during Component Testing setup. Addresses [#26685](https://github.com/cypress-io/cypress/issues/26685). +- Fixed a UI regression that was flashing an "empty" state inappropriately when loading the Debug page. Fixed in [#26761](https://github.com/cypress-io/cypress/pull/26761). +- Fixed an issue in Component Testing setup where TypeScript version 5 was not properly detected. Fixes [#26204](https://github.com/cypress-io/cypress/issues/26204). + +**Misc:** + +- Updated styling & content of Cypress Cloud slideshows when not logged in or no runs have been recorded. Addresses [#26181](https://github.com/cypress-io/cypress/issues/26181). +- Changed the nomenclature of 'processing' to 'compressing' when terminal video output is printed during a run. Addresses [#26657](https://github.com/cypress-io/cypress/issues/26657). +- Changed the nomenclature of 'Upload Results' to 'Uploading Screenshots & Videos' when terminal output is printed during a run. Addresses [#26759](https://github.com/cypress-io/cypress/issues/26759). + +## 12.12.0 + +_Released 05/09/2023_ + +**Features:** + +- Added a new informational banner to help get started with component testing from an existing end-to-end test suite. Addresses [#26511](https://github.com/cypress-io/cypress/issues/26511). **Bugfixes:** - Fixed an issue in Electron where devtools gets out of sync with the DOM occasionally. Addresses [#15932](https://github.com/cypress-io/cypress/issues/15932). - Updated the Chromium renderer process crash message to be more terse. Addressed in [#26597](https://github.com/cypress-io/cypress/pull/26597). +- Fixed an issue with `CYPRESS_DOWNLOAD_PATH_TEMPLATE` regex to allow multiple replacements. Addresses [#23670](https://github.com/cypress-io/cypress/issues/23670). +- Moved `types` condition to the front of `package.json#exports` since keys there are meant to be order-sensitive. Fixed in [#26630](https://github.com/cypress-io/cypress/pull/26630). **Dependency Updates:** - Upgraded [`plist`](https://www.npmjs.com/package/plist) from `3.0.5` to `3.0.6` to address [CVE-2022-26260](https://nvd.nist.gov/vuln/detail/CVE-2022-22912#range-8131646) NVD security vulnerability. Addressed in [#26631](https://github.com/cypress-io/cypress/pull/26631). +- Upgraded [`engine.io`](https://www.npmjs.com/package/engine.io) from `6.2.1` to `6.4.2` to address [CVE-2023-31125](https://github.com/socketio/engine.io/security/advisories/GHSA-q9mw-68c2-j6m5) NVD security vulnerability. Addressed in [#26664](https://github.com/cypress-io/cypress/pull/26664). - Upgraded [`@vue/test-utils`](https://www.npmjs.com/package/@vue/test-utils) from `2.0.2` to `2.3.2`. Addresses [#26575](https://github.com/cypress-io/cypress/issues/26575). ## 12.11.0 @@ -57,7 +121,6 @@ _Released 04/17/2023_ - Fixed an issue in the onboarding wizard where project framework & bundler would not be auto-detected when opening directly into component testing mode using the `--component` CLI flag. Fixes [#22777](https://github.com/cypress-io/cypress/issues/22777) and [#26388](https://github.com/cypress-io/cypress/issues/26388). - Updated to use the `SEMAPHORE_GIT_WORKING_BRANCH` [Semphore](https://docs.semaphoreci.com) CI environment variable to correctly associate a Cloud run to the current branch. Previously this was incorrectly associating a run to the target branch. Fixes [#26309](https://github.com/cypress-io/cypress/issues/26309). - Fix an edge case in Component Testing where a custom `baseUrl` in `tsconfig.json` for Next.js 13.2.0+ is not respected. This was partially fixed in [#26005](https://github.com/cypress-io/cypress/pull/26005), but an edge case was missed. Fixes [#25951](https://github.com/cypress-io/cypress/issues/25951). - - Correctly detect and resolve dependencies when configuring Component Testing in projects using Yarn's [Plug'n'Play feature](https://yarnpkg.com/features/pnp). Fixes [#25960](https://github.com/cypress-io/cypress/issues/25960). - Fixed an issue where `click` events fired on `.type('{enter}')` did not propagate through shadow roots. Fixes [#26392](https://github.com/cypress-io/cypress/issues/26392). **Misc:** diff --git a/cli/__snapshots__/download_spec.js b/cli/__snapshots__/download_spec.js index c913289d5846..54ec0d549733 100644 --- a/cli/__snapshots__/download_spec.js +++ b/cli/__snapshots__/download_spec.js @@ -60,3 +60,7 @@ https://download.cypress.io/desktop/0.20.2/OS-ARCH/cypress.zip exports['desktop url from template with escaped dollar sign wrapped in quote'] = ` https://download.cypress.io/desktop/0.20.2/OS-ARCH/cypress.zip ` + +exports['desktop url from template with multiple replacements'] = ` +https://download.cypress.io/desktop/0.20.2/OS/ARCH/cypress-0.20.2-OS-ARCH.zip?referrer=https://download.cypress.io/desktop/0.20.2&version=0.20.2 +` diff --git a/cli/lib/tasks/download.js b/cli/lib/tasks/download.js index 17b6c733f301..01d0f73bc0ad 100644 --- a/cli/lib/tasks/download.js +++ b/cli/lib/tasks/download.js @@ -64,10 +64,10 @@ const prepend = (arch, urlPath, version) => { return pathTemplate ? ( pathTemplate - .replace(/\\?\$\{endpoint\}/, endpoint) - .replace(/\\?\$\{platform\}/, platform) - .replace(/\\?\$\{arch\}/, arch) - .replace(/\\?\$\{version\}/, version) + .replace(/\\?\$\{endpoint\}/g, endpoint) + .replace(/\\?\$\{platform\}/g, platform) + .replace(/\\?\$\{arch\}/g, arch) + .replace(/\\?\$\{version\}/g, version) ) : `${endpoint}?platform=${platform}&arch=${arch}` } diff --git a/cli/package.json b/cli/package.json index ec12f4cbd10d..f968022a5979 100644 --- a/cli/package.json +++ b/cli/package.json @@ -66,7 +66,15 @@ "devDependencies": { "@babel/cli": "7.13.0", "@babel/preset-env": "7.13.5", + "@cypress/angular": "0.0.0-development", + "@cypress/grep": "0.0.0-development", + "@cypress/mount-utils": "0.0.0-development", + "@cypress/react": "0.0.0-development", + "@cypress/react18": "0.0.0-development", "@cypress/sinon-chai": "2.9.1", + "@cypress/svelte": "0.0.0-development", + "@cypress/vue": "0.0.0-development", + "@cypress/vue2": "0.0.0-development", "@packages/root": "0.0.0-development", "@types/bluebird": "3.5.33", "@types/chai": "4.2.15", @@ -120,47 +128,47 @@ "types": "types", "exports": { ".": { + "types": "./types/index.d.ts", "import": "./index.mjs", - "require": "./index.js", - "types": "./types/index.d.ts" + "require": "./index.js" }, "./vue": { + "types": "./vue/dist/index.d.ts", "import": "./vue/dist/cypress-vue.esm-bundler.js", - "require": "./vue/dist/cypress-vue.cjs.js", - "types": "./vue/dist/index.d.ts" + "require": "./vue/dist/cypress-vue.cjs.js" }, "./vue2": { + "types": "./vue2/dist/index.d.ts", "import": "./vue2/dist/cypress-vue2.esm-bundler.js", - "require": "./vue2/dist/cypress-vue2.cjs.js", - "types": "./vue2/dist/index.d.ts" + "require": "./vue2/dist/cypress-vue2.cjs.js" }, "./package.json": { "import": "./package.json", "require": "./package.json" }, "./react": { + "types": "./react/dist/index.d.ts", "import": "./react/dist/cypress-react.esm-bundler.js", - "require": "./react/dist/cypress-react.cjs.js", - "types": "./react/dist/index.d.ts" + "require": "./react/dist/cypress-react.cjs.js" }, "./react18": { + "types": "./react18/dist/index.d.ts", "import": "./react18/dist/cypress-react.esm-bundler.js", - "require": "./react18/dist/cypress-react.cjs.js", - "types": "./react18/dist/index.d.ts" + "require": "./react18/dist/cypress-react.cjs.js" }, "./mount-utils": { - "require": "./mount-utils/dist/index.js", - "types": "./mount-utils/dist/index.d.ts" + "types": "./mount-utils/dist/index.d.ts", + "require": "./mount-utils/dist/index.js" }, "./angular": { + "types": "./angular/dist/index.d.ts", "import": "./angular/dist/index.js", - "require": "./angular/dist/index.js", - "types": "./angular/dist/index.d.ts" + "require": "./angular/dist/index.js" }, "./svelte": { + "types": "./svelte/dist/index.d.ts", "import": "./svelte/dist/cypress-svelte.esm-bundler.js", - "require": "./svelte/dist/cypress-svelte.cjs.js", - "types": "./svelte/dist/index.d.ts" + "require": "./svelte/dist/cypress-svelte.cjs.js" } }, "workspaces": { diff --git a/cli/test/lib/tasks/download_spec.js b/cli/test/lib/tasks/download_spec.js index 7617cdcd4ebe..7560fbf48fee 100644 --- a/cli/test/lib/tasks/download_spec.js +++ b/cli/test/lib/tasks/download_spec.js @@ -81,6 +81,13 @@ describe('lib/tasks/download', function () { snapshot('desktop url from template with version', normalize(url)) }) + it('returns custom url from template with multiple replacements', () => { + process.env.CYPRESS_DOWNLOAD_PATH_TEMPLATE = '${endpoint}/${platform}/${arch}/cypress-${version}-${platform}-${arch}.zip?referrer=${endpoint}&version=${version}' + const url = download.getUrl('ARCH', '0.20.2') + + snapshot('desktop url from template with multiple replacements', normalize(url)) + }) + it('returns custom url from template with escaped dollar sign', () => { process.env.CYPRESS_DOWNLOAD_PATH_TEMPLATE = '\\${endpoint}/\\${platform}-\\${arch}/cypress.zip' const url = download.getUrl('ARCH', '0.20.2') diff --git a/cli/types/cypress.d.ts b/cli/types/cypress.d.ts index e2311554ab94..804895976be1 100644 --- a/cli/types/cypress.d.ts +++ b/cli/types/cypress.d.ts @@ -3004,10 +3004,13 @@ declare namespace Cypress { */ trashAssetsBeforeRuns: boolean /** - * The quality setting for the video compression, in Constant Rate Factor (CRF). The value can be false to disable compression or a value between 0 and 51, where a lower value results in better quality (at the expense of a higher file size). + * The quality setting for the video compression, in Constant Rate Factor (CRF). + * Enable compression by passing true to use the default CRF of 32. + * Compress at custom CRF by passing a number between 1 and 51, where a lower value results in better quality (at the expense of a higher file size). + * Disable compression by passing false or 0. * @default 32 */ - videoCompression: number | false + videoCompression: number | boolean /** * Whether Cypress will record a video of the test run when running headlessly. * @default true diff --git a/cli/types/tests/plugins-config.ts b/cli/types/tests/plugins-config.ts index bbe8fcc71494..8b92a5010320 100644 --- a/cli/types/tests/plugins-config.ts +++ b/cli/types/tests/plugins-config.ts @@ -9,7 +9,7 @@ const pluginConfig2: Cypress.PluginConfig = (on, config) => { config.configFile // $ExpectType string config.fixturesFolder // $ExpectType string | false config.screenshotsFolder // $ExpectType string | false - config.videoCompression // $ExpectType number | false + config.videoCompression // $ExpectType number | boolean config.projectRoot // $ExpectType string config.version // $ExpectType string config.testingType // $ExpectType TestingType diff --git a/lerna.json b/lerna.json index f40b1af11f4c..a1cac42c5796 100644 --- a/lerna.json +++ b/lerna.json @@ -5,8 +5,10 @@ "packages/*", "npm/*", "tooling/*", - "system-tests" + "system-tests", + "scripts" ], "useWorkspaces": true, + "useNx": true, "version": "0.0.0" } diff --git a/npm/angular/src/mount.ts b/npm/angular/src/mount.ts index aeeb9c883a1b..8ba0f0dab89a 100644 --- a/npm/angular/src/mount.ts +++ b/npm/angular/src/mount.ts @@ -116,6 +116,7 @@ export type MountResponse = { // 'zone.js/testing' is not properly aliasing `it.skip` but it does provide `xit`/`xspecify` // Written up under https://github.com/angular/angular/issues/46297 but is not seeing movement // so we'll patch here pending a fix in that library +// @ts-ignore Ignore so that way we can bypass semantic error TS7017: Element implicitly has an 'any' type because type 'typeof globalThis' has no index signature. globalThis.it.skip = globalThis.xit @Injectable() diff --git a/npm/create-cypress-tests/package.json b/npm/create-cypress-tests/package.json index e52091e85c9f..d0fa15b5c53a 100644 --- a/npm/create-cypress-tests/package.json +++ b/npm/create-cypress-tests/package.json @@ -21,10 +21,8 @@ "chalk": "4.1.0", "cli-highlight": "2.1.10", "commander": "6.2.1", - "fast-glob": "3.2.7", "find-up": "5.0.0", "fs-extra": "^9.1.0", - "glob": "^7.1.6", "inquirer": "7.3.3", "ora": "^5.1.0", "recast": "0.20.4", @@ -40,7 +38,6 @@ "copy": "0.3.2", "mocha": "7.1.1", "mock-fs": "5.1.1", - "shx": "0.3.3", "snap-shot-it": "7.9.3", "typescript": "^4.7.4" }, diff --git a/npm/create-cypress-tests/scripts/copy-templates.js b/npm/create-cypress-tests/scripts/copy-templates.js index 832a816c053b..89349cfe67a4 100644 --- a/npm/create-cypress-tests/scripts/copy-templates.js +++ b/npm/create-cypress-tests/scripts/copy-templates.js @@ -1,4 +1,4 @@ -const fg = require('fast-glob') +const globby = require('globby') const fs = require('fs-extra') const chalk = require('chalk') const path = require('path') @@ -11,7 +11,7 @@ program const srcPath = path.resolve(__dirname, '..', 'src') const destinationPath = path.resolve(process.cwd(), destination) - const templates = await fg('**/*.template.js', { + const templates = await globby('**/*.template.js', { cwd: srcPath, onlyFiles: true, unique: true, diff --git a/npm/vite-plugin-cypress-esm/CHANGELOG.md b/npm/vite-plugin-cypress-esm/CHANGELOG.md index e69de29bb2d1..bb4139b30369 100644 --- a/npm/vite-plugin-cypress-esm/CHANGELOG.md +++ b/npm/vite-plugin-cypress-esm/CHANGELOG.md @@ -0,0 +1,13 @@ +# [@cypress/vite-plugin-cypress-esm-v1.0.1](https://github.com/cypress-io/cypress/compare/@cypress/vite-plugin-cypress-esm-v1.0.0...@cypress/vite-plugin-cypress-esm-v1.0.1) (2023-05-23) + + +### Bug Fixes + +* Vite esm plugin issues ([#26714](https://github.com/cypress-io/cypress/issues/26714)) ([38b9526](https://github.com/cypress-io/cypress/commit/38b952622e034928df0d6e5d571e83c22d98ce86)) + +# @cypress/vite-plugin-cypress-esm-v1.0.0 (2023-05-04) + + +### Features + +* initial release of cypress/vite-plugin-cypress-esm ([#26663](https://github.com/cypress-io/cypress/issues/26663)) ([42d4f83](https://github.com/cypress-io/cypress/commit/42d4f836cf30069a152cb45ac49af736155e7cc1)) diff --git a/npm/vite-plugin-cypress-esm/README.md b/npm/vite-plugin-cypress-esm/README.md index 89606956ff9c..ea25b21ef836 100644 --- a/npm/vite-plugin-cypress-esm/README.md +++ b/npm/vite-plugin-cypress-esm/README.md @@ -36,9 +36,9 @@ export default defineConfig({ CypressEsm(), ] } - ), + ) } - }, + } } }) ``` @@ -61,6 +61,8 @@ CypressEsm({ }) ``` +This will exclude modules matching the supplied pattern from being processed by this plugin. It is important to note that the actual import of any matching module into other files/modules will still be processed unless those destinations are themselves excluded via the list. + React is known to have some conflicts with the Proxy implementation that cause problems stubbing internal React functionality. Since it is unlikely you want to stub parts of React itself, it's a good idea to add it to the `ignoreList`. ## Known Issues diff --git a/npm/vite-plugin-cypress-esm/cypress.config.ts b/npm/vite-plugin-cypress-esm/cypress.config.ts index 6d9e5ac8e766..47f27ebf5885 100644 --- a/npm/vite-plugin-cypress-esm/cypress.config.ts +++ b/npm/vite-plugin-cypress-esm/cypress.config.ts @@ -17,7 +17,7 @@ export default defineConfig({ jsxRuntime: 'classic', }), CypressEsm({ - ignoreList: ['*Immutable*', '*MyAsync*'], + ignoreList: ['**/*ignoreList.cy.ts', '*MyAsync*'], }), ], } diff --git a/npm/vite-plugin-cypress-esm/cypress/component/assetTypes.cy.ts b/npm/vite-plugin-cypress-esm/cypress/component/assetTypes.cy.ts index c3768fb881e5..3ddaa0a08f0b 100644 --- a/npm/vite-plugin-cypress-esm/cypress/component/assetTypes.cy.ts +++ b/npm/vite-plugin-cypress-esm/cypress/component/assetTypes.cy.ts @@ -1,6 +1,14 @@ -import './fixtures/style.css' -import { add } from './fixtures/add' +import css from './fixtures/style.css?inline' +import svg from './fixtures/image.svg?raw' -it('does not transform non JS assets', () => { - expect(add(1, 2)).to.eq(3) +describe('asset types', () => { + it('does not transform style assets', () => { + expect(css).to.contain('import') + expect(css).not.to.contain('_cypress') + }) + + it('does not transform image assets', () => { + expect(svg).to.contain('import') + expect(svg).not.to.contain('_cypress') + }) }) diff --git a/npm/vite-plugin-cypress-esm/cypress/component/dynamicImport.cy.ts b/npm/vite-plugin-cypress-esm/cypress/component/dynamicImport.cy.ts index 74975ec6b6ed..ee3f26976069 100644 --- a/npm/vite-plugin-cypress-esm/cypress/component/dynamicImport.cy.ts +++ b/npm/vite-plugin-cypress-esm/cypress/component/dynamicImport.cy.ts @@ -74,4 +74,15 @@ describe('dynamic imports', () => { cy.wrap(run()) }) + + it('ignores import-like functions', async () => { + /* + * This test will probably explode due to malformed syntax if the exclusion logic isn't working, + * so the assertion here isn't really necessary but helps mark as a passing test + */ + + const importLike = await import('./fixtures/import-like') + + expect(importLike.custom_import('abc')).to.eql('123abc') + }) }) diff --git a/npm/vite-plugin-cypress-esm/cypress/component/fixtures/image.svg b/npm/vite-plugin-cypress-esm/cypress/component/fixtures/image.svg new file mode 100644 index 000000000000..96d4c710263f --- /dev/null +++ b/npm/vite-plugin-cypress-esm/cypress/component/fixtures/image.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/npm/vite-plugin-cypress-esm/cypress/component/fixtures/import-like.ts b/npm/vite-plugin-cypress-esm/cypress/component/fixtures/import-like.ts new file mode 100644 index 000000000000..624814a0c90c --- /dev/null +++ b/npm/vite-plugin-cypress-esm/cypress/component/fixtures/import-like.ts @@ -0,0 +1,5 @@ +// Ensure import replacement is not too aggressive +// Should not replace this function name despite invocation looking like `import()` +export const custom_import = (value: string) => { + return `123${value}` +} diff --git a/npm/vite-plugin-cypress-esm/cypress/component/fixtures/style.css b/npm/vite-plugin-cypress-esm/cypress/component/fixtures/style.css index 795629d78285..90a07da9222a 100644 --- a/npm/vite-plugin-cypress-esm/cypress/component/fixtures/style.css +++ b/npm/vite-plugin-cypress-esm/cypress/component/fixtures/style.css @@ -1,3 +1,4 @@ div { + /* Magic comment: import('test') */ background: red; } \ No newline at end of file diff --git a/npm/vite-plugin-cypress-esm/cypress/component/importSyntax.cy.ts b/npm/vite-plugin-cypress-esm/cypress/component/importSyntax.cy.ts index e4cce16495f0..0e3a7795e084 100644 --- a/npm/vite-plugin-cypress-esm/cypress/component/importSyntax.cy.ts +++ b/npm/vite-plugin-cypress-esm/cypress/component/importSyntax.cy.ts @@ -96,4 +96,16 @@ describe('supports every combination of import syntax in a single file', () => { // @ts-expect-error expect(window.sideEffect).to.eq('Side Effect') }) + + describe('import-like syntax', () => { + it('should ignore if not prefixed with whitespace or newline', () => { + /* + * This test will probably explode due to malformed syntax if the exclusion logic isn't working, + * so the assertion here isn't really necessary but helps mark as a passing test + */ + const value = ' abc_import abc from "blah"' + + expect(value).not.to.contain('cypress') + }) + }) }) diff --git a/npm/vite-plugin-cypress-esm/cypress/types.d.ts b/npm/vite-plugin-cypress-esm/cypress/types.d.ts new file mode 100644 index 000000000000..33c35567169e --- /dev/null +++ b/npm/vite-plugin-cypress-esm/cypress/types.d.ts @@ -0,0 +1,2 @@ +declare module '*.css' {} +declare module '*.svg' {} diff --git a/npm/vite-plugin-cypress-esm/src/index.ts b/npm/vite-plugin-cypress-esm/src/index.ts index 6598894e7b55..9704f48f32f4 100644 --- a/npm/vite-plugin-cypress-esm/src/index.ts +++ b/npm/vite-plugin-cypress-esm/src/index.ts @@ -19,14 +19,37 @@ interface CypressEsmOptions { export const CypressEsm = (options?: CypressEsmOptions): Plugin => { const ignoreList = options?.ignoreList ?? [] + const ignoreMatcher = picomatch(ignoreList) - const importOnIgnoreList = (importTarget: string) => { - for (const ignore of ignoreList) { - if (picomatch.matchBase(importTarget, ignore)) { - return true - } - } + /** + * If a module ID is explicitly ignored then bypass our custom mapping on it + * + * @param moduleId + * @returns + */ + const isModuleOnIgnoreList = (moduleId: string) => { + return ignoreMatcher(moduleId) + } + + /** + * If an import target is for a non-JS asset then we don't want to map it + * This is typically a dynamically-imported image or data asset + * + * @param importTarget + * @returns + */ + const isNonJsTarget = (importTarget: string) => { + // Strip quotes & semicolons + const sanitizedImportTarget = importTarget.replace(/["';]/gi, '').trim() + + // Exclude common extensions for: + // - Images + // - Text/Data/Markup/Markdown files + // - Styles + // Other asset types like audio/video are unlikely to be imported into a JS file thus are not considered here + return /\.(svg|png|jpe?g|gif|tiff|webp|json|md|txt|xml|x?html?|css|less|s[c|a]ss?)(\?|$)/gi.test(sanitizedImportTarget) } + /** * Remap static import calls to use the Cypress module cache * @@ -48,19 +71,23 @@ export const CypressEsm = (options?: CypressEsmOptions): Plugin => { const moduleIdentifier = moduleId.replace(/[^a-zA-Z\d]/g, '_') - const importRegex = /import (.+?) from (.*)/g + // Ensure import comes at start of line *or* is prefixed by a space so we don't capture things like + // `Refresh.__hmr_import('') + const importRegex = /(?<=^|\s)import (.+?) from (.*)/g return code.replace( importRegex, (match, importVars: string, importTarget: string) => { debug(`Mapping import ${counter + 1} in module ${moduleId}`) - let replacement = `import * as cypress_${moduleIdentifier}_${++counter} from ${importTarget}` + if (isNonJsTarget(importTarget)) { + debug(`Import ${importTarget} appears to be an asset and will not be re-mapped`) - if (importOnIgnoreList(importTarget)) { return match } + let replacement = `import * as cypress_${moduleIdentifier}_${++counter} from ${importTarget}` + if (!replacement.endsWith(';')) { replacement += ';' } @@ -128,12 +155,14 @@ export const CypressEsm = (options?: CypressEsmOptions): Plugin => { * __cypressDynamicModule(import("./mod_2")).then(mod => mod) */ const mapDynamicImportsToCache = (id: string, code: string) => { - const RE = /(import\((.+?)\))/g + const RE = /((?<=^|\s)import\((.+?)\))/g return code.replace( RE, (match, importVars: string, importTarget: string) => { - if (importOnIgnoreList(importTarget)) { + if (isNonJsTarget(importTarget)) { + debug(`Import ${importTarget} appears to be an asset and will not be re-mapped`) + return match } @@ -149,10 +178,22 @@ export const CypressEsm = (options?: CypressEsmOptions): Plugin => { name: 'cypress:mocks', enforce: 'post', transform (code, id, options) { - // Process all files to remap imports - // TODO: Restrict to JS files only? Any potential for .mjs etc? + if (isModuleOnIgnoreList(id)) { + debug(`Ignoring module ${id} due to ignoreList`) + + return + } + + if (isNonJsTarget(id)) { + debug(`Module ${id} appears to be an asset, ignoring`) + + return + } + + // Process all files to remap static imports let transformedCode = mapImportsToCache(id, code) + // ...and dynamic imports transformedCode = mapDynamicImportsToCache(id, transformedCode) return { diff --git a/npm/webpack-preprocessor/package.json b/npm/webpack-preprocessor/package.json index c9a57905bb6a..0526ea7f6ec4 100644 --- a/npm/webpack-preprocessor/package.json +++ b/npm/webpack-preprocessor/package.json @@ -38,7 +38,6 @@ "cypress": "0.0.0-development", "dependency-check": "2.9.1", "deps-ok": "1.4.1", - "fast-glob": "3.1.1", "find-webpack": "1.5.0", "fs-extra": "^10.1.0", "mocha": "^7.1.0", diff --git a/npm/webpack-preprocessor/test/e2e/e2e.spec.js b/npm/webpack-preprocessor/test/e2e/e2e.spec.js index 3725f5f59ca2..a70a752344f6 100644 --- a/npm/webpack-preprocessor/test/e2e/e2e.spec.js +++ b/npm/webpack-preprocessor/test/e2e/e2e.spec.js @@ -1,11 +1,11 @@ const { runTest } = require('./helpers') const path = require('path') -const glob = require('fast-glob') +const globby = require('globby') describe('can test', async () => { // runs every test in cypress/tests/e2e as its own test // the comment above the test will determine the assertion on the results - glob.sync(path.join(__dirname, '../../cypress/tests/e2e/**/*')) + globby.sync(path.join(__dirname, '../../cypress/tests/e2e/**/*')) .map((v) => { const filename = path.relative(process.cwd(), v) diff --git a/npm/xpath/.releaserc.js b/npm/xpath/.releaserc.js deleted file mode 100644 index 17d3bb871472..000000000000 --- a/npm/xpath/.releaserc.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - ...require('../../.releaserc'), -} diff --git a/npm/xpath/CHANGELOG.md b/npm/xpath/CHANGELOG.md deleted file mode 100644 index 36e869b7cb81..000000000000 --- a/npm/xpath/CHANGELOG.md +++ /dev/null @@ -1,13 +0,0 @@ -# [@cypress/xpath-v2.0.3](https://github.com/cypress-io/cypress/compare/@cypress/xpath-v2.0.2...@cypress/xpath-v2.0.3) (2022-10-26) - - -### Bug Fixes - -* **xpath:** update xpath main path ([#24259](https://github.com/cypress-io/cypress/issues/24259)) ([edf99c4](https://github.com/cypress-io/cypress/commit/edf99c41d6031c7a72ad2258f4fd29231823790c)) - -# [@cypress/xpath-v2.0.2](https://github.com/cypress-io/cypress/compare/@cypress/xpath-v2.0.1...@cypress/xpath-v2.0.2) (2022-09-29) - - -### Bug Fixes - -* release svelte ([b86403f](https://github.com/cypress-io/cypress/commit/b86403fcbcc85ce5be1ca96bbf42357dd24c07dd)) diff --git a/npm/xpath/README.md b/npm/xpath/README.md index 339fce4e3500..de39c50328c9 100644 --- a/npm/xpath/README.md +++ b/npm/xpath/README.md @@ -1,82 +1,3 @@ # @cypress/xpath -> Adds XPath command to [Cypress.io](https://www.cypress.io) test runner - -## Install with npm - -```shell -npm install -D @cypress/xpath -``` - -## Install with Yarn - -```shell -yarn add @cypress/xpath --dev -``` - -Then include in your project's [support file](https://on.cypress.io/support-file) - -```js -require('@cypress/xpath'); -``` - -## Use - -After installation your `cy` object will have `xpath` command. - -```js -it('finds list items', () => { - cy.xpath('//ul[@class="todo-list"]//li').should('have.length', 3); -}); -``` - -You can also chain `xpath` off of another command. - -```js -it('finds list items', () => { - cy.xpath('//ul[@class="todo-list"]').xpath('./li').should('have.length', 3); -}); -``` - -As with other cy commands, it is scoped by `cy.within()`. - -```js -it('finds list items', () => { - cy.xpath('//ul[@class="todo-list"]').within(() => { - cy.xpath('./li').should('have.length', 3); - }); -}); -``` - -**note:** you can test XPath expressions from DevTools console using `$x(...)` function, for example `$x('//div')` to find all divs. - -See [cypress/e2e/spec.cy.js](cypress/e2e/spec.cy.js) - -## Beware the XPath // trap - -In XPath the expression // means something very specific, and it might not be what you think. Contrary to common belief, // means "anywhere in the document" not "anywhere in the current context". As an example: - -```js -cy.xpath('//body').xpath('//script'); -``` - -You might expect this to find all script tags in the body, but actually, it finds all script tags in the entire document, not only those in the body! What you're looking for is the .// expression which means "any descendant of the current node": - -```js -cy.xpath('//body').xpath('.//script'); -``` - -The same thing goes for within: - -```js -cy.xpath('//body').within(() => { - cy.xpath('.//script'); -}); -``` - - -For more, see [Intelligent Code Completion](https://on.cypress.io/intellisense) - -## License - -This project is licensed under the terms of the [MIT license](/LICENSE.md). +> @cypress/xpath has been deprecated and is no longer supported. diff --git a/npm/xpath/cypress.config.js b/npm/xpath/cypress.config.js deleted file mode 100644 index e7a2ffb6dcaa..000000000000 --- a/npm/xpath/cypress.config.js +++ /dev/null @@ -1,12 +0,0 @@ -const { defineConfig } = require('cypress') - -module.exports = defineConfig({ - e2e: { - excludeSpecPattern: '*.html', - supportFile: 'cypress/support/e2e.js', - }, - component: { - excludeSpecPattern: '*.html', - supportFile: 'cypress/support/e2e.js', - }, -}) diff --git a/npm/xpath/cypress/e2e/index.html b/npm/xpath/cypress/e2e/index.html deleted file mode 100644 index ebe8a49935f3..000000000000 --- a/npm/xpath/cypress/e2e/index.html +++ /dev/null @@ -1,26 +0,0 @@ - -
-

cypress-xpath

- -
- - -
-
- - \ No newline at end of file diff --git a/npm/xpath/cypress/e2e/spec.cy.js b/npm/xpath/cypress/e2e/spec.cy.js deleted file mode 100644 index c88881f93a80..000000000000 --- a/npm/xpath/cypress/e2e/spec.cy.js +++ /dev/null @@ -1,183 +0,0 @@ -/// -/// - -describe('cypress-xpath', () => { - it('adds xpath command', () => { - expect(cy).property('xpath').to.be.a('function') - }) - - context('elements', () => { - beforeEach(() => { - cy.visit('cypress/e2e/index.html') - }) - - it('finds h1', () => { - cy.xpath('//h1').should('have.length', 1) - }) - - it('returns jQuery wrapped elements', () => { - cy.xpath('//h1').then((el$) => { - expect(el$).to.have.property('jquery') - }) - }) - - it('returns primitives as is', () => { - cy.xpath('string(//h1)').then((el$) => { - expect(el$).to.not.have.property('jquery') - }) - }) - - it('provides jQuery wrapped elements to assertions', () => { - cy.xpath('//h1').should((el$) => { - expect(el$).to.have.property('jquery') - }) - }) - - it('gets h1 text', () => { - cy.xpath('//h1/text()') - .its('0.textContent') - .should('equal', 'cypress-xpath') - }) - - it('retries until element is inserted', () => { - // the element will be inserted after 1 second - cy.xpath('string(//*[@id="inserted"])').should('equal', 'inserted text') - }) - - describe('chaining', () => { - it('finds h1 within main', () => { - // first assert that h1 doesn't exist as a child of the implicit document subject - cy.xpath('./h1').should('not.exist') - - cy.xpath('//main').xpath('./h1').should('exist') - }) - - it('finds body outside of main when succumbing to // trap', () => { - // first assert that body doesn't actually exist within main - cy.xpath('//main').xpath('.//body').should('not.exist') - - cy.xpath('//main').xpath('//body').should('exist') - }) - - it('finds h1 within document', () => { - cy.document().xpath('//h1').should('exist') - }) - - it('throws when subject is more than a single element', (done) => { - cy.on('fail', (err) => { - expect(err.message).to.eq( - 'xpath() can only be called on a single element. Your subject contained 2 elements.', - ) - - done() - }) - - cy.get('main, div').xpath('foo') - }) - }) - - describe('within()', () => { - it('finds h1 within within-subject', () => { - // first assert that h1 doesn't exist as a child of the implicit document subject - cy.xpath('./h1').should('not.exist') - - cy.xpath('//main').within(() => { - cy.xpath('./h1').should('exist') - }) - }) - - it('finds body outside of within-subject when succumbing to // trap', () => { - // first assert that body doesn't actually exist within main - cy.xpath('//main').within(() => { - cy.xpath('.//body').should('not.exist') - }) - - cy.xpath('//main').within(() => { - cy.xpath('//body').should('exist') - }) - }) - }) - - describe('primitives', () => { - it('counts h1 elements', () => { - cy.xpath('count(//h1)').should('equal', 1) - }) - - it('returns h1 text content', () => { - cy.xpath('string(//h1)').should('equal', 'cypress-xpath') - }) - - it('returns boolean', () => { - cy.xpath('boolean(//h1)').should('be.true') - cy.xpath('boolean(//h2)').should('be.false') - }) - }) - - describe('typing', () => { - it('works on text input', () => { - cy.xpath('//*[@id="name"]').type('World') - cy.contains('span#greeting', 'Hello, World') - }) - }) - - describe('clicking', () => { - it('on button', () => { - // this button invokes window.alert when clicked - const alert = cy.stub() - - cy.on('window:alert', alert) - cy.xpath('//*[@id="first-button"]') - .click() - .then(() => { - expect(alert).to.have.been.calledOnce - }) - }) - }) - }) - - context('logging', () => { - beforeEach(() => { - cy.visit('cypress/e2e/index.html') - }) - - it('should log by default', () => { - cy.spy(Cypress, 'log').log(false) - - cy.xpath('//h1').then(() => { - expect(Cypress.log).to.be.calledWithMatch({ name: 'xpath' }) - }) - }) - - it('logs the selector when not found', (done) => { - cy.xpath('//h1') // does exist - cy.on('fail', (e) => { - const isExpectedErrorMessage = (message) => { - return message.includes('Timed out retrying') && - message.includes( - 'Expected to find element: `//h2`, but never found it.', - ) - } - - if (!isExpectedErrorMessage(e.message)) { - console.error('Cypress test failed with an unexpected error message') - console.error(e) - - return done(e) - } - - // no errors, the error message for not found selector is correct - done() - }) - - cy.xpath('//h2', { timeout: 100 }) // does not exist - }) - - it('should not log when provided log: false', () => { - cy.spy(Cypress, 'log').log(false) - - cy.xpath('//h1', { log: false }).then(() => { - expect(Cypress.log).to.not.be.calledWithMatch({ name: 'xpath' }) - }) - }) - }) -}) diff --git a/npm/xpath/cypress/fixtures/example.json b/npm/xpath/cypress/fixtures/example.json deleted file mode 100644 index da18d9352a17..000000000000 --- a/npm/xpath/cypress/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} \ No newline at end of file diff --git a/npm/xpath/cypress/support/e2e.js b/npm/xpath/cypress/support/e2e.js deleted file mode 100644 index 10ea61f87d67..000000000000 --- a/npm/xpath/cypress/support/e2e.js +++ /dev/null @@ -1,16 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -import '../../src' diff --git a/npm/xpath/images/cypress-xpath-reference.gif b/npm/xpath/images/cypress-xpath-reference.gif deleted file mode 100644 index 97ebfa8f41d1d67889243b8fbf78ccf37468a3cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 707120 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

{w*`z^ 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

VdiW+`52t%}vcnqWm$!pzzkP;gtDJT~ zUx!(k?#TF#19e_c_Z+yw{O%43lu|2n?!KH_GD|KRTNi{9Vkz&tvWBsRZ_7?nPVX|G z^srVIDd=+o=WT<>fKeqErHT_Doy-T+SCZ=dCLt%XCZb<&2acJZe8OEqgV2 zWhzN@e6QmyZIvJ`l*>(UV+Sl;&%IFuEbQf=PxB03hj0&7Aly$6h!~$1V*2w*@ZrL# zkw=0oH)8HxrqVfKR|;fo0pR;y8)3tO0(#j!_+E&K@=X2fFgA~vqJV@^T>cAF%a-)z z)Q*b+OFE2ZzF(_?Ko)9uG90HfxE{XunykBrNH!8k#z8ybL7JiIr4WyQbd@;B#%v#V zf4Qb*O>xN-sDxw7uwA$h_U3wL5}bl#az4qy^<%roBul*70t+QqmZm zo6W?&Pw>A-Enf@&{s=62QXSScG0X$F2zT}l%8iICX!^S_;L~|ysbi|$w)m&+xxw2L zqfgg7FrD}jZC;jca+`G`wh3}0R6~%9 zCQ*07ksa{%7E;D)g($4ezR;sRi$>`)I)m1HP4YdCG9 zp2a3z-h!rZ3T@JnJ~Lp6G%8+1%V+(?*Y*ARw$B@4zAuS%Kz|&mwO4r9pDe^H4x`$; zkGEi#T?0s`2Dy=2#gJ`!9i>cyqUCZ4`e&Wp_j@1b+_eQoM-KK$^Oi;@OW04|?8l4o z+vw?=(XoAUpym`0!*O$@M=w>y^Na2at;$2Q-&pJj*>nseKb;!DJzjTgI)bgT(SqhK zFBR7L#6F&k`9?Jv^aQZrCHsMht9>l*DU@q_c0VR<868cB6#Swr4x=(lj2q@^)IK9} zW?yoshWp3eAHK_j_t&mfhG6O1=?i~mxq)^4-r70fI4c_A8gw$;VO|8iT84dfiuq7*?ucP6+;$)HxvsGGr=o@%_6o50A8@^R6 zs1pbdxbu3xFd&XGfY`$;ZMxZV2C9sYl2WZ|&s#;kSU{6Y&)i&{I8beyD zgzJ|&C?RI|1uV34Azt=sit{W+ggxFNUXi%8W5g?_-rl5()`>D>(u)V4&o%YJEFPDg z0;D&Z_E2P=Q~FXk*Ia|_rr&fdQ7#OyX1e6k90w%wtBBWh%zpO?f2-g4Ux<>W1f}w5 z4u9o75$oi_xTUru4Pbo`9v{{xeUYJdIfG~Gg>C7OWb1vn&%pKv=c8ElK;RkDuL$>D z2SRxabSfxKgAh+8jZc<5^4dxjd|;~h-Kc%YGUjpb*Q@kWM>#nX4sWC3mF>|x-YfgC9ps>c;S=Sv>HX9f ztkd`VtXUJn_w75kbaY}h>3VWdK%7H>zV@C`7_WASnkMPJiFIzbZeHp4N?bl@C*7Qu zITogL@qC+APpi+0e7-s7rb0ZMUk^z`2Zd7L=NDWzi!>t^ANp6Nq8WFM)0Zsh>QPQ2 zZ_`IfDBkk$Oi8#)HFEt&pN2%Ys-jB=d>}5foUE%tSA8h|xXhh| zNWmrI2S!g6gB8wXhGRbd9Ejc?%<=;wH=*`87m==GmPb7I8MtdyOW;chr=Q!#pfTV4 z`6*w@%Ioj=q&9Vu{LcQ}fn)rp zc71s8W^ezx=tjYtx<|j?edhS#|1M+U;BH&x;~U=ZVtSP;musP)<6C}UZgN^y{tG1_ z;3u7o*P9KN!G&<;{1}3x5s&?(X$nD$%Ij=B~>tk^19&tAB?! zH!2gKRfURg^!iP4on$az^35$gj^4*Pm(syGZA@&w84{^0?1B!uY?EFxyfV=0-U=SpRh< zqF1{p!t_)zv5fn172?nc?IjxM)r%&NUJDVsX2JnKq+Y`(krqzu_xGUgoZzmZzlxhI z_hLxhi{XRaETW`MaU0a0KQ8(C@&P~yX*a{oAdrJDLCu5<@!yWq_&eiC6e*rm=ZOC~ z`2e#J1}rbA$50P^F-eZ10U;(E&B!>!--3v`rGyNmNewFj)$p1qa@Av&CCu%*A?Yv> z-i#mAColjo;6Y9X27Xxb0mEh&oV!=j-Rr||3^R^GhtA#pIBu%gk$DscE*2_EHGz<& zf6MT@M!KV-wa`(N)}QXcB6LCr@l&GFBc64LNsKNmI<(p_@N|^r;st4h09=DNZGQrc z?q-IUb0!}!jUzQW@l!A|wowhb9;C(@7oDesn1cj%bE_(HW4S8@5}(epI0jJ?vjyA& zzcqB*6}OwqLGQWXAt-w34d_iA9wy#<(GE-pae>#=>EXLvxEeN_zKeD*77!jsZ*Qxqv@e zgvD5Ehof_g5y?Of%5CbJVninf;l%~cjUrv^lFDg-)pUWra)J}OC_VLTX4EOmqDcQs zT+)aocQK>9M@RXxyFb#A=D3SFN*^srj`)e05*LWRa*TqPp*w|{fAupvm`V&n$c=!o zB`z%7Ot>wejr;W6i(g8lo2VOQbBH1B@n@A!4f@pJf@}oo@xm`K^ol84fZ`jck=b zqo^`;h8qCmr#-0c4LRt_w9gEgHp*#U=}`|MnQJf&|0OfiC%`43(ruYaHhR(>1Q>Dy zIf{Z6P~}MX3dv?5>hOpf2e2(aR<}~d;E-z*5ArSzZKSbjgvy)**os!jd92GRyyY72 z25)Vd%f@h$MYXwlYsm`rk{28adIdFgYi49R(e>JqKAIn94B9F*Kk#Thr&6E7AUruCk}pV=r!U(Z zRP4;b{sN-Hcxa6}WdeZG&K>k~S}U1rA{Axy{MTp0bZ~AKSDYla)mPX3ktvQ;%0OZn z`9pr}*jN3`K#bA6f!9#*r;czVVmyjREINASO#4L)td2|cFAxsGka}U4qGmi5x9Mdt z?2$P1CqoOT$&MXst7F`KotE&H;d{Cte27JFNV&Q zjw2a3yV)%g55#)Xzy~4JjMEKaQvB6rNX~&dd56+>h^7>50}L83?2(S zMX@s_lb_@SKak@(yLXf;2Ggk6y`FW&amgDIdA2&%dI9N$y4fy(c8W2a+T|Se0qP=~ z|HgrEd9LQ|H1=H$gY+HAgzSeK+uD-5(my6Rnfk%L`}%fPkppeK4ljS`@&L`K>*cR7c*}IgK5PhT2%eR2CEw@AFfR(c~KXXAp_&w zj^SuOFu6NtA_?$9_nTAZ|mI5T<^Yo<3kxd#1L%#sp#FR3#3NLvg!{o-FzuH9 zKG(&fWU@xl6rSVg(tJGJ4p+j%Qy446$(Fb@oA9%g6uekJ z=X;>#g(J)H^o7{~Qha0Bkd*Cg6zQj9mr?Rm#Q0@0H)3u8NqL3T-e64LWMXhCeX&%P z#`Y%j{+n)MpL5#JlG|F8n_8+{TI39`q%UGTT|mHMf~pBCn^RD7G$PB9RW@1>9&0z# zjoj=)(zy$+-M0KXzS(2{)MhWflt0tx8CN=iv&{jG?6#teaq^73^4ip4+vr3@_ z)geP!o6Tt$+ZZZ94=4B#xKD7`2>}2wk8Wu9@-$~Y=y;jmkXW+*H>&>;BgUO($7Wr>C@c2nGfNr8CoZIN`UubUB+e{}qK=D(WXs?(J!NCoo z>&1?r?4N%<`26cb;rtNNy1NEY4BZ5>Tx>Lp89hyorXSry_Q)EE(!m}w0CdYjr?tJu z^yAUhF1UNJVh*_K{B7Cbty22e=L%2gsQ>6Lgo&Ey&^3o814J4Qq6ZfB@F$_O|7+ zynGF&>ptZRn-N-$DSD2P0cqj8>s0MKPRhTL>nPUL4g6j90{0IpV{YuvP@S_++J%@R z6dhPfm};6B0h~ZU+%+<~toCzxNu^U00~CGyI`qpm{M>w<xV#JL<;+^PLaATjv|L@wbPZ#x9?F0H{sm3(;fhej$Jqg$6o7+x0m!$Lhjq+u zgSl{{si1W%iF}g_Jh~@ar$MRyJ6t592ODDe)qH08DQr|0{^Oe=C&r0y6*)5i1ptcr zwuAH7gmM#M+SNvEl^eeBy}-hzM{jEHIgW{CELpwQO)G%|01Wq5VW7xaR+XpQr>wc5 zhJeCm)HU+#QnDB+3GAYlWM^D)Xt(DO{!e)$xbSFX?TDS#PFLwYrdu@yB-{7_np`5J zj27&PTKx)uH{LzC@nr{OVCIbi$YzSN{L>VMdsdu<-^!PuipkWpaTTZq6 z)}O-O9#(NPh@%J=aUAlacye`3Azd|Dyq*i3l=Wc;6r$-v9#hIx&%CjCd;epS%-gwI z+Yb@{C}nFF8eB$Rsl1S_U25?f3*a#jUF!(w5&zxUN882j{_oi-{jR}-uZ5ie&(XNj{M}khU>^B*_OlEng<`AQ7g3`EjB-1 z{&a_FaUkaVW(raLpg^bHNkqSA_AY~(`De`BFOoAzRM`7Xy;D{SfO3XX2iLFLniDzS z2d^!e!Y!6Bo8I_+cuuSK>H6~Q+w$i$#Gk#w;G^Hl**FfhS*)J0#wBnDeqQy(TsP^Q ztV^B>)ntAnzs}prDEIFym>MwO`^8wEmV|aEgk;*{Dk?IY3{{SMzgX){D3ejEO=fMS)F1N_r-^MJ5v$uzNWV2wV5Xs>mOfE8&x`$( z^=sv(Ny6yzjiqwp#S1DTP4OtY+Ct~You}glz8`(!wln_D z%KUSXRF~g##|Dfm{u~XQQ2lZhFe&cFnCg%P?lSaO6B`Tqa#xL7#!KUEr{&Z?*ebZ* z)ORd+{^4`#-!t~CD(Z6v4d9R^&v#=X%U+bLmU_`swlr$1?+-)PB7TmAer+@|;+wU+ zTu$RAT9}?tm@NDrx|OO%6TWQ@EX1u_#BLd?Jp*?s@cpyBmwGqM;BLf0MbUWnbi2so z$2aSKfsdvY_NpY*xf{h&BYwR9IsU}DY$Ebk+Md?W;~aY} zS&6RHACbS8d=bHSrwoiEvt0xNRsQT2r9Hc<#UNDgNq+H?8ee#8{QTeVuZZkpR$8N= zsgo#Ok~B=sgA3teAT4?6TJK}`FK_krqOy}sZ&O?*exv}6xGu1#9~MTeFYh8-4T=O? zRv*Tb?9F#GRQtt_HPPMS#Pi)DAsF0u##8$y5LSk~(R=$iS#=k=<{iHT%^-GC->SlM zUTCbAR|)-xIWCywNuou~=G>B7pNOab3q>U-udJRv@g)D`U$3}XCldOltNl~Fyh?A_ zzmgBg5BsME)s%8zqx+N&{nH}BNwRhR)H~2uBFxqzFp^~43@b{J}^mpW#+zeR^BWvWL9)& zDwWDtX;LesZ`zwvbU*kleV@=>BT9?9q~IDf#>09j>0Yy$Os&_WxA&GQ=Np*LYy4~9 znn)-ZzF!J{C*8siHXNGoB9(!Cu8+Nw%VpUulvBc4ujU3#U}SJ zuc(V#YnR*nwuWCDwAHPC2>W%o$}Z_O9Y<_+!eQ86zd=ZlxevO9sQK?E-iZTIse5jZ zom2RwakrX+cJFLeDEdI`}^>=92Wz?pvu)L_I>O3<@UfAEsW6ms^aKiD#YDR z`EfhY1Lm?jl#O?{0q#0MJ}C*xTMJE(zt)}SYV9fhBfq)U^p_C*@jt9ujs6O~gYu}f z_W9Nl-3RGz`a1FX^Yi2!b!RN<+2rO7n?2YJf&f@I4yg}6JsmRX{O7h2%kqQlt2!fp zD8ro^6@I%QW`8;+VIJ42%_I?~Hfw${S(%wQx^%K(XX)1eVbz-?3n;qZ$Zeb^lgD- z=GVCLpChR}HS&{RlbXz9?(%Cf&S%p~uL;tFvNa~NBgW4Q2Jh)x)t=AU{tYskcX+!U zwBRDZV7TaBS^L{~4S+lUzp?6|dG9}~VSBZI)*}DheE;(`icB?NIXaMIe8ZQ$cWg5@ z^dA_o!h83ZWJ>6$k={0#IBl7L7o+P^V_NQxmgAT3?mHwAImPx-oIqVm#P{xpE)V@|SA{vPP7;~1nNp3>?T+IW8) zE1rx8yXm46!m$xDnl=iYRqtUrM=;3Q#?TE?pf~GMgI!BHFEqrh8PtD7lA3@p-$eE1 z9yn6zE!bS9N@4@O(4l&x)XWJ~L&b=J3m!m_LOT2J1fsXZ>Pi<=gpIRz zLYU4`*(+$YXhMeV5NuF_cB?}(sW<$V#^wPQe@?lWmdz~FXWBEG8iO28yy39jJkEo30IZM#SmOJd#YK;|b#F;!hy#F&8ZszF zuwg5=6AjamSe50;Aldck3zKT+(;l3n*)$D$=qJK&mvs-E)#cCS`+?wFhflHM-znE$ ztWqyo%=CS@9U)*xd3PjT!JGJ;Gpsm9$D6G#&_P-tSt)7H({ZE32tDtfe1YcWn1H<;2eM_l)$@h$4?Fw?iNxsG*1xZfvX zzGSAQzD48cUgXtqD+QBl(w$-F2aJm~kdSvIZ;reMHGZZNQ^8+*pd+lg&BIMR2nc=8jHO!w9)g zb7L2uu8&}8v+wU?Kf^-+JiM20Ia`J`T@=9l&`-YwSlr7OsPX|sLa4VUFS29FW8 zqJ8P=+tvD-WJ3oI4QPiny091i#qM&pDMG1uQ!L@+k~mY#)Z0n$naE(O^QmK5t^?ho zLBhf56KH33E)4!!QY#X=mAX>jRZH5%ODsu*i9(kPvFOSPnmHzg`Ew)rV+MWq4uAKp!bi-n1ezC?mNwiD*dxbduwA6MfE`lzNDv zpw|!wCSJzko0d>*%3M{x=ZXs;E^ah11@p?Tom*&t+?I+Z+RPzfiSb|y^*aGtLdCmI zs!$p8`ZqgfyMa1bgj~A+W4aPilwZ}|1ew1Q+T>k$PE9dccxTOBYO(PhI*C|TVoBW? zc_$)LiD<#p>a#pQTNmEvgGwr((?pY}oU`Q*U!hXL&_jHP?!LC{zfRm)Ec%N8G*&F? z8FV;wA%EkDD-8N-!1QtHPXtO4g-gK2^TfbNU@=pCCCz>e@6VWY2Inb2X^JK5w8xN- zM#pxIp+xH-J8QlJx9JeTHRkj%CV_RDxzk2$8@3uXAl*hDxE5FXTvbl*K3_(x6qCze zsHxqJQf?)%CVExLOj=8*ZvAO;*co@uGtY4{Gj-*vX@*Zf$$LGlf4s8gIs`QU{|oVa zNpxSRo|FWt+};d1u6L!yJAsc?L5|=Fey9&4C?g*7Z=No+&76hn*;_IIYYgbN*nXTS z>Sr5N-_-+w*Z;&BpfB~D&oQWom@YV8jxrQdEp5NP?!tQlvN4IYCktZ1J*S$|q6N~f z96uy;B>n9S$--&fa)+ZkP=+Yj7v85tcu<3L_>&3)@A{CaKfZ4!jf$-x_&DIrma@4x zWUm4uqvLlK>njtz;licmt%MN(y1><&bC&t~dw=S09z03gD=LVprMy8`gz^jG-|B)#^FYbOAk_JYV8fF)hZ_2r;BQtgB=hzNO9 zekt`G5&()cgv1}qBH=xcgoOE}!6YI9NQhj8(w8!6w^j(ZtlwdLO1XF>C|yCN%VcCd z7M`oHQJM;w@`K>1Hz2fLBy@)}&;I*G!8Mr*_jiW_X)mOG4sxZiH=Kz~gVfxD(2^*y zX=Ns{DW!3)_O%HuWw(i3C}f%+0;K?)IOsXM5bsr_u=;~<>&Aru+Ow4q0}AM}1i* z;+`6EP>(Y6Z#fWqR%p8$^kt?z^bv%+)r-#5YkNHb)D5(&fBJC&+9d5~A5TnfNhfA$ zklK|1LIuDDoy&6>4lC|8(7`!^{#~m7RGgSJyTF5o}LzInbD73daHxV3b2Jgx?d|>7N--MEeh- zltr&H-(~yYw+C5z5|e~sPu9JXZSW8$gmD*6+pX^!OvA401NvVFbGiY&h5!ZN5rw&D zNHD!b9s{uk83shkmst>2e%IV`35OcneME8-2VFUqPvUU~9E0m)<#DCd1NEU)z&ESA zvWQSfjZ4PPC1k+ClsyET=m{}?L#Hm}JiCLT@UQY^qg%sOeWFk2j&fm0FV$%?UsHDi zp{ydBz;Zc|Q7kd@LE5bbKXT<0crG)NRJ~kZ%5kEyb*zKWg4}te9N1FR#Ri>u56;5= zANJm}t*QRs_MHh3Lh4NDMF_p92-2IFfFMQG&=Elb zHtKC?Qfz>L)SI3AzxLT{pS9P6_24|%=epL5nAdNP?--vk^bJFCh0dA63mT5O)yaYA z;la9Y6^FiObvStk_DKDors1`G934#6y*1!aJD#o`?il=(a~3t9gkQ9K;?92dX(c5i zg#D0u3#%a>u*c4=;c~z0A$0U1iVg_vH>e0lPCyzFADN{1#ns6nkEg6<^ zDY`sUKDzx(^}(};xAf)$-3svMZ&p0>md5}jj5Ql(n*9bD-=sUmWy*xPoW<(Ds$u*- zH#W*)?suMr85b0MJZAt^(-3BRKBJ z6yN&bh0uDnq&#b}HcZg%E*xUymVJIko3RMp%<7J*iGkG-nyo>LJOB_UfG;(`9bufK z704wAz6x}TJ`M&@uuJmb+cI!pj-3ewe5%L(25^~fSVagrQ^ADkD&mdrD}xIBt7w=P zy@RXD?q^}HW{sF zW0@d#YLGbqiOJfn*D<0O=MRVCqTbbF05TeMZ(6F?8Cg)QkwbV)xqpb(zi2>_5U5zE z>lh<)3Ca!g$uF7w*)9VBmdeCvv<2$1HSWAO{ zlSKkaU@;C)BVeEz$bD@#v+u}TFm#(0I0>e$18{AS-HV17_n6r$s{{0N}F$3qR z@Chom7sOb7yQ1`rl~9acC1LJy@HJ5rSl)EI>$CRxaxocJVtp|zo^0$cxQf8*e%&aX zwZgnyZ#wuY&G6C@6a45n7`O&>xwX#)GqqBhS*$yuvv1)3s6GnTk_Z;ecNDR!_XIv? z00MCTCxCX-Z@LRqhgMPznlg$qDPXHNXt5NyuddreXGKSFruCs~^r4XJ;MaPi*R|C! z$e0+z5+K{xApt=OAz>N)sym_Qh~CYf@m4t%{OUHsB40m9K@Abw&!T~n+T6t~Y&;c- z^G5(=Y>i##2>CseI}M=re)e^>@xu!wfzSB+&t|Av%kduZBl7BzZxr9LL3lNW5cA0x zPUBB(qXP*vY*8__=dxyjreGcU-Fvkf+b-7E5w%6fJf02Co+s1lv^&|VfVZI?p83S&JSdX04)P8#hEe7 z)Y_sKwoC^vo-QMwnNQ8EO)}4-pZ}n>xPg5;s;xvOgX7>{ePZg%o*VT&+qc17a_RFF z@J$RB-hdqeqn;go|NLI9ta)a#lW$mLXF?c)YUm?H-kvmFS0YZe0NO!tHeje8MNYzm z@nAH!reX4*k=_GP`L{WAwVuh(yz9zi8qB?D!$B=@jsn-CV9N=ErpJsA3A!l>O!X(a z89hNX`V>+Vbh-fkmP7E`h1h9F<|n?E9IOU#G!u9x&t?}Hq)rTv{bC|l8B>IQOi`+J8+rDRI6|g z;c?^&j>KiWU+XrAOvbT(HSI(jBhiQ2u%|*xTfdxc zF>e*&vCyc)eRKf_tS}X}ECIBok_wGiL{y0;?k(Y31;1`lPN|$Fh`qqEczi`w$GYaX z^19sHk0DhgNv~RF6T4g2`&jfdoV6``o>z*35*F8D9wHmM=R5VmMWR~nt5voJBR4w- zNWZGl`8hWCRfql@mJ13eQ00-Z7iXS)cNP9#=HUJ$2-G?5V$I@m_LD}+ra{|vuv#4% zNBJ;>M%OW;hb;`}!lz*OTJT(M!xbI+!J}k7)6$P)z=$}=(Rm&K`oT-nz@^Hg?{foh z+oZ8FrOy-VK73C|;jo;4r*iZR@@cZJ=b7*byIa$!&MB$SoL#oUG_zmQrb1g2y6tx7 zPTAhua(=z#`ep0l(U#lm0r%HUzFc`)3r`Y zZ^7Q%WSPCK^~5Ez1$XVy7V#Xh{+!S7m*J3{JtoT`bKF+-5c4B>x{zbFxz!##XNW)^Lmd- z2l2P#+Ap?EygTaYS@5*kexi=!`$aaZ-8J4$RGsuLsB;*32cMi*aor&SG7SRs`RsoW-^}Jvzw(}MR$vtV28^mk-)%?Da z-(Niiwo8^pT6g|t=CfP2DlrJ`Q>bZ}J`EiFC8v}0WU4D}(MIAW;~n`K69l_x zwvxHeT?8x~q~!f%k_`%KN=5&a6U3f)@`$Hx`E(g~AH6g*sb zL%5LHPrW-U&NXo0!82!@wDJa?F`sUvgJ**Q_oW!?s)&eL8QDt_dz}(g8>sc!A_jwO zEF3S^Xe=rO(PlT7iL4Z$s&`3N*4lZRbZ6H!RP>D)DmI#(dd;jb#5JE7-;y8}Gmzie z-ry&DcxKS7Nwv4^nWe_Bo~&X&n^lRn73KFP{GhmuyokbYeZ?bd1MVvvLrs8^d4<1X z_{I|*{$52}3zfyDX0y*@U#WL7g}+b8d=_CHwsg4CeBR;G$2a^pnuLv-h*W6~`wJn9 z%?|cTn@W!E@#4=NFQ*$QJ6*{WPjtHWC|227^IXnzXWys2!J3_oi_cwdzJ8oIN%b&I zHX@D~sLTXf2e9b}>)=~v&V4Lzxp@1f`SHgAiu2#Ca^H=fE(yCAUNLqXYp6QQ!(s|6 zy3xVgDy-c+Auibb*Rc~0u_|9%FTZC#oiC(gv4N5Dy57wra$ZCInq~T>IJK)U4z5&} zWlDdSzLK!~UdpZD9!!1t5gA{nPd#|aS(uRJ+};xL9Ix(EU0JbmB`XnWd1y#lMocj`yKl&Q4#jSuZ8`L^*Ml;ds~E2;1_qpOn8h1Frs_Me{Erv6mYGZ z3AFHhz0(*aMmGtxe(4&T?V@Azb{E@V~<|&2HvH zH;MzFc*7rNUdF?K8=-oMMtQZ2t1G$H+c{`HJ%o&RwMkFTPeA34YrQ)Jy1&<=4HJ2*^rMPXpE*D^(TXO#1UK31*QRdw;06>Zck z-gpw15Kk@<7i>iG!rYUb6CcN@^vou0Ltm=)MsqzN!k^egWyiWni1Q4+`?WCEBA`5) zh?>mR%f4J+YfbY4XHn)&j`&YIP)i*(VLdXWPBM2i<^6;`hZ$7pxq)XgV3iyYq?`>e z8chp{v3zx(^XdI+@k?uL@ox#OS!#2m1~*IJ|MFc($z@J0 z?z`_@Y~s{Fdq(DPp~7vQP8M~*-jYA+ebKMmpLZP_(bVrI1lH_~}fVVppA)2Qbw zH&!6P`ayc!hYIUJNx(}k#bh`}NKP@4gQqLK2uj5}9=y>KJe{OhrFU#e8==}!-1ESG z%kM;;t8q&4YeJM*ZLu3%ePAaiYw<(PHNOYi(gwoEQ-np<++b>qO~1HJwEnc5_)h?2 zi<9GceD7GUNRPjID~*meS!JCf={Up}CI~tCB^){N+Atlu!2s_mFH0+7HfnIL!|J9=f5C`pkqoeAAUUzCtf&VU+UC&+apU%dL5q5hM%U$85dU8?@F=RC~ZxxTHUb?+p2^4jnw_Wa;^ z?Z?=K7VT;)$nVsO>^o!HpQQm%(oPySR(Kt8ReteiGPVyjmg(8X^(FaVQDm1grOciw z7biKNZM7`Qunn#b|WeOcJ|f1JU?Ps4y-kE~bVc zZD^rWf+j9pNqtmj@(b4NW%1eB_8P-&IiP|jfHw~0RWg>v+lIs}@M75=uWR+^ICS%6 z{W{U~xLk|xmYV^$&%Tne016PAkU&ounu)3WHqvr-79A}LZZ|1SOJ56<`0ZlU@}i4; zi|At3L5|fcT1PD^vvBX;7*LS=&VCfYJw35%sQOS-D=U1tMPPyU^psUFr~3y{OPVUD zX+VDtd#656O_9kn^o^e}c>=nj;=48J0-12#0GlR0-(Zm{fjRV*1!C5f8 zQStl-{OzwNjSbJD#hyL% zf8z7UiB(e`2Bt5~_bq*3z2|x1i#R3y$fuXm1+>yrLa#HagkkR;{P+<5`UUe^B9Hdp z$4^P^y!~?IKBuWVsQ&m_EQAo>qsvyi{QBs!wn*`7!z3l@?--gMHP)Ak>|oDOcs2j+ zP*tY1X7s*}H%-!lM z$Ev@vUL$m0Lv$;may#BUXefEhuN2d*n%%8drsurZrQXx6`Jr2Dq5I5c_gUs1ZH^ut zu^wH;9zFdYeY+k5PyMpwNW+*OWMrdpnLbN(24iTNRMTT2kgh`}?W)RKau|%!|1~tt z^YRye@A-ois{~RUMZrG1cWehvSRvscZB8EyT3d5MftYjCy>1+-4NRmBT;FBpR2jX# zD}_i#ap$LH81Lmi@3KChras@EzUv?Q{1*Cd43%kY8mj(B7eA0G`2TS6^Z!ee)8cQ= zF_yRgql+JX@w(Li%f+`kj!*q}7ysj;B!KyM7r#b)K)Q<5{6Ag%3t4q%oS+1Aw=dD| zkk%Jw|8nu!FZ%gga9@44B-*Z&`G-uFntn{#=z#8l#?v8gQca*|O>HKC=X3#I1ri ze$l&=kA%|4{CmVTygBX8(zrUQ6=6(kC#+Dr`#ZnCeK~h4O!p7`&IV`5IGdr+J-9>_ zJ*u{0?4j;h13usUlepLg-3oafvPO~r06m^DIbCw0kgV)(+sYv}a)ag8+)RR8pVWMc z#!EOSCvStirAztf@_f2Btl++PGx`IYq&VNEaZ(xEzg&DLuFJ?U$t0<~gt4;hf4TV1 zkzH(39#Q|laPiX?EdKABoDTW1_1UePQ-9nu&ri8#DJF1xQl=a{iI>hPb$bWS4 zW&h{obb{oQ|9x`WIj|eOcn@$}aoT&Y&ad@eAcw~9!&#$8+0L3WjHl{-P z)<|%33Y1aF08?L!1jUM0PAs*-xqbw34N+h(VpHb*$X-;!z>4gjS0<73G3DKK)}=8_ zc}#co+bP3so?bK&phiHgXAz45XUb1pj!W^GMIS*Zdb|ZBD258KQ0eUrRW|}JJQLJO z8|?_C%1PDnTc3UIuPZBD8iT}@FkNZU;N85;>k-6px*aYCrwfO8M;LQm{KG*g`Vp)E zKV}sn45~JXCjZbil<`ynrMP-HG?=y7?`0w)Ns;%CMB+uyc)bj~&P3KUyDY${e*^MI z&t+-Cd8qlu8p9O+x10k7=fRXA;TG)66ofJv~kTBMCuMC zv~C1cWFe0`c<9BT=FAon7PYUkRa_SE%ts0f0aZ?Nm~1Ezt!=pdll4qn)vqMkL?e0b zIi#;h4{o59W-TGlW+M|D{LLK6-0pE?!9L)2#jyVUY4$DvEVi{=8z@0t1x%8&=Yz(W zc?1ywX>Mm0f~S{ZDth=w^PZbYlf*d8qumq(t}Ed#-d`P+2eVfmn}q{XhWglmc#{Zr zAWqRyZ3mYg&zLCYdTFAU!H&s&ek06qqTIgAeXODBa)rIglr=7@GqgvKUv=19+V^Vz z!C!O@;n9>3ct(A?xK;C+?jsVU@y z{dC(Y4(BJeZy3RetZs)2J6eRQqP^kqDxpc?U~lD)?>4Q%j&+J3Ee=T6ugy+!mO{Th z(*N+y%VZxkTKMgNy@K$;j*+5{%;$JoVoasyLbA?oe{W_kfB+GYREl5^N+lM*|H<JQOXiejlJEv3os&UN)RPc(GISpFvHcS$f~Cl4&; znKwqF4bkNy-tl+1V?IU-Fj}Hm23a`N$S2+C$!Fda-C~RhM8d7xq5k^P_7Cjo1!XV1 zrDM^f{2A-^%q-AR*xiRs#(o}j>12z)ETGezsDbyQ(fR|+R&q0uCsYidJT{hP^@uyE z87NKgie5OQk$IRaewW${Kb@&b#)&S!kjf~!dZ%ROE9al!b!t736QARI!n0FAUOMX< zC5pvcO*n*REK|Rl!Xa9IB=kb=v~S?)SZI}$G*v7sj%0eLpvp+pXAl8QX4?CLjMMbXM4o#aK~&Bf5l=vFA|OqfEi1ii>XFs9 zaE&j~NjG0VO0o6W`cAaA002c5?xb36Pi+R6Wdta$bGHNr+UO3j->p}bdaD+%l8?xF z-yAJ80~& z2E>^?#_oQ97(T1a3P?0;NYSakDMuapoANJhzt8hprWt%(!r@#iC)fKrA(1RL^U;8a z;Q90fSpdM)Z7>~MXCY-pzb1D*dq{Xt#a5#CIbF?FXS;}1dsA`)1-P9b%Lrw)VXT=D zJvp`!>v~70Z35GH2%aJ1LyEdP329TeE)W3w)nEBnTssO;$bAGvW~ zvd|gidn4KrbV=N6ZPpAU?wK_$E;sNx4cq4yF-5}oM2Em<(F&UYp*S*V2|q=^*foP0 z@z^^A5V8aAt)X57!dC%+Rv*PyC8S9Ji>Zh_Dq?zFt4{^2QGkn+Spg~{hl(hq97hIu>e_wM#Uzw0;_V-m-2-kh{nF9k)V+_eY8u^_2?gelx;YIkw@+}Bm(%E zlyDXoC7yw9unMi~$DH2bW}QvA=OysM2&a%8=P1eW-PjVxaS@)0G3%r%6>vA6B*T-m z=dQ=KX8x`|fd_|~vht>P!Y8lcR>&65tArNVBdq_#vH4?~;35wVA`Tg6dK@Ni=^ksb zZg+Q(t$4&!W1Mo329JS$WuOM#FjXWVa9RqSqN|x+6IdmNKS@a2-0?s2`QCj8u5XU% zxu??)j8EzONr$SDnVrb6FfzP=jA$dH5~UC6>1eeRZQS_o-|%iLY*d9Ti8~`_BU)4k z!NUe@5%3268H!L$KP66e6#Gg$+TBoJ42M}DqHC{aR?KB;9Tf-vRqriOjHD4$l~?$r zO{{GaII@>R_Eo{RK$6a`XhrEwW(f9EkEhH8$C`GCtONUoJ#J(?d#)2^Zk1)+oT28A zx!oUW`!y$YPHmQm8lqxvQiQqT8D^bXJ_S-W?AXh0ERBJvk*l14QLGoWb3=F~7wMM% zY``+zyCK@##3{dP&hmEKh0bkMFk1mFO6MlUIGWodUrqK0`hK z*hSq3JkeXA{}VN?`v8z`#a3vAoh9e~A+ryW_?#Cr;^a{P1tqwd|Ez#xnS=>7^5E%jA`a!)&P(mCdQ=wc#&T6s_?- z+E9D6>GWtj?9omE*SPe<-NfTdJog4uGZ0#!#H6W!D2#Hm97OqYh zlYFMZERsaNx?q)~fRLP`lyc0XhO|NUF!nwA1tuKARk1|JRCIp{f0T$DAu~cCXv4)j z2fXDXW2mQjMR?)jZ`bY!Sz{*Y>U@jkL8noEt@sPxcu#uj^*wP$a3N9-WDa5H*~0}n zRgz4VA1AW+d@PSll4QG8wIx!hdZa^08k8DjB%9mW14*pj@wVwcQa+Bw3Xs@>B&i7} z_EX!{We9Cwhnh~2(yI2Fy2+X+do}fZwT&m-ACj9^%wFWfDX!9ZtrI)r z49;3T0BCT4TzLZWMCNE;be-^&&mZPa5x(#CIEfAT?NFyNt5zfCDG>hbas#Sw5qWyh z2r-FWCt)J4po-t4sa_ltHBFxKm<2g?d+OOLdE9$jEWI9eZ3mT=3BWcIIa!LMcTcQQoy{Sh8*9Q)p2HP9OA!ewF#2Fo?D z;i6ejb5%+=X4JCpj^n8fxbuIslF2a7$cGR2*}oEQdP(C`t!{gzP@5I<&;+Hpw5UL1cR=>CjF2a{E6%9@1B zGUHwXv4|rpz?s_N1HO7r!%msK3~;Z~jBIy0->Sup4FXu0tRRwdfQB|}QqHSYq~!kY z>$O^C&X3r9D}ag4I&{3_&_xoMW}G9`CqdL99g3%6d*l*7y`U=0QPC*eEDgo(+9^`r z8Pe66`mK{--gzk3C3am>qApF^6|(%|fy-3ag*hra4)czNJxSJ&V9X$P?QUypO9Fn@MyYe$JC3tWU2Qh5rg`u!DcL(*@i zZw!+9J{~9{=X3lR;BkBnB6jIN`SV>%wTiv=cjJnNyqlz3;#nX z)LeM`51{~DzY@@DMtNGowAeZGw&m%U*CeK2!^|~Lv}Z=%fgQEK!*ghHs1 zeIm;keqhk;>N!9Vn^MP3(v$~+*bW}z^Vk3FwjpH0A)jbL5tyAQbh{l{f_S&k)Inc} zOdk05FG6AVHOJOp`ps`_`7O5&E9p@v<(-0)>i(>x5Fi0stgA2^(B}tp4xvOdZX0t6 zU7QM|u5WffIJ@HfbqA%%=N&-F_6)E2RMoFlqPk#_6Iw^CL4WN)>u<>%hF`hMB{ z?@ga??Eh$8db0nsEF)}*#owHzx_htu#40f#gU;)83+%1MYokiQqj=*U5x(^VWAhSx-awCp`g)=j zigUeWS%pZtoMbmWwb7X0vg^N|?8d+2TvHVzp0WSZKsY(8q z?~L2dS9nsWnsW$2=t|LVnqoA}jS3N7hBCd6qUxmG;1#VSJl!cyRfG+4UyMlLf6$0J z%#e+F_aIU%tX$_@$qJBdYyg)GU;*k*ryv&Qt!#urxwXq#>LNy(c;<3Df$nS$+XT_g zP_p$N^F4s1hrLy1YSG!v(IYTGn2$_x`02yDTrZ+p=w59xmnp_5XgNw@HMz9a9Rb&; z*XNF+IhQGkKfK~aqop&|qFC<()JokQ)}!=LM{6g*)kE{)HIvuOL1KHySuE-YC|k{X z58=CCt-@(So^IL%e2x=5j*ab7&$@_&W@6&q%&u%tjBs)cBbpvYwxQvT-aMCB)1g-sNsXy0mR{6+B>vrQut`M2?RbJ@nbTtem5S~)RMiI8{ z{li&y=Y!qOnwTR zWj#9w`6!ShT4fz}TzAhuEhS1^@a~DLiY6tgS-HrPtl_$=DsLy=g>OHjpdWh~nf)(9 zLDHeE^@;rn)Ez%d$MEX$Bad5;LsP!L4Ek0d?L1iY7oo^^ztnMp%a{K_%n6mhy{FST zxUYsvC9ru%Y3i*{rTQQ6|ptB<5^_?v>iN4r-?R1 zA`;)9XBZO~3SSm8pZ&0kFM~)ntfhSjXDl|To=i{@f}5L@4?g`i#QrqZ;OfZziSa~U zCHvUgxxwU2^Bo~~->S7nUZ604=(7-5ayYSHtL##NLw4wJxPhGZ~05`CA*Ip&M^CkttnR-5i+`PJ8Eqr){-9VZt}8Xn znIg?|?hThen&bjd=-T%_sKOe3i?D-Gk`(&5OlQ*9e9mLaS6L)wJCn?oOBO-i9&KYi zz6iZ5X&nHtRm8ug%_%Lsw05&!TmvKkq%p61aK)dpmBBnq7-iHf}&Y?u^G9e$8XMy{=TG=$M&AEa-ZRl(8<_TWD zBCIJ?;?aKYrr>r8!rRbg+4w8hVFaZ=VTHXJcL&b==j<;8@DhEnM*6h{EtnH2(EOP7 zQ&Z&plF*U5;du9#QwtLSE&kN>ncOM+FNRGL3H#Tc;{2-Kr;KgEw#7?sM0V^SirXUS z_4feB)88FP@O%=Ym4q56VRlF$Pb6M7lEX2QD>RZvReF)&%PVzy)B#UpfB>qp_5`q7 z4s{lCOH}pbnpGH!4pU7(`-hgOAv~5LsC<;f74zku#5(FOUeu71b8JHQfp%ZGW7y`= zvZ`PyGnP3aX1By;U>mg#i`~<`4V{g#ca-b0cXVuxgBwDn{QJ7yFBbrUn_c{$W4w$iD7&_x8Bt*kuF5Ez~7AxB5|N z0%{(82A-HR=i4V7mz|$@zcsONJdu$LqVObX3cCtPB~>_H$d$6|Qqlp|Vk&n|{$_QW zq6R&cI(0H6rnySiFEoBPi`^$bxivFLecfJdiF1;O9;TpeV^Z?rDUqGnd;*vbF#ePi zG<4#v}N{KVSVb8<&+!63~igJvZMVZ7W?oW=J9ahN0hWR~JH?xU%PM`S3XKJ`Lu`dlco zjh?B7Ly38_pJC&hC8HQZ0!PCR60>)uvek5$uUlm!S#lnYGBga6#T#$&HhV-#j_U*# zy`6I?jCw`NDZ*i#3z#e>P(I$dA8oXq!q~&{wyAQSDS^20Fjmhlqs-D?FY|!We-6J3yt}JhV`KUEOJPk zTH&;a>*Rpr^jd0=QUT56WUsAL!L#&<-G_AEqPZirq6McS7x{#*1x2Ur>=G)9KFm3m zt`xnBD%x;*)GT^?n@v2i9xD^Zb(sH1L?nmZA9{(#F)xQ%XQT8)V!kTlSeMzi+%R{m zD5_%=A9>7VeTGfsLyj847J(;lycijk%<3QL;(ks*rbJBl(ODg`%ze>iB8ui#!nh{9 zihFcwQmo%9MQ!p#H4i7>WT_G^%`ziNU#84>&?%GG*krOyGoKRSW#X_{CMAC_JK((I z{c?NLa-NKmtderK!SYwo3TK&$jxj&aNx!S%72fUTzRt%z_bOiFD+4Bv`#D#>7^`q} zu2hUcejS$yNviB8-F;S48EOjJC(4B1*SzuWe%Xs<8TaeX#F)ww?45ABjt z-O2*zDlg}XN6uA1eN`#n@#LEL!X3(VW{vnt&I-Q9`+j;2BH7ltCN(^%F1)5=vi8+p zEtRjXOTDhgxvnp~Zs301V0+!rWL=>R)4L>@yVt-OtJ={)sT>e1dh2oV1{_8_BRlvw zZ;bJQKys+q{_zuQf)!H$qT-x2?KdKjLRrOW(v@bpgk?ltb)2o ze+Ft<9@HaV)T5^ANdaY;+Y%suLj(@|cZv7k5c+=tp`Wu0vznC7oeF>KCa=Htonc>( zoGlY_wtT$aOJG@tki;LL%BCeBp?Y2Jfre7EF-%(d)7DM(+xbDGj4FS}I->Dxf>>_V zlt%$&{Daj`3w=SU^k%QQ6va=DJkiQu|AElA|7BlG|2KpV8l710;c)m*B;HcE{{NDA zjoA#~e1jqJzF+$XIRE`l?O}IdF9SHw!Jc(s0O#u5|3!&+bJ1ebG=4sKjMZOMWy-Rn?;1%h7N+ecnSWYGt| zr-!v8*_kbut@6^shwnu<4X^UF1cs=@c3TF@G-iEh|G}PRn`Ru%C>)+7!^)C#YX2%7@pOovG4~VlbISsJTNM{ z83UMmut);%lbRth85iMT0=)n=CUfZaa0`P8d@Zr86b9;jMJ$mCC(@Ua4UIQqpx(<> zf~QOupsuqIQ07FOv4~|XFXP^%O@hQIQi&{)qCP>}Djy$;Bdf;;zg>0HPa&5cd(1BW zLL&dwi{&~Vsp3UldT{&~S3Q1hyCm71Mx#iQ{BhOna@#nkG^)2=0iu&h+$OB$=ELr6 zqd@||lR)m~{4Mb%Xz+M3bU3=FJL3wkgznyGTJtbEi_5>Xcu<-FrO*<+Y4CNH8|o8{M52Pt_z6=u-D-5M3IO=U zrEl0&NBXJvR+yeVuMy-UT4<3lT>_Yja-yaA+~Y}oYZ{m4_CG3J9_gtmTuLj?D|dFFZ-k4uk0UwJO1sx zHVMt4?+wr9zCim)%{Lr|x)5WN`BlO{Jnxz}JbT?5W~}{OXvivBWG_->6>+Uy6JjK{ zd%E3svm49ALxtyC$3X{Lgia}*3Q5`Lx&rFo_)E%2<D)*^_ z-XV}#_toBv{xL?K>lqj^=C(i-_kR6UbOs*VCDSXAh&yL}1&X;8L3sc*#lcJc<&@M@a^p>UGf4F{i72l1;+%;npIX$4`+bh84x^862ldVE-MG^~4>%PFp}kh^G)n*(Tka$mlJ(+M+N(xtL7jyG{F+^ILZ zl$f}`N|CttAZgd8_vk@K!Xw7tXHxxyVDtFh6&>1%Z%QBd7H`WNn0j5~4|=UTFSOE~ z{<-i{;TIMGu5+a;ARZG?*nP%MKrW^c#}=Iu&AmmI`GPT$!(Bi@ch5eXxz#-( zu*U7zQb`~VADA%0mj zo&MFT8~^S!U%IE&9Gq!D8^S?>TdmEnlPk~9W+T5qvx|kwcBp_1=~8EWk)5xtz{G=f z$HnbZ-XC}GJh>0=5A5lV1=b$FxRrkVFZPA?SK@cqFF!qS=Y74~<#A@S^4#I7%hBHW z$g8*Xb<}6y*LE{JW0OjCRj8r;Y^)BPu#Bvq)7rSc91pRhMaK6FbabEu=L3Sr{DXqu*t=cHvo; z2BpA0${B8+sI(H;R1XRP36~m|#ttwetT9}l+)nLC8z^1NAx6K*#J(a1oN&LI0m0tu ziN3N92Pka$R%~ll7(qvHr=C6bDmZgB#y-GuR|P!2eNAH&Jwn6~jo1ON*q#Qox`JCw zCC5TmoI*yd=YYg~cihco>CYe8rS<6gy^$CJd6d$H^4DqQS$D&tCclFIUV z*kUl1a6HUGqiFQ(4|;-GLsH3jQbw`D4?ukw=5l=f>R(oghQ-MZ@$pFsm?dG5A*><| z*?%gr&(;S=$0qaW*e>4UY&UlA;K5~+kfV<5J#OrOku1lh@PPo}ZNNFRlZuy5Q|#1M z&bF2_V2*V72<5?tBX9gNJvebd zD3}S2hCQ5T<5&&h8=feVvX0#dlUOCH2ejh8QSSbb!cVyow@d_<-r%;}h#bZk*dNux zM4ZVyQjC|9Z=Ltu8=NFrEC&|y&7ye_#R8MXf_udTz7i4j60sx+j|!hpYenLw;=a$& z*IP<#H%jDu#M#wLH5<`NKBemIrJ9qaXZA|PMN75A#d_4r48zNe@0XdjmzhtNS?-lt z@s-=Cm)kj)+lQAkBwiz)$+=zBo>s1$shvkd|IJdNa2n32C0QaAU9Ay3uwugjSGXrC z#PJB69B5!%i4Ra8d=Clkc^KY)>?04BM6QT56`7%R@7tJNP9iQ~X!FhY~2CUykPUFq{RTJddb~ zr)&@Rgnoi3*}u5d+yh@>hxjpFaKr@<5`Q2;?i@^Ule{Jo10gt97Sb~ec!z*YF6sW2 z8a6pijs=09h=Cuiqp3IJ#Lo23E^{`|qK=vV=1o2^xcMA9+z^^A{oW;S6R<)h2`*r= zKuG}QT_3O}Du{nrrF}Y_JwZfL;FRCYM#_fS;~3HM%ii%8k296aMVO=46XKPF2jA;Y z4y9fEPt(4{)LK^srH^gSy#XIqYc4cI>AsCra+(~!`bX7S=aBaE>Ft*sXNTgudwj~C zz`A|0$6QV(dXz(03VP&&*>Y@peo5RbyIvu?W*h|uf)O2qVxSs3g7~;xc=UL=8=KR^ zBSI$h9_XRT85MuyZY2*CSEXC}+$N*xa;u0sOf6F;8z~h)aG_GU?__Fyf>J3A8SKL{ zmtbRV|AeYwV(V?^DtWT;0Z(X>8~>6^rre)1hMbwAJ8T&jF+C_3@>d&eS{$p$=SyRH z-_L~uq_54~k%QfXN;0=tQ_DPR-#I?D-fKYeINLYf3Xru8=I4f&m2|LmNL-z-%|4;Z zT~o{V%ck&l%H-VBB2269`8_1C*M2<4L<}AbaZHo=doCD%#uR@1BL;8A%u_->rjQeW zxl4`a)VoWW^hBP*UQDaEgviIW3@yqgBa7MnNqM55n4qWhS-mU+@Aua=+-;pW8U{jt zKbT0Vf4trM4xs+FPaaK&Gyc+NmizfQ}) z()t@?h4t|k*WH$Ayv;xRl@9oPFDxy+@RNDoRDS2X=c)V;@BSLexo5F>%3^=2>s_&O z-At;PipJEA{KJOP58vJQbNE*=D!7joDR;eup)M#^{!uMKKesjBdX{t5W{pqW&3^IH zj9b4-RH=JumI|c`Qdt?9OeXe>FOOF|sFEd%T`AE7(tB${LXdzb6ZfZjBO!pC&eT%Iq47lh zJb?4eL_L&Tl4FE`1ZR)vj|myG<*J0ctMKZv6KPW*(P^2>7TQL&_vcp#b9J;%1gqp@;af+hWk?F znDph=W2%ZbBLLSDsVo4H1%Kd%kjw%WmT;p;p@>ug55eOt(?<#z=%2e(3UD}XH1+Hd zslGWQ%cYvAa&?DPn!xl;w7`eFE*}D1$f6a$r0Gxlh7aFkBZa$dtAn zKnZ)G!mSAa#UP@N$cBO9$3wtEDuRCiQB1n0IE$`fq!$RGTK?(>Eq4Xi!{gns>ol~| zhl`(RSV=~3jKY${a4#spBSIvn6eEPjsjj8pF@GDYMT2(K`NcVI9mo zf%KN>JrfhlNV2)on4hg(y$CWtr>oDnVWe$h0@jsPLF_vUm`+DZ|)DX(YAgMrzzK_LkWU4hj~ zpouyOCzwb7La!<>JvkE7CW(D3wf=l!iPU~o?3?y_GIY7H(DvYclfKTAS(-7n?=oWh3 zZIz07TgA5&e4ZuO{GU+pd^|JGXFWf407zBoOgCjgAJWiYm@on#vDKm8)5;)CPQ67z z%O~2JZWaAyKK(}(&x|s-JrK`5fx9Y~#u3Kxy;bcm5_#6@dTz8XL$Bn)e3k4nGIR}S zFiyt#YLyaCm$->P%E*vylN3tiSR`Uvg0fWGvUY5U@1NW1@1E-JJO3>=dk<=0v6B6d zTyn~>56f{Z$Z>9C7-2aVcXLicF#Y6AWk!m4?Vg+WDTZ9CIGxLVCE2Lq{Pi%I++5Q& zvW0T+9d)(5p)Qy?IZq`%J0kI95j&=ziel(&zDD#LmHg!r^>u~>CusE3Q`5puE`sNh z)FMxEX}oR9%QHE#E>-}Y&1G3f$#C8O^sgYWizFCOeSdBYTgDc^ypHNt$ZRY)DF(~4 zYkUA<1cBEsQN8~?2%NVKw#NSx1irAC82@iUVCMV1ZT|#;^;_dvb?(R>`D3h21cX{2 z`ZU}z+vOO(s@JL(D}l>W)J(;Y3M`xgzfVDg zbAM~2VEB?5`QL_J3avzK#khF13l(0L!lQnon}+ElnuYZzPfiqn4Jek7Ik{F)@_G(Q zqPZ<-=bk{En0EwEaw1&qN)$|GM%?Z|A!ri=GJjjC&KPQc1y7@t{#Azd@hZ?qNOWu8 z^45Xv?v!1EVwFHRQ^Wafh1haUshkX*s$115x5$5F^---Z3L#Br!#dR_EO5R7-^USZEizAEslA`oY}pE_ zd#Y4*p(K95NW8zGF0wE1)#?q?1-1IgE8?Sd+fILY*^WH!0`CV|XvPj{;(G{hpJMW< zCItsuZW}x(!ZCiSlj{TJ#tMf-#}a3Md)?PhT%xKXaxo1%wy2}q4fmYkRw}pWAgENj z|J6(ASNJ04E>TX8S_bEuqY{3THBVqurH_6e@mb*auKJ!jvR=6a%XCdRtXZb8S+1-3 z=(}cyv+MbZ8bv#qD)EOWJ;EMZpS&cR{Lp(mR&(#+r3o{z03zCFJh@j7$K=#$P!w_m2nM4ePSbzJ6JTet4gpQ!H1 z+084EN75)i5X{9;s(0sa8gmWf?2i3jB*W3ly+CM{Vdc6WDs0W+0sli|N^I%pN*+X$HSo!izkSgk zh10-~RXF79tfMOK{Oyabyv3ZPoevoP|HT(gjbr)R{r%0=uaCDs-2d9M|MTS9}tA znd9k0Q`NSmGs+O=SbQdgBhpce1yEE(sttpWw}3*ClOPcifK1mf)+wfijcc3^(-3)4 zZ~p0|C&G05^sm4nqvaN^v@alGEAz9=`LE8<2E(45ovE-fknI~wn}6WSa;Pn^#n*C)h8vI9^Ow_mv#X46IwA^#e7!(W`#7`=EmyiHct z3)8DkGv6v60)ua3pNMD)HK0cf= zEGHa+CMmh-)B_Q0XJXUB`ir3$zHDnSD|8q6cwJXYn7veB|Z++8Y@IiH?`G z?HhSHrX(`lxICt_qbWLr0!~I${1u+qWh&C2%|iH~JwFCFVFvC9MoQhrVI&>QyagW( zhkw0csoNR6%5P=ns?={<#qw3a0Gyrx z(`aMh_h``t8GSnGhIwqe^11zaeN9CT0)rD8GR+Zyqg*bS9^C$k>> zxjk2nraEVS)RSJ^zx-=-s%Q5{LjQ^zVWbfe%yG%Motog|TL zTz^~Zvn*`&F~BH{OrT%TRH_itJR>0CS|na7G1hx!tJ)lhd5w`6=-;h%PRbZ}0){%kOJL_Mg3n|IPk>;aXa6$gW0uuBYo-YB0cD~|WGe86mhKG9^WVN4S90pW;|ynA z1qJkD<6bq)Ag~00H1+~#C~=p*k4Fda^`khwsZ>9b3w4b#Ew}V$TK{@i1xWUkFoaPVxu-3>bLQn|xpy)mC;S(} zSXIk2=F;Ws6&4~BPY`mPM#H~JKRo-(!^TQWmybjBK+S$)UfY-%DO6FJw57BAw z7t2&aSlI-V*nax$UH46B`B z_)mw8m(W--{-nU@%iGKk0pNx)@-q1%omtq+bq`N!LU>Nv-5z&j1@e@>1~$5gl4Yo8 zTq7X>CKR&`M4SRM|E%Y%I=u}~!TyX~DNNB8t9H~;*^TtP%)N{RXhSDks~~5fj-qYT z{Tcvy;pRHa!nd`dr)rrHipCjf3)-*{Ng;Feuw0bZenX)(K3azRaC@*}WQ8pXt}a?G zcwqii=F>5x;hHuEnZ0+qat;yP*q^`a$$og!55apO+X-Wl(1+RecZ{896TY9!jw2y* zJ=Qd_pH|~>%L;GPt6g?zgNPt&_Mb#vS_C5A5w=FW#ikU-?1YHJ6Q>%jXUpL$7_Cp{ zz92X4AX@k^7B0YxSZln(-gM?02v}1LXQ)1zQ4oCs2SDZ=j6fg6>-=i9P;R=iLq>d~ zg4>CK_bz(m=IE_qIDVOfSg6ng3RL-srhtqdLw@P~OE@YOAXAth?1j$80n3(~<#-AChmE*`1 zK@o81lLTlMM1~EQ%8`4>=(g~R2HeV{N^0k+cxZZuf?TDz{_;Sov9TIhBeU8A0Yz58oQ$m7oT2f@V;%t3T`!4!K4(jwV~#4?*9@ z>ZqN%78GN69+$#9MiRGR3pWor<8Lp64VePq@2ChGkcvBh!9IkMZhAbWz$#i1vGMR_ zy)mJdM}*Lr%cQRst;t`|4rHwndh15HsvKCyCg@P|y30y#FJ0USUE0NnEk={Rp7 zn+U0;F`Ry}_8dH&-x5KaYHTZ4*idjC>u4lXf)q9?Kr!2}_d53&qMIvD5=_{(f}a`* zjZ8ROyp+%458qvaZR7Hyn|velkx#dgGvorSKl>idYOfJ0#($(?$As`&y){_(a<;ly zw)*e$mj-V5c}eHhc1YJK<_zG3MmvfU0s_al5OK11ImA_q6YtKxz5D*()0iJ_+*`}P zr{f&t@k zvhCS>DI7@(ly9I56yqt$;|_c!Q&BeW6r)`z#Y2s-^_r69MHu`k;%mq0WKYVQ>vttS z9g~tnib8l*J4=}>Q5bf`BMQoTBuS+7o3 z=snRP+ekX0BEJk(Q7BMbs$N@eTU!}gTU}6Vzd)>&Q@A%%JKa}1#Bu-aB127Z|G6_X zRi~nT=I9R!Y{=2{_RM|gQqjPS>@`JH(g=F3@y?K~EM1n3Q3KuOPf%%sRho0SNV~kU zm3^pv_PZKtuTlN1?I_^Qf$1E_%Vy&s4b~91RtZLsM!S zinUmMXbpf}BPgs9{4W|4zSqb=G0_@L+;&YoVNHC6O#)p_LhqVH_L_wKNf=}K(@!6W zKa=|u+AMcfOWYrR()oJfY&iCBi zF}y)otBD1I)dEpPLAyi%mfLk!hILjOAL}mYObURmQEKY; zWLO2eQch5Ojk_Wj)!VzeY$xFNpLJ0MyZbb{(HYne2HlB^VZ$0SZC%|rO1obQJ|5S2 zJZbm%P1o6y;K#R5T%CC){p!u*(6X(^^U2bS8a=_5Js*sv*9veqydoZ0VxkL}YsDzR~4;K*#Z!A;b^Z&9)W3?S_P+MgW{i9rI&yE|*Md4*q zScf<{YJez~Qy!g6BCPo(Ll~f_EK{6td*;=MNKG9QXKFkH8&}0z{iqZIh|k}2RyLc< zEkB3;Y+NaN@bkZKQU22qbv-9bWwA`|#r6_ebuC%toz9n!Q!E)i9eH=IeW@9~cjXzP zqaglYElO~1lsPZ0@x6lv+YOe@&`NOjUIR7=d+P3neYfC7o}kV{LJ0JG-lJGz zkqj@}mL9dRFkk8_X+)P!A5))cA(Epmy zlt!wXUfdcUIbi@<6`1#1p1{iZUv)WWv2v4kPF8`#xFb$w9VE z{i%CgnGj582sb!}z(Vm%_KNX%`liKCDE2mU)4VCoiEKNsCEV0yph_u0SWlMnq_hvA z!#}YGQA*(=Zu%BeOYFe>E2)=)U<=KSY*{rV)i072m;j*y=igLPt)uU-#CDa0on{}89`@o z$o{4I6h>rO64>$wN6xB9eL}vK;ZuS{Qoom;zx7mR5yJ^EB3Sxl)yZS>NHjoEV(wri z3~<6$&-)=Ihgkp{3yup!F>av!t8e91@^oU0M0=hOL75}M4!O)vBk7%;bV|LsEY3c) z+$ZI>eK8#9txL1w&!~En9!QUFWMPUY<@Y5E0#uk@I zGE;w#H;%}O$bT~#hi(646>c}6oLFLp=uppxO5xIPGHYw1AQ!W3qj5iV!Nh z*eKUI{TeD(3EWJ<9IP0Ih@@ri1FUg>!hgHh7>-{r)iK_bBPH7L; z`gtePl7-Hz_n|wV&yCd&S95HADCb*z2bkBNA@1k=>a-gJpTjxWw^{mM?bg>im~lKS zQjy%0xh!*du4DA#%dMQQ{T0RZj^`ftwsy0xy&o8pJQ;u@Ou} z{i9#`igsB(Lw#@0GH7~o2{OB3R(x~YnRcRAmE-U;1j=p z&Uz2%e3{GqctPY>H3u99Amir2tg&(>3OFkJ{)ar1Ov+(`BIN>k5ZCAW;xC%7e8It^ z*@u#JoXg>_E^TOjLa`Ks@Z24|&G3}KoWn$uhu)q$#H~F3&Ew6!wRui@jQ*FFt0MS4 zm;a$OmhVCYa`86!KW$OwMgA^zXsC+(7)33@m>u-PRsvykth($p~9>o&Vt;d&K~`PYkLXi*z#(9(j2CDoz-)9T(6p;~K%1 zMu)n#N37AkB@$3iqW$tWp)~+3NHreAgmAlqz77Bn=$AU4ti;BVxRP?wos?LSP3S=D ziHvIQPxw>$s_6Xo#9L$Wf=Yx5UJa%pR1ZG5)P`FfoG8?U^J_;*PbRgJlH2o=JKK}H zr;~s7S!=B&cQPrxLn7p4Qbxu|!|f^0r&C^Tr_lIP$E)RA0AN!!HNPZox;=GvI`#c_ z>O5cCA}(#&ChY?$Z7nbDQ+wL_blR8gG%jWm9ha_zMhNJo2Q5Hx3F-UO>A$zr0eikwKp-a!7MF^N4q#M}uwL{ZopLsf!nek}@G;=*E zN(9THBA!XH-S24aJNv0ReX@)4aS=Hv^mC6_O=t|Q zZuT;CbvjPuhRWb69$F#*loj*cKq`8otcQsbEAF&ZH)=g5$J#(`eymS4)HQQZNdj>7 zBEx8F*+~#dP%CvHHZcGbo-!L2)V_&68(450bH;76XpbTL(X z&YjY=OcHA#wkJVKODHmhQ`iliwOwxM8S=6PPmv!}j)Y!tKV;RYu*5{bf|CMwEWvg(1bbL_x;l(lbPw~N|3i--y ztTsO+*v%id>SXaIB8p)zZDH6;--KjoDyUfT;w1>7YG94aZs@2Y4mPCf#cLc4;Bmf0 zodG<0{{bG~uHp~hq`f^%TH{+r%H6Q#vjz6EFq-Ricp(eO)5{km^eRw>#X7^@4Ebo- z5sKf}Z&p~f(tF6J75wu?Ha7(}R$n~D_dxP7mAQf)@Vs}Gty;6rzRdEEP_+6}%9=oh zXqWkdR(jX{*Mn@#H8x*>;1*PnMgwiLtLo&Vu7tM@u@0o@IQrZ-Z(*b+8w@>DR{|HdFWI zkjKJ04n>J?;))h#5zcxxFAlfja+&anLNunAK*RvzcU`K+($1BIcD=J}ln5pRfLnzR z&y++cegu=cMVBb{%v|Sp_>_aRLv&$b1a>S@j3p1hZHbtc&%%;k5B86 z1E)pDW;}t$@V;JSIWw&YU>O_5JLc>JxtlCkTyB;S@mknC>(8oObHoUO|E&`XFfSG4 zJ4*O+W3ZqBoMGQPpg=MjHIitEUi|sTA0o~F9nN@g5&75ZtwO0Nm0<#(Qmg?s_?tCq zmFmh6<&{mbGV~W+6Nt)*NP}%|2F>W^5ye@eEi+7HP-S=KZ^bU2rcglQ3~z)v0GVgg zu8zAp%zZBwIsGO^fMF`doYOn>XGCO1_+Bt6g!?NM9-s&u!E+qop+^+~1#_<$n*@Vi zm^uk*Z*%Qt4idS>FjpoC{)1(tgt`#U^ZP@X{UPgk4<`eURf?6rZjubQlQ&E9l#bTP za?~cE-N=_bOiww5O+AT1w8g{UV>|>&FzY*UUIr;aW4^wXsCSq&At%r-202OMdpWIU zw46GhCvBGPy=idy2Pu6!FMYTDKYr8xv7UP2=ZR3+1g?X5&eyr*ujmZ)jx3bJB8kM^ zZj(`(8CS}R7|VA0A$3itrdkVW!dLcXFo8p$3*e+NP00+^dJtll0wpk;q;4eT%Tu)A~&l#^k7 zB4^75_CxWqr|iEmhzpJ3xBg}jFI2?-gF)oe$@J~uZkw`VamoXbp(p&|!|p;qRrB2a zLklMI496lBzeA6@a(yRpl>_5|>XQgWWYlScRph4C*`*!62P>6u>S$*U%CU3|~p_l*e%kikm z5&0efyr~O^-MHJ6nFeyQEID-4rG30xz6C8)Mba?V^E9syJCZN(1?T?ui1Pfn=YImq zS;^x{zP$bRpAu2)NBIs-X@~g~yTBZX+)=jIl%tG@6YxRDSA?3iJ>ehDR=AImu%&6eozR#On%= zTAB0hm44p1dx1s^uZynj$`EX;$bAU_F`iVw(??8Lh-7mGz~<9cI45|%em)^nqvshC zaml^fb-{0mpydsz5m1WA>6HC|cNqz(LXLsI=w*mCx#sU;9WK;Rm({&+Zo%1^e?UXW z%8E{b>LlbcriR7e=rIR6UHyMIgUraOht@?0sE^dvz1&qEJb(YyC#h$c2NR(WPPv#( zcRrY%dGLPs!F-Zxmq2~^iOS{B`n7`kPo4GaGxc9~>*)dwTj~wpZ5w`uHf$F(1Tw+i z)HeKbD*G+a$gI)G`X90=!McOpM*V-@cMyPKaQ&kNdHqlGqnFz#D}~Y<4d&tz!kL$7 z$HGK;)+Y^1pCs7An(h59BUCZ*N)}B8%Uakl`0!Nh^l1OU=2S`i1?nGJx}BH zj*cZH)qeQ!XyZ?25of{?ajYyi)}8rjC&tm3O`n!{OhDf89AbruI91CqNCv_>*=RQ^ z+UNdWwK&(~N-T(AD%V%{yhTv2ly@)vLA%@gDRNGJ{{s22f1NKDlNP>m69^$3r;&&MXR^J|&m~jvSGoM;Np{ z{20n5R`(K#oX(aQFk}C5LG^CX&r1?{i2(hgb0PB#@6}zb^Bt@Q%!P4niX?2z;utewYDWrXH=ZM<68-V$}_1?n7bvOsvL~79+NYU%jZb#b-%ySYFEEN zR^+=>>ZLXPBhj1*&D}!Lr*SjkuK}(UKu^Qj8F|bztrZfx6*JvH7#>-n$w6L&0GR@J zy(?T`!o2>SSv`gpq`_d3Z;&p zY1KV9IDz(jH}Bbdts@n0BrH5E6D5tLgYsocfbk!C);sQ;#~jZdrhfk`g8k)@fL^C( z-|W;c4I8!0uLZIuTNjmyWut^z#cLSvCu)DU%Z?~UW@u;e$=~ji(K(Rq1@}U zn8QlQaN6Nr{#D)=X}kY2KOWzw5AZUyAj8rP|D6^j{`l|h<=kt(ch;&Je($cgef_;h zA7ZRpe4o1Z-`scqTD3@_Fz&lvh%G&ekFjc@I@}8nrAK3+B@ER)>Kd6IBV%%p!)myX zXGW4gH8M@tvJn*C&R`8wMj*$Wr3UFNXuv!|>@a{~esq@*lK42JXF^JQiWg&s7{s8e z44!7Y0)RMen$&LbR3Q{4+3T31(qo{9nsJPGGbs}Y(PpbIDobP|lwKKa98^!EgE5h1 z!oP;~JGYr60tUbWdj`W=Dj$UK%H?9biQP&kwldg*mIC|a@t!AGy_JSUEbZwr9vweFY%}0 zc_t)=gep%Y=9vIRmJ%aJKb*`pG)1Ze7DQy1Dc>J4MeA`DioSI}*=1-351+^$67o=+ z8hIJq`Ry(}rAl+v@Kxx{f2{>Et=8flrNya#FF~eO>qr}oCE0#2_sfx5Vmf7$DJojjaN2B%O7KktM|Qu@XFzDoI0^ z?E>y+YPMnq8WYj*!hWsqN5l&qO#Y14RSh>aX>V#@%sOFPwSP)h>DaMj_dD;rITT|9 z89K>Z*v~Ux?qz)h`uMa1FyF(UUgCeZJ&3DxR1SRZ!eeMvcp4rM72a)%73{!&G}+9^Jz5|k zpFd)r)|_2svLa`9BkJASpoLjC`r737sD;!}ZaSZpU!I!eWze_mXQ<3|cZtInB3L=q z)+QJ(j8(+DwOK^#gnKf%A43YS3>(sPif&YUMR*@)P~WSYN-q`@% z`dTwiWZ$B)R|)lN`KM2O$`zUsBMyUEpjvQOT#S%tYekOs3m5$&0da03l^J;=Q3RmC zNK}?e(=CpRSrS5BK|r_Xt(CJH?c6*~*s5d68T^g{0tmxc7bWI&y_4@ovp@hk?gcua zMO7TRLLct z0Im;n!r*D~=B*_o@d1=vJ97&bPWNJ=aEnxpfYkd^FYzuTfJ2){C9*y90m{2?g!8rJ z_8rLn;u6c~-W!H!H%Pn*0aQtg8#;1&LSm9}4Y+scXBCof@V`7GH z#&$$9JH@&#i20iDCKZlEre2W{NkeY)D9m3ab2GaB$H8pq6BCUgGgww$jkwff(UB+T z#7-X{9%E`;O^=TGOV&RXEW!*0pue#TZ#3c-8lM@9yDqYE997&MOO4BQEjoWOkwy7L zq9xUS>$D#L;OEIf*UIy&ZYR9NiUi~8iJWY2qef8UI+_DS($oCN%k;$tg z_)bPjpzG^FTC4WHl2_1p{uShRQKc+*kjLc<0ecs3tL3=5{tTTdxBu=D5z4S_j79K2 zia^;!zzy7%Bq9xdIZbg}36LV6=R^u@Mhe$MPM@T$o|3o890vX>p0BZsGgyq`)yN&!&gF#0wUF{aP$l)xw_ zxnAK7M>qxZkHsotZy7m(Tu5*W)g;i5pbdSl8wse~N5+D2OmK?`IG#zz1qGv~0z{_C zIHbP}sw+4EEFE))gq&Ri(*>1Smev4f zc3@>HA<@kz@*?s$z|4ow2#iN%ZKL=UL)l8aK!$NbCG0S-cyJ_B7f%w1z$8V?CTPte)$1AFdR37O84F=o@~eqRtd~ZaekaatBljC)FWVq3?x6M~ z60s$)B}xi!3G;FsY8rIs;7$y;EJ~f2q3@KSdkHxlk!X^Le8Y1C&Di_A2v5Hg%)ZGC zVq%}=3qohyR954W`RD=9$oUcjo#qKW?gaS(pqC>&I4>cGC~hZdS>j$u0}kM}yPy7W zSP&SGCTZe4ZQ=lM#0NC0GSYW(Tu_fHh@}#8qTv;yN+~3Ch%feD%sH<9}?J@m~XHH z5sAosYN4P-4sWFI$^6{8r>K3Ydmw+f)l@D|#=RREkRkfb3;gJV`7ChnHJLaHW&uXl zL-T~9_lc!7LDyW~hVm+bdld7rN(ExxsQ8>TFcbTRBSkv$dJj+_1HkM$#E3{{gAO*~ zTC}e|R}$rl0QN2$Gsgp#fVuVG3l zf+>*Ah6M62*7Qbyz-1%GSmYRj)*W=HELzVIsfRhG*sCkpDB(cU5$6Eig4nSgDpjG! z7}iC`|0uyL`N!F$Y$+r&OXNqv-Wu_lN_nR!c7V(oP~g^7eFaTpFF(I0<{tz|HxGqTtkd_01~Y!p2xe!#0Tg4x|1vZ=xWI^^W4i$|rEGm}Rxr!RPH z0QI7^g`gQS4gZisiDlaxJx7DxOR`F4uY5D3i`(UXo5am@-%ThCRY|RsL&5E>AMLRL zHWzcjn^iYkoraNqVLzD-DOSYgdmKvH6tA>x$yUk8F!D54*?3( zmQLsW{w+vTm6jcs=VzeS1IgWKOyuV>0NQzbd!?F;Wg4$`{=81Q ze_yb~O_4pZZVh=TkLDu+LcJL!vM9N>1_YDn8GS(w=alZ7)Cu@Gbx@F z49Jcf!a%Ntct0FPy^KJ{Yob>V0jE3h_c%7a{3j7Lp2%}M!!NFeA;y{|{Nc7?h3q9d z>h?EBiCsBT`l}RZf~p>|HO!P1zCzPUTt^Wld|uu`o=mKkwn4^2Q{kHpFYrn1SjYh; zrc3qu{TrwTsD20rBK6CpyAC?)h_Y>krH-VC@CGjcHIp}B_zE`{iH0v#=PYMXN*yf% z1UR^Jc%KMgZXDuTEf$Ep$69s1Qx0xTlF>H`GOFT%S5-DboZO3DUk2qO zU0kz1Cira99U6qV_EeqE9!0<9MacbNw(vprT^jWtNMQ3VIl$1^o3u_|FAd1PHOSE_ zK8&(gX|J0e9Aa+-4zFs#!p@y;KN1|*CezzAOSRnHM-c}n#6wL)J|ho)AaS2ys-~k_ zk8j@1t5>yv6xbtw$EBOwj7gNhil4rASeqnVw>5VdKVW@hvgx7@o5br*q6rClvCcyu z(U)`FiK%aj*`K>DL@Uhoo1-ZH&!?_CS*ut~9q>**8F+Kl-|SSAR@{prLZr^`_-SFK zDb{C0{tqT~hC3~MqZA(4M^8@wm5yZx*EA%lc24Yz7-nMKtmPPz}iSMmRA z_n6&TKlD8DxkrMBjLQ5w;)0>?+pSiZy=k)WCiCyXW$}#VH9olgi}^ZPeX}#w_LIc0 z`rEp%QFavOoI^*5<=Zal$S^n)B8|)@M`0H_74x1(ydI}B?>J$>%tF zCIKfMlmB3H0a#!gTe%2deP_PprT6KqL$XsiTIxHrO~LMBA&Mlm->Mrt2qRKh1y|&>RO$)M(8;tnk=6s&g3PIDMJ%1%Wc**Jk7JdboH{jZgOV~Y# zvKMBSVVjB@aUic{x`X7WSee212Hc_IG!Ce*EA=5CpkehZvFnsCv zk*+f)`9F@3%wDo*JbYsT$(v$}=_q58Pi2er9r8gEeNfXs>0IpVcvM)n!i4t1O^6Z; zqZI!5@JmIFLVbWWJaO@ADNW~6oN1PO$576DK2+mZOXQ5#@^BK8)L5C2A9!UQnIhsg zFvopN4eS8P&RK5wk^G#;Y2vuQm$c85xQobN9~YHwB1_nrqI$b^n}GYn9{ih~@Fpsl z3Era!b{G5-8Q(2)O`8|UCN$0Kox2Y4&j@-8WSe)o>fN@xf;1K=tDoLREP!8L;+|0X z0lPD2*nt+D%1S#+EYz@G>Gdh??WBNW4xQMi{L!S2FC{zdk;zYlC z*C1Td3ubDPa0*$O3h}}XAr_uq;sCPVz}Dnmyz?82tSVzys+<1F9HfTkvs-7+IDj0M zSQ!wBd?oDX&b}9NdP7xQ7G34ML}!kyg86(1m?hh@N|$=X1s*LP;Pq!J#Rqn=BIjF} zFzvql1b|3I6`{Ujv=UH~V%19D)6N^X^)lHMQgceiF;$lbp1O_LPBcg~Z zU{GNyXaooudppSWS#%Yfth}tSoBHC=edEWMm3LELuTUe|5F-4!jhBVxC{3vb9L&Ap z06CI#=z&y30P>aZea`fUhNY*iLRpE=d0*rM3i{8tn5jlU#@Ne^xbqT+)-jdXxGecm z-igUerovZnzsypW`bGzoC+O>ixsmH)NqRmB};;;$pqlU?*#E@9V#iNkZIA1bCf zUMA0h%u%ZpRKMHYaMy)wf#n43_daVTlIKqlv^Y9NahavoO~NQr1rL11~r&qoicVnO^KNfsVtC#t>|$vjeUZ zP~b8&_GBx*S}NeCQZ&U072ucuTt!mJAgU#aUBoKsXsk&Fo@yp>W!S5=+;k$U`bk1d zvZa_&_|nI+K)Q`f^3jx2=u($2D+w~INK3BLQvgv%!{T$OL9APw3{S*4b%8dE1o0e_ zbCUdp>^3tN){^3zOU&QIaXq@#vz_%t;3x7R$%N>$;gF`M>6ZCNtqO`pQz&QGV?E>Q z6z?S8C!UzlTRx?xaV?W`ZR(Jn7dUte<@IKg*zk~#AU|VmR zZdDcrSo@+&W=2O+&Ky4f(I&`!Paz$r2q2%fQXF)_DkCyoDMd7s#AJ;aa^%RVfwSZD z?=#36=e&W=%^ih2DZ}c!DaU^92hy~8?;a0mgwq3}47APew=>b{GwI3IJL7RC*JPvfbmXAX zMc55L#d0OBR6cR-u9$N%hYRt?+S_>H$0TD}^P`yFt!9W+&l^@37F%^Xbynz9iW+>5 zG8_ERmF~G3Ej32vF{#01#aW=R`2L|+{DgYR$f(3 zSl`gr5ab^d(I+?guRDp~DAf^2L|$P`PjTlZSh~)iJ$`x1QbJZY19_q~#eU?L?2dNh z^7x3&PE=x$(#x(%4}DKPtAdGTV-50-=;_0oR}HjxwKa!JQl(#vvleuT5VWY}#YeLw z+Qh)1ZPvW1>qgcNSzwS5y{Te4Q0y}c0lnCix`y?%=^`8S)_2@_x6NiEVi9>piCW%5 zV!Ue6V~^jw#0U6fDr}t`$>PzG2iBSS8zd4W`*e{=T!i7H$g~Q*!BpwDS(^82P=Jgg zi$}Y%*lp^w_c9bqBWA#Io|MTVGcQD<_uoR8$_iSIbyg8MYbVRS&p)tzZApHG-?TXw zIx~ii(e%Q?EYIoOosQ-Mf0I% zU;xDe8pDlfyt9c!B>ULbkXhQm zk5hQT=Xmu2l;5=2ZNI2gGdZp^Tc<6eYZstiyJLv`(@H+Gz@XZ0lkDOhamH3Nr-Mx3 z>|_6*Laj1vXJ-giX7^Ywpx=HO?hZRokGt5-9dpzvoK>^&JREp7t>4i`U+nSRCU)zUeX6`VP76CmqPwdR?S(E zLh-U1R0fV}`)TI>SP$+tK6DSr;);PvBBUgc76eVu+Y*k80~qi<4m`_A^3}#EjMWEX z{GU!iIX|{#-72ec)TS55@+?mMVdCl*G?TJ@YHB{fp~WBS0k$#IEEtZt&|mg^DsK zh-g-M{eiD3hNcBIZ_p?o2y&iEM6y@}Z(Mi0pvD)@y{AC^4R(?q{QTF?{`%)>u&v5l zzEh^ln(udfBg#*248Uc`ZBii}FJMX_05kXbLP*!yKEGhDm)n!^eqrCPgbttoA8kta?PJPWf-+Dl7V@@VC1qogx`^$4_@(;|Y8FB0RXI%3jLORn~zh37ZdH*duq-XCIHS+d%eb#HgdO0tDjk(gj$aI_3 zr~SJ>Bfb0NmL%!f;T%0hRCD(9;SE~+jMpJrbE`LOEN zhVSjY%`w9Aq33k=^BlZNIb$GLeN-sU`Qd!CuK@QfIUIC%Rd0L#%cYIen{x>?q-VQQh zi171#EX*i5S*5Sp^xgL&$fRg-vfh=T0(ZqA68KyZ<-$auz%-*Gkw{Khix;1a`zFRw z&!}nCa@Z`?9WGAC{U8feO>5Or^C}vjBr;~Ciu!j->oRN-!tv|@WXY!5WN|{gKcKCC zDbar|L86A^e57m)p8a}Wf_DPTO&Km}lf;`%g0lNM<}G>W=|yfbe2K)y?zMPdJp0`w z&gOSm4?z2bVj>^7h6w5Jq`}_pBeBqpI2L z&Dl2q?L-pD@aEt}fWv#XI-A;HzOP5rBoiTVNxdvC=)~}doF6!Lb%_K`AcoKgDC;C> zFUG5FgM&PUE;tq@RI>u~hy*;q*jO^+V+Alw?0Zl|LX;81F|-CuMfRKY<^>BSUZ(zk zw7vIJQ-8z1c_?YrB=jCS(tDR)LJtTCNR_G-X=0ROs7a^^MXC}ySV0jHP(!cMl_Dre zM^HfUg9Tac`?U5(JndwHk1&@h7FC^y=`p3PZ`E`^XJ#Z8}p zW4>*I4^1I_GJxo2K*E9i_)P+_KI_y(j9~6!6AeJBT%otcpizKrQKsx0Y+4}2DsKst z&2ITN&Ss7sZ<&w!G5cV8z!o5YdJkEy{NXb3qwh75tu!KN2U!dNxZDmKVtr3u8POk` zcBw}wh1-HKOAj=HwDX0%cdY5okLOU5U47Xt4C@J0XqW}@$GAK!UodG2g2Zt}Y(B;s z;PtGyDn2tuW6lB^A}Q3V14hQQ#uRYYq^9Dawg>*CXa+pP#q>L(Rl^g#x0vKg|ppEAt0$k)Fg4o z24+mUi^Q?KEPcP9MWNSe1pjMgnTD|%6_k^uDMJ)AjQ+WF9BhKQdpdNNs^kuZQx3a53x3$^5?jhmgxnLR&Q zMv%hMCm3`P>gj4*M*=tTzw@CnjW#JunVHLY-skpPWS1EPBx#`M;$m7O5sC%?pW%FD z8PsD-@0yrvm)t`8Cca7*zUcx(Z9;mIvcSA4m;P`CG`9cXe||m7(oTgTK@*>dvA=7O zfn1{Nj&lkJF2xE!LifNgD}}PtD{I9$FM@Di@`o?A(g>c2<<0h-X&E2TkDN*YwAAL5 z87#Zb!wh>AvxfB|x(MPV#uKCIw5f%^?U2K?!X!Cj5;RU^DOMII5K4|O5nVjH<-EQ# zXPz@8kWAS<6sIdWEZa9BTpY#o26T?8P>t#AomG4w^gVGYl}p$v-T?dU=(>%q{m_dbPP%&@?0k>Jr-U)qrqE7ZMikbk*7rQb1tE5fo6+XR}@F+Fl%<%bhqm za}ZN?0Rc{~c}{ERa)Qa-1GA)o1?g~-tzO5e1Su?_zLc#CpgB^Zt#=v!R$pq_O7pKy zNe2Or6h^yXlR%7zOR6mq3+kO_bWH{S%t$RPBPd8fea6q7!cfpaMzwu^AI)svPRa#Z z8i>>n4?zI<&2j%LLw3UfAq?fISIe?8Ec|(m`>G*-1i8g)#VKWgDwEzUeDiBMj-E`#T%q%UB8Tp zWns?u_4?~i+u-xYg*2MTf`CDCC?9JlGG|j?h2xlYE?oY$0}sPOf44CWK2)0dDaU=6 z`1NX!hpzvIBS&GI%{oSLepvu=1l=vlv~OX;CU{81`RtVu^fZ?ynJ)(^77r<|GbDc= z@RobLi4WTxKip4aTS#YH%?w6S6J0!*{VsUl3p!1gC-xj=@XB(n`h7^(ee=Lx`Ae}v zs58PzrfH^;$ye`fl&4$U=CeR_&Rl$URtwWJT=tk-*45ffahX@E8}oe-L#4@%C%#@;Bd%)LD~b7k}o=jmR@5^3GMDY1YHt zB1sb>|NLr8*q3o77Wpji$?lR!at)my-ys}_ zOTeeYLT9r>=WIzc_d-9s4qf=0F+Upm@oVVmCr+WUzoE;5VV~v0R?>C_5F0C=Ve5bW zZ##Wm&koyCe?J$&vDxyxuPki$W0-M@tg}3Ov}PKQ)o#wFf8IFzK^h_UZN~68y#o$1 zy_-=}zKTUvo3QE^NJ_fQ~sc8J}GPz1jWqkug+iDohc~ z%$WJ@FQIg6Ia*KY_TYw6Ss-;F^Ifp)8>uOf!v5M1Xm2ee^;TsgfV&DO(wy4XE~Rpx z<_sH@W;|vzTV&iE%eu1TEr4wqcLgNK4XNsmrJU+Ity{vba+gN+R#?g;entUV9)*EeX-4lpbE9V zMcI|_!f*2V@YBhlh$;6nMler}srXO24qmf1uQu@^gp_PT<}=qt-vC7pJJmt z2L+w-F;NN&;BSoU1c+KAEq3m7;W$*L9NID$7kxK$44dC@!LGj^O@;FNld}Ouv z@Xy>(P@*-HOp}V}Is)OY$ls4ne>2dJo9shx=%I2JUA(6Px zma;3+KPz%GGijM=Q4YDMKI4pm)NEZL%UW*mm?rp*Wc;c=CJdDo0Rn8ODV8`qN(9#K z&w#FohE6MJyaaW+=R{DVZ3dab!_zWr*t#)acFdtMLGWdB_<{KL61P!X>j+BW!Rnh+ zU*^t_*6SbXq0t)vT#Wk($_VH~D*I`|4K#pdUbEGH*7=u#iydlAT-kgY1o~l{Oelq4 zlfY_#(Q~D$nHJB`s_!RcmA;X?m^?%6)aC+_-XIynfK_JfK&R zF3^^~RP{3Q*{O2a&au+!K(6G4$00wJ*GC-BzrTKyE%;NmpgG%N%LL!RXv9T@QC{v^ z^`ZGCVc8e5&Fc$oH@<(}{jIUL)P+AiB#gJ3EL`vq=`U@3`8{bOPgG%1ds{skU>UuB zM=M4j7$)Q?T>Gp0>u`JK*)^}Y%SWqY8(+XTJfgI&&F8m&`*y02qhZiQCBAmLF?tb5 zsa{g~KrrP6ni_h`{Qu#=3a9a0Z574~+$x$28gi0cj*yGTilm>r-zt(J*GAyEtuUl1 znx!_670qTc)qpFm7jgM!8!~8#kxhAF?pFhd7X(S>+CRne?Jc#$ZBdB)3^_d(^UoOJ z*IYscKIvMg62<;M)CGVyq`+mXAn9XDam0|8@KIlooYaKBCZ!Pz=+ zGqY5p*~x2dRZYXQEub{6Q^v$ zt3I(1!@jQ<;Ef;{9iXL{7`6L!>wdd@yUk4pNA!n>&5QET^Hp!nhK~>X_+X)IV-iY7 z8F1Ye+9k$1;fN3QaeyuzvmW3g%4Qx?xf0OM6WpQHkFNO6WZVK!>5YaDE%*>X3Js3k zw?pETZP1}H1Z239HHE2tUo37V3s8)az%pk(r_qNZ2N(~~Jf$>cqjM5%t zm$T@BCog&Fm{c6}{bFp+C9(}I49b~3?5=Q9kp;Hd{l1t>XuHF;^S__h-m3Ac_xGED z+P20lax($?^C^!)QJU~?3HsQnOT?{1XD^0j9rz~?1n@M@A$lCH1M$!`?Y zm>?2XW_)#t?vjQS?(`cupm~h{{=+@WK4uBk>XG}=#1zCN zamzhUlz-)z&z=ScRxM3e3NvF1&s>qPryn#i2w+XBH}+A<7ZqV^7#K?N<=gDyvpw!) z;&j`UBoBETk0Xd7{5`5-TgxKG=Z5UH#l;}5ckNms7Iugf{@wcdPeX{DV9cXaiIE9m z^h5fGai~>yTnb#u;@pT&m{MRC9kq6Wz_vsL>(OterAR!@bzFE9->l7L_&H6*S42#< z=Z}P@%}k*L45T$AmL4&3xzM(WR(M`&hUGk-wIwu4!UaW#>S`E^-+o)nECZcMrxm^} zZ+aKL?QbaEsVAT=Ew(Z4UiBDTzDc+o`=>+7taKe2icyw&rxjQzp<2?LUtM}F9i>4v zD-2YXQ7~}zH}jRA@+GrL3B{+Q3+P%vz2D{TZZlZFP@AeiKCk~CJQd$@ICiUrwc0FR z+ObOdU4z5(`_8YVouA!*_bBrD1J4s_mu~6zO}T3MwxNzT!}s4m&z013IbA?Smp$tg zC_(rxR1=w>C+W5vJb!Z9Ii+x$*qfG%u<`3g)nU2qk}?_fuE?QvCM_R$|9bxP&Kfh% zuzj}s0egK}ytimM4a;Z@XEBT?)Utb>DZDHhtLDg{EAn~3Y28R*5jx{C+Yi5^xAXM% z$s@mkATvlrkNwA{(b`*;%%irC_z+h_jGV1VUE<-w^P~(O#4nek{1yJK-xlfs;IWkZ zqJwN92@{WeORHVznAC0+*Tu#f(#7tWzXYl8I7co$q!Yc+V64~7CSOs^=(m1eG3lN(-z(nI7j3vxKZ~pUyf$59YW&Oez7Md3 z*f55yus65u;jR%u?oe4iqwF1UO|r?&G=&yEwhL-6-zu5jbpj8QZiR^I`e5>viV)oD zI0YlRkQ$ZGl@0)^E5)hpfxTE~XBu~gk5a_o_Pxz@ix*azFDp#cpDpC?Pd`BI&4T4< zyg|D>+Bc4{Z#!I=fIuw0K*u()gK{VNDvr8kl2c>>MftQPT1mk~;hN<0(?ol5d8z?g zwEVdL_`@-)O6~j?7t-?|@ z=)20OR&_i$!8=PRksJ2J8k!SI2TXmca@KNx3vcK&_JUps4S;9CgGe71Sl$EyIg`A1 ztxHjR1OM=u*|6Bq8B{>E=n{R-w{oU^s9drX%z0o!GH&c{QN5xG93WUNPW_bV6EsK9 z6+pS}Cc+S20=n6ZfV!jHG)ODi!qb^GFuY2LMS}3=xoK%X4G?MAYhiNeq9GzdzrH)J zZIY_2kh;;aWBf?ONK-iPi@3?I;?3ea1NN7bGc!>x$z`L{W$??VS;FnM1hMRm_Da;i zPTCu3iO&(r*zu*0Ap7gO{I|cE^{i%>m+Bbi+Gn3CUc)n=W9v`;P{00+vxlqwaq^NE z4KAdEt_Oen@Xcg)*-vU28`&(-M0cr?b+atEU!FjX z-ORgAMj&YL2tebH2FnzI&3zVp%K2m8bPpMU9+_Q(G>evsR|(N>Vjmhg8XPJFHVRg_ z-9B8mGy2Tvl>*_{o>2VzhgnxCHS+kP;USkHF#O{BrDL@v#fX%Wt$zJ1(-2jJ4tFN| zp>fDaQtx>y%V;{y)vgGr)pL(-6I8ddEb}?XQg!!>CMm`({M~HiyVgafLq~&uD!LO6 zi&8i5()~pp9kSSyNPht8Aq|ypPsn(OR+)NAKY{Ael(N*s&PBzUnk=|;X#3cZ1>rHm znia`+!iBA|^odtIWLDh_H&tG5bh)og&X>_z zle+A742_^7MvdLv08ZCBb5PZ>4Mw`AneSa)Cg}Y6V{?TAmEQ=%(?y^GT8)jog>^RP zt(uLMm{KGqdNdtpD~TV&2^Hdfl~eV`mVa{XGkdQ;H1!nHd^EcN9C)5@Bg}&@9&;v(_b&s`yf8O^*`$ zvdZHX7yHZin!%bu-I|*&hR5`}a;JULiS)TO^v3%>mxVcWzL}qn9a}N8v`@y=1f}6?gTNAJc3)Vg#MNwD6Clx4tf#qJBBUk5V%1PrGdZJI zA}nA;)R8K_T6-U9uf(klI-jWxGK^dyAU@*8?{0 zhtP3et-H}O^e(;*I|Sp)s=Ikl@>Xr#t^0u`kLqI0h_oK7v7>dF^+j=$k_pac2EhM0 zS^bXg*1tXY`tjTUi%r|v ziFT*!X$52rJ^!CRJv$kOX2*t$LRs1xVW$6sO;Z@P17yQi9iLMqbE5tSo7ODmDk@1r z$_e}4IS=*hIh{#ITS-ZV0bT$6_%Al?5$a1;g}8BALl9n+9JEc)R8_UUaFaH`Q1 zBG|3i{W9#EQS4QQ3XdU|3=cTO#-jE-#Afk7uFv`y{k2i;ju|YjU(K~vZ*a(M;epy` zG1wzY3|Q@FeGLoXcSr(d;)lXO(dtup$ZH#R14Bmbt@YCIKCKDK@r9nDVmR?&@UF3G z(T3?}YG02bhiwq11oGC10eGU@gI2F}bXYX61RynKMFID(;2t)QvrA69MsL-kmXn4J zbtF=PjKbLI#nhhxqB5ZukeeJDhuIJ9+oWhESP17r9T~PKTB3Cd4kLR7|RoF*k{a($3-l! z^1CtuGSTdQD7oHW>zKZry)k+Z$G>^fPjO!6kW?tiEFU z!Ql+enkG3X(!`(hPBf|(x%b4-1upfTLFd7Q?M2BSCax;~^63d3DV?1gDgKVQ-nU<- zh2|E2e2n|&f7gS5@EI``N3_4@eW{wN6jr&>Q)@a%lbieleel~WbN|3n8EcRnx z?Dj$xYK{vHct?mO?yLwy2GP45kz`>DKVd$L!Cecac)F^Xn9ShdrU#OAyUb7Wj7@VW zIruL&ZE(oB?LTaq#jxA_8JjjzBY)$+*)+Vx$YtK|MFZBg%7ud?0oqYS$YB~^xy9SD z(5EG{&1J}EgEl=46$zCqJ{tX4mfDAjpcQM$ytA{=&ALe{%8%hJg>?qc&;j3=U^?&4 zlGTN?)C(Ui;7lkbn>%sBke~=d{Zv=msS}j&hFiT!aPFB+z_5(_T>TZ*TkyYgt57!P z2DJHAUTt>sb27lVn#H^|PTsWQRhN{N?@PPvA`G*wm_0l{GP{6xwVFSoiYIV>Q1WqN z6(Km!3U29Wd!Q)zbBEFT8e2}8{4hq2W~bG+-6FU z#@u6IgnuyP=B86lPn7I_>z9iL3_P!go+sPoH+-W1!qsI|{rGmxJt4#gZlS$h{(0|^ z%aT@eLn331cm9*C7E~eMV-Cf#Hy975|7fNNhf3HFyDg?nHb2S=_4Q=DG= zZI61B(Jjllk=#95)90bO3|-7So~!Mw5enGS`7E+#at9x=U%f}0{EKt-BAjN!{1=UT zN;MbH;@xj1FA}|S#JDBCzDqXa^oED4V#StLpCqmQf_yRRq2bm9jHJkC!gNE{;mL5c zL{lbndy(iTxo|W72=cE%4N*Ze0t*n%a#~w0ppl^DAD>BLZZzRr+XRz^KYP*Ot04e@ zCy6t7W${;u)=CYtOB_IwxjWe%?mczC8>mErCGZ(D4jGKj)`$!VFc#}qfgZIqyq#QqT%GXo zJ%L3fi>xS#eYKj<fd&tzXg-p#-2 zt0YFT=!)3)NlS6z`rn-1a6N)2`98i+W!8SX|4+Z?MeG(v1F9TycX3kcMBWol5ufn;>$)g&BO1u& zE{eTg)spn>S0diC`?I*1hs=S%4*U5z>8XfD+ue+9x>!V_vJa29}eV}tQqzvY7&6 zIO~!l!+^JE|B~0f!F7L5I`Cp!o1UuKmow_A8-pw5={$p zG#<&g$@As{kvzi~edTf1;k_gh7aLa*@&k^^rwGwf$k5*y&!=QJ0H^f;oR-I#iDry% zs5gY`nWT!~uIenWDUfSt1+>#N_`rCwNCXZ<_HPYk7Dog2R_3+647~%b^!r_PwxPm~0e=1iNH#zfWB2%IBnL|HzQZqv`D4Vr{ zd6W|wwTax{%MQ$sR3STU*CP&G;3Gwda&BaAZH7!l;)*8X^^%w8u@DNCDjPvkrGfbs zAoA^I zB=B-HUpORX!>V>K7eXwj5nTot z5zCMmbL50Y!3&@j@dBMB^@*H2Co-L! zQfRde{AM=Em(Lj<9&@}IWM9LS+#(`s#)}m@nO8YVF^GUHC~zYHUQlcg+P}VULDKkH zC|NlEd=`i{S_PsQVG!O#y7LX>{PdDIHfC(&Oye4*~ z7Y7%%LatHlvu8X<#KRXAOMb0*B~uFC|ALP%dDYJ*flqy&iP+aJ!1KXmgE4QkOcPVD zVlvn-zyIt4h5g6w^RIK~>sSKMw+H;rCCS(74=jfGug+9Leb$<1e z-4|{WNE^Mvj*HXb(ZX*84BxmT$UPjdD=OYRr+T+^IF8z>U4{)vn z#@zv3-U-Lfn|^I}O;iZKWk4PEc$j+kH-h^Q609rohwu8C0bh2ZOa4!nB7gUp1Ygy? z+hXOlW|N2dpNn7oJ@?v?VTav13)VhdZAUr?Qmn5*6gzL`Yx>VUFVy08)F@0X%xyn8 zD&g%{0&|TrxnS_>vpl2nG_!^CD>)k4$1X1|d~OIvl)pLZgVDGz?OpML^g91&j}<1y zjJOTAa3yk5lynfzBM6B)W9>}NEv;7`r#PBq#aLKGwLIb~*3kWjD|}SPBKc3i&06Nu z05=%tKv3sk@4H^W5*ZhG{}OCSQt284BhS%$)<2|Z*!xx?vOy^^buHzwMd$N^9mHP_ z7C{M1;l`U{l|yCXM2QL?m2l#xbI9a>GTtQhYZ_AB$q!{K3MCX_4w=YHl9u=~_W0(0 zhUE;vV5IhDDmt;;IFntu(YFv=CO|{l_8pNhq?vVwEAf!yhuN9oG2^j7v^H`w6aMf% zTxGB31`P`=nnsyKKOTcvxy4!2_&{1Cg8L6Gu@K(BRHRff`ltw7>z$4c4$gGd=f>#c zwAk4Jrq_Gzi&raH6Dy^J2T7;&p@)BvjL}GW-ng$FHM zO1FML%;!#|*cG0gl-{=hZ}d2`L6J=J3m#xFll8LTxQ}C2r=8E|?Uq{E zS(a6KIp($vQh~V*Y?$ite%K_QZ3N8v<^>`jb3w(B`Z*JMQE~bo-Y(Y8St$8I;J(Ks zQ|iJO#6NL}x?ga=N9bGF?kiPqPSpn0%w6& z$|7iQ1J`ai`3L>-WjLLPJvGNR7}OmFPOXW$-#U+w%t92JQ3rId1Qa2#82#UKvC$WhsGZsF0f}Dc@s~~?tW;Um_ zAg;v6btee%fIMEqP7?i%8&)iuA#e{=mRX<=D3Lbu1WDWCw_5O#p$W%)kW*j7%v*+3 z|H#1)KzJe&5sV0B>PYc<tq9f)+?OFGy z11sUQ{Xv^z1)n1-AszsY!()U6jOItY{16C25>I4aOA`ovJ{=&Ck8a^@sA43>h`XG;BEw6KiCjc3aagUu&Rl`V|Td? zC*nuRK;vf_mrDofc0Mkb^H6t4tIWe!*lh$@Z@kBG<3cM5{d<@g@ezkw3bV&sWU5_~>?f)eLFhI8;g{X@$9)6cp`bz1Z7s~l&3|D2KY z^b`)Bys$mndp-~w|iSgW2k!{RuqL9N{8DQ6!91k0#USwEcm3l z{KXXgl}-4FJCSM4Nl6svLtz3BLiU7@xOMh=OuW#Eb z-SYgz;cs~>g~|Q+-Q}BOm-?yOyuytb79{%8swl!}nAB3H`&8Bb1Aj$nZaK1SB$;gS z>h`DO1jMbE&Ofa>z45GUq)a!7EiM&1UQs*UKZ=J+%fEU;*;%N-GyUJ7iu+AZBHx$& z?)dckwVm`LCDHZdcV!Io927=U{MDl$a$*3YqX5HW;YmxNi8tZMMutIJK+*A}`gDKU zVxQ?_4jZVYBxdZyD&PBBhZiXAa3<3^KL5$(&cEeV%-_C?L{q>D4qnw^e`9Ij%Uv`8 z^--yz&lmvZM~^QXpRsAS)yHt|r^$#Mgzm-1pUp|aqU!mr%s7o}3#~-Ixyd!FA|?OP zYS#;uR6NOL$%t!g-Hu|I$|CMIy=h-KfN_ox=hvj(qC&N1uRj*o}Yt@+lDXd z-8$-fw=-9$Ig!8~d)1Ub>GS*l!KQtA8dwiykiTnu@r9Rb`fgF!ls1`fh%l_1=J=Ac z=|XP&?j4TUFZ8(B64M+BkNLwZ(+yL~j<8WRjnETIZbiirwbRy-8?lr<@d*S@rbhF_ zf@%1gaq3y9bVPgNx=F%($5UO&<~DWU&(&LOvAWfRcSiGh6tHDl!v*`)3egvPfnO;r zBKLSZr9O2>jq_$$gS<1Y{)bIt!l1(Y8Z2pLMOsbHKi@L~Cli}>?w6j3T$Sx6^rS-t zc9{GuvJeA23di)L=GUH^m9`$dsGR6 zvjA!=%JH^y_`Z^PV!u)4j@STe%tF4E$WCjF%xa|f zyEyIOz=#w7ulku;n|GAoN~P80;JYz6fWd82t{GRz}=0_`G8Ud;issjw#=L7 z?&all%T*T2Sn`R5b;J+2d1_Cqg>r=uH$46kkxmh@*RymF_QT2liWm?rtVT&K?`W7*E1$LT)}S_l?lUmn*=Ub3B9--GZ6Sp`a@a_A^K%-X(+zc2dc3X zGEf}R=NnMvD_DC@C`i}juvpnc+b9`fAKLej`Wk;$5BZ;W_o0T^A4M<`6gYYpCsC*ce5pY-yunmX#2~I*vbTdMyx6E`I zrnJ*B_pj&gb;`~+^%Mehc%cd|R=JxN)(mp|^Eh*T-K{~1R1spmFN1zuHJ2bju78iOo!pOVw)DXumjsrEjui4%p9Sk56R5 z=fz5lUVhNaUak;U-4V6{s34!ow?y~aFp(zyTbWO7l8$jGe-ezd`=)(nK(jrxZBdlH z(V$tXPpneeQcw74Cl*PMo5{4$SZFAuPod}PbFomk9LemQos9i3-e4l1r(a}ECvt;s z8}m7lC=}$_VC65}I&xh-D5a9AO%oF4d6m6?VvT>klLl^fKx#ghlQHb~IkHufH=wwY zuPYs@XRQSH;!l3~XU^-UOIp*jpAk|oyv_f@qnryjSJ;~fPxM!LEVNrJ<@RUV=k*{;N49lY93-#u* zRqT{BLBsMNfS=Y29*nBrsbFr=>){iF_0Lg#JWBaLyF3TEscrRVJ*)+JxO3xZA0s|) zfL*9`oEJS{JIF4ZDAkC=fmeGlugaYp0OkD+k#{8UzDF1s{R9>~y+ zyUboU8&pgaj+>FbJnh|YEZAo4iqd6Amb&!ntViU0b695iRHV9}KII&_a9K#wb?}T$ zJ6KKE{hY9OkwzgTvfxpizbxzSpq(KXNA4vSu|U@mUx}#V?@#^fdd%RWdo-lCe*!f7 zT}N%3_MO##4l0hhj>WD=mG3_t3|N{TOO`lv2$o$nl60HM2spIDByqn|cbm+sJ*+n6 ze~Qk_xl*tmU3Y$W2;LSX->(SHe5b?S55D;79LjJ z@iAUUe@s_~8;XK*%}Qe07em)3rA_CA4X3T|+xOO_)boGTRCk~-Bk0~-TB3UsetOV? zyjx18pLmWPQa<=#kYw)u*+xFY;JykI!7&$Q&E2Pna?87ZXe={U|HA5Cg?IYlTf0~u z^m7_B^*FsgVX1QL+t5*$NkP#Zwg$)}cfIyU^i&A`vJv^$m zHaTb2=-7=|QbHJeu5zN#kRrD4;=#8A!V|$T{p(SEWYk?5U%t^IUG1`nhj{!d_x{(| zjq^hC*Z8|BeFNJnzfN+m$$)qnDzqGLvE-f{R|-8XJg*vXJNCnvn4t4%+_(5sg~~MD zrjq+xF&-U%V^<|_H-&h2Ej~G9+WX@nlDYXoFT5!RE&Tb2D27&akMICm_tRCF%-j;-oR33 z1o=?O7-wZ-yJPaU=mpJ0ny-q6ovi5vS)n*y4L$xWw65vJI8(Em&1Na4ZVyc_b(p%3 zn4%ZBfW|brX;W_|Gp1PPZl3{R)8apwf1eQ`wNKLxu z`VgI4W_*|dD}@zDNr8(r!3mlc#2|W^T;l6WLgF|_xXX*&1&dH!Fn1NG5=DC^*kn7Pu=1gM%**>G(pSOqrR$A3EpY5=NRtF zq~8oG3Vdm~)?xdd@s&;7+ahk(s&tSmfQz7-#rD{KKRkatn{!g3T}sW0qGo^o0}a-) z`$cbX)6uHL0Jab*o`++~-2>Io6PusH{G`Ty>5ePqv3*&P2Q#P3>10D)`N=5GVpOu^ zF*E&JjK_m#XL5m;>9D$3i7&dU{;{2SbXy3*ghYTlhZCsN7;ZULG@nhXPIHAzkFsp% zT4YT+mU@RU#LYZ;o^OIzCS3+LamzKGi^D-8wO2oyC@q{Jao0imk%P=D2idm{a*Gb~ zyABE`4vNedlzPSPT8p6sE~p;83dB4=CGAb9#$S+0=Au(8?};MDCtuL5X;x+?>AW&d zr-%|Tf?r);>B>0@c1tcsr_;vgWT!w|>x)uvL4Zax<44nCm&RXj(z#1%&HW-ogkP{? zcCt_*p1%$o%!gW}64>MK%p;vH3bZP=OPgUDqHv{o@KUO5_Qge~E6Hh!Q`}$k2?|%t zJ>}j{609P~j1PfxKT4)NX<)1l_9SXSpymZ%o2g?}#$Y9U7k}=NFjBVX9OQ+?i<){G=SZ_kgSTi3RDJi1XP%jueTmgfRM1Rk!6x7P^1gbL z&CQDMr4@q)_jpPy%nNY3{b=^I9Wzs`Xn@D0J=0~lYB62J&114Z5h)I3XA&sd%Z`8U zqRCu4&_pXjb*b9aiUmzHX-$~jCFptMyC{MsXud#y*NWW?CknS7#l8k`Eh@50!g6~J za9VhCT0qk)`P?3avWsBp@KAbQ?zH_723{N_8aw(U&i-Q@G@d}`((2aouEGWd&1-Zb zQ#DI*5NjxX6Z88u3fZ^_Qq4R~Y}8BSeTYZNCSk$gBqpINbl(`}TjJg8xzG9Bf1nst zCBBPrnX6v6Pk-h%C3wXDImvxujdAB#?YK2<45^!BFjK3R9&+8JRgPF|3Q4tqNAhMo z?3$if^te-GPz|L!O&4JBGO!_yvy%7H z`ySL8M^bG6QX19%W{S>-Gt7r8!G}BBhv(jMP#f?(b!5hZg^$%ZlP_E%|}1muYPua{V*(R*3Mq`^8Od}{2gum zojm=oWT-~@_`7^$a4lQA)NO`-u;wzlwwr2(W+z}K{JlT=qxmF-ELXkt0?dtxZo8FO zO}qp7g0xw{l@^Q1N)Q^IVuDL?3U4_3)OY1?K*e}k6ado3(PLadmJ~WW?lN0p|8TuE za~+62HRWOh3ucdQOH=no!UpC}Z+H+`{}>c9QW{K24hUaIx<83u->|M-i#i7BL(}q5 zLA(0!GVxp9X`?|BnH%1O&41h#a4o4ZtDafTYfr|(+Q+Hba55GJ)`njZleM172seWkiB}($~GUj#Iwx7XOLlnI}E@g6YqUX-m(ZTi^pBU_ocy(`wBHt}9 zGB&fe2yY0Jga?Msu{JtF!-!)to&bg_L4oei7IrSw8zlD z?ChATl2v-|+;KI)z~aB{?7ydk=bi;k{ii4kg!o6cT2Y=<(yev=yD0kxNB8Y5{r$%V z_wUeWQ+yqLRFl5aZ(pCWJhQ5+Tuf&hdHHN(jADGPn&GS#+jky97DVGw*3SUx4G_Gz zB?KtOJYer7N{38PlNp6Fg8o}>j zNK!`}jl4z$D3g9g#rWL0Y-{zc)jXa3CQHX?YZ{ngGs=P2uzTaD&FIA@&Eu7J6T3ziAq)dJw1^?LED943CaN;b*FC8P#IpklWWU6m(7Av2Z z-m1=bzPeR&wt(BJEsNRSs-vVyZ~y;Q->QA^we4&H_qBbmPv%?4;rrlkua4Ire0%-p z$Cqz!0Ep}!m7XhPuk$}e*`2*^xVfwnuxuT&-^(5NaKDfL#?F2}3NL#wAXXT1Fep{` z@L)*x#m>R7V!!P75!IQH?{76X9)2Iy{b%RsJ{1V=k!f|E(yi*<;BRcDziGe0=;l^Pg?w6_UC9 z%aoI(^|7!u~ocW&xoV`EG|IGr9PcVDCxBRQk8iR0o+=s>b z{GaM0Y=@Z!A241g-yiiGvuG>?CyW~0V6HY|U894KsW0M$Uav|U^iY3S2~}ZA50kS; z4A$72nE@4ykm>=K*1s&xD>_h3=p<|6UNVmKTZrDyoCWYxNQBN&>G?J?7%au&`Ao{x z=Y`4Ow8m&&b|}c!rR~5bF;y|MVqW**^*||L^^&yS>I3T^=2J&PqMarruolX2B(|>R~ZCrHDSuKKVRGQ(eb?fKiInu zz9!qWUGz7h1qdO87OHeYuR;PSq4z2xASz9Y6hk#2Lg)!K^dev=B27dd%O7RS+2!$hpc=KKP67-aF18 zxQfy$qHdFi_zLu1lx}5d4U#2+B&jA?GaLM|!is){7o2Uo;sk>^@e@?oA~jpMYGh+0 zQbmwd_Z7m>%S~n+%`mL+%BmE%FKvGY*flgX-{rAhd;Zyqgq;l%9$A(&Zth{<(%%t{ zx?!Ycra~~*-3_y*Fp35dFW6mXok$N- z;E>rCtYR(?gZmx%z7lL%&m=NY-VJt{|&+o3j# zd$%sqE?xLsd8IT*sWwVJ@Uev~S?=p5+o>0EBir@N+;Y#^=}n?j)+-r`>AZVs$>;^* zLryWM!4wMQ_&Pcc5Mt=ljoTHW1~8o0HgSq!$dn8>lG_tup7%_@02Z^tP{HRr-iZNU zUHI?X>j4i4Nr`oAeCdgx&W88p3f`rT8o@}hpb5dA~1@*}giJg;z2 zbEubZVTMSQ2j9E9s%#HZNj4Hs`S{cD0nM>6?76rKFDo`pe+~8sa%_9fBbqZinw$qY z=hBJ7(7tCA3h+k`umt-^8cxx>EI(^EWSv41i|8wS^i~G6AQN3-CaJB&xXq zY^4`HU%}Bby?WfUj7W&46q|&x=sXoZ-^WQPTI_Bp4!~0xEWls9JUL(-%oVK1!bhDR zgW0*uI`a!96*`{)-7U(X@(_Xl0dy(bTd*OXfdCek`cLZ4J;E7nZ&im+Y71saxo_GxEgK3Fb% zG(DCY!#|EXcrG&WO8Wkcv4N+6bgN=oOJ?VZ1q7LvMhUuDzPiaseA@L#MnLF}6M{i; z_h^ejxYKaO`z6)8basa)#$J=ZR)2Os*6C2hobkBu>-C8vjFK7{aB{ujm3hgppS7a_ zgIBmA8bGbH?VW-N;>>_D2}KENGw{=yu3;H`u~OnHP}MuE?aq`A4No(nNKki(X&jsu zpuNNyewg7XgJ2!NT8hR)hgDhE>40{tD1HLld@k%Z4WMm!ftmf3*BYx6IchN@QXpE> zWG9BUlm(99*l1vR!*(&39=?+hS6^lX2*w=Tk9EwKw?HI}fLu(B5|GLXUTq1!Qwjci z30Op8ASyA~p3>2mXia5$l8}h9fzB_)o0X|EG$%&1iCmcqd`ybE8W3?1LWn;?3D^n3 zdKDmArGzMLLOM!V1pqA1u{q=u=in^ERzdWNVq}!TL?4|Q#w#w=2!l(SS|acST<8Z_ zu6EG?Q?U(uvd&)cd1tL{1v)#t@rMeNEo^+}piHP8+p}JltK`#Lo~H_OQ)orBd%(be z;C1SNl*v7XoFK?3A-P{Lr06nCbSjlWB!&2$xW1=Q&dxH5HC-_M#7VX3gDiEoClfF zAZr#wO8zJSj?jmCiRO03T#H)uH)3U!{*XHY$`+@Bc6j8ybAhrWVebW@YDS#XgL&nF zOzqB)QtO-q2H~W)`Pkn4Te~@=0_izhzZ`EF7kqj_wLCwJZp#@G&%l-Wwm<})itYBR z{D2e(Ji>|a1&;Hv!&o>NBhl(Z*M-{zuCoI)PpYSb13Q$Q%J!Tttq7r zzb(2@acNXi?&wV63y0#@VZ~EnQp5(9=z`+6U-Q`mK$ngdiU(t$H?>*0jZ4}COVEw< z4!e+!Hr9L9B{lF|{%y#S!L3mny>HdGo@U zg=>!T;Ubb9>|9~Y%a~%dpXC^y3LW(dJ;w@z@CxQ2%eIDeqZ;V}e4+VIX#~&hHl;$_ z@Z0u3Z*DfEI85KZ`17{&Fvkb(${HmP_i$SJ zInTgaVIYA5*s#?a~m%DhmlLM z2lC$+VhQl;6q`J#c~xuQbY*Thr<@-ao5L$= zLhOKPm4|D5N6T>`R`LT5)`lu_Ovv%bg&Ms8I?q)h%h+hK0(cn)`==5#m#3P1-qnB4 z*I!dV1Rovf1t`jWUVmA8$1n+kKR!qkkT`*24AvW8`Yg)&g&TrHovkJW=y;Zr?`H#l1mKRqL#BShUU+ z4ce)59gkcegUw%Bm9GR%+MZxH`#o}5%mbvI*Z=v*<%fL}D9t}QcZs*}`Fx1{(IEtw zU17#(jqJ!Os)=PN!!$4Qva}vDi4<3hjJO7<(M7fxjlwwt4bSjK&wUtTWKR7Gkm7<$erob$nIM`}W7=c+<1z z8`OSHVc(J0V;`vn2mL37Sk#P>2mE=;58rgYl;1}0e!La1_-iI#zL^!15|$W3+xMD@ zue+_Xj~dSqVYiv76dUAAeVtVgp~cylTDD^8IzzrV+44dwVn2qDS%!&D*{dkDs8{Es zB0tlYmE^UY>J!Q%l{wbz5YT3^k%*1t zD~|(p3+ulhIB^EtmrTFdrQMQO$zkBZdkEI%N*a_^W?Z>O3@d`@$8=Kjti%Fs)P`-S zO3`uJ7@BS&y$DuN^g_US9FU}pS2D~DRuIBEft7gnv$Y8z(uPa9o?KT>&k$u4Uld&l zY@@XG0W=7VEvL=>9Ox)H2_a;tafRz~sC7D}7t=wpf-~dZoHqO5cmm5U;hwrSR%ydJ zF-0aD=u>aq0;X^hK(n2VGv-SMgdTx{M))CGT2LnI2pDXlP_j5h0)|E!$pX zh@m3(!NVD4J(I%vQ@vykww1Ok1LiSRXHYaNQ;=uz8YT$6WSX-CSZl!<|KhCx7-feh zG@R4WiAv(h%zDpH>oZvMMnPx2WP!pvs?L;1oT<388aC1Nib|gmlbS}X65X$!%QX6J zIe!Qx1wgTddh~(Y!i;<`pq)xVf_}^!W(UK?u8f{_oZK|Vw}j6e8Rw{^US|1R?@U7n z>Plnm)^#svOnFLYRp0+J)!C=Vww9g4%nxz*G0)p{V{k=Hjo6SIi|aY?5#+O^@pzZ& z+U4PyLyK$)a4xjXXi*UvY8*T3~|1**;* z*?c6@alZM84Sh*t$WYeP?iJ0?SGNsy=RWk=@^Cg;EK!+y6z}lq{kTiUNA6Jh3!OLd z8g-)Uh`t`yAxUmKymoms~Z^@Mv)E3%(H{(0-2b0J8JAuZn@= zF8Q$uSS|5oKORBRO{5z>9))uPG;a3RL|Ac$;5tfNx~Mnl0$E-D5{1R!sPIpO@~0@x zYYdaj0IfY9Gqd-@S*ny2)E7%M<}59LGR^FdZq-jZ5Oqg2FsocH zH=ZUDtdV*OBA}ZOGFH+Dw3j^P#8|i(WV+9OwF6yP3Sc;rF#9GzIpM>=Ktw$uuNWQ_ zf8e(w`$2F-mo+V$#pCVU5rW!iH?!Alhwx+jPytPV160<_y*%EJA`8q%KNRLgSu&{T zyzqD)@tvr{Ik?>6a!X=OPIQ)L;6=1elA&sIY5J&fQd3F5%e_ytZV*Fj>by)p&3lC9 z@e5XRiI4}^-QRP+C@}os&j(_2-xkz%+Ut4qg&ge0T^xFHS#4~8^!l%FWR^$khL%4k zZvNV-vV630ZtUl4O8);AF5&&9CpG>E>bGjq37@?$RVjcg;NKS*mcqs=ah7plg*V2H zL`(6l0(RjNeEV3zk>tjsZpI9ErSHql2iXuy?n6ZE5ywIR1nz&r>f||NG~+Qg+eeiZ?W;#D86j<7EpqnToU6i?c$++o0lY?c>qix^_lV zy}9w3WiES7XnyuMCjyeh#WGJmh0=|4vqx6tM*0jQ^Yvlfl{c=oA;am|JrylI80;{V%e4P{*-X;o0!miLo+Z+LajWeyMd94C~bs!ii-l|tE(!j;2&2U0G>p^xn0)r8dfz0`#^ff+~;3 zAxVo%J0HWifs%~MO4~$8wBu8@tB@1+=`l*0%Y=U_JRXwl8Ar|GNWrd2kbQCZE-A9n z8BUZS1gZUDpW&aG!SgobMlbUfBerYn8B(R-C52>NxQ?hK+bD`va)A~t94PGo?{|iB zZd1?|h*=4pCE}9B5s?0~TYoVqRg)+_84D3|$hQA_c8#3MSDoz$O1Ekk3-60N!z~UC z%W>1eOjPEa63Xe<&b~MVUth>#BC>4&T#p5F-HZ{}tysJZU~c1#fHSj5H9Py;Ts77_ zQ_5#M81`KOny~}v8TSq+@@#CWU)*D(d!_9W2eAyxPYB30d~qSvJtwn(Td*J-BNVa% zD=6SDEJGJoI22Zf6;>4#dg{0mJea%h6xvOkoLNX{kQ8fnxOujxpsgU2GIjmO$fXf< zv(H;}09Q2JUi9p3(dd5BICt>`x_I)>k*lD1y1jVzZSnkm@d9_r5;MAF#W;S^xoB0A z>mMhCAZq`Anh+>y1pmULjM$K6vC}_I2(cG^kAlsUCm=6_~p7Pwf&OV*apgdwJ03^M+*7 zMAuo6J_qCvhU|sWH?%=eF{{w8e?H2jPXzRdX?SzkYK?PtcU6W_Z^>9e_W#(UObC`C zVLH3u8(%rDO)(gphysgOEyUE`pD5OuxDU@ado3nryphhiwWU>;iF71hu-m{jB3qVT+okc zwWm#TGuQ#yYYtb({C4MXYj=15N3jHsLA}hYp4ZQ)>CAbhg^jIE^^IY26U%?Bp|75? zK~q1a zQsiJL25)+l#T~7?)oHvhrJY~5u|h{Ax1wSHX=SdDV)3dbeNP!{1En%osFf6;$pL3Z z(4gm5C)6adQw_lq!KF^qrPLite}RhJ(`K2beoWGlZBBBYv>2w3sM-P}Qp zD2gu!dJp=_I-Z9-52ryJd|TS?B{%r%9Zn@Mx5q(vEajdO7^uA7ujG7=bXKZ@Zwt1>t`TFh>e|S9;XB8y$7%ZW~r+qY1X66b%)MTUSfLpK)I$t(u$dVVLOIIFtrYmVSLR+Yr z;TKB<*YNLk{S&)_5=2iAXbYZtU`_Iu6N`3y``%u2IQzq0({KQ3pwAMRXiO0|6c3N zTx&mI^189`d!5&DEWz;WmX7at3uCUVG%$$JTS(u@KXXA%X5d_`6O``)ZMwkbhKyfI zR$%CA|5kG;bDcp($?^*W&79Y^Nhjs`a%f+;XM|d%$r7CAq^MV)V+8$gB2Wg` zsJKPDX}l$${)AqGcpZs;cYWN}i%}lQF}9z;4hTy2e};jAKxFno3{`BB5R5~QwZ8TP zmFqCW+yH+|M<}-xsc{Q*rVHA5L7UFxzUlnenpNogvqPu$Z;wS|mUSMQ-;20m0KHOp z^%8sj7b9|MOQ_6)ONZd9$dePP&quG+Ht}v<$PHk25W;bf!0KZp%oZ8X@AV)?8xqu> zEkdvF^$NarcGjJ37@ElGV=!H|w&p_)$Pw!0JOWBweT!JRR=A~d6v=HuE=!uRg3TlM z^?IVu^&&;OL+5JKl7*wU$hw33+%bGhtZ6gfaYH)QefRxcQubW;EzT{Bp+{YyfEkGY z(yy0d{R$)rfa(agji3)Rnw~^106=J3kKmpVG^9BV)f#e3wQDo z>uR(2YcMLwtVE2iu!@r0uiRe>@l>EZHJ}p87&6m!!EqfKY4AeJN9M1X%V@#?Kw7Gs z(E{r^x%Wau`=Q~7WZ&{P)v6X55KvlVQS6Cj+JPF5WtyaM)YJu=7K}jYV6^Bs;*`O_ zZ8l|kvJ?08&1dXS5@Ws~gmgT_%YLspf4E^k*73S^^n3mF!;j7^ol^s+<*|gH>+Y5sx%#Qr_}aPi zmCE~=1=i8;aCiLG0Z!h0=Uvi0)R*U9olt4rkjRJHx-%HVajHwQub#R=>_~HpWutpu zIl8wJ=>he$=sssTzRjGYoYO+`u$FgwPfD+GQoX|)yFpfFs_)oo8CjB^pK`;^12;Z} z-JT0$i8C>YKK%S3eq&L@gbl#yiJ`31=}xZ*V1{TldL*v)k^A@DwG&&|0%v}J^!>)R zz8+oZa0&n9NgIuN#rG z1_=*J=m7xb#lvMhMw1E(YK}<});NHve^i6}i2763$#I^sxn+jTd#sb+19kF|TMLnZ z0ws(e*((?++8x)C3!lT#St7(v!oW6z@Ns8djW$-T-1vMQJt?Dv24To!7<4x=AxfB5 zX+7bQ4z*nu%d>^>z;$V}{KR`p>aWklN1&wjci1ywgeN^d30~4~@(68Z(J4oRQXk<7 z=_q2hJuw$Y%+Dtlwh@b_h?yV^$2zf$puVe|RB5D1ADnQfO;WrqsUC&;dX4?UUQ%8U zbCXeWp-n`aJ=-=Gbcrnfn4H{+VrvD9>NMkejU*W+lZFUL^qZ9NLA8=zQ$GOs#g&>; zmNYep)TIX;TT%XkY>-m@E3rI{fl$_AM(f zT1Ds^1jjTkUC0G`MK_vClC4JqHVs?^84DD$C7VT?gI<&Lo^n(fW*`bOc-k}g-ew5w zX9$K#_#rYQ1Jx|D_r*uLGG)256x}S9{(O|tr98^Ct1z@@h1#T?=FZkZ zXX`m+8-)FSlxfd4dz)>spKZmRV}s7Ib;z;X$B+VYJTh|}CB;^!a+HOM&efcMf3E%$ zJDvN-bM?Qm)4#FP$9r9L(w`doIDJ0d9~7_s)c8#GpTAZeRcZ9d`O3#C=`zMR71ib*SY?+dka(yH;-Ven!-CTp8rY_Gsr> ztpE#p);($;O+9y##CVFpg3+7_e)(uOqZVML{uCRTqT|f!9z@-6s7S6d1P`!4$>K0?=7b4ii(o!|ZXT&EE9i0cmXuYD5lT-Q8|&GVH1 z9+qg8QpWy|*eSrd?~kQ-T~uibNf}plG)3m$-|1KFxbF`BM84M(t+^!hC6%llEvZ_? z?yrdz^lm<@CiPw~8p)b|lkytO5+;oUS6m;}eF@>gQ_;tfnIL9NAQ5!On~C=Da398+Oa)?hysXfC+FW5n5HJy$|XS77f#kPO4iowcD zPWd6b%#jlvrA)X@NwWnjpw(eaF6a5iEiZoebcje@%di}w3Dn4bzochbW zN+2E;51tBUu7%ryVwvZ%_0(LJx5Ulq;W6HfG%S;I=@5W?cIH9(BMWspG(lR}gr6R*Akk9LeZXxWgv%rmCScvv#rO z#x#mJ%x%V&+Ode3k`9 z7;1pg!TMW7I)ki@+B|2*o>CjEm|0+CAd=Q89l92OrIY2!cUz! z_D#G<&;cefiZ<)YS!ywX=|w64Kt!9O(kBHwnAD5tp}}BLM$piXrP~8iDL%>!ElVlCERlY9 z<_M8!$My?0-E#Sjh){dY*`EYWv3&!}I-F>!wJ3n<6p8m>dZw@QCEe2>2DH)q92a$3 z3)SNS)5Ou@w&F5oF-UWdJ`Dquf?LpyEW&){jO*)HmE&R_kFmf{SH9Y7tExicUl4e|_~T zkXur;RO%1<&u-q2vU_>2Ts`d9l+TRZD_d`5$>X3=N^v=$*==v-)Kt9);{ou)YOKCn zO&lzj0es;Z$J4zipXC&4U~A%Co>ywO^A*n{mwCZoM;Hu4`e4+pOA+69l+A8LMh(ph zu3pvZDKnkj9Xa7L{N%~6-6yacg3H^eZRdklg=1nv*4j|O!`PsEE7utJj9Q|3^32*6MS$|F3u4FsK0QTC3-HbeWL2upc{%_k!|8a z+2&SLoNQ_YD;xCtJA|~Os_@i3Lgqi6t4sEX*&uH+Lhh4VQf0nQ&b6esJz6)alIr)8 z8W71hGQoe4;u{gNmnlz#TePiUne_&4_C@?7lynzLDiM|P@+*W$Na@Qo7#K|HYD^io zmx&kkeu+zc7<*$XpDklgl%iy&+fqA)&6bRWkChDIW3i}fW1l9d1o@8ntz-mKO<3bT z55mXt*^kb_M#kgzjRX)?>@?EdkH{BNA{Z=CY~*b(`^xO)Dd$0`59KETyg^J$aB<qr6D?{$4a+n+rW9;=^vv9N1wz9DgfaalDYMsJ{)MD0|5%dylceajkKFR2kd&L> zC?qACLQ>YP^3uYeN8PIr*0^@Ya;HgItod_c5KP#1$B-MQb@`= zwV!g>H?ix~kJNn5+&la+d+p2N?n2^!;FJO4jh}pZO&W_$O((X|Uq;du-~I6Ul&rdc z=@b8l!%m7wQ9KqYQB=WpAO937;S8F8ij+QzNO2aJY_a|=QfOtEXhiJ)6e-($44W&- z%M_6!JXqr$|x#EmC4Z(Zc$#e~Xl)W06vs zSIPPpkrF;AE6=zRN<VrCuxL0D1MM~9gkrGW4{ijIj`in?uG|0475b~mk6vp2o zC4EEaSfp?~J{BpZqD!t-e=kxPN6Exvk>Z$l>Y6tx`Ba1397!}97m6* zDfas=($^hGfixDpy%Asmr1o&NSyULS zI_H&}!P*k&H$$VL9p8$#QvMOASfZ<&uD*{G*HSzL zDiX5@8y<9MRa{)K#vsa2)x3;&1=9h84bHXZ7UwMnkF9~do~%OL$E?uAEcS^ zbT`t6o>Kr(Q7st6FLXDUInX(OyJqKh_`Y6+q2_EbW2LII>ZSNk1EMr#lVfRd4fGDu zGyw3nLR6c2vM5g?PyAf;kyoQ|7XnPzh~Yqk1n)Uq!F!)=Y=K=A<$KnozkMYs+c}$f zqKmKIs7w27YD#^F+frTdZrR)^@7~)3SUSU@veYBNI!6}_5 z+r!+hp><_%+zIJBO!yd#a;uIi&9+)Z**>AB;|!&3O!>)xQx-GFTGD9F_n3tSt~U&R z`_Ym2pndZ(+yWj9X>=yEWkcfHwdEtUZ2&z~A6i?%a>?aY4HnrEpxAdB6;Wubpoa4= z|9l2-nuYXohu$qV)gossIytfTYcHPQ6(%K$Qs3s^MpXoO_9Q7mL>a9SdRiSfNlT@@ z{@Xxe&dgUx3@6PIy+ML96iLM#;=Y$cP?XSE1Q?f79yB3=d^*H6$$eADUuyMjV&S&D0Am9X z-BRk?W2+;yMxbX6a~e5)<^k_)71lxSPR41o^I|cFKio|;5y9F1um?pl%3I(xMzuR;PTz^e0JuhdaVCyb`96P$r!lRxKoZud zNWSGL?V`cM0H{Akcan2E{_eL0D!6mE zi_)4g9K6qDe6pMB8##N4M0c|4R?w1588vw!W4oZa6#*??k`<%hTtvBZWe*6&ZU`*y z83fx|-{X>aLQ}0_^y~GoU6}@Qj*=3r?6=#)`)i9}`EZGAY_DJA*ET8r;fjRi{xIc; zobL(OEYaS3R$If{pa0#QtQ|haCItai>z%?0Uwhd~oM98v=?~HId6UI(oj0B!p%fW7 zbIm07YJ-k&)TckrY+4-KlVf@U<_WyQo8OiA`{ofgQ8%dlaY#zNle zMOf^~Se=W%^p%dyI!-JaDo2R7)rqqCJ6VD>aCat%v57`I;ow={bo*aIrKb{HL2-gq zfdIxAm(R716#xlADTi!tR+g&SuL!oHKSfC+cHii?D0z{t3StJhNy6GB4(pVk z+WL2GlNbxcdEy{nP#KOoXV>sa8-xsprDTC>u|W1%AqMeT`%IS}tw#x&npBznLK!k| z;p<(bw}juIBpb+5bT}3zYJU|a+g0pKZCR?@Srk#y^jnk=DWasy%P5Rz1FOzL$1ZkO z`(hk~-ytX7I?Ip}Ayn zgL5$oKX_U%Z1*5DsL7u{(<@cl(`vfJ^3{qrl3aBG`BKTTO$Q|Mb1Ms85K;h7}Ex$+|(pexa_{V(Fg zE$DCJk(Ep$qH)Mqg`um)&oV1%4=Ki2gN`foQelUDzAJJqs{3GAz`prxr9kQkyPI@sB(l zH&AOp&zr`SkF7YAwWhN{v0i^(cIOAA1n@1-QV$IX(db;L?3)SR{PF#)FEilfdnP0n zsZB{bOfqSRVVl+7yRl;g`?C0l@XQga-B6%DkQj8^h>proYqUFkJ0^CC7y!~AJz#(1 zauY#G4jy?L7!<9klR<4vR@_KQyCLEM#ZYoPicas`U8e-VUNS1aI*-oWTk0?^?Jz@Z zW(ZJI4zz|$qi0hx!nDMwB)zv(`>D3tn;waOr(W*nHUyWnXY@Hrmq2kPbTjDioE~i@Q*98Aq*3uf_AA4Z*xU+$qZ+rrbas=t?r9$7*! zVj<7EC@ZT%GkECJJJIuH>c=~+f*J$kH^c{JSIL$_U|<~!F=97M;KIvS$^5K{p{?>9 z>+;he$kOc4<-0?uORwv$%N{Po(%eUnDQM1e}|LoZAcUmN)ydHRxqno;uHn5-UjDP zjF1fQ{DN@D=cEr&2+a7^10zWrQVJDOM#Y)-pbKJTPZ|Yh&;?9=qsk{a7)cPXB!$zU2Mz7u(C+tL%o-n%s*tGF3r{w))Vu}DbB=T zhH|ndt~;Z1Gndg1C+PqyqI;OTPnc9IJwSe)TS4(J(ZNEJd9p6hmX=i1qIY0)FwR(j z;$H@ST$}L3MZaZhqWBjo5Vo%2i}y$-IF&%3OfrVMiy>9K^GagS@wk$ z4Ho=Xn=rIcjk zzXtbUji-lKuz8qE`t-xeBdzz|QG$Dz1Y{K0ke#4vM>r}b&ANc*97Br1cyZUG&yEa5 zecta)0^+AfljG0NzZ^2n>L5A~Oiw@9C8 zZC_%1Ai?TS$LwY--o5`jxMy9^)kA2f2+7dGzNp=Tq+tsQ=eK3>gdPX?h<-K96XQ_T zH_`s=bnT6=WG=;stGq_Ojt)c-Fu;(rV7X_C~N_HEt# zac>d#?Z>QEaXIs`5m$5h`uSh2u3KZbcvrl9h}I(~TC~p2@Es@c_%5f;R&qU0x7a52 znt$@Yr3|~s@U+QXt#$dd3L_{UlgY>s?W{u$C@8?tgJAh)x^UPeod6Dir5oPTyET4& zLgUnR4T0zNRvXG*EarQsc7q1A`;+x7G#1zW#}#S6i;(s|Q9su{^1G=c#hJ+%n35*O z3y??at&$S6d&M7~5q$0rWBvL{FA84az$HkE6HvJ-xQREkfFogy?pO~8%sgfb_Gpue z%#2!`W4FLH;b^YnnXpMBUTya$xGRD^28ZU3ep$i(;O>Lqwhd4Z2YS<@b&-}SiA+?m zhq2k^{H@Y=Ue+*b=~gZfZC1E z_#2Q4L3(2&qq(~zyX(S038LHLsW~xSZ^cWmt-lm25&|L)C^Z{Z`wyC?f>_H%zwLCI z6G=(HxKj(p*@$9ri<`<3>WK>_S*bs$}P#6o3+ zHuSR12Ozs^L{cP>7O>xvd@y_Smpi_j41od8l!mIE97cB(8}N{Q5K5GUiGZG7$L72C zEVv})1~&ygpkSB!u%qUH)9IvEnl8vndn7K_-@S5fWcqc- zj|UB@eoZUy-#j~twlTu5*d6}NdusUJPOxUh!0%Cc|9#g`$9b&pn&w8T?qj*uv8s*8 zm~%tb{IA_^NDqWuX3E$}{Zs>xwdklmA|pIDlD_;d7-p|E^_~v|oyX z1{X)QyE4|3zzB3+h>G=AID@%v-Sbz&@qwqFvmIyR%v^YlUZMgE>QT`HxRAQvd#KCf zpmxP-y|O?<$Avp_H2DpsZ9h5vqwC~`xLN&8F&C!clU?(G0)}3Y3V+!t++clA&30B0 z=9N7o{^V3#yQ#2gWRPKpFdTO-0n6l8p(F>hG%jZd8#Dw2*}s|u5kU36nV8sKNi!%@^z9zN)T};BGOD7x(#MxtNL^^*X4;Ts~9yf zf@|~>&)ohROuP8-QzA6{dAvqH<+@LiEDsmxE%*NJqQ2nOqwTG5YBsuaeiYx$jfz3#u}w6P}-N<4qqpYrP=))->Y!$9`;CwlEtFQ8$J4O}RK0$woPM@T5lO zmOBQ|*VtQwqLGSt_@EU1N{F0`7R9yjO-0|H@Kk#NnGS-y^^95hYAT0_{qHX7^H1Vw zqBQJfk$bT(T_N2PaihO4=YQ!Nt3^i{%@{J zrg3s;T)w0WCY%VC<)<{4Q1W5Q*0}If1mPH;D8*~J2=SF=oxmzi*EXWIu$mu&J(I)| zfJ_=H!`2MSw2vn}>tUJ2CN|)tS!|OYe!Q35g-Gc^rSu^$ci5#gmYEb1 zQl6m*T&G&(mNf11sD*B2n6ZfefsYTB(M;}UN@xrHT&3L zC|$vcO)Ci4nx)fDuhPer=+(qe>g@+Xf{T^Xhy(%~;jP zewMuarfXF8!#hLwmIp{8rX@uanc5?sRC+OMBU}&FJ-Ms}%#Sl#ZifW$=cA_Oybf^> z;7IjJQ434!kMqwvTfbCV0Wyozdv%@qFR;Z)sxxyg(M6G_w=5oYgcN=r_Yjy`=fWqv z=}kU5Vfpx=t3L;rEVy7*q7nT`Mpo7G$>YO6va|!j-M1cLUKIfe@9;F7Ue5M)0JcA% zlz)987G_XoEAb)>&M!&5ZO9~%yCS}Lyn!iflIj2_BlA@Hhmu5E)|ZkMY<7%wi}0We z!HWNHWV94ksm%im=BRnE97#9&NVXtgh+Ux>IOzxVz}X z<4;;5sD0i$j>X(x$v)@5znbq^zyH4I|E^-_y_GylG4%SKdz516)-S*Q*cy;OI@ozb zDTdx#yLa^KVE4<>5da|r^hRAEo-I7sj0~a#uFSLTC0yl+S_V(^WN`@3dgkfMt15hHDs2;5#wu|}bQY)1v ztPc{7paDip;f9d=q4%x`87fr5u$rtPb5>>AssNk2lVYgQp6d?fTpyn;%(sauMP#YP z+iF(u`#8-*gd2NM;#Zlt*0te41HfVPBJH_p3=6#yQR($I6rUoXgaQL+fCa#GUspKG z4jOM8DClQzqE?4XF;4R1wRb6#sBLBDO|$VQJDI$*_|J=>i5-DXnR$=d#1tsS&>H(X zyp&s%&+2FryVMzvp$PHMlSuRZZQaPxx=Pj7q38bL-)=5EGv;QQp!JGlGr)=tN@=YO z8mPE~aED(IZdc`5OpJH~5WkgK+*jJ3) zZj^bGf=|M2`X!dTU zLd~7@I7w0%+$L3Cp^Z#3^3vRIKiZ}{Q#zqj;`p@8-u0}yGR|W1 zZqt9Ufr-6)#&lU7oiGt1@ARm4Rq1<5`^MQo?Zc0&pQP-K&`XRcV+j|g5#%Xk_I=Xo zEvPU>ikH#U{IwW5{6`aOH{OdjlMy$_)_mHB0~pS*og6mf1&8>JX^N5Dj!+^kjg(^O zlfr%Tpsv==<5xbU+O8KPEY#pH zFF-dhm}>7ne8>C+pjnhBMm%^Jy(Aa@2i5#mW8On>n0y4i*roN#H;)ge=;-JnwV#t} zu3l~`J+mwQ=9}HeC)5kN4Q*7+UXyIGP&usS4WeSUY;HF;5L+YYOCOA<=G$;K)EH+? z=cM$)2>igRwOBJcV@bTo-usE#ns>OyS|3wS>5AG%q@P-FJu!weK(z@inFW;duNcva zUEHF_O$P9?f3M@%UOv}A8495Z3L*xIX}GCa)`u7+mE2i(h-3Q^yOKhTh#4=77v62) z^N2KnJtE_qq$`_iR^%X}LcdM#I9XT=jSPk#_}3#B1ILqOgOfI!cusz9_A zTxK)a>wVJ^pi?i0s_z6CB1MjqWO`x?ZAK(_wjmnldCs_|#VbF1Mi4od?*xquKn=b~ z7jRzSqws!33?|xmPnfSxOyQ5yn$o(Ts5@P|2V@Z$sgcO`7dvOK^0{`W;Mmb8HmXjR zGe7HLb5o%?55{UNErLaz0LY=UZ1wr`kIx*5GcJFiR~dhi>)921;?v*&x+GvJA$FN( z5qg#1YB4ovK^OiS0m<(TfLd}-J>N9a=hfLt4DDi_etMLE;k9uIq-q*}x9mpAu))8b zYbb+I6Lr|>Ud+Gi>NpY927;F1DL1C4WX34>`W@D3So^jftMok}Ei~0XrF^l-(N!5q zMRa#RjGb+06uF3{&8=+ zKWIL==F0U23ZffPi7VC&988o6-XkC;H{6FfIR$aPYc#XpQ3jfJZ20Db0@WtYBO-6| zQ5$rHm!zN*_Fy&;39o7)GzGEE=K)BFEjz?Z6w&~TT*F0vD^`~9F_w|FlT+~(gBr;Q zCZVd?_Xq(;Jd+kvT;8Bz#f>7Hi#93r<4H283A*n=EdL3&AZrawY`cKZSHF}U_$o>P zRZ1d0^D0aB_DE-Qaf59ylDDF@Edh`ZU@wL>oW!B5BDkxv)=`L{s;!3F;&HIxqNDEtWFv_KMIcX_q^`4D{YJxO4Hq!!n7gB%*4%HB z=ZCr~fzpY>$aZ-P{tmJMcs}EbW_niCr1#M}nQ2!PEb30XRisvC~SzW^aLdA2TI+pvH zk?|W^#HP>oHU#g+*@ChcltZlvmK;gr&#KRw%`YL!dtglvJ0yr%C|ukBu3MfIUT)%CEH+k7SuU@QRX}N-ZO}dRo4_Tz z$R^9$;}=$ZD$tI*8PI7d-}3}M%Y;W=_%}z3vqSlSznrfd_@Yx);}f2d>ZEa9d3RQn z+79{HMNU?Z6&vw?_CuYb#m&K5kNcr6@6-IddoCri75wtMoa$i7@}O>w$-Qww2|SPZ zI3~yMSp22@inn*-&o^>w1hq9n)t;^_u{hbPrj$KXibaJDmQ|CJk;Y*No_WEmi`B;N z8Eo!w<1kC!als8{mB6^vnozBE@)fC{vNBtO?_+9}=4%iBtW^=NQ`4){aII7CDA)Qa zQ>{^;J1-+YUl*EOLkN&9_Nr8vsxkg4V^LAB!s5RA>md3sl~;py56gF1$|wCHhT}d ze5*Ewu)a+r--q%x>rNirn>Ma|wzGg#p7b^DFvN7Pz;lx*A-NBRPhXeD^l&kDi5UJ%b z4^@0CQQpb3gK9iV*7XROjV||2) z{Uh~seetU6^P5@v{mUFliz}h6^czOk@UQ;qD0qBhqmCWV-y{ce>K#$$Q{S9z_k4I+ z|H8>*_C=i6F>Sif>3KbuZ=`0sq>Vlbx`(?Sg4S!fwem!~r?zfL; zSS8uEzV_RM=tY*)^Kp`vBDo&@)ra3%MlN+-Ty5%A-vidyb+M5Q=@LzEF8Lnp(3Jp? z*53ys8~-^+N5b?BmK))Cj3OGfxs-n8&d9v?6|VtHFR+Wco9uP+-v{H!T(Jjtn8(W5 zHcG+R*>W4Xf25vXj;dis^JfhZ|5r&pEBthNzi$2eZlZg`_TQ$(Yz+hsK<>%0o6}LT zZN5yH2@IHZdaHc%u|PYU&g=g+Ev_ftQ@qjkax(Da)%k`0MMvTP+&Lz4Vkh`-N8w@| z;)Z)EkK>Uq6@NPlyd_b8l|A1UB4+=W${wGE&`&)JukM|((=I-S_^hk7qi(mlM7#E5 z@%sW+bleAyh9suIOB^p^Mf+7 z{gek}*NfL;aIhE=PC0<{TSh}f$wSxAoZ;}*VdHe7?imtmp^E(j6*_d9fg#TI`j1tM zKXk6EqPd$Pi2$;zaK*T@y0=NHBdD_yw3oEZO{Uiz@X!!cbC~KSd)ea}aUR6B%|b^g z2mHq;L0!?Q0%E{q)W)2dM6`^#en5K`5K~vC6N^%*&$nZ2uWtGEhZaFwbA4XB^v7+ZIMHWvqGn%3Ebz3QldkUUJL zanWTI-8;A1!?z{Hkg3fCrFq>|3VVab+M8p+WBgXR4F?Wg8=u2T^u`QHo)a%xwMb@k z7+QU4b$-<9bbI{S_5X*mr@_fVT>BBH^tMx;=$SXY=sUf_CgF?iTVY$@om~7^D%;}~ zwG*0nf=r4twjFb|=F2tej>2P?LfbB44aNfz) z07U!b0UKk(qEx{$kI0PoFf|L|mmlK39gO}SY`uQxP&|S|c)jIX%`|98rdEg?~&FnyD1^PqhkzmNgBIn`n{ixh_%6}+(R8qd^ zwP2mDUqi>fg%I1^Yg9^xa>fs4@~YX^kK7v4$4lC(-pUIDNZ0vw&E#q0#)#t|+u!*s z(!}{8**0w8HV%SLk76HwbYzqxHqBD=%W^W7$k{O0kaYEkey|c&<1vo$wox=cH1y8F zan$yyu!V9JL#h3656VYESN~Q1=woaQBBcC|I*0C%=NRxkJpA+cD%i>6#BG(dI4(~l z(C#Vjy{?oU77pI7S`l3b=u%7~mYA+3F6Oe#HgLDM-zx5j_?;mv=Pm~hkPy>yQUbDt z!J;fW!ye0FI8=j}J~2%HdEt{$S3ghW=bsYl(oogMO+2B$O?B644VS;cFHh%NM|m1V z+V_CoWVlUEV#vFn>0v%ASakPIE{IOoQg)c!pwNWQh)yo?J$ZEn#peIPfuK*bKhLqy z%n57ybpOGV|KbXwux>lAjvnADxF2rqB_i+|dI%t8CA3RQ?NDRrVQRI>q&o49{Y6N0 zziQ}^4q4)8?l|rT=uFP4Ls|8SUB;<_aPpB_8auvPRUjJ?AZ0mmn5~VWJD^>2fk!)O1@U&u~e{gK6(Bj8B;<3yqwD+mVk?NL;beqqDay$EETLcV@nU?`6pw~q zny)Hh!9jQBBwxd)a}k@0A;pP`M6C)Hgv4xmuZP>FTcTc=U7DX9WPh4U!)E;Fw0I7$ zTAI=65T!So(dD3f8JgKS0RLRadNeEi6%nZv(bbHZo$XPD3D?@zhbl11+Xf|X5)-TmBCs++0s&j%%HB5er z$BUk0>%dOl&QS#Mh&5scd~zwf#y!xyODqJdI{0&ptOJn!qetOi2$ud_URyy9$8-4> z&%?_xv>LX*2p0Ug0>5B>y+azGze00NetEc3Z1X?L9-#sW-2y3>e{ie}l~uJ&`R4@) zzNmvjg=i_lC%HnZQI^)r^1?!Ps(wwbo=~2_kHU1dRHGmND2NuN`Upj)&kJpy7z@u8 zT{I%-$QOrV5}eA5^9pruv-m4I)wNt!Q>Y}iGXV(o^NN)_hC>lb^ZoB&)>T5EH1mpU z3lhGSjN3!rp#pu~V_4IPBl-TeAmn2w)Cy2yr&>a4!K~92Yn#gsf>OyPXR^k`#GQ)O zRBeBqD1S*V*9%Lj`tMTD{?44%78$R>ifclZPR1^mq`TtQ)Yj{}t?_kt;-xJYADLEm@wcIN(_7Vz@>IhK$F97S!Q?Ve; zg%eD{fRt43UiNmsy5@l3v;R5~y*_k^`w>TGB#~YM%dO@;rQt-s40N%*5g=?7FOvfQ z`Nn^P1fuMl>-i-R^%@n==9aWy9t{C68CF%QQglAO{uh8{dB&=v;54y|ZwMA};hM)- z1gB7GzCPEO?-|SIKYW)`u|5obL5==3CdLlyJWYn=JJaNv9t~TPkz*-#7s&h(2NEz= zWvE0!d_Fgz6YwudCno#uoN~B50{h~vGGwFX#W6M z0?(ISZAZ9DY09onU_g&(^Sdm_OSLg2b_uU%B~fJ{!okKUMOHcO#VtSUwrZVx zlTSVzYa{`=U5k{o7g-_mQ>1K8f)JP-Li4K`dv}vus%)`-zuklU!(~BM>*~P+=)oG*yhWeuVJG$R;Y!wl&%y&Sni!4+S9H3;m-WN zbo*nUsSu!&Ed0`b;PJ2T8;2ZJ>iOFT_kMD_eK=3oPu^P=1@l$2xtph!n*soBGhIu- zqJQZCNNV%x| z!j4*us8#G_C%nN4&oV}`hU)$k!0O0Z!n%vuc8(tYxf7qrK@c!y^c_L$=21<~;*iht z4TRP5X$hAlg~syDIn@fvj=YjO=3!~&vs+jVZ;&&$9CxVLEo!!DP&oNNKM{>RJo|IE zln!tFdm{1>{#3@WX;dqXE!;^p&Y8$wUp^xLD1h@r`piV*%NgL&P^^8WcS4=RG?Oi~ zLfvNe=CF2(gF$2VF_G?`5x8~u{R{KQWpqP{(G>4}cGHMYQr_+TF5|Js+#L!-i55^k z?r~L2{AwAmFXz2!YnbdhFSj!t7mmE zA(j^ELgxpIG4@2h=cVw;yT-}AA*GNDJ8B-J0f{K0n8F7dpN zHuz;RRS|VK{@$wp$%mEGttBh~>)Lr=>lgF;^G?w(Hb?9ccQGN3U%NY`M?*x$EP}Dx z(tY5Afe+CI)ditFfS;^(cSp`@5{KA$@ij3cwwKwoK^*JH49B~tXm=zicb*Tw(=rL? z2|iB|e>oR;;_)hK!&ORb(Si!+?&RTUENvM5VnI5Wd^U@YmxQZ8b!qk(VC(CHl1LM> zsu2jH1mFudLBKqVTm$I$SU!&wyp0Df;ahb>J7e#wHRhLq7pHhyn$_acE6l@^J}6he z6=Nzl)bWJG`-mOW0)TXNzN}{M8RM!}0j%>hQ6g7`3U}CfDS6n5ao|muhhZl3uLjhLVg#A0AOI6b>n;fR|p~eVXVs>rq)> zS%14v+9M=;?kE1otK0P1^udd=LyPu&@92=Eu@s5li?DOw`${)M!>xZWV;}d7Xix6s z#*50#?CJQAf=L_+@20hpQW>TZOtdq6+0oPArhZmgN6{Nh!Or`uZSKCT< zTO5dwM)A3^0nm##q#{+&$ZvxnQFqvHfIz3g)VkpBBM?j481+(gZZ#W1)xs?r{Z8`O z-Pve-&EIp0KtK6a8tM$rQ)tOJMHT~s^7oaJA!K->c?1mP*&&1W)Q(x42_%xsQHVszj<_9LHLdbq+W6&i&DBGxj!dahFHSi6$ z2*Ld@plDH8N)CN2E$u-R#>e-f1jzIEV)8M@Mb0ooL1$EgXvj%!5k|Ka7%hh<^Z$^)jjDIq6&g8?u@@S^3w{h7|{8gQ5k_&sN1GlH?d6UW&B ze@Q2EP9a~?XhQad^<^kMx3a5FC^crv#TdvurBIw$4#j6L7ezv2Q17?XIQ#W4WT1zs zsGaHn1!9~Kh%GRKZ`7>-yu%i_$c^$xPfM5f@w+&-pwweA4WT>}x6bO9psx7ywUv7n zhE|w&82y+lgyB7(JwuQ)P<9*K^yVa{9ZagHSZ#{uWp$C^{?~xpT)?>>2DhO6@fmzI zEvFj%(Tys(ifF`#;>()-21(8+NEGT|1{xR&{`dpMs4nLumrDL{hq_;p=>UVt$)`wc zkJ3@j{;1syv=5H$qKbjVc9q6-DOXs!k29*r4<#0bVxFKi%^;miU@6;~LQ9vxpp%Vs z61*Js(k%g?Q?At48QT+t7Y_|$y=jE%-;wC-A84J5T-c7nhAxIb6FuYvON}wiC9#3Y z@Vjno5c^sNlZNQvNten#*oxW)V`8?Y>4fv6xQ1K^AnbyPeS>1q>cv%S|Wjy z3Yp*nghQ<~#_M*XF(p6HW#fETN}Ow=O`TmXX--{15YDGHqeA#72i(uPr*fbJ&{s1t zArv-2ANQQbYM}kfZBD??sgQMo!iEB(su%G;QRPu6tun9Ktt>99E1F*+d;Vzm5~9ja zRB9P&0Ro&MG$Hya(S-W7_F#`OYaI$Cx*Bq43;i+_?&jS(0R>8g5WUjJ%luKBDN%wQ z%@V2!2Z*uB6ytjX21ladwe9}kuVztks7Vq^B#WHo6xddV`XgZIXev~UxEDZ7CIZxoeivjyp%!_Kc`FQxd3y5*tO&Hl=(GIcsv_t(A>rZza*KZ)A z7?0Q~e-s)6!Nc}|#DbHxp)qK)N@6q)<|1oqcNISFhVH$^pXv4 z+YulS-p`~5CoxMXt)koWT;5iivpIw=5B89*qS%A$n$bjIuBabn@EqK778p-EY*F zSZAuVX>TgMMQ{kG8lB@F>vqIx8+X-xhb>@+M_Cc$S%o^88vaYM??4Aw!HuhtkZhZY zfoBTN?62`CQlfN*c$D8pJmO3=c!37_40`Us!)%=1`eP_B$QWW>LUgZ;>YiT?O|^zRMjPqHGj-chQ~pyxAUc^+Qek-XE)23&T61XRpyh@WDdUA zN0=IB)ked)9kZVFIy+^|_Ib4Cd(_EGe7pxRG1aGj=nAlY$g))(5_0FT2)&NGgzBqK z6(GhtM7L49~H)b$}ew-OLB~YVvc9B z<&{=`<4?cfM2v|5l27dZgdX+V3ODu-%0@N~Neq`7)ju&p8l|n_(X+4)Kbr%X zmBpm6MwMo`vr@^*Gv`+kEf{pO&!+^pOE!G3)~CW@Sz7%_pZ!|Qn%%Mx`9^|&b=Ot& z82>ruGi0ODrcez?I*#vR;+eYwzJ(+CGpQM*^KV$LF$xHsKUKGki=nx#OoHlrOgo(~wLKx@}CMC2d7S5<<$>92(G z7e!{uhJ8>t8b?Ui>w{C#2oKcr+sRrzD^N0XDhaLT_?9hgY+Av`rpdizd-kjOm8%mN zzeh-eTo4vu`=rg~xQ=>{B3TBzG;D{P*0e{C>rdXEGbX=LQk32CiP#{(%WN+&=`j^o zQII^e@L-ofn5n?^q%YdR-6Z%v2fVDW*;(`jq^5moKhkiXWH3L0{2*PR>9fFb(lbO# z7Gts{+rRq`ak-`>2D#HFFyX2doW08V2`9(*aNA5eDd(y8r_m9Ex0lhdNBWj+Xvt|F zi;pN|6>3@_W$EyPsIb$vuQ6FK243}e@oEf8Q#Ljz@TiYwzx6OLfDZ>$iL>qS>09ul z%Dm!_(bL{riXHIz>JgFrQ4Mt8=psBMNnq?2Pw_|o?2q51`+t<)x|Q*Chxp{{u_@${ zL%dCSFD&{21pQ~*In)aU9WJe3!o*))=TM(Ye*vhE9XEcqsL$PE|J`T!d+6Nnk#i2- z7k}5J24{(ekKOp~RPv4a+U|+rp1aYTqxOWkLwfG}4F+!Br_Y6;N4!saRE_wb+?zQj z0IDz-;`pMy^ZPQp(_(D=(=~?6$5SgGgL$*KH~^gI*1l zAKy57SwHa)hp^)&GlSEmZ-G;}b}H25l0oWxVZ*RaYZ<<6klS6GjK~u^zoF=Um$mRR zGp%%b@7f*ovM*Ic`=DVsY6%3My@l^-;l8DLX--?gtp@Vq>l*B~sL=pQi2TB0hL0rJ zxTPl6eDZ_OxJLDz)qUjiJuHxT)xB`GhgcvvcMs$ z(G&DyEiK}U+KD{Z{iHv8d;1V&(IAu>j`p~OtG{L~YAanTeVmQdm-f@2A+!bDYZg3L z8_2+>1~XOeY+dfik!%pw%U5=sbI)nm;LD`+>hIb&iJC#w*seCAhBye`%YIo$?LJ;Xpw4xkDpIVC{0Gj}iBwDp~zbvlb zSTU;=>w!1^`Xkr6YQ)kHNm+l+-MpW0&_l`$_y7V*DNsGXd+7x+&DWEylsX-(4-IP^ zZ!TkNuMA?i`gJV3x#q&xq%tLHWtUx46#T3#{B%WQn7n|wuNpfk>GQ&zwoPY z|Kd6#Z*S@WKL?8a0id&H^Pa2!)~GPhTf;{R6!zc}r!a+(?WaI;fohZz?hOkH&Tp{j zZppO9+1QPS+h?h}*3AW}1*>qQaG~X`;Z&6v_o=j=DIeXK5Nm3&8YWXBllWZ-g-@Ki z6WW}FdwQ}4JiM%}Re3pfWHuwF~RbE0w*&$0l&PuX6&|G?q<3Do@=+RkGKSv z=SBWn4ug=@U(xvFdHK=P`y&FL8mHo$8hZn-vi_ao#Q=-2jz^AeL8tiu3veBu>HMZ> zm{Bg|QtG8~Zc^rfxW$oMQTP02Q-R~rHCLo7Hc-Ab9r5@OqbPq%Z)VssOP@OOpzOh%Svu?7Zsvv zra=UmGYIwhk?vqIb1L%Ogv(|bg(f~;xl|1yb$2s&zNF!UX~tJSUJn})0;=wem*4gs zSH_f?xtr7^!kXlC-FWpVc*D@DyIQ5F0#IK`uFR}vl|ap-sYw#V#Es22nVLF806|>} zPyYe(VxaI4y?yx^qu%}|iUt%<>!5%qhyEc$+W`8HD7M_uNTrJ!Z$@4p?5yIJ81f>A zp^dhuAQUOz7=WFQXLcX~${V*soh6!W`N+WRm2~|G3qzBktOPszqatDU$F0b;3q|az zujC+)oFK>;yJKWu6HnpC&dI{Hsi6cs)f4)NURSm9 zzReS%Ykq{Ku?$P~l1uK&5J4H~P!q^>!uEs4|8dPHpXY&d*oi&Oe`fY73?z)y)U zl#~-0*;V75$%B+~)5}M66>ZomxMx%_Zf*X@U=Kd^d{i=*XSliBw-utrwme#B z8EpF`#l7tNEMC^?3AL^edsC@yKwk(PVxxCEv3UizUE8*v8!)r~q&`NH=d7KGmAQ-L zg}E_SktpDa$QpHeX0R47s(Qj{TAarmxyS2M*mA^2t@OF_Q^k(*bPb#z9p3&^mEqAh z=%G3Ld@_2(GKn+5xA5I_^(+wFE%U;webQvq<7)NG{P+FLLQE#2j(+ytekOx&xHDBc z649useAp^v{^=FY$Y#@Pl`FaP(@kcPt(pt|CvML_yOE|T%yl5pb#{K{_DJOQ$oqk@ z=#eM)IHTHA_0LzX(x!*ZqB@K3pC44NcY4tHGPX=VDBxtJD%)XIS7sQz$;|aZUY}N% zB4(yM!j!k3G^!o_L}J|a#mkTDDwFpv@p{G#(e3f+lPb|@-^BgkSLhnk-pB$e!@(De zkd5sJVYNJjvk$Qwaym!vX;meC_qdT)`J(f8z*3b`qmWLAn5}SbXhEsy)0@9DdW4>Q z%-K#}GkjyE{j*zWqkLgq`}QX_0nWUNPf}tI@#@A=+-QHesg6;(+GKHG#1UTJ!(X7q zEYoS8Rhx&*r^QiX_0Dc4fxQ%CUlg>~d5)LNen2nlka~GvRCnnejTcym;VZY)8fB@x z+GH-Nl-iuxGten)!F<~bgO~yB66vhxY3Uy zLRRwnjz{;Oy&%*rf1LgPDr)25hPdIom8A8%z1(N&QHYrQp~Pfk?V4{2YA!=zK$x+$WWzoe2>X|F4-^knMk#G(4q>7RFSTN%H%+k%jF=iv7F_hX}EjP zn7K617`k}ZfFd6(*co+{0JWu4tVrqMWojW~2*fzgzArlCLQK__yL}Y9+K-F9-DQSV z0k^Z5cjoB>N2Ujnm9Wsw^tI~t_dUf=Zptg)DG|6+!l&A@zx8 z8nV8ZA+f@(8G$^%#I^enN^UmZlxo z=A$w2scLhuk@-apM#?>C!VfTYTp$^1MxikFsY(UuMZfwBaLk5S5CkDi)tkOu@; zsF&=;t4zl0tEdY)SwR3i7^|C2vdXp75yEhuqnb5Lk4Jpw$VE|uLW^RsirLNjya`n8 zc51d4H6omvvU%8bVZ6s{^rk2D6rD>30OT3gBkcFH{nFd=AJUIl+ofh)ZsKEuSYkQZ8Axm$f`#x@A_&Mp!XFUSLW0| z3AK$CLeHsaU76Ea9Xc9CsRvaVmCH51<2dGF&G|gPJ$=qJlRBQU4fYGwFX4Lp&1;l# z{Ajlh#|ZiHuLSdQ8|czo-71x|&Q7j)Rs_y2eQMw_yY%Qs?()ys8Gq`zBB&gGJBH=P zOxVkjO&q+SY`ol}G-gf!t|7q9KPC2if?CbUV&I7)v=(fhBWZ$)t1WLILpRt56y_{_ z9wQ9eJABf-$>ip1g{mz;m2fHQEmM-$x<7>%iq>1XPa7Z}+1If_%*T{Vt{Q(qrLw|} zQfp66v%`aEN2_*k9Z1aESL)1ZoGX_VCSR>IRG@6CE9 zp!#=J^uf~v{%NB0w2|htvFWtQiD^^sX|u>_^EC|t#bXu?(?`1U%bcHDJ#(~E*SH;u z2nkF-@N(LIPs89#wwhJV;ORS~=rUiO^iPt{oV_(he>B}HbC5m)xgjjQO2hm0+qi(8 zYyzL+T2c}iWp6q1YjzJs4 z3Fj>k#wxMua#6)x`z}mKqAj)kDzu$%F3Xf>7@rvt(>zpO4NBGF3~b17>NuXc znQ4q;7H*~dKtK6$zS|P!dj5+jyB@m?*7ZtH7VR2z24LO`Rk);_^_9$J-amWQ`_!LB zjtVY{%Cn5}9IhPj^;8t6M0mac-Qg#ThNU5J+l9`l@^? zBV8{hm40hMeR+VW06|4k^9s3=VmS1gAvXu1iR>h3@e5g7Xe1N1E_5)JIx`VNy}4L@ zSf%RL{e}I7AZ~_S)>0@+v20Mm>v+Wy_rrorLGC83m16s|m+N3y=R@h5Kxz5K0+;H0 zRj3nbI5>hUF9>%AAf!L&xxPAnc0=pwfp57eW~f=9j`aR6~YQjLRvWSG3ujin#}Kpa8z0xDr;4T zs%7eQFd07Duq4?nn9e_m?7Zs04QbE0o_NYYs&QGNds%U0S!rfjdE}Okr^3?OvWnBq z{S`~Rw7`mb$@P!bI1Qf_Jw>`!ny02`u}!8 zZpQPZ{pqghno|k)BTw&>CEi6|S>J(nml5wP7U!-oIUOd~&T+2039P%ztb1s!dp3Hi zn5}#JtouZ*`=+h?oz;6nTMsbfep2njt$reK-KT=?WA?~t?0_+2KGkj^e|^J^05v5*jRD{k zRKK{<|4u&7vH7tIu{Yyg#ZEi*R~d8@w9&sE`#TTfa;u6N@f z?tgcBmTY%z)*Y1gp^0eprQ0fpAMu)! z4I6(x)=<{SqSJcuyvJphi2D@&R;%RC*(d<+z=VLkx}<>B#PIr5SqX}Wdu_5>H3ljT zShlqNP2JI?IIG~3PJc-md-5O%mFf=sSDm`31;Xa4Y;@QG@DFqDYyG-KA^uggQzztVDQaVb?fjn~9;)>+dS3G_ zO=*{5S2OES^h0Z!=0tX1IAlb6^n;e}|L1F{Y0-NwK6ACgcb^^;MEFkcN`+?on8Ju>b8n%Kv|XL0^$tALP*Q zvUxAQiEV~#NQJia&Y-;xK)CVy^K>A~$R}H5&+2$+yDs?YYRv6@uidaa@>gIW!Y9T0 zto~{hL>GLXA7u#L2#0cPlLl5^`@JL4IbR(VgK1dcMOk|k zqiX<0jtWv{^dn?Ulf>XP&=gERx?-E6x+4xd`Tf>`_U%-aY}Q=SS>V^ycA8EC^;bA! zQ0(V+Issmb+E?D>0SoL%nTyt95=%{hqEIPIrDfhy3)4BxuuOc02k%wJ@SHzd+95(h z;I75U(?oQJ`GSWKi%$EW>%k0u?&OjF(StFJgm-CFn|cYsF_t`FH=mYWFC}X^X63q@ zGw~^n=g^pCZ%#*Hwbu(xBTK9H7Ggr=ad&z57(`1uqkAEA4pe`1V9Ct~l5|pc6C>*fNN|wMHS? z8ucnUEjH&oppTvdmFn*=D_C#kpU#vPGx##Di&vkniaM11qsrBR|K@bY_H=WL`tos+ z753&!#v;d4|L##vFg0)eyTHKOtfS2@#}|94Y^FQdJTo-%>gkTckv3MNm)3Ii%+C01 z-_I{MNIY$B2S#~r?&w`tuWYT`n+s_n`nwCIi`}?5CWDQYKz@^Jk}!~Z&~cysJe`#qhY+CB1puJF zNj$m4GbUAnfAur2zU$#5s^q~Z)o=f3N$Rmu>eR}DsPD6V?$RnoT69cMQJn}Z4H}lu zT_6Uyr9dYegEUzJys}!Q<7EtSxCh5^H=RMEMwgVdnAZtf{Pb0g2;kU+FYn!~$YI%JFuEXL9|*!++o zrZM;tyQ|4%pmCL;WpMQ{`fKp)z9c=6E1O$wBV|ZXqK}|%^M;!w1h@$~Agt0)EGuy4 z4fVt!l%gYV|5>uDIcHWM8Pl>qO;qdHhx8(Qfkodz3%YBht4|#?o?*4kYoqPMPoec%S8o9ZxOUvhWGKkd%W>dV)dNqlcrgrW z$VzeTd_(QE^XR2xo^0^vmZE3D{?MsNDB5ivf)*L!c}zg8e1=?=#rzpX$7%_nq3DTd zl)IMsD9sln!`p{S76l={O0q#Z;5-uSd+qSA(IKi!iSivhjOt{esc06#ReKwKmjcH# z!GipVm)l-l+uSG8lg77`xOUuE7P;d{DS(|Xlne*UVJ1(a#MgZ}(IjC|swEL_$%qvK zfnpXFG|RjJdc6D&`IoVeBAy*!B8Q&wg!iB)XK_Z_;deRGlf9tq4hS!2Ou4LkVwA6x z`+3wp3kVCPN`o!{v;@c!x4K(8q8X(ldjW6niw{L_umavw?$)+r_c^0V%FupTOqL8)aVhbd4!VzUS~f-; z*G^VY&CvjHDHfy8G@~YqF)CWg68+S|b^bO6`o^=IlrBFreEQ-oo`N2pu2g$E1GE~6 z3Pm9&nlUH<=xdK)@oG1}V}ib;qnuG{q2a1EZ0ujrXWViu`whG0XoGTOD^+iPU7y6L z?1kpUm$Zy2KNRn6P;_-fx)k~aVlj^+hjC$9@r$7*N zYY%6i!NoKO{#gsZdn*D*&xfMp4v=%S^0Uv*VZibjMkwO9FN(=TE`LYQnR{}nvcDJP z8_{GJmt(UOv>IllV#%4^&+OmGMiH9=r=DJ@DMS5UG^a%22BEybLB%p_&~gkhwKiFwUOs(O+g`j|j_%#@fUDxp)_a2s1B2^GkL5&(b;2J}929L1wgIKj?`z z^rl}q*Hke+tXQ@`rPaFIo$4VtWI4ibu`OUt|-C*TTqz(u%pF{>*Vk`lB4j&EQTj(^hm#G{*M_+H8^U zx?mMv7%}b?WjTYB+pZ^)IlyF4h|_7<{?d_Gp>?o)uRoDqnsZ+A=u>#Q|K_vk<8RPZ z^QafGs5AaGB1=G4E4qpked>QO_a^R8KmOnEdoYVJD`Q_8`&x~XrKqv5F}4z_u|?Jq zNw#Jf`!*w?$W9VPB&js^HI1~$QbS~kqErew^ZEXM_x-zn_j1mCUFV$ZoIhc%Yu3j+ zUysLS%-wuUzK`)O|C3bwaHX(NlV5T#4DY zb`j%2%Ir?O>D+NTMKrTY84H22TGB+ z-OsgGlao94* z^JL3=$n9%>WN7Ho*{k^;ljwDP_yW)^d84C@>-ESRm_kX_;I-JiYj#zWcK5-iMQ%dS8rMfI4^tmd8js)>zMGV|nO%w&3jHB}U5k>J zE@EaP8ZeK2HY7Y<<5F)e(X(ZKQ-ZlI^dubo1hFMH`uNEc>)>d`r-mJ#MsVQjZsOA_ z`yi^;Lj}{P5`t!&*Nv?lh6KcJp-gz1v!t6 zu&z9TPK`aTj~@&EY+^y(EtMBq7Ngz1tB87dv_BZyBffGnP1%jDdU}#la8?!`w{_v$ zA}f*!pjuFWvWQg{$iMaPEd@XVPZW)GjNB6M(Mb^PGU#G@?^)YT5jMTzU$su>3gy_giv8x)N6<+;l4P{CgCSLk5}bT{|AGWARF zDY%~BEOS|25F{!09d_77|7xHhj&mM7nmt|9Y%>ZdCqIQ^D&^M)Ak15EOyPo?eZ~wjBA?qLl-y0s~KQ`*ccOW4H*wYmggE9f><1Z zKM!j^{>J=B6+E3`n)h?)jc~0(W66$~|LzJ-@r1)w(nyPj;QY3KAEWK7`;A(kVYGe1 zYs*l68e*&p+MCEXO=*(SL`7f+6(`Rm+`$OcVdXS!D~fvglNArkZSjYY>(@pYb44Hv^(u>Hh1(e>L9OT#cdo##rUU4F{unkp?LjUkMq$5F7O=a~}ZDj6fQDpfo5lzKAYbxqp86 z(7K;c=!3COltZ$wbYx>K*om^GP|qQx*e^_-*x-TPNW@5eia-6`eoz!p>MBw_Lg=t} ziomwGzTMMthUYeRCf!ubta*;|8afItQVE}S#;B}~?W0*?t6f{`F)vTzhg42ZklR&5 zIj1{76bAPFuX>Cu@Aa5B@@2@cY3WcyltO@zc(D=x3{1`2I424lllMx+!{gv4_J%2H z%kLQ1tjgapF|7D;j@$^wrd8obtn0Dzt>e#Qsm9e6v^wXrB7NRB=Y$OB(6aFUweabJ z(>Cp~RS|+Z0WTD}w~_6Ft9Xw1XdS@dOLWD|WV-m>n)=J#yR~C6_!4vbH}dxABU;|& z7#>FC{P)Ta-sRBK07(8W){=DdNO-@_E;Czvv_}Oyq2rMVQeuRkK1YGQgp7h4w=rUa zi4vB$5##p+5BKcplTZCb=P>Wj&H%Wz=Tc?M0H(6Vd0eake2!;cf$1HnG&~1OtjWTD zSeerv`EW5HkR@TD)_>+If#EWTEI5UekVYGr#fovx2f!NF8ZHpqN!6uDwQ0ewZ&)^& zxQd_NOKW+!X%IAtR2@JMkZgUY(B^`1XxWj~L3EC8%r=0|2ODT=z^B(pkI7%)Gkf?B zWrzpla4>E>&>6{&9H184K0lWzybh4?<}SE$;)B#7q<*A5h8FuS%QjF(DC<47<%^TC z{Wa0*HgqF$qQOnI%0+Sa9`t4X0$n^Fk4~_QjvH1nNvIzM-!Ux(Sq-Kyw z^KKi?8?=jvn7dfE#H_4gqsURgie`j%VeeNfp@iqy!JChjzf!~Zji@8**Q!gM&rJzjLnqE_g;te)RiF9_C$IveM1pkH9CNtCI@=eg*)~RsZwT^v_ebrkzrN zmjLWxqo1?>{FwjKa|gMD0X3c7qGWGnRBava-fFko+QDph?y9^1J{UH-N2+eb7;nEm zxBct`daxnnh<^Uv-Th|U6s4o$IVGJ7~b~O7_+tZOT%#zVCO6shs+=uK&2=5C~3MoxD_Q+aAo;NP4ZuoNb9a z<-K8iBCE)>IaPT7xvBAWuYRUt#j0|i$K%>b)}c8w`MfhwWmCrkB( zrfDH=YA&}zN_Hy^HcJgZ-Wij8abccO1!q?7c@(^(kYzSK^*d~Fw94+5%p)lLtbjDA z)nRbqWW{618Iw%}patB62A_dt85qS)v|P}C*xarSY-hAVh-WIgvx@A`J^9=3c&{RT z76g^P0O&rif!;JqF8PIW9jfNc^84PSuuh$Cxg2=J2Oaxu7E<)y_CBo1X#zHbj@*35 zlN!dD`E=;pNNupWO!UUOIX*#3KpY|V5?vdtW|Lx|D8#d0HhfL!zPw)U7)*?w#4zrn zHLsfuR!yuA==a%n2{4RlzLV9YvB%7>JPN;A2DLp6nce+lOAM#f+Zr*+6F4e>3;?iWW(4^ zR(L>z%*(Ly1QQL3u{;+Q^fo$rf#rs{F*|*d3{UL{6c8o=OI!Xrs1-?45 z3QN3zzHwc8_pzOcw7rIp&L{67>?`2A9>H0k7ef#*i4QN}pKhFq`TqLS**MdWO09H> zjqJ+jY@oCx<1R}jEpFMmuFwHmyB{LOkXA9O+y+>p$sjgVJmZ_*Vo}&Ih%D%n`4U>@ z_)~VQCSvxoi0XCU6a7y)gG{k+vNFAMtEi(`g0(LOC)Vf!9 zkslAF`W7VsAaaS)9iyK)bj;Bg9dwS;d7V(*LDO-%24u+x81AwQOCnx^J(DzinG}|E z#&}2neA(zN^r>%p3Wae;!*7>_vPW&+6}IXri&>~VN~)(JtW0sJHh@@DHut%Y52j=Z zF1}}Auobn^^!Dh1=ST7oV7exR0|u;qFIpBEE%!-%1rht6_O`r(yiU*V&)_Ao49>5Yv3^$Gu47+AD&dd&@d%3no_GtYnMSE-*gZ5rdJy_to%N+6h zDAhus%cX>7U3icnb(_Eomm1yo+p_X>b$=(gjhf+;VSZuqqX#;6)A+tU6<=nU@(p05 zMYz~0j6`CzCN5#LH{`FtK{b(O6npq@p!I?C;3lMt-W_T=h`v}ID zNpz*=WasWdgvljLB9r$Zpwee@M6gVNq$w|w02{E#!&vKf8!vF6J0g6-zd>ZwNZU2X zS_0z5>-9~rKzklKBr_>>4pAH zOoHf*qk}e;Nk`}T$xeiXxNv_t(RIsX=KzrYW_dZ(!Ov~_&l^kGYnt1BZ0|?_;0k?< z^bGsulWr(^%^{_;3ey@lKGLix3F2q{t%MPp$ASK`U1whVZp?-~+=}j9Ret#sF=-k5 zXrK3O*uWigjcUZB_y%K6r2NsJBxJ0Kk?=ajcVhd#vw6$MNKwF8zu%A<94LP-i@*bB zQHqcq&X0zC_Fc@G#FU)t!Cg#r_dZ%?3ecPN4;%Ey2Y<_bu@CILr3;BnqUh4K$_nIV z1I;vehcommo{GIIbLzaH?BwkJtPsOaOUUo`3(D?c2%PbR`ffW&y8Ol6ER|uLEOBO%nKJmI}S!ImkklFO| zaLq)QXnX$~*>51urB8!8`lqn^f2lkNZO}59-BfX@x!xK@_0dkp>I>KUdP#i@9H0xt z8_DG=X-8-^vEy&k?VIlRoeGlOB!ErcANrJ8$#V_A4WF75ovxaSm);OczphiB?bt0R zJ5eCd>{>_ot?-II#Pl63rlBqlgZsN4*M~@XW3L6$c>9S-I&xB3alX&@*(R}r=wN64-ofJpcL2s+8B6mst$b9LCl0jLlpYGlKCFXeV zOD~-((>Jn`jeD1)mLw7ef62#*tc55>nuB3I_iW@}rhQcgQkKe!=W`6%2jq z+{LG>v0wX0`D#*TuW`Bzt&fg`o;@=cJ%`6 zDp+)=!l3m=gH(=BM5OYadB#D1^|^KcA8=c&8_Z#=*d`%^!F`vW2gQBAUn;n;hxlevb65Es;2S;3y+*0=o%TO-4;9Dal^I%0TjWJ;Rocr;KX|3C8+s{v26<(Z z&MsONxtH}r;?X7RUpuues}W|n?8sr?Gv5nKUVeNwatV-%BP$U&-NfXVremyb?2~d`vAWdD{|l`tbyo z^n2`9+>iQWH~ZZdC7%01bnflOt|c7!nt{IZ`}vi)4dtq0FS{#S)4Oq-^4*_rbcLyG zF+XoEoZVf#_iS|F*flQ#q)muWjX$u>i?fyE?>r9&F4H|~pk5c!jN8OICyxm{A)ff$ zx_cEKN=Tv^Bk#FL$Bv~Gc|NPegJI44Q)&zlfrg^Z50SZWzkuvRwXA9YeezwVPel#t z2<+@4WOErUxeZGx)vvK2W{Y)-x*I8lKmJqta3`fBA*F&@14%E3tExgn#5!uo9WVTh z2ngecZWWCw*@>ji1V*PTE6r!Kb+<;vP&30=Z%V&}lln(2iLTN>BgcD)LF|ZW7s(Gt z%8arjAthcgKL6VTRG6w0>}+Jo`^F68B4ew%?r8N}UevC{n&fi<-M!)hN^KdA>)rhf zsS>J@wT-E>)7_}UkaKtq8nHH)hd+gAS`}GSII5_nK+IH0gSnfM5oVt{P4BEVClaB5 z#97(I0)sWNT54+s2LgKxr%~w#*~Uq1NJ7DWj}^0!SE3GdIMRzJjs!U{+?Bp&B>kr{ zirOnSRuu{)hxVKJj6-}I%)=>=tD(kOx=G60W>iG~%6gJl3ek(w<;&^J9`CqK7K)EV z*bb-sT1$*8wMetk-c4Ug_Lktc+Pwz#jCnJlqaW}u^Y)0AOjd97PVo6Hlak?9LC zDBdtLBHlE>EY6UgVpB^S*SIE^K*RHvxLcNM40f~VeSVTkZ1pQzFz*?@8cL!&0eV~u zo`c}uLrFWh*_AFU5U6FO6F4KNDhF5Z(xI1h`!s|&7;zvGt$&?c7N*Z78al3N0YF*N4Hk&b`e#DKhSU7n8R5Zjz#G$$E$24<=-TGVNtn?R#~TeJzsWqm0lfPF8+E|@Tq;3pYZgFXU&^n6^-oC@9LcRuxl zom`vmbUwvf40iKKnop-)b%DHRp|gjunYU5;xyZbP6?7y;ihlkj&7x3w8Wzd23EF(+ z@$}8w9I06h!nV%~Vjob4KT4sTNMzZB-b@PytO8HJ%|(o5Zw}sRmOFSPN$NmS%UsII z+SXc_QN-#=SkS#l1BjzAvTW^S!o_2r9NGOHDYPEgg=v@vM>*hh%GzO<-SpFJ+3=G+ ziwTacF4?PW*c|j+f!wWrlUoJJU7^>VcUt>cScBnhX2Jklalz^4Fe=whm3(5Ygi z_4?&(sVK(^A~TGI&II2oKJMB+b&8pg7M8A@x|RW5Pqcjw(>juN$KJI*$ndqxJFN`m zdq~}(ekK%~n1#8{#3v|^XVnKy3V65wNodL`uswfu=-%qF!bP17%#FL@FB8a#UoNDQ-EzX>}1Hum&*=IM7gPd_v=GJEYl@%%K+M5u!5KD{%&JNA*$H;$O> zf$ilxGne>mcAohWT$WUNTXE^-6VBVY`ZKp5rzSs7t4kcyHAvB=C<0Mj(ry2F?}uRl zw}nMscf85Du9VQV)88}C{&GW2otD`r{DIDK%je(sd-bg56MIE(I*phdHeQnIw`W8c zy?dG?I)`MAXBHfn?(-(Y^Rhe*3I_+O+$RvJywgcF<8)p6>QqfaWYV8{@;ifx`viO# z`-Jr=t8nTy`|q4=2A_^=ioYRd(!@h1BFlYka9gwUb`9vMoP9O*o&~IwN&O%b?Ac50 ziqxg;r>3DId2PczZWBddHbOo{aGlnPgM9pYp`Hhdv!u1*P5Q81pYhiKuw7l&0m%ElKeFoh_=8z+TP;tL#Zb?c*=XyJgh{{DKB*6G2#FC00z$K{AaQvw=^X@>33!R;; zOHFimKTn_F(|LN0C&N%epp{c@`}oh)x^e2-`hGu%>~+Q?}0Pv}nY zKJ(>MPk+OCqbdT+)HMQjfl@%hYZ)k|O3zLwS!jRM_XsKWtzl)G;YtF;lrBi6NS(>P zMVje4^t|m9`npSYC`Di>%y^^9H_7&R@QD-x*|T~Lyt^E`koqGDo{4dbiKhdLNq_ya zO070b(zYHMITK+XF#h(Qv_up?26Dc@40$1PF|md>f^8eS#3^`xzMAEEo5V2%sD60< zNQ&oNP%_lz{0EsYb~m0TwvuOUgXhl# zdsMDCdj>Cl%75S&l$sIzSzFTU!pi6O!OZ?;NrB|k$Nj&^eAS3U_`=S8vkm!iCgf*u z$gjAN&8(15)#rcT4cTfB*&Yemc^~rkOUUlu5CFXv{4*G|pTc{L!e>WO3pfuBp+K)t zZY5IqKfL00L(>tvPnMHK8mW_!E<9}xaORy|Gr z_o|-r|EsF!jsLFdd1H=`oWni@5H0^hDz`Nz`>x6FzjTLyK%Wb()}{B#DgWvYajTxO z2WhqHj9NvS{GwQ_8mi&nx!CKCOOWS8%&S(tqxi4_1ua{g*~MCunI` ze=k7?u%GSVYNXqrMgu)cBblq;!=`?1{v(w;R<$VvPQ8B`bn}NVhXzwp5#Dph#Iz5` zz?cZgp(!jGtMSI~W2P<- z_e4tn=f9+Ks&fnzk@Is*3#I>$G}6UO$7}0amY44|^zN#Cu4{hd|GB>PQ|;%wPriuQ z-eW=3R~ovl7R(#_-$>AS02RRWK6|8=$Txc8bFCn-P3B7FB0jG^Jcv*-tW8TMObIn3opP)2j z(lMU(rs%PjJ$Bl901>5cB&l+*dH=9AU)zRpz*v?^x7YrN4IX>W)A1rZ&40Q>h#z~v z23IgkiMOsat*v(-BrQRm<1TN1ldsQQ-TY{#qww}vxnY*%=KowH9iIQ;!1zH5)hj`& zTYT3@x9JUYjjjWdg&QkA`Fz}0+>1Y%v#r!BTn+(O*AzRnGM~^g7>A}^q)zR&t*i6F z=~Qiv97Ia8$^H&we7><%(tn9-63)2Nl}+#Nt%&~e@%XQiPIS;KifKDx#yEUD*N1&K zVA6OB(b-z~SOEm|TY!NUsL1kDtTD9IL~T=rslK9_+QrKfOfEMEsI)zSQ~dB45K_AI zi0H2G7E-_6O%auJE$+h61|dUzNocp$k#OJVQ9YOtmimfg7!d zReO2G>EX|%-`+=rM`EN#*07TDmV&ePz@>sMx$q2V{6glsI=7_0M!!`3Y;T368ru*u zIhwUE?Sev0cq*JwDuN!gydt3 z7iUZb{c<+fD))5QSWcjFEHiWEO2TUW!nN>>ls5wWcSdi*M?l7vCOJ2iFeMekRQm=- zQ>6sI;*&2V2Ia{Gx%diY%jVA9A;s?sIpc4msg-tRBwiZ+O$u5&JSb41?2H=O`LFrCKokyviY$)yrDny=j~HaX0e$ zoio4wW3~si=2`+<8tz1?aWYf}JC|_u$;CeH-l%cf>Q($k<((I=+9aMYTT^&8Ag}V6 z;|=1Yp;M~TK5o6}x^F6Vdhp~`Z#Bly?uiJit`(+vNFnxx@OjY1Q+tzLQpOhVxVMUkafz0NPS=#Spvm8~?WzazBrCHcupN0n*s(Anbdw>r3SQ~8h$lXOyNBDi-TDt7F> z>I1D#U97Up-Nu|!ZLu!@iM=WEEo!q4^cHTIB_KZsyxjSd%rotJWH6MR`eX!@G-oBr z_iYAyEG=C6G{tmqeef(ktKLe}uB%zSnX<-?=-Ajl1F*aa=XoD2I62M~ZyikhvpGcG zSI7$~KTONjll4M1-FQ3vNgM6GD^5vjGR(rh3oaOczBzcicrqVhK`Iw_?`>+^c(OqA ztJsqy#sUbV=vH{t8TyE-A?oI$Y5w}?&$MP+)p|c0cZo3%>=f{{19?-zYK;DAqx|D~ zN5gL|Rr%dEz z7FCkFsl4P)NpY$6>gW3f7R#(rF%O8(1qT) z;_JxB=9S91nA8iUz{9(Zg_Btifo$Dx5f8W050DHi96gfMH{)v`#Qqr4EKjGudLlPv zl90qPq*PmY?qL(_71prX7y3PA#v&8nUv5NSerqS($a?tP+ScoAN<7agI`n`N2qd)e zG1p^ZHKXs_;TLTtNzsOV#92HeaNFco$|Mx{2?Wwij0AtL{Zr_%V>dy2}$W6^qBhk3x~ z$nZHnU;+phqku?vKAOJA<;)7y zGKT*<20c}ZT%e$%S*S$@>}DQKVbM_UBB}-8FT|kE%^44mfu&edlLrs4V$fN5UK{}3 zW}`R_K`(V8WJ5(4sk)p}nmrzq-+&ECJZr!1If*%@m4|J+ie%!WUQlS}_DRbP=wx;* zx7M>jMJH1Q_Sg93veA2-0<^+W#Y7l`aN*twR3Bh_kbU8qx$`s&eUJ!>B*E(=0&REu zg(}T3=r!yFIf)dCoMa(J2&h30qK|+&V-^fh(Xn`pOAF@D8lwAq9DuoG+;L3QJYK2a z{{;rUNrFBhB;RR463u<$!%zba@MoOpj(m7I1w_W6`%n76Cm;Fyi$`<~IuD?2-_WyR zVYM6l{j%`3(m*CwyE0M$XP*QRlF*s~hq34e0C)`mod8myHEA0_y;w^Mtx3;lK??N* zyvucr3yY~HfS>!GJwVshdV}04<;78;JgpgTYlM28bTu)D`PPs4Yhk}Q@$;;EdWN1# zCSY6HY1^F3Kq=~Ofsm9Q<{kiCq@o*ZlD-qNSCY|tQ?he}Ber)xc?0CLS1>%62o|qY z{MU$dGa`u0Mmx`EqHhb@_iK4IBR`THUiv1td4YH|QMYPD@@g=RrL-M(>M&x7^k8D)t^=rCiwAKdnA{$k)7TWX{-N?RXou7TqDKHZZ^Z`f}2H#%u zBRhR)gLg55x~CHOarZC!N|p(9^1@D73hLl-F1@fBU+hu?Ci9Wt6AEUNe4=3uUa^My zxAqeob0bGFs22jvGq}GHL6kLJC3Dnm0zYz>%oAbewWwX_F>3G;h!h2dT~c| zFz0kH>d8j&hQfcdQA;}L@1^j6nokYrT9@;`{Vvj53}=Y8yXW|Np=gF9igO)&k^vut zg{&nN@5P>YBZlo;vznr#mbI~;@R&!XM}jSI2lFxRPElJzsO|*ah3kUC3&t~4#+pm~ z^n!rBPw0Se>FY-U_qFL)DBKOIdxy89V`7Vt9eiJ$2(O+FJa{UYoC!Lm{7q9?FGUz$ z!XOgvD3x*eD{YTIDbJo_%&kvyUAw;!gyyr&A%=QfWMtXtb&BFes>$*|TqBK9cP z?NMIzqk_UmHy-CEwmiD`?N0G$HSrq_+UC@<=(d`|wrk}iQj>u{AFWnEP3QGPS=qG4 z0HyT?ejX72`JpO}vfB^Ul>!Nv9~2yiBS0lO&au-w+>}Zp9etB=Weu&*3zbXV1g&9D zUVj$*MC9l7K+W!w%6&(hCbtwGG6Z@F;>~XDpPB6|lLtN*Vp_J^!;CDE=FdU}A*a%x zRlfvz0O(#~I|ch}`?HKzp{V9bmi~Q%d*M&rDp^PGtF;Ss;4<2T+&jdIIwYQSNKJLf zZ2yN;jz{R8lDn!-VW&onQPb?@XxDXD`C^S#UIQE0C@-?b zaLk9s?n-8Ld!mU+>VsHRQMYsXQ|WbtoJ!A|0E~S`4}~jtt5Y_^Jw2=63*PAV&cKPr z;9W?Vb1}UXIq%>Yd`<%lU?J2$;WnG-p@H}=(v$Ab0u!8`&nWO%%6d>4sMJSc-5yrD zG&MLPFmzvk$X%b_95d8fG}N{&X7Oa`L{5FXhLV%iu*1ut?iHE;HgyaDyuhXZF?H<|Ln1skv97G)Nzyl^x(A$X~6h#nl#sA{||Dwfh=vQpL|I9 zIC%5FUJ6Pc2z;5ucXD0&U*)QlL#{lm0S6`9)V)bO0!070p@M?}@1NM8eC?d)YPxkk zqiJcZ#xW$3Hu~nSO`MPssDbWZZO1cz`(LT!e&b_3`vTHuy-VY-sGl8qa@oQv{gls? zB1PA5sT}{g5=D&aIb4ru+Z{8Yf(K!k<pghz zI*6)Rh|qFZ1`a5Z&4y?0 zn#(!Mf@EMEkTintYZlAR)jZ_Hwcvl_SIG!{$?$RQRb43Zy?sjB=FPkF%;NB$OA94b zZoILSF5FIF(j)Rro9PxvoY6`ZSGsxFFHUb!h7T3dv`O#mXuRVz@F*6m)m-d@0&bjUb;2t>q4=Ii74?zHA+5P1q$ zz6}xjY|alIc)PONslD)I@ALma4kn^O{~(9@jh8k$tN-^e1zVp^Al|R)B`L>^Gmp;1 zoH}TrcenLL8Xx%ET=cG|khIos3|1Pi)N}AtrCqp*iK==}_FT%%Gf`Ek?qSS+?+4WJ z#d~Mf37W}g3ZQb|s{4s*GFX74A|?6* z+Lc{H$@mdq4u4Ezr7{wd{9Z{)9m#J5!-cS+g*WE^`T_hZ(iF;_~iX-+hw2&my< zGC7Nl+F~!`*Qp+AKm*l$A0mm;3ynWXPJn&Y#j;56vb_m}1nKQ&%XY?1ADEUwQm zUGEinI%9Zp;#*$paMiv`|Jh^zo}Sl>BkTQj>C#sEetCiX>EMsIo#+3&5cR|jY1gT0 z{jtHS9<5C2YrS4Cs$0&mN;N;E$%Ar^;>!~pkk@+zwyPNCNKI0FO^AeDK?K0MgewEa zh*VJAUx#S;J0(+_C2Y3hH~e?wnj$6f8Vr7>Xzx3Sv1}{y{0Kd%8j~X5`$#3t|6KMW zf?ul`23&@F^Bx#o;1n-flt_Kd{xJoUQn*nTQIrr0_V={>)A(GpK(J6H;~9KG*|lr^T$^nbWrnF10=U_z%Es+Q*(oQoD|I#omq(a!UX zxXMF`c+EsOgIyEH-9YefxLBFWCB#j=!pqdd4n)(PDkbQ=n2So~G85PbGUp_BV1}X- zhxd;Zo7CHyBHHO{f`_8U$o!9Z%|#w#^#Ss|lk;p1-5kEQ-MXvzM(33MMtIDC%<~7w zLLnpzYr#Z0g=V-RB-D#%JPTojd-yto7a&iiN1l)sQ>RgY zQ=cp{^w2cQieNS5xqLpW{`o?KXQ_7utmB=u2@MgH@<4U-L7IN+ zz}_}LdHT>tjcd$2dsG?jMZpb`u5ou2nc-`@CU1|{48!OBbo;9 z@~YeTeTpzgfvZ0$3~V1li^~rq?pB*w;Uj2sZr44A+dPczsz4Ahk(U6fH<%URIk?zS z{$e&ooztD=*6VhRFGyIvVdKe&L$IM#w1|O)b26*O-((7;K(+BsL3?$zln6)fdk9O z=lsX8;%yL7eFwF)^isEJZSjj1WHlk{{Mu@PT~)IL1D-LjImtOo`QT%9%`-WEKQuHz>|;_GFGMce)H(3fsKwPd-?+ic-%d@tD)LoO>V$&oV_~_T zj9Y_qj_*EczhL^NR^C)hiGH$=`CL6HWnF9}WuKGAh;T@tmw3v;e5Y4$_UKj9MZzx} zufwrc8Lj*u4cP|Gd4|ywZ+}Sb5Y5_rO0-@7wEN7kA&PhqzgyAGUmjaKUqPjrk#(K` z`f?#4;s*nQ=m>CI%{GG?Z)AM}h-2Mqh5x4uH-bT2y}~ zYD5*i!mXFcvrx+nbSxFV1t8h%`1e9_vI@cd47k~~19L=_j9r#%N?n z=sBjT^$RK;lVa4=5bMbh*kYhV@%(?NbRXyyT^O2t2`U9RyS_rIbtj%k5e!l?StMg` zhsQ*O65q>Ty4aC8U&{T72`KNri3=7*FA`9T7&J62iJcGn(~x9ZgZAo2PEr$&z^JpI zVEZZH>INkDOVBwsdV=lAGoCElAq}A=qGipziDEizfp)6zP9GNZ7UyMw+2jL$5-?*F z0f0NJ0JskcRY4MXiRa&Bp-UQKb;!sSBE4oU$r6UTu!vN6h1v!nQl(B@*kS;Hf*9N~ zv!mXk*E%b}X-1}FTqLOhO^1nQ0KktE&aEU&XDOOVf&HWkJR!id3IrzeK}H4Wi)6Z& z7>a{2%D5COTZ!Bu@T!qrDs$nN0FVJ2U22igs1tbr3zpD?*1Q$j0g$u;f%8gOoVoCy z9Hi2&5@v;r0@x{BFtm+7o>PDhW}&W)qklC(e^Uh}AMz}gqPFn-56Rr?O@tio%1PC% zsRo)TsfC1YRV0XprxWO_N9Gb(<5ga{1 z)5W}n;9d}Yz%*X9^98y@er`Ma%D}}?Su@B$42>Vic!!!{Bip%0F2T3rCHCR#M58qBfKS4w%*)}T@aw5Lmgw=QP$F|GJKKw=>NLwdsN z4af6(5hF^z>#exXCNzvDz*U>I65tsGcrpQbmwmnDGP3UXnGfFu?l2It^n~}WFH}kQru_?kD(KfhiM)eL}iK9k@)NI(kGKp{yp%C4)|ky5jWfB zRE2pT%KxlDSobPAnI$lka?(rlI)5nlX)o}LjC{k$l^dig_?Nd|LM>3P0Sz_ZRwFsKM9Tlc&Zq5S?`<#f5Anf zX#&|Qs2A~2@rHBwb)GV-KF(R5#%#XP0zMFo=7RF{$6cmiKb;UsNhW3Jp_yyBUIplA zV(q6(wGI)n4oL=IH*b7W2+mW*tg_J*3g`gE*42snbQybjZjbaRT4Odvy0O$o^D5N7 z-qWxl3=Vv6fL>b^*dd}bDDdKe>RS?7Yqe%_>?}H8+UzHRNWg!Gs(U^6p6W~mB?$oVoX2qj6h}qR0a@EOhAq75>OM=CZ%*t?FL-eQlw@Lb3GN!B*2#l=vo$Ri3Mw< z6bnnnjT>8Y5t%>8lDp$EuF?hDNEkxf@Z@RW3gLyz+o(pb;N>| zQ0qhUIZAdI1iAmR=gt~phXt2!yMl)q&*s6eQb5!RRFkE(8olNnF1@typ*<$V~mbQV*(tagh$#{H+DvB;}sr9@_ox%rKllk_O;j8nPeEM2Jy7ylP zXjX{DuLi_jaA{k2LuFC<5{S;Ci@L8SpNTe=ztxG8Z*y5Zj0rYJDW51puCSEklLd#X zA+(1)jW(m+ZBlgyW$I$_QxR^>9m?(pRBhtEY<1cTbxlIS?@waJCvEoGbV>4FdHzRW zFN;SR54*V3W!H6urvlmf7HwOHoJsHAC*R2zisXjPNg6$_PkP*^dd_V3DDt9D@b{h= zL-vwyXd5PZOYQ%+u(`hdF{PTOC`>Noi^ABa9sjA%n{jQ{uPx zM(w%_Ua3UvaETOv?ql0)(dZdP{RQz2O7^I|-T#2A&Cbfyi!^7$(gJstky^pmd;&{yVm)cXT5 zcB*}QMzbfb4jm{P_^OZpTgG2N;$I`7I#bcoqo~CUtn)ccZo!~MS(+GAYUhchcoC-9 zSwbT8q(X;HEe`#2MPz}}D-3_l6+oYdx4 z-5HaH5(K^(f$eC)J$t80bKC-?u~S5cMgzgO$m#2y`4iIneRtW@Co7Prrv=B5@1K>w zz>dE8R8RPf+-ErX9-Lsbi2N{~Bkku$0ZsCnXy?p@gM!zm$dR-P)jfi2^a z{UlZPL7{Pkk9k{;S?@oB>t$UPp82FAixLZZquMngyo>GE2hZ*qg`Tm()U1Z6^B%4=&Uas5!YOR3J)gF|Fyt63*S=N`CMp^9;VI-GneqA=i1je z02?~#0v!W@uMFf@61HjI>LnWK%~5RM06LomAvZVu^1&>VK7ZYdX{2In6~`9a#ogu* zs$SsnFDoZ|kdUp(pihsFsbScZn2h&dZ+Vy(@53~K1>XQ@j~_xDN|D~<<0DSGrttNk z&@b?HNbY-K=htC%`@WHAC~EPv)Qq?Yv*Tun>_?3~%F!gWRyM{9BV%|;SSs@SxyJ8S zqo|)3F+bR6_|_4fq#~ma%FATa(Yr!xKQ145{n73$o`A+tFS%|P|2X-wwf()2o^>Mm z%1^(NpZ?E&27dS%y!&&nOv;t>NDAUtSNZ+&z383-n2(eSU@rkXofW7e6Bk+&+cX#78^Z7L4f z-EqQAM;Y^@PbIoXl#Z|S_ga6bvN$P@`Ru5`l-*NeeQof#7 z22lS&DQgw`RcojZ{+&{uzFK$m6c65p{2{^PD_rJZlu}w2M84Lvdfd7s4mtJNk^?=8 zx&_}>dnGaZ;vb*c&77v8r-0`-Cwdg;1`XvVaOikj%j#sSp(EB}>C@ff@+bj!MUqoT zLy7*QfNPH*eP3W#giIYzUAO4R=C4#bGq#9se7r|?Bb1*$`Tcz{BtUf0<;zz(M^wVj z?pgcJ){pu-W`0G^S|5yU`n?$XbH{(~i9={FauOm!JyXveKgA`9XnWX9l2pXv zjMwf%a z7*%PgUuzYBxiNiI$~))zhno>8)WEn!b$mhvk$*Y9z{;EfYPh# z>w2>$N%}hRcL9HK*#BQCEvS$Ee8cj#k*_97ZvxP{4dcfp10h|lI1Ryvp$aODem;$SFs zZ~NPDy2z1&g}L|J8`eF%x<5wZ>~nvPU$Vmt8qv@TKi=nu{4@n0*82AE zZgVN+?#|}Iz1_dtzrJ#PW{6S%TA&q7Nud7t4*3m#i3H0LD9a zkodzF#Q0=*^f=%TZ!>9lW7#H2kF5<16O7=K5_c;5qlA?c&mwVmN9O!{cp!ia`l7ai z8+sRDqX0TtVM4`RC!&=hT}_b1PnjVTRJ0W;8N7fl#Gz$0)2E1$c5*8LQO$tI*Raxv zd_=W=`;I)aCfSrv{_R~-8cml6FxKdY`0^n2$}PHu|J+Ui;UFGM zF*)807!X;>R0`oEDhY|V96`;2c{+FjCHr3E_Z>=SO?Z^MM9gU$_V_+((#$LfZ6rg! zHa+QOBn6{tPbnl&=kP`?Y@|0`KE737rhT*HFh!wKn$ti&Fq&@|ObET%Hjqj9#F7w+>TQ(JM4l9o^G>DifdJ(0=%b5 z7E%XWM^mIU4=a^Yc?m=iK?A2?%VH5Fh*uH&8ZO&O^=n3mWykH~%LV=q_TKxe>3Ch+ z{E~zaLOQ*N-jNOggiw?!QdAI8>7W#8QUo!fcS4bBp-C43K`Dx%H-&%=5tJ?}Dj-cz znc!~kyZ4-TotZW7oHMibUyvV?mGwNI=en<3As-8UW0|>((>zOD(%)@BMhAZd!JvTO<{F8ind96%}&X2qaYsL@M ze>#dX!Myt7SCc>n1S}?A#kev60@(?NFkK8r+9$K8jbX5g(a#$55iFXx-@&dppdhLjDNT86Au1qYsK-0hGEz7PLGg>obFH>X zvOh&3B=cg3ZJ6|@b8&pPkC}M5<#i?0y~0oXxtn6Nq%b|*e%ILtINbZ+j;S;?fTpO# z92oE>&b5+^sMZ&?&yEarY4RKVN~AiT&#A;mWwp4RxXU8p>YW>Q7vg8+PV0S*f^;xR zF=>lS&n8810zMF=f1(%W$4Jj3P?fjTxm_iV)!|MqyL*rGYNn$x9Kt+0jtR3-PT2|D z_-ITLJXkU+7GKIIC~lVdr0htv_5}VOgqrE!N7h7vxLJ`)hC0O9S2O(_Y73L-E@ zY!jkCCyE7(y(ywRuKTzw4Q1cR+RToCBgx_z*NLaql>%s_KzMd1!c#jVV5+uTid9T+ zr1-r!h+1It6?Xfg%dt`=3%s81V6IHSvAeWZnT(@wR)(YRor88zS(PHdWa0gQRS|(W zohBlW53BxLaXvFB*WGK*PItL-Wxf!DY)Y80UC&NBZfsPTDVeH5W%l0C(jGKb9Q$(d z%--b0$b$zDpMCKS-+McQ3TbF)okxZ#pRGkXL))FG!MqEk8Nc8_NVspnh55k~+Un}g zl}I1aGf5xEpt-L%TWCKuWghsxLM`qVlS^f|gGhFs8!IZJVB#2q+wBFS2$*k#h=0|c zbdwRp@NwPsdDcG2s9zo*Et-dyyJL9=aB2NqJrF@r3;USLURNw`$|)6$NBsSs{6k{#OogV!h zqckCJx;yT9M1`^Muar0MGuTh6zE60o{GRQ_S<>qw%|(MWp&u!H4QwCd_C^Ag_AV~+ z1GGH!OH~lrJnOf%i25n%y4AgSN_2gpHUgGe|EkU<354z>&N7Z)NeGQj?mZ4uS$&!I zsiIbJON?)ys5jow!})~Q*~olRw|fPX+4tkg`M93cm%rU)!M`p1p}@J|)IE>)-oG$c z_SH!cI}$XM1j{4ATS$lr5^9HJC~^tosp@dbcQG@PLyXLthda@H@kutC?so6zoS7MhjF^h_j0HUo}%(X=!5-h{g&(RsLa`k)fF@>EN{s5M~`fz?6>THPb zmA+H&jN%0JA~yU{9~@DokSJ2Xl?+>qwi}#Rg&v~COINiPLdzh4qSLC4RSo}EpRSaTe- z#bhn&f1o0@Jd>Ho@huYPxK&_c6sBY==2|LqF#x>C!$#B4yA_yR`a{(!g6Vmxv5*~P z%xH%T`<9k2wZ^Hec;tR}qTngRyPnAo>-xX^P#4@WGe8<&L-LCRTjfwz3nEskh2zmO z4syhdLll0%u+6Z{&`_KoQ!$D0?Z%kbu871?Fs`$i%WgmL^J$RV_|XT04O+ zi}ooyVZ!b$osVq;0G32dE=LB^5Z6&3VxpKOpOGoo$+9AuA>l+^1@zCnL|Md#8JS>l z-07TS$h%xA*bE9N1CU}+e5-)!t7LV)z?w;9)jef2i!quancq;)foEvFW{cSgKy_iA zjg4_MDi?7zA#WACJ7c=Rj;pdX_7hJl_QDKVFns8%x@HMqIReT2nbY+ z%=3VP$cMz5GDxjCfMqVDKWeck;NAs|!hDQHt{&Z3IYZK1#uvIuVRjWxn{HsUVj~}i z;od3aYm6aj^;hvr-uGGE%vH2JJ+UKU%4_w=>HVHmfKYfN_^^eB26)z{U@!;NfPRpO zouydKSl*JDy~Xcu_3ad9_eViYX*#!6IHSM9qWg`d!AK_2>%79u+ZgnAA8uzoipl;^ z;7Qb0K6aE)Tw-NjJRx*E?6&$mvc)8dN1C6rO;T&CSgfr?cCti%w?u)bR7tZ`#lBSS zN~uOcDFlLgmT+5hx0Gm)eHL2i&RxcC5H$cn+lv;hESJiyX=z?4tLlQ9Q_H|k8WLAn zr={+c&Jkz*5KpNG?Hw+oIOg@rvv_S!d-$BGmvuZ&gVgT$H=9oZB z<*1&=h zil>(y{Tu8BV%&31;Ba*mmZhTW{0!HgTuk(~W#`JPB{iZwG;yz`IXtWHjubP~UtkZo zBHA&uKbl|98=t|lvT8cs#=abny(Lr^M@A{-W7>nmIfTrjn1E5hFxiN6TA^&`BIm27 zi^6&A+$WAPYbkulxh3zfT%drm;%Qh1DK1mbYp&(;yp@?^YZN`xC?4J@S=cDu-Y6?0 z2c2yEGG4C6e1ElssI+f(|7#cGNokRWmV7r2)#q4ocu#)56{)S&^mZJ^s#mMblA)g5 zbXOk&5WxTjYHfCv;GfCO(p(PG=P#wJ=$Ka~n#7z=ntX(<0@V(MQWeseO-IE1YivkU zTKn}o*v{bL)(1IJ0Us2u;TX_@&6abUjaQPTyJ%Ew2a@G$Cm+2JxJQ$bH`016&s+Vf@bP5( z4Od5JpXnpL8G_|6OX|o8MKU4=%ghQvq$kZq{r?a)6S-tHaqs;~RyW2U&6!|IC zi9#$}GM0{z0+@V}hCAFpxvh!Up?ctM03G?3b<7wyRn#RD!NnI*&F+BJkj07L!0i=w zn_|%t)WeuHZ4M_yaGpN@{5@7hRNQ@JABCE289pnGi+21m`VLRn=_YxgXqH!B;$DKaR&##CAS3XC0Hq)Yo8>>rvn}#6>CW3Xzll$8drW zbE`MzGL_z$i5WLzkNr_FlEM~TiQ9DKccx-j@f1cyRLLW@x<}8Holw|M$YrfCou;Q? zEA$sLjNNiXRqe>OP;uVW)9C0!KWay}$NCScV7l{gnbI`)V;W+bhWbUr@Q>m6)wi_9 zZU-o{`;772)BzjOc%MlYZ;lE3=sKy5i(eg=yg4rYc$`;bSoWEe^Uv{ZEau-?vHwk3 zF?Z_P+qPhMYAz z{$#~CWNr%fiFC`ch*Gtadm5mt@6i1HImS{aaSd@cl=F18^&- z{GIF<6{|`5i#tL#v^n~P5^vOhQt^)T(x86YKm0)bn9PfZ@1;UYtzW!_SkRO~K3Oeu zF@^kS!j$32CILLHN`W8tL=m;$2HCVO9#D0Z&&6Ds@`N zEVO1FBQY9~O%aT4>mhm*igOm2G~Xf8#ISCg@c`01F=12B${S7Op=*UmKsK`Rb}qlcs(rEot~pTq42#&%muS z5$!W0RE9LfMU2Pp9{$-Wi7s40y#ux8TtOFuMhC;!m~1_=RCxuPFW)7+5W+^CVDkXgp_Bf(;bDob1 zzEzkrhGbu+Mt$*QV#g9P4IeKjO)7po`Xe3; z2IY&l>(?6_@65$<5{gXbzO#P2BYF{*C~Qb!7>v%I%MZ4$pl7}?$KSCqTkMLc9Rv0| zjPn_8ISwu=X#@;}P8Z{6^A-$&3iC|QSgGqGizaNll*k?r%&F5*4F(d^5k;dLXV(@x zN5;^RF{ON^g}1aXHy&PANsW{fJBS)cP=w0_KhVVO=JX7sHI%Xh$Do>M;THyjxJu(= z)z-N~FUmDHt1MHiPgIz`thV2*wtFW1u|V9qYZH_4&8w2>;aIxQ#EBY)WOu#nuot&C zn^b+KIcI?7)JnPNnya6M=3A88?zg1~%DlAI@U*ogSF+zl-j{Gb)YW>e*+$PbqGpiN zFnpDL9PiTt@N;TmZB!eCBTPo9p3MlL9Z$} zo3mIOxd&{C-P~eZ)yv)RpMvm4Tks#*NEo&nxZcL z?7~MlAM;jq+h8QUI*-lS-L)lyn@P`}iz;ga^>c;9Yxa$yMFR8p#oLS%@??a~R5air zUx@LBpGfn+(iWfiqFw}Yjx#+^3T^1T3dc*EOU{^pIKO;>>b%pYOs85rvPe|cDCt87 zdF~uai5t=BQ%nntC>VEcWzj@1p$>!ba8PTE>q5KsuQl5v?nhOxpm#`v4lcY;{rWVr zXH#5KTuRTg!*t+C5-vnyc+i3o5_A{mr?JjDfQ^;^X`0_5x5ptid$jHch)RA$#IKQ< z9#-AWu*X*s|D>@niUg2&d_*~e_4q8>6aif1ayLPUf6a_Tt|Bz1~f6hSTd=qmP!R>$wvWjt!zdfwoZ{yXm)7DbPKbGlhTN+~GkV{mXftVtxvRf2v!mSrY6g<$_gzEN zpl;C2m!U&1?NU3ZB8+rx-!1nT0{JOg0Xe4xh=y7^=0&m&gLhf}}7O&qMqozAw z)1Un0EJ3>>-ib%wx^}nLDK&IJ{_}2y%q-sQ8TcwgsC0>quPGGBW5Rt2Azhsdm7CR~ z2OsFzO6@q}w#XT-P?<9?$atWnES7B22!xuj?|whLu^Svtlf^PdQ0rN z300@n@bk-3{21t}BVv+?^R9Z_4nx3|SvT(%p*PAVLE9W;j(FI(N^E?5gy)s;iFguM z0{z2c>=NQa6B6~PA2@P!uad?6X~FU{?lvmbLi-|F5{6HoOc#Pf|FbX2Sj?DZ1%Fij9St?&N*J z^o_jUZ-ig4ro&ja3L`Y3SmMvIQofMs>aDKUyAyC(C{_-*F^h_XiC4}<3H{J>wDF2i zG}em%90$e0s;?6xQkY-Bq*HI`!=puWJe?D%ZlP>)b%)*0Ue+gwo6_%(N`r|SOO-AG z$!_B=HU=Lh#w2c&y0|2erytB`nyV#pXILDSTFgFi>cS#DQc<;-<8W}Sbc~Z)%5%-R zu$1pvUbR%<{ovzLA^lkS;YQG_3m(TF74ctjtlTOmLIAd+BM<&q9B!!5a}W#V zHDB9S9(?}#zt!UK&&NuYC?meVM=C~tL}RQD%9je`=8tLEg*<*vIQPN38-DT!CU_*# zyLa==f3|$d>7DG?U=7N>s~Gict*=|kfS*V!@t3Si*t4l@!x8#BWqm7g4FE=8-R_s` zM$iyFqe_&A=jd&fmWC*$2e!YMzcCZW_ufn+R5bNw5XZOIhC=wSeD{5r6{cQckbYTu z{LH=@VbSy3ukD%mL%(;v)64jP!K_P{32&nB>b#g@)1|33KY7xmz8?O(<<~!smBv&M z&+4DaT=mWqM$lcpY2~wYH1h+t-#LU58B`i7w_u}7q(#pT776z66cZPWGoWgTV5X|u zMM+%wJ{uyCvpaK7cIf|_V&a$0*%CMOJt=&k85CcG$n8ubCp*qC3A1(t2AMOyHp?J6 z0+4aQlE2(7N@yUj7hCD zlrSAjvfn5Hy*x+Ez0mJ_qm=i~)2B)yV#j-%Ew2s7@bQ=xa9xA4+5RvzH%9hplBZ~e zl<+?DW6xVW*iLxlsZ4yIF~MBp=#SPd)axoUVveR^OX0I~S{b|d@Z~5vjZe1zL*t8v z%U(XMo1m%SnljFIajg3XlnEi(7ISm(0Kq5qkMo0XGX0nnebtt4$%7Km;zuiu=pD~m zCdzvrA&X2}+4-Sj?pfY6aT&~dHaGB6I2tcD<6>b>xnE%kJ4cFreVbqyPX+I({V1r!!ESAZ|>YAHC%UxgQ*zf%={MTaC}s zrw7bNAwk4L3!Os!cY44Vj_O({kQgLMg5Tv7J1m~gk{w)n9Z$3nZMz8b*; z9?{bkF#+$E-@P(MRI`fYcT2lBB!{G&^RpXEQ-xB^lyi@YM3)WMUYyB1d8N;TIKr!* z)0o!mf7Fv?upel@x0WO1dE`*MXqdh7#cE5Q)}3Ml{!hey!lO>4$4uzZ{LXisp$uID zE6>QH29r{ne~NU#n-To%{TfLlf~U5NUA=(wXkz2j)x5!7mJT zq7N4l+4Q`b(iMF$TX0uy&KKX^XOav0iaB{`6HL;(3K!33iwqHT`gKA(6T&t`68wWz zKIe?3b5|A#4oo;{n-Z+e?>z`!t~dTE-JaWb^GACHbNmwJ?uzlU$oMQ*fAQrT7mrSW z-`snpwuoP5v2rM4`ALcwNl{?-j49<;k`0Ngdj2^Xe;pCis&^=2)<%vq{#`|0pUgQ$ zq#bpRV`U$slwtFjDcqru@6B(;#YsJsjjLY6D#=KS;!>|scAeA5Mm}zW zsr|A6Du^V)`Q5TtXvsg>Wx{0)cvmU53=455nb-W_xv(Q{my^Dgto=>)9`zkR}VIeD1I8H9i&k z)aljn|6B$!`Q6nGZR%zVAra9}6JE5+)br1C7zcZFB`G09;Z|IR86p8XL5}hQUJqHS z?k7gKZwoMGla3ZKS%-A3(0#L(YWFkvQ8ujke7z_7jYKMt=EN=zr)w$;Eq9~1gDkwJ zSC8&%?J_{&6g7cW7}Kv%AB=yQy1=rhoW8S%8&DL@4eBHlV_Z0CrdI3a_qn4a5QDa% zrAvN8MFBQYkJ*P#AN-IMOIQsCO;HY9pun@J2f+0L^}-Y}kkN=i96+2Dy;R;G3FIVlmYO1@6DJ|%I^5P$ zpYU4$Z9S5Xwfg}KHjeOKQSTLX6nG4MCtLd;@cAmARxIjm4}AOpKEHNFi15P?_6Pv- z0;2-S(E}9`Ok61D%1|$;tNjw`jV)P_3w>ZMARX>w)1BKlLUsHh!&^A$hp$*k81NV3 z+`TD?27xRaU;=W_yJu+ej4_?;JWrRHYZ#Mu{oq^Th=%XchD&+@!ESU#iU|hfev+)1 z?Rp}VL1_lY+>iX6n+PJK`jug{Ci|z3CNsdXQ{uWxL5NqP7&9X*iG-RjLXJ{2&5yFu zA#=**=-n9>%}|!B6f_NwV5=l~sbN6<$c#7ytq7z^BkZzj&H{;{0K=Z0c1CFmqrcAT z81|Qf5CDX7G}v3tQdr1@#0E4(!zY}Cj_5}{q+C96$LFRk>PZuW9~Et?7U<2y;L&fl zu9k-Ei~XMU7rY!POiP6G^QX97Xw#Qfz`7Yu`t%)m4rzkD)BJq)V~K`jFr zCRXq}5Nm&K)~~17UlLKz2hcxA@CFP^B_)8UVbMC_F&>-1M`Eg)2`m17{V0h^FFSI2 z)m<$i$}u_~%s@DChcF5O9J91*cUT*u5i|9=)+oBtcgEyM2tsir1($w5qmOXQs60?Z*Uo25lu{T!} zr3<;eK>jYI7MDE(7lz8zx4q~Ot2sEfq9>r68ENQTV(zNT#e#4dA^Te*Z~$t0OU6`A&a?<9qDx+!85P3W;WrBjr4RMJg$vwXzCfSz z1IgeaYxQ2lYFYhHC5D<|`!CVA-jq#5IjdG8pV1JnUGJRRz2nGJ?yOn9!GLx@TK;_; z*{9&CPWG-#EU&;pK~~J0RMt!IitAlBae5H1eAeSh73qymw-%X^AH7Izvf3NaQ+}qa z`@xlC%ye!Yq3{Dz&U$a1VbF4r=s#D=pmqpbb>xt0h^9dH5)b;Ai$QKa=G~%)_Sj=7@Ib>Cy++ zv|3`$w8VwCBowwJwYQ|aZRr+4Fc?2btC7;yYRy+l%?Xzd&1o&3OJDD6Ef;Pn(rRPs zL0+q7y<*gMxEMC)*W}P>P;JI`Mhh!7!)P6l))3Cx=ZNC4YPSL*=|VBp&UW_Mhs;rK zVC;h~UMcMuL`D0f__XB(xEk^mxvV2JHsA^!^oatazguY>Lux)5vFJ#+lXZtc^&SZt|HN=eK5u2}{%on2u z4IXPToPS%7h!Jgr*Yd8Iu`Tx+zojcvo!Ul|*(McG`~#h$4qf6AU6MDtq#t$3PAPxP z@dX@_mnXZfjcdHcG^k8TXx!)~t#@k6O1z!v*46GYbm%!6(PO;gsCA>q-@4h{LGYiq z_y6vwvHjb3O&cFyQy<@gM9$3nRa5Wj-xYfIwDtanQRi(?!k|sYGT95NsV&E*y!^V} zh5kkyXnWi$8(N2xtah9@eru|^g2PvUt*qf zZtZ`y=%AyqT?YoLO5F+r6Eb(~d(m7(+zi`B&6SGOO50>XnCmrq?B;_YqCraWwD(C4A zM!S=L1BbhAr~j8Z82=Y{wNIb_>R|k<5JA@Ho$OzQ2#&$#e}o7u7a4G#pYPTliTHol z!T8VH`^H!=lzbpWko!oO)sWk?SX0qDs7~h3eQE!ntWIY2-|t4gw+-)B)t`o;b_PF8 z^o$ZC<5@RnMK0M`6TrP-fB@|jp}nUZntnzckbH6cgYjqV7zj)jA$&AE-iY|@^O;@> zd%IhwNo_I6W>3F4-FNRBweYFl>RAH=?N@z*-!@i3iubgi7lTPX-(T3CZ&)a2b^W1t zCMeomBk|1nz!yJddiz6N74_L2xqm^8|FXT`^uO^Q5l_u+xJSmM zIM!3vG@08FT#&G-_a(LxexddL=%yKm$>MCk6Mn&OXQm2U$Q?el@-f2M!=LgR5$qj_ zF#v@R!Rrcw(+h9efbOmR9^uwb?q?wo!qG2t{#`|u^2A>gaZHzE5GZ*_JoLrXvMVj! z%@J!ckT(~HC(%t`YeJ`6rfj@Jn@6AFBXrkdi8Hh`2^|*hD%un=#SUZBV~ID|FgZA} zeJ@VtOY>yr+g@r9^zKd*+neKNt~3Pvu;z){Fs@ojNmtp-OUlcAN(#0V6X`O(Rm)kF z7HDt+fdlTT3_v-SOc34-i5t6R#0@U&iQmus0~8lcY4H?2x3OWWzo8Psw8DJ@8X*_tHn0AMsuNnRV-_;S?Q(BDpDPrv4 zsh|em{EzNxS5H`MLd~IX?wt}od}E<)_F*H>!lfC7i~c=3C+#jo=acrN)lXF*eITmw z(}rnkO$6n_t(xH3)tYNNJj$WaTE1+sr{064liUNoP!dAsF}0zEWdP4CZfqu1&h*fQ zXiyG(@8zG6va2)iO24Fa)BqeDkI`lY?hv7Hnhk=yUx|-Dy=jg{%s-u4Le_OWW-(LG zj^)gYDtFgAY8X8{wbZwW8ad0XF|0bWY_IOIFmvboz!CE2ObCya7gNBqSi~9Nbvx%r zsFTc*7ta)98yAF|bn-T*i4zT^bc`D_rY1{G#eA60neJv1bc z_m{@EsP|$m@b{a1Pe>54CWiOSrNdnu90RJm#c>P>JlBVTd-3y(b8r?zUQq!egSXWr z`~8|;M2vqT6E%hHZK(Lgo7d;#9CUXH7X3=U85P>ADedr>L4dTL&e~-w^<;=Q?KwZ} zF?oT3EjpO)g^>u zzM+;cqXPM~XPlBaxn^6|iuixIr@r&R#00kFBorSmMQlf2ubs{i)}JJ&`L33}UQSTg zh~$|E^$6qEi2d4I6!c|n@FPRDpknp`q*eDUD9e~pN!$ry)Dz7Y$iE)Lc=ndifRMoK z&W$8+&q_%89Dix$5jo2YG*GM8*RY?^OE~(NNk^R*m>~rhJ86U2H%gPJ00X0;-mA)& zJmY<>v5FUO+|(+KW`lMzYW}{tVmu)t_{h;v_7i`y!NOaCa7U*5?Ru`2%-Um9cFIbI zon-mEY`!(W7;Mx8I-tz2*LHb?Fye#)%t8EUoM*Ofp|@Aj{C&Ik@%*kSaFYdI!Ayls z!q6--^3^82v#2rjm{S}^BZ}|Su#>Jk@#uL+ff(kF9xmuQ1P=%c%o|%6`0z0D0Y#fu zToB!!;68^c}=(8A53B|~}4;ck^p_lQUv4k(KlBVJul_8FDjQ=xm z>ln$HfsV&x9yfD$%|y~ub?-P(xqV)nO!Ng7ol$g6>8Q)+? zcx)efm=R@{z(q%Ov&4D#Nbsuw@D3Wd5s%u+jlN1{=}`xU0D}mwFp!W&tvmcQ36!Q` z>)PyIu3$f{?utKgq0=o9vJ#cMJ z!BdECEFMEX-(r$jgC%98P3tNZRSVQGf@*kR7CJFDaBC`@IyMc)Naj7#pv3?>X{k z4B}2vV987v=3)BlP2yT~l$DxRE7mPN+E;=BQWwuGSd5m=8_=Li3!5L&%_?S@Do*y_M@$O$mzWa+Ccvmmw)cd$HbIN81$e4R`}OF&{fSqp$dywJ(gd z`a9;!Wu3;Ox>3ru8U4s1j7#8;B-$&=I~rmU@t{dbbyV@O@?x0% zB}wtpKK)W=|00o7P;vKjT1|=8RizD4B~ozbttyy^BY4!KtS72WjmM2{A=!^Dv%Dy4 zTA)XF8E#zv>-O$yU+xaqn(>RWyHf5wS0;k$|>?Htd|B{i->N~>VL~Y0zvLfkjFoUj10ej|mouz8o z^Sz}KYZ`QD*y2rHpZ@vf)nHA%<6FCu8_(|ny!9ZhddQi2Xm~v=S=z9mzP-yQe5k%O z;O1@ShWc?Akm7B&JvzrrXNIe|_Zr+LVXSNQ8F83UXd~%ww6L@crb?4_h7u+zBU!NT zq9bmKvsp;1FHcnsmwDWrugfC2T7S+UT(X-OB<9qlMCXA0noiL<;G!lMY?5Vovt40x zpAh4rn&$iZ;8Rre)79#8W-{hy9^7#zbOgqE)=0~3uw~L7G-t*I3`@VZe^?jQ5c*k) zq2*!Z-a`^^OVr=DcV6w~EOO%87Tm_+G~U*08#=5qt@duMc{2K|1*|6uThqFbH$S&# z2-lU=u&w!l&QnD@h;4V0*@}mSq}fXE)<~`yG~N%F=m=|XJ99YBz|;o-ezvufty{ZT zB!`)S>z0ow>k!av^LL z-C~QG$2_vsd$i!ix`a{1d9iivIx`hpeETd|2V7N%($DfUiqfyX#JV}k{p#{HO;`t-F!xK!Ac+|G}dE!3H z{vAqKm*wQaA^mtq#L@0@^dv{@q}!F~2W(y0J{|Pb@6MO!%`ZAG?9<&jk~5?$k2%@d zAP0wZgqmbV5a3-xb4Q)>oQ>t$a>wiE+gT5a=Er0vp4@lyoJ*7}=Xy;)m5&Qw1D=-6 zrKtR=Ls-Tx%+3rw-~6wmx}Xj{GT2uS4MYTm`~%)vQ$M{cRQhzu+eH`u2F| zFR5R;n-E}3DQzZ6NMr+%Bz(d~xF7kZ$Mk zmpX*a*N*XjtwVU@na*x8eu4L~nxXf@vrVIK`8HCBZ@uSJM+1)UKTWrww;mjOuX|e= zbB?)}UU(4ADxe4l#S$~&%w$J>`u$Gt$Ds_{joV;nks1`&QN!S$3(WEODc0V3HO>smhNe92r@EUqHu?Xv8Jtm%tfSqtY8s+thZ>0CQfY@zM*lc zV|;_6FEOO#tG8vS`>q_Kui{0J|Itl2(22UT8jaT;pM1wbM_gB9Bp1eM*2ax{3^S2$ zcx^@()D1Z7p#nhYjAe_JI=RP%8ODp4HZ`cT|IiOLJ^@>~r2#&aV_;6d#q-Jq0j4vtiP%;UP`Aw{ z=ZglEX3kk!3t<#iqxrf_8I_hKDGDga)eC$Hd!!OgjfHRas|rWVAaB&<=oJSMWn9AQ zx%%=TM`*4?ffPUIfQv!^{$2!3dvdmaKeZ?0%`B1Nih;%%QAOJ!DN>m@jI zJO8+2FHckxwRFvBV6#=f^kSbb)XNh2&HDN)42N=&@9_&45qINTMwB>|;_rA3iMA`5 zgrzMeoEtn@*W`~(5$}=o0jP?%BrSYymJ0ra84-BYhk~RHi*fDG zNJftWmsK+HV||4AJE>lv|8Nyoy*_Gs<$;8pFwf&R#AGo#4 z`O006b+foHH{3Gq8*es6jcIC;mb%+ClsL7NgJ=L1R}>Lv0L&C4-w;21>4sJ&8046f zFxUTnq#!#G=&qbvG}hSFlvJvtUp_y2Ur}vL9UR&2*m-s@a(npw@7?Vu0IHtEWIhA( zGU*r%C<2?nY{0AwWTg0YmT1qh7|KJusH{xX-f;R}XNb*oXo;q_EY9KFL??h>N)%jt znJ{(eHiuKax}%YCR5rLz(s%8$PRi}hILOsStq*bElGAomqVevB@#($a5f%d6z?GK+ z?>n~7pT$G?j+Yx>JU?#(O$FTr5)94gM|rjVipd&oCl(M?U82;$p?=)Vok7AS5ujfp}sKsd>p7WO~ z;s!9jP6&xUv7vK>BZ82w3#z;e+&{i1h=}GUt>_c+%lpj_^d`St%p{g}2`e7$-Bh~N zKwpj_PCKO;P^mT;%4K@JwF$|g`IUh6vJ}CrLvDKr`1Wv zZHHr$UHR;L7%%|wHpTF#l%4vFUE7%5>^tFMK+ITEYa3+L7Q8> z_^4s4FCD(Y(DZZJre^n5F2~k=^xgY`Pwd|9ckJ)T@auVj z&QBY_5B;WHZ2sxqoA{Ye@>Y)YtZG60mDd*U1|q!!7*^3&lDqP_WmFAbkaKL~*y5Mh>I7$hSXpuhrB9eZS(_^zx z-jRltK>_+m3z#uxsB6Jw1eYTr#bHO5rNbV?JTE~HkS=R=23pvOrvt#jO%6aWlKf5R z-f_PWpa^x+Q+y4Bu9UbczYyxSBleaelTzw(R#79GHBxXk)+ba#=>aSCJ8Y8_9|n`4 z+Oj@#)a=JclP9EIvlCJ#64Lf}5-41WnHq`Nc8MO~Q>LDYH4Rn!#Ud43#X#B)1Ppz1vJK0+G9nr2;Ke z^qk`zijxKsq!dNtpK+yHvO<4Lq!#`~C{De0wK(}zp5V29&c^LjX^_^B?!=3;$qN&B zo##mgk7w$##dGg-DmrGEN_{g9Npw2=0Tivl80Ag3wNFbXW60&k@t2#I>H zDdFpe^RNuID!pg}XLe@EPk9-9Z!!daWVi-^&I6gU-D)(F#=3E)T}g^`zWCSg2;MiD zo}hTJqP`MALa`z&>w>kRUqzPA8xsRCO!tC>9p(~9FU6ph$90GEXqYcMca8CzS`Cy`I=AdgXZ@C13dqke6{fKPN0dkC|<4 z%`!hs%yLG(7E;D3szF#=#f?q9v)D*rjJxMO*a!asY(Qx08&^Z&yu{-V6Q z+_Kd4uU_%=Nd}Bc&Fg!P-GBFrSDzjJhgaP9MP2Y;s?5$8=KTJvu?K!x=-ktmhWY;U z#eiMcChK3k;(yL)MFx9K4$Q=xr=Zh=A{vQVf6i!WEJ@Ex<8L^O9(cts)ieP&{I~x= zu!+G#NMeY{iByXWQ;Wy+*)KCV^Tb|;aPupQcRj2ohMCK z=hX6+(H)L?-q0VJgvY=|I@k2|rAafuV5~144RK#qgaIEa7hq45w_F;GxMd)y(a7My z@5cr(S0$MMzS5?uD%or}L0I?KMZ&4S&F+`3MclloZlEQ%RYka+`bq6%4S%)zew*C( zRM2am?di}Dcemd~Z0~>Beotc3u_f5C$X}R@lc;OC*5P^o*<5OY9Ic09^dodJ^=L|K z!%t(gA4^5?^1I7rxfXs>u*(doAD=YaV5VN?3sY9^#?g+@oF2F+c-EPnqYXf(6=^I@ z@kZ@Z?lCh1A3mw3WE=uBJXv^(%h$KiD!3L*(62LyF(02L3!d**$|HSH^l|Ce4)3_P zy@OENd1^Ivw){9w(lqw|F-1b`bM*e~o3r5<2}%HEo@bIWAPSI}Ov{8_-YAa~UKwHc zG7KYA=u*4laYc~*op7ckBi%N2g;#6L!Q$q{aNB_{j<(fUg_L51hjBO0nK=)xW0!^HF?JJB3e<3O)G2#7w1 zDCO!m?o%olyU1l+O0;G`Pu(0d{k3|UAiUEjb)h@#a#^NYb|}JQMlqd)D8n1r2>RqmvGOkxRI@%S-3cCp?PD_`I53l-md7vE(jR45ns5qc>(;sPmvPo;Om)F58w;BlT7QQ z*pbL*1MB_?v?=F=cX|T^!wF>IsXK7c$3Ai0My1pZa?S-krbVb8H6KLczSeWv93ZFp zd(Lxn?^PVBb~Gza5=HMb^8yhKom9PVYPdm(lUrjQl$H$5tE9@KZGPluRzY~ww26Q= z0LWqttJqpQiI5~ypa@(%QHDOt`EVo#TUHHbMgXrqnq(GrR|pNp5+le6>&P;;+|PY# zTlQI&b4?P2=b!YNuqwXPW|0pQM@Qy|<_zo|@Co+0}13vNqpZ3mTBLswbu>W_Pil zmj6IIl-b}iE9GL;d+HS?XB#vj8~$V15p_SW-+W1_FwB17aA1r;#Tivj&;4OvcS`2` z3cmJnp4jp7`{ec7541;4!af4bnln=#&lDH{Yhutx=Q$B1?<3A( z^3qa*60FiT&fqLw>BgF_^;VQt`rA~&dl+Za@7hwO!-Ac_AGeKXQ0%rM6%OfWud^TERobZ;up_l52~RJ!N(P0*p14@rwUMxD>IMkBz5 zFF%tnQ@cOV=Vf=#!l$*}a`HSE1AnS_eO~Vmx&Jkz@aICPr+)kexh4PX_=IA44>;kz z@OmEa5q<;Kk`qyI;MUtI$yE!}H%dRh7jLxBnU3{o3^c5jX#M(VncnuI!eX=fyjR{} zQ=8}S=G0J2`_K3Cl_&Zwwi*k6t#}@9pLAj8J9Cd;QSMr}H3;;NY&<|8KK{+{{F~wV zmmbxB89x5a@cf(M`8UJ!Z-(dp9>eo54~M)vRHKtJQQvxB*U5*Tvx>P;$M@6mX3%CG zyFhLf%X&(pd!EB69`-?7Hp9<2SYgQTo9!S^5gKR6zl<@C)J5QeD0W%~6a($9wN~zZ zCXPt%X*!4R%477AqfgT3nnkg2j$IwUK}MFkC@#7p62j>;H~F&e&n0csVc4UpKcJ2Fb>GXQ5ij8Y(q?-CC+rd}wF zf)Oe z?&Nkq(Y4;N>q_4Wh`X{GJ1QMo;}<+!%Xo{IOhDH9?|o9bUuvHI+Lid7y7NZ!;)ekw z&^9!e1vri7(I1X~wv;C*jnq_FYtM~a}+i^X*MVV(8)~p((RON{~4EgdKmpnSiN6PF$Boliu72Wdf z?}ePSLHymahi>q{yPZ;l>Pe;BZawn(!lfs-Ppgctur6=&34A-;xzyjS1`q@W@I#LW zztzV?mJ$-K41DS;zq)hHw*xRd3Ak3}{d`ku)46jk_h^s$}`F=r2Q+-cCYC)Ua1uC&cNT zIzX)Q?P@3ko!ZO9%W6F~Lj6zf3gSl^O%JqSTVA6pRkjNMlbdMS^|dP#a1u6j1@;X@;ChoGFEcDaC6z%gy8)-ctX?;9CEcQZq@drb-rk zI8HA}y*a64Mr3KAN=>S!l`6)y;iWDVrsYn`Tpmj6!KXh}Pw%ryABapJDoh{omRS={ z8r@Bw`f-x3p7H&MmX~2hl49~qM@Gnxcx{W6c?pSmAalt^LeM7je8|5ndUEDkA^Y+S zQOZ5~+l=^DWya51F~{p!2kL77Wzip>$qEV1VD=IBg#r0wTEdYxtc|MyS3~=_&oi~d4@%K#t-vMXY6u3qr1m{{%5~t3jP;EnCD0y z$t*=M6(ph*27vq{Eccm5E$c4@0#xR$=v=-DNvw~Un!GD(eFHCk{+Gx%ln2ZxM%j9c zncrn)Y&%b8zByCT%(%l`#$nhFXg1=0b$0&xw)pJ&q0Cu!dEkd3tX$4;FtmSk0{N76 z@1FA?N{CW2*nY9=ACb?nm>r^^mM3f6>`DMyaD52hkbABvVbBf64E-IEP^WOwAo0b2 zM7|1J2R>#9P_P|g&MMTqLdS|TZW1h%c+Lw06(y=%;wUYV7yb|(E*sL^>-ME&mX!z$ z_90NVOf~8`}$W1bG!q?r3x$P`Y?VHc=iK}Ayhgk*j#JXWMtqKY4=8nZO_PmvVS zCIwsmtLe^?bF3kNnT0fbHIMHyd{)Rfi$si~ld&3eGr24eh0RD)z|OKbbMJdP@l~QC zi+G-^^00V`_xkG5cp%U1V>0AJ5fMRPIhI{qQgi*znUY#tb3wg1@eJi~_45-_@wR<+ zjh+9D2U<2P(d6;ALOwcGQ$^+sSe#y&0UgJnO$OY{0DT2lSMZoCq9ax3Ap?+FRirY* ztOM>&h_oDy2g>*u}3gviyiv<bMLa)SOcgGw!Msuvkqvxxe)%1aR=hqu=BfFkh@M`pTx0ay*X~F0%viN*`|$I? zsQ%W2Xe$uLhiP;cmQ zxUp4X&nrSI0N{-GY4yd4r?(7!Om#ll{t)&~A@}B3eot=cNSaFChsFhrj^+EMaZkQ# zVM%v?_p3!_Dv_;n0V}MPit*-|U|37{y!a_TKhC~Go&vRlo-anAvHeW4+1;~7_uM?C zil@Z-e6>zeRii$?Nh~OTNVhU3Mhn|uRtU8d8B1DWH?nJzlLQBTj@Sz-z5VhOOc{eX zL>WAD{PDCgXXEE6o9q#_w{QCK?!pnd zT<@lW4g*XEAm$!9cRO6#F}iTm!Ukp%lHn)!O;0WYr9gp!iO_BCp}=ZFzVn22HP=Fa%9}*-}3mAu^IDKh*Qb3AH0*YW}ZKzosPVH8if5CMN&^f;)| zjsJ;-nb90u#gLR=UoUsil19Uqod+TF@1YhQh9dazw2s-Y-2s%h9y-2pgO3TU$|n|^ z$CuJY7Km*QUCU428pUc|BxaX(eH0WL9Tn{R0av*FUhUNS_!IsI72=OSF$wIqf4h1# z9{Bi+m)Y;RH-C4GB^AG#oXZ?NTNqw=S0U}nwPzED8N1hhcbXLGOJ)nUMMrz9 z;+7~_I{l)pwi_EmFgHV-JSNfD1^OWZ9c2*zI*|nfLI2K zSUi-(AVyDRFEsrOW8b3b@bzG-d)RcCk#%LBqh-3Qu~ZgP2rS#Tjuz+n3*>6?cQ*8l zT#W}dEx3ExxbfJd;-`%_Mykvg&)|#SI!)Nc6iHw-dr}OtV@K8fx$znBB_BO;jLEOq z72uq31SsbWk~fnMIL(D!Qk<7kITg}?#mvWvNG_c)ITyrF0J|(NNV5S4V_lWx(`#+O zaX4^xz;}oOelGL`$Z^w!pmYRQ$2t|!OqEChe=M;|(3t;XQC*AP*K40I&d;cENQu z>|eE1ktLr4z!z?N4VtY(waI@uWbq~sejbCC<_?V5#E{m{1F?BL<%wKj<}d~*5Q$MV zN9e7Cs#CFqvQ%gacwk=0y_Jm(B0elMtnbHk4HO)awvpmA&ba)DY{Z~;#2YyFk9In& z*KY?>B(Q{X*2mtmwQgiFn4{pp*35)OR&H*rL|rjkkjEwkB-7EEwph$6>uo9{9mpgw z!ibCM_U6S>LBY!9@S)on`y%iO75lV0l_v;k*iu+O%TagObMuEMI4ya`fD5bX%zDIz zDH%>UpNwp-16MpFPk4c`8YLpx$-}$g$uhjK^G13ZQ$h`726 zmm}PSZ@~(8N~(=K_Umq|#Myo`!piJp5bZ~J-VEqgDA5;Fx##|5pjvG!L=nt_U>L(R z%&d|tx#MaCd^|T)9OqyzSspiO4Qd}C*r2lBhr&S97hyxgIs$qD&$8Bc8TsWUF-mW zLHkq?%99CEh+NnQhseIhJB&tjJJrzZGb|KrcJh)+gJ?74vlPZYmeElofm@+8KLzw8 zFkT~&3>WM1si12VsJV9p)G37alBxTcd83d&P1ow=;XB2cvAODxMQI<3zy)%0wx)@+ zG)}gPLCg*FoCTl(wGR%VH8KoTQHAg>>wAxiuyz*^gzGxBcHmGGs~8zXQjp7gbu}&N zM0-$k5p>uGmk9=uH1VFYut7qL%+bl_joqjNhsquZ^i~ROB{})De0*qejukbeo$KR+ z$&1Z|U@8F`Gm$2I8$d#Od0c*DGU@G529#1yGu8sJ$%$2@wLGu`!-^0Qw0fY7q1XNX zvELX^Y3!9xn6!G_F>$hXEtQjWS2?=@T^0uIElNF~#gDnzlElm;jVblRrY15{JiQHu z8g(9FB&q|0cshKp0DKIoIBCoW&RTSk`*7z~7LrlW4s6{Q^TAVB_(lht0u`V`ZrlKw zFT+$1c~jykk<*EKkz`mD{gKxdlw-M;+J#8T{G^2Z2(UMs zv>t)1paqAuRq`z%;pIKTL1?q2(BL94AYAuPSv+*hf;$nGaD>9z)Kxui*Z`Il_L zYZRnf?%oAmnlwUD!a(OPa>N-U(S~AQPn>HDS|XQUyo?e}a=DJ=za(Z0Y_U zZlA9T3}K#1W4rKd0Y4dE`hj(GPt{st5xpqWS+@9SP&U!rrij$Fn^#g3Ddh?JijlsK z)>av&vMSdNEMKv=a6ho)R%#m+DMwX(0!RBVt9g#f9AISKBh7u-Z-Y-EOMzEsqH_;M zpF+l3X5*{IOb6$2C{@w5^U>X1xO_dXCxe)GT^x5Lp3LyMjGi!EI?6)~I``KMWic3k zL%uM4HO>(6;t&>ti%Q!6!cT{t+1SVJ$cQ$#jAtl}yAlny`d^6IMuLy&+v!(1uTJ1^ zPVhXQ;9Hmw_%lJ^pKNg(FtQjBI^!G=kz}5&^Co(-GC%lN*yW88hwQ_bxHi5h_Q!M$ zep~j{*afL*-H#l%0d>W;Yj+LTk;PT3^a5WtJ)5z@Y z6rAW9oR(O^hh>|=t5RQogs@e!a>^|RF3@|0;$9(|&-b>!ByBm_moXMNBc|6Lh%Gfn zZn?b$^qHu7^Yq?T@k_z#FZeKC_Kut{VyC|5-}A)}v$@>I*G{S~Ij+zKrSDL?9UTug-!TscDm|S~QD1KUk{!mD0_ED&{6LGrn1}FwLLz?IKFi$vxh;0iP zKS!RB8c^w|38g*DRvv(FLxu-n7RE4dG-X-hQr{IP-Bw+2JuGKT^-OnK#?;!3s+B*A zcoPCsc&;?ja=ICC>U8JEJU~x$TqdDYnHiMmOg%TjwKH6q&i*Y1lc&0{`aRd7aY+99 zGHr#&bu`~Qh5r6gBtn^CXf#F#2K?G?j%3AJ9Ixdky@9#Z3HQdk7=)bT$BFo3kLrIu zHmM@FaE6O;uRE}%&y$?BUT6m7mt&Z(0fmlj3!_&sTm;0p^@N}GRWg`3R{S1M$}lgu zGe@4+!;G>J&9+XadH8}x_ER3&N7tjYA8~aSH=fZqVLI(A+%7Bp#892H>=J>_m&Q5t zPO__07CD2E-LxRnLdc$k8Lsamb3Mj4kXKE1s{8N?_T1+Ys09M_NLL{G-O?nzaO}Xd z02ebq=mceyv_3Cva#AF%d>3ao>?xw(#A;l|M$Vyz7mhAGNmBLoc+v;-#ENJDdt|KZ zM`O-Qch={}8ueqDjdzz|*~~_o*_@=Lv8m5oF0byz`2x;e;#)!T6vilmp4n|b?s2TJ z4>b1PYJ^r4V#J(}ghxl!|3uoMCf0o)6IK-*)$Y`<<@ej8q65 zoQxP(#Ej`T`%i^~e4DUFz6Lw>TPMGQ9FnD|d86ais9Ot|3hmJKS&!D856Tm4OC0YI zOC40oRO-imttr&nN6_R~=gQ)=oGmzgm{F=YR=Gg0Hx6J|TyvBVTjN^ti^r6_4LB=r zJx^HY;_bPE$kushy|(Ch+kPiRUUgKW{OmStJu(kOTmucP1CQPC4~xOJaFP_#a3YDO0ny#z@d+BV~U&elg z%x)}y6n-f;mJ#!59`bSeV)hSr2ADmNCXfx;_XR@{z??L@{WZ+Hz)mxlhmfG}gM?3i zUPW}rqM(O|{3RR(*j5t$Er1x-^Aue1TKS;ws(!%CnV{W(^ul z?L?;kp3el6TtS*d`9&DG0U$+e=!>L8paGeFoxY?S&)BYAHI%{IpNK{lgm@2gX;2ri z$sfYeAB^(Q5FO_0w9;E~c==emx+I5T;)W$hU(w{MSs5t_Eo%2_&7#UEU-l@m>{A!a zck?f^YRe5ZU~{ghSSs%w-Kz~A#ma^LpyB!iS)63;Pk7P@zaqu~CET*5Mxu7o#5r6> z1G!k{bU3F8^3TpQ(XLx5}UZ}qsZP_9i#9CRJ850X^BeV<+kU`c3s2Q zQ%zG|x0*d(@IAhrtg^EG9oFje^6H88{l!}*y|Zj7VYAvh%%2;|4!$UD zYBRH+CzGHso$8+V?=_N7R_$~>DII-xvaGM_ zRj`R{=k|A#_jt0lsRGOuFjbCw>3s&6Ik9G{j?xSvs4kq499RDFD#T3d_x6t$#4sS# zTr^BR&s>k)>M+zopEqpV!caIr)Y4eGb=%TZ>2>J2v&VmKpEK9xu#(&>erV2nu9Pp# z%Gy5cr@|YM=;%^QN}7EY{%BSGC$mI zqG6qahCpetI9{lPHZ`VULgl_^oysqVP=&{cr_9go)f|<*HYhp%F!?q?&yZtWwL!hT z8H8(p9PixSwtF)mw7+N-xfH@GAX)O6S!U8DIW14FD8`>#J0r$&XCmiQ-3p4PEuYR-YrGgbNpp-}{E+;9FHBMlXM zWS058%l*!O=*{~glVl@bn6R_&*OXwXQNmLm=l!KADSfqs0jrVWTZ&a3`eF|^#t=JR zsG5B}`s#_bgjO8cR+NsreL2$;hSpw%~kuk`jf$L24u=D(T>ya zGs8l6Q(zb7^mGP8figFrdy)vcESc6Q1H0Vm=F9|ZO$SBvj+?FzQW5uao^dQ2LxS{w zU|%1yI)#2C3`h*2v?J9n)s9Pe>cUy$ULq5_;t7B7fY@7o+0n9iepz=o4e=fMpw5jj zS(_w-6nYkC>V|{cR_KaFVsAax7XxDT)klarFi(p#ho=c}!eo|5UZwUNld%Ax0B6;% zy2>j9KlPCYhVH&so7mFENio2IP(W#7g5zuaBvNNWBolLw08}yS zNvx>op7v>x??>PW91(x8%V%6{#bu;!Nn_H0Y4&8ZUID9k*tl<-wZK|xk%>(7m-=QB z02F9pO0!?~kjsCS5zyi$%De>snK%h5&Ljz0#165muL^kQ#S&1x3~Z`1T2+UI3{e;6 zU@U?aSw1=mVGkpP%)eXE?7z?`%qfZBgP@#N$sA1yBMY@TmkdUvGvK#IQG~l|_`!pc zXOIM7-x-xy)j*JGd49Ycn$al#Gy%|tXtq2n4AxFpVk7msGUrUhX#;FCTOLMXtIy)^ zHj%2IE1@$RG-H2w)Os;scZeS9x35H0p1HleXTZHfF zUXkp=T@qC!_$PLO;tiDxqJ}bW*EJ~}5IzUdA!00JhF6aVKwBGBiW#&rD99xIAm7wX zG@^x}mvKxaX<$SR41;5MR+Xumo31l&xchW99}qM`eO?sos~md7D*1S@wD-P}FoXy_ z^ficxw~DR9iLQc!`|sn>tWd9@m@7j}mZ8VZ!T0JKCM@~E4+_UVatQrUPjqJR1}{;P@1B%3U}Y>6|^Viv`3ZlM#=m)<(V)o2NX z#t@X3Iumf@-zT2)!{zG5OH?}RkzNHkrS|2gGO71pd_LC~vUy4NcgKw|)TA*`(vf0v zZ}cLoD|cwEZac6j^`a}TiM$KHoOj01efo;Kh}jC;=3$44j`y3qU}#}BJ?*TCj0?kw z;P`(c0MhU^Uh=_Lc6-m$64mV!m7#8f5~e*EUm*?h;Iy*;>#c z;8`$$A5^8G04u%tWdDVv@7S3V&Bn_F_%Z6C;dV0&|3O6*(scSnkHR-1TcTEo5#KfK zM8^wW^9~kmW~UU>2n3+#SRVI~Cp7MifZ{U)x5vo9 z^OQ)fw(X2@bJIRC>$CT8+eMmcwDpIO>ji3M3rfCR{h0b{{shG(P(#Z#lr6hZ@|lZi zl{V9s0kKw#7IgDy`QZ^$(9;_f?9VrrTjGC?ydLDUN4BFsMbf;eiL8tWm1t)`Ln4;3 z%ef^X;ObTfyeyl0l7?n~Jn41{E<1H7PEOAgcd;+)v3wqk5#tq^4)yvw&(2jkI{$~@ zaan^Du0WGiJGtw=f%tU|dpXtIRnSxSwE0W|+ABTbWOZrxLg9D&#g{LWzByC)pymv1 ze=8tNv7}S6M2ELbG|CV~^9m(`T-ywmB{bc$0A<{Mv{HHDv_;~V?`cpf{Dhwt>co8{ z4z0ozE3p`tu*;P)+?u=wHCa=6vk09`fXlhDeC>&&nUJbxlr`Q%7v4kMBT?>a5A!6F z)&MbQS5h~zwTrzcK|N{fIJ}{px+@JoH3PE?g4(4B?9w%>q;96%m$fp72qTVvkAy$a zXb3NC--s7?RAdcaJQ*YL?C{>_9#r}>;SY$K#ZLC1Lh@pXn;(2YAq6RuR-DsO&YDWL zxtG{M4QR@^!b=HM*8yf49hyq(qlyLnGCs>!fA)qyASKK5swD1-S8b(ezJz%%mM_CI zrX|woFWJ6!sAZZHx)|`32b}?tZ613MzDx8=#o-^>dOiWp8rzyHV*9r@a@Y#&c6+ z@Pb`rek!|G;9{qRFmHhOQL3eSEL%6g^nTV2#2rc2X@K%=vyy@rG%rCk_~`tJ)lDb# zCpt^S24$=c^99;K2ZQv|@sKHvF4kFC*k>l0uVx@U~nuFZNZyskm0 z;;yzet{OAGxNq3lJbW{brnR4c=aun&8IuPheWVj6tqvw_c?C_OoDKda4@*n}qD>xk znRJbroHa6e{Ke$Sfk_Y2v=_s52=)_aCp-KVMjhw(}TKu_sojJ*%f&(0Bi`9haQ0Fx<&MOr?T54&`oA=d7C9O zw*0nyQ)R67M;Wsp+ZoAgMDH5ZA|d;)rrE*Ri-sAn@8OFED(u#l z7KPTGNP{k_E4{-T{c$jdu4Lr#l}61_;|cLmwTV{hh(}Km-c&R3z7vUMCuLe59~O^1 zV5A&AL@;d8p^g@u9K1KUVKI?R(xAnV{4i%9yvZ`-$?$ED2fXt*^sS{)PJTHhsODWq?nBUxi1fg@lH6x<4n~`Bb&|_k4=g!pw3azi0tV@)lzP94 zJpi7ApPIpYM-%X_*z4G2muxz?)|xX^ZiN*Mp5~s8hPpo%c72Zu_IpG$m8Q z?0drAM0!<4zg|C|6X1MvR-Tn5m$t&5 zNzZqfmP1j3OCNKb3UGY(T0n6>rz^~H?w+IYNyj(O9TyfH-)=Zs2jLHM0cg_? z$M?tH$~D6)aj*}L7eD6bBo0ID@fXizKlpg>?GI+2*3H}vO~cO{7rz}t%>Sv`h~lf> zc$sGS=Gz&ksg2@DI<%ekn5dL8Yvr`RFt7)~K~7S)@lw}ZsgRUg{&$@i8t{hR@6HT6 zJW5w=R7Lr3r?|Z{w{b0YK8m64=d>{B2X_4I5l? z5q~=-Ls}ddUTmb|*>CbakbnSi2-*3)_}}+~%TgKpDx4Zr#BaqiZT`$;!!0C+hoq2^1-# zxdip(duOPuOHkGOZxUjm;g0U+QytL1DKbTBXLBAJL1Nu(`Y#K?H4yL0BA=SyTIo6g zJJnr0dHGSiwryDxx-0&)9ojR=2x`3dfI$=xo2peDR zj23tdHbzv#rBh*S3Kz-=GFP>{HM*Q8>fW?RtKRe}J-_Kn#ZMnrz?~Dj*UDy5^LOVb zT1HtpX8JzNwL)LVZL{(P58gQWF+0V``5P# z?bj^ecVE`;ftFv(S-;kcerBaXel1(~ zqw=oDz}2RhE zF*pxsdjx*MJ{5M1ReNlOG6Hnr`ky3wrIQ3MX`&Q~OYww7KNI%gm~lujD;wT}jFK(jW-~7Kj{z zXU2mqd!j07Hohs|YTgZqP3$;Y`{`1s0@HQXR}afjJ<(K{7gQxFE%@qLW>XC&v7sF4 zI!dGfwU3`E)2))v!%g+9Qj|$uNB9b>s|fleD`Q-Uz8ZK87OTBRG0}pX!!z{HQc;h1 zMSi`ru=1#Z2PsQak%Dle!Y=VsDKi0~R$OQv`1k(Tm8I|mQB=Zb$(s82Fx9fSzM{|; z)0A;us%Dui_egRC@YU+nj?l#S0`pmq)6^%=r{kL9i2})R$5xlt+Q67Exw~h8+SO?- zjFUNxG$-cl&GAIHZGA>a5S{R>w~damCkV z$nIR%i|$zbe!YOmDvZRJd8K)4QN5^qTK)08FZZkrD1YKTwrVC=9`FHs>K|`PBzx}a(n7RDp>XKl-Cx6U`!#pp|n3Z37!kb2wPN z_V+&@rGB3O`Sd@IE8+k1&if*P|N7LS*V2`v1H#Jxy!7vHYrK~6{_=kvhYVjlIw*(3 z|Gzb}|Bk<&y84Ov-|^QkeYCQt6c%nBn;dpXsQLC z{*U;p+_)Ja6S#c7wM;xK8LO|(1{;y1Q zHW|zvjRrQoj`&obYx$fisOuP<3C=yuqJ?n2f+TzkW>02&sANwnX~Nr(*dKAZB(ls> zCXmw#HA`9AP{}G|t&blC^(3YAAU+V+S3`2k{O&L>mNRfb?4eAHkUj%Wd6DM)&(PB; zQV6@WosP(exHlRyqIX6IC+e;#C6W~nH0c&)J)kl6NV6&AWJu(@Th{1TATNj%rK^7O zj=9@H$B7qgwyagkih9y`mAfftjs>4^pAZiknH|1e_zx=j5t03z*b?b5k>ieW{B}AB zAT8-Iho&9t1yR&w%w_ zuSVV_pAwqAl|)6N;_$O3j_pyo3U{5^@?XhEd@A$uY0JDl)mJp@IG1@jo!IAlG>XsP z9rEeC4Hle%V(vc^th^i-NQ5*I@Ioxd^G_p!lKk5*&HvAQs+xN{bN{zPPw&&!zV3dY z8OZJ}|Nn``~^+KmU>ulz1B0OENTNAXuRyLoR7 z<(WUb6|3ea_SR||d2u4g8~^^k!-dJ&p6h2i{Bv6viT%NIGwUdT?QVL4QJII#yczrS z!#nRUu|3eYvH}QYLn5DHFGA-YfR&&!96RDuiJguSK$gQ3u)UZgK9$0jAmYMqD}U3! zJMK1|zbB45?$OlW!9&jk_BSco$O`cA*cuALxg}!2SAo5HT@T13ix|ngXTNTEdPXHE zm6+nnUO&`7D(+G#q$&6_a8x@5((rG@$xuD}$U~$+v2F6o1{yj2x>J_%$@B z_3!xW|E}X+B_eJ#Y;5;EW9&yVN^aQbQATranfn_R9V6qWI#P7lITuNnNObkxI7of^ z3XRGD*wJ4|9Ctuy0OSlO5#cDY^4l^LZgyTnVf(svL6Jn; z$+3@Tund4yt)lRl%o%l5@QE9Iq#J9dHJV|%uw@Ak$nM^qZ#Lp>eSc&VAzSY2og4BmKf$vFYZkV%I;{Na% zmRg!W>Csl^KQlz~s?fQVu3RObQD^Gp3V%Ke+)&!MC1vs{+aXm{KQcDFIiLtSm(=!VzWX=^12_jvY&pE3<)41Ja z^mHQgU_6mYWcE@N>b?uEUWu>!YJg$-ao6m%T@g=4Z7Ez1LImH7QIVwvbUM2vbj%FQ zB4K_Q*JR5t-+N%gj1YkwM5O7S7%6#(1O0tDzK~%=KHxp1tRJ%zIDIJGnPWa%rqQ0v7+{_)#XCxJPf!xzB$K!ib?xK{& zGwRQ#KorZJ|R=>deq7(NE!hA^kS5@L4_|8~ZQ}4eS zuz1FE;$83Y_hk=Rw^Eq^?&zZ!u;`D?&R7PZ&H7FK&-V*aOdkl7he|RPuv>XKY#zKA z{S=RLf4bPOhzL|cDdVTp$VKjRgiV`WKf7pbVBfsj5t(g>f96MSw9T+Hi@|`sWGHR% zjj(LZa11IqG|#k)P9X-Qoy~=7<&*eU|BT9g zNTU0~Cv}(KCT--8fstyR$)=}$4&P#}#h1&^8@xA^SOjW_iH!F8!|J0kIowRzYzG7b z4d%1BH+Kp)&;WqI-Cuz=RWStM??3lbJU!so$DB8){qb5%c4T4*T~}cEEh+e7LTz}u zvH_e=ry*yNw~wJgE=h+EV4VK_bSEtDipj3a6V}i^%pcI{P?FX==LV_?aGx@IdAJ!* zK|Uc!jk_N0k7eJENaUU?e5|hx#Ab+#ux$MT|1_aADcH$Xj?C+rX^0Pe;>cBTo`Yd{ z2T(7x(I2*9_2SsSgP6;zoESJ}ECO^328KRnVW$ja#2d9@Mw7UisV+@Z(UDmA`?Jo>wAp~?!b&s z6Li#qJDDl*?rBSNqY*Om~uG|>1YkE5+d0!Y*%W*6(9{PN9A#1Ppo0Ln$qN#sj6F+Z5^0y z8?c}d};-nNZlo?p0^D&OK;CMb(UNv5*mzw*LX-hda#QP*u{j~fQsZ`g>puw z9gL%MhEeaSHVN7@i8x~g4-O5_tKsSMwO1EtDHGlxdpko!St!LF@w@Qoo|%ow7W)wf zC`Mu~hog_q=x0+&HitIgmkykiHkWf#Fw+zvvexhKN^oauD4{1Cj)~%r%TUcuzc_=1 zNMeV`=mRg1PG@_+i>;MF2QBJ z5wb8;SjtV^yjU|^kc%F{)ypuc27lmP#4?dj49XYpO}OK61HN=-r||a%3O@z z`2h>NjJ!?Hg(|Q>%8Plk6WOzUHEeyCBQd#)6@WRy-Wt)f2p6>lg^Dro5syDCSo6zR z?hALRdSdl>yiTmx4Lkq13u9d0y5kl3su#W6$T7%o{mAP$#Kyd_s6 zvfclNxvR{$OJeMaJw9u%BhIa3s0QJ0E`yFf<-AKk+8s;@6k~rGY`6|y_t35Jy}86&L{<3Q`V%dY6VW5k4LBHJ?i0$Jbj96s? z^oFI_(^OSs847qCWNVEyA?>H)mn>D4;kmKKS6~i6847p!`OY=5d)o;vqAck9aLlwh z^7?H%C@!vwV$dyL#Rxs`tQWGU1eTiMH9#}Y~b^BOLq{~wyA)JF{1$23vF+qb@|@Tupq7Xxz}CZ zux$}SSAk|ei!=#X*)wamb{t#(%OHQ;{f=SFzqt<^Nw!XY>{s?M+xsBm4yGXA?DiY8 z`;gNm_Uy1)yN5RIDXrw@UlMB)~_4T;?RxnRSITmVd?wRoP z|2DYElYPM66${>D#qc6FHqUJ-qKWXQC@;KReE8 z=I;Mqnte8$IOrF&bLGkIjVJq^PY&KZ`TP3`z}Hil)2V~8WAs1Y+;7*}iQRe719LDE zUu|2vV*f*e%f+R;bySf1%Y{^Nd%C3K8*-r&5fSq{`1@Kmp#5Ogu~}bkUIqPEXt_7HwrXz@A00l@y!W{#*&im z(G>ju^su4T?CjoP#zP8-GsbPjxK{Xpz#++DsmInA$LK;KMwnXLdt;YWn4E`-g|b5_ zYf`%Y>@VJM6pUaay%=-py%LyUUy**gUti0RUG|Am0u|T4*JD6rVt^*+&0@xEPUQMy zaf?2XiL8a%7Sjnpobnh3RtawnL$hlT3QRIlT#Jh*xCl%}&OTh2dM^tE^;2LE{>f48 z!t6RYNXu8S7!BJEt)@W$?dIt4d{jIGsv=L9#L%Z?NzQ5aR{c~Rf#c(0#%h+&f`;$lCbqP6DkwA%o%5~2OO34VGz#e#S^qaRNh z_CDs`Vzg}v3vI&;X~%GF)j<`Qvae#UtpZ<%vBXVSTY(9$btR-4O!SI2zK$S`Twy|; zq=vm>C%wQ=c$7N~Lzc#&&Hb=A7%ILbk*i8>WlUwun?0!YIi0aB)%E#T1`L|Mot0AJxXvJ2xi!VcEGEf=Rti7&p0x z5$>3Iel=FNx-#yrl@sTn`^{x`(lQ$nF|--FQ0Qpdef4%YR?Y8)=u!E)8@oYRD z6tYjU1D7&vyldwF&WSj5V?aWwfyI=t1>13D_X?1a7P<1H>YaN9>}c3SxB+8ie)D+f zklJB(7WYKI1ZGanC5b_d7V79phEGB#Ak7CLek6&<2sf_#R^G)SYvICUZ?0wVtI9FZ%ewn>U++wY$x$%TQ7a*k|7{bZ6}i!osn*w)WkV0dG)}!)(LmXT9dx z46re5#PN+0wjA~71Ay&1L-I_9rIuU6B#$BDwJnJvOp7}Pm?dy46i+rx?M{Lcgxh8wb+cu(yjTk3C zn?da+A7D9Ey*^`Ib=0EB4z~+i_vY=mrd(=RJ|s%&CQ~ zY(c8t82Dz)p70z)+50J(J-|Gauhx9s0U9LKjr^n z@4dg8ezbMnkU&TvKAeXEiZlUHY0^{( zh*CtQN>P-i6h%((yVhQ7uf6vj=Z8D)z2lzs4=^%F8T0+jXTFcbegT8glQVi*bj%pV zqmpL^RV7EeXISd^ckYhqHPT=3ip0RXqd3!2(uXb;3>~FhK z{tC7FIeLpR?9s36R)#O7`ybB=Q>zP>pvx6dtw&4q&@It0v68* z4GQK+byUV|Tk9^0jW6jF1$0w|?I)HEvm`Fw_n4VjxsWU8Ia+D|+EwEk{M`&sJKdai z04;;enf-Kb-C}sKsE9am{WVdaBIMkVbfFcFR2^Y8En9A0^S}YmC>qqZPYZEA-ojrmXcy`vL1s4MGj!tw*dyX1Suc2BQ*SNb0XAMo0^mWycVfc zXuCzF^wBK3ugMAz4HCDz%Y>)_XGW%&9z=+q*yVAr#cTjPe$8BO(ykS7FM&;^)DLJM zJ2-H0Jn(j28?Q3Ed+Ghr^^GA}&}%ZwX}RnP-)tjfmvQUF*(J7Ydc-sZ{h;6L_tXDA0$rB`+n_rk&Xfkzg%t42u7 zfjUeV6t;C(K6VPl;X6^E>Tp~s7QYCQ7#XR1>0^(BLj8H*zaXL&Ytv^Y8Bo2V~%1%G< zdD)lU6)vNDO2C?-L9E*~K|gqE6i;T2kDzpbtfaL>eEFJ~&ZEwbz|s-7Zi*L3=N%B> zviKY7Jp4}WCQmRR*W*Rjp2Qjp#MW1=_$!~FepeS{HVECKvY1eGvy)ISr_Ar>RT3ET z`Hes**XC-mtnTcRoxeg-!bOys%3VXv$KQWAV*1qA^AkiXQ?0`2JH^Liwam*T;@TGU zP(Nu#Sg{ud5Nl8bfRJDd08qG;xMlY4Wbjf?NGgSz;lNyh=#kq-u}BdKEdZ?VrCS0r z9@3nIm|YTxfxR0ny~@|N#z~%!*F7TDWDEu~wkYP=AZ4zt@*$1OHswYAtP$SjNqndI75OWbVMrT4WO5+oa9z$dlz8Fl zd7hfpp3a%O_JA$=wn~*93o-xLI7W#KtG)2BcUArJ5rG5TH+}`Ki38?&w5d1TO08#O zEJVB-ap0@C={2t}xar_Y>Do5bF~WIcR@4m;-|h-gE)N;W3)FMh8*-=7li>FTsD^82 z&~sLmT0`BI!vK>M2`iw>oGZlM((zTTPtYSWX*zFAxM)jj%gLjZ!ZcBKKQ{hm)Q@*J zZUyR(#0-9p$u6t4i4CC-mLq{B%Jgllajb=q=K;ky`W!||SI$_d{2F`4NMRbH@#m0M z3mALTJPrNs1^EV06FIqHIk8*>o{W3ZejSe_eFImFl!RKpEmu$^l-STp8?O-xk)QojSu9Kfbapj&1}KerJy^hO#E&mmAP)&b;&Qp_$E5#*#^=m?Nb)rCSGNe{P+g}FX3Pt zq9_236K1To6pnb90rV_xN8Q%$UN5u5YV*3~nV7RRq0(;#3HO7##d-705<<$7hK2}T z^ou+=(TlYgoL5ZIR;XOSbp+eZwK*EW(TtGTvS~xCKE@T6xK}Q`JUf8I*xJ;ydB`)c z3@gC2&b6uZ`-3={HRCjE{klMGk&S~Ww*JxrdPdSPH+e%H9G9wOPa;UvX@>fnxaeyPP(N5#0|uOEV)QD5H=ny%=+Vu$q>_X z#kjg0z#<1rW3r}chmmrrFLT|T7B6ISL^`O9-n#}W(V=dL zk^Jer6~FITn@c!~j<>qDM;08IlVi6qvHfi|&pgQ(=@%@xwNk}%DUt&)Lc!&Yl+41` z8ei&kwI&!;Jp`A1I8UT#ho_3%A2T0CncAkl3#s7OSbq>K;kgi9^HLJHU}QBnlio8? z$-N3my)3e$S9&XN`)zidK(wwp2RG$5>MX!-#@`|Zb|gf zqxK@fYdONxV=^}$zdsHLd%Zj-?)FHhoA=tyRmYD%Q|lrht20~eI?kVf#KL+cetO4> zIW45VyZ(gzHwLfov^c(P)F~DnnC#`WBv)JbT-9?oYm%BF zUZOI-5`WmYw?NJ~l5?b>9LXv>&^}MCXuDwbSATHO zoe@|cVqFlz94`kmtM}mL9<}?ZyOXS`(I0Q0PfxH|qzw^|^35ciM6E`h{0x1!&ylZh zpf0--lvz0`S`>^wA{GmVt}H+5z8n3W@Sf-{yA-13Ccw@4KCiWZyBVC-<)8tqC~~}f z{P|kzLHIAHkg$dogvIEPsUx$5YBtaAEdmh{2%d<9_>0r5xNCsay2WNyvSnFB=czq0 zUE>w_K2YMidr8EQ#_qY&KtMtu$9d0buoplx1QT!Fqn3t@@6txII%!t##Jh7yxD)Ss ziFc*Ts`kn!f3Tum%7hGV-HzVUf9_CE8xe>jmMAw7qVO6KmQZdO zf!~h6bOwJ;jSz_KPa}0W1?gBDKR-Vc53h~W$LMa>qP-ajVJ=`5AQq2GSTxAeF?xs} zq9S*rpp%mXjb)jI3I52E9V^`{etNCm5M7$;CJF9A*&Ydn+Lyp*W3?&%g^BYP%!@-D z`=6PM67jkrdLhR8>)z+;uq~c2f_og4gdfD?Vg4$3y_$qzYyIdigJLR)DvmT~oeFXw zsn8ZeelU&6G`fSs;MPq8e9NPcfTSn8{U@~!iLw3k{?kzXT3C=~!u=%L?j(Z@DMQU# zgA~8cwsVHre#7d_Nmbffdtv%H^@at);&G1+i{=cAzZjPM8rJBMh-r)uqBN>d8;QCK z`)0&f>1T9z@)2!5)m4rG(UIZ1T}JgDG#W+8KYmIoj)_Ln?%f z8M8;%Bv1T;H2Co9W2rHu3u`d5imbe#uoR$i{E-iVmg_>gLFqA**@2EOO;FO6wN#ET zurLhE%KU{OM#xhh^_Ny<2R!C&9wTiW;M5r=n@QM8I|6Sokk+k6y+R0Z(FQ&tMaR8N zx9iumPF+_8|CEb2ri6NXCx20cT<$k#ZGHKMv)_Hoco3Md?qtFB9_eN$c!Vv_IxtIv zgD+z$GrDWIcqdw6s&u!L&U;G;I$OTvk%)EyPY?(TNrZ3?4hU*I2d%W_VJY*y%Y9yq zLz*xi25lx%QCQ%mTL~vu+rg2PSjA0Cq-WOx2KICN{GEf*;O=ChC}w7ghhZ*O8Yxzq zitP$-ikY49{`rz5I8FT))u$}{&kIlwaqAiKWP!zbm_G<60YzM1De+pHi#!qyG)Uwb z3fHD7Oq3$Z-pNG7icQnjAnwwLV=2r*nq(LskG;$>XukR8b1+IXQTlqtkaWvXl0wy@ zIDWmaVD8I>dKaoh9L-P5v)mk53XYhtHR{8yiviNgF+AhxF3dmFY6u?WA_ToJ=9Gr6T8|pvj)AQu$hF$WnmkXoZsAy`Y4eVc z#!x`lsM}TTP7+t%Vla02JJX5p?El^PTo?^6vWbXRO^;~x&m2)~$2_I%oy;%LiE%Xd4` zP**-y5|1>`?crj+pA7XsxE+m+!Ha;E?l|^uDoCZIp6{lbDxe{7BvgOL%hFPR-=TC6 zp)|QO+rK$S0Hr*9Ga6KXkDChuK{e*$sa3Ez3L=)71Hf+wGW+f{%S-<1J?_(@4w^8o zKeRpR34;V#Vu2*!cS+DfD^-4j^UC`!Dmg*|^!0WPT|Oh;@8a2b8dh2MJR}q< zHICw4(8$BY8f@05Z{4OHb>aAt2~>g_{(ALtp76ECaeP_TD+q2=^nAFijfdbW_yd0> zNbn2-$H|snxF&S(py52(P&Uk$NlL#b?I!g*`yv8z9x%n6Ck#@7T=r%&#N45EC7i6j za8ryH6bu95Ae3Aj@qq^NXAm!Z!;_$QApFvhC_Ko{&K>==*<=kmdo?Ra!XvIGxjz>2 zO7{F(5zR3&E_`dTMI9pdtHugn7DHP0IuI^HmMfVzpP~1#WJ}jo6n~kN!pdB`E0hvu zWabayEAY;(YMuX%ska>U)a*%aXl}-fo5gmI{t!{THl1C!g;IR2iX)26+0k8E=tgAH zg*!Mo-~Uv@<>^VK(MH3-R$XIeWRWI5PBT$El{+d1xpLLiYYot!o*WUNO{cW4Z=X0YkBe2vX!_?GDAkzkSM|Dp)zh7s&Wl6)RSLy%HC;P?hStRZbV^VpIFnmxp#H zcI#68SKkM}eM@xKy(z9X1yrrjY$!=wZ8epIGOf2pUv0&IyxX4G&u!TL^mC`3TQLUw zWZ>$v-&eco{d)NPdS(3j&VMP7@$SFmHxS@A80|Nd>Ni~MH*(+a#Z$kRS7DnU$>=>pZ9;mH~S{Qe=6F4I@N!s*njrE|GTID_%m|P2mEP2eBGR( z2YWpg)pZvT%1Mx*M0 znTpWlOi}dR>(l`w&dPsJM|Y5g2-l$%%wep|!*QHCV9v;~XIhqfyfu&5r$F;1{Bgjr zqdW-OV{)wAQBr^WjX;D|s@jkLZ}=OF*GeW^oZ;W(Yggn4N{iWeDZ1@q%K5KN;(&CFhdqQ zzFKxFIY)8^)sjG~fPS*wF~^;+l?E>7(m6FKzPzyEEOgEsMV3Q%!^*Tlk6)kq8$VIU zXp{Yo+s%=$+xX3tPyjT&nijYCgO;-|FHm;wXknQ@Ib$lmgj@y20dn$ba@X zhU9#dpFW4dy2tYLbDn4+o8P8y#VJz=&}fTveKzspbcZI){}OFyEeBIo*A!c}r+399 z6BXav@z|eqZl9r~iNh*MWx((WI%j*d5jomC@mELy7!pD0EPKfzPE7Z{bVcOXC6oQp zUIzb3jP6s}1?`aOEKkz?tM9buV7=`HkA*1!Lk8qdXlk~NCyd(Er8<%a;^}9;$PxNL z-AoDP`T%SUzuz2`<|YLlZ|PSa2Nqh?;zM4lszr`ll-&$ei;&ErfUL(A?q(j;0Oa&H zF^)Cr)d+O9CJmIY8VQxpZZyB_00Uhz&f!9v2|JfmBT+(L#-ixz+zxjzL%lBsd4 zDcfgOkqKLIH>#gWS8z*`G{Nu2Q)Lo^glj?wG_s{^3?qg&*oDOwM~B$MQsY9aN(nSS z`%Ye#kt|h)T*LrJ9rxi`OiWML7Ic}sGY+;Y`Fo5FXX!HxQ?dk0g6q6P6c9xGTUzM7 z@gka03hhdrj3QBZNySU7MI*7fk_#%*_0^n+=?W6WRfrk3^k%&f*%elfGSFB&hc^^v zsRs7+mF4!4?pJ2ItgcaO^jf4&Tr{gdbyQ!o@ziLbq4d=(va({FNDGFuNNvxHXp*0a zqimoc(@3?A5(X`~TqMs4qWH#XVH^=jh+2Dk^F%ub(fAq9AK#55wAzlBy4&}5?`Fygc|jIN!Pzt zz&OV0Lvh_+I>C-mrW_RNF(m6nM4Hohh_h*zC>U_dU<^LkEZ2*p0_q3SU!>9tQ$i^C z__DZp$&grW;8p5~Td$pxd1855Jk$6tZ&8P-jo$+aRH`@JWB&3rq3cUemF~cc%faF}KhNDhI{1eJ=J2JrX>no_m*JHyv`ZjX+ zd_&TS#B|B&tq(w%1nL#~2f z@Eo9_eatd#r_CrCk! zea7FLqO%VQR8BJ*VwhOJQ_!D#J4tg5vZJbK+Fx`BZcx@2G^1@y$qvARHA3hB*YUrE zmR3m`z1zn{hPIOYYjRMNuNz8Hy=%De#PaoqBAPa&3_@ifJ zHY>2r*+6-bg8o40`88J%-NAm8l4}I-wlalqG*ubHGiuh2MuyZ1`*V-rb6c903NhMp zUVtr4Kn-J>J~ow62Y`r5O}`b%XqXDdnU`Zb7wA^uN}@G5?{p_Hhv=GEET#wN5)_M^ zjy?aMYuF9!edwhMx#kWggE1_^Yri2bArQ>d}G0FXdt>bP&!p)uATom>L0ETPb zl;zBLT)X(!6ECI@B$ZQ@{FY8Bi{2JCCIu;WWs1qTkKr0zWo`;N-bT2ap_T;!499O`KYEi`9{TVs0bLbr`pEz?W!#nB&JM-3ub7P?K+#8d4A(eLogmBCSw z*~}e7snHqn;uLCW<_zDx(;iH~%62dPt~ql>;h+4C!QwTUcV4c0DSKT=8bU{O%Oz<2x&8iq9x%)?+?X3o}h{s@|XyX3|98VIAAtQ zAn+w_#1-(i^=R@jj*3EK6w;#q@Nt z=(x(3UY9U&vE&gDcII#vhq9}J9y}3Z2Yp%m`C>qoa;fxE(Gk(PymAj*xztg)ELVlR zN`-<$g;GR?#;#F2DH$m#I@p+_9wB;$tqb$Gy zK>-4QJm;(3RNy>%BEg+iO0obNG>zj?wT?r%+H0-qVfaN*Dfk!;OH8Z`^c8k+0Axha zxgOm`PB7%pG8AsqUINw?%+^+p2d#~T2o<^(so@Cui2N4V3I?_h@IF~T@UVRJ=eriNGwX+ID zy4z2xd#@rK%f%oh3wTIVy|U5ZKm+AB2T-A@C1e3irIgXL_YLLmZp~6|H&#V&QJ4@P z93=|JI@nl^RK0a*L~2#PlC8S@2KHp6@j{c?3l$;-#XoW$fUE(y0Sf%roagkv=lT>G zF_!sP*JlY@t{3(X*XOAQfR9(}Z?4Z~-}fVTDtH0fkN?BX!rujl~m9<~%UB}m5uY0sIPQ5sOVKp*|b^(k0)*D zrksK1O@Pa=C`fUNa5EV?36V@G)S`(cyFT3r-JW4A()ZP`IA7O7i5iKPTgwj6Tq})Z^Ia>$i`K1`lkcF`Du{ZL z>y=qHzUx)FSL)WQ3qv>7@0P|(Zq!s}`)<_MoZdnG_c`ys=(fHzy*$+bkWTNQCT*^6 zwod=3MpFV6O^>4W(=_JD&0yx9GNf4YNGJ2B~ax8T9ot~nPHefVw+(EaKYV6XY*s#35O6AIJ= zYClz#j=imUC*21l!TQJK^QHn6dCr>a(91t{Jce#VQI=}&-oyG;H0PzB?e9)RHbi{C z_DCo~xzhdPb;;Stv&yIy{I%1Z_u%)@QT_rgV7&R(b=1O?w8rF|f(A+H$;Yu4<)hvB zm0$YZKrXTd!1zDqJS&lID7b-V1?03Z<=q_YL5x*b<%Qh(MC+eS^!gO|0ebiysNa5H zVjI3dvwHnW<;!`VcchOn`+>CEeih=}^)pH*U%Vdq-^92-MGVruDDUIN-Q`_1V2mcN z_8S}uMn`Yxvo^%RUfmW7i1g(Hdo*@&_NN+Gp$*uBZV;nGD#8_)tu)Xi(E4yG{~)p) zy=Rb4BQwMTq*&HOVu-(?b%gX8Jq<0=?Q_3r(}B>-Zf^Rz>E35=gQ0?euicCqI}*^4 zbOFs42;=2AG$MbGoe#SRE49uL)-c8kv*VI&&wIkl;Z;#Q66v&R;=rvg4?YkX9i;RqF4(l_xrYJ-B3T;fPe8yjfg-Y|iy{ebwKeQ0`ayGm9nH zoP;+>i4J?^9ItBhlt;!>Blao~bhQThMiUwNEH*3+ygIGxg8_vV+z($SE8Sovxy{Jy zE3%X-oueMi7p*RXKWEiqWPUC2aNMwkd5GabUWXUU8--hudPaeIMzPM{N+^B21C0-w zIfacQvt%LsW}R^Pqs)6JMs8mavax(&-=$L9fu_ByRyp56_dxeNH7N;f>Rk^4ySvLT z{K%^htpqZ}g}j&h8csZCy7-{LM`U?^dvY7G!~;?!&@TfGSditsc~Prq#08uDxNNnx zy%bkzd3?qBsyd-k~W@mm+>E>uN#pRbRz(-`BrCAmQ3c+kr+ z+8D3=a)JIY4ZwlQYRZm(L#N4jJt@9iQwyFY3}+bP#Q`E&`P>_>*x}YE z+6lTlISx;LNe7Em(;(x%EIlzFL@1|1Y=_ag+gk;e^ z1>pK}xY#CMUus2_*(S^NPjA^#jLYpV2HvtHY9yeDQCn<f7Ip6V-DonaM_6n z55nv5Q$9;;OG3hU7(!s|0v#agDN+wCW*&{`eF&+c*!n!hrjz8b#FY}fDQw(!h&U9& zQ+*Zm0U&ZYGem}rYn`hCVU_$3lZ!>90FZ&ka;EyQQLFJXQyYT>*2mtVmw-8G+FL+C znWJ3C4QuG_LLt5YDS5^ifCerkmYY%O!j=NgtIj-Z-c56G7p$o>C9j<|k0@{aez(s( z%L);AQVc=FNsU!4F9=q?H+d;XpRwO_SLiqw4ls6R)KR^?N>g_3RguTnWA#0rIqX2| znMK;*)gF+!oPbK99KC;X>;@&@(3vl4A-qtfR9`lOFP#Di0Il#l#Gx26n?B33pQ&1w z3h?e?(DMCzU_anl4zTO!7 z`Qhj9{ceV*TM1@2kv&VCrDvZ$>~u{Ip8PFL!av>7U4%|Ek8 zQ(JJM(=|~L_EpkN18=rpLN|&sZy3dRNP9C~u)9rgi*cDg=c*ikB`n@MH{Q2B-fucS z0HTw>8~;>3AZS`rwOaGZuC{|+Lb+S`_B`FM3PtCkgpvtA3Ilv~lOrW#z)k|b@7uCVEUn z+3Dict>cQrn4V#?ZIR!WUiW7fGz9cJOU9t}!QRz<@ss zOZ&>3xd#&{A&^qj&qR`?eq+ZmH+sZW?G-RbnSog~2yaRJ+m+(kEW35mK)6k|sQVJAZtmHE7nF4lmVcw&$#RR&pXOm>pj zQ9&`UAQ>g*sVwD#HSL)OTvMhjfWc8L%PZsMqk!DdJw47=wA^sy4rrdESNYHK- z5g`xFzV1f6;v-gQ9q-d2COngU%S~$&oO3=Vd%o;W$PCjO`i=kr@f4dAUMnWanTuTT zj^nH;V1UOCwYY=f@mMA$YdvN#HUE4>Bba>%t7B+=`UnBNiUl1KtxV4tj#b?Vd&R~ zQ<*i3SMm_65)hh3U>mmBp%kFh?W15*v@KCGOJd0SD?FK(DwTo@Z5SsGOCUkTYfuoV z6wrb#UL?TjHcAg3-WbMWKxpb?H01 zyvByeL)=wl%ZJ0^es6uXC9;E1qjDH|c8MUK)y&Pi^-QYru_B z&kAzbJ$$_Ur+UJ7sJ^7{e2dabh}BQ6*0cb!d9C23=9aUzw%XeP{%?C*K)DBMuggH#{@qF2 z%MX{UnLQ3Q9YbP`kp#!f!IQtFWZ+0>D`<3Sky#q0{P>ZEg7U(F^vUtT>VuQtzxKb8 zt0!Qk0BVCjk*g@M@FOgtJLlm8@@mbck+`h_?SyeqhR=O0w-v*LH3l-Y%sb7NWnru_ zq3`DB3fg0y`q#_E31+?6$ZdkLJ|)Bfh&(WE4Fn|Tn_v55ru%n0b)eTCN-sWOp zZ>hNq`gl5?`g$CUUWPIOJUO@KLHf7h`2Re^F)%oMlSZEGto@{-EOR65t5LW8{Xlw3 zt|f_vkVggbL0c2y%jJL@hQO4X*4XM#8wo0dkJAI-ZI(Lkc_OKrldqafK7C;~;Jf z`)4_EJd2E}W1Gs7=>V((2L(2;1!?t2Ha;|+>Ddj~GF;>QOV-Zd)ZknYAQMe}acE&- zxfTSlG;MN`k&BN}qkv%X32EPH00nv!bdyb5&B0MY*$IQDv>C1XarRJr32=>tysU5k`poct3z-k-m2Q zU0lb2z20NcukHiGzgvslGHyBw9l;?A@?06#){XVILZQJ8YynMkg6!8m;aj+Q6mN1b z^Q@HCqr0iGiNV6pg-(W>&M)UaP8%A3BI-p@=D5V}y|u)X18y^HDe8%`74}s;KYU)T zI33dt=V=Tjj6L6ZRH-e@$~|>xH~QWmWpSTY&!uDX^~Kb%t%^BE+ob(VbzgPrDbC{Cd~!JQ!w$ z+8S(*wq89+KeYy(HuXm|h41~*1_N2kL`^? zzfM_@Eyd4oweDPmUtvDA6k~lU?autTO}|>rY%ztssinaZ7Q>Mn!_^+cGabWs5JP@H z5oGh6GDc`k5@&@IYd^IVUwnis|6?h>M;)s)bct*!COtZ}6wBR+b^p7iSZnB1QH(~4 zLCK*Y9WvE;*X*z|25dDwwIlS_@S#5kP?I$qrp z6oZMEqM+l;3gu>W3pfyy+KUYjljxnNO?aDt5v0-=$5(2BY`PgR#XcX^G7#Ldg!UR9xbfTS7%xVoh#hU3+5vbmIMk#72&!M%;Nx z@uapewU5C`op$Qq`Vtn?a^&*w2!&ril$%-fhh_Tu^Eu`uQr z?E;d*5mR=doRcZHdxPhZsn^_*m6KqAY|L`I)@P)+9$8&XN{u0_i!J=h#nVJx>Fu*` z^IG~Hw2J|hgHFPj&9a4`B2SgZ7MVC|0?|hh`FxES$dt_V&yi~;eMCN<&t5bQlp%0< zhQ&U^$_p+=z`BOfO*J~qZe_G4WE7QMvniuHJ|SivW9Sx2GtU@is^c=VN&!OiP?SBG zysSAcrPF|B*>9U%WTZzL(rTUVXsGyQ0W#fG$1X9Z>mta!Oe0zH4g`vt$+}!CL>{)0 z_5f>g;fKp*A5PH)4Bc@lz@ahI8L=KHyL6?1jv{vpd9~`u&plQ8;yl;Ai$qDzl#-m$!&!><_@Xj!t;n*Bt z0?6s?C>Vtn@i1i{Hv&PjfRF-AHj`YzT&;lR3`4OjkOom)AVGm5-AVQ=UWE#*uS5B_ zK%p}X1X-XeCjVhx{&zz0hj99{>zT}D`Jj9Oi{@-U3HVis9LF~Ww28$G)?V-I%S(LZz>*f!2hu#`U?g0_}3NDzfr*dGf=?)aYZD2yYKT~C}7v2=9h;L z^-9UjMCh0=%?~8u6fKi=b(8=N>wEw2pnz5({{OKeQYbhN^CzQ#7dA{LjA^S(UQ73N z<7`#Yn@s{XUVov0->1l+^p9ze9RD9P-v3QiUP}DZnGcsEPnuh_B6pq16rlQ(S05=) zDZm6FnfB>Z3UJBh?-bytKNMi5RdEZM0z`DaJ*5EG?f-)UEYj{%nK-2YSN=u;2LBvy zV)&+r0?3Z4YH@R1YdJe~p}%8S&>3$!RzpUO4cK0a7Z__fDRC4CFN7L#Mv z{OyziT%*=KAO7vOYNG^0RMGGBxca#yxxFQ22mqr@S6Dx4`O96 z@Iv$rdaoS@L|mas__+7!5tAvI|HG5{KZ~xIo1_cxw^%8tfM|9mLvZ)!g`AUl0pc(t zz4ke80GJ1klYyL-eyUpjHalJYdkTSn)_WoGra*7PP@}{P?EAO(_1ih^0*y(`LhGJt9|u+t z=Uo$Z*p~6z=mDO=7FdY)DbqL3erUinZ-EWPRk-Dk2GV~#3@~}I7Eco*+Y{QNop_sv zATU*-iJFnYwFwup9qznH@4nBXuuvLffXd=Crsm{;L(aWs1?p(^vMY8OP?#{4lwi(^ zm}w6&D_hcdjQSK#jAPMChG&JP2x;RAG5b88;9%VI>=*M8f%n%>5^!;#4Cd{3vWDfX z)y6VeViarIM~o$!#=wF@VF(}n^Fsen&m2lseT@Ug)Sx(-h_y+>AEnI-hbdVIGpn^i zsYGIQp?kgyApuU;WN;x`hkHQ{Vha6kRB*I+7fn}Zo?tXt&h@>=%bKGLc~qQN%)*skzfESn9KBnjT-*k${pz2PxMaH4*(o0# zw|8lQ`2IW<(B^?;a#8dX{HKFA1~9_IdLeDF%(jR@Y|8>L2=+zCC6TFrz?bKa(<)jE z3;(d-`fxm*0w6fs7E1hq9z+aYnu#4`|3$&4qvoUe$j0R5$4|K1qi27@Y|9 zqZEOsaGt!=h7wIk{&NEq;*hrYjkUz5z_XRTntgu0{kCseGnE$eFC3c=JOi8N`Z2$p z2df_Rz*8IJ#Ek!15wR70{JlyS08{8YK9a>RJWm^DH18L>KSgsle=*1>_W9G8z@(DN z7s+c%@=J&zniH`lPLLrxbU0A=5&+%6xB|vwu!%ptp zFaLy;WcTF0XBSx^=Z_F@;A)=Hyxp=GQHaKwbVokYaZlQ)H-%5bL8I93GE7CE`2Mw{|mNR&)3Rl2o7WG)=|1@;x!{ zc&g|}xuc+DL#uA*kZMS2uHYxQfsEf2UFZ_!4D&em7G!Fw3-RlN2(;1QgNjDf86Ex= zz86(xudm{FtGFYgnE9W$2BrzU;9fnMcI-1b&-UD?%lPC9%F&2^H|NE#Psp*3(Hom!h}BPFtEMSo?y5vtGb@hghR*6C6}o2ZrsET*3xQ$08$5{sOLu| zi)Ao?RFkG#4y)d#zcxTkZL@TwPA>k1Z~N;JZbyDR>%zmp$2q>$CeZ^~$EK1#+;QLH zZm_!T`yTW^mi&^M*0oGq&fwwkOLU;0e`bAo}v*Zd)fecrt*i5ox zAWaHU)Hva_U?Dr4crH$|9Va!7lR3c2a>U9bV-@UTzfpK7;l*QfV%65v1g2td392$f z;&kld^upqf(;+_rw+zC>e(5ucZBdzci>{G4SS%u}az$*~g?V#thws4n*KS|k(R3D% zzrqxMWk^(2*u!T!{@QM6fH$)kUce4x7&t8&7LssHOJn_RLI5r*I+w{4&#cXXf4?0e zS*EPos*HSoGyY_nKX#gItYtXvrb{s(*d5@lcg%9J&@2N&DH>W|NpKCK-!27!%qi{> zVPdiXkPEGyHNFxle6kE95BF5qBtoNV6EaDsiLC3Ppem(1hBG`_OVZVX9RonDBnHof zWLNU^Ok$8hP#n+01|cb0f+>^UDbqD66BLH+-J!-kDYEk^^BlZ`E-{v_scX5Z;}4z9 z#u=nsQf_*}v5>TI#u$^Hlm;Y#k;HKJ%1yONEqqOyb~#=4IUr*xEZhAiJe&wI6drC& zeuYnwWJ!mk(rd@*uis!{wND{O5w6;Fo?77u=8U!6bdm53Lnh?NP%@eOLSD=`T+299 z*QCt#hM^Zpke~)g6EYRk37vuTvsh?5J}D7Hr{R;KWzS4{!&{9{WJS~TZ>6;$h*Ca8 zvvnrrJgyTRXt5pnZzYnzS==*swAXo6XYl=NmK`kVzK2PP2MWo#R+^}s7H@c@duGI; zu<2oriC_+HT{!6Q&g~9CQ$jAGLqKUbH)TCHjWbVYC)dX?Ps1&bl8}cc#}oQ>X8I<0i3z_oY ze;>AbN_g#`Z0>)=Qp@}k;pO^4>T4*H_#g_doTd8p$2kB-r~`d0y*oN(TSVbrBz3`Wx5PW_t|%21QN$oOusZAah+Xv;FOn8@v&_0gp1nmG5e&U6-72 zJW)cecz-+IpHDdZ`(XE!>l)6yb{#bn+i-qzj)ly1wLW{+qP!FNy8ZZH*A1tHmtxg3 zDqsW8`*Y6UdF+~lb%;2%T^?{08SC=Hczu%lK)p}Ky0XYv7ik`{^1bU1)v|r1igo$bc1i^NGu9P< zF6Ix;57xDX5yypx1$+y=Ow&^{1d5w&9RlL?i@sqJGj&s3etZTPd zSO+i(mn*fQs+HuG7717jd~T&PmzIsIN!6W=V4Z^}~mWcZe!Y9HXPk z5jh$I`%!nUOe(zFzOc)|1MU$=V=0HXd7aFrG4UA3Xbb@uNK!J~^&FAc`l;D}Qhk9X zx0PVm(DX*FRp1e?s;5SPhuM62Wec^d6eR%uu2NVN^t^#XwjxLUk_{yXs0Ynfqh$#2 zwlSrX{c6Oe+@BQJ7uAL=xtPub)7aK7T;zo!H|o+C$8*e{q@2CHb3wvi?K{UPu_}7E z=`F>dbweYL{U77Iv_9%u$hE6OMO#lMY8G%JW>-x%8@n&%yE4XpehRc7pwjN*tjI?i zw>0poNHJ-Qeys{5Hg6>j>hQ*vatNA88 z@hh2*pvWgl=hZsIK2{mBD99m;0dPo#!bHg%nI)#U^; z-4=(H^Zzm#IwZw(gkk$$288Pw(&A#}l)0$0u<R1V^duzZHHKq(2$}@wVw2 zeCh5{43X7FAmMn-mmmiT-;}E&A3`z__MUP5X$ZFVq#_F9~J*l_iib9B79Dn=JhLT@A*c& z+^F1P7JBJ>&Av4Ur6nO^i*oa!#-vhX6kO2SNvvV)xMXk83LjR!sKNI1e%Jx{Og+=~ z2(`_A)_9tn9R=Uumg`>5Mf$PrB|2k+qLY>tyVTd$K3?Q%IS)wg`8il}*>;{CFDL5# zd;hT!-4C_vT0s9>&QT>$GNom9k-lf@)`Q+Fj*0;ndLqGpC@sS&Z0&zgTHROxmO<0i z^0p=qQ!d*{)=f5BE;OSiqd5C&V}yVm+a4$+ODN1R-JL3zX?P0vzu0^4ucrHMUH3~1 zNeF55-XRo~B2_>-p@@JeRi$^3rc@!Jh8}tmq<2I>rHi3gm8Mdas)&uMDDZHi&%4%o z*V<>7Gxiwg>@&vu59Aj{!knLZ-PcW64Of_zQEmOtNuFGWYXQ+u(VqHPalIf->DlOd zjVRL~@j;|IyLn8VDPo>1q@ccQg*m6m5*xA$VnD?R;^9izST9PPDFB$-(#SW_R~kb! zn4LW_BC_jvS6B2C2A$1mxO{G0L~k@-kMEQYA>?li>y*r4@kSoUIo_=%tf@oVknwUT z*g-Zr!&QlVwD7l$k1mOqQ>XTvh?iNRODjXS=_cUN@GLAk7EC@jB(@QF9_1z$md18f ziyiz(yd4Sc9Tv-FNE&Fvv;+DhSh3pKq=G4xPH^&!Me^&QMRdpN-lf-tsMZj+y*7u4Lp$)OjG zqZIJ2M{Vc?UU({&QTPy4(2qE!3Vap4Zhz9c{72) zZ-e`a!3VZ9F2^NMJBJrqkY8VH6RlR)ivECJ@U+C5JhyfF8|ZTcVpDGnNLiM5LoqgPq{W>NA$xx8cp$)Vr3WEq~#b)1YjX@sV;fwZx>`0w0VoUx0xKkM3CI{<)o-CVsU`j?zh$toW z38bKfgm|MC)<0AdVCsFcP2)F**dc`o|0==E3)T43UnFHwA*tUK)9)b5IF!n4|15eM zK;{h~hei_6CbM0|vKOJ{cD-dS0OVwZ9tVO5BsgA%R+x+;$Yj-X0C+=GYM2YM`6X=q z;ikvh&H3eW>5$5syQWgmssbs8OlSI*H;k&kDg%^Qk{{7q5*S10tEy1dks+m6o$A`2 zDkY2dD(l+n=qCE4`D&|Q)kLUpN=S{@YFYlMaGp|4;izDce07PH@X=azu~jXtAe_w7Mwg zDKTC-YPaEHY-;y2GFekP5HFN1>jV*PQ#P~3!Q?iVqb@YDFfk#Y$PV5`{?;aNzIe~> zk#l#|*byk00*j>z&aNa#v}~?gCaCm};PMEj@fhCj>NT=9!Q!e&-eV^SCfldCC>1MQ zvrdlFd|b~k{y#QO^DnmRUu@UE*sg!EUH?05S7|&207&9a49INPY|X+Ztq-F9q5m-@ zI&%W#z$Wp~V_%b=id9YWMbk~_Cj$-^ZZ!(elIw_Rx_(w}Kt{pSKCk+fIfi-XT*th9 z_IB1_XTlDUkT%KwP%uG~=~@zm7>lrfHXu(0NE6pQ{@K+{d+#ZOu4V zCf7H~my>FNdPKLJVq#$p$pNe|H=TLWq#EGTKXWWxxehXkR0eQNS++DH8Wcd7i*6FN z6nEaa=Hz65niWdOAtA!uCuN<$yL@Uac`=s`PUIMbFk1Qr-!DPC81~i|gn&vc9NJ1p>beG*pSpzJV^&0#T5616@iRQ+{yhrI$>`ZrGcZ9GtnhJ&#&B!0!;wu55DAxWI=toVkck+p^U z5TIGJA7q#tTP|(nh(W4hopg2LI(k)a6?+UyA`!!J-BXA_EHY{jR<}m)k0q3xO4|Uu z(Nd+1QJaMRsax3=BKZK2YW&-8aIlB`0Wh|c;3I2(F(qty3M`w(0T2qS*EEbKd$6Qy zEK9_=Is)@HgK6X=oF18c%S!Cry$ZtoA>V9$d)t1KZ?~!#KDH)BYFwQ9&&$>Ye*d=$ z;;6%*6|8uqOv(nUxVSL#OHNAFAM(w0Gi86%j!eEKyZ$EM`pr|_{*8PCMt+lTf8~ng z_aWlf68WXHuYLe;8~Z>MG4|9ce3RBB^RzpZh#oL7U!27GQ@GDKk$)$RH3z+<1`-$% zB(FolHRy?Db$AWx#_RN$(_W1eLPjA!tb4*+*-gaMn5bSOcHWlem;}RHWY+Db8IFi% zuU!!RnOQugahVTdHX_EJlT}ulU}Guv|x`Gsxo@GIt`{fYy*Ik;7YYt}hK|3*a@=aWSOS$Bke&kIG?=n+A5v~vvg0CaCa1)S1%PFrKYedp#D{GqE;veWf7y! zm$za$XjB5+6yMJwNVc$$eMK21mK}!sy0uK2(UF(f35itHMAyWw;0iwz*uY1s}c3De@GVUuTx)ztR_fXU%XU%Zwm%WpFQK%^1{18e7SEz1HeFf~$Lgd*>H)HX=C=rGJ!jb=y9Cv`~C&Wh(oL$Q(en=lN5St1iK(z(3jZZ2s5m zc@_UXdtSnSvFBy4Q`@Fb$O3A5OaI<3`)Rsl0&x5{d!CQp{OGz*j@nJ_wXLPG)`#z& z;ix#qsYe^sYO|?RiXF^^d#>sZK<*p1H*bvP%DU62W$nFGFQlD{hmbx`PUQWu=RNTt z)}!glg@{*s^6Dg>Bz*5^{q~L&HB>>@1j!Uo_F^zQYs}b_SKvxT6zS?X_%!>7?zDm! z+-p4Fmw3u^xjRg!uM#oO95e3}64k=ko9WfveR6d8W%|iXx7+D40KzQeLY}fPF;WXx zFGs@UFlhmRXX%79{F*DdUG}>(uSTAQ>4;!nbb9>NQzzHecuXbh8?rZHia!DvFJDbM z|Hq#9{?8ite}+BpzeVQis#X?jKQ(lH-}1N}ek?||=P`e(p+vFPeXdcL_|H}a=l}PS zIRjBGvOTZfzjP(&(eFQh8T|y=s_@vUo%`Rd3jgDF*;FQ@DL0O%a$26P*B`%J;M`AA zTku>^*)_Txn{a7#fcW7N{25WFp!1(B3QDh?~an?NDR z84!06fK1gb3b;@7zwdt>c!B%mf$@?|F8tCbx*z^S>gkDEMi*9Cy(gq-4g`pw+b)c& z?_Ri^HmXrW+>aN{y1*#M%aUT=zsjoW67QntBXi)dn$8jvTqBU=WZCDhd zn|p#b5kT?4i{_Plr@e+98KefxoVf*>n zcL-SJsrkyBeqp7Zc;m&XiBfDcJ*92b633O75^dUIR)crtIid1f!o(nnzG$m0od!<~ zk|hL%O{B{>QUl|>EnGqLBpj8-1kHMdQ`8;hdFkOmxHLJSez+1R_q~$;Ch}V{6ko{Y zVm$mMW`t$E(J=0rNI^F0V0D!`Ynie%`vBDHMES?jYPL;-M zY(^W0u%hFxbk!4EU>*+Qb;x84-FRQBfCa`$Ir<)zYsSGzmeBruI=t=$eZ8@?8T5s* zu{UzDmS?@2Z}FEoI^HZ6P5%ec&2z6QACYap!v$LEBzQcBG7AwuTuQ-iW$`N*>EZ>)E;Tw7jDBEqA~IFqlu z*JPr+!b6{2q1CgMOgWStggoHwm3gb!onSz8Ei2iX(z!S``nsj#;DJwaoy`aRH~(zU z%O7>om*wDK=+`o#NevcSw6~+N*Y&1uk(Ub-wUpVQf6#KN@NMquTj)^|@kW)e9rc{q zo2dfEGtnjy1d)$LOXwX{$CLmz)j9ICU`vJ2`5h?8cad8PF1 z+QRM(lrZsbI>ea&J1Nu2&ZBWgU|Ia5-@@aUU$P%`zI`&ov?{vPDzSEF<;+iWGS zf;De?<_ij6ebXjPihPldkIulPjVD%Y_^5PPz!Y(5;!}=ql3tBSX`ajG$f6q)b0S&m z%qXr>fO)n4M11mn)gZ3bQK!R{6#f&vo*03Qy?{ZwIQC8m&X1J+V$^<6Dt9I6lNi}M z*G2<;ZOJf^q@1{?&t6L7*9vv%Z(>v&`VvIpwjb?%dQePQLz|!<> zRg?2u=9{&xKMHucD!XdB>Vxe*QnAgx*JHl$tU?!1W5}(hRvvBoTyD|FzB7AY3HwY4 z5pFHE(zyD_jiYWnNF`IV=g}+|UZv*yC@w5lc(ckh%2nhIj_E9)OI(nk z*{KM!94Fr$hc|y5oopd^y9`FX<5mzD?^YU5vjYNr?y^fM$iI&_F~y^nsf6v~s}%(A zltT(k5Q9`y4_QUt_`o(v2-$7Wk`s-Ck5y}s@VXh^1pqqblf?WeZ~8FQoTsEkftD+h zZt*9D_Q*}(6fReTGZfVFG8(7i zl^{YLuBj@PLa$jfO{Su}v@)$q<+1IVBGYi?kxXN@EK|iSG>S)7JL__Kl0}}NaC??& zY1WMzu7AF*(2!MSXQ;0I*P;6S|C*}IwlZ7tzpBcT&P71E{zFwZQ`uK(T&DjIRaxph z1@e5|n}@c2|E?;ly*~CIsxt4HhC6>Nsc+uP{_7vPdFXAv8{=(FYeP3n0E^xOhQC#1 ze{%E1nn#aqAZmrzKuaS63h^0#a`P#43Dae91vW3=KJRS3RreSu@cr>eRTh6|lwK`R zz%1D)P2cD#d8o$7#8dLto;UyeM^*MrQobs7efp1*`sl~@+E~#aRoNdU^|Rl%mES`( zHM8q)CH0@7ntWS9>R?u)8UGB`e{L&xHdo?!V==1)va0O&P+h(H=eCk4Ifz;N|HV-K z=|S83zlZAoDaiK!XsCv-UwYQ*Cm>0Ry;C+tX2KkdFODITT$Q02f0!_2%5T?KsyxdD zPw|Um(bG*s;R(D*s6fw-hK3k!85oK2#?h)fZ%ToI57q17@x<>AO}cF2)bN+#cl;lz zbC9B8lX0=6{TlPkW@FKn#|%5uMMi0(nqO?WwqU5MpAV|6Z6-9)fP|XwghOh6|0vZZ z{wK46kMD{}gQ#qw0IkI7LEMsgHaQ?c^`yy6UXzFFFnhr^Yj3sATR?jKrd)TX{HbZf z&-Vp^Uw?imjywBnvpmQ9*T?EAqw9*%bw(f88ivju;k#WOetu37Q=RB}Y#fSul zIXm6PHcWEi9I?sawm=(Wgg6&4I!3*d2vn?Y*k^p9+NgSphpQ%k1^{ql(h`y&FR>p8 zyxIyDXqfaMhf=iu(5abg76m(o`=s$LsrrY=XDRYfom9$Lg&h#H+DWh&FJ*2W9ylAa zlc+t(%es>JOsdi;-q~~d*?qpj^W7g~yagRN1J?=S%l#ov1!YP5J{MJfnOG_vmhsZo zAbHTcM1o;CKg$Sq+HN_GQjbQt`wdp&pwDHa%}(e+dGar>UHy67npDBc$mRUq%xc35 zG4qkpYaP2;jY$;}E_!2D^Sjw?pQk45rw46zok9-B!1BhMIT7*W91jwq3KJ`1#Ltw1 zKF4G9AuDvz6va80;%NZ)6)1oy%iEReS0%J%`dcsnbF5e%l3O|^pps|8w(@GY%k#T{ z8rNq=i1?`FDG{S(hdd!vI@HglD%w!cnvf^}bV8=);vVnF_y^torZId!6&FR=_(Xy( zQq%rQsh=p16c5KNh zlzB>k1KaZQN`O#wYj4UA?FrTfLbf<@{OXS`@K4v+6v$1^r>)(G&mV^W_>bH?6aPDk z&`sDia3$VkhTfr|j70as_z#Mt)uyo^`AwYw0Hhna>a%o165!oSwIQW_xhIWL)k?@$ zwYeIRS7P~YF7mN3M3(^=T3hU z@hxC9!91FZx>+BZq2h7hN@A*bXWn;BgIn_}Ck}~jH zTFPWRdUKPHl0zZ?Q&Tz19Hr8yqLNEr+>fT-yiU1X`RI8Omw%{SHGw+t;ZLul8FgOp z-ktV0CpDj&kCwJmTDv}6`ewD$@pgIge0MU{#$5;6g}=fl1}eFH`mrFP=Cca+a=vJv zf~aL^YFiFJd2S%UmeDzh!r)yE$Sg^4uPZ+KonfA~kpDr^&FyAN@?Hkkb|X?f z_IVw5ehI~1i_wP=mzgu)vy{Jn@TgfR7`vZdaNTg~hMvNL)9!Y=h{)$VaZsfs52@x4 zC*SOQMV6DxQc6mEx4ZBPs~4~AJvjH*4w0Ng5%~?Wsoor)`MIIE_t2}K>eamuhNYU9 ze@)%{Yrp#P(=GFdRmceLk$({*{~|{IMU4FK5F`Jx0sVh$1DeHl_L%gws=qLSk3y-#fNBL@ zQ{{AtPns$1r$+?NC2_y(pr{p+GqFXc?OTG@gF%tGxIq~-oF$U#_1T)AE~dUaxv3kA zOW6!$l7c#uL*@Dgf%f9)Nx+k!Zxtc)!LK?g_m!XA{$z{joEDIq;>U`Vs80ePIoMWX5 z{{A`m72*wpqt8o=LV2@ip~mzqKyYfBX~4}eyXzf4Z%t7H+$IpCnX+(1JFT%_Ps;k2 zdC7cy_^H)I$>(U?>khT}d70R-9Bb`Aev_cm1=zJXtXeHdTY3tPzu;Khjb zO~41YgN526KfeMqsE5%t>ASu1lTZ-W0)X=XVCNI1Oab4z66Ig2cuZ6{5cxO#57lq| z4+|^$X_lWMS^tBJAnSi96n^V}KI@{d{jL8gj`^+snTYwV|1pbZN7*})^*>rsxBk}u z$o5p^ARFMPAoS)QzK%8V<(^8jMdIq7YL#nZB-vd#n;6g+p^K00 z2FLX(Bt`Cq4Ps@6ni)?=sUR=F-ppOqXQK zaP13|h6qntWDHXNIl`rqWeU2uL|G1zVwA9Z%G*|bv zkJ&OFEMmQQRhcZw{JWQ6to4?u5g_a}z7JWcOtCr<`}?tvC=elt3EmyL97AEy8_Vi| z8!gsM;^~n&2_OlaatU_xa=m4W(v<<9TW^j0#`EGitAUqtPXK0#M7i{V*_zTrL)ymRTAOq&t^=1!T$QN|yVJ4RIJsT5fV@8WiJZ+i< z5%cu<00fU15wKRzmSnL|fBjUXBpUKO5QT0BipyfvK%(nJ(UIzfbLhNWV?swvzKI>u;F_<{G76)84pH57?7){#TEqIa)FfYu?y;Ba1voY z>MgSxiG7?$b-SYy@-YREgqrep)nQVZOhE420;H|vOAect&z{#`5urAb6`w#psVDam zoVzOZ9J5qwrVZOmv>arCEbYIx3H*{fOOR>q{c|JN<^S%nui@8Lee2g> zpBl-JeV-q{@jm*}_MzeEYuAsjWJxCNx#R7AmRrX=!y?aurAOtzDc8NVjb0~9GGAIN z2p&8#+5eCm`}ANr?wtt;NGgs!+^jlvmn{E6O8vFH;H|m8^XAsGJ7$mTPspj&aBA$* z+KZ!Kx}=4l6oT*iz$Z|0|J=3roJ8JBlw4T#PnRUm)7BS*GKLUdg3(A0SP6Kj5(j2n zj}$O0f##s2nL4&(uqQx|J5|$tF1C9jJH@&n(3z)<9W3W!D#ZIEV;o8m%i@}s)lSKEVwQsXQ>GCZm zDM909+&_kgRDbQH;$Y>xw0grD?Em)IH>{(yn?_737ZlMO(YM-7&mAupmLC~03favl zhE-s6^+ua*&v9x>RER+Whpu**-r^3ckXUJnHT&yJ>>~+&bXI9BGeH>F4ih%ab)mC? zJ4G1u+?Vt8r3YB|1ja+LGSPa^v(`y8i+tJijCKZ@nI*hu58qjYSzfw)V_R80MA+Pl zfON~+E7UZh28xS~;sdS-F0Jc|XZW3729SNi`nW1JTK$Qyhj#~tVAE* z^JJ?A$vR6aiE`x8^=^yx`z&)o1FNrWHD{RGb&i&m#!-Tf&lT z599Mht-!LE_dZKk$zJD@Y;86ju{nRf(+qsoU0U4>kgc{m7B;IIEz|&Omj#UB6>8=$ z+JpxP3^USQO#hXI(-^F``SOmsX!LxGzT|_^d#mPbeG?C2`Z)Y!>TU$fJbn7>;HvjY zoh_bmwuk+DBVk~PjbY3Jc6Tx{IawltJ5guEius~h^qQ0Wy~1(#>_^4)4_tK(=BM)S z1TAb1ntbg*-(vj!xKe1yV`)~$`*c=Ls3GQz+ZYO+cSEq1dyYrGrHOtyq+F##_5rts zv~@DM>%!V_`0_muWHWzs>qypTIW0eWZ_j9+C0lXH>2>5geL?PJEcODdIoaP>zO$k0 zf$sVd`m+@^oXrlWK8#OFhZ#TF_No{7oQQ%d*iwM=v=HRlY~^JN;5Ge-$S;m%XwG^& z&zTtQx2-o$?HxhLI}_U5bO_)kHTT;m+ioL?L}Yz5=NIshF;DZwcd9I$+S*t&Ky+YY zU~FfLf2Ct;!s2Z>fdZwei{1aU)|dZAKy}W&R6#006_&No@C|@L6}j`3(F~8niwyTA4TRct!SuJ*b=6O5Q0p-kS+0 z-ku$SZxXbo7;ir=H}Osi$|G9nXQ_e zUf;sMg+~6;!IBs>2Jako_WB%el4#DpiMntcO&QVB%44*XV12yG`m$|M{w(8~-|_j4 zZC9r~XYGX!xpk4#^KDbcZ>4?vrr%7S+*92-@dcTpW{?ltU+674M0<8h(_IGN9h#y6 zY(u@9ztX)3yg_u}j2`)@{bcmAy?rUKL($k<>~K**nxEuPf#XA^hu6imQw26QU)@%8 zSS|S;>DjmVEVyyjWA+Y_$Oh;|jQZ4Z_-Euk74Rw2%iah}^T#>7NL9s__a4a2ff7b^8R1!-OxcG!ZDR1TnU8QpQbhm$xt%W4apQgefY9x{aT&n)S$chh zIUlw@w3ADX;_mfw3RX2e`KoXfHOo3;+ci#p)Z_<|_f2Q&2kiFs0wfE^MIpMjs93L; zW-(et0y04NDOEM%Yut8UHlw#c_B|X8Qy}qvJPB8yIEzxryeXJ-77Rj${fIIqQ6CS5 zC$9%cq7dKuC^+q)AIy;?BJ|S}*pWYcQ5P+lgGwo;JaP`dYK9bIx)S^YH7^N&EP`U) z^n^~*@W-OK_5=AQBaBS~nSzkRydD>Gki4<(=$+fQ%;8Jx;2B!9a4ybaC6bvB2N*|1 zk{!jS9+Gy@0|0#u1Y9JyzZF}_@Zx`bKuHCm)9#@Av?CBZLAKS%FDrByBK64xe96`k zY$EM6LqBW`JBoJPCPFioU1+3YXenGRT~P_nNUat(5MKnFRIF|Z>;p1@#TUq&VCOmA zM4HWsfZiP39UbgV)Ot9lreg7yn3QFz6rTQU{{(2G{{h;1i`HrdLS zfDN9Ywmu-?1oYY1M0Q^ogJUYUdcxT>D5WUM^>u3QV|Q)!=qPgg0S;C(OJ7@syq@jN zS4>+YnE2TO%|h6S+fjq;s4L&2d69^h)ks@Xy58xI3ZI_C5RM48 zOOo$#ysaAoEGLNIVOp~YX-TRA3uLh{Weg~jXa-#lx^V)~i&>(PU_b_!0Y@XIf{^`J zkq=*`)`8QoB`O%T8+(ULm>}eCwbc^QOac=CS>YY5rhJceLDO^ zmfgfCLf9xMy@DBsjMHg$C_R?x;G(F0?VJWCi>ozAnP7B<4}I5@>r&as5;w+%c$*Aj zzAnn(U^WA~!aMK^9u^)%&)q9gAJxRZG+L);+>)y_m{Ua*Hx+%j&H@`|0 zRk@rjj)K3fxG%S(5@dlqyp23t6G>y|{p}-in3M-9$q|-Hf9+Hx(nNDAin7L04#y!a z6(cZqApULI*(mDCc!Tgfq%UhMjZ`9N$Ch@|hO*u5gmk+`5?q&yTDC+EJ3_(LM93t4 z4=tcGtE;HQxL-!`V>b~Cf>3YWNghGV>!(bEfz6s^(KL^W?YM7iV2m+xxRFlS2Pv2U zqx*M>0ZXJFk`iMIB^e{@dMdeBz_F+9$O%a*j2Nl{M=iidWu8z#gU_q+p?v`X*p0C= z9c5nv(YZfSnWKyu+1`aBnqt9)=O>HcL=PMx6d*-$*ZPfG}ZYgR>07IOiBg_;T%rdiDrCk=xVFA+x>$=+()=u})l?N56@@?dlX-R=L-E`aZX zmps))J%y}fSe)*6jhy#m^V1h~=`xhk4p8sru$E&0mNcd_78|W-gN|8m2|i0I>Hf>Whi8&>gW%1)$oh3GfOD~j z`?!afvzK4FSJ0+cIIP#5p;e2b6(eDR7w?weQI%Zmr8;mOX7>5^@tVanW4A#^RSAg& zMJk|i^$yGzme0O!0#MTR$TNOL)}?S! zH+=i@^`;>Xl%4QI32n(3*W^Ry72dHfRDdD-bR|*-M>`*ncCEA=+aCHb+|4SLFJpSW z22*s-cUUwnaLG`gg7MPR5=uH@0@pg~$D2<1Nucu@Qb4r9ql1I4xNLEh z+td7D9`$iB>YiXzP*01S6^v180rfN==_Q%&P(7`Wr%sW~4UsH|;#Fj>J>&`t)B(e0 z#ZlH`gKueGGV^8Op*{Lgcc10p>p!PiCh;z5ozNyz=ouV77->E_=ww%SQ7@(jsHBLd zo!F)=`~F%>%H8IH+L$gp{3%Lx$pU}EWT4F8B{#+F3+pD{uFRo1M{#DZ~dg zx*jqZf(~@=1erj$1PM}hH}aL8KTmRF3C{enj(*Qst(V}I^f&e7O%)R%cZC=Zj@@PO z)M(2W=#n{~AZBcIh#V-R# zu4@Qem$q;GB{~nk#4zZ%`u#fcx^V4S%dAL~1Cwamll&N}nKdvzckGnc`T8M}kHv4Y z&k-C1Q-q^a9w6oiTy88}M$k*%cL zpKjW1I8o4AZ%1&a(SWUrHSr%3I`DxoV`m(Ex zw63e~Y|-w(0yMJK1L6IR3zIbT@vS(h$sVhel#T~V+Rw6~y>2MCU%YYm&3E=xv>2xfR>GH9^#e}PZ*Q4D*#9)~CiB9R>tAnMM?6HwdOU1k zR?&E`E*Yj-_LtFc<1c0u;!p{_0PJwBsK051^;fjWuIzKF+r+&?j}_CqcAB3j_8^@IJn!luZjM}i$4)NokVyd7~Xwby3_-})&5$)iF_^g z7aPlbZQoy8r+;npobFyc-M@MIJ>vAR=#>4(r%UP=k8i15sz2@Axo^s-78${i{qQu0 z8d=fnMMq0oR(AyTF)7bZtY{KYLi+o{X&iv}V%ODz*~v9sBA<4OpykxMUZ&{P^v|!o zHVks5oL-b$PQSlYpm_W1`rPz~%f;&QXBWY?9FJ2p*+5S7Gj3Ww%lBV|$-UaTT5tKp zdt?69C-cJN;Y-m&42#;;bUg0X^Cn-WTa*>;?=H}L89lj5(Y9zYW7nR3t7wXG$8l>?b1=;_R4^P z4KqLg=X)nDdY&#m_5I<AK4z;Qxs>L18vR^ zGmY(r)S^}=-%>0GQid!nL<3;<_mvM z0CU|8vqAuf(rRiXpakHGcwV7BD{gErJC%#Y`V15A5;}b=Kfvbuii3Hj&pwJWYXaqj zvajl9MeVl7q-EBIZt6v;Qi}WwGcA@2t=A%IK#X(p0!`??snq@%tr=?2~@@{qivO4kryLB0-A_Xr>Uo@87`r zg^$WECTrSd`QuRj^KR-9_S+L9%|(U?%IqTVZ8z+>x?YO<%kFhgzRx$Djoy+}r`Y_? z+qrli9K`}3MF@D=9!>I5S&FU|V@g@0dAum9seypaqZ%Hvd>H(cJBH>`rOSPa1A!am z0T|0PjF!7fEPaCZwO%!`$~MAwymIK40h-u#!(_8ZDDhP+$ z1DtUw6oF#5_{AUdJ#W^ao#BXWQ%@0z?;K=v0eoWFUM8n}e1tV+k9i*TJs4C2GtsT$ zawVoaX2OLuPRf;*XT%DeBvvaWI-^*^gI1${QQZ$BC&??XaBK-1M9s)x#SA2P(;2Rb z*~KuGg;9R+jmV0vxmTwd=@lFW|I4+cb^BvqaV-!rT%kEJM+>y^t;WjPK4=o=@kol| zn8(ta2G9ZxY}CGF8vmF*GVwHuNaa~5TBN?|k5IZ);ZAP}me(>@M#dUPFXt^AIoj66 zI`&wTJmTJ}_Oijxmq$A*5zJO6(=~pI^M4@dUhGJd2pFFb7R`t!TX%A-Sp}psSt(U# zMAB$w%We2A(ZCij+E%5E=eh>uVlj$oZrGWFstb9s-&YMta^O(T1eZr+(udN@161@V zU8&D&D8DyJRd(aP_Nz(#0YCw;OoM!D;_#+&lSMzuGBU~ZNdB!Io5kw z=kO@3v%{0LBubTI;;R#=a2kSJFoC{iSn)O085gdPH=)r)b!oqJRZ2B4!H-nzS61m* zxXbAQ@O$p$U_-~!(|(Rs|KY!KSHa7uN8))zY%2E(Q6ayMPaUQ!XHH3fYjBY7mm0{| z8vsnW`XNBjD%KB@R$(T|f3h7TX)4Ul$nBVejDI0?^@)(VJ~h_{xJn(E8_d&MWfq^K zq}etnHmj8L3>Z3Vp9wJ;$lTyxwSvg#GQhENjw~SjjUPs<^t#ON3%E=ARf&<%3>)wt zd78V`RFs5Mk?6;KWgb81Sw%s=b9lFq=CqRdg0Ju>r3*Vh!K_D^PKLM_KtouuXBg}uJAr|9k=<)(fb zUiD{B37Ff>P|({jV9uq>Ira$;YaeDu93fXpAkpE&`!lmc`b(MXcYhI3Hv*6De5$c*hzLI?UvnjDXTb=7izR~%m`ZuaGCaAK!?DOnD+2>wgSy)}y>E_+R zXjv^(`e3MpNu0OhRE}5jZCLvmelh@~9;^*aT51#Yjk;nB8JTiU5?*SNtHR3moF5d1 zQtD1iQ?vv4T(u+yRL@@R0dQ;G-oPWTTS14A5eAfB-=35YNky1c8vgkv3N{~ z_haeXb=Oa}4h|~2FRKqpEt+kX?+;`=yQ_!28OeN!NXeZfA?|8O=iw-FVTi5oz%U69 zZw`;)OeZ}lK82dtkOz8oaHfpID6Ijxj2QP z%&DvNOpb)?;?euoLc2AuEZZZ#6d}kta0lRWMqWn&W%u zBsg`b=N?AwON`^36pOv3^4AoSf2Isw7X%pxyIjS#N1M^o#TuWT8e_Fc^wry!DlCrQ<`V|Yd z1y8hKa)qU`mDLj_55b`a_nT0~F+3cfZQ4DmbK5(j2H>qcx zVGiVZ-zacc_pQ~{Dv0iC2}qo@HWwHcJNNSJwujfz78O+-`(#N{o_8M`Ind)eu5^le zW_Nw}QPtB$P;-&IBwix(ov6{Z988?D?x_05POVi4eTeYIw<8f@*mCpGOg;*X-7Oql=PGjs{*M15kWx_up)|}>1*yDMfOa#4kQn+jZkuP7^`5U9ZRc40`@M1p4oJLs-YFMMQ_3^p z9c5g&EnKEwrn%%LD3|uZ3END_KHFC2cNCA`pO}K8Ree+nm4^SBZXer{AY?XB!7X>n*aV#hV zy`he4(qNk%k9nq!N0*N0xQ^GNPFh>tOCXkJRmYc8_re&#l7ZIGQ1|w6vo$5orZL8c zliS@!H>7?jH>l|*DMRu~iu+^Th~pt7YS0MwNX))JXH)SW74|g7W_Zv7P1nwvv`m*d zN*`N4>=ibsBBepVK(SMe(3OPg&2x#IBX^^y=}_FsVc;jcEv9A#Z2e4`m`p`}z5M!- zH4o+nE6^4SXiy=!HlmL;kNe1eJBYhH!zf+vjSYVL8*pRs>)+_*HrV>?e zkN&!%muZ|>1&wK;HtbLy_jF`+E-xVfTp3W$;4kq_@Nc|mCH@F4t*;hTN!fUty{jRvPl+e}|16C5tY-bo;Y#3#Nsgt#t0 zd&Btx9yXFb+W-+r60}wU6hIrLgxGDG8`JSBf<~VVb@}H-IV9q_*NfkE8Et1ib|i4P zXb(G3?dgu|)!{|HLFFE+`0jq!~{dGiKn@96zqU zM@)W|0DGdAVn#4XZ7a$_jxao(4Bxwy?>dk-Aye2z_Z0#WJP(oJrQ+`~5qxfS9L{KORZLS%|ScGR$}#5 zdM#FH-35Hz1y<-*eEn8eC0ApmS7HrVVchuVBa0&IAA$541-gt&O{92)1TM(mDw2)VcRa%Xm+sN?)gJ@EJ%~*Q@fMFO0 zdfkP^g9ldFR-L8DZ{db4oQQHb2WGk=U0NAgaZI+ITs#|!y$}Yd)mhAa24SryU-;bh z6b4o(%Y)bjWPk==&{khanP)g%y#;_r=!gGQI9*t^F4K@gl&FJz&=;Qq2a}~-;N`mM zyq94(255bTsa#J02!w`sgLn{zvXlT8Jcvrr239zSYjTJ;sE1MjhI%j(gOGwZ7=~Px zCWK%M$_ur{N*#kJTWC1X;Ei7`aS+Y+sG?qM2#Azl5SA+CIEQ73j7or(dJqNT zAWELm1bd-hgGdEvSiEy!g;L-L7#xOkh#ih?h*UTRlY4{scp}>^2?RNbXOK?dG>t(G zVJA)u&eREhLT`0D?1s2Vf8dl_OwQ5LSFO zx%v}@EsX(q2qJ?B(h9bv6!i#vi-?(I#2aDHCmv)FL<~wWh<)(2l~@R5kXpYqh)Spj z(GA~z&;>aL9@vn83SS>keF%eY zkJ|wnR?2C!mYGZ}VMs=g1QrFjiQQ5-1{aQGgGg#oIEH8nW%}&~WO#;3fY!wWWiJMR z8ZbF<2n7JZ_gUqE6vD??cy=4F9HMx*#;?oj|dTNM#sDs+cY~D_$u(I0YH3(t24k-wOsoVvK zWC4TFJs5n0PzYBTL~Tu=YLkm(e7z3Q@JmzBhO$M-h@dtApwKbZQ;1N9CqW#=YKX-O zS+co^EV+aD>TUVf$A!Sz%pKOxWrcp2N_x_T_2ifnV3%D;g?ch&U*KF{KnDDV2BeLh zi@^*JP1FK$B=SkA2%m2ZzY3fii7^6JXYJOD)o+7H-EXB3L9k~8;#^@B*KSF!H63#1Wr zO#g|4YiVvsb7h6qD!*Dix7S+@bz6m2Ec1>%&U98U33ZSPepJdjh1(S;TsOXTLtpVk zmvUXN^TWpZS-M`IEQ#o7ef2$9a|K`JM;*pLhA4 zC;Fn-c$)Wlk{9}+&v=?|d89vjrpM1-&e9XUm&Ch(!-+a&Se9-@V(GPvnAAQp=ebhgF)lYra zUw!}AZ++N*ec6wF+Mj*fuYKIVea~NoW*GQn()(-h{bC<}gP?_LNL;Q10OL;@0&0He ze}3qXe(9fn>aTw5zkck`e(m3W?(cr@|9mocLU*=Y2_PlXq)L}E zZR+$X)TmOYQmtyW>B^Qvw{q?3wdOgO@Zx$2#zqgU6mZR_?e+_-Y*(yeP(Ab|gs zVa@XG>leVXzh=>@y=(X|;>3ySCb?xf8hSLgjn{4gi&(p83kQ+B`;P4aVpWnVjHd#ay zK`;S$pi;uEx8P3O93vBUGWkT=d=Q-zmPRfeq+v!a4Rm2e;hYoCIiQJ1VnG~I6b_0S zd591I?Y$V0OZ@4#-+vb2*PcK&8U!DH&z#c@G%f)ZWKYlR#}R%p76^ckOZop7PLA5( z7v)1x2BlVe+ko>Wm|%tjCSI+LiKB{E?iePR@Oeq*Q%!19W0ekx*xW=i;yK`+2r{G~ zgMn@};Y<5i^Br>#0dP(*pac_6M#-d=Vlv6}nPoDa9R-RlJVta*GOJ)hi#CupRw6B! zfWi`9nO>?;IKe35iK!O>ASs>zH1o?Z#6VR7{0KEJ>g z6gSS|vX3^;K#384@PU);elID@6ny10qfI$(atFXQrCx%{eABu$nZsIz3>~Ei9fov@*Fc`78FXQScv2!k@j#+TJQ#(O z2qjHxqlh1Z{DQQdl+YnaB7XRhOs$EX0}35}bWMjXC7uH{)}OBOg&%E)NXRBq7j(`l zWz+FX*zpnsA56xEY^>k|84FH0xZo1ce}rG@(zm?a!i(gKgQG7yyquB`G)g*tWq*W+ zKI}fYSc6VEP=W)WM+T-S?m$4n^N20+sJrMRthBQ(mTE$-%{h=%qU1K+oHIxz{7{0% z9Lzia2p^&7!UikQdN)@ArbAcRClt|FX%uCC+2WY;V1+oT8JkjrbrvB_(iT)>H4qSYR zC*QJ0JA!f~YC*#%`B4j!x-m%4{P7u?`-M6*84hwtM123svXPs(vAX`eOO-%!$uYJ8 z4@3+D9u8VvIlA$PVXSVI30V}px-p1HSnqP@m_sGNH^^sH0uAs;*u_GDhT)9^9nfgz zC0JAmViK=gq0N6Htp(TQZ$w~qV6TH5}x^1=7aQSHyya0d>aCCzY z$>d1aU)-i^|r(jbkp3ZR%VzjkZi(;d%ux3V2jBKoJi_taECO4y^ zb%*&m$1WhDi!teko#1%qjnpv?FkPuV>R^UCz`=`rJcAtOM8`N#+a4qpG8dtIhKN%4 zrO|%LMxXtXXuotn03hzP)!bGYVatqh?1LAlg9axof!jG{Y(s_7kXp(Sk82F0rSdvQ zIf_w?M0%zkw5tcY%5{!i!b809=tdErh6!*SZ+QB7Mm!!-3HW}CAFSYmlD-sD}KI>xh1$Dv&~Q_Q4FCn9qc+rTO@*KY1SG8A$5*l6k>s9 z0~7a-YmMR#Fj`b87at=X6?R8H}#I5OY zv@-re5PL4*0q1m$uK8imAKC;Y3N8P{U|=nWd-g-B%Seb7+Bw@nYldV6N@qJK0&H8- z&^bck&tjS`9{W)wF316nLgs@P)u_g52kDbS-uo8y=0(%c!3@dW8yD(G9exUFje~pc zDCn>SzInk8O#+49_Qtn0$N|K1@Vgq58*Na)!HiqryBdZ(-8poDyo;%cSQ|5EJs>fR z5^V#5oTx`UXrbRn@ca=%!cROn(ep>#+)L&ix_+CHx^V2A=bA{HDS=m0KQM#7j~E1h z0RRnTp2JJd=teWUA>08!0u2fV$0Z&?hHRb#!=CeI`HC^fEeWpebBIUyxB;JYuwo8= zN1u?ck%wkZ^AhJ11~}013`_s`{e84hAKwRI_{I+dKEfD89-5c=Ib5w&wve?%(M$`w zl`$E?X5gge+`+OXq8VX3$4*HPyiM5Ird(q60x5Bna}=7-XG9v76<9V!pit4PAjGvV z&81=|f*4uljRn8_<>bUjIVDBNIcPtlbI_s;iueU2)=*cnjXoK&X6rAirXgFDuQx-;=Bl79kDZ&_Oc5 z)%>wkvH3w6fg1xglqX2mIbedYHA6CZ!Ws-41V!4p5Q88z5b$&jTd4#cfP(C0RHVsX zq9wu_kis=I0|}A>()j;DAxKKG34*B{1uf9RwjmJ(LV_)vl^+m-oaGSwB|{E@QK=Z4 zCp1GdV1f@Jk*R}E zP|k8K(k>_6g#5pKK0mTSEAiVro-g;oREL+2C{E}#Q!&Eb%c13F9&XVx1z zj6)?|A~T>v$Niymky4N7(>O>RBfcRXqJt)}r+ZpMC_+O!sDr;jLpoaxgWtu&g|TA!3`0ER(lJ%S`Vg2d zP}Sw=7c`94IiLY2@B`ww3x7aLoe@LZ!~+)1pf=Q?HSS>k#SNtNW^8`Q(ma}9_EB*9 zfrp5uON`9V002K=f@NNasdy$G@a9eq<*lp%)40SrctW!2O0;1Vba)wqM2O62Lr4Y6 zR~lKU3RK=0Rb7b)Ay7g;B*IjQ$cX&jK$y@0u8`D(Lt`?E4p}243=!{LR2lJ_+?@Zz z=Or5t?WC__)J=72QGx=CJQ>#PTCYVG{#j#;_$G;rNc#=tIbcygAQ7Z|AuXt7{WJu; z-c49aO$3@@LQ!i`RweL!Y6``b)L19*v_wMjgS0k{86l>pk?Wj*n;TV?v>L~S!~?H^ zEHqdG8gM8OsZuz!ArQSGFT^1)fD*u{LoOH`Ixy%y01P?o5x|kdc=7|0K!Z9s7i`(W z9ZDQ7i~}jn>@y&XBo@piR#VU7f^GS1dlJcoD9)aar@QgQCo$Y-Endua9gMt0@eBhZ z)WbH}k}~jvCpj@WVOsfiS4gIHc}=8LI!3W4pQp z&-`W(;U8|qU_ZRbQ6v>4gl|Gcl}dVQk(Cj05<|ZhXuOBEvP_9Dz;aC8kP}0OC@I(=$ejY|a zP}~GhA}AIO$=*^@>_Ko}tO`vEHEcNSWKO}AAlT){Y6G}Q+TH9VC>;MG1#f~5O)ezR zLTA)#4q-w^g2+PjB??<3+gPIq6Xh@PaApdW#a30LWo%Ji8VW@*E!e^es*NC|FYv5_ zA2_DQmQkD80tK(aRb|m2dC$j`3VwhC8(I$9<}5g%Cu$|AH2`fNt3$TX*Ld#JYO#YM zLrZ#!qQZ?sJg83qCGR*$qPBQa&Z>jHSc^IolEfWy<^UWz;6gr>!{;v2BDNN;dJlN& zo%lovywn3F@Z2vnjVuYB?QBCitSXzP4gl1{KMun-jp#NkgLxh7yQtSLg~Q`6qwsEn z4>Q)fe91X5o-Y?9LU!)Ej04y;@4HkfD>4`|J%icB1K1Ih^&J0+Jeu7lutFs?12kX^ zf7l(~eJ+AsLMRNwCFlZyv4ZdR1TrNOfn8Y4*7H4QUeThi^;px@32KaS!X)Ade?Y9( zXfc&x8_0Z!)=+{ifDHr!8vCsR8%vSh1kd_1W(@K$Es#wtvny_B2n5aW-Dq$Crdq5l ztN{m&bX?^C=QPfk8LXJ!=p|-x&UB~5!vpt&v3U(rW9vW&0tV|8(-2#77U>6j0;!6$ zV&T=3)D!|MgbHVG3Q_g?#NIW?@Nm|!$r={$>||1VjUYfOy3oSeoRPb->H-M@4ks~9 ze@GLP^!>mZQgKRrWpEu6MY5`MrIfoh9^a_uv) zXC~(Y$+`9^aOR@Xs*$f|o?y-^h}AX+l42Ge3aBBT$tsmo6uO=rBM6 z(q(tL$P(?qgDTtddhrsxw8JtMZ7{4sZF-h2S;Fq3Lpzl2ez{3JATR5*9T|X6fqe`+ zc4_Oro!&(lIq(A`_ZH|tt}o~#y)e%soX><;&w#T}B`iwXU6X`U_#Ds|fepzvI0G~w zPodfv^5`RU&q-7%aEt_lWHm=Pc*5!lg1nYWAyof%)mSUIKD9Nf^;&;TRQiFY*!1|; z?@Nni5FL$ff+2n2v`$BPW!#3&RO($@W8NfGGBhwzL-3&C)HQ^;ubPnTsgRF{Llgyr zR7z~i?_@*VHz zCI7K+6Z<$^!+n0XJb9AoAgGdDF6dUz93lS%eB>O@bwj!kD=q8YEn`Ao+HMjZ!XvY6U5$vBQD_1_n)Joh6|ju);Y6g*Gs<)0QV5!{Kd} zb{`L|k|Yjss}^WCdjJuVb1l2J(A_q?r>}FvZYy4I|7<2J&TUc2JJqb^6i;$%l73ts zD-xIelnGGO12_fg;+|+N1L^;e!!CKgxgRch+k$xmNp=FnBUbIUX=_L8QMq#4&i$g3 zC|o#g;J}@GWXadKg69TRiZ_vAB|g5iq0<(x(j0EjC_V%5s1meumB{d8$xWNKZQ*pG z5%w%x!JOK-;Y9fe8Z@2Ho}vF4)(sp002I4*dvxjCxjB`}ox6kxS|v2+C`JSz(JP;4 z=d?M4)=?=qXnbN)Bsx^vxnzC><;@xH8XZs{0pKm1^K3s#eohL4M7Z$bq30keV*A$? zonLGZ7e1FcnMA`m<6-i1c`~F#sI~b4bq>H@TcYvSwtX9SZr!_i_xAmp*0pd_i5EA1 z9C>o(%b7QK{#FB{U8xS9T9O}LETA9 zjHgJE_izq_>7{d?v_upMCmv748!DVc=)>zATIgsdJKVNgkUU6~Ijl7GRwHe(?EJvw zqh{!sZK%kSp<|VJuKE8-Egnb;@eY7%{75k~yy7VY61L6}#1rq1Jgr1+M&#_I_I!+}DB}3h1ulvx z;suv@z*&o(Tbu!BpIfX!r<-Tgu?81))M4fpcDf;r&UWJAg_n=9OEMjrbKmK@S5d4!*Zwt2PZ6{a z3+F_^#H9a3jTF%Xg^pmP5|PAZ<4MG7^eE}lNf6QFXEANUCd3wgKHu&!7aHJtk*frsJ#UFVQ&5US4q|ald81k9IW6&Tuw4B zUo5Iq;ed%uQu4Woj3;A{&;>szl9h7^B`=py3qPFk7qJK5V<3J(DUsOeQA3C-RpT2YJs zrf>T)+(tRtQI8JpI`iaBgB~Oq@X#S5uale~9s_{!8KN?DPy}8AIv+u3W^{>2gns`V zB03n+fu)L&sR(WNkjfZ>4nwNVgqpM)q$UCqH`SoB&XI^U2!}&-5Clw-iV2ATKy0y}bUD zGJK(fR#_@XvrNp{&W|b$pv(OF3Q|Q%K;fP2?yCoP5@) zQ{4g|kgCQl#zBr#{V7m`l2r%ubPE#lq8hxAPOE}T!dvhn9ORJ7K6sIfBC@1XP6Tc> zs0-X=fTN31Y!xo{v8sHWf)}x^MxkDai{kR)7S;F@G(>p`iQr0Wp7??qNVNYAZq(xu zp5Uc6@XHB!@WT^?yox3s0Sb6bBw8>T*SMawjb+e_kO`iqDm_w=a*Rv03(HYB#y5+K zJYo<)Ln0YGGBRh5#V#lzgQRj6u}Vw~4ResOj4PqNP{eq~GWJ==C?X6rY4$LWAL;1tuUt ziSyuSKa@}eCEf`DTR2o%t9UcMHc@NIcIGqFqr@*@ot={s14p_k%qo-(ZE^1OJF000 zttnv(qUNO44+RV;l${LJBzu3D*o=!-u|G<9VxkCYck_l)4qMO~NTTtz=;E_#Wr4!o z!El^IX#omQtO69I00k|E!|d$PA{m7t2Q8)t2_^+&6;mSyzCoeA+js&Jn}~Rh8dUM~ zNTyA+dWI#0A(fyJN{i!Qhpou*i*ZC{D$QWVINF7daS+NH>=?&5CPEI|!rV|nk+{t} zhAgT4+!|4rxVawpGl1U1oR}~knbP8*Ob885u!8?zMS*iND1nKg*w@$B z5a9xY;cb3!qL9PDgeQgpk435W7nKNbJ?a4uZ?}jX!w4`dh~XVu)Z>ipsCn6vMH)=J zhP~Z1Apq>H3lXlX8`ofk&Tzg9R*=K#;IPGzxuFYAT!IzPhwhZT1M5GN zrZF0^@ly)JR=Ofw&Vpp3kWy4@4(}x#6k=Z5Wg;A9pv=hSz=2KdYdqkP^Xwuba4sv< zuFWz71hZoWU1_Pdu+18%M7~D~4TA|01C1=mFywGN8nOem2R$N^0xPm2GwN?NP$M@| z13BZ{A6RPH}vdwc=MB2*GvrN(^Z;~cQV{i1)7d?w2 z7UnDtgCg1l5%m!-hO!M6(navX7mboAIL}rhf*t`t!-|3;tOE{-@>3FVD~m(JbTSmn zCNhkpjaE@7HmGCvFgp|?M~L$4;OsEmGA#dj5)Y9BwaTPK;xbvJrU=inCUfEyhr%uO zQYsc^UDT2eE5!|q<1RmqD($OmqDCPlV=M1cLXbxhKtZG?uq1KPGd~kF5yNjdk~B*b z)I9Pde<7;qEi^AG5ey;IG|jB$!vj}=c3KlRbJHfBk|~?gH|UZsQL8BvF*pS?5iQd; zhEq5zFD#L>Idh{Y!?GaY;TH_d4SN$fnNv4-6K{sIIC;Z6iBmg`b2+&aH<-~knMFCt z(>SxUH%ICh6hRR9O*iY)KJU{vEYLKa!yER~Kam49e?tX36F&!1CHF=k?e9PfltCNR zK_Ap6!KM}o6hbT1LeX$RFH}P}6gdBc<3B$XM4cl*IaJdqltfPyMN?Eo`34bJ)J0zu zMq?B=F)~DJ)JBVAL}fGwb(BYY)JGdsYJOBmDbPfR)JQpvMsL(Em6RiM^hlo+N~2Ut zr<6*o)JjiOKbcfZP18xQ)JwkqZ;iOh9L_O+V)>(yvFGwLq&dH&!r1 z!82Kk!dQ&8MSFu<(PKze&>*j{Hj;s&P}QQa^&>mbAuDwv1(i`}6<-6VR(+#EHX&3; z3KGg-6}t68_rvWTifYt=dJr{bilGuLVGb<85}uDZNYVh)jWsEXY6ez96rp$sHZN?! z-E=hvJwXu+p%5s+U1c;JHX%0cGaP~e6QFf8Do(O0iYVcc6*^+{!evJ{K@kYS5ZvxZ zKVyH67HJudG$26@M5|7bR2$TdLJLFPLX~RLjagU05GY|^?(|;s6>K-KZ#I*n#sp;T zFRwWEMX5%i>LxrW;oJWv5M#grPUhefSb-DfU=W6HB97BH5~Qq7maqQxZnh*pWD;%v zgK+Kd{XBNvpp#9U1e`#DZAzzTpQb=bie&L(dLH6zZ^Pv}sJ%o&7@(mjbt4?`jB-=b zM;ipLDnkukR}qx9sMPj8{lIB`qcG5_%|Py^?gm#(4Ms3Qsy??$V|72nFeAhEqe@M8 zwU9Q#p&vHE5BdQ;aHRaAFgpk&kfLokxEEfNa0cN+)8sG)gVKCckRMjzGzc;Q-4_i9 z3VW*+AQ4g=#bprU;fBD0A1q;*Oz1Dn!ssfq%@o9X;{m|vU?k0V2m_gXXaszUpBGM}50xo<(nv?>UB*Z~}!GaFz z&w_hZcxobIe3AHpCqswf40?M5UAw_Z08%QrbqZJTBrrHK#@PN^I03sbM*>L@2*_M{ zn2TE@MTi(d`r&Z~Qhu2Q8f>8$7DX(7=X1t~Y!h&CqZE0Wmy(lXU;m;RimlexP1Zm` zs6fFJLPs(n?iZAe0RMs*3~m)R)7O$gW+_4B&aIU3ukIq5H{7M&Afe;Xq}2?tL+1Mf;Ea7A(f>v0;XUqs! zqOTanqZ*O5sus3N{=-W|c9WwQ;@Ga%WaK2Ph7ds66Ra&SQu*L$R(qP6{y=dknCCLq zr8u~OXN0U9qQnqTqZ~HDpKXe;_W?8pPe^#xrOElP-GFmg-6DPaAw0tCI5= zs|gY~0bz#eCXm%huq`JZ+NYZhK`8nfAdcHkI+}^0qx(MxQ(l}FOof&t)c0X%d$ZIYqbD4})Gh!~V@sQru<_h{93sfBs`+cT|$}?h~bc+!4eRmn>XM7( zw0T4@iqYwzeF)WF4 zzVSn-5&<#F!w=#+sc>go=fhgVp}fsXGxABuSTM=~J6THMh z6nvccs&R_?{{&&kdq;>(4P#1$n~TgNp7YcYyo=LhN)Ut)D8Y@i%Ee_0LteAH+aq~I zV|<|MreYJR=8Vs^$03G%ujG6;fJZZY*cSGwt^A6yl8O!pVGS@rIx^$5p?fl@oVL3> zFRI3~oCZXQVatJP#uEXnWG&Of{I05mFFswSv<7*^YR~~a)1ILc_7*m9t|$MCB;KZm zc-q!WS^Kq@Jt!M+H_qW?&6k)jgC9&I1dSX32m#Y(kPvd$I+FV@%@pv>ek_JwI_XQ1Fpj#fbpsCc0AisYtvpxg)& zdMUB`aGV^m>ul9~OrFF70pVG|@MFQCLU#3~%rTfoUS9KbyUbZ~(ULVx_Gcxo|lxI?b4fQonfd`mLfvEZj9( z7L(Dj#W0>AKTNeDY}Pd1#*R<5h4X5wEP$;}>Cj?pw%J#aJBL0SH0aqmaApDc*@V|( zPCqlR#oOcuqg|Q=F;UE@=-@?d$p|J=#1?>FS~orU!F$r?Mt;r)rf%!>oFGbx8&W!L z^B0|9;j|s5d`@?=;8=STgp4y8EsUZ|h6_hBn8Lkk_r7)K6cH%(+wJk@Q-VTRh! zBB5J?%rsDUY{j#mcIRB>9#o)R~WeYJ$RtRR8Vvb2> znHKTLR8DHH$!42wz6ocXa?VL-op#=d=bB9M_+?u}3X)Mg8OCFoj^X%0TSZMNM#n-G zg|k*}bTm^?WEh1534dlj1;CFUlJuf)pp?VYIkxy=QbsgZIG}Zr;^^InY_aG^GWS73 z(K&)zw9Pi)fOF0+gUmsWP&@4uPL^YyqX?pqP?G-{Bn{ql(xHypD6OLIsYPI0;WXn1 zX^QG9=sDrorCoDi9m`EOKjlFVL&u7mn3@DZVhBU62I*u*wD{pAvxeZ+6iS%zQ>~4j z+|=S-g1Q$X9f8&crfiAErpS^xU4t&TtCVHxr16lnD51CkP_C}r#YJnX1R2upz1cnb ziyyX>8;@?%ImIqd-Ee|NCC{*8i6uaBv&}$#G3sbr=VYqyY~~7w(K(Ry=3pWO_jYKk z)N**zRln#;;dPNwrDK@iItN>hHpv(wAOKmX$@2K@=Y9Ny;cKyi?NMuoC}tJln9_5U#b|XWXWypN_hj0Pu)Yp02+R zd+f5$4(FaPi5U(te$b%^C9A;XQK3&Ada-r8YsGdf^?qR7Y`8@+4Z$T{*Vu#r6|shX`0IVWYvy4kagy)oS{HTo=Ii5`xw>%eBN<7!m zR50D<7Tu%@o!YaRzE<^~R}sW-p`l#)XcLk2)p2zx+Fh!4A{d}Rqa2?LX7Z+jwu@Y2 zmd|ojSC}D_M(&ByZ@!|JgCB1lf>{BiZS&a$>fMhU~5=@li zzobYIn1=3(Bca2ysQN5Sc&RM_EeBBe!3sWv0veFeMK{VpREwO0qfSAo@Q4#CRYm4y zdhBNJz)Dq@K_{oX^MrAjGEJS@EUpyQi_4yZPJ`V9s3#%OLjcP}P&kGXgwPHGyXO&6 zLefJ1K_yjH*^z}d4R8=cl7(`JSxVSc8{FWUF3`Y6*blcV7Pr=*e*j~2-ldgqK!Ms!xu>AB@p9tCYYW2U%nEhbhs z@>di~#~uJQ3n4o(k0o?*y*2H`x2)QTjwB*6s!)ZM1Tm_gY7|>7s zOPg7USeZh+@4?&QBGP)<_T>=@CgOM4b=b z*)?9tilTNU*BnP#YfL(jMm~%Xer#e5&A1*NJi(7-8zLl6TQ&)y=+bYZSIUag-N!7{ zmR|kpXCeQcONA=|SI|9$TNDb0!jFV1ix#`hM1C}1e>j`>mF_jJaa%0$T1T^hJi!=J zOhpPU$wQOOAU)EMUVEfr5VfR72J1-S7ADu0Gy})VE8NE-!dXav+9tCphsBqckuRhA zS4zK*AP6RQd&7G2(PN#hFOPZ5<2ul`Xa-IYq+L83WJO#*lu7G)lX!gPVHqJdelTN~ zWc&gWYT#<_K=Ifx5lKZj;m2(xgHHhXo-7d|Nk*QtsGB@lDmTf_wjiDgkY3=?c?+Nk?HQcPg5v@_Cl)Q1XsLW;$ zJBR;eR&*cDpayr5B&&B5^YRSOKt{!IXGaoX_fdBiK}*i1D5?~50MHML&{>#~EfR$* z?J*)6LJT*P6F1Q~*|&WNA{;%X4XZFzA%_Vn#vWMne9b3)lX4$dK?%t~3z5G^0fG*9QQ*>ChZTQx#(f(`6LI!EqQeyC!WA$P3?z6T^pbtV@OdMHgAj&$ zeIjVFVJ-?$XZK-f`QlVwu?k2S411C>AjTMaR@^Pjec1Xew^uE6`vxmtc2%ktNxd7od=ZlqZbAWK77EdB=#1%d~m@ zMF_;u49RdRiqKPDK?&E83>(2UG6Ea4Kno-xTeKh`Fmpbj(iF`yOZ~HK;h+d*@NQ%h zGL%3J$*>A*fC;4H8!wj($zTw-gb-fU49$QY#$gNHCvX>c&5DW!Wf5_7!niUM5 zG7#N(6__xP!$A_8kdMER8HSLMkCGDF;0faLB-{WEp8#gpvlD($2-=qnnc@FEAyNj) zV-a-F9rVD4 z8Bqn6%HdT%HW7R@8!nH!h;)SO?DU?BmoJ* zAePOtcjxdBJR*C76me0+gSH?D`GP!@@CAHhA&x~zp{XNl$!MV$>P*ITV@y&Av&23Mrz&(XOI*ZU z;-whLFcu;@qJIYovsp8@6M(-!4E=x|s6l&$AbG=c6(dRsGUgkG$)joF8ZEM-#?dS) zx;vCmN2fBPkbpdi(4N|32%Vt~&0q+0kfMsvW|{*uMYl9CK}Ph`OC{+o&yqIbaAZv? zRXs{1r#Czs<)JPG0J<}xD{3we!AHD941NP&L<)u4avx#F3dRx)I5ZZhA{YJ=L3qJ2 zATgqw;2~z}ElfH~g0N??DVhjWrz&eeN63>IyEFfy@o{}kI+fb+3%`&v z5`z)tpqRnH4~_;y8Q*i2`){_^V%07AJ7L=d{fWj%@vNM~J zq8{2EPu3w;lO5Va2;Zj-f|R0|z#P{Qtg{ph`IV}>lPTVX5Sf8Uir^YMib#b(4EymM zu4%77Cs*d`QM59yse+5?VR!aYBai{2ME0%|sPzs7BgD3klh5a-|Kn z@C)&B5r76lg&7ewQ=0a351! zHQ8si7nKuofqZB73$}24O<}ZM`zYtohY6=^NHqri5H0DwlnunXN_F6RKWW?{FFLKC)-xDw@P z@TD8y2fm*xxN1}mtV_Bd*9^AMC8ZY+BN&#^ix9TpuXT0*igiV}K?@UQak*VPwQ2H) zVe1$jbPn(9y5d2&VVk&XqJJYO9aZzZOSp0O0gWb+HX~%U@O8YFD=*LR3&KE3yQ^yF zz%g#R9i11tE9=6FVtFtt!!ta%8tQDjD<51Zj4T3+B+)cb0js8?!yD2em#aoON>S0v zNH`o#YV>M~dpgByCQvLNO02tIBE{ZoAST+6q>+D9{Key9#SG%JkFudj{3XvTC^2D9 z&>CDXB zvY~9v$2iKIJk0~K3YY+lK002QFwDWkmfF0{=Zwx>6bzoQ3BhO)_-oGTtTwiQ37fD( zMAgkj*~0RSIsmZF?VL7Z%g+N%&}#DwxQE0AJ$co9%?({^GON%8(P!C|(3>*G5slI3 zj5zNhyBV!qNoKS*Q7#@WOb7yUNrJv4t!w)H)si)J+Z5Q7zR|P0$RD)K@(_N=?;U&DG5O z)LjkMVJ+5UjXGA1)o1NG5KY!=&DK$jxlN7IZ7tVxP1ju%!)T4y8M=pc&DVWxcAEj$ zf9=Az7ky%uV10{%Xz*-KL${ z7J{o8HPjBsN5|Y|Z3=nG?LGGL7+yef!vrbQQ%Vk@qSfYVxWYSiM6g)8I~vQ(zw%4y z)jR#bt)}Xsw4gh8aS_~h5}weGb+u3)>Y>AG79=i>#H<$eH{jaxE4gjpOU~rMMA`|S z*9-1uS($yRwB8mD+^Q)b{I$nww5`ctjcyqh6lZr^E+5H&ldG-2*`$qFEPDn4s%s7= z>*2S-FqRak5vYRSxOwH{3__^06L-cBieLy;L{ELFvkw8kVauv&&@KK~23`zZisBWx z2fvGs5q5qX;4J4i{YaaFEqJm2U)YN!;<3nSk~vA!D=;)Goalp$nE!4A0P!eGv||`j*GLdSVANKUP=5eo^AqwH{J#X2p-cIc|)qoIV9A6B9Hc@W; zKnM^56aNMcoWKdt5DuRMe%$~7W;C)n(Y>uM^GuH5u%6gbejzS{5H0yF3wc-oIX0_6 zRUQfn{+c_GU<;*csUEWb3WVUHe^(KNDWa6{D9J$Lvjhrd3|VeUr4G_RyCVoqbG$k= z^$PbEgl-5~k368@&4&sJ)s_>tA)*F(Sk6+Z4L4qexE*L~j)+30gb^%!PzhKbB8Gq< z@RWv;5gblhHQo$EQAzZdd%Q>=tc0*LPxHf=uN}V>nnTJ^f}U`wtf?=vM+=IT2ok0Uz3h~P0F=oB z4XgkZ-9S_TPzh7Q@+3R+*U#!TZ}U-J)2yOTK$j5E_D25a=r!9Cc&;0?q_depV)Kaf zwy;st^AVt^vpU%S5#i9G2uaWUc2WS*%nz+|+6-z72S8iAL~1D6vPDS^L4$q-(Xs`K z4y1zG09^Cr$q&ba=OiWqMQfEGLIvYNq66v|EkblWBCPq)7EFo;&)K5WOrb#l#ONf# zsFCDBZRaixssxSOHg4RQp2I{4Ks-u?!j)WQGhW!Mi6F((Ch%fLI*PuA`$fl(B8ZA? zE>x7LW4L5=C|U&opb{DY=dQgpgw|lZLT5|TqBFGVN=Syn#Z#n6kf(E4{dANJpc$QC zUzuLrTL?_u-P@w!6TD1w( zasc4Y=^AAJN!V9z0IEV`#plww?vhWRN1tB(diL$zzlR@R{(SoN?cc|rU;lpo{h89b zCZWIvB(OjO4@59Q1s7znK?fg%FhT+o0?<74&T;M<3m2nAkd7GQ$g_CPDJLFc)}W=F zaDrJQkrB@c2a;eC8i}89!r=!JKNJeb4@zvjESb{aA}yYBO0*@J4VhYzv?b#)gpd)- z;YSfE!?DGXrq1C9G7X91(k#WA!fm0;;wlXQq>Mz1j#UckQ4xM%?8gunONy%*)5uf} zMt;I7O&f5ufrb+_SV60*^RUwDB}F=F3bJO-fo#un6gkTzI!46NmNkAU2Y_GHkh3!Y zC>ySHVu8`Cmuokh=-pJEin;AcoV60RdvR_FiDF}Wc9_`CaU1Tz(MC3O9s*99B`;I_?cax5~ibqCx$Wp)I;xbDGj!3pJ%}|I$3u64@7r_Wi zsx$?P8Fhvz;UL67CMB)*G^uJzW134*#S07_ zJRziDSkO&A1I1-BGa`|M!#S_9U@|ZfnV--hKnl53)41o6z6ItP<**wo+*qD%lmk1K z(8X%1(l`9o(w4WxWiEA@FaYQefWHK0Fn>uQp|D3}y3^fD3NfNdHYF>Tg2bbU^a~5E z$`9AX=Ce#giEFln7AfP4BK(k>6RHPkW6T=U`0*=0qzV9=kP9}~5RBsgHHC%?p@a>I z5;rVi^O|eWUXRA+6P~?JZDSl~HU$wA5)Gz(f}-VVOhO1L3JxgAXk7yxvrvDIb8Mmt z&V^P2t<((Y8fd6Q-b%I*NaPA#^SY<>z!JM_&_NB*@+0m*)2z`Xqgyai8u6M{(|Bf+ z7LY8_B+phmPpl!ErqfYwVO179%sg+Y;Yf{gYnzNn-6e}u9n--I zwvBUCf(*ZSMs*Z*4&Ca)VrYeMge5#-3b#kCZpCnhF)YBin#{R{B%x2bM!PRzMG(Pq zpctWskYLb(7%;j~@+3MhZq~Cf@nFmp(Q`SL1*=slbgdODb1&iC%yK@tr)VJs$$kKf zH^MQ5_IwCL7Q(ieBK{%cVw{juR$>mn=!T$t!mRqXY)5kcjg%h-2wJqXO;v9LWfjLL z8Aln*7UU@ycpgy+WQ0l~+r{icH22*+E<_`6`ikskgI=bnx3a$#YP0wm<5+bKM@p@v z0=JyJ)>$oZi>cR`W@(jhK*JJ`{oD_L2-rfb1oZh^7j0S3DoWh_ALN2g0IOQ?HG=B$f(GK?-w_!{jr-ySmDtnL-I- zYz4@f#TnwR;gJ^05Xom*H$DxqyB3l_;=TbQ2i=EIR_|tce?sC3D)Qu2Kj}2nTm` zRc~CKcIJ|Rv1lZ;bd~H|$tng*UO{}_rv>dRpjsu&{d#CPsB zT|cZcPOGh%MaNw@mO@U`K#2y>|GUkqh!x=Z{#HF;`LNQ`jguO;2Z{e-1OD>)h zKZv1*%{7Hvok`d8ie{8wEN+3yS^F;(;SBRQ1uF8=h~l{v7QY(nhe7g-wED6N8?}iN z<-m}O*Z%i%6Y04-zQ#E3SQXqdxL?n3NlVB71f?m;bTQ6h*40{W;(p*5$8hRtx6DuG zY_kp~TS3=ODiS=MQ*uW&y)5b}!Lm*tZYeLByAh#=NI`#+$qwo<-Fa*jvjd5Btc$y1LfC)%Qw7BTKV2O(kvNCxR^Llk^3bn%@Lfv3XIh$zbn zzpx%pGA`Bgh}PHyNKk`WD79VKGh2z8sJR3*umxyQ3>;qiG;X@aP%FPp#@J!v~R^&&Xen}w8g1BwywDAxDw^v5Xa`oH1Yz(FZD>NX2%eH*NHqW+lZl#^be`j&h`N$w2@E!mt5l*Ot&QJ;R(4(F}2x8a-))2`?TZM0e3yL(${UZm3 zxQ(-%L5Z@3yugH;P>7r)ND|t}g}aeo0EIYfNJw}wgh)sx8OtNXl7U3VZ77sBnu<|N z2unZ|zKOMKl+4MbO#8t)Zp6$B{Izd9zs+MTbTNu~Tp(~+JH-f$%TPp;>Af;Km@MD&(kf7Cci4QS99Geqs`>hCyO|(FllHg7BxD0eDBu+U_M}*97 z2(iF>&8wgtMkKOi_!8&;bj{z2mH^Yu3qd_FTB(Dn3K#*U%Bszx2{43c&n;2SZjnz& zF+cglu|+|>(BRIjF^$^14CF+;=A1E)7?79ppwrA7uptl?8MVrE&@i5d~3TORpUp5CR!###Co(_^U)$z&Jl?SN?3(rQJ6k_j^$|5g&~mi z*wQTZ(l3QjAQjRv4JIO`4{ghtM)Qadt)FJ}(WN6$9qll5d65pgj}Ku}$OIc51yjf* z5D}HO2JF*8B~%FioKP}FRA4ew42`f@vC{`FPxXk@_<7VqwbV<+)FwUDMCH`}SyXGR z)JzrCQ6<$`)nFCY zVeQdPz13rNkXDsIU9HSVWmaN^)@YU13Nuz@wblg5z-iUiZROT(^;UzZ)oT^k)6CUx zHP>@R*L20ya2?lcRaSL{*LaoJd9}J~ZP#&qS9;agedX7Fy(N3SS9k3t!Xk!(HQ0ki z*o0Nsg=N@=b=Zf6*oc+biKWZi_s3Oo*Q4dyL{(a`MccGh+hHZ!vL(~A zUE8>o+qt#WsC8RTg6c1T*GDD#&ujOG8+|8xX&JEquMcvf3uumdgRW)7Jh27Xi-NScg_vPh*g3rWNe2Fs4*>At0Oloas0?y!DJ!Z+A1;I+ zCbuO$k0~x19l5fEF^RrX-}NwK|G<)uv?xU|1Sq7@+DhXcC5Ak%k2n4+VsIX3AR<8j zhJ>c@gdZk^FwUN}X%9aRheSBBQGH<;?zOW80Njb0RS?K)T4Hlr39hWs>aC?183{^2 zHWXc%1s0i+Aca-nrd0NbYsd*jvumI)t=rCQ4tGt+xM^1!i^=0^2p+vBn zO%lm-fG0>W<(4`MWkBD|IAcR-O8x*P+@U7?K*~zh)fM7ov!NY2z=RE{CfaGOERK&G zWtc~GI~aUX`Jm<+J)1pj79IH}O>t&ZP7X!jWAs=>lc8fQ2GQ@OE&B657NUFi8lB#?SW+8Q1(QY3a_tf|HR3-V~N-W|7{J-V%@hJ`Ym9 z1{L`Vn&=vNK^8*5na(JOEO|R^xCRszgy$ouYjTSvIcdSsWzdl5(10=5j2e(mFOI%B zgmCIH%ZrRYYRU4QmJTuDu#k)<>5)!Pt~Ma7P$YTbD@8CQk+8fNTM1jHYL*s`tCp4+ zA%qbEYw>hxlaXp?A{?k$>Zq>jreF;FA`poVY1;fyaQ1^lC^1@CsCa438#&O0K$hZ2 zQ@)NdGREcL1qXfMg-Q3f!QXz@UZOSOqNqy@tf{k%Q#K zztV;VmeRG!PzZA6P3S!WwT0W5j?`3$>fXQSW6@sPzk0%wRnUfCz=Yo@j9~BtOjw1c z6qPyhgrw;u`;G`uFd18zBTx`(Cee`z-kHYM5K;!^PC~(tNaV-43P|{tqJHUSaAo7T z3D_yhUYes-5bx|R7P~|7f^g-HEC~>&qod-Hj39?#IB_Kr6;CjPItB#|nVRyZ@t5`; zxH$2i(aTg}im_DAV6eM`1Sgfik~yM@tcU?_l_Wy zaM}GUYjnOQ$DovNnT>-;tjr)Jg8&5`nF~*_@8&XPOtEhX;*s=f1}JZqj4&BGpYfaE z3l1_3xR?%ecG>(+^HY!Wa)NSKw(}*4;E_lPllg91|C%+04Mc|v9{2HUZm!0j6dnS+ zYz`>`)eMwr^%*2{0DyBsKnWBt?kV?gE6>tNUhWLb*M6Gx^RR_-QwUA}mWwcv5W=Q& zFPdOT4nk=6J0}Jo!Hp0)>zjDxZy5-fYX+DQ1bDwlgrMVBh6MBAij@I)H=&&(F65#3 z_iHL=gy8U3R_iFdCV&UXGxh`V_6gi*mwey&^wN_%WsBH|U=XK;5(K~ciG`wh+2D|s389@A;?!vOqW_5y;`d@Ba+I)$ zg;E4)fsAt}l9n?MOX_%!Lb5uxh?=+Z!AXR|6E>enwh@9bezoy^bZB+qeBOWJzPC=lqd1!g%tWUy$H)4YaCCyOy(suM~nj8o& ze9F<0+DIrEjJ~3B!x>H}x!4Gz2!?1nZ-j_GWM0W0pA5p^2qkHqE&RUVORsBScZ=w~ zice+H7>P|vdU!sK-v>M;toNFyJ%f1VreB4pJbOX^z~lyHLjMeH0Xrx;`U35GIdxSP#T zBJ{b6j;DCE{7@>_(8HFJ)0i9kmTBy?ow+Ajzx#85Jz_+cCX&B!E>WkCU;7$J!$ zmKjT!Gy@YMGfn45Av*E2olkE?hzLZ#xa9|2<+v8qCYX%q$0`6|qL3emPy$Lg!3bg^ zD68B=nPgWv1%Q)jxyIZ%w)oK&m4ZNbO?N)oLY018(a}*)D}{6)STMHt%QaGQ6izZD zK9$i%wh(3zm6TkE&_=7s2iSM~VM5UVFN73Q5N)>MrXqbe<)@8bbuCz!LbwT1h%F(4 zw25}a7@~-LnJHA=HOa8#iGC`gnyRX+vf8Svtpbo(Ur*9ntF5=MI)oT@+ZWe_pJ5JSvP=OhzhJd(w;R)UblGZ&!QY7-BH`I&~9cHS-&PqdIY7LHp8 za;uVakN|*EJXC&XlU?x;+fzJBWm|1a*$xR8UWFv$jCRlpl8A?N&=OC)*VG0;U-Qn$ z4OwQP4nJKrJYZia86t>J z5<^mmL_o1DnIeTW6Hi@jWd=b1BADr^h@%2-+?qDFhzZ8&EcNLGjAteO%`ixoV>p% z5?SRx#|VnK6$RMsULEh}T%-KS4EjygV@|nsP6|$YVaXVxN&Be_%v$!4)xiXHtqF%< z3@4a;g+n0?lUOt0_Noj2Vlaam#9*;zC9DsEFoYr;AqjCsELt?faoa&w*Z=@P85M~V z>jFhHf)R{lyoD0+dI-N)?9-_w(*C-1ij5Qaf z(SaB!3CCU{vo_PXF=5P68k3>5PGykrcquQC;0I8G zA+fhCrBiXU36`35!@4AIEi!xJvTm5enF&mef+@^Z#G(j7XvK!4nh77nG!~cn!C0G< zWR-&96UnI1X%YG4UNrT##-veGa{<7#w2_QplmuR&Oi@8p=f8s}L~8pH4#T%UkwtxsxZx<9>v39OJh5 z#8W{`5J|g2v}2QPQ6#*Ueh-}K69!)7#P75rFB`BLZ@XhsxO zZVKQSAIF#*A(IY?5EI~R>8wd2q*G~OU=>p$xD7%zs#48hVu)43t70{)S`Fa|Q+TY8 zW(X9X00mIc1tCIIgfm4l4p+uQyRryEizzWgBHT11l~8FD*0cs?F6Qwnl-^=I&(e;CAq!(Llmyp;2y#rq zQ7dN_GE=I=Lp-P9E1V$do~ThWuIRzZWsB6Xy2#ZhH<==OavBa>_{b2H$Qp1)Imfk0 z(KU)C8!afSR@j+Qj*d$03W1^!+1wE@5P^tA6ss9Xq^Gqxjb>(o=GB4(O}i-p3>^fa z2!TLrBdje_=dLnYh@dsVe$Z9b$n5ubQ5C?y2(uZOh6ZVM$I zWq`O5KhOchA(l~O;-%6%dXHk+Nrvj|7QM!7?@L_~tWU>t;(~xe5!bDfxum7BMm0xz z?Ikb&YpH?~Oz`)<1UXJl6?GGZtfHeeVl5;jvQkL&thJ3x>KiljOs6(^s$w29nX9_h zGov}pXFj17QANC-I;O`mgb*cYv5Gt2*%lJx;fc+Yw}UJ$5zxBp5eH1JI@=k~wjjqa z8CEC4y6mtktmO3e!ZjC4>n*Z;97|wC*^{g&BzVR%EmXMKjM0T*=O}H;$fgj~>Cs_^ zjf#@c(`rc_)Xs@sg*X)%+mYW_(kcOR1TW=x6ChklNivZ1MX#oIT{YN#aDMYY;VOTQi{j5}of1V1n__im~tOT4;+P+N$n zq(1fuvD-DrgWY7`q~`S&4Ni#>NsVywRasXyk+!%(i6zjnx9id<2uzr}QuZStPBH;2b^}#X;jK_s8HG=Nw}AU4X(uG7@$$&-;pRA1 zW(`c)$C#PF1cye$3Y;~y*+CGC z>s-ZBT#`?)UOYI=!vTdYOdkWrOXQ42*(3)5_>x+%1w7G}a0vo&O^r0wPVvY^TS3IX zY({3aMrj4bHE@^=IY}}V5We&s2x<$K`CZ8bM<_vwweSNHeF@Rn(cWxeN@&I63`XWW zgwh$2fV6~4r4c5y6y_`-zBmc@p#SrEzatVLY-RG93H-FOZEj987@Ma@!u znIv`L+`(ZSZb#kaT^-tC9d;GpIgwK+AmBU%B1};{DbU`Ok4GHem^jDqI0oVjniv+E zrU)XnAQu!(NTr<3uW5=+c%Ht19uayGrp3h$LZG_5#dp9};Az86K%m5s&yK*6A9PE) z^jk(viBO?V%fN??A%u?|hBcu})Id*{=um6$NR`D5v=oBS{Eb58OeEo!^Tn0F$cEJ* z(=|L>_zf3>h|76_OlyGAAWa3jI7TyU1W{2!B2*YE7Dj`$24e_UMXg)AeI6~g$H9OE zjmgpFtRlG>f;3%{#Ka2#uA4P&9RO?sB?L$~+zi9S14x)kYg_~WCE!Uo07c&5-YJC# zB;?I#u-+;1k0GSXHK3LH&D%p#R<%tC3aJo>5tK?KiNHjVj4T)V$YeQ0-jC42Ry;)R z>;!VzmkVmdiL6r(QihFn&l8U0Mxah=D5af-eB8m8fQfQnf&Er<6B_B?k!srJ<+6~;v;a>u# zHkjER5@um;RUWbmnIwWI*x6MWW$+M!CmbA3)J?z;0wzGELGTD2D8ii`h=gz@UJY3H zk=rVO2C|LGS|q}eTty<_23*--N_b7`S(gakvh)lp0)BH#unRU4Ur*9Zz|W>5r(N#SwvmyCdzBFu+r$Vf=Q zSBNEyk_yRW2#{uxV`gbsguGlLAc!<=r)ky(b>7kcTIlFiC_-|`C@2Uo=ZNNxqtGXZVpCH*XJbv}f*{ME-IGxq33?HXOFD&pv|Ug5WnfaO z+zqB-Vrr&>(B84i4#|X)Dndsr6)k+2MFd_rfWn-1lxBj$eL_T_I0=i5Q5tp3-h5bu zsAFO1r;=9L7NJ*c0v7B|50zY6Gc4z@`bdN@$4VH&%pH-Bl-FBb1%D+BCD24YO%16k zDNgo9wJDc&)EvoZmm>TV*=PxW9Yx3)WjO3AL?EO`5J{t`r*Sx6vwB2C@|RF3M_7DP z&|F|LBuU-`Ly{y+;;EK#K&vM>NlHw`FRZHn6Xl3TDgq_sDSF9KyauNW(I@=ZS7RVrme_`NFgiEEN8r{Z(5T@)P&ELsv^)yyqw!YxTS_d zt(!QeQMh7eT*J&p-2IuFwz_KyA;j4(SGhDpA;<R?gUEIuJWqNY;YD{9AURU ziSPc*QjKumt?(7f(R^G--?4E2vp9LFS1=Ry3j>W;4-^RbHTajM)(6sOA^e&0hWaw3Z{AouYJt1)l{vZ5Ta zW@a)ZXGS2mMjffj_6c$+TQb>bvhhZ81xSV{8P6sPj9+b38-Uc`2^`%JV(rb3RilIE!;X6DB$9b3hC9 zKohiDD1u9XTtO@JLXVmMfIz}>v2rgn^h8rMJd>_JV>BKX3pZDEM|<=~uZoE!G)R*) zNN?Zdx^hXY^h(R!MQ8L&s~JGE^i0!qP22QM>$5#`G*0t0OY<{K1GQGkbWam?Q5*G9 zBXv?MwNn3dP&+jV4fRq>^;A=JRa^B{V|5$5;8Sz;RYi4HgLPPo^;na2S%0)kcXe6^ z%U7FqTf6mJ!*yKCwNy2=TH7`1ZuDI1^i+d%BX(jd_F@+_ zS`YSP%W+=Qv_$`9yzF#RQ+7d5GaP2Nn2mHQze;Bl-5P(kn2EMW=dlKD_NsuKGlO>1 zg!X06^H`MjE??09!n&{qIW}ZNHe%BBOUQOqNsRr9F6-${ZKsOfD7WiuP=|E%3J2z> z1h=c4*K}vd0Io_y4DxKGabQA4GE?*TJ~C@Z1$M7APl)$UD~;%3P>K-aTtIi8Y=?8Z zkYSIBZEE*)Q@0DDH+plBE!lUftZ+kYP+;@6VEgt;4@n`=Yo%gBg}CM10l+W7T%ILl zR4v=6fx@+B5Jl3BextJsB?6EEreOu0XU7O^w~A&ENNpe2P(j#n>6psGp}Ihcc)$;5 zvuPyF^xmjPgwxzPOe}M^%1?;TFARkbl`G_ws}Ir5n}M8Wtbz;n+ld2*>s=5%SCnT> z_hVoQkgLr9Dqu+#HaG?u_<`FsTX*!3SVVxwou29hh-Z+7ZfkvAE!~Oaw(7ZczRKkU z*Fx7Ej{~NTS$S0LjbTAVm4W#>)|G5W5NV*wMxdRWN7Zprf?U~O$K>%9Z~7^#Nc0>< z$f`6Eo?okMLV5&6)2<5D?1+M}^4aM}+K~73Cj%yA8wPCzCG1EJ zt@fwS*rKD@&^?WQ?>3s>wVJmw-Tm<(@f~GDGZ?q99%lBm-w&2wb7w=d9$wCd+k%}< zMIxZ4r>BZ7u)8gk$}jNS;%@s&Ud5kNy1L^#3pem<6RDv4=~O|pVrX;x9m_)y0%cuA zA=vx>rvnnQkKnHdSr|F|B}aRs(b#t*=TMfi;RrHiugvGZ@ z8JYJei=+{$3=qcl=Z8IBxZtUP$z6c=Dcy$#H!~5NePXic#m+_+XT0^!lIj;m@?Y=T zrxFo2P4DVG`JO&2Wz;9z@AD=*CiDX&P+o-EX4o&4&5cVRjm5r5kxzlBNA#!}q2_pV z9luHxK%CPykf646zx-?xNbnqhX3YRBEI2S6LP`q(0GJr@+O=@u3P#ihF&-#7w&G13 z*sz&FkOo(s1eqw2N}D%ndCa(zXHTC$fd&;ilxR_-N0BD&84ds~h&LyOTct=4Aw{-6 z(nB+8hyX#`-} zFrh+}u4yZ4H?GQal;D;l7%??g)~GdmGMG#erkAWKDQaoZ(@BZpXz>-a_4z^9+hK$J z?T1*##F{Z()2LD^RlBtEUc5s#A7QX6X{ZRQii5K6$(O%cZoN|Lj1no(>! zO7MbiwJ`}9>l#X=BupC#L2>500>z_+j#UKmj!Y1J11^|&#Ny`{MQDk~MoiWVC%RxF z0>zJ3wJFUHOJhrf65)FNl^ear6a*4tfU|E^P)bVVmso>IWRrNRYjnIH3lfq@BMF*{ zOuuY$%@0BnQ3QZ!)6xw$NC%4*GtF#?=@*HHgG|Z`Ih08ons)3rC#IANSm1#PF4*9p zn93am$m+4?{M=BoT}S z!bD_GB6iYP^Ab_*WI|{?r(sBZEeqy~%)(?7Md+YJN9+_83#HT&5o{9xY!L*(3`LGD zEMpVNFzL*8E)PZEo*hV|b3DbQpv@nzTmp!g~ORC~#1>nO7IVV9Hc)M`q+Ud^Cn z&&d)&PavUVwS}p381NxMDU4!8HUUnMXFpRd=$AeA?=4CYSG+T*VYE6e0Ej_QIKxe( zSn!avF{CDnnyH&Z(ONEq4q84=tr==Hhu9F9V*~CsOpG;_Ue<{5QyW_d0jV>z>mG=% zWDN2&<9>NGiFepfR)msGup{0e@8d~EWJQ`wToHs zXu`ge2|{c)sR$)wln8KRWz^8mC>X9F;1&Ty8 zDjdO(*m3-j7LciC69FXPLFmv!4l3hB$}_gA^`-%VSM-3^68#3gm3rB+VwC2v4Ib z5^XJ2Nh$rnEE;CjkD23L2&1?^WX5HmaJeP_OL+&M11=1fc?Z%kdOK zS$q{xn_o#%l5xI~nJxJ75q>lbK9yDKdeR9jkTPqF7@-PZ zE%wX}QEXnejg9&!YGH@iLhY>VOW1Tf6s_8Gk%qG)N?u)n|>&}>V z`rHx|;-PqhNl1B=9r+oHR|8Q*A>x;y#-Vq#!IH+R!5rL#aKf=qLaZEc zE_-oXRRfA(G&7~Xq6I_oXct!@=&+p4=ciX+8_BL=9l7}?sXOuUl! zss$kik2*Qc1WGbPqGf;sjv{&|2!^Up((+_7a5zqpWE3eJBfbt*erGD8DsB_DxcWv? zLnyQD&&Uk16|*91xBnjhq-}*~jYhWPnfR&Ai9h6Eb5;%`a!s5dA9skcELNR|t%62J z7Q{{~9?)R)=#CTtZ~Ap)dJ_NT4% zYCV)HMPLPW;_Muts%%iiB6^G>%1$kQEmmHLaV|-RuxO4oP1 z5tJccIPQ>O3gia=LgY*?36(GjQLbN7Lw0B)3dL#KmdkA9%WPt8={8M4Gy@8w&{D)? zkW@ppv|%db2SF4>=`KwoE~Zs%CGV`vK9Hm=%k>l%j1 zwvE~3aV0#36b6tq8s-*pOLn*jML@!b_~D}3gLaCqU;i`%(Tx;l0h(1WFv134u_**#-&`g!x``` zzSQj+V+G0PAX^17mnKA# z%GZkj(C$KI;4tDS6QS#dBWgB;6C*+(h`|%A#sn#%5{Khs8qdvkhaX5m6`N{TGNPe^ zK{d%k8-7aEV!}&m5e5H=tzS9 zk}PL1CG=A^a3qw5^gme*rICX<^G_|67jDYg=!;f!rDp)L-Ev^-qoBf}~x ze8f%n5HHUL!xYjnp$;;4tRcEhv`p&ZauZ1$6BFW!EW=dV5HlV$;!6<3Rr=;^QU~t* z@-hsSuiA=6#V$QJh!V;}OEgGpo~-~cgc@fk7-%FTAgiT{V@U>%$RIA%)S`)qfxeKe zBb`ege_=xm0^^>u7zecwL2A0f;mi=tGh)K?1fd}^Dgzavd0t1V7($eC46e%Or#$? z1p{wq6})IkVhQVf1z6(C)-GvrmV-#_O)ajW*=z+68K)(rvI6&RB?lr}3W1??joGS@VhjOK z+X@k+@;oI{WTZ5HxHb_S<1!*h8*ngT9qz2m(0Lh4T1b?P7FsAR>3wdX*KiEr{4jw3-zF z`qtqtq8zd*Mh2o`FpVMpNh5;6b!LgS=#*_}GV6?Sa4u(-a%K~V0a-*S0jCLh%rJ7S z3?*zuuZB+|OapuL0xdKm8B9cdXNW!0GB)VVSq1_Wtfp1al^_ESwJ=5_Oc!%v!gi@o zoN{IrV&k(SI7xl%aU%p2qBkn)@yI^-QW7UEd@cXFCuydmt(0au$xN@(|7jp>L_#wo zOe-cLH0_h#Vu{XIbewjbvT7g_1?{erOq2)`Fu0yv*6ak`EW?Q|RO>MZQ&dn^ZqL<5AXM;q*D zEUWi!EEl5e$rj#XWUNMjqe5;|$9`xcywzc>rVitxKZpTo zXzOpx#Dp|UnK5AvIPPqEuUzCufKi8Htio#AD8z_LG%~}u4pfpw|AUi_gDe~-pCayX$X#^rj;(3sC5eBnFjdF%kYU>`2MV#Zp*Zkmj(rA|H zAXt;+4B29)qJmGFnMiUsCY;0Aq)#@=MS7A}r8sL1Ab}jF4T)IL5M1<=15srB1jW*) zm8VUIR9Ki_%_r$V5WK|ih( z;+4UJ%U~yQXiGIHrb<-`0OkZt_X;Z=IkwyOZK2{IOv6NIg=+rwIcSEVS`-+?B4saw z64qoE?*w!j4jXTK6BMs0?nH~5iBC|NHKf8TAOVH@!xkDNFIE9J%mZ;uq&Mgb6yOFO zC0AiV!7FyVKk9F8v|FkZqgO4XyCJ6M09JY^LPXV@7J7_niW`2W#4_=h9m&;3N2&Xt`51KxiR4uDhA^f)aRzY1|J{4t$%9+bcGqQ5*t)o&&h?hfR{9 z<*s`+1USRJ!V^fGygfp@H@w1oOB-kb6i_%8turh||5Tu&TSUAY8!5pXosLkz7jA|d z4mV-Cn<&n(4q5nn-JDx2h~XDB9OCfDU3Qy-8ypjgyCPbSG;CZgQj@^(+Y|VsGcW;# zSJ$Oj1IHoc8X6oD9{i|aqhC;*L_vaP8m@`7*pr{z@Yb8Wxvs)#?O!1h02+J~=0?k( z*&#k0uPwuRAb}e?L(t{5?=+k#lJ>`i2<}SETtcE5SR53b+auyzM^^4YZI9`KFG6UB zge&5v)-07uT2~pdXE#3Wds5}F@ zUK8FugI!sJ-p75aere!^YmqK4v(-H$4PK zujwn{-M!)=EZ{>T;ZO6IF20&rzTTC--%+G91%dROX|;y!-6NS)-!&riedJey+Zzh! z-}UR6i`(fK^~B2Gn?C7ren-x1j(EQ6^$(_j?61mJ6wlz> ze&kuczx*EL?dI<#!tdq1=|dvzt99EK|KBQ)P$#H8^Ow-tUEA`lFu6QG^hJO4Nx$?> z|Mcf;Cs2R&S)cUjcwB5D8LnYfB6vrnbgxhZs$f=;Uf=9m|Mw$#WI7-CVIBA9kKgtx zHd((JlC08r4PoImf>H9`NB``7-|~l___cqLHNX4yi?&TaZqzONwZHt$|NPNE{ndZ{ z(dI42<(sY1_^+|>s6W%nd;PVa*LJk{@gE?x2^>hUpuvLSk`vx=0AEQ>t9avZY7>w62|#NVBHRn>cgo+{v@2&!0ep3bh#y z=1G?+n#*`pRwQvVc zOm;Nx%5Z22;zhalt<|#Qnrc)y?~x9{HqB?BK$ym(sIw391ep8RoL zv zqS^!_sy4RRLXKR?K&H)>phAY{rL@*+>#d_@y6LWrnYZ6S;Si&UAH*6$3n5;fvk4u+ zoHJ}Pp`Aks9lxAIiy*}MA;>DT;_B_U;D+1OpS+fvp;5mMG%O{*1Vah7kl^JBv+=A# z$0}&WNr)ox{Njfq|GzY2iy?m8Del1tC!8?3<~Cd&Oiey?j=hwCcGk4X&fDxYf_S+R zEq;I!4=8@D5)WR%e3h=kEVt~knYubG^NA3r8_u-Bghmn_88eI5yTn{vutjtLypd-w zC$03-Q^q{=(>HZG5F~;a{3@b7=WJ2P=Ujs*vf3`6aR_V5W*B* zoF_9aw;6St_~@jU9-Y&SKkYb06Y~t(XLHAkH?v^->q#ONzsglJGx0+U9iE_-Ofc=4 zZv64cn}&Mo|1!rdkRo(Yk}4#IbS$qQwv0)&AlYwZFC?~@nus62lr?_$$)~UW`gSeO zyu;2PIybS2{IWM*%T_B;>yWqw3bypKMQDbFKK2>#fCwB{Obqir#yRg*0QdzhY*C|M z5F;ba_=Q1&k&L$->KChEOK1SljG!g(geXkmLzdUTay>9dpYe!BYUHS*7$h8=(~js= z$ip74kA*GV)eBd$GD7+Ah)6`9`+_J$bP>iO`zc})r$|MXEs=?u8sb=_Sj8@S5nMpT zBA~SR#WI>PfngLQo5=W*?L_g6aEv3ZuBgT}I!&5*z(U$U?d- zje#7}{~!&?$VPq(k%^qqA{|M|N=^!pk(A^eEy>AF;tG?QG|}ojNy<`I3X-8D(I`#H z%2u8Um8rbYBwb0%T5brGv6ST|ZOO}Ct_YX8OwcTSNz7u-2bRIa(k_k3%w`e@naRA* zFr7)wY7PgO(Uj>x-9UI&}mbkjDyNzQT(2b$p&&os@+&UVHHo#|xGI^9XndP)VH z@s#H{?a9x6o@RmhROCMWNzj5y1)c#_&_Lt!sN9^TATtR`qa1=4q%@Q@I8;wX@3O-c zWz?Y4L1;o{!^T2Is-wCAK&v_!5y|W%IDw%FOtV87nPwzAtzt@?Amhf2Ot37diJ+*s z|5!Jk;>H%gAgXVKiqaeYf`U9sl~O^f8hnnFQwu!^T4=EeN>E}G6dY4;CRQ>V8swri z0_qk85)Vui;x^$}MZr*-5Mse~gwm>7Q?)8rTA0-|!77kqg)fR&>^UHz z2+^iCIF#sLj;O}cm5>#5sv&F6(t`;|^p+yw2*$QV3n2icc2#nN>{KP2t82WbvPG&{ zO13n&O+YJ#znB}o^dc!o8R{T-iRe{+TNH~8WMq+}Ng@)_*o@YwyyRsruT5=i2OBl+0hw( zW&GE(aQ4K`EyPK5MBU$r6uXOg;6xN*h-yVjBA&6F{>oyi3*zZ4t+EBQFieaIT6ewn zqD4GRrNPiN!*Z)2Ml-JQi}`XeBg9AsT2hrWzLbgZD{_rgMTWJ(nqV_XTq>EA|GB-bVvAq? zo3DhV%DQvWHK|R=7Ol`igMSnCIht|oiF7ShcQQ1cR~=aiLhDy5Ws8VSWs6zA#lt#l zwVDIN=ZGalgQemfs=EERW)N@PInss%>-^wk{2EVXnRgyDa*bfrWg`C0c8%!V*qgSQ z-r6XkAre6hT|ZVJwxGqetIQk9VmZrM-5({$SCn6P!V^nTvxi^R=WLypDVEC?w>+Ya zjr)NPhIn*U$V!Wp|EpR4%9bCxqH{r%PqD!mAF)(hmX8SC5A{1Noj}nR4+rKPm=Hvc zY;knyaV@cl;D^|Vg)LjeW5FdK`fdpkvCf*BE7?MX%nbqxLS)Oh|3y#6{D_5#(D@4# zTlWJ)Y_13sZp0QGpUAtirCPEEFGv2OM7^+Q^F%y49G;b{>j2;h0Cs6}VfTaDi=KDA zKj((jn{`6wE{M9%kYk6>tlNoYr*ja4R7{z#HeT-uTL4fH{oP2^S3xkT(}`g8D<1|) zpZniuOA*6GuW}QiQ$;X19`BO-@eMY5onxe}bhv%9KAZWv>yhH7vG~Pnqg~{_9>8(c zRv~cbbFwBQ8H6arDnKX*K?qtKV4?&qXfdpnUt?XiunL8MJ^G~*WYt+nvT?Q5YIB1L z#|A=%UVe<$)+6dt`+O5@-vSBM8Yi5H&^ziLeSnh;)(hf6;S+(UXA) z$bbKm2%umK7?T%mC0zi3F%y)9$sh=dpb2$XPzvr{&-fH6fu z41yqk9Jq$FBRyCcJq!h0SZNvh8ienbF*eUg9-hDbctYy znsqOqF@%Z$3abDUen1FUXgP*(8^Zz$5=4k{26%~ZY?dQk6~Ty`fESF|U()g~itvR+ z6Ip}^R&^34{Xz>1w|{aY2sXG1gg9Q{mm60$eur^c{}q7=nsW~R0tuA%ioD}5AapM$ zLyhbLU!?FEs75%D<2U6{iSgnVJAp&&*pA<3FJl-fb5lO>6%6qJH}j<<(4%-2H7vgn z5A$LR{BRaR_-+M}TP)>h4N+I0cr(CQ4qZctVxkS}R}}HUWfkR+o6wETAcn6Jh&{-B zWJL(oa*iakSUD1gh9GF+uy`gjFTt}HbCW&(LI^UU71;8Rc%cYVr!J6iG9Uv9 z4AIk-TH%1uM=wNKb9dE_`!kPN^Oi+ZBM|vH@sJFj;8%?zhKw>_?gb_y(~`l^CDXNx z?*welh#(K72n=zH!~hx`(?44i47R{CK{FFJv~UH%lL^-)cybN0Cl{C|YL>Q~%-Nir zMj3{e7d7Swph+^e@P~uQeCncC`%{bjz=+mpQZ993`xABVC0E0xX#@dZVgdja`6^4f zTYivy&SjIc#e)OkgZ2Vo1hHA?(K?=5ExtvR(U>-PI zejtcUIgyE#EcUVqV#PsaVLbw|a0B-*C}E>sXF1(N5_(sHAQ&%PQV4YxLq|vnClM(E zfoaUS6jvjLfry!XdaUzCeVl6F*7VqgSahaC(rx7$N6IAmY^TiEhHIbF+2gju>)Hy4G zp`O6Psnoc0YSo|{v2h(#V^uQ||8rwCp%Z)YC^kveI?DKwRpTsdx|f~hS)LU=XfZAS zVu(}MdyoJM1_L>k7caA#oo&IS6$3cb`59X&RyIVN@c?)_xS+BsHYOux&IU4u;H{p8 zbgx1(NT+{HaSdQ1hPB5i2y1d{rmFMmpyiVt&9HFXP!_8I3A6=T!I6(Q#by8YS>M;D znIV2~8WeFe5nMx&KdB7~3YxSP8Xfy`)~KqGunAq!v;B3Fo`4CPz_XZOHgX|^MBB4U zyR<@!2}Sr@e<-Q6NG%M?rtWHl#JVbTI6j3q5)qmgUelq*h$pQxk?#q4uZpc}hOIOx zq9KW^a4Kl1mA43jpPSg~M`r8IcU2Ks|IIe>hZgL(8*C(yqWMtHc1V%(|>w>7)>~oB#Tt z@M>0N*jD5dun9Z4lwf)Q5Db_wEJdRX8nLx>uybco5~J%Cz>;&HTimKhLI4{A~JI23H%T#@escx+Kruo zG~^X2`n$jUJ1e9WEhJN&)Y5~BKoE&we@198I*6se06mZTTKj{Zn~FUPdBAnCmS&p> zMYp{)y0$dhwoPK3{{`GS8)?8&mmN8(bO+od)f>2yBt3V00DYF_{iHZOkUg-(V@;ep7j-c{+ zQ318x`Kw3xj~ek=Ix;>1no%=(xh|>={IHuM<0#tjX5dzyHtB4G89bly3j-KD?y12W z;e0sK!9b;8|72IjGl8PyC|B8Af;t-*lonVbNstm~yX^@(*weSiI>X62G=SGVEgZ@% z2?{3%d5|DB=?afBk%;U%#7qhaB?g0@P%Wce7U_!#0C0ss#Sin?QTHimmLn$Y7|YHe z2m$&kc9_linuLt93ENUuB-eHKs1@-i6H4k|WTz9w+fq32*X0m1Is9Llh4V@oi(yxypy88074);k^s{xZYMxDvs~dY zn2=DQ!Z@EWh%H}143=F%JC`qmD9*Q-3~i-3aseirU}+@d(?nc<>1b*lqh`lKfRJak zT^KzUl-W+nh?e};zuJFFAy=-gRfr9PZr9m#xHT91DwfSbv@kxywb_DDibdC##wc+O z940s?8GUn>{kMJ%ESc!y_vfT+GioY$ zItL12xs@(QETE%cz>^n8?gxeNc$wEF*Zd2GI40|NsWw`hxPzV5cj7aYu@=pgH~Vsg z06K|<+QHFs#T!7Op@yNTEuRQDnTsuoa9p5wqZM>?QhqUMI}nzWeHyrS&Q;}zr*}4| zcg}{Ctfi>A2LP+!b^xSWLar@=-cbob2)&%k=WCA}x8E=4c%jkcL{49?axKN1Gs4+} zusGnG;k^d#7#Sy*2dpxS0zrDwW}z~1OaUraNNr^SD)aYIc(hV8MC?ovfM(pg|2G&J zq?t0GNe&|vL8}ld4sH-nC9~4l(sJc@ui_cO5HQfJgQ=o3%r=8U#0UUVg%ab=>Z0N5uZ|Nh zG!d2Or5;;^G8SVxT_L}*sYskI5D3=uB%)0(k<)PL(??lt4PKU8iApV^1H z0BBu1m(k}>ph1NWC0f+zQKU(gE@cWdoX%?|Qvx^_uWC=6S+#PcL`iB)0L^GI zytY##K}CMl`hnE!E6ulCW7-N9x8XTVeiYdfDe#=FM7GY!C44dAFI#pQo}(qG5U9Qs zlR*MC*sxZ+iY=b=1Sw=;(4j?-CSBU}X}LR}Hf7z~^=sI%i9R)p+P2(sk!w5dGzUD(~dgc zy?Ey5&SifOow-HL^=01I-{1d#00R_|C8&B*??40-RFA#<{|0pMK?oz1a6$?zwD7{x z3RG}I4m(teHn%VoaYPbJH1R|fQ&jP#@;r3$MHfMAa77wxwDCq9bJS7C7Gd=9$MhK7 zaY!PIH1bF!lSEBJAe(g3H6fLha!M+zwDQUonS63fE{%#3OEAL}b4)VJ9IeML(^Qi= zsAe?tO*rF}bIu~sT=PyRzoc_dKKu0ZPYSifbI>341oTiu6IFE4&;%v)Q4bAebW%zy zwbW8OA=NZNNiX&EQ&2+{Gt*5=MXys)Q&n|UR#kM=R9Iz0wN+Ycwe{BiUX69v)@H@^ zS73t`7Bo_MHTJ_chgEi2W}9X4n$?b#b}3(-wf0(U|7q2AT5g4^Hd}DR6?f5XyEQi> z8OK$3U3L#G_FQw*ZFgRJ>m3zZc=P?~TYLNU_umxD)mK`6M`ROVgcDX*;DL>m*QIde zo6k+~no;;-jIVvSVTW}Jv89Nw`Gpo*e$j@z{}?NT7Wy)F`DIl%=6KhF{rUxxLi`X! z5I+p@#Jd0Dp@fcLP=@(vq(5bNW>{&vY^rcJ(QB1puF>WfPYOxo7v1<<=qr;l(%26OAVg~G9Tu)l$Z zXfU2c3QG`3M4GRe<&187bI#3_8Sc1~P3fFf|L9o7Ds6)KC8PEXq2#G^f;n4|L{>4- zldTmx=a)n@P)jhJ@?R z!xuly&q3GpTZIgPWWHe1qI{LD;{ipGW*Fm{5=;#7V-@LaF{r0zP>&e9BZMFDmljA2 zBoUO09?v$B2t{Bb5!ri6GI|C22nF)VDe) z2x2I1fhGG040q>;Uo?Xdg(%uNnqde+WbPww>D~at0gAxLCmbIU3^58J2wGUBF@D%Y zIO35ELL}m3v``EGRU@(U)1~{m~#+= zEj;;!AA%t@Tku0Z{P4sbrPD`D&`mIjvr1J8X^VLH4-*IhoEitB2tu696Jexe?ATI~ zL>PiOAGt<6BF2x8EXR$jWaWv<7e_gY?j!&xgc!B4w}t4D67%6=GZ5GnNKhgzwxbB$ z{6GuKD8v?^045;_Q9lnZG8|^q-bDhKK#%z0W8nw}<>EmMZ#q#Bln7=p3uwYtrc<30 zdL=CHR4s)Ff`8g5#QIL=KQB@u5kC}!BK-MJMSu@4{~O3;bOu2UN(T}_)Ey}3u*e%8 zy<8weN13SN_VVuG6U0p~866Av&VGZ+T!i%Si24oV2( z7xAEKBDhfzqVg@9#9``c+#1rYMpm-7X{T4eD$9|aLu#K{#oj>SL_ZKh5yW85(0m8D zk3`XokYElbc@n@xd}e+)B&_KeXTjH9@}+qZ#A%5E3EQ^Rr~*j~C=~JwOa`N6lVxsm zvr<{hZpmqyQ5@w?CLQb&|6>&_s|WznN(Zf}<#lG%;uf z119boVMazK!c|%Bklp;|g+TYnKzi8d!m$cSEU=!+SmR9M(m^^P6V8Js^iAYEXCKwf zFG`G9pQi#7z{0T2|AnS>r6E#eL_SK73+Z~yxjLT_<9hoaEM!*;SKNAyd!>bS{Iz+P_j72JuYgE zZ=5x#{&>kpJ#mp!>)|G6d8kpI@}vaZM%>^=N@z}Vj^JD+H?O%xc&_uA{JiJT;kiJ7 zu8pI|r06tR|N2ClzVn+qUFbtc`p-|2^o1<_=?vL=)v?}k6{Z{J8=CHIzFu{sN8Rgc zPy5t=zKw0@yz3N+2;94|cB#Yt>~qgLH=Y52XKVuiRHymhpAmSqyZ!1nKYZNN-jb)E zeepEUh}*j^cf$9a@*0u6Mc{sTZUDgXeeXu;p8*c4=iKTIp}F3tZuqFbCGxKayx=v@ z_;YmQ^tb26-Q!Mm!hwB9As>6pI}VyoKmH^a=G-KXL$vlSn|d zdq49N2=#M7a2Oi^KnG^91`XW2?&Ag#Y=~gc21*h>9?7=iQxKVhybbKM&4a$5*u3c* z3K5J4PQV0s7(bslhhcyOcqoU>E5M%n3qz=?i`YJ1;DvYyJ+?Cpbg%|eP=}28y_yRL zYruu`D?erELSA48uLC?6gu`3F1$CglxQhqw0|!$g!iV6wj8F$$;DuYT1~YsHav+Dc zyFG`fLJd?KsQWuY%mw;eLv}caXP`bpq`< zLq6O*zcWU3xUnugL|Kfx?R$o9V24{c1${U?aM%WKWCvbAM8I>12}+xgMO2 z<0}k7BnqJuMFqsbZCD0=z=TKO2WQxZEewZYcm!>@v6>6Snj;-LfCO6@z}^GLWJElk zJ3KJfW@tbCV}?TP!e$%{*V9KD{Dpkr zg^KLI1=P7Sggc-F#GhQe!`la3z{4>-g-q;*!P|#h_yseZMS@%ixC;u0U`lo1|Akpl z2juVxU-Y?~6Ty|d1$OvI!Sg^|P{ Ia)NqYQzOgBu8-gJEtr|Lga;ATt1QCNVLaqyk!>mBjD?G|%2i=p7iYgBMYlk>w#KHpr3B-k6oDZ7ohJ2{Z zd|1qCz{7Ib#BeCRZkQO9M8-tiK3P16awxs|NIT}hPy37(F2m2eLqETJ{|2K(N^6M2 z(z{P~z=dBxhuk|0iAkoxi?Gr&My_Oz_Iyw3Q;CcS!8ja1<~S^g2^;&wPXK&|bI3|- zK!Whl>b3`Dlm0WCuoUyJtW~c7O(;@I#$!hZSTFe$dGr^oa|-9vL2ke2123&2tb2 zPpF5%qlICpghzOUO85nM7(9irQ#|E_dMHPD-~>&$Q#;Mmde{boe1wC<(^Ux6vy2Cq zq9mGIM8A;{q?ziOPo3jEP<@W>l||IB7IJpEHnT!@GG zLx(XW%k>;XUZ{pH9o~+#*5ro5%fvJyoK(gibCv00zE`@I6My>%x44u zcwIx2JypC!$6N4Q#sr7*Y({j9!>6Fcquj-erOfjzNnUWklc7j<7)xs)hk`vsk}OYV zPzPv$hI3He7G2%dwN?X-LvJj_d^m+>OiS&fh{qjE@We=5AWM=ASVWXXLoD4>P)p2% zTL5st4^7t=oQ0gk!&;;{qXgc_bwG8P1vpI0Q=Cfxh|#Sq#bmr!nsY$16vFX*&NKA8 zP(4r^-9+6f(yDtuW>{CtMZLajG>eD_oVn7N9g&%(|5+xj$8*pctB8lG!i0+8Uqhgz zc<`qjoCvs^K0CFFgG`2a*hEIHhjxgEc(7A)2#0!j1U-d^csR&w5Zi6whfN4bcxVSb zT-0FT2Xbf!vOO71@&lwpP33bvlvP%B@Yu5ihjS=IK0KM69KWJW%fD4ba9~x+E8H3t z*^G3`IK;)z#Y5%Hht-XTav;fb@H_7eR(0^ZxHHCaNL_SXQ2-!^F6@U4T}k^~P()1K zY<0kuJWoBghJ3(b_j>~yM@90M!$VeTtq|{ zB+C}1%v}_{-wQyTqrt$0!IlNQazMs?nBH5&|66oO-7zEw7L5mM%suL>Ib+mO!=*ke zjAUyFhu>?(crfB}yt!^D2k_;}VjetBoz-U)h)rwU?NJ+k1fI}_YamE;a0YfBhIrV9 zV;IzcR6x=5&4kpxeimDgXkeDO$ZojUMC7@Rr9Qpo1tTrWeg$0Z9L(P%-0!4Lz0|6E*1P9craTtEl$eP4BmYNqtN0bSd>TS4uc zSUE()(1TYpM!Ivn1@T+YayWakYW@RJehIr^g zerRTGz{&#+($k}6FD(eZ$mSE-W^Nu}Z??XIP%e%L2R{%ahlDK8(*}XIQx%>*JcS3T z1&4&*hTB|Eco<<@P+@rRgn>RwMLoz`ggd0=1b*O&M6joo06OPn<(~jmAg)C}>|?&A zV|DOG51rMU^Jv4ZMcpIB&%K4OK520L&iNe0TGR&lWbPx~KKYALL~QKeWe1af3coYT zI2;F4>e1<&z795FFZRFXlSQe_{|Ki%UFsWIW{~EBHsW#+=Gn!CS>Wnx1w0S!WvJ%r z`9sV$-olB6!5T!#<@P&bZANfthcFhuK`dF_>%X4_Md#C4Z8+boOUWr-+pwf+KEywe zRYWud)l60g-CIS7xCSk>Y!eA!ZmyPT!l5hW-$am)JVR&vIAo+{RD{@uxt?dK<%SW~ z)4#Y=E|+rO=7iin!$nO{mEgiz&D8pPXqz7I1h?q9491cL+>_?c zweE1`#)W)X=UX~N{bp%&P8B}87;Ne5Jjad^c@M?{JywWDi3g~&>% zbZJC>Y$3(LoNR}7I7(Vw|Kejj$|mN*!Mw%aHN-CLWwK%3vcy1V9%JyV#lb^|Ul7kQ<5O;k2WXm1Bl{kkoV{;+5 z5F!`gvO9^tpo0P82#36ga2C*VFmoxF+A3#-Jyq0xj)xJpgkji)T{uWca)y9z;eM#f zfxN2SS1wkF@oR^;>uUJMK*Y{=zjW+4ga#Q087g}CahDLx&TKZ>?1`|b zbsvd9D~Qd!4o{vcJbeV)E(b;xJ;FW6U*Lxd_TqA&ZLtk#Fy{w@-|gQ#2j6}KhUbRi zM*It;!|OhDfe=3>9mP6VV((1HcJMoVt<78q?_ZVqlAjOYP3am1Jp82ymsfP=cuq~s z$ZI@3?F$FsEJP<YMAM4+ldA{|Ii|(2?Vn?-@C5+PHCh20&ddTR= z3>-LxDp#sx$PnDPj^F^i49AOCJc|n(0@&9PUAb;F6@rU*lOHz#G`V$qhK|{-eIOaK zthy4wH9DZ;S?%ieE7-7N$C52;_AJ`8YS*%D>-H^Nwg6~dJE!z6-n@GE^6l&QFW|s} z2NN!wH{9H20L0Rv#Z}?Cb1UO1fo68 zNBk0QtLGZtGH0-5D>SVw+^|RG%5B@m?-3||&dxzHlsPQJXW=+{Y&ugZx^cJI*;T6T zTs~am|583JGg|b}Na}zj<%xHV zB@jB=Y}cNOJhFq>HadN0%`N1dIO9&=@q!CiN-?A&eC#}9C0XGFLx(LM#x*FRg&KM& zqKPWHD5GW3g_vQHN;)Z}m0H>tVzek0);WSC!cS!J(6Wi3=g>ljAD~FKQaGz9Ld&Y! z{{RqAC6BO(VR1yH_c4IC$&_JW1M8s2h? zH50Pa4pi)P15ISsu%lFf5XC1i0NrTlOg!>xn2S2)0N^k*3-goDElWZ~PB`*P>0&tO zw1W;fF1w7=p1!~@QD+RV!$Ix6?54t?9n>t9qAsVVDSFM%^BKizno zro8bKTr@NlLu6XWJd(8Kgy<|h&O}Rf-~^`)aoRq@ z2|UI9`OCO#yA<=B@oW>$wBR^oU%e;s?&t4}nTP;Nvlo+#(v5#??OINL4g;>QM`IZRG zR3#jg@B=0|Qyh43f)@Nx2t0;?iF$P7G{Y!fC1^pr0sW$QzvBldhCz;UKu?st@f7 zRHG_Yz+`GuVhKk)784nj*d-oWft6JxgQPoshn9BA$Tm##J9xB%Sl&~LXV`ipqTUZ` z!`am{+L0uz;)NVwgjzU$p%s2)k0tI|S;ZEjlq}L|tan;WDHXy)3n^16cScdF9da%99V7GYS`2ow*^W+WvU z=~`b+gA(r=&ai=l2KYJxMkeL0pBCdqX%X4la5&e8DCtH#K*f)$bxkY)&`2W-%hUxk zxWNv7utFv`)d^F0!d2C8SW>qbTO@-Rf-poRufh_}?S)sBXvcM-h9WPu)~{aj4vYH= zy&rxD6r=ma=B{|((!z-*W3&z;X$CcvJQgof6AHlC!3=9$Bb^?j$arsimApK*waCq` zO1{UL9~PM==z>)4RvWz5$_2R$8P0-=tYUsHb4gI!{~G}O`p+*V$;c!25METgAf;G0 zC1g%c1aUgd&(Xx>lw><9`Q~XU6p3oLJ)pPhJqoi=}mLG(~6RCg+nds z%N67id_s10gnj9OaDfr(-0wabLD@|_^{YS50=RD{qX3171&dvLIGQQJtpEJGbPG721M=tfL2d3nv24A5_2st16dycJ+ z%bgms#VtO)?1rMrGsgZyyJ_#|DK|UZ<1Tl}#hmJPzdK&6K6j3@ZSQ_pOW*%4_`wt2 z=b*+r;zzFc!ZW_{j(Qk@! z)wBLBhbKMk3u*e+)4uk$zdi0B|N7YTp45O`dhUZS{NWS7_zM<&?~`A-*&Bb4bN+ka zn=k$8Q@`jRS3dSB$Na`+7wc}p%YY)||9!6mE3EM-th`wT{Ki?xLMc8wi5IhPF#ZrR zUbkpohWnk!L`K8oU4Qijpa7oU?q#0=62|r^&YS^2F$@FG0iH`JQt$i%JfvM!6bCI) zpnzc4IoJXv1d83H1WA|{O0>vMw3h--hr>KfKT+NfsRJ|YkPj`1G?hevaL!{%Q+`Pt zo$XgHL!VaFx$0v_;!AKU^m452na zf*<&SV=N&mrXu7a-xIc?Uqm6I7>TZkA+7j|XBbImphTKzT^SXLXQV{#XagtlhSn8{ zKpaCEB0@cE;He41HJl&Yz)S-X2bgFFJIG7OEQFPX48^!aVkr|t6iAYAqtl?^3Bts5 zY={R56-6ve;do<1EX)U;;Cn4hVr|1S!~-Li5^RN3!Ca$l(G=P6f>dA;CV~aq99S-# zf+*~Rg&2b&x5mK7yO9Ebr)mREwqSiuBAu!A_X$d;Lu`n1Sa zas$$s6FZ=dtoTQK&GY;$7N~)C8fIpuE5hQS6bC=FhAf3cPgV~(R6-*RLx3$$J0PPK(wg%G z0x`q`JnX{n_z&M~f^0<3Y!V~v&?ZWP1|QJQF~mc-To(|53H}799Nq#xTmw8vl)`ia z$tYCP=e420;V!q~(u%oCd!scAh;Kc!>LC{u=X5sKwcR!PV-mdBiYB>>z+^K=k@ zq(n1lgE>jlI5@;p@JBpo)ILyzN$8~wwnthd$wKf~H=qM0;DRwE1y$4$B^@ZC7V7a` zpMoapp3#L!|Nc?C=msa)ij%~{lNF1v&{8}E$1H(HayWxCz{4YW0zbfm8G6eW)nY%W zC~d;S2pPvCPy#$?gEH^~EzFKUP{yZd*MgkXILJyhZU;#Gh)k42Jf$Q#=p!$D62M3W z3`qn`3`ubr#d@NPIbwu{fPKP(101cx$Y>LU zkwOL1i|v5cXX{vuxkKy&Ar?lN*qrX4yH|l!z|o_9iW09po3p>)u~|5!QL(2 zI!=NrtN}7CTqH#~T*L0v1IlfgrS^k>0LLQ)!-Fd0NeJVrD$?(SApjh1IV?jkt*Vi5 z1E{hBSIp>8nkXg}(}#w z|4;=05W_|0t@)mBqUg-e7(Jw$4+JVGz_zycm za7^7oc36jYq$i0m167LC)xu3X{71#iN>9;Dy0#&k{v(9Ym-m3(_RIu0EQ~QILN17d zP*jxZfED^Su@kpN!me-M{vP9qTYx=7J>;fmc!DN)Pnv+nFFah`S5Q-L{3h^|9(qFW zgx-5sgh1#;gLLV=_ZAd25C{P&p{S?`0qN3Inhoh7A_N5~0)nETKhS_6s36Pke`j`P z?@qZnb1vR_=bY#JdE}134xj;?TDLj>4%-lCR#a2Jq+CqwX7or=SauOg<_tr8c@xT) z`SVxSwOzJLKB&LF>yrI!2b%?pUt-0NnW5J&(!WNH9LY@+ z+`viq)@m4s)IJ&ZFWID&SDG*&{~AN8A2t>e$^IS#8p4mFhLyhl@x>kT!yG8LHplkm zZXakVT6lcg?ZL;IvAx$C`uq87N6>#0&ra%QBIkv_=3w%)e=+nIp|1h#Igm|)u%#{S z5y$)g4g&c#0n+h7aK*odg#?VqAy{mD!?`=HW@)oqEl?TgT@9q?-+LY470dVExF zy(#s~im)_JL+cxHC0)X{dd5;#@jcTArwKrrqjMKc{NW8onGB;Nqv4 z@3H;%mbPno)U}o{yH|RS5CsPRg`&i9+t)U~ClA*qvn?eYVluMJLiupi=)#>n2~)9$rapJis`&(%B;i!})749H^3S_WFEI6< zPsc<&^7*m<+dS5Hf7$oW(6`hy@o{D4tqIAH{$2Xn(<{**-$BHl!3~;Z!b18ZvE(1! zZ$cgkw9q6(cB%|@5K8B>?cnlS1PzaSYWV*q~Lc0yT!Z>hTYKw{;Q)o&P zMAh>ybnC69i>ytGu-Ymd2xRA}T_d3h!^oD3^)YK9D*gx;ED-F3RV_neUP&% zrWb0yBpa~ELj!Lg8=upln<&gc3{WJu$CH|L6D4V=E)~-7reEREX>`tBp%EbA% zyR{nR=xA7v@aKnNN~|VnIfFDI^|9sQsbqO3wo|NSxs}KZIMy#`T?~Iq9Y-;gZZvrz z91?CCez8-$N%}KdoWOG$rB6|^;cfI4e4av9x9#W1Nq=FO$5)kqC+qL;poB8-<+7WZ z2fx4gpKNq7d`Z}a6^&g7ki&P zxsg%Z-uUS@Z|9e%6*Fh>H{3i;&DZ{j>pUBw1%79I8c~>r26$wj*4fYPi~ZW%a|(DuiI!vh1P1d^Z77 zzgX<1ex=g(lG`F><&hzSg+_nTvlJP`Ac^qB38;!0{nUMNfz@dHoaYqZ@{iM=Pqqck z9eaL88|@#z%K6X2=&RlFiq-A4`Ahp1Mt_715BRQb-ZPqbY;;&*wA*U*rQ_=12cv)M zMy}&VN7rs26dZr)EB*K1@yh+H$BJGbTfO#P~vV{SdXQ1_UraMef24|4%EzQt(?I~QrXYZa)`L!$W;Eu1vW%FuZ zX*fG|05KZ#4#G~nyB5A_OAs^hW5P9)V;6S z>7Y>v-CD7ytM&f^1vhVAyYOfC73T8*V93ZmI(6U77O2V`JZi4#_%Qb<{KJHZQXr67 zpm6*rD#kAQ+FCeYlPssZ@jeO^-Nb2qW&iKN&;LGLjhj7hU&7yRZCrIIGbdZ#9gk8x zikP-BVSwO?o)lB}NjqAMHY&X%|HrxT%?AtMpRmPI#E_j)~GiwtOu-G?#J}|ot zuMD(IfS9?a$4D6&3zuJ`Djb#Gxr(Z(NAW!4q1a2lpe9pA%A~c#fzq{y^c+n?Zmcnc zQ~pb7z>VKrTDlJ&N}E=tR(-+KY}cer&lh#xGue?t0;fxk^jPG9XFDj#dCGY!ndC63 zu^98)UpMYizl>P3*v0xWoy#*n`Ah|WZ2#%f+_c09j`y;L?A^Nojb9s^Iva&F)B}$> zMNM5Bo=90vB0;?v*kwG{+!l;ombGM0kud2-n=8mc6w>fuYT37M?bFUIw~91=i@P*; zmQR0f5qN1)es1X-dCTmPaKNZih1NwUKL@DXn9RF(;Xj@eu3sxsj(%e~({y1yxGYYcAks+4$n zd~53Z{^!585tYB2?XyvTx4PF`{(gV9|NZZ`u|t(ZM$-vNtTrgy`Yd|6WRSyR6+j*B zOuM}Bh5==G^4?;yQDp4B&ve@UT5CCJ`*U4uPZGZ5@bC{~(#zEHZ8+b#!-J>gYL>6V zGp_stSTP|V(X=Tdj)+|IIyU#uf}X+?wq0q)%-g-p7u3RGRID*Op^yEdn!?Y&G^9l- zH&f9GP{2BNe16oVZHtzvmRrdhY&kHt*hf0bqdedKzyF{IJYo@-?)!S{M}Sm()h zUQF&i;dRTAQw!VqgzH zzh^xEBu=t62;gLbJiu~Nsb9eHK>Z+?HcbN|5LRk5KaVC!O@i=*>GzesUaUci2YVrVk&ysTG~C zas4Rn)Vju{;Sw44Pihq3nCPVLeHZE2aq6jLeuugtWkJ6^*7@O+z2=x^PuEY@vriWG zS_p~vxqptiVC)`TjoiBLlk(F=o&8taAA5fv^sBiya!C*J@|pr8f*y}uPzlvbzlPE*F)0-{wB(gzP#t?o z6T0G>rVnGNzXbkWIA6I>Y`c-0(yImfi2&>(Le7{Q$JWy zXU>fNc~VgwXhotn7ybhYN(v7)$FlTu5T;vaCzGO_*oxM#X|*m!vnL0Pc>t>?z-;^vzhkp$U zj*9zFyl{GZ>oJ`tomBuAuvoOJ@1^r>tHa)1l`MJ+aJKvY2~3+&J7+zeDY15=sdJ9* z@X+F8T0~6gQK$Azrfv|xQMUf&rR?f(&egYYz~FL5sF77c8taW1{-f(rb>7P?5BF|i z=P>c-nCL8T-lu!qkxX+L<>ll|j1p!%g9#kod8(d$UQ6^p`6-;yoM%bVy+OW$+0iwY z%bc&@w#vI>6Li1)w`@@>F{+)NWP)Wrkjl>hvl9eO5m_`?p_zjv#3ep;UA;QS}J z))fFfZL&g7xIX#;!wy`jp`q9T@X9*N#=Zq@mh&*ih>woWr*nLAU>-$zj8HwdeG;1a zIIl9m9L85+QvqUAMiX>&@+^9s#`d`mjR645Iu!gD>Zpw^D2o%a!Sm!MdebQ!Sx8{= z^<_b#^@rIevFv-hh$UH0)lu{v9bRK3`Y0KdK5Q}47RoEb)q~0u26605f)Ni`*(4xG zZLG4Eaq8Pd`3G#Hv`hi@l!h4Ai7s@12CFz7Cdb3R1O&G;SPE~ZjREN#>g<;gz!8!4 z1{pPqCrNCdJfVNZaS%$P6iqDU9;9ZC)}c{EMB91tML6(1ne*JJ5h6BQOdOI?>bZo< z5!$}W#z{CQYg2bD`np=$yR{w!Ut*m)FlThC#m*Q86fv-xN+10QAHp%K>aF2b^WDIdE}^BZ5nT z=qq+S1p~X8+;ZVmc}!(S7i$>@GYNFP_AEd zCvBu9-bw7rAt*YXgZ(#}>A;ss9U{ul{azb#P7a*dWxLZ&;rGpRNb!YNrsdBjIR#%7 z+|Fg{<5))Jil?QBOr@8~b8~ll$gLo1eF{+zSOX4%MxCOZnE>5v&U}EQzuk>16IJHM z?U{voRfF)V=U$P97&V~iHE!l}XmSv9S$9$okj1omT_cV4hz34|^_vVSR6V|BxV6Fa zxPklg$}L(px(0tst&iXEg5ZMnY;ZP)MiP$}qQVhw<2PIYGPT|u6ALviGwwVBZkv?|Qh zO9C$7*&}H0PybaXbyGc!%)5#&)%ptBWj3<60+g^jJG3ZdDKZq z!F=E;1lk^~Qq7v3t=+OvH7Jgcr8ePXdHmZBx?0F$nstMVCqQE}dD=|-)w<{J zf1Zi`0}?%pXKmVZM{sA*`7C?rwd+_XUue>2I??5++uQgy5nqqS+o*)jV$2lBQ8s5n zBf2%wDCW!g3wKibJ6%bmuB^M#4%s3HE}874S;a&uWk1Blm^j zeuy-~PY$$#_Z-_O!aDttuz0?BsJ(lz$Fu&^fKes4E4=&9RU;RAJu~lc=#rUC>n#Hq(SkrBm z7Y%nF*%wkPhMwOxeUVb#WT_s*4|e^|A^^7KMRd6y3URNtdGu#o_@gLzaKn=3?(pM3 zmoTl40`V9ACsT8Ky{e#IUX9-Ky8Tif{W7Wja%KGr&-#@X`&G)cH-xx5_xck9J^E^T z6k?6^#uYja9Iibb&^pw)-}$&f$l6GWFWC3un!5m3M1=adYge+zQHqy3Z}nMm=BCr! z>obE@g}`ZMU=nY%MD?SeuC7Hswn|Hq5|6&;>c1NlV)G0=LVIea?se`<5}jC*!#`3Q z7=8)Vl+pE&9yY|`YhtZ65Taf_ar_>}uZFA-ZqQB(xn@6{anr|9CTM{Xm6qwA-qd@d z0eq%+--@u3nBl>uqLY843ilfv=3mO$JHc24w%&0Zw#9d6c8hEq6bodwYPD>ZLPPx?KAVEMH;~=il?>gmC`Sh7^?Em9S6lL@FjkaQ*v_C-D76 ztw3-wYDjJ>Av|MLdW|i05#8t7ts!1fHygf1ue~+R`a&GS`-{>ykFE$YIQb97jfo&$ z2wFAc&e%lXA085j1;S5peuzNTG@>+pYARQogYB8y8_^mJCdHS=7#}eB_E-@tn&S{m zqM%0brRv6$iiJUWC#?CgqCaUK!%xS^u%W92GRwQF#f?Evi4!ni@II+o(0*#Do3p6Q z?5Pg@zt2sY>Q(2`0(7*Q6g^RlUXDu^Gq;kB&OUrAWk8uuVx4tIeKJ6oW=(R~lfi-s zOlhneHHi0_&?V|SL3MUSEVjyuJ>o8Ut1VJS=3S0{dKT|f=G7Ty-<--?zJ%enr!J`C z6_$&PT+1A;rL0K^k|T%=ZRo|{yo?TGn$a*D^bvoq6-(G=uKSdDmBSZ)%dYg+S9C(- z95@(tMsOi`>xqzhQ@Ly4Mt8U-DCxd()*5w&4-{e-62N%OcP6NW{EBk*vTGNd;}M^o zl{DACzZ3GYu+ihA_x!9RG4cDfdeo@)l#uvINn06TVMg!~8h#l~`-94D=C1Zc?abZ* zRs{Lfks)sy{QBn%-o#%ueoX{!^rUAO@DKRW0~i zwW;%oN$8&OB@Eg}r2)-eW~L+4wYK6jw8SAttwhFNe#%GKaYD(V7E~&&6@R(+?SWnJ zi$dx|*l~KnjT$!gNKVy%Ji-7%V4Fy_`!FAY>SVJQanDCou9-%mu+7&V-$doNndp`T zzLxf{&*Rk6A&YHaxYAq!Lr*cQm&V8iNs4-1v12!NM@_mii$-ib+*-hF=dQOUGGa(U z=C$2rF2tlUNf6uXmUoKc%%g3|Okcg|6P&7+b4nufI%tk}J)B!B>jIUn02TV6afYfJ zJ(G$yVPW(2L=EX~@q<8^9B#|IXaXCs*NY31VHO7vZI`^yMaW#F!%#6_g$kkIFOIo7B{pH%%t-IC`KfcUK7-j(PAviY^jo88vr<<|=H7g< z%Mxi_m3o}}{{aPN-O9oa^@zV_HP-DPrW@TlzC;#y7O@ndBc+4?;JI|n0gAN^H{YML>&((U&?*xwD(vJSJ zIR7*Fe}DqPVAG0Pr`DkV0SaK3?s>ZZI*wd?ocQC*())zSmE}|pS+B)|*tM5=@Ve&3 z-|-t$HRrrvKhsa#obR}EWjIf0`3LaqI?Ict!-1G{2=dQzQDME+_0N-at-67;H!EYZOYBI3U1~B|q)R^Q(Y1)LmMKc)3$$>?1rM4K6=03?hzdZNV8g~K| zs6X1>xx`!+C2XzU!^QFu-^I%0*D4hA(O#PKk>BpN1%~At!aQTacT6&~`*8~`P^NnH z=_5)&qsdZrQ;1dllkM6&u^+QxL_+!rP@sMZ+sBt73|h%KpAn9(^MsEv1OOU{)|X~z zvhn<3yA`?`o%SuKQq+BclPJiOe#|5lTvEt2#b5}3eM;yx&JqUd1FYWC=&Kf!IW*zy zx7Yi>l5Ipd`o789z;i~dH2kkS=?17-*5j*U94*h`(HGxh63*|~=3n8BM3$zLsgk05 zC%l3yZ2_G>(Q$Ta{gyXRQGi$&)2R{HOnwkn(2BJ&usXa_piayQdUwy0koZ&*n)O6K zXgH>+IwT)I%Ak3rKjhIU$QXaXrGNyr5!tW`_WZVIBHwmN>+kkuO6f+aZSeZ{LyMIX zNN9_*Hu64x9OP3(jeS!`bLc*5xJ$6@k&o;!_6x3vosR8@ zOv?DaUY^bl4=w2GP**H(bL;$CmL08g$jC~vMtXEtk=HR%Qju~{o`{H?I}J1u&%magI0 zjB5oq#`cemQAK31$NW6@i5k_h-QQd%cK8Y{%`m;KQtVi9w2EBIBNzFJe6o1DciNu@ zSXbe=n1LaKFS)ULIRX=e68sJ*PuKW|01En2+}s`&PmGpwX@4p1NG@*6vm-&%3wXtE zw$&!!QpHbzg4K_dxZVL`gSz$mZ`|FdzFJ9<;!*KHua_3 zJxL!<1GcS~yS)wB)lsK!Jva-s&sscL-6J>dM|JyTY45DcW(nIyvAL~ahmC8(Ha?}Z zy9MqxO%+8|`iViRs%6;HO$3b^gB$LZ2Cz&2<+pECqecmjqkne4fr4qgR39hsCx$C(j|0C12)kgx z`6;~Bc*n*8Yr}>jbuz?|Pa?-}BCXfYd>X6f$YMnN%_|BJv(E}33q>m@BLr}+8*`QR z{aU;nj_E?B?_W3~U2T{BB%+}my=RTwr8d{l5Wk64|wb{2dh~JcQxF1F$ zq_b5J)p&22L2kMhQWU^CWe4#XZ}y#Y%<{{*W|E*-fw$!7vZ6BkRby`K_}Hf^aHnm3 z;*S;te`9_F1+Y7EYS#C0<@RqfSc?_bdXH&WYNYmH6q{Rh>BF(!%R|wTiWXKaSLC0AL9{P<$X?MW;4fO>6kRGqMUn8 z_TIuf!%hbvUimYboy!Ucy>ZU`mL@(GUsDJDMqLb0f|H^XL?Cx+IptEWV{R@YG;UZ7 zDNp@smE*P5oe*zCJRH#h#-~OcBYZHAwySKWs*~F**`kE?d!>#;@8=C(ES5bE5QC>W zq;!fGZt)HZ{k_G&v#)kUl|p+a5|O%8o1(wcQIfcnoLi9gcjGL38F?{b+~xS74H zAX}|xXjIpTbxDsYJvi$qI}MXen47r99!HR<^EH12b*QtZ1aUkvIkC~CK3fXCmN*Li z_)*b$p`+c0f2UTr&r&Zf$RBu?%FOHi-h0%1IWj^_Y9VWW4|n5kWK7nb`TOR-yhxH!33cvE zRiKF{OClyt$$yuAo&W_M4?l&zcmMGB%f7vJ{nOMJwPK#%laKq@*l&4B?kSC^nKzss z`yyngF{djpV(+s<@twxC;<5{_z%R#8vr-+H3-`|r`sT_EWSYGa(lGld5ObYs^2zG) zxn{E~@n!MCR}CQ}>d?~bx*`$Sis^`RPp4)%cs|SL;Kl~6cDBnbJip;zsue=m&fIZ? z+_$`CssC&$u6k}!oKSvo{&fp?MR2Cr&x}6<7I7{0N}tBf8h*@gT}gh3ls)4qKsFY& zK*_NB^OqmIJoRV0Fxcm=)Fhywcy80J)u85mPg})}k~QUL!CpVD`xxrqu23&(HNPj? zS+l%yqiWY4s%3MsSL+^MoGX5&KjJgoh%vQSzhC{@ZOZdn{;}aoL2C6Dbo=vV9nni` zvPOiIF0E6I>x@F%nv^*^>l-XPz3GH3VY)1H1}2vL;#Is!wab;?EM9Syo4HJfc=Ls$ zeTlI%trTRfl%!mHS>2@9 z!}H8o*nnBbC!N7nkWPS?VvW*$GGGe`kC5`3Qp_oV9vT+PzIZ*2zfMkyl!k%Gj~gpN zb!~mFjrf9rIWnXSRj`_IFDBDNEo<^=HZe@}TqE*WOfE+gW6;o$BRXz!y1HrjG>bfj zq9;*TJ%?C-BzcF1%{c&h->1s9XUC4>is*XzPjHsgU6K5S)+e*vQayY9LO*@s31H$v zirjxW)O+sPC&&QFYTyy(MV6XoB`~0$YwBvM`+h~XClTks*aEJ|rXzn_n`4IgKZTjo_$lHOYu99mLYtqQ9-*i)FpeTEBd zt*#s7?(?g)x>=RxTHTl~c58z>CgkOpSlu;v%42eaPAI&~YF(MyK|8pfJz&Xwk1J8w zx^{Xro-ZIvqU^GXi~DlR6=)p*-EB$R*6zR zeuEipFDf)Bmo#jiYQ0bkWsjmuM&!!$?NF@@C>^#)@a?LL&uj*TJC!4{3+UvZQ^+Dc z_!ZajjF1fbP^R5)W42bvn3yMnhqk2C@YhwaDh&8!#|I!GZ`TB>_zh3SJ^P?`^Qm2@ zJgl9oDI)^cO5*uf9heQjidzt~jw|lieO&AMDxU=we;%O6RE94$e)Dj^7Kz+x``C2W zuSlvjge;nZHBCb_mF9RZX4kEZr4teUpmIv~+5bEyKVGzI<%h2@-LlfU)?le=CO+x0 zDYu)O6Gb!mbvXGk{nd?nT;*-%zEkiDHF%({w8{B%{ZKp-_P7$==)Yl;#enta;Mwxf zej#j`4%}tElP6bPeMcMT@!ZW_#$5Q04U&VUJ^zxfNovlmlV zgI6oCL^4?jFsl}39=_shKD3vCX()hrDn`$gp=j|wNZw|OYS?+@*Vg&}P1zQTMf0PtSyOec@mPM%9nURzGyM@~L4eNPnGSJ~O`jI+Pp zI~KurK9SCeHt*7a<}}PZPnvW1OlH`Sb3meV6kC^@1k&oLDP##2DuRqNL;6dzOfD8X zZ#gI5Wv|WQ^2N-?pP5aOcFw4GuIlA2{U#Lji;&!6Z;@v%Yi-o;spUGvKmH_;6NW}wT z`);>bY2@V0867)hr8dPT=l$pS@}%n?Y|r03!VAR5Om^{;2O=q5PBQJ(3|SM3`)%&U zK+ofqqmvbjCHG8P(D*F77Uia=K_(>wEI7E5=S8b;CFrH8Vwjx?7Zmv^|9NKbgO*MQ zvglemXgDx=6E1wU^QImw)$2hX5eCu$F#F;{8rE)hh-o=Z^!J;kH2UBf$?P4X$DY~L zO$B!P!#PqLEFF2q-pBoPb}>6Y(g*n=U79kpXKe6?>iZ3ngcMMDm>nUo1QPY_oKq1+ za{2hUi8fN!S#y-6r7{?qPYN?0JZP@KpW&QXeMul!y=MNKiu9$+UZy}?>AsRGZ0`8g zbUl*jH{Wyu1UPtl_cw*t90ACeozxEFO0!@?Mj2`*PvctC39ZZ9O<#aooek76+R#r& zg?U%qm{cmQkW<{`>#T()?~mSqhh?#_%k)<(b1L>4Mt#x=qPS~Qg7GV9E0DD_?=q=Jp zsh#Vo%fXjB*9o0wPdnZhFma`ehLBW3G7Lj9&xVk_Lb9SlC|5$V^Fxkv%0sTTgyi;w z*ux))hCfsZe`FZmem1dqjCyGFi?ik!U?IhP+fUmm&868XL-a&aPZX*qKFd*tzle~~NfQLCa+ zA62408Ah$0jr!~r^(885{YunE{`Z-8WK+CP*o}OXw#*<)`1kKoKmJ8A*rT^aqjyxI ze;P*bo{iq~ivAT9y?-V8AV2yfg#M=``fpG4;Y9S&a`eCN(Z~Oy0gf2Z`uA`-=mj6| zDJ1Hf1WTk^OeB8{vLJ@3B8Is&hUG;J>tqbuhZy!BF&uS_aJ3AGZsZh}+~P|9%##DJ z%S0T<@Li4NFNhVWh!t#&6?zdXJQ)k-+kQi4D-g(1`Em*|8!Mq2CutNXbuLcYJ5I)B z2W1p97vfRly3HFMr}!dHX);dvL!8QwIKiuNP%*ZIZmU{aoT^d$vDUeGZSQ!U=%0#+ zcuoWx8h0zO)QLwdPIof?%!hcxAMr-VKljK#-&1Zgzh>4%B$%E{F!N3@kKPqT{9ML7 z{b!ehOHQzPkzhNSVE18nm%KYG*GlP*%BoM;lYs*tzW>!pJdlAqjl?;R{O}1$)Nz3a z;-dq7;2w2}KY9{_>h})c?F9h86fO1`%isO)Ka2Hgjv3qCxr!5u28b#eteG)-cPCf z5rohakLwX5bTr&yP#8d~2-xbM)g0p+1jDV@0u> z8{3kjR0(~-wNkumjc0#RWWfBxdCSrTz~?-~`u%8`@EvVQayDm;lUgF@79o$f{v@rW z5&3Obe!BjAv8Se~qA0QHLRZ}X0}7tb+;WW#noXKEZTnRZ?zJsdNiF0L{8@8f-(*{q%`4hU*lZv>j zIrH1)g2p{<{tFhpfCC2`bs92m+~12M$*cfBS1hChOT@I)fho3xegJR64FJA2Nchp0?tc4&>TNpawMiGH~fIEkS)xjkQ8umm3#$ z+CNjg!@eFDmip|BD3w6Hndc?`kjBCs160>z?PyPq%#)ihrT4)YwJJv~-OmTRsvHc>k z9eHqlixUmy`esp2ZhXz`$nbYBH@3tIP$bb@=fcvZAib)xZFr$`Q&(~t+G|ZLc`TMQ z?%6fJL}}jFolW>}tNA^-_P@?gISK4CXaaiN*4onNRg)5SYO?ubl2(asH?NJ0TDs52 zuRUk-E;jmTro45qSkCQ*^{jGgx@f+jziIL6sA2~C=LAf1bter53U4TTryklV|_KdN?lw0>%y^akKD2Tw#C9% z{RWSU>|d`4dy714gNW%K>etw&kM#ynHTi4Va@9xp2W*?i+O|5?2TL#KsSo3kOhys@ zt{g_fRmHkw7IISFrD3cCnB&ORKUZbjl>s#v@Ho$;=;}(%`rKqti~t*8{qwYY7(js9 ziKk#}v~M=cs=2b}+b7I7Z#aJWlZVFmx5Ewa-Go63DPR91%3m|#V`;I$sb1NE)a^bw zNrV>jH&8u0?ig5e%+5gnk`*8 zj-*L4-j4sqBq*NuwNYQ~{m}6*vmT~Fm(0l-v6YhUV>(Y&JalEzQt0NfMyt7;`HJAy zP~!q!Oy^xiBIK~>mWUL89^=(HQiSg{bgKBd&Xv*osq_LnpMKtLS8L6WzAUzj0jhD} zUIjJdYggKPU0zL@8zsf0v!`e9AMzV>{i$Td8ux21GUxtnLFamFN%B)5Fd1jiz}-VX z$2+tPjx%8Xb3PyW%onp!SHa8x0e5!WQbM}LM9qI2!YoPU@oZ5Co5bY8E^HuVz7Z^j zLP+_SHb0%e0%|?2ZcCB&kaYTI$#hPNgwN6MYm~?qdf!_uuzZjS)sQK@A{~3o^ZpI; z9PKTe&EN{>Z!3yTf3a9%X_m-4tc9kW2|A|j9`?PxnO>0=)YL-tsf%Lfw79t@aCeKFTV zwEt}t0iI_UcXG#^{P_3ghKYJ7%3$<{5_>}pI))dEC$12gWzO$q^ zvO=mfl9>8Rn(A^b%N19EWe;UOHIW8qVZ9eJjz#bWB`_szN^(2(_v;-POI;yootkvu z1Y3`>CWd^v9f*6yrL^*t_z(&_If)K^jAbKjR0&nq4{8E2&iBOwWP*>MXQ%*eg#q6` z3VS~v)TH@#`pxy%+Y?TvZ7Ml~2Ja!QyEj6b<}x^PQKkzApUydh`Vg68nPJb~YX8|L z{kF5s@1xxlG13^pdT9xC0sx;momHR+opod)sSK!%1{_K_8ZkwNu$vFTcRKMLximOQ zaj~t8k?|^oTQB2PUsVW%n-c{!N(U9k%T>XQD8%r3R2ot)&3&0R$gF|!;!mv=xbNDB zl%U^2m-+Dcty!SYwn4U?u`HLBuJdZ((^$)}=w;xYf(K@qLn{r|1NQ&pV})?YHx;@+ zN)#)3iyrJ9gk@qJ&$&`5S4#Te)~IN>M-0~!dO!S1NZK*K=?NVSO9XZp$_>jo605yG>SlC&U4q}BWEo)FFg-R`ra};~QXRqh*s`2+Bx_t)y zuNxyh2-^q`Y+yOJFJOEZtxoB& zD-qO*+c*&)VSj#Gg6W6dB)ASh6pKI(2vr|rU=o&TybLPJU=9-%`(kx*m>>RlRvD(q z3IPTv2y{P+oGAIxWKQ4ik&bl!&^7=RydBb)LBS-|2L$PJ@`?+)4obGP+O;`zd^mIW z^3nIi2d{7lmAL4P2IlG?(^PKwvT!o6=I3a7c?#+i`02&Z@q}U3 zfDw{xcPcoZAEBvYpI$YBY#s!%B&4X2{6y!oG)ixHj_pmSHSCK&Jn708{noix9-nW? z$>K<2C>CT43_*VNU*`GrOVj}*3()%!3N%5bt7${!J|Ida)$j?iAD-ZI5+zjf9U{66 zKHXAYtJ~>aJ>Rnvs84n-3Qsw1QF4(TiBm5-!&6|w?Sr7orH66a!%P>;eT4i2&tbOnbRveN~0Ur@$Wuf@DeZ=`8%h zoPHS)P668B<&>(Dw{0tk4*eTqQY+b4Li+Y;Z7}JxYU$^jO~3*nV7V)mWaNRas27DO z*p#lk`N6w-;`ld6d9GikjQHCsn=itCX$fFq^u7gc%6U0BE8qieOam*; znWq9QO|-9oSjB1yLg$iowa1U|BQ3dZ`v=smxFE zKLP&OUiM;{Q1lHcGK_iJg=hk?Zr&czw);pj=foK|(!P>x@lmXR2(wAvrqru|= z=yaK#JkNg#9x5kEbyuu(LYXFOrg53a*wDbq#GqQnfG`Hjtpydt^m477&Gj+H+hO^M z?CiY|Eov{6mWE>h;5Cr?>ogGm5{@e6wFQTgkk3NF&LNR16KZ`)1g=ppaqe}_M=mQ z?`UxT)R1awFSDHe^cFGBvFKK)@xMUn>ox2m+*puW(GycqZ}XwGNG~^l&!;FeHqz`g z>lc@V3{P!_uHBQ)uITNKl zNbMjFJi%*u5_mZP`Lv(6sFr0NeHZozV2QC^9YRZ~i(6pM8VUEYM+p42!Wxy~f;{ia zX4r5YfbL_b5CmhR>IsCfv5_7wNZQRP!MS|gjrE~7ybLF{O_DVQBt@V=zzhaU%0OO_ z3LstD?AM$d5O*EWTNx0IDOSxenY2tdL%{q z^K`Aj1@Uo+-Wp=M9&%bqLcGyd&Y9HsJKb;>q|gRAz1T0h2r0hNkZ%H!t|Fb<0P{aw zo!#u$P=aujV5R5kHBeAX{)~+20ZlpSfvh zFt}%_#()edzch=;AKt^6B$ZiFA){;o1*thUm}=)lkMT800|VT7*!9mCqTLKGmw_`v zi5MtZiS`cYwTBu0!s$V;TRu33oZ3i-(fTxnxwKrd`!t9iCQPH(MkC{e z7SAw+`Gm*`_-eF$K`^EUJFkhCayrKGHd5+%?V3{ZnU!KUv;*GB$bruWyyL45((9%2 zFnP<{DT$l*+If%?hsWvxq9C!tmfnxn>QkKy_GaI5IOO#!f;kH-yXoQHC`7tH8~T)J zYT$^C@nQL61$Yv`87UAWIVGSS%NuB>w+msrRn(|9ci&)LwTvubN)+);hY~Bg260^N zCvO551~P95sFeo=Puqj_H>KH!2B2p@_0YXx$bJ_%4&KC%Z0=oH9cIF(rS`A$ZA8lF zF-xabJe#P+1RVDUR|i*=vUt*Asm%QeIcVT(Mx6oQ5n*sv$2dVg7;bBe`rH%|NW}Qe zJvhX&>(zD<@nJ2^ubqh!n`X{(wnlSUF53ElFq~Fm3@?3?{pMDrYa!bq&=WGmgk`1v z0iy_5QT_|R>IZm-Nm^;E;<=U7i?3xxLk$N*Md%mQ)o`a11l1#bjSNVt2mQp&V(l`p zbYs5(4XnB$@RFOPF4BL-lI`|)-N_IWf%%6-}$20>F9Q!h%@b)iMv~-)D1H6nTOFMbWtjGWGv|{OoFDW1HLNx|z$! z{eFwhJ-6nPC^VO(qNI{a+Qt3WT#|(5Qc;p?QL4?IRBpK?4Jo>OzEnygKfnLaU+28v z=ly!WUeD*_$+v-iS95ry7P<3x{bJ<6@(ZDf0N-t@JF`4@(5{^d{>(m;nGE9`lQhV) z3edgW1|$EQrX`S4s-5-VKBK6})L7(gUn(qapequ>tEc{mwfFnkDN-wnkJjEYo~ZBp zGU-$r-trrX3vLG1*AHnZ=Z#ZnKp!Y@%w1Nc^pD6(iHv)oTlu8tFT$tK+^C zUs&2BTXMvj0zwt#nc@AKmO#gLd zL^-32bE=ND`!7u;fj09hX+@Jo9O^LH#5e;?97MZiJv zX_2lPg1!5bM#@!h%w}CQASzAOt>39;9PolrJC${oN);0~mSS20q{2HJh6Ez`|8N7i zpdE1#g-t}Tm8l)6zc~8!;9RNCr@6fb(dFeeCv~|Y6V=7KOAxJAP)UWI@(0eqF);>WChM5m2E=em;zWxm74rCzn({&f~OVn1i+QSC19 z^^ese3-*d%eZq}Y0S6kA2fE_m+~1Z&TY)|fV70E@FaRJxJ4oE@ch>;{0iYTfbBs_N z^++&~M3a`VKdsS_+@77JEtQH0`%G`R4d%FCiJ)27cmAijyR;1t`@mnLF&H?S8Z)AmuIFi2B^?z12A-2D^s zGU)b4ey77nR{HVymv3%-6y}&0h%cDu7*y?%D(P%_?BKd+EM;BWYVHp|_P#;krVORy z=o|QncH-{0+bt@-z+$kTo?frF8&fW+g^2I?7Xr3TIC1O407KPiy5gOL^=ZQdzFeBL zW-ELr)^?YH#;&KKW{>_jZ{9NRZ7bO;I);N?+4Wy+Ns6*B0POZB4XW!v_(+!?gp}p` zeNILzKZ*|y+rEVZh~}$CEq5ILhbY-OXh0|%tOEz@9>~$*U5A}ec5`D+1!de@`YPhC zU8|qzA_C{}so13I615JCuVN>p?4SwEa@h@}x$^JQNf8%*XM&iBs4HC9oiWwsE8F56 z5AnXXbd=iBzO>ix^M&$VRFxH7-vev>#*dwyH=5RQ;U`nIF{2cH z@P#ZpRfh!m#8Be1qXsj*@d!?yp~|uU(KZuRtaxCU8+(__beA$)+d4LY7x>btAUV^~knJ=G`lutR_(S03%c3jXx6M)WByvhRGD zmTe>$i-K7DMsRR?>FrXs7-@jt`C-i7pxwjlt1qQ~!MbjpxEJ_T-yq+)x<*X;nxtS2 zHMDRUz2Wa=m$PEjbt$`bhAd?$(|jtelk-tER?$e&g5IcR3sHaWYt8j6u4n1_Z*$(? z%uXxD>Q0;(kKi9qN;0hmP3`HCi=PmUbb7ko9UE19v&2c|!$#c~OIlOQlP6c!)*#m= z1{x-*Scbn*$$jsNYWkD5@3OFx*KI#+ZT-1TE+6_ki*XyPZJfjWo4+B}5I(}#2|U2n zkuup^J>c@A>t0tzWv7nXPe@(FPey@2q{QA@foA`r|MsVG&M=4yaWG^-M8Hg6LH@(= zm&NF)rRb|rmsy+Y<=^*|rDV3)YGUILlJgP=BKNsKnMM4Fu6g8L=JGY2>xSt;ZcZqw z^}&L1he$A$XplHZrB&cq;>;X0QXI9PC2kw)F7}W)qIXMx*a016)TeA04jz);>~d=} z4CX4VvVT=Jvcn9c9~u^HU7d6GKlqZNVDR>9l5CFlR(SnkA6=bvitI5rkmHTuhQYer zi}Q22dJ%(3(vo*{^R$7%3|iB)cA%Uw=xyA%>IP_?$>a~8^zq+AsU>c$Xm^I z=4W?iKX|Qq=}D62>AKn?{kZX8GZ#}1PCnh;`fC|?dvBiVbYA$}-){H#V{y+X&XRRd zhf2p=uNqwZg>p`JExvA`x)excFj*QHxhgzdDJ&}eQ?{J&Pd7ev!-AZZC`8(e0x5*s zN*-zENAR#O<#X6X=K22!iIGDe6c~vX&XRJ%8jt55izlp^C==qudpe77d8YT;KVai?!C8)z6edwPzUXTp0+M32g0f0Fx<8a)xY+4>uAk+_M`7kCQk*E{vg6bmAn$bXhRjS%x8k*#*q6Iy-`%b=NGgnP z&Xt~xUo5>gd*Rzt+4l)+@2cQ?W^Z$(6Yey18mQszW(NWTWnqWI=`)3QfQoQu3nweU`5a^7kR z4(X|~U)~1^8ejkjPj#hIpV=>!kLGt!1k!cKoD3Xa?Ma_HEk%%Favl)gKEGk3c1M|} ziudQ`G_S&$DhFE66T9G+N1%E<52xkujs{n)XQZit`%>$}AB7DA^TldA3YLDIR`23_ zb%~U82CeHat32(wr!Z7MalDThRU*wvGI(Y$w`ZZ@!O;jKH63E*jZnEzcym-=NQCUD z_;tt9^%KjUvX|)CE2TbBVV-8Q30C2y@suYYw{0d*y|^RcJ1L0v`Bd>X)$$@w;AwUI zVX991YS(DDY+I4CMqU*Eyq-<)&($2l8N2lIBzjLs58;?MavvUy3IiC9-uRtDDkLkW zo`qPW(+xL5l8t_b;dgx&(JvmpLQSAJ^x(0opGiE)T!@mx5Y&>1&5DVSbmapg>RLkf zBP@r|!*oK%523@->}5CWckY=DWJO&~sd;@T{q@x(yHeUn>Az)APljs4MBzbGttkscfwaZtMV8-Mtfy*fnEp8=y5eE`~~iM;H-(!;hzi8 z{a#LAf}OeXn+zSus?!S!_6jH2gESX8rB(P5gFGJsH6uH@&U-=SH$Te>`T)h5MdXR| z_ZTl+CyZ+XJdS4^5Bhdt;(6spY-vjh^aK!AxaFTc~;S*#i(d$YR}qx z>%0MY2*$zBt~g-gkrulCFnCn@w1`y2y@&*&-$dW^xNjaFIW(uDx$3lwFfwu|k{qe_ zW>UYcBUxJeK4D^gdAly7E%%VSE+PZi3B6}am!QPSbSBN5jYUP*s(_PSf(98iQhiTh zyJE{Tm9;fM2jih+O?t-zPkKrw!$FM9l%c8---N3+DciXS93S6BpJ;zY7yz8CzcX07 ztUC!eyi&EoS>m&QbY%r^I}364Fokhsoa3gnQx_ zDK2~N=Jru&Qc1%uiGU;Fn)?np@AfW6O+LBe1KvyVaev}hJ}hZXYaY&)R8#ojb9u`V z`gJ5%p&wT34LfRN*^fcigh0`4RRJ4w$r3Kz_jqZ5T8CHjkx;XJ(6>t_nn6e1IJ<7F z5nG1B+xUrkHK(Ds0;| zkfVHT&#nPgX8O4XKzDU#iXbISbqZ4f%aph1Xz^iXH4c=+>ws~unv`y9t@6Mx8obc2 z8AXJtDbKONF|Nl=9Ehac8s?$nS_LvtBaIUlY;RzNqnGqof$)cUU_X!^&|6t)hbRdw zAhJxF$!g}S8N`TpSI+r#$WO9C{O?S@MDB+k;#6t?6tN8o_5A< z^ZT@NrcAw>0vTi1eVGKxIsJ`c_AS-D7%O2*VSH@qi7%!sXS&WbC;)3trsCz|XQ&I! zS@ljUA5Pm&_Ngmxhjm%ii|3rmvXfqo@3F=UGA~g(jdS&H>L=u0aiMJYTJ=h&>GR6P z<9tQrp7FEeS}QXj{AMZs<-^F0tg~nQ$+$Q1aO27U;ts8MDBVatVfJ0fq9}wJ1)?%^ zZTaAbNQBZ=e{4r5A6f%2(Yxe&4K`NO#3MU`9OCV5`J`Q%Lp(mZHdVS-|M=m0mi;?_ zuS}*u0zVG5qdsHJWm4*re+y1r7&@ z3OSzRk!YMhf0Cj9V1uL(oTA2H-m0orZl)sJVSpbqLa82c%#rviBnDNdjH98OY1gypII>b-+~k@M0lUg?I3k-B}f8bcGYxi2*C-!Bm7|57iA-_?V^JrOg6K8y+~3 zigcoaH>vXGH5!3{D4Qsg57yYuAcB*4$T*@Thpwi|0HTOzW9BJ-R3roNdnHKr<{?wi zI4R*BTrHT*L)tCwYo^N2mm`fe!74(i4deYrIns&0D8&(fRj$C}OJ8Nm*8pgXeu>xy zWD*tZ$(MQPMx3XSZt%d*7{@wjq=P(U6cHPAmyj_hmldL*TMi8+O65hF1d|kJL!^S| zq+Mtxzl3cGB&n=k)5+9tP9(*Va`ihQ3EyeBz!13+k_?{Jk|D6-LZl;)8&&rysg%nc z6G&IhNi#sQL#&la!3v*@`_8&F%fd23D2GB!Q4*SmLNvqXq>qJY^b5V`=N!tyNH%t8 zI2E+%O5MgRv18|$kwUa_G^&bf@E)*#wKEz4DTb<|I)vydhT%~LzK10svfv#=OyXX9 z-y}yU)G1O(a82{5BPrz&!3dh-V^%6RBv1WoPaMlz7X>;~o@<`v_8GJ_9|DeNDkEaR z8BOM=82E=F-C3jN=c%%u&~uZKU>82ul%s}aLR*tOKhNPX4Dm@la}By{S%^4>VcF7z zJ41FAPxnq>rM{XowU{&406;Sc#o2G~`7mJYV+q_&J||S9m@mS`o^8L2RH3TwF+|7= zpVaMz`x9X^AMv~RB8=7Bt)h{JfF8W@K_MJ)X+&mFK|G;?`5rM9KCFN!vkjvuW_!u( zYk0ZN5*OtGIq;EbjPq%!8@YbG{mE;<`Jwo$tE*O^)X~5+#sO@0A(j zArtv-AR<USPR5z_o3Te zgV^OLHV+l-L`*XAe9(L{P$Z5Cl8Xxw)eRxAX^OQV>2R71ounKeVl>H;O{6J~ge$~? zWFIM;qDjSW%o{N7qYRz5)sy;m;hSuPhDqM&bT zVrj1!0g@eKS&V^XW&C!~f(msYwe34{eVjulL%x);(Cfg?Hu0%izE{l`YyaAs0>YjV z@R{XGrXXA&2>5(Y2|S0M1%5ZvBENtn>wck>Xr4+WqpRfvAx#qh107kewEhw6KPP9Z zMu-GOJ)r$BPhhdZ68j1OWgwh(`NQpuIf7C-u8c%5T_l*3j6}@{pUZI{0U$$gv927a zMIw}uB)}jsLs>C87hgh?9ipB#`Hi)NSl%qh#V|#_Gw^p~@%2Phj1cJ$jZ>P#8Ta5i zstHok{}<4A1%yqDXS{XUBzz z9Hw{&OS6N7trj92OcZY0)ga1kZ>ShHGsO~V#b*lGyUa%)YPuNtbBy9$hLM02X?mkv zSxQBDpUT0JvwOGqsm)X&MwC=$Hdy=i<`8{H)&1<`tCj|iiTZ1K`gs=})z$#F3#SLV z83i6wzkZ%gX;PMojIUer|vzik`h!i z-;UWoj!I9Xg~ zR83z*z|^IDRz~=u4W-Qpn250YWfKd*#|dP)M+q~AD#gqyY~3QX_>RxG z7q$Z-i6d1u5gQ<%V(t?bzWw-El1Y;D~V9AIXedW$qcx>WT|tCX^Ip zRq=eoR`G*9@_{Fsn@_T7RtH-|z*UBOYCdC{ zRAN!{k7G=H6a%WZ0lMy7d-CM*Jsa1l?!vFRr5sY)+Y{N3vrIWpo*XfPZ(RRYm{-zv zvBcu`lU{Z2iniY5);kqheWnEZNt8-8Yosbl+s|X?CQ1CAyIhE8mRG+&SoZs`tx%qN zf*tj`tD2+oq^$G#pT7^9Zs4Ja=e7r!XB<2X6FNltE@eJ$yFqIFC(l<)xO{TVVmm6X z2>PMpT2?NsBf{+uKR-lv?Cl9jw^jj6=YopJ7|-^+{KNfL^Me=mU-;Y9z1VQ+Z&P|; zi`R{osp+X~c&^#CpI)VP7l8HhnLwaC>UK7ZJAp}16YcetcbPMllN3r-b zCjPm?tA&L7Vb)JNt=h#l+nVGb%O(&9-@eW+ezmOdTCm99N_f4kF#IRswa9KN69g!+ z(5`8mpCuz=ibH>_ht?WjOFw<3w|m$?aqLC+kkzHJmzGaFE)APKeKPRzmDN+eh~;b8 zyKD0x$ynZtJ^Nmr4w^Xku2{EqU=_x>yfyKuI55h5W~_K(^cE@dTaM1RffS#D?b{cy z8s<~?-c3JHe7o45B`SBK>D}Asr6Yc!q2KW{FW${e4NW8my_+ZvPJ0(vusKs|-AYaf zxobZAKgIVy-c3ui-#Z-ie*4|@oT5|v!jTG>a(e*>3hKO~ne-1_SyOJg5T zKAW3M_;h+~6rd2+6 z^h5E+hWmvGG~sftd>AQM1$!O^GDwH z9(iuyd0E;+Y5o1v;xq4moF4mqYjy>D^Uw1=tLgr_1J*%Nb_dAMt{fTiIIM*aKJsPP z%XacE<@;X<#%Rj}ib0VcNsf4@Kf!+M&EIzvH&N`UfyFDGI`_(NvM&@U2h$foVCJLn zmw5#1H2w09WR$$hn9Tp=IwMv$*2F&PSJDm-n1a9b+z)&d{>nT;yQub%b@bf2v_p-- z?ZNBD+eq~v5yPR~B|wx+6|5>?%?8eW9X`w7yyvogAsTD7ph3Dl)BYIbO4@z#wo#rAGg3<`RIbJQp78MRiDV>a01bBUlXM2*p;wL)MD&TPH zv=q|I?(my;`OpV7{kd$I>_FiS*>OL0?4eJ$%+5Ec<;LmjR4=0@2C$P4Eexn;Vd_2y zn+#3!F4lPLe&!xJhuiW*-`aDG#D;G~ds7Lk7UL7 zTyS{r)k9}$dC59+fog}+RMbC6`^T21g=T2g^{E^@Gi4%aAQ+6K(*!>|9pS4`d!C)q zuSkr+Yz&D-#A~XOxgz~|_XJzrE>*4o;5osbtB!_enC3~R_`1% zzZQ>y5F%Gt99Y6Sdy3wz>Vxt_l`gQMuA9P6QEdF&G|ecYzo`7M(oZ*A?XUdTdb@Fs zgBElbM%wX}khUe-tm-^RLX=XiYBvy5>ER4WVQG@b&T{&Pq8615dS1l*;}7LO zx__`_@=d~z*LD9IxL2_oC%N}pS>z9~x(O&G8Hby!CpO+v_jNZY`eT^34coi(Ep~NK zIKlRw-!LGl<1ttP7NYKY&@jm{y`Z8$_OVWWsmhZFb^xZ)9%J{F2cYbr4IJg&!=I9& zjVye4;bS?s!F^BmwMYBFx4c=*yp70R&A6MA(REk0xNIoib^U>%FtT&dP5&q-U6ve9 z?N6oWAkKuS)s2N_&L%;C5l6k3%^7-$y$3zFV#4xGeair<^`=84*9?fv&v&2%-1pwA zf4&kuxwZ16lxvY3)^gZtjr@>y=zm=jNBf!IdJ%iqIw$B8*3z$|90fnm?c1GlI(s@w zqw1lfF9brBQloZCST0c|9Z}B!ajdOkR~| zuOGe__r>1jAJYK~%A=fOoknqOcluqRsQ|i)5R|N-JwX= zk_xGR-3!n&^gXjmp;S)bf~@iiNBq5pj9oZz4Az{sy-%NKEFKR{?R1uDw2d|;T>$ReDk`UWCj)Hit3Y3GWUdy@lv4gUSaO>p;AdZxx)@F z@;thI)UQc-dK6pCmja>iWvyHzX(s8DNh+Hz`8~rV+hd3xYB4R#fyoy4h-AwphFqO3 zAR%xRdv!^g$-7Cm_%R+teXQw5JDr9+#nF6yAQRQs|dt3%{i1)ZmcEKsbhvq;E*F~atLia_9L)74AGP%1ScA6;-`ng4O1)? zPAaS^JY4@G>${LT5O=?@na9R7(>)EuqizJYYNee?_f|94wwkVYBoy#ob?DwE86NA= zQlXCJenU$gul}f2bOW*NUQ0t}2t^bN>QgG#lVu{3!HVr(X28lmB>JqfrXpf+b^e4&hi{FxAk;S*8HtJp`67p@P#9yuS(JQM| z3XyRTia{QGi87d8q!J>8M<4K1BeGN)p*?WKx6?O70UwV`4Bgx*<^l}H?u zwv#Juc)pYR>Qo9SV0SJ{BEfPja7g>FC*yf|Y3DH4)a*EIl_jw``2q)s0-G3?boCUB zU{14Mpnazz&pRV(`N+T(4*gQPcH4_rX(-Iqc9 zR7gmtVjc-3Vqz60PLCc9X4`tX?Lzi*EoI}v}l zefX9X5HJQ5)yp~2g*#n)$RWN`1z8{5-pSY9pYuoDZVMtiJrBX}-fWSvNBuZZY0%gZ+FiM|$u+ zDmaZ{`%IsGx9S_w(~n62T?2PHVeHG%IH8D^jFn{XzT>0YO4Z&ceuZHtV!--B8?W4i z!}@kI%EPX5LC5$Rzrg^T2=e>oHQ6me`FUBR z`E+(DM3fG<2!XhAP3jiXWk^tIDqcz*qzX0X5~2G?By5Y!kMUs171(Lw`Q1iL(>c_0 zeef|}C=dfCb5Wmw3#wHx0$@e}XfnCGgE4V9fPDfFdi@miq>B#sk7R~?;#9E$dNV+I@H%2b1|3+yc_#_`BW zih=Fx$pVp~F(G99yuIWmpO-Q6at34+)RU2{Fc z{Jp*nx^z?wLyCDkTKt@zZqSh7JtE;-&%2ETPV|Nd^ua%tiVI?LR{3Ese~JAGfRi!U zdkjR+(V)I~@pK~S1|wo32Hkw;z^~9VgD%8TZ_shR#6#}Q<8%;u8WW?6lA(fYS5QTx z=plwB8Uzry=S2;!&Q1E5$AY)X6_d0gQz|PP43P$?=hwvUVQh4W1P#lyDY&UGGwxWr zJN6V=n+n5b7>{<#qmedd#MXtv5g;4no-pV4;H5+aXG3@_~4pNAsQ z;hR)7GGC#={^C(H9m%OIQxf7vq?k`ESarGNT33-Nzw%c_!h5U)Y}#j%w0(Xgw`>pq z{28E!>4fE@l7o2=a?zRRT!h#D#2|w4AoRkA_i-m%tYQb-TIS+AE`P=*vd@I>JU^azUZ?GOLb3O1|8Iay$*>zOsGeO%Sv3keqD=P z_l8oMH>?VO!ygA)MXoj$26VJkxK38*;%Xf$m$emxd~HJ;uEtmznlBfDfPNQROSo%HAa1c zhm!2iczT}fIs~>Bfjn`+I~wY(89bN(E?Ya+_yol1r#J1zZs&xAAf|pvMV(f2bcPWa zV$!Sny`S;K-i)Xgh~~KJ%YC3EjD(09qHa#s`l09+vGPNz+V4+hovyF_`Wpw*&cxXxtxr2>bQvvjF+QJkYI@)jRPbX4(wYgOVqh;~EUWGPq^Tm4a;jT& zsFZn#X3QO@HOq5YiJc6eoKQ$YwY)3sYCxLtu2s-+x_Dt)(B;bguPD$Wi-$%X4^Nrf zjk0iINzGg4;CVQ3fD4|%RN|;=rsgtRD;FG7FQ<%1Y{1PIc45P$40o^993!Ua&EYLq zrL=jG1AK<$0=`vV^+5*a(+X%F-wt5-kjAzl%(kvqjJQz?)^P&*M?=S*RV%6ObO$zK$LJgoid+oCj1N4X7C!uI$2`BBs>_S~Aeu%wmMKzR_qAAh%q_Rr ztS#9jq3x7pz8Lb8e#jZ-b-f=pt1A!gy^+wN7l&U39p{=%SZSZn1--U&4U2#rpo;8G z#tZ`D=Y=4uP;6o)NwwU}04r{aVVLTti#nYMrb8|GcdX?K^%$@%4jVF(n8e1v8 zT!T5+Lj-alp{UAkH?2<~aV7)g6@yxeMW4?@Ia^)H_m;Pc%bBB}n2xxKbi_BRfwVMx zPd+j8l{r_t0hxP9o*06%;II!}vRkn2Q~JDaAG`7s_f&Pv>rStMg2ue>hv+Rn7Tx4l z51t~g%W87^V9uCYQ|j)cT~XO@C8B10EH9k-(fH`fLrCq$#i=;)TXv~)K+kD9*eeF< zL4ceVW}{9u-aDv8swx1ONZmy=50zTzax=RFJl3W;Av}G@y)T%5+DQBX zcmL2GG0pQubnDT-ck%_=`UIH+_26J~<+RY!hJQEZkx}!I#B}D#t(E5Gdo^Fg42c^x z$1%@C9Z;Fl=V}IFo5B*bDZcOzXv(1Ag>%4}xB*ixWbSt8Z3rqe5F9#l?_4Z7kil^s zsgpt(FWnLBi+=O%cdghSRAS6_+(nr#*55)`c1P`$LHyCa=25Vog4@Rn*R9b2T?m$r zmkKj(|It`Zz;x}l)@w|jxc}&ZV~O6@p9e`^cRUoVd@qQLSaqlKqkOBR5{IDL+*60p z&O>yt`H)1=exo}trsxO=|Gd-779%^LkxuQ6O8|FN^s2v1GdFJP4)6J0CFSDJCGTL z8#)z!7R?4=+AAOey$S7AjsyWm6=`R5@R3FIxXwqL+zDcJLxj_y17<3Ug~(c`W-P4?l^{GsLd+#yqAZ$5lyzZ<&kl>sHrDl zzoucl`8&~Icy`6p1g|rqoRLAnGi?tP&lMlGFlYlb9uTUP^fScs4Wu4AU0r@&mIu-e zo3065_}Ir~I(oz2>NDyf$KO^y7ns?3(*~KC zi(jWdz~2@UK-q>5wG~o7`Z+t9qh#DrL;6g|N8q=v0iESO+5n(ipXoc`;~53 zA_O?ZtJWHpph#T9vV+pGfF!KL-g z(XN;X%H(s0bj%#@vD^d68E%u}BgQCt#(&z2>Gk^?*&J+OP9zM?& zdw!^ErWi_x!r!Je6E9?nKzhcHZ#{G1Eq)8Rp7^SL?f5Bhq$GY7p$-x2kE%fN{NS0r zU{_lX@yaB9NrrhxG_hS;ds!!-sT!3T5dJaKBa1#bmYfj+a()!_;OdrNN}NU(F~>vw zZFpwX3sjLIr9v*pJ89o^+E&IL$JGak+66Hubj~Kpq_C_8i6X8uBX79iLPtHCv zWJufUe_cji{mg;Tx`|1)*uC^qcRQXkT^P#gjTc@i4ozn6Kvq@UK|IoGSVzfRfp!53B zGpF2rzjDkv9Bv(OM7!30+k0bMzisV6Vlx4x=qjxXGw7qu(f1GWy`TR23ArTK;Q)2H zos~G5e14YeXE+Zs^lG6H=KKX|Hm$gij5~ybx%{+()l5EI;iYON*obj zsR^LGqvERhIFyVa?AW8DRyaLU-SVass@VMc?HGy**cX6Nc09CtY5&P8@7P|)%?G@7 z9ZpD_gLR@vNl$CxI5xd&M}UO1o!NUCxAOv2nmHvu7a%f5E?^x_y<`+SJ7dRn_&66u zasq)=mtNv(+RzF_BHVWsac#VyM`b0~h3(s^6%OMd_S|&E4A%apbZ(@8#}G6<6TK;l_B=uTo^#cfDOjD2#}YNsaHK;p)420zQllW5x3AP zEqTShb-)3pp9kg<+8^n&^6yqpq_g&w#1tg*x)%yCg*DJQh&c?V z>Ky})8BDW>r2(23l6gB#6I>F-frLUn*yqBBm-#y;v11DJtLGrfcu;=)V_Y;9l$RG} zHxVDY*L#SK(@kTdCzFv#1yF4nlLlihjd^*qafkg~tOr&`Ozc9T`qh*Ge{z>=yb$@g z)j`UY$r0g!+!o?Jiknw6QLR7~k0}sghv=ww+aqC=!-nKvAbU1j6w4Gp=S_e0pW}8i zevVs+i+PNc59g`&WCE2`gI!2}3PpqOKv#Uh9=-k(a^(A7C}sG0v1$b-u^NzyUq*)2 z!2n-#5E!;cEOC+wP6>1rj>p=|Bmh-K{sIxd9|J1Yl9F@^Fml&U8%gbuNndBG%!6bo zwOA>SG(JLVxa^j9s5DP#2Mza@ie}n@57#HlS{q0oRRrBBTLC@Y8Sj_wtB~&+@{ZY9 z7fYgMrub5*@byYZrQegi2TMk0`^>{tWT*NJ(#E%lbO!0%rjsr4az;!ZGjo7q{vI9*V;yTK2J5m5KmAAJ~_cJDr*IvAVL0V2 z&r&A2N4oA$RwxB){(4CrlkoBBDJ7a%@IOOYmmn6AsZur@sdpzbL*`^84NUH%8ku}R zhC4qV931U=G;{!@T&n_eUQz~#Ypg}h4`vgQaH9>{4&4DPCjdk!emm`XJC$2<#z|lz ziB}m8h~|bj%bt+Fq8=5|8|S2dAb;C?vGd}O;8;6s0hyd zUeQa1oI_(GQ&~CHEyrSIIvXt_O+u#hh_qn65~k6#{`SMp8~i980Ekj{-lgVZNzAor zCyo5DgWWEL983%J7@X`;aHWEA1w@H021i6IBzNexrox}_-w1td@2?>jwx}0Q4agoh zFw!Hq{9$!RW~iLR%-8nW2;xq`lEW^SRA`hZi)qDxDV@SGb&FIPDK1;};{z(_fXBr| zY{U^a;HW+w!g63g|*uiA6*<&Bik<-NRCttaat^Er30V_6u?2vZl;t_!yx4Ah_f*}>P*^neA zYEJu|*na81Be|J&HnHp7w*OW%+B{5=xx@X&+=|HFg23=s>g)OH$wlCj0bh}7dusN*Ek>cw-nDT|Zl zB761g(TzsA_7+!iMFD=&npo)t5}vS-6hv2HFXx30CF8$JM<2)seDhh%BnKe*X|6<| zm*Is*nB%1Gli}y$3T@#$sN+h~)2SQ(5UJ$m!t0Wv&N2=%L$JzSJ=hz|Ydg&tq2 zOr&tIk#|AYufu)w^xj$+BU4WU$p+1BikYcoXw7MT$(l5gz5ceA>Gml+=nJlPjlbQM zkS7>p{f7i@4MQe6pWF2#C1;yZNG{5Jvm$VaS9WoikcM`gUMjr&1b&iYAvr@_`_g3s z5)WO1Gk8g^h}8X1kysv*;3oMK!X$sVX$CR-Zz#uOgV^vx)P)BfNLP{iN>(fHbV%zk zhcfHgP_|a5)J)Qjhta$i3Ay(Sl$$YLjofr|sNpLsDcrbnDhu@?$2p3?E$*lmlGeoR zPA)k)fMLWLqSzRG&CTwH{d3qsTW-VSDobavsGj>jQr-iA+d3?g2%iUu55^-xlw(RT&fPcyJJ_ma2}n6|>Ru~Fbw^L4)tIGVJUakz&-!mMg@LBN}MZ@kV==`yRI+qqgm2NxS5deZg92h??BB`(XE+* z`z}<6udb#IZg&Qy-04Y%Af{A3C^Ddc2xVFfh^F}8zvm!X*8V~%(5({jBEQPDaxyQD zq*R))=kvmVlV#R2qpX5q^m!;H&LZa@ZyRs6$gch@_op7VVNl>fSNPd%?1 zeDUO`(#`gP@-FFlRBxW|Kt82-!a>q~%3w;>GmwP8rrKaOeZ}Y~eB$e1HgvD@-)CIa z*WZm_-=`L+Z2R(81}lEWJdieLAb5Z;%0j#|Sy>tP2 z&i*%dMUN*y)YW zv5G$b*&|ITkp2~?HWsuvZFKjdkLVk?%cS&|xtBI;!$h4Cd&eEivbWvYe6HrzTP32| zQ7KQi!^d1(e3kB{cP^zCfSrGfIh#NA75L^Q3Pqd?M&g%JJ+g=Ci#8t7N`=~D{)gWL z+G3c}KOI+We}#$v)sgUM$Ch1zqIIINesB?FcAETmYAaT%u;jqS(qZM%^y_cl+%xe% z7c~6<_O`xd{Pv~kMzzZ7Xo=(3GvX=s_gltx6snv0qQmVK@mQz#T~mKYF^?B*;``qc zkk`U$#;&~?xpJ!D*syKP-?zNdgV(=RKJ^IHd4qWbd;MJc?ThZftakxTi!=Im2Mb-` zjw>7wM(MeCqOL0tmzbAtMtyV!q;*`9Y|aGOj@az|0}JrZDUaU2x296Qp$R4l)ruW5 zIE>C9B4Sh#ZMkYQL9_B9R}3`Miep4O4kHd$lMnENzbs08SqqxqJqxHQJs6x>ReK-y zZsygt;~~30fkjrP6MsSPlE+oBk0q;_Qq|&B^&s6={4P5zu+9d>fDCd+QrFo2fpxT1dqr#U?0e3z*}KX`EHiHo68-4Cf=#i7K0TosR9?vJSI18JG-m0RtS zwz=mJlQVhMV?;mcw0@aPQTmF1YtzV_K@;fn6F8}lDar&Hta)v|Iked|JnaRKV7~u; zc3$I|ccaI9P2I|$S$-c5aP|@5N6W#1qpqo?Ud}axDfNXRmFYDm3(d)%rUKsH1IdSg zWXU3hciu&Y;{h>l{Nn&jkEhbPro=!YtTHUUx^@Zn>#z!H*D&j%{ng zqmRMec}Zk*&|DMfZ)0*mpT1SHMiHrS;#euaHx*>x)&u#C6+W7N~t6t2|=oI2WXUs(HjbkF{ZgRj0y zRJpKT_7%UUq#Q99i@rcRvIIX#t&mKfKjU{q{%WXJ+>zbs2bL{vAI4If4(P-t%v=$O z*=|Txc0Okw}sWS%8l0hyhX39RZti0UL{V?}`9G&|=)BpefpF6P`HZx~2=jAwO zN^H*O=9p8N^Rb#^lC*;}X-+v-bBsuGN>R-CaKU8fTO_6BI0zI7@48w@d^60TS&@i|)z&5&uY`^${NVI;=AP>gw}tv7e8 zxO@z$kIH%3cnTzRmEU>Gs38&*7ROh;#&5%-C2)tSZctbbcJv4xOn|c28SMwd`{$t; z-58*`Ipq^;MT*6kLeELbJeWikef^A`3)K;r8~bzHPInQ19QSFGp^r-maQ1CrBswMN zVSwdhng`_0H|GJ=bl{!lPB>RshYYB2#;*F%oij58cn~q-5DqWFl2XAFEeAv7YG)Xp zdbaT`cQ+s3;x=Xo<{vkjxh7~2-|y$!^8&P358vnsmF&>4@TXVfwli~P&jK5sn{SI`UyAwm0zb*WVR&fkHC{?5Tk;>+&S!6!gC z1)s|)2N@#ssMAD=Q}D_U47LDH>Xb=#dd1kjs1~X|BcA4R>z(AlH+~s=dRS0GLyiQA zyR~oSC4(cz@c(chuL0*PNi@qj`(CX~!OQe{ZAXFzk3CJic4PFcIKa(Hhs!!wG--l> zPBrE!c;NLsstk%Tnt0=^Z)Q5J^Z*2qiJZok0TaBJ+y3*r=RE;=oJbsM5QW z3Y9B~su!bsS^z-z`7Qf`z)F;CwMap^l8wX3zq9u2vNp!$^uMk(>n$Ik54}WIx8C!y z{|8st0O0PF=KtMI*;6mgwVRXy#QmJdUU;`j>W2e9WjHrMY2C0>m7|bl5ZoYfvQ#Xg zI$r0057PI+!kQ_B#i1;el51Ov?)$Mqd8T(qI$rvt85TOO9^m~+*h*Il%$FJ?L^fl8oblF1hi)s5Oc3} z#dIr;JTO{%k`Vl``>YZl%{|lQZ|T`rs&8%?9~HUZ=qcGIk5u`a{ukV#%Cux5dUzls z^-d9f=6T3d{!xKJk&-w3=_8{4`Xj_wViJ2$(J6QU;SpI%X)pd_0&96hTGx4dxgZs= z=g1IV)re-om^<#`CsJFM{RJkrN`_H;Xe%_p@&p_$(s57^JwOu9F(t^(T*||rXL-eo z?8LbeNLNcI4Iielvxq?VG!)i{3v|JaZi>?C_0O5}^#f?P3vXbp@T24%fK2^y7d)so;X zXIv}-YIxe;MEj1soTa+}40yNQ1;+joc|U3QiU4uN6HBS%MrVr30##JF07w6fp+|w8 ziR0y)y>H^*+`RKY-j&k#+CBVr)W^E&_IqocGJesmpcUy@#h)K8)^1F@(d`~w0XTLW z^Xpb-?}!bLO@&9yxfiSBvtiw#Dl+SpxIl$6mOIj z%h|ljkO+tbji+iH-{pZ$-e0*BpB}jhI`D2QM;*8oRX@g$TDzYof$_16$@#N@gR(Y% ztD}3z@xuj1(_At`WymwIKz}sL9gHrQwffojvHseF-Lm_FfsujIEto=Y>~kyQYiex3HK@lqs9L2u>7wEA(33J?Ah^r zy%i6r5C)a2-UuSKJytbtj5nFJ;xt)~HgB!DC zN@=*N+J5&BoHIiZqLd+wCI2dHMGPqV_F4c9r;lCFvV~gvhMEA`WcoZFrQaGxp)i_ zvILPA6l9d*`C)cgkWC6B#Sm$G;VJ}SfmZ-W&x_gb1|e;xYhf66hUTC6p%E9Vj^U&z zK;1F2z!Qa7>=D&dS-Hgm8${?q#px`=?)10M`SeFK)Lc0R0C~o=XGZa5_i7_55_CFs z7^)hpTX;)h4Z{V-OcBqIGS-;_n$vt1r2ypSNCR4ol7mxb*&g|ETS_VC#@FU(q~_&E ztji4Mz0xL72lOb#s`EJ6{Y4WJ_IItw ziz|h0&lMi&JUHZ3p13UC%c<}@nJxdHRv7=#9>??n!R*G0kSIH{>Bs5^=R=m4qFx<} z@NE;##7u(XC&7V&!9Y%HVPosJ8ttUknE%%5M6YhY)jrejUv&;V#`x~*Y3AH?u~uaX z(mOo{zEFRWGiX?g3c_D2UKAo*Q^d+aG~;)z#XR_}?9oL_K7yevu)#DZt!794suLpI z1l|0T+F@{f<@x_*a`#@^niVV|YQ7cZSU9y<8o>bNr`Z}C6wnKUkpqi0CJ^_8)q)WB zyXiDF*|#aT^k@oNvMFrLG(KOyGzb$0k1@A+Ogc@;EDncSmC6(L9Tb#_3Ln1|$-m-i z7T#YBJDG!*J*5!^fY4CY`clbBAWKJ6VX6aNFPRsn$=G#ky6PZay60mB>jqy{X=Ha@ zgW>F@c}e+imsFaMd*)LGY4I$pBfZoAneN_Z%9e&!{Gk^)?8?-na5E~WW+xn(K~siC z@2egV=MrWrJ{#0#LKjlTwmM?g{NEpXbx+%QZ(waL5b{U)#*BPmIDc*6$e5@fd(|}) z2b~mHj)jT4rkfM&PvQ+C|BBqi0kms@Da;Wy#F$R32#Vwhn9tGU39)Y0!@B)aizlAt zePvz?-LphiQ@yq{Yv^}=bNPXe(KBWube9UeMM6yBvwc6}Qn;YY1QNj)SD-Yy6q@<= z>H(7UGf3H+x(&B zPfqcoU@$R6LKzRzXtH@4SOY$F$eKTxX{~f5F_7O7A_N zi?y83`c7wn_X5%jIJbOkEYdir>1*fd4CthMOtU+50J9Y|glfy`VZjbj==`$c0c{}I z?$r@V!O{(=SIX?yBahS#{2KrA@Rua7(ragl^7tJ9PveJvA~V-BqmPJ)QS2=}QTmC@ zzf>m=EjR$2abE9Gl>YYjC8la zTcTMqjoVC=Ba&@%AQGMi(J!#^ zB@W|!IHDPu{#dC`Zow*kODfU%$&K$+E0#tVuUTr)96_W35-A|D0^-?@ zv2sri&_TS)F0@AsN=EU&OxNvJaG8D0o6?6OETI{XEj5dwl!*s591%)}1fC|uA^N1k z5~ms9Hlj~fSmip-{w+o@auB}C(z4-wD@nwfh9OKGzRYZq6xQ{kg-w&79h?ts95=uo zKIdcBM-+~g2Q&+i&4c7!kO_QPw!^`gonb0AY-mP@t%HIaMO5=vB8$VLzGbQ=2S?v% zibx9%^urb&v+!T1|=tyy`M z3NPdypqyeQ)o@*!3=#_v79-N-iFS(9^l<~GbP6jv4wN*+kzQxYzpYQf52+0Dwr6Un zDl{HXYUi>qq|s4*ydP9=R8!@Th2j8^2K6W*h2*0SIfIX;7vr?FCmVTPY6ZmeO zC)p{hDWeabZNHvMW{5|E#MlS1&7?bFAPv%JaH>8Vcwb6mv#OySeLr0i!2D%uhD@ zvsF=5pIhqGlPljvcSg4gRD1l*M3h;#?BrXHShe)oxg}fM;sQ<9AqTVs3h##72{}8o zsmN}W|1~Ua1!y#chBL8s-Gx<5Y(2UYy>TS7j`i~9y!>}(vO|isL~w0FXrmo2+pced zV`f7lzR1wbY%^OkPo8x*^X>b=oB`H8^}$N%c0IUC)iMFrR(1;9k`Enr{U&3U9q2>J zaKJlSylwR|D0QiDc8nDS4Br3z3M+10*f)}eq;6&D5o7dUMt6J@1ArJbOz3-#hJlLp zliiU|oK=rV-{>gJ#LC*;;x@Y!tEYK(4$~Sa?NNoWwa0aBGXTxMz{Yf|zJ z@YoIalP~>F9=>^_HCjupw^8(plob4^{ zezoiSN|bd6RIa>pXHjL{{~J2Vdi(Xx`D*USNymXJj?n41-U9P;<=PnQWyMn#mEJ8& z_HX6B@jgb8av9o2L`ISoGlmxh>{e36NV8f(l~@HhSeZlH_iU4Xx$t(P?SD6B1slJ8 zVrY$Sd^@)B?fc59Wr4!~Ixl|z`E}n9-2Pti6uCtJ4g%a?%Dc*G}Nbt*I6}1;{%`}aZ zs@{;Qza2`vjqSSqS*W@%n#Lsc#3SiBC}KN!EH(7PDzU&2d@_? zUs6?7%2J19$)cVJocW>oB3`S0LpnQN`@$={lPyp$s!`IUc>$^Uq*Y61Q&(vd_P$eF zUq4baUe7AQz-iOKLw`3dUOz-XdOhASA;I|ErZH20&vPt2EWtEkOg}r}Q0wNQu1y?o zQ&pZ2-F6Ikk#OYA=8^Xa=4+egn+Xk!a)JZT?W-EF@t+dUjGZWyp@1XrI4jUy|rhz2#7!=-9gD*p=wizvVQX==@~M z`9-43n=P03iLPr~uA7NR|7;zFB$1KZWKl!6bBX!|31(55=5+ zzwH&0!#bUv!_p{-uadG;!GcWGwq>qT7Pt0wRX&} zGv^_Fhe7)1s_&%VQjIo-A4_xydV5A8aF}V;xBLxdUjcPAm}frvd{NF8?on6X=%F9E zbAsLnx7uN<6$D3GnHZRaP7 z*Ciu@z{$5z zZoEFH(+1A8{#|NpcXlx@4SVo&$M1^kap|bL(eBBAe-EyC1A2xeI)H2OgQ{sCip{c#K?zZ~ln;g;8uhV}f!>CWL%{D6~a?pw;6-)y^4tuh4 z4?xCZQCUny4rgB=7P~iZ`EK4Zcu(izqm;iVQk(mm5KnZ+t4%T-$fmb2p7r zKzeZ?HWH)<3#7!t4w%7Fx2PMtun*s~q@JM{G}>S3ohE-ny|!romVSHT%`tQ+4P!tO zg@cfh{rTYn^Ce5t_-lNKh}uR#&{6UpX4w84arn+yt{3r+oA!TBI}0VcZ~yoG7)i=U zyZ_xkEc_6ax@Jxx+VEYZLF009JTVj%^nm|^ zWZ(rpYmu%`r#_s!IqBH>$UwUSN%($U?|+|fFBnS>ja-P2&A}>sTrkEG(Mp$NDV?ED z(_hmzo=~iqz=ZuYm|feeC?*&MVcS@W;9W{NEDG~-Zx#$G*FCz#KN$Khwxcikd5}xB zaoo!6-I9o-*UbKZ&*x+NimR>h^GCKmPIzk(^ZI14yA$DPDC*WUR2@>L*R z$b0^J`-J25@SLci43_|8I6K|MPw6V9!(#-gz3S7b@4rf0f@sZ=M+l+!e~+THJ8W*Z z2d>hTt+XbnuMVBW{RY4FIyHdkvHo&=xCFT6Fmfpr1Nx-7q(_*6Jm0|$dMyuc8kSj4ZRv9eTyH~0(QuMt{#BACaS zx{URfq?1a4$fXR?G~$%%>AsT{=no9KEBI5hkmT`0v-h*a58)BvLRzaGFd%r98!Y5} zDls8O>w*1p@MDbXSc%T_QDKaspAYF`Y&9aHEa5)&kLz#0zNg5J(YY*)A@R0}qy^NJ zJmxaXwG^_i(fy=uv1;?`(ob3GFI9n*>94ZS?bfZUot4~2swtlZ>~c_^ufoeZ-?Uep zF!Y%|{D#V~SCDjWZ>(Rc)_x%K_QK{N{?c0ysb~77Vl=b;5@s6bm5r;ll|=p%b5nwe zuliW6oJajK4m>HiQD4b;_4uGH$y_ohL$DdHR&ntA!{Yw%y=kb-@;)HYZj~clMSgf7 zjV@dry4tu}X6FbLU}dQJrl6+JEnSR?v?r!B9=f z2~}GF5) z;1v!l*36<~({PY5;*_&{%eY_-PDE{(jnTu62Rv7h-Tyj1DBwP>pRZCc@3{jUC>(P< zgtjbEV$sm)ZfaV~@nu0(`M&yai;|O(c2Kk91 z!u|z-fKATJ?AaEWXn^YzSLmQGfuyoPT^HYP=G=sPVYBe+%ublQQvI_VKlBpR+V%WpoS6|$_trBuU zfC06@6fu0SvcVRTj#8f^9*U9`;y^Ofmw zVat2qaw!%KI&kn!U>Xtp^A8akOOdb;>;{iMrC~UIx$^UzB%P}3$lktou{N#*Alat= z{Ug)MKuInuhX}dy5@l#j6v=DLv1~DQiW5=3{IUU(6-l?(!S;eXg^uf`cPz-7^@j3MCzFdi#a=jf(ix|hiN)Cy$*Lz|ev?AJGD=Lyrw$&*BL_sYP zrpdNGZSs77VRh*--$PxwI~q=sK7W^_-8LDg#_mZvo8@A9**5p`^$tst&xu8NTRmvB z|LlH|3#Y5toB3TAiconk>++bUR(zWwiUm(JEHylIa7Ox(*WgDx4YjZ%uuTj!J2L!n zl?P4Hk!2&&yPknj?%<18_P+3SN?dD#Ojisj5RXm2lf_s&jr$ucHhV~4BCTa zs9jU@E>eD3NJRLXlbW++{GTS4XqL6AejGq&sK3UAe&j%deA#>!tR`^abg_8eABe+| zhzH$>F{a<^OXV{^BzUk6JLMYqt#@Chs(%DKmL`O2O)EZ$6@J;orbLd-t;)8-7esbl za-Z+3><|aZBX@F0`7MmXQv$kB_#e4WV-f)=b%z&n| zC+W=Q_B+H!YXpFm5s<)}81zObZFW<;{*OXMA^;l)!7e%tMDt1? z8?3w!;o5Km@_H=WkU$bq{vw^6CA=FXX7oiPr&bV=~nJxMzM9h!U)6BUio*_sb4Hw|)%- zRSi7$?Iv9bzA1Lx%G6Z{4I?Q<(J@9KZ1DcDCqNZCi%7nK=5vJtd0c4Zpj2U}g8lT4 z5ou|PwDBO%Pi|dM6m+3!6n+#V%45HJhbR4O0T+JNJp#g1xnXkAM}yxB3axW{BMH>D zhO4YK!Wtww!BHLP@TMSd=NVuZ{}O`4?&YC>JVP3X33)H-lIZEpH2H8>q;%+ZN}Mj6 z_FGN`hNB<3bIWqKwl&fUcca~4&Qd|L&KT1rXr$ngMjl;$5A_Z@{PU3(bXwGwqMLi8 z%=?sGYR3XWL9f1}-4S9&TNaB`mP+Q{UcKmyYX`Gwr}}VkJqirpX2hs9*BwOP0{ISU z-E*|Ix}zjjs=$AOK!C<5WA=lrdfrR;(O`0$y2nUi-g&l~%frw?qEvy}1q#%)8Mjq0 zMO#kdg)bMUaSRZjJ6B?t^i?ug&2tUX$FA^k$o>{_RH)XZkfIgNc-j=}m^X}^Qjly9 z;twCc$Rm#a$S2y|JYP4ix;zZ~tSIS2;Xm;R#^Z5u4deuZNS;4hp$z$e;z*+p#)vvS z3je;V)<1&=d{hurIin4mZ9N*L>qB)LRv?NF5|u2?8%x7@E|^utx7tbCeZ?^Jr_hFm z>Sivoz0uu|J-JjX--Ht7?Fdsuw0t@IXq$p`k`$k!q#wYi9H;YNl1`u?;X~4iFlWMP z@S~>iSRSTzZl5hUOLZf6s|;myRL%Y%(rxtvA0SZvvTq0oLxnzZBw)l;Smeq!R_!k(Pw(>xS!c*X=<#Ihu)i^@m(k&{JpJ|X!R=C0WKb5 zL6P}ef9Q&m9JKbqE@+m)LVSHXyW)V@4f@{zMaMZqp_@E+A}j)VS*X5Veu7v=xO_8% zEp(R{cr!5sp+wxb@x7PKrgqGx3*0E>ka9tm<1h?`Q|&_&7>IK#4KdG4)KwG}=v9V$ za|{B6L`{m#FeEC{Xs7Q9zboyqI3xh!;JC7OWhVhQq+Y)K8JY)(ihIRXaefj%I|wr* zJNM&NyGhir6Q!cg^*HYM zA(<2_gC&xX9>-ERS9oV|lkvnfV64TpY=ft)68E%yKs{R@(n~LsYW)z< z(ILQpMY#80#$T^*v^>Z^nf-D|C^doMJ~w_?_l#{kqCwdK;oNitM?x65mUKtYjrE)k z%!GkMeS?Uj@3ylZ>YVtLlzmpx=gYQg7SrT-!hWi|(#sBTGZDQ<$t{<}TrM^o+gHWj zCz*=Hn8nihbaJl}>VuK!3#Apge*ra9qt!i>`GjXElM8j9w20qaQWgfXFkUW*@V_|7 z7vTg^Yw*BKq)+$-49M;cf5Ed=B92*SbW>up0*$6#;Zu8P2J+}TrIUw) zGQr`GZ@D~o@-#}st@jwxU|1`<1(wDxfh&`J*@COY+_IA{vUhB&7p3PCwHuU;(%Die z*oxuk=tvNj_SAVHMATKle`p@I8gjT0o8-`|+}rFHXq>n=hU%uk7WVVrI<}Pr;z?}1 zsaaZS`8;(LpSL=s9S*KONxXn#7@l~}tbBDgrqtOwB((>MsToNxs7PP`=qcb!%xBBXm*+ z$HW+nBQx+KJ{-x>m;4k-Z(&ubPQBE)lv`h$b zy`Ll$&-RLf+W%!r>iMQ#jM8Kl$@gi*+^xePL%V+k|4;js#j)41VO<6p=ls1`;iSg$ zSgBK$+g^99^#_7XKI)psa-5&2c&u#NwpSoE@6uCIz|xn_=j+~Ow5pFRJ)g`g1hFLV zyu9G1cer-K`^Dg?x|fB=z%j$H(4i|mk-AI1Luc4mHG-W0Za&Tdy+akwwY1&^4S=MF z!6qsfgS&N=%Ld>*Go35=Rh!l)S`*y6jTv(RH0Z(oUCp`W8#_e}Vm?T^^dM1$_$@qch^N2>az9pg|;Q zXo5nJSk5AJ$H8egD6%NE?eaq5MsYKHVVK=1n`5GFpMefElhQ0iKUjTGi9XU1$*XgL zOF7Czo#54p;qwbSgfFtTQ2T(sY6*yUxa6%EpIg6o=VC^0LC(E8d%&QB!4k+F%)@zP zojVu8rxjR-sCO?EAd}tT0k#$WfEE?l_di>&Mz7A*dYErwye8l z3~i-zfG*Ey_h=6?+7@ti^G@>a1zis*6y0x;T7GUhusD4QX|>~{UA1^+D%unu#QzQ% z=9%T{Ve`cA=l84^u++m^#M)D$beU8)y_mDdj}Z}7O1{%CuJ22VwYbX+5aHSyhdxV0 zI*J^MXJ2-$Je)oVi)XtI&;>3x@=tTzPe7n=Z9L98-p+-@Svy}ODQx`qsox<@H$Clp^O9xt zsIuB&r-o49S4nZdZ5{vum?bYR%?Yj@6)?5W_?|7h5k6=L;GXx<1gn*@#qke>#D*Kp1QpNl`^aei7L0lb=1bDSE%7gXLN>F%kMHE?$qlG{tlC84 zaG)I+kOw`q0grDXw#eQNMVG+V>>9yM=?gn8EgedgM*iBAl>Bl*+C{NfI3p)Mh;3Jy zNXSHuLs!$&YLkS|Z>2VQ0nm+ZkfdXG^Gv;ciTd%0?v@wV$@PwgH*TV}PMTInwLY#Z zkU!*UUO<4-colvz@BPx+;SW}MUaz{{COR1Tify_eY7vVmd_@sc7zs11LjXAdE^G%( zl&KXwI2SLa3&y?+eVTKn-h-YgZQ-fc#}+&GIJZ?_O?wN9lLRdJe~Y~6{R}BhSiqe( z*%*DcEK(|MEOlGpw24jW{ppSPB}n5F^nJuQ(I#IUZ={!oXC^h?(Gzo}ZoL0vovF8& zbNr8?B`@zFW1%d-UzB-qSg*&h2$wNcg~O2JT+Gt#xsOZ%>YSL5R5uX`l%}z5%s&4O z{-4u$3S<;sogzAk!r)2S(&qM@OrwpI!Rerpk%STWF%S`UA$s1@N#Ko&rCoA*DXhes z&_)>+PT%K|{Uvrlw3?IHc4&!jj3>a9PTZRwLNG?Vh7k`Nco|a-4o%)VT*aLvk}|q& z1xqjR%!1}}KZa)Avstkd)o$QeI&MtjN2FUzH?0Jk4HKRUYs`ZW05SFyrhIPN21qb( zA=nB=E{J48qf-)G{huB0Di?~GuC<1d+Pcf27CSwv5@8_f4NS~D<`Tm*+KrCv?cN!N z4+hjrNr;ejRjn7{KS+EhY9JyfH8qi~0cw$Uule20?fnH7!pPQ+E|F&#NF~qpLFwg` z`WTogr&L}`%X!x+{OMkNR8veJCo1)otQ$%639k>Kh`kXiejxF@c$Lt@NXTfV(tht2 zUHb3zbGdx9ofnS5%VvRi5*HDI0cusm^N=m)!ZeOtxy8Y58;-;asIY?#Jlaj6Vb3U~E zzNc67heQ|sXzM?NZ%A-#kujrhJvnIfNa96l4f2^OE0OyRe1-jSy59|38;G#;iG^%i zU#~&x9n9sKhKuqWc`vQsE#L<&7j$96m!7b@`G|`0Tg@kyJZnUqO<42mKlv@p$`!Du zlgeuqJM*_8s_#6H{Gyh+%`wDTP@Mtebo=)I8crVi?Ib`}ZV?9poPsrmdY5?9LU0Uub1bdxgYB2J_0ZCrTM zfhDkj0@)Tk^P>UG0Bl;c3S|Fe!FP+!@&RZ{XUR^PgAc6(7I0Ac&b)v*=TzExP78)O>-#$Z! zm70RECU^3L?mva4!*RgCbXSjIy`YKoAYx#;Lq~;a`p<)DC!Io+nxF-krV zi&Kf!5S}4S32){5!y_j}SCbZq4&;Bylsc6513Kh9zMX*+w3W z!~sIjzzNdrtZbEKpYld3(&8L^w31{iEtt#NMmm$1B;MJNJEkuV-FRK+G!vDjcB0B| zaXiDknmzL8hOI|1#a?y0)8?gjaK3kOZj(vunEF1>P4*T<)&}DnI5_cFDl!Xr5AYuZz8FHDr@WGavY({_~>52N6@Ec zB0QDAUS1%YcmWh3AFtQ)-atQf2Ww}Ws)vX*USuzT8v^xiIQY;!8q8Z8 z8~?z4OYZgN%!;*^jkeT&+eP{%wsbm;-moiPL^wY#Xp(%+CuDl=V}feExRP$$K_Jbule}zm5V<$xgM|(y+2d=lQ-B-DST&EcX2H>xHIquK{eLxa?^t0 z;K-;oVPNJ;-|9ALRY*MbSImpM?O2U&^5=4Z{R+u1sq20q>ZsRtkr$=sL^nt9$fnG4 z>s3Q)_8>GS)ZhQZ^I-AB%(~=D1JmmMXKRJ7G+(|m8K!-#RPFP|7+F)g&&=_r+C+~- zK&s!0`Zw{`@OSTQHX~>H-dbx=&0|i6)CpnM&K4#&>R*V#l*dTk>qVJ%x{bcAn0!1k zeWXRP;pFoOBLAsp>bd&YRGxk^bxSF{Kfnk4)BI?5ul2b_)p&!(mB>r$^~5lIMb&Gw zD66%*d6m7D{oV1$oSsQdN3H0yPacS>-j7t7zuMGQe|Kd~kl%kQCV8_<)8~`j`>M&x zQ$}5v-bP@QyiPy`_f9{=b5Q2ry5zIp|4BScxxRd0 zgLP?OS?%cW3IBgTNXOFN8$UZ+XC}AFM%`bvJG%S4+Wc$c_kqt+`@diG|J&}kbpK1l z(LXs2>DztZQ`cgi{dxE2-!BfzeA@8ZpQZ0Z+*h{azv)T_tJ zWg0@VE>P}Zbj9g@Rw0+IGvFVjOQ}$3qv#Dx$Ps&*ktI_~(aXFy&b7y%-QjOvA(pd& zWV78F5qNwV)BC-20Fi%>8yx&Nz)~UVzKYp>n=q?Y5jI-WL^t~t5t$h*x|Lygwp+kF z`N-Qu!_ppsK^kp)C`SjBvz{$F@``cU-e|2n*|Zc);$+0w37+8UM&n{+%ViSR#je|X zU7R^TvM$!XD$!g4pJHVMaKUBFAc2X{M5~!C3gu0M z2ZKc40SHq9m_SPuEEh=u$&Xv-30)W3kKur&2nzjuXRarJ83Y&a7lKMb5KlCgB902^ zaMiTqN0$0}a^-U3E-f?(1pp8>2bIMGP*OE9If$(aNll!w(g)3 zaG)-xmKq!8lw)Y%sdd=&@E7+IO9)J!njdoJ$n4<7H+NLrj4$NW!kKlp-(Ikkwjf57 z(r2BJ!?ZHAh+y&yndp?TnP%AK8O1;rC}vuDyOA7TE2+)qJ3~(aaB%*`($WgSKrT4X zz{yZbSj3Y5BL@|8)@omFgNJ`{H0Z6!G&bWUD@D)B7{!%v-G~e9GDymi05ZuOe|RF! zR0_}_oYlaP;iG?C3?@`Tq1xUXVp4Gv37zZM7 zq;-p~&^D_yK!`jRyp*jGO+@6f;iWhRbL=F$=|o2&59$(YIO98X*Im$rt+#P)YCLA@ zY;`3}0P|dVPmC(D>esL8$8TM8YrEt@t{CFpH6sz>M4~|xy;QRUA+YMFvLTtyssc%) zE-AppO^x?Oz&zd^O1L>d^w7zH*NV|-5D98xt{TYSR}_0$)J#B)C;!FVpeOg#@>NB9 zT(6N+r$ZL5?A)pTYy*#F6yCX8wCxU!2$nY|g950@M{=l^9bohz3IY|FNRXYHk=|gz zb;{+$Ok~I`i-eJ!3M0{tb*q%bLsDFR-HE^stEPY(_12D(Hsty^k%q=Oib$$E0<4yL zkWKSQ6ytGisX|86;9D(58Ya~Z0%CL73Ui}DJ2Qb!AA|t)=s}`%d>sZ0&V5S6v=Wa$ zDM5GR!riu*y%gj}?vZ+LL(8J9Z}`9!rn`!+8s1V6Zq(`o12nsdH&wB;3a^J8-~A1o zhooZk;GyU{(%!%{ORE!I!9fMq3!PSk+Noead9?*>D)l!CefwaA0T7b6^U_svl@-ja zf|TwEi0bKqQ?^w8lMelFH%P@T=pmQ{J`v96L79Z3|q@NmbD{?9GS|nks8iX~{~OXu(gjs4Oz*zmS@-R4MHt6_Gx< zgJdXlJaB_86U~yl+8Z-yh}E4-Hn9%5?$tIjjdBAc_IIlv7awZ~syBbxsq5W-s7Nu+ z&k&#r8$DN)T@$%vBTd%0efM6+p^1>nm(uXdZR6WM52?a_Md;CH%ni%VeM`Dz$6^-h zcCV3Qv_|8JM5^-rRoGvSfrhkZdzCL?QHaOm31FfB5{Sm7j%_NMskKdCJ%f5NC>JWY z0WjSvkFNjOL7Pz2Scla1xT8A{7&&%`i7R>eU_?3{GhfBdFL-qc+&VUcDtgj#Kf_HJ zdE16x?TP?|otL5Pdt<>#tfx}6JOrY~0$WfeymZSgXQ7tUtvu@MULRPE0!gGwYTA*G z8GxZBf?)tetpiM^cBqib4z524+R{t}AP1@4r9|Nic&M75Oe-6vNd;?8+ueR{#wM7k z5mZJe?z*4{J=|$3aW;9&U@a~`Dj8bMhANSvLvNtp-thc?Y<$-s%#Mh>*$?(3dhoES zcaRC65SIkw+()K!0Ip6R_mJuGkW?Gr1X{S20#Va5_G3Zdw*A!S(t96-vbYeCAS9+E zA~y~S`oh~r5_m+kvs;eGz{4lE`pQcnfBr!DmmCAADjL(!3bb&$0{r7Am-kDgrCA%1 zFW@kO%&7*x-6y#g(w(Bu39UTX@8notFUAFcjYT8PiB$j@ei+R;%r1C`z9btyC~2lb zQ#IM`2M4kQNgSB=AGd@-*k2-CjinGkgz1oAMl`!y^>7bxpRqgC{gLP*6?z?XKwboD z)&SO8O0ImCx$&{-4xE62kE4=gxib=RZ)9HE+)jVjA(G_g{3%3dN&&0B zX+oFiygJ z0RaIQD((fiaIZ8RDY#dPdzNVCwj2#A^$Uo5MDA7M%)Qbyv%-;S!%WT0%5YS+wfvQp z<-_wA+~>T`d7X3LpX<8bSHGr>zDTc(%xv*re~>rj$*JE4?;k0JO9=PyrV$v^KsJol z>vnU|udEXq3>0qS=E}eE9i^416N~eUKnjA;D=MJfg@@x0eU4xzL^? z1$(JrJKB16J=Bu>_^P37pfT8*!ndzaUOSmA)$IX-*9pCTv^Mk^YH+_ng7dWVr3j-$ z>{)_lc%pCy`*o5gDIu}=6vrm4AE8V`T_bH;+*aun=F{y_W%u;2E{U+npg^v6Sv0TD z3VhD1wN0FGhqkKBDLf8%h0MwXZ>_%j(yu8hczg?|&t1JC3X0jvR1y48e+Aq~iE8J) z$$y~HZ4epmNJ?38-3*j~gIhltd3xa%(X_4T$j-6FTP2yU-WF)HiNI~*rfGsOlYa5p z7N2sY7SMyR_VmwhZ5;efC#t=D9yG2Jv?shoty@U&L91T zO)^{=@?#h#1Msz@ME19Pkn3x*fvC{G`Z2Rz_>@Hvhgs_^Q4x^_2;-DzUjuxP{X$n! z_}P}eHzwk;GRTrFCL4-rq;?605|bOgI$jWxgCO3q6isU356xR_FJmMyaCA~5MA?xU zYLi$iXw6aMG4J%Getsx=u>!bMlYgs?Tt80XQz()W9kUU(6O`Mzc;S*!;=Z)PC5+N6 z_zDeU)kQpZ>U&PNlsSNWsKvXVpYLt)t6a9gSN)ZvU3(Sfj~|HfLs5^4q8m1Onzqt+$;5w>Ki0<*>68{m~L&b)l9p0x`rM)2VRfEz%a=?TAj~OgY`%C2!2Bbjl1^>X?S9^eU7bQ| z-hvAE-(^61L$oMS4-f!M0C?-ttV-v|(k0^=t67Dj#JY!>f{KHZIMEV<2Lu-VBH`Dq`u#Y$}I)GIB#?!N(zT{igR?w7ThaP?VO}_oi6EUbqfn zy(HPq>|_6TH;eBJ$?leac8cBNk)(u2ptEflJ>b*aVbT74&xRav-|6>N@+)TV$|=7C z8o(XsUqG%R|L;|1_-|5sEyf-`ohgdXxhJRL6byZ+dkdj2&G01P0m6+M0X1JuH0idUed5sA|Z1%x3+54W#>37l) zSw(`kEABU49U?5qg}t3`ewG%qQD2+<>D$JOvs;u1rl zowOWLlacepOnhj( zU6kW7hDeQ`V!unBmUCDCnAF$>(>CF=nKT1s0y)mi`80@Ak!o=KejQ)YyYR4)2R(a$ zY&(UK6Im=G%n0^5nTCDmg6DL7($ZTgf)}j^P8i=2T@Njlyg&AjRUt{qR=<+D8y#9l zKSLO0iLwdrY=WoX4aW!#oD1~4BV`vgh5G|Ko*}+xEq7KckQ{clBCQ3k1zBWZSXtOafnLdWD2Pcm zv*SXHCbMT z5)SI1K*2k#gG|oE&O>!mw-5J(C;bO)YsOup#8_|l%jVSbg5SAc*f^&2ch`ZqqCrl_ zm6%jf2J{j}1wwf3MqQhCAPlML#}knF zvn_k0t~yD{s8Nx2p8qc?!^AP1hAc38C52nKcv=GNvNAgc&xYoRhqK`^>8xS|7gNoY|8INWAS}3nm`Tasx9pjgeZwog&3=anqzLdD8{(o3 zUx=#Uip9xvVK(=%-`j{wr?DADfxAF2BY|{h_9ZO&vB-XN2d@LA50uCr-J|Lb|0z9XTa5()>9gm>8d-1kILkeg0;e zcT4XF(sXteh)=39IYa}`_^z2;SbX#zK62Vme+CQ5{Fcsh1+5eHd(EgthER1%o5@s| za!@{5?im}RAa)Ld>3qvCs8w=8zs~Sq=jeaxTcgG`E`qnYumsBhKXEZ9=l?Y6`E(p(S8ctm z0iHuzTHwg~NG}o?=B5NH%Bge}!*jh`;nH@Z3TN~gg84)N?DmxCE=dJ9tRi3i?bYxa z{#{svPp&s%l;5#F`*Q@MYA&DO7&_#RK!+X8JfH@QRI*w1+ee7MTTDOOAyRHNb`38q z6cxmUOZ5Qz$j34{U&p{w$<}fBZGwu|Q*lA*4x-%gDFD0l0EMlgW#Za9)rUA>t3i&) zm4OhXAu)^ViS##QzwCjJbvoNVJE2jR(HCx8ab0@!yj7zt^~fXfgP-~Tcy2}0 zuVdiErkn%87Me`&2zw=A*OHbAnVyIZB+R?;uUd$TxqEc&})7l~FU z_FE74c4}C>%8oSm3+@u@zohnM$Nh|D-RWV{E3gjrhbf%&^p1UUUm5k7xH7xbH@cT` z&euErWT?~N?CFBxU!gbO%8qIV!tW-J@cWsduwF4fs4a8Fi>SSjwt@&L-*`XjQrJ$0u-7?{PH)Ou~1o+7Bc8_F#m~u6jP)vt+sufm%4Rykid(02 zqe`|8EHWa8(#F;ql4M>=-R4Dnm=g)wF)N!~?MXvfUTKu+*GqIw3s!1vrXUAnc z(q{r|S!z)uv0+L8uFU#5IxSWP94(Zk%t8l9#NOY)abf2@iU-=RCv2tToc3>l5Lre+(9cf8 zujSxm0v(err*C1t>B$uLr~7JT>CzeFJy1{;4kp`mIVY>9n%HMQt57o;nvYU$s%eO3_|1n`zvA;(1{s~o7pvJJJKQ@8*Z@EyL z$!r^~f7pt3z|}nBd7$tNkpz@XW91s6jo#CvOFH!Q*deMp2%F8X@dtF2(Y1*}HqpAC znS#k2bUc?Otz5j)(7SlPooi%y<&#tGj`&89xb1fZKW91T9%$y4s^cs}Fsi-VU(hP* zlBbN&YlK3-7eg=s6*PP`;y2Wls(+KrX#1VfU|}BqWdC9W8+v3r^S3{pC7qofH^S;G z`m%lS(JaiBayudlquOzcB!@|3tFd#nl!FVpDc^tn3=G7d*=@9{ok`)#_O&{`7 zvquC4hQ(wC)*2bPJS&l6m``>66rz zhM97{kUPaevJ9=H$K zYp(78^QSAY9&s)pj~?g{AqjNKUK}IkmC5W+jTsWOeiKg6r8I|U;+!rY+p(QDtxrqD z)=;v2*kBuK^%OyMo}tZok7bELF5+NvQyuqiG&wny+)r@(w^Wx7!d(O^opFkCW&ivL>h`^L{Z#A(cX&zS=O(50KQ0}nf{1?5Z7@?v@4lqlYr zHfz?@JX1PH9)QvvA>B?aBM|iDCQedXS;LFby;UGcfNOh!CuD{2Lt{5~yOaI-hCA+A z@X<&QvCXE+)p_inn0`|DV1*|GcS$1<&bUJ0Pwver^y1S>bS+7LczznN+s*LthdS%) zO*&PmaZ6HuL7NY>Pk%DpzjG zTn8md2IXP2uZdNTL4dyODKhxV1sOcC<2H+@;a_PGmzkwh6=X2;Nmk?pUCwrCXP+$W zyo`>cR@khN@$5cfR(>g*1Azx12ITc%=XInLd{lc7Q*4)F!{#J5RC<@dn?=SYV+B;| z3Nje8jp<5UbV?5Ye|^h`r+Xx0@=yK&tM01F{sLLCpQ~}fVtrO)4ehenN5P>WSNt_` zX^`+C`rBXRE;!5HlMmIKq09pG+N%v&q@G=1g)DdG{ULY#rqN!IbhZYy0r9U#!Dh48SJ?-}Zsu&GL>FU_e`3Iac%ydFLe;*&OL^TW8IavB$}S;5YoJzmdhYus z;e&^+J76N`4=o=OY5>!$*d)7COcN(h$826=)DsoVJipkC1}MiL&agTkv4^_wdQIT;VfOr08Ewl#n6 z!$zC=y;wjQ-RfO0S>Rhyn}=O&eO>OsU}0eY86FYPmYmx{1ri$ND(4L=pM)(q$Eva&4UQfW|8t0rl&*F(Y}rkA$>iE`%p8ZVUAlFMZp+O~n3b*+gP(-=Tx%=j3Hv9v z(jAeEtEO~o|HrCp+K*}U%&Jl)!p(o3H1UK6r2k+9KI;VwW!hlBO=F^`X!7i`cDP|Y zue8z$m9|S4qzuyip>i#NBsY8#Ukw{qnpc5*>#6_gA_A>rz#VH|JOGL)`|`B<3{N*Y z^LJV5LZ(7Ct^3B1VK$BM>7b)OJ)c-(EFJoSK}SY`y#FykeSYyb)TO52QEPS06_vJ* zYSLSR#u0jvrgV9KI&z8blAAL&Cibc1NOAaE7nAn6$^pkJ53k7<9*GqJUkKlYjuYrp ziC5L~FysV!^cexm7xbr;rAvpdp|=cAZh`po5aET7zw_{itomD>MUup3Wqm^BZ*b5* zngn^IGAAFY0!x~rBPk^zGVf}(RzSilXX%yx=5H-h8dP^f=x#ACLh+quz&>A6LQcZvyRqyHQ6g3= z7r-awCX)q*@KT;8Z{!`-bnv1;6kRl-sb)_i5>)Iw0}4HmyFXUCsR~)#2z%&xt$GaM z`^zkCivdU7#O45Xrjs~4SpOVeYAWz=K48XbSh_h+@R_Og{YxBnE{C15?w6w1>een z^l)UgjI;h1mm8l-j?G!b-x~OVq}#oF`U_l>$qxAi{TT#u(*^4=^5NWqSPES{A@j~+ z&E=7>e_y^TiI>#M^$5IWV8{%;D11DbspdZsvAYk}WUD?jtWk!8bvclGeL6b&%!9ge zcC)-PJFqc_eRDfAPlusQ*cyHALSi#8QD9?keMApbmyk!-uTk5gtFhCQWZ-seaK5Iz z)hxqhx!kZKLARo#nTIypV!RB4o6UlQr;9@T`BZsXlY|sl6UaDB0}EWuka?zg=a2_JBN7?SByL&&dzc#&`zvab1me_1P@Cnl!wO^FWP9 zLsiT+26kVa@78nPU&T$)70>00Cn++3Q&`^qocm384oo6m58nl=DSgl$RhOI*3ncU5 zcfl1Lh_3#5-6f`?=wlz2YRdCAtw=<^RYySxpSv^6j0`?F0Cfj;iE`N?M5-|>MQ=AF zi3aIDnQ6Goz+Z3p`{U%(kkmudYu46zRBry*`z)fIQqZz~=4QbPrVh4z8hoKNlPaJ3 zp8s27HDo>O9_^9HDt|$2_F%y7`I5hnR{3Au7wtl9z3fg-llJ^}P7ZxV4Ah&K|A8O9 zQjKGK4uA-L zmoASD@6^a)83gN?JJ56 zXxHHUnk7zxv@-EK2UY|T25O|Ds=JfQj|N+27BzlFFSJ~%>1z;*HA#NBe0r!cb>K+Q z>H3_5jOidTH%BSrdU1F0^Y}g!Y3IxQ-O;Xx53Q7o_M>C}oUV5rp)AKW5tV-6?eZSU z9<$xoOf~vkP5IOMtLOcJkjF>7Ln12wo-Pix`ZW+>aru{b5PeTywZ>ZS_!*Cg|EU_Y zV&|bza2;(40xn0jii*qCXdA-i=?w4U^3`L!;5xwh77t(BOZKk51hFO|K^=d41!vjN zdr}@2XY5sq2_9Jr(W5(#M~c3xCWl*3P^MK%6e4m|{evQ+pI->HS81+*XUGUvdwzSm zT7qnZm&#?)%2pw~ zQU@@td7TWlfwAPJJ&f*jBwbB=RcbJ%iQ3MNsNY#N z9}r&Od&SAy!UU4|y7J(!=#DIJx0tubY}0IcuBFKX9W|yhSD6Q$tpi$%7wumN>Rca+ zP%(Ix;LvLS48r4}7SlHzpe596rAl>fXS7eJN5sCbage!ZXW<+8`@_xn!}q1C@EXr` zdW$4K#rgZY$$!qm8lsh_uz41S)2deq#|q@zAC{Y#a(WCO8a%KtdSv_}#c0O#_PDBR{EF{|LDTIV<8JJh9*>D!spz3kJi;gGAn58!3C8OAD$XhPo zU27f^wZ7fe3qM!vC^Ncn)$t|mO8kIMc*d=RuO%3ctZBLc4~(GF5O;lMbFTjE>jLxr ze}s)oE|$Lvrh%SZrK1UTlbQ`bK9!j;JP)1EQh9#(+#)4@&g4U3Y{`j_CqHCX#J3xG z2Q8httZ4rA;F0fVS9yr?y{)XQf*)UQY2C5-{>Z%B&}PrEsh}q?E5m;v=6vhc_k#!1 z&-}DZ-%p7*4_qevTpj#(^WMbGeak&P*>20f|9kPD)j#QwTC4r})fFq?ap?#kHf!@q z++$Cyg$SMLrU|EDAj(UX-;TR8e*US2g0gQ3Ch<11K^V9Vegt-=hpA=}x)J3t3aTe3 z$;E~KJqjNOE0UQeBcaodgmHy$Jz1JTbyX=#W-`d$Z2OJpAgj!ARl`I(GYcHL0l$A& z!?QQnH!fJLy5+7;(Poa{9!`23KWR|(glW8ilO5Q!D=lr!Karv=zmC6Wn)E3@dSqSb z8MUi2e*<@FPZ`6fF-5wrpGUP&f&Xvw4rLZAnqFrs<7q$TiU$d=k(zn#y zltl3Zfpn;m5$=6-~V$Q(6PAD zS21a!X4n+v5MWrGP1a~HhE^??`}IN#ak zcxeLD3TXj`(z5#zQbL-l05K1({ZR^Vw1qBmYLV!AWq>mw8<;`r_%_g;=F?<)L(^a8 z)q)McW+w<(#EQ zy&bIcM7AUwerfVs2lC`ZG>#X4;6(P*5ylpSU@Njz(tP{M|GtrLJdo({BNZseDYL)od+GWIay*Vvk>;% z^4T=IWgfi!{jzi1<3Ftb zEgt0X6$YpM{8P9uNf;Af@jEB=lKbA5Froa`0E1l<9phOUK;umm4B}rVo!Dbt)T7$x$yi-JeNLvnzULaZ&G?>1?{L{gt1=%!5*9 zbH#<$RZ_1ut^CXu8gAP(A3Su)z1(c^+7(j0-(|YrGqa^}VPe@#yNpOVq-pQ+3csXabu0X261*4AC~k!y_; z%6F|EFRtF4^b5nq79LMFD?dK?ruNO6e3;kgDA{45$k=oev>Jd!>WFm>y;966@|^^K>nu}Rc)X5 z%$Fp7>mPFs#y_~~O7&Jp1XkvAtG zjMVA{L9!8q4@e;)7vKgp=}P&W|Ga12sn*U-f($J4;DJ$ubjU*hP)MOEQJ~+W($(b; zj}d1bN*n|>%6D6H20;jP4O{xsB!x9;yvIQ0-ZUElwOo-pc!tJu?t>QTle^13W1`#a^64Gf}9L z^aP!W;zPqpXQC+WjgN=%clk3hZ{iQ%uyD4R1)ciL*8fXhFA+IQ9Ti!C|L{kI)r@ET zq6<2|P%sH)d=C9zz*?|82o0GR+J8&YAHay55&8I+&9!}TeviXXrK__h?8sxHGz|6W zc1Iyw^_(mp{v#3+^C ziC^E0w+%%x?YH;@8v#Z%pMvnD@ekQADI&IH|NT-vo46~W3>!ktC)6s6r2XB zC}*aNEpbBhC%Re@@$U=bi4ZSZh6w?(o}#Q&z&zNSuV)W=Td-b4mTfx6AJCypBUilv zaQuoJ=4SVH1;de^BKEovQf7L@&|T}YLi4vPKOHw>gU79ql+=a5cS6NhA08Pq$B`V4 z#V|zp1BI3mW*RNV%m3A=tfCE;h)4>Ul;CLS=uRbDvomJYRKRK}?w6S3n$p%dxc3jju>SjkV2U-CJm!&I zo8mvIbRM0mQ(D%P6-;DcsbFd-gLrOCa}JE>aFEoo58+(I0$c?>ra8H!83*pAf$@OQ z{x6ah)f!8**4GccnUSuu=U<@Dk5C))lg$_*zdb^iO$;u?QmjKG0+Cb@HB@nn#1Kxp zmlt~2nl`4!6;m5}>Oc1O=m9=F?*NYit59qS7NsHo8sZP6t4o7bCz`9M<9a)9LT={_ z?w6`H3uVS?j%n7|#8V)#+sB;u7`T+l;UVdaZ{xxnG}pBIPN~EyRds^|kn?d4LVC$@ z35<4J;BO@2HbQ1T)ngJs)(}lQjY9no!YU7vCDoF%qr$P-@?4X?YwcF`pjezR@5~nf%>Or+> zM%LPMXhLk&O6L-Rxaaypp~!?*lseH-{iKt(Fjw*Pr}wp& zZFsgU=gTFMDfV}2=Im3X(I}sm6i|6{TX0mm&=QBwnTA@jm8n>8BGDt`A*w?_`G?Bj z;PJMX8WK#c*3C%qMvk`Nq$V0vUPzOIq-($Rlv#oR9i;Xv3nDaYi$-Wtc$H8O$2dG! zR%NXBXsZc^EmcEP>L)_8Crwe--oHNlw*k??^Hv1r^d+$!K=~JrCSy)b8hblpLgavI zKs>u6jfmRJ7@Tdlz3gx@fz;Hdp$2e-gF|bVwNyW}eB0lOx|sRU2*goKA$CTM^IhQ} z`+-v7Ql%6?NBSOe7o=9Q0JH2sc>`z_-bln5z9!a^K*!CJyfp$IPdtaqV-@fWNpG6S z0jLU@1Zx>hIL}b(Aqt?Zw~nL>?8b}Z!Pq?>UU*cwfb-gOOxBxSz$t@BkJ0~*C4L*f zxWo~C*q~mqAVnOT7$!EF*tk!oQ-+C1lr<4V6d%z+qZyb_G)N0bPhvFkIz*5|dvP5Q zm<6eD?;|5&sZ}x&#*V29{;5Q7T{7hKa(vBrKP#jPoxO1$K3}!d@G15T6i9${?csUz(DN z^)C~U7Y)4d8>Bi*cS6MNS%XxF3`tu+q6h70;a8yF{av;TrK0PoI#ye^A&dUHy#^J? zzbD#*{9jG_u|$$pN`+7d=UrPoba(W)M>LX0A6`npg%iJOGNe+70*w!aQ)seeFqVg4 z?rFxQ(1cXLsx5SpYlYYL>L8eRC|^J!-2V8HSS+65_?-BH5&)&rPo#CqZrL>0>3llx zi>d(x$#m>4UCc)LNp8J|V&_xU+(`Zb!QxY zH8G*lt`$t1`AsM7lkf7QwTZ%+>i-$y)B9E?D#i2ck`9dWQ(gxj>N72h$yDL9jV2wQ z7}wi`eR+NKAK1xT-|)Fcb8P+(I&5sevt zCdX}wB-ln@O|P00(OQph8VR2;@1o1@$l`;96~5Wnr;b`3v=ROIz%OwW*}`wt&7mgP zKAlYV*uOmP3)!~!U^rbmV0n=ykTNOdNEGA|XMqFl!HT=`e_1N2;Bg+_-EJSUznUqlekS4vJhJ3mj>HRe7zESPj86Wss<4pDvRC6 z9;i(g*LEX+y5f42VzIX!g~4E)BaC{8!i>9mfU-ir|9iv5(Fmw~1jpOSNxkfi=>AJx z=Z!9ZLZ!gq572eaZXhgUAliy$V(lmkZ0UWuVUpp*34|L;l<-C0xh^D)1c#|I=b)?vh#n{N$$O&W*Ez+QAct}EFVQc?#I?kJDB5n=n;`UG$*P0YTkU76~){p|$e^Z27$`e30PzyM9p8U2A z-^jP#l%Fr7ANyifz!9k#?}$S-Cc?L4NGlL%({o1r)#lNyfzQ|P`*L+uoSg{pBypyj zBT9?#3}%p2kIKF`?&*8G@#T{m&>HnEZU zpW2@hTe`e2mh-?nLi+g@f!+x~|4D*I`{4OoKSJ2hk1>kO3bm{Rz2_j=p9@2rsN#&C z!U{>>7~zyIslw1QU`MyfR#wbG_c@0|V`9QjnXrm1NC^CUxDRij=mQqx@ z?9y|7B52*}-}*f1a^;RxoaMW-x8I$-Erqg3dpz6`31C?ho$Imso5O6|U-u1teWFG~ zRlpLo+^fTxH)&-D<&(#zULzAgZ>zF|F-FC6%(;=y-7;9=;qFg6MwLx{VOZ_Jmn zzZ&0q^UZ9#%H<2gks|iHIyC(ca3WpyKibG(9%J1xeg6Xbh&)}W=5*|PC^`&6Z8RiG zDc{lF9*wn$1u@kD6Ms~!r1q6^L5CJ1eGY|Gh@Y;~m#c5JnhpZRI+A;CBWXpsnwt_BI3L+e-_X?;jM3O2kp;CV62jDH%&@bhA*ARB6aa z%dgWq>P@0bm<$(tZN*ZNGl}OL5ggw_LH!cqYSGxFZ~OsuHNLH58J%;_;`+JS;%DNX zUyFWrJyq`PiB~tz{rvG)j+(GKo+EWo_)isf|Nnsj3IF8JpL##v>Nl9CaN*477dOsc z?CL~y&Rs9RvMcs=`J#9QP)h){DK&~vDznV_b90%7e>cO)^B3jb{eFMXw3~DO1Q7_I zpS%hKC7{Omm1;Jdn}2_|Aqf~^n51sZ6Sa!;;2vy6BZUwu(TV!jz%ZN%os|Qs>Nc{v z`#nEYMVOt}Ry4Ek$&)_0@kd`K-p%`SdC0DY4a0ajIsz&^qmhSM>W>EBof{Edg9NS7 zr_1gY^=34OuWj2f^mcziuZxRl&5a=!vae2rcR9_;$+@wi224SxVkKuwu64V4P*0sT zz-A+_p=bU;0UZ?@Q@bfmW4lvifxT}xPfauRvNBVeZ_Zd4Yb|P}j^G+=lh<-0In@)~nFM@uNtWui2&-dADU? zWx%co)~!gy0FD|(tJdg(otqOQ#6oLhdBJ60770H0y1XO^rvaLY4~X_|4G+e z2T@~-oU16rdBgYe)(buRP=n{$0o9+czltz75&8>{j0b)ztJsVDsmqqm7}$mx$nAZM z#GlNa0*a`Db;=bvzddZN(yn_VZJ!n)t|H|61I+8t!df2%h@p4Gq5Ere&-;Bzj-$76 zy}@=ay3v<3`J8`0X|A<3gg@#)^02Gimqt<6a;#rFuo6*6TRlt3`niK`ch;lp8MYmY z{j(v$hfjI5NQ7$FNSy1F_-PzW(Q}kbBd2S|TiS`k^twfl=13t7@x3CsJx?jF_t`3n zIsW5%^87hbM~(@JYI$0*Ss=`<&;IxiSyD--&4HQ*#D`pd9XB$Jx49KpZ$W&=tb)y4 zH55ZI(<#jmz;(Zd0{Lhtt>ek6q9%~ESM=cq{w#3d6khQ&hZ&T%+hmZlG+E$Ot~a!Vcw5zpYgM#uYn44J;`m8ey)lVo0jL{3c-|Two&H?@ zy}yI`is;32{RI!d3>aDc6J^mS0v=But4`igPkh8-N(~VaVF}UDqclMU9EFd^NEWwi zp<$4jS~_HgSj;Xk{!+b1kAl;e*cv??K7OC;A7xo+Af#Z4$(HWjgqM%J6fx|9x%MDn z$^^PBk&bZEsFP_Elf%c65c$M0|EXUYBA)tXA&ne?gL9ceRctn{a}4^Y-bTikk}ldp z+PBy40R;eTrr_RJsS1}-?S5~F(iNvt76+ohsN@qUz(CDu5Ip=6Lj>h27brc77#M{j z@N_Y@{shvVh5$Oo*r&E8)a2WkIE_q!Q#XqRl2~|6a)wf{Kj>e=H$DV4RJ?jqM3ASR zD5eMj%C2;V>43=QF#E?vr2HgwR zkUL4qkz57r>`9|fvP_iab5JhPGb9pruLP>JH1U=fnnpLWp^s#x1OqT|GI5Nbl7C4m zDZAKa4k~tq#&r3My4ZRH5W5aQr8Kvot&TJSUQA4dF@0qj;N}PJ!yO3yt-xCpBYs==pnq<9Z(*@~|4Dx*Ml~ey^FJR@qKn z=)^OKxjGCo=;5+6N}a`lPbT4&DhI(N8jo)}njr}P&ZmL0#pdk@TO>yVqUn$XG1!W+MTfq#)m^)hnf~h=$ZUzybf%biR56&Ip$P}<;1X{A zloio%8g%xheq?IRrJuu0F|n!K%U#pG_W(>fm=4-UhyQxin#P?nr*2bS-en~d1iUft zw=d>xFvL|d?h8SZp_tf?Sd`=#ci^cSVE~v zqReoRXwk#w3Z(l#A5HrVv02KIG=YQ9!;azoGH=MAt2=8tjktYN+G$t>Nr^BP&^#g+ zKN|);B8wFIZ{nieFKkz`Qy-(sBTzpUc`tk09t+t6<$XZJ6F@WpPt3~3QMnh-7k^w& z9(SlZB=vGta_~(3pKCslWG~azd$z9N>WC7a<(6!N^-V0?b!&`0MPo)6trdiz|6dK5 zrJfKASv?ge!9+RBihnWsslgDg04hz0`&hVD%Oq4kn;*Z)hS{Mt3QoSK;vz_K&xgpO zqueYh--L?)V8h2C%MjIw@@!g`;N=OvZ%iScBdDCZVT1s%$g_h1O0Vo#W2dcWq0 zfvLb%KKzK&HrssM&Fbp7EE;67_sd)~#-C3mI7~fA#dco-UeuRzfO)gOJd8GArNks4h z3N(nnIq+p$Y3v-SeTz@EUL$GWeapts@Y0}CVYhN;cc?h~)nE(BBRg;Y*5*Yuvu`(! zq$I$cFX+O*Vm?*epwz^aJu=qOo=J%L%_=zQf^Io^{V6&3?ohdznG{j&@ z_)yW>&!s8nD-AN}W|_Ua)xpyt73obSVH#nO!V=$Ma-|w%rb-#4WOMXw(*ey1N}RriU?w-Eo~yP+Dubcx zr@1l5j|x7PTjSG`ef$+3dNgHh&eg{LZM*#MsaHu1e-riFvM7Gz1d|gu`;91kwyMmI zu(&;7qn1^=@rIO!Ivc^*Z(m}~%iESE={u~c+1HE-?eYYD`q+(^?h<~zH@JHL@H_@9UAUi(sA3D& zcLFaW1eMa`qY`c(?InEbf%37W&OX7g8==m};#rSN)vlJFu^q7(o&55^@1f1Sm@=Oy zQAi9c>im)4u&2GO*E-4I1oMduqQ|6WTS`bo{nV4KnM<(JFsKLaxe)w1 zW<~`p`%!A5x74s(p+H#Sg@M$dwZgMY8ir)oK(Y^mF^2T~LUj{@z-(Yb;+hyO#%REd zhih7*)(2Y$_VzwjBuOgznEX?iA)5_uTT{*v#TMhjxu2xnlcfLKMxQNGzwm9@^O8im zC!Sx!LQU+TbU4wCT1<NqB(E7es zBrSA8Q{;q!G3zrK@i8G?1K^hkBS{pY`y|85eVVU|6kHzbOs|^^kMU26sXk56 zS~Wb7I%garZc^%ET5${?J8v@GiT`h1`H-PWYP!(P9zqvZK0HCgPDjRsB#H*1$LQ9x z9_kmo_G78*vT-E*aL+O1B;c@plDdxZtMB@fu#_2F$*Bdno&Os+W2eFSsg5cy;r6 zYL$AKKlQSDs{ZkSm%~%kWwf`ugpZex&p?5PlZ4m7(>}+1d?QPJ=?y+d20TIse9xBp zUGVX>lkijU@k=fB&wJ`GA>p5Xnw<4N|LUg!wWY2neF8q01k^nZ?3M^h_YS-&ak$+$ z=#E72xUo%fY0&&a&|Qfm^FBvHi-RBdxI8|6WZmcJyV4iepB^bkA5HzH_oL|OpQj-n zPmg{baJc0oN4<-BBkr6-myD~k-G3UYv`Bv8LrFd5pRSTkD@5T}y<|;pRE>#vVwADI z;SN9c$*O0R%p%__76wg~#&RHRN-}hV#RdeIr*7P}~=7PD=py0iEVA zQgNZ;Q#nw55aGd$aCH(&XmKW7CWsFsUj1#uE&Md~>DRaKC7%7VORkj

HS$wJzmptL1wVWj>jTXOPf~l)gDP*L8WxAE&rKq-Iv1sGT^R)^gy) zX9$yh0N}_)kt|Fitwzg|w0_ziJ`*R7_Egu%UDT1*C#_k4ZG8bGt3JB~^Nd0{;c6p9 z;YO_Ih*4+)NnsK#?5yx|TGg1qY&+al@G@}~?n#3Vanvg65knMl@~zL@66 z+d~ojFUPOmAI0iOUAX3FZE!I8g}CQcBPf$*YA{-3&xP;N^#9OP%f?ZZY~&E8%gxb| zY8{&p5AFM!VGkhB41#lsU)(nS^>ZOB2v{6VfWo~q`M}VDDZnIx&(K20Lxl_}C;CYx zoC44E+C{Sk= z5!d=4@fl4&bbs8D(UA!@2_3pxFBsDgu+x7*>CePyQGbVKw?GS z%^?drDl=Bx^A;A);F#Vg9_fmeu;lPFY{|sB+{NR5zd;3}AM$S#_YK7&RXVj4$LNJJ z>xuQMITqIEzSJk~K(HfgR%?9N{P%Ue3$unT%QZB4Ue$f$sQL3^e#w%^by)@|w>T8a#AL6n=BwZg zDKtqQA2o>sTX_yk;__FBVC9j>qU?8Rm@(uM|I(5#t4UMLlurB z8{sB$rjSk_F28yXTXC`Im1!_qF62;R`B`q`{E=zJoqbZMVDxmH| z8_Se(mD_nPqN^%DrP^3UKahY^Y@;Th-_YuafDFUc?~k=|>IF49D8*qx$8Ke0*^dK( zZC8g~%NrUru2)BnJ39Nxv8Q1D9B3c~f(ey~<3J}TGV>svMcDd>jVR*h!uY%5JA+E6 z!Wk+Yk=;;XmuGGaQmEPE7I=peqz+7oz)dlr(rSw5rDD38(~>6qqQ2C(R`qFJAPoI% zBOPdWpAle;`JWJkEpo(ndjGYJwdjBJ^u zU;4{T{R=+;{|FfY)TbWU7lmHU8Eso*?Wed?y0qnn8~*eSm|inJd+nG_;(r{}0A1dd zu`V{MI*}*2s0F29l!pL)OSW2?o~V9of6;FUneSdowo*R^T-K!x!Ghn~ju5eYW6&sn zHtOi2_A}be+QH~DR~3JXo+L7|Np4Je&x9~M{QPT!ok^*a!w!@&QpOH%oX3h@Wr~ZJ~)xVPyw^lU+Oxa5gfHhQ!;A z;OR&-$%RXRmvBn}^4Qgy`Y*FWT|g!6c4AQDH@ewMnkN{4S|X`vyy~v1P6d zdN^H4d+SU`qtb6X%f8lq)69$$b5S$B)h5q6@9&S?H;{YqLhpF;no0==>WhJJ;#bRu4?V4X^=u$`>8ThYb7y({{|Gzlzoy>_*uJ?8A z+na*c7uOWlH}&6yd>cQ~nK$(f#5wi#+VtWP_iqPN2MW_auYLb}pxJOR4N?5QbBzfv zy7cbgyYpctrQ?j?^p$7(%u|Jv!j7}@`Wh<-GdJXzijH$VQ{Rs}UX+eu&lx&0b*JZ& z)n?9#FK|xJo^R7t(_e7XXB;V7usJgCJpH5g!Mx|R?$v)kqNW>y9T!^?7H<_TJ&IgN z5Z9%&E#>_y%oP6_@%Tr9&Rt==z^~*D8elALRRg<3+6X z7}lDjFyOQ%>h#Nf^ye!_om@vv8HrWgXlM95!yGs!?GG;Z^~_-3lX-ing5DJDyIg9H+k#w^?0|Ld77F$hVtMB(@B0?^e8BNpKQMaTdHE zxA*Ab_UD*gcc;H$Z+H6M?t{)0w8wQO@+->`3Od~;p5o4r`IU4h^C{cErm2?oriQN803L0ro*K|g{j8?%J>&MQR;)|YM%Kqo4=H% zEx>3KavV&YMvg}w)50B&$RJjUhniLAB!M3?eCEOzZ@xDlkFFdwF%1mGMwLq@(y8-e zR-a>xK@b$+cfSLZW~s=VDd)KYjwRl_^$4Z9rqFqY!)L=5NRb&oxtL1~=utD1SSNVS>c13IGrM<1;E-&}EY4vI0ZWW?f}SSn!6g0c z=gCN24$w$JrpZt3@5FX~4N`8Kwl)1>wpQqQiEW|si>fh7o>%?v-+3ge4*w}VptzS? zITW2??^deQk``nlv!z!i?A^MphLMi?CY^R{kg!~J=5CfxwYvo}=dw(NSg4tV4RYOH z#qX}&MQ!qQ&m)yd6M4FOOi}4acQ^5D?h}PAJwvsB2|RszZA*Xb4gRjg4eIwI=TRtO z1%nIbsDE4m?O@D>fDV|B5GGOZ*ib+h+A_c7tXOJpyVr4rsYRiIlI0bX2k`L*@)CqJ*OUDE6}Y2nhX6jS?n)SpW!O=qm1=loQ* z)yN00BOlyPo|#iM9MH=;d*;RGy(x`pgCpYBLj&?*g2S0dFdDI6Px8WnBE=$GDA?oRVwmm#Co}MNf_y>EvG&!M|(IYT(tW&y2Zv zTV?j>t$mNKsLwT>+WJGqulxH3MPNClKza@8{x5QM8M^w ziYYOPWy*4D)RRIWu68ojb*ipUvPM$j(*{zT8c?MEJgYkK1XOo`1lN(uO5Z8DDDi&K zShKhzy~04+=7(XD%Hx@oD(j2F-vHo55h%TM<1v1h$T5?$h?>;v5)BuVvKH#&_WFhs znXXGAwhpIz>XnJwM(36t6XaAjPsY9OL;-*5;a6AYGR8@{8mmGBPopah>3pyg8^iDb z;c{U@ft##qXOXWAsN0DFw4xgJ!XOcQl|jsrLO~iRWtQ zAjDpZHxw!S3K-ILG3WB`Ptks+SnHknIMr>SL$%_|o#S*t&dy7&BK6^Y$48wDZn5I) z%EJ2`%tF$`o_mXI(Ky!VNh#i=QUadK=qGhKO@Vdkk1bm+NVsNYxRymD<>U~htY_?A^bP{`&2{M3I}NkN2qnik2|3+E>PYDaA*&SuYl5Pl%$2GOcr&7 z!|pqjOCO1A6^sfknY5%C>f?5j&Pfx^<9))r#8&I5xW|N~l<;mT4+SFtNIvYexMPaX zK%X;*$X3OuH9UpB&&I|b*p-)O7K4BqXD)zH0%I+u@OiN)#!ECdT zFgzWK`($JihlmUB5>+sl4)KbIT^;KdrAMP@56$5`Bq(s=N99vQnP_subi|i6ryn7e z4vc_Og|K1n))z0rcPb6*LnP5JJ-S5aBPRClyWe+yp&_xg)TJzB{>=6)7?=x(OUpQ8 zI)0m-8oSdi!S(6l_M5Jn>n@by;;i&j{hi_-?q^#plsO$<9X*mp$~YeLo68Fj1)hCQ z(%*QOF{blTq>{uTZI#7sW%ap!3w5*RkHOMa&#s!hr-J=1aX)>uCU3rCrj-fh$%LMD z5uY5o++dAUX5X@vv$%EGjy_`3AqWQNTWakKtSfhx{rIm*f8)(s5l1T8o1 z=y>$&4B<6el8$O9_9ij@NnmsCF|gfzPrR!JkM{Y~x$W^Hn2|1(8;4$?B0M%H{KtvY z#mUEcFamYO5(fbB^nN?Xb!eHy#V;-ChomV97UV;QnTcL!d*bu72q6{_t5J?c#N00v zJ&0|+LNS0`V$BHwLh8!P&M1%P4CH|pOs6%lF*t1pr^TnvO)T1(U*vEEVH*+>Y;chnzMjT#7bY{MQ}$xPnF3GXstF9DGXJp7}Jc%OmO7Bft) zLH6pSvlhAbwY(A(!$26!db$zQ%+R~og_4!$k9&z-!y|aeT)fa=RfPm~lLQfG(n)H9 zHbT{K#+(nNfx{!#SXSLwv~Diy5Fp17Am5xt2@~NrnpE9EsNTa97K>n!lMae4JK035 zGjP-ti8IUw)5Wr~G)X!U%juQJwH5%og2fQBl_E7gHd!c3+oVhqrYRO}RtG-7qMD&f zMv#-kP)(a)Pj-*jsk537;~ZbMqpfqi?u11Qz`T2%{cZt{H;Hx&?HZqplYN6_Sv{!o zd9T!@>sRJbb7bx}e8>{ueB2)aKVDn7r0FYw`!DNkW+m4v7HVH!>n0@araE%4g!>`x z$U{l&$71dhh(!5ajphKvU%K#6Ec)jt8lZDiW6_y3y;^B>dBcgGG8?x0F_<~_nWxrN zpT?%A&Lc0MKOVwugj2WcQ)BNc=4Gi=;v;58&ppE(S&5ZM_pq~bbt-2&3sXBZT-;7g z0g==WvGoqrB02C^u0Hm0%r?PTz8QP;Oc3u3cP&oLSRC1uuHr;d!%+0#Oy+fA& zOH;Xt<^0=@Ucwvlm2;OVq9*XDF0AR$n)-(T!9l!f2z!8QCJ2jdlFMu0>L!uv35Tz8 zWfA44dCsrY*@l`r#oo~<4iut0i!Vy%pX<1I>+G#cIn+AX@o<~ig9F5Du~QJ7)SQW9 zaKL&oee5QZ8X(L1V?94}rJ8}>R=vCi#GB8emV>i6)|98$r1{It`Ric&SQIEI8>CbW z@gb=7Wy4d7)n>B!;#~OaIA`d5r#msmOz?4YD1mract&~?3%g)sad``M%>>m>K$A5s zSODi0BGe(&jp)u@3aI;QC3Q0nm4SD{HIp{mp{^w9-a4>VU5J=-+!7(nDe2tTs?0QD z^r1y%n*q%S@G@q3k~MHYX~L&fk!2@)&@Q4Ce89Wkqg zxD<1y)GD_W^9~mmF~i>j8eJ*<}wCS18|{^jVRLHriWUgpzTl)S z@;plMIJy=e5#^n{!-U0DB@Y~~!+i2K^U>mta;vLfYJ{-MN#uGv*GuMEQy=U{GWTni z-R&N)+747B0nF33RbJXFa3`E5>G6k-Be1{mFmtVfHW&Mq1@LwJLwyGei#AHD2 z$uA}d0#8# z&k#itL>iLHWbI2)Oa}KNDN5{~eXTuhr@rQvdGi(#ePUVQb0u;fuVj&^M<0(9K(sBF zt3|QRYjQp=V4=7XZ|mJ9lnw zyIo+x*2r8;5>)r^!^tP8CFLIUqW>7(^8-IRa3Fmfh->Lz=np70F5s>C9ygGlDbk@t&T91d%sgsOJqYFLdbIMwP1kz*W6Jebvc%@2!W{!K+1aLLb`yGX zRyuh2-4!0xgPSJ+lG-b5qmNmv(p6#Zjv9W0CkSt+0g|w^Nye`=K2+7+WrDU=_9Z5u zvYe%{xuYkF!%5hIk_p-FDkJKrYR3zEHPcCtlyLwZEHn{(fJZptRaF!~5=8hK;R3jX zJBAF2ryCvZ#E|4~x+tJFnHGdNbmw{KC1HetFs7Fr79w~DV7LN!^bZ2+J_DtleaFkV z&WHSFjm06sye!fxgy$BiuE|dfKK>RO`D({^q^ym0x1oU%{CBC%=H93Gu9%wy=S%Ij3>XO4btd zmgKIP;Wk4G4eJ{KND!@a>XlraBm`|apZn6cQ*YSZk6_;>>j)Tut6Wd^HH+&5_T(FWpE3e>8q?v$zKz4G z_kWDZlfIZ=fd9fb<@~tHJW15lSB3HS#+CS`^e zE>SS^&BE&+)e8c&j!)c08klf<>=vHuC-d=7Jl9v|C1%%Ehksw9PPVMMV!kqtF-SU@ zpOkoQZ(nJ9vbz3lc)MEW({0z7%YW&=D)qS;p%OWkIJt4CGU+MKe|2#+$n)yVuQq~U z8&=^iL^%Mge3-#HBXN`rA+7R#Yv+()aeQDyrPVrNH%yZ56JX(C+!shzS6CLAq&sg( zm`p6}N;}ko$-03>c*|MqNO2SmF?vayH%JB!iWb^E7!^9?lKXJ{%P%t=kAp#TKrOiHx$d_k+Inuoh0rMcH{PUv>ZPU<){KOep9z}Y462p;_`>pmeZ1}`hC+Z ziMPdox)EA+qLOw9_0T5F}J)o^f`~2fH zyGDxgP%(HuLBy zzB#$Ma$loCK9A>>KyEGjjPq2hB5z?$L1Vr{y^`hFkf`d7^B_1sl25_Vd7|^2yN6Jn zTH;jE&ecMe4D)TyElvo0m42#eX!J;AScbB?M`z;HWN_+(Ujw%wy4FpoiKp%75)Sil zuQxaqOaL3c^CS&|+ri)76&!4orsao^(qdCC`bnY*&UfQ#%irflBp-3y zYNj>~UxDA+T8PgvW{-UWw?BgwHzhifg_tw z-*%zrKZ}UlYK>}Hv1I2!v206bpob#n+;f_stl`Kzmc}=5Bu&!a1xxDN_){7jW*|aA-ziVp^ z+J>&zdHnQw`u^&}j_!41!_1Z3Cl1udFP;RS8~rMLO5X5iUz&Lk-Q$w7KfhYmqlhG2 zRP?ayY;sh#&5@f@^`6DmE&6}QiZsXaf6m&|@d$@4-$ODk8>Sb~0hf>d;yKr$5!fT> zxo>|xsrG4s6TyxHXnUy)%U1=-!(s!j*gd-Owz|Pg*(G;ll{D7N=^;7HMLo6k79v`) z6*!&C`E=Y>=b&}`!7l`#L;tU9p>vtW`Vk9xZ+-OSW$A)yZ@D6sB9-t-n=ev{H#acGkk>d!LQ&C466edz;OM7vJtS6#vQ3 zh=rG9Ho^Th-{X{`(a%N00N!WtV~qHBmclkt{dc%R83_{584ir#QRrPpBEpJ{ux>sh z(8NeOp6HBnZ$7g4fI-nrbVPbK8;Wl+sHdSW*d&t&BC`ydam`&cwfU@^#&GiGL>Ioi zlV@bE45$1tFXemDeC}B2aH>yulBeiMy(_bL2BA=U$G@6FfdzD;-7rc5@I-kaU zlkELhQ)V2T?4J-fGTm_h`JK}~b@5-TY|H*^8yRVQ${I|a6O&Eu(m`fOMkn`6HX70y zv2&S&%@nr0Xp%g@nhW9%q-Yj_%ARVuswDZ1sk`l($1 z&mpnlENSs6Qr7LXi1gW0p9(%E$~AOrnfesfWhagp$tr;`=-o>fHxH=W;z)fJ5*q ze@Te)v=DXnIvW!${Loh)!hMY~bm8I5u_v+6bicz9<5L5PesmmW4=F@w6(4*P13K62d2utU6VPPGX|}2$2_Ks)nPej=HhtxILN1 zKVm_^%ve`1ZL_!O%>k_Z->jg-9pK3J8dpv9g(H5U>Q|gpQ_N{A{M>ge^ktmaY)mc) zcJ>=fgx65uTulQD{1!4Uc2z}&GNl-NI3AmP z%Ex}H3H@Zsm!uSWqJI8i&E{JQFLVi@xK?7Xf1yeTKyV4kw;?Ii z_=-0T^Libv%zJDULUD_wlD#PTN-r0fM8Xqlg@PVCytpP3fB3!NKwaX32%OTWsoY*a zHv4i0{HD|etV}y}Z66z+gnwQK2`#~eH)JCXI2-{W+L?Ot9=zczJX9-DV+3Z^oD{mv z;X#C3lahiEFb>x`5(93x1i96J+R_f`0RV>q!M4t_4PcZ%y`?IMdqfLry#)8bQ&wG} z4kUQ`JHu-P4$0(%XqtlcaMF%4;btr{Mxid02**Tlwn_0gA(GU-L863Gb7%@I-Qz3m zIj0MfuJ+gIeu0x?lgI57P{nFIe7(*qlDua-T-`AIE9g=mDsd?`k_dMVM|{va6N875 z88E^gM+^XnR3=6eV7*ZgxmY+m{0lTJwKp;fqPzsZdDHEv89>-a1UDJ6+J?9CFCnp*=__u z)9e0Pmj^RTSus589B{l6f=pMqQ!}EKc`rNKL?2)#T^r%>z{BlmNfVru(`iX5GAY-J z4Hb82CSHw+wmjD>`yaPwJi)ys9(Ubr$JPIXi_Ag4k*Aq+!AK0;UcJC}5iK1c zfU?pE3;ja1ta}iuKh}WF+d3t;*HQwUeV@st)nwmv+l+H)vUEqR6RMjr-5)bOZs~iN9tKGxM8G4*y;)=yn%0Bz$1@ zo{l3+x$TegH~x1}ew3>7;*Q7G4jr8B6KbVy}?o-YE% ziBIHv^pVJK^+UCHkMG?+>QyiZd$?C4E2++Sy-`Cd9%4Xlra(5K>$b-N#EN1dKzrJS zp(nka(R~kR8UFY6M!`TEm!7d$-0`~JAI*h?m7z;ka4kQfZCCi;ln;hPc;I%kMHTE8 zX`rEsCz^Dx%15X~O{OQlg$^aEx|zJdQK$7TAza}F-Ec{}x((HI)thIRpMPLGOmZB* zHbPMyJTzcvUq`Paay$@}TLEBA;)m#AiZu;52aFmljK>_kf9B+<>sc$QKa@5D9!~`9 zeHAq@Kr=v#3VLC5{*9-iii227Y{w-+YcHbwVPwsEJ*+~RC5$8tSoP_CK4fI1E~IhKUdrZl4x%&x-- z(i|6WB`WYGg_Gk|f!IhU6qVdNj)cgFDUlVd1N>^8SOy>8bHI<7|0qq0sRN1jpUHbb zOBK6UM1%`Hs2*k>KV9?Tbr83bFlVN8f6c-(7Y6KRF<+$ibL1b2i6}hOmVZQu!^o;J zum7Ye@x#$6NOYax_MWzFitcN;o}15&&F< zVDU9zSKVi?9wnfJ1mB)xLiGjOxxev>+5Tj~WJ!P$f;#e%QlvevsE3%^txM_^J%u349#dF`}xpM5=b2s@>5kq9^1jK>kB&)laG zMo&#Ab$x$x%#+qwH$a_M>3poqft$RPqMlx5VKQ5L*xDz0(}nX9t*3;vExZgj-4nBd zDc2PUWBnG05%~4m<6BWl-j&U^`IPGv&%CQwa(GePlbzLuU5P72*8c+fa z@_Otvn16jKNtBd$i%9Wr=D<##^QdOFOQ*PuQOYtm`jYq)QedDFNf+4 zz<#Oe%d!UefFnR*3jCP@Ip_@va1WAxtr?p_;80hLb$8xUE&T)w3U^ohk{H=+)G6vw z-caw`KK_0=Q!GnRYRo>+3rB*W0y;mJVm^e0K)`7j&WY{~0^ zK*W4Fv*KGa{PZC;w>aU}&EjMN1r?>TaY5IWd}Vb9u;n%&h5pQQq=Q5jVvo8nF<>UF z_}a5H!dF;0GeHvp)exeDD(E^CbMQ-2oZA!0+n9h#sxh!^hNW@N!tD`>nphtPW+GeY zA#U%LCNt3)cwB)_B$9{fjI#6pfG*v=pF5VqG{bI2=i$>|f%o zO|Yxj41#v@R@Mrr&WeiT@>I! ztO?Crj>YSUF)cqwTiD=slARD$hWkXi_c$*t_WD59AE|1GI*2wMqQ{`Ro50!-F!V+| z5@D2Yv^t;R?N#8tFZRuilN!!~Ma5<5fvGV|KPC$bUtHr3@`9Zbt`2VZ4+uBlQKmS3 zfvxoRd0;d0n|VEHRDTbO>z9UL8Z`!hd*;96nGtuO$4Y2r;Qu}1iGVq_=JW=@c)d|> zUnt%DFuOlF$Ou^N&Pr)4?C{b;x}^|o%;_l$s}HAKYZm@BLkUJuv24HVLQM6Jr@mOY zFM}42r=BuNXRDhBykKSHoVl(QAV9$xQR#prOLeh7-<3#-srxUS-u_^f8dIEr*j_q! zWmWOEH_YE(_{q=3B^vOxAYjTA{EN9oCX}8bl!j>&u40k3R9MN>)403c4WR z7q(+@B(NEl<=-k&lvUU~$g5VBp2S>l8x}9FM>dzBPORnY**!~{X*Cb0h6p7=Lh8(_ zM9*=DJRL|G*HI;XS$_t`Ir{OmX(5jVfZ~ONlss?d3oIzh*QyAXr#)352#dVx*kl!S zApe1dOcIfDK^Jcn+P^e2da8fsIbjQ_?BXe0(w+1mH7RVnMaEi%|Jv3M21Q~UOh<2( z>?p7$yuc(A`UjuQpv7?;>dm{^H^p1?g@v0@WRE2qL(}Oj+fof+j;Qc zPU+={5cqC!SVY-FbgAcV#mn&W%e$&Pk(DoZpJeWWq)Mus6!(SlbU}M{f_wGydkva< zjmCS=ZT4Px?lpz&y`=6n=k2vr?6tn!d)2r1dVKHA;$GX|y|?iFcESA)`Te?aSnc92 z+x86=7_r;w{%`jT_As>XU~2JT`tQMa_&=uLzZv;|vzq_rjQ`Es{9Ew+ z_ap4zBK6;)SoUYdzvY+ze)auZ8UOct@!#s-fB(U6PydBD*m6xu)Vc|+ZrHFlJ=t4f z?7vj@b{>1Dg1!5az1PRyA7>vdvj6>M|DWf0_(xUtFqjq$hV!U+vG9kmQ$aPqC6;72 zjYr<1#%oQgH%&w{Xk}?lx}Pp(jLKH={v$J(FarPx1R%Ks<=_MWKm`IofeFZCFo0kK zAcUAnU2#VOf>-J67sZiIDpuO;zDa#)PpXi*&$s^ivc62bVTzb(L-|0Cf@Ss9frdx# z@(A3aB44~chVE$vFMk_otoZnln1DQD_Po-(^kIh5wZZ3ABNe1Fvj=7`e2gyva-7#7 zK=bLK2HhP`Yx$v&3cJgJw+~9+#kt=f4SJ2&3WmU!RZ(|``;uo3;j0?qo zklj9}OoUDh_i=vtmWG9Q`Rea_kg++B`t{&};wHv_hF+XK7ucC%-}r01&h=f}P<1`g z9&BgV9#n-KyzrHlCAKYP$1phu3n822} z-1a)6zA2gvjX1pStfE-^Vt_Pe$MBRj1(7gt*&@4+_CkjTDW^P^yfkznWFe3 z-|epVj{>j9RX+;-ntuMc7tpJ?ct2#!d+|Z|kE+F@=&hfN4`X3UOT~!-K1(Gux$33T zG>zq@GP;q{&+^Tt*>YAqIuE|1V#Cn8S*S)wPh)?915H+|F!z+aGLwy>y0tr|K4o>c=BJ{{?@Pm-U4tHRy$PC zkJW*YuVHnfG*?(%SYws7Zay2owH_hQnzdfBu$8qwJXPgSzf7Lrp8aoFIWD& zBlM}P51knITYs;$ShM~?@9)a`M_2IH*Y^^IW@`Pz+77c_rwjF614Ew@_OT;Kd` z>sh-wcGY*@aGXp%y4Bm7ab3f2;(l$D389Ys8SUH0oh=zOe*N!M_~I0+G4e0__uuca z@FK5?ctQW|8Jhgl?b$TV)$KXD@v)uxTpRzLh5VO%=*3nE-aqIQHPLN=K`;SMzF}#w~OCpGtKRwdoU~l6!^cmgBi}d*V5u+`Q z{&fF#bYfBP5lszRr$8$!iI7%;@-*oZnP5@0hDy+3{ay0cpHg!m@I$OJ;%xt|I$CO! zI8UCCfRvi5)54@g;9b?b0kQtU#ZfNVBy!5WVv^{JXg}`cNcw2jBhiocCB#dW=gti< zqy3<~dQcbL5p6FRcY7@43?pgd!K3KVv$JYot+!vHbt?M|BLU-iE?NEV)Qfh#n|HTQ zkGwCYH+((M1H`6T0nFRvj_)!@LIAUJa4t_vr~IVQo%J_?3Pn&rXd5)}ptxO-!7%vq zVaB+gE-gN*NK(pBH3QPj@fifu&5VITI{B0QX9yrh*ycrTB!r#9zf(+xVl3}Ng#-N_ z8?Ojq+=~C4ym#T98bk7IfL50=y++pbgK^yN+YQms8Ao0HQiaZO6)1ZPb6r_A8Ti2?AR3x;&u`-I%i@|!%>0Vn7NFC-<^rz|_P zE4^~cR#9U!IQh;J%E!{IZaRkYO_PGQNk(5og$#;1bR@7aC`3aAKmE3Xv#s`F( zScL@H-=S^&7CT@XYYm#e-d8*+|8GD2DIwoBuAKYn%~|C$yMY<`@v`DGGX3hhN`lvc z&-kK~qeSiV6Q2sVo>yM1^|5(3G1j{EqAtDG&-47`1bd>%r}fXTIa+gijGtk{OLuz{ zY9T?04$SG%9J|s>9|2>Yn)%cue&tt!C z3YmV(ujtzF=%%wqVCgr%Rxii|L_App#N_s~(Y+}0o|eR=ei&CboH%_6QT_Hn?wU;b zH-2FS5&WUTuF=8BQ~dmfLQRWv0>=?Zassg-@P?3ct70tSL^#WL#x^%f{F!s&$utYLT@EmCqf zymtp(f(D3lzf|CW5+!DX8SC0O9hY(JzJqXE;DG?2q7IPw59?okPsv?#_xt1r!O)Cj zFh_wo?F;vZ|5%^FkHWajKmoL5X6MR2UJDov41I7`Uyk9WJ(I+{-f$#Hbgp>$`yMD` z)sBdtBktMVFQVJhUrS&;sb7;yR^Kj_;s0qM{u$j65D=NpV1(-dCdb4kb#cRmGGpiUy>ZRlgL68 z7cGjLEyW|8;$%6hh6}4 zqaE709#`70A`;Fs&C**Vz^)LCyAw@W#R;`q$`AW^+`BM0uzCm+>_<}ItMKD1hN-f> z;fI^M&xFt#glex$>1_{AaK}#lO*=S~8o-e}p+$({!+gM-E;3OW+v$)lT7ZWBLtE@_ zEb0V;SCNwOxRf)=mh(OdQ;y&rBXh3>oN_nLtc*wNc%1x82u0cFnK}k~ zkV?OAp}b$e(A%OL0U^aITcIFZsU=(GYxc37>Nvq5&fUt?;|56= z6&3vm*i8~2lgSlJxH3;TYcrtOM?iaU+%Uo+CA9DU1f%u(?;5(Ga|zfVc(j16zz`xY zK8UM@jEdAg9}OB8no{{x4S1WOl_)C>CM0Qyp#Sq zS^0pF7`T0}@r+is>HYqK`-3g_xpEMDq`aYI@UZpr;DiK8p z`N(G86YeOOYEigSfcwZSSTvREE8vlEEBgIa_SFvWiuOZiaDb*Dzfa=bZBx0PI&Dc~ z^nW`K(=CdX42obr!ll~$H%$0#NmyiS@w_Ce6_1K2;YtbQJ@>iz6v&Hj87~-F@`_v{ zpo4uyC>6CA7M;H?__FU2JA#gr+F=kqV-A6(4R@6o3oj?JJGtvzMd=;ilqJ>;jal z^G)o`l{kZBFsLfmr0Pgu9pz^weYiTfwa--oNj##NqLR{YIKb&abu?$C4(I128l zcAKf%81{miqiU~UU*W56cU03Ou~+&~L*!r}whCGQkRz_ryNqi)kh6w_YVg4|De>p! z%0NE7pMo7%k^r5@b&_jTm9RoSSe6g=Klhpt8EgX?1yaO@+n}24O9fQxG|iu3 zJ5V%%s(hUqu(M9?3@K9(iR_4KmB$8?Xp;4H5F84p-g_ zxtn#cD|C$y?N1OLjrE66E<(M)+LM2USbL2+$JA$ls0}y{CB+5svY^3kaV#tXjH3r| z0pAO#5*_t>yHE6SI_H$JSAB8gv7+XwFE8@66vP>XIb_Lafm}vgbe->5KEdWa;W^bR zhA(LmTtk!Z)pK<;fhAw@1U4V3zk|SGqFD`*)z~;rD9QsA`$`ua*D%Ja2MFlDEx1Fq z;zA_$mZ%V7mWnj5C1yYQJY3a>dkhq}%6A;$U`s-Mt$6r}iO3Qw-0#7ow4utc-Lazq_n@`P;D^{s!lLKl|I4RP2&1abn}^m)^+)8&htG| zZA5?|LI#>c?e(uFaWItk8W7+H2fDD=UH~=ld)O5w*DVE3zr~wSRZOYT_5J{EEh2XK z3HB^DjRRyeMtBZh>jQU0$FN6HgMeuV)^nh}2O#wW?GS*B8pEU3Jh=yn7bD1^Q{U1a zYSxUk)zy7wgP`i^{n)D@VGgq%%v>zGAyqWZp<2qIM-GR+d=+2gE94FU z9oQkn42NAB_OCtm7zz98HI6Czgb??J&%CuQ8Vh++jl*HOqH#m?=7ZSRf`Lc~uB@7f z{o0OE-Hl>9V84<-EXWODI?$_PeYb=-la#T42T%$Q*f3rFW-efUzy9QwN-whl1G2h- zr*+2m=Pu>ZwsaaYvqygP5ns0-&`_N%BJ zKgBb$!n4m78A0G$5W51u8cJ%ITwDG6gkVRAC>XB z9Q#Urtdn!Nk24F-F*8`m5g`&-_ZDCC^(t(?{5dDgUW=Czp00Bkk3I@h!5Ms&H!F1Ge47KQ@q2}no@TKN@r5c}Z> zE@CyZO`8)XA&Myi04Gaqj2$?8D(%D|s+V9fhDTR8&=AF(?ZNtbtVx_|O)NJ~ge`PU z7J&Za;}CK~-Fcw7CHh{Z&uan#vUSfhykTTea; zXSG9}x!*D}*}CWnPV}W~SPlo=JbnSC#EXKvP_^ZoGeTwW1EzTyXjLVY<^`-q4EEj0`y9>#W7vE@=EyAZl|+o=Yge_5Ew>lIaVYJggreTP((+4cjXC*^i2mN7ff}0G)W$WydP9TR694Klb!| zFoB%!USV74ww6y&ExQpP+c9YfbT5l*k%b6&9Q0lf+ZGqzPaH5r0=L;iDD_jQP2yFV z_jNGmdYF0e?Q2tCz3aPnQ6IDP^%xjd`|Mi#EMyopjvaa}$g$Xt8Y9lfbiEf@k5voKE$e12yahdD)Jc47U*rfx|JKAY2x-u;2&f+R zk7E_gJVLGY>KML>BW@KDwo!c7Bp+xyEg%_h=7*@?u?o?srf zShgH6&@&}8%_0|$PuU^DwVh<|)w5SU zD|m!R_CkC;3n21;2$I1En6u_Rq(r`MqUNfe^B0+rX(-OGfCs=~5MW6p$(CQ!?B&W| zu5_a>(2#K;mg_JNHrn8v-f8p~4h%aYCR^&Rz59(&ISTT_**YTrHm|X@45&{8CXd73 z%)+Pr-8KZ88jpW)Iz_v8*nEArssNhX`!lko`h48ur z>*55$H*rvN@EUqqJ{O_4UU#<=9Ru~XDB;vyd!f6`ASg27UX+wKNO+*8xzO445DSr@ z+ARyQu%VFS)Q;#Ca|y~2TvqC?&JRo3`!1nY@;MbG1BJr$P;2F0IERp%rv_0tc#4_Qa(7(9-+>U^x<199S0>C_#rmij!M)09o~K6b(TEjDO8 zWKcgpc=zY5Sj>q+{VukvTpJyU{Hk+_Ukh5fM!_mEzt6Jvu%dHABt0IW70=Em79_Z$ zE}{j5(@xaJ#Ax{!joM#UOibv%W2pRBU~Uo3dVughPqmh}ywFQ@em)y-VgU`HWSSi+ zro!BWI|CDSY-uY4D9}Xr!}nnLiPNvmXxdaKz2FK8PQul%G(BZy(#dPP!~Yj5?OI7} zzB-K)pqpKo$@%Wwaj`T8#FzmYreqI9rQdy$L>#j4PkzTUi1(nZsiSt{&v0LQN*R>t zJpTl=>H7*VB>fj1AT>6uqx*RmY9X!5j-DHL11spf`g*yRb=u6G+zhaGGZ;u97?jV; z7_ZaGdy;4^ih>NXc2udz`CnV-=iD~~Oft{PBz^#eFk-|MO5>)~L=;&>F)7W+mgd5Fv?t zOYVny2rs}}?2NJ99<*8==;ID98TjZ|;R~{d6^RaW!TCXstyCfw3FeT%VKhtGB&fnN zn)6da)z5i3mlL=L*ya!?=;%<86aa&3RxTHfcv>XhGV%>%P|d$c$x2x9bxK*y*VWC$ zb1Fa|;~kd}TnMVr2$WUMU5XyWOqQZ4+ zw(R1)!n;n{rJ$yY6pY-{l+z;FhrLkO@}LZob9k~>E`x;^2Inc-#SKA{(LKhUr=`ar z{L0HB>lX`+^3!mi(hDFNK(koQHF~7TgF}2;yv=dJ0$Q-5tJG1~8es@)SBj94ka7Hm zSA8ndDkZBarxp~%nr5k7<^%EUdrGiiz{5FZ4d!w7F_veYYq^VRpwS)b9w%NTh&k88 zw%B~_K0y*@ST8adYf=u^v)@Z6^J`XdHTX}Al=gqT(OFz(c~xedCtU!a9`Wp%QI_% zWK9&{|5Kjuo;$yUc45dN;o>~m^FubI@)Nnx%IYwRI-|L{%V=T7n1E+{>_Z}Jj zti6P*j>Wdz(-KsqF*vlY43;2%>V6hJtJawiabroT%Ym+1>xp+Kzm-hn5V;5d0(1FE zK?`o_PxD2m%Y{X_j&<^;##qL3w2t;S&k!rBYGcLM2(%(au!bI@l+~9jkDJQd@6Pwg zvni)JuuJe9{gZCFE<2AmG4QfdrnH2}xZtJuK_EE%t`D!UQyUa953rTplC89#kHAHC zI1%`roT4}M-oN!dic) z6ur!|;)KDjc&;fUuY>t3L#n+lxyjsA0Svvl_kEVnbfqhrFlmNsJ~Scc>Y5KI+&X;s z$gO)c^xb z1%#yMRp1CQ#G#fNnE{Cj7Ht?{bL}qQ&6JU$z&%o*!6p&&D_99?Q|M^3djTEUQk+Xd z7&pA}iekji@Q@iAEJ_BHW=^qkLAzOYk09E8VGsup3xeFPntdk$BXo+YlSfWQbfQ~Az0Bo@P_aday?u->K4OA;|CO>T9lINxI)wcBS#@2)3 zYKrgx>$`amzAh!i0o34P;)(>4+Ai)tz)CpTPw6s6cwTFDfaP8MTH+zrM{d!&WA z%TV_ixqs4Ea)_tGHCAnsql6wN-lnBR%aD~!V!X|LGR+6+Kr|{1Sx>t@k<8phta~?| z%I)w#;`mKyY$utrpf=G|3rn$N?`4FxDvI8(wKLH1E-Hb2U&7pp=22u3HJQ$>^kldb zIJlp7<;Q(IpUNlfd$9lu%I?bq1iM^yRw(c=%GMGG!mdWskEf^JfN8LqB$FqQjdc9s z@G`wn8x>1!Sl*_&aN*;{x{NszL4LIBs`SlSmB#r*NkxU|S&KNJQE04^wrn}rsoRFO zdKAv*?qQ^M)VUXOw7Y1UD+Z5b3TLlbm0Ywg1&9fX)}x#6Wve>kG3EpP##C>Msb%)0 zFzd=*UWZBePc6iQo!6rX<3ylaJA~_56$mN{zbOh8*cB(o5(cnbS=f6ayj_(CHu^p` zBi_vdmd8rz<)sXYy>D|>ZsUx0D@arNbA2m_Y_4tub%;G0PgD;27r%hm_MbM%yo<2O zy*snZ8Pojsw+iidwcb0O|;2g7SPJRDMF?!l+%G_p|;3JH4vzL&WJm?UUB^ zA$N$cUgs`?RAl|2dl zXcW*3mTEVXa@bCC(0*;QTWjzJ@t4G?6>%INvy!0OpQ z#4yEYJ^3S>-l2Lw`K}{dQ-5lBKlpE>YMFzWjTu+FBeK{6-tI7BjPTs*M|zS3E|COp zl7x~;!g(Z-XC%=kl2{)}e2OHoPLljfLc^V;#GRzooMcR$WbK^fJe}k(IVs$9QcQMI z%5zeF=A_c(q}u1CHsz$g?xgY82?KZ56nEBAbJjNf^xD}$$Me%6#?@Jm)#kTOI)a~W z_>$KpwM$>O(de0pLqLLe<^9!eC0I!@$eAQ_a`1X%ivC+xPl#h!_{HOQsm?jgPhBZ1?&G^Q3xRVK+ zil&=yKKEbiE2Z`LWDN!U{hZ42<`t6mr2k!+j?xI7n>|gwq4_5jT6mj-6^@Prc>hoX^5UI)$r$R=j?0`6^sNug>{F^}XpVvIGyUvNc_oSCDp|pR2>`*XMI4J0BD34j z(kmnrEy>9`&{GC+MK|dV;_yp~brdX@fTG6$&2$?0mzRd7N5crk}(DOVeY$DL??cihkNLUl}_4@^c9VxJ}HCSQ1Y zEL9v@=L*-7j!*P%Pau=qJw;lO?kGH>MTp#ej@F#ad9+!0y6WVV5LuwU6#a6>IfxjzdYG51B!rq;CknLzhdVuZ5M}N)uH>^(Y7+u zf*GtIAi!WTLUaqXaP!m37Ws)?Dx6zUGvvgg2ZMbp;h{LqD>G}iJ64aSn%oJfLoxjz zp44X&g7rtA-n1d{7K#v=7dtCznCKNt<^epwnr9-FptC|!50!nIrrwqIvozSHvbe!7 zxySQl`h4owYMn}cHe=f;i@4$lIUI>cjzuJgKw<@&y;wLLPT5J&zbg973LDky2Nlji z&eD+2ed9504yeu=Pnt$^cle;lp&DGl40Q!P!rD^cm&7?Q{;)o1_EY9bx?*DEy3pjw zv#hiA$9`bw{ldot7Gwh+{kQ~G#oK0|)zSE6G9ga0O-kK0u#w$j<2?m^6Y#Yu9!?UV zxv-sZHCsH(l`Lrw$0Tqj+z=Nn{mL4UD!3hIl#(1&$?9J6YJvg2>q+x1ar5I&L*BUq zQ%7CNoJslvnsZG>=2PV}A5|e{h)H*N8IUVNXBGd+WDH(lA%TCxlR_-gAQI5P@#3&) z#HHn?{)WYYs3w~Kk`m1C@Y<)$+adlUA$Rr8i(L`%pI2I@Z!N?51JV|q_|*c^Vwz_D!gKsm#ejO)qk z!}%o=CiIl_HNuMg?Ui`{dE=h*9t{8D%W8zTsn7pCt}IyrBXM>;jZYX}(1EFlR{v@N zgtwm8Q;89t4^3HI7nE+FB1H!(8H?P~8xhS8GLuH!b)~ABm9sgYI6jCB*jUyJklRy( z*PO$g?n@O7T1mOl?m$FEEH>{tawu9A)2MJEduTW_@E=UPKR9TMj635-%MxCF#|pfk zU1brozdeRJ%R2P&T`!6jj+sN3B;5U!%N^ndUCF*wGCo|I!hglTX7k&nvyYf< zdj6OE7pS|y#JAj2zlwnJ4M-Q(O0SHW-~mMIgnUg7jeJ<2!daN**7zCj#)M3qhxT5B z)`Q^cz-5Jjq^J#BRjmsMTpHCfs@dAfilS;kSx?lQEc7Mfr|?+jk$WV{>Q zyuvzgj`KqgABpn9-Y1bhFJ^UmQI1wqV)J=)jvSSj{3BQ@|K(&Sx*ihyOpy}%)}H?s zZRItzb`;;xMMh%R@7-P-#cWESj6Z%xN~kNAzMq4xk$!0yxFW%K`t_BggVb1}D@!-; zdkl?d6x3vY;?T0HNc$EICQ-6E1yP-2@528$UIw&J8fB*|-Zm4rDkys6@=1R>)mrYd z_^Z@^oj8Hr)%RS%rJD)ls)FyfR_YEk)($T0o;6KFQ4FUj7t(X_k#AL8yrLfL}Z7doa9mrq!%pGRFw zV7yfQcxV;6#`5i|PW0|zX)=57De&oh!JM7aO*ZM&*z=1>jb(O;r!$F}T;`>Ka^kb4c`e0>%8+`NG+IC`bER@sMrw8y*q5>0AHfcO7Zli2TJ$(iH%KZ(k z{_^nRrzVSJ8%b!wWU@;rG*bV!TXlSVq`YrKs?VQ=&ojY;=tSS$@Nxb>5UUHN?gn*d z5QnOwJ(R@8VDFN|(Lbvw;UVJP0@a(-^oP~QlkIu0_i?bd`2SPh68D+a@~wK&IePVq zWuGOXJ&Ut_5`OOqcrOCx4hWLYH1aU?vg50SG?*6`8dGjNu& zxF-?tW9{3vLO%n4vs^52M{%&o`k~gPm7&sJGU>6?v%q1WJ5N1cg|4ssR2eNXZ%b1P z`laeY@%T&+v~n$UsSij^$+HQ|@O&<_{bPMqf4wv37CWzc@59F~KwRo!w`=1lW}!1p z!TI^cJ*~yw>}0l{`aSLC{(|H8)i3SqtP}=|KDoTUue&x{ec{vd_28Fw6K}3=Z>;~( z-<&Z!p&)Siz~IM1_e1R~8wZ9v%Y#pxUtIoc^lNSWRoM59zs9?pbMNnKT={3Rzq2w@ zbLIO#(}Ud~OP_A7m!1E6u>X7e`(ww=v;Q~@&}3Hik&{+Wg;=njY(~3iDpF!8nab}G zC6&-nTzRxT3(yG(Qg;lbZ_8yzN#9Y@y4q*x2msb5%H0Ms$-0B-cwWJ=dYOBs8zkH~04x7-UW(#r$}YYl;Q8mER~9CL8T57NuGn zDHUgUTvIB^3VfsVB=6e3QfdAjBjvK<>}$&9W#w;_pFVrDuUt{pZKU$-<@hy~=dV}Z zsJv*}-&d(@;WSpQY8Sb#THU4Gpjy*s^hdRJ@T9QXOYiEAsW`|O3!o;Yx5%D15-NN7 zU76Y;!N9bBGkV^-|^tkq}Pyuw0AqP*dU$>!=BFHhi9 z!St=x+h(>TsXM2Ca-DHmKR|Zp^i!=I_)nehyvZ&Mk8RPdTKwTVA+p0IS2twNq4^HY zmog}MNwx-eeE_fRq_|`&{Xrr|N6Y41a{tf=LK|iW+s%Lj{66tb{UTl=6ka^$yD6eG z>=pxY6w4z1)6h;qHX480@2j&EUvy|3{0wh+>!+akZ*nbRT;_M*dhQ*N7C8s1`Z+i(z@x8=3CCE_mmw(6C zEMH}tf4~DE?je2vXf~`cTb`9G8;k`oF`v%mUBc2Ed79Ta{{n}p0vyjs_6H9JpS3jK zQ^?nTtp7Zp?Kdf&dtJpV5j~375QhZ(m7xiG97o2p65^(w9u?vYyviXl)l{03^q2J! z96Qu&>?aAvP_1_?EX_eWs$E~8($IWrTNqdv4GdvhuHIzEuqwsjKgVh$K-Oh2mbBwZ z9mTEuem6|WU*P=PZIr0zEXD_nJeNTNt+Wy?gUJi%WTm9cCZYply@io+ro{^worgi4 zvoScmG!E9wJo&t8iMvO@}HM_VEz-$F{O=kDMT znsj^KT6T`#*PWVynJvRNBDJ5VU(|E9vLtx~B64GROWCUY?X=|{Mx7_hyWD(qg2sEl z0CidAM1=Lco=5J4ZQZ zrM7=%qy<%1nP95w%lmY+U8}At<)*5ijLKM-Q(g6gCe`!WPsjQ~>uMhTRrM#Rj1Q#M z)s~p51v)<+AFi%@`TVBZ#j`3CV}o^dbxmrQ!=6q|{iu5-X!Q6B<&;D<$n8d}=|)Iv zi%sEC`!D2nBIheP(*>s!CJL68rb=2}E1@S$k`7w&_5F07-Rg$Lzi`=KOS~^z)E>My z*0^!?6AvTztbEN{kunI=zx(5rv7vQ~s%0FJ?boa3vDtp^2SHjbBK0kWBn-}i!CHeK zXb}*wXKh5h;tDe`v^KXy{Cmx&^I#Lr$lN%@c2CUmKko1xfhI~xGiK4%^&KM|o|tBv z)b`*{9cB+~4d}n-rA{127gI3=GZ-Hm@9QpKibQ8?cRd9&*5#J4RPUyhn(VUIea5Wk z!N8lZ8u$0KeeB2Gdn(TNhDY~Zj?vDYS6wpv^!h{OTkS{N6-%buuRq58(`JCxmT|mq z`V-7_3V5F_n`^%rNQu!Y8derOxAt%_-OVnCT+QXPTp;Azv*UEfXE^_Kw*H^>t}>ZC zk*C!jDsIKK$J>k3Ci|(vpS=??Z(s98M3oF3f+AdRwI+qwItXhkB|M29O!D1*qcQK@ zVV&JXpF_D12lz!ieKto*I&Cx@DxGhKJhVt6dlYK)#B zc1-8?)oC}>ZGukwG$yr9K)jmUk2XHuLB4Aakw(_yb1rVx?O@3u7yuB2JIyR(@6TSj zB}r{X4759yhj5-TfXH+SDOT%#2myA;=4TlD; zZyTTkLO&T1C8R2Jfel#5&`CM$-KL5^5u$zJC^$k56!Epua@$u3E^gF;-*w}`1|ceu4dP6CdUt&K7uKejgG_3fMUU7*&~0!5wupjuP}s^9a3Q8CB|vD;R)EYOH}jfMPYU6dV-& zgP&+NiZg;yRbj+1Q1h53RmIk7sSNxsgOZlYl*)}WtCs-!^BVZ6E762lKFXjS!W=eK z7EMi0l|1Kn*lYC_(1Ww~xy0dMl!KGtW4SmS4GlC;;T-cFZg}&kL$n>y&o!w_azxo( zF&wkSl!2dxGjAB8flU^JBrn`roY~PtiW_3UH?76T)LZbFz3Hu<)Mi=%nUb;)r{`+O zLUc;OJjzsV`#EdX$1!s8O?h~ZJK}FaQ$GU0OS+KS48AVAth1PWe+UJ#+foYw#{;5x z|D&5UixYCz?C&ydY14>pLson`-g|mJl_{~pA};{}aZ`aeXtU0KtgN&sOS3vHU+v8# zR?JD(uk8k?O+5-c*d?J}N?7iCv@T3k-HbC*og&(baoAIv#=z4cz<~PLVrxc%`w*he zltLEx$X2xJ35i;TiwMdyW1>Z>kW}4Lig{7?Du>UB@Eq0hxfAH*2?oT$ya>$=QNU2u zXeQN_^rp$!Cv=>P&lBlYdc(c(-9+qaDJaIAF2VX0O zj~ds8eH|GFPw`XU=}2g+&YPhij!u)cmXGjj6uC62EH`mXmna$Ng|85$K#B97<94Tu zP0?dmW+z6EsGyaS{wZ^UNLb z&SbALtHrWtkr#aw2ex@@Wj2d7ysOg~%6H+EMEt2JUOa%rTb|NRqVfS)xgo-S3srMc zu6|w6fRD-iDF^5%e94tOB|8kFh`nBsq+yJ zr)&+Foi{9&&hS&4q`Y>z9QA}Gfzmit+IgI+w;6;nwgtW>!IX9D)#ZEQqQwkMqps%h z-e@HzH4eo@%*m9Typq7ymrfaf>D*NYiSQ`JEwBWGD4L~?rb3kAUE;d=y!ECiphfkO zU&c05E>usNI?doOF0=fa*)3~T^apF_Iz5+~a+W@1nlM@eQl#;fV2z6<8O%8FbMFgx zX3Z+|lei&Q1*m$t*|NXpFQygfnRqJWiH4=8am@bXwl*fJlf~cSnv8%WtBZH z;Fw@-6M|{(xeNV1ghoX|x`rzELR@D5|*WiJG0rE>dYmdM;PJ?jw;#XDrrY; z#q!Op3?xA}aF?~1Qp8q8gO%eq%F@KBeXa$#iegNWM@zCW`~!Hr6Q+sHDUo3684y(3 z&+EGrSAR+xnh|x4z$r11LH|#A+#M!=A;s%d2>hJYCP6*Q4?TosnEB(H3H!rp>%d*e*nZfr3ti%ST8 zU!)o-y4=L-?AC;hDKpt=Z0yRCobNN1q7HAOrdZ)qEuw8q$yt2auQd&}fApZ`&X zSj2FMr+B8Sxg(`_-{PYP^;Og&{~FiP{DXO~(tD{y`eFsHUCx zqeEd|_h~7LxcGAlk3IYbwvN+XgR45K0&D)dqs1iIQiB!QDk*POzqYaU(oH$h=?8^c zdPkR0bBcXFvc-gNTsrSQ?k+p2=gz_4h8(L{HoOSN1RuRcKn!x94wY?S8$}Hi!P=)! zC#C0WB@K2^C7y^grToD8%8)7?A=53_E(u~pFI@WBVp_1Y4g#K9Y^-i=V3+aD9)*JV z2|e_bM$z}Kzv5hx`6Y`UXW&GAEM+dv`+B#d=58E@kJ7D7G-wn}|B&7mN#HVK;;wZm zcH&L^zc)Kkwb#r86Br>JFG6z1EBL7mq*5i_lJPmJmOBr{ zf{`tZPB=U}eNqFrF@mxX7fvy!aI?DXEwdalS>La*-kQYAQcfmI<|VZ^G)?d}RGvFc zQOm{tp?&E%!@OCdvgI=z=UIhgx(M#)AGOc;Z^-=9W2&#=6+Xx59QCMwRt75NSvet7 z1#GdKB_y%dYXVfW17)jTj-G$nLD^ejyXsE;t!Ko`UVY8b3ZJqnWf~mdTMd8IRwe2t zQMA@m0Aq;km0#rD#JfTC_GqgW|25J&Af2h(yhkr9X7EIpGS#9RW7Oi!U52*%T!xSEHd|%V{3lh^zhUwOgSH%(#+hLWZQe|``~Tkt44(7KXfG<3yFQJEllr}d(r|FU|qVd$?6wE?Y}KmD^RfY%93h!ueo z63|MKe}V(R9`H5;$Y>A1+9pr^XvG2~v@*-jXzn6^f1ThxUTy^aX$Y$sN@mgSmy)q< zYj>yUHZIxmaG3~wl3`Lbi@pf&sM$eUv6+;Jk`%|$nE@n0VJ=s8_X*yz7^^{45hN<^ zwlY71%%T=|*YU^Dwf1@vay(SMnTeEypXCsO*JW7@V_66R83cYF(}xuNJ0yC?eVfX- z1PfR!wG7Y!$F|x9j5^o}9)F?`|07CYFTRc!1k&awEL2rEQ@YM8{pP2zV<3$#Wf zaXShxk{<{Dxg^SCu5na-7_1m9%9)Qx3=R?0QmH3-sC3PCMIy_S=Mwm}P^;4N^7AJK zP}Ngg<5CNRMomg&+ti*k(UiUYC=XZ*7IyQGrSN@-XtN}6pl{cxz_0b&sdfhosB-Ty zf2>pP@DddlJOX*CE9X{L+wDGQ>4}!N88BHmo{T3RqyCPl&s#Xe@EAkXw474j;@|+* z6e?^4v>9*XB3KBfCM@aNZJ{FVwL~>sC602McTMIT-*RO>qD2E4ud(!)F93 zSJ+v(T51syx_YKVXlT6r!m`(ya~Rb{F{l6r4G|HC-6@d9Ov!=C_v^>3_Q z*p@SF+shl($(&Oi0%3)Az)y@J{cy1M(LlM=vpPd`lT>~$$B&Ty4dAAxmrrA57p-*) z)oE?G2b&Y=OnlIOMl-lvg?Yw@Xrw^A{Cjh7Y|BA5C#Pd6=Ql$_fLe5`9JAJ@lrn2@ z(b&B9Rb^0jMLfY2jmNp{;(!R;Ev7-mA3|r|WY>1CHJzZnv!{z`v)hqWucRnyQ5^}% z{)4yml9(@fh*!P7U*GtdqQ<5!1b&>*@SuL;27aoh>BlRMH7sJ{rZRX^3Vify${Nz{ zxQKas>1ZBQpj9Uh4ynd2jBER=#t5`&rxWydMfK61`U@W1FCH}shv9*b-Mb6KHI}n; z=S;%ET4HTyD-D^aEHN(Qir-)5rSx^|M7tssUUKfyPaC{koN#kFEkBqutlyNR`U6Wz z7+W&u^kDVnGaW1Ztc`7x*>BZ**Ywbb*f3$5r<)_U+VthnbcX%y43F8Y;M-YAvpI#g za~fvz`fult#UwDTu)zOz@Bjb?rod1Br-MH|TK50e!SkHIV^veq_dguG&TMai<^BJw zgCCX}e(GKmIMw~~>BtN3*W;jIo&PxaPvxHfaqy2p)7^PCubxjeL~XB3^}Kp< zg*SGW{+EMKjI(>T)sAM}0>#SZz#wSPycxkPY%*i8Q>lnpI(J8v!*+1)9+s_3$j{(>#}G+U{#Ta*gV^pgYSOn_y3=RuU{y?S!I!K)U_kvdq<={^_^8yf`|4$vf z+Rq`E|Lx$f-rPZ+Idbr$eh)AG8uM4!p&$ZYt^b-3O`Nwg2p;)6Vi>suPlK!29)6`v z$6ihEbPH$ykAnwC+Z_d?#$TPM^YYvN$H7O_rvb;^uenz@_Ldll>if$@4=?Y3D}C~O zf2HEp#{Me%IqpAeLh)z+EV6|Z8m~8=+JOO+Gu+r?Jv-b+`f{n-2$O74J|1AR_tL=* ze-{R<1Kz4hS|7Tqfe_PhBywv_Uq9s7<1lpkx6c}(P5%KQxBWZdYH>K+@BH%O7_bg} zN#6XkeMWg-u=#Ilp%|+zgXPGal5PjvoI2Y*ddireZ0Hzbfd*0^HQ@bHEZv7i41tzbJ|kG^a8tMT4#+;y@{ z=16*!81jxmkC)T=;FL>Ih`Z$Z_xL(ZKJ@fOQ4zm6J=&Ea&>=HuDcN)}{+i?%DuXN8c0!pI-^?`8xF`MXF)!TL0+=Mr6z@2rmP5_s z4v^Asp=9i}+j=HIyD+vz&Z;w$?(ygxqCjym+E*!+E4VmH3)5oW$YE;#h!p|=AU2DP zc$bUuN!pvT7M%kr2YHB45nDOWWw%3EdJ#z~r-7mfFp}|RUmv??$+<~Hf20T$iFJRn zAPB~>Ti5eOT`^Al+p%K-(2&Z#Nq2O!v`ADYB`4zBabvAl#$j=CnGEG`r~Ot2v&VNz z4EoCKuXcZWw7>HN3omy}v>qxD`B|D$Q1;DwEIBNklASzop$C6WHQ;<#Uk^^_ zjQn(rV_uqUlV8IHs;LnZHfZ@l|EHvgiJ6ImEj% z&trL60$*PJyX*hJVnx~1HdrQ+UkbCooR%C}A|8AZ3DUSmx3Hh9dO$95m<@63@r#u1 zG+;k#Q$T5`cz`BC)Xx0<;n8tOYZZKw2gN^>fze>T6%MyoFWR6^zN0eu+{9_Yf7%)s zL?App=eo6GjVII6BQ^O(SugbH^snrHeSTtA#fGkF{XP44<5Q*QI3X_btf?G_$fjaP z|Le9$1U;7@)Pcp&S<4R6ZY_(SSPZpE4L128z^kg^BrkZBOG1d5tXRiS9v?e)`&G;7 z@#jUgq>-}*gdCv{X}$#8IaJOrQ_;Ta&WYYRfrj07Ov+Y4_!1oQ!LCW``IuaotvMoeh*!v&^>5rx}o-n^i|IKNkXEzQT>G2zse4Kfs9C4=mKph0~Yfdr*UJ} z4bU-^4(bcNJLfZ2Hl%picUhBZR$g&l&&oia)ZZyqVDm5rOXz;RyJB8?>Vncs8Hpj; zN*i}l0+}eqNm+g$&##3GKTwyLnF+IigZ`}t(5=u~h;#tlUFaLbrnF3%t?&KeH?soApY?nX#O6V%kQ$*Ha>FMPL3}$ zCCah7I{?DM$}tGP9BY8Nnb}R_P20S2$R@riN)#dYB>Be4B)|MMBY2PGNbZl8j-^)< z`=n3R)@I4d9bPr)0(n19*#Q%PnQ-$>@dsbZ4oGAFye%3-xG!VRj`44q*KN;$Uf$T^ zAKSIQLJHX)ar~90aL*8ULuRmZ6^)_y6b)iGGJBE6vi+EdPh^VzwL&ei8}KvMb)*)H zl=)i$`LE5FKfBhN%!?gV?u~v6JsUS9F5785%fa=wG}`*j5mQThy#RpFnXOXTB8 zNZjuGL{;jAy2eHQk9!}k|J!EpG%X)@*dNUKw^Qoy*J5TX>BZBxK2w+uL#-=ml|6rd z4scSi$|RmglM=t*jk7ht@sP45>aXUJ431(!qyw|Dr%N)E?Ta^SkdfJbC*I5&QJNH! z)WW%G&~YeIbxSSlMUhzh{Cm;NO_Q+1YO&`E@1B`$q{+lc0!P&iU%yIL{^Vi`Vfk(y zC};%Ekm?^G?(4;Z3u9~g~K)w>fT|E-F48l7CaqsrI{6N1=EpgLocoOBZ*{P-OgawO>!T@w)_)hrjwQL7r&+32&x_*mHe?Zxw|!dGE@B>_|BJ1)z_7_^NQ*{Q7IE~*w3XY8@nl+Lic_c+}m-# z_p20jD)QcEU&{WnMpL{=|LDD3Uq@CP`&9oaIiEW$Wl95N`X&wmRT7E4$~{+4Pu9XU zMH~kZ;&0I~s4&Xxd}{FzwvXG=xL`8i$Z_pAvhGug^qvxu4rVO#FjGl&3lx zaW;ax!jbbE?S8#9XBIz54~xJCvjG5XiXSx@o1jBV#2X6UL33A*@>MwAk0M(*-xhpt zfK-}c#iZT?Ff6xILp{p`I=s0BkPmbRVu5~tG6?RU^}xU70Y5TbO_R-~7R*9=7(}vG z7)px#CfWWzAtE2w31q|vNI(Y#)6G*)k7hPGrKSf+RBR@orH(Z&dI1dT!!r4Wnh3{y zdOn9#|0b7$R3fp8_$4y?wojH=KI_hLK`KYiWioe^F#X#s*Q?t(HK?@aF~Jo~Zd(EO z5ACduGL^>Hxs^ZClfLB+8s-h1%=;XjH=30<9+2vk5cs+O`ox%W)?p2tCj6+(>Cs}B z@<7(3>}vRG*CQ}*Qg|9HYQTXd6}IzDpsye1nFc#hdW`xcE0X&7n>38QQ{X@eF@j~B z3WYOcQLq(^0vf@itjp$_BRK$KcEaX1Q?(!rYzxZ~Y`cd_dIA6=*awEQ#Jw)q`(TDx zzDP3zrc#Cq^9Fvf0iT;u?Hn#ofdUyE{j78mfDbR)WrtU zTkL9Lk=X#py-H#i!(S=HNpg!3U4qEKCK)*L5IvAlN`iDpD6}f^S1aqY0evp13?fMK z)-{B2m$yJZEODRz-ECx|HJFS+WIGn#@kd^VaxVjRH`+~RZlf|{frkK!XCETa%=5ws z!FJ8V!4YxI5K*lpm8Qr|?<9u{9!p;y8Z-l(p%+ri1WF_mj zDx*I47eP|X#mMC>RmEQe5fj!3gF}EPnOH92Q*{yd*d#}r?}81D zdHIZ&&Mq1K9J%$3=uyK$2Edx^9!dya1gqCwlzWfyu~iXk6;wOc?%hlNR5}k!3wJ<6 z;R=FdY{sl%rb42{qz+vICf#5KagckE?`nV18P(g$;VZF_-1(4QO`=qu_SV*%zhN&8(?ERjKhQRGB5WQz5^?s+`mxnQxnZK$!AzQFN z9pGzg{w9ndoGPLnEZj~C<`gl2NN;KjuHg1g?#1Y}T6Kj$Euf5L#%2(~w= z)?zhknx%*Vm}fR}a>T^u8baLz_x=>@2jMY133<@W!|!65`Sr}IF`|nBpWke}pNrh! zGTlOO51jAOxE(Zh{VG%x6asg+FFgf0XZ2Ry_LmUp=UrtgQZbP%9a)d1(5n z#A#43?-N|U-^flS-0_L&lsv8hd8Yq8vo5_+$OaFGZ>Q!k_(yUB-LII=~a?1h}W7937z3feGGquObN_A($>LZQy9>U z&(@ejJ~SOGwS9IxDvhC>QhRK0nuO#YNt`E><~jb&U(oz=te^|~i1(w)g85}dbTWTS z?1B^Sv0&bUliAnY@CBFWN^UV9Do8 z>tVRZ<7RwJ1PqYe{Jl2|c&~>Ie&2s2m{qgP@nw_ya1$Z9g*vvy=d~qpYfI?ymdLv; zu`gQ^hg)dLAJWHu$a?*dzx6}$@ek#9KUBZ`7;N3F*m{gPtRkvLIb*))bkPklv16Au zYEV^c_>gT+@}`shccJ`QW%kAEP5g6@5NwZy1kCuP%=p&IcNW7Td;bu2FN*qPP=ES_ znay?-0%CDmi1=NM{W)$~R5wWt{zXc%+izJ-mavb?mXg;L9Jf(E zJ7^Ny##=<|n_c;BlZTIaLmZ5-k9jl9kTNk^eT*gbcYl!1dyNiarw;$L9y?%q9dz6} z=zM(8{qCUm%K`VopARn-`d{4p$fbJW1>z~@uk-yq`@=%_8yft#o~wI(MA5x}Li1TK ze?+~xM|%!8F{tQa9;pVu`r7^ur<~&<=94)x0j7kvDpekHh zY>XzhefSTBPk!+D<6v2F!DPkBBMOg|yc==Yt@Z2Ds`uSTOY3^;Bx~*xqEwK#0T1AN%mqASv$*U0MN1>5- zmn`K9)2p$PH(?g4QWuyntbuy#(C!DDTxD^5_rd>7;fpYM{rUf<@Y_RS|4re;9r0Yc zJC27$Ue|Dv#eXQgrA$V+leNmr9Vc7u;c#brv5E&*wz^I_Y1S5$O^5^yM#) zi#5ZMr!F`A{Bi?kbJ%gHT_*40AL2-PixR7Spaf++2I{!y)L)>+9!l?|u7mo&w`x%GwbJw;jW{ zP6s$e2>Ne3MTw^eILF9WZ#&1Sjs>_RXno&yq3ZM8a7{KlxZ|37^7IY2bUXhYw@jDx z8yB)Yt9LHs`i|Xj&&M2hP1{^uyRocyB=fcA>_JTu;glOHxc^Q5?py2*^52*RU z>)|thK`ZC}_={^~rwYU+)^TbV0-rY}!OAE1s5_-q9QENNhY^)VU9l%vpi~Y(n|wXF zjiShjntn|c#%A{LihLB9`WvrV|%E`fCR@+pK@uE)-2nLdM&er@+yFq z7~ZUuKg_0eRZ!M0!~;t?U!8GgC+-!aRR7C#B3|vs;=pO|T8&{5(WQ5cZ?{u!{J3yA znRMb#{b%7eWCPAVH!)KrB^2O3Cv=JuEfIq2paJsQGin?KJAZ3*l>*^{lykpF~EKg3k=PIda zqAIbiA97}YO#cy?6DiB)+JVHk6hj4&+VAnbXcW7zvrfS`G%SOd#j9w zCAa;zcFY{vPG+`BTu|=5kF1Sj%Q~4eUvS%_ms|1V0Z*ir>O)2m8X&sp4ToKbuDy}r ziZ3QgEt#u8B>KZFp6BdtVO3^V;!-n9`TAtoh|8f5^??Gxh64DJaSno;dTZ|cuLIgL zIIIW7KybV^LUmLl`7q$f4|g^?AhtVTcI%5$B{fRvyDrYDAVnI>9kKtTCH0JPq;P3z zt6`WE_11QZSetsJ9C3ADpjEgaV#wp1(j{ytbWUU(Tsg{Dh`!eKRcgKVsILDO(zBqY z1n7#8IPQcBK^x(2Swv}0B%Qd7e=Uw}l)X8ptoxgpwdY=8Q}a3*?^C)7J|GvIj46x_ z>wxeA#><9&5a4Fm`(jRAcLT-)s&T1{5Fp`c+xI1kaT9NFoqI=KIa?a*qOE%HSw)u_ zgcRrA#wC8|F#O;LNc_2VDBmpn@_DDv$?2=be4-o1W?!Hu!iX+H371C%qb#U5`9j5V zTTLP&M(~$!hhZB5KvOQn4sdnnGZ9U)fq<6&;OpnbP0`nmiXoTNU74vMxvLz0r~m>B z-&E9NgQ-VUdp_|dStvm4(GqqeE;i%&SEOZQCjPx~YNr+Z=5#+kT7ID;hIy!_ACcMkntvy`Q@yvL;eZE^)SI8)7mv$c( z-_;ew4aGPv73~}M4mZ)WTzJ@4NLWB_=wt?BZu&3XCn>?zV&>0<;$4Iq!n;!W)8drv zbj4H7Mae8_;XQv#l!|+o%c?K9gcaxuht3-7e2xaa#M%Uov_}Q90I?~b}B_&aGY`@lh;miD9D$c)>e&6N=8fae(bhL5m-!v6G(#%Rvp$bTCt$ep& zG(Ny0(UTb5!J*7{!`do7Hb%{l#x1&QRMYxC0g&kPtV{goA*3FU^A0j!iY1bUjetQ1g zx{Gw+WZ!N7st4ybJl&b6@W1_Q$IWt`68Crl9j>bk^L#oJxOtl*8W(`P@u{a?>x4>Q zT=R+h0(VQgjP{@7cHk0U3FRF<4l_u9u^>io*pvgxw!G`&oCU<#BIo_-==TYd4^khb z#hY3so}VbH6bxo-;B8q7Ey&k7!Ok$d_1)YZ2%`=Io9z|_cC6CNiyt0eF6(@gdO2fU zb4G99YAx%T;)S76E%<;~q?hsI5Fq~@4A9}yu73nSrOxJ9q50!W3R_%!sHajk5$-?1 zUT+FF1axw@9|ajlW%#i9P{VEbUW6K#u&_{=@flDoy1gMd#HOCZ0Dn3**0eTydr>Xa zm_*Ns@}@qcZnBPg$`aOKK>@OXaB6pD2GKerXm?Z7SHGPRl_`RqH6lN9ucpmS}p{$9|tH-eC*$xa>8g$(S#@G zTRA}cD7=J%VlRhZvVeAPD^upcD!{oG${I@154B)VH)~CHQ~}~jVbDnB+(x4r-eW}e zWx<%w-mKQlu#gLz=Fey>3vkOrKUDo;C||e@iT$`jdze$iw-8QliTzg_9_2blHu;pL zdX$C8kjh}d@KialPb<=V8xP@n+C=zdC9>rhuEw400bNV2v`s<}y;y-B*4Nk))KW}Hb@ zu1WS|lbl8qj%c`@jC$_6$z4}&RgQnr>;J(D!eKf8h81M~&-D6cVRto~a{mo0XrCaL z4i*0kR&Yr{?nT)@u>#Nj6M)dof9Um@Siv6kqy@x_sn`DtD-f~0^^Ap-NqQ;Nz94K~ zTQT1nRb1b6ab@IbaL{3npERRQgEA2$}_>5}*6K2w9C z2mk2xr$!yDt)rI4__mLh&PNFO^9gvBpZnS^jW%JU$;KCajtUW}US{g`(dsy9mJ4F0 zl0{*BiwR7q5F@flZ6aog@D@>Gl8jSi#iFv43C%a_)ch`b?~#o`(RbnS&UOzkmMt#QY0H769zVG^oHP1gcDQ9-o6dElFh3`>XV2=V@~r)sXr_-Y_Ph-?3(F)6&+MAp6Q=KIb@}J}_uO zk}9CU7(^0;=y63MT`PAY%!ul;q$DDTFX0u}8;$D9&g7(|_%Id<7X&mUYJ4U*4i*(qAtoRC3It!x+3OM?QhjK};YXH? zCEY@efze@tpbej_as{iDz~fZtj*Ef4hI)5*c$$2$s2-c>ecN5;KWd1SUN$@64vmA| z2WSN9P|HWlr3lYp2mCo4#!0D-chDe8+(0AM#5^R=B!qOP;3AYivlnioC)GTs%s9&5 z>zKqN+qvZYaKAQwNvJufYx%u5S@QdJsgPbkB_XkhN_XwHkXMJvP-$4WIgi_s) z#Aq)lfeMjlKe8Y?7|bbAcnBhMxutR_1qzgqEG5q%P160Ns^qLgyLK0_iP1X56osTh z`a;xbiRQP57V%})4@_T|o&8p3(^q!7rss9}&DZCT{3<*7`MN@?*j4hJ<0bEY>7qsTn*51>_RgX^-Vle%gCs-W>0AQdW6dLKV-H=|q-d{WYqL^#0xT7u1_ z*2P@Sw5V1*rNm?S3tpcfx9oJ@+xc|yR|@gHkYe6wnQU!YwGy6&QgJJjb!FIpeQ}*b zS2l=l*jIVb@E0lA$$Rhq(cMbI*5IQ=5@{yw-q<;#AO*l_@7f7Hw3F!x zeLgZRxy#!u82KZ9`W;-YYz&=uDatp#p~Fvnt?&n3wTXWv!pE-a{3DrfzT2#QDoa`q z8A>kv8K{a7-rhMjt!+A(P!T3=KF?{l-NHB4byfA}{sw`R*574C$8_y0F#FQlK2B|t z@{=s_4Qu=?kaMw;xP)P}AwMAHdB}R*d4Hix#}t2v&;mALNV2wbuRdIPGsaczT%pzn z^+*kX$l<4!bu5Fgm6Q*#klI{?y0c^)iYZJOP=hmcE>e9oNuzFkp3!qo*+}*d()A0C zTnP0(Z~qnIqAu=Dh<|}nubPkZmTBehl~Dt%a})L9VcD)L&+k?`zcZ2_@d=gD6#-~5 zrWGMvg#anb4BwLxC73vmnVfgG2R+l!E=)1XCJy+`IbNq3-CQVbmj;Bjp zO&;9kU+h|jtED6~rdaN4$L}^iQ#z}fB>q9uTVgBRGpW^O$R5akBg2lk^TZQS7k}x* zY6@NQna-ZE#97)J)|>p)*^RHi^kE_%BVDtYEE6cc8}QYr$;a-=wLOV}0K>X7KC$){ zb>c(ceP2&qruwGBgqFG97M%!LOtL<^@A|s1ZKLvLJt=hG2L|Qq(~BXO(fxa3r{q7I zeAo3ZZ_HH)wYz3uh22W)beow@=Xzi77)IR-a(EZTex&7=Un3>4IiT#u$av8g?HAWp zZ3gPcYWlyG2mV@f#57EF9{>I<=a=Q2dPM#}|MzNXgAMk>HPgkC8u1twk-?xVYgcrB z*i{B|+&r=zwf9E8J$#X`caHf+AJq3V&f9EzX0P4h$T}blTct8iX$;o|00oPD5<%~p zRrfvivvMGi_jjqznB6@8rid1H6Ss&wlwC{m**L?n#=GD#F?@x-#XCM`s_eVvx zUs-8<-nz#DXcysfOWA*m_+Sc_LWKM50-V&J2Q?IkPjX!JVrYh1y>REV+PS`BxZ3bC zeJ5{}eCkBZyQR+GPD$Td4`t;_bPT8U($;6&kdlvCMTx%=_rbd-!IBzYbiUD&=F6DZM#({@Ai~E6r6F60SIe zas|UrSiyox;qIar&;F&?KP}3tZXEGg4|bY{=_LkwOvs(yj>s+2XgPVwM_rDHkJN=+ zy*?rLU@Y=}%PmTP96>!Q`?G?cM^sF0RNO>V0%JRh$`@_*(~TCk)ckcQ#;Hhqq*?@4DKa>R7-7Q=T11t@rGhOmxl-T( zf-pel=mT;4Yh%e`kb@Rr#$2p8J)}!rvS%C$)%DsWaMo{L9V(T+KNklTg%C;L=>oT+ z3SF__JI3?j(;h;tgxD}TYPB{Y-#ZrO4XyN!{>+EpB16wRa-AlCzxV{2DTzDVTw7f@ zcZ!bArbon(Ug8;Qge7c*Rp2Wu9_;2xBM2&9PZG)^Ru{yC7OIzxvH>KDu&qeTV2m*& zRN91ZfFKfuMW?4EDas1kZ&H03TP&|-zvS zRDZDDw((EVG9Cp$i`O}>>(p~F_a<=K0RW#hA)4j6PZoWvn zydwFTC!@}Xir00tNb%^VN=7ro2W@yM+@T^k&^PFP$|`Os84ATB%~BjaA8G|m;@c>S zK9QMXmAbtE@{JA8R42CA5pAAzxX&@;U}c8;Gen6k?j;eaUV<8R%RHl-C@hL>qoi<; zA^V6*F3Kp@%8bw*e1$E}%8|9z0^JP;xacNo)BK4hJQWpSt2_R^2QH2I;*XYjvJ|9u z<7t~Z85Cxyj-{1BM0OOyL%oCIoniN)u?hsK<%`&SW88=>wtgGVG?Y(U#A&u;5_Q28 z4jhf5!xV1wM+4H{mMY<_tcCGYx*TsDv#cufLx%4jo|J+}^Zw$%F2j)OJQ&pgR5dkQ zc8i6xKFf^_XeHj|_l{MJ0Mf`Duq}0U0FyJx^=K=9zh&VUD|n}9kvkm?pD)%H}HJVo4(NHSB$;69l#eKP3lBQ15e#A{Q7G z?D={X%1!xa6b#e}l?%DIK!&dY`t9Tr*{#F_+066whvIVJtq#mcNs6*u4nKsCQ!}pB zf}@pI#(Yh_Ip{9ch2$+n>Ge?ND#0xc+~XeIgIjFb;z{gT_kwzGJmBN5ZfrIMz3P}f zZ40&I353zni-X9-vkyBQb52BaHlIc|P+W$hxvr8m57gr0Ou!cXGTtF|r?X)66efVR zcx>|#Tj3+V;Nn+5$QnbXMunkpC)NkP_oSUrJ)7!W%u=wXnYIO*MHX8xr=3B=%$)({ z4}gB0z~JD0c1St6^6(ghL$wgGKtm>a7je*^5iFr_5>&|(RIM-NVCbgk$RO9Lh&5Uy zZ0LzhC5Fu#l~;!E+k7mge7ScJ+0XYF*hHpnma#wz`LS&31t}lMC`UGc%kA!QPb^a) zpcW0wCRTDTBO5F<=V=8JmgN9B_Vt$>lX>J~Bu>2qneKu#h;jKCFv+n)+1AwQq0U3NtF4L)Lx%7HuGgNoKvLaL;^%Ok6CZF9(?D333u;E+ij zuX5Ji`*p7RFHSq(Gmrx-<>lLH_3n%Hev?vB(G7Kvq#C9hu6}Nytx2_LHFn6WwFfqO zwKVihH;#nX_fJbd5-kLi;6rN?o4W@$OjY55yl!Qn9>b>IqNVP6Qj@)Epc4Y{B_Ymh z@lNky^~f0okoZ}<^BlU(NA-p8UMugVJ(U*Vw0k7H5DOkZDaZ^~ya>d7x1l}r1h-ys zi*Lei=_9`(fL^L&AFRoxrTV#U)9*>VNaLYC8fOE~O8&Aor>|H2Sm=X+B%c zzKxwhGo818c2b184lQFBd=LFSwHn_F2g_lkc2+D)P|4g`T&js1E_*}2+0XBYcpK6h2~B42I}0E*z2`2fqg zLAG0i@Vr6Jra|QFAo|xJC_IEaJcK_t#B*ziFKyy26K@L@ie5zgR|+b3D%Z-LLfWat%_arWHep!D08cE&>6 z>2}te$l;jiQ^!anG7+O^d}FL`y*`nJJe7mvt0YtrHqPtKT+N`I_f&-R#XVLee;25dizMr zB5p#;X@XyL!d7f@!g-P-crv}n^sPB)-ixa@!7|KQWl3Wo7TGp9>f}6y_%iww_gZcq zDqXOxA_)t>$zc{+!?zqh}afn zY%OJYcGAfiHouJBsEcc7IKjnU&%Cl4Z5NiZrp&^yQxC=75aZ6rhvo}CmU48di|@m( z-?G>uobNiub6t@X7(E>ml2dDf4D6onPC`PJM#3)64bIM?f6sv;^EjP(yu&=t?RmcZ zc>%QSx2Aa!2dN)F=f!juBpeo`ZZF8>FUU17ob6pu`n^CDSya(kRC8E7czaPje^Ik} zQTxrJ&hJH%$daDUl7YjL;q4{k{3X-oB|X@jIa&spASwELNxX90p5v9DbF=lwQ!SzI zLX4!Sq;8WW$W&#d-g|-? zCm}FixH#D{I~^{6#_eSR`g?XYosq}Os+Au;sJx>#Cp@=U$;@BLz9Q4zuoAVtqA>Kf zAfYQ=cBQx+EV{iaIkZxS#yxzqD(XF6f?i`4U8}miR-3<8-@MlNX07@68ck%qMQ6Ru zVZGz_dRP8>PxE^3oAv(R>w_X2!#W$I4jW^)Hzx8orkXcq-fX=2y)h^9aY5(flEcUM zw?8iDe_U<;7!p?pDz9Z7zxVVu_@Oa=Z$t9i6>t(jH2|M1(>|?3MXpv~UN4Bbl5h%m zskBSxO!yAg^3z(I``EEDKmn3Yc=pt7dDjZb@zl}anot=PbJb9~l89a)_QHm?ZgIo! z;NRv|&iFaKvS1WyA8$VAMPQ}h>n*kVBF9YRIQB`}ZYg1rzsnDs+c9Gj7?phjuRmZ> z7|Hd5r|eGsU4NfOfJ+A{T5k?*rSPE&~j?qRHvK)Tfj0dOLQU$ zW*o@V+=0c6f8~Po0U&v?0+Y|+`uH1+z4Hu)C7VvW)(v8xpTT^T;a#OM|Fb4bIbqfS zAP)FmV_dH5w0%AEJ8kXnwf3UcB_&rj+qhVjq3xG5i=Y{=}k2Sl)_4~><)X$IFcfdHEXCZR< zx-T^)$(Z@Kt}`)HZ=d2)Cdc!AP)7$ouJ`}*>$rb(@5lA>rFjg#fsFb<8*sG!nujId zqH@s)NIJ*}4frIcyW$5yc$J|(zT;#mMC_3fnp?kiqBsc3$VDPT34{Il34iNXzy$`c zf>S0l&ag*h9QHDPPx>i1)Xz~krSDw^w>%KA@*SWt6usGj3f;Gir{Thc9XmQQ*zDLc zxC_JnHWWSf#(rjup=$M&E4oTe#4s14tj@15yZJ_A%xOQh90V@fJt<7IJ-D4e_znp3_ zlbL4XCue3grW{k>nA za}Kyr2fNTSSG+^ynk!_vC4?EY#Lx@26p}D9)}YtvUm~;jTQ>&|dUK*5;oqLXvIGvc z64BM93VF!AxL!O31C#^6p5u45jo5DmQwqTdlC3!xh{=Ohl52=y)c82wDKSw88&H7p z4R7lzKrUI#9SqKSdl#Icw6kN6n(Yf*B*Q;dbfgEO&W^ah#$ZDon2rMEt-}jnZe!nK zaE1a5t^O}f{au#a;C~+R{fXI9V445Vwf%n_vkl2(^N-ni_HRdgsdEqh%Mss!ZVsA6 zp(jAe{`-jUPt5jUY3s9p9`V(z&bOUlKZd_Ba>9Q`@sTT6HhBJN32PaVxR4sLqW*HH86 zt>{r~$^=UfHouxfidQB^?AQ#g*zE4{rkh{Sa~x6JZ#G^3ge9sZTDLRR>-!6j#d!7i@F8=}KQUVpo9zFM zG24Hv?PX5t&40&i_wx63NWJp>J6zji_~;Q7YwUUXi7Bwz`r_Y?`2N3H+q)(|{zuIA z%&PuhG24f46gH|(PHE?0@=DS;v5C^3l6vl z5y1^q$88*VYW{OD0%5xpi`8+BIA$BMKA3*EwQnxQE%^=Kfj|9Ou|TdmC@{C(8V=td zrEd~WqR}wK-AJLW<>R4N-f;(@KqSoDKv*%v@GcDvkg5A9Z`36MGM$rfy3X2ET_Y7m zn6MyAr0Q)J!z0NC0r(2xA7!N_zPYdfn#+hveIZnMv{HB@b3xQ7#CY5u2fU2yV*3!* zz`HO^wp%w-HWF*FYP=W9q4Lh+CP~=Ukwh4-Is?Zuld=<=Vr**NLAMv0QVmd|7GZD| zksDMi^_1f)xe09V&k!Yu-HGFBkZln+M#S|H){IwkQKCPtMTUgwCv!pURZO07msnp( zmDXL>-&MY=YwyPYmIV+2U+0qj?`L4OjE-z$6MW*X+}s-N{$4bqw(}&FV3{J5ryWDR zohzQ>7~Kh?hK|96L+PsRk>K2Qpi0 zS4@NBeEe`G&8_;5_r;md_R*^wwU4iowr!%B@mSafD4cO|;x3{3P~3(BFd9Sc-tCO# zO!B%IiaWc)xK|X#EKz%L=|$uFtEIE^&?;mtaKR04Gz$bD=2{qd`@JpQv980^^(^%^ z@`X`}??+SXSS1;UFTPX9qMf;MQ*3}^xp{XBD@{;ZolIhN^cc9_HM!=hmm*X* z%oYs(kVI!bO_)m3yELrYD1x00-fx9A`Q1W3e2(+x6{x~apR`E$2G!Oi)-f@xIHI#1 zUeWO?XD;Tb;N@Aj$n#ta-1_VHl@coB+|3sSrnfuP`zsT!_b!TPag%|s5e_EnF1Hn{ zn6EXA-f;%FN-$!>`TbQIs<7|gSljlT7Pw$&FQ4TNhJ^!-D(Q*$V#5OJ#3~J1Gj&hB zt*lC5yzopPy?7TI1@FwVY7i8@p2NIaHHhE0JV$g~4|3O>WfhKqv1_v6n330(1Jhl1 zZz1xeM7fqADU%%ss_01fIDP(}O+UjM>R`}UU4m?hUj}XHt|Hkn|>)$;`PWRMfKIzyr-v~`1}N$mR1pB4$=bE4rnpHLP*7{E(nV&U-#4d z@$tUbRiUsq#!BnM6IJltJ8yTc(pAMydYo*FZPqtRk#|N1FF~)*8V4NjI*e`R7$CPY z-XOZA%U`<-coS-VN9nNWq}#Xz_A88=9rCz-UTtSckZ0gVO`~^0^L_i}D-eaGS5@Bk z_9U0h&)1JUIR357?$^Jr?Z%3chi;<%J#~d8er>YWze3B(!(I7Wx4Wk%9b^Jn0tw8G zInG<*7%Qy@aaZoC0Ia6-LgUj$@9T747LkJ)jgS0$rrhW3 zzdZIiq)Wu?+HD-DD%yYR$!_`XSc8t(E{U!0>caH+T93e3ROI@o)1G6vczT~*(5Ew! zno;}t0V|BjY9!-9NkiN9#L~{sS)a--1buuy`ZkT{`M|G_fsDO5%uB{Lf9c>-BID!|-)S^fWLRds{GA7l+z(h<_>e)yLmcM_J0%~AzIl{V?(~mbsc*Z5DX)O}lOd5#Y+>T}sxirgikq8=Ic8L1W(=?m4n z-WBQnERs?h0&IF%()HaBMxm^bL8^f<3?^fu9G=+4rCln@Y?3CcN4pmpWk*SWbD`t~ zNdMrC85j+}w=CIzJ?7%)$g+u;^6i)kzSw8#u~jy)2yv5INDK6YoU~|sXOyEnfy8WQURyp;K#UQ@#>GP~G4I3{ zzv9v?FdswEPO5*F^doqtv+>i#fEyz3zzHEkL|Dgq!BNE?7BbGdNq6SyrT>&v2Y%6Gaq1#O^AC zw1QM)EGKhMMeX@_M$6iekM>pjX= z*VF|o58*HyJyPE|pFRJKj5rBRFF?G%^b9AOmpuCHB|RH%iRNG+!njERw|!8VE)al_ zr_=!c+=QJO*(V9Wbz{Zb3W`jotKO=V$r}bJ5?E3ou;ijLV`JpRs&ojS!`Sub#|5jM zwW?k1sxJgqd*oDKYN+;_uD-HYO%|;2(W>#YtML!43CO9r*-#TSU2}V{h9X!iO;2E# zt!;o*I~!Lx71jpQYa;}!#mn$r3p{qyPY0s!B-qIwRt3WWN>&btke5;1eCk%i#(PQ5 zdasu7DxyqK`21Yi6D|IV9NiGGp_yK}lMJnH5EO4{Xx?j}2{tmP_BOl5j=;vQoW`Ct zwYz(_(-5))(<(!;)!b%yYYWJ$M<6s1Y}&)0C4w;w5`5A#2cDE;G4u$Bt=}4IisMzk zE64p-9^1woW2UivIn@t6xfH2TBU-)GJnF1g^NrT#u#-(%q0P`-8mE`|j|Lk0C+&eA zd=)`|k*$|3OQT4c1ngR@!`W?Gbfwh)C{RkT~x z>{|~8wH~s3sovPCJ=3c5vy~*&rl;LzVBcmK)MlL9X4=?hKGSymXPbpkyOnmkwSD{P zpmrPkJ8Zp*<3ynmdE7lSz3>9~*N_Iai`4?J_60v=En^_J#~gwJ0%%=`{pSPl3R}#ENg*5Dz`<0Zf;WbW~HAI z?d`KJgIxH5t#+*$?W5W4xS>Ph%rnJ;){>tfD(JT6bdN$y&odz`fCP%{UvVbAs-Jn) z{PPt}sJBJCx6Qt{BdE74x3{OUw|Azu|7Y)@P~Wh2->5ya{Mt8>+voHd67aZhc&77> zQ2&B<|B`+G`=I{i-2TUAnNS837OOQHtT0OVWPov}d(O%_OxS6oaf<-Fu`X&0!%8x4Di-F3fsBa{&^1fvgAf{Udfg97vsvqppt3itWskgW2{c{fxM z!6ee2=QSvy%K@0b!k&1-Y{tHxe^Js09$;R;uXyCs=5u~*VjGDVUgo2ifJ6MkyIpu~ zJB}QN7ve-smio5viUhP)NmK z^MYiVt>p zlplJ;(dN=M4Io(={FwGl#GIq^D{-)sjGCh%7x+gVf)Vo?*l`PF>Se6EA<`fZn=r#I zvxne{y(W6`R_|a|Fh%3b1QOcU+)sXciT(yhALH~!vFYGA6C%+%pzIi`%DlHPYLH`N zK;-v4L1f`S*7ofW*$Q4Ls4`kn4qtc-WZ9rm`w)8th!z^U(H)~AhrixE#O9sBha|%x zlPr~(7vG=5k+@zG`g7ezMDlD$}x+Ktl(7 zb>Gw%`Vh_PAJknYTT;E(}6-AE~ zpt=%pwySOq8`PTuEApZ!fLtIa()JRtqz+DSL8iwF(7_+p*+h}6`7N~vazEwZdOT38 z8{Dsm8xp~Y4vUqWoR-~`HIX4Cp-CO;q&{Ac7w*T-Qjne0O^-(#Y0M)=Fksu^AO!NC zQ{Vp%to4sY z_w+nd@{*$vuyH;(A|3qs^x9ujUs<(*71RG;^9QUQn2`kibx#8ZN5{H_fUil{&hq1mB+>^q^etQPlWAtZ45 z{}5Q~D*P8%`zH1DVAZ}}naaurJ6`d#Rxq4cv;6JGxvSW977 z+MWyJ{p0JBF5g~=JM?jTG5;oP=gqt|`iJg}tIp1w0f5%`4*KnR?|VJplQ<0+9R@5z znZ&KOW6H-Gq$)`jJo3s~DR73|NWyA#t&9ASrb{nHZ3bLd1y@;uLxbjekDRYr8U8ez z@L{&X;qdH3`UW!G-UXchzIVa5_$O(4`8Z?j%?vXQ zvWNIDVC_GqzOTFcSni%iZ#_94$c3NMP{^d;i!To~V|uqpQB_|Q62st3@0K;wyA=e6 zGm0Gk@@~ywBGmtQw=D5Urg!U$;LJgW`d{L$aJM>9^p}wY-^cJH?RL%&g64IY;;k5G zy@+=$-l!w8O!1cbTco{vi51}tLb_Xi2z!FN)=ETX5)d zqJ^n-@4;Pch!S8B*{i5h8@ zveT%nTZw)gcFGpGws8B8=puk}upXXv>4IdEjk1esgDusk;JDyo5L`q?*L=WaU1&&f z1Pdw9FO5=>d+che$%SKJY{%~J+o0yY570<93%PXHPgh2lw`VXy^J^g(Uuqz2IuvvE zYY|^xso|lXp*UH;puqJGjrzi#UXriv4<>9ll{wso94+YjEbVM+TG?|rv?MQSMpY-f z>bMd)%rZyU$ce}BCN#}d`rQz6DT>F)9wPn5^Wng*<$%JwkyAGv_pMMYk7l$zSKS~L zB{q)thf=+9XJ_MN!`U&pR}3F>>2_$8pT!B!gqO3-JD!bP`#5Ysc3>sxcoJg+V z#juzYymGHwn1-#=C5aeo-pSB8r^;ithR%Ykr@Jj2dEFFG9^B!?7dpHvRnRpQF?lsL z#(BSzy-tq#w#W89LqZq!wJmf1uQBwem1kl!J~-PmQkp50_O$#!+7b&>vDG`kvu>wo z6_PY#8(jQIz*5BjSJ>35b4f$`Fq=i~ttpWYmQ_2zs1kEYG|r$Hag-tJD- z6lZ;j*ru^f@1c9+f5&HjX+Agz99h3(a$vK$TAu1guAt@4KMa|yvYjn#75gr}?jUhS z;s6Vo`FEU*5$eyb7>#>XAU8sA%3?YF|N zrj(1wdLN*@5fv$ywT3&L>O`=NY9Z`G-h@?Pg!5wA)hR#I-J_}q>dW4le`&QATVjG< zi6(gQcsm|qh%7HF=y|axRQ$uM6``N`H2ld+yY9{lllJMx!|I~n#iLk}t#L1K5_AuK zwZa!F3Bh0W)B2x>u>wPUr>#S{2kEk!wCdIK|ctRxRC?TvsxUiCyWz(V_rZwq*AX8t)w}< zyLF79eSWv$>$vm7|2p;k1FUtRFY;5A_NwZg;(V=zB?a%)P3d#91zQ)1XeaH>?0XS! zy)O)o8t9(>QC`YuR}#y&_z}f%^)aED&iU9{b1_F!$L*^N@-(GWIYNEMGtI^CX8?@L z{?Mvcy7)%khu7@N7{F!w@an@u>C3FnNMw=D_eLw&;jLV%+~OOXLiZ589>}N<^7oH= zmCu&mP577MFRgYq+uQG6eYEWX%1=e_+b0=&=g57>r;K~bjSPT~0#&E5*ihI4DDW;`yHrXy^dfRu9?_-$ z^#`Ta`3_!Pp~F#k%|E!-3NuAU?nvAa+TM>n6cX{7jY~OLA{hPCJ>-U1&>u?{Q<9Z* z=Wj`tRJDuJgtVsGk(y3yy^G<-2>ReeXr+&DaYR^5FuIlqE;ynWs61P9f#$}NsT9OX z4=y^zOU@}=34-z^hi6xYAJk>>nhSR?yzXiftUD1w=8N>{5|>kF%DO`QJ>;)uMh5$k zg97C9o=4sZkgWqvL*eq50-_#@>0B%QCs@l|_)=}6W4WBuZRFN6qT8KqN){=(T~afy zpx+>h8ALbYi@De$^q^LR#XIKiknaaVR9Tngx{J*T7NBv#Ph{@;UF3oU@H+RF%;LYF7@Ia6q;o7fyQ~C8Z{muQ$#q8b%e1%Slj`C zMm#G@NBy|YWzUnKQ3ziE!;jH9N27R25{ZYMBDj*E4g{`DI3P~to9jqaaYDX#!~(Wl zE$qMvf4)I76~2N)*kb12ga4nOQ3NrUKJEom6k)ds;=@p`#Wo1|Av{h`=W1gj5;*j}Rn|zr+!$%{-&o;yV zMn*tZhN`cV#|2ctgNz_CjcIZ+<)L(#ZRRa#MpU=dbU|ipoq{9Zfxnelsr*@8$;fm1 zSx|3O_N3%E2`RIcRqg|Yie_7@##o!^WbSY&0KmOyMJap^!Re3msz;s2bw~TrV78cY zOi41bia8B#BC>CwoDalncj246un9c8xml?`-kCUG6s`M@(`rPGdVGs2`M1i7VS${3 zBU>M08`*)_?Ly$~6={9}$3ugy8s-r!Ib5P(-@sV2 z)Po3YqEV&Dhb+E58oGvt>mlPZ2X&SmO^xnr-uc^0Rgf>wT(W>OOd}P49TT3v>#Z95 zh>mWi6i8d15az@w+(XjaF=`c>^aI5#!K~8RiBL!ZP=HwJ#`@Asg{ka8C7RlfzNEsy zu}qbeZo%9-e&)!zO8~!+xV||e*GvD>QIT_4Ef0w*lt?uj0?}K5}jxR()=Q$@ifZ~b^EDUxal88~bgxw?_qY(-~rxK=! zu7i*VOA-}g%BLI!E_vM5rsfFfKKNTZrN;>{dD;UpxTICp+x2ox+te8C;TQo-qM~wY zvDIW_x0q}^grhPWS4cp6_Fw>Z;0`}#bmH+7m%DshS8h0hcWyiZETGzhm@g?0ZeB`B zCUES~&@d;PaSmXzB2_5(Hj5MD1t->}=b;>=tb>xxMP%-xUhCc1MIw5I2?P^CfY*S@ z6Age*Kc0dkd^iKCm^SKeK@{0jfb6Cwj>>`ERQ6y;P~Qw|NrT;#szUjT z0t6%{BD#-O11&^2bQo4YuN9y7kmx}+IBLyOZ4$mC2gx@dhJnjukzR{J%n))Q3)f3V zemr>}9|#8cqj@801n9?{j@rSJ^8eVM29e#Q#`Gxn787s;k)t~F95&ym;$2&fz~<#w#}Zo|vp@&|tH zz4X_63ALxO1?GFqpYtEVlem+=n^la5(+p?m`Y&2m-=X-l zi7e}J!YeXWgpLc^o!dzei=+U*Tz=);PV3Le9*bsvBW_Y}=OubpsCieEf`2e0rz@^k zo<7*&P?*&Qbj90urw4Us=5}W{b}Ra#B73_Z{3SuElgHgf_M}7G!+t)}4elt-C6u?a zJ@!foF_lpd#1n}itrLD!48 zjkqf+_4=P2eH>QC-CZ#7X&smSu-8-X2^n(k4>(Yl&YS=L%VIgSZ2ShkTH@StQPWZu}+-uvOpr@&@<$JRM4&9A^*C z_9T`A1;|^xIXxi?ZZ;>d2fHtzWx2{Eg&)n)tO^) zm}9#=2hX45Y@S2D`R~Bm=6Rtv^ZzmRiCvkJxPt2vmJEv*nkvYeo5c<^9f_cf{&pVx zKzS`%`F1By!jlR*IA$wWa>xR(vh|U~hw(j?T`B2f>R7b718*ugW3mOgu(jkii&opR9nBWl0SGJ+BO0SOn45|NC2vkYRaQ|yec@fS}wBoOlPgiVXgYV1#53Bif?AO=dU9Q1AG2o zfwleEGNtv%*q4|4r8><27kl>^)a1W5`uG1FKY|K*Oy#LQPKCT=LmZDf|eA%rWf~ zbd#C8;+XMP>Bw~KG`W`Zy=gc--s~lBF!X|*&BdM&wRm~9ia3BJf2bY?T2s5 zTs}vu0KUQ&R5-urrpVr2kM%paeCpoVPZ5!FC(KVLd^VkZNBtADD0i36cgxnA@MQe5 zJzDJ>&ljgoLA!!C!(B*gs&F4lcKb4`n<0D!;$WvVKEJC_KWA9yGt&aQckcXJ%i zdy$=I@&~ZhnLO8>1Rc8kcR#|ruohg_S=kuElf&`XA5|cWFgL?F<9q$R(sL?MfV?A1 zgFotl>$FSJi^Q`~B$0i{cG$5KtQExfk$*Vv59oEZd*aOD{{Whe05OGHuU_IGf98Vs zNE+&{H;DbLk67pJ=cuQz8}@Vbnv`6fy_|M!SUDZt{S10~mQc@l&t10O{`h{pGQ+Vm zeM1>Ro};g^9<3>UP#shKl`hIy+RylYmhtleW91QpzyZHWp2rJ)lPgN@a{4Z7%E98i zq*8TJ)o!(^@Aq9&mJEKHYtpk^?0c0H4KU&8rETt2WPfc-pRo0XAA}10IB_@PJIC-p z=$Lu|LSJ7tTTvEsJ+|P`(2^!+%4(slXd7B*MMReK^;Uu~pblyk@i_g+N!X{H7W(b>?vQXNLUd%Y)g@+}}`bx{g0 z3V&5I;dmchHFHrGMkj9O2EpmeO833WmO3k@%>Q3W9D%{ zM#yRch$~kCr|ahAi!iqPA*Tl~4m$jnLtwQ=e(!jOo}tqfOfg67e($ou!Pyyk-;9DH z2U7fdhtpa!@QXD09hmsOPyThIQM`0gT?N*=oifilZL%s$uvu_ zB=Jy`eYr|McDN43Yz`tgfM&Ym7$@Vs{x`zNH-h5+iIH!gljKeRCv)=u02KcLC<^QT zti(Dj6tzj^EfjbC2cY;5K=B`d;y(bz|4o3xLz)$+tH)m41}Ns?h2Vl`PW3&D7y}bs zLAy6jwFUjSeV{E+Ptx~3XidBx;{veISk72#5_ywdfG!ioQ1>OPGedkWwZxgQd*{r> z*H@aEWLot7Q=;XD2cGTOP1*Nz@{H8ym05=EAE!7JC?E2o5Iw% z!6@HF(hN&c$jid+a`n?L8@tZm*w?mmwylF@3DwQ+bHBwxQN62M;^1fIsU2R2w09tG zCSPjeS`(_+5;M39HDNL1pkH|Or9$#_nCHa7?t_kz81ieukG6I_=!Tn@KA4Yc8&a$t zt)exIrX=6+RrO03gXM**p5Gt3yy+^(^F1_STT?5h;~AoLMnTWezb7CoRgf$VP;cGu^*K}y?o`g7_`-^TUY zLK_K-+4OI+X8R62IxqTUwu4^bed&_e>ax4Pf!ra6du6ug=hMSWFESrMU3cnH&kOG} z%I+_?F7Q4UTAW}TZa&LL_e?xIjPpDY)qB6fcH{7eUd3PBuima5cIcFyd9bK^?t;^~ z%`y+9!LHp;P&;jz9>r6>5#XP^aGQNN6v}I0hgUb*mT%BYWW`I2&wB^S+n5R4O1~kI z;4L?Zmv%96eBnK`LoHtwq60^I->CDV9+o$-8aq8?`*B{Kq!7f3ZLI@0=&Z(&-W>UX zPPRfEC(hoMCG8gY?VV4P8TONp5BwRUm8@HM-sO~w!Y3|YWWP7dB6yO=ud!JB1^_JD zf=opZu3lEyB>OQtlX~gu;}H*U&B+b?@CImnhsFIp+Z2AB3V4u#2I#2RI`j_)Wk1dt zM~=iS^l8SK^QCwN_<3RV;-S#kqdKPhdTkB-19-=5{gNzrmv5Q*-FjeTr?wOw)UJDK zNtH7?6Fp72U2LGRuOPb04Gx(UTSuum6VBMm~_#B}|dK_$XJaJ9RP>kQQIdozR za{jl?QNb@zLryLYRe-xIZa1Ioz2WOnphhBq?fwEQPOsPdoqsb*s7f8#En>K`RAcNm4?BVx@X(gW5 zCXjM&<}uSJlHx3tktMgtTrQVY0UI1*x%`Up7yiNEFdOE~i_B3tj%uCEzg&+s z-qtt5PH*cQKo(nnF060-+SWHlgP?dLNRwh$&x4n@#2X0k{>)V@R)ZRoB)8}d;L260 zZFhqhriKUK!srIANETlpNh{=CEJSXj8}Jld0-|l98x%ZSa@t?u27_Agm$*@vs=bKX zv7V2NyuLxa^KFNZ-P8~yhp-3lz zr?1qrV_Vsn$O=1+ES&M%QZ{H_C_9c8+7p2wcA`1VQ(U547Sc0<8aPY%`blUjNPYz8 z(){c#t(4Wdl$>~jv{-Bb%NolCf6E$H8e6hPoh82E7J8#EkfjK=cZ&KkEfxP$JOmrCZ%`>_B4WqO1C_Xx)SEeye&_I zVfzRMHA-Mm<6!O}Ca#Bu$>PLT8WB8UjKWgub`n<)5F}%Isl!&SrLN%4lVD|aZ0?~f zp2gTLL}MVchjw#`rNVOP32L$cXRQyQJ78Z@_8VlhPmb#hH-bjuGd2q(Dn za^yjWhU#B=H`y@xcMwfsBIA<=uNQ`(TPKVvZ~74n@my0LShVEp0wXk@QB7)w5zVMc zH`2tjPL*;)~~zfZLZXaVX#^jl3a52+G zAWw3@(x!ci5@D1Sc}*(un!+rtjrVzmp>>CNCdd729sN;ExuYFL8K}0&9GJ#1)nU&9 zIg+hQ}_KjFebTLHtxt?zRh>18#{(0hi*UXQFI>>iyRe%;R};d9%jj-DZX=K7GQ}lFv%slUE z(@gi+wMa1X+18xg?bQUNJ-KfY!Ij3R(w8W54)xetVJA71Rbuj3(Wn!L3N+dzEI!4I z?^u!?zu-K2ZS2W)BTzYMq9YPi!VYO%o#y>-01D%@J?3K{Ohi7ycP&nw`3N7iut@vJ zZ}%R)YjNiHM_ZAZbJ{cK&&*uBKXW;4=4#E%wecCp-!o1kvp2P8Z=adHdw6!7P0z<~ocpu~(Rm>f zC9`|D8ZibN7ExgkrAL*=QE|6p4QyDrTqEeojRd9dcj;edbyGQ290KdEYib z;V7k{xghF1-%(b;S1;6L8AsFfpt z`1fgZ3qfDb=Th^&N*Z`>;}sE$X533(kRpw7b_-5%Nd+fmdUvleoY~1aS!2Z)-bba3i{*3Fq+#K8;uV>j? zSj`|~*e3zpkv#t5DOcre`$8^vB2F@We7FK4u8|WP8XXhu;MKR2$gm0%}Jat;Z)eE(6WG? ziUO`}r{a}64;)R^sr=$Zybe*tt^=?4J1-h1VuTU?Khl$KQn3r^*r_XopEN8`hw|GW z?;*&Q6&@3e15@`vNf7HP`VRsFK7^BQJo13`K|W8e7@L^y3XdHw%9i8R7)N`bqrTTq zR#)9N_3x~B)KhypA_CUvX2zZUwp6+iZeO&Brj%_*!xW=_|e$XcL+T z@60rGUabMh(_cOCLXYsy4>%oqe@O}9=Zy*FXVM$U#k!FiNb4CvgZE2?1f$_m?z4;k z^h>l`TVtD{hq6 z%&SA%$%Ji&V)GfyP&jQ0P7biuf7H_{ff))R)G9!Kw41T*P%QOE3D>Pz*MrQ)N9NMk znI@kbiXVB+*kUNYu*YfTPRYUyg_ym#IC!BDx|WhtNRL)tEPxq`3#=mhj#UA+MeTnW z3fqRzz+O^4E-?Tt=^T#s%7PgR>-~f+hT?YL^FIuQ7-Nf}5M%5y%sg30xN$c1iu;lEhJxaX)N$yDD1{k{ z*EhNs0pTAIsMAYWrRcIyug<-H$D#pRU*~)}QDG#`xUU6H+hTr|6Xxf8jx4SM6YTKo z(!ATSn0pr=zdW zJs`l`MEA3qB^=@F>7N&SeoTMuG5ber0$%0>9{!)!g!SP6RCfMvtcmacVoeWb}ZI*U4RIA)QNwO^M9r+}x_=#UDH2 z1@yP&+~kwJ``J823|h~1JwK>_W80c|N7E@bQ;3KopW?exP&^=adg0H(=oh=2q)fu- zO-CXs$fmqkZWeQpMHW8~!m{(xjdi&Z^_O(OxfzBgzvCU`tn`Op1gr_j0u#CHI6cr zNwnsk@RQlHCXzju&@y}0*nlGnZ?~<9>}}ck|I5~dL)zrR{O7H~`Zcfn;PznM0Tw1? zK3{vLqbdKTWZ=I)82$f>HIWUe|AMWFM}E^BeFs$UgsB{qe)j#<@Q;oy+4)}%M*ll& z!t*leXqD%_QK)&>i#K{VZf&s=jOU@Mdhd5B?N@Ks!>W28^XwtJN^lJ>K41Z zSMO-VPyc`f@jc_H*3Sajdz?_s4;NR?YDnCRxETTgxDU3kB6upioH7Nyj>A8H25{ZD z-FRa(oeJJ-YZO_d`;);8h~aP0v_oJqz`!_z5KodXw+jz63CZAkIw$?u)cK+aGli|$ zT#9<3FW4OH*|<&Oa-2INwrFvPy<#Br%tw zDh+(a%QcSxzzs2fnweL~(F_xDFy+I6Fy5GV^^*^Vy!~ZQHyCZ;l|NY!? zB7g)0F`o4Zcfk^08JB?yFEadY`cm8u%MW+cUld;FT0ZkWsi>E82(Y<(w%qaSI4`WwI79)T|<3I0)si4k*8Xw z?L;bcEG9mfJh@~Ot6F)w?ox!ZM%2#CuKd#$fu9@$wL%lw$IZ0?<)whc5QUBi#7XhU z1TnyQK;XdDTR~Dpk4c1yAO#V2MvW50LMa#OWgYZ%G`UD!#z~QlsFa z3@!MCLcCLasi`WNZu;pEI-&H$_~|<(`@iKfm%XnPX6?H??pyE0BnRlZo1S~+bz4~v zYf*TbJOMxxEJAbFjWo(plwW9xy5(vVi0C`Q@gwL?v&GmAY6Gr8SVgWO)X{rC0o$Ds z@WS5tF}L(fyZUSPFD3u+VD#VCM2*?5uu1s2`D?k&23;)hK}f;fGYM@AZqs-DLe9%l zr?scWP!kOZJt7M zlNMds<4@X~nz7K!Fm=ry=E|{JqS|TIUJ-oP$GSH~5qkls>p!D{(q41I0QBx%zADP; zDJoaI=-rL{cGr%X6onf*oF>i%d_O)a23@uumg4PMwpw$Vug^}B*DLo`^bm+&m~VP^ zWa#{}{ZUutqL~GrNChh1-4$={aEWPLUfsqkO&JuBi4~q-kC)&bQuDvXf2vCA@ z`ih2m?8a1Ya74-6Gmuc93CcNJ&UrrXp?v4T7YD+?p2!bhTw3+~!xhbZ%j>SY8gG`> zR7BUuD{qADK2dH<4i&cB<3Y>;{MlG+q%6x2==R`W%_D@0N4bH5R~Tn#uUE8|O2slm zosmK-2ga954K@xt3A%LO>sd})-ollfc-TlA$1Q{8va}EUL_l`76YoTtY{uzZhc7? zpMlC|i>oD~<`c7y^QQ|JX5N?|7Hvb_JBnIZ+pC2HlIjjfPMBh^?retH3AUB5HtTzR zBgRb7`aG`uzozW32v!HBMAdqen)*{DYVK*L(Vi~H3w^`?XscoToNl_AqHKSsHDP1L z?ql1JD#j)~ymn*u7-MaO@q3SZ#{8ma?$Yx96D_oRjCZm>(m7fIEBo7=#j2Eyn=as> zY^1LT&P8@&0z&~bKLA)WRj&{NJE6@hwb)inMy^}cJ6?%RiX`!lmj{#JozQUb^{ls& z!9Kf*J9`IZh2a6REoj}!E9ml&`P`-ZRA+MAj?(E%`vdF_w(ZcHrW_DQuSW11mixHx za5xblTjAuJ*nk_Qd7n0rnV9xDOY%E!;djx+?{b3QRRd-JBEJwbZ%01=13t&u;JeC1 zM@cW+nD69=MJB)1MLJKuSfApQFT^4ZL7_@Z)3EdIDfkj4)74X*!vRJn*L*rS2nqBYp? zCi1Ka=k;>FI+RSdIcou4wXcs<=n~?f$a=Sg$%V>)1{E5w!<@H#foT!+2?&j~6V1na zGED|fT$XQ%IEQ=!%rTB_+x$m&x9lqExjLLvVDh_PnUvMfOqxBX!OU5 zQbERXG|CAL5EG;puT}!#!bR?Ym`@`f8zsyA;EHrT9pNBG$u~_ftH)aF#MG7(YRRB9 z!dMaj#(oC>h)Ce~x?@4XhVc^`>#i}2W4+r{-Js(}=md67Mn$bJe1 zGzJnjOybIju@aMLVLba=GC$)u?zvjBv>k#|4C0Ak6JCTDlhc^%SxZ#+vI=bNW&@BL ztsR^vdw@Ck7BM3j(fG-~jc7QfSr8MvQNZ-iG%2q{SQU62z@qJnH|^u7qg`e*P5ow` z$vzn%x@~H_YbP;z#mYwpFeAXSL@s!*d!}6--pY;%M}TUY{@Hl0d?>(*VefN5R*CVPB*33Upl^@=U_h)8peGULCI#L#*yv73yF!&a?n#lLV_AwuSqs)5nK#}*edRSWaSbR5Q5p5vA3KS zP8ymM$xq!L&ZlFV)3IAucuk<*Px$FW?CSk7TsydH`ceUUaQGUb$2OVj#PNX=*qokY zpAEKCj#u?vj+;3ii6R_w;}l`V9%BWkuX5twKIxjcJS&}}s+iqG#CBWa%{si=CobQV zg}UqVfxe9U2zYI~pr|Oi+o`aciKh1|b-l7sdy2+_DDuss9deblF)ZRfEXkW(WK&!u z)F~;lUbJIGNnE4&w0DtIa4-mu5|8PE_&uUY>HH-^BE-XsiizSjK>;js2ifSQ6qZ_+J*Ob5UK3X4`-xR zrI-1vOFT>}KT0U~)(H)%;tGN)Op)l3qJ*>k)E)BLy(Zu>3}0DJ#aYGtUHliSY+uBQ zgI|m)Or7s%Tk+pssmRx;DzU06%M;eb@ZNH(dO7l6)NJs7P*mC` zm{@_S?A741RjJl0CS4Xw;!H$3Aq$V_q+u9r=(u1h$ImZOt{E1uUI_8yS}}VTq`;|5 z)o8>yB;M_kyKrxWzN9VM0u#(lx$8L@z<5~x4j;>|m~h3&kCDtjFE8|tMtZ3BVhMxa z=qqJ0LvAEM4YXX&mtsw{a^d_PB2a^7Lz(QMySwW4imO0h93UbfC$YCwCh`4x9c zRgr61BE#zL+^<^Sx(5qe6G(iu#Q%dek=*)3LZq7}%5%*S0E1Zm zGo$sIW^4W{q{BvAjCK2Q9aLOOyOjbeDMi>7vuAXqy-~3(!@9$1U;C4kj@*|W`J){L z8yz&E&f<-xdzzhQC)$oLw3UIW-RW+R7r25b?N#|uxe!+^*jiPxqxRbEwl2=o#4WjF zzow+Z1k0v(MO;RMNty&TV3v{@BXo&)Oy?G)fD0WmwkXq9NVtme=j@# z^8z}2Et)7S@mlD$F=Me*+4D6i^|gBSYt6CO+MBP*!UMWm0|#sd4tWk3qz)KW4;YUP z9Nio+5q@K)_2$GE-kFyY*_sEV<(1kyiY$vHGx9V~+E~2E3}N+ZJE)7^Il(2`C*W&> z{}l9gniCuZrPT5`r#pFq#NG+o2}T@-PN%o&mAqxUb*l{8C2g1dNb~LSRMftrUQ+kr zd)S#yxXxG?i&*o^K@YpM@u>qU0x1M8zsbj;{W20kZ z^w<1_!VfNmqk+%-Z-h9au{%sr((Q^3x=b3GC72fbrm-+HVQODEl| z_i65KuEV|op5p4`EV~B@*3g&}Z~y7uv{1~W`AGQjZc|O_3#}4^XkZDPOsubeIxvrUFfio~Fl?WsJ8q@3U>jcDD02A~Nr`kcqr@tof0*?6S08lJ8efSz! zVcSqdP356-$P|dqzpxJw#C6fZg$nhVJV~8G~)Ex?85grE!a~(^N3FsS1r87zC-GK;aI&o zHZj$l8q=9PvgrAj?EKeY9UHO_+kC_lEF*&BHDY0_lS{#YfXVzXMUKeygAPB~nTs$B zbr}7Z*?h1VWsC8shQ2|`sQwcSG*Gx!WnY(Ocr4TMS`<-X-qNPn`HgJPUA4gisl= zj9g4nd*2Wu_Hj=?X(ECnGGh5O?uUy78up2zsb4mfIoOXg}oq6(7h~Dnm^jcKB|6_l9Q; zp_%Uj{t5hCti5>}x)ip&6Enev!2R_43E6>$SYX)Y3}-*v!81)#k2ohGx7KN$4lBrI zy#5Cnb08f(SC_+Y%H0UiB^R?#J>s$yyfC6&-Aq)z5z)sJshL#6`7!RoGiAc-`+poJ3)5sz?-C2DboK5AOberY~ zWBo1Y9Q%{sCM|eA-p_yO0lpXdB9J&eGx^hm>mNX07Jvx`egBX1dCLDo<)hQ<-zguu z|EhfK`zPfi@6bOhADw0Ys(fIg3*XmLm@p#wZwc`EJWlyDU3^aqTK<5(N?gF<%8P3! zDz?w(1&bW1Ecx_08-KHaIsK^o!>=FkDNVAaUq;Gr&9XLs>eoA3dIuwV^regaX`rWk zZ_mq$;!;W~Bs&yW>9pEoz@FXksR6(A9}rF?9IzT4;X zT4bg}l>h%SWc^(5^5>r+>jJHb=kM)hmCp-*ozMHfIb=;qS0&7Lb~kf#j)WS)h(@T+ zrb2X4(V~a(Hljf$v2Gz6<1|gB>J0_Xu&%w!a^7T_5aw14ItTD(Qo~gtM3@t)tztk* zX4KAu(j&bcA{F@%$#i*`<2CE`34)R(ub}SW$1|oKx>-K2!`jc^(>N%HD}DX*#ohyt zmqy1Nopo@A0E0&EI5jQoNFd{s+lTJG7k8;>y9QEZ0U_FeXt4R|Fx`0EK#SR!t*7zF zM8}7*uhXAab$4golUp+zH%VFhOl#e}zEJYcas5mAY{B~1m%qNQe~XEYR-^Yv9o<-L zEBq9!k|$leFv~<;@Oa#PtX5&Hh)d{@A8i7l&bj}1f;e;7-1xl%e)zLs(}OhKqyxq}VWojj z+*q%?*NZ@?%-tqx?}+w7r}%`HQ8wa4UE}?tloR`(oC=egQ8F90o!BFp6{;uF$loCJL@B<#>!SK{VqeG; z<)?<-S5Ge|4R$?IdC}hOD1vdw5`V1vIx7jMnX41CrS@K^XG66fZPTx))xDrG8Zu}Mlm=E5O*dX=``YAY{ ziq(+)G`e+*41e$2ebh=`x5RFrqs7miQcO?ZwDgDe8Z`+4e7d^_W(S_rLPFw0!E5@j z4)8JV>OJS}*EhFcf70?M_Qe(NLst$Coc1brEUP=hZnXFI^N&)hN7_6KZa+OdHh=n8 z{%S9(%+()qccITH-f85UU2$~H;@XBBK6}1Wx$h3`0D$;Ktyk*}iWqO1 z%zT!`CQqj1vl3c&#G-f6qjx_AkIStXp?4b?B22KawG#|wLcjW|zBF7_Fb==haMaulCsy`75pP03LeYwBv z6ePEUI^r=ieDDrr(CW1L`JC!PS`3S znLIM#7@yy$MRkr|*O}2)^(i-fBeFz$L_|r{C#6iF zA3l=S^q%ClBijD}T)cgxGXit!H;D-bnkhq0tC)f9f%7ZF-SZ2;h9bLgm^hlCx+@GtPP6SVugqaf9T)fvs=#q>e~YI_Pz z0l=yhlzz#Dt`C82JV)<6%#K1bdwDK%22L*{sX z3kY6I_S1)w`|$a7pw=m~MvAwR1*F;cKmg$f5D_Rbh?B_HNQPj6U{oL9Wy^uWvzWH| zG)4KISi)4Y0dH-O!w!MqbIf@Zp$sDN4c_5KpqXM$*m;Y?vq2(4nV|-`_61N|u$d(hN?v-K`=DM`Xj%-UkqCX$?n2HS{DuVB zdhIZYgtL2B2*s)s%ZX>vq?m5>fk*G5JJUJ*#KGEt3*9E*!Sfznkoz7*7o`=mh*?rX z0^yD?_E94^UJi8w@d^m7Zl^frMYCC3lY@!)oA0o4dfr%t=X#CZSz=H z@mTj&C|ZrcE(5jqB}%{oL3(U@&TV(+L^f(t_E1v6Y7&h!slX!9B2saM->13HHGuoN?UNL&v&;Rv~6FVAHT8P-T zM5!vVq#?%lRF=p)((PhRLwt1=kWe<)CpBVM4)n-XbMT5h>*XXCvqz7pk77-u>Miy8 zPJ%0|k17$jn6C9Vc-h3qQIks7XpfBr__gA-Mn6nV~ErSHuFJKJT2;Ft= zrbzl23#Jb@x~z5juzoB$30@I&dAYiAc-pGKJ8&!KWSUd;|+ z2uMiMp-tkGP$RxYS~leXbvN)N@g~cP@*@`0Y$u6maW|ecqa6+D!7(3h-&N1aAI>dU z%cTkA6|3i!oX#tA%PUXHtE|j>IhJd0YMt_^KPa}yE(U=Z1M^#l}|Lt{L^dCJk@C@i)iRbnzUkW(Qz7S zi3wGN+%3+`18*O`Kx)bqy}AO!02c=2iek?_o6RUv5PYsA&zq(8{5L}#sUpZtOiyXn zK?O_|s|l9C^BtUg$szX=gX9vUsuJUolB4S-CW57A8l@+!O5>LDPbHV0t}3-2DLu1Z zY72wDR)>%(|8vl{5HDE%>Lv%Dyat%0P~%^EJI~)|y&O6DoX51p(!Ss&vP49u=;Yx8 z5y_mI4$p)7D%kO)7>5_45yyxQFL*F#+~g_?)+=d(RmFdXtnO9i$yJqA|1f0zN6@$G zW!K2dp7ob~g4M4yst2s9-?~>1CRYzvRgaETkFQrxFa&F+G-^Ir)y%lp%q7>%SJf<7 z+2pTQni*CZsu|}wyyyXPgORRZ9JB(|Wp4*iKjawEDHXm1^gI!pgE0uN^F&w5tQMJ`!^k#=rlA6V{ zugbntKolYhx7ED^F?;pvHzwK3ZG+*^U0LB~nF*AXC(@UmNRnVA72`wvE6EzY!g&9145*n0eKMy+#_>3Ojb>+3%z%5@MNLr#KQ z!8y65|1Rr@y#?Q5j1V68ipj_%m-DIsR|H(koNtX$VcqjEhzo&B3?ZxxuzeB3R^B_I zk9YYH!NIBksi5ZhlSeQ(cp+Qt z3%8Td0138Lfu;{UnJORKm=M^WzGfAjczGMbmvoL0dOLFdjY2<1n-kdX)H8JIEsGi0 zOn!$v{L056?jz?vj9~sdX!Sn<`F{fP{{-ZNO}%7q|KmTV6mJ|iQ)7ZhL29h^@T+@_ z|5!JU?`Sn8ieC`aXE+eeuU!y^@2fZ9cEdf9jcc_f7+KdslV7P@ZeAp0euc z{zkXzK0@+-SIGFi@#`Cd0f7Gmts*4V>SZ0hwA@AEn@T#4;`VpBKkyS#N)`1d3y)5q z>^?{&)c2I=$xhZyd?`azsyZ_X0fQ}{4J;a(UWUnbUY<-o%BKhPnUJN@DNGC^89}`4 zs1T=-GU%fpVgF&bh#bg1gB%FI?n6A(wlbmXV$taB@}GeGKLPpw&49dXf>mRs9tztI z$l0w{8u;F}-PpUar%E8Y@po><5glt9PBgaZ>o9$*`R1zn%+HLl36>;;y}};i2c#TS zPb{3<=gWNdu8;6$_J$4jV;%*$3eH-!GQ?S? zk-tku890#=u7~nTI{)eUqoQ*k_2pmRd?=$M0@MW=(Y!gS06Dev)*)}1-WJ{=)?6zy z4o~3XtJD2>ox1+;TlDF&iR{}qkLJgz*Qv`_@U-nzmWS5(r`zUG%F$sjqfJGdxz=75 zZ}r$aXVu{z+t(qo(Z1grNE(-6!#sHA0FZXp+OZfRKinKi8Z{-DS{|x2+|XVNt-Lxr z7>bjAF&!o2zH`mxyMFaet7muCC3;;BRiqNG?>B!o#;T^TR_CR?xNA* zxnSuyHqTvoZ;xAr_k4e%vH8g)ymH_lZYqhggxSxzezwKA>%P3-cPm)ybky?|@&uxL zwyfvlrCM&mgo&RI!$@DN&8$gb_2B)NUTDPw{{4$b6*`+?Qk6cc7;tpuZ0yd|2W)_P zm`;QF*Q&*OBk3s?-Jjl?jnxUi-mHxS6c;{wu`aA<(OQwKx6oJq!e!Rclker`lZ1g_ zOQZQKwF(By+Q*WBx}9?Mfo>Du#D4)sy9fJU`tthit$l$}k4lYbd9qjLq`RNE=brC9 z`VV$3YveE{qYAh>+rOP$eq7SS{z(KUW z3s2NrpA#0or!I4w(Y(#uxi}E?wCJP7AS*QFmk$UI(xad#(p546aWFgn5 z>i<;9>u$Deuh~P_LI3+J{uI6dZ&HBI<$Z;x0+Jg%0}K?1A1J{L3#sD<+d=e?fH0-& zp4&mR{~$h#=|LPH97JE=3ZfAlHN@*;2o4v%AX@_JN8J^qDbp(i5Z?!ii+jU(8Nn9b zh(i~V2%_b|#~VC%i9t=QxQuiR<4}m38GF49L;#qW?O0Aru?tENKKpZ-&V{rnf>{Q9 zqkW;{bNsm^NE#9hvIx_~F!m$J*sWxjnx zn{=K1jiiWcrs!gwo9wF*XnRa5i7zPA=sE!WVvGDJ4yFfi?aYq!Sp=uN_$F=DKy*}b zJquEe_ZTGv*&ihHi7;bwg>`O66HoL*hW8C*WCY2Ta6C>zbSQc++(f^o=*Y(0JVzP{ zh;eU-HeQV};g2;_i#=f(d&)Hy^E%RENGdur)@n7@Fw^`fI_}Jl8|QO&F|+Oqgq!FF z|E(taWFXu`^P5YS^Zi#7Jri3Q9d`t7qR-vEC%fH5L!lQYJ+_)?dNkZbuVu?t)x~W! z(G>e(vdtY=?%BbuCR*Oo?(Zi0nr!^B{=~nV=sT)Bvu#Yas!>}_bY$qCCffaq5Bp@& zza-IB?_^YniTrR9O$d~jO#Um0rUY*#(F`5P8~s-k4gTFk_lImX(IyFII;jtp(uhM+ zi0vkt#DkN9n`qlaxQV9cBwT=-==4;6YS6BKXrhCLIP>tSif|Kcm;QGX-D0`jL{k#j zOw-^dI%>O#hBupf4Ixbv2X9HdodupE%ey;Q@e>JJ&)IIG;fHo2J0P~5MMrq4<3TK( zMVn;FMp7k-nY_-Kf3oO(a26er`6r9suO9JN7A>CfR~1c+gsW(4w{&Fxr48csU6#~G ziFgX)Q5k8gihih$Fl7KZ&p0nQixv~0z*+R58sTAwj$vemMF)Y$DW|l3JBzkWY_UXI zopRgCqWeIHwI?maB;7#vnp0pE#s0-5A$LQl;rUZIi`F>}T^Po>9HhQA$zjFkShZbL zk9@L~Mc>N!JByB0-^!wYS!`#~WY4WET09E?IJ7EbUFNwWh@6#T*e*IBCJ9<*CrDBN z36nxrXX>R~zlJ(&1r2+H1QiAm)@`A8PEU>cLF!e)>lUyZ3W;Y2dQH%NM$pehyd8yU zmn-%ia1kJyj;a+soP+ai^+~Zu63%%*deEE3B*RJYoj-x}1dLNJ<%HAQ5Gk z4DmJ^W!G-TUvMb9;$3$2vlM(*>H1Qclg113&KI|XQ_~s6^ufI*2hO7HQvYPp?ih|^+gbGV;R;lJwbo?ZNy7~I zQ}}U=z>EM_wMLnQ(dBg0y1A-4%NJ;HqpnmJY!u{;#nkh7)bpj(3&1y(KqdCk`jMg% zIExkq8`>r-r933{6B{ffV)cfl_XczACPHWHYWF(VW@e$PsK9L#Y3ZaA16NCZy6C=O zF3An9s{l~q)I`&$09$YfW8!sEfVT;vETY;T-&`m!IGnC2VuEhy%TW*_gl2+P#)4fz z;RKUlXT|5_YeGFl_3We^dk_3#dS!!^hzRY<9U;jsN~33r#6j*h;!SMNVV^6m)ocvK zMxPB%)~k){#SOWr9T}P(kF7hNcywg{%buHNXNh%Z znMY@NN@r!hLU}-Qm9?P%LI?o_jIFsjHF?Wjx@tF0)EMvW21y5@E_TzdKms^&s;YWv z*IHHA#d;R*uC0JPB|mV=x~Fu3Z6-yiUxO$g(bE#y{`KG8R5~u%U}eyqyws)4*<6yp zZwCISG}ZWwg~?+Z>EYeYZz=D8^f4&F~XAAWt36tsc%F8!p%!rU{Q+ntWaSO#1d%T&Wf(^R8G!W9g9Ok&}{| z)z|NxN22$naPg-LUt86)wb7K=l>C|XfT|<=;3T>|6neqvRy}rI@uCeh z3^NL1RZ>OqpTSWn>evDYzG`!PNf__1^*)${`I-8Dt@{1xb1yc!@$Wa^vw6KmVkdn0 zCs>Y7u+-pxS5NRzC$RVNKqzdmPU7!R@}*4*{4=yFab`;D{*+AGlw8e}!uZtg-%~`9 zX(jDxpP(wQtik^$X^C<`IeyQEG!Za2}uN3+dQLGBK{kv~oJIfbnz`i24|9W%#|2hSYU#&0*#ks<=^v-s;+$puP2 z+hQy9r->HxmDjv_112@s!a1-5ki7xi`)9JsO=*>h< zT39sPMBg@t8X~BFnrIGpo|+bXSLHlsWD64SG)=?Nv0O*f{44tKPt9?YGQ2RcJs%M% zWrzC=-zS~;oO?M>r~k`U(n6id7bF#JXUh`58{bR@I}R*fim19uWxolS)j8sSilN^+ zeH??Y#NFjeuc1gYr@K2sUQX&Q3`m!B7+>|j7<;d~ z=)D&~L3%axDuy0<=!mF*h=>i8CIW`uHAqKL5Rf7$#e#yec;D~a_}8)ijkQ0=Y|Js` znftlU>#RW3cvsxMgMzpY88cZRPKJKBf^$UWvaOf!Oe@V1e{Hzapo%?e>=ARxON zePN5;pZ%WM7dJkXm7~8k=s& zf2(EXc(?jTRvS@cQI+ISa`g%NlrL%C-GH44!!vS`HD|`2S)?fkSDiA^vJ8TO|DFQC zeenM<(X=0A?w(U7nl|uTY&?+(bn}#nF1+wxCK}TFu^0qdts^vw(8#Mh|4vvH?Pw9F|Jo%cuXl!*qs zyv&;l%2<^^f0y`JX_l;Aly#XrR;&#&fOG%(!o41gA=O}}**f-~li@qpn2%qhMf`r4 z1n&U2-$%qhZTy)(T#wEqFn{uAZ)qWxzKu?gVEYdYt=st@7@9V%YFXBE4SnSlhQ^H= z$0D32yoLV@LkFQg&h@-SN&NX+V!Fu_^uzLhY3S38A#hsh4+a*&_vrxG3E=BF45_H- zN`kR*@~c}^;!_YpoZFLzRehPrjW%`IFKlYr6xOUGsKc2X!mS-u9J;6Yg1zQ@IUuFt(8@S%*Uaeoy<^R!feUy`99)o0rYg3Dvaw^y^so7EQ z0F88;oVfL(PbB~U1oeJBBY~1n^w0UkX`kynb2-Ngd3o>}{qn`~TMEhQ2Os|%)VpZt zV$_iDtlh}o%R~%)a&;(-VTUeT@28m9-EeWw^^gCdp@r?8X^;}UG0x4^5-MnORlDj~ zl}nQTg4o*tddGLpuJkU@kI8Hjgpaxgt8~;HJ_e~(3ZX`MCFr$5*i{{oeNHC52R4aU zwDTvcXyE`w(OA1dyoLhM2Rg2ndKCNC=r*_76$E#Sdt_o|8Kxw3nh(G8QW#%~nrlx3 z46Blmu1_@K$z(-F$*8N!Lz3nE(Vy>8^oH-s%E%WnN){hVNm-Vg_*w|5^h;(dN2uG3 zODA?kY}Pz(-ja?Sp`LgQm9q$M-6xpEK}=DAg_Q*Zlk23I1jG3AYRV&QAsVj0A5zt z?Q|ah^e?$5+mK(?#(KRKg}u8ilJQ^%?J>ej&v+n1Ww7KF>|1cm-)Lt@M>AoVg`6p} z%{01=+`#s;$JysT;@MCw3=uC zo?(l$Evo0AS89WXM*8o3#&~{@Hrm^7a27)T2V>j(2;xuAK(;X6~5mkE(sFQ{xujJpMj;#K~g# zHvsZiNJ8FIpoIn0P^HzXE#{1gIzYZbLX;M5` z=!79k^CGD?miwj<=v2o=D+i0kq9xw8mf6`O!-^+;_ zy(jovZ}=-4Tp@J_VY_et0mNihRkC2 z3o79EvHEkRUsCYoY7_D0?OG&Iw_im3g3*5p8gXhHPUUw5OJC_8u8c#)eArlXB>EbQ z2wI9iJtp%y$+Njlua-j7g@JU(QNJLM=;jJ9{WlF-N$tU+e?l1*j2TFwM4Ir-M5?UM z!?B#O3E@U%VPJaQ=u$7ZYP$2&f>tR8_<26B3X>#aMhi2sm|? zSd~6BH_unNX&${{b^Jg#sU9ipysM{~zCWI1@TjU(OM+c_m_3Qkwd8D(fr)makyk&M z75u;H)gl&!o+6;tg#BDli@%`G z-imI**vx8czuV&I=k298?(=7e^78>XwzzqcS>KxH51M`+U-Mo9M+O+6Wnl{>xwxr2YKc&fB=g#+D8x_s-z`!aim95v47)Xjj= zh`Ca5&hy#mA;L2QzPLG`7y`*BJ4m~mv4G8vy9%gK)M+1gjVE$qMNGdX^wFIUtk@q$ z^Bm+AJjfR8!JIhqjs5ntV5~T+^fPKds^+@=%Cg||h?i0RL&NNLSCQ3Q3y$G8 zkYig;CF#@6ZHzX_td;~aWv@Xi_@T<-=(AZ z**6i)E#nB>%DhO$baN|SC+FJ0&Flq(NTcraUxQ0T#kx9Ruav4T1_ikD9lRmO&W~M7 z-Vhf1+ziv0pBP^`JH1fLKz(&|eJ7B-%DXTNyV$nuU|%;Rymui==MyL=xv>ZHK1!j- z@kvl_;juXLNehf$u^ULDfO%N<^oA8gs6n~y^Esuzbx-5z^cWBHc>u?^OM=Rjtg^{V z8V-VR2~{7DH|cp=<&E7?zpl57@j$6?%pXizsgAHy1WZeW<;R07{KCQxj2iQmE?FCI z?>}@%Vglre)zV^&fNRLyUfZ{-mGb7u`7H z#`i}2d*MhTS#Fx8uwHbP399i@d!BT3#XApdb7DYKdz*K)F?pZ9lG?8spO&PozB%?W z{N$Y{0C`O-CEq)Tf=)nEc+iO+r^>L8Sb z8EX2M#v%ZXu!OLPV9l3ltaEHE3nbichQxNSIQr#S;o$QqSP<)YAZjL%)`JkJzCrI6 zy+}!dHY92J81Ded3fd9*lBfgl`HodTSnxIRk{~nnlvb|5^=4G4*fo%Ts+xBy<+F(| zEXaQ__4udW;V(ZTw{M6+TAYs#TFfMp+b^azC3H4z-piMD;|9TpoHhG@=(ys9QwpPa z*8r!%R5jbeAd#Z<_zl&HLB*6>bNo-WUwytMwc6H&@sh0>^@FI+ibzK<-ctel@Gtg5 zwS>@#8}Z8-4I8Jf6=e8K@Igt6xLc@h0=z>xi8n7jHx0E$jbaSG)|DJHJjgofgA|$a zy-!BBMFS}ifNXvqI2HB~z-HeQ74Q5%Y@R^Q8j{eHv zZ_qV|0XsAnzpJqf<1E8Ir{vXn@s?CeF{Ubjfxdx)-GlBeB@*&7B|(V8B6^r*u8?rP z++L!Q8-t65S!ZPKO%IaTOZ1ys)Y))CijN-)4)o_F1ci_%NxE6=A0jWLMeovB6bEt` z6i6%pAPg`twp`QaMuSTu81o{uZ=#urP#dlSWfY!s4y9CIz=A2lA0m(IjSX93R_)N- zltTLPV3(T|{z|C(=_nWma4&^cry<#0>7pLyWGQFKqgcQ8fcV{*JROl#3X@O^{7)#0 zlLnf_2bCiq8KzfkV}smdztqW%o|k8llR|~sC&I=NHhP{e_DFt@bpE`OOP1t3$N0{T zBv?cEfg~!`J9^F4A_r515ia9ND0b~C<616x&SNmRiveJ4H5RNGZI-WHw*Vr1Q5Bq{ zQ6jikCYEqr((T%^4~lc{HtVur=Lw0V<${8!cN)=$(a*1Rmol*>XPoFJ==FSItz*t#|&5H~=hm7(`I>0(GmGBGvc+IJsf zssS2UngmDlvUP5T|C3_!U9W+Bw5CaW;JCB5i#(gI#v~Au+JsY zap^z0JWkI%$NF@-5$p|xv%7u~nmyE53tHFE{sm>lQP>JCKr zcRXoDY3@Ec2TxoV0a*ji6BtnLg#K5C93-|2?R7|l;%jimVN8fYAf?t9RakKys(qI}4tye3sQ2>mj^=!1mB5)xHN64cYAoPAabByU7iI+%c63Ox_a&v@U$Hy(KVK{XU! z1f`+^HjxF!*P#tpk0kn4NNLS}uviw69sDm=+tNlcA9n zQ2p=C01Yu<;U?s42GFiAlX{oso1+%8xwNSwc?AOF6elt5&QIr`okd#8T2~N^Os~5qi_gNkD$qCCG9eH65%2n=cD9drv_Kp30QHh%aJ-^FJMp@T!EUC_s zxPiWPY72c{$TB8Itrqz`fC&F-wUUCq9%l{(jVdVkMK<;Be)iNh z?uhcySt~^@Q11V&r&)5-AUxi+>2I%uWu|-Kg(A;Kp1{ZH6%q(HpS^?|l+BhgRks$6 z2jEQ6^T5%psOR39S6rnEhkwLrkwvwLjDp=5%^oR!a`Al zmQUEjBRJi%Q(-&o;V%cwJA`}%3_Uy0!Px0a^%>s17oy|3QBTkjV`3a)0M5lLEon{f~Vbrbuy-BBrHQx1pNI4vi`qQ;-?31Ofu(d1dP&UQ76Y!D$5t@ zcjOjZQ$$tXS4~dc>YsTs#@F!#)w+Y6mh_Fprfk}B*O{_cOlK!V%-!l=NG|m$e4<}y z;pMClXWE){C+eELLB!P)&uC2-Cafv@62Kxmf)-gz?^>NMUSHrSN6H<(r`HCCo${pY zS^mr*I^rIL&aj3@hDcKYc8!5i^%={s4`@r>I}y>FUdfV>~yY z{*5hi?@`)z^o1_h%b2ifpkeWo!ltuhtCY#Q_Utq0@T#Gy zS=6Npx?)$RTQA$OU9D&bBp}_wps>8yw7SU|EZ>i)Te#7V4bAL8xkWvW)*$X&Kfgm^ z^1|J$7&s+TKUGT%IQ(kKydA_Oi+ax7@Y|2g&7Or-Ao+5#`9s}R#UH14fl2ab&u^SQ z($~@Y)eY@YgrSq0y85dZ*ar~%e^FIGr}Q=uhrNOJmyuZc?yQ73MAV>AWT`ZaSne@t zgj(4zM@rCMGUS!R++yI-c8V>;7?U=}J&aclO4Mwe$?b;En{^2SOZNz>@(xnTg47Ye zTEYU1)ayQbFu}$-!=;cR_BVg*2ptoI{%ju~&b$5x;ywoFmqvyGF=kX;|EC>f=*?uc zae&zY`F-y0#u56jeiuLkhTPr=kLUi@JY9fvR^^~Nz98AQkrDtMe>p9+C0x9moqq6P z-BYB3Ggl6E^V1=+z%_miKonHaVd`6^&KiZ^K@W{3NV`FHgOG!yw&G1*%*#%V%WO~A z@1jneOGFHAE+{qr-9{?mJUf>zJWZ&O1i@#=?g>|JLP0M?_i|AN@tfZHf9E1kN)PxG zk_9Y3LbW~J)4v-gK*r)xF~o*L!pQCNpc%I78@iXy=5k&7ilh>$_Q-=3*RT&O2*Z-F znV#i|&Uf^&sDDS(?Od$Vso~_ugEuLxxH}24Ql*dbN20Dd$7ImK}k!8!Lk{%gyBv@Cr_OgvzJ~8 z!{7@8Ll21Kr!m@w7|Cm>fhA@oY`)_zUG%TEuwR{G-&(M*6O5#_t146$kk@Y@b9f)V3P){y%wZY_S8sOK&V-XoeupPOT$zCc`)*qpa^ZCG zKf}TUuz))d9<#J%JQ*c!R_!qUNjHl}C1`bad_|ukteYbyr6`Ek6<6zy<(4a_W|qc3 zY#a=!kOCz6lvmfY`9_1@^Tu2*w4p`=kz~Lv zelp_W7^d@kgQmUm#3z<%7@2d=f72j9B};*7G9z%)G4(!01~X^x@yea%0qojxh}?OA zTr$g<<@m&I?H_!3C@b>4HDD^0E8#N#-FNb#?K8p62R#0>wIfa7G1>ByjrRrF7^x|F zh~AX}obmC2MXG1sQvaVS<@yA$E4b&jri5bAm^K!WS(~qaN*)jAE1T=Kz-V0YV#v7G z8s+#hb%$U7F-yfS>JgiEdG$sne{5z*(uOQxgX`vc_=m^8Lc0RwnzY9)vR-c39b(Wp z%kR{$O_m6TrSAY1W>xe`%6kNMYn$Lc_8vwCl7~ZKtrXmJqDEByP*@)~!4F!>I7a?) zfB3$2=u4#yMQX2#=Z$vitK2t?h|aX9@^TLnz8jE5Jp#Iugrky;x}UKhE$3FMV%yF% zroud6MvO{Z36K6r@7LT4f%_L!J{Xo-H%JfL779@l{86rc8N&&Oj%Y(bEBW4SUQgv8Ha6C_O^tfiVrjLLOEwRg;~S-l1}0Q#JtDAQ zWd7tO-XzyPGT_1^98*)j2Vu+>t6&!Q&xR1D6Z*5D z@>zs~7b5Y}ejKDZ?(*D9zV|=+-`X$BreUSo&M_?JCziuBfULz(Oxse2X=8P>a%*KU zkq(fwWXO-O%~G0vS!IyLB+tiE9v&vdDrw$v| zye2$sSpiY8RIDrzV^L`tBAM94=O9bR4Zx_>mv`Opw@)}png9uUfx`E0X@nzMkOy$3 zY<^izTYAX+z|aB^y%VHa92?a3rTLOLQHcfG8L`4w`{or-qB}Fw^dvTuxjva(|G>8! z41d}9q*klwti;ej72oqdIrv)l+sDe#cce;fgW90deL5O^(v(iJFPzaky zmxb0t^~}$`D~V!%B5IidpJ2ZVS+IS4^yga-UI~o+@Pg4Z0X}M*R0Sf{D7z7g3A=?O zR>;m2c?|x@(SqVwmqFYgzXkHmuT_3z&)slItN%rgExsJ}5%fbv>|9Mf`m=x|vf6 z60zilk;YW~!yj#aLYz<1SNe^-ut*jp6n0U}8w}6MReOlbMh^k^Yx8p2mNnva?uAB$ zC|eW86wUHm(kq?|TgBMtc{HO$K})>vE7r^*pJal3-1*+t-z9MB7-zfI@~xArb=rQ) zrYb)Xo{#EREe0vt)(omf`Pxndtz~x;{r^4pLu!AsAImhn+-cu= zaQ{(`MB=$JQqs$-psFWlt6Zj9BNacoWRuFn;scdj|4@F_8{hrF4DAf zkZN_M@`4EUPhDN<+X|uvC#pqhk0UK$`i{djj(UHc6wBfX1)3IKgO_f*twjCo<~j-| zEAWPZ6$WPb-eT%?r$;Diw_qIG8+zpeit9i6!4Hu<^njl*b6Wc+!nNBWm5B4aS|o4R zZ(Vj-YWYwcyqk{Qm!tBxLK?Xu$@|_=CbY`p)WB2$o*pp{0v7TvFC}pCKI}&FUnO5x z&Y+3#K=D82DbYBOLFJ(V*@dk<0kG>7I1jBJk|z>K{7oD2iZD!k$Kog(A|@$}mlH+P zXJ`ov%3VMx8&N3*OC%`7eP4ePKYhJ4TI3I)rmRz*S#S#4@7MflSIEyzT}Tw5kwe8M zL8JiZ)xj5E2Tznrf1vzp!2(U6nF^k`bp$Ql6W-Gu|4?>4c=D^G3{MjJC1;Z>ynV@t zb!bgWSW(8VFhSUo+>P<;qZk2zfU8}0B7i(d-F+Z!%=AZDVghO1Pr={0HUqw zcuy`wWJmA~3G5Dj|rW*d2PK=>abyGyf|@0HhJ z4`|6hjp*LDM?TiwS9omjeIGeJ`-`CZBx3TxWxaIk5qx$3ORa1Vz7=N$p*S~|v`ODD zGjwCqYA5X?VYNpL_|^n|J6UnBtR9{fi&Ul3yyMP~0zl=-AeMWaay_h5bS4sJo<{#O z0>K7^bE{@{kDDJ5!LRGQUss;y>`DmLyAyT_J&R=}PaL}GDnCQcNOv*WQ8On2C{vF{ zHaPtpUPRHCT=A;R&XIeZns$L3c3DKp>>MO)7TQlCXNHi|UNHC%LjAd+%n;IHcSkyv zo)HAq;5}qXK#f4mAFSpPdGQr&OEX)6F->(vTR-_s&##`hQDlqzUTX0_wGXWM$$eT;|YbVtkA7L z+FyIRC%1u{GAI?z&oiNr>!KiLpQx#=I$C9LAN5{rFzh-mRqrJTa8*k^T_nikGi&K2 zUDcXCiA+F!;DDU0FFM3sKUW6>Fv7401No0ybWxV`?a^T!%>R+$^IN>8@D=Dt0L$4U6hodS0-R%81TupbZWY2XgDX z>XuT~SLi*EOddXc*V%ikUCX>-_br^bJL?g7$>j5z^fyP_4Vlufe;mRijOzYGW*oR5V$RJGs8pQvO8|)Q(6jFwLgwkdYUC zmQpphn918rRiosm6WzJ$4flOSN4CutstET6>)%(1bFybxTbEf?niL^n0;1W=Suhqy z%6_A;!aD}hxv^Ar^IYx}WRIxN95nn;ymME&u95und)> zOla*`U;JzR>bU-*fQ`*9!05}`T6c``XrtV5&;}EZ5Ufd>t63_^KwFm42{tw4KoLK0d-;d8u{dKO zwkAkEmDdF!4a$z+rQf+H@3XA-qQ{Ct%AKi5|0v4nxMLeIW|yI!?y^WG&;w43usDmM zcK{QQ4hMDIF5JbQ?7%=wNDE8Jj8d=RnKI7ZNUea_J(po*_O!q8*Iw$=SWPW7ZG%&! zHqFQ(B@go|#o=5IiQ!%VjAK;`+0%JqHa7z*Xvm@A!)WL30%|0LW1gqn7hY(56!;8H z=oUqlQxj37_|m$o zmr7F(?_K>do$0`3`NQ#1_+*Sgb_g=Nz%$X*>2;A%I6eLKq_ zI#~fTYjciqyWQ!P?f8}3CYhGtGo&=zoigtwUiQCs`D7)-)++BMl-53@>CmMN>J-V7 zjktjivtS6LN|p1bxx*B)QeYlSbFUCCnoVbwV!;xva>ipbLs%23JoU@vV-y>fzlsV1 zq0VIBy>oJ^$D)h(;$mA7`9y}zWw~!6#X_no#XgKU{OY%C8s;JsKl9xA>^gzVTTeca zqmp=igsvwpz^BOe7TTdpDPA^=;TF*2F8bcAY<-8OimsZ@$mIHK!x(*s- zXMf~qpc{iluF11sxT-RSAj%g=I$aH;-qm}jZ}h6_flmgckYz2)GFMzC-&sfO-&Llm zhM`+IxyK8Lfj3ufzeKMG&dJsOWYKbq{f}j*fcQZjxD?46n zi1OOzwAE!#`Ba=;yr)Bsr{kTqKmw-}h=IM@)8)gOjg%xD1-;DTcpG}8HD})8pb9WZ}{(WBV<2WB$#TUa=MM2v#c!!^D z46CV*PbsoYw(vj0HunB=c<1_PBIG>V*{M&*(HiB%U)y+4eY|!ab z`e8ihI!wqaeWHjCpd?mZFGles`!SE?$}b;VJ}*7HCBIl1Pd`$BUBo=mjE|YV#h_m) zDB}Z+p6HY2uj2RQr-7LD*;F5SucePU1~)@VTNy7UCb_kgKKM1Op7qGd_Q&OnbyS6H z+=@uA;bU}4c!km`qa@Jiugo%e2Kje?HE>nUyMo)|JE#7oi@8pVL8{rl!jn94=8~gK zz-X~t!dbnc0$6M%tb9u<@r)tc!#ATBcD@D(r7omKg>wZYr26Uw&M`dZ&O39h(VjBs z*G{D%-cOv|QQDbf3DPed9jjrCy^x&29<&x=89mMG?h}~5Vc1#^1ze%wK2vLNz797& z6(0}GCIwM&X?=w+HBo*$7rr&V5Qd|eHpJ39($f;V7i00){#HlwqvL4Nhrq7|&0b3?|6}PlR8Q)fmG-|B-R@i+Q^{ zaFH6jDzc7@g=Zai!y6*!%x*p3PT1ZK!!s1@yQvl$7DftYGs)rnwg(XsZ*Aoee(>q2 zhFthFSZqeG2fHuYTl~`~1S>Rwy}N(+e#n_`Q~sSHvfdZnXenn;LgZLO<%L3B0Mgm@ zl@nR>(1-j73AJ_r?7(GXUwtM;s zdnn6dIJnkdM2f>yVm;;CVU*t)t__{krHZ<_P-uF9!G2Jxg=B6N!xf(iHz|eOyV1E( z{x&H3Ju<-O1H-5%C0GQL<$sY$TSnL1hq=Sa2ED?1EIzIwWi1<@QnNn;r0YwQ9BwIO zZBxABMn*&1vo~@^KmgRgcwJx^PGi1890ZuQlZ+%M(L$gGC8K;LTvjw?AFCJ z_FcMrvnj*zFeiJBjMn6e6F*A>(e{n6;|>ajm`gunW~pyuhrLVKdBC@3L1{~%TZisx z+)bEfn^JYi7rkFETLu{Af;@zO4$Ey3NHVz+bYwE|iBx2id>pxjKEn%k!h0Cq_qzLd zawV1?C}Q7Ek2=1;)EODKG=1>B0&-Hkd4Tk8@mmkIasYuEE@BI5pR_n=*_x5%GJk z`FsvL7u3sU8@8BVnZOvr}xfX21Y@+`*q7h2@9>^ka{$=H6cqKgwNZ&;;MRAk$y%!iR!{tzq#M)!J~x}Rt*?{^+A4n2VYa{Y z5rtmTk)~PrCvy2KWdr82&ziN`|JvXA@=I=snh0e(8*nK9sne=~Haovvh)Ji_G*{%6<6^&xMfFsqf3vH1HUw4kwh<(dj zm!}l-n0j2?UY&gq@OwMtC6_+*y4@?!?cx~2qh7_mtGm0O1`6b^{nPsMy=y%0d(@(j z=Nb@keMf3r=6d2Qtj;s%yCQzzx$247>-Vb!6B(sjF-eGXhnQr|<#nNW_@>TXPxhUb zk8%Ipu+zz4srBX4Nj)b<9i-PPk}2DED3Yb{uZG3uhi8;yNa0xIT>OaT_m3WflWG-F zgyAT$d_(D%Vg;rl)hy0uJX=Ubuu(UP~Lnull_d&o$MiUg)}*vgc$2UV5n(rws#+2{UXtMiP`N!>4U zijk_h>DMOp;C9R(soKhnbJ7pBrfgV%wF)QcM^D=RNI#~AD+yFJ%*UL0`f@A7#$`9T z`AmHmljio*5oD~)^C4+wKdskik7OFhjbgpj2O6hos(xm#WLp+vUSTf6W!<-1*2-ef zwsl&np)PE;9i4686I2n$zxOyJ*Ey(KAotobFchwP!wPcQbqH{k2lOs*f9-_1w|(o} z5LZ&@V>@%tBt6iR5!VZr>Y??WHG|^@Ei3QAm6nuO>I;Uj@RP!>d7vVDR7S`%^mPhK zi*{jJnM@ooraxcUbH(8Erpjh^yR`!Rwg~f}LPU9(8Rrc+PMn`PJRGkmq!JcYfizVS zJFO`%l-1yC4$|L2G%K6x-Ihlxv^B}oq*Lq>W~K0C4P8GIh!3RP)IPFdx)q9z0+Y8USI&Kye?)hq`|E^!Y`F};HV+xQFO zA$s_ymO450J-iz}yjvtSTqz>ilag>5zZJ|fi4f(!^(YysJBZpX?32-CyP`!Su^kAD zJM+&8>)x?XUo&~k{p!$KEq|}Q1F{=d;tx9_D>gQ&R0lCGFmi6%7nIeH8K?YS#yODK zCO{Q*{J*IBi-YT-&S0meGzbyrQ7g_EE_h^=>Ps zLalt^K0bGkGRL;Co29kyjAUQ-i$e36`*c%IqBR=sn*X;O4jd(rCxAB)?&RJDczCN} z_JZATf9GrbGv|!XxT(Fk(ebAd9iYY0tD}hX;1KZfvtwo0oxA?J!Hhdj9-M`s1D|_ z#{sGE;0@d`^>#;Ls3gjvr|YMLDp3Dac!AvrJU&fX-|M2&8S2*n0hy^dSpjgvfFKsl zmZ6--WB96nPW@_bDto@SQaj^hu?`sE?kTQWf%5t6GB~Z8O0Lvinq#P9G}03B9iw{c zQ@zHA$DfOi%BMocVRrYn*BRMP-1_fID?ovz3PBtll})*eGVGZx{6w2%`)L`R5eK@4 zn$>oIDmvV$<^Viv{Y*d=$qC%uNK7?ZmgS{GhO(W*?QLcOK9TY6$8g}7wqnM4l|Ln_ z$1R!YYH|GQxowsm7G0lW@1|)190LqTd}P(KE>PTt2U zgD`s64CNydx+Ee0CGAV;cr_? zqrU^>g4B|G!NCtt%m&>mUv!%j0CG2EY5Csp-zrj&r@{Hdgrv>0>h55Wx%hMjgV4dM zJ&QjbK{N5f^3!HqI9~uS^toY<^GX+6u(vs69%hBdY;64G;XU|6t*@f zR|_M3{*z3EgY;#b!GPnjsu1}12VoF0Ga6XpRLSJd4sn`JIII;tOgamEMQQPa0RBaeh*j2q2Ea$NLTMRuYnybD*-q44Hi0S(a8F+=$?22k!EMW~Yjo z>3*HS>nHSp;O+|lhnwO0(hBfPIkBRG3{;9nmj7+|ZZ+%e!GZ_=?G`JyZm>N>+!ub2 zO4<`u4sKr$qDhYDaL|n;?)Km)S%t27*67NBwk{ z%c&)ti5?va4$^=As^F|G9q;5n!zhh+$^p${ubc4Iiun!CuGXKn;ti#ZgD{MS7?;U& zoB0O3bXnttu9(&WFT5bC>=u~Hsa>#ilV=|m5A;Nz{Hv58yY3V_^l&Le{j_u(U*=`? zc*4jt_%Hr_!QX8MV{o(q{_{DC-+rl3tFkI!AfIQfg?|sUUTcihY{PANywKX*FnuHZ z{UjB`+5GQS0G?m8BP_6~~!f{b>49WSu=Z21} z0lkyZyITP|BFx%P)Iqo=cDNXQJmtED$Zn=4>#@Y>x`E`1HaxIUS;~1?&?-NE({zF? zdQZLY!dD}d(8qgI!0sIGyKs7HE1l%Jdfm4;4>+%_fW(DmeR+9@c}x}u_6ptr#CF;l zx|=k*z(4c%5(d+&LHckBM18*pjsgJ=97ziD;Hcz8bqBnHLE+IJkoUJ2(wmfv6a-AD z>1$o`7%KmQfI0a+PAf^pzzJWk?YJ;+q|)m!KA@t7Yb;Kfg}_k2Fk zjxQS@qDpUmNUTN(Y}_t<$oic_SG!>j7bXPX1$W1B;(gqVo$YA7aQq|#hkX7hhp?G* z&#+AITx|jbJKyy^Ne#w-M_^$L4jD1+{ju0PS7DBnp!aZ2;$hHz1DZ8;NP4@?4m_q5 z%R9W8>$wr0%m*7(i83zpQ^qC;fqNzWx@2Suan!h`vLftTr7Yg3wyK zXetl3pXL90oX+ybMavbGp)k{uUVP++c+@qAqdI6N(<^zv4-rXiF5U8Rm!2u~I{hdr zwpk_+wAFwl*8V~@0-QeeLxtzc>+nSm5D6WF9-9xy#XZGMM!6j;)0bgqAqE zZOSCm%cn{Z{dsCldc*(o63UJ$oDJXf0SicfT&tea$CVqZB!88q=iBMUm?fY4L=d_2 zw$tKM94h7Tw}FxKoDwWa`8EpRb~!>gyxRop!;<8<;pySRKr)@-&twj%QWXHaTi&H7 z!;z+t#IgJin|-^(H2LyT5-dtCi{ zxD$AcIBUj|%&|=R8wJ%e7{?V}G3i|<>{h6l@ZrV4i%lqRm9o>H$j{rxGJD|5pCDV* z9Q2g?)er9akD0ECCB5Lb#BYdxu}slbCAgS4+8R)}Fee{BJhs~px5gKH;SDU*aaka< zWN*b@_wLKaFd?%zF?|`XXB>S#k4HO~Sbps;;Wn1c{>mw)OY7*>@}m0tA;IATKi?x^wmK)qx}hINnE$`^>hJKe3?cWz}EZ3Ym~(m2Go7 zGAlXVLGce7y!D>S~2>QJ#qlv-OZg@F9Er@gd?t~c+kt+xPio1a1It% z-mG*vII=95#-saKi$wLYmJG+m)C7z35?mfZOnDabX0Ep_k@`m)m8=d6)xiX95Y9z? zgjDZiMam~_UpBYMw`RvH5VMU9Aqr9M`jaPJzih;HDP<8X9L!J3riwu<)D-eDwNa6`DYg(>m+om7^2Q8v?v?;+{6`}#m6RfRa+=9c|E`_I74KMY{DN+vjt%ZGt|pCIbykUkM!Wbp1RTm0c5$uXi zw`ZL#+2;uXUeHCKN2-Gw<)qyHEgP}ThS`cVVZUayxvC|>w15#*uL^X!<^tD+Z3 z>(*b&GK=W-+JXqc3Dadf$1qU7qos8}KVTrNOWDC$Ai577@*)U;o;@DPh2I9Btw@xq z@V~G`_o<`0p>%e~wBQ?nyK!4bg{EWDIHL}{m9b2g85J^tCBgfW#l(uH0!4HoQ*zGu z2_Uygs)tpoyQ2T3%6Eu1pp_UaQQA0FtCRX+t`N2p ztb$xpKd3AF>ErM}mq<%01a?0D;Xi!jk3<&4(TD<7h#uz1?Gak>^*c_D2+l|I0k_@|y1kMzYm?ADy? z8NlL8mfplS4(TqWDLPC(#wB^sk(A1N{-R11v#jKaJ*xHIcb%E@c)@Cih8MTr`b?TC zSzOWDKMB;#Nwp|OGKqh~Ws9jJ&E>Zz2b{fsSN5#c;x*$oOU!zes7c)TJzQhbU+1?v z*dB#rV_FtU{OhFp*PEw_6D4(gZ+X7?b8}ii?>}Jd-7fy+?{C{bc2uwqpd-SjhTl=A z8Q)YkYzi^zq&vHxJT~~&yuQwwddT!n85bas}K8xCp9xRmg zk>E3M)>9+=FSFkEJ&1zLtyO_pM~0>0$Fd^nD0yy^Pux2xi5~J00nWfXXz|aVi?|0g z-1g~|kj0AK?BE~E6xo8&0dgLEWe@sm$7mU1u(?%%a&o$T?MlYweQ~R^p(efC#%bu2 zF%c!Qf@FUul~mtvZsGI%sn~Pd!aGt)2ReB<+r411c5TgFaW#9B{JeKIaAn+?enRMr z0q1P|N-yr796s#wc`!qhV){ic_|N7XpAPds!^`>)pb8aWXQXmt@^_=RjaSil@5O^v zdU;bQl(yYyj`xxsP_o608k{s*3WZ;@*)eBRu~KWYzW5_UUd6^-#r9k3Upo~$?5K&y^mM3;W@zr0W|zA@)MnnAJ($L)Mq6|I#{ytG(GQ z?x(4iLtr`hQP~s7EUs2@*slcw^M~sms)$cq3jW9tEJN_kl(r?{PA-QSyM7P7G)!DN zE%2AnO?IJ6$;=l#AT&l=kV3UE!9fwp)NNy5^->HI6cesR8YFy~-K@DKY+(}JCo{QU8lNVJ*rz?*aMDTkSnehn-54#8PtU{F0WgdpPD?H!(_GZc{m#+7C2 z?Xy2r{I+Qtm0guK90)c-!lVpTA@_m_hT{^39sB@+>Z8=_kJg2hhT1OYtts^WsH`*3 z0zM1R6R=-QXY(~TXEQ~2opL5uR+moUBZeWnJ~TO!IYnPoS2$<7 z5De6vyz0TWo3qE_vC;aauPl*S(jf=Ap}ktn8kUfj{7r}gH(Yeu>tboB^>(g~@N}mQ zN$}mT+>C;RXOBg4aST7epNkDR(=39Gaz^E7z`0$HgPMSWykib6h;=@9u@)iFCnm#c= zC4j=C0o5HFyvwSU{2XHAxt2CvBFar$B@JkiZT!x)*Vam5)`3hvS&?v>vq!oNt7YDK z(D6#&MJ%YhSbqhZ{L_~{2Kfaq4IKa~3mbWw7D0o*V_7G6-f+`G2ZSERRC%VlUeRi~ zG5hwJ9t*zu$@MPaAZ^LG;FG}*9@{mAh2Ok{D#Y>NQ223Q0-OR9tRz!tC3n75z1!<)sI5CK zJ}6J0kEq5GYXYYp4x(zXPl_O^hy3T9x>@=;s_NsZqBZAP(BZfcLGP3Rw? zHQcE-eek*(7m`a*VMf8(yxb6M^|xZdI#7bYO?!yGa~2Vq4wF#}lOO zGILVZx~ccXEsrC9EQ=gB%(C{o)hPAn;r39`M?w9hqJByVT{1mjlNq2!751ZgiF5!n zdVu>u!2$kq`$4mM0D#KOS87ID#8i$Tjj}%ZuTRss-Lmg{$Wx~W(FeCk90|-?oC1-fdB!m`PoVm1jFv9ks2v*Ou&=>W#BI%WWkURfS#$WiL zO;VD;342`DmWL{G(cp;}4R*?V$`?X)igPClgq@013Pzk=4Kd4R<+%hUsOvO(+8yS)__0I zR=FkSVbguir>Y}u)`C$g>>o8a#MqNSl!=S#X_T12Oo~W-R*C69Lr(0W+8g+I2tbvkA+6yP*@|is{es$1t3vJ8O;~~srF8(x0CaYPJusgX%XUAqb z2{5fafA|MuJ(s_@RW<$&CICK7u+QqfJ!+dlPg4$a$_blxT^g-M`^%;|nd%v-A_(!~ zsy+cb+7F510Cl=R6U5HNxopIv;0}HMOklE>^Y5oAr#m7V`kx%0tu1=Z(;-hMN!sF3 z`FBTmeOM8PdT36wT=TjnCK~oO^!!kY-dKvbLiWvcRkAs*{wm##L+e;ogc;iA?q5(J z_r1bgQ7UvTb>V`!u+BttwW-TZ24@C29Xg$RRYmXzm9|N<3Z%*^h2~@tz@{?U-e2*7 zZSlC^4RA6|TR*Dz%or*D!YSzPcn81;WFQ+*tm6I+-E2ZqditGAPrfDUPRe{L(3Tx$ zvE#v+2$M-wLrm#=hjD1TA}GWxn>nC3rO!ezZiqfQKnXK>a&Tkc<^2ug^wJT@FVQlQ zQZI1^VpDOAM@1L1x`cL5^bC4efeDj7h7S_sBiljF;e0fMve3jSVV&eT2H8pmP6z%v zopQnA3>flq>}+Ic;Nii|3#vehL~t5{)%+3t5<;GtXVRQcjAXXV8HcV ze;&DTdRY_0d`7<&u31oybpakVjkha|%FjwlmXvou8MfK>Kn2rQjsMbAlKUqq2}<&; z8~__Ip8k?u@3C(87_E_sr}w|Ab-^)f$e(c^M``#S&k{7h205Hj>82hdsK zx}4#W*m>4R9vB2!+0t2)2(N(#2ig{Pvdr+Z~e_`_j3-aIRbbY%{8@_SoCO7sqVKXD|F;A59i~5kOIe)kBW;FFI4}3ftyvnP?J#_v_ z<^A=Uo3C_k7A#l4{CYp`i1P#<4kL%$iC=zk{H<9d$*1LGHnP`{T|0eq{v55Jc7(^iCUGl`Xj}YAU~vN@qL- zT<}~5OyHMD9`$UD>+=Ff5pt+dO+(eTT>LEbCLC5<|C2YBH3ruQ=<^Qh&pmqZF?Z;V z*dQRd-y7vat2FwH0H^D;qITN@^IwU{k zQ^F|x8a)(7em%JiCMf?PQRDC+6&?VSao~LNnLOj5hN*w;4uA>PJMeiKO21(2G!bf0O z_M%+ID{V6KSc$f8w28F8cy*=^CPnms(=8Uaj&x2teC&GrEG_Wg#H7ppYUq!@Xy2aX z(zOxrVX|~SG=g}E42Gcv@RRTnrnjkOCV{d?K;%O~AZkw3Ca4u>L0u^`0X2vn^~Y!N$^zhN7a1j;dS|0-m+|$mKISA+Tu~aSau3%?O3D)`8gMp-7T*4 zD10Jc3`@I}X@j_i+PPw2Beg4gRu^h&q!Z>afD0MC96ln?y;(1O#0a48Xy3wW<+gQ$ zc5IIU!XX)uS*Ng8gB{70!stv?X>X$U_+zkj0tESVYDp|X*7pOq^VB0%KO>j5A zegtdt{m2)LI-QtJI(Vib3&zraKjiiT=0Xf_+K`K|eDnR&2qcCDP+pf^ijq=Iqb=7p z9GENmMDV4L($OiFkh>**Bx6esZ2V8Y;ILrkbY1f`;Kx}MlmJ9xZ@s1~QXgnd$e zYKyxq54=Y4@9pQ}Chj`dV$cJyybjR}^JXhM47m=Nl)|UEpx=nVL==j#)L5C*t8Ayh z#Wr=btN7YdXDBJY6*PjU+DxVv{55E!TRIZ&B>hezMYFxp27T5PDgxj3H8q+#vl{lZ znkyy%xbJ~KpANf8v`42ypl&Fpceq@Spuk=88;3RbF-Gz02;gcYyQ(pE+Z>%lB|)9e z_?v^Iz$KT}1~mPT;Lj|UB1*L+0zOR40>eFLwu#UL1*|9#~INMJs( z$^rJAP$HqiAhUbXk7bnv`?dy*XfSR24tSk!y@C=#qHbFg@mAX$e#N3k0wMl2g7jZH zBnSje5lJ+?Eosbrx_xxJ$PHV=SLqq%btmyHo4N%?@)VmsXyKAyx9dm9K-0$w%VAPG z^3TPtT0$#YbliVu3w78!C+TRj5V)Yglt%r}!%_4MZMJ4h^0M|iVFu{rWzo-Ln4rxv z0w$Gt@B`;cq9r@=LL3z6pwBQ(^?bWq@2YqeUOb-K=VhUImpYju{K^|sFSSIX;M*6OcvHh4KVTq|z~ zTx$sBY>aenj4f|WSZln=*_7tolzAESUu!Dhd{FHC;7<92inRy#IUm+KKWr?2*u3`e zF=un9bMw>k<`-+tuQ^)=oLffL9?aZsnc-~BkuH1lyhU=QGU4*#Uthi&Z~wwHTjg6N z(<8LI%+bZKviomWtFG16-YHN+T^A#5-7N}e+b@@jTykVp6YWmh4QfvVkiZUTlJw)s z`j0QyuJ0l-+_X77tCnV&LtN_pV1qbxM`8O*smC%s;z?4{s>By!VouGVjtby4o#jcz zSy8d58>rhtr}1|&ET`I_itm`_YEu^%TQJC`O$(e!((hD7WF^whKhi0byqXPME)Z&db<5(Sr zBa*0MwQeP(=K8qEIi60(Z}8`AE_8cx1jk|LZ4IG7EOe!t2JZP(qO{Pjg40`SsF@k| zL9U-g2vgxj50m|MCc-j8i)(2J)w3?Zbn0TbMN)3^rQ#|5tadLXPx~Qa`_vH{w!d6MEc(C~pH<>z zw_)hN{EqMJJh-R%C^qpt&;1{8o9JF)_!~Tm$fEK9trQnlVyMyDUKAfS-`Ws9%y`kz zbS>f1xB!vQV0EBtQ*55sit9WRF5okIE?Y|8$Ds!TeI^?|qp?1qi?GJ}i~fV$eYJ z7)W!wP^yyU4LHzjl~ca2BR+U6x`$RR*W;q67XSX2AD%hENVw^3qW>${A_)Zu(pC8ztoiDK641-`1?9qObpF`IsfPNsy=~J%ZJ6RfY0U?k zJgJ~_^*Dw;SRoDo@+$2IYX>7_GHOq#@XBe&u=t4UVS)Yi{1t*~*R1G9S%gO^O=92I zW|*lFF`pajHmx$J0o=D7afK5PwGCQ;vp=rbWbeXQa<5GoWK^N1zDmG;duXMV$%!2t zkV}11moaPXCW;c;?e5B7B^`f@9`FEA)O$CMzI}YxoABo!gL===7LTowB0OX*qo$wbc7m>yh9TWY5;-u9Ml{_QpOMXQL47RV<< zD_K1r5$JUTLE}Ur4k`t0)wUz0u9=B^E7=osewmBzGlA*WCkK9= z)0%X_UD(xGq!F^opfK-P1;vvMz{Of!kRekb{L{nhb#Hy&IU9=tI$7;_tNaqJ2Td2Q zBYD_zfmPs&4I)+wkf|_uU;7M*7ctPfYcHUUY_hkZ2)QN9*EjJ7%vx0)eX!vuP>8~~ zPO4%*J+njV(FF5_g@5qY8_5SF4G@Qv1wfY@WW6Q z?B!cKugMU-U}O1(j11FGkx69VSF-5?6&|9DH}Eyv{U%iS{AEfj03UHbVmQdKa62Pl z64Gi~_<(UJ58=#L$7*dKW^FqAf}e%TK@J%>sK{g0)fXcd5Nju{ok4=8l?eTPQe-TA zPPpx8RV5hFGgVb?U2sP*y7EG@Uf~Db6S^^ywe5yQh`2du^)I~fE#?M1hUfaaBH50w z;KuiH-R7x2MR7Ho`cxa`k~g--p;iGX!uv}JZR6krZH1e-Lxuj$zY;2d%A?p_Fi$_F ziKBkAvFEW*)O*;sZmY{9Va<(vKL2!`pg*H9T)Rd_ST;My_t9s+>??-eHKCn9&;#fT zQzH|lm20wSP+w!o@rXKlmby`!rZ;fX10jx$Do~SN5j|D)BXn13wLub6fJ!PfQ~h%_ zlks=9cjR4Rg#lP`5`pfk@s7wCdA_l?Um>nOTcfeV(+Lp9M?SB?YN?E~MvuVXofDDG z=wX$OVFc()gP7E_Hy70gKgd^SQ`z4h<|2!?^J=X|S#2KDKBPQFBqQ`9x%dSJU`U*N zhOdeGKp{3<*CcLE=~ei<@1J>MC9J9)&7s21ogl0n$sCYDs48(q+1 z`uWBqZg-V@B%rSA=eZ7K&%Mb<>dtp;Y|dkwQghCP_U`chLt<9PVAUkVL?I|LkmLA+ zVccqApxztnFi}hLKiR3UV7rjK&kJaNyc7JBwEbW*mQxYgy7Y}WKtaRl+$VYs+xkjXhQTeXK`bvNpW`U~x! zd8{=>F#8M1V+bOe-_sY}8$PYKa73kA`9bs+%YF{U2^l`N$ggi^+)uj=Uf{i5)#KD^ zU~r_i+0swEbGJ3NK^3`0bHdHrTxlP8(7upf+r==)Ca=K8L|ExI;qYUKOmvy3Hz-tU zGC?0f0+AQb9cYza`j9XkJu6q^gP$)1k(^imEY|YIR-#hAT^x-KzO5>1@0bZ648%XD2vFXekL+GFi&+E2}`oqSEHl&Vh@c?qtD5H>K zle4SsCo^^Xi3ezDby3&-g>NbfhfRa*RGHV@{=>RsNE<<7Ju64--&4U_p8d#U>n&tg zyr7mq-xwWRBBxe0_0OQnx{R$3shyMkXVX)|bwxnL;Clm$0xCLkBH`Rm5Rb6Pv*f!R zD(3nGCxNCMvO}1;V}4uf1M(=!*s&xnO>czG?Gpo?NTFik$>IX!SX+)&A9}JlO=Mq< zrrEC)e4BWAum44>&ATI`COw=8<;NM2V)xRb&iL&BoVuLsNED~FJnu7uuD9N}Y{0s} z8R3aRl~rG?KXtU2Ko(n&6;*=L8?2$thg#0<$GJOm#aW=_FK62oOgnw=X9Gz+Tpg&+ ztdHuzYq1n@{9VthzAR%@@`kA$fnvQ5(Y*-E{-n8gLasR`8Wu6n&@T~(sE5559$0(h z?>ds552~@eCfcKO8c%k(xd8|v*vr4WA)o1qI=F;LQwywM7wO2W4+Tr50+`tQ>ZQ*e zFFOeRCh}g*R&r_Q^`ZrKw_L_(=@ie$w&!x)3UDf^R?oDZ@wAQh_ygao;L_(EO)r=m zO(Dm&>Uad|Wx@{Vp%mY#Y@c1GugRQGxG2091x5h1Xd8QGL{)z)CVF!stb zq2(MpX|X?H*+)`$26x!RJ-8bEc)G`ZUSKmKQP13Xd0{qnpFG|pi7k}|Mh`aRgJ4?Our-OmzYsok&J~W5u#h+c6AqsuG)BCU3fx@ zOerh#y(&o85#0l*fWjO?bqiVR1HWLVPmASvEu=}mmDGRvFlm4khI_hLv*6l*_KlI; z?GQI>78WwB5sHO+#sSDTUV9io5V((3e&}i;(QpD|xJ4D5u{%su>lA5I1Z>;(1^`k* zM!Xe9k>b&R0ZNeGQbivkryG5V#Hk&ePQP&1Kf#)ZzAXs)jX)$SiUOQ zST)0Ixafc(vYj1S{aaYBPWSE``YqinYYW8bBeg|E-Zg;RV7MnkC)YBbPP9r%QwHIK z_ZIn%No>matONfn?2|9g1E}(d0->?9etq+509?#jjix9rR!}jLqq^w;DnE zlp=E3O~#8ju(Kw-g&E8;y0Ee2(-nc+k?>9PEL^eJk0J-wN#$u+At=RT%!wF{3SnB-Lw+IG}$ZKob~8^~1i zSw#TJR&nNJs&BL27XW#Le2 z4|gZ^au6W4gFO?0C`m?7!5QOz=>PSg)7B1TE991HFC!B@dSuAQU?LJ3q%S~(E_W@cf^-u5XI-wCOjJY3huGKa%dNXp^DN9~0YogJFbieqDb|T(Y(k<;4^Ue1 zy5%-^^vEpKzb{|y)KH~ssJy%VU`aR;%h9IMgI zyF6=he+4c|zPN8su`;Hret}F>`XphcBZ|YvbF|a6MF>X$I9cN1Qg}IRcpZ0A@gzczolmIP>;qy#6=Pt`jJzM%?;?2k(AT%3 z*o(!k`+-s^DJ@O@@WTKkt}T#|%JtP&Y+=&1#cx@vcWU3)N&R1Xe z3;1?)^v*GF7jn;~t15QU()^%?GdmEDom1uc%Y22F$?~4VdAzmk5+#*<{Je3Th$h+m zv}Vzloh&|R5crLlHs%_?HE#47qF2x3t&oB_i->zgHD|SS+uKT017uVcmtpdY^P#eV zKTpOxSyE&Xid38+LpTM=B+bRtYU4y*lZzZAqP3q7XiJbz;JA#JRIJFkKg@5Ng*CGZ zxqonRaY?A3bg&8}Y3y@Zde)qK2%T>RAZv?X^fS42zn+R>_?FNsaqRBB$Prq5!Bret z67}o#&uG`x3iYLZHWL8@nU6UahP{m8KogHw{e zFhP{lg_1rh8vLieE2^!dy2euH6sdZDliL){>H)QL+aEvS+UN4U&FU6v3WTVBom__@ zB_Hw6gI82bZ~6=>Mh{U6hioT@+;Z(-9S(U)411Xki?k2<*^5*;)Wn>%v7Wh7y8B=PgeP5RLkiP1E(QDV?&=4X-5Iiop~qj|l$eks-Y5@W?? zV`FlUHeQ6^Y8k7T9CNH;pq3rED=}XCdGw|=OC1DoA|r2c0PPMltD~Q2m$;Z%O?@V= zIPo-h;x0Wa5+AbMA^a74om4(CU^bcAJ3%DS2_I3{5@nFo{X_IqbLSMh@0cd$tnN0J zEX>r~$*CJRB)8D~ZtXxY4S?yy{9W$!{^#NMpJRwsJx}Bv4En zvtkZv{XgkvsqWrgn1uh!5L=P(+}d{oPR%kTI*v^8FofUbFVzn(YGcfsT1A1c_ym&>!REgoW zB`@&qJ(QS0wHt9Q+9kFPQBqWiA$=&d0J zB(I3-z7)KZCzwuNp#8Aw$ivic1*02Tb(-(TclkD@E2TP#B2+Gac~jQ;q82yP@7!;- zezGMx8UCmnO+pNbt0Ru_Jc|vh>vk`!6z*}+3<|SjrP=fz*x0`af9D^tKIUe36<~5+ z#ns8chIV>77xlKods?&)yp$$pEYmfUn)vrWZ~peI!8(Na6#T}Ii*mHQ#DK@R*{17M4vBydxNdTL zgfp%I)`cA5xPOSsC(Ln6hz#65s9L()ikGGwaql0OLd*ql`VAJuDq=N%XZNV!$2&x6 za(megW=?IH(bheKXw=msm0fte0t)H=umEMpz7SbXrZX<5id$R(92z93;$u@ ztIN&s1WRMMA=1oa3)vqwkO$%}K@DIFpFHlqdPr?p?3B8eaf+I)`j45^Z~v00KN7nVQpna0?{M9{9!R$ ze+f<_LO3Z*cIyltG#bde1#}L>bZ_!Q�VafMnIOJDeC%sUIdc9fL^Yig)%94pdMR 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 - -declare namespace Cypress { - // eslint-disable-next-line @typescript-eslint/no-unused-vars - interface Chainable { - /** - * Get one or more DOM elements by an XPath selector. - * **Note:** you can test XPath expressions from DevTools console using $x(...) function, for example $x('//div') to find all divs. - * @see https://github.com/cypress-io/cypress-xpath - * @example - * cy.xpath(`//ul[@class="todo-list"]//li`) - * .should('have.length', 3) - */ - xpath(selector: string, options?: Partial): Chainable> - } -} diff --git a/npm/xpath/src/index.js b/npm/xpath/src/index.js deleted file mode 100644 index 62001bebf9a7..000000000000 --- a/npm/xpath/src/index.js +++ /dev/null @@ -1,165 +0,0 @@ -/* eslint-disable no-redeclare */ -/// - -/** - * Adds XPath support to Cypress using a custom command. - * - * @see https://devhints.io/xpath - * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Introduction_to_using_XPath_in_JavaScript - * @example - ```js - it('finds list items', () => { - cy.xpath('//ul[@class="todo-list"]//li') - .should('have.length', 3) - }) - ``` - */ -const xpath = (subject, selector, options = {}) => { - /* global XPathResult */ - const isNumber = (xpathResult) => { - return xpathResult.resultType === XPathResult.NUMBER_TYPE - } - const numberResult = (xpathResult) => xpathResult.numberValue - - const isString = (xpathResult) => { - return xpathResult.resultType === XPathResult.STRING_TYPE - } - const stringResult = (xpathResult) => xpathResult.stringValue - - const isBoolean = (xpathResult) => { - return xpathResult.resultType === XPathResult.BOOLEAN_TYPE - } - const booleanResult = (xpathResult) => xpathResult.booleanValue - - const isPrimitive = (x) => { - return Cypress._.isNumber(x) || Cypress._.isString(x) || Cypress._.isBoolean(x) - } - - // options to log later - const log = { - name: 'xpath', - message: selector, - } - - if (Cypress.dom.isElement(subject) && subject.length > 1) { - throw new Error( - `xpath() can only be called on a single element. Your subject contained ${ - subject.length - } elements.`, - ) - } - - const getValue = () => { - let nodes = [] - let contextNode - let withinSubject = cy.state('withinSubject') - - if (Cypress.dom.isElement(subject)) { - contextNode = subject[0] - } else if (Cypress.dom.isDocument(subject)) { - contextNode = subject - } else if (withinSubject) { - contextNode = withinSubject[0] - } else { - contextNode = cy.state('window').document - } - - let iterator = (contextNode.ownerDocument || contextNode).evaluate( - selector, - contextNode, - ) - - if (isNumber(iterator)) { - const result = numberResult(iterator) - - log.consoleProps = () => { - return { - XPath: selector, - type: 'number', - result, - } - } - - return result - } - - if (isString(iterator)) { - const result = stringResult(iterator) - - log.consoleProps = () => { - return { - XPath: selector, - type: 'string', - result, - } - } - - return result - } - - if (isBoolean(iterator)) { - const result = booleanResult(iterator) - - log.consoleProps = () => { - return { - XPath: selector, - type: 'boolean', - result, - } - } - - return result - } - - try { - let node = iterator.iterateNext() - - while (node) { - nodes.push(node) - node = iterator.iterateNext() - } - - log.consoleProps = () => { - return { - XPath: selector, - result: nodes.length === 1 ? nodes[0] : nodes, - } - } - - return nodes - } catch (e) { - console.error('Document tree modified during iteration', e) - - return null - } - } - - const resolveValue = () => { - return Cypress.Promise.try(getValue).then((value) => { - if (!isPrimitive(value)) { - value = Cypress.$(value) - // Add the ".selector" property because Cypress uses it for error messages - value.selector = selector - } - - return cy.verifyUpcomingAssertions(value, options, { - onRetry: resolveValue, - }) - }) - } - - return resolveValue().then((value) => { - if (options.log !== false) { - // TODO set found elements on the command log? - Cypress.log(log) - } - - return value - }) -} - -Cypress.Commands.add( - 'xpath', - { prevSubject: ['optional', 'element', 'document'] }, - xpath, -) diff --git a/nx.json b/nx.json new file mode 100644 index 000000000000..95b555823a81 --- /dev/null +++ b/nx.json @@ -0,0 +1,48 @@ +{ + "tasksRunnerOptions": { + "default": { + "runner": "nx-cloud", + "options": { + "cacheableOperations": [ + "lint" + ], + "accessToken": "ZmNlNjA0YzAtNTM1NS00MDIwLWFlMWItNWYxYzNiMjQ4N2VkfHJlYWQtb25seQ==" + } + } + }, + "targetDefaults": { + "lint": { + "inputs": [ + "default", + "{workspaceRoot}/.eslintrc.js" + ] + }, + "build": { + "dependsOn": [ + "^build" + ] + }, + "build-prod": { + "dependsOn": [ + "^build-prod" + ] + } + }, + "namedInputs": { + "sharedGlobals": [], + "default": [ + "{projectRoot}/**/*", + "sharedGlobals" + ], + "production": [ + "default", + "!{projectRoot}/**/*.spec.ts", + "!{projectRoot}/**/*.md", + "!{projectRoot}/tsconfig.spec.json", + "!{projectRoot}/.eslintrc.json", + "!{projectRoot}/.mocharc.{js,json}", + "!{projectRoot/cypress.config.{ts,js}", + "!{projectRoot/**/*.cy.ts" + ] + } +} diff --git a/package.json b/package.json index 431178769b15..f8b22384f38d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cypress", - "version": "12.11.0", + "version": "12.14.0", "description": "Cypress is a next generation front end testing tool built for the modern web", "private": true, "scripts": { @@ -13,7 +13,7 @@ "binary-upload": "node ./scripts/binary.js upload", "binary-zip": "node ./scripts/binary.js zip", "build": "yarn build-npm-modules && lerna run build --stream --no-bail --ignore create-cypress-tests --ignore cypress --ignore \"'@packages/{runner}'\" --ignore \"'@cypress/{angular,react,react18,vue,vue2,mount-utils,svelte}'\" && node ./cli/scripts/post-build.js && lerna run build --stream --scope create-cypress-tests", - "build-npm-modules": "lerna run build --scope cypress --scope @cypress/mount-utils && lerna run build --scope \"'@cypress/{angular,react,react18,vue,vue2,svelte}'\"", + "build-npm-modules": "lerna run build --scope cypress --scope @cypress/mount-utils --scope @cypress/react && lerna run build --scope \"'@cypress/{angular,react18,vue,vue2,svelte}'\"", "build-prod": "lerna run build-prod-ui --stream && lerna run build-prod --stream --ignore create-cypress-tests && node ./cli/scripts/post-build.js && lerna run build-prod --stream --scope create-cypress-tests --scope", "build-v8-snapshot-dev": "node --max-old-space-size=8192 tooling/v8-snapshot/scripts/setup-v8-snapshot-in-cypress.js --env=dev", "build-v8-snapshot-prod": "node --max-old-space-size=8192 tooling/v8-snapshot/scripts/setup-v8-snapshot-in-cypress.js", @@ -41,7 +41,7 @@ "ensure-deps": "./scripts/ensure-dependencies.sh", "get-next-version": "node scripts/get-next-version.js", "postinstall": "node ./scripts/run-postInstall.js", - "lint": "lerna run lint --no-bail --concurrency 2 && eslint --ext .js,.ts,.json, scripts", + "lint": "lerna run lint --no-bail --concurrency 2", "prepare-release-artifacts": "node ./scripts/prepare-release-artifacts.js", "npm-release": "node scripts/npm-release.js", "prestart": "yarn ensure-deps", @@ -85,6 +85,7 @@ "@graphql-tools/delegate": "8.2.1", "@graphql-tools/utils": "8.2.3", "@graphql-tools/wrap": "8.1.1", + "@nrwl/nx-cloud": "16.0.5", "@octokit/auth-app": "3.6.1", "@octokit/core": "3.6.0", "@percy/cli": "1.2.0", @@ -119,7 +120,6 @@ "@typescript-eslint/eslint-plugin": "4.18.0", "@typescript-eslint/parser": "4.18.0", "@urql/introspection": "^0.3.0", - "arg": "4.1.2", "ascii-table": "0.0.9", "autobarrel": "^1.1.0", "aws-sdk": "2.814.0", @@ -158,7 +158,6 @@ "filesize": "4.1.2", "fs-extra": "9.1.0", "getenv": "^1.0.0", - "gift": "0.10.2", "glob": "7.1.6", "got": "11.8.5", "graphql": "^15.5.1", @@ -174,7 +173,7 @@ "inquirer": "3.3.0", "inquirer-confirm": "2.0.3", "lazy-ass": "1.6.0", - "lerna": "3.22.1", + "lerna": "5.4.3", "lint-staged": "11.1.2", "listr2": "3.8.3", "lodash": "^4.17.21", @@ -195,7 +194,6 @@ "semantic-release-monorepo": "7.0.3", "semver": "7.3.2", "shelljs": "0.8.5", - "shx": "0.3.3", "sinon": "7.3.2", "snap-shot-it": "7.9.3", "start-server-and-test": "1.10.8", @@ -246,7 +244,8 @@ "packages/*", "npm/*", "tooling/*", - "system-tests" + "system-tests", + "scripts" ], "nohoist": [ "**/webpack-preprocessor/babel-loader", diff --git a/packages/app/cypress/e2e/cypress-in-cypress-component.cy.ts b/packages/app/cypress/e2e/cypress-in-cypress-component.cy.ts index 1971468fd7e9..ed0cb53db0f7 100644 --- a/packages/app/cypress/e2e/cypress-in-cypress-component.cy.ts +++ b/packages/app/cypress/e2e/cypress-in-cypress-component.cy.ts @@ -1,7 +1,7 @@ import type { SinonStub } from 'sinon' import defaultMessages from '@packages/frontend-shared/src/locales/en-US.json' import { getPathForPlatform } from '../../src/paths' -import { snapshotAUTPanel } from './support/snapshot-aut-panel' +// import { snapshotAUTPanel } from './support/snapshot-aut-panel' describe('Cypress In Cypress CT', { viewportWidth: 1500, defaultCommandTimeout: 10000 }, () => { context('default config', () => { @@ -24,19 +24,22 @@ describe('Cypress In Cypress CT', { viewportWidth: 1500, defaultCommandTimeout: cy.contains('Canary').should('be.visible') cy.findByTestId('viewport').click() - snapshotAUTPanel('browsers open') + // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 + // snapshotAUTPanel('browsers open') cy.contains('Canary').should('be.hidden') cy.contains('The viewport determines the width and height of your application under test. By default the viewport will be 500px by 500px for component testing.') .should('be.visible') - snapshotAUTPanel('viewport info open') + // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 + // snapshotAUTPanel('viewport info open') cy.get('body').click() cy.findByTestId('playground-activator').click() cy.findByTestId('playground-selector').clear().type('[data-cy-root]') - snapshotAUTPanel('cy.get selector') + // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 + // snapshotAUTPanel('cy.get selector') cy.findByTestId('playground-num-elements').contains('1 match') @@ -50,7 +53,8 @@ describe('Cypress In Cypress CT', { viewportWidth: 1500, defaultCommandTimeout: cy.findByTestId('playground-selector').clear().type('Component Test') - snapshotAUTPanel('cy.contains selector') + // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 + // snapshotAUTPanel('cy.contains selector') cy.findByTestId('playground-num-elements').contains('1 match') diff --git a/packages/app/cypress/e2e/cypress-in-cypress-e2e.cy.ts b/packages/app/cypress/e2e/cypress-in-cypress-e2e.cy.ts index 937fe12ecb2f..677feff1e164 100644 --- a/packages/app/cypress/e2e/cypress-in-cypress-e2e.cy.ts +++ b/packages/app/cypress/e2e/cypress-in-cypress-e2e.cy.ts @@ -1,5 +1,5 @@ import defaultMessages from '@packages/frontend-shared/src/locales/en-US.json' -import { snapshotAUTPanel } from './support/snapshot-aut-panel' +// import { snapshotAUTPanel } from './support/snapshot-aut-panel' import { getPathForPlatform } from '../../src/paths' describe('Cypress In Cypress E2E', { viewportWidth: 1500, defaultCommandTimeout: 10000 }, () => { @@ -28,7 +28,8 @@ describe('Cypress In Cypress E2E', { viewportWidth: 1500, defaultCommandTimeout: .focus() .type('{esc}') - snapshotAUTPanel('browsers open') + // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 + // snapshotAUTPanel('browsers open') cy.contains('Canary').should('be.hidden') @@ -36,14 +37,16 @@ describe('Cypress In Cypress E2E', { viewportWidth: 1500, defaultCommandTimeout: cy.contains('The viewport determines the width and height of your application under test. By default the viewport will be 1000px by 660px for end-to-end testing.') .should('be.visible') - snapshotAUTPanel('viewport info open') + // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 + // snapshotAUTPanel('viewport info open') cy.get('body').click() cy.findByTestId('playground-activator').click() cy.findByTestId('playground-selector').clear().type('li') - snapshotAUTPanel('cy.get selector') + // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 + // snapshotAUTPanel('cy.get selector') cy.findByTestId('playground-num-elements').contains('3 matches') @@ -64,7 +67,8 @@ describe('Cypress In Cypress E2E', { viewportWidth: 1500, defaultCommandTimeout: cy.findByTestId('playground-selector').clear().type('Item 1') - snapshotAUTPanel('cy.contains selector') + // TODO: restore when Percy CSS is fixed. See https://github.com/cypress-io/cypress/issues/23435 + // snapshotAUTPanel('cy.contains selector') cy.findByTestId('playground-num-elements').contains('1 match') diff --git a/packages/app/cypress/e2e/cypress-in-cypress.cy.ts b/packages/app/cypress/e2e/cypress-in-cypress.cy.ts index d49d3bf8aaba..5e553e0e9ddd 100644 --- a/packages/app/cypress/e2e/cypress-in-cypress.cy.ts +++ b/packages/app/cypress/e2e/cypress-in-cypress.cy.ts @@ -395,4 +395,37 @@ describe('Cypress in Cypress', { viewportWidth: 1500, defaultCommandTimeout: 100 expect(ctx.actions.project.initializeActiveProject).to.be.called }) }) + + describe('runSpec mutation', () => { + it('should trigger expected spec from POST', () => { + startAtSpecsPage('e2e') + + cy.contains('E2E specs').should('be.visible') + + cy.withCtx(async (ctx) => { + const url = `http://127.0.0.1:${ctx.gqlServerPort}/__launchpad/graphql?` + const payload = `{"query":"mutation{\\nrunSpec(specPath:\\"cypress/e2e/dom-content.spec.js\\"){\\n__typename\\n... on RunSpecResponse{\\ntestingType\\nbrowser{\\nid\\nname\\n}\\nspec{\\nid\\nname\\n}\\n}\\n}\\n}","variables":null}` + + ctx.coreData.app.browserStatus = 'open' + + /* + Note: If this test starts failing, this fetch is the likely culprit. + Validate the GQL payload above is still valid by logging the fetch response JSON + */ + + await ctx.util.fetch( + url, + { + method: 'POST', + headers: { + 'content-type': 'application/json', + }, + body: payload, + }, + ) + }) + + cy.contains('Dom Content').should('be.visible') + }) + }) }) diff --git a/packages/app/cypress/e2e/runner/cloud-debug-filter.cy.ts b/packages/app/cypress/e2e/runner/cloud-debug-filter.cy.ts index 38da4f465330..88906b157cd9 100644 --- a/packages/app/cypress/e2e/runner/cloud-debug-filter.cy.ts +++ b/packages/app/cypress/e2e/runner/cloud-debug-filter.cy.ts @@ -55,12 +55,6 @@ describe('cloud debug test filtering', () => { cy.get('@reporterPanel').then((el) => el.width(500)) cy.get('@reporterPanel').percySnapshot('wide') - cy.get('@reporterPanel').then((el) => el.width(350)) - cy.get('@reporterPanel').percySnapshot('medium') - - cy.get('@reporterPanel').then((el) => el.width(250)) - cy.get('@reporterPanel').percySnapshot('narrow') - cy.get('@reporterPanel').then((el) => el.width(150)) cy.get('@reporterPanel').percySnapshot('skinny') }) diff --git a/packages/app/cypress/e2e/runs.cy.ts b/packages/app/cypress/e2e/runs.cy.ts index f9df449949c4..30c1d5e69f87 100644 --- a/packages/app/cypress/e2e/runs.cy.ts +++ b/packages/app/cypress/e2e/runs.cy.ts @@ -2,6 +2,10 @@ import defaultMessages from '@packages/frontend-shared/src/locales/en-US.json' import type { SinonStub } from 'sinon' function moveToRunsPage (): void { + cy.withCtx((ctx, o) => { + o.sinon.stub(ctx.lifecycleManager.git!, 'currentBranch').value('fakeBranch') + }) + cy.findByTestId('sidebar-link-runs-page').click() cy.findByTestId('app-header-bar').findByText('Runs').should('be.visible') cy.findByTestId('runs-container').should('be.visible') @@ -34,6 +38,9 @@ describe('App: Runs', { viewportWidth: 1200 }, () => { cy.scaffoldProject('component-tests') cy.openProject('component-tests') cy.startAppServer('component') + cy.withCtx((ctx, o) => { + o.sinon.stub(ctx.lifecycleManager.git!, 'currentBranch').value('fakeBranch') + }) }) it('resolves the runs page', () => { @@ -99,7 +106,7 @@ describe('App: Runs', { viewportWidth: 1200 }, () => { moveToRunsPage() cy.contains('a', 'OVERLIMIT').click() - cy.withCtx((ctx) => { + cy.withCtx((ctx, o) => { expect((ctx.actions.electron.openExternal as SinonStub).lastCall.lastArg).to.contain('http://dummy.cypress.io/runs/4') }) }) @@ -315,6 +322,7 @@ describe('App: Runs', { viewportWidth: 1200 }, () => { cy.withCtx(async (ctx, o) => { o.sinon.spy(ctx.cloud, 'executeRemoteGraphQL') + o.sinon.stub(ctx.lifecycleManager.git!, 'currentBranch').value('fakeBranch') const config = await ctx.project.getConfig() expect(config.projectId).to.not.equal('newProjectId') @@ -323,7 +331,7 @@ describe('App: Runs', { viewportWidth: 1200 }, () => { moveToRunsPage() cy.findByText(defaultMessages.runs.connect.buttonProject).click() cy.contains('button', defaultMessages.runs.connect.modal.selectProject.createProject).click() - cy.findByText(defaultMessages.runs.connectSuccessAlert.title, { timeout: 10000 }).should('be.visible') + cy.findByText(defaultMessages.runs.connectSuccessAlert.title, { timeout: 10000 }).scrollIntoView().should('be.visible') cy.withCtx(async (ctx) => { const config = await ctx.project.getConfig() @@ -577,7 +585,7 @@ describe('App: Runs', { viewportWidth: 1200 }, () => { }) }) - context('Runs - No Runs', () => { + context('Runs - No Runs', { viewportWidth: 1280 }, () => { it('when no runs and not connected, shows connect to Cypress Cloud button', () => { cy.scaffoldProject('component-tests') cy.openProject('component-tests', ['--config-file', 'cypressWithoutProjectId.config.js']) @@ -602,7 +610,6 @@ describe('App: Runs', { viewportWidth: 1200 }, () => { it('displays how to record prompt when connected and no runs in Component Testing', () => { scaffoldTestingTypeAndVisitRunsPage('component') cy.contains(defaultMessages.runs.empty.title).should('be.visible') - cy.contains(defaultMessages.runs.empty.description).should('be.visible') cy.findByDisplayValue('npx cypress run --component --record --key 2aaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa').should('be.visible') }) @@ -610,7 +617,6 @@ describe('App: Runs', { viewportWidth: 1200 }, () => { scaffoldTestingTypeAndVisitRunsPage('e2e') cy.contains(defaultMessages.runs.empty.title).should('be.visible') - cy.contains(defaultMessages.runs.empty.description).should('be.visible') cy.findByDisplayValue('npx cypress run --record --key 2aaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa').should('be.visible') }) @@ -759,6 +765,10 @@ describe('App: Runs', { viewportWidth: 1200 }, () => { }) it('should remove the alert warning if the app reconnects to the internet', () => { + cy.withCtx((ctx, o) => { + o.sinon.stub(ctx.lifecycleManager.git!, 'currentBranch').value('fakeBranch') + }) + cy.loginUser() cy.visitApp() cy.wait(1000) diff --git a/packages/app/cypress/e2e/specs_list_e2e.cy.ts b/packages/app/cypress/e2e/specs_list_e2e.cy.ts index b44e023ed40f..b3309e40c975 100644 --- a/packages/app/cypress/e2e/specs_list_e2e.cy.ts +++ b/packages/app/cypress/e2e/specs_list_e2e.cy.ts @@ -41,7 +41,7 @@ describe('App: Spec List (E2E)', () => { }) cy.visitApp() - cy.contains('E2E specs') + cy.verifyE2ESelected() } const clearSearchAndType = (search: string) => { @@ -67,10 +67,6 @@ describe('App: Spec List (E2E)', () => { cy.findByTestId('app-header-bar').findByText('Specs').should('be.visible') }) - it('shows the "E2E specs" label as the header for the Spec Name column', () => { - cy.findByTestId('specs-testing-type-header').should('contain', 'E2E specs') - }) - it('shows a git status for each spec', () => { cy.findAllByTestId('git-info-row').each((row) => { cy.wrap(row).find('svg').should('have.length', 1) @@ -85,6 +81,18 @@ describe('App: Spec List (E2E)', () => { cy.findAllByTestId('spec-item').should('contain', 'dom-content.spec.js') }) + it('lists files after folders when in same directory', () => { + cy.findAllByTestId('row-directory-depth-2').first().click() + + const rowId = getPathForPlatform('speclist-cypress/e2e/admin_users/').replaceAll('\\', '\\\\') + + cy.get(`[id="${rowId}"]`) + .next() + .should('contain', 'admin.user') + .next() + .should('contain', 'admin_users_list.spec.js') + }) + it('opens the "Create new spec" modal after clicking the "New specs" button', () => { cy.findByTestId('standard-modal').should('not.exist') cy.findByTestId('new-spec-button').click() diff --git a/packages/app/cypress/e2e/specs_list_flaky.cy.ts b/packages/app/cypress/e2e/specs_list_flaky.cy.ts index c6419bb1b0cd..b3c1b34285cb 100644 --- a/packages/app/cypress/e2e/specs_list_flaky.cy.ts +++ b/packages/app/cypress/e2e/specs_list_flaky.cy.ts @@ -93,7 +93,7 @@ describe('App: Spec List - Flaky Indicator', () => { }) cy.visitApp() - cy.contains('E2E specs') + cy.verifyE2ESelected() }) it('shows the "Flaky" badge on specs considered flaky', () => { diff --git a/packages/app/cypress/e2e/specs_list_switcher.cy.ts b/packages/app/cypress/e2e/specs_list_switcher.cy.ts new file mode 100644 index 000000000000..6bade8ff5036 --- /dev/null +++ b/packages/app/cypress/e2e/specs_list_switcher.cy.ts @@ -0,0 +1,95 @@ +describe('App: Spec List Testing Type Switcher', () => { + context('ct unconfigured', () => { + beforeEach(() => { + cy.scaffoldProject('cypress-in-cypress') + cy.openProject('cypress-in-cypress') + + cy.withCtx(async (ctx, o) => { + const config = await ctx.file.readFileInProject('cypress.config.js') + const newCypressConfig = config.replace(`component:`, `_component:`) + + await ctx.actions.file.writeFileInProject('cypress.config.js', newCypressConfig) + }) + + cy.startAppServer('e2e') + + cy.visitApp() + cy.verifyE2ESelected() + }) + + it('switches testing types', () => { + cy.findByTestId('testing-type-switch').within(() => { + cy.findByText('Component').click() + }) + + cy.verifyCtSelected() + + cy.contains('Component testing is not set up for this project') + + cy.findByTestId('testing-type-setup-button').should('be.visible') + }) + }) + + context('e2e unconfigured', () => { + beforeEach(() => { + cy.scaffoldProject('cypress-in-cypress') + cy.openProject('cypress-in-cypress') + + cy.withCtx(async (ctx, o) => { + const config = await ctx.file.readFileInProject('cypress.config.js') + const newCypressConfig = config.replace(`e2e:`, `_e2e:`) + + await ctx.actions.file.writeFileInProject('cypress.config.js', newCypressConfig) + }) + + cy.startAppServer('component') + + cy.visitApp() + cy.verifyCtSelected() + }) + + it('switches testing types', () => { + cy.findByTestId('testing-type-switch').within(() => { + cy.findByText('E2E').click() + }) + + cy.contains('End-to-end testing is not set up for this project') + + cy.findByTestId('testing-type-setup-button').should('be.visible') + }) + }) + + context('both testing types configured', () => { + beforeEach(() => { + cy.scaffoldProject('cypress-in-cypress') + cy.findBrowsers() + cy.openProject('cypress-in-cypress') + + cy.startAppServer('component') + + cy.visitApp() + cy.verifyCtSelected() + }) + + it('displays expected switch content', () => { + cy.findByTestId('unconfigured-icon').should('not.exist') + + cy.withCtx((ctx, o) => { + o.sinon.stub(ctx.actions.project, 'setAndLoadCurrentTestingType') + o.sinon.stub(ctx.actions.project, 'reconfigureProject').resolves() + }) + + cy.findByTestId('testing-type-switch').within(() => { + cy.findByText('E2E').click() + }) + + cy.verifyE2ESelected() + + cy.withCtx((ctx) => { + expect(ctx.coreData.app.relaunchBrowser).eq(true) + expect(ctx.actions.project.setAndLoadCurrentTestingType).to.have.been.calledWith('e2e') + expect(ctx.actions.project.reconfigureProject).to.have.been.called + }) + }) + }) +}) diff --git a/packages/app/cypress/e2e/support/e2eSupport.ts b/packages/app/cypress/e2e/support/e2eSupport.ts index 1c9f27434e1a..97620266165a 100644 --- a/packages/app/cypress/e2e/support/e2eSupport.ts +++ b/packages/app/cypress/e2e/support/e2eSupport.ts @@ -16,3 +16,21 @@ beforeEach(() => { // @ts-ignore - dynamically defined during tests using expect(window.top?.getEventManager().autDestroyedCount).to.be.undefined }) + +function e2eTestingTypeIsSelected () { + cy.findByTestId('specs-testing-type-header').within(() => { + cy.findByTestId('testing-type-switch').contains('button', 'E2E').should('have.attr', 'aria-selected', 'true') + cy.findByTestId('testing-type-switch').contains('button', 'Component').should('not.have.attr', 'aria-selected') + }) +} + +Cypress.Commands.add('verifyE2ESelected', e2eTestingTypeIsSelected) + +function ctTestingTypeIsSelected () { + cy.findByTestId('specs-testing-type-header').within(() => { + cy.findByTestId('testing-type-switch').contains('button', 'E2E').should('not.have.attr', 'aria-selected') + cy.findByTestId('testing-type-switch').contains('button', 'Component').should('have.attr', 'aria-selected', 'true') + }) +} + +Cypress.Commands.add('verifyCtSelected', ctTestingTypeIsSelected) diff --git a/packages/app/cypress/e2e/support/execute-spec.ts b/packages/app/cypress/e2e/support/execute-spec.ts index fe0575619fdc..b54013700722 100644 --- a/packages/app/cypress/e2e/support/execute-spec.ts +++ b/packages/app/cypress/e2e/support/execute-spec.ts @@ -18,6 +18,8 @@ declare global { * */ waitForSpecToFinish(expectedResults?: ExpectedResults, timeout?: number): void + verifyE2ESelected(): void + verifyCtSelected(): void } } } diff --git a/packages/app/cypress/e2e/top-nav.cy.ts b/packages/app/cypress/e2e/top-nav.cy.ts index 9cf84d4eede2..46e776dab7fb 100644 --- a/packages/app/cypress/e2e/top-nav.cy.ts +++ b/packages/app/cypress/e2e/top-nav.cy.ts @@ -699,7 +699,7 @@ describe('Growth Prompts Can Open Automatically', () => { ) cy.visitApp() - cy.contains('E2E specs') + cy.verifyE2ESelected() cy.wait(1000) cy.contains('Configure CI').should('be.visible') }) @@ -717,7 +717,7 @@ describe('Growth Prompts Can Open Automatically', () => { ) cy.visitApp() - cy.contains('E2E specs') + cy.verifyE2ESelected() cy.wait(1000) cy.contains('Configure CI').should('not.exist') }) diff --git a/packages/app/package.json b/packages/app/package.json index 36cc45a7f49a..8d76dda2c293 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -20,8 +20,10 @@ }, "dependencies": {}, "devDependencies": { - "@cypress-design/vue-icon": "0.20.0", - "@cypress-design/vue-statusicon": "0.3.0", + "@cypress-design/vue-button": "^0.10.1", + "@cypress-design/vue-icon": "^0.23.1", + "@cypress-design/vue-statusicon": "^0.4.7", + "@cypress-design/vue-tabs": "^0.5.1", "@graphql-typed-document-node/core": "^3.1.0", "@headlessui/vue": "1.4.0", "@iconify/iconify": "2.1.2", @@ -30,7 +32,7 @@ "@intlify/unplugin-vue-i18n": "0.10.0", "@packages/frontend-shared": "0.0.0-development", "@packages/telemetry": "0.0.0-development", - "@percy/cypress": "^3.1.0", + "@percy/cypress": "^3.1.2", "@popperjs/core": "2.11.6", "@testing-library/cypress": "9.0.0", "@types/faker": "5.5.8", diff --git a/packages/app/src/assets/debug-guide-skeleton-1.png b/packages/app/src/assets/debug-guide-skeleton-1.png deleted file mode 100644 index 2abb50e0bb5063d6aa279f21b4aed80c9494a18b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12695 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 diff --git a/packages/app/src/assets/debug-guide-skeleton-1.svg b/packages/app/src/assets/debug-guide-skeleton-1.svg new file mode 100644 index 000000000000..8d5c836e53b4 --- /dev/null +++ b/packages/app/src/assets/debug-guide-skeleton-1.svg @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/app/src/assets/debug-guide-skeleton-2.png b/packages/app/src/assets/debug-guide-skeleton-2.png deleted file mode 100644 index 44d36ccbe60b7d8b331595909912ca1674bcf131..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14015 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 bb`Ha(a4|Let;>B;&iyNf76v)`E`R+Gmi8Ri diff --git a/packages/app/src/assets/debug-guide-skeleton-2.svg b/packages/app/src/assets/debug-guide-skeleton-2.svg new file mode 100644 index 000000000000..611e8f2ef594 --- /dev/null +++ b/packages/app/src/assets/debug-guide-skeleton-2.svg @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/app/src/assets/debug-guide-skeleton-3.png b/packages/app/src/assets/debug-guide-skeleton-3.png deleted file mode 100644 index 9b7957130f2f0feadb5dd85c0f6dfb3801fd7adf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17369 zcmeIZcT`i~w=cR86chm!0i`N_6$Js2YA8Xf(mRMi6r^|QB?MGNK)^;9g7l8`4k7|d zhtNY2kP;w-76O5UyMyPP`y2PZ@y5GnoPX}SH)AmNAlZBEx#pVXv*!G)a2+jGhBNGE z003Zk_&`Yy08Z)v096{@DexPO3=IYFa@y^|BM$&zy-xX~dZ_o$2KXhFhn}heP~6Lj z0so<~y{~y607_%%51*a{07aLFO7{(XsjyQ4@3QR8`S$p>pQSb!S)11t5RLlTDr&v1 z-Q;iWelsCO&unJd_Cx}BAH@)^EarXoeX3h5Rmvk%^T`C~JDx`XOGDwM5RJE5XNz7i zq6($>8E!`HR^|(PVd`v*Y!A`eX8}fJYyg@R6;)qr=G8*zkx)zg9PzIMjdSqeo zaH+R1Gd4E1;&WWH&mF_pN6v>&G9kBRK-~iX(ezoSNSpoC*0*F@M+;UMtoC>sX)z42 z)M?MJcQ>+ID$2H;H#OgG(^BqV_Awp_GksXCrb!V7cuuGDf9CZpXx{*!=4fqwy+`$_4?I`wC>)v`Xkc8H&yRU_58@X1pYelw9yb!l-C^?goH zP|94bpCK;Z*dcycA^@}H72ElQo$E4Y<&I%6#l>_kJaU8h*xwJmCHvIg{$7vS=OTo8 z5o69~>HA`Oy_2~V0j}SX4tVIMrk#w0<-*!k3P3x_^rolc2Y>n|6!El=En9d*0H4Ow z-P@C+z8z_gOWiEaRpHX0Ji8X5zD`<}a#8YB~1;9KvHh8%M7i>S7rHD#La11v1LBL9%*x}8Wfp`mR8 zJQBLS(s%EER~~X(>6>k?7Jz<&(fzQ{;7vr<|QPUT^jF2xgX+_OhuL=X|pMCo)nUGp5gn z3jb*9(TZw7w>hW!Zuy#;OcJrC=Q-{!3Z73r(Jx%4X5isX1vqIxqZMhE`Rb(`Y8uz1 zia9Zq3z79-Q>v?Yxv#WJwO0Dk-X~d12jrZJww&Q?)oaIwh0FYqgOO214knXv%lmC;x>(1L|@Lp8kX9sn0b%S(n zXb^2QMkCK_%oF`2vue$0(gg2YgLD)%`U;3=m6kfNugjlQ&m6YO7&dq{ z@M4`7)Ts%r>N^1NESJJKLFDZ;4cy|NZcgY8y~oW|OID&oNNutzPBjDPukr&V`%Le% zw_ABc0AR{;Y;v>z!@$7vi!Psd<)_MR3*Vhg-TIN3>id>gd7-fP8bG>X^o^6p!I$f$|j`OMOQ=;oJ2q4%w zq8X_{ONVA&75a4DM?f=}-7tNWYcf8`A85Q?AQNT94FE;Dp=TaT zNn8H~$WN6qhn~#_l~}%n`u=?|&eiA1(e!t=w-XUk zAI0S4^q|RN(gC;3lVA^k{;0VG)@_D15ly!Z1%a~LFwOix|;pGjAu@hO|W<`uliAZ`NO_NvhP4^QU8zCx3Y@neBYdkxt%gK7pB*akn%H=jr>t}Nel&={J*dk-?V%^6y&!@&Y zPoq@Kbwem=uHUgtIm=S2+5Tu*wZQRARQ7v^+G}bo$LX#9pVzmwu_<4D`QUt7+)8NS z0AF^4Gzzp?OQ+K&XljnI4M+&{Hwxuzsn$C+Ui+J%PAjEdq}Nb><8L2y^}g`07pQ^v zv&7LUrQp9=RW}MEB4P@A;_%d6qz4SDSy@>$Qx0}^;OZII-IeP33u)ADyco(=iR#+g zQj^s%H#O6WRPU<984K&&I3L|^4JNkgna=(v@aP#A22GCB$0$hcHod++LF4jiS?fE; zsOYQEu|R-4Avp8gUlBfM9R z^UbUI>2(-pX@Ov&%~)uY4sPhXQBR*xPV?c*ay$aITPK^xGQs6Zdm!DI`^MXx=6KwY zLf+i*rfV-TMAxFs)uyZuDmkYvkQ|A7YDsdXpScg_6q2N?tDfJU&@$L`s(ztb|MGcR zGb(aopg58jRBrHx$lB#3=}N_G)R-y+S>h>u98K2$kRp*aF6xAw|E@gV zXC7&c;C3vnBAq|CRG%ZA_a>w=R_*$fZ>vGlgmkvPdOoA^U<-*Elg&XGMypi3w-bo6 zRK^zFKASOhzxH?us#en}zMA$UT28Ef@gM;q#G&Q4*Pkk8u*oOusGR(!>b#-VfYC10 z)tMvQk5LkQ(B~_tod~;8<#I5($%o7C_fIC_Tm$e9Io_6*N;z?60}_@$o!^AQ*p>0U zHWkv#+`B&h16pXWfwj{hh_}p%=_%O{+Uj3HZUo#=Wp?^!QQ&M3S089$l8r^)v{P;1 zQcpar7fPZaZ?!_d)RJGV1&Hq*GEcw0cWU~6DH?rqQF`+2|9B?=TnRhI>i_H44xRLC zMn-z3rlxu3aj3y9HPS)s9*pVIrAxWydiiG=Gu5sOy~N{c^W&?b0Csk-(8Je9ShgB@h_nS^|v-l>ztq>jGjlL~r%i`3bnm7~gyEU9kx4j2~b7>sH1fI$M` z*Qvg#(BwL^ULHTBY!J*a8Na ztmFe;{)>7L1lckvHMJmAFB0$2bdKdRh*!iUj5GrX(K)}u-&df^emgyVdJmrw+O|Nn z_O1Dl-%2tTLE$KGUna~8q@cn#Ds)-LrjH^eGsE2(>Ul^+zFu!JnV#QO%6CyIq?1tTho*$XeX4+?UhLaM%l$ch>_f0pr*Gb~WVYk9F!0+l-w(_su*3h9Hb+4&}gcf7qtJ-w?Kz)V_dX-?9tUl`zH zy#P364pBK6B+8M0{1TIvZf-;mzZl8r&>B`8m3D!C&TmZ#NPM5zbGmQj4T1MW+rWD@ zcFr}dMJkp_K4%BD8QV+j<}o+fCJ9(neVE>uSP+9Go$*?95-cP|w(N|;YA1rMr10nq znLDb@KI#rRqs{oS*piGhEXxhNOA`_~5?F}@wUzF~#GM|5uMK+EK7&qgUamI<*FE0N zGW)35S9?)NFv}wK)X*+%8j3i(r?w<+JU_MF7r~_6N`~igcS{f*l35E*q?wiZ#X#|x z?a2|anFVuD<`K*r5wcvhi&)VFOg%IlrC^hM8We}16qaxZ~#4XJ^(9NS$iQ%khq zbg?_2{`%N|e^2e+;T&nIwx+j{N5*eql_`0qtVGFoOMpk(oZet@mBppRf5C(};IqEE zr=ZIOC+YeBrWdVbrrxex^7Mk#<$kKi?hg|^Sy)RPVsiP(`>>#5G9Ft=kgkF*3>Mc` zB`*#2=9^i0w*C3>1m0Y~6yPl}H6Pz3<6~XX{$)b$5G);i%|gRh2z{`7x(StCH6=&e zR(-?B#{!YJf)-=49SNnTVtd)6xIFlDAUPRO(*7-;>O6pTDFC3(|0YI%%n&* z7?OzS%j!Ga+^K`csMXde)ex(y*TiwI92%olEiOT)lsFPnEf{F|_ykxx90%8HtLB@a zkLU&X9B~0ODdS5m-ECPrj?L~a9aJknetb*X#jo>>H)lC>9t7^z;rx15Jof(JkOk0Y zUl(LPym9!B#I_x_{GR|JX}Gylp(oYKwHWRa<0#f5i*VxJubrZq=T`it20W(D@Kwv% zNbf>UPL!Msz8hlz7N}aovL{U4Cx3!QadyHh@Z|E1W^#DB<9C#X!9PKNta4Cru3Qxt zM(t}R;rwH3eoABSWjii4$%u#~Odk?^cg&aH!U`%|>AGILJ2dU_aBg0^K98Yo^5Ktq zTd}L!UAwK0={rJ)?!=bB8lF$_NXV*WzquEK^WS_x`e67mXnk8WdA(Kl{q!YvTjc3Y zR|&7)DPdh%Q=6|LWl$7UZ~5>Pp{?n0-N(FrdH@FBuxa2MTMNm$(Z;tn^m)cXsBhkmjA z^0F56-yoZpluza6Gd(V^F$s*-@K|`xr(giaqr3JUn=Fu8cF3B6#L}#PM6L{4LxSz; zn|J>R8-(ZopnH5RIDDxx_Kd``;rZb8q2&j*+E+Tr?0nGg#=^$2uAUeE6d)vh7FG+1 zVz_|LJaDJI({1(`-0f~&LW#x?{!tS76(pU_u}phjMo6$I^UIexe_zR|nj zOo~Y(xj6o<$%9<^>KW5UJ(iKRdg*g|Vn!p*Mw+aKIgbP)swz_(Bx)?`!)IGyB;txA zG%#0>$C4Afp^gxLyh<$$6V;ygC%}!1Qe3RhCndCsPcOBjg9tuvv+7}GWXI@x!iomt zZKMt>=w7^tBz7{+rFn|Li`(sqxg5Ffp zmVe3GVtnEbIUz@kqlw2k+nop9xtZn;?VW&m%Zx{)tgZTC5z;X; z0&2`@snU|kkcG+G$hMQYtc(tiUd1RXwvkE`LNim&>N+EU&g|uRft`#VRw~FLM$I4n zIQzNuI}s+^ZD*^!#T+?!aZ~4WPnGih^N1~k>^nxnQ`HJ{ORBg<qu?lSUL*i@$MK$1EL!zV4&>vt}Sb z7pb`G^^v1jG^wb&Y1+y~OckRN!;$2Qu5q>H-6IYzbF@9&2dN9#N7UY`JuCAaq;R8rpDF09ZK$SNjt}TuI7l%^+5?S zdRYF-G=YwJzD~=4*lzaPIMo$R8B!8we0929+ai@?x6=#RT(h`e z{JM4Cm_N`85kcTB*qU6oT5OCd6?Uy)C_@M3WA@7e+B@>WwBLxynGTqbUNW4D7#*2- zI>OyF@m0#KyuCKDnpvutE!76=Bhc{?G%)v>B5v9MLwhZFxAz@+!RPtGu`DT{j4D?f zSD#(a2Q&D%l*9m-((tPe2xD3J!hw}`;Pt7k!}y~86nrtgs!Q!H*}XQXmNo0uZpC=% zj{{E+#|h@uHaESko?PHU<;r)ysI76f3KPwL58?`aV@LtQWYvyrik0Zl_IBAZFL|@E zbFJAwn~d*nGwmQ*6~I*6EX&8ZOQ*aQY4}TtKCD-YUwg2v6gYOc&Cqe;YKrP+@2uxO z>smBA+e5EwjlC&W-J(%3JM7TEisGs^S{-e(YIoaOYm#)F;n^R<_-}lc9c_na)DBi~ zFORseJ=K;q$(!13ny`}WQs{0U9r8sJ=ZDDffJRgA-&-Da>@=#O?pDJt4aU%;u0Heq zM*R0Y-(Gjvrp2=o@qp+@ZbJ?4jJKN_1|;5~+lQ!2;fO8SgVlID zAkF)^&@Wydb-pYwY~bn^zb-OpQG@@(@d}8w^oqR}7qNZjVJrFlU3Go=(74@@7le5_^ph#1ou zU}<^maRoIQ%^pT88L{-Q)y;Qw;oxx!kJr^A zK83XQ(F(}hJ%>9NS-e0{jM<5f-xodR!yfapu~3YP|Dy91^8ll2y@5YefHyDygN*ND^{?7-+r^RU;|1E+D(nj{ zb|xdYDj5u2kO$v~&#irV{q&um$7~y(_5FBV!-klC`#JH6-VR)IsfA#ou`{dl_1Deq zo-|SStz>1K>{M3`$6iaq7&qoV7$!(W#)j}cqEL&8DnQz+tak+r z`m+-@qh7nB(CPVs8BY(RS_w0sP;n!uu~Xap2{R))c~iNi46a_VK2~Ei#{Fx2tPLH4 z=5b2Cg5X^xj!TzxLdViWB*;^~i`^RjTVr{S#n3=sewJS#q;Wd+=Wc%)GsCvTbd}c4 z*xJ?ShA_`h85wn^cyF(z$6O=#8rGfXZGD=3JvDQZ@XoBMHWKW;$SLi!)zQNl*W7*{ zG^SfeDk)3*WwI)%=n#iX`i5Ud-F_CHHb>%tB(68(+++)VGp}m&(BE(Uu`v3<_W9w2 zoU4bj-SlKi)a*ircHwlk`%G@%y(AB`Dto>ZhX6!$)4wX<#B60HHkKjhs9zXr%#?+z z3mkWXyjl~f-Y#!xb_^#4 zunV}5QBOe3AVGa$D0TZafk$n)G(^nrD<`5(vM+>vBze1nV^P|9MCyJ_EYf)}{H>NS2RPWw*6TfVz;!qgS`25}Rv2oi)tA2Y_$R;6qpufQcc6ZL z)@#G^TV{=xl>`1)m$ft`UtJ&PHAwz-BCZ{N?R!$mqCtF>B262rl5nd)EE=dQg}8d@ z=7mqT`BfdrrApP}V_)!b>@Hv;S;JP1ONhOt0#puX=lgcIK^?eGtKjYDo9f0(Z{`;_ zCv6cruz-LP4&sZ0p+kqJwHiJurukd)wm%u(>COdkJ! z!b>E6rI)AAz2dQXgA}qi1*u6mg0c-x33F)+2mJC)nn07=qSy;W%AX!?!sj2ntgou^ zHLyFoxV?z)aRSryuO_+q%x~;jr*(3&+XwTOK>OJm8uH~=vv#{9_)kV7tzQ2Fe^fJ=3`8tF$;=VFvWUtcvLCfxV!ukaLjnnZ+F#M8;5TmJWRY_&f(F4lR!{yXv833NsEtJjSW zPV3IbvAvKePUTMdGdy!S*XK$(qqS$+D2E;=*Gl`!J&93H(8(EeeeScq8Cg;;JekSS zb9zh)tH_%0%;S{`Is*Zr}TpM!MnRm|+pOJw#OHUZm0l2t8sGk!>FzmAXTyZCm82^*#$zxB>h(%`N- zo^5wlF&VLpI~0kqP|A%{V8Y}&jk;lF1^gqb7MZ%d|1P}7gnOX1kC{yKyQaNFRTM60 zuLPxvI20aiEFn1&!;Rq(lCbc8ia>nLdVJ6y?Um;3wmz9SE!pA3*q>I6LkT!B+=Y>P zITvH^0Zca}Z@`}P2SV?vWV;2{b9@#K+WoNX#sbkZ_ofXRnX4NKFZnJ!jtB7(uM)hA zLxSf#E1^7g1|3c}z>e-aa6}V*wN4tF9SJo16FUjj(4!SM!l*>|Jn`4(Hdy+g_;+H> zWK-0at#SBLCGH%3@8rRkk9c*Xsqq?DrQ8pO6A}lN;MzV%tMbh3hrhT~jGUTLmGkzW znz1h&NxuCgXx2$LP2;wFRVvKhSFT4fQ!<%0u~Mi9+i(T!k{9)vqZvyPlR;`ZIk$Q=MP|e3;M~^L3{`P0v#I1&PJpCoqnpwc2LevV1`XG{N zD8H53zUAQ`=RBiGCN9@HcLetKdaeIEf0X6{nmg6T3EW4dbAbgRJ_QtQ&?*OJRv4KJ zlkixKWCfeuKvOym3MNYPE#iXLIO->w>qxfvn*^^?raN|L{z!Q0VMU-S%lXJ5QefZxi8|3qGU z?e%LL;SNnTM>XrBN0{%izxmcGh+?P)hUo+HJjU5Iv2*GasC_2!vtOc@2>Hg*!>;uy zwI2c=IpwtbA&$D1`mzyZ?cFLF7$!?yfU7`k>VeY|aXHi^mi)Z@aDBq7$iNab{juih z161D#`uCR!cw6Z*)6t$n;~WI%TQ=TA{>CO$d|GpR7mo$u_an^i^kXCfPF#e_d1#8y zYPGplNxMjYp1Atjjfu(F;p)VC>gFXSt1E zVXH9Qj{(=u4|$Ffg@>Di@X4;~uD*Tdp|p8^9%&N%=)l|o-AN7BPNfd=6mHTdYvnd1 zA&N@#Mi8NuN2+46F4yc}99btsIuu6MT}bD4t%K7Dc4*%&3P74w4sVEkWJ`DPS|3Um zt487{jjk=?ZMZZqF2*jh|_Ba1*NE!*EoA{OloXXjK2owGpc}YUt%c{oWSJ> z8D~1%&e$2Q=|c%ktHrPGi6|>fN6c+bdPA(`Z>;li6BL_0^T~3`CZDSrERn83lXQbY zjb9j)01mmJBL=vL@gJLYmoqxeTljHe)`Lg6T#>)Tjb5+~tBf%74J4s$t*&Fd3sd`( zO}8Iyy@$!dd*(I!3jeH!LHARsjq{BqCq|Re8!l_BQ)!;oXLPT#$G%dQe%|GUKX8d( z*?7WUv4YK>lg&2@z`@H%RAZWr{()FpBx%_g)p#_=gtCS1R&s^q^jMl4H9|MWiB?}_ zOBIM9rgWc*ZOW<>~z=1;oupTZ$f^$;pL-Y44<4os&1RM-D{wI{SjYaIJzD0=j-a&%^ls$nQ90D>Ytd74 z$;iHb?I2-t9>Fz_9glaFty(;oIoj*t5PDV4 ztgFl1`jLY)fSdZz`Ojmlw8mSeYz{^S>>jBGjJ_pjk4SD>mkdAg#S|IcCXK@#3+ku$ z5ioi3@Dim6NU4$_n(iMiaiME@jw*`iIwhirYkS+#s-#y zb)?%3?sI?UVq+6Ch<9F~7WZ`mN;7667DIKC1e8LiFVdgGckwEDRu?BU?tx7SqP4$` zP>M7(dC_Lck!tubc9tZf(F~FKbmN99YG}Gt>|W{iFxi_Ia@Q(D(LU&DEsl*f;-sLZ zR#ni-WSb)w4~JU(B3SsE$l!@7X?!9H?tVpP9DdU4au|QWWm=g0lH|9u8i>xFh`O`U zBHTA3yc$jz56m^53Uc()benltswM$8HVWbpkxx9UTL+3F$lVXbUrdE`-CyZle2%>_ zkjTN#o-159)W=mHG(`p~!sZ=)4w9kp{EM^pHx!0mN@`~tH}6+D2C+sy`ElruO-L5f z7B2e3an;QrMdjp*BCNT>#>7G5?3U)y^O)Ipn!LV2IBjTs_L)j%Bje6954~vO@(Gfq=N4*>3zh8gUzq}e00;UCaB4`&r*2_cJw20=Qpe;%RAEf z{B|FC)zr-~%M+yc$Yb9XI{e_6MuO(L3~SyghGLdq=sq??GUNHkyzt*l!k3{;_jqS+dtGk(mVu#vivd87!BB5*KBAw!gW` znRT9d1O%6z1E~`79G;54?3Oo=sF8tERKQm`{k!0oE$PIaNTlEG%DG|JCfPc_g?<#9(A`zE6q9gr>kAFI{}y$Ij6WNrd<9 zMxtgl$h-VY6gUYXx~&f9Ja*s64&P}fG;~i2;M3Md%E6(#gR8CqMxV~eZ@H=`gxiVj)Rr|G&oy-l;uNu zc(oOW3~+!9NcU>@4IedvjmaK7t;=}e`?6ouvEnnx!?5Ar)yeB98TreU-mao>M){j>VCkD5E6}=aKc5M-W>Ile60_A3@q<8-0BRq!u`#&@&r? z*BqOmc%}kFc{Ya>5U-}mtl@UjQ~teOEw3D!*kd`33Yd0ZN?MIbAXL0p&h%IGgv21F zU`NC;m|%9ThogW`^rUPZ2HvnN?)Z{et}T?4QF&l$VUaget#h)og+eJvH)qof26b)z zJJly}ReZGZ@WAC^NzgVn?)E2yfh&@0d4mZF+U+>T3 z4nu59Z(~M45<+xfhYsA%TB6~?m@L>`*FBG|dk~8teZ(DAZ?+9h_xACCOp(UL5N)~7 ztU@f%$<0HLa?DS9Le6I6=&3xPrY)U1sm6EQq)rd}9Lv;U72VScK5t^nk^2*R{yX&a z7)-OdT9;;}jo8V9gn7WbRS8khyS74~-h=NMa;O)I zIHpv{pLeT5{X5LeA{>3QEjjIg+n<$2X>mH8(XrJ^#ucO6+&YZOG5Q#^_nkkRXp3gP z#x2?$Jui)g%byY{QY+O9y*T#CAx;GsCJAAX++Jth?HE7fY!#a)kq&;!3vSX#xh>)(|Ilk)Ik4xX&<8y z;%h>KSQL({7&h&X6If~8-Ih6AV0LVpvG)!56M8Tbc(exX<*V!X)AEJb`6CRbQ{*K< zxM*>omB2;c^Wy}!wwzcp$jyk?f{MdU1nH4C1$L4+B;-k=6Ov#h_| zP?blnaq-}2e+F(`x1Q}Npw2W>955;zNJv^u640xj|Cw@7{74D(5efxOr$)MYTgPR1 z*+%YQpd^a`pK|~>TDPEwwUXJ*`zR|67=(+bj|7;^^#$3v_j+8jji$C+g+YF`nL5SK zPS!7R%_MQ}6}e_cF0l=IE3;szoA=!W`x`uZ@TKxYDv?TH++?ceoOq2t@dyCUQpi5v z+wPD9rU(3$mvGaBQT#ct0$v%?6w{HH!*Ib&VEya?0NkSih3h}18wzRik*efZ7>YUS zjvoX~;}19PgyW75EFW9 z+`%LVGXRW&#Ze5g`R_X#3DCoGE`|ly_)XbX3>>*frUAaSA4{u3fu*kSqw1V8ztLty z>=$qzkKL^4px{j8V0(X{*}{h-*YeIbEn$5!aef{2U=&H#r(_1M4Ov&jeZh)`Ygh@8 zy8Ug}gt9)6Wmoc!330D4@Rm7Ppn%+3l!31{@9*xcNKVCpJlW66nG_~_10}@q?Cq=$ zdP#b@kO#nNBZJnNEcn0!5OyIH=N-F_B#n&@+CquLLqfV<{(Vf%cN#Zkg*5??Ic*fe zPstJHJCpjN_$zoYX^OF2r`N*y9i-R?;@m*(9#Ced!+Sn62+Wa#)XjJ|2r)`DkHsfw zY1VT|fa$ar6>#PXWsnb@--j}0q(B1?%-$t=LJaGLm|3#t0}Al9noQGTj}CnJ!GIi1 z2cE4s^XX)+BFG=Q84DtvOye1+7Cs>O?xkbmK2UgUTLAD*kz!;28(yt$4xASdxFsl9 zG$hnzZ||2yCaE2k(4IYec1Y-!;VD|ZtPAliM1t9H7aEN0HEKt6X#_eQ^zFN4`=MDC zH8q3fA&(l0eeJs{pSV30DSo8Zs`xU`v}lLKbA|-gUxDC)ofyDh+xTQIrOmy+&4$|9 zF%$e`T4=l-DwQEAVXA3mHC*9?^G*7E>0!MfeJ?9(oIcdl#H<+hI!quBGKsJ?JAfZh z1AwvkZj4I4%^>x%g!%cjR5{U)(MYM}#U-{;k{?YTO4I}2^-F)r(RTOs;H=`oU zx2$(Qcipu6!K?w-`efJJZYM3@DwPJd^EacT4F-QdaXpF!OX~o@fyp7CmoK@A9Sae) zwHcH=noV>L%ZcKB5OpBs6C~mFJ!0dwaRZ-6e4L)JHZ|D62YqaSiF7U4La!4LKhXy! z-@3aU7_A?08S;;Ca4+KNz}H$O8J}X0ZG&C_;V8(r_OC_I^gF7trL})0T?&F#z7CJC{hgJfjFzWgfMwVs+J%D1H?pIp=Z1H|!$;l~Ctik9g6o;hM39j@BGI&l#t1<&Y zBk%sNUH-hA>Xa`3!0dbo=_BT+AZyo)rA-V83+fK}B|o z>r^60Km)l`#kJ&(**t@P{*GV#cl;uwFuk0&QAYZ@Gc6jHp3lhBSD`?kxJMdXSOY=ElxS^ zkO0BFCL64vlJKYDd;LvAE@4b8jc;_+6crgg(c)$SeG$D}@o{mZfivrW#rTg^iaq2U zgX%7y(Cz`ZFyF{?)Rik=uT6Oy7PLt=Cc8|+X4>5stC(l)!O{q5GU;3tp-{D1xa#GR zB^a`4Kc>%2U$aL4eEyU>dUl9WKu|F=K;s zD%YP5L{C09f4pP@vf;Du7u;~+pU!ZoBuw*B=08?!f#spvNz#jEe#8GgS4q(F0@g{2 z0B)s+wA{bDIaTl~q2(JSH@We1D3oL1mi%Cku=yMlKZi}(B?i92t z+FL%akTXC$w-m!>OP!03V$9kPU1)-t+`OR_a}Q3$#86WNH_?Xfg3^J*DwSCdB}J_=k)&<3_)uGrQ|_i`Ja0Z$KjbEi4_{?V{%p|4-&46wT^goQc z_v69v+t`Z*0w;!0VA|efwnZHt&Ve+}D_;IK#X#D5+aY{i@=`B`N0x~4|Hvs|l89W|z6D9u%Qn0o##eV^BW9Y&;PZfK|q`uFI4`&X; zY^%7yTIvd#`O0Momuf7 zbdUm1u(6JgnI$L(5EDfy)qayZ4}7a?ePb2_+@4-PmZdYt`0t$*a;b3UR>h;n3;4~C zd0cZEuZKsfg>HDdbc`btc4r+CK4K(Nt9E7MT+RExG7T4Vz98%719(qCAkt4AZSC#S zM82dPxuRH=!)1#|m36P;{!}8wyKB}#VN-(B=+tE4m!>@7D+sJsfi;D(q_(!XKC+mx zkk2vS6Wrq*PP|v_hl1H#tFODVk|@R;BO>c@izSN-#jx{ouiw;^fA`}mc)|eYVP5|? zp97sGT=!^586dr~)}uU6zc-~mA)@TrY+4)(mmK#PG!aZ28%e9^%g1;F=;yk4e;^;s z?H(T6dHUd))~xi~iR3bCEFF*ZUr6%bZz<wb2WZC4hjxSCtMA?}FU>b?JKy^M7m75T>;p0r(9xtj7v%K7alt7;!_c-ePiI`=!S|{}a6hj5h0O^vB~H6)5KEgXfC#Zl0(Z0cmOf!SzViP^LgYFd8qn zq9~L39}xt?&FiiV1ITd)kGh0;|2el42HvEvZM!8m{!9QW-kmoaPacI!(iIutiQ=^ zSkOq28>d7G9l6FN#r{WGg|O(q_~H4?f8YmRtAE80k9htX^Is>cV3yawa%s;HUvT&s zh(jcdie^-E7QescdhV(8rYhA}TP5I7v5SI+f}bykalYuiHN}}5#VZ3JNRiC>mtX{* zH{9zVD(((TOqohZd92peB@j-A%pa@a+q#~g+JG8Ynhi+H&xK{%E)Ldim)pB|H?ivU zz#iH0zs4Acg$@4rV+YSA|M_7zp;`L!U*Us8bgc>z^KVj24aD4|!H%*}Iox?r;#`S{Q0bzv0ktvzFWM37<2@jd_VLd-PmqJHSXO>@dV_q7s{zlP7VvZ~ zh^6W%yLRw%TuJ%=TP&r{0a^g(5p?Ktd!|#I)J@9&50$l)iWQ!` F_-}$1YNP-F diff --git a/packages/app/src/assets/debug-guide-skeleton-3.svg b/packages/app/src/assets/debug-guide-skeleton-3.svg new file mode 100644 index 000000000000..83cc61d919ee --- /dev/null +++ b/packages/app/src/assets/debug-guide-skeleton-3.svg @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/app/src/assets/debug-guide-text-1.png b/packages/app/src/assets/debug-guide-text-1.png deleted file mode 100644 index 0c3dbeecffdafa604f591a1c4662d350c075d3e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37816 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%0D3PiCsaf3XwbQyG`PIId> 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 diff --git a/packages/app/src/assets/record-guide.svg b/packages/app/src/assets/record-guide.svg new file mode 100644 index 000000000000..d0561697a6d8 --- /dev/null +++ b/packages/app/src/assets/record-guide.svg @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/app/src/assets/runs-guide-skeleton-1.svg b/packages/app/src/assets/runs-guide-skeleton-1.svg new file mode 100644 index 000000000000..3ec7a6ad2223 --- /dev/null +++ b/packages/app/src/assets/runs-guide-skeleton-1.svg @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/app/src/assets/runs-guide-skeleton-2.svg b/packages/app/src/assets/runs-guide-skeleton-2.svg new file mode 100644 index 000000000000..566ca8059b33 --- /dev/null +++ b/packages/app/src/assets/runs-guide-skeleton-2.svg @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/app/src/assets/runs-guide-skeleton-3.svg b/packages/app/src/assets/runs-guide-skeleton-3.svg new file mode 100644 index 000000000000..0d439f56cbaa --- /dev/null +++ b/packages/app/src/assets/runs-guide-skeleton-3.svg @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/app/src/components/Blank.cy.tsx b/packages/app/src/components/Blank.cy.tsx index 8acc0740ca85..8f47bde2f27b 100644 --- a/packages/app/src/components/Blank.cy.tsx +++ b/packages/app/src/components/Blank.cy.tsx @@ -14,19 +14,19 @@ describe('initial', () => { }) describe('testIsolationBlankPage', () => { - it('works', () => { + beforeEach(() => { getContainerEl()!.innerHTML = testIsolationBlankPage() - cy.get('[data-cy="cypress-logo"]') cy.get('[data-cy="text"]').should('have.text', 'Default blank page') cy.get('[data-cy="subtext"]').should('have.text', 'This page was cleared by navigating to about:blank.All active session data (cookies, localStorage and sessionStorage) across all domains are cleared.') + }) + it('works', () => { cy.percySnapshot() }) it('works with small viewport', () => { cy.viewport(200, 500) - getContainerEl()!.innerHTML = testIsolationBlankPage() cy.percySnapshot() }) @@ -35,13 +35,15 @@ describe('testIsolationBlankPage', () => { describe('visitFailure', () => { it('works', () => { getContainerEl()!.innerHTML = visitFailure({ url: 'http://foo.cypress.io' }) - - cy.percySnapshot() }) it('works with details', () => { getContainerEl()!.innerHTML = visitFailure({ url: 'http://foo.cypress.io', status: 404, statusText: 'Not Found', contentType: 'text/html' }) + cy.get('p').contains('Sorry, we could not load:') + cy.get('a').contains('http://foo.cypress.io').should('have.attr', 'href', 'http://foo.cypress.io') + cy.get('p').contains('404 - Not Found (text/html)') + cy.percySnapshot() }) }) diff --git a/packages/app/src/components/Slideshow.vue b/packages/app/src/components/Slideshow.vue index 2d08e039316c..b6a34bb04008 100644 --- a/packages/app/src/components/Slideshow.vue +++ b/packages/app/src/components/Slideshow.vue @@ -10,48 +10,33 @@ leave-active-class="transition duration-300 ease-in absolute" leave-to-class="opacity-0 absolute" > - diff --git a/packages/app/src/components/SpecPatterns.cy.tsx b/packages/app/src/components/SpecPatterns.cy.tsx index ef94d7cac8b1..e19b395aeb80 100644 --- a/packages/app/src/components/SpecPatterns.cy.tsx +++ b/packages/app/src/components/SpecPatterns.cy.tsx @@ -9,8 +9,6 @@ describe('', () => { cy.get('[data-cy="spec-pattern"]').contains('cypress/e2e/**/*.cy.{js,jsx,ts,tsx}') cy.get('[data-cy="file-match-indicator"]').contains('50 matches') - - cy.percySnapshot() }) it('renders component spec pattern', () => { diff --git a/packages/app/src/components/promo/Promo.cy.tsx b/packages/app/src/components/promo/Promo.cy.tsx new file mode 100644 index 000000000000..67f0861726e9 --- /dev/null +++ b/packages/app/src/components/promo/Promo.cy.tsx @@ -0,0 +1,126 @@ +import Promo from './Promo.vue' +import PromoCard from './PromoCard.vue' +import PromoAction from './PromoAction.vue' +import PromoHeader from './PromoHeader.vue' +import { IconActionRestart, IconChevronRightSmall } from '@cypress-design/vue-icon' +import { Promo_PromoSeenDocument } from '../../generated/graphql-test' + +describe('', () => { + const renderPromo = () => { + const recordEvent = cy.stub().as('recordEvent') + + cy.stubMutationResolver(Promo_PromoSeenDocument, (defineResult, args) => { + recordEvent(args) + + return defineResult({ recordEvent: true }) + }) + + cy.mount( + + {{ + header: () => ( + + {{ + description: () => ( +

Description...

+ ), + content: () => ( +

_content_

+ ), + }} + + ), + cards: ({ step, goForward, reset }) => { + if (step === 0) { + return ( + + {{ + image: () => ( +
Image
+ ), + action: () => ( + + ), + }} +
+ ) + } + + if (step === 1) { + return ( + + {{ + image: () => ( +
Image
+ ), + action: () => ( + + ), + }} +
+ ) + } + + return null + }, + }} + , + ) + } + + beforeEach(() => { + renderPromo() + }) + + it('renders properly on narrow viewport', { viewportWidth: 600 }, () => { + cy.percySnapshot() + }) + + it('renders properly on wide viewport', { viewportWidth: 1280 }, () => { + cy.percySnapshot() + }) + + it('records event on initial render', () => { + cy.get('@recordEvent').should('have.been.calledOnce') + cy.get('@recordEvent').should('have.been.calledWith', { + campaign: '_campaign_', + medium: '_medium_', + cohort: null, + messageId: Cypress.sinon.match.string, + }) + }) + + describe('controls', () => { + it('handles `goForward`', () => { + cy.contains('Card #1').should('be.visible') + cy.findByTestId('promo-action-control').click() + cy.contains('Card #2').should('be.visible') + }) + + it('handles `reset`', () => { + cy.findByTestId('promo-action-control').click() + cy.contains('Card #2').should('be.visible') + cy.findByTestId('promo-action-control').should('contain.text', 'Reset') + cy.findByTestId('promo-action-control').click() + cy.contains('Card #1').should('be.visible') + }) + }) +}) diff --git a/packages/app/src/components/promo/Promo.vue b/packages/app/src/components/promo/Promo.vue new file mode 100644 index 000000000000..5d9358403fab --- /dev/null +++ b/packages/app/src/components/promo/Promo.vue @@ -0,0 +1,72 @@ + + + diff --git a/packages/app/src/components/promo/PromoAction.cy.tsx b/packages/app/src/components/promo/PromoAction.cy.tsx new file mode 100644 index 000000000000..c22a1b53ebcb --- /dev/null +++ b/packages/app/src/components/promo/PromoAction.cy.tsx @@ -0,0 +1,43 @@ +import PromoAction from './PromoAction.vue' +import { IconChevronRightSmall, IconActionRestart } from '@cypress-design/vue-icon' + +describe('', () => { + it('left label, right icon', () => { + const action = cy.stub().as('action') + + cy.mount( + , + ) + + cy.get('@action').should('not.have.been.called') + + cy.findByTestId('promo-action-control').click() + + cy.get('@action').should('have.been.calledOnce') + }) + + it('left icon, right label', () => { + const action = cy.stub().as('action') + + cy.mount( + , + ) + + cy.get('@action').should('not.have.been.called') + + cy.findByTestId('promo-action-control').click() + + cy.get('@action').should('have.been.calledOnce') + }) +}) diff --git a/packages/app/src/components/promo/PromoAction.vue b/packages/app/src/components/promo/PromoAction.vue new file mode 100644 index 000000000000..21cad8824d85 --- /dev/null +++ b/packages/app/src/components/promo/PromoAction.vue @@ -0,0 +1,47 @@ + + + diff --git a/packages/app/src/components/promo/PromoCard.vue b/packages/app/src/components/promo/PromoCard.vue new file mode 100644 index 000000000000..ce1c13bdf408 --- /dev/null +++ b/packages/app/src/components/promo/PromoCard.vue @@ -0,0 +1,54 @@ + + + diff --git a/packages/app/src/components/promo/PromoHeader.cy.tsx b/packages/app/src/components/promo/PromoHeader.cy.tsx new file mode 100644 index 000000000000..802cab83e5b8 --- /dev/null +++ b/packages/app/src/components/promo/PromoHeader.cy.tsx @@ -0,0 +1,17 @@ +import PromoHeader from './PromoHeader.vue' +import Button from '@cypress-design/vue-button' + +describe('', () => { + it('renders', () => { + cy.mount( +

Description of this header

, + control: () => , + content: () =>
Test Content
, + }} + />, + ) + }) +}) diff --git a/packages/app/src/components/promo/PromoHeader.vue b/packages/app/src/components/promo/PromoHeader.vue new file mode 100644 index 000000000000..01c41a3f0ec2 --- /dev/null +++ b/packages/app/src/components/promo/PromoHeader.vue @@ -0,0 +1,43 @@ + + + diff --git a/packages/app/src/composables/useRelevantRun.ts b/packages/app/src/composables/useRelevantRun.ts index 25e402779953..549fbf8acdf7 100644 --- a/packages/app/src/composables/useRelevantRun.ts +++ b/packages/app/src/composables/useRelevantRun.ts @@ -1,6 +1,6 @@ import { gql, useSubscription } from '@urql/vue' import { Debug_RelevantRuns_SubscriptionDocument, Sidebar_RelevantRuns_SubscriptionDocument } from '@packages/app/src/generated/graphql' -import { useLoginConnectStore } from '@packages/frontend-shared/src/store/login-connect-store' +import { useUserProjectStatusStore } from '@packages/frontend-shared/src/store/user-project-status-store' import { computed } from 'vue' import { uniq } from 'lodash' @@ -43,10 +43,10 @@ gql` ` export function useRelevantRun (location: 'SIDEBAR' | 'DEBUG') { - const loginConnectStore = useLoginConnectStore() + const userProjectStatusStore = useUserProjectStatusStore() const shouldPause = computed(() => { - return !loginConnectStore.project.isProjectConnected + return !userProjectStatusStore.project.isProjectConnected }) //Switch the subscription query depending on where it was registered from diff --git a/packages/app/src/composables/useTestingType.cy.tsx b/packages/app/src/composables/useTestingType.cy.tsx new file mode 100644 index 000000000000..289e4cc2b169 --- /dev/null +++ b/packages/app/src/composables/useTestingType.cy.tsx @@ -0,0 +1,119 @@ +import { UseTestingType_ActivateTestingTypeDocument } from '../generated/graphql' +import { useTestingType } from './useTestingType' +import type { FunctionalComponent } from 'vue' + +describe('useTestingType', () => { + type ComposableWrapperProps = { useComposable: () => R, callback: (result: R) => void } + + const ComposableWrapper: FunctionalComponent> = ({ useComposable, callback }: ComposableWrapperProps) => { + const result = useComposable() + + callback(result) + + return
Composable
+ } + + const mountComposable = (composable: () => any) => { + const callback = cy.stub().as('callback') + + cy.mount({ + name: 'composable', + render () { + return ( + + ) + }, + }) + + return cy.get('@callback').should('have.been.called').then((cb) => { + return cy.wrap(callback.getCall(callback.callCount - 1).args[0]).as('result') + }) + } + + beforeEach(() => { + const activateTestingTypeStub = cy.stub().as('activateTestingType') + + cy.stubMutationResolver(UseTestingType_ActivateTestingTypeDocument, (defineResult, args) => { + activateTestingTypeStub() + + return defineResult({ switchTestingTypeAndRelaunch: true }) + }) + + cy.gqlStub.Query.currentProject = { + id: 'abc123', + currentTestingType: 'e2e', + isCTConfigured: false, + isE2EConfigured: false, + } as any + }) + + it('supplies expected query data', () => { + mountComposable(useTestingType).then((value) => { + const result = value as unknown as ReturnType + + expect(result.activeTestingType.value).to.eql('e2e') + expect(result.isCTConfigured.value).to.eql(false) + expect(result.isE2EConfigured.value).to.eql(false) + expect(result.viewedTestingType.value).to.eql('e2e') + }) + }) + + describe('viewTestingType', () => { + context('target mode is not configured', () => { + beforeEach(() => { + cy.gqlStub.Query.currentProject = { + id: 'abc123', + currentTestingType: 'e2e', + isCTConfigured: false, + } as any + }) + + it('should toggle viewed mode', () => { + mountComposable(useTestingType).then((value) => { + const result = value as unknown as ReturnType + + expect(result.viewedTestingType.value).to.eql('e2e') + + result.viewTestingType('component') + + expect(result.viewedTestingType.value).to.eql('component') + }) + }) + }) + + context('target mode is configured', () => { + beforeEach(() => { + cy.gqlStub.Query.currentProject = { + id: 'abc123', + currentTestingType: 'e2e', + isE2EConfigured: true, + isCTConfigured: true, + } as any + }) + + it('should toggle active mode if not active mode', () => { + mountComposable(useTestingType).then((value) => { + const result = value as unknown as ReturnType + + expect(result.viewedTestingType.value).to.eql('e2e') + + result.viewTestingType('component') + }) + + cy.get('@activateTestingType').should('have.been.calledOnce') + }) + + it('should toggle viewed mode if active mode', () => { + mountComposable(useTestingType).then((value) => { + const result = value as unknown as ReturnType + + expect(result.viewedTestingType.value).to.eql('e2e') + + result.viewTestingType('e2e') + }) + + cy.get('@activateTestingType').should('not.have.been.called') + }) + }) + }) +}) diff --git a/packages/app/src/composables/useTestingType.ts b/packages/app/src/composables/useTestingType.ts new file mode 100644 index 000000000000..8785af843695 --- /dev/null +++ b/packages/app/src/composables/useTestingType.ts @@ -0,0 +1,72 @@ +import { useMutation, useQuery, gql } from '@urql/vue' +import { computed, ref, watchEffect } from 'vue' +import { UseTestingType_TestingTypeDocument, UseTestingType_ActivateTestingTypeDocument } from '../generated/graphql' + +gql` +query UseTestingType_TestingType { + currentProject { + id + currentTestingType + isCTConfigured + isE2EConfigured + } +} +` + +gql` +mutation UseTestingType_ActivateTestingType($testingType: TestingTypeEnum!) { + switchTestingTypeAndRelaunch(testingType: $testingType) +} +` + +export function useTestingType () { + const query = useQuery({ query: UseTestingType_TestingTypeDocument }) + const activateTestingTypeMutation = useMutation(UseTestingType_ActivateTestingTypeDocument) + const viewedTestingType = ref<'e2e' | 'component' | null>(null) + + const activeTestingType = computed(() => query.data.value?.currentProject?.currentTestingType) + const isCTConfigured = computed(() => query.data.value?.currentProject?.isCTConfigured) + const isE2EConfigured = computed(() => query.data.value?.currentProject?.isE2EConfigured) + + const showTestingTypePromo = computed(() => { + // confirm required data has resolved from other computed values + if (isE2EConfigured.value === undefined && isCTConfigured.value === undefined) { + return false + } + + return (viewedTestingType.value === 'e2e' && isE2EConfigured.value === false) || + (viewedTestingType.value === 'component' && isCTConfigured.value === false) + }) + + // Initialize 'viewed' testing type when query first resolves + watchEffect(() => { + if (!!activeTestingType.value && !viewedTestingType.value) { + viewedTestingType.value = activeTestingType.value + } + }) + + async function activateTestingType (testingType: 'e2e' | 'component') { + return await activateTestingTypeMutation.executeMutation({ testingType }) + } + + async function viewTestingType (testingType: 'e2e' | 'component') { + const switchingBackToActiveMode = testingType === activeTestingType.value + const targetModeIsConfigured = testingType === 'e2e' && isE2EConfigured.value || testingType === 'component' && isCTConfigured.value + + if (!switchingBackToActiveMode && targetModeIsConfigured) { + await activateTestingType(testingType) + } else { + viewedTestingType.value = testingType + } + } + + return { + activeTestingType, + viewedTestingType, + isCTConfigured, + isE2EConfigured, + showTestingTypePromo, + viewTestingType, + activateTestingType, + } +} diff --git a/packages/app/src/debug/DebugContainer.cy.tsx b/packages/app/src/debug/DebugContainer.cy.tsx index e4002b096bd7..d466b01d8f38 100644 --- a/packages/app/src/debug/DebugContainer.cy.tsx +++ b/packages/app/src/debug/DebugContainer.cy.tsx @@ -1,10 +1,9 @@ import { DebugSpecListGroupsFragment, DebugSpecListSpecFragment, DebugSpecListTestsFragment, DebugSpecsFragment, DebugSpecsFragmentDoc, UseCohorts_DetermineCohortDocument } from '../generated/graphql-test' import DebugContainer from './DebugContainer.vue' import { defaultMessages } from '@cy/i18n' -import { useLoginConnectStore } from '@packages/frontend-shared/src/store/login-connect-store' +import { useUserProjectStatusStore } from '@packages/frontend-shared/src/store/user-project-status-store' import { specsList } from './utils/DebugMapping' import { CloudRunStubs, createCloudRun } from '@packages/graphql/test/stubCloudTypes' -import { DEBUG_SLIDESHOW } from './utils/constants' import type { CloudRun, CloudSpecRun, CloudTestResult } from '@packages/graphql/src/gen/test-cloud-graphql-types.gen' const DebugSpecVariableTypes = { @@ -29,19 +28,12 @@ describe('', () => { describe('empty states', () => { const validateEmptyState = (expectedMessages: string[]) => { cy.stubMutationResolver(UseCohorts_DetermineCohortDocument, (defineResult) => { - return defineResult({ determineCohort: { __typename: 'Cohort', name: DEBUG_SLIDESHOW.id, cohort: 'A' } }) + return defineResult({ determineCohort: { __typename: 'Cohort', name: 'iatr_debug_slideshow', cohort: 'A' } }) }) cy.mountFragment(DebugSpecsFragmentDoc, { variableTypes: DebugSpecVariableTypes, variables: defaultVariables, - onResult: (res) => { - if (res.currentProject) { - res.currentProject.savedState = { - debugSlideshowComplete: true, - } - } - }, render: (gqlVal) => , }) @@ -51,65 +43,92 @@ describe('', () => { } it('shows not logged in', () => { - const loginConnectStore = useLoginConnectStore() + const userProjectStatusStore = useUserProjectStatusStore() - loginConnectStore.setHasInitiallyLoaded() + userProjectStatusStore.setHasInitiallyLoaded() + userProjectStatusStore.setProjectFlag('isUsingGit', true) - validateEmptyState([defaultMessages.debugPage.emptyStates.connectToCypressCloud, defaultMessages.debugPage.emptyStates.debugDirectlyInCypress, defaultMessages.debugPage.emptyStates.notLoggedInTestMessage]) + validateEmptyState([defaultMessages.debugPage.emptyStates.connectToCypressCloud, defaultMessages.debugPage.emptyStates.connect.title, defaultMessages.debugPage.emptyStates.connect.description]) cy.findByRole('button', { name: 'Connect to Cypress Cloud' }).should('be.visible') }) it('is logged in with no project', () => { - const loginConnectStore = useLoginConnectStore() + const userProjectStatusStore = useUserProjectStatusStore() - loginConnectStore.setUserFlag('isLoggedIn', true) - loginConnectStore.setProjectFlag('isProjectConnected', false) - loginConnectStore.setHasInitiallyLoaded() + userProjectStatusStore.setUserFlag('isLoggedIn', true) + userProjectStatusStore.setProjectFlag('isProjectConnected', false) + userProjectStatusStore.setProjectFlag('isUsingGit', true) + userProjectStatusStore.setHasInitiallyLoaded() - validateEmptyState([defaultMessages.debugPage.emptyStates.debugDirectlyInCypress, defaultMessages.debugPage.emptyStates.reviewRerunAndDebug, defaultMessages.debugPage.emptyStates.noProjectTestMessage]) + validateEmptyState([defaultMessages.debugPage.emptyStates.connect.title, defaultMessages.debugPage.emptyStates.connect.description]) cy.findByRole('button', { name: 'Connect a Cypress Cloud project' }).should('be.visible') }) it('has no runs', () => { - const loginConnectStore = useLoginConnectStore() + const userProjectStatusStore = useUserProjectStatusStore() - loginConnectStore.setUserFlag('isLoggedIn', true) - loginConnectStore.setProjectFlag('isProjectConnected', true) - loginConnectStore.setHasInitiallyLoaded() + userProjectStatusStore.setUserFlag('isLoggedIn', true) + userProjectStatusStore.setProjectFlag('isProjectConnected', true) + userProjectStatusStore.setProjectFlag('isUsingGit', true) + userProjectStatusStore.setHasInitiallyLoaded() cy.mountFragment(DebugSpecsFragmentDoc, { variableTypes: DebugSpecVariableTypes, variables: defaultVariables, render: (gqlVal) => , }) - validateEmptyState([defaultMessages.debugPage.emptyStates.recordYourFirstRun, defaultMessages.debugPage.emptyStates.almostThere, defaultMessages.debugPage.emptyStates.noRunsTestMessage]) + validateEmptyState([defaultMessages.debugPage.emptyStates.noRuns.title]) cy.findByDisplayValue('npx cypress run --record --key 2aaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa').should('be.visible') }) - it('errors', () => { - const loginConnectStore = useLoginConnectStore() + it('is not using git', () => { + const userProjectStatusStore = useUserProjectStatusStore() + + userProjectStatusStore.setUserFlag('isLoggedIn', true) + userProjectStatusStore.setProjectFlag('isProjectConnected', true) + userProjectStatusStore.setProjectFlag('isUsingGit', false) + userProjectStatusStore.setHasInitiallyLoaded() + cy.mountFragment(DebugSpecsFragmentDoc, { + variableTypes: DebugSpecVariableTypes, + variables: defaultVariables, + render: (gqlVal) => , + }) + + cy.findByTestId('debug-empty-title').should('contain.text', 'Git repository not detected') + }) + + it('has no runs for the current branch', () => { + const { setUserFlag, setProjectFlag, cloudStatusMatches, setHasInitiallyLoaded } = useUserProjectStatusStore() + + setUserFlag('isLoggedIn', true) + setUserFlag('isMemberOfOrganization', true) + setProjectFlag('isProjectConnected', true) + setProjectFlag('hasNoRecordedRuns', true) + setProjectFlag('hasNonExampleSpec', true) + setProjectFlag('isConfigLoaded', true) + setProjectFlag('isUsingGit', true) + setHasInitiallyLoaded() - loginConnectStore.setUserFlag('isLoggedIn', true) - loginConnectStore.setProjectFlag('isProjectConnected', true) - loginConnectStore.setHasInitiallyLoaded() cy.mountFragment(DebugSpecsFragmentDoc, { variableTypes: DebugSpecVariableTypes, variables: defaultVariables, - render: (gqlVal) => , + render: (gqlVal) => , }) - cy.findByTestId('debug-empty').should('not.exist') - cy.findByTestId('debug-alert').should('be.visible') + expect(cloudStatusMatches('needsRecordedRun')).equals(true) + + cy.contains('No runs found for your branch') }) }) describe('run states', { viewportWidth: 900 }, () => { beforeEach(() => { - const loginConnectStore = useLoginConnectStore() + const userProjectStatusStore = useUserProjectStatusStore() - loginConnectStore.setUserFlag('isLoggedIn', true) - loginConnectStore.setProjectFlag('isProjectConnected', true) - loginConnectStore.setHasInitiallyLoaded() + userProjectStatusStore.setUserFlag('isLoggedIn', true) + userProjectStatusStore.setProjectFlag('isProjectConnected', true) + userProjectStatusStore.setProjectFlag('isUsingGit', true) + userProjectStatusStore.setHasInitiallyLoaded() }) function mountTestRun (runName: string) { @@ -150,10 +169,10 @@ describe('', () => { it('renders', () => { mountTestRun('allSkipped') + cy.findByTestId('collapsible').should('be.visible') + cy.contains('h3', 'Incomplete') cy.contains('The browser server never connected.').should('be.visible') cy.contains('2 of 3 specs skipped').should('be.visible') - - cy.percySnapshot() }) }) @@ -161,9 +180,9 @@ describe('', () => { it('renders', () => { mountTestRun('noTests') + cy.findByTestId('collapsible').should('be.visible') + cy.contains('h3', 'Incomplete') cy.contains('Run has no tests').should('be.visible') - - cy.percySnapshot() }) }) @@ -171,46 +190,37 @@ describe('', () => { it('renders with CI information', () => { mountTestRun('timedOutWithCi') + cy.findByTestId('collapsible').should('be.visible') + cy.contains('h3', 'Incomplete') cy.contains('Circle CI #1234').should('have.attr', 'href', 'https://circleci.com').should('be.visible') cy.contains('Archive this run to remove it').should('be.visible') - - cy.percySnapshot() }) it('renders without CI information', () => { mountTestRun('timedOutWithoutCi') + cy.findByTestId('collapsible').should('be.visible') + cy.contains('h3', 'Incomplete') cy.contains('Circle CI #1234').should('not.exist') cy.contains('Archive this run to remove it').should('be.visible') - - cy.percySnapshot() }) }) context('over limit', () => { it('handled usage exceeded', () => { mountTestRun('overLimit') - cy.findByRole('link', { name: 'Contact admin' }).should('be.visible').should('have.attr', 'href', 'http://localhost:3000?utmMedium=Debug+Tab&utmSource=Binary%3A+Launchpad') - - cy.percySnapshot() }) it('handles retention exceeded', () => { mountTestRun('overLimitRetention') - cy.findByRole('link', { name: 'Contact admin' }).should('be.visible').should('have.attr', 'href', 'http://localhost:3000?utmMedium=Debug+Tab&utmSource=Binary%3A+Launchpad') - - cy.percySnapshot() }) it('does not show passing message if run is hidden', () => { mountTestRun('overLimitPassed') - cy.contains('Well Done!').should('not.exist') - cy.contains('All your tests passed.').should('not.exist') - cy.findByRole('link', { name: 'Contact admin' }).should('be.visible').should('have.attr', 'href', 'http://localhost:3000?utmMedium=Debug+Tab&utmSource=Binary%3A+Launchpad') }) }) @@ -229,14 +239,15 @@ describe('', () => { }) describe('when logged in and connected', () => { - let loginConnectStore + let userProjectStatusStore beforeEach(() => { - loginConnectStore = useLoginConnectStore() + userProjectStatusStore = useUserProjectStatusStore() - loginConnectStore.setUserFlag('isLoggedIn', true) - loginConnectStore.setProjectFlag('isProjectConnected', true) - loginConnectStore.setHasInitiallyLoaded() + userProjectStatusStore.setUserFlag('isLoggedIn', true) + userProjectStatusStore.setProjectFlag('isProjectConnected', true) + userProjectStatusStore.setProjectFlag('isUsingGit', true) + userProjectStatusStore.setHasInitiallyLoaded() }) it('renders running run', () => { diff --git a/packages/app/src/debug/DebugContainer.vue b/packages/app/src/debug/DebugContainer.vue index e0ef009841fe..7c82b4ce64c4 100644 --- a/packages/app/src/debug/DebugContainer.vue +++ b/packages/app/src/debug/DebugContainer.vue @@ -4,18 +4,22 @@ {{ t('launchpadErrors.noInternet.connectProject') }} - - + + + + { return props.gql?.currentProject?.cloudProject?.__typename === 'CloudProject' diff --git a/packages/app/src/debug/DebugFailedTest.cy.tsx b/packages/app/src/debug/DebugFailedTest.cy.tsx index db8f3a7f42c2..9433597d1e03 100644 --- a/packages/app/src/debug/DebugFailedTest.cy.tsx +++ b/packages/app/src/debug/DebugFailedTest.cy.tsx @@ -123,8 +123,6 @@ describe('', () => { .and('match', /utm_campaign/) .and('match', /utm_source/) }) - - cy.percySnapshot() }) it('contains multiple titleParts segments', { viewportWidth: 1200 }, () => { @@ -139,8 +137,6 @@ describe('', () => { )) assertRowContents(multipleTitleParts) - - cy.percySnapshot() }) it('tests multiple groups', { viewportWidth: 1200 }, () => { diff --git a/packages/app/src/debug/DebugPageHeader.cy.tsx b/packages/app/src/debug/DebugPageHeader.cy.tsx index 66442cc4fb5d..20a5b574ebb2 100644 --- a/packages/app/src/debug/DebugPageHeader.cy.tsx +++ b/packages/app/src/debug/DebugPageHeader.cy.tsx @@ -98,7 +98,6 @@ describe('', { }) cy.findByTestId(`debug-runNumber-${status}`).should('be.visible') - cy.percySnapshot() }) }) diff --git a/packages/app/src/debug/DebugPendingRunCounts.cy.tsx b/packages/app/src/debug/DebugPendingRunCounts.cy.tsx index 590fea7a27d0..d0e59b2e9184 100644 --- a/packages/app/src/debug/DebugPendingRunCounts.cy.tsx +++ b/packages/app/src/debug/DebugPendingRunCounts.cy.tsx @@ -9,8 +9,6 @@ describe('', () => { ) cy.contains('2 of 20').should('be.visible') - - cy.percySnapshot() }) it('renders counts of zeros input is undefined', () => { @@ -21,7 +19,5 @@ describe('', () => { ) cy.contains('0 of 0').should('be.visible') - - cy.percySnapshot() }) }) diff --git a/packages/app/src/debug/DebugPendingRunSplash.cy.tsx b/packages/app/src/debug/DebugPendingRunSplash.cy.tsx index af4c06096d60..845fe7b5ade6 100644 --- a/packages/app/src/debug/DebugPendingRunSplash.cy.tsx +++ b/packages/app/src/debug/DebugPendingRunSplash.cy.tsx @@ -4,9 +4,8 @@ describe('', () => { it('renders as expected', () => { cy.mount() - cy.contains('Failures will be displayed here') - - cy.percySnapshot() + cy.findByTestId('title').contains('Testing in progress...') + cy.findByTestId('splash-subtitle').contains('Failures will be displayed here') }) it('renders scheduled to complete message', () => { @@ -14,7 +13,5 @@ describe('', () => { cy.contains('Scheduled to complete...') cy.findByTestId('splash-subtitle').should('not.exist') - - cy.percySnapshot() }) }) diff --git a/packages/app/src/debug/DebugResults.cy.tsx b/packages/app/src/debug/DebugResults.cy.tsx index 92e98993a31d..70b0ee565706 100644 --- a/packages/app/src/debug/DebugResults.cy.tsx +++ b/packages/app/src/debug/DebugResults.cy.tsx @@ -17,8 +17,6 @@ describe('', () => { cy.get(`[title=${defaultMessages.runs.results.pending}]`).should('contain.text', cloudRun.totalPending) }) }) - - cy.percySnapshot() }) }) diff --git a/packages/app/src/debug/DebugResults.vue b/packages/app/src/debug/DebugResults.vue index 8a2998d82d6d..0d4b2ea042c3 100644 --- a/packages/app/src/debug/DebugResults.vue +++ b/packages/app/src/debug/DebugResults.vue @@ -1,6 +1,6 @@ diff --git a/packages/app/src/pages/Debug.vue b/packages/app/src/pages/Debug.vue index 4df2fd211d93..f3ae1a2a8197 100644 --- a/packages/app/src/pages/Debug.vue +++ b/packages/app/src/pages/Debug.vue @@ -58,7 +58,7 @@ const cachedProject = ref() const query = useQuery({ query: DebugDocument, variables, pause: shouldPauseQuery, requestPolicy: 'network-only' }) const isLoading = computed(() => { - const relevantRunsHaveNotLoaded = !relevantRuns.value + const relevantRunsHaveNotLoaded = !relevantRuns.value.all const queryIsBeingFetched = query.fetching.value const cloudProject = query.data.value?.currentProject?.cloudProject?.__typename === 'CloudProject' @@ -76,7 +76,6 @@ const isLoading = computed(() => { }) watchEffect(() => { - //console.log('query for debug', query.data.value, relevantRuns.value.commitShas) if (query.data.value?.currentProject?.cloudProject?.__typename === 'CloudProject') { const cloudProject = query.data.value.currentProject.cloudProject diff --git a/packages/app/src/runner/SnapshotControls.cy.tsx b/packages/app/src/runner/SnapshotControls.cy.tsx index 86dd662a76e9..870fb7a5d098 100644 --- a/packages/app/src/runner/SnapshotControls.cy.tsx +++ b/packages/app/src/runner/SnapshotControls.cy.tsx @@ -11,10 +11,6 @@ const snapshotControlsSelector = '[data-testid=snapshot-controls]' const unpinButtonSelector = '[data-testid=unpin]' describe('SnapshotControls', { viewportHeight: 200, viewportWidth: 500 }, () => { - afterEach(() => { - cy.wait(100).percySnapshot() - }) - const mountSnapshotControls = ( eventManager = createEventManager(), autIframe = createTestAutIframe(), diff --git a/packages/app/src/runner/SnapshotToggle.cy.tsx b/packages/app/src/runner/SnapshotToggle.cy.tsx index 4261345647bc..730e44c5e536 100644 --- a/packages/app/src/runner/SnapshotToggle.cy.tsx +++ b/packages/app/src/runner/SnapshotToggle.cy.tsx @@ -6,14 +6,12 @@ describe('', () => { cy.mount(() => ()) - cy.percySnapshot('before') .get('body') .findByText('2') .click() .parent() .findByText('1') .click() - .percySnapshot('after') }) it('renders longer text', () => { @@ -21,14 +19,12 @@ describe('', () => { cy.mount(() => ()) - cy.percySnapshot('before') .get('body') .findByText('Request') .click() .parent() .findByText('Response') .click() - .percySnapshot('after') }) it('emits a select event with the active message', () => { diff --git a/packages/app/src/runner/SpecRunnerHeaderOpenMode.cy.tsx b/packages/app/src/runner/SpecRunnerHeaderOpenMode.cy.tsx index 8682511b6546..6963a7e47365 100644 --- a/packages/app/src/runner/SpecRunnerHeaderOpenMode.cy.tsx +++ b/packages/app/src/runner/SpecRunnerHeaderOpenMode.cy.tsx @@ -20,15 +20,18 @@ function renderWithGql (gqlVal: SpecRunnerHeaderFragment) { describe('SpecRunnerHeaderOpenMode', { viewportHeight: 500 }, () => { it('renders', () => { const autStore = useAutStore() + const autUrl = 'http://localhost:4000' - autStore.updateUrl('http://localhost:4000') + autStore.updateUrl(autUrl) cy.mountFragment(SpecRunnerHeaderFragmentDoc, { render: (gqlVal) => { return renderWithGql(gqlVal) }, }) - cy.percySnapshot() + cy.findByTestId('aut-url-input').should('be.visible').should('have.value', autUrl) + cy.findByTestId('select-browser').should('be.visible').contains('Electron 73') + cy.findByTestId('viewport').should('be.visible').contains('500x500') }) it('disabled selector playground button when isRunning is true', () => { @@ -43,7 +46,9 @@ describe('SpecRunnerHeaderOpenMode', { viewportHeight: 500 }, () => { }) cy.get('[data-cy="playground-activator"]').should('be.disabled') - cy.percySnapshot() + cy.findByTestId('aut-url-input').should('be.visible') + cy.findByTestId('select-browser').should('be.visible').contains('Electron 73') + cy.findByTestId('viewport').should('be.visible').contains('500x500') }) it('disabled selector playground button when isLoading is true', () => { @@ -58,7 +63,9 @@ describe('SpecRunnerHeaderOpenMode', { viewportHeight: 500 }, () => { }) cy.get('[data-cy="playground-activator"]').should('be.disabled') - cy.percySnapshot() + cy.findByTestId('aut-url-input').should('be.visible') + cy.findByTestId('select-browser').should('be.visible').contains('Electron 73') + cy.findByTestId('viewport').should('be.visible').contains('500x500') }) it('enables selector playground button by default', () => { @@ -69,13 +76,16 @@ describe('SpecRunnerHeaderOpenMode', { viewportHeight: 500 }, () => { }) cy.get('[data-cy="playground-activator"]').should('not.be.disabled') - cy.percySnapshot() + cy.findByTestId('aut-url-input').should('be.visible') + cy.findByTestId('select-browser').should('be.visible').contains('Electron 73') + cy.findByTestId('viewport').should('be.visible').contains('500x500') }) it('shows url section if currentTestingType is e2e', () => { const autStore = useAutStore() + const autUrl = 'http://localhost:3000' - autStore.updateUrl('http://localhost:3000') + autStore.updateUrl(autUrl) cy.mountFragment(SpecRunnerHeaderFragmentDoc, { onResult: (gql) => { @@ -87,15 +97,18 @@ describe('SpecRunnerHeaderOpenMode', { viewportHeight: 500 }, () => { }) cy.get('[data-cy="aut-url"]').should('exist') - cy.percySnapshot() + cy.findByTestId('aut-url-input').should('be.visible').should('have.value', autUrl) + cy.findByTestId('select-browser').should('be.visible').contains('Electron 73') + cy.findByTestId('viewport').should('be.visible').contains('500x500') }) it('url section handles long url/small viewport', { viewportWidth: 500, }, () => { const autStore = useAutStore() + const autUrl = 'http://localhost:3000/pretty/long/url.spec.jsx' - autStore.updateUrl('http://localhost:3000/pretty/long/url.spec.jsx') + autStore.updateUrl(autUrl) cy.mountFragment(SpecRunnerHeaderFragmentDoc, { onResult: (gql) => { @@ -107,14 +120,17 @@ describe('SpecRunnerHeaderOpenMode', { viewportHeight: 500 }, () => { }) cy.get('[data-cy="aut-url"]').should('exist') + cy.findByTestId('aut-url-input').should('be.visible').should('have.value', autUrl) + cy.findByTestId('select-browser').should('be.visible').contains('Electron 73') + cy.findByTestId('viewport').should('be.visible').contains('500x500') cy.percySnapshot() }) it('links to aut url', () => { const autStore = useAutStore() - const url = 'http://localhost:3000/todo' + const autUrl = 'http://localhost:3000/todo' - autStore.updateUrl(url) + autStore.updateUrl(autUrl) cy.mountFragment(SpecRunnerHeaderFragmentDoc, { onResult: (gql) => { @@ -125,8 +141,9 @@ describe('SpecRunnerHeaderOpenMode', { viewportHeight: 500 }, () => { }, }) - cy.findByTestId('aut-url-input').invoke('val').should('contain', url) - cy.percySnapshot() + cy.findByTestId('aut-url-input').invoke('val').should('contain', autUrl) + cy.findByTestId('select-browser').should('be.visible').contains('Electron 73') + cy.findByTestId('viewport').should('be.visible').contains('500x500') }) it('does not show url section if currentTestingType is component', () => { @@ -143,9 +160,10 @@ describe('SpecRunnerHeaderOpenMode', { viewportHeight: 500 }, () => { }, }) - cy.get('[data-cy="playground-activator"]').should('be.visible') - cy.get('[data-cy="aut-url"]').should('not.exist') - cy.percySnapshot() + cy.findByTestId('playground-activator').should('be.visible') + cy.findByTestId('aut-url').should('not.exist') + cy.findByTestId('select-browser').should('be.visible').contains('Electron 73') + cy.findByTestId('viewport').should('be.visible').contains('500x500') }) it('shows current browser and possible browsers', () => { @@ -177,8 +195,11 @@ describe('SpecRunnerHeaderOpenMode', { viewportHeight: 500 }, () => { }, }) + cy.findByTestId('select-browser').contains('Fake Browser') + cy.get('[data-cy="select-browser"] > button img').should('have.attr', 'src', allBrowsersIcons.generic) - cy.percySnapshot() + + cy.findByTestId('viewport').contains('500x500') }) it('shows current viewport info', () => { @@ -219,10 +240,11 @@ describe('SpecRunnerHeaderOpenMode', { viewportHeight: 500 }, () => { .should('be.visible') .should('have.attr', 'href', 'https://on.cypress.io/viewport') + cy.contains('The viewport determines the width and height of your application under test. By default the viewport will be 500px by 500px for end-to-end testing.') cy.contains('Additionally, you can override this value in your cypress.config.ts or via the cy.viewport() command.') .should('be.visible') - cy.percySnapshot() + cy.findByTestId('viewport-docs').should('have.attr', 'href', 'https://on.cypress.io/viewport') }) it('disables browser dropdown button when isRunning is true', () => { @@ -239,8 +261,10 @@ describe('SpecRunnerHeaderOpenMode', { viewportHeight: 500 }, () => { }, }) + cy.findByTestId('select-browser').should('be.visible').contains('Chrome 78') cy.get('[data-cy="select-browser"] > button').should('be.disabled') - cy.percySnapshot() + cy.findByTestId('aut-url').should('be.visible') + cy.findByTestId('viewport').should('be.visible').contains('500x500') }) it('opens and closes selector playground', () => { @@ -250,12 +274,10 @@ describe('SpecRunnerHeaderOpenMode', { viewportHeight: 500 }, () => { }, }) - cy.get('[data-cy="playground-activator"]').click() + cy.findByTestId('playground-activator').click() cy.get('#selector-playground').should('be.visible') - cy.percySnapshot() - - cy.get('[data-cy="playground-activator"]').click() + cy.findByTestId('playground-activator').click() cy.get('#selector-playground').should('not.exist') }) }) diff --git a/packages/app/src/runner/SpecRunnerHeaderRunMode.cy.tsx b/packages/app/src/runner/SpecRunnerHeaderRunMode.cy.tsx index 2d3e1016dee9..e534f6e83ed2 100644 --- a/packages/app/src/runner/SpecRunnerHeaderRunMode.cy.tsx +++ b/packages/app/src/runner/SpecRunnerHeaderRunMode.cy.tsx @@ -56,8 +56,6 @@ describe('SpecRunnerHeaderRunMode', { viewportHeight: 500 }, () => { cy.contains('The viewport determines').should('not.exist') cy.contains('Chrome 1').click() cy.contains('Firefox').should('not.exist') - - cy.percySnapshot() }) }) @@ -72,9 +70,8 @@ describe('SpecRunnerHeaderRunMode', { viewportHeight: 500 }, () => { cy.mount() + cy.get('[data-cy="select-browser"] > button img').should('have.attr', 'src', allBrowsersIcons.Chrome) cy.get('[data-cy="select-browser"] > button').should('be.disabled') - - cy.percySnapshot() }) }) @@ -90,7 +87,7 @@ describe('SpecRunnerHeaderRunMode', { viewportHeight: 500 }, () => { cy.mount() cy.get('[data-cy="select-browser"] > button img').should('have.attr', 'src', allBrowsersIcons.generic) - cy.percySnapshot() + cy.get('[data-cy="select-browser"] > button').should('be.disabled') }) }) }) diff --git a/packages/app/src/runner/automation/AutomationDisconnected.cy.tsx b/packages/app/src/runner/automation/AutomationDisconnected.cy.tsx index af8353a9b92c..6cc16b47bb44 100644 --- a/packages/app/src/runner/automation/AutomationDisconnected.cy.tsx +++ b/packages/app/src/runner/automation/AutomationDisconnected.cy.tsx @@ -5,7 +5,10 @@ describe('AutomationDisconnected', () => { it('should relaunch browser', () => { cy.mount() - cy.percySnapshot() + cy.findByTestId('collapsible').should('be.visible') + cy.contains('h3', 'The Cypress extension has disconnected.') + cy.contains('p', 'Cypress cannot run tests without this extension.') + cy.get('a').contains('Read more about browser management').should('have.attr', 'href', 'https://on.cypress.io/launching-browsers') const relaunchStub = cy.stub() diff --git a/packages/app/src/runner/automation/AutomationMissing.cy.tsx b/packages/app/src/runner/automation/AutomationMissing.cy.tsx index bbadf16ea2a0..2779fcadbe05 100644 --- a/packages/app/src/runner/automation/AutomationMissing.cy.tsx +++ b/packages/app/src/runner/automation/AutomationMissing.cy.tsx @@ -14,7 +14,10 @@ describe('AutomationMissing', () => { }, }) - cy.percySnapshot() + cy.findByTestId('collapsible').should('be.visible') + cy.contains('h3', 'The Cypress extension is missing.') + cy.contains('p', 'Cypress cannot run tests without this extension. Please choose another browser.') + cy.findByTestId('external').contains('Read more about browser management').should('have.attr', 'href', 'https://on.cypress.io/launching-browsers') const selectBrowserStub = cy.stub() diff --git a/packages/app/src/runner/event-manager.ts b/packages/app/src/runner/event-manager.ts index ab929b03b5d3..e8cb2180f81b 100644 --- a/packages/app/src/runner/event-manager.ts +++ b/packages/app/src/runner/event-manager.ts @@ -127,10 +127,6 @@ export class EventManager { runnerUiStore.setAutomationStatus(connected) }) - this.ws.on('change:to:url', (url) => { - window.location.href = url - }) - this.ws.on('update:telemetry:context', (contextString) => { const context = JSON.parse(contextString) @@ -815,7 +811,12 @@ export class EventManager { stop () { this.localBus.removeAllListeners() + + // Grab existing listeners for url change event, we want to preserve them + const urlChangeListeners = this.ws.listeners('change:to:url') + this.ws.off() + urlChangeListeners.forEach((listener) => this.ws.on('change:to:url', listener)) } async teardown (state: MobxRunnerStore, isRerun = false) { diff --git a/packages/app/src/runner/events/telemetry.ts b/packages/app/src/runner/events/telemetry.ts index 37088c959b72..94311bfbe797 100644 --- a/packages/app/src/runner/events/telemetry.ts +++ b/packages/app/src/runner/events/telemetry.ts @@ -36,4 +36,69 @@ export const addTelemetryListeners = (Cypress) => { // TODO: log error when client side debug logging is available } }) + + const commandSpanInfo = (command: Cypress.CommandQueue) => { + const runnable = Cypress.state('runnable') + const runnableType = runnable.type === 'hook' ? runnable.hookName : runnable.type + + return { + name: `${runnableType}: ${command.attributes.name}(${command.attributes.args.join(',')})`, + runnable, + runnableType, + } + } + + Cypress.on('command:start', (command: Cypress.CommandQueue) => { + try { + const test = Cypress.state('test') + + const { name, runnable, runnableType } = commandSpanInfo(command) + + const span = telemetry.startSpan({ + name, + opts: { + attributes: { + spec: runnable.invocationDetails.relativeFile, + test: `test:${test.fullTitle()}`, + 'runnable-type': runnableType, + }, + }, + isVerbose: true, + }) + + span?.setAttribute('command-name', command.attributes.name) + } catch (error) { + // TODO: log error when client side debug logging is available + } + }) + + const onCommandEnd = (command: Cypress.CommandQueue) => { + try { + const span = telemetry.getSpan(commandSpanInfo(command).name) + + span?.setAttribute('state', command.state) + span?.setAttribute('numLogs', command.logs?.length || 0) + span?.end() + } catch (error) { + // TODO: log error when client side debug logging is available + } + } + + Cypress.on('command:end', onCommandEnd) + + Cypress.on('skipped:command:end', onCommandEnd) + + Cypress.on('command:failed', (command: Cypress.CommandQueue, error: Error) => { + try { + const span = telemetry.getSpan(commandSpanInfo(command).name) + + span?.setAttribute('state', command.state) + span?.setAttribute('numLogs', command.logs?.length || 0) + span?.setAttribute('error.name', error.name) + span?.setAttribute('error.message', error.message) + span?.end() + } catch (error) { + // TODO: log error when client side debug logging is available + } + }) } diff --git a/packages/app/src/runner/index.ts b/packages/app/src/runner/index.ts index 4e1dfe0053d7..69dd26557db8 100644 --- a/packages/app/src/runner/index.ts +++ b/packages/app/src/runner/index.ts @@ -37,6 +37,10 @@ export function createWebsocket (config: Cypress.Config) { ws.emit('runner:connected') }) + ws.on('change:to:url', (url) => { + window.location.href = url + }) + return ws } diff --git a/packages/app/src/runner/selector-playground/SelectorPlayground.cy.tsx b/packages/app/src/runner/selector-playground/SelectorPlayground.cy.tsx index f879da4251ef..785e81c7d000 100644 --- a/packages/app/src/runner/selector-playground/SelectorPlayground.cy.tsx +++ b/packages/app/src/runner/selector-playground/SelectorPlayground.cy.tsx @@ -28,8 +28,6 @@ describe('SelectorPlayground', () => { cy.spy(autIframe, 'toggleSelectorHighlight') cy.get('[data-cy="selected-playground-method"]').should('contain', 'cy.get') cy.get('[data-cy="playground-selector"]').should('have.value', 'body') - - cy.percySnapshot() }) it('toggles enabled', () => { diff --git a/packages/app/src/runs/CloudConnectButton.cy.tsx b/packages/app/src/runs/CloudConnectButton.cy.tsx index 35e9c5825ecb..c4361d619a06 100644 --- a/packages/app/src/runs/CloudConnectButton.cy.tsx +++ b/packages/app/src/runs/CloudConnectButton.cy.tsx @@ -1,5 +1,5 @@ import CloudConnectButton from './CloudConnectButton.vue' -import { useLoginConnectStore } from '@packages/frontend-shared/src/store/login-connect-store' +import { useUserProjectStatusStore } from '@packages/frontend-shared/src/store/user-project-status-store' describe('', { viewportHeight: 60, viewportWidth: 400 }, () => { context('not logged in ', () => { @@ -11,12 +11,12 @@ describe('', { viewportHeight: 60, viewportWidth: 400 }, ( }) context('logged in', () => { - let loginConnectStore + let userProjectStatusStore beforeEach(() => { - loginConnectStore = useLoginConnectStore() + userProjectStatusStore = useUserProjectStatusStore() - loginConnectStore.setUserFlag('isLoggedIn', true) + userProjectStatusStore.setUserFlag('isLoggedIn', true) }) it('show project connect if not connected', () => { @@ -26,7 +26,7 @@ describe('', { viewportHeight: 60, viewportWidth: 400 }, ( }) it('uses the store to open the Login Connect modal', () => { - loginConnectStore.openLoginConnectModal = cy.spy().as('openLoginConnectModal') + userProjectStatusStore.openLoginConnectModal = cy.spy().as('openLoginConnectModal') cy.mount(() =>
) cy.contains('button', 'Connect a Cypress Cloud project').click() @@ -35,7 +35,7 @@ describe('', { viewportHeight: 60, viewportWidth: 400 }, ( }) it('uses the store to open the Login Connect modal with utmContent', () => { - loginConnectStore.openLoginConnectModal = cy.spy().as('openLoginConnectModal') + userProjectStatusStore.openLoginConnectModal = cy.spy().as('openLoginConnectModal') cy.mount(() =>
) cy.contains('button', 'Connect a Cypress Cloud project').click() diff --git a/packages/app/src/runs/CloudConnectButton.vue b/packages/app/src/runs/CloudConnectButton.vue index 255d8d389997..ab5a3b25f6aa 100644 --- a/packages/app/src/runs/CloudConnectButton.vue +++ b/packages/app/src/runs/CloudConnectButton.vue @@ -15,9 +15,9 @@ import ChainIcon from '~icons/cy/chain-link_x16.svg' import CypressIcon from '~icons/cy/cypress-logo_x16.svg' import Button from '@cy/components/Button.vue' import { useI18n } from '@cy/i18n' -import { useLoginConnectStore } from '@packages/frontend-shared/src/store/login-connect-store' +import { useUserProjectStatusStore } from '@packages/frontend-shared/src/store/user-project-status-store' -const { openLoginConnectModal, user } = useLoginConnectStore() +const { openLoginConnectModal, user } = useUserProjectStatusStore() const { t } = useI18n() diff --git a/packages/app/src/runs/RunCard.cy.tsx b/packages/app/src/runs/RunCard.cy.tsx index 799044edfc3f..0b1a8f46f81e 100644 --- a/packages/app/src/runs/RunCard.cy.tsx +++ b/packages/app/src/runs/RunCard.cy.tsx @@ -74,8 +74,6 @@ describe('', { viewportHeight: 400 }, () => { cy.contains(CloudRunStubs.allPassing.commitInfo.branch as string) .should('be.visible') - - cy.percySnapshot() }) }) @@ -100,8 +98,6 @@ describe('', { viewportHeight: 400 }, () => { // this is the human readable commit time from the stub cy.contains('an hour ago').should('be.visible') - - cy.percySnapshot() }) }) @@ -122,8 +118,6 @@ describe('', { viewportHeight: 400 }, () => { // this is the human readable commit time from the stub cy.contains('01:01:01').should('be.visible') - - cy.percySnapshot() }) it('displays mm:ss format for run duration if duration is less than an hour', () => { @@ -142,8 +136,6 @@ describe('', { viewportHeight: 400 }, () => { // this is the human readable commit time from the stub cy.contains('01:01').should('be.visible') - - cy.percySnapshot() }) }) @@ -163,8 +155,6 @@ describe('', { viewportHeight: 400 }, () => { }) cy.get('[data-cy="run-tag"]').should('have.length', 2).each(($el, i) => cy.wrap($el).contains(`tag${i}`)) - - cy.percySnapshot() }) it('truncates tags if > 2', () => { @@ -182,8 +172,6 @@ describe('', { viewportHeight: 400 }, () => { }) cy.get('[data-cy="run-tag"]').should('have.length', 3).last().contains('+4') - - cy.percySnapshot() }) }) }) diff --git a/packages/app/src/runs/RunResults.cy.tsx b/packages/app/src/runs/RunResults.cy.tsx index 87ecceea0296..140a9ec5daa2 100644 --- a/packages/app/src/runs/RunResults.cy.tsx +++ b/packages/app/src/runs/RunResults.cy.tsx @@ -17,8 +17,6 @@ describe('', { viewportHeight: 150, viewportWidth: 250 }, () => { cy.get(`[title=${defaultMessages.runs.results.pending}]`).should('contain.text', cloudRun.totalPending) }) }) - - cy.percySnapshot() }) it('renders flaky ribbon', () => { @@ -32,7 +30,5 @@ describe('', { viewportHeight: 150, viewportWidth: 250 }, () => { }) cy.contains('4 Flaky') - - cy.percySnapshot() }) }) diff --git a/packages/app/src/runs/RunsConnect.cy.tsx b/packages/app/src/runs/RunsConnect.cy.tsx index 067f9b01af1b..70614009e14e 100644 --- a/packages/app/src/runs/RunsConnect.cy.tsx +++ b/packages/app/src/runs/RunsConnect.cy.tsx @@ -2,7 +2,7 @@ import RunsConnect from './RunsConnect.vue' describe('', () => { it('show connect button', () => { - cy.mount(() =>
) + cy.mount(() =>
) cy.contains('button', 'Connect to Cypress Cloud').should('be.visible') }) diff --git a/packages/app/src/runs/RunsConnect.vue b/packages/app/src/runs/RunsConnect.vue index 41306e153184..d7935d7548cb 100644 --- a/packages/app/src/runs/RunsConnect.vue +++ b/packages/app/src/runs/RunsConnect.vue @@ -1,50 +1,17 @@ diff --git a/packages/app/src/runs/RunsConnectSuccessAlert.spec.tsx b/packages/app/src/runs/RunsConnectSuccessAlert.spec.tsx index 0dfe111c5d55..da79aaf33eaa 100644 --- a/packages/app/src/runs/RunsConnectSuccessAlert.spec.tsx +++ b/packages/app/src/runs/RunsConnectSuccessAlert.spec.tsx @@ -41,9 +41,6 @@ describe('', { viewportHeight: 400 }, () => { ) }, }) - - cy.viewport(1000, 800) - cy.percySnapshot() }) }) }) diff --git a/packages/app/src/runs/RunsContainer.cy.tsx b/packages/app/src/runs/RunsContainer.cy.tsx index 8dc6c46e1f9b..8439e2a4c17d 100644 --- a/packages/app/src/runs/RunsContainer.cy.tsx +++ b/packages/app/src/runs/RunsContainer.cy.tsx @@ -1,7 +1,7 @@ import RunsContainer from './RunsContainer.vue' import { RunsContainerFragmentDoc } from '../generated/graphql-test' import { CloudUserStubs } from '@packages/graphql/test/stubCloudTypes' -import { useLoginConnectStore } from '@packages/frontend-shared/src/store/login-connect-store' +import { useUserProjectStatusStore } from '@packages/frontend-shared/src/store/user-project-status-store' import { defaultMessages } from '@cy/i18n' @@ -16,9 +16,9 @@ describe('', { keystrokeDelay: 0 }, () => { context('when the user is logged in', () => { beforeEach(() => { - const loginConnectStore = useLoginConnectStore() + const userProjectStatusStore = useUserProjectStatusStore() - loginConnectStore.setUserFlag('isLoggedIn', true) + userProjectStatusStore.setUserFlag('isLoggedIn', true) }) it('renders with expected runs if there is a cloud project id', () => { @@ -56,9 +56,6 @@ describe('', { keystrokeDelay: 0 }, () => { const text = defaultMessages.runs.connect cy.contains(text.title).should('be.visible') - cy.contains(text.smartText).should('be.visible') - cy.contains(text.debugText).should('be.visible') - cy.contains(text.chartText).should('be.visible') cy.contains(text.buttonProject).should('be.visible') cy.percySnapshot() }) @@ -75,14 +72,35 @@ describe('', { keystrokeDelay: 0 }, () => { const text = defaultMessages.runs.connect cy.contains(text.title).should('be.visible') - cy.contains(text.smartText).should('be.visible') - cy.contains(text.debugText).should('be.visible') - cy.contains(text.chartText).should('be.visible') cy.contains(text.buttonUser).should('be.visible') cy.percySnapshot() }) }) + context('when the user has no recorded runs', () => { + it('renders instructions and record prompt', () => { + cy.mountFragment(RunsContainerFragmentDoc, { + onResult (gql) { + gql.cloudViewer = cloudViewer + if (gql.currentProject?.cloudProject?.__typename === 'CloudProject') { + gql.currentProject.cloudProject.runs = { + __typename: 'CloudRunConnection', + pageInfo: null as any, + nodes: [], + } + } + }, + render (gqlVal) { + return + }, + }) + + const text = defaultMessages.runs.empty + + cy.contains(text.title).should('be.visible') + }) + }) + context('with errors', () => { it('renders connection failed', () => { cy.mountFragment(RunsContainerFragmentDoc, { @@ -107,4 +125,104 @@ describe('', { keystrokeDelay: 0 }, () => { cy.percySnapshot() }) }) + + context('when not using git', () => { + it('renders alert message', () => { + const userProjectStatusStore = useUserProjectStatusStore() + + userProjectStatusStore.setProjectFlag('isUsingGit', false) + userProjectStatusStore.setUserFlag('isLoggedIn', true) + + cy.mountFragment(RunsContainerFragmentDoc, { + onResult: (result) => { + result.cloudViewer = cloudViewer + }, + render (gqlVal) { + return + }, + }) + + cy.get('h3').contains(defaultMessages.runs.empty.gitRepositoryNotDetected) + cy.contains(defaultMessages.runs.empty.ensureGitSetupCorrectly) + }) + + it('dismisses the alert', () => { + const userProjectStatusStore = useUserProjectStatusStore() + + userProjectStatusStore.setProjectFlag('isUsingGit', false) + userProjectStatusStore.setUserFlag('isLoggedIn', true) + + cy.mountFragment(RunsContainerFragmentDoc, { + onResult: (result) => { + result.cloudViewer = cloudViewer + }, + render (gqlVal) { + return + }, + }) + + cy.get('h3').contains(defaultMessages.runs.empty.gitRepositoryNotDetected) + cy.contains(defaultMessages.runs.empty.ensureGitSetupCorrectly) + cy.get('[data-cy=alert-suffix-icon]').click() + cy.get('[data-cy=alert-header]').should('not.exist') + }) + }) + + context('when using git but no runs for current branch', () => { + it('renders alert message', () => { + const { setUserFlag, setProjectFlag, cloudStatusMatches } = useUserProjectStatusStore() + + setUserFlag('isLoggedIn', true) + setUserFlag('isMemberOfOrganization', true) + setProjectFlag('isProjectConnected', true) + setProjectFlag('hasNoRecordedRuns', true) + setProjectFlag('hasNonExampleSpec', true) + setProjectFlag('isConfigLoaded', true) + setProjectFlag('isUsingGit', true) + + expect(cloudStatusMatches('needsRecordedRun')).equals(true) + cy.mountFragment(RunsContainerFragmentDoc, { + onResult: (result) => { + result.cloudViewer = cloudViewer + }, + render (gqlVal) { + return + }, + }) + + cy.get('h3').contains(defaultMessages.runs.empty.noRunsFoundForBranch) + cy.get('p').contains(defaultMessages.runs.empty.noRunsForBranchMessage) + // The utm_source will be Binary%3A+App in production`open` mode but we assert using Binary%3A+Launchpad as this is the value in CI + cy.contains(defaultMessages.links.learnMoreButton).should('have.attr', 'href', 'https://on.cypress.io/git-info?utm_source=Binary%3A+Launchpad&utm_medium=Runs+Tab&utm_campaign=No+Runs+Found') + }) + + it('dismisses the alert', () => { + const { setUserFlag, setProjectFlag, cloudStatusMatches } = useUserProjectStatusStore() + + setUserFlag('isLoggedIn', true) + setUserFlag('isMemberOfOrganization', true) + setProjectFlag('isProjectConnected', true) + setProjectFlag('hasNoRecordedRuns', true) + setProjectFlag('hasNonExampleSpec', true) + setProjectFlag('isConfigLoaded', true) + setProjectFlag('isUsingGit', true) + + expect(cloudStatusMatches('needsRecordedRun')).equals(true) + cy.mountFragment(RunsContainerFragmentDoc, { + onResult: (result) => { + result.cloudViewer = cloudViewer + }, + render (gqlVal) { + return + }, + }) + + cy.get('h3').contains(defaultMessages.runs.empty.noRunsFoundForBranch) + cy.get('p').contains(defaultMessages.runs.empty.noRunsForBranchMessage) + // The utm_source will be Binary%3A+App in production`open` mode but we assert using Binary%3A+Launchpad as this is the value in CI + cy.contains(defaultMessages.links.learnMoreButton).should('have.attr', 'href', 'https://on.cypress.io/git-info?utm_source=Binary%3A+Launchpad&utm_medium=Runs+Tab&utm_campaign=No+Runs+Found') + cy.get('[data-cy=alert-suffix-icon]').click() + cy.get('[data-cy=alert-header]').should('not.exist') + }) + }) }) diff --git a/packages/app/src/runs/RunsContainer.vue b/packages/app/src/runs/RunsContainer.vue index f33bc626092f..7e97ed10a568 100644 --- a/packages/app/src/runs/RunsContainer.vue +++ b/packages/app/src/runs/RunsContainer.vue @@ -1,5 +1,5 @@ @@ -135,15 +138,15 @@ import RequestAccessButton from './RequestAccessButton.vue' import { gql } from '@urql/vue' import { SpecsListBannersFragment, SpecsListBanners_CheckCloudOrgMembershipDocument } from '../generated/graphql' import { AllowedState, BannerIds } from '@packages/types' -import { LoginBanner, CreateOrganizationBanner, ConnectProjectBanner, RecordBanner } from './banners' -import { useLoginConnectStore } from '@packages/frontend-shared/src/store/login-connect-store' +import { LoginBanner, ComponentTestingAvailableBanner, CreateOrganizationBanner, ConnectProjectBanner, RecordBanner } from './banners' +import { useUserProjectStatusStore } from '@packages/frontend-shared/src/store/user-project-status-store' import { usePromptManager } from '@packages/frontend-shared/src/gql-components/composables/usePromptManager' import { CohortConfig, CohortOption, useCohorts } from '@packages/frontend-shared/src/gql-components/composables/useCohorts' import { useSubscription } from '../graphql' const route = useRoute() const { t } = useI18n() -const loginConnectStore = useLoginConnectStore() +const userProjectStatusStore = useUserProjectStatusStore() gql` fragment SpecsListBanners on Query { @@ -163,6 +166,21 @@ fragment SpecsListBanners on Query { id projectId savedState + currentTestingType + config + } + machineId + wizard { + framework { + id + name + icon + type + } + bundler { + id + name + } } } ` @@ -203,13 +221,12 @@ const showFetchError = ref(props.isFetchError) const showProjectNotFound = ref(props.isProjectNotFound) const showProjectRequestAccess = ref(props.isProjectUnauthorized) -const isBannerAllowed = ref(false) - const bannerIds = { isLoggedOut: BannerIds.ACI_082022_LOGIN, needsOrgConnect: BannerIds.ACI_082022_CREATE_ORG, needsProjectConnect: BannerIds.ACI_082022_CONNECT_PROJECT, needsRecordedRun: BannerIds.ACI_082022_RECORD, + isComponentTestingCandidate: BannerIds.CT_052023_AVAILABLE, } as const watch( @@ -223,32 +240,30 @@ watch( }, ) -const cloudData = computed(() => ([props.gql.cloudViewer, props.gql.cachedUser, props.gql.currentProject] as const)) -const bannerToShow = computed(() => { +const { getEffectiveBannerState } = usePromptManager() + +const bannerComponentToShow = computed(() => { const componentsByStatus = { isLoggedOut: LoginBanner, needsOrgConnect: CreateOrganizationBanner, needsProjectConnect: ConnectProjectBanner, needsRecordedRun: RecordBanner, + isComponentTestingCandidate: ComponentTestingAvailableBanner, } - return componentsByStatus[loginConnectStore.userStatus] ?? null + const bannerStateToShow = getEffectiveBannerState('specsListBanner') + + return bannerStateToShow ? componentsByStatus[bannerStateToShow] : null }) const hasCurrentBannerBeenShown = computed(() => { + const bannerStateToShow = getEffectiveBannerState('specsListBanner') const bannersState = (props.gql.currentProject?.savedState as AllowedState)?.banners + const bannerId = bannerStateToShow && bannerIds[bannerStateToShow] - return !!bannersState?._disabled || !!bannersState?.[bannerIds[loginConnectStore.userStatus]]?.lastShown + return !!bannersState?._disabled || (!!bannerId && !!bannersState?.[bannerId]?.lastShown) }) -const { isAllowedFeature } = usePromptManager() - -watch(cloudData, () => { - // when cloud data updates, recheck if banner is allowed - isBannerAllowed.value = isAllowedFeature('specsListBanner') -}, -{ immediate: true }) - type BannerKeys = keyof typeof BannerIds type BannerId = typeof BannerIds[BannerKeys] type BannerCohortOptions = Partial> @@ -280,11 +295,21 @@ const getCohortForBanner = (bannerId: BannerId): Ref = } const currentCohortOption = computed(() => { - if (!bannerCohortOptions[bannerIds[loginConnectStore.userStatus]]) { + if (!bannerCohortOptions[bannerIds[userProjectStatusStore.cloudStatus]]) { return { cohort: null } } - return reactive({ cohort: getCohortForBanner(bannerIds[loginConnectStore.userStatus]) }) + return reactive({ cohort: getCohortForBanner(bannerIds[userProjectStatusStore.cloudStatus]) }) +}) + +const ctFramework = computed(() => { + return { + name: props.gql.wizard?.framework?.name, + type: props.gql.wizard?.framework?.type, + icon: props.gql.wizard?.framework?.icon, + } }) +const ctBundler = computed(() => props.gql.wizard?.bundler?.name) + diff --git a/packages/app/src/specs/SpecsListHeader.cy.tsx b/packages/app/src/specs/SpecsListHeader.cy.tsx index 8e19097280ef..dfebe42f731a 100644 --- a/packages/app/src/specs/SpecsListHeader.cy.tsx +++ b/packages/app/src/specs/SpecsListHeader.cy.tsx @@ -79,8 +79,6 @@ describe('', { keystrokeDelay: 0 }, () => { .click() .get('@show-spec-pattern-modal') .should('have.been.called') - - cy.percySnapshot() }) it('shows the count correctly when not searching', () => { @@ -96,17 +94,11 @@ describe('', { keystrokeDelay: 0 }, () => { .should('be.visible') .and('have.attr', 'aria-live', 'polite') - cy.percySnapshot('No matches') - mountWithSpecCount(1) cy.contains('1 match').should('be.visible') - cy.percySnapshot('Singular Match') - mountWithSpecCount(100) cy.contains('100 matches').should('be.visible') - - cy.percySnapshot('Plural Match') }) it('shows the count correctly while searching', () => { @@ -124,7 +116,5 @@ describe('', { keystrokeDelay: 0 }, () => { cy.contains('0 of 1 match').should('be.visible') cy.contains('1 of 1 match').should('be.visible') cy.contains('5 of 22 matches').should('be.visible') - - cy.percySnapshot() }) }) diff --git a/packages/app/src/specs/SpecsListHeader.vue b/packages/app/src/specs/SpecsListHeader.vue index 25b0b8cd2f08..606766b06a1c 100644 --- a/packages/app/src/specs/SpecsListHeader.vue +++ b/packages/app/src/specs/SpecsListHeader.vue @@ -46,12 +46,11 @@
@@ -64,10 +63,10 @@ diff --git a/packages/app/src/specs/banners/ComponentTestingAvailableBanner.cy.tsx b/packages/app/src/specs/banners/ComponentTestingAvailableBanner.cy.tsx new file mode 100644 index 000000000000..64253ee0a95e --- /dev/null +++ b/packages/app/src/specs/banners/ComponentTestingAvailableBanner.cy.tsx @@ -0,0 +1,87 @@ +import { defaultMessages } from '@cy/i18n' +import ComponentTestingAvailableBanner from './ComponentTestingAvailableBanner.vue' +import { TrackedBanner_RecordBannerSeenDocument, TrackedBanner_SetProjectStateDocument } from '../../generated/graphql' +import type Sinon from 'sinon' + +const frameworks = [ + { name: 'React', type: 'react' }, + { name: 'Create React App', type: 'reactscripts' }, + { name: 'Nuxt.js (v2)', type: 'nuxtjs' }, + { name: 'Vue', type: 'vue3' }, + { name: 'Angular', type: 'angular' }, + { name: 'Next.js', type: 'nextjs' }, + { name: 'Svelte.js', type: 'svelte' }, +] + +describe('', { viewportWidth: 1200 }, () => { + it('should render expected content', () => { + cy.mount() + }) + + frameworks.map((framework) => { + it(`should render expected content for ${framework.name}`, () => { + cy.mount( + , + ) + + cy.findByTestId('alert-prefix-icon').should('be.visible') + cy.contains(defaultMessages.specPage.banners.ct.title.replace('{0}', framework.name)).should('be.visible') + }) + }) + + context('events', () => { + beforeEach(() => { + const recordEvent = cy.stub().as('recordEvent') + const setPrefs = cy.stub().as('setPrefs') + + cy.stubMutationResolver(TrackedBanner_RecordBannerSeenDocument, (defineResult, event) => { + recordEvent(event) + + return defineResult({ recordEvent: true }) + }) + + cy.stubMutationResolver(TrackedBanner_SetProjectStateDocument, (defineResult, event) => { + setPrefs(event) + + return defineResult({ __typename: 'Mutation', setPreferences: { __typename: 'Query' } as any }) + }) + }) + + it('should record expected event on mount', () => { + cy.mount( + , + ) + + cy.get('@recordEvent').should('have.been.calledWith', { + campaign: 'CT Available', + medium: 'Specs CT Available Banner', + messageId: Cypress.sinon.match.string, + cohort: null, + }) + }) + + it('should not record event on mount if already shown', () => { + cy.mount( + , + ) + + cy.get('@recordEvent').should('not.have.been.called') + }) + + it('should record dismissal event when clicking survey link', () => { + cy.mount( + , + ) + + cy.findByTestId('survey-link').click() + + cy.get('@setPrefs').should('have.been.calledTwice') + cy.get('@setPrefs').should(($stub) => { + const arg = ($stub as unknown as Sinon.SinonStub).getCall(1).args[0] + + expect(arg.value).to.contain('ct_052023_available') + expect(arg.value).to.contain('dismissed') + }) + }) + }) +}) diff --git a/packages/app/src/specs/banners/ComponentTestingAvailableBanner.vue b/packages/app/src/specs/banners/ComponentTestingAvailableBanner.vue new file mode 100644 index 000000000000..b3b75b72d704 --- /dev/null +++ b/packages/app/src/specs/banners/ComponentTestingAvailableBanner.vue @@ -0,0 +1,145 @@ + + + diff --git a/packages/app/src/specs/banners/ConnectProjectBanner.vue b/packages/app/src/specs/banners/ConnectProjectBanner.vue index ffa6377d6ff5..ed8fc0861ed6 100644 --- a/packages/app/src/specs/banners/ConnectProjectBanner.vue +++ b/packages/app/src/specs/banners/ConnectProjectBanner.vue @@ -37,8 +37,8 @@ import Button from '@cy/components/Button.vue' import TrackedBanner from './TrackedBanner.vue' import type { CohortOption } from '@packages/frontend-shared/src/gql-components/composables/useCohorts' import { BannerIds } from '@packages/types' -import { useLoginConnectStore } from '@packages/frontend-shared/src/store/login-connect-store' -const { openLoginConnectModal } = useLoginConnectStore() +import { useUserProjectStatusStore } from '@packages/frontend-shared/src/store/user-project-status-store' +const { openLoginConnectModal } = useUserProjectStatusStore() defineProps<{ hasBannerBeenShown: boolean diff --git a/packages/app/src/specs/banners/LoginBanner.vue b/packages/app/src/specs/banners/LoginBanner.vue index acb6faa1d8ab..5d0e0853a0d8 100644 --- a/packages/app/src/specs/banners/LoginBanner.vue +++ b/packages/app/src/specs/banners/LoginBanner.vue @@ -37,8 +37,8 @@ import Button from '@cy/components/Button.vue' import TrackedBanner from './TrackedBanner.vue' import type { CohortOption } from '@packages/frontend-shared/src/gql-components/composables/useCohorts' import { BannerIds } from '@packages/types' -import { useLoginConnectStore } from '@packages/frontend-shared/src/store/login-connect-store' -const { openLoginConnectModal } = useLoginConnectStore() +import { useUserProjectStatusStore } from '@packages/frontend-shared/src/store/user-project-status-store' +const { openLoginConnectModal } = useUserProjectStatusStore() defineProps<{ hasBannerBeenShown: boolean diff --git a/packages/app/src/specs/banners/TrackedBanner.cy.tsx b/packages/app/src/specs/banners/TrackedBanner.cy.tsx index a553a47643b9..655bc41bbd9c 100644 --- a/packages/app/src/specs/banners/TrackedBanner.cy.tsx +++ b/packages/app/src/specs/banners/TrackedBanner.cy.tsx @@ -8,8 +8,6 @@ describe('', () => { cy.findByText('Test Content').should('be.visible') cy.findByTestId('alert-suffix-icon').should('be.visible') - - cy.percySnapshot() }) it('should record when banner is made visible', () => { @@ -126,5 +124,15 @@ describe('', () => { cy.get('@recordEvent').should('not.have.been.called') }) }) + + context('when eventData is undefined', () => { + it('should not record event', () => { + cy.mount({ + render: () => , + }) + + cy.get('@recordEvent').should('not.have.been.called') + }) + }) }) }) diff --git a/packages/app/src/specs/banners/TrackedBanner.vue b/packages/app/src/specs/banners/TrackedBanner.vue index c5bee7a9563b..62daf6e3ead4 100644 --- a/packages/app/src/specs/banners/TrackedBanner.vue +++ b/packages/app/src/specs/banners/TrackedBanner.vue @@ -3,7 +3,10 @@ v-model="isAlertDisplayed" v-bind="$attrs" > - + @@ -25,7 +28,7 @@ type AlertComponentProps = InstanceType['$props'] interface TrackedBannerComponentProps extends AlertComponentProps { bannerId: string hasBannerBeenShown: boolean - eventData: EventData + eventData: EventData | undefined } gql` @@ -71,22 +74,22 @@ watchEffect(() => { } }) -watch(() => isAlertDisplayed.value, (newVal) => { +watch(() => isAlertDisplayed.value, async (newVal) => { if (!newVal) { - updateBannerState('dismissed') + await updateBannerState('dismissed') } }) -onMounted(() => { - updateBannerState('lastShown') +onMounted(async () => { + await updateBannerState('lastShown') }) -function updateBannerState (field: 'lastShown' | 'dismissed') { +async function updateBannerState (field: 'lastShown' | 'dismissed') { const savedBannerState = stateQuery.data.value?.currentProject?.savedState?.banners ?? {} set(savedBannerState, [props.bannerId, field], Date.now()) - setStateMutation.executeMutation({ value: JSON.stringify({ banners: savedBannerState }) }) + await setStateMutation.executeMutation({ value: JSON.stringify({ banners: savedBannerState }) }) } function recordBannerShown ({ campaign, medium, cohort }: EventData): void { @@ -98,4 +101,8 @@ function recordBannerShown ({ campaign, medium, cohort }: EventData): void { }) } +async function dismiss (): Promise { + await updateBannerState('dismissed') +} + diff --git a/packages/app/src/specs/banners/index.ts b/packages/app/src/specs/banners/index.ts index c952e10fddbb..1414b9c752d9 100644 --- a/packages/app/src/specs/banners/index.ts +++ b/packages/app/src/specs/banners/index.ts @@ -5,3 +5,5 @@ export { default as CreateOrganizationBanner } from './CreateOrganizationBanner. export { default as ConnectProjectBanner } from './ConnectProjectBanner.vue' export { default as RecordBanner } from './RecordBanner.vue' + +export { default as ComponentTestingAvailableBanner } from './ComponentTestingAvailableBanner.vue' diff --git a/packages/app/src/specs/flaky-badge/FlakyBadge.cy.tsx b/packages/app/src/specs/flaky-badge/FlakyBadge.cy.tsx index ac170e142170..0dcda8f349b4 100644 --- a/packages/app/src/specs/flaky-badge/FlakyBadge.cy.tsx +++ b/packages/app/src/specs/flaky-badge/FlakyBadge.cy.tsx @@ -10,7 +10,5 @@ describe('', () => { cy.findByTestId(flakyBadgeTestId) .should('have.text', defaultMessages.specPage.flaky.badgeLabel) .and('be.visible') - - cy.percySnapshot() }) }) diff --git a/packages/app/src/specs/flaky-badge/FlakySpecSummary.cy.tsx b/packages/app/src/specs/flaky-badge/FlakySpecSummary.cy.tsx index 79d41b964678..11b9d68ab7b7 100644 --- a/packages/app/src/specs/flaky-badge/FlakySpecSummary.cy.tsx +++ b/packages/app/src/specs/flaky-badge/FlakySpecSummary.cy.tsx @@ -1,66 +1,47 @@ import FlakySpecSummary from './FlakySpecSummary.vue' describe('', () => { - it('low severity', () => { - cy.mount( - , - ) - - cy.percySnapshot() - }) - - it('medium severity', () => { - cy.mount( - , - ) - - cy.percySnapshot() - }) - - it('high severity', () => { - cy.mount( - , - ) - - cy.percySnapshot() - }) - - it('loading state', () => { - // Ensure component handles malformed/incomplete data without blowing up - cy.mount( - , - ) + it('severities', () => { + cy.mount(() => +
+ + + + , +
) cy.findByTestId('flaky-specsummary-loading-1').should('be.visible') - cy.percySnapshot() }) diff --git a/packages/app/src/specs/generators/ExpandableFileList.cy.tsx b/packages/app/src/specs/generators/ExpandableFileList.cy.tsx index 76dc945269a8..cb149bef0e2b 100644 --- a/packages/app/src/specs/generators/ExpandableFileList.cy.tsx +++ b/packages/app/src/specs/generators/ExpandableFileList.cy.tsx @@ -50,7 +50,6 @@ describe('', { viewportHeight: 500, viewportWidth: 400 }, it('correctly formats a difficult file', () => { cy.get('body').contains('[...all]') - cy.percySnapshot() }) }) @@ -74,8 +73,6 @@ describe('', { viewportHeight: 500, viewportWidth: 400 }, )) .get(noResultsSelector).should('be.visible') - cy.percySnapshot() - cy.get('[data-testid=add-file]') .click() .get(noResultsSelector).should('not.exist') diff --git a/packages/app/src/specs/generators/GeneratorSuccess.cy.tsx b/packages/app/src/specs/generators/GeneratorSuccess.cy.tsx index 2b89be603575..b599f125dd75 100644 --- a/packages/app/src/specs/generators/GeneratorSuccess.cy.tsx +++ b/packages/app/src/specs/generators/GeneratorSuccess.cy.tsx @@ -12,7 +12,7 @@ describe('<${spec.baseName} />', () => { it('renders', () => { // https://on.cypress.io/mount mount(<${spec.baseName} />) - }) + }) }) `.trim() @@ -21,8 +21,6 @@ describe('', () => { cy.mount(() => ()) .get('body') .contains(spec.relative) - - cy.percySnapshot() }) it('can be collapsed to hide the content', () => { @@ -34,23 +32,9 @@ describe('', () => { .wait(200) // just to show off the animation .get(targetSelector) .click() - - cy.percySnapshot() - }) - - it('can be expanded to show the content', () => { - cy.mount(() => ()) - .get(targetSelector) - .click() - .click() .get('code .line') .should('be.visible') .should('have.length', content.split('\n').length) - .wait(200) // just to show off the animation - .get(targetSelector) - .click() - - cy.percySnapshot() }) it('handles really long file names and really long content', () => { diff --git a/packages/app/src/specs/generators/component/ReactComponentList.cy.tsx b/packages/app/src/specs/generators/component/ReactComponentList.cy.tsx index 5f3ad5b79ad3..66109c83302d 100644 --- a/packages/app/src/specs/generators/component/ReactComponentList.cy.tsx +++ b/packages/app/src/specs/generators/component/ReactComponentList.cy.tsx @@ -18,8 +18,6 @@ describe('ReactComponentList', () => { cy.mount() cy.contains('No components found').should('be.visible') - - cy.percySnapshot() }) it('renders error state if errored is true', () => { @@ -30,8 +28,6 @@ describe('ReactComponentList', () => { cy.mount() cy.contains('Unable to parse file').should('be.visible') - - cy.percySnapshot() }) it('fetches and displays a list of components', () => { @@ -40,8 +36,6 @@ describe('ReactComponentList', () => { cy.contains('FooBar').should('be.visible') cy.contains('BarFoo').should('be.visible') cy.contains('FooBarBaz').should('be.visible') - - cy.percySnapshot() }) it('calls selectItem on click', () => { diff --git a/packages/app/src/specs/switcher/TestingTypeSwitcher.cy.tsx b/packages/app/src/specs/switcher/TestingTypeSwitcher.cy.tsx new file mode 100644 index 000000000000..87e871d9a203 --- /dev/null +++ b/packages/app/src/specs/switcher/TestingTypeSwitcher.cy.tsx @@ -0,0 +1,56 @@ +import TestingTypeSwitcher from './TestingTypeSwitcher.vue' + +describe('', () => { + beforeEach(() => { + const stub = cy.stub().as('selectTestingType') + + cy.mount() + }) + + it('renders', () => { + cy.percySnapshot() + }) + + it('displays question mark for unconfigured testing type', () => { + cy.findByTestId('unconfigured-icon').should('be.visible') + }) + + it('emits event on switch', () => { + cy.viewport(1200, 700) + cy.findByText('Component specs').click() + cy.get('@selectTestingType').should('have.been.calledOnceWith', 'component') + }) + + it('selects current testing type when it is e2e', () => { + const stub = cy.stub().as('selectTestingType') + + cy.mount() + + cy.findByTestId('testing-type-switch').contains('button', 'E2E').should('have.attr', 'aria-selected', 'true') + cy.findByTestId('testing-type-switch').contains('button', 'Component').should('not.have.attr', 'aria-selected') + }) + + it('selects current testing type when it is component', () => { + const stub = cy.stub().as('selectTestingType') + + cy.mount() + + cy.findByTestId('testing-type-switch').contains('button', 'E2E').should('not.have.attr', 'aria-selected') + cy.findByTestId('testing-type-switch').contains('button', 'Component').should('have.attr', 'aria-selected', 'true') + }) +}) diff --git a/packages/app/src/specs/switcher/TestingTypeSwitcher.vue b/packages/app/src/specs/switcher/TestingTypeSwitcher.vue new file mode 100644 index 000000000000..48bf4be1e029 --- /dev/null +++ b/packages/app/src/specs/switcher/TestingTypeSwitcher.vue @@ -0,0 +1,83 @@ + + + + + diff --git a/packages/app/tailwind.config.cjs b/packages/app/tailwind.config.cjs index de778a97ae2b..8e706b94f7ef 100644 --- a/packages/app/tailwind.config.cjs +++ b/packages/app/tailwind.config.cjs @@ -1,8 +1,5 @@ const config = require('@packages/frontend-shared/tailwind.config.cjs') -config.content.files = [ - './src/**/*.{vue,js,ts,jsx,tsx,scss,css}', // - '../frontend-shared/src/**/*.{vue,js,ts,jsx,tsx,scss,css}', -], +config.content.files.push('../frontend-shared/src/**/*.{vue,js,ts,jsx,tsx,scss,css}') module.exports = config diff --git a/packages/app/vite.config.mjs b/packages/app/vite.config.mjs index 9c0772108b39..a09852b05822 100644 --- a/packages/app/vite.config.mjs +++ b/packages/app/vite.config.mjs @@ -5,7 +5,23 @@ import Copy from 'rollup-plugin-copy' import Legacy from '@vitejs/plugin-legacy' import { resolve } from 'path' -export default makeConfig({}, { +export default makeConfig({ + optimizeDeps: { + include: [ + 'javascript-time-ago', + 'ansi-to-html', + 'fuzzysort', + '@cypress-design/**', + '@cypress-design/vue-button', + 'debug', + 'p-defer', + 'bluebird', + 'events', + '@popperjs/core', + '@opentelemetry/*', + ] + }, +}, { plugins: [ Layouts(), Pages({ extensions: ['vue'] }), diff --git a/packages/config/__snapshots__/validation.spec.ts.js b/packages/config/__snapshots__/validation.spec.ts.js index a713874b3627..ebd24b7fcfa9 100644 --- a/packages/config/__snapshots__/validation.spec.ts.js +++ b/packages/config/__snapshots__/validation.spec.ts.js @@ -1,13 +1,13 @@ exports['missing https protocol'] = { - "key": "clientCertificates[0].url", - "value": "http://url.com", - "type": "an https protocol" + 'key': 'clientCertificates[0].url', + 'value': 'http://url.com', + 'type': 'an https protocol', } exports['invalid url'] = { - "key": "clientCertificates[0].url", - "value": "not *", - "type": "a valid URL" + 'key': 'clientCertificates[0].url', + 'value': 'not *', + 'type': 'a valid URL', } exports['undefined browsers'] = ` @@ -19,208 +19,220 @@ Expected at least one browser ` exports['browsers list with a string'] = { - "key": "name", - "value": "foo", - "type": "a non-empty string", - "list": "browsers" + 'key': 'name', + 'value': 'foo', + 'type': 'a non-empty string', + 'list': 'browsers', } exports['invalid retry value'] = { - "key": "mockConfigKey", - "value": "1", - "type": "a positive number or null or an object with keys \"openMode\" and \"runMode\" with values of numbers or nulls" + 'key': 'mockConfigKey', + 'value': '1', + 'type': 'a positive number or null or an object with keys "openMode" and "runMode" with values of numbers or nulls', } exports['invalid retry object'] = { - "key": "mockConfigKey", - "value": { - "fakeMode": 1 + 'key': 'mockConfigKey', + 'value': { + 'fakeMode': 1, }, - "type": "a positive number or null or an object with keys \"openMode\" and \"runMode\" with values of numbers or nulls" + 'type': 'a positive number or null or an object with keys "openMode" and "runMode" with values of numbers or nulls', } exports['not qualified url'] = { - "key": "mockConfigKey", - "value": "url.com", - "type": "a fully qualified URL (starting with `http://` or `https://`)" + 'key': 'mockConfigKey', + 'value': 'url.com', + 'type': 'a fully qualified URL (starting with `http://` or `https://`)', } exports['empty string'] = { - "key": "mockConfigKey", - "value": "", - "type": "a fully qualified URL (starting with `http://` or `https://`)" + 'key': 'mockConfigKey', + 'value': '', + 'type': 'a fully qualified URL (starting with `http://` or `https://`)', } exports['not string or array'] = { - "key": "mockConfigKey", - "value": null, - "type": "a string or an array of strings" + 'key': 'mockConfigKey', + 'value': null, + 'type': 'a string or an array of strings', } exports['array of non-strings'] = { - "key": "mockConfigKey", - "value": [ + 'key': 'mockConfigKey', + 'value': [ 1, 2, - 3 + 3, ], - "type": "a string or an array of strings" + 'type': 'a string or an array of strings', } exports['not one of the strings error message'] = { - "key": "test", - "value": "nope", - "type": "one of these values: \"foo\", \"bar\"" + 'key': 'test', + 'value': 'nope', + 'type': 'one of these values: "foo", "bar"', } exports['number instead of string'] = { - "key": "test", - "value": 42, - "type": "one of these values: \"foo\", \"bar\"" + 'key': 'test', + 'value': 42, + 'type': 'one of these values: "foo", "bar"', } exports['null instead of string'] = { - "key": "test", - "value": null, - "type": "one of these values: \"foo\", \"bar\"" + 'key': 'test', + 'value': null, + 'type': 'one of these values: "foo", "bar"', } exports['not one of the numbers error message'] = { - "key": "test", - "value": 4, - "type": "one of these values: 1, 2, 3" + 'key': 'test', + 'value': 4, + 'type': 'one of these values: 1, 2, 3', } exports['string instead of a number'] = { - "key": "test", - "value": "foo", - "type": "one of these values: 1, 2, 3" + 'key': 'test', + 'value': 'foo', + 'type': 'one of these values: 1, 2, 3', } exports['null instead of a number'] = { - "key": "test", - "value": null, - "type": "one of these values: 1, 2, 3" + 'key': 'test', + 'value': null, + 'type': 'one of these values: 1, 2, 3', } exports['config/src/validation .isValidClientCertificatesSet returns error message for certs not passed as an array array 1'] = { - "key": "mockConfigKey", - "value": "1", - "type": "a positive number or null or an object with keys \"openMode\" and \"runMode\" with values of numbers or nulls" + 'key': 'mockConfigKey', + 'value': '1', + 'type': 'a positive number or null or an object with keys "openMode" and "runMode" with values of numbers or nulls', } exports['config/src/validation .isValidClientCertificatesSet returns error message for certs object without url 1'] = { - "key": "clientCertificates[0].url", - "type": "a URL matcher" + 'key': 'clientCertificates[0].url', + 'type': 'a URL matcher', } exports['config/src/validation .isValidBrowser passes valid browsers and forms error messages for invalid ones isValidBrowser 1'] = { - "name": "isValidBrowser", - "behavior": [ + 'name': 'isValidBrowser', + 'behavior': [ { - "given": { - "name": "Chrome", - "displayName": "Chrome Browser", - "family": "chromium", - "path": "/path/to/chrome", - "version": "1.2.3", - "majorVersion": 1 + 'given': { + 'name': 'Chrome', + 'displayName': 'Chrome Browser', + 'family': 'chromium', + 'path': '/path/to/chrome', + 'version': '1.2.3', + 'majorVersion': 1, }, - "expect": true + 'expect': true, }, { - "given": { - "name": "FF", - "displayName": "Firefox", - "family": "firefox", - "path": "/path/to/firefox", - "version": "1.2.3", - "majorVersion": "1" + 'given': { + 'name': 'FF', + 'displayName': 'Firefox', + 'family': 'firefox', + 'path': '/path/to/firefox', + 'version': '1.2.3', + 'majorVersion': '1', }, - "expect": true + 'expect': true, }, { - "given": { - "name": "Electron", - "displayName": "Electron", - "family": "chromium", - "path": "", - "version": "99.101.3", - "majorVersion": 99 + 'given': { + 'name': 'Electron', + 'displayName': 'Electron', + 'family': 'chromium', + 'path': '', + 'version': '99.101.3', + 'majorVersion': 99, }, - "expect": true + 'expect': true, }, { - "given": { - "name": "No display name", - "family": "chromium" + 'given': { + 'name': 'No display name', + 'family': 'chromium', }, - "expect": { - "key": "displayName", - "value": { - "name": "No display name", - "family": "chromium" + 'expect': { + 'key': 'displayName', + 'value': { + 'name': 'No display name', + 'family': 'chromium', }, - "type": "a non-empty string" - } + 'type': 'a non-empty string', + }, }, { - "given": { - "name": "bad family", - "displayName": "Bad family browser", - "family": "unknown family" + 'given': { + 'name': 'bad family', + 'displayName': 'Bad family browser', + 'family': 'unknown family', }, - "expect": { - "key": "family", - "value": { - "name": "bad family", - "displayName": "Bad family browser", - "family": "unknown family" + 'expect': { + 'key': 'family', + 'value': { + 'name': 'bad family', + 'displayName': 'Bad family browser', + 'family': 'unknown family', }, - "type": "either chromium, firefox or webkit" - } - } - ] + 'type': 'either chromium, firefox or webkit', + }, + }, + ], } exports['config/src/validation .isPlainObject returns error message when value is a not an object 1'] = { - "key": "mockConfigKey", - "value": 1, - "type": "a plain object" + 'key': 'mockConfigKey', + 'value': 1, + 'type': 'a plain object', } exports['config/src/validation .isNumber returns error message when value is a not a number 1'] = { - "key": "mockConfigKey", - "value": "string", - "type": "a number" + 'key': 'mockConfigKey', + 'value': 'string', + 'type': 'a number', } exports['config/src/validation .isNumberOrFalse returns error message when value is a not number or false 1'] = { - "key": "mockConfigKey", - "value": null, - "type": "a number or false" + 'key': 'mockConfigKey', + 'value': null, + 'type': 'a number or false', } exports['config/src/validation .isBoolean returns error message when value is a not a string 1'] = { - "key": "mockConfigKey", - "value": 1, - "type": "a string" + 'key': 'mockConfigKey', + 'value': 1, + 'type': 'a string', } exports['config/src/validation .isString returns error message when value is a not a string 1'] = { - "key": "mockConfigKey", - "value": 1, - "type": "a string" + 'key': 'mockConfigKey', + 'value': 1, + 'type': 'a string', } exports['config/src/validation .isArray returns error message when value is a non-array 1'] = { - "key": "mockConfigKey", - "value": 1, - "type": "an array" + 'key': 'mockConfigKey', + 'value': 1, + 'type': 'an array', } exports['config/src/validation .isStringOrFalse returns error message when value is neither string nor false 1'] = { - "key": "mockConfigKey", - "value": null, - "type": "a string or false" + 'key': 'mockConfigKey', + 'value': null, + 'type': 'a string or false', +} + +exports['invalid lower bound'] = { + 'key': 'test', + 'value': -1, + 'type': 'a valid CRF number between 1 & 51, 0 or false to disable compression, or true to use the default compression of 32', +} + +exports['invalid upper bound'] = { + 'key': 'test', + 'value': 52, + 'type': 'a valid CRF number between 1 & 51, 0 or false to disable compression, or true to use the default compression of 32', } diff --git a/packages/config/src/browser.ts b/packages/config/src/browser.ts index 509886eb5dee..94d21f2bf7e6 100644 --- a/packages/config/src/browser.ts +++ b/packages/config/src/browser.ts @@ -2,6 +2,7 @@ import _ from 'lodash' import Debug from 'debug' import { defaultSpecPattern, + defaultExcludeSpecPattern, options, breakingOptions, breakingRootOptions, @@ -17,6 +18,7 @@ import * as validation from './validation' export { defaultSpecPattern, + defaultExcludeSpecPattern, options, breakingOptions, BreakingOption, diff --git a/packages/config/src/options.ts b/packages/config/src/options.ts index 2a48153160ba..66eab7fa18f3 100644 --- a/packages/config/src/options.ts +++ b/packages/config/src/options.ts @@ -120,6 +120,11 @@ export const defaultSpecPattern = { component: '**/*.cy.{js,jsx,ts,tsx}', } +export const defaultExcludeSpecPattern = { + e2e: '*.hot-update.js', + component: ['**/__snapshots__/*', '**/__image_snapshots__/*'], +} + // NOTE: // If you add/remove/change a config value, make sure to update the following // - cli/types/index.d.ts (including allowed config options on TestOptions) @@ -271,7 +276,7 @@ const driverConfigOptions: Array = [ requireRestartOnChange: 'server', }, { name: 'excludeSpecPattern', - defaultValue: (options: Record = {}) => options.testingType === 'component' ? ['**/__snapshots__/*', '**/__image_snapshots__/*'] : '*.hot-update.js', + defaultValue: (options: Record = {}) => options.testingType === 'component' ? defaultExcludeSpecPattern.component : defaultExcludeSpecPattern.e2e, validation: validate.isStringOrArrayOfStrings, overrideLevel: 'any', }, { @@ -423,7 +428,7 @@ const driverConfigOptions: Array = [ }, { name: 'videoCompression', defaultValue: 32, - validation: validate.isNumberOrFalse, + validation: validate.isValidCrfOrBoolean, }, { name: 'videosFolder', defaultValue: 'cypress/videos', diff --git a/packages/config/src/validation.ts b/packages/config/src/validation.ts index 8f023db35515..49f2f7eeb420 100644 --- a/packages/config/src/validation.ts +++ b/packages/config/src/validation.ts @@ -301,6 +301,16 @@ export function isNumberOrFalse (key: string, value: any): ErrResult | true { return errMsg(key, value, 'a number or false') } +export function isValidCrfOrBoolean (key: string, value: any): ErrResult | true { + // a valid number that is between 1-51 including 1 or 51 + // or a boolean. false or 0 disables compression and true sets compression to 32 CRF by default. + if (_.isBoolean(value) || (_.isNumber(value) && _.inRange(value, 0, 52))) { + return true + } + + return errMsg(key, value, 'a valid CRF number between 1 & 51, 0 or false to disable compression, or true to use the default compression of 32') +} + export function isStringOrFalse (key: string, value: any): ErrResult | true { if (_.isString(value) || isFalse(value)) { return true diff --git a/packages/config/test/validation.spec.ts b/packages/config/test/validation.spec.ts index fc7b22e5eb31..36bc180d5575 100644 --- a/packages/config/test/validation.spec.ts +++ b/packages/config/test/validation.spec.ts @@ -388,4 +388,44 @@ describe('config/src/validation', () => { return snapshot('null instead of a number', msg) }) }) + + describe('.isValidCrfOrBoolean', () => { + it('validates booleans', () => { + const validate = validation.isValidCrfOrBoolean + + expect(validate).to.be.a('function') + expect(validate('test', false)).to.be.true + expect(validate('test', true)).to.be.true + }) + + it('validates any number between 0 and 51', () => { + const validate = validation.isValidCrfOrBoolean + + const validConfigNumbers = [...Array(51).keys()] + + validConfigNumbers.forEach((num) => { + expect(validate('test', num)).to.be.true + }) + }) + + it('invalidates lower bound', () => { + const validate = validation.isValidCrfOrBoolean + + const lowerBoundMsg = validate('test', -1) + + expect(lowerBoundMsg).to.not.be.true + + return snapshot('invalid lower bound', lowerBoundMsg) + }) + + it('invalidates upper bound', () => { + const validate = validation.isValidCrfOrBoolean + + const upperBoundMsg = validate('test', 52) + + expect(upperBoundMsg).to.not.be.true + + return snapshot('invalid upper bound', upperBoundMsg) + }) + }) }) diff --git a/packages/data-context/src/actions/ElectronActions.ts b/packages/data-context/src/actions/ElectronActions.ts index afce5ab557ad..091e81d54677 100644 --- a/packages/data-context/src/actions/ElectronActions.ts +++ b/packages/data-context/src/actions/ElectronActions.ts @@ -1,4 +1,4 @@ -import type { App, BrowserWindow, OpenDialogOptions, OpenDialogReturnValue, SaveDialogOptions, SaveDialogReturnValue } from 'electron' +import type { App, BrowserWindow, OpenDialogOptions, OpenDialogReturnValue, SaveDialogOptions, SaveDialogReturnValue, Notification } from 'electron' import os from 'os' import type { DataContext } from '..' import _ from 'lodash' @@ -13,6 +13,7 @@ export interface ElectronApiShape { copyTextToClipboard(text: string): void isMainWindowFocused(): boolean focusMainWindow(): void + createNotification(title: string, body: string): Notification } export class ElectronActions { @@ -104,4 +105,18 @@ export class ElectronActions { return obj.filePath || null }) } + + showSystemNotification (title: string, body: string, onClick?: () => void) { + const notification = this.ctx.electronApi.createNotification(title, body) + + const defaultOnClick = async () => { + await this.ctx.actions.browser.focusActiveBrowserWindow() + } + + const clickHandler = onClick || defaultOnClick + + notification.on('click', clickHandler) + + notification.show() + } } diff --git a/packages/data-context/src/actions/EventCollectorActions.ts b/packages/data-context/src/actions/EventCollectorActions.ts index 5d9e0e01e0b4..9f1af8f4616b 100644 --- a/packages/data-context/src/actions/EventCollectorActions.ts +++ b/packages/data-context/src/actions/EventCollectorActions.ts @@ -5,11 +5,13 @@ const pkg = require('@packages/root') const debug = Debug('cypress:data-context:actions:EventCollectorActions') -interface CollectableEvent { +interface CollectibleEvent { campaign: string messageId: string medium: string cohort?: string + payload?: object + machineId?: string } /** @@ -23,23 +25,29 @@ export class EventCollectorActions { debug('Using %s environment for Event Collection', cloudEnv) } - async recordEvent (event: CollectableEvent): Promise { + async recordEvent (event: CollectibleEvent, includeMachineId: boolean): Promise { try { const cloudUrl = this.ctx.cloud.getCloudUrl(cloudEnv) + const eventUrl = includeMachineId ? `${cloudUrl}/machine-collect` : `${cloudUrl}/anon-collect` + const headers = { + 'Content-Type': 'application/json', + 'x-cypress-version': pkg.version, + } + + if (includeMachineId) { + event.machineId = (await this.ctx.coreData.machineId) || undefined + } await this.ctx.util.fetch( - `${cloudUrl}/anon-collect`, + eventUrl, { method: 'POST', - headers: { - 'Content-Type': 'application/json', - 'x-cypress-version': pkg.version, - }, + headers, body: JSON.stringify(event), }, ) - debug(`Recorded event: %o`, event) + debug(`Recorded %s event: %o`, includeMachineId ? 'machine-linked' : 'anonymous', event) return true } catch (err) { diff --git a/packages/data-context/src/actions/ProjectActions.ts b/packages/data-context/src/actions/ProjectActions.ts index e0f52325c0b1..5834d542c7f7 100644 --- a/packages/data-context/src/actions/ProjectActions.ts +++ b/packages/data-context/src/actions/ProjectActions.ts @@ -9,9 +9,17 @@ import type { ProjectShape } from '../data/coreDataShape' import type { DataContext } from '..' import { hasNonExampleSpec } from '../codegen' import templates from '../codegen/templates' -import { insertValuesInConfigFile } from '../util' +import { insertValuesInConfigFile, toPosix } from '../util' import { getError } from '@packages/errors' import { resetIssuedWarnings } from '@packages/config' +import type { RunSpecErrorCode } from '@packages/graphql/src/schemaTypes' +import debugLib from 'debug' + +export class RunSpecError extends Error { + constructor (public code: typeof RunSpecErrorCode[number], msg: string) { + super(msg) + } +} export interface ProjectApiShape { /** @@ -46,6 +54,8 @@ export interface ProjectApiShape { isListening: (url: string) => Promise resetBrowserTabsForNextTest(shouldKeepTabOpen: boolean): Promise resetServer(): void + runSpec(spec: Cypress.Spec): Promise + routeToDebug(): void } export interface FindSpecs { @@ -76,6 +86,8 @@ type SetForceReconfigureProjectByTestingType = { testingType?: TestingType } +const debug = debugLib('cypress:data-context:ProjectActions') + export class ProjectActions { constructor (private ctx: DataContext) {} @@ -462,4 +474,173 @@ export class ProjectActions { await this.ctx.actions.wizard.scaffoldTestingType() } } + + async runSpec ({ specPath }: { specPath: string}) { + const waitForBrowserToOpen = async () => { + const browserStatusSubscription = this.ctx.emitter.subscribeTo('browserStatusChange', { sendInitial: false }) + + // Wait for browser to finish launching. Browser is either launched from scratch + // or relaunched when switching testing types - we need to wait in either case + // We wait a maximum of 3 seconds so we don't block indefinitely in case something + // goes sideways with the browser launch process. This is broken up into three + // separate 'waits' in case we have to watch a browser relaunch (close > opening > open) + debug('Waiting for browser to report `open`') + let maxIterations = 3 + + while (this.ctx.coreData.app.browserStatus !== 'open') { + await Promise.race([ + new Promise((resolve) => setTimeout(resolve, 1000)), + browserStatusSubscription.next(), + ]) + + if (--maxIterations === 0) { + break + } + } + + await browserStatusSubscription.return(undefined as any) + } + + try { + if (!this.ctx.currentProject) { + throw new RunSpecError('NO_PROJECT', 'A project must be open prior to attempting to run a spec') + } + + if (!specPath) { + throw new RunSpecError('NO_SPEC_PATH', '`specPath` must be a non-empty string') + } + + let targetTestingType: TestingType + + // Check to see whether input specPath matches the specPattern for one or the other testing type + // If it matches neither then we can't run the spec and we should error + if (await this.ctx.project.matchesSpecPattern(specPath, 'e2e')) { + targetTestingType = 'e2e' + } else if (await this.ctx.project.matchesSpecPattern(specPath, 'component')) { + targetTestingType = 'component' + } else { + throw new RunSpecError('NO_SPEC_PATTERN_MATCH', 'Unable to determine testing type, spec does not match any configured specPattern') + } + + debug(`Spec %s matches '${targetTestingType}' pattern`, specPath) + + const absoluteSpecPath = this.ctx.path.resolve(this.ctx.currentProject, specPath) + + debug('Attempting to launch spec %s', absoluteSpecPath) + + // Look to see if there's actually a file at the target location + // This helps us avoid switching testingType *then* finding out the spec doesn't exist + if (!this.ctx.fs.existsSync(absoluteSpecPath)) { + throw new RunSpecError('SPEC_NOT_FOUND', `No file exists at path ${absoluteSpecPath}`) + } + + // We now know what testingType we need to be in - if we're already there, great + // If not, verify that type is configured then switch (or throw an error if not configured) + if (this.ctx.coreData.currentTestingType !== targetTestingType) { + if (!this.ctx.lifecycleManager.isTestingTypeConfigured(targetTestingType)) { + throw new RunSpecError('TESTING_TYPE_NOT_CONFIGURED', `Input path matched specPattern for '${targetTestingType}' testing type, but it is not configured.`) + } + + debug('Setting testing type to %s', targetTestingType) + + const specChangeSubscription = this.ctx.emitter.subscribeTo('specsChange', { sendInitial: false }) + + const originalTestingType = this.ctx.coreData.currentTestingType + + // Temporarily toggle testing type so the `activeBrowser` can be initialized + // for the targeted testing type. Browser has to be initialized prior to our "relaunch" + // call below - this can be an issue when Cypress is still on the launchpad and no + // browser has been launched yet + this.ctx.lifecycleManager.setCurrentTestingType(targetTestingType) + await this.ctx.lifecycleManager.setInitialActiveBrowser() + this.ctx.lifecycleManager.setCurrentTestingType(originalTestingType) + + // This is the magic sauce - we now have a browser selected, so this will toggle + // the testing type, trigger specs to update, and launch the browser + await this.switchTestingTypesAndRelaunch(targetTestingType) + + await waitForBrowserToOpen() + + // When testing type changes we need to wait for the specWatcher to trigger and load new specs + // otherwise our call to `getCurrentSpecByAbsolute` below will fail + // Wait a maximum of 2 seconds just in case something breaks with the event subscription + // so we don't block indefinitely + debug('Waiting for specs to finish loading') + await Promise.race([ + new Promise((resolve) => setTimeout(resolve, 2000)), + specChangeSubscription.next(), + ]) + + // Close out subscription + await specChangeSubscription.return(undefined) + } else { + debug('Already in %s testing mode', targetTestingType) + } + + // This accounts for an edge case where a testing type has been previously opened, but + // the user then backs out to the testing type selector in launchpad. In that scenario, + // the testingType switch logic above does not trigger the browser to open, so we do it + // manually here + if (this.ctx.coreData.app.browserStatus === 'closed') { + debug('No browser instance, launching...') + await this.ctx.lifecycleManager.setInitialActiveBrowser() + + await this.api.launchProject( + this.ctx.coreData.activeBrowser!, + { + name: '', + absolute: '', + relative: '', + specType: targetTestingType === 'e2e' ? 'integration' : 'component', + }, + ) + + debug('Browser launched') + } else { + debug(`Browser already running, status ${this.ctx.coreData.app.browserStatus}`) + + if (this.ctx.coreData.app.browserStatus !== 'open') { + await waitForBrowserToOpen() + } + } + + // Now that we're in the correct testingType, verify the requested spec actually exists + // We don't have specs available until a testingType is loaded, so even through we validated + // a matching file exists above it may not end up loading as a valid spec so we validate that here + // + // Have to use toPosix here to align windows absolute paths with how the absolute path is storied in the data context + const spec = this.ctx.project.getCurrentSpecByAbsolute(toPosix(absoluteSpecPath)) + + if (!spec) { + debug(`Spec not found with path: ${absoluteSpecPath}`) + throw new RunSpecError('SPEC_NOT_FOUND', `Unable to find matching spec with path ${absoluteSpecPath}`) + } + + const browser = this.ctx.coreData.activeBrowser! + + // Hooray, everything looks good and we're all set up + // Try to launch the requested spec by navigating to it in the browser + await this.api.runSpec(spec) + + return { + testingType: targetTestingType, + browser, + spec, + } + } catch (err) { + if (!(err instanceof RunSpecError)) { + debug('Unexpected error during `runSpec` %o', err) + } + + return { + code: err instanceof RunSpecError ? err.code : 'GENERAL_ERROR', + detailMessage: err.message, + } + } + } + + async debugCloudRun (runNumber: number) { + await this.ctx.relevantRuns.moveToRun(runNumber, this.ctx.git?.currentHashes || []) + this.api.routeToDebug() + } } diff --git a/packages/data-context/src/actions/WizardActions.ts b/packages/data-context/src/actions/WizardActions.ts index 7a3c4aafed63..9aa87d96f3ed 100644 --- a/packages/data-context/src/actions/WizardActions.ts +++ b/packages/data-context/src/actions/WizardActions.ts @@ -100,6 +100,14 @@ export class WizardActions { this.resetWizard() + await this.initializeFramework() + } + + async initializeFramework () { + if (!this.ctx.currentProject) { + return + } + const detected = await detectFramework(this.ctx.currentProject, this.ctx.coreData.wizard.frameworks) debug('detected %o', detected) diff --git a/packages/data-context/src/data/ProjectLifecycleManager.ts b/packages/data-context/src/data/ProjectLifecycleManager.ts index 2c1c4a6a9ad7..afac43214656 100644 --- a/packages/data-context/src/data/ProjectLifecycleManager.ts +++ b/packages/data-context/src/data/ProjectLifecycleManager.ts @@ -584,7 +584,7 @@ export class ProjectLifecycleManager { * this sources the config from the various config sources */ async getFullInitialConfig (options: Partial = this.ctx.modeOptions, withBrowsers = true): Promise { - assert(this._configManager, 'Cannot get full config a config manager') + assert(this._configManager, 'Cannot get full config without a config manager') return this._configManager.getFullInitialConfig(options, withBrowsers) } diff --git a/packages/data-context/src/data/coreDataShape.ts b/packages/data-context/src/data/coreDataShape.ts index 1dd5322525f0..529311c62f84 100644 --- a/packages/data-context/src/data/coreDataShape.ts +++ b/packages/data-context/src/data/coreDataShape.ts @@ -7,6 +7,7 @@ import type { SocketIONamespace, SocketIOServer } from '@packages/socket' import type { Server } from 'http' import type { ErrorWrapperSource } from '@packages/errors' import type { GitDataSource, LegacyCypressConfigJson } from '../sources' +import { machineId as getMachineId } from 'node-machine-id' export type Maybe = T | null | undefined @@ -123,6 +124,7 @@ export interface CoreDataShape { cliBrowser: string | null cliTestingType: string | null activeBrowser: FoundBrowser | null + machineId: Promise machineBrowsers: Promise | null allBrowsers: Promise | null servers: { @@ -166,6 +168,7 @@ export function makeCoreData (modeOptions: Partial = {}): CoreDa servers: {}, cliBrowser: modeOptions.browser ?? null, cliTestingType: modeOptions.testingType ?? null, + machineId: machineId(), machineBrowsers: null, allBrowsers: null, hasInitializedMode: null, @@ -233,4 +236,12 @@ export function makeCoreData (modeOptions: Partial = {}): CoreDa testsForRunResults: {}, }, } + + async function machineId (): Promise { + try { + return await getMachineId() + } catch (error) { + return null + } + } } diff --git a/packages/data-context/src/sources/HtmlDataSource.ts b/packages/data-context/src/sources/HtmlDataSource.ts index a8f377e2f1ea..bbdc351245a7 100644 --- a/packages/data-context/src/sources/HtmlDataSource.ts +++ b/packages/data-context/src/sources/HtmlDataSource.ts @@ -120,7 +120,7 @@ export class HtmlDataSource { window.__CYPRESS_CONFIG__ = ${JSON.stringify(serveConfig)}; window.__CYPRESS_TESTING_TYPE__ = '${this.ctx.coreData.currentTestingType}' window.__CYPRESS_BROWSER__ = ${JSON.stringify(this.ctx.coreData.activeBrowser)} - ${telemetry.isEnabled() ? `window.__CYPRESS_TELEMETRY__ = ${JSON.stringify({ context: telemetry.getActiveContextObject(), resources: telemetry.getResources() })}` : ''} + ${telemetry.isEnabled() ? `window.__CYPRESS_TELEMETRY__ = ${JSON.stringify({ context: telemetry.getActiveContextObject(), resources: telemetry.getResources(), isVerbose: telemetry.isVerbose() })}` : ''} ${process.env.CYPRESS_INTERNAL_GQL_NO_SOCKET ? `window.__CYPRESS_GQL_NO_SOCKET__ = 'true';` : ''} `) diff --git a/packages/data-context/src/sources/ProjectDataSource.ts b/packages/data-context/src/sources/ProjectDataSource.ts index b8cea8e9fa63..95284e536cb8 100644 --- a/packages/data-context/src/sources/ProjectDataSource.ts +++ b/packages/data-context/src/sources/ProjectDataSource.ts @@ -7,7 +7,7 @@ import path from 'path' import Debug from 'debug' import commonPathPrefix from 'common-path-prefix' import type { FSWatcher } from 'chokidar' -import { defaultSpecPattern } from '@packages/config' +import { defaultSpecPattern, defaultExcludeSpecPattern } from '@packages/config' import parseGlob from 'parse-glob' import micromatch from 'micromatch' import RandExp from 'randexp' @@ -23,12 +23,20 @@ import type { ProjectShape } from '../data' import type { FindSpecs } from '../actions' import { FileExtension, getDefaultSpecFileName } from './migration/utils' +type SpecPatterns = { + specPattern?: string[] + excludeSpecPattern?: string[] +} + interface MatchedSpecs { projectRoot: string testingType: Cypress.TestingType specAbsolutePaths: string[] specPattern: string | string[] } + +const toArray = (val?: string | string[]) => val ? typeof val === 'string' ? [val] : val : undefined + export function matchedSpecs ({ projectRoot, testingType, @@ -258,12 +266,10 @@ export class ProjectDataSource { this.ctx.coreData.app.relaunchBrowser = relaunchBrowser } - async specPatterns (): Promise<{ - specPattern?: string[] - excludeSpecPattern?: string[] - }> { - const toArray = (val?: string | string[]) => val ? typeof val === 'string' ? [val] : val : undefined - + /** + * Retrieve the applicable spec patterns for the current testing type + */ + async specPatterns (): Promise { const config = await this.getConfig() return { @@ -272,6 +278,26 @@ export class ProjectDataSource { } } + /** + * Retrieve the applicable spec patterns for a given testing type. Can be used to check whether + * a spec satisfies the pattern when outside a given testing type. + */ + async specPatternsByTestingType (testingType: TestingType): Promise { + const configFile = await this.ctx.lifecycleManager.getConfigFileContents() + + if (testingType === 'e2e') { + return { + specPattern: toArray(configFile.e2e?.specPattern ?? defaultSpecPattern.e2e), + excludeSpecPattern: toArray(configFile.e2e?.excludeSpecPattern ?? defaultExcludeSpecPattern.e2e), + } + } + + return { + specPattern: toArray(configFile.component?.specPattern ?? defaultSpecPattern.component), + excludeSpecPattern: toArray(configFile.component?.excludeSpecPattern ?? defaultExcludeSpecPattern.component), + } + } + async findSpecs ({ projectRoot, testingType, @@ -460,14 +486,21 @@ export class ProjectDataSource { }) } - async matchesSpecPattern (specFile: string): Promise { - if (!this.ctx.currentProject || !this.ctx.coreData.currentTestingType) { + /** + * Determines whether a given spec file satisfies the spec pattern *and* does not satisfy any + * exclusionary pattern. By default it will check the spec pattern for the currently-active + * testing type, but a target testing type can be supplied via optional parameter. + */ + async matchesSpecPattern (specFile: string, testingType?: TestingType): Promise { + const targetTestingType = testingType || this.ctx.coreData.currentTestingType + + if (!this.ctx.currentProject || !targetTestingType) { return false } const MINIMATCH_OPTIONS = { dot: true, matchBase: true } - const { specPattern = [], excludeSpecPattern = [] } = await this.ctx.project.specPatterns() + const { specPattern = [], excludeSpecPattern = [] } = await this.ctx.project.specPatternsByTestingType(targetTestingType) for (const pattern of excludeSpecPattern) { if (minimatch(specFile, pattern, MINIMATCH_OPTIONS)) { diff --git a/packages/data-context/src/sources/UtilDataSource.ts b/packages/data-context/src/sources/UtilDataSource.ts index b17a716c21e5..7ccdf22fd9dc 100644 --- a/packages/data-context/src/sources/UtilDataSource.ts +++ b/packages/data-context/src/sources/UtilDataSource.ts @@ -1,6 +1,6 @@ import fetch from 'cross-fetch' import type { DataContext } from '../DataContext' -import { isDependencyInstalled } from '@packages/scaffold-config' +import { isDependencyInstalled, isDependencyInstalledByName } from '@packages/scaffold-config' // Require rather than import since data-context is stricter than network and there are a fair amount of errors in agent. const { agent } = require('@packages/network') @@ -23,4 +23,8 @@ export class UtilDataSource { isDependencyInstalled (dependency: Cypress.CypressComponentDependency, projectPath: string) { return isDependencyInstalled(dependency, projectPath) } + + isDependencyInstalledByName (packageName: string, projectPath: string) { + return isDependencyInstalledByName(packageName, projectPath) + } } diff --git a/packages/data-context/src/sources/VersionsDataSource.ts b/packages/data-context/src/sources/VersionsDataSource.ts index f2bfcf29d1d5..88cc16f7d254 100644 --- a/packages/data-context/src/sources/VersionsDataSource.ts +++ b/packages/data-context/src/sources/VersionsDataSource.ts @@ -3,13 +3,11 @@ import type { DataContext } from '..' import type { TestingType } from '@packages/types' import { CYPRESS_REMOTE_MANIFEST_URL, NPM_CYPRESS_REGISTRY_URL } from '@packages/types' import Debug from 'debug' -import { WIZARD_DEPENDENCIES } from '@packages/scaffold-config' -import semver from 'semver' +import { dependencyNamesToDetect } from '@packages/scaffold-config' const debug = Debug('cypress:data-context:sources:VersionsDataSource') const pkg = require('@packages/root') -const nmi = require('node-machine-id') interface Version { id: string @@ -131,7 +129,7 @@ export class VersionsDataSource { return pkg.version } - const id = await VersionsDataSource.machineId() + const id = (await this.ctx.coreData.machineId) || undefined const manifestHeaders: HeadersInit = { 'Content-Type': 'application/json', @@ -162,45 +160,43 @@ export class VersionsDataSource { } } - try { - const projectPath = this.ctx.currentProject - - if (projectPath) { - const dependenciesToCheck = WIZARD_DEPENDENCIES - - debug('Checking %d dependencies in project', dependenciesToCheck.length) - // Check all dependencies of interest in parallel - const dependencyResults = await Promise.allSettled( - dependenciesToCheck.map(async (dependency) => { - const result = await this.ctx.util.isDependencyInstalled(dependency, projectPath) - - // If a dependency isn't satisfied then we are no longer interested in it, - // exclude from further processing by rejecting promise - if (!result.satisfied) { - throw new Error('Unsatisfied dependency') - } - - // We only want major version, fallback to `-1` if we couldn't detect version - const majorVersion = result.detectedVersion ? semver.major(result.detectedVersion) : -1 - - // For any satisfied dependencies, build a `package@version` string - return `${result.dependency.package}@${majorVersion}` - }), - ) - // Take any dependencies that were found and combine into comma-separated string - const headerValue = dependencyResults - .filter(this.isFulfilled) - .map((result) => result.value) - .join(',') - - if (headerValue) { - manifestHeaders['x-dependencies'] = headerValue + if (this._initialLaunch) { + try { + const projectPath = this.ctx.currentProject + + if (projectPath) { + debug('Checking %d dependencies in project', dependencyNamesToDetect.length) + // Check all dependencies of interest in parallel + const dependencyResults = await Promise.allSettled( + dependencyNamesToDetect.map(async (dependency) => { + const result = await this.ctx.util.isDependencyInstalledByName(dependency, projectPath) + + if (!result.detectedVersion) { + throw new Error(`Could not resolve dependency version for ${dependency}`) + } + + // For any satisfied dependencies, build a `package@version` string + return `${result.dependency}@${result.detectedVersion}` + }), + ) + + // Take any dependencies that were found and combine into comma-separated string + const headerValue = dependencyResults + .filter(this.isFulfilled) + .map((result) => result.value) + .join(',') + + if (headerValue) { + manifestHeaders['x-dependencies'] = headerValue + } + } else { + debug('No project path, skipping dependency check') } - } else { - debug('No project path, skipping dependency check') + } catch (err) { + debug('Failed to detect project dependencies', err) } - } catch (err) { - debug('Failed to detect project dependencies', err) + } else { + debug('Not initial launch of Cypress, skipping dependency check') } try { @@ -226,14 +222,6 @@ export class VersionsDataSource { } } - private static async machineId (): Promise { - try { - return await nmi.machineId() - } catch (error) { - return undefined - } - } - private isFulfilled (item: PromiseSettledResult): item is PromiseFulfilledResult { return item.status === 'fulfilled' } diff --git a/packages/data-context/test/unit/actions/EventCollectorActions.spec.ts b/packages/data-context/test/unit/actions/EventCollectorActions.spec.ts index e5fe67b19547..0e989ebdcb76 100644 --- a/packages/data-context/test/unit/actions/EventCollectorActions.spec.ts +++ b/packages/data-context/test/unit/actions/EventCollectorActions.spec.ts @@ -24,13 +24,13 @@ describe('EventCollectorActions', () => { }) context('.recordEvent', () => { - it('makes expected request', async () => { + it('makes expected request for anonymous event', async () => { await actions.recordEvent({ campaign: 'abc', medium: 'def', messageId: 'ghi', cohort: '123', - }) + }, false) expect(ctx.util.fetch).to.have.been.calledOnceWith( sinon.match(/anon-collect$/), // Verify URL ends with expected 'anon-collect' path @@ -38,10 +38,26 @@ describe('EventCollectorActions', () => { ) }) + it('makes expected request for machine-linked event', async () => { + ctx.coreData.machineId = Promise.resolve('xyz') + + await actions.recordEvent({ + campaign: 'abc', + medium: 'def', + messageId: 'ghi', + cohort: '123', + }, true) + + expect(ctx.util.fetch).to.have.been.calledOnceWith( + sinon.match(/machine-collect$/), // Verify URL ends with expected 'machine-collect' path + { method: 'POST', headers: { 'Content-Type': 'application/json', 'x-cypress-version': pkg.version }, body: '{"campaign":"abc","medium":"def","messageId":"ghi","cohort":"123","machineId":"xyz"}' }, + ) + }) + it('resolve true if request succeeds', async () => { (ctx.util.fetch as SinonStub).resolves({} as any) - const result = await actions.recordEvent({ campaign: '', medium: '', messageId: '', cohort: '' }) + const result = await actions.recordEvent({ campaign: '', medium: '', messageId: '', cohort: '' }, false) expect(result).to.eql(true) }) @@ -49,7 +65,7 @@ describe('EventCollectorActions', () => { it('resolves false if request fails', async () => { (ctx.util.fetch as SinonStub).rejects({} as any) - const result = await actions.recordEvent({ campaign: '', medium: '', messageId: '', cohort: '' }) + const result = await actions.recordEvent({ campaign: '', medium: '', messageId: '', cohort: '' }, false) expect(result).to.eql(false) }) diff --git a/packages/data-context/test/unit/actions/ProjectActions.spec.ts b/packages/data-context/test/unit/actions/ProjectActions.spec.ts index dc95bf2175a1..6420d8366126 100644 --- a/packages/data-context/test/unit/actions/ProjectActions.spec.ts +++ b/packages/data-context/test/unit/actions/ProjectActions.spec.ts @@ -103,4 +103,178 @@ describe('ProjectActions', () => { }) }) }) + + describe('runSpec', () => { + context('no project', () => { + it('should fail with `NO_PROJECT`', async () => { + const result = await ctx.actions.project.runSpec({ specPath: 'e2e/abc.cy.ts' }) + + sinon.assert.match(result, { + code: 'NO_PROJECT', + detailMessage: sinon.match.string, + }) + }) + }) + + context('empty specPath', () => { + beforeEach(() => { + ctx.coreData.currentProject = '/cy-project' + }) + + it('should fail with `NO_SPEC_PATH`', async () => { + const result = await ctx.actions.project.runSpec({ specPath: '' }) + + sinon.assert.match(result, { + code: 'NO_SPEC_PATH', + detailMessage: sinon.match.string, + }) + }) + }) + + context('no specPattern match', () => { + beforeEach(() => { + ctx.coreData.currentProject = '/cy-project' + sinon.stub(ctx.project, 'matchesSpecPattern').resolves(false) + }) + + it('should fail with `NO_SPEC_PATTERN_MATCH`', async () => { + const result = await ctx.actions.project.runSpec({ specPath: 'e2e/abc.cy.ts' }) + + sinon.assert.match(result, { + code: 'NO_SPEC_PATTERN_MATCH', + detailMessage: sinon.match.string, + }) + }) + }) + + context('spec file not found', () => { + beforeEach(() => { + ctx.coreData.currentProject = '/cy-project' + sinon.stub(ctx.project, 'matchesSpecPattern').withArgs(sinon.match.string, 'e2e').resolves(true) + sinon.stub(ctx.fs, 'existsSync').returns(false) + }) + + it('should fail with `SPEC_NOT_FOUND`', async () => { + const result = await ctx.actions.project.runSpec({ specPath: 'e2e/abc.cy.ts' }) + + sinon.assert.match(result, { + code: 'SPEC_NOT_FOUND', + detailMessage: sinon.match.string, + }) + }) + }) + + context('matched testing type not configured', () => { + beforeEach(() => { + ctx.coreData.currentTestingType = null + ctx.coreData.currentProject = '/cy-project' + sinon.stub(ctx.project, 'matchesSpecPattern').withArgs(sinon.match.string, 'e2e').resolves(true) + sinon.stub(ctx.fs, 'existsSync').returns(true) + sinon.stub(ctx.lifecycleManager, 'isTestingTypeConfigured').withArgs('e2e').returns(false) + }) + + it('should fail with `TESTING_TYPE_NOT_CONFIGURED`', async () => { + const result = await ctx.actions.project.runSpec({ specPath: 'e2e/abc.cy.ts' }) + + sinon.assert.match(result, { + code: 'TESTING_TYPE_NOT_CONFIGURED', + detailMessage: sinon.match.string, + }) + }) + }) + + context('spec can be executed', () => { + beforeEach(() => { + ctx.coreData.currentProject = '/cy-project' + sinon.stub(ctx.project, 'matchesSpecPattern').withArgs(sinon.match.string, 'e2e').resolves(true) + sinon.stub(ctx.fs, 'existsSync').returns(true) + sinon.stub(ctx.project, 'getCurrentSpecByAbsolute').returns({ id: 'xyz' } as any) + sinon.stub(ctx.lifecycleManager, 'setInitialActiveBrowser') + ctx.coreData.activeBrowser = { id: 'abc' } as any + sinon.stub(ctx.lifecycleManager, 'setCurrentTestingType') + sinon.stub(ctx.actions.project, 'switchTestingTypesAndRelaunch') + ctx.coreData.app.browserStatus = 'open' + sinon.stub(ctx.emitter, 'subscribeTo').returns({ + next: () => {}, + return: () => {}, + } as any) + }) + + context('no current testing type', () => { + beforeEach(() => { + ctx.coreData.currentTestingType = null + sinon.stub(ctx.lifecycleManager, 'isTestingTypeConfigured').withArgs('e2e').returns(true) + }) + + it('should succeed', async () => { + const result = await ctx.actions.project.runSpec({ specPath: 'e2e/abc.cy.ts' }) + + sinon.assert.match(result, { + testingType: 'e2e', + browser: sinon.match.object, + spec: sinon.match.object, + }) + + expect(ctx.lifecycleManager.setCurrentTestingType).to.have.been.calledWith('e2e') + expect(ctx.actions.project.switchTestingTypesAndRelaunch).to.have.been.calledWith('e2e') + expect(ctx._apis.projectApi.runSpec).to.have.been.called + }) + }) + + context('testing type needs to change', () => { + beforeEach(() => { + ctx.coreData.currentTestingType = 'component' + sinon.stub(ctx.lifecycleManager, 'isTestingTypeConfigured').withArgs('e2e').returns(true) + }) + + it('should succeed', async () => { + const result = await ctx.actions.project.runSpec({ specPath: 'e2e/abc.cy.ts' }) + + sinon.assert.match(result, { + testingType: 'e2e', + browser: sinon.match.object, + spec: sinon.match.object, + }) + + expect(ctx.lifecycleManager.setCurrentTestingType).to.have.been.calledWith('e2e') + expect(ctx.actions.project.switchTestingTypesAndRelaunch).to.have.been.calledWith('e2e') + expect(ctx._apis.projectApi.runSpec).to.have.been.called + }) + }) + + context('testing type does not need to change', () => { + beforeEach(() => { + ctx.coreData.currentTestingType = 'e2e' + }) + + it('should succeed', async () => { + const result = await ctx.actions.project.runSpec({ specPath: 'e2e/abc.cy.ts' }) + + sinon.assert.match(result, { + testingType: 'e2e', + browser: sinon.match.object, + spec: sinon.match.object, + }) + + expect(ctx.lifecycleManager.setCurrentTestingType).not.to.have.been.called + expect(ctx.actions.project.switchTestingTypesAndRelaunch).not.to.have.been.called + + expect(ctx._apis.projectApi.runSpec).to.have.been.called + }) + }) + }) + }) + + describe('debugCloudRun', () => { + beforeEach(() => { + sinon.stub(ctx.relevantRuns, 'moveToRun') + }) + + it('should call moveToRun and routeToDebug', async () => { + await ctx.actions.project.debugCloudRun(123) + + expect(ctx.relevantRuns.moveToRun).to.have.been.calledWith(123) + expect(ctx._apis.projectApi.routeToDebug).to.have.been.called + }) + }) }) diff --git a/packages/data-context/test/unit/helper.ts b/packages/data-context/test/unit/helper.ts index 417d74167e06..17091f92143c 100644 --- a/packages/data-context/test/unit/helper.ts +++ b/packages/data-context/test/unit/helper.ts @@ -56,6 +56,8 @@ export function createTestDataContext (mode: DataContextConfig['mode'] = 'run', closeActiveProject: sinon.stub(), insertProjectToCache: sinon.stub().resolves(), getProjectRootsFromCache: sinon.stub().resolves([]), + runSpec: sinon.stub(), + routeToDebug: sinon.stub(), } as unknown as ProjectApiShape, electronApi: { isMainWindowFocused: sinon.stub().returns(false), diff --git a/packages/data-context/test/unit/sources/ProjectDataSource.spec.ts b/packages/data-context/test/unit/sources/ProjectDataSource.spec.ts index d29e5ffe690e..d50d56c4af9d 100644 --- a/packages/data-context/test/unit/sources/ProjectDataSource.spec.ts +++ b/packages/data-context/test/unit/sources/ProjectDataSource.spec.ts @@ -12,7 +12,7 @@ import { FoundSpec } from '@packages/types' import { DataContext } from '../../../src' import type { FindSpecs } from '../../../src/actions' import { createTestDataContext } from '../helper' -import { defaultSpecPattern } from '@packages/config' +import { defaultExcludeSpecPattern, defaultSpecPattern } from '@packages/config' import FixturesHelper from '@tooling/system-tests' chai.use(sinonChai) @@ -827,6 +827,7 @@ describe('ProjectDataSource', () => { it('yields correct jsx extension if there are jsx files and specPattern allows', async () => { sinon.stub(ctx.project, 'specPatterns').resolves({ specPattern: [defaultSpecPattern.component] }) + sinon.stub(ctx.project, 'specPatternsByTestingType').resolves({ specPattern: [defaultSpecPattern.component] }) const defaultSpecFileName = await ctx.project.defaultSpecFileName() @@ -835,6 +836,7 @@ describe('ProjectDataSource', () => { it('yields non-jsx extension if there are jsx files but specPattern disallows', async () => { sinon.stub(ctx.project, 'specPatterns').resolves({ specPattern: ['cypress/component/*.cy.js'] }) + sinon.stub(ctx.project, 'specPatternsByTestingType').resolves({ specPattern: ['cypress/component/*.cy.js'] }) const defaultSpecFileName = await ctx.project.defaultSpecFileName() @@ -843,4 +845,59 @@ describe('ProjectDataSource', () => { }) }) }) + + describe('specPatternsByTestingType', () => { + context('when custom patterns configured', () => { + beforeEach(() => { + sinon.stub(ctx.lifecycleManager, 'getConfigFileContents').resolves({ + e2e: { + specPattern: 'abc', + excludeSpecPattern: 'def', + }, + component: { + specPattern: 'uvw', + excludeSpecPattern: 'xyz', + } as any, + }) + }) + + it('should return custom e2e patterns', async () => { + expect(await ctx.project.specPatternsByTestingType('e2e')).to.eql({ + specPattern: ['abc'], + excludeSpecPattern: ['def'], + }) + }) + + it('should return custom component patterns', async () => { + expect(await ctx.project.specPatternsByTestingType('component')).to.eql({ + specPattern: ['uvw'], + excludeSpecPattern: ['xyz'], + }) + }) + }) + + context('when no custom patterns configured', () => { + const wrapInArray = (value: string | string[]): string[] => { + return Array.isArray(value) ? value : [value] + } + + beforeEach(() => { + sinon.stub(ctx.lifecycleManager, 'getConfigFileContents').resolves({}) + }) + + it('should return default e2e patterns', async () => { + expect(await ctx.project.specPatternsByTestingType('e2e')).to.eql({ + specPattern: wrapInArray(defaultSpecPattern.e2e), + excludeSpecPattern: wrapInArray(defaultExcludeSpecPattern.e2e), + }) + }) + + it('should return default component patterns', async () => { + expect(await ctx.project.specPatternsByTestingType('component')).to.eql({ + specPattern: wrapInArray(defaultSpecPattern.component), + excludeSpecPattern: wrapInArray(defaultExcludeSpecPattern.component), + }) + }) + }) + }) }) diff --git a/packages/data-context/test/unit/sources/VersionsDataSource.spec.ts b/packages/data-context/test/unit/sources/VersionsDataSource.spec.ts index 68285554507d..3bb8cdfc8cbe 100644 --- a/packages/data-context/test/unit/sources/VersionsDataSource.spec.ts +++ b/packages/data-context/test/unit/sources/VersionsDataSource.spec.ts @@ -9,14 +9,12 @@ import { createTestDataContext } from '../helper' import { CYPRESS_REMOTE_MANIFEST_URL, NPM_CYPRESS_REGISTRY_URL } from '@packages/types' const pkg = require('@packages/root') -const nmi = require('node-machine-id') describe('VersionsDataSource', () => { context('.versions', () => { let ctx: DataContext - let nmiStub: sinon.SinonStub let fetchStub: sinon.SinonStub - let isDependencyInstalledStub: sinon.SinonStub + let isDependencyInstalledByNameStub: sinon.SinonStub let mockNow: Date = new Date() let versionsDataSource: VersionsDataSource let currentCypressVersion: string = pkg.version @@ -33,17 +31,17 @@ describe('VersionsDataSource', () => { }, } + ctx.coreData.machineId = Promise.resolve('abcd123') ctx.coreData.currentProject = '/abc' ctx.coreData.currentTestingType = 'e2e' fetchStub = sinon.stub() - isDependencyInstalledStub = sinon.stub() + isDependencyInstalledByNameStub = sinon.stub() }) beforeEach(() => { - nmiStub = sinon.stub(nmi, 'machineId') sinon.stub(ctx.util, 'fetch').callsFake(fetchStub) - sinon.stub(ctx.util, 'isDependencyInstalled').callsFake(isDependencyInstalledStub) + sinon.stub(ctx.util, 'isDependencyInstalledByName').callsFake(isDependencyInstalledByNameStub) sinon.stub(os, 'platform').returns('darwin') sinon.stub(os, 'arch').returns('x64') sinon.useFakeTimers({ now: mockNow }) @@ -54,8 +52,6 @@ describe('VersionsDataSource', () => { }) it('loads the manifest for the latest version with all headers and queries npm for release dates', async () => { - nmiStub.resolves('abcd123') - fetchStub .withArgs(CYPRESS_REMOTE_MANIFEST_URL, { headers: sinon.match({ @@ -107,7 +103,7 @@ describe('VersionsDataSource', () => { it('resets telemetry data triggering a new call to get the latest version', async () => { const currentCypressVersion = pkg.version - nmiStub.rejects('Error while obtaining machine id') + ctx.coreData.machineId = Promise.resolve(null) ctx.coreData.currentTestingType = 'component' fetchStub @@ -140,8 +136,6 @@ describe('VersionsDataSource', () => { }) it('handles errors fetching version data', async () => { - nmiStub.resolves('abcd123') - fetchStub .withArgs(CYPRESS_REMOTE_MANIFEST_URL, { headers: sinon.match({ @@ -167,8 +161,6 @@ describe('VersionsDataSource', () => { }) it('handles invalid response errors', async () => { - nmiStub.resolves('abcd123') - fetchStub .withArgs(CYPRESS_REMOTE_MANIFEST_URL, { headers: sinon.match({ @@ -202,31 +194,41 @@ describe('VersionsDataSource', () => { }) it('generates x-framework, x-bundler, and x-dependencies headers', async () => { - isDependencyInstalledStub.callsFake(async (dependency) => { + isDependencyInstalledByNameStub.callsFake(async (packageName) => { // Should include any resolved dependency with a valid version - if (dependency.package === 'react') { + if (packageName === 'react') { return { - dependency, + dependency: packageName, detectedVersion: '1.2.3', - satisfied: true, } as Cypress.DependencyToInstall } - // Not satisfied dependency should be excluded - if (dependency.package === 'vue') { + if (packageName === 'vue') { return { - dependency, + dependency: packageName, detectedVersion: '4.5.6', - satisfied: false, } } - // Satisfied dependency without resolved version should result in -1 - if (dependency.package === 'typescript') { + if (packageName === '@builder.io/qwik') { + return { + dependency: packageName, + detectedVersion: '1.1.4', + } + } + + if (packageName === '@playwright/experimental-ct-core') { + return { + dependency: packageName, + detectedVersion: '1.33.0', + } + } + + // Dependency without resolved version should be excluded + if (packageName === 'typescript') { return { - dependency, + dependency: packageName, detectedVersion: null, - satisfied: true, } } @@ -246,7 +248,7 @@ describe('VersionsDataSource', () => { headers: sinon.match({ 'x-framework': 'react', 'x-dev-server': 'vite', - 'x-dependencies': 'typescript@-1,react@1', + 'x-dependencies': 'react@1.2.3,vue@4.5.6,@builder.io/qwik@1.1.4,@playwright/experimental-ct-core@1.33.0', }), }, ) diff --git a/packages/driver/cypress/plugins/index.js b/packages/driver/cypress/plugins/index.js index ee2501ed40f7..3968f8e60043 100644 --- a/packages/driver/cypress/plugins/index.js +++ b/packages/driver/cypress/plugins/index.js @@ -15,8 +15,6 @@ async function getWebpackOptions () { const webpackOptions = opts[0] - console.log(webpackOptions) - // set mode to development which overrides // the 'none' value of the base webpack config // https://webpack.js.org/configuration/mode/ diff --git a/packages/driver/src/cypress.ts b/packages/driver/src/cypress.ts index 9850d6d92ca8..1afd7f2b9444 100644 --- a/packages/driver/src/cypress.ts +++ b/packages/driver/src/cypress.ts @@ -616,6 +616,9 @@ class $Cypress { case 'cy:command:end': return this.emit('command:end', ...args) + case 'cy:command:failed': + return this.emit('command:failed', ...args) + case 'cy:skipped:command:end': return this.emit('skipped:command:end', ...args) diff --git a/packages/driver/src/cypress/command_queue.ts b/packages/driver/src/cypress/command_queue.ts index f442657f63d9..be28d47858cb 100644 --- a/packages/driver/src/cypress/command_queue.ts +++ b/packages/driver/src/cypress/command_queue.ts @@ -541,6 +541,7 @@ export class CommandQueue extends Queue<$Command> { current.fail() } + Cypress.action('cy:command:failed', current, err) this.cleanup() return this.cy.fail(err) diff --git a/packages/errors/__snapshot-html__/CLOUD_CANNOT_UPLOAD_RESULTS.html b/packages/errors/__snapshot-html__/CLOUD_CANNOT_UPLOAD_ARTIFACTS.html similarity index 94% rename from packages/errors/__snapshot-html__/CLOUD_CANNOT_UPLOAD_RESULTS.html rename to packages/errors/__snapshot-html__/CLOUD_CANNOT_UPLOAD_ARTIFACTS.html index 3068e21d2321..e8d2ceec9ecb 100644 --- a/packages/errors/__snapshot-html__/CLOUD_CANNOT_UPLOAD_RESULTS.html +++ b/packages/errors/__snapshot-html__/CLOUD_CANNOT_UPLOAD_ARTIFACTS.html @@ -34,7 +34,7 @@ -
Warning: We encountered an error while uploading results from your run.
+    
Warning: We encountered an error while uploading screenshots & videos from your run.
 
 These results will not be recorded.
 
diff --git a/packages/errors/__snapshot-html__/VIDEO_POST_PROCESSING_FAILED.html b/packages/errors/__snapshot-html__/VIDEO_CAPTURE_FAILED.html
similarity index 78%
rename from packages/errors/__snapshot-html__/VIDEO_POST_PROCESSING_FAILED.html
rename to packages/errors/__snapshot-html__/VIDEO_CAPTURE_FAILED.html
index 5f0017b8e6fb..dc8c80bf8db7 100644
--- a/packages/errors/__snapshot-html__/VIDEO_POST_PROCESSING_FAILED.html
+++ b/packages/errors/__snapshot-html__/VIDEO_CAPTURE_FAILED.html
@@ -34,11 +34,11 @@
     
   
     
-    
Warning: We failed processing this video.
+    
Warning: We failed capturing this video.
 
 This error will not affect or change the exit code.
 
 Error: fail whale
     at makeErr (cypress/packages/errors/test/unit/visualSnapshotErrors_spec.ts)
-    at VIDEO_POST_PROCESSING_FAILED (cypress/packages/errors/test/unit/visualSnapshotErrors_spec.ts)
+    at VIDEO_CAPTURE_FAILED (cypress/packages/errors/test/unit/visualSnapshotErrors_spec.ts)
 
\ No newline at end of file diff --git a/packages/errors/__snapshot-html__/VIDEO_COMPRESSION_FAILED.html b/packages/errors/__snapshot-html__/VIDEO_COMPRESSION_FAILED.html new file mode 100644 index 000000000000..343b4fa4c424 --- /dev/null +++ b/packages/errors/__snapshot-html__/VIDEO_COMPRESSION_FAILED.html @@ -0,0 +1,44 @@ + + + + + + + + + + + +
Warning: We failed compressing this video.
+
+This error will not affect or change the exit code.
+
+Error: fail whale
+    at makeErr (cypress/packages/errors/test/unit/visualSnapshotErrors_spec.ts)
+    at VIDEO_COMPRESSION_FAILED (cypress/packages/errors/test/unit/visualSnapshotErrors_spec.ts)
+
\ No newline at end of file diff --git a/packages/errors/src/errors.ts b/packages/errors/src/errors.ts index bebb87b26e86..c3151f51a5b8 100644 --- a/packages/errors/src/errors.ts +++ b/packages/errors/src/errors.ts @@ -75,9 +75,17 @@ export const AllCypressErrors = { ${fmt.stackTrace(arg1)}` }, - VIDEO_POST_PROCESSING_FAILED: (arg1: Error) => { + VIDEO_CAPTURE_FAILED: (arg1: Error) => { return errTemplate`\ - Warning: We failed processing this video. + Warning: We failed capturing this video. + + This error will not affect or change the exit code. + + ${fmt.stackTrace(arg1)}` + }, + VIDEO_COMPRESSION_FAILED: (arg1: Error) => { + return errTemplate`\ + Warning: We failed compressing this video. This error will not affect or change the exit code. @@ -354,6 +362,7 @@ export const AllCypressErrors = { ${fmt.highlightSecondary(`Auto Cancellation`)} is not included under your current billing plan. To enable this service, please visit your billing and upgrade to another plan with Auto Cancellation. + ${fmt.off(arg1.link)}` }, CLOUD_AUTO_CANCEL_MISMATCH: (arg1: {runUrl: string}) => { @@ -371,6 +380,7 @@ export const AllCypressErrors = { })} The first setting of --auto-cancel-after-failures for any given run takes precedent. + https://on.cypress.io/auto-cancellation-mismatch` }, DEPRECATED_BEFORE_BROWSER_LAUNCH_ARGS: () => { @@ -510,9 +520,9 @@ export const AllCypressErrors = { This error will not affect or change the exit code.` }, - CLOUD_CANNOT_UPLOAD_RESULTS: (apiErr: Error) => { + CLOUD_CANNOT_UPLOAD_ARTIFACTS: (apiErr: Error) => { return errTemplate`\ - Warning: We encountered an error while uploading results from your run. + Warning: We encountered an error while uploading screenshots & videos from your run. These results will not be recorded. diff --git a/packages/errors/test/unit/visualSnapshotErrors_spec.ts b/packages/errors/test/unit/visualSnapshotErrors_spec.ts index 829f2ee8cb58..e5f0b656decd 100644 --- a/packages/errors/test/unit/visualSnapshotErrors_spec.ts +++ b/packages/errors/test/unit/visualSnapshotErrors_spec.ts @@ -325,7 +325,14 @@ describe('visual error templates', () => { default: [err], } }, - VIDEO_POST_PROCESSING_FAILED: () => { + VIDEO_CAPTURE_FAILED: () => { + const err = makeErr() + + return { + default: [err], + } + }, + VIDEO_COMPRESSION_FAILED: () => { const err = makeErr() return { @@ -618,7 +625,7 @@ describe('visual error templates', () => { default: [], } }, - CLOUD_CANNOT_UPLOAD_RESULTS: () => { + CLOUD_CANNOT_UPLOAD_ARTIFACTS: () => { const err = makeApiErr() return { diff --git a/packages/example/package.json b/packages/example/package.json index 7a0e5951f35e..3c3fe4d62437 100644 --- a/packages/example/package.json +++ b/packages/example/package.json @@ -16,7 +16,7 @@ }, "devDependencies": { "cross-env": "6.0.3", - "cypress-example-kitchensink": "1.16.0", + "cypress-example-kitchensink": "1.17.1", "gh-pages": "5.0.0", "gulp": "4.0.2", "gulp-clean": "0.4.0", diff --git a/packages/frontend-shared/cypress/support/mock-graphql/stubgql-Project.ts b/packages/frontend-shared/cypress/support/mock-graphql/stubgql-Project.ts index 06b3435c5d31..fba7edafd867 100644 --- a/packages/frontend-shared/cypress/support/mock-graphql/stubgql-Project.ts +++ b/packages/frontend-shared/cypress/support/mock-graphql/stubgql-Project.ts @@ -29,6 +29,7 @@ export const createTestCurrentProject = (title: string, currentProject: Partial< return { ...globalProject, __typename: 'CurrentProject', + savedState: {}, isCTConfigured: true, serveConfig: {}, isE2EConfigured: true, diff --git a/packages/frontend-shared/package.json b/packages/frontend-shared/package.json index d873f7ce25f2..befa473d1038 100644 --- a/packages/frontend-shared/package.json +++ b/packages/frontend-shared/package.json @@ -18,15 +18,15 @@ }, "dependencies": {}, "devDependencies": { - "@antfu/utils": "^0.3.0", - "@cypress-design/css": "^0.11.0", + "@antfu/utils": "^0.7.0", + "@cypress-design/css": "^0.13.3", "@graphql-typed-document-node/core": "^3.1.0", "@headlessui/vue": "1.4.0", "@iconify/json": "1.1.368", "@iconify/vue": "3.0.0-beta.1", "@intlify/unplugin-vue-i18n": "0.10.0", "@percy/core": "^1.0.0-beta.48", - "@percy/cypress": "^3.1.0", + "@percy/cypress": "^3.1.2", "@testing-library/cypress": "9.0.0", "@toycode/markdown-it-class": "1.2.3", "@types/faker": "5.5.8", diff --git a/packages/frontend-shared/src/assets/icons/illustration-chart_x120.svg b/packages/frontend-shared/src/assets/icons/illustration-chart_x120.svg deleted file mode 100644 index 1dfd8689c224..000000000000 --- a/packages/frontend-shared/src/assets/icons/illustration-chart_x120.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/packages/frontend-shared/src/assets/icons/illustration-debug_x120.svg b/packages/frontend-shared/src/assets/icons/illustration-debug_x120.svg deleted file mode 100644 index cd6906b1c22e..000000000000 --- a/packages/frontend-shared/src/assets/icons/illustration-debug_x120.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/packages/frontend-shared/src/assets/icons/illustration-gear_x120.svg b/packages/frontend-shared/src/assets/icons/illustration-gear_x120.svg deleted file mode 100644 index 9400a40d99de..000000000000 --- a/packages/frontend-shared/src/assets/icons/illustration-gear_x120.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/packages/launchpad/src/images/logos/angular.svg b/packages/frontend-shared/src/assets/logos/angular.svg similarity index 100% rename from packages/launchpad/src/images/logos/angular.svg rename to packages/frontend-shared/src/assets/logos/angular.svg diff --git a/packages/launchpad/src/images/logos/nextjs.svg b/packages/frontend-shared/src/assets/logos/nextjs.svg similarity index 100% rename from packages/launchpad/src/images/logos/nextjs.svg rename to packages/frontend-shared/src/assets/logos/nextjs.svg diff --git a/packages/launchpad/src/images/logos/nuxt.svg b/packages/frontend-shared/src/assets/logos/nuxt.svg similarity index 100% rename from packages/launchpad/src/images/logos/nuxt.svg rename to packages/frontend-shared/src/assets/logos/nuxt.svg diff --git a/packages/launchpad/src/images/logos/react.svg b/packages/frontend-shared/src/assets/logos/react.svg similarity index 100% rename from packages/launchpad/src/images/logos/react.svg rename to packages/frontend-shared/src/assets/logos/react.svg diff --git a/packages/launchpad/src/images/logos/svelte.svg b/packages/frontend-shared/src/assets/logos/svelte.svg similarity index 100% rename from packages/launchpad/src/images/logos/svelte.svg rename to packages/frontend-shared/src/assets/logos/svelte.svg diff --git a/packages/launchpad/src/images/logos/vite.svg b/packages/frontend-shared/src/assets/logos/vite.svg similarity index 100% rename from packages/launchpad/src/images/logos/vite.svg rename to packages/frontend-shared/src/assets/logos/vite.svg diff --git a/packages/launchpad/src/images/logos/vue.svg b/packages/frontend-shared/src/assets/logos/vue.svg similarity index 100% rename from packages/launchpad/src/images/logos/vue.svg rename to packages/frontend-shared/src/assets/logos/vue.svg diff --git a/packages/launchpad/src/images/logos/webpack.svg b/packages/frontend-shared/src/assets/logos/webpack.svg similarity index 100% rename from packages/launchpad/src/images/logos/webpack.svg rename to packages/frontend-shared/src/assets/logos/webpack.svg diff --git a/packages/frontend-shared/src/components/Alert.cy.tsx b/packages/frontend-shared/src/components/Alert.cy.tsx index 0107736697cf..57f9c9133d21 100644 --- a/packages/frontend-shared/src/components/Alert.cy.tsx +++ b/packages/frontend-shared/src/components/Alert.cy.tsx @@ -38,18 +38,6 @@ const prefixIcon = () => const suffixIcon = () => describe('', () => { - describe('classes', () => { - it('can change the text and background color for the alert', () => { - cy.mount(() => - (
- test - test -
)) - - cy.percySnapshot() - }) - }) - describe('title', () => { it('can accept slot as title slot', () => { cy.mount(() => (', () => { }) }) -describe('playground', () => { - it('renders', () => { +describe('', () => { + it('renders various alerts with customizations', () => { const { modelValue, methods } = makeDismissibleProps() cy.mount(() => { @@ -259,11 +247,12 @@ describe('playground', () => { {...methods}>Close me, please! A notice. Default alert + test + test ) }) - cy.contains('Coffee, please').should('be.visible') cy.percySnapshot() }) }) diff --git a/packages/frontend-shared/src/components/Alert.vue b/packages/frontend-shared/src/components/Alert.vue index 9bd1e6fe8a9f..75f678035cd8 100644 --- a/packages/frontend-shared/src/components/Alert.vue +++ b/packages/frontend-shared/src/components/Alert.vue @@ -23,7 +23,7 @@ :title="title" :header-class="`${props.headerClass} ${canCollapse ? 'group-hocus:underline' : ''}`" :prefix-icon="prefix?.icon" - :prefix-icon-class="open ? prefix?.classes + ' rotate-180' : prefix?.classes" + :prefix-icon-class="(open && collapsible) ? prefix?.classes + ' rotate-180' : prefix?.classes" :suffix-icon-aria-label="props.dismissible ? t('components.alert.dismissAriaLabel') : ''" :suffix-icon="props.dismissible ? DeleteIcon : null" :suffix-button-class="classes.suffixButtonClass" @@ -73,7 +73,7 @@ diff --git a/packages/frontend-shared/src/gql-components/HeaderBarContent.cy.tsx b/packages/frontend-shared/src/gql-components/HeaderBarContent.cy.tsx index b4e46bea0903..de8c012a7faa 100644 --- a/packages/frontend-shared/src/gql-components/HeaderBarContent.cy.tsx +++ b/packages/frontend-shared/src/gql-components/HeaderBarContent.cy.tsx @@ -2,7 +2,7 @@ import { HeaderBar_HeaderBarContentFragmentDoc } from '../generated/graphql-test import HeaderBarContent from './HeaderBarContent.vue' import { defaultMessages } from '@cy/i18n' import { CloudUserStubs } from '@packages/graphql/test/stubCloudTypes' -import { useLoginConnectStore } from '../store/login-connect-store' +import { useUserProjectStatusStore } from '../store/user-project-status-store' const text = defaultMessages.topNav @@ -22,8 +22,6 @@ describe('', { viewportWidth: 1000, viewportHeight: 750 }, ( render: (gqlVal) =>
, }) - cy.percySnapshot('before browsers open') - cy.findByTestId('top-nav-active-browser') .should('be.visible') .click() @@ -63,10 +61,6 @@ describe('', { viewportWidth: 1000, viewportHeight: 750 }, ( }) describe('breadcrumbs', () => { - afterEach(() => { - cy.percySnapshot() - }) - context('with current project', () => { const currentProject = { title: 'app', @@ -94,8 +88,6 @@ describe('', { viewportWidth: 1000, viewportHeight: 750 }, ( cy.get('.truncate').contains('application-program/hard-drive-parse').should('be.visible') - cy.percySnapshot() - cy.get('.truncate').realHover() cy.get('.v-popper__popper--shown').contains('application-program/hard-drive-parse') }) @@ -134,7 +126,6 @@ describe('', { viewportWidth: 1000, viewportHeight: 750 }, ( mountFragmentWithData() cy.findByTestId('top-nav-active-browser').should('not.exist') - cy.percySnapshot() cy.contains('button', text.docsMenu.docsHeading).click() cy.wrap(Object.values(text.docsMenu)).each((menuItem) => { @@ -143,15 +134,15 @@ describe('', { viewportWidth: 1000, viewportHeight: 750 }, ( } }) - cy.percySnapshot() cy.get('body').click() cy.contains('a', text.docsMenu.firstTest).should('not.be.visible') - cy.percySnapshot('after click') }) it('docs menu has expected links with no current project', () => { mountFragmentWithData({ currentProject: null }) + cy.contains('a', 'Projects').should('not.exist') + // we render without a current project to validate ciSetup and fasterTests links // because outside of global mode, those are buttons that trigger popups // so this way we can assert all links at once. @@ -189,10 +180,6 @@ describe('', { viewportWidth: 1000, viewportHeight: 750 }, ( }) }) - afterEach(() => { - cy.percySnapshot() - }) - // https://github.com/cypress-io/cypress/issues/21842 it('shows docs menu correctly on small viewports', () => { // Simulate the small viewport. @@ -203,6 +190,8 @@ describe('', { viewportWidth: 1000, viewportHeight: 750 }, ( // docs menu flex direction is column when viewport width is small cy.findByTestId('docs-menu-container').should('have.css', 'flex-direction', 'column') + + cy.percySnapshot() }) it('shows docs menu correctly on wider viewports', () => { @@ -214,6 +203,7 @@ describe('', { viewportWidth: 1000, viewportHeight: 750 }, ( // docs menu flex direction is row when viewport width is big enough. cy.findByTestId('docs-menu-container').should('have.css', 'flex-direction', 'row') + cy.percySnapshot() }) }) @@ -237,7 +227,6 @@ describe('', { viewportWidth: 1000, viewportHeight: 750 }, ( }) cy.contains('a', '8.7.0').should('be.visible').and('have.attr', 'href', 'https://on.cypress.io/changelog#8-7-0') - cy.percySnapshot() }) it('shows hint and modal to upgrade to latest version of cypress', () => { @@ -278,9 +267,7 @@ describe('', { viewportWidth: 1000, viewportHeight: 750 }, ( ), }) - cy.contains('v8.6.0 • Upgrade').should('be.visible') - cy.percySnapshot('before upgrade click') - cy.contains('v8.6.0 • Upgrade').click() + cy.contains('v8.6.0 • Upgrade').should('be.visible').click() cy.findByTestId('latest-version').contains('8.7.0') cy.findByTestId('current-version').contains('8.6.0') cy.findByTestId('update-hint').should('be.visible') @@ -290,16 +277,17 @@ describe('', { viewportWidth: 1000, viewportHeight: 750 }, ( cy.contains(`${defaultMessages.topNav.updateCypress.title} 8.7.0`).should('be.visible') cy.contains('test-project').should('be.visible') cy.findByDisplayValue('yarn add -D cypress@8.7.0').should('be.visible') - cy.percySnapshot('after upgrade modal open') + cy.get('p').contains('You are currently running Version 8.6.0 of Cypress. To upgrade to the latest version for your project, first close this app, then paste the command below into your terminal:') cy.get('body').type('{esc}') // dismiss modal with keyboard cy.contains(`${defaultMessages.topNav.updateCypress.title} 8.7.0`).should('not.exist') + cy.percySnapshot() }) it('the logged in state is correctly presented in header', () => { - const loginConnectStore = useLoginConnectStore() + const userProjectStatusStore = useUserProjectStatusStore() - loginConnectStore.setUserFlag('isLoggedIn', true) + userProjectStatusStore.setUserFlag('isLoggedIn', true) const cloudViewer = { ...CloudUserStubs.me, @@ -313,7 +301,7 @@ describe('', { viewportWidth: 1000, viewportHeight: 750 }, ( fullName: 'Tester Test', } - loginConnectStore.setUserData(cloudViewer) + userProjectStatusStore.setUserData(cloudViewer) cy.mountFragment(HeaderBar_HeaderBarContentFragmentDoc, { onResult: (result) => { @@ -339,14 +327,9 @@ describe('', { viewportWidth: 1000, viewportHeight: 750 }, ( cy.contains('Project').should('not.exist') cy.contains('Test Page').should('be.visible') - cy.percySnapshot() }) describe('prompts', () => { - afterEach(() => { - cy.percySnapshot() - }) - describe('the CI prompt', () => { context('opens on click', () => { beforeEach(() => { @@ -360,7 +343,6 @@ describe('', { viewportWidth: 1000, viewportHeight: 750 }, ( it('opens on menu item click', () => { cy.contains(defaultMessages.topNav.docsMenu.prompts.ci1.description).should('be.visible') - cy.percySnapshot() }) it('is dismissible from X icon', () => { @@ -486,7 +468,6 @@ describe('', { viewportWidth: 1000, viewportHeight: 750 }, ( }) it('opens on menu item click', () => { - cy.percySnapshot() cy.contains(defaultMessages.topNav.docsMenu.prompts.orchestration1.title).should('be.visible') cy.contains('Getting Started').should('not.exist') }) diff --git a/packages/frontend-shared/src/gql-components/HeaderBarContent.vue b/packages/frontend-shared/src/gql-components/HeaderBarContent.vue index a9f91d5b430e..90532a9fdd6d 100644 --- a/packages/frontend-shared/src/gql-components/HeaderBarContent.vue +++ b/packages/frontend-shared/src/gql-components/HeaderBarContent.vue @@ -94,18 +94,18 @@ @clear-force-open="isForceOpenAllowed = false" > -
+

h&cfmOt&k4?F+)wH8* zyQSkQR;6>2A6T2NTkn?65wz6ercu|UO>4ZC%ckN);n$5i!`CejEAmBN*=VMu`Nqr2 z;Ahw0;V7l{8VA^)?llob6LYhbV=`&wiUlR!s=1D}i?U~ykdCX`|<9AXlo1 z>s6E=M5!>j;vw8{hb10nAV`sNlZ-FJT<1l$qBDF^di{ynLew_1Vsmm!vi-BqpOaNe z0Hy37M^5&RCUmK898c6m6~r%S4NX_g*zH$%k;leGTSNy zS=j8wrN?OYR{x8Uy)0}de$61Y&?>aP%^dvNA#iL4KhX2<&{!W}A6K}Xe{G<2xn#Dc zwoFbzWC?CGdJ<1<;5?>XdqyRok?ynGl=wGdY0Uin+}WR5D#?#D>>B4e5629LWX|_m zzj&Yj>SVB=No&`m4V>LH)5=k)tM7-k1P+rY%kIruU8``DW=4d93|qz(dj<%f7MreG zGX^Cta;H;ZZbN>j>VHm4EqG%MTZn=`2g*z}H{L0}fOX=8lSmWAB9I4PF!$fy3!=|7 zuH+$-D3tnOxFt1GBx6!BxtI~6>|p4w+4*vMwa(QCvY(^nIxhPbAeybLl9-HzhFFJne0xffjL!{)5$TuKwVw;o;-b z!A_E!!fVztaYN$~>-@tkJd)QuCM&U0nNF!OsX}_JB&EGmU+#yAk=C4GqEYcXz9BT7 z#+=jpTbxu}6Dw4*u1v|d<{2OUScz4xzhn4JT3Gzg3WfaZCxwp!%DnpOhn~B$nb_nX z6>ghVsedurk`Xr?q z#D>KOmj&H`-?jEhn8}+XHw7LJ+P&a4f{`$QU^>t6WN5Ik0w69E%u z4gql`-O95=Pj|X?O23OUuXpBH{M_L<$X*1XxDiDzoaZUbcdd)Kjy{C`K%n^l;bOJ9 zsZ#R(y=tm9f9r9_e#9S!VvI1-6S@$Ha|P_^=ZFxwl<@3dcFMSCi(|A;rX;$XPdbU_ z4Svz=3`XGoQfoy(W<=9@a zRs@vwl-|fxZB$>O4?86Y6n#>=0MJCFMe`RkMnxznwyopVA-RlO3evBd!j9MYXpW!7 zJs(}?lU3!*BB2yq{pk>vYwdD07Fy#1#-b-wF3Xd#+PytlQ~yp!?8X(G9|^@NPtJY% z;pl@kZcTbbDq~7!oRuGp5->B*<4ZnzmAz%Qr5^hSiuk5?pt%|=+`^=wN=>gB(PY0J zF9OwOqSEM1Oqpt%9ZySXEl2F$Q=iB1>+BB6Zj*S1v)uKzf~PZh$WqT}B&NdxPHIBdEjd5W7E`T5$bULt@tn^yMbU}VAfDdi0J3&P zPANWX>`o=hbBL zVrTH?>WR?PF!QP_mb>6Pjmu0C89&VKxscleQ;LcssLd|cZoG^zOMIggV+i&bn=!5d3*80=w|oy@8&zQf?QcJbpzFGGaBE8pVpi-?M8CKTNPoKKOeZUw+!rYhJVHi zBv(^un*7Xsv4Q$EMB-bQEct@6MDA|-#qtnSm!p)Fl{GTKcDXT?~n9L zTb(SL^Myse-&^oVav|Ml>E-|a;uw5>^0K4?A&vm4Z9_%O#Kop;c5PPeym`#STz~PE zQ+BnJ+A9&j;9#!Hf1wggfL#1u8hS-D5JbHK430_bGpSvmfIz^bHdn_A)a!SrZ`H10GYd7OlDJTYjEOVaFTiloh?x09Wcgu zUV+W-WlCJqtX*=nVAKVUS{Fydx(c~kZH#*5D3c|IF1AaW3r^V%=D1s(R9_6h#?jki zDD{bVS#QU@luxwDO*!jK4R8_|c8!09qsfs2Q(A)h+;l_TBW8%HkgsVbe)Kt$WRwEw z*7bviILSF(Ew{nzxlIE4oav}pk9XF&ZEaZYPuI$u}D5SS(BGsA^|$SdZ=B)gX- z#0>b8R%gasZ%1!#3oANI=jVmuhEidbCUUo=cZeCt~S6<=Q zyrO@3#a#KNYWd}N^D9I0tMl?}yYlP5<~RJyZ{#XyRx4<|ThJa-(3w}z-Br;0wV>}` z0gkJ%U#)Q9ZsA}^Au+FTq^ofBYvK66!bz^z(`v70@4lW3c|D)^dZFv}(%0AD{=Ht| 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�pxBMwywzP)> zPkAo}s=0yhc(dOjTJpX#E~ZPE1&BJb1B#Kn-YBJ4`zyHKn+t=c(hOOKX?3chH%_jC zq|P=h#YVX#l z(2hbD&MXF!)WgYZ!$6X<>Y!*3d@$=;x3H6n59$=v$U;y^Z)z(=F2gwCh`>OSJ{hKD zvy~$X`=7_4#!yLH=^PA^ze2@ws{L>U|KolJlC+(U=U}|9lC#Aq+Zp~0BL_-ElHu=J{(Wc&L5z~Q9Q>1j7 zhLn`zz`&X-l5(TeTb6+&*_7=38%Y`%v~T|pl4LsM#4w(=4Oc5i|8FGe|7|>tNQLYs zi`+4NJsR||WU9Fo`Dnnhr@lPCV$nmZFNUk;9uc%?A)8BP0-P)!$T7%^Qw(8(yA%uX zjf3s(5p^$2A6Z701jI!C|`F;BM$!e z{SuUiv);rwKv;*@SY8pJpERAeASfG_cXZ2{dp$XyRfOZTlCp;9g=ggpFI9<#RSNk{ z56IppR+2C0n#0X(t#(w!e{Zl`gz(%q1VrU{B`68K^F-n{&f$=_z-ZO3bb4%xvw%XCkS6nmsz%`}|86 z;Y_Q>`%EsRDgmL{+usZx6Wwo03Cet(Of=$WtoSuzq~@2J5|;NNU-WvI1hpB>sccrD z2+KV*9%>@p3EP$SW>?EL{PNpT}G7ZA#IR8u9U6|d%Vol!@n8Hg;efwR${ z+?i6UAOMg;k%qZvidIV2)TL*z??4g-yLfHN9=hDVmJ{0SHKe`(nED_0Otf`88b)(M z;@^lMfoMmm$g`%m0SYWrL-4sP;USjJ;TNC$@)=Z3Uw%bsi81nE<~9ZC!msC^`SZIQ zq^4hf%c-CJ-jJkp4b6D&9rC0=&jiF;&EVRD^_o^e-~`aA&Lx(ocz5Zdk(J3E{X7Kl zxTFqmf(pYXWCS-azLpTu1S|+SK6(00FWxG#00d$pPNz>qNb{j=&Z3aN&UC8fSF_KL zH#65LW{e+ zWu6%MjKBnJw7NX`m2jz$Wf8@}dcP^QEbl(MkBE74tTt^nJCr0OwJoQmy)rUO?UNe) zEZu%-bh1C(D}CBKRVa@2`VwfOuNd>s^fIq7NGja!atDmqLQ=@LWE%HVq4jf zw?%AxL$RpQxnPS5-jZWi&35VB@dDB-^4p-*lMg{8lfRNx5Yw-Y4?&jEi`~etJ_^sT z{*k=V)1C=gGGW9>JH$xL6eBhpv5*{177X_R%J@{274Kfo<1H=#ID+vquY+k-OhIek zKZHE&|K!)hI^2iZ-7d4vnrD;c9?TmF&=Fa5?s;2SKi;ix-hCT&#fKkxV~d%){00c?D^adLLPw;&Lkv?nzw{v( zBFXPHa8p78Q!8gg3X*M&?^6L{$|n%&5vv0R5Kx3&FXt%c|6%T3JDS;8 z&NRmy%du9Gk<*+S5ke;CL?bjR<~+yd7?MVaNJvFWBZoQF(7~~$C`mP?Qjx#k_xF2T z*Z;b1T#xIq6X$78#(8=rk1kI#G0*Yk<7`2l~oOU!5z*SJ^08i9k*vBkBv1DsO_ z)x^7Ksd6CEa24=2#r;DWve}H*VV>7>O5CQzxj>q<)A@QDdip-@dkR{S2c_)5%rOGn z1i}`-5{IZs$h?4eeBn5L8o)S(*h)knR2PG~V?887VTsAIzD%+iI>F|m6bM8YXob?T z9ssa*F0>>HTQP~#2Y^k!&m1LH&WZ8kFfDoCksEb(X?%r6c7`hMqCG71X04Y72>zL$ z_3xO^_Wv%LlDxx z2v<;tMHGvjDo$0>%T^q_WP!_-%R7Oqx9bkXx0d+MFtTSD$G-N`BXg z_`(_KU>+k^cS|pG=U66G5#l2$uF3P;IR-`5;|~;`-xqrcSy^D17`#Y_LiHej>u~kh z#5sO8Gz4pZA9RjD@A60K)?;r^iV{P_IZSYG)kjrZ+m z0<<7lM5&(3nJz{_Vyu`9DS7=PUNz0aDFCL(N0fia_|bt2YX;?#P8<+`^N@h*Pwbqa z0OdqoZH^xX#}M>V;keLMim4={po<1SvV>b4^n=YK{DV>6aFK?OW#`wD_c~D}Dd#1- zK}aIPPx3+l6IXx~%ZU|>v^lX_ie2Sfb?n8-KfvjKL_n9U5}L~fD5&TVYyk!PHdgGk zBZx5{RO`H`9SKoXchO3qF5Oa1zE&FAxZ$*W{6Jw!zNEiyx z_rTgPz=p-O&^$)E;>>L3yQp?KKg-U|zQNCc~((=-M1!2u)FunTg{{A)CI$2!& zuCdaczCw<^@&Ayx4cM8u^wU3*!JCYm28lw@L{QaFA52 z#L2riO5_!5ree-0IMv9^1EV)_6MJ(+^&CEERwBo&n?E8N4&bWxI+)0W)YoB?o3ErE z$DpeVi`Fa(c(4MBPjfV8m?knS$oZjqqRQ=139|~|pW{v@OI21`D2d6|k>M@cug_sQ z02-!rc+t?ZCKg^pIM&C&YT1b`vYm2XofuK2%>hZ%TYU5{gvh_5EUjRyiI!LbvBf+D zi(EsewTTT=(0ain>sU0m4C@T@e&2^yocBSRQ>8tyTC$k8?-P(ts8#;$qt9)*Z>j7I=h6AIEh;HNcvCaeL2_a3D7}l?<$(_O&~U zlxQKeoOq0iVIC_~925Qf8@F0`Bs~-Ne9v^gWolYN~#6>r%fu79XG zI^brHEXR@;UgU~b zp8MWW_4}u1;I6}h8L>ZSZIq;jXyo+7_`Ma$zFi3o>|U`tG>fym(7SJ>*KxL&veD}-*XLr~cg(BL z{X*aIhx_J)cNl!r5e4iA;f0mH2k3hu!|d{WZU2FL zgBC9aGB1n0<~^>Evx{e;w}!>?CeJ~I=hS(GM(I$gODH z&g$X5wlIOe+ZQ=eLr%VpZ{x5k!7Xwik>ueQL2JTMtX^|a zi1JmeHwF9T@@TMwv&``k(aOPS9VcfbjzY!=TrmV=%hm_4h6^w5Z4vIGK1(yPr)HGt zDMBKrC;Kff)C!BgrnVJ+wqM8;^UzIg<4s)|wc9u)_L<^(U`?rd@AQ+XmrC=`8!y_$ z$%xKzYRP3 z8v;n-CBkd8GC9zQXmLYBg61)ws~)0z6fRB ztmD|6q~4yLdEm#uLesFUIUAyV41U5z}}oR>*0$0nHvgA-(gdWltVj z;RRl?S^?RFMgE)JqsUWpdKZ}czO(W@Ab2AR`mo0=FyJXk@3oZJ39Pb$c)%BX3S&{c zWl_d#$*me|yVazUa6&JNHrIOekQZ;LMLhDJ?^5j8TP2rm7w>zuL?s2Y&a4wyqUHYl z-2DxG-I;ml;x9W~cZ;v+m?izgc^?uxjj<}f;Z)Zpbu%3Q-OD@e#PYABpZpY8cm=e) z0Q>+IUFN>bu{<$)TB4z8M6LVd*lV#~49?b7GU|{?d9K9FA#qN)tk;e&3W}J1o|jqW zp+PpfVROfe*JAfL;GBQL6+NPFc8hfjzG&%v(imHoa}s)m!NqPf)`yyY$5ilHLrzf= zf1Zk&V?`fx9+u?dP6&)nCuzLmJMCh9hPS|yn$1=7-pZd4+?x1c;rk6SkKC~XufAvh zprm-m7kuYduH-28ePq?gHJ78~4?gVk{mwQ+TQy0&65M%%6I_DaC$`M`YEPT%eTR>s z9e3_nZo=t&RjX_=bWM;vbO}d!BS1!cwUU$A$UOiT@?JDVBlH;dy67hY7NG^RNeFn> zEQ;_IwzxgRda}w8-!4p{msq$Ty1CX`Vnlb--dkrXPR_T!`=Our!>)ilz(Ip!0yJS) zFneEMTY{!}U+6wcPM3&gqBeihF(KCDa3|CA0PqI@t~ZOmpunMt2>9slcm8W5*O%Si z>{HpoE%gg+u+cWxesTh4R~G4c0MIn{+wt4)_IDzV=du0N7&{v=)teiUJsbC*kX{=7 zl-%luZ|l``LN_b+7@y_{LDnsv3C`%6{e8QKFlkC0&BK2(QlFur&zLx@SBd=k&D+f${0r_~-4?;XnbM}JwEn)q;pZFW9R8O8QAj@o>y zlLOy9e~&dliBsl^0{de2s>4oX)3B)*`5aREm^c);Vu3vJmUX&4N3q7p zPE2)|=hN&SoUB=-QkA)^lJ5}%#5Yd$-T^T|rtDv#j|JdZ^hYskp00AC{#o!2hKW2X z+R^1`k%)MOTqPMVh6V_QX@)sAg{Ct~R@EMvfzoENldZD^?8Ic zp^OyM_>4BZbFc&V<<);$g(RRFN>wh{UAkx+VHUZ!(lycyUgC8OnN}-#7s?0u$mpvn z`uw8<2teC4nwpgQ$)eVk5lgT;Yp2O8)JD8*RS9*JuRjFnD{^<{e|vPl+WYkHucpp? zd-d0U75r;#V<0M)a!IV_ebpXuylK>~*ilRWmA|VjI2SbyZn&u^%ezg$g9#%(YdPrgoreYhT`&=>hDeE9TGFkYl^T$!VoIie5D}%B}6H zG-X?*(*TE{jK3m|s`)l}=T(L z+H(miHVD~kQn>6K9jXX2by-D;?Pb_}VNb-BK66D#=>`a!ur9u9BQ4o9enSZQxV zv`*T18&RlaBhh5d5)xa;qxN(wJ$o-@K=_>FrxKvyP;dyKe^Wj5hp8^3Vx7U~Db{lR z?ONMzUsvs=EC2S&O}dv^7Ape8wWpvjscmKI=PsCO+cEnQNtS^QjTwDPHtJvmz}yre zW6qOhO!!QQk$UOwF(32(5ZfqBklW{2KyITy+eZZvr0iQccA#2Ej7E-bB<{eZSYz?= z{$=;LP=ogYVhOZt>sR0m_455%$@tS570={- zFSU>7D8;!~jg@7)Dpd<+M2w=1cO~_>?Q6O2M&dM1zsPI`NC6O8n_GE^7?s753}qTi zm4tD`j|kN%TzTO!s^->VlE*&mqJhfmw!r_WmmU?!)Bl%w46Ngk5+PI#Ax>v=Mw!28a8Us>Um5r;vd zpYF_S4_qTic=crB_~K42kCBp^p%casz}8)@m(nF}Ptpu{KR@)?MA0(cG+8mdOQo(v z=Ipf({(%i7n6>apWckHb-@^vCdwixM0v`w$Apd%dt3>JtB0hhxcx7Q`QxSE;WHW@4 ze*F1$wdi_>i>F*}9DmUuA)M&-SrO`e;BZs;+UelYQ(hkqsCheajV{~@rNTWYbxMy| z0j$eu>R^CH*?Z^m-05Ib&*`VNF>MVdVF99^Gc(7+)AW2Z&ZNuEzLPlDF?ccj>dgb(yV z@ubJzyp4Ck8UwC)Nd84*h{|m#sF`D4UO4ISl3q~UMC|nl7InLrdmpKv`8of+y@u+~ zvvIE;RcsGDgk%(+T+?-*&mz6@`>2!m)B%&2baEQ4=3Ks5qB|nR0E8C z=);m#%mL-Varw*TyHvh15mo?pE&Oz{QtXWji$Rb});t2bjFgOL(lUZbPsGl!nCf+o z`5FOIsy8K(Tgr%}+_Ty>dYF(-8^<%TvmgHHnkO7KbxzEV;}Ng|Ec9O*h~YZ|m06#t zl%i?&hy$- zn}-Z4is^4=s4Pey{}sRWDz3lFMhVznX`(V`><~ao`p<@R-DYq+0CQrbx3{zxa!e~& zDHobMADbh?ON_VvlIHwwR}i#wXWCN)#v1Izee|@CH{sItDWNuqdf|+Y?t!+UoCOxdcN?J4~9kEfVntlSGB zn5{h<$bGzYRx^hsNZpAxH|#wqx|R`7U@o3TTz&`lC&2(Bgir@Zc$u=cs}5B2B%2O_ z;^87@r$H0~t%6_@5P&iA)~9a63%x6PDO1hhBsxTmfZ$~!Oe_v9CBe0bkV;6JgB;Tv zu~Pfd9*49-^lIP(N^)f5`H%djoH zrYwN@YpYjGm)Z; zg>@-EN-ODR61%P`AxJb-RkL;aQd-Tylvt_$OPu}zyQ=nssqVqdLKS8Zf&4(~a_%X_ zZ(*CV4Gu*B{Ue;*vA%2H3f#Ay?1O;%FYQa1D5fmI{H6A1Ag{#-5ADUnNPMx(_N){B zy_e`P>(hwfrSwl(%;SyZ=BV~2g!N^1S%se|v+zNTK**~(Eoi-6x)*9M1!o9%p5-zS z?Bv>Np@-F}dmC*FsI5)LdtEKkvxL$k_^@I~22IMo6>Z1$GCBj;UqTCrE;?fXkNWe;LD2Rv zOC`fF3vr?jzL%M1DCiGX&yN%Ivx1?4{B-XnxGa+q-wq2X$^T+6EM7V&K=T~6NEI|= z7W;5gyZw*)bc!zY1Qr6c+n?iD9LFUaPPR+gGkurR?O8c; zPNhu8Y)?}UChQ>b$T1$&yDr_8_EZl5vXh_25mTcXPA8URGM3Wi1e88tOw3`txh)GT zkEGKOC*FzCxsnMpsXzRP%;zv)-uPC_;Z9b8*~PWgT~NU1`#zQyOsVf#DA5^kb>8Rj zM9nfIf{-3T!-!W-Flnd*s_;FhF}*7AFaR#Dk)EUeJdK+fL7MnGa-=a^v$L5;hY{)ilg}Na(~j&o7W87TzZ5fo$+%eZH4KKk!n5 z^DJ!gS?uO3C#`gyC}sf7Wox88>uj*?o;pX_VB2`$7$e7B^*hIp>c&IB;~9wvDaN)d z8$@AgCM-Z13h$sF&kYRe=Wuc=4gv!mW~FOa(Ambp#ukyeyeux&c)5Z~mr^MUJj zORxY6Y~kYTC>bFn3%7LZwe#C_TP8qargz;v@inJB9FdAxKk;qHbxiQ#>*_u~bV_J6 z6p6+7k>k@amNr-D^Y@X@#;DKcoX@|{K3khU0EP-u$O}3>2Rg)mw{AOPNrlB^G5$A3 z2?7WK*C7f2_jrxPc*8gjjd7DvkS-es8e^!~V+old7IVzQ*0Hf@G zW0X#trw9HYRpyTAp#|Dyk`L(;s!;O&?f+DnC4`YcLpRtUu~n=2rfQ<{(h^iAhu!%I zn7u1T%n%a8w@2ms_c82mJ7vCg`SJ7P zf8sR?`I#i!8V?f*8#}&l#WfR9ov}dQ2l&oFYbjDx*ca<5dqsKZ8ul$h_;k%j7+qI$Ccg6VOyb2-tKUL-< zPT$sy$wetrVjQCR&J3C&QVg0O#FkmgZn@rhm6LNq>u@o#y50(dlpT+% zQG?Fj=2>a!6kj9#;n^!Ytgp1q#(esGpP#1nrG23|^h?K5ZNrxb+luc|1aV- zT9S^&kl5=lCA}|)#W<&w-}*T?uPeDQO&iepHS2lb;n!TCj~``Pb#*J}*Bj3n`2WOf z0yA>{AL2Ft-!e*%`Z8s!M}M8YHqkIAS9;{%AF0YW6YK9p*Muv#Rp<6LzqS?*{oOdy zmO?m9Dyz529-H|@FJys;%Ulu3*LB@lp7X~$gOApKF+I6+XPzFA@gFITd$4(O-2Abs0d>5D!7t! zn43ZQT9ZTw;|!|bpg2jz94-?83~2xW16(n6{O6@LiTx~Fg=%?8@4@wd>~Y=N=PKjb z0}i1#dmR6)v5lcBlw{lIRWd*7Y#eSnUmkj1d*DYsCFiEg4O{&vXQNAeAl>!$DeL0M zyE$_kH{HqK94?=ZZcHgqGfgzN&s-@~^%AoqV)xrvRNXzQuA6$Os3)ft)!Tpqr7N51 zyD%GFRp*%1NACf7;cYpxS0DO6lGDpj(f!#ZlV=7~ZD8eR3PFyyFfGR30RROMl3GeK z-^Lh~Fng7Uy?AID1_-{D!WMps&k)yT9LE}R)W$F97+*FUjdAWp0J^Cpqi-blV=DJ` z6qlSIP-jyFhh<|HnMif)MDhsX-twxYyJYLD45B2EAa%>GIO18n+C-i~-Iv2_Kkw23 z2_;3NJ`!6C|4_yEvZQwt<$dWac^j17AVJ7E5v|T2);DHH-p=&kF9V54$v*b8(kMGZy4l*MlMp z3Nrl+-78AGxhl?P69wFJO46{5qc0^~M|Sx);QD_+!!P?Wn`=oZNqK4nHPa zanZp}i@E5%TMAs}HwSYdUH0$7<4_OSfmReIC|gKqRd**G@i28%t?r?=8X2ZRus>q% zLYTwuCNmG>72T?LzHa|&rMWF}usx^guD~>``HefuEGVoj?=`OXd>^87T~?FVt$lri zU)6S9zUPIZC6|7zs19heGczdL0k)_2DmSQu+DI_(%*lRHjQfE-*3)Hymu9E)rZ$D| zTD~22epvlVs{4u79S!UbbWA16%xb^PY?0%=HP=02v)*%C zA|%=-v$r6gJEd}3n|W0<2`w*Mjh{2hc=TJ(-NfP{VVZi*4S!BhTqyBc(qlbNZfO3a zqS^l5Etl^7Z;#_8l4ClB>y3b@oQg0kuEg+Hru0MkV$VCq$}-jpOysw_nFReAl_}Iw z=F*3PwhqFk`Z%Gf70rMEy>s+Pn|O?5VyAy;*r#@zfA4C?(H&ArKYgvR3TmR9AYh@+)2)<|w>*+;Xd zJ5-9TFPLdQetbQBw5j+5p*<)*CL;wRZS1x%qWH-@>ZQ?|Z}O&HYgpIApx*CzCxNv| z(pr`O{a@{(gOH9E)8b=?k{;b)PU=5m4e!!lzvgptX16JJST^PRtuWc~8wr~T=bb>2 z=*HGV!!tJ)cW!QcxTfX(;?lpLom-pMx3xCr_H3<9+}-?f?eV`~kGFWgqQ7on8M1{T zy^N*-p5%xqyX zd`im2)Wlgqvbq#g7{QDyNw=R&sGw&sr829Cnbq9Xu9I#xC7CzdGaDx}o7OX%moh`7 zvfA9U?$NW_5m}F_h<+tmUF%sKsq7wNcCUMOKRuhv%;sOdP?4YgbUm9Vl`~GvdG4O` zlAiPVm)2x^&g^8)>-8MIRPI~#>>I?~_w?MQlHBF?+!d*uPIc^OsY~C8m)6`b{iI*w z4QN@pGaHFEmXq;Y%u5|p)#o^mv{%k z+F-`h+%v$^`5)?XT-(E2mqb3S#ecHOQ~I3(qC3j|PC0uwf7v>jE}6Hs1uwv~hu;s( zUpg1Mz%KYZi7})n6H1x$q=Kfp!of+*=z_iWVC(|F;KPk%%Zvh@(xMl1@smg60xB=Q zZWa-1N0&*(k=m1H35i@n>NE|L7gKml>N24u;oFVWZ|7J}b<8Moo?b`7O%+rD%e`1C zb?v^$Do-Rd!{!48RX{<9hA?R4jBl?*{9*Yq_3<}_M7F7=VHTsTlzNVdt`Z=*e0O5U z<>-u5QgBH_Z))IR8logRqc8q;NSc{c9DK5l=e%p}EDZ06o9$9;LxO7`|U6GNhN1nT4)JTfHn+N4!Vsl|?es@uP47 z4O&IRw3EF&Sx{tuc}cx3-X`fa%hj5hn(0pVxEp?`F0aD_b4waio-FOY7+&3XaXCI1YkUB z;jP%HA`6z#@9XH}$$YWj26Kx2=l69!R+K6LYf`}lTY?hSpvalyDW55r!_zRSV{S!;HMs&Xa@$wU zi6J1XRi;ZX+`Q2teYI{nlW3Oa{YvEMDU_Q4oXam{saBwmGw6ft4+B9+nM#&XO$`BJ z#YY@Pd63IcTn;GpSS)gg&8lmM9F|X_`>&#i#^$3I$xMP?PmH1&1H)q>qVG1 zK~+>o<(sa_7MP+1W-%PYWh2OJusW&Hc3R|VGc=F{QlojRPh)af&^-e9(LZ&}LUzt% zocOXxjwB|p*u5B^zPR-VUGN7kLxaD6jv+1IlKyi&=hdzGSB>SnDu#LX3C$on=c?-~ z`lRa>!7KXc@r>v`k!j$v%JI81gceo_+oe;)Bel7J3Nrve^yXsQ2d$4#754*Cdvu|- zSjy=uRUQNgjfN34*GRZGA^*hDOK&DMWSN?oGJH>WQDIh86o`3FP=9oTCwl5WSt_^$ zTo?1Yg zI+>izzFD%ta%E{Toc?skK7X)5s71(N`VYEQ?&{2!6@`VKU1Z1P&xjIj@>VI2?hM91 zJ;YFA2Hd!1gkK z0#g_VS7U&-8*L`KkdVJdbOxMCfDou)D%fWGS7*oi8Pd4HhTBl8O$6`_ zK(s0ZHv8MYiV9=x8}O!r&u!ekpSFG1f#Z~E$_Job#MBj4XeBn zwPxtH?U~E7=K@3L9zuDvPWesv-_zh!`@#eobYtb20ZXW_**0>k?AFxmxaCbq{lR*1 zopF60w8$f!%MyAp3!!1b4x!x%Ea;Pm6MNw)b&W%onL@doj!(s?WcIKD!?W-Jf=X-g zq@p|lumJ@%LqVMb;0-GS^~2;H_BHCdh}l@iborpMaAP19jA4Kbc&~&*M+(>wlV)fY ztFWjo+4<2}FKReh8)fmipLK4OYCOeM?*|BnFD9a69Y7*f@Ygus`56e7VoRpoGii?G z0%$w~L}m$@kU+bC7D`_Pu>AT(>Qi}JQ0jXovTT&f0SOB?+5jNEFt7~CTP0LTgkRl& z25COLH$NbvkqMUsz+YB8iy4gt%^(`zK69&FNRcnhrGl{p$N`p+J^*@diP`2xw-M}` zwP_m)YHAiL$p$y&fYceS0v5^x0Ku*bP0m%$0bo4;sR{edogwn%sfmqds6GQE44}IJ z44zph$9Q7^%=E@p&d@^Zo9A5K+nWUn5t@PGxX=L_2KJ@eg!MW#21BO`N%5Y2eE|I< zElQ?=^m&j2JmAT6!DPqdZOv+?F{I2gz1O6x-~7IP(EW z>Zu0>MJ5;0Xdp@KN^;bsZuEnLS6PTZyb}^Z8vra=xNk$(b8p#4JS9jnTd4I^Z!x*M zEEBBHM}QCwfxOC12H1qa8S=1AzA-!{+hM{3Iw@Vr%^&lHMG6QF5s20oS!fYm2<*o4 zWd%mY*56$<4EU_~qhS`bidweqkTOHV@Bq3VyVy18sk#SsceB0}brj))`V5GcYW8ZZ zv~5zs;$5YiY={(fbQ6Hfu~1#j9dem#71N^gA$ z`}RvbNbi|wE*t!$Y-KsjZ>9dVVTll&*9KbpTD5(ZeL~1F;8)H+Uiy7qWDlg4lspsv zQU3VM93vnM`!!V*R7H8TFk{^+tRqyMmcf; zbv@)@@e2#nFsYfozslfe11x3vO5JzD3wr*Vfoq<{QuYX^+INXll$+1D#`Ee&*y|0q zuAOT7%>6xmv02_Kt1Ey@mB%X+X{tt?SlcF_%fel@cRP=vGH^#9#43Be6ivycYkT*c z{sr&5>VnuxVI0Yo`$qd|ohwu?iB4}W{-#z@=-i3Etq7aH^x^)CT