From d3aa323a5ab7567acc221b5b21ff703e81fd4932 Mon Sep 17 00:00:00 2001 From: Logan Rosen Date: Sat, 20 Sep 2025 15:48:27 -0400 Subject: [PATCH 01/18] Use /usr/bin/env instead of /bin/env --- bin/addons-linter.sh | 2 +- bin/build-addon.sh | 2 +- bin/commons.sh | 2 +- src/_locales | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/bin/addons-linter.sh b/bin/addons-linter.sh index 09161b8..2a8798d 100755 --- a/bin/addons-linter.sh +++ b/bin/addons-linter.sh @@ -1,4 +1,4 @@ -#!/bin/env bash +#!/usr/bin/env bash # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/bin/build-addon.sh b/bin/build-addon.sh index 0fed1c0..05b317f 100755 --- a/bin/build-addon.sh +++ b/bin/build-addon.sh @@ -1,4 +1,4 @@ -#!/bin/env bash +#!/usr/bin/env bash # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/bin/commons.sh b/bin/commons.sh index c5f52bc..a5d5759 100644 --- a/bin/commons.sh +++ b/bin/commons.sh @@ -1,4 +1,4 @@ -#!/bin/env bash +#!/usr/bin/env bash # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/src/_locales b/src/_locales index bdaa012..0a88c3e 160000 --- a/src/_locales +++ b/src/_locales @@ -1 +1 @@ -Subproject commit bdaa01291b7367a5e815470fd263ea36c862fe32 +Subproject commit 0a88c3ecc6e76fc4ad6650f25691cb6fa36b86ea From bd7e33b11e6e98949a1c610db15fb3cf0ee11f41 Mon Sep 17 00:00:00 2001 From: Logan Rosen Date: Sat, 20 Sep 2025 17:05:30 -0400 Subject: [PATCH 02/18] Upgrade to eslint v9 --- .eslintignore | 2 - .eslintrc.js | 69 -- eslint.config.js | 102 ++ package-lock.json | 1260 ++++++++++++--------- package.json | 9 +- src/js/.eslintrc.js | 14 - src/js/background/assignManager.js | 3 +- src/js/background/backgroundLogic.js | 2 +- src/js/background/messageHandler.js | 1 - src/js/background/mozillaVpnBackground.js | 2 +- src/js/background/sync.js | 5 +- src/js/mozillaVpn.js | 4 +- src/js/popup.js | 22 +- test/.eslintrc.js | 12 - test/common.js | 1 - 15 files changed, 849 insertions(+), 659 deletions(-) delete mode 100644 .eslintignore delete mode 100644 .eslintrc.js create mode 100644 eslint.config.js delete mode 100644 src/js/.eslintrc.js delete mode 100644 test/.eslintrc.js diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 3a5b5a0..0000000 --- a/.eslintignore +++ /dev/null @@ -1,2 +0,0 @@ -lib/testpilot/*.js -coverage \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 6ffd653..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1,69 +0,0 @@ -module.exports = { - "parserOptions": { - "ecmaVersion": 2021 - }, - "env": { - "browser": true, - "es6": true, - "node": true, - "webextensions": true - }, - "globals": { - "Utils": true, - "CustomizableUI": true, - "CustomizableWidgets": true, - "SessionStore": true, - "Services": true, - "Components": true, - "XPCOMUtils": true, - "OS": true, - "ADDON_UNINSTALL": true, - "ADDON_DISABLE": true, - "CONTAINER_ORDER_STORAGE_KEY": true, - "proxifiedContainers": true, - "MozillaVPN": true, - "MozillaVPN_Background": true - }, - "plugins": [ - "promise", - "no-unsanitized" - ], - "extends": [ - "eslint:recommended" - ], - "root": true, - "rules": { - "promise/always-return": "off", - "promise/avoid-new": "off", - "promise/catch-or-return": "error", - "promise/no-callback-in-promise": "warn", - "promise/no-native": "off", - "promise/no-nesting": "warn", - "promise/no-promise-in-callback": "warn", - "promise/no-return-wrap": "error", - "promise/param-names": "error", - - "no-unsanitized/method": [ - "error" - ], - "no-unsanitized/property": [ - "error", - { - "escape": { - "taggedTemplates": ["Utils.escaped"] - } - } - ], - - "eqeqeq": "error", - "indent": ["error", 2], - "linebreak-style": ["error", "unix"], - "no-throw-literal": "error", - "no-warning-comments": "warn", - "no-var": "error", - "prefer-const": "error", - "quotes": ["error", "double"], - "radix": "error", - "semi": ["error", "always"] - } -}; diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..d719bff --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,102 @@ +const { + defineConfig, + globalIgnores, +} = require("eslint/config"); + +const globals = require("globals"); +const promise = require("eslint-plugin-promise"); +const noUnsanitized = require("eslint-plugin-no-unsanitized"); +const js = require("@eslint/js"); + +module.exports = defineConfig([{ + languageOptions: { + "ecmaVersion": 2021, + parserOptions: {}, + + globals: { + ...globals.browser, + ...globals.node, + ...globals.webextensions, + "Utils": true, + "CustomizableUI": true, + "CustomizableWidgets": true, + "SessionStore": true, + "Services": true, + "Components": true, + "XPCOMUtils": true, + "OS": true, + "ADDON_UNINSTALL": true, + "ADDON_DISABLE": true, + "CONTAINER_ORDER_STORAGE_KEY": true, + "proxifiedContainers": true, + "MozillaVPN": true, + "MozillaVPN_Background": true, + }, + }, + + plugins: { + js, + promise, + "no-unsanitized": noUnsanitized, + }, + + extends: ["js/recommended"], + + "rules": { + "promise/always-return": "off", + "promise/avoid-new": "off", + "promise/catch-or-return": "error", + "promise/no-callback-in-promise": "warn", + "promise/no-native": "off", + "promise/no-nesting": "warn", + "promise/no-promise-in-callback": "warn", + "promise/no-return-wrap": "error", + "promise/param-names": "error", + "no-unsanitized/method": ["error"], + + "no-unsanitized/property": ["error", { + "escape": { + "taggedTemplates": ["Utils.escaped"], + }, + }], + + "eqeqeq": "error", + "indent": ["error", 2], + "linebreak-style": ["error", "unix"], + "no-throw-literal": "error", + "no-warning-comments": "warn", + "no-var": "error", + "prefer-const": "error", + "quotes": ["error", "double"], + "radix": "error", + "semi": ["error", "always"], + }, +}, + +{ + files: ["test/**/*.js"], + languageOptions: { + globals: { + ...globals.mocha, + }, + }, + "rules": { + "no-restricted-globals": ["error", "browser"], + }, +}, + +{ + files: ["src/js/**/*.js"], + languageOptions: { + globals: { + "assignManager": true, + "badge": true, + "backgroundLogic": true, + "identityState": true, + "messageHandler": true, + "sync": true, + }, + }, +}, + +globalIgnores(["lib/testpilot/*.js", "**/coverage"])]); diff --git a/package-lock.json b/package-lock.json index c9da2dc..d5d06b3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,20 +1,22 @@ { "name": "testpilot-containers", - "version": "8.1.3", + "version": "8.3.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "testpilot-containers", - "version": "8.1.1", + "version": "8.3.0", "license": "MPL-2.0", "devDependencies": { + "@eslint/js": "^9.36.0", "addons-linter": "^5.28.0", "ajv": "^6.6.3", "chai": "^4.2.0", - "eslint": "^7.32.0", - "eslint-plugin-no-unsanitized": "^4.0.0", - "eslint-plugin-promise": "^5.2.0", + "eslint": "^9.36.0", + "eslint-plugin-no-unsanitized": "^4.1.4", + "eslint-plugin-promise": "^7.2.1", + "globals": "^16.4.0", "htmllint-cli": "0.0.7", "json": ">=10.0.0", "mocha": "^10.1.0", @@ -535,73 +537,233 @@ "node": "^12.20.0 || >=14" } }, - "node_modules/@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", + "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.0.tgz", + "integrity": "sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.6", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.3.1.tgz", + "integrity": "sha512-xR93k9WhrDYpXHORXpxVL5oHj3Era7wo6k/Wd8/IsQNnZUTzkGS29lyn3nAT05v6ltUuTFVCCYDEGfy2Or/sPA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.2.tgz", + "integrity": "sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", + "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", + "dev": true, + "license": "MIT", "dependencies": { "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@eslint/eslintrc/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "node_modules/@eslint/eslintrc/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } + "license": "Python-2.0" }, "node_modules/@eslint/eslintrc/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", "dev": true, + "license": "Apache-2.0", "engines": { - "node": ">=4" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/@eslint/eslintrc/node_modules/espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", "dependencies": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@eslint/js": { + "version": "9.36.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.36.0.tgz", + "integrity": "sha512-uhCbYtYynH30iZErszX78U+nR3pJU3RHGQ57NXy5QupD4SBVwDeU8TNBy+MjMngc1UyIW9noKqsRqfjQTBU2dw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", + "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.5.tgz", + "integrity": "sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.15.2", + "levn": "^0.4.1" }, "engines": { - "node": ">=10.10.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", + "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" } }, "node_modules/@humanwhocodes/module-importer": { @@ -623,6 +785,20 @@ "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", "dev": true }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -904,12 +1080,26 @@ "node": ">= 6" } }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/http-cache-semantics": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==", "dev": true }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/mdast": { "version": "3.0.10", "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz", @@ -983,10 +1173,11 @@ } }, "node_modules/acorn": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", - "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -1226,6 +1417,16 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/addons-linter/node_modules/eslint-plugin-no-unsanitized": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-no-unsanitized/-/eslint-plugin-no-unsanitized-4.0.2.tgz", + "integrity": "sha512-Pry0S9YmHoz8NCEMRQh7N0Yexh2MYCNPIlrV52hTmS7qXnTghWsjXouF08bgsrrZqaW9tt1ZiK3j5NEmPE+EjQ==", + "dev": true, + "license": "MPL-2.0", + "peerDependencies": { + "eslint": "^6 || ^7 || ^8" + } + }, "node_modules/addons-linter/node_modules/eslint-scope": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", @@ -1288,15 +1489,6 @@ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, - "node_modules/addons-linter/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/addons-linter/node_modules/glob": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", @@ -1340,13 +1532,20 @@ "node": ">=10" } }, - "node_modules/addons-linter/node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "node_modules/addons-linter/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, "engines": { - "node": ">= 4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/addons-linter/node_modules/js-yaml": { @@ -1466,15 +1665,6 @@ "string-width": "^4.1.0" } }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -3017,10 +3207,11 @@ } }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -3630,18 +3821,6 @@ "once": "^1.4.0" } }, - "node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, "node_modules/entities": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", @@ -3806,15 +3985,6 @@ "source-map": "~0.6.1" } }, - "node_modules/escodegen/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/escodegen/node_modules/levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", @@ -3867,118 +4037,110 @@ } }, "node_modules/eslint": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "version": "9.36.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.36.0.tgz", + "integrity": "sha512-hB4FIzXovouYzwzECDcUkJ4OcfOEkXTv2zRY6B9bkwjx/cprAq0uvm1nl7zvQ0/TsUk0zQiN4uPfJpB9m+rPMQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", - "ajv": "^6.10.0", + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.0", + "@eslint/config-helpers": "^0.3.1", + "@eslint/core": "^0.15.2", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.36.0", + "@eslint/plugin-kit": "^0.3.5", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", + "ajv": "^6.12.4", "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" + "optionator": "^0.9.3" }, "bin": { "eslint": "bin/eslint.js" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } } }, "node_modules/eslint-plugin-no-unsanitized": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-no-unsanitized/-/eslint-plugin-no-unsanitized-4.0.2.tgz", - "integrity": "sha512-Pry0S9YmHoz8NCEMRQh7N0Yexh2MYCNPIlrV52hTmS7qXnTghWsjXouF08bgsrrZqaW9tt1ZiK3j5NEmPE+EjQ==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-no-unsanitized/-/eslint-plugin-no-unsanitized-4.1.4.tgz", + "integrity": "sha512-cjAoZoq3J+5KJuycYYOWrc0/OpZ7pl2Z3ypfFq4GtaAgheg+L7YGxUo2YS3avIvo/dYU5/zR2hXu3v81M9NxhQ==", "dev": true, + "license": "MPL-2.0", "peerDependencies": { - "eslint": "^6 || ^7 || ^8" + "eslint": "^8 || ^9" } }, "node_modules/eslint-plugin-promise": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-5.2.0.tgz", - "integrity": "sha512-SftLb1pUG01QYq2A/hGAWfDRXqYD82zE7j7TopDOyNdU+7SvvoXREls/+PRTY17vUXzXnZA/zfnyKgRH6x4JJw==", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-7.2.1.tgz", + "integrity": "sha512-SWKjd+EuvWkYaS+uN2csvj0KoP43YTu7+phKQ5v+xw6+A0gutVX2yqCeCkC3uLCJFiPfR2dD8Es5L7yUsmvEaA==", "dev": true, + "license": "ISC", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0" + }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" }, "peerDependencies": { - "eslint": "^7.0.0" + "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0" } }, "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "estraverse": "^5.2.0" }, "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint-visitor-keys": { @@ -3990,48 +4152,75 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/eslint/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", "dev": true, + "license": "Apache-2.0", "engines": { - "node": ">=10" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint/node_modules/espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "node_modules/eslint/node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, "engines": { - "node": ">=4" + "node": ">=16.0.0" + } + }, + "node_modules/eslint/node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" } }, "node_modules/espree": { @@ -4065,10 +4254,11 @@ } }, "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -4076,15 +4266,6 @@ "node": ">=0.10" } }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", @@ -4097,20 +4278,12 @@ "node": ">=4.0" } }, - "node_modules/esrecurse/node_modules/estraverse": { + "node_modules/estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -4783,10 +4956,11 @@ } }, "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true, + "license": "ISC" }, "node_modules/fluent-syntax": { "version": "0.14.0", @@ -4993,12 +5167,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true - }, "node_modules/functions-have-names": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", @@ -5299,15 +5467,13 @@ } }, "node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "version": "16.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-16.4.0.tgz", + "integrity": "sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==", "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -5333,15 +5499,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/globby/node_modules/ignore": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.1.tgz", - "integrity": "sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, "node_modules/globjoin": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", @@ -6380,10 +6537,11 @@ ] }, "node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } @@ -7583,10 +7741,11 @@ } }, "node_modules/keyv": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.2.tgz", - "integrity": "sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==", + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, + "license": "MIT", "dependencies": { "json-buffer": "3.0.1" } @@ -9329,17 +9488,18 @@ } }, "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, + "license": "MIT", "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "word-wrap": "^1.2.5" }, "engines": { "node": ">= 0.8.0" @@ -10245,15 +10405,6 @@ "integrity": "sha512-9C20RLxrZU/rFnxWncDkuF6O999NdIf3E1ws4B0ZeY3sRVPzWBMsYDE2lxjxhiXxg464cQTgKUGm8/i6y2YGXg==", "dev": true }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/promise": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", @@ -12217,15 +12368,6 @@ "node": ">=6" } }, - "node_modules/stylelint/node_modules/ignore": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.1.tgz", - "integrity": "sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, "node_modules/stylelint/node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -12651,6 +12793,7 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -13454,6 +13597,16 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/web-ext/node_modules/eslint-plugin-no-unsanitized": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-no-unsanitized/-/eslint-plugin-no-unsanitized-4.0.2.tgz", + "integrity": "sha512-Pry0S9YmHoz8NCEMRQh7N0Yexh2MYCNPIlrV52hTmS7qXnTghWsjXouF08bgsrrZqaW9tt1ZiK3j5NEmPE+EjQ==", + "dev": true, + "license": "MPL-2.0", + "peerDependencies": { + "eslint": "^6 || ^7 || ^8" + } + }, "node_modules/web-ext/node_modules/eslint-scope": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", @@ -13528,15 +13681,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/web-ext/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/web-ext/node_modules/glob": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", @@ -13580,13 +13724,20 @@ "node": ">=10" } }, - "node_modules/web-ext/node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "node_modules/web-ext/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, "engines": { - "node": ">= 4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/web-ext/node_modules/js-yaml": { @@ -13921,10 +14072,11 @@ "dev": true }, "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -14644,57 +14796,148 @@ "integrity": "sha512-ZzZY/b66W2Jd6NHbAhLyDWOEIBWC11VizGFk7Wx7M61JZRz7HR9Cq5P+65RKWUU7u6wgsE8Lmh9nE4Mz+U2eTg==", "dev": true }, + "@eslint-community/eslint-utils": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", + "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.4.3" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true + } + } + }, + "@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true + }, + "@eslint/config-array": { + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.0.tgz", + "integrity": "sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==", + "dev": true, + "requires": { + "@eslint/object-schema": "^2.1.6", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + } + }, + "@eslint/config-helpers": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.3.1.tgz", + "integrity": "sha512-xR93k9WhrDYpXHORXpxVL5oHj3Era7wo6k/Wd8/IsQNnZUTzkGS29lyn3nAT05v6ltUuTFVCCYDEGfy2Or/sPA==", + "dev": true + }, + "@eslint/core": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.2.tgz", + "integrity": "sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.15" + } + }, "@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", + "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", "dev": true, "requires": { "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" }, "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", "dev": true }, "espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", "dev": true, "requires": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + } + }, + "globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" } } } }, - "@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "@eslint/js": { + "version": "9.36.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.36.0.tgz", + "integrity": "sha512-uhCbYtYynH30iZErszX78U+nR3pJU3RHGQ57NXy5QupD4SBVwDeU8TNBy+MjMngc1UyIW9noKqsRqfjQTBU2dw==", + "dev": true + }, + "@eslint/object-schema": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", + "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", + "dev": true + }, + "@eslint/plugin-kit": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.5.tgz", + "integrity": "sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==", "dev": true, "requires": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" + "@eslint/core": "^0.15.2", + "levn": "^0.4.1" + } + }, + "@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true + }, + "@humanfs/node": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", + "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", + "dev": true, + "requires": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" } }, "@humanwhocodes/module-importer": { @@ -14709,6 +14952,12 @@ "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", "dev": true }, + "@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true + }, "@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -14929,12 +15178,24 @@ "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", "dev": true }, + "@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true + }, "@types/http-cache-semantics": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==", "dev": true }, + "@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, "@types/mdast": { "version": "3.0.10", "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz", @@ -15005,9 +15266,9 @@ } }, "acorn": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", - "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true }, "acorn-globals": { @@ -15032,8 +15293,7 @@ "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} + "dev": true }, "acorn-walk": { "version": "7.2.0", @@ -15223,6 +15483,12 @@ } } }, + "eslint-plugin-no-unsanitized": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-no-unsanitized/-/eslint-plugin-no-unsanitized-4.0.2.tgz", + "integrity": "sha512-Pry0S9YmHoz8NCEMRQh7N0Yexh2MYCNPIlrV52hTmS7qXnTghWsjXouF08bgsrrZqaW9tt1ZiK3j5NEmPE+EjQ==", + "dev": true + }, "eslint-scope": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", @@ -15250,12 +15516,6 @@ } } }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, "glob": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", @@ -15289,11 +15549,14 @@ "is-glob": "^4.0.3" } }, - "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true + "globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } }, "js-yaml": { "version": "4.1.0", @@ -15378,12 +15641,6 @@ "string-width": "^4.1.0" } }, - "ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true - }, "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -16525,9 +16782,9 @@ } }, "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "requires": { "path-key": "^3.1.0", @@ -16990,15 +17247,6 @@ "once": "^1.4.0" } }, - "enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "requires": { - "ansi-colors": "^4.1.1" - } - }, "entities": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", @@ -17114,12 +17362,6 @@ "source-map": "~0.6.1" }, "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, "levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", @@ -17162,125 +17404,118 @@ } }, "eslint": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "version": "9.36.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.36.0.tgz", + "integrity": "sha512-hB4FIzXovouYzwzECDcUkJ4OcfOEkXTv2zRY6B9bkwjx/cprAq0uvm1nl7zvQ0/TsUk0zQiN4uPfJpB9m+rPMQ==", "dev": true, "requires": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", - "ajv": "^6.10.0", + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.0", + "@eslint/config-helpers": "^0.3.1", + "@eslint/core": "^0.15.2", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.36.0", + "@eslint/plugin-kit": "^0.3.5", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", + "ajv": "^6.12.4", "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" + "optionator": "^0.9.3" }, "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - }, "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", "dev": true }, "espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", "dev": true, "requires": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + } + }, + "file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "requires": { + "flat-cache": "^4.0.0" + } + }, + "flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "requires": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" } } } }, "eslint-plugin-no-unsanitized": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-no-unsanitized/-/eslint-plugin-no-unsanitized-4.0.2.tgz", - "integrity": "sha512-Pry0S9YmHoz8NCEMRQh7N0Yexh2MYCNPIlrV52hTmS7qXnTghWsjXouF08bgsrrZqaW9tt1ZiK3j5NEmPE+EjQ==", - "dev": true, - "requires": {} + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-no-unsanitized/-/eslint-plugin-no-unsanitized-4.1.4.tgz", + "integrity": "sha512-cjAoZoq3J+5KJuycYYOWrc0/OpZ7pl2Z3ypfFq4GtaAgheg+L7YGxUo2YS3avIvo/dYU5/zR2hXu3v81M9NxhQ==", + "dev": true }, "eslint-plugin-promise": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-5.2.0.tgz", - "integrity": "sha512-SftLb1pUG01QYq2A/hGAWfDRXqYD82zE7j7TopDOyNdU+7SvvoXREls/+PRTY17vUXzXnZA/zfnyKgRH6x4JJw==", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-7.2.1.tgz", + "integrity": "sha512-SWKjd+EuvWkYaS+uN2csvj0KoP43YTu7+phKQ5v+xw6+A0gutVX2yqCeCkC3uLCJFiPfR2dD8Es5L7yUsmvEaA==", "dev": true, - "requires": {} + "requires": { + "@eslint-community/eslint-utils": "^4.4.0" + } }, "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", "dev": true, "requires": { "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } + "estraverse": "^5.2.0" } }, "eslint-visitor-keys": { @@ -17307,20 +17542,12 @@ "dev": true }, "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, "requires": { "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } } }, "esrecurse": { @@ -17330,20 +17557,12 @@ "dev": true, "requires": { "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } } }, "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true }, "esutils": { @@ -17867,9 +18086,9 @@ } }, "flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", "dev": true }, "fluent-syntax": { @@ -18015,12 +18234,6 @@ "functions-have-names": "^1.2.2" } }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true - }, "functions-have-names": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", @@ -18246,13 +18459,10 @@ } }, "globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } + "version": "16.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-16.4.0.tgz", + "integrity": "sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==", + "dev": true }, "globby": { "version": "11.1.0", @@ -18266,14 +18476,6 @@ "ignore": "^5.2.0", "merge2": "^1.4.1", "slash": "^3.0.0" - }, - "dependencies": { - "ignore": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.1.tgz", - "integrity": "sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==", - "dev": true - } } }, "globjoin": { @@ -19070,9 +19272,9 @@ "dev": true }, "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true }, "image-size": { @@ -19763,8 +19965,7 @@ "version": "7.5.9", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "dev": true, - "requires": {} + "dev": true } } }, @@ -19958,9 +20159,9 @@ } }, "keyv": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.2.tgz", - "integrity": "sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==", + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, "requires": { "json-buffer": "3.0.1" @@ -21313,9 +21514,9 @@ } }, "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, "requires": { "deep-is": "^0.1.3", @@ -21323,7 +21524,7 @@ "levn": "^0.4.1", "prelude-ls": "^1.2.1", "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "word-wrap": "^1.2.5" } }, "os-locale": { @@ -21971,8 +22172,7 @@ "version": "0.36.2", "resolved": "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.36.2.tgz", "integrity": "sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==", - "dev": true, - "requires": {} + "dev": true }, "postcss-value-parser": { "version": "4.2.0", @@ -22019,12 +22219,6 @@ "integrity": "sha512-9C20RLxrZU/rFnxWncDkuF6O999NdIf3E1ws4B0ZeY3sRVPzWBMsYDE2lxjxhiXxg464cQTgKUGm8/i6y2YGXg==", "dev": true }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true - }, "promise": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", @@ -22826,8 +23020,7 @@ "version": "3.7.0", "resolved": "https://registry.npmjs.org/sinon-chai/-/sinon-chai-3.7.0.tgz", "integrity": "sha512-mf5NURdUaSdnatJx3uhoBOrY9dtL19fiOtAdT1Azxg3+lNJFiuN0uzaU3xX1LeAfL17kHQhTAJgpsfhbMJMY2g==", - "dev": true, - "requires": {} + "dev": true }, "slash": { "version": "3.0.0", @@ -23503,12 +23696,6 @@ "which": "^1.3.1" } }, - "ignore": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.1.tgz", - "integrity": "sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==", - "dev": true - }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -23571,8 +23758,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-3.0.0.tgz", "integrity": "sha512-F6yTRuc06xr1h5Qw/ykb2LuFynJ2IxkKfCMf+1xqPffkxh0S09Zc902XCffcsw/XMFq/OzQ1w54fLIDtmRNHnQ==", - "dev": true, - "requires": {} + "dev": true }, "stylelint-config-standard": { "version": "20.0.0", @@ -24555,6 +24741,12 @@ } } }, + "eslint-plugin-no-unsanitized": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-no-unsanitized/-/eslint-plugin-no-unsanitized-4.0.2.tgz", + "integrity": "sha512-Pry0S9YmHoz8NCEMRQh7N0Yexh2MYCNPIlrV52hTmS7qXnTghWsjXouF08bgsrrZqaW9tt1ZiK3j5NEmPE+EjQ==", + "dev": true + }, "eslint-scope": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", @@ -24582,12 +24774,6 @@ } } }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, "glob": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", @@ -24621,11 +24807,14 @@ "is-glob": "^4.0.3" } }, - "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true + "globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } }, "js-yaml": { "version": "4.1.0", @@ -24862,9 +25051,9 @@ "dev": true }, "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true }, "workerpool": { @@ -24946,8 +25135,7 @@ "version": "8.12.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.12.0.tgz", "integrity": "sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig==", - "dev": true, - "requires": {} + "dev": true }, "xdg-basedir": { "version": "5.1.0", diff --git a/package.json b/package.json index fe6e450..33f40e4 100644 --- a/package.json +++ b/package.json @@ -7,14 +7,15 @@ "bugs": { "url": "https://github.com/mozilla/multi-account-containers/issues" }, - "dependencies": {}, "devDependencies": { + "@eslint/js": "^9.36.0", "addons-linter": "^5.28.0", "ajv": "^6.6.3", "chai": "^4.2.0", - "eslint": "^7.32.0", - "eslint-plugin-no-unsanitized": "^4.0.0", - "eslint-plugin-promise": "^5.2.0", + "eslint": "^9.36.0", + "eslint-plugin-no-unsanitized": "^4.1.4", + "eslint-plugin-promise": "^7.2.1", + "globals": "^16.4.0", "htmllint-cli": "0.0.7", "json": ">=10.0.0", "mocha": "^10.1.0", diff --git a/src/js/.eslintrc.js b/src/js/.eslintrc.js deleted file mode 100644 index 4941e75..0000000 --- a/src/js/.eslintrc.js +++ /dev/null @@ -1,14 +0,0 @@ -module.exports = { - "extends": [ - "../../.eslintrc.js" - ], - "globals": { - "assignManager": true, - "badge": true, - "backgroundLogic": true, - "identityState": true, - "messageHandler": true, - "sync": true, - "Utils": true - } -}; diff --git a/src/js/background/assignManager.js b/src/js/background/assignManager.js index 3cba6fc..dee47ad 100644 --- a/src/js/background/assignManager.js +++ b/src/js/background/assignManager.js @@ -77,7 +77,6 @@ window.assignManager = { this.setExempted(pageUrlorUrlKey, tabId); }); } - // eslint-disable-next-line require-atomic-updates data.identityMacAddonUUID = await identityState.lookupMACaddonUUID(data.userContextId); await this.area.set({ @@ -233,7 +232,7 @@ window.assignManager = { try { container = await browser.contextualIdentities .get(backgroundLogic.cookieStoreId(siteSettings.userContextId)); - } catch (e) { + } catch { container = false; } diff --git a/src/js/background/backgroundLogic.js b/src/js/background/backgroundLogic.js index d21cf33..7f347b8 100644 --- a/src/js/background/backgroundLogic.js +++ b/src/js/background/backgroundLogic.js @@ -239,7 +239,7 @@ const backgroundLogic = { containerState.isIsolated = "locked"; } return await identityState.storageArea.set(cookieStoreId, containerState); - } catch (error) { + } catch { // console.error(`No container: ${cookieStoreId}`); } }, diff --git a/src/js/background/messageHandler.js b/src/js/background/messageHandler.js index 0ad28b4..1335d4d 100644 --- a/src/js/background/messageHandler.js +++ b/src/js/background/messageHandler.js @@ -141,7 +141,6 @@ const messageHandler = { if (!extensionInfo.permissions.includes("contextualIdentities")) { throw new Error("Missing contextualIdentities permission"); } - // eslint-disable-next-line require-atomic-updates externalExtensionAllowed[sender.id] = true; } let response; diff --git a/src/js/background/mozillaVpnBackground.js b/src/js/background/mozillaVpnBackground.js index 9337b2a..7982545 100644 --- a/src/js/background/mozillaVpnBackground.js +++ b/src/js/background/mozillaVpnBackground.js @@ -27,7 +27,7 @@ const MozillaVPN_Background = { // invalid proxy connection. this.port.onDisconnect.addListener(() => this.increaseIsolationKey()); - } catch(e) { + } catch { this._installed = false; this._connected = false; } diff --git a/src/js/background/sync.js b/src/js/background/sync.js index 6dfb629..8f9f214 100644 --- a/src/js/background/sync.js +++ b/src/js/background/sync.js @@ -338,7 +338,7 @@ async function reconcileIdentities(){ if (deletedCookieStoreId){ try{ await browser.contextualIdentities.remove(deletedCookieStoreId); - } catch (error) { + } catch { // if the identity we are deleting is not there, that's fine. console.error("Error deleting contextualIdentity", deletedCookieStoreId); continue; @@ -514,7 +514,7 @@ async function reconcileSiteAssignments() { await setAssignmentWithUUID(assignedSite, urlKey); continue; } - } catch (error) { + } catch { // this is probably old or incorrect site info in Sync // skip and move on. } @@ -565,7 +565,6 @@ async function setAssignmentWithUUID(assignedSite, urlKey) { const uuid = assignedSite.identityMacAddonUUID; const cookieStoreId = await identityState.lookupCookieStoreId(uuid); if (cookieStoreId) { - // eslint-disable-next-line require-atomic-updates assignedSite.userContextId = cookieStoreId .replace(/^firefox-container-/, ""); await assignManager.storageArea.set( diff --git a/src/js/mozillaVpn.js b/src/js/mozillaVpn.js index 16708c8..e58d0bb 100644 --- a/src/js/mozillaVpn.js +++ b/src/js/mozillaVpn.js @@ -88,7 +88,7 @@ const MozillaVPN = { el.classList.remove("display-none"); }); this.setStatusIndicatorIcons(mozillaVpnInstalled); - } catch (e) { + } catch { mozVpnLogotypes.forEach(el => { el.style.display = "none"; }); @@ -139,7 +139,7 @@ const MozillaVPN = { try { const proxy = await proxifiedContainers.retrieve(identity.cookieStoreId); proxies[identity.cookieStoreId] = proxy; - } catch (e) { + } catch { proxies[identity.cookieStoreId] = {}; } } diff --git a/src/js/popup.js b/src/js/popup.js index 0e498ed..dd2492a 100644 --- a/src/js/popup.js +++ b/src/js/popup.js @@ -198,7 +198,7 @@ const Logic = { // Handle old style rejection with null and also Promise.reject new style try { return await browser.contextualIdentities.get(cookieStoreId) || defaultContainer; - } catch (e) { + } catch { return defaultContainer; } }, @@ -425,7 +425,7 @@ const Logic = { cookieStoreId: identity.cookieStoreId }); window.close(); - } catch (e) { + } catch { window.close(); } } @@ -762,7 +762,7 @@ Logic.registerPanel(P_CONTAINERS_LIST, { method: "sortTabs" }); window.close(); - } catch (e) { + } catch { window.close(); } }); @@ -851,7 +851,7 @@ Logic.registerPanel(P_CONTAINERS_LIST, { cookieStoreId: identity.cookieStoreId }); window.close(); - } catch (e) { + } catch { window.close(); } }); @@ -862,7 +862,7 @@ Logic.registerPanel(P_CONTAINERS_LIST, { cookieStoreId: identity.cookieStoreId }); window.close(); - } catch (e) { + } catch { window.close(); } }); @@ -912,7 +912,7 @@ Logic.registerPanel(P_CONTAINER_INFO, { incompatible = await browser.runtime.sendMessage({ method: "checkIncompatibleAddons" }); - } catch (e) { + } catch { throw new Error("Could not check for incompatible add-ons."); } @@ -947,7 +947,7 @@ Logic.registerPanel(P_CONTAINER_INFO, { cookieStoreId: identity.cookieStoreId }); window.close(); - } catch (e) { + } catch { window.close(); } }); @@ -1009,7 +1009,7 @@ Logic.registerPanel(P_CONTAINER_INFO, { cookieStoreId: Logic.currentCookieStoreId() }); window.close(); - } catch (e) { + } catch { window.close(); } }); @@ -1086,7 +1086,7 @@ Logic.registerPanel(OPEN_NEW_CONTAINER_PICKER, { cookieStoreId: identity.cookieStoreId }); window.close(); - } catch (e) { + } catch { window.close(); } }; @@ -1848,7 +1848,7 @@ Logic.registerPanel(P_CONTAINER_EDIT, { }); await Logic.refreshIdentities(); Logic.showPreviousPanel(); - } catch (e) { + } catch { Logic.showPreviousPanel(); } }, @@ -2339,7 +2339,7 @@ Logic.registerPanel(P_CONTAINER_DELETE, { await Logic.removeIdentity(Utils.userContextId(Logic.currentIdentity().cookieStoreId)); await Logic.refreshIdentities(); Logic.showPreviousPanel(); - } catch (e) { + } catch { Logic.showPreviousPanel(); } }); diff --git a/test/.eslintrc.js b/test/.eslintrc.js deleted file mode 100644 index 6c7a326..0000000 --- a/test/.eslintrc.js +++ /dev/null @@ -1,12 +0,0 @@ -module.exports = { - env: { - "node": true, - "mocha": true - }, - "parserOptions": { - "ecmaVersion": 2018 - }, - "rules": { - "no-restricted-globals": ["error", "browser"] - } -}; diff --git a/test/common.js b/test/common.js index cf3ef0b..db4662d 100644 --- a/test/common.js +++ b/test/common.js @@ -1,5 +1,4 @@ if (!process.listenerCount("unhandledRejection")) { - // eslint-disable-next-line no-console process.on("unhandledRejection", r => console.log(r)); } From 0eb13f214d252df0e8eb3e8af008a5c7340d4883 Mon Sep 17 00:00:00 2001 From: Andrea Marchesini Date: Tue, 30 Sep 2025 17:48:00 +0200 Subject: [PATCH 03/18] Survey view --- package.json | 2 +- src/img/survey.svg | 36 +++++++++++++++++++++++++ src/js/background/messageHandler.js | 31 ++++++++++++++++++++- src/js/popup.js | 42 +++++++++++++++++++++++------ src/manifest.json | 2 +- src/popup.html | 12 +++++++++ 6 files changed, 114 insertions(+), 11 deletions(-) create mode 100644 src/img/survey.svg diff --git a/package.json b/package.json index 33f40e4..c92a48f 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "testpilot-containers", "title": "Multi-Account Containers", "description": "Containers helps you keep all the parts of your online life contained in different tabs. Custom labels and color-coded tabs help keep different activities — like online shopping, travel planning, or checking work email — separate.", - "version": "8.3.0", + "version": "8.3.1", "author": "Andrea Marchesini, Luke Crouch, Lesley Norton, Kendall Werts, Maxx Crawford, Jonathan Kingston", "bugs": { "url": "https://github.com/mozilla/multi-account-containers/issues" diff --git a/src/img/survey.svg b/src/img/survey.svg new file mode 100644 index 0000000..bb4e727 --- /dev/null +++ b/src/img/survey.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/js/background/messageHandler.js b/src/js/background/messageHandler.js index 1335d4d..9e8a087 100644 --- a/src/js/background/messageHandler.js +++ b/src/js/background/messageHandler.js @@ -257,6 +257,8 @@ const messageHandler = { browser.browserAction.setBadgeBackgroundColor({color: "rgba(0,217,0,255)"}); browser.browserAction.setBadgeText({text: "NEW"}); } + + this.maybePrepareSurveyAchievementOnUpdate(countOfContainerTabsOpened); }, async onFocusChangedCallback(windowId) { @@ -273,7 +275,34 @@ const messageHandler = { }).catch((e) => { throw e; }); - } + }, + + async maybePrepareSurveyAchievementOnUpdate(countOpened) { + if (countOpened < 10) { + return; + } + + // Show the survey only for English locales (en or en-*). + const uiLang = browser.i18n.getUILanguage(); + const lang = (uiLang || "").toLowerCase(); + if (lang !== "en" && !lang.startsWith("en-")) { + return; + } + + // Check if already scheduled in the past; if so, do not show again. + const achievementsStorage = await browser.storage.local.get({ achievements: [] }); + const achievements = achievementsStorage.achievements; + const existing = achievements.find(a => a.name === "survey"); + if (existing) { + return; + } + + // Ensure the achievement exists and is pending. + achievements.push({ name: "survey", done: false }); + browser.storage.local.set({ achievements }); + browser.browserAction.setBadgeBackgroundColor({color: "rgba(0,217,0,255)"}); + browser.browserAction.setBadgeText({text: "NEW"}); + }, }; // Lets do this last as theme manager did a check before connecting before diff --git a/src/js/popup.js b/src/js/popup.js index dd2492a..4419f15 100644 --- a/src/js/popup.js +++ b/src/js/popup.js @@ -31,6 +31,7 @@ const P_CONTAINER_INFO = "containerInfo"; const P_CONTAINER_EDIT = "containerEdit"; const P_CONTAINER_DELETE = "containerDelete"; const P_CONTAINERS_ACHIEVEMENT = "containersAchievement"; +const P_SURVEY_ACHIEVEMENT = "surveyAchievement"; const P_CONTAINER_ASSIGNMENTS = "containerAssignments"; const P_CLEAR_CONTAINER_STORAGE = "clearContainerStorage"; @@ -138,18 +139,23 @@ const Logic = { async showAchievementOrContainersListPanel() { // Do we need to show an achievement panel? - let showAchievements = false; const achievementsStorage = await browser.storage.local.get({ achievements: [] }); - for (const achievement of achievementsStorage.achievements) { - if (!achievement.done) { - showAchievements = true; + const pending = achievementsStorage.achievements.filter(a => !a.done); + + if (pending.length) { + // Prefer showing the survey view first if present, otherwise fall back + // to the existing achievement panel. + const survey = pending.find(a => a.name === "survey"); + if (survey) { + this.showPanel(P_SURVEY_ACHIEVEMENT); + return; } - } - if (showAchievements) { + this.showPanel(P_CONTAINERS_ACHIEVEMENT); - } else { - this.showPanel(P_CONTAINERS_LIST); + return; } + + this.showPanel(P_CONTAINERS_LIST); }, // In case the user wants to click multiple actions, @@ -2376,6 +2382,26 @@ Logic.registerPanel(P_CONTAINERS_ACHIEVEMENT, { }, }); +// P_SURVEY_ACHIEVEMENT: A simple survey view. +// ---------------------------------------------------------------------------- + +Logic.registerPanel(P_SURVEY_ACHIEVEMENT, { + panelSelector: ".survey-panel", + + // This method is called when the object is registered. + initialize() { + Utils.addEnterHandler(document.querySelector("#survey-achievement-done-button"), async () => { + await Logic.setAchievementDone("survey"); + Logic.showPanel(P_CONTAINERS_LIST); + }); + }, + + // This method is called when the panel is shown. + prepare() { + return Promise.resolve(null); + }, +}); + Logic.init(); window.addEventListener("resize", function () { diff --git a/src/manifest.json b/src/manifest.json index c87c44c..809c02d 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 2, "name": "Firefox Multi-Account Containers", - "version": "8.3.0", + "version": "8.3.1", "incognito": "not_allowed", "description": "__MSG_extensionDescription__", "icons": { diff --git a/src/popup.html b/src/popup.html index 5a87ae9..9a881cc 100644 --- a/src/popup.html +++ b/src/popup.html @@ -106,6 +106,18 @@ +
+ +

