From 389461fb97ebd0589f7b913e57cb5359c9948666 Mon Sep 17 00:00:00 2001 From: Matt Grote Date: Tue, 11 Oct 2022 10:48:54 -0300 Subject: [PATCH 01/13] WIP: ts gradient text, add new modal to import account --- package.json | 2 +- .../GradientText/{index.js => index.tsx} | 21 +++- src/components/common/Text/index.tsx | 6 +- .../tabs/Profile/screens/Accounts/index.js | 14 ++- .../CreateImportAccount/assets/createIcon.png | Bin 0 -> 6893 bytes .../assets/pemFileIcon.png | Bin 0 -> 7019 bytes .../assets/privateKeyIcon.png | Bin 0 -> 7028 bytes .../screens/CreateImportAccount/index.tsx | 106 ++++++++++++++++++ .../screens/CreateImportAccount/styles.ts | 20 ++++ src/translations/en/index.js | 2 +- yarn.lock | 8 +- 11 files changed, 161 insertions(+), 18 deletions(-) rename src/components/common/GradientText/{index.js => index.tsx} (54%) create mode 100644 src/screens/tabs/Profile/screens/CreateImportAccount/assets/createIcon.png create mode 100644 src/screens/tabs/Profile/screens/CreateImportAccount/assets/pemFileIcon.png create mode 100644 src/screens/tabs/Profile/screens/CreateImportAccount/assets/privateKeyIcon.png create mode 100644 src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx create mode 100644 src/screens/tabs/Profile/screens/CreateImportAccount/styles.ts diff --git a/package.json b/package.json index f86ad833..db68e445 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "@dfinity/principal": "^0.9.3", "@hookform/error-message": "^2.0.0", "@psychedelic/dab-js": "1.4.12", - "@psychedelic/plug-controller": "0.23.2", + "@psychedelic/plug-controller": "0.23.3-alpha", "@react-native-async-storage/async-storage": "^1.17.10", "@react-native-community/blur": "^4.2.0", "@react-native-community/clipboard": "^1.5.1", diff --git a/src/components/common/GradientText/index.js b/src/components/common/GradientText/index.tsx similarity index 54% rename from src/components/common/GradientText/index.js rename to src/components/common/GradientText/index.tsx index 1fd8a31b..4fdf4c43 100644 --- a/src/components/common/GradientText/index.js +++ b/src/components/common/GradientText/index.tsx @@ -2,19 +2,30 @@ import MaskedView from '@react-native-masked-view/masked-view'; import React from 'react'; import LinearGradient from 'react-native-linear-gradient'; -import Text from '../Text'; +import Text, { TextProps } from '../Text'; -const GradientText = ({ colors, style, ...props }) => { +interface Coordinate { + x: number; + y: number; +} + +interface Props extends TextProps { + colors: string[]; + start?: Coordinate; + end?: Coordinate; +} + +function GradientText({ colors, style, start, end, ...props }: Props) { return ( }> + start={start || { x: 0, y: 0 }} + end={end || { x: 1, y: 1 }}> ); -}; +} export default GradientText; diff --git a/src/components/common/Text/index.tsx b/src/components/common/Text/index.tsx index e4ae2357..2e677f4d 100644 --- a/src/components/common/Text/index.tsx +++ b/src/components/common/Text/index.tsx @@ -1,5 +1,5 @@ import React, { useMemo } from 'react'; -import { Text as RNText, TextProps } from 'react-native'; +import { Text as RNText, TextProps as RNTextProps } from 'react-native'; export type TextTypes = | 'headline1' @@ -14,13 +14,13 @@ export type TextTypes = | 'overline' | 'normal'; -interface Props extends TextProps { +export interface TextProps extends RNTextProps { type?: TextTypes; } import styles from './styles'; -function Text({ style, type, ...props }: Props) { +function Text({ style, type, ...props }: TextProps) { const baseStyle = useMemo( () => (type ? [styles.base, styles[type], style] : [styles.base, style]), [type, style] diff --git a/src/screens/tabs/Profile/screens/Accounts/index.js b/src/screens/tabs/Profile/screens/Accounts/index.js index 29469754..c8be2aa8 100644 --- a/src/screens/tabs/Profile/screens/Accounts/index.js +++ b/src/screens/tabs/Profile/screens/Accounts/index.js @@ -22,6 +22,7 @@ import { setCurrentPrincipal } from '@/redux/slices/keyring'; import shortAddress from '@/utils/shortAddress'; import CreateEditAccount from '../CreateEditAccount'; +import CreateImportAccount from '../CreateImportAccount'; import AddICNS from './AddICNS'; import styles from './styles'; @@ -39,15 +40,16 @@ const Accounts = ({ modalRef, onClose, ...props }) => { const [selectedAccount, setSelectedAccount] = useState(null); const createEditAccountRef = useRef(null); + const createImportAccountRef = useRef(null); const addICNSRef = useRef(null); useEffect(() => { dispatch(getICPPrice()); }, []); - const onCreateAccount = () => { + const onCreateImportAccount = () => { setSelectedAccount(null); - createEditAccountRef.current?.open(); + createImportAccountRef.current?.open(); }; const onEditAccount = account => { @@ -155,11 +157,11 @@ const Accounts = ({ modalRef, onClose, ...props }) => { )} {wallets?.map(renderAccountItem)} - + - {t('accounts.createAccount')} + {t('accounts.createImportAccount')} @@ -168,6 +170,10 @@ const Accounts = ({ modalRef, onClose, ...props }) => { accountsModalRef={modalRef} account={selectedAccount} /> + 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 SG>5bR0000 void; + icon: ImageSourcePropType; + colors: string[]; +} + +interface Props { + modalRef: RefObject; + accountsModal: RefObject; +} + +function CreateImportAccount({ accountsModal, modalRef }: Props) { + const createAccountRef = useRef(null); + + const closeModal = () => { + // TODO: Delete ! + accountsModal?.current!.close(); + }; + + const handleBack = () => { + // TODO: Delete ! + modalRef?.current!.close(); + }; + + const BUTTONS = [ + { + id: 'create', + title: 'Create', + onPress: () => createAccountRef?.current?.open(), + icon: createAccountIcon, + colors: ['#00E8FF', '#44DC45'], + }, + { + id: 'import-key', + title: 'Private Key', + onPress: () => {}, + icon: privateKeyIcon, + colors: ['#FB5DC3', '#FDB943'], + }, + { + id: 'import-pem', + title: 'PEM file', + onPress: () => {}, + icon: pemFileIcon, + colors: ['#36C3E9', '#CF6ED3'], + }, + ]; + + const renderButton = ({ id, title, onPress, icon, colors }: Button) => ( + + + + {title} + + + ); + + return ( + {}}> +
+ {t('common.close')} + + } + left={ + + {t('common.back')} + + } + center={{'Create/Import Account'}} + /> + {BUTTONS.map(renderButton)} + + + ); +} + +export default CreateImportAccount; diff --git a/src/screens/tabs/Profile/screens/CreateImportAccount/styles.ts b/src/screens/tabs/Profile/screens/CreateImportAccount/styles.ts new file mode 100644 index 00000000..dc5eb8ab --- /dev/null +++ b/src/screens/tabs/Profile/screens/CreateImportAccount/styles.ts @@ -0,0 +1,20 @@ +import { StyleSheet } from 'react-native'; + +import { Colors, FontStyles } from '@/constants/theme'; + +export default StyleSheet.create({ + container: { + flex: 1, + paddingTop: 10, + paddingBottom: 30, + flexDirection: 'row', + justifyContent: 'space-evenly', + }, + headerAction: { + ...FontStyles.Normal, + color: Colors.ActionBlue, + }, + button: { + alignItems: 'center', + }, +}); diff --git a/src/translations/en/index.js b/src/translations/en/index.js index 12e1b31e..47ef37b8 100644 --- a/src/translations/en/index.js +++ b/src/translations/en/index.js @@ -167,7 +167,7 @@ const translations = { }, accounts: { title: 'Accounts', - createAccount: 'Create account', + createImportAccount: 'Create/Import account', moreOptions: { edit: 'Edit Account', addIcns: 'Add ICNS Domain', diff --git a/yarn.lock b/yarn.lock index 37630b43..18c47164 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1777,10 +1777,10 @@ cross-fetch "^3.1.4" crypto-js "^4.1.1" -"@psychedelic/plug-controller@0.23.2": - version "0.23.2" - resolved "https://npm.pkg.github.com/download/@Psychedelic/plug-controller/0.23.2/1a7c8dccd0edc69d448c37317caf7e2c04f5a3bb#1a7c8dccd0edc69d448c37317caf7e2c04f5a3bb" - integrity sha512-sfShtvoIdotShcP9tOfGuB9a7XEs7qmRlQ8EbAUKdIs7wFQyLNqXOkqxCyUjbD4EsC5dtFiMo5dpZ0xGfv71Sg== +"@psychedelic/plug-controller@0.23.3-alpha": + version "0.23.3-alpha" + resolved "https://npm.pkg.github.com/download/@Psychedelic/plug-controller/0.23.3-alpha/9f63c6229fe265dde2bfb17c5fde5ea9e6bb4c2f#9f63c6229fe265dde2bfb17c5fde5ea9e6bb4c2f" + integrity sha512-8S4HgcIp3wpQbxECUYJ04jWwmp7h4L6PJjFCpD9iMAtrtt7P3mlW6bAQdsMrlBsnRn4weCSz5IEq5q91NRX7DQ== dependencies: "@dfinity/agent" "0.9.3" "@dfinity/candid" "0.9.3" From 721858dc10eb275f269ce9c8331d6c859b1d3547 Mon Sep 17 00:00:00 2001 From: Matias Grote <44204622+mattgle@users.noreply.github.com> Date: Tue, 11 Oct 2022 12:31:19 -0300 Subject: [PATCH 02/13] Fix BatchTrx style when multiple actions (#493) --- .../screens/Flows/components/BatchTransactions/index.tsx | 1 - .../screens/Flows/components/BatchTransactions/styles.ts | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/screens/flows/WalletConnect/screens/Flows/components/BatchTransactions/index.tsx b/src/screens/flows/WalletConnect/screens/Flows/components/BatchTransactions/index.tsx index 9e47b257..5f2a3a31 100644 --- a/src/screens/flows/WalletConnect/screens/Flows/components/BatchTransactions/index.tsx +++ b/src/screens/flows/WalletConnect/screens/Flows/components/BatchTransactions/index.tsx @@ -47,7 +47,6 @@ function BatchTransactions({ request, metadata }: WallectConnectFlowsData) { {transactions.map(renderTransaction)} diff --git a/src/screens/flows/WalletConnect/screens/Flows/components/BatchTransactions/styles.ts b/src/screens/flows/WalletConnect/screens/Flows/components/BatchTransactions/styles.ts index d4588c03..2f84aacc 100644 --- a/src/screens/flows/WalletConnect/screens/Flows/components/BatchTransactions/styles.ts +++ b/src/screens/flows/WalletConnect/screens/Flows/components/BatchTransactions/styles.ts @@ -5,10 +5,10 @@ import { Colors } from '@/constants/theme'; export default StyleSheet.create({ listContentContainer: { paddingVertical: 10, - flexGrow: 1, }, list: { width: '100%', + flex: 1, }, appIcon: { height: 28, From f1369b53dab5002b0d070c52bcf04953285605e6 Mon Sep 17 00:00:00 2001 From: Matt Grote Date: Wed, 12 Oct 2022 12:51:09 -0300 Subject: [PATCH 03/13] WIP: import pem file working, check border cases --- package.json | 1 + src/hooks/useAccounts.js | 10 ++- src/redux/slices/keyring.js | 33 ++++++-- .../screens/CreateEditAccount/index.js | 6 +- .../screens/CreateImportAccount/index.tsx | 44 ++++++++--- .../tabs/Profile/screens/ImportKey/index.tsx | 76 +++++++++++++++++++ .../tabs/Profile/screens/ImportKey/styles.ts | 19 +++++ yarn.lock | 7 ++ 8 files changed, 174 insertions(+), 22 deletions(-) create mode 100644 src/screens/tabs/Profile/screens/ImportKey/index.tsx create mode 100644 src/screens/tabs/Profile/screens/ImportKey/styles.ts diff --git a/package.json b/package.json index db68e445..5b98484b 100644 --- a/package.json +++ b/package.json @@ -77,6 +77,7 @@ "react-native-crypto": "^2.2.0", "react-native-crypto-js": "^1.0.0", "react-native-device-info": "^10.2.0", + "react-native-document-picker": "^8.1.1", "react-native-fast-image": "^8.6.1", "react-native-fetch-api": "^2.0.0", "react-native-file-access": "^2.5.0", diff --git a/src/hooks/useAccounts.js b/src/hooks/useAccounts.js index a1641037..b5192f6e 100644 --- a/src/hooks/useAccounts.js +++ b/src/hooks/useAccounts.js @@ -1,13 +1,19 @@ import { useDispatch, useSelector } from 'react-redux'; -import { createSubaccount, editSubaccount } from '@/redux/slices/keyring'; +import { + createSubaccount, + editSubaccount, + importAccountFromPem, +} from '@/redux/slices/keyring'; const useAccounts = () => { const dispatch = useDispatch(); const { wallets } = useSelector(state => state.keyring); const onCreate = account => { - dispatch(createSubaccount(account)); + dispatch( + account?.pem ? importAccountFromPem(account) : createSubaccount(account) + ); }; const onEdit = account => { diff --git a/src/redux/slices/keyring.js b/src/redux/slices/keyring.js index c52ddd93..67328d33 100644 --- a/src/redux/slices/keyring.js +++ b/src/redux/slices/keyring.js @@ -1,4 +1,4 @@ -import { createAsyncThunk, createSlice } from '@reduxjs/toolkit'; +import { createAsyncThunk, createSlice, isAnyOf } from '@reduxjs/toolkit'; import KeyRing from '@/modules/keyring'; @@ -177,6 +177,22 @@ export const login = createAsyncThunk( } ); +export const importAccountFromPem = createAsyncThunk( + 'keyring/importAccountFromPem', + /** + * @param {{ name: string, icon: string, pem: string }} params + */ + async params => { + try { + const instance = KeyRing.getInstance(); + const response = await instance?.importAccountFromPem(params); + return response; + } catch (e) { + console.log('importAccountFromPem', e); + } + } +); + export const createSubaccount = createAsyncThunk( 'keyring/createSubaccount', async params => { @@ -324,11 +340,6 @@ export const keyringSlice = createSlice({ state.isInitialized = action.payload.isInitialized; state.isUnlocked = action.payload.isUnlocked; }) - .addCase(createSubaccount.fulfilled, (state, action) => { - if (action.payload) { - state.wallets = [...state.wallets, action.payload]; - } - }) .addCase(editSubaccount.fulfilled, (state, action) => { const { isCurrentWallet, wallet } = action.payload; if (isCurrentWallet) { @@ -365,7 +376,15 @@ export const keyringSlice = createSlice({ state.isInitialized = true; state.isUnlocked = unlocked; } - }); + }) + .addMatcher( + isAnyOf(createSubaccount.fulfilled, importAccountFromPem.fulfilled), + (state, action) => { + if (action.payload) { + state.wallets = [...state.wallets, action.payload]; + } + } + ); }, }); diff --git a/src/screens/tabs/Profile/screens/CreateEditAccount/index.js b/src/screens/tabs/Profile/screens/CreateEditAccount/index.js index c7149d8f..8c2ac564 100644 --- a/src/screens/tabs/Profile/screens/CreateEditAccount/index.js +++ b/src/screens/tabs/Profile/screens/CreateEditAccount/index.js @@ -14,7 +14,10 @@ import useAccounts from '@/hooks/useAccounts'; import EditEmoji from '../EditEmoji'; import styles from './styles'; -const CreateEditAccount = ({ modalRef, account, accountsModalRef }) => { +/** + * @param {{ modalRef: any, accountsModalRef?: any, account?: any, pem?: string } param + */ +const CreateEditAccount = ({ modalRef, account, accountsModalRef, pem }) => { const { t } = useTranslation(); const editEmojiRef = useRef(null); const [accountName, setAccountName] = useState(''); @@ -33,6 +36,7 @@ const CreateEditAccount = ({ modalRef, account, accountsModalRef }) => { : onCreate({ name: accountName, icon: emoji, + pem, }); resetState(); diff --git a/src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx b/src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx index 094b5291..f5677d2e 100644 --- a/src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx +++ b/src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx @@ -6,14 +6,14 @@ import { TouchableOpacity, View, } from 'react-native'; +import DocumentPicker from 'react-native-document-picker'; import { Modalize } from 'react-native-modalize'; -import Header from '@/commonComponents/Header'; -import Modal from '@/commonComponents/Modal'; -import { GradientText } from '@/components/common'; -import Text from '@/components/common/Text'; +import { GradientText, Header, Modal, Text } from '@/components/common'; +import { useStateWithCallback } from '@/hooks/useStateWithCallback'; import CreateAccount from '../CreateEditAccount'; +import ImportKey from '../ImportKey'; import createAccountIcon from './assets/createIcon.png'; import pemFileIcon from './assets/pemFileIcon.png'; import privateKeyIcon from './assets/privateKeyIcon.png'; @@ -34,36 +34,50 @@ interface Props { function CreateImportAccount({ accountsModal, modalRef }: Props) { const createAccountRef = useRef(null); + const importKeyRef = useRef(null); + const [pemFile, setPemFile] = useStateWithCallback(''); const closeModal = () => { - // TODO: Delete ! - accountsModal?.current!.close(); + accountsModal?.current?.close(); }; const handleBack = () => { - // TODO: Delete ! - modalRef?.current!.close(); + modalRef?.current?.close(); + }; + + const openCreateAccountModal = () => createAccountRef?.current?.open(); + + const handleOpenFile = async () => { + try { + const res = await DocumentPicker.pickSingle({ + type: ['application/x-pem-file', '.pem'], + }); + console.tron.log('PEM', res); + setPemFile(res.uri, openCreateAccountModal); + } catch (e) { + console.log('Error opening .pem'); + } }; const BUTTONS = [ { id: 'create', title: 'Create', - onPress: () => createAccountRef?.current?.open(), + onPress: openCreateAccountModal, icon: createAccountIcon, colors: ['#00E8FF', '#44DC45'], }, { id: 'import-key', title: 'Private Key', - onPress: () => {}, + onPress: () => importKeyRef?.current?.open(), icon: privateKeyIcon, colors: ['#FB5DC3', '#FDB943'], }, { id: 'import-pem', title: 'PEM file', - onPress: () => {}, + onPress: handleOpenFile, icon: pemFileIcon, colors: ['#36C3E9', '#CF6ED3'], }, @@ -79,7 +93,7 @@ function CreateImportAccount({ accountsModal, modalRef }: Props) { ); return ( - {}}> +
@@ -98,6 +112,12 @@ function CreateImportAccount({ accountsModal, modalRef }: Props) { modalRef={createAccountRef} accountsModalRef={accountsModal} account={null} + pem={pemFile} + /> + ); diff --git a/src/screens/tabs/Profile/screens/ImportKey/index.tsx b/src/screens/tabs/Profile/screens/ImportKey/index.tsx new file mode 100644 index 00000000..aebf896a --- /dev/null +++ b/src/screens/tabs/Profile/screens/ImportKey/index.tsx @@ -0,0 +1,76 @@ +import { t } from 'i18next'; +import React, { RefObject, useRef, useState } from 'react'; +import { View } from 'react-native'; +import { Modalize } from 'react-native-modalize'; + +import RainbowButton from '@/components/buttons/RainbowButton'; +import { Header, Modal, Text, TextInput } from '@/components/common'; + +import CreateEditAccount from '../CreateEditAccount'; +import styles from './styles'; + +interface Props { + modalRef: RefObject; + createImportRef: RefObject; + accountsModalRef: RefObject; +} + +function ImportKey({ createImportRef, modalRef, accountsModalRef }: Props) { + const createEditAccount = useRef(null); + const [key, setKey] = useState(''); + + const handleOnChangeKey = (value: string) => setKey(value); + + const closeModal = () => { + accountsModalRef?.current?.close(); + createImportRef?.current?.close(); + }; + + const handleBack = () => { + modalRef?.current?.close(); + }; + + const handleContinue = () => { + createEditAccount.current?.open(); + }; + + return ( + {}}> +
+ {t('common.close')} + + } + left={ + + {t('common.back')} + + } + center={{'Import Wallet'}} + /> + + + + + + + ); +} + +export default ImportKey; diff --git a/src/screens/tabs/Profile/screens/ImportKey/styles.ts b/src/screens/tabs/Profile/screens/ImportKey/styles.ts new file mode 100644 index 00000000..76e99ce7 --- /dev/null +++ b/src/screens/tabs/Profile/screens/ImportKey/styles.ts @@ -0,0 +1,19 @@ +import { StyleSheet } from 'react-native'; + +import { Colors, FontStyles } from '@/constants/theme'; + +export default StyleSheet.create({ + container: { + flex: 1, + paddingHorizontal: 24, + paddingVertical: 32, + }, + headerAction: { + ...FontStyles.Normal, + color: Colors.ActionBlue, + }, + inputStyle: { + width: '100%', + marginBottom: 24, + }, +}); diff --git a/yarn.lock b/yarn.lock index 18c47164..10d06271 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8862,6 +8862,13 @@ react-native-device-info@^10.2.0: resolved "https://registry.yarnpkg.com/react-native-device-info/-/react-native-device-info-10.2.0.tgz#be17a1b86cabbe53f4adde96b662204784d3cefd" integrity sha512-7VycjFGaLKIZLDwCxSK5cWZdDOGqz3QxdGF57B/a4bW3gkrUFa5Gf0v7fUR9YL/VBJM0UwDiDH7pR9hkMQt+vw== +react-native-document-picker@^8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/react-native-document-picker/-/react-native-document-picker-8.1.1.tgz#642bbe25752cc428b96416318f8dc07cef29ee10" + integrity sha512-mH0oghd7ndgU9/1meVJdqts1sAkOfUQW1qbrqTTsvR5f2K9r0BAj/X02dve5IBMOMZvlGd7qWrNVuIFg5AUXWg== + dependencies: + invariant "^2.2.4" + react-native-fast-image@^8.6.1: version "8.6.1" resolved "https://registry.yarnpkg.com/react-native-fast-image/-/react-native-fast-image-8.6.1.tgz#6a3a11b8ebc7629919265d33a420a04d13c897e0" From 8664595590daac739b1d8d2d1f33fdf26f6726f0 Mon Sep 17 00:00:00 2001 From: Matias Grote <44204622+mattgle@users.noreply.github.com> Date: Wed, 12 Oct 2022 15:04:53 -0300 Subject: [PATCH 04/13] Change sentry.properties to make it work (#495) --- android/sentry.properties | 4 ++-- ios/sentry.properties | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/android/sentry.properties b/android/sentry.properties index e7f3c5ce..e3f46668 100644 --- a/android/sentry.properties +++ b/android/sentry.properties @@ -1,4 +1,4 @@ defaults.url=https://sentry.io/ -defaults.org=psychedelic +defaults.org=psychedelic-ra defaults.project=plug-mobile -auth.token=4e8aa37713c74bd39ccea5ebb54f5c30953411da65014645b8b5f53208b64f4c +auth.token=e3d0066a196048adb55618f8c0383d5e97f7926c37fa4fccacdaab7adc5fe843 diff --git a/ios/sentry.properties b/ios/sentry.properties index e7f3c5ce..e3f46668 100644 --- a/ios/sentry.properties +++ b/ios/sentry.properties @@ -1,4 +1,4 @@ defaults.url=https://sentry.io/ -defaults.org=psychedelic +defaults.org=psychedelic-ra defaults.project=plug-mobile -auth.token=4e8aa37713c74bd39ccea5ebb54f5c30953411da65014645b8b5f53208b64f4c +auth.token=e3d0066a196048adb55618f8c0383d5e97f7926c37fa4fccacdaab7adc5fe843 From 00267b8d20c49a110bc7dfa5aae6f0354a89a6b6 Mon Sep 17 00:00:00 2001 From: Matt Grote Date: Wed, 12 Oct 2022 15:41:59 -0300 Subject: [PATCH 05/13] read file --- .../tabs/Profile/screens/CreateImportAccount/index.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx b/src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx index f5677d2e..1cd03376 100644 --- a/src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx +++ b/src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx @@ -7,6 +7,7 @@ import { View, } from 'react-native'; import DocumentPicker from 'react-native-document-picker'; +import { FileSystem } from 'react-native-file-access'; import { Modalize } from 'react-native-modalize'; import { GradientText, Header, Modal, Text } from '@/components/common'; @@ -52,8 +53,8 @@ function CreateImportAccount({ accountsModal, modalRef }: Props) { const res = await DocumentPicker.pickSingle({ type: ['application/x-pem-file', '.pem'], }); - console.tron.log('PEM', res); - setPemFile(res.uri, openCreateAccountModal); + const stringifyPEM = await FileSystem.readFile(res.uri); + setPemFile(stringifyPEM, openCreateAccountModal); } catch (e) { console.log('Error opening .pem'); } From 1a836a684c39b1df1d39260fdf425bb40e39987b Mon Sep 17 00:00:00 2001 From: Matias Grote <44204622+mattgle@users.noreply.github.com> Date: Wed, 12 Oct 2022 15:48:37 -0300 Subject: [PATCH 06/13] Delete s.properties and add to gitignore (#496) --- .gitignore | 4 ++++ android/sentry.properties | 4 ---- ios/sentry.properties | 4 ---- 3 files changed, 4 insertions(+), 8 deletions(-) delete mode 100644 android/sentry.properties delete mode 100644 ios/sentry.properties diff --git a/.gitignore b/.gitignore index f0fb5338..7588c24f 100644 --- a/.gitignore +++ b/.gitignore @@ -73,6 +73,10 @@ rust/.cargo/config.toml android/*.hprof android/app/src/main/jniLibs +# Sentry +android/sentry.properties +ios/sentry.properties + # react-native-config codegen ios/envfile diff --git a/android/sentry.properties b/android/sentry.properties deleted file mode 100644 index e3f46668..00000000 --- a/android/sentry.properties +++ /dev/null @@ -1,4 +0,0 @@ -defaults.url=https://sentry.io/ -defaults.org=psychedelic-ra -defaults.project=plug-mobile -auth.token=e3d0066a196048adb55618f8c0383d5e97f7926c37fa4fccacdaab7adc5fe843 diff --git a/ios/sentry.properties b/ios/sentry.properties deleted file mode 100644 index e3f46668..00000000 --- a/ios/sentry.properties +++ /dev/null @@ -1,4 +0,0 @@ -defaults.url=https://sentry.io/ -defaults.org=psychedelic-ra -defaults.project=plug-mobile -auth.token=e3d0066a196048adb55618f8c0383d5e97f7926c37fa4fccacdaab7adc5fe843 From 5f2c1fcd1397fa1bfb1471e2fe0bdb8c3ebb1ac1 Mon Sep 17 00:00:00 2001 From: Matt Grote Date: Thu, 13 Oct 2022 16:25:35 -0300 Subject: [PATCH 07/13] Delete useAccounts, add validation in the import from key --- package.json | 2 +- src/components/common/Text/index.tsx | 3 +- src/components/common/Text/styles.ts | 1 + src/constants/theme.js | 1 + src/hooks/useAccounts.js | 26 ---------- src/redux/slices/keyring.js | 33 ++++++++++-- .../screens/CreateEditAccount/index.js | 50 +++++++++++++------ .../screens/CreateImportAccount/index.tsx | 4 +- .../tabs/Profile/screens/ImportKey/index.tsx | 32 ++++++++++-- .../tabs/Profile/screens/ImportKey/styles.ts | 5 +- yarn.lock | 8 +-- 11 files changed, 106 insertions(+), 59 deletions(-) delete mode 100644 src/hooks/useAccounts.js diff --git a/package.json b/package.json index c3ce3aa0..479e3c51 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "@dfinity/principal": "^0.9.3", "@hookform/error-message": "^2.0.0", "@psychedelic/dab-js": "1.4.12", - "@psychedelic/plug-controller": "0.23.3-alpha", + "@psychedelic/plug-controller": "0.23.4", "@react-native-async-storage/async-storage": "^1.17.10", "@react-native-community/blur": "^4.2.0", "@react-native-community/clipboard": "^1.5.1", diff --git a/src/components/common/Text/index.tsx b/src/components/common/Text/index.tsx index 2e677f4d..9b0b49ac 100644 --- a/src/components/common/Text/index.tsx +++ b/src/components/common/Text/index.tsx @@ -12,7 +12,8 @@ export type TextTypes = | 'button' | 'caption' | 'overline' - | 'normal'; + | 'normal' + | 'error'; export interface TextProps extends RNTextProps { type?: TextTypes; diff --git a/src/components/common/Text/styles.ts b/src/components/common/Text/styles.ts index a82dbcf8..a02722e5 100644 --- a/src/components/common/Text/styles.ts +++ b/src/components/common/Text/styles.ts @@ -15,4 +15,5 @@ export default StyleSheet.create({ caption: FontStyles.Caption, overline: FontStyles.Overline, normal: FontStyles.Normal, + error: FontStyles.Error, }); diff --git a/src/constants/theme.js b/src/constants/theme.js index 196341b9..493c3b3f 100644 --- a/src/constants/theme.js +++ b/src/constants/theme.js @@ -108,6 +108,7 @@ export const Shadow = StyleSheet.create({ // TODO: Remove styles that doesnt match with the style guide in figma, and remove colors export const FontStyles = StyleSheet.create({ Base: fontMaker({ size: 14, weight: REGULAR }), + Error: fontMaker({ size: 14, weight: MEDIUM, color: Colors.Red }), Title: fontMaker({ size: 22, weight: SEMIBOLD, color: Colors.White.Primary }), Title2: fontMaker({ size: 24, diff --git a/src/hooks/useAccounts.js b/src/hooks/useAccounts.js deleted file mode 100644 index b5192f6e..00000000 --- a/src/hooks/useAccounts.js +++ /dev/null @@ -1,26 +0,0 @@ -import { useDispatch, useSelector } from 'react-redux'; - -import { - createSubaccount, - editSubaccount, - importAccountFromPem, -} from '@/redux/slices/keyring'; - -const useAccounts = () => { - const dispatch = useDispatch(); - const { wallets } = useSelector(state => state.keyring); - - const onCreate = account => { - dispatch( - account?.pem ? importAccountFromPem(account) : createSubaccount(account) - ); - }; - - const onEdit = account => { - dispatch(editSubaccount(account)); - }; - - return { accounts: wallets, onCreate, onEdit }; -}; - -export default useAccounts; diff --git a/src/redux/slices/keyring.js b/src/redux/slices/keyring.js index 67328d33..0b7f98c1 100644 --- a/src/redux/slices/keyring.js +++ b/src/redux/slices/keyring.js @@ -182,13 +182,38 @@ export const importAccountFromPem = createAsyncThunk( /** * @param {{ name: string, icon: string, pem: string }} params */ - async params => { + async ({ pem, icon, name }, { rejectWithValue }) => { try { const instance = KeyRing.getInstance(); - const response = await instance?.importAccountFromPem(params); + const response = await instance?.importAccountFromPem({ + pem, + icon, + name, + }); return response; } catch (e) { - console.log('importAccountFromPem', e); + return rejectWithValue({ error: e.message }); + } + } +); + +export const validatePem = createAsyncThunk( + 'keyring/validatePem', + /** + * @param {{ pem: string, onSuccess: () => void, onFailure: () => void, onFinish: () => void }} params + */ + async ({ pem, onSuccess, onFailure, onFinish }, { rejectWithValue }) => { + try { + const instance = KeyRing.getInstance(); + const response = await instance?.validatePem({ pem }); + if (response) { + onSuccess(); + } else { + onFailure(); + } + onFinish(); + } catch (e) { + return rejectWithValue({ error: e.message }); } } ); @@ -283,7 +308,7 @@ export const setReverseResolvedName = createAsyncThunk( /** * @param {{ name: string, onFinish?: () => void }} param */ - async ({ name, onFinish }, { getState, rejectWithValue, dispatch }) => { + async ({ name, onFinish }, { rejectWithValue, dispatch }) => { try { const instance = KeyRing.getInstance(); await instance?.setReverseResolvedName({ diff --git a/src/screens/tabs/Profile/screens/CreateEditAccount/index.js b/src/screens/tabs/Profile/screens/CreateEditAccount/index.js index 8c2ac564..486d431a 100644 --- a/src/screens/tabs/Profile/screens/CreateEditAccount/index.js +++ b/src/screens/tabs/Profile/screens/CreateEditAccount/index.js @@ -1,6 +1,7 @@ import React, { useCallback, useEffect, useRef, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { Keyboard, View } from 'react-native'; +import { useDispatch } from 'react-redux'; import Header from '@/commonComponents/Header'; import Modal from '@/commonComponents/Modal'; @@ -9,37 +10,56 @@ import UserIcon from '@/commonComponents/UserIcon'; import RainbowButton from '@/components/buttons/RainbowButton'; import Text from '@/components/common/Text'; import { FontStyles } from '@/constants/theme'; -import useAccounts from '@/hooks/useAccounts'; +import { + createSubaccount, + editSubaccount, + importAccountFromPem, +} from '@/redux/slices/keyring'; import EditEmoji from '../EditEmoji'; import styles from './styles'; /** - * @param {{ modalRef: any, accountsModalRef?: any, account?: any, pem?: string } param + * @param {{ modalRef: any, accountsModalRef?: any, account?: any, pem?: string, createImportModalRef?: any } param */ -const CreateEditAccount = ({ modalRef, account, accountsModalRef, pem }) => { +const CreateEditAccount = ({ + modalRef, + account, + accountsModalRef, + pem, + createImportModalRef, +}) => { const { t } = useTranslation(); const editEmojiRef = useRef(null); const [accountName, setAccountName] = useState(''); const [editTouched, setEditTouched] = useState(false); const [emoji, setEmoji] = useState(''); + const dispatch = useDispatch(); - const { onCreate, onEdit } = useAccounts(); + const nameAndIcon = { + name: accountName, + icon: emoji, + }; const onPress = () => { - account - ? onEdit({ - walletId: account.walletId, - name: accountName, - icon: emoji, - }) - : onCreate({ - name: accountName, - icon: emoji, - pem, - }); + dispatch( + account + ? editSubaccount({ + walletId: account.walletId, + ...nameAndIcon, + }) + : pem + ? importAccountFromPem({ + ...nameAndIcon, + pem, + }) + : createSubaccount(nameAndIcon) + ); resetState(); + if (createImportModalRef) { + createImportModalRef.current?.close(); + } modalRef.current?.close(); }; diff --git a/src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx b/src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx index 1cd03376..03492423 100644 --- a/src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx +++ b/src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx @@ -110,10 +110,10 @@ function CreateImportAccount({ accountsModal, modalRef }: Props) { /> {BUTTONS.map(renderButton)} (null); + const [loading, setLoading] = useState(false); + const [error, setError] = useState(false); const [key, setKey] = useState(''); + const dispatch = useDispatch(); + const disabled = key === '' || loading || error; - const handleOnChangeKey = (value: string) => setKey(value); + const handleOnChangeKey = (value: string) => { + if (error) { + setError(false); + } + setKey(value); + }; const closeModal = () => { - accountsModalRef?.current?.close(); createImportRef?.current?.close(); + accountsModalRef?.current?.close(); }; const handleBack = () => { @@ -31,11 +42,19 @@ function ImportKey({ createImportRef, modalRef, accountsModalRef }: Props) { }; const handleContinue = () => { - createEditAccount.current?.open(); + setLoading(true); + dispatch( + validatePem({ + pem: key, + onSuccess: () => createEditAccount.current?.open(), + onFailure: () => setError(true), + onFinish: () => setLoading(false), + }) + ); }; return ( - {}}> +
@@ -58,16 +77,19 @@ function ImportKey({ createImportRef, modalRef, accountsModalRef }: Props) { style={styles.inputStyle} onChangeText={handleOnChangeKey} /> + {error && {'Invalid key. Please, try again.'}} ); diff --git a/src/screens/tabs/Profile/screens/ImportKey/styles.ts b/src/screens/tabs/Profile/screens/ImportKey/styles.ts index 76e99ce7..9e0db9ef 100644 --- a/src/screens/tabs/Profile/screens/ImportKey/styles.ts +++ b/src/screens/tabs/Profile/screens/ImportKey/styles.ts @@ -14,6 +14,9 @@ export default StyleSheet.create({ }, inputStyle: { width: '100%', - marginBottom: 24, + marginBottom: 8, + }, + button: { + marginTop: 16, }, }); diff --git a/yarn.lock b/yarn.lock index 8975da8a..f0eb4c5c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1777,10 +1777,10 @@ cross-fetch "^3.1.4" crypto-js "^4.1.1" -"@psychedelic/plug-controller@0.23.3-alpha": - version "0.23.3-alpha" - resolved "https://npm.pkg.github.com/download/@Psychedelic/plug-controller/0.23.3-alpha/9f63c6229fe265dde2bfb17c5fde5ea9e6bb4c2f#9f63c6229fe265dde2bfb17c5fde5ea9e6bb4c2f" - integrity sha512-8S4HgcIp3wpQbxECUYJ04jWwmp7h4L6PJjFCpD9iMAtrtt7P3mlW6bAQdsMrlBsnRn4weCSz5IEq5q91NRX7DQ== +"@psychedelic/plug-controller@0.23.4": + version "0.23.4" + resolved "https://npm.pkg.github.com/download/@Psychedelic/plug-controller/0.23.4/92ba5923065d37ea322cfc758861da0694959cfa#92ba5923065d37ea322cfc758861da0694959cfa" + integrity sha512-fwdlVPZidcHFt6x+o5OXKSyJi/VA7htkpZJ6UcU6WromEsBenaHKuRPdfJgJzRpY5AMWckgLKf2HVPL1fHxxJg== dependencies: "@dfinity/agent" "0.9.3" "@dfinity/candid" "0.9.3" From 6bc540abd4fd2d19f420440b6d146d3226dc8269 Mon Sep 17 00:00:00 2001 From: Matt Grote Date: Fri, 14 Oct 2022 10:28:51 -0300 Subject: [PATCH 08/13] Add to-dos for toast message, add missing icons, use translations --- src/redux/slices/keyring.js | 1 + src/screens/auth/ImportSeedPhrase/index.js | 2 +- src/screens/auth/Welcome/index.js | 2 +- .../assets/createIcon@2x.png | Bin 0 -> 21603 bytes .../assets/createIcon@3x.png | Bin 0 -> 43629 bytes .../assets/pemFileIcon@2x.png | Bin 0 -> 22019 bytes .../assets/pemFileIcon@3x.png | Bin 0 -> 44231 bytes .../assets/privateKeyIcon@2x.png | Bin 0 -> 22050 bytes .../assets/privateKeyIcon@3x.png | Bin 0 -> 43479 bytes .../screens/CreateImportAccount/index.tsx | 68 ++++++------------ .../screens/CreateImportAccount/utils.ts | 47 ++++++++++++ .../tabs/Profile/screens/ImportKey/index.tsx | 10 +-- src/translations/en/index.js | 11 ++- 13 files changed, 86 insertions(+), 55 deletions(-) create mode 100644 src/screens/tabs/Profile/screens/CreateImportAccount/assets/createIcon@2x.png create mode 100644 src/screens/tabs/Profile/screens/CreateImportAccount/assets/createIcon@3x.png create mode 100644 src/screens/tabs/Profile/screens/CreateImportAccount/assets/pemFileIcon@2x.png create mode 100644 src/screens/tabs/Profile/screens/CreateImportAccount/assets/pemFileIcon@3x.png create mode 100644 src/screens/tabs/Profile/screens/CreateImportAccount/assets/privateKeyIcon@2x.png create mode 100644 src/screens/tabs/Profile/screens/CreateImportAccount/assets/privateKeyIcon@3x.png create mode 100644 src/screens/tabs/Profile/screens/CreateImportAccount/utils.ts diff --git a/src/redux/slices/keyring.js b/src/redux/slices/keyring.js index 0b7f98c1..05e4de85 100644 --- a/src/redux/slices/keyring.js +++ b/src/redux/slices/keyring.js @@ -192,6 +192,7 @@ export const importAccountFromPem = createAsyncThunk( }); return response; } catch (e) { + // TODO: Add toast to handle error. return rejectWithValue({ error: e.message }); } } diff --git a/src/screens/auth/ImportSeedPhrase/index.js b/src/screens/auth/ImportSeedPhrase/index.js index d608011f..4afbd762 100644 --- a/src/screens/auth/ImportSeedPhrase/index.js +++ b/src/screens/auth/ImportSeedPhrase/index.js @@ -92,7 +92,7 @@ const ImportSeedPhrase = ({ navigation, route }) => { /> - {t('importSeedPhrase.title')} + {t('common.importWallet')} {t('importSeedPhrase.enterPhrase')} diff --git a/src/screens/auth/Welcome/index.js b/src/screens/auth/Welcome/index.js index 77e055ab..7af6c9d2 100644 --- a/src/screens/auth/Welcome/index.js +++ b/src/screens/auth/Welcome/index.js @@ -31,7 +31,7 @@ function Welcome() { const title = isInitialized ? t('welcome.initTitle') : t('welcome.title'); const importTitle = isInitialized ? t('welcome.importNew') - : t('welcome.import'); + : t('common.importWallet'); const createTitle = isInitialized ? t('welcome.createNew') : t('welcome.create'); diff --git a/src/screens/tabs/Profile/screens/CreateImportAccount/assets/createIcon@2x.png b/src/screens/tabs/Profile/screens/CreateImportAccount/assets/createIcon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..98078aaa7dcec3d477d213d12c55a96eee31e6ec GIT binary patch literal 21603 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 V1q#FOI6D9U002ovPDHLkV1lte$?yOG literal 0 HcmV?d00001 diff --git a/src/screens/tabs/Profile/screens/CreateImportAccount/assets/pemFileIcon@2x.png b/src/screens/tabs/Profile/screens/CreateImportAccount/assets/pemFileIcon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..e0b97ea768244c7b6322c80827e3b21228099523 GIT binary patch literal 22019 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 literal 0 HcmV?d00001 diff --git a/src/screens/tabs/Profile/screens/CreateImportAccount/assets/privateKeyIcon@2x.png b/src/screens/tabs/Profile/screens/CreateImportAccount/assets/privateKeyIcon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..6926a46733c81c6f1e33c8754c06be7c0cb91ef4 GIT binary patch literal 22050 zcmV)3K+C_0P)00009a7bBm000&x z000&x0ZCFM@Bjb+0drDELIAGL9O(c600d`2O+f$vv5yP%P!H-ISWIn@Ho&lbN&yT3Yp9&AmCr{@>;cwJnkF$?g;L7FYfnx+ndh14?S!o zhyBQRta|fe_bi*(&NJ08#a`~tdvKq7d09QqpZ7=o=VwqSFDqKj72R^DwpMo4#={## z&zF`~^26`DU%KZziEZy89N)mfX$%T~9s}Uo`j$GojX?t7>E_#U{))f(hLQb-1N)M{ z<#}fDn-{%^xk&8*rad)+`k2+MJ{Z=|p=BMWkElRWkM#`2IUcl!l*?kI3)jxx9A0C(k#qA`PdoObqa z=wru@(QYx3@7M4jmF}2^soT$&EDfh}yia?y!k^Lh_~~Y~U3++JX@`HOw%f!^V#PA} zcL2T}7Ip)m(+HF=6c2e2DE%Q&IuFJLDt8+E1%6N4(>chq^?T?uZ*+UZS@%6P>y~;0 z8@s4l_RMVyRQyB$7!*AAayPJJW~b>3`p$fyPS8X69>66txn}qFM6I1n)qXiuE7f}Y zP6xWw%h*o_b2To8c2dvfyRrO(Z;HC>*rKttye#{DI-r$oWGTlWnBTQD8`~YAe=J|N zcR~5bn~?*PDgGZ{KcKXpH$~JBLSw`?o!?h)Ar>X0dhd#HMLigDXl{w z*u((1byS?kzn7r8u=&Dm8&r4z77dC3`JrUn#$^CXysyPk8w(;)}dz!n4h> z;KTy}pBa2IsUfCvru>XQ4-5^!5xkryrg8=x3f=V^H|Wem%Z{oaeb~_TnbX!ig^QCW z*3!u-ZbAOCb_{@b_6w~>nOYkj zR|K|vFa;|fBx<5-JqGp8bfpRVk)MDt$S8@D&F#%i&~S(==Ci0k8)39vhxev;{@#*gzjlwzbj&P;jCYz#U;f z*8sHv#g1x#T&bdL^q|qI7y(tV)|_%GRU;fjj!oTv*Rq5-z&CYjOFq`1=)_w7T=1wc zwHYKB3^R-Z?1_PAfCcmcz|Q zcFt`h^1g{VMm&~0`7 zdZW+GN<{^3GaoBTXZrXQz$aSoPj~c6mV;uA(&cgj0jx(kMpXgXtP%}wtBVxEbP8b8 z3=}(1Wd@}2{yAyf!>HUOsuF+=egHq6M2_bXUcCWf8Dmun;sk|PR8px+t4dHLK9@DX z9ww$BzAiEN`(|zuJ4|pw&&&)g-j)~vW@^Sm3<5qs#!a`u#tVR&&FRb|kHbv6X0Pvo zqW8hhSJ*3uV<)@Yu64e3>M5)}6U^S*=00}+zuP6rvQCPCyk@<5}+RgOTS~cp{cK@VDIdhfh|rYgY6wJ>(~ch zJ8S2cL@T#_>x4R|(t?uqYQTO)pby>9yD+;usD4C8qe4mw-&)1Y2~SzE&6M zE3)n*y;{me;+=LF+sUNbuwd)>0H~)P0mvhD9m>|(6Km?u-LXC~NYx2+B_$KJ-=vAI zCW*>wy`-1*5(A7LE(kz27VxDy2e@TZBzd0ds@9-j1(2&GOA-YR%kk!fX_^{hs%J1& z?VeOSV3lxh=c8&!K;_2g03T(9mVCIiTo0b8~J&(;kjuTf^u z!@j2{(JQm^*Q9mZDB9YdX&oTGF*S1}h&@|h1lUh>8ufNvC+j6x z^ted~n)GC3*&YJO(4Orep?sDw6%VRZQ|71{^Z@$Ac(Cp>UMmqwZUA!Tp&L%(`jhg+P8W_}WPe@!mgbQ^H<@cehh;E zAYV&C#ZO>F1LQl|TqpIeUN1M)etwXyOxM%|28{*-9;O zd!)XzF-$)>94Q3ZsGbhRi^Q;s@4-X87fNVv z4SN}UOwe`!M|MiAQn)_~Oi6X0Wz+4k8|w;y(+SWb&*3OFJW-wvxN+|qr!}5knhmm#T2VC3fSgm-+8%j+CWJNho1S7CN{f{3VA+g zdvMm>^V)PH3-VaI%!|t|V9!cd2t?#7nmt@evaF964?EvXxsQu`d>4&bm+2mIn|+xS>5 zY}$QibPKuwZj?~E9@>vuRa|GltE_2K0UT@{@MXM*mR>L$PY3lJx;_Ivf(kG(09&s% zdr;O^6R`4FNsBe|t=p#6#>LL=UV!uFj!IU%A9cSftvmMAw8~ekU3*8!HM)`n&HC;x zY~zg)sCWRy3z{{9ybo$li*yJxi7L=4fG$gbDwGV6VWhxrPSL3;%VGT38XOcK!ppr^ z*s&L#qAe*8v<|E~Xbx7+hw&J43T+E+un7Ytli1o;^k4_9vJPYiFn`Cdopj(6eL|(> z$E>zr!=MDE+Bz+$u5u-EJEKumR8=z=;xpVhbG#(}41h1yq^B4Rnc0ENHY)?u+&nNF zPd#R67h3<9b_{(xz`p)zORX2pr!j2?4Xt~*2Vvn4M$xvr@({?}*k{d@{1m)hFTx@4 z=!&M>@N{|mn5rfb_hkaGQ~YP9kheMHEV_xoWnl5vS(<`f*8mv+SIn-{HCRL6haUt5 zn=w-M0wlrdNn_ zZ@*w#vn!@-dL8D~k)uOJkrnBzi>i%2ZEd(-Vs`!FZAC91h~Jqqc)C`p19^3zXWP>h zR025+X@|i-s3DJ&Dy1w>p>RRCHHk_RVc(SG-)bBCVQ4ham>U7t0qlM1 zA#zd_2jFt7o3oE~NNo5+*@Q<2*JSXvbI@jupLNCc`%AZ>jYDR09|yB5WW2)0UX<7O z3w*q~Fr`>gA+?q|-}PYTWHNiZ9@&CSW*_DjwvmQL4Vx0c6`<|mFe&gK)hZn@MJveU z22eL(+u+Rz7I1dJnyr%$qW9hhrv}N!VCoLwu$NBOoqV>QT{{*|UOTnzzV+2c@xe|p z({gLsGq_syD45x{fUFXCf1Nn0mI1-{)+d!oK1|cm<7QZX6o0V;QysTTG-q8{SoQpW zp8N0$tTQO0_}e)+TBG)$t*ml{C7E%@VjGcYUzLnL%H0_!^7Y)CY%gDN4iUDMvpZ}0R+1ZGwMdK}eVhwrQ_zXLyZNFD2E^i&pG7S1p>=m^w%p*Nr(|htFMCsp zBT>0?h={F>hupurovbX46Nxh6;panmE~_#fB*V1CU>2}RA=*&l#naT9^gqYVKfs-% znN4#i9YN7b#|oL(zE!;0&eRH9@QjgNaFm4C>`bd*QaKYUQp6%EW*t!(-BEB%)s2p* znM0r{I5!7U_;u-HYNhxH46h0%bw$v`GYuZjwl*kwklK2dQ$3p26>+$;g2v7c6%CSr zUz|=r6R%-%-Spv2rs|$;ee`632LQVLE=mRRn)cRJC}4lV1uHm#kG1Saz^+%;6WVhu zdr~4u3`!mi21zlmvH{{wB~1Y`Ml;MyC@HysTxx)9KHw-J0Lv7_VAkGV?gK8YTE$A4 zW9M>AeKU(9jXTKdPDKr`807JSS!KLj?%B`IhGtM1;27|Zb*B;7VGtw^?9t>SP{K+v zzo4GjvZ)ZHsRZl{=fJ|JFuf3bYnB=8B~yzt)Z5rILFbbj4h)Z0DeWU z@KCQYe6?k1lnja_EfKBFb3C?zLxg1&_C)!=4<`A6mV!fPY2SgKidp0Cv2oQLX=YK6 zjZ@3YV~VyhMF#_gUocUf@)f9CMUD|UW-g-LJ#DbzlZbO9-lLXKH+!<%yGP&KWyabwOK-(;C=h&q4AqBA88;KnvsJKxxi8fQ1N5+E}t-s2o2OwB12gc>7m4DT1h z$%L>n!D~;|2yYB~IpY9Cl2y>K!LHL9W)%MLZTP+awjJp~`O-}*pKa2y@c^u9<#f}r z>=tM%>^wM6dRlmEL&y2^ss-G7O}jO%yki8BWyhMecX_rzC%!wqDYu~6yZd&1tlHo5 z7HX4y*i_YX^*~=^Jp)=drznBrApp))&8ba8{u9K#r!%{kXuG4L;Z&6h2TApj-W|e-@ z_=NdG>A?Y89jLgskEe=UJumZ(ugbJjG|t)tHQzZs7pDk^9685}W-yqHc)n7IAYH;ki0}!aYALk;)HT8xPK;CxTAe>Cz91*@eKD`1hg1u;0Jn4KjPC z5$D$H;ErpGgF)MHpK?4O{%^?WYfc$v6IW(}TyVoVl>a!Qy24=@O%Z$FY@<{3ptboVuiG?HW7RM#z{Q|d$oHDSx@OatxP&xbzK>S@idnzm(zckP(0+`@__(#%-VV^)@ zv^rU`c7m6yUIzCpwPd9{joY7L$JHfZbrnAmO$G>Hdg4uE zY&-F8(8MWa*0XNM-lJ%i?t933$p}&Db#!phfiaBjy*G1*!PMN zHHS{M1n=cARm;ayHRF`r0xA7pmrShH=l=X(L$vh2v@ ziak%UmrS)BAog7KS+8o%uKKV!7FfBCOsw#CJx^TSdzRLmT4c+y7}6oE>fX&+5s}E^ z$XuC!FN-zt|AU2>wb3m424yNK&a|BA$-LJ4Ft@nRPf*ktlP7$s4rbr%*iw#rEVA(Q zu)E9~A)Dl805Z~0!X9UvssPB-87K9r{VGpZ5PlSD=G0s~6wE1A8c?|~ZDJ};5NUs# zw(0|c?RMI7q(KKWD(TFqz?xg&6EFYd+PdvLyBOID&XdT*a-7pr>{@W4NH^9+8Pi?~ zv!0TLij8R5acYv=r(VfohS*T6(2+|+m0u9Et!^op*|li)tj#ND!pXbT>Gzl>{kTq= zyR4b!iB8}YH#u1Nux`{05ub663kLvnf2z0BExXP?zkSxybXUAJY&z%eUQ%=+@4LUkQ%hgQ)ZSWnLr|@Jj&Qd3u-QAP=DYc$<<6}HU;ZWC5g{8 z>IY+cx3i5GlrhzG;CoPGkC|1Sy=?>VOj&8&`KHsR?+gjflC*P_@Uab_Q|JG-N!|Ip zlLhM6fs42S$IcR3;5_P(Iq0d`i=#lvv6T>X3V8aKb-DB*?kiSWMKMcD=R%hJI9AG_ zo6oj|syVTe7=!hfT}~diC!SR?p<31D_XTYAp=mZjyI`-2w5J{3Y&TDL)o~p2j0&F7 zhNMXb8h$o+3cqN7t9>z>WubJw9)`@(~5)q4@( zSrun`&65#^P-tPlaHH&yrnWqv-HYuC8JhfPeP%t{*5vmVz#N1jRP6oHm zNy2ewR=#}YfirR!NPPsG6i=JcrJl|)(h8nQF>}d$tfn%+N&>eUzU&|D(tm6(4M_Fa zchd)3_2sv1x5yoe&Na}=d9!|R;9ZhEy2;8GnN!}qse1cvQz0VOnphDPM^xQ8cD!>( zb=H7NI#7eyv8wOAYX@*|P(Z;h;2tHP?W#aX;Nhy8>7i~MMb}#ToGUo&WcVJ@Ld|)3 z%xM`TE+nvdp`8xZ<$!zE-2qHp!dYCH&9m)Wt8OZ*gdwY$;_3m+R^}zoW`t7@Aj4q+ z*Ozh0^lU$CdUtQ+s!pa_H@l@B;k^{0&|#4aRHzByBAg?e;mw0x1Ku$&GvEz2 z(}p8E%I^8HJ@u=YWqbd2$HF}Yd$xSYfg{h?^jWtuQPjlUCS&ST%FlBm+#=D%QIXBA~a^-3w75#Cl`Es=9No!SFCXpSB;S(Ywsc{ zFQKPfEE`;15YG6>NzLFA8xDz0EnVV)GNuWr*%E6lGq7xXQtVn!%`S`>g%qO^9kXy5 z3{l9E0p=_dD*z*Qf9eTRr`}1)LywR?{&rI1huiluJ1>x(-Gcl5Gt}JrG{(!mdoAsp zMxr*U&h@E+k6L`(iC4msHgsu^kZPUVP&*}y+`Zs05T#DMXZ+m8DS67caH)9ibnusZ z(=QMKnPpQfy+{t|79q&GY0ARGQ^Jcwr?2j;ErQ{Kgo82(-ExP7$Z zzd_aWKabA2Axf_s%PP1uI$*q(Z5eF#mDl_nNlO(Sd609gBubvo?TxdMMbmbJRKVl` zY`uA9boYLy+sFL@INponUspV}NO5u%lv|AU0wg_x20jJwCLii$wyD|VhR#ImXBB-3 z+V>+Yr(fu@L~Ud$lUK%qb|zHqXJ1^VPm&1vpxJF~kSa4J+BVqstexp-lAKu!WQt6i z!5hItb_zf9?l#{#O6KcFog%RPb+%>k4Y~ioo)P{^zvKNh{PRC{UyzS#$s>P;2H*a- zNuPNySUj_H$L?L&(T6_Mx>dMZMJ$c%<)CP(hz&=wxbxISik6NBb9gsCN2WKx9j9>w zfEd=hRh_Sp8VKR=tWcR6TsE+&Q@sQ^y*zOK3rVA9orw$iu<0ABIFS!qdgARVV@J)% zJ4fH`{`f_bI$kWFSvCZ1do*Ieowm(Vkmn@x9AuvK2EWd?bZ*FwO{wU`g3OLJP)kia z+r=nH)n<8(M&I{8Q1-6>kX~z3qtleX>#tM#*bm{3g@D|G?Uk=!qS>Caq;upr#mw}; z4qA0Em0Ix=-kXA4_Fz*q*xR5>kkjNuT9Lnp*lNk${O){^Xt8Wq8DoD%g;+IoBq@=_ zjw=oo@841qbqZ-lWP9bnc+=f9OzKbbIOn`!Ts4o2waGb*qyzlOl&k+7Bx=Zc$y^g8 zsa0kM91@k8jo{wzrZx?is7v(;4hR2o8qZ`-sO398g>`7@EU(lVT}9$D&|59A}LBm?q|RB`y`gt__24hcvVFs6Z@qA z6LU%KYX+M8ez2zYSSdzx1ri@6sb+YNT$ZksuHMw~6x)cR1I9t)-qOqw&f-6=O2E;R zy{(DjVlm7@#68CiY&%bes$w6v%#)I_`R;z+mfI^ID;8Z}FN|z##yYAt0J+At^uE7B zdi9L~Ikdso|5ucp{eG&vrY@{JB>3r&;nHczjgSq=_;_#M<8qzH zO)^)l{w}WsXs47J%{5pE*3BGB?-YH1uyaSPa=|;q7utEitdL!Ij+2X<1Gn&dQ~K4};8w`9(m2VS=RXg8j% ziBtyQ`5*tY0Qn($GurU$;fNZZ68SG+w>G&mk!)lt*&tFp^%_sPF%<`Z<2hl}0%*D| zBt^6lwQjZ{ynFXS$q@qLOhzcxR!Fi$v>~bDzDSHWfTAW$Wb?eKS3wo`4?&J z%y-=L?^L=EN`05&ED3O05AxTW$X;f`>alrqJhJ&^pnOa2KvIy|%e5d7W{+68OgPy1Z5O`mV# zWOUl|iuttO%a<>zb6n-_QG9XzW%#!feVi4s>46%TTsw0{bGEA#TonnlF&TAiKk#e? z^|%TYOChKbjg1)2ch*oM}nDKIyod@0%#%Vrz9$I3!0!S>7-FTDEfu zQNmPK1NJh&O*{q2OIb#B#k2p_JDkB99^CrpcQ4e=k7^@Au7n87=b9WvXODcteL?>H zfA}FP4z9V7XX{$EKE~}>=-00P9M$zUz4JYP>z?;odHjE*`rr>eooWwqn1U0)4sq(F zi!Gb(xSd8@%&Gp|r^##|;1L>eC8z~4<>&H6(J-PoF+$inrzqLv9iotN+IS=G3MgR} zSazf42nPVFEx-6u7)kE=RflcgGsYLOh`xMT(Z&_7%SpFpFRPOS zH_7h++Z6Jdna6;uJHQoI!bg(9@UPjt;=9#qya;laSJkIz`OiA}>|7(Dsz=^I$$ez= zi~sM>Q?Y+Td>J}*n>Z~5XvaOcb`1Y_>-m2~$4-9-oqWfCdgQ&*<)>tOqndu_x6}NW zf0oS6+a#%A9^{ams8sjfUE-n#y=BGn{VC~6=9I)vNZ;nnOLIG=0vJ?WugxO%KvEEQ zAC&yqy7DGgTYjW{HXB#p<;GsIb1IRnq4O1B?h=A zSonKZ=h=p1^`7TH4`?7GE$0Gk(rR(P;1`x{JN?qO?sM`l*)|&}+HJ;nOtN~M?$us? z_S3{=Y%ze;aaW3ZRL|A(Q#o+M5Kvo_LG z$h29afeh3UNoRbjHlAfS#+KrgLMwPy^-!*1=4~01yGJ|(6RY)@`nC{{w!I?hXQd7` z4(>XNUQS2yheLQ^xv;8S#MQmHNSp9&kp$z|H|&7yv#36!BIyvW=O+1a`H1e-s=b?( zGSGSh_HExKdWXE5r)aMtMJ@Ui z=`A=qnFgT>_ALa($9`(H5L-5~Yrv#O7F==Sa=0H+NFou>Sii~;zHXQNL4#K;UWej< zC%pT{1yT9u%PRUIUyV;iia^jP-H*6x0uFR?l|x8?Hej#^ zyw^hIIRGBWBoY!1py;h{{9d(j1DLs0utWURnT708M+|`=Ozw@GeRJtv&WG|jWF$~@ZYD*l0-G>6$up6bOJ@8tRl*C5b-NM1b=$0_+_dXR0fcca@&zQj@Twd+uzC z5)VYWZie4`hNO1Jc467iy*-9~Hm|K)qrf$;ZOuQdAHeeo*-U6mYyPx^d6 z)x)55fjTTMy0c+jr}cs2#X{Dh#ZX#Q& zYc726T?=x4e&gPX)5_Uz#`Z0ex2d_rCk#yqfGe(=k;u7}%Zti)TITwldgp&fZ&hmm z@^e4;69D;+<5EQ48`d*CB1>2G38PJDU`w`f6kRdvt`+ySl(>O@#275|DgfN>hQJ2- zg4y5g*9!CITO6izKV)4|aF)^M$T`W$ts51dZ#f&aBa3&e36^Qi1ruHAxB_73NEc*Q%Sdy#Dqdp<|Ey zrF-6M_s$>Cbno6AB(&+y^;f*6#xq~}*}p;4>o561P5!+Coi3Umz6ugW1#>!8d_r2g zPa4dhHE%8+U*&c_pVJgF^x(i1G2+%MaC(lYr)T-r3H0y`A*gZFvF?qR9y53Edh?3! z9$IBAk1}Ws?xtMRy5{PL>ZW7GR&`TQqR|@{hlwf_%pZyU1<}dy!+P!_{p4aT&{4)LKPkldq z={Nu0J+EPqzwk2`X?Fdq)a9;dpE2IOr}gjIX15S^eG~dY286wtvT)}z(O}!WDgc|Y z1-UgrmSP!tyrXDom#Hb#Jc#g9UKO4J6L(+jAay5GVU@0L= zSI9hVQtLuIbjv-kcO&{2brjdt@(Smb=K#t%cI8F4e(MwWrRsF~6rFzGKcbay`|n8~ z`&OudD+p@vWR|m(KKvJH{o6i9$G-8e(f!&>fB4HZ-@8txJfPqD<-bIGx33<$X7ARQ z>9;=m!(@vIJ^L^IK7INB`TKMjc#OF z=~42E3}PC*lF(#2l_jSvyFgWKN+@EAsX3Raq+FTldD{yJkZ)auzCh6~;^X|wfd*LK z+WCxbe&*NdZGZB6>3(hW^?ydT*V3Nc%(9_xk|( zcmBbT;JYalJ2&U*h07md4S>GkPkyik`S*V2uTgRH8V%rq=Ifw1aVZ0yW8>b(m#$KN zYX`d|9xC~+li7~Jf?l4lnfyRN8TfX|#8flr4ULk<3I;h`COd3qSN1yo?u>sgS#6i= zrQ7qJaYH^#NgWnEE6=(rbzAi4%W#xK>ynjU%!u}3wQKm_W*A~4X4!+xmYnDYgSDEM zR^>cb#N4Fz1wvTQABXwJ34tWduijbKP3QezxX+Tl)$nT62s)DIxHhYwCsTPD2YHaD5YBaq#_DTh*^kJm|SVrCo5lU){DG%)U-HaI;le$&FWc z8<#^n;#Fdx{fT^LIl@y9*~H?i^tySDA{iW5c9@zf?8$VaTd3K3Y9^;Wr`$={KmRK~ zO~v*Wy^-z3&;GCU)!+TQFv(JO`p^I_s6m?1FwJDY|CLYC^v3VQ;}*`P?LJ&r-+77d ze&I5ubs_iQa}0Ej<5Va*m4VA(Yo8R`DZwKHh#!2j`~dWrk4;EDll`cABvE zo!gONtuQP&g6QQ9gxV&w5W8&w_rSX2#53&FgPi)!u|9S@T=}`pHw^5reD?3qOTYV5 zj`|p6P~s5#5d#RWv?N7T9 z2C62CmDF2O{a=Ys*b`C%kTY3>%Zho+OEJyOHf>8WNm*O#)K}b%SnO^des?bvs7ohe zWBbxYHyn7B@Mu|DleL`oh7)yAG?vw*;UIM*ESU>sXT0P9KagfQtv};HCO?vc8I-g& zH6>5M_|YyM;yQ+Dfhi*O9ait&rQiQMf0e%WnO~*X+UjDDUij3H)3wk341mZ5;1Po? zU^)Po{4oRPz|B3--FI?60+{#1)ZLE<4vT`8qLmxGfma2#t)fBSvh0`;wEes!e5Z)D zra&2f3i!pSsKA<`h%K4a1lx!G8ymG>CzGwDXZ->!yfnjt$>vO3dw6+4#H8IS>0C69 zYl&^FC$w56`_qGTh2N%B>719jFec|RN-9Zm#HDjsI0G{q`~^6sJ}hap3swBwWVx!X z#>a_yMi)>sN=ewmD^X$n2EI|)3h!4y8r75@J5KLB|6kLwM<2}7RTum8wa@)Sy8iiJ zB3th}4_fNHY0h(|ymsuk3-wAibBcQE%0n7gjzu+GGtAWyLID z3gkT(d%&^6-qtA>i^M&;&&1z1VV`l{+E3_w@7K6YZkA?6S(z&5;&YWQar1go+j^WY z)##{N3eKg&hR!@>=*nje7n{4Zy>4VV#Dx`h)MDqz8X56=Rpoxd9TTWM-ca%{YU zN0xc&d3DV09qCq z^I(^@bbE~H3V_!#C8wc${WzU?@;m9FZ~S%|!v8%ycCrPwo*&T8SAUOouRTLAKYtlg zW}i5IUqj5sKy|jk(Yq*9o=M%hO-bx>Z=Z9)|aKhcb{d8{otca-d$f?DIazhENk41hZwC zKc0gEzc;T4mq^Yo%z{1q$mgMLzq?J%5sES1bETbcmnnraF{J7btCK#{l0$pSC%$vO z73-pC*M9q-P&+|S*(j0TieriQnJ7pcH&+6z+dIFw1KOnniSD4h z>?BtTQqowItIi=SKWGoQXyRUD7Z&ZnmW|wbZQU9#Qo^b&;;y2>(^d9Y!J}vC^Lkj` zkQXvAUAZ7t#w+R7W?ta~l;AP@R5|Vdo#{lnZLilOr$@c8Z7;8E&^e~&sM>RwQ`fhn z!$i9)zpO6f^Es(IiQb-|FE|sF9q6oSr>nqV3dadQP@;>kbkW0n0L35QXP3>lb za8{=x0h_1eGqAZ1Q@J(2w1Awdn4*2<1GeM+L_4QIdBCkN^{9R6NB&NO3dyl!?&i6%!x7gSs|=zvI5&~CGPgK4 zkyojwrz}1F5}n)j6^iTyPtEpla$rZ zN?Yod!9W2}2eKs0d8%&z#@7v%<3>@JY#8(a zAPvoyHDx`JZJ78?j)$T>kK`EF@wNP2diXlt=duQE4n~`M#R*E3;VqZF64{!{vB+Cu zC99Lea%>ZSjPJttUU5@4ZRL5Zzy-N)qiVnrrCT4A0UDoAmCPQ1s|0e8ZRo5q1D-Bx zc%f5JGp}Gj_iI)UuZuEFUZI+Hl@Tcmi73{0YkJ~YOD|*8 z+yv;uHABZ5wZf?rBiyKD5@FtghbbXb5Twp+R##9@!7z+Yi+^m3!3RiKwyU;B5&I^8 z&ayX^nTv6h=tDnkzM0Ux(%vf7ZdF2Fu~6nrr_`TBZyiPR8l%j%S)__~9g0VJW6pMg zhuF3aQ7|10hji+KcP9q@G7D(%<)p`@sw$$s{cca?xDJFv9{G)XP(U)3Y1F8|A znSd;G^XsTVM?AitP4RW%1PMvS`M~7*)q5G@7R;$N1R9OsgXS=bwNK#Y(uL}We>6L z0CGPYl#eb%gnz{?mbr~6$v#-d%4xGAtFf&^!=AZS+TfxqSW%O?q`YP$qKA;%YB>8T zoSV=Q=86q6%y*(%uuo$anPCq`PO?%o0tmVCtXx<+SiAo$n;OcVujT84ed|o1T-dYn zwk_{tJ2o6ES6toM(seM2JcxDTK8Kpz{}m+ucfoPLyb94^P6 z<&J$rw3z~$H?(Ur9ae@{uXWn?mK2aXIa+rs%~J@mo->DtHfG)NmtCew)VSLF`eS&a zHJDo0;C_RbjMEwrBHM3v?FzG$1B^Ugju)((YOX+?CGdVUX=Zqa4adhnju-rZ4fVT> zr(|K}o^^|oLu9=w#E&YuE82ULMTML?*gKuvGDs`B%_#Di?fPaI)yq6%3T z-8_QeiVTq@qdIdZ^4?j~AE*qb8>DIPI~7&qZ;yLmCy_G7t0FhQsI&TOskU{MXeeS( z!qkwbdhnv;W;lnPyv$+9CA$l4yGfVr@twq8oA27Qr^c1z!yNIcOyUy_~ zUj*mbW|RrU72j|Eo{S(~Ayulv58zm5pDU=EN8E5pHv^2xTn`(rFrVeMlQTN4bzWV< zD81(u#M{!<=LK?EY^9Iv`M{F0yeSfJW!c+)XJ2eQvY1+rAnIM!0=RD zr=3@-rPi2o)0WzKvyC&MT4#r+{VWIT0Qi1VVC&PP%8Vb54wj-8z+ zR&@p0d3~$fI;=T)cXB(0uO!jSHqmg2j?EBMJWq=h%%^5sY0ByKS(ahE!Ziv%&mTi4 z{Y_V3Eh@LDec7kfS3mF-fTYU3Y8Fa9#r3+Ht`tU8aUe`vRnh!opH|^MQ&<5@QJc}x zCPZ`*CS`R`X`%&+wnn$?I$ma>mE%p!-lG9x`~YEhXkvdnUEce(8g5S5^(EYPRatU; zvZ)5xW>CtExI9fQ3zrthYC1kKQlMRyU3kfOv&tzW_fB>#t%XDPtDZqIEP8YYi*ZJp1@59SzYlu%d8%!#pmz{AMf0Z zX|#Nhr&*MvbWA1)v~)$+>iV@^R7wf zdk*f%_V}pHKX3bdjbq;}HT&~{(p!qQ!F`&rUixtw?fm+zZe%su3R_uM4fovu$8%nD z7rM`wWwUTjL=HLj{N>V_RJ^tZw_pPIK#sg(i$E(<3lR_R4rQ>PJZB|em>ZW5=J~k$ zYu554ukBlAIY}B(|FI46aD#dP2kng4Wp6SrBnXy-U#e9;{RpVyR_hiFa?1ue=UKR? z2(Z1)bfS>OVV4)1nT4WNLbPew^1Ygo#HDwR~1Z{}d#R?pF=h1nl@ka=-&F3kSW zvU&8@NyoASCYRiD3ob{#jI8WUZ^Qtd2AGF~(xf z!H$yo6Ii&G-U2m)2_=uHX7IC8g+K8XecLLzHT4U>-m9{pp~K59__+`|uBH%{K{8$m z3-1=aew4G-daf3iLW<0+E}9jy^UlNy0gn*;XzlH$zZ%&tKmmpEA=lu?zo zk;Ts71*>L-Zbs0}81y|5&ME`Fw1oiP$Spn03zUWc1~*wPNA;prK7*nCn8vKTja>%i z4Ch$DU)VfvrFtwqt7sipF(s#<>Pc?66cx{x-oLvI-am#CVH;n zvE!0nBGddhUiu;(p)R=eSLY=WK-lXjuVC7Q1-J00aW7&#xTfiB@(Ad5rkB^~;>Z)_6bY@?iCU0slnK+PWH_mT{I0i=tlk?5jex%P z9nM|YB&UJ1uxC??g+I&cddF~@5ih`XcWY)=^m?;AD$OK?tuzPCW&^h}`q0~l!k)64 zOPJDN_9-Y(KTS=a5}fAisiKvIS@$_8F~RmVao8{KvFO0MRcjwFe%Hl=Z5>||Yv29z zfpse{A_5y%z31rk4{L&Nz&lrXHQK@cr|?&mEi#GWmgpN6bE4nCQ8E;t1l*mx+%RX6 z94b91s&-9GLk&fk3JMkhS(tc^~duiQ7)Gq`p_lh*|cD0;73m@a{CY7d;n83>v z!f8F=^__U3bY89yY`lghP8iH~zWhV@ogd(37utnVVs;&BfpYa+YU(8MOm8xIu&SC-!#-;FbB9TH5^u_+(`@ zJJww!sQ?7P3!K@^tx?H~oH>?#(5xow@JYb@@TrN1$o9>r=99zCg^j{p3Ao zIR_{5q8;5sKCbrL@l$F?4ZB5I3Al2_DQ4xrYh)rGLYO<-Gp8Z4Vy2gyVaioER8ufz zQ(9#S3m%vctaylWHu(r1=3`_!Mdpx(8z|UxfqP{-Em;LB^mefADOUH{>aNm|MlJ^>+kkS1+sNUW<_SDASnlu$;RB9_VJop909nosAQ3owL zG6JjRb5+oM(*@u<0G;U+nM-xd!lR9|Kw>j%kv-R0BmxqOvqa*7K|v#LI(r%cmY>d+ z_J4udw7fIFy8*+tX~nFX`v!indZd=nFH9t**&Q>>h6ilTIY(Y(=Lk1MsV-mkAT!~) zB#{QQ*2ywCIfYiZJHrct{~@|H zDYelDMvaEVBUcSrj)GxiLqnD3_?Gj;+0nsAXg+!YV1F1FjJpT%3RegMu+n84x3GzX zxqOYUkclFCRK&VNOj`^N>!+^z6Ro+a+DU)0=IxeZaK|b{wM-OV?0LA7_PdT<>j@OE zAGgp)Y7A&c$rw)T6qy%w!HX4wP0usPWc1Sr@n_<7c;Ogf4;XE4H|P`N%qc`^Ch&r7 zA$Spojzzb;VBOLR)Dy&uGWsyXg(F;-U$t+9Kw zl9W_VVl!YzvpI>PQ7AZ4(!4H>lS8BjrG*`d;ayQa{iMl@{}L2)s|z4RPK%%z}s0`~Z(j z2trxg&Hy+vsBxq+b|}5bkC3hw8Cq*wKkJs|VcVK(p1gfcQ_*k^quS4)j7>|XU0Ilv z*WW0rA|3Fm5qgmFV&P$#Va{5vYsHC%$C}yj2SG*e3q@8#)!cT4ownSwbyU5u1d=QB z6juX^f+ZBpD!;Ow5Vr3lF}Jm&^4>z>s!I@vf*rx^;uy0Fa&WpXyno~AM|sIP$F36$ z;#&Ow#7Y-~oRSk|P)TV%7bnR+466pjU?Bb)u259N5cD9ittAe+0_*s;eQ`FSe0^lIbY?c{Gw|tcHOI#I zZpw>u&xuQ|U=;Ie5mF#wV0qEm5QyUWEETW0d{>Vr|C^aEJqOByMy^guaaA{Lg=I^k zfw5i0$}CjlYgsyVwsfnCI_}L~xC`W!T$;^Wx5ZUJxC#WGPm*|y=xn<^{*XBtgD zCneJocn}OcK*O@mU{*@VZ3$d$3eN+A=(d{HKvop7<)z%LOrVUdu#N+{%#M*MKzUYc(mz87dRZMBzh7DJva~iX_#Cu z&)kxR>myA&M)HTa&Nu!z8RmIX)MYxrp67g5nt3YcgRloJO&m|u+7`?uEMElrTLSbAUe((P42U%^xG*?H}4(vF5ne@V#o|-2x0Y9$C#jjXf?6sOT9Mhx_ zt2b%QCKOY%6IT#rVAY80He;q_202R__C+)$D0$s`zt}P2Vhc_CxLyfUo0}#ED#R${ z;}O6|Z+icBD8WBam%8W{>|pzPeOn6)=Lz&*1lTKX0r9)L%ldfc!G?`J;Yb%W5RP;4 zf@sXv2iQuU1i);ZlgW5(<#)Ago#_8oySGKczEq=m3)4phKHSkHL5 z(YdE&Hm4exq+(WaI&}ncZ$WTx?Of<8_AV;RM}fQemaho#A;3dgFgwz@U2!F=o&ngh zv>_L|;exTexb?=hM8M{vD)5Q#?;xx>Hpy5IWX-HO3Zo0Fvhq{^hsCY-}J(g?KYU0@!qb{qn%E zX-@R>AU}8Oi?EkZ@xrghr*ie>^1`ygF(&r|Tip+2BI-@RYvWr!@r-3f`v=}@_6)pc zPxGX{hab^lWm>5c&tc{Dd(mu25w*}{e6qJJnC9br zl3SZV;T!&GXu0pjqkI$jin@-n<5H9k?3P1Y8~OQF^sb6RY}!UsTggud^j+}<#L+*Y zhSjIx#d82>?B1>WezI@zaWUdrmK1DQ>zwi+OLt0*cj^_qcR1ij}2j|TwX+E)b*i>^Gg53nEeY<&M4 zLD`>GG+fiXEN+q(ZZ$T8Fb-^z<(1k|Hry;jy)4HpyOjr8nAY}*92zvAZD@+ZiMUz_Lymzw;RcwtZ8LrJO z+M?>Ekuk#=rv;hd$G(h55PLZUEH-^IK6QQmO04?uTRvcm<#h1C^lMo~3fj5Lx?LPI zC}`^gwN+e8Hs)twitVZ0+9Ydws1Nq`60Yh`W|Yi^HW|r+X%6IpPIZ|KV1O3Mn8B9N zQJQ4DNDD0VI#9XxwMcn&nM$8d>fvK>WW2*P>K*KW!IwNaYZ-4l_R0(SG@4tUFm8ch zZbJcl9wyvP_}rhjgW@KIWo)DXnx|BrG0OSts&+|yoX1|fgbU7X=UDs>oY@21WQ6M{ z2vD%n#coZ~pkgVt$&|cnu8-F383{Xb62TRhpDixVkmz?&~tv#+CzS+;D8n^e<72Y!}S1}@(SmPHTe=O8U#XU28Y9dr-o`f zBs(lqQvlF%KC>&slp`LRb5~T#o(V14g784_TJwop-l1mKnO1rIRjub=t;u|ftHk^I zRH|uenHb=65M5)FoWr18lEbKHq>J=RbyZ-D!zgply!y20LMnesgZ?3OSX{N zm6_^hKC8?;w`MSh-8_UGo-H@y(URGpZ`&1w8t=kJK0bl@G=wwcL}AW+366rt(GNLi zb8fptOr8t=ln0sR@&(mOW*4}KMCq%b>IbIidp57-v}`=q#Jxl1DipLQ!$PLqg4{ml z94ov!-r8iSDJiuqY|1O4^HRkc+BsOcEZfJc%<~${Ts==GI4+W0)}2V)QV)LpiHz$) znp)Ku6g<&WN*A#wBaOy14-DhVWl^Zkr^Cea#HL`ym7m<7F?*KJEV%%#`05i$-Ya;| z*&tz$??&+NGZn+5XOA=K7$ z>NLu@`(HsehxVF*whOj(m=Vz3@uF%A$g=6hO8{_oiU*w6fjA>d+ODjgx&wP#CnK$< z6|bbMm%+HFy4DKpoa+}48Q>8Vw-T&f^FmuGFNCT|JCJ!PN2chCffXRRI<71(qpD&q zC4sq`C08$!16;=y59K2OtwMFa(oN=fl?K3zHCJ`eMktu)m2tkcl!bye&7V2G>2~-$_RJFF;1Dm$X^*O z*UPJ`;`?2yhV^KgRYRL`q^q7cGtS14W6qScx-RoPt8&huta*V}3<;YTC5J)>jil*R z;IhOeci1}P;{i{`Zc3hHUh&^qRaA{TXUnR9R4BoUfvYaF+AVHbG<9kD7=9giEUQ7C zlmqN%^{k$9{5WStjAO}5_5Nzo>?RXuI_bSeJY6pxaCHbbkC~~M!;RNJZ7*+KbqNGl zA|JK~`Ck2gq{s3B+N-AMd$Edko=<#Fv9m9@V<}q*dtv?Wxxoc?j_{j)lpdv?36{)c zed^uYP89OpQmVgP^@m${umS!6S5!c~EI`YNa4a%CXigGKMm?pO{; z9AE3$v;Zu!c+0di9-qAdke~F9kS?y=3$!fw?iTy_LFIDXUcWLH9%j*tMseDybzpDe z@Ry-RUh*;R;5H47BVaJYxWd9#I@4-CPy%>y07_rd`!L67e-HW>EN+-&lij%*BNR3T zl`ByDXgZZOx#qmyvQ)w4#ue-5G{hxyj;ny$hjnhHs#0hGn2V{(F;5r-n9zl3G)&EO z$Jiy#gJa4q0PwL!DA>(|VhQ3?aXrAd=oXzk@wk!56U*Y5iqDZ#xPl{u2Y+lM_ohYJ zLo)jHQ1kFw_;mki{Tl65ejke~=`%$a@h**ogd zjdxmE-kxpjn|SAy#;g>j+R2nYW=G9lRY22%iJZ^W5KE!JR~sCr#1>a6owyTcKVQUkdRC|S0V^=GOlL+_0!dE!65Mc89nKVn(GN|wXte)4OFat>u z!63jV#QrCPIS0{T$72sxe1PcjGRBQ58oNKA+LhyY23xxl+fW==n0l8$xpy&0){a3I z!>gs&?DhG`N=7;;z~P7?WC7m32f-oypi?w1QduNNnJo$X$M zk0Y*ZV@F}QUIgFr>BMvirWkWHq3|b8yXOi45^f<#Lf7claIR0T4E?jCC!xUY@FapA zE?IhvcFT$4<(p&;r_wFMyT30{bK1usSy@>nVZEGd&L`(^+T?eoCOI!ivNo%v7|b?& z80(0UOU4YZFE#YZdOXn(ZcAeMD^pj=rQseWhq;NuwP`8J?P@(-!DqdYS0DG~Ymv!| z?G2aFy$~9;$sN64TC~A^g$37qB&cVn>X8 z2dW2NwC-=eQy!>ep|oPuTTO|IR~U;Rb^daw3|0sTsCF(s*=QXG^um(_U5gUu8!fL|tA6ogk^6fYZ}XG-TR z)ZlGH6DJHG%-n)6TvVPpCu1)hbi?z}tt~07=+5yy)?DYpBYsPYUqhjq51mVtsg@fk zm)H4xoZY!EeA-?`(B?^YcE~+^074>oVIM+^^48vY=!f_bee-4k9NL=(^!*-wk^1kM zm&R?=@6SJ}+J&&sVY}|~hdp^PcTsuqGq3F4Q z!j@{m42?m>y(F7?+0P&il*^8v%l^7J!X)jYo7KqvgN3{<_u{Op1b;(UU*yeT)r;*d zq3C)kNOI_;HlTWHP+nC$=^K|*AWWiLHk6NgmsVqzeJk(g4SqMjyctMg_=C?G@$mvaN|H@c*e5`yHj|A6M zaIrdfYWOUzW$&bXlALcBI%fxG<=S4it@|2x6-oCwz>(B8u5uhS# z!~UtOVP-_%P3dH@z@^Jv$c1akq@8Eux$Wa{btp@&0 zZE=Rm16@yHy^rqi4}B)T)VBYw{T%N%H??g1S@zL&@}1S;x7y%=zo-8x6`MatJ!kZi zho1BG^ufP2?Z_9mhtJ2+n|@}?p&K6l8&Ci7J-T}df9*amTyw8`y8GID-Z#GAzp>yh zwxc>?k#c2EM}z-L_j|3>brk6Ld)9vo=<8@l0{(yiyxRNU@An?$xi)d@9)L#@4H9CDY&J#Npe44#SZ%fC5u8{(_Gn};NrCLlnr>NZWLr{} zXRVCo%wMwbkhLaj%}B}oMt@NpyW3+s4J|oYvX?E{QqWPWBguwalnh9s*c7QogG2+w z1K!{LtE!Xz?X%BM)w>S_*ladC=>yzXb?er>w{F!}`+WP``|LyXKk??AGkE0d;rYGZ zv+DVSZhy1=-gJLD`g2$PrlWq_gC5UU+q<;g3&?Nh#q58sJctyObQnC&`Nusz=cw0K zEmyv8)#uZ_fB*e%`)YfK+A7QQrWgK*&shCp+9z32dQ)p3KeG?ALr?D?JpCKRFWo)A zf0ZRa>IS*r^YzvCC2ntKjo<77cEQ?zPOCo?KxD9Xx9Ps_@Xgc#qYK|dUCSQUo!`F$ zc9(sQlbzFdyVd6+?>XFkP^J6n&Atlycd)&gmA=;ni$JE;);$1Gch25N5ip5z_|Hj? z1WvcLW#f8AQ6lidd-CV5`#c^Wb!kp~-5sVuv8Qk=e!p`odJZxV!o%<9W_UNYuc$i{ zCzhLAwT@+c&LA+je!5H_ps!&+yee-oolEa6rjyU|U^C&%(@w_k$U6~jZ5i4+?`Z2n z?_8ee*C^Y5UbkPsc7B}q>m=*C-}&_Rt*kTYeD|tL#>Y$P{xtp_@+&)6*l+EeJIc;2 z<>&B-bDi(s-}Y{6?<#QTC-`0`H-fjnPq=*fzWIAS-2HdROU_Vu<^kdk@!Z2I6-s(BC!S4kxI;JZiuEIhHHIuU44!R*;`-x;KZs z;erAt*uH2*FQhNNa>fV{u@2w@eCPPt#fyi3%(EvAT_XIav-C;+`)x!gZ#ufk+j)8E z=2dg{EN{DlZC82Q87J?-b8Ydv^ef``Zs|>hc7|`3tGJ1Dn>(LbY7@^!LOoG9FQ!jc z!dAbh2{->LL-A%-{oT^ub>M!G*E_Vsb+-$kWi?Te4qv>GS!7xA?gAWdi7zsE&xL)@ z=^CT#5(D%s*74_(0yhAd+vR6oG|$uXbeaD>e|po<^{4prFY5cQ$Lbh{1pGs^ zj*c)UU$xwCt*zpMo#&m4L6MrsMT6g!_0C<3oGkOjE1(e!4qh^+aCDBXve?Rt-U_2# z^1#LF^AV)}8EwDJ6oOZ;=%#1+$s4a4di@C}+bMgES6+H_-8}vJo*q>8Mp@P8_>7}e7qI&ivc=Btc>q1o@FT4CgIt$)8^FIT;J$AM zrRM+&%P)asojZwa6IU#IgS)|i2O1y=Q01@hO?E4$ZZpC?!R zw(EmEdwTM)qifgvhD`?UHiH&RdW<)`mUiBrMj%|@^Z-A-SZ`_nrlHBnE=ckl2E9RS zSIFOR_^xf)F05vIvyC??|HjDQ(IU{b=gNGI+)3}NEqw{F-;;(u^W9|0-<7oFD0L)% zEm~?_ela+{I<=fj0fvu^7O{^4Rh)g zR&-yiAKc~7IPPfUu7A(kad-38yXNG{le*JQ3ftv`E^<6ZQHc1Z{|-LD%hKGOY8hyd;I+7 zO=cT>EA_z+iu3s6yqx>z8;SDJ!)(#7sKXk-9vstLdATT7oH~J}aBjE4$@a9*Y;Cn6 zM$nHpth%;eE|7mo!F|6vsT|0g-2EMGdKC@Xq7?k#CR#Fs+AC|%C)yE|3|P1iGN51a z7W#3#rrcMoGtd*j9Dp3!oSz493TTP$j`t1SB|1KsxSh?pJtps~-Oi#k$M9r_A0vJb zw&}+l!@i4s|2l8yck{|!e2lc?!-)gv@2v67(G1($d?P)C?qGb(-MYmVe*`cy+SeAI z)-c$wlX7=%ukgPoZ=7<$K^35*i@F{xI-i#pS&lqQ3Fx_&zLf=y-b5!q%39wG*k5YU zf5|QPDhhJsUEK?b=VA2DhXzM6=+Zf_1_k+f=9-|=Y^8N0$wg%eE>aG3<<}U}n*-0C zr@T}!-yW z8n?H^^F21kV_u)iYgiBO*_9=KCU4tez{^cCs9gZOn=T!C16cXZAzOW+IByU=!qf)V z9YEg+7M-coWbSDTxH@=x;O00do3QYF`}cXdoU(Jla=S?V!Y>j2t$t*PBoM6x>Vts& z?QZXgz%rjK$yAxdFIKmjBJ_ju*HQ@ra6Q8I9t>|yi2>~!ftFFQxF47g;@u98MFf8 zecm{n$!BAAf|WsOuucd3So7y)vKYDj!OX~#!91C))BZj$%aOwy_a+MXJq9{20r(BM z0mxf;w)n8{G@bZu41NNQ30z+I`%Q6Fg}wmn3Us_2EqVkxi6crc{v#KorCXnDMMezt zoN3F2tt|V6t+{t1DWbeDBX%&LNnh_IJ+bsQw|-87b1Sm%^hYNBIwbp~*AJa1A3-z` z*wVhuA3vgdtb7QtK|fA^tLZ2nukTr6nU3Dz$39zUSZM&8>BjAXm&Mf5=S%YttTkI{ zD(3dYn62`%DaelO?(I7Ttxt-LhivCoh7@wi~HS>okE>k1n4!){tUCRn!o zx;<_uv&v3JqhiwXgV(8~a$+lc&^E~%KeEEX%P-| zXnfwTo;+j4KwRhZcvjEt#S{gFk^+G1)zr)`M_G{A^l=ctoCCkFqdnp(iL#~|CV0|si#fZHvIK?vX)0q)XHv3)Tu4KHPV z*c8*!|D%yBX8hW$H02Dh;UVh>ynS9;UMB{!;r$FR-^X+ z4@w-5fL)FWH^QW#NmK0X^6~G@?I!yJ_+8ue&4TVu<@cTf<>KEbnVe^GNPBCylLsOMqgpU*>^dIC9F6bnDbkB;XH&x(^0Ib>*QzBpy_3?(7iY~ zy^ZZ{{jhrmVDkN<)m=GxyG&smQ)ae(|gnU7yt#l02n=-I>@}JLK^jU8>k+2+WtuN6h z*}4BVZ(%}%<$2gEACXf})j6zY_7ON+05wz&=F;fOciB3N9|)&zc-+9bGYn{OeEX!(crffvV3}mVn3}$P9#aZpaY^tRJI)?(6S6<3lo`wnJ&&)dw$-*(F_A8J-PjJ+IeM-)Z9JWQ~aMHsJW{&NVzpg{?F%Bvuf zfRsCmh9{dA-EM)1|7IJV4{`gYP&4OX zz)y>o0CN5}0kgnV7=&vR)w;1vYVOcHS%!%wlYw=Xsf$%3RPJ`D#e#bLHUw#ZnGi@%I~23 z+H}KSK0uIJ?EvhX9@v-RG{VvOP6oDc#C2BU_T>1l57bdqVBZFx#sk3S016e%p}|K1 zY)Ely%&W(1{MZ%#Orys0Vd1&VlX-n6e0U)1rZDAv$VE~Zc1$9tHyko_k{~db+u>~thea%hWDxQS;KO`?=ie?X8!Z!!8Z;IFr_@) zpx~aUm{U>Bm&~X5H8~Dj+u3qfQaoNh{t@%_z1BOY;OOj-vSVot`wzR|=X@US!ndf# z;&TWmzdf_?MQ-9b0$1SUFdD(>1m)ZQR`dL2&5VSf6AVsFS~;)RIVcA4!mh?bHlnB> z^LV@3+Xn8OH$|&WN#>L6rr=yS6UGT<*?RiJ;;0i!7Mp?nJRHU$y!&T;h`BsrCGf%* z;`D2LLCTlC#byP>fPMhXxQOgnL0$09mx34$;9BjrbnzjXQI2jOKL-!&44 zl&S-M@6sBmF1+9IptMAguZb}@2}u+VH+&T~7}o%DG=Ln+(|3NWzYd@&A^%*mvd$Rf zzl+0fE-1Bhl#-9rc+WSp&;dJd2hiX02i(hfT$v9-l#NRyfA?PS`ZYZ7^Z5|0kbVja zfxeJW>PxJEJPlCeL^B1s&b+!{UTqoBlG!1anyvKWr160kZn%iB)a)es=L~Al4VK{o z?U=D>0UizdF%r7L>xQ?1QZUt6EU?aZW?RFbct_|?Iz{czR`SUJNQQiEGv@aUm_XKjzyVbGi zhR>CTWWbh8J)AHd7yyY6@?OcHeiF}-%!G`*=^G|kY6*>NNE~w5F+>j4QQV(0ryd+L z0n}6O%1zAxwxu0GqTuy8=mUd!2xkw#YxH3YD*zwxMr;>w8&d(`0Ad@$bgjR6+N`fF z0QRN)N2{tTzO>YhhWB>>D_+79?8WjDFJq}UfL{mTOIddS_rkUd8-QMTZq9riARo$e z=VnC%N0QeEPB?mr8_R>7D(2@q^H!Wr0Xl;lL7@S1T=;P6gZ2?PoXp3s|K7r#epnTi zkd2rpW=VwelOzG4&_c#xFk&GMnUad)fka=jQ9WPuJ>-ta4GF;+Pe-y*%e05%ee?y$vHXHjxD_95M|gE(bty}=4f8%*_GX zF(bKIiiIBX^ZAnbZRr8Mu#Fus=oSpvK>;hxP9uN~;1&RO!&cd^Q_-+c!uN+MJh=IJ z&99XJDXg{pTwanKygWIt+Ut? z*=r?j_xihSIM@LbeVj+BnyBH$kw+^cdy!bkb4 z0l5sQ!@WX&NIsS?I3Pj4)I~_jLc#=wF7>>U?3Y<;dUrAgi5yPIj|Y*bZT|dTHB|-&Z%SQb6m$g_{BE z{947!B`msQD-9|$Z`wh{z?c1N{xzcpmYf`0ZRqF)6$INM@T@P%DGO`--Bn#JY8Xrft-V?jtyRS65$d00T z{cs#PLMNeVRtEM#F&Nlp$f^NH{>TjrP!Qt2+f4D=TpTk|Dp=iESat?S?ATFL4H)7T zKiG6u(B#OKg#qK{9ocak)Jxvp0>P$2C(j(09Z9GkFuAs32Xw%6q-v~V&9CM6^AgGk zmPViRJ<=>|-d+skJ1oDah1<#Nm66Y3`T*+gRTciOdeO?heE*dVe{Kb>Midx69$qf} zcN92&Kvx`0-8O{(P%O$h|86*-b2y|>S#X~C{H)C?d%%x%?&Z9)varYYImFKqPn_R7 zIKQBM+)Live%aoDpM!`m=pidAufPZT+`Rw8C=-Tvfr>!pQ^!#vjXA##y0r#k zlC|as>(vOrKp_}&&}DYO7muk3WHVT8xyWp(7rY#>M!j(J0<=RML|kZNt#IcSKcV$h z1WRmhJq2N>lY!EDOAZSyA761l-9AdLdOrjI6u;>`&b90OK3?~^Q}{K>nKFU0?K__e zctbD57x=8*;7|Olv-J&Qm!B0nBbJ=)FI(o)8MfjDTk$|m_%SdID2h`nF4i1Y9TbM? zNCg*}_k$&$v!^-45|$el-A!82(m_?Q(=pbCczptX4rh~T%3aVD*2cG48{e$ii5;cP zLm%C|)xN^ZC-=X(eTfy7r|0i!<6!2PMjPs{WO?B(t>(OYRXTKzw+FH8Up(htH3Tfn z0CQW;rjar|DuVX%w!O+hnKR&S!{hdq-A|b(>B%0yzAFh%4{3yPrwC4?Dj_y-Yqnvm zh(H06po`hJbJm{$YSRaGUD&0Wd+>rYGu<$t7`3yk*IA(-0oaCr184^SJhya@arf~p z{9~VT#(pFJvQz%&yY5*{d@^WYT|cDNjxX4Opq#NucC9C-e3YNX8DdQTHnWYFT08fE zXKusC1_h<{jL)_J|A>LS?13DVg&j!d=FG?WR)kn0^rbC8JKCWgH;90W(>b#ZjhKIP zXkSzn=HlxOQ82IVxR<56v;H)_*O@+f5yqUPB@!6P2sS; zl*8UZ-`V}?<-(U%5A+y-v z*XSkI80CVaIceQi2(ojK|T1)r444~$>Rc$d~OT1)I!y;D<+9fP= z$AL3s&A$24uD);X2H8|>;_z+iieM1jt zvfxH86Px@sSoz=LXrsk&pHXN=i6g_c5sDL9KU557^=dXG6VW`GxG@5+BEA{XwB=MxU?wf%McX zDc^ek>&=bNzF|&bQ0>M^(XYY#PMjF?xnt>WG&g&VVJpkxvt`RVWBUeRGYuJ440Kc3 zc|9$L!!eG*E)YR%7R*LVyW}g&L6btHJjar$s{*R4ArEh$FC~^9bMKx5n&7>`iU4cHCXxd4o=GYu*YJ zuGg>7)on6o=wut|$vMgDgb3zxJf*;&7bQB$bXjI;2Y>g`-jZ6dSM??84eHfhq6rlqoez0D4!MiGV;Az97aaU1dFX9-2m)?&l3?vWOh0QW&rBVIr5L~9&6X@!_pwh-!R7>uQS(X zemx&d3yCT!4UwDJ3H8GM|Q1&!@1A&BsiMT z!#6_EXE|+S0v1!0FycozI6IlX+ysI>GLE&4r$InYM`sff-E&-~?E5BG{7u2VDkahN z@~=BZC2{rhvc6j+-BB!lqX8Pp=)?Zy35#q#j1)Pg*?bsDa!3(T#}TsCTF|Z`@j(r# zkY}M_o+G8G5^ygUuBg~@gI^1eZdf8ST~NE)eUyL8H~I?LErm+h$uhSQtnlGHP@U3d zJp<0~AB=RUW#f)K;U+u3nS~O&kONuwZ8O>e5O;v>K^-l6e4SokYW;B<%wO=9Ty=3) zS4!yOjB0Pi8xL~P&uuecCv!dx&L+PufJWeF=*F{IvtM%1hb{f?Z0R;8C%vP&9D0B+ z_gg7N!B(6WyB^5p(@ef}Y)@B4}ZJV*vK9N_~$%PB(4=*vzqEvCAyt$iRkvZNzcp5c+Isr=tTV zh!v|LiH3kz!)jB-gp(~Y0KHsrq=YTBP!QIu1=M22b5PSaCQF?_Ef!laf^(5s8Oeq9_- zSaM=ZUJit+0N4QelEDuZWxzBAfS)r(8Ja~igQ~*YM{8@%!Tz#clMp^To8wBXxC~-0 zn3FR-x&07-?U)_SJ4|!9U1KZ$I9u_TIGVZOXy%!h*@B0`4~ItCgTkiZ;88-wgR}?d z+@gn3=2RZGVZ`+oHZ+ip6f*lC3x*pByu)m!@u@jk{S@bCgn~LO$EgyhVi5G&6^! zm9oVEi37IeuAR4{ps>%nQJiRkR2UMkWDo?Bt}rM$z_M=>~?0CNB~ zKubzt+AgT`WdOEOYp?rqaELxe!-HQ8R0TY|W?;Jo)0P2qa)6vIx2p#YXbQ`Jtt4NK z$BknN1#|^G8~|T~1!ws00^pN}*}~6T3HF>|aECGzuikA@K_gbg;vi4TCiDRJ1^5HV zw>+{{|M&Lc-m>#i?ZLq9Ru!booY}1&6?ryDew4Iq3$(xWx>8U_ClWc*WKOfF@;CYNX1u!X zT53txNFWc^ItO>4A|8MG+-2a-ol048YMnEXXI9!}piWHO%4eEjr87`>cy?~7MS~3B z?SWgJOg_2F%WbgqFSOPC$Lz4aE;@Pbsfl9+C9De%uQAl3X$MQc4JoxV2KZ==X~*88 zJzy=|1H58@-xV$V*aq|OMw71Y6pfUYnB8q(ne4kKL&~fsTU}y+$I{Dv6~z%9iktMd zy;(a_=U&CJbB#OdkEGY*f;x{lj?VNL&!@0Dlo5<~+8mpk<;&JoL&N-xIrdmmRZX#H zH;|^PWB>*lXT^j3}^55Zu z{Rqor-dd9a*<_T&dXSrpq6A=jD$*v79hYjEZOr1#tafrT9R&-mpXL0_HDS*HY0t0m ztW|5>Do8bqso?fhgEC+{*$1GNyAF{}=T#UJxVPMmjot*#-&M{&XP1MYWKjMDjpzSV zP_SI^&qTDQmZL)Eqv3ECg8Yk$#cBK!R`2npNF7peCRf!f7q_gKW6LtE>&!u*>XEj6LmC&qJYA%^&X6vgF{IfTcIeh z;8V8X4i+2^<_=R7c0o5DUgNO*5PEmJl7Djq^C~-Ed5AvF4YWnwQS~ki;yN0qN8$CJ zv?K@dDs54=>1Z0+u%)ylWcposj|aIrkW#-|N-g+tjuypl0B)80kd+2i1jE0K)B~w4 z`;2C;;}sdep)`V_W-UOf@Em6h{Cn{cvK8 zbZON(2YO*z58i0eNw;SXW@f#UO5y?T&yUN1OdTs8PrVxPWYH-`9R0_uRYz>Ur3~o7 zVz(IOqx8b)vh_f+RCK}c1HY5mIcgik?KgO}s^JXx6i59M|4bslV zEHY!Ectf)@?+nW*4rLBYa4+srhx}#i8$lCaN4`8FnVXPi3x|pmw}*VaVZApWCMjh5 zK?1H57%%YyL)9cS&(`}Q8_WwtifrnK;L}+pcP|cpq~(qua<3G`JUQyzMGINy(xppw zWA{b#{C9qzv{gB+}okWU~pgrVRM(ga9s>G#Q za6H%dNhqLbf6NS~|3vO0j_ZmAhm*-}yHJ!R_mM-UD3A#kM#A=dxmtwlF~Vmoq5Le8 zxz8Fn=*jq)ySaCr!}M&$^CCb&JqanYxnn6bHwhSeE63o#o5_Rs=G^Hz#LM7ZFgUK8 zqkS%`F_PttTr2nN_B-o65z*`*Ro-?F>(fx#|gsemBmQ(5i25d2DAie=4~;+ zC~|1nZXru{c1l+LMD}Ar>o4=I_K^teNI|;RJ6iFKmN-gIC3W;}1$zXvi`)E}Yopsk znZ-64!2R>!1?49(JMAt2JApX>{t(Z0-AJU%Rg*SQm!hMTL}2I7+oB8n&JxP0`EtoAlr?f0FQF^@=HmGT1YKuX#wYuN~=M^JO*QDi(0HKJ^Sx7g}1GPsS^ znjj2r$H1lx*q(A^mOJCy(NVN*wB7;aCIB}oDNUpvo_4g<(Y!MWFcLL$gw;NDZnIM# z*Aq4A=Z>W3wzG{?+7qiA!tkwkD2+Od5!4idv^_9qK$p+a8-d^PF*n-(I|6Qm<_nJL z<`!H4zHFRT84;0820NCp-uoKlSzjBpGT?!g@muw<4Qa9=dMW(-z3TYKO{uu;~rVh-r2orj}<3vh(4}? zjTEcJphcBXAv1$BS_x zzUNXHGlxOY$Q{{JU_<)LfGy+kP%w#sjSRp2S#8&(F5leDWHgPHK?8;*Ka7~6ftZs5 z0U8Of^D+RtT@>G+Q;`U48-VSX0&2DBVvTK+C`xuinDAPBv}wI)yRQ{#-4y;g(#(yT3!0roV;FVpW|P{e&KVCKKkF~k6qtuvVG!v+W7lY4~E}eXTL*#H?JFg z?v%m>nKYiOmSY67$@fvk=Nw~6nHu`EVPsiyWEkp|)xa96V&VGDS-xeb5(W$7GErD` z7lTWXD+CeY^E;lN(qnWTC8dFr2^%`d#Zo%iW9s6SIL=lSIqz#{)q#mtswN#Q(>lcKRA(S0QauWW-xrOl`)Wik_I6)zzQlZ}^*}7a=*3ZP$s+K<^#M-ZHb^$!ceoTL&l{ zWw}#uhtjs}G<6+Jb%#U;q(nzFA{n`O$C}${rMvkf-5ipxBiYllK~)-Wy+blplnUEq zr9CY{R&bFbnL=4m0HFO*JKFmvA?eC-a6W|Ug{tsh(ZCl*xcSJH?Q~eTV4QC<{v&~% zlXlYCcxBY``LtuuwNaq*Lket7iV}5%PHGD4p4nkaatxpzx5dG9X)*G8HaaK}oG}Q_ zfM;XOBZh`34Ut@tMmaXpqZ<1RU!0#zAXbYMsEBC}DJ22S5%4w#awh-T_7E-cJUvK- zE2v2Xu#1c$MIo~YrZa~_I^mL$i4J9Q5?6uyFvug{4nS5~;iH)Wz@|e-gr+nm(G#bj z&cWUk9s&XQq@0t4N{&0J2{Olb(EACl}z2RiK3Ab8itWH zYg#*FH0B@xTkC}slf(dDjYg`qHmC^#zSq>pTr>D-2HL4E6=@=0bf!y9(zYh5C4PTL zha#3SQ?TuZZrHpzncO&t1n_n_$kJ+IB~j@<;sAxfM=jKl@K3lF3ob zDN50C7){i*y&Kbgt?=9MTBF)`Pe~!M?B=s>c&Y&B~P6&^iv~p&d-T zILWM_d$^iS%qh7en=$|aPo**x8k~m7j?@^D*$YOMfpdYG3f547k}b3hIGFl@2B`QX zV8-ZlDXfFAI{MG0oM~ot-^a^ST`SyltZ&~TbPDk3DD@r1{5|1@DB9?trJKZ4pZJathS}G(~a-UDzjc9>aTG?jROvKWDqn;vok&JTKbb_U?@xoJ^CQ3xEF9p|m|G zoU)!Up5t_*Bc-8Oj6cd|8_^!0&jaTYJ`tSDYF?nyfTSY}jby{MR~S^BonT4`jHY7e z5(R&tn%zeEWSL$0F^Uys5z&@8jk0#-j8DqLR``3tQiR~no2ez8C?rga36>>?I=UWp2VGp0lqKWFq5v#&uHfoVrNCct0NfH3q9NH`?6+iu@?Y1hKY$7 z%hLbABHu*EKbC)%Pw;n>&Gcu}y9m}%9%`pdEubFA6R6wnex`{xfXh@87gQ0b9VV$H z#wG)O!y#PN1ir{D4nF+^BwaL%lXF(=G#RfvlSTbyl@wf=asMM#LR5& zW_DQN`LbC0icc&z4dAXw2%bHX(|m1yxC7kWy5x>!u8b5ea&p&mF8fr(t>ohUFujZ4 zpJxS{EPxXdsG<|8v@uNJPM=a#sbQxdk5rx8S{=#TPm zWWAcc@Z0KGZtRHj)cSow#;xCu%isDBlEL#rc|K|ugI{&!{5tcDf(LR*=^RP z_qzVhwmP%GO|qaS>B{mQs%J|NkkOH7#Z9)%^lVi9gY^~*p1mh%&)u7{_O!_Ad!yxc zo!=8Rf18fg#hbo~pXaovbD1Wd=$(Hpel~SqllniVU3bgze*k(?nt?Bq!I5K>$ne^C zA=ecK%s>Z6>M~PNq*#!Qt{V9Hh*WyYzMM z9K-e~VD~*DnP4-7*<-b+=i@FY1~0Sm%B*2;kc@@o2A)mFIK+-}XERiV+OwD_X%0|p zHzrmbT^o|2q^5}VV;@_gBhUF0+$1oEZZw9|UFvpWPfw&9@tm8l*%Cpxa#099F;g20`PU0p$WX;#)5^qJx2H0l zxYVUV8ISjz^gxmVo7W`5eHD>z!C7eMI}i8HU; z_pNEAk%~A<&baH@3X_&DEDc31JmzTo?J4umML)<(gE&5~O*`#`Mf#IeR-(WpmSatjK>Ug{TzE=)Q&OhMwC*Pp;J)r7b?%w(b{MyS)pLR|5{q&1Y81x)x2!ho+dOkah1({-WQVx-%bq zmaXPApYY2ea(PaFu`%809p!ATvfMeaJ9j}WJ$s>3!15{sTf*!J+K8w7m?$JdM=%~z zXE%_t3~N5bF5%fyE3U$cM7Cc@V|7bkhM{SZM8!vKzmI`+DthWF&qe1ZfILzUmmDOU zy4PfpnylN+th`#nzCzJ=C|yPw`szfW9MN)T^dyG4`(gCXqdwFdMI`!sF5Ga1-Wk1;$G6k6yp9}L~n#^*Oaow0@58N@-PNeaB zH8COW@Jx4hu``(UKo8>j>5 z14Sv@L*QTe-b{JPK_7T@9+2t))Mj#Lk#1lUc(tk_jzTY&4X3kh54;VT{M;+x5$ti1 ze~UZ%VOk77P*%PKGz#>KlA@qq2nR2H)dHww4RdcPs#I(F=~4=u3U1JDWaxw}$TBm? zuc#)HR(&Ctq_T;vcpUe%fjYaxZSpyrO&Kd59B6*I0Ja@ zSRQinGActohtip41Z=K=xadTNU`_2GHtbU;t86ocq;mu5F-2=!QHA-H6Sh)7x#lDd+``#W+HcRo4XQ;wji=me3??^o9R*Jq?lH%%XX8TmM z@+0x2MeD29BGwhr?aB-DL?{z;L2~-iwP<-ro-`z%@>G;#M;R?~YahXEqU`2Y@bdsh z7l4>ae5U9E)@fkI2U=8mEb45(UT={dTleN_V=rdXE#Hz%*j{jQxlh+EA2JS z;i>>W@B=4v@DW_UvSDDeG*}f{|D5l6C?{rAN?>O+8<9jU*#|?^Qq;7Omd|5qa_bLw zq@K-boy=IGgEILSc}fh$4%w*Davx5EJ(M^lEfZag*AhMO<%7<6l>`I`xwnYboFbV~ z`P7KJk`qWX8`JSqe4q=yGl$^Yk{xJ9j(-ptZE95~=!o^d+v)SRc#aO%K0uSj<*Ka>f3H~V0cHhi zos>6+gE?>aQA3Pl(3t3IovF*VPLBw!yEOJ@Wo|C+nv>770ewa5nn01;Wb2K=3?fCJ z^VVC9v7^;lfi_2d-@40h3W-wEKItn*!Hq?i@#KcRae^ty$&>L-yKj^p_~JAy?Gz)~ zD-?@bsO8pqXmD3!{tly7o3AG0`+K5g4&HiapsrsxCaEWs@juf~cI7xhJ8{Y; z+s@A^S#B4tWzC0OYv3i@X1wDVt$k);scbuZTCB2eb3I-i-WN1;QzWY#`Mk*oT%=yb z=cA{9RUW{~9mKv>PB&?r&avLaUB|rtNVL%9=MvUid?)L#Yu)1uF4^mdx0m zjR6*@CJ4zdkDJ})fw}vIeNo%Y2Gg0nH~e51@NSIMf%U%RF?LZ@y9+Uh6H`Tcsjv3X zka_2Q=rmT6;^eTGpLt9viPrqP{+bwXs3bDzcMeJdi#?4u3uecgK?Yi|BPkP?`uQCz zRY_`<|M*m$<}DxUoP262j6^q?QxihruG4*{i_-V}UGGBmFMi0iXcf4vX|jukv}OOm zJ`MTTo9qT?ZCKWnONSJ1j=Cc?c4WsqQ7TfKmXZ^hKI;(0ux$tAv3!NioJjOzTFi1eIU4jv;_PAH$A#Ui*>VvinhX0t=AW-eFdzUNH30qn zR3Pr{QW;VC?Ko?FX-=m;Q*P07$4rL(eDVfu_?a0ZHu2{;&}%Hs$|X~XDue%Tuhfj@P`!} z#KizcK)Judll>CG9!%rSpWYmp6BA^W?wDKSAw6=3(Y?w0p^y(f!3V?9%A30;4nf;; zGA&IaCVG7o!(|TS5WbAoT=@2Ri4-A9^!z41fV+qrQ+K@_+tW_~*OI+acyb(bL9Uq@cSX2^2mB2S+|5JwrWb!Do%a_uYCg*Py89# z*53Ur)qn7_)ZF+KvxGf8R*$Keo#za>7?w}rbziojrBHTQEVI)QHcrP^hOEC>DM~*x zI*Z0z?l4>;Wbi3)DTMg3D2%T(<5udI4k`6u;6I>0!2z~I~sevTV{LaSjff*qQr4lmtQlFG$&gL3^p4soq3Ev zf5xxE;Ks6R3Dk$wk`%=0T5Wm9MNhb&$LIPgQsPXWev(c07j})Lww4?~osAr3x!M;R zQrRhniqecw$rap+)lbPCsi>eOcUw3mWm~b;1`#hm9J{#y+75Ur0<#O|_HZ{Fy5!!z z{`P1hzm^B`Ku1F=|JZj>^~b(lEc9D#_W1j0@PYp$x#{;&eeIvn@}<8;VJMn0T1QHH zC2wZboO>(oY^?Mu(i*@cAog=ohO)^)yz-XZsG`++V5?z{iihC2({)f#KU~Nc5yhj; zUL&P3dV@6KeB$$T-%wrFr0e8=kBdDPQz-O*^@Z0>J*KMo3bjZDFHk)CP(yrX9>BWmeqW(cFfoHu>_C}lUpSFS~G zI%|#PUk2fhN#r+;%oB-oG0{nxP^A@oo2@n=V&Fsqw>r=I0OKo{sFbU!o*ta#wC=K0-;Um|(b^P&%(frJy;pGP zu5nQio5MY3FdY%>j^5ukd|kr?wMeRBUu%K+K4HlxOic)bv#b#{4G~M_-N4cvj&h6U zy$*msM%Ok~H97rqV%Snm_=2G@5=U_zjdB2YKSG&}V2#OA&xiC@aV8&+FK_B{7m_4v z+Y`o!B*(~w_Mum(B#SUbUV(g)#sqJg8Nml4hy#xdnlgE7VB!h(CpS&ok<^r=LHo~Y zLkbNqv5~#=jokjgZKXx8hrh~A1yfK!d3? zdcI7iE+tx*#RGzKPT`SRWRtyzQjcl!bKbG~YKX#T*VTvcYa#PS)g&ZSA*~1iH-0#p zWQ?NAN8nEZj$D&lGjF;5Kp66gRA?au7SYP+&m2ymiaNJ1SLIa-Kh>TW$tBegk)hL@ zCVn`+P^ZT(@g8hfiLg zgGVcpS$Y?pMg_J06@41O{o~y@pyUQ1EIBBRjFpo%lD|X!L4soeHZlO=LGh8) zn2HiP+eEo_h(Om)PTd=Igc6Xc&%r6(AOY5(Ao6G%8vdzs?>MkSt4{xUD&P0l{ILZ7 zO(D=zM_OU>2&BrF9j+bI3_@@!qhyq*hU);`>5cCqSo`OT$feH#x$++IazYD2yAfvC!r5HguIl{YVW+G44J)YLeL^U=wOAx^v;1Iza zDN>(`^-wl)tTTo(#^&X?UGK7-lYEjvn5>DN$s1Dt@2-KojkdeHL&(jQgR8xRfT$$8 z9v_u#SS2Bf{7VBjrZMl=k#MPdiO!3Q*2AB4qA)k4%dJXw6NJ~=V8NZg37};UKJce$ z_}srmU(Pmq-w#vy*q_%prv`w;g13=_r-2sAc?(CKG+vX!-T|o5YG?bUl;AGNI|jja zEqS~Slz<#$%ovFbfX??NO4~9H&Z^0Wq_h>TyPrCTgr0C)Ol!}(OK-WS1Mcw$et?Sz z6lj>Z6@{JXwbdt71`S^b@{>Fc4KoW7N$*fntn1@z0rDMkd7GYw{37pooZk%Zk-zjI z=GJ$nw6VdG&A~!m9xsNDHeguhX3jnYrmg|SCQ<(y(Y!@=_J{L zO?Dw%MqygDHnPS#FF@14+8^7b@&Do+y&Kx->Hib$-T5_Y7m%C$P%#l}O%dij5WUJ@ z5Pg#X%*3TgbJoNli!_6vFC!=nWWAi07~K{@-ek*2TPVISpZne$5~C8F>rj-; zfD(%ZPmATo&m3S#d||2<{uTppFrfJYSitw9SBFt_wAU0y2rdS^ESYnU#?JHZJecz- z{{@mnMM|f;2~=o@N;|~!<4ZX>x^&6X=CS1_=q(UxB_E2_FqpUCjhu@28@0;uyJJ@wwk7M~Cs!isbc;5;BmDCgTY%kq>p1xn z|0{Z{t)B1F-E04nedp^`FYZz~+MvE}0#jdYoaZ>jd zP8rdv?l3)E>XxWAx&&Mvf0~`SZ=nZmcmD7)z4|}=G~N09zo6XVi%CeleE6w@hCX-s??vg&Wgzgqig#>pz48lm>(zfskAK5oruTo#`3L%* zwI}}fbZ7f7NhGomp!s?>jxxOD>#fN^tw760$hS^=0BqLU1xAOtJH0um2XW~=3i2)q6P!I58h;OpS z{nGCfJ;|%v54)SZc<3RB?K(t=+hj3vj`{W!vsuk%qHl-bO+^@*P`c${F1fvOIE{NW zcOdnOQP(Lkk!%E7(&69%)+WGQDT(v)pJA>&c<(cGzYW0t&Ak3m3M``7Od^shS|pwB+e8cs~+Vfq-t5ypl}7ZL_hq#+LcOm_0u7YK>){ z+6<>+lAr?0Y_xnwT6UEg^O&O+-sSN9c{e6U8n`AUr!u8`C96&W*ny+FppN(p)#wEr zzW*EPLE7*BqyL2VZoC*Z-#EOjp!mFqij9j){M+09*YvM{`7hH4{_M})_xGLpQ&;Gn zZq4uf1}%T>7pc9wBbM8^5CvA_5h#%C?Yb5|Y@?ier|pSiQoL^b-bVrGlIa&yId@Rk zMn=dBMe)>i#&M9*e#?fD`S^iFY98$_Id+0`4Mpxaq`-xI5u)%cf)?dK zqLoE?a)DX^% zV4IQxiEcH=f z2q6EIvX!BLg-vA=Uj42AyQnJf=4OsPM5A**#GLYkr*PtYW<6wwfVixG)%TlKAF7XD zoPiFU_oda@` zi5rTy_9B$w0KG%Gn;6anxhj8F-n358UMwr6YKg5#1Wd;kG^>I~f{$!uxh~^QPb7l~;VN9JJjRGmN>6 z(vs;!DD_ZGET5)7?ra$Gpr%`jUFK~#aU0dx?GJrU0A#>Xc*zIeHIcyoB1|4gsYTm9*Z&*4@PY{A;aCv;?fbIQ}r*Z`;55l3Hz< z?_6leKtSv3##CyxhbzEdu>lebj-^l(jx+517Ja2Odwi2d-|;=FqGYx@a6-8*-5xRs zik)V10Z=g(x?5?b(nC`bN?!NAMcA?;whxN+Uh8tth9buE77dQc7fNB&YD=kCg3cX|9Qhdj4tbJZ5r-1NqFW)4J8K6RO)S_T( zm*+apr{A$v87tD16>R3H21-&`571ILw>pvv?n0N9I+p@wbuxv%K+_@lcI_hfp3of+?o%c=3QM}CCVFlA^L#;yy{@H9qj?NJu$^hmV>I^fJl82jG=j^0G+urL^gJf$Gcp-u2D<*Vn(?t-f=c?)-PZ z5RJkr>2H-GGApk|27H&P-@r9ajN$-oPzNjwlU~9OB~XMx3t}{i>}_7 zx~o?*`3{yl817VqM_RY|JpPLB~(O`@y}~euG~9ng2|dPPtv1IG*3hWmemT%tH!+%AOrE zE7rsg?TI~W3*p)oUw;Jk2HK0yy{;CCN$78Pbu48lN`GUT%g|To`O_T4k=Yi)p&p)% zuRGyWw20@$3x&>o8TSYb_tP-k*Zdts@GX}vkHg`h#>LQ$pq6L|o9WO*=cF{Xh6!x}R1I*Xhv@exH7mWL(6D|5wPMg77N- z1^y`)9Z3?hZt3Co{WT8g9H)14Tkwtl`~SuNgJ!pHMMKfLkf=tYi_ZEfh9__AW(? z&RdWuta+Wn(5p%<9io%UNuYBNmoof^#*Cr0vWbXD#*>eA%trOeC;e08I-Mmycpcxe zwWTGE5}KqCrvD+nrk9V&8=a~3g5T?T)ClyP`*F|`wcOkDJ^59;v!z3B2}Zr+;AV{M zVZp*YXi4xCl#-OLY2%lZeLY(52*|V^{yCQ{WO!!)Z+u@|=2o61%TNC^dXVMFuUC_2>C|)o&jy3!W&BA5p@RDpQl)Ke&JEZ3pXg`Y-%6ZTyjc zM?l*&$oI0orVN9+b{OaOKx4+ebAs>$&W(!<~UF*@-_|HB6YHrns~+J74P`)ud)^sArv ziwy8<_k0h4{i}cH2WWcdHF0KVcV4Go{V#v`O#wdJ{sR50pZJf&V&i=Q+~N$A`WM;x z3*H7Ddbo6s)sc4{YMCs3_$3E%WV5alnG1Ry_bJatoO$I{wO_2t2Upe6W{uOde8JOzy9$b zp!wa`MS3JDa}0prp#R}#{yKf=2mZe_-aM3m5rMsAJ-aks(SeK!b*Bhwk5MN%JTjVS zVvkAQ|DZ0745lQ~7kw=_pHwbh7H?IG)pGA0h$(}7P?X|m&iaw;iaE@zcF5m;XrBSS zEZpgF*a;5cr)Ybes^lVJa1OpO&N;whOF=GFh}Bp znJj8I9#t(Zn19cFMxLunHz_INueljrI~7-25iAc@BfQ5{`w!F(fj@q4Icf|ZyDIr-D~vOU;lpz&;(qz z@DWd5U+la_zy67j(3CBC=RFMU-}wLk0Kfja>g=|ow=Z_SK)?Po|2|E(yXq={{h6Qo z4{3S#mfxSlsS;)7?<^J6Mu8mwZYkG`x|UlEPVTzNg|q5p_j*_tqQ~{?VnfkmgLi`~ zu(2C}s@9d8qnDSSo^@oAltD`NIA+7FV6g52&SI0QXPPv{lmt_VoY$GnTyOdt6E;SD zFdTUpB>dwi{ZwhgFIWkEVhS}B<*8TbYyx2(#xM^I>g_FkkxA=kL0B>Ys%6Q2 z2CvWCITCgFc}*uj^k?Xa@Ay9Ya<_l|OFu%_f9Ge36h0k?+1a=}edfE^g1?uRvt7FW zTR+b?=f1w~t+wa07*wp!TmRbWZ~C)r!5^iDgAT7>{_m*eWy${vKJ6txDm+8AMrOU0 zk!SpT;I}yxnC8pGOY2H`n1(MG*7>{GZ{qJM#ev3mW8H7l?I;E4{1V#?UO)cEpOFIS zR4kn=+a=q=dNCX}&MsvN3%4-MXk%2Z9)Rod!F)hWwJ2)Tx}pdvx-UIiI*o;@=`k!<7uh!5}{H?o%C05S>QT<>KP-gwfh< z8~<;*@w@*}tah|>CI`2P z0KWOV|40GsWky(D(bHQUE(BU)6x2o^uArMQ{1WQ)F)#~xUnN$$1PPJv#abmGSL-jY zfTZ}KlngneT%j_dv5q~7((WyHA6w7%vrXbG@^q3?z6f*1%#$A(bYin*KeO*kGn zw?4thkFh&e%pgKUjEOV(yA168C*0-DPto&NHY1}r&;RmaX2Do@B9#8vT{=c2Po31X z*VmtrxV~&wIgmo!pWB4*G!FAQc|avuLcgrspki9W(Ws?%NwRa&ykBrRs52lZRU~zB z>4e(OzDA>i0&J(0!~}pV)Oq`>|M+8c<6m8(FGqX*cYlsv{g?kgIUdl0O6Z6_bbU~k z{3!eb30q-XQOXkYD9L_>-!{x1ejC4L3t9U8@Tk(~TYN?--(M7^-29PyQ_&%Kv1|nC z;8Azjsh6hL#dNM6si8D4NdU*BoDy971#@jaE(eW!uCYnT$Px*Jtc>U+#0uaG8G(r4 z#Eifzo|Hsq5<0hu60;_F1;V5|#JGHJsL$(C2P{0Tqj65N)edQhIvPjD9xQfb+e{zx z!Y8B$jT4R~rkDcA%hEzI{%izm#~LKQm!goCa^M>cpm+x;@of_wBqJBkTP)50;D4X} z*&nCtzxt2qoouhOwf?}9V*a=rGhprJCE!=0%(6j z3>4U90Jm6h8;?VPEfH87(+GT2)+Pg^eB1O55C!Fg5~#!Lrg=do;o-|J*PX99{{XrE z5F4PU4W~srVw^xmrjo@8!3!J8J1O)o8G(6wQA6)KF@hsX2~);UXAEVRi0kKU<;wHr zxON(}B*YF_F}ZW+jwDa*k*1ilL+Q8+8fn&-Xx(rg_)(S2oz$_YYnkQi(?M1uT6MAl z$D|C@CZ6nMQT)=zixVtTq4^*lP$3uO5B~9gMSu89|24f6?bYA-aeDEW{;zU_l@V|r zfB+jn>jA6lvaBLtbIUv`!+HkhvUd}d>E>X|D4!)ajZHUJr9dy#sm=dIhdrEUXFEX7 z9sMrA4{x(};b(8>&`PzizHrKNK?4>V9F!7Qw+LuYOO^p)xwQxHa?_Bs08FMWdU{K3Dbum7IEPQ%Uj(A(XhUBCFx|0BA4 z{a*->aFmi#YbYjW`J^nHr~oA}nQ&v{H`{QN>+i*IALk>ZCU9>FpL?DSXU_BI(pzH( z+sw|Q)07{`$oGq{VdfMPLD&%5mJj> zTl&;Z7(e6dH;p*}cmRjg?y>S_-3~jXFq$VU%YY}@Xx@bWe^N%iKMfiBED4c-QhhEf zVJv1bO9$wry!sa@VC5et%UV?+V{9&KxYWSnq+i;xN8uPSO;7T86TrT>E&bY?I&}e>gpIzCr)`8@Z|1s zC*CBhBu}qD;jOktC(p&`Bps3g(aL^(wOmS({E~B_$Rnu9d*w^6561R12jp(q$~;mG z+q-pJ9Ea=+F@z5kqu|HvEX?z`Knv2W+)iSa2p`&7}Ud);H0~(rAu_<>OZ1pv7@7N3K=E{Yh7dmAPSS^iJJtLoMIW(^`j-n zZ)rU*_R0vXwg;U^5TV{+Yg8%m50UYlx87o-@!aS(Ql71#j=oJBdQJtc`ZX?39+MdW z3ypV&eFG=Qd|vZU4_Z_g!!(pgb9F2#VE0lEcg`XAp~D<0HBC9}zGeY%;IQzK?}Mp0 zlQ)>goPts!A$;UGZL>4^j1Rx7z8$P~AIoL_Bos9f5N$bMoCnyxc+*23q0dLxO{=5e zA7QS9^Mixg*`2d|Gi>*{9~!r1J8fG2Wbkd*&KYHVr!x95Iby}IXZ6`yA2Ax#ze)3f zrzSY5mF0b!QCy^utm7k=Iuy!y>O#_;B8u4x2&53O$m?m+BM;}?>v1U(2b?cv zbmKF>%#VN0H030nc;6qR&C;rD6(3op{G-~aE0h6rO& zP+Q~2V@kOQ9pO{j0B{>e`=lI?lwlaao3ajll9mbd#QGk~6D%XY-}i7q*?`8Z7P(cc zj2pi#I~KYdl?=V0iJ#-MA~Qondc#q2Fk=8Ge;pKLH2cjODhbMuvjW0~S^&Oi^rDom zoy`%uux>nIzCD|YL=69}0VUbMNUoc7YRnvan>FnX)GJxg<;yGszDQb1P0~cfTDe|) z5?GGm_pES;zYDOz1DrRW@fChf`jHTiBd?ZxR^V;cyC32&I)>B=jx$U~Wh<$3OCx%> zq@pvwS|HqtVwlZb^i9L293`6gck=IH$;g@K{Oq~pN7xGg_6tv*LJBHgSIgFFS>7VZ zf%*nxm2a062fGT$%MP$ZYPrtlC}#(^_u|e?y78L~^cVg)IqJ{))m;zOU#%?yBqFbl zR$F>38_P!oP>1lhAOGwvvNrm zAbv^u+*|GBfA90{*y9%FSJ~g%_0>4rwkn71vRQDfW=Vtb8atJ&Z?ld) z8x=I>j{IQZHR1{TaT{zHiS_Q=x0m#gWlAzezK53b+nl=RH(p~L>O7RsGB&r2H-NoS zI8o;|zG_LDJve0k!*X9aV?f+5qw*BO`VTAbIsKS~;ag~tLvZeiLoi2*gCi%mXjq(Q zZq*ho^h~HG3&}BY!nx5^aePN&UsN?8kC8gctcUA9g0s`ryOY)NuWR?KJkm$z3Ll9J zywhas;bBxgAg``;6@+}~LekBHDpQ*Dep%;#!maT@jaz=i?+uZ{&bCV57x-}5Sr&Ty zMf}|GUj1G1y}B)v`-;v#J!U;m`FRU~rZ$1sWY?f`-aFSPZHqL<&i|PNZVK)zhE5F{ zEX=4CN3yNk8JqGEFG+K_5hoG+Ol!f{L&wMMO-xM_+QUH({5IWiK?`6yN~r+Zl6n=V z0?v1qax*?)v>Zt<4e<=aZgM^(gXu+>JJV3bY&zJ2;X{;nF#)(Q zKP;@&XwIccx2)X0hBN?Vbar@Q?d0bimhdt8$wgrU+72xV)7)9L1z-oD#KN<+=Aa01 z!ntj9D20;f5&B*r@YPHX^aP7ybTIT#6#NjSCrJskpBMN?dQH1D?NTa}&Y2}5fP=5*sN`(Mv}DYd8{DyV`wLbU z>|M7}4_aDhTp;6ggkZ{^r@+W389e1unGw>G4i}8u(hKQ2S=-)n=SAnWeo3O{*`Ngq zbpx6Ah%!H!JBj5$s@Y#U(Ypt#ce5n8rlI&5cRllw|51x(#t-oBg-AmoTFFP%*mCg; zxfM>%j7<)eOMKHiE^0;Epfn`@m=uCibzW~-ihX|lF@=y57J$q zc7#WKFKCC#dpR8`U1o{#PZN|RNlCbIDSC8)Bqmue)#4@v#02F-GDP$@cF0Gt=0V3+ znY2gWBF)p$MIn#HwV4d-toD|cs80zyhR8qK@&3o_#S+%JbpW`?f1oHnk9)p9WdVzo zwBo=`MFM0>!g!G!%P{nmC1(2EQ*8|1gm#Id4Cvc=3ZYRGs^w?R=K7$YHiZ0iD3lTO zpeJJB!s(aI(^}FB(MqVpv3B582QL8NY`t;dBUV%(`QYKKPl0u!c{V~##Ar%*wt0=e z^@VQKE9Z5Io&=8QGP+{a0?9RP?s3u)-&%H|xM_0;s6R-uO3d(^3exR=p1F&s+ zT_{M@lGDu*mPN?CBM(}u)Wa%hO$4{k!~>Wq2Q#H4C=-`u0w)xZ&TBh_1i)1?&Ie?^8Z8tzX{0%@YGoTI%1-2{)62|sm9_aId zyf)NF$8ra-#}w1TgWP|c2Y9g5(JK3tQdnRUQbiT`l1}P8rxsB2O<;o57r1j!KJukY z0FC=+sj)`SpUIy4Sb{~t_?|-2cOJ9PQ29^xFBd--9Z481@voY8fufhFVZ)bO0ym6< zF)t55N%k=wVCvDhOoAXFTo zMjnZSN&*#aAh>|&?F;a*F>Kf_yH^l1Svun{#DU>Cr(_c zBv%D1ZM;PfTv~1dJ5a7Y(Cq`yuLGciv={$X8E;l9(gw?|QN%WTI1f}mx?TqeG&TZR zUTgARE8GxS&(?MU8a~s5IX4`+F(~5a<+Mbsc=T&*yb1CEkJ!g*`7y}=L@x|Sa-mjR zrN5Al0ZKArH*-8X-XaT-vD1pxMuUOeTe=%3w0y{hrdT7d>Cz`7&c)bnomUMo^A*Fo zg4{+5(rYFbjq7rHpJ#HJo>pqoPV@k{E5V3(I=JbO)rFyFd-K}K;4U~0`~#tRONnC! z`9e5%)2^98vt$7rDX=x4n4(&IhQIfPXd!ZI-G=TnT!d~n>teTSIv34QsT8HV6ie$j#!CjAx=#n;gajXpCAZlGVj1mbOTvSlS|~8cndm zYRT2g#~YzZTsm0wcs|rwjMh9nS05!f=Bq4uihA1Q?_`!-R2kyywYK-0e(E%a*8+hX z+lCSj$ladfy0g_rE(wesa*$*U04ND8HXbq^HlmVjEGJ5JUw@*fZwG*1P#Qv}AHWH% zGd*?}-TEhjn|TiPCKF|Vi&V4E;T(=q8ou)$nXl8ain|z$US2NP96Pr*W9vOwnAri} zwS%>G?q(cq9)c3N?)eKA7jaPIa}|xdd{f~800^Z`aqcqU#?g#memNPB$-+A zK}wwsO?pccv`yY#^Zupyu%UbMs;8e~+Um@=jf#Sh0%giSk^c%xGw|w!P!wiA)_gM; zwySFBzg6^jYw|PgZHY0-d5-f)MrS(j`n@dJ_bYNL;WA6^T+gz*qD$#?n`^r?B*=$u zmB9$|B6W=pmhEu=M=efTVMWY_FIBOoz3?N&nSk;MghB$VT@Ko@Onrf|wFeyd+u^e~ zpyS}$C0l4v+%OnefZdz%4dRAo0-7zOGpo8-(0z4%?tWHP4tMDS&inO~XSJ(%O7cvw zdVO?i8N*@B1&}EecQ*sGWth1?-)fdZO`A1MjG8M$D z8h$*YJlgO`mfN*Czg7;e7P({L+r-T&v(T;sXtnH-bB97gwlnTBK3B^eoXS8w^49|Q z4m8E@+y0^*FJ7Y%oI}PZt}6zHyO6_Ox#5_%$)JQOhEaM-f^hq6%^e5d4vnog0ylot z7X$ky2M$k5>POcA8;{wP4@I3ifgN!76R3!kn#BCr3o5}}jMOBkCZ6~s2Y|iYX3Rfm z>JJv_i`@0B@qJADjPM~prjUbbxswsGbZ|OKnRB|quxQWOSUDL^e}XO9zUxFGGk%y~ zK;?y%%+HUoKZI>WX`e`^z*%pPxV1F&ynHy$p z`Z1Xq7P_`{iLIoyF4(!kXcUgv`Rl#MG74XRB-P3E?d_nAjwGx$<3^`-@`0N$Fad+p zbE~bBs`?y$bJ$nxSDeZ>L?v8%$FMP`7mD@9U8MQlDniQL#@1V&Ai~6&_s;CLgUquJ zSrFEne;7Cyxc3}R2LI^665e$aL-N8I*pe5<-eK+gW4YGqokj(4lb>iCU(21y$VEHq zfsGc=WKNxRx%O2jy?ahWZ<$;7eCdkjW2_up_t!4OEd~wpn?)hP zAm30JRr9vdi+iihjU7ouw!;)OCu=s0lZU%pJB)IdrtE>SXnNjYwBnh1VyWM<0hTW0 zgW{{DexQ;S49>)tzRVm63FK_O!6s-s1FD~<99U9ie=HMylN6~sB<`_|iLPGV9}lBKpCtKGIX zyAkqpQbcDmj}xr4+}UeJa(VIyC%s_DyZ_V=`mP!%ULN2x?u|KU0|Un9OvV|ax902a z*tnq=cbWXh{1h{0HM9mN@?nXch)S|K6?Sk*R1(c@k_^=g-mjt#q}3s<){%^Bt1*IwVVk7JJRa-B`zlpkZevpeSi;nHr{fn|TPFf51| z+t`s^xAW!P*EDfnx{xJ@@G4%`nz7VQtFN)m@Td4BP8cOpvm`EUSgzP+{KThzyGyT| zHZ6^J8fAi13Co7pu-?RU){sx)f&&@Wtv`b%KzS$yeTT+zK*qGc~bFSyrE4t~(O=`~4^YF*85 zsjI@(3+{CXs7q3@6V+7pkPX$$GCe_-2`|^IX?E`}+Km$@nmf~5ym{Cn1CZ*ywgc`@ zf36jBu)W#Fz>No?^XE8~BMJOF$L%3-_gkbWxp%2)u(FQg^k;8cacBW>1a|g^hMw59 zw{B1DBNJ9kcBj5@&)Ql+(`^R$xLBK1mJZrtUd+p(DP_3KLJRj)uEbd{>SpQF+W4Mt z>a}x4V}FplL1S_-8xLkvv%$(*v{1p37_G*9G7vEq(ryzK8tGz+NHo`lvjo zeBD1Yo#~?~Dk)kut^;b5=cmai8?5+*Fh8QjlFO5pD9LnQb+KK!E_43!U{;^H1#0H9 z-q5W8v}?P{NpgCHj{K;d?EDjI8WseYW0<<3WwERVrdgmq5?_cx>1tXao2Y0<8@$dw z7dxA*smxniW4_IT12qSHbx$_5yKvXpkrdx;|2?fZlF+taMDF$(WeZo+$Q!SPsrfdC zM&N|jQA_d!DoQq`i}9`O-6&4~^V?mHgdssY54%T@{DP4TtY7Z1+_O8s>l3O_a&3Rv zPMLE%>AHO63Qh>0f@aCx+7k7)Bx(sQuxX0H^k-Ys{5Ph}5~Xqlphkh=G=VdWaA#m+EP+JFqazubbeZIb zA*|N9O%85vZTiE`$b}Dy@7m(`Aq*M{qg-c?7L{Nh{U)~5*P`{N+cQfOb{3eP?B3ok zHb$EUW!EOGaZf={WVm)|Wyz0WRq=9OEE`iUm7W+_a$7THsZKQ0(SOFW_fw?SIa%f= zS!kP{CoAr0iC9^y&uvaiTxOwzMRy&`?P-g**nR|#TIjgVn_+KLTspa#CHGHFX1)F2 zyeg`R={dG8*~H;9DKP* zNv`_LR6LMRqD*l*BR68_3GoMi_}#ntFKJ zEeAgh{vE*W!P(=}IR_8h$a8N2vgrbxOa|=UP%=kNq#4?*{ z1a40?()uA#EB`(`3Z}d424Iq-n1|4lh3@g~{PniivpI9aj`sf#u4HwDEjBE-V~)+& zrG~l%8E{ZwCNI;VHy$##o&v~w9IgcC2I$#pZxnp;A^&l}?P&Exf~q+vVJDm9_5E6LZuK{T(C7@n=h|_)6=o07t=0DR->SIhhLjWqO1W@<_Y6BBKjp2iTJOw)NATv` zf`b^WakT2mkxbxT1@Ja1&#M=T{cP|upWZkXULexCvR zqq%OKUyKeXZ#|a{@}Fx{@WMr&Y+}?e$!=NRhs(3{x>|G|WT8AL<5J|Y^O;STxA&z$ z%DDJZ?=fxu**5!(#QoD}+N7Ji?0c!CE?+O`u;Nlg+0T{Dj~dIsW(N{!5|Yl^mbGMd z0@%Z0gKSR$Hu8rM&maaiOTTMONA_^N;Ye-|TN%`Xpbg{V`tSK1k|%GR(xUR8auL{Q z=guVKi!4A*U^Q76*$?7$u$(_x<#qP&h^Ql)3nn?2-{x-;Ovt+Ztww4nD?PbU?AlWY zcg^jB*%r%!Cpb30JJ>7DvM``02TV^;_L$s|&t`4?;J?PQq*M-;ja`l~guPU{!t2W= zuNQ?|PQITn$VY-g60NT7N_|lcv6&*G+q^Z-q(3ow$$Ce5Fry$Qry>-#<-9skln#^2 z&$PT?D80pGZ&g(!yy=h??_29IFxP9*$r&`A?8&6A6f5Y-3eFwgW15ed$?o6bW2?dS zL>XaV6Y9?>#~y%+uwfdqLW2Aex0cb72GP5P@a<#FwQuLrADSp6H(T#SUM8)wutFip zPOtAWQ>S-?T2kguR-%7}1@{H&bqC0T&z^0Cq5)at@m^X`JfFoiwqO3Eo){dnU zM);DSOb-6G*;>#w`|#HOjz7{~Ti)V?w>vNGCFxj8B;I0GHoK$~TnWI1e_X znzl>&wk+`jHF3+IEEmqULNoIm+e2rTI>6TFA%QB6atWd0Y~)Ln1jF+-8~2!H?zyOQ z=lLUjXHsvBOcn77Qb-i5J+LK5yKc%s)xd#7dIa>>0Yf%$Y#PY8N$zEr9Ae*K^^0!; zDf6*tQP}d1I*|{34O?x@N%<-}kNNn>Fc={M`<&~ZEgdChlDFQENFH&9SGSI1Nx?7D ztAUTZpg|qw-j~^OOHiHzJCS>%4K_F&^RlJc(A+uJ7ANkUK+WSqO4Ty|K41&JHe1?h zG4M4jt>|!vlWSN6y zCmjGB`E=M{bZv^9J6ZJLK&tlbXF>{Rk&;KL3|uX@JPXcbbQ~$uxk&-s<=U>Z&2&JV z03WzFZV=m1MErKO&eRR+L+`Fgq+ZlB3o!%H~-ao6A01>wP#jmXd`^ z%C~hqjWVZ;|SdXIQ=2bpGJjM8Ezr2X^>10XSQ9(o%0xAENQGB;C*^xvOrGO<3yE&6yUl}3D_|$mU6J?mfF)2FAJvE z@&qce=C^YmM={BB@S-SaG5NE6(f%d{y?RBcJz8L!TkWKCM|qIkA$26@+)gbx zQ5?~c?i~uF^IW9X{uyPKI-Gpd3&V${iMif~t#>{$J@M^sINo$X8@YDW$#V;yxVAW; z>^u^JG|H!`PTX2}_L7p8jnMi6mYkIlaVD9Dj2PTgxhYV3t04~7Y_k)&8S+P19g#p^ zeWw+5L~}@J`>(RqzGUbOR1%7OI~diY{K2Cr37VyQ06L!b+#_|tw&)cL-A8D#1jJJ^ zu=C0NZ}xX0@&@1?kFJY)vOVDawr_}|A+uMpgXMuY^re5*}AOl|5K_KKg3+|Msk|E8Fw9JKogWqKKjLlY`!eitn<92482Tsh{{G8 zBa~^xOr~mN3P?(z%2kX~RgLUDwQ^vMl)9!DNo`Y}cT`C9H>K}QiDD_zs2X;rl&Ivl zPlJOWqV>DKkOR9^?Ya^`vmR}R;y?~7pV^5Bq*!Z=WXE#1^rLHVU8jE1rp=ne?1)5$ z894xKh}r?z(6j~7Y_-3aL4EODD^}b0V2K*{#~iG{>YIYQABOL=*yE~@j;K*C4Wglo zLDt~rcDk#O5cBlI?#9}2>7Har8vpQP9G(X+!z4d)VmLfMp7DugfU`={LNlGSyd;Ag zmcwQNiI79|?C0G~ma0Xqv(I}NpaAZsRGlZWF| z%Bkt+Rp+3}mvu-tE#nPjda_=89&@uTCAm+JPv4to`{hz&kSaqCcnZ7gx+}Z#V9>6! zn^%sR>}T!T!4I0@;zgO93C2P#_ENJn7ceYHPp+mduE%__Xb`BOVcm|6*RzQY6!dId zPukD{zhUYRT=(sl)9^8H?aK=6OBuel629WFrWM!>fX|oxwvuxn3c>f^oCu~a7~tnF zik=|bV7-w{wTV}+pnhO04(7I3Pj0Y!ati9naBA=DF5L-sIEbT{m?&PRY1kN$6w@?w zH(VH+4;D0U2Q(ZnX)%K;QaCfLOLi+8Ob1xF1sl4SsW|g=j-Z+G;s2znYF@A2}qM^#09 z={plCOK>zjpYA%E*`R^sKt`w2Qmhc0(UIstDsAD_e^^ZR{|=MjT>*8giBQb3tD>rr z>mzXn1-4u8`WU&((6g=dvFl_@z z%s9}1fetj;{m)I&{1{)o{Xk7Z@{tQU6P*Bva?vIaf)rU`CIneZpX}uFM5kZ{i%z0c z2)eiqRVcdFGfsb(Q==kUau)+eDTyjk7@HkqpdVS!knfXOYNa*%*0euikL~>D49p$w z24O9hrBD#2AD|)^ENRAayMFy*T%MIh69jQHDw3hmI_WwUD(1?OSUMGWYg3 zP#&5`3l8Q1KMGiI4)BaCv%9~r8^<59`?t33WXQ3wQOmCm?08<<`CwWQ%Y#1Q3WdBm zR9`2VuwtpBmhymll@ZWij2>&}Lv}RXHwH)2^up_%^-Ra6kp4=Uli715WnULgdA7{X zoH2%6--3s|qVpJ1V{^-_dpfm29mOPHnx54*z1;82iu*d>FSNt`AG5{cI?1f|-dV(e zgQ#P3{1G5Ww3v{a4ePz|z@EW@obhv}kTD^unYBCBnmYz%1kq@z_s8JoU=2oT`GMqF zI%~)sLCa=HFk4%lh=8WTA7&DILht2N-qUjDX|P#5B5K`+x{;z7O?uV?`x2BBXqW6X zT*Y?Wu{zz~HPnIIS$GT1CqhPKum#@$MPcFJ;lx4Fw(AWz__W<^hYO!=#xh+!zyzI3 zR2^iG6Fjl?Nj#;l*KN(qg1gxH=gnm2Z?LuhF}~n867MaeCG1!>mzHVFV>dkR@-TZ- zX4XGBncesFdxfr(>A89tKR{WV>tjpfh**6_H>k*R-_sGc z*s+-9vt4|Jx!W&nWtgL^Qfp9rGaRPEQAbOFp}nc)UX?%_IkR%f!0n-d4nGYulzgZ5QK@@Zo+q1$ZE*xzAw?+~!YPiLfGsIef1NIRpGU)05L!M|vy+e7l@mv#1Oxia419@Rk8S6Mz%) zP*@M2@wO3zdJZidfM<%bn7d*y!gIODEi-Neh1JCi~+^!2EBXAWj3 z|HN797O12bSR(y6jrL!lP`}UkzzoJZO4JeM7mV_2Dap{ZbJedgpkx&Cvc-99#d)0A z4A_wTmeckYD(Cr}UE^USZsVTYw&Fzs+G?_tz>>*Eg+pn+Tq*;b}z#85F` zngPyZu-IPmJDGqj4y4xCzC_ebjM`ERWxZODV+Y*P1Gf7MzxQ%xsh=z!EmTHdwpn=k5zJaE-n!3RpnT|o^R5FN%~-Br}n?f&D{LMxt)>z*gd
    0 z9WeV(GVyDi(vct+=J_RwdgwOGpdKiwWe8CrIUfLbU7FS{tyF}fg|F!c4~95=zF;7; z?P%tx@y9R^jw6yGq}B)ne9|hgp^Pkw_6`RZPHgaZj2YOChSo8M%}u_>k7mIBGYss% zzbn-d=+Y-!UpPLr^Pvuj3;84IymWzm)L4U~+5^#&d+rl^-=6i}iW<0YVdM@57NZ>U z@C*L6-@d`t`s#~KCvylMTCU+2xNtc*U&UHUij?>R*we_bZ}~v z6J~DK)R>H@v{`K!rXaA?SQkD$Z6!Yh`Sexc$Fvp$=Vr48j=kh$&qr?k7~d!;TG?a) znxJE2sMxm8^m~Pm=t)>@%%AkwRDgX6m;7WlvL?=HpD{wgSx)zYzk%JS6Nc=)rA|Yl*NQ19hMfy{v<~lKg>Vt zTjD78;7s~otXw^FL9%lmx965R(v+~8B*Nf0=2?P=B*88n+2=o>Z3m0LYs%$IwrY1| z-Wfz|8JFyLG%~Rk97Jf>05XbGvdic+>Nt>8R*p8JZVV!hqF?7U1odWiWHKg(k%AclSp=Y4?B<7)p_Lh(hW?A+8Zv0#=yS7k!(q}%Q!Zrn|vj|mS6uC zXvtdw_nUPO9e_u0Q{vz9L)n63a05I{Snm+zIRzEvCiCzy(qY+x`+*K-zGpVq_&xJ| zv)j001Jk!n*@|z}GT3;GazF)9%kspL++j zggp@J7{u+%>@k1ZmGjqS<^rSMt62PECyhKTJ=C2EZ0R z4gkZF4|ts|y-YpUc+M`fq9WhL*E%+hq~02t?a|Gv_w#3;atremf9RvU{XP2Yn713u z5IX57Cf+>X(B60-Am*1)Dw4O=Utn;3mTAW8Y-;!T=3=lq=N)5I2=;)k+odZD4a{Wj`EAlaB*U`;zvk_bR?Vgx<8Zj|uVSLPm| zebL~K2azi(KD6U~pPZhcWg&VbIZ73{n^%pVjO2LkF~Co$1;@-kn_4OYr3fEg_u+cf zN=7v+b};uaCUaOA=-`kG4KK$Wsi!#ry)bjO+CxZ(0`k@lnvnqoVM}HQY{3EWil2+) z8K?=Yc`M`BIJgAL(y+?NT;1yHXpPee+;I~4<|s-@qLR-jns|Pj8gOC~utp8Lxm`4iYT6Epio?%*C0P`cv`#5qQ2WH8!q>oqcjnrq59=dbjnF~ zqbUhjciA$o`#ycNmDJuV9Utt}JVBxecgGYh@bOy7kk!*0QZJVu4}p$=mCiPgykH z#+#_pqOuK^APkKWTA^0E#Efsum6v!6(~hyqd3av&`!FkoOn(@xG}bGQF4kH$81#cJ z^=uE*b<`~;T5?)S8rghni;b+o5Bh(_T47ASunQM5>J_P3`+`r0K5oHncAa-0}fO$b;R8<_dW*cQS)a$PLL> zXR-2(Dk&kGkkyn|PTer0}Ie8Uq=J*+vFv| zSrwo!(|PkC_WNKxyd+?aCz9z0p5W%N3qP%411Y+6m}f>bYRGp@>8G5w9JnfG4!P~9 ziw#L{PIL01b0{A^C&Z7IVE~uA;xM{-!`ymP1{X-env9%L{d#=N-TZ^=u2p`0`eB_} z3}qNX3uVtTxvvB2Ejr|bg%rO4;3E~c2MpM(YHyjAgzn=g*(P)|vhLl6)a8hNONpZ3 zBwX|qMTCAlB)R6Y@9q%gVuwYl62XCio{A7JTa!l~8nqbNa~l@~)`l(5UG8{ynt3Z- z?AT`+()dJ69F#yeEWrs;5Ej0hhQ^yymIWj;zRC_pvRp2PLktL9E~Heit1HPoT+~8c zunszbb&gN_^-{Jk`GFj1r;oBKmKY)zo-ZX6uM~Q*1Rdh<^7NyuE8dqk*BCHRwLTM4 zN(D=mC*H3a)B`>~R8w`5DOuISVYS3>!UNkz&9wIPqZIl9YrVg_Eg^K|hO8sk1cM9g zrj$5CM&Ioq^S!p;p4=R_r)GCs0rm}@%Hvs|+IJO;jo18j%A~$?0RXtBSu&l`M4bBp zb{}W-RxwI%L%U~yCl_`p+`MYtx3;XOCYcVtm8^JDQeO1WQSb-(z`@x>LuTP<*NR-o zO`@8ZmxmqBy9oS%ri@A>H40(HhcgZol_sYvGo>qdU?y)-Sah4v6}IS$C0q1?T6Au# z7n_ARjkVAcgQb|>0aa|W#ljQGtU74&9IIlHaWX2B`C|Be-XfzdsG5)31?hxGMd_W% z8skVShpjT7BW4F<%RJ=RAr(_MXXntdWk!P2jQ1Han5SCo-?6op%DNnkAyz@?1aH5q z4&y+bMw~YW^+T8glC3rOj4gZ|%n<#`wl8&t!6p)zfwjg6nzNKuhGIxxy^ySRxaMlE zQzBG~Vkhx|I?>55CTP=dZ<|_@w_@Z-LGe6vbIJCtdFk&?1Q*W$<4Gp-t2RyHpwHYuqSRe&g<~wIKW+|^oTQIT*3U&c%SPIw& zBy-6ucnjY|1P+a9H*j`9H^8A8;DK_WlmaHM%>hjc=mP+{^s_fhl^4upz`d7@-~+D~ z>M?QK2RHp#)_oo4xa+xfNLBSgnQw06jAEfG)M@3{0Ji{}d~x_KqG+sifNv+N9$4vp zR5g1$!2OnKN!|{5v;oBG{pJyk0Q3}h%bW+v5Idhf2i`V6EUIQo~F3^d;~B>$E*>??MHbXz_C`^@Z><)B;-fltm~EFQ=$?*D%CT z)DdB6rY=xh{HX955=Mm%V4$oFo+!yvhtaYDT@b~Bk3cG)>ccBDR4+uy2-_F(Sqrl- z`#aDKb_wM(nQDM;5N{jK%B4H-1>J|uupU;!8pjvPEKFNJH17bpAhwW_!FzBP_ieMQ zRi9#oRfNxPe!g}43~Zby$>!T@eJNqyTXV2$)bI-RBp4g#uDnhD;-7JSMU z9m_GHQ}7mj21hibFY=ugD=#pgu;^@6=b$*Su6Vt!{Ev~~k#9q#6}(2I%OR#Q3_C0_ zM|$OE`V>y#3|}DDy7AKH$9k_3Svhh*gVTs}iX3b>^q4LWEu^YS^;NwtTY8XEJ3Cy)tY^-3Ye+<;#e>Xm8MESb>UKrqKt~BE{Z1Kv#3%4#$Vd6%v)W*cYiQTD8C9ct#FlhwWLnW$95}Y5QnnY?ec>&sGb6U>gIbE$jQKenRDF;Xv>Ev! zb82}}+(w4c@#jcyf$u`kp-$ll#{!nl`yR+K&6<67jMtW{{5o9!yyyR7bnSlol5*~Ry~Dr5e#z~KuXnAt^6)K+qoe)Ep42XHZd+k1r`d`N zHDotls?6Rn*Y>~OJdW_@vrifNEL(F9hRc9tQpXc3S{PrBgPqS~SYbX6%O_D!e!9;Q z&W zH@p|`n~F2ox;4DWOXP*ge4cz%Dlr;m?SzT@yN z>WA#8#nvpoR|qNcQ};9`S;9b)Fl`5dGWoy)Qfn;~dN*UbmgSM?no45$G=UqcOQUZUpV8iVej z#!a9NX#m`&2M2;n+$ttsV!;&De- zC2Nm+tlN_vgC0u;5THr+o>qJcff%${Y9Xt%Djx(X7G~t42lg30-`|T$P{CPrw8|3u zOSn1#>Rx&_eF@r^6x?~cpRsX1FD&HGr0{*>aIQP)PY!Uj{wxon=~RM;lCh3?D~@O< z1}Iy$;*wemM+*U=$w|pT1juD~R$O+Ww2+kg6w5A(%S7zDSa#e5#QxwuM@J_d0o<>_ z|0gsFV9lEX7w_KJn$Ht(=F(en$;iWD^J^Pop)q+DAIFrfGwwc6tHDxoKhWg3k+rwC z^zTQ_5Gi5y8g)1|x0hh45&eDnQ{t%0@YWDzJXA(l4T{hYe{G_b&MsBn^SW5k;%JWj zr35z7I|y#He){5(cYeRS%6q)1ytwWlh|t1VP1H*Pz+sWL8Po{jBb^p`;~yNGYgdNm zaTH_}=aWQ6yg9pTq|hib@Mo2|J!k8O=aVXazRc}|*^vt*c^wnLV>>{(P!dNLPr*lY}75 zOHb>(GiagQ-HSclx-XooX>~F zu|h5l*n2Zz-;qB#AJ_F?w zWF{~~5)q+={K-<@b!6ZRYa`dtQRf=wbw`eJ6yFJ8%lFW`upK>wEoJd{y2DP*l%6F=Lt*@%f6+W2bn@-Z zWYN)>pT81HEe9zPfDat~>zTgX(D!O2lx90@*(-0^g|k;?v-dk7JDvcEKTw*32CEC2 z!`r2v9-fE8B2O?j`5$hkc6aF>dHk5W#or|(%SmiAodl1DrvDfw9eOP~hW_~cpn(`s z429iMbP~TmP>-`D!QZoaq4%uJfWqFb@b>*hKg1Jq%#qGVo7k0KLhM>&Z1KU*T_x@LFhNRKVRfr|xVznF$UppIKMH{0a$w2AKJ{ zx*R$OGn?stoe=!|t0Bi)(~WaW9c*)_YDZugsYaj6^Ml?&2k}AMyY3$BgMFohsBVm3 z&s3P0qZ4=w9i}X2)S6%PTO`HytiF6*ExPpI(b}1pkf`;vjGyp8592(uc5R;>RD1+e zna)(t*ftyM4WJFmMW8--6S)88O#@^6c(lf^=*~}){3ZVKr`P{&_Y&WDPlxDX z1T;~c4J@>?6vr^47fb1=dM>ue^_@hcK*k=c&i_5H%Y9tCcd~t1!F|+8IP%1WgoOz1 z_+L4BD(Iqb@=Ig7x#M}0aufdI%X8$hpzK6wAz4fGGVoSdLY+uJW z!S8!(4-4D75ujQ~Zn{|D$DK?mzR|rQe8Hkuec>XBPCZLkHG%021Nt%p`T3x7c#S{3 zUk2h{h>^q&Ron7o7Gn##bvR!p)G>4(^vbRKx^=%j$hCZ@+PebW_j;}4Worq5)J4*v zU*KJ=WGX^>& z(A^`q!>q{M>tBn$LHcsGcOB;r?S3r4y{tx(4_&9^M6~3=if2|#+J%gxZ{d$xKa_;i z(L!mAV8&%v9iT=`FY!alIEMg}HsSlZ1@6B$&VPPBW#Db)JB5)HF*< zO_q1RYM-N?zuERLSNn`td)BcGQVI>S7%A-uwP8 z*L@zg1u%B@r9RlBK-}4uz@2Wo_?oOI5T`FET6MD>KInWk|LoO3?fkBz&H;TD#P3); z%JLq0f#?A)OmsNi{p}alDS$Wux(~+O^6DE7z1I2sxbE)JL($t}Mepam_hUf5+P)0! zNGg(VyHEckROo&y-i=kes2DI(T=0u^VRk)X!p7>t1j@HamWsJ zSh4>-IDA;VxmC<9{(bzGdw%Z`$A8rO?)BcUwy(hUz|`hGEZtkNcK72a+{@2+v(NmW bJ81t$Fdb;hs8X2+00000NkvXXu0mjf^Qy+A literal 0 HcmV?d00001 diff --git a/src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx b/src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx index 03492423..a3564ebb 100644 --- a/src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx +++ b/src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx @@ -1,11 +1,6 @@ import { t } from 'i18next'; import React, { RefObject, useRef } from 'react'; -import { - Image, - ImageSourcePropType, - TouchableOpacity, - View, -} from 'react-native'; +import { Image, TouchableOpacity, View } from 'react-native'; import DocumentPicker from 'react-native-document-picker'; import { FileSystem } from 'react-native-file-access'; import { Modalize } from 'react-native-modalize'; @@ -15,18 +10,8 @@ import { useStateWithCallback } from '@/hooks/useStateWithCallback'; import CreateAccount from '../CreateEditAccount'; import ImportKey from '../ImportKey'; -import createAccountIcon from './assets/createIcon.png'; -import pemFileIcon from './assets/pemFileIcon.png'; -import privateKeyIcon from './assets/privateKeyIcon.png'; import styles from './styles'; - -interface Button { - id: string; - title: string; - onPress: () => void; - icon: ImageSourcePropType; - colors: string[]; -} +import { Button, getCreateImportButtons } from './utils'; interface Props { modalRef: RefObject; @@ -34,9 +19,9 @@ interface Props { } function CreateImportAccount({ accountsModal, modalRef }: Props) { + const [pemFile, setPemFile] = useStateWithCallback(''); const createAccountRef = useRef(null); const importKeyRef = useRef(null); - const [pemFile, setPemFile] = useStateWithCallback(''); const closeModal = () => { accountsModal?.current?.close(); @@ -46,9 +31,15 @@ function CreateImportAccount({ accountsModal, modalRef }: Props) { modalRef?.current?.close(); }; - const openCreateAccountModal = () => createAccountRef?.current?.open(); + const openCreateAccountModal = () => { + createAccountRef?.current?.open(); + }; + + const openImportKeyModal = () => { + importKeyRef?.current?.open(); + }; - const handleOpenFile = async () => { + const openFile = async () => { try { const res = await DocumentPicker.pickSingle({ type: ['application/x-pem-file', '.pem'], @@ -56,34 +47,11 @@ function CreateImportAccount({ accountsModal, modalRef }: Props) { const stringifyPEM = await FileSystem.readFile(res.uri); setPemFile(stringifyPEM, openCreateAccountModal); } catch (e) { + // TODO: Add toast to handle this error. console.log('Error opening .pem'); } }; - const BUTTONS = [ - { - id: 'create', - title: 'Create', - onPress: openCreateAccountModal, - icon: createAccountIcon, - colors: ['#00E8FF', '#44DC45'], - }, - { - id: 'import-key', - title: 'Private Key', - onPress: () => importKeyRef?.current?.open(), - icon: privateKeyIcon, - colors: ['#FB5DC3', '#FDB943'], - }, - { - id: 'import-pem', - title: 'PEM file', - onPress: handleOpenFile, - icon: pemFileIcon, - colors: ['#36C3E9', '#CF6ED3'], - }, - ]; - const renderButton = ({ id, title, onPress, icon, colors }: Button) => ( @@ -93,6 +61,12 @@ function CreateImportAccount({ accountsModal, modalRef }: Props) { ); + const buttons = getCreateImportButtons({ + openCreateAccountModal, + openFile, + openImportKeyModal, + }); + return (
    } - center={{'Create/Import Account'}} + center={ + {t('accounts.createImportAccount')} + } /> - {BUTTONS.map(renderButton)} + {buttons.map(renderButton)} void; + icon: ImageSourcePropType; + colors: string[]; +} + +export const getCreateImportButtons = ({ + openCreateAccountModal, + openFile, + openImportKeyModal, +}: { + openCreateAccountModal: () => void; + openFile: () => void; + openImportKeyModal: () => void; +}) => + [ + { + id: 'create', + title: t('createImportAccount.create'), + onPress: openCreateAccountModal, + icon: createAccountIcon, + colors: ['#00E8FF', '#44DC45'], + }, + { + id: 'importKey', + title: t('createImportAccount.importKey'), + onPress: openImportKeyModal, + icon: privateKeyIcon, + colors: ['#FB5DC3', '#FDB943'], + }, + { + id: 'importPem', + title: t('createImportAccount.importPem'), + onPress: openFile, + icon: pemFileIcon, + colors: ['#36C3E9', '#CF6ED3'], + }, + ] as Button[]; diff --git a/src/screens/tabs/Profile/screens/ImportKey/index.tsx b/src/screens/tabs/Profile/screens/ImportKey/index.tsx index 145eb362..e0719b0d 100644 --- a/src/screens/tabs/Profile/screens/ImportKey/index.tsx +++ b/src/screens/tabs/Profile/screens/ImportKey/index.tsx @@ -66,21 +66,23 @@ function ImportKey({ createImportRef, modalRef, accountsModalRef }: Props) { {t('common.back')} } - center={{'Import Wallet'}} + center={{t('common.importWallet')}} /> - {error && {'Invalid key. Please, try again.'}} + {error && ( + {t('createImportAccount.invalidKey')} + )} diff --git a/src/translations/en/index.js b/src/translations/en/index.js index 47ef37b8..637532f4 100644 --- a/src/translations/en/index.js +++ b/src/translations/en/index.js @@ -30,13 +30,13 @@ const translations = { questionMark: '?', the: 'The', enterPassword: 'Enter Password', + importWallet: 'Import Wallet', }, welcome: { title: 'Welcome to Plug', initTitle: 'Choose an option', create: 'Create Wallet', createNew: 'Create New Wallet', - import: 'Import Wallet', importNew: 'Import New Wallet', }, login: { @@ -46,7 +46,6 @@ const translations = { moreOptions: 'More options', }, importSeedPhrase: { - title: 'Import Wallet', enterPhrase: 'Please enter your 12 word Secret Recovery Phrase.', secretPhrase: 'Secret Recovery Phrase', notFound: 'Recovery phrase not found', @@ -167,7 +166,7 @@ const translations = { }, accounts: { title: 'Accounts', - createImportAccount: 'Create/Import account', + createImportAccount: 'Create/Import Account', moreOptions: { edit: 'Edit Account', addIcns: 'Add ICNS Domain', @@ -306,6 +305,12 @@ const translations = { 'You can always recover your accounts through your Secret recovery Phrase given that your accounts exists on the blockchain.', action: 'Delete Wallet', }, + createImportAccount: { + importKey: 'Private Key', + importPem: 'PEM File', + create: 'Create', + invalidKey: 'Invalid key. Please, try again.', + }, }; export default translations; From bed80cb6bacea7450b60445964d5cdb23e5bcd51 Mon Sep 17 00:00:00 2001 From: Matt Grote Date: Fri, 14 Oct 2022 13:02:11 -0300 Subject: [PATCH 09/13] Change types for iOS --- ios/Podfile.lock | 6 ++++++ .../screens/CreateImportAccount/index.tsx | 20 ++++++++++++++----- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index d83df11d..d9a80e15 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -312,6 +312,8 @@ PODS: - react-native-config/App (= 1.4.6) - react-native-config/App (1.4.6): - React-Core + - react-native-document-picker (8.1.1): + - React-Core - react-native-file-access (2.5.0): - React-Core - ZIPFoundation (= 0.9.11) @@ -526,6 +528,7 @@ DEPENDENCIES: - React-logger (from `../node_modules/react-native/ReactCommon/logger`) - "react-native-blur (from `../node_modules/@react-native-community/blur`)" - react-native-config (from `../node_modules/react-native-config`) + - react-native-document-picker (from `../node_modules/react-native-document-picker`) - react-native-file-access (from `../node_modules/react-native-file-access`) - react-native-minimizer (from `../node_modules/react-native-minimizer`) - react-native-pager-view (from `../node_modules/react-native-pager-view`) @@ -638,6 +641,8 @@ EXTERNAL SOURCES: :path: "../node_modules/@react-native-community/blur" react-native-config: :path: "../node_modules/react-native-config" + react-native-document-picker: + :path: "../node_modules/react-native-document-picker" react-native-file-access: :path: "../node_modules/react-native-file-access" react-native-minimizer: @@ -761,6 +766,7 @@ SPEC CHECKSUMS: React-logger: ebb4d31bbbe4f1a8a1a9b658d7429210b8f68160 react-native-blur: 3e9c8e8e9f7d17fa1b94e1a0ae9fd816675f5382 react-native-config: 7cd105e71d903104e8919261480858940a6b9c0e + react-native-document-picker: f68191637788994baed5f57d12994aa32cf8bf88 react-native-file-access: 204693d308701ba232dcf91facef05498fcde9a2 react-native-minimizer: b94809a769ac3825b46fd081d4f0ae2560791536 react-native-pager-view: 7f00d63688f7df9fad86dfb0154814419cc5eb8d diff --git a/src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx b/src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx index a3564ebb..f017a50a 100644 --- a/src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx +++ b/src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx @@ -6,6 +6,7 @@ import { FileSystem } from 'react-native-file-access'; import { Modalize } from 'react-native-modalize'; import { GradientText, Header, Modal, Text } from '@/components/common'; +import { isIos } from '@/constants/platform'; import { useStateWithCallback } from '@/hooks/useStateWithCallback'; import CreateAccount from '../CreateEditAccount'; @@ -41,11 +42,20 @@ function CreateImportAccount({ accountsModal, modalRef }: Props) { const openFile = async () => { try { - const res = await DocumentPicker.pickSingle({ - type: ['application/x-pem-file', '.pem'], - }); - const stringifyPEM = await FileSystem.readFile(res.uri); - setPemFile(stringifyPEM, openCreateAccountModal); + const type = isIos + ? DocumentPicker.types.allFiles + : ['.pem', 'application/x-pem-file']; + const res = await DocumentPicker.pickSingle({ type }); + if ( + !isIos || + res.type?.includes('application/x-x509-ca-cert') || + res.type?.includes('application/x-x509-user-cert') + ) { + const stringifyPEM = await FileSystem.readFile(res.uri); + setPemFile(stringifyPEM, openCreateAccountModal); + } else { + // TODO: Add toast to handle this error. Selected file is not compatible with .pem + } } catch (e) { // TODO: Add toast to handle this error. console.log('Error opening .pem'); From 6c59cff22e238ba378b3c1e206c696c569bf2867 Mon Sep 17 00:00:00 2001 From: Matt Grote Date: Fri, 14 Oct 2022 15:26:49 -0300 Subject: [PATCH 10/13] Improvements from PR, pass to TS --- src/components/common/Text/index.tsx | 3 +- src/constants/theme.js | 1 - src/redux/slices/keyring.ts | 2 +- .../tabs/Profile/screens/Accounts/index.js | 2 +- .../CreateEditAccount/{index.js => index.tsx} | 79 ++++++++----------- .../{styles.js => styles.ts} | 3 - .../screens/CreateImportAccount/index.tsx | 33 ++++---- .../screens/CreateImportAccount/styles.ts | 6 -- .../tabs/Profile/screens/ImportKey/index.tsx | 28 +++---- .../tabs/Profile/screens/ImportKey/styles.ts | 9 +-- src/translations/en/index.js | 1 - 11 files changed, 71 insertions(+), 96 deletions(-) rename src/screens/tabs/Profile/screens/CreateEditAccount/{index.js => index.tsx} (67%) rename src/screens/tabs/Profile/screens/CreateEditAccount/{styles.js => styles.ts} (92%) diff --git a/src/components/common/Text/index.tsx b/src/components/common/Text/index.tsx index 9b0b49ac..2e677f4d 100644 --- a/src/components/common/Text/index.tsx +++ b/src/components/common/Text/index.tsx @@ -12,8 +12,7 @@ export type TextTypes = | 'button' | 'caption' | 'overline' - | 'normal' - | 'error'; + | 'normal'; export interface TextProps extends RNTextProps { type?: TextTypes; diff --git a/src/constants/theme.js b/src/constants/theme.js index 493c3b3f..196341b9 100644 --- a/src/constants/theme.js +++ b/src/constants/theme.js @@ -108,7 +108,6 @@ export const Shadow = StyleSheet.create({ // TODO: Remove styles that doesnt match with the style guide in figma, and remove colors export const FontStyles = StyleSheet.create({ Base: fontMaker({ size: 14, weight: REGULAR }), - Error: fontMaker({ size: 14, weight: MEDIUM, color: Colors.Red }), Title: fontMaker({ size: 22, weight: SEMIBOLD, color: Colors.White.Primary }), Title2: fontMaker({ size: 24, diff --git a/src/redux/slices/keyring.ts b/src/redux/slices/keyring.ts index d0199746..2ab4bf71 100644 --- a/src/redux/slices/keyring.ts +++ b/src/redux/slices/keyring.ts @@ -216,7 +216,7 @@ export const importAccountFromPem = createAsyncThunk( return response; } catch (e: any) { // TODO: Add toast to handle error. - return rejectWithValue({ error: e.message }); + return rejectWithValue(e.message); } } ); diff --git a/src/screens/tabs/Profile/screens/Accounts/index.js b/src/screens/tabs/Profile/screens/Accounts/index.js index 91cbddb6..b5669906 100644 --- a/src/screens/tabs/Profile/screens/Accounts/index.js +++ b/src/screens/tabs/Profile/screens/Accounts/index.js @@ -172,7 +172,7 @@ const Accounts = ({ modalRef, onClose, ...props }) => { /> diff --git a/src/screens/tabs/Profile/screens/CreateEditAccount/index.js b/src/screens/tabs/Profile/screens/CreateEditAccount/index.tsx similarity index 67% rename from src/screens/tabs/Profile/screens/CreateEditAccount/index.js rename to src/screens/tabs/Profile/screens/CreateEditAccount/index.tsx index 486d431a..436ab870 100644 --- a/src/screens/tabs/Profile/screens/CreateEditAccount/index.js +++ b/src/screens/tabs/Profile/screens/CreateEditAccount/index.tsx @@ -1,15 +1,18 @@ -import React, { useCallback, useEffect, useRef, useState } from 'react'; +import React, { RefObject, useEffect, useRef, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { Keyboard, View } from 'react-native'; -import { useDispatch } from 'react-redux'; +import { Modalize } from 'react-native-modalize'; import Header from '@/commonComponents/Header'; import Modal from '@/commonComponents/Modal'; import TextInput from '@/commonComponents/TextInput'; import UserIcon from '@/commonComponents/UserIcon'; import RainbowButton from '@/components/buttons/RainbowButton'; +import { ActionButton } from '@/components/common'; import Text from '@/components/common/Text'; import { FontStyles } from '@/constants/theme'; +import { Wallet } from '@/interfaces/redux'; +import { useAppDispatch } from '@/redux/hooks'; import { createSubaccount, editSubaccount, @@ -19,42 +22,50 @@ import { import EditEmoji from '../EditEmoji'; import styles from './styles'; -/** - * @param {{ modalRef: any, accountsModalRef?: any, account?: any, pem?: string, createImportModalRef?: any } param - */ +interface Props { + modalRef: RefObject; + accountsModalRef?: RefObject; + account?: Wallet; + pem?: string; + createImportModalRef?: RefObject; +} + const CreateEditAccount = ({ modalRef, account, accountsModalRef, pem, createImportModalRef, -}) => { +}: Props) => { const { t } = useTranslation(); - const editEmojiRef = useRef(null); + const editEmojiRef = useRef(null); const [accountName, setAccountName] = useState(''); const [editTouched, setEditTouched] = useState(false); const [emoji, setEmoji] = useState(''); - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); + const title = account ? t('accounts.edit') : t('accounts.create'); const nameAndIcon = { name: accountName, icon: emoji, }; const onPress = () => { - dispatch( - account - ? editSubaccount({ + account + ? dispatch( + editSubaccount({ walletId: account.walletId, ...nameAndIcon, }) - : pem - ? importAccountFromPem({ + ) + : pem + ? dispatch( + importAccountFromPem({ ...nameAndIcon, pem, }) - : createSubaccount(nameAndIcon) - ); + ) + : dispatch(createSubaccount(nameAndIcon)); resetState(); if (createImportModalRef) { @@ -70,35 +81,25 @@ const CreateEditAccount = ({ const onEditEmoji = () => { Keyboard.dismiss(); - editEmojiRef?.current.open(); + editEmojiRef?.current?.open(); setEditTouched(true); }; - const getName = useCallback( - isSave => - isSave - ? t('accounts.save') - : account - ? t('accounts.edit') - : t('accounts.create'), - [account] - ); - useEffect(() => { if (account) { setAccountName(account.name); - setEmoji(account.icon); + setEmoji(account.icon!); } else { resetState(); } }, [account]); const closeModal = () => { - accountsModalRef?.current.close(); + accountsModalRef?.current?.close(); }; const handleBack = () => { - modalRef?.current.close(); + modalRef?.current?.close(); }; const handleClose = () => { @@ -110,17 +111,9 @@ const CreateEditAccount = ({ return (
    - {t('common.close')} - - } - left={ - - {t('common.back')} - - } - center={{getName()}} + right={} + left={} + center={{title}} /> @@ -146,11 +139,7 @@ const CreateEditAccount = ({ style={styles.input} onChangeText={setAccountName} /> - + diff --git a/src/screens/tabs/Profile/screens/CreateEditAccount/styles.js b/src/screens/tabs/Profile/screens/CreateEditAccount/styles.ts similarity index 92% rename from src/screens/tabs/Profile/screens/CreateEditAccount/styles.js rename to src/screens/tabs/Profile/screens/CreateEditAccount/styles.ts index de83dee6..9aebfbe7 100644 --- a/src/screens/tabs/Profile/screens/CreateEditAccount/styles.js +++ b/src/screens/tabs/Profile/screens/CreateEditAccount/styles.ts @@ -29,7 +29,4 @@ export default StyleSheet.create({ toolTipText: { color: Colors.Black.Pure, }, - valid: { - color: Colors.ActionBlue, - }, }); diff --git a/src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx b/src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx index f017a50a..d3875b7a 100644 --- a/src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx +++ b/src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx @@ -1,11 +1,17 @@ import { t } from 'i18next'; import React, { RefObject, useRef } from 'react'; -import { Image, TouchableOpacity, View } from 'react-native'; +import { Image, Platform, TouchableOpacity, View } from 'react-native'; import DocumentPicker from 'react-native-document-picker'; import { FileSystem } from 'react-native-file-access'; import { Modalize } from 'react-native-modalize'; -import { GradientText, Header, Modal, Text } from '@/components/common'; +import { + ActionButton, + GradientText, + Header, + Modal, + Text, +} from '@/components/common'; import { isIos } from '@/constants/platform'; import { useStateWithCallback } from '@/hooks/useStateWithCallback'; @@ -16,16 +22,16 @@ import { Button, getCreateImportButtons } from './utils'; interface Props { modalRef: RefObject; - accountsModal: RefObject; + accountsModalRef: RefObject; } -function CreateImportAccount({ accountsModal, modalRef }: Props) { +function CreateImportAccount({ accountsModalRef, modalRef }: Props) { const [pemFile, setPemFile] = useStateWithCallback(''); const createAccountRef = useRef(null); const importKeyRef = useRef(null); const closeModal = () => { - accountsModal?.current?.close(); + accountsModalRef?.current?.close(); }; const handleBack = () => { @@ -46,6 +52,7 @@ function CreateImportAccount({ accountsModal, modalRef }: Props) { ? DocumentPicker.types.allFiles : ['.pem', 'application/x-pem-file']; const res = await DocumentPicker.pickSingle({ type }); + if ( !isIos || res.type?.includes('application/x-x509-ca-cert') || @@ -80,16 +87,8 @@ function CreateImportAccount({ accountsModal, modalRef }: Props) { return (
    - {t('common.close')} - - } - left={ - - {t('common.back')} - - } + right={} + left={} center={ {t('accounts.createImportAccount')} } @@ -99,12 +98,12 @@ function CreateImportAccount({ accountsModal, modalRef }: Props) { pem={pemFile} modalRef={createAccountRef} createImportModalRef={modalRef} - accountsModalRef={accountsModal} + accountsModalRef={accountsModalRef} /> ); diff --git a/src/screens/tabs/Profile/screens/CreateImportAccount/styles.ts b/src/screens/tabs/Profile/screens/CreateImportAccount/styles.ts index dc5eb8ab..7eb307a9 100644 --- a/src/screens/tabs/Profile/screens/CreateImportAccount/styles.ts +++ b/src/screens/tabs/Profile/screens/CreateImportAccount/styles.ts @@ -1,7 +1,5 @@ import { StyleSheet } from 'react-native'; -import { Colors, FontStyles } from '@/constants/theme'; - export default StyleSheet.create({ container: { flex: 1, @@ -10,10 +8,6 @@ export default StyleSheet.create({ flexDirection: 'row', justifyContent: 'space-evenly', }, - headerAction: { - ...FontStyles.Normal, - color: Colors.ActionBlue, - }, button: { alignItems: 'center', }, diff --git a/src/screens/tabs/Profile/screens/ImportKey/index.tsx b/src/screens/tabs/Profile/screens/ImportKey/index.tsx index e0719b0d..ed3255e5 100644 --- a/src/screens/tabs/Profile/screens/ImportKey/index.tsx +++ b/src/screens/tabs/Profile/screens/ImportKey/index.tsx @@ -2,10 +2,16 @@ import { t } from 'i18next'; import React, { RefObject, useRef, useState } from 'react'; import { View } from 'react-native'; import { Modalize } from 'react-native-modalize'; -import { useDispatch } from 'react-redux'; import RainbowButton from '@/components/buttons/RainbowButton'; -import { Header, Modal, Text, TextInput } from '@/components/common'; +import { + ActionButton, + Header, + Modal, + Text, + TextInput, +} from '@/components/common'; +import { useAppDispatch } from '@/redux/hooks'; import { validatePem } from '@/redux/slices/keyring'; import CreateEditAccount from '../CreateEditAccount'; @@ -22,7 +28,7 @@ function ImportKey({ createImportRef, modalRef, accountsModalRef }: Props) { const [loading, setLoading] = useState(false); const [error, setError] = useState(false); const [key, setKey] = useState(''); - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const disabled = key === '' || loading || error; const handleOnChangeKey = (value: string) => { @@ -56,16 +62,8 @@ function ImportKey({ createImportRef, modalRef, accountsModalRef }: Props) { return (
    - {t('common.close')} - - } - left={ - - {t('common.back')} - - } + right={} + left={} center={{t('common.importWallet')}} /> @@ -78,7 +76,9 @@ function ImportKey({ createImportRef, modalRef, accountsModalRef }: Props) { onChangeText={handleOnChangeKey} /> {error && ( - {t('createImportAccount.invalidKey')} + + {t('createImportAccount.invalidKey')} + )} Date: Fri, 14 Oct 2022 16:06:11 -0300 Subject: [PATCH 11/13] Add type to make it work on ios --- .../Profile/screens/CreateImportAccount/index.tsx | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx b/src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx index d3875b7a..756aff64 100644 --- a/src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx +++ b/src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx @@ -49,20 +49,12 @@ function CreateImportAccount({ accountsModalRef, modalRef }: Props) { const openFile = async () => { try { const type = isIos - ? DocumentPicker.types.allFiles + ? ['public.x509-certificate'] : ['.pem', 'application/x-pem-file']; const res = await DocumentPicker.pickSingle({ type }); - if ( - !isIos || - res.type?.includes('application/x-x509-ca-cert') || - res.type?.includes('application/x-x509-user-cert') - ) { - const stringifyPEM = await FileSystem.readFile(res.uri); - setPemFile(stringifyPEM, openCreateAccountModal); - } else { - // TODO: Add toast to handle this error. Selected file is not compatible with .pem - } + const stringifyPEM = await FileSystem.readFile(res.uri); + setPemFile(stringifyPEM, openCreateAccountModal); } catch (e) { // TODO: Add toast to handle this error. console.log('Error opening .pem'); From 8c8775ff853a75dd2a6dd036d4a365fce10cd065 Mon Sep 17 00:00:00 2001 From: Matt Grote Date: Fri, 14 Oct 2022 16:10:35 -0300 Subject: [PATCH 12/13] remove useless array --- src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx b/src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx index 756aff64..82937668 100644 --- a/src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx +++ b/src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx @@ -49,7 +49,7 @@ function CreateImportAccount({ accountsModalRef, modalRef }: Props) { const openFile = async () => { try { const type = isIos - ? ['public.x509-certificate'] + ? 'public.x509-certificate' : ['.pem', 'application/x-pem-file']; const res = await DocumentPicker.pickSingle({ type }); From 43bb2fc4333ebbade322e10e1bb54937a5819d7a Mon Sep 17 00:00:00 2001 From: Matt Grote Date: Fri, 14 Oct 2022 16:14:51 -0300 Subject: [PATCH 13/13] Delete unused imports --- src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx b/src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx index 82937668..f7d64227 100644 --- a/src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx +++ b/src/screens/tabs/Profile/screens/CreateImportAccount/index.tsx @@ -1,6 +1,6 @@ import { t } from 'i18next'; import React, { RefObject, useRef } from 'react'; -import { Image, Platform, TouchableOpacity, View } from 'react-native'; +import { Image, TouchableOpacity, View } from 'react-native'; import DocumentPicker from 'react-native-document-picker'; import { FileSystem } from 'react-native-file-access'; import { Modalize } from 'react-native-modalize';