From 3e5c0a80b5854e94781ba64cea63c21534b2e523 Mon Sep 17 00:00:00 2001 From: Charly Chevalier Date: Tue, 17 Sep 2024 10:05:20 +0200 Subject: [PATCH 01/37] chore: update @metamask/bitcoin-wallet-snap to 0.6.0 (#27141) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## **Description** Bump the BTC Snap to version 0.6.0. - This new release adds a warning/error dialog if any error occurs with `btc_sendmany`. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26701?quickstart=1) ## **Related issues** N/A ## **Manual testing steps** N/A ## **Screenshots/Recordings** ### **Before** ### **After** ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index bd4c7f3cdd34..34a022f2d8d6 100644 --- a/package.json +++ b/package.json @@ -306,7 +306,7 @@ "@metamask/approval-controller": "^7.0.0", "@metamask/assets-controllers": "^36.0.0", "@metamask/base-controller": "^7.0.0", - "@metamask/bitcoin-wallet-snap": "^0.5.0", + "@metamask/bitcoin-wallet-snap": "^0.6.0", "@metamask/browser-passworder": "^4.3.0", "@metamask/contract-metadata": "^2.5.0", "@metamask/controller-utils": "^11.2.0", diff --git a/yarn.lock b/yarn.lock index 07f23e959624..ea8a91ae8270 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4890,10 +4890,10 @@ __metadata: languageName: node linkType: hard -"@metamask/bitcoin-wallet-snap@npm:^0.5.0": - version: 0.5.0 - resolution: "@metamask/bitcoin-wallet-snap@npm:0.5.0" - checksum: 10/eeb2c11316d58fcd26b73c11b6c8cd6ed0c5d4beb28ae3237bc08c8100fbdde4f8e38ad3efb25c85f8a6722cfec8290bbbfee71718d54735beb86064a9e9435c +"@metamask/bitcoin-wallet-snap@npm:^0.6.0": + version: 0.6.0 + resolution: "@metamask/bitcoin-wallet-snap@npm:0.6.0" + checksum: 10/baf4d7a43ddb5f210437c722e90abc6a3b4056390cc1d075e1a09acb82e934db338fce36fb897560e7f9ecd8ff3fcbd4795b3076dc7243af7ac93ea5d47b63f5 languageName: node linkType: hard @@ -25977,7 +25977,7 @@ __metadata: "@metamask/assets-controllers": "npm:^36.0.0" "@metamask/auto-changelog": "npm:^2.1.0" "@metamask/base-controller": "npm:^7.0.0" - "@metamask/bitcoin-wallet-snap": "npm:^0.5.0" + "@metamask/bitcoin-wallet-snap": "npm:^0.6.0" "@metamask/browser-passworder": "npm:^4.3.0" "@metamask/build-utils": "npm:^3.0.0" "@metamask/contract-metadata": "npm:^2.5.0" From 8d3632b6eed5c143527bdcf50127d7df0f25948f Mon Sep 17 00:00:00 2001 From: Jyoti Puri Date: Tue, 17 Sep 2024 15:17:55 +0530 Subject: [PATCH 02/37] chore: Update package @blockaid/ppom_release to version 1.5.3 (#27170) --- package.json | 2 +- .../__snapshots__/blockaid-banner-alert.test.js.snap | 12 ++++++------ yarn.lock | 10 +++++----- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index 34a022f2d8d6..ffc2a66ea0a9 100644 --- a/package.json +++ b/package.json @@ -272,7 +272,7 @@ }, "dependencies": { "@babel/runtime": "patch:@babel/runtime@npm%3A7.24.0#~/.yarn/patches/@babel-runtime-npm-7.24.0-7eb1dd11a2.patch", - "@blockaid/ppom_release": "^1.5.2", + "@blockaid/ppom_release": "^1.5.3", "@ensdomains/content-hash": "^2.5.7", "@ethereumjs/tx": "^4.1.1", "@ethersproject/abi": "^5.6.4", diff --git a/ui/pages/confirmations/components/security-provider-banner-alert/blockaid-banner-alert/__snapshots__/blockaid-banner-alert.test.js.snap b/ui/pages/confirmations/components/security-provider-banner-alert/blockaid-banner-alert/__snapshots__/blockaid-banner-alert.test.js.snap index 127e733ad95d..af7e4e9e05dd 100644 --- a/ui/pages/confirmations/components/security-provider-banner-alert/blockaid-banner-alert/__snapshots__/blockaid-banner-alert.test.js.snap +++ b/ui/pages/confirmations/components/security-provider-banner-alert/blockaid-banner-alert/__snapshots__/blockaid-banner-alert.test.js.snap @@ -54,7 +54,7 @@ exports[`Blockaid Banner Alert should render 'danger' UI when securityAlertRespo Something doesn't look right? @@ -151,7 +151,7 @@ exports[`Blockaid Banner Alert should render 'warning' UI when securityAlertResp Something doesn't look right? @@ -248,7 +248,7 @@ exports[`Blockaid Banner Alert should render 'warning' UI when securityAlertResp Something doesn't look right? @@ -346,7 +346,7 @@ exports[`Blockaid Banner Alert should render details section even when features Something doesn't look right? @@ -457,7 +457,7 @@ exports[`Blockaid Banner Alert should render details when provided 1`] = ` Something doesn't look right? @@ -556,7 +556,7 @@ exports[`Blockaid Banner Alert should render link to report url 1`] = ` Something doesn't look right? diff --git a/yarn.lock b/yarn.lock index ea8a91ae8270..b9d85e38829f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1704,10 +1704,10 @@ __metadata: languageName: node linkType: hard -"@blockaid/ppom_release@npm:^1.5.2": - version: 1.5.2 - resolution: "@blockaid/ppom_release@npm:1.5.2" - checksum: 10/b47af74e8a315d996abb8371a7b28f9923bf78272cc408b2307024e2050b57f36c53b6b9a57b276b0910b449ebb384897e293abad356131ccf65c6c3c5ca31ae +"@blockaid/ppom_release@npm:^1.5.3": + version: 1.5.3 + resolution: "@blockaid/ppom_release@npm:1.5.3" + checksum: 10/3e8a16866b477eef247c4a65c80d361e7429389e7e760c0497bc69269526e2325fa15cdbf93455c1655877a7760c6b4fc9ce87d80f0290483160632300bcfbc8 languageName: node linkType: hard @@ -25936,7 +25936,7 @@ __metadata: "@babel/preset-typescript": "npm:^7.23.2" "@babel/register": "npm:^7.22.15" "@babel/runtime": "patch:@babel/runtime@npm%3A7.24.0#~/.yarn/patches/@babel-runtime-npm-7.24.0-7eb1dd11a2.patch" - "@blockaid/ppom_release": "npm:^1.5.2" + "@blockaid/ppom_release": "npm:^1.5.3" "@ensdomains/content-hash": "npm:^2.5.7" "@ethereumjs/tx": "npm:^4.1.1" "@ethersproject/abi": "npm:^5.6.4" From a7d5a56d1fd2273048ccdab4ebfa6619f9faf314 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Tavares?= Date: Tue, 17 Sep 2024 11:00:38 +0100 Subject: [PATCH 03/37] fix: permit UI integration tests (#26365) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## **Description** Improves permit UI integration tests, by ensuring that the simulation details component is rendered properly. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26365?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** ### **Before** ### **After** ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --- ...ironment-jsdom-npm-29.7.0-0b72dd0e0b.patch | 16 +++ package.json | 2 +- .../confirmations/signatures/permit.test.tsx | 133 +++++++++++++----- .../data/integration-init-state.json | 19 ++- yarn.lock | 25 +++- 5 files changed, 153 insertions(+), 42 deletions(-) create mode 100644 .yarn/patches/jest-environment-jsdom-npm-29.7.0-0b72dd0e0b.patch diff --git a/.yarn/patches/jest-environment-jsdom-npm-29.7.0-0b72dd0e0b.patch b/.yarn/patches/jest-environment-jsdom-npm-29.7.0-0b72dd0e0b.patch new file mode 100644 index 000000000000..94e712adf366 --- /dev/null +++ b/.yarn/patches/jest-environment-jsdom-npm-29.7.0-0b72dd0e0b.patch @@ -0,0 +1,16 @@ +diff --git a/build/index.js b/build/index.js +index 2e6c16c33c2f588cf8d6a5717ac776bb8908bd0d..5534a739c6bc7cda9e0f8439656a6215dfacc26a 100644 +--- a/build/index.js ++++ b/build/index.js +@@ -95,6 +95,11 @@ class JSDOMEnvironment { + + // TODO: remove this ASAP, but it currently causes tests to run really slow + global.Buffer = Buffer; ++ // Needed to support toChecksumAddress from the ethereumjs-util@7.1.5. ++ // It converts a hex string to a buffer and then expects it to be an instanceof Uint8Array. ++ // And although on Node env that buffer is an instance of Uint8Array, on JSDOM it is not. ++ // So we need to override the jsdom Uint8Array with Node Uint8Array. ++ global.Uint8Array = Uint8Array; + + // Report uncaught errors. + this.errorEventListener = event => { diff --git a/package.json b/package.json index ffc2a66ea0a9..d850945c4d63 100644 --- a/package.json +++ b/package.json @@ -609,7 +609,7 @@ "ini": "^3.0.0", "jest": "^29.7.0", "jest-canvas-mock": "^2.3.1", - "jest-environment-jsdom": "^29.7.0", + "jest-environment-jsdom": "patch:jest-environment-jsdom@npm%3A29.7.0#~/.yarn/patches/jest-environment-jsdom-npm-29.7.0-0b72dd0e0b.patch", "jsdom": "^16.7.0", "json-schema-to-ts": "^3.0.1", "koa": "^2.7.0", diff --git a/test/integration/confirmations/signatures/permit.test.tsx b/test/integration/confirmations/signatures/permit.test.tsx index f0a58da87b97..3670b654502d 100644 --- a/test/integration/confirmations/signatures/permit.test.tsx +++ b/test/integration/confirmations/signatures/permit.test.tsx @@ -1,4 +1,5 @@ -import { fireEvent, waitFor } from '@testing-library/react'; +import { act, fireEvent, waitFor, screen } from '@testing-library/react'; +import nock from 'nock'; import { ApprovalType } from '@metamask/controller-utils'; import mockMetaMaskState from '../../data/integration-init-state.json'; import { integrationTestRender } from '../../../lib/render-helpers'; @@ -72,11 +73,15 @@ describe('Permit Confirmation', () => { jest.resetAllMocks(); mockedBackgroundConnection.submitRequestToBackground.mockImplementation( createMockImplementation({ - getTokenStandardAndDetails: { decimal: '10' }, + getTokenStandardAndDetails: { decimals: '2' }, }), ); }); + afterEach(() => { + nock.cleanAll(); + }); + it('displays the header account modal with correct data', async () => { const account = mockMetaMaskState.internalAccounts.accounts[ @@ -89,32 +94,32 @@ describe('Permit Confirmation', () => { account.address, ); - const { getByTestId, queryByTestId } = await integrationTestRender({ - preloadedState: mockedMetaMaskState, - backgroundConnection: backgroundConnectionMocked, + await act(async () => { + await integrationTestRender({ + preloadedState: mockedMetaMaskState, + backgroundConnection: backgroundConnectionMocked, + }); }); - expect(getByTestId('header-account-name')).toHaveTextContent(accountName); - expect(getByTestId('header-network-display-name')).toHaveTextContent( + expect(screen.getByTestId('header-account-name')).toHaveTextContent( + accountName, + ); + expect(screen.getByTestId('header-network-display-name')).toHaveTextContent( 'Chain 5', ); - fireEvent.click(getByTestId('header-info__account-details-button')); - - await waitFor(() => { - expect( - getByTestId('confirmation-account-details-modal__account-name'), - ).toBeInTheDocument(); - }); + fireEvent.click(screen.getByTestId('header-info__account-details-button')); expect( - getByTestId('confirmation-account-details-modal__account-name'), + await screen.findByTestId( + 'confirmation-account-details-modal__account-name', + ), ).toHaveTextContent(accountName); - expect(getByTestId('address-copy-button-text')).toHaveTextContent( + expect(screen.getByTestId('address-copy-button-text')).toHaveTextContent( '0x0DCD5...3E7bc', ); expect( - getByTestId('confirmation-account-details-modal__account-balance'), + screen.getByTestId('confirmation-account-details-modal__account-balance'), ).toHaveTextContent('1.58271596ETH'); let confirmAccountDetailsModalMetricsEvent; @@ -147,12 +152,14 @@ describe('Permit Confirmation', () => { ); fireEvent.click( - getByTestId('confirmation-account-details-modal__close-button'), + screen.getByTestId('confirmation-account-details-modal__close-button'), ); await waitFor(() => { expect( - queryByTestId('confirmation-account-details-modal__account-name'), + screen.queryByTestId( + 'confirmation-account-details-modal__account-name', + ), ).not.toBeInTheDocument(); }); }); @@ -168,18 +175,52 @@ describe('Permit Confirmation', () => { account.address, ); - const { getByText } = await integrationTestRender({ - preloadedState: mockedMetaMaskState, - backgroundConnection: backgroundConnectionMocked, + await act(async () => { + await integrationTestRender({ + preloadedState: mockedMetaMaskState, + backgroundConnection: backgroundConnectionMocked, + }); }); - expect(getByText('Spending cap request')).toBeInTheDocument(); + expect(screen.getByText('Spending cap request')).toBeInTheDocument(); expect( - getByText('This site wants permission to spend your tokens.'), + screen.getByText('This site wants permission to spend your tokens.'), ).toBeInTheDocument(); }); it('displays the simulation section', async () => { + const scope = nock('https://price.api.cx.metamask.io') + .persist() + .get('/v2/chains/1/spot-prices') + .query({ + tokenAddresses: + '0x0000000000000000000000000000000000000000,0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', + vsCurrency: 'ETH', + includeMarketData: 'true', + }) + .reply(200, { + '0xcccccccccccccccccccccccccccccccccccccccc': { + allTimeHigh: 12, + allTimeLow: 1, + circulatingSupply: 50000, + dilutedMarketCap: 50000, + high1d: 11, + low1d: 9.9, + marketCap: 10000, + marketCapPercentChange1d: 1, + price: 10, + priceChange1d: 0.5, + pricePercentChange1d: 1, + pricePercentChange1h: 0, + pricePercentChange1y: 80, + pricePercentChange7d: 2, + pricePercentChange14d: 5, + pricePercentChange30d: 10, + pricePercentChange200d: 50, + totalVolume: 100, + }, + }); + const account = mockMetaMaskState.internalAccounts.accounts[ mockMetaMaskState.internalAccounts @@ -190,12 +231,26 @@ describe('Permit Confirmation', () => { account.address, ); - const { getByTestId } = await integrationTestRender({ - preloadedState: mockedMetaMaskState, - backgroundConnection: backgroundConnectionMocked, + await act(async () => { + await integrationTestRender({ + preloadedState: { + ...mockedMetaMaskState, + selectedNetworkClientId: 'testNetworkConfigurationId', + providerConfig: { + type: 'rpc', + nickname: 'test mainnet', + chainId: '0x1', + ticker: 'ETH', + id: 'chain1', + }, + }, + backgroundConnection: backgroundConnectionMocked, + }); }); - const simulationSection = getByTestId('confirmation__simulation_section'); + const simulationSection = screen.getByTestId( + 'confirmation__simulation_section', + ); expect(simulationSection).toBeInTheDocument(); expect(simulationSection).toHaveTextContent('Estimated changes'); expect(simulationSection).toHaveTextContent( @@ -203,7 +258,17 @@ describe('Permit Confirmation', () => { ); expect(simulationSection).toHaveTextContent('Spending cap'); expect(simulationSection).toHaveTextContent('0xCcCCc...ccccC'); - expect(getByTestId('simulation-token-value')).toHaveTextContent('3,000'); + expect(screen.getByTestId('simulation-token-value')).toHaveTextContent( + '30', + ); + + const individualFiatDisplay = await screen.findByTestId( + 'individual-fiat-display', + ); + expect(individualFiatDisplay).toHaveTextContent('$166,836.00'); + + scope.done(); + expect(scope.isDone()).toBe(true); }); it('displays the MMI header warning when account signing is not the same as the account selected', async () => { @@ -221,9 +286,11 @@ describe('Permit Confirmation', () => { account.address, ); - const { getByText } = await integrationTestRender({ - preloadedState: mockedMetaMaskState, - backgroundConnection: backgroundConnectionMocked, + await act(async () => { + await integrationTestRender({ + preloadedState: mockedMetaMaskState, + backgroundConnection: backgroundConnectionMocked, + }); }); const mismatchAccountText = `Your selected account (${shortenAddress( @@ -232,6 +299,6 @@ describe('Permit Confirmation', () => { account.address, )})`; - expect(getByText(mismatchAccountText)).toBeInTheDocument(); + expect(screen.getByText(mismatchAccountText)).toBeInTheDocument(); }); }); diff --git a/test/integration/data/integration-init-state.json b/test/integration/data/integration-init-state.json index 0e935a7a9a8e..27cd1dcfd83a 100644 --- a/test/integration/data/integration-init-state.json +++ b/test/integration/data/integration-init-state.json @@ -656,18 +656,19 @@ }, "networkConfigurations": { "testNetworkConfigurationId": { - "rpcUrl": "https://testrpc.com", "chainId": "0x1", + "id": "testNetworkConfigurationId", "nickname": "Custom Mainnet RPC", - "type": "rpc", - "id": "testNetworkConfigurationId" + "rpcUrl": "https://testrpc.com", + "ticker": "ETH", + "type": "rpc" }, "goerli-network-id": { - "type": "rpc", "chainId": "0x5", - "ticker": "ETH", + "id": "goerli-network-id", "nickname": "Chain 5", - "id": "goerli-network-id" + "ticker": "ETH", + "type": "rpc" } }, "networksMetadata": { @@ -682,6 +683,12 @@ "1559": true }, "status": "available" + }, + "testNetworkConfigurationId": { + "EIPS": { + "1559": true + }, + "status": "available" } }, "nftsDropdownState": { diff --git a/yarn.lock b/yarn.lock index b9d85e38829f..1c0a3d9ab60e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -23313,7 +23313,7 @@ __metadata: languageName: node linkType: hard -"jest-environment-jsdom@npm:^29.7.0": +"jest-environment-jsdom@npm:29.7.0": version: 29.7.0 resolution: "jest-environment-jsdom@npm:29.7.0" dependencies: @@ -23334,6 +23334,27 @@ __metadata: languageName: node linkType: hard +"jest-environment-jsdom@patch:jest-environment-jsdom@npm%3A29.7.0#~/.yarn/patches/jest-environment-jsdom-npm-29.7.0-0b72dd0e0b.patch": + version: 29.7.0 + resolution: "jest-environment-jsdom@patch:jest-environment-jsdom@npm%3A29.7.0#~/.yarn/patches/jest-environment-jsdom-npm-29.7.0-0b72dd0e0b.patch::version=29.7.0&hash=a6aa71" + dependencies: + "@jest/environment": "npm:^29.7.0" + "@jest/fake-timers": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/jsdom": "npm:^20.0.0" + "@types/node": "npm:*" + jest-mock: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + jsdom: "npm:^20.0.0" + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + checksum: 10/ccc6dc855d841cbcaac17c3f8b25bd63827c7766bf4ee555ee7b7c2b9707ae172659be4a813fdddbdd2a933d9d6c23a97e13924e176a68cf44299c57bf1e3009 + languageName: node + linkType: hard + "jest-environment-node@npm:^29.6.4, jest-environment-node@npm:^29.7.0": version: 29.7.0 resolution: "jest-environment-node@npm:29.7.0" @@ -26216,7 +26237,7 @@ __metadata: is-retry-allowed: "npm:^2.2.0" jest: "npm:^29.7.0" jest-canvas-mock: "npm:^2.3.1" - jest-environment-jsdom: "npm:^29.7.0" + jest-environment-jsdom: "patch:jest-environment-jsdom@npm%3A29.7.0#~/.yarn/patches/jest-environment-jsdom-npm-29.7.0-0b72dd0e0b.patch" jest-junit: "npm:^14.0.1" jsdom: "npm:^16.7.0" json-rpc-engine: "npm:^6.1.0" From 39c75a8f34ce8020257a9dcf2a2c86273f3a7f4c Mon Sep 17 00:00:00 2001 From: Matthew Walsh Date: Tue, 17 Sep 2024 11:56:13 +0100 Subject: [PATCH 04/37] fix: incomplete transactions on startup (#26963) Upgrade the `TransactionController` to `37.0.0`. Prevent various scenarios triggering the `signed or submitted` alert . Remove unapproved transaction fixtures as no longer supported. --- .storybook/main.js | 4 + app/scripts/background.js | 2 - app/scripts/lib/ppom/ppom-middleware.test.ts | 1 + app/scripts/lib/transaction/mmi-hooks.test.ts | 19 - app/scripts/lib/transaction/mmi-hooks.ts | 12 - app/scripts/metamask-controller.js | 10 +- lavamoat/browserify/beta/policy.json | 10 +- lavamoat/browserify/flask/policy.json | 10 +- lavamoat/browserify/main/policy.json | 10 +- lavamoat/browserify/mmi/policy.json | 10 +- package.json | 2 +- test/e2e/fixture-builder.js | 599 +----------------- test/e2e/page-objects/flows/transaction.ts | 40 ++ .../pages/confirmations/legacy/navigation.ts | 57 ++ test/e2e/page-objects/pages/test-dapp.ts | 37 ++ .../contract-interaction-redesign.spec.ts | 44 +- .../tests/transaction/edit-gas-fee.spec.js | 32 +- .../transaction/navigate-transactions.spec.js | 234 +++---- test/e2e/tests/transaction/send-edit.spec.js | 48 +- ui/__mocks__/ethereumjs-util.js | 6 + yarn.lock | 36 +- 21 files changed, 349 insertions(+), 874 deletions(-) create mode 100644 test/e2e/page-objects/flows/transaction.ts create mode 100644 test/e2e/page-objects/pages/confirmations/legacy/navigation.ts create mode 100644 test/e2e/page-objects/pages/test-dapp.ts create mode 100644 ui/__mocks__/ethereumjs-util.js diff --git a/.storybook/main.js b/.storybook/main.js index 554f6d955ee0..d63d924aa2e2 100644 --- a/.storybook/main.js +++ b/.storybook/main.js @@ -48,6 +48,10 @@ module.exports = { config.resolve.alias['../../../../../../store/actions'] = require.resolve( '../ui/__mocks__/actions.js', ); + // Import within controller-utils crashes storybook. + config.resolve.alias['@ethereumjs/util'] = require.resolve( + '../ui/__mocks__/ethereumjs-util.js', + ); config.resolve.fallback = { child_process: false, constants: false, diff --git a/app/scripts/background.js b/app/scripts/background.js index 3c50f8760b71..2a29de9af601 100644 --- a/app/scripts/background.js +++ b/app/scripts/background.js @@ -1005,8 +1005,6 @@ export function setupController( updateBadge, ); - controller.txController.initApprovals(); - /** * Formats a count for display as a badge label. * diff --git a/app/scripts/lib/ppom/ppom-middleware.test.ts b/app/scripts/lib/ppom/ppom-middleware.test.ts index 6b9c78a7ddc7..cbd3674f65c8 100644 --- a/app/scripts/lib/ppom/ppom-middleware.test.ts +++ b/app/scripts/lib/ppom/ppom-middleware.test.ts @@ -19,6 +19,7 @@ import { import { SecurityAlertResponse } from './types'; jest.mock('./ppom-util'); +jest.mock('@metamask/controller-utils'); const SECURITY_ALERT_ID_MOCK = '123'; const INTERNAL_ACCOUNT_ADDRESS = '0xec1adf982415d2ef5ec55899b9bfb8bc0f29251b'; diff --git a/app/scripts/lib/transaction/mmi-hooks.test.ts b/app/scripts/lib/transaction/mmi-hooks.test.ts index fee5dff83de5..45d0b83c2341 100644 --- a/app/scripts/lib/transaction/mmi-hooks.test.ts +++ b/app/scripts/lib/transaction/mmi-hooks.test.ts @@ -2,7 +2,6 @@ import { TransactionStatus } from '@metamask/transaction-controller'; import { afterTransactionSign, beforeCheckPendingTransaction, - beforeTransactionApproveOnInit, beforeTransactionPublish, getAdditionalSignArguments, } from './mmi-hooks'; @@ -85,24 +84,6 @@ describe('MMI hooks', () => { }); }); - describe('beforeTransactionApproveOnInit', () => { - it('returns true if txMeta has custodyStatus', () => { - // TODO: Replace `any` with type - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const txMeta = { custodyStatus: TransactionStatus.approved } as any; - const result = beforeTransactionApproveOnInit(txMeta); - expect(result).toBe(false); - }); - - it('returns false if txMeta has no custodyStatus', () => { - // TODO: Replace `any` with type - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const txMeta = { to: toMocked } as any; - const result = beforeTransactionApproveOnInit(txMeta); - expect(result).toBe(true); - }); - }); - describe('beforeCheckPendingTransaction', () => { it('returns true if txMeta has custodyStatus', () => { const txMeta = { diff --git a/app/scripts/lib/transaction/mmi-hooks.ts b/app/scripts/lib/transaction/mmi-hooks.ts index d4dc3cc4dcda..1716fe738c04 100644 --- a/app/scripts/lib/transaction/mmi-hooks.ts +++ b/app/scripts/lib/transaction/mmi-hooks.ts @@ -53,18 +53,6 @@ export function getAdditionalSignArguments( return [txMeta.custodyStatus ? txMeta : undefined]; } -/** - * Whether or not should run the logic before approve the transaction when transaction controller is rebooted. - * - * @param txMeta - The transaction meta. - */ - -export function beforeTransactionApproveOnInit( - txMeta: TransactionMeta, -): boolean { - return !txMeta?.custodyStatus; -} - /** * Whether or not should run the logic before checking the transaction when checking pending transactions. * diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index 0b9f0d20bf63..0cceb966d5db 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -246,7 +246,6 @@ import { afterTransactionSign as afterTransactionSignMMI, beforeCheckPendingTransaction as beforeCheckPendingTransactionMMI, beforeTransactionPublish as beforeTransactionPublishMMI, - beforeTransactionApproveOnInit as beforeApproveOnInitMMI, getAdditionalSignArguments as getAdditionalSignArgumentsMMI, } from './lib/transaction/mmi-hooks'; ///: END:ONLY_INCLUDE_IF @@ -1847,7 +1846,6 @@ export default class MetamaskController extends EventEmitter { ), beforeCheckPendingTransaction: beforeCheckPendingTransactionMMI.bind(this), - beforeApproveOnInit: beforeApproveOnInitMMI.bind(this), beforePublish: beforeTransactionPublishMMI.bind(this), getAdditionalSignArguments: getAdditionalSignArgumentsMMI.bind(this), ///: END:ONLY_INCLUDE_IF @@ -4889,11 +4887,11 @@ export default class MetamaskController extends EventEmitter { * by creating a new transaction. * * @param {number} originalTxId - the id of the txMeta that you want to - * attempt to cancel + * attempt to cancel * @param {import( * './controllers/transactions' * ).CustomGasSettings} [customGasSettings] - overrides to use for gas params - * instead of allowing this method to generate them + * instead of allowing this method to generate them * @param options * @returns {object} MetaMask state */ @@ -4912,11 +4910,11 @@ export default class MetamaskController extends EventEmitter { * by creating a new transaction. * * @param {number} originalTxId - the id of the txMeta that you want to - * attempt to speed up + * attempt to speed up * @param {import( * './controllers/transactions' * ).CustomGasSettings} [customGasSettings] - overrides to use for gas params - * instead of allowing this method to generate them + * instead of allowing this method to generate them * @param options * @returns {object} MetaMask state */ diff --git a/lavamoat/browserify/beta/policy.json b/lavamoat/browserify/beta/policy.json index b27b95f111a4..43f83e019cee 100644 --- a/lavamoat/browserify/beta/policy.json +++ b/lavamoat/browserify/beta/policy.json @@ -3082,6 +3082,7 @@ "@ethersproject/abi": true, "@ethersproject/contracts": true, "@ethersproject/providers": true, + "@metamask/base-controller": true, "@metamask/controller-utils": true, "@metamask/eth-query": true, "@metamask/gas-fee-controller": true, @@ -3089,7 +3090,6 @@ "@metamask/name-controller>async-mutex": true, "@metamask/network-controller": true, "@metamask/rpc-errors": true, - "@metamask/transaction-controller>@metamask/base-controller": true, "@metamask/transaction-controller>@metamask/nonce-tracker": true, "@metamask/utils": true, "bn.js": true, @@ -3101,14 +3101,6 @@ "webpack>events": true } }, - "@metamask/transaction-controller>@metamask/base-controller": { - "globals": { - "setTimeout": true - }, - "packages": { - "immer": true - } - }, "@metamask/transaction-controller>@metamask/nonce-tracker": { "packages": { "@ethersproject/providers": true, diff --git a/lavamoat/browserify/flask/policy.json b/lavamoat/browserify/flask/policy.json index b27b95f111a4..43f83e019cee 100644 --- a/lavamoat/browserify/flask/policy.json +++ b/lavamoat/browserify/flask/policy.json @@ -3082,6 +3082,7 @@ "@ethersproject/abi": true, "@ethersproject/contracts": true, "@ethersproject/providers": true, + "@metamask/base-controller": true, "@metamask/controller-utils": true, "@metamask/eth-query": true, "@metamask/gas-fee-controller": true, @@ -3089,7 +3090,6 @@ "@metamask/name-controller>async-mutex": true, "@metamask/network-controller": true, "@metamask/rpc-errors": true, - "@metamask/transaction-controller>@metamask/base-controller": true, "@metamask/transaction-controller>@metamask/nonce-tracker": true, "@metamask/utils": true, "bn.js": true, @@ -3101,14 +3101,6 @@ "webpack>events": true } }, - "@metamask/transaction-controller>@metamask/base-controller": { - "globals": { - "setTimeout": true - }, - "packages": { - "immer": true - } - }, "@metamask/transaction-controller>@metamask/nonce-tracker": { "packages": { "@ethersproject/providers": true, diff --git a/lavamoat/browserify/main/policy.json b/lavamoat/browserify/main/policy.json index b27b95f111a4..43f83e019cee 100644 --- a/lavamoat/browserify/main/policy.json +++ b/lavamoat/browserify/main/policy.json @@ -3082,6 +3082,7 @@ "@ethersproject/abi": true, "@ethersproject/contracts": true, "@ethersproject/providers": true, + "@metamask/base-controller": true, "@metamask/controller-utils": true, "@metamask/eth-query": true, "@metamask/gas-fee-controller": true, @@ -3089,7 +3090,6 @@ "@metamask/name-controller>async-mutex": true, "@metamask/network-controller": true, "@metamask/rpc-errors": true, - "@metamask/transaction-controller>@metamask/base-controller": true, "@metamask/transaction-controller>@metamask/nonce-tracker": true, "@metamask/utils": true, "bn.js": true, @@ -3101,14 +3101,6 @@ "webpack>events": true } }, - "@metamask/transaction-controller>@metamask/base-controller": { - "globals": { - "setTimeout": true - }, - "packages": { - "immer": true - } - }, "@metamask/transaction-controller>@metamask/nonce-tracker": { "packages": { "@ethersproject/providers": true, diff --git a/lavamoat/browserify/mmi/policy.json b/lavamoat/browserify/mmi/policy.json index 56b9dc57a34a..7641b2869288 100644 --- a/lavamoat/browserify/mmi/policy.json +++ b/lavamoat/browserify/mmi/policy.json @@ -3174,6 +3174,7 @@ "@ethersproject/abi": true, "@ethersproject/contracts": true, "@ethersproject/providers": true, + "@metamask/base-controller": true, "@metamask/controller-utils": true, "@metamask/eth-query": true, "@metamask/gas-fee-controller": true, @@ -3181,7 +3182,6 @@ "@metamask/name-controller>async-mutex": true, "@metamask/network-controller": true, "@metamask/rpc-errors": true, - "@metamask/transaction-controller>@metamask/base-controller": true, "@metamask/transaction-controller>@metamask/nonce-tracker": true, "@metamask/utils": true, "bn.js": true, @@ -3193,14 +3193,6 @@ "webpack>events": true } }, - "@metamask/transaction-controller>@metamask/base-controller": { - "globals": { - "setTimeout": true - }, - "packages": { - "immer": true - } - }, "@metamask/transaction-controller>@metamask/nonce-tracker": { "packages": { "@ethersproject/providers": true, diff --git a/package.json b/package.json index d850945c4d63..b3b5b22f7e86 100644 --- a/package.json +++ b/package.json @@ -359,7 +359,7 @@ "@metamask/snaps-rpc-methods": "^11.0.0", "@metamask/snaps-sdk": "^6.3.0", "@metamask/snaps-utils": "^8.0.1", - "@metamask/transaction-controller": "^35.2.0", + "@metamask/transaction-controller": "^37.0.0", "@metamask/user-operation-controller": "^13.0.0", "@metamask/utils": "^9.1.0", "@ngraveio/bc-ur": "^1.1.12", diff --git a/test/e2e/fixture-builder.js b/test/e2e/fixture-builder.js index 357cd95600f4..1a4014bcc30a 100644 --- a/test/e2e/fixture-builder.js +++ b/test/e2e/fixture-builder.js @@ -8,7 +8,7 @@ const { mockNetworkState } = require('../stub/networks'); const { CHAIN_IDS } = require('../../shared/constants/network'); const { SMART_CONTRACTS } = require('./seeder/smart-contracts'); -const { DAPP_URL, DAPP_ONE_URL, ACCOUNT_1 } = require('./helpers'); +const { DAPP_URL, DAPP_ONE_URL } = require('./helpers'); const { DEFAULT_FIXTURE_ACCOUNT, ERC_4337_ACCOUNT } = require('./constants'); const { defaultFixture, @@ -234,6 +234,22 @@ class FixtureBuilder { return this.withNetworkController({ selectedNetworkClientId: 'mainnet' }); } + withNetworkControllerOnOptimism() { + return this.withNetworkController({ + networkConfigurations: { + networkConfigurationId: { + chainId: CHAIN_IDS.OPTIMISM, + nickname: 'Localhost 8545', + rpcPrefs: {}, + rpcUrl: 'https://mainnet.infura.io', + ticker: 'ETH', + networkConfigurationId: 'networkConfigurationId', + id: 'networkConfigurationId', + }, + }, + }); + } + withNetworkControllerDoubleGanache() { const ganacheNetworks = mockNetworkState( { @@ -811,587 +827,6 @@ class FixtureBuilder { return this; } - withTransactionControllerMultipleTransactions() { - return this.withTransactionController({ - transactions: { - '7087d1d7-f0e8-4c0f-a903-6d9daa392baf': { - chainId: CHAIN_IDS.LOCALHOST, - dappSuggestedGasFees: { - gas: '0x5208', - maxFeePerGas: '0x59682f0c', - maxPriorityFeePerGas: '0x59682f00', - }, - history: [ - { - chainId: CHAIN_IDS.LOCALHOST, - dappSuggestedGasFees: { - gas: '0x5208', - maxFeePerGas: '0x59682f0c', - maxPriorityFeePerGas: '0x59682f00', - }, - id: '7087d1d7-f0e8-4c0f-a903-6d9daa392baf', - loadingDefaults: true, - origin: 'https://metamask.github.io', - status: 'unapproved', - time: 1631545991949, - txParams: { - from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1', - gas: '0x5208', - maxFeePerGas: '0x59682f0c', - maxPriorityFeePerGas: '0x59682f00', - to: '0x2f318c334780961fb129d2a6c30d0763d9a5c970', - value: '0x29a2241af62c0000', - }, - type: 'simpleSend', - }, - [ - { - note: 'Added new unapproved transaction.', - op: 'replace', - path: '/loadingDefaults', - timestamp: 1631545992244, - value: false, - }, - { - op: 'add', - path: '/simulationData', - value: { - error: { - code: 'disabled', - message: 'Simulation disabled', - }, - tokenBalanceChanges: [], - }, - note: 'TransactionController#updateSimulationData - Update simulation data', - timestamp: 1631545992244, - }, - ], - ], - simulationData: { - error: { - code: 'disabled', - message: 'Simulation disabled', - }, - tokenBalanceChanges: [], - }, - id: '7087d1d7-f0e8-4c0f-a903-6d9daa392baf', - loadingDefaults: false, - origin: 'https://metamask.github.io', - status: 'unapproved', - time: 1631545991949, - txParams: { - from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1', - gas: '0x5208', - maxFeePerGas: '0x59682f0c', - maxPriorityFeePerGas: '0x59682f00', - to: '0x2f318c334780961fb129d2a6c30d0763d9a5c970', - value: '0x29a2241af62c0000', - }, - type: 'simpleSend', - }, - '6eab4240-3762-4581-abc5-cd91eab6964e': { - chainId: CHAIN_IDS.LOCALHOST, - dappSuggestedGasFees: { - gas: '0x5208', - maxFeePerGas: '0x59682f0c', - maxPriorityFeePerGas: '0x59682f00', - }, - history: [ - { - chainId: CHAIN_IDS.LOCALHOST, - dappSuggestedGasFees: { - gas: '0x5208', - maxFeePerGas: '0x59682f0c', - maxPriorityFeePerGas: '0x59682f00', - }, - id: '6eab4240-3762-4581-abc5-cd91eab6964e', - loadingDefaults: true, - origin: 'https://metamask.github.io', - status: 'unapproved', - time: 1631545994578, - txParams: { - from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1', - gas: '0x5208', - maxFeePerGas: '0x59682f0c', - maxPriorityFeePerGas: '0x59682f00', - to: '0x2f318c334780961fb129d2a6c30d0763d9a5c970', - value: '0x29a2241af62c0000', - }, - type: 'simpleSend', - }, - [ - { - note: 'Added new unapproved transaction.', - op: 'replace', - path: '/loadingDefaults', - timestamp: 1631545994695, - value: false, - }, - { - op: 'add', - path: '/simulationData', - value: { - error: { - code: 'disabled', - message: 'Simulation disabled', - }, - tokenBalanceChanges: [], - }, - note: 'TransactionController#updateSimulationData - Update simulation data', - timestamp: 1631545992244, - }, - ], - ], - simulationData: { - error: { - code: 'disabled', - message: 'Simulation disabled', - }, - tokenBalanceChanges: [], - }, - id: '6eab4240-3762-4581-abc5-cd91eab6964e', - loadingDefaults: false, - origin: 'https://metamask.github.io', - status: 'unapproved', - time: 1631545994578, - txParams: { - from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1', - gas: '0x5208', - maxFeePerGas: '0x59682f0c', - maxPriorityFeePerGas: '0x59682f00', - to: '0x2f318c334780961fb129d2a6c30d0763d9a5c970', - value: '0x29a2241af62c0000', - }, - type: 'simpleSend', - }, - 'c15eee26-11d6-4914-a70e-36ef9a3bcacb': { - chainId: CHAIN_IDS.LOCALHOST, - dappSuggestedGasFees: { - gas: '0x5208', - maxFeePerGas: '0x59682f0c', - maxPriorityFeePerGas: '0x59682f00', - }, - history: [ - { - chainId: CHAIN_IDS.LOCALHOST, - dappSuggestedGasFees: { - gas: '0x5208', - maxFeePerGas: '0x59682f0c', - maxPriorityFeePerGas: '0x59682f00', - }, - id: 'c15eee26-11d6-4914-a70e-36ef9a3bcacb', - loadingDefaults: true, - origin: 'https://metamask.github.io', - status: 'unapproved', - time: 1631545996673, - txParams: { - from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1', - gas: '0x5208', - maxFeePerGas: '0x59682f0c', - maxPriorityFeePerGas: '0x59682f00', - to: '0x2f318c334780961fb129d2a6c30d0763d9a5c970', - value: '0x29a2241af62c0000', - }, - type: 'simpleSend', - }, - [ - { - note: 'Added new unapproved transaction.', - op: 'replace', - path: '/loadingDefaults', - timestamp: 1631545996678, - value: false, - }, - { - op: 'add', - path: '/simulationData', - value: { - error: { - code: 'disabled', - message: 'Simulation disabled', - }, - tokenBalanceChanges: [], - }, - note: 'TransactionController#updateSimulationData - Update simulation data', - timestamp: 1631545992244, - }, - ], - ], - simulationData: { - error: { - code: 'disabled', - message: 'Simulation disabled', - }, - tokenBalanceChanges: [], - }, - id: 'c15eee26-11d6-4914-a70e-36ef9a3bcacb', - loadingDefaults: false, - origin: 'https://metamask.github.io', - status: 'unapproved', - time: 1631545996673, - txParams: { - from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1', - gas: '0x5208', - maxFeePerGas: '0x59682f0c', - maxPriorityFeePerGas: '0x59682f00', - to: '0x2f318c334780961fb129d2a6c30d0763d9a5c970', - value: '0x29a2241af62c0000', - }, - type: 'simpleSend', - }, - 'dfa9e5ad-d069-46b1-976e-a23734971d87': { - chainId: CHAIN_IDS.LOCALHOST, - dappSuggestedGasFees: { - gas: '0x5208', - maxFeePerGas: '0x59682f0c', - maxPriorityFeePerGas: '0x59682f00', - }, - history: [ - { - chainId: CHAIN_IDS.LOCALHOST, - dappSuggestedGasFees: { - gas: '0x5208', - maxFeePerGas: '0x59682f0c', - maxPriorityFeePerGas: '0x59682f00', - }, - id: 'dfa9e5ad-d069-46b1-976e-a23734971d87', - loadingDefaults: true, - origin: 'https://metamask.github.io', - status: 'unapproved', - time: 1631545998675, - txParams: { - from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1', - gas: '0x5208', - maxFeePerGas: '0x59682f0c', - maxPriorityFeePerGas: '0x59682f00', - to: '0x2f318c334780961fb129d2a6c30d0763d9a5c970', - value: '0x29a2241af62c0000', - }, - type: 'simpleSend', - }, - [ - { - note: 'Added new unapproved transaction.', - op: 'replace', - path: '/loadingDefaults', - timestamp: 1631545998677, - value: false, - }, - { - op: 'add', - path: '/simulationData', - value: { - error: { - code: 'disabled', - message: 'Simulation disabled', - }, - tokenBalanceChanges: [], - }, - note: 'TransactionController#updateSimulationData - Update simulation data', - timestamp: 1631545992244, - }, - ], - ], - simulationData: { - error: { - code: 'disabled', - message: 'Simulation disabled', - }, - tokenBalanceChanges: [], - }, - id: 'dfa9e5ad-d069-46b1-976e-a23734971d87', - loadingDefaults: false, - origin: 'https://metamask.github.io', - status: 'unapproved', - time: 1631545998675, - txParams: { - from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1', - gas: '0x5208', - maxFeePerGas: '0x59682f0c', - maxPriorityFeePerGas: '0x59682f00', - to: '0x2f318c334780961fb129d2a6c30d0763d9a5c970', - value: '0x29a2241af62c0000', - }, - type: 'simpleSend', - }, - }, - }); - } - - withTransactionControllerTypeOneTransaction() { - return this.withTransactionController({ - transactions: { - '13a01e77-a368-4bb9-aba9-e7435580e3b9': { - chainId: CHAIN_IDS.LOCALHOST, - history: [ - { - chainId: CHAIN_IDS.LOCALHOST, - id: '13a01e77-a368-4bb9-aba9-e7435580e3b9', - loadingDefaults: true, - origin: 'metamask', - status: 'unapproved', - time: 1617228030067, - txParams: { - from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1', - gas: '0x61a8', - gasPrice: '0x2540be400', - to: '0x2f318C334780961FB129D2a6c30D0763d9a5C970', - value: '0xde0b6b3a7640000', - }, - type: 'simpleSend', - }, - [ - { - note: 'Added new unapproved transaction.', - op: 'replace', - path: '/loadingDefaults', - timestamp: 1617228030069, - value: false, - }, - ], - ], - id: '13a01e77-a368-4bb9-aba9-e7435580e3b9', - loadingDefaults: false, - origin: 'metamask', - primaryTransaction: { - chainId: CHAIN_IDS.LOCALHOST, - id: '13a01e77-a368-4bb9-aba9-e7435580e3b9', - loadingDefaults: true, - origin: 'metamask', - status: 'unapproved', - time: 1617228030067, - txParams: { - from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1', - gas: '0x61a8', - gasPrice: '0x2540be400', - to: '0x2f318C334780961FB129D2a6c30D0763d9a5C970', - value: '0xde0b6b3a7640000', - }, - type: 'sentEther', - }, - status: 'unapproved', - time: 1617228030067, - txParams: { - from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1', - gas: '0x61a8', - gasPrice: '0x2540be400', - to: '0x2f318C334780961FB129D2a6c30D0763d9a5C970', - value: '0xde0b6b3a7640000', - }, - type: 'simpleSend', - }, - }, - }); - } - - withTransactionControllerTypeTwoTransaction() { - return this.withTransactionController({ - transactions: { - '13a01e77-a368-4bb9-aba9-e7435580e3b9': { - chainId: CHAIN_IDS.LOCALHOST, - history: [ - { - chainId: CHAIN_IDS.LOCALHOST, - id: '13a01e77-a368-4bb9-aba9-e7435580e3b9', - loadingDefaults: true, - origin: 'metamask', - status: 'unapproved', - time: 1617228030067, - txParams: { - from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1', - gas: '0x61a8', - maxFeePerGas: '0x59682f0c', - maxPriorityFeePerGas: '0x59682f00', - to: '0x2f318C334780961FB129D2a6c30D0763d9a5C970', - type: '0x2', - value: '0xde0b6b3a7640000', - }, - type: 'simpleSend', - }, - [ - { - note: 'Added new unapproved transaction.', - op: 'replace', - path: '/loadingDefaults', - timestamp: 1617228030069, - value: false, - }, - ], - ], - id: '13a01e77-a368-4bb9-aba9-e7435580e3b9', - loadingDefaults: false, - origin: 'metamask', - primaryTransaction: { - chainId: CHAIN_IDS.LOCALHOST, - id: '13a01e77-a368-4bb9-aba9-e7435580e3b9', - loadingDefaults: true, - origin: 'metamask', - status: 'unapproved', - time: 1617228030067, - txParams: { - from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1', - gas: '0x61a8', - maxFeePerGas: '0x59682f0c', - maxPriorityFeePerGas: '0x59682f00', - to: '0x2f318C334780961FB129D2a6c30D0763d9a5C970', - type: '0x2', - value: '0xde0b6b3a7640000', - }, - type: 'sentEther', - }, - status: 'unapproved', - time: 1617228030067, - txParams: { - from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1', - gas: '0x61a8', - maxFeePerGas: '0x59682f0c', - maxPriorityFeePerGas: '0x59682f00', - to: '0x2f318C334780961FB129D2a6c30D0763d9a5C970', - type: '0x2', - value: '0xde0b6b3a7640000', - }, - type: 'simpleSend', - }, - }, - }); - } - - withTransactionControllerOPLayer2Transaction() { - const FROM_ADDRESS = ACCOUNT_1; - const TRANSACTION_ID = 'f0fc75d0-181d-11ef-9546-8b2366f13afd'; - const TRANSACTION_TYPE = 'contractInteraction'; - const TEST_NETWORK_CLIENT_ID = 'networkConfigurationId'; - - return this.withTransactionController({ - transactions: { - [TRANSACTION_ID]: { - actionId: 3577139671, - chainId: '0xa', - dappSuggestedGasFees: { gas: '0x31f10' }, - defaultGasEstimates: { - estimateType: 'dappSuggested', - gas: '0x31f10', - maxFeePerGas: '0x3b014b3', - maxPriorityFeePerGas: '0x3b014b3', - }, - gasFeeEstimates: { gasPrice: '0x3b202d0', type: 'eth_gasPrice' }, - gasFeeEstimatesLoaded: true, - history: [ - { - actionId: 3577139671, - chainId: '0xa', - dappSuggestedGasFees: { gas: '0x31f10' }, - defaultGasEstimates: { - estimateType: 'dappSuggested', - gas: '0x31f10', - maxFeePerGas: '0x3b014b3', - maxPriorityFeePerGas: '0x3b014b3', - }, - id: TRANSACTION_ID, - layer1GasFee: '0x175283ae57', - networkClientId: TEST_NETWORK_CLIENT_ID, - origin: 'https://metamask.github.io', - securityAlertResponse: { - reason: 'loading', - result_type: 'validation_in_progress', - securityAlertId: '30626504-0069-4278-9e2e-3d7fba2e6aef', - }, - sendFlowHistory: [], - status: 'unapproved', - time: 1716370234797, - txParams: { - data: '0x608060405234801561001057600080fd5b5033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000808190555061023b806100686000396000f300608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680632e1a7d4d1461005c5780638da5cb5b1461009d578063d0e30db0146100f4575b600080fd5b34801561006857600080fd5b5061008760048036038101908080359060200190929190505050610112565b6040518082815260200191505060405180910390f35b3480156100a957600080fd5b506100b26101d0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6100fc6101f6565b6040518082815260200191505060405180910390f35b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561017057600080fd5b8160008082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156101c5573d6000803e3d6000fd5b506000549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003460008082825401925050819055506000549050905600a165627a7a72305820f237db3ec816a52589d82512117bc85bc08d3537683ffeff9059108caf3e5d400029', - from: FROM_ADDRESS, - gas: '0x31f10', - maxFeePerGas: '0x3b014b3', - maxPriorityFeePerGas: '0x3b014b3', - value: '0x0', - }, - type: TRANSACTION_TYPE, - userEditedGasLimit: false, - userFeeLevel: 'dappSuggested', - verifiedOnBlockchain: false, - }, - [ - { - note: 'TransactionController#updateSimulationData - Update simulation data', - op: 'add', - path: '/simulationData', - timestamp: 1716370235743, - value: { - error: { code: 'disabled', message: 'Simulation disabled' }, - tokenBalanceChanges: [], - }, - }, - ], - [ - { - note: 'TransactionController:updatesecurityAlertResponse - securityAlertResponse updated', - op: 'replace', - path: '/securityAlertResponse/result_type', - timestamp: 1716370236091, - value: 'Benign', - }, - { - op: 'replace', - path: '/securityAlertResponse/reason', - value: '', - }, - { - op: 'add', - path: '/securityAlertResponse/description', - value: '', - }, - { op: 'add', path: '/securityAlertResponse/features', value: [] }, - { - op: 'add', - path: '/securityAlertResponse/block', - value: 120385722, - }, - { - op: 'add', - path: '/gasFeeEstimates', - value: { gasPrice: '0x3b014b3', type: 'eth_gasPrice' }, - }, - { op: 'add', path: '/gasFeeEstimatesLoaded', value: true }, - ], - ], - id: TRANSACTION_ID, - layer1GasFee: '0x19fdabf615', - networkClientId: TEST_NETWORK_CLIENT_ID, - origin: 'https://metamask.github.io', - securityAlertResponse: { - block: 120385722, - description: '', - features: [], - reason: '', - result_type: 'Benign', - securityAlertId: '30626504-0069-4278-9e2e-3d7fba2e6aef', - }, - sendFlowHistory: [], - simulationData: { - error: { code: 'disabled', message: 'Simulation disabled' }, - tokenBalanceChanges: [], - }, - status: 'unapproved', - time: 1716370234797, - txParams: { - data: '0x608060405234801561001057600080fd5b5033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000808190555061023b806100686000396000f300608060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680632e1a7d4d1461005c5780638da5cb5b1461009d578063d0e30db0146100f4575b600080fd5b34801561006857600080fd5b5061008760048036038101908080359060200190929190505050610112565b6040518082815260200191505060405180910390f35b3480156100a957600080fd5b506100b26101d0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6100fc6101f6565b6040518082815260200191505060405180910390f35b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561017057600080fd5b8160008082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501580156101c5573d6000803e3d6000fd5b506000549050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003460008082825401925050819055506000549050905600a165627a7a72305820f237db3ec816a52589d82512117bc85bc08d3537683ffeff9059108caf3e5d400029', - from: FROM_ADDRESS, - gas: '0x31f10', - maxFeePerGas: '0x3b014b3', - maxPriorityFeePerGas: '0x3b014b3', - value: '0x0', - }, - type: TRANSACTION_TYPE, - userEditedGasLimit: false, - userFeeLevel: 'dappSuggested', - verifiedOnBlockchain: false, - }, - }, - }); - } - withTransactionControllerApprovedTransaction() { return this.withTransactionController({ transactions: { diff --git a/test/e2e/page-objects/flows/transaction.ts b/test/e2e/page-objects/flows/transaction.ts new file mode 100644 index 000000000000..e2fdbd652034 --- /dev/null +++ b/test/e2e/page-objects/flows/transaction.ts @@ -0,0 +1,40 @@ +import { TransactionParams } from '@metamask/transaction-controller'; +import { DEFAULT_FIXTURE_ACCOUNT } from '../../constants'; +import { Driver } from '../../webdriver/driver'; +import HomePage from '../pages/homepage'; +import SendTokenPage from '../pages/send/send-token-page'; +import TestDapp from '../pages/test-dapp'; + +export const createInternalTransaction = async (driver: Driver) => { + // Firefox has incorrect balance if send flow started too quickly. + await driver.delay(1000); + + const homePage = new HomePage(driver); + await homePage.startSendFlow(); + + const sendToPage = new SendTokenPage(driver); + await sendToPage.check_pageIsLoaded(); + await sendToPage.fillRecipient('0x2f318C334780961FB129D2a6c30D0763d9a5C970'); + await sendToPage.fillAmount('1'); + await sendToPage.goToNextScreen(); +}; + +export const createDappTransaction = async ( + driver: Driver, + override?: Partial, +) => { + const testDapp = new TestDapp(driver); + + await testDapp.request('eth_sendTransaction', [ + { + data: '0x', + from: DEFAULT_FIXTURE_ACCOUNT, + maxFeePerGas: '0x0', + maxPriorityFeePerGas: '0x0', + to: '0x2f318C334780961FB129D2a6c30D0763d9a5C970', + value: '0x38d7ea4c68000', + type: '0x2', + ...override, + }, + ]); +}; diff --git a/test/e2e/page-objects/pages/confirmations/legacy/navigation.ts b/test/e2e/page-objects/pages/confirmations/legacy/navigation.ts new file mode 100644 index 000000000000..ab04f85a4a2e --- /dev/null +++ b/test/e2e/page-objects/pages/confirmations/legacy/navigation.ts @@ -0,0 +1,57 @@ +import { Driver } from '../../../../webdriver/driver'; + +class ConfirmationNavigation { + private driver: Driver; + + private nextPageButton: string; + + private previousPageButton: string; + + private firstPageButton: string; + + private lastPageButton: string; + + private navigationTitle: string; + + constructor(driver: Driver) { + this.driver = driver; + this.nextPageButton = '[data-testid="next-page"]'; + this.previousPageButton = '[data-testid="previous-page"]'; + this.firstPageButton = '[data-testid="first-page"]'; + this.lastPageButton = '[data-testid="last-page"]'; + this.navigationTitle = '.confirm-page-container-navigation'; + } + + async clickNextPage(): Promise { + await this.driver.clickElement(this.nextPageButton); + } + + async clickPreviousPage(): Promise { + await this.driver.clickElement(this.previousPageButton); + } + + async clickFirstPage(): Promise { + await this.driver.clickElement(this.firstPageButton); + } + + async clickLastPage(): Promise { + await this.driver.clickElement(this.lastPageButton); + } + + async check_pageNumbers( + currentPage: number, + totalPages: number, + ): Promise { + try { + await this.driver.findElement({ + css: this.navigationTitle, + text: `${currentPage} of ${totalPages}`, + }); + } catch (e) { + console.log('Timeout while waiting for navigation page numbers', e); + throw e; + } + } +} + +export default ConfirmationNavigation; diff --git a/test/e2e/page-objects/pages/test-dapp.ts b/test/e2e/page-objects/pages/test-dapp.ts new file mode 100644 index 000000000000..8c2fe513ca10 --- /dev/null +++ b/test/e2e/page-objects/pages/test-dapp.ts @@ -0,0 +1,37 @@ +import { Driver } from '../../webdriver/driver'; + +const DAPP_HOST_ADDRESS = '127.0.0.1:8080'; +const DAPP_URL = `http://${DAPP_HOST_ADDRESS}`; + +class TestDapp { + private driver: Driver; + + constructor(driver: Driver) { + this.driver = driver; + } + + async open({ + contractAddress, + url = DAPP_URL, + }: { + contractAddress?: string; + url?: string; + }) { + const dappUrl = contractAddress + ? `${url}/?contract=${contractAddress}` + : url; + + return await this.driver.openNewPage(dappUrl); + } + + // eslint-disable-next-line @typescript-eslint/no-explicit-any + async request(method: string, params: any[]) { + await this.open({ + url: `${DAPP_URL}/request?method=${method}¶ms=${JSON.stringify( + params, + )}`, + }); + } +} + +export default TestDapp; diff --git a/test/e2e/tests/confirmations/transactions/contract-interaction-redesign.spec.ts b/test/e2e/tests/confirmations/transactions/contract-interaction-redesign.spec.ts index 3d28afff5790..2a815a025d18 100644 --- a/test/e2e/tests/confirmations/transactions/contract-interaction-redesign.spec.ts +++ b/test/e2e/tests/confirmations/transactions/contract-interaction-redesign.spec.ts @@ -1,6 +1,10 @@ /* eslint-disable @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires */ +import { Mockttp } from 'mockttp'; import { openDapp, unlockWallet } from '../../../helpers'; +import { createDappTransaction } from '../../../page-objects/flows/transaction'; import GanacheContractAddressRegistry from '../../../seeder/ganache-contract-address-registry'; +import { Driver } from '../../../webdriver/driver'; +import { MockedEndpoint } from '../../../mock-e2e'; import { assertAdvancedGasDetails, confirmDepositTransaction, @@ -90,8 +94,9 @@ describe('Confirmation Redesign Contract Interaction Component', function () { redesignedConfirmationsEnabled: true, isRedesignedConfirmationsDeveloperEnabled: true, }, + useTransactionSimulations: false, }) - .withTransactionControllerOPLayer2Transaction() + .withNetworkControllerOnOptimism() .build(), ganacheOptions: { ...defaultGanacheOptionsForType2Transactions, @@ -100,9 +105,11 @@ describe('Confirmation Redesign Contract Interaction Component', function () { }, smartContract, title: this.test?.fullTitle(), + testSpecificMock: mockOptimismOracle, }, async ({ driver, contractRegistry }: TestSuiteArguments) => { await unlockWallet(driver); + await createLayer2Transaction(driver); const contractAddress = await ( contractRegistry as GanacheContractAddressRegistry @@ -110,9 +117,7 @@ describe('Confirmation Redesign Contract Interaction Component', function () { await openDapp(driver, contractAddress); - await driver.switchToWindowWithTitle( - WINDOW_TITLES.ExtensionInFullScreenView, - ); + await driver.switchToWindowWithTitle(WINDOW_TITLES.Dialog); await toggleAdvancedDetails(driver); @@ -279,3 +284,34 @@ describe('Confirmation Redesign Contract Interaction Component', function () { }); }); }); + +async function createLayer2Transaction(driver: Driver) { + await createDappTransaction(driver, { + data: '0x1234', + to: '0x581c3C1A2A4EBDE2A0Df29B5cf4c116E42945947', + }); +} + +async function mockOptimismOracle( + mockServer: Mockttp, +): Promise { + return [ + await mockServer + .forPost(/infura/u) + .withJsonBodyIncluding({ + method: 'eth_call', + params: [{ to: '0x420000000000000000000000000000000000000f' }], + }) + .thenCallback(() => { + return { + statusCode: 200, + json: { + jsonrpc: '2.0', + id: '1111111111111111', + result: + '0x0000000000000000000000000000000000000000000000000000000c895f9d79', + }, + }; + }), + ]; +} diff --git a/test/e2e/tests/transaction/edit-gas-fee.spec.js b/test/e2e/tests/transaction/edit-gas-fee.spec.js index 5a1f32a56411..85ae4da3a31f 100644 --- a/test/e2e/tests/transaction/edit-gas-fee.spec.js +++ b/test/e2e/tests/transaction/edit-gas-fee.spec.js @@ -1,4 +1,8 @@ const { strict: assert } = require('assert'); +const { + createInternalTransaction, +} = require('../../page-objects/flows/transaction'); + const { withFixtures, openDapp, @@ -12,20 +16,18 @@ describe('Editing Confirm Transaction', function () { it('allows selecting high, medium, low gas estimates on edit gas fee popover @no-mmi', async function () { await withFixtures( { - fixtures: new FixtureBuilder() - .withTransactionControllerTypeTwoTransaction() - .build(), + fixtures: new FixtureBuilder().build(), ganacheOptions: generateGanacheOptions({ hardfork: 'london' }), title: this.test.fullTitle(), }, async ({ driver }) => { await unlockWallet(driver); + await createInternalTransaction(driver); - const transactionAmounts = await driver.findElements( - '.currency-display-component__text', - ); - const transactionAmount = transactionAmounts[0]; - assert.equal(await transactionAmount.getText(), '1'); + await driver.findElement({ + css: '.currency-display-component__text', + text: '1', + }); // update estimates to high await driver.clickElement('[data-testid="edit-gas-fee-icon"]'); @@ -87,20 +89,18 @@ describe('Editing Confirm Transaction', function () { it('allows accessing advance gas fee popover from edit gas fee popover', async function () { await withFixtures( { - fixtures: new FixtureBuilder() - .withTransactionControllerTypeTwoTransaction() - .build(), + fixtures: new FixtureBuilder().build(), ganacheOptions: generateGanacheOptions({ hardfork: 'london' }), title: this.test.fullTitle(), }, async ({ driver }) => { await unlockWallet(driver); + await createInternalTransaction(driver); - const transactionAmounts = await driver.findElements( - '.currency-display-component__text', - ); - const transactionAmount = transactionAmounts[0]; - assert.equal(await transactionAmount.getText(), '1'); + await driver.findElement({ + css: '.currency-display-component__text', + text: '1', + }); // update estimates to high await driver.clickElement('[data-testid="edit-gas-fee-icon"]'); diff --git a/test/e2e/tests/transaction/navigate-transactions.spec.js b/test/e2e/tests/transaction/navigate-transactions.spec.js index 66e2665162a7..63170d027874 100644 --- a/test/e2e/tests/transaction/navigate-transactions.spec.js +++ b/test/e2e/tests/transaction/navigate-transactions.spec.js @@ -1,104 +1,61 @@ -const { strict: assert } = require('assert'); +const { + createDappTransaction, +} = require('../../page-objects/flows/transaction'); + +const { + default: ConfirmationNavigation, +} = require('../../page-objects/pages/confirmations/legacy/navigation'); + const { withFixtures, openDapp, locateAccountBalanceDOM, unlockWallet, generateGanacheOptions, + WINDOW_TITLES, } = require('../../helpers'); const FixtureBuilder = require('../../fixture-builder'); +const TRANSACTION_COUNT = 4; + describe('Navigate transactions', function () { it('should navigate the unapproved transactions', async function () { await withFixtures( { fixtures: new FixtureBuilder() .withPreferencesControllerTxSimulationsDisabled() - .withTransactionControllerMultipleTransactions() + .withPermissionControllerConnectedToTestDapp() .build(), ganacheOptions: generateGanacheOptions({ hardfork: 'london' }), title: this.test.fullTitle(), + dapp: true, }, async ({ driver }) => { await unlockWallet(driver); + await createMultipleTransactions(driver, TRANSACTION_COUNT); - // Wait until total amount is loaded to mitigate flakiness on reject - await driver.findElement({ - tag: 'span', - text: '3.0000315', - }); + const navigation = new ConfirmationNavigation(driver); - // navigate transactions - await driver.clickElement('[data-testid="next-page"]'); - let navigationElement = await driver.findElement( - '.confirm-page-container-navigation', - ); - let navigationText = await navigationElement.getText(); - assert.equal( - navigationText.includes('2 of 4'), - true, - 'changed transaction right', - ); - await driver.clickElement('[data-testid="next-page"]'); - navigationElement = await driver.findElement( - '.confirm-page-container-navigation', - ); - navigationText = await navigationElement.getText(); - assert.equal( - navigationText.includes('3 of 4'), - true, - 'changed transaction right', - ); - await driver.clickElement('[data-testid="next-page"]'); - navigationElement = await driver.findElement( - '.confirm-page-container-navigation', - ); - navigationText = await navigationElement.getText(); - assert.equal( - navigationText.includes('4 of 4'), - true, - 'changed transaction right', - ); - await driver.clickElement('[data-testid="first-page"]'); - navigationElement = await driver.findElement( - '.confirm-page-container-navigation', - ); - navigationText = await navigationElement.getText(); - assert.equal( - navigationText.includes('1 of 4'), - true, - 'navigate to first transaction', - ); - await driver.clickElement('[data-testid="last-page"]'); - navigationElement = await driver.findElement( - '.confirm-page-container-navigation', - ); - navigationText = await navigationElement.getText(); - assert.equal( - navigationText.includes('4 of 4'), - true, - 'navigate to last transaction', - ); - await driver.clickElement('[data-testid="previous-page"]'); - navigationElement = await driver.findElement( - '.confirm-page-container-navigation', - ); - navigationText = await navigationElement.getText(); - assert.equal( - navigationText.includes('3 of 4'), - true, - 'changed transaction left', - ); - await driver.clickElement('[data-testid="previous-page"]'); - navigationElement = await driver.findElement( - '.confirm-page-container-navigation', - ); - navigationText = await navigationElement.getText(); - assert.equal( - navigationText.includes('2 of 4'), - true, - 'changed transaction left', - ); + await navigation.clickNextPage(); + await navigation.check_pageNumbers(2, 4); + + await navigation.clickNextPage(); + await navigation.check_pageNumbers(3, 4); + + await navigation.clickNextPage(); + await navigation.check_pageNumbers(4, 4); + + await navigation.clickFirstPage(); + await navigation.check_pageNumbers(1, 4); + + await navigation.clickLastPage(); + await navigation.check_pageNumbers(4, 4); + + await navigation.clickPreviousPage(); + await navigation.check_pageNumbers(3, 4); + + await navigation.clickPreviousPage(); + await navigation.check_pageNumbers(2, 4); }, ); }); @@ -110,48 +67,29 @@ describe('Navigate transactions', function () { fixtures: new FixtureBuilder() .withPermissionControllerConnectedToTestDapp() .withPreferencesControllerTxSimulationsDisabled() - .withTransactionControllerMultipleTransactions() .build(), ganacheOptions: generateGanacheOptions({ hardfork: 'london' }), title: this.test.fullTitle(), }, async ({ driver }) => { await unlockWallet(driver); + await createMultipleTransactions(driver, TRANSACTION_COUNT); - // Wait until total amount is loaded to mitigate flakiness on reject - await driver.findElement({ - tag: 'span', - text: '3.0000315', - }); + const navigation = new ConfirmationNavigation(driver); - await driver.clickElement('[data-testid="next-page"]'); - let navigationElement = await driver.findElement( - '.confirm-page-container-navigation', - ); - let navigationText = await navigationElement.getText(); - assert.equal( - navigationText.includes('2 of 4'), - true, - 'second transaction in focus', + await navigation.clickNextPage(); + await navigation.check_pageNumbers(2, 4); + + await driver.switchToWindowWithTitle( + WINDOW_TITLES.ExtensionInFullScreenView, ); // add transaction await openDapp(driver); await driver.clickElement({ text: 'Send', tag: 'button' }); - await driver.waitUntilXWindowHandles(3); - const windowHandles = await driver.getAllWindowHandles(); - const extension = windowHandles[0]; - await driver.switchToWindow(extension); - navigationElement = await driver.waitForSelector({ - css: '.confirm-page-container-navigation', - text: '2 of 5', - }); - navigationText = await navigationElement.getText(); - assert.equal( - navigationText.includes('2 of 5'), - true, - 'correct (same) transaction in focus', - ); + await driver.switchToWindowWithTitle(WINDOW_TITLES.Dialog); + + await navigation.check_pageNumbers(2, 5); }, ); }); @@ -161,32 +99,21 @@ describe('Navigate transactions', function () { { fixtures: new FixtureBuilder() .withPreferencesControllerTxSimulationsDisabled() - .withTransactionControllerMultipleTransactions() + .withPermissionControllerConnectedToTestDapp() .build(), ganacheOptions: generateGanacheOptions({ hardfork: 'london' }), title: this.test.fullTitle(), + dapp: true, }, async ({ driver }) => { await unlockWallet(driver); - - // Wait until total amount is loaded to mitigate flakiness on reject - await driver.findElement({ - tag: 'span', - text: '3.0000315', - }); + await createMultipleTransactions(driver, TRANSACTION_COUNT); // reject transaction await driver.clickElement({ text: 'Reject', tag: 'button' }); - const navigationElement = await driver.waitForSelector({ - css: '.confirm-page-container-navigation', - text: '1 of 3', - }); - const navigationText = await navigationElement.getText(); - assert.equal( - navigationText.includes('1 of 3'), - true, - 'transaction rejected', - ); + + const navigation = new ConfirmationNavigation(driver); + await navigation.check_pageNumbers(1, 3); }, ); }); @@ -196,32 +123,21 @@ describe('Navigate transactions', function () { { fixtures: new FixtureBuilder() .withPreferencesControllerTxSimulationsDisabled() - .withTransactionControllerMultipleTransactions() + .withPermissionControllerConnectedToTestDapp() .build(), ganacheOptions: generateGanacheOptions({ hardfork: 'london' }), title: this.test.fullTitle(), + dapp: true, }, async ({ driver }) => { await unlockWallet(driver); - - // Wait until total amount is loaded to mitigate flakiness on reject - await driver.findElement({ - tag: 'span', - text: '3.0000315', - }); + await createMultipleTransactions(driver, TRANSACTION_COUNT); // confirm transaction await driver.clickElement({ text: 'Confirm', tag: 'button' }); - const navigationElement = await driver.waitForSelector({ - css: '.confirm-page-container-navigation', - text: '1 of 3', - }); - const navigationText = await navigationElement.getText(); - assert.equal( - navigationText.includes('1 of 3'), - true, - 'transaction confirmed', - ); + + const navigation = new ConfirmationNavigation(driver); + await navigation.check_pageNumbers(1, 3); }, ); }); @@ -231,33 +147,39 @@ describe('Navigate transactions', function () { { fixtures: new FixtureBuilder() .withPreferencesControllerTxSimulationsDisabled() - .withTransactionControllerMultipleTransactions() + .withPermissionControllerConnectedToTestDapp() .build(), ganacheOptions: generateGanacheOptions({ hardfork: 'london' }), title: this.test.fullTitle(), + dapp: true, }, async ({ driver, ganacheServer }) => { await unlockWallet(driver); - - // Wait until the confirmation screen is stabilized to mitigate flakiness on reject: - // 1. Total amount is loaded - await driver.findElement({ - tag: 'span', - text: '3.0000315', - }); - // 2. Gas timing is loaded - await driver.findElement('[data-testid="gas-timing-time"]'); - // 3. Insufficient funds warning is not present - await driver.assertElementNotPresent({ - text: 'You do not have enough ETH', - tag: 'p', - }); + await createMultipleTransactions(driver, TRANSACTION_COUNT); // reject transactions await driver.clickElement({ text: 'Reject 4', tag: 'a' }); await driver.clickElement({ text: 'Reject all', tag: 'button' }); + + await driver.switchToWindowWithTitle( + WINDOW_TITLES.ExtensionInFullScreenView, + ); await locateAccountBalanceDOM(driver, ganacheServer); }, ); }); }); + +async function createMultipleTransactions(driver, count) { + for (let i = 0; i < count; i++) { + await createDappTransaction(driver); + } + + await driver.switchToWindowWithTitle(WINDOW_TITLES.Dialog); + + // Wait until total amount is loaded to mitigate flakiness on reject + await driver.findElement({ + tag: 'span', + text: '0.001', + }); +} diff --git a/test/e2e/tests/transaction/send-edit.spec.js b/test/e2e/tests/transaction/send-edit.spec.js index 95e5b3235ebd..953f2ebf3569 100644 --- a/test/e2e/tests/transaction/send-edit.spec.js +++ b/test/e2e/tests/transaction/send-edit.spec.js @@ -1,4 +1,8 @@ const { strict: assert } = require('assert'); +const { + createInternalTransaction, +} = require('../../page-objects/flows/transaction'); + const { defaultGanacheOptions, withFixtures, @@ -11,23 +15,23 @@ describe('Editing Confirm Transaction', function () { it('goes back from confirm page to edit eth value, gas price and gas limit', async function () { await withFixtures( { - fixtures: new FixtureBuilder() - .withTransactionControllerTypeOneTransaction() - .withConversionRateDisabled() - .build(), + fixtures: new FixtureBuilder().withConversionRateDisabled().build(), ganacheOptions: defaultGanacheOptions, title: this.test.fullTitle(), }, async ({ driver }) => { await unlockWallet(driver); - const transactionAmounts = await driver.findElements( - '.currency-display-component__text', - ); - const transactionAmount = transactionAmounts[0]; - assert.equal(await transactionAmount.getText(), '1'); + await createInternalTransaction(driver); - const transactionFee = transactionAmounts[1]; - assert.equal(await transactionFee.getText(), '0.00025'); + await driver.findElement({ + css: '.currency-display-component__text', + text: '1', + }); + + await driver.findElement({ + css: '.currency-display-component__text', + text: '1.000042', + }); await driver.clickElement( '.confirm-page-container-header__back-button', @@ -86,23 +90,23 @@ describe('Editing Confirm Transaction', function () { it('goes back from confirm page to edit eth value, baseFee, priorityFee and gas limit - 1559 V2', async function () { await withFixtures( { - fixtures: new FixtureBuilder() - .withTransactionControllerTypeTwoTransaction() - .withConversionRateDisabled() - .build(), + fixtures: new FixtureBuilder().withConversionRateDisabled().build(), ganacheOptions: generateGanacheOptions({ hardfork: 'london' }), title: this.test.fullTitle(), }, async ({ driver }) => { await unlockWallet(driver); - const transactionAmounts = await driver.findElements( - '.currency-display-component__text', - ); - const transactionAmount = transactionAmounts[0]; - assert.equal(await transactionAmount.getText(), '1'); + await createInternalTransaction(driver); - const transactionFee = transactionAmounts[1]; - assert.equal(await transactionFee.getText(), '0.0000375'); + await driver.findElement({ + css: '.currency-display-component__text', + text: '1', + }); + + await driver.findElement({ + css: '.currency-display-component__text', + text: '1.00043983', + }); await driver.clickElement( '.confirm-page-container-header__back-button', diff --git a/ui/__mocks__/ethereumjs-util.js b/ui/__mocks__/ethereumjs-util.js new file mode 100644 index 000000000000..d7af4a81162c --- /dev/null +++ b/ui/__mocks__/ethereumjs-util.js @@ -0,0 +1,6 @@ +// eslint-disable-next-line import/no-extraneous-dependencies, node/no-extraneous-require +const util = require('ethereumjs-util'); + +module.exports = { + ...util, +}; diff --git a/yarn.lock b/yarn.lock index 1c0a3d9ab60e..e6bf174ada48 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4870,7 +4870,7 @@ __metadata: languageName: node linkType: hard -"@metamask/base-controller@npm:^6.0.0, @metamask/base-controller@npm:^6.0.1, @metamask/base-controller@npm:^6.0.2, @metamask/base-controller@npm:^6.0.3": +"@metamask/base-controller@npm:^6.0.0, @metamask/base-controller@npm:^6.0.1, @metamask/base-controller@npm:^6.0.2": version: 6.0.3 resolution: "@metamask/base-controller@npm:6.0.3" dependencies: @@ -4880,13 +4880,13 @@ __metadata: languageName: node linkType: hard -"@metamask/base-controller@npm:^7.0.0": - version: 7.0.0 - resolution: "@metamask/base-controller@npm:7.0.0" +"@metamask/base-controller@npm:^7.0.0, @metamask/base-controller@npm:^7.0.1": + version: 7.0.1 + resolution: "@metamask/base-controller@npm:7.0.1" dependencies: "@metamask/utils": "npm:^9.1.0" immer: "npm:^9.0.6" - checksum: 10/0ea307da4a7863224fd1fc83039165dbd06d2725922d4d4cf5854f5e7894e789a3c277f1e4592a38ae002de869217a26550f3b9687c259fc29153984dc5b4a4c + checksum: 10/774b6d68ac95a5ec187e890d321bede50065f8a6f1ba7b49a19f5971366274054ac0e401548b51d3b014d0bca5d650409fb554dd13ce120e7fb3495b4e8e67b1 languageName: node linkType: hard @@ -4923,9 +4923,9 @@ __metadata: languageName: node linkType: hard -"@metamask/controller-utils@npm:^11.0.0, @metamask/controller-utils@npm:^11.0.1, @metamask/controller-utils@npm:^11.0.2, @metamask/controller-utils@npm:^11.1.0, @metamask/controller-utils@npm:^11.2.0": - version: 11.2.0 - resolution: "@metamask/controller-utils@npm:11.2.0" +"@metamask/controller-utils@npm:^11.0.0, @metamask/controller-utils@npm:^11.0.1, @metamask/controller-utils@npm:^11.0.2, @metamask/controller-utils@npm:^11.1.0, @metamask/controller-utils@npm:^11.2.0, @metamask/controller-utils@npm:^11.3.0": + version: 11.3.0 + resolution: "@metamask/controller-utils@npm:11.3.0" dependencies: "@ethereumjs/util": "npm:^8.1.0" "@metamask/eth-query": "npm:^4.0.0" @@ -4936,7 +4936,7 @@ __metadata: bn.js: "npm:^5.2.1" eth-ens-namehash: "npm:^2.0.8" fast-deep-equal: "npm:^3.1.3" - checksum: 10/8c8630a635c5eeeb8ef46b14a12779a5005d8112668500bfb513186dee3f68b94dcf43ce6eddf42c38382828cd7ba28657b627d0eb617207a25b6ee78eae6b08 + checksum: 10/3200228d1f4ea5fa095228db4e5050529caf0470e072382eb8f7571bb9b07515516ca9e846b7751388399d9ae967e4985dafd6120902ef6c998e98f4eb36d964 languageName: node linkType: hard @@ -6501,9 +6501,9 @@ __metadata: languageName: node linkType: hard -"@metamask/transaction-controller@npm:^35.2.0": - version: 35.2.0 - resolution: "@metamask/transaction-controller@npm:35.2.0" +"@metamask/transaction-controller@npm:^37.0.0": + version: 37.0.0 + resolution: "@metamask/transaction-controller@npm:37.0.0" dependencies: "@ethereumjs/common": "npm:^3.2.0" "@ethereumjs/tx": "npm:^4.2.0" @@ -6511,8 +6511,8 @@ __metadata: "@ethersproject/abi": "npm:^5.7.0" "@ethersproject/contracts": "npm:^5.7.0" "@ethersproject/providers": "npm:^5.7.0" - "@metamask/base-controller": "npm:^6.0.3" - "@metamask/controller-utils": "npm:^11.0.2" + "@metamask/base-controller": "npm:^7.0.1" + "@metamask/controller-utils": "npm:^11.3.0" "@metamask/eth-query": "npm:^4.0.0" "@metamask/metamask-eth-abis": "npm:^3.1.1" "@metamask/nonce-tracker": "npm:^6.0.0" @@ -6528,9 +6528,9 @@ __metadata: "@babel/runtime": ^7.23.9 "@metamask/accounts-controller": ^18.0.0 "@metamask/approval-controller": ^7.0.0 - "@metamask/gas-fee-controller": ^19.0.0 - "@metamask/network-controller": ^20.0.0 - checksum: 10/93af57d96860e4363b53ac1365742d77ca82689faf9ececca84309e15298a43a92e76a7ea3871b52b2a1785ff96e003db23e921ad6b4a4b65eddaa12d5edf570 + "@metamask/gas-fee-controller": ^20.0.0 + "@metamask/network-controller": ^21.0.0 + checksum: 10/b4608260cb86ad1a867926b983a21050a2be899f17af909ad2403b5148eada348b0fbb3f7ecef9ebc7cf8d28c040ce4d6f5009709328cda00fab61e10fa94de6 languageName: node linkType: hard @@ -26062,7 +26062,7 @@ __metadata: "@metamask/snaps-utils": "npm:^8.0.1" "@metamask/test-bundler": "npm:^1.0.0" "@metamask/test-dapp": "npm:^8.4.0" - "@metamask/transaction-controller": "npm:^35.2.0" + "@metamask/transaction-controller": "npm:^37.0.0" "@metamask/user-operation-controller": "npm:^13.0.0" "@metamask/utils": "npm:^9.1.0" "@ngraveio/bc-ur": "npm:^1.1.12" From e7df8e2c0d9cb9d6a653d21809fb07f9e8d6310e Mon Sep 17 00:00:00 2001 From: Jyoti Puri Date: Tue, 17 Sep 2024 16:32:45 +0530 Subject: [PATCH 05/37] fix: add memoization to confirm context (#27208) --- .../confirmations/context/confirm/index.tsx | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/ui/pages/confirmations/context/confirm/index.tsx b/ui/pages/confirmations/context/confirm/index.tsx index febab3453298..b8e2e1535fdb 100644 --- a/ui/pages/confirmations/context/confirm/index.tsx +++ b/ui/pages/confirmations/context/confirm/index.tsx @@ -2,6 +2,7 @@ import React, { ReactElement, createContext, useContext, + useMemo, useState, } from 'react'; @@ -27,16 +28,21 @@ export const ConfirmContextProvider: React.FC<{ const { currentConfirmation } = useCurrentConfirmation(); syncConfirmPath(currentConfirmation); + const value = useMemo( + () => ({ + currentConfirmation, + isScrollToBottomCompleted, + setIsScrollToBottomCompleted, + }), + [ + currentConfirmation, + isScrollToBottomCompleted, + setIsScrollToBottomCompleted, + ], + ); + return ( - - {children} - + {children} ); }; From 270d2ad91fddb4f6c656eb8c0a08cb4f33a1b049 Mon Sep 17 00:00:00 2001 From: Jyoti Puri Date: Tue, 17 Sep 2024 18:00:52 +0530 Subject: [PATCH 06/37] fix: selector getKnownMethodData should return empty object if user has opted out for using 4Byte Resolution (#27203) --- .../components/confirm/info/hooks/useFourByte.test.ts | 6 +++--- .../info/hooks/useKnownMethodDataInTransaction.test.ts | 6 +++--- .../info/shared/transaction-details/transaction-details.tsx | 2 +- ui/selectors/selectors.js | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/ui/pages/confirmations/components/confirm/info/hooks/useFourByte.test.ts b/ui/pages/confirmations/components/confirm/info/hooks/useFourByte.test.ts index 1c3d66570d8b..bdff31ac33e6 100644 --- a/ui/pages/confirmations/components/confirm/info/hooks/useFourByte.test.ts +++ b/ui/pages/confirmations/components/confirm/info/hooks/useFourByte.test.ts @@ -34,7 +34,7 @@ describe('useFourByte', () => { expect(result.current.params).toEqual([]); }); - it('returns undefined if resolution is turned off', () => { + it('returns empty object if resolution is turned off', () => { const currentConfirmation = genUnapprovedContractInteractionConfirmation({ address: CONTRACT_INTERACTION_SENDER_ADDRESS, txData: depositHexData, @@ -54,7 +54,7 @@ describe('useFourByte', () => { }, ); - expect(result.current).toBeUndefined(); + expect(result.current).toEqual({}); }); it("returns undefined if it's not known even if resolution is enabled", () => { @@ -75,6 +75,6 @@ describe('useFourByte', () => { }, ); - expect(result.current).toBeUndefined(); + expect(result.current).toEqual({}); }); }); diff --git a/ui/pages/confirmations/components/confirm/info/hooks/useKnownMethodDataInTransaction.test.ts b/ui/pages/confirmations/components/confirm/info/hooks/useKnownMethodDataInTransaction.test.ts index 1c3d66570d8b..bdff31ac33e6 100644 --- a/ui/pages/confirmations/components/confirm/info/hooks/useKnownMethodDataInTransaction.test.ts +++ b/ui/pages/confirmations/components/confirm/info/hooks/useKnownMethodDataInTransaction.test.ts @@ -34,7 +34,7 @@ describe('useFourByte', () => { expect(result.current.params).toEqual([]); }); - it('returns undefined if resolution is turned off', () => { + it('returns empty object if resolution is turned off', () => { const currentConfirmation = genUnapprovedContractInteractionConfirmation({ address: CONTRACT_INTERACTION_SENDER_ADDRESS, txData: depositHexData, @@ -54,7 +54,7 @@ describe('useFourByte', () => { }, ); - expect(result.current).toBeUndefined(); + expect(result.current).toEqual({}); }); it("returns undefined if it's not known even if resolution is enabled", () => { @@ -75,6 +75,6 @@ describe('useFourByte', () => { }, ); - expect(result.current).toBeUndefined(); + expect(result.current).toEqual({}); }); }); diff --git a/ui/pages/confirmations/components/confirm/info/shared/transaction-details/transaction-details.tsx b/ui/pages/confirmations/components/confirm/info/shared/transaction-details/transaction-details.tsx index f911c78fd343..e53387af325a 100644 --- a/ui/pages/confirmations/components/confirm/info/shared/transaction-details/transaction-details.tsx +++ b/ui/pages/confirmations/components/confirm/info/shared/transaction-details/transaction-details.tsx @@ -68,7 +68,7 @@ export const MethodDataRow = () => { const { currentConfirmation } = useConfirmContext(); const methodData = useFourByte(currentConfirmation); - if (!methodData) { + if (!methodData?.name) { return null; } diff --git a/ui/selectors/selectors.js b/ui/selectors/selectors.js index 35bee7771dff..7d278675efd9 100644 --- a/ui/selectors/selectors.js +++ b/ui/selectors/selectors.js @@ -1262,7 +1262,7 @@ export function getKnownMethodData(state, data) { const fourBytePrefix = prefixedData.slice(0, 10); const { knownMethodData, use4ByteResolution } = state.metamask; // If 4byte setting is off, we do not want to return the knownMethodData - return use4ByteResolution ? knownMethodData?.[fourBytePrefix] : undefined; + return use4ByteResolution ? knownMethodData?.[fourBytePrefix] ?? {} : {}; } export function getFeatureFlags(state) { From 1386a58e9da45f9c12598003e7153d4a651f486f Mon Sep 17 00:00:00 2001 From: Jyoti Puri Date: Tue, 17 Sep 2024 18:01:09 +0530 Subject: [PATCH 07/37] fix: Update max gas limit with value returned from eth_estimateGas api if present (#27165) --- .../advanced-gas-fee-gas-limit.js | 30 +++++++++--- .../advanced-gas-fee-gas-limit.test.js | 46 +++++++++++++++---- 2 files changed, 61 insertions(+), 15 deletions(-) diff --git a/ui/pages/confirmations/components/advanced-gas-fee-popover/advanced-gas-fee-gas-limit/advanced-gas-fee-gas-limit.js b/ui/pages/confirmations/components/advanced-gas-fee-popover/advanced-gas-fee-gas-limit/advanced-gas-fee-gas-limit.js index 949aac299db2..848cdf381075 100644 --- a/ui/pages/confirmations/components/advanced-gas-fee-popover/advanced-gas-fee-gas-limit/advanced-gas-fee-gas-limit.js +++ b/ui/pages/confirmations/components/advanced-gas-fee-popover/advanced-gas-fee-gas-limit/advanced-gas-fee-gas-limit.js @@ -11,13 +11,12 @@ import FormField from '../../../../../components/ui/form-field'; import { useAdvancedGasFeePopoverContext } from '../context'; import { Text } from '../../../../../components/component-library'; import { IGNORE_GAS_LIMIT_CHAIN_IDS } from '../../../constants'; +import { hexToDecimal } from '../../../../../../shared/modules/conversion.utils'; -const validateGasLimit = (gasLimit, minimumGasLimitDec) => { - return bnLessThan(gasLimit, minimumGasLimitDec) || - bnGreaterThan(gasLimit, MAX_GAS_LIMIT_DEC) +const validateGasLimit = (gasLimit, minGasLimit, maxGasLimit) => + bnLessThan(gasLimit, minGasLimit) || bnGreaterThan(gasLimit, maxGasLimit) ? 'editGasLimitOutOfBoundsV2' : null; -}; const AdvancedGasFeeGasLimit = () => { const t = useI18nContext(); @@ -26,8 +25,15 @@ const AdvancedGasFeeGasLimit = () => { const { gasLimit: gasLimitInTransaction, minimumGasLimitDec, - transaction: { chainId }, + transaction: { chainId, originalGasEstimate }, } = useGasFeeContext(); + const originalGasEstimateDec = + originalGasEstimate !== undefined && hexToDecimal(originalGasEstimate); + const [maxGasLimit, setMaxGasLimit] = useState( + originalGasEstimateDec + ? Math.max(MAX_GAS_LIMIT_DEC, originalGasEstimateDec) + : MAX_GAS_LIMIT_DEC, + ); const [isEditing, setEditing] = useState(false); const [gasLimit, setGasLimit] = useState(gasLimitInTransaction); const [gasLimitError, setGasLimitError] = useState(); @@ -41,8 +47,9 @@ const AdvancedGasFeeGasLimit = () => { if (IGNORE_GAS_LIMIT_CHAIN_IDS.includes(chainId)) { return; } - const error = validateGasLimit(gasLimit, minimumGasLimitDec); + const error = validateGasLimit(gasLimit, minimumGasLimitDec, maxGasLimit); setGasLimitError(error); + setEditing(isEditing === true ? isEditing : error !== null); setErrorValue('gasLimit', error === 'editGasLimitOutOfBoundsV2'); }, [ chainId, @@ -50,15 +57,24 @@ const AdvancedGasFeeGasLimit = () => { minimumGasLimitDec, setGasLimitInContext, setErrorValue, + maxGasLimit, + isEditing, + t, ]); + useEffect(() => { + if (originalGasEstimateDec) { + setMaxGasLimit(Math.max(MAX_GAS_LIMIT_DEC, originalGasEstimateDec)); + } + }, [minimumGasLimitDec, originalGasEstimateDec, setMaxGasLimit]); + if (isEditing) { return ( ({ const mockSelectedInternalAccount = getSelectedInternalAccountFromMockState(mockState); -const render = async (contextProps) => { +const render = async (contextProps, transaction) => { const store = configureStore({ metamask: { ...mockState.metamask, @@ -57,10 +57,12 @@ const render = async (contextProps) => { async () => (result = renderWithProvider( @@ -117,14 +119,42 @@ describe('AdvancedGasFeeGasLimit', () => { }); it('should validate gas limit against minimumGasLimit it is passed to context', async () => { - await render({ minimumGasLimit: '0x7530' }); + await render({ minimumGasLimit: '0x5208' }); fireEvent.click(screen.queryByText('Edit')); fireEvent.change(document.getElementsByTagName('input')[0], { - target: { value: 25000 }, + target: { value: 2500 }, }); expect( screen.queryByText( - `Gas limit must be greater than 29999 and less than ${MAX_GAS_LIMIT_DEC}`, + `Gas limit must be greater than 20999 and less than ${MAX_GAS_LIMIT_DEC}`, + ), + ).toBeInTheDocument(); + }); + + it('should replace maximum gas limit with originalGasEstimate if it is greater than maximum gas limit', async () => { + await render( + { minimumGasLimit: '0x7530' }, + { + chainId: '0x5', + id: 8393540981007587, + time: 1536268017676, + status: 'unapproved', + loadingDefaults: false, + originalGasEstimate: '0x78D9B2', + txParams: { + data: '0xa9059cbb000000000000000000000000b19ac54efa18cc3a14a5b821bfec73d284bf0c5e0000000000000000000000000000000000000000000000003782dace9d900000', + from: '0x0dcd5d886577d5081b0c52e242ef29e70be3e7bc', + to: '0xc42edfcc21ed14dda456aa0756c153f7985d8813', + value: '0x0', + gas: '0x3b9aca00', + gasPrice: '0x3b9aca00', + }, + origin: 'metamask', + }, + ); + expect( + screen.queryByText( + `Gas limit must be greater than 29999 and less than 7920050`, ), ).toBeInTheDocument(); }); From 56c23fc04bf102ef2bdc595b6675af248a24f32a Mon Sep 17 00:00:00 2001 From: "devin-ai-integration[bot]" <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Tue, 17 Sep 2024 15:19:14 +0200 Subject: [PATCH 08/37] test: [POM] create AccountListPage for e2e tests and migrate 4 test files to POM and TS (#27201) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## **Description** This pull request creates the AccountListPage class for the E2E tests page object model and migrates 4 test files in `test/e2e/tests/account` to POM **and** TypeScript, with enhanced log messages. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27155?quickstart=1) ## **Related issues** Fixes: #27163 ## **Manual testing steps** Check code readability, make sure tests pass. ## **Screenshots/Recordings** ### **Before** ### **After** ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [x] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [x] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --------- Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Chloe Gao Co-authored-by: chloeYue <105063779+chloeYue@users.noreply.github.com> --- .../page-objects/pages/account-list-page.ts | 92 +++++++++++++++++++ test/e2e/page-objects/pages/header-navbar.ts | 11 +++ test/e2e/page-objects/pages/homepage.ts | 8 ++ .../tests/account/account-hide-unhide.spec.js | 63 ------------- .../tests/account/account-hide-unhide.spec.ts | 35 +++++++ .../tests/account/account-pin-unpin.spec.js | 71 -------------- .../tests/account/account-pin-unpin.spec.ts | 67 ++++++++++++++ test/e2e/tests/account/lock-account.spec.js | 37 -------- test/e2e/tests/account/lock-account.spec.ts | 24 +++++ .../{lockdown.spec.js => lockdown.spec.ts} | 28 +++--- .../account-list-item/account-list-item.js | 1 + 11 files changed, 251 insertions(+), 186 deletions(-) create mode 100644 test/e2e/page-objects/pages/account-list-page.ts delete mode 100644 test/e2e/tests/account/account-hide-unhide.spec.js create mode 100644 test/e2e/tests/account/account-hide-unhide.spec.ts delete mode 100644 test/e2e/tests/account/account-pin-unpin.spec.js create mode 100644 test/e2e/tests/account/account-pin-unpin.spec.ts delete mode 100644 test/e2e/tests/account/lock-account.spec.js create mode 100644 test/e2e/tests/account/lock-account.spec.ts rename test/e2e/tests/account/{lockdown.spec.js => lockdown.spec.ts} (76%) diff --git a/test/e2e/page-objects/pages/account-list-page.ts b/test/e2e/page-objects/pages/account-list-page.ts new file mode 100644 index 000000000000..8550c092b23c --- /dev/null +++ b/test/e2e/page-objects/pages/account-list-page.ts @@ -0,0 +1,92 @@ +import { Driver } from '../../webdriver/driver'; + +class AccountListPage { + private driver: Driver; + + private accountListItem: object; + + private accountOptionsMenuButton: string; + + private hideUnhideAccountButton: string; + + private hiddenAccountsList: string; + + private hiddenAccountOptionsMenuButton: string; + + private pinnedIcon: string; + + private pinUnpinAccountButton: string; + + constructor(driver: Driver) { + this.driver = driver; + this.accountOptionsMenuButton = + '[data-testid="account-list-item-menu-button"]'; + this.hideUnhideAccountButton = '[data-testid="account-list-menu-hide"]'; + this.pinUnpinAccountButton = '[data-testid="account-list-menu-pin"]'; + this.hiddenAccountsList = '[data-testid="hidden-accounts-list"]'; + this.pinnedIcon = '[data-testid="account-pinned-icon"]'; + this.accountListItem = { + text: 'Account', + css: '.multichain-account-menu-popover__list--menu-item', + }; + this.hiddenAccountOptionsMenuButton = + '.multichain-account-menu-popover__list--menu-item-hidden-account [data-testid="account-list-item-menu-button"]'; + } + + async hideAccount(): Promise { + console.log(`Hide account in account list`); + await this.driver.clickElement(this.hideUnhideAccountButton); + } + + async openAccountOptionsMenu(): Promise { + console.log(`Open account option menu`); + await this.driver.clickElement(this.accountOptionsMenuButton); + } + + async openHiddenAccountOptions(): Promise { + console.log(`Open hidden accounts options menu`); + await this.driver.clickElement(this.hiddenAccountOptionsMenuButton); + } + + async openHiddenAccountsList(): Promise { + console.log(`Open hidden accounts option menu`); + await this.driver.clickElement(this.hiddenAccountsList); + } + + async pinAccount(): Promise { + console.log(`Pin account in account list`); + await this.driver.clickElement(this.pinUnpinAccountButton); + } + + async unhideAccount(): Promise { + console.log(`Unhide account in account list`); + await this.driver.clickElement(this.hideUnhideAccountButton); + } + + async unpinAccount(): Promise { + console.log(`Unpin account in account list`); + await this.driver.clickElement(this.pinUnpinAccountButton); + } + + async check_accountIsDisplayed(): Promise { + console.log(`Check that account is displayed in account list`); + await this.driver.waitForSelector(this.accountListItem); + } + + async check_accountIsPinned(): Promise { + console.log(`Check that account is pinned`); + await this.driver.waitForSelector(this.pinnedIcon); + } + + async check_accountIsUnpinned(): Promise { + console.log(`Check that account is unpinned`); + await this.driver.assertElementNotPresent(this.pinnedIcon); + } + + async check_hiddenAccountsListExists(): Promise { + console.log(`Check that hidden accounts list is displayed in account list`); + await this.driver.waitForSelector(this.hiddenAccountsList); + } +} + +export default AccountListPage; diff --git a/test/e2e/page-objects/pages/header-navbar.ts b/test/e2e/page-objects/pages/header-navbar.ts index add85e88b7b7..a6d58b6b1946 100644 --- a/test/e2e/page-objects/pages/header-navbar.ts +++ b/test/e2e/page-objects/pages/header-navbar.ts @@ -5,14 +5,25 @@ class HeaderNavbar { private accountMenuButton: string; + private accountOptionMenu: string; + + private lockMetaMaskButton: string; + constructor(driver: Driver) { this.driver = driver; this.accountMenuButton = '[data-testid="account-menu-icon"]'; + this.accountOptionMenu = '[data-testid="account-options-menu-button"]'; + this.lockMetaMaskButton = '[data-testid="global-menu-lock"]'; } async openAccountMenu(): Promise { await this.driver.clickElement(this.accountMenuButton); } + + async lockMetaMask(): Promise { + await this.driver.clickElement(this.accountOptionMenu); + await this.driver.clickElement(this.lockMetaMaskButton); + } } export default HeaderNavbar; diff --git a/test/e2e/page-objects/pages/homepage.ts b/test/e2e/page-objects/pages/homepage.ts index 5e596021a449..92c5e34f2a0e 100644 --- a/test/e2e/page-objects/pages/homepage.ts +++ b/test/e2e/page-objects/pages/homepage.ts @@ -20,6 +20,8 @@ class HomePage { private transactionAmountsInActivity: string; + private accountMenuButton: string; + public headerNavbar: HeaderNavbar; constructor(driver: Driver) { @@ -36,6 +38,7 @@ class HomePage { this.completedTransactions = '[data-testid="activity-list-item"]'; this.transactionAmountsInActivity = '[data-testid="transaction-list-item-primary-currency"]'; + this.accountMenuButton = '[data-testid="account-menu-icon"]'; } async check_pageIsLoaded(): Promise { @@ -81,6 +84,11 @@ class HomePage { await this.driver.clickElement(this.activityTab); } + async openAccountMenu(): Promise { + console.log(`Opening account menu`); + await this.driver.clickElement(this.accountMenuButton); + } + /** * This function checks if the specified number of confirmed transactions are displayed in the activity list on homepage. * It waits up to 10 seconds for the expected number of confirmed transactions to be visible. diff --git a/test/e2e/tests/account/account-hide-unhide.spec.js b/test/e2e/tests/account/account-hide-unhide.spec.js deleted file mode 100644 index 803954ea38e3..000000000000 --- a/test/e2e/tests/account/account-hide-unhide.spec.js +++ /dev/null @@ -1,63 +0,0 @@ -const { strict: assert } = require('assert'); -const { - defaultGanacheOptions, - withFixtures, - unlockWallet, -} = require('../../helpers'); -const FixtureBuilder = require('../../fixture-builder'); - -describe('Account list - hide/unhide functionality - ', function () { - it('hide account by clicking hide button', async function () { - await withFixtures( - { - fixtures: new FixtureBuilder().build(), - ganacheOptions: defaultGanacheOptions, - title: this.test.fullTitle(), - }, - async ({ driver }) => { - await unlockWallet(driver); - - await driver.clickElement('[data-testid="account-menu-icon"]'); - await driver.clickElement( - '[data-testid="account-list-item-menu-button"]', - ); - await driver.clickElement('[data-testid="account-list-menu-hide"]'); - const hiddenAccounts = await driver.findElement( - '.hidden-accounts-list', - ); - assert.equal(await hiddenAccounts.isDisplayed(), true); - }, - ); - }); - - it('unhide account by clicking show account button', async function () { - await withFixtures( - { - fixtures: new FixtureBuilder().build(), - ganacheOptions: defaultGanacheOptions, - title: this.test.fullTitle(), - }, - async ({ driver }) => { - await unlockWallet(driver); - - await driver.clickElement('[data-testid="account-menu-icon"]'); - await driver.clickElement( - '[data-testid="account-list-item-menu-button"]', - ); - await driver.clickElement('[data-testid="account-list-menu-hide"]'); - - await driver.clickElement('.hidden-accounts-list'); - - await driver.clickElement( - '.multichain-account-menu-popover__list--menu-item-hidden-account [data-testid="account-list-item-menu-button"]', - ); - await driver.clickElement('[data-testid="account-list-menu-hide"]'); - - const accounts = await driver.findElement( - '.multichain-account-menu-popover__list--menu-item', - ); - assert.equal(await accounts.isDisplayed(), true); - }, - ); - }); -}); diff --git a/test/e2e/tests/account/account-hide-unhide.spec.ts b/test/e2e/tests/account/account-hide-unhide.spec.ts new file mode 100644 index 000000000000..19523b0ab0ce --- /dev/null +++ b/test/e2e/tests/account/account-hide-unhide.spec.ts @@ -0,0 +1,35 @@ +import { Suite } from 'mocha'; +import { Driver } from '../../webdriver/driver'; +import { withFixtures, defaultGanacheOptions } from '../../helpers'; +import FixtureBuilder from '../../fixture-builder'; +import { loginWithBalanceValidation } from '../../page-objects/flows/login.flow'; +import HomePage from '../../page-objects/pages/homepage'; +import AccountListPage from '../../page-objects/pages/account-list-page'; + +describe('Account list - hide/unhide functionality', function (this: Suite) { + it('hide and unhide account by clicking hide and unhide button', async function () { + await withFixtures( + { + fixtures: new FixtureBuilder().build(), + ganacheOptions: defaultGanacheOptions, + title: this.test?.fullTitle(), + }, + async ({ driver }: { driver: Driver }) => { + await loginWithBalanceValidation(driver); + new HomePage(driver).openAccountMenu(); + + // hide account + const accountListPage = new AccountListPage(driver); + await accountListPage.openAccountOptionsMenu(); + await accountListPage.hideAccount(); + await accountListPage.check_hiddenAccountsListExists(); + + // unhide account + await accountListPage.openHiddenAccountsList(); + await accountListPage.openHiddenAccountOptions(); + await accountListPage.unhideAccount(); + await accountListPage.check_accountIsDisplayed(); + }, + ); + }); +}); diff --git a/test/e2e/tests/account/account-pin-unpin.spec.js b/test/e2e/tests/account/account-pin-unpin.spec.js deleted file mode 100644 index dc4b6d564506..000000000000 --- a/test/e2e/tests/account/account-pin-unpin.spec.js +++ /dev/null @@ -1,71 +0,0 @@ -const { strict: assert } = require('assert'); -const { - defaultGanacheOptions, - withFixtures, - unlockWallet, -} = require('../../helpers'); -const FixtureBuilder = require('../../fixture-builder'); - -describe('Account list - pin/unpin functionality - ', function () { - it('pin and unpin account by clicking the pin/unpin button', async function () { - await withFixtures( - { - fixtures: new FixtureBuilder().build(), - ganacheOptions: defaultGanacheOptions, - title: this.test.fullTitle(), - }, - async ({ driver }) => { - const pinnedIconSelector = '.account-pinned-icon'; - await unlockWallet(driver); - - // pin account - await driver.clickElement('[data-testid="account-menu-icon"]'); - await driver.clickElement( - '[data-testid="account-list-item-menu-button"]', - ); - await driver.clickElement('[data-testid="account-list-menu-pin"]'); - const pinnedIcon = await driver.findElement(pinnedIconSelector); - assert.equal(await pinnedIcon.isDisplayed(), true); - - // unpin account - await driver.clickElement( - '[data-testid="account-list-item-menu-button"]', - ); - await driver.clickElement('[data-testid="account-list-menu-pin"]'); - - await driver.assertElementNotPresent(pinnedIconSelector, { - waitAtLeastGuard: 200, // A waitAtLeastGuard of 200ms is the best choice here - }); - }, - ); - }); - - it('account once hidden should be unpinned and remain so even if revealed again', async function () { - await withFixtures( - { - fixtures: new FixtureBuilder().build(), - ganacheOptions: defaultGanacheOptions, - title: this.test.fullTitle(), - }, - async ({ driver }) => { - await unlockWallet(driver); - - await driver.clickElement('[data-testid="account-menu-icon"]'); - await driver.clickElement( - '[data-testid="account-list-item-menu-button"]', - ); - await driver.clickElement('[data-testid="account-list-menu-pin"]'); - const pinnedIcon = await driver.findElement('.account-pinned-icon'); - assert.equal(await pinnedIcon.isDisplayed(), true); - await driver.clickElement( - '[data-testid="account-list-item-menu-button"]', - ); - await driver.clickElement('[data-testid="account-list-menu-hide"]'); - const hiddenAccounts = await driver.findElement( - '.hidden-accounts-list', - ); - assert.equal(await hiddenAccounts.isDisplayed(), true); - }, - ); - }); -}); diff --git a/test/e2e/tests/account/account-pin-unpin.spec.ts b/test/e2e/tests/account/account-pin-unpin.spec.ts new file mode 100644 index 000000000000..a37859dfa6a9 --- /dev/null +++ b/test/e2e/tests/account/account-pin-unpin.spec.ts @@ -0,0 +1,67 @@ +import { Suite } from 'mocha'; +import { Driver } from '../../webdriver/driver'; +import { withFixtures, defaultGanacheOptions } from '../../helpers'; +import FixtureBuilder from '../../fixture-builder'; +import { loginWithBalanceValidation } from '../../page-objects/flows/login.flow'; +import HomePage from '../../page-objects/pages/homepage'; +import AccountListPage from '../../page-objects/pages/account-list-page'; + +describe('Account list - pin/unpin functionality', function (this: Suite) { + it('pin and unpin account by clicking the pin/unpin button', async function () { + await withFixtures( + { + fixtures: new FixtureBuilder().build(), + ganacheOptions: defaultGanacheOptions, + title: this.test?.fullTitle(), + }, + async ({ driver }: { driver: Driver }) => { + await loginWithBalanceValidation(driver); + new HomePage(driver).openAccountMenu(); + + // pin account + const accountListPage = new AccountListPage(driver); + await accountListPage.openAccountOptionsMenu(); + await accountListPage.pinAccount(); + await accountListPage.check_accountIsPinned(); + + // unpin account + await accountListPage.openAccountOptionsMenu(); + await accountListPage.unpinAccount(); + await accountListPage.check_accountIsUnpinned(); + }, + ); + }); + + it('account once hidden should be unpinned and remain so even if revealed again', async function () { + await withFixtures( + { + fixtures: new FixtureBuilder().build(), + ganacheOptions: defaultGanacheOptions, + title: this.test?.fullTitle(), + }, + async ({ driver }: { driver: Driver }) => { + await loginWithBalanceValidation(driver); + new HomePage(driver).openAccountMenu(); + + // pin account + const accountListPage = new AccountListPage(driver); + await accountListPage.openAccountOptionsMenu(); + await accountListPage.pinAccount(); + await accountListPage.check_accountIsPinned(); + + // hide the same account and check the account is unpinned automatically + await accountListPage.openAccountOptionsMenu(); + await accountListPage.hideAccount(); + await accountListPage.check_hiddenAccountsListExists(); + await accountListPage.check_accountIsUnpinned(); + + // unhide the same account and check the account is still unpinned + await accountListPage.openHiddenAccountsList(); + await accountListPage.openHiddenAccountOptions(); + await accountListPage.unhideAccount(); + await accountListPage.check_accountIsDisplayed(); + await accountListPage.check_accountIsUnpinned(); + }, + ); + }); +}); diff --git a/test/e2e/tests/account/lock-account.spec.js b/test/e2e/tests/account/lock-account.spec.js deleted file mode 100644 index d384ff0020ae..000000000000 --- a/test/e2e/tests/account/lock-account.spec.js +++ /dev/null @@ -1,37 +0,0 @@ -const { strict: assert } = require('assert'); -const { - defaultGanacheOptions, - withFixtures, - unlockWallet, -} = require('../../helpers'); -const FixtureBuilder = require('../../fixture-builder'); - -describe('Lock and unlock', function () { - it('successfully unlocks after lock', async function () { - await withFixtures( - { - fixtures: new FixtureBuilder().build(), - ganacheOptions: defaultGanacheOptions, - title: this.test.fullTitle(), - }, - async ({ driver }) => { - await unlockWallet(driver); - - await driver.clickElement( - '[data-testid="account-options-menu-button"]', - ); - const lockButton = await driver.findClickableElement( - '[data-testid="global-menu-lock"]', - ); - assert.equal(await lockButton.getText(), 'Lock MetaMask'); - await lockButton.click(); - await unlockWallet(driver); - - const walletBalance = await driver.findElement( - '.eth-overview__primary-balance', - ); - assert.equal(/^25\s*ETH$/u.test(await walletBalance.getText()), true); - }, - ); - }); -}); diff --git a/test/e2e/tests/account/lock-account.spec.ts b/test/e2e/tests/account/lock-account.spec.ts new file mode 100644 index 000000000000..c4cc914978cb --- /dev/null +++ b/test/e2e/tests/account/lock-account.spec.ts @@ -0,0 +1,24 @@ +import { Suite } from 'mocha'; +import { defaultGanacheOptions, withFixtures } from '../../helpers'; +import FixtureBuilder from '../../fixture-builder'; +import HomePage from '../../page-objects/pages/homepage'; +import { Driver } from '../../webdriver/driver'; +import { loginWithBalanceValidation } from '../../page-objects/flows/login.flow'; + +describe('Lock and unlock', function (this: Suite) { + it('successfully unlocks after lock', async function () { + await withFixtures( + { + fixtures: new FixtureBuilder().build(), + ganacheOptions: defaultGanacheOptions, + title: this.test?.fullTitle(), + }, + async ({ driver }: { driver: Driver }) => { + await loginWithBalanceValidation(driver); + const homePage = new HomePage(driver); + await homePage.headerNavbar.lockMetaMask(); + await loginWithBalanceValidation(driver); + }, + ); + }); +}); diff --git a/test/e2e/tests/account/lockdown.spec.js b/test/e2e/tests/account/lockdown.spec.ts similarity index 76% rename from test/e2e/tests/account/lockdown.spec.js rename to test/e2e/tests/account/lockdown.spec.ts index c0d5d52ee412..4307e1e33d6e 100644 --- a/test/e2e/tests/account/lockdown.spec.js +++ b/test/e2e/tests/account/lockdown.spec.ts @@ -1,13 +1,13 @@ -const { strict: assert } = require('assert'); -const { Browser } = require('selenium-webdriver'); -const { +import { strict as assert } from 'assert'; +import { Browser } from 'selenium-webdriver'; +import { getGlobalProperties, testIntrinsic, -} = require('../../../helpers/protect-intrinsics-helpers'); -const { convertToHexValue, withFixtures } = require('../../helpers'); -const { PAGES } = require('../../webdriver/driver'); -const FixtureBuilder = require('../../fixture-builder'); -const { isManifestV3 } = require('../../../../shared/modules/mv3.utils'); +} from '../../../helpers/protect-intrinsics-helpers'; +import { convertToHexValue, withFixtures } from '../../helpers'; +import { PAGES, Driver } from '../../webdriver/driver'; +import FixtureBuilder from '../../fixture-builder'; +import { isManifestV3 } from '../../../../shared/modules/mv3.utils'; const isFirefox = process.env.SELENIUM_BROWSER === Browser.FIREFOX; @@ -52,7 +52,7 @@ try { } `; -describe('lockdown', function () { +describe('lockdown', function (this: Mocha.Suite) { const ganacheOptions = { accounts: [ { @@ -66,12 +66,11 @@ describe('lockdown', function () { it('the UI environment is locked down', async function () { await withFixtures( { - // The fixtures used here is arbitrary. Any fixture would do. fixtures: new FixtureBuilder().build(), ganacheOptions, - title: this.test.fullTitle(), + title: this.test?.fullTitle(), }, - async ({ driver }) => { + async ({ driver }: { driver: Driver }) => { await driver.navigate(PAGES.HOME); assert.equal( await driver.executeScript(lockdownTestScript), @@ -85,12 +84,11 @@ describe('lockdown', function () { it('the background environment is locked down', async function () { await withFixtures( { - // The fixtures used here is arbitrary. Any fixture would do. fixtures: new FixtureBuilder().build(), ganacheOptions, - title: this.test.fullTitle(), + title: this.test?.fullTitle(), }, - async ({ driver }) => { + async ({ driver }: { driver: Driver }) => { if (isManifestV3) { // TODO: add logic for testing the Service-Worker on MV3 await driver.navigate(PAGES.OFFSCREEN); diff --git a/ui/components/multichain/account-list-item/account-list-item.js b/ui/components/multichain/account-list-item/account-list-item.js index 0991b77c3b29..7669ab99cf62 100644 --- a/ui/components/multichain/account-list-item/account-list-item.js +++ b/ui/components/multichain/account-list-item/account-list-item.js @@ -255,6 +255,7 @@ const AccountListItem = ({ name={IconName.Pin} size={IconSize.Xs} className="account-pinned-icon" + data-testid="account-pinned-icon" /> ) : null} {isHidden ? ( From a46faacf168d68778e77d7033ef261f919e880e2 Mon Sep 17 00:00:00 2001 From: Danica Shen Date: Tue, 17 Sep 2024 15:15:42 +0100 Subject: [PATCH 09/37] chore(3210): deprecated `Application open` metric event (#27102) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## **Description** Refer to [Slack thread](https://consensys.slack.com/archives/G01FXS64DFA/p1725383758137349?thread_ts=1724763550.024349&cid=G01FXS64DFA), it is discovered that `Application Opened` event is only emitted during the on-boarding flow, not every time the application is opened. And further is discussed in [this issue](https://github.com/MetaMask/MetaMask-planning/issues/2847). In the end the decision made was to remove this event from codebase completely [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27102?quickstart=1) ## **Related issues** Fixes: https://github.com/MetaMask/MetaMask-planning/issues/3210 ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** ### **Before** ### **After** ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --- shared/constants/metametrics.ts | 1 - .../onboarding/wallet-created.test.tsx | 31 ------------------- .../pin-extension/pin-extension.js | 21 +------------ 3 files changed, 1 insertion(+), 52 deletions(-) diff --git a/shared/constants/metametrics.ts b/shared/constants/metametrics.ts index 502f166c8e91..daec305bfb11 100644 --- a/shared/constants/metametrics.ts +++ b/shared/constants/metametrics.ts @@ -569,7 +569,6 @@ export enum MetaMetricsEventName { OnboardingWalletSecurityPhraseWrittenDown = 'SRP Backup Confirm Display', OnboardingWalletSecurityPhraseConfirmed = 'SRP Backup Confirmed', OnboardingWalletCreationComplete = 'Wallet Created', - OnboardingWalletSetupComplete = 'Application Opened', OnboardingWalletAdvancedSettings = 'Settings Updated', OnboardingWalletImportAttempted = 'Wallet Import Attempted', OnboardingWalletVideoPlay = 'SRP Intro Video Played', diff --git a/test/integration/onboarding/wallet-created.test.tsx b/test/integration/onboarding/wallet-created.test.tsx index fae425ad8a35..36ff7c8d3ecf 100644 --- a/test/integration/onboarding/wallet-created.test.tsx +++ b/test/integration/onboarding/wallet-created.test.tsx @@ -87,36 +87,5 @@ describe('Wallet Created Events', () => { expect(completeOnboardingBackgroundRequest).toBeTruthy(); }); - - await waitFor(() => { - const OnboardingWalletSetupCompleteEvent = - mockedBackgroundConnection.submitRequestToBackground.mock.calls?.find( - (call) => { - if (call[0] === 'trackMetaMetricsEvent') { - const callArgs = call[1] as unknown as Record[]; - - return ( - callArgs[0].event === - MetaMetricsEventName.OnboardingWalletSetupComplete - ); - } - - return false; - }, - ); - - expect(OnboardingWalletSetupCompleteEvent?.[1]).toEqual( - expect.arrayContaining([ - expect.objectContaining({ - category: MetaMetricsEventCategory.Onboarding, - event: MetaMetricsEventName.OnboardingWalletSetupComplete, - properties: { - wallet_setup_type: 'new', - new_wallet: true, - }, - }), - ]), - ); - }); }); }); diff --git a/ui/pages/onboarding-flow/pin-extension/pin-extension.js b/ui/pages/onboarding-flow/pin-extension/pin-extension.js index ab7fbd2d66bb..216bb1416cdf 100644 --- a/ui/pages/onboarding-flow/pin-extension/pin-extension.js +++ b/ui/pages/onboarding-flow/pin-extension/pin-extension.js @@ -1,12 +1,11 @@ import React, { ///: BEGIN:ONLY_INCLUDE_IF(build-main,build-beta,build-flask) useState, - useContext, ///: END:ONLY_INCLUDE_IF } from 'react'; import { useHistory } from 'react-router-dom'; ///: BEGIN:ONLY_INCLUDE_IF(build-main,build-beta,build-flask) -import { useDispatch, useSelector } from 'react-redux'; +import { useDispatch } from 'react-redux'; import { Carousel } from 'react-responsive-carousel'; import { setCompletedOnboarding } from '../../../store/actions'; ///: END:ONLY_INCLUDE_IF @@ -31,13 +30,6 @@ import OnboardingPinMmiBillboard from '../../institutional/pin-mmi-billboard/pin ///: END:ONLY_INCLUDE_IF import { Text } from '../../../components/component-library'; ///: BEGIN:ONLY_INCLUDE_IF(build-main,build-beta,build-flask) -import { MetaMetricsContext } from '../../../contexts/metametrics'; -import { getFirstTimeFlowType } from '../../../selectors'; -import { - MetaMetricsEventCategory, - MetaMetricsEventName, -} from '../../../../shared/constants/metametrics'; -import { FirstTimeFlowType } from '../../../../shared/constants/onboarding'; import OnboardingPinBillboard from './pin-billboard'; ///: END:ONLY_INCLUDE_IF @@ -47,8 +39,6 @@ export default function OnboardingPinExtension() { ///: BEGIN:ONLY_INCLUDE_IF(build-main,build-beta,build-flask) const [selectedIndex, setSelectedIndex] = useState(0); const dispatch = useDispatch(); - const trackEvent = useContext(MetaMetricsContext); - const firstTimeFlowType = useSelector(getFirstTimeFlowType); ///: END:ONLY_INCLUDE_IF ///: BEGIN:ONLY_INCLUDE_IF(build-main,build-beta,build-flask) @@ -57,15 +47,6 @@ export default function OnboardingPinExtension() { setSelectedIndex(1); } else { await dispatch(setCompletedOnboarding()); - trackEvent({ - category: MetaMetricsEventCategory.Onboarding, - event: MetaMetricsEventName.OnboardingWalletSetupComplete, - properties: { - wallet_setup_type: - firstTimeFlowType === FirstTimeFlowType.import ? 'import' : 'new', - new_wallet: firstTimeFlowType === FirstTimeFlowType.create, - }, - }); history.push(DEFAULT_ROUTE); } }; From c1a4386a954fad0c78cc125dceeeb59936e6b7dc Mon Sep 17 00:00:00 2001 From: Harika <153644847+hjetpoluru@users.noreply.github.com> Date: Tue, 17 Sep 2024 11:01:54 -0400 Subject: [PATCH 10/37] fix: Fixed flaky test for custom screen size (#27067) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## **Description** The fix for the flaky test is related to the custom screen size of the window during execution. The flaky test was identified in multiple test scenarios with a similar pattern of false negatives in the automation tests. There were browser errors that appeared after navigating and opening the devTools, with the following error mentioned: ``` 2024-08-22T20:14:57.507Z [driver] Called 'navigate' with arguments [] -----Received an error from Chrome----- Request Storage.getStorageKeyForFrame failed. {"code":-32602,"message":"Frame tree node for given frame not found"} Request Storage.getStorageKeyForFrame failed. {"code":-32602,"message":"Frame tree node for given frame not found"} ----------End of Chrome error---------- 2024-08-22T20:15:04.239Z [driver] Called 'fill' with arguments ["#password","correct horse battery staple"] ``` And due to this error, the code mistakenly flags the test as failed and attempts to capture a screenshot, leading to Due to this error, the code mistakenly flags the test as failed and attempts to capture a screenshot, leading to another false `error: NoSuchWindowError: no such window: target window already closed.` - The test specific to responive UI requires a specific window size inorder to perform correctly and with help of @danjm suggestion I have include the `constrainWindowSize: true` which meets the test criteria. - Also I have noticed that the windows size is not required for the `swap-send-test-utils.ts` and hence removed it. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27067?quickstart=1) ## **Related issues** Fixes: https://github.com/MetaMask/metamask-extension/issues/26898 https://github.com/MetaMask/metamask-extension/issues/26900 https://github.com/MetaMask/metamask-extension/issues/26637 https://github.com/MetaMask/metamask-extension/issues/26112 https://github.com/MetaMask/metamask-extension/issues/24624 ## **Manual testing steps** Run the below commands locally or in codespaces Webpack build yarn yarn build:test:webpack yarn build:test:webpack ENABLE_MV3=false yarn test:e2e:single test/e2e/tests/swap-send/swap-send-erc20.spec.ts --browser=chrome ENABLE_MV3=false yarn test:e2e:single test/e2e/tests/swap-send/swap-send-eth.spec.ts --browser=chrome ENABLE_MV3=false yarn test:e2e:single test/e2e/tests/account/metamask-responsive-ui.spec.js --browser=chrome ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --- test/e2e/tests/account/metamask-responsive-ui.spec.js | 6 +++--- test/e2e/tests/swap-send/swap-send-test-utils.ts | 1 - 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/test/e2e/tests/account/metamask-responsive-ui.spec.js b/test/e2e/tests/account/metamask-responsive-ui.spec.js index d9e9aa2f965c..037179b500b0 100644 --- a/test/e2e/tests/account/metamask-responsive-ui.spec.js +++ b/test/e2e/tests/account/metamask-responsive-ui.spec.js @@ -11,7 +11,7 @@ const FixtureBuilder = require('../../fixture-builder'); describe('MetaMask Responsive UI', function () { it('Creating a new wallet @no-mmi', async function () { - const driverOptions = { responsive: true }; + const driverOptions = { constrainWindowSize: true }; await withFixtures( { @@ -81,7 +81,7 @@ describe('MetaMask Responsive UI', function () { }); it('Importing existing wallet from lock page', async function () { - const driverOptions = { responsive: true }; + const driverOptions = { constrainWindowSize: true }; await withFixtures( { @@ -115,7 +115,7 @@ describe('MetaMask Responsive UI', function () { }); it('Send Transaction from responsive window', async function () { - const driverOptions = { responsive: true }; + const driverOptions = { constrainWindowSize: true }; await withFixtures( { fixtures: new FixtureBuilder().build(), diff --git a/test/e2e/tests/swap-send/swap-send-test-utils.ts b/test/e2e/tests/swap-send/swap-send-test-utils.ts index c5f4d8bb3d9c..8eff9051b9d1 100644 --- a/test/e2e/tests/swap-send/swap-send-test-utils.ts +++ b/test/e2e/tests/swap-send/swap-send-test-utils.ts @@ -266,7 +266,6 @@ export const getSwapSendFixtures = ( ) => { const ETH_CONVERSION_RATE_USD = 3010; return { - driverOptions: { responsive: true }, fixtures: new FixtureBuilder() .withPreferencesController({ featureFlags: {}, From bc4c4b1c2cf43d4e6667b82e80cf942a4e544f37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Tavares?= Date: Tue, 17 Sep 2024 17:20:16 +0100 Subject: [PATCH 11/37] chore: remove dead code (#27211) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## **Description** Removes unused code. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27211?quickstart=1) ## **Related issues** Fixes: None ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --- .../info/__snapshots__/info.test.tsx.snap | 114 --------------- ui/components/app/confirm/info/index.ts | 1 - ui/components/app/confirm/info/index.tsx | 1 - .../app/confirm/info/info.stories.tsx | 51 ------- ui/components/app/confirm/info/info.test.tsx | 59 -------- ui/components/app/confirm/info/info.tsx | 131 ------------------ .../confirm/signature-message/index.ts | 1 - .../signature-message/signature-message.tsx | 32 ----- 8 files changed, 390 deletions(-) delete mode 100644 ui/components/app/confirm/info/__snapshots__/info.test.tsx.snap delete mode 100644 ui/components/app/confirm/info/index.ts delete mode 100644 ui/components/app/confirm/info/index.tsx delete mode 100644 ui/components/app/confirm/info/info.stories.tsx delete mode 100644 ui/components/app/confirm/info/info.test.tsx delete mode 100644 ui/components/app/confirm/info/info.tsx delete mode 100644 ui/pages/confirmations/components/confirm/signature-message/index.ts delete mode 100644 ui/pages/confirmations/components/confirm/signature-message/signature-message.tsx diff --git a/ui/components/app/confirm/info/__snapshots__/info.test.tsx.snap b/ui/components/app/confirm/info/__snapshots__/info.test.tsx.snap deleted file mode 100644 index 749964a79364..000000000000 --- a/ui/components/app/confirm/info/__snapshots__/info.test.tsx.snap +++ /dev/null @@ -1,114 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`ConfirmInfo should match snapshot 1`] = ` -
-
-
-
-

- Address -

-
-
-
- -

- 0xCcCCc...ccccC -

-
-
-
-
-
-
-

- Account -

-
-
-

- $834.32 -

-

- 0.05 ETH -

-
-
-
-
-`; diff --git a/ui/components/app/confirm/info/index.ts b/ui/components/app/confirm/info/index.ts deleted file mode 100644 index e23e44f519bb..000000000000 --- a/ui/components/app/confirm/info/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { ConfirmInfo } from './info'; diff --git a/ui/components/app/confirm/info/index.tsx b/ui/components/app/confirm/info/index.tsx deleted file mode 100644 index b247e432cc22..000000000000 --- a/ui/components/app/confirm/info/index.tsx +++ /dev/null @@ -1 +0,0 @@ -export * from './info'; diff --git a/ui/components/app/confirm/info/info.stories.tsx b/ui/components/app/confirm/info/info.stories.tsx deleted file mode 100644 index d23726f39104..000000000000 --- a/ui/components/app/confirm/info/info.stories.tsx +++ /dev/null @@ -1,51 +0,0 @@ -import React from 'react'; -import { ConfirmInfoRow } from './row'; -import { ConfirmInfo, ConfirmInfoRowConfig, ConfirmInfoRowType } from './info'; - -const mockRowConfigs: ConfirmInfoRowConfig[] = [ - { - label: 'Address', - type: ConfirmInfoRowType.Address, - rowProps: { - address: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', - }, - }, - { - type: ConfirmInfoRowType.Divider, - }, - { - label: 'Origin', - type: ConfirmInfoRowType.UrlType, - rowProps: { - url: 'https://metamask.github.io', - }, - }, - { - label: 'Account', - type: ConfirmInfoRowType.ValueDouble, - rowProps: { - left: '$834.32', - right: '0.05 ETH', - }, - }, -]; - -const ConfirmInfoStory = { - title: 'Components/App/Confirm/Info', - component: ConfirmInfoRow, - - args: { rowConfigs: [...mockRowConfigs] }, - argTypes: { - rowConfigs: { - control: { - type: 'object', - }, - }, - }, -}; - -export const DefaultStory = (args) => ; - -DefaultStory.storyName = 'Default'; - -export default ConfirmInfoStory; diff --git a/ui/components/app/confirm/info/info.test.tsx b/ui/components/app/confirm/info/info.test.tsx deleted file mode 100644 index 113d964fd1f6..000000000000 --- a/ui/components/app/confirm/info/info.test.tsx +++ /dev/null @@ -1,59 +0,0 @@ -import React from 'react'; -import mockState from '../../../../../test/data/mock-state.json'; -import { renderWithProvider } from '../../../../../test/lib/render-helpers'; -import configureStore from '../../../../store/store'; -import { ConfirmInfo, ConfirmInfoRowConfig, ConfirmInfoRowType } from './info'; - -const mockRowConfigs: ConfirmInfoRowConfig[] = [ - { - label: 'Address', - type: ConfirmInfoRowType.Address, - rowProps: { - address: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', - }, - }, - { - type: ConfirmInfoRowType.Divider, - }, - { - label: 'Account', - type: ConfirmInfoRowType.ValueDouble, - rowProps: { - left: '$834.32', - right: '0.05 ETH', - }, - }, -]; - -describe('ConfirmInfo', () => { - // TODO: Replace `any` with type - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const render = (storeOverrides: Record = {}) => { - const store = configureStore({ - ...mockState.metamask, - metamask: { ...mockState.metamask }, - ...storeOverrides, - }); - - return renderWithProvider( - , - store, - ); - }; - - it('should match snapshot', () => { - const { container } = render(mockRowConfigs); - expect(container).toMatchSnapshot(); - }); - - it('renders the correct number of rows provided', () => { - const { container } = render(mockRowConfigs); - const numOfDividers = mockRowConfigs.filter( - (rowConfig) => rowConfig.type === ConfirmInfoRowType.Divider, - ).length; - - expect(container.querySelectorAll('.confirm-info-row')).toHaveLength( - mockRowConfigs.length - numOfDividers, - ); - }); -}); diff --git a/ui/components/app/confirm/info/info.tsx b/ui/components/app/confirm/info/info.tsx deleted file mode 100644 index 9edd0a22ec49..000000000000 --- a/ui/components/app/confirm/info/info.tsx +++ /dev/null @@ -1,131 +0,0 @@ -import React from 'react'; - -import { captureException } from '@sentry/browser'; - -import { - BackgroundColor, - BorderRadius, - Display, - FlexDirection, -} from '../../../../helpers/constants/design-system'; -import { Box } from '../../../component-library'; -import { - ConfirmInfoRow, - ConfirmInfoRowAddress, - ConfirmInfoRowAddressProps, - ConfirmInfoRowDivider, - ConfirmInfoRowProps, - ConfirmInfoRowText, - ConfirmInfoRowTextProps, - ConfirmInfoRowUrl, - ConfirmInfoRowUrlProps, - ConfirmInfoRowValueDouble, - ConfirmInfoRowValueDoubleProps, - ConfirmInfoRowVariant, -} from './row'; - -export enum ConfirmInfoRowType { - Address = 'address', - Divider = 'divider', - Text = 'text', - UrlType = 'url', - ValueDouble = 'value-double', -} - -type ConfirmInfoTypeProps = - | ConfirmInfoRowAddressProps - | ConfirmInfoRowTextProps - | ConfirmInfoRowUrlProps - | ConfirmInfoRowValueDoubleProps; - -// TODO: Replace `any` with type -// eslint-disable-next-line @typescript-eslint/no-explicit-any -const TYPE_TO_COMPONENT: Record = { - [ConfirmInfoRowType.Address]: ({ address }: ConfirmInfoRowAddressProps) => { - return ; - }, - [ConfirmInfoRowType.Divider]: () => { - return ; - }, - [ConfirmInfoRowType.Text]: ({ text }: ConfirmInfoRowTextProps) => { - return ; - }, - [ConfirmInfoRowType.UrlType]: ({ url }: ConfirmInfoRowUrlProps) => { - return ; - }, - [ConfirmInfoRowType.ValueDouble]: ({ - left, - right, - }: ConfirmInfoRowValueDoubleProps) => { - return ; - }, -}; - -export type ConfirmInfoRowConfig = { - /** The display label text. This should be required unless it is a 'divider' variant */ - label?: ConfirmInfoRowProps['label']; - - /** Optional, and likely needed, props passed to the row */ - rowProps?: ConfirmInfoTypeProps; - - /** The type of the row e.g. address, divider, value-double */ - type: ConfirmInfoRowType; - - /** Optional row variant */ - variant?: ConfirmInfoRowVariant; -}; - -type ConfirmInfoProps = { - rowConfigs: ConfirmInfoRowConfig[]; -}; - -/** - * ConfirmInfo receives a custom config object and displays a list of ConfirmInfoRow components - * - * @param options - * @param options.rowConfigs - */ -export const ConfirmInfo: React.FC = ({ - rowConfigs = [], -}) => ( - - {rowConfigs.map((rowConfig: ConfirmInfoRowConfig, index) => { - const { label, rowProps, type, variant } = rowConfig; - const component = TYPE_TO_COMPONENT[type]; - - if (!component) { - const error = new Error(`ConfirmInfo: Unknown row type: ${type}`); - console.error(error); - captureException(error); - return null; - } - - if (type === ConfirmInfoRowType.Divider) { - const key = `confirm-info-divider-${rowConfigs - .map(({ label: _label }) => _label) - .concat('-')}-${index}`; - - return ( - - - - ); - } - - const key = `confirm-info-row-${label}-${index}`; - - return ( - - - {component(rowProps)} - - - ); - })} - -); diff --git a/ui/pages/confirmations/components/confirm/signature-message/index.ts b/ui/pages/confirmations/components/confirm/signature-message/index.ts deleted file mode 100644 index e95d7f64485a..000000000000 --- a/ui/pages/confirmations/components/confirm/signature-message/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as SignatureMessage } from './signature-message'; diff --git a/ui/pages/confirmations/components/confirm/signature-message/signature-message.tsx b/ui/pages/confirmations/components/confirm/signature-message/signature-message.tsx deleted file mode 100644 index a9741d41c1f7..000000000000 --- a/ui/pages/confirmations/components/confirm/signature-message/signature-message.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import React, { memo } from 'react'; - -import { hexToText } from '../../../../../helpers/utils/util'; -import { useI18nContext } from '../../../../../hooks/useI18nContext'; -import { - ConfirmInfoRow, - ConfirmInfoRowText, -} from '../../../../../components/app/confirm/info/row'; -import { SignatureRequestType } from '../../../types/confirm'; -import { ConfirmInfoSection } from '../../../../../components/app/confirm/info/row/section'; -import { useConfirmContext } from '../../../context/confirm'; - -const SignatureMessage: React.FC = memo(() => { - const t = useI18nContext(); - const { currentConfirmation } = useConfirmContext(); - - if (!currentConfirmation?.msgParams?.data) { - return null; - } - - return ( - - - - - - ); -}); - -export default SignatureMessage; From c462fb89958593cff2f2748ebbcab12774aa8e43 Mon Sep 17 00:00:00 2001 From: Prithpal Sooriya Date: Tue, 17 Sep 2024 20:17:38 +0100 Subject: [PATCH 12/37] feat: upgrade notification controllers (#27224) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## **Description** Bumps: - `@metamask/profile-sync-controller` from `^0.7.0` to `^0.8.0` - `@metamask/notification-services-controller` from `^0.6.0` to `^0.7.0` This fixes a critical issue where we were not using the same UserStorage hashed entry. See release library changelog https://github.com/MetaMask/core/blob/main/packages/profile-sync-controller/CHANGELOG.md#fixed [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27224?quickstart=1) ## **Related issues** Fixes: https://consensyssoftware.atlassian.net/browse/NOTIFY-1118 ## **Manual testing steps** Test notifications flow: - Enable/Disable Notifications ## **Screenshots/Recordings** ### **Before** ### **After** ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --- package.json | 4 ++-- yarn.lock | 54 ++++++++++++++++++++++++++-------------------------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/package.json b/package.json index b3b5b22f7e86..70195f5ae650 100644 --- a/package.json +++ b/package.json @@ -336,7 +336,7 @@ "@metamask/name-controller": "^8.0.0", "@metamask/network-controller": "patch:@metamask/network-controller@npm%3A20.2.0#~/.yarn/patches/@metamask-network-controller-npm-20.2.0-98b1a5ae59.patch", "@metamask/notification-controller": "^6.0.0", - "@metamask/notification-services-controller": "^0.5.0", + "@metamask/notification-services-controller": "^0.7.0", "@metamask/object-multiplex": "^2.0.0", "@metamask/obs-store": "^9.0.0", "@metamask/permission-controller": "^10.0.0", @@ -344,7 +344,7 @@ "@metamask/phishing-controller": "^12.0.1", "@metamask/post-message-stream": "^8.0.0", "@metamask/ppom-validator": "0.34.0", - "@metamask/profile-sync-controller": "^0.5.0", + "@metamask/profile-sync-controller": "^0.8.0", "@metamask/providers": "^14.0.2", "@metamask/queued-request-controller": "^2.0.0", "@metamask/rate-limit-controller": "^6.0.0", diff --git a/yarn.lock b/yarn.lock index e6bf174ada48..2149a6bd2404 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5784,21 +5784,21 @@ __metadata: languageName: node linkType: hard -"@metamask/notification-services-controller@npm:^0.5.0": - version: 0.5.0 - resolution: "@metamask/notification-services-controller@npm:0.5.0" +"@metamask/notification-services-controller@npm:^0.7.0": + version: 0.7.0 + resolution: "@metamask/notification-services-controller@npm:0.7.0" dependencies: "@contentful/rich-text-html-renderer": "npm:^16.5.2" - "@metamask/base-controller": "npm:^7.0.0" - "@metamask/controller-utils": "npm:^11.2.0" + "@metamask/base-controller": "npm:^7.0.1" + "@metamask/controller-utils": "npm:^11.3.0" bignumber.js: "npm:^4.1.0" firebase: "npm:^10.11.0" loglevel: "npm:^1.8.1" uuid: "npm:^8.3.2" peerDependencies: "@metamask/keyring-controller": ^17.0.0 - "@metamask/profile-sync-controller": ^0.5.0 - checksum: 10/e945cbf0b7138d22f1078844575dc89c990ddc6669724d1ce0db5ad43c74a86da1c5e1ab12614afbcc5c49125b09365689de2a2c9548af426932f4c1397a66bd + "@metamask/profile-sync-controller": ^0.0.0 + checksum: 10/1fc72086686aeef4c72d9eb7726d086a147a4079c178a6de23269fa39a3d861c54fe6dfe79bd9b5c8bf9afa278371408092bd37f3e8f814e65c7aca3573655f5 languageName: node linkType: hard @@ -6010,13 +6010,13 @@ __metadata: languageName: node linkType: hard -"@metamask/profile-sync-controller@npm:^0.5.0": - version: 0.5.0 - resolution: "@metamask/profile-sync-controller@npm:0.5.0" +"@metamask/profile-sync-controller@npm:^0.8.0": + version: 0.8.0 + resolution: "@metamask/profile-sync-controller@npm:0.8.0" dependencies: - "@metamask/base-controller": "npm:^7.0.0" - "@metamask/snaps-sdk": "npm:^6.1.1" - "@metamask/snaps-utils": "npm:^7.8.1" + "@metamask/base-controller": "npm:^7.0.1" + "@metamask/snaps-sdk": "npm:^6.5.0" + "@metamask/snaps-utils": "npm:^8.1.1" "@noble/ciphers": "npm:^0.5.2" "@noble/hashes": "npm:^1.4.0" immer: "npm:^9.0.6" @@ -6025,8 +6025,8 @@ __metadata: peerDependencies: "@metamask/accounts-controller": ^18.1.1 "@metamask/keyring-controller": ^17.2.0 - "@metamask/snaps-controllers": ^9.3.0 - checksum: 10/96a31ca2692af85100bd690aa290d6c954378aa14be0dd507afda46c37d761c5e398da4e93ed0f6f7f97267a82def7f4b12b45805cd7673381a6404f810511ff + "@metamask/snaps-controllers": ^9.7.0 + checksum: 10/613e2e87615f1db4a1a4559895a74c2b89c15720e831440eec0916aa96305f3db9b3e0926ac4a5d7532c462baaa18a117e2b9aa107949777163488c203cfea05 languageName: node linkType: hard @@ -6389,9 +6389,9 @@ __metadata: languageName: node linkType: hard -"@metamask/snaps-utils@npm:^8.0.0, @metamask/snaps-utils@npm:^8.0.1": - version: 8.0.1 - resolution: "@metamask/snaps-utils@npm:8.0.1" +"@metamask/snaps-utils@npm:^8.0.0, @metamask/snaps-utils@npm:^8.0.1, @metamask/snaps-utils@npm:^8.1.1": + version: 8.1.1 + resolution: "@metamask/snaps-utils@npm:8.1.1" dependencies: "@babel/core": "npm:^7.23.2" "@babel/types": "npm:^7.23.0" @@ -6401,9 +6401,9 @@ __metadata: "@metamask/rpc-errors": "npm:^6.3.1" "@metamask/slip44": "npm:^4.0.0" "@metamask/snaps-registry": "npm:^3.2.1" - "@metamask/snaps-sdk": "npm:^6.2.1" + "@metamask/snaps-sdk": "npm:^6.5.0" "@metamask/superstruct": "npm:^3.1.0" - "@metamask/utils": "npm:^9.1.0" + "@metamask/utils": "npm:^9.2.1" "@noble/hashes": "npm:^1.3.1" "@scure/base": "npm:^1.1.1" chalk: "npm:^4.1.2" @@ -6416,7 +6416,7 @@ __metadata: semver: "npm:^7.5.4" ses: "npm:^1.1.0" validate-npm-package-name: "npm:^5.0.0" - checksum: 10/4c0d58ad04f1e4c625dd01aaf171de0f538afc2003ac928159deee5ebed6d490ccd50575ad585b4f6846aa8d00bccd8f1ea4b32f124e6427873fb985cae8513f + checksum: 10/f4ceb52a1f9578993c88c82a67f4f041309af51c83ff5caa3fed080f36b54d14ea7da807ce1cf19a13600dd0e77c51af70398e8c7bb78f0ba99a037f4d22610f languageName: node linkType: hard @@ -6581,9 +6581,9 @@ __metadata: languageName: node linkType: hard -"@metamask/utils@npm:^9.0.0, @metamask/utils@npm:^9.1.0": - version: 9.1.0 - resolution: "@metamask/utils@npm:9.1.0" +"@metamask/utils@npm:^9.0.0, @metamask/utils@npm:^9.1.0, @metamask/utils@npm:^9.2.1": + version: 9.2.1 + resolution: "@metamask/utils@npm:9.2.1" dependencies: "@ethereumjs/tx": "npm:^4.2.0" "@metamask/superstruct": "npm:^3.1.0" @@ -6594,7 +6594,7 @@ __metadata: pony-cause: "npm:^2.1.10" semver: "npm:^7.5.4" uuid: "npm:^9.0.1" - checksum: 10/7335e151a51be92e86868dc48b3ee78c376d4edd5d758d334176027247637ab22839d8f663bd02542c0a19b05ecec456bedab5f36436689cf3d953ca36d91781 + checksum: 10/2192797afd91af19898e107afeaf63e89b61dc7285e0a75d0cc814b5b288e4cdfc856781b01904034c4d2c1efd9bdab512af24c7e4dfe7b77a03f1f3d9dec7e8 languageName: node linkType: hard @@ -26036,7 +26036,7 @@ __metadata: "@metamask/name-controller": "npm:^8.0.0" "@metamask/network-controller": "patch:@metamask/network-controller@npm%3A20.2.0#~/.yarn/patches/@metamask-network-controller-npm-20.2.0-98b1a5ae59.patch" "@metamask/notification-controller": "npm:^6.0.0" - "@metamask/notification-services-controller": "npm:^0.5.0" + "@metamask/notification-services-controller": "npm:^0.7.0" "@metamask/object-multiplex": "npm:^2.0.0" "@metamask/obs-store": "npm:^9.0.0" "@metamask/permission-controller": "npm:^10.0.0" @@ -26045,7 +26045,7 @@ __metadata: "@metamask/phishing-warning": "npm:^4.0.0" "@metamask/post-message-stream": "npm:^8.0.0" "@metamask/ppom-validator": "npm:0.34.0" - "@metamask/profile-sync-controller": "npm:^0.5.0" + "@metamask/profile-sync-controller": "npm:^0.8.0" "@metamask/providers": "npm:^14.0.2" "@metamask/queued-request-controller": "npm:^2.0.0" "@metamask/rate-limit-controller": "npm:^6.0.0" From bc7929b1c96f09e5ae3c3b76d4ef2c649b0dd78a Mon Sep 17 00:00:00 2001 From: Nick Gambino <35090461+gambinish@users.noreply.github.com> Date: Tue, 17 Sep 2024 15:09:17 -0700 Subject: [PATCH 13/37] chore: Add currency conversion telemetry (#26876) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## **Description** In order to figure out which currencies we should support 24hr % change, we need to know which currencies are the most popular. Adds currency change dropdown event to telemetry events. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26876?quickstart=1) ## **Related issues** Fixes: https://consensyssoftware.atlassian.net/browse/MMASSETS-344 ## **Screenshots/Recordings** ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --- app/scripts/controllers/metametrics.js | 1 + shared/constants/metametrics.ts | 5 +++++ .../settings/settings-tab/settings-tab.component.js | 11 ++++++++++- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/app/scripts/controllers/metametrics.js b/app/scripts/controllers/metametrics.js index d815607d27e8..d799249bb71b 100644 --- a/app/scripts/controllers/metametrics.js +++ b/app/scripts/controllers/metametrics.js @@ -837,6 +837,7 @@ export default class MetaMetricsController { metamaskState.useTokenDetection, [MetaMetricsUserTrait.UseNativeCurrencyAsPrimaryCurrency]: metamaskState.useNativeCurrencyAsPrimaryCurrency, + [MetaMetricsUserTrait.CurrentCurrency]: metamaskState.currentCurrency, ///: BEGIN:ONLY_INCLUDE_IF(build-mmi) [MetaMetricsUserTrait.MmiExtensionId]: this.extension?.runtime?.id, [MetaMetricsUserTrait.MmiAccountAddress]: mmiAccountAddress, diff --git a/shared/constants/metametrics.ts b/shared/constants/metametrics.ts index daec305bfb11..0ad1bc9e1deb 100644 --- a/shared/constants/metametrics.ts +++ b/shared/constants/metametrics.ts @@ -468,6 +468,10 @@ export enum MetaMetricsUserTrait { MmiIsCustodian = 'mmi_is_custodian', ///: END:ONLY_INCLUDE_IF PetnameAddressCount = 'petname_addresses_count', + /** + * Identified when the user selects a currency from settings + */ + CurrentCurrency = 'current_currency', } /** @@ -514,6 +518,7 @@ export enum MetaMetricsEventName { BridgeLinkClicked = 'Bridge Link Clicked', BitcoinSupportToggled = 'Bitcoin Support Toggled', BitcoinTestnetSupportToggled = 'Bitcoin Testnet Support Toggled', + CurrentCurrency = 'Current Currency', DappViewed = 'Dapp Viewed', DecryptionApproved = 'Decryption Approved', DecryptionRejected = 'Decryption Rejected', diff --git a/ui/pages/settings/settings-tab/settings-tab.component.js b/ui/pages/settings/settings-tab/settings-tab.component.js index 45407ece008d..d798b62f77ba 100644 --- a/ui/pages/settings/settings-tab/settings-tab.component.js +++ b/ui/pages/settings/settings-tab/settings-tab.component.js @@ -119,7 +119,16 @@ export default class SettingsTab extends PureComponent { id="select-currency" options={currencyOptions} selectedOption={currentCurrency} - onChange={(newCurrency) => setCurrentCurrency(newCurrency)} + onChange={(newCurrency) => { + setCurrentCurrency(newCurrency); + this.context.trackEvent({ + category: MetaMetricsEventCategory.Settings, + event: MetaMetricsEventName.CurrentCurrency, + properties: { + current_currency: newCurrency, + }, + }); + }} />
From eadc7075731ad95662b9a4f07b0cddd0328d9695 Mon Sep 17 00:00:00 2001 From: Matteo Scurati Date: Wed, 18 Sep 2024 08:37:17 +0200 Subject: [PATCH 14/37] fix: :pencil2: fix event property typo (#27228) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## **Description** This PR fixes a typo for a property used by the event emitted by the toggle to turn basic functionality on or off. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27228?quickstart=1) ## **Related issues** N/A ## **Manual testing steps** N/A ## **Screenshots/Recordings** N/A ### **Before** N/A ### **After** N/A ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [x] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [x] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --- .../basic-configuration-modal/basic-configuration-modal.tsx | 2 +- ui/pages/onboarding-flow/privacy-settings/privacy-settings.js | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/ui/components/app/basic-configuration-modal/basic-configuration-modal.tsx b/ui/components/app/basic-configuration-modal/basic-configuration-modal.tsx index d9699c9ebc8a..a6b083eccc16 100644 --- a/ui/components/app/basic-configuration-modal/basic-configuration-modal.tsx +++ b/ui/components/app/basic-configuration-modal/basic-configuration-modal.tsx @@ -150,7 +150,7 @@ export function BasicConfigurationModal() { category: MetaMetricsEventCategory.Onboarding, event: MetaMetricsEventName.SettingsUpdated, properties: { - settings_group: 'advanced', + settings_group: 'onboarding_advanced_configuration', settings_type: 'basic_functionality', old_value: true, new_value: false, diff --git a/ui/pages/onboarding-flow/privacy-settings/privacy-settings.js b/ui/pages/onboarding-flow/privacy-settings/privacy-settings.js index 3012fe9808f2..9f1bb0dcf8c3 100644 --- a/ui/pages/onboarding-flow/privacy-settings/privacy-settings.js +++ b/ui/pages/onboarding-flow/privacy-settings/privacy-settings.js @@ -277,10 +277,11 @@ export default function PrivacySettings() { category: MetaMetricsEventCategory.Onboarding, event: MetaMetricsEventName.SettingsUpdated, properties: { - settings_group: 'advanced', + settings_group: 'onboarding_advanced_configuration', settings_type: 'basic_functionality', old_value: false, new_value: true, + was_profile_syncing_on: false, }, }); } From 8d3e6ad21258bd98fe72fe0b78972352f7b1cc41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Tavares?= Date: Wed, 18 Sep 2024 10:48:43 +0100 Subject: [PATCH 15/37] fix: UI transaction integration tests (#27130) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## **Description** * Fixes warnings to redesigned transactions existing UI integration tests. * Adds new UI integration tests to erc20 approve confirmation. ** Some of those tests required interaction with tooltips, so added a way to automatically include a tooltip data-testid whenever the Confirm row has a data-testid set (in case there is a tooltip obviously). [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27130?quickstart=1) ## **Related issues** Fixes: None ## **Screenshots/Recordings** No visual changes. This is PR mainly adds/updates tests. ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --- shared/lib/four-byte.ts | 1 - .../confirmations/signatures/permit.test.tsx | 4 +- .../signatures/personalSign.test.tsx | 4 +- .../transactions/alerts.test.tsx | 148 +++++---- .../contract-interaction.test.tsx | 125 +++++--- .../transactions/erc20-approve.test.tsx | 300 +++++++++++++++--- .../transactions/erc721-approve.test.tsx | 63 ++-- .../transactions/transactionDataHelpers.tsx | 2 +- .../data/integration-init-state.json | 94 +++--- test/integration/helpers.tsx | 4 +- ui/components/app/confirm/info/row/row.tsx | 3 + .../__snapshots__/approve.test.tsx.snap | 12 + .../approve-details.test.tsx.snap | 1 + .../approve-details/approve-details.tsx | 8 +- .../__snapshots__/spending-cap.test.tsx.snap | 3 + .../approve/spending-cap/spending-cap.tsx | 3 +- .../base-transaction-info.test.tsx.snap | 9 + .../edit-gas-fees-row.test.tsx.snap | 1 + .../gas-fees-details.test.tsx.snap | 1 + .../gas-fees-section.test.tsx.snap | 1 + .../transaction-data.test.tsx.snap | 38 +++ .../transaction-details.test.tsx.snap | 2 + 22 files changed, 596 insertions(+), 231 deletions(-) diff --git a/shared/lib/four-byte.ts b/shared/lib/four-byte.ts index 167dfc563b73..c8d67af7b1f4 100644 --- a/shared/lib/four-byte.ts +++ b/shared/lib/four-byte.ts @@ -57,7 +57,6 @@ export async function getMethodDataAsync( console.error(e); return null; }); - console.log('fourByteSig = ', fourByteSig); } if (!registry) { diff --git a/test/integration/confirmations/signatures/permit.test.tsx b/test/integration/confirmations/signatures/permit.test.tsx index 3670b654502d..809ac988962f 100644 --- a/test/integration/confirmations/signatures/permit.test.tsx +++ b/test/integration/confirmations/signatures/permit.test.tsx @@ -105,7 +105,7 @@ describe('Permit Confirmation', () => { accountName, ); expect(screen.getByTestId('header-network-display-name')).toHaveTextContent( - 'Chain 5', + 'Sepolia', ); fireEvent.click(screen.getByTestId('header-info__account-details-button')); @@ -120,7 +120,7 @@ describe('Permit Confirmation', () => { ); expect( screen.getByTestId('confirmation-account-details-modal__account-balance'), - ).toHaveTextContent('1.58271596ETH'); + ).toHaveTextContent('1.582717SepoliaETH'); let confirmAccountDetailsModalMetricsEvent; diff --git a/test/integration/confirmations/signatures/personalSign.test.tsx b/test/integration/confirmations/signatures/personalSign.test.tsx index 528655924dbe..9737a3e30ad9 100644 --- a/test/integration/confirmations/signatures/personalSign.test.tsx +++ b/test/integration/confirmations/signatures/personalSign.test.tsx @@ -87,7 +87,7 @@ describe('PersonalSign Confirmation', () => { expect(getByTestId('header-account-name')).toHaveTextContent(accountName); expect(getByTestId('header-network-display-name')).toHaveTextContent( - 'Chain 5', + 'Sepolia', ); fireEvent.click(getByTestId('header-info__account-details-button')); @@ -106,7 +106,7 @@ describe('PersonalSign Confirmation', () => { ); expect( getByTestId('confirmation-account-details-modal__account-balance'), - ).toHaveTextContent('1.58271596ETH'); + ).toHaveTextContent('1.582717SepoliaETH'); let confirmAccountDetailsModalMetricsEvent; diff --git a/test/integration/confirmations/transactions/alerts.test.tsx b/test/integration/confirmations/transactions/alerts.test.tsx index 1e07ddcdd68d..74d37c858b0f 100644 --- a/test/integration/confirmations/transactions/alerts.test.tsx +++ b/test/integration/confirmations/transactions/alerts.test.tsx @@ -6,6 +6,7 @@ import mockMetaMaskState from '../../data/integration-init-state.json'; import { integrationTestRender } from '../../../lib/render-helpers'; import * as backgroundConnection from '../../../../ui/store/background-connection'; import { createMockImplementation, mock4byte } from '../../helpers'; +import { createTestProviderTools } from '../../../stub/provider'; import { getUnapprovedApproveTransaction } from './transactionDataHelpers'; jest.mock('../../../../ui/store/background-connection', () => ({ @@ -75,7 +76,17 @@ const setupSubmitRequestToBackgroundMocks = ( ); }; -describe('Contract Interaction Confirmation', () => { +describe('Contract Interaction Confirmation Alerts', () => { + beforeAll(() => { + const { provider } = createTestProviderTools({ + networkId: 'sepolia', + chainId: '0xaa36a7', + }); + + // eslint-disable-next-line @typescript-eslint/no-explicit-any + global.ethereumProvider = provider as any; + }); + beforeEach(() => { jest.resetAllMocks(); setupSubmitRequestToBackgroundMocks(); @@ -87,6 +98,11 @@ describe('Contract Interaction Confirmation', () => { nock.cleanAll(); }); + afterAll(() => { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + delete (global as any).ethereumProvider; + }); + it('displays the alert when network is busy', async () => { const account = mockMetaMaskState.internalAccounts.accounts[ @@ -97,12 +113,12 @@ describe('Contract Interaction Confirmation', () => { const mockedMetaMaskState = getMetaMaskStateWithUnapprovedApproveTransaction(account.address); - const { findByTestId, getByTestId, queryByTestId } = + await act(async () => { await integrationTestRender({ preloadedState: { ...mockedMetaMaskState, gasFeeEstimatesByChainId: { - '0x5': { + '0xaa36a7': { gasFeeEstimates: { networkCongestion: 1.0005, }, @@ -111,29 +127,28 @@ describe('Contract Interaction Confirmation', () => { }, backgroundConnection: backgroundConnectionMocked, }); - - act(() => { - fireEvent.click(getByTestId('inline-alert')); }); - expect(await findByTestId('alert-modal')).toBeInTheDocument(); + fireEvent.click(screen.getByTestId('inline-alert')); + + expect(await screen.findByTestId('alert-modal')).toBeInTheDocument(); expect( - await findByTestId('alert-modal__selected-alert'), + await screen.findByTestId('alert-modal__selected-alert'), ).toBeInTheDocument(); - expect(await findByTestId('alert-modal__selected-alert')).toHaveTextContent( - 'Gas prices are high and estimates are less accurate.', - ); + expect( + await screen.findByTestId('alert-modal__selected-alert'), + ).toHaveTextContent('Gas prices are high and estimates are less accurate.'); - expect(await findByTestId('alert-modal-button')).toBeInTheDocument(); - const alertModalConfirmButton = await findByTestId('alert-modal-button'); + expect(await screen.findByTestId('alert-modal-button')).toBeInTheDocument(); + const alertModalConfirmButton = await screen.findByTestId( + 'alert-modal-button', + ); - act(() => { - fireEvent.click(alertModalConfirmButton); - }); + fireEvent.click(alertModalConfirmButton); - expect(queryByTestId('alert-modal')).not.toBeInTheDocument(); + expect(screen.queryByTestId('alert-modal')).not.toBeInTheDocument(); }); it('displays the alert when gas estimate fails', async () => { @@ -157,7 +172,7 @@ describe('Contract Interaction Confirmation', () => { }, }; - const { findByTestId, getByTestId, queryByTestId } = + await act(async () => { await integrationTestRender({ preloadedState: { ...mockedMetaMaskState, @@ -165,29 +180,30 @@ describe('Contract Interaction Confirmation', () => { }, backgroundConnection: backgroundConnectionMocked, }); - - act(() => { - fireEvent.click(getByTestId('inline-alert')); }); - expect(await findByTestId('alert-modal')).toBeInTheDocument(); + fireEvent.click(screen.getByTestId('inline-alert')); + + expect(await screen.findByTestId('alert-modal')).toBeInTheDocument(); expect( - await findByTestId('alert-modal__selected-alert'), + await screen.findByTestId('alert-modal__selected-alert'), ).toBeInTheDocument(); - expect(await findByTestId('alert-modal__selected-alert')).toHaveTextContent( + expect( + await screen.findByTestId('alert-modal__selected-alert'), + ).toHaveTextContent( 'We’re unable to provide an accurate fee and this estimate might be high. We suggest you to input a custom gas limit, but there’s a risk the transaction will still fail.', ); - expect(await findByTestId('alert-modal-button')).toBeInTheDocument(); - const alertModalConfirmButton = await findByTestId('alert-modal-button'); + expect(await screen.findByTestId('alert-modal-button')).toBeInTheDocument(); + const alertModalConfirmButton = await screen.findByTestId( + 'alert-modal-button', + ); - act(() => { - fireEvent.click(alertModalConfirmButton); - }); + fireEvent.click(alertModalConfirmButton); - expect(queryByTestId('alert-modal')).not.toBeInTheDocument(); + expect(screen.queryByTestId('alert-modal')).not.toBeInTheDocument(); }); it('displays the alert for insufficient gas', async () => { @@ -202,33 +218,35 @@ describe('Contract Interaction Confirmation', () => { const transaction = mockedMetaMaskState.transactions[0]; transaction.txParams.gas = '0x0'; - const { findByTestId, getByTestId } = await integrationTestRender({ - preloadedState: { - ...mockedMetaMaskState, - transactions: [transaction], - }, - backgroundConnection: backgroundConnectionMocked, + await act(async () => { + await integrationTestRender({ + preloadedState: { + ...mockedMetaMaskState, + transactions: [transaction], + }, + backgroundConnection: backgroundConnectionMocked, + }); }); - act(() => { - fireEvent.click(getByTestId('inline-alert')); - }); + fireEvent.click(screen.getByTestId('inline-alert')); - expect(await findByTestId('alert-modal')).toBeInTheDocument(); + expect(await screen.findByTestId('alert-modal')).toBeInTheDocument(); expect( - await findByTestId('alert-modal__selected-alert'), + await screen.findByTestId('alert-modal__selected-alert'), ).toBeInTheDocument(); - expect(await findByTestId('alert-modal__selected-alert')).toHaveTextContent( + expect( + await screen.findByTestId('alert-modal__selected-alert'), + ).toHaveTextContent( 'To continue with this transaction, you’ll need to increase the gas limit to 21000 or higher.', ); expect( - await findByTestId('alert-modal-action-showAdvancedGasModal'), + await screen.findByTestId('alert-modal-action-showAdvancedGasModal'), ).toBeInTheDocument(); expect( - await findByTestId('alert-modal-action-showAdvancedGasModal'), + await screen.findByTestId('alert-modal-action-showAdvancedGasModal'), ).toHaveTextContent('Update gas limit'); }); @@ -245,34 +263,36 @@ describe('Contract Interaction Confirmation', () => { const transaction = mockedMetaMaskState.transactions[0]; transaction.gasFeeEstimates.type = 'none'; - const { findByTestId, getByTestId } = await integrationTestRender({ - preloadedState: { - ...mockedMetaMaskState, - gasEstimateType: 'none', - transactions: [transaction], - }, - backgroundConnection: backgroundConnectionMocked, + await act(async () => { + await integrationTestRender({ + preloadedState: { + ...mockedMetaMaskState, + gasEstimateType: 'none', + transactions: [transaction], + }, + backgroundConnection: backgroundConnectionMocked, + }); }); - act(() => { - fireEvent.click(getByTestId('inline-alert')); - }); + fireEvent.click(screen.getByTestId('inline-alert')); - expect(await findByTestId('alert-modal')).toBeInTheDocument(); + expect(await screen.findByTestId('alert-modal')).toBeInTheDocument(); expect( - await findByTestId('alert-modal__selected-alert'), + await screen.findByTestId('alert-modal__selected-alert'), ).toBeInTheDocument(); - expect(await findByTestId('alert-modal__selected-alert')).toHaveTextContent( + expect( + await screen.findByTestId('alert-modal__selected-alert'), + ).toHaveTextContent( 'We can’t move forward with this transaction until you manually update the fee.', ); expect( - await findByTestId('alert-modal-action-showAdvancedGasModal'), + await screen.findByTestId('alert-modal-action-showAdvancedGasModal'), ).toBeInTheDocument(); expect( - await findByTestId('alert-modal-action-showAdvancedGasModal'), + await screen.findByTestId('alert-modal-action-showAdvancedGasModal'), ).toHaveTextContent('Update fee'); }); @@ -331,9 +351,7 @@ describe('Contract Interaction Confirmation', () => { expect(await screen.getByTestId('inline-alert')).toBeInTheDocument(); - act(() => { - fireEvent.click(screen.getByTestId('inline-alert')); - }); + fireEvent.click(screen.getByTestId('inline-alert')); expect(await screen.findByTestId('alert-modal')).toBeInTheDocument(); @@ -348,7 +366,7 @@ describe('Contract Interaction Confirmation', () => { ); }); - it('displays the alert for gas fees too', async () => { + it('displays the alert for gas fees too low', async () => { const account = mockMetaMaskState.internalAccounts.accounts[ mockMetaMaskState.internalAccounts @@ -372,9 +390,7 @@ describe('Contract Interaction Confirmation', () => { }); }); - act(() => { - fireEvent.click(screen.getByTestId('inline-alert')); - }); + fireEvent.click(screen.getByTestId('inline-alert')); expect(await screen.findByTestId('alert-modal')).toBeInTheDocument(); diff --git a/test/integration/confirmations/transactions/contract-interaction.test.tsx b/test/integration/confirmations/transactions/contract-interaction.test.tsx index 7d07dc31e7db..cea1ed6f54bc 100644 --- a/test/integration/confirmations/transactions/contract-interaction.test.tsx +++ b/test/integration/confirmations/transactions/contract-interaction.test.tsx @@ -1,4 +1,10 @@ -import { fireEvent, waitFor, within } from '@testing-library/react'; +import { + fireEvent, + waitFor, + within, + screen, + act, +} from '@testing-library/react'; import { ApprovalType } from '@metamask/controller-utils'; import nock from 'nock'; import { TransactionType } from '@metamask/transaction-controller'; @@ -46,12 +52,12 @@ const getMetaMaskStateWithUnapprovedContractInteraction = ({ }, nextNonce: '8', currencyRates: { - ETH: { + SepoliaETH: { conversionDate: 1721392020.645, conversionRate: 3404.13, usdConversionRate: 3404.13, }, - SepoliaETH: { + ETH: { conversionDate: 1721393858.083, conversionRate: 3414.67, usdConversionRate: 3414.67, @@ -166,36 +172,44 @@ describe('Contract Interaction Confirmation', () => { accountAddress: account.address, }); - const { getByTestId, queryByTestId, findByTestId } = + await act(async () => { await integrationTestRender({ preloadedState: mockedMetaMaskState, backgroundConnection: backgroundConnectionMocked, }); + }); - expect(getByTestId('header-account-name')).toHaveTextContent(accountName); - expect(getByTestId('header-network-display-name')).toHaveTextContent( - 'Chain 5', + expect(screen.getByTestId('header-account-name')).toHaveTextContent( + accountName, + ); + expect(screen.getByTestId('header-network-display-name')).toHaveTextContent( + 'Sepolia', ); - fireEvent.click(getByTestId('header-info__account-details-button')); + fireEvent.click(screen.getByTestId('header-info__account-details-button')); expect( - await findByTestId('confirmation-account-details-modal__account-name'), + await screen.findByTestId( + 'confirmation-account-details-modal__account-name', + ), ).toHaveTextContent(accountName); - expect(getByTestId('address-copy-button-text')).toHaveTextContent( + expect(screen.getByTestId('address-copy-button-text')).toHaveTextContent( '0x0DCD5...3E7bc', ); expect( - getByTestId('confirmation-account-details-modal__account-balance'), - ).toHaveTextContent('1.5827157ETH'); + screen.getByTestId('confirmation-account-details-modal__account-balance'), + ).toHaveTextContent('1.582717SepoliaETH'); let confirmAccountDetailsModalMetricsEvent; await waitFor(() => { confirmAccountDetailsModalMetricsEvent = mockedBackgroundConnection.submitRequestToBackground.mock.calls?.find( - (call) => call[0] === 'trackMetaMetricsEvent', + (call) => + call[0] === 'trackMetaMetricsEvent' && + call[1]?.[0].category === MetaMetricsEventCategory.Confirmations, ); + expect(confirmAccountDetailsModalMetricsEvent?.[0]).toBe( 'trackMetaMetricsEvent', ); @@ -216,12 +230,14 @@ describe('Contract Interaction Confirmation', () => { ); fireEvent.click( - getByTestId('confirmation-account-details-modal__close-button'), + screen.getByTestId('confirmation-account-details-modal__close-button'), ); await waitFor(() => { expect( - queryByTestId('confirmation-account-details-modal__account-name'), + screen.queryByTestId( + 'confirmation-account-details-modal__account-name', + ), ).not.toBeInTheDocument(); }); }); @@ -238,35 +254,38 @@ describe('Contract Interaction Confirmation', () => { accountAddress: account.address, }); - const { getByTestId, getByText, findByTestId } = + await act(async () => { await integrationTestRender({ preloadedState: mockedMetaMaskState, backgroundConnection: backgroundConnectionMocked, }); + }); - expect(getByText('Transaction request')).toBeInTheDocument(); + expect(screen.getByText('Transaction request')).toBeInTheDocument(); - const simulationSection = getByTestId('simulation-details-layout'); + const simulationSection = screen.getByTestId('simulation-details-layout'); expect(simulationSection).toBeInTheDocument(); expect(simulationSection).toHaveTextContent('Estimated changes'); - const simulationDetailsRow = await findByTestId('simulation-rows-incoming'); + const simulationDetailsRow = await screen.findByTestId( + 'simulation-rows-incoming', + ); expect(simulationSection).toContainElement(simulationDetailsRow); expect(simulationDetailsRow).toHaveTextContent('You receive'); expect(simulationDetailsRow).toContainElement( - getByTestId('simulation-details-asset-pill'), + screen.getByTestId('simulation-details-asset-pill'), ); expect(simulationDetailsRow).toContainElement( - getByTestId('simulation-details-amount-pill'), + screen.getByTestId('simulation-details-amount-pill'), ); - const transactionDetailsSection = getByTestId( + const transactionDetailsSection = screen.getByTestId( 'transaction-details-section', ); expect(transactionDetailsSection).toBeInTheDocument(); expect(transactionDetailsSection).toHaveTextContent('Request from'); expect(transactionDetailsSection).toHaveTextContent('Interacting with'); - const gasFeesSection = getByTestId('gas-fee-section'); + const gasFeesSection = screen.getByTestId('gas-fee-section'); expect(gasFeesSection).toBeInTheDocument(); const editGasFeesRow = @@ -278,7 +297,9 @@ describe('Contract Interaction Confirmation', () => { const editGasFeeNativeCurrency = within(editGasFeesRow).getByTestId('native-currency'); expect(editGasFeeNativeCurrency).toHaveTextContent('$28.50'); - expect(editGasFeesRow).toContainElement(getByTestId('edit-gas-fee-icon')); + expect(editGasFeesRow).toContainElement( + screen.getByTestId('edit-gas-fee-icon'), + ); const gasFeeSpeed = within(gasFeesSection).getByTestId( 'gas-fee-details-speed', @@ -306,12 +327,14 @@ describe('Contract Interaction Confirmation', () => { showConfirmationAdvancedDetails: false, }); - const { getByTestId } = await integrationTestRender({ - preloadedState: mockedMetaMaskState, - backgroundConnection: backgroundConnectionMocked, + await act(async () => { + await integrationTestRender({ + preloadedState: mockedMetaMaskState, + backgroundConnection: backgroundConnectionMocked, + }); }); - fireEvent.click(getByTestId('header-advanced-details-button')); + fireEvent.click(screen.getByTestId('header-advanced-details-button')); await waitFor(() => { expect( @@ -341,9 +364,11 @@ describe('Contract Interaction Confirmation', () => { showConfirmationAdvancedDetails: true, }); - const { getByTestId } = await integrationTestRender({ - preloadedState: mockedMetaMaskState, - backgroundConnection: backgroundConnectionMocked, + await act(async () => { + await integrationTestRender({ + preloadedState: mockedMetaMaskState, + backgroundConnection: backgroundConnectionMocked, + }); }); await waitFor(() => { @@ -360,37 +385,41 @@ describe('Contract Interaction Confirmation', () => { transactionData: '0x3b4b13810000000000000000000000000000000000000000000000000000000000000001', contractAddress: '0x076146c765189d51be3160a2140cf80bfc73ad68', - chainId: '0x5', + chainId: '0xaa36a7', }, ]); }); - const gasFeesSection = getByTestId('gas-fee-section'); - const maxFee = getByTestId('gas-fee-details-max-fee'); + const gasFeesSection = screen.getByTestId('gas-fee-section'); + const maxFee = screen.getByTestId('gas-fee-details-max-fee'); expect(gasFeesSection).toContainElement(maxFee); expect(maxFee).toHaveTextContent('Max fee'); expect(maxFee).toHaveTextContent('0.2313 ETH'); expect(maxFee).toHaveTextContent('$787.37'); - const nonceSection = getByTestId('advanced-details-nonce-section'); + const nonceSection = screen.getByTestId('advanced-details-nonce-section'); expect(nonceSection).toBeInTheDocument(); expect(nonceSection).toHaveTextContent('Nonce'); expect(nonceSection).toContainElement( - getByTestId('advanced-details-displayed-nonce'), - ); - expect(getByTestId('advanced-details-displayed-nonce')).toHaveTextContent( - '9', + screen.getByTestId('advanced-details-displayed-nonce'), ); + expect( + screen.getByTestId('advanced-details-displayed-nonce'), + ).toHaveTextContent('9'); - const dataSection = getByTestId('advanced-details-data-section'); + const dataSection = screen.getByTestId('advanced-details-data-section'); expect(dataSection).toBeInTheDocument(); - const dataSectionFunction = getByTestId('advanced-details-data-function'); + const dataSectionFunction = screen.getByTestId( + 'advanced-details-data-function', + ); expect(dataSection).toContainElement(dataSectionFunction); expect(dataSectionFunction).toHaveTextContent('Function'); expect(dataSectionFunction).toHaveTextContent('mintNFTs'); - const transactionDataParams = getByTestId('advanced-details-data-param-0'); + const transactionDataParams = screen.getByTestId( + 'advanced-details-data-param-0', + ); expect(dataSection).toContainElement(transactionDataParams); expect(transactionDataParams).toHaveTextContent('Number Of Tokens'); expect(transactionDataParams).toHaveTextContent('1'); @@ -408,15 +437,17 @@ describe('Contract Interaction Confirmation', () => { account.address, ); - const { getByText } = await integrationTestRender({ - preloadedState: mockedMetaMaskState, - backgroundConnection: backgroundConnectionMocked, + await act(async () => { + await integrationTestRender({ + preloadedState: mockedMetaMaskState, + backgroundConnection: backgroundConnectionMocked, + }); }); const headingText = 'This is a deceptive request'; const bodyText = 'If you approve this request, a third party known for scams will take all your assets.'; - expect(getByText(headingText)).toBeInTheDocument(); - expect(getByText(bodyText)).toBeInTheDocument(); + expect(screen.getByText(headingText)).toBeInTheDocument(); + expect(screen.getByText(bodyText)).toBeInTheDocument(); }); }); diff --git a/test/integration/confirmations/transactions/erc20-approve.test.tsx b/test/integration/confirmations/transactions/erc20-approve.test.tsx index 824ca80e0b84..e2466ad8f596 100644 --- a/test/integration/confirmations/transactions/erc20-approve.test.tsx +++ b/test/integration/confirmations/transactions/erc20-approve.test.tsx @@ -1,28 +1,21 @@ import { ApprovalType } from '@metamask/controller-utils'; -import { waitFor } from '@testing-library/react'; +import { act, screen } from '@testing-library/react'; +import userEvent from '@testing-library/user-event'; import nock from 'nock'; -import { useIsNFT } from '../../../../ui/pages/confirmations/components/confirm/info/approve/hooks/use-is-nft'; import * as backgroundConnection from '../../../../ui/store/background-connection'; import { integrationTestRender } from '../../../lib/render-helpers'; import mockMetaMaskState from '../../data/integration-init-state.json'; import { createMockImplementation, mock4byte } from '../../helpers'; +import { TokenStandard } from '../../../../shared/constants/transaction'; +import { createTestProviderTools } from '../../../stub/provider'; import { getUnapprovedApproveTransaction } from './transactionDataHelpers'; jest.mock('../../../../ui/store/background-connection', () => ({ ...jest.requireActual('../../../../ui/store/background-connection'), submitRequestToBackground: jest.fn(), + callBackgroundMethod: jest.fn(), })); -jest.mock( - '../../../../ui/pages/confirmations/components/confirm/info/approve/hooks/use-is-nft', - () => ({ - ...jest.requireActual( - '../../../../ui/pages/confirmations/components/confirm/info/approve/hooks/use-is-nft', - ), - useIsNFT: jest.fn(), - }), -); - const mockedBackgroundConnection = jest.mocked(backgroundConnection); const backgroundConnectionMocked = { @@ -31,14 +24,21 @@ const backgroundConnectionMocked = { export const pendingTransactionId = '48a75190-45ca-11ef-9001-f3886ec2397c'; export const pendingTransactionTime = new Date().getTime(); -const getMetaMaskStateWithUnapprovedApproveTransaction = ( - accountAddress: string, -) => { +const getMetaMaskStateWithUnapprovedApproveTransaction = (opts?: { + showAdvanceDetails: boolean; +}) => { + const account = + mockMetaMaskState.internalAccounts.accounts[ + mockMetaMaskState.internalAccounts + .selectedAccount as keyof typeof mockMetaMaskState.internalAccounts.accounts + ]; + return { ...mockMetaMaskState, preferences: { ...mockMetaMaskState.preferences, redesignedConfirmationsEnabled: true, + showConfirmationAdvancedDetails: opts?.showAdvanceDetails ?? false, }, pendingApprovals: { [pendingTransactionId]: { @@ -55,9 +55,12 @@ const getMetaMaskStateWithUnapprovedApproveTransaction = ( }, pendingApprovalCount: 1, knownMethodData: { - '0x3b4b1381': { - name: 'Mint NFTs', + '0x095ea7b3': { + name: 'Approve', params: [ + { + type: 'address', + }, { type: 'uint256', }, @@ -66,7 +69,7 @@ const getMetaMaskStateWithUnapprovedApproveTransaction = ( }, transactions: [ getUnapprovedApproveTransaction( - accountAddress, + account.address, pendingTransactionId, pendingTransactionTime, ), @@ -83,7 +86,7 @@ const advancedDetailsMockedRequests = { decodeTransactionData: { data: [ { - name: 'approve', + name: 'Approve', params: [ { type: 'address', @@ -109,46 +112,261 @@ const setupSubmitRequestToBackgroundMocks = ( ...(mockRequests ?? {}), }), ); + + mockedBackgroundConnection.callBackgroundMethod.mockImplementation( + createMockImplementation({ addKnownMethodData: {} }), + ); }; -describe('ERC721 Approve Confirmation', () => { - let useIsNFTMock; +describe('ERC20 Approve Confirmation', () => { + beforeAll(() => { + const { provider } = createTestProviderTools({ + networkId: 'sepolia', + chainId: '0xaa36a7', + }); + + // eslint-disable-next-line @typescript-eslint/no-explicit-any + global.ethereumProvider = provider as any; + }); + beforeEach(() => { jest.resetAllMocks(); - setupSubmitRequestToBackgroundMocks(); - const APPROVE_NFT_HEX_SIG = '0x095ea7b3'; - mock4byte(APPROVE_NFT_HEX_SIG); - useIsNFTMock = jest - .fn() - .mockImplementation(() => ({ isNFT: false, decimals: '18' })); - (useIsNFT as jest.Mock).mockImplementation(useIsNFTMock); + setupSubmitRequestToBackgroundMocks({ + getTokenStandardAndDetails: { + standard: TokenStandard.ERC20, + }, + }); + const APPROVE_ERC20_HEX_SIG = '0x095ea7b3'; + const APPROVE_ERC20_TEXT_SIG = 'approve(address,uint256)'; + mock4byte(APPROVE_ERC20_HEX_SIG, APPROVE_ERC20_TEXT_SIG); }); afterEach(() => { nock.cleanAll(); }); + afterAll(() => { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + delete (global as any).ethereumProvider; + }); + + it('displays spending cap request title', async () => { + const mockedMetaMaskState = + getMetaMaskStateWithUnapprovedApproveTransaction(); + + await act(async () => { + await integrationTestRender({ + preloadedState: mockedMetaMaskState, + backgroundConnection: backgroundConnectionMocked, + }); + }); + + expect(screen.getByText('Spending cap request')).toBeInTheDocument(); + expect( + screen.getByText('This site wants permission to withdraw your tokens'), + ).toBeInTheDocument(); + }); + + it('displays approve simulation section', async () => { + const mockedMetaMaskState = + getMetaMaskStateWithUnapprovedApproveTransaction(); + + await act(async () => { + await integrationTestRender({ + preloadedState: mockedMetaMaskState, + backgroundConnection: backgroundConnectionMocked, + }); + }); + + const simulationSection = screen.getByTestId( + 'confirmation__simulation_section', + ); + expect(simulationSection).toBeInTheDocument(); + + // TODO - fix this copy + expect(simulationSection).toHaveTextContent( + "You're giving someone else permission to withdraw NFTs from your account", + ); + expect(simulationSection).toHaveTextContent('Spending cap'); + const spendingCapValue = screen.getByTestId('simulation-token-value'); + expect(simulationSection).toContainElement(spendingCapValue); + expect(spendingCapValue).toHaveTextContent('1'); + expect(simulationSection).toHaveTextContent('0x07614...3ad68'); + }); + it('displays approve details with correct data', async () => { - const account = - mockMetaMaskState.internalAccounts.accounts[ - mockMetaMaskState.internalAccounts - .selectedAccount as keyof typeof mockMetaMaskState.internalAccounts.accounts - ]; + const testUser = userEvent.setup(); const mockedMetaMaskState = - getMetaMaskStateWithUnapprovedApproveTransaction(account.address); + getMetaMaskStateWithUnapprovedApproveTransaction(); - const { getByText } = await integrationTestRender({ - preloadedState: mockedMetaMaskState, - backgroundConnection: backgroundConnectionMocked, + await act(async () => { + await integrationTestRender({ + preloadedState: mockedMetaMaskState, + backgroundConnection: backgroundConnectionMocked, + }); }); - await waitFor(() => { - expect(getByText('Spending cap request')).toBeInTheDocument(); + const approveDetails = screen.getByTestId('confirmation__approve-details'); + expect(approveDetails).toBeInTheDocument(); + const approveDetailsSpender = screen.getByTestId( + 'confirmation__approve-spender', + ); + + expect(approveDetails).toContainElement(approveDetailsSpender); + expect(approveDetailsSpender).toHaveTextContent('Spender'); + expect(approveDetailsSpender).toHaveTextContent('0x2e0D7...5d09B'); + const spenderTooltip = screen.getByTestId( + 'confirmation__approve-spender-tooltip', + ); + expect(approveDetailsSpender).toContainElement(spenderTooltip); + await testUser.hover(spenderTooltip); + // TODO - fix this copy + const spenderTooltipContent = await screen.findByText( + 'This is the address that will be able to withdraw your NFTs.', + ); + expect(spenderTooltipContent).toBeInTheDocument(); + + const approveDetailsRequestFrom = screen.getByTestId( + 'transaction-details-origin-row', + ); + expect(approveDetails).toContainElement(approveDetailsRequestFrom); + expect(approveDetailsRequestFrom).toHaveTextContent('Request from'); + expect(approveDetailsRequestFrom).toHaveTextContent( + 'http://localhost:8086/', + ); + + const approveDetailsRequestFromTooltip = screen.getByTestId( + 'transaction-details-origin-row-tooltip', + ); + expect(approveDetailsRequestFrom).toContainElement( + approveDetailsRequestFromTooltip, + ); + await testUser.hover(approveDetailsRequestFromTooltip); + const requestFromTooltipContent = await screen.findByText( + 'This is the site asking for your confirmation.', + ); + expect(requestFromTooltipContent).toBeInTheDocument(); + }); + + it('displays spending cap section with correct data', async () => { + const testUser = userEvent.setup(); + + const mockedMetaMaskState = + getMetaMaskStateWithUnapprovedApproveTransaction(); + + await act(async () => { + await integrationTestRender({ + preloadedState: mockedMetaMaskState, + backgroundConnection: backgroundConnectionMocked, + }); }); - await waitFor(() => { - expect(getByText('Request from')).toBeInTheDocument(); + const spendingCapSection = screen.getByTestId( + 'confirmation__approve-spending-cap-section', + ); + expect(spendingCapSection).toBeInTheDocument(); + + expect(spendingCapSection).toHaveTextContent('Account balance'); + expect(spendingCapSection).toHaveTextContent('0'); + const spendingCapGroup = screen.getByTestId( + 'confirmation__approve-spending-cap-group', + ); + expect(spendingCapSection).toContainElement(spendingCapGroup); + expect(spendingCapGroup).toHaveTextContent('Spending cap'); + expect(spendingCapGroup).toHaveTextContent('1'); + + const spendingCapGroupTooltip = screen.getByTestId( + 'confirmation__approve-spending-cap-group-tooltip', + ); + expect(spendingCapGroup).toContainElement(spendingCapGroupTooltip); + await testUser.hover(spendingCapGroupTooltip); + const requestFromTooltipContent = await screen.findByText( + 'This is the amount of tokens the spender will be able to access on your behalf.', + ); + expect(requestFromTooltipContent).toBeInTheDocument(); + }); + + it('displays the advanced transaction details section', async () => { + const testUser = userEvent.setup(); + + const mockedMetaMaskState = + getMetaMaskStateWithUnapprovedApproveTransaction({ + showAdvanceDetails: true, + }); + + await act(async () => { + await integrationTestRender({ + preloadedState: mockedMetaMaskState, + backgroundConnection: backgroundConnectionMocked, + }); }); + + const approveDetails = screen.getByTestId('confirmation__approve-details'); + expect(approveDetails).toBeInTheDocument(); + + const approveDetailsRecipient = screen.getByTestId( + 'transaction-details-recipient-row', + ); + expect(approveDetails).toContainElement(approveDetailsRecipient); + expect(approveDetailsRecipient).toHaveTextContent('Interacting with'); + expect(approveDetailsRecipient).toHaveTextContent('0x07614...3ad68'); + + const approveDetailsRecipientTooltip = screen.getByTestId( + 'transaction-details-recipient-row-tooltip', + ); + expect(approveDetailsRecipient).toContainElement( + approveDetailsRecipientTooltip, + ); + await testUser.hover(approveDetailsRecipientTooltip); + const recipientTooltipContent = await screen.findByText( + "This is the contract you're interacting with. Protect yourself from scammers by verifying the details.", + ); + expect(recipientTooltipContent).toBeInTheDocument(); + + const approveMethodData = await screen.findByTestId( + 'transaction-details-method-data-row', + ); + expect(approveDetails).toContainElement(approveMethodData); + expect(approveMethodData).toHaveTextContent('Method'); + expect(approveMethodData).toHaveTextContent('Approve'); + const approveMethodDataTooltip = screen.getByTestId( + 'transaction-details-method-data-row-tooltip', + ); + expect(approveMethodData).toContainElement(approveMethodDataTooltip); + await testUser.hover(approveMethodDataTooltip); + const approveMethodDataTooltipContent = await screen.findByText( + 'Function executed based on decoded input data.', + ); + expect(approveMethodDataTooltipContent).toBeInTheDocument(); + + const approveDetailsNonce = screen.getByTestId( + 'advanced-details-nonce-section', + ); + expect(approveDetailsNonce).toBeInTheDocument(); + + const dataSection = screen.getByTestId('advanced-details-data-section'); + expect(dataSection).toBeInTheDocument(); + + const dataSectionFunction = screen.getByTestId( + 'advanced-details-data-function', + ); + expect(dataSection).toContainElement(dataSectionFunction); + expect(dataSectionFunction).toHaveTextContent('Function'); + expect(dataSectionFunction).toHaveTextContent('Approve'); + + const approveDataParams1 = screen.getByTestId( + 'advanced-details-data-param-0', + ); + expect(dataSection).toContainElement(approveDataParams1); + expect(approveDataParams1).toHaveTextContent('Param #1'); + expect(approveDataParams1).toHaveTextContent('0x2e0D7...5d09B'); + + const approveDataParams2 = screen.getByTestId( + 'advanced-details-data-param-1', + ); + expect(dataSection).toContainElement(approveDataParams2); + expect(approveDataParams2).toHaveTextContent('Param #2'); + expect(approveDataParams2).toHaveTextContent('1'); }); }); diff --git a/test/integration/confirmations/transactions/erc721-approve.test.tsx b/test/integration/confirmations/transactions/erc721-approve.test.tsx index 47f0e2121eb8..8a836dbd7568 100644 --- a/test/integration/confirmations/transactions/erc721-approve.test.tsx +++ b/test/integration/confirmations/transactions/erc721-approve.test.tsx @@ -1,28 +1,20 @@ import { ApprovalType } from '@metamask/controller-utils'; -import { waitFor } from '@testing-library/react'; +import { act, screen, waitFor } from '@testing-library/react'; import nock from 'nock'; -import { useIsNFT } from '../../../../ui/pages/confirmations/components/confirm/info/approve/hooks/use-is-nft'; import * as backgroundConnection from '../../../../ui/store/background-connection'; import { integrationTestRender } from '../../../lib/render-helpers'; import mockMetaMaskState from '../../data/integration-init-state.json'; import { createMockImplementation, mock4byte } from '../../helpers'; +import { TokenStandard } from '../../../../shared/constants/transaction'; +import { createTestProviderTools } from '../../../stub/provider'; import { getUnapprovedApproveTransaction } from './transactionDataHelpers'; jest.mock('../../../../ui/store/background-connection', () => ({ ...jest.requireActual('../../../../ui/store/background-connection'), submitRequestToBackground: jest.fn(), + callBackgroundMethod: jest.fn(), })); -jest.mock( - '../../../../ui/pages/confirmations/components/confirm/info/approve/hooks/use-is-nft', - () => ({ - ...jest.requireActual( - '../../../../ui/pages/confirmations/components/confirm/info/approve/hooks/use-is-nft', - ), - useIsNFT: jest.fn(), - }), -); - const mockedBackgroundConnection = jest.mocked(backgroundConnection); const backgroundConnectionMocked = { @@ -55,9 +47,12 @@ const getMetaMaskStateWithUnapprovedApproveTransaction = ( }, pendingApprovalCount: 1, knownMethodData: { - '0x3b4b1381': { - name: 'Mint NFTs', + '0x095ea7b3': { + name: 'Approve', params: [ + { + type: 'address', + }, { type: 'uint256', }, @@ -109,23 +104,43 @@ const setupSubmitRequestToBackgroundMocks = ( ...(mockRequests ?? {}), }), ); + + mockedBackgroundConnection.callBackgroundMethod.mockImplementation( + createMockImplementation({ addKnownMethodData: {} }), + ); }; describe('ERC721 Approve Confirmation', () => { - let useIsNFTMock; + beforeAll(() => { + const { provider } = createTestProviderTools({ + networkId: 'sepolia', + chainId: '0xaa36a7', + }); + + // eslint-disable-next-line @typescript-eslint/no-explicit-any + global.ethereumProvider = provider as any; + }); + beforeEach(() => { jest.resetAllMocks(); - setupSubmitRequestToBackgroundMocks(); + setupSubmitRequestToBackgroundMocks({ + getTokenStandardAndDetails: { + standard: TokenStandard.ERC721, + }, + }); const APPROVE_NFT_HEX_SIG = '0x095ea7b3'; mock4byte(APPROVE_NFT_HEX_SIG); - useIsNFTMock = jest.fn().mockImplementation(() => ({ isNFT: true })); - (useIsNFT as jest.Mock).mockImplementation(useIsNFTMock); }); afterEach(() => { nock.cleanAll(); }); + afterAll(() => { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + delete (global as any).ethereumProvider; + }); + it('displays approve details with correct data', async () => { const account = mockMetaMaskState.internalAccounts.accounts[ @@ -136,17 +151,19 @@ describe('ERC721 Approve Confirmation', () => { const mockedMetaMaskState = getMetaMaskStateWithUnapprovedApproveTransaction(account.address); - const { getByText } = await integrationTestRender({ - preloadedState: mockedMetaMaskState, - backgroundConnection: backgroundConnectionMocked, + await act(async () => { + await integrationTestRender({ + preloadedState: mockedMetaMaskState, + backgroundConnection: backgroundConnectionMocked, + }); }); await waitFor(() => { - expect(getByText('Allowance request')).toBeInTheDocument(); + expect(screen.getByText('Allowance request')).toBeInTheDocument(); }); await waitFor(() => { - expect(getByText('Request from')).toBeInTheDocument(); + expect(screen.getByText('Request from')).toBeInTheDocument(); }); }); }); diff --git a/test/integration/confirmations/transactions/transactionDataHelpers.tsx b/test/integration/confirmations/transactions/transactionDataHelpers.tsx index 72fc0d2289f3..12550ea5e563 100644 --- a/test/integration/confirmations/transactions/transactionDataHelpers.tsx +++ b/test/integration/confirmations/transactions/transactionDataHelpers.tsx @@ -7,7 +7,7 @@ export const getUnapprovedTransaction = ( ) => { return { actionId: 4256525906, - chainId: '0x5', + chainId: '0xaa36a7', dappSuggestedGasFees: { gas: '0x16a92', }, diff --git a/test/integration/data/integration-init-state.json b/test/integration/data/integration-init-state.json index 27cd1dcfd83a..212ea5702868 100644 --- a/test/integration/data/integration-init-state.json +++ b/test/integration/data/integration-init-state.json @@ -26,18 +26,19 @@ } }, "accountsByChainId": { - "0x5": { + "0xaa36a7": { "0x0dcd5d886577d5081b0c52e242ef29e70be3e7bc": { + "address": "0x0dcd5d886577d5081b0c52e242ef29e70be3e7bc", "balance": "0x15f6f0b9d4f8d000" } } }, "addSnapAccountEnabled": false, "addressBook": { - "0x5": { + "0xaa36a7": { "0xc42edfcc21ed14dda456aa0756c153f7985d8813": { "address": "0xc42edfcc21ed14dda456aa0756c153f7985d8813", - "chainId": "0x5", + "chainId": "0xaa36a7", "isEns": false, "memo": "", "name": "Address Book Account 1" @@ -45,7 +46,7 @@ } }, "advancedGasFee": { - "0x5": { + "0xaa36a7": { "maxBaseFee": "75", "priorityFee": "2" } @@ -92,6 +93,17 @@ "createdDate": null, "schemaName": "ERC721", "externalLink": null + }, + { + "address": "0x495f947276749Ce646f68AC8c248420045cb7b5e", + "description": null, + "name": "Punk Generator", + "logo": null, + "symbol": "PUNK", + "assetContractType": "non-fungible", + "createdDate": null, + "schemaName": "ERC1155", + "externalLink": null } ], "0x5": [ @@ -105,17 +117,6 @@ "createdDate": null, "schemaName": "ERC721", "externalLink": null - }, - { - "address": "0x495f947276749Ce646f68AC8c248420045cb7b5e", - "description": null, - "name": "Punk Generator", - "logo": null, - "symbol": "PUNK", - "assetContractType": "non-fungible", - "createdDate": null, - "schemaName": "ERC1155", - "externalLink": null } ], "0x99": [ @@ -155,7 +156,7 @@ "standard": "ERC721" } ], - "0xaa36a7": [ + "0x5": [ { "address": "0xDc7382Eb0Bc9C352A4CbA23c909bDA01e0206414", "tokenId": "1", @@ -165,7 +166,7 @@ "standard": "ERC721" } ], - "0x5": [ + "0xaa36a7": [ { "address": "0x495f947276749Ce646f68AC8c248420045cb7b5e", "tokenId": "58076532811975507823669075598676816378162417803895263482849101575514658701313", @@ -395,7 +396,7 @@ "networkCongestion": 0.10625 }, "gasFeeEstimatesByChainId": { - "0x5": { + "0xaa36a7": { "estimatedGasFeeTimeBounds": { "lowerTimeBound": 15000, "upperTimeBound": 60000 @@ -462,7 +463,7 @@ "0xe708": false, "0xfa": true, "0x5": false, - "0xaa36a7": true, + "0xaa36a7": false, "0xe704": true }, "internalAccounts": { @@ -669,6 +670,13 @@ "nickname": "Chain 5", "ticker": "ETH", "type": "rpc" + }, + "sepolia": { + "type": "rpc", + "chainId": "0xaa36a7", + "ticker": "ETH", + "nickname": "Sepolia", + "id": "sepolia" } }, "networksMetadata": { @@ -693,7 +701,7 @@ }, "nftsDropdownState": { "0x0dcd5d886577d5081b0c52e242ef29e70be3e7bc": { - "0x5": { + "0xaa36a7": { "0x495f947276749Ce646f68AC8c248420045cb7b5e": false } } @@ -756,16 +764,16 @@ "previousAppVersion": "11.14.4", "previousMigrationVersion": 112, "providerConfig": { - "type": "rpc", - "nickname": "goerli", - "chainId": "0x5", + "type": "sepolia", + "nickname": "sepolia", + "chainId": "0xaa36a7", "ticker": "ETH", - "id": "chain5" + "id": "sepolia" }, "securityAlertsEnabled": true, "seedPhraseBackedUp": true, "selectedAddress": "0x0dcd5d886577d5081b0c52e242ef29e70be3e7bc", - "selectedNetworkClientId": "goerli-network-id", + "selectedNetworkClientId": "sepolia", "showAccountBanner": false, "showBetaHeader": false, "showNetworkBanner": true, @@ -778,7 +786,7 @@ "liveness": true, "smartTransactions": { "0x1": [], - "0x5": [] + "0xaa36a7": [] }, "userOptInV2": true }, @@ -1271,7 +1279,7 @@ "id": 3387511061307736, "time": 1528133130531, "status": "confirmed", - "chainId": "0x5", + "chainId": "0xaa36a7", "loadingDefaults": false, "txParams": { "from": "0x3b222de3aaba8ec9771ca9e9af5d8ed757fb7f62", @@ -1286,7 +1294,7 @@ "id": 3387511061307736, "time": 1528133130531, "status": "unapproved", - "chainId": "0x5", + "chainId": "0xaa36a7", "loadingDefaults": true, "txParams": { "from": "0x3b222de3aaba8ec9771ca9e9af5d8ed757fb7f62", @@ -1403,7 +1411,7 @@ "id": 3387511061307737, "time": 1528133149983, "status": "confirmed", - "chainId": "0x5", + "chainId": "0xaa36a7", "loadingDefaults": false, "txParams": { "from": "0x3b222de3aaba8ec9771ca9e9af5d8ed757fb7f62", @@ -1418,7 +1426,7 @@ "id": 3387511061307737, "time": 1528133149983, "status": "unapproved", - "chainId": "0x5", + "chainId": "0xaa36a7", "loadingDefaults": true, "txParams": { "from": "0x3b222de3aaba8ec9771ca9e9af5d8ed757fb7f62", @@ -1535,7 +1543,7 @@ "id": 3387511061307738, "time": 1528133180635, "status": "confirmed", - "chainId": "0x5", + "chainId": "0xaa36a7", "loadingDefaults": false, "txParams": { "from": "0x3b222de3aaba8ec9771ca9e9af5d8ed757fb7f62", @@ -1550,7 +1558,7 @@ "id": 3387511061307738, "time": 1528133180635, "status": "unapproved", - "chainId": "0x5", + "chainId": "0xaa36a7", "loadingDefaults": true, "txParams": { "from": "0x3b222de3aaba8ec9771ca9e9af5d8ed757fb7f62", @@ -1667,7 +1675,7 @@ "id": 3387511061307739, "time": 1528133223918, "status": "confirmed", - "chainId": "0x5", + "chainId": "0xaa36a7", "loadingDefaults": false, "txParams": { "from": "0x3b222de3aaba8ec9771ca9e9af5d8ed757fb7f62", @@ -1683,7 +1691,7 @@ "id": 3387511061307739, "time": 1528133223918, "status": "unapproved", - "chainId": "0x5", + "chainId": "0xaa36a7", "loadingDefaults": true, "txParams": { "from": "0x3b222de3aaba8ec9771ca9e9af5d8ed757fb7f62", @@ -1804,7 +1812,7 @@ "id": 3387511061307740, "time": 1528133291381, "status": "confirmed", - "chainId": "0x5", + "chainId": "0xaa36a7", "loadingDefaults": false, "txParams": { "from": "0x3b222de3aaba8ec9771ca9e9af5d8ed757fb7f62", @@ -1820,7 +1828,7 @@ "id": 3387511061307740, "time": 1528133291381, "status": "unapproved", - "chainId": "0x5", + "chainId": "0xaa36a7", "loadingDefaults": true, "txParams": { "from": "0x3b222de3aaba8ec9771ca9e9af5d8ed757fb7f62", @@ -1938,7 +1946,7 @@ "id": 3387511061307741, "time": 1528133318440, "status": "rejected", - "chainId": "0x5", + "chainId": "0xaa36a7", "loadingDefaults": false, "txParams": { "from": "0x3b222de3aaba8ec9771ca9e9af5d8ed757fb7f62", @@ -1952,7 +1960,7 @@ "id": 3387511061307741, "time": 1528133318440, "status": "unapproved", - "chainId": "0x5", + "chainId": "0xaa36a7", "loadingDefaults": true, "txParams": { "from": "0x3b222de3aaba8ec9771ca9e9af5d8ed757fb7f62", @@ -2029,12 +2037,12 @@ "useTokenDetection": false, "useTransactionSimulations": true, "usedNetworks": { - "0x5": { - "rpcUrl": "https://goerli.infura.io/v3/8f8f7f9f6f4c4f3e8f8f7f9f6f4c4f3e", - "chainId": "0x5", - "nickname": "Goerli Test Network", + "0xaa36a7": { + "rpcUrl": "https://sepolia.infura.io/v3/8f8f7f9f6f4c4f3e8f8f7f9f6f4c4f3e", + "chainId": "0xaa36a7", + "nickname": "Sepolia Test Network", "ticker": "ETH", - "blockExplorerUrl": "https://goerli.etherscan.io" + "blockExplorerUrl": "https://sepolia.etherscan.io" } }, "userOperations": {}, diff --git a/test/integration/helpers.tsx b/test/integration/helpers.tsx index d975c5adc594..2576d282a341 100644 --- a/test/integration/helpers.tsx +++ b/test/integration/helpers.tsx @@ -9,7 +9,7 @@ export const createMockImplementation = (requests: Record) => { }; }; -export function mock4byte(hexSignature: string) { +export function mock4byte(hexSignature: string, textSignature?: string) { const mockEndpoint = nock('https://www.4byte.directory:443', { encodedQueryParams: true, }) @@ -21,7 +21,7 @@ export function mock4byte(hexSignature: string) { { id: 235447, created_at: '2021-09-14T02:07:09.805000Z', - text_signature: 'mintNFTs(uint256)', + text_signature: textSignature ?? 'mintNFTs(uint256)', hex_signature: hexSignature, bytes_signature: ';K\u0013 ', }, diff --git a/ui/components/app/confirm/info/row/row.tsx b/ui/components/app/confirm/info/row/row.tsx index 6b6470c98017..0dd0b9b110b8 100644 --- a/ui/components/app/confirm/info/row/row.tsx +++ b/ui/components/app/confirm/info/row/row.tsx @@ -128,6 +128,9 @@ export const ConfirmInfoRow: React.FC = ({ marginLeft={1} color={TOOLTIP_ICON_COLORS[variant] as unknown as IconColor} size={IconSize.Sm} + {...(dataTestId + ? { 'data-testid': `${dataTestId}-tooltip` } + : {})} /> )} diff --git a/ui/pages/confirmations/components/confirm/info/approve/__snapshots__/approve.test.tsx.snap b/ui/pages/confirmations/components/confirm/info/approve/__snapshots__/approve.test.tsx.snap index 6f09eea933f4..ee8bff7a53dd 100644 --- a/ui/pages/confirmations/components/confirm/info/approve/__snapshots__/approve.test.tsx.snap +++ b/ui/pages/confirmations/components/confirm/info/approve/__snapshots__/approve.test.tsx.snap @@ -98,9 +98,11 @@ exports[` renders component for approve request 1`] = `
renders component for approve request 1`] = ` >
@@ -214,6 +217,7 @@ exports[` renders component for approve request 1`] = ` >
@@ -254,6 +258,7 @@ exports[` renders component for approve request 1`] = ` >
@@ -320,6 +325,7 @@ exports[` renders component for approve request 1`] = `
renders component for approve request 1`] = ` />
renders component for approve request 1`] = ` >
@@ -430,6 +438,7 @@ exports[` renders component for approve request 1`] = ` >
@@ -529,6 +538,7 @@ exports[` renders component for approve request 1`] = ` >
@@ -674,6 +684,7 @@ exports[` renders component for approve request 1`] = ` >
@@ -762,6 +773,7 @@ exports[` renders component for approve request 1`] = ` > diff --git a/ui/pages/confirmations/components/confirm/info/approve/approve-details/__snapshots__/approve-details.test.tsx.snap b/ui/pages/confirmations/components/confirm/info/approve/approve-details/__snapshots__/approve-details.test.tsx.snap index c31eb7dcfbd0..5491908cdffd 100644 --- a/ui/pages/confirmations/components/confirm/info/approve/approve-details/__snapshots__/approve-details.test.tsx.snap +++ b/ui/pages/confirmations/components/confirm/info/approve/approve-details/__snapshots__/approve-details.test.tsx.snap @@ -4,6 +4,7 @@ exports[` renders component for approve details 1`] = `
{ return ( <> - + @@ -50,7 +54,7 @@ export const ApproveDetails = () => { ); return ( - + {showAdvancedDetails && ( diff --git a/ui/pages/confirmations/components/confirm/info/approve/spending-cap/__snapshots__/spending-cap.test.tsx.snap b/ui/pages/confirmations/components/confirm/info/approve/spending-cap/__snapshots__/spending-cap.test.tsx.snap index d249b4ba843b..dafe44df8e70 100644 --- a/ui/pages/confirmations/components/confirm/info/approve/spending-cap/__snapshots__/spending-cap.test.tsx.snap +++ b/ui/pages/confirmations/components/confirm/info/approve/spending-cap/__snapshots__/spending-cap.test.tsx.snap @@ -4,6 +4,7 @@ exports[` renders component 1`] = `
renders component 1`] = ` />
renders component 1`] = ` >
diff --git a/ui/pages/confirmations/components/confirm/info/approve/spending-cap/spending-cap.tsx b/ui/pages/confirmations/components/confirm/info/approve/spending-cap/spending-cap.tsx index 73f0ef773fa0..2ebd9d8e7e4e 100644 --- a/ui/pages/confirmations/components/confirm/info/approve/spending-cap/spending-cap.tsx +++ b/ui/pages/confirmations/components/confirm/info/approve/spending-cap/spending-cap.tsx @@ -62,6 +62,7 @@ const SpendingCapGroup = ({ {spendingCap === SPENDING_CAP_UNLIMITED_MSG ? ( {SpendingCapElement} @@ -105,7 +106,7 @@ export const SpendingCap = ({ } return ( - + diff --git a/ui/pages/confirmations/components/confirm/info/base-transaction-info/__snapshots__/base-transaction-info.test.tsx.snap b/ui/pages/confirmations/components/confirm/info/base-transaction-info/__snapshots__/base-transaction-info.test.tsx.snap index de72d2c1cfac..5a5e4583cf3d 100644 --- a/ui/pages/confirmations/components/confirm/info/base-transaction-info/__snapshots__/base-transaction-info.test.tsx.snap +++ b/ui/pages/confirmations/components/confirm/info/base-transaction-info/__snapshots__/base-transaction-info.test.tsx.snap @@ -113,6 +113,7 @@ exports[` renders component for contract interaction requ >
@@ -153,6 +154,7 @@ exports[` renders component for contract interaction requ >
@@ -246,6 +248,7 @@ exports[` renders component for contract interaction requ >
@@ -473,6 +476,7 @@ exports[` renders component for contract interaction requ >
@@ -513,6 +517,7 @@ exports[` renders component for contract interaction requ >
@@ -606,6 +611,7 @@ exports[` renders component for contract interaction requ >
@@ -830,6 +836,7 @@ exports[` renders component for contract interaction requ >
@@ -870,6 +877,7 @@ exports[` renders component for contract interaction requ > @@ -963,6 +971,7 @@ exports[` renders component for contract interaction requ > diff --git a/ui/pages/confirmations/components/confirm/info/shared/edit-gas-fees-row/__snapshots__/edit-gas-fees-row.test.tsx.snap b/ui/pages/confirmations/components/confirm/info/shared/edit-gas-fees-row/__snapshots__/edit-gas-fees-row.test.tsx.snap index f0702978aa6c..0508381f9fbb 100644 --- a/ui/pages/confirmations/components/confirm/info/shared/edit-gas-fees-row/__snapshots__/edit-gas-fees-row.test.tsx.snap +++ b/ui/pages/confirmations/components/confirm/info/shared/edit-gas-fees-row/__snapshots__/edit-gas-fees-row.test.tsx.snap @@ -27,6 +27,7 @@ exports[` renders component 1`] = ` > diff --git a/ui/pages/confirmations/components/confirm/info/shared/gas-fees-details/__snapshots__/gas-fees-details.test.tsx.snap b/ui/pages/confirmations/components/confirm/info/shared/gas-fees-details/__snapshots__/gas-fees-details.test.tsx.snap index f797ffdb66c8..9b01388f94f3 100644 --- a/ui/pages/confirmations/components/confirm/info/shared/gas-fees-details/__snapshots__/gas-fees-details.test.tsx.snap +++ b/ui/pages/confirmations/components/confirm/info/shared/gas-fees-details/__snapshots__/gas-fees-details.test.tsx.snap @@ -27,6 +27,7 @@ exports[` renders component for gas fees section 1`] = ` > diff --git a/ui/pages/confirmations/components/confirm/info/shared/gas-fees-section/__snapshots__/gas-fees-section.test.tsx.snap b/ui/pages/confirmations/components/confirm/info/shared/gas-fees-section/__snapshots__/gas-fees-section.test.tsx.snap index 42bb2073ffcf..6a3e7cb058d9 100644 --- a/ui/pages/confirmations/components/confirm/info/shared/gas-fees-section/__snapshots__/gas-fees-section.test.tsx.snap +++ b/ui/pages/confirmations/components/confirm/info/shared/gas-fees-section/__snapshots__/gas-fees-section.test.tsx.snap @@ -33,6 +33,7 @@ exports[` renders component for gas fees section 1`] = ` > diff --git a/ui/pages/confirmations/components/confirm/info/shared/transaction-data/__snapshots__/transaction-data.test.tsx.snap b/ui/pages/confirmations/components/confirm/info/shared/transaction-data/__snapshots__/transaction-data.test.tsx.snap index 02da6945d64a..22bd56481f11 100644 --- a/ui/pages/confirmations/components/confirm/info/shared/transaction-data/__snapshots__/transaction-data.test.tsx.snap +++ b/ui/pages/confirmations/components/confirm/info/shared/transaction-data/__snapshots__/transaction-data.test.tsx.snap @@ -102,6 +102,7 @@ exports[`TransactionData renders decoded data with names and descriptions 1`] = > @@ -154,6 +155,7 @@ exports[`TransactionData renders decoded data with names and descriptions 1`] = > @@ -250,6 +252,7 @@ exports[`TransactionData renders decoded data with names and descriptions 1`] = > @@ -302,6 +305,7 @@ exports[`TransactionData renders decoded data with names and descriptions 1`] = > @@ -343,6 +347,7 @@ exports[`TransactionData renders decoded data with names and descriptions 1`] = > @@ -384,6 +389,7 @@ exports[`TransactionData renders decoded data with names and descriptions 1`] = > @@ -502,6 +508,7 @@ exports[`TransactionData renders decoded data with names and descriptions 1`] = > @@ -598,6 +605,7 @@ exports[`TransactionData renders decoded data with names and descriptions 1`] = > @@ -650,6 +658,7 @@ exports[`TransactionData renders decoded data with names and descriptions 1`] = > @@ -702,6 +711,7 @@ exports[`TransactionData renders decoded data with names and descriptions 1`] = > @@ -798,6 +808,7 @@ exports[`TransactionData renders decoded data with names and descriptions 1`] = > @@ -850,6 +861,7 @@ exports[`TransactionData renders decoded data with names and descriptions 1`] = > @@ -902,6 +914,7 @@ exports[`TransactionData renders decoded data with names and descriptions 1`] = > @@ -1007,6 +1020,7 @@ exports[`TransactionData renders decoded data with no names 1`] = ` > @@ -1048,6 +1062,7 @@ exports[`TransactionData renders decoded data with no names 1`] = ` > @@ -1100,6 +1115,7 @@ exports[`TransactionData renders decoded data with no names 1`] = ` > @@ -1174,6 +1190,7 @@ exports[`TransactionData renders decoded data with tuples and arrays 1`] = ` > @@ -1218,6 +1235,7 @@ exports[`TransactionData renders decoded data with tuples and arrays 1`] = ` > @@ -1270,6 +1288,7 @@ exports[`TransactionData renders decoded data with tuples and arrays 1`] = ` > @@ -1304,6 +1323,7 @@ exports[`TransactionData renders decoded data with tuples and arrays 1`] = ` > @@ -1338,6 +1358,7 @@ exports[`TransactionData renders decoded data with tuples and arrays 1`] = ` > @@ -1372,6 +1393,7 @@ exports[`TransactionData renders decoded data with tuples and arrays 1`] = ` > @@ -1424,6 +1446,7 @@ exports[`TransactionData renders decoded data with tuples and arrays 1`] = ` > @@ -1465,6 +1488,7 @@ exports[`TransactionData renders decoded data with tuples and arrays 1`] = ` > @@ -1506,6 +1530,7 @@ exports[`TransactionData renders decoded data with tuples and arrays 1`] = ` > @@ -1548,6 +1573,7 @@ exports[`TransactionData renders decoded data with tuples and arrays 1`] = ` > @@ -1582,6 +1608,7 @@ exports[`TransactionData renders decoded data with tuples and arrays 1`] = ` > @@ -1634,6 +1661,7 @@ exports[`TransactionData renders decoded data with tuples and arrays 1`] = ` > @@ -1675,6 +1703,7 @@ exports[`TransactionData renders decoded data with tuples and arrays 1`] = ` > @@ -1716,6 +1745,7 @@ exports[`TransactionData renders decoded data with tuples and arrays 1`] = ` > @@ -1758,6 +1788,7 @@ exports[`TransactionData renders decoded data with tuples and arrays 1`] = ` > @@ -1792,6 +1823,7 @@ exports[`TransactionData renders decoded data with tuples and arrays 1`] = ` > @@ -1844,6 +1876,7 @@ exports[`TransactionData renders decoded data with tuples and arrays 1`] = ` > @@ -1885,6 +1918,7 @@ exports[`TransactionData renders decoded data with tuples and arrays 1`] = ` > @@ -1926,6 +1960,7 @@ exports[`TransactionData renders decoded data with tuples and arrays 1`] = ` > @@ -1969,6 +2004,7 @@ exports[`TransactionData renders decoded data with tuples and arrays 1`] = ` > @@ -2021,6 +2057,7 @@ exports[`TransactionData renders decoded data with tuples and arrays 1`] = ` > @@ -2063,6 +2100,7 @@ exports[`TransactionData renders decoded data with tuples and arrays 1`] = ` > diff --git a/ui/pages/confirmations/components/confirm/info/shared/transaction-details/__snapshots__/transaction-details.test.tsx.snap b/ui/pages/confirmations/components/confirm/info/shared/transaction-details/__snapshots__/transaction-details.test.tsx.snap index b65f3e74f8b8..8652c8f67128 100644 --- a/ui/pages/confirmations/components/confirm/info/shared/transaction-details/__snapshots__/transaction-details.test.tsx.snap +++ b/ui/pages/confirmations/components/confirm/info/shared/transaction-details/__snapshots__/transaction-details.test.tsx.snap @@ -40,6 +40,7 @@ exports[` renders component for transaction details 1`] = > @@ -80,6 +81,7 @@ exports[` renders component for transaction details 1`] = > From 1a6f212e57203438f0daff970e03a42483ecfdb6 Mon Sep 17 00:00:00 2001 From: Derek Brans Date: Wed, 18 Sep 2024 08:39:05 -0400 Subject: [PATCH 16/37] chore: smart-transactions code domain (#26948) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## **Description** This PR establishes the `ui/pages/smart-transactions` code domain, following the guidance in [this proposal](https://docs.google.com/document/d/1dzgWc1LCkYz2lZZ6X8SOaj23iaGYVQ2zJ1FVpOxsU-o/edit). Moved | To ui/pages/smart-transactions/ -- | -- ui/components/app/smart-transactions/smart-transactions-opt-in-modal.tsx | components/smart-transactions-opt-in-modal.tsx The following files will be left in place. | Left in place | Reason | |---------------------------------------------------------------------------------------|-------------------------------------------------------------------------------| app/scripts/lib/transaction/smart-transactions.ts | background code shared/constants/smartTransactions.ts | shared with background | `ui/components/app/transaction-list-item/smart-transaction-list-item.component.js` | Specific to the transaction list. | | `ui/pages/confirmations/confirmation/templates/smart-transaction-status-page.js` | Belongs with other confirmation templates. | | `ui/pages/swaps/smart-transaction-status/smart-transaction-status.js` | Swaps-focused. Will be replaced by regular STX status screen once swaps moves to regular STX. | ### STX-related code in other files The following files contain stx-related code, which may be extracted and moved into the smart-transactions code domain at a later time. | Path | STX-Related Code | |------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------| | `app/scripts/metamask-controller.js` | We use the STX controller there `new SmartTransactionsController`. `*// Smart Transactions` section* | | `ui/ducks/swaps/swaps.js` | A few functions related to STX: `fetchSmartTransactionsLiveness`, `signAndSendSmartTransaction`, `setSmartTransactionsRefreshInterval`, etc. | | `ui/store/actions.ts` | `fetchSmartTransactionsLiveness` and other STX functions | | `ui/pages/confirmations/confirm-transaction-base/confirm-transaction-base.container.js` | STX is used from this component | | `ui/pages/settings/advanced-tab/advanced-tab.component.js` | Advanced Settings that include STX option | | `ui/pages/swaps/swaps.util.ts` | `getFeeForSmartTransaction` | | `ui/pages/swaps/prepare-swap-page/review-quote.js` | Uses STX in Swaps | | `ui/selectors/transactions.js` | `allowedSwapsSmartTransactionStatusesForActivityList` | [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/26948?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Installed extension 2. Added account with crypto 3. Verify STX opt-in-modal 4. Send a smart transaction ## **Screenshots/Recordings** ### **Before** ### **After** ![image](https://github.com/user-attachments/assets/6d610e0d-48b8-43e5-9dff-774481966e77) ![image](https://github.com/user-attachments/assets/4a8f5c17-4e2e-402b-84ca-61c95ed08948) ![image](https://github.com/user-attachments/assets/0eae012c-4cfe-4272-94c2-12b7519af1cb) ![image](https://github.com/user-attachments/assets/2cd232e6-d279-4894-b2df-5fcee0a8a0c9) ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --- ui/components/app/app-components.scss | 1 - ui/pages/home/home.component.js | 2 +- ui/pages/pages.scss | 2 +- .../__snapshots__/smart-transactions-opt-in-modal.test.tsx.snap | 0 .../smart-transactions/components}/index.scss | 0 .../components}/smart-transactions-opt-in-modal.test.tsx | 0 .../components}/smart-transactions-opt-in-modal.tsx | 2 +- ui/pages/smart-transactions/index.scss | 2 ++ 8 files changed, 5 insertions(+), 4 deletions(-) rename ui/{components/app/smart-transactions => pages/smart-transactions/components}/__snapshots__/smart-transactions-opt-in-modal.test.tsx.snap (100%) rename ui/{components/app/smart-transactions => pages/smart-transactions/components}/index.scss (100%) rename ui/{components/app/smart-transactions => pages/smart-transactions/components}/smart-transactions-opt-in-modal.test.tsx (100%) rename ui/{components/app/smart-transactions => pages/smart-transactions/components}/smart-transactions-opt-in-modal.tsx (99%) create mode 100644 ui/pages/smart-transactions/index.scss diff --git a/ui/components/app/app-components.scss b/ui/components/app/app-components.scss index cc9a08a53f1d..c5083af45104 100644 --- a/ui/components/app/app-components.scss +++ b/ui/components/app/app-components.scss @@ -51,7 +51,6 @@ @import 'recovery-phrase-reminder/index'; @import 'step-progress-bar/index.scss'; @import 'selected-account/index'; -@import 'smart-transactions/index'; @import 'srp-input/srp-input'; @import 'snaps/snap-privacy-warning/index'; @import 'tab-bar/index'; diff --git a/ui/pages/home/home.component.js b/ui/pages/home/home.component.js index 1c746869ad10..19b76a881c6c 100644 --- a/ui/pages/home/home.component.js +++ b/ui/pages/home/home.component.js @@ -13,7 +13,7 @@ import TermsOfUsePopup from '../../components/app/terms-of-use-popup'; import RecoveryPhraseReminder from '../../components/app/recovery-phrase-reminder'; import WhatsNewPopup from '../../components/app/whats-new-popup'; import { FirstTimeFlowType } from '../../../shared/constants/onboarding'; -import SmartTransactionsOptInModal from '../../components/app/smart-transactions/smart-transactions-opt-in-modal'; +import SmartTransactionsOptInModal from '../smart-transactions/components/smart-transactions-opt-in-modal'; ///: END:ONLY_INCLUDE_IF import HomeNotification from '../../components/app/home-notification'; import MultipleNotifications from '../../components/app/multiple-notifications'; diff --git a/ui/pages/pages.scss b/ui/pages/pages.scss index 01641f29774a..2578286032d2 100644 --- a/ui/pages/pages.scss +++ b/ui/pages/pages.scss @@ -22,10 +22,10 @@ @import 'onboarding-flow/index'; @import 'permissions-connect/index'; @import 'settings/index'; +@import 'smart-transactions/index'; @import 'snaps/snaps-list/index'; @import 'snaps/snap-view/index'; @import 'create-snap-account/index'; -@import 'smart-transactions/smart-transaction-status-page/index'; @import 'remove-snap-account/index'; @import 'swaps/index'; @import 'token-details/index'; diff --git a/ui/components/app/smart-transactions/__snapshots__/smart-transactions-opt-in-modal.test.tsx.snap b/ui/pages/smart-transactions/components/__snapshots__/smart-transactions-opt-in-modal.test.tsx.snap similarity index 100% rename from ui/components/app/smart-transactions/__snapshots__/smart-transactions-opt-in-modal.test.tsx.snap rename to ui/pages/smart-transactions/components/__snapshots__/smart-transactions-opt-in-modal.test.tsx.snap diff --git a/ui/components/app/smart-transactions/index.scss b/ui/pages/smart-transactions/components/index.scss similarity index 100% rename from ui/components/app/smart-transactions/index.scss rename to ui/pages/smart-transactions/components/index.scss diff --git a/ui/components/app/smart-transactions/smart-transactions-opt-in-modal.test.tsx b/ui/pages/smart-transactions/components/smart-transactions-opt-in-modal.test.tsx similarity index 100% rename from ui/components/app/smart-transactions/smart-transactions-opt-in-modal.test.tsx rename to ui/pages/smart-transactions/components/smart-transactions-opt-in-modal.test.tsx diff --git a/ui/components/app/smart-transactions/smart-transactions-opt-in-modal.tsx b/ui/pages/smart-transactions/components/smart-transactions-opt-in-modal.tsx similarity index 99% rename from ui/components/app/smart-transactions/smart-transactions-opt-in-modal.tsx rename to ui/pages/smart-transactions/components/smart-transactions-opt-in-modal.tsx index 5b8ff09f9237..78055de42831 100644 --- a/ui/components/app/smart-transactions/smart-transactions-opt-in-modal.tsx +++ b/ui/pages/smart-transactions/components/smart-transactions-opt-in-modal.tsx @@ -27,7 +27,7 @@ import { ButtonLinkSize, Icon, IconName, -} from '../../component-library'; +} from '../../../components/component-library'; import { setSmartTransactionsOptInStatus } from '../../../store/actions'; import { SMART_TRANSACTIONS_LEARN_MORE_URL } from '../../../../shared/constants/smartTransactions'; diff --git a/ui/pages/smart-transactions/index.scss b/ui/pages/smart-transactions/index.scss new file mode 100644 index 000000000000..8ef1b35cd611 --- /dev/null +++ b/ui/pages/smart-transactions/index.scss @@ -0,0 +1,2 @@ +@import './smart-transaction-status-page/index'; +@import './components/index'; From 313adea121a00259203d22e19f9d5b7a6efde8b8 Mon Sep 17 00:00:00 2001 From: Pedro Figueiredo Date: Wed, 18 Sep 2024 14:56:23 +0100 Subject: [PATCH 17/37] fix: Estimated fee in redesigned screens (#27247) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## **Description** `maxFeePerGas`, `maxPriorityFeePerGas` and `estimatedBaseFee` are decimal values that should be converted before being used inside `multiplyHexes` and `addHexes`. `estimatedBaseFee` also needs to be converted to wei. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27247?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** ### **Before** #### Old Flow Screenshot 2024-09-18 at 13 40 13 #### Redesigned Flow Screenshot 2024-09-18 at 13 39 49 ### **After** #### Redesigned Flow Screenshot 2024-09-18 at 13 37 13 ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --- shared/modules/conversion.utils.ts | 2 +- .../transactions/contract-interaction.test.tsx | 8 ++++---- .../info/approve/__snapshots__/approve.test.tsx.snap | 8 ++++---- .../base-transaction-info.test.tsx.snap | 12 ++++++------ .../confirm/info/hooks/useFeeCalculations.test.ts | 12 ++++++------ .../confirm/info/hooks/useFeeCalculations.ts | 10 ++++++---- .../__snapshots__/gas-fees-details.test.tsx.snap | 4 ++-- .../__snapshots__/gas-fees-section.test.tsx.snap | 4 ++-- 8 files changed, 31 insertions(+), 29 deletions(-) diff --git a/shared/modules/conversion.utils.ts b/shared/modules/conversion.utils.ts index d9fd2262f843..75da336eb8e6 100644 --- a/shared/modules/conversion.utils.ts +++ b/shared/modules/conversion.utils.ts @@ -4,7 +4,7 @@ import { addHexPrefix, BN } from 'ethereumjs-util'; import { EtherDenomination } from '../constants/common'; import { Numeric, NumericValue } from './Numeric'; -export function decGWEIToHexWEI(decGWEI: number) { +export function decGWEIToHexWEI(decGWEI: NumericValue) { return new Numeric(decGWEI, 10, EtherDenomination.GWEI) .toBase(16) .toDenomination(EtherDenomination.WEI) diff --git a/test/integration/confirmations/transactions/contract-interaction.test.tsx b/test/integration/confirmations/transactions/contract-interaction.test.tsx index cea1ed6f54bc..cd5953db50b8 100644 --- a/test/integration/confirmations/transactions/contract-interaction.test.tsx +++ b/test/integration/confirmations/transactions/contract-interaction.test.tsx @@ -293,10 +293,10 @@ describe('Contract Interaction Confirmation', () => { expect(editGasFeesRow).toHaveTextContent('Network fee'); const firstGasField = within(editGasFeesRow).getByTestId('first-gas-field'); - expect(firstGasField).toHaveTextContent('0.0084 ETH'); + expect(firstGasField).toHaveTextContent('0.0001 ETH'); const editGasFeeNativeCurrency = within(editGasFeesRow).getByTestId('native-currency'); - expect(editGasFeeNativeCurrency).toHaveTextContent('$28.50'); + expect(editGasFeeNativeCurrency).toHaveTextContent('$0.47'); expect(editGasFeesRow).toContainElement( screen.getByTestId('edit-gas-fee-icon'), ); @@ -394,8 +394,8 @@ describe('Contract Interaction Confirmation', () => { const maxFee = screen.getByTestId('gas-fee-details-max-fee'); expect(gasFeesSection).toContainElement(maxFee); expect(maxFee).toHaveTextContent('Max fee'); - expect(maxFee).toHaveTextContent('0.2313 ETH'); - expect(maxFee).toHaveTextContent('$787.37'); + expect(maxFee).toHaveTextContent('0.0023 ETH'); + expect(maxFee).toHaveTextContent('$7.72'); const nonceSection = screen.getByTestId('advanced-details-nonce-section'); expect(nonceSection).toBeInTheDocument(); diff --git a/ui/pages/confirmations/components/confirm/info/approve/__snapshots__/approve.test.tsx.snap b/ui/pages/confirmations/components/confirm/info/approve/__snapshots__/approve.test.tsx.snap index ee8bff7a53dd..34fd469e0571 100644 --- a/ui/pages/confirmations/components/confirm/info/approve/__snapshots__/approve.test.tsx.snap +++ b/ui/pages/confirmations/components/confirm/info/approve/__snapshots__/approve.test.tsx.snap @@ -451,13 +451,13 @@ exports[` renders component for approve request 1`] = ` class="mm-box mm-text mm-text--body-md mm-box--margin-right-1 mm-box--color-text-default" data-testid="first-gas-field" > - 0.004 ETH + 0.0001 ETH

- $2.20 + $0.04

+
+ +
+ +
+
+ +
+
+
+ C +
+
+
+ + + +
+
+

+ MUNK #1 +

+
+
+

+

+
+
+

+ Contract address +

+
+ + +
+
+
+

+ Token ID +

+

+ 1 +

+
+
+

+ Token standard +

+

+ ERC721 +

+
+
+ +
+
+
+ Disclaimer: MetaMask pulls the media file from the source url. This url sometimes gets changed by the marketplace on which the NFT was minted. +
+
+
+
+ + + +`; + +exports[`NFT Details should match minimal props and state snapshot 2`] = `
`; + +exports[`NFT Details should match minimal props and state snapshot 3`] = `
`; diff --git a/ui/components/app/assets/nfts/nft-details/__snapshots__/nft-full-image.test.js.snap b/ui/components/app/assets/nfts/nft-details/__snapshots__/nft-full-image.test.js.snap new file mode 100644 index 000000000000..dfedee737c93 --- /dev/null +++ b/ui/components/app/assets/nfts/nft-details/__snapshots__/nft-full-image.test.js.snap @@ -0,0 +1,84 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`NFT full image should match snapshot 1`] = ` +
+
+
+
+
+
+

+

+
+ +
+
+
+
+
+ +
+
+
+
+
+
+
+`; + +exports[`NFT full image should match snapshot 2`] = `
`; diff --git a/ui/components/app/assets/nfts/nft-details/nft-details.test.js b/ui/components/app/assets/nfts/nft-details/nft-details.test.js index 65c3ba339e5f..350dc4813c6a 100644 --- a/ui/components/app/assets/nfts/nft-details/nft-details.test.js +++ b/ui/components/app/assets/nfts/nft-details/nft-details.test.js @@ -19,8 +19,17 @@ import { } from '../../../../../store/actions'; import { CHAIN_IDS } from '../../../../../../shared/constants/network'; import { mockNetworkState } from '../../../../../../test/stub/networks'; +import { + getAssetImageURL, + shortenAddress, +} from '../../../../../helpers/utils/util'; import NftDetails from './nft-details'; +jest.mock('../../../../../helpers/utils/util', () => ({ + getAssetImageURL: jest.fn(), + shortenAddress: jest.fn(), +})); + jest.mock('copy-to-clipboard'); const mockHistoryPush = jest.fn(); @@ -62,13 +71,20 @@ describe('NFT Details', () => { jest.clearAllMocks(); }); - it('should match minimal props and state snapshot', () => { + it('should match minimal props and state snapshot', async () => { + getAssetImageURL.mockResolvedValue( + 'https://bafybeiclzx7zfjvuiuwobn5ip3ogc236bjqfjzoblumf4pau4ep6dqramu.ipfs.dweb.link', + ); + shortenAddress.mockReturnValue('0xDc738...06414'); + const { container } = renderWithProvider( , mockStore, ); - expect(container).toMatchSnapshot(); + await waitFor(() => { + expect(container).toMatchSnapshot(); + }); }); it(`should route to '/' route when the back button is clicked`, () => { diff --git a/ui/components/app/assets/nfts/nft-details/nft-details.tsx b/ui/components/app/assets/nfts/nft-details/nft-details.tsx index 0064dc38976c..8a857da43989 100644 --- a/ui/components/app/assets/nfts/nft-details/nft-details.tsx +++ b/ui/components/app/assets/nfts/nft-details/nft-details.tsx @@ -18,10 +18,7 @@ import { AlignItems, } from '../../../../../helpers/constants/design-system'; import { useI18nContext } from '../../../../../hooks/useI18nContext'; -import { - getAssetImageURL, - shortenAddress, -} from '../../../../../helpers/utils/util'; +import { shortenAddress } from '../../../../../helpers/utils/util'; import { getNftImageAlt } from '../../../../../helpers/utils/nfts'; import { getCurrentChainId, @@ -73,6 +70,7 @@ import { SWAPS_CHAINID_DEFAULT_BLOCK_EXPLORER_URL_MAP } from '../../../../../../ import { getConversionRate } from '../../../../../ducks/metamask/metamask'; import { Numeric } from '../../../../../../shared/modules/Numeric'; import { addUrlProtocolPrefix } from '../../../../../../app/scripts/lib/util'; +import useGetAssetImageUrl from '../../../../../hooks/useGetAssetImageUrl'; import NftDetailInformationRow from './nft-detail-information-row'; import NftDetailInformationFrame from './nft-detail-information-frame'; import NftDetailDescription from './nft-detail-description'; @@ -110,9 +108,10 @@ export default function NftDetails({ nft }: { nft: Nft }) { const nftImageAlt = getNftImageAlt(nft); const nftSrcUrl = imageOriginal ?? image; - const nftImageURL = getAssetImageURL(imageOriginal ?? image, ipfsGateway); const isIpfsURL = nftSrcUrl?.startsWith('ipfs:'); - const isImageHosted = image?.startsWith('https:'); + const isImageHosted = + image?.startsWith('https:') || image?.startsWith('http:'); + const nftImageURL = useGetAssetImageUrl(imageOriginal ?? image, ipfsGateway); const hasFloorAskPrice = Boolean( collection?.floorAsk?.price?.amount?.usd && @@ -165,6 +164,7 @@ export default function NftDetails({ nft }: { nft: Nft }) { }; const { chainId } = currentChain; + useEffect(() => { trackEvent({ event: MetaMetricsEventName.NftDetailsOpened, diff --git a/ui/components/app/assets/nfts/nft-details/nft-full-image.test.js b/ui/components/app/assets/nfts/nft-details/nft-full-image.test.js new file mode 100644 index 000000000000..193025a402ac --- /dev/null +++ b/ui/components/app/assets/nfts/nft-details/nft-full-image.test.js @@ -0,0 +1,45 @@ +import { waitFor } from '@testing-library/react'; +import React from 'react'; +import configureMockStore from 'redux-mock-store'; +import thunk from 'redux-thunk'; +import { toHex } from '@metamask/controller-utils'; +import { renderWithProvider } from '../../../../../../test/lib/render-helpers'; +import mockState from '../../../../../../test/data/mock-state.json'; +import NftFullImage from './nft-full-image'; + +const selectedAddress = + mockState.metamask.internalAccounts.accounts[ + mockState.metamask.internalAccounts.selectedAccount + ].address; +const nfts = mockState.metamask.allNfts[selectedAddress][toHex(5)]; +const mockAsset = nfts[0].address; +const mockId = nfts[0].tokenId; +jest.mock('react-router-dom', () => { + const original = jest.requireActual('react-router-dom'); + return { + ...original, + useHistory: () => ({ + push: jest.fn(), + }), + useParams: () => ({ + asset: mockAsset, + id: mockId, + }), + }; +}); + +describe('NFT full image', () => { + const mockStore = configureMockStore([thunk])(mockState); + + beforeEach(() => { + jest.clearAllMocks(); + }); + + it('should match snapshot', async () => { + const { container } = renderWithProvider(, mockStore); + + await waitFor(() => { + expect(container).toMatchSnapshot(); + }); + }); +}); diff --git a/ui/components/app/assets/nfts/nft-details/nft-full-image.tsx b/ui/components/app/assets/nfts/nft-details/nft-full-image.tsx index 3d09cba1ddc4..64e2a3191c0e 100644 --- a/ui/components/app/assets/nfts/nft-details/nft-full-image.tsx +++ b/ui/components/app/assets/nfts/nft-details/nft-full-image.tsx @@ -1,7 +1,6 @@ import React, { useEffect, useState } from 'react'; import { useSelector } from 'react-redux'; import { useHistory, useParams } from 'react-router-dom'; -import { getAssetImageURL } from '../../../../../helpers/utils/util'; import { getNftImageAlt } from '../../../../../helpers/utils/nfts'; import { getCurrentNetwork, getIpfsGateway } from '../../../../../selectors'; @@ -23,6 +22,7 @@ import { } from '../../../../../helpers/constants/design-system'; import { useI18nContext } from '../../../../../hooks/useI18nContext'; import { ASSET_ROUTE } from '../../../../../helpers/constants/routes'; +import useGetAssetImageUrl from '../../../../../hooks/useGetAssetImageUrl'; export default function NftFullImage() { const t = useI18nContext(); @@ -37,10 +37,10 @@ export default function NftFullImage() { const ipfsGateway = useSelector(getIpfsGateway); const currentChain = useSelector(getCurrentNetwork); + const nftImageURL = useGetAssetImageUrl(imageOriginal ?? image, ipfsGateway); const nftImageAlt = getNftImageAlt(nft); const nftSrcUrl = imageOriginal ?? image; - const nftImageURL = getAssetImageURL(imageOriginal ?? image, ipfsGateway); const isIpfsURL = nftSrcUrl?.startsWith('ipfs:'); const isImageHosted = image?.startsWith('https:'); const history = useHistory(); diff --git a/ui/components/app/assets/nfts/nfts-items/collection-image.component.test.tsx b/ui/components/app/assets/nfts/nfts-items/collection-image.component.test.tsx new file mode 100644 index 000000000000..726ca26508b9 --- /dev/null +++ b/ui/components/app/assets/nfts/nfts-items/collection-image.component.test.tsx @@ -0,0 +1,86 @@ +import React from 'react'; +import { useSelector } from 'react-redux'; +import configureMockStore from 'redux-mock-store'; +import thunk from 'redux-thunk'; +import { screen } from '@testing-library/react'; +import mockState from '../../../../../../test/data/mock-state.json'; +import { renderWithProvider } from '../../../../../../test/lib/render-helpers'; +import { getIpfsGateway, getOpenSeaEnabled } from '../../../../../selectors'; +import { CollectionImageComponent } from './collection-image.component'; + +jest.mock('react-redux', () => ({ + ...jest.requireActual('react-redux'), + useSelector: jest.fn(), +})); + +jest.mock('../../../../../selectors', () => ({ + ...jest.requireActual('../../../../../selectors'), + getIpfsGateway: jest.fn(), + getOpenSeaEnabled: jest.fn(), +})); +const mockStore = configureMockStore([thunk])(mockState); +describe('CollectionImageComponent', () => { + const useSelectorMock = useSelector as jest.Mock; + beforeEach(() => { + jest.resetAllMocks(); + }); + it('should show collection first letter when ipfs is not enabled', async () => { + useSelectorMock.mockImplementation((selector) => { + if (selector === getIpfsGateway) { + return undefined; + } + return undefined; + }); + + const props = { + collectionName: 'NFT Collection', + collectionImage: 'ipfs://', + }; + + const { getByText } = renderWithProvider( + , + mockStore, + ); + + expect(getByText('N')).toBeInTheDocument(); + }); + + it('should show collection first letter when opensea is not enabled', async () => { + useSelectorMock.mockImplementation((selector) => { + if (selector === getOpenSeaEnabled) { + return false; + } + return undefined; + }); + + const props = { + collectionName: 'Test NFT Collection', + collectionImage: 'https://image.png', + }; + + const { getByText } = renderWithProvider( + , + mockStore, + ); + + expect(getByText('T')).toBeInTheDocument(); + }); + + it('should show collection image', async () => { + useSelectorMock.mockImplementation((selector) => { + if (selector === getOpenSeaEnabled) { + return true; + } + return undefined; + }); + + const props = { + collectionName: 'Test NFT Collection', + collectionImage: 'https://image.png', + }; + + renderWithProvider(, mockStore); + + expect(screen.getAllByRole('img')).toHaveLength(1); + }); +}); diff --git a/ui/components/app/assets/nfts/nfts-items/collection-image.component.tsx b/ui/components/app/assets/nfts/nfts-items/collection-image.component.tsx new file mode 100644 index 000000000000..24f34714dd95 --- /dev/null +++ b/ui/components/app/assets/nfts/nfts-items/collection-image.component.tsx @@ -0,0 +1,53 @@ +import React from 'react'; + +import { useSelector } from 'react-redux'; + +import { getIpfsGateway, getOpenSeaEnabled } from '../../../../../selectors'; +import useGetAssetImageUrl from '../../../../../hooks/useGetAssetImageUrl'; +import { Box } from '../../../../component-library'; + +export const CollectionImageComponent = ({ + collectionImage, + collectionName, +}: { + collectionImage: string; + collectionName: string; +}) => { + const ipfsGateway = useSelector(getIpfsGateway); + const openSeaEnabled = useSelector(getOpenSeaEnabled); + const nftImageURL = useGetAssetImageUrl(collectionImage, ipfsGateway); + + const renderCollectionImage = () => { + if (collectionImage?.startsWith('ipfs') && !ipfsGateway) { + return ( +
+ {collectionName?.[0]?.toUpperCase() ?? null} +
+ ); + } + if (!openSeaEnabled && !collectionImage?.startsWith('ipfs')) { + return ( +
+ {collectionName?.[0]?.toUpperCase() ?? null} +
+ ); + } + + if (collectionImage) { + return ( + {collectionName} + ); + } + return ( +
+ {collectionName?.[0]?.toUpperCase() ?? null} +
+ ); + }; + + return {renderCollectionImage()}; +}; diff --git a/ui/components/app/assets/nfts/nfts-items/nfts-items.js b/ui/components/app/assets/nfts/nfts-items/nfts-items.js index 9e8196669b0e..c44de72b261b 100644 --- a/ui/components/app/assets/nfts/nfts-items/nfts-items.js +++ b/ui/components/app/assets/nfts/nfts-items/nfts-items.js @@ -1,4 +1,4 @@ -import React, { useContext, useEffect } from 'react'; +import React, { useContext, useEffect, useState } from 'react'; import PropTypes from 'prop-types'; import { useDispatch, useSelector } from 'react-redux'; import { useHistory } from 'react-router-dom'; @@ -22,7 +22,6 @@ import { getIpfsGateway, getSelectedInternalAccount, getCurrentNetwork, - getOpenSeaEnabled, } from '../../../../../selectors'; import { ASSET_ROUTE, @@ -46,6 +45,8 @@ import { MetaMetricsEventCategory, MetaMetricsEventName, } from '../../../../../../shared/constants/metametrics'; +import { isEqualCaseInsensitive } from '../../../../../../shared/modules/string-utils'; +import { CollectionImageComponent } from './collection-image.component'; const width = (isModal) => { const env = getEnvironmentType() === ENVIRONMENT_TYPE_POPUP; @@ -78,7 +79,8 @@ export default function NftsItems({ const currentChain = useSelector(getCurrentNetwork); const t = useI18nContext(); const ipfsGateway = useSelector(getIpfsGateway); - const openSeaEnabled = useSelector(getOpenSeaEnabled); + + const [updatedNfts, setUpdatedNfts] = useState([]); const trackEvent = useContext(MetaMetricsContext); const sendAnalytics = useSelector(getSendAnalyticProperties); @@ -116,39 +118,40 @@ export default function NftsItems({ dispatch, ]); - const history = useHistory(); + const getAssetImageUrlAndUpdate = async (image, nft) => { + const nftImage = await getAssetImageURL(image, ipfsGateway); + const updatedNFt = { + ...nft, + ipfsImageUpdated: nftImage, + }; + return updatedNFt; + }; - const renderCollectionImage = (collectionImage, collectionName) => { - if (collectionImage?.startsWith('ipfs') && !ipfsGateway) { - return ( -
- {collectionName?.[0]?.toUpperCase() ?? null} -
- ); - } - if (!openSeaEnabled && !collectionImage?.startsWith('ipfs')) { - return ( -
- {collectionName?.[0]?.toUpperCase() ?? null} -
- ); - } + useEffect(() => { + const promisesArr = []; + const modifyItems = async () => { + for (const key of collectionsKeys) { + const { nfts } = collections[key]; + for (const singleNft of nfts) { + const { image, imageOriginal } = singleNft; - if (collectionImage) { - return ( - {collectionName} - ); - } - return ( -
- {collectionName?.[0]?.toUpperCase() ?? null} -
- ); - }; + const isImageHosted = + image?.startsWith('https:') || image?.startsWith('http:'); + if (!isImageHosted) { + promisesArr.push( + getAssetImageUrlAndUpdate(imageOriginal ?? image, singleNft), + ); + } + } + } + const settled = await Promise.all(promisesArr); + setUpdatedNfts(settled); + }; + + modifyItems(); + }, []); + + const history = useHistory(); const updateNftDropDownStateKey = (key, isExpanded) => { const newCurrentAccountState = { @@ -198,6 +201,19 @@ export default function NftsItems({ if (!nfts.length) { return null; } + const getSource = (isImageHosted, nft) => { + if (!isImageHosted) { + const found = updatedNfts.find( + (elm) => + elm.tokenId === nft.tokenId && + isEqualCaseInsensitive(elm.address, nft.address), + ); + if (found) { + return found.ipfsImageUpdated; + } + } + return nft.image; + }; const isExpanded = nftsDropdownState[selectedAddress]?.[chainId]?.[key]; return ( @@ -220,7 +236,10 @@ export default function NftsItems({ alignItems={AlignItems.center} className="nfts-items__collection-header" > - {renderCollectionImage(collectionImage, collectionName)} + { const { image, address, tokenId, name, imageOriginal, tokenURI } = nft; - const nftImage = getAssetImageURL( - imageOriginal ?? image, - ipfsGateway, - ); const nftImageAlt = getNftImageAlt(nft); - const isImageHosted = image?.startsWith('https:'); - const nftImageURL = imageOriginal?.startsWith('ipfs') - ? nftImage - : image; + const isImageHosted = + image?.startsWith('https:') || image?.startsWith('http:'); + + const source = getSource(isImageHosted, nft); + const isIpfsURL = ( imageOriginal ?? image ?? @@ -271,9 +287,8 @@ export default function NftsItems({ className="nfts-items__item-wrapper" > { @@ -168,7 +172,7 @@ export const AssetPickerAmount = ({ standardizedAsset = { type: asset.type, image: - getAssetImageURL(asset.details.image, ipfsGateway) || + nftImageURL || (tokenList && asset.details?.address && tokenList[asset.details.address.toLowerCase()]?.iconUrl), diff --git a/ui/components/multichain/pages/send/components/recipient-content.tsx b/ui/components/multichain/pages/send/components/recipient-content.tsx index d6c8f00b446c..5c32bb5f3b66 100644 --- a/ui/components/multichain/pages/send/components/recipient-content.tsx +++ b/ui/components/multichain/pages/send/components/recipient-content.tsx @@ -45,13 +45,13 @@ import { getTokenList, getUseExternalServices, } from '../../../../../selectors'; +import useGetAssetImageUrl from '../../../../../hooks/useGetAssetImageUrl'; ///: END:ONLY_INCLUDE_IF import type { Quote } from '../../../../../ducks/send/swap-and-send-utils'; import { isEqualCaseInsensitive } from '../../../../../../shared/modules/string-utils'; import { AssetPicker } from '../../../asset-picker-amount/asset-picker'; import { TabName } from '../../../asset-picker-amount/asset-picker-modal/asset-picker-modal-tabs'; -import { getAssetImageURL } from '../../../../../helpers/utils/util'; import { SendHexData, SendPageRow, QuoteCard } from '.'; export const SendPageRecipientContent = ({ @@ -94,6 +94,11 @@ export const SendPageRecipientContent = ({ const tokenList = useSelector(getTokenList) as TokenListMap; const ipfsGateway = useSelector(getIpfsGateway); + const nftImageURL = useGetAssetImageUrl( + sendAsset.details?.image ?? null, + ipfsGateway, + ); + isSwapAllowed = isSwapsChain && !isSwapAndSendDisabledForNetwork && @@ -169,7 +174,7 @@ export const SendPageRecipientContent = ({ ? nativeCurrencyImageUrl : tokenList && sendAsset.details && - (getAssetImageURL(sendAsset.details?.image, ipfsGateway) || + (nftImageURL || tokenList[sendAsset.details.address?.toLowerCase()] ?.iconUrl), symbol: sendAsset?.details?.symbol || nativeCurrencySymbol, diff --git a/ui/components/ui/identicon/identicon.component.js b/ui/components/ui/identicon/identicon.component.js index 50b9075acb8c..0eb05822d292 100644 --- a/ui/components/ui/identicon/identicon.component.js +++ b/ui/components/ui/identicon/identicon.component.js @@ -12,6 +12,9 @@ const getStyles = (diameter) => ({ width: diameter, borderRadius: diameter / 2, }); +const getImage = async (image, ipfsGateway) => { + return await getAssetImageURL(image, ipfsGateway); +}; export default class Identicon extends Component { static propTypes = { @@ -65,6 +68,7 @@ export default class Identicon extends Component { state = { imageLoadingError: false, + imageUrl: '', }; static defaultProps = { @@ -79,9 +83,25 @@ export default class Identicon extends Component { watchedNftContracts: {}, }; + loadImage = async () => { + const result = await getImage(this.props.image, this.props.ipfsGateway); + this.setState({ imageUrl: result }); + }; + + async componentDidMount() { + this.loadImage(); + } + + async componentDidUpdate(prevProps) { + if (prevProps.image !== this.props.image) { + this.loadImage(); + } + } + renderImage() { - const { className, diameter, alt, imageBorder, ipfsGateway } = this.props; + const { className, diameter, alt, imageBorder } = this.props; let { image } = this.props; + const { imageUrl } = this.state; if (Array.isArray(image) && image.length) { image = image[0]; @@ -91,7 +111,7 @@ export default class Identicon extends Component { typeof image === 'string' && image.toLowerCase().startsWith('ipfs://') ) { - image = getAssetImageURL(image, ipfsGateway); + image = imageUrl; } return ( diff --git a/ui/helpers/utils/util.js b/ui/helpers/utils/util.js index 7eeab828a750..051dec05d1f9 100644 --- a/ui/helpers/utils/util.js +++ b/ui/helpers/utils/util.js @@ -562,7 +562,7 @@ export const sanitizeMessage = (msg, primaryType, types) => { return { value: sanitizedStruct, type: primaryType }; }; -export function getAssetImageURL(image, ipfsGateway) { +export async function getAssetImageURL(image, ipfsGateway) { if (!image || typeof image !== 'string') { return ''; } @@ -593,7 +593,7 @@ export function getAssetImageURL(image, ipfsGateway) { // In the future, we can look into solving the root cause, which might require // no longer using multiform's CID.parse() method within the assets-controller try { - return getFormattedIpfsUrl(ipfsGateway, image, true); + return await getFormattedIpfsUrl(ipfsGateway, image, true); } catch (e) { logErrorWithMessage(e); return ''; diff --git a/ui/hooks/useGetAssetImageUrl.test.ts b/ui/hooks/useGetAssetImageUrl.test.ts new file mode 100644 index 000000000000..a6fe1bdc68a3 --- /dev/null +++ b/ui/hooks/useGetAssetImageUrl.test.ts @@ -0,0 +1,47 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import { renderHook } from '@testing-library/react-hooks'; +import { act } from 'react-dom/test-utils'; +import { getAssetImageURL } from '../helpers/utils/util'; +import useGetAssetImageUrl from './useGetAssetImageUrl'; + +jest.mock('../helpers/utils/util', () => ({ + getAssetImageURL: jest.fn(), +})); + +const mockGetAssetImageURL = getAssetImageURL as jest.Mock; +const testIpfsGateway = 'dweb.link'; +describe('useGetAssetImageUrl', () => { + it('should return data successfully', async () => { + const testIpfsImg = + 'ipfs://bafybeieazx4q4ofby24w6n6ftmpad65k4u3vkavv6qnmsazwoe6gaced7m/728.png'; + const expectedRes = + 'https://bafybeieazx4q4ofby24w6n6ftmpad65k4u3vkavv6qnmsazwoe6gaced7m.ipfs.dweb.link/728.png'; + + mockGetAssetImageURL.mockResolvedValueOnce(expectedRes); + let result; + + await act(async () => { + result = renderHook(() => + useGetAssetImageUrl(testIpfsImg, testIpfsGateway), + ); + }); + + expect((result as unknown as Record).result.current).toEqual( + expectedRes, + ); + }); + + it('should return data successfully when image is null', async () => { + mockGetAssetImageURL.mockResolvedValueOnce(''); + const testImage = null; + let result; + await act(async () => { + result = renderHook(() => + useGetAssetImageUrl(testImage, testIpfsGateway), + ); + }); + expect((result as unknown as Record).result.current).toEqual( + '', + ); + }); +}); diff --git a/ui/hooks/useGetAssetImageUrl.ts b/ui/hooks/useGetAssetImageUrl.ts new file mode 100644 index 000000000000..b84a588ff68d --- /dev/null +++ b/ui/hooks/useGetAssetImageUrl.ts @@ -0,0 +1,19 @@ +import { useState, useEffect } from 'react'; +import { getAssetImageURL } from '../helpers/utils/util'; + +const useGetAssetImageUrl = (image: string | null, ipfsGateway: string) => { + const [imageUrl, setImageUrl] = useState(''); + + useEffect(() => { + const getAssetImgUrl = async () => { + const assetImageUrl = await getAssetImageURL(image, ipfsGateway); + setImageUrl(assetImageUrl); + }; + + getAssetImgUrl(); + }, [image, ipfsGateway]); + + return imageUrl; +}; + +export default useGetAssetImageUrl; diff --git a/ui/pages/confirm-add-suggested-nft/confirm-add-suggested-nft.js b/ui/pages/confirm-add-suggested-nft/confirm-add-suggested-nft.js index c5be9de7c9f8..822db143d29a 100644 --- a/ui/pages/confirm-add-suggested-nft/confirm-add-suggested-nft.js +++ b/ui/pages/confirm-add-suggested-nft/confirm-add-suggested-nft.js @@ -1,4 +1,4 @@ -import React, { useCallback, useContext, useEffect } from 'react'; +import React, { useCallback, useContext, useEffect, useState } from 'react'; import { useDispatch, useSelector } from 'react-redux'; import { useHistory } from 'react-router-dom'; import { ethErrors, serializeError } from 'eth-rpc-errors'; @@ -59,6 +59,7 @@ import { PRIMARY } from '../../helpers/constants/common'; import { useUserPreferencedCurrency } from '../../hooks/useUserPreferencedCurrency'; import { useCurrencyDisplay } from '../../hooks/useCurrencyDisplay'; import { useOriginMetadata } from '../../hooks/useOriginMetadata'; +import { isEqualCaseInsensitive } from '../../../shared/modules/string-utils'; const ConfirmAddSuggestedNFT = () => { const t = useContext(I18nContext); @@ -80,6 +81,7 @@ const ConfirmAddSuggestedNFT = () => { const accountName = useSelector((state) => getAddressBookEntryOrAccountName(state, selectedAddress), ); + const [suggestedNftsWithImages, setSuggestedNftsWithImages] = useState([]); const networkName = NETWORK_TO_NAME_MAP[chainId] || networkIdentifier; @@ -152,6 +154,32 @@ const ConfirmAddSuggestedNFT = () => { } } + useEffect(() => { + const addImageUrlToSuggestedNFTs = async () => { + const suggestedNftWithImages = await Promise.all( + suggestedNfts.map(async (item) => { + const imgUrl = await getAssetImageURL( + item.requestData.asset.image, + ipfsGateway, + ); + return { + ...item, + requestData: { + ...item.requestData, + asset: { + ...item.requestData.asset, + assetImageUrl: imgUrl, + }, + }, + }; + }), + ); + setSuggestedNftsWithImages(suggestedNftWithImages); + }; + + addImageUrlToSuggestedNFTs(); + }, []); // Empty dependency array to run only on mount + return ( { ({ id, requestData: { - asset: { address, tokenId, symbol, image, name }, + asset: { address, tokenId, symbol, name }, }, }) => { - const nftImageURL = getAssetImageURL(image, ipfsGateway); + const found = suggestedNftsWithImages.find( + (elm) => + elm.requestData.asset.tokenId === tokenId && + isEqualCaseInsensitive( + elm.requestData.asset.address, + address, + ), + ); + + const nftImageURL = found + ? found.requestData.asset.assetImageUrl + : ''; + const blockExplorerLink = getTokenTrackerLink( address, chainId, diff --git a/ui/pages/confirm-add-suggested-nft/confirm-add-suggested-nft.test.js b/ui/pages/confirm-add-suggested-nft/confirm-add-suggested-nft.test.js index 177bffb7d3bd..003e88f16351 100644 --- a/ui/pages/confirm-add-suggested-nft/confirm-add-suggested-nft.test.js +++ b/ui/pages/confirm-add-suggested-nft/confirm-add-suggested-nft.test.js @@ -11,6 +11,7 @@ import mockState from '../../../test/data/mock-state.json'; import { renderWithProvider } from '../../../test/jest/rendering'; import { CHAIN_IDS } from '../../../shared/constants/network'; import { mockNetworkState } from '../../../test/stub/networks'; +import * as util from '../../helpers/utils/util'; import ConfirmAddSuggestedNFT from '.'; const PENDING_NFT_APPROVALS = { @@ -87,23 +88,25 @@ describe('ConfirmAddSuggestedNFT Component', () => { jest.clearAllMocks(); }); - it('should render one suggested NFT', () => { - renderComponent({ - 1: { - id: '1', - origin: 'https://www.opensea.io', - time: 1, - type: ApprovalType.WatchAsset, - requestData: { - asset: { - address: '0x8b175474e89094c44da98b954eedeac495271d0a', - name: 'CryptoKitty', - tokenId: '15', - standard: 'ERC721', + it('should render one suggested NFT', async () => { + await act(async () => + renderComponent({ + 1: { + id: '1', + origin: 'https://www.opensea.io', + time: 1, + type: ApprovalType.WatchAsset, + requestData: { + asset: { + address: '0x8b175474e89094c44da98b954eedeac495271d0a', + name: 'CryptoKitty', + tokenId: '15', + standard: 'ERC721', + }, }, }, - }, - }); + }), + ); expect(screen.getByText('Add suggested NFTs')).toBeInTheDocument(); expect(screen.getByText('https://www.opensea.io')).toBeInTheDocument(); @@ -118,29 +121,35 @@ describe('ConfirmAddSuggestedNFT Component', () => { expect(screen.getByRole('button', { name: 'Add NFT' })).toBeInTheDocument(); }); - it('should match snapshot', () => { - const container = renderComponent({ - 1: { - id: '1', - origin: 'https://www.opensea.io', - time: 1, - type: ApprovalType.WatchAsset, - requestData: { - asset: { - address: '0x8b175474e89094c44da98b954eedeac495271d0a', - name: 'CryptoKitty', - tokenId: '15', - standard: 'ERC721', + it('should match snapshot', async () => { + let container; + await act( + async () => + (container = renderComponent({ + 1: { + id: '1', + origin: 'https://www.opensea.io', + time: 1, + type: ApprovalType.WatchAsset, + requestData: { + asset: { + address: '0x8b175474e89094c44da98b954eedeac495271d0a', + name: 'CryptoKitty', + tokenId: '15', + standard: 'ERC721', + }, + }, }, - }, - }, - }); + })), + ); expect(container).toMatchSnapshot(); }); - it('should render a list of suggested NFTs', () => { - renderComponent({ ...PENDING_NFT_APPROVALS, ...PENDING_TOKEN_APPROVALS }); + it('should render a list of suggested NFTs', async () => { + await act(async () => + renderComponent({ ...PENDING_NFT_APPROVALS, ...PENDING_TOKEN_APPROVALS }), + ); for (const { requestData: { asset }, @@ -215,4 +224,60 @@ describe('ConfirmAddSuggestedNFT Component', () => { }), ); }); + + it('should show suggested NFTs with default image', async () => { + await act(async () => + renderComponent({ + 1: { + id: '1', + origin: 'https://www.opensea.io', + time: 1, + type: ApprovalType.WatchAsset, + requestData: { + asset: { + address: '0x8b175474e89094c44da98b954eedeac495271d0a', + name: 'CryptoKitty', + tokenId: '15', + standard: 'ERC721', + }, + }, + }, + }), + ); + + expect(screen.getByText('CryptoKitty')).toBeInTheDocument(); + expect(screen.getByText(`#15`)).toBeInTheDocument(); + expect(screen.getAllByRole('img')).toHaveLength(1); + const defaultImg = screen.getByTestId(`nft-default-image`); + expect(defaultImg).toBeInTheDocument(); + }); + + it('should show suggested NFTs with image', async () => { + const expectedRes = + 'https://bafybeieazx4q4ofby24w6n6ftmpad65k4u3vkavv6qnmsazwoe6gaced7m.ipfs.dweb.link/728.png'; + + jest.spyOn(util, 'getAssetImageURL').mockResolvedValue(expectedRes); + await act(async () => + renderComponent({ + 1: { + id: '1', + origin: 'https://www.opensea.io', + time: 1, + type: ApprovalType.WatchAsset, + requestData: { + asset: { + address: '0x8b175474e89094c44da98b954eedeac495271d0a', + name: 'CryptoKitty', + tokenId: '15', + standard: 'ERC721', + }, + }, + }, + }), + ); + + expect(screen.getByText('CryptoKitty')).toBeInTheDocument(); + expect(screen.getByText(`#15`)).toBeInTheDocument(); + expect(screen.getAllByRole('img')).toHaveLength(2); + }); }); diff --git a/ui/pages/confirmations/components/confirm-page-container/confirm-page-container-content/confirm-page-container-summary/confirm-page-container-summary.component.js b/ui/pages/confirmations/components/confirm-page-container/confirm-page-container-content/confirm-page-container-summary/confirm-page-container-summary.component.js index 6df86587abce..4d5a83763213 100644 --- a/ui/pages/confirmations/components/confirm-page-container/confirm-page-container-content/confirm-page-container-summary/confirm-page-container-summary.component.js +++ b/ui/pages/confirmations/components/confirm-page-container/confirm-page-container-content/confirm-page-container-summary/confirm-page-container-summary.component.js @@ -16,7 +16,7 @@ import InfoTooltip from '../../../../../../components/ui/info-tooltip'; import NicknamePopovers from '../../../../../../components/app/modals/nickname-popovers'; import { ORIGIN_METAMASK } from '../../../../../../../shared/constants/app'; import SiteOrigin from '../../../../../../components/ui/site-origin'; -import { getAssetImageURL } from '../../../../../../helpers/utils/util'; +import useGetAssetImageUrl from '../../../../../../hooks/useGetAssetImageUrl'; const ConfirmPageContainerSummary = (props) => { const { @@ -36,6 +36,7 @@ const ConfirmPageContainerSummary = (props) => { const ipfsGateway = useSelector(getIpfsGateway); const txData = useSelector(txDataSelector); + const nftImageURL = useGetAssetImageUrl(image, ipfsGateway); const { txParams = {} } = txData; const { to: txParamsToAddress } = txParams; @@ -66,14 +67,12 @@ const ConfirmPageContainerSummary = (props) => { const checksummedAddress = toChecksumHexAddress(contractAddress); const renderImage = () => { - const imagePath = getAssetImageURL(image, ipfsGateway); - if (image) { return ( ); } else if (contractAddress) { diff --git a/yarn.lock b/yarn.lock index adc43681e805..5fd8f17c33a1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4752,7 +4752,7 @@ __metadata: languageName: node linkType: hard -"@metamask/abi-utils@npm:^2.0.2, @metamask/abi-utils@npm:^2.0.4": +"@metamask/abi-utils@npm:^2.0.2, @metamask/abi-utils@npm:^2.0.3, @metamask/abi-utils@npm:^2.0.4": version: 2.0.4 resolution: "@metamask/abi-utils@npm:2.0.4" dependencies: @@ -4849,7 +4849,7 @@ __metadata: languageName: node linkType: hard -"@metamask/approval-controller@npm:^7.0.0, @metamask/approval-controller@npm:^7.0.1, @metamask/approval-controller@npm:^7.0.2": +"@metamask/approval-controller@npm:^7.0.0, @metamask/approval-controller@npm:^7.0.2": version: 7.0.2 resolution: "@metamask/approval-controller@npm:7.0.2" dependencies: @@ -4861,45 +4861,41 @@ __metadata: languageName: node linkType: hard -"@metamask/assets-controllers@npm:^36.0.0": - version: 36.0.0 - resolution: "@metamask/assets-controllers@npm:36.0.0" +"@metamask/assets-controllers@npm:^37.0.0": + version: 37.0.0 + resolution: "@metamask/assets-controllers@npm:37.0.0" dependencies: "@ethereumjs/util": "npm:^8.1.0" "@ethersproject/address": "npm:^5.7.0" "@ethersproject/bignumber": "npm:^5.7.0" "@ethersproject/contracts": "npm:^5.7.0" "@ethersproject/providers": "npm:^5.7.0" - "@metamask/abi-utils": "npm:^2.0.2" - "@metamask/accounts-controller": "npm:^17.2.0" - "@metamask/approval-controller": "npm:^7.0.1" - "@metamask/base-controller": "npm:^6.0.1" + "@metamask/abi-utils": "npm:^2.0.3" + "@metamask/base-controller": "npm:^6.0.2" "@metamask/contract-metadata": "npm:^2.4.0" - "@metamask/controller-utils": "npm:^11.0.1" + "@metamask/controller-utils": "npm:^11.0.2" "@metamask/eth-query": "npm:^4.0.0" - "@metamask/keyring-controller": "npm:^17.1.0" "@metamask/metamask-eth-abis": "npm:^3.1.1" - "@metamask/network-controller": "npm:^20.0.0" - "@metamask/polling-controller": "npm:^9.0.0" - "@metamask/preferences-controller": "npm:^13.0.0" + "@metamask/polling-controller": "npm:^9.0.1" "@metamask/rpc-errors": "npm:^6.3.1" - "@metamask/utils": "npm:^9.0.0" + "@metamask/utils": "npm:^9.1.0" "@types/bn.js": "npm:^5.1.5" "@types/uuid": "npm:^8.3.0" async-mutex: "npm:^0.5.0" bn.js: "npm:^5.2.1" cockatiel: "npm:^3.1.2" + immer: "npm:^9.0.6" lodash: "npm:^4.17.21" - multiformats: "npm:^9.5.2" + multiformats: "npm:^13.1.0" single-call-balance-checker-abi: "npm:^1.0.0" uuid: "npm:^8.3.2" peerDependencies: - "@metamask/accounts-controller": ^17.0.0 + "@metamask/accounts-controller": ^18.0.0 "@metamask/approval-controller": ^7.0.0 "@metamask/keyring-controller": ^17.0.0 "@metamask/network-controller": ^20.0.0 "@metamask/preferences-controller": ^13.0.0 - checksum: 10/7855bf544e77c4a1dc233748941981b9f09f1633cc1f7aac06cdc6555e7ee2690cff0866d55ae5ea012c6d05bf61511b39f886ae9b1c498a9154bf9520cdf199 + checksum: 10/89798930cb80a134263ce82db736feebd064fe6c999ddcf41ca86fad81cfadbb9e37d1919a6384aaf6d3aa0cb520684e7b8228da3b9bc1e70e7aea174a69c4ac languageName: node linkType: hard @@ -4980,7 +4976,7 @@ __metadata: languageName: node linkType: hard -"@metamask/controller-utils@npm:^11.0.0, @metamask/controller-utils@npm:^11.0.1, @metamask/controller-utils@npm:^11.0.2, @metamask/controller-utils@npm:^11.1.0, @metamask/controller-utils@npm:^11.2.0, @metamask/controller-utils@npm:^11.3.0": +"@metamask/controller-utils@npm:^11.0.0, @metamask/controller-utils@npm:^11.0.2, @metamask/controller-utils@npm:^11.1.0, @metamask/controller-utils@npm:^11.2.0, @metamask/controller-utils@npm:^11.3.0": version: 11.3.0 resolution: "@metamask/controller-utils@npm:11.3.0" dependencies: @@ -6020,20 +6016,19 @@ __metadata: languageName: node linkType: hard -"@metamask/polling-controller@npm:^9.0.0": - version: 9.0.0 - resolution: "@metamask/polling-controller@npm:9.0.0" +"@metamask/polling-controller@npm:^9.0.1": + version: 9.0.1 + resolution: "@metamask/polling-controller@npm:9.0.1" dependencies: - "@metamask/base-controller": "npm:^6.0.0" - "@metamask/controller-utils": "npm:^11.0.0" - "@metamask/network-controller": "npm:^20.0.0" - "@metamask/utils": "npm:^8.3.0" + "@metamask/base-controller": "npm:^6.0.2" + "@metamask/controller-utils": "npm:^11.0.2" + "@metamask/utils": "npm:^9.1.0" "@types/uuid": "npm:^8.3.0" fast-json-stable-stringify: "npm:^2.1.0" uuid: "npm:^8.3.2" peerDependencies: "@metamask/network-controller": ^20.0.0 - checksum: 10/5e3abd84dcb3fb128add949bbda78a34d509f56b71d27f60f8ff3fd5de116424dc9e202c812c5f3c233d1489740c376b9de47f28faa387e64a198d246f962baf + checksum: 10/e9e8c51013290a2e4b2817ba1e0915783474f6a55fe614e20acf92bf707e300bec1fa612c8019ae9afe9635d018fb5d5b106c8027446ba12767220db91cf1ee5 languageName: node linkType: hard @@ -6065,18 +6060,6 @@ __metadata: languageName: node linkType: hard -"@metamask/preferences-controller@npm:^13.0.0": - version: 13.0.0 - resolution: "@metamask/preferences-controller@npm:13.0.0" - dependencies: - "@metamask/base-controller": "npm:^6.0.0" - "@metamask/controller-utils": "npm:^11.0.0" - peerDependencies: - "@metamask/keyring-controller": ^17.0.0 - checksum: 10/99d39de8adb9a43bbb5972d70feabfba6bac0c1d71d1567838e506e661f7fd293205e2c83361f7166ce72b38437d79cd0da8a7a14dd584f59b5f583dcb4d769b - languageName: node - linkType: hard - "@metamask/profile-sync-controller@npm:^0.8.0": version: 0.8.0 resolution: "@metamask/profile-sync-controller@npm:0.8.0" @@ -26138,7 +26121,7 @@ __metadata: "@metamask/announcement-controller": "npm:^7.0.0" "@metamask/api-specs": "npm:^0.9.3" "@metamask/approval-controller": "npm:^7.0.0" - "@metamask/assets-controllers": "npm:^36.0.0" + "@metamask/assets-controllers": "npm:^37.0.0" "@metamask/auto-changelog": "npm:^2.1.0" "@metamask/base-controller": "npm:^7.0.0" "@metamask/bitcoin-wallet-snap": "npm:^0.6.0" @@ -27471,7 +27454,14 @@ __metadata: languageName: node linkType: hard -"multiformats@npm:^9.4.2, multiformats@npm:^9.5.2": +"multiformats@npm:^13.1.0": + version: 13.2.2 + resolution: "multiformats@npm:13.2.2" + checksum: 10/6e673320e9b06d5fdbbf2bde0d3132f13fac94fb40f36d646265b5c38eba4a28c40a2c76b4efa0c1a23517fe87320e540e9ef7f28d71c1cc3239c91bf6770ce6 + languageName: node + linkType: hard + +"multiformats@npm:^9.4.2": version: 9.9.0 resolution: "multiformats@npm:9.9.0" checksum: 10/ad55c7d480d22f4258a68fd88aa2aab744fe0cb1e68d732fc886f67d858b37e3aa6c2cec12b2960ead7730d43be690931485238569952d8a3d7f90fdc726c652 From 978ed66f063720b166800ee54c11d3974b1728c6 Mon Sep 17 00:00:00 2001 From: seaona <54408225+seaona@users.noreply.github.com> Date: Wed, 18 Sep 2024 18:19:34 +0200 Subject: [PATCH 22/37] chore: add wallet state injection and `yarn start:with-state` script (#26222) ## **Description** With this PR, we add a new script that you can use to build the wallet in dev mode with a preloaded state. ### Default Fixtures: - Run `yarn start:with-state` - should load a wallet with the SRP and password set in the metamaskrc file, with several controllers data (contacts, transactions, notifications...) defined in the fixtures-flags file. ### Terminal Help: - Run `yarn start:with-state --help` to see the available fixture flags to customize ![Screenshot from 2024-09-03 09-30-20](https://github.com/user-attachments/assets/f81c78fc-de3a-490f-a7e0-91b30673f778) ### Custom Fixtures: - Pass any available fixture flag with your own value to customize the fixtures that will be injected into state. Ie `yarn start:with-state --withAccounts=12 --withContacts=13` https://github.com/user-attachments/assets/342ff1b4-2bbe-41da-935b-37ca5f3bbc05 ### Future Work: This sets the base for adding and customizing more wallet state. We can expand this as much as we want. Here are the listed possible future tasks: - [ ] Add unapproved transactions - [ ] Add different kind of transactions (Send Token, Send NFT, Send Legacy etc) - [ ] Add unapproved signatures - [ ] Add read notifications - [ ] Add different kind of notifications (send, received..) ## **Related issues** Fixes: ## **Manual testing steps** Check main functionality: 1. Add a `PASSWORD` and a `TEST_SRP` to your metamaskrc file 2. Run `yarn start:with-state` 3. Upload a fresh MM -- see all the fixtures data is loaded =============================== Check flags validation: 1. Run `yarn start:with-state --help` 2. See available fixtures 3. Run with a non-existing flag -- should see an error 4. Run with an invalid flag value type -- should see an error =============================== Check custom fixtures: 1. Apply your customized fixtures `yarn start:with-state --withErc20Tokens=false --withXYZ=123 ...` 2. Upload a fresh MM -- see your wallet json state is applied Co-authored-by: Howard Braham --- README.md | 7 +- app/scripts/background.js | 10 +- app/scripts/fixtures/generate-wallet-state.js | 318 ++++++++++++++++++ app/scripts/fixtures/with-address-book.js | 45 +++ app/scripts/fixtures/with-app-state.js | 3 + .../fixtures/with-confirmed-transactions.js | 99 ++++++ app/scripts/fixtures/with-erc20-tokens.js | 87 +++++ app/scripts/fixtures/with-networks.js | 130 +++++++ app/scripts/fixtures/with-preferences.js | 40 +++ .../fixtures/with-unread-notifications.js | 57 ++++ app/scripts/skip-onboarding.js | 142 -------- app/scripts/start-with-wallet-state.mjs | 122 +++++++ builds.yml | 2 +- package.json | 2 +- test/e2e/constants.ts | 5 + test/e2e/fixture-builder.js | 24 +- 16 files changed, 940 insertions(+), 153 deletions(-) create mode 100644 app/scripts/fixtures/generate-wallet-state.js create mode 100644 app/scripts/fixtures/with-address-book.js create mode 100644 app/scripts/fixtures/with-app-state.js create mode 100644 app/scripts/fixtures/with-confirmed-transactions.js create mode 100644 app/scripts/fixtures/with-erc20-tokens.js create mode 100644 app/scripts/fixtures/with-networks.js create mode 100644 app/scripts/fixtures/with-preferences.js create mode 100644 app/scripts/fixtures/with-unread-notifications.js delete mode 100644 app/scripts/skip-onboarding.js create mode 100644 app/scripts/start-with-wallet-state.mjs diff --git a/README.md b/README.md index 531a1e4fc3b6..d70eb03a32b2 100644 --- a/README.md +++ b/README.md @@ -83,8 +83,13 @@ If you are using VS Code and are unable to make commits from the source control To start a development build (e.g. with logging and file watching) run `yarn start`. -Alternatively, one can skip wallet onboarding and preload the vault state with a specific SRP by adding `TEST_SRP=''` and `PASSWORD=''` to the `.metamaskrc` file and running `yarn start:skip-onboarding`. +#### Development build with wallet state +You can start a development build with a preloaded wallet state, by adding `TEST_SRP=''` and `PASSWORD=''` to the `.metamaskrc` file. Then you have the following options: +1. Start the wallet with the default fixture flags, by running `yarn start:with-state`. +2. Check the list of available fixture flags, by running `yarn start:with-state --help`. +3. Start the wallet with custom fixture flags, by running `yarn start:with-state --FIXTURE_NAME=VALUE` for example `yarn start:with-state --withAccounts=100`. You can pass as many flags as you want. The rest of the fixtures will take the default values. +#### Development build with Webpack You can also start a development build using the `yarn webpack` command, or `yarn webpack --watch`. This uses an alternative build system that is much faster, but not yet production ready. See the [Webpack README](./development/webpack/README.md) for more information. #### React and Redux DevTools diff --git a/app/scripts/background.js b/app/scripts/background.js index 2a29de9af601..3f513e142729 100644 --- a/app/scripts/background.js +++ b/app/scripts/background.js @@ -77,7 +77,7 @@ import { getPlatform, shouldEmitDappViewedEvent, } from './lib/util'; -import { generateSkipOnboardingState } from './skip-onboarding'; +import { generateWalletState } from './fixtures/generate-wallet-state'; import { createOffscreen } from './offscreen'; /* eslint-enable import/first */ @@ -559,15 +559,15 @@ export async function loadStateFromPersistence() { // migrations const migrator = new Migrator({ migrations, - defaultVersion: process.env.SKIP_ONBOARDING + defaultVersion: process.env.WITH_STATE ? FIXTURE_STATE_METADATA_VERSION : null, }); migrator.on('error', console.warn); - if (process.env.SKIP_ONBOARDING) { - const skipOnboardingStateOverrides = await generateSkipOnboardingState(); - firstTimeState = { ...firstTimeState, ...skipOnboardingStateOverrides }; + if (process.env.WITH_STATE) { + const stateOverrides = await generateWalletState(); + firstTimeState = { ...firstTimeState, ...stateOverrides }; } // read from disk diff --git a/app/scripts/fixtures/generate-wallet-state.js b/app/scripts/fixtures/generate-wallet-state.js new file mode 100644 index 000000000000..43d8010bcea8 --- /dev/null +++ b/app/scripts/fixtures/generate-wallet-state.js @@ -0,0 +1,318 @@ +import { ControllerMessenger } from '@metamask/base-controller'; +import { KeyringController } from '@metamask/keyring-controller'; +import { wordlist } from '@metamask/scure-bip39/dist/wordlists/english'; +import { UI_NOTIFICATIONS } from '../../../shared/notifications'; +import { E2E_SRP, defaultFixture } from '../../../test/e2e/default-fixture'; +import FixtureBuilder from '../../../test/e2e/fixture-builder'; +import { encryptorFactory } from '../lib/encryptor-factory'; +import { FIXTURES_APP_STATE } from './with-app-state'; +import { FIXTURES_NETWORKS } from './with-networks'; +import { FIXTURES_PREFERENCES } from './with-preferences'; +import { FIXTURES_ERC20_TOKENS } from './with-erc20-tokens'; +import { withAddressBook } from './with-address-book'; +import { withConfirmedTransactions } from './with-confirmed-transactions'; +import { withUnreadNotifications } from './with-unread-notifications'; + +const FIXTURES_CONFIG = process.env.WITH_STATE + ? JSON.parse(process.env.WITH_STATE) + : {}; + +/** + * Generates the wallet state based on the fixtures set in the environment variable. + * + * @returns {Promise} The generated wallet state. + */ +export async function generateWalletState() { + const fixtureBuilder = new FixtureBuilder({ inputChainId: '0xaa36a7' }); + + const { vault, accounts } = await generateVaultAndAccount( + process.env.TEST_SRP || E2E_SRP, + process.env.PASSWORD, + ); + + fixtureBuilder + .withAccountsController(generateAccountsControllerState(accounts)) + .withAddressBookController(generateAddressBookControllerState()) + .withAnnouncementController(generateAnnouncementControllerState()) + .withAppStateController(FIXTURES_APP_STATE) + .withKeyringController(generateKeyringControllerState(vault)) + .withNetworkController(generateNetworkControllerState()) + .withNotificationServicesController( + generateNotificationControllerState(accounts[0]), + ) + .withPreferencesController(generatePreferencesControllerState(accounts)) + .withTokensController(generateTokensControllerState(accounts[0])) + .withTransactionController(generateTransactionControllerState(accounts[0])); + + return fixtureBuilder.fixture.data; +} + +/** + * Generates a new vault and account based on the provided seed phrase and password. + * + * @param {string} encodedSeedPhrase - The encoded seed phrase. + * @param {string} password - The password for the vault. + * @returns {Promise<{vault: object, account: string}>} The generated vault and account. + */ +async function generateVaultAndAccount(encodedSeedPhrase, password) { + const controllerMessenger = new ControllerMessenger(); + const keyringControllerMessenger = controllerMessenger.getRestricted({ + name: 'KeyringController', + }); + const krCtrl = new KeyringController({ + encryptor: encryptorFactory(600_000), + messenger: keyringControllerMessenger, + }); + + const seedPhraseAsBuffer = Buffer.from(encodedSeedPhrase); + const _convertMnemonicToWordlistIndices = (mnemonic) => { + const indices = mnemonic + .toString() + .split(' ') + .map((word) => wordlist.indexOf(word)); + return new Uint8Array(new Uint16Array(indices).buffer); + }; + + await krCtrl.createNewVaultAndRestore( + password, + _convertMnemonicToWordlistIndices(seedPhraseAsBuffer), + ); + + const accounts = []; + const account = krCtrl.state.keyrings[0].accounts[0]; + accounts.push(account); + + for (let i = 1; i < FIXTURES_CONFIG.withAccounts; i++) { + const newAccount = await krCtrl.addNewAccount(i); + accounts.push(newAccount); + } + const { vault } = krCtrl.state; + + return { vault, accounts }; +} + +/** + * Generates the state for the KeyringController. + * + * @param {object} vault - The vault object. + * @returns {object} The generated KeyringController state. + */ +function generateKeyringControllerState(vault) { + console.log('Generating KeyringController state'); + + return { + ...defaultFixture().data.KeyringController, + vault, + }; +} + +/** + * Generates the state for the AccountsController. + * + * @param {string} accounts - The account addresses. + * @returns {object} The generated AccountsController state. + */ +function generateAccountsControllerState(accounts) { + console.log('Generating AccountsController state'); + const internalAccounts = { + selectedAccount: 'account-id', + accounts: {}, + }; + + accounts.forEach((account, index) => { + internalAccounts.accounts[`acount-id-${index}`] = { + selectedAccount: 'account-id', + id: 'account-id', + address: account, + metadata: { + name: `Account ${index + 1}`, + lastSelected: 1665507600000, + keyring: { + type: 'HD Key Tree', + }, + }, + options: {}, + methods: [ + 'personal_sign', + 'eth_signTransaction', + 'eth_signTypedData_v1', + 'eth_signTypedData_v3', + 'eth_signTypedData_v4', + ], + type: 'eip155:eoa', + }; + }); + return { + internalAccounts, + }; +} + +/** + * Generates the state for the AddressBookController. + * + * @returns {object} The generated AddressBookController state. + */ +function generateAddressBookControllerState() { + console.log('Generating AddressBookController state'); + + const numEntries = FIXTURES_CONFIG.withContacts; + if (numEntries > 0) { + return withAddressBook(numEntries); + } + + return {}; +} + +/** + * Generates the state for the AnnouncementController. + * All the what's new modals are dismissed for convenience. + * + * @returns {object} The generated AnnouncementController state. + */ +function generateAnnouncementControllerState() { + console.log('Generating AnnouncementController state'); + + const allAnnouncementsAlreadyShown = Object.keys(UI_NOTIFICATIONS).reduce( + (acc, val) => { + acc[val] = { + ...UI_NOTIFICATIONS[val], + isShown: true, + }; + return acc; + }, + {}, + ); + return allAnnouncementsAlreadyShown; +} + +/** + * Generates the state for the NotificationController. + * + * @param {string} account - The account address to add the notifications to. + * @returns {object} The generated NotificationController state. + */ +function generateNotificationControllerState(account) { + console.log('Generating NotificationController state'); + + let notifications = {}; + + if (FIXTURES_CONFIG.withUnreadNotifications > 0) { + notifications = withUnreadNotifications( + account, + FIXTURES_CONFIG.withUnreadNotifications, + ); + } + return notifications; +} + +/** + * Generates the state for the NetworkController. + * Sepolia is always pre-loaded and set as the active provider. + * + * @returns {object} The generated NetworkController state. + */ +function generateNetworkControllerState() { + console.log('Generating NetworkController state'); + + const defaultNetworkState = { + ...defaultFixture().data.NetworkController, + networkConfigurations: {}, + networksMetadata: { + sepolia: { + EIPS: { + 1559: true, + }, + status: 'available', + }, + }, + selectedNetworkClientId: 'sepolia', + }; + + if (FIXTURES_CONFIG.withNetworks) { + return { + ...defaultNetworkState, + ...FIXTURES_NETWORKS, + }; + } + return defaultNetworkState; +} + +/** + * Generates the state for the PreferencesController. + * + * @param {string} accounts - The account addresses. + * @returns {object} The generated PreferencesController state. + */ +function generatePreferencesControllerState(accounts) { + console.log('Generating PreferencesController state'); + let preferencesControllerState = {}; + + if (FIXTURES_CONFIG.withPreferences) { + preferencesControllerState = FIXTURES_PREFERENCES; + } + + // Add account identities + preferencesControllerState.identities = Object.assign( + ...accounts.map((address, index) => ({ + [address]: { + address, + lastSelected: 1725363500048, + name: `Account ${index + 1}`, + }, + })), + ); + + preferencesControllerState.lostIdentities = Object.assign( + ...accounts.map((address, index) => ({ + [address]: { + address, + lastSelected: 1725363500048, + name: `Account ${index + 1}`, + }, + })), + ); + + return preferencesControllerState; +} + +/** + * Generates the state for the TokensController. + * + * @param {string} account - The account address to add the transactions to. + * @returns {object} The generated TokensController state. + */ +function generateTokensControllerState(account) { + console.log('Generating TokensController state'); + + const tokens = FIXTURES_ERC20_TOKENS; + if (FIXTURES_CONFIG.withErc20Tokens) { + // Update `myAccount` key for the account address + for (const network of Object.values(tokens.allTokens)) { + network[account] = network.myAccount; + delete network.myAccount; + } + return tokens; + } + return {}; +} + +/** + * Generates the state for the TransactionController. + * + * @param {string} account - The account address to add the transactions to. + * @returns {object} The generated TransactionController state. + */ +function generateTransactionControllerState(account) { + console.log('Generating TransactionController state'); + + let transactions = {}; + + if (FIXTURES_CONFIG.withConfirmedTransactions > 0) { + transactions = withConfirmedTransactions( + account, + FIXTURES_CONFIG.withConfirmedTransactions, + ); + } + + return transactions; +} diff --git a/app/scripts/fixtures/with-address-book.js b/app/scripts/fixtures/with-address-book.js new file mode 100644 index 000000000000..f8b72ceae17a --- /dev/null +++ b/app/scripts/fixtures/with-address-book.js @@ -0,0 +1,45 @@ +import { CHAIN_IDS } from '../../../shared/constants/network'; + +/** + * Generates a random Ethereum address. + * + * @returns {string} A randomly generated Ethereum address. + */ +const generateRandomAddress = () => { + const hexChars = '0123456789abcdef'; + let address = '0x'; + for (let i = 0; i < 40; i++) { + address += hexChars[Math.floor(Math.random() * 16)]; + } + + return address; +}; + +/** + * Generates an address book with a specified number of entries, for the supported networks. + * + * @param {number} numEntries - The number of address book entries to generate for each network. + * @returns {object} The generated address book object. + */ +export const withAddressBook = (numEntries) => { + const networks = [CHAIN_IDS.MAINNET, CHAIN_IDS.SEPOLIA]; + + const addressBook = {}; + + networks.forEach((network) => { + addressBook[network] = {}; + + for (let i = 1; i <= numEntries; i++) { + const address = generateRandomAddress(); + addressBook[network][address] = { + address, + chainId: network, + isEns: false, + memo: '', + name: `Contact ${i}`, + }; + } + }); + + return { addressBook }; +}; diff --git a/app/scripts/fixtures/with-app-state.js b/app/scripts/fixtures/with-app-state.js new file mode 100644 index 000000000000..eff071079c81 --- /dev/null +++ b/app/scripts/fixtures/with-app-state.js @@ -0,0 +1,3 @@ +export const FIXTURES_APP_STATE = { + showProductTour: false, +}; diff --git a/app/scripts/fixtures/with-confirmed-transactions.js b/app/scripts/fixtures/with-confirmed-transactions.js new file mode 100644 index 000000000000..29a40b8185f7 --- /dev/null +++ b/app/scripts/fixtures/with-confirmed-transactions.js @@ -0,0 +1,99 @@ +import { v4 as uuidv4 } from 'uuid'; +import { CHAIN_IDS } from '../../../shared/constants/network'; + +/** + * Generates a specified number of confirmed transactions for each network. + * + * @param {string} from - The address from which the transactions are sent. + * @param {number} numEntries - The number of transactions to generate for each network. + * @returns {object} The generated transactions object. + */ +export const withConfirmedTransactions = (from, numEntries) => { + const networks = [CHAIN_IDS.MAINNET, CHAIN_IDS.SEPOLIA]; + const transactions = {}; + + networks.forEach((network) => { + for (let i = 0; i < numEntries; i++) { + const id = uuidv4(); + const transaction = { + chainId: network, + dappSuggestedGasFees: { + gas: '0x5208', + maxFeePerGas: '0x59682f0c', + maxPriorityFeePerGas: '0x59682f00', + }, + history: [ + { + chainId: network, + dappSuggestedGasFees: { + gas: '0x5208', + maxFeePerGas: '0x59682f0c', + maxPriorityFeePerGas: '0x59682f00', + }, + id, + loadingDefaults: true, + origin: 'https://metamask.github.io', + status: 'confirmed', + time: Date.now(), + txParams: { + from, + gas: '0x5208', + maxFeePerGas: '0x59682f0c', + maxPriorityFeePerGas: '0x59682f00', + to: '0x2f318c334780961fb129d2a6c30d0763d9a5c970', + value: '0x29a2241af62c0000', + }, + type: 'simpleSend', + }, + [ + { + note: 'Added new confirmed transaction.', + op: 'replace', + path: '/loadingDefaults', + timestamp: Date.now(), + value: false, + }, + { + op: 'add', + path: '/simulationData', + value: { + error: { + code: 'disabled', + message: 'Simulation disabled', + }, + tokenBalanceChanges: [], + }, + note: 'TransactionController#updateSimulationData - Update simulation data', + timestamp: Date.now(), + }, + ], + ], + simulationData: { + error: { + code: 'disabled', + message: 'Simulation disabled', + }, + tokenBalanceChanges: [], + }, + id, + loadingDefaults: false, + origin: 'https://metamask.github.io', + status: 'confirmed', + time: Date.now(), + txParams: { + from, + gas: '0x5208', + maxFeePerGas: '0x59682f0c', + maxPriorityFeePerGas: '0x59682f00', + to: '0x2f318c334780961fb129d2a6c30d0763d9a5c970', + value: '0x29a2241af62c0000', + }, + type: 'simpleSend', + }; + + transactions[id] = transaction; + } + }); + + return { transactions }; +}; diff --git a/app/scripts/fixtures/with-erc20-tokens.js b/app/scripts/fixtures/with-erc20-tokens.js new file mode 100644 index 000000000000..8088aef9e4c4 --- /dev/null +++ b/app/scripts/fixtures/with-erc20-tokens.js @@ -0,0 +1,87 @@ +const _TOKENS = [ + { + address: '0x6B175474E89094C44Da98b954EedeAC495271d0F', + symbol: 'DAI', + decimals: 18, + image: + 'https://static.metafi.codefi.network/api/v1/tokenIcons/1/0x6b175474e89094c44da98b954eedeac495271d0f.png', + isERC721: false, + aggregators: [], + }, + { + address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', + symbol: 'USDC', + decimals: 6, + image: + 'https://static.metafi.codefi.network/api/v1/tokenIcons/1/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48.png', + isERC721: false, + aggregators: [], + }, + { + address: '0xdAC17F958D2ee523a2206206994597C13D831ec7', + symbol: 'USDT', + decimals: 6, + image: + 'https://static.metafi.codefi.network/api/v1/tokenIcons/1/0xdAC17F958D2ee523a2206206994597C13D831ec7.png', + isERC721: false, + aggregators: [], + }, + { + address: '0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F', + symbol: 'SNX', + decimals: 18, + image: + 'https://static.metafi.codefi.network/api/v1/tokenIcons/1/0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F.png', + isERC721: false, + aggregators: [], + }, + { + address: '0x111111111117dC0aa78b770fA6A738034120C302', + symbol: '1INCH', + decimals: 18, + image: + 'https://static.metafi.codefi.network/api/v1/tokenIcons/1/0x111111111117dC0aa78b770fA6A738034120C302.png', + isERC721: false, + aggregators: [], + }, + { + address: '0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0', + symbol: 'MATIC', + decimals: 18, + image: + 'https://static.metafi.codefi.network/api/v1/tokenIcons/1/0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0.png', + isERC721: false, + aggregators: [], + }, + { + address: '0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE', + symbol: 'SHIB', + decimals: 18, + image: + 'https://static.metafi.codefi.network/api/v1/tokenIcons/1/0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE.png', + isERC721: false, + aggregators: [], + }, + { + address: '0xFd09911130e6930Bf87F2B0554c44F400bD80D3e', + symbol: 'ETHIX', + decimals: 18, + image: + 'https://static.metafi.codefi.network/api/v1/tokenIcons/1/0xFd09911130e6930Bf87F2B0554c44F400bD80D3e.png', + isERC721: false, + aggregators: [], + }, +]; + +export const FIXTURES_ERC20_TOKENS = { + tokens: _TOKENS, + ignoredTokens: [], + detectedTokens: [], + allTokens: { + '0x1': { + myAccount: _TOKENS, + }, + }, + allIgnoredTokens: {}, + allDetectedTokens: {}, +}; diff --git a/app/scripts/fixtures/with-networks.js b/app/scripts/fixtures/with-networks.js new file mode 100644 index 000000000000..1efb15e25f3c --- /dev/null +++ b/app/scripts/fixtures/with-networks.js @@ -0,0 +1,130 @@ +export const FIXTURES_NETWORKS = { + providerConfig: { + chainId: '0xaa36a7', + rpcPrefs: { + blockExplorerUrl: 'https://sepolia.etherscan.io', + }, + ticker: 'SepoliaETH', + type: 'sepolia', + }, + networkConfigurations: { + networkConfigurationId: { + chainId: '0xaa36a7', + nickname: 'Sepolia', + rpcPrefs: {}, + rpcUrl: 'https://sepolia.infura.io/v3/', + ticker: 'SepoliaETH', + networkConfigurationId: 'networkConfigurationId', + }, + optimism: { + chainId: '0xa', + id: 'optimism', + nickname: 'OP Mainnet', + rpcPrefs: { + blockExplorerUrl: 'https://optimistic.etherscan.io/', + imageUrl: './images/optimism.svg', + }, + rpcUrl: 'https://optimism-mainnet.infura.io/v3/', + ticker: 'ETH', + }, + base: { + chainId: '0x2105', + id: 'base', + nickname: 'Base Mainnet', + rpcPrefs: { + blockExplorerUrl: 'https://basescan.org', + imageUrl: './images/base.svg', + }, + rpcUrl: 'https://mainnet.base.org', + ticker: 'ETH', + }, + polygon: { + chainId: '0x89', + id: 'polygon', + nickname: 'Polygon Mainnet', + rpcPrefs: { + blockExplorerUrl: 'https://polygonscan.com/', + imageUrl: './images/matic-token.svg', + }, + rpcUrl: 'https://polygon-mainnet.infura.io/v3/', + ticker: 'MATIC', + }, + binance: { + chainId: '0x38', + id: 'binance', + nickname: 'BNB Chain', + rpcPrefs: { + blockExplorerUrl: 'https://bscscan.com/', + imageUrl: './images/bnb.svg', + }, + rpcUrl: 'https://bsc-dataseed.binance.org/', + ticker: 'BNB', + }, + gnosis: { + id: 'gnosis', + rpcUrl: 'https://rpc.gnosischain.com', + chainId: '0x64', + ticker: 'XDAI', + nickname: 'Gnosis', + rpcPrefs: { + blockExplorerUrl: 'https://gnosisscan.io', + imageUrl: './images/gnosis.svg', + }, + }, + arbitrum: { + id: 'arbitrum', + rpcUrl: 'https://arbitrum-mainnet.infura.io/v3/', + chainId: '0xa4b1', + ticker: 'ETH', + nickname: 'Arbitrum One', + rpcPrefs: { + blockExplorerUrl: 'https://explorer.arbitrum.io', + imageUrl: './images/arbitrum.svg', + }, + }, + avalanche: { + id: 'avalanche', + rpcUrl: 'https://avalanche-mainnet.infura.io/v3/', + chainId: '0xa86a', + ticker: 'AVAX', + nickname: 'Avalanche Network C-Chain', + rpcPrefs: { + blockExplorerUrl: 'https://snowtrace.io/', + imageUrl: './images/avax-token.svg', + }, + }, + celo: { + id: 'celo', + rpcUrl: 'https://celo-mainnet.infura.io/v3/', + chainId: '0xa4ec', + ticker: 'CELO', + nickname: 'Celo Mainnet', + rpcPrefs: { + blockExplorerUrl: 'https://celoscan.io', + imageUrl: './images/celo.svg', + }, + }, + zkSync: { + id: 'zkSync', + rpcUrl: 'https://mainnet.era.zksync.io', + chainId: '0x144', + ticker: 'ETH', + nickname: 'zkSync Era Mainnet', + rpcPrefs: { + blockExplorerUrl: 'https://explorer.zksync.io/', + imageUrl: './images/zk-sync.svg', + }, + }, + localhost: { + id: 'localhost', + rpcUrl: 'http://localhost:8545', + chainId: '0x539', + ticker: 'ETH', + nickname: 'Localhost 8545', + rpcPrefs: { + blockExplorerUrl: '', + imageUrl: '', + }, + }, + }, +}; diff --git a/app/scripts/fixtures/with-preferences.js b/app/scripts/fixtures/with-preferences.js new file mode 100644 index 000000000000..8d1e4293e8a4 --- /dev/null +++ b/app/scripts/fixtures/with-preferences.js @@ -0,0 +1,40 @@ +export const FIXTURES_PREFERENCES = { + preferences: { + hideZeroBalanceTokens: false, + showExtensionInFullSizeView: false, + showFiatInTestnets: true, + showTestNetworks: true, + smartTransactionsOptInStatus: true, + useNativeCurrencyAsPrimaryCurrency: true, + petnamesEnabled: true, + redesignedConfirmationsEnabled: true, + featureNotificationsEnabled: true, + showTokenAutodetectModal: false, + showNftAutodetectModal: false, + isRedesignedConfirmationsDeveloperEnabled: false, + showConfirmationAdvancedDetails: false, + }, + featureFlags: { + sendHexData: true, + }, + firstTimeFlowType: 'import', + completedOnboarding: true, + currentLocale: 'en', + knownMethodData: {}, + use4ByteResolution: true, + participateInMetaMetrics: true, + dataCollectionForMarketing: true, + useNftDetection: true, + useNonceField: true, + usePhishDetect: true, + useTokenDetection: true, + useCurrencyRateCheck: true, + useMultiAccountBalanceChecker: true, + useRequestQueue: true, + theme: 'light', + useExternalNameSources: true, + useTransactionSimulations: true, + enableMV3TimestampSave: true, + useExternalServices: true, + isProfileSyncingEnabled: true, +}; diff --git a/app/scripts/fixtures/with-unread-notifications.js b/app/scripts/fixtures/with-unread-notifications.js new file mode 100644 index 000000000000..e99cefe43778 --- /dev/null +++ b/app/scripts/fixtures/with-unread-notifications.js @@ -0,0 +1,57 @@ +import { v4 as uuidv4 } from 'uuid'; + +/** + * Generates a specified number of unread notifications for the given account. + * + * @param {string} account - The account address to use in the notifications. + * @param {number} numNotifications - The number of unread notifications to generate. + * @returns {object} The generated unread notifications object. + */ +export const withUnreadNotifications = (account, numNotifications) => { + const notifications = []; + + for (let i = 0; i < numNotifications; i++) { + const id = uuidv4(); + const triggerId = uuidv4(); + const txHash = `0x${uuidv4().replace(/-/gu, '').padEnd(64, '0')}`; + + const notification = { + address: account, + block_number: 59796924, + block_timestamp: '1721922504', + chain_id: 1, + created_at: new Date().toISOString(), + data: { + to: account, + from: account, + kind: 'eth_received', + amount: { + eth: '0.000100000000000000', + usd: '0.27', + }, + network_fee: { + gas_price: '30000000078', + native_token_price_in_usd: '0.497927', + }, + }, + id, + trigger_id: triggerId, + tx_hash: txHash, + unread: true, + type: 'eth_received', + createdAt: new Date().toISOString(), + isRead: false, + }; + + notifications.push(notification); + } + + const notificationServicesController = { + isFeatureAnnouncementsEnabled: true, + isMetamaskNotificationsFeatureSeen: true, + isNotificationServicesEnabled: true, + metamaskNotificationsReadList: [], + metamaskNotificationsList: notifications, + }; + return notificationServicesController; +}; diff --git a/app/scripts/skip-onboarding.js b/app/scripts/skip-onboarding.js deleted file mode 100644 index 17ce107927ec..000000000000 --- a/app/scripts/skip-onboarding.js +++ /dev/null @@ -1,142 +0,0 @@ -import { ControllerMessenger } from '@metamask/base-controller'; -import { KeyringController } from '@metamask/keyring-controller'; -import { wordlist } from '@metamask/scure-bip39/dist/wordlists/english'; -import { UI_NOTIFICATIONS } from '../../shared/notifications'; -import { E2E_SRP, defaultFixture } from '../../test/e2e/default-fixture'; -import { encryptorFactory } from './lib/encryptor-factory'; - -export async function generateSkipOnboardingState() { - const state = defaultFixture('0xaa36a7').data; - - state.AppStateController = generateAppStateControllerState(); - state.AnnouncementController = generateAnnouncementControllerState(); - state.NetworkController = generateNetworkControllerState(); - - if (process.env.PASSWORD) { - const { vault, account } = await generateVaultAndAccount( - process.env.TEST_SRP || E2E_SRP, - process.env.PASSWORD, - ); - - state.KeyringController = generateKeyringControllerState(vault); - state.AccountsController = generateAccountsControllerState(account); - } - - return state; -} - -// dismiss product tour -function generateAppStateControllerState() { - return { - ...defaultFixture().data.AppStateController, - showProductTour: false, - }; -} - -// dismiss 'what's new' modals -function generateAnnouncementControllerState() { - const allAnnouncementsAlreadyShown = Object.keys(UI_NOTIFICATIONS).reduce( - (acc, val) => { - acc[val] = { - ...UI_NOTIFICATIONS[val], - isShown: true, - }; - return acc; - }, - {}, - ); - - return { - ...defaultFixture().data.AnnouncementController, - announcements: { - ...defaultFixture().data.AnnouncementController.announcements, - ...allAnnouncementsAlreadyShown, - }, - }; -} - -// configure 'Sepolia' network -// TODO: Support for local node -function generateNetworkControllerState() { - return { - ...defaultFixture().data.NetworkController, - networkConfigurations: { - networkConfigurationId: { - chainId: '0xaa36a7', - nickname: 'Sepolia', - rpcPrefs: {}, - rpcUrl: 'https://sepolia.infura.io/v3/6c21df2a8dcb4a77b9bbcc1b65ee9ded', - ticker: 'SepoliaETH', - networkConfigurationId: 'networkConfigurationId', - }, - }, - }; -} - -async function generateVaultAndAccount(encodedSeedPhrase, password) { - const controllerMessenger = new ControllerMessenger(); - const keyringControllerMessenger = controllerMessenger.getRestricted({ - name: 'KeyringController', - }); - const krCtrl = new KeyringController({ - encryptor: encryptorFactory(600_000), - messenger: keyringControllerMessenger, - }); - - const seedPhraseAsBuffer = Buffer.from(encodedSeedPhrase); - const _convertMnemonicToWordlistIndices = (mnemonic) => { - const indices = mnemonic - .toString() - .split(' ') - .map((word) => wordlist.indexOf(word)); - return new Uint8Array(new Uint16Array(indices).buffer); - }; - - await krCtrl.createNewVaultAndRestore( - password, - _convertMnemonicToWordlistIndices(seedPhraseAsBuffer), - ); - - const { vault } = krCtrl.state; - const account = krCtrl.state.keyrings[0].accounts[0]; - - return { vault, account }; -} - -function generateKeyringControllerState(vault) { - return { - ...defaultFixture().data.KeyringController, - vault, - }; -} - -function generateAccountsControllerState(account) { - return { - ...defaultFixture().data.AccountsController, - internalAccounts: { - selectedAccount: 'account-id', - accounts: { - 'account-id': { - id: 'account-id', - address: account, - metadata: { - name: 'Account 1', - lastSelected: 1665507600000, - keyring: { - type: 'HD Key Tree', - }, - }, - options: {}, - methods: [ - 'personal_sign', - 'eth_signTransaction', - 'eth_signTypedData_v1', - 'eth_signTypedData_v3', - 'eth_signTypedData_v4', - ], - type: 'eip155:eoa', - }, - }, - }, - }; -} diff --git a/app/scripts/start-with-wallet-state.mjs b/app/scripts/start-with-wallet-state.mjs new file mode 100644 index 000000000000..2464b7b87097 --- /dev/null +++ b/app/scripts/start-with-wallet-state.mjs @@ -0,0 +1,122 @@ +import childProcess from 'child_process'; + +// Default fixtures and flags +const FIXTURES_FLAGS = { + '--withAccounts': { + type: 'number', + defaultValue: 30, + explanation: 'Specify the number of wallet accounts to generate.', + }, + '--withConfirmedTransactions': { + type: 'number', + defaultValue: 30, + explanation: 'Specify the number of confirmed transactions to generate.', + }, + '--withContacts': { + type: 'number', + defaultValue: 30, + explanation: + 'Specify the number of contacts to generate in the address book.', + }, + '--withErc20Tokens': { + type: 'boolean', + defaultValue: true, + explanation: 'Specify whether to import ERC20 tokens in Mainnet.', + }, + '--withNetworks': { + type: 'boolean', + defaultValue: true, + explanation: 'Specify whether to load suggested networks.', + }, + '--withPreferences': { + type: 'boolean', + defaultValue: true, + explanation: 'Specify whether to activate all preferences.', + }, + '--withUnreadNotifications': { + type: 'number', + defaultValue: 30, + explanation: 'Specify the number of unread notifications to load.', + }, + '--withStartCommand': { + type: 'string', + defaultValue: 'start', + explanation: + 'Specify the start command for the wallet (put double quotes around a multi-word command like --withStartCommand="webpack --watch").', + }, +}; + +function startWithWalletState() { + const args = process.argv.slice(2); + + if (args.includes('--help')) { + console.log('Available fixture flags:'); + Object.keys(FIXTURES_FLAGS).forEach((key) => { + console.log( + ` \x1b[36m${key}\x1b[0m ${FIXTURES_FLAGS[key].explanation} (default: \x1b[33m${FIXTURES_FLAGS[key].defaultValue}\x1b[0m)`, + ); + }); + return; + } + + const FIXTURES_CONFIG = {}; + + Object.keys(FIXTURES_FLAGS).forEach((key) => { + FIXTURES_CONFIG[key.replace(/^--/u, '')] = FIXTURES_FLAGS[key].defaultValue; + }); + + let invalidArguments = false; + + // Arguments parsing and validation + args.forEach((arg) => { + const [key, value] = arg.split('='); + if (Object.prototype.hasOwnProperty.call(FIXTURES_FLAGS, key)) { + let valueType; + switch (FIXTURES_FLAGS[key].type) { + case 'number': + valueType = !isNaN(parseFloat(value)) && isFinite(value); + break; + case 'boolean': + valueType = value === 'true' || value === 'false'; + break; + case 'string': + valueType = typeof value === 'string'; + break; + default: + throw new Error(`Unknown type for argument ${key}`); + } + if (valueType) { + const configKey = key.replace(/^--/u, ''); + if (FIXTURES_FLAGS[key].type === 'number') { + FIXTURES_CONFIG[configKey] = parseFloat(value); + } else if (FIXTURES_FLAGS[key].type === 'boolean') { + FIXTURES_CONFIG[configKey] = value === 'true'; + } else { + FIXTURES_CONFIG[configKey] = value; + } + } else { + console.error(`Invalid value for argument ${key}: ${value}`); + invalidArguments = true; + } + } else { + console.error(`Invalid argument: ${key}`); + invalidArguments = true; + } + }); + + console.log('Fixture flags:', FIXTURES_CONFIG); + if (invalidArguments) { + throw new Error('Invalid arguments'); + } + + const fixturesConfig = JSON.stringify(FIXTURES_CONFIG); + + // Start the wallet with state + process.env.WITH_STATE = fixturesConfig; + childProcess.spawn('yarn', [FIXTURES_CONFIG['withStartCommand']], { + stdio: 'inherit', + shell: true, + }); +} + +startWithWalletState(); diff --git a/builds.yml b/builds.yml index 573b0633b78c..62989545775f 100644 --- a/builds.yml +++ b/builds.yml @@ -145,7 +145,7 @@ env: # The unlock password - PASSWORD: null - TEST_SRP: null - - SKIP_ONBOARDING: null + - WITH_STATE: null # Also see METAMASK_DEBUG and NODE_DEBUG - DEBUG: null - SUPPORT_LINK: https://support.metamask.io diff --git a/package.json b/package.json index 99ed1e060cf5..51d5ac234bbc 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "postinstall": "yarn webpack:clearcache", "env:e2e": "SEGMENT_HOST='https://api.segment.io' SEGMENT_WRITE_KEY='FAKE' yarn", "start": "yarn build:dev dev --apply-lavamoat=false --snow=false", - "start:skip-onboarding": "SKIP_ONBOARDING=true yarn start", + "start:with-state": "node ./app/scripts/start-with-wallet-state.mjs", "start:mv2": "ENABLE_MV3=false yarn build:dev dev --apply-lavamoat=false --snow=false", "start:flask": "yarn start --build-type flask", "start:mmi": "yarn start --build-type mmi", diff --git a/test/e2e/constants.ts b/test/e2e/constants.ts index 4dee1053aaee..e7fef587f533 100644 --- a/test/e2e/constants.ts +++ b/test/e2e/constants.ts @@ -39,5 +39,10 @@ export const VERIFYING_PAYMASTER = '0xbdbDEc38ed168331b1F7004cc9e5392A2272C1D7'; /* Default ganache ETH balance in decimal when first login */ export const DEFAULT_GANACHE_ETH_BALANCE_DEC = '25'; +/* Dapp host addresses and URL*/ +export const DAPP_HOST_ADDRESS = '127.0.0.1:8080'; +export const DAPP_URL = `http://${DAPP_HOST_ADDRESS}`; +export const DAPP_ONE_URL = 'http://127.0.0.1:8081'; + /* Default BTC address created using test SRP */ export const DEFAULT_BTC_ACCOUNT = 'bc1qg6whd6pc0cguh6gpp3ewujm53hv32ta9hdp252'; diff --git a/test/e2e/fixture-builder.js b/test/e2e/fixture-builder.js index 1a4014bcc30a..1d9401bf227f 100644 --- a/test/e2e/fixture-builder.js +++ b/test/e2e/fixture-builder.js @@ -2,14 +2,18 @@ const { WALLET_SNAP_PERMISSION_KEY, SnapCaveatType, } = require('@metamask/snaps-utils'); -const { merge } = require('lodash'); +const { merge, mergeWith } = require('lodash'); const { toHex } = require('@metamask/controller-utils'); const { mockNetworkState } = require('../stub/networks'); const { CHAIN_IDS } = require('../../shared/constants/network'); const { SMART_CONTRACTS } = require('./seeder/smart-contracts'); -const { DAPP_URL, DAPP_ONE_URL } = require('./helpers'); -const { DEFAULT_FIXTURE_ACCOUNT, ERC_4337_ACCOUNT } = require('./constants'); +const { + DAPP_URL, + DAPP_ONE_URL, + DEFAULT_FIXTURE_ACCOUNT, + ERC_4337_ACCOUNT, +} = require('./constants'); const { defaultFixture, FIXTURE_STATE_METADATA_VERSION, @@ -361,6 +365,20 @@ class FixtureBuilder { }); } + withNotificationServicesController(data) { + mergeWith( + this.fixture.data.NotificationServicesController, + data, + (objValue, srcValue) => { + if (Array.isArray(objValue)) { + objValue.concat(srcValue); + } + return undefined; + }, + ); + return this; + } + withOnboardingController(data) { merge(this.fixture.data.OnboardingController, data); return this; From 832e6fcbaed9fc0645820ddf0c8d8010394d6087 Mon Sep 17 00:00:00 2001 From: George Marshall Date: Wed, 18 Sep 2024 09:41:17 -0700 Subject: [PATCH 23/37] fix: updating close icon svg (#27235) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## **Description** This pull request updates the close icon SVG to match the design specifications. The existing SVG used in the code was inconsistent with the design provided by the design team, so this change replaces it with the correct version to ensure visual consistency across the application. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27235?quickstart=1) ## **Related issues** Fixes: https://github.com/MetaMask/metamask-extension/issues/27234 ## **Manual Testing Steps** 1. Navigate to any part of the application where the close icon is displayed. 2. Verify that the close icon matches the design specification. 3. Test the icon in various browsers (Chrome, Firefox, etc.) to ensure it displays correctly. 4. Test on both light and dark modes (if applicable). 5. Verify the close icon’s appearance in different screen sizes (desktop, tablet, mobile). ## **Screenshots/Recordings** ### **Before** Screenshot 2024-09-17 at 7 45 29 PM Screenshot 2024-09-17 at 7 39 56 PM ### **After** Screenshot 2024-09-17 at 7 45 48 PM Screenshot 2024-09-17 at 7 40 13 PM ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --- app/images/icons/close.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/images/icons/close.svg b/app/images/icons/close.svg index 7b75bbb61aad..a31907c8fd62 100644 --- a/app/images/icons/close.svg +++ b/app/images/icons/close.svg @@ -1 +1 @@ - + From 107f8dad213867b6e3a54272555ba672ee8174e2 Mon Sep 17 00:00:00 2001 From: Norbert Elter <72046715+itsyoboieltr@users.noreply.github.com> Date: Wed, 18 Sep 2024 20:50:15 +0400 Subject: [PATCH 24/37] feat: Create a quality gate for unit test coverage (#27123) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## **Description** [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27123?quickstart=1) This PR: 1. Refactors the current testing pipeline in one workflow (run-tests) 2. Removes codecov 3. Adds SonarCloud ## **Related issues** Fixes: https://github.com/MetaMask/MetaMask-planning/issues/2962 ## **Manual testing steps** 1. Quality gate works for test coverage ## **Screenshots/Recordings** Not applicable ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --- .github/workflows/run-integration-tests.yml | 20 --- .github/workflows/run-tests.yml | 142 ++++++++++++++++++++ .github/workflows/run-unit-tests.yml | 72 ---------- .github/workflows/sonar.yml | 22 --- jest.config.js | 4 +- package.json | 2 +- sonar-project.properties | 9 +- 7 files changed, 150 insertions(+), 121 deletions(-) delete mode 100644 .github/workflows/run-integration-tests.yml create mode 100644 .github/workflows/run-tests.yml delete mode 100644 .github/workflows/run-unit-tests.yml delete mode 100644 .github/workflows/sonar.yml diff --git a/.github/workflows/run-integration-tests.yml b/.github/workflows/run-integration-tests.yml deleted file mode 100644 index 8de1899e0dfa..000000000000 --- a/.github/workflows/run-integration-tests.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: Run integration tests - -on: - push: - branches: [develop, master] - pull_request: - types: [opened,reopened,synchronize] - -jobs: - test-integration: - runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Setup environment - uses: metamask/github-tools/.github/actions/setup-environment@main - - - name: test:integration:coverage - run: yarn test:integration:coverage diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml new file mode 100644 index 000000000000..a0240346af64 --- /dev/null +++ b/.github/workflows/run-tests.yml @@ -0,0 +1,142 @@ +name: Run tests + +on: + push: + branches: + - develop + - master + pull_request: + types: + - opened + - reopened + - synchronize + +jobs: + test-unit: + name: Unit tests + runs-on: ubuntu-latest + strategy: + matrix: + shard: [1, 2, 3, 4, 5, 6] + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup environment + uses: metamask/github-tools/.github/actions/setup-environment@main + + - name: test:unit:coverage + run: yarn test:unit:coverage --shard=${{ matrix.shard }}/${{ strategy.job-total }} + + - name: Rename coverage + run: mv coverage/unit/coverage-final.json coverage/unit/coverage-unit-${{matrix.shard}}.json + + - uses: actions/upload-artifact@v4 + with: + name: coverage-unit-${{matrix.shard}} + path: coverage/unit/coverage-unit-${{matrix.shard}}.json + + test-webpack: + name: Webpack tests + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup environment + uses: metamask/github-tools/.github/actions/setup-environment@main + + - name: test:unit:webpack:coverage + run: yarn test:unit:webpack:coverage + + - name: Rename coverage + run: mv coverage/webpack/coverage-final.json coverage/webpack/coverage-webpack.json + + - uses: actions/upload-artifact@v4 + with: + name: coverage-webpack + path: coverage/webpack/coverage-webpack.json + + test-integration: + name: Integration tests + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup environment + uses: metamask/github-tools/.github/actions/setup-environment@main + + - name: test:integration:coverage + run: yarn test:integration:coverage + + - name: Rename coverage + run: mv coverage/integration/coverage-final.json coverage/integration/coverage-integration.json + + - uses: actions/upload-artifact@v4 + with: + name: coverage-integration + path: coverage/integration/coverage-integration.json + + sonarcloud: + name: SonarCloud + runs-on: ubuntu-latest + needs: + - test-unit + - test-webpack + - test-integration + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 # Shallow clones should be disabled for better relevancy of analysis + + - name: Setup environment + uses: metamask/github-tools/.github/actions/setup-environment@main + + - name: Download artifacts + uses: actions/download-artifact@v4 + with: + path: coverage + merge-multiple: true + + - name: Merge coverage reports + run: yarn nyc merge coverage .nyc_output/coverage-final.json && yarn nyc report --reporter lcov + + - uses: actions/upload-artifact@v4 + with: + name: lcov.info + path: coverage/lcov.info + + - name: Get Sonar coverage + id: get-sonar-coverage + env: + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + run: | + projectKey=$(grep 'sonar.projectKey=' sonar-project.properties | cut -d'=' -f2) + sonar_coverage=$(curl --silent --header "Authorization: Bearer $SONAR_TOKEN" "https://sonarcloud.io/api/measures/component?component=$projectKey&metricKeys=coverage" | jq -r '.component.measures[0].value // 0') + echo "The Sonar coverage of $projectKey is $sonar_coverage%." + echo 'SONAR_COVERAGE='"$sonar_coverage" >> "$GITHUB_OUTPUT" + + - name: Validate test coverage + env: + SONAR_COVERAGE: ${{ steps.get-sonar-coverage.outputs.SONAR_COVERAGE }} + run: | + coverage=$(yarn nyc report --reporter=text-summary | grep 'Lines' | awk '{gsub(/%/, ""); print $3}') + if [ -z "$coverage" ]; then + echo "::error::Could not retrieve test coverage." + exit 1 + fi + if (( $(echo "$coverage < $SONAR_COVERAGE" | bc -l) )); then + echo "::error::Quality gate failed for test coverage. Current test coverage is $coverage%, please increase coverage to at least $SONAR_COVERAGE%." + exit 1 + else + echo "Test coverage is $coverage%. Quality gate passed." + fi + + - name: SonarCloud Scan + # This is SonarSource/sonarcloud-github-action@v2.0.0 + uses: SonarSource/sonarcloud-github-action@4b4d7634dab97dcee0b75763a54a6dc92a9e6bc1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} diff --git a/.github/workflows/run-unit-tests.yml b/.github/workflows/run-unit-tests.yml deleted file mode 100644 index 6765352f5d7d..000000000000 --- a/.github/workflows/run-unit-tests.yml +++ /dev/null @@ -1,72 +0,0 @@ -name: Run unit tests - -on: - push: - branches: [develop, master] - pull_request: - types: [opened,reopened,synchronize] - -jobs: - test-unit: - runs-on: ubuntu-latest - strategy: - matrix: - shard: [1, 2, 3, 4, 5, 6] - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Setup environment - uses: metamask/github-tools/.github/actions/setup-environment@main - - - name: test:unit:coverage - run: yarn test:unit:coverage --shard=${{ matrix.shard }}/${{ strategy.job-total }} - - - name: Rename coverage to shard coverage - run: mv coverage/coverage-final.json coverage/coverage-${{matrix.shard}}.json - - - uses: actions/upload-artifact@v4 - with: - name: coverage-${{matrix.shard}} - path: coverage/coverage-${{matrix.shard}}.json - - test-webpack: - runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Setup environment - uses: metamask/github-tools/.github/actions/setup-environment@main - - - name: test:unit:webpack:coverage - run: yarn test:unit:webpack:coverage - - - name: Rename coverage - run: mv coverage/coverage-final.json coverage/coverage-webpack.json - - - uses: actions/upload-artifact@v4 - with: - name: coverage-webpack - path: coverage/coverage-webpack.json - - report-coverage: - runs-on: ubuntu-latest - needs: - - test-unit - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Download coverage from shards - uses: actions/download-artifact@v4 - with: - path: coverage - pattern: coverage-* - merge-multiple: true - - - name: Upload coverage to Codecov - uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 - with: - token: ${{ secrets.CODECOV_TOKEN }} - fail_ci_if_error: true diff --git a/.github/workflows/sonar.yml b/.github/workflows/sonar.yml deleted file mode 100644 index f5e1a0552dd1..000000000000 --- a/.github/workflows/sonar.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: Sonar -on: - push: - branches: - - develop - pull_request: - branches: - - develop - -jobs: - sonarcloud: - name: SonarCloud - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 # Shallow clones should be disabled for better relevancy of analysis - - name: SonarCloud Scan - # This is SonarSource/sonarcloud-github-action@v2.0.0 - uses: SonarSource/sonarcloud-github-action@4b4d7634dab97dcee0b75763a54a6dc92a9e6bc1 - env: - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} diff --git a/jest.config.js b/jest.config.js index 605848626405..dbfb0522cff7 100644 --- a/jest.config.js +++ b/jest.config.js @@ -6,9 +6,9 @@ module.exports = { '/development/build/transforms/**/*.js', '/test/unit-global/**/*.test.(js|ts|tsx)', ], - coverageDirectory: './coverage', + coverageDirectory: './coverage/unit', coveragePathIgnorePatterns: ['.stories.*', '.snap'], - coverageReporters: process.env.CI ? ['json'] : ['html', 'json'], + coverageReporters: ['html', 'json'], reporters: [ 'default', [ diff --git a/package.json b/package.json index 51d5ac234bbc..4cee6dcdd7b0 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "test:unit:watch": "jest --watch", "test:unit:coverage": "jest --coverage", "test:unit:webpack": "tsx --test development/webpack/test/*.test.ts", - "test:unit:webpack:coverage": "nyc --reporter=html --reporter=json --reporter=text tsx --test development/webpack/test/*.test.ts", + "test:unit:webpack:coverage": "nyc --reporter=html --reporter=json --reporter=text --report-dir=./coverage/webpack tsx --test development/webpack/test/*.test.ts", "test:integration": "jest --config jest.integration.config.js", "test:integration:coverage": "jest --config jest.integration.config.js --coverage", "test:e2e:chrome": "SELENIUM_BROWSER=chrome node test/e2e/run-all.js", diff --git a/sonar-project.properties b/sonar-project.properties index 0455fa9634e2..3b8ff8dfba9f 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -1,5 +1,5 @@ -sonar.projectKey=metamask-extension-private -sonar.organization=metamask +sonar.projectKey=metamask-extension +sonar.organization=consensys # Source sonar.sources=app,development,offscreen,shared,types,ui @@ -8,7 +8,8 @@ sonar.exclusions=**/*.test.**,**/*.spec.**,app/images # Tests sonar.tests=app,test,development,offscreen,shared,types,ui sonar.test.inclusions=**/*.test.**,**/*.spec.** -sonar.javascript.lcov.reportPaths=tests/coverage/lcov.info + +sonar.javascript.lcov.reportPaths=coverage/lcov.info # Fail CI job if quality gate failures -sonar.qualitygate.wait=false \ No newline at end of file +sonar.qualitygate.wait=true From f06b7a0e75166f4341cc78d5f0dc942a0d6de4f7 Mon Sep 17 00:00:00 2001 From: David Murdoch <187813+davidmurdoch@users.noreply.github.com> Date: Wed, 18 Sep 2024 17:54:44 -0400 Subject: [PATCH 25/37] perf: preload `_locales/en/messages.json` so we don't have to wait as long for our JS to dynamically load it (#26556) We always load the English version of `messages.json`. This PR makes use of link `rel=preload` so that the browser will get the file ready for use immediately -- well before our JavaScript file that will eventually need it asks for it. This reduces the amount of waiting due to Network Waterfall (even if the network is the local file system). --- app/home.html | 1 + app/notification.html | 1 + app/popup.html | 1 + 3 files changed, 3 insertions(+) diff --git a/app/home.html b/app/home.html index 7308064505b0..9c4ec38b448a 100644 --- a/app/home.html +++ b/app/home.html @@ -8,6 +8,7 @@ <% } else { %> MetaMask <% } %> + diff --git a/app/notification.html b/app/notification.html index 3a19128baa1f..c5bfd8358730 100644 --- a/app/notification.html +++ b/app/notification.html @@ -32,6 +32,7 @@ margin-top: 1rem; } + diff --git a/app/popup.html b/app/popup.html index 92806e42047a..760ec6683203 100644 --- a/app/popup.html +++ b/app/popup.html @@ -4,6 +4,7 @@ MetaMask + From 88664bbbe9a3f0d583ac0cb07619fb662a558e09 Mon Sep 17 00:00:00 2001 From: Ariella Vu <20778143+digiwand@users.noreply.github.com> Date: Thu, 19 Sep 2024 15:55:07 +0800 Subject: [PATCH 26/37] refactor: memoize fetchErc20Decimals, relocate to utils/token, and apply to other instances (#27088) --- .../value-display/value-display.tsx | 29 +++++++---- .../components/confirm/row/dataTree.tsx | 14 +++--- .../useBalanceChanges.test.ts | 6 +++ .../simulation-details/useBalanceChanges.ts | 24 +-------- .../confirmations/confirm/confirm.test.tsx | 4 ++ ui/pages/confirmations/constants/token.ts | 1 + ui/pages/confirmations/utils/token.test.ts | 50 +++++++++++++++++++ ui/pages/confirmations/utils/token.ts | 32 ++++++++++++ 8 files changed, 119 insertions(+), 41 deletions(-) create mode 100644 ui/pages/confirmations/constants/token.ts create mode 100644 ui/pages/confirmations/utils/token.test.ts create mode 100644 ui/pages/confirmations/utils/token.ts diff --git a/ui/pages/confirmations/components/confirm/info/typed-sign/permit-simulation/value-display/value-display.tsx b/ui/pages/confirmations/components/confirm/info/typed-sign/permit-simulation/value-display/value-display.tsx index d0cd9c529d0e..25fad3020103 100644 --- a/ui/pages/confirmations/components/confirm/info/typed-sign/permit-simulation/value-display/value-display.tsx +++ b/ui/pages/confirmations/components/confirm/info/typed-sign/permit-simulation/value-display/value-display.tsx @@ -1,7 +1,7 @@ import React, { useMemo } from 'react'; import { NameType } from '@metamask/name-controller'; +import { Hex } from '@metamask/utils'; import { captureException } from '@sentry/browser'; -import { getTokenStandardAndDetails } from '../../../../../../../../store/actions'; import { shortenString } from '../../../../../../../../helpers/utils/util'; import { calcTokenAmount } from '../../../../../../../../../shared/lib/transactions-controller-utils'; @@ -27,23 +27,30 @@ import { TextAlign, } from '../../../../../../../../helpers/constants/design-system'; import Name from '../../../../../../../../components/app/name/name'; +import { fetchErc20Decimals } from '../../../../../../utils/token'; -const getTokenDecimals = async (tokenContract: string) => { - const tokenDetails = await getTokenStandardAndDetails(tokenContract); - const tokenDecimals = tokenDetails?.decimals; +type PermitSimulationValueDisplayParams = { + /** The primaryType of the typed sign message */ + primaryType?: string; - return parseInt(tokenDecimals ?? '0', 10); -}; + /** + * The ethereum token contract address. It is expected to be in hex format. + * We currently accept strings since we have a patch that accepts a custom string + * {@see .yarn/patches/@metamask-eth-json-rpc-middleware-npm-14.0.1-b6c2ccbe8c.patch} + */ + tokenContract: Hex | string; -const PermitSimulationValueDisplay: React.FC<{ - primaryType?: string; - tokenContract: string; + /** The token amount */ value: number | string; -}> = ({ primaryType, tokenContract, value }) => { +}; + +const PermitSimulationValueDisplay: React.FC< + PermitSimulationValueDisplayParams +> = ({ primaryType, tokenContract, value }) => { const exchangeRate = useTokenExchangeRate(tokenContract); const { value: tokenDecimals } = useAsyncResult( - async () => await getTokenDecimals(tokenContract), + async () => await fetchErc20Decimals(tokenContract), [tokenContract], ); diff --git a/ui/pages/confirmations/components/confirm/row/dataTree.tsx b/ui/pages/confirmations/components/confirm/row/dataTree.tsx index f728b9d5dfa9..aebd1c702aa6 100644 --- a/ui/pages/confirmations/components/confirm/row/dataTree.tsx +++ b/ui/pages/confirmations/components/confirm/row/dataTree.tsx @@ -1,3 +1,4 @@ +import { Hex } from '@metamask/utils'; import React, { memo } from 'react'; import { @@ -6,9 +7,8 @@ import { PRIMARY_TYPES_PERMIT, } from '../../../../../../shared/constants/signatures'; import { isValidHexAddress } from '../../../../../../shared/modules/hexstring-utils'; -import { sanitizeString } from '../../../../../helpers/utils/util'; -import { getTokenStandardAndDetails } from '../../../../../store/actions'; +import { sanitizeString } from '../../../../../helpers/utils/util'; import { Box } from '../../../../../components/component-library'; import { BlockSize } from '../../../../../helpers/constants/design-system'; import { useAsyncResult } from '../../../../../hooks/useAsyncResult'; @@ -19,6 +19,7 @@ import { ConfirmInfoRowText, ConfirmInfoRowTextTokenUnits, } from '../../../../../components/app/confirm/info/row'; +import { fetchErc20Decimals } from '../../../utils/token'; type ValueType = string | Record | TreeData[]; @@ -68,15 +69,12 @@ const getTokenDecimalsOfDataTree = async ( } const tokenContract = (dataTreeData as Record).token - ?.value as string; - if (!tokenContract) { + ?.value as Hex; + if (!tokenContract || !isValidHexAddress(tokenContract)) { return undefined; } - const tokenDetails = await getTokenStandardAndDetails(tokenContract); - const tokenDecimals = tokenDetails?.decimals; - - return parseInt(tokenDecimals ?? '0', 10); + return await fetchErc20Decimals(tokenContract); }; export const DataTree = ({ diff --git a/ui/pages/confirmations/components/simulation-details/useBalanceChanges.test.ts b/ui/pages/confirmations/components/simulation-details/useBalanceChanges.test.ts index 64d9632c75a7..10e4cca518b7 100644 --- a/ui/pages/confirmations/components/simulation-details/useBalanceChanges.test.ts +++ b/ui/pages/confirmations/components/simulation-details/useBalanceChanges.test.ts @@ -9,6 +9,7 @@ import { TokenStandard } from '../../../../../shared/constants/transaction'; import { getConversionRate } from '../../../../ducks/metamask/metamask'; import { getTokenStandardAndDetails } from '../../../../store/actions'; import { fetchTokenExchangeRates } from '../../../../helpers/utils/util'; +import { fetchErc20Decimals } from '../../utils/token'; import { useBalanceChanges } from './useBalanceChanges'; import { FIAT_UNAVAILABLE } from './types'; @@ -89,6 +90,11 @@ describe('useBalanceChanges', () => { }); }); + afterEach(() => { + /** Reset memoized function for each test */ + fetchErc20Decimals?.cache?.clear?.(); + }); + describe('pending states', () => { it('returns pending=true if no simulation data', async () => { const { result, waitForNextUpdate } = renderHook(() => diff --git a/ui/pages/confirmations/components/simulation-details/useBalanceChanges.ts b/ui/pages/confirmations/components/simulation-details/useBalanceChanges.ts index 6f2a033cc567..2a198d76ea36 100644 --- a/ui/pages/confirmations/components/simulation-details/useBalanceChanges.ts +++ b/ui/pages/confirmations/components/simulation-details/useBalanceChanges.ts @@ -9,11 +9,12 @@ import { import { BigNumber } from 'bignumber.js'; import { ContractExchangeRates } from '@metamask/assets-controllers'; import { useAsyncResultOrThrow } from '../../../../hooks/useAsyncResult'; -import { getTokenStandardAndDetails } from '../../../../store/actions'; import { TokenStandard } from '../../../../../shared/constants/transaction'; import { getConversionRate } from '../../../../ducks/metamask/metamask'; import { getCurrentChainId, getCurrentCurrency } from '../../../../selectors'; import { fetchTokenExchangeRates } from '../../../../helpers/utils/util'; +import { ERC20_DEFAULT_DECIMALS, fetchErc20Decimals } from '../../utils/token'; + import { BalanceChange, FIAT_UNAVAILABLE, @@ -23,8 +24,6 @@ import { const NATIVE_DECIMALS = 18; -const ERC20_DEFAULT_DECIMALS = 18; - // See https://github.com/MikeMcl/bignumber.js/issues/11#issuecomment-23053776 function convertNumberToStringWithPrecisionWarning(value: number): string { return String(value); @@ -57,25 +56,6 @@ function getAssetAmount( ); } -// Fetches the decimals for the given token address. -async function fetchErc20Decimals(address: Hex): Promise { - try { - const { decimals: decStr } = await getTokenStandardAndDetails(address); - if (!decStr) { - return ERC20_DEFAULT_DECIMALS; - } - for (const radix of [10, 16]) { - const parsedDec = parseInt(decStr, radix); - if (isFinite(parsedDec)) { - return parsedDec; - } - } - return ERC20_DEFAULT_DECIMALS; - } catch { - return ERC20_DEFAULT_DECIMALS; - } -} - // Fetches token details for all the token addresses in the SimulationTokenBalanceChanges async function fetchAllErc20Decimals( addresses: Hex[], diff --git a/ui/pages/confirmations/confirm/confirm.test.tsx b/ui/pages/confirmations/confirm/confirm.test.tsx index 0b10976ab48c..dbf4dab7dfaf 100644 --- a/ui/pages/confirmations/confirm/confirm.test.tsx +++ b/ui/pages/confirmations/confirm/confirm.test.tsx @@ -18,6 +18,7 @@ import { import { renderWithConfirmContextProvider } from '../../../../test/lib/confirmations/render-helpers'; import * as actions from '../../../store/actions'; import { SignatureRequestType } from '../types/confirm'; +import { fetchErc20Decimals } from '../utils/token'; import Confirm from './confirm'; jest.mock('react-router-dom', () => ({ @@ -32,6 +33,9 @@ const middleware = [thunk]; describe('Confirm', () => { afterEach(() => { jest.resetAllMocks(); + + /** Reset memoized function using getTokenStandardAndDetails for each test */ + fetchErc20Decimals?.cache?.clear?.(); }); it('should render', () => { diff --git a/ui/pages/confirmations/constants/token.ts b/ui/pages/confirmations/constants/token.ts new file mode 100644 index 000000000000..4520a77d3585 --- /dev/null +++ b/ui/pages/confirmations/constants/token.ts @@ -0,0 +1 @@ +export const ERC20_DEFAULT_DECIMALS = 18; diff --git a/ui/pages/confirmations/utils/token.test.ts b/ui/pages/confirmations/utils/token.test.ts new file mode 100644 index 000000000000..e71813713d79 --- /dev/null +++ b/ui/pages/confirmations/utils/token.test.ts @@ -0,0 +1,50 @@ +import { getTokenStandardAndDetails } from '../../../store/actions'; +import { ERC20_DEFAULT_DECIMALS } from '../constants/token'; +import { fetchErc20Decimals } from './token'; + +const MOCK_ADDRESS = '0x514910771af9ca656af840dff83e8264ecf986ca'; +const MOCK_DECIMALS = 36; + +jest.mock('../../../store/actions', () => ({ + getTokenStandardAndDetails: jest.fn(), +})); + +describe('fetchErc20Decimals', () => { + afterEach(() => { + jest.clearAllMocks(); + + /** Reset memoized function using getTokenStandardAndDetails for each test */ + fetchErc20Decimals?.cache?.clear?.(); + }); + + it(`should return the default number, ${ERC20_DEFAULT_DECIMALS}, if no decimals were found from details`, async () => { + (getTokenStandardAndDetails as jest.Mock).mockResolvedValue({}); + const decimals = await fetchErc20Decimals(MOCK_ADDRESS); + + expect(decimals).toBe(ERC20_DEFAULT_DECIMALS); + }); + + it('should return the decimals for a given token address', async () => { + (getTokenStandardAndDetails as jest.Mock).mockResolvedValue({ + decimals: MOCK_DECIMALS, + }); + const decimals = await fetchErc20Decimals(MOCK_ADDRESS); + + expect(decimals).toBe(MOCK_DECIMALS); + }); + + it('should memoize the result for the same token addresses', async () => { + (getTokenStandardAndDetails as jest.Mock).mockResolvedValue({ + decimals: MOCK_DECIMALS, + }); + + const firstCallResult = await fetchErc20Decimals(MOCK_ADDRESS); + const secondCallResult = await fetchErc20Decimals(MOCK_ADDRESS); + + expect(firstCallResult).toBe(secondCallResult); + expect(getTokenStandardAndDetails).toHaveBeenCalledTimes(1); + + await fetchErc20Decimals('0xDifferentAddress'); + expect(getTokenStandardAndDetails).toHaveBeenCalledTimes(2); + }); +}); diff --git a/ui/pages/confirmations/utils/token.ts b/ui/pages/confirmations/utils/token.ts new file mode 100644 index 000000000000..1f94280129a9 --- /dev/null +++ b/ui/pages/confirmations/utils/token.ts @@ -0,0 +1,32 @@ +import { memoize } from 'lodash'; +import { Hex } from '@metamask/utils'; +import { getTokenStandardAndDetails } from '../../../store/actions'; + +export const ERC20_DEFAULT_DECIMALS = 18; + +/** + * Fetches the decimals for the given token address. + * + * @param {Hex | string} address - The ethereum token contract address. It is expected to be in hex format. + * We currently accept strings since we have a patch that accepts a custom string + * {@see .yarn/patches/@metamask-eth-json-rpc-middleware-npm-14.0.1-b6c2ccbe8c.patch} + */ +export const fetchErc20Decimals = memoize( + async (address: Hex | string): Promise => { + try { + const { decimals: decStr } = await getTokenStandardAndDetails(address); + if (!decStr) { + return ERC20_DEFAULT_DECIMALS; + } + for (const radix of [10, 16]) { + const parsedDec = parseInt(decStr, radix); + if (isFinite(parsedDec)) { + return parsedDec; + } + } + return ERC20_DEFAULT_DECIMALS; + } catch { + return ERC20_DEFAULT_DECIMALS; + } + }, +); From 0c3e3914aa3f125e6414ad97f465bd637a6bb053 Mon Sep 17 00:00:00 2001 From: Ariella Vu <20778143+digiwand@users.noreply.github.com> Date: Thu, 19 Sep 2024 15:55:58 +0800 Subject: [PATCH 27/37] feat: create useSignatureEvent fragment hook and fix expected updateEventFragment type (#27043) --- app/scripts/controllers/metametrics.js | 22 +++--- .../lib/createRPCMethodTrackingMiddleware.js | 48 ++++++++----- shared/constants/metametrics.ts | 4 +- test/data/confirmations/typed_sign.ts | 22 ++++-- .../hooks/useConfirmationAlertMetrics.ts | 12 +--- .../hooks/useSignatureEventFragment.test.tsx | 67 +++++++++++++++++++ .../hooks/useSignatureEventFragment.ts | 36 ++++++++++ ui/store/actions.ts | 3 +- 8 files changed, 169 insertions(+), 45 deletions(-) create mode 100644 ui/pages/confirmations/hooks/useSignatureEventFragment.test.tsx create mode 100644 ui/pages/confirmations/hooks/useSignatureEventFragment.ts diff --git a/app/scripts/controllers/metametrics.js b/app/scripts/controllers/metametrics.js index d799249bb71b..e7618decb3ba 100644 --- a/app/scripts/controllers/metametrics.js +++ b/app/scripts/controllers/metametrics.js @@ -333,7 +333,7 @@ export default class MetaMetricsController { * Updates an event fragment in state * * @param {string} id - The fragment id to update - * @param {MetaMetricsEventFragment} payload - Fragment settings and + * @param {Partial} payload - Fragment settings and * properties to initiate the fragment with. */ updateEventFragment(id, payload) { @@ -356,19 +356,23 @@ export default class MetaMetricsController { }); } + /** + * @typedef {object} MetaMetricsFinalizeEventFragmentOptions + * @property {boolean} [abandoned = false] - if true track the failure + * event instead of the success event + * @property {MetaMetricsContext.page} [page] - page the final event + * occurred on. This will override whatever is set on the fragment + * @property {MetaMetricsContext.referrer} [referrer] - Dapp that + * originated the fragment. This is for fallback only, the fragment referrer + * property will take precedence. + */ + /** * Finalizes a fragment, tracking either a success event or failure Event * and then removes the fragment from state. * * @param {string} id - UUID of the event fragment to be closed - * @param {object} options - * @param {boolean} [options.abandoned] - if true track the failure - * event instead of the success event - * @param {MetaMetricsContext.page} [options.page] - page the final event - * occurred on. This will override whatever is set on the fragment - * @param {MetaMetricsContext.referrer} [options.referrer] - Dapp that - * originated the fragment. This is for fallback only, the fragment referrer - * property will take precedence. + * @param {MetaMetricsFinalizeEventFragmentOptions} options */ finalizeEventFragment(id, { abandoned = false, page, referrer } = {}) { const fragment = this.store.getState().fragments[id]; diff --git a/app/scripts/lib/createRPCMethodTrackingMiddleware.js b/app/scripts/lib/createRPCMethodTrackingMiddleware.js index 40b619f4f847..092b95943c2d 100644 --- a/app/scripts/lib/createRPCMethodTrackingMiddleware.js +++ b/app/scripts/lib/createRPCMethodTrackingMiddleware.js @@ -131,9 +131,9 @@ let globalRateLimitCount = 0; * * @param {MetaMetricsController} metaMetricsController * @param {OriginalRequest} req - * @param {object} properties + * @param {Partial} fragmentPayload */ -function createSignatureFragment(metaMetricsController, req, properties) { +function createSignatureFragment(metaMetricsController, req, fragmentPayload) { metaMetricsController.createEventFragment({ category: MetaMetricsEventCategory.InpageProvider, initialEvent: MetaMetricsEventName.SignatureRequested, @@ -144,7 +144,7 @@ function createSignatureFragment(metaMetricsController, req, properties) { referrer: { url: req.origin, }, - properties, + ...fragmentPayload, }); } @@ -153,23 +153,28 @@ function createSignatureFragment(metaMetricsController, req, properties) { * * @param {MetaMetricsController} metaMetricsController * @param {OriginalRequest} req - * @param {object} options - * @param {boolean} options.abandoned - * @param {object} options.properties + * @param {MetaMetricsFinalizeEventFragmentOptions} finalizeEventOptions + * @param {Partial} fragmentPayload */ function finalizeSignatureFragment( metaMetricsController, req, - { abandoned, properties }, + finalizeEventOptions, + fragmentPayload, ) { const signatureUniqueId = generateSignatureUniqueId(req.id); - metaMetricsController.updateEventFragment(signatureUniqueId, { - properties, - }); - metaMetricsController.finalizeEventFragment(signatureUniqueId, { - abandoned, - }); + if (fragmentPayload) { + metaMetricsController.updateEventFragment( + signatureUniqueId, + fragmentPayload, + ); + } + + metaMetricsController.finalizeEventFragment( + signatureUniqueId, + finalizeEventOptions, + ); } /** @@ -368,7 +373,9 @@ export default function createRPCMethodTrackingMiddleware({ } if (event === MetaMetricsEventName.SignatureRequested) { - createSignatureFragment(metaMetricsController, req, eventProperties); + createSignatureFragment(metaMetricsController, req, { + properties: eventProperties, + }); } else { metaMetricsController.trackEvent({ event, @@ -430,10 +437,19 @@ export default function createRPCMethodTrackingMiddleware({ }; if (signatureUniqueId) { - finalizeSignatureFragment(metaMetricsController, req, { + const finalizeOptions = { abandoned: event === eventType.REJECTED, + }; + const fragmentPayload = { properties, - }); + }; + + finalizeSignatureFragment( + metaMetricsController, + req, + finalizeOptions, + fragmentPayload, + ); } else { metaMetricsController.trackEvent({ event, diff --git a/shared/constants/metametrics.ts b/shared/constants/metametrics.ts index 0ad1bc9e1deb..85a374125685 100644 --- a/shared/constants/metametrics.ts +++ b/shared/constants/metametrics.ts @@ -156,7 +156,7 @@ export type MetaMetricsEventFragment = { /** * The event name to fire when the fragment is closed in an affirmative action. */ - successEvent?: string; + successEvent: string; /** * The event name to fire when the fragment is closed with a rejection. */ @@ -169,7 +169,7 @@ export type MetaMetricsEventFragment = { /** * The event category to use for both the success and failure events. */ - category?: string; + category: string; /** * Should this fragment be persisted in state and progressed after the * extension is locked and unlocked. diff --git a/test/data/confirmations/typed_sign.ts b/test/data/confirmations/typed_sign.ts index 88985e1a52a7..8766fac9184c 100644 --- a/test/data/confirmations/typed_sign.ts +++ b/test/data/confirmations/typed_sign.ts @@ -1,3 +1,4 @@ +import { TransactionType } from '@metamask/transaction-controller'; import { MESSAGE_TYPE } from '../../../shared/constants/app'; import { SignatureRequestType } from '../../../ui/pages/confirmations/types/confirm'; @@ -10,7 +11,7 @@ export const unapprovedTypedSignMsgV1 = { }, status: 'unapproved', time: 1710505271872, - type: 'eth_signTypedData', + type: TransactionType.signTypedData, securityProviderResponse: null, msgParams: { from: '0x935e73edb9ff52e23bac7f7e043a1ecd06d05477', @@ -18,6 +19,7 @@ export const unapprovedTypedSignMsgV1 = { { type: 'string', name: 'Message', value: 'Hi, Alice!' }, { type: 'uint32', name: 'A number', value: '1337' }, ], + requestId: 11, signatureMethod: 'eth_signTypedData', version: 'V1', origin: 'https://metamask.github.io', @@ -65,12 +67,13 @@ export const unapprovedTypedSignMsgV3 = { }, status: 'unapproved', time: 1710249542175, - type: 'eth_signTypedData', + type: TransactionType.signTypedData, securityProviderResponse: null, msgParams: { data: JSON.stringify(rawMessageV3), from: '0x935e73edb9ff52e23bac7f7e043a1ecd06d05477', version: 'V3', + requestId: 12, signatureMethod: 'eth_signTypedData_v3', origin: 'https://metamask.github.io', }, @@ -129,12 +132,13 @@ export const unapprovedTypedSignMsgV4 = { status: 'unapproved', time: new Date().getTime(), chainid: '0x5', - type: 'eth_signTypedData', + type: TransactionType.signTypedData, securityProviderResponse: null, msgParams: { from: '0x0dcd5d886577d5081b0c52e242ef29e70be3e7bc', data: JSON.stringify(rawMessageV4), origin: 'https://metamask.github.io', + requestId: 123456789, signatureMethod: MESSAGE_TYPE.ETH_SIGN_TYPED_DATA_V4, }, } as SignatureRequestType; @@ -148,11 +152,12 @@ export const orderSignatureMsg = { }, status: 'unapproved', time: 1722011224974, - type: 'eth_signTypedData', + type: TransactionType.signTypedData, msgParams: { data: '{"types":{"Order":[{"type":"uint8","name":"direction"},{"type":"address","name":"maker"},{"type":"address","name":"taker"},{"type":"uint256","name":"expiry"},{"type":"uint256","name":"nonce"},{"type":"address","name":"erc20Token"},{"type":"uint256","name":"erc20TokenAmount"},{"type":"Fee[]","name":"fees"},{"type":"address","name":"erc721Token"},{"type":"uint256","name":"erc721TokenId"},{"type":"Property[]","name":"erc721TokenProperties"}],"Fee":[{"type":"address","name":"recipient"},{"type":"uint256","name":"amount"},{"type":"bytes","name":"feeData"}],"Property":[{"type":"address","name":"propertyValidator"},{"type":"bytes","name":"propertyData"}],"EIP712Domain":[{"name":"name","type":"string"},{"name":"version","type":"string"},{"name":"chainId","type":"uint256"},{"name":"verifyingContract","type":"address"}]},"domain":{"name":"ZeroEx","version":"1.0.0","chainId":"0x1","verifyingContract":"0xdef1c0ded9bec7f1a1670819833240f027b25eff"},"primaryType":"Order","message":{"direction":"0","maker":"0x0dcd5d886577d5081b0c52e242ef29e70be3e7bc","taker":"0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826","expiry":"2524604400","nonce":"100131415900000000000000000000000000000083840314483690155566137712510085002484","erc20Token":"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2","erc20TokenAmount":"42000000000000","fees":[],"erc721Token":"0x8a90CAb2b38dba80c64b7734e58Ee1dB38B8992e","erc721TokenId":"2516","erc721TokenProperties":[]}}', from: '0x935e73edb9ff52e23bac7f7e043a1ecd06d05477', version: 'V4', + requestId: 13, signatureMethod: 'eth_signTypedData_v4', origin: 'https://metamask.github.io', }, @@ -167,11 +172,12 @@ export const permitSignatureMsg = { }, status: 'unapproved', time: 1716826404122, - type: 'eth_signTypedData', + type: TransactionType.signTypedData, msgParams: { data: '{"types":{"EIP712Domain":[{"name":"name","type":"string"},{"name":"version","type":"string"},{"name":"chainId","type":"uint256"},{"name":"verifyingContract","type":"address"}],"Permit":[{"name":"owner","type":"address"},{"name":"spender","type":"address"},{"name":"value","type":"uint256"},{"name":"nonce","type":"uint256"},{"name":"deadline","type":"uint256"}]},"primaryType":"Permit","domain":{"name":"MyToken","version":"1","verifyingContract":"0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC","chainId":1},"message":{"owner":"0x935e73edb9ff52e23bac7f7e043a1ecd06d05477","spender":"0x5B38Da6a701c568545dCfcB03FcB875f56beddC4","value":3000,"nonce":0,"deadline":50000000000}}', from: '0x935e73edb9ff52e23bac7f7e043a1ecd06d05477', version: 'V4', + requestId: 14, signatureMethod: 'eth_signTypedData_v4', origin: 'https://metamask.github.io', }, @@ -186,11 +192,12 @@ export const permitBatchSignatureMsg = { }, status: 'unapproved', time: 1716826404122, - type: 'eth_signTypedData', + type: TransactionType.signTypedData, msgParams: { data: '{"types":{"PermitBatch":[{"name":"details","type":"PermitDetails[]"},{"name":"spender","type":"address"},{"name":"sigDeadline","type":"uint256"}],"PermitDetails":[{"name":"token","type":"address"},{"name":"amount","type":"uint160"},{"name":"expiration","type":"uint48"},{"name":"nonce","type":"uint48"}],"EIP712Domain":[{"name":"name","type":"string"},{"name":"chainId","type":"uint256"},{"name":"verifyingContract","type":"address"}]},"domain":{"name":"Permit2","chainId":"1","verifyingContract":"0x000000000022d473030f116ddee9f6b43ac78ba3"},"primaryType":"PermitBatch","message":{"details":[{"token":"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48","amount":"1461501637330902918203684832716283019655932542975","expiration":"1722887542","nonce":"5"},{"token":"0xb0b86991c6218b36c1d19d4a2e9eb0ce3606eb48","amount":"2461501637330902918203684832716283019655932542975","expiration":"1722887642","nonce":"6"}],"spender":"0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad","sigDeadline":"1720297342"}}', from: '0x935e73edb9ff52e23bac7f7e043a1ecd06d05477', version: 'V4', + requestId: 15, signatureMethod: 'eth_signTypedData_v4', origin: 'https://metamask.github.io', }, @@ -205,11 +212,12 @@ export const permitSingleSignatureMsg = { }, status: 'unapproved', time: 1716826404122, - type: 'eth_signTypedData', + type: TransactionType.signTypedData, msgParams: { data: '{"types":{"PermitSingle":[{"name":"details","type":"PermitDetails"},{"name":"spender","type":"address"},{"name":"sigDeadline","type":"uint256"}],"PermitDetails":[{"name":"token","type":"address"},{"name":"amount","type":"uint160"},{"name":"expiration","type":"uint48"},{"name":"nonce","type":"uint48"}],"EIP712Domain":[{"name":"name","type":"string"},{"name":"chainId","type":"uint256"},{"name":"verifyingContract","type":"address"}]},"domain":{"name":"Permit2","chainId":"1","verifyingContract":"0x000000000022d473030f116ddee9f6b43ac78ba3"},"primaryType":"PermitSingle","message":{"details":{"token":"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48","amount":"1461501637330902918203684832716283019655932542975","expiration":"1722887542","nonce":"5"},"spender":"0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad","sigDeadline":"1720297342"}}', from: '0x935e73edb9ff52e23bac7f7e043a1ecd06d05477', version: 'V4', + requestId: 16, signatureMethod: 'eth_signTypedData_v4', origin: 'https://metamask.github.io', }, diff --git a/ui/pages/confirmations/hooks/useConfirmationAlertMetrics.ts b/ui/pages/confirmations/hooks/useConfirmationAlertMetrics.ts index 9bb3238b0232..c9af8a9d03ad 100644 --- a/ui/pages/confirmations/hooks/useConfirmationAlertMetrics.ts +++ b/ui/pages/confirmations/hooks/useConfirmationAlertMetrics.ts @@ -2,13 +2,11 @@ import { useCallback, useEffect, useState } from 'react'; import { validate as isUuid } from 'uuid'; import useAlerts from '../../../hooks/useAlerts'; -import { updateEventFragment } from '../../../store/actions'; -import { SignatureRequestType } from '../types/confirm'; import { isSignatureTransactionType } from '../utils'; import { Alert } from '../../../ducks/confirm-alerts/confirm-alerts'; import { useConfirmContext } from '../context/confirm'; -import { generateSignatureUniqueId } from '../../../helpers/utils/metrics'; import { AlertsName } from './alerts/constants'; +import { useSignatureEventFragment } from './useSignatureEventFragment'; import { useTransactionEventFragment } from './useTransactionEventFragment'; export type AlertMetricsProperties = { @@ -48,6 +46,7 @@ export function useConfirmationAlertMetrics() { const { currentConfirmation } = useConfirmContext(); const ownerId = currentConfirmation?.id ?? ''; const { alerts, isAlertConfirmed } = useAlerts(ownerId); + const { updateSignatureEventFragment } = useSignatureEventFragment(); const { updateTransactionEventFragment } = useTransactionEventFragment(); const [metricsProperties, setMetricsProperties] = @@ -116,12 +115,7 @@ export function useConfirmationAlertMetrics() { } if (isSignatureTransactionType(currentConfirmation)) { - const requestId = (currentConfirmation as SignatureRequestType).msgParams - ?.requestId as number; - const fragmentUniqueId = generateSignatureUniqueId(requestId); - updateEventFragment(fragmentUniqueId, { - properties, - }); + updateSignatureEventFragment({ properties }); } else { updateTransactionEventFragment({ properties }, ownerId); } diff --git a/ui/pages/confirmations/hooks/useSignatureEventFragment.test.tsx b/ui/pages/confirmations/hooks/useSignatureEventFragment.test.tsx new file mode 100644 index 000000000000..4da597c72937 --- /dev/null +++ b/ui/pages/confirmations/hooks/useSignatureEventFragment.test.tsx @@ -0,0 +1,67 @@ +import { getMockTypedSignConfirmStateForRequest } from '../../../../test/data/confirmations/helper'; +import { renderHookWithConfirmContextProvider } from '../../../../test/lib/confirmations/render-helpers'; +import { orderSignatureMsg } from '../../../../test/data/confirmations/typed_sign'; +import { generateSignatureUniqueId } from '../../../helpers/utils/metrics'; +import { updateEventFragment } from '../../../store/actions'; +import { SignatureRequestType } from '../types/confirm'; +import { useSignatureEventFragment } from './useSignatureEventFragment'; + +const renderUseSignatureEventFragment = (signature: SignatureRequestType) => { + const mockState = getMockTypedSignConfirmStateForRequest(signature); + + return renderHookWithConfirmContextProvider( + () => useSignatureEventFragment(), + mockState, + ); +}; + +jest.mock('../../../store/actions', () => ({ + updateEventFragment: jest.fn(), +})); + +describe('useSignatureEventFragment', () => { + afterEach(jest.clearAllMocks); + + describe('updateSignatureEventFragment', () => { + it('should call updateEventFragment to update the signature event fragment', () => { + const mockUpdateProps = { + event_name1: 'test_event 1', + event_name2: 'test_event 2', + }; + const expectedFragmentId = generateSignatureUniqueId( + orderSignatureMsg.msgParams.requestId, + ); + + const { result } = renderUseSignatureEventFragment(orderSignatureMsg); + const { updateSignatureEventFragment } = result.current; + + updateSignatureEventFragment(mockUpdateProps); + + expect(updateEventFragment).toHaveBeenCalledWith( + expectedFragmentId, + mockUpdateProps, + ); + }); + + it('should not call updateEventFragment if no signature requestId was found', () => { + const mockSignatureWithoutRequestId = { + ...orderSignatureMsg, + msgParams: { + data: orderSignatureMsg.msgParams.data, + from: orderSignatureMsg.msgParams.from, + version: orderSignatureMsg.msgParams.version, + signatureMethod: orderSignatureMsg.msgParams.signatureMethod, + origin: orderSignatureMsg.msgParams.origin, + }, + }; + const { result } = renderUseSignatureEventFragment( + mockSignatureWithoutRequestId, + ); + const { updateSignatureEventFragment } = result.current; + + updateSignatureEventFragment(); + + expect(updateEventFragment).not.toHaveBeenCalled(); + }); + }); +}); diff --git a/ui/pages/confirmations/hooks/useSignatureEventFragment.ts b/ui/pages/confirmations/hooks/useSignatureEventFragment.ts new file mode 100644 index 000000000000..82fa8f452641 --- /dev/null +++ b/ui/pages/confirmations/hooks/useSignatureEventFragment.ts @@ -0,0 +1,36 @@ +import { useCallback } from 'react'; +import { generateSignatureUniqueId } from '../../../helpers/utils/metrics'; +import { updateEventFragment } from '../../../store/actions'; +import { useConfirmContext } from '../context/confirm'; +import { SignatureRequestType } from '../types/confirm'; +import { isSignatureTransactionType } from '../utils'; + +import type { MetaMetricsEventFragment } from '../../../../shared/constants/metametrics'; + +/** + * When a signature has been requested, there should be an event fragment created for it in + * {@see {@link app/scripts/lib/createRPCMethodTrackingMiddleware.js}. + * This hook method is used to update an existing signature event fragment for a signature confirmation. + */ +export const useSignatureEventFragment = () => { + const { currentConfirmation } = useConfirmContext(); + + const requestId = + isSignatureTransactionType(currentConfirmation) && + ((currentConfirmation as SignatureRequestType)?.msgParams + ?.requestId as number); + const fragmentId = requestId ? generateSignatureUniqueId(requestId) : null; + + const updateSignatureEventFragment = useCallback( + async (fragmentPayload: Partial) => { + if (!fragmentId) { + return; + } + + updateEventFragment(fragmentId, fragmentPayload); + }, + [fragmentId], + ); + + return { updateSignatureEventFragment }; +}; diff --git a/ui/store/actions.ts b/ui/store/actions.ts index 499acba711bd..ccceba2e4048 100644 --- a/ui/store/actions.ts +++ b/ui/store/actions.ts @@ -1014,7 +1014,6 @@ export function addTransactionAndRouteToConfirmationPage( dispatch(displayWarning(error)); throw error; } - return null; }; } @@ -4570,7 +4569,7 @@ export function createTransactionEventFragment( export function updateEventFragment( id: string, - payload: MetaMetricsEventFragment, + payload: Partial, ) { return submitRequestToBackground('updateEventFragment', [id, payload]); } From 9c77f61500ea812aeebd4f5638b9e842d1237ce8 Mon Sep 17 00:00:00 2001 From: Matthew Walsh Date: Thu, 19 Sep 2024 09:42:40 +0100 Subject: [PATCH 28/37] fix: custom tracing in production builds (#27124) Update trace utilities to use Sentry functions via `globalThis`. Add trace E2E tests. --- .../lib/createTracingMiddleware.test.ts | 4 +- app/scripts/lib/createTracingMiddleware.ts | 2 +- app/scripts/lib/ppom/ppom-middleware.test.ts | 8 ++ app/scripts/metamask-controller.test.js | 4 + shared/lib/trace.test.ts | 6 + shared/lib/trace.ts | 6 +- test/e2e/tests/metrics/traces.spec.ts | 129 ++++++++++++++++++ 7 files changed, 153 insertions(+), 6 deletions(-) create mode 100644 test/e2e/tests/metrics/traces.spec.ts diff --git a/app/scripts/lib/createTracingMiddleware.test.ts b/app/scripts/lib/createTracingMiddleware.test.ts index ceb87e0f3ac5..cafe97b71181 100644 --- a/app/scripts/lib/createTracingMiddleware.test.ts +++ b/app/scripts/lib/createTracingMiddleware.test.ts @@ -19,8 +19,8 @@ describe('createTracingMiddleware', () => { request = { ...REQUEST_MOCK }; - global.sentry = { - getMetaMetricsEnabled: () => Promise.resolve(true), + globalThis.sentry = { + withIsolationScope: jest.fn().mockReturnValue({}), }; }); diff --git a/app/scripts/lib/createTracingMiddleware.ts b/app/scripts/lib/createTracingMiddleware.ts index 99e0a73795b1..27e928a95199 100644 --- a/app/scripts/lib/createTracingMiddleware.ts +++ b/app/scripts/lib/createTracingMiddleware.ts @@ -1,4 +1,4 @@ -// Request and repsones are currently untyped. +// Request and responses are currently untyped. /* eslint-disable @typescript-eslint/no-explicit-any */ import { MESSAGE_TYPE } from '../../../shared/constants/app'; diff --git a/app/scripts/lib/ppom/ppom-middleware.test.ts b/app/scripts/lib/ppom/ppom-middleware.test.ts index cbd3674f65c8..a0188a96ae8a 100644 --- a/app/scripts/lib/ppom/ppom-middleware.test.ts +++ b/app/scripts/lib/ppom/ppom-middleware.test.ts @@ -111,6 +111,14 @@ describe('PPOMMiddleware', () => { generateSecurityAlertIdMock.mockReturnValue(SECURITY_ALERT_ID_MOCK); handlePPOMErrorMock.mockReturnValue(SECURITY_ALERT_RESPONSE_MOCK); isChainSupportedMock.mockResolvedValue(true); + + globalThis.sentry = { + withIsolationScope: jest + .fn() + .mockImplementation((fn) => fn({ setTags: jest.fn() })), + startSpan: jest.fn().mockImplementation((_, fn) => fn({})), + startSpanManual: jest.fn().mockImplementation((_, fn) => fn({})), + }; }); it('updates alert response after validating request', async () => { diff --git a/app/scripts/metamask-controller.test.js b/app/scripts/metamask-controller.test.js index 8cd77b920d1e..401f95a21990 100644 --- a/app/scripts/metamask-controller.test.js +++ b/app/scripts/metamask-controller.test.js @@ -336,6 +336,10 @@ describe('MetaMaskController', () => { }, ]), ); + + globalThis.sentry = { + withIsolationScope: jest.fn(), + }; }); afterEach(() => { diff --git a/shared/lib/trace.test.ts b/shared/lib/trace.test.ts index fc3294924698..5154a930b7f9 100644 --- a/shared/lib/trace.test.ts +++ b/shared/lib/trace.test.ts @@ -37,6 +37,12 @@ describe('Trace', () => { beforeEach(() => { jest.resetAllMocks(); + globalThis.sentry = { + startSpan: startSpanMock, + startSpanManual: startSpanManualMock, + withIsolationScope: withIsolationScopeMock, + }; + startSpanMock.mockImplementation((_, fn) => fn({} as Span)); // eslint-disable-next-line @typescript-eslint/no-explicit-any diff --git a/shared/lib/trace.ts b/shared/lib/trace.ts index b9f59a2f2353..f5919bae74e0 100644 --- a/shared/lib/trace.ts +++ b/shared/lib/trace.ts @@ -114,7 +114,7 @@ function traceCallback(request: TraceRequest, fn: TraceCallback): T { }; return startSpan(request, (spanOptions) => - Sentry.startSpan(spanOptions, callback), + globalThis.sentry.startSpan(spanOptions, callback), ); } @@ -138,7 +138,7 @@ function startTrace(request: TraceRequest): TraceContext { }; return startSpan(request, (spanOptions) => - Sentry.startSpanManual(spanOptions, callback), + globalThis.sentry.startSpanManual(spanOptions, callback), ); } @@ -157,7 +157,7 @@ function startSpan( startTime, }; - return Sentry.withIsolationScope((scope) => { + return globalThis.sentry.withIsolationScope((scope: Sentry.Scope) => { scope.setTags(tags as Record); return callback(spanOptions); diff --git a/test/e2e/tests/metrics/traces.spec.ts b/test/e2e/tests/metrics/traces.spec.ts new file mode 100644 index 000000000000..62c4d7da9219 --- /dev/null +++ b/test/e2e/tests/metrics/traces.spec.ts @@ -0,0 +1,129 @@ +import { MockttpServer } from 'mockttp'; +import FixtureBuilder from '../../fixture-builder'; +import { + defaultGanacheOptions, + unlockWallet, + withFixtures, +} from '../../helpers'; +import { + expectMockRequest, + expectNoMockRequest, +} from '../../helpers/mock-server'; + +async function mockSentryCustomTrace(mockServer: MockttpServer) { + return [ + await mockServer + .forPost(/sentry/u) + .withBodyIncluding('"transaction":"UI Startup"') + .thenCallback(() => { + return { + statusCode: 200, + json: {}, + }; + }), + ]; +} + +async function mockSentryAutomatedTrace(mockServer: MockttpServer) { + return [ + await mockServer + .forPost(/sentry/u) + .withBodyIncluding('"transaction":"/home.html"') + .thenCallback(() => { + return { + statusCode: 200, + json: {}, + }; + }), + ]; +} + +describe('Traces', function () { + it('sends custom trace when opening UI if metrics enabled', async function () { + await withFixtures( + { + fixtures: new FixtureBuilder() + .withMetaMetricsController({ + participateInMetaMetrics: true, + }) + .build(), + ganacheOptions: defaultGanacheOptions, + title: this.test?.fullTitle(), + testSpecificMock: mockSentryCustomTrace, + manifestFlags: { + doNotForceSentryForThisTest: true, + }, + }, + async ({ driver, mockedEndpoint }) => { + await unlockWallet(driver); + await expectMockRequest(driver, mockedEndpoint[0], { timeout: 3000 }); + }, + ); + }); + + it('does not send custom trace when opening UI if metrics disabled @no-mmi', async function () { + await withFixtures( + { + fixtures: new FixtureBuilder() + .withMetaMetricsController({ + participateInMetaMetrics: false, + }) + .build(), + ganacheOptions: defaultGanacheOptions, + title: this.test?.fullTitle(), + testSpecificMock: mockSentryCustomTrace, + manifestFlags: { + doNotForceSentryForThisTest: true, + }, + }, + async ({ driver, mockedEndpoint }) => { + await unlockWallet(driver); + await expectNoMockRequest(driver, mockedEndpoint[0], { timeout: 3000 }); + }, + ); + }); + + it('sends automated trace when opening UI if metrics enabled', async function () { + await withFixtures( + { + fixtures: new FixtureBuilder() + .withMetaMetricsController({ + participateInMetaMetrics: true, + }) + .build(), + ganacheOptions: defaultGanacheOptions, + title: this.test?.fullTitle(), + testSpecificMock: mockSentryAutomatedTrace, + manifestFlags: { + doNotForceSentryForThisTest: true, + }, + }, + async ({ driver, mockedEndpoint }) => { + await unlockWallet(driver); + await expectMockRequest(driver, mockedEndpoint[0], { timeout: 3000 }); + }, + ); + }); + + it('does not send automated trace when opening UI if metrics disabled @no-mmi', async function () { + await withFixtures( + { + fixtures: new FixtureBuilder() + .withMetaMetricsController({ + participateInMetaMetrics: false, + }) + .build(), + ganacheOptions: defaultGanacheOptions, + title: this.test?.fullTitle(), + testSpecificMock: mockSentryAutomatedTrace, + manifestFlags: { + doNotForceSentryForThisTest: true, + }, + }, + async ({ driver, mockedEndpoint }) => { + await unlockWallet(driver); + await expectNoMockRequest(driver, mockedEndpoint[0], { timeout: 3000 }); + }, + ); + }); +}); From 82b0321eae52e2f3280e342d7db3e97bec96044f Mon Sep 17 00:00:00 2001 From: Maarten Zuidhoorn Date: Thu, 19 Sep 2024 11:09:10 +0200 Subject: [PATCH 29/37] chore: Bump Snaps packages (#27057) ## **Description** This bumps Snaps packages to the latest version. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27057?quickstart=1) --------- Co-authored-by: Hassan Malik <41640681+hmalik88@users.noreply.github.com> Co-authored-by: MetaMask Bot Co-authored-by: Guillaume Roux Co-authored-by: David Drazic Co-authored-by: Frederik Bolding Co-authored-by: Olaf Tomalka --- ...aps-controllers-npm-9.5.0-8b21e3c072.patch | 13 - builds.yml | 8 +- .../webpack/utils/loaders/swcLoader.ts | 10 + lavamoat/browserify/beta/policy.json | 101 +--- lavamoat/browserify/flask/policy.json | 101 +--- lavamoat/browserify/main/policy.json | 101 +--- lavamoat/browserify/mmi/policy.json | 101 +--- package.json | 16 +- test/e2e/snaps/enums.js | 2 +- test/e2e/snaps/test-snap-metrics.spec.js | 4 +- .../app/confirm/info/row/value-double.tsx | 2 +- .../safe-component-list.js | 2 + .../snap-footer-button/snap-footer-button.tsx | 32 +- .../snap-ui-address.test.tsx.snap | 498 ++++++++++++++++++ .../app/snaps/snap-ui-address/index.ts | 1 + .../snap-ui-address.stories.tsx | 70 +++ .../snap-ui-address/snap-ui-address.test.tsx | 134 +++++ .../snaps/snap-ui-address/snap-ui-address.tsx | 67 +++ .../app/snaps/snap-ui-button/index.scss | 4 +- .../snaps/snap-ui-button/snap-ui-button.tsx | 4 +- .../app/snaps/snap-ui-form/snap-ui-form.tsx | 2 +- .../app/snaps/snap-ui-input/index.scss | 18 +- .../snap-ui-renderer/components/address.ts | 4 +- .../snaps/snap-ui-renderer/components/box.ts | 13 +- .../snap-ui-renderer/components/button.ts | 1 + .../snap-ui-renderer/components/container.ts | 2 +- .../snap-ui-renderer/components/divider.ts | 2 +- .../snap-ui-renderer/components/field.ts | 55 +- .../snap-ui-renderer/components/footer.ts | 2 +- .../snap-ui-renderer/components/index.ts | 2 + .../snap-ui-renderer/components/section.ts | 29 + .../app/snaps/snap-ui-renderer/index.scss | 19 +- .../app/snaps/snap-ui-renderer/utils.ts | 22 + .../snap-ui-selector/snap-ui-selector.tsx | 11 +- .../ui/jazzicon/jazzicon.component.tsx | 31 +- ui/components/ui/jazzicon/jazzicon.d.ts | 2 +- ui/helpers/utils/icon-factory.ts | 18 +- .../confirmation/confirmation.js | 11 +- ui/pages/snaps/snap-view/snap-view.js | 28 +- ui/selectors/selectors.js | 10 + yarn.lock | 184 +++---- 41 files changed, 1140 insertions(+), 597 deletions(-) delete mode 100644 .yarn/patches/@metamask-snaps-controllers-npm-9.5.0-8b21e3c072.patch create mode 100644 ui/components/app/snaps/snap-ui-address/__snapshots__/snap-ui-address.test.tsx.snap create mode 100644 ui/components/app/snaps/snap-ui-address/index.ts create mode 100644 ui/components/app/snaps/snap-ui-address/snap-ui-address.stories.tsx create mode 100644 ui/components/app/snaps/snap-ui-address/snap-ui-address.test.tsx create mode 100644 ui/components/app/snaps/snap-ui-address/snap-ui-address.tsx create mode 100644 ui/components/app/snaps/snap-ui-renderer/components/section.ts diff --git a/.yarn/patches/@metamask-snaps-controllers-npm-9.5.0-8b21e3c072.patch b/.yarn/patches/@metamask-snaps-controllers-npm-9.5.0-8b21e3c072.patch deleted file mode 100644 index 314a33b9f881..000000000000 --- a/.yarn/patches/@metamask-snaps-controllers-npm-9.5.0-8b21e3c072.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/package.json b/package.json -index e738c058c38f8bc5c14bab9644ecced32eefa075..9aba0d03fc642572fcbdc2c791e335df72d70f35 100644 ---- a/package.json -+++ b/package.json -@@ -9,7 +9,7 @@ - "sideEffects": false, - "exports": { - ".": { -- "import": "./dist/index.mjs", -+ "import": "./dist/index.js", - "require": "./dist/index.js", - "types": "./dist/types/index.d.ts" - }, diff --git a/builds.yml b/builds.yml index 62989545775f..89d41923540c 100644 --- a/builds.yml +++ b/builds.yml @@ -26,7 +26,7 @@ buildTypes: - SEGMENT_WRITE_KEY_REF: SEGMENT_PROD_WRITE_KEY - ALLOW_LOCAL_SNAPS: false - REQUIRE_SNAPS_ALLOWLIST: true - - IFRAME_EXECUTION_ENVIRONMENT_URL: https://execution.metamask.io/iframe/6.6.2/index.html + - IFRAME_EXECUTION_ENVIRONMENT_URL: https://execution.metamask.io/iframe/6.7.0/index.html - ACCOUNT_SNAPS_DIRECTORY_URL: https://snaps.metamask.io/account-management # Main build uses the default browser manifest manifestOverrides: false @@ -46,7 +46,7 @@ buildTypes: - SEGMENT_WRITE_KEY_REF: SEGMENT_BETA_WRITE_KEY - ALLOW_LOCAL_SNAPS: false - REQUIRE_SNAPS_ALLOWLIST: true - - IFRAME_EXECUTION_ENVIRONMENT_URL: https://execution.metamask.io/iframe/6.6.2/index.html + - IFRAME_EXECUTION_ENVIRONMENT_URL: https://execution.metamask.io/iframe/6.7.0/index.html - ACCOUNT_SNAPS_DIRECTORY_URL: https://snaps.metamask.io/account-management # Modifies how the version is displayed. # eg. instead of 10.25.0 -> 10.25.0-beta.2 @@ -67,7 +67,7 @@ buildTypes: - SEGMENT_FLASK_WRITE_KEY - ALLOW_LOCAL_SNAPS: true - REQUIRE_SNAPS_ALLOWLIST: false - - IFRAME_EXECUTION_ENVIRONMENT_URL: https://execution.metamask.io/iframe/6.6.2/index.html + - IFRAME_EXECUTION_ENVIRONMENT_URL: https://execution.metamask.io/iframe/6.7.0/index.html - SUPPORT_LINK: https://support.metamask.io/ - SUPPORT_REQUEST_LINK: https://support.metamask.io/ - INFURA_ENV_KEY_REF: INFURA_FLASK_PROJECT_ID @@ -90,7 +90,7 @@ buildTypes: - SEGMENT_WRITE_KEY_REF: SEGMENT_MMI_WRITE_KEY - ALLOW_LOCAL_SNAPS: false - REQUIRE_SNAPS_ALLOWLIST: true - - IFRAME_EXECUTION_ENVIRONMENT_URL: https://execution.metamask.io/iframe/6.6.2/index.html + - IFRAME_EXECUTION_ENVIRONMENT_URL: https://execution.metamask.io/iframe/6.7.0/index.html - MMI_CONFIGURATION_SERVICE_URL: https://configuration.metamask-institutional.io/v2/configuration/default - SUPPORT_LINK: https://support.metamask-institutional.io - SUPPORT_REQUEST_LINK: https://support.metamask-institutional.io diff --git a/development/webpack/utils/loaders/swcLoader.ts b/development/webpack/utils/loaders/swcLoader.ts index b2511a809a27..524aca4e31ab 100644 --- a/development/webpack/utils/loaders/swcLoader.ts +++ b/development/webpack/utils/loaders/swcLoader.ts @@ -29,6 +29,16 @@ const schema = { type: 'boolean', default: false, }, + experimental: { + type: 'object', + properties: { + keepImportAttributes: { + type: 'boolean', + default: false, + }, + }, + additionalProperties: false, + }, transform: { type: 'object', properties: { diff --git a/lavamoat/browserify/beta/policy.json b/lavamoat/browserify/beta/policy.json index e9711e5467ab..9f5281aa4f25 100644 --- a/lavamoat/browserify/beta/policy.json +++ b/lavamoat/browserify/beta/policy.json @@ -964,26 +964,11 @@ "packages": { "@ethereumjs/tx": true, "@metamask/eth-sig-util": true, - "@metamask/eth-snap-keyring>@metamask/utils": true, "@metamask/eth-snap-keyring>uuid": true, "@metamask/keyring-api": true, - "superstruct": true, - "webpack>events": true - } - }, - "@metamask/eth-snap-keyring>@metamask/utils": { - "globals": { - "TextDecoder": true, - "TextEncoder": true - }, - "packages": { + "@metamask/utils": true, "@metamask/utils>@metamask/superstruct": true, - "@metamask/utils>@scure/base": true, - "@metamask/utils>pony-cause": true, - "@noble/hashes": true, - "browserify>buffer": true, - "nock>debug": true, - "semver": true + "webpack>events": true } }, "@metamask/eth-snap-keyring>uuid": { @@ -1970,25 +1955,10 @@ "removeEventListener": true }, "packages": { - "@metamask/post-message-stream>@metamask/utils": true, + "@metamask/utils": true, "readable-stream": true } }, - "@metamask/post-message-stream>@metamask/utils": { - "globals": { - "TextDecoder": true, - "TextEncoder": true - }, - "packages": { - "@metamask/utils>@metamask/superstruct": true, - "@metamask/utils>@scure/base": true, - "@metamask/utils>pony-cause": true, - "@noble/hashes": true, - "browserify>buffer": true, - "nock>debug": true, - "semver": true - } - }, "@metamask/ppom-validator": { "globals": { "URL": true, @@ -2527,6 +2497,7 @@ "@metamask/utils": true, "browserify>browserify-zlib": true, "eslint>fast-deep-equal": true, + "immer": true, "readable-stream": true } }, @@ -2627,74 +2598,10 @@ }, "packages": { "@metamask/post-message-stream": true, - "@metamask/snaps-execution-environments>@metamask/snaps-utils": true, "@metamask/snaps-utils": true, "@metamask/utils": true } }, - "@metamask/snaps-execution-environments>@metamask/snaps-utils": { - "globals": { - "File": true, - "FileReader": true, - "TextDecoder": true, - "TextEncoder": true, - "URL": true, - "console.error": true, - "console.log": true, - "console.warn": true, - "crypto": true, - "document.body.appendChild": true, - "document.createElement": true, - "fetch": true - }, - "packages": { - "@metamask/eth-snap-keyring>@metamask/snaps-utils>@metamask/slip44": true, - "@metamask/rpc-errors": true, - "@metamask/snaps-execution-environments>@metamask/snaps-utils>@metamask/permission-controller": true, - "@metamask/snaps-sdk": true, - "@metamask/snaps-sdk>@metamask/key-tree": true, - "@metamask/snaps-utils>cron-parser": true, - "@metamask/snaps-utils>fast-json-stable-stringify": true, - "@metamask/snaps-utils>fast-xml-parser": true, - "@metamask/snaps-utils>marked": true, - "@metamask/snaps-utils>rfdc": true, - "@metamask/snaps-utils>validate-npm-package-name": true, - "@metamask/utils": true, - "@metamask/utils>@metamask/superstruct": true, - "@metamask/utils>@scure/base": true, - "@noble/hashes": true, - "chalk": true, - "semver": true - } - }, - "@metamask/snaps-execution-environments>@metamask/snaps-utils>@metamask/base-controller": { - "globals": { - "setTimeout": true - }, - "packages": { - "immer": true - } - }, - "@metamask/snaps-execution-environments>@metamask/snaps-utils>@metamask/permission-controller": { - "globals": { - "console.error": true - }, - "packages": { - "@metamask/controller-utils": true, - "@metamask/rpc-errors": true, - "@metamask/snaps-controllers>@metamask/json-rpc-engine": true, - "@metamask/snaps-execution-environments>@metamask/snaps-utils>@metamask/base-controller": true, - "@metamask/snaps-execution-environments>nanoid": true, - "@metamask/utils": true, - "deep-freeze-strict": true, - "immer": true - } - }, - "@metamask/snaps-execution-environments>nanoid": { - "globals": { - "crypto.getRandomValues": true - } - }, "@metamask/snaps-rpc-methods": { "packages": { "@metamask/rpc-errors": true, diff --git a/lavamoat/browserify/flask/policy.json b/lavamoat/browserify/flask/policy.json index e9711e5467ab..9f5281aa4f25 100644 --- a/lavamoat/browserify/flask/policy.json +++ b/lavamoat/browserify/flask/policy.json @@ -964,26 +964,11 @@ "packages": { "@ethereumjs/tx": true, "@metamask/eth-sig-util": true, - "@metamask/eth-snap-keyring>@metamask/utils": true, "@metamask/eth-snap-keyring>uuid": true, "@metamask/keyring-api": true, - "superstruct": true, - "webpack>events": true - } - }, - "@metamask/eth-snap-keyring>@metamask/utils": { - "globals": { - "TextDecoder": true, - "TextEncoder": true - }, - "packages": { + "@metamask/utils": true, "@metamask/utils>@metamask/superstruct": true, - "@metamask/utils>@scure/base": true, - "@metamask/utils>pony-cause": true, - "@noble/hashes": true, - "browserify>buffer": true, - "nock>debug": true, - "semver": true + "webpack>events": true } }, "@metamask/eth-snap-keyring>uuid": { @@ -1970,25 +1955,10 @@ "removeEventListener": true }, "packages": { - "@metamask/post-message-stream>@metamask/utils": true, + "@metamask/utils": true, "readable-stream": true } }, - "@metamask/post-message-stream>@metamask/utils": { - "globals": { - "TextDecoder": true, - "TextEncoder": true - }, - "packages": { - "@metamask/utils>@metamask/superstruct": true, - "@metamask/utils>@scure/base": true, - "@metamask/utils>pony-cause": true, - "@noble/hashes": true, - "browserify>buffer": true, - "nock>debug": true, - "semver": true - } - }, "@metamask/ppom-validator": { "globals": { "URL": true, @@ -2527,6 +2497,7 @@ "@metamask/utils": true, "browserify>browserify-zlib": true, "eslint>fast-deep-equal": true, + "immer": true, "readable-stream": true } }, @@ -2627,74 +2598,10 @@ }, "packages": { "@metamask/post-message-stream": true, - "@metamask/snaps-execution-environments>@metamask/snaps-utils": true, "@metamask/snaps-utils": true, "@metamask/utils": true } }, - "@metamask/snaps-execution-environments>@metamask/snaps-utils": { - "globals": { - "File": true, - "FileReader": true, - "TextDecoder": true, - "TextEncoder": true, - "URL": true, - "console.error": true, - "console.log": true, - "console.warn": true, - "crypto": true, - "document.body.appendChild": true, - "document.createElement": true, - "fetch": true - }, - "packages": { - "@metamask/eth-snap-keyring>@metamask/snaps-utils>@metamask/slip44": true, - "@metamask/rpc-errors": true, - "@metamask/snaps-execution-environments>@metamask/snaps-utils>@metamask/permission-controller": true, - "@metamask/snaps-sdk": true, - "@metamask/snaps-sdk>@metamask/key-tree": true, - "@metamask/snaps-utils>cron-parser": true, - "@metamask/snaps-utils>fast-json-stable-stringify": true, - "@metamask/snaps-utils>fast-xml-parser": true, - "@metamask/snaps-utils>marked": true, - "@metamask/snaps-utils>rfdc": true, - "@metamask/snaps-utils>validate-npm-package-name": true, - "@metamask/utils": true, - "@metamask/utils>@metamask/superstruct": true, - "@metamask/utils>@scure/base": true, - "@noble/hashes": true, - "chalk": true, - "semver": true - } - }, - "@metamask/snaps-execution-environments>@metamask/snaps-utils>@metamask/base-controller": { - "globals": { - "setTimeout": true - }, - "packages": { - "immer": true - } - }, - "@metamask/snaps-execution-environments>@metamask/snaps-utils>@metamask/permission-controller": { - "globals": { - "console.error": true - }, - "packages": { - "@metamask/controller-utils": true, - "@metamask/rpc-errors": true, - "@metamask/snaps-controllers>@metamask/json-rpc-engine": true, - "@metamask/snaps-execution-environments>@metamask/snaps-utils>@metamask/base-controller": true, - "@metamask/snaps-execution-environments>nanoid": true, - "@metamask/utils": true, - "deep-freeze-strict": true, - "immer": true - } - }, - "@metamask/snaps-execution-environments>nanoid": { - "globals": { - "crypto.getRandomValues": true - } - }, "@metamask/snaps-rpc-methods": { "packages": { "@metamask/rpc-errors": true, diff --git a/lavamoat/browserify/main/policy.json b/lavamoat/browserify/main/policy.json index e9711e5467ab..9f5281aa4f25 100644 --- a/lavamoat/browserify/main/policy.json +++ b/lavamoat/browserify/main/policy.json @@ -964,26 +964,11 @@ "packages": { "@ethereumjs/tx": true, "@metamask/eth-sig-util": true, - "@metamask/eth-snap-keyring>@metamask/utils": true, "@metamask/eth-snap-keyring>uuid": true, "@metamask/keyring-api": true, - "superstruct": true, - "webpack>events": true - } - }, - "@metamask/eth-snap-keyring>@metamask/utils": { - "globals": { - "TextDecoder": true, - "TextEncoder": true - }, - "packages": { + "@metamask/utils": true, "@metamask/utils>@metamask/superstruct": true, - "@metamask/utils>@scure/base": true, - "@metamask/utils>pony-cause": true, - "@noble/hashes": true, - "browserify>buffer": true, - "nock>debug": true, - "semver": true + "webpack>events": true } }, "@metamask/eth-snap-keyring>uuid": { @@ -1970,25 +1955,10 @@ "removeEventListener": true }, "packages": { - "@metamask/post-message-stream>@metamask/utils": true, + "@metamask/utils": true, "readable-stream": true } }, - "@metamask/post-message-stream>@metamask/utils": { - "globals": { - "TextDecoder": true, - "TextEncoder": true - }, - "packages": { - "@metamask/utils>@metamask/superstruct": true, - "@metamask/utils>@scure/base": true, - "@metamask/utils>pony-cause": true, - "@noble/hashes": true, - "browserify>buffer": true, - "nock>debug": true, - "semver": true - } - }, "@metamask/ppom-validator": { "globals": { "URL": true, @@ -2527,6 +2497,7 @@ "@metamask/utils": true, "browserify>browserify-zlib": true, "eslint>fast-deep-equal": true, + "immer": true, "readable-stream": true } }, @@ -2627,74 +2598,10 @@ }, "packages": { "@metamask/post-message-stream": true, - "@metamask/snaps-execution-environments>@metamask/snaps-utils": true, "@metamask/snaps-utils": true, "@metamask/utils": true } }, - "@metamask/snaps-execution-environments>@metamask/snaps-utils": { - "globals": { - "File": true, - "FileReader": true, - "TextDecoder": true, - "TextEncoder": true, - "URL": true, - "console.error": true, - "console.log": true, - "console.warn": true, - "crypto": true, - "document.body.appendChild": true, - "document.createElement": true, - "fetch": true - }, - "packages": { - "@metamask/eth-snap-keyring>@metamask/snaps-utils>@metamask/slip44": true, - "@metamask/rpc-errors": true, - "@metamask/snaps-execution-environments>@metamask/snaps-utils>@metamask/permission-controller": true, - "@metamask/snaps-sdk": true, - "@metamask/snaps-sdk>@metamask/key-tree": true, - "@metamask/snaps-utils>cron-parser": true, - "@metamask/snaps-utils>fast-json-stable-stringify": true, - "@metamask/snaps-utils>fast-xml-parser": true, - "@metamask/snaps-utils>marked": true, - "@metamask/snaps-utils>rfdc": true, - "@metamask/snaps-utils>validate-npm-package-name": true, - "@metamask/utils": true, - "@metamask/utils>@metamask/superstruct": true, - "@metamask/utils>@scure/base": true, - "@noble/hashes": true, - "chalk": true, - "semver": true - } - }, - "@metamask/snaps-execution-environments>@metamask/snaps-utils>@metamask/base-controller": { - "globals": { - "setTimeout": true - }, - "packages": { - "immer": true - } - }, - "@metamask/snaps-execution-environments>@metamask/snaps-utils>@metamask/permission-controller": { - "globals": { - "console.error": true - }, - "packages": { - "@metamask/controller-utils": true, - "@metamask/rpc-errors": true, - "@metamask/snaps-controllers>@metamask/json-rpc-engine": true, - "@metamask/snaps-execution-environments>@metamask/snaps-utils>@metamask/base-controller": true, - "@metamask/snaps-execution-environments>nanoid": true, - "@metamask/utils": true, - "deep-freeze-strict": true, - "immer": true - } - }, - "@metamask/snaps-execution-environments>nanoid": { - "globals": { - "crypto.getRandomValues": true - } - }, "@metamask/snaps-rpc-methods": { "packages": { "@metamask/rpc-errors": true, diff --git a/lavamoat/browserify/mmi/policy.json b/lavamoat/browserify/mmi/policy.json index ba37c2883157..6d8c4c43bcb8 100644 --- a/lavamoat/browserify/mmi/policy.json +++ b/lavamoat/browserify/mmi/policy.json @@ -1056,26 +1056,11 @@ "packages": { "@ethereumjs/tx": true, "@metamask/eth-sig-util": true, - "@metamask/eth-snap-keyring>@metamask/utils": true, "@metamask/eth-snap-keyring>uuid": true, "@metamask/keyring-api": true, - "superstruct": true, - "webpack>events": true - } - }, - "@metamask/eth-snap-keyring>@metamask/utils": { - "globals": { - "TextDecoder": true, - "TextEncoder": true - }, - "packages": { + "@metamask/utils": true, "@metamask/utils>@metamask/superstruct": true, - "@metamask/utils>@scure/base": true, - "@metamask/utils>pony-cause": true, - "@noble/hashes": true, - "browserify>buffer": true, - "nock>debug": true, - "semver": true + "webpack>events": true } }, "@metamask/eth-snap-keyring>uuid": { @@ -2062,25 +2047,10 @@ "removeEventListener": true }, "packages": { - "@metamask/post-message-stream>@metamask/utils": true, + "@metamask/utils": true, "readable-stream": true } }, - "@metamask/post-message-stream>@metamask/utils": { - "globals": { - "TextDecoder": true, - "TextEncoder": true - }, - "packages": { - "@metamask/utils>@metamask/superstruct": true, - "@metamask/utils>@scure/base": true, - "@metamask/utils>pony-cause": true, - "@noble/hashes": true, - "browserify>buffer": true, - "nock>debug": true, - "semver": true - } - }, "@metamask/ppom-validator": { "globals": { "URL": true, @@ -2619,6 +2589,7 @@ "@metamask/utils": true, "browserify>browserify-zlib": true, "eslint>fast-deep-equal": true, + "immer": true, "readable-stream": true } }, @@ -2719,74 +2690,10 @@ }, "packages": { "@metamask/post-message-stream": true, - "@metamask/snaps-execution-environments>@metamask/snaps-utils": true, "@metamask/snaps-utils": true, "@metamask/utils": true } }, - "@metamask/snaps-execution-environments>@metamask/snaps-utils": { - "globals": { - "File": true, - "FileReader": true, - "TextDecoder": true, - "TextEncoder": true, - "URL": true, - "console.error": true, - "console.log": true, - "console.warn": true, - "crypto": true, - "document.body.appendChild": true, - "document.createElement": true, - "fetch": true - }, - "packages": { - "@metamask/eth-snap-keyring>@metamask/snaps-utils>@metamask/slip44": true, - "@metamask/rpc-errors": true, - "@metamask/snaps-execution-environments>@metamask/snaps-utils>@metamask/permission-controller": true, - "@metamask/snaps-sdk": true, - "@metamask/snaps-sdk>@metamask/key-tree": true, - "@metamask/snaps-utils>cron-parser": true, - "@metamask/snaps-utils>fast-json-stable-stringify": true, - "@metamask/snaps-utils>fast-xml-parser": true, - "@metamask/snaps-utils>marked": true, - "@metamask/snaps-utils>rfdc": true, - "@metamask/snaps-utils>validate-npm-package-name": true, - "@metamask/utils": true, - "@metamask/utils>@metamask/superstruct": true, - "@metamask/utils>@scure/base": true, - "@noble/hashes": true, - "chalk": true, - "semver": true - } - }, - "@metamask/snaps-execution-environments>@metamask/snaps-utils>@metamask/base-controller": { - "globals": { - "setTimeout": true - }, - "packages": { - "immer": true - } - }, - "@metamask/snaps-execution-environments>@metamask/snaps-utils>@metamask/permission-controller": { - "globals": { - "console.error": true - }, - "packages": { - "@metamask/controller-utils": true, - "@metamask/rpc-errors": true, - "@metamask/snaps-controllers>@metamask/json-rpc-engine": true, - "@metamask/snaps-execution-environments>@metamask/snaps-utils>@metamask/base-controller": true, - "@metamask/snaps-execution-environments>nanoid": true, - "@metamask/utils": true, - "deep-freeze-strict": true, - "immer": true - } - }, - "@metamask/snaps-execution-environments>nanoid": { - "globals": { - "crypto.getRandomValues": true - } - }, "@metamask/snaps-rpc-methods": { "packages": { "@metamask/rpc-errors": true, diff --git a/package.json b/package.json index 4cee6dcdd7b0..ee89fac5f874 100644 --- a/package.json +++ b/package.json @@ -228,7 +228,7 @@ "semver@7.3.8": "^7.5.4", "@trezor/schema-utils@npm:1.0.2": "patch:@trezor/schema-utils@npm%3A1.0.2#~/.yarn/patches/@trezor-schema-utils-npm-1.0.2-7dd48689b2.patch", "lavamoat-core@npm:^15.1.1": "patch:lavamoat-core@npm%3A15.1.1#~/.yarn/patches/lavamoat-core-npm-15.1.1-51fbe39988.patch", - "@metamask/snaps-sdk": "^6.3.0", + "@metamask/snaps-sdk": "^6.5.1", "@swc/types@0.1.5": "^0.1.6", "@babel/runtime@npm:^7.7.6": "patch:@babel/runtime@npm%3A7.24.0#~/.yarn/patches/@babel-runtime-npm-7.24.0-7eb1dd11a2.patch", "@babel/runtime@npm:^7.9.2": "patch:@babel/runtime@npm%3A7.24.0#~/.yarn/patches/@babel-runtime-npm-7.24.0-7eb1dd11a2.patch", @@ -262,8 +262,6 @@ "@metamask/message-manager": "^10.1.0", "@metamask/network-controller@npm:^19.0.0": "patch:@metamask/network-controller@npm%3A20.2.0#~/.yarn/patches/@metamask-network-controller-npm-20.2.0-98b1a5ae59.patch", "@metamask/gas-fee-controller@npm:^15.1.1": "patch:@metamask/gas-fee-controller@npm%3A15.1.2#~/.yarn/patches/@metamask-gas-fee-controller-npm-15.1.2-db4d2976aa.patch", - "@metamask/snaps-controllers@npm:^8.1.1": "patch:@metamask/snaps-controllers@npm%3A9.5.0#~/.yarn/patches/@metamask-snaps-controllers-npm-9.5.0-8b21e3c072.patch", - "@metamask/snaps-controllers@npm:^9.5.0": "patch:@metamask/snaps-controllers@npm%3A9.5.0#~/.yarn/patches/@metamask-snaps-controllers-npm-9.5.0-8b21e3c072.patch", "@metamask/nonce-tracker@npm:^5.0.0": "patch:@metamask/nonce-tracker@npm%3A5.0.0#~/.yarn/patches/@metamask-nonce-tracker-npm-5.0.0-d81478218e.patch", "@metamask/keyring-controller@npm:^16.0.0": "patch:@metamask/keyring-controller@npm%3A17.1.1#~/.yarn/patches/@metamask-keyring-controller-npm-17.1.1-098cb41930.patch", "@metamask/keyring-controller@npm:^17.1.0": "patch:@metamask/keyring-controller@npm%3A17.1.1#~/.yarn/patches/@metamask-keyring-controller-npm-17.1.1-098cb41930.patch", @@ -318,7 +316,7 @@ "@metamask/eth-ledger-bridge-keyring": "^3.0.1", "@metamask/eth-query": "^4.0.0", "@metamask/eth-sig-util": "^7.0.1", - "@metamask/eth-snap-keyring": "^4.3.1", + "@metamask/eth-snap-keyring": "^4.3.3", "@metamask/eth-token-tracker": "^8.0.0", "@metamask/eth-trezor-keyring": "^3.1.0", "@metamask/etherscan-link": "^3.0.0", @@ -355,11 +353,11 @@ "@metamask/selected-network-controller": "^15.0.2", "@metamask/signature-controller": "^19.0.0", "@metamask/smart-transactions-controller": "^13.0.0", - "@metamask/snaps-controllers": "^9.5.0", - "@metamask/snaps-execution-environments": "^6.6.2", - "@metamask/snaps-rpc-methods": "^11.0.0", - "@metamask/snaps-sdk": "^6.3.0", - "@metamask/snaps-utils": "^8.0.1", + "@metamask/snaps-controllers": "^9.7.0", + "@metamask/snaps-execution-environments": "^6.7.2", + "@metamask/snaps-rpc-methods": "^11.1.1", + "@metamask/snaps-sdk": "^6.5.1", + "@metamask/snaps-utils": "^8.1.1", "@metamask/transaction-controller": "^37.0.0", "@metamask/user-operation-controller": "^13.0.0", "@metamask/utils": "^9.1.0", diff --git a/test/e2e/snaps/enums.js b/test/e2e/snaps/enums.js index a7a69e13a13c..2b1a6bc6532d 100644 --- a/test/e2e/snaps/enums.js +++ b/test/e2e/snaps/enums.js @@ -1,3 +1,3 @@ module.exports = { - TEST_SNAPS_WEBSITE_URL: 'https://metamask.github.io/snaps/test-snaps/2.13.0/', + TEST_SNAPS_WEBSITE_URL: 'https://metamask.github.io/snaps/test-snaps/2.13.1/', }; diff --git a/test/e2e/snaps/test-snap-metrics.spec.js b/test/e2e/snaps/test-snap-metrics.spec.js index 6856aab2fd08..a26671ca4261 100644 --- a/test/e2e/snaps/test-snap-metrics.spec.js +++ b/test/e2e/snaps/test-snap-metrics.spec.js @@ -234,7 +234,7 @@ describe('Test Snap Metrics', function () { assert.deepStrictEqual(events[1].properties, { snap_id: 'npm:@metamask/notification-example-snap', origin: 'https://metamask.github.io', - version: '2.1.3', + version: '2.1.4', category: 'Snaps', locale: 'en', chain_id: '0x539', @@ -501,7 +501,7 @@ describe('Test Snap Metrics', function () { const events = await getEventPayloads(driver, mockedEndpoints); assert.deepStrictEqual(events[0].properties, { snap_id: 'npm:@metamask/notification-example-snap', - version: '2.1.3', + version: '2.1.4', category: 'Snaps', locale: 'en', chain_id: '0x539', diff --git a/ui/components/app/confirm/info/row/value-double.tsx b/ui/components/app/confirm/info/row/value-double.tsx index adf7510ba2bd..b58016541c07 100644 --- a/ui/components/app/confirm/info/row/value-double.tsx +++ b/ui/components/app/confirm/info/row/value-double.tsx @@ -33,7 +33,7 @@ export const ConfirmInfoRowValueDouble = ({ flexDirection={FlexDirection.Row} alignItems={AlignItems.center} flexWrap={FlexWrap.Wrap} - gap={2} + gap={1} > {left} {right} diff --git a/ui/components/app/metamask-template-renderer/safe-component-list.js b/ui/components/app/metamask-template-renderer/safe-component-list.js index 40932c2fbb4a..5756c5cbed2b 100644 --- a/ui/components/app/metamask-template-renderer/safe-component-list.js +++ b/ui/components/app/metamask-template-renderer/safe-component-list.js @@ -42,6 +42,7 @@ import { SnapUIRadioGroup } from '../snaps/snap-ui-radio-group'; import { SnapUICheckbox } from '../snaps/snap-ui-checkbox'; import { SnapUITooltip } from '../snaps/snap-ui-tooltip'; import { SnapUICard } from '../snaps/snap-ui-card'; +import { SnapUIAddress } from '../snaps/snap-ui-address'; import { SnapUISelector } from '../snaps/snap-ui-selector'; import { SnapFooterButton } from '../snaps/snap-footer-button'; ///: BEGIN:ONLY_INCLUDE_IF(keyring-snaps) @@ -104,6 +105,7 @@ export const safeComponentList = { SnapUITooltip, SnapUICard, SnapUISelector, + SnapUIAddress, SnapFooterButton, FormTextField, ///: BEGIN:ONLY_INCLUDE_IF(keyring-snaps) diff --git a/ui/components/app/snaps/snap-footer-button/snap-footer-button.tsx b/ui/components/app/snaps/snap-footer-button/snap-footer-button.tsx index 04f84b64f23c..e2b8c9609714 100644 --- a/ui/components/app/snaps/snap-footer-button/snap-footer-button.tsx +++ b/ui/components/app/snaps/snap-footer-button/snap-footer-button.tsx @@ -1,6 +1,16 @@ import React, { FunctionComponent, MouseEvent as ReactMouseEvent } from 'react'; -import { ButtonVariant, UserInputEventType } from '@metamask/snaps-sdk'; -import { Button, ButtonSize, IconSize } from '../../../component-library'; +import { + ButtonType, + ButtonVariant, + UserInputEventType, +} from '@metamask/snaps-sdk'; +import { useSelector } from 'react-redux'; +import { + Button, + ButtonLinkProps, + ButtonSize, + IconSize, +} from '../../../component-library'; import { AlignItems, Display, @@ -8,6 +18,7 @@ import { } from '../../../../helpers/constants/design-system'; import { useSnapInterfaceContext } from '../../../../contexts/snaps'; import { SnapIcon } from '../snap-icon'; +import { getHideSnapBranding } from '../../../../selectors'; type SnapFooterButtonProps = { name?: string; @@ -15,17 +26,26 @@ type SnapFooterButtonProps = { onCancel?: () => void; }; -export const SnapFooterButton: FunctionComponent = ({ +export const SnapFooterButton: FunctionComponent< + SnapFooterButtonProps & ButtonLinkProps<'button'> +> = ({ onCancel, name, children, isSnapAction = false, + type, + form, ...props }) => { const { handleEvent, snapId } = useSnapInterfaceContext(); + const hideSnapBranding = useSelector((state) => + getHideSnapBranding(state, snapId), + ); const handleSnapAction = (event: ReactMouseEvent) => { - event.preventDefault(); + if (type === ButtonType.Button) { + event.preventDefault(); + } handleEvent({ event: UserInputEventType.ButtonClickEvent, @@ -38,6 +58,8 @@ export const SnapFooterButton: FunctionComponent = ({ return ( )} - {isSnapCustomUIDialog && ( + {isSnapCustomUIDialog && !hideSnapBranding && ( - - } - > + {!snap.hideSnapBranding && ( + + } + /> + )} { + return installedSnaps[snapId]?.hideSnapBranding; + }, +); + /** * Get a memoized version of the target subject metadata. */ diff --git a/yarn.lock b/yarn.lock index 5fd8f17c33a1..cc998430baae 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5329,21 +5329,21 @@ __metadata: languageName: node linkType: hard -"@metamask/eth-snap-keyring@npm:^4.3.1": - version: 4.3.1 - resolution: "@metamask/eth-snap-keyring@npm:4.3.1" +"@metamask/eth-snap-keyring@npm:^4.3.1, @metamask/eth-snap-keyring@npm:^4.3.3": + version: 4.3.3 + resolution: "@metamask/eth-snap-keyring@npm:4.3.3" dependencies: "@ethereumjs/tx": "npm:^4.2.0" - "@metamask/eth-sig-util": "npm:^7.0.1" - "@metamask/keyring-api": "npm:^8.0.0" - "@metamask/snaps-controllers": "npm:^8.1.1" - "@metamask/snaps-sdk": "npm:^4.2.0" - "@metamask/snaps-utils": "npm:^7.4.0" - "@metamask/utils": "npm:^8.4.0" + "@metamask/eth-sig-util": "npm:^7.0.3" + "@metamask/keyring-api": "npm:^8.1.0" + "@metamask/snaps-controllers": "npm:^9.6.0" + "@metamask/snaps-sdk": "npm:^6.4.0" + "@metamask/snaps-utils": "npm:^7.8.0" + "@metamask/superstruct": "npm:^3.1.0" + "@metamask/utils": "npm:^9.2.1" "@types/uuid": "npm:^9.0.1" - superstruct: "npm:^1.0.3" uuid: "npm:^9.0.0" - checksum: 10/6362a499e8e25413bf8039c06e66939104bdb69b9dc22df5a44dd55e32304cffb869d4969755e8b4f3234749c6f382d8bbcdfeafe5a75064e85fa43307dbefee + checksum: 10/035c82afef82a4cee7bc63b5c4f152a132b683017ec90a4b614764a4bc7adcca8faccf78c25adcddca2d29eee2fed08706f07d72afb93640956b86e862d4f555 languageName: node linkType: hard @@ -5954,33 +5954,19 @@ __metadata: languageName: node linkType: hard -"@metamask/phishing-controller@npm:^10.1.1": - version: 10.1.1 - resolution: "@metamask/phishing-controller@npm:10.1.1" - dependencies: - "@metamask/base-controller": "npm:^6.0.2" - "@metamask/controller-utils": "npm:^11.0.2" - "@types/punycode": "npm:^2.1.0" - eth-phishing-detect: "npm:^1.2.0" - fastest-levenshtein: "npm:^1.0.16" - punycode: "npm:^2.1.1" - checksum: 10/4c6723d62a3a0b071fbf4c2b227a2eef6daa5f742bce80677bdf96312393c427d0d3c183ffcc13e065464c6c644f2b556c56e79161757bbccb525d4b34ee46b0 - languageName: node - linkType: hard - -"@metamask/phishing-controller@npm:^12.0.1": - version: 12.0.1 - resolution: "@metamask/phishing-controller@npm:12.0.1" +"@metamask/phishing-controller@npm:^12.0.1, @metamask/phishing-controller@npm:^12.0.2": + version: 12.0.2 + resolution: "@metamask/phishing-controller@npm:12.0.2" dependencies: "@metamask/base-controller": "npm:^7.0.0" - "@metamask/controller-utils": "npm:^11.1.0" + "@metamask/controller-utils": "npm:^11.2.0" "@noble/hashes": "npm:^1.4.0" "@types/punycode": "npm:^2.1.0" eth-phishing-detect: "npm:^1.2.0" ethereum-cryptography: "npm:^2.1.2" fastest-levenshtein: "npm:^1.0.16" punycode: "npm:^2.1.1" - checksum: 10/3f7c69434a783251657f333495fbee1cb8a02ffb731cf430fcd21812482bf1237948c498db74b55fb4e1e6976d71932f4b11c39a26f9e367ffd26a69efa2583e + checksum: 10/78781e1b781c838e303677157616fb3b5e581030fe8f0ed8913f6b75fbcb7ee2ba59a44831936cc68cca8b295ef6546761b40ea3277d810b68d8ed39a58d0e29 languageName: node linkType: hard @@ -6032,13 +6018,13 @@ __metadata: languageName: node linkType: hard -"@metamask/post-message-stream@npm:^8.0.0, @metamask/post-message-stream@npm:^8.1.0": - version: 8.1.0 - resolution: "@metamask/post-message-stream@npm:8.1.0" +"@metamask/post-message-stream@npm:^8.0.0, @metamask/post-message-stream@npm:^8.1.1": + version: 8.1.1 + resolution: "@metamask/post-message-stream@npm:8.1.1" dependencies: - "@metamask/utils": "npm:^8.1.0" + "@metamask/utils": "npm:^9.0.0" readable-stream: "npm:3.6.2" - checksum: 10/0a4f06250e2162b86d0b618e234e3caa3361767af95d0fd86c654aa33352f1948477a1e39d8a40804614f6d8ee29916e63b4f6c70792a0bfc93b2fffaf6fd4c2 + checksum: 10/8218d321abe734522aefaf6b44e4203966c3feaf83e2de6e68eef9dbe92b7fb47fe7fd82eae362147b1d741cc58d78bcc95d8bf02058e260ad2fb978104c96cf languageName: node linkType: hard @@ -6274,9 +6260,9 @@ __metadata: languageName: node linkType: hard -"@metamask/snaps-controllers@npm:9.5.0": - version: 9.5.0 - resolution: "@metamask/snaps-controllers@npm:9.5.0" +"@metamask/snaps-controllers@npm:^9.6.0, @metamask/snaps-controllers@npm:^9.7.0": + version: 9.7.0 + resolution: "@metamask/snaps-controllers@npm:9.7.0" dependencies: "@metamask/approval-controller": "npm:^7.0.2" "@metamask/base-controller": "npm:^6.0.2" @@ -6284,51 +6270,14 @@ __metadata: "@metamask/json-rpc-middleware-stream": "npm:^8.0.2" "@metamask/object-multiplex": "npm:^2.0.0" "@metamask/permission-controller": "npm:^11.0.0" - "@metamask/phishing-controller": "npm:^10.1.1" - "@metamask/post-message-stream": "npm:^8.1.0" + "@metamask/phishing-controller": "npm:^12.0.2" + "@metamask/post-message-stream": "npm:^8.1.1" "@metamask/rpc-errors": "npm:^6.3.1" "@metamask/snaps-registry": "npm:^3.2.1" - "@metamask/snaps-rpc-methods": "npm:^11.0.0" - "@metamask/snaps-sdk": "npm:^6.3.0" - "@metamask/snaps-utils": "npm:^8.0.1" - "@metamask/utils": "npm:^9.1.0" - "@xstate/fsm": "npm:^2.0.0" - browserify-zlib: "npm:^0.2.0" - concat-stream: "npm:^2.0.0" - fast-deep-equal: "npm:^3.1.3" - get-npm-tarball-url: "npm:^2.0.3" - immer: "npm:^9.0.6" - nanoid: "npm:^3.1.31" - readable-stream: "npm:^3.6.2" - readable-web-to-node-stream: "npm:^3.0.2" - tar-stream: "npm:^3.1.7" - peerDependencies: - "@metamask/snaps-execution-environments": ^6.6.2 - peerDependenciesMeta: - "@metamask/snaps-execution-environments": - optional: true - checksum: 10/a71ba096205e9c62ac13b7cc00d34a565072945d9d7bf06aea2f057e1281d4c594871bd7928403dc7a0597dca023b21a222d5c30c1fa306891f5e51baab1df51 - languageName: node - linkType: hard - -"@metamask/snaps-controllers@patch:@metamask/snaps-controllers@npm%3A9.5.0#~/.yarn/patches/@metamask-snaps-controllers-npm-9.5.0-8b21e3c072.patch": - version: 9.5.0 - resolution: "@metamask/snaps-controllers@patch:@metamask/snaps-controllers@npm%3A9.5.0#~/.yarn/patches/@metamask-snaps-controllers-npm-9.5.0-8b21e3c072.patch::version=9.5.0&hash=916653" - dependencies: - "@metamask/approval-controller": "npm:^7.0.2" - "@metamask/base-controller": "npm:^6.0.2" - "@metamask/json-rpc-engine": "npm:^9.0.2" - "@metamask/json-rpc-middleware-stream": "npm:^8.0.2" - "@metamask/object-multiplex": "npm:^2.0.0" - "@metamask/permission-controller": "npm:^11.0.0" - "@metamask/phishing-controller": "npm:^10.1.1" - "@metamask/post-message-stream": "npm:^8.1.0" - "@metamask/rpc-errors": "npm:^6.3.1" - "@metamask/snaps-registry": "npm:^3.2.1" - "@metamask/snaps-rpc-methods": "npm:^11.0.0" - "@metamask/snaps-sdk": "npm:^6.3.0" - "@metamask/snaps-utils": "npm:^8.0.1" - "@metamask/utils": "npm:^9.1.0" + "@metamask/snaps-rpc-methods": "npm:^11.1.1" + "@metamask/snaps-sdk": "npm:^6.5.0" + "@metamask/snaps-utils": "npm:^8.1.1" + "@metamask/utils": "npm:^9.2.1" "@xstate/fsm": "npm:^2.0.0" browserify-zlib: "npm:^0.2.0" concat-stream: "npm:^2.0.0" @@ -6340,30 +6289,30 @@ __metadata: readable-web-to-node-stream: "npm:^3.0.2" tar-stream: "npm:^3.1.7" peerDependencies: - "@metamask/snaps-execution-environments": ^6.6.2 + "@metamask/snaps-execution-environments": ^6.7.1 peerDependenciesMeta: "@metamask/snaps-execution-environments": optional: true - checksum: 10/42c94e15e68bc3d45bd28d50f03f0a90e8c8e36e89c3011a565f211da57979ebf5e780125eeb95507b403b6fc1f93a42b5e628a49bb0b0861fba56f82118b5b6 + checksum: 10/8a353819e60330ef3e338a40b1115d4c830b92b1cc0c92afb2b34bf46fbc906e6da5f905654e1d486cacd40b7025ec74d3cd01cb935090035ce9f1021ce5469f languageName: node linkType: hard -"@metamask/snaps-execution-environments@npm:^6.6.2": - version: 6.6.2 - resolution: "@metamask/snaps-execution-environments@npm:6.6.2" +"@metamask/snaps-execution-environments@npm:^6.7.2": + version: 6.7.2 + resolution: "@metamask/snaps-execution-environments@npm:6.7.2" dependencies: "@metamask/json-rpc-engine": "npm:^9.0.2" "@metamask/object-multiplex": "npm:^2.0.0" - "@metamask/post-message-stream": "npm:^8.1.0" + "@metamask/post-message-stream": "npm:^8.1.1" "@metamask/providers": "npm:^17.1.2" "@metamask/rpc-errors": "npm:^6.3.1" - "@metamask/snaps-sdk": "npm:^6.1.0" - "@metamask/snaps-utils": "npm:^7.8.1" + "@metamask/snaps-sdk": "npm:^6.5.0" + "@metamask/snaps-utils": "npm:^8.1.1" "@metamask/superstruct": "npm:^3.1.0" - "@metamask/utils": "npm:^9.1.0" + "@metamask/utils": "npm:^9.2.1" nanoid: "npm:^3.1.31" readable-stream: "npm:^3.6.2" - checksum: 10/b06b03f784b7c20ac9f39f9bec8a7e2e06ebcd8678659e01745d73f1c08bd2605352144bc8ecab7d6b0a7db69ebf62febad517a5c8a1309aa1e173049ce350e7 + checksum: 10/4b8ec4c0f6e628feeffd92fe4378fd204d2ed78012a1ed5282b24b00c78cebc3b6d7cb1306903b045a2ca887ecc0adafb2c96da4a19f2730a268f4912b36bec3 languageName: node linkType: hard @@ -6379,36 +6328,36 @@ __metadata: languageName: node linkType: hard -"@metamask/snaps-rpc-methods@npm:^11.0.0": - version: 11.0.0 - resolution: "@metamask/snaps-rpc-methods@npm:11.0.0" +"@metamask/snaps-rpc-methods@npm:^11.1.1": + version: 11.1.1 + resolution: "@metamask/snaps-rpc-methods@npm:11.1.1" dependencies: "@metamask/key-tree": "npm:^9.1.2" "@metamask/permission-controller": "npm:^11.0.0" "@metamask/rpc-errors": "npm:^6.3.1" - "@metamask/snaps-sdk": "npm:^6.2.0" - "@metamask/snaps-utils": "npm:^8.0.0" + "@metamask/snaps-sdk": "npm:^6.5.0" + "@metamask/snaps-utils": "npm:^8.1.1" "@metamask/superstruct": "npm:^3.1.0" - "@metamask/utils": "npm:^9.1.0" + "@metamask/utils": "npm:^9.2.1" "@noble/hashes": "npm:^1.3.1" - checksum: 10/2e594d7f9fde910e87525a6ded9a162d2ea8631249b7868ca710df0d8d25c127674079956976c7443e30c96bedb84bf818748a01aad41cfe69f88524781b994f + checksum: 10/e23279dabc6f4ffe2c6c4a7003a624cd5e79b558d7981ec12c23e54a5da25cb7be9bc7bddfa8b2ce84af28a89b42076a2c14ab004b7a976a4426bf1e1de71b5b languageName: node linkType: hard -"@metamask/snaps-sdk@npm:^6.3.0": - version: 6.3.0 - resolution: "@metamask/snaps-sdk@npm:6.3.0" +"@metamask/snaps-sdk@npm:^6.5.1": + version: 6.5.1 + resolution: "@metamask/snaps-sdk@npm:6.5.1" dependencies: "@metamask/key-tree": "npm:^9.1.2" "@metamask/providers": "npm:^17.1.2" "@metamask/rpc-errors": "npm:^6.3.1" "@metamask/superstruct": "npm:^3.1.0" - "@metamask/utils": "npm:^9.1.0" - checksum: 10/9978532c964973c570ec075000cd3940ce19c873047015f8372c8c589d971ce1f2c7e653afcceed69ad2f910ceacc0f6bd5e4c72446e6f6b4fd1cdbcba362fca + "@metamask/utils": "npm:^9.2.1" + checksum: 10/7831fb2ca61a32ad43e971de9307b221f6bd2f65c84a3286f350cfdd2396166c58db6cd2fac9711654a211c8dc2049e591a79ab720b3f5ad562e434f75e95d32 languageName: node linkType: hard -"@metamask/snaps-utils@npm:^7.4.0, @metamask/snaps-utils@npm:^7.8.1": +"@metamask/snaps-utils@npm:^7.4.0, @metamask/snaps-utils@npm:^7.8.0, @metamask/snaps-utils@npm:^7.8.1": version: 7.8.1 resolution: "@metamask/snaps-utils@npm:7.8.1" dependencies: @@ -6439,7 +6388,7 @@ __metadata: languageName: node linkType: hard -"@metamask/snaps-utils@npm:^8.0.0, @metamask/snaps-utils@npm:^8.0.1, @metamask/snaps-utils@npm:^8.1.1": +"@metamask/snaps-utils@npm:^8.1.1": version: 8.1.1 resolution: "@metamask/snaps-utils@npm:8.1.1" dependencies: @@ -6614,7 +6563,7 @@ __metadata: languageName: node linkType: hard -"@metamask/utils@npm:^8.1.0, @metamask/utils@npm:^8.2.0, @metamask/utils@npm:^8.3.0, @metamask/utils@npm:^8.4.0": +"@metamask/utils@npm:^8.1.0, @metamask/utils@npm:^8.2.0, @metamask/utils@npm:^8.3.0": version: 8.5.0 resolution: "@metamask/utils@npm:8.5.0" dependencies: @@ -9502,7 +9451,7 @@ __metadata: languageName: node linkType: hard -"@swc/types@npm:0.1.7, @swc/types@npm:^0.1.5": +"@swc/types@npm:0.1.7": version: 0.1.7 resolution: "@swc/types@npm:0.1.7" dependencies: @@ -9511,6 +9460,15 @@ __metadata: languageName: node linkType: hard +"@swc/types@npm:^0.1.5": + version: 0.1.12 + resolution: "@swc/types@npm:0.1.12" + dependencies: + "@swc/counter": "npm:^0.1.3" + checksum: 10/92dbbc70cd068ea30fb6fbdc1ae8599d6c058a5d09b2923d6e4e24fab5ad7c86a19dd01f349a8e03e300a9321e06911a24df18303b40e307fbd4109372cef2ef + languageName: node + linkType: hard + "@szmarczak/http-timer@npm:^4.0.5": version: 4.0.6 resolution: "@szmarczak/http-timer@npm:4.0.6" @@ -26143,7 +26101,7 @@ __metadata: "@metamask/eth-ledger-bridge-keyring": "npm:^3.0.1" "@metamask/eth-query": "npm:^4.0.0" "@metamask/eth-sig-util": "npm:^7.0.1" - "@metamask/eth-snap-keyring": "npm:^4.3.1" + "@metamask/eth-snap-keyring": "npm:^4.3.3" "@metamask/eth-token-tracker": "npm:^8.0.0" "@metamask/eth-trezor-keyring": "npm:^3.1.0" "@metamask/etherscan-link": "npm:^3.0.0" @@ -26182,11 +26140,11 @@ __metadata: "@metamask/selected-network-controller": "npm:^15.0.2" "@metamask/signature-controller": "npm:^19.0.0" "@metamask/smart-transactions-controller": "npm:^13.0.0" - "@metamask/snaps-controllers": "npm:^9.5.0" - "@metamask/snaps-execution-environments": "npm:^6.6.2" - "@metamask/snaps-rpc-methods": "npm:^11.0.0" - "@metamask/snaps-sdk": "npm:^6.3.0" - "@metamask/snaps-utils": "npm:^8.0.1" + "@metamask/snaps-controllers": "npm:^9.7.0" + "@metamask/snaps-execution-environments": "npm:^6.7.2" + "@metamask/snaps-rpc-methods": "npm:^11.1.1" + "@metamask/snaps-sdk": "npm:^6.5.1" + "@metamask/snaps-utils": "npm:^8.1.1" "@metamask/test-bundler": "npm:^1.0.0" "@metamask/test-dapp": "npm:^8.4.0" "@metamask/transaction-controller": "npm:^37.0.0" From d8b14776c23cd779cc4ebff8739d58b578043f7d Mon Sep 17 00:00:00 2001 From: Matthew Walsh Date: Thu, 19 Sep 2024 12:38:25 +0100 Subject: [PATCH 30/37] fix: no sentry DSN (#27272) --- shared/lib/trace.ts | 47 ++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 44 insertions(+), 3 deletions(-) diff --git a/shared/lib/trace.ts b/shared/lib/trace.ts index f5919bae74e0..aaf3db7d46af 100644 --- a/shared/lib/trace.ts +++ b/shared/lib/trace.ts @@ -114,7 +114,7 @@ function traceCallback(request: TraceRequest, fn: TraceCallback): T { }; return startSpan(request, (spanOptions) => - globalThis.sentry.startSpan(spanOptions, callback), + sentryStartSpan(spanOptions, callback), ); } @@ -138,7 +138,7 @@ function startTrace(request: TraceRequest): TraceContext { }; return startSpan(request, (spanOptions) => - globalThis.sentry.startSpanManual(spanOptions, callback), + sentryStartSpanManual(spanOptions, callback), ); } @@ -157,7 +157,7 @@ function startSpan( startTime, }; - return globalThis.sentry.withIsolationScope((scope: Sentry.Scope) => { + return sentryWithIsolationScope((scope: Sentry.Scope) => { scope.setTags(tags as Record); return callback(spanOptions); @@ -207,3 +207,44 @@ function tryCatchMaybePromise( return undefined; } + +function sentryStartSpan( + spanOptions: StartSpanOptions, + callback: (span: Sentry.Span | null) => T, +): T { + const actual = globalThis.sentry?.startSpan; + + if (!actual) { + return callback(null); + } + + return actual(spanOptions, callback); +} + +function sentryStartSpanManual( + spanOptions: StartSpanOptions, + callback: (span: Sentry.Span | null) => T, +): T { + const actual = globalThis.sentry?.startSpanManual; + + if (!actual) { + return callback(null); + } + + return actual(spanOptions, callback); +} + +function sentryWithIsolationScope(callback: (scope: Sentry.Scope) => T): T { + const actual = globalThis.sentry?.withIsolationScope; + + if (!actual) { + const scope = { + // eslint-disable-next-line no-empty-function + setTags: () => {}, + } as unknown as Sentry.Scope; + + return callback(scope); + } + + return actual(callback); +} From b15e7cdc91435276eca39daff941769d3431ec0d Mon Sep 17 00:00:00 2001 From: Mathieu Artu Date: Thu, 19 Sep 2024 15:14:47 +0200 Subject: [PATCH 31/37] feat(NOTIFY-866): add account syncing (#27060) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## **Description** This PR adds [account syncing](https://www.figma.com/board/sx26FtZcQc0zs0z5hpdqBh/Account-Syncing-Solution?t=5Oy00gbHLnoPqyYP-0) to MetaMask. As part of profile syncing, with this new feature, users will be able to synchronize all of their accounts and accounts' names across all of their devices. [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27060?quickstart=1) ## **Related issues** Fixes: [NOTIFY-866](https://consensyssoftware.atlassian.net/jira/software/projects/NOTIFY/boards/616?assignee=712020%3A5843b7e2-a7fe-4c45-9fbd-e1f2b2eb58c2&selectedIssue=NOTIFY-866) ## **Manual testing steps** 1. Log in with SRP 2. Activate profile syncing in preferences 3. Add new accounts and rename others 4. Using another browser, log in with SRP 5. Activate profile syncing in preferences 6. Watch the magic happen! ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [x] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [x] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. [NOTIFY-866]: https://consensyssoftware.atlassian.net/browse/NOTIFY-866?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ --------- Co-authored-by: MetaMask Bot Co-authored-by: Nick Gambino <35090461+gambinish@users.noreply.github.com> Co-authored-by: Brian Bergeron Co-authored-by: Jack Clancy --- ...ing-controller-npm-17.1.1-098cb41930.patch | 13 --- app/scripts/metamask-controller.js | 32 +++++ lavamoat/browserify/beta/policy.json | 10 +- lavamoat/browserify/flask/policy.json | 10 +- lavamoat/browserify/main/policy.json | 10 +- lavamoat/browserify/mmi/policy.json | 10 +- package.json | 8 +- shared/constants/metametrics.ts | 3 + test/e2e/tests/notifications/mocks.ts | 2 +- .../metamask-notifications.tsx | 3 + .../useNotifications.test.tsx | 1 + .../useProfileSyncing.test.tsx | 109 +++++++++++++----- .../useProfileSyncing.ts | 64 +++++++++- ui/store/actions.test.js | 26 +++++ ui/store/actions.ts | 27 +++++ yarn.lock | 77 +++++-------- 16 files changed, 270 insertions(+), 135 deletions(-) delete mode 100644 .yarn/patches/@metamask-keyring-controller-npm-17.1.1-098cb41930.patch diff --git a/.yarn/patches/@metamask-keyring-controller-npm-17.1.1-098cb41930.patch b/.yarn/patches/@metamask-keyring-controller-npm-17.1.1-098cb41930.patch deleted file mode 100644 index 439c1ddf49ae..000000000000 --- a/.yarn/patches/@metamask-keyring-controller-npm-17.1.1-098cb41930.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/package.json b/package.json -index 5a6217eaed16fdfe7f1ad693871f85320bd6b421..69bdf1a9155497e37fc58db7bbc74597fd543535 100644 ---- a/package.json -+++ b/package.json -@@ -18,7 +18,7 @@ - "sideEffects": false, - "exports": { - ".": { -- "import": "./dist/index.mjs", -+ "import": "./dist/index.js", - "require": "./dist/index.js", - "types": "./dist/types/index.d.ts" - }, diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index e04e4efcd46a..62d117ce799c 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -1478,10 +1478,36 @@ export default class MetamaskController extends EventEmitter { getMetaMetricsState: () => this.metaMetricsController.state.participateInMetaMetrics ?? false, state: initState.UserStorageController, + config: { + accountSyncing: { + onAccountAdded: (profileId) => { + this.metaMetricsController.trackEvent({ + category: MetaMetricsEventCategory.ProfileSyncing, + event: MetaMetricsEventName.AccountsSyncAccountAdded, + properties: { + profile_id: profileId, + }, + }); + }, + onAccountNameUpdated: (profileId) => { + this.metaMetricsController.trackEvent({ + category: MetaMetricsEventCategory.ProfileSyncing, + event: MetaMetricsEventName.AccountsSyncAccountNameUpdated, + properties: { + profile_id: profileId, + }, + }); + }, + }, + }, + env: { + isAccountSyncingEnabled: true, + }, messenger: this.controllerMessenger.getRestricted({ name: 'UserStorageController', allowedActions: [ 'KeyringController:getState', + 'KeyringController:addNewAccount', 'SnapController:handleRequest', 'AuthenticationController:getBearerToken', 'AuthenticationController:getSessionProfile', @@ -1490,6 +1516,8 @@ export default class MetamaskController extends EventEmitter { 'AuthenticationController:performSignIn', 'NotificationServicesController:disableNotificationServices', 'NotificationServicesController:selectIsNotificationServicesEnabled', + 'AccountsController:listAccounts', + 'AccountsController:updateAccountMetadata', ], allowedEvents: [ 'KeyringController:lock', @@ -3898,6 +3926,10 @@ export default class MetamaskController extends EventEmitter { userStorageController.setIsProfileSyncingEnabled.bind( userStorageController, ), + syncInternalAccountsWithUserStorage: + userStorageController.syncInternalAccountsWithUserStorage.bind( + userStorageController, + ), // NotificationServicesController checkAccountsPresence: diff --git a/lavamoat/browserify/beta/policy.json b/lavamoat/browserify/beta/policy.json index 9f5281aa4f25..0e13938c6111 100644 --- a/lavamoat/browserify/beta/policy.json +++ b/lavamoat/browserify/beta/policy.json @@ -1341,9 +1341,9 @@ "@metamask/keyring-controller": { "packages": { "@ethereumjs/tx>@ethereumjs/util": true, + "@metamask/base-controller": true, "@metamask/browser-passworder": true, "@metamask/eth-sig-util": true, - "@metamask/keyring-controller>@metamask/base-controller": true, "@metamask/keyring-controller>@metamask/eth-hd-keyring": true, "@metamask/keyring-controller>@metamask/eth-simple-keyring": true, "@metamask/keyring-controller>ethereumjs-wallet": true, @@ -1351,14 +1351,6 @@ "@metamask/utils": true } }, - "@metamask/keyring-controller>@metamask/base-controller": { - "globals": { - "setTimeout": true - }, - "packages": { - "immer": true - } - }, "@metamask/keyring-controller>@metamask/eth-hd-keyring": { "globals": { "TextEncoder": true diff --git a/lavamoat/browserify/flask/policy.json b/lavamoat/browserify/flask/policy.json index 9f5281aa4f25..0e13938c6111 100644 --- a/lavamoat/browserify/flask/policy.json +++ b/lavamoat/browserify/flask/policy.json @@ -1341,9 +1341,9 @@ "@metamask/keyring-controller": { "packages": { "@ethereumjs/tx>@ethereumjs/util": true, + "@metamask/base-controller": true, "@metamask/browser-passworder": true, "@metamask/eth-sig-util": true, - "@metamask/keyring-controller>@metamask/base-controller": true, "@metamask/keyring-controller>@metamask/eth-hd-keyring": true, "@metamask/keyring-controller>@metamask/eth-simple-keyring": true, "@metamask/keyring-controller>ethereumjs-wallet": true, @@ -1351,14 +1351,6 @@ "@metamask/utils": true } }, - "@metamask/keyring-controller>@metamask/base-controller": { - "globals": { - "setTimeout": true - }, - "packages": { - "immer": true - } - }, "@metamask/keyring-controller>@metamask/eth-hd-keyring": { "globals": { "TextEncoder": true diff --git a/lavamoat/browserify/main/policy.json b/lavamoat/browserify/main/policy.json index 9f5281aa4f25..0e13938c6111 100644 --- a/lavamoat/browserify/main/policy.json +++ b/lavamoat/browserify/main/policy.json @@ -1341,9 +1341,9 @@ "@metamask/keyring-controller": { "packages": { "@ethereumjs/tx>@ethereumjs/util": true, + "@metamask/base-controller": true, "@metamask/browser-passworder": true, "@metamask/eth-sig-util": true, - "@metamask/keyring-controller>@metamask/base-controller": true, "@metamask/keyring-controller>@metamask/eth-hd-keyring": true, "@metamask/keyring-controller>@metamask/eth-simple-keyring": true, "@metamask/keyring-controller>ethereumjs-wallet": true, @@ -1351,14 +1351,6 @@ "@metamask/utils": true } }, - "@metamask/keyring-controller>@metamask/base-controller": { - "globals": { - "setTimeout": true - }, - "packages": { - "immer": true - } - }, "@metamask/keyring-controller>@metamask/eth-hd-keyring": { "globals": { "TextEncoder": true diff --git a/lavamoat/browserify/mmi/policy.json b/lavamoat/browserify/mmi/policy.json index 6d8c4c43bcb8..e5913a27f248 100644 --- a/lavamoat/browserify/mmi/policy.json +++ b/lavamoat/browserify/mmi/policy.json @@ -1433,9 +1433,9 @@ "@metamask/keyring-controller": { "packages": { "@ethereumjs/tx>@ethereumjs/util": true, + "@metamask/base-controller": true, "@metamask/browser-passworder": true, "@metamask/eth-sig-util": true, - "@metamask/keyring-controller>@metamask/base-controller": true, "@metamask/keyring-controller>@metamask/eth-hd-keyring": true, "@metamask/keyring-controller>@metamask/eth-simple-keyring": true, "@metamask/keyring-controller>ethereumjs-wallet": true, @@ -1443,14 +1443,6 @@ "@metamask/utils": true } }, - "@metamask/keyring-controller>@metamask/base-controller": { - "globals": { - "setTimeout": true - }, - "packages": { - "immer": true - } - }, "@metamask/keyring-controller>@metamask/eth-hd-keyring": { "globals": { "TextEncoder": true diff --git a/package.json b/package.json index ee89fac5f874..a4cbaf938aec 100644 --- a/package.json +++ b/package.json @@ -263,8 +263,6 @@ "@metamask/network-controller@npm:^19.0.0": "patch:@metamask/network-controller@npm%3A20.2.0#~/.yarn/patches/@metamask-network-controller-npm-20.2.0-98b1a5ae59.patch", "@metamask/gas-fee-controller@npm:^15.1.1": "patch:@metamask/gas-fee-controller@npm%3A15.1.2#~/.yarn/patches/@metamask-gas-fee-controller-npm-15.1.2-db4d2976aa.patch", "@metamask/nonce-tracker@npm:^5.0.0": "patch:@metamask/nonce-tracker@npm%3A5.0.0#~/.yarn/patches/@metamask-nonce-tracker-npm-5.0.0-d81478218e.patch", - "@metamask/keyring-controller@npm:^16.0.0": "patch:@metamask/keyring-controller@npm%3A17.1.1#~/.yarn/patches/@metamask-keyring-controller-npm-17.1.1-098cb41930.patch", - "@metamask/keyring-controller@npm:^17.1.0": "patch:@metamask/keyring-controller@npm%3A17.1.1#~/.yarn/patches/@metamask-keyring-controller-npm-17.1.1-098cb41930.patch", "@trezor/connect-web@npm:^9.1.11": "patch:@trezor/connect-web@npm%3A9.3.0#~/.yarn/patches/@trezor-connect-web-npm-9.3.0-040ab10d9a.patch", "path-to-regexp": "1.9.0" }, @@ -298,7 +296,7 @@ "@metamask-institutional/types": "^1.1.0", "@metamask/abi-utils": "^2.0.2", "@metamask/account-watcher": "^4.1.0", - "@metamask/accounts-controller": "^18.2.0", + "@metamask/accounts-controller": "^18.2.1", "@metamask/address-book-controller": "^5.0.0", "@metamask/announcement-controller": "^7.0.0", "@metamask/approval-controller": "^7.0.0", @@ -325,8 +323,8 @@ "@metamask/ethjs-query": "^0.7.1", "@metamask/gas-fee-controller": "^18.0.0", "@metamask/jazzicon": "^2.0.0", - "@metamask/keyring-api": "^8.0.0", - "@metamask/keyring-controller": "patch:@metamask/keyring-controller@npm%3A17.1.1#~/.yarn/patches/@metamask-keyring-controller-npm-17.1.1-098cb41930.patch", + "@metamask/keyring-api": "^8.1.0", + "@metamask/keyring-controller": "^17.2.1", "@metamask/logging-controller": "^6.0.0", "@metamask/logo": "^3.1.2", "@metamask/message-manager": "^10.1.0", diff --git a/shared/constants/metametrics.ts b/shared/constants/metametrics.ts index 85a374125685..243b2409f1af 100644 --- a/shared/constants/metametrics.ts +++ b/shared/constants/metametrics.ts @@ -507,6 +507,8 @@ export enum MetaMetricsEventName { AccountPasswordCreated = 'Account Password Created', AccountReset = 'Account Reset', AccountRenamed = 'Account Renamed', + AccountsSyncAccountAdded = 'Accounts Sync Account Added', + AccountsSyncAccountNameUpdated = 'Accounts Sync Account Name Updated', ActivityDetailsOpened = 'Activity Details Opened', ActivityDetailsClosed = 'Activity Details Closed', AnalyticsPreferenceSelected = 'Analytics Preference Selected', @@ -767,6 +769,7 @@ export enum MetaMetricsEventCategory { NotificationSettings = 'Notification Settings', Petnames = 'Petnames', Phishing = 'Phishing', + ProfileSyncing = 'Profile Syncing', PushNotifications = 'Notifications', Retention = 'Retention', Send = 'Send', diff --git a/test/e2e/tests/notifications/mocks.ts b/test/e2e/tests/notifications/mocks.ts index 290db7024360..5cceee276436 100644 --- a/test/e2e/tests/notifications/mocks.ts +++ b/test/e2e/tests/notifications/mocks.ts @@ -20,7 +20,7 @@ type MockResponse = { }; /** - * E2E mock setup for notification APIs (Auth, Storage, Notifications, Push Notifications) + * E2E mock setup for notification APIs (Auth, Storage, Notifications, Push Notifications, Profile syncing) * * @param server - server obj used to mock our endpoints */ diff --git a/ui/contexts/metamask-notifications/metamask-notifications.tsx b/ui/contexts/metamask-notifications/metamask-notifications.tsx index 1a09dc71d821..2b1824c6d131 100644 --- a/ui/contexts/metamask-notifications/metamask-notifications.tsx +++ b/ui/contexts/metamask-notifications/metamask-notifications.tsx @@ -2,6 +2,7 @@ import React, { createContext, useContext, useEffect, useMemo } from 'react'; import { useSelector } from 'react-redux'; import type { NotificationServicesController } from '@metamask/notification-services-controller'; import { useListNotifications } from '../../hooks/metamask-notifications/useNotifications'; +import { useAccountSyncingEffect } from '../../hooks/metamask-notifications/useProfileSyncing'; import { selectIsProfileSyncingEnabled } from '../../selectors/metamask-notifications/profile-syncing'; import { selectIsMetamaskNotificationsEnabled } from '../../selectors/metamask-notifications/metamask-notifications'; import { getUseExternalServices } from '../../selectors'; @@ -45,6 +46,8 @@ export const MetamaskNotificationsProvider: React.FC = ({ children }) => { [isProfileSyncingEnabled, isNotificationsEnabled], ); + useAccountSyncingEffect(); + useEffect(() => { if (basicFunctionality && shouldFetchNotifications && isUnlocked) { listNotifications(); diff --git a/ui/hooks/metamask-notifications/useNotifications.test.tsx b/ui/hooks/metamask-notifications/useNotifications.test.tsx index b89bade7befb..a4723750c8d0 100644 --- a/ui/hooks/metamask-notifications/useNotifications.test.tsx +++ b/ui/hooks/metamask-notifications/useNotifications.test.tsx @@ -29,6 +29,7 @@ jest.mock('./useProfileSyncing', () => ({ useEnableProfileSyncing: jest.fn(() => ({ enableProfileSyncing: jest.fn(), })), + useAccountSyncingEffect: jest.fn(), })); describe('useNotifications', () => { diff --git a/ui/hooks/metamask-notifications/useProfileSyncing.test.tsx b/ui/hooks/metamask-notifications/useProfileSyncing.test.tsx index e8a37b58460a..178c646d0dda 100644 --- a/ui/hooks/metamask-notifications/useProfileSyncing.test.tsx +++ b/ui/hooks/metamask-notifications/useProfileSyncing.test.tsx @@ -3,11 +3,12 @@ import { Provider } from 'react-redux'; import { renderHook, act } from '@testing-library/react-hooks'; import configureStore from 'redux-mock-store'; import thunk from 'redux-thunk'; -import type { Store } from 'redux'; +import { waitFor } from '@testing-library/react'; import * as actions from '../../store/actions'; import { useEnableProfileSyncing, useDisableProfileSyncing, + useAccountSyncingEffect, } from './useProfileSyncing'; const middlewares = [thunk]; @@ -20,43 +21,62 @@ jest.mock('../../store/actions', () => ({ disableProfileSyncing: jest.fn(), showLoadingIndication: jest.fn(), hideLoadingIndication: jest.fn(), + syncInternalAccountsWithUserStorage: jest.fn(), })); -describe('useProfileSyncing', () => { - let store: Store; - - beforeEach(() => { - store = mockStore({ - metamask: { - isProfileSyncingEnabled: false, - isSignedIn: false, - participateInMetaMetrics: false, - internalAccounts: { - accounts: { - '0x123': { - address: '0x123', - id: 'account1', - metadata: {}, - options: {}, - methods: [], - type: 'eip155:eoa', - }, +type ArrangeMocksMetamaskStateOverrides = { + isSignedIn?: boolean; + isProfileSyncingEnabled?: boolean; + isUnlocked?: boolean; + useExternalServices?: boolean; +}; + +const initialMetamaskState: ArrangeMocksMetamaskStateOverrides = { + isSignedIn: false, + isProfileSyncingEnabled: false, + isUnlocked: true, + useExternalServices: true, +}; + +const arrangeMocks = ( + metamaskStateOverrides?: ArrangeMocksMetamaskStateOverrides, +) => { + const store = mockStore({ + metamask: { + ...initialMetamaskState, + ...metamaskStateOverrides, + participateInMetaMetrics: false, + internalAccounts: { + accounts: { + '0x123': { + address: '0x123', + id: 'account1', + metadata: {}, + options: {}, + methods: [], + type: 'eip155:eoa', }, }, }, - }); - - store.dispatch = jest.fn().mockImplementation((action) => { - if (typeof action === 'function') { - return action(store.dispatch, store.getState); - } - return Promise.resolve(); - }); + }, + }); - jest.clearAllMocks(); + store.dispatch = jest.fn().mockImplementation((action) => { + if (typeof action === 'function') { + return action(store.dispatch, store.getState); + } + return Promise.resolve(); }); + jest.clearAllMocks(); + + return { store }; +}; + +describe('useProfileSyncing', () => { it('should enable profile syncing', async () => { + const { store } = arrangeMocks(); + const { result } = renderHook(() => useEnableProfileSyncing(), { wrapper: ({ children }) => {children}, }); @@ -69,6 +89,8 @@ describe('useProfileSyncing', () => { }); it('should disable profile syncing', async () => { + const { store } = arrangeMocks(); + const { result } = renderHook(() => useDisableProfileSyncing(), { wrapper: ({ children }) => {children}, }); @@ -79,4 +101,33 @@ describe('useProfileSyncing', () => { expect(actions.disableProfileSyncing).toHaveBeenCalled(); }); + + it('should dispatch account syncing when conditions are met', async () => { + const { store } = arrangeMocks({ + isSignedIn: true, + isProfileSyncingEnabled: true, + }); + + renderHook(() => useAccountSyncingEffect(), { + wrapper: ({ children }) => {children}, + }); + + await waitFor(() => { + expect(actions.syncInternalAccountsWithUserStorage).toHaveBeenCalled(); + }); + }); + + it('should not dispatch account syncing when conditions are not met', async () => { + const { store } = arrangeMocks(); + + renderHook(() => useAccountSyncingEffect(), { + wrapper: ({ children }) => {children}, + }); + + await waitFor(() => { + expect( + actions.syncInternalAccountsWithUserStorage, + ).not.toHaveBeenCalled(); + }); + }); }); diff --git a/ui/hooks/metamask-notifications/useProfileSyncing.ts b/ui/hooks/metamask-notifications/useProfileSyncing.ts index 4a30bf7978fd..c951e174d485 100644 --- a/ui/hooks/metamask-notifications/useProfileSyncing.ts +++ b/ui/hooks/metamask-notifications/useProfileSyncing.ts @@ -1,5 +1,5 @@ -import { useState, useCallback } from 'react'; -import { useDispatch } from 'react-redux'; +import { useState, useCallback, useEffect, useMemo } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; import type { InternalAccount } from '@metamask/keyring-api'; import log from 'loglevel'; import { @@ -7,8 +7,14 @@ import { enableProfileSyncing as enableProfileSyncingAction, setIsProfileSyncingEnabled as setIsProfileSyncingEnabledAction, hideLoadingIndication, + syncInternalAccountsWithUserStorage, } from '../../store/actions'; +import { selectIsSignedIn } from '../../selectors/metamask-notifications/authentication'; +import { selectIsProfileSyncingEnabled } from '../../selectors/metamask-notifications/profile-syncing'; +import { getUseExternalServices } from '../../selectors'; +import { getIsUnlocked } from '../../ducks/metamask/metamask'; + // Define KeyringType interface export type KeyringType = { type: string; @@ -112,3 +118,57 @@ export function useSetIsProfileSyncingEnabled(): { return { setIsProfileSyncingEnabled, error }; } + +/** + * Custom hook to dispatch account syncing. + * + * @returns An object containing the `dispatchAccountSyncing` function, boolean `shouldDispatchAccountSyncing`, + * and error state. + */ +export const useAccountSyncing = () => { + const dispatch = useDispatch(); + + const [error, setError] = useState(null); + + const isProfileSyncingEnabled = useSelector(selectIsProfileSyncingEnabled); + const basicFunctionality = useSelector(getUseExternalServices); + const isUnlocked = useSelector(getIsUnlocked); + const isSignedIn = useSelector(selectIsSignedIn); + + const shouldDispatchAccountSyncing = useMemo( + () => + basicFunctionality && isProfileSyncingEnabled && isUnlocked && isSignedIn, + [basicFunctionality, isProfileSyncingEnabled, isUnlocked, isSignedIn], + ); + + const dispatchAccountSyncing = useCallback(async () => { + setError(null); + + try { + if (!shouldDispatchAccountSyncing) { + return; + } + await dispatch(syncInternalAccountsWithUserStorage()); + } catch (e) { + log.error(e); + setError(e instanceof Error ? e.message : 'An unexpected error occurred'); + } + }, [dispatch, shouldDispatchAccountSyncing]); + + return { + dispatchAccountSyncing, + shouldDispatchAccountSyncing, + error, + }; +}; + +/** + * Custom hook to apply account syncing effect. + */ +export const useAccountSyncingEffect = () => { + const { dispatchAccountSyncing } = useAccountSyncing(); + + useEffect(() => { + dispatchAccountSyncing(); + }, [dispatchAccountSyncing]); +}; diff --git a/ui/store/actions.test.js b/ui/store/actions.test.js index 543390be7d15..0ca8ef982316 100644 --- a/ui/store/actions.test.js +++ b/ui/store/actions.test.js @@ -2531,6 +2531,7 @@ describe('Actions', () => { expect(store.getActions()).toStrictEqual(expectedActions); }); }); + describe('#createMetaMetricsDataDeletionTask', () => { afterEach(() => { sinon.restore(); @@ -2570,4 +2571,29 @@ describe('Actions', () => { expect(updateDataDeletionTaskStatusStub.callCount).toStrictEqual(1); }); }); + + describe('syncInternalAccountsWithUserStorage', () => { + afterEach(() => { + sinon.restore(); + }); + + it('calls syncInternalAccountsWithUserStorage in the background', async () => { + const store = mockStore(); + + const syncInternalAccountsWithUserStorageStub = sinon + .stub() + .callsFake((cb) => cb()); + + background.getApi.returns({ + syncInternalAccountsWithUserStorage: + syncInternalAccountsWithUserStorageStub, + }); + setBackgroundConnection(background.getApi()); + + await store.dispatch(actions.syncInternalAccountsWithUserStorage()); + expect(syncInternalAccountsWithUserStorageStub.calledOnceWith()).toBe( + true, + ); + }); + }); }); diff --git a/ui/store/actions.ts b/ui/store/actions.ts index ccceba2e4048..939a0d2bf215 100644 --- a/ui/store/actions.ts +++ b/ui/store/actions.ts @@ -5383,6 +5383,33 @@ export function fetchAndUpdateMetamaskNotifications(): ThunkAction< }; } +/** + * Synchronizes accounts data with user storage between devices. + * + * This function sends a request to the background script to sync accounts data and update the state accordingly. + * If the operation encounters an error, it logs the error message and rethrows the error to ensure it is handled appropriately. + * + * @returns A thunk action that, when dispatched, attempts to synchronize accounts data with user storage between devices. + */ +export function syncInternalAccountsWithUserStorage(): ThunkAction< + void, + MetaMaskReduxState, + unknown, + AnyAction +> { + return async () => { + try { + const response = await submitRequestToBackground( + 'syncInternalAccountsWithUserStorage', + ); + return response; + } catch (error) { + logErrorWithMessage(error); + throw error; + } + }; +} + /** * Marks MetaMask notifications as read. * diff --git a/yarn.lock b/yarn.lock index cc998430baae..afb0d7cbde7e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4800,16 +4800,16 @@ __metadata: languageName: node linkType: hard -"@metamask/accounts-controller@npm:^18.2.0": - version: 18.2.0 - resolution: "@metamask/accounts-controller@npm:18.2.0" +"@metamask/accounts-controller@npm:^18.2.1": + version: 18.2.1 + resolution: "@metamask/accounts-controller@npm:18.2.1" dependencies: "@ethereumjs/util": "npm:^8.1.0" - "@metamask/base-controller": "npm:^7.0.0" - "@metamask/eth-snap-keyring": "npm:^4.3.1" + "@metamask/base-controller": "npm:^7.0.1" + "@metamask/eth-snap-keyring": "npm:^4.3.3" "@metamask/keyring-api": "npm:^8.1.0" - "@metamask/snaps-sdk": "npm:^6.1.1" - "@metamask/snaps-utils": "npm:^7.8.1" + "@metamask/snaps-sdk": "npm:^6.5.0" + "@metamask/snaps-utils": "npm:^8.1.1" "@metamask/utils": "npm:^9.1.0" deepmerge: "npm:^4.2.2" ethereum-cryptography: "npm:^2.1.2" @@ -4817,8 +4817,8 @@ __metadata: uuid: "npm:^8.3.2" peerDependencies: "@metamask/keyring-controller": ^17.0.0 - "@metamask/snaps-controllers": ^9.3.0 - checksum: 10/dc352195621252682eb4cf60e4abc26afe8ae1111574e0e64e7d2e2e1e3ab5c2be906ee586496e12a134b175db00ebd0a68b1a0cd200cb5d298185a683fe68e4 + "@metamask/snaps-controllers": ^9.7.0 + checksum: 10/cad8d68e5c5d8b349fcf5bfd6bc900cccbb5ad54bdcf2678a4469f7b3118064ca26bedafaafa89bea6ddce6f0cfb22af8eb8b7958bbd6cfce916f19a91a8e770 languageName: node linkType: hard @@ -4923,7 +4923,7 @@ __metadata: languageName: node linkType: hard -"@metamask/base-controller@npm:^6.0.0, @metamask/base-controller@npm:^6.0.1, @metamask/base-controller@npm:^6.0.2": +"@metamask/base-controller@npm:^6.0.0, @metamask/base-controller@npm:^6.0.2": version: 6.0.3 resolution: "@metamask/base-controller@npm:6.0.3" dependencies: @@ -5642,45 +5642,24 @@ __metadata: languageName: node linkType: hard -"@metamask/keyring-controller@npm:17.1.1": - version: 17.1.1 - resolution: "@metamask/keyring-controller@npm:17.1.1" +"@metamask/keyring-controller@npm:^17.1.0, @metamask/keyring-controller@npm:^17.2.1": + version: 17.2.1 + resolution: "@metamask/keyring-controller@npm:17.2.1" dependencies: "@ethereumjs/util": "npm:^8.1.0" "@keystonehq/metamask-airgapped-keyring": "npm:^0.14.1" - "@metamask/base-controller": "npm:^6.0.1" - "@metamask/browser-passworder": "npm:^4.3.0" - "@metamask/eth-hd-keyring": "npm:^7.0.1" - "@metamask/eth-sig-util": "npm:^7.0.1" - "@metamask/eth-simple-keyring": "npm:^6.0.1" - "@metamask/keyring-api": "npm:^8.0.0" - "@metamask/message-manager": "npm:^10.0.1" - "@metamask/utils": "npm:^9.0.0" - async-mutex: "npm:^0.5.0" - ethereumjs-wallet: "npm:^1.0.1" - immer: "npm:^9.0.6" - checksum: 10/441bd01b42658819281ef45ebfb214d3282db2cf523284314ca8e6786e7c06fa564a6799e506edc67153d2b51126a8aca3b67762bbb5221c382f70c81a81db29 - languageName: node - linkType: hard - -"@metamask/keyring-controller@patch:@metamask/keyring-controller@npm%3A17.1.1#~/.yarn/patches/@metamask-keyring-controller-npm-17.1.1-098cb41930.patch": - version: 17.1.1 - resolution: "@metamask/keyring-controller@patch:@metamask/keyring-controller@npm%3A17.1.1#~/.yarn/patches/@metamask-keyring-controller-npm-17.1.1-098cb41930.patch::version=17.1.1&hash=1c0f1d" - dependencies: - "@ethereumjs/util": "npm:^8.1.0" - "@keystonehq/metamask-airgapped-keyring": "npm:^0.14.1" - "@metamask/base-controller": "npm:^6.0.1" + "@metamask/base-controller": "npm:^7.0.1" "@metamask/browser-passworder": "npm:^4.3.0" "@metamask/eth-hd-keyring": "npm:^7.0.1" "@metamask/eth-sig-util": "npm:^7.0.1" "@metamask/eth-simple-keyring": "npm:^6.0.1" - "@metamask/keyring-api": "npm:^8.0.0" - "@metamask/message-manager": "npm:^10.0.1" - "@metamask/utils": "npm:^9.0.0" + "@metamask/keyring-api": "npm:^8.1.0" + "@metamask/message-manager": "npm:^10.1.1" + "@metamask/utils": "npm:^9.1.0" async-mutex: "npm:^0.5.0" ethereumjs-wallet: "npm:^1.0.1" immer: "npm:^9.0.6" - checksum: 10/ea04fde80dd6f1bc9f7ee4c4631aeaeb149c8fd16bb8879f5d9edaf077a655866deef31d95357f152558fcc22c993ae1a8a42533ebc6b66fe60897b83a2e8d39 + checksum: 10/051cfc790d74a64c2e8139dbcdb38e845d10f3a3a85792ece6b38b0f239057f553c6f74b49e79dd6748093f1bf3b82d484d927aead3aa891247839b1fac8df66 languageName: node linkType: hard @@ -6107,8 +6086,8 @@ __metadata: linkType: hard "@metamask/providers@npm:^17.1.2": - version: 17.1.2 - resolution: "@metamask/providers@npm:17.1.2" + version: 17.2.0 + resolution: "@metamask/providers@npm:17.2.0" dependencies: "@metamask/json-rpc-engine": "npm:^9.0.1" "@metamask/json-rpc-middleware-stream": "npm:^8.0.1" @@ -6123,7 +6102,7 @@ __metadata: readable-stream: "npm:^3.6.2" peerDependencies: webextension-polyfill: ^0.10.0 || ^0.11.0 || ^0.12.0 - checksum: 10/bf555f9774e340d4497c09c980094e759a198f11c5a78b403e639cf01904b9ec3b19a5e9f53567465dd8739da4138e2021ac9a404a99b1a6022add12a4b19a31 + checksum: 10/b2fc93cdc059528bfeb14a61d6153f9a5f2679e5c6640648c16cd4e5067f758a67c2c6abab962615e878e6b9d7f1bbcd3632584ad7e57ec9df8c16f47b13e608 languageName: node linkType: hard @@ -6357,7 +6336,7 @@ __metadata: languageName: node linkType: hard -"@metamask/snaps-utils@npm:^7.4.0, @metamask/snaps-utils@npm:^7.8.0, @metamask/snaps-utils@npm:^7.8.1": +"@metamask/snaps-utils@npm:^7.4.0, @metamask/snaps-utils@npm:^7.8.0": version: 7.8.1 resolution: "@metamask/snaps-utils@npm:7.8.1" dependencies: @@ -6647,9 +6626,9 @@ __metadata: linkType: hard "@noble/ciphers@npm:^0.5.1, @noble/ciphers@npm:^0.5.2": - version: 0.5.2 - resolution: "@noble/ciphers@npm:0.5.2" - checksum: 10/47a5958954249d5edb49aff48ae6fbfff4d4e5a6bb221c010ebc8e7470c410e9208a2f3f6bf8b7eca83057277478f4ccbdbdcf1bfd324608b334b9f9d28a9fbb + version: 0.5.3 + resolution: "@noble/ciphers@npm:0.5.3" + checksum: 10/af0ad96b5807feace93e63549e05de6f5e305b36e2e95f02d90532893fbc3af3f19b9621b6de4caa98303659e5df2e7aa082064e5d4a82e6f38c728d48dfae5d languageName: node linkType: hard @@ -26074,7 +26053,7 @@ __metadata: "@metamask-institutional/types": "npm:^1.1.0" "@metamask/abi-utils": "npm:^2.0.2" "@metamask/account-watcher": "npm:^4.1.0" - "@metamask/accounts-controller": "npm:^18.2.0" + "@metamask/accounts-controller": "npm:^18.2.1" "@metamask/address-book-controller": "npm:^5.0.0" "@metamask/announcement-controller": "npm:^7.0.0" "@metamask/api-specs": "npm:^0.9.3" @@ -26111,8 +26090,8 @@ __metadata: "@metamask/forwarder": "npm:^1.1.0" "@metamask/gas-fee-controller": "npm:^18.0.0" "@metamask/jazzicon": "npm:^2.0.0" - "@metamask/keyring-api": "npm:^8.0.0" - "@metamask/keyring-controller": "patch:@metamask/keyring-controller@npm%3A17.1.1#~/.yarn/patches/@metamask-keyring-controller-npm-17.1.1-098cb41930.patch" + "@metamask/keyring-api": "npm:^8.1.0" + "@metamask/keyring-controller": "npm:^17.2.1" "@metamask/logging-controller": "npm:^6.0.0" "@metamask/logo": "npm:^3.1.2" "@metamask/message-manager": "npm:^10.1.0" From eecff3116076af71c22e027f9bb18567634455c8 Mon Sep 17 00:00:00 2001 From: Matthew Walsh Date: Thu, 19 Sep 2024 14:28:21 +0100 Subject: [PATCH 32/37] perf: use redux state patches (#26738) Send state patches to the UI. Create `PatchStore` for each UI connection. --- app/scripts/constants/sentry-state.ts | 2 - .../controllers/preferences-controller.ts | 24 ++- app/scripts/lib/ComposableObservableStore.js | 12 +- app/scripts/lib/PatchStore.test.ts | 183 ++++++++++++++++++ app/scripts/lib/PatchStore.ts | 103 ++++++++++ app/scripts/lib/state-utils.test.ts | 60 ++++++ app/scripts/lib/state-utils.ts | 43 ++++ app/scripts/metamask-controller.js | 55 +++--- .../errors-after-init-opt-in-ui-state.json | 2 - .../new-account-modal.test.tsx | 2 +- ui/index.js | 4 + .../confirm-approve.stories-to-do.js | 45 +++-- ui/selectors/selectors.js | 2 +- ui/selectors/transactions.js | 9 +- ui/store/actions.test.js | 116 ++--------- ui/store/actions.ts | 155 ++++++++------- 16 files changed, 570 insertions(+), 247 deletions(-) create mode 100644 app/scripts/lib/PatchStore.test.ts create mode 100644 app/scripts/lib/PatchStore.ts create mode 100644 app/scripts/lib/state-utils.test.ts create mode 100644 app/scripts/lib/state-utils.ts diff --git a/app/scripts/constants/sentry-state.ts b/app/scripts/constants/sentry-state.ts index 10539fc7a5e4..33bf9bac0f22 100644 --- a/app/scripts/constants/sentry-state.ts +++ b/app/scripts/constants/sentry-state.ts @@ -279,8 +279,6 @@ export const SENTRY_BACKGROUND_STATE = { }, }, SnapController: { - unencryptedSnapStates: false, - snapStates: false, snaps: false, }, SnapInterfaceController: { diff --git a/app/scripts/controllers/preferences-controller.ts b/app/scripts/controllers/preferences-controller.ts index 8a3451b8b163..b06f83739e8f 100644 --- a/app/scripts/controllers/preferences-controller.ts +++ b/app/scripts/controllers/preferences-controller.ts @@ -521,8 +521,11 @@ export default class PreferencesController { */ addKnownMethodData(fourBytePrefix: string, methodData: string): void { const { knownMethodData } = this.store.getState(); - knownMethodData[fourBytePrefix] = methodData; - this.store.updateState({ knownMethodData }); + + const updatedKnownMethodData = { ...knownMethodData }; + updatedKnownMethodData[fourBytePrefix] = methodData; + + this.store.updateState({ knownMethodData: updatedKnownMethodData }); } /** @@ -765,11 +768,16 @@ export default class PreferencesController { const addresses = Object.values(accounts).map((account) => account.address.toLowerCase(), ); - Object.keys(identities).forEach((identity) => { - if (addresses.includes(identity.toLowerCase())) { - lostIdentities[identity] = identities[identity]; - } - }); + + const updatedLostIdentities = Object.keys(identities).reduce( + (acc, identity) => { + if (addresses.includes(identity.toLowerCase())) { + acc[identity] = identities[identity]; + } + return acc; + }, + { ...(lostIdentities ?? {}) }, + ); const updatedIdentities = Object.values(accounts).reduce( (identitiesMap: Record, account) => { @@ -786,7 +794,7 @@ export default class PreferencesController { this.store.updateState({ identities: updatedIdentities, - lostIdentities, + lostIdentities: updatedLostIdentities, selectedAddress: selectedAccount?.address || '', // it will be an empty string during onboarding }); } diff --git a/app/scripts/lib/ComposableObservableStore.js b/app/scripts/lib/ComposableObservableStore.js index def67b51240f..e3ce671719d7 100644 --- a/app/scripts/lib/ComposableObservableStore.js +++ b/app/scripts/lib/ComposableObservableStore.js @@ -59,7 +59,7 @@ export default class ComposableObservableStore extends ObservableStore { const store = config[key]; if (store.subscribe) { config[key].subscribe((state) => { - this.updateState({ [key]: state }); + this.#onStateChange(key, state); }); } else { this.controllerMessenger.subscribe( @@ -69,7 +69,7 @@ export default class ComposableObservableStore extends ObservableStore { if (this.persist) { updatedState = getPersistentState(state, config[key].metadata); } - this.updateState({ [key]: updatedState }); + this.#onStateChange(key, updatedState); }, ); } @@ -104,4 +104,12 @@ export default class ComposableObservableStore extends ObservableStore { } return flatState; } + + #onStateChange(controllerKey, newState) { + const oldState = this.getState()[controllerKey]; + + this.updateState({ [controllerKey]: newState }); + + this.emit('stateChange', { oldState, newState, controllerKey }); + } } diff --git a/app/scripts/lib/PatchStore.test.ts b/app/scripts/lib/PatchStore.test.ts new file mode 100644 index 000000000000..2be1ec091a45 --- /dev/null +++ b/app/scripts/lib/PatchStore.test.ts @@ -0,0 +1,183 @@ +import ComposableObservableStore from './ComposableObservableStore'; +import { PatchStore } from './PatchStore'; +import { sanitizeUIState } from './state-utils'; + +jest.mock('./state-utils'); + +function createComposableStoreMock() { + return { + on: jest.fn(), + removeListener: jest.fn(), + } as unknown as jest.Mocked; +} + +function triggerStateChange( + composableStoreMock: jest.Mocked, + oldState: Record, + newState: Record, +) { + composableStoreMock.on.mock.calls[0][1]({ + controllerKey: 'test-controller', + oldState, + newState, + }); +} + +describe('PatchStore', () => { + const sanitizeUIStateMock = jest.mocked(sanitizeUIState); + + beforeEach(() => { + jest.resetAllMocks(); + sanitizeUIStateMock.mockImplementation((state) => state); + }); + + describe('flushPendingPatches', () => { + it('returns pending patches created by composable store events', () => { + const composableStoreMock = createComposableStoreMock(); + const patchStore = new PatchStore(composableStoreMock); + + triggerStateChange( + composableStoreMock, + { test1: 'value1' }, + { test1: 'value2' }, + ); + + triggerStateChange( + composableStoreMock, + { test2: true }, + { test2: false }, + ); + + const patches = patchStore.flushPendingPatches(); + + expect(patches).toEqual([ + { + op: 'replace', + path: ['test1'], + value: 'value2', + }, + { + op: 'replace', + path: ['test2'], + value: false, + }, + ]); + }); + + it('ignores state properties if old and new state is shallow equal', () => { + const objectMock = {}; + const composableStoreMock = createComposableStoreMock(); + const patchStore = new PatchStore(composableStoreMock); + + triggerStateChange( + composableStoreMock, + { test1: 'value1' }, + { test1: 'value1' }, + ); + + triggerStateChange( + composableStoreMock, + { test2: objectMock }, + { test2: objectMock }, + ); + + triggerStateChange( + composableStoreMock, + { test3: { test: 'value' } }, + { test3: { test: 'value' } }, + ); + + const patches = patchStore.flushPendingPatches(); + + expect(patches).toEqual([ + { + op: 'replace', + path: ['test3'], + value: { test: 'value' }, + }, + ]); + }); + + it('returns empty array if no composable store events', () => { + const composableStoreMock = createComposableStoreMock(); + const patchStore = new PatchStore(composableStoreMock); + + const patches = patchStore.flushPendingPatches(); + + expect(patches).toEqual([]); + }); + + it('clears pending patches', () => { + const composableStoreMock = createComposableStoreMock(); + const patchStore = new PatchStore(composableStoreMock); + + triggerStateChange( + composableStoreMock, + { test1: 'value1' }, + { test1: 'value2' }, + ); + + const patches1 = patchStore.flushPendingPatches(); + const patches2 = patchStore.flushPendingPatches(); + + expect(patches1).toHaveLength(1); + expect(patches2).toHaveLength(0); + }); + + it('sanitizes state in patches', () => { + const composableStoreMock = createComposableStoreMock(); + const patchStore = new PatchStore(composableStoreMock); + + sanitizeUIStateMock.mockReturnValueOnce({ test2: 'value' }); + + triggerStateChange( + composableStoreMock, + { test1: false }, + { test1: true }, + ); + + const patches = patchStore.flushPendingPatches(); + + expect(patches).toEqual([ + { + op: 'replace', + path: ['test2'], + value: 'value', + }, + ]); + }); + + it('adds isInitialized patch if vault in new state', () => { + const composableStoreMock = createComposableStoreMock(); + const patchStore = new PatchStore(composableStoreMock); + + triggerStateChange(composableStoreMock, { vault: 0 }, { vault: 123 }); + + const patches = patchStore.flushPendingPatches(); + + expect(patches).toEqual([ + { + op: 'replace', + path: ['vault'], + value: 123, + }, + { + op: 'replace', + path: ['isInitialized'], + value: true, + }, + ]); + }); + }); + + describe('destroy', () => { + it('removes listener from composable store', () => { + const composableStoreMock = createComposableStoreMock(); + const patchStore = new PatchStore(composableStoreMock); + + patchStore.destroy(); + + expect(composableStoreMock.removeListener).toHaveBeenCalledTimes(1); + }); + }); +}); diff --git a/app/scripts/lib/PatchStore.ts b/app/scripts/lib/PatchStore.ts new file mode 100644 index 000000000000..3da2d0d24b3d --- /dev/null +++ b/app/scripts/lib/PatchStore.ts @@ -0,0 +1,103 @@ +import { createProjectLogger } from '@metamask/utils'; +import { Patch } from 'immer'; +import { v4 as uuid } from 'uuid'; +import ComposableObservableStore from './ComposableObservableStore'; +import { sanitizeUIState } from './state-utils'; + +const log = createProjectLogger('patch-store'); + +export class PatchStore { + private id: string; + + private observableStore: ComposableObservableStore; + + private pendingPatches: Map = new Map(); + + private listener: (request: { + controllerKey: string; + oldState: Record; + newState: Record; + }) => void; + + constructor(observableStore: ComposableObservableStore) { + this.id = uuid(); + this.observableStore = observableStore; + this.listener = this._onStateChange.bind(this); + + this.observableStore.on('stateChange', this.listener); + + log('Created', this.id); + } + + flushPendingPatches(): Patch[] { + const patches = [...this.pendingPatches.values()]; + + this.pendingPatches.clear(); + + for (const patch of patches) { + log('Flushed', patch.path.join('.'), this.id, patch); + } + + return patches; + } + + destroy() { + this.observableStore.removeListener('stateChange', this.listener); + log('Destroyed', this.id); + } + + private _onStateChange({ + oldState, + newState, + }: { + controllerKey: string; + oldState: Record; + newState: Record; + }) { + const sanitizedNewState = sanitizeUIState(newState); + const patches = this._generatePatches(oldState, sanitizedNewState); + const isInitialized = Boolean(newState.vault); + + if (isInitialized) { + patches.push({ + op: 'replace', + path: ['isInitialized'], + value: isInitialized, + }); + } + + if (!patches.length) { + return; + } + + for (const patch of patches) { + const path = patch.path.join('.'); + + this.pendingPatches.set(path, patch); + + log('Updated', path, this.id, patch); + } + } + + private _generatePatches( + oldState: Record, + newState: Record, + ): Patch[] { + return Object.keys(newState) + .map((key) => { + const oldData = oldState[key]; + const newData = newState[key]; + + if (oldData === newData) { + return null; + } + + return { + op: 'replace', + path: [key], + value: newData, + }; + }) + .filter(Boolean) as Patch[]; + } +} diff --git a/app/scripts/lib/state-utils.test.ts b/app/scripts/lib/state-utils.test.ts new file mode 100644 index 000000000000..bd296141aef7 --- /dev/null +++ b/app/scripts/lib/state-utils.test.ts @@ -0,0 +1,60 @@ +import { sanitizeUIState } from './state-utils'; + +describe('State Utils', () => { + describe('sanitizeUIState', () => { + it('removes unsafe properties', () => { + const state = { + test1: 'value1', + snapStates: true, + unencryptedSnapStates: true, + vault: true, + test2: false, + }; + + const sanitizedState = sanitizeUIState(state); + + expect(sanitizedState).toStrictEqual({ + test1: 'value1', + test2: false, + }); + }); + + it('strips large properties from snaps state', () => { + const state = { + test1: 'value1', + test2: true, + snaps: { + snap1: { + id: 'snap1', + test3: 123, + sourceCode: 'sourceCode1', + auxiliaryFiles: 'auxiliaryFiles1', + }, + snap2: { + id: 'snap2', + test4: 456, + sourceCode: 'sourceCode2', + auxiliaryFiles: 'auxiliaryFiles2', + }, + }, + }; + + const sanitizedState = sanitizeUIState(state); + + expect(sanitizedState).toStrictEqual({ + test1: 'value1', + test2: true, + snaps: { + snap1: { + id: 'snap1', + test3: 123, + }, + snap2: { + id: 'snap2', + test4: 456, + }, + }, + }); + }); + }); +}); diff --git a/app/scripts/lib/state-utils.ts b/app/scripts/lib/state-utils.ts new file mode 100644 index 000000000000..90275bbc7d33 --- /dev/null +++ b/app/scripts/lib/state-utils.ts @@ -0,0 +1,43 @@ +import { SnapControllerState } from '@metamask/snaps-controllers'; +import { Snap } from '@metamask/snaps-utils'; + +// eslint-disable-next-line @typescript-eslint/no-explicit-any +type FlattenedUIState = Record; + +const REMOVE_KEYS = ['snapStates', 'unencryptedSnapStates', 'vault']; + +export function sanitizeUIState(state: FlattenedUIState): FlattenedUIState { + const newState = { ...state }; + + for (const key of REMOVE_KEYS) { + delete newState[key]; + } + + sanitizeSnapData(newState); + + return newState; +} + +function sanitizeSnapData(state: FlattenedUIState) { + const snapsData = state.snaps as SnapControllerState['snaps'] | undefined; + + if (!snapsData) { + return; + } + + state.snaps = Object.values(snapsData).reduce((acc, snap) => { + acc[snap.id] = stripLargeSnapData(snap) as Snap; + return acc; + }, {} as SnapControllerState['snaps']); +} + +function stripLargeSnapData(snapData: Snap): Partial { + const newData: Partial = { + ...snapData, + }; + + delete newData.sourceCode; + delete newData.auxiliaryFiles; + + return newData; +} diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index 62d117ce799c..9eff0ed6d2be 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -345,6 +345,8 @@ import { onPushNotificationReceived, } from './controllers/push-notifications'; import createTracingMiddleware from './lib/createTracingMiddleware'; +import { PatchStore } from './lib/PatchStore'; +import { sanitizeUIState } from './lib/state-utils'; export const METAMASK_CONTROLLER_EVENTS = { // Fired after state changes that impact the extension badge (unapproved msg count) @@ -3085,24 +3087,11 @@ export default class MetamaskController extends EventEmitter { getState() { const { vault } = this.keyringController.state; const isInitialized = Boolean(vault); - const flatState = this.memStore.getFlatState(); - // The vault should not be exposed to the UI - delete flatState.vault; - return { isInitialized, - ...flatState, - // Snap state, source code and other files are stripped out to prevent piping to the MetaMask UI. - snapStates: {}, - unencryptedSnapStates: {}, - snaps: Object.values(flatState.snaps ?? {}).reduce((acc, snap) => { - // eslint-disable-next-line no-unused-vars - const { sourceCode, auxiliaryFiles, ...rest } = snap; - acc[snap.id] = rest; - return acc; - }, {}), + ...sanitizeUIState(flatState), }; } @@ -5231,26 +5220,41 @@ export default class MetamaskController extends EventEmitter { * @param {*} outStream - The stream to provide our API over. */ setupControllerConnection(outStream) { - const api = this.getApi(); - - // report new active controller connection - this.activeControllerConnections += 1; - this.emit('controllerConnectionChanged', this.activeControllerConnections); + const patchStore = new PatchStore(this.memStore); + let uiReady = false; - // set up postStream transport - outStream.on('data', createMetaRPCHandler(api, outStream)); - const handleUpdate = (update) => { - if (!isStreamWritable(outStream)) { + const handleUpdate = () => { + if (!isStreamWritable(outStream) || !uiReady) { return; } - // send notification to client-side + + const patches = patchStore.flushPendingPatches(); + outStream.write({ jsonrpc: '2.0', method: 'sendUpdate', - params: [update], + params: [patches], }); }; + + const api = { + ...this.getApi(), + startPatches: () => { + uiReady = true; + handleUpdate(); + }, + getStatePatches: () => patchStore.flushPendingPatches(), + }; + this.on('update', handleUpdate); + + // report new active controller connection + this.activeControllerConnections += 1; + this.emit('controllerConnectionChanged', this.activeControllerConnections); + + // set up postStream transport + outStream.on('data', createMetaRPCHandler(api, outStream)); + const startUISync = () => { if (!isStreamWritable(outStream)) { return; @@ -5277,6 +5281,7 @@ export default class MetamaskController extends EventEmitter { ); outStream.mmFinished = true; this.removeListener('update', handleUpdate); + patchStore.destroy(); } }; diff --git a/test/e2e/tests/metrics/state-snapshots/errors-after-init-opt-in-ui-state.json b/test/e2e/tests/metrics/state-snapshots/errors-after-init-opt-in-ui-state.json index 5a4b95548315..f474b2492ba4 100644 --- a/test/e2e/tests/metrics/state-snapshots/errors-after-init-opt-in-ui-state.json +++ b/test/e2e/tests/metrics/state-snapshots/errors-after-init-opt-in-ui-state.json @@ -179,8 +179,6 @@ "rates": { "btc": { "conversionDate": 0, "conversionRate": "0" } }, "cryptocurrencies": ["btc"], "snaps": "object", - "snapStates": "object", - "unencryptedSnapStates": "object", "jobs": "object", "database": null, "lastUpdated": null, diff --git a/ui/components/app/modals/new-account-modal/new-account-modal.test.tsx b/ui/components/app/modals/new-account-modal/new-account-modal.test.tsx index 4c3fdf8de3e2..bb078773cd66 100644 --- a/ui/components/app/modals/new-account-modal/new-account-modal.test.tsx +++ b/ui/components/app/modals/new-account-modal/new-account-modal.test.tsx @@ -79,7 +79,7 @@ describe('NewAccountModal', () => { await waitFor(() => { expect(mockSubmitRequestToBackground).toHaveBeenNthCalledWith( 2, - 'getState', + 'getStatePatches', undefined, ); }); diff --git a/ui/index.js b/ui/index.js index 5cce0a2a85d4..0198e586bfdf 100644 --- a/ui/index.js +++ b/ui/index.js @@ -70,6 +70,10 @@ export default async function launchMetamaskUi(opts) { const store = await startApp(metamaskState, backgroundConnection, opts); + await promisify( + backgroundConnection.startPatches.bind(backgroundConnection), + )(); + setupStateHooks(store); return store; diff --git a/ui/pages/confirmations/confirm-approve/confirm-approve.stories-to-do.js b/ui/pages/confirmations/confirm-approve/confirm-approve.stories-to-do.js index 7cac641fc9c0..d48e8fa19b58 100644 --- a/ui/pages/confirmations/confirm-approve/confirm-approve.stories-to-do.js +++ b/ui/pages/confirmations/confirm-approve/confirm-approve.stories-to-do.js @@ -5,7 +5,7 @@ import { useParams } from 'react-router-dom'; import { useSelector } from 'react-redux'; import { updateMetamaskState } from '../../../store/actions'; import { getCurrentNetworkTransactions } from '../../../selectors/transactions'; -import { store, getNewState } from '../../../../.storybook/preview'; +import { store } from '../../../../.storybook/preview'; import { subjectMetadata } from '../../../../.storybook/initial-states/approval-screens/token-approval'; import ConfirmApprove from '.'; @@ -24,34 +24,37 @@ const PageSet = ({ children }) => { 'Icon URL', 'https://metamask.github.io/test-dapp/metamask-fox.svg', ); - const state = store.getState(); const currentNetworkTxList = useSelector(getCurrentNetworkTransactions); const transaction = currentNetworkTxList.find(({ id }) => id === txId); useEffect(() => { transaction.origin = origin; store.dispatch( - updateMetamaskState( - getNewState(state.metamask, { - transactions: [transaction], - }), - ), + updateMetamaskState([ + { + op: 'replace', + path: ['transactions'], + value: [transaction], + }, + ]), ); - }, [origin, transaction, state.metamask]); + }, [origin, transaction]); useEffect(() => { store.dispatch( - updateMetamaskState( - getNewState(state.metamask, { - subjectMetadata: { + updateMetamaskState([ + { + op: 'replace', + path: ['subjectMetadata'], + value: { [origin]: { iconUrl: subjectIconUrl, }, }, - }), - ), + }, + ]), ); - }, [subjectIconUrl, origin, state.metamask]); + }, [subjectIconUrl, origin]); const params = useParams(); params.id = txId; @@ -59,14 +62,16 @@ const PageSet = ({ children }) => { }; export const DefaultStory = () => { - const state = store.getState(); store.dispatch( - updateMetamaskState( - getNewState(state.metamask, { - subjectMetadata, - }), - ), + updateMetamaskState([ + { + op: 'replace', + path: ['subjectMetadata'], + value: subjectMetadata, + }, + ]), ); + return ( diff --git a/ui/selectors/selectors.js b/ui/selectors/selectors.js index 9266bc5050e4..96c956d72223 100644 --- a/ui/selectors/selectors.js +++ b/ui/selectors/selectors.js @@ -301,7 +301,7 @@ export const getMetaMaskAccounts = createSelector( // TODO: `AccountTracker` balances are in hex and `MultichainBalance` are in number. // We should consolidate the format to either hex or number if (isEvmAccountType(internalAccount.type)) { - if (balances[internalAccount.address]) { + if (balances?.[internalAccount.address]) { account = { ...account, ...balances[internalAccount.address], diff --git a/ui/selectors/transactions.js b/ui/selectors/transactions.js index 5e1303ef2e57..2c5fb8fe4b98 100644 --- a/ui/selectors/transactions.js +++ b/ui/selectors/transactions.js @@ -45,7 +45,7 @@ export const getTransactions = createDeepEqualSelector( return []; } - return transactions.sort((a, b) => a.time - b.time); // Ascending + return [...transactions].sort((a, b) => a.time - b.time); // Ascending }, (transactions) => transactions, ); @@ -84,7 +84,10 @@ export const getAllUnapprovedTransactions = createDeepEqualSelector( return []; } - const sortedTransactions = transactions.sort((a, b) => a.time - b.time); + const sortedTransactions = [...transactions].sort( + (a, b) => a.time - b.time, + ); + return filterAndShapeUnapprovedTransactions(sortedTransactions); }, (transactions) => transactions, @@ -220,7 +223,7 @@ export const transactionsSelector = createSelector( (subSelectorTxList = [], selectedAddressTxList = []) => { const txsToRender = selectedAddressTxList.concat(subSelectorTxList); - return txsToRender.sort((a, b) => b.time - a.time); + return [...txsToRender].sort((a, b) => b.time - a.time); }, ); diff --git a/ui/store/actions.test.js b/ui/store/actions.test.js index 0ca8ef982316..213fa3fcf6c8 100644 --- a/ui/store/actions.test.js +++ b/ui/store/actions.test.js @@ -51,8 +51,6 @@ const defaultState = { }; const mockStore = (state = defaultState) => configureStore(middleware)(state); -const baseMockState = defaultState.metamask; - describe('Actions', () => { let background; @@ -60,7 +58,7 @@ describe('Actions', () => { beforeEach(async () => { background = sinon.createStubInstance(MetaMaskController, { - getState: sinon.stub().callsFake((cb) => cb(null, baseMockState)), + getState: sinon.stub().callsFake((cb) => cb(null, [])), }); background.signMessage = sinon.stub(); @@ -68,6 +66,7 @@ describe('Actions', () => { background.signTypedMessage = sinon.stub(); background.abortTransactionSigning = sinon.stub(); background.toggleExternalServices = sinon.stub(); + background.getStatePatches = sinon.stub().callsFake((cb) => cb(null, [])); }); describe('#tryUnlockMetamask', () => { @@ -88,10 +87,6 @@ describe('Actions', () => { { type: 'SHOW_LOADING_INDICATION', payload: undefined }, { type: 'UNLOCK_IN_PROGRESS' }, { type: 'UNLOCK_SUCCEEDED', value: undefined }, - { - type: 'UPDATE_METAMASK_STATE', - value: baseMockState, - }, { type: 'HIDE_LOADING_INDICATION' }, ]; @@ -155,10 +150,6 @@ describe('Actions', () => { const expectedActions = [ { type: 'SHOW_LOADING_INDICATION', payload: undefined }, - { - type: 'UPDATE_METAMASK_STATE', - value: baseMockState, - }, { type: 'SHOW_ACCOUNTS_PAGE' }, { type: 'HIDE_LOADING_INDICATION' }, ]; @@ -246,46 +237,12 @@ describe('Actions', () => { it('calls removeAccount in background and expect actions to show account', async () => { const store = mockStore(); - background.getState.callsFake((cb) => - cb(null, { - ...mockNetworkState({ chainId: CHAIN_IDS.MAINNET }), - currentLocale: 'test', - accounts: { - '0xAnotherAddress': { - balance: '0x0', - }, - }, - internalAccounts: { - accounts: { - '22497cc9-e791-42b8-adef-2f13ef216b86': { - address: '0xAnotherAddress', - id: '22497cc9-e791-42b8-adef-2f13ef216b86', - metadata: { - name: 'Test Account 2', - keyring: { - type: 'HD Key Tree', - }, - }, - options: {}, - methods: ETH_EOA_METHODS, - type: EthAccountType.Eoa, - }, - }, - selectedAccount: '22497cc9-e791-42b8-adef-2f13ef216b86', - }, - }), - ); - const removeAccount = background.removeAccount.callsFake((_, cb) => cb()); setBackgroundConnection(background); const expectedActions = [ 'SHOW_LOADING_INDICATION', - 'SELECTED_ADDRESS_CHANGED', - 'ACCOUNT_CHANGED', - 'SELECTED_ACCOUNT_CHANGED', - 'UPDATE_METAMASK_STATE', 'HIDE_LOADING_INDICATION', 'SHOW_ACCOUNTS_PAGE', ]; @@ -702,7 +659,7 @@ describe('Actions', () => { background.getApi.returns({ updateTransaction: updateTransactionStub, - getState: sinon.stub().callsFake((cb) => cb(null, baseMockState)), + getStatePatches: sinon.stub().callsFake((cb) => cb(null, [])), }); setBackgroundConnection(background.getApi()); @@ -725,11 +682,7 @@ describe('Actions', () => { updateTransaction: (_, callback) => { callback(new Error('error')); }, - getState: sinon.stub().callsFake((cb) => - cb(null, { - currentLocale: 'test', - }), - ), + getStatePatches: sinon.stub().callsFake((cb) => cb(null, [])), }); setBackgroundConnection(background.getApi()); @@ -916,7 +869,7 @@ describe('Actions', () => { background.getApi.returns({ addToken: addTokenStub, - getState: sinon.stub().callsFake((cb) => cb(null, baseMockState)), + getStatePatches: sinon.stub().callsFake((cb) => cb(null, [])), }); setBackgroundConnection(background.getApi()); @@ -947,17 +900,13 @@ describe('Actions', () => { background.getApi.returns({ addToken: addTokenStub, - getState: sinon.stub().callsFake((cb) => cb(null, baseMockState)), + getStatePatches: sinon.stub().callsFake((cb) => cb(null, [])), }); setBackgroundConnection(background.getApi()); const expectedActions = [ { type: 'SHOW_LOADING_INDICATION', payload: undefined }, - { - type: 'UPDATE_METAMASK_STATE', - value: baseMockState, - }, { type: 'HIDE_LOADING_INDICATION' }, ]; @@ -986,7 +935,7 @@ describe('Actions', () => { background.getApi.returns({ ignoreTokens: ignoreTokensStub, - getState: sinon.stub().callsFake((cb) => cb(null, baseMockState)), + getStatePatches: sinon.stub().callsFake((cb) => cb(null, [])), }); setBackgroundConnection(background.getApi()); @@ -1002,7 +951,7 @@ describe('Actions', () => { background.getApi.returns({ ignoreTokens: sinon.stub().callsFake((_, cb) => cb(new Error('error'))), - getState: sinon.stub().callsFake((cb) => cb(null, baseMockState)), + getStatePatches: sinon.stub().callsFake((cb) => cb(null, [])), }); setBackgroundConnection(background.getApi()); @@ -1010,10 +959,6 @@ describe('Actions', () => { const expectedActions = [ { type: 'SHOW_LOADING_INDICATION', payload: undefined }, { type: 'DISPLAY_WARNING', payload: 'error' }, - { - type: 'UPDATE_METAMASK_STATE', - value: baseMockState, - }, { type: 'HIDE_LOADING_INDICATION' }, ]; @@ -1270,7 +1215,7 @@ describe('Actions', () => { background.getApi.returns({ setAddressBook: setAddressBookStub, - getState: sinon.stub().callsFake((cb) => cb(null, baseMockState)), + getStatePatches: sinon.stub().callsFake((cb) => cb(null, [])), }); setBackgroundConnection(background.getApi()); @@ -1862,13 +1807,7 @@ describe('Actions', () => { setBackgroundConnection(background); - const expectedActions = [ - { type: 'HIDE_LOADING_INDICATION' }, - { - type: 'UPDATE_METAMASK_STATE', - value: baseMockState, - }, - ]; + const expectedActions = [{ type: 'HIDE_LOADING_INDICATION' }]; await expect( store.dispatch(actions.markPasswordForgotten('test')), @@ -1917,40 +1856,7 @@ describe('Actions', () => { rejectPendingApproval: sinon.stub().callsFake((_1, _2, cb) => { cb(); }), - getState: sinon.stub().callsFake((cb) => - cb(null, { - ...mockNetworkState({ chainId: CHAIN_IDS.MAINNET }), - currentLocale: 'test', - accounts: { - '0xFirstAddress': { - balance: '0x0', - }, - }, - internalAccounts: { - accounts: { - '8e110453-2231-4e62-82de-29b913dfef4b': { - address: '0xFirstAddress', - id: '8e110453-2231-4e62-82de-29b913dfef4b', - metadata: { - name: 'Test Account 2', - keyring: { - type: 'HD Key Tree', - }, - }, - options: {}, - methods: ETH_EOA_METHODS, - type: EthAccountType.Eoa, - }, - }, - selectedAccount: '8e110453-2231-4e62-82de-29b913dfef4b', - }, - cachedBalances: { - '0x1': { - '0xFirstAddress': '0x0', - }, - }, - }), - ), + getStatePatches: sinon.stub().callsFake((cb) => cb(null, [])), }); setBackgroundConnection(background.getApi()); diff --git a/ui/store/actions.ts b/ui/store/actions.ts index 939a0d2bf215..c3d234100a1a 100644 --- a/ui/store/actions.ts +++ b/ui/store/actions.ts @@ -38,6 +38,7 @@ import { import { InterfaceState } from '@metamask/snaps-sdk'; import { KeyringTypes } from '@metamask/keyring-controller'; import type { NotificationServicesController } from '@metamask/notification-services-controller'; +import { Patch } from 'immer'; import switchDirection from '../../shared/lib/switch-direction'; import { ENVIRONMENT_TYPE_NOTIFICATION, @@ -422,8 +423,6 @@ export function importNewAccount( AnyAction > { return async (dispatch: MetaMaskReduxDispatch) => { - let newState; - dispatch(showLoadingIndication(loadingMessage)); try { @@ -432,16 +431,11 @@ export function importNewAccount( strategy, args, ]); - log.debug(`background.getState`); - newState = await submitRequestToBackground< - MetaMaskReduxState['metamask'] - >('getState'); } finally { dispatch(hideLoadingIndication()); } - dispatch(updateMetamaskState(newState)); - return newState; + return await forceUpdateMetamaskState(dispatch); }; } @@ -679,18 +673,17 @@ export function decryptMsgInline( return async (dispatch: MetaMaskReduxDispatch) => { log.debug(`actions calling background.decryptMessageInline`); - let newState; try { - newState = await submitRequestToBackground< - MetaMaskReduxState['metamask'] - >('decryptMessageInline', [decryptedMsgData]); + await submitRequestToBackground('decryptMessageInline', [ + decryptedMsgData, + ]); } catch (error) { logErrorWithMessage(error); dispatch(displayWarning(error)); throw error; } - dispatch(updateMetamaskState(newState)); + const newState = await forceUpdateMetamaskState(dispatch); return newState.unapprovedDecryptMsgs[decryptedMsgData.metamaskId]; }; } @@ -708,11 +701,8 @@ export function decryptMsg( dispatch(showLoadingIndication()); log.debug(`actions calling background.decryptMessage`); - let newState: MetaMaskReduxState['metamask']; try { - newState = await submitRequestToBackground< - MetaMaskReduxState['metamask'] - >('decryptMessage', [decryptedMsgData]); + await submitRequestToBackground('decryptMessage', [decryptedMsgData]); } catch (error) { logErrorWithMessage(error); dispatch(displayWarning(error)); @@ -721,7 +711,7 @@ export function decryptMsg( dispatch(hideLoadingIndication()); } - dispatch(updateMetamaskState(newState)); + await forceUpdateMetamaskState(dispatch); dispatch(completedTx(decryptedMsgData.metamaskId)); dispatch(closeCurrentNotificationWindow()); return decryptedMsgData; @@ -741,11 +731,11 @@ export function encryptionPublicKeyMsg( dispatch(showLoadingIndication()); log.debug(`actions calling background.encryptionPublicKey`); - let newState: MetaMaskReduxState['metamask']; try { - newState = await submitRequestToBackground< - MetaMaskReduxState['metamask'] - >('encryptionPublicKey', [msgData]); + await submitRequestToBackground( + 'encryptionPublicKey', + [msgData], + ); } catch (error) { logErrorWithMessage(error); dispatch(displayWarning(error)); @@ -754,7 +744,7 @@ export function encryptionPublicKeyMsg( dispatch(hideLoadingIndication()); } - dispatch(updateMetamaskState(newState)); + await forceUpdateMetamaskState(dispatch); dispatch(completedTx(msgData.metamaskId)); dispatch(closeCurrentNotificationWindow()); return msgData; @@ -768,27 +758,6 @@ export function updateCustomNonce(value: string) { }; } -const updateMetamaskStateFromBackground = (): Promise< - MetaMaskReduxState['metamask'] -> => { - log.debug(`background.getState`); - - return new Promise((resolve, reject) => { - callBackgroundMethod( - 'getState', - [], - (error, newState) => { - if (error) { - reject(error); - return; - } - - resolve(newState as MetaMaskReduxState['metamask']); - }, - ); - }); -}; - /** * TODO: update previousGasParams to use typed gas params object * TODO: Not a thunk, but rather a wrapper around a background call @@ -963,8 +932,7 @@ export function updateTransaction( try { dispatch(updateTransactionParams(txMeta.id, txMeta.txParams)); - const newState = await updateMetamaskStateFromBackground(); - dispatch(updateMetamaskState(newState)); + await forceUpdateMetamaskState(dispatch); dispatch(showConfTxPage({ id: txMeta.id })); return txMeta; } finally { @@ -1100,8 +1068,7 @@ export function updateAndApproveTx( }, ); }) - .then(() => updateMetamaskStateFromBackground()) - .then((newState) => dispatch(updateMetamaskState(newState))) + .then(() => forceUpdateMetamaskState(dispatch)) .then(() => { if (!getIsSendActive()) { dispatch(resetSendState()); @@ -1346,16 +1313,16 @@ export function cancelDecryptMsg( return async (dispatch: MetaMaskReduxDispatch) => { dispatch(showLoadingIndication()); - let newState; try { - newState = await submitRequestToBackground< - MetaMaskReduxState['metamask'] - >('cancelDecryptMessage', [msgData.id]); + await submitRequestToBackground( + 'cancelDecryptMessage', + [msgData.id], + ); } finally { dispatch(hideLoadingIndication()); } - dispatch(updateMetamaskState(newState)); + await forceUpdateMetamaskState(dispatch); dispatch(completedTx(msgData.id)); dispatch(closeCurrentNotificationWindow()); return msgData; @@ -1373,16 +1340,16 @@ export function cancelEncryptionPublicKeyMsg( return async (dispatch: MetaMaskReduxDispatch) => { dispatch(showLoadingIndication()); - let newState; try { - newState = await submitRequestToBackground< - MetaMaskReduxState['metamask'] - >('cancelEncryptionPublicKey', [msgData.id]); + await submitRequestToBackground( + 'cancelEncryptionPublicKey', + [msgData.id], + ); } finally { dispatch(hideLoadingIndication()); } - dispatch(updateMetamaskState(newState)); + await forceUpdateMetamaskState(dispatch); dispatch(completedTx(msgData.id)); dispatch(closeCurrentNotificationWindow()); return msgData; @@ -1417,8 +1384,7 @@ export function cancelTx( }, ); }) - .then(() => updateMetamaskStateFromBackground()) - .then((newState) => dispatch(updateMetamaskState(newState))) + .then(() => forceUpdateMetamaskState(dispatch)) .then(() => { dispatch(resetSendState()); dispatch(completedTx(txMeta.id)); @@ -1471,8 +1437,7 @@ export function cancelTxs( await Promise.all(cancellations); - const newState = await updateMetamaskStateFromBackground(); - dispatch(updateMetamaskState(newState)); + await forceUpdateMetamaskState(dispatch); dispatch(resetSendState()); txIds.forEach((id) => { @@ -1559,13 +1524,18 @@ export function unlockSucceeded(message?: string) { } export function updateMetamaskState( - newState: MetaMaskReduxState['metamask'], + patches: Patch[], ): ThunkAction { return (dispatch, getState) => { const state = getState(); const providerConfig = getProviderConfig(state); const { metamask: currentState } = state; + if (!patches?.length) { + return currentState; + } + + const newState = applyPatches(currentState, patches); const { currentLocale } = currentState; const currentInternalAccount = getSelectedInternalAccount(state); const selectedAddress = currentInternalAccount?.address; @@ -1657,6 +1627,8 @@ export function updateMetamaskState( ///: BEGIN:ONLY_INCLUDE_IF(build-mmi) updateCustodyState(dispatch, newState, getState()); ///: END:ONLY_INCLUDE_IF + + return newState; }; } @@ -1684,13 +1656,12 @@ export function lockMetamask(): ThunkAction< dispatch(showLoadingIndication()); return backgroundSetLocked() - .then(() => updateMetamaskStateFromBackground()) + .then(() => forceUpdateMetamaskState(dispatch)) .catch((error) => { dispatch(displayWarning(error.message)); return Promise.reject(error); }) - .then((newState) => { - dispatch(updateMetamaskState(newState)); + .then(() => { dispatch(hideLoadingIndication()); dispatch({ type: actionConstants.LOCK_METAMASK }); }) @@ -2288,12 +2259,12 @@ export function createCancelTransaction( const { id } = currentNetworkTxList[currentNetworkTxList.length - 1]; newTxId = id; - resolve(newState); + resolve(); } }, ); }) - .then((newState) => dispatch(updateMetamaskState(newState))) + .then(() => forceUpdateMetamaskState(dispatch)) .then(() => newTxId); }; } @@ -2323,12 +2294,12 @@ export function createSpeedUpTransaction( const currentNetworkTxList = getCurrentNetworkTransactions(newState); newTx = currentNetworkTxList[currentNetworkTxList.length - 1]; - resolve(newState); + resolve(); } }, ); }) - .then((newState) => dispatch(updateMetamaskState(newState))) + .then(() => forceUpdateMetamaskState(dispatch)) .then(() => newTx); }; } @@ -2355,12 +2326,12 @@ export function createRetryTransaction( const currentNetworkTxList = getCurrentNetworkTransactions(newState); newTx = currentNetworkTxList[currentNetworkTxList.length - 1]; - resolve(newState); + resolve(); } }, ); }) - .then((newState) => dispatch(updateMetamaskState(newState))) + .then(() => forceUpdateMetamaskState(dispatch)) .then(() => newTx); }; } @@ -3159,20 +3130,18 @@ export function setServiceWorkerKeepAlivePreference( export async function forceUpdateMetamaskState( dispatch: MetaMaskReduxDispatch, ) { - log.debug(`background.getState`); + let pendingPatches: Patch[] | undefined; - let newState; try { - newState = await submitRequestToBackground( - 'getState', + pendingPatches = await submitRequestToBackground( + 'getStatePatches', ); } catch (error) { dispatch(displayWarning(error)); throw error; } - dispatch(updateMetamaskState(newState)); - return newState; + return dispatch(updateMetamaskState(pendingPatches)); } export function toggleAccountMenu() { @@ -5663,3 +5632,33 @@ export async function endBackgroundTrace(request: EndTraceRequest) { { ...request, timestamp }, ]); } + +/** + * Apply the state patches from the background. + * Intentionally not using immer as a temporary measure to avoid + * freezing the resulting state and requiring further fixes + * to remove direct state mutations. + * + * @param oldState - The current state. + * @param patches - The patches to apply. + * Only supports 'replace' operations with a single path element. + * @returns The new state. + */ +function applyPatches( + oldState: Record, + patches: Patch[], +): Record { + const newState = { ...oldState }; + + for (const patch of patches) { + const { op, path, value } = patch; + + if (op === 'replace') { + newState[path[0]] = value; + } else { + throw new Error(`Unsupported patch operation: ${op}`); + } + } + + return newState; +} From 4f58f14a8e715877ad02a94be4801613eb7a5909 Mon Sep 17 00:00:00 2001 From: David Murdoch <187813+davidmurdoch@users.noreply.github.com> Date: Thu, 19 Sep 2024 11:03:18 -0400 Subject: [PATCH 33/37] perf: finish getting rid of uses of the Roboto font (#26552) We use two custom fonts in our typography CSS: Euclid Circular B and Roboto. Roboto is a fallback font, but since both are custom fonts Roboto will never be activated by our default typography. It can be removed. Roboto is only used in one other place in our CSS, but the selector looks to be not used anymore. Lastly, Material UI uses Roboto by default for input elements and their labels. This PR updates our use of it to use "Euclid Circular B" and our usual fall back fonts. I don't particularly like the implementation (setting `fontFamily` as a string constant in JS), but I'm not sure how to do it any better (cc @georgewrmarshall ). It saves about 0-2ms from the load time (compared to `popup-defer-scripts` branch), so it's not substantial by any stretch. It does save 1.4 megabytes, about 6%, from the dist zip (compared to `popup-defer-scripts` branch), which seems worthwhile. Fixes: https://github.com/MetaMask/metamask-extension/issues/26589 --- .storybook/metamask-storybook-theme.js | 2 +- .../ui/text-field/text-field.component.js | 9 ++++ ui/css/design-system/_typography.scss | 2 +- ui/css/utilities/fonts.scss | 42 ------------------ .../utilities/fonts/Roboto/Roboto-Black.ttf | Bin 142472 -> 0 bytes .../fonts/Roboto/Roboto-BlackItalic.ttf | Bin 149644 -> 0 bytes ui/css/utilities/fonts/Roboto/Roboto-Bold.ttf | Bin 135820 -> 0 bytes .../fonts/Roboto/Roboto-BoldItalic.ttf | Bin 144700 -> 0 bytes .../utilities/fonts/Roboto/Roboto-Italic.ttf | Bin 148540 -> 0 bytes .../utilities/fonts/Roboto/Roboto-Light.ttf | Bin 140276 -> 0 bytes .../fonts/Roboto/Roboto-LightItalic.ttf | Bin 145932 -> 0 bytes .../utilities/fonts/Roboto/Roboto-Medium.ttf | Bin 137308 -> 0 bytes .../fonts/Roboto/Roboto-MediumItalic.ttf | Bin 147876 -> 0 bytes .../utilities/fonts/Roboto/Roboto-Regular.ttf | Bin 145348 -> 0 bytes ui/css/utilities/fonts/Roboto/Roboto-Thin.ttf | Bin 130044 -> 0 bytes .../fonts/Roboto/Roboto-ThinItalic.ttf | Bin 132376 -> 0 bytes .../fonts/Roboto/RobotoCondensed-Bold.ttf | Bin 141796 -> 0 bytes .../Roboto/RobotoCondensed-BoldItalic.ttf | Bin 145256 -> 0 bytes .../fonts/Roboto/RobotoCondensed-Italic.ttf | Bin 144404 -> 0 bytes .../fonts/Roboto/RobotoCondensed-Light.ttf | Bin 141384 -> 0 bytes .../Roboto/RobotoCondensed-LightItalic.ttf | Bin 145104 -> 0 bytes .../fonts/Roboto/RobotoCondensed-Regular.ttf | Bin 140396 -> 0 bytes ui/pages/swaps/fee-card/index.scss | 5 --- 23 files changed, 11 insertions(+), 49 deletions(-) delete mode 100644 ui/css/utilities/fonts/Roboto/Roboto-Black.ttf delete mode 100644 ui/css/utilities/fonts/Roboto/Roboto-BlackItalic.ttf delete mode 100644 ui/css/utilities/fonts/Roboto/Roboto-Bold.ttf delete mode 100644 ui/css/utilities/fonts/Roboto/Roboto-BoldItalic.ttf delete mode 100644 ui/css/utilities/fonts/Roboto/Roboto-Italic.ttf delete mode 100644 ui/css/utilities/fonts/Roboto/Roboto-Light.ttf delete mode 100644 ui/css/utilities/fonts/Roboto/Roboto-LightItalic.ttf delete mode 100644 ui/css/utilities/fonts/Roboto/Roboto-Medium.ttf delete mode 100644 ui/css/utilities/fonts/Roboto/Roboto-MediumItalic.ttf delete mode 100644 ui/css/utilities/fonts/Roboto/Roboto-Regular.ttf delete mode 100644 ui/css/utilities/fonts/Roboto/Roboto-Thin.ttf delete mode 100644 ui/css/utilities/fonts/Roboto/Roboto-ThinItalic.ttf delete mode 100644 ui/css/utilities/fonts/Roboto/RobotoCondensed-Bold.ttf delete mode 100644 ui/css/utilities/fonts/Roboto/RobotoCondensed-BoldItalic.ttf delete mode 100644 ui/css/utilities/fonts/Roboto/RobotoCondensed-Italic.ttf delete mode 100644 ui/css/utilities/fonts/Roboto/RobotoCondensed-Light.ttf delete mode 100644 ui/css/utilities/fonts/Roboto/RobotoCondensed-LightItalic.ttf delete mode 100644 ui/css/utilities/fonts/Roboto/RobotoCondensed-Regular.ttf diff --git a/.storybook/metamask-storybook-theme.js b/.storybook/metamask-storybook-theme.js index ac58fe319ca4..685702767484 100644 --- a/.storybook/metamask-storybook-theme.js +++ b/.storybook/metamask-storybook-theme.js @@ -2,5 +2,5 @@ export const metamaskStorybookTheme = { brandTitle: 'MetaMask Storybook', // Typography - fontBase: 'Euclid Circular B, Roboto, Helvetica, Arial, sans-serif', + fontBase: 'Euclid Circular B, Helvetica, Arial, sans-serif', }; diff --git a/ui/components/ui/text-field/text-field.component.js b/ui/components/ui/text-field/text-field.component.js index a7637e76a729..6ed0a9bff6fb 100644 --- a/ui/components/ui/text-field/text-field.component.js +++ b/ui/components/ui/text-field/text-field.component.js @@ -19,6 +19,13 @@ const inputLabelBase = { color: 'var(--color-text-default)', }; +const fontFamily = [ + '"Euclid Circular B"', + 'Helvetica', + 'Arial', + 'sans-serif', +].join(', '); + const styles = { materialLabel: { '&$materialFocused': { @@ -60,6 +67,7 @@ const styles = { }, // Non-material styles formLabel: { + fontFamily, '&$formLabelFocused': { color: 'var(--color-text-alternative)', }, @@ -70,6 +78,7 @@ const styles = { formLabelFocused: {}, inputFocused: {}, inputRoot: { + fontFamily, 'label + &': { marginTop: '9px', }, diff --git a/ui/css/design-system/_typography.scss b/ui/css/design-system/_typography.scss index aa2c22d1f0c0..260ace9ae11f 100644 --- a/ui/css/design-system/_typography.scss +++ b/ui/css/design-system/_typography.scss @@ -1,6 +1,6 @@ @use "sass:map"; -$font-family: 'Euclid Circular B', Roboto, Helvetica, Arial, sans-serif; +$font-family: 'Euclid Circular B', Helvetica, Arial, sans-serif; $typography-variants: ( 'h1': 2.5rem, diff --git a/ui/css/utilities/fonts.scss b/ui/css/utilities/fonts.scss index b7754758eaba..a189b49d9a94 100644 --- a/ui/css/utilities/fonts.scss +++ b/ui/css/utilities/fonts.scss @@ -21,48 +21,6 @@ $font-path: './fonts'; $fa-font-path: $fa-font-path ); -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 100; - src: local('Roboto Thin'), local('Roboto-Thin'), url('#{$font-path}/Roboto/Roboto-Thin.ttf') format('truetype'); -} - -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - src: local('Roboto Light'), local('Roboto-Light'), url('#{$font-path}/Roboto/Roboto-Light.ttf') format('truetype'); -} - -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url('#{$font-path}/Roboto/Roboto-Regular.ttf') format('truetype'); -} - -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url('#{$font-path}/Roboto/Roboto-Medium.ttf') format('truetype'); -} - -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - src: local('Roboto Bold'), local('Roboto-Bold'), url('#{$font-path}/Roboto/Roboto-Bold.ttf') format('truetype'); -} - -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 900; - src: local('Roboto Black'), local('Roboto-Black'), url('#{$font-path}/Roboto/Roboto-Black.ttf') format('truetype'); -} - @font-face { font-family: 'Euclid Circular B'; font-style: normal; diff --git a/ui/css/utilities/fonts/Roboto/Roboto-Black.ttf b/ui/css/utilities/fonts/Roboto/Roboto-Black.ttf deleted file mode 100644 index 71f01ac2b216d59547ab51d15c031bf64c671738..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 142472 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/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�mD+ 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 diff --git a/ui/css/utilities/fonts/Roboto/Roboto-Bold.ttf b/ui/css/utilities/fonts/Roboto/Roboto-Bold.ttf deleted file mode 100644 index aaf374d2cc000c058f434f43c3b53bcaf315e2a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 135820 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 TYqd&VnqJLHIX9iq_T+y7#;O#c diff --git a/ui/css/utilities/fonts/Roboto/Roboto-BoldItalic.ttf b/ui/css/utilities/fonts/Roboto/Roboto-BoldItalic.ttf deleted file mode 100644 index dcd0f800730ba1a562ce450a8079f77e7500eb3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144700 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 diff --git a/ui/css/utilities/fonts/Roboto/Roboto-Italic.ttf b/ui/css/utilities/fonts/Roboto/Roboto-Italic.ttf deleted file mode 100644 index f382c6874359c1e98bdc2a2ecd1d141e8f1cc15e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148540 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 B*%JT& diff --git a/ui/css/utilities/fonts/Roboto/Roboto-Light.ttf b/ui/css/utilities/fonts/Roboto/Roboto-Light.ttf deleted file mode 100644 index 664e1b2f9dbafbf6280305123d2df7fa0c66cee9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 140276 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 diff --git a/ui/css/utilities/fonts/Roboto/Roboto-LightItalic.ttf b/ui/css/utilities/fonts/Roboto/Roboto-LightItalic.ttf deleted file mode 100644 index b8f52963716da01c0ddfaa564aecc1bd2cce9d00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 145932 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%0ASr-(6zF~G?n0X5UOlg@nL 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 DtJNnc diff --git a/ui/css/utilities/fonts/Roboto/Roboto-Medium.ttf b/ui/css/utilities/fonts/Roboto/Roboto-Medium.ttf deleted file mode 100644 index aa00de0ef929483ea17fbe5f3fef66de45ed724b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 137308 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 diff --git a/ui/css/utilities/fonts/Roboto/Roboto-MediumItalic.ttf b/ui/css/utilities/fonts/Roboto/Roboto-MediumItalic.ttf deleted file mode 100644 index 67e25f0197465f051496ad1e7ccd175402228527..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 147876 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

)N~QJd5S4s&flYMzzDupd-> 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 z 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 diff --git a/ui/css/utilities/fonts/Roboto/Roboto-ThinItalic.ttf b/ui/css/utilities/fonts/Roboto/Roboto-ThinItalic.ttf deleted file mode 100644 index 63e9f97186f8ba7703e019dd0bd29f3c875d60fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132376 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 E3RVjh_3^^}%MI`#wIF{g*4XL3;$vk;omBxMFH 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�wMpd(vy)n5 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

lxY7sTs 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 p60_h=B@Zs z5~Ic#HHk6Cn8cW7l)d{uGs}ftljnKg_xpW|bMKv7=ALurv^i(yiZDXR2{r;!w#n?= z_05j$0>Td-BGmQMHeI{7h@E3U29anTLbB|R-MY3-`E2Ydgq)kf18$wWYU57dKtmD2 zMbOH?A!7#RZYUqw5FxiLgsdhEnVhHg7)B=}q^W`H4Tt3pACvT4c?coDoA6A<@Ie!E zkrh(G`>Nr(-SE-Vh6zjb{SgY!LU_r-oS}oV|Hxf82=4WP>xnsV!sc(qA5iZG^`M+F zc~g5jRAoT@4MNJcqsI*yRMx3OTZ95);Qb+E22IVCr_nBOeJb3q9y@5vP{+eh<|AAN z_{nT?$4$(;C9au_aQSnD0-xnh7@AwNY2R+RH6NbILyR_1(l(6_9N^gG59DbDClI>& z$|;)dZ@DM^{m$L+xmBRma72(b6w?o$u^Mdn93jQxckbd6#Vp=Z?M1c|oY@)JZa{8m zAd=NycR5VAVDZP$Y!4Z-b%i;kHf770Rf`+lzNUuWZ2_nW!r0xSJ)lg8IapQ)w z_KXG-3|50lgc{-Po!J{xWIDJ@jR-!@?uB+?&kAXQP6z@@rXQjdnF`$!Mk8O`7@Z&; zQAg6*xQ#lXee_F|gY%6CNn11o|A69137r2BwWJ^7XxRHf34)@9(jH1Clv_|DpiIU0 zP#pfmSWO3`cJw-$PV?ZtG;~(3L0D*SydgA32|@zO5PF~l`Z<()P@juh3Z*Ck|B0H@ zGss?`r~%!G5@ah;jBu1+&k$O{ekIBj`orD^HKL!P&xJmyy^xG9$Zn(CLagy8AsGEY zPa|ji3lhjj=mq}8xRpFY6Dc-sA?fHfEe6;xB40WUV7iFn=>n8M2B1N3>@6FPx{$8#TnYP&n{h z7##;Rc!?Sdn@|+s=Pl1fZDl{9M))EMCIgMbg|(;&^qW@L54871E%AM0D9{o57)MbR zZcgnm!f&yb^vC}Ajqx;%LvM&4yO4&!{a#`=l%dGma0d2^ke8txN)WNb!{`#6fPX~{ z-UQ*i@ne9wlaOKj40uS%cz|9v{wh2}J%z(4PZ$O8pGUFuH%4=`7vPMeyMQN0pgs&{ z`UUDl8lxU`zwuK#9oh>(BY6MKg!`^TnSu7eeeH#hp^a_EBSIzc+BTFXWTNiCe-~sQ zpti!#=$_CCb&%NTjXxme+#@hc%5Et9oGJ%k^D zXIG)?@+PREybv{%S)tpqQz%ggfxhp6I>~KNs^D(C1Mg`J@)AyNAvN&9L0KQ;M|2o+ zqaPtPEd~Dn82aUR=o40FB@-12H-XL~9PdSWvTUT5okU(BPX)3}xbFazdB|VZ2jsBS zcn|v4i_VAl7aOZ(``{T?hjwHl`aqU~lHmRZvd1V1ct#^cgS_rGUX;B^P%0b#sjpy@i_EJD!mLeNJ7tn?)#yh3GK$n{zlzoTGUi#gti+)n+d23 zEkw-(HA;v6y$a=P=xPa4?KR~_?Z5I)Z~WoEwmE}Z8nkZM2$fIz7(3HnZR460RJ|5PvcLr ziN+t~OHr(B9C88u(gt)#qHqv+qY>IC33pm?&7UvpUkn!j&nTpPnVa5w|D_TKsBWE%R9iZI+ ze;rDYw?$`&E1F5{fL7ROp!R4!xefP$UXc|5U#|oHdw@QnO;MU63dIRw*b8W!D_e^` zm)oO#@&vS7b_{gNPtfNZQK+CWo&Xq6g1#RpzmA&YJH~X-3mxcsG!O7^MOUL1bTk@@ z_Zh#WPf#X!Z1pT^GgPvcFH#|HEUY6|T)pv$042EGtb6Cn;Yz*SHm4tSQs z-UrVA1*Hib{|WjD?x7FhxD;e&1}YOY0PokRToBP!kpED?;V4~a{0;ash4?_9c1H@( zZLV}T=dFdz z1oju~7ub*n+$J)+_;1AtWpEqG>|||WHqyLs``8EU=|4+*ZXcPAWQEyAX8-Zy@vl`^<1=F#QjE=0DI2 z$nih!!M6bTyg1z$PK<^Yd*gO|9rzZ`gWuGgt^u6~eh9N|pbr`_e}MTT%qKAIje52R zd(7)(7YeV_Gt5>oeN(&V$Iv&hk70deu?Js<`4h~iAvwk}(;n)c;NO6c@jvZ>hfV_z zrPuP(7`|VQ#<2c|_q6=q?z#U2J`Cp()^ChgK0?mSmwA8Bdy=AdZi-|*|;PjmTz{*ruX#D4d}qcRtY4X*%=n!5 zG4r9A-vs>1{Uz{;xDUu=oB5gG+t!^o$$NX|C-L_&KMnYl%M!H5;{GT2 zi;@qd@JBIODx(}|Kiahd{tlAj_yQ`augkI{wE zk?$p4BKc&}9(+vZ2Qq(@>)`kI;G1&)5qwhSH*&hOu?viCm>(21*o&n14T zeFv987+2KwwTVx&>iB@^gL}pr=A$xyj}?3efj28Sg@F@*ttQQQ8<#FfrtIE zLgncKw*>RHqX6x7B61s}P4?n^wgBkYF zA*P=v{PVueLQWfZOyZ zXCRrbnYI!2kJK^*G5u;Eg&nW6YAhVppEf&k^noALP1n8PCtZ}q#=5uw#o?#L(070b zhcud>GHvQ0;1mK}*dBN>#_T3eC1};p3rD!KzuMKgF^Y`FljGyW3m28RH4 zaH8(j!0ezOV3=E5d{{IRMu<6Zh8_7JK@Ou~^c2lSa+D26EOu&-G-x&|L5I;1bOBvM zx6w273lgy-ut+daAqIEF1MqM>8_&UO@D8lQudtDLlO)oMRFLbWihM-hZ`TgzRNo}ikRr{#})FJ8^b-X%7-9(+P&Qs4(?^f?qAJ)h;Dvg^aKog>g*7Oe` z0rCLH0OtU&0Kb5UfVKex1BM3Q`18s;K{Of-MkC-TVW~y|faMOrvJ_oJ*HJb49=$?F ztOR)t0XdJw-S9x1!?7&EM*+*X#G@9=Yk=i_z!HMPwOB3$EDPycx{H?4GxQ?8K|cX3 zkq{!p2(5)oVTh0`Oc(Nn+roX}8{tnGkvaJxzf`}uekFdd{eA~5ky@p8SF6>*fMuMz zQ5}}M0Lw!bSoW#K(#Z_VY>p)cENcKuEZ9Tr0OIq;Z*X(tMVw${5sxq^fl&OR_(Ji9 zqJrXTR2i}OyZAls$;cxP5}TprhC7BmhO367hFyl8hOLGo!y;&HxN#V}!yto#jje0m z*8GJ~O*xcOD7&C+h3D5nSp~;!5c;meceYQ@KK|XMEl9>z3a- zeckw5>#yU!rceHc*!gErraT$>BvgrNCo0ii@7G9o7mVuco>MMOnhh%0d;?!*Hv zMoWk%@d8=(A-*Ude@nkZOYwK8fOI6CNCxRlGRX&M8RZ=Od^xX6f%{}AT#kZ{5}4eSd(>RJ=s7u zl8GdbOe53L0d$c3f)0^aI&HnH*}l2QxED%y+D#bL7!3|`T@j(KBIo< z4)v#M@Z2=$F1m;A(*Wv?z5vY>M1yGv4W(hU0eXPGq~SCIblvypIgAV<(F^deUeYM^ z6Z#qS-zyr8ex+I(16hh#h%Cj?E;JsAv>`Im1e!>bXfni+z*x~nv@1;k|3kns`i^#^ z-9aI{fc08h9`gBjs8v- zL&U!|ZbS3wQo%;B#cgSUU`LnHSPnr6_>NKR}R*MeZy%VsSb z3(DF9QoH}}JK%cAg37=qDIhCpjckxDvID#1fEP~J(+Ccu?XS_Xb2h(dTJ6{fX1K^cn+EfIlmQX4oG|fWULDDO33%-;YD}}UW_i` zWoRUthE9OYFF~`>AT$~;MQibLux_K!bUXon4SM89T*D-l^&cLEM}rN|L5uM!;zw5C z$^j_7Eu8z1{*pSZ9!Yn zHZ%pS>2|akAsveBptH`*D#N(2*C}jVq)YcLv!(<3N9k~+THR_yx(*MF(ve6V4%bBK zXr#Kejs~~xk`>rXU7#*#mtCN4tM*R0dcKyrqhvO@XYvQ8rp`aHLnw=NKXRp*~l0^MrQF)ZyP zbD@jh+=Cs_x+7ss zuT~+>?3}DilUUP{ymb?85I?7YbEYG!w$fGW#xWskb`|Mu6bg8giNN|8J3LW8kZp3= zW-i-QvyIvg=jqcN;AjBb%wZd?1Dxy3Hsjc4CEFZj8zbBJJK#y|iAn5jp<@Y%`8+j0r@-%c6uwi z1S-;19Ee*FZm7aY)H+Vks{L?GdYrfZR zZ!7N!-p_qH`i%8;^KIyR)33c>55LL&A^s`;v;8mo-|>H@wo(sPFIR6<-%>x(L~4>X zT{NRLi#3k|G6EI{$^&}@-UwPA>=)cN_-aU8$j*@Sp*Epep+%v8hV>5nrorq6`tX48 zg7B9S%_4S2+>K0$92>bN@=WB-C=?YPl@nDI^(g9fv^-iFof17PdS-M{^u_3#(SK@# zw2QUJwQpj=W2VOZ9NRv&BCbhXdEC$O!{T2w?AWj*Z4`3%qB0IwrIMr>HXBm)D3CMw2ZV3X^)zgvBA3T2Y_=^+d6ACAW zOsveCkoPRFW>V&)ib;1Ty_#$@IcW0y$%iNZJVibwWy-~=Hd8lDeKgH#THLhJ)AFai zp7wgih8aK4OrDuLbKA^6XNAwonl*pcy4k|)zOzf_Sk37+r*KZ?T&uYOa|h48H7{sh z&b-6(UeE6_zi9sP`7akFF6g^p|AMCr8!lYF@b^VIi`FgrbTL_+xwvw%xFmVW;w8uP z9r73E-&h*Abj#8=1$hNemN_iTS@vjo$nwJFZ&pOFI9TXbm|Zxtu(I&?l}%ReUFEW> z<7&Ir`K$k2(`3!THTpGY)?8kzUORj3%XJOcm8?6pu6o_`^=Q4<`iAQ>*Y{nYw|@Eh z-RsYZh zezWmSk+LYHD7C0t(a56tMO%vWMU_QQivHYWw<%~-lTF<=jodVUQ}HJKrW>1{Yn+vy#_4Y<8%3B=5-BF>J@o9qV=+ z-f?ZmlO1n&y6jZ%jNF;Nv+vHlodr90@2uE)XXndZ!Y-d(al6{@8oX=zt~I-^?)r1L ze7E23#N8ctXYZc5d);o`?uy-??tZZc?eW+Xy(fK7-#vMImhaiUr((~idtU4%d%gC? z?QOev;NGcw3-|8btKWNL?~}c6_Bree+Ly8~b6?KBynO}xO7@-FSH17yzSsM0_6O`w z-k-j|_x=g{XYXIPzhr;;{%iXm?SFBA9Pl_0bD-^kfd@t(n17)7fbKxWflm)SI`I2J zyMqA-Qx0}HIP&1+gM|loAFMcd=itjj;QzB{wCwHGbfAa3hSEsB_1)NGb)#Fs|shOwp zPnDcHb*lQ*v(xCb$LYA!?N4W)o_Tu1>C)3TPCq?ebH?S2`b^}Rd|cIVkMXFomrqJmU-Rm4;@sc2i#tzuxs)QVLV`ztP1 z+^=|b&gz`{T=Kb$bG^?EJ2&Cn>~kB=m7cqH?&10D^SS3|p3gtO?tIDl!{<+(zk0s< z{KNCl&;Nb_U9h|0aUtkJ%!MWw+Fr=KpugyHvB$-ti*GOWzBKvLnoHX*9lTV2>GGvp zmmXXWx}10U)|HSe(N_wttmA)|!BHSEpHM?~gWn*7aa0sI=dH4Ig4VlCa7*pQD>hKE zVHH8CBRZRitoz;%d+DsIV`8x)Fi92f4%?)7JZaE?u<#9!2la2zV7<&=`~#D}#hQ1} zelp}9*nCEB7=NuXwQmni+AC|@S3*T8RR~mwP3;wLsCYv~FSnr)dPh0#r#HezCs&rq zD1$_E-~0DoI$W)Hv|-m^qq9-MP@?{tjZ)`Ot#hu{Su1t^)jHQ|cv$CCt#hl^VWrNK zArVLeRe?$Iyu{OZ6%<7vFM%pJOQQ5E^H-krx;3xT>mev-J(L4p=jNXD`lxWJjeedU z7mLGi@qC=S5SNGpSy?EqnlBE6p&A5|FiJ5-(}(i);5CmjVQ&p+SxX29KqY|TNCT{$ zoEtGX?W*-k>i|=wOoi)_p~^B(vuXfCNgrZ*E>LssL16C=rp(-FL#TNOC)QREe4e=^YOmADqvpV{ONvGZcRIN8l_Y=8&;C< z?R$Nr|6KoqtpSx@S>3z9XmQB2q}EpsAGqm!=bqQk7gy|DI5c}wO1n#kj(+HL>9Xp} zPj}Cs57S}ME#r^Ehq4c0WbO^4>?9aP=OSIQR+pmXY()WaDp4T>Dj|#tHZ+7GZlf)8 z;=E?+VL;rYzN+^Rq3kAqtu91a7FB;i=dUblSYM5aRV60I$GIs0-@pI~*`y>BCGdZ_ zCJV*xe|aC8o;%*t(dWSQ@e{mOC>u0R=&p2h3`c1I6fCH?w>w>qF13ZqES*; zrK2)DC84K-sP02Gy@aCtJ-S()@^_Wa>YP2YU8l~&Mz^c^c*&llvoeiV3F^MvklDnyZz1U?=;S`rO`Eel*-q+X9UFqVK(`W4G@{lBloo)jil zb9hxoMW69Z)=miixR~oQulF<=XA7peKr}$$ znZg>}KRk4uEK&Rc+x!C0b`%rIeR)raAX!6{QLD4p0`|@*$=zK}sDe0yo(mzWKw!vc(rYaj5vX8?>K;*3i#|ayY)dbv3rf%j0-56GiJKiq?ot~ z0y4(Lx(DL;##^a;>nwQ`gN2}$#vke5T&MYhKC3s6k{;tqjlBxYkW)RJKrD034PX-# z7(i6OUh#3xG&C_p5gH;_P`O)@yBkQ;yryE!iG4egn>WGo^1a)WE{8YjE&re}v{OV% zA9-eBD2W$86TgFKuPbf`V|!omBk`s0XJ=(txOrKe{pkfcmfgAn_~B@yNVT#upmT}| zS{cwnCP6C^MlZ+^lYPOWll255t-8b?o^_-mZNMAy?sZ^zH--T6JhP?nU^Xp%rv*XnE#8LrSl z*M+~sJn{H#_ddO!)2u-Q z+B<8EWm~VRD_y$u=sC~Ttz-5QY89S8VaELYF>>9PUtAuli;6gz_wj=VSEepoKBsU7 z!<9f(8_^rU<2Dc;0U_605rzwMm~6Qt<-lZ}IY~^` zfeSUNPzAMFjf%Z=T9zTip z7|4w!o^gPR1Ct=2r%(@u-pYZ)V5KedHajb`@@9}ZD9c>U&iZ+~GTJ-4`f=K;R7@{1 zCURED38QurcYA8P69j{Ut!Ar06k zW`@921kv#1Yw_J@9}08lmu=d3xMMq@ZzkZQ<1!Em(SI%lT(BgJTmT~%h7qu~!VF3W z7cLDB78vPVEUYrnInK>p5yE{p1!H~_3S4!lz@G!7Yho;Nujz#F)ZlI@V^90bk_$Q% ztqKT!cjU;q$oMGSFsyZ6sH>)H|I9@mo^50w2KcV`_W9|Gx?yAS=g*#sKS9dK0n$O9 zxP@U%`?Mt=efII{V#wNpoIpNRVDUve$cb>wYylZt39~xRL4qyo23rfkW?BvmXJ8W8 zP|(u!-S3b41zy)=VV4_*4W2Yg<|6(m+KBU)EyIII{2!1+r6>Yu`3KO_9da~U$eQqX zy23kMrFU}HWwNO;BW09^b+|6df|Ppd9mUwdF^cnus}iE%bruYO10_-?e!v`(lLL;k z$x#Nns?3gQwP(SQ-aXtS-W}U}I?Q{^_{_HMVL$HMcu?H$nbAG7(A~RZ@6OBTxu>>k zJ;lwVX~*;_Lc(G?^TW?;w$EL;Y4V~)tEgAr;-%xK&dFyo zIu-E#td@tmny|JQBS}1DZv6D#$ev;Ct<`J2aX)k3(%HYqMZutal9;zfk`lSeq09h< zgeJMUsn{h6PdsDDUVodoS?MKPgM+bR_fdU#(@62@rABk(;>>2F)XP;dZj%H;Lkt;cdJpcVAG!qr`-z)49kX(pn1W4tHS zu-Daw{1QTv9OMqKF5;;yzntF+D&lfh!e|57dJb7;$_qXfe`HN0gAes^g{O zbLFe#aFz{A>(9cw7}vA1)X+*z&gStg4J$F6FJZE!1^BxF{I(2!0`L)&1Sd@AL_~c8O4!GPFa@w4@T(L_U*CHgt<&`-L)^g??>Z~pNaTX%7;R68*uCpo- zYiKC>L(C}shnSs5a@0V#HW(I>P`N1*$k%lM)Fh z=YY@NCWJQ@Z#<6r?vwdf!o$N0*2{F_8u5?Y;yv+_%;nu;!zZ8K#R8)pgJm?pVk>DX z&Sw$_N`8j9UkVyg&UzXmMP{m)>0mS8oatZ+&L1C`YUn}{=a3KlYo0;O&&A(xqCd=2 z*lqZ;Sf<+|M({pla7^Sh8Sq~u0UTo9hgMo{ZA_MD{PAC`jLZOOnE~2vg~yv4Yu3SL z_J{)p;sJiChRzo8yea_6+uu-{4InKsOk)r^09|0bDXapXQo~FVE*Cr)E73*Lfe`-W z0WlbKn)8(9pi}Sf?8yk`uPyU4@4jHpVM%-_3Zb&vIAJY|K~PjfKW_fpzK_3&?~#C` z?_a;HCKucW%$RgOuxHqWrM>3{wfNo_>u&d4fxT;BvZn)jyGo&t=3m3s1zv zYG7o-R1k$o1if{AuHmn_K;f!|#CqX%GT$&;rZbEo02za=IT)QtfDIyWCfK9^0Ea*V zhqVbq9qURQSP3`7bN0|T6b>C>)=>SeQs3}_HdmB_xP*owR5-3W$$VLe0c%hWd}2h>Ioyg%L<$*E2(0kuDJ?g zP}p#-qgU8)##LBoZD2+i$^lHECD}an$D`&mV$I3JWmqs&W1nZF&@cf=mQSV{A`L+R z56B5k0(fKq*+1ctKrk18nAl(@i1FB$c=;QAq5WczJBC{f1dH#%p%cuT`X?PN!o(6$ z`E8tQ05@K71QIy13IzNK4@lX;P?eb?l{;V+s8WS8Bq`uYx_6e7a7@LouIJ8{8y+nj zA@7xY9R~u<`(t4j7$z<8CGYe?2g6gtCngw~UNG@*OB0O$NB(752NPHtTyJv zhB>w4N1#~ zI0Q6PK{UOVW)=~iI#&{6IqvmDVt$~7a%6)8+eA=r3xeulH9phzKv%O6 zzZqTm(3d5HAf{~^{)N_hM1gq5EJo*Jr%#7^E*jY{)x*<~ddY5kSt&g|JM{VH$*7ec z-Wg+FkcoyBvZD{K&e#_fS~hD=>s*byW?_dJ^OkJRpR#ZPlj}yHA6q~lguuK<4zoqn zNs6)QsSnRv*jr2K2c=nm00M6HRlSDatMgHo1=XJgw4_`YOZL2%=;Gm?+BDbi?pce^ z?+yugbL8B|4XV7d$8?&f^yt3+^yc88zmJ`L6Gtv-mQC!m40oC|zh%cyDvq3bRlRuI zq%KpZx9RlhS-t+=H?rMxCxT33^f~bROyG9~jN&+M7WzQaf6N;(i&pCd?ivGeVNfXa z6Ss>sl~@pW_|tru%iEVS7hqjz8{%WaX|4|wO>J95lPq+7onvHgK@KVx7}}s*Opc;T zIDI2VeDd+>+fg^J-Ovn~Fy??7B7!xJzkd72WBO~2!f3j{*i6#p)l`{SE;3{x(Ze~w#p#+`+6Z!?(|Ww?Q|kT-*hqr~AB zw${QA;DJEt%@U%V)*KA>W*BYYY6$*8jFJT>?HC~O91N!H<3aPs3qEq(`>Kdfx0H){ zry{Sq$Z^4TtP{}NOj?6$z<$?Y=7K^l;3vR+3&3WNGEH>1fXxmB&Q1cy!VXEgL~mkDPhSm#2!Cs}X2z=~rAlfi2FTC=k;!a>pC9?AsEEngYvC-(0NqQ$mO#ovpN3&-1gS1}BrM8A`{@y8 zedG!FdH|1ru#k+s<A1Y0~Ul3{umdp;0>jy8+ovXEu4xfaueG~^LWo_mh3jZlWx zCV;?wcIPooQ>d1N5uwrQPSa=jYQ8_S+|8v?r?im{7l_-BJ6G)t7;0}N6UQ{26B=2V zIa8^O4olax?X4@^vv1sp5kuQ!`J%HI4~sS}a#NOcOMNuGYesj#A9C@u9P-FcFlS|m z34bo;(wrEsoFrmMeZq;sg@zesIdx#fuyx=Lk7b5}8D<}IWHEtZen_YScmfg?EXps9 z!`w_m{W%Rk+0!mBFuW8eSB;O&Yf+pZUl|%VJY{HDj$>wv{xbsc3(+Wk&~~BR!%!X9 zP&_JLf6=R*;jbpmPagn&&;mXSpg(=22oLv{B?KgeYR*)8YQ@55dX*#BCJ+%bGsNJ` zgI5-B3Qj=u*xAhRf>(hLrcYKLBkn)0KXX9i5%|}YqP;$6om+RzndRo;(Rk6M!Sd}l zvFj)6zr^;B%5oQ+FI-;)pIBjh7Z0{C%98G!pc36VsU@)MQbmjjrP09ujqWOE20En2 zaUf?lQadB2He{z5o^*dt%dtU|D#gm9Rt;yi-mp?z6`YctG&pReQ>P|<7X^_Z$iccc zZ$jGq{d{0bW1RBh#HShQ#JOpkdncGr2Xvngba#VnSM3O%<0GL^CpzAUYf^CI%wj7{ z_bBVxM6XivGz+L(GoKZtAENrEsH8%nsdea~Ygl?n19F3R=+6Xr!V2mG2RCcn3=b3@ z-9~qs-8dpe=bkag8xK&Znz~|#+uI&uJMoj{5o^j4<7TI{r`He9Z!o10cxMo(pB9h+ zcZYQ>oW(i2{A-V>Ku4(F$Bi+&d5FeJX&$j-hT9bkH|WA7kaFPt`g|8lF%CMr$aj%X z@P)NrDFLyLq3(^dR6b?CWoPMu)yq!l?5x+zVfEd_W{q&JN~#^@ zvn&hquK%6G62IKrJ})5T$en28rKYRn+J%ov9aP|B8#|%d#x>fipvFTR4GJCQ)TwFT ze8y}p*sXo~^mku8c^(m1-KPe^#H~!)HXC2asN0V0fxg24(>YpA4IdXw@NxaW^ z&q#g7y(x(#lJN7}c!GdY0Si1K08uMT*V3K$5R6`HQ)7G>yHnP%pws-RkqfI9sgt@S zj*Qq*1!{_(7ut0C@+-qgQdBaveOk>I01xY&p9;jVePcg%s?=rZGYsJ3#C}qM=rmddy80&1O+Fz1cl^OaoTfsWVE-nV=7m#u;rTfKgMd}-7!SiH)Rf~#L1QA z894S^D$acP1AZkcDzZv7B=2guL)Mhju6DkNazj9tcY{%rmVI|k^pQQSZnS%%Q z8}|KE!z{8;KYdJ3A8$uPZ?f?4+>R}39zn_xe(((#CO3euN|GB3gJYrIBty?pr=BDYuFKSlR+>3R1H!yvMC$Ar%5 zHQ#c;2#NtaauncVF`(ps=?TgDmAyCV$RYrw;;CN<`M?~AIzw0MSd9q8==?E#fLoBU z;>5AQO3&6g0~dR^d9)ffWU)IL^aR_B&p$8t8m9HS-7P+KaZSO-GZ$BzHlW4Atu9oC8l{4jI96gm1f0%x~olY@USWzaojp?M(d)b zaaEy>vJ(e|j&$FOpKu?P2;U9`LEG#b@BZ z(AvU=a1oI3ksK0Be9Wh&{KN69GZhe`GzH>oL&BzU5}TV^>wqNm z3mNa+F{RD{NlzR1HU$3yc`k53K5v~y8YZTGal*vYu$G_P0(_LPf|WBX7fz`|EcB5y zh6HC^hpLY+hn1U<(6F&L<(_dUcod9t6(%d-PS*5E>=#sAb^oNJENXJPbEq9%Da&YW zfcf65Xy+^in{0)V2k>q`cz-CGZhF6k+VBN^;L9Y3`tmrCgS9VH3qB4I*SBSx2C!jq zx%W8R%mdN~m>vxYfV=<=PzAt{!}q<>ghhx*a;~Mx(B?6s1e?_C^$S(5_cm|Z>qRcv zrM77~$jUZ(#HNKR_Xj)n9QGy^4&6Jn9)um6cS~rtZqmF%7naL1M`tBBYt^{v=4s1z z-C8Ug(XR{OJ;wMWStDx$epBtNARYvj=*}m#NR_(iHKf|i@)$bsy3Mj#z&tutwa$f` zDCQfPqC1e*PhG^!31C=OiBmTD9Ftc}axqP{U z)21C{;c9Ge;tw{b@iWjfbvn<2CAdc*!D$hO;o6Y(92RN=4wk-xhWk6_VW@aY+B!B` z(RIO8Ev%{vitf;2EVv5y7j?{d_JYhY%+b$j*OG?3gINHKZ3sM1x87yKCes zF{B77hDL-`K|JCK;9Uf;S;nCx*tnMtX5evkqd!F==thH3n!_U%@BGGXvsG*$!ieUh;p1%p7kn3ljsdu=CAcgUv*cP?jA{S3@v2|&eSgCT zUSxpS)}O5NEH0i)eYegAzG){eBUj{2AuhuFD3}VW)mtNO@nPMDqFV2%U`h;7gxO@w zvL+=lzaQopz$9{(Y^jU8;|c2q_yjm7b#|6@7~&k@vwyc-)wQ2%fb;O~trC?1?t$&a zWl66N+{v4s=QnHIy|VA)@u;8^i|>sqX%M+{*qvoZg1L-@iLWt)vP`iqfQRt`#~i|T zFb)9|d2|VOSt7ocpJ(?&UoHb5xfXs$EhK~WZjNmEfX+>+^QhJ@u|;>r zmxMOhG4fu4E_g!HFNf|;ni4!_?$|p=pT}bW2k4oL*9gHh5Wdn7hxBer8Ub)vXh6u% zn9UVt8W8e&%G#AXCKfVHjtn(8s55bSYyRQj02z|@eap7u-J_l;>jF+tNbG^(cq z`C;wVR_)?q#&>mDd%j(I!{|xfVC?WjEWkH`m)MxZ)U%9|T&*zP7OM5|p%G3QRqX)e zK-J}{q^j^Lv4GydPMH5tT-caU8w7|g;6`SizoPa_}@PWN25o&TgF~iUR8bf zQ!u7w>#MNb_2Kscw^o_OU@&|K0|{XeJJi6)pEDE}aVZWgsalH|sa3UJE#nfe)>;Pj zsMsM345@R%UXZZ(^}3v$9lf`y6MJe(wE!Ay>_6#ddD@MU+Gj6~AizverCd4mi$ zkNJMHqawfCv9&m`$}6o^+IX)>+|ZAVTrqfW!Vh0#)>Z=eW_b8x@eL3_h!at z1i2f(ler7O@>!*AkPPl4qnOPo)j>~rfHvhb zCm?7SYMMKm1nVqJOqk?unpp~|LoA0-0Af>OV2;@EPKUETC`?${cbnS5)wNgJfMvbf z@9EZQY2x-i2h~a!x2}!)6&R*PY}}BK9YY&zShrMsHKJ*=R?U`8F6w+bJNI(ujZ+H~ zQ(83MGHp-hxnZNuc3M4!%=k=vgFUW%f)(O(lS~bS{yPdf!5xh@^`ASqSng8)N!p>_ z6J#bs=>n4*9bNogz;$xrn8Oxg)zDw&3(z3X0;gQB@=H8-Mt$8fhb$uc@-;6|E$H@-}XWK0*iJ z!t-&*o!D&s)?X=3WII~B5;O78&!8mE;X9#jw-w=BEt!gp1()=%v{ykAO-vaU8R zw(bMdMh!@{aj|wAm^OGAd`8M!_=|3>?Gspy!&mMw_eTL~4d!2f1k0e%IXC=nh;3mb z{B`>DX~vfnbu<1b8z#F7G3YRu+d0X^n~}hqkrHplK_!mqNOk?>OI@V0ETq1w7t|q4 z1O=_$Hbl*iY_)pRl)5tK`r81eGSB+zd-Lg-ZDxT+X&g`+GYuw8R#nbiR#~neW_7~6 zPegAKw}Xr3&-YRJTv$4Lp8FhSYDTAtDwS)qF6{>>4eO$xe|jC~L_|LSq*B~e*br|u z{DK2w6U0I9UWt!LH~E&LdxxhStKPM7WZ$C6Q|GQ4kh4hqUfh7EU^~dp4HuV*f8jPT zU$c`~DV`F0V?J&p=oC3lgMoKh4rYvrT0D}%7*`%?N}*`=YPKp?O1$v=3oKmY85cA3 z>oP7nH7I1BW7E`M=BbzZD)U|vYkhYh)Bluu(GpC9ho$!F>FT~^@n}0ob#z=u+d0H( z`^2F+UTL;gRQx`8n7ilbMm?3c-2L9w7yMd&tiC2yAQ#o(|u(@&GIC%JPL4Mu>6-G^rli z3@2<)5aB!UC1fegDR*4Scu+uHYkANXv|}913|VQSD>noZ7fOC~nPWXo*tp%bzN+_h zbY;BfsXearRC~faG#^(!+1N*WJk6)G51a^qRhFO;;sf}!hIp;{0#@iAT|~7mLd#|{ zG_G%!MULy)PG!c9EQ8A!)}%;a_b(GS7B|G(%sB6>jnU6PyN-uPM1KECmADC~C(X=% zIb*KMwoQ}xKwE2tAduODwZh6Svc=>Xjr-WxCwI#wUsy6CZuB0b>c#!E%fcDW`}z5d zYL^_5=Bjk-8k*R-WnSyl%rsbUW+#iJ3%GuOb$zf@iYo;$1az!nn=2VCi(JV10Y2zS zFOctnw^=_VSoVS5(St_>9kpfF^`v>P1As?O5^U0`wKJ_lARCC?-Aej(8v)GNx5wzE z_F8R&&UW@uQ4w8)i{saA&6!xZab#MD&W)RO>caejH25C{_Cc7!7Dj^UNM{H3!D0;@ zO9Pl0I=$e?U^{LjcnM%B!5amO2qV6KUjoT&AX$KeJjI7Cj<*m$^Tbgtj(Zyh_>&!U z#8z=I-nJEQeCN6u_F|i115JKhNk%ASz!quv=|XmQhEQBP1MMy(d|6?R^kX4BNtwu(XkEH zyt~#ZHdd_>8_JlkfMK;XqI-bvY~ago+_T|eN)j!_xAhn?=Ncy9srX8m#CVwRcsi%$ z(fth~j29sN^%b$gRyQBMd7BAsmcjplvm3tPM`47?)&rwj1Ba(oMpTmicNwj~$Uzu| zKwqd$@0DJ~fv5|1vWbXECZ8}glnn`C!ctO&Yg|L6>y}wEWmH=mo5&XNB*msnX3l6r zN5;n`1Su9npZ`uak$BmM(C0Vc8;YBxKIh|pQ=b!b4eUf~kR=uyu3hCR=`+2J50@ny zuoLicg#WUp9#oG>pg^~XY-P&h%U164Scr5S6=2YytYAUT$M8RW)UEcZ#}VjI1<(A%pP7tq!dL&;vwBhl&wNBi)IY;jH>V3c zvkPK8$+GLLefS?-*fSrKW6)^|ke~c|84CobBe0g1#>e7hasznZ3-Yy~51dT?B3~)P z267fFW&XozR?|uu(`r^=aOTA^M~)=`O$l>0p@IE_IBFmn9BR<_*`-9()6^cVQXug2d{lY#aAV%MI;(J*|B3^d^gaidJPRgBtf z_!Cbh%ZXtEbSlVTQ}i{h7AAmxjzM}`3SR-Sv1J?$dW@yQ_1H9@85FS$f)|1foMRC$ zCT}WClT_ee!J>EE6!-aT?G4;vh`9IjwKv7%I16{dA50O?;}%n3szm7&+)_Npd{nJ* zukf|(Im9D^Va!lF*Vmu zn-inN+)k5&30;$%Sal{a)s@t2_jIp12YL*axeLy~Pj=v6bu?)-9&nUcNK)&1V#jGs zw0bKWKI;t@=9+N`OmZ?$doV@M-4`K{O@cG66M^s;@l3gT@>Ea*@m=NBRG4*|JLYQk zS~rglV_>1kqu);7{9617j#?VN+A(fgG2@3|h*dw4v)N)fNGCH%r^Lxz<<=#zkIKL= z*2?gBJsgc^M-%kFu%mHo14sSX5x=EhnOT}lCwp&lDP)`_S3@C()wewPlw|6eL|9JA zlsTJ)^i$=7s9z7xEAsbTZ0~f#JNV|FrVBh<`((wZ4|P)A@=>i&Iw!}c&+-wPJ^T9T zwi%Tzx{E(9E8iaGSL_opG;;t}E*t!D$3EFR3K<_F@KZ}5XA%Y3zUJtZsVDg7Kcsll z|9(1Fs+g`l;TkNa9tt8d^c=EM>sY>&O?`#r^*}_?UcxWJ#GMK$( zE&+i`U0gN$q)4NBv0yV(*f5sa6CmMx0||FVRcDy7V$zKeA2plMg@K^%Z1M`-lf5=H z_0qJZi~Tg;p5LW(k8Ry*ykiCS{C02V%)qn_-AdMndm8Qsww>C3W=nO#2}8@cB@r<@ zyUbQPCD0a~=Lb@pCHIPR?bp5IF#X#7do%JTjLT5U*OxYH+O(PY_KTUN7n5QZYBSbl z#{V{@OZO}qe_)Z!Z^0Un1uvM3lpy;FEPD)mGZmKE*4uOzGO<_iDc1H{y{kPxa@97o zc69Z3)w-s+3jOr{uKX-SSpEFjU_tL<+95v{DAOzLnF`gryRbFtYy@UTV>Y4EEbIi* z;|7G{)AwsvA2J6*!QxIVH0z$^&K6{v6o-kLbYiQZ22P3Moim3oHi*S`r&332WHSGN zSCNmsQv>^@WQTtmA)XWnQ4a0We~+Kf2gCd8f@F46#S=Gs!cyK(u;-0Gu&i;MFnnjz zb^VumMX0uVwvL|Hzoy2`!KP7%TkDrs{0zBnG#p)`XN7}s#8wY_qhs)iV-IlE?gjjTs!BG>t1P=hD9c>&b9o1tbGSu zQ&-=A&b=Az1OfyI5CUPNpa{58>sC)v~`YSr2psdcql>i}yj+GVY+ zwbd@|?%Sc{^8cQ5bHcrjXT1OSc|KBZ2;_|49^W4|wz*D1?2_SZ1O+pz4?Vm}!G;4; z^+b9yFz_t%%!s1N?8pPJvV0Tg@>F_9Q)$1_aWy73;mP!VDPw{Q^A*W-vZJH;E&0Oz zL00x7DRuBtE!bl5&?{#6dkbV~#{HHmbDeTkD62Xwc7|p~l(Y}+7Ya{$PACNSicrYv ze)NkelzG}FYLHXKt4IVp#c~=;2k9YhseoE=S{NB3bP3UCG&w`4CGWwn!1h6r*grbO zSY3X}80+ZwZmH~T((!~xDo@FIN+dKBe5_&c#1AiB!7JpZgGAU16SE@(O>!biTt6{=^ zMA{P<2;Azb59C$=&jFyTp6Px#`nU_^u9dhUxC`hAh41HtmF7c*0ri*xB*Gen^9%-R zC7KO+u!qUkTd}uBv;MG|gJK6QDigaDtS@kXwn>cMfZ2R`u!?lxN+ zGfFs@a3dF4X=b53b#3J|Xes;dtVEx#B*C+ek~y(+R+m0EEq2<*QgKT5`daRI;rXof zS;7N+el@9$_IsR71n+BM*UQgFl`LV4;r=mi*5i1Or7)C8|u;Ic$jbQ1xeHv-~=y)70Gu~e4mMQV$#N zsshIq8q6$4Yb?_=i4+d(aE9WfvZx0}gPAma@ra#A-5+*Pk3<=$(MN5*vDqZxt)9=P zG<~Jl%WGiW-H2;Bvd!EEiSkR9&K3<y7Io|{{r%Cb{pVOMbGM?7T}bYaZ(O^*&-(g@cU~ro56p|6y&C+0EIOd; zs=)F$SlfoNxGKTLK zU#SQzd4tK6G5y8gS1vvBI;*`N-ft<5qt*xgeW~xu__38jDsvX}S}1|6Q{5FRGT{s{ zqDTi*8d8{W5F@h5>!l;m3koRo2H>SpkING~)P_>`_`>_y%rPFhFRRD==zXcDmig!c zE~X4#0I#?xwf|hNKTMJ&*%$8FIsD+FOW!Bdn%r2tbiC|@H2S^caDwqaU}nMg-=n?C z_Vd)L7nx_6H6IvC`QTq}#$$8BP-nZK1r<-I!yHEIFuN^EZ`>zrTimMgMxFoDD>7R( ziF{%B=9Bi?Gn+nMnaTPH^>%$dSmlUhQF*|kwfsg{Op8Bw3m1hT>a@80tW^3b1tKoP z08VBhEFAn}{e{W8j?-dx2x%X_w%`e!hG#_6p%uEXeh6_7eWc|OJV-GPKF3_f7;XbG z-N-qBF$#a+;Rm)IUi^fHHw#^~!H*e+peaSl+7)H=6feTTgo2lY%&;}QfoHZY?Po&l z`UU%rJYJm^uCLX~tUajP^-5^Pu}3P^MhQU^`ca#tGFfUvu0uB&c|SZ89eml`3{Yx% z9OxsgNv^XJ^BR$9LFrVdBL***moq)CMdpOk<$ZCfwjH7~-qTWj5_1bET?QDKD^C*| z>d;+C06Qgkn2LTLn&wa-%VKTRGuLa9X=jOD<~9`Ah>#$(!9=L>>Z{fKvZY`4?^%@| zDL8B`N3@<-FS)^y{HF6$q?dG2x!QKpmAjd4=@yzRKbiT;h1yxO>a?xM+rPm298ec9 z0#AEK?56t~QQ3SA;&zDZ_0=L%flRVc?&@oRnV)Zf)qmRar8hilgUyg>$Tz^V#*Zer zL>9KBWSKx+x5RAxy`7y`Z37146zzlX_3JI);d2_}b7tu7;&Wm&E*~B0i*&TQ;i%Dv zqD6_lsk^{x2H^_o5`e@hG+uZ_EB!fdpVp~sw=VdXpV1YGzoXIa5VK(O87T%OU=jnW zGE-OrNQ=fexH=Q73&#DkX3UNd*7>J5sNKR}=hV+wv2L=iSyAW4_;dJsnc926oHzo_ zt;mzX4-vE!;Vdtk~rQtIL9UH_r0K%4- zOz%z_quDGH7;Gu(lff?gH)SmF4;|p#5<0kOsSz(`YV(50x>v zsXQnKtUXUoP#dHLp^a-BeCy{#EuCQw?35d*{d}=5E-fu(Xz!lQ+W0iq2=1fWJDL#O z5se$+ju6S!gDLekeWso!DRs11j3p_lV+oc;n>VrxG{a9fMvH3i9yswaS-5k>W$hi} zC;dri-zsrCq$5&#<+J#^!K^w(1hko)0>v`HUy^t$<(6~={6)wRty_3i-yiP#hfp7+0D62Md@_3WHjd+@a>TfHQue;OglOhz zq3c?)4eFgK5IyOx^6VC74n7%%Lrj#m+em-uU&ENZu<6>r0x}_$XbBhJ!})kS)0pah z^mLerAng*(qagNH*aOv64Tt2=mJ&6VoWtarN!Jw^y0!%RmM3^OZvv5g5 zhe4sO;%p@Ou_988v$@~DFMR60pxZP{7%H@#z1e*W_kd1OoiElF48Bj$43f`)S6Z<3 zaXNJwgIS&vh0<6bz!7~7tSb^_gisoQE5NE0REp4|Dm)NN>qk*>1?olo9^>k0&W{3c z!cqV@Amjo-pLM`~Hi$rd7Uv$jQaxKLD|1|QoG8z%Nov2Fc+ve*QlA<6b^6iAg?)*= zr|8$~M;z1sqm|0Ob4#C#M~(<2=La`Q6yI<=PQ9bY$Wigb{U^?e#2qARKfqm2!d}y{ z*GP`7#Ix#bpQ=r>m;k4AFK(2^pW*4Dv^>0A6%Sz1JL(a@lm?hNqB__bGpj9-cfxty z;N9_K%EshKcP=%(*z`zAjWMNT659^YzjYDgC_}F96O!GZO8-dTgh{WGj*%q&H~PZS zQlp3tR@T3&oeNo#%yFezn-E_eM?+*r_ca_{eHKG2#j z1tn$=&K-z&i!dNCzjm)x4sD%^|LF(YXPGgeO<|itlJr9u`jyk#w_e~rd-P0UbAzvr z{Lr$)k8*t@YVId%gK@{9&~HEpq5*w~9F;oaVQytU(iN7#T$`{=<-iMr|CsUVkZ>y*iQwHZ*J0#W_-W!oUYgS%Bgnz#caXRP5SEZ$wt&#+H zvc?bA&q;8&AT(WEe_=%*7Sdb#RxO?34zdFj*ZoJtx7)(D@zfWqn8=$qRFt;3(tKD% zJ55#p;_?@0rPxuOf0%!wKTOhaA&t_N8hOfPPjk?B`PrlFX?782H@s0$lWff^s(o0c zH!XnR6~}l-HpGiTm}l5lG%h5#P1m-wOlL^!Ut4#ci3y$1vvC8X?aph<;7z=3YTK${ zRA6v^hiyJYZx9SgUAuPZH>N;;VB4Y9gJ#D%X0+V4(YaXPuE&68?TeD45z)js^pyIG z-{Icvyoy70>ny;+L;K;7pW!rQKs2=X=h3nsb;=O^3~YO>n1gv{)bM9MVMrcHw&#i8 zg-g#D&x(w!+c9B6u_fZbxaxU51N|}^r@l}e7y0sf5-Uhno6b2#%Gz*!*3`+*O&otP zXwH zraCS~4O~UUg@!%>qsd1afskZdmxVq1$|attNdLY0{_oWb9ks%_ey@M)#w8Ur*;W4$TIW?ju{zV<+CT#d+4!~BOQ z#QO#Xr-Y^l59$_BO>fa!7ZnW9k`+F_dxlnYZqWlHdd2k^Hz97AgDEU^a7H;&2k|C& zD~r!_Qt=kU5#gk02XEQgmQ>=^X;;T6fxt_J3$Tg>lqO? zei{>cVC>OJCEm3C(s`OGtZ?*HU!%{&xkqEIody?70!!|hl$_He&_AVa-m525Z2O;Y z-zM19w%$H40L-3JZIXqB>c!@L*gPMNefxj4FWqq?=fE#2~VO7g-^MN<;Dfdy~| z!{O^S1wUB0pU0#KS6y6fvzzp$J<(;Ow9k;OfLD*eqZ%`vcQtcrLMb7V7ItmYxaU+< zHCu8YFFigkR-7d6LSHi{FJWdyA8{8juz+g~U3(PrBN!Dt?PT4@yivZ&r8*PC<$KsU*Oa=6%UNE}vjdgA!0cd7 zYn)@KDpz=lF0EXr1da((2^eT2Pq7CiibWm@hDaOJ(F{*W=)HQo}tntQQqElx&fx;Fh&5 z)k9zlZP4xd)gpA6(x1njFK6j%5Wmyp-HHm>6g}43_3^a__FW$ML z`ZtMmfB43=ul8E^U%HM657EGo5Km*h26Tup3RanA+($<|O0`-o;#72blwN7W!w%^# zW&=t;*o24T_KN=Ec4#%0lM(mgZ--;Lc$LuO6v^Z(f8c!cxUgk2f^tKWv%@hroYEoc zT;H6Y)UZh3b!B{nKJbE>#O3|??*831r=wzi`QH!OVI&6^xW%b+)iR}De(6=#yL?x5`@rUJHyvn=e`d1&gh@YRZ?vuBcs+_# zPTcuMx)mwaBv_6vpVOB7bDn4)fQ6Ca2sWKGs^O6)})#zAt?zh zQs}prEnn=OWDFnTAAxmVmO3}m#n}Ul0S zxCDl|J4;G$*-;d>==It)3vLoAT=XYvTldilYxTZNC)L!xiF=Hpy~j#VitkcYN~99j z?0#{j%HRuF5k*q8jE}LL$S$cC2re8|i1IDck}=$1wpna)O!w@oHjC+Oq%Jl``uVr+ zW!+D`nm6FmfHb)K$D#a(im^X!D*k8g(7!fHZmBF%YC_K1NOfWaW?ksjE5RZStP)K= za>%o=hcsSuq>^>2JRmPwU@YW-l6BAxC=3Lbzk_)${g9+McJCw}wBNEN%JpQVq-jhZlmG=6aC z4^+1cn$D1m6xTTlQI5_sl`;Xqtw^r`PzXg=YzTvZi&b?gxh(Rl2nQ%8R>>fJC=2D? zj)>FHeVM5{2B`_|<3?r0*f&#zO$QQbGS9$2t1(&`MM-;Eq5i)Z800^9s!|0t- zJlO@h(}=S@Bkz!z#(am&IpYtU4ymqHgf?kUyxmA$G~Ar3>Vo;fUZ!H^p2dSrvW4P$ zH4Wn0fPk^{q~VPSaul@2Natd*x;pQKSAn+hC?O+4FW?nA#sQ+r4S8g;fY;)TDhDGu zk#kM25{gbcW_KD`(|i&F{?Kdi?wD2KB|q3b*m5$eia5a{O-TcX;kmlClaPPQD}SZi z#E^Ph2W%No)6yhuNQ_pJRt4*Q-7~V9hb9}J(Knp#s8L=cIlHC4&RB6zr?t?{xouXZpSUg@G9M9sc8wGaC(h0O8WR`=s)J81`(mW`ulqs*(Zj z3$WcY=A>!?R)&&Vbrx0wjr0ykQvoE0l#Vh<4|Rc2tT-hc10B>QdzZXZimG+QYoJuM zBc$=YnvBahbvh%x;+igc@{*{SPGhsi*I#@IILa4nfL{oeYKKMseDm6OT5-wF`D-?X zhq&7@U}d7|PZpE#ex70&SUi=E+g{y;cdsg!kKh+He2H&@)h z9Nxh?35Jp9Qfn>57FGsffc6UTVuY|fSEcvOClq|q1fN5YYH@!XWkBk|f- z)UV=P<{~V4M|(7(tCjo)D@+NsgsM(OT^!~DQLV@3=JJjX;Neoqf;?Bv5Hq@NXrdOz znD)o3tIq%eDc+4vvz?Gkq6V?#{NQ(Yr8B{A~V9c;7~=eRb=Vitj0(qqQwX< zM!5PR@96@4k1uJj>8BCKmz>d*<3FxA4Vh4~LbF37OepDxQMJMZ*DrV%ed`3*9Qs`r z{jvhTUXrD01Yj)rHz&BX{uE1>rU7x3N-76kC`wT%4=4;;O6$-+jMlXYa?ccynmwmS zb_l-Dl}`Qb=v#?t>;&hz|C&b&JcW9re;c^b647B4$_(bZU;XXG<-5XaH#%nAA?`1B zPME$93)b9$-2E13X5px#Oy%ER=7D_sN6UrIHZdQ^P$f4@&T5Dj5k(<=rDvs`j_+ z-mAv4_%&;z++TM4^%%S4Qm_fqweHqqejU6aBC=>K4y*N#Z(T+8uG{SXW5k0-|ku=4=e51;jNHR07Q= zYQvAVsQ9ZzNm1X{`LrBUmG(+oF*SAzk(!Zyq`r{z;0NKhBrTty zok8^nohzlkg>{B$X3AX44v^m=Q<(fg#lqgj(`~7)n&*97=1|Jd0A*!~4zw;R?!yUB z47gJ;*iAGMPdA2b$;j(wTIf#^;>`)#y0hn(&YvfBdLYDo{oB@=vrA_elXbsIA$R@} z*1AX1f1*j)!DgP&xhMTA=!{@1Y_`U**)q5eVIqcagS+5LE6k-yU#PKimmJX`EN0rhvt-a>OGM{! z9XFwuG@b-Ik6lQ%EE?3KFd|L5dujKLYU0_*K7&WR91-1h@)Cnd%w9NQ>hsG+>EF6` z_f{qTcN-_;ebUOQ#wG?uc!o@;OA88%(z^CX>2o@UVbPH8f4*D87B}vNmJ8@Ym_lkHy}U_4O*fF&qq1jJwf}rQ(6rRZQ+7vU5oj`c90EEJR@MU%;ssX|HaPomJ^+@%f0*xGoDRhA|nX(S8+@`u6nQQ7gprAV&xoc1O zk!dfc>%|iR=Wo@_lU&#RQ%X|;FWdqGU*YwD)Kcl|*&igOjanLbp!7iCtZVpou`XUZ zTp|4=T`Vmn1r;QO)Vn0D|LM%tPsMH(`|h79ze)91mb6oQALr~((M~<6J?yqQrFo^k z5-t&;QZPS?$!OIY75(^!`X-38j-?R)7=#8b@Z#h*npf=fNdNnij`YRnp`BWbz6sK= z3=EI>{629>g-4!^2p53MPkW{G&#}FGDyda8uOc|+g772Z`bn9{Lrh9O3|SSjGZEsX z3NnIdaU^62(})i~rqhp@I%FylA5PaH?PTjP(wG7q>Brdb=}Y0>(Bn%%4pVOY@h(Wd zpvM+fu@d+6FhI4iA0z|mi^U0aj)?XLd`ES)r%PLPO8hKbf}FvmC2uM@@Tg9FR9!a9&j24BN zfitE!aI{WFG1E!4a=uu_`V@keu1}H8P_0k&u5FiUZR;Lglwv^y^=0?9)0zL~IY*UE z=shhC232)7u80s;LxfS0N>}D7UYnVz*$~kaEnz?y0NaE6=?O9ah~Z(;@1J@r2ji13 zzklXJ^|FL+(?_39F-m=7$u2{ByJ=%zvWcJTzpcQ8pZ}36U~wKN+OH1mB>K{VO|~0< z9@@_A&4%bMU@i+QY>Ow4}bR4d(ePa&Ol!z@ZK3pX17&0sK#8}iKEzx5O6gH?VATIvs43WS&1 zMcymZk9>QKdHMFZY?380b5eFIg7*lKOe5O zHW}J~ag;WqnfSN#!^hU2rSD0?*ZxaLCo(ZLyh&62!O^kiohx)T>TN!|-1_pxD_gA_ zJlJfs-?Id}mrE-Y%lys&krmQ-KGVGp&j2X(zH zU%%Hh1=}mU1+W8i5XDGo(ecvjLL+f&#X$TK_*wgOXDE_|xW_ouf_bquvm@K5%(5*qd#mD@$=f8yD(#~QgmZgi|b z2&g`*kPO@K@uqIK?vnWx{V+AEk#vUK5TZ{>e{~i9fsOnwbj$&)Q|)K*B{EgaADExT zAG{~>ANX0UO8IO=%DqK+qxPajfcZuzVZT126+y_^`!q39oTrNy&UZW`(~(`Z5YQ9s`( z-!xR?s~oP-R9e~NvZYeYmJ*#U%qGx69+@U(x62cdWNsHy167?K%WX0~oH z3L}RiZ?E03D<*hAt7qzj#NFAu=naQ(Cb&sKi(y7{?RJY}gmInP6!hrVO277{msb_d zu*c8ozGLUXZMsfF2N(1$SPA(f(=qKO^5-#g#(MnLnAqeGPq{*twDS5}ATRh^FxD-i z2~#tc>!lR5f3H9`4bao?3+^l=32O-WXnZ#2jEWLII}o9<$I1QapUpG=p1LW_u3#G1 zfYJ15=K1$c>2|WeH)~4oP8y>reZXDm;bUFtSYIXVKJfj-y7K$*vt>XHn#Xy%> z)Jwml^m@euA~wbq(&UTqhPxG(!tO8*XY>gk{JEx8<*%8@;)~=$z3Qs5NFZ9vRZG6W zU>N5+#}{w{j}(71nZ+OzgvzpB(ve;usNSTYcNt}8WNE9DYgKEZv~18QYt8@V$J506 zlRnNaYRZmDu484_g)coqnrJ9k&OY|{|9^7zi=U9I2NsmnPkRnH12)v>*3(Rr`GF~a zZV51>jBkeBB!6HD5nh?WGR*w;c_%%sd{HFpXm(jqs_U##?o2Q_Yl9Fx6C%LBG%-SP zV0h_?oF_{31YhO46T56Oc)HC8=6$g(rk17urT)K=5>}~^ehCT$ zMClH6r6=ACJO8;}SMiNjTfXP$8LdvVYIXOI$}}jQ7G)Whua4*P1A4L=RouI*MzMW) zhBH%?f0rF6h3M3sJ_hP>thR1NKXC_CB8Hn&*)<8YK=XB8AD($D`~#T@#~(P|yL56{ zt2)R{+Z!Hp;j@JsrG+U)Nw2(=)}XXOZ2ev-?NUaTlIH^hE|rs-()(*h1_cV?9{H`K zxb!TR?RA>@N2_RtQ4{|O_gNoznyHYYxdQngdHXmCJdUFXg2D1|DUMk_2XO}*Zotkz zN;<6@iZwjuyYmlw`ZE3l-`%?yb}MFbvT8vmHo;h%Q>6sG%~ws&mfG-B*t)$lm{lCW7y4iM>uhb_ zb0o@jJ#vVO)ewyhKGd_QTZ`39P61uBS5YQOS-J#%>A=wxbL2ZR+E3Z&vkJ^!50Pfc z$+$I1(n-%0r;;P~O}#-m->FAAjk!Vee3Vn@M^Xl^ZL4yilTi5y=;$!$Na3riEKrq| zan>HrIPF7X?Fk`=i>F^;p?Rxc1z!ulUi*XhuXf} zd&`vD@_6gREk;msCtIa~2Url*)Cq z%J^Y~$JKHI-j+b^os5K3kdHGX(=|H-4!n_mIgKw$+H?sCY=D89M5(Q!DF1RIJDOMy z#Byf}4L~PQKc31X!=r-$t1_kxkOQp%!tVF8b@CLwG%`Ht4TkL#lo^}>Y#-vCs`p!Q zba7f)+WXo!E7@$l58S_>I7~q~e8=@`&ByF%-+b}?_i-+@z=MlGr*WEf^0~0xa~|YY zsA`i|hQ5X3YgeX~n(fvrR;0Nzt@&0Y$hTXO{;tI9E+f7x>1!QJe|W`ui~bO=kEgFs zQ1;zmwl^aR^`W`UR?4n&d6L{DK}$J7+f@~*Xy*$+XQi{-KP+O(Y;U4FSd zwo$v5Go#Cq1pf8w4~p7%EWCSFYkc_YnnkM@SN&JsOCEGF-I#hWT*j$0SgDdzk^cr+n?{N@fhpDc^hKfku{i3{-{1ouu3)$Ot${b^${J{S~PDP~HnV zkW?{93ZqbEEz6}5UW@s)yU(25yfw~o8#eRx#nFqKmNmUAZS8up<;akbnuXdr(xIz6 zoENlpUL+l)L+*uA;jA8gpJnuwS9xErMV=-_GgqcBRnKt>v~CI~DF!&lJ>x|DB#}M< zMOJAY1zRYB55wX{jlC+X84n;`DyE0JqCzMjkTZeOp(no~_c{o4Kr$bZ>`^^t zIT1o$-l(rjVlSV&9(^%nVDYFUDF(90CQS>HtMJZvD)o#TpQrf{v9S$_j>gijcV0SD zsVTK@ZcU5vJcW9#-95lw>@4i47x)7@I0=&!85bvElS!ODRc0eMN7&oEQxT0ZG>}$| zx;?~VjB|{D??sph!da1ObNLvlI4|+@iSohEp=}k3LD~eZsPjR{p7zO>=pw=*@LrV2 z#IsXUso%%W2&0*pgda3nHO!mjMoU*nM7=QzHBDypfvgvX-tf%!e(^=$4JCZyx382$ zr4ZB2A{ZP#vUdU>Q^%Yzo)XwZ{Jn|`zKoQQT`F}*xf|&V*C9@nCihn3<#aDy7 zmUQiT<%)3r?HO03*NHt*PhJOZ6aKMGe4&7ne5~yZ^bhS<@ki&7a^f|=wf|;quGa$9 zddIUs<0A`1A|N^0AT(>Z&Y0~kIf za?SLJ<%5D}>+vwp7nry@e zXgtph!~$S0(>1bvsm`81{I~nkpk54O0r|SuP{gUy`|{@G;zn%F!g%7*&B4TB*F?I! zN1Eb-te)H2zOw-}Z~W!^dPkTFU&V84Bu4@)ta~xPHyiG4FYYZG8p|`COI20PE8N)5 zc_fBCa9h9?DWgqCA|1tWyp_D}SMG|He~dzGMP``FL9a2BK#dx?sG7nUBCG_Ie7pFC z;q>bntx8+PwVBk(FspRVkP!=GTa~rS`uzjz+v3merF!7q_7!8Ud?~FWV_q8T=Uyy4 zSG=A+{C)}rs9On6Ji{t zj%x26cu~xi{Pf2qN$3`I`BF*A&M{I0^3JnsN=m*u=|gTytq4h>`nfTNSj@!T#Y39E zAk!wZ$vB%a&f*WMy2W@1eLC}+T_i6OWDoqlUH(?4$S_esu_Y=jFwG!{B3aPsj1Kut zh#V(XW&IJY#5E$=MN8^1a^Zda|PpjbCNz%b?J(&yv8<1l+gc`lqyRe^EUxy0dI;`q5RE1y4b8gcpQ zStXmFdeoC2I~3qTMFa8@{UMR;@Ng~;)w$5iXRZl5m&d7tk_CCs5uEFge(eDk?kA*E zVmSObp^y?vASK-w)sQf$RkD*?QmmR-FzAPp3G~M+=smk{7=^4suIfBEY4C=7MgXjn ziAE$)eXS@CaFIm0`IlkLDBubpfR#-oE>k+8G7aTR*@~`{>gCRClQS2PTDi8|%v|8y zWipB8NwlL0J*{F&G zI-;u4!*FD((!lz73ew=LrUt0RW46AkPv8yhnVm+Of?9O@Du#6S9+ZMn)7f~gkC{iD(wH*|mU0C# zxYeiO5GY$&P*J2P1%*sy#X|C&k`M#KAz+b4ZbWO@Y!VK>TKYjvw_dPB%do5Dmizn2 zCql1EpSTw+VwkJFkwz;vv||bU!h);(}^_l|RgFKczl!MKMI#VrNulgv#5& zP841Q5=nBOwg+{U=J#`GjL8h@M^KpIu6iP;uOCSuy#e1ZjgD;o{eXoLWVNN4(Em#k z$m6ErA4`YMtRiI7F|pcP%h$aj+xp)@@7>hB1FNyVyml6F=Xaqhac7Pxm31i3MFvBi zk46(4ZFIwgH!O|%XymS-Pap$Zt{dt|FeNsMcmMhJ*pEqJ5h)T2w=N~Sn|68lEc6nM zh3ubiYkpwEVdno0W<=xs8Kjh_hD_SCF|AA%wo zz{x11sSxgPbd)V~EUb#|O{&wA=U(>#!+$*ze_{p>21HEt@wye=%)jYCSBn2MbE5HM>O$0~1+r-xJe^If&JjK4r z+uJPT8h1|!Pna`yd-&Ff!S%bxhdbsBUvn}tA;b~7Ej&B*nTYU+grG>%*04sI&sb(n zvJPJQ@sckWPBD(0X6y69M@w!m9AhTmZR(X}88XUJx8JHI>w70!I*tl$+HWOtW0>Ko zHyIkBHnb6@Zm*GVm5~*{RWE6WQCK`w=+I6KG({?Sk(TW!G8?Egrvn-wf$_H53N3~l zc&+lo4XU74oi$8{8&y5J8iz4Izj3CkY3*86#y6#nlzF)b+p)M)vM2hKn`^Pq$<-bh zB4koMS#p?)X0TZjs(|Wlx8hwtCxpZ`htOHuJ|Fx|pWL zF=Op@XsD{o*)Fk7J2oqh9c!!8=71%-&)oz^zP~uq5I(h6&6~ZXhP9hVuZ_~}CAwd4 zxIg;oi^8_;TmSl*kpANrdST^`Rql^=tXjR89F#h(S+s49kiLC2**0$RGkGEL<3}!) z#^p_1_8fRx)HFbhD_Zw0xTrDwKBs)!_p88y1yuHX}N_ajgN??C5IwzlKNm z`35)QryXSopVq79=RKw7S^0s>LbMHu?$%|g@{21inzd~D<$HvD{=QyVv3$N%x$-%* zF3&H%apU#{ugYf|xQ5zG}1othWCwD0{!*c2+b%t)rJiV*hvyP&Lo^T2`A zr{DY6ky$~*;8nQiMMEFY(C_fh@z5>MJSg2|GUPu$ z&wm@)7Q)TKdZYAP)XFHK=-&l~b%g^5&Y2_K|Cixm^e#)wv{Pa0MQEDgH04TEmGjAi zQm#OOISz0LOjW)R0yatk3?V7QHPQhMAv`q7(y)S1+G5MY;2FJGHD2go#sKY(4- z6t-Eut|8(|W)0A|m@&fb51fX@kPP=ZInQFI|FY>b`SU{ivJYM$x{K}J{qbT^>5V1Q zUu7LHlH&)*@0U)HWe3I`Akz*^I6%5c0}qVb5A5M{+C!SQx_?0PJ{n+;(dpy_GrH`U z1}}|@TwaYF3tN_|OP@);7)9R0`)}(knnC(7*o&z^_Xe&q(#NWq!%&Vi!xh9kn4gqOI=c{8ba{Q5#aai}&8*@Ab?*6`4-_CZ~DyhA3TJy@{*l(>wQh zXpzp5#=6%~Hy(rhdp+2B-7%SODn;LGm+9=2=^UNuY@|4DY9;tnuj{(?W_M>hX7%A~ z7w=0zO6Wsl()8g8)qO{(P+F9eP$Y}Llp1CNee zA8D@;IJ&T9TT^!*ygkRq{jv}=s<1VF-PfAt$nlYG(LdLU{kinSTE5b8A!tlN>o&pN z{jBMZ9N!%J>#Yldd&+Ou{;uydU}RDCyn1QUy{d10@$HBX^i}si`i=uVZ@8oH+^Mv zNJj`AO{@c?y4joz%Zq>=5_RAU9mz|yz`-%-k`v9zY*r^mb-F8bdkW{A_Ssu7o3s!7 zBUJjUqHW;sp~N8O>q%@{{I3-^w9*%;By45Z^LiauFk$%m!Rm|&M2sTj2qvO! z{50-?|3ePy6O!#U^B@*kki$;KPeiXSxqS3^QrdhXv>(>3-?TfxU(RYXtVOmts_kgW zEi`nW)j9uu`@@NZJl|zq>XyhkU8c9_Gj9uGV-%CE1Ue!dG~}6ar%KYQg8j@$-~k_Q z*20pdQGE1%v*Iw6%_^a%P*7&CQhV48?0U8d2G)j|Z&U<$G#>l`S~Dx}O`MrMTvvNU z?dDxuj7uC+M$$`sYd+hY54-E1JSMoHQJu_|!}3xh$hVcV^+UQ0O{ia6BDx!WYS&fF zyGvZyc}RyTpe@V^!@Vpr1cP%jSdMISmGgQdFX9{Jl`(f-T74MwDOq-o)-;f1`|q)gl{(4H59q!RtxInu}I zai@49UA?`xDi@CzT2OC7k$ZCqW@i3_DPVml@{^P=6zN%P5sfc3L(pL7g?K^0UdF8N zv;3nE^J+;C-qTsftxilG{NnP3pf?I)FQrQ#V4kg8`b;M-{_60xYwiIw=s|HpzZbI+ zaR{Tfk*8Of#R~axaQmAgM61>t!n&dX+@JtF@vIK?FVMjgJeyz_L#0J^8Xvnvd&@ z&?2&sDxPfg7oPf*^WBAYia1{*N9kef z^g719c9h;<;D&+Z`0F4l1gw>lL+@m8osWhN`7X>=Lk8=*B zGooqKk*%8_t%{ES?Yc|GY32aw=RaF0m8_JKNguSrkUKVXmGI^mVHml#xuU<^9z)Mo z`c(fS792qk^@s?j=lkrCGaqC`eYmxHzv&UtLnjUC?`;Ya7X1C?0_kUn;g`m2+%8#pCnvS@ zx>bIsYppwr8u_}sW}C4;r)HLk9n>{)71r^ zeN!*FHVJ=KZ)?BZky2ygx|sSgUGnXjHGbc;dU;l6{ELGVyVjJZ#U?b+6;6q&k(AOx zU$596;c&z!kX0n%EKs7->cM$c@#%t`FbI47|);}8GMnPsWZ47984e8S1mwkO5O z<%ZzokgoIu36ZBnVwchfeGw-o@*|^ZOdO%Orf6YK&X}BYujLq1ewn3@t<@{WENL$Am916Uiin8dM14}Lh)8o}vOYQA6lINxA+?C1po|#x!aCvQ zmF-@;FN&?opPPE@kH4-?8hfsFP$1bdZTd^VLVsb_vpqLvk@V$M?%a}g>fQiP8!38} z2h&<5GF25$T&h#iqCnoKfE@^rEBp7^qzz~s1556+u0T7fl)kiyI-B(MT{Wyp*yha- z7Xa2u1~y^xaFujgTcoXrbrpEmrAn)LmjYKnC5|6k3ho9$34|xvn$Tf`xkl8OWPL!S z!x@`U&*s{s=+P2)Y~Eb)psGuYp3@1)XNsW{MX|o9d}dXSocUO9FMr^A&}9}Fh!V!J zDspA?tbp_sPE*@Z5-jnPkmoHo#k%rx^UNs7rPwPib-J4Kv(9?(SEe_b-%wZJgC4Z-aP%ME9_wm@Q* zz7q|ezO!RE*LQHP-u^eXB7T%A2KB0Fy@r(!=vB}n08$5)$t(taMk7t|m5xE%&Uj{d ztFxyv0b!HSe!2`{WP>t0jnYO{g@+EqcJm+)(B5P5;8=LeI{~EtJB=8DqJyvHv8q zAF(0Sxl#IX`k>E#$xU9F+*Iu2`0#7#uQT#KW znsZ{G@qC|8Pmobz2yNlnr$_Yh1U$CMQrOt3;OjaO@87G?y2NOTt^ViM{hRIK?i+@P zPNNED)l0AIv=q*^lD-CWgD?_wrA4fBZu7no?|d&^eIb3-VKygMym)YK>eOZ6(dtr} z_8hZMx@o|lRb~_?C#DwpgLju&4M#!*_5m(S;a544%2iw?1M6p4Y!*5kN$CpyNj;WX zy~!8%1^16f_t#|JVDz}vj%tIKe+-}H1!0oTJugD~6azt|8#-~x?ZdY&V9hDgPokUI zBapus&O}9vsux0)CiC_}XpGcrb(u8`OU?|d+I$6VWXc)?$QO#Z#;uWLkG}$oS{Sro zW`gy~_Kd#M!ehG(UEvw5-uX8{=$7>PkwsEv`clW1;p-Orct@;*aH##)MoVXKS-5S@ zj*y?HDtyDV29JVpv(QBlH>P#LgyNABxLNIi!G}Jae)!%shrqUm~1<+ z{3<(tkKN7o#KogZ*r)hL4covs+HDn!thb;vAQPxCr*Ea8w^p1NPvt$6z<{pH!J6cS5icDu~}Y~ToNb0sq) zudhheftC>ZprC40c0oX)n_EvK4Pwm@=u-?=z5d7db?y1mo@?K{TR&0^^UIugwEN!r z{;6l$O#Lv+{km^@f8BZM1?lF?fF#&V29avBvVS7J5Kc)g9-JrU_fkLnn#tgD;3dUq z+dZ})ek1>f`++5f{lG5c7)fkDD88fnISi>3nIKiZLgkT=q?Sk0PRJuni~a4&wwux) z3RzT9hs&ZA+)E~SC0g^O2}a(ypgfdPN%Jnj$lA{k;89k<2QY?*-Q~e=SHur-IR?h+ z3|!IEGzt|$u@y1gMw=NSb=kfyDNXw0&5fmLmm=GC@4Y@EzQ?oUeL~4pK{8>6#vI8O z`u&*?Ke%y)q9`6*nmUM_)X}*DmA9nH;vG<0G^H+&eaIqp^g=M-M8TdeL#PKo!&B|A zXpF~TJch;sDpRc76&xA`fq)Irh1#F83&@DEqGYiNUqwj0H?L+J*>Ew%yOHAYR`NO4 zyY)FKHvGG{u6}g$^7PefC%(F55$06JL1xXvJtS!kHqmI3$cJy|XbfbtMxv^)va<34 z`2Sh#FG=&=Ga5}Y`LJ?Lx>>VV4oD@_bHwj&0<14t1J{IA()3KGNS}uE(}s- z91-lMh7^MYvxDpa`ebGm&8Q*}8&9AZug%{$m7GcfO8ZXyb;t%wRKZwrl2HFa`-->A zzjY@G`6xi#N$r&Sh{@13(fJ3S2^%Ua-K*J<)T16Bb#qnqTCQOE2Y|0uUkJ)_<&_~M zN3v-kF&7B)uu-)M$$YKE`No@AWnk&ASo6aM?Iu`*eSI*-&y-%N+4v1szR?m@IF_y% zYyX}snbGb*(eRC}N{ z(BWzdUo3#t4n&r_LLzCRz!hy{`2t*ms@%8=kOIdoZ!C{umunLANvz^V$U|c^~iDkc9l5%^lNDVb=-yuHc+R~l9gJ+oQF6*>zex@)yxM_CpRSsQZ zt-*N%Q*}DvPhfmp!#YCahpmQ8CRdLSyfm21Io4D9Q@SH`=-#0#Cd`p%avI!wJ?!XQr)B3{+Vf@!WwOELYoee>u1NMD zXJn?*LW5Ax2|n{kLLPx9V>U&TIE!S}2*)QOiA7_cvNJupy3NO?ju{?lFh)kU>~$e#?}+7*Q3Ydui2m{T zvE<14BYNdWMC!yq1^2P3<0l0B_=N=5FSrzQs_jryaQzNHSbyB{O00QMhgR9afr~`! z!x7%MR`(v=R(5aKt=Gmw>$*=%h@0ON+JNe}A1lApH^-gWHGO2hQ-z3CBRhCdje_7j z61`SNK4MiKgv%036Cq$b;LQu{Rwz_8En9g+3gw9v(!t@K|GtrKiyyM9(PH77o0i1d zJy)cJnkaLHP_eV7I8JAF|0wm4_H0HgAIb_J9v(BATsuaEO!3KHRLF=W=drKv5j$*$ z`%&+U-_QT$zLYRjkL(MW58yN5-n;dizV~{LBcau#%w9sTmEkFMT1`wa2kOp=hLG&a zwd-cbiCd&=(jn>29`f0Ja@m~>$@%(@o@WM-nFl-nB2|j7p99U+z+Iv14Swsh@?EJc zUDk@hoe>_mWunwu$BKNoB2?t^3udV*tA)ylVgLvLXP+Vnw72%7=m2vlI=~9Npp2s8 zBA;}3%nPAdH`?!Sh9~9pUe1(-;A^gfTU%WmSI1r9>0r^$M~m=brWyKQ8cODuFwKAs zk~sHlxGJNBHI%KA5+EafH|jB z7-k=j8OAaJEI6j3PtQFrmk#v0bp29q(z$opN=qs((Sb{R2bWk&qL=8w(aI!OpLl^x z&$WPE?0~;w=UIPM?FF}7s9B$+wq2 zu9Z`V6x{5zEUSIyn5HvsB;}+HT`=f{*x;adbXrrU^lca!2m@M=5e@|zDKFX+q~G6? z{=ViWTb6V<((i27wl}`RedHo$(g-mVy9U@$^q^JATAr0t$_1A`kY#F-zg2lsiHz?N z{lWV5STpnx3feq7VDVydym1S7W#T)cpP%E}vZIHp`DBscH(N}IZ4%e3cJD2*KJkqg zlJ1=wjL&U3qUP?sB>#)FUr0tm>>6v#4{Ou*eunja0()XTcqNistxP0y_V9M|JRUrS zo>AmzT*h!}PEqj%`}`61_816Fq_sA2r%hUQ%95DZdqr}nNqbiG4W;sGb+KJ%-nzA- zkO`>)mxhq3r+YIY1%_tyu($F%7XR?BlMyf{ZSOh}Z&r$2#3&zICk^5}zD{PnGIdY( zOKzL+nN9k2LU?NJR^wuWeW2Y1W7a?Gr~ul&d9(X0*mBE~!hJ;}SGT(H9Thrkjjchm zdqJ}q+)`B)F{Z&_NrP>sYTt>7X9bM_?^WDA5P?_=APNl>F(y|~1e*(xXr*QiZTXPr zA$n@&Xe0OILQ%S_92R=;}&RRwcp1LWW;cS5q`5CF)^(6yyQmp5guYfeN*XO}#pxt#8dsKA>WE&` zm}ua&H}b^*Q!!4=5>WuWLv#ZAD60nO@ub#-7KjMc@}ZWI@(=T(sDZCVB;1TxvLWHt zg#nWsCE5$9hjp94guXkEz59B}@WENHrvPHs_h-Bp`)HyK)-2OUpcP~oDbQ%n2#quvle|Ly zX<0RJ23Wrsg0&=(q4-4u8A|-=?`z)D28&Vb^*`a3M-K?^aR3EE~BQsX!K|rr)r1vbGCen>al2j~x8cCAb9wMb{#ROo8WXC2^+)B5ywZe_P zydwAuMdFvpv*VUgC+b&aaf0zY`8gUDx)d_KOHt=wqj_rAqAnp~WbYB$^cudTx*)gc%J(Ht$jrJy^(UFr~WQ^=7+Pjm%3-{E|&Z+AxE?o3d zT`2t5W{S@}zsEVV;Q5zcE3UX)IAnO6!uEqkv@R?hGOR88PWYzXpy90x+6@`i>fxvP z+6no%9?(azW~)$7JdA2+A5A2R)+2BnC|1g+;}MglE!srzzgmlgBxx#n4q}m) z1!x*Hp5)=Ay3s9-=W7x)bA>E16*NP!{g5S~48%2%OJ`(?MwjW*=-79f%n~CyD*qxGQ!ID+$nD9#CTAecLS`FiIg>pPI|Syg@Y>MGp^hC6=>-${{Uzy} zRyyeqaqz4+-smsPbnhUeLsb-3H+N^ziC9hFha$caz6D?f$wcBZK2+0e4s6cb7# zT=@?814f6GcW?xWv4Z}Z~MzWB^JZ`6hbi}65XYnWZD+X;D{0E=a-E3H~}DlO7XXgZgV zM>WBa>0z!y?676*{DCK%7{Pg+45VZfm7h+8o|Hlx@d&g;hL*b$?bM}kCaR+|m_)DW z7Q`8eAUiDc-{TUHzxH z%XQA#LspVN_o4$+p4(1o8S}%%2cVyH%~AP)ROl8=+0ocrdNLY)GSiW&nvE|dx6*%3 zN4rj6`u%I^r|I`|@I4K?DHSe)1xkVgS_f1bgmDP^+>>p|naLu4J^6Gp81`23&-jn4 zZ!-M|d~qh54yPzWonhs81=)ByurR*rbsQtlt8$OROKmF8f>E2Ol~xM&P9rn=rw7#- zQnLgLpAtJIW^(KlT_%Y=m(j0gjg&6c2fPxiBV%Kw6|rO-x#zp{RB-TCqlv_Q;=B39 z&6b}@aB$ELlli^1k(*(lfc-RAVIwcc8AhY>rZytft2NF#na+B$PGeoAoF9`xW6AV9 zwf@PJL|_^r*%VSG5vYKOta?PV6ZOxJrW)%QTN%aPKuV+Vj7O8AbEBI_<2f#w;ljnC zoZob~detw|N~fHvM=EHj!{sf+;Y=u#pIZBSvM5}&QT2652;M$uY_DizUKx^qvSUe$}tO)6ktvlJeRK$W~` zDW_q7h5tcYmE)@D#t8+G1O=co&|oNzh9QY_txs#d!n4gd0eM0=gtVa5pL(I1nBFnf zhJSq>=ckPyZu7DI^pZI`r^_awFh=O@c@fR@t%e2?-R;{!{{EZ&{mJKVe7bjA+Is2S z;Jz>H5Z}%y=mckb_*7}X*x+rD4s52HFrbE`&MjV(<<>xIP1hz=x{0VUYI{_6qJ2qm z;463$kZmMNT&txe)J9~X+sNGNjiQ>lEeE{@(}-rFP})XY9Pns@-HRfn|3}?>z*ki? zf8%F&&%HMxm4p;XLINQPgpxo4p$dfFyC^+CAP6KtD2j@WA}A;#3WN?KO$Y&0#D*2H z5PL(hE0#xn#0oiizdL)*o_h)YpWpMo@Bjb#{GaDzxcA&Sv$M0aGqba^v+%ylz4Sar zL)Vs8P^Pn>ayinH@n5u5OR{!e1Ci@}YWj?8uk!9_)!5s0^o-e0m5iD&YG!TL(QLxl zomIGwn_DMY4`w~V6Gq5f)DeVf=*Q?Ba0d&ttZOWNkK!|fVQ9GBOD4fygG zBon>#MV9q=>vo+wiOl@A*7vM_YwS8 z&x*(}x;F)ZDZfaR+yM=&JQ3?`ldIaGahN|DLORK6a|t`kv)(?@zFDsI&J%l{Y|`@5 zV?F03o5?HhzHZdvhVkJ=SC73vIdOpJ$G+A)>!Y*QMMSUbo%)mUu5HbCzvy(a(>Hr> z>OSi9`jyAgEhD2k#@vUwAkXtkH7XgeQ(Umn#EKK{j^8dU=DJEtZXh;3@_W_SzaL-` zV&3;&_E)tRo&#`JAGLlpmjP#(jC0vI9cNQ2WisVaU>+%`a@w(!MZJY|dcIsVx#WmUb22IDclTr5DmLCBRe z_QCzkskC*Nl-E>^Pv+bBa!E8ZCcps68b=|}Bq+5;d~iHamnkqgk|S6T`^C59#7E@{ z6tWhW?8t=oHfKNWsT#AX%f@7+$`6~%=9y!0)y|kQP}3D_w?{Ci)!NO@wjhn{%xY3a z&KGBj6A8pax#IOZwj}kjUuIZ&Q!1I%N@^p@OrS-Vjt@%3jAACzTH$7=T*|;e4G^~+=P?@Js1#VxxZZWf-!!XKNrHe<|}x9)nl>EDM_I~I)pAl)~n=$Z%X zoAVoX7+>%zZjZiZ>a}ZA*xx@}pS`m7fzzzj$K8Hr4Nl*G|7q)$v)vB7%$khNn8cFa z-?ZQ5o{Qf)bm`Exb@ufwJaMf{b6fVv$#35-dwvU#nAm+F zOKP5(IIycI>oFiDEh~`?>LRQ^>2cGs8 zzTDmDVzk@9P`9#rRn;AG21{wuPIp9*bhU$j!jX}R&cSeuw*GXL^c7o>X?CQ9-GW@LBj?yp_^0Ba%s`8f=kc-9w|xzx5V5yg zp;tWcHkv590#>>11g8vR2pN@d#F7Qv5g8di77gXXGb?sl?GNqb{rZ^Rc~smrP{5t;hf!3~S>HOd7%>oV0^Zc%<4cp4#$|l6zwP|aotlnsKeV_`+`goJ$Jwta zU?%pgE_vzcl*G-k3A3*&S$%0Fwk`3$*y?g?j<1vF0Bn(5RkSx`^_KoPw=o79e==tH z3|x3U7x(nuW-Kw5BT~BBSj&(-(NkG~L0D%Dk}-%?-LP)EeKr29Sb{%8SK^PTg+CFs zu*RZM!|D2p8^girKKKI@fu+CvA*1rhhZ)~x@Y!8Lf-~x7G|6a}(I>+*wtRSH#k}E^ zh%qngNXfig=Hd2j`e$rK^*qQ{#JprYsu(nnjeYdYymRw@nulU$!zwG@9flvj8ur^T zKKoJ6u$WP03roRkP(s66u?)_t}GuOS)Nx}k(<|4!t{(RpN-?> zmF3ea%R5w-cdRV$7Fm83K17yJuPiUAEHAAr?@=jFs1L5J=rd5l@$ujvbp+vL{5hBhZGflmzLd9?7!T~N1(y>V!I`a@Y&dZeF?!_;bppOGr7w;^6a{~<80KdV$EgaG6TWRw@mNwfb24*Jd?iM?_7z~Oab z>)bSaz=-IO;s*u{jtFkis8LdI!+~4g+HT=7NyFcSLH)OvwEKJV}@+GAOvB7bl##Nn* zJE#8i4*15d9oi%>C@3SRuLvELGwSa!{PBD+s@15!!|~@7{`0KDANF=p>5UU+O`Utw zcC|jo=YYFrXM0c1 zwZ7Q1hb7J3Q#F21vy8?~h3Gq%{`Xhg+4Mj00&9|C&Y|fB*gWrI^3|`U~^O zW86{oj`yyhiSS_RV~v%LxfEwqgrRmrMM4bzB%Aod8_LoT!NQ|E+np%8QDUwo-I{_KCc-lWFY^p0zTP`6}`257vv;kH?N7Z9kYrVU+`) z_T_4eSD+S+2YQd%b5>OJ#Zl80riYS6&AdHcS+GhBWS6Wpwdy1OH6 z1?pj$35Y9%A(Ntm!cLnwPJ~9=HTcSY88;})X1@BI zwdk#_In$a+$QLk|; zU#+Bud99ZBn>e9f)ZCEBoa8oxu=@mhpR_g_-y54Sud#msdO7wFqG4^9oSJgV+Q^xV zm!z3*i?QA}(5F;mrh&plnCl1OPIL*0h)9meis&3MD8d8(2bX|KyAv$K^U_zwXE&S@ zt3xF?xrC%q>@+30fi-yxSc>0QlzpWl=1#QDj-{!~sqDOQXcejSMSC8x{f1dL$BQ+g z>Frwe2ss)#u6>j74dPn_4UQPsA!SNxOm>i`+&g*B!ZF@NJ*dS$a z@7`_O``Qt`Z;O2I63|-*QPTg-@raa$_;NC3?M2arN9QhnmFe5D|k9d8VP%Jt;^WZ+t61E?Y7~ML3 zOiD}(U*GW2t&^st)M*}Me!Xj#_vi0>PZ-#tQB3c`{&{KCAH)38T;_cS{fUF0h`rH@ zbGUFxF8JZcQ8_qSyvM&h8M;#uB~ zx7Tiy?epa}kDE6wBD8n&Q1i=!2fcsXu)wUF+Ni#W_O+FC8Dq^a#ckd@Kv&5B z7F{8gk0ys?g`h$oRwWMCJgFHu;i{sFk$m?F4$B2-FrQsRiRC`-t#-!j5l|RKHlAs>u6}X3Nr$F<|pWxN7YE53Y&flY`Pqqp2`lAA$P30lS@Y? zS8pQ*dsVnAATA}fraJP9jVr8#knNel@3Zc`<1Ies%$;vq&#^kqz07C*Wv;wf%C@l+ z3|d>>Tly5*SN9j&=Z`3&=}@5Ud^{a_ys11MH!4hspM_fx)IYQRm+rVyf%1z2%^~Kj z|NbP-u>GeijhmcjzgB4`^!e`NNk!kY^=G``uX)YKdlnKUV7;Gins1RNIa8t z90naB#y};BByWx!IR2%7Fc-JhlJY|Jb-w_qjQIL(0)cVJk?~PU3ekZ7%bL-TeNew@ z{CSRqy^MUehDTa=t}|C|uJ z$b@tyJh`tTl|L8TZ^D>|AYNBb?>#dq`{^XMbaRjESlAnou$Q)ac**2r%P*|o-=hA{ zlq&(Anq6pY?bA8|V;j&ZXTp=paYnr&$dn^}6CyhC{sDL-L{T_jCUN1vk*6nGlP8`$ zf3k>eEIQ48w4%+GRey1xBVX)8&>-OR6Y_vHmD8*|;2NFt3vd8bzE@p^F<68zkw&(9 zk3gL@SF*Np9=eCwNgtf9K#y=^Or6%vF2haKhLXT_>ZhA%B9Qfh0pr_?*CFop?9Qzi1daa zSn>v`sC@@UN9Tdr<4#o@-p$~1wRg)Y5yvilhhaa@1n!;XMhAP2hrti^UyC|SaAvuj z*_W+F12z+w%!jqjLljP?VqZkp-VmEwSU(@%|5Rqn<}CX7zT-_^P99V^ZhcbA1_O)6 zuCLEt`|2+i^470k{B2!$gKgPyaLt7sJIWuBV~?|T)yu?R&_U7IAGGPC9Uq52C*~ld z=>EG2SfTn=i-zFI0E#a|y1V~G<(8NsZ6~dp)M8SOP3n^lsT)A*ps8awfYhRgJKT5O zy>;qbnP6qlUd1@p!+P&(C1J!uhh8#njvP5P#wrq2k-dZfQ&LgONRUxSDAB-d6O63? zp)oI9L;KKChLfwq28}y;p3U9zaB@uXsKM>)#0CfX#Ot2OS~1Zb`)}Oe|GKE?jzjme z_pQd}%EvZOUYwqM@8s!OBV%gET-RdS#0eWFUpqnRgILJNQ{aDwF-`S`81D2&-#8_b zXczteafhekp*Tc%!)wdZxfKt|Kra#>{W7{L8j3Xhgt5XR9CZs+?8~XkiDC`TS{<=> zig5B9Bf8Jrzbv`_myc|JxRE#!-D$+&>EV%AE!?>@slks&c0bnymSWV%tFLF-{fB3^ zeqil}J}SzSaz`#DDgjLynx{5 zHTa@$;|j280e1C&pjhF-D_!a%H5N(>651JtIz{iLYMtq2QEyo}&xCocS5J7}PVus~ zkFa|fuZBkbhE>Ib4F*T#N$$;mZwkcNnmTpqXn)j+usL$;zx`Vw8c{I^r1fH_)GvHk z5n5a2`$qbg9IA-RB)6wQl6(td0I5VoMJc{i9A)>5%wK*moUI5CUN&Z7Tzvl6K1*Ys z;SK(NXxEYSn59$3^@_{1etUHNGa0Aq_8)o8y>*lNO<%^J>zTQH_RY60pW!|F?nloS z9cwvKc7;Eh`m>zN>iSg)w49!B6QKJqO z!`ppq)gON9>LVZVg^bs!inGSB1N!ymkH^}=-+d~gM3qACIZl`Gf#LhOe z?UX&U#E7Q99oV)%qeqiJ4sO|>ezIQv@Bz2S_ekhEqW>LrS=rm~pMRc>eB;CKpJj{h zeqf=sd)eI&VihBEmJOZ_+5%(64nG{0CI!OAHhirfIKS78=dY(K&E#WmoYs;;Zg zwvHSW8rAr!uG4Ej!xKK;e$UF3y7#RAh_eURv9;qDb{JK3{YdYY7an`)#z&U?;gK}Q zV65hYWPv&f;@xytHLsv9z{V5zj7$55^^AhcXji>V(X4>j=vk7*(g`&Xnikp>c? z`;RkEZI;;)P|Qu-x6}K9Zlh~Q=Jsq?81XExcXsu<9m!GC2lna|-SFFommW$J&qj6W z*}bH8O#49(#PIbKh7X-Qv7dMS?gM4lE=^6nt6=Zm13Nq;ii(F$A2}6rnS}AV4s$`~ zhTE&{01K%nn@$h+UqK)ht|G|J8@E#=C@k%t6W$;?gP*x0`HrlUSytGb!?{&a;8Ba-ebY8$pnp7~U_`ocppl~Xj5R~PgNmbzqN(5_V zFwy^V_2fi(G`b=>R;5_uAT1V=Qh4krdS|X|l+uE?JjuJKSjE?-jca+|qDJZO9bf%e zBmR7JkA4G6Vq@F(?RsrIyU6d`VjWM+VB*w~Cr>`K(Gxmm>@6j;=XH{~VKR;}nPfl1 z$-57*o^GkYK$!`zLz^<;0f)b29oIlN%J0mdqpf9jYIK`MvNn>viHZVAE8EX%epSZR z?T4+e8%2UlU(v=dGifW}n)3 z6Zld z&Gpl3$9EbuZbiKlJe8SGZQ0oz_`kbLZq<-J_B}-?)62^=ee# zo;`1ij2=9&%k>i?uWH|6W<>4oU2~_3@#B{^Y<%ySeS06%p|$~xCZ^6Wy|0QrGY7r#p$&pg8|mgS4S0F3GB7$qwXSQF+dK} z;5Dc)yzTM2rHP{DPfoAdH9hZ)i^`mod;k3nQ-9rY&(`$r8JD)_Ey}$rbM(%f2`Q2F zI`;0eASx#B&IgJ|rKP>G=g_;CPFRmTcQzsJzPLJUTj%Wli_7jGGh-3y3UrQb7tJoS zS#|6Mu9ic;{Y`fhp~BhUv~8BLX~~qj%*Qu~MR8IO$%W-&;0~1W8n|o9xL*^Y>TI~5 z&2oQ~2hsl7W-%)!o;B~16&#Y-ta*=Gh_LNkFl~Bl?ZO4C1WUbvg>)R)yzN!J+jytn zdF!0vbEe$ml{6<*|HkhF&4D({q1m-rE)^AqvRT;plQzrmhgvFW6^6En-_w{TWQ9|j zq(b)pOPj?fW_Jy#mENjJe$Z+jxphX#jWMAE+U7J5i+^b0w8aV7ZEBj6)juSxS-Xjm ztg=&^oDOZ9d5dP>Ful|0`1lF=^Gg@Z^5k{w+`48-O6!ESosktS?R);P?51r(QQMK4H^cGnUum4}|9Aw&@oh-Z(p}b0izhUb^X2bUnsb-E_x_+1Gh$ zwQJkIN1uUd$x>&uLVs=``46;PPLCX&foM&D-1ylomv*vS?pFxTKiDm3j{v*HK5jBB zB`c|O;||jzLmQ23SvWqf-oYDYE=tHudNH%JBO;~@YgfO) zUGs0g>%h|2*KD^&HA=2Ga`K=~y?T(okUs7Lj8S0zh0`NfVnS$hM&@4x&@m4+!svD-Gv`??I^_3i)4o$aTc6Xq zZ8p;U(Ql4(P`~lDw%qvJ8mHHe+#E98E}-a_ZEKE1_>yri)S(3TN0}bq(EW<|_YlCPFN7!^6cb~vlsykUcplSa4iIY^GDyyxyW{w(@+`P$9tS3r!>C07Q% z{I;%Xu>6h>1;!Zp!um&VoqtbLQ3^gib~*MH2!p8ZFT?U|9)GObC= zT-gt9{A!knWcZcxynCwB>E!)8o+T~O()C?g9 ztZ#gx_L}51-A{J6LTmG6bEVFS~k<`1Vp)zK++Y@shP5qCk(f6#>1} zM9B^wERwsRCt1EjRWibAJ;f>(pW^%HK6jW7A4Op$LyIe_^bw2o9oT= z!gjlsHf!|e!*P4sA65& z?g7}al|JV8;tN_61lkLS$IiSbd*L#-!p~l~PygdO2fd&&l1Lj1uooh%C*7dy|s8cwTInv^F8}rxW#a+gU%n z@tyT6%VVLeBTj6zubMfa>+Ns6_WHe>4$Jw4okSt;SqQWnPS3RT{8Qc@S9yDev>W2p ze|pi}=eAbe??qU;o?r$5>RP{2eFZR9%VvW)nzRfB%6Ph9w zxv7(UOw40BcZ?awXR@Bd?NK2z2dKqVr+qpkt zKj=_5zpqUr5A}7wLZ75!U1O_USVV{sX#olkItv}S+))dGxCRVI85Ep~EZT7@dr2T( zyd^d?#FO%`9Z7BK#?<$QG|#zb^?gYR)>kL@JsB4>dtjaLpzyw}yS9z;H285>O2VWfDh*|heto1YH~uG2C(x8Z}U zmc98<>BKu4#dXf;HMU{P^`l}RekLUN;vYi9j_=Ta)D1oQ_2Sz`&b@JP?5MdnN`)$n zTsyb1rtNmd+_l{~Y@-c1kULj&woo9#4Z|T%?gU!xg%b{@M|!ev>|XX@vlc9L*WUfD z`?s?`e!lH(S#6sYywq)BW@1K{34I<+OzF6!^64RF=PoSlgKt=b^$}_UEw;Y0en?JQ zTfZ*5IHu>FryhOfp0XokTVzhc*A(N5cB)2QaZjrvL~UbTmJtCn?w1pQag&;#lKGHd zqy#&aPAl% z&OqJC7+IQf_S6@uKCk+cU3~P}%5CZKn?E+0`TbFxp<#x(Rb+e0xz~Uy!=`pPXA!FOvMldRcNY=eNs?IO z284#0U39pCJX(Tcsdi=!M|pr8{?1!}x6bTfojzwxSbBZp^|x7XPJQF{=QA@iSFF8v z;+vjw>pttZGuC_73BGwHUvlYRRhO#Xc=KJ{dV?4N$L{<8UukDJac79rs5z8q+@S0W zmA-RM`p{OIBY`BF&UUYJ1y)63v^-Id3-Br;60s%v4E_Y@1@4u%mC4OU|AS%J+lL>S zC@T<4QzGD#Nb`Z&q&yLPz%aq1%i%A+*4C4|V!-X!H(PvaNlM<(HrF-XcIuCt6K_sC zmG+wXj&#dZt$S(;>g$88ihZG}Nas-W0a(DN(liPMA?&xK0OBQz~TU&bV7HOA0 z5@{>h#Ely%1qt*tss5hd=jjE1Z#&#h@tiLXdu6Ivz%kiqa{f@W)jww)Nz;C1 zfy;feJO?-~)2rdZldCQdThI|I`z?uEGM6MR zX+!ld-dJgUs4HNw^p$U*^abi(p}Lg#2q~TE@YZp9+sJ3F*f``QyZf}@`JpiLf;wL( z;ms+&6b)a>USp#ic;{@wp@;zZPQI%&{08GIHo69UxW^xVv2TEe-^#++#2WAsLH_Uy ze6=)uk?|quiMx#c$e;@}_z*3-&li1*^gEkb0ejeaNB1Gdyg=;N@0e?Xa-DbBJFJ+k z!^|T-Iq#GwoR#VeHyJm;)F53s(CTJh4||-BI~HVps0D0j^+o7VWbWf;XUX>r#dqU3 zm+v%n1Nd&kOTH`kQg*M)cV|)M^4*4)d{^)rjNLBZHU3D4?>4;Tqk=CoHo1J%@U{K< zXmo`F?M8jTg_I1kQ|;FWnxe7~9!C}=yvQKgQShb4Dz^`0BPF~q0Nx(b>vgSC+R*Y_|_V}l)c1CYQQI720u*0Z!kV#vuePn=sqj_6E*x+=4A_Nz$ZKN z#il=5!xtHEfgXFlX!=vYqa@8Exz;^Kf!ltSa~-G{n2Z|5EMj`1XN%xqogv{K&TY!r%298y$RUWo^v*= z&nPwiL>&g3&lIAb4tS&dFncx(3n%fyA+#unV|N( z=T*S3P;{619NZ*Pl5USpH(>c|gj>Ou<_ZUvG@pd^`N8h;d}HJF85^nxqOy|RM~yj1 zQcX5S;{McgSi=`pcY~*H&uJGPl)HK_0lM-{k|~@R2hX?8)-t8(iL+%Y8+Cq$|Cr2no)2-m8tSIchCZ;v~t|XvK4* z%B4m3wyr~q4KL+I!h4OPS{lD|%g~{Ez#nJhKMmbE-}@)vm5*3#{K|SeeRX`FL!pxM zB#%-*yx@5h@KSerjpD9e2inmNhnlHzB7bs>Z?ML_5hp;mI?x)o>!(QEd%fWr_r`_V zTh+L;6(4b5^Ca;R*0Dr4Mso|t+Cu6)JYPY22=vM4s4XO)OIv!qPugnuY9zZyTwCo_ z3p$jd?N%0Oxr1~*^qGV=&bzYi1OSxg^20A}yTZT0c-6J-8h^63a|*wl8xlWchUvMX zu_xOyqiAogac^R!Y@x$PjXO#E0SfoKHf|qIkM73k+VZQhC+RU&_^;9U%ZyK5zenS5 z5J3AqUZ!a;i_tnmW7m2Y^0nC44X~&J1wNJ;M_m8HiK`!~t8wR`u3=-Wd(&}R3-D~U z*~61(L@Hmr5n`;3um-kek^F3uUFFvn8;`oOtNq$A-A`!)a1$bEQMRbKzSaWT20(8p zTLijiknAel8;ze_+10pR*_F7L;r2WS_r{Uq9gb_XXBRR`55k(xZExh~?qFY5WcKI4RoS)%Z6VpS$x;<8Q9zu^Teu@AbT>@T0EuYSzFyjPW2m-q{Ww zwhMeKs6l5--L4$JUuZ1_Z-IDhxjr^YpY-8fS*-{E;DE0a+U;w@UkxAIK2u2>K{C!% z_pF>|Qf}nht0k?Y)Y@xnb)~zGqJGiZPSYcOmiIir1OE!bzqNWkb__4)vrqFu;%`Uu zSm7_O_M68Vzp3FR{&Suk8h>&17~~6Ij^Bls_>*ZaEBqU){pPa9@2)i^{ue!e+4vDD zUE8MycJj~=Z`fi@;>~ET0XJ$tZ~2;dhCQN5Jku-Zct7o&y}} zDdkFzm0oXEXQ0N{ZqEmRU#H-!2Uq_d055%=D5<#!e-p^;Gel2w*)C*Okj&P%8jIJc zzXQ~B<0*O$*%Wyc7idBFOO5N@^`iCxg0L!fI^uA9&>R>i0A~s3QmbL=RidH<*=A7A?7EnWYF_!Q`)f=}iz)NkOYaqC0;NC5x#lT82~;$Nl1C+HMu6BIpV zEY`INnjTlDNP6BQpFq;%HOj_npFmUN_`ni&KdL0A8xmHIS%s&KGX}JE>he{^K*AvZ zkU#XZ*!Y2sb>vgik*IZpTt_@k{^<~+qqw#9Pc-S7udiq6rqz;E{U27@mO|F$^^&KsI`_=M^W z+iu@Xa|;O?Bm?VRnV~o2T+h&ROXiXHAekAi;EnyR%+Riml$kotS_1w;W7J$c2zr2@ zWaCeoTZb^WUMHCW9-3S4YMHs2WJb|bX1wUi3~j?pdKzncEa@3eG9&4M%zUV2MpF}G z^RpdzlTZFTW(xInv+KX>I8~e(_em7)yKv4tmb3|Hkun z;JY6@=Ep_iZ#?FzA3UBPrRS3N?mp?iE85G9)2{!nX>S%l`(4C$MSEFo&38?EbDQ>K zpau63LI#kfLo)CQwb>mqfISmDzuJC2jh??_4fKacUz-|U^l7Hm+aDgc%c}L-JMdj@ z@^w-8F|K9C{ww${p_=xY;QKA!Cg>~LmAZp(^z?Cb2NgYcb%%;2%Ke5sk^vMabo~|` zON`OBR<6z8BELng&9@e7uf<*UOHG6R5N`5W6z*cAc%y`ql>pCY6#T+G+QQzW_PZe#@Rr$L;iBhn)AKWM z)Vh$r+>ZFQfsJ=%j#jXet|-ml12}`&iDGuwDtO}qH)f|-ysnR=;?c6*4mSJ=Hqsdn z?c;?yy2p;$$oSD{z(beB==hP=`;P5YxV;*85%kp64uAAq4@Z1FMDsKXb1c%Af;rQX z=qY6jTsuL2jO?$Dk5{9joLEIMr!flN_|1(u>D6qQaC}0E-|)#byTZSTwQ+q~jlY&N z&j|la&k6KF;ooE&!O13DUN!z&dhSU4Nxp6xf0?nvwJUmk6XA>(;V<+2VB?2fX;5>W zAEESH^&!Z@YO1RZVjDirjZxDbrcyq8IAd#MRqrxC z^Nj;7x7ob^7JG|!U!6+thgv(d1Ad-(#d8+$%WU{MIO}lv+6FOu+eZz&Jpt$6?thml`=A4Qx z0INure-7dR^%418m0gwd`2UMGFb?u;H2QH2{qVB4>whMz!W$?JEA_3a<0JV3O(n-E zAA1>b&bokn3wc^5%vl!@{1={&HGC=S>%!BzL&8S{z(3*n+lI#+oLCckq=dF<`Cj^I zHZ5DR&aLmz@(;K#cwW}Hi$=y_Ox@jOML7ynsWDZ3^>)zsHyfXz7OMS*?rY3hQk#k% zGt&Eu1CKqM?{VXhy=SB0YwllnvUCFW!5w$?7sb0=u;`Kf`7DoO}nin)9 zG^aJJyS8?&onm!_-x~rd{($OWYxrN^O;~z5Z@GRQ6tSaO-Jps_U6B$g?&eK zxQm8r&S=~z zXKmvS-cW4=>gyABU!QVmCwnJ(6Rl}i@UpK8zLZ_#!jqpO;bSg?mwlD+=<6)qSB*W^ z?yJHrX;-jCg_?FhSX_={>t>9;8A>wtG|?{ijWu>Hk%2nvSI<%4mpTr6E3GSPD1tmL%r=e*kNuQ_sRro?Ux2xc#FT}4QUx?~>5slCRG=JN>G*awe z@+(F2OTkNiNqF!J<7c<3p=q=+b_(_#8&<|d{z69O<R@yz-_*4z6Pb5XC8uUe1Td{z31_^Mzx&evSku>Sh#ut)Y! z!pi==>-JAW>+v<3U<^?IOTm*rT0&zW`|=d^MYUPhP4`7(scrY0>Sd8GdPMPmf`--e zC)FR8`XXVaj6Cehh=xwnW2{wVlOct?+yhNlrAx;tV$irQTYp4Nun&>9f^F}o0r z@SLTL6l)r_MeySxf1mV+(v@4Q7r6RE>q}P+91Url6^>26Yp&>7Y}*xCOUvv=eJ>}T zZ-6b|uVOP80A0o_Mg= z;emLScp&jWcjajgXe^EGv8CEb)aK)Mo2hP_+UhjbZ7O)FpCvrzUI&d^LuWd;k+Xxk zO9~eHXaNhRoE?ed6w#+}lntthqnVB4HuO>Z?bOFz)JO8?2?zP}Mp-M3L+gN08wc4{ z(gDh5Z^d4O_96b!W=kEQ>~QfSEfX3#Dgd{X359zj_D;11(9mSzNvA1Vr0=cZHyb~= zzPE;lFD*kOkO>LDnq)}9Z!?a&GNj?PuWs}}tOB)~6n?S+cn^49kadnoZ#+rkyutX= z9cPL$NIOiuB6w&b_!e@UrEh_8&e8nUI?3U$f|Y)Yf-P#SrCh^?oTZB`ByLrEhh**< zTjpxJw9tB9(xUB}4KMA6g5P9Rx^_du*ODXRhhORd2@m=2q-odC;r94J7JbuE8-e5* z^7XiYO#zLkVKYDS7GRx>ycOuFJs%Tp;|}np(mTn(UiM_nIb%3L0eXJa zhMz#saql4i-a8L;Dj#rfbyoFpXKhCI0P%uytYYfm9$a}ljlBk>{voF2mHh)ft%3hq z`rb%?mwWtPBZIzE48~IqP9O$j!^{01FKz;m-_cvzr}WBwM|_w1T<+s}QMXHe$1acO zJ%Z1=?0x)#-)XM|F>J5ghrxGA&l-YnMc?1ScNr)4$~ZB8KacP4(|5$cFkV06`$qcS zo_?2mvj1&9FX6=bNGGoLKZ$+eERQ(p?TL2~Z-zg!$N01QD<_^pdrdN4lda<~jc^~| z9&Zo8tNFagI8*(l15fc~3ExV?Cs+l@S(5nGyxn8G?cyg7L&CeUS}6}(ymEh5&BZ&eZUZQ!jH(5&#`Px!);$;+|JYHp`;~f-CM~$xb7>B!v&$MTS zJqEAbQ^GiWh(;{5sbQ2ljC4;UUUrPEq5;9; zu#SI)Ih@+@uWV@7P`*-O!wYfOEPZ-sdc!{-dFr($r|M0fIpDU)_z`Q5m8CWM>+tbE zTk#VO?kXK{7aK6|_HO;(c=D0Qf394*dEU_L7xo(P=JAS(_dfURytUMs%K^IOe`jvX zyahq}0eK6Mk<0ZHeWw^U^cBXal-=OQX?2V_QpaiU0=}1M59LFG-^hZP-b0~GNI5?B z92rpdgxddSecP3O$9RK2k{SB0^e?oc`6IRWzTI9gw>|Q_WP9#@`9JGhrLV7~Z~sm0 z9n$Ul>t6{k&!Tu`{vqhQOdr?KzcSZS=1F>G9;fUNzRTP&ugs0Z_Y~-b_bCVF2h|_r zes@oa`XlF1q>Q2y{N;M)H1y07!Z#F#nIW!?d`g_DOf-5b`FC^)$v+Jsh&}%1q?wg5mPyq*KKcXP(*K?(-uL^SJNVKC!1keCi+1uiKS)JgR5^ zqMKvm<2x*wH_^N0RTlHc+K*V+Cx>R;@${;->#!U_ztvt0=|k+r;QOcG!#estiux(} z^q=y`W$v-O9mC<{Algg$miSl-JEU`oX(cE57_8&@w69Ej8$sno8vY56AsKJVNw1xtTN3d_(+aErJ;~C)plsI_ow9kqS~L@I7aU-Y71A- z-Y-5wduyqHZAZBC*?xDghQ?gZgW7tY!kfe1n#{Am)`m}q*Jkf`(COv?S`39>=E*4h zrM#D`2Q+^7yo$mvbGa4%Qg*`SzaxW(qMg3l_~rQ%g};am2Y!G1NAzQVt&X;TstuWQ zt=cFuUPl}L?@%8g74AFAmr2Gu@Q*MC`7GS+ht?M%4xj8XkbF{OkUvp#N#}J_Mml8V zsF}<*c;kf^RapaXYjyX=kD3kmPJ%H3W7i9(H7{UjPLgn{7l0F9o`64Tq?@$??=x$& zw@H=?p!b&JPP%jhWhO9k1NnIQobt*(q5O+=)W5Ro$=H{($5nd;b+rC?#;nalBt5Li zrJ3xgOEc+Avbpe4rQGsSF3(63<=D7qkLp9V%7}(RHhgC{2SiJ56KCv^Q@%1Fr+hn$ zM0IqTQ@+|Sr`&67pX;H%CqU=!@vcPQp#u?LdAGW;aZ=vX(c`wH`V*_ ze4y3G|NJN5dsjb#=UG-C|Fckd?xE*2=ZP0E@+sb> zK5yi8U7x}^h41IXyaK-OBb)u5f@gDGo2@gdNK^k)d*(l$*U&z#>%;t4=QS|q|K(X; zIve+&&bwt}#G5NytM>AVzqe5TXs@1Z>0=G0(4r~Yr|^j`&CaMTBV&hm-(MaDk& z>?O?+DbuO28+5{q=&8j0;YrdCGx%T(XLZ`>b4+?x`JG9#UU75@O!hX?2CbU06klTd<%V!RNGkOpO?4LHZT_J z=ELMuV2;SX#Ol6iD~@xF<;`rri1ZcZPbqy>4Ev|g9l82S=YXVO{(nOGQ&IZ;sddmtxWJI)Mf%VOq&%}a^qqbunZxfiPQSV1M7CVYTqBH=o5v+_yiGC( z9CDoU^f+mY*bx0pw);5%GI|5a!WVWMr` z&{~aTL9Nw_apqUcg0}0ijx5-|&<>2R@`Z|1wJhj95H!X~tplYjDBLn;q-8^459JU7+GHq@!od2V{GDRX`6Iy{nXm~AM}P4!{h1fAuk zt(naAr8m&V%g~>1QH%nCP8#dq-G1mZTJh)yog5_jfE^acNv3~O<4|AAG)af_O5@QF z`>dgi+W}gMkM#Zr_WKXg`)Ba}5A^=O?Dw&H0N&Hq;Q&8xw^@tu*0&z>^YeVhZc%KQ5+1y7 z=zA7)AT|Kr?=pw7p^h)B=YY=VQ|HUQGQU#lb-;_Q*mbjgUwx9XgU*Koe$P(dTMmA< z)A*R_+)8r8I2(> zGk!7)gx=77kZrhY6lvcNdY9@pcC^qVsoQ9dHgerIJQI9>=r*<+AF#InxefDxSDwj} zyz;W`8Gkx&{8Jm|h@ep2#x~t zLuF}=( zhJb#M_0nw|@qVG(*gP`oiv7^M!q{sc7-LUomMTMyALth4|v96e;OIR|L`TMfT+ej2}9FGb>C@0D{=;zylk->P+- zZX-~~$v)ieU8dXE5n^7kjSRO9Pb%p+)y8&6h}Loc+=h9V_i^3EcJr?qZOE!Der=dD zNXMx*w&4_?)^P!CxH?Xa^=rC~ZT!b8wvp-dL&_fIz@rWDi)si#Mo0#oQPgd@Yd(@q zr{;##agp`tEl8;ImL41D47gm^enIxLsV#@muH0%L%#Fdpm*C62)6tg|3Z5UUu5z$z z4-7S6q#}WRzF-~mJA;Wn@Je~+r1}%Hjdzhh@9#6od5tn$y#^n7El>Ty#bw~`tY%CV+U-r z_JegFP}``yk$)Su{a0=5XsGSKZUa>Z)ElY|&$U6Jx{d9|n>c%Vc|U5jVQwe;uiDt2 zpzZ%ZwPEfFYM|TL1|8M)ifzzra(IP)Nc*qa*j88D|A01}`A72Mv+Fd`+(4ZsDdkd5 zYK*(PPf7A4b6#XSpb+&=Xl_7?oVRp)PTiA^82e9sad_u`l9f{S5gXz_>v3t~#DV2L zin)tonrm(NT%%?U79G>X-F6axJ&iw~bzviF;CIgmD*UoGlER;l%n5xuOjDnsV|@z0 z^xqWyyUYnp?+$4C(=|NdC*N4%-zAP+VQ!@BxuNiP*Z8-x1a@r=`kQEYg+IimA2w-F ziUX~wZ(`e|j@Dt%r{3`jH{yW1%?Og0ENh>+%X~xOkk7?o(gS_1g8}D^cAKL566C%c z?6vOCFfh|;`KXRM^&8>!&YuGV`5FYR?5-B;lEHlTR; z16p=;y*|25!qyu~Pg1>vk7+Lo>mx{JDa&&ALiE0P15J;@FJsCIzmy$);#K2!>!HcB zTOZS2j>4Z0nb5lwdauQ;52Wx*{wVxXcJ#W6DlJO-6E!`ApX`Fdze^l(`J?gIzl=Z9 zpHcXw?C5%fntr!_nxbFUEs*#jJ0<%3pUWLvcKTY6cpJzw8WK0jPCYui30W{dHuozW zBs()n7S6-o%6u5w@1f^ENLz$BK$JL1YgEJm2v1z~c*vC6A9_;3W2|79c1%R_M#U?(cGA4j z*y~b+hSU1|9-MWrYh)OAtCd+SvMyqsoh2tANNYCo7M$v()UeEhsKe!EZ+V@pif8Je zdT9jy9E$c!gkno8H;;CfC~Y}ct~ zs_O0LMW?6B>wnDBrGFj_%Dt)Q1NUTk^4@=_TXCb@7ZP7cJK1RIrHyIrC+AIUd|mAU z9mgzbWWIYbb3*$LtUc=P;{RPcGSAARM=$L^`sTpyJgQT#_l{zWtE{h0@Pns|uV{?B z8U@vhFvd-+jRCb3Hi=#&D|jv}k_qh3%6$lq9Y(;n2E01M4-ZK`7t85+3gF)(_@8a~ zC+PV*fcHPUyNMm9=c@p}o8bSg;1SW2e$p_1Fcn(>@^BVA2ojU!MITz_Tr%w2dWAt41w=LnvPLgcb zp!h!GIvc&`2>xC5+%rZs(ZAU0;c4r69`SeN%n_fvRqp{kDb^72 zo%91)C-t1&T8(kUT|=^Nf!s&$i|1TckT8R>CmMy?$di?vJJE3xZJMT1n!_XLjvHJS z=69bsuEDI}!F2N+&q6_NBvh5-`Wb&INB&QpK>78_JO^CXN!5~N8D2*9l2M$O-+8p< zFONT+hPxe4TD?AgAn}3BlbJ`YbH%?Du8Xfbq{JNl`;Sk*@wqvC<(V_64gKEE1vlOI zKj;IQaM_2j2&%>#mK9LaR`#Km(}%Dt^#Nsi|KIHcqjf9f1m_g{sZnrZ{4@$$r-ae1 z(dFnt;Pt8~NiFLMqprT++=Bujan0Kx$D_d!m z^XsdcRW-t#Vw7j_8Ei+4Vb@}&J~(`&8ReJ}XJDxh6f~D|8Xcqh5H0^H|EE5H;zOo8 zwP;(XMh9}@Sad3T1owwuK)L0{CmW*-^PGXKFjy-vlVH+wDQFlS602q4tlKQ zs{POrEv?txJTTb5jSP8Uu*c!z!Rn74`>O4?yRJ^LUU&1Ys8 zm4c>g)IK|6U!(l=gCkP`-Utzhi#v!w+Jpsx^o3%6_~K7oMW{)addQQz9=rCq$cgsF z~2&sce@1kM<3S}Dq_Li(}({I^SkkzoQWFYPW)F-=tT z(M9*pR1KKK0WweF8IpNU!X8~ivl;TL_VQ@DJ05={XquwNekx`rrYdM9o{9nUzyEoo z*V_9dd$J_4;QjB`dRhM;tWl+Wd(}AJqv|-{zLMWob&Bz}RoGewPpdzLzJpJ28O;t) z119bN8O`Ai%^8wvMRT;|?(sSMzMSa&@=Mm^=ET`szqrtHyl&8c2|OiV{420tGdMETE44{v)}vXGog)WD zioja>Lj5eV0(1&EFNpJ@k%z)viH4?ZKo#HZQuVMd4a6dgWqp$TNzSR*heF2Qu|J2w=la(E9ByPH7f8_~WBS*i|F|Fu)Lq58*q?FlA6sO9=0+&n zY=0Ku-(LH(X|!NJ+n+r~Gu#2C@ObgLul?C)4CnLh&%s70KW%@;8i>DZe@5Jke`kLV zGscKW`*XN4T+HZMQam?ha>3k!lu0GCZkRJ|YSG-3UL_?{XB4Ki%5K?eXvxHqxg{yx zN{S~J7MB)I?lZSw#fa)Ic$DFW5upZ3;iLBug)c%@lq`=cIz`q6fGzrgU;eL!c#x!FpvQ*@+z3{9A z-)0zv_|^*NT3X`oP&}K6|K{Sq6zl>@T$2G&3{R;LpZXBS8Nf3s07Lu#_-0DLyY1~3 zbNTz<=39eJ(zA(0vKST(c+51L*lr{Z2uPrNAw@ITsWZ5Lag6 z-#Nx~JS#D#;IBVVTLgRy{6&t(OmMe|Mx+!NrvXzjFeo}?ALpVy$^HJsYj*@vjCuB$ z%pqEeX#BcjdRaGD%>Z{f-&%oh*(3>b@n(DIr7TpMlK*c3JT9&lpkWTABnxsP z$K0W#6i@ntgWZfCs6RLif16`OB~Gbljp_^d?>g}43jZ^spcXlx1kNLSp^1Z#30ezv zFGH~=2*+(Yk+3zm4h=qF3^ZUIqPBIhqD(+^H3_F3lhK<7I5n4w%C2dM9cSPqPZMaz zrl{lC928`cEVMFmP>ZcKGBxs${n!pY?11xLos6q+6ImCW@yZ9~-9dFvj8bp(qc2uO z{c%UxKw}X6u^||TVYtO-1o$=*`tn-%L!(iHXDq6qjyEQNLp!jNUSd3jnAW$(Qrv8I z7tR6i!717mOyFeQ8sp!_uc$5cpm8TNQIq5s)T!8u+CUeK-;M3Yy~fX|)%2sW+}Mg- zv&W5X#=n>cyYpUDLHz>Ru|cp*hgh(&i`8Nw$dCy`##aO~v_3OFGR_(w8=s=8(m58% zYO^R7jZ2JTP;oGh#k0Ds9^!V1EQ!@;$t(rSiiW80l*$^Rnp8T=V2x2(FOxMzZRzGl z8Ee6^ST@52rtrXWS!+}x%42O=JJz0cz}<13*j21EqL^J-KI_K1vmUG`{PW(d59`a| zk0EDvAZqarW<%IeHVm2HBTyM@B)f)P%SPck)-h}>8;4p^6L6={W`%4Do63sV zG**-EyG-GkddR^v3$8g@Th%N~F;vyQE28(10Jh)mMWYzx*C+t_xt zgY9Gwp*HNpY&Y&Z*vs}I)BX{5fE{GzSY%bO!|Vt<${uBpvB%jl_5?f5o@7t4r`a>? zS#|=qHayQ>U@zjvikI0*c8Z;5udr8f-^=Ul465!NW|cUn@R;!edjqwZj>0bAj(T6q z*qg>aoJD)ucm@@M-(qj$rj&Qtd+dGo0sGLn8#@__%5_7nS={lfmueq|TfZ|rx5 zd*|6->~D6FU1C+tf=6U<#&KaEH@Sy_kLMDw(J72D~9p<&8M<2zUl>%$x8`-jp}Ptye9K{XC0j8|QgT-iqfK zj~J(rcXa@kV-nBBtbYZ1;-qmJX9Qj~UPF%m6yq(NbbSMrh^8VV^KE!3MaU4o4jN@T z^xzDmn74+WnGL-ob^AQ%zWLBZ*Bc9Avu-qQHf}O*F%}uOqB7JE#uK~^&*N=*JKmmm zK#g~ccjTS;RlKu-JG*!n-j(O`ZoE71!F%#vyf^Q|`|^IgKOcZQ68_=?`5-=+58*@k zFg~1*;8*jJ{2G2OAH_%WF?=i^$H(&tyns*SllWv_$fxkByogWZ*YW9m2A|1`c?qAz zXY)C{l+We!_y6`l125wn`6lCQ;~T!2Z{b_{Hol$j z;5+$4d>4P1@8)~>UcQg-=a29M{2(vqhj;})%#ZM+{89cGe;jv`J;9IjC;3zSY5oj< zmY?9y@#pyq{6+o}f0>`;r}%093V)Tq#$V@WcqM;>zscX?Z}WHfyZk-=KL3D!$Uov| z`N#YdevW_2KjWYCFZh@IEB-bAhJVY?^Y8fg{0IIc{}=y>|IB~k|K`8)3;Z|!JO6|K z$^YVi^Naivui_T37KUJg3n5J55nkaFK_Xbx5+Nc~go$w6*BU8mizpE->WCN-E8;}F zs4MD;1d%9`M17GgQsDGA6se+-NE7KILo^mmM5bsenu+G3g~$@wqNQks8?16gYtcsJ ziMFDhXfHa5j-r#eN^}-oL|2h7x{2mD7$$~` z5#nkwQd}dh6{EyxF-D9P@+$YwE`^8%EfOt@>6YIqWQ6@HuO=7dyBDRWcV!PNOc8Z6@F7dF~E%u1LVxQPA z9uWt`K~XLai3)L891%ywqvA2~xHu-B5XZ%n;wka8ct$)cPKf8k^Wp{ZqIgNXEKZ73 z;}p)ABnT#WATYNCq5OQiO6c!fGC@7vhZIb9wJXI7HPxZ_wDV|#D z8B|mYdGfDsUh%Z-Rylc|(n&=N3e>lrIl)us6wEJ#lRh!HVA8y~>eJk5 zGbYm~v#6wGI)Ub7_Y9g`GIwI(jFJVOxh2IVrD2n&ft*r!_VQbBL2=34!Wo6r3Ov0E zX3i||bT6DSx4<*JsBmt9w|~LRiIWTXHPiUuX`W%zrp_!7gNvq#!KKqY1v6$96_^tN z<(W$FO_uNZ3TKs0LvPH5_(8}Yu|k+zU`{ImwiycB_0z z+?Fy_P_Rft#Z`&RyKSq8@`nd-^zw>Ww+bPZnu^5emDF5?)JYu?0;=~ za%_5X?0)3f?d90*<=E}z*zM)m?d90*8u@=u!-on;s%}22?2F98>@h_3a$~tBCG7neQ)I=hnT)jl{0mGz1ty;YlTU$3Ul`Ez7aF0); zF!>KK`3*4n4KVc^VD2wA>5EPJVw1kuq%St*7n}AhHuWer^(ZmvOHBF_bG;;S-Ly}M zDYwLwTWaVnHTRdA{7cRKWr@(_Q*P>6Zt6M6IF`0bM?!svn{1S3*?} zLPaN`st2K}2cfD5p{fU=st2K}2VqH;vY9NHJeSGfrde6HEJE^YV1H^70DPDzVkfu2@((C2j7U z%1UX1nx46EI@67gFUXiWV{sy$xqyP_BrY(G%&w@IEN3d2`=Ihcs!;|F8l)PHu*`dP zp9Qlg&r4VLsi==q`plZMXm;B2%K39uEPGbP{Ao;jvS=ot%*j~7W?}A;2RX?Hvnr=9 z%t)MAIAe15O|l`5On z!6+SErGwEr7^8!+IvA&e@j95Gf^^lps^z^C^@T|)&^;piOLdZpEL<`-`6hWTZR*@b z^YsmqHB`*EV8&7%kvGWhO;=o^lg*hypUYcQW#_}9sVdt=^U`!xIOEfq%81I7G%8Ed z7~UafvLuntk%(dd*Os6KEvGU(S{-qZm zt5kZ$v1n?sR`^mYbm%QsS$QjTj>U7Q(ONT8D|DDq+Rm&QliTB}~^U zjhem)&Yr($_N3K3gPtTKig<5aPGkRElo}M@J^Gdv9b><6oFiv;sBHgLu426pfh2u1Zi&T&@ zPL7R~Me={vxMcdW79}60jx(LVNQW5{+H0G!Bq=^IDZZ>d?wzFRUao@lNyk_xefhCy zYH_)`np#n*TW8dQSrrSW>-gNHxE}CY_LVQ3uBC(=`6`xCtfmMPS9hy;PH}s6%th5e zDxO`OSZk?6Ej?7!-!4ehaaQT%$|=m173wIXJgG2UeRV#k{Di`?%a1D{V`$QSLz5~w z^u+sy9)I7+_Bv;bO3GtYQXZpD$RlG^`%T%Sj?ZsgQXb=y@)&nQ9@*oLzi(oD+Ds!< zb%SV$s^XbOp6Uyw?RVrP309p_D*8xNlTxv>lrsxvuBB2?e2Wv9N^NKSJhDN`df)dhdM#8k&QNdi-y z=#VTabzWLR>Z{4}(Ohk(Elo;AeO60FeNVDXG*{d2$u!bWU(ljY#XBA+`1EBh?^L`) zva~Z-+jGs(GESY(Ns@5tMAn$&hR>Mx+d7O*lA1bGE!K2g3pEwbG$PGhXm9OwCC$|7 zj>iczb6XNyV43)~OjL{u4U;-jp-I$Cok>w8cuH7y zq?!^ulQ?iF!6P$I8D24OUWGkkkv(z|6P_x=89jZjGZtfxDaI+CJ|j~mPGs#j7ZS(m zN)6LhGqxjj;G-lJNs|>*vChUol(-$eg@6*GiavIV8ASs%`!8nmzRNHo-q^X zbsNWKxoxK7V4k@z&n&O=j9DPhm<5bp7R)!x=X{f&UOEPX{mk;ZpUJnMS$6j``2@}N zpt(P2mhVB6zQCL>Fy{*r=Z*QGz%1_z%(A|~)VHAAJ3$G3?-CtMP=eXJLZG^}x*HjUz*2yc^ zi+4grMcyE7wBmk64WTho7$ZZ_7z2U@rd0||tM@m@{Y`81H`Mnx)b}^7+TXOofJA7{ z7aOBSu`wnUo7OKjy;y4UFE#m>nqDk5*UQXxWAqFfqi3+p^h%kbqs;V9nWAEkSTwVDSwbDZ;&ZZ+a&_QK|22eGfE50=qk{oE3aG|#RxS& zlozXVI9BBls&WWbIfRN%LPaN`Dwj}|OQ`51RCE$5Itf)h2o;@#iq5?964j4{ru-69 zeu*hx8{N2W$}chHmzeUk5svGo{1Q`si77uZ4zw|jbf)|gQ@-Z2ymHNFgr1rKbE+Q+}x_ztqrQYUnRD6&F35&`Zb?( zZ0Of~&at6i^Et5JEfCb~MyQG-RK*2?x*G}2aMjgeSefesO!@)lShE-R zn_;ZkFc2&<_nWn3aDZxN>S^jVKs5`;=Ds3BN0FgJvlsO+=QTTVZ0^(S$#J6oMm*|a zMSV>=ZMF;)=x01^iBrvtNmthgn=Bi9c-+q39r?{@zuH}x&hDHGg;h4_im{yc$gMwI zvt-JdmGkFtPTnKok$Z$ddci(nIoHax*6#wl0=vAgrTX%g2JT>6!CCpf)a-&Y3eL!% z7yKeXNbIb@gXu%kx8y&WKQB-lSl4f5L0RDXj9^|vUg!K?8H+R5F*<1Xt=e*G2j*h+Z7k50XW1r6PE?c_3p4YkC+HSA+ zSlgqn=i;6(o_bEdXus%bMFnS^w)ON){Z^iFRF<6ANB%$a6M60I>(4p;oVDj>o*U}7 zy!Whrp*}D7UVYx*^EzL+{KD7!JlN;Kyv`SW-RDLbBfd0$SfDn4ai5p-ItM%UTORx( z_(guNe#<4T`qyVypGe>AzTNuv>Ko`gsqehLclCX;?>l`r_1)EXU%(saNjsdC|770M z<9>F&Pyb}C^iQReY0t`^r+)=yv`f-2znA$9%TN3k=PxGThGSqmhy0O;kF+NsQIZUG zp9Id3zhmVO<35GJmGVa~$)Bl>3K9fJ%#;5W+i<;8s`M$vQ@;LZ~J{x#2 z|H**p1zR?`E7&oSOW;9j{$#(Ec@5MZKFD7T2hi5}iv#QA zPnNCQoc@GrO{MIeJX_W4jD9Qoh4eLbUDDr6o>O#@V_qN98p!j<+AX;ae;|Hhi=KF_ z>DFzSXv^cmVX_r<8_IUfUo6{7(%dg3xl4xqqQQ>31q;fAg?|{2+FjS-xczb`-z|6I zUOBl#PVSByq4vX#WiMP}C){=7es(Rr%)Xzs?CDu2_d&7y=?(U>z0Fts<*uhq?1I|N zZm5sh2lOdBfwrpsKik;{BzOPp;(KXdvWsmu``Nx0d)d);Kpd2NW#q0GcGT6gFRqat za&i~l5%CQ>cm67O)W{t^mc={#X=c}3FSDoZBKESCvOi7kFw^_XRX)CKIDV$YNuUUok_Xcw4$OvUV0DrcwC zPXqh;(hx|MxKciMNev*Im$j3 zkH^QZ)FSq#4q%V!#iEOq%g%ONbg>^09qoq*9|1>17l*GfJM7?hE*2e~OTlHJnB(!H zvvWP+Ua%h=6kW(u?$7Vwp3XSQcDsliaHd-&E%Fs8NZ6l{cfKvkwRjiZ8VhE)U98#Q7BC;Y=x(wiLM-$KbFE#GW&1`?Kl;iS8QG^05;f#a(QuLCy_pTf0Du1zJJ zMmUr6(&z6IunepKx0CKpa5s36<3~vQ6Vg6P_!!|T!p8}pAbgVWDZgb0iT1dU>n#@dwl_RfiJ;sPz$~W`=IFnr~{4g@#&(_-6@LjK{3FM;^AnI*vj#C zcc+!>*71GXomPMFBJcOv?jC!IyVG6JybFmwBE(Mo? zV$O|s>zwNe_k#W4AZT=VdVG}EgBq-(28Stq8>O$K^mUYen9|o#`Z`M9M#<|ac^xIM zqttDbx{Xq|QR+5I-A1YFC}|rd9j2shl(dbKwo%eHN?J!r+t?w0q1z<-yG_cSOEKkS`JBOGFF>W55mU z!e2%B6nF!C2sVRO;3_#0K~6-F5fS7=1o;p_K17fY5o?;r;S1F{*3Dohm?d%;=Mlzv zgmE5WoJSbv5yohQF&bfvMi`?J#%P2w8exn^7^4x!XoN8uVT?u?qY=hvgfSXnj71nb z5yp)iGZCj$L^r4p*jlHQK*hWbrh6edI6DewN8#)!oE?R;qi}W< z&W^&_Q8+saXGh`eD4ZQ-4eD`QL>jmne@oYZw?K>AW_58}t!ZwHH67dxW`bF63$sWo zvq&ovycKEPiWF`|0=FW8Tb)w3#VG?rzyywO0JnoX!QEgVH~{J>W1u*j|K|a6;M*Rp zf>h!$@FZ9ZHu8qcAE|{0bOK#LcW?@z7FGcm17hGW;IH6s;P2o&YDoU}xqve43%~$y zF}M_51}ea0PzhFpR%#{y_c^`62rv;`3l@W=U^#djybIm~8^QbFLr?`i2A_h@KsBKL z=sjnnb({zCKtFINcnmxV)`H)=A3$vm)P|ro1hpZk4MA-PYC}*Pg4z(&hM+bCwIQet zL2U?XLr@!n+7Q%+pf&`xA*c;OZ3t>ZP#c2U5Y&dCHUzaHs0~4F2x>!68-m&p)P|ro z1hpZk4MA-PYC}*Pg4z(&hM+bCwIQetL2U?XLr@!n+7Q%+c!TInW|e{NcI5gFbgDXZ zsyeaJJs@_u+tHiqtO%$F4WJQ3!C}zk)*0;#fxb|O z?BC&d-0jH!9q0yi&iTZPi4Rw^%?_u6<0-_af;q(R2agbc6s!VIfTzII;HTi{;92k- zcpm%;>?Obb;2=26{cY}c=8_$}Kb7tFVl4K8%4(>qhPrC;0b?W0t!8}oVtn>ueD-2| z_JY!CD6NLlYACIS(rPHJhSF-NtcJ>JsH}#%YACCQnrf)1ruNm;zM5KBQ|oGKT}`d4 zsdY8AuBO)2)Vi8lS5xb1YF$mOtI>)#@=lm7s+d)gQSzN#w-#w!i!`o98rO zDtDI{O*n>g6PS&!cK0*-_amumk<_*5!+Vg{wMc{g;%#QYcj(#mq<;_ncY|9mHo0-} zz8glG*CNepDe<8Ah+A&YmR6YoJM-h)oO2c38i(riD{jPH_hPj7HOxDfOK0gw-ZfbyAD zYME7PnN@0;Rce`4YVB(%=Q@C-vu^}9QN|Q772HPtd<6mBcaOai+zajp54-!BjcT1V z%j)F348!HgO9)`T;Bpd2U|JbMz|eXz5u(xmtZ%j1z&@GlzRZw z0eHn}0Puwe9^eaTt)3KkVlng6Zsw=maB>_@j>E}uI5`gI#^Kx;oLdX$*21}QI5!UG z#^BsIoLdXGMi~))IJE&zjl-#NIJFi|jlrp5I57^_#o@MExGfI1#o@F#To#AJ;&50T z4vRAn?q(j`%{;i9d2l!L;BL4s4%fxux;R`HhwI{SR}Aio!Cf)9D+YJf!dD-L(X;jTE`6^Faxa914eio;!TxGN5K#o?|v92A3tVsKCl4vN7+F*qm&2i3ws zakwW2=hVVEF}NlM*TmtJIGj=or^MlqS~#TEDRp-!KY!x3>fA`VBy;fOdK5r-qDe{(>>4oyc{0ImrYEcD$trrVncl0S_nOqK z_&&W@d z@K_ig3&Ue!cq|N$h2gO!thZTz6rxOVR$ACe}v(UFuW0lFT(Ie7`_O@3t@O6 z3@?P?g)qDjh8M!{LKt2M!wX?}Aq+2s;e{}~5N1BAV#RbDtEWs>Pnons`>JUO$8zO# z6=PGbo~|b4H6VEf^%lo(Gnc(jm{?6!abIFZ)!A*Zx`+(g>W5ZVnXIfbSy^SWvdUy- zm1(``ZnR!vEr?!ky}^p}O~SX)dEXJ))_ReJ|IjSj`1`9b%40@pU`A5Ek z;xbvqWzugEX9DLEE4dqpCsuPyxL>a5RuJCK`8&bg;GbFHy~920!3MAid;m5BtYY+c z`|58i$E*OIedK!p)X`^IViLV~te zB?EqGx8e=qSX=Vy;g?4EL|g8pwN7g&E%1o8*nKP|1!HOpaz0_P>+IIUC)!dct#l_^ z=%&F()4|PPCYVK^ren?ezNM`m9;k;0>fwQUc%YuX|Mx6sH*xP2Fx9Q6-y7-odiuPc zK9^RmdiuPP{%)k7GwA0G`ZNlN0y~}`m~-tt*1}x z>C<}pw4Oe#r%#hDOZD_=BO`7SE5vI-11rEs!7A_stGs-06PODg08QY}q&p31enj1M z4IwKiB>E9~H`4nElKBXd`3MsD2)VVATPwNA_2dyG@DY{kK*AC*0o(u*rQA;ZPH;Dn zCGI0U0O~-Z^p(slTbNt6h(gvOMd+jCrq&~)+!}Eu7!9sQr=0|cTtoPl(r;_TR?=?= zyGXwqUfhHJdw}~Rq;DW?l<+W!fjDReE$*l2vo+|mHR!W7=(9EGvo+|lHCBpy2%FXy zP#v;*x(BgsZMOpMW^~#bY+T!|0qD8K#0P`nq`LwsGy*9F5PDdQM zc1m+=Xz`G9D&y`v);Qsk?=FaSQX}7Ie=V z^v)V*y!!<`6>_d8%?*SV#b}KfEfIs-7?j4KQtCf3sEI*I3<@^z zjg3P1j#(N0Y=J++@MAMI3sJKWJlFycHo=1tY8it6nyKkF_$f>cL)369H4MQ+5qKvI z-yDW-Lez8{JQAjsA!-?-mLd2c3=f3ifiOG}X8qg(4}|IaCTbp{@8wu-rjNt)Wte^p z(}!|wH`9l5d^gi~P4rt6ebz*OMd&Lz=9}rOF#Qy!kHSzDqF=JtTrXB!WF8f;}WcE9|2c_R#`+1r~U0BN1#P5uTXlU>}L_)HH`y*(d%; zT-tND6W@s?_ABCggzn=hXeZIcahto3Z4)_`hgQL2i!CKWi|w_Tcfyt3~9!3JOSAi;kX_&fJP7nhXLhUP>WqAf?Xzp zT_%EECSrYuPGGxx?bER4{s=%jcAAKNE`Waf0zmI!r-@*viD0LR*cD(hs02&kxn*Dl zc!+!+0joJ5BcE2nBOHH&1y|6@j=Ps0-RoeTa45q;7olhO(W85v;hY=6F+A){B)k?} z&-p2wp9&Upyc8@4awOhEx`#ObFn9z!3RZz9z*FF9@Kf+}@GN)^JP&>a-X@QC!FymM zcpspG>n{bThr&Os}@kt1Z?jM)Nr4 zFPjzC64n9BzzXmX$B%#`tYRGCL6&$4Pi1C04}O;Nv6$oWgx3>F87Jl2ZCt+t+y$ik zddO{qsyI}|p(+kl%}Q1wn>=2(4NBsC@#9SN6FvGvtc9}S{Sf@_hu8f|0&L@)lma{9 z>s`dZ0=vTm$ZCV%gz&@jey9!^2@y6D;*iA?0a_qL3xwe7 zY$GYc@U$PE_QTVDc-jw7`{8LnJng52Lh!C1-u1(~{u3mMoK-^bqMsHE!H0fYE#!Fk zmZO&ty%=8fYw5zdV$Kcccs$|tpn`K#IGzgT5WkJ|cYwRVO7{>vh=k$%L*QZ3JOUmC ztH2ZBDeyG-Dfl^f7CZ-@2fqS)DPuo42$WPJpBVYZ$+wxXg|Ln9RAOC+zx?z{h;Jbk zV#gXt3tx=Qax3v|#J3afRQAh5;wz4KvtDgt{=Jftx6!ZKzY?L-w;vR&j4#HCh z;i)=WN!l)@-LejzIz;Q#!Bh3L%t3hS5G^C0lGVXahv26}@KZhfR1ZJZ!%v6cr$f%e zXxDp5vmYD;jof>f^KI@Sc zK_e8%x$XcI9Do8@^8?iU05v~AO%t^|KrLnMq&2nfgxb|nyEfJLVGJEH9~7E&-zC(k6#H!gGr34^@I^n&#c+Nag_LB5Cd`03|hE$gb*zOZ7qhj z7DHQ$Sr$k^T3|U~W{sht#n8-RXl5~H)R>KZ1x+i4rWHfeilJ%6(4b;yOffX37_(;_ zZ7GJf6hkYDp%ulLJ>$+?uz>g?a36SpW9o<&6JwT)qqW4C9pfI#_c$Ph`uqs}HStuY z4UMG@jirs6AEAcw$xItHlp0AJ`r*l*(6phYw4s@_p_#Oym9(Liw4s%>p}QqNp=m=y zX+uM4LqlmpLuo@pX+uM4LqlofD`WM{u`Ou9ZQxsYB!Gr75Xh&k_kcK%*C(=4JKj2{ z_gln8!YU^%atRAu!s^DJ1&e(O)(=_Ucs6dWWkzO|$11(iPDehUXmvZ;-iLqJ;+C|J zffZTYk$Vz40%=+6Lny6l(y}J4XbB5i!g{9n62w`B;RBuP|HyLo!_W8It!n!Deq21q zx;Tq>fM(Z|F5z( zZo<~ogdBKPTisdrcB7wp_HFgVPST685R?M)$Nto0T|t_WU@Y-z*h;2@o54&l3;Z*- z6=qj@KHs&l%t>a1LpEgYyB;{IP*G zVFPQz2G)cPtjUHJY+y~;z?!guHDLp5!Uoo4CtK~c4W@~n$12ZUBrWn6(3|832ke3a znv5N$Daj6##riyp^?4RMP$YLW8Cy&fcC;o(+F~j>KMl;}cs9_M_$IgoOFY-xZ8A;B z(^uJf5@***+<6>4308w=z|X)hz%RiX@B;WX_$_(92(W88FN3vU9e54A4u05j--O++ z3A7?c+hVkXV zOuikM$^J-eeqan(1)c(LfDgfDP>&|m#1{-(m~mSkMt370?ORQ5>ycs>a%a2B=eYSoq?1DKW9mR& zaq?;+uNZm7$?IK{*PG<^x=101R?aq&U$ezt49+%?<7$rHVFqF+7H1BrGgykLjZC+Z zveW(A=t=!#R9xU36w@XSqGpC#Q&hHg5sMY!t6Hl2fQI!ERLw`+>pbCGSZ z6DdE@{WY~-MVd~eX@%-$(}I$ci=lcqbstOJFXOACLs&nIhw~=#9Z?_m9%47bXFS8L z`@G4~?h3x4X|_eQgsP*>m{;_wICGWOmtN4PkV?=zgTExPEp_ zWs0$AfH$!2c+vfgTaNj7$0b1tk@5;Kc}w7y{%+V%db@k9^N}ijI1Yk=)b3K+Xo&lsHJX+GIBL{W{K)-Kpa;@Id&O#c{r6D& zI+nhTT&;3HQR_6G_%JHAQ2uk+6s{tt71)oqklP;Y3N5U^7P0=?Li>%Peh<@2d!Vfi z+9XGPOwTmaGu8CWX1?@_{A7GJGrn5Mv6->e%Gj#s&K-OUb_jKt$O>dNBWFD+H^N62 z_b}qW@c}3s2VNxo29-*;S_AF!7WXw!R@`X6jmF{?Rb1OhU8IH~ z`&mAT;RyiGb&%HXC$wKPdwa*af1oZOi>#*J zY;dRXEcQNfsHDw)$uroS>9^m(Z40o~Ur#-MLvQ&-i1kUBCxi9wLVD~DYWEtwcB}Xs z@$cMa^xUn~_I65th8pjt2k)c@pP>hDrKNsPFRr2O|AV&w8Erp{whz&pGok8nTJRNm zbp^fZrzKY@yN(>=FQNmzRI-VK_*fTlQ4 zC=Z+d->04@e+o}9kHQNbp`o67|2OsdZ|bsxy6mDZRn#SH4QFJHQ1jI;RsQkgp`KQk z?V3iPeMlaEB#*7|Q`sKInvKbzL?MC+&0`q{L82kLkUt^YEupG)gsLhEN!)0=7ip-`MjZ7;JfJ=zS# zo2(&6W3+xAt$zcppHAziQ2PMXOZ&z|_kC(wMXg?^^#7*Bw<+N@O4v>bpOCBUPuX^L zQP6l9i-I`&}wz!Ea5}GNLiEV z{!#7b90Es=b-!eMH%Pf7X2P?}*-vvjJh+m&-REwie%r*GT-VQE{lPr3KITiq%*>VC-1*ni>A9se&RJ}#+yf8r3?D%>^~%Qb$B-gRFfzLoLb zfl=HMUiycBi~=l@;M3!iB9Z>VA9~+E{l|Qg^ryP{;+tMKlf*D1O0NsA0t;t z@YgwU33@|``2P^{HSYGmL~Y?I{nvq52U!#Ta1oOH2j~1h{JBUIMd2~3sC_*gYyR9{ z9gA%`7F!G_ANzAR9zE=Caj$Z3aXYwQxGRobIBCRPOrO(RC+RUiXX#gFV*ZY_7N_j=aO|=H|F@7yn_z|KM&% zt_t+H7Yh)@p_e z<*_VJB8lHz?0N0?eLsd&{vZFCEq>rH!KWunLO-i}u{WLYC(j?>@+Tzt!Nc$8*Pi?& zT-AP2Ft7fbe`tLF)yV&(v&Ti5(fD)m zR`>lsS>8#?{C>jkospD$pPKI_JK==;WA{S0%JE43yZ5?}lc(R! zWMnUwHy*u-;~KOy!3=oZ-%-XSTCYH-R)6r38b6AwkM*FQ0o>oXtK9dH!|yS|>M7eRQ_G;67lko8X6As9gpo-{me#J~}?mE>-iVWmw{flH1VomM{}D7o&Zp zp-*S?vyouZ><z{`KHHA)hOSJiG0v{5f>Tsxg@L!7zTO;tydod+NvXI|D1+)!Z`) zPY7p;`}v*AJD{(M-dN(^;?3{%{4V0X&kyjzAiwtBm$yB4;FDt)zkJ^J+>K9$T7HGR z^Z7Nqs`v3LLO(lzz8&E=kheY?*jvtiTI%vGzf0A7pFfsweTvI@@6#(vc=t0+l=A*( z7g5IBpXZCg)MMrx7HFxsf;T}2ixIpHI$MmC9tOlX`M#%^z<2aRVxq-+ zCt?y`zV9aPDWskMT@*Vu~_IU9M?`vKy*7DBgRPid`i=Qsm^RDL2;yvEioFz8! z&gK%ak@q&2iA}t_xk9|p`cV@Qqphy; z-A$_-Z*NYsddM%GTj%h;=3J|{!~2@n1-!Aj!n%mJHt)9j$Zwfj1-!5M2dh6{9)Hui zk@qY=vMTtl_*QE!Z&lV<^LVpzhjj~YSJqkc`FeQRTFSeX_0}@puWYoI%XciT6?{GX z&(^JcH~cTwo$|}!)?Iu#{HV2(_bqMf9^Se1SoiYXaG!M_tMw6zgQZ`k9Ju*Rem2~A z7TkO`KMx*3&SCVQ%g?L4f~3Nk7h(svh+i6<*#|3*^bsOGK;@A#pI-(%iNy?_>`%%f zep&G307@Fj&ks*tOlg%a&pWt^1p>x31s99>I}mRvPjx+w1If^Q#QW8du%bxay+DRVOvB zPF3S7RgEj@7vw8w+0Cz)8eOSsbfv1%b*dU&r>fC)ni^d_)adG@M%U?#uD@a@`5V7Z zYK)z(#@Ojzh3*)Ujmg`%X{1f#0#;w=Hi#4Kk*`@NiNc)Sft{MqJ-L(B3V+E zWJy($B~?k5R3%wbm1OZL$&zME$&zkM$&#)lOS+OQ=}4AIl1<%|Y|2!!DO1U& zOeLFqN;dhFZ1O4D%6MHJ~XYnw-@Ca`{=it}kC!zzsEglu8;NRjg z;;Zac#2>dGC;kMo>=a}f>qGoT#Az#hM^Jy>RHBAQka0P9kobnH-`d{_2Tu}zAvrbO1a~u-igO%q~h| zc2yFyyONk)k(jx{i`R)RqNnsbLHZs}58;#ECqx?lC-66f4~kyG#t+45!f{S_PA4U9 z=(vlw<4J!uayA7ydoFe8?erENyi=SAcTEVZyb@Cl_-a^m8 zzr_ulztOpo+$x+3>U@)P6ZM(wOy&mY zZ2r%2=5X&^XD;_Hb{12ICC(D)Wwzk|tdf^e{c1pa%xr6wfJR|CkcZ|D; z-_8Er?#w9nlg|Ur1LX4vJ0xs;Wc-8@A7!V6jjxQyh_7PDgpJRP$B94TJVE?P=SkvE zv4g_KhsJ8+PqUN4#+Sx3#DB_;3LBpqKO_Egc2?N<*7ybSXW3z4<74BO#GhlQg^jNb z);##zc%JwR&I`nU#m);G-y6Rs{u}2vQ2kq;hvedi<3EYN$a9fg{Bit__)9z=$;B_n ze-VF~=OnrK=XizqTAr8W;-}+P;_G;Bl8e8N|3myWo}c96x8wK3U*|bWF8(|IK$|m< z^8an;ZQAf1=N($_UFTim>z(z)-*et0zQNf*e513G_$Fr)@%NqgiGSdHK>S1JL*kpA z&BUvmD&ikG9}#C(=0CGC9L}uF|Gmy$cwnEikCxxh*9da(^l^arLB2|mgU63L;>_8M z1?FsO#heXqA9mPHgYS^|}11LV(~XD){`|K|KnoXVFI{!SWZ zbde@!bdf4&bpA7=GppLn1yVn?nDuRR_`w)JD=YT_r4-+GakHU*siqZqTN)Jfk3E>#7 zNjg<`ZxIrrEU1t z7hHtWIa2U%_5tTV` zrK5CJUwaYgDPNIBYAU(PlbOJm*&cMMuleSSP&!HqR!(WxlIwt;d;tb~f{5}Rm=vC& zHlZi6--UP!KcVy(4_}8l!kIRHo$;;q4RO3YaaC$IDN3^ud^hIr#PJlxd6%CDT}PnD z@Q1cxTTCMsPHKeDO0nQTqy3~?tmg2q)`{~{6Y?reC_`yNe*CR<<$O1*8)>>*-HG?G zdXV!e)+xk$T0J>`s&y*yUOeOV;E$~jXXF|s%?em~#Ph9uO2_va@dB%Wl!ZJ6_TYuB zKWU1r%Q;_c6_cjKg6oua<-rr%AmVa;lY%!kxK4Ux;? zb1YAhJ$PrE%o)6}p~FqJrV{5%IcR25OY6cHb7mP`t&26sn#WbSX6k}pHY`y1AVVUc zz0pTWdYccu?OV=Bjm@VtwsfVjWib(_F>|M*t9kG;MjI-PEk$W;UVM!8W^Z}TVV zZBCNj<|OHDj?&wFN^kQhz0IfeHjmQVd`fTgD80?6^fr&u+l1YR=iwfuy$Pkgd6f1h zl=kLP+M7_?n@4GHLTPUvrM(HIy?O91HUJ%TAkWV|_Qm)a^WkOe65^NImlFRm&(l5j zW%wNP;c@J8;>Gp|D3xo(9`-17HKBC16s4;PrK_bVT}>!mEk)^SKBcR9m9FMfx|&z% zYCff_dF^TTEb^Ic&qimOW6weRnQPA_KF^*<{1*Eb;`8nK#245Lh%dAk5?^F5BEHyO zOkA!z)9_EWlzimsGYvmwSV5GYmxjMGtd>gKOUG~7ZS;#=kEY|l><;2`Rho_uv%84P zwP`wj%vKVYE7WxSncYiVu2a+TYsRidr4eT0-|Rv1lzL&7(hL1cFU(SUVK=20<|w_e zo6-w&lwR0P>4iDc4;uHbwpY`tPuoqz6PhC9UFnEEr6XoZPh*@(Xo`$?r6YDjM|APF zEcHSkdZA5RYJ^!zBkZa)LZLLmEc}qAq6zsN#=FuEQ}9WaPCUcOK-0=}uoo$P(Tk6= zY~pgAEq#^c5buDq>};h$dhuJ5gY{Mrw*a>A{S+)D(S6 zQ%qBuVppXpI!aUY;Ma_`hte0lN?%M-`l3hai+-gq_Eh?!N9l_x_&qCNZZ34NSmXO_ z0QX7_(yuhgO#Gl-!g;AjX5tU+$Hb*JnTcOCB#hE2vy@Khmp;^*c8@H*!_#pj{oQgZ5N9s7TU59j9Ffb)4zwphD@O9%q)rNKu-oM`@y6 z9jS@-bmlqpIlsVJK;0HP3yCjs77>>ks?U)csuzE4ONlRI*Newl?kp!Rbylx~|2EP~ zoi$hKtbV1l<|>`luXNU2rL+3+?6wl^@E+$LwCa1Ed%5dA=RQi2x@=da%l5?M8_&b= z`u33MfakY|(T3Z#TPI1ob&|AOCrP_?lC)bVNxOBDv|A@hyLFPZTPI1ob&|AOCrP_? zly)nWcI#2vtx(#nM`^c0X}2Dw-3q1MdX#o6ly>V;+O1I9tw(9MLTR@irQHgp-Fnb& z-=bxtUh7kOtyk%_KBd=sm0s&pdaYOKwLYcSdX--5Q+lme>9szk*Lsy+>r;BI7oTG;9>g7{7c?FD~$>{G`l9@cLB;(bZ{E9WcXyPe&{|K#w*20wYV#P>MZVDXptHF2p` zXDO}Pue9ncrB(ZtR-L7^YCpd8m{0Mg7lBWtZY}Vs*Faoq*lGCIi*iQl*M-4j21 zF?cNQ#Nn}Kr=f^SN4`|iN$KKQc;-Xv#w%Yo`Zkk0NJp<;_`Pp>dev1MLF+-Y@>bydMVvEh#crl3(qH> zT2%+EL97zCixA#jpTP_3dkIgf%8TlM{-9UauTSvnx?1^lO}=OC34UNtdIz2^e`@WO z9y;;QX*_iP%icMaU(bK}t_Hk%zJXs)>Dg2I_LSZ|-@&`5^zSJ>d`cgm(#z*2{CvKT zr%&nYQ+oT{jJMB^@b~#K9zUhePwDkj`u)_NKdbTmxfSo9(*LLQ04jZeN-v;0@B{h< zoOU8S?88iEyf7%QIh@t}M+Ypr|u{aCF~ zE>qUS%dHSLyAt%hOT;~BU&F=I@X8J1*JxAo#T#foOR<-)z{d1B4}D+rB|r}Dj-S`dvCE~2W+T-fT*abV8cqV3wG?-`?6wHQduKf0J#a`|{P`S` zMF`!3w`5G1Jg#8=jm6&+;+;x}UFw8cg&}OEPaYwm>u|k!cEQBS(cktzN=T3a&s>~1 zZbkvIBOYi^#&xHO`Ni2E#!n9*r0F9<=LP0ujm!M)y$xeI>%E1YT4t5fbhvK+# z&g8WL&w4K<;xL$<&L#B+Iob^l>|2v@v z(4NM-VCsy*j~psy5qcEw5C5)UdRD>Y`Mp=;)_gqEm~h;n#5sIH$GW!v4+*ft2}0g} z;?|tk*L;#+Jpa>lOSjc-JPz#%<7e^1Gj`)mw+PXVdj6;KhW3GYllhw1%I^FOwwsAJ z8A~*l>n;SZpm&LcV@Z0C#$b_i!jl8(|5WgW_5lvhwjp$wwy z$V$4AWJraim-GQCm6nkiQYh)6ok+&Zy-B#-n(UJ!$rO1C*(d#g@(9O=$XxjyvX4F_ zr=|0xyPSgaTgX1mUb0huAJ;QUu6S+@>S?4(_9VllS`rP|m&-{cT=RmomSagfIfR5u z-;m+-Dqubj*sl^Nc8hdpwZxG%A|s?DWW4k~DU-?o|NCT|w3MW>KBSY_$9cMkY@mj^ zb5aIb&i6Gxk!9lk_t74I4$rVO)Z@qymO`50c$t(+nrpmCThuL48cS`-Al8d?2B&O8 z?I~|1^RT~2GLT8q*Q5*XohUn#X0#lz`;(DUCfTCd4p?MTD20%T(rHql*-geujW8zF z!0o$a1pA2Ovd>5s^C#2M=4z=6=|wM*a*SsNy+VdcZg@6`%3064Z{(w-K)Ozb%ew);Cs{`K*PZ2fl(e{hpUjnXWFcr~6`Mdd()Y+f z$r*IKj^wjeWH)g)l@WJELp)4fu>Uo2uSGH4p>L8y(jc;y_er{h@jXMDahT-^q=R&g zOp@OPJzOK5@&Ccy8Gx}P<@Ne7LF#LM%^Y+Vvb(6u8~ zn#rWC{1#yAK(@-ikdB(?q>(IGb_XbkOP&^!WlQK|MzkLJ}pVu2#HbJ6X-gjE}u+0B>%7=QXWa5Co!JKNi>IF`xzOcy-$WoZ<01r0A%Y5(2j}BVHI_+(LHtN=y{Sv zGjP8rnIlm$O_ERt0QdPQzI8h!N3@S?bQ@VN{Ro+P9`wa^%h#yapcImIvJCwYLe>eH zG@kU74&ZzM&i@Cc8;S$2`{9{yaQ+CpvxIJ9wYko4DaXi5PFyEQh60*7z*ew zl)j}v|7 z@bJF>4>h+R(Ehl;tzlbm*nzLx=!XIIRn!Mi|Bm`PaM=O+Edccq%?{WggUAMqUw5wC zge?Ml0QSf>+_Re7C8($JnkC~tUe6~R_&D%3UaqD0>z?s(!L{N4Rl}Cy_5`l8sX#0?PMW0_!x5=irYY-TZ_F^Dr`VAZ?ERI720_p*GoD5@|xR8f*-k^ z20I))bDF=8^9yfR6xc%bu;D&_Kj#Yp6L^vH0k`R7z%FC}hYfIXSt0nG+dJm=%(l8& zp0woG7`KV7cDlBgD#W|*Ih(^U<-2ltzM>a`~rU*KipQ-z`o=A^=(*W zqsmVLr|6%sQ#QelvpiG(UM^pN7a?DGt;!T`+jE;ttzlzwJCNI>LI%HF!!{N6BWzM` zHwwJ-xeJ${uw#YY`FC<#oUi-o&Pc3sFbq@5mwV4LY@>G?poR+@_-=PTI0@~$#E9`vmfw1#A zFJMggJc5svTJyOPr+<|;R9hE)ER&<5XHalYFz&HKpJmumntFP%v>|v9^NRYhw$N!k z9dLQ@h=g(*mD_u~(ES8{9od~)ele6f_*2?gJ?6D{OC4OF(I?hsih$fm)8cb<84WMxmc8szB8jt5`m@n=M zq!hro(`M!;aI5(F(GUM_7wf|kD%U-!o2ti_2=r0H_$LjJ)5Ixw1Icp(Pr4e zuc@OQbr5?NgoaT+>KEhhi0-?gftKPL#~^<8ym#hbi~yhSt1Vf2?Lf8BKm>kxEyo>y zlHcrNX@|DpJrbz*qA~VpCkWus04LnTe@!Wk#5vrdgP@PheowpAHnk|LT7n+#qz!F%W-(QtB^ZCrWS(N+Ud|3}ma6f;*dY zBIAGNANuXD;wc`)=+7xx{BTDD3dQa5{5=u)12Ku8-oh^dW^DiW)^eY9rNXM7Q_+a= zv>GJ!DzE)`NA;X@IMkpO{__DWey9WZfxr-#518g!N+6;9P@91>d@qp5+U}^oCJTv{ zjE5`Jo;Z_GvViO+$H;Nah_8^3$am!5M4_%A{RkR`fgD1|(us5dEuj^34>iyyw2lR^ zWR}J*vUl10>B-3t6eF zGu73hujW36kTCRd5Bhk5Tqf_5>*Ra#gwz3_?%=d0VDX_egXV}n?xrWv$LGw~(#I?4 z;~n%7j$un5m!gkrr1jEXsam=qU6wwOK1Lsj94WVud&(*D1i3(-BbUh^$#>+h<=-_- z;}%4MItDEa+8y*X=r{C{gm{GbgoK1dppWq(ZR-2D7kxZx)5npPKDt@;F;n!BqK~z8 zb+WUptNRZjm=SiVyG)bn;Mbr{P{L7yQ5vDZvrj!xyy`sasPdcgJsknu5M`XwnXEG1 zH0?LNZ8~Y%YpOEsFl{j{!`mj-W%D~s8WdXBv-WxIAB5DNK{Xtks#jpc5ZE$=IiVoZz&fJ5hjItyv3i$U zvoF;>>zZB1y(s^eA3J8bOOoB_Bl-jVk^V#<)1OHReMq0tKk0M&g4R+K_;nFgz;_5A zFh&-WB}`&6(=aX5F*~x9EMp$blX)?3=EHnRDS4IoF@JDrAiV5l^c(40_|Ly3D_B3) zpABFGSqd9ORxmSe8N7khN?a8_y=NOqRv6 zVRe+VnQRuD&5GDuHjjQszo-9V_G|;&$TqRfYz8Z2#cU2Nl_Tumeqm3!Y+--0 z=j;VJ!D^X_oMZ~Tiw20PYIvlK5`$0b6#VTqnCWXIt)!Fez-bPWqvS;1kX+zdyDT|N zDe%x;lf21Cl8@vo`APoZ;*ZGWP%6(5BksqWO@+0|)JeFd~&*Wc_d{5x3`$dYAT9BtwOY*A} zFAbIwh$1DDIw?tNB_&I(DS^0UQX6TA)E3fMrW)ymG*lV}JH``MmA5op8X=`gsZib# zkP1|K4jB^#Dbtj~Ga#90G>wt|BmFL=OCzQ4rAIJEnoEjQ2PNA=`a${;(kPxL&_tR< zTS=p&(b7-SV`+>uR<@JvrJtpL(PY|M`nU9iwxMllJLyl_o_3J_ke*2y(l}{6?MOSx zT3JUs(=IZTCFvLGsVvJH+Ld;b@}CVrv{ow zN9^#t192oy&_6E3mFS5Z>{<`vNxTr3^C7;(kNA@SXskvghy;@mXsIv~P8yR45=o*+ z6VjA4ga0#z#FFMDjLeMvvkp9~-aNeUT629qIVC>chElMy79q>*$ol8hpw$r!{5Gawhhm-OHC z7x1MCTquJBHQ+uivttg-i8(T7=EC&MmANr@aHALa(HlC%2Yl$qIgw5wQ=xMwkcp5= zGszM%ndH(E_~UcvYElCJUO@`z8oCxy-9oyIzDi5UKj=!5M~ca5aQLfa0U1Z~>2k83 zu7Vz$1dr`>`W2+cPqdcvB_Az1iRMFB=a5pmjs>yRbQZ>~kj~^|N2iimG?z}MGazN2 zLe~5WE%zV#JN<+H#^nrp_$QYzR3R%!CA8%fvYqT8JIQS5&0S=hfyDGR*r%jcQ@SSY z9IabsSlX!CUK%?l)<9!ILVDzOH_(h&1B)@xW}&eLDJG<+L5k=(I5j*iWJSn|S29y}NfY8v89)`;)sfNql147f%Vh!4Q7y;}2TwgP^ zx)_7DS**d%{DvW^hRy*7lD1+6f8UVQ@KD3T6)OT(pa<&lW!vL(l)QYRv-JsJpvO77 zFa@td6&@PEPlShthXTU1?y&~@n7%_&djP~xfanlo@ahq3aEvi{qjHL=j-q8DD~6<= z?+m_~aL$gD4NW~yyrf43X#s|C02@+vP7l0U&hcJ4#~3=7oeLr9sny=3d%$_(Ej{Xv z^G?wQaEp;@Su{CIr;hB^vJtV1KFb#84QVI#q(NO18awlIa<}B@V6mr}oYo`WgP+qT zHVgIV=ZI0K)8Soa6dGID(;3DBz6r6Xg~o+^uahG-WBI0pZ{i$rVIbd3<(sv9bCPfB z_$Jtq&g4(biA}$2d;jE4dh8SIDZv6LUM$y;iY5{FGTY^ z5xw=&`eJ`I(L=X5{+G0if%hYj9$|f04qM00u^*)%=#4&*$3@Z=NZ;P_Ik{FdUUOZm z)y~sC)IQhgbuqf3x&qx*yE%3j?E~$n+t=9t=Fr|@r-S0?@0jAa&+$DcU#Fo?RZibI zw|Cy@;^5NCrNCvU%Tw1x*KF6Fu5Y`3t|$5?`tJJi`p?}uyRCEk-F>M0A&)SRJdX;G z8=k(NiJtpBAA2QwZSi{U-P-$z_j8}FJ_SB+`ZC`>zKeZ7@cq)SiC>=II={#M!~Jgu zbPO01NCE=`4UHN%YSE})qo+X*L4AT&1Z@vG5p*NCad5xjF~MtscLzTVeiGsk(m14J z$fgh_v~_4r7zxV=_YU73e!KC2#x)T^5p5&NB5p+LBl9D#Mx{i3*TlEU(k73Z_G!AM z>2J*@((G!pr_pkBVsu7yW%PT|wK487O=99>#>cFSsfxJ}^JUEASkKt*vHN0g zH1}-Yy?I&lr*VDaj{ik3es`DdZM)y-;nZV5k5xTx z_l)ehpy!*t8u!}X>v`|Ry}y2?-z&%Z`1eWgbD^()-+6tX_bcjmrN4Loh5a87NEvWp zVAp|HQii5{IjHNP1A~4X96xyX5SJnE4P7{l4O=?w#_*uwDZ}%J?;d_;_|*|_r^csl zNc}x+LE4eDo9Ru`3(~KRY%+53$UCEYj@miu`RIP5e;l)5%-dsK#%7MaFt#=$KjY@O zm~r#Q{XTxw_)8OlCM=k6d%|~_EVFm!p{)3ex_dxFN zdD(yaSCBU+Z(ZJrysLQ+^PWx8Piiu0z@#;kp5(ja`{y^ye>|B@_MhB*@~p|{rld@{ zJ$2O7-wVbUOfPtETC-{0r;V9bG_7LV*{x^i&)z=!$D+WZ-bDpPrA3d6yB9Ag{(Mf8Iiu#RoAbe(@8&j{TRQj7 zJl}b#^Qz{P`JLyFn!jfL&H2w3bYHM=!3QOQB@0R(E%aPCVBvy=Hy3qZG;7g`Mb8$8 zEuORZ$0hMgHZ6I+G-c`A%bG14y6jkKU}9TU^%Ezl(tg2j9wd%+!<7%hX*{iRu@m#ZD&89Uc)?8V0f6cSC?rWQ`ZM$~x z+Pt-k*KS{1v-axRhijE}-s_sL>$z^sx>@Vitvj^t^13_go|Ze5hm^N2A5flIKCgUJ zxv~6G`OWgj6|BO)BEF(`MMlM(iggu-DlS*tu6Vp&ULUwVaebflz%?JZyRJG~CrW>1n+{`xnZ;s#GadV%|<2O&)JZE#o<|CWW zY<_d|z0FTID_b14gluWGrRSF6Tc&I&-BPh-=aw^Du5S5y%k!=JtxdLe+?u*|`qmX& ztG1rldSUC0t&b{6rEg`6%AS>jE5}skRnDqhQ@O9wP-FkGHXH{@Yq?>%DEv zwprU&Z9A~-^0s^1e%nsAJ8f^gz5Vu~+w-cTC^$ z-p-(%<9E*4S+Vob&PzLQ?|ib$X_xP==DT|C8nvr%*Q#AryDsdyx$E(6d3WIM_}#sC zXY4N8y>9oR-IsUY+5N9Q@*e%3CVM*W8NMff&*D8>_MF&rWzUU0kM<~4o>ehbt*Zu9 zWmhez+Ei6lb*}1q)#p`DtCYQ-dmHan=uG)KG@1?yT?EP}@vwbf6{P(rk z*M8sNeR=y9@2lKbv+vrzd;6a5x7#1GzxDo<{n`7c?_aQg#r{qEtM;GRe_{WX{a^3@ zasSi(&kwKz4hP&1_#X&6(Ck3`fwl*_9_Vvm@PYgTr3ZE%ICJ3IfrkglLA!(cgT4nt z4z@iw_+Z|_#Rn@7)*QTgsP&=Fhtdy?Ka_W9@uA8?RfmooG9J2c=*FRYhrT}a`^%^6<#>qfSQ~A8m28{n4REvyUz~y6I@u(Gy26AH90?^P|5Vb2=7wtnIO`$NC)0 zJhtH2iesCORUJEV?831t$F3c_eeC|R-;cW-_deeIc=zLDj?X&2;CSiroyTjAUpxNj z1UnIUqSc83C$dk>JF)4+i4*Ug`0~V~6HiV$oD4hJ{^Zb;`6m~j+YLU7GHQ(>#@5Ec z#ysOv<96dY;|=3|HO2Br+1#daQf!y$7kd-foBrW^gEMzX5N{KGds^5 zIdkUBn`iEwd3x62Y}nbhX9u6nJG=O7R^{ocBH-cE0)fwEAAEky`MmS9&M!W{=6vP(1Lsd%aJew$!ifw2dTsb? zXI{JU+T+)rU6e2CF9u$0axwAZf{WK)Z}R%W*UMhN^ZM8P?-KF~;enbax26|hL1JPQd4B2D|G9jo#pJy+un8DLgqT!AA=BNJ_ZdxI4@K zif=R>lo!g^pD8aW(z?WZyAUGXhjkKw8PYcMd!6xKXJ@>ZH^OkhbRE--S_dh*##I}v zWut4>YImVJ(@8r}J60==HfZ(L8UaM;oq*o}&vm1#107w{$zh-a8*N;ReS?F(+TQ9G z2fe}Ny1`j*&|f#W=nd}I4fc9N@O6XNb-c_Fc-`QA-9YsQzv~93Hw2(RG#p(CPf8Fa zK}zsI@d_6OTaR#-^;?&5T|Tn@+Xr+=(D>LY+ z33RuT!OH}te+JGyr>Ec>npoFD8m(Oo>vpUe1NP{&y^4V_9E1S_)lD1VH%d+I-Q3%7 zpq;K8BmtxR?G>IF86Kwf^7Qt> zfu~mI6`q9437*~w@vYc*)7Kt5uy<9~+MPvnr%azUdGpb|N7iR<_{Z$+QwmqmiBnc~ z?t02;S+ZdGsF25Omz$lj-#cQ8i|zN`jo(Tnx#EpI6~aiXMu$+6=LM$Da)+JD6S`6FsSTyWyVf&nGR zkC&v*otru!y?9RA&n@NY$U25UdoXa*0=Nmo{J$M$#{wf-AVI5QBoGIIz=*iwg99Iq zo+g1>pvM@m4dfMR63;8=_$It^F`sld-{NPky!~8o%@C-s4!5F^NEbhT7R=M8;VfuG z5D3Q@2tr4bTeSi~Xmvi}QCfjO5RXTEt7ICb({jp@Ks@{&floU8m7cp+F4{I^z*3r~ zjf|Prwc~;HAb4nf|&8G`%hemsXlUB zI+NQ%Ci$CjCj&z=mq=pxxkM6z2qNfqR1a;oW{C1L${Mb>wm>B3UCPND)37 z51k}M(YDH?5b7)E*ip}5<=fYX8;=c>zR$~QZ@2o z9pP~@*n=Ut6s*=Z5Q9My;!soHBIJ#OdVsb=y+Yl>-9nQ>-4a+ETBMZCRaVm(bJ=%= zN(lY3kO~(vB|Q{{{7x=G8UWXF9OQG0mdQdh{GQprb+L!?6ZJiWJ~wBr>FaDaIK!Pl z@WV?}&-}cxq)__0GL5cft#bfA?ytbclN`YP9%dX-j6dbhq2 zTL^rb?==e_p<95`7A<|kX+l{ZeU>+08_VC#$dtODqzM+e)z18O2fW=u* zO)RT}1t+x?E;Zq9nxqKUrAWC&_i8nXO@|}YLE$GP(iHUB4?YAzb8hIdoBCdY1H#1* zBW_&MAVHjq4>uddYIG83jXvTY1JPIeSvMRS3V*OgR(OR+MGCI(2& zRagUX5CB+hTDefy1xH8GLrO5VDE=S|JZW4kwQDd+TusExE0^y&c5a!+#)ZL9(z4)|ygSy%$- zmDBZ?c-IJLJMS^L)`g1-7%YNa;g}C~i_)=&r%%r|eas>jnZBk6wPEyjj#5FV^palG zMoJMBBmq3H6MSHRb!Ne{$}|G$F2J)3=K`j;rZA(O3*!yj#Z?DdVN?@n$IrUxtG%tx z1_yfMtkJ_e7!`!D2c(MBs#S6;cP~%yjty$Vw7RP9EJg8-iOCtV^U`bQH@_#d$%`h< zFIhBw@)SR|UTQSMRM#R|LKgqsFO+8=yrZe8eCu4*TO-ne)5Yk^9MFtEyzdrEOAxh6 zHJ<2=C+`g?!J0l?JOzEY#2IBBSENQq7f)2x0S&z{crA(2PwbYxug7m;JTJhQfMdBmZ|9ruRndb@Az##POpGoazHOmh$M)iaYSbv)t;%; zVsNzKR!Dq6%9x}JPj+|rfP|HDKDZR_INKromeG_h1#5aLPfhPDbLP&aGuRNS!D=i> z&{4qSMBvc}Gl4k77esqrXwOS+Pmn6-zt9Gp7-K`dfHgyGoHgQ%Qa~(6scUQizv!ih z$Jk0zQ3wZ>$GF+5+9r}&kP0l??Dv|HF=g4EV<+z{nL2LjJ3F_3kXl(dYtx1~GdG95 znw7J7NpAL1xy|hAsAg}JymRBmI}6`v+QcyX;`NVf*DODJborV+d!!x<_U&A{XsZaQ zGBOB#?Q5Z#VdkFN%uiIBsU{6z8v}?l?@U0P4H?PKI)2vqB}$2aTuI`l6-!DKO2SQ$ zeN?iyH@CAaGRG4vvt&o~s$qxzd3*b*TMy56T-wH~ReoxASqGU3|Ev#!Hsf40_iskGj@J-=jqWyUm}}eC5XitIg*h?|0kh3qObcCt19&7 zp6M`#I!CS$5k0RX8Hz&P;60AQUA58%swFN6!dvbYa=>yg=&u(kW>2M$q2cX_pMl2t zg0OU6K8PhIp-5xL(tn$Vv7@YOfHqM1eKDOofzDY3o-C#N5rsSss?q@_BW##xu0yS` zY0&AbO9%>Y_gD7GsrCXtv|BBVaMU{;1DFy>F z24JL=5~Va#S+l1!?I;` z!{XfGGs~whSXDMdbKuek$4ajjC5;@X>`M4OEpl?6pt z>aCTQ`s$#DxslP;K8OSE8fVnn3*~4#$1+6gs~b1mZt&F`lCN{^*`?tmI;Q1f+B`de z)W*!gN0%UJxqwS{C!rxkVk8v%J|OZC;vr5^^X0_EWDg-EHP7uXp6x!ywfWK!1+(>@ zS1X22?8u}TyUs0Uue8@I50np-AC;YmfF#q9{yUNb+ngGzoK`mLUFjy;iw>q~wL`gw zdqy;C7SK6j#yUpsDsPWZ9XiP8m6E#V4nfYc#%OZOJ_4H5xc=;o7p_HHOQVr|b{)`JnXe zkJ;;{qdV3tJup#PxwveF;74vpzX`r-q+;+d^^#HV$dSg?la&v{AnU9B8vr#nk{!($ zIxtRH+*@KTH8HKXYq*J%og1I7i6W(%-e%>se@K#PCTkC&co?Qbp6M$~ z`+yEO82>*|ywQ${@v@6EjFY5GTzaHa2y238C`?L9;RjP z4c+G|#cCqLT|_|*S6j4<-~@#!3s=DZMNnMV$l4~K9{5c8PwgkyzSgh;?d~1B&Rsb) zcS9rP20eIX@N(qi%Cs8Ec%NR@uHXIXRi*#U`>CDioLp|3ak>f>V_NFGkpc?V6KzZ*Uw7e1By3z>ZDh_?~X8u$!>fO z4-w#&AcxL2O)n~9Yi6?@rU@DYSJ)i>)7Ufz{F3U6u$cp>Ad7b;(B{R(xK)f@ckq57 z4)n-v5goFzw#B5C3rq(MH?OOmtp|iAxCwV%{k)3pE4s4lD6IYIi;E|gY78$PzxTtf ztC}5qjGIMU9LFuumJ>2mL|ZmAALe+63{J=D0E5Zfj!!qZq(9E+h#jym8=vcTkA9n zgP@ULKvk7sYVaaf{+J^FauHxsX`bs&N7yBzVH>~Z|4#GV4bKEf9G*}>!Ldw}L8TEz zrditJVzxqCB)>&pbOan7sQf0Hh0e|e&AouU;Qr?S-~2W&{`mBhU!HvO>9g6!1AC4g zt2$849F;#XIrBko{T38IcyXRdckbQ0qhx({@7`x-*tl$e2%I=TzjQTY#b%&X&yCTM zN}LuQZ6!Knn3YJwAORz0#T_1D(b%Chu!x>~A?nil?v-kN4>tGjlz^qiF z(Se9LCh%xGRj~ zr!RdkNz?YMUcP0$;m!AdzHnCg1n`5wrusK+^oETrS5@Ro+QY0ok|37Neik?B?!Vr6?a{1*rK=BX47HjE zKmGIoZZ6HyvnNkUFL+#oC;GPrUq`uHS! zBzOP_4?d-c3fEzqKoy~l#uGr+Zc|1mWwtlo>kES73(V9 zS`)2NX2N#^SAyvT+pY}}{l33MGdi|HFiqw)!j)q4LKn5R33cQr>GV;f)>aSUdj>Z|Ml zR|kloc_ICCrpE9m)+pe9C$!y0wA~o^>CW!56#{3L=zqhws16aZHIJ6-K$afiAj)tF!I@ z4#v_PX|$10J}L1-H@WvITuM%$+o#=>w%`$bc?G@_$dzPy0Ok_Wq|n@|AB3+TyjTK+ zddB9H`w(0S5n@@(!=y$hQNdm`#yKIMz|TfJ8$F%WSgMuB)8M49j(4*xR?Kr30C-ohw>_ui|aPkdr!<>Ck0h1njZ<0i4$?`_sX zIyZ0O@s@JW?isr>#%W?vOxeh)bHyd|N6!ukoilR&e0u4YGCZYR>uXw@GD7+F!O>gO zN1Buo*>A&aGRJ$`V(c2J(GX#~s(`DoS~HbVvg0l-qo=EgI>2jXr9fd+!^e@}<1PHI z!tvUmFku4F`(xJRNz(OIuf6~NYn$JZ*rZppRxMmO~`7E(pUvp}s1ZhhE<<5{(~{@?J7ST&!j0?X#OJhNnNB)f5E2=f|u zW?$N}*rGg#SfKgroVg29XNQN*N-LSi_)5a$q5avUKOe0cFocFaee2td;mm!+rXk6k_zybFU4TcsBUgz~61g zyO&p}IUK@0gc5=yq2LVq?aBKOb{x5A+PG<9+M?zyTW(u0tz4qNF7Tqdt2G}|*Iz%J zowog>j%|i@>MQ+uZFBR|Y9SvG*=7R}#Pz{S0|BfcjlUcP4{*4LIwWeJ3?6#xSstH* z*y*jEXk5f0OUN5i4!BPO7q=2V152!j$Jjous93!quuUUZ&!&C@2YvXVbSrE7zEh6& zSz6tkY1^}EqdC1OeWk8~o}!`A^zj#L z>aVwsy>K>d(l90v&}L6ZvSpghgAF_$Wsy$iSf-hjv|i&b>>If})+zf%~fPxX21JoINJoaF*`h*rz(Oypz z81jZ32rWh)UK26+)VUZxxh+jRf^X)XQ~E;u`66QLfwemVbQ>upj3x}D4Y#=J4Q}-s z)Sa7jX5&>I5;qYX@GL9#ZRY3b9P83;Kv7YV-1f!fgQp$rbF~h0X36V$^T6+N;CBex zcfuMV(Yk0*#jlVvYS&b4D{d1mS&m-^CT1Wy2N5>b+034VQNp`zadb?dK6`d9ZCS4D zqf6H@XVb4*-`cVCEydkb!(nN_ttEd&w5YrA==OCQma1dItjiC{@T6_c{nYRt()UXE% z`?o{%nvC(K!A;iZtl3eVpP4($xoGNyu`~QICWq3;&zPA%@B4q7%GjKDt7^&u;a)9% z>%ff6+W#PoCi=&Dpd0#E&jVtN)Lz(hNmXj17a|xXdf_HKuW+T>ILs`t+rav(L-g8= z@@>WW6GzPp27IT+=6w1MT&(NQZz|5Jtp!L-%uQzi9_}w`ZN|8b91<8uyVWmEMs1Q@ zgfwx-)S2hHSQL?(VK@BFnKO6qoH=`^cwOm|ii)Mn*0KB>RImK<$*x<&*@u$F@}A0QwizVS(8ktQioRF0_bVb$f^IHzS&SL{BMrRdLsn4W#-B(X9+;^r- zo4Po=d+!llyKJ4gXy@yTwS~E2Svn=n>V9H=ngOs?2ATUP=G!VtMM8yoQ17Wl=*cRT zi^pQEqCCKZ!Q;BYQ)m%xi3sn92)ts>!L1cH+UDZL_APyzH`4p|kII<5X_IDv@;J-X zH8)kO9p&V@Zace_g`_$mtCnF5x4?J1f#e&V9QqWr@nCw%`KD>SWm=kQc~+V8~`P7}=`J6ixATOW-If(=L2 zPvv;7AywTY33Q{c*8kC5<>VOU_&n;Cn=3VaaRqOrSZPb}J%_e0`DoO4+ejVZqfxK? zpL{gjJEQt&_@r3kKANG8w2d!jUWm|!Zl9yP$h;J#jkuVp)E3imhYz#6rl{&_cK5{< z_Tcz&Qz!rfjL6E68e`YiKchlo1LNQMXLwZDsD(3KFeTgtm?i@nfOGik)yM`+UiI_O zt7&WH<|?+Bo-;i*-J>5Utym=UMEi|lvnB}~b@&U3W`h#41OY(PopS`7iwPw>!uanP&RXwQ`K0 z&p{BhT#MPOb3z;XR81V4IpN>C((eBhmlPN+FBa zCJX<8L61DvIHNs2@xz_9amHYKI@+2Sjed6Aib8LZ1}2nY5;w4s!{mc$4$nqcz0J%| zyJhjnF=Iw9-lFx*N*|b#GB7rCl`CqMl zs~M+k^ct=#?t^hlP$o=Jo@y`QUQfWTQ(;HWygtt86D(l&0qj12 z-Abbyb-q3Vb`K-~SkkUACyPqPG=V$F6TGl!fcGHEGi%hKVZ#QE%<|Q4UXq@Xk-lWJ zR=M2l?KNLbt%_*8XWBRG-fhyCCj5N#n>nR2uOF#IIjox}> z{dn6-HpCvR7i>VXAvUGwD;JM#Od;I%-*N?|How zhQ+lX&K@p)z1P5`R>c$aOV9M}(nNH@L&%-(%KHV$#uh#oPAp-&VZjz;xANp?UR9 zk8i*ArPAw%E>hX=i_bl-?Na>~6yFpe(kjFz!mvtT5Ri=rS{0+#K0{-O%(EZiAhYfb zcSxff_9A5GeBBVj{nI=v(#ktz^a~6zvxE<5hx1wj=qn1?l*Aa;M=X#6isb`Q;cRy8 zPrAfJ?XK;1r#9`}FR|%U#*D*S?R>WAZfjCEB(+P9U!7W8`SZa8j~^d6`169E{rdLYoVq*Zoyi6N z9CRdoU+12^Iv*H$eDHfy^WRF@o5tqe;vV8#pU@cPrde-8I7pvCF8Gi+<}p=;f*4?L z%!j;HXSb@pjP@ES+K4Zk0}Gw)T{Xd)I87&wJldeKN!c)Vf|TRtm38_H7E%F8SV#qo zVj&gM&V>QO=ZP3&{s+Skeq8>Cb9GwUccrqDHc?K}LCVQurH1xHiBwjt#5YxpCXbxs zIm!jv6BSQ^!gwxMo>D60oDN^ru;Ekm!>FNBG#C?B1UE33V|uJSmE_u5={@$lcz&ef zCK*8E35aVHn^!tOQicN$;rw|Y`*2RrKKkko4P$DQd^&K7a4}!Bjm8;Un$IGeF45|d zMu{!?BTd4^^f_E#9o=wI2(9{5)=tbEmr~8m`n=Y977$CaA|iQO9k|=a+ZzN05iA+9 zM)n_YyTF(X7OV&$lJ&xU z%!X<<@4R(l_OVZQZPZMiynkWQ(!G;rEJOBU30;INAy2wMS%hUs?U0C=qP(NLtqj1I zoEa%(HSAT;D347*W^q+6ViTM|wK3-4LY!3)Lee^MJp5f4!VtpQ(Z&V%axenxyv#Y9 z94-G_Fv3@7#~MxOK7MlP!j&D{_vkl)$;+qZ&UbK9ZnVnQujn(V9edNSRijqj=jP@X zb{IOUZ%+s9_{D3NDOVCwn+@q3x2|7um!3SQcp_QK-o|0MW{w1I>;o8^aLz6s_5FhpNB z1n8^VHM|VM$cm1zUr%2=I>}v?4aQ%6szH=_JwSN)*q2FaFm3zbb1dw7_lqx;cj?;k z-z{3xseSuaI=gH;sdL{Qo4ceB$XLqm+L9D)Ur%x#v_x5~R4Y5B!6kFLjSu$A>)X0% z7cafnpk}RxyfP-G*U&y3msn4y>Bo4STCBgKan?zO;BX#^d);)L4bk+=eVYLxsUuo z_Qs9bIqTNtbQ>|ETeoz+o?`_5mxh`0uV~*Db_}wZVUb${ZItl^Kro3`tmTDif)%}v zDqMW(Z0kj?S5$Cu^3FD){gqP%$}T#tfHo0n=AClk;XR#8YhJX=0WIgUZLE*xU3@lxS~gm91@~OVJ(cP`!pQ^rM5a9@)8&iwjOGfcxd~s3Xmpi$ zz8N+!P|mm_a2H1q-NZ+G(HTE52aj&@rPVZaJ^Ny!=88r^3IpD=8a}5EVt$rxhUCB9 ziK;;=VjrrkyEi(CFdAC6I2HJ$-7G(%K-5&8GB&%=uQ<;>s(46` zyvDQTwx+U=cIReF{x7bq956V!qe3+I03*J#$Bux;9Pk}1A?3tOQRP(CFN`&2JZJ~^ zup9R%B3O~&###<~^V3h?{D9d}>En;6=6MS5b2%%ZjidL^Uw_{`@k`;PsW7HfNq?lRc7lYPqI zQIk{Jw`(11SAsDf%C^!Z%{v(5574`<>KLmTh!|tDeBT0I;eOVac*W=tC}a;`?%ZH7 za9**RlGXEynOR4;zv)e8ixX;qt5vuf4XRaO3&&8}pVd$t%n* zEzRcgH*YN*fMADh~(54RG)x!4`aUTA9`4h;|DDc;5@bAyX{~dz&(`DkB57|Quk`Dag z-oQg)FbcxV{J}_;GK>9;Z%_Lp9@&=|+|2g8Sdqc$`L9-FNMg~&f33(6>ogD|v#iL_ zYIVZA;-c3a3l?kRVQKM&{qzqOF(AF)r15Dpr!#hD&DNunvs-vOmX@;pOLB+JURzMV zAYDb6*?nXPd~) zqpL0rRAO{+QIo%|gc(AX@B@N-LM6V~0D_G#s`CitOAeB?%+$k0343ilyT=}x{^3C% zDS=+B=ZkV$6`-Ybi87yOUq8$-9iVF^FD>{djr>bWlhYw*TM(loR_H($@p-Dz!BNbb zs4P;hF-6y0M|efVCorqE2Lv7zD>jhghw-IpG*P*g!oMS!qTHmdQk0LB>$Eep-Ppm( zL7FyLsZur#rkM&pU@0Mw^Qi2j`5OL#2>87$@hqDxMRh(`-Mj%Ea1dDM_8EhkhjBQA z!tbK!nMl8_9N_N5b6c)D+>?59u5en{)qL$GPAv!6B-(}>Y|_V?~|o)k%I{el{aBvFQMU=V3LXvYb5&_F9GuF{Swo{f|Uq;nsX zgIJ!31>A5BTLp#qJk5$!xac<99^pJ=8S^C}+QO-aa^d5TFDRHcm91D&hLs5)e}C@6 zw+bu)CC9Y>Ov$3Npn)au1@G4U2tP?bf-ipv(p6(p;y{(DMtJ;zY|eUC;>*~`O}J1n zoow7NToAK}*^1z;C#E^XEZfw`XCi@R3gOE~;rZ<9^5R`NH2PFo&y68L;j@w_Ojd5@ zkM59BD7U@(a98={+x>?r56dg}#)VD{ZaFJsJoPUdeRt64=|?zIN~9a?L>^acj>v2m zd_h;hY?J*H43QJ8>PNLV;x^R_VwC>xsX)d+KhBuOj)X63HFS)#UW&|_*eV=vjBX-k zpmEoE_{3^P2_zcYf{Qfj@~Xcu)y<9un;Z(BMFhRcCyvyTP9cX(Kav=8Zpo_3*Nq=f z7@JdsrO6kzXO>4KRE|7y!Bn}XeE7n|m}XmRANSiFdVTi73G88hsWbg)mRH{RVY3fc z>^Pmeq0|)FSjOk6=3MggxyXXY_LBd!6l_yaK&qyxM!oqigcL=6S*94i4Zx8l$Hd z$DT1LSR4^gzFN(w7wagEK0#s;uC-eRIVLu48R}ghl(ghKV9q0)G@QnKl6|mr6dyb> zql&WwJ2z(h_a{z%`T40qtD6^n@_x0q?IZ2`Oni7^!voVhpug_;%4>Su(yAONq>vIvVQN=o@tPwkb048w^!D^)xsbc4-8r**ugZmDIi?wNnl+!;dX0 zdRA52X)o755@NcA(hT{Mt?U%yQYCLSqrygZ!r-vVi+)LVHnWwT^$|z26WdCVBJ%i` zvJ-LO7U@x)Mht#s(48}}gBo`nK5)>8;@B81?a-)uB%;F6O(L|)+x{KGmsE%dvA1XC z`<*|W$D_pV`mJwu{A5}B=2$AZczE62HE4BnTKmk^_3j?7Z&$(Yos0wmp3iQ{aT5+# zHQT@@Ql*-Eg0oc}0-qrFg&Upq!V-Ha?;VJFIq#h-4hT`q=Kea%ZL&FPOp9Y*P5aBJ zG2M+sw@v+r*anUnc!tR9Apbour&?^5QtDhmKrGzKsxnY*2XRFh(wx7jEd0teuErJr z$pIT}GbQqJ7wXw7&Uz&l&uMZH(@$42( z$C%H6m>1x{$!0B@`kYO?PYw16OsL*=PmEMnzj2H zJvEP}CA%d*ySR89%~-F@pw(OH&x(iKRtcpKOuw71n_&wDY-2D^&iHDEXjFJo)q$zk z7}V^hL82<*n6(}XgZQ|L^&E>!gL)sj<8=%Pz)JSgi6wHnB*aOn`yYSsRX{~W#Zuzf zsbfuhbJ*tQQ=79R9A9DB7{LdQ+)A#W%c)$T5)0_VVmbT`OxF!?>Olfw!YtMTaR|cQ z%&(3uz=)#`xwkwssGGFWEtLEK_VO8;A6I2j@sB=#>RxIGH zpNPVdXO&TC)O&J@HhQ~rLkBpq&5%l}UmGL`E}!EU?dRl_=+@;Gb&(KKq5t5yQrQ}Z zh11iJ3;d!NRt$Bc@5|d-!Tx-sWc`!p&kgbQsJ)8K%k8*_OA8f9PWv< zT5kwD*rKLwA#cc6`_(>X^_cQ)%ZmeA_&GVZaqsd5TX*-2ZCH4cunAJ$W~K=j-au({mqe3tD}F(|kFUrYmw}UGeR4fdD}ls+_2& z3tJ}S>8`?5_pyA|#I1bwf`E37^q!G^1BS}Cd4lVBjc$Iy3xuC&-8V{K)*Wqx;~U|k z4e|9dwGEr#sF>@kOeP!*oXNs$S4d#uU_HTwc!H90yUwFFwz?TfFCaa5Y|K-(ze>@i zrb}hT{?Xo!P6=*ZdY6~4o*&q@k&9Ne)``2IGe!zPXGA+v@S7!T zM@-377OS@?{y*y81U{zg{U4um@61Gm>??vKk_kZ&Ni40cb|KVGBDRp&x5Nw~_FbY{ zYAsq+DaKe@w3aTPZc0k~sqTAGy6Q^i;HQFwMpjAcF*#hXMf&L z&FX?MfcBw3H^@5FqsACjE^sy-T9kj<&+s=L+nKr+hz8q2H{h5Q!@9O7aI4y!>i!%`_<^eB+-n2wu_wVN6C4A7gC(q&D zse!{cr1tJTb!uMi=s%|j_UIH;Qn2nsbn9h3?vW}8I!2wCrIj@eexdFfjTw|90ne+oQuG!Ulv%3&ySqi`UaFUpSaZY6lLtc6 zvUhLT$KWNvAjJ3Ni0?ry6C$cm5fM>k^es@_lUaL)Z_!k+lrTWXz^grJ>6BLo{bRBv zd0)`yp9kSP7MKqzbD?(y5N00YW;!N`yNmjkN(3#XKvh>16s|C$K( z&Dwj!$X+y_H5MzYjqeh^bf~N{u*+(fmRhV(F|l_W%*)sX%N6LD5p+j5olpz`O%@pd zRFC*q0i6w59Xkvg)}hnzp3UN7nl_DzYi3F6I(l^1?%CPh6I-@SOiWA1*JBKsyb!%5 z5@7!z4j7W`w3g}l4r~PJu$5VjNT^~dZQI8-j7kg(uhlWB^Wb5F+Ky~hFDuh6 z{kpGgN#8rp{GGB95yue9H$s0FVR}Qut-{y9koCF{0AfRE7llY6H-VOHBwPg>M|8b^ zK~h4?p4r`6u1tzgwY)Z@U~<>g;K7Acy3=G7(}%AHd(c;x|nDA&dSTtYf9616w^+=jcu&hBlZE*6N$>c zvJ;43tMyd?;s#(t#P@|^^byj-2C=9QvhD2AvPHLUEn4>I7#9^08ygW7_j&6+eOkBb z*|Sxx1`TS}iH|oi_X_j#e451#n(zmYrMrmm6h;ZyTRv@AiQW7>>mc@yTg+$qHx{nF zmueI7UK69VTFiwP6g>Q(h4b@xFB)5QG=Enyog%=do#h|U$8oRE&6oKn)?uJ!tyWR! zn*vw3(lerWhTtsIsZQ4ds$uSO*6qF_ovj6n`rL26Jm1==X|pDoBl`B}RjnO;zXF~4 z%ZfUc`+*U{(4pE6MA<~f3s$aLnak=!=3*3}AR;jZjNV6-64HEosFQzFOWD4>i>u8y zEX-`>zq0CL>{k)VA73#=J3G2K6dzw&%3q?h!%X`uK5VA-LA(cemD>7D#rk*_35ddR zUzM!vWPOlR*b46|wS+0Bt=sX4d`7hek3jXW%(_5Hl@nH?U=T3QDg6TO>p10fNeLfQ zS~_prxWSgNty{N#`w`+Uo;aCm1xggc6LfzOdwd)>g2Nv)s@DajHsdv`p$qEjRk0=_ zr$?RV-fmYu5S80b8nXgCMw5Ag;2}N|iB9l#`Hd3ez+m@6o1>~4#$xFIIAtUI=I(x0 z!FQ@ryx2-`NcefyybdcN@f{Ehh0W%{zA$)5ywXDvV0}fHX{0_U-C3oA5kf?lqefFp zjS11|VShsHOynKe*(;g~riXxdBCo>qFHj&Ddij{l^{_rZvc6e}RJl6d^(O1x>qIaK zupNvnP84^?Db1|Bw1}OW!cNUKe{?sF7KrF&B7RNqti2aM$PizZ->=_Hms!MGNqFc$ z52@-+m*l18#tLXg7;+Pp3ODPm*_>axc!yL4UB}BlF$ovDTR$IuAok(k8Kq3~mmo zcR zsKULEusHtH;yB7~Z)Y-xlsC zLOAhZpVVZrJxMv)b7urRKFW zN^|$6+x*iYzK0DDX7zuf>*uc5RMbzwYmjpbTDSw>N1VjUk{MHCh+bzBoh4yok}&|a zT2JNheduHE$eN-hk0;D#k*FC)P|zTZ6bv?1!|;Vh>4V~YWyb9F#~$6}+Th@`f1S4Y z_t#%7Upo1BZZAwGh|a?ASv~&Q_l5iq{&v&CykV^KTeHyPGKcTtU(G7xr-xCVD%A|1 zfzP5&C5o+BSE+3qlw!Ham3u+c0lnyxH2j08w#`*LQtSg}6Nx;!O1BM&$xssF@j-}* zAsm9RCum7JXw>@?8~D};3=B_-YTvtNlNDKyKXYRD@D+_~axodl&HzzFO+*4P)kmuCF)cBByTrtpkRb@YXzf%n*%DK$EWE* zuAnjz<@j8F+RjfG-9)tt?5A72EqlZ4U;b`B-N;k3hjSW}UyOzH zI$E(n@rNn^!kOSqFe>#-2hk4$Y5@z22{(};MX5N*#eu#RfsnZ^HAKtU!jjswAevf> z5BZjbk}3b%f$9;})U=($t5ezE)UM&_p-b0Uoa2x4DgUhhBTTDiKi2<<#rvbHUx#(w zMwVwiUk*prx=&j9RIfORwalsbPVHju1xnGQ7RcpGM65Ou^nav&C2_kV>x~lifi@I6*t*W=GK4VbCHZ+&*-Z%^3)(!r*%qLVo0re9TIZKnp>A&&Fk-5ZFq3N z+8ru|g-mG`zo^?``@|5o5Bd{$X^x}_U3dX*;S$qf>{IDeKp~R<~BZap)?U96WAn3`+`c*RXnM0P~IY8I+m}SHtmUL_pNK< zSi74EPFFP;-RD-52Lyo+&93#V&cnWzep41{t}&bihPd50861lv>(gYE?@? zNxzN*gz{d8j%@f6djT4{zUA)VB_8Eed9wPJIQv>{b}r67SzeypB!gG;uR`mh`A8M3 z>rY3F#EXcjr`RZJ5*!pq3Yaxa;>P42-#K(;Q#)f9w;wt0m^(Ubf%r@O|B|^};7m30>DZx`>G*u5HC8ubZ`plg{Bi}#v%+;$W*cErAEYw#ob@{v` z=5r+LL0Er{9O%nJNIP%eCS#1D`>aWAjxieX-{c6Ttx4vceuQR}2oXsN6AvWVoWJDY z7nN)3TN6K`{4eO;FgH-0I|!hE01UXzwbNA zs#(wk*VL5{R9Bn3ATsRHp$tTC&_@mV;KGa|<$_h|D&cm(F;F1cwkn znR5yY5s^2qBp|1SD)d7V6&prPw&h#Dp2y!l9N!|LMp#W&J=Sl)m}bRR&KIy=kH&UP z^=(i?t=Y`n<&lZNR;=qz=RsqJs>%e5&)l^v&%IssX9sd}EDVwYbIj$P&4@9ez6cyi zZ&Apd5(hfpaL68tS`3Q?Oh^$wrzd_0}>%MJD+ZGFx zTfKk7{>I0ST`R2+yEYcUg3m83FPeFC3krhH1oOdce<-?R$FOgB=&he?GWA_?b|{WW zG?plHTMc_-sQs7RNl>9QWc4x{z?PKeicure)niT&QIR$04GL+8!P8U2WB8FuIO+bb z%9QE3vmJ%wrcG75wq4k|)4r!BtdEUbKjEn-JGC*lS(flJlU*_c=k_h=VzuDEAE@yxLoR}M!FBAwRaYx{t!u!gb46&+ z!o1aWtkOWcs6&}n$rTnP^s>~TbnFR?5p0Xb&y=V~_doN=`dM?={P60T8}=s-Z(L;U z(XC_eK|g>kY<-b_XxMe#HF||Ak*-?YQ#1;_i5btH(;8Qx&#m>B<$$5C=o$p?cJE z8oq@Gw3!HtO)4H@OXP*u(EypIbD2>+Z%hEm6P$TXN75qaJ}OA5@;CQy?tN%;pVz;2 zb<3z4{`qtH;H)g{!Tq4Cx}d9YXiY=3ksFA~8x=(ft6or`(iPz+#5)j{NT@AR8>-h# zAgY2ssK>NR66%EHs*;e>pb*7iPBtw*lO7T7p}h3;@H9)^n&#treY zcJpV?DoOF~xP+u(S=Ql`9h0)G!-lJ6qpmLggG{is^!ZcUwqEW)~?=K+ICe( z2j5QErtVwOw(HkU{c2W*pMJ!3xIwhLHG!RqdCW#U^bOSi#K^8RhEpR9EV6ZVhMp_3 zt|%0bL>XkHc!c5W#|yuY-UyB{Qw1UD@ZQMzRHLg^L#C^*{uw=={m26}1pR&YLeMYG zf6N1+5Bh`lV!etzA#2Q2Q7$-}+!e3h;?-z`om-9A7Rt9ss_4&975^L@rg}RK>Cvdu z7Ki{62^on-s-nQF0~InPgvnM0=Gv^unah{Y@ZtP^zv{a$#n)e5SiPp=WKGtrEm;kW z?wvQEKl2T?>7P84Z^&bbY>o1WyOn#v$(2hG^HofUlUP5&yn+#jd00DFLcx*qGI&P~ zq$k;f%M>6iUlS04{=I;WGPC3ATs^8?yHi^)YNP_FH#+g*qkM zIK*KMK#y=Jc~GHQEv3|s`Cqw$`MakB4b6w^Wnf^^LlpFex@D-Tk6efKu!l7)vM zSCN8g{wL-eA-Ra5Y}~8y&@M{0?ljsYE{m43U`f_jA&^EYjglCVI~yK`!3w@DPthm5 zRnL-v|F~dZwJvi*4+q~S4$$?8s4KVlD7NF|_NWMVTXA}r>2bcp9D{NCQC)&pO_RG~ z2(HL@ig=r>qtHhl5Zr`g0FhHDGa}PftYggMb}S!XIn94SRLXly1`L&krGoy z2B?;dikg0a3K_F5(@VOdIm`$zr-A3W1cwZCY3exq1nMmIvePa}F{@P&tJzVLbt2@w**mvRZ&C*D3oB(fRN8|=HME0%BezxesgaWn0=Upnvy&;|A_eRSXUt!vfVk1SpC#NI_#=Z9Bbm~=SF z=34sFNAF&+u0FB1bn`mlzt|04p<(^QzW&o06dYe}<~_FzW;ZcCS9PmLc}0Cg5IPS) z*N#vR+U-_%0e(@G(|nrU?TqZ*u8i!@Cb%!o5O>xK z5OZxi5B2lebUMDiV_dbGGzK9g`tgT7LIUIH0RIi)Q-mS9EAD2{6%9c_IgbAX7wPww zR`$Re-ae(!5!$kv)i*i#fnIS9dH0pd=B4VkyWNXRe9U81b@Yflb1DcSmhT^2W-wY25!Y*c)D1b%X`^HD7okWcER-sA zDHJIHPLx-}-$f6EYww2JBd+pqSoqZld+Fg3W**Tb)k(~>cwZoyT zwcGtBl`r(L^HX3=Idnhd#j0Q7ejz3g-kpJ-3{GW9T&@5nlIa5s^%Phs(2<73Ck#dr zR#U&S4|+7~6^ONm20Y%MNJ)7(y3XbA*hW6#)b={j$}x;#7kJ?gF=tQ5DZ>~HgeBZ< z@?c3>qYwB{PLar~0H2of42?xE*x752yC_f+>q|gcUdFxFhE*w|K`1=P4VY@ zQx*~mOJG*iAoB5!Lz5kHEDpcPcX58a!+DmsW;rw@$gt`-}t9&) zqS_)VS#Jjb3WngyNJZA$NHJ0LUg&bR1mRE)BX5Bef9T2ugG~hatznxL^AE4Qe)sO{ zuYHFGL;D_m^aS^3Kb?5=(S7Q5%ezeBJNV7-fv2(SkB=XAqw*53vG{YxNWLqk zW3ahbLB5AoX1fcWSe{KoX^=R=7`zOUxITf0vvm!!SxIzFr6KT48bbCL@h9t zO6m%@uO~ynm@RHu^&7Iq-*7nI_=}D;tKCQ%a`)Numwju7fnK(NbZWw?^Prm4^qq@kwSkVFr3L1%wJAni70d3bC2-7- zL{|orky~dhRQBW&ix4>4gu_!y@n9c>SmCvefDhe+CIqdDl|Oy)z2hgYesHp2T()A~ z@Q~wRusQj$?n@qeXekhI)t~r}@5Fq;KV$X2*v4A3;sz1DyIWVyhzNb>xTV{mypMLo z9KLz;aLmpRiMNnUngoB&pZotwpQc=Wed4OF|DVoYc2$e`&-(w7|B$rAhgiS;X9o5j zI`Pn?7Sa|L)TnvmLYFGq-tYUH|!YLQAtB-V8rM!T3?b^2g_l$jQd}M*W`h z9L8?UEtKQ-s)F~!0%_HtsU_Jn1)T>}4^SG6^PA$HKCwE>^6l52eaK(Q8~x*N zY(;rfJ`4`T7ua5<=N10NFcn$^@wGaT2Ncf>lNDLwn9ETLX(=y+JtHr?EAsE#GskiQ zrv{P(;lH$K?wf9(!LMv$dHlKcEMSIxCJR`P){gm`*iXa)xxbRCSayO%BPWbPN*Obi z;LLTy{&{g$#SxRcBv_xkxaXF+%+);h3?&|7_&R$=xd^Ot-VXK*5_|rkKFG=sB8Tdr zuxIGLRQy^4C|N>07^wTN?<*zcpX*(SmxScv!Q3Og|XvbV^MAD5oqA}uIL zg}Z0_f~_{C{xC#Gut1miT7I5?F@?R)LKu}zU>x9y<}qR%L$!4hyCBD5AV#r*QZ!W# z3Zhqr)m^4)WKO$$v|8cn{@R|!li@F{P_4RDnPX+WH)88v9KfHm+P5E4*I;z*mGZOd zKrnoaMo%}M{WFBv1b32yluWyFn=wdFpT{D!UWq(bzgjbD?DzvU(gY6A^kdFy=g{?0 zznb1mS)tsk-5k7?-OgThu-$+@R!L)BDyK5 zz#C3O&V(+w1P9QOMmhzcd6_dV(AkQ7f!;briHU3VRP? zgXQD7r$N>UHCS$mqcGJpkv~!Hq+DW>`Zvn zb04r!erw+{78R}pYv<1Vp_sScW|p@#(1@TO`HIxO^*r&OHnWw@a^|F8s z$GunZvlfjfdLo{NHUH~-|JOFNNgK<|>XYxDs2q;ABUl5nN8+(3xAC~D&0KZf|BKB` zsZnqzLPa7}A)zM5v$el&JA8N>U(avi;e@>Wd~hNA*-cx{tC#s~UT@|2F(l#y|1QS( z{%kMH5gOw3QhgV^@;|kgz2k(v>=`FH7MZVSsCF?raey{bH>KZ*^&}m< zr)RwPqH;OFf7f2V*O;n|r^;Ap98B~tYlS?fdNNLEPzhw5iDazap>ND>bk&I<0q3lf z>{9E{BYpM*dSy{K6k-_$jpjP`0O&}w8I_Z%=wilB3|}@$HD6faD!b&`aL%kuUO1{~ zxrHxdb9|PoUoJ1SZhV8kd85%Se(Cblmc^UCIg)?ib8RhQD@S4uWGj2HI)(ZocV3hn z$O~^|i4K7Eyhc>j!GhYocDgPU|`J>OEH9+RO@Q4_(?b@;MAPG=eepEBSn- z4n!z}TEQq8d0GPvnIOgP{$#iR^rucH>>7^(!GuNsRYMbn@D9~_pdGTEJ)JBJ9KxVA z$x2{XFcb06;N)ZNgENCMt$^Tq^rtwu6o2$OfXhb}XfM#Sbn#zJv5HgULNv=-g;0WZ z9SeX1d&S3#zs?$ac*|SaS#*ik?vzFhC|X(cE4sp0e4i3Omyirc`(=mPnh z1av@g_!24YTFPF-P6?$;irZKM?<0LCDK?R4EeXIYNmG+xrer2jhw3EkSt%ar$<(D- zL=H=pG(m*nbuJxflgni7`6e*IPSgJLTr z!bXSgOzRD`VT1iw6dpcL4We$if2QL9T#MhrnL}l-DD&mKkD+-o(^&W!I)ip&q>s;# z1tzsi!>sBc=qpZ}ei|;dE}cAAXdUsQ@qqq)XF4rV&#vFAI~|+Lm)^5OUETZ`(W5RA zb}8V}{uG;+$4$;a?6qVkh*bQ~v3W1U)2sSkxuLfF#UnP3EhWu=_=C#*zf8!>n}DO$ z_gLveCxj93BL6I(ea3>=$L{OA^Wu@i=L>!Ufnr&XIZ<3bSEEvc(qS+SI_D~ZIjsheuQlLYMKk~eJr^2jIl;munj4K_*M3lAcpf(k>mG}UO zhjIoCm6=*kwAzvziVC26o-wJeh|x>d=&Btod^&(D&Z#|>;EFSA(;2HxXAF-F)Tmel zufUXq1{VP^8GoY@m)hBB-J99=+lUeMp9VQiCi*Pj1M0D8aU2)Wa_O z^sF)SiV8>N%tjFN##4IL$*oeK6SB07l5Q(h*HBf>d4 zK}Y$ve>$D=Y=Uel?&Uq5N*KSb9nOb$?Xpuc*)J3G@`=r?erfw-=mV6;3i&GcDPE&w z()fq9Jvd%*%hClgiiW0Qjk`32aBCh;M+y*3trE0) zutdbvXMsRj(M``)yM74Cj|N0&ntMMy!Y59vw$f#7rFinXv_JrB`r@~*zWBbPPPJ@Y zzi}Ts%R7qnt*KgS7e$89B-q00efYlh;GWOlnVt6xC2)CiyPk1V4JgrH3FvPRs^TY29zjQutl&cOdrSq|HbqLno=cvzc*>kQ<{aud*RMv*0Z{v ztwJiU@yg4yV9LY7E4#Ob=QVobvh3>Gi2DoH0UN3jd`v3Vfw09rF$EzW@=6T{Dphaqj^F}gZB*}y?}dgAGYsVUBsT9%#Ibg-(aiHTiI2f zNIxQ4+*R2`=L-3?CUqhP>W4}U{n+GY{4Zk*xcAu5v`U#XXLj+-d2D7rE11jgXAS32 zzw^QTDf$sg}G72ga~=@*=&(?y5iBjFGikvTSpuj#mim4+fK{XQT_x7Kl)ve4unV-*N>_El zoxXCx*?ZiEPVpPXl4DL!gC0J{nunk|dbVy(hBcQLe?2G3^27uy=j8i$b8hJBHlt%0^)KH8yVCs9cFNI={3O|7#u*kDR=M@JOe9u0yA$%WL_j0jQL`y5NSJkjr z(U3BFEFQT%!V)K4zP6}ABrsPLbXpxA5xBIguJ%6IBZle#WKw}GV;d-* zM2UVjiu2JmnosyDG3KZF=5D86aLipXzna~$ctw%ph0_^)3;UGSb-#%4WcHaWdyYuLJ9NlD0oyfN-)N4KmR{W|bZVv&aQT1YVC2 zg?U0jiYjwO*AOpb#yX1xn?jW}aUx9SofchVS|GxZ80GrGIUzpH&$SZjVH+hNEf*Muv_|!pNKM)k0A|Q#M%)k(}iY; z3Smy+cvam_)Xs_ROxF$@-qJ+5T!(K_&*^t|-NHggn?93z-LX&W*3qzIw}|AvkDlaN1C`R|~B zU-fjsCW0Q$W5PTf>PQqE3z1c6Lm4Q@0_!jW^=$DzBY@bFN|HHRt4}hBCz10{ToukB zeNrK^{&hZYSK~P03~HRLZ&l<9Xq-f(fseLO341u^YVDtgqD0c!BG8#i=v1loQj=5L zrvja-De+p({RhX8P`n7Q4l1!0#wV~qaTc`q#HEI$ODLb0q$_-Yd*6oO|tP zO854IS|<0Mzj$u)lI`0!PkT$lx>D<|Upi-V-W$iJ9Bh&rt9x$;gHBATNZGN8*?Hi_{gQ zrRd5daQ3LRDZF4X3IJ{=;DP=bX^s3LVcM{0=G(GMEq;13AG?@Yv$9m@`XV-|=hVBS zAyV*9>!&)++#9}FPrjoVhdd^RvLUa#fdy-+qXrj3FQl;YiNzhl(k9+*U<67 z%hFLoibQQBr30!$r)4;isfq>CNh|bb!q@_RtfF(GEg>i?T0FU{I@kz zA{NZ`D_*0K>zYN?3+6^nSqrv)b#kBZ8FTzbO}@%=KbSna`rKLJnUg=j+y+$?fp$-e zx%JlOX7GD^b#^}?aezt&Aq-nrheP13C-8xEP34@4m>zJyfWHAxwRdL7MZ%1kZc3@T zsVcGdl3|l30l97U(8-gAt>y>2r)SxRr1$8NKE$4t-hIi;;AzX>*>QQr^pNS(L#HiA zpYG*T5qp1pQvZ;Gg0Oy*(XD&ZgQ2quLIzCQ0XkBJpJk9w8Y<2@pcCssZFYiuBpDl2 zc}dgGFakSt`S}Zqf@IRADp4}LPR(+~hKcNV8>Da`gbsbQxrD`cw)8$~P7zyYOG76= zC%W`?sFc>O&Mn3LIww0j5^AJITz~XPi8X6F`Fb34bBE8EF?@L4iPsvZwjGj})!|w;pP$xZ zp=GyX{rY|P`46s*9X)#NwGWi`?|*GoMjYScKEL{zpu*4zQx{1SRBXluS-x90Nv8kZRh3g?+zY}8TdyQYBD{&Kzly81T@uI{led}8;qAUw-{AbL4qs!zQ(G)B-=|pLy}-YF^W7nX2M>AoO%{CN zU8|C_=TZLMrrldhe*U>+>+Ve~_|ZLV+TgAI+6UJikL4brEjP}u@FiMrBgY{TRVqa& zRRcI67?iF@V;NOSKs3mnxJ=t*CTCvIEKz#=o1Y?7x>Q(z>&M{~0rW z_*ec&^m`+JB!ma80qhZ~){`qBiSBP!pr!;h&15;unoX0(DxlT~<`u1i$y&J%|II2$ zRQSJi#ImW%Qib1|s*JmrL(?+i!3P&D;vfF4TNAz7_seMP`Y2hxXQ6EL-488?U*sQr_2YF;2$~G}GV2A-g>h_hYyPdV>5`2-V}oEpT-4Y# zGev1+f9z=4(e>wmaj|IRqUB4Mbj8@R!&syD3BlsZ)0TysfpBs9ju_WWFszp??ch5B z?xnv*HPRl(T_SvJaM7S;uJ}n&am~K}A?3$Sb58xx?6&KN7C-K`zw}ef@0s)Ik^8xe zl^n=9z*Zg@b%2fM!w%%^r+c^?o6l7AwEPO%1S+ixms=$t!Y#sV=`psHF!$D}j2&T< zEp3X}8N589}81N# zxOOccE?HwoA{E}tBkNS$`X$8Hnt5vS6zQ5{q)%REZ zJ~x_SXZ6j@Qk8)TNsVl5y<*Ppn>j*N2PQUZl+YPhnf*7zZCl!sxbm=aL8VN(m8#O}C z_kR{Lg8K0UEq~e@FcNj*qJ}IG9@P<=gb)_0ln^rC!xf~8-lRc> z=zy!Hc-G~w{R!9pL}+iVYMwGUoP^5-%076eH7-7;h3Gs^&d3;6%gzp;y_|10&+0K} z@EmliO7GuhRF5$o)~w;LDZ|}+EY5Gvy-;8_Z|b@$IlunGE{lgPUi}PsiiY!)2Rl0g zk)O5N9E6ipN)kibgV-UN`5`yOWfhpGE+6er4ed{m_9sI76Dj^si+H`7197RZdQH&Y zYZHIKRmiXrbM;_Fq4F!gUe zw%4#0?94mGs(DTqM~jT^?$0dmZ|FBf*N!QvwDY1IxEz_N^DguW!ij6Ft%ivA$Q_lE z%xSFxW6R>S&gaNsEK~?6IoEFK#t6z5)#LQNE3nw7Ee}CvdA?VCm0V@7yoLi-m(GMm zAWtKb5R}urtAm|#XsNi21P#^0Usv}+M+>LO5V!!TCkWp%WjHq>!YsnML4uUt z0glt7bCQVLQ$OQSMZjMm6iIQ27=nV{`z2FeIcjA~mnhF4-YbBi-M{kB_?KVuH!RBV z-_BkC%H2XZA1H6~Cl$F<@I63}0*XA1(?DcWeI^1ij5AmO=%RRDr&f7J1$UbwAP>_# zqf(yXJ*S-eX3LKHvnQ~9tEY&968^+DpD*FR#E* zSU(ZVfx?denEEw;jFmphpYAqhlHEROOa@DW6TGv#hH`{|$?CW>ag|TywW7%?#*R80 z^$E-(6y06LpbQyi2Cul6sA#?AL|jaCkaUG;S!W^1uH+CZ7zmjff@CutzAR}%sFU}H zJ|YGV+ru+(FwK+@bw2-ub=}6@X=8F7j@&V+UnA6nni2Nx&6`>Wtsj11pMXp;=I-$2 zkH>oZ%V?V6Oo@@n#W##u=FPgQDWdUdHLN$K$Y&x&-jz&`it$K)VCY=x=HRNq$mb1; zp`pWRjTNWje&xGuc0NU^zKOlLhSyLcHwZ|K?s@Jpz{p5-*T$IBK_kG_#5#*H z%kwJ6EHCao<{AnW3%h)4h?-$vtg|nzv+q=2th0{Ds|@+iW1UxQ=SSEphGGrC^obT_ zRILF%fY{L(tZz+Jr;4$P5y>SLG$AkU9lbVH7oiRhTFJ4)rn3Z8LKr2-E}=6pN)rHD zGQ(9tpd|tH2&f^`{{(8Hy>|wQVBH>2yh(Q~#OXyepY{VkC}vekl+*6#sKK0FwI~Pj z?mSC<#+|tO%C1Mhgy0uE!UVknibMvf=^UnbjJj4T)BnQ} zo7k)Db$(b>U?_vwm-*$%S``M-`eXciYcU2NNjR1sUT5$dc%wCRDkbA{nKVBDB6JXn zdeCaDUSOp|i&`M*Qbw?t_h8SowC3m{J%cXNz}3|Us&MEe58S%o(Uyf+=Lo9$^q}Aw zGP7mqR1la9db>ff$&zNKCmWr3)rWoLjZlC+8FZ zPW0mi*U)taqRLyH$IKO_Hl>qn6MrZi-lz=t)Bt02rjbh)+6lQKOk~*CQ(|G!lYtNH zPyr4}8Vg~d11FCG`40dpsUF}m^MN6cb#1ex+co~pr6;UP!I~>a5;Gdu7oFI!;pC(- z%_iUH{^zVI)?v9b#*Cg;D=w~n3|qsRzQIiFK`R@>uf6#uFy~zU{v%kNtKu8hl)rt8 z|8j_bH9RC(>A#1&y8}04C#&)N_qR`yo|lJs%A3&h8UgKRo^I{rNfK)(FXVDnGCm5S z>6QrVDE7U|I_lRZxy+fI>}&?FPvDXCN(!!AFtI$E_mzAgv|=8xHwwd0C@n>WcI#tH z5Cykbx-|98ZVS_sC$u^G>0@)O-A8O%Tqmto*61~}X0GkhuEBuhZ9Uss+jZ&J%bL=< zMxEOA>$5JuWxUD!eAuYBw)J^~-|?%FabxX-^FQ;uFXzqwXGVZOdw$|0F9Blg*h5q1 zo=;0Zh4b5(?-H^qK%(dvG<@hr+HfxkJD76!Zkff-NSM))!jp~09Cp-B%SD2Y$V0I zLPZjH5%kkYz1V`+63Qv!G+N=(Uk)}!ZDw!PIy5AAW8XoJ)a0Dpu+Y|`kg29w-S9NN8Y&Q^5=nfWZ;||Ih71Y|@k*R^lwCxm3vVdu>=0}fJOIg! zI44wPr-Z4EzvX`vFCE*vx3%KzJ2%VkJa=x)#x@O_Kgli1n#XrPdN=|NBLg=Dxi*Y1 zs;&gH8f-Y<&#z9{_zAz+A#HeCZ?#{;Pgyws=zTH2igNJ4$G`)lkyGNy5*Fu1QiOMY zu_h6LicQvwF(;h(v2uQY9ljz42iE49pQmU+BJN>!Dz<}y%1V#JALoo3+oYNAha2}( z=f?#@Md!!)(;rgV?fGHM=fbpztwkB*!q45g{pReU+b*HiWBXp}9~U2Oy6lLcnJxUH z`WH}<|r%Ebi64z4pl zLQQ@LZ%_t>e)#%A?rtzL=Ge@q_cGb-m&W%v`r6hP>*>*>1wqL5GYA5~e5EHus&qhI z@{~`wau5ePc9@+-OJ)~hLeQhxCyexHMtU@!0GJTz(ex;jUN2^)^j^H4t-W^!<>ctL z0Wp*++0TM)8;W6sN=+KIeWfF+aipg=?hIhrxd$o-bgglfUo{Pz^uAtd2ch?Q^lLF^ zxglcC^5XC2EP`aNA252CiKgRZ=P;dP_0i20`t^T16KL9Y>fRYy!!H%xJE0yTVG5b}HSd{#oN+;}NrZ0P&h|WL?|~KS<^jxcszUgXA(X5EEq-=ubAhBRYQ-NDaP_ zut1Yg_B19Xx-NvY2&N{3!AgriSR}u7;V1s9I_8Zx^LE@9*W&Pr$IqMH;pZ$b^Nsxd zC;3&r6j`Z>1w(&kEjp$SPs_Yh!rJ`M@-u!@o5TO#`z7Xr$4b{=Y*Cq!NEVk) zO>vo(djOldEI{;w-e3XnsX)rqcYLHgJ%M%(rHc9yP#T&S@JB;3Nmc&geoiS!>+ zRJ;Da81i%Of6$OOKBFJ-%TKADe-qJ}uXyRqI0 zrl)NtQv!SYXlIiT+iH50ri0fTqc`t2I3Nk8>rKV$CzdmMeKlT=Fu8KzlyC*muLbnW zA{2zlO}+`0r(SVlOtsxX~T33 zAC<4NT9Gqr*HzThE8fM1GvQe*uSDh(~fHbtk4N<;%|I83N? zH1J6e5BC9Xu2uG>1|$=yTUsUtSz)72>>jwVi9_k%)3H>oU8|sWU8cVM_=x#+8<&oG z{23)XZu)@YqPg=27sLU7H-wr%Wpq=r?{+L+&b}?nc|D&w&SU{``zvMm=wYMKCyKS` zJG#PjDeT3sas~#*0Wya{*Sv0i2YcF>GSLCaOx_TojLA)Hh&0ZIv<|3X)0 zm|0ZTG&E#SxndiV0tcEytbpKw1w#O*@FuN>c^3ms1AMGvF_e+BC+%3Ye)Z}N{9V@Y zA6KU5jUCMTJ}|Y|T&GrHbRDK%+B9#4g%vH`ng8&{#p@=#d}`jajT#(U)Mv~b#?Ov? zBX7BD*j@gPy8Qs=*9^W2>a8p0S6`c-n39yHLf4`B)i>m|xzu{XLjgyR&RB8W= zh-n&Id}%4Cp4n8AEw)x0Yq^Q*~ zi)P_9Mh(5nPRz=mF!K-g`)*giz5{#puSV0bM2=1wIV?}j%N;XzQr^xDLyKc;FB~=6 zSIDgn71yn?I8QM$5^2y~r7kUwnYUm7(Nx{ZLT3RDF)i>&n2wF0211vYNNgN@TjPPV`*%(;>5nBRb02!!M=FsV{rA>1#_q?nWWe6i);>^QbAUY-jiC_ zkeuU+s7pR?%tv3R922DR1)Ldp@a20K@(WrY||4 zVY9q!;+~u3svSXK@2J#qRd`B)XSi}u4}9!!?Xy%MT#RRrU8?;_ZP*@%=^a!te5|;3 zDZQ9Xg~RwYLwm;z{c)s?_VP%>MvKaaAoVxazvrAKs>T|%O?Gc{IFzx5Ena+FZZYfR z&V?N^KtXjC)?+dD*M|L#mflE1Jk;RZGSqMgT?{)9WC*HQ`S+0_0I{rNKCX~jp2(1h zLI_jpUR(b%Pe;wzYj)c9>DcyK1$F8&Gq!z|h27u)LgL}<8_$jpJ3E#Yx;#5hb1Z-^ z{0{7q7>So-$j^{k3#lZ=5^eqYbJZ4jh2&Mh@eDM9VQ5*`3f#)Uo`VP(hOR_P&$oCv zGru)-4Z`A%E<2uoZs)=hm4$~E)(Td?2xHl-CQ7Jluo1R|Q897+gZKFFAM*Fv@tqGI z9lNc#&%4)X%%s03!bcJ#ad-`ZS{aekpEH-WrijuSgZtE2Qz#qS*q~o{lFQ`iVK1@U zV+Sd|z6I55s86jt`ObwS88hPRCFHhVxTK^%n>p@2M|!tusXLxvt-oyaIcrnD-soD< z+L%^AZ{JieknKIZK!udfw!f0!d8wXxdgeY`TDOW%^nHt0mgpc+f zl+Rv5H@wq48)WZTLK*=nfP%NdnwU@?f+0vAbK@ALaQQzO zqtIXkr(zENs`3Lrk1>v)W(JQUt>x@P;J@U`buY&lPw#oql|AdR%#Uwsd}%3c=DMI! zZ|_BM+9WHIZe_g(+11cW$m7n2$$AVem#=>#JnIT=M2d<_Lnn6{am}&3n%WQP2SiPC zTxrh;^bO`yvUgMdj1QwAP5cyjNc=>{&sdH~%e&()OnSOlPlY1ZA zw^=!|Zgc706RWKk-u>vMr7m0JLz7;(@}bkZc+V3{mOcWwa@apRm8Z?IYN)9zTk)Bx ze@X{>?kPNXS9|V^Y1}yRTm!yW1^zHFv^$!jD*ORT-7(4p&wB@7lM<-ZSDGPjj4UJC z(|+b;lNWd90zybWZ7DqEC{lEwmckwOMnl2j;^*!F&?fcuda+zdy(QkiSXq6laRY=L6q2 zp7y-|OYwdf&3J#F39LiDUw$(JAKH2;rhXNvtc(R?+s&9;0i#QTS>|5q)5G^8*4U&nKCsn4Sk{hCh zPJc}bbha*|YQ_#_&IW-;y6Iku4m{GQ@`E4(u?8Z|jO+?p2@%>&NY!4Et7B}aXVEh7 z$=(8YGrksLV-d=^B@;W2jjlVc3H zjcTSSN{ApX6{n_#qIvC7!pUJM2S!$zN1vEtonJE8A$Ltr=`0ZiL9aINz?W3I_ zkw^%M9BnHM7ZuHM zH?!{w^D;WQUr=Ld48+sc2pN1-TM6U2*N%8mqY_^)J~_U9ygA!76;HS_@J!RV=TyOH9TazegYs08p`pY#P!G5yjUJ=n>l3umVA#JgpGN(+M#(C=LN_EnBh$V%aG{NYv3xe)Ij$J$GO8$fnVOk-cpr zC(o}wBL6G^YNF2M5A|Q*?zfA2HSMzW;kR<#o$`lRtywh!)@@VHJT=koM*lO%xJOy2 zd(7F@YtL!)+Y9=7bI?u_kcFF|=v<~8`4#RUdT2@LuA<%GN^ktT-xpqu8cSc_<^Mr-tES!i;$Np{|+ z$rllNkn55N3Zb6jXu*|8x~!Q(4B~_%#2D&%3LD~p@k$zBUQDJ8NYC0?wC2MI_QCR?R)g-c;5rp zmP{0qV@b9qIJ))XS;S?{e%7322j};me|W_R>-~e~59&RrXh<9Pu=$6C+&Eb56%OB4 z@?+q8D=%TqYX3#d-R&?glw#yq*dXdF1$y0FnwYsdbpt!pwn@lNwPEnw{} zRt6;Q`HU}CqF`e_;l9SM@Fwg^SK@ce&@=EY*yPmX$J6Ig$V|!Nys?u|IfwUNsNl*Y^ce=L zjy|IjN{Ht(GHl@e%v+Yjc<;rEpOq5vnT?*$46OW&jAe<>jKX~eh|iRnYI;7Sdd7CO z@-vcyz^qYB1HgCfmTTCPSn}?8>LUf!5MS}HCQ@^dAs!?^#wi4@b9R${uj@boVo67i zg#eqz76=B3{6Sj?WCk)xNUsbHXWOlx{Ce%s;ZNT+x>FZ$mO599{B`%#-@q@kuO3uon(cPL=@Tu z5k0IhNJOX?ie9u?C^-y2>UR$JR=YarM{D{YuUU6tQSg23`E8Z@B-TJBIN1^Oecp2e zs?&Xw%c7FM4RI{-$ETV~Y!{273vyr;AT(l986zJIQ;zdsHL`pp`-S_dXqd!?hh zc7Bdht|}w*-67f-9#)=KyTX=NWi6n7^yJM^ySjTTN0p~N@!fXNwYFl+ex?>CB*lv{ zOD(T*LCEyLYQR?1If;m!r=&x<1T0f(3fmh2)4FpJA28z5l8;%;#EIrobSf!^IfPr7 zCcxfVjWZhs-jgbG^+gJfJhg(|$P0Od#Sp~dCMvS}Ql6D7MEubc3~|{8l`{qOfipVL z*@C!EC^fzjW{cP3rq#^|J0&ve4(=GJTVD{f{`3Zl4zXDA z1OkpXXxXqSo9RB-DA1XLT?xS!q=iQqnq?;>_<*^pfB8zTZCrY*R{eSar6M=6TH?60 zv{qe5G-;idYYVXDrnhc6uy>2}mg5qA=#|tSLtC`Q+tk6G`>?3yO{4mBwRhBS>llkSz{O87> zPG(Ifv&hDf2_+^)eL(#kc#(C1oxHMxsr44{_7xRw_aMajWfr>38F95oXA8lvmx#~( zhR@YUEpO%L?r5JQ>k~9p`8kC?hdoch!A!;3w?OJQ)Tq!9g{eG*B6$~-AaZ1>Vgz_{ zfL>FncQad@18#eG1V5-O{}%Ww*KY#&1d$D!yP@)~QnzbY_vh}R12kr^mS6!y!tv>Ix)~` z&OH3^?uS~v&YpqJUS+PvyBpRZ1L`OU{SE(&z6EORanbgnCNE(>%%ROVbA=zOHiSrX{n zAjE*q?g$IJMgsVFM~BEVyXp!bO}cM6F*VW^8GFzp~@>cFWI4>u#)hlXi3tc^Uh z^t$+Ay2l~p0>GC;*VT+Y`YV5kn3SUv1`L`oVZgwNt+o!xY7k>4+}C!R`5OlYd8 zJ!gr3f3%t|{;4mqh6%R%{7U)!JMJ~*?zITn-zg9KgJhn?G|>Hybw#z&&<5&4OH2Um zBjc*331nM448Q7`@k@zSlTcx&S`Y})7BAKsLA4HKA;GZ%q`io^uoRW}Ed5MYYnOjj zeqGHDi*4Iyjbp|tRo%gw$2V@?s6oeOPd@o%J5^Ow)%sw0^YZ5Er5{u8uVq`@XThV3 z7FknTwoh%*yH2a2Lx%5nXPB$6HIocz4PLX*ycYV9KFbSbm1>P69sm}G4bF-R-=?3Vp(hX4Ss7K+&c$LmBRq_KJRw1n>iPh3RF&p9( ze0vUTg2k|G+9D_En1) zuUxZe(MqKy5Y*m6rfn4K$|6|`zsRqJef-_`AMy1c{`BKVM2oEAH2+>1sy<)}1Rc73 zL4%~?=+h&NnXt{8t5qt?x;(2dD0{YQDH+}4S@>x}ftW-16a+R&QdkfTX?8lz0bgYyN&pYk_?<4QZIDNd&Rr5XqG*J|dI#pv_=^DrKiKsGS*7bq513Orz7H70! z&lm=4d2y0C)|MFGKBMD(?XBq{y3tmyy&dBXAv$jiZ@V2C zDAX$^#BP<{_KCCM|MV2#8MJJi6H_~}b&r&UarJ9Abg0D}HqKW+n`Cu$${NzHp?}Bm zgHs#wMC*YA)^9ah#n{yhs|)KDN!%QGm=r7Y4mwgkLba&?=f+X`+YQFn+Voo+pvu9m zVD~le*4jK~dZ(7GgB+M;^bB)!LSlnneLJ`B=#y&qj7+K6F4lAmqE0nT&4uRyT4&`F zdI`!^-AvvAGRteov0@BzNi4{lQ#Q!E@vla1TWtPD+$8I|IIE*D|6$fKIM?Dn)dbva zCEBG_JVB#NpgH^;Z3=_x3pTiNe{I(Ezb?|--g^o)?b z>Vjg1EccdvbovxS$g7gkj3?y&^A%S#2iUp)9U8Oe>R5S#vYX$6Ov0+&kyBjsSMO@v5 z-246J%)IlyH?X_Ue*b-*|MS5!dCNWTIcLtCIWu$S%#7S!8y!2^$o##)wKJEpJ4@KA zrM0ze`LjOOBk-PQ!^L8@jmvgX$h~~Uc<>P8j^HK_oXv&Z_PPh%Rn23`hlcZiU8B*e z@cI<-2CuWr%`C?%PH->kmCy%3UG2nLZe;x*dT!E)oAOWWuC4Vi$e&rS_B6K8UUb^C zVdu^%Yg;$oF?;tR-a0U(XkK=in3?a-n*q5O1ph4NdUj(@L9chDVWrKt-6e9*9=JyT za`wP^)UyY+8rbfcurRfwiQOL;IYPXB^r25adFbIcgjl$0aryS`<%?Ibg}x`xuzK(R z{2r_K(i6UQcfWJ+!r^z;-;FYs@-2dVBVe_3zvGJ1m9Bc1zfA_ohqTI4hH48`B|h1e z-^fNj_}zC8e)wV8p+jY!4S}EEdH0>b1y83-Y3KI8xAz?Brlj8)^ds#VUDBhvG751A z)>At=U`}z z$4-FmZ8D9=-kwm?o-j44>y6RYRbq9=(;I(R{inxHzQFkc->pk;J8*Dy&TTDf*sNUx z3s}SlQkS0E>-8*N{@#8l6XuT_=V^Ivrt%!Ada)tp8IlpZ;yQgj>9-8`$eCg~+tS^E zM$n3KCqvP&1bXx0+P`3j?AXOTto9$C4Ygl#Y?do+9ml)CZs!S)SXkg6k6Lx<&BJFNx!<>> zd_$S$jmAq+_6oBQT_ZP*O)$i?8gEoRb@r&Q9w{T%?z$=fG|O4N2=khsQ&BOK-Ml%l zke$4bH?92+Qu>)k*S=MISo6X^Mt;3^enWV%$sc!xJ3(or+9tDb_D<~+6|+%=l)ODN zaaZ5g)ew2p^opG)+u%{L*s~qL+Hv>WezxmC2(fk5$xu?1TDU?W+)vuuEf6(xaI` zkRB(Sza4eA?l{gCf?a#%{J_5*$4OtjHuG`l(!0GbV*B~W9{=q8V~>4aaqr5N+wWO* z$35(=Ph|Y=CqIA0yn%}!v8q$2sxCZs>J$Q~Bu|^fN8qU;B6GEkr`ZIXCwtC7I&a-e z7%|Fo?X3$1gHJ(jss;DZzvL{w+pe+qC6;Df#^1~X*FHMzXs6CsWKy+51t_l;7%NRs zHJ3zX^Jvc{lfIa(Pg*jX3&NzOOHr{Hflgq+(73(Rf`WZH8Rc60(WGf(dv!=B<(-1_ zDZGM}++Q_r%%tJrQA_K2bEgHWFO|%lTXKnA40t^o9^R9^wqvUed1Z-Xnlx-WGo@rs zvA=MBVL925sj%CVAm^*?bKgj?b`B^=4HnM5pj{56U0P5jI?*x;aPBIHs+gv7YPPDq zkRfcy2ga&bh^T4Xj?Ow8=EvctdQVZ8z!|U*&mB zMbxDVqH7?IeR1N%7ZrP#F580&S^MHApS&o*zJ~0YTLVjq150juKQlu-eX$r=8OBYP=Pledw)A<^AvQIn z?W4$eo3d^GLUo(PNy=4Wvm8$3Dr}ZQbvo@Fv^aWCuQl z90Fl=Aon*$eu#8(xqndKr2kHK30*N`RgJsK1?^Ssy2_&wpbNT+!9k%;47C?wg*uSQ z13ded+mV8_c*XR`h$Z3{X0btp|8A7R!@2M)Y+ z=D>lMD{d>8zhXr};R?3%)vv#Pl}&v4n{QrbTOWCJOW?@1%F1oZKHLCd=Yl7%?SCa{ z+A^^FTU8z}?QVeKuIrR{>V<{D8=6~jKWpu2SAX7Bq??n_Xng{lE$maPXukI{oSfF2 zRfz_K8Z*8w*KSo5y{&3$)}^_26#-p{+4h*b)loFPihokOf@M#-e#+!o^A`%wiEZol zx_*u1ra{ma(Q^=)|V*g^k^4S|=vieK~{e*?d!E`@Y^%n~HTZMa4Pb=Egj zb!|^e7`w(-MRb)t;NxAKwyUa97g`|Ewo7|em*Cq|J%ayKl~UP*vu~c0GhyLE?tSvk zZI6z>ar~5Lx34+l5ev$0o?S9;?wx#PVQ%)4MK}A_KYDc6gtZ;p-j%nz>Y)R^*{hcM zOA2Sp{)21-ra;eS+^z1_hqP?Afku3*4!xy4EZl=O3cU5HUv=QEva50uShmY1@bE%ddceU?TSO&Oy$cz!lJKQh0wY$J zvQ>r0kV^nVxP~gM2Ib+Nn8#G6Yq4Tg+ieCx9}+x=HB_P99oNjOJtZXL^HJ>^B6vX0 z;H7kCKMp8MY8pR%VBw~&w~oE%!1MQRKl6v%$1ZBNY-Y}qe9!LYEoL=u{Os0^{WDKj z9(wDyGpzTif7HG`CbR3-Q#%%}Scme+hJGwWThctFzS?bxu>t>GeGQq__*eB6PNapk z;cR{Wgo?SV?nHBO_T-*tm&^~G;IpUmR$E`0w(8(xJG@U``uOohzitoo!KiQsWZnic zZ;F0qyj(vn?KW+~V%rzHH+=jmR|V{GRb$k=${ryiud3gJI+}1GBhCSP%Utbzfd)^l zF(#dHFI5t%=8_VH+_P!Jr_6t8%g#3or;nNO)W+41-E_zFoYkvmPrJQ!$>_=D6;nnR ziCI(Ew(q!Y)}E@WJ+roT?6CHx?T7BK9X$KC+h)&QzJhPKsl4ds8KtGrtue?a)4HW& z6lnpTol9G{LRzP=Mikx`7GLEFlXoHdh5gz>^sAGce34@Ty#xzu3gv@b{MrzKn%Y1i z_UvB&on4mPu;bC^@7aF(?VWwf`ZP|+9z0=D^W`&UEtx;z*s6O541E28!(aUEbl|{a z-?nH5ZDS{pb)s}|%f z8a@6XXQQUF=2?>xt{*lw&6mAy@xo!tZ+cobF_1xS@E1M}{D!tMHoqZljKc)AG0tO1 z8zZgT@h+|(?KY-Gm;btrnU#6{pp1S)XL9eIvlrYkAa%g?cP*T~#mjR>T%R@ahQWUJ za@O_zhGg~i%_uL+?>DV^lkCCs7ncNC$xF2l z*q_3*4>m2QeQ+pLx!MQUThX!y>XO||$Ogjs@xN~%cwSns>xOM9D7|-hdf&8l`Lowd zoIEgV+O$CfCp8|{``VGCuI)99j~Ot%Ma$f@g2jsq(q^}8KJD5$#l?Zn*N+~3ecJHh ztf~*@QwJcxjC3Ohd7YzmL$9ZzHp0%StsBQ(hh$)@cHKrCZ|P*FQZ^3GBZkX$8wY2$ zJ+yI{IA~hyu?fYuZ!9XiFCE zR%`&bb<3hf+wv#gIBfjH8*iL|QQ_|0Yks(M@7_Dvw7GMq)y$YTZ-&&u(o;p?4s{ptU!sytZ}MUWyQ$w9=X|YTWk$3W5moHr)%C5uN%=Cf);X0 zO&;qOrWQu1(X^|F%9bqSM<&f4(Wlpl5xx41xUNgv)?K=^ZrjCoulMD*)22*GOPequ ztz%MRr_L!Ukmo#4Ax}YHPOi7@Y@(d0gKc-{%uWP|X`|yw8YW|LALgAgf5?VR*mk1N z`O;CDw|dsIzKsJfZg~04HNcB;BJDLL#}N9=HmXQAQd5J?7~-36nWbgGjSc07}h3N-27-9L8E^UpkW&#NAu zf7`sJ%Wo~3U(lRy5v_}Bg9*Kb2wES18u<0~m%N*IoPP4a>4{SySDd{qR-wFF!0V{j zcTk7OmaAQd$-cXCW9&PQ`jT5Pgmm@((@;X?f;VW85*K3Td9Q&L-CK2=di~0WQnpPx z@a!A+KY0Gax|`Ru*-=)s3S72tm(!-r#W(Y^MhE`-(MN&rSa)nHF)zRd*4|q~{=F)vnxz~(0ghKh-Zx0mPQ47b<9bwlWAH#;1bB481TR2AM#9eIlV zFS}8^L42s|xj{HZN8q%MfeueqZ3dEC7p;GW>utyI3<$mwYa;tPZ?U-U_|Oo;)B%27 zZ9UP7p=PV-KGpA58z9KPI@b0oMiKmGbk`wtQL&h~vEwzTwq4b~W%D+D61VJp^e?9# zIX!Ji%hpNP3?A{q_IB5{X6*w}(M==!k6gB7!?B!#z`M(4W-nbfbLK7L{hp<1P40dv zqF%FWyY%X|`L1Q}9;mo^L)RwP_ZT>>Q;%(vo80qCWW=Rrj5l38e0<^N@e{N8>S=f1 zJ*`R3#*H~r&c)ExEzs4=+g7`5own7Hh`Vidy}i6`b$^78 zwffo1cAYr)^%Dbc@7Ji;{K+}1+pb?aZ{w=5=ifd&aT<&I;Ccnp4wkqTUb<7Sj$cXhI=-=wg15D{_Xh-?p1QlhFmwHuEtsItXZmeMvis6 zriSdyY#M*ri6bYXoME&X@;l z%zy2&xAedhj~^=D-KBl$*vX}}&o5avdwKK5x6E693v04|FZQr&EVsGayPh>gc>mWd zaJu@dr-na#DG>NQ@`SYvD?G>e5^p8hEt}kE1N?D$+ zu#d9OgVS4N=B^lxdOX&t5>=j9dvxrYG?uaN*dx#7YpFz-j_gxV{6413)TX5kG4Goc z2OEQpx*A+{>h{}N?pLf`;PbCq27ddo@(+Kg{E>z8Nt6eYsth+&?R% zzVkRL6O=&cCQh<%hZ7v-Ituh^l=BW1MtK}@BO~MyLC-q|{@G*Gw7YjKnwK+WMf-}C zD=RQvRULTXrkwXatIgqi9@$=e^QFIfs{OCND*HWhZOB>ZO?}(jNHxc{NcMb1Red^r z1nb@1ys8E6aO28}YgeF6Wz<={8@%F6ZYd(81o*GdRp6L`x#Ipn-g6@D((@wC&vwt9 z8<-_kn^}#5Kk(+>5$J;zD-EVTm@Q74E43eJmC6+yx|oHN?I*$@T$539jf!iJM;Swa zb;dqgbcK~2EzjccUuk}%+gT>+DLX6gv1|dtZNU0I^UV44uBG-5KfHZAEvye*^ama_ zYwOu)KlA1yaGB~U`Yj$T%Hf@54~B)oPM&8oaM}(j1$A2>>*LYh3vzQC)N2Lb*1#9D z+u39r-mcNd>(_x#G4MOAXV|pM;A2E6eg}S^^%$FQ8GLsK42xbej51J zCJzc;;#cs+Y%wdi48Cn0_#p;cntc0ku(!%tgNUle>x zgWqp01-z~=2EH|9L>f$Wehp}ROy%5L=lK(-ob3_u@rEW33SO48f-h#vopPowjVx!> zFIfnv3kqJ!NWt&0o^;CDz&A2^R`9Z%6};cN%_(OCABQ~1*2vUf$f+5==}&nm#!<6l zY&jX-aO~VnAIa>jO= zFH*&Y%Kk=<#Jlfv`y2Lw^%(pl+76m;`oRvypRMdCccD_WroayN^NhfEh&UlT*o^Gp zB*?j+_e;DVtmM3`jh#QTYEsVaw44>}c?~P&+yN2RTGtJ9dn0EB|FglpV`{6*ps&)h zQ?SxbD?a?48{4uonA<^i9aMgTuY=qA-Zufimh>q-Sd4go%?s(1Y1{_dXV>ZA3BcoA3Vtu84XM~| zHTH%S=~Si@bw2NM%9O%yq*NLkz7@PIQw3klk}+z~a#R?`2BVz%~Z&@;o6~mpfu#{8Z8}OiiJTimgiyFDAFm4KE5_;+OC~%YOxp zX$t&uTqW^Szt8tiz^i^@f%O0zYUkDIC;Dugu58?sfLHdjV1TI|#!B>%&^GR{fd=<3 z>v!z#%Wyk=6@|Oj;NCTAxD9P^Culi#2$ab^Qx$I5oxS`kYI9}=%0w>NBk(8RvtQ_a z0d(LL^#{;jlX7GWoc5Z6nq}K{m1(=Cko}Tn3cE(|agMIr1N-Aw8M!O`vb|RLcUVWA z_TAtoi%0w@{8HZ~e(21NrfwMQ?Q~uhZrMjwxOcNLSHMj*$%Xq3!~1UQ0>+J6e+~9F zrc4$78x8)Q*3(Yk$MEjhU&Z?c!~4#u#%dVs?KSVR9~KqX3$UF@jytg?-i$*```paP z5k3`9SGgxA;@BW}wn=pM=2%$YC_M|E;0Nu5F)vhC>Mr$dNq1G>w!pf@(OuKGjW+pI zZNXFEMYRP5gClIIxZ48KUDa=vx~p*SvNk%pYj8Wdt8fPl?p-&HxD0m(Mt_@ zSwE*=WN>3_qw}e7%Qi{!9cJxjUd+$v@-&>cHTgV*I&h5Y26(4B(3s>kDNv=`YT%*w zd#nMr9I1>{UUymtoH8=}G%#hP`1!@;b?5xc+jcvzOHiIZ>c?Ud7`*SWUT}2R^h-M! z+}W^q>C}D=0X*u(45PWm+Sz?5g?k+MP`Gzl&$C0eTnz3`b#P1jqHyn;ZtRP}ZQB=x zTh=*+dpFCw0^iijAlWLuWu23_Wf_G#bbkao?{Q`tYr3`++7p&Gt3n~G?Bs$b;Y zkUpg*pGwt39SdS*6!*EtYWso4`ob^Ao&HviVOfigCo>KgE)H@EjElAF~M?+5tgxa3Cl9vPK3>p|e} zOLbrIv)gLpl$YVhWAHzQJt8gm$!P40I@_InO?b9qAEL*|PD=b?)-bl8-e;oSdNZsI z=ynGs)HgPR4Yv8WXXBi{PVfn=b$`_>^%hQT2_L*Ecp(H{_Kh&+vTZK(Hj(n%L(+xb zUQ2qrCXgh?QhtZ4_tsDJekb%TkH!@}34gKGg|)Et&GxTUM%el$&xL01giQrMBQ$(V zw%vv&`AGc?Gw_E%7Yj`R5B$VWKcZV0NMg~%5AewM!CHDR?Ye=N?F%dM)Y|Qf-PY;6 zZk4)EGA3RC%bm7}`i-G&kqa;Ce_8EO=mRzqqxMANs_)>k&?eWOl)wAb@8Apm3OTk` z{)%Guh%>e}w#@OrseZofpU8f`?9U`R{S&9BZ)_jrOH8v=iWcsJ1JyM$q8g)_OmhFea zz00b)Li^$L+0?j0wjT=juKdf}54+E%aNlfj?`I9re$@5HV60Tx(Tv>)zb``L53}}L zZ=emSJKn=6$o0(u=uHgiO^VioQI6i2{`=LYUkknAGiVGtPQhD89lfE&A5uaMjouu9 z-o$tx1y8_F`jJ5TF*lIJ`;*=P57n>V=)K}c>W$)Or?fz}Ju&vJi^0DD{EQ>Lk^De! zeldDuxM`&HhRXIdwMD5qucMtlyzy6cGkF~g-3h0>j@R%$C$9uA^V-euBISRY`YHGa_Z@7?S0F6*n}edj16cf)&k z&3iY{#9R$vF<2!X=t4BRLI*H!g7*{Dd#jS(cMFVm!y~UFEf4b4H87m_b>OXX3%v`x zM@uNqh9xTesN*}W&1{OTGp7F;ZFujB`I-!0OSFlgOE!F<*KgYonyzu|#~PIB$D}j8 zNeA{>$DRI*@hLWzIVE1y_+0j1)cAZ~uIas)@wx3kA>7n=QMe1NgHGSY;Epr4N#T}# z7lpfEqUpI9+>InOWTN<%;}3;EwUm~B=R0VJS;`p3QSv&Pn;g{oCg?~3|;mFgB zK_X2ZQ}`bTyu!cR`p}W58P7(VdZX~mHbvpziFpCjrWpM7jXV|p&oq9tDFaO(z+k7D zALvLlI_;cfgHyIqw#7Whk&UrE%}kq;f&Ta$8sFTZ;afVsYC7gn>Oz*`B`^4pr)k(U z@N%n`{SJ1ItvjU8Qugr0Yx^@HSOTByr+~jx!$)A}!MfuQ4R7(_MU<`FGegE-jC0M7 z+G{K96$v5n7cEr$MT>aMq`TMc%Q;R20E8@0vx6_xh8hhqQ!T@3G5wFbjoY@VZ8h5d zo%YrE@bA2}pNH$sHRK*7w7Ev$W>m}nr+B5k+-R+_Io*NA2DVhGTFUsH`hs>)zhZns z81~i<4FHgCdfFL5&g07Ddiec;_sEu@RT5QR%*(I` zNFUOzEspPp`gh>TRd*FU^hd*^t~>fewo1Y~;|K-+R}GIo%)%D7wi)Ocsr{%cbz%3- zZFm_h)j|V%+Tiu~Z)jU7gBKP=&EDJazH1EMd#q>BGtqX(C5NlIQZ@;wHM{A7xlR|Le`y0)(=6}m>VoKUN*7>M$*8c zV5OWTtQ>zea^y@_CREM}UdmbF-Z9+B+2D@Va#pZXb_&+t)X2_YM(bhAF8CTah#|fo zRXP$Za&&~+8_A0^UoS1o8`8!w36D9e#-SEQLep$L#%f;x;#sfcTjAaTe~96ns)2;| z+4eCg4>$VJD|uJ&{-7M~>vA;km_KvPS;_n!BN`|1b(po!T7z%2&7-j<$FJ=SKcdU!wnX4ywAJg!t6Qx}*gKneCsxIulf)1C# z(u|nYJL3C2gV#T>gDn}8OWA{R=B=;mprbTQB9}%+J$42C|=`;fvwf zGxOC3-kG0Q@EE^n_#M_Z$7gBao7iQm_DS$!-i_cfw=~1dyE)L{zoG1TAirHvuI1hj z0skEFFY8DHTRKKBoqmV1FHZno+B%~d%)-b3LQ8XkR?#YUqI?)DnDtS?1g%zrcKO$2O;u~SB>)MGJrO3GB(l7c=)rpE5j zOoM@yGF7m*dJ2VHq4Z|*Y0Bne-HTAy|OG7{I1|g%ao>p50?_4a%cj7b#E#kz@s<5_Z3`F zJ}ZHzkynp#Gbvt zeO$J~@MU~La$JMX;>Xfg!encL_Ni&m#$xP1gf2Vakb6fdSiodyW7J-%_NkanblQ5OA5Nc2=Ia>o1bEVq-ZoFbBXwQj z*@@Au(RPD}G=yZY+KX2JFWWiT!<&sYH_)xLJtSD4)OQ8DtK@QhciX1z(l@T#&;8bW z(0AQN8_Z}AU4BL>g94Jl6I8av)?XbN7=3m8j8X>JLkTnhPv!ECkwF2;K;nVz>Te`q zuyoO7OM4iReST8WWNj_eZkraz@%Irt*#`*^`#j0m2Ls*J#*IE8_D2GLfJIFzXPu}I zsBlO-tZ?kiGj`bE=&o^OB9GXQ2(VA-JpPgLmH8>n__sBDfwjVkWijy1e2s#yHSoKvtyov2>!g9N)5go# zF^zwZ^|=!}W+YJ8H-tP$zqS5mzxA`@w>C6n-<_gPlwCo4py~+vHnKfn@UlQ2S@5;I zMRxHSD)SvUdB9j4Q~RCqxawobHeB{GeAbTPjqThS`xK?iOTj*8VEs*FY^^u2k?6m~ z=>E$MD965}^Uo{&vo1P1Pksp4~Xxl=PK7DR9Mm_=7y1d}H7*z#VMXQF)#W-bdkm1K&6c@e4UpzDI*O z7=Z`nY_?}5z3+>C64ZtDGdg{ME}@9We1#6|?ah295W0G=82zQ4xb zjPPKl%o9WJA5-v{umwNCw}L;gfB43OPt_NEFnC??NjtvKM2#R8RGtpnNCwBNJ|yK2 zzCEAJANW6nGI^h#JDO)1>)^Alrf2dM(KCES3f_bDd-xrtk7sEed(v|^^ShkS^jSUV zc@KPp9(s;9zsq?upPUE7_jz(Y3T=~5j)pZqU(@eN^bD-z`}Rp+IerJ%fS2FH7l>#4 z6~EFm>HGgxY%}5fFMWV=t9^`>baO`VCz0jr0eCg` zIBNYG{DTcoc0j`SFz~B!s`Nm@uj=hl7VY3SGk}i2`VjQtZ@%VQAE1Zfuh`hBry#M% zN$il>D)2sybmwKNCl6*C&7syx!Xg?E)}^v(tjlM;0kU2O|F6$lN3y5+HO#g6g5YwTD$r%%Prs5 z_u3Z^Jn;TMPx>}JwWB0|OYZ@1J@DvTpT6UJaQ}8y_H}H_|5e?V@f)qkK6EFYM0rrW zg>9ecnPd%nh4Lw8!yH)~U%u0aydL(OQT)p%1i#DL@602Se#!D|Ve0XJvbR*$#2?BU zb%^wZo|XNT{BX?r4!?$LZY$!k2( z+lsGb43AI7P{AJm+jw~D!AX4Ku&!R)9;>rF2*)tODa*6Mi!qh;qv8pE8LR+Qt3oES{8LQ%8|&FZmwz9cSL^^-HLsY?_B!)a#tt@>y;0%?Jpjxrz6p3W zub9qyIDL83W;$`^3V&OJznEt_b)V!Z>vHot_+K^niC}|E;bC+MQTXZ z2f!))15bMqgXd`g_%Kfc25$`B4}>mF#QA2O<&GlgV~^lN<$H>$d&Bz{_`R3%w=35{e-Jc-Rpoos8oCyN(Xs4fVEBnd7K&8D|(|&QoO%>kGM{}56+SOVBb=_hc3gv zaxQSmdJ;0P#6kA*2pBCN?<_|?Y_pP&l$&?Id4IKagM2UL=Ru7JO=?sAyET+(b7Z~y zi1M1wVw`$s^vM~gsrcppur^7L8I}E)x+m?w)YT169W^b0I^B=jr<0VI+(4#h z2-(or=(!Dkj|jUCW4^|O?*XwG(F(eUNMmJLhvhg(9!UeSKpyp=XA68y@J$o_%{4gr zRDWY?Kr`4ql01DgA#kHFfVPJEm5}XCLeb9)+!%Hr`d(CS^1UaA;Ku~U!Ve+WNqs2G zg6(D#f{%mtq`){4>ya@WKj`SHM>g{1m)*tp~&V7WAI#Jjn%h9^d!G zctQ2GpQPtHeJ9jP%lirSBhFEtcd=zoKZ16K3hlSF0=%Gh`g;xE#fjS`cxl(kQeTlC z_|yFs+@YNRr)yORx3sGYcgR|1(=MPF;jF>cYY+eZn!f~;cn@9IqA@tDu|YF&7Idcf4EDJh zEOvSNy};47`g@r9Br{g(fIQmsVM-^Y9FFL0_#I3cFeI^CI&{?AsIWS`k@6AOzfCrg>>u~;ifU1!tJ*n zcjRPnHwe);g z+mmZC?e@d;{TZBEplSNom{*X`h6njOmD2-GIZ+!Y%c&!HaN^hq2hCvuhb*Vgrku=Z zyCZm@FF<2Uu*OrL^7)mfvBjZb>TYMypcSOVmt4ozhw^z*(P&|4m>#B^294237t|Q7 zz}n#G0@-(&5A>mQzftvvq%NrbP(eGR3#K(7Xz;Jbf3nUf+b5p+ABLhK+XzKtKf{)BAzw)T;lpsXX_7`?iu02+WSrj?cq8jl!J0PLH=EE7 zenWbV!vLwgH#&KtIUPv{k#g9x#BMvY@l71;VrRs#QF$|y7t;%pEhl{ec^yPMQZLMh z_VG(}Ag{K%iBAAm#lT}R`ZLG;`M-*2MtKi1zbrT5+N z{qywwPx||Z=zWL4nUMb85l;(xKQnM9q`!AWtXJ^VhGE`8w_%4p4cTSB25$y`0=~G;T`plVR$tM$ z-+GNLw!bj?D{06*dB7~{p3-4yJCGO1?EdL}>@OS|umA(xG{Q$48hb%wi2a43fmvAB z{xd{_*0(4cd#8ulUlFs;htfnu2IShWsmjS|FZ1ub(V($Z)4mcWsH6) z#v@0>k5)b8b5h`?khQ8u#0xl?)gBv4Jy!kL!=l=;Lo~Z8+W^N7(OAz{4*0=Rx2(hB z1jZJ698CUf*)t=-HaoV#@Gi%GPT5KPPxuzt_}QUp(RSGx{GITH-Cya3_U>5N5u1N@(7KCd*;okABX*FXdFO)<#HNWH|4T%G9QP0GUi*B zgO44UbUBSge9_iL<5-xqaY|PEkq=|zOg=h>*f>?zW_>r?Kl#_o@`1?d%Jw!5se5GO zKm&AWFD2**>7cD6hL)q}q?=Qg1!RAF~=zD}C93U#sB{qjqS$HNH+~o#@fPtE>;zBjA_yh`&Q?ZdL`}W{qX6 zhjpWV{|MEuyugbzk7@e>j(8dbYf--@1fCJaR`smF?K zeoTMJnMb02wokVIz$4+s8K?a>J?(C${Re)mV|&@gkGgS^&9Y0+;Kv>WN<*lwN*b^F z3N;P1{{>O@7lwlQ0(lz__={oB8X5e=^^a?a&kHKkYWIi6F_FvIBkasx^^M#=iZD{OAK5o1$A4#Yi zRGW;fimClqH1^Lm?Z3%~>?_&zkMzUdf69_|1N&8>97#_uD|g6D3e46YYX3n;){Xh9 z{f8FWUm1G#-Y;^F(xNfeR??MX_|3=L(574{D#*@@CysoZ+cbPCag5#;SGK#b_wMH{D`|nJgn5+ba;SGn_=)fzEj2jNrV5eC*E1VX7G1*WF+xZ z-B9=siTB{?T*kAzVz7pexbQ)(&)OKSNmDL*P_Qz!R zdXp>E9XS+(eQGoagE=2YMeE{;2-#Dw){| zgWsty3cqX@6#m1WmX3T3{+32}h<|Dq6n<$}jeHD#?DM8|N8y+K8HIlz##N?2Lq~Ox zdi$Q<2|- zWTSivhcW6fvN4_!+KEZ=L-=Kki^9LpT8FiC8oz0i9pAq4i%8i>{E$sgBO7BCnv*2C zCCBFuPJg8kdm#FsVd?6uYSCfqDyaS5dji4H1@Wi<@aj&Z{g>CI^)ew^p#+BF!P_8;#U5)y$eTkT^r)kea43)f_| zJ9qB}YA<2&!98>9^;mtA+)jA%${rUkRNPbRTe56Yd55dYCNICmQ+=`7`VnL84TZ-I zXZ^9W>!n9de{=H$9yf7*(E2^eI6D|4<-j|OZ>Vh3thK>1lq-uwj6jQ{2_w>i-v!S-gm=$_nPJ1>|uHzkM~Up z{%;B%J#dMqKk$1Azw*EA7Rn!z2>2TaUin{k^JxUX3Gf*N4__4VKZ)LF1HO>pf6@Hh zVZ)1W-0*z2fsb>;v)AeU0pM9m@ZekGm$T{Mb3?z@!rRFqkhWwtpmG#g5b|7 zcyBX$-zu=%+l1i1SMNRO9|ArlkmY%t*69pT?|EME2Wjy|MmWV<)2}%V#HiQ{?X{y zlfbEMw54xsNEDsYTp1N2eYt;fRBR>IC*l+U*Fox#uskG{7AMl7;OzsyRos3%|3fWy zGvcReuj8lueAV3AuQAREm$4n5es$=hbqKX#(TaZbW%Q$CE3tp`f1n>3xVUKLN**5= z%Dn8CKqULc&;B?sa2M!%;0MV<{u^0$s{GsS0nxV?)`l=c5B6U7RWY3OGA6!i2F^CA z8W{r<8!zvcd)OIG??+6T4y4hR!$z1V>-L zxvS#j$%+p@yqCSTJ`ly5ZQ~Esj`!^JA3Np`RPf!kskJSkj|^v=SYi&^i$+$Nt32)2 zf+mLR3YYR@Z%ADgha)iL`99ctAIyd>NUaK^v#fC@=y8uL3v{Nn++$cg>So*HO=i(7Nz6#?7#8=6$_>* z3U&`CrS_7UTa1o`ujnH*6@&{>XmTdi{?- zZeXpC9tvDo|M{020>A8JzXl@M>w#YES3mnh;0E?&07E$0##0P8VmEv;h8z4}1^z2Z zPp7+d!WJ`iVWnha1qB<%#>2XW*b7DmJJPWrRZ$8Q%}agfZQW*snv#yxl!&O>d_J)D zMHVhkY+&vDo@?gTzA-m|RmR}=D1X><5$9D6VymCCX3xGJO^l4aVvWJGK)p@8LhZ6; zTj{H;*KN{AEkB)H#e8J188+5}QA=(p%RIWgJbdL!c3!;u&rwGp468Mp35lqGXiN1y z!}<=KcSWx`D5mOrVYSEJ6Y9Ok1>?p2bp76kv$jk0eHePFYxI2t<~2{~`$)v{Jf-iW zu-@;qzK_Q4W%9Hk`7g%miZw6lK8|P!3kOl*m+M$h$U)vS>;spt@3|F&-CNXqVP&$z z`rhM$@#6k_{T?eJcoTgeW{u<5>-z{Rif`5TkyazVPv1vbo%u<9A8k$LpXmD-Yndv)t_;%;pC?bqEh^3{ENGY5Gch3{F(t9TM4GHV zFgSZCoOLPX6}QW7S5lOnlRH1VXkNR**_yAOimdwEb5`N}41ZBxaY!(c?$hS%6dK|hsY)5qZpFR116apC0m)p61w3(iG;uJF$j2SdpLCD32>!9Io~;f- z#G-ACqjk)UVY!-OXPo9(0oM}V&DK^MSk`uEgWAKd(-Auv%bA^PupX@|W<EHTHMJzHYSsVr{a1gl*r4c(NxEwel18;{6c5 zpf9bjFmoM_7V0>Qunx0&ERsdBXhfpcM}*fG)*q}-u^RAm>tpLP7K^&m*}jJh7!*R3auX9)}k zo}wRx~_q`eGO1{%iodmR-jNGW2CwI?G_0EQ<|79QO@~l^e=##A=b@Yy=z0 zMzPV@MS3h&>WpU-*hG2i2%ExgVpDO5>vZfHdNa#rGubSb!*bbdHi!AK|Lt5hkL9!Z ztbi3__w0q34=83Otdy0pa#q0>;RK8&>=x{$wG8J%tYEjY+i-@=9c(3A#qMOQ*&4PM zzS;F`1G@_&gN@kHZZq4$wz6$(JG+P7%kE=4*iN=pJZdyT!$-e7OCx7ge4_c+_~1Urkha8Fog*gMuqtW0>xy3IOe-H90ahp@Kl zIqP|xX!9O>A1A_`V;{1Q*vIS>Yd!k|`;`5WooAmRwtI(lpY>?&D!RoJa6_Jd#K8Xdc7s^H|=1$MJ@|5l;MS!khAD zyg6^dTk=-CHE+Y)@^<_x-kx{h9eF3-nP1JX;azxF-i>$XJ$O&+VII#DtnYXtPvXhe zG3zz!73&eSAG3H0YW*9qUaw-$wclHBT5nlz!-~FVoweSv9)-<0XT6W;em^1{=fd{P zgT>6Z3V13k(n44$*#?xt{*}RIRalGBaxJlzTDMrst!35mPgsAIV4Y(R>Ua z%g6EYd;*`yC-KRA3cra@<CA^fE@p4|l7xBe>3BQFe<;(bTzJlM1HNKblZTxoYYwH_+2Vcoo@jLlyzJ{;m z>-c)Uf#1dN<{SAYzL{^~TlqG=o!`Un<@Z^?<2(3Hz6*Z6Z>>M^J$x@tN!!m4@Pqsi zzn>rG5AY-WD1VSYgi~3M@kjWhypkX1Rr~}$$sgm7^C$R|{3-r4{~dpZKg*xv&+`}f zi~JNn&Cl?c_{;ni{wjZszs}#_Z}PYJ+x++ZEPsc;%irVg^AGqr{vrQ}f6PDOf8d|; zKl1bZGyXaMf`7@s;$QP`__zE|yqbTp z@w#|JyeZxiZ;RiHv*I1`u6R$pFFp|G#E0S|@v-)xwp4?mcKk(Jq=2Zm{XKpmW!_X%!uq+r6uaF zBriXQ?mYg&!g&OmoG>Unr?6yZZhm38x1_M3usAv=59}19e=naRvI`1Ja`SWZvb}?| z=g-gfX6ELXWP8W?b4#*)!?Nek%*p1H^7yDc@7TOK^RvY$f1VgsoafEXU*OO7%mkEo z4t)-q6tNt!2Sv@Cd_#_RVq~Vh^e3GV{r0FKv-)HFWGxaq~Uo}6;nxAByk7P|RS<_3_ z^pZ8bWKAzw(@EBJk~N)VO($97PtkZ&G`0O_R@Uz()fF6{Jk{( zUYgHdn$KRE&t95tZ_Ou;$Cec;rMITnThr^U@%7gDdTV^WHNM^&UvG`CkIqLQosT{m ze;6&i3rkkPjo1wqY(D*a-_nG!pKE1CH`=wa>bSSz?JfeEAfFV@qsJxfh+NWEAfFV@quf4 zG=lsRCL0)`EKU9o>e5O3(a)()kgKbBhY;E(RW~ zIcW4GX*57lv*7*8hto$s#JV5yb7z-C+Am7-X2r~uf-ucjG(F0%WCN#uG_732S$RdX zO6Skc&#f>Y#5wQmuUufJsdT+F=oEGX(!eE)BD7j1xxO^Yt}k6(GSnqgU9!|=kh%<3 zmmAb&h`J0_mmAe(n7RyCml5hRQe8%?%NTVTt1jczWxTpfP?w2xsYj(tlJ`wkKTM&E zDiK*;R7iAFQeNo(NWP1hU07PAK9H(Gcj3i(73xNQAd9yiX^8?W$U~XSPs3#4Lq)>~ zZRvst#R}epE2Q#r`Bfu2Mu%UcnqHrih&E;=Js_ zio9&aF)1Bkmv_W5F{<#(Tko8n+4&`!a{?zi^3FF(WraF05-Qr(LsB|w91_wpeVO1R zyTs!MC!TTgPYM3iOEXN>%Qm-RX{y5)maVS7G(zReRv6O?=RjKX!m`yhGQ&~U$XU)k zQBKrmD={G*9Au*x>C2%@SeB*%*RAYa`mz*_T)NcDLLX06;Ci{{HY`h1&Q(`mmcp1z zm&m~m?Z`RKz2YNDnc>8w#HhipDiJlu^$>Z3^HrqZx%UmBis{RvOV|+2IgAr=K16Yz zr=&AP^O&cu^@bSs`H-PJZ*JsJ2XW+F=RWF27bj8DP}n96-B#HnMt@UYqK3JCipqCA z_=YKQK*`+1Xh3+Tc7)85C(H`R>7ggkX@QqQli_~ST`l^^Nkz*Yx zMHV~vRIo{js+~+qRPAJ9FV$~J)cvreMAdF4C8qnvDdZ*UGF}yGsVda*I)|k?hvQWa zOX=brFYAW4RQ`<~@6KOzsrxBxye|Awb&Z_pa2r|fx}WU2U*z2Trl@=`rc1pkMs?~f zHn(AES@dgIcCM1n$m0C$V!ygCbls~8uWVmdiCS@Y>GGL4!DeNSK0eQcV;j{cDZ zME5ai_E?J^mGz+8`i>!?=je=CxjASnv*{@^%SBAFPw!*1>JW>`3Ly|V#P!_}7n4Kk zem5layAcl0kt1C=M!Il}tb-$Rr1MeC$WVOaT{y zjidLmE(=F5qQ{0*pRvwo4aT{wrb4RBnz~m;jqangNz*?#(ym9=j9$lu7&HBuOD$qu z28@1bdiYTz`?(%^EQ}pmNMGrqy^zbu94?k0M^O=&Mhsk=FnWBc52`P!%O`yhYc-F&h-5jSR>hBWu z@H$bu1roJeK=;d1lJxL7N#j#P$Apw*J-klVc$4+8J6YpN(Z8qY?^E>fJw?N(>i4Po zeX9LlyAM+J@IF-!>r*wqsad{>Wb}RI>N1fGv#*>k5fklFizv76e3KR6B6XRcS0FoW z#qeJiMl!RP`Y*oBo0#CCn+aHVwTDkt|XnrEH!w?m2#0dNI9+WJ>>>h z?WE97h7|1#NJ-UFN!3#Ct)F{qY4p~)@2zv+TT8XKmO@|qs^6z+r$(A~CZ%cVr|DA6 z(D*Yn{tR7;8T$83{kwL0rf8>UN~SKAOr4KRT{@YXzf8?vrly~%>1XOv%GCMG)cj;> zdRdx&md2l@@n>oLSsH(q#-FA0o2B!crRim9dRdxYmZq1b>1Anpx*Ssm>HH7U^apAB zgEaj?n*Jb7Z;+;^{1OQ%gB1Q$T}xAS?MhX(D=|ws#c);nkd;Ps@Jw`YB|5kg9b74& zxKciGCAzp0U0f-jxKciGrF`N_eBes?#Fg@yn3YcDh^wZbuIZ<1`pW5s-!=VoO+Q`J zS57$muIZ<1`std!T@REq4se=&x~8x6EHO*z8LpbXa@yfp=RZT!&(QRh6A!=Z{AXzT z8Jd2Erk|nnpP}=gq3J6dX8tE zf2HS%SxV1w)%jO?jc1+TL7LtmonNKr_`NTN{nGy+&0kW2ZASVM`Gl0dl>LMhrOvqO zYNON<&#GFaD0NFnQR;>(k;9e9C8Vfg#8p>U#SW^K{=Kh;@2j7cdf|Irjg=ZEr1a6> z>#<}?UlKF;)O__NvEW&M*GK20kIsiuFYuw?D|N!N{!XbUo^AfMc~sR3{AxJmwoFJ> zb3BNPBQe9JtN4LW7J)sOZb$5n+z+}wMH<#abWV4RWeyrP4(}0LPw|*cLe9%ADv;6s z1SjL}WsDHF>ZN{eF)>xbvZD#-63+P$WS&@&umWKP9h1VtVp7|uwoh7+@_quYxa*j( zw%!f(UQgPZv>@Trgv#VQQZo~#N2VlxpV%m=O=MZrzNDdvjS@yhZ%-)8n%Hlf4^=$N)Ca*U=nb@e=Bh5~>c%;SGt;$** zY27)wCb_0;4 z_AZwa8+BjY{bbLzJ=Z2S>T$m3&GHWS6-h%AK20j?`EX*Rl(^)@DetGepVTIKvCOOb z-}7A0>iC%WX7O#}6XK`DFNnV_erx>G@h`-mi~l^qm(U7w=$N!Mu_EL@PYPH6C0FV{ z!AaPTNek5f)J(|5^*^bN{y#Ly{$G|<2E5;!gm4b|A2`ARTPN9+xEL zC?$-N|4~Zvzvf0>6Dm_Plgeb7$^Vc|IN|CDPEqDb;R(~_bISYbZNl25t*MzPZ%w`<@q6$NJxD5p20+$HWeJt?zoe~Xj`BpV zRW4=eBy!@beexa2->To}cbWe-@*U+17!!K}Rww!1$jvRoe{)|~qII8DzLgAZS%zGP zN+~KCN;xK#NmPE%fxFc?4yp0`gBV%l?MSP7NT_fXaR8-9<#M8(~nyFWepOLXMDso0f%PgrAB_pF_ z{`YY)PyE}Mn70uD^Ik}#%byVA@&m=U*l{f~o+W@d7LO+!5&ClX-oA)Y?Qb=~4xEiR zx0>)ZRvcf4>jtC?RudtRd`SJRIB_k~K%_K0W8Jivj_YSgUm$&DH37~hXc-#>+o7Js z1e;i~NF9PNS=|G_A%eA$l@UB|Wd(o0**HH~gOP?HjYh&=$JV&ux7Nhq_tvCfwRIEH zCcN8*bPwJg1CB?L9>?>O`0X^VXOLdTZ*K$dyGTFdIf#AqBZ4onMz}T!R%5r#A6Oft zc&iakwflkf#ua-(GSFp1k;WnA1)H$>NDGmQkd6djVAa6!9n$wmKOog0{fP8a@FgyS z=eY;Ti{wKJLkdTVK&pp5@*|O=kfM=dkiZLXjMN0FDN-|}=E3iI3#67vt&my=t9cuw zw!q&Gc&@^=J+6=)?}%$>d~*$wJnOeRQct7=q$H#iB;<|vLF$Jz0O>j;>_f*#1b*Y# zQ;Fvw%|PNCa#$uKjRLN4gPk!vG`qlAMTVxi`%;q#3x+ z!Ed?vZ8olRaGi(u^O4Gt79lM`S`N5dk#0v?i{}l1y$i5+!*vI)J8|8G>uy~4;JO#reYoz&^#HC1aXp0VVbC~&^dQp1NRJ>@B2^)s zM0y(O8KmcsUO+m91bq}QBfX0BI?|g+ZzG*WdKdC~AL$&@M@XL_eTsA*>2u`iOQf%n zet;ggvw8(Tu=)hQw)zHZtp342T5sd|-QWkTaqw#vk85wFBUsPJgMZ}Z!4LQ%q$Nme zf;D^{-fcj-5d5PMNIs-4!4E`#>@a#Q(mHx^^&dgK64Wa}`79_`f^sD&SAyzUP(2H(XF>HWsGbGYN>DlrND(@1BKentwC zov4PLsD_QGhJC1peW-?gsD^#0W^=4q>_i>Q<|55Q%C}-s&#O_-t5MIZQO~PU&#@;u z(ltn3k-8)GL`pzPLP|jbZq(6g)X{3x(Q4GuYShtc)Uj&Roodt@S!b$6h7~I^k#0a5 zgJ;-7)Rk(~i)z%1YSal?2dbf?)zHyu=x8-`v>G~E4IQn9j#fiQtD%S0(8FrzVKsEH z8fyl!pihI41|tnY8jG|EX&chxNT-p`ApMLK4A#JU)<7yXkV*}tQUj^fKq@tmN)04X z0}0eX0yU684J1$l3DiIWHIP6JBv1nh)Ib6?kU$M2Py-3nKms+8Kn)~N0}0eX0yU68 z4J1$l3DiIWHOO@ha$SR5*C5w5$aM{JU4vZLAlEg>bq#V|gIw1j*EPs>4RT$BT-PAi zHOO@ha$SR5*I?DfXmH#Jlw@j*)C8$1QZpp%y9?V`1KU^w8&?C{Rs$PW1KU#ryHkUD zUW0mGgL+GZvwPK(Qs^M0#3O*+8f^1gq*_k5mv>YjU+TAr$U>UU0^UvZUQ?yBsc;4Jtod@gRo z>>kYS!R#K)?!oLH%>kYS!R#K)?!oLH%!$>%~=+`6m z>-qY_>S7?9Q1oY~6|1vP!|8AaoLQ{ai}dS7`nBNwTI+tTaK9F~Ukluy?^~?SKLpd@ zD8EmD%is#Q5|+R+=yZ*#VN2iJfHQ<$z+U0&@C~>VW}D&i8?h+EIG6~N;VmE**=}$+ z)ZkC>XZQ>J54<9V&R=>bxJGF^crUyU_JR+_hd}}xej)CLheE0%f z1oy$O;Q^Qp55Xfa2Oftf;VEbb@uz#Xq&l{Ncf&4l1$-U80e8YLiif3kjMP@7wj#9^ zsjWzDMQSTjTans|)K;XnBDEE%tw?P}YAaG(k=lyXR;0EfwH2wYNNq)GD^gpL+KSXx zq_!fp6{)RAZAEG;Qd^PQiqux5wj#9^sjWzDMQSTjTans|)K;XnBDEE%tw?P}YAaG( zk=lyXR?HxJyIy5#F<-mBfTrrCsXD`Kv$hu&^XaC}tP8qf1+0V~SOvXBr#629ebPyr zbe5b)o4-JtzkpWg)b1~!7do~53-WR?U;Dp+Ht5W^72aF;z|`9;$WQe9WZ_fcY~e4% zb;8%f47d?)f?MEQ@E!Ord=I`4KZM23w-jE2RgNDh=Icuqm_IeT*i2pAOe))@u3hTd z!^7&v$f8~S+)Vx4O#R$U{oG7S+oiN!O53HhT}s=fv|UQurLtWr+oiHy>e{8OU258; zqFwCU#lBsv+r_$FtlP!9U98*1x?QZ>#kyUr+r_$FtlP!9ohqJfPFN|-(W`2s;@n-H zjXnbV!TxXvJ{}4mD;9>stPi*CD82E~ybd1+GyJ{@Zn5ni>w9gxPY-y%lAUS)2k75f zMR$0xsE3D&s@A+iYu@3CFNMb(^LX)0c(Qmd%;mYN%lYR#5v&AfNaFCmfm=v6vO$GOhOK}%QqB%I_LC&Q_5sqc~fGA4X9`t;Iqu=~BA)MSa6Uy7xsrRY$(P|99|vM{9A>(k|6=b>zGHtu52)F4gKT z%?}Vh%yw;|R(GjhtwXQYq4iy=XY0_jb>!#z?>xA``7ZSPV(ZKNe+66#*ZA+Nw*Lff zgWKT_xD$Q`KZm>Fe#gy(S@0k{43ENN@Pz;8!qf1K-_KglmzL*XA^a8=K?nREmbmUR z=mcEJR{&m=aiE+-15TW;e_Et}T7=1UOs->c9h2*rTgTiQ=5}Ci2jw~o0r%&lW? z2e$U85p9^d0#oalTF2B5Os!#R6%*@NSI4#vY^!5i9n!b9hSf2wt{+^aA6%p# zT%;ddq#s;_b#<((V_hBV>R4CDt{QgLu&ah$HSFrZt`6*~V^eyAst~z$rv8#?< zb?mBRR~@_R*j2}_I(F4DsD?o`460#J4TEYJRKuVS460*K4Rbm$r-n5(tf^y49aB0m zrH&yT7}AmNTP)HqFVZhB!jw9ebYMvxOX^tCfhBb;sbfYRD>|^E11mZ(qK*-DjHqKo z9V6-(QOAfnM$|E)uGH&Fy{^>jO1!SbYf8MP#A`~tro?MXyr#r!O1wjfcPQ}={eQW* zRmt8OrfE-(D*BY<93?qN3HB+yIZCfL^@ ztxDupx!))E`{aI~-0ze7bL9RUx!5Nc`{ZJuTWeR9q_ zaA6|?IW-s><@>-47dsIfymKEtRIDbD2ggRR`Iclk5zoE;$sybtN2*Oy(;ciaj%Md zRotuMSQW>rI9A26Dvnigtcqh*9IN73700SLR>iR@j#Y82ibqwvsp3r)XR7#7#f>U% zRPmyU7gfBd;zAV{s<=?ag(@yoaiNL}Ra~gzLKPRPxKPD~DlSy@M{|srE;V{;F?wo| z59>!w)BKJjr;n+darAVwJ&%LoBdB}*zE5BFkoC}LYL4TEMpPRYEBI#_C9mFWWYuD1 z)na7TVr11~WYv=0R?Ni!$p@3t+D-lkgb z1N(*+qqr8MxEAHsl^&`9nC;i1vo1&)s+x{IwZv;7LV68@GE-u;f53A5lqco-f9 zRx#zhe)RW@-$sD>66ak8oyx2=9INz>PikaoSW&DhT@N$hM&tFJ;UqW*z5>1Q2m79k zFQf2f6uzvt;!X2=(301UFDvn6&~g{8b%P3JHI58g>>iITg*r7?J3nNx+qme)lR-;e zw9>uSLU$S-eHu=OGvG{R+RU2udP`e34s_!{Hx6{;K)160$1Gut6Q0_R8Rk!WvN@4b}Q3v zW!kMwyOn9TGVNBT!!1kQ%5J@ET|9ceZ|Ki{r^PTHrP5tW&M`furCA7`n=3!dJkR z5U;qzdKq-W(ABTfx6IYI%niF6hwMR*I$Ii#98$~+hr(fSG);Rfh8$;oZ_>B(!ZY@t z4-4(T2p3^xd_Ue-`7XVZF4 zsw>%);w84N`PojzqcrV2Hm>>Ed+FT0h4+I4?e|fw&_P=HBmFnMcv3$%S3fsbKQ~uD zH#a-8n488(lj|QDrx}ca}x)3ggIDWd;K5-0X{FD!loz~=W z>@>2NC&w%Krs~}`#yH!`!R>9^5sXxoLXFm(M{CZ@r}`boSo>J-Tg=rj&ebo@r9J1- zo%8bP#dAukl7GTJCs?28TqimHZ0mEZ&$Z8aaH(ru=KssBje_$pT3=~>RnnmIjMZYP z*3$TEiS2O=w#+(?!#b^%1D!aJZEwDDSuF8dUUO_8CVpGSW#2326=fgma-TA;D$A;JtSZA;xBHY~tlxdgu2;GB zDzjeY)upUro$pgtRpnGwMpdb*D3{m{^eLAv<f@OE~NEv0B1V8Le( z>5>ae5vyF7IjdZzVI);6u%U#nka%D;Qjc~N*&KG{3CH4j3!5X^6UC?o% z*YAO1iH9i0WM#R+V#}7&CC8Rz6Rju1Tfm(VIk<#PrArPjNwsjQ^0+1ZVwdS+m+8u0p&?4e;?m}hltcA74Bnl5&luF{F{DL4f#z_|otDA%z_)_ za$YP}qKk9ZiQF}ER$?W)M2RlW547zdzi~J}#`<{pgzYEWekz>r_ZQ$Ih&AzQ`+d#! zYvDS$9%jIea1-1D--7SJcj0^RefS~V=N!L=2Vgcl1hgA_Q5Snr7kg0`dr=pAQCF@! zv1c*%EXJP2*s~B{f*0GI??c1gPzZ|{@vHkj5F(6fSsj5p=U8?$0TcvF(Hx>g@ zQuoG>x6>zswZCF4G#d9S_}+%=ZK(x#*0$IRJdf84gspBAnL7eIH-lO{cCWoeXfJ+VFug?H^D9NE%*+67rqDIhabXX*H{WK zL28wpr{=tM=k2pzZ9U+>o^SnpvR^I_FZjL4 zc(vEaBfyUO^!LCa`uQW-C`)ib@e)qGgi|l!RHs~uw##U@?8K?%a;Fogy5-DEIJI2P z#Jgmj__Q3Kmg7@5K6T?$H$E-Lr{(#z)b(QfEQOa~rDIpwK2R*jspaJn#R@6t#H!uJ zbZUzIGO_Oz`(kQ5DFv~wTP6j|q#(w8nV2sV^JQW>6w75|8Dkf% zshzKhU8mS}irq>vS|&!FV$>-{ono}oeGy7qUiQn&m0}XF=KeUfT%!2gdv&#yuC`J> z^~)#kMNx;?e&kWCb1UUdzr5*}_I_#am-c>FS}Cpl?)4v{A3qchgJadInbuv?@R3jnb-7 zS~W_mMnTmmrW(am(|gvbr5d$Vql#)&QBChz&(DE#h0lX);46NMBNbEAOV+8Dn%=Qq zcKvb=4dU}w`gQ28%mBqQK(P#n`5G~dcV-5}Fe;J(`tXhJ&tg)%^)3{WToo`dSv$F8P=2jGu5vJ-_d72@62tDz3@ z|6`2QHnh$SK5tPELsq$HksGqW4O!hhvygdCA$v2+n|tHgoqA-WJfrlLrDpB(Yprf? z^z6ewYH=I(9D@;AJ&(^MYy{D=wu5!Fu0_jQw4x1J(1xsMgU=Gwjlx#uU-kcAvz)#8 z{r&Y;wZZ%Q_3%C8;#TA0R!_Lp<#;cfQZJiQucyvh!~WLMs(-lkdRt0wxXJH(AlgzM zv3?Y~i`&)zyNr!{*_wK_19uHt-Hm%EDQEY-vnlK(n_2G;`-1bcKlNrGwa>wDgz#x> zC7*`V;S4wv{ubMc-qq7B^-=@qVM}tlq*pABgl6~OM?nj;!f1FSOa74EWedl=4c-A; z*>`K$7Toh^1M6i2>tzG$WdrLiNedfTFB@1d8(1$JST7q`Z)v#Ie$WQftK?bb^+nMl zzn#)_J`7lh0ln+&FulX19Xj&7&>m6x&aOGyFaa1}*Wu z*uoO;|MfPRUhU~!o;<00>ZG3E0N;R{;hXSn_*eKhxD|c?KZ2h)=WW2QmEQq(!q4F6 za5ucU<-V8Qu9w}ecb(0K9@BQE96aT7@|7sB0DKNj283 z?H83>IKZ0&Tf954#q*JDesDOW*Dqyey|Cc`9enYEswcuSph@ZoNV5$$H)Ma&KDOzk&5c`#xkbiPrwtT1*Ce zpA9W0%10l%q1B|GdY}>d)Mh=;LY9+-dX|MO4-2!?;S4wvPxpln!8H3cDW&`MN59cy z{!XbJszknPq+HJq)+bFbKAO%o;9Rkn8gQ-w=NfRX0q2T6(SUOeIM;xeUfr%&xl|kewk%Iu zSc=6a?l;@DNB%8sUW#EYUFGq0>8guMJ;p^k+;fZ8=a}x)hCcY(9Pw`(+w>T==`ryv z*glw|^=FBB@Vr+3nBqrbJ;OfZ?9(sRed}^CrsRE6y-3`T5cdywtLQZ2hv}GijHjNP z9J}1p2v50(+v)h$VX^2D(;hKx)%LS8=!d3@?`6gJSYHRiY|mUi?AYgv+w?ATvuSGQ zZN+2BireOisg`gA1$csS$8E(^&e|X3Fw|!r* z?+f;Q!M-m<+pw#DK>eV?jM!IsK4y-RVvA0?Z?$srj1LC(7#%%d-05lQjY5^hpu6~K zSc$oRGLn3SeJwZQpTvf;b@5`htyX0RzjuYHVz-w(npQlJ9cJWzq!>*JZ!I1Pbf6qs z9Bx+XzmVFyS^8%CcTVv{8mGDAqgKpy{qM0Ue9W0HWhP0pRSD*UT?~HxwR=>K{?Z^e*1v^a~jxhqcS6$+3G(bovx{5Bfs_ToO}ai8+I57+KTM921^g`%0L*_650rnA~p=^9SVq z{-JyATDdo7UheNH_eYEA>2iO6DQ*$l4`h3- z?UUjMvuSHes&xT+5fAC(@V`gr&D*tYr zUMN?)aQc4n@5Y0tQd{(-XBOtF)1OiHo-V_${}k7DaeYc$pTe)FaH}7;YN0gZtJ<~D zeDp@!8vAV;LUB{^<>HxQPSI05;>p;*<5NukJ9ge+*W$}VKeer)7${h-i~lHoUHm}! z8TEavTD%c1{nd|Jz#<7xZn&!!>92g~zQ6gSKN>;j5_<`)-U~ z_bGn(YUsgNL+4}itDj=_+EvBe;$y{Ui?PLX#l^4w@rD8Z!Uke#y+Mh!*{WRi#6D|h z7Hn*O?J;zk;=hXPi|-aU!nJZ^jO}Bz=wpiS7xxyAsvDuWwD@P=Tg4-aNyV6=Ui>13 ze_71et_C`8gXfFjh;kk^MI+UQlP34ejNu+iNF6@pNIV zwvL7Icf4N2FuoP+dFzjReMqbPzkc)PCerTUXt{b~sg_5j6?iy6fO+TjP( z@OaN+@Uw31E`89;Xrb4h75^x{vhM$Nt2fV~^=;trqlycM|JpF@Db;nK!8UB@mn#oY zc^Bx3^~Kaz^!YN{QqqErF;aTFr+>?QC+zH>-QBz0D0zOE%&M`U@xcL>P5DDO%ro^z zSl-48ceG=U(;mekHnge=Q*qSBoUNgUETDCXu^I={X;@jSLG~06l-yI7rJDcyh zDC}asXNN2O-twNX#Igr{wv68HvP?DWbA@NiJx?nxf3)nC=6$|D&iV`=H1D%9>|^fd z$gr>ZpA&eg**e=c?3ZnyZ66NEcFcAR2bu-CZ}_O0p!!yE&SNh5sxaQ98nV@TZriho73Sd33nboXu0iUEUY}=`hn=&C|mJ z=4+lAW|^~jL6~jc=7r%wb2l#z51GGtNqE>C&db6h=5byT9yOQq$}q=#&a1;?=5$^Y z9yhP^E8z)qJ8uk6n$@``%rCucM&WP0KYe8IL{;7zy3OBg3+9&P8--({ZdX1?Yxv-f!O z_^+~0nrHb~cB1!+Ka-tfR^`0xGiFvU$UbX!WoPy|Zx63#Uof|_JG;>Q%9YtgagJqn zvA2i+A-lwT!~c|B5#Jo1ebJl4*Jf9lZ&}K&Hs`XOeaU;no3d++)(=Vy&Ju$&YII?y{6py_%fr)r3^9#-)0- zX{uKvQoV|PL0*uSMV8G{?HZA4*N9ZRHcho_(^R`QPqk~4RJ+Ed+O>t+_2;mKnbm(` znTU04i&V$9NOi2Fj%^$!@-8yo*lvRQHd%e!+Me5F+k`1RiEJA-Pjzo(s(T|--5a0k z-sb##{F4)&r3PlH24<-SHl!NZV%~MHlB{Jlwx@d59~ybF_+uEsgT*UGQEN*)L-Jjr zmEyl*qt_@UASa%; z5vgSvky@4!sbv|FT9y&1Wob$+%g9n}S(;0+Wob?=OLJ;jnzby)I>T|L@C_d<3oNU>hg;32=O;lNetI$Jg*v9CQ!v0%oXB)J$?-Ylv^Q}XfcZzMqWZQgOao8^3&aCfuX@$pYg?9)O z&7a>fjN`LnC$oRw?XJsYzAJVPoA6(;i+y&@cMY3ssi)fhJ~PKh$M)K{_S*N}`QFm9 zkLP43n`^(ns~?abUG^c`aE{84a@6s;cdhVi z@$onZ-7NGm{9Bx0`zP~HI@^i)iQ;@xev9eYlGj$_Zy&liUa@(ZL_Z{hor{1U0Y)Dsb#@rZGmD_)*o zE_{W1M3Z^P_@eNYp5L9UNBOezd?o*i^IYc%i4q?f|Kf_*ds3prSH{v;iW1)%|0?`lPgs=r z*!VZ$?|IUq#Mg!~4}Tlq7yd#11K}Tf@}k7|#*c)5oc~y=f8u_~cz!tkUHCTlMaJ{T z@gKssyFW6XUylD2zQcWz@%(fARQOK!OUColahLGV+&3A|U&nt5|J?nP@%(oDLild? zQO5J%@k@EGAN74-exE$NKfhn@{W|}(@XUOs@B{e+!n5*O!n5<)!Vl&T3O|%TB>Zsx zu<#@KBf^jJ={}Lqk2%7R<&O#Lm3`}#FrUyp>=K zj~|`F`fPPUpDkAUY}{Uzdzyytk6vZepZBW~Yw|UCJK*V)HaJ3(_co#Izj*YHrviZ|AzP~l~{gdd?eH;}PK%Nvp(Eslz?$a#6eZc*N4+sYfAHs`RL(&0_Ne48z zLwLAJiybAMQCYXSXK;)yQ6)@CDxoc@gfaY%U2gjomL~qCqP^EqrPFwO_nmRWH;M#i)AzqQ+Eij*A`9dw8hVOs|xN_-edn?Swd19 zZRrgzA!&{V{>>h?{SkLE%k1NGgdekv_Ewj6;b$x(`FQ$`>pp84OY_gO-Sft_FJQF{ zNux|mZ+i)J$_w_1N@aZVWES``dy$sj5U@u4EA)K7C}G{?W%INPHVYD`LKR8m51{H;y2eNr~bK9jS_!kc89IP+Vw zw+K(krr5q|wyE%D?(vrSW81-&I7S(n?UcP+c;{?qSLb_8c(-gfd+zQoaG4jj_t|>Z;5W+ed`s_@;q3Hmr*t*&KDCCl~^cY=^incxZN*@Zs6v&Uu8p z$YtKyK4l9pY&6`d*{QBzR^`?x5 z>9!`i?T@xZ#nzM*TXRxutvce7dhTXgt<1}qJWPtMAt|;-KE|ea14GnpZNqe1K1{de z!*pAobX!x>ZRMofnv!lSC*9VRbXz&;wx*=p%1O6{(hly2my>!6NxhYmdJ9Rtm6Li4 zNxhYmdJ9Rtm6Li4NxhYM7ke)aI@SI2a_N2ij5YBxwx{r3rM-mT?|yo@^Z`D{ns^-h zpzz+MgQPT$5jQCvLaT+O)f$pk3rVXrB&`;bR%=LFttn}>#-!Dnl2&U>TCFK*wZ_tE zr8Ax9tkPLD)7ho7sh@L7=LmnM^cmsLmOd-|xzgu^&n=xR{Q1)7h0iOUCwzYCeBn6m z9LYb~7n~=KK1cFX#tM>j-bnt+SS^#JzBUD%p*VO!FLtw|S7O1f}N(uI?fE*z6| z;iRMs$3#D9j=i~bvs}HU)GIus6xH{n5u1`mY>l4AY#CCD>U+|NlW4>uXqr{%Cc3aB z92H?}QiKzeA`D3pw(>(Zf)Z-V)%TF)777 zDaA6sX2u>#FE%E<*pT#MIqAi=q!*_oy;x3qv4P*S-So}7=PcHIpS{A-_Q1G`846EGDA|C4Z~Dso>XQN z?`a?NZ&aCO{?iV3T|U%oiHdVnQk-qPsU7X#WAbC9msd6aMh)7OG-x?#(AK0u+wxE5 zpY(6kpcC_`L8l}Q8ir}mJYTOt^Ze5^Xh<5goS&JiDM^WzlM!vqPU=TDU!L7mfpT``3u5}@uxr``(TsIW)!t=D5q)Y%i0&Yr^0UJb|Uc^$|4@;>3!`D)>)zeCdB z4M~4bO!|9D{&F<<5;YV~(%h0-=5IGC@4ypZgK(oK#mDl8opxeKj&8!P(X&mMdhWS9y*qr+_s*V` z(@3v7XBHc1XOB^g?+}gO4e2|210GX4xO8&)pUeMRexlrw;=meYlrTS3cz69KFRTv? zc~VVYRR8@=y}JJXHGW-hPJUg7A9Lqx{J_595j__y4v#oG(!16vL1dgtFYPaL+|YwuBN^Y z47cFQ3E@Z7)aSxIl+PE~%P(eQdRqNj?roBTJZlOWMKj2vpJu-s#;IAM)Io1!OO@NEmU>`o*pQaVP|X)6N_A}`Hk8l`^IA}} z>`{|O_j`m~GZ3=M7*$lDCT?!`5YnuI^ATh6$4(0UuIB-Se6(=S>9Hf;%STp7 z3GZ75=k3N$oHpj8ne#tFDC7r(%e`|)kI4DGP2~u<)*H^p=fVM-WAY`i-yik^awip( zT-!_1VgEHkinNJ&qel4UoVo(z@>mM4nT}H(2jP#{>N~~Hoqe;D>#7A<(Ezo zY<=A=L3kUlza_tJH4+hI4bAw2d#pz4flhL#xADR%xwrTv(@D1CoY@gru0gIS8}X*| z4hSBBZz2l&l`>RaD#I~Jve`q&846o^fI(duscNjisoZ)vpN+D_`$oXJGwMd4Lc4{&=VH)M&H-KJPoaC9%fG|feAVBG~^OCm|AnC?Ytb{ua&ZE>~1lXgTg zY@4q^k>d4xP!io^xX11xX>flE3L(j8Htc86)~Jg67M-K54KJY8(`E*NB%pq{0yQTI zhHcygGzV80zN0HpIz5a0xW~wcevfkSQo}p?tKk~$hSmHiG?e^=E>IboPFJJtfOi(q zOdy-E9lT=G(v!bi|Cfb}#!gI4y{WIm0=C?PoFryO1E{guI1C(9WS|`WLW1g}n8Tp^e1Ha330v+c2EyM%0a4 zY`6_DXK{&!pXdSP#;pTBIbe9sZ9~K1{guE2u5i2~z0GKj>H*F+bP;M!(@_C~nI1<2 zp}$81tsVm(wgrA3EB4ag5jIqW+*PGUyC+hIfYT8|XRL z7mbsBZ+Iwsj=J&j=nt+EU~@qoxQm9v{8{L`uTh}LpDPSsgNzq&kI-OlKT6|nM}6K{DXe_Ou3QdI@OWU^u|NGJFQ``_scHflh&T z#BhhZ0DPx|ZFa0V+Qw<2PcFlD8Jf$7pai}>islq(9rqlrn+t6gis3uJdb!~j=-X&I z8+GPq7{27o;U2aR&jG!V!v_N|&PA>Gi$LQBIQPBb4lOi%%fG>s_zNXC$|AIbAqgv>D8}yR4L-nkW;JHbBH5$u10*&h6+09Wp7mP;IsX$u; zN{9aa8QLGv-}j*Xg3#M|Xam{%IUkVYLm*eHQ3vt_;QIphI|EKKz_Sv?^KCKVvQV{b z1kimq@Zw6;1#pSxu7Te97W%9P{m7-EHCzVz8tAzN))%=KXbZiKlEr7tMDeW87*B9z zs4wGFdJ*uwXn0O98EQ$rVJH0t1p~~%@Z65PCwj?+qq%e@x;u`ynJ-ijcG>9YD_>g9es^GM)Pcw9%k|FF*t9#!W+y z__pXBd1F|Pd!Wz7mTI_xdl-^QF#4Q?LGv)&1UsA1 z=1+b{wnUFskPpx%rdRkh)S2d?k=#Xen<`P3+!}PJ4100S&}4ojddN4Rz5MTJ2R{>I z(77?dqapN);TS!NJ^;R$AgcrYd(@B!a@B{90KGj9`h5b>symv3_kylkhH@DEviA*I zStZbDo8bw?=mSy&y8jLuMrH$^8w{RUXV{E04L8Z3IF9^?Bgjv<6_sIo+7lXw){@uQ znw`UIZ~(mj9`su)z_T0R(27omHUQc^*#8r?5_M81L}_%#s^?a!H$h*4dCm|>=#K!ZAF{N?BYK(`W9u2 zHj>#%Q)4#LyovfJ0p$3vjoC)CCfY`3|Nc{BHWBQhd1Lf9Z=!A$Z6RD|xn{P$sWCeU zjp4-J_t&+E7keMW?;qC8HvoR`BI3+oVz~bgYvw<|`_=z(4Za0~U8EbsiP6wvZ8!wH zyMi6(^FXJiK)-??!fYEC1Uv@*0P{zfPhead&ayR$GVX&6v}OIk-tpJ9cntam)=8|7 zEY{%5Fn@yiG$hS%%D4tS_yYJJe2o9PzJ=}r4~;SL(rj^^i)OQahxcUsZ`Y###C#a$ zKe4`J>(fZVe3`$lnNPud2+;k(qW^Ffxr6MwGZ_@+naT7&H74UszRj9BZ?Wx0*=F)> z)|hOYH&M3D-@%@3-XvXO_Ac?gOs|+Xla6VE!%)t)shQ4UdPiyuKB<|*C+Z=lizI!- zbduDDp$bVqnd8v7&GZ%1Rg%79It!XS3}6!V*aZ;k#E@D1|;jsET<=G!(N zH_H1^<|m2o13!)NrzlJ8c_1(By<%g&kjd9){v5lW$%P0L$fBsLz^4=8Vmg5N^2~o{ zx{1j-^LLCe+!OVKQJ=hE=RiNlGudFWDE1rk*O|Wr*GPQ)*R{mg;y4G!Kj6D0(VM84 z$v3mV3@+yDH|nVb6v$se#WDvN8<=31;1c~$kbTJql08I8@~MD7_=2MUCh0U$mQcN@ zQ@~eb{vF$He1}OlO7bMq6!7CrehTw1MW4|0Tv4w8T^iStE|GjPX$?Lm^8=YbD(c|B zuE95@%ztD)Dfo>d-Pza$#x@-Iv7+DkAN2NLVgG;KmvH@mU5h+t)Zfmaw}1VcUX^I` z-`3Jt=D)4~s!vU0A88EqpVkuJ{cU|&v~BjHZ2{h8ax41zOh%cX&tw7mgpDIuUrB2w zON{>|-jIA&7oYrMH6@NWhg$Incjq<4ri2;&N=uZ^&wLDD-#eQ*g`Gar@t zd#vHDD2YWeu;~{ht|M@Sbbzhh<)%F~tfMjZz*vQ`tGIzNF`dNN+q4zjcm#XdczI#m z47)TFkFjf87|%Mu%F4JI11nedRBs$&-FN{zXMDC-m=kOV1_lHM2C|zJu1az&|16H$ z5HAT7M*ha1NbbhH#tl#SHSRPb(R9Sg=^tq%Uf?b+8RV)U>;Z2jM)qm!ji$#ij*kX9 zag2n(Dc(R6MrYRfHtdg>F+q?GyF7$F3}6f3yvF;&}Zlg`WXozB2Mt&V8F5; z9*)Q2*|-!};O$t8Ut$A*l|TlQ)8s?)G5Lo4N-?F>nmST{T27bI3c8(Y=?Qv{eoU{^ z8}thEKfrN2;CKj~M<1dF^gVhB@kj;qb`Z#RH13bHajuBt zHe3rhz9H@=9IpV5w*f~844ZJA4>+!%tLaW!M^Do8^eX)q;E1>&E{aR#(z#JwJ~y3P z%zeh)=Dy|r;0f>KgM8Zgl=*D)dFAsP;E2>pwVPV44g?%y)U6tE+zB`yu)s0Pgrk!g zjyWQZ7;t=NFmU#q-0(X>hHr5P!+G4&a1QK4b7=n1e4#ai<^@d&O=VCTu<)DkJst$K zLBa?j87UZcj>#Ot&;AvwGW7rjX9vU{JzI*fT-w3@s3hfZIozOPJ z{gu!l!|<*PLf>`&&i3)C$Il=4e*E+?dI))lhrJ*6df4M($45>NTR*aX81s-m_!FY$ zpF=BtF#bXAgQ53VKIr=(=>EKWd+!(DFS?(1f8zb@`;|@i=4aM&%&tLr49+*-H{Zs?*dAOl7nU2OGk6p1J%;z%L4$Y^X$S2i zXt$v~ldh81y?46&$sbcFI$M&;BBB+Z7}Qacy} zJ5Wb-p4!uNszTSPEBcJOQFrP=Jwb~91#v-d+J`nnpHm-nlloFMx&@J?FVL3|b@QWM z=nm+l02)YxXfSO~L(pCH6>UL7LCbxQen3CcF!U38ik{JM^c=ka&G(W9{z1L+_-m}cMr z90*zg(>I`Ff2vx5;`oX5XZjMi!b!L_{S)H!ZRx-1Ynn|*(2=+uZqLa$ zIZnnMIKol-3w_0L9FJ3QM>>&CqLXPJ&8JgvC)}C-N`IpZ=^~s8d8Ea331`FE;xt;$ z+0mtR8P36@IS0-jPoq!p3|v7|X)oFv$?$97T5I%gh;$o&O(`+cfqz^9k3+7L2g@Tz zR&c)!vPE{Fn;noNQXnVf4EabGq=LMh8*)b;$P;;i#cGCpkT2+O4QOzG6o3Lz5DG@k zQ3z^*LQxnBM-eCzMWJXEgJMw}YKh`e0!l=!z(a10+Mu?m9cqt~Q3sR)`O;3PGfG8W zP#Wrrx}ol<2kMD>q23S`?}PfHeyBehfCi#LC<6^fnJ5blK||3nG#q7vUI4koKjU9O zF7+UV97rG!(kCNU#D>@rTVhWfh=Mp0C*lm!r~-L(1smc9a_GS%5l==C4MwBTSkOv^ zXdaq`#^F-*9?HebQ7OoGIm*W?@Jciq72pMU5nhNcK<;ilnud;mgfBv~(FimVFF~vE zGO%M4&~!W%KLoAu6u)C~$$ASPI*!#|mZ!2&8r8^BslMw`%Pv;`G|-Q0>cYEf8st#x`v9mXpL zAIF9T+WF1utm*J!;aVJ~R(BrPNsF_?wIoc7TWG?yG)$eUrGcq^GyDgu%hlywbIR4J z>f8}IS}ssr!->)5gCo^i)GuQkEc<6@w8?|L8aGD|9-I`e<=A834!F8}Fg#$q=>f17 z4@K(3wR~82wU!2@XY|R?mUZ&dCU+X_rO~K6YtN@=XwP@@(hMFPu9Y>y2(Zo?=Wc{n z9;TJG2-jK}pU^Kuo9v}UgUid=^ZI4@YqVwMKv}M4b!^9$}X%f7%x_r_scku z401E-xD{I5KjQ>a(I4^$dujavSoPxL3ZR?m7{k&&Oq;y;xEf_<)VZQgUMCe^7@0f1Uu$uT_DP8iuxH1(jtQZ@;uas*LgOiJ$tDf% z9HWG@NGF%e;aNr!>Y}Xid%AqKP+Q{yT^ZYIZwrgzY*ESNme=!hMiozd}@nkWnCl9ECCW5ufrE}>9`V0nNCEN=>p5G!< z$hyg{$m8VQ3*)+yF|tOc7?n{u10wh^`^ww1P5?cD9!*{!m>X0Nu- zwZH5T;jqEss-u--yyG&*FBDda6vcSOT*ZFHO~p$m2d7GB>)mqhK*C^KwZp1Cc?YO(0dxraB_j?}AJqkPyc@h|ZP4ukyyzSM->yUSpca`_a zW+R)G`FMhdTH|xgx4?IqZ-d%d9iWa^4^baif2;mY6QGIL%+;*WRBJA3zV?gr+va!M zKhuAIfP26ffg=Mq1-S>62fYb)4bBX%4*sEeYV(?qxR9GItXh<`coNzxv^vZoEG4Wu z?0VR%aQE;Q;kn^!!*52&B2ptVBPK_bL>!8^8}TfXi;Rj)j2szR5&0&ndDO(HEm2RR zGonw%M8(v^2E}H^-i_-Ow?FQ6%j}kwEnmcsk3XN_lQ1*kW+F*UOVqXsXtl7_>!k5X zAGPk$y1tE1n-y*C+UB&aZu_oX-*y+*B8Wy0z)Hu-i}F zbGu*f(YMFtp7A}addYgF^*YqsrT6r7lwOv8y-)K#m3?jc7WBQ_FSp;T{)-2A512pT z*}#Z_1p|K?l${Zj@py1SCYRYib4TXQ%vV{>v)X0#AJT2e$)W0@B|~2f^B&f1*p6W@ zhxZ!3Kby-Ql3hPSF=Fb7k4BCeg+_H7RW<6joL)JVqisgd9DRFC)R?tn(b(~08*<}v zt8%MzFOPE=H+4K2KYjd*3H>J=pBON4)g&^hXwuEeVUx=y-^fe-kALZTnR)qn<#~JZ zPUkh`eVzA1zFmH={QCTx`4946PB}m2-V|Y~^VH0#+unpg_GWs{^qd(FW+u*@J@e?yZ)e5L z%AK`#*5z4W%ub(uw$!<_sPtN?P!?5IR<@z+@to8-o8~;28!$I_?)7=j^CITu%sV;n z!ThlKx$}=NP%J1}@MNLO!oCa37Jjj)*P^mTCl^~Sj#<2730cx@$x*N{Gs|Bu%~`r) z=?}|>E!(x+Zh6u2nib7gtX=VV#k-X~Ru-&0y((x`<*MuNZ>jLCD6eQ(-EMX2>Rzh{ zuCA|it}LtkXiegp^fkF_%GOk^(XF|*=7%-Et+iVlu(r+GfomtPUAT73+T&{**8Z># zt#e-&wXWN`k?W?ft5{dF?(({?*Zo#yQ>Cs-tm<2pUp2F;qH2HD`KsGhFV=JGz1PRD z@3nr+`q}F%*Y96{asA!(uQph1P;W@wkiH>z!|V-fH`Hu6zTxtQuQ&X*(Qc#P#-xpX zH;&&}wy|pCp^aBIe!cOxO*WhSHYIIJ-PCu}_)TS-sx}?kbY;`MO@C~5*zCDEW^=dA zBR5aqT(Noo=8K!}ZhpD>-4?4Y>Mdbg61Svp$=y=0rEE*p7VVbPTRz%yZ_966xvef+ z!?t$Xn!a_&)`G3&TeodJzV-UnCtKfbbKMrTEp1!&wu#$HwyoN>XWQ9rUu=7^o!hS1 z?!CSF_PFgmwvXICdHeM33%6Hn-@pC*_S@TE?y%b7vm<^-uN}EN=I+?Eds+1i*~Nqxo79uoi}$r+r{nj-W9iN)vjl|<97GhowIxT?uy;}cVFK9 zVE3~<+#c^eF?+i0$=*}6XT_fCJ?Hn_-t%&=Y_HGW_`SXMj@dhVZ`EGy-Ya|W?ft2m zRJ&J4Ri{=Dsh(QBxO!W4P4&g<+tn}kS?zP#*J5AFzRZ33`)2N|*tdV*(S6tU-QM?N zpRnI`zu*3({eAb3-#>r%m~JP>st?LhW{k^>b7Y7QJf&~V_% z0injVCZeWOO?u6cn%tU#nzEW@HB~jcYR=buRMSv%yXHa74>d1qULQmUtqv*@ zY<@86V7G%g2WK9vJXmw^;=y|dpB#K~@Q;JSA@@U3htdvZA1XOiacF<7YpqXhVr_D5 zT5Wc1No`r};@VZURkhmM#kL6n`>uk=WCZ~cWF;+ zFKe%9pJ-py$?Cl8;_75_--AkR7&PAuzCF;8AM(U>P7V0W=yL4LJ zdEIT@%fqt6K8J%2M;uN&Jo515!_yBhJX~>j%i;Zpb%#$LzIgcV;a7*>)H~NVuTQDZ ztRGoFzJ6|fRlTnMYW?GS;fVW@s3U1dh8-z6vg*kGBNvZcJ#yp7v!mQmpQG_ddmYU= zI{WC_quQfak3K&7?wIGX#ABU~r60>UmUArs*vw;#k8L}4{Me0SKON_edmoQK-s||7 z__N%hI3lYLK4JURd5 zmXk+MHk|z76nDz!RQ#!4r!r5CIW_gv>{Dw`9Xj>VsRyUtoOV7PcDmE)VW*2uSDdan zefjj)r++(RcP8LWn=}2-j6YL!X6~64XEvPCow<7E+cR&@I-hNEHsx&Q*{NsC&#pbY zbvAt4S1m+y=nGzZ>if=2t6~6sSc#8?dLEs(9kPnCiPsIyH zOO?iV*ui7%>`m`bz>Y%NA+ST_rZb+f;|V)DS6dpYYwwDO);qfTx{{$^fV8)}a9oYMmRjRtl|egI2{*@dqsY z6Jo^{OJkMLaO@2}%seuTQVdb_kZd`4x)Y2Pum;quC8Yge$B*Gj{j8mw zTWPHoTDu0F!rITcQ>QdTfm&kj$FR@^8SnE`)P*!%3W&uA1qTHs#K%KV$z5IL{_#Qn zeloet)eUxJGP&G80ZzxtTw`P6$#Lg?vp1A^d7fON9;GfT@GbJ_pF3uSv$D^Es#%`i z=T`ZQ^jWyxuh3`O_;FkC*eQ!Tq@3Kh_ln|^Yc4-t+>}StZIGfayy=A2S5X(&v>O$zjE|3vag_tU{(cg&2?<6@;Q!$q zAB^4fUc2%}=ej$3@0>JdyvJ~5T-OfcoE?>MT~a1E;Xz)zCW|L`u#>}-ElnrW;H1#H z4OO<~suu03o7r>GF71pVMKcHX98yv`;N7PS_h@JKTD(g;b7;}5fxU(o%pCMQnwuI8 zd_qwu(2D}S{2+GF8e(fAm1IB|nM5UT*zuMG#2t3r8OdT~-ari<3XWl`=H4>4vX5!b zRu0B<9>#;N9u9C&>#eBsZ({Sk)73ccJJLiEqhi=`!y#=r-2 zyY{-Hoqb}AJ|(pSerV%6bWQS{ZCvw|#XV<*jZ93>nG3RZgGBY}aOQG%PBj8Hjoc9RDO5oJXi z+WU)?g7II@m3afepc zpv4NUHG8^7t^pOQNzf=`$!I*pzn)b|J^1Tk@;5z{&Z!ArEmL4ky8u2R z{(eNMbasx7ai+mWjYLIdoItbM{C;4|s>BYh|6Q|rMZ(m`UL|?;pzW2P6bA?qYzLHh&oCoMeQM2RiT)gc4D75cFhX z&qYGCyHV5X2xUj3qIrMJCj{azim;9FjT7D}fFR@w8+A)MMY~g380-#dfGqOsHj29U^flr^er6m z_1RMts)3_RcDhX_o=*=|tnqePH&2*DNb)e^UGd@YrCW}#lb!wjtNPhLuNT@vvWUSQ z3w^g4;ARmO5pE0TL(;7ls*(6B81N)gtFUk;bhgBJ!ouk4Ttf&$SslU@GIVkR*w(*e zA=+Ovdjy^Dk7sfv`72yp2jz|0s+vgLA8lN_shM)-$WdLD>L0hQIi@ahpEPCCW_OP< zvq~s&-!gOghMfy!y1Tc}OsorSethO9Uwn0W)!rSew?K(8ku71W;`$_dL4fgZyiMS8R{VAwhcN5YtD!f^NpCWLn1(<43?9I1F8dE3%lxHIFMVj z^@(`J7Csz*ktOOqTl#M=KnUh9M3nZ&)v-k9ds00et>36;}pie)ns=RWf`pjSu z0)oZ@KINhe1VdC_w18XO{Zwhk@;s5xR<7e$?4)3v}q zF|Ka%Akl4;GZ`>q!n6ibf-46`*T`SwRMM1yuz-GTr(ahq+N|%lW`!p3>DEpATO_r> z?tz2Wg}L}on3B84(>sg*z~48=$47s4WXB%Di(3zbUm&|fAwF+~Tk5OwGfQv(^km0j zF-?fkH^4(bK%dz`21CTq7Lc-)Fl^)?WXpJidD~_J&NLjN;9~-)psDGX&xBvIeG8fm z!7Xm+XE~8Ke5&x9{u7~S#tb}_^vC>o#B2QC21B?dqfoDKII43D_hKhi3W!`cDmnlV6iTBg0;5Ro4mi$6M;VB#G~1@t zo-1>PX1RyHtlo4e*lXu|eR{YxzrS(WR^fHCNqOUrdihQ$%&lMKHFU&~ZJu63ax%Ab zt;!AthMk#tJ{tjHVCIGr1OgG9;Ofd8 zIFo{sx#Ha7Ga4lyv#QUAP5uFI*6!XF(y4_Y)U}!!9T+ik$I$hm9)2T>N9eq~Gy6Tb zRz&+|VAs3fVL#y~;hiv0crCp0ZI-L{#*Y?eSAE&=+rC40p-Z9Kp(QAQaxM`vWQsQk z%aH=r(h69LeJlF6w#?YFYYkrt0$vW$?O-^sqm@{O9H2$w1R+dwL!G zla|N>92EC@U*KjkR5u*M=#PjV3g4jR!P8Kf92P5++oH8*KA2qP1{GBa3D`}Jn~ms? zw|eR?Ir8K>?@m&@WZuFbbMcI>p12t5#aSQC$GholnA1cdQy2uZJ_rrf5(Oll8kvgu z(0tP_yn^vQYq|Q#uB5`aq{)-?uO~5n$DpSRA(t!RV8d{*iL_xj*Z>X~z>Ne~f*}J- zKn9lJddb9t%==O%U`GO(*MyeAS3F5y-iFt^dJ^9e{b}z~VWCH~r?8+5E4*aQ0Dh=& zphHBR8VxdB))sTrfZeCr7^Ybyf`O2mJQiFu@YdtOYuET8N}M$y zKyGk}8i7*QsGYGt6F?{4j8x3^lWO7tIlj-Wfj<($F8 zhy8Xzz;TIjM1Ns^wiV{zUBL6PR`3@V2@8bCF#nz*QBa++7grOx;3SZZM|+RakN_9= zmoNwP2JpacUJD#-3t4562Si0K=^2XKaMrmS< z1%m{zq0IJ+0UQEWA9Q#;%uOS$pB+1XJwB=pcD{J{6YoN&Im_nX36G9mxMudgM0{3u z{{>{-?SF={jxNHxZ*(6B_rLq)SK-^blT4Nv-A4o6tzq0_8pl}pFLKZYa;6Kwf3YzG zRj#PBZQ2DP0dpb;bE3g+6o3R{Lj1|DPk)OKY%5&9D=fwSBmOj0{W~%!>fj+>E36b= zoe^#bCwcAow|+SA`|~fcpQr~JJiP%PTgm!a#62Wm!+Z#;vmq?d!6HRwHj!yyv!EZ- zz!V%oageH^ll2dZNxn+&iT%j~m459c;!Doy_vHdO`iG5h3=-*Lvcmr;9cBViYPAw1 zK{wnA|5Y67WEO;iL9z*o3Hp1BiU5KiRQeTDi67akAItz?)6!7}@KF))ky`R9|8aDw zbEGyR?ut5dKC%oC>U@nC`9{|Hm_rh1I`48{qDy?&u<$t+v4ft z01wum7sdV@YG&spEn|U{B;ZZTNK`o->)n~)`@7dGtkhOyO8o)ej&Cplbo9ELi*wFi|O9A`SG#H%nl!5CM+8 zQH=eI;aYZ|EBIztVcQYvd73Vja1jUB3}S1Zx%PE-=ClUDjP}DAXHB5}i~be*-NyA> zLyG;f3bLx3@!Ge~Zhd|C+TL|XplA_8eGuYi!Mp6CzNd*G(z~ocDy^g)3so%!)fp7F zL>wH+jfzGdsf(0DJbXAT%*6!c0>*IwT`Z1uVMCY&=AB{|=i3j^%3-nDE8kCJ`!q7Em-7L`|e=Dg=nv!?qJtH~pQa z7NKE@z~W^h=ZJaCXQ3`j z@iVy89feBa7xEi+7oPn1%OAoI*z>7mLo$IrHef?ij1;oyIMIxYJc-3{y{)CD25n`g zynrK_f)oukSZ1Sz*5ITPU`xDt-|oN`FHb}oA?&QMN zwMM#yigZ&#Ri24%77?CCHxXhvZcS3k97PKS367r}V!h_Z_ixk-m_OwG?5gk)vHt@J z4-0R5-s}0Ji|W77u^aGNKfV^?Y5q{(bv8&G>jG^p zBMFVPWkX(;1d{s)8HavNwC*^M(R$UP>L8Ehki&WVl$&$CTfqZk{nelP zk2W7V6H@FmZNbQ`O0OY1b!!9sp6xmKD2nC>ZC^CH7Pnilx<`)>PVcUJ_UVQr<=Kl@ z_Uw7}=>7vY@AGF?v(L;xbuQuxfam2<*ZFsyAn8Eng_t`fke}p5-x%l%qd{)CFk5(4 zh#iDd6)oXY-<;%A#rOwCLq*wVdNJPkd<(D4LjN~9MfOdEVNxXH80Mg4j6)G6H|tuY z@W-j@<6+m{yB0WY?yRf+*Ldwa{>9fne+3~r{@4MX7G_vubQN$b2i&YJvcZzMv3R#M zG64Ms0R}fW77v7UDQ>Wq1rm9we&YCxrSAsfL0tWtba*0WRq-+~c2K2e()SjAm4z-9 zLub-kCA((9`&v7uQklw!L5CwFteiohl;8*smW$9#C9=+V*~AoH)*g>7*8h7_M_v{# z^q&}Cgtwo^7dXeazg)zZIL9~X+@QI5-rIcuAmjv~j+o1VO?#-n72j*&Cs?GfEo_sd zUv#$Cc8q5s)eIoQ61pFjat0`~O8^_#C5&T9M;TteLU6_Q%l{=4a#rF$g|{nccTC3U zWAr|x1nU=(ZwX8|zzAkia9aT;Yp5vxJ4_aRBf+FYJaYw1FNLTrjU^E>{CJVRWk(8+P&T<;4|3F19I_KsN=YANM3GZ|lJ|cy(GLWYLF()LqP-oD;mhK*q zEtYxnB&S+tbQFF!8o9fM&WQ2`E=<#Qlx&x#r(5rSw53``AEcE87K z|Ab%&>+AKxNBH03`-8=tAEbal)o@J`1?Jm4fD6xn*Fz}7{}u$kE(`aZ_F>O`va;7{ z<7JNlpSk1?fq@S6lmB1)NeZg4Fb*-Y0}PV^A`1Na>l8d|KxSSHk@>?DzSM`{hyBO^ zBaC|tRiqR)DU2>fgrp>sc~?Nj1_({Y>)WWv?ZBr$eqMC?41OKfzLaN>jmSGP&CK*Ru8Z|9uR#KL1aV%2*~@XXhb~%a7l9M=91|$-bFr?=}WV4 zF35LXP*WFx?*s#NqaO`n@K{s864Iw)avwZwH!;R(jM|be;N-O3pH(u&+xMs1IxqLW zIRn->O(d$XDi>C2#@pKxp*W*9I^xL0LrP_G%dSD`;|`Q>+rMD?j9G)RZ0@m>d-c!T zC>7--uL_M$tMMbrcEXC^|wA zX)-frjNzJ@V~bgCFeq5g{Bt*B+~1!$Z!$S`6(jz%e_X@nKBa!4qj6%SJ%1 zdmw^qfrzM6pi|A6Oh>ImJd}=N>ctWdW28CO7_@*u0E8(TZ8CTqxN_iDf2cM#i50jUu>z~cg@I)UBD(HpuZE; z5Si#N5>}$WNOFn(jj1HYn2j1)Mp>jBaxNnMEmKB}{@&*FSF)t6E2PY^zsPmOVMZOt~Ww9|;9%Bnt6;QM-Can#Ww2LNfQ0l(u3f z5>&96PYc?>k4SwW*O)Rz&^0V?6qt=n9oR_f~=JSR@?Qy%NzYHRb+ z2i*w1ZlxNm!q!*oZ(;fGpA-+?@p1da0m<;So$D2R#L^m(e~LjRc|l^_O&Y6;Ec1`O zq67`0{40Kp@aDmDD}{M9j|J^jP}c=k6Le$(NIjEwHz^;+5|PE1m%1!f`|qCV5%1yW z6y%;d&Q*QE<-%opYxJhtYFq2kGWpEBO{3q18u>^qbf>$3?mjR-XR4VdmEaP=mv%%m zZ*9_cQe+(DSah#JKbe(f>D;|Uw(_!Yx*2vB1z9GxN-%{4So(zp@}$&^DMDZj90QMi zv8~@Mbx6*w@W%&Rl}EG;p4c{jr&`HJ&+qyEvdH3)0gT_qIgc8cx0CUk3sz?Is(5?z z{^MZvIA8x`TZVJVsla%j{+ydd9Qx({0?r+idC0QRQjjGVm|-N!yx22RpNUSHL;*rOzQ-PL`L9eD@mQVK%2N0QeNPS$@UjU5ieK1dt>b%zE;YHPw~zkSLKcF7apP zJt6jR(e0vkMSewG5{}ys&oy`o-SG=}t|Rya?fya2iC9BdTS%FsLhID@4kvhrGxOh! z;T);&lIt06{pz`2+?aa-QSq4&>ngZ|fY17K(I@#}}o z%@3PjJUJ!|cg&fQ`kA691tmq?lRV z|5T8q6jQ?x8emZ($>5nhtwR4lYWM8dcm(`jTfNV($ZK?IQJtrUCzPUSJ;=nbuv~c2 zu=N`#`c>T6`}tQ}x9+<6)n<^pdqOr{3~-s*ZP7YQgc9MBc0>y(>08N(0tWcMu-h1% zXYiYt=8^xS+tfGi`sTi~111#V&>Y9arRl5Z$CQNj1w|S)Nja{6-sT|ulOX83b=E)O z?=I+?F4PKluuXoZ{(jFvcg`AV-34&kXu>J`A82hM!J-IAI7yC)B~IqGEC0z6VWSPD z7>$zprO`-$BQjGHFjlx#JT882HFcBFBo*4`qxp|i0!R*d0b=AnWTmK$w>8=2p|`<%#i zMYnTZ_~^xboC0jLmQejPikFI=$U+#J5pI3AmAcuL0dy})1UW5iVqkV@ngD?Fr~ z#>lp1L6jCeZnNwb;HyaxVo`4(__(?FsQ1THh`a}#sN^myv1oO6~ znkOCRoq^U`UQy@J)Ne3~GrBtFv8h-}M!NAW*AAIe5Iw7Cc8m7Ihpdj?RCIeS9WeOm zOH!aOzp<%s6t#PM1$dn`4-yBLg7ocS>#_SKFeZM@_&d?iIFN60W!s?+VFe| z?l{sH%TjPai4ZwLLuH+X(<6P0@Q7V_H@Tw^uE7V%owrxW{r&iWUc;cph8IAKY}mAn zQAx0h5J@{0eI#}z^W*+YjEY4iAlL$)#0eR8D;HLNwxm)fd{d6gK7yHT80+-U^mp+k zEVLm(#K<>>dhoB;iS#p#CoKkM79hR zbZV44i_w0u7sUi(ySf-ko?M+Bv0|W?uuu(PGX0c$6MelK`tbCw% zfJ<_wJvVT&OMv&bjWXLY1#SV#(fvBbDFQs=vxEX1^K9S4+4K9kEt>YI?)#YT%|BfA zs9;+_^Bv7;jKD4derH+IYoK~&S zq6VFtnneb*Zjt75b98bKH+B@9X$QcIm18n&jMxPy#2RxEv2r(vgZcnDFd2qTQ3vNx469GVZnC)fE|+`t+^1=J?8m=N2POm zdzF_wtbGy-9}0kP7VPHK)CIoPkcf1y3aHY88AE1SV^+&+R;tLfDC7+xTBT5EJsPwg ztTfEXbjI4tV56^T9IkO{*KH#^jZX^h7MeK5aiD7B=#;$p;I85EV-@7_!V_t|TEM~t8BW*Nt+IOF*3Pw@4r z!`0W|yJUACHT!tASv&^={D^)JxgiZIFybMq1}V-gsc!Qitj?Dc)r2pkvwc}Q8y4nx zvOEAJ1gynmt9=7Z1A?@G&fQnM394$%s)wO(8K<$xbSz^>W+aWH2&oW4BgZp*+|nY* zAeCOBlEn>m_gSl29UJ=j>g8pA#lAhW22}XM$U;Tt)V_DJZEmi^Qn*vn zDXnMP#*E$R7bg^dlD;c*bK8`zDf_c@eXmTMdb!t@!DPlGsFsTU*F)?hG%$XJuO4w_ zpj+IeXp5+7rG9n=-_BLqkxVEQQNUzB_?k7~dDM~jiuDIYetN4%ltIu6Y+>Y^}U%P@&8V_+wSjX%^) zg`rv~8x3mO)p@9cm{58|9(DBa^@#MKL+d!R)3!lscG@-)CZ@6?$~tGWla`f!%;t+3 z4U;A^MQsBKlUt>;D7UN>5b92$umeE_pzDs(88f|=-Y4fwo93SFoI0R?sf*IJOGcmZ zN_}zU^DnOA{P6H+x2_4RX2#+5e?G8Xs=ll#KHRXqsvvhyY02WP z6Q?c^?lV&bQ;U4@dyt}jiM!xkLQj}tbX>@U|8xQL+67Wi9f5yYUTC(FVqye`F|RDl zIFB$=r-Kd>ScuLh_&iD%Z+cbM2ghTD8rxA4Z(kPaZbH zv%Req6@H1B;@NCYhin^%7UZI5OYfGQW{u6C)OPTo9-VDuxijCNCtQgi(4t@W@QR-C zol{s{`*isFy*>PY9YMIja1Y6G0s0fx7;VRMXgg{R)?S66RNFi?3OP6c+&G0sLqi}o zm#BZCg733z628M;Vof;5>VNnlz?Zh5Ib)!b#YAV(cu1Tn`SEp*O(bE%Uscnt&cm2( z@`%)VsYK_@D^eHhAqKExBQ56B`nku7Jgm@$HfSM?oz(Oc@JP&fPHD!AP_Lt8YQm^X zVAWJp63hbI;J^B>U~Koy$ab%R?dC;3yL}bsg@-@A^{KE5cS+1%{7rGO(ynLwmVvg` za>|iWoVDD_A-c=LmF-5@IV++|@0^m<5k4Lhx+aEn zP$^vd1;-Ce9hTlD1Io-W68Ii8P1F&fAuK04L1!?lkf^_+AW3`=uvnl|?C1^B06fm< z-_pqA676-4?qaClF|y9OiAH}RJUrAW$42gy)GH+Lu*S7=P_Jwk*NOq@qb4}Swv5Pd zaEOYH8p2(jv|?RO-ja$jX?-(N(gqA+vNi_(r=0iU{{^vy$aP!9Ty0C>bsT)v3+$u~ z=gGC;K)hry-c&Fz2*L!GWr&SN5JKdDFd2Z`I0=_iC#MQ^PPljKDpEn)kAqP8 zk#V^GZEH5A5_o(Q*+{?;HK+zP7C;jhSqcWeyu2x4$s!Jl@8FOP}lQw&i{!(EGDh3HvI5je3JObRuN_1SC( z1_S1`3-$_DS)@~1v#c7tpO~~Tm~~?|Pz*5Qd8J%%+K{Y;;hT$Z=Q_vD>D@NVZA>8! z<&yLZ)Mr=ZjiJtOuatJ{me^h|@OPQL!SFRSM27(%+OS#&7BCTAc1fb8IJ*ub=Ac8k zM9CttOt)ctIk(5bogtxbPhS$gAy(Mx+Sjk&q_bxpBl&nF4FqcjbC#jr0gL(tB8Kf2 z1uP=@ptIS$+urCgK%iiw50l3sy^Xm}aw*RNA%3H`7#z$7o)98SSmN3$QQ@*;3UAYP zjGbL<m+>3v6xAzWJ9q&6W|rHn^jk@eWXe*pb|70oB>rT!P=4#xf`=u@y8p&(N% zMs1pv+9*>t-l9y|fZc#eFTjuto~C*KO}o$?M!^DQ!y;U!lo``BFo48FT{}HLznPo* z(6lL2ea5@Rr+1#Ba&t}SnfjiRE80?b_Wi=m+SBjn&0097aAMh#Q4IDtw1<2~kAMy@ zbb|k$3%*IG6#4#J@Lgwv4h{yKE|Dr&7s0n1tzf#)r$i&tQtZJd9N}3|6v^Ed?NJ-N@B7=%_fqPCv%&8gwA$va94|dO|;ESUO@be&=>rXtrTV+ic z>*|#@yw^&%JmPz6(USRo-iymxv1vQ%xn%deaRUn9&u^Tzv*OI`xFOki?G`{9#=lV1 zDr0=l@^5pEoG%XY{>u3xMa8@d3s5P<0&uM&vffeQtAIHt?G?RYWigPqEcR!aakGG< z&c;ESAYh>kHSnokR)+`U01-(sTsX>RZs=@m#q1U4#Gnp@7hs4l zw=vC<1pN#)71IPI6obKpeB2pNzCHXV9@p3Nfxi#e+=U zfoI7|PuM6xH2m;U2T>`na4_#_0AG$_Xj4#uWhlt-+Z(Oh3qXa8kuLVZ>H=BE0brSadn{vqiWH zCKFgCw^{$B6O6iY$5n+9&L%1G{^!Z#1IRnKW}f%H6nTmL--2R|njQF7@IM|gEh?%q ziI=2Y7idwD_&8GM0D(8~z#YJ3n^6S<>y`;@n7+b%8Glw652bQO2L^xL_T}zf{>^_r z@-i8UV*_UXT&(r*8ZsBAvi$4W;ScT#XJ9K=zxw2i#aaLmi*-}8_@5x3k%`#MLk6If zJ8y!P@wYWECMWEj#98<-ug>iI0J>)4QJt@N4IBTO70Qa4Zpp!b*+52RCQ)CZ*X({AtB4Cz63ViER#K)p4%oo&@ zuVjd&K#nEaQi+%}IAEV_Niypfrv|7JW8;W=Rw4#7YrH*J_vzXrU)GE5Bh4qbvLQmG z+0D%xbfL}t*>zB%5!ZBrmBX;{D>E9*pql7osvvVS85OfK85Ru#^UHK1hNW0BL)VX9 zsZRQ+Y}T}9n$Hh@;Ow28l~th}Pdxs$Zs2s6ls$v1%0pfBC-{(zr9GD?c|`5h2d3-^ zPr8)5*+rE~i-#WwA^1a?Z&%f%Q3I#ftgPOjv25|ek@m9HHN!J9hU;&Q_PF{mB`z~A zeQZu^9I!HH>^NHSNfqzAp%#3>7^s2r=bwWGkAUxTfU*~6{sAA%0s{%Ipd}>bz^n+&1EbwKc!fI03D4o}^Zc9E(gM}?0JpY!V6f~D(i?5tg6LKnBz0g%HNllMN}`|qcmpTZLOD%JMS zl0Tg_xFQUbw;o=-n&s_Vq%NKXnM7!7h`S`)0;^&F-CLKWe(qO?K68gM@{a1-uHR``EoDd z%)rdvYp=cPZ>_Z-dYtU;b-;c^z<%}N@OZXZAVqW_FOlKld@A%3Vx4x*es*s0*{v1P z)htF{lm-M!%7`v(I^~q}?XbW3J+&cOtHVMLP?P$ReaiY+UnwjrH`QC#-Iv(!I;WmK zu|Jy{boG(HW1o3X8ryVI6Z}&KdB5-__$6e)4aOf}tJvZD`D_(k9X=1a3uPm06~0Fi zfA=u8F9n0)f;b8+7O8rVo^alt0;y6hsF>Kb2KU{NhX9WvmWgKw`358d4;Fv~;7ZT{ zWp2c$#_8qZ!NJI%T%kFhS^eqNH{ zyuOUB;JFAb)<^KI@CsBg)ky%U@T>gq@}K~oz=L4)sOH<{maq6bkwZgGJZZDJha7yZ^0rA;=?Mz9-BCPMET|N!olp=YDr0ES=-rNQ7z5DcjeEyNoZnm>DhJP9vj z&bL^|JhWT#VFR-vl@XP*coEyuSJ~2pzon z+PEEF)c#g)c_<#r~8v87qF|0T6zgN?-IQA+|))fwScu zNm+_$A>5v8H$JDlp7KC>M5ZILM!nF+MNXTt&U}m4xlJ?Q0_^^G0>zCn)mS{azmheM3${g~s2AcZ6#S*LE4b$_)-DhtplTdA4|NtgsF=R88u!Vk>+gW^ zsSYH?v)B+*-i`u5uePTgERU=c;i{2mZ8RccdwPe_y;j%1pI}%A<$i+!!?M#(#+iZ^ zOp>l&SUqV-N z-iT#fXfUU_bW$yp4(GMgl>_UH%C5{BUT?+KI?d~q)d*s}FlitM)_c>MfheLb@g8wl z0*u!!0m`pmC~y6I8=AQ}?8aYlwn^}l8e<9s->Obu>S8uJL?AzTvT)2YH)HamczcJu zY^|q9ab*oa(BrUi)L3i+*D`4rNwa9OYVLaEfvH9enSQWqG^QV^98M`Uyg()GoH%|v za9S=iy2q@G>+syjU2AGNypNgEhtBS?J}p|K-2#m}8$V#$lAPG4AMxL6!@?kZr_ExRn7G<^R@IOnM^m{4Yx7 zY4+qBTTSuXJS6iVf~7BjvknDrnbVH*jF2mSp3z@eh;TKpDG<|glRtozj%*x-WLRYT z@ezL*-zSXp2(x*?#M?jvu&R+t7wIc}PO`vaIbqH_#pmdf%{*ZxZYNg-bRp4#Qd{)~ zw?*T4gNaFkgk5wy@2s~3aEWVr*pcLS-3#q4we}o~-8Um5(;i);en^u+_G7E9tD|BL z&W_5Dj3;{<2x(0S ztx?+&CQE5guMaSVOs_L%Km6q0Ipur(4l>4=8CCCi)bOCwyG^fs6p=Ttz5MMPpTDb& zzV?Rji-7?(E;D|h-J9-)iT*(zvxDyqX$eiJgwoFcv^SqQ>faQVkp2x$w9n#Nz00D; z$no2zg;|3B9x~eHz8ah7nC`D|G+NT(F6=0;gEV~&oJkC(U{s4naZ)-f%nz)TLb#(Z zW$V+!I@t*oV1W)$59c1Gl9}caI}#?z86P~n_8vu(Z%KiV?KHplQLwl59o3U`PpNmq zVdK+?%8~w6Jv8nKh>PNnIg_I0w+508@foD^JuyMNcL~aQHI|9Tq84{RmTM$EsWF7> z;HUUpTG)kZ>`ujA<{KZB;|F3Z^ur`wNWMOtQ+_gH>A$2sT4S`H=kl5sbo&(%jl9FeR?`7<+T>LukPvr|%`A%{4*=w!y z`?u&?X?|_HDQ*V@A8Tm5A~O@B#8mrd%=WZ2!ofrX0Dx007h45}S`sYTmX;PHaH?ef zT9V17gRjYqB}4X)Hht5__`Ch^VaI3SCDtA9<>K#!+C7RRp@NvKRJ;vZ?_>wG48Ys) zU_Zihc&GeaDPsS4`9_}&a;Yi%k+846LO2`m6Jk6e%diPUsD~z6J!(ukm5nGQ;)|op zOtNmDGJdLkRB(QmwgZDrZu5+l8>jUcQq-BhS3YoeSMXju*8tO6B-q*6HA!nsW~#Md z`Nrka0@J&&ft`qfQMSP!kZ}9Ea8lACRO5J)66UcttVNqGYadeDs&U6)YjMk_od*Oa zC&f1k3~;#;nwqk@3?137+rVKRvg$QV&&thLdG-aR3=@{p;JYF3YR`6?FX}^l)V)@H zdt4vdH{`(k?RwO(IMXBQh8yGV%WTm$)HBA^#D{r47QF&_ohRFIY8JSuls_+WnX^ALC)er0V3<&~a_^N;8vN1hfko z*RIaA%%qlqrdNkdnb5wWZP2udo$^4_aPUI0=?404@IKw>Osh?o)$pau&^yd+R ztzJ%@9tHh6bqQzzdU~%IuT;Ht(V?1I)egJG=(kGfCnZRv)2I z9+b@9TJ=&Zb8iLdL4(YinH=&Y^FF@TAXw>;6A&$`*uo`8B+wlsZma5&A{IfY8i<}` zx#y~cRmyGe;evp@Yj>Z)r?}^q8AG;88noycY)4<^J^&CLSDyQ+?`162FRDw zG$^IGs>al!?d7|iJg(|%^mRwC5xJ3qO3a5}|L1-!hf3W4v11F)pz3>U>VDA6B6=Bd zReskQkbxqCDZ~f{A{PO|QDG-NZ}uLWCA~a;(M;p}>~<}p7|ue5#5WjCzO(T6@zUkE z#TjeqgFeI@kP79bX_Sf%{aPzd?Il1hUFoZ~^pV4x_Knom;eED1y5R6OEh&+0C9-)e z=QHZtbDr<9vC0wuIon7=ToWTg@*N36Y}X|pEMpode0E;hhsfYVLc95pXs6=R~Pc(J~nyMws7u3+vt*eEP*@& zV98bi!n(S2aH=LA>yAY+uGO7RoIpOa*^rzJ`^A?JfGm)Cx+IrRP=IQKz?5_4C*G)2 zUwQpyDXlEc^u+6Rb6A5{jA><$ZMvSCxnRHPMA-@Bh9A;vE!=DTMS1nBKa@{ic!A|z z`HiJMt9<Uz~<8yD>?E zBk&^-nN=rAK*|AXsny;*_D2o^Y-+S}{Id;+?E>3Aib4or^c0O5GujqrpyD3e1ygSEW`QZKsGa6+jqCF(6tk#clH zKMai3U&zvDJP7h&7$TnceW)n`d`fa9ZeheE>0N%F)*@^b`4Fw&}p zQiC(~B~WS{Ctt1S&-eA_6v3|j2b~eg7Hdr@vUX&nCdQ`Q`fr+-ZOs36f3Jx#+1`_x z?Pqse(P(IJ-=32_8OA1+A5Q2h8;1o4^~IDdmiD6qCD-XA20h|EfAQn#qu8aA1!O_9M-My_b<{bn*Mt*sas4Mx3Bf3ej}MP~Ff;SjCGWl0q_GlidhF>d-szj?m+kc| zuJp8Oe{#c?^Cn1+X}F9+yD4$P>sdR}v=#C6syp9yxlJ z_x9i!L&nT*E}4O*x_wj0XRjKql^wKjX=2t z$9P2q5=lKy{(~g3hO+R=wJ2XK(&DO4fTFntj6r8Uf$Fs~0 zluGxZy*cLWe;)~O0OdcYz5Tc^ESS)&iLJhE#`zSJyZ8xZ(tC+j2K2INcs=n4<_y79 z)K(ii6jlyV+()#m`nhGONRsipym6ffd zK@j8ZwOm>JMN9r=31mN#$BcB9gfjcMm%JnAjMzb zy7hRRWBRbREv*S}A6$MkUYcYpDIBvdEWFR;T~;Y5qPTd}q@}~m5AQj)v1Czf()=!a zw;x|-Dx5g2U(s+fC9u!w$|RX|xC=-FLO$MggLwG>Nk{Z|}(s&L%8&^ORjs_Un^ zndJDBdg3mi4FgPE`SSTtW$NOkkx`vTWfhm&9XtERG#nEeRKIQh%JTTgJzH3R$@?Yx z3UyH|2d>VXyK3sFQG1dLqKn%$ZS?N;SuFAd+hc<9L3xZKc{XI8zjl(F0^)rBK0_)n zBA)+Ioj6ZcESX&AgR&3qNKm|g<@TG#`WMzt8Yc1*vY|ij&Sj3lqiBn-)7-ryplW~7 zxuATc8*xufvkRnvw7Cd!cQw}roFkFW5rZwzlL&-{95RUryIiOnZsA?ezKKx>T(HNK zn5e%WaxrxUO}Y4KfjZ@aXg#{>2e!x9_-|rVLZN6C2$ttl5WWb2o$Wd3Os!|HWw#`? zN*&ZG@qn>$<>g6T0|N%zLO1S}QL4nMu2lUh=fRhA0r7>QFx9*$G_@F2MGy*Yp-Qwa zZ0AWZ5a@z(t5o1eRDoj&mUP-xA?*Y5$my2iB~n<3IlDoiE7%s26IRf-#t=CzEzoXt z1iET;?-kP2oNjbJICQ*`jW7lt8dKSPK&fOLV+`0l0~1&V5^b6*W8@RKKXnbGFt$yz zW}$&ZV&x9mNN^kt0MiqwPVWfR#Z*0MHMj{0zqR&7cO9|_Ey=zcCIrVlu9~mKK1#0S z6ONB3?hJR1Su@TtZqvs}iL+N{O_&hw*w!be!RV0Socpqmo=tZ>y1Z96TUhsIkK^K% z2CglcK4omhi9HX_99y{ERS;R&x=r(M&p-4^dith;gBE0zs&WH!88BVC349UXY!WUf z#QhU$mmi@&?Fkc5o3=pcPy+}CeSB$)a8zf}Rz;b$U?D0mN(PAh$Ej;|th7eibFS>% zM2B2Ye#hI&&r{OVmD%z;=qtthBdmt3AkWel<>sEHSS|M~MWWN6oKRaL-04-`^BSh5 zQ%aLF8Nntv%lQlfxle=7_x7Cb8dvrjWA%UDb^o&5^4hIujXe?H);gs3q?2h(!GAw> zYUlk<{x$Hg-<0!JpZxmgPUU#7!9P9^{%Ws`mZxFu{7!^x_)9F_-!jLjcBF(%*1C5n zGSK87KvgIezCxI*yvPWb!6&CNbO|{)n^drDTk@oszN4l-of42%v~Kq3@bK+@;u?$z z32NN!sV#K_>U)jdFP>hvuFBxaeD0HQ+vt+Qt;q#Zg{@lT*N9}!uQUH(DPR(ALl|w~ z5i5M9)~XG0&(2pQ>a>gjmsAslC&q~3{J^VNIWUTlQ7&#~`qG9lz`Q@Uts85}QEs0k zTLAL0f<0S#(Psyw4xB&ZY?AzTyRX)}ZYp1q1@J42@?KIk|1(#AKMq=>_>bY*-0b1&g(iUHoaiG z`9cr##`j&x(^i=QNO}JHRpk?#(ty3`V9l?&znZ^T`D^8iw?moyVP%FKcKhH{EWm`$ z*i|nm{p9D2?SKL()L5!wE4oAEId5^*xs^Z$vXO%%wMkTuQ*EtxmxV)Ggeo5IR3(UE zKy&zX4U6gDH#FVMTF+7X-xnH}5)>XB9+Vi=wYxRPtZbXlK4=`Al^c*+BP=Ax*lzb| zSfo;fw~=BUHBgpHO_qf#*$C!+K(?|Y!wO9d`bL$xU6r=RK{&TKl44qKM{JeHfW!lx zKo&AsTcJxKN0hkozMeQ6uvQvaD+1U<_3#J^#t%;V`GR@J`zeto=llqBd?V%eZ~B$> zJ9V(}i1HD+#f!`rpvp648*@In==QuR*Y_wll{dna0qmHQ;}yPF!Yi)^GMRwInEi&_ za3}1cmcUi({1@Gt1>}TtXEL1hWY_^(z3&M!a4d@Tq9-wqTnsQDXEr`L!k4VWwj^xJ zrrsDI;sA`uzU@0Ju~x%UbN{^=P0N~Qbsjn5fwbtF@eAUEk{W#Q;IL^yjUOo8IW8x4 zd>>IYj%q+EJx`LxEQh4pi=Dot2q3MY6gE?bEY8IIToAmZ>N2IwxD(%y_ zhN-A#$hcX`0CdX5`4A5lg9jsEwUwx=*ENL^k!H?#{w7*T-D}UQhJ|pxZr&D#P`#)T zhgGVH<9X6z$PA@QzuKz$GT+IAux7CHbO44RA*-1d{Tghh-V1A5q8q%lv0z+ax^5hb+P6f3%hTODf2>&31JvV;-U}-63i|+lsX~4*%Yj#Mhu^oNWLny|DXr}oj&WJoo-zn(=TmlWt zc~#sr4-4QyEP`d~?;I>Gjn_elO%2`+Lx-s0K@^=5X1DN6F`Dqour-i`s&BKSn#R{K z-uT>XmT=_3)LOTmRL0|I`pq2v-T4$p{G8JRHb~}$EPnQ>nApOlm}_w0=98~}j#GPI z>8Wfjfks#=ZS^+tE_`m;S`Y3ba#iM2*q;puluarZazjgSp)T6&=R&eq{F^m|@+c)b zzYIr)($mAhrg%2czq0Au0(xi+q5@9Jw}BoSdzf-yS~k54|3T9(1SQk~7=9A4p;GDc zviU6j$ipcaM23~#?JJQtE0em-#{Mg!V~Uo^cA$e-etY`-N76BGKTsplyZ7|Mm5-?U z{5QzZH?eo8=uXPjpV+zI>Y~jGl|f;2-TkvsPzJyS-L7!kgcBuh8;nz*U!q>LNw{d8 z*Yv75R2O*e^rAKGws+Cqv1`uA53VXjZ2yH#Q4!uIbit5URQ4OsVZA~3tO(L2xVX_J zga@~7Nq1{9KZFjhL79E<8j#lXMfNkBfJP2dDGMo6K2^51FK@4`qa>lJ<6k|M{j7-S zCJ{E-7>9LGZIZ9Um+q$fDTm|K5(`myA{KBKikj>~`ISeKvS1H8|TW%0-8 zte*zUBR%TPoWtVho{WhZz5@LH^Vd(j@;**D!Mp49($x>q-8}_*y@GXyV4Xcx-sajw zoUmUaX%P}tcSUmP{UVvq_^J{9wHMP>^#5e8fP<|fWsjy|>wD>e# zV4cwyiF#w%d9DjQf|$S?b61zGUZezUlN$ZH=I!N6%a$%<@2&R!n+0x_9`|Ik zVn7^3z8E=3o-ZZ`JXg&Zlb4q)507}^UpWnxr!P7(%Q7Qge79ahWES!7*LHhr)meTd z;<>WtoV#vk)>(1b6sw&2xAL3v(!c)2y8VjrrA;oPP025Bef7J1s8@oZmVs z2aPX)#zBUbDvfn#uG0u&F~kKF`bwKOBA^n- z&ZxSP>qzz$8Y7|X3B+KJvXFA+)7#Byv=XNX*OB;eT8DCwuOn1=pa11LgsXG+I-sYi za0(c^nxwG(Yf=yCu66x9eayJ_w_EDg_N3C74X5=0(59=I_L^q*8X^q?@>G%EZv_6e*tp9Y@*;jxPitJdId?@F%0J9<|L4NiBp3;G6- z?4a38PLT`L=|-K=rgI(r8qi?jH`}0tg%UtX1KS5#{cFzkk4}X8%VncAt4^M=#lL3B zMg>1|BfaI}tw&TQIzto4m_VbQ8>L&hSghy&VtqsYW^H$_iuke={@G;ipZRjCIc<#LZSWDsyVjRWjHF)z9l5$y$0Z8TEyBcbFF8&FQIVQbCT2OF zK8=}<%BAzCpRZG%R=#=J%{q3amV;dms5f=f^0$)ZtL7`eD7%zfKVeqrDdp2=pJ27V zDk{nNl{wEq_SM^%oYgpTk4=1e>`invc|)7>LVh z+dES7FR|Lxz!rTtHke4%h1>@=(N7*TZS^79YMfh2e6spn*nb#7R^M9+1Gam=znerx zJY~k+y$?JU43E^8+2lG??3rI=u}vZAJrOlH^bCj#4aa+=n%sGTuGbmhNZV2VI|UJb z@(3t8Kc*z1pm)m0 zwv=t?{O2osfW3#1w-f894N%A~FHLH{Z=cJQ_Q%PGA5JyNVGUS~C#Oyb8YJ2GZkm3+ zt}*{W{ql+^Q~b#J<)>mz(WB&_l^d5_*Ol*C(ibkuqj|&l$nc95#`}7f ze7?{1*f%$hyAHn(o|LJEN#20i*4=YnMO;{%kQP1tKb-SwS0xpyHPc{ z%-ZaFAl6>ovsXu3;`!bCdoXFpGP}Ls$R96_UTqH_Hth{#ldbCp&WU!cAG&V?yQRz+ zJG^jYanX>`10W~zu!m&qL62V*>-U?hcjH&NM--xrI9GmIa>#F2*29~?4?Cuum5+0p z`28?0dBi&kHr2T!Fi21y%54&|!hp?H{V;s0&JUy0hQ1Nr7zLo=hc)cGpy^Pl=DCrD z<6C*Rwi?@ooy%R`gPlFDd|XoW^Y3hBWnFZ7YoVNFho#Q%Dpv-}ux7}1ejEA*C@AO} zUqvHdoLH$YZOLVgc*ReZyZkV&pKv2RjtGh{1JA|-&0*Q6hlfoHL*s{R3|-J|9d^Hi zgYFRz;`-j_iKS~?F|<@kmTQe0SvIm%S-f6mXW!g-pmccI@Cj_lN?95E%{KP45<*`l zsh(t1(%47z1wc8CU&R?G17Fjg<7>)Q$;tgOu^YcXriprcSn@ymW1dX(88{tSBMMW! zDX^uP3F2|o;=Wm8E%MDgjzj{o>m4*-NYcmBP#dCH!{?!OSUGIE&E9ED&rM+yq{#PH zt=SN38{Mr#GkfAYyA~Wxk|#O}3x}_H8%Onem@ij3G(3&`?x&(cB`3Nkoa0XkAQi+z#x>H+%Ug>=s_uxaU@fg;q z_aOyIgem_&^C7u-;65a}ZrSbfvCHLWl~bMCp4gcdnb31?-f&K=x0Q9uqsng+*%vIB zQEY@{s*!5)Lj^9KpNLqC?oM(_3iT(PNxn)!JOHkN@&>Gc3~CxxmkOs+Jw2IINy;{} z8(S}zKWI|w^aQ2Nk87O@jWWU|>Syv? z{RMxnUPgU?p>Zqv3nZYTq^V)1x_)jfh#FmP%n1hICo3NCtcfncEVx0;;&j7(*N8O) zy|n#bP&4gLwz?aEF?@53Ky6BxP*WIK7-{L?6@s8j`Ki8ut_o^$sV0UGbX%7H;m(w1 zQ6tMoCUnePJ+8j7!F$^>+C&W~@0ZXvb=8y{d3IK_DXvD5N5bkS7eAEdl`@-7j?a%e z8kU_{@=%6k$6T$n@GuNFv)aM|NpS#bebZr6y0c@UVFb$k_&2+?@?=QpkI%pJku^l_ zA8b|rf?$ViQC{%LHQ)(J7wP1hPSE((t~M;JQM)9f`M7D-%M2|$$4&rQF|4q(m3JP* zSzY-OwCDhaa4_Zpf*+`fhJQjXH?hU3=v1X(KGYqNTc#S{8YB`GC2$gpKmcj@T94_LTz{nQ*5<&e=Q~qLg3$G4Y;s|dy62fcdxvdXAAzxC; zm4vmU#;(LNx$J)zYgPS!Umr{zZ|N`#!lmG>f4BedNkleE8`-=&2;g5cf&jiXlU`>{ z{HwlPHd3sa-GKO&JhW^qKU7_|mvj};8QUvgqtF zmkU1GaNyYzM2=QxZit*7RV8T*2nxV!9Dh%21a~K6voR-;00df8i^m@73&5+9cU5#! z6}`Xy7C2-VJh8~0_d83a*l(8Y2dFLg_K9UXlBdQF8aCmvR9QLXV58#u$X8a*FdsOh zymBS;w({BgC)RAd@rY^c=?{sv@crYl5Ayw&sI=t)3~|GBZF{)*5qdzFbJ`w0o}1Lj z*3*wANkfo%i*2(=~9j~8rj z(ZZQi zsP<$Z9?4TXxfVFkT^k63+Bm}=wQ+75*2SpSWO^N-K@C(Mdvc?KsJ5@nE195ibnz{B z&Md6X+VW-{xt3gM<<*wHX@A*lY|6nhG|x$_(IBi5dH}KIV*1~o>l|yd%CfE*KUH4l zLjbRNf1y4)qfJ3erWA;IfW}Wt-hEfSm+f#b$Ag~}QA5hV~^o(oc>C~42FDGD zV&_U*e-U?3Gja3JMUF*Cr~Tr;bJc@4#YH3g_<+wo)^=4DT0>`-3CYR#CTt>|P5^)t z9Uge|GSwWzT3y^cgrR&{x!Hb3d*uh88Fu?6a;9&EqJ`m zJ1_R{SJ3<78R>a%o1L5Xt*!n^dy(KN8{~ZOJ>6ZON6)3O;C#UY9$P5SC!sHyR?|r8 zvpib{1O;JxaeI*}(;f}bF8XVX;$d-#)y{|2*H~I!)%m+MD-)7l-Ju-1yvwnxOIepH zW!bMPG*G z9zZ>x%CYCeenP5k#!~^!kQzGmdhCp_MQfLSSSNrTb|?jQ6|gtK2kNsw1*{Y@Z*|j9 zrrSZO{M2(n`TU!Vk|GY=^MU$`0Gpyj9PT{u2hT#cW*8Qz_l<8~a3Uv+c;MeYT}we2 z9U;P0LWJ?E@<6qz@g0Ofk7Esn(GzXs9etDOQldx&_F?t7a8u52;K_Ft~i!sZhr$^RG>;h!ZQQIdJ&4KZRoQwhP%lz1#}31~s{74DTY5*9I+ zD>@93U&sVY+~P;4Fb&5OKn2k>ns~+ojQj`z8FI<#(zl0(l?~hZ^(^T^>6}^UMmi1S zh%PG`^u@FH?WOgIhDue)MN9w2DuYlRG)6rgZU%@0`ES;yCbxnym?k(OI6GJ#dU|;9 zq+opv)VEd+wkHZ})|zgSdQ3)+G$*Z#y_I&(+JLyseXLnSdti(S;_Yoq_7-iU(wP8m=@)RHazg0dRMt6k;(h*4Q<%&nHh{WG zSOUOLVyoN|pnjXxTcs^ywuj8;O8(5c;lQ$dr+4~dTU>{0zSBD+&4SnAJ3}^5c?2q8 zh3^#6XBubN8D|)W8XTV%)`8~zedMAYyl^-g7zm!0!4xjU$WZa9#qna<(N+v3fc2t< zpworNWygvsi$OorRjf62EJSP#jqzRb#MY1OtJSr% zA_D3$#&Y`$a9qIsU~s|gf~JDysli%P14CdT$|gt^k#EY| zl$1M9cg6HA2{_&G`*M{1E9hoQ7(7Y`9KvvxL-nU@T(y^uxp;GqcQBv<{G_>^VmgC! zPC^f`H7afR1r%3P7ZBIUa~+}l)x0E(M2N&w!^~|POz+f$WGN2|#z$v1@Hi-hhsoR} z(WT*m@8Be${KP-72YWa@ymcMr3{PE1z3%3dBB_yvPq29<0=7;RA|qOM`P%Gf7wC~s zP^WpxG7K4mJhFJ=ab2-1P8Pu>A`z>#Qamh$Zx!$ z>Jg=mZK-?FoojXHQMbChguLv$mU-w_m(3Nu8tx?AKH>O%c}*2d;Y6JcNR{jJ){^s? z=xxV3j9YRdI(pQi-yOg2uSkyEJYiJ7s9IHz=Cte{6w*Aqb^8Ka#Fm-0r#&0(n!a_M zl`Rvk@Z|XIixzJxd8?xASVo3t@oTT&*R1{EsDh+zh0`WIwCurEy=1rOl_yob16s8- zhjUuNBDz;qt58(h=7OHoXdXdI&DLHRkJ+VOCLO)#R^^)h8$$gTeY5_d zXxo(jy*h>^e7!eCB~Pmk1vcmAnTezJ+8yH;jWdRgo4UakHfZAa4%S!@%GhM@vVQZD z66X!vbH7R>*LKio>X2~-;r&Yn_ZvQz)mJGc8#=;nEdGDrM}R77(MJHY25hpwj{wHD zs0k&R&m9qcR9|>8xAKNGKT&O?yLUhDp8Drj-aZwvbi|m}!49Ul zVS>>`I@G(mgvxL^!{dy8QoCAjIS~CsDJ->UHns7{_+0!_=n$>SmcBM`got} zw^0Ec#=0S74NEqc9X6V4 zvHfk9^pAB0)a{+^{k(L{LS`Pw3S>9nf8)DMygdTCiF^wHo#Z!+-4KV?u0cp*U0ItD zvA#9vFjuq&eH&xGj(+G3qcom#pCi+n5)dBjYM-o38q!yt=q+`hHzg#v&>YyRAE67N zGY3~qG0rnLhE;d||-?o}86_xlY&Tyt?- z5*DR4AnH!INL6!pZWj&zuv1{g{5!?&@IP6z#eB`y*?}3(X|4MvMJ3OfvM*vrWO4I; z;Osf$wp@v+pVHYmBXVH-g6OE|+{6}+8Ihy94vbn_7CCn1rTrf-nN?%r%-9jDF7E$y z$&^s`#lxjt98=3|{U`3<|6pmGsPVIchfe^f%Lep%Fg;<(L$zcpO!hvZ?v}HbI9We? z12=>iBEStag&>5Z*ikpBapdt@MZ89@B{_JD^>pf1?S?wT8`SgnKy2XuS3OFJyBk<5 znpgLYbl0<1w5opSX|29h>ugWk2KbP*h%?(@BG{MIg%G)EAbd9d|H| zt|1wg6q3(n>BMiwlja3WGN$IODfa|KG*+8tu&N1GmE=4&5#&wPJ*RN?61KYSpy zy!HX$GEY9>JyUVy_-^)rQtR-6#~+khx{tD+1NQcAX-k+e^?SE3AOR@?#KaZCT!E0 zL4;taPzs;K&1EIEGX(FN^epdZasNN09br<5RjG7Na7u&!Qy|uSpiiHvQ*ZurG*-gg zbi`tzmxw-F^z;$Td2jl-v3ts{OjXIU0JJ$xv_eJ+gqiC3f?l6Y-wxmO&(*A=`M2t)4{c)jcrJTmM*D-i8)P?S*%v&| z)hv?VS2kH+NJvv!M}esPYp_V?C=3pFHz~^8OdMepkMSEzwEYEKh}freB{p zy8q+#X(Eoi=?vC4v#kBf@+@?cd34G4q)9P@hf=SZjIQ(BVtKP9Vj8=hzTg5|(%I){+n#^7jIpz=U;6EA z+jCz}SAIUsNk`d%?w^L(v~?g`NK^u1!b=6R_3R@RCR)z5%V z=p#pNtS=vY$3xhG|M2P^zx>Y+?|3UESqd53qg^NKfWWAXwA?_}NeV9Q-l4O#ATTB) zH8&tx3Le+3V@JFkT`Q$QfO1T#IgVZ)5D;A}wSmQ3A%&E7?bs=-e_(WGGG6~)3K`!G zj|bF<$xO)&RGybY=j<-z&yNN*N$Dn3Ie0(*Ny)+_Z=~=SKa)knaU5<{|v-G zOMBC^-ao6Ky<+ZHRN6Z`uW6ewThhJ?s9;NM=EP#t0q?;Stw(AXze~w=)t* z>DlhsY{X|8Whz?EZ8++8ctF5!5a(&pYcCScRB-Xy2@?PcFlJZOkmPPv$ zxwMfym*(r6@b^W`{_rvGtR}zUk%GAx_Gi>k2k_sg)0o=0Ta!+EwrZh2oyJ0tPfICF zsZs`rd>U$37f?P8#rCI8RUQ}FG~Oe@I1qZ(ihJopRdTOcSl@zhVvS~^u9xjQ@=$8#Oj+*Hzt4~v%8x9gON-Y1 zTX&C+8@62eP#Wxg$mG89>|2v0d0YGYYmZHy-)?Tfye%g=?RmeomCz#*;HQzQrqd;2 zbwPb@5eQU`NJ)5t0(k9>)y~sCcg(K?I7|~U#fG3(_(nK77NguqAW$PVxc@No2_LKO zPww5II4Hk=UZ=sm=ckM-V_Bm@8?EW-8)DaGUJebhYuC7K|E6t|+4qXFAb484DVd$y zdA~J%w5(H4b&B2OLEg{14anTscHY<%&`YhMm&RDaaEp91gLu4CoQ%*=6vNh_T(RV2 z2P&HgLt(5TiH7U#I+U3@FzS3woeoqSM6qep9q%plvG%>?YAZo~Z(K^kX9OF0F${a4 zUAg>@MD;LefP??2m%~-wBR+!q_xWa3>s&g2S{>bm$MBL?D{Ufy#*X#mAnm9sTki zbItPA&Xn0pii_29BIVGH&z35`CrJfK&z7C=cyD7loR)3C18cF+aFMm=cwfN-oWaEd zzY#^|pNMvOP|gRB$zxX$a&`o|?67KwP^*QmHFBQh5rX@KRw(&$&MhMrl<5>tB2V`JHX0exPp)5bYYg4`KqHJ|Q;qaWI zoE+8|S+h#-YwX7#eo&_r-n_{^hs%WIEw9TB6_uB|d&enzPnrww7$!F5pge)WJQWoP zngO2S1)ZoEm%dvCT8Ajx9PG=bTP4dT*?Ww2S}9e4&>c&t z1BJ<3*PG7y1Z`i8`#|dufj-k^$M~A>No#@0_SBT9aNQGFlh?2N)_i(+;G{s%TBEq` zxoX~=5UZv|Pe%dHIpswMdz=^HD6M@pIOvy2b0EFHQw^V^^BlTxj##UylAQb$bvkE@x?IuZ&7wxMFFszf?$?dgHS-ibCT0nQ{`>zS<#*<9uskrnBgl-^4K4fUY&1 zt~!2BL`FAJa5@)>6ugHp(8ACWKm>cED}oL}fY}Y17u}iJO?!R7R~sUe5)yW3H4@>ZzKo)qpE0i6nkKE*bbRyWrnT~zw9jlCb0MQv z{<5PPJ<JOHvy#1Z>>r=|rfmW;3=eV~m>%iDvR`b;_(f02* zWEx;scSR281K4&%yXmUN;Di&$%n2tR_z6eaPF%TrkucF(k)tIQ?`YzuVx#Jpbo9%! zsexQy&ov}9)tD{f<&^Num7&&o8$^T{LC8G0d&k-J>KErex~*Yo#(U$;_IC4K){GI; zqI07<)J<@tzECo$Pc28(#ICL$by_*%5*wJBj7W%xs@=?--?wH=Y+@p7$Shr7WuX>% z_)8CWe@Xc@utw+awv|5j#~+tUX8j92l-YCRHoc5CkwhHJ_}(+b@0 zP|*cSXT1xJMEs(aiM&WqmlBpKtd7f0m4gVe^Vz;oMHWhSL$H(3k>Zut9nuYl^4y>L zwkaJ-N^ZN*MoVp+!VKFm;VBjOHB{u`bh1(hf$}d9LR+h3c%Tvs(RNXxr2&j0R)+?M zm|Vn>!n8V8_GP$~9e(*yO(BJDwzBVsi5|ZkT$f@Yni}!lT$yw8G zMBBLdKK_O;A!g$rzlS=c0#!JGd6IecY;yt)hQSCeKw zuL~DiEBDZD9W1DZVsO@o=9BMr7J7Q=fNcfnGl%v$=rh;lp?+weq9x?ytILvYO5zH=H53Qg`xVH6E9NAGYg`xx5$ME-P^#^j}o9$e<)+YV|{s zAdtNf7Bu1AKc_`BZbV~8n0M+t7wPoBUdl_DTohLnk<-y^Y{cq6_58z49Nwh(oH%KjAC%wQG#K2lyWFeR z4HlqWevj|973ApCkfU+H(DUm28cFIO@!3l&|8hwMuG7J%wqAkKCL+3H_KksFyBh;dWN5W3mqsK|M>t~d6i=BPFQX0Fm3^U3P zmPcfTCkECJZ8S1sr+3G4oC#>(PdcWVP%iz(4S2p6s>gZ&w08;{p6^8vUI!NWk9+xB z8~(r9l`nyoPthZ22>2nWaV=yg3d_Dn(UosgjSHPKls*7K10ROUcg@sQsRNb6)A>k- z-pJYRLEeW@FWT9w;)I0rL&|&Vy8i zjYq!_+>qRTti^Yx1~-&HXixt?nkP&6eA$cp6KfcuTC_a0 zCQe6q-&)T1Si*TjDst91WP22eksi6D9`CO+2P7NY)&F0TqMIsjgx3#2Mo^7gn&E0){`$cc zm^`!xm~jK-hNlO*S9n6HkHv8Mwh-TPP*NtL8@s_s{rRYt+n0gWSvy?1aICn@!Ito> zVUufPoVb>n23DX2q@N3g#n7qf!3s4BEQ8!)Hahbu0G;6A@rw5Zb?iQ{zmF;AHK0@`as zJZLlEQC75ug#DHN-P1G*wBsZ_;6L@J+ z<>E2RyiO%bM`MpY%0jm(Hi4%$a2^`SFO??JRGjKg8KA$q$9(J&qR^a{j-3(+kow81 z>1T*@{7xAL&~=#*KfChJB<*!#AZ+}?W zH#|L@n3frCR$Vo|jdQL;8o(EE;O>Dq=uAW$GJQb?E%F%#kfzn4C&I+zm6^Jnjwd;j zYHI0jaxvn=t3uBB(XGUpn$suBK` zBezA#u}pi2X*$T#P^sE9b7VZL-+BFxvD>$-Sy}qZ6U$F!q*l!BK5{mu1sAtnsf5RQEL%pq|z_eh9B!bBcRW9l`bdo2~nuLA0!2;S!fF!H7*4ho7UHvfY`)%4uo&((;>^^RN`wzaBCoSqZq+m>GzmZeM99>sX?uwn=uQ%W4 zCFN7OKXT@&6!-GUTwUx=6rhl!tT{-s4YjeP_+W141L2+`KyNVHVRYmtrvdS(JyzYe z%&0~^y}QdqDcvcD#>5Vrbj-16MMZS{$km@XJ~{btTJ*ZoVXY!#0_A}r$`35EM(VasGnaO-F9t9~>oLS19dl6^$|8y^*Qm(WEJ7L*jmLR*m z)1dR=Cq^%@JGxH1?)YKzme}y(z8&j_g-d+`Xd|Y`k@X8lj4UZBEFDvFXmjD*gt#R` zMg-D6s(!4xY7WL-bBXz^x)cl_1S*7&2ue|Tvo^MYNS_vrkCC97avM)%d`<~K8wliIOTYqa4v0Zjg{NG=8Z~3=J#o3kaD<$ zHD`k*_w6Gq=j%m_T=63Ib*1X62@SpO*q1n*|Al=y@7NbFQNLqf5U03j$di52zU}F4 zbt98|Eo(4D3fmH$b6?S>bbC$XRM}$7y}Ek#2p8(q_oGhztBLGSW@c}A6BevsuXzfd zAH(Jy?|1!A+7#!zPS{r^&MVF^O_PHXf{`l=@jwKQxjfkGx zuO^nV53z}{lzoW38H-ej#t?$cyw|y@c?Wnm#(kefH)uEQcpZDNOoFhnQn`EX=)_ju zXP1$Cxk_rg3T4Viu(Ka84u5SdTUjxPbOH9p+IUC9)#)q28D@q$*kdTpF3vDdV`GZ5 z)5Y6#bus<`msuinaxQd7hjs>2*qA*K;G9(y!p(y?1|WKbVNaU?Cf zs>dpwQhFDmecTB4=!i0Yq?^<2K{!&N%C4=RUF2fd6eoP02==`=%@;h@H^Hp7ml>q$Ub`d z`34Oev%J@PF00+7?)Wxq|Hy2ZJ#*LWBgwYV>83zyUF9za1Jnf!7{|J0q!zi7mG}Rp z{PDeVl|6Q#^{R`vMcJCzT+zz;}4OvWX8SnHgAzaOBH6CQIg_xZzhmKT~?@HHaB z#0@Q&A8OgH*aeg^+dH(_Su+%~-GYLW&n$UxXPtnY%46-u#nn$3lt1O^q=2+Oeb}@y zEoU_9Jh8$4L#*XznKxN&SNw?RIOUI{na}(Mp85(l1x9S3TC$_cQ@Y@aC^w>vm1fBl zIx_Kb%$k&u$0|`OgV=+|lXa}Y&8U27oKo(P*Ey7_ug2tdz=a5hWgyiEZ^SQz3!s(K zN;{WZBVHfP%3m1jy9QXNr|PPF5xlQor{Mkn**YUAHgxwoeI_j=6N*Yd442*rS1!$u z&TUt;AtkJad79A_mh;W(xuabaZT7CfZGGmUKBorH+|&KDAGmBa3;^G*0^j;O#p-6^ za7zu6MynJ&nHE0#CR2yDf$$+y%#)bOU&Oc^O|Lhso1&tiE^JT~T=Pi)V3jm@5I!iN z8aKsnj(p~1+4-Nl2uBS zawH@7sz|oIYs_Y!!1gy0Hj@lJ?p2ZHZzSU!qQ;W^+u>G|lgo^su_nreNALAF+~=mh zVfY(BlAw|2g&%Awv4?eE!?Vceg64Ro+s$ z&T71g-^CtU8M6(Y%#p}qm9SWY;YF#H!C=)$Uwm3lJ?tOrm!81-(^xV7(1PzD)8F&w zpXJY&@aIbmU*M-y^{=Xi>=9+hWRRGbheW2V|DRqz6KFU^ow;m ze1S{SrG;SpYSQEs*hP^mDtyhpwz_ar#j1TPr>vIjR32?JqmA-x7;C#$c_xgtYc``9 z>lLP)Tnj{CAv;ha7muT@jH}!Qdb*`pDMmhv{6BE9z`D|5*nQz{@&eQH-?Wx=Zr33s zB#eH9%AtJ<$8>Accj%~Y{Jh)YaB~fZ5m&I*03R5vG~yL}fam4O{^!%x=jnBRL(GO} zfqVZRvLgz&r6Kyc_JSwB!Qk$l?e42OKDv~ZaD4bp5yHv#jpM7v1%(?p7DwDLT-sJI-3sz4|x76r2uDEj74j41uYAPRwp6 zhXazzq>3uvBWkq;!R32|Vt=Q!HD+H)<6gFmNv(=TM25!h8{4F}En`BguoNy+T|$^43JobE-KZTvg*D-(?SN2W088$_mlf_~ zGHX~UWhrymTyrp+!~ZtfaF{(SKW4x{E&Qzoe~bDiq+m(1F}o!f^?LZT#Jv)emDdYd z;u85WWuZA3RnyDZYJ7H(VWvFT6obkg@FW3AQInJp%5|VE&J=5u4C^6L74Q($hrw4* zCW?nWCM$=bnlK{7ZEeML@E&ksN3??9VchTW=+;`tZh5(pR0laT_{JsdY}^aPh_ ze+GhpE%D8rp=%0F1?3sk+RC#(g$+dobxJ}?c1p_>R8ZqCX)=b?_&bF{$Rm>Qg zO1UF-rHfz&%Ivr-C=q}{$LQr;{-thR+sF)o(;}m@V_j*0!)tYz8w`y!?sn{m+u&Fm zpY`sRbqkZq6S@uVw>cr6b#*9D#Igb-g5#v~d@mcOmQ=cM`ALL!d>26e3Fz(I<`E_M}AfW)vye zx&$klPSmdUJU|K=EJyAIgari}A$aY{Fnf|YcCNlN!jfwT2nk_0#Jr7fH1dRd);iO3 z9Q9(1QQcAp^iEt`R(s;?r?$_4hsA0h>D@MDW~0iVcFZ{)3-s}JQ+MV1Xm6Xzz0Bqz zHAA=TlAb?RJk|Sz$vvldD+~9IJhx)olPcf97m+^(-((q{Rry9|({V)yo6eJ!E@ydu z%A$BNeS13#n6Cv{8?sP+v;qI7XQ#Nc^r{x&0xg?Cm_V699NR8>hNrVBkB6owq-Uq2 z6U>724e59zJUP_!6Mfr&mpyOen>*dAogYO_Fw!aGPa_tSbmXMkWj`(9O957B9{ko>?QiFz2D;_2l`s`RVwwG+;F!%N$bImDaD$%-7Qb*gl&w zGM(*{>|vKa4GS9=YGvs+!%7}5Nnu824-1)SwSRvmt>j@;2waA3JOy-&1?r~}>Wmi| z+>Nu{O;z2-!G7W{ri0VciKfP&bXdXES1vS&r$LabvT0-$%6y}$A9`YqG?~qln9c{Z zC87WU*s1E*-HFzUhSd+jVaQq&TOp9EDGc$ENw4yKgSLc1Bc-)bvTiLHIVd(X@}a>+ zgB(MG>NRXO)D{|+)2K=J;6Bi3MMcnMdrP3j23KpX7Nf(IHYBx;LFS<=4=?LB$FpQ? z(}A-Fck4U9UvuxE<%hYZa?kZErXRU@r@H7H@(|E32Dk>_ygD7O!4C!rWL$;<-V8Ac zPC&X<8_)-kA+eeM_6ZAl|Cf~nzHPmg#wmAZd8cecp%-f3VSaOEdjjT7U zc1hBKVFle10+PPm8J>_g_@%&br^{ToLu^0O@Z~klUw)Bn3!7mLlT44k`M~bXhm~iG zM(uvVXsJEA1g`Y_^~wOL%}uh6+QU%F2bM0$kn@)T5@?pOW|f!8hEQXxst9OJI6`Xr z#UQa5d55tz8h5vB>Qo!9Co-qzAzw1WJY?$3eMKH;?_oaRsyp7$X3CfU|S> ze-F1Wm~J1j2JBumx*>QpX&Rnmhx(Hv%^!3f*RrGeY(}oROUrRR_m&TBIdpai%Q1#9 zcF6l38!w^yY__soifXUaVeevRkgXG|uFF3mCg8vn5np~r*Xu;&jI`(sPmGPL=@{Lh zL65`6=fMKP5TWJeRAOa`CYn=^Zx=6D$jg^ueIZJdmL?l}9_VuL>AE?r$)TN()(P|; zYU3K!y!}Hx7v?W+l+TVfPAnRh-;{N`a*MT6Uivy)d9q>S=FR2IHjNM_jc?E#XY^&& zuc*uP7}D8mhMoT(b?*UJ<+1z^Kf8MhC{6Hy3Mz_#ZiB*vKBl$(0fd*twbclLSqIS0(Wzx)1w|Ig=rbFaX8&OEcT zv$Hd^v$L~&9e!6BxGe-hk=J=8dTFkSD7p*w)0*fg-r4Sa9I!7NSMgo)9X4IPBV?4- ze5Vs8d?)LjTk+04h=nJ!SB(n3mEO6=e5afJj`7V`f2Cq7?ZXXWm1ZW7Ee<5M5xP8BT{@#BIx)Cw)+D@?J^J_d>$qai6d&? z+ziuT?>t%Vnqy(E*6Vzs>*)i1x@P+Sb^G4iJEs45=lE+|I?~ox9xQ$}Ii}I2OG;~! z67!v(vx)xe{O_N`jnMD0xMwdgHg%N1m1*wWKi^{PiTQJ{{_NyFFdp4AI@LuwaN7=i z(vGx(l#@ZH!(br^FB7gzz_zlS=oFP~BW6_8)jm{L!Jo5Fb#R=q#GcF9<%bs8;5bJ;P6kC5R^o>l~%6w15-qJ2ADk*u!`56ViWS z#$xQt4hP+hQ56e^B1ka=ZNXbEp5zMFya9nLIp0w|1J@G@SVe{+8J&5nOKS(u8g`}U zUDjp+Tj;m}mjbOp$uuEzS6%Bdm(@DW%)}r~Y^|(G9a$f&sZI0{A7un6Ky+kgSv$LL z@}}pOQPt^E3AvDbVQoE{LM2UAv|3R~$)fBGl%b|w$yiDNcIBpAIJ{>w5Y} z@%vrfV3T?(O-zyXpxs)m?gI;z$S8Zju3T!Gvcbt#h76fv72$NbA57S{!qX`>J}fn& z@AR0r;tyQbBD+Pa=%l#e3!6+oc~_&*1ACQ-O+y1GS*Z&_>kW_!HZ zIts-^syn7sw~wmn7BFb2GnoEm=je{v zDfmuI9Xy6LOHXMwc7RwuWOU1p*&a5ozwo~|WHcV9#f`(`p}7g2vSQ_9Id85tZV^{H zp1~Ter{N2W!s;g~N}5ZEWnj`4Oeglq;mpHn4NPW`myh7E9P)Evb&{o5Nl~LX{`|eM zpFGI&V*RDJrEa`G_Ol25`(oKPxRNKA`rlaU|GDc&OIi1&D02tf(#zmtzxWj=pIV`! z`^Nr8uRYAoHq@2ZPC@=0O&u$6?#q$s7;DUQ47{6-cjwZ(iP$H$-z~k^yIj7DA2O8# zva%c#dK`3y6W&B8)ec3WEMLN&yp%KzxuJ7YSa_hnB01U3VxTzqz}Yqa?z3w6g0fIo zTmSu~A+C1Vvq`S)#NXkq24D;4;$oHht)6_A>T= z#M^}%9`LnpS=21y>Qx&GFLXilKDMsfU+PY9-U<66R|35aSq&x^d&M&`^7)W}#mGM_ zGcGsQLNYfPn~iP8E*9ha@^ZG^s2-}+`dIi2V=+d)4HGc0ue}aGc3p)ZgSO*`Xao_a zk&*@8B4s22rAd50W3hBfB*!H4(&|a4edUv=et3Dxsgm+F<-GLX*UCRE|E^rjuAX?> zmoyROB4Q_&%f$z9Bx22;h$nv~V$szYe_=r@)ij*Q)YH|IqN=k`R}YPFPf8amZ<3?hwE($KmwT)kUYP`<|{I6jj~tv^?QH?zFG#IIP|ZPFK%6T|Mh`^)Px| zc)B|8boK1h)x%F$Pl&1>bsB4y>dQ}`I(zw7m*dpXhN$Z6Pgie`s@_W00Un=TyoeaN zghB9tl0%b(3X+&>8KkyK_fTJ5ATXY^dnY4L_zRUjq>GEg*5-OzmU5G23gkb;pY`8* zy)BO=qr?z}C**HwH|1|$6?^G~+zCx%n_h-rF=53!M~#UL?Ut035E?aasT4*TpIUFuW4=nyrkDp zag}Y^r)~4wXN82c>Bw^9-jA#OI_|9ckrVWZO&Q*`cSuNw^x^!^X&KZ0?1~@Fr=?GG zmf*(=`1fZw{9tbtm9Cz*Y+?E3bN%=8_PHZF_l*o6(rx@mHhlP~@dKBQ95Hq<8|z;; zY3ihLX`QpXTzFymi~eU=pBID$b5JZt>AHXfb1j7EZl&^#(VIiwF5tR zThS#oEmSzw&Yv2@xD1+ma&YngxFnSK$6!gF>&WKm7lzlqE=1$j9r_nU#TQmAI2^}s zZrm#=xqYL?S)GRWkKS^i?SW?m6TAg}xF%dkyO1Vc`=M9Q_~dKGY}|V7T31HqfQ%j^ zTK1eiZRYK@xsFC#97<0ii&=c`*aClQoYIWsapSl?sbh-iTOX`oJ$<9|P($77fFW5E zEV~dc#ZPq|ZH7F0DubRGtd7mv>>vH+ro;Zqt?Y?cH}kttjQ)vQAN$(x;bVA?v{BE1 zmcgJU40&PH2zm1Ln};f;l|P~c!OoqFWA7+CI+_kIro8ZC@Aeh#FL~@;zth7PIof~k zzukZKfd^P7>&n8EFZn^;pZqeX)X`>p)~bdYx74Z6;iOW6j+8*BSi0EEncbdEu3%yQ zA7j`imoum1Y`HC9%)y%DC#>Paq0jrMo)9A&*c58)ZyYfu`TmDaQ0;wq*imKCz zxP|#&o^L+-={^6BuRi_dJ;`gs{~ezp1{qP1QC}$J6QdTmV~Ln|;4wS6IFg3I1KP27 z1|I;tv;LVs2pFqt;U8tZjeFuFk!gy6HgT2&NqUR{9tI-arrTuth}my zhesC;>paNQKDu*!a;Cd+o8&HO8;4Gr+#-5%cudb$y(jgNbid`_XWW5(E-Mx`bUVedi zbEG`Gog;sg;D>2^VD_;S)tjHGkdk0-L6G;sI%IYS6nf} zIdIhYzKoBZJ*!XG$kB7>T+$tV?v6gkxI<_>ml?k1QnN)GvIF>WDh1gPII)WmC%MV* z#-E#B?Y4SU6JnE%`?TclgRi8ye5-j*bHqI(@i)@>WSy!6{Z3Q+9rO_Xi44wVDzsIONubJ?un4Gj>A&D1g+e)}$Y4Qu09o)5qXIsLQ)M0$7KrswS^^Hm#Ua8d1&rK_ zV1bHBN_HnD!!;NbIW?n0Zep_@A(;^~(h?^mHp>iYQMT&ICA{_umv88_X*nGuhU8Dp z>gaF#;DfGznf-9IcHu@T*vQF-&&@;^^uyiSo#M`MJ7)Vhlc_z3Y)YddQhbPx$j`__ z57nKDwEhb0gD*DJ%wRI9i>oI%qN7RK?Vi5rA?}>?n7ru`;iJ+UJ3f`fttfTGckI}1 zRPOMc0q!19Hr%)gJn!hrhdyYGdV0RbPNKDO>&7XKa~gwI!%0R7T1cGsxf)Y8yfX^1 zN3bm^88HXNCN^`n_bT4RY~8u~3;$J$8 zEJvQWmmIhFdMYJ62leTFk>L^uKV^5 z*=DSr<8JnsD-JgKV)-G`V}(-F8r zy}o4KZaL5@X6d*I!)3}C+=zeYj|J@71O!Lqu8sZC+_izAlHQX^Zj{7i z?RJ_@O%LAgv)gtb?VQ$?u_Jp9x2tHGx1#8=#I$w=Ws7fZ$(FmGxsOGh{^_II7w_M- z?yahytDoDtMfw7&hSMG3cPQk>^tp(^7Pl>bRr)mn6?LnTTo~kq;9L}rggcVj#KfT_ zjY?qP^LN*D>fFu$^AZ2!U*yj6;r#ye(Shy7069!818FFgJe5 zS9)se#<7QaXMf)Xpv1qFd?QUqsI?Pu(HYTT63{W2Q*t68VIVMWfZ=r6!%5^I#7xAz z>mRVFLJ=~VJ;pt?UrRc$0bt3{E0Ceq)_JL*C507v@kOY*&HvUR_O%kU)M%CB8`}!X zC=x#cL##-plm<%6mOE&5jPOPq(Jkfl#-pdCc!kwe9f+@p$y-tSO6#SP+ITQ%gd-2Ti|C_9B%i@hU<5DVNj@?tex-yt-XquB>tS+fP{Sx~JmHJ=IK{|Eo+?@CzHn z)(fS9bhW?-eTO*hlUSq#4S^*{QSPh4vzJ$hwMkN3hCR#>X%+r^Tn~ZCY!rTp zqZg(_7^aJ(U z(YKxGi$Ny0X*Xz>$D+^L%aMWdz+D5ZmIF#tLm$eZjXOC&0X3x3Gb*Ea-qIec`u`hJ z7as0&d+wp6wihQ@*|}pF#}-&~n)f3S3oUxB`~Vs}ecU`=75l>`b3k@C(vQi(hyNd( zLxTAeco@tD*U~&!q&*APw6Nk!mcMgbE6<{-Bh#BUYwUJAE^|hN#l;Sv@#DW1tc{Hu zS@JLTm*45wa#y8yecM)B3o3eyiH(Vy)3dyIiMMpo3Pj~G_c}m6_CP*#WdmZk)f?*; zn4qmQus+H*MLyAv5+TrwfQ?(aU=k=9)j^FLvvUDZ-CgWKLFjm3$j$3`R^a^HH;Hb#W7b?HOziRre+Dso2xH{L+#~TJFI_u6^~D4;~fbLhbIo$2JSvOL`GHt~J^Y z#ZHW^B&>b~wH>eUg z(PAyZX5Y=9Jb|CYvcXX*h&5ocv|-h z+SpBPATL3VB{}ZaC|h$TaKiW;oWcU|G(Y&xp4gAZ<6n-Rr-s{O{p z4@50kFhRWO9RnLM3OeZe{}mfW+b?EbRlRs^VwaEi@7UdONas)XZ@;<2iq=yX%{!DZ zBysYhyu&S7<=gLk@id$I=DS}!#rECi+vY#E|LEO2q>OFDj~_u>aE#jGhh?h&E=CQP z(v29ktK!Z5u`JG!7`a&H>$cEH&}*7KA+rv3Z|I8kU)3ZG~~;cx8d2ZY;wVf568 zV{?F!i>iRd9{dBaT!rd_1r<3W+*`Z9DZ8y`T10H0$x}BrE#@s=-G0TDiE(Ro`p*dV z`~r4z@%2NCS8ZA7y7{r{s%5v{ZU93v6on%IlMYmmqYdw2fIZc6i^Iwr}iQeXvc1XX4Bm zTRhE1FIekvHCj8PqN!*2yipsXi$#l9u3fiPOq;#2O`9!+M~~fgc*)we3oc*iX_Hzy ze?i6SIj);-I{|r2#`tu`9FY0l=E^(BDq0HN$0#EQM`!}qlW-J$W{wWxIE`sL#>(xM zmR;v|Uwg!JBx7ZUKP8-(Us1c4H}XiWm}z!jqZSpyy4&m9qDToBF{I=e0#aT zlyW5ZJZT$LnJVS|ZFzu)#`@=$bSdh$aaB@>XOFGjpLl6AoY2^q&|=u^N#$)=9p75w zuV|OT#q%`}KY!c)kh0~w)?c@A)Icdu+!$@jQwwl>yqXC?R+J2k>>0#6;DoO)qAAUY zh@hTT<6K{`8x@dmYi;exK0rOlB1)$3io4}YvzB%0oIIuP{Cir)r*9auZgtzFvpd)A z?2yyxLX(l}+J_{Ln>+QE*!U5Sea&0sH}^cYV|{kcb0_Y4@~a8~aqw$XtlOxm=um_C-6p_5 zc5CB-s8n|g8Va9??G<5-=(cBX zxc+#eXG7l5LD7k?Y`JX5r=GkS(+@O_E6ks;XJOOHW5#Zd@ywhuY=g+p-;mg0*W6>r z?x|e7vrW4V)2sFztsSv+^)-ddS6#(7=PfUrTUfG^WN;q(J&bg5vK6VJ92l$DmJ9}2 zym*7ML*dQ`ilxI%Pf=nrNDk#?>Dg-fC^59F6~&kVE{G#enGT(CJU$_9&EQQN+9Z9r zbKUm#LzBO`IemFb$4=8KM{Y{b(VUs=mxz}~981woMucXsxBi#Hd?oZ}C>=fx3D z{N(e1Gg!78;A|+{HtLJmE&I#Aw_7NA#y<4-jAq@2_ihxP+^hGDusj~Md+FSHu}$WB zALXpiEY^I;wA8`FC-rxEuf4ov{EB%Gz-r0$%`bd8Xb!en7R}mbHLdCyGrEK~t1OvyS#yye-m~8& zv%@1Zh7>p=3i^x=4@>KxF|F|&9(7}W;SxTw->hcM<_#_{t0>04U~bOX{&9nc=JXpf zw5MyqvQ-!!=+h+pm@V2guv=Dd8``alA5D_`56W(-JS_W6QU=Z>v2T_~m$vb?@%uvA z<4gQw&gVKkxFzSifA_`U|Tw6c72vRM`-{{x#9z}+C5MaC-N%OGRr z{##?U;%c@b#{c%vmczRhOmEg=$C|v$Vi!g9%^5tiNmP2jUSm9LHhVhn+t`*|+;I6- z8<#I}4;eIL;-qQaJ1X7|K!1uz_JeJe)gwz!kgWm4U0v`^^QdC=nK?%%f{qDi{wipvb6A}eN2 z>CpN5ic2?~y!Oo2Tm2=yQ^E?C&mB5xJk4iZ|IHU-jDqt$tR87;G4!dBfX!5;#*yy< zjw4H$Puj96xw*G_=UZ0zkHxTO`BMi!e0t5A(?4A`NAgb?-NC;N;9o=gVzsB|V&KFI zurD^hE@EHoFaLY{!pkGZ_3F_htXb8PqP4N%bBCmL5BJ-32@u}^97h0`zaRp_05cO z*^;wkV}s3%yWg@V(QPMpU+8TXciXc0%Uh(z-&NXva+|iT`Q%i~iLj#VtFXi*f?cle-1(J7w3!v`*I%HntIs#^E; zwwn%K$MOr7%>1UXaOrF*Z_K!ZpWt`=yS#ROli%ZEU#q-!!BQMv{!iC#*vlqHOXN%X zj7aRvww9R{tz|X|PRU5Uk6rN4NIFJ|ite6BvIU+LUwkNi8!tEMinKHBgkO@=!C#R&f z@06zYzkhd>aGBF2&#@;cIidx>^ehoyL7*BTYKmJS$56lmrSk&mVkM-6#p^>!42~7zs zuIO_m$Z_$-sNun}$iTp4YZ@wRaT6yEMzp!Qv7yf^;+I0rR{`EDn95K)30*!4eL9l{8Y93*31!E ztWEgjy{XN+=9T83YSV6#^O>a91+7~7Uzj^^r2m^Y|LOmYr7^}9vq;vxcK7lbSDyd$ zi>muxrt!KD@*``c1=|j*XIgsxE?1Bnlq+aZuHb{8`@dY$Zbi}}miAihUJpO(9P0n6 z_C^1y)vH+v)t8?31W;JWs#U0iq?fT6-5)%BsK3sV?&QmrfHZn9~P)e`V zCXU4ScO>*^j>|-5gn1hE&5y*E>*X&sX)>~?vgwRDllDYAJk#e)xg|!tl~O(+cK5@L z8pY*w>Yco6^K~!Xw!*t9Iktb7VYAw%?3^5X@R7!$7n(5n#DKdZ`?jJ zcG0FC^J#pH!I1Y~A@2=syd@X5jkkH@3$XD4PygSoA+g1vPJzMQ4q8LL-eSjsd2^a| z`Q^mHQ_1m1DkhDM>-cHaw!{8ETb7qCeKfvx>FUJ~t&7hu%sbK|K5y}yBaU8cPqy#+ z=;}9~dHcyt4|V8NUG~CLZ(Z2F{m{wvyKg=$2Cmy%b@irgd*wV|hJL?>e#@-1NFW^)dXYYEP$?QR?#XI%OJ30zEd<*vS<03M2s$EWsUZroTALDx+R2)A31I98rlMHZ4W=rk9(o8Ry3cTWi_P&!bha>1pMQ_CKXEA4a>u3x zcADu}3brHFsY|4jL->$9#FOyXqK%h(F29cTc;)A;_LulyJ$ua`<#oG%OX-k$^3KPW z{lTlfd^ZXd|M-ai4gZ6@y7qq7{`1GbXKicW`2RKS%ovOLun)C{60Ew{RQAp~Eks*x zmN?Re8HF&R2drzadP&EQc(gohJ{Pss3tci1J8zG?;mG{5@b54 zv?l_-i?kt_O-kwE4|!Gu7c}vEe;we=zGeE_WnI>-T-SbR-q>APl@))j@vP}s(eYQu z7ygIE#2N3rUt7TUKe%bt{0qN3zVJT(JY2GWQ#}`Sr8=+8q zAl-876nWLI(=wSLAbF}f3@5%7%|xO!`Uos%h|c#MS#jhE&l3~~5{$%h*|*^)}(H*VC&_Tw~!FOMJ&} z5AnT;&3Br@L3}siCEpc%8N1WwJMEE5c+GbcUh-YR?=fDn`L6LtS$sF)B_9>M*Lc|G zqsAW=$VZ&zGk7HRp^NH+A?!ZTRFyP2Emi4tMMk@88iuJYS&C)$JTHa8f<7>wi z?w%M=AfR!}V&#^6YWS9R9|%5E!d*Z950KLBse7n^?YC{gohHnkyjM7G)I9`-nsOD)GOM)yI%OIcO$W$X=m zoN2FF!ef5PLBL#4@KRP4{2t>6dz>|VQ{86;FJ)E1qt>21&Kf=jeUJxR)i@)sz;VFc z4DZO}J#M3n-NhzYeA2S2^_$fanlB{DFLwioKI`K-u_Lk(bZIR zbN-AYt>BD_JKxnw)4d$LvVZ}bp9}}&AR26NbbguPIb)R#- zsy;X_kb(zy3zB{YC;Yw}ORUhRBF!+P6$EdFWCZNR^F zW`D3YVYfS92K**P_x=zIH%XPG+iB7bSiaHuyoN37#VuIUP7>A~06UZ9N#b=Id+KH& zZ^P`PhIZ+BEpZ=#@2==@8{Rq@*D~j|hIfK;TlZmVh}%i7#!(wp#&u}HY=dmSq^Oy0 zL-J+|&57{@KM;M^b3(V#GKlY6s1FLhj3wK1Lc_PN2QTM@gvXp1s^^4;ZWS<2TZncA zTa~XV*RZ7ZOnKQsb3(y-d+0f#VOxSTr11bh4gEY!V>;FB=k2IYWb%b{q~uGirdz?w zaaHhTY#3G;COj?sh>!K)rLK_h=;s1GvKo7Hv!4>TkH%HOdME2qwP8U!X*&2er*PlJ z%_L*6hNS1BZCZ41n_IM)@KSChyvy(=YWx&7kd(Ioe(CdD{@)napMY2XVli{Ekyc-A zf6-~_cBw0lIPV9%)T1t=c#h_zr73E70;DE0)6s1`+%O$gUy@dmUbI{8}ac4+iqJG zhH4VE4eJY9@=4aA*9hKa%Q}URB_|Utz8ea^wA%{*9{8==&TIVk+)()C+>rPoGwt=< z(AX_`SGeWrbA@{!+jtS&E%m%sxL-1HyN!Luvslra@~g39hDZZ|`JwQS()cUk(`z3{ z)81D1RpI|x(_WdSwT8yt#*}yI7ZJ`-9>!~ z@SSaUG<6mjQOXvzLu|GkRqiFa$>%27RX%R9an_by?GuOVeoB3Jz4HOkqHI#}piqk| zfwq8blJe)J>?+)Q!4oaJ8n-RG5_h4~uW|34Kc)fhb^$yY>kikr_pxHzKhn6d#xci7 z;+{qNOVTaJ^Bt^I%<RI8ZIZ#Rb>h1T5S!An$hn^oY`eOW5U*#C7 zzE&FN?J?5yG|}TP>G3*$(S5BP*3h=MH~R{G=csUx0Bk3seUIU{Wmo&Bwrx*@zB}yv z5#tYg$1pEuYsuBx&hm{E?nxT=Ue=i%w)moPx7Tzl+_ffdH=<%25%)LwsIjMMzAOB4 zji_kf#|~VCc9L}BufqS5#=p<-+w)H2hqq>q>okA5qk?=B;79H0?X0E$C5#8*aZR-F zup_JqDlgWjGhNdu$4{-RIx8NtX0|+$e8@Rw%PMBQSc9le2YJggE_=zJQ@&1B-AW*;PrnT>@yF6UR_nat zx>xOatnoWE-z5IKoVS5~g}=CNA@Ypt$td;wHF{2K=D{@g6)pRWdG=W8 zbqm(Cri@^H>O6$_SqEes$vNAVy+>nm3FgTL(vuRu+sI{m=y@#W+ZJ~#wAgLDtHQYgh|Q)^waDRLdInk@?`($U}49)~>OJTlo6iEEmT3p%{K_LThIrM{PQ_*sgjsJKNLH|#aG zMOQ#PNY3F~$UjlOei<8K`zN-qZ;i77J~^JHegi-0njGRs8u)hw*#zJr{ylH;3G_&t zpy;W@4d~i#YkGop${wfm2_!u(qw-Si6KHBIA6U|Uh09~YN*UVkoNtW*mB6z3s^T+| zkbk@dz7`vG7oo%UWu$GYB>!|g(NR26`==y5Qkn@`>NU)jE8LSb?!CCOy`lZEeLRVK z3;CxC_ukTm)+15r1;TyGJx}94$VS6<)Q`)+AFOV#*WtkL2yumiFA~4oIEeqnTkmM< z;S~nF0}bw&NOF@&@078lw%lm{Jz4v;;G&2lxtXNkjpuB+p-dvlAv-oR5^^)qc^7B` zev*%W()@bJpU&?fxd9%UUyqU8D0-yaD0(W5ckJ=f^mNp6De1v_1n`m`$ju*GZZtI> zlcyuWpBCi9BZo!m5_ZD&;dR`qv+iprj8`u86^kqhZ(OkZO7OC;T{JBUzx3f1{yoM^ zw!PQ*J85`{KZDk+5_@C{fTg2!8;EDCh?;KaZucnNkAo~1K98vjbvqusqxWZI zJC2SdpQgp6}S_K<2gO$45ce ze&}wEdDEBZDPuR-w!+H(3)ma<1AZpOo@SZwjqTVI!OQ;I^HSn}*B!3$?_*#uQ4c#KLj^z{zp)X3b8 zNh(?rbnb-MiNt}R+>I7dlo#A01v~12rvc@rCyt#29RaipsmRT0O59M@RFJq4SWsoj z7S9&%Kfah|RaJR$;ult772eXzLu$AAM^JGU|2(+F|39VMJ_{a+bqejRlTU1&@}cPp zZsT5CDsh5bfq=8DGQk!Z4FSh5k(Vq==;QfBt#$zt%0@YvaalMBqpqcq>y>pTM{*my{ zP%{bd9hW{1e3|y-pTS~a{U!N*hsp14Hor+<1o2zd?;(CG_%hbb<~M1hAby+hlHU>@ z{La<<*4U#IzfD-lKLzXUqxq*{5xt|F8EFrtwL3|)-$l3w9@LUTR!LGqyZj24Zzj4G zY+2u6EhJ%Shu?&qL*p)C90e=s{4>TS`WW=ON!`u7&RNut;jfO8{Q(Uj>i7 zYZKmUtVM4F{XU5wv8aH3eX2>|d05NEuDH_pY+nx&ieo_^&a-4E_Ykd zw$@YrG{Nq7UNB*0{I?RZZ?nG|nr4;Ksqh<7hfcvuzmX#j1UaWVY9u4j336S@!KM`&oK>alZPrmyy8Uv+&WnWaAm9w=D(^#6AeUUtRh4_E6KL7PR zY8wO_2D}nh%E(RdPEG!6=ynoX%fc&8IbI4rXuLGM9YeypUZ8%Of~R=Oo3v(@dX14@ zyHnA)Qfp3a9RhgB4+QAhs=CW;9jNstWgb|(;yxNnrDu!l7J-vypESH3FPD0GGmWRx z`Fl6&@zl^EieGh`5a&kiGV}+q@ZJx+ME(fbn2()uoE46Je%&8Ei>*8g)G>3o$sSb` z&-Y-C=$$z&nYLa*3|iJA1MV7WlMw^iVet_87|8WtKH_0nuR8FByfba#Dbg%u7O@M| z2ve|xW3|R{o%LMC7TEpbtQA|Z#?u^o$tR5iva-*ZQ5yjsSTSEYrY*>JDqB^?mfAMo z!e#qdk|tRL2s8nnX!^#Y33#NeD?F8GNlUwy4w7~nZ)G>01H7_%#fV|(+$G(v9WzyS zNy@x}-)r1@5t+C38Q>i~Wvt(XKWMy8bV}+w~vDU{LM;DX69q1$KNdfi&bG&b&K0X6p z9dLf9p36QC)!9&5w~+;e9M`wWRmPo|+2-8VHW{%MQ)U%B@;6MITx{&Ob73@vF?!9d z;A=JfUgHsa&s4+5YJEuXGXKoPzu)+$oqwj`gJVkaoryB;ZN78R_{NTV2fgFbv5YB* z^{BZ5Ux(}h`~~oX>P?Yue3-_3kMXB%U$mUH(DW*QL;8Et-@usXdMxhgmd$kyB2e-! z%11S8c`=p`PUS#)ft=V?s| z9@~`i`K5@Z;bH^8_c8I~U_738M!QAy{2m1lS4BQAMBe^!*JRMC{KDJode_|#@0Pf) zvre#YAunTWDiiJ@@K*m26LiV`0gv2gOQO&1^k#Ro45F<0;pQP_W z89vL%oZRnq$^BS-mO5VUhq_QZO@2n!it`rwK1IJT_uX7_A5Fdweq4cl0GHg)!e>d( z4EjEuK7WqSGS=>rv37h9nQ-7-Ej}ZLi2nSJ&js|kH+>I!{_7lR!ucO#hY>-sLwQc> zfU7(Be=o^0ZqukcXU!BkCMn}x-7VQPI^y2LRjzJ;$NYrsA2&X!d*6bm7`=qI^Jmli zdEzp{ujcJ><98cB&07f{r}0a9nCfb7$^+yO`&g#dvv;i}G^w{JHFP)UrC>* z(Pv5H!x$?|X1#TDf!Nd-w#*_MuZeC`(t3*CQM7sy{x;vx{R+t6qukjo#5d4Hd_H6I zjVz+%*}n~;oEAyd1cQ%o91n}Vf5%1@4fwww?1?} zvU8)9xB9x}-_C8le}GIBI;gLBiTn@oBI$>&B!l(!6Md#V0O%`>PZ`@`^P0S58Xs*R z%b~9hQSJ;ZE8zFCP3fVd`b_ddpOyZVpP!}n-Zk4B zXSZjKb3iWB#q@2EzP^aQeVW><(d`H7U&@6f{oJ0uucwb2=wF$$D)UWUG9MQGkvc-= z*tukmAwFkACmeUmJ-KgGe~f@VIqHv`pHbGHh?>s_}>yUy%CcKl_ML$#Mhx)4$fUHL8e zFpoaZ(0uxD^75rFPNKc2FNlw2hCE4ZYJ8Gg$;VJj4spjO_U4Iilc_!A-%vh~OXg!? zTrdy*KEIykmc$nV-R!jVl)U?feT#LEOG>Rdwlz+yvk=2jb14}kWYVPfuXNs|xxXi6 zLC$pKmCe?>vvzK_x#xZ!&QeP{iv>zC?*_8R?Y%Co6Yc#d_+QwYd>Oc>oA3i{zy2cj zQ{it7c!j@=&%THrXs-2u!vDO+U&hW~g#UIPufi|S^eFsZlzq_WP_&+jgYJ^2f|c%4 zZAg2m`rwsw#pS_B-UuxD)VBAG6=lY??I&T3BdHDm$C!A8J+i_n&Ij^F9@3AKQB#eqF=i0~6c`?Y%KM<6g ze=7?^wGEtm!t=n~{9AEXpnTq5>S)&$=sN@fF_$xS-HiLe^Xhgf)h(rT00#VVzG3r+ z?NI!Y&s}r%^JHVVd@lLtP(B%E>VJJM^I4jA%Ki*wUVGkYdD3e(rSJcT=bV%+kg^B4 zmUG$&IESKbfgStY1=`P&tvW?AlItJrm_a)91^WCwzQ4=e59>b<;X5jJU>7eizAncx z25TZZ?LqGVlX%$`i+5tpcS2ER!hFY`0hnWUE=F(vDEB3(kwAHA;O$ItgmBHo^H<3a zlM@)v9q6GPPvrl^Q(p5s@;Tebvg+=|^CbTyG1MXRK)zPbjW6r&!}EE74>(f`_$dV6 z*FQ1vY#E-1(Q}&f#23tYynhO7hn>Wi`xRa2S-={t?q$fx2=Xb;P@ng*4{V=;cFBW% znAad{9m!^YWx@})^Ju6NhqMg|dd^8r64)NHP8|Q&&bc;w zFcl--P0clx3qkx{L;R#%2ePHt(q}cNaxjj{$N%3v8!-X8pwb-=`9x7y%n`5goPC~E z>n7yf2jmxJ;GXt;c^-_x2ZLSpKCO3|w1#Yl{!tbabgGgEX`7Thcv+Qgn{0VN8+zW< zDVdPANy&s4`!d=#Sw2`zbF?DQ`Qs}&573u**%zGGP<^@2?hCym;pR2z}&YG5Y;2Ql4ee1kga=lg#0JDRazWj}w`1IZime6OacdX*fwT z2OM&o#_4g=7BN8Pj74?dIF^wte4^Sgezn`s^A@LOs@rP$NkO09tpnwpQMkRv%eE|N z-0`5_o-+!+oHGi)H&M?RjXxgaWS&JdR2$Mhs5TC=o_3y~ZbRlwH@A31efWv;1Z5jC zXL>VYYxV7!%$e5j80Ro&t|z(vz#NNj?Y`*qZpf2FeH3dhUk$ll3!T_OM&#spV|i<~ zqN65q_R|}XDXcP_hukisgYhw($7G|6ko$U4wyw9^(z1oKdja&pgK@kmeMH2r<-3~% zX1RP9`GyT!#XgSxZr$(xQ4}BSAU#dk-b(%xjrF%UFCy1p9dHw(dY(hFFVEWpN_@55)^^S=z32#?C5A^kpi97`lKK|v# z{)2hm^oXM~n`7xKy)KB?>o{6pyD9)Lb-UX*BCfXgzVxZkK9(((@dsxcca4P~`TW1K zG1f?F{L$E(lJ`fTD;O)Z;keXQVz%L8hsT6jZ|D}%A$2M84e&_X_ZIGBx{X7q=`h54 zL(gU8S=6(^rLG0KjYA`a^@eUE4Q*I9SoR~z{hMy%R@6|?ZRmc$52Y(8?S6P&_vkim z9nr9jZfGMjpdab(-*p=Yjqg|%b|`4sVzp7-M%F+f9U#YIlS_^r*;#gQ*sl%xFd&dm zkO5sQ269ZbVlajzBMrt}*NnkB0kUJ&N5CvVEd_cD5@fxld1lsBpfQPapVxhb_LXingFF+|@nKsUf$?hV!tXMwCh9#$jXlYX14-P!kUk^Yq0e5l^_j+v+z7iKlBC};$F$^39R4lZ_U_l9kthDdcsNtN!0)Mu)VgT_-V z%c4s6BMEKTx?lFA#HG)Kvx8lKv)<7CK$bP`WH#H7vS*Do+Mzm3kP(tWOFQYdY&j>{ zw8mWOw5$Yr3leI*rQ5S=m%yXpPmrzbqU4Z&Z_6!tndbT)q{;px(#B`F^3eZHCj3UM z%In8zP)EmvkM=(waCQ}a;MMY+PTf!bR|C$j%IDi@e$DhhL3@`Jrvc_;;(T4Llm*m( zlm4_7A2=qC(b*>D+rNU|fvapLbfDfq-&7wS(QO|26UiYbfNL#PkIFzI9uxys{s&$=0hjZtd5w z4P*)Gx;E605P3EuP4boH*pH~XP&DvEo zH&E+}q#Sb6VBGCJNs=F{_6sOPofvuxQe?fQ+q3G$jKSF7P3x&$Br9d?2R7M))?;ty z_DFtRM={JBP59C1ef_!7S<9lrFXQ71|3Eg0&9vY({*G2$nRM=TR7*$U9|(P`Pt7K{$xEj6#i6=zlwFU>tkvBc7GLr zklSlW{IE$EslQ{LWgO#w+IhEYrov5n;74WG{0}>>b0BwD;-KeyNDs{RKPhu0@Ep+r zdj3J3AM!E{wm^6JAFuVm18=zszk>_^V(O##-Hjv1Hv%=4|H)mCYrAxmx3popGydVV$FD+oWNjObZ-ad^J^;_xyj8u&*7e+R;ULgA4C;cCOUs3Jp27aoKbXk2YGTt zXWzPGz~A3LOFSrjL3W9H&eqmFhUf4)#2Sh-jl^?~y)W!TVf>A6tJxfKy7(WYr6 zr8!#Nx)2>y8Q90wQ=Wpm4&>cJ(NS1Fg`!8y`VYE&rF40}bRqIFCdr(}|_piz0?;s*dp!R6BY$PT_#3ldyzGO;{;i;4H2AO` zeDD}+FTw}wz-|yh^ufA=!xzKlHO9Wk7`n|kGR2o7uYH+|A3@64tvcaOsd3n%Dyv81 z`V~hMEx4uTwd56*qpge3-`=>f;_I6|Hz!pjo%fv2-NoJ8MeQAI#0FkdJJwO@J$cgW zzXrJjwcTs69ERaR#*nHr?lCF?`ea!a%Mti5`t-lilb9s7ZAsCJ-*m#lI;c94z!b3_c3%D;UnEhwgY%}(DR}Gk0=MY z18x?9ZZsks+4Q_O@W_194#s!txu}xQ5p(}2Fy;>YGwJzzpf@1q4*a`7C$n;bjVRRG zu}90AqZe1BjFgPe8A`r^Go{8AAZ}2gPN_gKQRTJ1s824dz(Yl1uHr`ePuJJ}vet8_ zd(ny|PkDAdzk#1(y!OHwZ=>38cq^~yEM;q|+Jnbgz1ab>WzE?juZ5HdE>$7YX@k~s zVJLQv4}rw_8mk!+b(*qdo#tc^88Pbi=?p&bkqIj%Jm5Jt@3Kp{s|&mQQh&1(4u2u5 z^olbV-YH;(qSFOQqm{ddGeHH4M!IC$;@jWPX$t2^TcqYR>h1>#zLSSZe+w5=$H-~x ziwsjY6*I6FEBv2c)%GfOUcB+=xMSc8 zvc=eZa7X>u8o$)v3~_ec6Go3Y_A+~ze+yJ0>|_4zKy0DF{M!lmtIWS$@TP7y|8~RE z^_hQ%0?#?~@5Z>JOKK7MUl`=-8}sjQRA{R+|Bf&^eL9^Y3tDmY8h*9brroHRj(@Mj~z>RkSrRnmO7JEh#QfEXXU*OUy4>c4=wR zLT`EEu#%F6O9~UyQ`6EXl*}(FFG(C!Qe042Tvk|+m@6Shl;Rc9po67}<=(=?0n768@yqGNa+(?87=HYi9 z{>sO*WyYmOsZj)X-b>#O!?O~6T4EFeA{_@{((rQvp3TRh@n&y0PAN$3l>h4vJT|WGprI5pm12&jB{yYwl8bR3gmTJbjEVT!4dX0v{wGdK z+AN6;loRNF1C=lhoRyYKEufzhpif&t!zZG`ep~FuwnJ5CxntE4`n@wwm30N_-O(L2T{2KduLn*d zWg`Qz7Z}qA=h7}Q`r*d9{$TPzba*g2I~0RE9Niy@Ra-9BE@N<~&^ScxCx8``P#a|m zBBRrgRXqa{s9EsP<`{F0d0^}zMCz`?iO!phFN}4@R-AL%hZ8}EjZIA8%UUW21rnPUPzzG`?j{RQq$mx_p8ih7j2L z8Ww6CVU1X07KZ)u2o`C)Yy87_AGYWN<0DjH`H)4iCM+6xWla$RiiP*tj5TL15N}LC zt+Q6FHA`f;x(=1Rl2|)b5AVQ|Sx43hb$+|BuCP#*tUF6VWlCIl3%@m!^YMOwg~y`OW0CWZZ2WV*mCT1l(BNQ zf>p4UY!$ndUB*_Un%EWWO16frWmmDQ*){B1b{$*C*0T+$-@OTWK%3bXwiPRvZ8&AV zgY9Iy*p2Kab~D?}Zee>^CEJVW(tgw&u3`t-t?Upx%x*(1;G^sqJI-#$8L1QOByNql zi&e84=3{rWQ|umgFT0Q3&mLe8vWM8i>=E`TdkiNBo?uVHQG1#_!=7c&vFF(f>_zqx zdzrn$US+SrOSqez#<{-xjHlV_#wp_-;~C>><4I#Z>Zjd-Gjop`kKy*1H`!abCFcx# zhrP?*V`q)c?0t3)nY8EGhsaIeW88vO&23mw?KO@XH(=M~M&kkYk?}bD2m6?P!ail6 zv4679*%$0f_7(e@eZ&66zGdIB@3C+5Bm0T{%zk0NvftS6><{)Q`-@#*wam}zFu@q- zTyO_>au+T~3*n)>5pT@HcsP&Xkvxhw;n6&XH{~84%j0-6-ki7K@jQXI78tbj7C zfC5`(Tn59q+PK2F+*o5=iFm?Q@VOr3Sv;Hf}^Kewg3JkMN`X7(dQ$=kiwFll)G8 z7q8|u+{f?cr}#bmUVb0HpFhAKZ|CWEpzvn;jANf!GXZ{QSmH)G!-5ZE8;{m(Ok3;@ghOA6s<&Skto`TwjxQi z6YWI@kt{ljPNK8uBD#uhqPs{DsUl6FvZu%tJw%qs7Cl8T(OdKpeZ?iBpU4sY#Q-r- z3=)II5HVB?6T`&_F;a{Yxni^!BgTqxV!W6jCW=X7vX~;KifLlHm?370Sz@-BBj$>E zB2Ua0`JzA+iUne!@QNa_NGujh#8Oc#O2jg;T$GA3Q7%@93b9hG5|@h0#AAMqDed6YIo!u|aGUo5b~Ev)CfGiW|f>v0dyCJH;+>qqs@jEOv`q#2!&8 z_KJOCzc?VO#6fYZI3x~>+r$xZR2&n>#qHt_aYCFFcZ$12wWtw3akn@n?h*Hj`^5d? z0r8-CNIWba5s!+;#N*-#@uYZ4JT0CP&x+^7^Wp{ZqIgNXEM5_>ir2(x@w#|JyeZxi zZ;LbH9r3PsPn;F+i*w=wabA2VJ`(>BAB#`Kr{Xj5Pw~06U&OECH}SjpL;NZJ5*I|R@QXT!;b0E#5DtgK>2NvRju1zvqmiSrBg_%* zh;T$Yq8v>e(T*5LQ-{Y9Yy9Sjb2M`_Hyn;JlXG)jOY`zeONt|w6_ys26u_e{FDxxA za15WHR~oi>VQFDu@shmaf}(seqaX&mB?a`C!&_3am_Rd9hlUiCl+Q0* zQnJ!nUQ%3A7G6*Ua>}rLke@>Hic881mlPJ|IfvyfU7F_{T)3n>&pF9kSf1y~&09LZ zAdgQg;^T^(6N?ru%@gCiMPgi8kuz_}GH;$^KA@Zn>AeE^p1W{aSrK~UxC~zi`6ZSi z<#~>x5@1`Ru&pW*rQQ-(nM9Z7q+g;uZ-sk>dQ~h#3;FnmkIs^%g$q@eGX|%r{tQkx ze`nF}%vAL`Gd0uv+{^qu!2CVX{5@3tPE&X?(@gj@6Hi*U`F&6GxA|UrhWeat!l#?? z=_Y)-37>AZn{Kw7ZoNOqe1EX{dx-hlq$k6qC&TPVhS^?**EVi)5M!;(w}MK?_uKaVdC#$ z;^|@H>0#pOVZvvns{Uu0{mwG`n`OSA)x-SWq%+H;Gs~ni%fz2$;?FYiXPI#FuU2>uL6*r`eC5CjOo#{+=fO zo+kdDW`BB`{pe}-qo;|#r-{F(iNBYLzn6)>mx-^JiLaMQUoZ3h0Veza6MldRKfr_^ zV75QN!r#N3-#tO|I^-?$46CUeZTI#ola-%u!K#-4HZ!#E1NnRlCTOWtDvI>2#c(;FOLg~yN=?5 z&f>Vt@;E+cP zRj2CIsZ;0Hy@zmMhBC}7oHCEeVDjvY+ZQ8v7nCo-XjDE`@?>64p2@RsLCV~Pi`De8 zz%zU1f->*?@`X~4mM&f}PbJMY#pmYgYUSqkNh!x5G^cD)`P7tobIZ%6acf5Uq8Us# zI=(P%+RP>Kc=|#Lo*TcwG%}~GY>J$zWbT7X2dPFGG-!}&G{O?^4ZRl5nKD0B-KU~H zO6fIw?&3KqE6NwlQ?bn1WecV=>B*v*fYPU6g`15{NgiY+9?UMEwkR!rV$sYgnUiHh zoSMEe)S#j>tKuy z#_C|44#w+Xf(lYq@2ZyfPSh7BsX+IL>@U?xDza$lyu_R2xs+-17BA2@NY+p>-@=*8 zbVS}DyEj#FiB2|mCVeh%O_rSxizcgV7tc@8RpE?JXDTBqPtvF?Nn?12n8}hvI!7Xk ziRAsLP74>JDy1x#Id{71rj)5=3ul(iTQ;*y*H|%~%3a1(ja5Z;{xX_0y;s@nMW*H| zxhhA-yw_<`lma7DWyJYVF`b$ma*9g4CDfyAk!J=q@r;%K7V$5&=v1Xr%T7g;i?qU* zT&6>Bk;=+jrgJQsH=Wj+m0YI7wBiIAi30(fn``K zm)=rcM!5=7OVRQ408TAG6-_QRC70{aTdH#`S3%m~ma@~Px5RZl^0XMv&C5+6oG>KP zrzaew4QaV6ZAMGnJ5&u!?@SdW4>dJMIH{Ts)is}~TW6@L<4hf<4n0+Ud+0EG=51-i zS~5<%ttFm5JfSA(Qc%Q27;3B3h|xD?kbZ5#rS#be2i|LSbIewO=UNK(%;ukWq`rTy zzJFxGE$MR;4!k4v{d0A5&MliiZ{eZ^^XAVePab7Ro@YoNrAeNrf{al!7Q@*K7SEYo zws=v-yu>5#XkGRKUH0gN;?fr+9C%0TvKQ!JjJ|833ev{3v{Kr_mbmKJyj(p`=H=>n zGPjS`TXKyamY1vN&Ai-!-myCKMLHO#J9V+{)NzKw#fHLhn!?2@NE#={M$%&WKVw`X zeHn`rkCMlk&R?vOB8aNp2`N)A2!zM-w}8`)Cl zv{4Cpj7rF3)Mt4H}X_p zC~mnUD?za8lv2@0qMDS7jdfg$R-MQQR((NBRTcNQ$W)V1GpR|~l3P}SAk`NKt5Klu zQgz77Q3q`jMX5TIl^{a(y;^qadyV8Y7ZNfxLQ`Gvw@6HNoRuIj)rmHVl2YfTC8WNZ zC?Cz$7TQvzRMcm+RMht*%0zRu<(_mS{qzMb`c%AaE5WBPYk8;QZ4#xOx!RIznwD|u zd{%;lQztUUv>HBRT5fAIHbH9YOto0kaV^wTJl%*ibD^cRQ+Fz6fC%se~PSk;~ z6qQxkb%sjiRmSL!nR4FM2jdbFr;d{56?MLiw9v$Brp_d(5jw!||o-s3BCXQ$AHy7f^sY(sgRWr6Db>O2U z6-kj5Q?d5OKoq}KolKe~E0H`;7q4cx{DH;x+{NjM1o=<9HQl6FS)`kb>L68FoK#e0 zR-l)GIR$1JT40u+1!nnKV3wZ+X8BoQrq6;LvrIP2%mTf<%qhq&2(Il zYwpW6%j;ZY7RWVb0i%}{6|#WqqNkZ(*r-f)e`Pr8=0P1haRk3Q{J-do5*YJm#IK6E4@m zoSAc_(zX!$<=m+$<;$jEE`;4>FAN%Ji~+fWbnWxB5hAx#Q$?s+C%05D-U$^Ixr4OP ziu)BcgvLl=j0^?F7*J4XTBXpmdS7$g*R)1oLw#REeP7e6eN8L$kB8=bkuho%8DmnB zY5gM8i^V4YVv~Qd>BVAmy~JEMM$ZCc^eiYby;5T6C^5ZLV(M37>Q`dQFEQnpm|iL| z^p%+Ul$i2LP5GrJ|5B5GsmZ_8v?FE#X*8hT4jd8MYjQd3^3DX-L&S8B>L{a7%_ z&_BqOKgg6n$do_Glt0LnH^`Ky?GiZ!gLM9dW|S71(N(BNS8k~`iV1X{DG!?ZG_{xDSx0Tf1oKpJ`S`oj&!E{fu?-TXSt=C&j?NV+GxkIp}*LaUu??P zMm(+?`io8Z#ismXQ+~0bzu3@UY|7VsoLj2-n9$I#`Iuuvzvg3(P5GLSIX3ib;~~eU ze9hM!oANbZb8O1je9f_;UmF{9OSQ3)(9o~>oMS`3=5vk>{hH4?HuP&g=h)D%`J7`z zzvgp}4gH$Wb4xX!6B_z8Uvq5e9c0QIWa!m=&h`E*`=$Lsiod*^xESfLiq9$NugK3S z(CkcThK*)Nj`gr8(Cn5|pxKR36-TIw%PG*^NN9$ut`5V>T<>qv_czCyy|~{DW6g#+ z1^vwZW-VFJUo|uJH1+DQnuTL?Uq3@fKSPIRFX~~=Yj)z;+^5--<9Pjzc+|s+`kHjw zY?)K2pYgEyPBk+oU0ok+vTW<&aXWi=`1i$8z2yH~w(Vk|}4E zFPO_Yd5?rg?hyj1g@=UY+$7UlzsuR1v)B7(vM+a8&fRP)=$_|G&MZ8?@cg{_1-o+y ziFMC;ICV(sw!EkF=H~=**5|J-EXlb!tsu8Hw|!o>v?b{;<_*hjpL1Qt+PozhC-Q@N zOENQa+h<-^&^C8jUiaK(ncMttWxd?y?zY|XmbC5OwpaUDhix6-%5C3iU8lFYtm{(U zbxGG(&b}x=k{>yzU*Y-ZY(IB%{_68j%93+?$^RF8Ca+z1^F`-gwC>{ci-Y+qdd$ub z_IjEFaBGSw}gCaPl4?m@<$#%(w>HRNix)Zl5@WN zohpAA_bKFDCx7&k{F&OwFlT*XN!}9KXYxne_*7oqsVRM)=gYZS9vAG^XLBCTd%CcM zK0cqjhUF~*zJj*u8XQruo6VuzRnRt`OU}d8{OSDFxwX_CKFC`F2hi4eOLErBpDbIq zIsFOMno8L_xwfj;`T48!gZi4fF6r+k&ndddF}D|K4dnS#?UvYvKM+5?MNdE0bn7;Z zw`Hqvm~2JehO!;=mdLh}H0K8;cgZk6QqWenU}1@{@P*@1yX)Gt+AnwJ-Eybzm6JQ< z>_wZ^dcRg)p7t~gELw(9V zpwHO}v|a80*~va2x%+1?-*x+nU2OZ=&-S%A$d0xn;;7s!BX_;9qppU1adqsFle_3n zh;P`r^H;f}M(*&jEWSOEVs^cCGke-DXD?eZ`_tqOGrhlTExWy5WuKSa-=+6<#dmhe zeO+IxeO1B#l|5DQ9aSy+sJ_2{>SFdzUCO>G_Dsp)W#`)kcA?qFRK#wjQg$j0WtY-O z_9l&HU($H?Bu!#J(#@@QBF$hI(roq{EoZOM9qcn&W#7xrq6gSj6yHe@lE{i`>t0l6@>5kB?oc z^6SI>*`s=e=)f05+uOG2U_T_<+K&)E22O|$jsv{l3encN3S13}IOh8{&dr1e!C`Pz zbRf?T%!+N?a~UU@ZU>PCE^sUOp3}GNU~Mmo@xWE;)`>xY?~dV{txjAI#(=SIP)u-Z zd6z%TH#fp!4d%4(i*MN~HzqKb5P6gAz zQu=r~SPAZ=+`GX&U^TcOJP0189#P8u#;tIY`5sG}TkAlJ<9EYO8{%z=w{1H zX)b{eE_J_l!|hLi4E((r9hX9CB3FTmj&2F@+Sr*f^FYtsm) z6VBrN9IzBD2P?r{q+12<1rKxl7-@e(+Q$i>AY4QEB;iwpPZK^vxR&r)!siHoO87Iv zpA-Iq@Oi>t623tABH>GfFBATX@YjUDrHog=tKc=T4y*@ng15l?U<23)HiM4={OEiF zJ_FmpmtZ^C0d~?}yTM-Y71$2~;A?OQnvQ^KPzN8MEBd&5L_fD$^milT3ip86&hbun zkCp9KTfGVUf>(GK&~^{lOWi&8aryLh4oEYEZJCcXL8&_^bv-5RprqrJw1bj%P|^-c+CfR{DQO2gw!Ut?brSHdye$Cl zyxAkc9pEmo3fv3s0}t?Z)GnY3?Bd>G=mlA523hR8Z_l3iw#b(-@+FLX35%g%47i0| z_-hEC0dIpXU@K?>u96dBT^9%h_} z8Rucfd6;p|H{C%G&=Xt+dVw5}2MPdrGe*OV(J*5)%oq(bM#GG;Fk>goxRGNf>=cVE zrvwZEqd7(%GFHNji!kFN%$Sg4APkR&;n6TW8iq&1@Mstw4a1{hcr*+jhT+37d>DoY z!@M(43O@}3gTYWR2CMteK!g^E&;k)!AVLd7Xn_bV5TOMkv_OOwh|mHNS|CCT zM4&nX)e)$UKy?JFBTyZI>IhUvpgIE85vYzpbp)y-P#uBl2vkR)Is(-ZsE+W~#r4#< zJtawGgASl0=maK%sbCtZp#s?!L54+;JrU$igmE5WoJSbv5yp9haUNluM;PZ3#&(3a zJ~G|a%yO%(nP3jM9W0RN;Oq#T9f7kWaCQXFj=qcsEE24;cTZX>fu6SGJY61)j% z-GmfwLIO7-ft#FSx6vs9L%;-%Zvl6KRp4H52pj>`lrezs7B}HPp-GT~$OohnPk^Vv zIeNcJfI!u2s(qa0JX3R!59z)e*u35e*=F9-%&&Iw=V{iVP6XRgDb#Q;A&6? zrhsy=7Bo>a0l3fU0Y-p{;3lvHECVaRd*B1`A=m^y0$V@@_!N8&z5tbg`lI(;h}Lll z$OZXe6?g(X4c39*yB|Ys7SslzHVCyrs0~7G5Nd-^8-&^*)CQq82(>||4MJ@YYJ*T4 zgxVm~2B9_xwLz#2LTwOggHRiU+91>hp*9G$L8uKvZ4hdMP#c8WAk+q-HVCyrs0~7G z5Nd-^8-&^*)CQq82(>||4MJ@YYJ*T4gxVm~26=<%0%nx~d@1t^cNaQUH9A$b*u)#< zd)=MrP1RNy)PP!02O{7&sCTQ8`Mc0hs?klVZSq0p??UG9LRY9p?(afhs7Chhay;%% z;-&Zr&S37fwKL{Qp{y10zo&wK+XTeXw&%yKH1@IF1 z6*x$Khrv;Boco*Ioy;Y>cz-I>?Z#N_29=diR|$2M;$y}}id)I}?8f-)#`x^U`0NIy zl~7sHv~DfIfTxX&pcs92V~}1HMnsZXo@K=)W7?8nM}piI3b6(ma4P z4^ZM!@d@{Q>TVaGySv3Uyl{m{9|6Y!V^qXI185@s3Bo^vZvf*~FlLzz0+z+tZSU?y z`W$9v2rx4QtUS*3AuJ*+CLBx%EzA-DW{Ci^M1WZ$z$_79mIyFQ1Z?C5vUo4DcrUVe zFS2+qvUo2#@d0$=1L(vD(1{Nq%?=~Y4l}C+m{kJIDgkDd0JBPfStY=%5@1#dFslTZ zRRYW^0cMo|vr2$jC1Br3IX?zSI{Q{InKGt=Y2Z%szZ={GR)hP&gWys3Ftbs>NkKlO zp%G=cdy%Av(R&XtH|$04J-|#Aa4zS1FOGW?QWqrcVP>v?Q@}B@45@n6>z8P~UgFTr+>cM$G`mfc`4_zLU?0q`|AM7c*mHGo%~ zS^!^o-~o>VlHiFY%uoB7pZ3GaF*rE}C&%FA7@Qk}bE9x>0L~4-xiL652IofM+!&l2 zfLkMs2tS-!3#Z25)EJx^fK#JzY6wn@!F4gXEdaO0;IF>tb+S4DO1;T~W9z3U@`}t^nMHH&U+k06oEFpclvi zd7uDLCfpT+yJB!x4DO1-T`@Q)3I|2upeP&^g@dASP!tXdz(Fy%Ckp2T;G8I26NPJH za7qkL3BV~aI3xgv1e{`bKlAc_=H>lxN(?Ruz$G!bBnFoR;F1_z5`!~ha76&F2*4Eq zI3fl|#Ndb+91(*fVsJzZj)=h#F*qVdugB>17`+~&$7A$(lpc@L<57A%N{>hB@hCkW zrN;yGcz_-cF#mhp7wOp-#SrAl1h;{nte__==)nehuY%sISF_?r^kRj(kzQ*MpV9gq zSR+q&U!+G~q(@$)M_!~yUZnLKX#ECSzk$|op!F+g{R&#KfmUpw6&q;923oO!R&1aZ zD`>$6TCjo^Y@h`jXt@ent%6popw(Wa)n264UZlk;XsHTXr-Ih0pmi#sv;j&RptJ!> z8=$lSN*kcG0ZJ>Nv;s;ic#F0aUK<1kgP~vySOcB`Zv)ArTL`y;Cg8du_%Q@OhTz8# z{1}2CL-1n=ehk5TA$TtY?}gyK5WE+H$3pN}2p$W;VPPwA|l(rJg5RnriT<;v-L#-?07-9XA4LE;MP zU5?*lF8hcuzM87wzW9o&y<3ZanKat!hgMeUtgO;mS*5eGN@r!2ZoT4evR-8^h+c2K z&5H9K!uQa5-xrzI29bfE(+t}9`>QX?V@9cEMyX{+sbxmNsv^?tZs6ZsnK5J3GGo*- zV_+2#Y4k^!8KKtk6K_i>S8crr<;pFWb8_`IfN&rv<~tT8fVQOH!p;QF#aD8-5Rb3s zmU6#b(XAxBi}S0%z2Ki&;l0m28^A`e8GH=30<2>6cgyN;JIAa5okQe%1XR;!8DbK> zcazda4vSj%xcxX-1D;~No(Cp_dEg;X5B^Nrsqjl0{E`O0v{>KtI>f z$J(;hV#TVVf29?xhCZ!hoc<%rQVo4tL!Z{rr#19x4SiZepVrW)iI$}r`m~M_H;EPE zO`w();NxHoc#2hC9+(W~frmgn_%rFwL7JaXcil+H3JQsSLf(z^K7nLDfn+{`1U^A- zP2|=@ZgM?&0ttLVyUov zqvWR6Bct3ZaUB>9Za}A<1c%&6_^#4#tHgHF?*w~EzaL&afc|@g`@^KKC2fT8IEaE6 zXaJ4w=jgLl=(APmvsLJ`Rp_%-=(1H-l6wrB)^4Z{T3y|v*tT|BIqp_;+A3^ZJFWic zxkbbWgW;sR7AZ6WDL;;D#yq#pn(b~=YovB=6|ESg6@%!YRp_8q z=%7{TpjGx#cc;A^tORoX^eAcM8jAIkqt{L+9JzK%ajR(YpmR3k?h@8GJ!!$qIoBJo zQl%H7=$cjNnpMsKj^!F_AYrk)jd^h!^Wrvi&nooJDrdaAo1O|fH8o- z=MgR>&0=sTW!=T~y9rqZJNFRYOSoF;pjE8ZWUofm`s)zqyD zEfuAeqO?YomWV=a6iTB|DfOQy)I^~q3I!Ya#zr6bj#(N0Y=l2U@M8lt3sSQnJlF^i z*29BgY8iz88mQ?G_$fpUgVb<4H4MT-d}Et)BcNa$$K$b)+RW}t>G$PeC3uA6$G{0@ zW(Q#Pfd@kLeLXb~()V&KH_*o+`Z7d6hUh~%wj1a}Ildd{yL$Q!zfoW{lKw%?Kg9Wi zq&*Cdf;#d#&iQ)IM@iEFnmPWn+dw~r_+rBa*f}nQqDuf4eC#1%THz3_aEKN-D6qg| z8wq0@3G>7>3;Rfzr>0r7$|3Pb;?kbGllUGivHOVY5qgNHpzTCG$Ib2`woPPN9$E#9 zEw+>}Eq2K2NZ1*i1$Yud3m(Fz5~c+YsZlt9@G3^*K>B+)eLuqe+8V|EV@NZO;|a*F zFvm5Z7Sw?VI1VV+f?Dh{VeB$t>@s2OGGXgGbO_r$$hWDo?DGJ$W2Xt*7X#?GF9q}- zcA7ADnlN^nuw4eGfO4=Do?8x9f=9^bF|d~NQSxabJi+ldSa1cc?6?Q%(Sr`w35PNq zti<%}A$s(nGn{iHIEIIviG(+Sn>jy~^V7f*j+cQIK#s)wNcRZm9|ezr$H5x#6nF+a z3w{cI4xR@ufS16pz_uVhMPckkVeCa=hyH|n4#GVL;huwV z&mlFMV}x=n$IJjfC+;n~bgm%z_b zJ{EC2p73TuDdVJkyOZm8gL{CKUyr!WP!)r!7*xfeszJ#rWRu71HbY5_FMeErexgTz zkhM@IydQ+${qVY9Nq`-klTu(0e7%?WKCmAh=zx1nNrR)bKn+hK>Pg?o$ZCe)gz&@j zey9!_2@x_9;+Vw~0a_qP3k2coOd}~m@U$PE_QTVDc-jw7`{8LnJng52g7B^%-u1(~ z{?jCioK=GGqMsHE!iRoZE$DdouB4X`y%=8fYw5zdBF+uxcs$|Fpp0`1(WDdR9W3Y1hLpD6jp z$hU#8k+7L>W@253zx?z{kZ&RN!HzY67QOraqwJT*#6FJqvtF%dK=usj>1z%;i+m`N!l)@-Le{2b=-TL^Udxtcn%Y;Z+GBl%f;uRWbKMarI06N-=0~Xc5o&&fn#OB+gj&klNo#8L zX|=1ScGc9bjv5`IM%C1)ni^G8qdK08plQ>VO|)elHIb$9d>n1rM&skzE2Y&@S{?1w zL_6_a6vhy?AKFNcxjNdWiMDBi_9kd=g7zj#s)N=hp7oDn9={HZ29p?78wkUohFPvLup1sX+}e7Mnh@lD`Pdxv5jcK&EQ*j zBnJ&+0FX~x?*lO)uTNy9*4jF!_gln7+$tw6a&Ze>-0H@j1&e(O)(=_Ucs6dWV@76` z$11(fPDMVSZgo4;-iLqJ;+C+FffZTIk$V!_0%=+6MJTOn(y}J4XmJZ#+62w@A z;lGUQ|HyLo!_W6ytZMrCeoVZ;x;TS%aRxhFVzhWYHl=!OO7-kI%Me2erB#0nVT&!L zUOdC`+d$e^ADJ=#M6X;&k37#xIcAMyP8#oCtMY0lFF8v!lUFl&HIr8} zdC8fmnY^0GtC^2py~?bz4jFIcyhyRux?gd&k+Y4QZAAJvTJN)K?gMPK8{AK=P3|T> z+P9Y6HXy|;@7JV`@WQG4iS>uPAxN$m;`>*E{6(mPjIpCeGHAUxUS7 z49?b)<64g1X9i*?7H5vBGgykLjZC+RvQz#UnWt(PRi%7t=!#L7n5+wQ@XSqGpC#Q& zhHgH+MY!t6Hl2lSI!opPw`+=8a*=JY2Pr?%{WY~-Lz;G^X@cqo(}I$cE1-HmbstOJ zujZ?wLs&nIhw~=#9Z?_m9%DDc7d*qQ=KhR?T12R6gqmg``>`@G4~?h3ceyWMeQg$- z*mLfVZ&jc*XsKTx+ORh+2inRX!(}NWG=S zSMIKAL)s&9Hx+5$BJDoX?j!9!((aSCVM@Q6@qre`iv2kIV=Cw=Y|%>ZYowpp;{yjq zSRL(g*Rfl=tq5T;sBvExb#U%qSV?||ea&IT-w7K^5BGr86RFaR;{q^%+FeB(4RJrT zMziuCM~%9Q^V}^0J&+bUDAv;JzlYklu=H)>YK8lmTBq^Ehf%SO@?XHFa6LJ##D27m z+zwz@Xk`7hnDy5-+HVx~dz4-}0Bz0CCOPU;dZvM%sibGN@}*bgC*!Mu@zq3*4UDZO z##Rk??&4dpL#V?E`IU7j12|lv8hY?4w92Dyr&2Mr}a`7IHk3iWt@CxZSs#Lnw zYH62uxv!S8Vn+L|GZrtt*-iR7>LN7^+0XJx3{L=fu7k98KcoE`*xNhS{R4IRRLna0 zu2|vrp!^YHwfhtCfcp~dw2nJJX9vNZVxv2qXR!~ELpg2sOP;~rM!)?IZd-`0{$}d= z8+ywxf~-$MJQ=KU7tv#PQ@c0mwL8S$h=1oUr|0gVws%qbbJTc0J-CVU| zz4#(+{~xsd&uIJEw0)4?oCQ@+(t@wkt1IbMKP|aN*>&U?e+3=rRrfvm<30N0J$UUs zo(XNBU!*iR&aR3Y?6I9_^-j>V8=7J~p*(K-|B!l~{5d?qJPI$gg@zjH{omB*zp2YE z>av%*R8W@?9`Q1)5o*5LtIBUZ9%^WH*{&({*%tEnBYA9xpF-qu5FV<6ha&VP-sIuG z99n-4t^cT)_1z}1;^ZCTu9F*R{Yz>6;ncK@nm$hJ`^CnSVOswj@$t!HwEiIR=}Eau zWTN=|^4;3{hPtyABsKE?cKaHkfM?@_{=l(3T$J|kDzpR(<$$>mFO`I5W8;O;1W7N*aF^qH0=K3YE;O(L5X ztLCm_)T5eKJ4&k^q1CEIci}_6NLiEa{!#7b90Es=b-!YK*Gjn~X2G*7*iUm8Jh+;= zJ>YJpemlfFT-VQVA9~+E{fAsi z_)}%pQsy3g5{rlVbARU6(l4j|F>-|jf9>O!pf?zg{|_Nw<8Jwj*A|}Ae{G1hku~A3 zjXo9s59jz0fnq_aDp~w83rC*te`8&D6#m2@_zj$u$|8XC8pLd@EkJ1`hoXTb7AT#qyvtplc+@)1 zE>-iVWmx=(lAF=;mNFAF7o&ZppigJ=vyos~tduTb_pb-v33*)U!?WAA$_+$ktQvz^ z9}MGnHvSMsv!{M6zw@!e-M~GQ@PyD^Jjm~2-T{3>^uQALE^mHs;CDIieSVA=2Klx3 z-n{L(3#T4?`Q`Dx=YEmT`-eNd!ffkEvc@uQ77{S}1 zbHqsLVL*(N?|X^~d`CYhCR)6AA|~Q;dt^MX^#}Yv#+zS6R+})=4kO>_E>u?-@zYmj~B1=zUB>L9q(*T z6L0Xn_!(jY?`qyAKIDDP*cyDvL*vz||E5%2=zj=rFn0Gku5?gqWbCuZ2 zyPWrm3f||uPkh2Voezjld9U*!@fq)SJ|#ZqtcFif{Q^`eov8d?mfWvg9|>Egx@eUS*~7*5=h#8gFiv zSnRZNMp#*V1^qg!1Mh8)wmQmpH?2;*y*b_LBENKQUBvsE^Q;~Y?`v9@^2X*$>vG=O zyw~a_zh!O}^1kLDtiF7C{2l97-n0C~D&xE2+pT%LRas@t=grDp*6qAqS#2%g>)|15 z8ShrsSj&08vd&r|-?6k-^7ZgPTX*o?@V{8Amw8gTZ)4%xbXtGxjR1xZy*=K%@^@Yf-^5>6)oR$PKGlt!wzsczZ5vL7gikU zBSd-!mY&E*hR-@}2 zHM+W}(bZ0ku5%e(f5lGnH-7EZ7&}*uv2)cJvl(OUMMu1gWV5#Gz< z@nZ33G{GrlU$ z5jOrR&L!n}JlVDJTX8<|3wXk7lBy(2 zDw1UqIoxR9NNzXTHxd7_{bS-c+cy)(X9e*xyNo(dwkOjvQ|u|kr`l7Am)qsUry-j< zD%sRY$)-+9Hg!_6DP75?bS0b8m2C1U+2m8Q$){wKPst{ql1)A(n=+A2?5V(?#iR7X zW4!sCgAN^xgim^(5GnYd zz~2x)D7pz7KNNUlbIx_nCFOZYSg-U*LHY}kvq{L=i>X5or-$(1o#GN|($ncl9WHe) z<*o0_kiywW;a;L6@6Y!Z?eJNV!`r{PJay@e?}|Lp1^*TKq$zL;#5qXn0i3^rH^(!j zyyidhn*T*k5wr|spKNE|wI539!<=EfK|Y*a2sZvKuBEII&Isy*G^d70bMhSTjOQ87 z1ZM(w-Q@7C75rNKSiXbKTj*K%x44D#w>r0yTbWZvohLh!sm~N=3TLJ|Q^~p9DJSP? z>}#-{>CSZGw>h_w|14(~`Ok6Y@PDo|mwV?q^SF13vxGVt516!E8>r-?tq4hkC|8f%F^%T5X#UmDL5|0z2vY29|l8qmZ z|0Mnj&qcEF$MHMjukw5(8^0X?Mf^3MlVszc<8|WecwUl?pN=<(ujjc*HvT&P5Aip7 zev*yfj^7i1i{~iW`0w}wZO%N(|M#5tXv6oN_i4QkoDYa^a5fPC(D{(~MrR}OP0l9b zo1M+XKXN`I{;~5h@h#34;#-}q#4DT%;-5I55NB5AKeI9%&aBM;gU&&C;E;2OmOsqb z2(s|>afJ9$zDkgV$B$~_%-M_u=4@)koDFXuci2sX?~i)=sL5$!M4WI=z_-opKJnuN z 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 Iq-}TpA2k&yXaE2J diff --git a/ui/pages/swaps/fee-card/index.scss b/ui/pages/swaps/fee-card/index.scss index f4e88a7d2281..991b4030beb4 100644 --- a/ui/pages/swaps/fee-card/index.scss +++ b/ui/pages/swaps/fee-card/index.scss @@ -207,11 +207,6 @@ &__bold { font-weight: bold; } - - &__tilde { - font-family: Roboto, Helvetica, Arial, sans-serif; - margin-right: -3.5px; - } } .info-tooltip { From 6f5862adf35f4af942ce565ed666d0710f01d5b7 Mon Sep 17 00:00:00 2001 From: Jyoti Puri Date: Thu, 19 Sep 2024 20:53:25 +0530 Subject: [PATCH 34/37] fix: re-designed confirmation storybooks (#27281) --- .../signatures/personal-sign.stories.tsx | 30 ++++++------- .../sign-typed-data-v3-or-v4.stories.tsx | 43 ++++++++++--------- .../signatures/sign-typed-data.stories.tsx | 17 ++++---- .../contract-interaction.stories.tsx | 10 ++++- .../confirmations/confirm/stories/utils.tsx | 24 +++++------ 5 files changed, 67 insertions(+), 57 deletions(-) diff --git a/ui/pages/confirmations/confirm/stories/signatures/personal-sign.stories.tsx b/ui/pages/confirmations/confirm/stories/signatures/personal-sign.stories.tsx index 1bffc1e34b3e..a0f278ec4266 100644 --- a/ui/pages/confirmations/confirm/stories/signatures/personal-sign.stories.tsx +++ b/ui/pages/confirmations/confirm/stories/signatures/personal-sign.stories.tsx @@ -1,10 +1,14 @@ -import ConfirmPage from '../../confirm' +import { + getMockPersonalSignConfirmState, + getMockPersonalSignConfirmStateForRequest, +} from '../../../../../../test/data/confirmations/helper'; +import ConfirmPage from '../../confirm'; import { ARG_TYPES_SIGNATURE, CONFIRM_PAGE_DECORATOR, - SignatureStoryTemplate + ConfirmStoryTemplate, } from '../utils'; -import { signatureRequestSIWE, unapprovedPersonalSignMsg } from '../../../../../../test/data/confirmations/personal_sign'; +import { signatureRequestSIWE } from '../../../../../../test/data/confirmations/personal_sign'; /** * The `` that's displayed when the current confirmation is a `personal_sign` signature. @@ -16,22 +20,18 @@ export default { argTypes: ARG_TYPES_SIGNATURE, }; -export const DefaultStory = (args) => { - return SignatureStoryTemplate(args, unapprovedPersonalSignMsg); -} -DefaultStory.storyName = 'Default'; -DefaultStory.args = { - msgParams: { ...unapprovedPersonalSignMsg.msgParams }, +export const DefaultStory = () => { + return ConfirmStoryTemplate(getMockPersonalSignConfirmState()); }; +DefaultStory.storyName = 'Default'; /** * The `` that's displayed when the current confirmation is a `personal_sign` signature * that parses as a valid Sign-in-With-Ethereum (SIWE)(EIP-4361) signature. */ -export const SignInWithEthereumStory = (args) => { - return SignatureStoryTemplate(args, signatureRequestSIWE); -} +export const SignInWithEthereumStory = () => { + return ConfirmStoryTemplate( + getMockPersonalSignConfirmStateForRequest(signatureRequestSIWE), + ); +}; SignInWithEthereumStory.storyName = 'Sign-in With Ethereum (SIWE)'; -SignInWithEthereumStory.args = { - msgParams: { ...signatureRequestSIWE.msgParams }, -}; \ No newline at end of file diff --git a/ui/pages/confirmations/confirm/stories/signatures/sign-typed-data-v3-or-v4.stories.tsx b/ui/pages/confirmations/confirm/stories/signatures/sign-typed-data-v3-or-v4.stories.tsx index 80c86a41137c..36f5c6cec8b6 100644 --- a/ui/pages/confirmations/confirm/stories/signatures/sign-typed-data-v3-or-v4.stories.tsx +++ b/ui/pages/confirmations/confirm/stories/signatures/sign-typed-data-v3-or-v4.stories.tsx @@ -1,10 +1,18 @@ -import ConfirmPage from '../../confirm' +import { + getMockTypedSignConfirmState, + getMockTypedSignConfirmStateForRequest, +} from '../../../../../../test/data/confirmations/helper'; +import ConfirmPage from '../../confirm'; import { ARG_TYPES_SIGNATURE, CONFIRM_PAGE_DECORATOR, - SignatureStoryTemplate + ConfirmStoryTemplate, } from '../utils'; -import { permitSignatureMsg, unapprovedTypedSignMsgV3, unapprovedTypedSignMsgV4 } from '../../../../../../test/data/confirmations/typed_sign'; +import { + permitSignatureMsg, + unapprovedTypedSignMsgV3, + unapprovedTypedSignMsgV4, +} from '../../../../../../test/data/confirmations/typed_sign'; /** * The `` that's displayed when the current confirmation is either a version @@ -21,32 +29,27 @@ export default { * The `` that's displayed when the current confirmation is either a * "V3" or "V4" `eth_signTypedData` signature that parses as a valid permit signature. */ -export const PermitStory = (args) => { - return SignatureStoryTemplate(args, permitSignatureMsg); +export const PermitStory = () => { + return ConfirmStoryTemplate( + getMockTypedSignConfirmStateForRequest(permitSignatureMsg), + ); }; PermitStory.storyName = 'Permit'; -PermitStory.args = { - msgParams: { ...permitSignatureMsg.msgParams }, -}; /** * The `` that's displayed when the current confirmation is a "V3" `eth_signTypedData` signature. */ -export const V3Story = (args) => { - return SignatureStoryTemplate(args, unapprovedTypedSignMsgV4); -} -V3Story.storyName = 'V3'; -V3Story.args = { - msgParams: { ...unapprovedTypedSignMsgV3.msgParams }, +export const V3Story = () => { + return ConfirmStoryTemplate( + getMockTypedSignConfirmStateForRequest(unapprovedTypedSignMsgV3), + ); }; +V3Story.storyName = 'V3'; /** * The `` that's displayed when the current confirmation is a "V4" `eth_signTypedData` signature. */ -export const DefaultStory = (args) => { - return SignatureStoryTemplate(args, unapprovedTypedSignMsgV4); -} -DefaultStory.storyName = 'V4'; -DefaultStory.args = { - msgParams: { ...unapprovedTypedSignMsgV4.msgParams }, +export const DefaultStory = () => { + return ConfirmStoryTemplate(getMockTypedSignConfirmState()); }; +DefaultStory.storyName = 'V4'; diff --git a/ui/pages/confirmations/confirm/stories/signatures/sign-typed-data.stories.tsx b/ui/pages/confirmations/confirm/stories/signatures/sign-typed-data.stories.tsx index 89c46695f60c..e11db79af928 100644 --- a/ui/pages/confirmations/confirm/stories/signatures/sign-typed-data.stories.tsx +++ b/ui/pages/confirmations/confirm/stories/signatures/sign-typed-data.stories.tsx @@ -1,8 +1,9 @@ -import ConfirmPage from '../../confirm' +import { getMockTypedSignConfirmStateForRequest } from '../../../../../../test/data/confirmations/helper'; +import ConfirmPage from '../../confirm'; import { ARG_TYPES_SIGNATURE, CONFIRM_PAGE_DECORATOR, - SignatureStoryTemplate + ConfirmStoryTemplate, } from '../utils'; import { unapprovedTypedSignMsgV1 } from '../../../../../../test/data/confirmations/typed_sign'; @@ -14,12 +15,12 @@ export default { component: ConfirmPage, decorators: CONFIRM_PAGE_DECORATOR, argTypes: ARG_TYPES_SIGNATURE, - args: { - msgParams: { ...unapprovedTypedSignMsgV1.msgParams }, - }, }; export const DefaultStory = (args) => { - return SignatureStoryTemplate(args, unapprovedTypedSignMsgV1); -} -DefaultStory.storyName = 'Default'; \ No newline at end of file + return ConfirmStoryTemplate( + getMockTypedSignConfirmStateForRequest(unapprovedTypedSignMsgV1), + ); +}; + +DefaultStory.storyName = 'Default'; diff --git a/ui/pages/confirmations/confirm/stories/transactions/contract-interaction.stories.tsx b/ui/pages/confirmations/confirm/stories/transactions/contract-interaction.stories.tsx index 278501e1baf6..33a8c2e67f0b 100644 --- a/ui/pages/confirmations/confirm/stories/transactions/contract-interaction.stories.tsx +++ b/ui/pages/confirmations/confirm/stories/transactions/contract-interaction.stories.tsx @@ -1,3 +1,4 @@ +import { getMockConfirmStateForTransaction } from '../../../../../../test/data/confirmations/helper'; import ConfirmPage from '../../confirm'; import { CONFIRM_PAGE_DECORATOR, ConfirmStoryTemplate } from '../utils'; import { @@ -19,9 +20,10 @@ export const DefaultStory = () => { const confirmation = genUnapprovedContractInteractionConfirmation({ address: FROM, txData: DEPOSIT_METHOD_DATA, + chainId: '0x5', }); - return ConfirmStoryTemplate(confirmation); + return ConfirmStoryTemplate(getMockConfirmStateForTransaction(confirmation)); }; DefaultStory.storyName = 'Default'; @@ -31,11 +33,13 @@ export const UserOperationStory = () => { ...genUnapprovedContractInteractionConfirmation({ address: FROM, txData: DEPOSIT_METHOD_DATA, + chainId: '0x5', }), isUserOperation: true, }; - return ConfirmStoryTemplate(confirmation, { + const confirmState = getMockConfirmStateForTransaction(confirmation, { + metamask: {}, preferences: { ...mockState.metamask.preferences, petnamesEnabled: true, @@ -48,6 +52,8 @@ export const UserOperationStory = () => { }, }, }); + + return ConfirmStoryTemplate(confirmState); }; UserOperationStory.storyName = 'User Operation'; diff --git a/ui/pages/confirmations/confirm/stories/utils.tsx b/ui/pages/confirmations/confirm/stories/utils.tsx index d6c94ade9c0e..dd194d574109 100644 --- a/ui/pages/confirmations/confirm/stories/utils.tsx +++ b/ui/pages/confirmations/confirm/stories/utils.tsx @@ -1,11 +1,8 @@ import React from 'react'; import { Provider } from 'react-redux'; import { MemoryRouter, Route } from 'react-router-dom'; -import { cloneDeep } from 'lodash'; -import mockState from '../../../../../test/data/mock-state.json'; import configureStore from '../../../../store/store'; import { ConfirmContextProvider } from '../../context/confirm'; -import { SignatureRequestType } from '../../types/confirm'; import ConfirmPage from '../confirm'; export const CONFIRM_PAGE_DECORATOR = [ @@ -30,9 +27,9 @@ export function ConfirmStoryTemplate( metamaskState: any = {}, ): JSX.Element { const store = configureStore({ + ...metamaskState, metamask: { - ...mockState.metamask, - ...metamaskState, + ...metamaskState.metamask, useTransactionSimulations: true, }, }); @@ -42,7 +39,13 @@ export function ConfirmStoryTemplate( {/* Adding the MemoryRouter and Route is a workaround to bypass a 404 error in storybook that is caused when the 'ui/pages/confirmations/hooks/syncConfirmPath.ts' hook calls history.replace. To avoid history.replace, we can provide a param id. */} - + } /> @@ -50,11 +53,8 @@ export function ConfirmStoryTemplate( } export function SignatureStoryTemplate( - args: { msgParams: SignatureRequestType['msgParams'] }, - confirmation: SignatureRequestType, + // eslint-disable-next-line @typescript-eslint/no-explicit-any + metamaskState: any = {}, ): JSX.Element { - const mockConfirmation = cloneDeep(confirmation) as SignatureRequestType; - mockConfirmation.msgParams = args.msgParams; - - return ConfirmStoryTemplate(mockConfirmation); + return ConfirmStoryTemplate(metamaskState); } From 4a55b5345239d7377bf8689e7b400ba926a9446f Mon Sep 17 00:00:00 2001 From: Norbert Elter <72046715+itsyoboieltr@users.noreply.github.com> Date: Thu, 19 Sep 2024 19:31:32 +0400 Subject: [PATCH 35/37] feat: quality gate test coverage fix (#27282) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## **Description** [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27282?quickstart=1) This PR fixes SonarCloud quality gate test coverage. ## **Related issues** Fixes: https://github.com/MetaMask/MetaMask-planning/issues/2962 ## **Manual testing steps** 1. Test coverage is correctly reported, local coverage matches SonarCloud numbers. ## **Screenshots/Recordings** Not applicable ## **Pre-merge author checklist** - [x] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --- jest.config.js | 8 +++++--- sonar-project.properties | 4 ++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/jest.config.js b/jest.config.js index dbfb0522cff7..be304e027ace 100644 --- a/jest.config.js +++ b/jest.config.js @@ -1,10 +1,12 @@ module.exports = { collectCoverageFrom: [ - '/app/scripts/**/*.(js|ts|tsx)', + '/app/**/*.(js|ts|tsx)', + '/development/**/*.(js|ts|tsx)', + '/offscreen/**/*.(js|ts|tsx)', '/shared/**/*.(js|ts|tsx)', + '/test/**/*.(js|ts|tsx)', + '/types/**/*.(js|ts|tsx)', '/ui/**/*.(js|ts|tsx)', - '/development/build/transforms/**/*.js', - '/test/unit-global/**/*.test.(js|ts|tsx)', ], coverageDirectory: './coverage/unit', coveragePathIgnorePatterns: ['.stories.*', '.snap'], diff --git a/sonar-project.properties b/sonar-project.properties index 3b8ff8dfba9f..5b00806c662f 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -2,11 +2,11 @@ sonar.projectKey=metamask-extension sonar.organization=consensys # Source -sonar.sources=app,development,offscreen,shared,types,ui +sonar.sources=app,development,offscreen,shared,test,types,ui sonar.exclusions=**/*.test.**,**/*.spec.**,app/images # Tests -sonar.tests=app,test,development,offscreen,shared,types,ui +sonar.tests=app,development,offscreen,shared,test,types,ui sonar.test.inclusions=**/*.test.**,**/*.spec.** sonar.javascript.lcov.reportPaths=coverage/lcov.info From 178c95ba21f80c9f44a207276a854759a65adc61 Mon Sep 17 00:00:00 2001 From: jiexi Date: Thu, 19 Sep 2024 10:58:36 -0700 Subject: [PATCH 36/37] feat: use networkClientId to resolve chainId in PPOM Middleware (#27263) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## **Description** Updates the PPOM Middleware to use the chainId for the dapp selected network instead of the globally selected network when processing a request [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27263?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** ### **Before** ### **After** ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --- app/scripts/lib/ppom/ppom-middleware.test.ts | 112 ++++++++++--------- app/scripts/lib/ppom/ppom-middleware.ts | 17 ++- app/scripts/metamask-controller.js | 1 + 3 files changed, 72 insertions(+), 58 deletions(-) diff --git a/app/scripts/lib/ppom/ppom-middleware.test.ts b/app/scripts/lib/ppom/ppom-middleware.test.ts index a0188a96ae8a..f82d029aac51 100644 --- a/app/scripts/lib/ppom/ppom-middleware.test.ts +++ b/app/scripts/lib/ppom/ppom-middleware.test.ts @@ -8,7 +8,6 @@ import { BlockaidResultType, } from '../../../../shared/constants/security-provider'; import { flushPromises } from '../../../../test/lib/timer-helpers'; -import { mockNetworkState } from '../../../../test/stub/networks'; import { createPPOMMiddleware, PPOMMiddlewareRequest } from './ppom-middleware'; import { generateSecurityAlertId, @@ -34,6 +33,8 @@ const REQUEST_MOCK = { params: [], id: '', jsonrpc: '2.0' as const, + origin: 'test.com', + networkClientId: 'networkClientId', }; const createMiddleware = ( @@ -41,15 +42,9 @@ const createMiddleware = ( chainId?: Hex; error?: Error; securityAlertsEnabled?: boolean; - // TODO: Replace `any` with type - // eslint-disable-next-line @typescript-eslint/no-explicit-any - updateSecurityAlertResponse?: any; - } = { - updateSecurityAlertResponse: () => undefined, - }, + } = {}, ) => { - const { chainId, error, securityAlertsEnabled, updateSecurityAlertResponse } = - options; + const { chainId, error, securityAlertsEnabled } = options; const ppomController = {}; @@ -68,7 +63,9 @@ const createMiddleware = ( } const networkController = { - state: mockNetworkState({ chainId: chainId || CHAIN_IDS.MAINNET }), + getNetworkConfigurationByNetworkClientId: jest + .fn() + .mockReturnValue({ chainId: chainId || CHAIN_IDS.MAINNET }), }; const appStateController = { @@ -79,7 +76,9 @@ const createMiddleware = ( listAccounts: () => [{ address: INTERNAL_ACCOUNT_ADDRESS }], }; - return createPPOMMiddleware( + const updateSecurityAlertResponse = jest.fn(); + + const middleware = createPPOMMiddleware( // TODO: Replace `any` with type // eslint-disable-next-line @typescript-eslint/no-explicit-any ppomController as any, @@ -96,6 +95,16 @@ const createMiddleware = ( accountsController as any, updateSecurityAlertResponse, ); + + return { + middleware, + ppomController, + preferenceController, + networkController, + appStateController, + accountsController, + updateSecurityAlertResponse, + }; }; describe('PPOMMiddleware', () => { @@ -121,12 +130,29 @@ describe('PPOMMiddleware', () => { }; }); - it('updates alert response after validating request', async () => { - const updateSecurityAlertResponse = jest.fn(); + it('gets the network configuration for the request networkClientId', async () => { + const { middleware, networkController } = createMiddleware(); - const middlewareFunction = createMiddleware({ - updateSecurityAlertResponse, - }); + const req = { + ...REQUEST_MOCK, + method: 'eth_sendTransaction', + securityAlertResponse: undefined, + }; + + await middleware(req, { ...JsonRpcResponseStruct.TYPE }, () => undefined); + + await flushPromises(); + + expect( + networkController.getNetworkConfigurationByNetworkClientId, + ).toHaveBeenCalledTimes(1); + expect( + networkController.getNetworkConfigurationByNetworkClientId, + ).toHaveBeenCalledWith('networkClientId'); + }); + + it('updates alert response after validating request', async () => { + const { middleware, updateSecurityAlertResponse } = createMiddleware(); const req = { ...REQUEST_MOCK, @@ -134,11 +160,7 @@ describe('PPOMMiddleware', () => { securityAlertResponse: undefined, }; - await middlewareFunction( - req, - { ...JsonRpcResponseStruct.TYPE }, - () => undefined, - ); + await middleware(req, { ...JsonRpcResponseStruct.TYPE }, () => undefined); await flushPromises(); @@ -151,7 +173,7 @@ describe('PPOMMiddleware', () => { }); it('adds loading response to confirmation requests while validation is in progress', async () => { - const middlewareFunction = createMiddleware(); + const { middleware } = createMiddleware(); const req: PPOMMiddlewareRequest<(string | { to: string })[]> = { ...REQUEST_MOCK, @@ -159,11 +181,7 @@ describe('PPOMMiddleware', () => { securityAlertResponse: undefined, }; - await middlewareFunction( - req, - { ...JsonRpcResponseStruct.TYPE }, - () => undefined, - ); + await middleware(req, { ...JsonRpcResponseStruct.TYPE }, () => undefined); expect(req.securityAlertResponse?.reason).toBe(BlockaidReason.inProgress); expect(req.securityAlertResponse?.result_type).toBe( @@ -172,7 +190,7 @@ describe('PPOMMiddleware', () => { }); it('does not do validation if the user has not enabled the preference', async () => { - const middlewareFunction = createMiddleware({ + const { middleware } = createMiddleware({ securityAlertsEnabled: false, }); @@ -183,7 +201,7 @@ describe('PPOMMiddleware', () => { }; // @ts-expect-error Passing in invalid input for testing purposes - await middlewareFunction(req, undefined, () => undefined); + await middleware(req, undefined, () => undefined); expect(req.securityAlertResponse).toBeUndefined(); expect(validateRequestWithPPOM).not.toHaveBeenCalled(); @@ -191,7 +209,7 @@ describe('PPOMMiddleware', () => { it('does not do validation if user is not on a supported network', async () => { isChainSupportedMock.mockResolvedValue(false); - const middlewareFunction = createMiddleware({ + const { middleware } = createMiddleware({ chainId: '0x2', }); @@ -201,18 +219,14 @@ describe('PPOMMiddleware', () => { securityAlertResponse: undefined, }; - await middlewareFunction( - req, - { ...JsonRpcResponseStruct.TYPE }, - () => undefined, - ); + await middleware(req, { ...JsonRpcResponseStruct.TYPE }, () => undefined); expect(req.securityAlertResponse).toBeUndefined(); expect(validateRequestWithPPOM).not.toHaveBeenCalled(); }); it('does not do validation when request is not for confirmation method', async () => { - const middlewareFunction = createMiddleware(); + const { middleware } = createMiddleware(); const req = { ...REQUEST_MOCK, @@ -220,18 +234,14 @@ describe('PPOMMiddleware', () => { securityAlertResponse: undefined, }; - await middlewareFunction( - req, - { ...JsonRpcResponseStruct.TYPE }, - () => undefined, - ); + await middleware(req, { ...JsonRpcResponseStruct.TYPE }, () => undefined); expect(req.securityAlertResponse).toBeUndefined(); expect(validateRequestWithPPOM).not.toHaveBeenCalled(); }); it('does not do validation when request is send to users own account', async () => { - const middlewareFunction = createMiddleware(); + const { middleware } = createMiddleware(); const req = { ...REQUEST_MOCK, @@ -240,18 +250,14 @@ describe('PPOMMiddleware', () => { securityAlertResponse: undefined, }; - await middlewareFunction( - req, - { ...JsonRpcResponseStruct.TYPE }, - () => undefined, - ); + await middleware(req, { ...JsonRpcResponseStruct.TYPE }, () => undefined); expect(req.securityAlertResponse).toBeUndefined(); expect(validateRequestWithPPOM).not.toHaveBeenCalled(); }); it('does not do validation for SIWE signature', async () => { - const middlewareFunction = createMiddleware({ + const { middleware } = createMiddleware({ securityAlertsEnabled: true, }); @@ -290,17 +296,17 @@ describe('PPOMMiddleware', () => { }); // @ts-expect-error Passing invalid input for testing purposes - await middlewareFunction(req, undefined, () => undefined); + await middleware(req, undefined, () => undefined); expect(req.securityAlertResponse).toBeUndefined(); expect(validateRequestWithPPOM).not.toHaveBeenCalled(); }); it('calls next method', async () => { - const middlewareFunction = createMiddleware(); + const { middleware } = createMiddleware(); const nextMock = jest.fn(); - await middlewareFunction( + await middleware( { ...REQUEST_MOCK, method: 'eth_sendTransaction' }, { ...JsonRpcResponseStruct.TYPE }, nextMock, @@ -315,7 +321,7 @@ describe('PPOMMiddleware', () => { const nextMock = jest.fn(); - const middlewareFunction = createMiddleware({ error }); + const { middleware } = createMiddleware({ error }); const req = { ...REQUEST_MOCK, @@ -323,7 +329,7 @@ describe('PPOMMiddleware', () => { securityAlertResponse: undefined, }; - await middlewareFunction(req, { ...JsonRpcResponseStruct.TYPE }, nextMock); + await middleware(req, { ...JsonRpcResponseStruct.TYPE }, nextMock); expect(req.securityAlertResponse).toStrictEqual( SECURITY_ALERT_RESPONSE_MOCK, diff --git a/app/scripts/lib/ppom/ppom-middleware.ts b/app/scripts/lib/ppom/ppom-middleware.ts index d623d4868af5..5b9107337a05 100644 --- a/app/scripts/lib/ppom/ppom-middleware.ts +++ b/app/scripts/lib/ppom/ppom-middleware.ts @@ -1,6 +1,9 @@ import { AccountsController } from '@metamask/accounts-controller'; import { PPOMController } from '@metamask/ppom-validator'; -import { NetworkController } from '@metamask/network-controller'; +import { + NetworkClientId, + NetworkController, +} from '@metamask/network-controller'; import { Json, JsonRpcParams, @@ -14,7 +17,6 @@ import { SIGNING_METHODS } from '../../../../shared/constants/transaction'; import PreferencesController from '../../controllers/preferences-controller'; import { AppStateController } from '../../controllers/app-state'; import { LOADING_SECURITY_ALERT_RESPONSE } from '../../../../shared/constants/security-provider'; -import { getProviderConfig } from '../../../../ui/ducks/metamask/metamask'; import { trace, TraceContext, TraceName } from '../../../../shared/lib/trace'; import { generateSecurityAlertId, @@ -33,6 +35,7 @@ const CONFIRMATION_METHODS = Object.freeze([ export type PPOMMiddlewareRequest< Params extends JsonRpcParams = JsonRpcParams, > = Required> & { + networkClientId: NetworkClientId; securityAlertResponse?: SecurityAlertResponse | undefined; traceContext?: TraceContext; }; @@ -78,9 +81,13 @@ export function createPPOMMiddleware< const securityAlertsEnabled = preferencesController.store.getState()?.securityAlertsEnabled; - const { chainId } = getProviderConfig({ - metamask: networkController.state, - }); + // This will always exist as the SelectedNetworkMiddleware + // adds networkClientId to the request before this middleware runs + const { chainId } = + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + networkController.getNetworkConfigurationByNetworkClientId( + req.networkClientId, + )!; const isSupportedChain = await isChainSupported(chainId); if ( diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index 9eff0ed6d2be..c5fd4b834aed 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -5530,6 +5530,7 @@ export default class MetamaskController extends EventEmitter { engine.push(createTracingMiddleware()); + // PPOMMiddleware come after the SelectedNetworkMiddleware engine.push( createPPOMMiddleware( this.ppomController, From 0fcc063a7d3af345c2c432cfe3d396cb243c0681 Mon Sep 17 00:00:00 2001 From: Dan J Miller Date: Thu, 19 Sep 2024 15:33:07 -0230 Subject: [PATCH 37/37] chore: Make sonarcloud failures non-blocking (#27289) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## **Description** Sonarcloud is failing some PRs based on pre-existing issues present in files that a PR edits. We will make it non-blocking until that is resolved [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/MetaMask/metamask-extension/pull/27289?quickstart=1) ## **Related issues** Fixes: ## **Manual testing steps** 1. Go to this page... 2. 3. ## **Screenshots/Recordings** ### **Before** ### **After** ## **Pre-merge author checklist** - [ ] I've followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Extension Coding Standards](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-extension/blob/develop/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. --- sonar-project.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sonar-project.properties b/sonar-project.properties index 5b00806c662f..1475b64f4acb 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -12,4 +12,4 @@ sonar.test.inclusions=**/*.test.**,**/*.spec.** sonar.javascript.lcov.reportPaths=coverage/lcov.info # Fail CI job if quality gate failures -sonar.qualitygate.wait=true +sonar.qualitygate.wait=false