Participate in Paid Research with Firefox

+

We'd love to learn about your experiences with this add-on!

+

Join a 1:1 Zoom interview and receive a $75 Amazon e-giftcard or Paypal payment.

+

Thank you for helping us improve Firefox.

+ + Back +
+
- +

Participate in Paid Research with Firefox

-

We'd love to learn about your experiences with this add-on!

-

Join a 1:1 Zoom interview and receive a $75 Amazon e-giftcard or Paypal payment.

-

Thank you for helping us improve Firefox.

-

We'd love to learn about your experiences with this add-on! Join a 1:1 Zoom interview and receive a $75 Amazon e-giftcard or Paypal payment.

+

Thank you for helping us improve Firefox.

+ Back
From eeefaaba1ea39726346e98f430c84b807491dc3e Mon Sep 17 00:00:00 2001 From: Lesley Norton Date: Wed, 1 Oct 2025 12:48:17 -0500 Subject: [PATCH 05/18] Fix CSS lint errors --- src/css/popup.css | 42 ++++++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/src/css/popup.css b/src/css/popup.css index ad2ada7..b0532b7 100644 --- a/src/css/popup.css +++ b/src/css/popup.css @@ -37,6 +37,7 @@ :root { --fontInter: "Inter", sans-serif; --fontInterMedium: "Inter-Medium", sans-serif; + --fontInterSemiBold: "Inter-SemiBold", sans-serif; --fontMetropolis: "Metropolis", sans-serif; --fontMetropolisLight: "Metropolis-Light", sans-serif; --iconArrowLeft: url("/img/arrow-icon-left.svg"); @@ -1658,6 +1659,17 @@ input[type=text] { background-color: var(--button-bg-hover-color-primary); } +#survey-achievement-done-button { + color: var(--button-bg-color-primary); + transition: color 0.1s ease; + font-size: 14px; + padding-inline: 3px; + padding-block: 1px; + border-radius: 1px; + text-align: center; + margin-inline: auto; +} + .onboarding-button:focus, .half-onboarding-button:focus, #survey-achievement-done-button:focus { @@ -2418,27 +2430,24 @@ tr:hover > td > .reset-button { inline-size: 100%; } -/* Survey Popup */ +/* Survey Popup */ .survey-blurb, -#survey-panel h3.onboarding-title, -#survey-achievement-done-button { +#survey-panel h3.onboarding-title { text-align: center; - margin: auto; + margin-inline: auto; } #survey-panel h3.onboarding-title { max-inline-size: 100%; - font-family: "Inter-SemiBold"; - + font-family: var(--fontInterSemiBold); line-height: 24px; margin-block-end: 12px; } #survey-panel { - padding-block: 40px 32px; - padding-inline: 0px; - padding: 40px, 0px; + padding-block: 40px; + padding-inline: 0; } .survey-blurb { @@ -2452,21 +2461,14 @@ tr:hover > td > .reset-button { } #survey-button { - padding: 4px 16px; - margin-block: 0px 8px; + padding-block: 4px; + padding-inline: 16px; + margin-block: 0 8px; min-block-size: 32px; } .share-ctas.survey-back { - margin: auto; -} - -#survey-achievement-done-button { - color: var(--button-bg-color-primary); - transition: color 0.1s ease; - font-size: 14px; - padding: 1px 3px; - border-radius: 1px; + margin-inline: auto; } #survey-achievement-done-button:hover { From dcc42e2a3a48831b0291ae40ad3c82e5057ec24f Mon Sep 17 00:00:00 2001 From: Andrea Marchesini Date: Thu, 2 Oct 2025 18:19:24 +0200 Subject: [PATCH 06/18] Update src/popup.html Co-authored-by: Maxx Crawford --- src/popup.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/popup.html b/src/popup.html index b116e87..a1363ae 100644 --- a/src/popup.html +++ b/src/popup.html @@ -109,7 +109,7 @@

Participate in Paid Research with Firefox

-

We'd love to learn about your experiences with this add-on! Join a 1:1 Zoom interview and receive a $75 Amazon e-giftcard or Paypal payment.

+

We'd love to learn about your experiences with this add-on! Join a 1:1 Zoom interview and receive a $75 Amazon e-giftcard or PayPal payment.

Thank you for helping us improve Firefox.

Participate in Paid Research with Firefox

-

We'd love to learn about your experiences with this add-on! Join a 1:1 Zoom interview and receive a $75 Amazon e-giftcard or PayPal payment.

+

We'd love to learn about your experiences with this add-on! Join a 1:1 Zoom interview and receive a $75 Amazon e-gift card or PayPal payment.

Thank you for helping us improve Firefox.

*EUBcvmFyi_=}9HV8)L0Z+C*5|?j3&>HhH{?b7=uG_p?#W`uEr4wVypmxjJ}_+*K#V{y=8m6 zNq?hMFV#67@I{2X5a<}1>hv6TTlZd%rD9p>rd@1L`5sRAAQ@fkGKtryaiYlwBhFa>VuYtyzY1tTUwEtuq)^1}O ze@;9nom0;NSNhh?or87GJ-<2^&Phxv51v4WJK7KZIM`12^W1g5U;4Fc{nqc@?T;Rg zXRD9*s<$p`)?afN_@GL<6%7bl&k00^Xb=-(LpjNq8Rlei|e3g^Vr6DIgn>= zC+OJbg^5jklAprr(k8nYOH-NpMQ3c9(|%$?)AKdalknmTlFaq&=5P_W6K~jD9ABJX zyi|;f*t{G6LU6@bc9r+$>aOwf&X!N<+CxZ}wVSaYI^a_XJ8cm>mRvg)p_R-LO&&2O z?$4%xMeN$*heo2zTqr~lPE@Cf=1d~GOxV=a4vCCvz{;5RA(0uKax<%MAd4>4Su)R^ zEhq7_YFu;H%}{0c`fZuLXa;lOuF71fna#jc9y`~bQJyOq%=fdI(fl;W+2$XCuoj}6 zaJp_=)*5wu?K8LUY#n&ic{4DE^{#=U^?_wUAmzgm6`(N{;qZN<(ko_jDwD~oFfpsr z*bI$k$HozuSF0a6qo%o=sCgdDNBuHp!=2harwibxA-cd}HwHWE)JUh7`QmKm<)mt5 zez$5>m90mk*v;Qlqgy|{N!^BF@t#P$WM;a7#6l{vG43a$nsv34aXmaF?2our^Tsqm zW<~(rRfR1eGed=q^0hZN&6hj6NNrXS#uG7$Cx$L^PW; zhWmCPebX^~QZjBJj@?zPtJ`JlDEd~tU;l{%24fr|u|&owA>yVoqYY4Q%T&TsiG+tAT$K_g z3;?7|L>ydoB4vLQ&V;QABlPKwRo3;vQbwuD9J)>)PGqaG5qj9GVZKQ1W_h(r^g(udC?|g*~6Q zWlxuogED|4Ntw}aFVtK8trf1?yX~v`M^~Qkf?L(GpP!*k4SF|7!odkSmbJqYHt8xH zSyuU~HjbjV3Z;5!_MJvv8aO5cVSbUvK5{q}qHE}U*=GDvN!GW8F{mmpm)}J#C_zxd zvw7c9ZT0h!N)@io$E?bGHeV$0Ez5x6;EBR#EHF46Q4BXJg)T)5w@~sw`!h!*Q*yRx z@l1tURx^5~lMj87uTm(?I6gvw78K>(zjG$QYGO4py4RZ(Ylu^R_*OqNUy5EgYp!qV z$14CI1_TpFnHwoaqtWP8(DA}Y+mnvOas6jN6 z#`Q8UI(?P6di*18ttnt)JAJ#{&#!f1WcBibts|SuNZ>0ftiXX@yFUvnpm506oO%7^ zAd%a{zljLQ!XpfN`HoNdjQ?>KEzPmb8flxABP2MR0^3RCYw)U;d^`O(Tr2+2uHR-3 zIkWrf@Du1)jAd-)er5U%VY{}TC~ zIqbjHuP;ZPMs|KYYKI=TX$p9>diu52CM}mO)~`>s-xA*<2ThiAU~dQF(Y)MXCGZPU zv)hm+5Jf`5n)Duv4+czu3!Fq&+V^zS_uY&yto|GmI+pyxB!(b#!l@4Nxc^hrb);w6 z14_;f>hT_QGCqhtYVv+hkCthSgjuw4x>~ltxdZ)t0uEHD@}(cEH6G`RY;gCQM4)M3}NMoUIAA z=t^aGuFTvIHq5UtPev#=KX$)K?e|2919y0T^t5&HuGL6d({!`VQROU~yNxdISGoDz zT-tuPP+_0z{;opqo@LW8a{5ULF{Gyq#kl~+!&;8o^n6_La$+H~d0{k^PuhAmz-87v zj870Pl&^>B|MIc(bAM-ISY%sJ`dy05h5qZ? z!ssRH9rj39po@hfR40zkOr)Q~!Js`@sty7sR>>It!@k6xNTNIl+2#xF`OSlV+7ccx znKT9x1#gj7J+%UHe(NNSco6)~bQr4DgnQX>uun8G@^MrUX%{eTaemT@<&3p@32!jZ zQyJN~iQ&vOj=?;AkB{v`#`sxN((@xVx&EAc1GHq2i>nB?KB$1C*@Po@XYBj!raaf` zwr;CU2R1KCjP09YUNslP9~8^X(cjTX9FUasj+4HL9rXu>3l0V;o|#Z;Vnq6VAzmLGRikzPB3x*y7wi zFm9xnX+lT)3a5QeF7u4naZixWc3Ak@@)vJS4dWP&EQ;qTG~wV&YJ_Po_bi6-hqrR; zy^j%3H{}$j#7HqsI-TYbf`Ljsu@N|hsSk9`YIui@XN2LvAf_0?!R@jwhatq`wgP)Y zBHW1Y<2;Y&bI=J=<%7+)xDk_i-N(HipAzd252lmI+C6Jy=X6tN5!EHIj|srelvEh_ zPNoOeB|efn0_!}-Jnx0){y53cSsTO$gPEq_js6C^Z;K;+<35MNm~<_=^}=Y0%qS5L z=+q|$!$!WSNGMrC{^88}2jr0nywi0K0 zBCx9PdG^;1mMMlT$g6o?6lrdYnl^7lbC`eYLYM~&sJCahqgTVucX*E{)>Tbw{ziJz zBJd=(KSZ;5Gjwy(!>>!A>_JOSBtA^2yT|8z#E0LR1lrUV{)nq1i(obe++(Qv$Q zlcrD6#yg=YP5*vu!r3q7_KHPg9h4Upd0qz6Syn?vh*NZVTE0#lN&&?aDDPxp9cmJ| zioX)$m1yS&pq;BmuFZJa)#5V1Ng`ZRYy#-vkkv6mkA^wa1$B)7O}sI3Z*?oNdMfii(~C_ zr)6}mfRC!&0AF>6-xQ54xL?pLQ6NQnX^5;JfWHc86-RCN3+i z)5_4OmW$d(mz+jb3@WB62G!h9f@X;VcLf?oRwEkHs8$IrSk8ecYV<%$I7I}USrXQ5 zCeoX+#MeVtC#vy>Kg$QFRFy}prv9MjG#p8V!oN~6G1Hn67a0(ga`~HNm5wATT#RV3 zB6y491R{Gep=6|yXZ-o`6(UHeU|~E2oN>O8C7x`9kxw2uAZl1cLs05kWNmf^Kjjti8a_@XA6}T@m%ORc+zpw=}iYcKJ=8S zs;`e&hsB0o!|kdoiFw7n$pfzqCTk=%@bZ z&1y=!XZ1RQ6uT)ANj4u3#68K5a5eUbPZyn;d{}+k!LcmB5b@B#c4DUjsxH*K8SjaB zSFxglD#rPN+kXUhikrz6UY7My>A7oj?5k!x;}r$}M_zni6TJU$INm;xXGHw6yjV~V z$get&A&NiH&@;UHkQbQb$Ma6uF&9wjzZyk?U4ws+-5w~o;MI1|4nu7uA?d7HCh>kpgr<7r_+ z<@U?842#E^$ln_J8?mWS;3t0s@b#Z>GJ_Fx$TZ2IF~pL+_R=>E(5Qri0Hl>PaNKq% zH(ctW%$%qgT8$~TiPWBSGJ+7Hk)5xm$tFEFifeC5uZPIpHja7mjQy^fsekcCy_psB z$KrF^oWi8G?QY62;A(olDX-9Zx^pnLSTsc21E8&a(5V)p{(ky!gj{or*eh*MF7fuv z_#16**J|ELzj1v%PsAF~fbs~2<^O7%rSHy6wA>r0ivUKymdwsO(P$Q?|Ban*ev)AB zDZWngeuFFJ6UMM8!Hq`j3_!?_k(MQ^S#E6UJhbc^LomVJ+ncgXaBw_R=xz~-1D z@bl;I>s?vRBQ0==xuz^g#&*>{yIZqShTqF`ObkByMAX2 zskod)i%h^nB1?;&+>U`$f)jZl6rGS2<+Lls!nFvJtYOSW@QMyCX{9@oBS(%$@}VI6 zNi&Jbh?(qWPT!?^*+y zNz=AX-?rQ=n;tK6_@2aKjhrVqR-E?~Gb59mcXT9+!owSE7ks{IcXN{5tDg8@FWrQy z6`R(PgMe1?Q;1e>Zn&F3Oy=x&5qRL#rig@zfnH$j$(jY3Kh`B+2giF$`~d}znN=GW zawDd^QTRScsep;7hE+QT*y5EyRzsqxY-OgoiYWE45$5_~_fC(dP!EilDR01wuK6^0 zwC+u+ek6XmDWQ5}(*$b2IWV1_FK~6{3F85~xA3@~I}P!Zjq+?xo%%4a6T=mLzt(gJ;9~6y_*SxrIPgW-ZxCQ3QWJBi7`Qvw&pAF7BK?BM1<(8=B}@M83#_k>okrQb)bRSM zu&e3SDly^y6Nf@Jq`FBQV;;y1U(|7&%}BqmFGGeV_|?}E*VfXQ*J0Uo*uKoee9Cz# zxjXFU%*$~k-UbO7Vdk$kt0Nee+G<`}DM@-GhtsbPL8JUIgJjl^gulQ5Tsb4>)0(f# zzi#(Rnc(i<#8FpjB(IjOv^e-_IOd^s<$uwzxQsJ&rnh94YG`~#E#Q3g6-4t4;nCaT zFP{0#jXLj?snV|)8q8oeioxdakwWGt9!Y!JQ$OawRCKbMwfWo!2VXYD-w`#@238?t z!6}9Hiq~Et8u8bN6p01e{B*8z<`?}eiouV?;Qnuc8t9;;Qw%xkJyEF6OJSY+%xoNs zAf}`hsp6u2gq19F833ko;FoFpdxuP0xpsxp%$~CNM9GDm0k9IV+6YvL>OY16eE{W= zlIv#M(oJ#B_FZt+tKR>yoxxTo8;o6rT)hL7Bth5b-PW{i+qUiQYMaxxF>TwnZF}0b zZQGj0*Uz)>e!FM$#L1IUC#$lmG9vPKZ`}J2DZ&~gtQB08L4`=4X(oB+=|&2krF{~%8h z2+40-`w#@<-cBtDKTA%J`fmN5v*&xWqL3d;F2|U6%xic_Dc}TDdPlK5^gd8D@Ohi; zS7rL^PPwFyF>C7DTLH3A)XmYYsP=#Z2qMe*1Thld(n!P-29gpTeFHpAx$K3^hEP*k zj#fcLdF$4{C`gG%jq^!anirq>_jtWydX(;7h2ZP;hXL>Sr7Y%L1VaK`x63~8ABK0W zP)E(zijZ)dr)`P3rW0Y3k9B=ATgK7!XecTDxlvI-C@roh-{$Ns!w_?WF$x8 z&vk9#(y4Qa@@;MHK0CqB%B;?>lx{53ow_knex9S}f15#p0IBNEouudLlksAK0bND5 z^ZcIhGpc*|%q@v5GZr4s!P^cJc8tJ_@U1*%ke*filJ%W4!6g7$1unRnid;L#d?(e;r^r^(esi-DV?kqFX)#z{$@}`ZUcha zu=p@6&&ySm;q10nDc&94t125O3Z4+Bi}L`wKc0GeX3k?_ZtZtbTO?+U z({69$1Bw*-1X+?4B)F&I0$Kg_Atv?WJr|4e_nnG6frFP;XV7x=%oV!;+w|MmIjq}x z#s}ufB3jm2-97x2fFaH<0WI@c_(r=xw`{q&Wk{Z-w26;m)U#+`Kq~!@#%#Dz<^my@ zW$uPcll6MmA0N6isf>>Tigm*T1RY!58k`w{X)=%&ggAmB(O8B@mQxu#$YhG!l&*u- z81$wOy%Ti)jg0+oE`qIA)SLdg$3EY>K(fnyh#dk_yt6Jvi^Yel6GdkO^6!hg6j>&l zsf=`2BE?IUUPqO{KC#vn>n&FDxgyX=@8o)fzHjqO^`_0=|7M*KIP9UW{Y!QF-xjn8 ztrz@FQ%PXEY&I!kaWjwgGYnsqnES^B>eUA?9q?_pUD2H28T)e%Y!jxT)sh~N__p7I zB1=5z(VSX}CNgX^9Z$MJKHjW5lc6~}>H@3R^GGM+gj;+N5#fS@tr3wwLkfgAU=uwC z?rzrwMU@b+G&3nFH>#vnwU^2)GPzxBPWCK9eO8AvC8&_`Dk;|*A_tN;oZs#<^A!!H z#*sGlg3d9yjdC*UdS?o*h@S!-@SZN=U35F&K)CKBt>L zZ7+E2&%*#eKL?It>Z%HGXiZ9T)mAlg^voW&rh1_feY3g}TveEKf zJGyiwQ@t*2QSH{>&_3|F5ybnmS44j5I2|}wQTD&#{Rm_ z5aUvgJTq>f2E;go41k zU6V(arbKHZ1)x?c$T1pf=%-I*bE-lN%YX`wf(fh$w_hzYZ!5!m&FD28lpcv3PfWxI z=v9Cm0Zd-S%2kvbEM3IPRdXxkl>t5$RGNX$1*}#ze;c)=mn*6%uef2(7n3Wr-2k4C zNmc50fcGa1QFf)-vidTI1ptdFOnNhFvo+TejOAjDd4))NnNyWvd?1SRbQ|!roGr0A z=1Y)M?L6alFmIMyA=KUV;$Bx4dz3nJ$U_e;po>7A(^pIR(yJi_F}H*yVul%e=!7`v zRrv7Ki%J@z-H#xl8B8p<4#3}rBQAyb6z)tq7H&9Y9vT*#k z7C+Ek(J){&2#%^h7%xDXQ)rVIxj<}5HKz+X&yYC1?x?TtNJy{@huE=*OWLEX44Q6^ zxO!Hmw^x#~HwxA0NGS@(A~ID5TBr!mklsWz9)9o$*gsyL6gpdqM3;(qiwcGMOggW0 z=7{Nu>40@G`lP&8JR0r(-jpN0R#YydA+xGg)LY3@O+ah&Pnw5KQt}FVyT_GU)`}ik z@_H?;37XF)w<;QU1-EHnMpCri(A6SZqqdufPJP+{noN3)R!yi~^^k6Bj^luM^rv}c zTxyH)mwlYGI_*`?@3q{dAPJz~PzhimQZb0GRJ~GE`N~T9I(3WrOhs^6y6gFzMW6t% zqF)i2irAo_p^@ac*VhqXybT;*zb`a$cj z#7iS?ArwinbzqK!`(uH!Li{Sc;Iq)EeS^xdnE^0Cuv3MlW$y!FGJsocn+ro0vw;QHAn`jDsXE9wf@MMoRovc}NzSNeU`ZaNP>6GinoJujf zwC3*)ETs;4+bLO%b>_k&J}_z>ZfcQVb{D&* zx8ddS@(a!R-^B{9xrRd#QfXndkphQYaqQ&RDFGAZ{Jw8ppX)w6oQ3Cr-H(cH^i_?TAJr{ zKT3ARJaQ`g71ik?R;ulm<|z|ms-d8c8kXs$A1x>W7J_>X#&5xxiNG#l-Mq3@SV}53 z(29yFzYNdDy!-`b_d~!AnDB%kDZ0?8A}`2*3#f3U#A#GNRH7!fVSNMgH&qLRTrcTy&-4TQ)Eq^*8=JS=@ z#vH7+JZ@CAKV%Z-UCyc~yySl&Fp3JTTPnL?^NxKp0SoPIO6$@ia-{t_>!NkU_!ff4 zHj^Mu<2qJ&qB(x=s8RRf{7Ze-?@Iqq$CMS#pDQbcR%2Z@trrL@&ijyGw$8@j5?E}V zoryBr0=kBGgCfdZcLTz1!6jfQp%m$;T{u)j${`WV0d&b!Mk2FJ4-KXkZ@>RMaR z_kmzSa-Dbt_+@93|3dAC1mnsJFsrAZJ-bAukR=oD1=wkzWmub) z`g-{Z+@KtB5`7_4BT=h)bYKyNZbR)il1y$zx7+vB9SFT56QeLD=>j^=mvmbiH>17` zk;x^6s6{O`;nh7=F~7Ia$BsR}!SV1NRp;0U-N8+9mB5ia-6V-|gJ`E5;UV(KUPN?n zB8+!Z;9-+P`zuk|Q-;XeM-68-Vz;-WRilu70a}WLXjW!cb|Ey6)mRRawW7G}9Yl&| zIXn5&$w-wt4&rI?J}SF?fshKp;TiWl2y~`|pPJxjU;-}0R%vafVuMO9A;kXJVXH!p zzA!@j487HSoiSe|@SXg~62>=?fBhmMK@9E?dx!o4(c%NQm4QnFAbSh&dxM9%VF-oO zBsq0aAtrTIK}^rla6z;o)$&2#-kas z&Dafjn-AsE7jZq0HQ3LKrkac#pIC+#*X^9z%{!PkPPfV|es!>re{P!|)ydpgPSfkfT`H8vPziC|={0+qQAGExJm2oPEemEk@xMz~Gk@ zz9Jd-hv#{Tm`&IXtlHA?epsuw`_!qA=XAPj_$R(lGZMio&s>gyT*JTjw=R=>@xkLB z`u+GJydNbdRQ8>&N&eXcqk{(9f^w9eO9QizA%Qr6sbDM`27(%rdI((GR?H2%@n(39 zHEw!1GW1R|*|Ak?D`&&ZyDjaccQ>v` z)=4ZAYszRn)}}-*IWk7x-44uip^=-VbMWFiW;m_|WC;N(?)h+xBmSDX;WE&lDC89i z_Q9-;FU_dT4A%x!S?r+ZMRwVD5IE=i4xQI}3md$DZaNGd=8LuEmIlnmJ_;-r{S6JP zm>=KtaG#$jd6`>Z-4#0vBTrc{*2Ua5#Qz?I#QUxwGl1HfW%^R?Lm8jH6X^9m%xu2> z()2=oaD30crl0rvoDL|<2tumRUG@tC1i-hb^(Dr@M+knz{9q2AP2})~a_apHr#NHJ z4bM>(H0rZiKNPyDQ*~ZZaFq*hhQ=IIUGHUMT&opt0@@2G2UY)ZwjRBl3}k7X?rmK4 zpX0vGI^&+Ws9?ct@A+D=)K@cXm2zO`fQ0Y6OU0JPphlgP~lFjoe zD(KCMq%6H~@5s5c`G@+D^vF82CZ6!bO$B+zcpc7Rsd(_$gY7BaF0ODSTUpK@vVIlP z^Za~^1UBcC^dCO_n@r~9a(ST!fWoP>ozc60js8hDgjHLaQ*>Zx;dX~&Blw!~^}Enh zH5;AtM`0mgy^Z_G14%@BkD5+)`xdmbI9=x?yd+~;I=(xd49xa-rRDJw-_700?KR$l z;cI_h!O@hK4I_Gq6}`wF}z;8d0k# zTH)HZolV2p(dV^hsvQt#!zz_T5EKuRv|=RtU$aEnoh8cCkmOdDD!5?29yaHQ^m71I z{76ck6M+7%9SRyMnAN}icTwwZleqJ@#j(?(Vz&YC3+D!9&%VYxIw$r-MhT}~+L^qu z%ppZ!v#<<)^pIznXTr>r(CK+yyGM$5eAd#Xhq$nUZYVmb&Zj-HXQ!i5VG%>&JIvnu zsez-d35Ft&9fj1b8w5@A^*zStt6g@y>4rZSaE7!P*#0Y}FMok(uyR=1Cc)y`dxYjY zJ%d+r!7#mlbg;_tgb5p}oNAbh3KBgR@rrhf-+Xj?Yk^_f1a|R#?0S|3K2qTcr+wi@ zDM%4JhUfIVTy=_$cLDDt(&bk)ikcpmh1bVQ+6P*~6&!GEMq zdj;@Kq{f`2#T>=1gzIu~$}~6~hF3V2)qQ;H>Dl_v%T6~9?T?XB<^kD#@;9;MTd2M_;aO~Klp0M2kTu_l zi`=?`rmdgub1|{#B**&UvUtjWvJFXDHML)mu48sOX}UDvBJq=S@P$OUi_dS7JXeP# z1+wmzYLziR8T)9OSsr!#7!!~ucy#WT@N24F0J&lp<0AxpZlON7PN%Q8ZeFmGmC`tS z98oo-qH!|7B#7u!JzMgP51g7W*ku$BuA;-N;*bWIKOu-#@!k7i)kAkXFuJ-@mPwfM zU$XLF0QL_4;kIGqxOKUyu3I}T#Xq@_>jpEseW{sE&QRsln`Rt@h3<4~jl7Hne*4-y z1z7q4e~-gCx&;cWm3)G=xIIiPPDjOnKwB2f`wP#d29-*+YOQ9=r3#aBcyyCD`bXn3 zkO)}|NqYdxugsdv{t$571rDtMtI4co71VyL^N%Jc znum>?S>R8>5F*Tw_{l3`-0=LqSy^aP+sqIM(OQ~ZE`Yl{R-nc>YoB@<`PHn^bo&D1LT-YjkTbLv~!ADxpT3VeZ%jGcp3zNzpz+OfzZw=_P(u6#zrvr zF~xde0%#kAgIuIJgsIp{WMs7jELRY0Gps0KfkcYO-b4bvyQZc|>qm1M%#!8eTe)7~ z@IpylhFxV`lWJ>$8=}a17TSfRe!tA+p;SDzTnB9We=Ze@`KF0L34jiKoQj)5Lqom0 z$Uzi_A`1H7yI4d5F#ziSDr~~x(wMNuNj+E%?F9kEK3f?7=e++MWeevz$fmKHtVgYN z8&l9~HCPXoROgkbmJJ_l1`&2SfN0$;zrwNkCNs_J0*yG}{*;}Ojlu3NftUl%{}kVA zduSuiOd&!D^aJ@+I4@5BU;BsdGJl`~X51C3=4XZq&_;nSg*EO9&Zw{|jT)p|{{nMM z=V?m*lAK6uAw1|M11@LjTLd@MB7YK=|u7Xs*ptzh=#z`ANugKOQn=$}@nEf(h$|6Pg;5 zKQmBffX(~CEF7gp2jqoJs!5WQ2DKAV`LQ7dTMWUssFo` zh|6ikH=Qka%9#m703ShLQD>^#($vR1o=B}V#ALJ5Xb1;|s}u+ixIksm@6tQbsR>Q&QNgPH=(N#mq)5 zaa|avOp#63x>iBzI4_hwu*CjwZspu^@%?&WU^Sx@f{J`{GXbIkiOOU8a$HXZm-A?` z11E4BgP&hVKhvB#wX`zP1IJHw>32%*FAg|4joV2m}Eo2n=!i zOwO`;bFm_deSTs6!DI#cmTeF2z_ajV_O5V>F6292BG5`7v5;IZ(ZCNR)# zk^%b)Sg!`5n~mBZTE^+C>C56P&K0LWE-M2u*+~iiXPlw@>vG5f(o0SiuR)xgeF((} zs940VmRFdI@;|ET0)aBBsMh#hAB!!Wp#*WRdk72xi?N_T>IasVt?94*hJ0VRgolWT z(EI_7!Wb1SONJg0_8UY;xc(4B29nGAU!N-wn(G=rr(o#A0v-MsZ^zJDLGS)~8lxjK zwXBG79Vf59B(ZWCD|g_Sky9IQk02$oOc8UtFxRK&b~D;BvVi>sq~C$p$SF77Gf*V@gsGjOQ8ZUIIjJi` z)+>|+%4O3ISWC{j2y&w#q^CijTxK&Hrc%0Vc7F_g_@+P zr%TADzm*YIJal8toMtm9jlAj-;Qc_%uAL6j%Hzzd`DP>=0-1DjJ*9g7y?FCu=R-MX zB?YQ32r8z$pi($xhM_7hLs){=vbl?A;N0&P4I9_cg{7&jfrW|8^6dY%NXH|Kl6G{h z9~1TGai?X4GV}}50z4)gA0S49*qm)jg@ zrXed(s9+#_Tzd?00jGXEBA!o#U7FOm!#sEI+2T^i+}T{E!e8J(3e+W5Cd2t83l`I< z^j3qp1QQx|8*rCBtdd-SG3Bt_|LO)4YE@c|wgV+}8?K61>y0P411eI%R;iK(kV#+6Iu@fg~eJHnhzOd=AP@~faIg-t7a+kiElPAzk5 z&)LQ4<@WLZ`7Usv7MQRL(=<`E9L`Co7)zOCSwWCDAG2i* zK5xA9mF9lG_7u@40^iHQL%5z7C6zgSDz8P#?a5C#u3k2(zQbm*Y)dMh>WA?_a3O|~*J}@w zAT2rvTe?!vA1?dk8dc6B2y0qi!PFF;+cxSLXM(Ey^XRwQCK8sz37=VO20G)sgHH2LL^Ib3C#1q$yn%D5Amo4K>QLzJu z_MkEy``-%xXK)@v8&_-pTU}jPS!xHw$O;nBi%1C@BUmttNej;qKZYiK za1Jypnx;4$+>~_Hwtn#R=0O}}5F{3qpoHptu~fReLC#O4x`>c5 zjxP+QaEHmvr?OaE0pTqu2r0ocF&nkUj?iQJp2Lb)M5~ZR%c#l@%Q8u)D52(K`%L#R4M@% z8iT08CwB?+Lv6`>i zl8n+jaMB`}^)lJV(cr}jDU^p;dYt*LZQa!Q2IQ}^W3Gqed$}SG+`7P`KsiH1LOH=% zg}H#@Al75ZVHeHsr_0UtZJMT`QJTCZLZDT9XSLY5E5+=q@o&FAxseZ~bM@b#VpL@x zPj%T6DQcquH^MR9{(+2bvpI8o*7INCah$`<8K&!4Z@^Q!itub9!D1Lj{DxE;&ZSvK zO3JLtw7(W2n--l+05_v3-cF-v$~2v5!jjj?L@D>s9x~ryhwf+*NobxB1N4|CSCF$> zd!dj|*-S?q=sFEEs$3F9*Rez@i^8d}rf^J%DYt17ImVO2fIAu0)l)#HIww$3Ldci; zAo5~MjF#F>R*4X3UoeeKi)$L&MQ%FO;rMRiHZ!~SH1bOcJKgxd{uwOpQ%_9J!77xr zw%sM?YIK*H!S!)uxnW-2bj@DhB$DyHPB7zt;U&+QSd=`DaH}}Rj>>4i?(S&s3pcZc z3BmT4T*bopC4jOYZ>q%nE-RJHwZL3wss?{OIhM%t0CPA~Kpfmyr1C~fGm?wOmSH9r zxV*Mp;L_r9hF`%S*mx2$$K|+l`LV|?K=IYeTbf}#jWy>A{1&NBMi5t#jE*l%RnBTi z9o0b7Y5yZq15#vLgIVQOfRDMQDJq<@z z++JS6(h3#SE(dV}-=Fr6);VW4UxPv1+c zRdiS5hfR-@CGLs7#HrRGX^jH8V}25;EhZWjjy!>vI%7g7jpo1>6p#Ul#TiFLw2kqS z)hcH+HiuAZzA8INW2xLgZ3!FYpJn2A%QZqPhP9AR^-IMj^()nm_n0y*(2>R3{6wwi z5~uZ-cm4#2GZNA!C&-xEWHKr_M@-c#z{!mZRdY;Nex zyW1@JVgdYK8AVtS)H2z}&!Y5`gVF+UYAj%LIC2bJ3geg#S(h&cb z#vpP^eSm6}As)`^AbLxEpzft10VL-jQj9}Cm06ZkADQ~5;|L!@*ZnY$zSqM5gYSn` zF)?a6r5KI4Lxg$&a&pn{VoFuUVk%v%ag~&YWRf;SVQO{CBWSv)`(QMAcO+3%sowxG z6kS-RA!Kb_v@jXEMQNKwdAvm_-9;JiMFmh+NfB0A5?1L-&ave76yRt?iOesC4DR~@KI$5i5L0R`@-5HMazYs_tpzil|?B@Hr zp#Sw8>wEC`kT`N{PlNyq8(7Ey3Kc?v5MU0A9!h~I_4|K54?cAS1L{9d5OQ_V^l>gA zUNH07B8gmJRuoK5cTv)ms@Z;SLtMm_?Bj_$KVW(mLJeD=ar&X%(LV%Uk8Aabukoy1 zuTY4jV6vD&P?SvjMUsg`GBLcE;PyW$%k%ra@fdde!a*=7^fE2D?e~W?ie-|O>{r~* z=kr$)@to3HYSya`yZvy4f(fjs%#h{tzefj?N(JMQi_hsa9*4DWaNlqR5@Lq=Pov)- zfID3s`5BP~^wKlamUq=7$_YB|deIJMgzWPct z(HAk(vfcUx=u$EU7;y?Iff&YysR~ypRxJMiAlvxaz@7IiJhfIZpLj?*iCVeF$OG(0 z6D7})5&;;S^=!@zXsRd^1T-JB&OTT@C_GFhMI*nSK2#zWCIqmfqkAeI z2k_uBwAQ&l0l7icSl~g3)YWIvAcb=|5tK+%b<{B!q|H_T13M2tplR{ft6SPs>C6m^ za$lv3E9kTk8napJWt@yWza+nS16K(MNZjRJi6zUe&qRIWW_0Ne!ysL-Pgqc!5}CY8 zZ89g*Ut|or(^EmZ^Nglbta(uyhxxaW+OwPL%-jJYAgz zj!ENoS?f_YN$!Ef{2IY2m#cPiccp&Pu7&yRV-&g#xAWQDH(Je$T_X2$0T@6u66qHt zgM1fQ&<;D|t=-==^PaS7ygvY8&ReK3$x&K>Mt(uP=|D=h^5qK#o`?2zfisga=x6(-fF)TNPJiLK>nYe_(OZf(c$Ik z?MG@F7RgJ?8dlj)?5pmpk2OdSzB9bL_Z|eU|1kf@vG!k=NwX{DMcK7xcZGgD7PIwX z>Mv@P6Bl4iFjQDv5V-XaFnIpB{C>p$#b5vF?fEL@PZ0kZGS)9+D7^VG_R4qu<&M0@ zeotq0+Mh-In5TkJ;{UZ!_s1fmW>-~h$oY% z;eCTarB&>#ob02HnA%GT{oy;DAN=Od+*2!f)3f%s?S8M(tR?WkzeAdqQvXf3#q0DG z%KgNTGQ>TVWD4mt+1N`g!#7*)YOSHm;&VXZf<2+jkS>USAjRG6M+*UAgQ#Diu8tB0j2*|GoEP)(QHYb(Rf8z-Zv$=Mk#Ok zFFzYNd5cO7;@wUNs29~f$=3~fj#%9lp_E1b5~9@ZYroj_eGXuz+YCmC7Zd2z2fj;u z#A5M^*JcE=YiSHK)C;%H$*TvyeQewV0Td`QuyA-yk>UJm&;;1Esv`8T2Fh^}bqeCy z=SJp4=1So2a4N#o_=9@}hN0yiFN&w^XRuc=B$Fbgw$XGDN@7++3EdXc+jp(-(W;+# z%ovCB^5$LSMgDKDq+Q4NfC-dc;Wn~#|JFLS3n&%iU$*-GUB^3*-Q|xm>EWP2fah$) zsJR$w6aDw()cL37^5;YA$x`(md#9__Ns4~oJO956NRRKCzXTyK_K`6+#5SK2lEJB8 zcVE04XR$X=9DSznExWEC$RO}Bh>kii4v^}joIV(CHSrXvJ=wBp?$=N$Ym|F>f(2!g0+#SJw}PMI{aWx69{9;_VdXiYbJ;PQrXy?SvTn zd&C+wyX-o1HjhN+u>(*ePQ%|?vYDcEXvD7NOeAUC{m@4QRYQfgpK6l>n!+Ii%a+sk z7@~(d{G}An3YAP2NvQb(K~|ZKusEWx3un<&1M{vLo{oh_)q{_EaWdocR&tpO4*O;Cn!X604woG?tigex=P}BtE?og;v5?_R*k8*pNY)|A^ zVibSLv|F!oo=^yxuPaYIzoTvGBCmrbVvP#Sr~rDdDnT*hlC^sE6(h*!*_#JvPh&L< z&PuQpke%jY(j2Cucsu59*t+PS*1r59YkNiGrb7yT5C(8UCy+VzC!Pa;-A%32o zR`kA9YQ*@;Y|1G*9?|&n!+SRy5IDPo0}~ALiUoC~RP(H}k|;2@mC%nRE%VFkls1*1 zG2b^=y6FSIfaPv1cPp@8RFxh&@!LGbYp7|m(GTY>q{OVsrq3C~2kLFlYp!=jdT%=7 zK_|Rcl!%PlkCcZpl9{G)yk5yY*DBzg6cnL*J_^Xc-0EPGRVs}mi4FFEpaPy+-6!bM z%&S)G2Jj&k9MLfCE{F6@+Fi-{K0gb`J`mD>a0zV4f`b4K+fVs4ZvgWBQ|4cdWk zg)Hwv=++@{&AVosKpYPG2%!v$bINy)NQh;W=@6%T9sJgx;Wv$qF(p^)+d`2o;TB)R zP)MSXZpS=uOI3a4eE(4}+qU#d37+^nO=;P5f5L|WgNl5C`bcTrr$h{KC!X+ye}Q%j zy-t69&buw&(C(zWY=qTIfA7fIDTn|C1yF}Y)2!{<*<}#L2c&rRu;&keew4Vtf`ZtWbr=!~M z`wx!Zq~Jk+(I2fhoB zRkQOgiXLYa5DPIIvFA|CfBcOduO1;sjQ9l=I(dK6;)!q*7GrHK;o>~vY<(ao01;lC ztRa=GLzS#$k*tT6OjWSS=W2MNv(aU@%`s%_*3DO^UUNM&UWBj9w`oO4(eiCk?dz0k zzOhoMs5H>a{pXj&>4y4fuCUjLZGE*buHCi42;cTmmjuVqBkd8gJ#G^YzY z)QG)*5GSk8bm}Ud{lo=E`^X8TR1J@G{PNZp${UZ_2a4?VxxiSN+Zxu!opl_yf}|7}tIX4H!h})OAI}A~+zJ5? zUj)I(@EzZk=r9-o0`LgDx`i2&3t#%AK7%kQkUx+lBaj8IpYGEZ4?OsG^|*xR?=Yg^ zAL(Qzzr=8CI!~A|U-zXp^S) z?q5M@=lzS!ogq+Iep#g_ea}w&X1c$_UAE;A1Oc*&H1(2HyRFw%Tdz4bwtW0R-uyo^ zdvtse@<2LNO4(ata69)atZF*6*albiKTOKeNdJZ%t!An098<(A#bJFg(w{kod zlG9~2{^Na)4qob}zw21({DQM}FT~j)wLg`JN)Jws)+Guhmj6LYM=Ir-0PSMxALOV| zuJxB7$u*^0cRpRLmZ)usslgZAA+$dwf&iw%kj7_?^3vdR2NNazjjF=x3@b}(jSJr9 z4hBR_NQDJXh6YE6$A!bpXfSiVxz1Iya~`4p@1M33Xp8=gF!GA6SyDDC zIjzo`aEtv6FpWg9dvUw$fg9oR#8B45 zd{`HAVT=&QU^44HD0TOKj4vp0PGY3UP)Skd`8(9LQ3;L+K*UO!INx>w+SSt$K!D#E z^B`@QHwB^ZRa2W^*PU;eyQMz%0MrR_I{Z-7$%yNYzm{P-^^_)lU*>`B-sIKMYs&kr zXITrsUg?NhwGt2tLi^!}1n^jW!PI9!!eU)yRY#Qhwu@f*{TbT-8*nz37mkS1FMag6 z&LUc2C8rb36Y6dw(?>9Y0)77-PO6RWbL?17r;J`?O=*s)!6`~>&Fh7$10vi$DC#IF z37DH@VjMe+S5{O4EX>Z2m6{pMpNA5&5mMB^Hjjii*761m8Wsn|5u@zO-W@`<*OUE= zTTgLxF)EadzR}V?j+k6jyGfpE7zlZ>SuTG2X5>IPq1tHh&X(Zc!iUeeSYK&$SYo+Y zz%s2}PVH&(@g_HA$*ZGGxY?L`gsXObB<8|N^v3%qOW%C#AnO8hGA^L9A=ne{WG*oy zF-8=*>w7nf{-y|Ynw=G5HeIvLz!i}~RCh1#UlsZbtZziB0(cfIiwxURJh=9rzCL|# zH>QRpD+AM%LB4D*rtcEA$Eb*wJCn)?Ilww^TM@JIh)ar2NQinKoy4A{GS1 zfZ+P6Ce45ExagzLoR6SKchDR9svaU}^=BEOfLXQ7J(3|{nts5Wczn>8O^S z$<;pve%Tbo!gw5_CaEm4HaXv)VPU4f-eC|b#u*R^2mg3Nk=2sSnT+;!hjjZF5=mv^ zEfv~X&zOIYCy;PlQEB@NdxYJm#uMv99vhY6RmgdjFLPNizr@=m@PLEpSfu0pTyvM@ zy64V251M*_qgcZmM12701l}ehwCBGz>!)I|R1VQ~>Gzw*?tdGVVarq#d3??NirERL^IEPb>`<33LthN4NiLI9a3HFR zlILkroNAc9Zjy{b{d?^wg+g(G@#xn)vzHkxD$2`m(QtIWia;zGhOmnkunxvvDsrF6 zibae05-Xy05~}oNpRkviBrdC#OU?B~*ILIz+~5exRcZoRF#+MzJZd8Dijt|K9Rz0E zSMGf7%KTw1%W-9=>i$Q?KY0C5S_;`NOEP-7Lelw&1F7V;vx3qz3e+gPX5&N9c-Bh zBR6{v&u4(5eo(cG-ZLaG-4y?IGWae|5f5h0Qd zw3^j&1(;NZ>RF2rKOnqqJ`5X*^3xVl%YObCO5#^d=vP`^$xCZdrkCK28R7i`>HVFn z69D9)TSW|{Z{?EXK7q}$#43$)r5;X#{MI`hHv9dATvf}WvU3f;Q6OxE{XRVMsh}Di z7gUv(K%g?`5{f{2qx+~-yTos=ip@}V)iE=y`n?O3u$?EDIAjVwDdtq0yE45>z3TI2 zvuG>59+;oFs*FZVS}c`uqlB@{=k5{&B$M@h`2g(N_Lh!v z8oufy?}d<-mP)%mfUYI>Z$+VBBvtkS`HoPAP~T@@rWCfwx5F~0&hVO?A-^lDcdt16 z>*1;nkf-KA`dNKzC_z|FeQ$yy6Ke$9J#AdG9E=HAG%vfv#hg6M*OIMfZ52_kknEa< ztrP-dT=GNkE9^83HtM>G%*#c-%Un`(<|3Ax>TRxUeRrNjO1U=}bgxX^{>(1uJ^3I) zScO5zT1qd366*mZe(8DTKLn5Z-|R}9GJKDa;tmg$5D&7W7t~J$H4=myX@~#j z36H)a54fV>=8=ST4O(3T7*(|KD)8G1qaS}>+c?%=F&HLl?-0QAD`o?)Ru6UD+?1V! z3*2)&%K6Ipru#nmW(rI*iW;V|8T4iW)SxIfR;@&ad+hMCHcpuymq z+%8bHY&4c?WF-G|%B|cS=pLM1kW^xs7gI%@=8Y+AtlPv;_uNO{eC$&EeVrosx>xvI z+3P*-MfxLw=QeLKZI9k0@4Sx+jRlSd2kHmi-#^?pG~jlW;TIQ{7L*i~6_60I4)-5) z1ts|*avB^SND2%N1cqE~A7CLOL$@EB~Xb zLul zn8t}~T)Qtqt$;bX)^X{g`<<=gCwO%>QSXub>TG%g)`a!oGk(~N>41QcX#3b@Tq*m# zsffkfjX;f-;DPGbTSm0?iA0Q3{6;|e0ho{^QiQN`I94&G9M*)|_5F%2&-%ibeyFG; zt-x`D_DUGR$oC{jy_nVuN%!|*4@Eck&TMjeEKEk<7WKuXyAI(FZUPHFxW+_5<4 zF}$&U->&Y(mhBXL&uwjxqNdn{bd>J3>T_0bGJ+xO78B#(*3u7gU)8eej<~nmx6VQtwlnEYs}w;0R<4#6J*eO3(mBH!I`<1`lf_B}nu4KdjL`aK;^&oP`bBAjy+)=;$84`f_Gm>7s>*_=^?7}P-> z?2R$_bF<$|GKyh!Mj5+BxCP0D3t)HDLB7pB8E)@r86^C$=g%%AhB(~D+)%s6urYKR zlF+<{l0530j8wff7Vi~2ElUqsOopA$8FRZ^-F9wzM6p*1=WQuNg$z3KYrEFq>Ow;5 zkpwyNlDkhNTCG&@Fd%|ZW(X_4cH=nCRo=0d8QT+WeG*%Y$!^F4OY&>&BCvpe3r1cL z#F13C9vrvFi0F{<|6}W%f^3P}Y+JT%+ox>Xwoci$ZQD3y+qP}nwySRa-O)Gtp?BoN ze#lra8JUs!tue=>tqS0cpe#sWTbvsWe#_m|xmZ+(P~vvObGv_4Af9TRpRRRMr;#Ly zstYG|`TKR4jXx-xwXd8znDFEj_w2|(5$PGYWCPnhGS`J9$wT@xrrKP0v$4@9>r#hp zoTMT^s-mo>Wc~D57GJDsR+SAWim*<}^UA+j6IqKP)fIxqfqkw8LkE-gbZN2Ia&Fth2_aucag7V_FQ7uW_O;ls6`Z)Mdcwd(zeD-uFQZgpD$bB!BqdM zU2XP@i(TVOpS-L-qj%)=JdZfb!2Dj-(to;ZEPp%`t#q=L{Uiy(X%SrrbtKuo8pPrkh-E$Gcd-iKgHM^&T z5XNfH5}MYG0;6^u5yyefQ;qca~9M&BDWiJXc)9Jp+>@lH1xoD~uLmHQ&;BG_*F{!5Vms#WWWH+l*lcOCF^tDz&Pm6j zoo$FgH@i{sbZ>#`Q9<-wC+0XO z@yUSz>(x7WKL57PnmPjRgu;_yA915tLamx0s~IvQY~K)Z?T&wqG9{1WyOUF&%BGg_ zhyVB+BI#~E&&+J=4s(2$t`nrrY;tB&adf4*J`}nWYAz3`vkqL3rc$|l9e*Uu;b?7A zJEhhTT?P>(`*+=rfP+ET1@ECoudWK*#imKC7hF01_{UW3&b-XaKN~_&(#Nfh=2D-jlIJ_3#3MeF{WU5Z zkJ=x#cp!VS93wib)JU1@nD#2oF@IxU_WJEasm-?9ov~<0cI>K`5n3*`SlN`0>^(9L z^;qyWc9S2wA#ULlUs3peaq_rW^Oo4U#nqxr`i7oI!S?A3N#t=~EYrHW>g+z+%GA;@ z#ptK=+;~F^lx*x%n7+1Q9kG2joIYc`-sP_P$QGt9*2&sStx7BGW0hX8(xRK&bJfmY zd7flE#*KZz?hp{HLWM4o6} z>;l3$6bj2mH`RHWwbXPu!fM1uAysI$Eoatr>~%Pkuzr<$X9|p0Ld~@)uv0`#E?58K%M$vs7mwWS=-M}aPiX&Qs^t|$LPSb9EQ3O!bFIGiq#Er3l$~E z8*uKaN=uQ(DQfD^J=FAwr<&&aDEg7frDV#@GLE|I`cyl-E^2SG9~&a8U#D<=J@$)S zpBY&yR@Lg ztvF<_xC*hk;NL9Jq7XnSgtr$K(a2zqE5_U>_4K1w2p3UTNY`w)KZDcFA<^?dGNuGq z8tJ&rAt=UutQdLMW!#bc8H724lNIu{gskhNhR<}6WRFK0Fdrg5aUfmU16(vzO9p35 zlpf;jyhxgd|Ghl~ndQ}i(Rf``%ONm}m5eYH7P+P8stYjK6e}|!PgwgqBKJGx?s)%! znj#`jbd)dm*Sox&5^fw?RG3K9m z9TIA}GJ2Ai-oEZZaiwO9`2?X!=T7MzmK|MdU`I6bHunRmgj$h&-7g!lXt_H#Y6*Y> zQ=fh?2gzt>cXv3dRtch)XhI8%<7<#;a`hgC$!545AX3qM#Y@Osx4+c&-f8|54@r3r^tIFiN;2Y`tRkrd|D)wG?b?_4OwF>_=z&`sur}~-UL)){wvut}J_I36B z{kHYnmbLZ4Vw}*o3Zo^yIb@|4|F|J6W$M)^0Uw$;&Co|H*}LnTmIgQy2$!ZG^TjZ5 z_s^`4)bFIs{xTiMUG{s&G$4V9qO3N0`hf)r%qq5x<;LtQfBY%dStWK<=}FmxyGhz&0D$8ZwfN#75pJritx|y4+F3PP#&Ct5SvFcqs7U|d?!s)x1k^Cha^-Yr zBWG!;N*-p)!qUGNU6(^hA8JH9LG&FGy0Aw}5_Dx{IIx;Y!34NGeu-5N{`rD+X9It~8C= zMo?=6N}5T400<=JIZmffk-~#(0 zMCD<~#{FuosS>G^sG3A83e0#+jbJLra8{sQ`MGovNHt1+8ClKIUw$r_-uuXs_Wwp? zf#QXW<;|VQBKr;+IJEs4V%xQ?Sfyn%R63sS0}-yjxfJ$UR9|(00otatzvQM_$kN)_ zYgX=5jeELuYWU8FTe+ob_7J!}pxBIj&TV{Tv&<857c#zFwu;UbOwT&hd>bo%F5|2U z9y7U?m_f^rN2?t6y5pL18#$uI7(zg49;T;Vx2BRtrOo$**0ZhuOqo;XFYay{GCCH! z9A0{~d2K0d-Mw2{XAuD6_@=n`=%VpD`6fSgt-VjQbsaf194||qbL7)(X{$tPE_F3e zMZXv!TV=@9nUfr#*$BbANrry&RCgl+AP> zz@7b4+3&g5Nce$#WpgF(lev~%-uCST>q_3VQ{E)+A5(DD*NAWH58q?CsE?^0zQIp& za~Q$$F1Z>^*3V%)CUld@ZGV_33~XuGUj-=TxO0TNzeqCOm^Yj6i?iG=92B-=f%xBIze>o$>p9t2phBOBT-fIPuCvpMW}DX7Il}U&HLKDDy&SGDz(V9CdWsk?*A@= zZyeGxa!Qq<20-t0KxlJU^>CR`@@#}vHA?UXFaqa4 zAB&9Jicit!p$SPYw6#B4jW||2vFlqho@VscCEks>a5$XoikyujE>^Rb?9SBsE`{W{ z*?s!op}4Q_gZc%XSF{MIO!yR0lu32*7fK-nVbgLNqs=gCC3}_vT|+D8FNR1TR2NT1N$X`zNT5vFLFBhr)p&)kOU7 z#7u`5sZ4mxr_qJ$IinpjMAP?Vp90b)#g9@FNx4YPKK0FUpT(xvwkaD62h{577w{!( z&o$Wh6uGCxfWr>rxF{4OzaZs8LTDPVFeDV>kFbH(iv#zW^*y-nSgqP=n_GG@-^VLc zTW)SUIs|TMzS&c26sV?4p^em&BC~yS{2ITOK#R^J+^sCht0U?g%OwqUVm@PS@s(RG z`6^#azO17b6xWQN({Wqhd;Y|$Hp&GsGPsX{XHt{~Jpx}*=RiPlM2UgW{Q%F%o0vcf zc87aGzqyQ&*M%4Ug15m`OC8D0PQSCrfEkg2Z(F`-`S9Tn!?%cy)8eNWc`oVYR=%Zk zdMpWTClY@VlKRp%yU5lS+op>Qm)H-7O|^se9c6U6Gntcg=fLA{94VNm5ocT+o@#sY z@g6Ds8&7=OdbP{vts6h?8@#Ob5=a34ghIz@4swZv^z=0o<2Ub?qlavMCAyG~X_MbKG3;+AX$;orH zKmdR^68HJZ|NcqS(hzsEW49hLqCt#qJ_hKgSM@)yM@A(gGsF1_Xd_sh{hh!BAOZzI zt#PUt)ZniS7V;gYX6b7|fFa6KFjJgaE+dk67ru36ZoQ0Xb$HHr}QOXjcYc z)&>G;xY$yyNHMPMRNalxXoF2AvT@*Yy~8k+VU;R0GlxnlU8x+wh_Vt~_$~#g_u0_- zAX=8~n?br>q$khMD>gP!GU?iC)Qs-jXPDa?UtG<(oEP&}5RqwGT<&*qE+nn8`t6I{ z{y=Km?kg<(7%dDNNm3>?*^LDu-QFbK2^;Y}#5Q=WA1YqY_7U-bfle$GPsjJcA{gRa zHk&i(2ZZzm<#r<=^hYvLnDJ$-wiO=)K;EqKJ==L-;4@49X;kXQ`zkO~jyk`yWR5Jk@L5Qp*LLPNQxfSngB1x6iam`(#bk4CNYNL@W z?CV}Eob&R7f7nGAz~TPOARJm4hZW{ODQ5MjYwG6<8KA#6)W|PG^LZa;rE3o{MQYz1 zP&bV#SDZ4}C2*i2GsJSZI@Dt4A(n?92t-$-b03zRk}UG)KA7=E{K*Mlt(xPV_i^`{hhoK_gyJq(H^zRs7AFR#2-Q|y{;m!<WF>JQKWYkLsU>&9L}7O59SVX1K27y zb_dtCs-c8s1J%y^%o3n6BhqomTyG}S&fi%@rA9TAuY0|t)7%5B_XZt_Za`$_P3aKD zDOd|S=>p?+39)>#z1pr#7V1k!&b%_Fvp+d9Z|ca;?#ShIy-RK7(H(tMZ$>ANBi`lhdMH z?rP4h|Jzp2z>ge+-E7^#Y-;TcZ?Q-E>cxDAoV z2DI#0fQo~^0Nu135`a02$1sb7y}{SSG6lr^ufX_i@yw~uFjK=Z;|nOj?il;*Z}Mh$ z@o&xmIS|1r7Qw0)5evjHs7?MA7a%$Sp;j%GXI1-N&ZxaEFkoN;72nb4hfW#SM7j7b zz3Liy_J^&6&93H0t03%8lCiIVZ^hSpy#VIoe3?;$B56TMG;i+H$V@V}9S%UCWuohj zP5zLNPwLJG;tc(jPd)to?zqsq$3c&3p_WTi!$=WtHr=UA7c#K@oCj{(4@5=LQYCz7 zI2Zgut(8AG$<>m`imaZ$PD-|Rj%2p(!A7VuV9mfs)w0^-HzE!q>(wHZ_l%{*Q>=W# z*9uA38y>F>2`i7<(L!F})knA9MS9ZYQpF7A4OsSF=G|BI(IMtne-b$~2@YVc+0y6F zYAbWm*pxjH9jxzs1N|vZQ0@prf7?9{dln!sxaszx48f)rh}#2f1$RFa-~1qbMk0+) zIkS7cfS-_Kniq$)oYIBttS%g@&A!Xz!y&6z$;gPt#twnEi?8xx!^L_msCy{iU(s^8G zk30$6-&VFi17%~0i^r7b_smc3At9ZRl(quX8}juC7QDp-dI`DS%Eo*>4t_fv;)ZYv zKIPi9xLnF6cv-rMuif0A^13;>2s=-Va@6MR#_d`4+5)sN`Lg=Sk`>Y(nf_M?>pnKP zyW5oX9T~nmNVDetI`l>9y{^mKDMU>$4M&VxgcZr^M~1GmM&#Bm<({z%d~&nd z5+4%$Zl#pcBAmoCe%!2M>M`kOiL7PmEwV?^SKJ$pL|hYNU$j}@eLPdaL-yX3b9+wI+hWmqXv(4wr0B{rv407g zKt(1$V3$^6F@6lYR6S?}YiV+;N@P;ko`hqgp38WoAs~*-bH<1NkTyxKCo=^3xRl2f zw?`9_o6@G)PG(4>w;naa6#WMw!mQwqCMPy%C~51kAo5&4h2+I^sE1bJWze?9KSOwejBK;JWr_ zy0yYL3f9_wLW>g^L3WZe%#vHx?=Z^LgcF*HI+F2da|Cb7{&Mc`9#Hi%E^^Egk4aM2 zZD9%L(H|Fq;o6l(SoHeL%r#$Ba;_oCW6lu`XWRG58E0c~o0EIq@+l{07`F8#_a;4S z!20SCAmTuU6RBIqS%QzsZz3;_}u2uNJwX4Lh{% zp)Rl0cwo-&zD0!})=XMQiyFfw-tnAJsH~IhzEAWH?Cz~p+-)Vj4j$uB8Rn$kKB^44 zp6bHR@0ASuOaw}}p0M0l?oWUPhL_kou5RF{vHoA<{}lz;p}ANl*7?HVynb@ISyc=h z4R$aeadql&F(P-lm;1SSw%;7dwMzy+x`ng3d44KiG3eMzGR@!V@WBuPC)j?*{lYC) zLvzAyhHh4Kz}%aK14cYLe3A*a`4L2GXL!fp>IcBi^+Vtn7L=xAeuW zd2sGZS$Q{nIXF_tJ0qqqu9rvaao{lTQPkEUO2uyrk;NqY@eI5ajyC3YI8w%#C53}&akL1(yNM9*1B?j zY@TjEuP)hsKer`#psAlM?;CAn-OzrZg&5$LPx4cS(&Vc35PW7=^p3lTRODNHFJOu2 zoI{Dux1v!wDD~9wkYadOR>-Bib|m!k+p8&IDb>l#=PTC;@wN_n46R}p=jT-H^(V%qXKz-3qvXuz$X{TrEG zw>405y1j7vy|5-J4(&2Leg1IW{vbg^y-Ui-3$#a$0Vs$7j&cV=xcWm52r)ejPxy&= z?TeR3tI}u+gqtpIN;a1~=41-RlP+l+Gna7?XF=4Xy1Kq=5o${)h#N*LSdQE_L_sTH zO{uAK%5&klf!ZP@!Ij)BrO}bxA|`U8z-8Kke)W{_H9_jOCAB_IYK!`xUEmHuIFWW$ zJ_@!g+yd6NX5RNkhO$voovH1>0VNdcpzG+DK%2 zfqx`pitI0tJK4x>5BIKr@vhV~UFJ^dQnhraEOa9^m&?5p=XVPShzZ6|wRYaN;e9Sk ze6G>|lM(-q(geoGeBO98iBv0w^NFQeLS~|J_hP4M=4QYf<3HGCqwanERP*Z-^ye`5#0DLuQkmMw8n>3|$0g1UGQ&h{lhIu#AFQHC;11oF z+6l_Q+p47`3wZ;%fjM>Mjj|P$6GJ2O_^aG8Z&Xj<^Ca&w&)S3(tJNSyggtWXn&m~T z5b7}3<6!PBFrPr1vBD~Qso5w*g@NRQl8=Ghy#&v@lsluGOI_p=i#cC5?^7%yww5n7 z)9R`n1zYpiRcTP8CI!WLa~85wC3BVvSP@GYa=4v`n71c3nrN~oBD7RpK8o2sEDSY> z_KVHkY$a_e{w$}P!_PA@liF#vu$&K9$cp&_FVar<#il`#=z$-%nn@yY<$3mRnDCjo zW{!;t)xny-Juy68T?)?a6E{@tM>Ye65^E$#qu?Oc@59m`7N$G%N`k>gndwh93pke{ zu7Te0!+bE)t9>h@TRqx-4PM}IfE=!<+%N#xqEck6*O`;f+ho7q+cgs&hsfPjfH<)U z89T@6PEeLM3U)An6jAJS_3h0TgCW%lRi4_xzW#OiP`~J~sL%ko-ridjBdG!FOnRr|`=5K{EQ;-)|U$-`4Y4$argF3sR0YVJN7z zq@-D8Ww*seO*1p6h57TM0wxJL+i?Fr8&T0*hCgkSlb2}FkspnHhTs#d{hv)4E*4*b4JAdi~+}0N$a_*vNW;|4b z5k=h$3*&=CF^&7o3ce=(fT8DNbSN-Sv%f^MZ5yhTuV&~2;UmkS7$!)Bk!4yfq9{qH zS(J+`NH>_YpM4usr~Ms`B{#8AO*c-Fn`GSx{FImf@jE9(m-`)PKi0(td+#H&@IIBr z&3KtO``DBYhSRgMUSR6ICoHIS@6Y@|-Gf1Vvn6GeuCZ4(&VyD|?oTY~y63XYtW!=n zgE|9&Tmb7q^@ijH09e7?Q$eu8K5Yyh;}$iq62=3c!=95Pc!_-l-vqv6g79@Z zVDf!?i7wM4uGG9XCHq(_Ia#j^!F9mal{{x#@@;(h>w^HYvzMNshvpD3Z7YZ+a~`K9 zaNCS_Ad^2gI^J_2>v3FED!Eq^zyO>8=fVU)`?mqMVw9o*(7}?CMNC)7sMU0Zblr)H z*>){WaNTsCbj6ar9VSBZeptlXcCV%E1Rpc`;nxWGyjNxNeV<;|^l%>Wl|;|@K0D3v z6;TBflv3%zfqFyh!z@D}7zY6$6M!{S^0)T^jehQ21G4fXuBHGK`7cPghZ^`4P)sW? z;U)w8s%?r8K>BK71l%YrAR2tR*{fq}8&D+L<&&a{budMz>uqr0#*f+`+@N@Kb=QLq z)C24yNbFILm}L$yhcQ{u0l0&viAX|cToa8^p+IaPg5QOSW(EzukiuIO%K+0Sx!N}O z?U2!yHQ3o(cK2}i4`?C5m_6SS+0-J1)rskCP=munb-2Ydu$7_xU*|}jho^o#0Y1|b zur2R|>Lkpwh8}1b@@~&Yw!GB18L@ot8bJOdd4-7B+6zAai9L-W1nA(F#2zG#>OAsQvEI zT1P7hs5EbhDg;Zd@}X6O`)v21UHmbu5F^hbjM_zLo2fF=sfSDOJQFbh>|L}zfz%+%I6NI(_DGBKS>}rwxqB^+%x3Z+t^w|L5?NJE?wE;)t-~p%xe=~^tVEp)e zR4_0lgHWsh=EOEKyR77lI<-)}p>80*-YlR&Pk^FW**CYE58GvQexPmJ{eOCjf9JvZ1ODD~#?8)FDD`L3VItPT z$DLLbgoSg^(^X3f_Ge4C%SZzdVQwpph!Q5s6c#xr#Meows^*UWsiy8bym|n>9mI!d zXwZ^{-u;*P`m`mVa3@21O%q*SOutPTnA`E&`~t|@4wWlE!dO8OlFzTiJ3(y_=6vZ#Y#|^?NsT6Q`J{vn`bc^v`x{-op;AzJ#QozT$~}9 zN+?t$osKn{P?T!5hBY34P^sN!qk^}h*$`}>(O{|Cq~DQ}tNJ$tu zBwqrsN{A2I4B3k{kKGDn)x$ok;^xdU zrDt2-T`v#zO&@@1!6KH&ayf3a_(b)E0+nc(2u9$YGp4G+a15 zi)oB7q39L}>^Ku)K$I!J11~U;Nj6AmLZDs_2L+{k5&r$cZx90~Gki;0BJmg;C#xr& zP8=mJXm5ilJhOw*s8(3;9sx6*1u6nt0#y?zu2Eku!AA*XEN(5m2Y3I+_;8%jweIuk zvX|WG`SvS4%eyjS;vw=xWCqtIH@(Gv+KY`W0ra-Y4tEljXXs8a90?7jp;*=CxEwJ7 z5#)DQkQl&Hw4QAF+U&RO%=&oneaZ>jih-65i!x)i(cJLCbOOD^OUAUIZa#gj(UiZz zWW6NVJF3ybxKxHq2RFC+hPy_q#c|Crsx7@MbII#y=6v|#1;$HbqHlQI?f60mECgom zWf)rx7TaYj3~@zqcQVd4J6xe)G78giuGL-*0#auh@b znkv%?8$6A=9T|GGz4P(B=uW-yaGQbjMS2Ccqvi5ugUyyVHmmx2<5)kJ7OSA5QJPkQNeN?o;G+Lu>UNaV^R|KF}=?+KS#~k zeqx#?+#)jC3{S$FOkp(~B$jPv6I+w<-C#`70|o4@7)tpd7lVDe|BLGZ$qMw#vde!>SKK&5V76!MGH%?NFn~tD&WaXV_GIqO z)A2n8dK!{F(YrD+8#^&tW8+nT$#~bZ1LGBB6Wl1$A_N$84dMg0g-gn4+-@3-$<%8& zO$Ui~9dB~R%K^_#FflIl!Sl}jO}2_GXH*ist8IjR&QR|O+5dfTI|Uen6K((g+uLK? z4lyQLT@z_{P|UCe>I3N>gam$i#^7+iR=nyslRvLi$^+1aA)9@_o^*Q*I~5wM*zNWA z^-k%yD7E(UjT)VRKZD<&3Is9$nMS<`fp9(;YN&?6$@4YZ6){XE7Qz`uq88lk0jk1yLp)H-UYa!etfcWQ9S9+yJI+yDs?_d4fJO{Z=W9#R2 zC-RFj$7h>^##5)#Qu54zE`y|bxm_-dNW>zAYE+?cxaMy&OfscXi8hC%DnzwdGN56Y zFZCb4a*XElCQ3Ef;VKtG4d=AR_h4lfy9Tx#D|s32^QrupycB&Z3m!Ui&-KV+q0r&; zsOP04r3+nf(Wl$0mmG`+-Mf~T?7a8474U#`Glo{ku5JNj*tfNvpig8hJbMQVqgW_F zf2D1Yi&lk#X>6wBM*9Oi1f+mvkl2qyyNAWaYUzdIrnEoA6O|fO$CH24*=nlL+~(1L zGYC?EU}o;E-WJCALKUjc>J4NxE3g@I)>iy&=BYG5GxPxsb1Ofe+CHn~W3D?#Z+qY|xjyGrdfJ^n8<)O7!*e_G z{{X(AkN^Gj)s#x{vHaAqAddT0^l<)JMqdSpM%xrGVPQ9_oS3%PNZBx7ESE_2 z_{_i{oIWhKo&*JnN~@n(4}kg0WD<2fENS_E*1YK%h1?2aLA)7w0_Ce)5sOXhdinS2Ffx*pmoNPH?;Q~q76x|< z8V1HZEltr}Dl0`- zSCeWRuvJRsDZxWkB2et@9Wq$*0qukp>@kjkVD)p=xfx^_=8^X^&84&R6Q!zop*{nT8BO1(-&le4XWTMw@Z6Oj?N1~jk zps6%g_%|7jcGZRPr<-J15(p=&=Ju9kDEvXD(@l}DSR$@I$~ws8K(^3AAb|v*Y;8iQ zP~1P0`FF=d%GQWXs2+ZUkqfHcNFmLNdO6#ggC!@@+u=x)UJlP*SQz_og1n61UlnWj z;S9*1JwJ{RDI7hLGF+IUtjL2gJ?JpSUyx9tOqeP;PBR)48@i;<=noOVt$^wAJ9m1j zUmW%@5#e=`WR$xd9rPY$(R6)h()>nq%K?V=ikM|KACMn3K^Vd4kUsrdKU%#cFN*OH zgF22WF$8;p5qkLUkU=mKWPtKGVItx9Q3MJUNl}7Qk)Ub?swFdpW))I4oJx(Fq=Fgq z)DXidSYQK32CL!i2( z(zGKISosV(jVneS8V~6#`v&Pu>^h1HGQHUGd=X-D+2yt zUyew!DS(shaKXTxYXX&s)m5(fXL~^U1!l!+He2(s&X`ZmtlZmm2R3g9(L9>ll2bSO ziYgl)R5ExNW6QLaQQP2M4D@%ICaFz*^*lr5sy|iTW~&;t!lUZz3s}p_`%U-ShTP>@ zTBK{Se?4}f%H8*~>F^Z~`EW2Cp+vUq^&}T~I!ht?Zl@Gd z&Pl48Z!ayvncKh`qsBNyc2$k!Zl~8UwH13tKp^}X5|V=kC%(!_f-PJof%L;f(Im4e zTQVDZzL0}nr#)@#aS^xP#sxPC*YK{s zm_oB4vRr#PQBH;^5-sgkswIK3wBjxgz#G#k%-r0YzP<;?W&Gp_0K&A5d*Tnf4}gSYS-XGeNhc0R%w0D&zrfjAWUNjZd-h#EsaTF`g+4YQ3zo|>**6Rd77R#5xjxjJn z85%%%K9$Uw=#`TphJYYWOxQ^|1SUdUTsdy;QY~-R{)ozL|G=|a5|w_boM#~~zTxkH z5hTPVi$zib$Aedu`jPckd*hLq6$`c^p9%VFbYgFBDXew^jXwGUR>=%q%KoBu!nxz+ zzOK;I31~+#2qwip zd9Cownq!WF_BIhAq{NxwVZg}IEX=6$E?HU~WD#rQVRy$RiciWA?NKK~C5#1AB;`>h zD>q>cs}oNRf^09s%xyv$Wm=25_5x~C_$+I1OmooBfTE+cpC%Zj>ZlxNSf*^2d72tO zeN|9Byh!wgx3wQeZSH$N_Zs`4Y@`$-wPdB%*iY|XsX0`iQG3W zYt@WAHI()UESGW)m|(SgeIKddhwgt~Cpyk)@gSxyr(Rh`zkb&bK;maRkv03ECs?Eh z7o`C}%e{^gDN@yqj_^@HSumS_M-7R0^%@kr!A5@hhZ6sDArgs986F6n88OurEVL<> zR4TUMbbHE*8TS06GM{Fge#;pfPPU(El%SF*^E{2hWR+=NOxrN|{9BrkgFe)GNUA{Z zna*6}&Xmh=(*38Nt?ObzLshPB(?R4RN0!**#|Mqr%Lm?Dg6p!@6}N4~A^~|io%7`6 zVp02bTln+#qowFj*Kcn>*4z;Q%Jdt&Q^iQ+A$!?8Khc^ez{BY>ez6Su93jC2ikMIy z5LGQwb$2lMO&dU{DdAJdp#!X;DM72>Xu+m)uZ`<=1Qm0>^N#p81skiFI_{W|JNiW4 zRVJq7`L*Yk(%fp*(NnZCehbr{MM;=lbjGU8rHyCQ2@ghqx{Zgi%uvdniN>mTUnAn_Ii5$Be)|6O zn|RQCUs4hs+|67Q=CdrN63!?{7z^IySHkwMGIriJ5bZM&f;(d+ z@LUp-v1EwX{wN$dYE6=L63HawbK)>M(E(|eNlgcH%(_jgS^d1yA#&3mok zevXGig@oI~_D2K+&yD+Xw}B5_q9Wxax#J5*CnFXU*DTlI%6I zFR{Ce6L;c;qA)+?xig>O*b6zf_!M6v;~BLP*G- z=E5k% zxe&)_M!cjLUn3FaFfpojPVW{;l9i%l!eqlH? zBdVEmMt|1?cYU}nm5afc{$EU1`Q`Z8v2hg)dy~*|O=?tHRW~mI@mE+7zVzsrM}9oxq^hvP=*xRL>0HAB6tA0uZ*-S^PR4onSn93;RJjyr9-3!G*~u6);8yBqOlS zak0n1iXgMa5#8(<#mjKbO4!A%BE||HTX%n!x{`O9J`12i38n6I{dt4i+DdiOM{8kW zHm}bCef)VhHYq!+wM|n-ix+aRq5{0q9nM$Gno=xB)qNpd*F{W+bDyV4$;A~Q?r>+5 zYwuB-_%`m4D$$Y!m6n=`rd6V7Fe*9voGye$+oNg3MZD_i79;IgJtt_gbaZBStQAaK zAZB->Ygo>sqG0J;`x{3(qpIw@j+Ra~`)c1kmxWPiQH%w3=>~``Zj6`cMkr|cR)@3N z!xs}rw@(1fJC0r7vn+mnQ5XA%;iwA;YI~W6qPZKK!m>4Y=LHZbdjbQ5xb`rK9jckn z7RX3nG~hlfng8Fsn;3gAh#|x%u6a_4gw_&WylTH;;LyFbEQ6_8HAUHp6u5HP?6y|2;(LIF7Cl@(_r&u)L>bq4ydaj&CKV0p*-OJFhAsA&%b zzeEgLd}4Z`Kjo;YQ(6nKRrL1K7x#@0r+pIV;^bZOt`0Tr#S{5*I$%tikr<({5`>mm z3OtRghm2kR?m_qS>Mjf-MByt^o{Dn5iRjq?9q6&}8f zYjHzF8K-}G^DkBm8>7QK_ADc!XVGl+0U?6YM>!X&WlJiQ|32gw1MH^w1FQ{e5&e_~ z2rSRyc-O@&az$Vs^#Q<9{{7DeFNe_5s7gi<*{cWSXEA_Ku$b8_Y`QDnY9{uI5iFPZOa=tk@566IYmx~4lut}?xsF?M`JA)}gx zIjtoR-ghkibdFow%U*0=699v}QNYM{%l*_PMsIig)Dn%@f~yQlD%3%08kZ4&V|7QM zIF}WZBeaHurRPo%Vac<;E3BezT!M}xy*peMfEWB}*V1w+0cPM9y1gg z-%Uod+?2EQHKB;BwOBn9I0B=m#8+DM1L-LU+s*{;Y5-qwvvoh4@T$JP{|+nQsEmd2 zRsD~}!JrD6O?nt}M+U96T<@%R{a!}~ztlqn?aoxh`Zp`%9gUD=rsD*l*a2X*p!Ift ziRverHMRooE2OKm^-y7Y%DuZglz>6oEsPYo& zBg=eJv~yaD%~Hj8{vpfK;%ov(C@8)asCN2|F!q-~`V0;Lo5a!}j?4S(=i`apwNE=> zJhe&{3Wb`gQAtA8%+upTqf&0Aj+0Ac7I=A?AxHyj#+b7W)~NuoCk&78=hyq^&@rik zP*18mT;R=n5S>BABJ&Z49@nJ!-%?mc04V?f1IetG59|9vdCeT$I1Zm`#iHA#;CW1WN6QLHnOC>f(e#H!b+EiC# zMI+HZBVk5SDGsYs+*djg43+nyh3{K*5R0)KNt1**3T%1OKzBHyh(`%`%|)ZS*2yzY z^Q-Glw~>Q?-K_YH5%4l_I#R72;h0?kc+6s3Py}KU=!PduKj03Bh0tWsaL7$HrsqOU zALu*T=Rl$`s}o2mma_n0z&>aZK+=h`_R#~qifMoiFYb>f0eI6-Iw~Mw)QY21*gu`) zurE5pF~^TtF$72&AQP1WO2Rz(IpaNd3U+6`KhQm^iu2#38J;xhm}%#4nmE`@KGkT9MFd$U}PZ7KqEO+z=c0VyT&|33xjD{5 z5I6;W5cWD(okr5tc8+oi+$YuEYK6L#s6pqixh%beP4^zNW!TVdc^w>VTdt#}l->6e5K@LmuvRq)VU$|tGk|)&M zr)3rnbFBL{N>AOhfc^X8PkkGnRZ9Soe16i+TaL|4Kw~a@XR(`>+;sdktl#TS~)mj9dd;T8biA5?uc*W<(lvPvMwqcugA4OlzBm`9Z4Q?DO zq^iF}ym{(FOJ$$kMR4dSOIt!Z8B#FG!s1W3`J)iY4{WzPD!-KkGbNG{JMy}s&&^%s)x0RiK5(F7>e3Qb z*_gsETx859Gz{B;O&?vTt>SFYxbgl`87lBoBJCXaI5%rA1u!}kMq{Xpw#(XBx%XB~p#?j^ zh|){}F-+AnR%cutdW-WS;Y@FVLsd#OkISHHs?K0g1VY}(s0L_+ z-bp1DB@_QEv|pBeQdKT2-yNKNx1@>lnhF9P&^$_ljKICw4%QoR`SMYr^O+F;u6v#7 z_xS}0R#q|_GIy}6+c)j4y;8lMtB&|o)8l`dBnk`Ne?l}qMa@H<1zzv)a8VIv4tzUM zp$F9qR5(z`9o^QcPS)wG?YbEKTQn?ZuZ+u(y$%BlVj4~=-MY<6cvEgJF$HQ$->7hA z2n6gdhbxd2k|_z=Y_N+8FyO*~kn(cUv9B1>!Z8qDSMrHwMs~h0mhd@n6m)s}`qal>YMlq89ncPk}xtWvtm6fZ7 z)1~E|q}#pLKhNeL|KMP$c~&i1e8>8+1~BNWhdL+jK#X}=o3`;ldDc8xIJ>P%W-$7% ztkpv{ur=#*FHsunaAxPdVl#|D--vxF_~&QHINkQ{N<6?ug$A5TwBQUxfY?r_&xqVh zR9(EDmxgBd9^_yvgT>U{kja69+XJAIXXN-Qp7`|I%kZ|N*{b0=$_9=e5wuD@+%9On zfiq%tbJ{93*Fv=2)&o^km5|eaOu`_n5nv2Gh{#nMRD}nA?>SkbbdS)*B8TQrQ-WL@ zp&BQC6`j)Zzes60B=^4w&E&#GYGL2%?6+tD-{)3;`bwm+U&9xa`rI z@ZfXulM{X(&y{e+bzV&qA>ZNn(z1+_@tFR3BcOnxU!oinK7D z@9s`9?yI!#wKtd1Sj}ht@kg)q_FgvW_Qh9VvwL1NiX9F}ROr-|41Vz>j8g4f*Odsk z?lYlyq}XQUGc;IutYQr{pr>+Z)W|C4@RUtPKEsbBmwaodu94UqF)c-7M+#2JDhmvh ztL@{}`DHcW0ga5y>Z^$?dgk7&ci`;HpmM0y_0G)k-W769?Rw)3%9x!>d6ve6ok^Vh zUD14PbT7Z%Ej2W4JP;&4*nhG>=QwLQfoeG1sCjiBtO{ag;ubXabSr`)#0BWHSlcrk zzAm-N>Yn*YH84+}G~U9;M*rlCw(afyD#m*VM}^kpksxOcX;Uen-6|~eL!qvnwOF0O z0L7=_)^Cp+^p6xYS5aG0^WzLwJA=1~@1B!K3i5X*(jK&QABa)w6kZRTqXLH(gc=TH zWcsd4B)G1nb1Uzw4#iNtbrziJo_(#;HSwG8+Y@4)>)igIC8-PZ6W#qIm=y@rF zDFwlTN9N*as;w(%Y5q$L8xG4PQUqkRo!H$?ciSlRYPhI%+dfxo=am)ZJ5%jq%4K5~ zsm_^`IIMR$Iy0ZMv&Fq#9lsGM9x?3n_Kvb|#+%CqOxt&!bZwALb0KK&4Vvvooa+e& zf7kAmW%twB7Y(_^AT4ImEqt=JS!4L;nq^ogd7$lz(KQNOy*Mg9h56YWxFHaw(|1m2WL2b+s~0^HkR(`fuzJlv8D&+}F@A zGpPPg;Lxc2fAD-V>7}E(uJH=VrTRfxCOJkJ#B<*lC#8T;GHpe|4f-uS??7Z-2{{mp zTT9n;{h!C>g~uq+lZ1a^M_efWN5ks?Wt&KKB-`_RdbQ?N?;$sMw zB`NZ&F|eAERT$Cy!;SFQXx&^kw-PMjg@i4ln3KN;TwYUbHfLC1G9*LgkI7V_bN0qR zqjLxb`OuW>*7+ATA+{VWil(FbC6V&VYH~j?zZNquaE`LskjhmoJw=|N z8ckP3wP8j5yKXS-SG50w(K_y#!lqD@Uo%e_VO*~wZ9dOAyE z;{qU%I;W=U$Qu?C09w*fHeYK%KzTt`SIW$PuixT7vDeL;ohNzq^9G$iYH4`xkQhRg z7eL*vyjqVuQy2qPE(HSq*9ujIs)Wlx!T6;}HB4C_;sK-J>aPKLKQG4tY^jX{*8k$%g3aP?;%sJaM08@9a4{i_3wfcYv}WpuS{2a_RBl&YLMhFDQ%+m zc6B?|+wDd2L)V%fZd!X%Q}SuCpewq{)Yi3P&t>0DRb2-`87`gv8maaXkf^6ogMu2D zw_^;TRY<_0Z+qEwZUu;0NosB_R5s4PIK8e;EkOnxAJuXSVINPTzYK|s;e zRbBBnx|>zPysTS5n>!CjEE<_*ZrC%od%VeGnNI^peL={FZ|G2xzalA)lUk93Zy3vt zT-DeEoVPN$ZrlJqS{yoI6Gx{zW>86$kEWzTjS6{}kte)E$aaoWD$I*mgJLmEL}83P zbR?qD5QsL(D-g*+qi?BSGhxxg7Oel%4z?lDjz|X&4LZb7`a9YnY52#(hm`yC8MrCE za5IlG>TYSYSsUhS{bUD}9p5XRt$Uzd%*>};O1z)talK03i>aJeZK&#{JCtLC= zePg@Fx>Z|GxG0VLs?>$wtDbQATv--hs;IoThG7Y#$AXR+2;y));I_r^vfk13KMFE! zA3Q+!Nc()Rj1=GT^HG!+#ix_>h^U=A*D2BSqQK_N`ZO2hlDwsqPyTESWs9d#l0Al; zqhU-M(=HlfGX&txx)8o?XEqp+RkEH5VlQU-Jni6YcF26T!Oxz2SOX7(^}yF( z!}R;v6Ilw~TLV*mT6s9kp2cSwNZZ~q&t}}uqq$a7{dJdK53V?;q8P4jq_?2kQU+Rb z>aR#LsCeR`-hR$I^N@&5J+=4r;_zyctw`YKFw{?4*EG!AeDtd&)8U>>`g4RwLkhyk zIhea3C<;^N+o&vNV<(%|q^2zxrtO$O1|S`#{}d6VLHjfJoi;xV{_YD zoYyn`-mBzpUWH!gV$K{FiW8nQqkHEC%?pvm>FQ*hFG!x@3rowq2Fe)@9y42`O0{7HJ_39IlWoR0r`N!{ep83 z4NroCT7jn*$dreD&QvDzOWMQmLtt&R9;JB&=LeIMqaOk6;;k&#-n%38B68QOS zT4QyC@4uh)V5ob2Hyr4GFGVj-z)9gVc^Xg2yo(-gf_)H8Z21h2<1x%LY=L8X!M9G? z!TTmpPjwm%4Rc&p#Gik2;h~9s(6hsV>ks2zAE;Y1j@a|}zKOkzZ=5pC6sy;~nZyvX>gW zwdvvxCoW#!Ft&X>T?cqW*>X19EFvgD3F^=KY045%C={n4f*QD z4J7>6N$QC8GG;NH!CUoQ^FNv6=SwUfqO#g7X95@5A2Vzi!xt{_KlT17dJ@6lyS$oq z_({ZlmW*mOxy9CpqddTjfHqcOY%MGReXaffQO-9_7~PAdG&)V5FRI$Y&GKcpBu8&C zQ6%y>x>+rm?+1!M>5x=pn4Sespn3FWbVF4bqXNsY@O>|@O>zxlj*bU)FuSk zUss{Jj8S%S!w`wD{O2bxewF?YT}ElI!9O3T%rAt<>-)yfHeNZuIse2>BjyOS|N3zCzyW|>rS#G^SwGkE7^We1k< z;2bVPa|g~mDUxcC-3|crvXA``K7*8xV6*Kxqcy@9YJFgqF4f!u2kLq=KGcfUKJD?& zHl=AN@hqcA%7%`YSWu9w@N6uXEdAsPswl^jHW#rM$iKd)By-tR2qG+I+47<(-$j#k}DLFLFdDV zfg(+)nJXTL5fC5*5e9D(z9hb9>suPvBmS*~n_qT)QCY%09hlSP{U%8XR32|bEJuDo zFRb{`(<^KmfifI+Vf2RW5tr^QEXq$w#ptJtqOr7`axe8BplV`oG3Iu2KyVa*#K-Ch z8wC7#k`qLL>MZj4Qf$(@kkIgoKa#>K`DfiEj|oqhmJn{}-G{q%K!MqHXq}o*hcFru z_wFW);1oSjdCoT2>?r3aZg=>ja(p6rg{O~Jao)!>;>a%(Ce@8Zcc^xvMbg0#iS@`3 z6sdmv`5kt71sH8K6QBi36dk<_Cjn4247l>+{UV9f63KJ0VX+&uK@j||j(klc@D9qD z=@$SAQL@0fV+N%!CUhBbH+>qBi_K{^;?q$_89$W;KyKxWp;xTjE0S{3w*9ft4Hc`$ z0mHcMCrH1gsC#sJ3@swoyYVg0;Qg}gc}HJpMEPhP*5Ot2W~B@k_sP01`#bs|yL5OS zDb*)vh;N?i!{9ZIt(bDMPOSAnKiqGh+2M9ox7k~R2F^O19+~n);#H3J)|JSfbAvUh zpjyr$&OOh9nJZ`N?GwfbJeX7HvAzwL;tP+h;q?|oB){~Xa|f~c9Qb>%R|}dYj)~F5 z_~^?$6idCog}>?hj%vY@iI<@nHm3%h>7jUi>wZb1`yLLYaHwOhrPM)YpjF2u740`$1UjRH3RQ6 z_IY0TI5VwXgyyzVEEjbpt7kzq^92~^l|s)hY_RE&=MXvUxCG5+WQF&=!EhUL@boZ|pF4B* zG}rnLAp_@Hch+QZ8uE6nx3al@JaF!MJB$yIWj5DI78z=20n4CGo;k5lLVk{pD59Q- zckyzT%TFAnz?l{#+RGf5uu7YN`Sio`+ zg*-SdRTUG*B59L7&SZhr%e=&?t^a&|uU)0+s2zqL1xP z(6*@ZmuXEqj7)ofl7pd`C6;8X13yd2eoxMB<4jw7bnc+rj-AQPbksb1fA&nX`QY4A z-nUFJH{dP;Z z4|LJQR!#eK9nj3GTxmN9ydBsz>?`08YB~Ct7U2G}he0yUjw$fttGv0vU|ecbVyWhn;yU}{;5`ckf7A3TV1am8nT;RR+@&pRz?MJ= zaXQwx1@kE%$gj3QA81ZrdQ^&w%dBj$1ZvzRHZ9Rv;y@Lj&e`Fv3+akzb0OQZNnO>xzuubta8(5G7fGlO+*>HQ8%W1OexPit|d%(l#7fAcM zpDGI7ie>J%1gfrK4DByvVwFYnpxkP@{Fc=K=vdvhmQ(t)X`O1&c6B)Z-d~0^U&`>O z=8h1ZP80QmIQLVf=R*m$22iYOxu7dh2NqxWKv$Hh**$q#m;Rei7~D(3Q1yrx;UXiCLZwF@z>IB>yA)t9z3w zS~;ok+4$A_Ovh0OK~hk|*jcf!eF~OkDaqZmr3DS2A)CTi+^BGvFI%?n4T3XB4QY#BXKwMf|ZLe(DjB z7Vxu`B}t9fY>Qn4!(h3O1BbK)7MNsnk2I=EoE^Hs>+yr{RQKo}MYZ0o1G9EOdGzeg zoa58GLw!YWHK#%djI0TYssn4UUv$|+u{wOPVBA{_Iacr_*mo|)UP@OF5!CT$bQQ5G zOO41$dI4;fl+>bMizz)ApBGMpgklAtGx#_m@M>`6QdK5|%+??>-MW}KmxyOB?cmd& zsBMy$hicWJrgbTBcH&M;E$C|J4Q-0`cqj7`sYOeoEiM=jnX|bx^syLj$5f26O_*4Wfa z9o$SL1Giw;82%gGw1F5nA?UY;xCT7P>JPh-Tb(Xe*Xt~>C}t9n7TX{tzhO88gWXz(btpH(L1AK~&4(o3+uBV2b^5j8~%bK`=u zhq{XT9<2#*m!DK->&Qo||?;j@v_!@r7ZkH0>li+Wj?9U9cmnlWAbxZ4b4dgVZ+khV!o zzoQgm)S6_NJ`fPTkr$gs@K)z(4*N!B9|a6%O8;VyFjJ zi%u`{`#U{qcswAPjaA+nC0P)$R8Xu+&!&pGM*+ZW&HQ%FD4tZ^l|AV(gl~Y+x6j~Tb9d@7`RH6H+?eKAMGaYT+G?{~8`}>~TwemQ$L5w5 z(<2C8DA~^G(gL3s)RA$xIP!*a=J2F$&}RYkbykCVG{FaovyVNibPscT$0)HGr_UiL zCh2mNEJXFgznJPMYvai*L?E<;6(!%NK~SnRtdn-$+byH-*L7_epP_S}9_7=DH8kKv z8lAVUpZ7Z9*jT_H$RS2C0ycR#hHv_FLxvybWI{vkQ|DWLyKOp&^?t5K0e+l3G}JBG zm9iz17(;#egKGUzzb3Zs)0$rEVbVFe6}1wtbkhN!r2hYYO!JH@81oBQ>1f7A(UXaK z;ixHAQXRl!IXUg|DR0NKsGm=FyWIX^^6&^o|7?^0G#;CgY?#f2(oMHPI9%x)C8zB` z%#7VSvudL>J?4G~J5%TOwS_$}9FFn*(Fdz$m2cI$-@7{hF(lyUJB6oV{g3{5ql;UA z`X`%s5)L{)`awW@ypy6fhXy+x$EUvgeV!OW-90TSiVV38S_Tpm=Qstc=|U%UzW1Hr z?6K;%_-@BDU*`>+EX3b$jbpx$@Vg5AADc~#IkH??TX72Xz8=EMf*Y@s1@ zXfy`gPQ^4BvT>$N;N}B`cwqx|y{xKA=~9<^RS%QUTc@>HGrR1X-I|GfWZ=$9e`zcY z1<7ELy<$``nBlhA3;2 z6CF_K*4(!9*;g)@rHh)XB`(6CRj=u(3NC3*+2mvt6L||5gzh8U>7K*~p1P;t&mlw3 zk7P+ljb~B(Qn1o|!7;%niel|!JeR%TvH9|jLrCrlxqxebIX@h81Nw5bHdzZ-)KZo@ z?5J4l#Um?4K)!AHk7gQm?C07hF)!tzriOv2M^Fr)$OxB!9^KSjB!E=t!l6P9y&?!D zhURM>i;L#4wegh+v*ZuM_LE~7d#|gptX6Om4!Jb5U#>S8fz^y#ot9%~F7ug`(|`9>W+NWRH&0Gjb3NH|a$-@1|^IHp~= z7;j34dsvAOXAT9rfYOFKAjcnxL+%4v!vxXC3ceSU`&r;~Cy?A-ruFdw4^wB`Cj6_j z7^R*PR26LupfmFSUM3?!sNe)+T~?G+X~w#1Q!ioh zl1>+!ZJETg)d3T;6;W4&EA{S&zErwN$$L)lU$1jS*0Ir+V?$1rV2`#GgDs{vO#s^I z1Xd6%P_A71ul#iXS=1v2exk>T)PmdlYL?Af-DL9#hLulLjk{_(P{2sy?hi+5Hk^>7 zLTrlo6?S^DpQrAbTSHjb4KoF}x`;)310j74=~Y%)??Kje{+L{WTge;35%gcXh(`ye zu7-B&ZA+?qZd^5W=Rjn?^x?3X9p5pU-1@WBe|4Fde!KST-M(A9(w+?&8F)GTNF_zQ zzUktkqhk#PMs2bMo{<-LbFN9FvUPDLCrbK;M1%E6-kR8E8`$cf&x1LbV>em!g~u$v zQ6}_~FVU9K2|1PC#O{64`jrj9#-Ipl!?~Y6_O;=n2C=+%ZqzQNf=Ye!Md$R= z^f7VGh2FeVg~@RIUxYWA8-TrcKC&7=0C#Fk!|9H3vP++N#-s+L3%$nF)4TW!m~-`q z3sxWs>GyS>`mGW{ba5)p-O|Yv>xFxh1C#Ud5$8wk**&I^H0Hnc4V7XIuQk?%`jOl7 z`?48#VOIcT!V5R!rz~}7S_X5$FglV>)jaG&`|$&#$)*Kq(pQ!?!@mkPZix~vJ|1xU z*M4Key}}tgz#lU{4vne~4nPTI<|RgEBQufQ8ydLt1HQ~>HC?!q8Je!e9h}Xhgj|%H zqi207nGrxH1`ZV25Z#|4d@*%*5*#|=MhX10Zp6%GZCc+{4D8c+s(i8a6wv~cO>vWj zp25Yd5i@CBd#3CVTPd@61;YBcixF&JHw`&x zr-XW?EwM!%owUn4?j1#J-Iys@6dVB>+R}jl#o4U@BzRoc|GtC#=#k^fUvfm9XJyF7 z?*a(Yg-^%Y@h__-T=M$wVfis6?#A;`wjP7-8{`V;Tr?{P|Z1+6=qZ-1bC)4T9 z{2nL{DI_wlH#%tdey`jxbabv$Ch_|lu?~LmfVnbw?K`1=ESq#cg1gF;m;xeEotwPj z_tQR4Ze@Bek$g(enaNS5;c3Q@F~S$V7oQc#(WG+B`dw1og+pj7 zKOa$r?)Pmm-TS>V!=0nET?!*; zRk48iGFaWFbAzrbXb)v3KLqiefRZ186o6+GhR#2DyIE+RboA!S1tAbP@PlUUW;2sF(!QtT_Y0~MT z0QQKS{GKfENg!%FvP@*jVEmH(Z#$KSp;za+WKzF9g_eWiaYGhl^cjut*Mh$r%u{{6 zQ(|q#b1oy397XABa{zw0&@^8?GK)VcS_g~l*W~A@E)$ujc~3DRiR`d9z7aQ zUWqCyitMf`s4+mF>bO;{W|bVw=Bkn9E2x}B==89p>bV_@uU|uo>1kVFl*=c1?r%{) zVh&!a+<&N-y^2Dn#%YVn)1EqbpYU>o^n{=!d-G7Jin<1M5P#aYo0nup>~rmNGQ;;p z5o@8%y34*ZZRghhFRVT6(QP$C_DQe^4Y>7-B`mNf0CjQp?W+L7KFh zU~kTRx@QW9idAjd`KOn@JC0BhIz7nvOvkP6hFwsSI=O41Y{O3w+{`S*c^TkdG3R-P z2wTIe80DN-?2^l!iIIRntDFD<%=Mu2j1*~9DGgA&KA^{e{DR%Ac%nKo&vWU&=t;pvZC$jIz zEl2WCk1{4oCvG~TtIuY6xfE0KGw(uvXyt@f=;LG=vi<0*m#to`lv+oPEoa`5N*LaF z1uXA+4?O?31#5rkSxt%lH|JDO(s0pFwi1WDf2{wbM9`vC6-~6CVgS%E8X?*Lx(L*J z&NGoxS8OZVljZ93M2D^|6yan@esV~;k|L9xo=wRh=7Xj$8Ij&>;DQ?A4B=n}Zi9}KGfALR&m+>yekzi0iRaHdqbcNSi* z4FY14c@1Z~MNt6?2dT8ot?ZsZTvYw$cSl+pR1%9FZ-JMR4!Pel)4kT6#4$fgB5;BFODMGaj|1LVHgF za_?-9L9if+q)J^hl6SYiu%g&3hC_dEKYMZUlkDE*%$J*EB5Mqm3@#w-o-AjlGKLFwuu{=nq@1McxB!I z@HFosyUu-8Q5|Dwm4uwiDrQxJLuxj~k&W3|(ga5JwyaHr8LTP^F*)VTNk2sEZGz3_ zh1fV11-e&Z05FeIT9xC2qoDqXJ>k=k(`tL-{(PM%DZWaSxS!fCBtkesWf$tl2SLe8 z7_92@SKfwL!>$N=F?#S{616}25lTEU7;yZ2H>N!zX!snXU5^pOdPO>3U9PpZbc&75 zc;0%at#RP*)B8av+ZR?F0l-Dc*RMPh*jTw1m|7DOI1e1TrNCCMBY zZH4s-HM@^>bC*}aCX&+at@!}_1iG>{mmdQ!U>&fm3x?&-u3bl8*3Z9i9d%VdvFuH$ ztbKI=a6%J^n;==bb^-NJ>oO2!e_nI%M!y&~I_JElbv1~({=5`;^+dP|l5nVh4ahHm zPLIP6j{5atD+`Dz6%Hy%&yFm|e`eHrg8WZ2JZpWlQV~a#6t9No`9Ya7TaIf|3_TC0 zH{}|%lVw`oIUU;AQx7Dc)v&Dwghp8*t_^J@*!<=ZV@w!;RU?;`X08Alm;=2Z6fCm}S8t%pfv5j+< zOPyRqR|XW`-<*jUx+)C-Tddw`iD|?L@Zdi{3ZN2n%IY4*Bxb=ZGZs)+1H~T(_iupV zL(NR+KvoK(tCI_zWv0JLO|IH8u=)}K#D|w4KvxX>sKJ$y@@&X6q!GxQimn8^fx5c^ z$SR!8jQPL1Dhe>r?_Gu=hnq7IgE`>T?k*m>uSKeef8e}yC`bc66p6WRogd4m?~M$rku&SM!7r$jELtYoCwC#E}|Mx<#)F0RKi@E*3A8=LK!?b)}QoW|3d-+7c0 zW~pI11jg662Fz~1F!kdqq2>gTe@&WUDbEL9m-AEv-4M4O^`x9$M*HK}u||ZkD}4fV zS#GVUhbx@XY-@1M`+@R!10-uXC(3HPE(S2rNqJ#NN+E^wYC=I$aB;*C&Oo%+CvHo!J}jKwY<} zdSm-Ozv_fN@0VDw?8wM=*hJ~7g)sk3bV(HYDd%b$)-cIR(j2Y0;_L4zm3>gzlwgk3 zV5%vxe<9i#;OXCUR31sUhke(MihD}MT$D9j0^~=0dS^tv{P-_YTj3yzD}%DM-T6vx zYeRncIpJ^$Y}U=!Yp4L@`0z|bdI^U=T~5sWszRnxj&poRP@8t5*-gce~k4P zx$-R;c!XmkH{zYWj?FA$8;38|< z7okyOPUt{;PEc(Aw?@6|0h=t<(1q))!ON?Y6|(MnaoBUc8h})!nkC~N9hmp)yJ~Z- zY{E;sbbm#a*u8n9cf(NS4jc##UT3V5^D}qklDwd{Jfybn1(O=PENNiAYo7i+c5VTR zIT?2hyv?6+ZI=M4=)M2iUrcW7q?99Jzk;Q2`r^NLR$>!DjQET&nEL$%Huc%a+Phk% za^_(F_M8!3mLr?`-m2QSnspou;eS2<35Iq65LSETgeZFYiFJ>XsMXX-)VCE4DUP~G zpY+)T?T4!B*#Eon8(c;2yTFs zYm?I-5Pmi$MZE{`wsT}`-3<@^U$zkopbkihH{H$q<)aYl@%=GPM{;xV{3NkfWbHoJ zK26R@ygd^Vk9wI%kA~RN?fG0(?sT;(S<_h}=GSYcIIgN1cU3>&K&jQE_a!4w`g+AP zKI9oWyb`lIpi?$rmvc5p&1(B9;%F(cH8!`fxmX{7&GjBN6f!OnD&j1ljhk{BEMR@J zWVk;bD5*(L*hS;romIuJoP+&vG42q8LBF zn$58_wjc$VqB~vwB)}!zF}#%dMOEvbi)gjO8w<>A7$|>9?kY3e)~bOEwb~oXGz=7a z{E>t1$gQgG4eZ!_RoBK@mkYZJ=m1ymk*187uYgPYt;fIsm4P-d?*O;i4;Q#fL`~G} zHQfsUFah*7YsD;b;Q2yqq{~wejyka5Ty-K7uSDirhcTeApvut(pD)HnIX``ROH#@y zHgm9uzxay@3k$S4_jbwS0FZKqj+`9ZRKJJV7Nb@47McV7p?ZiMs~S3xf92|F+wHMw zBi;W*R5cq*w2Y_Tzjj~FZFnUBxdjEJyLV*66e~$HQnBCW&WgVH>-PmxgHp zRw@vXlARsr=i}0sA!xX{6BQ4Pk#WgsjNoK!bj37qy;x+XM08vsF|25#OK43xY)9i! zs$^A_>w6iZM2*MtAe-p@5PwDti^W|Ov+i1a6i>Jrqinf4*RTuivXxRZsX_&1;{Va- zd`>n-BbN+g(0y$Yk*?+2tM-(xZNw}>Y(P@zASG_nY>XlUkPH`(_IT@{+&QcJM_8;1{={h*^;Lrn(JsrPYpM^;zX{!E?=tI5bLfIaY?-9 ztS9s6>z``yA+eIcMWzma%~U9S`ug@wJ_J@GxY%@=qTz$Bu@nNl{0$;{X~q$_tLQP^ zfzLZSok&1ebaxOZI&T~8>kF|DF&qF0KmaaA0gCAf5^772>Rg3PmK99{`549jmqBO; zU~hviQ#9AJQ^BZ8N;HG~!9E7k^qn--$Fe${wmw$A#*&|wwB<7-6z`EwW8dL@HooP6 zU~)iTq=Mcf>$|tVu8RFTnZCi}#}b~k@j&gz{nkOrYkkPFrMccma!PzN!;$f@IgXl@ zklzk~1L{Xv4BPQA(|17-KNB|?UWIg8=tiB|ki;suxup2VFU?>~c`ik$#{>lW@R)F{ zQCadB@A^)d+Bq4Sac<|JzalTUS)K1hS1kx{&UY$1XjZ=so$lFak%X@O7Z_+Vf94gxdA%lS*FJ-vr{GJOZK{9uT*Pka3+rH0-T(bbFY~6FM+>?A z@w2%U+@Ykzzn*{X?CNDq!0R?@gxRUdG8q4ic9N~LkW%2dqkb*B7m&y4+Si6*cK17p zY%}vwj7EXX&smP7<8N6hhilFhJS*MfL(i(9uPpOHcTr-rY;r^Ex2srmNyq&waMgaF zTN}s?7WWG`^ISn6;oXg|UxkB}#LuHc!8c=wydx!r@r^{AL5 z(vwe!S4QeUZ~o%()*ef!cg{SOz@xls)?ZgK!hf|5ZMi}(nV4xlmGMf`$nO*ZDTYNM zEzKQ;rx9q}yO)~Ydv3vfR~`pk=6DBwRjGGC1EV8wbT%R_2x?@Aa-)#zybT<6AK6v! zhFE2)TUt!QhC-GEb)|l9m1YNU&fStIde+yS(@&SS@V?x|PY2Y>dl{Xzrk?Sw`^za- z_x*cs(YTwsS0Ha`W}lu$I0{>uBaKd5W)qm%OA!e)llu65-`es8ck|&SrE)K4onRT= zrLM+A`H7o;<)>yE{POe242xQ&xoblZ7|{f!n#VONX*&!h9Astx!@l~qN{YH@quHee z`M9YQU^op;bD{@`gic6sZh1UC;WFTV(elbaPgMs;9vBpbwWcOfQxZAp(Mr}j7)47I zJq(?N;Rw;o3~bpo<3du5w@jA3+cWzP z662q*ar>gZqeWRU(78;YlrSWt!+sN`s|L*YJHd}-rek#*rr3!OkaBA!rv_71d8P86 zr2sg6FGOMWaq2B-M*X4eY**yT&Jp}pi{KEAXAT#o06*Y(h+$v-h+X0-leSY1P1iVe z!Q!D8;_9QE`Zi1mQ`URk%SVuMH^NRBZzA8VOD=%^6OOV3~S;JZ< z1{Z82x%cJfH%qHuBJUW+U(l?@ACF>sJbenbwKm~Gpdgk^rKm|)^#Z+{xJiByJ#kUw1Z<1r7=79Eb2pKLa(x6qo3Cl^Z#8egm`@5(CQrHzN7?r3Z zMT(qZdBM6pQUYvtSLEl4F`@3VxinHMSDCfq$U<2m`y)B6o%?hKBDxM+l?oirSi%eI z;06HP;bv!WEP8oRl&giQV5(BJIAy`ZMN*Lg(;8uTi43gw0gN+M3?Px>KqA{ZV^zec zi@WZoSejU}9>f??$G)GqtH&WnJQbRvvkCR=n~EGVmSna=ZPlklJatTCTGXcG2>O-0 zLo3f#uDgkPs&6xZu9KO&oa~wDr6^2ggLZ^i?6ilE(pf|4{AZlE-c=M{3+2q8RW@js zgm8Xr`@{BDnQl0Ro6pM_Vx&4y{DY3 zRiP1*i@DwcQ>Dqtz&*K==A=Q&JsCtgf#B25{71cbHpBZG{0aze(QZf;!8y|{y5hak z8Lk5j0ldo}D>Xub7e%2=$P!FJ6cg!Do9>(HLI`JEnwyi8Q?lqV(J!ed@s70A`03FN zcYwR&+5qY;i>F$&`zhM#9TH0GZ*PmH(5$hN@2;0=rLm`N)56V&%FbirxTyF8MRpxf zXyPgqnRvwbouyP_;H|-19A*b_eRXry;^y$20_yvNTca2yqy#A273 z({_c4#JL6jE*&5RXkGais}}1wR!s)>Y7Y9%$_c&dJKjC-# zq~vkmtdY~Z;K<&OJ<%KQa?G8ia*G%K&ZsB4ox;2p_Ds>H#0m@kYVQPbfV}1x?@!H1 zg<7|OTm|MNl1!s|rjnb6hNo0s(8lfIr_$B&)R%oNI zEG+6>8Ps09U4MEWX`Z}e5L)cl`eImk@TIls@QbjVwN`v4R2RTkA*l3xlXAABBYe(S z%0VHo{L$s8a^ZvKB%O}1iKRwmT)yCYf254};CxvIU0%1A%S})t_wH$r;NJt(2prmF zvIK&YpR(T?|071VS4FhY%)1}^HZH|x$OW6o0+QD@?US8|`~=-ATspJ>8^@}I7=$JU zr)j~el8M)RzdepVT1BPSpp&*JopC;Qe^1Ftn3ZCLih`BAyt{%5JOW+=f(feT`cY;t zB&R!vB@Y%<7c^4x^K-ZsW&S3l-cLG>T0b@A>@DQ8q4bj2UxM8-G4FP(1voHQFvIIc z!AG!4@E#o!Y85aCE_5z{9Gj7W3!1(-JsWHv+4nRzQidro-C{{A7zFFQJNJETw;)%i z0i`9c?|lBJ6fV&?dr6YXW+Lx_e_62XPqy2}X+13?S2r~5lkd5+z#o~L(mZOwUtuuR zU(k_0AikTm7;?F3hIuSfpT4JQNr!G3)cfEb%Cg7b*?K)42 zkBBXDAm6Bv_K7!KF8I`!JH^eYbMosm`k5DT`5F(Mr`u%NvMUZvP7*eUyTR9pY;2Na zjbbpr$=gJmbKei1l(g|c+(QaO7sjFgXXneKT*abey0a7-(Q}N>H+P)JJIPmUeRK`c zG&J6|ZyP~5o3|K8_D}W=1&}wd9mN7+Z2X3!Fk81Eui3uQHS;LCw`|2L`|}?6%uO!< zn>9lR^vr+&vh05QzW9DyOT^!q0O)*IJ?|8v@5=|+Y-t8`{3|Fw^cye#KSWkFIySGV z0IDMi8SIbz`T-jM0xAf}B=6tabK)$0N0UN_Y#HY3fchDa%6L{nzD?hq1h4u3sI_l^ zGZx^=jm9uSuhl8>!bF}*VvYHsTN6T4`zIBe%#8xkTZ0Vn7392w6!S}l&ljM1(_07E zwRbfnZ$BDjp*std3;3bgm)3Yaa?a|F4%&a%Eq!jb-_lETHU8H_53Ze7s2{nebTc=m z-aLK|y!r-NZBzAg-)q+RFM!LVtEx!=>RPs3AJ>lYB3Lw$EBil_ zBB0UA3PVfqXI}l22%jrJvxWDM-qzgJ5nX>G)$qQ zkDs#p>qe)1ys3Tdc<{k?;_J53KUDA5dIA1tHzI@eDJ1xF)~^DsqL8dx%II`aD_Po_ z+4`$;6JAy6`@Y17k#i%}4M*_Ms1J!s0JbWHrg3$VhnE5Q-}pCwHNa2bk{7-|qM_V! zyy4vAZ{ zhY2kq_pIL4LHqZc-|WN3SF6(hR}RhI=Z}psBTd@99r<|EKTn`^uuzPILo96li&b@T zLhTBy$%}JGaV@2tDSuWcEq)WlX0GQZeMnCX|6>3N32vmSSHK-J54s?H%Vg4*g2?e9 z+FI34tNR@g5v&=k8mUsrW)ZA6-7F8cd40jc)e_5U^cIkVH*z0HpgyW8{ zbETPTAD2qDYJDY}h}yVz5Bfbdvlebn3J1t5UM9&9Az$*tPrw!S_xgj zE-19Pn;p5Dz2KSZACyuec?o`gVoh(8ir#g-W8WE-NkUKf2nzhlkh$yqMUbm{dMTFe zzJAd2OrN{t9LUDo*v`8Nm5t0yY(bQ&YF{Q3o1u?|6z^CYYgtHsjp<~poOf0xS6w$p zEz?2#-|2v{L1`4G6d7j}MrJo2%68qRe>FN|1+pd8g{%sr$uzGIR5^nLv;d zCu}-M^6I}wiZVN6&mwcvR$|{>CMhQ8-lnSSxS8}~`MPuRp`}QcvG%bwh~do5iUi{1 zIF#Yp15_2(XfR-e#CbyXhFtEqVQ1(;mgcO$RAAU~!I|_2l>PFOTHD;?k#irF}o_T^5mG z9W)kK*UhiE?xQJn?a_%OX&uuL)i%2Z#)z&h5Do6`XNxs^V07>PRN{Z@k@uqyoX?UM zGT}M!3ISb2HuF&w1~WqyF2yCkk^S|8EN$c-hlM3$0v@S&1#EGJbek?rdOGQaO+fUj zMJo$ceS(9iLK~*HE_kd!WnP6`t4Sq$QdCO86d{U2nYiVm2QCCFcg8b98&h(= zZe@U9wj`%^ba7DqXh6SAu8E1iKk!!;`1@Pj?ilbEq;=nw9%k`Xo7}o71&dt#2L4Np z6P9KB19%*?G{u2Jh(3cp8C7&0{(P+s%DCw*{=ek1)JBw};-o$c#gq z2-m?8cMBaI45HdGeAz#Qz~8w+_P=uq!q(f}cUT>Gt%67GYTk>waOur>y09qfA0krk zK18@U0PGW7%{xVhg@)UOj}1nGzc@x@u`Pg`anWCyp5NbfA8RZRj)7^@)coaU8nCfKbcohCAwkYg%H%M32L{v$VO{uNBQFM(~4FUK| zDn!3V0C)}<2&mjrLkUU2&C@<#B}m4oW?X`hCt!GG9~B}A4Bia$(})mj_!Jf57{XYK|A!6a>%IzA+4TVu>TQLJp~SZLt?>yZO2gGoU1;}%0iVV znmX#~Bx3dLa>{)78Vl=YP)c1gc)JM^<#)R}RUfEPPJv=c_6S(ug_oyDpjZU0usnTtFSXrA3g>)!V^1$inI$k9L*&#jm}rfy?E?5an6*rdU?dkX^ej8#veW1 zCQR!ZbOpw=i&|rs#i6?5!2$ETiXBf2L9(4g&NVN&+sq^evJtgy;zI{evQuYwh7Gn5*-S>{0%AkH6{lQ6jHSXy!Pb+hj@J8A(J2D zC-Bm@;Cx<A-A{C}(q3o8_-j_; zI;Z*#L#c0my&eGB#Mnzo!Z2^X--7H6sNcG$qaH1HmzhnTaoInF(mbkNtB85+D6-_!0w66W}qMYa;J-tepZ$wHf(2`FL#jc9adT@%%?Re&?N<9Es(0VsfKIc`2==_ufw*Rf zIJ(k)g_M|sxP9?C9nmZ!&&BcWC3q*>#81vUfRZ=MDgU)isBA$0KF-;R_6PQR^l3Y0 z#Mq=Lk9yV{U6=An3k&G99kadpw~MpeKRgf3;P(z!Zy75($%(Q;;qdwk|DkMYe4$0n zhDoIGPsk-V5hU>H0hnOux_`uHR2rC^53mFRn~E^_SIz$1YU#okh(+KRTCCw?``Bk^ z#|-eTHpDTV$5NGa?29isn7$_^xId0l5R|{U+*I+tBHB`)x7|E(=Du~;(-U`bho27SAL%Z^d^{usD>LXRYHshsZrV|QT zfDx{Vhh%s!3%5x{8Zhwf{iX7&@uA-`vqQg=<8cc8uKRb(9af*LJ(dAe7z~)>+S6rT zRx7QKWnc}5llgKNTneuRcm~WP;Z*b-#Bo*jBmG$}*X>R2)l^;2U7uTDsS~LGD)q0? zl(FBw$anY!BwJH?hU7TB%JtD~O#R7!WZvN~*Mz(y1SGArV$oUHe12uN}ZA+=pi%K*pb#h+;Qpo$*VJkS{{57m+wPHM_1=<#y?Prk@#69J{5ASjTJ%RD>umpH#1 z<_%}?D+=;I4>+*tFN={N-08_Zf#jC zp57S!l=Xvc4eAv)+qN5Su586Pw_#S*V}571D_1nIgO%fde`;ofU=?dB8~@j>* z8|+_G!3WkAV+ut{4gWQ#ntZfQ{t#>P3s$at-0V^#!KYZZA?@t8#IyeCXNC3MhL?6P z^&4Mu+E6C#VYUNj!m^BarQB>Y=|4IiC1D{_1c#lEuy$wVS~zPy*!~N_R}=+0y;2w+#mliZ=F3jG z4LdiB+~Zwe?UqGxmI(G$i&osnS$~bxU+$|^cmtBhFKEBLZ>|T~54Ae&w;qi964;C-sHp{XL0f2C~z4kzu*56A?|=KU)n4M;9NE-ex-dd}Bs( zj=1Vz>E?DjLE(c<#X$G<*G+tR@%lE)SF73gJ*I}_r`*pp%6#)=Z(JlEg$8yBbk?l`2k4Z@DWqQU+Z=orJemLa6Oa&e8%442J5zI}E{u*M8eF*<( zcmZ@sa8EC^cN2jyx*L4G+74t-jwFQH%2`6o&9ed@BUc)h8yzc_UCukEW_mI#&RQp!Ir~iV|RgL zvRf;{svB;OlrQ+Db=?uu@g9mm4)(k@x1Mjjf&25nrQ=Cp2o7+q9qR%~L2E=Z`l}<=kLD!vsmYsQgNeKw>Tq|A~Em@w$LaDk<$K-UI(x5|GpgI+UYLM}{twL)Ch$T6E zd?U2BX*yCpCN(tdi}vDcWbc{8BvhUK9&9ae*+5jjraf<)X*&dp1wJX0yO=9yXa}h{ zj4)4#B|+KUV`UswdrzXVdoT`U3UT=?Wc}Z4F6C??cUgk5Tkd?C<_RtXvHB5w&zv4O zc4MpCoXG_tmeUx>W$*o3@I8l(bkDuLwZT_Efi=6G!|qx1@A7bc@W1*Q+nEZqFrs99 zPXb)TAeBe&+#~;;)h9wc z0Y}CnyX-EqrfU4BJ^OlEvymt4vP5Y*E&jY_qhUAKtYOfL6nsIUf=(~if+a3Rk0Z>J zdlG3N&r=1Ajy(z=kaA}8L7Jl36zxL{5x#j0%M=L)I&bdV<>B%Gw7|}0CU42kfJiMu zz@deDL}sDyG+9{?lP)c#Yn0rS%aJ%S!dukMN*oyD&AhtFzc#xjH<&t8Y#6X5>rr2P zI`|ME1)_zJy3aPaafu8jE=DR(tZLUPxUH>RQiGe+K7OvfqqrtReA`idKBlyK;75ps zz-0s8`I_y@(1u)n+1IkxovuT_MfJiVWp5M9pEiV&e)a1>|F~2__O=mJ4|@+%(qpcCD+6=B<6H*n1(A7ok*;?4;z0dC$BGYV6MMjwvHe7 zr>+11_|i3K(Hw>|G|(1~-lf3*d7gcIr_;%@gxe_jQC{uN9IhBMsXafZZ_10XxDfLB(s zDX#ZWvoP9H{Lvi8R`(=AF(xNK%Jed16vhs_hr^={9P&`g_mYV16s~X=K9LGug}HMw zlk%Kq`B0nu_}?)`czV)x<6=dWe+G0X)+gRGL&7(D%{ZDl+U__BQOdM8lh*}23&x*emQx|!%#8jqd2P7%l5NkMyMcPZyV>>EpyTr zgh^N^;}DR&o8jv<2bkIwuAJv0-2lqH$&(b@gyg}aGMeTKz~zFP$03#}XsUsoi7+v3 zgH9nK-Y0H&8p~(>6r-Br!Y0pnk~)d(=1g4SKX->j1hI-_(4_cF7nm>1qY%nD7%E(3 zbt2h)Fa5SU(J9Ixke!#3run4K;AcistBWu51WVdq{p9mDr9+$srBCp7XagDXdeqQN zSjQ)g=)4plXYe_*BlXttIVecG+dVK0kfj5QnkDaV4}*+<;BX2kBpe#U`eQ{TJQZ}K zX9$EflhN}LD}R6yb<=Lp9D$AWzH}J7gJaBq;p>>XE9U?&vK9Qi5hNF=hv;7O^@mD= z(1aJ2XE@;+H!=~cxQlvQ`}!rE_yt$WUnxQ`CY7ZDKzBX^-q`(zu0K8|S+z@@fATE* zoa~eH+)d35>w-5gqqkp<->~Vjr|GFQE*54_X&ug|g#6 z{dGKcO(7kt&_WMuuzRc5j8|X_%Mlf~yLGS1FRWcPUWMITF-gB*nG|A-rTohpG7W;q zGBd#lIQ$9~H4?y&nKGc2)`1atyk+E=nSbDk1gcR*6%0WlX;V!mf?46iI+Vh47y=5j zik~6!kE*7kWmggm($E&AQq4pqJW&q?I-=p*1I1-Ie=K<(oU*w?09wNS(l{S9Yz=P- zRBc?@x^kN386{hH=+Rb|P!7YoMSx1{Ip7$UrI%VVK$)?DP0G;dIvgHdYd9W998;?} zrVgbTz=1u&SaAky3z$xauu%*!gt4yZ!N}*+LcJ|HDc&L!k&~8x?ZZ-U&xggq)hAEb zdq;$jIlXK4Zw5}hr?;gIm)8j${xxSvdJZeOb9wM?!-V5lf@h91+0nk`+bFi$Z)Dj{*wS{WPi3&Pv!4#Yc{n$ zX}VC`CGxi-X4KL>MIyRdW__=gjA0L0>%{mc#6jwQ>^pPt1JF0({F7p=#cFdlB)l<) zsc%!?=I|}Pue#>aw*}II;i;9m?zu~$(hiS5 zEvS><=g<5{Q3SU4zRYQYUNpxVu0Gzxx!63Gjae#!kL6&kQa&~sRnZvh2+$>qG?q8OOjY4_*rjFH&;+WL z)8GJLYf_OKHWxeQBOCyFm5nenb>zFj*Nm%1cq=Q1bv6rlr=&f{Oc!NKTIf+XBsc&J z$zpBg?M%!3I4ahjDP%yhvGPbpef7-mJx$pMHPuVl^Mwd}HI%OA00ZnH9rFINVtJXP}8 zyD@^6(O!FHz~Tc-Do#cnWh#)RCHWAlCocHY^Wv@u(Tmu$*9aN+Wvax8WsT$l=q zGteWLQo?cJa}x+NsLG?XG`Ln=>ybbz0gsJvyvEu6BX>3oPbih$Ej6bUatS1<6bjpG z6W~P1Q2EXp_!&#cj*Z(p(hNNXgI)@0A{0us@wApfBqyjX@~Xb0hhZX2imBPSHlgGb z@N4K8V@&s}*8_Va(HbL2#8P*&i*Iw`*Q@is@pHR!5BJ2xiMzo#R2X@0+KLzg=GNp?~r*wC_(`a23 zayOku?&@-*o&-^;$y81Q$;o!>iV7?+6(!|U=)8^~C$3mz0Ea4jd=i`({qxop<6pRw#XqhI~O@UJ-U9^ptoh5G_ylSIO6777fKmTubS_)6)vIH%r64UD4G*LE>fQQY^$M*jMk^+&qJ%ALfGdbxTgCoM` z`+v)_AH7g@+DK#U(ZI2~T@7Ix15e4Of|HU7>3f%@*=$Shrn8EQURn$58`@`6x*v?z zR`&FtX?&zEZfA$WAaN;)U~w_NqYgLJQt-_p6>x^O;dqM@!4IU zgkTuco52OzOCaU>XqD<*FDUykN-akNb0TE#WqfTA4VaL|;2qU+zo*_WgPf^y}waU!Bj+T*{06 zldf2K_W5|y*xhu1dw$_TX6zxoQF(*s-4Q|Z*=b`Rgx>5VyFYTjO$)y#dExw!HT5o? zI0sPO5J2vj0bn~2Ky?d;JXWW2iZd^>jk4yq0ATX7EpO^C+Va$ME$ETiVBwtrm~!o8 zcgk;nsDol6y@xViS7(OQcDJrvMq1nU4;WAgr+6ydjm)fJ7d7`JC?&S5(>iT%ml1_@ zny13gW@f%|Rq{`RQ{y5d2~9YBGbvo&=kCyueO!0p(2{LzuxAS%*Gv>7rN1R_?ol^u z*7rkJ9&D_QE{z_6EU!CWpL^6oam`zl!S+CFWNKjQ0Wtwdxq2!k3E1f_FgK9RR{G%! z)?j97@es#E#?svCu&)$@%M#O0A3v>YwN?n_VKp}?x9LI4D>Y8Z07o~`B34fh-0s+9 z0XImcaw8~~>*W%;u`xyG-S^?4>GY1n`%uM^t6ZmZ6D#Y*TAfy>HHv+4HK!2K<-6O0 z_t`A++$$!0d*5Lt#>^I1?7 z3LTrdFi%}5K0X4kvT+3u=B^sFLSYHMI8+JUtQe%J2OHJ8$w6a@qgs(3(sr||^V;xy zx;b1UmB~yXs4z=q3biiA^<(XA%2jnD*JH3XO%J|kyj_JC(>MhR8W^0_-EzC7@(kt; z67dHH&7~rcT#7t6=k@J*dW2;(!;-Wvn(`p2@;(~V(U?ED_D21@UzFSHmw!FA8x$Q; z^14a9b5!k8e&iCQ;N+~cGs_40WnK|*EvOp= zG8b24-;a-530Qd~lPd9RU&n6HS2!&St;k|9#EA(AXGDL@-K^EcLlreG zH4NW?Dz!KPj}gWvL^xZ%hd6c1JdU*^Wz1bne)xT$I{^dlJ>05kc&})BKqG z@Gfsts5o2%YY7A&o&p{O!+hZ)s3@uB8TaASao79i2dCmn_iZHkRPi|rM8LK$_l4K+ zUjT)UO#aj8OkS;|@ZoLQC%ng&W<@6VS8}$<*bH~RE3C)wl-t~r4UTL5vJICSWg9qp z)Rs4Zd(3zzLpoklX!j3}?yf5<3Dj-Tn zCX8ne=_-PW-Sdt`JUoYsAm}IsTqO~Ax$VpZJ*O2Jv^~e!=IxQXrNNsD!72kj)*eoI z14R1J--6}~4MbF)g)DdWJApbf3Ms{M3XJGwSDqHtZ()}%oiv`xvc3ddRvN z{H!AKK7+f313LGg;1k zcLrQfa@hN;mn_AaW4bo14lcgDc}JERNkk^w#bSXIfalnNohbue@(xCMr&CDlR=v7* zc_s4-urjM}4CwA%fJU?m1tPnMOtAw!DeyCnK}JP~6QFggUSGQuLOafL%IMz>i6Pp{ z0f0cZaG})@I7zTWo>5Ft=at8Z!qZ@h)Uy>xp5X4K)Suq_AwlwjTF>2+JPxQOiPGV- z1cBmM-UUm$@vrC2u!R@P#0y>XT?bS(Q?y-epkf@~L)Os=G)&W_bI0z4W!HGG2nu ze;hoHu@X;Q7YekS4{XxSEgVQm6yRlfI3W>(-I9OQGuR(rwh8fKL%N}~r>s<}4&|-0 zRD@{9@uot5-Z?Uuf*}crD2#x~H%=HscytV+2#uEIL>%?!>s+H$&A=LrD@bGGhlbii zEyc>pBf}4>L%NQ+m$=V&fN?02D3_YUQ7V=FTX{0JC9d(iFVy{-xWYQV+*~zFm#e*N z1>0WamaHq0AMx2PK67|a$$_f&uKjQI;Oo?|tB1Qjm#-_A@ArjHL%VnOJv|xCL*`OJ zfWef@STU!;{(QpZ4@*Y(3&9Vb=aM{QYa_IKH$}CCkbST+J$F+d-er2pN$K1=sZe?< z5j2XmJ>JmwosxixRny^ycXr?i`f??MCQ;HUGPw|tnOf?hiV?Q1&CbJ(&^A5I8H!R4M^aWB`q;b?h8y1Ag}&01T&WXm9wIoOUFRh3WJ!yE(&vcaw{G58SoeQlWg!g;&bnq1|&f31J1pd(QKOA0R$9 z{g(Ivwrn{?BB21Q^u1zIF&=n&FXAa|2gJ`PO_ON41sOzvkV=yP431i_{*7<)*Gd@n z3OT<0o1YHqs+-C)p|09xRRRIDfV-s?H*^gJYwB!Bt{68#-!dUglDEbk*cD?Y$g~k* z5>JoYLuRQY8Ucw2Xc`btblk?<|N3*!IWF4iU@92|CkRlB=}IQ0oabxmp@niiAviT6MaL|NH51c%1KLCjZZFlkkMWm(Oqb@4hj=^U9lAJR$$$S0&8-2;{|Z zrVS^?rowK=F8F)O`pt1hEP&0V1>4s8d)@tX=znMwuRXz!81nV6BsKJQ@EUu)Z8*8UyCc^Upk;+lMLQ>6th{i+RY8RL=QxrkIi zwDK_zRe6Wv7z{cJIh7XAATI6?!w(Bz~NFKNN)H_*kQH@~ld66_FWPS=rg7IkY5~t|v285kUTk1|Tuj zA^d6(Xs9a<1mkPW!X7OjVICfuw$iX?t4AjdoJbDq&K}rb%pf*3osHJn@D)Z%F1@!% zBs4Xi1-}I~%cyFf*)O(&#Q0CEzsS(qs(~#F8!`!$JtaKqo+D)B9?SEJW>g(QG< zFcCn~R5XYu0%#=BC%UUYQx@mPjp>W~op`Rlf`k?pP^l>NHL~aLGRCYAY!gErF#5YU zGgdv|HQq8OhZYo4sOZ#d9;6!%_6wKj7Mpuo4*2Jb3*#pAh5gPvOD|bRQmCmTWQ{L5 z1Uu(PIzQkUkzYu4^CV4R>=(1mH=k*tqJ)|nH9g0YE^210i?6uli?5l{O3iEw;cJ&y z_^yNWbO1(1t=4??bEP5#S0%0q{UvqN7~6|tJgYICxgPY9jO?`wt6aH;Q~?mCq}C)A zJ-G~EK+tfo#Y8tme4Wx$Q;kgo;^JNtEJvGEvoZ}exizT+PU{V~%-us<*i-b^?MNa& zcMJgEo1Sd#HA3}5i7q&`j+3)@HC2Rg42F!>wt7VVg{+#w_4v2+p8<|vfb!)U;9-kZ zZaDiwNbAAJT3Ra**1xG%Ew!1r~BAiVKA@%rMPH1Y> z;l@{a$*-{Z8R4Hl-@e|c?3Ms~TpEg$D-}b-QA)LPcsN>7vZ1=zV$K)j$X>vGZymwY z_eomjMWQ7dRyOwHCFjLUp2UM%0K&}jERT8&@E4wb2lJ|I^MbG=d0}oR`m@blO@9P= zgNcYZT|;i3q(gtWnZmA$AvZ?8r>MwX>*yYtjRi^8G~-itQ8dav+Q{xIw2QU*&Ta8Y z;hf+bASrmY9+c&A24dRphs4udwZ7M{0XKdGT-PS}?I&ZMwL7PTU<$y%vT#r~KdNNFrUI+0&I;1;rcD=sbqfuGRY7c~}hi;`zw8_q2oF?U(3oDa-jmz0!g_W~o( z^!$A#?j=XEf92VZbSeS+*5DP| z&4qxAd1vz81@}w49rh=>Um;zKj6DzNqW)z^KjTq@UKZ0-bCUCsPyfdz;-zabZa#5C z;p1$L;;uK@BiS6a;;n3@!&jS{!`plpw@;U@cuKlTDt^B7%1yJc^@d+hG`;6;8;h+H zGM?@Fkp*c#Ne_@s6D%7&%_tl06e~XgCdc$krE{%w%PcXSIwdaeUNh~flW;AjkpM`V zt0$Z!BCZKH1zPa-U0f1KAB%S`H4En&>T*KYlG|G4T?{)0r+ADD)_1ErJ13IUDc-`RP_@SX-eL^t z4T0d5;^gK8%Mvd?hDLvOYJPrH-A;Eu{DRFn%WsDbJ+*$N_SsV_mUzNkQRamsNl#~C zZ}s;1^NFPN*hKtautqKh+UNvZTWyiQP$+NLDaAB^@OyI1DJ$^n>el$g_{E8>-P&O? zF^%$LLVYvEadwJabkAVevc_cM_q#1N#pR=W2f~*%P%5w=Kc(S`A4@!5K?Dr1>vdOX z{))G5jR{Gl@r}C)(V34nXM|517K5fW_6IDkVKl*lH=g2AQby#)uBAs$2w1#q3Ydyt z;yopt8ILNni|WAZ#p{TG(o~@!yte9hD-K>QZ`wZtKnip-Z<}aX2t%DRT+1qtic5=^ zR4R#T%y5BAT-Pg$nodlK!*KPd)%ANOAqb01u@D=+k&2xcAR#TGn7&Mg9TEYM{$~A} z{d=GZ=>?uQI#|U@E0skx&S=nDk}%GG_5MGale1UodU^w7F7*u0Yr4mbQu;FY6Imgx=TOtqFK6#E%g%o+{}ryIQkB3!7b=l+9b4 z`Wr^CZ*5RE<~M|QP20A10~a`>oJouH8D-vIVNi@KYsp$C#ti@ri0t2Zjo|`by#iFY zh;cBk0ELlUbPnJpVmykJXo|1jc;&0vy0dd3G5FG}82%$I#E4_&cX94&C4@Mmd5EEUPMoBm*(Dl(zEGRJxAIRO1(^e0uTK=;18Omi*`J7?EOOTX{i*pp%BF zuj^?RJA}?nOFW1f$YIcA{M3c=6R5}Ccjgw)HqX$z@*s*IVlKQ}EG9tnj;Mj?hq<~csxpEu)wzHXs}gYf#+qRRg2 zwSV}}x>wQq62pVkOk1894NJWdwcuajYO}CRXklI^JxD+2U*&G0DDVe0JD+Bnv9Q`I z4$!@)qvoSeM=H{XLxmj4DN0EliOwycFAV@}iv71QYe?wqlz(A7)IPY$5kF;TDiNCafmO0yYhUZR6X`EvaxO>)G{ub3}R&@3b}lPjLN80$%}7f zVY8CGnQc0?v_oj)&cK=yG5PtO^#|5*cy*uR%&-dA(el5tkQ#()f;B!2{Ud*-;8s`k<(U+(`hdS-WnF@yGVYOr`; zE%P|EYrJ4@ZpY4jz`m4Z+m!QBFr=tfv8(C$wetwz=hSp*f#bDi`_}+_L&d9-NItt4^TDThs!Z6C;}GmK zXj=TOGdXiob9eWgadGc-+auq=#$QTL17WIj01ZS3Qg;#(Ix(2FNfXx<`Wg(jQ{ZG- zWW|S5X>rhG(yFUbfY}Prd7pV}K#kh6nR>ta>w1W^U}t7;91b5r1cTC6&f*?Os?sXuFWhU2*weWDH#`J#gyDVC`%hIF zr1UrgS^x7s-N+($XI_KBAMq=xm;wF)No=8BUj~rZN$V>4VPgk2ibq zSka0C8i>U)`vT79z-LVz`g+;gpmR~wa3I{OjR_>H{n8=}Yf>JLJAkBs?#?54J;I^j zU0B79n#TbreV0$Ad68{1;IK^Cip?pp_sz|r^fuI12Q*_y)n5DdZvfZ5>mLR`S07C| zijH#7@T!xI|32F!w)u1g@l;wSG$Y?L;^1&bLvo_NU02|qULR}Hw;O@;TlQoYW<#lC zJIuGjk3pyNq}EO}pxJKIBY`FRRx2aE6Ox;1P7Z2INgSaApfM?K4k2)>knbgHv|3-bBP5Xma?LKh_?@q}*+1C6iD}J`AsK7_4G2|7Q*vc|r zSKr)vd`k=Q<>Y$kJR(+fn8Q0L5bzEj_7g?elzq75@L$1T15ZaI;<1j1bT}FjTl46b zH0ySoZs9pzTGIuQSFiXOSnr#ct%&|LBuU!xQpg(f)B>Fdnc(Xc>JL^b9#nE-%ew98 z#?Rhb=x`4`0r5#opt(o#4}uurYxIWd9(o|NaF!VdsH=&#S`JQ*5W8i<`hUztzUq>n zlPzqyP~uMGb(?LC*~VV8AH9+Yuj-zb@p%-+Ej?c) zMI(kyZc-3Jw)fGJP7qSW2e#*D&4)BRu#-_1QO`ga&*5tUy8TbfgT4_KYJjzS-rV^&N(Da(QgMasMu2x!l#{V-e&R<36F3E z2L)#ckc?!%M{B}+ixu-ndZw&L62h!^ zQ95?9&hgbciE_cb$RDmOHs|MC@Q%uj*Js4rku6xa0v`|mPNSI`wP$tiU6um>f9uf! zD|u`fBYjH51r=p+5IaD-DDtMMxhlXo(ZWp~4^E8|@`eS}mn80*@zgs+Pq)^Q>*UTM z$DNs{WWpVuMIuFQc|c0+vL)SR`+C-Wd?Iv*5~|!NkjV9MEh%OFbWFRz4B(xX+ z?LymT;%{z`@{_?@T4O-2_Pb|8+irfVi-YyG3sj<@0mc?#{SR8N@*LfV-oDjY>tGWf z*Z9#l2NdI3vu;|+$oyllq~$8zJn3PvJUiE7{D})Ku==8e*01#&C=+2a`C@TZaW{D< zTd>N-{HpwJg6PQh1P>NzQ;l;v(y!W|Mn_A@w$y)M2hZWle!2tC%7eZpJexdndPpNo zSR0KlHyM0bu)kn^aP$i}^<$+DPN!Ve&=w;>F31S*+-z=t3{aM}w~z4D zwztstwWUiMuR2)TM#6-<@m3Z}6uP&ri*FLuPCaN9ogmv%XMH~@zd85YEUpmR7nFC( zI^`c!*G55Ou-LwJ)cg$JT0bTo;P+p4Ay~7fHJO4KI1mc~mb78YQ#cI~$Qyjk&l&<; z+9R$1?s5l<+EJ4~C&z|{ggJmdJ!l*nn5*U$KoAtC8=uo;^9YyPbPtnRZ5(>X>5v3K ze2Fpdio9(wrhQSv(Y1G6)tD{;$YmlD4 zO#d$L^=09ws`S~z|LYa(J3YqOHsV*;>mdL1dgAH5&mcCo#5HFe@8Is^)PEzj!Wi;2 z2%vpAo0gTB$}8$?Rs?;U;cZR>!n1s{?c}8C2~aXk{15b*6NN;k)BNilHajS`_;bk| zmeD5gAEf`!c2C}XRq%i5qV;Ef%;30?!2spKpgKA6Pj5Ny!Oj3tou}T3eG&(K{>O|= zfY~H}0=|B#7w+TMQlxawrT^#UgiP0-be~q5uUlJ$Gw1(+;U3PBaeWQ)AO#?aWD#5v z9O;f?3XZBQ<6-x!p1)D8Ne0BA4~?U2Ju(rOYer|PHOK%-K(@cYH%Px-guM$Az7?o< zS!JG(g$`>B4eFomKLzn?x6x5YVc<5ve`S#`jNXY0Trz9ZexiGVgQp!5CyxRB1V3mleM#DL)n`yPZ)Rx#E#}vLkHfJkq|{Uv zkp@L?O5C(RM0#6LwEd&L%BN2*+h@-t1U9@Jp6bDYU@JYk>dB_FMZKu zWG*a9*UEw}G^L0(f79{z$B5)X<*qEvoJL;ddpa@7y=LuorFOa6w&r^nI2FIIbWRUTh?J7) zQs4jc*!qKiHdex&EODw&`DaA)&0KS)ihO<=XC64{tAXc_1!P`3iU!TQxA3Zx<)mCZRJ!t4jXWWm~hWJ|R74GyJCr2j}3PnSX*aA4YB zZn#+a;%eM;iSwn*<@y+#_6ILJB6fgRtg)BihWq#68VmHEq9R{`%A_pTcYDFs88=F* z*AG-B50?$PCm1CELtNglK)^qE#82pt0-r$nyT#0$Xz&a+=`PzDkpaiSV~6Mu6|Fa8 z)QG?{1`bB$=rVc)I;<7ac|!pYL+UDcY6L4VT@r%|5*2qXcI_UsR4aq>F*qNlMlj4% z7fFD@mYUgSkzs~(lQQFShcJyZiHPkMw_E_WR>delu&rxc*4mrx(Vpml2uxs=yRuh) zVc5k|I^-_Dz%G-!65!2|tX?}ZEWuGKCQ;A7<=(vAD`{5z%=|k)Apf0!RAlFMPu_K1 zbJeO1Bx2H;abtKtu^0x{Ly-Zq`Q&Q(KCJfJ9#62rJ?UtvINddIca4B6wLnI6O9>Y+ zD$ac7chX)H@)ly~Y{)oW{S;;P|GI(AYtToYINTjI->G-Its9Eo*x93ztf8<&yM-R zOA#Nub!E)}V>y(jm*~cia=8!_VscFl=Qp{@3y1-R;xv@h9;R9-I?o`WkwN29B7v&E9n z-JJ5X2#3<5s3z2*w4Cz0A-bCyfYYMGy;a4vogrq@IrzzJPRYyFSA_q<86(G=hSi0a zo+Zs-dh(h*_+VI7rg4b!-!Y!ENvs_Cc76(DYEfw=>AA1ZM(Zl`?ZI0(O|Y37vN`Dq zu-Q72qN`-lDmwWQ84PR5qze=~S2fm79lmoyUfkkxzT|&Jn-EQefB5~-1$Ixrh#)v> zGaqLHk}{>Zzkp_S>^;3r=4ch|`0$(%s;W+H)qU2vH#yZ*R{d|C;$EX~NC2q4(F zPAqoiQEICSMWg?Zf_E8|$k1cR?9~M0sC;{#YQ+Eok~r})uq7JPyA|sT2crher-#Py zxE5^gjToj%AZ`{`*Wc-Af}b~aH5PFJ-J6_C=%%|ZGJ z?~*dqYN)Kze-*QY*9XwMqp*zQcB5Vf!NY&;@&AnVgdWbgF z{7kqWocamJ1m~etT&X0E`iCZ`}IdkcKa&#lO|jdw&)!&Gz#5aFrX?^$jF^8sYoVrj%=t&8F`K{Z+ zmG&#MS32-Q)1wU;x|iFpcE72AxAnZQ&D18OgkRznz#cX4ctQWxna9y#>Sgl`JRZ3- z`VS%#0C>;3=9~lFvZ9mM=IIwzP=DA8Q3bXFQk|GSEZzkbb<|Q&&L?fta zG2KC3r6ai>YOagZiOlLzdF9Dq#^0TWRBAX12S|@V(F}nZno*>pMVHCP2!`T6{!Ua3 zS+fxIRsO4}&i)W1WWkI%fjbX0gD#lEFB^>N^lNBo!Q1bjd>xC5dN`lZ4WRWf0sa$? zvAR{kZK5VX5Cwxz3KObD++?L<%PcsCFtAFa)8{qj>y?fAFBNA*jI%nyG6<&piU`Yr zjHC?&0=sH15+N1&wZal~^JoPY0Z^4k36~}_X#`bXYn2gCQjdVvk(Ub#x;NYP z@WC`IymkaxU)u;vbBb{23J-Un%)})PPXc&WmG36*k!}l?IQgDHJMj*}CI)_>dQ3l) z(vAp_A9CHt8YgDZnrb%1-+&gpZ9(Zob@$FJSU~naJ~fQ0CY9pH=9{+Io>NP@QQx@wWe> z>gN_36>Vwy&(giShp`|AhlP=&6ShjyX1f5tV~{k3Tt7)qX6l#++U1Kpl z)}=fxfqKp%5C4NJahwdgrZeEXvGW-I*0QVJj)grvjayg^;|6)5M)$W@zHrN4J>lMC^83Z1X^6_$zuU!hES zuM-U-B*i!?j{aL#j!!Es-R;{e{w{G+_+Rf?SqUCjQu?j;Zz*8-?%>x;en&pzMg~`X z0ZmW#;685Y(~)18^v!Na?{qSiUPPt^s=8A8+&&*iEu0rk;lM&f|3abnp%7tJ{W+Dj zpn!ggaby3u$o$gKw(Oou}zHZP;^3-}_&BS}k6SiYjsl z^En&8%+IDm8N7+SuwN4VF+rd<^5Yz~;F@iFC8`1u0!mUV(%__OnLD`}06Rcixf>Pr zvD^*6SxTpB zX{*qGKlA;~9PIj!i`h-ni@c^j*^dY#1==5;;hovNTiFa|ce6y5#^sC`7nQ8}a@5egAqa@XV>bx+pEP zCNtYs=-R?Sntx*kIb)ee2-Tw`!GpNzsM^`Z<$mnoar6=t7j}|+cd#K|_2)yq5T#0D zV{z_dna06aPa6Ak#$RKa`j4M549;XGi)k$6m^eaEVj?-^v1BqMS_ICDBgF^fEVML1 zK?w2eDhH5+kVYYx87m1?m1r_el(R)kMq}>f4awZD|4=8pO_GSUs?pc;*iy%KN4mUR`O#QesHMyGLyTJrCXhA|JQ> z_HfPAMRsN9#OS`ks-0Sl%#!ft&h7X@$a6_3V+dM{=9gTT{$NU0m~MOG9!_%Y^@XA0 z$$0G?U|t>|+;eU+qU!od7h^k^!T&9Z!dEr|J`?~xxV78@pXv$2#@Zy~;m#!zZ0jJN8RFbG#f;SU&c{T%-9Q1u`ngm)Q2DqmoY(I0I?ykTNvoMT(b1PzyD5r#unWGlCT zVuft{NKP@+(~kT?6IU9`tJ;)vNTp5jG6NLdJ z^AcM8F`~z2a(jAN3oLdUPJFPBe27iGJ5K{EXnJ(_q9K@LDz9x9Er5V3Ju2c7JOP{s zg$C)-u2y6RJ&E#QX0NLB!-fT9_f@<=n@otG`_fwyAR?z-Yj=3{p^2t|Vg|xR6iY#ltT=46Tprcz zl($@b%f6y3Um5z0%t2AAFu?O(ZOn|^MDTeN{{iI*G33xtRSwQ821uVd&NBYsw zPd$6AoYBaxEFpLBHy5!zH7<6JHpZ`VgtmOd+vEMms zzV8Rr^f^(5g}7==7vAWNPnH}7UvteBFm{lzXE-WL(AZ) zQra&Et&jZ%B#SAi0wIiu&u9XJegjr$B79P%xZPP+Jye!98!Rv?sEJQrSjE=JWr`6i zx23l^c`6J@N9xyQk`B#3qx#CMu|R2v@0+yD*Kl0I5W4-UGguMOeyYeu$wXb)U9Fji zD4~#7>yDZrAh!|99qCw}1C0)^fqG+YF#QO)C89<63Kn>aR=^@TrBESJy8-du)|VC+ zg+kQc8^x@uF7)Q*$fE+D6FyT)Dq4uBqJrB<<^wEWKq3+Ab6jNzSAH&^!qLCS_UXJ; zB`$B3t}*!P9rCpt-)k3Lqr24QbL)J;kM599N?+x8AsSzGajCaj+Zc51Hu*Ya{ytT9 z)y%y<#Ie#h&hv9^nr?3%gw<=l{IzLA)SSpS&Xt-l^4;I0X|@-_4)q6&FV>0NyeuF!7hV zjUTX6l{#@MAuCX{?37nliMVL)Noi@SWKjUN#C#>YZjSk8W2$)~_d8vA8qL$^&Vi3dP_APc6O1E_mNax4khtf<*m?h@2epX_ zv7hh0pcOJ}{g+yj;x2C74(DG6VS-)mKo!n_r9_OwOXj@hLM`rlzYi3MK@Z36R+Nl( ziLK)m0Q*Et5Ryg^s5ce$>O%Px+>xLOfIi@5)vxN6t8hP>M}7?r-afxvwY-wgbYXi? z|7E5xFBFM+^;CJ{|B?~wV)82ooe~ok^-|cJL)bUPsY>n10-w2HdYnUAgM&^h==^(5 z-yEw_;p0pjMvQ@_-i%rBuW@x*Sf+dclR*zM&H2~5JH>mX%#l56{>DAhqejBejHRoj z{=a!fbHx6V>0qbb(P}kq4iho;>UM^vLK+)ggY8qy82#*JmM{2Kdg5CDKR-D-7@8W5 zGn*Lc`d7iMWid(M6bMXKHX?fPuOFBdskeCZkmuO9Pel)>O-=6j4vHd@TtC@o)tC`O zACIg9#Vo|yHS6wR9=gt!eNtl;s7KtaVLm3UOSNr0IzJPTXi_JS|=J;*q!Iw49JRXxb5iCX3M zzOkh-pRhhNYl&da_`DVqU_9r))l{tRbb2-KAGz3*|E%o^@yTChec1T@m%K&2cMYGlsK;br9my%2~GcVGwxdBGX% z2SZ=5hXy4Awim*#ibX`CSVS0-YK35X>DKB0XK}{qk21S~c^@P7yZ(Uw{ zsJXahO=NyzR>J=x3nldg8rs)(A!C(sfxECU&Rt~$p2zAxSW+#$^_gJl`%9X_+|RyB zGaiQI8Q+3DTlX36PFMDfzR0JOeP0T$BU*AYawp^x?#npbjo;}SnMkBkP^oGOAks)a zSkzZb0g+lpV`6V8Hc1v<|42G75qFeD)hfhwSP>LBF^aX)V+(rfFR21(q;#qVU%zHg z64D1gsZAmXWegN-zq1_*{p8z&#Dsfqe-aYu3yrc?g^WGGq>JMMqlcCS&ItwrajA)t zG!$?tXt`*47C-hHB4Q`rGWYIo=vtHJ{m&QUZeKscr6^Xf&$f;N99wff!aW|CvW|Uq z{e(1Z>rhIXb(rw_Rq20i8;ZMRRk#n^wzTyTI7hBe;AD;sMP2`19k#MJE4Gi|SEd-* zM=^1%e~+EgN#SW!$^s1~2^}ZARy5BYAK)J576t#fkD2NO#Qubb{OTv*+-*I$kJJ)z zU;ZqJT6?o@brn;j>H)BSMqR!Z`akDSV$ViZ!bqha+?EJK{1*JS75Z4*9rhN-hoq#H zN$_8;_f6q{(77>KW9}`EEXuLuT|_1tJwK*~!s%928fM5m4hUSHjq+cd+IVwdBzUUf1o=+O(;fP6g(Bgbchz7$zoK8B&#i{GdQE>Oi0<2E!C%g982LB_Vz>+hV}T6)cbtsFpzdVm8Nvv0*F;Au#B# z`Hj(=D`Jl1cYn&0HHUXjZAdUoZH#m5SiL@Bdq>BIH>C?GCI}D?S(0qL0GJ z`O#M+tBa_4UFDFI&GUJ0o~j7WCYL>mELi4y&7XZYXQo8%vc{HYEo+=Eb;|w-NoVQv zyFLjnR4y2{5yXp+J*#|$CaR1hw4Z4S`}U!l)n#pU6^o14PHS{j>Z&Z2`VQ8BNx%JK zNC7UTZ_ui%Rr-)FJNTu2MFWEQ`{!ww=F=Y|k&iO69%d`>FndY0lMkcIvTtn5kIwif z2RS0WfS-k4mFp+%lN;lcWHS&BaGZk`$7@$3&iDtB6PA(nHyrVIaAw9M1oC8h<_RS7 zvMgOVR0VhOd8N=O-7!GZ?A9Jke*s7Q-yD_7Igy52S>#gM7bAZLqnwuVC7As?Nu$&hA{ zb3jPoM!1G-&(LS~B+c3ig*XFV24CyQmPnw=e)!bx=lbMUb+|Um%f5Vq!GcR%^WAfb^jy+e2ME>HenGti3p9%wxt6&$HJ@YFGK~=G_1AtQeU$*4 z`RCA_gT0~lIP&#gi-RIX{4hGuYuo9BpKdD6nflx7dx%}!x8m#C6|5QGS4mfA{#rRS z&5C^!(!4O`%O$r+#p09?&kSTD3i(8WfKMWOj9{Mv_;BINbo}ckJnT33$6+XUvqwl0 za)_+|lWP61%M*nhQe9>LglCim_3ZWw6uqQ(LMz2ca4zUDlcqi)*DMxSn1x$R*vWYt zC=?21XWVbP(sbm3>wyFz{AB4EC%KctRVx*IHRU3t;n+61v{I}fFtwmitdvn`3P}|- zpZM%UE4Kk=4d^Zo3XR+T*LHCJbJ+9Sw?8W2=k{^DH}7-5v%Q*joFDkzZz3;>XAv5a z{=1WTHHAm+B|$VMP!Pq-I{h6#5cd)AZWxao-uprNY!^)7Ho3B)P-tj*)6#av4PNZJ z?exn~DD>Z&PDn=&OTgxI)sK&assR}wYi*bq4$*T2Y*udvfDVO1cf1~R9# z^6a@4_9VZkGb z8nCqtu~iS)&!;Eext=Nu0Nf(?D0TmF%4gL5Y z)&Rgu&M1JVJ(i%Aq9q$4DvDrbHJN~}qdW}?bh~Cpnf@29{ryX+NJ|O60q^whKHr_V zUhbR0Wbb=5U~K-K8n-B1nmNh3^Th|Zoin$A%L(ta65QTLdHSUbVCk{wbiG!iVxJ`2 z1MIWKh{CiJ2JhUes1qvh%;MVe+QUf}J{Gi1DDRM5mIa1>*LkTZI@5yn9D?;6|Fz4O zj}_XCLd=PlSuol;hegMbpH-c@Xp4W`t1tFud+N100D)*d6BgsGY=?kp+iR#}ouVxm z$&}0(hO&(^%vonrGsHcPoncE{TwrFCSBDg5Tn3=*&PvNla{ON_`}II?hcdx>Z~I3M z_UeQY0)TkC_x8|^^aOop0|dsP!@$4iIG@z*21KscQPWobCg)z6V$lbGrO~(#%P=r8 z(F_0qv9}Se>xK0HPtzM~;$v8HukQcKzO^Qe&tVgN7*`y}uZTAj=lX%JR?=uJOsA_D zhRzJc;p7fj;^WFh%8xps&n6!wMNo0i{`z#lzhfI`da!WQB65@?Z1{ef5x`*=lYdS|u%_6f6HR>*Jg{-eR z8tLNW^rO)u4@Juw4yq-PgJ~mcb8B;tlZyW-JX&xrbNv?PB`E8~VD`@J{v*YjB)^y6 z4ujQp<_sdC`9kL^^j9%SSzwkPtr+5QSEVP%q-TJcntbU15P%;$X?q5yxlR^c3;Kd8 z^YqRR9Jjz{VimZIjF{Lx{vJ<%NpcZZhRrDmw(j!xHud2{h1W-_vp3pGf%i8$fPg8q{mq37*QxpbZ+=ct$kVO0h5+3Dk z09kZVC{2*^f`~LC66jLgwI*ulJPcrnu25!|)1b@k=aeGGBSQ;`8kVVtIgjJ+!(kK@MJF{eJ`8R*Z!T zXa{_aN@%^&T`MA15-N+4?-Jq=_>>h=%*yymV`Rg?S_fcfgAG@Hh|`uYPqJ zV$8v0NekgQXfPtAD1)}9)E}HGgQF?}biK0EU%}J-5X?uv0C4=v7Xab0CMVljDL$DH zsSUEPM^2ww^%|X`*XvZNE(+<}@22 z!5c=vIUfTzKu|u0uD{lT_S%sAfE&s&1!0nb{r}OSx%qCC3sLbU9beW}X_5-7UlC$o zhhMkisZIC@fNF^*$U47Qe~QBj+a*0x94iZgM;j`%31yOmBq2#i5_$wtLXrSk&qGx8 z8hN||*;0C>puNoY%0j|T#Ly^fCgY=7XI-^Jb2ycH_-4=pG((ZhN@gXql3B^DWL7V$ zFs4$MjL}CAF)SLGM3z`{&ZB&#gCp`+eQ`!?j7f*Y$}^|L%0d5rjcemdSq zp^5oy4+-h|A8=Itj2)c=-X@u}z%-Udie)q^1CV4hc4q3}U?FKAX+iB|G!9yllqB^? zM3WwgXtIyAta@pTiCA<9lccjqowFNqFyHO?)4}vHJX3ApRJ73tr8aOd+K6G7cz;}J zA`F>MxJ7`^Rx1jC*Vq2b zg2yk^Gh-+U{8Z9(^SrHZXT(+x)n8yFP5D8c*~9sorHr6M3_u#tBaJkp<|KspupDOp zX`fqg!t)USxP?BGn;B<#9PJTYn)KwDZ9OTZN%kMuI45`TJb{~ z3&DEFr*o`3P)Uz`=b@<@c`|YT)P(! zJ85M)PGh}v+Xj-xo~ihq9G{gr+p0}&t9GERTCT0yxs|Hc=3pNsi-r4{)&!cIGET$^ z$y9`#xdp)>QQ0v{IgWCnqIAZ^Q+cBdm0mP}`35tJ4Ge4?PIPH%>Q&NXzric_CB$Ykfo8|#1X#h94l%n`TrQnQ8!Elv=QKi%|5Gg1! z_8o|4;UNgzB)NiN1*uYLKCPq?FENe9Ck-i7O_bms5~N9g;R8GyDR`UR6dt3$*CSG< zO9{|Pe=^bw7DIw>qJj;Cac8OY*1}B5s7#~N!p4b6Q*#;- z(l|kKxefzYR0j^*Zg(@&f+P+7rmOj!HjP+i{}^ZIGY4`Z`3k2_;R=fbz>`LxD_kk` z?pR@tqtpuhq^Ny98ybu41d5_J_^rl|`^8yzxXPi1VS}Q;SOw=ASnpBunbj;t+Fw5- zM-;blc0sGixn?=H!;FHBl5>24beljtg)AvcH{~$&Si5Zj97`H;3e^c?J-(n0tew=Y zP^6pMKl+{@F%L8V_)+w(Kk)bkp#fP0_GOsOJ=#`zuO$5HDT6k%Iy8i;tgXw)?`I@ zH|e`*r7Ru9eQO#^(z?&FXJd;V25@PYq|OV5Hp8~og$#X$1!#7W;9QPy20H@x+frcE z2)r#ry&*(XCx&LMQ%R36dhXQ}AY%!-ftt2adM4_+{oW(Io<1EIuq0^|VC7kpF{c_{ z`>#b)P?e2yzQJpo4C61Om5Mi`!FlwYL~DrYEw%E+|MHalQ>9c+mqZ;^fOW!Hs5@~_ zZvh}kP^ZD7G&G)q+!{M7NC$<36pKw(5 zsK>_>ep;sKuc4q^k|aOI<-tT|3-vBLB^X~27r7DkH~05G>Cw;LOscpt_n!-+V{1o{9>;aa(JH+Fy^)a0Zi zH~S6nxZ-)765uUA<&OZ2uhTw|t-X-EoVo?Q0PuT6upy}B@W(*e9~5m`k=Pel!a?gs8I-`x2P z%SH+Jfk>uK|LA-!UR-+{|czluy0cW@3ibdk(mfzERdZ(sRYi$qWGcyq2Pl0%XX z1U~L6D6)Q;=8bsZ)iT|PbVa?0JrEwduYVdBQSI%A8VoN8x?n+{Nn<_Vl7^&lzo}-^ z8aX}g#*&t%6H<;?=%kx3G?FT~6PsO`OhmVcs9Tkw+nCnvl(ij3(z!cV{^uOOZG~mH z9IzUz$Gfb;Et-a?Ep6Le;od<~1Mfr0Wb zWu8+2pHpy5LcnnVuYcR)Rjq)tv56Aa=J#8;t_Y-26;wrvBW}@fWk-S%iYJscg?lM* z2lu|nGJMn|fClR^ojh0&!#2r&n-rfUeRmRF+~T}{`x@?_`@WXJ5~CH837%+A>7WVC ztRobz;sbym?eKnhx*N8Psx?IoS=LI?c*UimUj)r(+IxsI)ljTTF1CheFmK9CrS(;( zdh@(NH?GXsA3ScY)eZ0=fcSE)i$rOh9;Z+#=X=mk5;=lEf_j2V(MoVu1wAqUs6ch8 zrbX%?oO2v^r>2J&$XQZ|MPUqYQ<4i;MiUfc&wu}Xl1)`rR5QpJWa=mA{P%A16kqfZ zgjtWFh{M~Gu1lQ!wRj09V*W=TF%=+ZZr(7MuIw1B9GDt8Pt?5(K^#qDI3|DL0p3zs zo`G6js$wFU;Vf_8}tKL3bc3x**3?Mi;@rc zPy_k0H?(JE!6|2|pGAa^$ABb}rYsqwk2q}^WfqYot9N#TPMMiiMrSzL+1J9@Z!k6$ z#xB6vYM6$Rbn3-I>n`2dnX6FK@XgXFF22|h#7+~jwS==BG2hcEc77}$zPNtux2?@4Xk@o?Qwdt==RiVI}CJ|scXfLcn4gs z4(4u__i`li&Q1)yWV)x*q#eykMOS)|uwRwh2KZOD|Nefw0JMN%2L#*bu}{6S1{~vmG(t(>m3r!KGpl;d-Y-_^}P$5OPi}m1X zKoMt-@ zv|E`zJKLex2L&1gkoYn{^lLz8GPn^EZX#Di#l$lal$;|&>3)c(=6o)YXGm@%F?&Bl zbGZUk5JHfm!lQ__q@pUO;)jVd#6l91L3&*R;IKJu*%%LibHs3nDvt;U!z3h67}VA@ zCa49|1{dQ}SeD&<*>V89WWyZ*!>xGL+raIxBYTHkhZmdLt@fzBun#V&{o#QJAmn44 z*-UY^uiggJPey3YVR$Pzats0m{=Ts=lp!!ucM} z^NSn8`!4oJ=Er!BK;$$ECG@?AMx1+1qlu1xb#U-UNHAMT&KNHf_;nhaQ{rdOTAk3d zhewv5E=0v2FAE3#I8c3EM`Ja6@ z0108l z99W73t9U8qZh(h3aX807-4P-Whq>r3&cas>j-~YB`n|*U(%}tP(=o83fhO9}jt+F9 z3*8unUi6_K0-Y@W3_|TSdQ(;aZnmI1)zv!SCe#LL;&QV>O@K)@630)m}Vz zu+h#{$N8jM4Uw&z^GYUfsEeI8pv;thVH1XIyH2O}?V0^v5`_|p@4{>WvS>|ns_-kjgJm2x|&V23}Pj*@yApkjk1cA4PPA4-^2Ynnl z1fXo@5{ND+99%I+20km%+P=v_iNau?!l1pvI7tLSU+U^r8+3Zil|4*dVfqB7n=p;S zyw42f!SorXT$r|D+Jb2TrZ|{VVRC{g52mj$`53M+l9|9vg+V%n5laM4Dh$4lF!RMX z7>tfEVh|z)_*7xAPhs$l!r;8Z_-p8OFF<*PK?{YEZV*_cFgO}vL>J&Sg%Jq6sxV?0 zV!B}6i!VSvg~0;~gUb{Kfd~`RS&aGP;Nd)!lURC@n6RARwF-rrN*wo>US~bqNY>m z1q(0(1k-h50l?kOThMQKS`TrhP-mX+9VwU!4_|K~^ccjNJU90mpl)2%{XaDK~Ue zzU|L=@pmGL21V<;5j3kGuTwxBoQ7E9bV#MFz#CumD}GL#u7 zy+RR2S-R>vG?KA<>bVa`Y_R_#D!=IC5Rv=pa1@QUiqdY;mUKspsY0|+`EfmjVUIQ% zFFjmlV#EeWLYd_rSK-GJl6zMRR~=_OkEbp(ve}=CBeBP(EP5+-Q{Ve2hS~`C+^Fax zMAtgV9Rv222Dy;?1QdutGi*cTCU7iwxHTGL`qZ;bPh6M#`YxG@=e&2By1!$_Bg&60 z&L8G8rS$WUEUrr;wC5fEYR;IKJ2zG`cv#L>UuMo1IpLt7rZkq4?Rj;v`5T2IOU6{s z3@E9tF>lJgGNJ}UWABn|(S8h?v1f57#<{UhV~vS{0bowPa7}PT3_zK$tZm|2;hDz) z6XAStg*24~!2(P18bXiCGpi`-$Lrv$z0)kda)7;lOwhjW0e&DMd}gYnKce=zfmBigFNemAN7Rqi<>3hi z%Yf3^s50cL5`n0a1H@@h$&I7bCW))mklUPe7T!YUp{x72N7Av1kIKc5Jnjw{tQ^Cv zi=mF@>MklM`M`u1i;zWuGiWZ8xdpWbem;)PAq;otu^kBSwL2a#n6*F~luO}r5#0Uq z&&C+!O!&=;6pS%kimkVYWYMwn47-es^=|0JYw{?yE;3v}) z*|^YbwWS9Ds_GzP+@!707SWiPsw2{B#)L@Ul0jR`qM>%ul@u^FFaqe&9UnuprIV1u z)5!{-j@$`Q0N7+qCZr_gAd8ISi5*gxj^I7}Z&Lk2WHWMEQ^(uxW&4um}5+q6*!lAn`rqfR6lX zWvmLdK55C`MbB#`ov>2i836G&ecCNnAw4IJO7a}J^D3vVyJ&F(s{3t1ctmZV2N*NqEfp==gE^mLex`kW3ZpJ%PO9MfoK@eU@){n3=Y79! zq$O>MUEbOHi7Tr7Y8tBBerP9_0QR*I{U z-76K`!b*A13zU0#R-q%XQ{af#=+ZO(1QN`vj$3mf)2xf4x4&h_f$l0|uLcr^u+*VW zXfEX^jrk*Kt2K^S%&TjzOk(9!ywxUVa?A$s;{jW(>}b3-6+T{=h2S zUaX?2?Y{bW_OaAR*py%vRw}r}q*v>F;l91fG+@*8H2>AEV}_qa4{UmgJrA+EGZbKW zkqc+ie5GM$5C)k*g4i1M4>@_q?WLae2>5Tnn|*98)|5AAcAN8{%{k2pOM*N@*nHGA zabb>U>zd1F+pt-~5H??kWRVo9eD}$xeV?KUPT_HkoZ=SXEHQdesqWHDf}gZ^@voWidPonVYd^kI;{Us^fnDWEA5f z_mNrG*tg<}e_ud#;YAqHP13->WN;+nEQ3CrX0O8wEo<@hAe3Rxe#H#O?FPLEy*`eP ztB~E#-$+rYNN@_?sS23(vJPYU&Bw01FWSaLNBQ*|?=&#a`8=*Q>Mr z!57+c|8WOx5{&OfrR~;2Tz%Ypt2S?2PRA{+wd~FJc0I!VtB68lJkb4R*gk6<3ffYM zVN_1~6_Q^gIE$xU-tk^Y=U4XD$*>NUjh%y2v3$sdBs{mA-cL0()UsoDw14r2EZXe( zEB(K9@ZAUa^T|EK!qqqYkfi*3W3$<8=6`4Y|My?xD?j9(*IqmJWJX_X^KJUr&kz0e z_Ls*`d8dtbaWV8|07yW$zX$zxBzYWqb+q?;x;w8kJTfas{mL(mwHJ<^kZ= z_Xou*z3ely(T@qFZ2#-$uzX&?ch*t$t)+*DF3^wf2Vf^f`YV-<1#|!)WqA>}~i;Dzw9cu6;j& zrt#zF!2#>_vd2JR;p%Zf0Z$%C; zO}v{&R(Lr$E2@DPD_&v?e9D5ihvo*qCbc!1#UUfq8!-c%Qn#`V6N4Ve+&4gmNJAN8 zY8Fz-oZCAmFNliM_{dS5B5G3>-nKD(vs`$w$Gy~aMPr_GSVC93QEwm3QMr0Qr3%tY zY6=TA+*P}QQnq}95yF^K=PKp))gab78G|aJHD-RihNU+Wy#2Oa?6*y!d)OU|5alGc zcK+)Mm&J}%r$PM4Xh~M;^$2MxH6ruz#5|>%OfzB}S7%}C(6Et11_L22rAA~jz^@_GuArkRg0=7D$TPqOU1iMUn0Cds=sTnfErB1$&p zZqv|ymBr@ZJ|+a5Y)pw7KA>9`J_V4PI@VRG+X$UylP>R~6_3RDG1*5C|U<}KJ4t_O(DE4b&A zT#;yuNW%kSRLN0RU^w z1F+rr8OB!|l44Eo%dDf8x(1zH-2sy!n(RpP1AaJj^+l_A86v%;p^TY2$|>1usV_)Q zPvMl_o%}9g$qLm%(K2SM{cz`6bmVr<+4@^T<4up}?_`xD`6L?N1i3PHIT0a`vNIj> z&NMZ)w%7qpks;D>3M&fj`N+#&XLVGi2=OK6Z74UKTq}j%dI)ee>izUb7+1y$Q}~of z&Pi++UZE3m)Gr+HWO==2RG}!SwBdMf`ldh^7N)PjnS@T&wTuZe$_Glb#3=R)X_PaN zmu`10J)WUHcVn$4HeUV1X{0d_}VXm7rV3*}2;#IYr0h)jY=b64MXM#SJ zX2}{Pi$|5xHZ1$0T_iKe!tJi5Z!^e8wOIYb@gf4EAii@L#n2EQh5fpPWsvLjdNI&_ zl;X*ObIzXsD{Cw19u0v7T)+~#l;J{QRzBz;YyK${+t#q^8K9FaB=FLBx2LQp<_nqD z93QEr8CquCs__al$wBMpWFoLv$kCxKHz)1HFh}~aCvNyhto9f#fS;T6Ea^j zaaqr{Viyg0oO5MwsWvq6xK0rq%9jzi%5#Jx{UOk}d4S-ym}UZk zjdIHBWtdSGP3t+7ma?Cgr|$=3ZQ4jCI+_bk53Cl2aSZ!9X}A6y5!XhU;c-Vz9%XB7 zPsXoATYa|U$GTiVF#+=wI)<-s;nTvSluXZiOg|TvFGbqB2E#$ z^kXb_C`dW$p$ZC(mPT0j*_8-uY+f7`!S|uY#tthIaR%r*3rOCs{3l4o*(}Y~Wsy@` z?)_pFGRi%$8CjuP@?LxHTkJpG3DR849XDL|_CwE1B6;V~mR~i~m*81tRLfRi%DyQD zOB;>}Rs+|wZ|Z(p-pi0=f%;CTRpw74T7~th@Bl?dbamqr;#U#@D`$chC0=)@SzO~j+$2Ig55e?h%m zIUF|&q5+c_!>vjL??6~TcU3oU{#I#&t!(@+()lfM1<0|TnXW~8!3;YeQrBx2dc|rz zvA}Wj{^pe9S(w^GHw&>^%v+rm+4lAJ_vc6)`5WJ-?R@d9PC;h3Ifp+&arYwiVm%e_ zevldc@@<(kvIU^!SrmVfdfB_A_~ywA>&4~7X56Yo@NR^4p2_#mS7mH=T7;hn54;2W z{7&b}V#vQRWahx1NXMI~iRe?$K`H0VT`quMvL(}4&#IHp$^ng<)jMw0sbGr>UVxVF zs@~nFqH*rLH)C^SUtgP5h89H3X5CRxz-zc2XW@At^9xTby+FW3eeTovB?_l1|8VTfOa#Sw^h@h&$8lL9RHK-OzO{qn<(5l9()fZkMcrsm zZM%P#?L1SjNlHs7S*>De+oI}u{QN{qPK0Nm46P6i4saV`ZFUPBfTPjoe7__7Zx6^EE z!O&x`x%Dp1wkxZLvOTx%ehxBa;}p|wcs;d&8C^uhu3XsFfUA}6?U~uJ`*GIeG2#PI zhE&Me*{iuORQE0$F6NZ~DnL+ZbAdN@&4=7q^_JSBNFJ#2+*3akvH4J-_BS`;tY>dF z_kQ9M7bOAjufpc`vo^gT<1WZO8U51xwd2KESpv?AdAPQ|;P|lR(wa1>U`<;$678*; zFAa@*ht(Doz4jI}0ezV$@Vg`TKFO{74JV4lbB;bs$YXm9sxQs?clu2Xa09CRkJ)F+ z6ca5VB{xR1T0rj?mF3di(qY%oKWZUVFl3V}@Xm`of~N^kn4)2pFVV z2i62wp|21V7VPpoWlE$C)vyS2PzK+sPM<}cqg>I!fMitS*~XZtF(K@r-paqp+P}e8 zyoZkMQmh0tqn;XGL1kbFHV&1~YZ=#Qb^56V1gygX5^G(vA_J=h)6mhsnI`_Y^}U<} zMTfCow*2sBreAfz0tU{~R8`d==M9_(RYflaxg87WtIuvk51@Tx37aoXJ!w+QZ;b^N zr7c;IMPn#p`lY5AnNSmsgqFkffeYx8-}Yh&2Eic^WX+EU(3c%L*iIp;E0N}y z+Q7zAR&WQBET?yL?(EKN{M*2LyC9zILUhNsx{|jha+&kTh9uc)s~ZS71*IcE>~;hc zMFHkXG|FYq5(LF>w^%ZfrSs@n5RXcshqgs=PQ%wg{O9Qbp=(1Z``|i#JcKhNDZbfe zPcO;$i@2+PKgov84LZ*;kbu8^42igTOnL)Cyrwfk7B2JAbEYWD_%YLg*7e>bc6G%C zEW%?}P)f5P?|mZ;v?@_Y@6Wq&4)@V=2)x8H?u`wJqM=QhUHzm=@JV++yYsHMi}_>< zcA+|*LUkMz-1&1_{k$mcyq&l*d`RL-Q==TIcw1#>lujSynS6RiPaz(FER9$gH%m*F zy*opNDVW61?mjP(r?E4e-gWYsvtu>!sH`ZRY)E|Jxy7}UI)SjR)_s05@kFr1U=j>@ z5+fKsk03s2=sn@I!LA<^BXi1dk`Z*POFO#O?(>DTBmGuuby&Mj4Z=<@wUPKLbaF$@ zQ(vdE3)Op?ZT5VE&jN`yzN%~EDX#OT?%Pljs%Iv^!0ypdBGonCV>NaZ>cH%+<;uPE z!6T~*z~#=47nQ8#%Tr}Wo>{G|sG)9cL}$5|qTV>WPinLaX1Eq5Id%xg=o|-NuV(?b zB6e?ElpsobnoW0MJv}LYxZV3!bhO&BD8(+t{}(y&ax0K#EFIH|AbNIkwbrwnl+TG| z@D#>c92nz=*1{fgwO)Wt^foi$c8jT_9YNQGU4dPnB}Qhgcd{;s@a8rBNI7yk8uB?K zu+S>qWJ-Od#s!|hKv$oyynL!a&C`V&4P3;lMRyk3;fws;GU#35Va5VUk~ymxw2 zEcq`ASpo%sIy(r6IRL1(9HD&v8GeF`-Qg zU&98y)gR6UprcCD$)ad_rsC6+2VkNDqYdiuCLWp!pP9(c^to#5Sb=WMQak(~(`?eohJ=`2H@y$pGB z>FkHJ!n$bF?E`esW!>gPGb{l6U^%5&0Kg7 zYulB0pK*JQv-6&u&JynmBJC8Z&9Kn@b3f^)XVLucR;mu0y3D zbW}FTKu34(;d3A8;R9|GUPWaR&eVRFB$+_@9W`S5?90a0=1u+l5iZil9k#($4g(N3 z*@+LSopi6VXN>gMI+34Hr3{OIFJr*D)bi17{Kj6ct9pIAdk$Jw_|ZA^^_Lcb2K-d6 znJY%g#nKD1{zz*NChSV9IX3a;nr5uMT1!IDzirJ?eKyCOMxQfxVuueLNexdBTmWYk z%0~-Tyf4oF6M?=?;{Q$J50G^Y;ywNed#+P{0m80u0<16MP^7+Xd+o8F)Uik*%7R^6 zH|2x0I^~|y_EI@$!{DW_l|dL)|E8QiiGA%L|Feyxg>~~{ImU4vaLvnd_4=d!^kgCW z?W(4o5fVF3LNm8A-m#&dYvs?xqd=6(oHnt~=U&osjWbxctM6jUe7l;x56@oxJMn1O z$vy5b_g;O5p~BbtZxiHspjEW}^Pj=dk3UvyT>Y#rH++Fye5-q>YO2kTWAGix_6{AT zEPJQ)?a|2dO!vc5k>om$_TTrOxmLOkxb3B-CfL4pxAb^C7QgoIQkmJhUHB!dc|Go_ zu+&ceDbR`8_W>>V8fwj##}U`ft1#LXIf*qA0iUvPm)8f2(P}+9sOLwR&R=Wp@vuHO zZQW=2|LqW~{ld=ZF}ppR&wu~CzkP!LAr&d*TZpZMUjAlz@o3m7NbwJF+~^?z{|9(# zqWhKe;dge}E0eq5;L#>;{wneIi9T%d>L1|dMjtz7?LWXH>sFBu)$b&Vr}7qmh@IBf z^8^O*#N{7A7>zaR+0ZuQwr2vyl-Xbo3|w~iUs91Gr{zPAmHfdw{C)rZe)qm@H^cqG z5%=l#=6Hbpp!@81+fA{4jBeF7%epF^-223{G>M}y@bQm$rm=OcvqRrCbyen>(VGi< z5rO}|IH7q?mVXEj>${BMi4Jx+MAut@;XFzrr(pqlK}KFrGwXJ|&JSY0r-}c(=GT_q zEdHwrR4(BhFv~tvF9cxEa6#u|M~}N z0SR^hn(y6SOn!5lQ?aps;2htKH>nn}D%;Sn) z7}B7bu8(c+W$YjZ!{;I&j08gAl*sn4T={BkvM|{-ugN!c;)M}$J zb$I0PyhNqQ={oa(8J1;FDB%wj>rYh6HhBQxejj7rSgKBP+@ z?efrenagx?BqK(lGk6_}hFgc{WLM-cSGC~~9X_zXpO3QG((B$7UrN>@ z>PLC8G>Rlhrs)y%9{kB=tma_CF63l?#LZoUQ~{W1)#A+v`hX*C*w==(;-G`U$_SA4 zHwUvCa=?rgC}4c}C`t%YKd)xRh$%~gAWeNp(W7U zDVY)BOl2{b>!_c|y7w~{BpeK=!{9LQk<`KkR1Ymur>7ZdRr4YK?pV{)cbh*zfTk0j zO}M-R&gC``mP}^QPnUIM;?Y>9)P2S$Et#ydzU}sJNYq+m(ojJ~*JtN8kWF7u>_N{Hc;Mos{7t!C=$qPIj8UjOZO6^3+ zX49ldckovlY3YaRQ1uC7cU-bX<3bzgX^5@*BBht}m7{RqT&|VED{)svPJ#(?H4rP= zE3?yM#5hxz9hDn0eW(d~eNacwyCUePVyFiY^IYYAI>C|#XM5Nf553>iVdh}3?AZ*>}$5__7`gQJ{dgO8S+!m-D@LeuiCs;(i`e_`t zE_+9yqrCil^lQlWaD#+whvAyB6+c7i$z&?a;H%J+BsE8hB~<)`;-H(IWQsl33_z1n zOPINX%0hX1qLpz|!m-YyQWZ`e{Q5B3qiT17T`*Ety-t#*@fH`W8|(FX?`@Qq-ybYO zhS(v5D|!IG#62xWLY!IcgAP{KqmDQlZNuZGSc=mkLv`96z_zGeRH|+dNL?rMDoMn8 zb?{QcdvV;;i&^u_pfjkzh#ne=4y$Nkt)cWVLSH{LnszPHWwMa-%|Uo63SRCrV_HTs zk}%L=9h`g;&89N|#0~BXSzel4+EpK9%*$9b5(ER*3B&?+%hWNtaw?&CA5k_dLF^Lg zv|Iq{_<#TH$d|RR6$>zO3Kot?<4buHQ|x5Cf@)h>)b|GCMwa1Hc4nZV$4qLvbD`KG=t|J?EJ^;s<%pDW7mr&9)qzhY4Brr4&!h2FOo* zeyK4Vq^+WMLJK^1WVf)OOT^IEp)KYennUffSmU71n!M2xxKzYS;S=*MZ8GNImhUKT z=#9^BAjuaV3O&g#q1bF>X;hA}B4dLmA4j9$cu>Y3_aK9*ZYh(bTf(UO$+GUCl+B0G zcePl!jjHHvBhh>*53^C!nsT;tsmcwB5kFATNbvDYpKf7(OSn-?7_-?0Kt{W>n$9ei z=ue768VK9mkPO)b(__>7?0E{rAFf&0#vp{c|Bc_7(1P>`yUpH>!QDAN7=atpD8sIQ zYu#druI6w~Je-wzp4E@kl3(=&9^l zS<~2Lt?o=f5K|Mo1T_^LGO3_-lpqGim;qqh2dS(+Dj3e~R8YAHfe}9hoASEOaa$Hf zZPE>&@RdR%kHWU>>n0K88eh(!LYJJH0S+cVy3b<){dNi-4?B;JeP8CRkGb4*x_kCD zSA>FuRm^@kxM0nXs3{YvggNj~0<9Wo*QqJcMBPR4{u0szSW?a6TB1dVGuLY9j0=|+ zDcKN|jUN;dQvjMv62Z&4!6O!}I(KoE3)H#Wlu=lfH+S5ITor~j9`wzMv+al$V7Dbs z&2VIDSuK$>p-9+BOj#gzF4P=WsM<+~WPn)|_Avq842G;u_GK$pSK69F$0+Kevx183 zaQa=l4lQn4e%^h+2Mx)YTcn#3@iL7ai}9ZhXUvB&e6h0P(_$4>m=y`t(3?@sFEzz% z@Q_esj%qS>mA^*;Y2!M7mV4a4beL#&z>V&$(=;naLV4PwB1CWUywFIha=Z`2PU2#W z@@tesVRI2-!)UC}X&d-d2P?brIFv4H$%+6(fU|G@o0#?P?g-DR3apE@*$j5&24eIr zgBLTUTR{aLhJdh-BJ$u!vY{cQi-~1;7c{8@xUYas=i8&sAp0BrHz;dBTzG7sQduQE z3~{|1`7F#HG|1t|t51KU|290FUcI=LB5DWcE^w4~k#&{3op^UufqmZV#~?VHfj^$a z!g;Lcn))YfrZ9K97y$rJ@7lhVGOq8fwv6MX$IM)u(q}$6}Jj&E)D(1)u}I{0+9qscdZ!_2hwNd;*ep z{THgHxBWz&h%Ai6=m(N5gxP#Xq=ZFY(P$odV-rBY=+O6+YU}I7pZ)dq%lqro?YMVC z*ZLMS<1PuG@wINLxR{2n7~BxrU>)ZbBOfBl`WaJ*sb3UxoCg_Rs=8ra(`p?PraIxy zZNjXkigvcshK&V9Lli!FhUAxMsVN!FO(IZ1LJ^ zY`V#hbDk+ayxNPqY>EcbdwBICiIeSH&_;LoHFiVWFR+k@NGT z*fGJSRU-ht&`GTV>q?2hAJbqJw65Ey37SE4aQQBjLgIR0p-ytfPs^IC!OQb>vpr^k zE0bH0-(qr3#EeXN`ocqDbp-vJyZS4cG0&i<5p2{)`7fXK?GvPKmMK1LM6F|u)u}c9 z>EHBwe9rp$#OJaG)rif~PSs!)OIl6fBKpK4ix{728jb=@j|H>^qby2e&*LWJ80eNf zX>bla#@~M(9BzOUAs50_T3@f9sXLv)f^_m+2O4@E8vbdeukQrwKi_}d{TaN6&yP0; zy-oUL>|+=@d~Z5-nPMhISj419N{8Ki)D*c0Qk&@6;f+D(k1yejmG-uBVItkUtFv;U zEbA?UxhzwcnQQKUU{u5px;z*O#-4|LKk067$#C3ewV0zmxHE%gY4jZ}aZJ`n@Q~{T zO-4GMm`4cLqMbygDDT95nFd)t`+5E+y1d~42^_u^9b)PSck>IvW6>Sq>sVyou0n@v z?vs}QZUzVTTL)9UcQO>hJchkgy3w0Qxp@VEK6jbMww>CRCxJmAX7+n2_f1=T9Qz-j zvY$d4>1ly5KDI5MElw39sSB3D=r$86O-(2=X3$<*+RvFoVWjuw2fk7-DsN0(=(A>E z9TH}g^*=yEg%pz9xI!Sh#^)WSajRpOl)H(hu78S#>4(;dAd)575|w?CJDr!fwirmH zfM%KC$GXcBQF;eS=Lrc=5nw#M<~5n;DPrbjT=gn&-cg*$k?ejd^ex2h{kTgp(EF3A(d{8Cl6+br> z#U?yaa8HCrJ zA&QZ>xgm=V2^HcI$uw#kTEF^2=PUEcTO{xiT$Tx7z;>( zc|sCu?(}Hx+NzMSLvlRj^So!D2xJ%EHw`%eiK)IdAcp1?(4o_EjLJ9rejxFtEhio> zd?Cl%Y!yrIWcba%XY`g4YCNQ*58HOvjkuC5$)G3tkR*V5AnRf9uF1eUkD+&k{$XZw zQ6k$illWf6!f0cHXTruKktuG^5c|THp|IgXk`(&aRTjC`&iPYKAeYxDT0_BXGlfA3 z01p+jnNL|Z-w(BEgBQ*)Pr+2zS3tOH`rC0R!(zld`qc;Ysf{SMgmi6mD|VBVx7wQB zFyhE>+S3;&CS#X{2nGgDe{&|vGW=ni77%^_zUkwPz1gOj+yqmnjL#8`vgKtoGc3x( z`5vUvEE#J&sO}!^*I+cxxuJ6+#Of$9K`&jo%2m((s*@{@Jpk84dC@#1lwzOWp*nOFC--jeZB-}%Blz~41IK)}*cx|kN8X>9iOE@Z-h!^U zStw1@$s!|y2?Yhf9*9Nx{^dL;A&kT$pR7YySLKw*I0RCQm$}j6(IRWOnG_HcV!Ozl zKx?DioWbi5-cklOot{G*ajXg~Sf=h|nn1#Gqyl_O#^$~eT1whuo5xUe#i7GmLdv}n;{3z`A_;+k zizJr0J|!9MTIWZSVKwqNfgGO&Ax%vC@({%%O-6%Qa+GKu@0kNlF|^E!kL#2!+Cgma zMR^ML2$=TawQDlX&guNg4+4pq9!9zdHs;lIXpu-U_is$%hV0^ko*cu&E9_(flC`PH zwZl;ptd|9#U!3Weyds0F4)Yd2kG%dW_6puXN2Ln^5V!bw!q@1`FP0OvAKiw#y_bc7 zP;nw)UQJ;@PuAd2SC!f3cR63=D9vKjG(XNoQHkh+Drn|frG&G5OXqe$w=a)-gY|iy z%(ywgS9idz)60!2pFm|_h4B4T{r(92#qSQoudkm!y}dmBuKL@J?l&&P*0zr;yg4j} z_KCp=K#Akrfaw>g1R~oK&9r@5+8R{bh1teb!6q+47lS4SwkTJp>&jwr+vX-7V8C0K z&3;JXFAN054TfkDCBQ|M_7OJy{R8DC9UtB6Mfh&ysVmko`30|3pxkJjm#nK#ltZcQhsEbnK?0hjGiVULkA5=cAr6G zZ2oe!141I5e2f?;G#zTnkBJ0~1LUJP#LWc>p(1&@q1ur41=qavy_e{Az|NbbM25TW zC6&sLCvpziX;HuqyE$&!%!G8K2R>4dMgQ5)ct}`hKGVb;LiH0TH`AN|p-p|?r(1s- zPBqOa$GCMb}<3_(|wrLKh+6C z1&zC{-1e&ZE}%@br9o>iAZD0>qT@=hR-VOe-Ad;YEX9h9rYp?|biu#gtCAon1El5V zYyJ1m4x9`ksPE1vOn^C5Ygl1mE_R!KAzU5+Fv+_|D-_=m^< z_;6FElNGjn!*>H4?trrkSkwkVf_$Ls$(QTVE=QBomPe~{Wx$Kb<7lpmWYE{zI%F?i z6^$;h@B@I0Gza^orA3kP<$M?2(kUcf%h0d+?tR}DnS)i6tAu~IfN+QEH>Jl3Ux>bT zTTfVrJnlHzo6%X3d6O$sL|*}Nk}+K0lE93p%VaZ>V8U{%FB}nB6#(iDl^1z=;t=N= zJKsHeYiV*5q!V~rSwTTN4b63gs65tp(Oloj|yG;7Ov zFEiv~qTD}o?Wg$!o6ReMTwhQ!N&?@1NW@FFc8?kxk*(`rG1>U;mT-2x;6<%!yF_E0 z+wstmoPM*BxWG8(cIHjbC#_+&`Bjr?#;hDWCz1|5bFK?z0spaDXP(F1BdfHh9wG z-|yD!R5@G1Rx)!`ms_8%_51Q#MYn&`=`_oBbiqd8b_b0mB(kp8>udw zJ@80!0I?&w0rNQkHwBAKa;wEG%<~vZ96a^fCiTKO2?nBt6U?qrs*ENn(oX55yb`iS zvK*nEXvW)RY>#(@e5?#cj!$|ljCRQ(-EB>sp;#h9fs_Z5&{z#d4i17Ylah&W=;Q$; z1zdILIg;lgJIim5aEX%WRR$4>|Qo6dKQu znOVx@-g&cB<5ySbg@K12(^(yStjv^!Q*J~oAT}3{%fd-9($FglT%*i6T=={h^PK-E zULbUu!?VAT@A1i%8p_7viH}cCIQu*%+VfyFOO28v+7yBd_yEM9@}ip)|p*+tN|2yTOb zHn+@h(K5R!HkDPxiRMjuz-tcC10g7L&5K2`|6HEh_@Cij{p(SIV72q%Fq4JZ=Z#SkK=REv&X~^z77iiZa;j1Ah-QTq>LQw0cF1N3MlhC3GXO%ctLLew z?*rE_=}T*8^OKkSBUL>y`5s&keAYDI2s|2S4s{7_6knr7&@Y3|t28Mpf^wr4@TWGd{r3-m{HO1xeGU38b_YB)1w zus@;lJ-W(i8AkzPj@7%o4A{*Ywso*A)$vM&LuIv~3D&of?U+MZ(wQ`w+Ctq7u&WdG zNRdw`JO3h)8aks4jwCdKbGwa~=(ZITJydrg=`-zOmmsqZBQhzM2O~7#JHA2n$uLzVYLO^o#8ri za>mM&1vX8wh6hNx!TZ~O+>F(UXGhm0W8Y3F7TG>4}_8M}%ce*zgE$(J55 z#vMi(JIck%k6BDy%#Nz3q?Os;On(O2N(qh#-}aX=di7zXfNxQDaS|34q_l$De@A zO}_L6`c96>j`u>3bD6G>dZ9}4QLW?}4`aK=?D?8`{`h`j_Zq)UpE4F~fy)@GP@u z9Hl*{F-2cM+}x0KF1`PJtV;mf_HOgajGa#yk1c3b1l+=qNj6fmA-hGzGk)-Ip|7g* zMNZIJ`?jgfDLau2+0$*uuCt~(75^0;R?E@yF4yL>AQIYrzvAPiJ#+_1ccYxVCjwE6 z2Rde^Oe+_`qD;3oid0b^!gGAtO*h>LII&{oQ^A@ck#XD?N{ybNf5EZ{nM}Xon==kl z#mpZvi0?yL7l4o9zZa4x!bwncRN%5ox19X!v<{HZpwP>L_!vH>jP%LVv~Z6^%U=Uq zADIyHVT84Nsu0Q;h`>2YMhYhc*F2pPS4&oW%lBNr2YJC6#ctlDeufvh3Ha0L^A)~6 z)vLXq-b*?K~SSq@*gA`PR1M577>cK{F zU-X|qg$|}C$F3$3Boo1|f5I~T(EeEf=9e%+-wY-u{iTBRtbiX3SANwxrpIA9u5k)A zVmLljIsr5CJzd9XK~jg8WimRl;6doL+hlV>QdVYYOuz2O!3$^~+X2hP%k-9Y#Art7&e)SftgOnzm~n`A-ABIVT!m62yz zil$|T{Ef90EQ4Zp%UU=~nNCUgu<$gqnV{V?vm!L#c%Xez*WyLth#{pOG>@{SNyIx| zukJoVkz^SOj1M+p^X{q@oJjYL; zKTgk?132z>fk~Cm{+ml4 zKK1G%j9}U^Bzo$c_Dg1F1Q#U4*rRCfs8tTxVTAmmW)MdfXguS_FVp-oX9m^sQmk92Np!@8@vH)bvzp^+ z8sPE^T&@?d-zT&;o}@_aWZ}(#&JV5)WtjB^RG~)!l?mz13H+hWTDANaP>W1V~m42uGvxSMLt9%NJc1;8Q>5%dRS+=)W}# zQY)>E25Nw^%6pKiN7YPJtjLzyf*2)xa6U7i5_W9>?|f`Ax1du{a_=D@@r4kpkDNe9 z(l3Dy;%m7cXR~Mb55SM@k*4X{k-2^Lw%I!UsTJrQZZscZ-7unBnMvuVHD&-@3!sC& zki-`gK$5v<@Ih@iwtw8KFz3t%ELh>p_kl#IW^ag1Ir_wMJSaq$Me<0)PW>U% zMTDc8ST+Z81k#%a>pJTB>-`p2XxlRbHxaCZ1|yapMMnW(oMs*2Eut`TKF=c}r&eG_ zujrIfJ+mouM$tnt*Ex=CVV44#iq`g1;TxB;K4CPgG_AQGqfr#I+ZOc3&qrJZ)33~I z>g&QNo{QBpT`C~Z@9>=C3=)chw*YjaNd6SlD z=RHPoco_d8FTk7Y^M>F!@2#XA14{vk!ov_?vWX4XO`mAi6bl{1XW3#O}&1e4s+qe!OlQg z(i8MdC&+GnmSMcwnmO$4ILT|4C|~z-o;qI}Zd!u!tZBur2`R7!u+IPTncqIa7JjNJ z-y)E@9aJ~)g1bNd+h2i;m3gmwK_qOg34PYqarnLnBI2z#Ci zm{xfwey9nMM>#|uZl>vEgtZG=OrpyWYanGRx{c!D8&hP<-tT*V$50X;TeZJD4vShi z;%~o-G5Tgw|L)(P@5g=D7$qPG$0Qsm z*FAIgEKw77Qa0b}Um_W*gkfznVg>Y{ar(Vu&=I8xc)>n10p2hYoN2uy7dj_~1Po!J z7NqGc$DTeOyuu0Tlq0C~OqCBMN)YP~F#xuMjk-*YU6)w-u-Ud+GJi6c5`bT>1tN2(Q2^?ajt!pAL2f?H zvzxFvz$7dW`(z=jXs!0Akh2{#H|k)y9ggR-I#S!P9hh}RIW>7G5}?eA8Tw--Ts^%N z1wr&$!?QtP#Lg5Qc2^}S%~vyG@nDVCx8*uZv!@gsdzqpS)DLBB3PAqCL@iD2=@#E1xvbMV;1X_k*qfP`naFRp(8yQ9ec9JJP-V>Ym3#2nWE2A+oueetOdBR<_Jd)si zu{swqxrF+97}J`=44A9!3K}$lW6^%~9ZyReAutHPG)^^9VTTeO**UDI7Pi@Q&Zq2y zK8mz_3S202gFM@)M`|z3v#p*-e8#zVi`TJnO|Ir}JdMJEUhCb5qfGbu+i+80tj;&Z zj>bg`jm2SRl3&wLQ<2w~(vc6;1PcoEKg*qgvMAxadag|S>fQPM@@}`|KuXY(Mle?8 zJvxOzaTb}pVg!XVx#3V_9x7FtfD`B2b`U)D~F1?u~ zMcE|izwC)E(Q8&u#W+Y}FZlaMVDnB^I|PV+qw!5aF}M5v=#fz-bwj#{61NLL;>{vE z`=i+2JtAD@!(nUY^m4t#6;>fP!3-1T(fDrivF((Ge1ZZE${6B}%YgG^u!@8;VdF<( z2hBXlMJn?uFv-}`GL*!L{0XCV+=@s8yA^@564#HsB3eg6_6{>iSIsL&qH5VJQ)`iV=J^w zowfPF140o)<@KC{`dlS#SVc2nR$q-(JZMb!`8+_7;7=-mONaz}>z)Yh1cEfhb-UYw z@b=k<X8ruoG5~|##HR$?5vQ%j&9GDe z`Bngx{63NhpZ47mep7IN?Z!%@gRgeni=g-O_dKFRJGp>VK!)xF^xlp@Li9Y$>bI>G zzYJltH>rq+cHcY}BI{q?AX>OgSqnAGf1D^nmsJxbS7Esx!EWCpGfmOA3uS@naX00* z&vdaOdY3U}s?6J5`l5j|A`ycS5HKfv$-iIy5k5UU z?Z3V}Urzhk4W6JXw}n5;&%0=2$Nnw)^~}zAN6fO3lry~8uRu=XVTkL$F?;PNldqjg zwU>@4U_644J~1~QZ=-bC*=1!8S$8~(lLtz;K$pqWy!L3V`Sis<#)kwEmk?qxgz;U| zFV95bewTCrBQHnS550t(eSfl`eY6zizEH}({kR7gS0 zIAR$A4^EP;H_gPWM;E{_rZt-3U-DC_>TzC);_-m7Amf6-yMyBz)lGmwuU zggH*;2HCqPMv$8Qz%m-}*a>xfP?|;*sO~Zr-y@j#K-pkyGB4Y4X08)ogZbZN9?d%g zUb3M%DZn<3Uz?Qx&HRc!2pBC%#Kz8v%XITk#rS0wOZsj_-A^|WnUk01x|@>fL+(Tk z1m9CSr5iVly=}0XUOs4$^|7klTQXqdqv>YPgsaiCMA3A6Ggyd9^nL@WhK;Muh^2F2 zBCfR)K@5?ewcaOy$~alXDI!#LCcjFR68MznY!iSxF~ea@sG#R#xe(tc!AGc=-T0s+ zH3&`_9*HxJWc~>Wi)I&}t7$dnT@ZyH{w9SHWk?4MUpeShJu8eHGkou?38I9|kL}6I zobpe2eq(m-X6F#c5qO#NYpC2jPx_r)I^>QkV6Bc;SH`tOAyX0;GePvu1rKl(vP64F zH8szQgr+7QV2ygSm{oIq(WR#svOO}~JZ$Npwy8~9mnW;y7SWDY5Y4+MDt*4Q97f8i zrQq^1=*HQ#Iy7g`g3+pk zx#gQ|Oe>Oko0JxVtqY=g7Z$!lh1wS0&3IYV;Ej&IBwp_Rg*bG1`Iv0`%Sch^j@z@S z?n#Q0<#RruUf6qsPa9r*u=94SXmLQPMBh-qCz@yP{NI)g|hMOk9pCDwby zV0w^VKDt6xu0!q+eLw#4_i*_2_4V;|znr>8&3cYTTFAA}$dOBYTBICFseKmYQuD8) zge&>4)nEE<`2Fn*%8SMKm=ubnWpR5-_5xSQ4vkQoTAio2mCPT1i%a|G{que8pW8-`dzsojm(H70#AC+S@0AD+EumL~n?BE8yP+=gn^Y0?@!|f@MYVPhcA*Q2;fNt~$!7}uE+CQX zDuloG)9%On>*>(9R#bo_2g(lxpCYJ2P;`9AaA)W5H^^*Gcwsh#g{;EDuI_t?*Bje& zcb4ELGpukvd#fq7jho2`v#w(s5mgK*CY5f^>W@vwH0u74k->fO`iV zvqns##fG-{=#J%so8#HQvxE-Dw-$5Z2C0rF9T-ahJ+qwM`Ru4(#woWem+D?zq1UVxvRzEPN&E-|#oH5qBBaq04$rkT4ID zUTXIVANQoFR)ibSth`~OUYe({%Y29HAJ}*bcFM#}njhm?@i#L7PUdT5SA%R|rC)=p z4>V~KNM^#L4Cr~qxJsr=gz7Q4$$OsNA+Z^6#rU?rT|8gUJ>~Iv@#eNM0E*;ucp%il zu{d;mn{JN`BabGl)7{9sMDGp#$0p2azYW|3mhT$V(BxpJFg$vJIv3a{V@N9)H^O!v zanqix`O|^b2YgIqBEo*=?RG>5wAjIRQtat4Dt> zm0ZsKAWm`5`*r*_xB0Hte**Wkuik<^SdDof%&uR63Y;jnDR6j0Sa!N|vAS1u>P`>` z`xo>?Lk8Ve6?xwW34*9MhcIs9pGY;VAGwZu(KN-ja6Raq9O7GWnmPlasq&uot%kX2 zg2_Ui*$ZfE!fBYJBThN=NCHS0qNe-1+PR4OYQ?;s2S1+0y!t1VLA#<8y@T2(3E8Zh zXJDxqbM(i8l|JDsj!2_0AI9;`bl|ypvgOGa^fLiZ;XTTP@H8aie)MeujByq}FI?dLc(G@(ru;%J%+FxF&?n&Ts{ZUP63_zz>c3vKiu4BTvAeMkTr?Z4oEKpg7 z+!04&cxWCxlFqy+R<7+W8J*}MsywlsWNdKj$$iq~oeRJV9S^;KRk5uo&c|x1C&O=D zwIuBG-kBTJ7Y)40uwO~s2k_aJX{sq|7f(Q3%pXJc=X`=bZftrKG$-RTeLme)2{59M zb`05vruY5YkThd^1K_t|!m4U(J~Ma<`B1e(`Q_NPJ|2p%r`P2(9G>)hI^2%AAyP{V zVqQKT(7z9KxV&L`Qn?#EvDnoV52t!=W}}dU-T@!3YV}aL9Vy;R!j!`X7PbbY0U1o; zAcP9K7|{F;!o}*2oM_G-aDwN2Lw%66dM#$_gf{8k^6v6^S~Oculy2jixn%JIsl2cc8!4rRfPP~uy&MqW5v$Pb828f)P-_1&N1TAJW&+app z#w=^izldqzb1PVaY~xZhR*j`#MsJ>~B^kY?g|5mB*rTkVZEp@4TEicYg7gDNslfuXXIPN*QuEPu_X;Pn< zxFf|GI6R2LD1d9eD0cNv2&k;3xzcU3D&!zYy#xPPcy%@pv=lYux|=GSN}SdTTZLXL zwB~H5B6>bPxtBEA(cAD=tH3JGebTI`9AC}2< zB@%}QoH3}JYOHu`qrUchL7HR}&6jkm$auur3r8_=f{#HFK2rw5IN*+(SOv!m_^Zlf zZAuPvTgH|9muQqH37xr?7)Rk~`~uKX6$~6bE#*#CTznkswevUUX?>5q&<=eDoPcm<-D{ponHeK}XN6470ECk|-WCrHpe#n^z= za5uFqd>dH5GlRvp2Tfpt{u%?yfLi&c>AT9+&Z)f%gkoNTUL4Q}b}0&zJ$cc1h&{YF zD$ETI>E2b@xJeJo14^X37A#;e!hp(b?Bdt!GWT(py)=o=-u|6soHS8;ydBJUbv7e(`p#j4jY;+?2WB&$x^-DScL{7g}ZSfP|jySsT!9ITK{ zrAms4xZm&1LXOF!TrYCUx9R)#GwYqOHBG|fblKgUS+aAYnf6`z&Mq*Zylrak=!uEF z);#5bi3t-rD+bTbf5sObLpQY2kWR{1;ZFu{=#UQOqLdj}3P>v#A0XC(lo32NG=p^$ z?P6#yelVcQpC|vhuxRzND$g-JI&(~h7gfSQb(Xe#-cB0Zk+={DMOwd#W;dgvdF zqh$l^-t>w-&Ctwo)V#sgII1%vAiCLe20c8niL-%q z6CJ+7phquJ{0xh<=JuAAa=)Mv(Fg;xZJQ~xY3Cbu(_Vi4`tpC<`WWC8fAB-|<@3us zZ?E?U&rjzY2R`k3kp$E>^k4S)FRiP}rRikHXb&Po>;yKjov@`u2hEMXGzn1xWeK%3 z%6jADJhFgCLb8KusbYN?kmpZmS{eNS;V$|%rwO{RA`Ylkx{t7CK*HfYKZhN>(a z%JxLaYGP8m=zG0w!pd-Tsla4sqyF4kbeM!`pwYG(y4>bM7B7ZW_zEd1ADXBs1!+B2 z2S4oPiL!~ZB*6{D;Icq78jYz0y)UpNe`Y6Pjvi~MWa=k=qu$N=KCGJOgIx0Eas%}1 z4ITB~G2KQ-x_l!3ca#*1O zxRy=}irFkbNL^LwE-Ni6G#j;con0vxYd{U3%M!6gR0@1f27%A#qskPy05yY$@W=dk zTLO7#>j{uSpLevHYN|Ud2Aftugxv54x13+A1ysd(>K3>dSo06;=ZWKfIEggTwcyu6 zTnl+E^tCY8A|G%OE>4sGNN>4iPa^$&lw6w z=~%RI_AVTEII~H~DNawiyZCMvyG!n7y}QhA&Ua7IxMS8mXCOfOo83IcqqpN7=WSy} zM3S1zpaDkA1~Ir6q=O|85J4tej-X4qB=ZD7Fhb1I!Jyl@SiO*+V-n6r=Gv0Y-R**V zMz$LfOEg~1#zrL7f(lhF>A>W-y%8n}?;e0Vb$qc+uJXV;ZzJvPXfP&w%sW$5q_NWk z<%EC<$_W=9jiz!Rt}~?{wNN>3nTKuR5E0pu!#99@$d@VGCcUWZ>6LqHQ`?3#tVB{H zw$lM}1YMaDz>~%D1Z6Fo3K24lx>kL{9<)vpV1}_&AyIjCm+3QNTLcN&(W(u7iiMCD z1Ie!)lY|H$ZUcxYDwFx$CkII-5n)Rvgix-#S0&q<$&}oL*$f(pcsRM~bJv|9qjhLk z$SpUy*$8r#T&(eKV5hNFBKUSxDcHIdKs#JapA3^g2oG^JySSfnw`qoEdlbgaFIDWK zB91)qL@{>r9Rn9wmE3T z6KObDfanMul_j?@P8`($(oAuw3@F#XkIqrC46MR^d_H~;#%CV6AulkOE~n}=f#*rx zo*!4^d_qOa1=HfK+20JPZ4f+hxH?bqncse7goN{ zaZDrcRc6?yep`>_ozlKxt_vSR~cYP~WJrPD|R_DRU(i&<&JtB0nY{M31Q#j24jyK&T(vM!XF%D#p5C9>1 zd^0~SXEZ1XVKc4N#9F4R5RoI0anQ{XLRW;(I^pq~Hv3~GercsGvLa#lF}7w5Hf= zb+#(`3_jdZ)UizLCyTlDiL)up?b*>=Cchl81&7MeJOdrd(lMRlkxgHRq82&?p|f7w zCWwk=!eG7yCq+g^CCXD4mE=hp*kmDh1bke)G^pbvXCc63!TAI(Kfr$t1c7gd*|m+1 z(kM6`RvkzOr3q@Z4k*g1MnT?)K`T$!Cv8;%0{$;-=xfWv$Vt;P+j*F`!gyz>0_e+G zl4Y^p$k=Q8v|)F4HT;6NSmnLF!H7hX*HhFMu-Un8_A`FT+7#YSrFUrDQtsa>;Ztm= z;>$P2tMEo)-F9A@iXU>I+~!wiVi7!ah3#+=I#wF-a>+&gfV_T+{8rdY&h9*lrKE0a z_8@>egf;QFA)0cVR*Vq-)*kB_J*Q6cJ#BKCdo%U)!02@1X88v?}XhfY>gJVGkzQ;_VcAm5;>KvXM zJ2}1phun!k%$e3$&N}d9p5A9EEX4_s7y&PY3E+)ss#UuKY24)Jvc5L8Axm*FfWqs) zgPhNHLY=UnZcWMUjR_5{)-26Ef&^rzzX9MRe>6)eB>}+jo)f4Q0Qz8mCc@2h3+T|RxlH*~YS2Ku3Lr5qX9J~msYK^4 zPgrMm{~J!`DzVy>8fwHcoz(_g;;(x_rs-}yg*DiNAf0y7ZWng^m2fm1n%HO__(xRw zrpZk2f2SzmkZjJR^E-kt9E3R=cRnnSx4eaZ5ID}l<9x0mlG z)6~mBIIcA0;`ZA{;PD`bI#`WdVxyq0M``8PPlj*apFdwedzTOBmOmCR+ez@Kmb3yx zCb$kQT{ps>7!H%yOSZP+NIW{FV}#TI?p;NB`M4wQ$ zoh6~I=80huXP?}&XOXRHiG|&r*z{h3yJ_k-C2!tDwgIZ-9UKfa>o~mY5$lKrAO=j@ z+h37V(+^n@CaQY4uhU4@yPj}wKlN9WNGMFwC?R78=KJ0hK!Wh7e8bW!Vs@g0hgnj7 zpQ(OW9ITh52o&|yEO5UI{N`_cSyJo{IrmDQ$Ws<~ zcvG_=JE6nfPHoYV)?L&2yo#XODyXm`&D8#vAHBEa+iH$6Um>kj1%UgrG>>zVb*!2> z@`2EK_X4VNc$m7tBrB3vN12Cl?)rF46sMu)(Sn+6XAFh%ZlXWjHdJleh+u8(g_BhNO>%I1xZps z&Wy(BUbNW1y*qi$KZn&-&g37d`se1Lglm<*${aP~_^`t9Az#oPFX0&c6R|)a+M6r) zM8Hv+S^t5EZ-xgSZ%{^fjy@LMNHQUe1Qu4yD&V7mTG%J1_&t4CjM+K>tOJtEtqUK$=RJQpA#J zWHW;}OMx*J0_x%cD(J3O9@f2YGUjrbSQvk>H$-2>oIp!6a6 zg}ncA$bZ;4Htq1cWiZk-@EJWTLJZlAA|{4u9f0*Dv-d`GDXVf4G1l$w`%}GjcY$9) zGIn@PV@j{y$(Kq0QNBG~%E~xb3?3?ZtTR7vi_Fd5*wXe$;fa}}q=knzbIt;0A0r+? z-miBnxQl27*_QlxKus&BE;^-)?C%&{oU$DbuObur? z4da$)3nICC(>q7*_yp!0%U+|q^a{M-=btTEYB>$-mpm5{YDxQ;F1tk9!6Ul97Rl_H zM9XEE3ARLf+l?wkt<|90bd$YUxd0-EM8?YWMmu+;_AWVGtXZmZd*N z*bSaqUX$0w4H+H8K-Op8-!JFmK@HB2-T{wP+`p?^ks14V!du48GRo#tB|F(G0cseR z2QR$A(|sR<3dzdq6wp!uv?eZ~Efj-WzoW%$$D(Z<%M@lsyN^>JY04q~Fsaol0N-AA zpW;M;uDI(uyB{Uz4l&4nv zE8d)E!Fso}5ApH)IL^u4gb(|q3_fh0a8^8J_MA-6pZkfI!#f%QbLJvXX26i7nO)6H z!CY=Oht30)#7Yj>`1R=xvqhOKSTbbnn#ZGMM6?#mn#{E%5hssT9F;?{4#utRi93dF zM5t@y(gr9SvSQ24ER$A)z(*USVuMFOTiwVwy zb9D&}INRi}6n=5!yU@eE5_kuTU2Mc9XyJpSVi2%wa2;sInk0qhjRj-14PE(^TNTap zEno3%mQR~d;%uV-E#mBjY~~64Hjj=3LrYSLD*IEHd)ScL-`lBSO+@`PBJdIEjDdLXMgIUaZ{1!Y;4y?yza+ZIBmA$0^>%3G09t#vei62On}gO% zvo7u*EC1MJo(vyFMgIVrbV#7B9^b~UPQx!LOtfg6BvePnqMV(4qR!Kr{!s|Zu|T~2 zyoldjS(aKv^i@8c6)j3eFrjA@wCd#I^>z)lMEl8R*C=^&`?)WZR+_o6$RNf$RQK#?Jz{1mT7fEfZ(@?u~<}YE+*S5 zmK%j&l0Xz$DrauBcSdjslHNhcuu%I{RSgJ&8K?F`$MTRptGN!8@ z3s%aivVVAw8RJFmN;%!3knaeN*tLE~jZcQ&q(2Prw>KfZ^H~cZ z5?kOPYVSW*0l^)@)g>rd9`Lsj@g|)Z!nO*!GMbMcRAMX%1&Sj*6Uo6t5|7aj<2gEm zk2YP6Ah#nNm7d!qQY8~T6-mXkoFi1h9fDjB20?O7(eB3WnbdFtheC}`dY0U0>;^>_!@Xd|--(f((<$24tpfJ?fO8BG?XwG(OtyyOfR< zN=)K%FrcOJnu&@IlBo%t)<9dIkxgJF6@X2%an8%^Fdev!$@aX#&`?yTigx}(#-*Gf zdr{-0Qp+8dsCQU4@LV}3WSPYi;*#28(9l}x)hmimKV4oP&v)Y}qrS{-8Zttaqt#&% zS-Q5BByIfDfkY^W&HV#B-<(OxPd!GG0|GyJou@KpRUXAGXFFH|mM1tdIG%h4 z8T$g6+??NkQs1$f+wVvrsRz3nPi7XDHgA_|y}j>L+=g>T`(X~o2@M!ucEo3eibWJX z7@4*|HSqmN7G`(d;xRh=cE6O3+Qz@Ym_0WU*gW$xP^3Y?;zxs1d|f8~swzGaCJ}tJ zd_7)Z0GarZ^#uVwQUMThNz>6YEFI8o#aau4NY$~E7~ftW!3BW6WBE4!4ShoIoevL& zWJ4S|8i5gfsGO9CEglMGk0D?E%rD=bkKQ(Ot1gS)0mXOKoBbf@440I?<^qBD0}~c1A}k9(dbFrryJD>^sWw ztXqK(_k3YEpxkVQ70s;Q6d88lFo)SU5{a+mrAf%K^+XxbH=NMcW`GoQ^V!z|H(%Qf z_bCyj{;yuKh-t=trjd+fVO*3ax3ttK0SZU6<&}dG413{(m9ty5gELZ!>Cke&J~Cxb z+n9n*6|<=7weX$eRXQh*%kmU{DlzZ%g|Gg0djp5x>;2m2Pwy{}=k+%F^v!8MPg+Ty z?ndTk*RHP0?Z|E#5j`OM{DLNkaq_k9_hE!tNixvTH=ar7PfMfG>U_if>TD#l(QW8{ zWn#QK>f=C^`#1XZFwZ&v;leK+YX7)99(F&!etCO+y5FwH!|0WQ-#T3Md6=BKk2*OW zn8k!z`>BrqGJou~WVpCj90EI7?&7j3ZDx5fb@X}S<2Wm)9A?NxBHBuGHVluB%T*d8 z{BSfl;1NEvxo6ztYWi{Hx*0_iiy0f3GPgS|{t{rAtT-#K7zm7*qTTn(K1?^~1nSHw z>5T;d8Skt;oSdC)1w?n6=LSm{$E2&M-*{&M&)KcszL+9!{<#Oa)Yk zPRt!oCQuzl*i8EcS8!84Z_W*(m`=vc3qe(NmRf*G`tlX7WO0!PQKBy%N?14>VKu@P zd8M(gggoWzPhTW~JU37vX)(A~sz`tny_!_nprK%orhnsgGBt;=zh4;c3Rn4QK0yZ@ zRw|?07?YGET+OEft?c_=WvncRzHA0)P$R>(Dru;X!l%DjK8yLx=%c@GY3>hV5<4yy zM86)@b*31trRT-dg%NIId8YS_PpVw6xX^e8Ox<|~p5L|^WcvU{WFNk6r=e^as&oHer~$#rqBe=Q_yA`Dz-8+*1k+aLqY)rT{j%aTV8MiNMoqTS z3pG8`>@vuM+q0^Yl$h^bIr11#Oa+YV+z?>fFdI(8!^HKDZ*^M)Vs+g#Gh0Z?S{taK zuIw63HG4#+XyJ;J@M^o-d!_{GT@HLSCrCFKDSm9&jo9&6eby%Gz?z|;>_Yx7PqVOY z)dx=+M|a6f(kAY?In7D|Ivx3OPP}?7D0mG3ru>GB1sFVRNKV;mgJI#zr zVMrFc@HHIOR*<$V&ig=?(Qi^i*}xGJHNcGX?>Qlf0_=Nk3|xCqK)7;3SkPQ<6Frj9 zf!DSuG}n~txxbGgyiu#XO^a~JWSN|XOF!(`|Dh=GSu2_WN(!dG9BJ%vMr*{W{6vw* z*9*eAEFcWS05#p%VFz#5+c8iIrP!}HSJ#MzJ=JzLxNcxRI3$DH81 zx6zDzdk)P70gK~~k{>Nf$`IKFbFSOvG^2=0Ht}&{A_iHElj@AeeG2B-30~!07L`Fv z&oLap!%~j7xo8&*CNMNNWyK6I3E@Rl7m90`X!tHY-1WS>QtyKsGx{d~LI%CTr71<~rzS!Y(fLVqeaYc+r z6&X3O)e#1i;lgEwWUP})0C=vC?Ty%I!00_dnuH9+=onfA%+W4SRxiU8Qt~6%L8B?4 zs&#;u+##fR)bKTCU}Kt>j6D&F_+AtwJLw#XL%k6%rlh3&VkIk*qTg*mos0hp(aNDB z#kJ|P;jP=Hle3fsylY^!oDJB|Dhd(G%?`5BWk~AAWgx+%Ctx?HBz+oD@OnBjvzTKHopH26ly2e;}2s%3(Qsk>a9@m4~)c z$(l5V+QCre^SB87^U{RsAR6&*O6g}ty{@}i{Sk?n<`=o8vn^5tg zrfwl8m8z_{7iN6;yrQ@epTq{_Oy8pGaAQ5}tGtXC#{Dm)G|m35gQ-$6%fXAT`|Zk^ z*ud-AiiQ+sUID2^J$#(u+r|+}Z(dp=T!lliDXDx}VXCHy{$4b5%d5pb;>ibr9^<@< zP(q1S6MXSlb=8HM=}0g40+3ELk%l8mAdM|)Q!UmN7Dk&;?;@4r}mOsOUo( zVT=S#pgw8J<7*eYoA|H}6*2MT$Smzd25uDj(od#GSzQ+-k}(aXs7Oc}*epnshfKaS zQzIx`FfW``E4gP>+G_Q8#U97jw%n3y9h>Y}jQ}N(1|r42gPBeUi$u$GjY8aLTEhM8 zU)ld_dE~Ns{J8qVX;0>P+xYgM`>k1AZnih`_K)Z>w9>LITrz^;-lG`Wru)}StTKD# z;fhxWdNb?nUo@9Zy3}@nW}HbuJWm=pn!1{*%8Ihm5~ss%vzQEety-y&NyH){pX(sa zGy)!r$wMIy$l`@e*x#JZ``|;q`ZIT}7p5mm-;{~{3$$PM_n@6P5!T85-)f(x`>n0+ z&P;j%m_;R~7VEHz;;USCjo^qWeDIL7q^Yc%O1h_a`;Rt{WvyUsh zjgFv~KP}SttNM6YgraOvBfF5*DVatl5$@N2Z`LK)PD{KHkTn&-U|R;%j1V?WI9x`o z+g2;zYNl-S8RVmOo6`Aw1S%sVda{%>BU4#4C6%iZp=}?J#OXJ~4LQ+NQ`qze3aB%1 zL%bRw0#h6e*r~(~ZEI)xP6887*Z7d;X4#ut<7+=?1Yq`RiX`X&aT*_Mu7F{%q=yRi zr3hYaH0nM+cPDF}!l|NRj2Z&a42y+|ykKr&kOqhXctv(8(Lg@3f0_Vng#iN440~F; zrM!ckWETrmnz88apwSasuU+Yuq2{!0{AUFH)DRT96-b`8a+YOJy6rj`Id!f_+^iBj&eb@@s_##|pm>sZ=QTA>tcPEFv5Oky6a;KzAdFOFYmzVO<_zN1TSXH7!MsSMNiDyrP(7fruCcCb7NgYbo-p8C0EinbXBPm|D z1VJZm@0%=P0#y?WIwN1wfVmUqIPlBl<2&J-B20BDFX`379;;(GM8L0BBS5`mUU^r@<6J7@9Uk<9=2vTH6~&O9Rt?phu!toS675hn#<5zD8E>HR zMSp|bcQ+M75;3?K7r|J*-|!*?b!UsZF>X01*yhxfTTWj^LzxD{m=dj;U@KM0S_`mt!(}d_t{D zVgs`en}m0P?mt*@1j8TWyjYwz?(ZVv+kW6WAYqe4m3b`c0$3?PR#=D4VHZP-9)f%h zOoj27Lm9WH?GI;LLlW!u0AW~xiEYU3$`@|bDG%8RV>_eM)96A zm=Ne(oy;%&hvv6{DSwJ0JqGc}%h6_;??Kx|%pH&(FbzMEl&8}gxQ=-CAD!@Gvo3ep zLqEwvHgTp^F%_k3JtR?|?9Mu)@Sx+g>fLYf#tj{#N)}$p0I$R{EIKOE7P_af<6{;LhrsuDV9MGiux)JWswT@F_6 zT8Q=N+?seDE2o!guN6qU;7X5Z*KOX09k9Ul z6J@$8YWS^=Frc830cf4}->=qt$r-7`G#$b*&upQv{)k9bt6H+FjhqmywnP$X8BilE z0}l@~G14H}(q!)sDduuL#2==@an2TOn?1Xk*EWRlCQCRV%||%R->yU!-Z9!#W>rR; zayu|ex@l5L?M&Xy>*zTxJY<-h_%Ow2OY?>F#c{di)x5g3wdHMBzGP64ZlL6h!B`D{v_ z_!0JK9;e;-)rgaRtuIv^MbGUhzSwCl6TDK%**sZAhY2{TSGWc*&HF~f;;EU7xKeh0uW5U*@dMW=r=uHEC@n{haA#yj z>nZzj3DweL566Vxa8Web?GkNJIt$S#e?b^*|h*SY;Jy2B>}W1QxB$%hZ>*Wl#GKVJ;TKyM`fa z(Wd|-$lHdPC@ZVbf2GkpHyger-8tl`hP>$T2kD_i)ys(>InQuQgv0IZ6NW3EaVp;; z^2pX(wwwkv^kMm398};sWX7QlF0YS4AK=7vl5+jSmOnuq70DvmV(KgacyhGBBO&n+ z4%7v{(qg{MTEeA((hC)qti>Av3GiZTi_3XXfY+QmAy#)xHRI4u5983P7dtRgD`)X{ zC%}ypvzyzB(b}Y`fyacVg`wvr?|kZ)e6@_0+=EXm8iBIEPOv3H@_e5~fUXEtSsHD& zrFvA*Y2K5n*(3scs+>_xJUE*RXX1Yn`xgXd+K7c)cxdE3id@W;DvgC-4QR6{^x}L{ z67@218yd7Umvr7afuYZ0xUksJognE_&$yo267!zj%ER ze41dkcNuBWu|V>~jTS{XhAh~(u1EgSMQ}Oqy%r5OrlA+@xN-L4kd|LUC+ua@nX@Am zaUB!wc2Gqx^#FT9qHtyz3IemYbkfs9b4VmTVcvVW~=m>W# zZgCJ!ZD1U$0!&(Aj_8I8dME#NA4V20zs(KfCY=&>PGDnESD341`Mp39U=U3YOOhLX zhyXsXEzDq-r>SeD=BkuV(2lk}%f*r2(?r7BElA|ZyWMqtC)f9ocPQx?L)aXNGQ58{ zz4?|ha?P3(r`4g%Y&L(5e1r)I58TG7kH7rhQ)MPj?V&(BgH6ZzT z;6Mjpi;pgA{~=LmKdNfVxCYTPc`;GgaW>yK5p6v~WJWhK5jB3w*L0@+;{gWBL@Lz9 z>s|rmkk7(LwE)9zHg%X13z`PCsYx3r%Tow-`Z)ASi)_T5nh~&WMZ)hppj_#)!pZdw zgbB{O@T(lB{}dV?f!E8?Ol)l#>Iek zueP1+CiZ!M$y}Ce*?M<$<4d8b9Z%(~j$5^-Ql`nZkICHcP~7O>AZx}7S13bp;<%nD zgWlst<%5S#07)y?p}LQv?&HzwlK-2#$C##O31kRGLgGLM^oSAr1qDy}fkA>J+-dof zf-@`(ABL(8wHqe5buk;8Aw4f300Jfdt}YK$*MomF2ps@$`E}zoo%!Ei!`Jqn?G~L2 z=CDY>-w0YJ_H*6XzqbwW*Z*PLrftPiODRAeLiqal=P(T|dXEL&1bP^Q{9`FYO?57u zxj^6UVd1m@?pkE=nCtqnxj}~_Lv*WsbC*@HD5A=Cb0h4Q1oAZkf#>kd+?S6i)+n7Y z!p%F*MUH+n(W}_h;R)P~C?#(X@B80jRC0D&<#_=hh$H!O*-6{>eg$qen_zoImaJw8i$naE;TYiEfLTUv1L#}Xc zYKVDGF)Yy_ER1?wmS+WXW1ZU=NB`E<{7RocD`phFi!Y)7#}kC7M&@9Zj-;z_a3vjT~fh3 zGH0~&fOIvBN%|d_xAf%_);m0{VP;)--3YOhJ_^MwGn~ zdMARwe%j*QXHf}UDJwZ)Zn@!fU9nW^`ho7u-rRCel2?7()fHn|uj$u)t2wLDJ#su# zKdxR%E#6ae0l8#p7jyRs%sO5wXShV^Q{0So9k(%^6b6>;KxcxxdOYn($;aNkT6 zoPjqyZ41h7AjvH*`XBeF`Hr5G9>L@=KVe2+J_>J`=$g@fCLo?PnTWh+_-FN^w028)kI~g7PfyRhZLGGd7&QVMAUq+_$$h z==r4_*)K-RPOfp!Y|+XrNXviCJl|NeES^@A^dA5voTP&r-a{Lz7N^|yJ{z_!n({Fn zCRb8IxHe^-L^`nwXPof8)RO~uS&nSF@n;*VqJ@7$STXn2TS$VXeg<+H(vTS3hia=B zGnHu~8}2zYl|b`(<`Rm8k5I;0&WyB%=Qu6-NgTFV&<0H|J!>SNRClnb#Vn5>9TpHv zt6Rd`FWEP^AD+HSIpLqLR1?3huw<@UheJOIJI<67NU!l*1Y&U9?~)LnROLrji&$F? z!b+L(yCRkB>S3IRkInF;U12Xn|z_m zk2AyO78Fa85~QSAMO!=C28K%SE|v9n&kd_>^8^C4CHwyXat1d4gM+!*dlMmKIyJJ` z!{#&=wdzh5*)kK#U{29zeAwIzq%k=rNxCFy!T_FLK-N!+a@f>^;;jW40mTZ=uz%r2|x*W@RB+*f5S*kNNYXd9AI z(i}t$B<6+o$8TB;qn~?*V}ys8{T@wU2&_&&XGm}Y-CTEXaZ)m*g1zfZDd8mKb95_^ zRn)`_xbS6?6{CZa9ssXz4>RBpP76a34?U@&Ifu^h#gfbzGVmQ}MWrFAG(Q`qHbR3V z0ckOo&Rqv|G@3gs46Cr)EWu%rnj~;yAjEqqWJllYWW5axJa2=Lr|~YmPbq+etu0B3 zQiHF?Em5lc#mS3S;tX6MQki-<5c|F%{&ycNgb={2E4#7qJAL2~eHBr(Y~D&H)T>-_ zVs%%E^pko^aE3bkEZV9#Y-0}WgE`DOYy#PPP8P!LbNG`6NtpG9h3GTuvKCeVAe+)& z0AOA%H2jKg?m)o|nR&n#A#k>9Rvl%%u$_BT^t#k`Mtma34jj`8$?Y#_1?dAOj1x-B zRc%R0ZKlr>6M$+t6oi;+k@{%&qlA~6ZnF7U#P*G z-w^9N#lxQ{QemWNdn-rEaJ`*_qjsU zH8h#YK)oz)>wiv>Y^Kf&KeE+1d;`S+W3op5kduAA)mK_HAY!VId`k~Qj%hG}Wcutr z)5osi*tPSIh7Bh8D!mFZpiBAKi7;j(A29(WKUmBYN_z}p z+F+xMKhPmNeez|bI9*Q`4n%o^sYn}+t8RPc70%?~NI{=_jV~?&kaz`#Le-AHpm*U5 z;4(+ho*m*rw`-j`M3*w%2sGWGo_hMfO?ZY{$zHW{GmLAn%AMJxHr+U$$)-oOXtAR? zi7;L-kUgN54gG?>Rf5remUGZ=j~;uwhi(JHwfb@~s&|T!FQ6?rwlGZ@H5Ku-Qb_W_ zFFJgT&Mijvg+ZZd{D#-y%fR~vRx4Y&niZt>qM!f?R0&KFvo!s70}x#7e*hMuUKtk! z*!&LfgAjVucbVHhXkD+huFe7SdY}Esy2;kn)D2-fc^ws@0B+G;K*sS-x&@ z;ocgl{8f?&TVFc<%5;T4$Bg(Yy>aQPX3CeOy4Os$weDJ{IJut)z>=&PUI^?Wdyix? zNKesnyvJaCdBp`kt~=4AnEq3V_?P}qF48rsuF-N~)iI;8UgKfW8Rj*mL%z`d_YOt-h|uJIZ#(jyovwdRQ>tuykIp( zWf6<2D1WuYRZ)1oLuo!_ZNt=xq*P$szB)CO+K@HDJk9|hpxiO2YR6`W)eqMwXn1Oe zRp;z;bcU%i05$@^*B@tt;gd=F92$)v8;FE^F*F|Jn+38_kuXa_D+!u78imm;C2$GW z2n(49)7KYG?a&0y4&^ADlt=-(WS27h(CDx|jKW(4*wID_CIvbpA5v|mR6M} za`jnKVv-1Y0aOdL`klnDd?ueIEbXf`TYOO-YRqNo=`=n)0gtmGI!Pzv zha9h(?ZE%S$}RC$H2AvZjrdlq@yFsK(L*|H!o ziGrukQ0c*nyOOdwSGJ0xFGW+nM(0AIk)(qU3X>iAtOJCm0#Hr$3(0>lEgN+~7jWXXgf zJ+5UVftLhaS|(!gzxg}i1lYkN$``oslpN&%l_1qXFbW;t0i7W609i0;-wfb6;Fkp? z&r&%rt97r1?RSB|q+M;~k3e)|b_5fNKq(dkS%Vz#n-IpR-l{)FEkj!{4Z}l?~|lFN{g9fvTNQ(>x+0 zT489ZuEA#I5*80`MbhCt!Y~c_Od1#l?<%j@x)>6XLXv5}L^!6}6_G-d5FGJDz0GgN zT2-Jx@HUckO|6lT(7tz#KozYA!z8HB5}WmKSqvzih5ihHY20Fu2~R;vk;tG_ui6o@ z5J_!#cTr9rLI>u-sW>V>h};V+nx2FQ;do{KiAF9$j(RXeGMt1bkNL`b`R?n70jwjr zgL0ZvfR}@ayV5y<`R+s~G^qXXWy!36PGa*KI_Ec03HFDg=2jWbAY`% zI+iUyC{N=6mcd0?jVvOBc|(g9q8#U+2~X?#0s%^E`{E% z`a!7YerJkA28I+4`P=yKj=}}rzV}dnKad`3{u$=f9 zdL{38!~6a>6J=Qeb)NyK{~ni4cfoeD#fsV^ZP)h(12}5`-cD+>geBOfWY%pA=GHp7d}m^ zL|~6(-QG6cYnahukpb?q1;q%lf2-wdDnTV$Nn)~P^xJM%x=fzNvq~deV}>xtJjWN-_>GXOl3Bs6SiAerHRM9UAb zO*2?XJX677sHoY(7C=s?9U2HggI*B;5=LVGG0!0cO9z7!qi}Su_KBk%B%0R}gAD!i}3v%VRJ3I;i`c$m1pMLh|;aikUi#-5nC|dG{0GWkL(RL?2@SLnD5} zQOr>SDdL#4-ixXk4RP|1-c$ynRmFr`9kWpiJDO;N1AcRGBFU0m$gmDKUVjlq$jOOr zqZpSwwWkRw%Cz~e(H07DB+D5EQcXxo3+BvQQMz3*Ug!}cK|$$KU^Nh{yJbt3&JVPL znEliC2GXQ$mcm^_wM+rQ5@ODrd7Eld^2WLa3+7P>af>!xyK&~m=D@^nLXX4uAn4nM zWEtgCLs(LGkPSV@(SsQ~bHkUXf<;6g?*=u-0WbB1Xt=+8s#K@UbHK53TX7L$P%bV#cNjgBvW2ydx9dhPn8%;V>O%h zJ*DT4trw{}OUzVE;(DzYcDe$_Djp*&A;9T$ZsKM%yluc2Udi!>sw6_DvYgQ^s)sO5 za0yS%sF|p=XbvYZrg``e8)!_OURb@0M;WkG>nS=`!m9d)q&fV?DiZl%E>@H)T$#FS z?Op%=63!y@6#L3U=!g`))JY-)&(sd!8utLDb_boHBG?J06173z8?oC9M)bvw6_8^d z-M%`_ohE6+80E>zH)i~y{```s+IQq%;)l0DTBu*X>(tIdXq=)l{BP%Z)YkKzNKvB2 zh!rPZf<#G@rAP&nCS8V1S+eDTLqN)fk_QbV9~KTC0TBr~)`h5O4M4}h#KOi=&_LYA z%4%7pxD{aCAYw8|q0;CKh}q!IGS4Z>eP(mGFpn<~ifnA{>>V5tu|z79qY9-;jcK&F zPH!-ph=yo(c4??KH}@p3JiWYqw6t|}^$3DLkfBkaaS#{+g~8#41)bG7Jb_3eQ&56e z*BML}o5R&rX8e}VE2e$5{VkLCCk~bVQ>xVMwSrfhnweW}g_UH%&u3$6XYb(X&>u{7R+K8B7++F5ll=9$$cs z?po{?3U5Yif*yD&Zu26Bu6E8VE-OApg z!eIv-9RAP=bh#_K<<&`&fq=Dy|H^|&k=m+qX@EX0M?%+=D;%+02GTInp(=ii_%lM2-mGLH+XcCI% zw=S4zrki1=S!SCfT!ct-MVTjBjQL{4iBBg95+zBNB2}7n88XvZmTWnBsEu4ad;&s1 zx+o$Bl8};-Q&3V-)6mk}CsWh%H;s#2{+ ztvdDTCQRI&Pm|_!w?!*9a!^N!vP;mN9=WWKUMaw^#|-iuRx(9lH#{qrOHx~nVFSp%QHRGGQ)!^@l~l-qgI`I4H}t> z58t8{Nt%phhhDvjtX|_(Dt+QtoSHMAUWCONdCX^)o5dkM z@?E!K)0S;JsCNDBA9vh!FTH)^{~mal+FbS2Bem+(v)BuWVQxeP$K#d>DU{HJE(~D` zo3IOqa0-`jixeeVjIiWE>eCBRVUxVQJ=g4>my?_bhY-G0^6L1p$xq?n5sIp?AxEfa zbe9BUEyS@hPD{Q^N_-iWkWO(43Wth1qNN)choH}X6LWoSC-e2oA2CkFN|e^0OPO*N z4QNYzRd&le)oRqLQ}2lh+gz$mxOKgD9XcDROSc}qx|lE7eiHx+)@{KMkWf;gVI(K( zlqP{4^Bgf{$|9l6%Cnk;D=ATGkV%Xt(|m@^_qR^H2926DYtgDrlV&Y+li)T9HRKSN zOtTk^a$z^peiVUna@L%A$;q50V$56CtlP-gN({9&EFvl9|w4@^2=iM2itCPP_z(k|ax!+Oeub0*12wVhRusC7))b#Wt78P!uJ^;2-&>dc z=g{_)^RJmw462~9B7F8onn;0P0OmUxB4>K28ww65`<}E~o*S!m6OcsE(vrtklkHPS z%M)S2pYkS}l4?z~$LfmR3WK&ZhIJLfbwc1`NQ)+|Y{QeC16VfnlnHeeCjXgU^?ZR) zxYA0}ra(Xk$85l!j-C8Y7*i)JTiPH5-O}LXmlq@wOQbTnLaFLSaoK2@;b%C|Q#8hB zt>ug+b4Q}%`Dt58qEMsgzd}aB)`|81qI`lf~w6VIE%~ z6xrBPU#1TI-%ui!NM&+Vp;W0cjTW9>K4CnWoBonDqnA%?hdcLVDf-#W4bV1)fVqk+ z*>dE{(|L%dxn6I+n(USjfWMRPRPWmZ4q_`TxIkSRqx_!2$Dhmx&*WP_ zD^_fq`AAvi-DH%ChwOF5XQ+X?HpVBYWu@Zlux1 zqBPz_lT9_BP;( zQGknwPe2GDA_kI>l95wTQc=^;($O<8GBLBTvau`VP{gTNiBc|Q%2jZyRHga_)peU; z(QG}V3dQ)fP|7ds*V#@noT+*h-4r&s^dgOb7Ei;Mi#bg zoC$d3$$1}r1S?jkRGD%WD)Gmvr_{EoL&%M2mpXB++CnC`jy^)^+#krRJsQ+6L+V8( zr4E%M+KE8hbfFLQFk;xTap5g^{+@3wM9B(w43lI$)@k_hEy19Gu?BNBs zv~Akb*7pcoOEOecO*fEf*^Y}nKM14EcDFwq3AE^%=d>uRnl&x&`eB^J$%M2e4e5%$ z-k(;x)9v*Kz))KHmca4s_9j_dhB7{y5{{p~Eu67{&5OlNcN zZ^|+)$&O0b_EFQ(`!$M_G|P*!s+*Q~^dM%iV5cI<=>e<17*5xa$YvSTc38lje$Z#q zt$UA7>!~{Zpi{m3^zGL_NF-C~Oj&uwZ%Ij3RE>H%YT4M+-yA$Y2%|Vjv%Dy)dfBwA zZryLTyZr#?i{%QeB^fHJrW?q#Y{$i(AB53nyW1a*Bu>&Srv;mY3bp98 z_Q4*%#u4~1>OcGQz<%ITxsuRCmq~HyS$=F~&QIdcZ(F_TU2o|z2^UgXc64T`nnj9= zysz^W$}q_Onh|48a3Pgt_h`S>_!>NhNfz(Rc%AQ+Q473fdkmy_*2JANxgHa6ikD67 zxgFhakEKv!?;nqdkK!fQR*sujZ}S>6Dc8DCJO8aXS48f*d2@VCe!58M)ZUIsxyx5|zei>5u6loy(CV#t$Q&p$IGJ zEWH)Sn?&IBygkGH%kgLU__900O*$`=y!G@Cj)a9Nvp5hIYGEfp*Q5E61LCN`{|R9i zQcRzVi=3%TF2e}qd2vcUq;DWeNIxtG2qA;*$$tC3#lx-2Y1;(_z%dZ zWw7?yE8`zfCroOcW&kgY8MeXK!gcTPGVKj;R7sD8>$Z=XMyb9Rj=J{42ZgP~K8SpYs5F~4LiiXj>yy-u zHVV@#FiEQ!y-gaCQLRGNYRni=gQ9n6+uPEm*5FS7WR<>m?X2o#JEgiS%&^=G(#nV8nIc)f8Perh-D z@+BUT*gRV&BDS77F}sAUTpiCxGJ+W;Dl@-{=!JQP;hMH|)iuOC_uJ}yaHgYFX=%_( zzdF7Z{DVu6bkxhuP3^Wc2$dEyMl`llv zkzEcZ2f@kiKm4)-nK(HCia#H#kT2U)=+&9yna>VUNxa^J@&9kLM&IX1Q%k!#%r2iL zoByoiLa8(XE!SQ;M7@Ac>g3&Uq2#~6#op6{o|tFAk{U)}3atjWT#h1RG5B9x>q*2K zd|vTOk(~abQ>UJ6lsa)nxpXD}M`oN_yUzQrCUxsR%LbvcYCUQEEUqWA@)EJK1|?-q zav`?a&p~+`_H%6HzA9H$(FbZGr%9vQ+M`O4Z;-c<{Yh(fwk(Q&voFfVEy;g>8&?~O z@y<%M%37HJrJ%~I3AfQKiA=^I_m`W~`^l>9Fo2_#9CfKI{JJ-zr@bTYOsgpmJFKx6 zI@-9%m%$lreKusdpibt@xyxJYWMp%qSUgz&mo@f`j+ycmYA}I>0j z`)o&C7wFm6A)GK?d5*tUZcG0ATaS;J@ZdM%P+FFjmIjsvNUO&rGKEU5)nk91JUD&> zZUBgINZ9*qbm1eT9VuS2gJTugT9r?Vbj!j{XlwZoc>D^Z`i3(PWQ&)19Yg!LH>}N{ zk)cxiZ87t!!Y%tY)Uvz$VXXBxb`Ah>X=h&6I{n##t4+V+{ zYx$BQ|6@KWnupw`VcpMgyPJOeA6q<_U<%!R=x3XmS%sJSXkBj;=k>Xbe_JV;J0DleSg*6ZCFAMh zYtFy#$CaS!VD9ttI=+@EstUAsJ9-N_H_e8dbX+sJHMEUOyk3j!^X`@W_qXn?tMo^d z>oTslMW*>SvcB#Opijyn!Q&yjMQ=JEu1Nl`Qy@>K^c=Z7q+<%@m{D1@q49s|t})W{ zayNrgN-3pOS9ljf2qE@kG;qFR=1JWxiq81VYF~P6Wb*OoEN?MF`M1Ch6~;gFE$X}o z6Xaw#jZP%od*q#G{iG%;yi1c;Kt_$>w3}MB5xw&{_R!tnd$dutF!sn6zKI8UxP4t> z0EjT5VUvyBqyQpJXjmr2aEVlYT3m!G^QlK`#*?04XdWP25W707klSt<%mqI^#U83( z{^$3v&#znSe~tGy7iU{;tw8}qxc9q0jF%f)>Cg)PD7PVm5JI?*!JKo>Ip?D|l}P0m z#W7uBo^eaN+57D6_+cuZM&(1m8!EyA{K`@_3<>x6=IC_J1$;&f4Y z{Ca**%-eJWK!gbmODhz^B~qDOQJhMo@}CzcmF);HXmXf3leo9=VLL+1-EG`!AOIvF(vJIfuy_YoeB#dJkfb2B7486G}sguwW!@Y z6%w{DJS200J$aRn44f`^3lDExIo_UUhx<~%p>76}vEK6wlSV%%lS}!#@Z+QM(#5=U z`&MFENNr7eqN;dv&6LcaZW8E(x5}jRx;El(efK;eU%R$hh*_}fW^zAg_buig`@36| zO*OqQdvjK@|#8Ek-$t)PHPZ&#-0AhS<%KirQx{ zVd631ZJAA9OzAvZ8sB_W<-yNzP?|u4c?dedj(#>+I~_LJmp!p}pWHQ8t6t_TXr{*e z4HgBQzoeKcM}uAL<-6uB~h97F(rD^PCCI zKTA~|KI=gb*Tp_1?bQ{m-$;A7qV_52(gB+LA|-m72Kgt3E0FiiBHF*>4m9ZtdWr7z zvrS%Q$5u31cV{7>5>El(n}k~PT}?)H4gra6Elh@Cq|9`WQ8&#x#knO3VMN*lq*b&? zFH-&KS{hehqqVV0=kS1oHF~b}%D)o3eZ#57=Bh(+Scfp5SY<_D6qwfb|0(37pAuR# z3G^jSdWRZ6>6?tDuiHk=s)N!Vmi8NI%a?XZT6)r!FYS`F4bmQ#_G)RLl6FZtxAP># z`iYa==oK7qv%J!5DB-ZA%oVr7mtO)GWMLb*)}%#3K`i~2F`I1o+B`v)HYLP}6H-Mr z36j)MONulZvgF89ph$@_b=1>9V=_hW1_|Xz)op zbOO-}008mVs~QBn0=ojp1i_i43o->D5GE8G>ly%)2R&GE%>7!i)?M|#kNDh*3N2n4 ztLp^1B2)#!S_Ks6#dSa@5WN5Z5P!X@LBK1pD}Zbi)d8JAb_GCycy9o_f;9@r&WjaI zUON<%4yKw;jHqKLPMx{w+{Me|&dr?K`HkeHYUX>8TZ%}EMHzK%Ky~D2#4mY~2ZlPS z#%sf_)(yNmdebIlv`oWMJ{KmVd4H+ym&BV%{1LAEFY|)_J^_UF*y%w^>;td)IwlUux@Kh`Z;dHrhC@--1Xm`d#PP z#+UA%P7kY(qpkWXq<$RLTqqjbIcQc8&1tKT*T>hB%k$NW3;lrVC*nmYN6HftSkB8 z?>Dx}MTn{bBz9Y4JU+GvyrEvJhPT%190^nG?Vx{0LIyO!2NNoKZX?<3u@iBZF25!m zP$wc2+&g35!q*15Q-wohVN1QK$wS#Nq_sJf^iQzuEWWn{?5Fir>|vj)#m|KXfdo%; zOei^RoqvLiO4|+^mep_VC;^k_^DL&Zo2MdTfZ+Wdl54N~GLdsTcen9rtQxM`U9%N0 zqb3(pS$1^R01#n9naPDzmK|N23>^RvVM5s*^XsX``CP4^nm(o+``#X8PeZcl6V77& zn2HoLPDu)LG;Jb>-Stu$wzeM?rY3-`mr2EK~9L|@~ zI2vxpe}m?yE3IO#mRMo2MV5uGz)HAlLwT@wT^iB-T%Shv5Y0aZS_j2rv9PoPth=-Y z2~5fWDO4Jr0Wn!@4j1O}1wx+JHkwFnq_WOBOICZr#1ty!v{pxPHi{Irgf0|Q zIv6X+LNItx=|RRr8Q?13HdF1PazULdKU% z=6gaL7MZo~gb1Jb;9kF))2zkV_P1YG7!zKy2%q+({nyi^O|pJ>x>ts8>?6rgpCmjb zWbH4{pEju6#@}GkO z%t29NQpo|%91TL6FrXsbEfL8ipy?d&00d6;aFsF3AinD9NVnsaHn2OkekMv_LZmfN zg#ic?f>o@DquJ^{XVAF>vXd;P>2A|!7MOR`8J}3V9SFFs)c5rE=#bLB|ZY6o%bsh4KT`;?Y<{|n2r{vOxgtaL$SviAh z(`5<<6y)$MBg2wbT_=li=9(BgEmY%b7T2@`jjJepfB^`kv*y34iX0LeT1cS5 zz#(CQfB^ud-n&akR?nh{(_WHxk}f!?PSc-eyUm_iBJ_V>=SJNbz+uhlv3N~;>E=_s z9Xcts{*yXh#B3w7zvhK330dzhvhJ(3T>EA}z?0rQ8eOSg`~B#0`_XMIU9VH3KjZ(~ z$x;@`dR?Zr%F-6ddOu^%&qrZBm)c+jRJsS7A<`Q30OqZJ47-Cbkg%XZAYp+-w->7$ z{4myC zZ)PAx#r%zr%P8cU(Hz$ z?(}uOvMkA^-P2-tHYQS2pRX;zbw$#gw{`zf<~O`rs~f&qDrtvqeP^>dWgRbl;~kKt zU`)Rno}24=eD@E(`?E|p9+*gOq;ssXx_k@=*|$qC@WlJezy0>=!ml``*Du%uvibk| zQ=FS8NzXPo-DUH|!%NPF?h6TC;;{YMR^f;_k5T-;9gJp;eAjRPq43*Xsmn0f{NGLN zGX@3*1_lNOmNzgkFtCh)-DZ>M{JeR}3NtfvvoOn(T$?{Wkl-ow#TDa~w8z`Lfj1Lm zuL{@m&#sbHd-KVB2SR-TkH5aV?4ogP6@L>abmY3fwXo)!Cl>rarC#$XyoSvmErnmd ztBMK-C47LvucmUs8d&!h;mNM9a7y4TWdpV;Zm-DoKedWtz<}VbC3O8gqH4t9#8tq>nWPXj9&?0 zQQog>ZB4$u4SkF9uZoP-=$K+UD<-6*89p(V^CJ?iB!@3VXV=>Pa=?yPO@xxfFbhs+ zo5iNkE?FOE6#rEkJkh11qVx3z?y$?Iah?JQO~k^K)zb=5bYnZ!L=2eIGW52*uQetI z3-Dk_*L^WBs0N){C&y{j1f4iQw~alataJ;AsVP+Kv_WI?j8L&NN9?QtNMx>1eTAdK zH4!`KXp$5Po17-{l-09WKnUZ~icW(beE5ij6`cvuSs0ber4^l<2$!+4g-6d*a!IQ& zRc9~zqP_YT^0wM{vQBN54oj+H?XOci*1h$>J2}%ckayW-5c+V}tI!H4B4N9A!Xx*0 ztZ8ZlgJIdRdfDE%t6#eNQ|ywWuwxYLQ`U`w zYIWcO|FbgV4hQwb)&7xBED+JBA5righUGShUbIGdhYboK!h|xD3#lwSIwz5}o{iz^ zkD|iK_T^y2L^B!Y@ixO|aC-|GNH=G(ld_uEv4;!_5MHWZl-EXvk1Ote8dezI=5h&D zi%oB@=-u#Lhp`^DX`}hOyx!t&Cq9MlIzL0yiMh$#hRRy$W0Ok9WUv)!5Rh~}^c^J> zqTp#szvYi*2%UQ7qQKl0D|-NlFrkbKsVuuE^MK#q-SYXj|4?4#SLs#rid_NE^>v!b zgH7&mdAj>$0D3+ecKEb^dr@Zd2-?MHA4{4I?N#iRZYd^|nOsO^*?av6TP1QOQkh(- zBGekKF8bUQ!zEIgT+!P2oU`)?6S`-M$o&>D7-?VGtdI7*J5=$xTAfbckh|@s!EC)5 z7;I+>8f8$?)A;C0-6seAlH&j(Br?&=s3eP-tjy#>D$9;e82}RHo7D+V|4Zh}?=UJ6V^Clch zIHfr?^ua^?5*BeOJUGgu_|8T^@& z4^bD#(Q{giLFuEH^77isE`uXrr1iAZqsj85Vhd|mr`hQc=cU06z?aT5Vix6d#b^Jh zmXz~$YP~a{FuD+F3ZBu zonlE-8tQxi2cc+Ps#EZA;JD$fbq3D)7uahA7>~73X1BRaaOxLN#~w~sXuXj7K(81L zn%PF3MX{$kw`v`EHL5wSo<`RmUtQY%{VQcmo{P(~Wy;AfcIOwQG5@-wZwTMvc{~lm zzuKmw2@+s*IR6{&0<=(jha|_HJh=bTHHRqX19H^-T;s-7O;M8t^JKCoKbUuoUA9&O z*8}}Y#W){uf_wUp8gM~G4pR$`77UIf3vzcZIfS0887DkB7hZ11R8Tzsgq8M)Qu?`n zyHv9Xn#bpi`fl;-NVLyt{#~mk`hh>39Y5WRtCF@1Z)F+{wWN1?z!q*Ti1buoxW-R#o|MJd;8CiIf#zaYWcL$4D1{%AE2B_D>*&%r%PThId<@k@3)h2?E}(;$J|3 zcE4x|{bpXZIeJG}qDh-Hz!QHf{=dYIWsBwuB#M81=v@?FrDC^>Ss%mmGzyVC0vq9M V^hYj&elG0qoMrw>S{|U?qX7SNHg^C3 diff --git a/src/img/survey.svg b/src/img/survey.svg deleted file mode 100644 index 47737a2..0000000 --- a/src/img/survey.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/js/background/messageHandler.js b/src/js/background/messageHandler.js index a9d7865..1335d4d 100644 --- a/src/js/background/messageHandler.js +++ b/src/js/background/messageHandler.js @@ -257,8 +257,6 @@ const messageHandler = { browser.browserAction.setBadgeBackgroundColor({color: "rgba(0,217,0,255)"}); browser.browserAction.setBadgeText({text: "NEW"}); } - - this.maybePrepareSurveyAchievementOnUpdate(countOfContainerTabsOpened); }, async onFocusChangedCallback(windowId) { @@ -275,33 +273,7 @@ const messageHandler = { }).catch((e) => { throw e; }); - }, - - async maybePrepareSurveyAchievementOnUpdate(countOpened) { - if (countOpened < 10) { - return; - } - - // Show the survey only for English locales (en or en-*). - const uiLang = browser.i18n.getUILanguage(); - const lang = (uiLang || "").toLowerCase(); - if (lang !== "en" && !lang.startsWith("en-")) { - return; - } - - // Check if already shown in the past; if so, do not show again. - const { achievements } = await browser.storage.local.get({ achievements: [] }); - const existing = achievements.find(a => a.name === "survey"); - if (existing) { - return; - } - - // Ensure the achievement exists and is pending. - achievements.push({ name: "survey", done: false }); - browser.storage.local.set({ achievements }); - browser.browserAction.setBadgeBackgroundColor({color: "rgba(0,217,0,255)"}); - browser.browserAction.setBadgeText({text: "NEW"}); - }, + } }; // Lets do this last as theme manager did a check before connecting before diff --git a/src/js/popup.js b/src/js/popup.js index bc6529a..dd2492a 100644 --- a/src/js/popup.js +++ b/src/js/popup.js @@ -31,7 +31,6 @@ const P_CONTAINER_INFO = "containerInfo"; const P_CONTAINER_EDIT = "containerEdit"; const P_CONTAINER_DELETE = "containerDelete"; const P_CONTAINERS_ACHIEVEMENT = "containersAchievement"; -const P_SURVEY_ACHIEVEMENT = "surveyAchievement"; const P_CONTAINER_ASSIGNMENTS = "containerAssignments"; const P_CLEAR_CONTAINER_STORAGE = "clearContainerStorage"; @@ -139,23 +138,18 @@ const Logic = { async showAchievementOrContainersListPanel() { // Do we need to show an achievement panel? + let showAchievements = false; const achievementsStorage = await browser.storage.local.get({ achievements: [] }); - const pending = achievementsStorage.achievements.filter(a => !a.done); - - if (pending.length) { - // Prefer showing the survey view first if present, otherwise fall back - // to the existing achievement panel. - const survey = pending.find(a => a.name === "survey"); - if (survey) { - this.showPanel(P_SURVEY_ACHIEVEMENT); - return; + for (const achievement of achievementsStorage.achievements) { + if (!achievement.done) { + showAchievements = true; } - - this.showPanel(P_CONTAINERS_ACHIEVEMENT); - return; } - - this.showPanel(P_CONTAINERS_LIST); + if (showAchievements) { + this.showPanel(P_CONTAINERS_ACHIEVEMENT); + } else { + this.showPanel(P_CONTAINERS_LIST); + } }, // In case the user wants to click multiple actions, @@ -2382,30 +2376,6 @@ Logic.registerPanel(P_CONTAINERS_ACHIEVEMENT, { }, }); -// P_SURVEY_ACHIEVEMENT: A simple survey view. -// ---------------------------------------------------------------------------- - -Logic.registerPanel(P_SURVEY_ACHIEVEMENT, { - panelSelector: ".survey-panel", - - // This method is called when the object is registered. - initialize() { - Utils.addEnterHandler(document.querySelector("#survey-achievement-done-button"), async () => { - await Logic.setAchievementDone("survey"); - Logic.showPanel(P_CONTAINERS_LIST); - }); - Utils.addEnterHandler(document.querySelector("#survey-button"), async () => { - await Logic.setAchievementDone("survey"); - window.close(); - }); - }, - - // This method is called when the panel is shown. - prepare() { - return Promise.resolve(null); - }, -}); - Logic.init(); window.addEventListener("resize", function () { diff --git a/src/manifest.json b/src/manifest.json index 809c02d..c87c44c 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 2, "name": "Firefox Multi-Account Containers", - "version": "8.3.1", + "version": "8.3.0", "incognito": "not_allowed", "description": "__MSG_extensionDescription__", "icons": { diff --git a/src/popup.html b/src/popup.html index ec03aaa..5a87ae9 100644 --- a/src/popup.html +++ b/src/popup.html @@ -106,17 +106,6 @@

-
- -

Participate in Paid Research with Firefox

-

We'd love to learn about your experiences with this add-on! Join a 1:1 Zoom interview and receive a $75 Amazon e-gift card or PayPal payment.

-

Thank you for helping us improve Firefox.

- - Back -
-