From 3c73781787f7aab6cdba0b738e4844a26aab5d8e Mon Sep 17 00:00:00 2001 From: Whymarrh Whitby Date: Thu, 14 Feb 2019 17:33:21 -0330 Subject: [PATCH] Delete old-ui folder --- old-ui/.gitignore | 66 - old-ui/app/account-detail.js | 297 - old-ui/app/account-qr.js | 86 - old-ui/app/accounts/import/index.js | 119 - old-ui/app/accounts/import/json.js | 124 - old-ui/app/accounts/import/private-key.js | 69 - old-ui/app/accounts/import/seed.js | 30 - old-ui/app/add-suggested-token.js | 202 - old-ui/app/add-token.js | 241 - old-ui/app/app.js | 315 - old-ui/app/components/account-dropdowns.js | 321 - old-ui/app/components/account-export.js | 132 - old-ui/app/components/account-panel.js | 86 - old-ui/app/components/app-bar.js | 436 -- old-ui/app/components/balance.js | 96 - old-ui/app/components/binary-renderer.js | 46 - old-ui/app/components/bn-as-decimal-input.js | 181 - old-ui/app/components/buy-button-subview.js | 261 - old-ui/app/components/coinbase-form.js | 63 - old-ui/app/components/copyButton.js | 59 - old-ui/app/components/copyable.js | 46 - old-ui/app/components/custom-radio-list.js | 60 - old-ui/app/components/dropdown.js | 98 - old-ui/app/components/editable-label.js | 57 - old-ui/app/components/ens-input.js | 176 - old-ui/app/components/eth-balance.js | 95 - old-ui/app/components/fiat-value.js | 64 - old-ui/app/components/hex-as-decimal-input.js | 154 - old-ui/app/components/identicon.js | 74 - old-ui/app/components/loading.js | 55 - old-ui/app/components/mascot.js | 59 - old-ui/app/components/menu-droppo.js | 132 - old-ui/app/components/mini-account-panel.js | 74 - old-ui/app/components/network.js | 131 - old-ui/app/components/notice.js | 145 - old-ui/app/components/pending-msg-details.js | 50 - old-ui/app/components/pending-msg.js | 70 - .../pending-personal-msg-details.js | 60 - old-ui/app/components/pending-personal-msg.js | 47 - old-ui/app/components/pending-tx.js | 519 -- .../components/pending-typed-msg-details.js | 60 - old-ui/app/components/pending-typed-msg.js | 46 - old-ui/app/components/range-slider.js | 58 - old-ui/app/components/shapeshift-form.js | 306 - old-ui/app/components/shift-list-item.js | 204 - old-ui/app/components/tab-bar.js | 37 - old-ui/app/components/template.js | 18 - old-ui/app/components/token-cell.js | 72 - old-ui/app/components/token-list.js | 205 - old-ui/app/components/tooltip.js | 22 - .../components/transaction-list-item-icon.js | 68 - .../app/components/transaction-list-item.js | 258 - old-ui/app/components/transaction-list.js | 87 - .../app/components/typed-message-renderer.js | 69 - old-ui/app/conf-tx.js | 247 - old-ui/app/config.js | 383 -- old-ui/app/css/debug.css | 21 - old-ui/app/css/fonts.css | 372 -- old-ui/app/css/index.css | 939 --- old-ui/app/css/lib.css | 306 - old-ui/app/css/output/index.css | 5722 ----------------- old-ui/app/css/reset.css | 48 - old-ui/app/css/transitions.css | 42 - old-ui/app/first-time/init-menu.js | 179 - old-ui/app/img/identicon-tardigrade.png | Bin 141119 -> 0 bytes old-ui/app/img/identicon-walrus.png | Bin 388973 -> 0 bytes old-ui/app/info.js | 154 - old-ui/app/infura-conversion.json | 653 -- .../app/keychains/hd/create-vault-complete.js | 91 - .../keychains/hd/recover-seed/confirmation.js | 121 - old-ui/app/keychains/hd/restore-vault.js | 162 - old-ui/app/new-keychain.js | 29 - old-ui/app/new-ui-annoucement.js | 85 - old-ui/app/provider-approval.js | 65 - old-ui/app/send.js | 309 - old-ui/app/settings.js | 59 - old-ui/app/template.js | 30 - old-ui/app/unlock.js | 122 - old-ui/app/util.js | 241 - old-ui/css.js | 29 - old-ui/design/00-metamask-SignIn.jpg | Bin 57848 -> 0 bytes old-ui/design/01-metamask-SelectAcc.jpg | Bin 76063 -> 0 bytes old-ui/design/02-metamask-AccDetails.jpg | Bin 75780 -> 0 bytes .../02a-metamask-AccDetails-OverToken.jpg | Bin 121847 -> 0 bytes ...2a-metamask-AccDetails-OverTransaction.jpg | Bin 122075 -> 0 bytes old-ui/design/02a-metamask-AccDetails.jpg | Bin 117570 -> 0 bytes .../design/02b-metamask-AccDetails-Send.jpg | Bin 110143 -> 0 bytes old-ui/design/03-metamask-Qr.jpg | Bin 66052 -> 0 bytes old-ui/design/05-metamask-Menu.jpg | Bin 130264 -> 0 bytes .../final_screen_dao_accounts.png | Bin 249708 -> 0 bytes .../final_screen_dao_locked.png | Bin 220295 -> 0 bytes .../final_screen_dao_notification.png | Bin 214405 -> 0 bytes .../final_screen_wei_account.png | Bin 253382 -> 0 bytes .../final_screen_wei_notification.png | Bin 193865 -> 0 bytes old-ui/design/chromeStorePics/icon-128.png | Bin 5770 -> 0 bytes old-ui/design/chromeStorePics/icon-64.png | Bin 3573 -> 0 bytes .../design/chromeStorePics/metamask_icon.ai | 2383 ------- .../design/chromeStorePics/promo1400560.png | Bin 261644 -> 0 bytes old-ui/design/chromeStorePics/promo440280.png | Bin 57471 -> 0 bytes old-ui/design/chromeStorePics/promo920680.png | Bin 206713 -> 0 bytes .../chromeStorePics/screen_dao_accounts.png | Bin 517598 -> 0 bytes .../chromeStorePics/screen_dao_locked.png | Bin 287108 -> 0 bytes .../screen_dao_notification.png | Bin 296498 -> 0 bytes .../chromeStorePics/screen_wei_account.png | Bin 653633 -> 0 bytes .../screen_wei_notification.png | Bin 402486 -> 0 bytes old-ui/design/metamask-logo-eyes.png | Bin 146076 -> 0 bytes old-ui/design/wireframes/1st_time_use.png | Bin 937556 -> 0 bytes .../design/wireframes/metamask_wfs_jan_13.pdf | Bin 452413 -> 0 bytes .../design/wireframes/metamask_wfs_jan_13.png | Bin 419066 -> 0 bytes .../design/wireframes/metamask_wfs_jan_18.pdf | Bin 612778 -> 0 bytes old-ui/example.js | 123 - old-ui/lib/contract-namer.js | 33 - old-ui/lib/etherscan-prefix-for-network.js | 21 - old-ui/lib/icon-factory.js | 65 - old-ui/lib/lost-accounts-notice.js | 23 - old-ui/lib/persistent-form.js | 61 - old-ui/lib/tx-helper.js | 28 - test/unit/components/binary-renderer-test.js | 23 - .../components/bn-as-decimal-input-test.js | 89 - test/unit/nameForAccount_test.js | 41 - test/unit/ui/add-token.spec.js | 43 - 121 files changed, 20248 deletions(-) delete mode 100644 old-ui/.gitignore delete mode 100644 old-ui/app/account-detail.js delete mode 100644 old-ui/app/account-qr.js delete mode 100644 old-ui/app/accounts/import/index.js delete mode 100644 old-ui/app/accounts/import/json.js delete mode 100644 old-ui/app/accounts/import/private-key.js delete mode 100644 old-ui/app/accounts/import/seed.js delete mode 100644 old-ui/app/add-suggested-token.js delete mode 100644 old-ui/app/add-token.js delete mode 100644 old-ui/app/app.js delete mode 100644 old-ui/app/components/account-dropdowns.js delete mode 100644 old-ui/app/components/account-export.js delete mode 100644 old-ui/app/components/account-panel.js delete mode 100644 old-ui/app/components/app-bar.js delete mode 100644 old-ui/app/components/balance.js delete mode 100644 old-ui/app/components/binary-renderer.js delete mode 100644 old-ui/app/components/bn-as-decimal-input.js delete mode 100644 old-ui/app/components/buy-button-subview.js delete mode 100644 old-ui/app/components/coinbase-form.js delete mode 100644 old-ui/app/components/copyButton.js delete mode 100644 old-ui/app/components/copyable.js delete mode 100644 old-ui/app/components/custom-radio-list.js delete mode 100644 old-ui/app/components/dropdown.js delete mode 100644 old-ui/app/components/editable-label.js delete mode 100644 old-ui/app/components/ens-input.js delete mode 100644 old-ui/app/components/eth-balance.js delete mode 100644 old-ui/app/components/fiat-value.js delete mode 100644 old-ui/app/components/hex-as-decimal-input.js delete mode 100644 old-ui/app/components/identicon.js delete mode 100644 old-ui/app/components/loading.js delete mode 100644 old-ui/app/components/mascot.js delete mode 100644 old-ui/app/components/menu-droppo.js delete mode 100644 old-ui/app/components/mini-account-panel.js delete mode 100644 old-ui/app/components/network.js delete mode 100644 old-ui/app/components/notice.js delete mode 100644 old-ui/app/components/pending-msg-details.js delete mode 100644 old-ui/app/components/pending-msg.js delete mode 100644 old-ui/app/components/pending-personal-msg-details.js delete mode 100644 old-ui/app/components/pending-personal-msg.js delete mode 100644 old-ui/app/components/pending-tx.js delete mode 100644 old-ui/app/components/pending-typed-msg-details.js delete mode 100644 old-ui/app/components/pending-typed-msg.js delete mode 100644 old-ui/app/components/range-slider.js delete mode 100644 old-ui/app/components/shapeshift-form.js delete mode 100644 old-ui/app/components/shift-list-item.js delete mode 100644 old-ui/app/components/tab-bar.js delete mode 100644 old-ui/app/components/template.js delete mode 100644 old-ui/app/components/token-cell.js delete mode 100644 old-ui/app/components/token-list.js delete mode 100644 old-ui/app/components/tooltip.js delete mode 100644 old-ui/app/components/transaction-list-item-icon.js delete mode 100644 old-ui/app/components/transaction-list-item.js delete mode 100644 old-ui/app/components/transaction-list.js delete mode 100644 old-ui/app/components/typed-message-renderer.js delete mode 100644 old-ui/app/conf-tx.js delete mode 100644 old-ui/app/config.js delete mode 100644 old-ui/app/css/debug.css delete mode 100644 old-ui/app/css/fonts.css delete mode 100644 old-ui/app/css/index.css delete mode 100644 old-ui/app/css/lib.css delete mode 100644 old-ui/app/css/output/index.css delete mode 100644 old-ui/app/css/reset.css delete mode 100644 old-ui/app/css/transitions.css delete mode 100644 old-ui/app/first-time/init-menu.js delete mode 100644 old-ui/app/img/identicon-tardigrade.png delete mode 100644 old-ui/app/img/identicon-walrus.png delete mode 100644 old-ui/app/info.js delete mode 100644 old-ui/app/infura-conversion.json delete mode 100644 old-ui/app/keychains/hd/create-vault-complete.js delete mode 100644 old-ui/app/keychains/hd/recover-seed/confirmation.js delete mode 100644 old-ui/app/keychains/hd/restore-vault.js delete mode 100644 old-ui/app/new-keychain.js delete mode 100644 old-ui/app/new-ui-annoucement.js delete mode 100644 old-ui/app/provider-approval.js delete mode 100644 old-ui/app/send.js delete mode 100644 old-ui/app/settings.js delete mode 100644 old-ui/app/template.js delete mode 100644 old-ui/app/unlock.js delete mode 100644 old-ui/app/util.js delete mode 100644 old-ui/css.js delete mode 100644 old-ui/design/00-metamask-SignIn.jpg delete mode 100644 old-ui/design/01-metamask-SelectAcc.jpg delete mode 100644 old-ui/design/02-metamask-AccDetails.jpg delete mode 100644 old-ui/design/02a-metamask-AccDetails-OverToken.jpg delete mode 100644 old-ui/design/02a-metamask-AccDetails-OverTransaction.jpg delete mode 100644 old-ui/design/02a-metamask-AccDetails.jpg delete mode 100644 old-ui/design/02b-metamask-AccDetails-Send.jpg delete mode 100644 old-ui/design/03-metamask-Qr.jpg delete mode 100644 old-ui/design/05-metamask-Menu.jpg delete mode 100644 old-ui/design/chromeStorePics/final_screen_dao_accounts.png delete mode 100644 old-ui/design/chromeStorePics/final_screen_dao_locked.png delete mode 100644 old-ui/design/chromeStorePics/final_screen_dao_notification.png delete mode 100644 old-ui/design/chromeStorePics/final_screen_wei_account.png delete mode 100644 old-ui/design/chromeStorePics/final_screen_wei_notification.png delete mode 100644 old-ui/design/chromeStorePics/icon-128.png delete mode 100644 old-ui/design/chromeStorePics/icon-64.png delete mode 100644 old-ui/design/chromeStorePics/metamask_icon.ai delete mode 100644 old-ui/design/chromeStorePics/promo1400560.png delete mode 100644 old-ui/design/chromeStorePics/promo440280.png delete mode 100644 old-ui/design/chromeStorePics/promo920680.png delete mode 100644 old-ui/design/chromeStorePics/screen_dao_accounts.png delete mode 100644 old-ui/design/chromeStorePics/screen_dao_locked.png delete mode 100644 old-ui/design/chromeStorePics/screen_dao_notification.png delete mode 100644 old-ui/design/chromeStorePics/screen_wei_account.png delete mode 100644 old-ui/design/chromeStorePics/screen_wei_notification.png delete mode 100644 old-ui/design/metamask-logo-eyes.png delete mode 100644 old-ui/design/wireframes/1st_time_use.png delete mode 100644 old-ui/design/wireframes/metamask_wfs_jan_13.pdf delete mode 100644 old-ui/design/wireframes/metamask_wfs_jan_13.png delete mode 100644 old-ui/design/wireframes/metamask_wfs_jan_18.pdf delete mode 100644 old-ui/example.js delete mode 100644 old-ui/lib/contract-namer.js delete mode 100644 old-ui/lib/etherscan-prefix-for-network.js delete mode 100644 old-ui/lib/icon-factory.js delete mode 100644 old-ui/lib/lost-accounts-notice.js delete mode 100644 old-ui/lib/persistent-form.js delete mode 100644 old-ui/lib/tx-helper.js delete mode 100644 test/unit/components/binary-renderer-test.js delete mode 100644 test/unit/components/bn-as-decimal-input-test.js delete mode 100644 test/unit/nameForAccount_test.js delete mode 100644 test/unit/ui/add-token.spec.js diff --git a/old-ui/.gitignore b/old-ui/.gitignore deleted file mode 100644 index c6b1254b5..000000000 --- a/old-ui/.gitignore +++ /dev/null @@ -1,66 +0,0 @@ - -# Created by https://www.gitignore.io/api/osx,node - -### OSX ### -.DS_Store -.AppleDouble -.LSOverride - -# Icon must end with two \r -Icon - -# Thumbnails -._* - -# Files that might appear in the root of a volume -.DocumentRevisions-V100 -.fseventsd -.Spotlight-V100 -.TemporaryItems -.Trashes -.VolumeIcon.icns - -# Directories potentially created on remote AFP share -.AppleDB -.AppleDesktop -Network Trash Folder -Temporary Items -.apdisk - - -### Node ### -# Logs -logs -*.log -npm-debug.log* - -# Runtime data -pids -*.pid -*.seed - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage - -# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (http://nodejs.org/api/addons.html) -build/Release - -# Dependency directory -# https://docs.npmjs.com/misc/faq#should-i-check-my-node-modules-folder-into-git -node_modules - -# Optional npm cache directory -.npm - -# Optional REPL history -.node_repl_history - diff --git a/old-ui/app/account-detail.js b/old-ui/app/account-detail.js deleted file mode 100644 index d240fc38e..000000000 --- a/old-ui/app/account-detail.js +++ /dev/null @@ -1,297 +0,0 @@ -const inherits = require('util').inherits -const extend = require('xtend') -const Component = require('react').Component -const h = require('react-hyperscript') -const connect = require('react-redux').connect -const actions = require('../../ui/app/actions') -const valuesFor = require('./util').valuesFor -const Identicon = require('./components/identicon') -const EthBalance = require('./components/eth-balance') -const TransactionList = require('./components/transaction-list') -const ExportAccountView = require('./components/account-export') -const ethUtil = require('ethereumjs-util') -const EditableLabel = require('./components/editable-label') -const TabBar = require('./components/tab-bar') -const TokenList = require('./components/token-list') -const AccountDropdowns = require('./components/account-dropdowns').AccountDropdowns - -module.exports = connect(mapStateToProps)(AccountDetailScreen) - -function mapStateToProps (state) { - return { - metamask: state.metamask, - identities: state.metamask.identities, - accounts: state.metamask.accounts, - address: state.metamask.selectedAddress, - accountDetail: state.appState.accountDetail, - network: state.metamask.network, - unapprovedMsgs: valuesFor(state.metamask.unapprovedMsgs), - shapeShiftTxList: state.metamask.shapeShiftTxList, - transactions: state.metamask.selectedAddressTxList || [], - conversionRate: state.metamask.conversionRate, - currentCurrency: state.metamask.currentCurrency, - currentAccountTab: state.metamask.currentAccountTab, - tokens: state.metamask.tokens, - suggestedTokens: state.metamask.suggestedTokens, - computedBalances: state.metamask.computedBalances, - } -} - -inherits(AccountDetailScreen, Component) -function AccountDetailScreen () { - Component.call(this) -} - -AccountDetailScreen.prototype.render = function () { - var props = this.props - var selected = props.address || Object.keys(props.accounts)[0] - var checksumAddress = selected && ethUtil.toChecksumAddress(selected) - var identity = props.identities[selected] - var account = props.accounts[selected] - const { network, conversionRate, currentCurrency } = props - - if (Object.keys(props.suggestedTokens).length > 0) { - this.props.dispatch(actions.showAddSuggestedTokenPage()) - } - - return ( - - h('.account-detail-section.full-flex-height', [ - - // identicon, label, balance, etc - h('.account-data-subsection', { - style: { - margin: '0 20px', - flex: '1 0 auto', - }, - }, [ - - // header - identicon + nav - h('div', { - style: { - paddingTop: '20px', - display: 'flex', - justifyContent: 'flex-start', - alignItems: 'flex-start', - }, - }, [ - - // large identicon and addresses - h('.identicon-wrapper.select-none', [ - h(Identicon, { - diameter: 62, - address: selected, - }), - ]), - h('flex-column', { - style: { - lineHeight: '10px', - marginLeft: '15px', - width: '100%', - }, - }, [ - h(EditableLabel, { - textValue: identity ? identity.name : '', - state: { - isEditingLabel: false, - }, - saveText: (text) => { - props.dispatch(actions.setAccountLabel(selected, text)) - }, - }, [ - - // What is shown when not editing + edit text: - h('label.editing-label', [h('.edit-text', 'edit')]), - h( - 'div', - { - style: { - display: 'flex', - justifyContent: 'flex-start', - alignItems: 'center', - }, - }, - [ - h( - 'div.font-medium.color-forest', - { - name: 'edit', - style: { - }, - }, - [ - h('h2', { - style: { - maxWidth: '180px', - overflow: 'hidden', - textOverflow: 'ellipsis', - padding: '5px 0px', - lineHeight: '25px', - }, - }, [ - identity && identity.name, - ]), - ] - ), - h( - AccountDropdowns, - { - style: { - marginRight: '8px', - marginLeft: 'auto', - cursor: 'pointer', - }, - selected, - network, - identities: props.identities, - enableAccountOptions: true, - }, - ), - ] - ), - ]), - h('.flex-row', { - style: { - width: '15em', - justifyContent: 'space-between', - alignItems: 'baseline', - }, - }, [ - - // address - - h('div', { - style: { - overflow: 'hidden', - textOverflow: 'ellipsis', - paddingTop: '3px', - width: '5em', - height: '15px', - fontSize: '13px', - fontFamily: 'Montserrat Light', - textRendering: 'geometricPrecision', - marginBottom: '15px', - color: '#AEAEAE', - }, - }, checksumAddress), - ]), - - // account ballence - - ]), - ]), - h('.flex-row', { - style: { - justifyContent: 'space-between', - alignItems: 'flex-start', - }, - }, [ - - h(EthBalance, { - value: account && account.balance, - conversionRate, - currentCurrency, - style: { - lineHeight: '7px', - marginTop: '10px', - }, - }), - - h('.flex-grow'), - - h('button', { - onClick: () => props.dispatch(actions.buyEthView(selected)), - style: { marginRight: '10px' }, - }, 'BUY'), - - h('button', { - onClick: () => props.dispatch(actions.showSendPage()), - style: { - marginBottom: '20px', - marginRight: '8px', - }, - }, 'SEND'), - - ]), - ]), - - // subview (tx history, pk export confirm, buy eth warning) - this.subview(), - - ]) - ) -} - -AccountDetailScreen.prototype.subview = function () { - var subview - try { - subview = this.props.accountDetail.subview - } catch (e) { - subview = null - } - - switch (subview) { - case 'transactions': - return this.tabSections() - case 'export': - var state = extend({key: 'export'}, this.props) - return h(ExportAccountView, state) - default: - return this.tabSections() - } -} - -AccountDetailScreen.prototype.tabSections = function () { - const { currentAccountTab } = this.props - - return h('section.tabSection.full-flex-height.grow-tenx', [ - - h(TabBar, { - tabs: [ - { content: 'Sent', key: 'history' }, - { content: 'Tokens', key: 'tokens' }, - ], - defaultTab: currentAccountTab || 'history', - tabSelected: (key) => { - this.props.dispatch(actions.setCurrentAccountTab(key)) - }, - }), - - this.tabSwitchView(), - ]) -} - -AccountDetailScreen.prototype.tabSwitchView = function () { - const props = this.props - const { address, network } = props - const { currentAccountTab, tokens } = this.props - - switch (currentAccountTab) { - case 'tokens': - return h(TokenList, { - userAddress: address, - network, - tokens, - addToken: () => this.props.dispatch(actions.showAddTokenPage()), - }) - default: - return this.transactionList() - } -} - -AccountDetailScreen.prototype.transactionList = function () { - const {transactions, unapprovedMsgs, address, - network, shapeShiftTxList, conversionRate } = this.props - - return h(TransactionList, { - transactions: transactions.sort((a, b) => b.time - a.time), - network, - unapprovedMsgs, - conversionRate, - address, - shapeShiftTxList, - viewPendingTx: (txId) => { - this.props.dispatch(actions.viewPendingTx(txId)) - }, - }) -} diff --git a/old-ui/app/account-qr.js b/old-ui/app/account-qr.js deleted file mode 100644 index b41cc5112..000000000 --- a/old-ui/app/account-qr.js +++ /dev/null @@ -1,86 +0,0 @@ -const PropTypes = require('prop-types') -const {PureComponent} = require('react') -const h = require('react-hyperscript') -const {qrcode: qrCode} = require('qrcode-npm') -const {connect} = require('react-redux') -const {isHexPrefixed} = require('ethereumjs-util') -const actions = require('../../ui/app/actions') -const CopyButton = require('./components/copyButton') - -class AccountQrScreen extends PureComponent { - static defaultProps = { - warning: null, - } - - static propTypes = { - dispatch: PropTypes.func.isRequired, - buyView: PropTypes.any.isRequired, - Qr: PropTypes.object.isRequired, - selectedAddress: PropTypes.string.isRequired, - warning: PropTypes.node, - } - - render () { - const {dispatch, Qr, selectedAddress, warning} = this.props - const address = `${isHexPrefixed(Qr.data) ? 'ethereum:' : ''}${Qr.data}` - const qrImage = qrCode(4, 'M') - - qrImage.addData(address) - qrImage.make() - - return h('div.flex-column.full-width', { - style: { - alignItems: 'center', - boxSizing: 'border-box', - padding: '50px', - }, - }, [ - h('div.flex-row.full-width', { - style: { - alignItems: 'flex-start', - }, - }, [ - h('i.fa.fa-arrow-left.fa-lg.cursor-pointer.color-orange', { - onClick () { - dispatch(actions.backToAccountDetail(selectedAddress)) - }, - }), - ]), - h('div.qr-header', Qr.message), - warning && h('span.error.flex-center', { - style: { - textAlign: 'center', - width: '229px', - height: '82px', - }, - }, [ - this.props.warning, - ]), - h('div#qr-container.flex-column', { - style: { - marginTop: '25px', - marginBottom: '15px', - }, - dangerouslySetInnerHTML: { - __html: qrImage.createTableTag(4), - }, - }), - h('div.flex-row.full-width', [ - h('h3.ellip-address.grow-tenx', Qr.data), - h(CopyButton, { - value: Qr.data, - }), - ]), - ]) - } -} - -function mapStateToProps (state) { - return { - Qr: state.appState.Qr, - buyView: state.appState.buyView, - warning: state.appState.warning, - } -} - -module.exports = connect(mapStateToProps)(AccountQrScreen) diff --git a/old-ui/app/accounts/import/index.js b/old-ui/app/accounts/import/index.js deleted file mode 100644 index b2c3a4a18..000000000 --- a/old-ui/app/accounts/import/index.js +++ /dev/null @@ -1,119 +0,0 @@ -const inherits = require('util').inherits -const Component = require('react').Component -const h = require('react-hyperscript') -const connect = require('react-redux').connect -const actions = require('../../../../ui/app/actions') -import Select from 'react-select' - -// Subviews -const JsonImportView = require('./json.js') -const PrivateKeyImportView = require('./private-key.js') - -const menuItems = [ - 'Private Key', - 'JSON File', -] - -module.exports = connect(mapStateToProps)(AccountImportSubview) - -function mapStateToProps (state) { - return { - menuItems, - } -} - -inherits(AccountImportSubview, Component) -function AccountImportSubview () { - Component.call(this) -} - -AccountImportSubview.prototype.render = function () { - const props = this.props - const state = this.state || {} - const { menuItems } = props - const { type } = state - - return ( - h('div', [ - h('.section-title.flex-row.flex-center', [ - h('i.fa.fa-arrow-left.fa-lg.cursor-pointer', { - onClick: (event) => { - props.dispatch(actions.goHome()) - }, - }), - h('h2.page-subtitle', 'Import Accounts'), - ]), - h('.error', { - style: { - display: 'inline-block', - alignItems: 'center', - padding: '5px 15px 0px 15px', - }, - }, [ - h('span', 'Imported accounts will not be associated with your originally created MetaMask account seedphrase. Learn more about imported accounts '), - h('span', { - style: { - color: 'rgba(247, 134, 28, 1)', - cursor: 'pointer', - textDecoration: 'underline', - }, - onClick: () => { - global.platform.openWindow({ - url: 'https://metamask.zendesk.com/hc/en-us/articles/360015289592-What-Are-Loose-Accounts-', - }) - }, - }, 'here.'), - ]), - h('div', { - style: { - padding: '10px', - color: 'rgb(174, 174, 174)', - }, - }, [ - - h('h3', { style: { padding: '3px' } }, 'SELECT TYPE'), - - h('style', ` - .has-value.Select--single > .Select-control .Select-value .Select-value-label, .Select-value-label { - color: rgb(174,174,174); - } - `), - - h(Select, { - name: 'import-type-select', - clearable: false, - value: type || menuItems[0], - options: menuItems.map((type) => { - return { - value: type, - label: type, - } - }), - onChange: (opt) => { - props.dispatch(actions.showImportPage()) - this.setState({ type: opt.value }) - }, - }), - ]), - - this.renderImportView(), - ]) - ) -} - -AccountImportSubview.prototype.renderImportView = function () { - const props = this.props - const state = this.state || {} - const { type } = state - const { menuItems } = props - const current = type || menuItems[0] - - switch (current) { - case 'Private Key': - return h(PrivateKeyImportView) - case 'JSON File': - return h(JsonImportView) - default: - return h(JsonImportView) - } -} diff --git a/old-ui/app/accounts/import/json.js b/old-ui/app/accounts/import/json.js deleted file mode 100644 index 8388f17a7..000000000 --- a/old-ui/app/accounts/import/json.js +++ /dev/null @@ -1,124 +0,0 @@ -const Component = require('react').Component -const h = require('react-hyperscript') -const connect = require('react-redux').connect -const actions = require('../../../../ui/app/actions') -const FileInput = require('react-simple-file-input').default -const PropTypes = require('prop-types') - -const HELP_LINK = 'https://github.com/MetaMask/faq/blob/master/README.md#q-i-cant-use-the-import-feature-for-uploading-a-json-file-the-window-keeps-closing-when-i-try-to-select-a-file' - -class JsonImportSubview extends Component { - constructor (props) { - super(props) - - this.state = { - file: null, - fileContents: '', - } - } - - render () { - const { error } = this.props - - return ( - h('div', { - style: { - display: 'flex', - flexDirection: 'column', - alignItems: 'center', - padding: '5px 15px 0px 15px', - }, - }, [ - - h('p', 'Used by a variety of different clients'), - h('a.warning', { - href: HELP_LINK, - target: '_blank', - }, 'File import not working? Click here!'), - - h(FileInput, { - readAs: 'text', - onLoad: this.onLoad.bind(this), - style: { - margin: '20px 0px 12px 20px', - fontSize: '15px', - }, - }), - - h('input.large-input.letter-spacey', { - type: 'password', - placeholder: 'Enter password', - id: 'json-password-box', - onKeyPress: this.createKeyringOnEnter.bind(this), - style: { - width: 260, - marginTop: 12, - }, - }), - - h('button.primary', { - onClick: this.createNewKeychain.bind(this), - style: { - margin: 12, - }, - }, 'Import'), - - error ? h('span.error', error) : null, - ]) - ) - } - - onLoad (event, file) { - this.setState({file: file, fileContents: event.target.result}) - } - - createKeyringOnEnter (event) { - if (event.key === 'Enter') { - event.preventDefault() - this.createNewKeychain() - } - } - - createNewKeychain () { - const { fileContents } = this.state - - if (!fileContents) { - const message = 'You must select a file to import.' - return this.props.displayWarning(message) - } - - const passwordInput = document.getElementById('json-password-box') - const password = passwordInput.value - - if (!password) { - const message = 'You must enter a password for the selected file.' - return this.props.displayWarning(message) - } - - this.props.importNewAccount([ fileContents, password ]) - // JS runtime requires caught rejections but failures are handled by Redux - .catch() - } -} - -JsonImportSubview.propTypes = { - error: PropTypes.string, - displayWarning: PropTypes.func, - importNewAccount: PropTypes.func, -} - -const mapStateToProps = state => { - return { - error: state.appState.warning, - } -} - -const mapDispatchToProps = dispatch => { - return { - goHome: () => dispatch(actions.goHome()), - displayWarning: warning => dispatch(actions.displayWarning(warning)), - importNewAccount: options => dispatch(actions.importNewAccount('JSON File', options)), - } -} - -module.exports = connect(mapStateToProps, mapDispatchToProps)(JsonImportSubview) diff --git a/old-ui/app/accounts/import/private-key.js b/old-ui/app/accounts/import/private-key.js deleted file mode 100644 index 92e42549d..000000000 --- a/old-ui/app/accounts/import/private-key.js +++ /dev/null @@ -1,69 +0,0 @@ -const inherits = require('util').inherits -const Component = require('react').Component -const h = require('react-hyperscript') -const connect = require('react-redux').connect -const actions = require('../../../../ui/app/actions') - -module.exports = connect(mapStateToProps)(PrivateKeyImportView) - -function mapStateToProps (state) { - return { - error: state.appState.warning, - } -} - -inherits(PrivateKeyImportView, Component) -function PrivateKeyImportView () { - Component.call(this) -} - -PrivateKeyImportView.prototype.render = function () { - const { error } = this.props - - return ( - h('div', { - style: { - display: 'flex', - flexDirection: 'column', - alignItems: 'center', - padding: '5px 15px 0px 15px', - }, - }, [ - h('span', 'Paste your private key string here'), - - h('input.large-input.letter-spacey', { - type: 'password', - id: 'private-key-box', - onKeyPress: this.createKeyringOnEnter.bind(this), - style: { - width: 260, - marginTop: 12, - }, - }), - - h('button.primary', { - onClick: this.createNewKeychain.bind(this), - style: { - margin: 12, - }, - }, 'Import'), - - error ? h('span.error', error) : null, - ]) - ) -} - -PrivateKeyImportView.prototype.createKeyringOnEnter = function (event) { - if (event.key === 'Enter') { - event.preventDefault() - this.createNewKeychain() - } -} - -PrivateKeyImportView.prototype.createNewKeychain = function () { - const input = document.getElementById('private-key-box') - const privateKey = input.value - this.props.dispatch(actions.importNewAccount('Private Key', [ privateKey ])) - // JS runtime requires caught rejections but failures are handled by Redux - .catch() -} diff --git a/old-ui/app/accounts/import/seed.js b/old-ui/app/accounts/import/seed.js deleted file mode 100644 index b4a7c0afa..000000000 --- a/old-ui/app/accounts/import/seed.js +++ /dev/null @@ -1,30 +0,0 @@ -const inherits = require('util').inherits -const Component = require('react').Component -const h = require('react-hyperscript') -const connect = require('react-redux').connect - -module.exports = connect(mapStateToProps)(SeedImportSubview) - -function mapStateToProps (state) { - return {} -} - -inherits(SeedImportSubview, Component) -function SeedImportSubview () { - Component.call(this) -} - -SeedImportSubview.prototype.render = function () { - return ( - h('div', { - style: { - }, - }, [ - `Paste your seed phrase here!`, - h('textarea'), - h('br'), - h('button', 'Submit'), - ]) - ) -} - diff --git a/old-ui/app/add-suggested-token.js b/old-ui/app/add-suggested-token.js deleted file mode 100644 index ea534b7da..000000000 --- a/old-ui/app/add-suggested-token.js +++ /dev/null @@ -1,202 +0,0 @@ -const inherits = require('util').inherits -const Component = require('react').Component -const h = require('react-hyperscript') -const connect = require('react-redux').connect -const actions = require('../../ui/app/actions') -const Tooltip = require('./components/tooltip.js') -const ethUtil = require('ethereumjs-util') -const Copyable = require('./components/copyable') -const addressSummary = require('./util').addressSummary - - -module.exports = connect(mapStateToProps)(AddSuggestedTokenScreen) - -function mapStateToProps (state) { - return { - identities: state.metamask.identities, - suggestedTokens: state.metamask.suggestedTokens, - } -} - -inherits(AddSuggestedTokenScreen, Component) -function AddSuggestedTokenScreen () { - this.state = { - warning: null, - } - Component.call(this) -} - -AddSuggestedTokenScreen.prototype.render = function () { - const state = this.state - const props = this.props - const { warning } = state - const key = Object.keys(props.suggestedTokens)[0] - const { address, symbol, decimals } = props.suggestedTokens[key] - - return ( - h('.flex-column.flex-grow', [ - - // subtitle and nav - h('.section-title.flex-row.flex-center', [ - h('h2.page-subtitle', 'Add Suggested Token'), - ]), - - h('.error', { - style: { - display: warning ? 'block' : 'none', - padding: '0 20px', - textAlign: 'center', - }, - }, warning), - - // conf view - h('.flex-column.flex-justify-center.flex-grow.select-none', [ - h('.flex-space-around', { - style: { - padding: '20px', - }, - }, [ - - h('div', [ - h(Tooltip, { - position: 'top', - title: 'The contract of the actual token contract. Click for more info.', - }, [ - h('a', { - style: { fontWeight: 'bold', paddingRight: '10px'}, - href: 'https://support.metamask.io/kb/article/24-what-is-a-token-contract-address', - target: '_blank', - }, [ - h('span', 'Token Contract Address '), - h('i.fa.fa-question-circle'), - ]), - ]), - ]), - - h('div', { - style: { display: 'flex' }, - }, [ - h(Copyable, { - value: ethUtil.toChecksumAddress(address), - }, [ - h('span#token-address', { - style: { - width: 'inherit', - flex: '1 0 auto', - height: '30px', - margin: '8px', - display: 'flex', - }, - }, addressSummary(address, 24, 4, false)), - ]), - ]), - - h('div', [ - h('span', { - style: { fontWeight: 'bold', paddingRight: '10px'}, - }, 'Token Symbol'), - ]), - - h('div', { style: {display: 'flex'} }, [ - h('p#token_symbol', { - style: { - width: 'inherit', - flex: '1 0 auto', - height: '30px', - margin: '8px', - }, - }, symbol), - ]), - - h('div', [ - h('span', { - style: { fontWeight: 'bold', paddingRight: '10px'}, - }, 'Decimals of Precision'), - ]), - - h('div', { style: {display: 'flex'} }, [ - h('p#token_decimals', { - type: 'number', - style: { - width: 'inherit', - flex: '1 0 auto', - height: '30px', - margin: '8px', - }, - }, decimals), - ]), - - h('button', { - style: { - alignSelf: 'center', - margin: '8px', - }, - onClick: (event) => { - this.props.dispatch(actions.removeSuggestedTokens()) - }, - }, 'Cancel'), - - h('button', { - style: { - alignSelf: 'center', - margin: '8px', - }, - onClick: (event) => { - const valid = this.validateInputs({ address, symbol, decimals }) - if (!valid) return - - this.props.dispatch(actions.addToken(address.trim(), symbol.trim(), decimals)) - .then(() => { - this.props.dispatch(actions.removeSuggestedTokens()) - }) - }, - }, 'Add'), - ]), - ]), - ]) - ) -} - -AddSuggestedTokenScreen.prototype.componentWillMount = function () { - if (typeof global.ethereumProvider === 'undefined') return -} - -AddSuggestedTokenScreen.prototype.validateInputs = function (opts) { - let msg = '' - const identitiesList = Object.keys(this.props.identities) - const { address, symbol, decimals } = opts - const standardAddress = ethUtil.addHexPrefix(address).toLowerCase() - - const validAddress = ethUtil.isValidAddress(address) - if (!validAddress) { - msg += 'Address is invalid.' - } - - const validDecimals = decimals >= 0 && decimals <= 36 - if (!validDecimals) { - msg += 'Decimals must be at least 0, and not over 36. ' - } - - const symbolLen = symbol.trim().length - const validSymbol = symbolLen > 0 && symbolLen < 10 - if (!validSymbol) { - msg += 'Symbol must be between 0 and 10 characters.' - } - - const ownAddress = identitiesList.includes(standardAddress) - if (ownAddress) { - msg = 'Personal address detected. Input the token contract address.' - } - - const isValid = validAddress && validDecimals && !ownAddress - - if (!isValid) { - this.setState({ - warning: msg, - }) - } else { - this.setState({ warning: null }) - } - - return isValid -} diff --git a/old-ui/app/add-token.js b/old-ui/app/add-token.js deleted file mode 100644 index 6cf211636..000000000 --- a/old-ui/app/add-token.js +++ /dev/null @@ -1,241 +0,0 @@ -const inherits = require('util').inherits -const Component = require('react').Component -const h = require('react-hyperscript') -const connect = require('react-redux').connect -const actions = require('../../ui/app/actions') -const Tooltip = require('./components/tooltip.js') - - -const ethUtil = require('ethereumjs-util') -const abi = require('human-standard-token-abi') -const Eth = require('ethjs-query') -const EthContract = require('ethjs-contract') - -const emptyAddr = '0x0000000000000000000000000000000000000000' - -module.exports = connect(mapStateToProps)(AddTokenScreen) - -function mapStateToProps (state) { - return { - identities: state.metamask.identities, - } -} - -inherits(AddTokenScreen, Component) -function AddTokenScreen () { - this.state = { - warning: null, - address: '', - symbol: 'TOKEN', - decimals: 18, - } - Component.call(this) -} - -AddTokenScreen.prototype.render = function () { - const state = this.state - const props = this.props - const { warning, symbol, decimals } = state - - return ( - h('.flex-column.flex-grow', [ - - // subtitle and nav - h('.section-title.flex-row.flex-center', [ - h('i.fa.fa-arrow-left.fa-lg.cursor-pointer', { - onClick: (event) => { - props.dispatch(actions.goHome()) - }, - }), - h('h2.page-subtitle', 'Add Token'), - ]), - - h('.error', { - style: { - display: warning ? 'block' : 'none', - padding: '0 20px', - textAlign: 'center', - }, - }, warning), - - // conf view - h('.flex-column.flex-justify-center.flex-grow.select-none', [ - h('.flex-space-around', { - style: { - padding: '20px', - }, - }, [ - - h('div', [ - h(Tooltip, { - position: 'top', - title: 'The contract of the actual token contract. Click for more info.', - }, [ - h('a', { - style: { fontWeight: 'bold', paddingRight: '10px'}, - href: 'https://support.metamask.io/kb/article/24-what-is-a-token-contract-address', - target: '_blank', - }, [ - h('span', 'Token Contract Address '), - h('i.fa.fa-question-circle'), - ]), - ]), - ]), - - h('section.flex-row.flex-center', [ - h('input#token-address', { - name: 'address', - placeholder: 'Token Contract Address', - onChange: this.tokenAddressDidChange.bind(this), - style: { - width: 'inherit', - flex: '1 0 auto', - height: '30px', - margin: '8px', - }, - }), - ]), - - h('div', [ - h('span', { - style: { fontWeight: 'bold', paddingRight: '10px'}, - }, 'Token Symbol'), - ]), - - h('div', { style: {display: 'flex'} }, [ - h('input#token_symbol', { - placeholder: `Like "ETH"`, - value: symbol, - style: { - width: 'inherit', - flex: '1 0 auto', - height: '30px', - margin: '8px', - }, - onChange: (event) => { - var element = event.target - var symbol = element.value - this.setState({ symbol }) - }, - }), - ]), - - h('div', [ - h('span', { - style: { fontWeight: 'bold', paddingRight: '10px'}, - }, 'Decimals of Precision'), - ]), - - h('div', { style: {display: 'flex'} }, [ - h('input#token_decimals', { - value: decimals, - type: 'number', - min: 0, - max: 36, - style: { - width: 'inherit', - flex: '1 0 auto', - height: '30px', - margin: '8px', - }, - onChange: (event) => { - var element = event.target - var decimals = element.value.trim() - this.setState({ decimals }) - }, - }), - ]), - - h('button', { - style: { - alignSelf: 'center', - }, - onClick: (event) => { - const valid = this.validateInputs() - if (!valid) return - - const { address, symbol, decimals } = this.state - this.props.dispatch(actions.addToken(address.trim(), symbol.trim(), decimals)) - .then(() => { - this.props.dispatch(actions.goHome()) - }) - }, - }, 'Add'), - ]), - ]), - ]) - ) -} - -AddTokenScreen.prototype.componentWillMount = function () { - if (typeof global.ethereumProvider === 'undefined') return - - this.eth = new Eth(global.ethereumProvider) - this.contract = new EthContract(this.eth) - this.TokenContract = this.contract(abi) -} - -AddTokenScreen.prototype.tokenAddressDidChange = function (event) { - const el = event.target - const address = el.value.trim() - if (ethUtil.isValidAddress(address) && address !== emptyAddr) { - this.setState({ address }) - this.attemptToAutoFillTokenParams(address) - } -} - -AddTokenScreen.prototype.validateInputs = function () { - let msg = '' - const state = this.state - const identitiesList = Object.keys(this.props.identities) - const { address, symbol, decimals } = state - const standardAddress = ethUtil.addHexPrefix(address).toLowerCase() - - const validAddress = ethUtil.isValidAddress(address) - if (!validAddress) { - msg += 'Address is invalid.' - } - - const validDecimals = decimals >= 0 && decimals <= 36 - if (!validDecimals) { - msg += 'Decimals must be at least 0, and not over 36. ' - } - - const symbolLen = symbol.trim().length - const validSymbol = symbolLen > 0 && symbolLen < 10 - if (!validSymbol) { - msg += 'Symbol must be between 0 and 10 characters.' - } - - const ownAddress = identitiesList.includes(standardAddress) - if (ownAddress) { - msg = 'Personal address detected. Input the token contract address.' - } - - const isValid = validAddress && validDecimals && !ownAddress - - if (!isValid) { - this.setState({ - warning: msg, - }) - } else { - this.setState({ warning: null }) - } - - return isValid -} - -AddTokenScreen.prototype.attemptToAutoFillTokenParams = async function (address) { - const contract = this.TokenContract.at(address) - - const results = await Promise.all([ - contract.symbol(), - contract.decimals(), - ]) - - const [ symbol, decimals ] = results - if (symbol && decimals) { - console.log('SETTING SYMBOL AND DECIMALS', { symbol, decimals }) - this.setState({ symbol: symbol[0], decimals: decimals[0].toString() }) - } -} diff --git a/old-ui/app/app.js b/old-ui/app/app.js deleted file mode 100644 index e81899538..000000000 --- a/old-ui/app/app.js +++ /dev/null @@ -1,315 +0,0 @@ -const inherits = require('util').inherits -const Component = require('react').Component -const connect = require('react-redux').connect -const h = require('react-hyperscript') -const actions = require('../../ui/app/actions') -const log = require('loglevel') -// mascara -const FirstTime = require('../../ui/app/components/pages/first-time-flow').default -// init -const InitializeMenuScreen = require('./first-time/init-menu') -const NewKeyChainScreen = require('./new-keychain') -// unlock -const UnlockScreen = require('./unlock') -// accounts -const AccountDetailScreen = require('./account-detail') -const AccountQrScreen = require('./account-qr') -const SendTransactionScreen = require('./send') -const ConfirmTxScreen = require('./conf-tx') -// notice -const NoticeScreen = require('./components/notice') -const generateLostAccountsNotice = require('../lib/lost-accounts-notice') -// other views -const ConfigScreen = require('./config') -const AddTokenScreen = require('./add-token') -const AddSuggestedTokenScreen = require('./add-suggested-token') -const Import = require('./accounts/import') -const InfoScreen = require('./info') -const NewUiAnnouncement = require('./new-ui-annoucement') -const AppBar = require('./components/app-bar') -const Loading = require('./components/loading') -const BuyView = require('./components/buy-button-subview') -const HDCreateVaultComplete = require('./keychains/hd/create-vault-complete') -const HDRestoreVaultScreen = require('./keychains/hd/restore-vault') -const RevealSeedConfirmation = require('./keychains/hd/recover-seed/confirmation') -const ProviderApproval = require('./provider-approval') - -module.exports = connect(mapStateToProps)(App) - -inherits(App, Component) -function App () { Component.call(this) } - -function mapStateToProps (state) { - const { - identities, - accounts, - address, - keyrings, - isInitialized, - noActiveNotices, - seedWords, - featureFlags, - providerRequests, - } = state.metamask - const selected = address || Object.keys(accounts)[0] - - return { - // state from plugin - isLoading: state.appState.isLoading, - loadingMessage: state.appState.loadingMessage, - noActiveNotices: state.metamask.noActiveNotices, - isInitialized: state.metamask.isInitialized, - isUnlocked: state.metamask.isUnlocked, - currentView: state.appState.currentView, - selectedAddress: state.metamask.selectedAddress, - transForward: state.appState.transForward, - isMascara: state.metamask.isMascara, - isOnboarding: Boolean(!noActiveNotices || seedWords || !isInitialized), - seedWords: state.metamask.seedWords, - unapprovedTxs: state.metamask.unapprovedTxs, - unapprovedMsgs: state.metamask.unapprovedMsgs, - menuOpen: state.appState.menuOpen, - network: state.metamask.network, - provider: state.metamask.provider, - forgottenPassword: state.appState.forgottenPassword, - nextUnreadNotice: state.metamask.nextUnreadNotice, - lostAccounts: state.metamask.lostAccounts, - frequentRpcListDetail: state.metamask.frequentRpcListDetail || [], - featureFlags, - providerRequests, - suggestedTokens: state.metamask.suggestedTokens, - - // state needed to get account dropdown temporarily rendering from app bar - identities, - selected, - keyrings, - } -} - -App.prototype.render = function () { - const { - currentView, - dispatch, - isLoading, - loadingMessage, - transForward, - network, - featureFlags, - } = this.props - const isLoadingNetwork = network === 'loading' && currentView.name !== 'config' - const loadMessage = loadingMessage || isLoadingNetwork - ? `Connecting to ${this.getNetworkName()}` - : null - log.debug('Main ui render function') - - if (!featureFlags.skipAnnounceBetaUI) { - return ( - h(NewUiAnnouncement, { - dispatch, - }) - ) - } - - return ( - h('.flex-column.full-height', { - style: { - // Windows was showing a vertical scroll bar: - overflow: 'hidden', - position: 'relative', - alignItems: 'center', - }, - }, [ - h(AppBar, { - ...this.props, - }), - this.renderLoadingIndicator({ isLoading, isLoadingNetwork, loadMessage }), - - // panel content - h('.app-primary' + (transForward ? '.from-right' : '.from-left'), { - style: { - width: '100%', - }, - }, [ - this.renderPrimary(), - ]), - ]) - ) -} -App.prototype.renderLoadingIndicator = function ({ isLoading, isLoadingNetwork, loadMessage }) { - const { isMascara } = this.props - - return isMascara - ? null - : h(Loading, { - isLoading: isLoading || isLoadingNetwork, - loadingMessage: loadMessage, - }) -} - -App.prototype.renderPrimary = function () { - log.debug('rendering primary') - var props = this.props - const {isMascara, isOnboarding, providerRequests} = props - - if (isMascara && isOnboarding) { - return h(FirstTime) - } - - // notices - if (!props.noActiveNotices) { - log.debug('rendering notice screen for unread notices.') - return h('div', { - style: { width: '100%' }, - }, [ - - h(NoticeScreen, { - notice: props.nextUnreadNotice, - key: 'NoticeScreen', - onConfirm: () => props.dispatch(actions.markNoticeRead(props.nextUnreadNotice)), - }), - ]) - } else if (props.lostAccounts && props.lostAccounts.length > 0) { - log.debug('rendering notice screen for lost accounts view.') - return h(NoticeScreen, { - notice: generateLostAccountsNotice(props.lostAccounts), - key: 'LostAccountsNotice', - onConfirm: () => props.dispatch(actions.markAccountsFound()), - }) - } - - // show initialize screen - if (!props.isInitialized || props.forgottenPassword) { - // show current view - log.debug('rendering an initialize screen') - switch (props.currentView.name) { - - case 'restoreVault': - log.debug('rendering restore vault screen') - return h(HDRestoreVaultScreen, {key: 'HDRestoreVaultScreen'}) - - default: - log.debug('rendering menu screen') - return h(InitializeMenuScreen, {key: 'menuScreenInit'}) - } - } - - // show unlock screen - if (!props.isUnlocked) { - switch (props.currentView.name) { - - case 'restoreVault': - log.debug('rendering restore vault screen') - return h(HDRestoreVaultScreen, {key: 'HDRestoreVaultScreen'}) - - case 'config': - log.debug('rendering config screen from unlock screen.') - return h(ConfigScreen, {key: 'config'}) - - default: - log.debug('rendering locked screen') - return h(UnlockScreen, {key: 'locked'}) - } - } - - // show seed words screen - if (props.seedWords) { - log.debug('rendering seed words') - return h(HDCreateVaultComplete, {key: 'HDCreateVaultComplete'}) - } - - if (providerRequests && providerRequests.length > 0) { - log.debug('rendering provider API approval screen') - return h(ProviderApproval, { origin: providerRequests[0].origin, tabID: providerRequests[0].tabID }) - } - - // show current view - switch (props.currentView.name) { - - case 'accountDetail': - log.debug('rendering account detail screen') - return h(AccountDetailScreen, {key: 'account-detail'}) - - case 'sendTransaction': - log.debug('rendering send tx screen') - return h(SendTransactionScreen, {key: 'send-transaction'}) - - case 'newKeychain': - log.debug('rendering new keychain screen') - return h(NewKeyChainScreen, {key: 'new-keychain'}) - - case 'confTx': - log.debug('rendering confirm tx screen') - return h(ConfirmTxScreen, {key: 'confirm-tx'}) - - case 'add-token': - log.debug('rendering add-token screen from unlock screen.') - return h(AddTokenScreen, {key: 'add-token'}) - - case 'add-suggested-token': - log.debug('rendering add-suggested-token screen from unlock screen.') - return h(AddSuggestedTokenScreen, {key: 'add-suggested-token'}) - - case 'config': - log.debug('rendering config screen') - return h(ConfigScreen, {key: 'config'}) - - case 'import-menu': - log.debug('rendering import screen') - return h(Import, {key: 'import-menu'}) - - case 'reveal-seed-conf': - log.debug('rendering reveal seed confirmation screen') - return h(RevealSeedConfirmation, {key: 'reveal-seed-conf'}) - - case 'info': - log.debug('rendering info screen') - return h(InfoScreen, {key: 'info'}) - - case 'buyEth': - log.debug('rendering buy ether screen') - return h(BuyView, {key: 'buyEthView'}) - - case 'qr': - log.debug('rendering show qr screen') - return h(AccountQrScreen, { - key: 'account-qr', - selectedAddress: props.selectedAddress, - }) - - default: - log.debug('rendering default, account detail screen') - return h(AccountDetailScreen, {key: 'account-detail'}) - } -} - -App.prototype.toggleMetamaskActive = function () { - if (!this.props.isUnlocked) { - // currently inactive: redirect to password box - var passwordBox = document.querySelector('input[type=password]') - if (!passwordBox) return - passwordBox.focus() - } else { - // currently active: deactivate - this.props.dispatch(actions.lockMetamask(false)) - } -} -App.prototype.getNetworkName = function () { - const { provider } = this.props - const providerName = provider.type - - let name - - if (providerName === 'mainnet') { - name = 'Main Ethereum Network' - } else if (providerName === 'ropsten') { - name = 'Ropsten Test Network' - } else if (providerName === 'kovan') { - name = 'Kovan Test Network' - } else if (providerName === 'rinkeby') { - name = 'Rinkeby Test Network' - } else { - name = 'Unknown Private Network' - } - - return name -} diff --git a/old-ui/app/components/account-dropdowns.js b/old-ui/app/components/account-dropdowns.js deleted file mode 100644 index 262de6601..000000000 --- a/old-ui/app/components/account-dropdowns.js +++ /dev/null @@ -1,321 +0,0 @@ -const Component = require('react').Component -const PropTypes = require('prop-types') -const h = require('react-hyperscript') -const actions = require('../../../ui/app/actions') -const genAccountLink = require('etherscan-link').createAccountLink -const connect = require('react-redux').connect -const Dropdown = require('./dropdown').Dropdown -const DropdownMenuItem = require('./dropdown').DropdownMenuItem -const Identicon = require('./identicon') -const ethUtil = require('ethereumjs-util') -const copyToClipboard = require('copy-to-clipboard') - -class AccountDropdowns extends Component { - constructor (props) { - super(props) - this.state = { - accountSelectorActive: false, - optionsMenuActive: false, - } - this.accountSelectorToggleClassName = 'accounts-selector' - this.optionsMenuToggleClassName = 'fa-ellipsis-h' - } - - renderAccounts () { - const { identities, selected, keyrings } = this.props - const accountOrder = keyrings.reduce((list, keyring) => list.concat(keyring.accounts), []) - - return accountOrder.map((address, index) => { - const identity = identities[address] - const isSelected = identity.address === selected - - const simpleAddress = identity.address.substring(2).toLowerCase() - - const keyring = keyrings.find((kr) => { - return kr.accounts.includes(simpleAddress) || - kr.accounts.includes(identity.address) - }) - - return h( - DropdownMenuItem, - { - closeMenu: () => {}, - onClick: () => { - this.props.actions.showAccountDetail(identity.address) - }, - style: { - marginTop: index === 0 ? '5px' : '', - fontSize: '24px', - }, - }, - [ - h( - Identicon, - { - address: identity.address, - diameter: 32, - style: { - marginLeft: '10px', - }, - }, - ), - this.indicateIfLoose(keyring), - h('span', { - style: { - marginLeft: '20px', - fontSize: '24px', - maxWidth: '145px', - whiteSpace: 'nowrap', - overflow: 'hidden', - textOverflow: 'ellipsis', - }, - }, identity.name || ''), - h('span', { style: { marginLeft: '20px', fontSize: '24px' } }, isSelected ? h('.check', '✓') : null), - ] - ) - }) - } - - indicateIfLoose (keyring) { - try { // Sometimes keyrings aren't loaded yet: - const type = keyring.type - const isLoose = type !== 'HD Key Tree' - return isLoose ? h('.keyring-label', 'IMPORTED') : null - } catch (e) { return } - } - - renderAccountSelector () { - const { actions } = this.props - const { accountSelectorActive } = this.state - - return h( - Dropdown, - { - useCssTransition: true, // Hardcoded because account selector is temporarily in app-header - style: { - marginLeft: '-238px', - marginTop: '38px', - minWidth: '180px', - overflowY: 'auto', - maxHeight: '300px', - width: '300px', - }, - innerStyle: { - padding: '8px 25px', - }, - isOpen: accountSelectorActive, - onClickOutside: (event) => { - const { classList } = event.target - const isNotToggleElement = !classList.contains(this.accountSelectorToggleClassName) - if (accountSelectorActive && isNotToggleElement) { - this.setState({ accountSelectorActive: false }) - } - }, - }, - [ - ...this.renderAccounts(), - h( - DropdownMenuItem, - { - closeMenu: () => {}, - onClick: () => actions.addNewAccount(), - }, - [ - h( - Identicon, - { - style: { - marginLeft: '10px', - }, - diameter: 32, - }, - ), - h('span', { style: { marginLeft: '20px', fontSize: '24px' } }, 'Create Account'), - ], - ), - h( - DropdownMenuItem, - { - closeMenu: () => {}, - onClick: () => actions.showImportPage(), - }, - [ - h( - Identicon, - { - style: { - marginLeft: '10px', - }, - diameter: 32, - }, - ), - h('span', { - style: { - marginLeft: '20px', - fontSize: '24px', - marginBottom: '5px', - }, - }, 'Import Account'), - ] - ), - ] - ) - } - - renderAccountOptions () { - const { actions } = this.props - const { optionsMenuActive } = this.state - - return h( - Dropdown, - { - style: { - marginLeft: '-215px', - minWidth: '180px', - }, - isOpen: optionsMenuActive, - onClickOutside: (event) => { - const { classList } = event.target - const isNotToggleElement = !classList.contains(this.optionsMenuToggleClassName) - if (optionsMenuActive && isNotToggleElement) { - this.setState({ optionsMenuActive: false }) - } - }, - }, - [ - h( - DropdownMenuItem, - { - closeMenu: () => {}, - onClick: () => { - const { selected, network } = this.props - const url = genAccountLink(selected, network) - global.platform.openWindow({ url }) - }, - }, - 'View account on Etherscan', - ), - h( - DropdownMenuItem, - { - closeMenu: () => {}, - onClick: () => { - const { selected, identities } = this.props - var identity = identities[selected] - actions.showQrView(selected, identity ? identity.name : '') - }, - }, - 'Show QR Code', - ), - h( - DropdownMenuItem, - { - closeMenu: () => {}, - onClick: () => { - const { selected } = this.props - const checkSumAddress = selected && ethUtil.toChecksumAddress(selected) - copyToClipboard(checkSumAddress) - }, - }, - 'Copy Address to clipboard', - ), - h( - DropdownMenuItem, - { - closeMenu: () => {}, - onClick: () => { - actions.requestAccountExport() - }, - }, - 'Export Private Key', - ), - ] - ) - } - - render () { - const { style, enableAccountsSelector, enableAccountOptions } = this.props - const { optionsMenuActive, accountSelectorActive } = this.state - - return h( - 'span', - { - style: style, - }, - [ - enableAccountsSelector && h( - // 'i.fa.fa-angle-down', - 'div.cursor-pointer.color-orange.accounts-selector', - { - style: { - // fontSize: '1.8em', - background: 'url(images/switch_acc.svg) white center center no-repeat', - height: '25px', - width: '25px', - transform: 'scale(0.75)', - marginRight: '3px', - }, - onClick: (event) => { - event.stopPropagation() - this.setState({ - accountSelectorActive: !accountSelectorActive, - optionsMenuActive: false, - }) - }, - }, - this.renderAccountSelector(), - ), - enableAccountOptions && h( - 'i.fa.fa-ellipsis-h', - { - style: { - margin: '0.5em', - fontSize: '1.8em', - }, - onClick: (event) => { - event.stopPropagation() - this.setState({ - accountSelectorActive: false, - optionsMenuActive: !optionsMenuActive, - }) - }, - }, - this.renderAccountOptions() - ), - ] - ) - } -} - -AccountDropdowns.defaultProps = { - enableAccountsSelector: false, - enableAccountOptions: false, -} - -AccountDropdowns.propTypes = { - identities: PropTypes.objectOf(PropTypes.object), - selected: PropTypes.string, - keyrings: PropTypes.array, - actions: PropTypes.objectOf(PropTypes.func), - network: PropTypes.string, - style: PropTypes.object, - enableAccountOptions: PropTypes.bool, - enableAccountsSelector: PropTypes.bool, -} - -const mapDispatchToProps = (dispatch) => { - return { - actions: { - showConfigPage: () => dispatch(actions.showConfigPage()), - requestAccountExport: () => dispatch(actions.requestExportAccount()), - showAccountDetail: (address) => dispatch(actions.showAccountDetail(address)), - addNewAccount: () => dispatch(actions.addNewAccount()), - showImportPage: () => dispatch(actions.showImportPage()), - showQrView: (selected, identity) => dispatch(actions.showQrView(selected, identity)), - }, - } -} - -module.exports = { - AccountDropdowns: connect(null, mapDispatchToProps)(AccountDropdowns), -} diff --git a/old-ui/app/components/account-export.js b/old-ui/app/components/account-export.js deleted file mode 100644 index 51b85b786..000000000 --- a/old-ui/app/components/account-export.js +++ /dev/null @@ -1,132 +0,0 @@ -const Component = require('react').Component -const h = require('react-hyperscript') -const inherits = require('util').inherits -const exportAsFile = require('../util').exportAsFile -const copyToClipboard = require('copy-to-clipboard') -const actions = require('../../../ui/app/actions') -const ethUtil = require('ethereumjs-util') -const connect = require('react-redux').connect - -module.exports = connect(mapStateToProps)(ExportAccountView) - -inherits(ExportAccountView, Component) -function ExportAccountView () { - Component.call(this) -} - -function mapStateToProps (state) { - return { - warning: state.appState.warning, - } -} - -ExportAccountView.prototype.render = function () { - const state = this.props - const accountDetail = state.accountDetail - const nickname = state.identities[state.address].name - - if (!accountDetail) return h('div') - const accountExport = accountDetail.accountExport - - const notExporting = accountExport === 'none' - const exportRequested = accountExport === 'requested' - const accountExported = accountExport === 'completed' - - if (notExporting) return h('div') - - if (exportRequested) { - const warning = `Export private keys at your own risk.` - return ( - h('div', { - style: { - display: 'inline-block', - textAlign: 'center', - }, - }, - [ - h('div', { - key: 'exporting', - style: { - margin: '0 20px', - }, - }, [ - h('p.error', warning), - h('input#exportAccount.sizing-input', { - type: 'password', - placeholder: 'confirm password', - onKeyPress: this.onExportKeyPress.bind(this), - style: { - position: 'relative', - top: '1.5px', - marginBottom: '7px', - }, - }), - ]), - h('div', { - key: 'buttons', - style: { - margin: '0 20px', - }, - }, - [ - h('button', { - onClick: () => this.onExportKeyPress({ key: 'Enter', preventDefault: () => {} }), - style: { - marginRight: '10px', - }, - }, 'Submit'), - h('button', { - onClick: () => this.props.dispatch(actions.backToAccountDetail(this.props.address)), - }, 'Cancel'), - ]), - (this.props.warning) && ( - h('span.error', { - style: { - margin: '20px', - }, - }, this.props.warning.split('-')) - ), - ]) - ) - } - - if (accountExported) { - const plainKey = ethUtil.stripHexPrefix(accountDetail.privateKey) - - return h('div.privateKey', { - style: { - margin: '0 20px', - }, - }, [ - h('label', 'Your private key (click to copy):'), - h('p.error.cursor-pointer', { - style: { - textOverflow: 'ellipsis', - overflow: 'hidden', - webkitUserSelect: 'text', - maxWidth: '275px', - }, - onClick: function (event) { - copyToClipboard(ethUtil.stripHexPrefix(accountDetail.privateKey)) - }, - }, plainKey), - h('button', { - onClick: () => this.props.dispatch(actions.backToAccountDetail(this.props.address)), - }, 'Done'), - h('button', { - style: { - marginLeft: '10px', - }, - onClick: () => exportAsFile(`MetaMask ${nickname} Private Key`, plainKey), - }, 'Save as File'), - ]) - } -} - -ExportAccountView.prototype.onExportKeyPress = function (event) { - if (event.key !== 'Enter') return - event.preventDefault() - - const input = document.getElementById('exportAccount').value - this.props.dispatch(actions.exportAccount(input, this.props.address)) -} diff --git a/old-ui/app/components/account-panel.js b/old-ui/app/components/account-panel.js deleted file mode 100644 index abaaf8163..000000000 --- a/old-ui/app/components/account-panel.js +++ /dev/null @@ -1,86 +0,0 @@ -const inherits = require('util').inherits -const Component = require('react').Component -const h = require('react-hyperscript') -const Identicon = require('./identicon') -const formatBalance = require('../util').formatBalance -const addressSummary = require('../util').addressSummary - -module.exports = AccountPanel - - -inherits(AccountPanel, Component) -function AccountPanel () { - Component.call(this) -} - -AccountPanel.prototype.render = function () { - var state = this.props - var identity = state.identity || {} - var account = state.account || {} - var isFauceting = state.isFauceting - - var panelState = { - key: `accountPanel${identity.address}`, - identiconKey: identity.address, - identiconLabel: identity.name || '', - attributes: [ - { - key: 'ADDRESS', - value: addressSummary(identity.address), - }, - balanceOrFaucetingIndication(account, isFauceting), - ], - } - - return ( - - h('.identity-panel.flex-row.flex-space-between', { - style: { - flex: '1 0 auto', - cursor: panelState.onClick ? 'pointer' : undefined, - }, - onClick: panelState.onClick, - }, [ - - // account identicon - h('.identicon-wrapper.flex-column.select-none', [ - h(Identicon, { - address: panelState.identiconKey, - imageify: state.imageifyIdenticons, - }), - h('span.font-small', panelState.identiconLabel.substring(0, 7) + '...'), - ]), - - // account address, balance - h('.identity-data.flex-column.flex-justify-center.flex-grow.select-none', [ - - panelState.attributes.map((attr) => { - return h('.flex-row.flex-space-between', { - key: '' + Math.round(Math.random() * 1000000), - }, [ - h('label.font-small.no-select', attr.key), - h('span.font-small', attr.value), - ]) - }), - ]), - - ]) - - ) -} - -function balanceOrFaucetingIndication (account, isFauceting) { - // Temporarily deactivating isFauceting indication - // because it shows fauceting for empty restored accounts. - if (/* isFauceting*/ false) { - return { - key: 'Account is auto-funding.', - value: 'Please wait.', - } - } else { - return { - key: 'BALANCE', - value: formatBalance(account.balance), - } - } -} diff --git a/old-ui/app/components/app-bar.js b/old-ui/app/components/app-bar.js deleted file mode 100644 index c0da36615..000000000 --- a/old-ui/app/components/app-bar.js +++ /dev/null @@ -1,436 +0,0 @@ -const PropTypes = require('prop-types') -const {Component} = require('react') -const h = require('react-hyperscript') -const actions = require('../../../ui/app/actions') -const SandwichExpando = require('sandwich-expando') -const {Dropdown} = require('./dropdown') -const {DropdownMenuItem} = require('./dropdown') -const NetworkIndicator = require('./network') -const {AccountDropdowns} = require('./account-dropdowns') - -const LOCALHOST_RPC_URL = 'http://localhost:8545' - -module.exports = class AppBar extends Component { - static defaultProps = { - selectedAddress: undefined, - } - - static propTypes = { - dispatch: PropTypes.func.isRequired, - frequentRpcListDetail: PropTypes.array.isRequired, - isMascara: PropTypes.bool.isRequired, - isOnboarding: PropTypes.bool.isRequired, - identities: PropTypes.any.isRequired, - selectedAddress: PropTypes.string, - isUnlocked: PropTypes.bool.isRequired, - network: PropTypes.any.isRequired, - keyrings: PropTypes.any.isRequired, - provider: PropTypes.any.isRequired, - } - - static renderSpace () { - return ( - h('span', { - dangerouslySetInnerHTML: { - __html: ' ', - }, - }) - ) - } - - state = { - isNetworkMenuOpen: false, - } - - renderAppBar () { - if (window.METAMASK_UI_TYPE === 'notification') { - return null - } - - const props = this.props - const {isMascara, isOnboarding} = props - - // Do not render header if user is in mascara onboarding - if (isMascara && isOnboarding) { - return null - } - - // Do not render header if user is in mascara buy ether - if (isMascara && props.currentView.name === 'buyEth') { - return null - } - - return ( - h('div.app-bar', [ - this.renderAppBarNewUiNotice(), - this.renderAppBarAppHeader(), - ]) - ) - } - - renderAppBarNewUiNotice () { - const {dispatch} = this.props - - return ( - h('div.app-bar__new-ui-banner', { - style: { - height: '28px', - zIndex: 12, - }, - }, [ - 'Try the New MetaMask', - AppBar.renderSpace(), - h('span.banner__link', { - async onClick () { - await dispatch(actions.setFeatureFlag('betaUI', true)) - global.platform.openExtensionInBrowser() - }, - }, [ - 'Now', - ]), - AppBar.renderSpace(), - 'or', - AppBar.renderSpace(), - h('span.banner__link', { - onClick () { - global.platform.openWindow({ - url: 'https://medium.com/metamask/74dba32cc7f7', - }) - }, - }, [ - 'Learn More', - ]), - ]) - ) - } - - renderAppBarAppHeader () { - const { - identities, - selectedAddress, - isUnlocked, - network, - keyrings, - provider, - } = this.props - const { - isNetworkMenuOpen, - isMainMenuOpen, - } = this.state - - return ( - h('.full-width', { - style: { - display: 'flex', - flexDirection: 'column', - height: '38px', - }, - }, [ - h('.app-header.flex-row.flex-space-between', { - style: { - alignItems: 'center', - visibility: isUnlocked ? 'visible' : 'none', - background: isUnlocked ? 'white' : 'none', - height: '38px', - position: 'relative', - zIndex: 12, - }, - }, [ - h('div.left-menu-section', { - style: { - display: 'flex', - flexDirection: 'row', - alignItems: 'center', - }, - }, [ - // mini logo - h('img', { - height: 24, - width: 24, - src: './images/icon-128.png', - }), - h(NetworkIndicator, { - network: network, - provider: provider, - onClick: (event) => { - event.preventDefault() - event.stopPropagation() - this.setState({ isNetworkMenuOpen: !isNetworkMenuOpen }) - }, - }), - ]), - isUnlocked && h('div', { - style: { - display: 'flex', - flexDirection: 'row', - alignItems: 'center', - }, - }, [ - h(AccountDropdowns, { - style: {}, - enableAccountsSelector: true, - identities: identities, - selected: selectedAddress, - network, - keyrings, - }, []), - h(SandwichExpando, { - className: 'sandwich-expando', - width: 16, - barHeight: 2, - padding: 0, - isOpen: isMainMenuOpen, - color: 'rgb(247,146,30)', - onClick: () => { - this.setState({ - isMainMenuOpen: !isMainMenuOpen, - }) - }, - }), - ]), - ]), - ]) - ) - } - - renderNetworkDropdown () { - const { - dispatch, - frequentRpcListDetail: rpcList, - provider, - } = this.props - const { - type: providerType, - rpcTarget: activeNetwork, - } = provider - const isOpen = this.state.isNetworkMenuOpen - - return h(Dropdown, { - useCssTransition: true, - isOpen, - onClickOutside: (event) => { - const { classList } = event.target - const isNotToggleElement = [ - classList.contains('menu-icon'), - classList.contains('network-name'), - classList.contains('network-indicator'), - ].filter(bool => bool).length === 0 - // classes from three constituent nodes of the toggle element - - if (isNotToggleElement) { - this.setState({ isNetworkMenuOpen: false }) - } - }, - zIndex: 11, - style: { - position: 'absolute', - left: '2px', - top: '64px', - }, - innerStyle: { - padding: '2px 16px 2px 0px', - }, - }, [ - h(DropdownMenuItem, { - key: 'main', - closeMenu: () => this.setState({ isNetworkMenuOpen: !isOpen }), - onClick: () => dispatch(actions.setProviderType('mainnet')), - style: { - fontSize: '18px', - }, - }, [ - h('.menu-icon.diamond'), - 'Main Ethereum Network', - providerType === 'mainnet' - ? h('.check', '✓') - : null, - ]), - h(DropdownMenuItem, { - key: 'ropsten', - closeMenu: () => this.setState({ isNetworkMenuOpen: !isOpen }), - onClick: () => dispatch(actions.setProviderType('ropsten')), - style: { - fontSize: '18px', - }, - }, [ - h('.menu-icon.red-dot'), - 'Ropsten Test Network', - providerType === 'ropsten' - ? h('.check', '✓') - : null, - ]), - h(DropdownMenuItem, { - key: 'kovan', - closeMenu: () => this.setState({ isNetworkMenuOpen: !isOpen }), - onClick: () => dispatch(actions.setProviderType('kovan')), - style: { - fontSize: '18px', - }, - }, [ - h('.menu-icon.hollow-diamond'), - 'Kovan Test Network', - providerType === 'kovan' - ? h('.check', '✓') - : null, - ]), - h(DropdownMenuItem, { - key: 'rinkeby', - closeMenu: () => this.setState({ isNetworkMenuOpen: !isOpen }), - onClick: () => dispatch(actions.setProviderType('rinkeby')), - style: { - fontSize: '18px', - }, - }, [ - h('.menu-icon.golden-square'), - 'Rinkeby Test Network', - providerType === 'rinkeby' - ? h('.check', '✓') - : null, - ]), - h(DropdownMenuItem, { - key: 'default', - closeMenu: () => this.setState({ isNetworkMenuOpen: !isOpen }), - onClick: () => dispatch(actions.setProviderType('localhost')), - style: { - fontSize: '18px', - }, - }, [ - h('i.fa.fa-question-circle.fa-lg.menu-icon'), - 'Localhost 8545', - activeNetwork === LOCALHOST_RPC_URL - ? h('.check', '✓') - : null, - ]), - - this.renderCustomOption(provider), - this.renderCommonRpc(rpcList, provider), - - h(DropdownMenuItem, { - closeMenu: () => this.setState({ isNetworkMenuOpen: !isOpen }), - onClick: () => dispatch(actions.showConfigPage()), - style: { - fontSize: '18px', - }, - }, [ - h('i.fa.fa-question-circle.fa-lg.menu-icon'), - 'Custom RPC', - activeNetwork === 'custom' - ? h('.check', '✓') - : null, - ]), - ]) - } - - renderCustomOption ({ rpcTarget, type, ticker }) { - const {dispatch, network} = this.props - - if (type !== 'rpc') { - return null - } - - // Concatenate long URLs - let label = rpcTarget - if (rpcTarget.length > 31) { - label = label.substr(0, 34) + '...' - } - - switch (rpcTarget) { - case LOCALHOST_RPC_URL: - return null - default: - return h(DropdownMenuItem, { - key: rpcTarget, - onClick: () => dispatch(actions.setRpcTarget(rpcTarget, network, ticker)), - closeMenu: () => this.setState({ isNetworkMenuOpen: false }), - }, [ - h('i.fa.fa-question-circle.fa-lg.menu-icon'), - label, - h('.check', '✓'), - ]) - } - } - - renderCommonRpc (rpcList, provider) { - const {dispatch} = this.props - const reversedRpcList = rpcList.slice().reverse() - - return reversedRpcList.map((entry) => { - const rpc = entry.rpcUrl - const currentRpcTarget = provider.type === 'rpc' && rpc === provider.rpcTarget - - if ((rpc === LOCALHOST_RPC_URL) || currentRpcTarget) { - return null - } else { - return h(DropdownMenuItem, { - key: `common${rpc}`, - closeMenu: () => this.setState({ isNetworkMenuOpen: false }), - onClick: () => dispatch(actions.setRpcTarget(rpc, entry.chainId, entry.ticker)), - }, [ - h('i.fa.fa-question-circle.fa-lg.menu-icon'), - rpc, - currentRpcTarget - ? h('.check', '✓') - : null, - ]) - } - }) - } - - renderDropdown () { - const {dispatch} = this.props - const isOpen = this.state.isMainMenuOpen - - return h(Dropdown, { - useCssTransition: true, - isOpen: isOpen, - zIndex: 11, - onClickOutside: (event) => { - const classList = event.target.classList - const parentClassList = event.target.parentElement.classList - - const isToggleElement = classList.contains('sandwich-expando') || - parentClassList.contains('sandwich-expando') - - if (isOpen && !isToggleElement) { - this.setState({ isMainMenuOpen: false }) - } - }, - style: { - position: 'absolute', - right: '2px', - top: '66px', - }, - innerStyle: {}, - }, [ - h(DropdownMenuItem, { - closeMenu: () => this.setState({ isMainMenuOpen: !isOpen }), - onClick: () => { dispatch(actions.showConfigPage()) }, - }, 'Settings'), - - h(DropdownMenuItem, { - closeMenu: () => this.setState({ isMainMenuOpen: !isOpen }), - onClick: () => { dispatch(actions.lockMetamask()) }, - }, 'Log Out'), - - h(DropdownMenuItem, { - closeMenu: () => this.setState({ isMainMenuOpen: !isOpen }), - onClick: () => { dispatch(actions.showInfoPage()) }, - }, 'Info/Help'), - - h(DropdownMenuItem, { - closeMenu: () => this.setState({ isMainMenuOpen: !isOpen }), - onClick: () => { - dispatch(actions.setFeatureFlag('betaUI', true, 'BETA_UI_NOTIFICATION_MODAL')) - }, - }, 'Try New UI!'), - ]) - } - - render () { - return h('div.full-width', [ - this.renderAppBar(), - this.renderNetworkDropdown(), - this.renderDropdown(), - ]) - } -} diff --git a/old-ui/app/components/balance.js b/old-ui/app/components/balance.js deleted file mode 100644 index 8995f961f..000000000 --- a/old-ui/app/components/balance.js +++ /dev/null @@ -1,96 +0,0 @@ -const Component = require('react').Component -const h = require('react-hyperscript') -const connect = require('react-redux').connect -const inherits = require('util').inherits -const formatBalance = require('../util').formatBalance -const generateBalanceObject = require('../util').generateBalanceObject -const Tooltip = require('./tooltip.js') -const FiatValue = require('./fiat-value.js') - -module.exports = connect(mapStateToProps)(EthBalanceComponent) -function mapStateToProps (state) { - return { - ticker: state.metamask.ticker, - } -} - -inherits(EthBalanceComponent, Component) -function EthBalanceComponent () { - Component.call(this) -} - -EthBalanceComponent.prototype.render = function () { - var props = this.props - let { value } = props - const { ticker } = props - var style = props.style - var needsParse = this.props.needsParse !== undefined ? this.props.needsParse : true - value = value ? formatBalance(value, 6, needsParse, ticker) : '...' - var width = props.width - - return ( - - h('.ether-balance.ether-balance-amount', { - style: style, - }, [ - h('div', { - style: { - display: 'inline', - width: width, - }, - }, this.renderBalance(value)), - ]) - - ) -} -EthBalanceComponent.prototype.renderBalance = function (value) { - var props = this.props - if (value === 'None') return value - if (value === '...') return value - var balanceObj = generateBalanceObject(value, props.shorten ? 1 : 3) - var balance - var splitBalance = value.split(' ') - var ethNumber = splitBalance[0] - var ethSuffix = splitBalance[1] - const showFiat = 'showFiat' in props ? props.showFiat : true - - if (props.shorten) { - balance = balanceObj.shortBalance - } else { - balance = balanceObj.balance - } - - var label = balanceObj.label - - return ( - h(Tooltip, { - position: 'bottom', - title: `${ethNumber} ${ethSuffix}`, - }, h('div.flex-column', [ - h('.flex-row', { - style: { - alignItems: 'flex-end', - lineHeight: '13px', - fontFamily: 'Montserrat Light', - textRendering: 'geometricPrecision', - }, - }, [ - h('div', { - style: { - width: '100%', - textAlign: 'right', - }, - }, this.props.incoming ? `+${balance}` : balance), - h('div', { - style: { - color: ' #AEAEAE', - fontSize: '12px', - marginLeft: '5px', - }, - }, label), - ]), - - showFiat ? h(FiatValue, { value: props.value }) : null, - ])) - ) -} diff --git a/old-ui/app/components/binary-renderer.js b/old-ui/app/components/binary-renderer.js deleted file mode 100644 index 0b6a1f5c2..000000000 --- a/old-ui/app/components/binary-renderer.js +++ /dev/null @@ -1,46 +0,0 @@ -const Component = require('react').Component -const h = require('react-hyperscript') -const inherits = require('util').inherits -const ethUtil = require('ethereumjs-util') -const extend = require('xtend') - -module.exports = BinaryRenderer - -inherits(BinaryRenderer, Component) -function BinaryRenderer () { - Component.call(this) -} - -BinaryRenderer.prototype.render = function () { - const props = this.props - const { value, style } = props - const text = this.hexToText(value) - - const defaultStyle = extend({ - width: '315px', - maxHeight: '210px', - resize: 'none', - border: 'none', - background: 'white', - padding: '3px', - }, style) - - return ( - h('textarea.font-small', { - readOnly: true, - style: defaultStyle, - defaultValue: text, - }) - ) -} - -BinaryRenderer.prototype.hexToText = function (hex) { - try { - const stripped = ethUtil.stripHexPrefix(hex) - const buff = Buffer.from(stripped, 'hex') - return buff.toString('utf8') - } catch (e) { - return hex - } -} - diff --git a/old-ui/app/components/bn-as-decimal-input.js b/old-ui/app/components/bn-as-decimal-input.js deleted file mode 100644 index 22e37602e..000000000 --- a/old-ui/app/components/bn-as-decimal-input.js +++ /dev/null @@ -1,181 +0,0 @@ -const Component = require('react').Component -const h = require('react-hyperscript') -const inherits = require('util').inherits -const ethUtil = require('ethereumjs-util') -const BN = ethUtil.BN -const extend = require('xtend') - -module.exports = BnAsDecimalInput - -inherits(BnAsDecimalInput, Component) -function BnAsDecimalInput () { - this.state = { invalid: null } - Component.call(this) -} - -/* Bn as Decimal Input - * - * A component for allowing easy, decimal editing - * of a passed in bn string value. - * - * On change, calls back its `onChange` function parameter - * and passes it an updated bn string. - */ - -BnAsDecimalInput.prototype.render = function () { - const props = this.props - const state = this.state - - const { value, scale, precision, onChange, min, max } = props - - const suffix = props.suffix - const style = props.style - const valueString = value.toString(10) - const newMin = min && this.downsize(min.toString(10), scale) - const newMax = max && this.downsize(max.toString(10), scale) - const newValue = this.downsize(valueString, scale) - - return ( - h('.flex-column', [ - h('.flex-row', { - style: { - alignItems: 'flex-end', - lineHeight: '13px', - fontFamily: 'Montserrat Light', - textRendering: 'geometricPrecision', - }, - }, [ - h('input.hex-input', { - type: 'number', - step: 'any', - required: true, - min: newMin, - max: newMax, - style: extend({ - display: 'block', - textAlign: 'right', - backgroundColor: 'transparent', - border: '1px solid #bdbdbd', - - }, style), - value: newValue, - onBlur: (event) => { - this.updateValidity(event) - }, - onChange: (event) => { - this.updateValidity(event) - const value = (event.target.value === '') ? '' : event.target.value - - - const scaledNumber = this.upsize(value, scale, precision) - const precisionBN = new BN(scaledNumber, 10) - onChange(precisionBN, event.target.checkValidity()) - }, - onInvalid: (event) => { - const msg = this.constructWarning() - if (msg === state.invalid) { - return - } - this.setState({ invalid: msg }) - event.preventDefault() - return false - }, - }), - h('div', { - style: { - color: ' #AEAEAE', - fontSize: '12px', - marginLeft: '5px', - marginRight: '6px', - width: '20px', - }, - }, suffix), - ]), - - state.invalid ? h('span.error', { - style: { - position: 'absolute', - right: '0px', - textAlign: 'right', - transform: 'translateY(26px)', - padding: '3px', - background: 'rgba(255,255,255,0.85)', - zIndex: '1', - textTransform: 'capitalize', - border: '2px solid #E20202', - }, - }, state.invalid) : null, - ]) - ) -} - -BnAsDecimalInput.prototype.setValid = function (message) { - this.setState({ invalid: null }) -} - -BnAsDecimalInput.prototype.updateValidity = function (event) { - const target = event.target - const value = this.props.value - const newValue = target.value - - if (value === newValue) { - return - } - - const valid = target.checkValidity() - - if (valid) { - this.setState({ invalid: null }) - } -} - -BnAsDecimalInput.prototype.constructWarning = function () { - const { name, min, max, scale, suffix } = this.props - const newMin = min && this.downsize(min.toString(10), scale) - const newMax = max && this.downsize(max.toString(10), scale) - let message = name ? name + ' ' : '' - - if (min && max) { - message += `must be greater than or equal to ${newMin} ${suffix} and less than or equal to ${newMax} ${suffix}.` - } else if (min) { - message += `must be greater than or equal to ${newMin} ${suffix}.` - } else if (max) { - message += `must be less than or equal to ${newMax} ${suffix}.` - } else { - message += 'Invalid input.' - } - - return message -} - - -BnAsDecimalInput.prototype.downsize = function (number, scale) { - // if there is no scaling, simply return the number - if (scale === 0) { - return Number(number) - } else { - // if the scale is the same as the precision, account for this edge case. - var adjustedNumber = number - while (adjustedNumber.length < scale) { - adjustedNumber = '0' + adjustedNumber - } - return Number(adjustedNumber.slice(0, -scale) + '.' + adjustedNumber.slice(-scale)) - } -} - -BnAsDecimalInput.prototype.upsize = function (number, scale, precision) { - var stringArray = number.toString().split('.') - var decimalLength = stringArray[1] ? stringArray[1].length : 0 - var newString = stringArray[0] - - // If there is scaling and decimal parts exist, integrate them in. - if ((scale !== 0) && (decimalLength !== 0)) { - newString += stringArray[1].slice(0, precision) - } - - // Add 0s to account for the upscaling. - for (var i = decimalLength; i < scale; i++) { - newString += '0' - } - return newString -} diff --git a/old-ui/app/components/buy-button-subview.js b/old-ui/app/components/buy-button-subview.js deleted file mode 100644 index 8bb73ae3e..000000000 --- a/old-ui/app/components/buy-button-subview.js +++ /dev/null @@ -1,261 +0,0 @@ -const Component = require('react').Component -const h = require('react-hyperscript') -const inherits = require('util').inherits -const connect = require('react-redux').connect -const actions = require('../../../ui/app/actions') -const CoinbaseForm = require('./coinbase-form') -const ShapeshiftForm = require('./shapeshift-form') -const Loading = require('./loading') -const AccountPanel = require('./account-panel') -const RadioList = require('./custom-radio-list') -const { getNetworkDisplayName } = require('../../../app/scripts/controllers/network/util') - -module.exports = connect(mapStateToProps)(BuyButtonSubview) - -function mapStateToProps (state) { - return { - identity: state.appState.identity, - account: state.metamask.accounts[state.appState.buyView.buyAddress], - warning: state.appState.warning, - buyView: state.appState.buyView, - network: state.metamask.network, - provider: state.metamask.provider, - context: state.appState.currentView.context, - isSubLoading: state.appState.isSubLoading, - } -} - -inherits(BuyButtonSubview, Component) -function BuyButtonSubview () { - Component.call(this) -} - -BuyButtonSubview.prototype.render = function () { - return ( - h('div', { - style: { - width: '100%', - }, - }, [ - this.headerSubview(), - this.primarySubview(), - ]) - ) -} - -BuyButtonSubview.prototype.headerSubview = function () { - const props = this.props - const isLoading = props.isSubLoading - return ( - - h('.flex-column', { - style: { - alignItems: 'center', - }, - }, [ - - // header bar (back button, label) - h('.flex-row', { - style: { - alignItems: 'center', - justifyContent: 'center', - }, - }, [ - h('i.fa.fa-arrow-left.fa-lg.cursor-pointer.color-orange', { - onClick: this.backButtonContext.bind(this), - style: { - position: 'absolute', - left: '10px', - }, - }), - h('h2.text-transform-uppercase.flex-center', { - style: { - width: '100vw', - background: 'rgb(235, 235, 235)', - color: 'rgb(174, 174, 174)', - paddingTop: '4px', - paddingBottom: '4px', - }, - }, 'Buy Eth'), - ]), - - // loading indication - h('div', { - style: { - position: 'absolute', - top: '57vh', - left: '49vw', - }, - }, [ - h(Loading, { isLoading }), - ]), - - // account panel - h('div', { - style: { - width: '80%', - }, - }, [ - h(AccountPanel, { - showFullAddress: true, - identity: props.identity, - account: props.account, - }), - ]), - - h('.flex-row', { - style: { - alignItems: 'center', - justifyContent: 'center', - }, - }, [ - h('h3.text-transform-uppercase.flex-center', { - style: { - paddingLeft: '15px', - width: '100vw', - background: 'rgb(235, 235, 235)', - color: 'rgb(174, 174, 174)', - paddingTop: '4px', - paddingBottom: '4px', - }, - }, 'Select Service'), - ]), - - ]) - - ) -} - - -BuyButtonSubview.prototype.primarySubview = function () { - const props = this.props - const network = props.network - - switch (network) { - case 'loading': - return - - case '1': - return this.mainnetSubview() - - // Ropsten, Rinkeby, Kovan - case '3': - case '4': - case '42': - const networkName = getNetworkDisplayName(network) - const label = `${networkName} Test Faucet` - return ( - h('div.flex-column', { - style: { - alignItems: 'center', - margin: '20px 50px', - }, - }, [ - h('button.text-transform-uppercase', { - onClick: () => this.props.dispatch(actions.buyEth({ network })), - style: { - marginTop: '15px', - }, - }, label), - // Kovan only: Dharma loans beta - network === '42' ? ( - h('button.text-transform-uppercase', { - onClick: () => this.navigateTo('https://borrow.dharma.io/'), - style: { - marginTop: '15px', - }, - }, 'Borrow With Dharma (Beta)') - ) : null, - ]) - ) - - default: - return ( - h('h2.error', 'Unknown network ID') - ) - - } -} - -BuyButtonSubview.prototype.mainnetSubview = function () { - const props = this.props - - return ( - - h('.flex-column', { - style: { - alignItems: 'center', - }, - }, [ - - h('.flex-row.selected-exchange', { - style: { - position: 'relative', - right: '35px', - marginTop: '20px', - marginBottom: '20px', - }, - }, [ - h(RadioList, { - defaultFocus: props.buyView.subview, - labels: [ - 'Coinbase', - 'ShapeShift', - ], - subtext: { - 'Coinbase': 'Crypto/FIAT (USA only)', - 'ShapeShift': 'Crypto', - }, - onClick: this.radioHandler.bind(this), - }), - ]), - - h('h3.text-transform-uppercase', { - style: { - paddingLeft: '15px', - fontFamily: 'Montserrat Light', - width: '100vw', - background: 'rgb(235, 235, 235)', - color: 'rgb(174, 174, 174)', - paddingTop: '4px', - paddingBottom: '4px', - }, - }, props.buyView.subview), - - this.formVersionSubview(), - ]) - - ) -} - -BuyButtonSubview.prototype.formVersionSubview = function () { - const network = this.props.network - if (network === '1') { - if (this.props.buyView.formView.coinbase) { - return h(CoinbaseForm, this.props) - } else if (this.props.buyView.formView.shapeshift) { - return h(ShapeshiftForm, this.props) - } - } -} - -BuyButtonSubview.prototype.navigateTo = function (url) { - global.platform.openWindow({ url }) -} - -BuyButtonSubview.prototype.backButtonContext = function () { - if (this.props.context === 'confTx') { - this.props.dispatch(actions.showConfTxPage(false)) - } else { - this.props.dispatch(actions.goHome()) - } -} - -BuyButtonSubview.prototype.radioHandler = function (event) { - switch (event.target.title) { - case 'Coinbase': - return this.props.dispatch(actions.coinBaseSubview()) - case 'ShapeShift': - return this.props.dispatch(actions.shapeShiftSubview(this.props.provider.type)) - } -} diff --git a/old-ui/app/components/coinbase-form.js b/old-ui/app/components/coinbase-form.js deleted file mode 100644 index 1a1b77b50..000000000 --- a/old-ui/app/components/coinbase-form.js +++ /dev/null @@ -1,63 +0,0 @@ -const Component = require('react').Component -const h = require('react-hyperscript') -const inherits = require('util').inherits -const connect = require('react-redux').connect -const actions = require('../../../ui/app/actions') - -module.exports = connect(mapStateToProps)(CoinbaseForm) - -function mapStateToProps (state) { - return { - warning: state.appState.warning, - } -} - -inherits(CoinbaseForm, Component) - -function CoinbaseForm () { - Component.call(this) -} - -CoinbaseForm.prototype.render = function () { - var props = this.props - - return h('.flex-column', { - style: { - marginTop: '35px', - padding: '25px', - width: '100%', - }, - }, [ - h('.flex-row', { - style: { - justifyContent: 'space-around', - margin: '33px', - marginTop: '0px', - }, - }, [ - h('button.btn-green', { - onClick: this.toCoinbase.bind(this), - }, 'Continue to Coinbase'), - - h('button.btn-red', { - onClick: () => props.dispatch(actions.goHome()), - }, 'Cancel'), - ]), - ]) -} - -CoinbaseForm.prototype.toCoinbase = function () { - const props = this.props - const address = props.buyView.buyAddress - props.dispatch(actions.buyEth({ network: '1', address, amount: 0 })) -} - -CoinbaseForm.prototype.renderLoading = function () { - return h('img', { - style: { - width: '27px', - marginRight: '-27px', - }, - src: 'images/loading.svg', - }) -} diff --git a/old-ui/app/components/copyButton.js b/old-ui/app/components/copyButton.js deleted file mode 100644 index a25d0719c..000000000 --- a/old-ui/app/components/copyButton.js +++ /dev/null @@ -1,59 +0,0 @@ -const Component = require('react').Component -const h = require('react-hyperscript') -const inherits = require('util').inherits -const copyToClipboard = require('copy-to-clipboard') - -const Tooltip = require('./tooltip') - -module.exports = CopyButton - -inherits(CopyButton, Component) -function CopyButton () { - Component.call(this) -} - -// As parameters, accepts: -// "value", which is the value to copy (mandatory) -// "title", which is the text to show on hover (optional, defaults to 'Copy') -CopyButton.prototype.render = function () { - const props = this.props - const state = this.state || {} - - const value = props.value - const copied = state.copied - - const message = copied ? 'Copied' : props.title || ' Copy ' - - return h('.copy-button', { - style: { - display: 'flex', - alignItems: 'center', - }, - }, [ - - h(Tooltip, { - title: message, - }, [ - h('i.fa.fa-clipboard.cursor-pointer.color-orange', { - style: { - margin: '5px', - }, - onClick: (event) => { - event.preventDefault() - event.stopPropagation() - copyToClipboard(value) - this.debounceRestore() - }, - }), - ]), - - ]) -} - -CopyButton.prototype.debounceRestore = function () { - this.setState({ copied: true }) - clearTimeout(this.timeout) - this.timeout = setTimeout(() => { - this.setState({ copied: false }) - }, 850) -} diff --git a/old-ui/app/components/copyable.js b/old-ui/app/components/copyable.js deleted file mode 100644 index a4f6f4bc6..000000000 --- a/old-ui/app/components/copyable.js +++ /dev/null @@ -1,46 +0,0 @@ -const Component = require('react').Component -const h = require('react-hyperscript') -const inherits = require('util').inherits - -const Tooltip = require('./tooltip') -const copyToClipboard = require('copy-to-clipboard') - -module.exports = Copyable - -inherits(Copyable, Component) -function Copyable () { - Component.call(this) - this.state = { - copied: false, - } -} - -Copyable.prototype.render = function () { - const props = this.props - const state = this.state - const { value, children } = props - const { copied } = state - - return h(Tooltip, { - title: copied ? 'Copied!' : 'Copy', - position: 'bottom', - }, h('span', { - style: { - cursor: 'pointer', - }, - onClick: (event) => { - event.preventDefault() - event.stopPropagation() - copyToClipboard(value) - this.debounceRestore() - }, - }, children)) -} - -Copyable.prototype.debounceRestore = function () { - this.setState({ copied: true }) - clearTimeout(this.timeout) - this.timeout = setTimeout(() => { - this.setState({ copied: false }) - }, 850) -} diff --git a/old-ui/app/components/custom-radio-list.js b/old-ui/app/components/custom-radio-list.js deleted file mode 100644 index a4c525396..000000000 --- a/old-ui/app/components/custom-radio-list.js +++ /dev/null @@ -1,60 +0,0 @@ -const Component = require('react').Component -const h = require('react-hyperscript') -const inherits = require('util').inherits - -module.exports = RadioList - -inherits(RadioList, Component) -function RadioList () { - Component.call(this) -} - -RadioList.prototype.render = function () { - const props = this.props - const activeClass = '.custom-radio-selected' - const inactiveClass = '.custom-radio-inactive' - const { - labels, - defaultFocus, - } = props - - - return ( - h('.flex-row', { - style: { - fontSize: '12px', - }, - }, [ - h('.flex-column.custom-radios', { - style: { - marginRight: '5px', - }, - }, - labels.map((lable, i) => { - let isSelcted = (this.state !== null) - isSelcted = isSelcted ? (this.state.selected === lable) : (defaultFocus === lable) - return h(isSelcted ? activeClass : inactiveClass, { - title: lable, - onClick: (event) => { - this.setState({selected: event.target.title}) - props.onClick(event) - }, - }) - }) - ), - h('.text', {}, - labels.map((lable) => { - if (props.subtext) { - return h('.flex-row', {}, [ - h('.radio-titles', lable), - h('.radio-titles-subtext', `- ${props.subtext[lable]}`), - ]) - } else { - return h('.radio-titles', lable) - } - }) - ), - ]) - ) -} - diff --git a/old-ui/app/components/dropdown.js b/old-ui/app/components/dropdown.js deleted file mode 100644 index fb606d2c5..000000000 --- a/old-ui/app/components/dropdown.js +++ /dev/null @@ -1,98 +0,0 @@ -const Component = require('react').Component -const PropTypes = require('prop-types') -const h = require('react-hyperscript') -const MenuDroppo = require('./menu-droppo') -const extend = require('xtend') - -const noop = () => {} - -class Dropdown extends Component { - render () { - const { isOpen, onClickOutside, style, innerStyle, children, useCssTransition } = this.props - - const innerStyleDefaults = extend({ - borderRadius: '4px', - padding: '8px 16px', - background: 'rgba(0, 0, 0, 0.8)', - boxShadow: 'rgba(0, 0, 0, 0.15) 0px 2px 2px 2px', - }, innerStyle) - - return h( - MenuDroppo, - { - useCssTransition, - isOpen, - zIndex: 11, - onClickOutside, - style, - innerStyle: innerStyleDefaults, - }, - [ - h( - 'style', - ` - li.dropdown-menu-item:hover { color:rgb(225, 225, 225); } - li.dropdown-menu-item { color: rgb(185, 185, 185); position: relative } - ` - ), - ...children, - ] - ) - } -} - -Dropdown.defaultProps = { - isOpen: false, - onClick: noop, - useCssTransition: false, -} - -Dropdown.propTypes = { - isOpen: PropTypes.bool.isRequired, - onClick: PropTypes.func.isRequired, - children: PropTypes.node, - style: PropTypes.object.isRequired, - onClickOutside: PropTypes.func, - innerStyle: PropTypes.object, - useCssTransition: PropTypes.bool, -} - -class DropdownMenuItem extends Component { - render () { - const { onClick, closeMenu, children, style } = this.props - - return h( - 'li.dropdown-menu-item', - { - onClick: () => { - onClick() - closeMenu() - }, - style: Object.assign({ - listStyle: 'none', - padding: '8px 0px 8px 0px', - fontSize: '18px', - fontStyle: 'normal', - fontFamily: 'Montserrat Regular', - cursor: 'pointer', - display: 'flex', - justifyContent: 'flex-start', - alignItems: 'center', - }, style), - }, - children - ) - } -} - -DropdownMenuItem.propTypes = { - closeMenu: PropTypes.func.isRequired, - onClick: PropTypes.func.isRequired, - children: PropTypes.node, - style: PropTypes.object, -} - -module.exports = { - Dropdown, - DropdownMenuItem, -} diff --git a/old-ui/app/components/editable-label.js b/old-ui/app/components/editable-label.js deleted file mode 100644 index 8a5c8954f..000000000 --- a/old-ui/app/components/editable-label.js +++ /dev/null @@ -1,57 +0,0 @@ -const Component = require('react').Component -const h = require('react-hyperscript') -const inherits = require('util').inherits -const findDOMNode = require('react-dom').findDOMNode - -module.exports = EditableLabel - -inherits(EditableLabel, Component) -function EditableLabel () { - Component.call(this) -} - -EditableLabel.prototype.render = function () { - const props = this.props - const state = this.state - - if (state && state.isEditingLabel) { - return h('div.editable-label', [ - h('input.sizing-input', { - defaultValue: props.textValue, - maxLength: '20', - onKeyPress: (event) => { - this.saveIfEnter(event) - }, - }), - h('button.editable-button', { - onClick: () => this.saveText(), - }, 'Save'), - ]) - } else { - return h('div.name-label', { - onClick: (event) => { - const nameAttribute = event.target.getAttribute('name') - // checks for class to handle smaller CTA above the account name - const classAttribute = event.target.getAttribute('class') - if (nameAttribute === 'edit' || classAttribute === 'edit-text') { - this.setState({ isEditingLabel: true }) - } - }, - }, this.props.children) - } -} - -EditableLabel.prototype.saveIfEnter = function (event) { - if (event.key === 'Enter') { - this.saveText() - } -} - -EditableLabel.prototype.saveText = function () { - // eslint-disable-next-line react/no-find-dom-node - var container = findDOMNode(this) - var text = container.querySelector('.editable-label input').value - var truncatedText = text.substring(0, 20) - this.props.saveText(truncatedText) - this.setState({ isEditingLabel: false, textLabel: truncatedText }) -} diff --git a/old-ui/app/components/ens-input.js b/old-ui/app/components/ens-input.js deleted file mode 100644 index 9c46f77d7..000000000 --- a/old-ui/app/components/ens-input.js +++ /dev/null @@ -1,176 +0,0 @@ -const Component = require('react').Component -const h = require('react-hyperscript') -const inherits = require('util').inherits -const debounce = require('debounce') -const copyToClipboard = require('copy-to-clipboard') -const ENS = require('ethjs-ens') -const networkMap = require('ethjs-ens/lib/network-map.json') -const ensRE = /.+\..+$/ -const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000' -const log = require('loglevel') - - -module.exports = EnsInput - -inherits(EnsInput, Component) -function EnsInput () { - Component.call(this) -} - -EnsInput.prototype.render = function () { - const props = this.props - - function onInputChange () { - const network = this.props.network - const networkHasEnsSupport = getNetworkEnsSupport(network) - if (!networkHasEnsSupport) return - - const recipient = document.querySelector('input[name="address"]').value - if (recipient.match(ensRE) === null) { - return this.setState({ - loadingEns: false, - ensResolution: null, - ensFailure: null, - }) - } - - this.setState({ - loadingEns: true, - }) - this.checkName() - } - - return ( - h('div', { - style: { width: '100%' }, - }, [ - h('input.large-input', { - name: props.name, - placeholder: props.placeholder, - list: 'addresses', - onChange: onInputChange.bind(this), - }), - // The address book functionality. - h('datalist#addresses', - [ - // Corresponds to the addresses owned. - Object.keys(props.identities).map((key) => { - const identity = props.identities[key] - return h('option', { - value: identity.address, - label: identity.name, - key: identity.address, - }) - }), - // Corresponds to previously sent-to addresses. - props.addressBook.map((identity) => { - return h('option', { - value: identity.address, - label: identity.name, - key: identity.address, - }) - }), - ]), - this.ensIcon(), - ]) - ) -} - -EnsInput.prototype.componentDidMount = function () { - const network = this.props.network - const networkHasEnsSupport = getNetworkEnsSupport(network) - this.setState({ ensResolution: ZERO_ADDRESS }) - - if (networkHasEnsSupport) { - const provider = global.ethereumProvider - this.ens = new ENS({ provider, network }) - this.checkName = debounce(this.lookupEnsName.bind(this), 200) - } -} - -EnsInput.prototype.lookupEnsName = function () { - const recipient = document.querySelector('input[name="address"]').value - const { ensResolution } = this.state - - log.info(`ENS attempting to resolve name: ${recipient}`) - this.ens.lookup(recipient.trim()) - .then((address) => { - if (address === ZERO_ADDRESS) throw new Error('No address has been set for this name.') - if (address !== ensResolution) { - this.setState({ - loadingEns: false, - ensResolution: address, - nickname: recipient.trim(), - hoverText: address + '\nClick to Copy', - ensFailure: false, - }) - } - }) - .catch((reason) => { - log.error(reason) - return this.setState({ - loadingEns: false, - ensResolution: ZERO_ADDRESS, - ensFailure: true, - hoverText: reason.message, - }) - }) -} - -EnsInput.prototype.componentDidUpdate = function (prevProps, prevState) { - const state = this.state || {} - const ensResolution = state.ensResolution - // If an address is sent without a nickname, meaning not from ENS or from - // the user's own accounts, a default of a one-space string is used. - const nickname = state.nickname || ' ' - if (prevState && ensResolution && this.props.onChange && - ensResolution !== prevState.ensResolution) { - this.props.onChange(ensResolution, nickname) - } -} - -EnsInput.prototype.ensIcon = function (recipient) { - const { hoverText } = this.state || {} - return h('span', { - title: hoverText, - style: { - position: 'absolute', - padding: '9px', - transform: 'translatex(-40px)', - }, - }, this.ensIconContents(recipient)) -} - -EnsInput.prototype.ensIconContents = function (recipient) { - const { loadingEns, ensFailure, ensResolution } = this.state || { ensResolution: ZERO_ADDRESS} - - if (loadingEns) { - return h('img', { - src: 'images/loading.svg', - style: { - width: '30px', - height: '30px', - transform: 'translateY(-6px)', - }, - }) - } - - if (ensFailure) { - return h('i.fa.fa-warning.fa-lg.warning') - } - - if (ensResolution && (ensResolution !== ZERO_ADDRESS)) { - return h('i.fa.fa-check-circle.fa-lg.cursor-pointer', { - style: { color: 'green' }, - onClick: (event) => { - event.preventDefault() - event.stopPropagation() - copyToClipboard(ensResolution) - }, - }) - } -} - -function getNetworkEnsSupport (network) { - return Boolean(networkMap[network]) -} diff --git a/old-ui/app/components/eth-balance.js b/old-ui/app/components/eth-balance.js deleted file mode 100644 index 4458e6a9a..000000000 --- a/old-ui/app/components/eth-balance.js +++ /dev/null @@ -1,95 +0,0 @@ -const Component = require('react').Component -const h = require('react-hyperscript') -const connect = require('react-redux').connect -const inherits = require('util').inherits -const formatBalance = require('../util').formatBalance -const generateBalanceObject = require('../util').generateBalanceObject -const Tooltip = require('./tooltip.js') -const FiatValue = require('./fiat-value.js') - -module.exports = connect(mapStateToProps)(EthBalanceComponent) -function mapStateToProps (state) { - return { - ticker: state.metamask.ticker, - } -} - -inherits(EthBalanceComponent, Component) -function EthBalanceComponent () { - Component.call(this) -} - -EthBalanceComponent.prototype.render = function () { - var props = this.props - let { value } = props - const { ticker, style, width } = props - var needsParse = this.props.needsParse !== undefined ? this.props.needsParse : true - value = value ? formatBalance(value, 6, needsParse, ticker) : '...' - - return ( - - h('.ether-balance.ether-balance-amount', { - style, - }, [ - h('div', { - style: { - display: 'inline', - width, - }, - }, this.renderBalance(value)), - ]) - - ) -} -EthBalanceComponent.prototype.renderBalance = function (value) { - var props = this.props - const { conversionRate, shorten, incoming, currentCurrency } = props - if (value === 'None') return value - if (value === '...') return value - var balanceObj = generateBalanceObject(value, shorten ? 1 : 3) - var balance - var splitBalance = value.split(' ') - var ethNumber = splitBalance[0] - var ethSuffix = splitBalance[1] - const showFiat = 'showFiat' in props ? props.showFiat : true - - if (shorten) { - balance = balanceObj.shortBalance - } else { - balance = balanceObj.balance - } - - var label = balanceObj.label - - return ( - h(Tooltip, { - position: 'bottom', - title: `${ethNumber} ${ethSuffix}`, - }, h('div.flex-column', [ - h('.flex-row', { - style: { - alignItems: 'flex-end', - lineHeight: '13px', - fontFamily: 'Montserrat Light', - textRendering: 'geometricPrecision', - }, - }, [ - h('div', { - style: { - width: '100%', - textAlign: 'right', - }, - }, incoming ? `+${balance}` : balance), - h('div', { - style: { - color: ' #AEAEAE', - fontSize: '12px', - marginLeft: '5px', - }, - }, label), - ]), - - showFiat ? h(FiatValue, { value: props.value, conversionRate, currentCurrency }) : null, - ])) - ) -} diff --git a/old-ui/app/components/fiat-value.js b/old-ui/app/components/fiat-value.js deleted file mode 100644 index d69f41d11..000000000 --- a/old-ui/app/components/fiat-value.js +++ /dev/null @@ -1,64 +0,0 @@ -const Component = require('react').Component -const h = require('react-hyperscript') -const inherits = require('util').inherits -const formatBalance = require('../util').formatBalance - -module.exports = FiatValue - -inherits(FiatValue, Component) -function FiatValue () { - Component.call(this) -} - -FiatValue.prototype.render = function () { - const props = this.props - const { conversionRate, currentCurrency } = props - const renderedCurrency = currentCurrency || '' - - const value = formatBalance(props.value, 6) - - if (value === 'None') return value - var fiatDisplayNumber, fiatTooltipNumber - var splitBalance = value.split(' ') - - if (conversionRate !== 0) { - fiatTooltipNumber = Number(splitBalance[0]) * conversionRate - fiatDisplayNumber = fiatTooltipNumber.toFixed(2) - } else { - fiatDisplayNumber = 'N/A' - fiatTooltipNumber = 'Unknown' - } - - return fiatDisplay(fiatDisplayNumber, renderedCurrency.toUpperCase()) -} - -function fiatDisplay (fiatDisplayNumber, fiatSuffix) { - if (fiatDisplayNumber !== 'N/A') { - return h('.flex-row', { - style: { - alignItems: 'flex-end', - lineHeight: '13px', - fontFamily: 'Montserrat Light', - textRendering: 'geometricPrecision', - }, - }, [ - h('div', { - style: { - width: '100%', - textAlign: 'right', - fontSize: '12px', - color: '#333333', - }, - }, fiatDisplayNumber), - h('div', { - style: { - color: '#AEAEAE', - marginLeft: '5px', - fontSize: '12px', - }, - }, fiatSuffix), - ]) - } else { - return h('div') - } -} diff --git a/old-ui/app/components/hex-as-decimal-input.js b/old-ui/app/components/hex-as-decimal-input.js deleted file mode 100644 index 4a71e9585..000000000 --- a/old-ui/app/components/hex-as-decimal-input.js +++ /dev/null @@ -1,154 +0,0 @@ -const Component = require('react').Component -const h = require('react-hyperscript') -const inherits = require('util').inherits -const ethUtil = require('ethereumjs-util') -const BN = ethUtil.BN -const extend = require('xtend') - -module.exports = HexAsDecimalInput - -inherits(HexAsDecimalInput, Component) -function HexAsDecimalInput () { - this.state = { invalid: null } - Component.call(this) -} - -/* Hex as Decimal Input - * - * A component for allowing easy, decimal editing - * of a passed in hex string value. - * - * On change, calls back its `onChange` function parameter - * and passes it an updated hex string. - */ - -HexAsDecimalInput.prototype.render = function () { - const props = this.props - const state = this.state - - const { value, onChange, min, max } = props - - const toEth = props.toEth - const suffix = props.suffix - const decimalValue = decimalize(value, toEth) - const style = props.style - - return ( - h('.flex-column', [ - h('.flex-row', { - style: { - alignItems: 'flex-end', - lineHeight: '13px', - fontFamily: 'Montserrat Light', - textRendering: 'geometricPrecision', - }, - }, [ - h('input.hex-input', { - type: 'number', - required: true, - min: min, - max: max, - style: extend({ - display: 'block', - textAlign: 'right', - backgroundColor: 'transparent', - border: '1px solid #bdbdbd', - - }, style), - value: parseInt(decimalValue), - onBlur: (event) => { - this.updateValidity(event) - }, - onChange: (event) => { - this.updateValidity(event) - const hexString = (event.target.value === '') ? '' : hexify(event.target.value) - onChange(hexString) - }, - onInvalid: (event) => { - const msg = this.constructWarning() - if (msg === state.invalid) { - return - } - this.setState({ invalid: msg }) - event.preventDefault() - return false - }, - }), - h('div', { - style: { - color: ' #AEAEAE', - fontSize: '12px', - marginLeft: '5px', - marginRight: '6px', - width: '20px', - }, - }, suffix), - ]), - - state.invalid ? h('span.error', { - style: { - position: 'absolute', - right: '0px', - textAlign: 'right', - transform: 'translateY(26px)', - padding: '3px', - background: 'rgba(255,255,255,0.85)', - zIndex: '1', - textTransform: 'capitalize', - border: '2px solid #E20202', - }, - }, state.invalid) : null, - ]) - ) -} - -HexAsDecimalInput.prototype.setValid = function (message) { - this.setState({ invalid: null }) -} - -HexAsDecimalInput.prototype.updateValidity = function (event) { - const target = event.target - const value = this.props.value - const newValue = target.value - - if (value === newValue) { - return - } - - const valid = target.checkValidity() - if (valid) { - this.setState({ invalid: null }) - } -} - -HexAsDecimalInput.prototype.constructWarning = function () { - const { name, min, max } = this.props - let message = name ? name + ' ' : '' - - if (min && max) { - message += `must be greater than or equal to ${min} and less than or equal to ${max}.` - } else if (min) { - message += `must be greater than or equal to ${min}.` - } else if (max) { - message += `must be less than or equal to ${max}.` - } else { - message += 'Invalid input.' - } - - return message -} - -function hexify (decimalString) { - const hexBN = new BN(parseInt(decimalString), 10) - return '0x' + hexBN.toString('hex') -} - -function decimalize (input, toEth) { - if (input === '') { - return '' - } else { - const strippedInput = ethUtil.stripHexPrefix(input) - const inputBN = new BN(strippedInput, 'hex') - return inputBN.toString(10) - } -} diff --git a/old-ui/app/components/identicon.js b/old-ui/app/components/identicon.js deleted file mode 100644 index bb476ca7b..000000000 --- a/old-ui/app/components/identicon.js +++ /dev/null @@ -1,74 +0,0 @@ -const Component = require('react').Component -const h = require('react-hyperscript') -const inherits = require('util').inherits -const isNode = require('detect-node') -const findDOMNode = require('react-dom').findDOMNode -const jazzicon = require('jazzicon') -const iconFactoryGen = require('../../lib/icon-factory') -const iconFactory = iconFactoryGen(jazzicon) - -module.exports = IdenticonComponent - -inherits(IdenticonComponent, Component) -function IdenticonComponent () { - Component.call(this) - - this.defaultDiameter = 46 -} - -IdenticonComponent.prototype.render = function () { - var props = this.props - var diameter = props.diameter || this.defaultDiameter - return ( - h('div', { - key: 'identicon-' + this.props.address, - style: { - display: 'flex', - alignItems: 'center', - justifyContent: 'center', - height: diameter, - width: diameter, - borderRadius: diameter / 2, - overflow: 'hidden', - }, - }) - ) -} - -IdenticonComponent.prototype.componentDidMount = function () { - var props = this.props - const { address } = props - - if (!address) return - - // eslint-disable-next-line react/no-find-dom-node - var container = findDOMNode(this) - - var diameter = props.diameter || this.defaultDiameter - if (!isNode) { - var img = iconFactory.iconForAddress(address, diameter) - container.appendChild(img) - } -} - -IdenticonComponent.prototype.componentDidUpdate = function () { - var props = this.props - const { address } = props - - if (!address) return - - // eslint-disable-next-line react/no-find-dom-node - var container = findDOMNode(this) - - var children = container.children - for (var i = 0; i < children.length; i++) { - container.removeChild(children[i]) - } - - var diameter = props.diameter || this.defaultDiameter - if (!isNode) { - var img = iconFactory.iconForAddress(address, diameter) - container.appendChild(img) - } -} - diff --git a/old-ui/app/components/loading.js b/old-ui/app/components/loading.js deleted file mode 100644 index 2a29361f9..000000000 --- a/old-ui/app/components/loading.js +++ /dev/null @@ -1,55 +0,0 @@ -const inherits = require('util').inherits -const Component = require('react').Component -const h = require('react-hyperscript') - - -inherits(LoadingIndicator, Component) -module.exports = LoadingIndicator - -function LoadingIndicator () { - Component.call(this) -} - -LoadingIndicator.prototype.render = function () { - const { isLoading, loadingMessage, canBypass, bypass } = this.props - - return ( - isLoading ? h('.full-flex-height', { - style: { - left: '0px', - zIndex: 10, - position: 'absolute', - flexDirection: 'column', - display: 'flex', - justifyContent: 'center', - alignItems: 'center', - height: '100%', - width: '100%', - background: 'rgba(255, 255, 255, 0.8)', - }, - }, [ - canBypass ? h('i.fa.fa-close.cursor-pointer.close-loading', { - style: { - position: 'absolute', - top: '1px', - right: '15px', - color: '#AEAEAE', - }, - onClick: bypass, - }) : null, - - h('img', { - src: 'images/loading.svg', - }), - - h('br'), - - showMessageIfAny(loadingMessage), - ]) : null - ) -} - -function showMessageIfAny (loadingMessage) { - if (!loadingMessage) return null - return h('span', loadingMessage) -} diff --git a/old-ui/app/components/mascot.js b/old-ui/app/components/mascot.js deleted file mode 100644 index 973ec2cad..000000000 --- a/old-ui/app/components/mascot.js +++ /dev/null @@ -1,59 +0,0 @@ -const inherits = require('util').inherits -const Component = require('react').Component -const h = require('react-hyperscript') -const metamaskLogo = require('metamask-logo') -const debounce = require('debounce') - -module.exports = Mascot - -inherits(Mascot, Component) -function Mascot () { - Component.call(this) - this.logo = metamaskLogo({ - followMouse: true, - pxNotRatio: true, - width: 200, - height: 200, - }) - - this.refollowMouse = debounce(this.logo.setFollowMouse.bind(this.logo, true), 1000) - this.unfollowMouse = this.logo.setFollowMouse.bind(this.logo, false) -} - -Mascot.prototype.render = function () { - // this is a bit hacky - // the event emitter is on `this.props` - // and we dont get that until render - this.handleAnimationEvents() - - return h('#metamask-mascot-container', { - style: { zIndex: 0 }, - }) -} - -Mascot.prototype.componentDidMount = function () { - var targetDivId = 'metamask-mascot-container' - var container = document.getElementById(targetDivId) - container.appendChild(this.logo.container) -} - -Mascot.prototype.componentWillUnmount = function () { - this.animations = this.props.animationEventEmitter - this.animations.removeAllListeners() - this.logo.container.remove() - this.logo.stopAnimation() -} - -Mascot.prototype.handleAnimationEvents = function () { - // only setup listeners once - if (this.animations) return - this.animations = this.props.animationEventEmitter - this.animations.on('point', this.lookAt.bind(this)) - this.animations.on('setFollowMouse', this.logo.setFollowMouse.bind(this.logo)) -} - -Mascot.prototype.lookAt = function (target) { - this.unfollowMouse() - this.logo.lookAt(target) - this.refollowMouse() -} diff --git a/old-ui/app/components/menu-droppo.js b/old-ui/app/components/menu-droppo.js deleted file mode 100644 index e6276f3b1..000000000 --- a/old-ui/app/components/menu-droppo.js +++ /dev/null @@ -1,132 +0,0 @@ -const Component = require('react').Component -const h = require('react-hyperscript') -const inherits = require('util').inherits -const findDOMNode = require('react-dom').findDOMNode -const ReactCSSTransitionGroup = require('react-addons-css-transition-group') - -module.exports = MenuDroppoComponent - - -inherits(MenuDroppoComponent, Component) -function MenuDroppoComponent () { - Component.call(this) -} - -MenuDroppoComponent.prototype.render = function () { - const speed = this.props.speed || '300ms' - const useCssTransition = this.props.useCssTransition - const zIndex = ('zIndex' in this.props) ? this.props.zIndex : 0 - - this.manageListeners() - - const style = this.props.style || {} - if (!('position' in style)) { - style.position = 'fixed' - } - style.zIndex = zIndex - - return ( - h('.menu-droppo-container', { - style, - }, [ - h('style', ` - .menu-droppo-enter { - transition: transform ${speed} ease-in-out; - transform: translateY(-200%); - } - - .menu-droppo-enter.menu-droppo-enter-active { - transition: transform ${speed} ease-in-out; - transform: translateY(0%); - } - - .menu-droppo-leave { - transition: transform ${speed} ease-in-out; - transform: translateY(0%); - } - - .menu-droppo-leave.menu-droppo-leave-active { - transition: transform ${speed} ease-in-out; - transform: translateY(-200%); - } - `), - - useCssTransition - ? h(ReactCSSTransitionGroup, { - className: 'css-transition-group', - transitionName: 'menu-droppo', - transitionEnterTimeout: parseInt(speed), - transitionLeaveTimeout: parseInt(speed), - }, this.renderPrimary()) - : this.renderPrimary(), - ]) - ) -} - -MenuDroppoComponent.prototype.renderPrimary = function () { - const isOpen = this.props.isOpen - if (!isOpen) { - return null - } - - const innerStyle = this.props.innerStyle || {} - - return ( - h('.menu-droppo', { - key: 'menu-droppo-drawer', - style: innerStyle, - }, - [ this.props.children ]) - ) -} - -MenuDroppoComponent.prototype.manageListeners = function () { - const isOpen = this.props.isOpen - const onClickOutside = this.props.onClickOutside - - if (isOpen) { - this.outsideClickHandler = onClickOutside - } else if (isOpen) { - this.outsideClickHandler = null - } -} - -MenuDroppoComponent.prototype.componentDidMount = function () { - if (this && document.body) { - this.globalClickHandler = this.globalClickOccurred.bind(this) - document.body.addEventListener('click', this.globalClickHandler) - // eslint-disable-next-line react/no-find-dom-node - var container = findDOMNode(this) - this.container = container - } -} - -MenuDroppoComponent.prototype.componentWillUnmount = function () { - if (this && document.body) { - document.body.removeEventListener('click', this.globalClickHandler) - } -} - -MenuDroppoComponent.prototype.globalClickOccurred = function (event) { - const target = event.target - // eslint-disable-next-line react/no-find-dom-node - const container = findDOMNode(this) - - if (target !== container && - !isDescendant(this.container, event.target) && - this.outsideClickHandler) { - this.outsideClickHandler(event) - } -} - -function isDescendant (parent, child) { - var node = child.parentNode - while (node !== null) { - if (node === parent) { - return true - } - node = node.parentNode - } - - return false -} diff --git a/old-ui/app/components/mini-account-panel.js b/old-ui/app/components/mini-account-panel.js deleted file mode 100644 index c09cf5b7a..000000000 --- a/old-ui/app/components/mini-account-panel.js +++ /dev/null @@ -1,74 +0,0 @@ -const inherits = require('util').inherits -const Component = require('react').Component -const h = require('react-hyperscript') -const Identicon = require('./identicon') - -module.exports = AccountPanel - - -inherits(AccountPanel, Component) -function AccountPanel () { - Component.call(this) -} - -AccountPanel.prototype.render = function () { - var props = this.props - var picOrder = props.picOrder || 'left' - const { imageSeed } = props - - return ( - - h('.identity-panel.flex-row.flex-left', { - style: { - cursor: props.onClick ? 'pointer' : undefined, - }, - onClick: props.onClick, - }, [ - - this.genIcon(imageSeed, picOrder), - - h('div.flex-column.flex-justify-center', { - style: { - lineHeight: '15px', - order: 2, - display: 'flex', - alignItems: picOrder === 'left' ? 'flex-begin' : 'flex-end', - }, - }, this.props.children), - ]) - ) -} - -AccountPanel.prototype.genIcon = function (seed, picOrder) { - const props = this.props - - // When there is no seed value, this is a contract creation. - // We then show the contract icon. - if (!seed) { - return h('.identicon-wrapper.flex-column.select-none', { - style: { - order: picOrder === 'left' ? 1 : 3, - }, - }, [ - h('i.fa.fa-file-text-o.fa-lg', { - style: { - fontSize: '42px', - transform: 'translate(0px, -16px)', - }, - }), - ]) - } - - // If there was a seed, we return an identicon for that address. - return h('.identicon-wrapper.flex-column.select-none', { - style: { - order: picOrder === 'left' ? 1 : 3, - }, - }, [ - h(Identicon, { - address: seed, - imageify: props.imageifyIdenticons, - }), - ]) -} - diff --git a/old-ui/app/components/network.js b/old-ui/app/components/network.js deleted file mode 100644 index 59596dabd..000000000 --- a/old-ui/app/components/network.js +++ /dev/null @@ -1,131 +0,0 @@ -const Component = require('react').Component -const h = require('react-hyperscript') -const inherits = require('util').inherits - -module.exports = Network - -inherits(Network, Component) - -function Network () { - Component.call(this) -} - -Network.prototype.render = function () { - const props = this.props - const networkNumber = props.network - let providerName - try { - providerName = props.provider.type - } catch (e) { - providerName = null - } - let iconName, hoverText - - if (networkNumber === 'loading') { - return h('span.pointer', { - className: props.onClick && 'pointer', - style: { - display: 'flex', - alignItems: 'center', - flexDirection: 'row', - }, - onClick: (event) => props.onClick && props.onClick(event), - }, [ - props.onClick && h('img', { - title: 'Attempting to connect to blockchain.', - style: { - width: '27px', - }, - src: 'images/loading.svg', - }), - h('i.fa.fa-caret-down'), - ]) - } else if (providerName === 'mainnet') { - hoverText = 'Main Ethereum Network' - iconName = 'ethereum-network' - } else if (providerName === 'ropsten') { - hoverText = 'Ropsten Test Network' - iconName = 'ropsten-test-network' - } else if (parseInt(networkNumber) === 3) { - hoverText = 'Ropsten Test Network' - iconName = 'ropsten-test-network' - } else if (providerName === 'kovan') { - hoverText = 'Kovan Test Network' - iconName = 'kovan-test-network' - } else if (providerName === 'rinkeby') { - hoverText = 'Rinkeby Test Network' - iconName = 'rinkeby-test-network' - } else { - hoverText = 'Unknown Private Network' - iconName = 'unknown-private-network' - } - - return ( - h('#network_component', { - className: props.onClick && 'pointer', - title: hoverText, - onClick: (event) => props.onClick && props.onClick(event), - }, [ - (function () { - switch (iconName) { - case 'ethereum-network': - return h('.network-indicator', [ - h('.menu-icon.diamond'), - h('.network-name', { - style: { - color: '#039396', - }}, - 'Main Network'), - props.onClick && h('i.fa.fa-caret-down.fa-lg'), - ]) - case 'ropsten-test-network': - return h('.network-indicator', [ - h('.menu-icon.red-dot'), - h('.network-name', { - style: { - color: '#ff6666', - }}, - 'Ropsten Test Net'), - props.onClick && h('i.fa.fa-caret-down.fa-lg'), - ]) - case 'kovan-test-network': - return h('.network-indicator', [ - h('.menu-icon.hollow-diamond'), - h('.network-name', { - style: { - color: '#690496', - }}, - 'Kovan Test Net'), - props.onClick && h('i.fa.fa-caret-down.fa-lg'), - ]) - case 'rinkeby-test-network': - return h('.network-indicator', [ - h('.menu-icon.golden-square'), - h('.network-name', { - style: { - color: '#e7a218', - }}, - 'Rinkeby Test Net'), - props.onClick && h('i.fa.fa-caret-down.fa-lg'), - ]) - default: - return h('.network-indicator', [ - h('i.fa.fa-question-circle.fa-lg', { - style: { - margin: '10px', - color: 'rgb(125, 128, 130)', - }, - }), - - h('.network-name', { - style: { - color: '#AEAEAE', - }}, - 'Private Network'), - props.onClick && h('i.fa.fa-caret-down.fa-lg'), - ]) - } - })(), - ]) - ) -} diff --git a/old-ui/app/components/notice.js b/old-ui/app/components/notice.js deleted file mode 100644 index 1ec254555..000000000 --- a/old-ui/app/components/notice.js +++ /dev/null @@ -1,145 +0,0 @@ -const inherits = require('util').inherits -const Component = require('react').Component -const h = require('react-hyperscript') -const ReactMarkdown = require('react-markdown') -const linker = require('extension-link-enabler') -const findDOMNode = require('react-dom').findDOMNode - -module.exports = Notice - -inherits(Notice, Component) -function Notice () { - Component.call(this) -} - -Notice.prototype.render = function () { - const { notice, onConfirm } = this.props - const { title, date, body } = notice - const state = this.state || { disclaimerDisabled: true } - const disabled = state.disclaimerDisabled - - return ( - h('.flex-column.flex-center.flex-grow', { - style: { - width: '100%', - }, - }, [ - h('h3.flex-center.text-transform-uppercase.terms-header', { - style: { - background: '#EBEBEB', - color: '#AEAEAE', - width: '100%', - fontSize: '20px', - textAlign: 'center', - padding: 6, - }, - }, [ - title, - ]), - - h('h5.flex-center.text-transform-uppercase.terms-header', { - style: { - background: '#EBEBEB', - color: '#AEAEAE', - marginBottom: 24, - width: '100%', - fontSize: '20px', - textAlign: 'center', - padding: 6, - }, - }, [ - date, - ]), - - h('style', ` - - .markdown { - overflow-x: hidden; - } - - .markdown h1, .markdown h2, .markdown h3 { - margin: 10px 0; - font-weight: bold; - } - - .markdown strong { - font-weight: bold; - } - .markdown em { - font-style: italic; - } - - .markdown p { - margin: 10px 0; - } - - .markdown a { - color: #df6b0e; - } - - `), - - h('div.markdown', { - onScroll: (e) => { - var object = e.currentTarget - if (object.offsetHeight + object.scrollTop + 100 >= object.scrollHeight) { - this.setState({disclaimerDisabled: false}) - } - }, - style: { - background: 'rgb(235, 235, 235)', - height: '310px', - padding: '6px', - width: '90%', - overflowY: 'scroll', - scroll: 'auto', - }, - }, [ - h(ReactMarkdown, { - className: 'notice-box', - source: body, - skipHtml: true, - }), - ]), - - h('button', { - disabled, - onClick: () => { - this.setState({disclaimerDisabled: true}) - onConfirm() - }, - style: { - marginTop: '18px', - }, - }, 'Accept'), - ]) - ) -} - -Notice.prototype.setInitialDisclaimerState = function () { - if (document.getElementsByClassName('notice-box')[0].clientHeight < 310) { - this.setState({disclaimerDisabled: false}) - } -} - -Notice.prototype.componentDidMount = function () { - // eslint-disable-next-line react/no-find-dom-node - var node = findDOMNode(this) - linker.setupListener(node) - this.setInitialDisclaimerState() -} - -Notice.prototype.componentDidUpdate = function (prevProps) { - const { notice: { id } = {} } = this.props - const { notice: { id: prevNoticeId } = {} } = prevProps - - if (id !== prevNoticeId) { - this.setInitialDisclaimerState() - } -} - -Notice.prototype.componentWillUnmount = function () { - // eslint-disable-next-line react/no-find-dom-node - var node = findDOMNode(this) - linker.teardownListener(node) -} diff --git a/old-ui/app/components/pending-msg-details.js b/old-ui/app/components/pending-msg-details.js deleted file mode 100644 index 718a22de0..000000000 --- a/old-ui/app/components/pending-msg-details.js +++ /dev/null @@ -1,50 +0,0 @@ -const Component = require('react').Component -const h = require('react-hyperscript') -const inherits = require('util').inherits - -const AccountPanel = require('./account-panel') - -module.exports = PendingMsgDetails - -inherits(PendingMsgDetails, Component) -function PendingMsgDetails () { - Component.call(this) -} - -PendingMsgDetails.prototype.render = function () { - var state = this.props - var msgData = state.txData - - var msgParams = msgData.msgParams || {} - var address = msgParams.from || state.selectedAddress - var identity = state.identities[address] || { address: address } - var account = state.accounts[address] || { address: address } - - return ( - h('div', { - key: msgData.id, - style: { - margin: '10px 20px', - }, - }, [ - - // account that will sign - h(AccountPanel, { - showFullAddress: true, - identity: identity, - account: account, - imageifyIdenticons: state.imageifyIdenticons, - }), - - // message data - h('.tx-data.flex-column.flex-justify-center.flex-grow.select-none', [ - h('.flex-column.flex-space-between', [ - h('label.font-small', 'MESSAGE'), - h('span.font-small', msgParams.data), - ]), - ]), - - ]) - ) -} - diff --git a/old-ui/app/components/pending-msg.js b/old-ui/app/components/pending-msg.js deleted file mode 100644 index 834719c53..000000000 --- a/old-ui/app/components/pending-msg.js +++ /dev/null @@ -1,70 +0,0 @@ -const Component = require('react').Component -const h = require('react-hyperscript') -const inherits = require('util').inherits -const PendingTxDetails = require('./pending-msg-details') - -module.exports = PendingMsg - -inherits(PendingMsg, Component) -function PendingMsg () { - Component.call(this) -} - -PendingMsg.prototype.render = function () { - var state = this.props - var msgData = state.txData - - return ( - - h('div', { - key: msgData.id, - style: { - maxWidth: '350px', - }, - }, [ - - // header - h('h3', { - style: { - fontWeight: 'bold', - textAlign: 'center', - }, - }, 'Sign Message'), - - h('.error', { - style: { - margin: '10px', - }, - }, [ - `Signing this message can have - dangerous side effects. Only sign messages from - sites you fully trust with your entire account. - This dangerous method will be removed in a future version. `, - h('a', { - href: 'https://medium.com/metamask/the-new-secure-way-to-sign-data-in-your-browser-6af9dd2a1527', - style: { color: 'rgb(247, 134, 28)' }, - onClick: (event) => { - event.preventDefault() - const url = 'https://medium.com/metamask/the-new-secure-way-to-sign-data-in-your-browser-6af9dd2a1527' - global.platform.openWindow({ url }) - }, - }, 'Read more here.'), - ]), - - // message details - h(PendingTxDetails, state), - - // sign + cancel - h('.flex-row.flex-space-around', [ - h('button', { - onClick: state.cancelMessage, - }, 'Cancel'), - h('button', { - onClick: state.signMessage, - }, 'Sign'), - ]), - ]) - - ) -} - diff --git a/old-ui/app/components/pending-personal-msg-details.js b/old-ui/app/components/pending-personal-msg-details.js deleted file mode 100644 index 1050513f2..000000000 --- a/old-ui/app/components/pending-personal-msg-details.js +++ /dev/null @@ -1,60 +0,0 @@ -const Component = require('react').Component -const h = require('react-hyperscript') -const inherits = require('util').inherits - -const AccountPanel = require('./account-panel') -const BinaryRenderer = require('./binary-renderer') - -module.exports = PendingMsgDetails - -inherits(PendingMsgDetails, Component) -function PendingMsgDetails () { - Component.call(this) -} - -PendingMsgDetails.prototype.render = function () { - var state = this.props - var msgData = state.txData - - var msgParams = msgData.msgParams || {} - var address = msgParams.from || state.selectedAddress - var identity = state.identities[address] || { address: address } - var account = state.accounts[address] || { address: address } - - var { data } = msgParams - - return ( - h('div', { - key: msgData.id, - style: { - margin: '10px 20px', - }, - }, [ - - // account that will sign - h(AccountPanel, { - showFullAddress: true, - identity: identity, - account: account, - imageifyIdenticons: state.imageifyIdenticons, - }), - - // message data - h('div', { - style: { - height: '260px', - }, - }, [ - h('label.font-small', { style: { display: 'block' } }, 'MESSAGE'), - h(BinaryRenderer, { - value: data, - style: { - height: '215px', - }, - }), - ]), - - ]) - ) -} - diff --git a/old-ui/app/components/pending-personal-msg.js b/old-ui/app/components/pending-personal-msg.js deleted file mode 100644 index 4542adb28..000000000 --- a/old-ui/app/components/pending-personal-msg.js +++ /dev/null @@ -1,47 +0,0 @@ -const Component = require('react').Component -const h = require('react-hyperscript') -const inherits = require('util').inherits -const PendingTxDetails = require('./pending-personal-msg-details') - -module.exports = PendingMsg - -inherits(PendingMsg, Component) -function PendingMsg () { - Component.call(this) -} - -PendingMsg.prototype.render = function () { - var state = this.props - var msgData = state.txData - - return ( - - h('div', { - key: msgData.id, - }, [ - - // header - h('h3', { - style: { - fontWeight: 'bold', - textAlign: 'center', - }, - }, 'Sign Message'), - - // message details - h(PendingTxDetails, state), - - // sign + cancel - h('.flex-row.flex-space-around', [ - h('button', { - onClick: state.cancelPersonalMessage, - }, 'Cancel'), - h('button', { - onClick: state.signPersonalMessage, - }, 'Sign'), - ]), - ]) - - ) -} - diff --git a/old-ui/app/components/pending-tx.js b/old-ui/app/components/pending-tx.js deleted file mode 100644 index 35e81210e..000000000 --- a/old-ui/app/components/pending-tx.js +++ /dev/null @@ -1,519 +0,0 @@ -const Component = require('react').Component -const connect = require('react-redux').connect -const h = require('react-hyperscript') -const inherits = require('util').inherits -const actions = require('../../../ui/app/actions') -const clone = require('clone') -const log = require('loglevel') - -const ethUtil = require('ethereumjs-util') -const BN = ethUtil.BN -const hexToBn = require('../../../app/scripts/lib/hex-to-bn') -const util = require('../util') -const MiniAccountPanel = require('./mini-account-panel') -const Copyable = require('./copyable') -const EthBalance = require('./eth-balance') -const addressSummary = util.addressSummary -const nameForAddress = require('../../lib/contract-namer') -const BNInput = require('./bn-as-decimal-input') - -const MIN_GAS_PRICE_BN = new BN('0') -const MIN_GAS_LIMIT_BN = new BN('21000') - -module.exports = connect()(PendingTx) - - -inherits(PendingTx, Component) -function PendingTx () { - Component.call(this) - this.state = { - valid: true, - txData: null, - submitting: false, - } -} - -PendingTx.prototype.render = function () { - const props = this.props - const { currentCurrency, blockGasLimit } = props - - const conversionRate = props.conversionRate - const txMeta = this.gatherTxMeta() - const txParams = txMeta.txParams || {} - - // Allow retry txs - const { lastGasPrice } = txMeta - let forceGasMin - if (lastGasPrice) { - const stripped = ethUtil.stripHexPrefix(lastGasPrice) - const lastGas = new BN(stripped, 16) - const priceBump = lastGas.divn('10') - forceGasMin = lastGas.add(priceBump) - } - - // Account Details - const address = txParams.from || props.selectedAddress - const identity = props.identities[address] || { address: address } - const account = props.accounts[address] - const balance = account ? account.balance : '0x0' - - // recipient check - const isValidAddress = !txParams.to || util.isValidAddress(txParams.to) - - // Gas - const gas = txParams.gas - const gasBn = hexToBn(gas) - // default to 8MM gas limit - const gasLimit = new BN(parseInt(blockGasLimit) || '8000000') - const safeGasLimitBN = this.bnMultiplyByFraction(gasLimit, 99, 100) - const saferGasLimitBN = this.bnMultiplyByFraction(gasLimit, 98, 100) - const safeGasLimit = safeGasLimitBN.toString(10) - - // Gas Price - const gasPrice = txParams.gasPrice || MIN_GAS_PRICE_BN.toString(16) - const gasPriceBn = hexToBn(gasPrice) - - const txFeeBn = gasBn.mul(gasPriceBn) - const valueBn = hexToBn(txParams.value) - const maxCost = txFeeBn.add(valueBn) - - const dataLength = txParams.data ? (txParams.data.length - 2) / 2 : 0 - - const balanceBn = hexToBn(balance) - const insufficientBalance = balanceBn.lt(maxCost) - const dangerousGasLimit = gasBn.gte(saferGasLimitBN) - const gasLimitSpecified = txMeta.gasLimitSpecified - const buyDisabled = insufficientBalance || !this.state.valid || !isValidAddress || this.state.submitting - const showRejectAll = props.unconfTxListLength > 1 - - this.inputs = [] - - return ( - - h('div', { - key: txMeta.id, - }, [ - - h('form#pending-tx-form', { - onSubmit: this.onSubmit.bind(this), - - }, [ - - // tx info - h('div', [ - - h('.flex-row.flex-center', { - style: { - maxWidth: '100%', - }, - }, [ - - h(MiniAccountPanel, { - imageSeed: address, - picOrder: 'right', - }, [ - h('span.font-small', { - style: { - fontFamily: 'Montserrat Bold, Montserrat, sans-serif', - }, - }, identity.name), - - h(Copyable, { - value: ethUtil.toChecksumAddress(address), - }, [ - h('span.font-small', { - style: { - fontFamily: 'Montserrat Light, Montserrat, sans-serif', - }, - }, addressSummary(address, 6, 4, false)), - ]), - - h('span.font-small', { - style: { - fontFamily: 'Montserrat Light, Montserrat, sans-serif', - }, - }, [ - h(EthBalance, { - value: balance, - conversionRate, - currentCurrency, - inline: true, - labelColor: '#F7861C', - }), - ]), - ]), - - forwardCarrat(), - - this.miniAccountPanelForRecipient(), - ]), - - h('style', ` - .table-box { - margin: 7px 0px 0px 0px; - width: 100%; - } - .table-box .row { - margin: 0px; - background: rgb(236,236,236); - display: flex; - justify-content: space-between; - font-family: Montserrat Light, sans-serif; - font-size: 13px; - padding: 5px 25px; - } - .table-box .row .value { - font-family: Montserrat Regular; - } - `), - - h('.table-box', [ - - // Ether Value - // Currently not customizable, but easily modified - // in the way that gas and gasLimit currently are. - h('.row', [ - h('.cell.label', 'Amount'), - h(EthBalance, { value: txParams.value, currentCurrency, conversionRate }), - ]), - - // Gas Limit (customizable) - h('.cell.row', [ - h('.cell.label', 'Gas Limit'), - h('.cell.value', { - }, [ - h(BNInput, { - name: 'Gas Limit', - value: gasBn, - precision: 0, - scale: 0, - // The hard lower limit for gas. - min: MIN_GAS_LIMIT_BN, - max: safeGasLimit, - suffix: 'UNITS', - style: { - position: 'relative', - top: '5px', - }, - onChange: this.gasLimitChanged.bind(this), - - ref: (hexInput) => { this.inputs.push(hexInput) }, - }), - ]), - ]), - - // Gas Price (customizable) - h('.cell.row', [ - h('.cell.label', 'Gas Price'), - h('.cell.value', { - }, [ - h(BNInput, { - name: 'Gas Price', - value: gasPriceBn, - precision: 9, - scale: 9, - suffix: 'GWEI', - min: forceGasMin || MIN_GAS_PRICE_BN, - style: { - position: 'relative', - top: '5px', - }, - onChange: this.gasPriceChanged.bind(this), - ref: (hexInput) => { this.inputs.push(hexInput) }, - }), - ]), - ]), - - // Max Transaction Fee (calculated) - h('.cell.row', [ - h('.cell.label', 'Max Transaction Fee'), - h(EthBalance, { value: txFeeBn.toString(16), currentCurrency, conversionRate }), - ]), - - h('.cell.row', { - style: { - fontFamily: 'Montserrat Regular', - background: 'white', - padding: '10px 25px', - }, - }, [ - h('.cell.label', 'Max Total'), - h('.cell.value', { - style: { - display: 'flex', - alignItems: 'center', - }, - }, [ - h(EthBalance, { - value: maxCost.toString(16), - currentCurrency, - conversionRate, - inline: true, - labelColor: 'black', - fontSize: '16px', - }), - ]), - ]), - - // Data size row: - h('.cell.row', { - style: { - background: '#f7f7f7', - paddingBottom: '0px', - }, - }, [ - h('.cell.label'), - h('.cell.value', { - style: { - fontFamily: 'Montserrat Light', - fontSize: '11px', - }, - }, `Data included: ${dataLength} bytes`), - ]), - ]), // End of Table - - ]), - - h('style', ` - .conf-buttons button { - margin-left: 10px; - text-transform: uppercase; - } - `), - h('.cell.row', { - style: { - textAlign: 'center', - }, - }, [ - txMeta.simulationFails ? - h('.error', { - style: { - fontSize: '0.9em', - }, - }, 'Transaction Error. Exception thrown in contract code.') - : null, - - !isValidAddress ? - h('.error', { - style: { - fontSize: '0.9em', - }, - }, 'Recipient address is invalid. Sending this transaction will result in a loss of ETH.') - : null, - - insufficientBalance ? - h('span.error', { - style: { - fontSize: '0.9em', - }, - }, 'Insufficient balance for transaction') - : null, - - (dangerousGasLimit && !gasLimitSpecified) ? - h('span.error', { - style: { - fontSize: '0.9em', - }, - }, 'Gas limit set dangerously high. Approving this transaction is liable to fail.') - : null, - ]), - - - // send + cancel - h('.flex-row.flex-space-around.conf-buttons', { - style: { - display: 'flex', - justifyContent: 'flex-end', - margin: '14px 25px', - }, - }, [ - h('button', { - onClick: (event) => { - this.resetGasFields() - event.preventDefault() - }, - }, 'Reset'), - - // Accept Button or Buy Button - insufficientBalance ? h('button.btn-green', { onClick: props.buyEth }, 'Buy Ether') : - h('input.confirm.btn-green', { - type: 'submit', - value: 'SUBMIT', - style: { marginLeft: '10px' }, - disabled: buyDisabled, - }), - - h('button.cancel.btn-red', { - onClick: props.cancelTransaction, - }, 'Reject'), - ]), - showRejectAll ? h('.flex-row.flex-space-around.conf-buttons', { - style: { - display: 'flex', - justifyContent: 'flex-end', - margin: '14px 25px', - }, - }, [ - h('button.cancel.btn-red', { - onClick: props.cancelAllTransactions, - }, 'Reject All'), - ]) : null, - ]), - ]) - ) -} - -PendingTx.prototype.miniAccountPanelForRecipient = function () { - const props = this.props - const txData = props.txData - const txParams = txData.txParams || {} - const isContractDeploy = !('to' in txParams) - - // If it's not a contract deploy, send to the account - if (!isContractDeploy) { - return h(MiniAccountPanel, { - imageSeed: txParams.to, - picOrder: 'left', - }, [ - - h('span.font-small', { - style: { - fontFamily: 'Montserrat Bold, Montserrat, sans-serif', - }, - }, nameForAddress(txParams.to, props.identities)), - - h(Copyable, { - value: ethUtil.toChecksumAddress(txParams.to), - }, [ - h('span.font-small', { - style: { - fontFamily: 'Montserrat Light, Montserrat, sans-serif', - }, - }, addressSummary(txParams.to, 6, 4, false)), - ]), - - ]) - } else { - return h(MiniAccountPanel, { - picOrder: 'left', - }, [ - - h('span.font-small', { - style: { - fontFamily: 'Montserrat Bold, Montserrat, sans-serif', - }, - }, 'New Contract'), - - ]) - } -} - -PendingTx.prototype.gasPriceChanged = function (newBN, valid) { - log.info(`Gas price changed to: ${newBN.toString(10)}`) - const txMeta = this.gatherTxMeta() - txMeta.txParams.gasPrice = '0x' + newBN.toString('hex') - this.setState({ - txData: clone(txMeta), - valid, - }) -} - -PendingTx.prototype.gasLimitChanged = function (newBN, valid) { - log.info(`Gas limit changed to ${newBN.toString(10)}`) - const txMeta = this.gatherTxMeta() - txMeta.txParams.gas = '0x' + newBN.toString('hex') - this.setState({ - txData: clone(txMeta), - valid, - }) -} - -PendingTx.prototype.resetGasFields = function () { - log.debug(`pending-tx resetGasFields`) - - this.inputs.forEach((hexInput) => { - if (hexInput) { - hexInput.setValid() - } - }) - - this.setState({ - txData: null, - valid: true, - }) -} - -PendingTx.prototype.onSubmit = function (event) { - event.preventDefault() - const txMeta = this.gatherTxMeta() - const valid = this.checkValidity() - this.setState({ valid, submitting: true }) - const validGasParams = this.verifyGasParams() - if (valid && validGasParams) { - this.props.sendTransaction(txMeta, event) - } else { - this.props.dispatch(actions.displayWarning('Invalid Gas Parameters')) - this.setState({ submitting: false }) - } -} - -PendingTx.prototype.checkValidity = function () { - const form = this.getFormEl() - const valid = form.checkValidity() - return valid -} - -PendingTx.prototype.getFormEl = function () { - const form = document.querySelector('form#pending-tx-form') - // Stub out form for unit tests: - if (!form) { - return { checkValidity () { return true } } - } - return form -} - -// After a customizable state value has been updated, -PendingTx.prototype.gatherTxMeta = function () { - log.debug(`pending-tx gatherTxMeta`) - const props = this.props - const state = this.state - const txData = clone(state.txData) || clone(props.txData) - - log.debug(`UI has defaulted to tx meta ${JSON.stringify(txData)}`) - return txData -} - -PendingTx.prototype.verifyGasParams = function () { - // We call this in case the gas has not been modified at all - if (!this.state) { return true } - return ( - this._notZeroOrEmptyString(this.state.gas) && - this._notZeroOrEmptyString(this.state.gasPrice) - ) -} - -PendingTx.prototype._notZeroOrEmptyString = function (value) { - // allow undefined values - if (value === undefined) return true - // Geth will return '0x', and ganache-core v2.2.1 will return '0x0' - const valueIsEmpty = !value || value === '0x' || value === '0x0' - return !valueIsEmpty -} - -PendingTx.prototype.bnMultiplyByFraction = function (targetBN, numerator, denominator) { - const numBN = new BN(numerator) - const denomBN = new BN(denominator) - return targetBN.mul(numBN).div(denomBN) -} - -function forwardCarrat () { - return ( - h('img', { - src: 'images/forward-carrat.svg', - style: { - padding: '5px 6px 0px 10px', - height: '37px', - }, - }) - ) -} diff --git a/old-ui/app/components/pending-typed-msg-details.js b/old-ui/app/components/pending-typed-msg-details.js deleted file mode 100644 index f95bf43a7..000000000 --- a/old-ui/app/components/pending-typed-msg-details.js +++ /dev/null @@ -1,60 +0,0 @@ -const Component = require('react').Component -const h = require('react-hyperscript') -const inherits = require('util').inherits - -const AccountPanel = require('./account-panel') -const TypedMessageRenderer = require('./typed-message-renderer') - -module.exports = PendingMsgDetails - -inherits(PendingMsgDetails, Component) -function PendingMsgDetails () { - Component.call(this) -} - -PendingMsgDetails.prototype.render = function () { - var state = this.props - var msgData = state.txData - - var msgParams = msgData.msgParams || {} - var address = msgParams.from || state.selectedAddress - var identity = state.identities[address] || { address: address } - var account = state.accounts[address] || { address: address } - - var { data, version } = msgParams - - return ( - h('div', { - key: msgData.id, - style: { - margin: '10px 20px', - }, - }, [ - - // account that will sign - h(AccountPanel, { - showFullAddress: true, - identity: identity, - account: account, - imageifyIdenticons: state.imageifyIdenticons, - }), - - // message data - h('div', { - style: { - height: '260px', - }, - }, [ - h('label.font-small', { style: { display: 'block' } }, 'YOU ARE SIGNING'), - h(TypedMessageRenderer, { - value: data, - version, - style: { - height: '215px', - }, - }), - ]), - - ]) - ) -} diff --git a/old-ui/app/components/pending-typed-msg.js b/old-ui/app/components/pending-typed-msg.js deleted file mode 100644 index f8926d0a3..000000000 --- a/old-ui/app/components/pending-typed-msg.js +++ /dev/null @@ -1,46 +0,0 @@ -const Component = require('react').Component -const h = require('react-hyperscript') -const inherits = require('util').inherits -const PendingTxDetails = require('./pending-typed-msg-details') - -module.exports = PendingMsg - -inherits(PendingMsg, Component) -function PendingMsg () { - Component.call(this) -} - -PendingMsg.prototype.render = function () { - var state = this.props - var msgData = state.txData - - return ( - - h('div', { - key: msgData.id, - }, [ - - // header - h('h3', { - style: { - fontWeight: 'bold', - textAlign: 'center', - }, - }, 'Sign Message'), - - // message details - h(PendingTxDetails, state), - - // sign + cancel - h('.flex-row.flex-space-around', [ - h('button', { - onClick: state.cancelTypedMessage, - }, 'Cancel'), - h('button', { - onClick: state.signTypedMessage, - }, 'Sign'), - ]), - ]) - - ) -} diff --git a/old-ui/app/components/range-slider.js b/old-ui/app/components/range-slider.js deleted file mode 100644 index bae740a74..000000000 --- a/old-ui/app/components/range-slider.js +++ /dev/null @@ -1,58 +0,0 @@ -const Component = require('react').Component -const h = require('react-hyperscript') -const inherits = require('util').inherits - -module.exports = RangeSlider - -inherits(RangeSlider, Component) -function RangeSlider () { - Component.call(this) -} - -RangeSlider.prototype.render = function () { - const state = this.state || {} - const props = this.props - const onInput = props.onInput || function () {} - const name = props.name - const { - min = 0, - max = 100, - increment = 1, - defaultValue = 50, - mirrorInput = false, - } = this.props.options - const {container, input, range} = props.style - - return ( - h('.flex-row', { - style: container, - }, [ - h('input', { - type: 'range', - name: name, - min: min, - max: max, - step: increment, - style: range, - value: state.value || defaultValue, - onChange: mirrorInput ? this.mirrorInputs.bind(this) : onInput, - }), - - // Mirrored input for range - mirrorInput ? h('input.large-input', { - type: 'number', - name: `${name}Mirror`, - min: min, - max: max, - value: state.value || defaultValue, - step: increment, - style: input, - onChange: this.mirrorInputs.bind(this), - }) : null, - ]) - ) -} - -RangeSlider.prototype.mirrorInputs = function (event) { - this.setState({value: event.target.value}) -} diff --git a/old-ui/app/components/shapeshift-form.js b/old-ui/app/components/shapeshift-form.js deleted file mode 100644 index 14de309ab..000000000 --- a/old-ui/app/components/shapeshift-form.js +++ /dev/null @@ -1,306 +0,0 @@ -const PersistentForm = require('../../lib/persistent-form') -const h = require('react-hyperscript') -const inherits = require('util').inherits -const connect = require('react-redux').connect -const actions = require('../../../ui/app/actions') -const isValidAddress = require('../util').isValidAddress -module.exports = connect(mapStateToProps)(ShapeshiftForm) - -function mapStateToProps (state) { - return { - warning: state.appState.warning, - isSubLoading: state.appState.isSubLoading, - } -} - -inherits(ShapeshiftForm, PersistentForm) - -function ShapeshiftForm () { - PersistentForm.call(this) - this.persistentFormParentId = 'shapeshift-buy-form' -} - -ShapeshiftForm.prototype.render = function () { - return this.renderMain() -} - -ShapeshiftForm.prototype.renderMain = function () { - const marketinfo = this.props.buyView.formView.marketinfo - const coinOptions = this.props.buyView.formView.coinOptions - var coin = marketinfo.pair.split('_')[0].toUpperCase() - - return h('.flex-column', { - style: { - position: 'relative', - padding: '25px', - paddingTop: '5px', - width: '90%', - minHeight: '215px', - alignItems: 'center', - overflowY: 'auto', - }, - }, [ - h('.flex-row', { - style: { - justifyContent: 'center', - alignItems: 'baseline', - height: '42px', - }, - }, [ - h('img', { - src: coinOptions[coin].image, - width: '25px', - height: '25px', - style: { - marginRight: '5px', - }, - }), - - h('.input-container', { - position: 'relative', - }, [ - h('input#fromCoin.buy-inputs.ex-coins', { - type: 'text', - list: 'coinList', - autoFocus: true, - dataset: { - persistentFormId: 'input-coin', - }, - style: { - boxSizing: 'border-box', - }, - onChange: this.handleLiveInput.bind(this), - defaultValue: 'BTC', - }), - - this.renderCoinList(), - - h('i.fa.fa-pencil-square-o.edit-text', { - style: { - fontSize: '12px', - color: '#F7861C', - position: 'absolute', - }, - }), - ]), - - h('.icon-control', { - style: { - position: 'relative', - }, - }, [ - // Not visible on the screen, can't see it on master. - - // h('i.fa.fa-refresh.fa-4.orange', { - // style: { - // bottom: '5px', - // left: '5px', - // color: '#F7861C', - // }, - // onClick: this.updateCoin.bind(this), - // }), - h('i.fa.fa-chevron-right.fa-4.orange', { - style: { - position: 'absolute', - bottom: '35%', - left: '0%', - color: '#F7861C', - }, - onClick: this.updateCoin.bind(this), - }), - ]), - - h('#toCoin.ex-coins', marketinfo.pair.split('_')[1].toUpperCase()), - - h('img', { - src: coinOptions[marketinfo.pair.split('_')[1].toUpperCase()].image, - width: '25px', - height: '25px', - style: { - marginLeft: '5px', - }, - }), - ]), - - h('.flex-column', { - style: { - marginTop: '1%', - alignItems: 'flex-start', - }, - }, [ - this.props.warning ? - this.props.warning && - h('span.error.flex-center', { - style: { - textAlign: 'center', - width: '229px', - height: '82px', - }, - }, this.props.warning + '') - : this.renderInfo(), - - this.renderRefundAddressForCoin(coin), - ]), - - ]) -} - -ShapeshiftForm.prototype.renderRefundAddressForCoin = function (coin) { - return h(this.activeToggle('.input-container'), { - style: { - marginTop: '1%', - }, - }, [ - - h('div', `${coin} Address:`), - - h('input#fromCoinAddress.buy-inputs', { - type: 'text', - placeholder: `Your ${coin} Refund Address`, - dataset: { - persistentFormId: 'refund-address', - - }, - style: { - boxSizing: 'border-box', - width: '227px', - height: '30px', - padding: ' 5px ', - }, - }), - - h('i.fa.fa-pencil-square-o.edit-text', { - style: { - fontSize: '12px', - color: '#F7861C', - position: 'absolute', - }, - }), - h('div.flex-row', { - style: { - justifyContent: 'flex-start', - }, - }, [ - h('button', { - onClick: this.shift.bind(this), - style: { - marginTop: '1%', - }, - }, - 'Submit'), - ]), - ]) -} - -ShapeshiftForm.prototype.shift = function () { - var props = this.props - var withdrawal = this.props.buyView.buyAddress - var returnAddress = document.getElementById('fromCoinAddress').value - var pair = this.props.buyView.formView.marketinfo.pair - var data = { - 'withdrawal': withdrawal, - 'pair': pair, - 'returnAddress': returnAddress, - // Public api key - 'apiKey': '803d1f5df2ed1b1476e4b9e6bcd089e34d8874595dda6a23b67d93c56ea9cc2445e98a6748b219b2b6ad654d9f075f1f1db139abfa93158c04e825db122c14b6', - } - var message = [ - `Deposit Limit: ${props.buyView.formView.marketinfo.limit}`, - `Deposit Minimum:${props.buyView.formView.marketinfo.minimum}`, - ] - if (isValidAddress(withdrawal)) { - this.props.dispatch(actions.coinShiftRquest(data, message)) - } -} - -ShapeshiftForm.prototype.renderCoinList = function () { - var list = Object.keys(this.props.buyView.formView.coinOptions).map((item) => { - return h('option', { - value: item, - }, item) - }) - - return h('datalist#coinList', { - onClick: (event) => { - event.preventDefault() - }, - }, list) -} - -ShapeshiftForm.prototype.updateCoin = function (event) { - event.preventDefault() - const props = this.props - var coinOptions = this.props.buyView.formView.coinOptions - var coin = document.getElementById('fromCoin').value - - if (!coinOptions[coin.toUpperCase()] || coin.toUpperCase() === 'ETH') { - var message = 'Not a valid coin' - return props.dispatch(actions.displayWarning(message)) - } else { - return props.dispatch(actions.pairUpdate(coin)) - } -} - -ShapeshiftForm.prototype.handleLiveInput = function () { - const props = this.props - var coinOptions = this.props.buyView.formView.coinOptions - var coin = document.getElementById('fromCoin').value - - if (!coinOptions[coin.toUpperCase()] || coin.toUpperCase() === 'ETH') { - return null - } else { - return props.dispatch(actions.pairUpdate(coin)) - } -} - -ShapeshiftForm.prototype.renderInfo = function () { - const marketinfo = this.props.buyView.formView.marketinfo - const coinOptions = this.props.buyView.formView.coinOptions - var coin = marketinfo.pair.split('_')[0].toUpperCase() - - return h('span', { - style: { - }, - }, [ - h('h3.flex-row.text-transform-uppercase', { - style: { - color: '#868686', - paddingTop: '4px', - justifyContent: 'space-around', - textAlign: 'center', - fontSize: '17px', - }, - }, `Market Info for ${marketinfo.pair.replace('_', ' to ').toUpperCase()}:`), - h('.marketinfo', ['Status : ', `${coinOptions[coin].status}`]), - h('.marketinfo', ['Exchange Rate: ', `${marketinfo.rate}`]), - h('.marketinfo', ['Limit: ', `${marketinfo.limit}`]), - h('.marketinfo', ['Minimum : ', `${marketinfo.minimum}`]), - ]) -} - -ShapeshiftForm.prototype.activeToggle = function (elementType) { - if (!this.props.buyView.formView.response || this.props.warning) return elementType - return `${elementType}.inactive` -} - -ShapeshiftForm.prototype.renderLoading = function () { - return h('span', { - style: { - position: 'absolute', - left: '70px', - bottom: '194px', - background: 'transparent', - width: '229px', - height: '82px', - display: 'flex', - justifyContent: 'center', - }, - }, [ - h('img', { - style: { - width: '60px', - }, - src: 'images/loading.svg', - }), - ]) -} diff --git a/old-ui/app/components/shift-list-item.js b/old-ui/app/components/shift-list-item.js deleted file mode 100644 index 01b8d548f..000000000 --- a/old-ui/app/components/shift-list-item.js +++ /dev/null @@ -1,204 +0,0 @@ -const inherits = require('util').inherits -const Component = require('react').Component -const h = require('react-hyperscript') -const connect = require('react-redux').connect -const { DateTime } = require('luxon') -const explorerLink = require('etherscan-link').createExplorerLink -const actions = require('../../../ui/app/actions') -const addressSummary = require('../util').addressSummary - -const CopyButton = require('./copyButton') -const EthBalance = require('./eth-balance') -const Tooltip = require('./tooltip') - - -module.exports = connect(mapStateToProps)(ShiftListItem) - -function mapStateToProps (state) { - return { - conversionRate: state.metamask.conversionRate, - currentCurrency: state.metamask.currentCurrency, - } -} - -inherits(ShiftListItem, Component) - -function ShiftListItem () { - Component.call(this) -} - -ShiftListItem.prototype.render = function () { - return ( - h('.transaction-list-item.flex-row', { - style: { - paddingTop: '20px', - paddingBottom: '20px', - justifyContent: 'space-around', - alignItems: 'center', - }, - }, [ - h('div', { - style: { - width: '0px', - position: 'relative', - bottom: '19px', - }, - }, [ - h('img', { - src: 'https://info.shapeshift.io/sites/default/files/logo.png', - style: { - height: '35px', - width: '132px', - position: 'absolute', - clip: 'rect(0px,23px,34px,0px)', - }, - }), - ]), - - this.renderInfo(), - this.renderUtilComponents(), - ]) - ) -} - -function formatDate (date) { - return DateTime.fromMillis(date).toFormat('MMMM d y T') -} - -ShiftListItem.prototype.renderUtilComponents = function () { - var props = this.props - const { conversionRate, currentCurrency } = props - - switch (props.response.status) { - case 'no_deposits': - return h('.flex-row', [ - h(CopyButton, { - value: this.props.depositAddress, - }), - h(Tooltip, { - title: 'QR Code', - }, [ - h('i.fa.fa-qrcode.pointer.pop-hover', { - onClick: () => props.dispatch(actions.reshowQrCode(props.depositAddress, props.depositType)), - style: { - margin: '5px', - marginLeft: '23px', - marginRight: '12px', - fontSize: '20px', - color: '#F7861C', - }, - }), - ]), - ]) - case 'received': - return h('.flex-row') - - case 'complete': - return h('.flex-row', [ - h(CopyButton, { - value: this.props.response.transaction, - }), - h(EthBalance, { - value: `${props.response.outgoingCoin}`, - conversionRate, - currentCurrency, - width: '55px', - shorten: true, - needsParse: false, - incoming: true, - style: { - fontSize: '15px', - color: '#01888C', - }, - }), - ]) - - case 'failed': - return '' - default: - return '' - } -} - -ShiftListItem.prototype.renderInfo = function () { - var props = this.props - switch (props.response.status) { - case 'no_deposits': - return h('.flex-column', { - style: { - width: '200px', - overflow: 'hidden', - }, - }, [ - h('div', { - style: { - fontSize: 'x-small', - color: '#ABA9AA', - width: '100%', - }, - }, `${props.depositType} to ETH via ShapeShift`), - h('div', 'No deposits received'), - h('div', { - style: { - fontSize: 'x-small', - color: '#ABA9AA', - width: '100%', - }, - }, formatDate(props.time)), - ]) - case 'received': - return h('.flex-column', { - style: { - width: '200px', - overflow: 'hidden', - }, - }, [ - h('div', { - style: { - fontSize: 'x-small', - color: '#ABA9AA', - width: '100%', - }, - }, `${props.depositType} to ETH via ShapeShift`), - h('div', 'Conversion in progress'), - h('div', { - style: { - fontSize: 'x-small', - color: '#ABA9AA', - width: '100%', - }, - }, formatDate(props.time)), - ]) - case 'complete': - var url = explorerLink(props.response.transaction, parseInt('1')) - - return h('.flex-column.pointer', { - style: { - width: '200px', - overflow: 'hidden', - }, - onClick: () => global.platform.openWindow({ url }), - }, [ - h('div', { - style: { - fontSize: 'x-small', - color: '#ABA9AA', - width: '100%', - }, - }, 'From ShapeShift'), - h('div', formatDate(props.time)), - h('div', { - style: { - fontSize: 'x-small', - color: '#ABA9AA', - width: '100%', - }, - }, addressSummary(props.response.transaction)), - ]) - - case 'failed': - return h('span.error', '(Failed)') - default: - return '' - } -} diff --git a/old-ui/app/components/tab-bar.js b/old-ui/app/components/tab-bar.js deleted file mode 100644 index bef444a48..000000000 --- a/old-ui/app/components/tab-bar.js +++ /dev/null @@ -1,37 +0,0 @@ -const Component = require('react').Component -const h = require('react-hyperscript') -const inherits = require('util').inherits - -module.exports = TabBar - -inherits(TabBar, Component) -function TabBar () { - Component.call(this) -} - -TabBar.prototype.render = function () { - const props = this.props - const state = this.state || {} - const { tabs = [], defaultTab, tabSelected } = props - const { subview = defaultTab } = state - - return ( - h('.flex-row.space-around.text-transform-uppercase', { - style: { - background: '#EBEBEB', - color: '#AEAEAE', - paddingTop: '4px', - minHeight: '30px', - }, - }, tabs.map((tab) => { - const { key, content } = tab - return h(subview === key ? '.activeForm' : '.inactiveForm.pointer', { - onClick: () => { - this.setState({ subview: key }) - tabSelected(key) - }, - }, content) - })) - ) -} - diff --git a/old-ui/app/components/template.js b/old-ui/app/components/template.js deleted file mode 100644 index b6ed8eaa0..000000000 --- a/old-ui/app/components/template.js +++ /dev/null @@ -1,18 +0,0 @@ -const Component = require('react').Component -const h = require('react-hyperscript') -const inherits = require('util').inherits - -module.exports = NewComponent - -inherits(NewComponent, Component) -function NewComponent () { - Component.call(this) -} - -NewComponent.prototype.render = function () { - const props = this.props - - return ( - h('span', props.message) - ) -} diff --git a/old-ui/app/components/token-cell.js b/old-ui/app/components/token-cell.js deleted file mode 100644 index 19d7139bb..000000000 --- a/old-ui/app/components/token-cell.js +++ /dev/null @@ -1,72 +0,0 @@ -const Component = require('react').Component -const h = require('react-hyperscript') -const inherits = require('util').inherits -const Identicon = require('./identicon') -const prefixForNetwork = require('../../lib/etherscan-prefix-for-network') - -module.exports = TokenCell - -inherits(TokenCell, Component) -function TokenCell () { - Component.call(this) -} - -TokenCell.prototype.render = function () { - const props = this.props - const { address, symbol, string, network, userAddress } = props - - return ( - h('li.token-cell', { - style: { cursor: network === '1' ? 'pointer' : 'default' }, - onClick: this.view.bind(this, address, userAddress, network), - }, [ - - h(Identicon, { - diameter: 50, - address, - network, - }), - - h('h3', `${string || 0} ${symbol}`), - - h('span', { style: { flex: '1 0 auto' } }), - - /* - h('button', { - onClick: this.send.bind(this, address), - }, 'SEND'), - */ - - ]) - ) -} - -TokenCell.prototype.send = function (address, event) { - event.preventDefault() - event.stopPropagation() - const url = tokenFactoryFor(address) - if (url) { - navigateTo(url) - } -} - -TokenCell.prototype.view = function (address, userAddress, network, event) { - const url = etherscanLinkFor(address, userAddress, network) - if (url) { - navigateTo(url) - } -} - -function navigateTo (url) { - global.platform.openWindow({ url }) -} - -function etherscanLinkFor (tokenAddress, address, network) { - const prefix = prefixForNetwork(network) - return `https://${prefix}etherscan.io/token/${tokenAddress}?a=${address}` -} - -function tokenFactoryFor (tokenAddress) { - return `https://tokenfactory.surge.sh/#/token/${tokenAddress}` -} - diff --git a/old-ui/app/components/token-list.js b/old-ui/app/components/token-list.js deleted file mode 100644 index e20594b61..000000000 --- a/old-ui/app/components/token-list.js +++ /dev/null @@ -1,205 +0,0 @@ -const Component = require('react').Component -const h = require('react-hyperscript') -const inherits = require('util').inherits -const TokenTracker = require('eth-token-tracker') -const TokenCell = require('./token-cell.js') -const log = require('loglevel') - -module.exports = TokenList - -inherits(TokenList, Component) -function TokenList () { - this.state = { - tokens: [], - isLoading: true, - network: null, - } - Component.call(this) -} - -TokenList.prototype.render = function () { - const state = this.state - const { tokens, isLoading, error } = state - const { userAddress, network } = this.props - - if (isLoading) { - return this.message('Loading') - } - - if (error) { - log.error(error) - return h('.hotFix', { - style: { - padding: '80px', - }, - }, [ - 'We had trouble loading your token balances. You can view them ', - h('span.hotFix', { - style: { - color: 'rgba(247, 134, 28, 1)', - cursor: 'pointer', - }, - onClick: () => { - global.platform.openWindow({ - url: `https://ethplorer.io/address/${userAddress}`, - }) - }, - }, 'here'), - ]) - } - - const tokenViews = tokens.map((tokenData) => { - tokenData.network = network - tokenData.userAddress = userAddress - return h(TokenCell, tokenData) - }) - - return h('.full-flex-height', [ - this.renderTokenStatusBar(), - - h('ol.full-flex-height.flex-column', { - style: { - overflowY: 'auto', - display: 'flex', - flexDirection: 'column', - }, - }, [ - h('style', ` - - li.token-cell { - display: flex; - flex-direction: row; - align-items: center; - padding: 10px; - min-height: 50px; - } - - li.token-cell > h3 { - margin-left: 12px; - } - - li.token-cell:hover { - background: white; - cursor: pointer; - } - - `), - ...tokenViews, - h('.flex-grow'), - ]), - ]) -} - -TokenList.prototype.renderTokenStatusBar = function () { - const { tokens } = this.state - - let msg - if (tokens.length === 1) { - msg = `You own 1 token` - } else if (tokens.length > 1) { - msg = `You own ${tokens.length} tokens` - } else { - msg = `No tokens found` - } - - return h('div', { - style: { - display: 'flex', - justifyContent: 'space-between', - alignItems: 'center', - minHeight: '70px', - padding: '10px', - }, - }, [ - h('span', msg), - h('button', { - key: 'reveal-account-bar', - onClick: (event) => { - event.preventDefault() - this.props.addToken() - }, - style: { - display: 'flex', - height: '40px', - padding: '10px', - justifyContent: 'center', - alignItems: 'center', - }, - }, [ - 'ADD TOKEN', - ]), - ]) -} - -TokenList.prototype.message = function (body) { - return h('div', { - style: { - display: 'flex', - height: '250px', - alignItems: 'center', - justifyContent: 'center', - padding: '30px', - }, - }, body) -} - -TokenList.prototype.componentDidMount = function () { - this.createFreshTokenTracker() -} - -TokenList.prototype.createFreshTokenTracker = function () { - if (this.tracker) { - // Clean up old trackers when refreshing: - this.tracker.stop() - this.tracker.removeListener('update', this.balanceUpdater) - this.tracker.removeListener('error', this.showError) - } - - if (!global.ethereumProvider) return - const { userAddress } = this.props - this.tracker = new TokenTracker({ - userAddress, - provider: global.ethereumProvider, - tokens: this.props.tokens, - pollingInterval: 8000, - }) - - - // Set up listener instances for cleaning up - this.balanceUpdater = this.updateBalances.bind(this) - this.showError = (error) => { - this.setState({ error, isLoading: false }) - } - this.tracker.on('update', this.balanceUpdater) - this.tracker.on('error', this.showError) - - this.tracker.updateBalances() - .then(() => { - this.updateBalances(this.tracker.serialize()) - }) - .catch((reason) => { - log.error(`Problem updating balances`, reason) - this.setState({ isLoading: false }) - }) -} - -TokenList.prototype.componentWillUpdate = function (nextProps) { - if (nextProps.network === 'loading') return - const oldNet = this.props.network - const newNet = nextProps.network - - if (oldNet && newNet && newNet !== oldNet) { - this.setState({ isLoading: true }) - this.createFreshTokenTracker() - } -} - -TokenList.prototype.updateBalances = function (tokens) { - this.setState({ tokens, isLoading: false }) -} - -TokenList.prototype.componentWillUnmount = function () { - if (!this.tracker) return - this.tracker.stop() -} - diff --git a/old-ui/app/components/tooltip.js b/old-ui/app/components/tooltip.js deleted file mode 100644 index efab2c497..000000000 --- a/old-ui/app/components/tooltip.js +++ /dev/null @@ -1,22 +0,0 @@ -const Component = require('react').Component -const h = require('react-hyperscript') -const inherits = require('util').inherits -const ReactTooltip = require('react-tooltip-component') - -module.exports = Tooltip - -inherits(Tooltip, Component) -function Tooltip () { - Component.call(this) -} - -Tooltip.prototype.render = function () { - const props = this.props - const { position, title, children } = props - - return h(ReactTooltip, { - position: position || 'left', - title, - fixed: true, - }, children) -} diff --git a/old-ui/app/components/transaction-list-item-icon.js b/old-ui/app/components/transaction-list-item-icon.js deleted file mode 100644 index f442b05af..000000000 --- a/old-ui/app/components/transaction-list-item-icon.js +++ /dev/null @@ -1,68 +0,0 @@ -const Component = require('react').Component -const h = require('react-hyperscript') -const inherits = require('util').inherits -const Tooltip = require('./tooltip') - -const Identicon = require('./identicon') - -module.exports = TransactionIcon - -inherits(TransactionIcon, Component) -function TransactionIcon () { - Component.call(this) -} - -TransactionIcon.prototype.render = function () { - const { transaction, txParams, isMsg } = this.props - switch (transaction.status) { - case 'unapproved': - return h(!isMsg ? '.unapproved-tx-icon' : 'i.fa.fa-certificate.fa-lg') - - case 'rejected': - return h('i.fa.fa-exclamation-triangle.fa-lg.warning', { - style: { - width: '24px', - }, - }) - - case 'failed': - return h('i.fa.fa-exclamation-triangle.fa-lg.error', { - style: { - width: '24px', - }, - }) - - case 'submitted': - return h(Tooltip, { - title: 'Pending', - position: 'right', - }, [ - h('i.fa.fa-ellipsis-h', { - style: { - fontSize: '27px', - }, - }), - ]) - } - - if (isMsg) { - return h('i.fa.fa-certificate.fa-lg', { - style: { - width: '24px', - }, - }) - } - - if (txParams.to) { - return h(Identicon, { - diameter: 24, - address: txParams.to || transaction.hash, - }) - } else { - return h('i.fa.fa-file-text-o.fa-lg', { - style: { - width: '24px', - }, - }) - } -} diff --git a/old-ui/app/components/transaction-list-item.js b/old-ui/app/components/transaction-list-item.js deleted file mode 100644 index 8d0e77f53..000000000 --- a/old-ui/app/components/transaction-list-item.js +++ /dev/null @@ -1,258 +0,0 @@ -const Component = require('react').Component -const h = require('react-hyperscript') -const inherits = require('util').inherits -const connect = require('react-redux').connect - -const EthBalance = require('./eth-balance') -const addressSummary = require('../util').addressSummary -const explorerLink = require('etherscan-link').createExplorerLink -const CopyButton = require('./copyButton') -const { DateTime } = require('luxon') -const Tooltip = require('./tooltip') -const numberToBN = require('number-to-bn') -const actions = require('../../../ui/app/actions') - -const TransactionIcon = require('./transaction-list-item-icon') -const ShiftListItem = require('./shift-list-item') - -const mapDispatchToProps = dispatch => { - return { - retryTransaction: transactionId => dispatch(actions.retryTransaction(transactionId)), - } -} - -module.exports = connect(null, mapDispatchToProps)(TransactionListItem) - -inherits(TransactionListItem, Component) -function TransactionListItem () { - Component.call(this) -} - -TransactionListItem.prototype.showRetryButton = function () { - const { transaction = {}, transactions } = this.props - const { submittedTime, txParams } = transaction - - if (!txParams) { - return false - } - - let currentTxSharesEarliestNonce = false - const currentNonce = txParams.nonce - const currentNonceTxs = transactions.filter(tx => tx.txParams.nonce === currentNonce) - const currentNonceSubmittedTxs = currentNonceTxs.filter(tx => tx.status === 'submitted') - const currentSubmittedTxs = transactions.filter(tx => tx.status === 'submitted') - const lastSubmittedTxWithCurrentNonce = currentNonceSubmittedTxs[0] - const currentTxIsLatestWithNonce = lastSubmittedTxWithCurrentNonce && - lastSubmittedTxWithCurrentNonce.id === transaction.id - if (currentSubmittedTxs.length > 0) { - const earliestSubmitted = currentSubmittedTxs.reduce((tx1, tx2) => { - if (tx1.submittedTime < tx2.submittedTime) return tx1 - return tx2 - }) - currentTxSharesEarliestNonce = currentNonce === earliestSubmitted.txParams.nonce - } - - return currentTxSharesEarliestNonce && currentTxIsLatestWithNonce && Date.now() - submittedTime > 30000 -} - -TransactionListItem.prototype.render = function () { - const { transaction, network, conversionRate, currentCurrency } = this.props - const { status } = transaction - if (transaction.key === 'shapeshift') { - if (network === '1') return h(ShiftListItem, transaction) - } - var date = formatDate(transaction.time) - - let isLinkable = false - const numericNet = parseInt(network) - isLinkable = numericNet === 1 || numericNet === 3 || numericNet === 4 || numericNet === 42 - - var isMsg = ('msgParams' in transaction) - var isTx = ('txParams' in transaction) - var isPending = status === 'unapproved' - let txParams - if (isTx) { - txParams = transaction.txParams - } else if (isMsg) { - txParams = transaction.msgParams - } - - const nonce = txParams.nonce ? numberToBN(txParams.nonce).toString(10) : '' - - const isClickable = ('hash' in transaction && isLinkable) || isPending - return ( - h('.transaction-list-item.flex-column', { - onClick: (event) => { - if (isPending) { - this.props.showTx(transaction.id) - } - event.stopPropagation() - if (!transaction.hash || !isLinkable) return - var url = explorerLink(transaction.hash, parseInt(network)) - global.platform.openWindow({ url }) - }, - style: { - padding: '20px 0', - alignItems: 'center', - }, - }, [ - h(`.flex-row.flex-space-between${isClickable ? '.pointer' : ''}`, { - style: { - width: '100%', - }, - }, [ - h('.identicon-wrapper.flex-column.flex-center.select-none', [ - h(TransactionIcon, { txParams, transaction, isTx, isMsg }), - ]), - - h(Tooltip, { - title: 'Transaction Number', - position: 'right', - }, [ - h('span', { - style: { - display: 'flex', - cursor: 'normal', - flexDirection: 'column', - alignItems: 'center', - justifyContent: 'center', - padding: '10px', - }, - }, nonce), - ]), - - h('.flex-column', {style: {width: '200px', overflow: 'hidden'}}, [ - domainField(txParams), - h('div', date), - recipientField(txParams, transaction, isTx, isMsg), - ]), - - // Places a copy button if tx is successful, else places a placeholder empty div. - transaction.hash ? h(CopyButton, { value: transaction.hash }) : h('div', {style: { display: 'flex', alignItems: 'center', width: '26px' }}), - - isTx ? h(EthBalance, { - value: txParams.value, - conversionRate, - currentCurrency, - width: '55px', - shorten: true, - showFiat: false, - style: {fontSize: '15px'}, - }) : h('.flex-column'), - ]), - - this.showRetryButton() && h('.transition-list-item__retry.grow-on-hover', { - onClick: event => { - event.stopPropagation() - this.resubmit() - }, - style: { - height: '22px', - borderRadius: '22px', - color: '#F9881B', - padding: '0 20px', - backgroundColor: '#FFE3C9', - display: 'flex', - justifyContent: 'center', - alignItems: 'center', - fontSize: '8px', - cursor: 'pointer', - }, - }, [ - h('div', { - style: { - paddingRight: '2px', - }, - }, 'Taking too long?'), - h('div', { - style: { - textDecoration: 'underline', - }, - }, 'Retry with a higher gas price here'), - ]), - ]) - ) -} - -TransactionListItem.prototype.resubmit = function () { - const { transaction } = this.props - this.props.retryTransaction(transaction.id) -} - -function domainField (txParams) { - return h('div', { - style: { - fontSize: 'x-small', - color: '#ABA9AA', - overflow: 'hidden', - textOverflow: 'ellipsis', - width: '100%', - }, - }, [ - txParams.origin, - ]) -} - -function recipientField (txParams, transaction, isTx, isMsg) { - let message - - if (isMsg) { - message = 'Signature Requested' - } else if (txParams.to) { - message = addressSummary(txParams.to) - } else { - message = 'Contract Deployment' - } - - return h('div', { - style: { - fontSize: 'x-small', - color: '#ABA9AA', - }, - }, [ - message, - renderErrorOrWarning(transaction), - ]) -} - -function formatDate (date) { - return DateTime.fromMillis(date).toFormat('MMMM d y T') -} - -function renderErrorOrWarning (transaction) { - const { status, err, warning } = transaction - - // show dropped - if (status === 'dropped') { - return h('span.dropped', ' (Dropped)') - } - - // show rejected - if (status === 'rejected') { - return h('span.error', ' (Rejected)') - } - - // show error - if (err) { - const message = err.message || '' - return ( - h(Tooltip, { - title: message, - position: 'bottom', - }, [ - h(`span.error`, ` (Failed)`), - ]) - ) - } - - // show warning - if (warning) { - const message = warning.message - return h(Tooltip, { - title: message, - position: 'bottom', - }, [ - h(`span.warning`, ` (Warning)`), - ]) - } -} diff --git a/old-ui/app/components/transaction-list.js b/old-ui/app/components/transaction-list.js deleted file mode 100644 index c77852921..000000000 --- a/old-ui/app/components/transaction-list.js +++ /dev/null @@ -1,87 +0,0 @@ -const Component = require('react').Component -const h = require('react-hyperscript') -const inherits = require('util').inherits - -const TransactionListItem = require('./transaction-list-item') - -module.exports = TransactionList - - -inherits(TransactionList, Component) -function TransactionList () { - Component.call(this) -} - -TransactionList.prototype.render = function () { - const { transactions, network, unapprovedMsgs, conversionRate } = this.props - - var shapeShiftTxList - if (network === '1') { - shapeShiftTxList = this.props.shapeShiftTxList - } - const txsToRender = !shapeShiftTxList ? transactions.concat(unapprovedMsgs) : transactions.concat(unapprovedMsgs, shapeShiftTxList) - .sort((a, b) => b.time - a.time) - - return ( - - h('section.transaction-list.full-flex-height', { - style: { - justifyContent: 'center', - }, - }, [ - - h('style', ` - .transaction-list .transaction-list-item:not(:last-of-type) { - border-bottom: 1px solid #D4D4D4; - } - .transaction-list .transaction-list-item .ether-balance-label { - display: block !important; - font-size: small; - } - `), - - h('.tx-list', { - style: { - overflowY: 'auto', - height: '100%', - padding: '0 25px 0 15px', - textAlign: 'center', - }, - }, [ - - txsToRender.length - ? txsToRender.map((transaction, i) => { - let key - switch (transaction.key) { - case 'shapeshift': - const { depositAddress, time } = transaction - key = `shift-tx-${depositAddress}-${time}-${i}` - break - default: - key = `tx-${transaction.id}-${i}` - } - return h(TransactionListItem, { - transaction, i, network, key, - conversionRate, transactions, - showTx: (txId) => { - this.props.viewPendingTx(txId) - }, - }) - }) - : h('.flex-center.full-flex-height', { - style: { - flexDirection: 'column', - justifyContent: 'center', - }, - }, [ - h('p', { - style: { - marginTop: '50px', - }, - }, 'No transaction history.'), - ]), - ]), - ]) - ) -} - diff --git a/old-ui/app/components/typed-message-renderer.js b/old-ui/app/components/typed-message-renderer.js deleted file mode 100644 index 0dc673b8a..000000000 --- a/old-ui/app/components/typed-message-renderer.js +++ /dev/null @@ -1,69 +0,0 @@ -const Component = require('react').Component -const h = require('react-hyperscript') -const inherits = require('util').inherits -const extend = require('xtend') -const { ObjectInspector } = require('react-inspector') - -module.exports = TypedMessageRenderer - -inherits(TypedMessageRenderer, Component) -function TypedMessageRenderer () { - Component.call(this) -} - -TypedMessageRenderer.prototype.render = function () { - const props = this.props - const { value, version, style } = props - let text - switch (version) { - case 'V1': - text = renderTypedData(value) - break - case 'V3': - text = renderTypedDataV3(value) - break - } - - const defaultStyle = extend({ - width: '315px', - maxHeight: '210px', - resize: 'none', - border: 'none', - background: 'white', - padding: '3px', - overflow: 'scroll', - }, style) - - return ( - h('div.font-small', { - style: defaultStyle, - }, text) - ) -} - -function renderTypedData (values) { - return values.map(function (value) { - let v = value.value - if (typeof v === 'boolean') { - v = v.toString() - } - return h('div', {}, [ - h('strong', {style: {display: 'block', fontWeight: 'bold'}}, String(value.name) + ':'), - h('div', {}, v), - ]) - }) -} - -function renderTypedDataV3 (values) { - const { domain, message } = JSON.parse(values) - return [ - domain ? h('div', [ - h('h1', 'Domain'), - h(ObjectInspector, { data: domain, expandLevel: 1, name: 'domain' }), - ]) : '', - message ? h('div', [ - h('h1', 'Message'), - h(ObjectInspector, { data: message, expandLevel: 1, name: 'message' }), - ]) : '', - ] -} diff --git a/old-ui/app/conf-tx.js b/old-ui/app/conf-tx.js deleted file mode 100644 index dc1dc0538..000000000 --- a/old-ui/app/conf-tx.js +++ /dev/null @@ -1,247 +0,0 @@ -const inherits = require('util').inherits -const Component = require('react').Component -const h = require('react-hyperscript') -const connect = require('react-redux').connect -const actions = require('../../ui/app/actions') -const NetworkIndicator = require('./components/network') -const LoadingIndicator = require('./components/loading') -const txHelper = require('../lib/tx-helper') -const log = require('loglevel') -const { ENVIRONMENT_TYPE_NOTIFICATION } = require('../../app/scripts/lib/enums') -const { getEnvironmentType } = require('../../app/scripts/lib/util') - -const PendingTx = require('./components/pending-tx') -const PendingMsg = require('./components/pending-msg') -const PendingPersonalMsg = require('./components/pending-personal-msg') -const PendingTypedMsg = require('./components/pending-typed-msg') -const Loading = require('./components/loading') - -module.exports = connect(mapStateToProps)(ConfirmTxScreen) - -function mapStateToProps (state) { - return { - identities: state.metamask.identities, - accounts: state.metamask.accounts, - selectedAddress: state.metamask.selectedAddress, - unapprovedTxs: state.metamask.unapprovedTxs, - unapprovedMsgs: state.metamask.unapprovedMsgs, - unapprovedPersonalMsgs: state.metamask.unapprovedPersonalMsgs, - unapprovedTypedMessages: state.metamask.unapprovedTypedMessages, - index: state.appState.currentView.context, - warning: state.appState.warning, - network: state.metamask.network, - provider: state.metamask.provider, - conversionRate: state.metamask.conversionRate, - currentCurrency: state.metamask.currentCurrency, - blockGasLimit: state.metamask.currentBlockGasLimit, - computedBalances: state.metamask.computedBalances, - } -} - -inherits(ConfirmTxScreen, Component) -function ConfirmTxScreen () { - Component.call(this) -} - -ConfirmTxScreen.prototype.render = function () { - const props = this.props - const { network, provider, unapprovedTxs, currentCurrency, computedBalances, - unapprovedMsgs, unapprovedPersonalMsgs, unapprovedTypedMessages, conversionRate, blockGasLimit } = props - - var unconfTxList = txHelper(unapprovedTxs, unapprovedMsgs, unapprovedPersonalMsgs, unapprovedTypedMessages, network) - - var txData = unconfTxList[props.index] || {} - var txParams = txData.params || {} - var isNotification = getEnvironmentType(window.location.href) === ENVIRONMENT_TYPE_NOTIFICATION - - log.info(`rendering a combined ${unconfTxList.length} unconf msg & txs`) - if (unconfTxList.length === 0) return h(Loading, { isLoading: true }) - - const unconfTxListLength = unconfTxList.length - - return ( - - h('.flex-column.flex-grow', [ - - h(LoadingIndicator, { - isLoading: this.state ? !this.state.bypassLoadingScreen : txData.loadingDefaults, - loadingMessage: 'Estimating transaction cost…', - canBypass: true, - bypass: () => { - this.setState({bypassLoadingScreen: true}) - }, - }), - - // subtitle and nav - h('.section-title.flex-row.flex-center', [ - !isNotification ? h('i.fa.fa-arrow-left.fa-lg.cursor-pointer', { - onClick: this.goHome.bind(this), - }) : null, - h('h2.page-subtitle', 'Confirm Transaction'), - isNotification ? h(NetworkIndicator, { - network: network, - provider: provider, - }) : null, - ]), - - h('h3', { - style: { - alignSelf: 'center', - display: unconfTxList.length > 1 ? 'block' : 'none', - }, - }, [ - h('i.fa.fa-arrow-left.fa-lg.cursor-pointer', { - style: { - display: props.index === 0 ? 'none' : 'inline-block', - }, - onClick: () => props.dispatch(actions.previousTx()), - }), - ` ${props.index + 1} of ${unconfTxList.length} `, - h('i.fa.fa-arrow-right.fa-lg.cursor-pointer', { - style: { - display: props.index + 1 === unconfTxList.length ? 'none' : 'inline-block', - }, - onClick: () => props.dispatch(actions.nextTx()), - }), - ]), - - warningIfExists(props.warning), - - currentTxView({ - // Properties - txData: txData, - key: txData.id, - selectedAddress: props.selectedAddress, - accounts: props.accounts, - identities: props.identities, - conversionRate, - currentCurrency, - blockGasLimit, - unconfTxListLength, - computedBalances, - // Actions - buyEth: this.buyEth.bind(this, txParams.from || props.selectedAddress), - sendTransaction: this.sendTransaction.bind(this), - cancelTransaction: this.cancelTransaction.bind(this, txData), - cancelAllTransactions: this.cancelAllTransactions.bind(this, unconfTxList), - signMessage: this.signMessage.bind(this, txData), - signPersonalMessage: this.signPersonalMessage.bind(this, txData), - signTypedMessage: this.signTypedMessage.bind(this, txData), - cancelMessage: this.cancelMessage.bind(this, txData), - cancelPersonalMessage: this.cancelPersonalMessage.bind(this, txData), - cancelTypedMessage: this.cancelTypedMessage.bind(this, txData), - }), - ]) - ) -} - -function currentTxView (opts) { - log.info('rendering current tx view') - const { txData } = opts - const { txParams, msgParams, type } = txData - - if (txParams) { - log.debug('txParams detected, rendering pending tx') - return h(PendingTx, opts) - } else if (msgParams) { - log.debug('msgParams detected, rendering pending msg') - - if (type === 'eth_sign') { - log.debug('rendering eth_sign message') - return h(PendingMsg, opts) - } else if (type === 'personal_sign') { - log.debug('rendering personal_sign message') - return h(PendingPersonalMsg, opts) - } else if (type === 'eth_signTypedData') { - log.debug('rendering eth_signTypedData message') - return h(PendingTypedMsg, opts) - } - } -} - -ConfirmTxScreen.prototype.buyEth = function (address, event) { - event.preventDefault() - this.props.dispatch(actions.buyEthView(address)) -} - -ConfirmTxScreen.prototype.sendTransaction = function (txData, event) { - this.stopPropagation(event) - this.props.dispatch(actions.updateAndApproveTx(txData)) -} - -ConfirmTxScreen.prototype.cancelTransaction = function (txData, event) { - this.stopPropagation(event) - event.preventDefault() - this.props.dispatch(actions.cancelTx(txData)) -} - -ConfirmTxScreen.prototype.cancelAllTransactions = function (unconfTxList, event) { - this.stopPropagation(event) - event.preventDefault() - this.props.dispatch(actions.cancelAllTx(unconfTxList)) -} - -ConfirmTxScreen.prototype.signMessage = function (msgData, event) { - log.info('conf-tx.js: signing message') - var params = msgData.msgParams - params.metamaskId = msgData.id - this.stopPropagation(event) - this.props.dispatch(actions.signMsg(params)) -} - -ConfirmTxScreen.prototype.stopPropagation = function (event) { - if (event.stopPropagation) { - event.stopPropagation() - } -} - -ConfirmTxScreen.prototype.signPersonalMessage = function (msgData, event) { - log.info('conf-tx.js: signing personal message') - var params = msgData.msgParams - params.metamaskId = msgData.id - this.stopPropagation(event) - this.props.dispatch(actions.signPersonalMsg(params)) -} - -ConfirmTxScreen.prototype.signTypedMessage = function (msgData, event) { - log.info('conf-tx.js: signing typed message') - var params = msgData.msgParams - params.metamaskId = msgData.id - this.stopPropagation(event) - this.props.dispatch(actions.signTypedMsg(params)) -} - -ConfirmTxScreen.prototype.cancelMessage = function (msgData, event) { - log.info('canceling message') - this.stopPropagation(event) - this.props.dispatch(actions.cancelMsg(msgData)) -} - -ConfirmTxScreen.prototype.cancelPersonalMessage = function (msgData, event) { - log.info('canceling personal message') - this.stopPropagation(event) - this.props.dispatch(actions.cancelPersonalMsg(msgData)) -} - -ConfirmTxScreen.prototype.cancelTypedMessage = function (msgData, event) { - log.info('canceling typed message') - this.stopPropagation(event) - this.props.dispatch(actions.cancelTypedMsg(msgData)) -} - -ConfirmTxScreen.prototype.goHome = function (event) { - this.stopPropagation(event) - this.props.dispatch(actions.goHome()) -} - -function warningIfExists (warning) { - if (warning && - // Do not display user rejections on this screen: - warning.indexOf('User denied transaction signature') === -1) { - return h('.error', { - style: { - margin: 'auto', - }, - }, warning) - } -} diff --git a/old-ui/app/config.js b/old-ui/app/config.js deleted file mode 100644 index da71809c4..000000000 --- a/old-ui/app/config.js +++ /dev/null @@ -1,383 +0,0 @@ -const inherits = require('util').inherits -const Component = require('react').Component -const h = require('react-hyperscript') -const connect = require('react-redux').connect -const actions = require('../../ui/app/actions') -const infuraCurrencies = require('./infura-conversion.json').objects.sort((a, b) => { - return a.quote.name.toLocaleLowerCase().localeCompare(b.quote.name.toLocaleLowerCase()) - }) -const validUrl = require('valid-url') -const exportAsFile = require('./util').exportAsFile -const Modal = require('../../ui/app/components/modals/index').Modal - -module.exports = connect(mapStateToProps)(ConfigScreen) - -function mapStateToProps (state) { - return { - metamask: state.metamask, - warning: state.appState.warning, - } -} - -inherits(ConfigScreen, Component) -function ConfigScreen () { - Component.call(this) -} - -ConfigScreen.prototype.render = function () { - var state = this.props - var metamaskState = state.metamask - var warning = state.warning - - return ( - h('.flex-column.flex-grow', { - style: { - maxHeight: '585px', - overflowY: 'auto', - }, - }, [ - - h(Modal, {}, []), - - // subtitle and nav - h('.section-title.flex-row.flex-center', [ - h('i.fa.fa-arrow-left.fa-lg.cursor-pointer', { - onClick: () => { - state.dispatch(actions.goHome()) - }, - }), - h('h2.page-subtitle', 'Settings'), - ]), - - h('.error', { - style: { - display: warning ? 'block' : 'none', - padding: '0 20px', - textAlign: 'center', - }, - }, warning), - - // conf view - h('.flex-column.flex-justify-center.flex-grow.select-none', [ - h('.flex-space-around', { - style: { - padding: '20px', - overflow: 'auto', - }, - }, [ - - currentProviderDisplay(metamaskState), - - h('div', { style: {display: 'block'} }, [ - h('input#new_rpc', { - placeholder: 'New RPC URL', - style: { - width: 'inherit', - flex: '1 0 auto', - height: '30px', - margin: '8px', - }, - onKeyPress (event) { - if (event.key === 'Enter') { - var element = event.target - var newRpc = element.value - var chainid = document.querySelector('input#chainid') - var ticker = document.querySelector('input#ticker') - var nickname = document.querySelector('input#nickname') - rpcValidation(newRpc, chainid.value, ticker.value, nickname.value, state) - } - }, - }), - h('br'), - h('input#chainid', { - placeholder: 'ChainId (optional)', - style: { - width: 'inherit', - flex: '1 0 auto', - height: '30px', - margin: '8px', - }, - onKeyPress (event) { - if (event.key === 'Enter') { - var element = document.querySelector('input#new_rpc') - var newRpc = element.value - var chainid = document.querySelector('input#chainid') - var ticker = document.querySelector('input#ticker') - var nickname = document.querySelector('input#nickname') - rpcValidation(newRpc, chainid.value, ticker.value, nickname.value, state) - } - }, - }), - h('br'), - h('input#ticker', { - placeholder: 'Symbol (optional)', - style: { - width: 'inherit', - flex: '1 0 auto', - height: '30px', - margin: '8px', - }, - onKeyPress (event) { - if (event.key === 'Enter') { - var element = document.querySelector('input#new_rpc') - var newRpc = element.value - var chainid = document.querySelector('input#chainid') - var ticker = document.querySelector('input#ticker') - var nickname = document.querySelector('input#nickname') - rpcValidation(newRpc, chainid.value, ticker.value, nickname.value, state) - } - }, - }), - h('br'), - h('input#nickname', { - placeholder: 'Nickname (optional)', - style: { - width: 'inherit', - flex: '1 0 auto', - height: '30px', - margin: '8px', - }, - onKeyPress (event) { - if (event.key === 'Enter') { - var element = document.querySelector('input#new_rpc') - var newRpc = element.value - var chainid = document.querySelector('input#chainid') - var ticker = document.querySelector('input#ticker') - var nickname = document.querySelector('input#nickname') - rpcValidation(newRpc, chainid.value, ticker.value, nickname.value, state) - } - }, - }), - h('button', { - style: { - alignSelf: 'center', - }, - onClick (event) { - event.preventDefault() - var element = document.querySelector('input#new_rpc') - var newRpc = element.value - var chainid = document.querySelector('input#chainid') - var ticker = document.querySelector('input#ticker') - var nickname = document.querySelector('input#nickname') - rpcValidation(newRpc, chainid.value, ticker.value, nickname.value, state) - }, - }, 'Save'), - ]), - - h('hr.horizontal-line'), - - currentConversionInformation(metamaskState, state), - - h('hr.horizontal-line'), - - h('div', { - style: { - marginTop: '20px', - }, - }, [ - h('p', { - style: { - fontFamily: 'Montserrat Light', - fontSize: '13px', - }, - }, `State logs contain your public account addresses and sent transactions.`), - h('br'), - h('button', { - style: { - alignSelf: 'center', - }, - onClick (event) { - window.logStateString((err, result) => { - if (err) { - state.dispatch(actions.displayWarning('Error in retrieving state logs.')) - } else { - exportAsFile('MetaMask State Logs.json', result) - } - }) - }, - }, 'Download State Logs'), - ]), - - h('hr.horizontal-line'), - - h('div', { - style: { - marginTop: '20px', - }, - }, [ - h('p', { - style: { - fontFamily: 'Montserrat Light', - fontSize: '13px', - }, - }, 'Clear privacy data so all websites must request access to view account information again.'), - h('br'), - h('button', { - style: { - alignSelf: 'center', - }, - onClick (event) { - event.preventDefault() - state.dispatch(actions.clearApprovedOrigins()) - }, - }, 'Clear privacy data'), - ]), - - h('hr.horizontal-line'), - - h('div', { - style: { - marginTop: '20px', - }, - }, [ - h('p', { - style: { - fontFamily: 'Montserrat Light', - fontSize: '13px', - }, - }, metamaskState.featureFlags.privacyMode ? - 'Websites will be able to view your account information.' : - 'Websites must request access to view your account information.' - ), - h('br'), - h('button', { - style: { - alignSelf: 'center', - }, - onClick (event) { - event.preventDefault() - state.dispatch(actions.setFeatureFlag('privacyMode', !metamaskState.featureFlags.privacyMode)) - }, - }, metamaskState.featureFlags.privacyMode ? - 'Disable privacy mode' : - 'Enable privacy mode' - ), - ]), - - h('hr.horizontal-line'), - - h('div', { - style: { - marginTop: '20px', - }, - }, [ - h('button', { - style: { - alignSelf: 'center', - }, - onClick (event) { - event.preventDefault() - state.dispatch(actions.revealSeedConfirmation()) - }, - }, 'Reveal Seed Words'), - ]), - - h('hr.horizontal-line'), - - h('div', { - style: { - marginTop: '20px', - }, - }, [ - - h('p', { - style: { - fontFamily: 'Montserrat Light', - fontSize: '13px', - }, - }, [ - 'Resetting is for developer use only. ', - h('a', { - href: 'https://metamask.zendesk.com/hc/en-us/articles/360015489231-Resetting-an-Account-Old-UI-', - target: '_blank', - }, 'Read more.'), - ]), - h('br'), - - h('button', { - style: { - alignSelf: 'center', - }, - onClick (event) { - event.preventDefault() - state.dispatch(actions.resetAccount()) - }, - }, 'Reset Account'), - ]), - - ]), - ]), - ]) - ) -} - -function rpcValidation (newRpc, chainid, ticker = 'ETH', nickname = '', state) { - if (validUrl.isWebUri(newRpc)) { - state.dispatch(actions.setRpcTarget(newRpc, chainid, ticker, nickname)) - } else { - var appendedRpc = `http://${newRpc}` - if (validUrl.isWebUri(appendedRpc)) { - state.dispatch(actions.displayWarning('URIs require the appropriate HTTP/HTTPS prefix.')) - } else { - state.dispatch(actions.displayWarning('Invalid RPC URI')) - } - } -} - -function currentConversionInformation (metamaskState, state) { - var currentCurrency = metamaskState.currentCurrency - var conversionDate = metamaskState.conversionDate - return h('div', [ - h('span', {style: { fontWeight: 'bold', paddingRight: '10px'}}, 'Current Conversion'), - h('span', {style: { fontWeight: 'bold', paddingRight: '10px', fontSize: '13px'}}, `Updated ${Date(conversionDate)}`), - h('select#currentCurrency', { - onChange (event) { - event.preventDefault() - var element = document.getElementById('currentCurrency') - var newCurrency = element.value - state.dispatch(actions.setCurrentCurrency(newCurrency)) - }, - defaultValue: currentCurrency, - }, infuraCurrencies.map((currency) => { - return h('option', {key: currency.quote.code, value: currency.quote.code}, `${currency.quote.code.toUpperCase()} - ${currency.quote.name}`) - }) - ), - ]) -} - -function currentProviderDisplay (metamaskState) { - var provider = metamaskState.provider - var title, value - - switch (provider.type) { - - case 'mainnet': - title = 'Current Network' - value = 'Main Ethereum Network' - break - - case 'ropsten': - title = 'Current Network' - value = 'Ropsten Test Network' - break - - case 'kovan': - title = 'Current Network' - value = 'Kovan Test Network' - break - - case 'rinkeby': - title = 'Current Network' - value = 'Rinkeby Test Network' - break - - default: - title = 'Current RPC' - value = metamaskState.provider.rpcTarget - } - - return h('div', [ - h('span', {style: { fontWeight: 'bold', paddingRight: '10px'}}, title), - h('span', value), - ]) -} diff --git a/old-ui/app/css/debug.css b/old-ui/app/css/debug.css deleted file mode 100644 index 3e125bcd4..000000000 --- a/old-ui/app/css/debug.css +++ /dev/null @@ -1,21 +0,0 @@ -/* -debug / dev -*/ - -#app-content { - border: 2px solid green; -} - -#design-container { - position: absolute; - left: 360px; - top: -42px; - width: calc(100vw - 360px); - height: 100vh; - overflow: scroll; -} - -#design-container img { - width: 2000px; - margin-right: 600px; -} \ No newline at end of file diff --git a/old-ui/app/css/fonts.css b/old-ui/app/css/fonts.css deleted file mode 100644 index b1d701ee5..000000000 --- a/old-ui/app/css/fonts.css +++ /dev/null @@ -1,372 +0,0 @@ -/* cyrillic-ext */ -@import url('/fonts/Font_Awesome/font-awesome.min.css'); - -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 100; - src: local('Roboto Thin'), local('Roboto-Thin'), url('fonts/Roboto/Roboto-Thin.ttf') format('truetype'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 100; - src: local('Roboto Thin'), local('Roboto-Thin'), url('fonts/Roboto/Roboto-Thin.ttf') format('truetype'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 100; - src: local('Roboto Thin'), local('Roboto-Thin'), url('fonts/Roboto/Roboto-Thin.ttf') format('truetype'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 100; - src: local('Roboto Thin'), local('Roboto-Thin'), url('fonts/Roboto/Roboto-Thin.ttf') format('truetype'); - unicode-range: U+0370-03FF; -} -/* vietnamese */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 100; - src: local('Roboto Thin'), local('Roboto-Thin'), url('fonts/Roboto/Roboto-Thin.ttf') format('truetype'); - unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 100; - src: local('Roboto Thin'), local('Roboto-Thin'), url('fonts/Roboto/Roboto-Thin.ttf') format('truetype'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 100; - src: local('Roboto Thin'), local('Roboto-Thin'), url('fonts/Roboto/Roboto-Thin.ttf') format('truetype'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - src: local('Roboto Light'), local('Roboto-Light'), url('fonts/Roboto/Roboto-Light.ttf') format('truetype'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - src: local('Roboto Light'), local('Roboto-Light'), url('fonts/Roboto/Roboto-Light.ttf') format('truetype'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - src: local('Roboto Light'), local('Roboto-Light'), url('fonts/Roboto/Roboto-Light.ttf') format('truetype'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - src: local('Roboto Light'), local('Roboto-Light'), url('fonts/Roboto/Roboto-Light.ttf') format('truetype'); - unicode-range: U+0370-03FF; -} -/* vietnamese */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - src: local('Roboto Light'), local('Roboto-Light'), url('fonts/Roboto/Roboto-Light.ttf') format('truetype'); - unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - src: local('Roboto Light'), local('Roboto-Light'), url('fonts/Roboto/Roboto-Light.ttf') format('truetype'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - src: local('Roboto Light'), local('Roboto-Light'), url('fonts/Roboto/Roboto-Light.ttf') format('truetype'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url('fonts/Roboto/Roboto-Regular.ttf') format('truetype'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url('fonts/Roboto/Roboto-Regular.ttf') format('truetype'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url('fonts/Roboto/Roboto-Regular.ttf') format('truetype'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url('fonts/Roboto/Roboto-Regular.ttf') format('truetype'); - unicode-range: U+0370-03FF; -} -/* vietnamese */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url('fonts/Roboto/Roboto-Regular.ttf') format('truetype'); - unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url('fonts/Roboto/Roboto-Regular.ttf') format('truetype'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url('fonts/Roboto/Roboto-Regular.ttf') format('truetype'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url('fonts/Roboto/Roboto-Medium.ttf') format('truetype'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url('fonts/Roboto/Roboto-Medium.ttf') format('truetype'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url('fonts/Roboto/Roboto-Medium.ttf') format('truetype'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url('fonts/Roboto/Roboto-Medium.ttf') format('truetype'); - unicode-range: U+0370-03FF; -} -/* vietnamese */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url('fonts/Roboto/Roboto-Medium.ttf') format('truetype'); - unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url('fonts/Roboto/Roboto-Medium.ttf') format('truetype'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url('fonts/Roboto/Roboto-Medium.ttf') format('truetype'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - src: local('Roboto Bold'), local('Roboto-Bold'), url('fonts/Roboto/Roboto-Bold.ttf') format('truetype'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - src: local('Roboto Bold'), local('Roboto-Bold'), url('fonts/Roboto/Roboto-Bold.ttf') format('truetype'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - src: local('Roboto Bold'), local('Roboto-Bold'), url('fonts/Roboto/Roboto-Bold.ttf') format('truetype'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - src: local('Roboto Bold'), local('Roboto-Bold'), url('fonts/Roboto/Roboto-Bold.ttf') format('truetype'); - unicode-range: U+0370-03FF; -} -/* vietnamese */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - src: local('Roboto Bold'), local('Roboto-Bold'), url('fonts/Roboto/Roboto-Bold.ttf') format('truetype'); - unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - src: local('Roboto Bold'), local('Roboto-Bold'), url('fonts/Roboto/Roboto-Bold.ttf') format('truetype'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - src: local('Roboto Bold'), local('Roboto-Bold'), url('fonts/Roboto/Roboto-Bold.ttf') format('truetype'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 900; - src: local('Roboto Black'), local('Roboto-Black'), url('fonts/Roboto/Roboto-Black.ttf') format('truetype'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 900; - src: local('Roboto Black'), local('Roboto-Black'), url('fonts/Roboto/Roboto-Black.ttf') format('truetype'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 900; - src: local('Roboto Black'), local('Roboto-Black'), url('fonts/Roboto/Roboto-Black.ttf') format('truetype'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 900; - src: local('Roboto Black'), local('Roboto-Black'), url('fonts/Roboto/Roboto-Black.ttf') format('truetype'); - unicode-range: U+0370-03FF; -} -/* vietnamese */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 900; - src: local('Roboto Black'), local('Roboto-Black'), url('fonts/Roboto/Roboto-Black.ttf') format('truetype'); - unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 900; - src: local('Roboto Black'), local('Roboto-Black'), url('fonts/Roboto/Roboto-Black.ttf') format('truetype'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 900; - src: local('Roboto Black'), local('Roboto-Black'), url('fonts/Roboto/Roboto-Black.ttf') format('truetype'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} - -@font-face { - font-family: 'Montserrat Regular'; - src: url('/fonts/Montserrat/Montserrat-Regular.woff') format('woff'); - src: url('/fonts/Montserrat/Montserrat-Regular.ttf') format('truetype'); - font-weight: normal; - font-style: normal; - font-size: 'small'; - -} - -@font-face { - font-family: 'Montserrat Bold'; - src: url('/fonts/Montserrat/Montserrat-Bold.woff') format('woff'); - src: url('/fonts/Montserrat/Montserrat-Bold.ttf') format('truetype'); - font-weight: normal; - font-style: normal; -} - -@font-face { - font-family: 'Montserrat Light'; - src: url('/fonts/Montserrat/Montserrat-Light.woff') format('woff'); - src: url('/fonts/Montserrat/Montserrat-Light.ttf') format('truetype'); - font-weight: normal; - font-style: normal; -} - -@font-face { - font-family: 'Montserrat UltraLight'; - src: url('/fonts/Montserrat/Montserrat-UltraLight.woff') format('woff'); - src: url('/fonts/Montserrat/Montserrat-UltraLight.ttf') format('truetype'); - font-weight: normal; - font-style: normal; -} diff --git a/old-ui/app/css/index.css b/old-ui/app/css/index.css deleted file mode 100644 index d209b4754..000000000 --- a/old-ui/app/css/index.css +++ /dev/null @@ -1,939 +0,0 @@ -/* -faint orange (textfield shades) #FAF6F0 -light orange (button shades): #F5C26D -dark orange (text): #F5A623 -borders/font/any gray: #4A4A4A -*/ - -/* -application specific styles -*/ - -* { - box-sizing: border-box; -} - -html, body { - font-family: 'Montserrat Regular', Arial; - color: #4D4D4D; - font-weight: 300; - line-height: 1.4em; - background: #F7F7F7; - margin: 0; - padding: 0; - height: 100%; -} - -html { - min-height: 500px; -} - -.app-root { - overflow: hidden; - position: relative -} - -.app-primary { - display: flex; -} - -input:focus, textarea:focus { - outline: none; -} - -.full-size { - height: 100%; - width: 100%; -} - -.full-width { - width: 100%; -} - -.full-height { - height: 100%; -} - -.full-flex-height { - display: flex; - flex: 1 1 auto; - flex-direction: column; -} - -#app-content { - overflow-x: hidden; - height: 100%; - display: flex; - flex-direction: column; -} - -button, input[type="submit"] { - font-family: 'Montserrat Bold'; - outline: none; - cursor: pointer; - padding: 8px 12px; - border: none; - color: white; - transform-origin: center center; - transition: transform 50ms ease-in; - /* default orange */ - background: rgba(247, 134, 28, 1); - box-shadow: 0px 3px 6px rgba(247, 134, 28, 0.36); -} - -.btn-green, input[type="submit"].btn-green { - background: rgba(106, 195, 96, 1); - box-shadow: 0px 3px 6px rgba(106, 195, 96, 0.36); -} - -.btn-red { - background: rgba(254, 35, 17, 1); - box-shadow: 0px 3px 6px rgba(254, 35, 17, 0.36); -} - -button[disabled], input[type="submit"][disabled] { - cursor: not-allowed; - background: rgba(197, 197, 197, 1); - box-shadow: 0px 3px 6px rgba(197, 197, 197, 0.36); -} - -button.spaced { - margin: 2px; -} - -button:not([disabled]):hover, input[type="submit"]:not([disabled]):hover { - transform: scale(1.1); -} -button:not([disabled]):active, input[type="submit"]:not([disabled]):active { - transform: scale(0.95); -} - -.grow-on-hover:hover { - transform: scale(1.05); -} - -a { - text-decoration: none; - color: inherit; -} - -a:hover{ - color: #df6b0e; -} - -/* -app -*/ - -.active { - color: #909090; -} - -button.primary { - padding: 8px 12px; - background: #F7861C; - box-shadow: 0px 3px 6px rgba(247, 134, 28, 0.36); - color: white; - font-size: 1.1em; - font-family: 'Montserrat Regular'; - text-transform: uppercase; -} - -button.btn-thin { - border: 1px solid; - border-color: #4D4D4D; - color: #4D4D4D; - background: rgb(255, 174, 41); - border-radius: 4px; - min-width: 200px; - margin: 12px 0; - padding: 6px; - font-size: 13px; -} - -.app-header { - padding: 6px 8px; -} - -.app-header h1 { - font-family: 'Montserrat Regular'; - text-transform: uppercase; - color: #AEAEAE; -} - -h2.page-subtitle { - font-family: 'Montserrat Regular'; - text-transform: uppercase; - color: #AEAEAE; - font-size: 1em; - margin: 12px; -} - -.app-footer { - padding-bottom: 10px; - align-items: center; -} - -.identicon { - height: 46px; - width: 46px; - background-size: cover; - border-radius: 100%; - border: 3px solid gray; -} - -textarea.twelve-word-phrase { - padding: 12px; - width: 300px; - height: 140px; - font-size: 16px; - background: white; - resize: none; -} - -.network-indicator { - display: flex; - align-items: center; - font-size: 0.6em; - -} - -.network-name { - width: 5.2em; - line-height: 9px; - text-rendering: geometricPrecision; -} - -.check { - margin-left: 12px; - color: #F7861C; - flex: 1 0 auto; - display: flex; - justify-content: flex-end; -} -/* -app sections -*/ - -/* initialize */ - -.initialize-screen hr { - width: 60px; - margin: 12px; - border-color: #F7861C; - border-style: solid; -} - -.initialize-screen label { - margin-top: 20px; -} - -.initialize-screen button.create-vault { - margin-top: 40px; -} - -.initialize-screen .warning { - font-size: 14px; - margin: 0 16px; -} - -/* unlock */ -.error { - color: #f7861c; - margin-bottom: 9px; -} - -.warning { - color: #FFAE00; -} - -.dropped { - color: #6195ED; -} - -.lock { - width: 50px; - height: 50px; -} - -.lock.locked { - transform: scale(1.5); - opacity: 0.0; - transition: opacity 400ms ease-in, transform 400ms ease-in; -} -.lock.unlocked { - transform: scale(1); - opacity: 1; - transition: opacity 500ms ease-out, transform 500ms ease-out, background 200ms ease-in; -} - -.lock.locked .lock-top { - transform: scaleX(1) translateX(0); - transition: transform 250ms ease-in; -} -.lock.unlocked .lock-top { - transform: scaleX(-1) translateX(-12px); - transition: transform 250ms ease-in; -} -.lock.unlocked:hover { - border-radius: 4px; - background: #e5e5e5; - border: 1px solid #b1b1b1; -} -.lock.unlocked:active { - background: #c3c3c3; -} - -.section-title .fa-arrow-left { - margin: -2px 8px 0px -8px; -} - -.unlock-screen #metamask-mascot-container { - margin-top: 80px; -} - -.unlock-screen h1 { - margin-top: -28px; - margin-bottom: 42px; -} - -.unlock-screen input[type=password] { - width: 260px; - /*height: 36px; - margin-bottom: 24px; - padding: 8px;*/ -} - -.sizing-input{ - font-size: 14px; - height: 30px; - padding-left: 5px; -} -.editable-label{ - display: flex; -} -/* Webkit */ -.unlock-screen input::-webkit-input-placeholder { - text-align: center; - font-size: 1.2em; -} -/* Firefox 18- */ -.unlock-screen input:-moz-placeholder { - text-align: center; - font-size: 1.2em; -} -/* Firefox 19+ */ -.unlock-screen input::-moz-placeholder { - text-align: center; - font-size: 1.2em; -} -/* IE */ -.unlock-screen input:-ms-input-placeholder { - text-align: center; - font-size: 1.2em; -} - -input.large-input, textarea.large-input { - /*margin-bottom: 24px;*/ - padding: 8px; -} - -input.large-input { - height: 36px; -} - -.letter-spacey { - letter-spacing: 0.1em; -} - - - -/* accounts */ - -.accounts-section { - margin: 0 0px; -} - -.accounts-section .horizontal-line { - margin: 0px 18px; -} - -.accounts-list-option { - height: 120px; -} - -.accounts-list-option .identicon-wrapper { - width: 100px; -} - -.unconftx-link { - margin-top: 24px; - cursor: pointer; -} - -.unconftx-link .fa-arrow-right { - margin: 0px -8px 0px 8px; -} - -/* identity panel */ - -.identity-panel { - font-weight: 500; -} - -.identity-panel .identicon-wrapper { - margin: 4px; - margin-top: 8px; - display: flex; - align-items: center; -} - -.identity-panel .identicon-wrapper span { - margin: 0 auto; -} - -.identity-panel .identity-data { - margin: 8px 8px 8px 18px; -} - -.identity-panel i { - margin-top: 32px; - margin-right: 6px; - color: #B9B9B9; -} - -.identity-panel .arrow-right { - padding-left: 18px; - width: 42px; - min-width: 18px; - height: 100%; -} - -.identity-copy.flex-column { - flex: 0.25 0 auto; - justify-content: center; -} - -/* accounts screen */ - -.identity-section { - -} - -.identity-section .identity-panel { - background: #E9E9E9; - border-bottom: 1px solid #B1B1B1; - cursor: pointer; -} - -.identity-section .identity-panel.selected { - background: white; - color: #F3C83E; -} - -.identity-section .identity-panel.selected .identicon { - border-color: orange; -} - -.identity-section .accounts-list-option:hover, -.identity-section .accounts-list-option.selected { - background:white; -} - -/* account detail screen */ - -.account-detail-section { - display: flex; - flex-wrap: wrap; - overflow-x: hidden; - overflow-y: auto; - max-height: 585px; - flex-direction: inherit; -} - -.account-detail-section .name-label { - margin-left: 15px; -} - -.grow-tenx { - flex-grow: 10; -} - -.name-label{ - -} - -.unapproved-tx-icon { - height: 16px; - width: 16px; - background: rgb(47, 174, 244); - border-color: #AEAEAE; - border-radius: 13px; -} - -.edit-text { - height: 100%; - visibility: hidden; -} -.editing-label { - display: flex; - justify-content: flex-start; - margin-left: 50px; - margin-bottom: 2px; - font-size: 11px; - text-rendering: geometricPrecision; - color: #F7861C; -} -.name-label:hover .edit-text { - visibility: visible; -} -/* tx confirm */ - -.unconftx-section input[type=password] { - height: 22px; - padding: 2px; - margin: 12px; - margin-bottom: 24px; - border-radius: 4px; - border: 2px solid #F3C83E; - background: #FAF6F0; -} - -/* Send Screen */ - -.send-screen { - -} - -.send-screen section { - margin: 8px 16px; -} - -.send-screen input { - width: 100%; - font-size: 12px; -} - -/* Ether Balance Widget */ - -.ether-balance-amount { - color: #F7861C; -} - -.ether-balance-label { - color: #ABA9AA; -} - -/* Info screen */ -.info-gray{ - font-family: 'Montserrat Regular'; - text-transform: uppercase; - color: #AEAEAE; -} - -.icon-size{ - width: 20px; -} - -.info{ - font-family: 'Montserrat Regular', Arial; - padding-bottom: 10px; - display: inline-block; - padding-left: 5px; -} - -/* buy eth warning screen */ -.custom-radios { - justify-content: space-around; - align-items: center; -} - - -.custom-radio-selected { - width: 17px; - height: 17px; - border: solid; - border-style: double; - border-radius: 15px; - border-width: 5px; - background: rgba(247, 134, 28, 1); - border-color: #F7F7F7; -} - -.custom-radio-inactive { - width: 14px; - height: 14px; - border: solid; - border-width: 1px; - border-radius: 24px; - border-color: #AEAEAE; -} - -.radio-titles { - color: rgba(247, 134, 28, 1); -} - -.radio-titles-subtext { - -} - -.selected-exchange { - -} - -.buy-radio { - -} - -.eth-warning{ - transition: opacity 400ms ease-in, transform 400ms ease-in; -} - -.buy-subview{ - transition: opacity 400ms ease-in, transform 400ms ease-in; -} - -.input-container:hover .edit-text{ - visibility: visible; -} - -.buy-inputs{ - font-family: 'Montserrat Light'; - font-size: 13px; - height: 20px; - background: transparent; - box-sizing: border-box; - border: solid; - border-color: transparent; - border-width: 0.5px; - border-radius: 2px; - -} -.input-container:hover .buy-inputs{ - box-sizing: inherit; - border: solid; - border-color: #F7861C; - border-width: 0.5px; - border-radius: 2px; -} - -.buy-inputs:focus{ - border: solid; - border-color: #F7861C; - border-width: 0.5px; - border-radius: 2px; -} - -.activeForm { - background: #F7F7F7; - border: none; - border-radius: 8px 8px 0px 0px; - width: 50%; - text-align: center; - padding-bottom: 4px; - -} - -.inactiveForm { - border: none; - border-radius: 8px 8px 0px 0px; - width: 50%; - text-align: center; - padding-bottom: 4px; -} - -.ex-coins { - font-family: 'Montserrat Regular'; - text-transform: uppercase; - text-align: center; - font-size: 33px; - width: 118px; - height: 42px; - padding: 1px; - color: #4D4D4D; -} - -.marketinfo{ - font-family: 'Montserrat light'; - color: #AEAEAE; - font-size: 15px; - line-height: 17px; -} - -#fromCoin::-webkit-calendar-picker-indicator { - display: none; -} - -#coinList { - width: 400px; - height: 500px; - overflow: scroll; -} - -.icon-control .fa-refresh{ - visibility: hidden; -} - -.icon-control:hover .fa-refresh{ - visibility: visible; -} - -.icon-control:hover .fa-chevron-right{ - visibility: hidden; -} - -.inactive { - color: #AEAEAE; -} - -.inactive button{ - background: #AEAEAE; - color: white; -} - -.ellip-address { - overflow: hidden; - text-overflow: ellipsis; - width: 5em; - font-size: 14px; - font-family: "Montserrat Light"; - margin-left: 5px; -} - -.qr-header { - font-size: 25px; - margin-top: 40px; -} - -.qr-message { - font-size: 12px; - color: #F7861C; -} - -div.message-container > div:first-child { - margin-top: 18px; - font-size: 15px; - color: #4D4D4D; -} - -.pop-hover:hover { - transform: scale(1.1); -} - -.new-ui-announcement { - display: flex; - flex-direction: column; - height: 100%; - background: white; - color: #4D4D4D; - font-family: Roboto, Arial, sans-serif; - padding: 1.5rem; -} - -.new-ui-announcement__announcement-header { - display: flex; - flex-direction: row; - justify-content: space-between; - padding-bottom: 1rem; -} - -.new-ui-announcement__announcement-header a.close { - cursor: pointer; - font-size: 32px; - line-height: 17px; -} - -.new-ui-announcement__announcement-header a.close:hover { - color: inherit; -} - -.new-ui-announcement__announcement-header h1 { - color: #33A4E7; - text-transform: uppercase; - font-size: 18px; - font-weight: 400; -} - -.new-ui-announcement__body { - display: flex; - flex: 1; - flex-direction: column; - font-size: 10.5pt; - font-weight: 300; -} - -.new-ui-announcement__body h1 { - font-size: 22px; - font-weight: 600; - padding-bottom: 1rem; -} - -.new-ui-announcement__body a { - color: #33A4E7; -} - -.new-ui-announcement__body .updates-list { - padding: .5rem 1rem; -} - -.new-ui-announcement__body .updates-list h2 { - font-weight: 600; -} - -.new-ui-announcement__body .updates-list ul { - list-style: disc inside; -} - -.new-ui-announcement__footer { - display: flex; - flex-direction: column; - align-items: center; -} - -.new-ui-announcement__footer h1 { - font-family: inherit; - font-weight: 600; -} - -.new-ui-announcement__footer button:hover { - transform: none; -} - -.new-ui-announcement__footer button.positive { - padding: 1rem; - margin: 1rem; - background: #33A4E7; - color: white; - text-transform: uppercase; - box-shadow: none; - border-radius: 5px; - font-family: inherit; - font-size: 13px; - font-weight: 400; - width: 90%; -} - -.new-ui-announcement__footer button.negative { - margin: 0; - padding: 0; - background: white; - color: #33A4E7; - font-family: inherit; - font-size: 13px; - font-weight: 400; - box-shadow: none; -} - -.app-bar { - width: 100%; - display: flex; - flex-direction: column; -} - -.app-bar__new-ui-banner { - background: #33A4E7; - color: white; - font-size: 12px; - line-height: 12px; - padding: 8px; - font-family: Roboto, Arial, sans-serif; - font-weight: 400; - width: 100%; -} - -.banner__link { - cursor: pointer; - text-decoration: underline; -} - -.notification-modal-wrapper { - display: flex; - flex-direction: column; - justify-content: flex-start; - align-items: center; - position: relative; - border: 1px solid #dedede; - box-shadow: 0 0 2px 2px #dedede; - font-family: Roboto; -} - -.notification-modal-header { - background: #f6f6f6; - width: 100%; - display: flex; - justify-content: center; - padding: 30px; - font-size: 22px; - color: #1b344d; - height: 79px; -} - -.notification-modal-message { - padding: 20px; -} - -.notification-modal-message { - width: 100%; - display: flex; - justify-content: center; - font-size: 17px; - color: #1b344d; -} - -.modal-close-x::after { - content: '\00D7'; - font-size: 2em; - color: #9b9b9b; - position: absolute; - top: 25px; - right: 17.5px; - font-family: sans-serif; - cursor: pointer; -} - -.notification-modal__wrapper { - display: flex; - flex-direction: column; - justify-content: flex-start; - align-items: center; - position: relative; - border: 1px solid #dedede; - box-shadow: 0 0 2px 2px #dedede; - font-family: Roboto; -} - -.notification-modal__header { - background: #f6f6f6; - width: 100%; - display: flex; - justify-content: center; - padding: 30px; - font-size: 22px; - color: #1b344d; - height: 79px; -} - -.notification-modal__message { - padding: 20px; - width: 100%; - display: flex; - justify-content: center; - font-size: 17px; - color: #1b344d; -} - -.notification-modal__buttons { - display: flex; - justify-content: space-evenly; - width: 100%; - margin-bottom: 24px; - padding: 0px 42px; -} - -.notification-modal__buttons__btn { - cursor: pointer; -} - -.notification-modal__link { - color: #2f9ae0; -} diff --git a/old-ui/app/css/lib.css b/old-ui/app/css/lib.css deleted file mode 100644 index fd63b2b2e..000000000 --- a/old-ui/app/css/lib.css +++ /dev/null @@ -1,306 +0,0 @@ -/* color */ - -.color-orange { - color: #F7861C; -} - -.color-forest { - color: #0A5448; -} - -/* lib */ - -.full-width { - width: 100%; -} - -.full-height { - height: 100%; -} - -.flex-column { - display: flex; - flex-direction: column; -} - -.space-between { - justify-content: space-between; -} - -.space-around { - justify-content: space-around; -} - -.flex-column-bottom { - display: flex; - flex-direction: column-reverse; -} - -.flex-row { - display: flex; - flex-direction: row; -} - -.flex-space-between { - justify-content: space-between; -} - -.flex-space-around { - justify-content: space-around; -} - -.flex-right { - display: flex; - flex-direction: row; - justify-content: flex-end; -} - -.flex-left { - display: flex; - flex-direction: row; - justify-content: flex-start; -} - -.flex-fixed { - flex: none; -} - -.flex-basis-auto { - flex-basis: auto; -} - -.flex-grow { - flex: 1 1 auto; -} - -.flex-wrap { - flex-wrap: wrap; -} - -.flex-center { - display: flex; - justify-content: center; - align-items: center; -} - -.flex-justify-center { - justify-content: center; -} - -.flex-align-center { - align-items: center; -} - -.flex-self-end { - align-self: flex-end; -} - -.flex-self-stretch { - align-self: stretch; -} - -.flex-vertical { - flex-direction: column; -} - -.z-bump { - z-index: 1; -} - -.select-none { - cursor: inherit; - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.pointer { - cursor: pointer; -} -.cursor-pointer { - cursor: pointer; - transform-origin: center center; - transition: transform 50ms ease-in-out; -} -.cursor-pointer:hover { - transform: scale(1.1); -} -.cursor-pointer:active { - transform: scale(0.95); -} - -.cursor-disabled { - cursor: not-allowed; -} - -.margin-bottom-sml { - margin-bottom: 20px; -} - -.margin-bottom-med { - margin-bottom: 40px; -} - -.margin-right-left { - margin: 0 20px; -} - -.bold { - font-weight: bold; -} - -.text-transform-uppercase { - text-transform: uppercase; -} - -.font-small { - font-size: 12px; -} - -.font-medium { - font-size: 1.2em; -} - -hr.horizontal-line { - display: block; - height: 1px; - border: 0; - border-top: 1px solid #ccc; - margin: 1em 0; - padding: 0; -} - -.hover-white:hover { - background: white; -} - -.red-dot { - background: #E91550; - color: white; - border-radius: 10px; -} - -.diamond { - transform: rotate(45deg); - background: #038789; -} - -.hollow-diamond { - transform: rotate(45deg); - border: 3px solid #690496; -} - -.golden-square { - background: #EBB33F; -} - -.pending-dot { - background: red; - left: 14px; - top: 14px; - color: white; - border-radius: 10px; - height: 20px; - min-width: 20px; - position: relative; - display: flex; - align-items: center; - justify-content: center; - padding: 4px; - z-index: 1; -} - -.keyring-label { - z-index: 1; - font-size: 11px; - background: rgba(255,0,0,0.8); - color: white; - bottom: 0px; - left: -18px; - border-radius: 10px; - height: 20px; - min-width: 20px; - position: absolute; - display: flex; - align-items: center; - justify-content: center; - padding: 4px; -} - -.ether-balance { - display: flex; - align-items: center; -} - -.tabSection { - min-width: 350px; -} - -.menu-icon { - display: inline-block; - height: 12px; - min-width: 12px; - margin: 13px; -} - -i.fa.fa-question-circle.fa-lg.menu-icon { - font-size: 18px; -} - -.ether-icon { - background: rgb(0, 163, 68); - border-radius: 20px; -} -.testnet-icon { - background: #2465E1; -} - -.drop-menu-item { - display: flex; - align-items: center; -} - -.invisible { - visibility: hidden; -} - -.one-line-concat { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.critical-error { - text-align: center; - margin-top: 20px; - color: red; -} - -/* - Hacky breakpoint fix for account + tab sections - Resolves issue from @frankiebee in - https://github.com/MetaMask/metamask-extension/pull/1835 - Please remove this when integrating new designs - */ - -@media screen and (min-width: 575px) and (max-width: 800px) { - .account-data-subsection { - flex: 0 0 auto !important; // reset flex - margin-left: 10px !important; // create additional horizontal space - margin-right: 10px !important; - width: 40%; - } - - .tabSection { - flex: 0 0 auto !important; - margin-left: 10px !important; - margin-right: 10px !important; - min-width: 285px; - width: 49%; - } - - .name-label { - width: 80%; - } -} diff --git a/old-ui/app/css/output/index.css b/old-ui/app/css/output/index.css deleted file mode 100644 index bed689ecb..000000000 --- a/old-ui/app/css/output/index.css +++ /dev/null @@ -1,5722 +0,0 @@ -@charset "UTF-8"; -/* - ITCSS - - http://www.creativebloq.com/web-design/manage-large-css-projects-itcss-101517528 - https://www.xfive.co/blog/itcss-scalable-maintainable-css-architecture/ - */ -/* - Variables - */ -/* - Colors - http://chir.ag/projects/name-that-color - */ -/* - Z-Indicies - */ -/* - Z Indicies - Current - app - 11 - hex/bn as decimal input - 1 - remove? - dropdown - 11 - loading - 10 - higher? - mascot - 0 - remove? - */ -/* - Responsive Breakpoints - */ - - @import url('/fonts/Font_Awesome/font-awesome.min.css'); - - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 100; - src: local('Roboto Thin'), local('Roboto-Thin'), url('fonts/Roboto/Roboto-Thin.ttf') format('truetype'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; - } - /* cyrillic */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 100; - src: local('Roboto Thin'), local('Roboto-Thin'), url('fonts/Roboto/Roboto-Thin.ttf') format('truetype'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; - } - /* greek-ext */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 100; - src: local('Roboto Thin'), local('Roboto-Thin'), url('fonts/Roboto/Roboto-Thin.ttf') format('truetype'); - unicode-range: U+1F00-1FFF; - } - /* greek */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 100; - src: local('Roboto Thin'), local('Roboto-Thin'), url('fonts/Roboto/Roboto-Thin.ttf') format('truetype'); - unicode-range: U+0370-03FF; - } - /* vietnamese */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 100; - src: local('Roboto Thin'), local('Roboto-Thin'), url('fonts/Roboto/Roboto-Thin.ttf') format('truetype'); - unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; - } - /* latin-ext */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 100; - src: local('Roboto Thin'), local('Roboto-Thin'), url('fonts/Roboto/Roboto-Thin.ttf') format('truetype'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; - } - /* latin */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 100; - src: local('Roboto Thin'), local('Roboto-Thin'), url('fonts/Roboto/Roboto-Thin.ttf') format('truetype'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; - } - /* cyrillic-ext */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - src: local('Roboto Light'), local('Roboto-Light'), url('fonts/Roboto/Roboto-Light.ttf') format('truetype'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; - } - /* cyrillic */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - src: local('Roboto Light'), local('Roboto-Light'), url('fonts/Roboto/Roboto-Light.ttf') format('truetype'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; - } - /* greek-ext */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - src: local('Roboto Light'), local('Roboto-Light'), url('fonts/Roboto/Roboto-Light.ttf') format('truetype'); - unicode-range: U+1F00-1FFF; - } - /* greek */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - src: local('Roboto Light'), local('Roboto-Light'), url('fonts/Roboto/Roboto-Light.ttf') format('truetype'); - unicode-range: U+0370-03FF; - } - /* vietnamese */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - src: local('Roboto Light'), local('Roboto-Light'), url('fonts/Roboto/Roboto-Light.ttf') format('truetype'); - unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; - } - /* latin-ext */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - src: local('Roboto Light'), local('Roboto-Light'), url('fonts/Roboto/Roboto-Light.ttf') format('truetype'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; - } - /* latin */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - src: local('Roboto Light'), local('Roboto-Light'), url('fonts/Roboto/Roboto-Light.ttf') format('truetype'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; - } - /* cyrillic-ext */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url('fonts/Roboto/Roboto-Regular.ttf') format('truetype'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; - } - /* cyrillic */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url('fonts/Roboto/Roboto-Regular.ttf') format('truetype'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; - } - /* greek-ext */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url('fonts/Roboto/Roboto-Regular.ttf') format('truetype'); - unicode-range: U+1F00-1FFF; - } - /* greek */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url('fonts/Roboto/Roboto-Regular.ttf') format('truetype'); - unicode-range: U+0370-03FF; - } - /* vietnamese */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url('fonts/Roboto/Roboto-Regular.ttf') format('truetype'); - unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; - } - /* latin-ext */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url('fonts/Roboto/Roboto-Regular.ttf') format('truetype'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; - } - /* latin */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url('fonts/Roboto/Roboto-Regular.ttf') format('truetype'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; - } - /* cyrillic-ext */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url('fonts/Roboto/Roboto-Medium.ttf') format('truetype'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; - } - /* cyrillic */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url('fonts/Roboto/Roboto-Medium.ttf') format('truetype'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; - } - /* greek-ext */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url('fonts/Roboto/Roboto-Medium.ttf') format('truetype'); - unicode-range: U+1F00-1FFF; - } - /* greek */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url('fonts/Roboto/Roboto-Medium.ttf') format('truetype'); - unicode-range: U+0370-03FF; - } - /* vietnamese */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url('fonts/Roboto/Roboto-Medium.ttf') format('truetype'); - unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; - } - /* latin-ext */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url('fonts/Roboto/Roboto-Medium.ttf') format('truetype'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; - } - /* latin */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url('fonts/Roboto/Roboto-Medium.ttf') format('truetype'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; - } - /* cyrillic-ext */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - src: local('Roboto Bold'), local('Roboto-Bold'), url('fonts/Roboto/Roboto-Bold.ttf') format('truetype'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; - } - /* cyrillic */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - src: local('Roboto Bold'), local('Roboto-Bold'), url('fonts/Roboto/Roboto-Bold.ttf') format('truetype'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; - } - /* greek-ext */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - src: local('Roboto Bold'), local('Roboto-Bold'), url('fonts/Roboto/Roboto-Bold.ttf') format('truetype'); - unicode-range: U+1F00-1FFF; - } - /* greek */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - src: local('Roboto Bold'), local('Roboto-Bold'), url('fonts/Roboto/Roboto-Bold.ttf') format('truetype'); - unicode-range: U+0370-03FF; - } - /* vietnamese */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - src: local('Roboto Bold'), local('Roboto-Bold'), url('fonts/Roboto/Roboto-Bold.ttf') format('truetype'); - unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; - } - /* latin-ext */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - src: local('Roboto Bold'), local('Roboto-Bold'), url('fonts/Roboto/Roboto-Bold.ttf') format('truetype'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; - } - /* latin */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - src: local('Roboto Bold'), local('Roboto-Bold'), url('fonts/Roboto/Roboto-Bold.ttf') format('truetype'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; - } - /* cyrillic-ext */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 900; - src: local('Roboto Black'), local('Roboto-Black'), url('fonts/Roboto/Roboto-Black.ttf') format('truetype'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; - } - /* cyrillic */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 900; - src: local('Roboto Black'), local('Roboto-Black'), url('fonts/Roboto/Roboto-Black.ttf') format('truetype'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; - } - /* greek-ext */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 900; - src: local('Roboto Black'), local('Roboto-Black'), url('fonts/Roboto/Roboto-Black.ttf') format('truetype'); - unicode-range: U+1F00-1FFF; - } - /* greek */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 900; - src: local('Roboto Black'), local('Roboto-Black'), url('fonts/Roboto/Roboto-Black.ttf') format('truetype'); - unicode-range: U+0370-03FF; - } - /* vietnamese */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 900; - src: local('Roboto Black'), local('Roboto-Black'), url('fonts/Roboto/Roboto-Black.ttf') format('truetype'); - unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; - } - /* latin-ext */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 900; - src: local('Roboto Black'), local('Roboto-Black'), url('fonts/Roboto/Roboto-Black.ttf') format('truetype'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; - } - /* latin */ - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 900; - src: local('Roboto Black'), local('Roboto-Black'), url('fonts/Roboto/Roboto-Black.ttf') format('truetype'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; - } - -@font-face { - font-family: 'Montserrat Regular'; - src: url("/fonts/Montserrat/Montserrat-Regular.woff") format("woff"); - src: url("/fonts/Montserrat/Montserrat-Regular.ttf") format("truetype"); - font-weight: 400; - font-style: normal; - font-size: 'small'; } - -@font-face { - font-family: 'Montserrat Bold'; - src: url("/fonts/Montserrat/Montserrat-Bold.woff") format("woff"); - src: url("/fonts/Montserrat/Montserrat-Bold.ttf") format("truetype"); - font-weight: 400; - font-style: normal; } - -@font-face { - font-family: 'Montserrat Light'; - src: url("/fonts/Montserrat/Montserrat-Light.woff") format("woff"); - src: url("/fonts/Montserrat/Montserrat-Light.ttf") format("truetype"); - font-weight: 400; - font-style: normal; } - -@font-face { - font-family: 'Montserrat UltraLight'; - src: url("/fonts/Montserrat/Montserrat-UltraLight.woff") format("woff"); - src: url("/fonts/Montserrat/Montserrat-UltraLight.ttf") format("truetype"); - font-weight: 400; - font-style: normal; } - -@font-face { - font-family: 'DIN OT'; - src: url("/fonts/DIN_OT/DINOT-2.otf") format("opentype"); - font-weight: 400; - font-style: normal; } - -@font-face { - font-family: 'DIN OT Light'; - src: url("/fonts/DIN_OT/DINOT-2.otf") format("opentype"); - font-weight: 200; - font-style: normal; } - -@font-face { - font-family: 'DIN NEXT'; - src: url("/fonts/DIN NEXT/DIN NEXT W01 Regular.otf") format("opentype"); - font-weight: 400; - font-style: normal; } - -@font-face { - font-family: 'DIN NEXT Light'; - src: url("/fonts/DIN NEXT/DIN NEXT W10 Light.otf") format("opentype"); - font-weight: 400; - font-style: normal; } - -@font-face { - font-family: 'Lato'; - src: url("/fonts/Lato/Lato-Regular.ttf") format("truetype"); - font-weight: 400; - font-style: normal; } - -/* - Utility Classes - */ -/* color */ -.color-orange { - color: #f7861c; } - -.color-forest { - color: #0a5448; } - -/* lib */ -.full-size { - height: 100%; - width: 100%; } - -.full-width { - width: 100%; } - -.full-flex-height { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-flex: 1; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; } - -.full-height { - height: 100%; } - -.flex-column { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; } - -.space-between { - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; } - -.space-around { - -ms-flex-pack: distribute; - justify-content: space-around; } - -.flex-column-bottom { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: reverse; - -ms-flex-direction: column-reverse; - flex-direction: column-reverse; } - -.flex-row { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; } - -.flex-space-between { - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; } - -.flex-space-around { - -ms-flex-pack: distribute; - justify-content: space-around; } - -.flex-right { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - -webkit-box-pack: end; - -ms-flex-pack: end; - justify-content: flex-end; } - -.flex-left { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; } - -.flex-fixed { - -webkit-box-flex: 0; - -ms-flex: none; - flex: none; } - -.flex-basis-auto { - -ms-flex-preferred-size: auto; - flex-basis: auto; } - -.flex-grow { - -webkit-box-flex: 1; - -ms-flex: 1 1 auto; - flex: 1 1 auto; } - -.flex-wrap { - -ms-flex-wrap: wrap; - flex-wrap: wrap; } - -.flex-center { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - -.flex-justify-center { - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; } - -.flex-align-center { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - -.flex-self-end { - -ms-flex-item-align: end; - align-self: flex-end; } - -.flex-self-stretch { - -ms-flex-item-align: stretch; - align-self: stretch; } - -.flex-vertical { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; } - -.z-bump { - z-index: 1; } - -.select-none { - cursor: inherit; - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - user-select: none; } - -.pointer { - cursor: pointer; } - -.cursor-pointer { - cursor: pointer; - -webkit-transform-origin: center center; - transform-origin: center center; - -webkit-transition: -webkit-transform 50ms ease-in-out; - transition: -webkit-transform 50ms ease-in-out; - transition: transform 50ms ease-in-out; - transition: transform 50ms ease-in-out, -webkit-transform 50ms ease-in-out; } - -.cursor-pointer:hover { - -webkit-transform: scale(1.1); - transform: scale(1.1); } - -.cursor-pointer:active { - -webkit-transform: scale(0.95); - transform: scale(0.95); } - -.cursor-disabled { - cursor: not-allowed; } - -.margin-bottom-sml { - margin-bottom: 20px; } - -.margin-bottom-med { - margin-bottom: 40px; } - -.margin-right-left { - margin: 0 20px; } - -.bold { - font-weight: 700; } - -.text-transform-uppercase { - text-transform: uppercase; } - -.font-small { - font-size: 12px; } - -.font-medium { - font-size: 1.2em; } - -hr.horizontal-line { - display: block; - height: 1px; - border: 0; - border-top: 1px solid #ccc; - margin: 1em 0; - padding: 0; } - -.hover-white:hover { - background: #fff; } - -.red-dot { - background: #e91550; - color: #fff; - border-radius: 10px; } - -.diamond { - -webkit-transform: rotate(45deg); - transform: rotate(45deg); - background: #038789; } - -.hollow-diamond { - -webkit-transform: rotate(45deg); - transform: rotate(45deg); - border: 3px solid #690496; } - -.golden-square { - background: #ebb33f; } - -.pending-dot { - background: #f00; - left: 14px; - top: 14px; - color: #fff; - border-radius: 10px; - height: 20px; - min-width: 20px; - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - padding: 4px; - z-index: 1; } - -.keyring-label { - z-index: 1; - font-size: 8px; - line-height: 8px; - background: rgba(255, 255, 255, 0.4); - color: #fff; - border-radius: 10px; - padding: 4px; - text-align: center; - height: 15px; } - -.ether-balance { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - -.tabSection { - min-width: 350px; } - -.menu-icon { - display: inline-block; - height: 12px; - min-width: 12px; - margin: 13px; } - -.ether-icon { - background: #00a344; - border-radius: 20px; } - -.testnet-icon { - background: #2465e1; } - -.drop-menu-item { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - -.invisible { - visibility: hidden; } - -.one-line-concat { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; } - -.critical-error { - text-align: center; - margin-top: 20px; - color: #f00; } - -/* - Misc - */ -.letter-spacey { - letter-spacing: .1em; } - -.active { - color: #909090; } - -.check { - margin-left: 7px; - color: #f7861c; - -webkit-box-flex: 1; - -ms-flex: 1 0 auto; - flex: 1 0 auto; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: end; - -ms-flex-pack: end; - justify-content: flex-end; } - -/* - Generic - */ -/* http://meyerweb.com/eric/tools/css/reset/ - v2.0 | 20110126 - License: none (public domain) -*/ -html, -body, -div, -span, -applet, -object, -iframe, -h1, -h2, -h3, -h4, -h5, -h6, -p, -blockquote, -pre, -a, -abbr, -acronym, -address, -big, -cite, -code, -del, -dfn, -em, -img, -ins, -kbd, -q, -s, -samp, -small, -strike, -strong, -sub, -sup, -tt, -var, -b, -u, -i, -center, -dl, -dt, -dd, -ol, -ul, -li, -fieldset, -form, -label, -legend, -table, -caption, -tbody, -tfoot, -thead, -tr, -th, -td, -article, -aside, -canvas, -details, -embed, -figure, -figcaption, -footer, -header, -hgroup, -menu, -nav, -output, -ruby, -section, -summary, -time, -mark, -audio, -video { - margin: 0; - padding: 0; - border: 0; - font-size: 100%; - /* stylelint-disable */ - font: inherit; - /* stylelint-enable */ - vertical-align: baseline; } - -/* HTML5 display-role reset for older browsers */ -/* stylelint-disable */ -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -menu, -nav, -section { - display: block; } - -body { - line-height: 1; } - -ol, -ul { - list-style: none; } - -blockquote, -q { - quotes: none; } - -blockquote:before, -blockquote:after, -q:before, -q:after { - content: ''; - content: none; } - -table { - border-collapse: collapse; - border-spacing: 0; } - -button { - border-style: none; - cursor: pointer; } - -/* stylelint-enable */ -* { - -webkit-box-sizing: border-box; - box-sizing: border-box; } - -html, -body { - font-family: Roboto, Arial; - color: #4d4d4d; - font-weight: 300; - line-height: 1.4em; - background: #f7f7f7; - width: 100%; - height: 100%; - margin: 0; - padding: 0; } - -html { - min-height: 500px; } - -.app-root { - overflow: hidden; - position: relative; } - -.app-primary { - display: -webkit-box; - display: -ms-flexbox; - display: flex; } - -input:focus, -textarea:focus { - outline: none; } - -/* stylelint-disable */ -#app-content { - overflow-x: hidden; - height: 100%; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; } - @media screen and (max-width: 575px) { - #app-content { - background-color: #fff; } } - -/* stylelint-enable */ -a { - text-decoration: none; - color: inherit; } - -a:hover { - color: #df6b0e; } - -input.large-input, -textarea.large-input { - padding: 8px; } - -input.large-input { - height: 36px; } - -/* - Buttons - */ -.btn-green { - background-color: #02c9b1; } - -button.btn-clear { - background: #fff; - border: 1px solid; } - -button[disabled], -input[type="submit"][disabled] { - cursor: not-allowed; - opacity: .5; } - -button.primary { - padding: 8px 12px; - background: #f7861c; - -webkit-box-shadow: 0 3px 6px rgba(247, 134, 28, 0.36); - box-shadow: 0 3px 6px rgba(247, 134, 28, 0.36); - color: #fff; - font-size: 1.1em; - font-family: Roboto; - text-transform: uppercase; } - -.btn-light { - padding: 8px 12px; - -webkit-box-shadow: 0 3px 6px rgba(247, 134, 28, 0.36); - box-shadow: 0 3px 6px rgba(247, 134, 28, 0.36); - color: #585d67; - font-size: 1.1em; - font-family: Roboto; - text-transform: uppercase; - text-align: center; - line-height: 20px; - border-radius: 2px; - border: 1px solid #979797; - opacity: .5; } - -button.btn-thin { - border: 1px solid; - border-color: #4d4d4d; - color: #4d4d4d; - background: #ffae29; - border-radius: 4px; - min-width: 200px; - margin: 12px 0; - padding: 6px; - font-size: 13px; } - -.btn-secondary { - border: 1px solid #979797; - border-radius: 2px; - background-color: #fff; - font-size: 16px; - line-height: 24px; - padding: 16px 42px; } - .btn-secondary[disabled] { - background-color: #fff !important; - opacity: .5; } - -.btn-tertiary { - border: 1px solid transparent; - border-radius: 2px; - background-color: transparent; - font-size: 16px; - line-height: 24px; - padding: 16px 42px; } - -.app-header { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - visibility: visible; - background: #efefef; - position: relative; - z-index: 12; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-flow: column nowrap; - flex-flow: column nowrap; } - @media screen and (max-width: 575px) { - .app-header { - padding: 12px; - width: 100%; - -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08); - box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08); - z-index: 26; } } - @media screen and (min-width: 576px) { - .app-header { - height: 75px; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; } - .app-header::after { - content: ''; - position: absolute; - width: 100%; - height: 32px; - background: #efefef; - bottom: -32px; } } - .app-header .metafox-icon { - cursor: pointer; } - -.app-header-contents { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - width: 100%; - height: 6.9vh; } - @media screen and (max-width: 575px) { - .app-header-contents { - height: 100%; } } - @media screen and (min-width: 576px) { - .app-header-contents { - width: 85vw; } } - @media screen and (min-width: 769px) { - .app-header-contents { - width: 80vw; } } - @media screen and (min-width: 1281px) { - .app-header-contents { - width: 65vw; } } - -.app-header h1 { - font-family: Roboto; - text-transform: uppercase; - font-weight: 400; - color: #22232c; - line-height: 29px; } - @media screen and (max-width: 575px) { - .app-header h1 { - display: none; } } - -h2.page-subtitle { - text-transform: uppercase; - color: #aeaeae; - font-size: 1em; - margin: 12px; } - -.network-component-wrapper { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - -.left-menu-wrapper { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - cursor: pointer; } - -.header__right-actions { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - .header__right-actions .identicon { - cursor: pointer; } - -.app-footer { - padding-bottom: 10px; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - -.network-component--disabled { - cursor: default; } - .network-component--disabled .fa-caret-down { - opacity: 0; } - -.network-component.pointer { - border: 1px solid #22232c; - border-radius: 82px; - padding: 6px; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; } - .network-component.pointer.ethereum-network { - border-color: #038789; } - .network-component.pointer.ethereum-network .menu-icon-circle div { - background-color: rgba(3, 135, 137, 0.7) !important; } - .network-component.pointer.ropsten-test-network { - border-color: #e91550; } - .network-component.pointer.ropsten-test-network .menu-icon-circle div { - background-color: rgba(233, 21, 80, 0.7) !important; } - .network-component.pointer.kovan-test-network { - border-color: #690496; } - .network-component.pointer.kovan-test-network .menu-icon-circle div { - background-color: rgba(105, 4, 150, 0.7) !important; } - .network-component.pointer.rinkeby-test-network { - border-color: #ebb33f; } - .network-component.pointer.rinkeby-test-network .menu-icon-circle div { - background-color: rgba(235, 179, 63, 0.7) !important; } - -.dropdown-menu-item .menu-icon-circle, -.dropdown-menu-item .menu-icon-circle--active { - margin: 0 14px; } - -.network-indicator { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - font-size: .6em; } - .network-indicator .fa-caret-down { - line-height: 15px; - font-size: 12px; - padding: 0 4px; } - -.network-name { - line-height: 15px; - padding: 0 4px; - font-family: Roboto; - font-size: 12px; - -webkit-box-flex: 1; - -ms-flex: 1 0 auto; - flex: 1 0 auto; } - -.network-droppo { - right: 2px; } - @media screen and (min-width: 576px) { - .network-droppo { - right: calc(((100% - 85vw) / 2) + 2px); } } - @media screen and (min-width: 769px) { - .network-droppo { - right: calc(((100% - 80vw) / 2) + 2px); } } - @media screen and (min-width: 1281px) { - .network-droppo { - right: calc(((100% - 65vw) / 2) + 2px); } } - -.network-name-item { - font-weight: 100; - -webkit-box-flex: 1; - -ms-flex: 1 0 auto; - flex: 1 0 auto; - color: #9b9b9b; } - -.network-check, -.network-check__transparent { - color: #fff; - margin-left: 7px; } - -.network-check__transparent { - opacity: 0; - width: 16px; - margin: 0; } - -.menu-icon-circle, -.menu-icon-circle--active { - background: none; - border-radius: 22px; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - border: 1px solid transparent; - margin: 0 4px; } - -.menu-icon-circle--active { - border: 1px solid #fff; - background: rgba(100, 100, 100, 0.4); } - -.menu-icon-circle div, -.menu-icon-circle--active div { - height: 12px; - width: 12px; - border-radius: 17px; } - -.menu-icon-circle--active div { - opacity: 1; } - -.network-dropdown-header { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - width: 100%; } - -.network-dropdown-divider { - width: 100%; - height: 1px; - margin: 10px 0; - background-color: #5d5d5d; } - -.network-dropdown-title { - height: 25px; - width: 75px; - color: #fff; - font-family: Roboto; - font-size: 18px; - line-height: 25px; - text-align: center; } - -.network-dropdown-content { - height: 36px; - width: 265px; - color: #9b9b9b; - font-family: Roboto; - font-size: 14px; - line-height: 18px; } - -.modal > div:focus { - outline: none !important; } - -.buy-modal-content { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - text-align: center; - font-family: Roboto; - padding: 0 16px; } - -.buy-modal-content-option { - cursor: pointer; - color: #5B5D67; } - -.qr-ellip-address, .ellip-address { - width: 247px; - border: none; - font-family: Roboto; - font-size: 14px; } - -@media screen and (max-width: 575px) { - .buy-modal-content-title-wrapper { - -ms-flex-pack: distribute; - justify-content: space-around; - width: 100%; - height: 100px; } - .buy-modal-content-title { - font-size: 26px; - margin-top: 15px; } - .buy-modal-content-options { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - padding: 5% 33%; } - .buy-modal-content-footer { - text-transform: uppercase; - width: 100%; - height: 50px; } - div.buy-modal-content-option { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - width: 80vw; - height: 15vh; - margin: 10px; - text-align: center; - border-radius: 6px; - border: 1px solid #000; - padding: 0% 7%; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; } - div.buy-modal-content-option div.buy-modal-content-option-title { - font-size: 20px; } - div.buy-modal-content-option div.buy-modal-content-option-subtitle { - font-size: 16px; } } - -@media screen and (min-width: 576px) { - .buy-modal-content-title-wrapper { - -ms-flex-pack: distribute; - justify-content: space-around; - width: 100%; - height: 110px; } - .buy-modal-content-title { - font-size: 26px; - margin-top: 15px; } - .buy-modal-content-footer { - text-transform: uppercase; - width: 100%; - height: 50px; } - .buy-modal-content-options { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - margin: 20px 0 60px; } - div.buy-modal-content-option { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - width: 20vw; - height: 120px; - text-align: center; - border-radius: 6px; - border: 1px solid #000; - margin: 0 8px; - padding: 18px 0; } - div.buy-modal-content-option div.buy-modal-content-option-title { - font-size: 20px; - margin-bottom: 12px; } } - @media screen and (min-width: 576px) and (max-width: 679px) { - div.buy-modal-content-option div.buy-modal-content-option-title { - font-size: 14px; } } - @media screen and (min-width: 576px) and (min-width: 1281px) { - div.buy-modal-content-option div.buy-modal-content-option-title { - font-size: 20px; } } - -@media screen and (min-width: 576px) { - div.buy-modal-content-option div.buy-modal-content-option-subtitle { - font-size: 16px; - padding: 0 10px; - height: 25%; } } - @media screen and (min-width: 576px) and (max-width: 679px) { - div.buy-modal-content-option div.buy-modal-content-option-subtitle { - font-size: 10px; - padding: 0 10px; - margin-bottom: 5px; - line-height: 15px; } } - @media screen and (min-width: 576px) and (min-width: 680px) { - div.buy-modal-content-option div.buy-modal-content-option-subtitle { - font-size: 14px; - padding: 0 4px; - margin-bottom: 2px; } } - @media screen and (min-width: 576px) and (min-width: 1281px) { - div.buy-modal-content-option div.buy-modal-content-option-subtitle { - font-size: 16px; - padding: 0; } } - -@media screen and (min-width: 576px) { - div.buy-modal-content-option div.buy-modal-content-footer { - margin-top: 8vh; } } - -.edit-account-name-modal-content { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - position: relative; } - -.edit-account-name-modal-cancel { - position: absolute; - top: 12px; - right: 20px; - font-size: 25px; } - -.edit-account-name-modal-title { - margin: 15px; } - -.edit-account-name-modal-save-button { - width: 33%; - height: 45px; - margin: 15px; - font-weight: 700; - margin-top: 25px; } - -.edit-account-name-modal-input { - width: 90%; - height: 50px; - text-align: left; - margin: 10px; - padding: 10px; - font-size: 18px; } - -.account-modal-container { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - position: relative; - padding: 5px 0 31px 0; - border: 1px solid #cdcdcd; - border-radius: 4px; - font-family: Roboto; } - .account-modal-container button { - cursor: pointer; } - -.account-modal-back { - color: #9b9b9b; - position: absolute; - top: 13px; - left: 17px; - cursor: pointer; } - .account-modal-back__text { - margin-top: 2px; - font-family: Roboto; - font-size: 14px; - line-height: 18px; } - -.account-modal-close::after { - content: '\00D7'; - font-size: 40px; - color: #9b9b9b; - position: absolute; - top: 10px; - right: 12px; - cursor: pointer; } - -.account-modal-container .identicon { - position: relative; - left: 0; - right: 0; - margin: 0 auto; - top: -32px; - margin-bottom: -32px; } - -.account-modal-container .qr-header { - margin-top: 9px; - font-size: 20px; } - -.account-modal-container .qr-wrapper { - margin-top: 5px; } - -.account-modal-container .ellip-address-wrapper { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - border: 1px solid #dedede; - padding: 5px 10px; - font-family: Roboto; - margin-top: 7px; - width: 286px; } - -.account-modal-container .btn-clear { - min-height: 28px; - font-size: 14px; - border-color: #2f9ae0; - color: #2f9ae0; - border-radius: 2px; - -ms-flex-preferred-size: 100%; - flex-basis: 100%; - width: 75%; - margin-top: 17px; - padding: 10px 22px; - height: 44px; - width: 235px; - font-family: Roboto; } - -.account-modal-divider { - width: 100%; - height: 1px; - margin: 19px 0 8px 0; - background-color: #dedede; } - -.account-modal-container .account-name { - margin-top: 9px; - font-size: 20px; } - -.account-modal-container .modal-body-title { - margin-top: 16px; - margin-bottom: 16px; - font-size: 18px; } - -.account-modal__name { - margin-top: 9px; - font-size: 20px; } - -.private-key-password { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; } - -.private-key-password-label, .private-key-password-error { - color: #5d5d5d; - font-size: 14px; - line-height: 18px; - margin-bottom: 10px; } - -.private-key-password-error { - color: #e91550; - margin-bottom: 0; } - -.private-key-password-input { - padding: 10px 0 13px 17px; - font-size: 16px; - line-height: 21px; - width: 291px; - height: 44px; } - -.private-key-password::-webkit-input-placeholder { - color: #9b9b9b; - font-family: Roboto; } - -.private-key-password-warning { - border-radius: 8px; - background-color: #FFF6F6; - font-size: 12px; - font-weight: 500; - line-height: 15px; - color: #e91550; - width: 292px; - padding: 9px 15px; - margin-top: 18px; - font-family: Roboto; } - -.export-private-key-buttons { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; } - .export-private-key-buttons .btn-clear { - width: 141px; - height: 54px; } - .export-private-key-buttons .btn-cancel { - margin-right: 15px; - border-color: #9b9b9b; - color: #5d5d5d; } - -.private-key-password-display-wrapper { - height: 80px; - width: 291px; - border: 1px solid #cdcdcd; - border-radius: 2px; } - -.private-key-password-display-textarea { - color: #e91550; - font-family: Roboto; - font-size: 16px; - line-height: 21px; - border: none; - height: 75px; - width: 100%; - overflow: hidden; - resize: none; - padding: 9px 13px 8px; - text-transform: uppercase; - font-weight: 300; } - -.new-account-modal-wrapper { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - position: relative; - border: 1px solid #dedede; - -webkit-box-shadow: 0 0 2px 2px #dedede; - box-shadow: 0 0 2px 2px #dedede; - font-family: Roboto; } - -.new-account-modal-header { - background: #f6f6f6; - width: 100%; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - padding: 30px; - font-size: 22px; - color: #1b344d; - height: 79px; } - -.modal-close-x::after { - content: '\00D7'; - font-size: 2em; - color: #9b9b9b; - position: absolute; - top: 25px; - right: 17.5px; - font-family: sans-serif; - cursor: pointer; } - -.new-account-modal-content { - width: 100%; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - margin-top: 15px; - font-size: 17px; - color: #1b344d; } - -.new-account-modal-content.after-input { - margin-top: 15px; - line-height: 25px; } - -.new-account-input-wrapper { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - width: 100%; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - padding-bottom: 2px; - margin-top: 13px; } - -.new-account-input { - padding: 15px; - padding-bottom: 20px; - border-radius: 8px; - border: 1px solid #dedede; - width: 100%; - font-size: 1em; - color: #9b9b9b; - font-family: Roboto; - font-size: 17px; - margin: 0 60px; } - -.new-account-input::-webkit-input-placeholder { - color: #9b9b9b; } - -.new-account-input:-moz-placeholder { - color: #9b9b9b; - opacity: 1; } - -.new-account-input::-moz-placeholder { - color: #9b9b9b; - opacity: 1; } - -.new-account-input:-ms-input-placeholder { - color: #9b9b9b; } - -.new-account-input::-ms-input-placeholder { - color: #9b9b9b; } - -.new-account-modal-content.button { - margin-top: 22px; - margin-bottom: 30px; - width: 113px; - height: 44px; } - -.new-account-modal-wrapper .btn-clear { - font-size: 14px; - font-weight: 700; - background: #fff; - border: 1px solid; - border-radius: 2px; - color: #4d4d4d; - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; } - -.hide-token-confirmation { - min-height: 250.72px; - width: 374.49px; - border-radius: 4px; - background-color: #FFFFFF; - -webkit-box-shadow: 0 1px 7px 0 rgba(0, 0, 0, 0.5); - box-shadow: 0 1px 7px 0 rgba(0, 0, 0, 0.5); } - .hide-token-confirmation__container { - padding: 24px 27px 21px; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - .hide-token-confirmation__identicon { - margin-bottom: 10px; } - .hide-token-confirmation__symbol { - color: #4d4d4d; - font-family: Roboto; - font-size: 16px; - line-height: 24px; - text-align: center; - margin-bottom: 7.5px; } - .hide-token-confirmation__title { - height: 30px; - width: 271.28px; - color: #4d4d4d; - font-family: Roboto; - font-size: 22px; - line-height: 30px; - text-align: center; - margin-bottom: 10.5px; } - .hide-token-confirmation__copy { - height: 41px; - width: 318px; - color: #5d5d5d; - font-family: Roboto; - font-size: 14px; - line-height: 18px; - text-align: center; } - .hide-token-confirmation__buttons { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - margin-top: 15px; - width: 100%; } - .hide-token-confirmation__buttons button { - height: 44px; - width: 113px; - border: 1px solid #5d5d5d; - border-radius: 2px; - color: #4d4d4d; - font-family: Roboto; - font-size: 14px; - line-height: 20px; - text-align: center; - margin-left: 4px; - margin-right: 4px; } - -/* - NewUI Container Elements - */ -.main-container { - z-index: 18; - font-family: Roboto; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -webkit-box-align: stretch; - -ms-flex-align: stretch; - align-items: stretch; } - -.main-container::-webkit-scrollbar { - display: none; } - -.tx-view { - -webkit-box-flex: 63.5; - -ms-flex: 63.5 0 66.5%; - flex: 63.5 0 66.5%; - background: #fff; } - @media screen and (max-width: 575px) { - .tx-view .identicon-wrapper { - display: none; } - .tx-view .account-name { - display: none; } } - -.wallet-view { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-flex: 33.5; - -ms-flex: 33.5 1 33.5%; - flex: 33.5 1 33.5%; - width: 0; - background: #f6f6f6; - z-index: 200; - position: relative; } - @media screen and (min-width: 576px) { - .wallet-view { - overflow-y: scroll; - overflow-x: hidden; } } - .wallet-view .wallet-view-account-details { - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; } - .wallet-view__name-container { - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - cursor: pointer; - width: 100%; } - .wallet-view__keyring-label { - height: 40px; - color: #9b9b9b; - font-family: Roboto; - font-size: 10px; - line-height: 40px; - text-align: right; - padding: 0 20px; } - .wallet-view__details-button { - color: #2f9ae0; - font-size: 10px; - line-height: 13px; - text-align: center; - border: 1px solid #2f9ae0; - border-radius: 10.5px; - background-color: transparent; - margin: 0 auto; - padding: 4px 12px; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; } - .wallet-view__address { - border-radius: 3px; - background-color: #dedede; - color: #5d5d5d; - font-size: 14px; - line-height: 12px; - padding: 4px 12px; - margin: 24px auto; - font-weight: 300; - cursor: pointer; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; } - @media screen and (max-width: 575px) { - .wallet-view__sidebar-close::after { - content: '\00D7'; - font-size: 40px; - color: #4d4d4d; - position: absolute; - top: 12px; - left: 12px; - cursor: pointer; } } - .wallet-view__add-token-button { - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - color: #9b9b9b; - font-size: 14px; - line-height: 19px; - text-align: center; - margin: 36px auto; - border: 1px solid #9b9b9b; - border-radius: 2px; - font-weight: 300; - background: none; - padding: 9px 30px; } - -@media screen and (min-width: 576px) { - .wallet-view::-webkit-scrollbar { - display: none; } } - -.wallet-view-title-wrapper { - -webkit-box-flex: 0; - -ms-flex: 0 0 25px; - flex: 0 0 25px; } - -.wallet-view-title { - margin-left: 15px; - font-size: 16px; } - @media screen and (max-width: 575px) { - .wallet-view-title { - display: none; } } - -.wallet-view.sidebar { - -webkit-box-flex: 1; - -ms-flex: 1 0 230px; - flex: 1 0 230px; - background: #fafafa; - z-index: 26; - position: fixed; - top: 56px; - left: 0; - right: 0; - bottom: 0; - opacity: 1; - visibility: visible; - will-change: transform; - overflow-y: auto; - -webkit-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 4px; - box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 4px; - width: 85%; - height: calc(100% - 56px); } - -.sidebar-overlay { - z-index: 25; - position: fixed; - height: 100%; - width: 100%; - left: 0; - right: 0; - bottom: 0; - opacity: 1; - visibility: visible; - background-color: rgba(0, 0, 0, 0.3); } - -@media screen and (min-width: 576px) { - .lap-visible { - display: -webkit-box; - display: -ms-flexbox; - display: flex; } - .phone-visible { - display: none; } - .main-container { - width: 85%; - height: 90vh; - -webkit-box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.08); - box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.08); } } - -@media screen and (min-width: 769px) { - .main-container { - width: 80%; - height: 82vh; - -webkit-box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.08); - box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.08); } } - -@media screen and (min-width: 1281px) { - .main-container { - width: 65%; - height: 82vh; - -webkit-box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.08); - box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.08); } } - -@media screen and (max-width: 575px) { - .lap-visible { - display: none; } - .phone-visible { - display: -webkit-box; - display: -ms-flexbox; - display: flex; } - .main-container { - height: 100%; - width: 100%; - overflow-y: auto; - background-color: #fff; } - button.btn-clear { - width: 93px; - height: 50px; - font-size: .7em; - background: #fff; - border: 1px solid; } } - -.account-name { - font-size: 24px; - font-weight: 200; - line-height: 20px; - color: #5d5d5d; - margin-top: 8px; - margin-bottom: 24px; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; - width: 100%; - padding: 0 8px; - text-align: center; } - -.account-options-menu { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; - margin: 5% 7% 0%; } - -.fiat-amount { - text-transform: uppercase; } - -.token-balance__amount { - padding-right: 6px; } - -.account-dropdown-name { - font-family: Roboto; } - -.account-dropdown-balance { - color: #9b9b9b; - line-height: 19px; } - -.account-dropdown-edit-button { - color: #9b9b9b; - font-family: Roboto; } - .account-dropdown-edit-button:hover { - color: #fff; } - -.account-list-item__top-row { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - margin-top: 10px; - margin-left: 8px; - position: relative; } - -.account-list-item__account-balances { - height: auto; - border: none; - background-color: transparent; - color: #9b9b9b; - margin-left: 34px; - margin-top: 4px; - position: relative; } - -.account-list-item__account-name { - font-size: 16px; - margin-left: 8px; } - -.account-list-item__icon { - position: absolute; - right: 12px; - top: 1px; } - -.account-list-item__account-primary-balance, .account-list-item__account-secondary-balance { - font-family: Roboto; - line-height: 16px; - font-size: 12px; - font-weight: 300; } - -.account-list-item__account-primary-balance { - color: #5d5d5d; - border: none; - outline: 0 !important; } - -.account-list-item__account-secondary-balance { - color: #9b9b9b; } - -.account-list-item__account-address { - margin-left: 35px; - width: 80%; - overflow: hidden; - text-overflow: ellipsis; } - -.account-list-item__dropdown:hover { - background: rgba(222, 222, 222, 0.2); - cursor: pointer; } - .account-list-item__dropdown:hover input { - background: rgba(222, 222, 222, 0.1); } - -.send-screen-wrapper { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-flow: column nowrap; - flex-flow: column nowrap; - z-index: 25; - font-family: Roboto; } - @media screen and (max-width: 575px) { - .send-screen-wrapper { - width: 100%; - overflow-y: auto; } } - .send-screen-wrapper section { - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; } - -.send-screen-card { - background-color: #fff; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.08); - box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.08); - padding: 46px 40.5px 26px; - position: relative; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-flow: column nowrap; - flex-flow: column nowrap; - width: 498px; - -webkit-box-flex: 1; - -ms-flex: 1 0 auto; - flex: 1 0 auto; } - @media screen and (max-width: 575px) { - .send-screen-card { - top: 0; - width: 100%; - -webkit-box-shadow: none; - box-shadow: none; - padding: 12px; } } - -/* Send Screen */ -.send-screen section { - margin: 4px 16px; } - -.send-screen input { - width: 100%; - font-size: 12px; } - -.send-eth-icon { - border-radius: 50%; - width: 70px; - height: 70px; - border: 1px solid #dedede; - -webkit-box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.2); - box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.2); - position: absolute; - top: -35px; - z-index: 25; - padding: 4px; - background-color: #fff; } - @media screen and (max-width: 575px) { - .send-eth-icon { - position: relative; - top: 0; } } - -.send-screen-input-wrapper { - width: 95%; - position: relative; } - .send-screen-input-wrapper .fa-bolt { - padding-right: 4px; } - .send-screen-input-wrapper .large-input { - border: 1px solid #9b9b9b; - border-radius: 4px; - margin: 4px 0 20px; - font-size: 16px; - line-height: 22.4px; - font-family: Roboto; } - .send-screen-input-wrapper .send-screen-gas-input { - border: 1px solid transparent; } - .send-screen-input-wrapper__error-message { - display: none; } - .send-screen-input-wrapper--error input, - .send-screen-input-wrapper--error .send-screen-gas-input { - border-color: #f00 !important; } - .send-screen-input-wrapper--error .send-screen-input-wrapper__error-message { - display: block; - position: absolute; - bottom: 4px; - font-size: 12px; - line-height: 12px; - left: 8px; - color: #f00; } - .send-screen-input-wrapper .send-screen-input-wrapper__error-message { - display: block; - position: absolute; - bottom: 4px; - font-size: 12px; - line-height: 12px; - left: 8px; - color: #f00; } - -.send-screen-input { - width: 100%; } - -.send-screen-gas-input { - width: 100%; - height: 41px; - border-radius: 3px; - background-color: #f3f3f3; - border-width: 0; - border-style: none; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - padding-left: 10px; - padding-right: 12px; - font-size: 16px; - color: #5d5d5d; } - -.send-screen-amount-labels { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; } - -.send-screen-gas-labels { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; } - -.currency-toggle__item { - color: #2f9ae0; - cursor: pointer; } - .currency-toggle__item--selected { - color: #000; - cursor: default; } - -.send-screen-gas-input-customize { - color: #2f9ae0; - font-size: 12px; - cursor: pointer; } - -.gas-tooltip-close-area { - position: fixed; - top: 0; - left: 0; - z-index: 1000; - width: 100%; - height: 100%; } - -.customize-gas-tooltip-container { - position: absolute; - bottom: 50px; - width: 237px; - height: 307px; - background-color: #fff; - opacity: 1; - -webkit-box-shadow: #dedede 0 0 5px; - box-shadow: #dedede 0 0 5px; - z-index: 1050; - padding: 13px 19px; - font-size: 16px; - border-radius: 4px; - font-family: "Lato"; - font-weight: 500; } - -.gas-tooltip-arrow { - height: 25px; - width: 25px; - z-index: 1200; - background: #fff; - position: absolute; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); - left: 107px; - top: 294px; - -webkit-box-shadow: 2px 2px 2px #dedede; - box-shadow: 2px 2px 2px #dedede; } - -.customize-gas-tooltip-container input[type="number"]::-webkit-inner-spin-button { - -webkit-appearance: none; - display: none; } - -.customize-gas-tooltip-container input[type="number"]:hover::-webkit-inner-spin-button { - -webkit-appearance: none; - display: none; } - -.customize-gas-tooltip { - position: relative; } - -.gas-tooltip { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; } - -.gas-tooltip-label { - font-size: 16px; - color: #4d4d4d; } - -.gas-tooltip-header { - padding-bottom: 12px; } - -.gas-tooltip-input-label { - margin-bottom: 5px; } - -.gas-tooltip-input-label i { - color: #aeaeae; - margin-left: 6px; } - -.customize-gas-input { - width: 178px; - height: 28px; - border: 1px solid #dedede; - font-size: 16px; - color: #1b344d; - padding-left: 8px; } - -.customize-gas-input-wrapper { - position: relative; } - -.gas-tooltip-input-detail { - position: absolute; - top: 4px; - right: 26px; - font-size: 12px; - color: #aeaeae; } - -.gas-tooltip-input-arrows { - position: absolute; - top: 0; - right: 4px; - width: 17px; - height: 28px; - border: 1px solid #dadada; - border-left: 0; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - color: #9b9b9b; - font-size: .8em; - padding: 1px 4px; - cursor: pointer; } - -.token-gas__amount { - display: inline-block; - margin-right: 4px; } - -.token-gas__symbol { - display: inline-block; } - -.send-screen__title { - color: #5d5d5d; - font-size: 18px; - line-height: 29px; } - -.send-screen__subtitle { - margin: 10px 0 20px; - font-size: 14px; - line-height: 24px; } - -.send-screen__send-button, .send-screen__cancel-button { - width: 163px; - text-align: center; } - -.send-screen__send-button__disabled { - opacity: .5; - cursor: auto; } - -.send-token { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-flow: column nowrap; - flex-flow: column nowrap; - z-index: 25; - font-family: Roboto; } - .send-token__content { - width: 498px; - height: 605px; - background-color: #fff; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.08); - box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.08); - padding: 46px 40.5px 26px; - position: relative; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-flow: column nowrap; - flex-flow: column nowrap; - -webkit-box-flex: 1; - -ms-flex: 1 0 auto; - flex: 1 0 auto; } - @media screen and (max-width: 575px) { - .send-token__content { - top: 0; - width: 100%; - -webkit-box-shadow: none; - box-shadow: none; - padding: 12px; } } - .send-token .identicon { - position: absolute; - top: -35px; - z-index: 25; } - @media screen and (max-width: 575px) { - .send-token .identicon { - position: relative; - top: 0; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; } } - .send-token__title { - color: #5d5d5d; - font-size: 18px; - line-height: 29px; } - .send-token__description, .send-token__balance-text, .send-token__token-symbol { - margin-top: 10px; - font-size: 14px; - line-height: 24px; - text-align: center; } - .send-token__token-balance { - font-size: 40px; - line-height: 40px; - margin-top: 13px; } - .send-token__token-balance .token-balance__amount { - padding-right: 12px; } - .send-token__button-group { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-flow: column nowrap; - flex-flow: column nowrap; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; } - @media screen and (max-width: 575px) { - .send-token__button-group { - margin-top: 24px; } } - .send-token__button-group button { - width: 163px; } - -.confirm-send-token__hero-amount-wrapper { - width: 100%; } - -.send-v2__container { - width: 380px; - border-radius: 8px; - background-color: #fff; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.08); - box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.08); - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-flow: column nowrap; - flex-flow: column nowrap; - z-index: 25; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - font-family: Roboto; - position: relative; } - @media screen and (max-width: 575px) { - .send-v2__container { - width: 100%; - top: 0; - -webkit-box-shadow: none; - box-shadow: none; - -webkit-box-flex: 1; - -ms-flex: 1 1 auto; - flex: 1 1 auto; } } - -.send-v2__send-header-icon-container { - z-index: 25; } - @media screen and (max-width: 575px) { - .send-v2__send-header-icon-container { - position: relative; - top: 0; } } - -.send-v2__send-header-icon { - border-radius: 50%; - width: 48px; - height: 48px; - border: 1px solid #dedede; - z-index: 25; - padding: 4px; - background-color: #fff; } - -.send-v2__send-arrow-icon { - color: #f28930; - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); - position: absolute; - top: -2px; - left: 0; - font-size: 1.12em; } - -.send-v2__arrow-background { - background-color: #fff; - height: 14px; - width: 14px; - position: absolute; - top: 52px; - left: 199px; - border-radius: 50%; - z-index: 100; } - @media screen and (max-width: 575px) { - .send-v2__arrow-background { - top: 36px; } } - -.send-v2__header { - height: 88px; - width: 380px; - background-color: #e9edf0; - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - @media screen and (max-width: 575px) { - .send-v2__header { - height: 59px; - width: 100vw; } } - -.send-v2__header-tip { - height: 25px; - width: 25px; - background: #e9edf0; - position: absolute; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); - left: 178px; - top: 75px; } - @media screen and (max-width: 575px) { - .send-v2__header-tip { - top: 46px; - left: 0; - right: 0; - margin: 0 auto; } } - -.send-v2__title { - color: #5d5d5d; - font-size: 22px; - line-height: 29px; - text-align: center; - margin-top: 25px; } - -.send-v2__copy { - color: #808080; - font-size: 14px; - font-weight: 300; - line-height: 19px; - text-align: center; - margin-top: 10px; - width: 287px; } - -.send-v2__error { - font-size: 12px; - line-height: 12px; - left: 8px; - color: #f00; } - -.send-v2__error-border { - color: #f00; } - -.send-v2__form { - margin: 13px 0; - width: 100%; } - @media screen and (max-width: 575px) { - .send-v2__form { - padding: 13px 0; - margin: 0; - height: 0; - overflow-y: auto; - -webkit-box-flex: 1; - -ms-flex: 1 1 auto; - flex: 1 1 auto; } } - -.send-v2__form-header, .send-v2__form-header-copy { - width: 100%; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-flow: column; - flex-flow: column; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - -.send-v2__form-row { - margin: 14.5px 18px 0px; - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-flow: row; - flex-flow: row; - -webkit-box-flex: 1; - -ms-flex: 1 0 auto; - flex: 1 0 auto; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; } - -.send-v2__form-field { - -webkit-box-flex: 1; - -ms-flex: 1 1 auto; - flex: 1 1 auto; } - -.send-v2__form-label { - color: #5d5d5d; - font-family: Roboto; - font-size: 16px; - line-height: 22px; - width: 88px; } - -.send-v2__from-dropdown { - height: 73px; - width: 100%; - border: 1px solid #dedede; - border-radius: 4px; - background-color: #fff; - font-family: Roboto; - line-height: 16px; - font-size: 12px; - color: #4d4d4d; - position: relative; } - .send-v2__from-dropdown__close-area { - position: fixed; - top: 0; - left: 0; - z-index: 1000; - width: 100%; - height: 100%; } - .send-v2__from-dropdown__list { - z-index: 1050; - position: absolute; - height: 220px; - width: 100%; - border: 1px solid #d2d8dd; - border-radius: 4px; - background-color: #fff; - -webkit-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.11); - box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.11); - margin-top: 11px; - margin-left: -1px; - overflow-y: scroll; } - -.send-v2__to-autocomplete { - position: relative; } - .send-v2__to-autocomplete__down-caret { - position: absolute; - top: 18px; - right: 12px; } - -.send-v2__to-autocomplete__input, .send-v2__memo-text-area__input { - height: 54px; - width: 100%; - border: 1px solid #dedede; - border-radius: 4px; - background-color: #fff; - color: #9b9b9b; - padding: 10px; - font-family: Roboto; - font-size: 16px; - line-height: 21px; - font-weight: 300; } - -.send-v2__amount-max { - color: #2f9ae0; - font-family: Roboto; - font-size: 12px; - left: 8px; - border: none; - cursor: pointer; } - -.send-v2__gas-fee-display { - width: 100%; } - -.send-v2__sliders-icon-container { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - height: 24px; - width: 24px; - border: 1px solid #2f9ae0; - border-radius: 4px; - background-color: #fff; - padding: 5px; - position: absolute; - right: 15px; - top: 14px; - cursor: pointer; } - -.send-v2__sliders-icon { - color: #2f9ae0; } - -.send-v2__memo-text-area__input { - padding: 6px 10px; } - -.send-v2__footer { - height: 92px; - width: 100%; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: space-evenly; - -ms-flex-pack: space-evenly; - justify-content: space-evenly; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - border-top: 1px solid #dedede; - background: #fff; - padding: 0 12px; } - -.send-v2__next-btn, .send-v2__cancel-btn, .send-v2__next-btn__disabled { - width: 163px; - text-align: center; - height: 55px; - border-radius: 2px; - background-color: #fff; - font-family: Roboto; - font-size: 16px; - font-weight: 300; - line-height: 21px; - border: 1px solid; - margin: 0 4px; } - -.send-v2__next-btn, .send-v2__next-btn__disabled { - color: #2f9ae0; - border-color: #2f9ae0; } - -.send-v2__next-btn__disabled { - opacity: .5; - cursor: auto; } - -.send-v2__cancel-btn { - color: #9b9b9b; - border-color: #9b9b9b; } - -.send-v2__customize-gas { - border: 1px solid #D8D8D8; - border-radius: 4px; - background-color: #FFFFFF; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.14); - box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.14); - font-family: Roboto; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-flow: column; - flex-flow: column; } - @media screen and (max-width: 575px) { - .send-v2__customize-gas { - width: 100vw; - height: 100vh; } } - .send-v2__customize-gas__header { - height: 52px; - border-bottom: 1px solid #dedede; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - font-size: 22px; } - @media screen and (max-width: 575px) { - .send-v2__customize-gas__header { - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; } } - .send-v2__customize-gas__title { - margin-left: 19.25px; } - .send-v2__customize-gas__close::after { - content: '\00D7'; - font-size: 1.8em; - color: #9b9b9b; - font-family: sans-serif; - cursor: pointer; - margin-right: 19.25px; } - .send-v2__customize-gas__content { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-flow: column nowrap; - flex-flow: column nowrap; - height: 100%; } - .send-v2__customize-gas__body { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - margin-bottom: 24px; } - @media screen and (max-width: 575px) { - .send-v2__customize-gas__body { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-flow: column; - flex-flow: column; - -webkit-box-flex: 1; - -ms-flex: 1 1 auto; - flex: 1 1 auto; } } - .send-v2__customize-gas__footer { - height: 75px; - border-top: 1px solid #dedede; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - font-size: 22px; - position: relative; } - @media screen and (max-width: 575px) { - .send-v2__customize-gas__footer { - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; } } - .send-v2__customize-gas__buttons { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - width: 181.75px; - margin-right: 21.25px; } - .send-v2__customize-gas__revert, .send-v2__customize-gas__cancel, .send-v2__customize-gas__save, .send-v2__customize-gas__save__error { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - cursor: pointer; } - .send-v2__customize-gas__revert { - color: #aeaeae; - font-size: 16px; - margin-left: 21.25px; } - .send-v2__customize-gas__cancel, .send-v2__customize-gas__save, .send-v2__customize-gas__save__error { - height: 34.64px; - width: 85.74px; - border: 1px solid #9b9b9b; - border-radius: 2px; - font-family: 'DIN OT'; - font-size: 12px; - color: #9b9b9b; } - .send-v2__customize-gas__save__error { - opacity: 0.5; - cursor: auto; } - .send-v2__customize-gas__error-message { - display: block; - position: absolute; - top: 4px; - right: 4px; - font-size: 12px; - line-height: 12px; - color: #f00; } - -.send-v2__gas-modal-card { - width: 360px; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-flow: column; - flex-flow: column; - -webkit-box-align: start; - -ms-flex-align: start; - align-items: flex-start; - padding-left: 20px; } - .send-v2__gas-modal-card__title { - height: 26px; - color: #4d4d4d; - font-family: Roboto; - font-size: 20px; - font-weight: 300; - line-height: 26px; - margin-top: 17px; } - .send-v2__gas-modal-card__copy { - height: 38px; - width: 314px; - color: #4d4d4d; - font-family: Roboto; - font-size: 14px; - line-height: 19px; - margin-top: 17px; } - .send-v2__gas-modal-card .customize-gas-input-wrapper { - margin-top: 17px; } - .send-v2__gas-modal-card .customize-gas-input { - height: 54px; - width: 315px; - border: 1px solid #d2d8dd; - background-color: #fff; - padding-left: 15px; } - .send-v2__gas-modal-card .gas-tooltip-input-arrows { - width: 32px; - height: 54px; - border-left: 1px solid #dadada; - font-size: 18px; - color: #4d4d4d; - right: 0px; - padding: 1px 4px; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -ms-flex-pack: distribute; - justify-content: space-around; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - .send-v2__gas-modal-card input[type="number"]::-webkit-inner-spin-button { - -webkit-appearance: none; - display: none; } - .send-v2__gas-modal-card input[type="number"]:hover::-webkit-inner-spin-button { - -webkit-appearance: none; - display: none; } - -.confirm-screen-container { - position: relative; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - font-family: Roboto; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-flow: column nowrap; - flex-flow: column nowrap; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.08); - box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.08); - border-radius: 8px; } - @media screen and (max-width: 575px) { - .confirm-screen-container { - width: 100%; } } - -@media screen and (max-width: 575px) { - .notification .confirm-screen-wrapper { - height: calc(100vh - 85px); } } - -.confirm-screen-wrapper { - height: 100%; - width: 380px; - background-color: #fff; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-flow: column nowrap; - flex-flow: column nowrap; - z-index: 25; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - font-family: Roboto; - position: relative; - overflow-y: auto; - overflow-x: hidden; - border-top-left-radius: 8px; - border-top-right-radius: 8px; } - @media screen and (max-width: 575px) { - .confirm-screen-wrapper { - width: 100%; - overflow-x: hidden; - overflow-y: auto; - top: 0; - -webkit-box-shadow: none; - box-shadow: none; - height: calc(100vh - 58px - 85px); - border-top-left-radius: 0; - border-top-right-radius: 0; } } - -.confirm-screen-wrapper > .confirm-screen-total-box { - margin-left: 10px; - margin-right: 10px; } - -.confirm-screen-wrapper > .confirm-memo-wrapper { - margin: 0; } - -.confirm-screen-header { - height: 88px; - background-color: #e9edf0; - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - font-size: 22px; - line-height: 29px; - width: 100%; - padding: 25px 0; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; } - @media screen and (max-width: 575px) { - .confirm-screen-header { - font-size: 20px; } } - -.confirm-screen-header-tip { - height: 25px; - width: 25px; - background: #e9edf0; - position: absolute; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); - top: 71px; - left: 0; - right: 0; - margin: 0 auto; } - -.confirm-screen-title { - line-height: 27px; } - @media screen and (max-width: 575px) { - .confirm-screen-title { - margin-left: 22px; - margin-right: 8px; } } - -.confirm-screen-back-button { - background: transparent; - border: 1px solid #2f9ae0; - left: 24px; - position: absolute; - text-align: center; - color: #2f9ae0; - padding: 6px 13px 7px 12px; - border-radius: 2px; - height: 30px; - width: 54px; } - @media screen and (max-width: 575px) { - .confirm-screen-back-button { - margin-right: 12px; } } - -.confirm-screen-account-wrapper { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - -.confirm-screen-account-name { - margin-top: 12px; - font-size: 14px; - line-height: 19px; - color: #5d5d5d; - text-align: center; } - -.confirm-screen-row-info { - font-size: 16px; - line-height: 21px; } - -.confirm-screen-account-number { - font-size: 10px; - line-height: 16px; - color: #9b9b9b; - text-align: center; - height: 16px; } - -.confirm-send-ether i.fa-arrow-right, -.confirm-send-token i.fa-arrow-right { - -ms-flex-item-align: start; - align-self: start; - margin: 24px 14px 0 !important; } - -.confirm-screen-identicons { - margin-top: 24px; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; } - .confirm-screen-identicons i.fa-arrow-right { - -ms-flex-item-align: start; - align-self: start; - margin: 42px 14px 0; } - .confirm-screen-identicons i.fa-file-text-o { - font-size: 60px; - margin: 16px 8px 0 8px; - text-align: center; } - -.confirm-screen-sending-to-message { - text-align: center; - font-size: 16px; - margin-top: 30px; - font-family: 'DIN NEXT Light'; } - -.confirm-screen-send-amount { - color: #5d5d5d; - margin-top: 12px; - text-align: center; - font-size: 40px; - font-weight: 300; - line-height: 53px; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; } - -.confirm-screen-send-amount-currency { - font-size: 20px; - line-height: 20px; - text-align: center; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; } - -.confirm-memo-wrapper { - min-height: 24px; - width: 100%; - border-bottom: 1px solid #dedede; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; } - -.confirm-screen-send-memo { - color: #5d5d5d; - font-size: 16px; - line-height: 19px; - font-weight: 400; } - -.confirm-screen-label { - font-size: 18px; - line-height: 40px; - color: #5d5d5d; - text-align: left; } - -section .confirm-screen-account-name, -section .confirm-screen-account-number, -.confirm-screen-row-info, -.confirm-screen-row-detail { - text-align: left; } - -.confirm-screen-rows { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-flow: column nowrap; - flex-flow: column nowrap; - width: 100%; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; } - -.confirm-screen-section-column { - -webkit-box-flex: .5; - -ms-flex: .5; - flex: .5; } - -.confirm-screen-row { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - border-bottom: 1px solid #dedede; - width: 100%; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - padding: 12px; - padding-left: 35px; - font-size: 16px; - line-height: 22px; - font-weight: 300; } - -.confirm-screen-row-detail { - font-size: 12px; - line-height: 16px; - color: #9b9b9b; } - -.confirm-screen-total-box { - background-color: #f6f6f6; - padding: 20px; - padding-left: 35px; - border-bottom: 1px solid #dedede; } - .confirm-screen-total-box .confirm-screen-label { - line-height: 18px; } - .confirm-screen-total-box .confirm-screen-row-detail { - color: #5d5d5d; } - .confirm-screen-total-box__subtitle { - font-size: 12px; - line-height: 22px; } - .confirm-screen-total-box .confirm-screen-row-info { - font-size: 16px; - font-weight: 500; - line-height: 21px; } - -.confirm-screen-confirm-button { - height: 62px; - border-radius: 2px; - background-color: #02c9b1; - font-size: 16px; - color: #fff; - text-align: center; - font-family: Roboto; - padding-top: 15px; - padding-bottom: 15px; - border-width: 0; - -webkit-box-shadow: none; - box-shadow: none; - -webkit-box-flex: 1; - -ms-flex: 1 0 auto; - flex: 1 0 auto; - font-weight: 300; - margin: 0 8px; } - -.btn-light.confirm-screen-cancel-button { - height: 62px; - background: none; - border: none; - opacity: 1; - font-family: Roboto; - border-width: 0; - padding-top: 15px; - padding-bottom: 15px; - font-size: 16px; - line-height: 32px; - -webkit-box-shadow: none; - box-shadow: none; - cursor: pointer; - -webkit-box-flex: 1; - -ms-flex: 1 0 auto; - flex: 1 0 auto; - font-weight: 300; - margin: 0 8px; } - -#pending-tx-form { - -webkit-box-flex: 1; - -ms-flex: 1 0 auto; - flex: 1 0 auto; - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - background-color: #fff; - padding: 12px 18px; - border-bottom-left-radius: 8px; - border-bottom-right-radius: 8px; - width: 100%; } - @media screen and (max-width: 575px) { - #pending-tx-form { - border-top: 1px solid #dedede; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; } } - -.loading-overlay { - left: 0px; - z-index: 50; - position: absolute; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - width: 100%; - background: rgba(255, 255, 255, 0.8); } - @media screen and (max-width: 575px) { - .loading-overlay { - margin-top: 56px; - height: calc(100% - 56px); } } - @media screen and (min-width: 576px) { - .loading-overlay { - margin-top: 75px; - height: calc(100% - 75px); } } - -@media screen and (max-width: 575px) { - .hero-balance { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - margin: .3em .9em 0; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; } } - -@media screen and (min-width: 576px) { - .hero-balance { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - margin: 2.8em 2.37em .8em; } } - -.hero-balance .balance-container { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - margin: 0; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - @media screen and (max-width: 575px) { - .hero-balance .balance-container { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; } } - @media screen and (min-width: 576px) { - .hero-balance .balance-container { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - -webkit-box-flex: 3; - -ms-flex-positive: 3; - flex-grow: 3; } } - -@media screen and (max-width: 575px) { - .hero-balance .balance-display { - text-align: center; } - .hero-balance .balance-display .token-amount { - font-size: 175%; - margin-top: 12.5%; } - .hero-balance .balance-display .fiat-amount { - font-size: 115%; - margin-top: 8.5%; - color: #a0a0a0; } } - -@media screen and (min-width: 576px) { - .hero-balance .balance-display { - margin-left: 3%; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; - -webkit-box-align: start; - -ms-flex-align: start; - align-items: flex-start; } - .hero-balance .balance-display .token-amount { - font-size: 135%; } - .hero-balance .balance-display .fiat-amount { - margin-top: .25%; - font-size: 105%; } } - -.hero-balance .balance-icon { - border-radius: 25px; - width: 45px; - height: 45px; - border: 1px solid #dedede; } - -@media screen and (max-width: 575px) { - .hero-balance .hero-balance-buttons { - width: 100%; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - padding: 16px 0; } } - -@media screen and (min-width: 576px) { - .hero-balance .hero-balance-buttons { - -webkit-box-flex: 2; - -ms-flex-positive: 2; - flex-grow: 2; - -webkit-box-pack: end; - -ms-flex-pack: end; - justify-content: flex-end; } } - -.hero-balance .hero-balance-buttons button.btn-clear { - background: #fff; - border: 1px solid; - border-radius: 2px; - font-size: 12px; } - @media screen and (max-width: 575px) { - .hero-balance .hero-balance-buttons button.btn-clear { - border-color: #2f9ae0; - color: #2f9ae0; - height: 36px; } } - @media screen and (min-width: 576px) { - .hero-balance .hero-balance-buttons button.btn-clear { - border-color: #2f9ae0; - color: #2f9ae0; - padding: 0; - width: 85px; - height: 34px; } } - -.wallet-balance-wrapper { - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - -webkit-transition: linear 200ms; - transition: linear 200ms; - background: rgba(231, 231, 231, 0); } - .wallet-balance-wrapper--active { - background: #e7e7e7; } - -.wallet-balance { - background: inherit; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - cursor: pointer; - border-top: 1px solid #e7e7e7; } - .wallet-balance .balance-container { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - margin: 20px 24px; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - -webkit-box-flex: 3; - -ms-flex-positive: 3; - flex-grow: 3; } - @media screen and (min-width: 576px) and (max-width: 890px) { - .wallet-balance .balance-container { - margin: 10% 4%; } } - .wallet-balance .balance-display { - margin-left: 15px; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; - -webkit-box-align: start; - -ms-flex-align: start; - align-items: flex-start; } - .wallet-balance .balance-display .token-amount { - font-size: 135%; } - .wallet-balance .balance-display .fiat-amount { - margin-top: .25%; - font-size: 105%; } - @media screen and (min-width: 576px) and (max-width: 890px) { - .wallet-balance .balance-display { - margin-left: 4%; } - .wallet-balance .balance-display .token-amount { - font-size: 105%; } - .wallet-balance .balance-display .fiat-amount { - font-size: 95%; } } - .wallet-balance .balance-icon { - border-radius: 25px; - width: 45px; - height: 45px; - border: 1px solid #dedede; } - -.tx-list-container { - height: 87.5%; } - @media screen and (min-width: 576px) { - .tx-list-container { - overflow-y: scroll; } } - -.tx-list-header { - text-transform: capitalize; } - -@media screen and (max-width: 575px) { - .tx-list-header-wrapper { - margin-top: .2em; - margin-bottom: .6em; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; } - .tx-list-header { - -ms-flex-item-align: center; - align-self: center; - font-size: 12px; - color: #9b9b9b; - font-family: Roboto; - text-transform: uppercase; } } - -@media screen and (min-width: 576px) { - .tx-list-header-wrapper { - -webkit-box-flex: 0; - -ms-flex: 0 0 55px; - flex: 0 0 55px; } - .tx-list-header { - font-size: 16px; - margin: 1.5em 2.37em; } - .tx-list-container::-webkit-scrollbar { - display: none; } } - -.tx-list-content-divider { - height: 1px; - background: #e7e7e7; - -webkit-box-flex: 0; - -ms-flex: 0 0 1px; - flex: 0 0 1px; } - @media screen and (max-width: 575px) { - .tx-list-content-divider { - margin: .1em 0; } } - @media screen and (min-width: 576px) { - .tx-list-content-divider { - margin: .1em 2.37em; } } - -.tx-list-item-wrapper { - -webkit-box-flex: 1; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - width: 0; - -webkit-box-align: stretch; - -ms-flex-align: stretch; - align-items: stretch; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-flow: column nowrap; - flex-flow: column nowrap; } - @media screen and (max-width: 575px) { - .tx-list-item-wrapper { - padding: 0 1.3em .8em; } } - @media screen and (min-width: 576px) { - .tx-list-item-wrapper { - padding-bottom: 12px; } } - -.tx-list-clickable { - cursor: pointer; } - .tx-list-clickable:hover { - background: rgba(222, 222, 222, 0.2); } - -.tx-list-pending-item-container { - cursor: pointer; - opacity: .5; } - -.tx-list-date-wrapper { - -webkit-box-flex: 1; - -ms-flex: 1 1 auto; - flex: 1 1 auto; } - @media screen and (max-width: 575px) { - .tx-list-date-wrapper { - margin-top: 6px; } } - @media screen and (min-width: 576px) { - .tx-list-date-wrapper { - margin-top: 12px; } } - -.tx-list-content-wrapper { - -webkit-box-align: stretch; - -ms-flex-align: stretch; - align-items: stretch; - margin-bottom: 4px; - margin-top: 2px; - -webkit-box-flex: 1; - -ms-flex: 1 0 auto; - flex: 1 0 auto; - width: 100%; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; } - @media screen and (max-width: 575px) { - .tx-list-content-wrapper { - font-size: 12px; } - .tx-list-content-wrapper .tx-list-status { - font-size: 14px !important; } - .tx-list-content-wrapper .tx-list-account { - font-size: 14px !important; } - .tx-list-content-wrapper .tx-list-value { - font-size: 14px; - line-height: 18px; } - .tx-list-content-wrapper .tx-list-fiat-value { - font-size: 12px; - line-height: 16px; } } - -.tx-list-date { - color: #9b9b9b; - font-size: 12px; - font-family: Roboto; } - -.tx-list-identicon-wrapper { - -ms-flex-item-align: center; - align-self: center; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - margin-right: 16px; } - -.tx-list-account-and-status-wrapper { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-flex: 1; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-flow: row wrap; - flex-flow: row wrap; - width: 0; } - @media screen and (max-width: 575px) { - .tx-list-account-and-status-wrapper { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; - -webkit-box-align: start; - -ms-flex-align: start; - align-items: flex-start; - -ms-flex-item-align: center; - align-self: center; } - .tx-list-account-and-status-wrapper .tx-list-account-wrapper { - height: 18px; } - .tx-list-account-and-status-wrapper .tx-list-account-wrapper .tx-list-account { - line-height: 14px; } } - @media screen and (min-width: 576px) { - .tx-list-account-and-status-wrapper { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - .tx-list-account-and-status-wrapper .tx-list-account-wrapper { - -webkit-box-flex: 1.3; - -ms-flex: 1.3 2 auto; - flex: 1.3 2 auto; - min-width: 153px; } - .tx-list-account-and-status-wrapper .tx-list-status-wrapper { - -webkit-box-flex: 6; - -ms-flex: 6 6 auto; - flex: 6 6 auto; } } - .tx-list-account-and-status-wrapper .tx-list-account { - font-size: 16px; - color: #5d5d5d; } - .tx-list-account-and-status-wrapper .tx-list-status { - color: #9b9b9b; - font-size: 16px; - text-transform: capitalize; } - .tx-list-account-and-status-wrapper .tx-list-status--rejected, - .tx-list-account-and-status-wrapper .tx-list-status--failed { - color: #d0021b; } - -.tx-list-item { - border-top: 1px solid #e7e7e7; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; } - @media screen and (min-width: 576px) { - .tx-list-item { - margin: 0 2.37em; } } - .tx-list-item:last-of-type { - border-bottom: 1px solid #e7e7e7; - margin-bottom: 32px; } - .tx-list-item__wrapper { - -ms-flex-item-align: center; - align-self: center; - -webkit-box-flex: 2; - -ms-flex: 2 2 auto; - flex: 2 2 auto; - color: #9b9b9b; } - .tx-list-item__wrapper .tx-list-value { - font-size: 16px; - text-align: right; } - .tx-list-item__wrapper .tx-list-value--confirmed { - color: #02c9b1; } - .tx-list-item__wrapper .tx-list-fiat-value { - font-size: 12px; - text-align: right; } - .tx-list-item--empty { - text-align: center; - border-bottom: none !important; - padding: 16px; } - -.tx-list-details-wrapper { - overflow: hidden; - -webkit-box-flex: 0; - -ms-flex: 0 0 35%; - flex: 0 0 35%; } - -.tx-list-value { - font-size: 16px; - text-align: right; - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; } - -.tx-list-fiat-value { - text-align: right; - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; } - -.tx-list-value--confirmed { - color: #02c9b1; } - -/* stylelint-disable */ -/* -App Sections - TODO: Move into separate files. -*/ -/* initialize */ -textarea.twelve-word-phrase { - padding: 12px; - width: 300px; - height: 140px; - font-size: 16px; - background: #fff; - resize: none; } - -.initialize-screen hr { - width: 60px; - margin: 12px; - border-color: #f7861c; - border-style: solid; } - -.initialize-screen label { - margin-top: 20px; } - -.initialize-screen button.create-vault { - margin-top: 40px; } - -.initialize-screen .warning { - font-size: 14px; - margin: 0 16px; } - -/* unlock */ -.error { - color: #f7861c; - margin-bottom: 9px; } - -.warning { - color: #ffae00; } - -.lock { - width: 50px; - height: 50px; } - -.lock.locked { - -webkit-transform: scale(1.5); - transform: scale(1.5); - opacity: 0; - -webkit-transition: opacity 400ms ease-in, -webkit-transform 400ms ease-in; - transition: opacity 400ms ease-in, -webkit-transform 400ms ease-in; - transition: opacity 400ms ease-in, transform 400ms ease-in; - transition: opacity 400ms ease-in, transform 400ms ease-in, -webkit-transform 400ms ease-in; } - -.lock.unlocked { - -webkit-transform: scale(1); - transform: scale(1); - opacity: 1; - -webkit-transition: opacity 500ms ease-out, background 200ms ease-in, -webkit-transform 500ms ease-out; - transition: opacity 500ms ease-out, background 200ms ease-in, -webkit-transform 500ms ease-out; - transition: opacity 500ms ease-out, transform 500ms ease-out, background 200ms ease-in; - transition: opacity 500ms ease-out, transform 500ms ease-out, background 200ms ease-in, -webkit-transform 500ms ease-out; } - -.lock.locked .lock-top { - -webkit-transform: scaleX(1) translateX(0); - transform: scaleX(1) translateX(0); - -webkit-transition: -webkit-transform 250ms ease-in; - transition: -webkit-transform 250ms ease-in; - transition: transform 250ms ease-in; - transition: transform 250ms ease-in, -webkit-transform 250ms ease-in; } - -.lock.unlocked .lock-top { - -webkit-transform: scaleX(-1) translateX(-12px); - transform: scaleX(-1) translateX(-12px); - -webkit-transition: -webkit-transform 250ms ease-in; - transition: -webkit-transform 250ms ease-in; - transition: transform 250ms ease-in; - transition: transform 250ms ease-in, -webkit-transform 250ms ease-in; } - -.lock.unlocked:hover { - border-radius: 4px; - background: #e5e5e5; - border: 1px solid #b1b1b1; } - -.lock.unlocked:active { - background: #c3c3c3; } - -.section-title .fa-arrow-left { - margin: -2px 8px 0px -8px; } - -.unlock-screen #metamask-mascot-container { - margin-top: 24px; } - -.unlock-screen h1 { - margin-top: -28px; - margin-bottom: 42px; } - -.unlock-screen input[type=password] { - width: 260px; } - -.sizing-input { - font-size: 14px; - height: 30px; - padding-left: 5px; } - -.editable-label { - display: -webkit-box; - display: -ms-flexbox; - display: flex; } - -/* Webkit */ -.unlock-screen input::-webkit-input-placeholder { - text-align: center; - font-size: 1.2em; } - -/* Firefox 18- */ -.unlock-screen input:-moz-placeholder { - text-align: center; - font-size: 1.2em; } - -/* Firefox 19+ */ -.unlock-screen input::-moz-placeholder { - text-align: center; - font-size: 1.2em; } - -/* IE */ -.unlock-screen input:-ms-input-placeholder { - text-align: center; - font-size: 1.2em; } - -/* accounts */ -.accounts-section { - margin: 0 0px; } - -.accounts-section .horizontal-line { - margin: 0 18px; } - -.accounts-list-option { - height: 120px; } - -.accounts-list-option .identicon-wrapper { - width: 100px; } - -.unconftx-link { - margin-top: 24px; - cursor: pointer; } - -.unconftx-link .fa-arrow-right { - margin: 0 -8px 0px 8px; } - -/* identity panel */ -.identity-panel { - font-weight: 500; } - -.identity-panel .identicon-wrapper { - margin: 4px; - margin-top: 8px; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - -.identity-panel .identicon-wrapper span { - margin: 0 auto; } - -.identity-panel .identity-data { - margin: 8px 8px 8px 18px; } - -.identity-panel i { - margin-top: 32px; - margin-right: 6px; - color: #b9b9b9; } - -.identity-panel .arrow-right { - padding-left: 18px; - width: 42px; - min-width: 18px; - height: 100%; } - -.identity-copy.flex-column { - -webkit-box-flex: .25; - -ms-flex: .25 0 auto; - flex: .25 0 auto; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; } - -/* accounts screen */ -.identity-section .identity-panel { - background: #e9e9e9; - border-bottom: 1px solid #b1b1b1; - cursor: pointer; } - -.identity-section .identity-panel.selected { - background: #fff; - color: #f3c83e; } - -.identity-section .identity-panel.selected .identicon { - border-color: #ffa500; } - -.identity-section .accounts-list-option:hover, -.identity-section .accounts-list-option.selected { - background: #fff; } - -/* account detail screen */ -.account-detail-section { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - overflow-y: auto; - -webkit-box-orient: inherit; - -webkit-box-direction: inherit; - -ms-flex-direction: inherit; - flex-direction: inherit; } - -.grow-tenx { - -webkit-box-flex: 10; - -ms-flex-positive: 10; - flex-grow: 10; } - -.unapproved-tx-icon { - height: 16px; - width: 16px; - background: #2faef4; - border-color: #aeaeae; - border-radius: 13px; } - -.edit-text { - height: 100%; - visibility: hidden; } - -.editing-label { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; - margin-left: 50px; - margin-bottom: 2px; - font-size: 11px; - text-rendering: geometricPrecision; - color: #f7861c; } - -.name-label:hover .edit-text { - visibility: visible; } - -/* tx confirm */ -.unconftx-section input[type=password] { - height: 22px; - padding: 2px; - margin: 12px; - margin-bottom: 24px; - border-radius: 4px; - border: 2px solid #f3c83e; - background: #faf6f0; } - -/* Ether Balance Widget */ -.ether-balance-amount { - color: #f7861c; } - -.ether-balance-label { - color: #aba9aa; } - -/* Info screen */ -.info-gray { - font-family: Roboto; - text-transform: uppercase; - color: #aeaeae; } - -.icon-size { - width: 20px; } - -.info { - font-family: Roboto, Arial; - padding-bottom: 10px; - display: inline-block; - padding-left: 5px; } - -/* buy eth warning screen */ -.custom-radios { - -ms-flex-pack: distribute; - justify-content: space-around; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - -.custom-radio-selected { - width: 17px; - height: 17px; - border: solid; - border-style: double; - border-radius: 15px; - border-width: 5px; - background: #f7861c; - border-color: #f7f7f7; } - -.custom-radio-inactive { - width: 14px; - height: 14px; - border: solid; - border-width: 1px; - border-radius: 24px; - border-color: #aeaeae; } - -.radio-titles { - color: #f7861c; } - -.eth-warning { - -webkit-transition: opacity 400ms ease-in, -webkit-transform 400ms ease-in; - transition: opacity 400ms ease-in, -webkit-transform 400ms ease-in; - transition: opacity 400ms ease-in, transform 400ms ease-in; - transition: opacity 400ms ease-in, transform 400ms ease-in, -webkit-transform 400ms ease-in; } - -.buy-subview { - -webkit-transition: opacity 400ms ease-in, -webkit-transform 400ms ease-in; - transition: opacity 400ms ease-in, -webkit-transform 400ms ease-in; - transition: opacity 400ms ease-in, transform 400ms ease-in; - transition: opacity 400ms ease-in, transform 400ms ease-in, -webkit-transform 400ms ease-in; } - -.input-container:hover .edit-text { - visibility: visible; } - -.buy-inputs { - font-family: Roboto; - font-size: 13px; - height: 20px; - background: transparent; - -webkit-box-sizing: border-box; - box-sizing: border-box; - border: solid; - border-color: transparent; - border-width: .5px; - border-radius: 2px; } - -.input-container:hover .buy-inputs { - -webkit-box-sizing: inherit; - box-sizing: inherit; - border: solid; - border-color: #f7861c; - border-width: .5px; - border-radius: 2px; } - -.buy-inputs:focus { - border: solid; - border-color: #f7861c; - border-width: .5px; - border-radius: 2px; } - -.activeForm { - background: #f7f7f7; - border: none; - border-radius: 8px 8px 0px 0px; - width: 50%; - text-align: center; - padding-bottom: 4px; } - -.inactiveForm { - border: none; - border-radius: 8px 8px 0px 0px; - width: 50%; - text-align: center; - padding-bottom: 4px; } - -.ex-coins { - font-family: Roboto; - text-transform: uppercase; - text-align: center; - font-size: 33px; - width: 118px; - height: 42px; - padding: 1px; - color: #4d4d4d; } - -.marketinfo { - font-family: Roboto; - color: #aeaeae; - font-size: 15px; - line-height: 17px; } - -#fromCoin::-webkit-calendar-picker-indicator { - display: none; } - -#coinList { - width: 400px; - height: 500px; - overflow: scroll; } - -.icon-control .fa-refresh { - visibility: hidden; } - -.icon-control:hover .fa-refresh { - visibility: visible; } - -.icon-control:hover .fa-chevron-right { - visibility: hidden; } - -.inactive { - color: #aeaeae; } - -.inactive button { - background: #aeaeae; - color: #fff; } - -.qr-ellip-address, .ellip-address { - overflow: hidden; - text-overflow: ellipsis; } - -.qr-header { - font-size: 25px; - margin-top: 40px; } - -.qr-message { - font-size: 12px; - color: #f7861c; } - -div.message-container > div:first-child { - margin-top: 18px; - font-size: 15px; - color: #4d4d4d; } - -.pop-hover:hover { - -webkit-transform: scale(1.1); - transform: scale(1.1); } - -/* stylelint-enable */ -.token-list-item { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - padding: 20px 24px; - cursor: pointer; - -webkit-transition: linear 200ms; - transition: linear 200ms; - background-color: rgba(231, 231, 231, 0); - position: relative; } - .token-list-item__token-balance { - font-size: 130%; } - @media screen and (min-width: 576px) and (max-width: 890px) { - .token-list-item__token-balance { - font-size: 105%; } } - .token-list-item__fiat-amount { - margin-top: .25%; - font-size: 105%; - text-transform: uppercase; } - @media screen and (min-width: 576px) and (max-width: 890px) { - .token-list-item__fiat-amount { - font-size: 95%; } } - @media screen and (min-width: 576px) and (max-width: 890px) { - .token-list-item { - padding: 10% 4%; } } - .token-list-item--active { - background-color: #e7e7e7; } - .token-list-item__identicon { - margin-right: 15px; - border: '1px solid #dedede'; } - @media screen and (min-width: 576px) and (max-width: 890px) { - .token-list-item__identicon { - margin-right: 4%; } } - .token-list-item__ellipsis { - line-height: 45px; } - .token-list-item__balance-wrapper { - -webkit-box-flex: 1; - -ms-flex: 1 1 auto; - flex: 1 1 auto; } - -.token-menu-dropdown { - height: 55px; - width: 191px; - border-radius: 4px; - background-color: rgba(0, 0, 0, 0.82); - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5); - box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5); - position: fixed; - margin-top: 20px; - margin-left: 105px; - z-index: 2000; } - .token-menu-dropdown__close-area { - position: fixed; - top: 0; - left: 0; - z-index: 2100; - width: 100%; - height: 100%; - cursor: default; } - .token-menu-dropdown__container { - padding: 16px 34px 32px; - z-index: 2200; - position: relative; } - .token-menu-dropdown__options { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; } - .token-menu-dropdown__option { - color: #fff; - font-family: Roboto; - font-size: 16px; - line-height: 21px; - text-align: center; } - -.add-token { - width: 498px; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-flow: column nowrap; - flex-flow: column nowrap; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - position: relative; - z-index: 12; - font-family: 'DIN Next Light'; } - .add-token__wrapper { - background-color: #fff; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.08); - box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.08); - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-flow: column nowrap; - flex-flow: column nowrap; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; } - .add-token__title-container { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-flow: column nowrap; - flex-flow: column nowrap; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - padding: 30px 60px 12px; - border-bottom: 1px solid #efefef; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; } - .add-token__title { - color: #5d5d5d; - font-size: 20px; - line-height: 26px; - text-align: center; - font-weight: 600; - margin-bottom: 12px; } - .add-token__description { - text-align: center; } - .add-token__description + .add-token__description { - margin-top: 24px; } - .add-token__confirmation-description { - margin: 12px 0; } - .add-token__content-container { - width: 100%; - border-bottom: 1px solid #efefef; } - .add-token__input-container { - padding: 11px 0; - width: 263px; - margin: 0 auto; - position: relative; } - .add-token__search-input-error-message { - position: absolute; - bottom: -10px; - font-size: 12px; - width: 100%; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; - color: #f00; } - .add-token__input { - width: 100%; - border: 2px solid #efefef; - border-radius: 4px; - padding: 5px 15px; - font-size: 14px; - line-height: 19px; } - .add-token__input::-webkit-input-placeholder { - color: #cdcdcd; } - .add-token__input:-ms-input-placeholder { - color: #cdcdcd; } - .add-token__input::-ms-input-placeholder { - color: #cdcdcd; } - .add-token__input::placeholder { - color: #cdcdcd; } - .add-token__footers { - width: 100%; } - .add-token__add-custom { - color: #5d5d5d; - font-size: 18px; - line-height: 24px; - text-align: center; - padding: 12px 0; - font-weight: 600; - cursor: pointer; } - .add-token__add-custom:hover { - background-color: rgba(0, 0, 0, 0.05); } - .add-token__add-custom:active { - background-color: rgba(0, 0, 0, 0.1); } - .add-token__add-custom .fa { - position: absolute; - right: 24px; - font-size: 24px; - line-height: 24px; } - .add-token__add-custom-form { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-flow: column nowrap; - flex-flow: column nowrap; - margin: 8px 0 51px; } - .add-token__add-custom-field { - width: 290px; - margin: 0 auto; - position: relative; } - .add-token__add-custom-field--error .add-token__add-custom-input { - border-color: #f00; } - .add-token__add-custom-error-message { - position: absolute; - bottom: -21px; - font-size: 12px; - width: 100%; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; - color: #f00; } - .add-token__add-custom-label { - font-size: 16px; - line-height: 21px; - margin-bottom: 8px; } - .add-token__add-custom-input { - width: 100%; - border: 1px solid #cdcdcd; - padding: 5px 15px; - font-size: 14px; - line-height: 19px; } - .add-token__add-custom-input::-webkit-input-placeholder { - color: #cdcdcd; } - .add-token__add-custom-input:-ms-input-placeholder { - color: #cdcdcd; } - .add-token__add-custom-input::-ms-input-placeholder { - color: #cdcdcd; } - .add-token__add-custom-input::placeholder { - color: #cdcdcd; } - .add-token__add-custom-field + .add-token__add-custom-field { - margin-top: 21px; } - .add-token__buttons { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-flow: column nowrap; - flex-flow: column nowrap; - margin: 30px 0 51px; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; } - .add-token__token-icons-container { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-flow: row wrap; - flex-flow: row wrap; } - .add-token__token-wrapper { - -webkit-transition: 200ms ease-in-out; - transition: 200ms ease-in-out; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - -webkit-box-flex: 0; - -ms-flex: 0 0 42.5%; - flex: 0 0 42.5%; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - padding: 12px; - margin: 2.5%; - -webkit-box-sizing: border-box; - box-sizing: border-box; - border-radius: 10px; - cursor: pointer; - border: 2px solid transparent; - position: relative; } - .add-token__token-wrapper:hover { - border: 2px solid rgba(122, 201, 253, 0.5); } - .add-token__token-wrapper--selected { - border: 2px solid #7ac9fd !important; } - .add-token__token-wrapper--disabled { - opacity: .4; - pointer-events: none; } - .add-token__token-data { - -ms-flex-item-align: start; - align-self: flex-start; } - .add-token__token-name { - font-size: 14px; - line-height: 19px; } - .add-token__token-symbol { - font-size: 22px; - line-height: 29px; - font-weight: 600; } - .add-token__token-icon { - width: 60px; - height: 60px; - background-repeat: no-repeat; - background-size: contain; - background-position: center; - border-radius: 50%; - background-color: #fff; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.24); - box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.24); - margin-right: 12px; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; } - .add-token__token-message { - position: absolute; - color: #02c9b1; - font-size: 11px; - bottom: 0; - left: 85px; } - .add-token__confirmation-token-list { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-flow: column nowrap; - flex-flow: column nowrap; } - .add-token__confirmation-token-list .token-balance { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - -webkit-box-align: start; - -ms-flex-align: start; - align-items: flex-start; } - .add-token__confirmation-token-list .token-balance__amount { - color: #5d5d5d; - font-size: 43px; - font-weight: 300; - line-height: 43px; - margin-right: 8px; } - .add-token__confirmation-token-list .token-balance__symbol { - color: #5d5d5d; - font-size: 16px; - line-height: 24px; } - .add-token__confirmation-title { - padding: 30px 120px 12px; } - @media screen and (max-width: 575px) { - .add-token__confirmation-title { - padding: 20px 0; - width: 100%; } } - .add-token__confirmation-content { - padding-bottom: 60px; } - .add-token__confirmation-token-list-item { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - margin: 0 auto; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - .add-token__confirmation-token-list-item + .add-token__confirmation-token-list-item { - margin-top: 30px; } - .add-token__confirmation-token-icon { - margin-right: 18px; } - @media screen and (max-width: 575px) { - .add-token { - top: 0; - width: 100%; - overflow: hidden; - height: 100%; } - .add-token__wrapper { - -webkit-box-shadow: none !important; - box-shadow: none !important; - -webkit-box-flex: 1; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - width: 100%; - overflow-y: auto; } - .add-token__footers { - border-bottom: 1px solid #efefef; } - .add-token__token-icon { - width: 50px; - height: 50px; } - .add-token__token-symbol { - font-size: 18px; - line-height: 24px; } - .add-token__token-name { - font-size: 12px; - line-height: 16px; } - .add-token__buttons { - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - width: 100%; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - padding: 12px 0; - margin: 0; - border-top: 1px solid #efefef; } - .add-token__buttons button { - -webkit-box-flex: 1; - -ms-flex: 1 0 auto; - flex: 1 0 auto; - margin: 0 12px; } } - -.currency-display { - height: 54px; - width: 100%ß; - border: 1px solid #dedede; - border-radius: 4px; - background-color: #fff; - color: #9b9b9b; - font-family: Roboto; - font-size: 16px; - font-weight: 300; - padding: 8px 10px; - position: relative; } - .currency-display__primary-row { - display: -webkit-box; - display: -ms-flexbox; - display: flex; } - .currency-display__input { - color: #5d5d5d; - font-family: Roboto; - font-size: 16px; - line-height: 22px; - border: none; - outline: 0 !important; - max-width: 100%; } - .currency-display__primary-currency { - color: #5d5d5d; - font-weight: 400; - font-family: Roboto; - font-size: 16px; - line-height: 22px; } - .currency-display__converted-row { - display: -webkit-box; - display: -ms-flexbox; - display: flex; } - .currency-display__converted-value, .currency-display__converted-currency { - color: #9b9b9b; - font-family: Roboto; - font-size: 12px; - line-height: 12px; } - .currency-display__input-wrapper { - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: flex; } - .currency-display__currency-symbol { - margin-top: 1px; } - -.account-menu { - position: fixed; - z-index: 100; - top: 58px; - width: 310px; } - @media screen and (max-width: 575px) { - .account-menu { - right: calc(((100vw - 100%) / 2) + 8px); } } - @media screen and (min-width: 576px) { - .account-menu { - right: calc((100vw - 85vw) / 2); } } - @media screen and (min-width: 769px) { - .account-menu { - right: calc((100vw - 80vw) / 2); } } - @media screen and (min-width: 1281px) { - .account-menu { - right: calc((100vw - 65vw) / 2); } } - .account-menu__icon { - margin-left: 20px; - cursor: pointer; } - .account-menu__header { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; } - .account-menu__logout-button { - border: 1px solid #9b9b9b; - background-color: transparent; - color: #fff; - border-radius: 4px; - font-size: 12px; - line-height: 23px; - padding: 0 24px; - font-weight: 200; } - .account-menu img { - width: 16px; - height: 16px; } - .account-menu__accounts { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-flow: column nowrap; - flex-flow: column nowrap; - overflow-y: auto; - max-height: 240px; - position: relative; - z-index: 200; } - .account-menu__accounts::-webkit-scrollbar { - display: none; } - @media screen and (max-width: 575px) { - .account-menu__accounts { - max-height: 215px; } } - .account-menu__accounts .keyring-label { - margin-top: 5px; - background-color: #000; - color: #9b9b9b; } - .account-menu__account { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - padding: 16px 14px; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; } - @media screen and (max-width: 575px) { - .account-menu__account { - padding: 12px 14px; } } - .account-menu__account-info { - -webkit-box-flex: 1; - -ms-flex: 1 0 auto; - flex: 1 0 auto; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-flow: column nowrap; - flex-flow: column nowrap; - padding-top: 4px; } - .account-menu__check-mark { - width: 14px; - margin-right: 12px; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; } - .account-menu__check-mark-icon { - background-image: url("images/check-white.svg"); - height: 18px; - width: 18px; - background-repeat: no-repeat; - background-position: center; - background-size: contain; - margin: 3px 0; } - .account-menu .identicon { - margin: 0 12px 0 0; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; } - .account-menu__name { - color: #fff; - font-size: 18px; - font-weight: 200; - line-height: 16px; } - .account-menu__balance { - color: #9b9b9b; - font-size: 14px; - line-height: 19px; } - .account-menu__action { - font-size: 16px; - line-height: 18px; - font-weight: 200; - cursor: pointer; } - -.menu { - border-radius: 4px; - background: rgba(0, 0, 0, 0.8); - -webkit-box-shadow: rgba(0, 0, 0, 0.15) 0 2px 2px 2px; - box-shadow: rgba(0, 0, 0, 0.15) 0 2px 2px 2px; - min-width: 150px; - color: #fff; } - .menu__item { - padding: 18px; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - position: relative; - z-index: 200; - font-weight: 200; } - @media screen and (max-width: 575px) { - .menu__item { - padding: 14px; } } - .menu__item--clickable { - cursor: pointer; } - .menu__item--clickable:hover { - background-color: rgba(255, 255, 255, 0.05); } - .menu__item--clickable:active { - background-color: rgba(255, 255, 255, 0.1); } - .menu__item__icon { - height: 16px; - width: 16px; - margin-right: 14px; } - .menu__item__text { - font-size: 16px; - line-height: 21px; } - .menu__divider { - background-color: #5d5d5d; - width: 100%; - height: 1px; } - .menu__close-area { - position: fixed; - width: 100%; - height: 100%; - top: 0; - left: 0; - z-index: 100; } - -.gas-slider { - position: relative; - width: 313px; } - .gas-slider__input { - width: 317px; - margin-left: -2px; - z-index: 2; } - .gas-slider input[type=range] { - -webkit-appearance: none !important; } - .gas-slider input[type=range]::-webkit-slider-thumb { - -webkit-appearance: none !important; - height: 26px; - width: 26px; - border: 2px solid #B8B8B8; - background-color: #FFFFFF; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.08); - box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.08); - border-radius: 50%; - position: relative; - z-index: 10; } - .gas-slider__bar { - height: 6px; - width: 313px; - background: #dedede; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - position: absolute; - top: 11px; - z-index: 0; } - .gas-slider__low, .gas-slider__high { - height: 6px; - width: 49px; - z-index: 1; } - .gas-slider__low { - background-color: #e91550; } - .gas-slider__high { - background-color: #02c9b1; } - -.settings { - position: relative; - background: #fff; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-flow: column nowrap; - flex-flow: column nowrap; - height: auto; - overflow: auto; } - -.settings__header { - padding: 25px; } - -.settings__close-button::after { - content: '\00D7'; - font-size: 40px; - color: #9b9b9b; - position: absolute; - top: 25px; - right: 30px; - cursor: pointer; } - -.settings__error { - padding-bottom: 20px; - text-align: center; - color: #e91550; } - -.settings__content { - padding: 0 25px; } - -.settings__content-row { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - padding: 10px 0 20px; } - @media screen and (max-width: 575px) { - .settings__content-row { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - padding: 10px 0; } } - -.settings__content-item { - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; - min-width: 0; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - padding: 0 5px; - height: 71px; } - @media screen and (max-width: 575px) { - .settings__content-item { - height: initial; - padding: 5px 0; } } - .settings__content-item--without-height { - height: initial; } - -.settings__content-item-col { - max-width: 300px; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; } - @media screen and (max-width: 575px) { - .settings__content-item-col { - max-width: 100%; - width: 100%; } } - -.settings__content-description { - font-size: 14px; - color: #9b9b9b; - padding-top: 5px; } - -.settings__input { - padding-left: 10px; - font-size: 14px; - height: 40px; - border: 1px solid #dedede; } - -.settings__input::-webkit-input-placeholder { - font-weight: 100; - color: #9b9b9b; } - -.settings__input::-moz-placeholder { - font-weight: 100; - color: #9b9b9b; } - -.settings__input:-ms-input-placeholder { - font-weight: 100; - color: #9b9b9b; } - -.settings__input:-moz-placeholder { - font-weight: 100; - color: #9b9b9b; } - -.settings__provider-wrapper { - font-size: 16px; - border: 1px solid #dedede; - border-radius: 2px; - padding: 15px; - background-color: #fff; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; } - -.settings__provider-icon { - height: 10px; - width: 10px; - margin-right: 10px; - border-radius: 10px; } - -.settings__rpc-save-button { - -ms-flex-item-align: end; - align-self: flex-end; - padding: 5px; - text-transform: uppercase; - color: #9b9b9b; - cursor: pointer; } - -.settings__clear-button { - font-size: 16px; - border: 1px solid #2f9ae0; - color: #2f9ae0; - border-radius: 2px; - padding: 18px; - background-color: #fff; - text-transform: uppercase; } - -.settings__clear-button--red { - border: 1px solid #d0021b; - color: #d0021b; } - -.settings__info-logo-wrapper { - height: 80px; - margin-bottom: 20px; } - -.settings__info-logo { - max-height: 100%; - max-width: 100%; } - -.settings__info-item { - padding: 10px 0; } - -.settings__info-link-header { - padding-bottom: 15px; } - @media screen and (max-width: 575px) { - .settings__info-link-header { - padding-bottom: 5px; } } - -.settings__info-link-item { - padding: 15px 0; } - @media screen and (max-width: 575px) { - .settings__info-link-item { - padding: 5px 0; } } - -.settings__info-version-number { - padding-top: 5px; - font-size: 13px; - color: #9b9b9b; } - -.settings__info-about { - color: #9b9b9b; - margin-bottom: 15px; } - -.settings__info-link { - color: #2f9ae0; } - -.settings__info-separator { - margin: 15px 0; - width: 80px; - border-color: #dedede; - border: none; - height: 1px; - background-color: #dedede; - color: #dedede; } - -.tab-bar { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; - -webkit-box-align: end; - -ms-flex-align: end; - align-items: flex-end; } - -.tab-bar__tab { - min-width: 0; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - padding: 15px 25px; - border-bottom: 1px solid #dedede; - -webkit-box-sizing: border-box; - box-sizing: border-box; - font-size: 18px; } - -.tab-bar__tab--active { - border-color: #000; } - -.tab-bar__grow-tab { - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; } - -.simple-dropdown { - height: 56px; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: start; - -ms-flex-pack: start; - justify-content: flex-start; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - border: 1px solid #dedede; - border-radius: 4px; - background-color: #fff; - font-size: 16px; - color: #4d4d4d; - cursor: pointer; - position: relative; } - -.simple-dropdown__caret { - color: #cdcdcd; - padding: 0 10px; } - -.simple-dropdown__selected { - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; - padding: 0 15px; } - -.simple-dropdown__options { - z-index: 1050; - position: absolute; - height: 220px; - width: 100%; - border: 1px solid #d2d8dd; - border-radius: 4px; - background-color: #fff; - -webkit-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.11); - box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.11); - margin-top: 10px; - overflow-y: scroll; - left: 0; - top: 100%; } - -.simple-dropdown__option { - padding: 10px; } - .simple-dropdown__option:hover { - background-color: #efefef; } - -.simple-dropdown__option--selected { - background-color: #dedede; } - .simple-dropdown__option--selected:hover { - background-color: #dedede; - cursor: default; } - -.simple-dropdown__close-area { - position: fixed; - top: 0; - left: 0; - z-index: 1000; - width: 100%; - height: 100%; } - -.request-signature__container { - width: 380px; - border-radius: 8px; - background-color: #fff; - -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.08); - box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.08); - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-flow: column nowrap; - flex-flow: column nowrap; - z-index: 25; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - font-family: Roboto; - position: relative; - height: 100%; } - @media screen and (max-width: 575px) { - .request-signature__container { - width: 100%; - top: 0; - -webkit-box-shadow: none; - box-shadow: none; } } - @media screen and (min-width: 576px) { - .request-signature__container { - max-height: 620px; } } - -.request-signature__header { - height: 64px; - width: 100%; - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-flow: column; - flex-flow: column; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; } - -.request-signature__header-background { - position: absolute; - background-color: #e9edf0; - z-index: 2; - width: 100%; - height: 100%; } - -.request-signature__header__text { - height: 29px; - width: 179px; - color: #5B5D67; - font-family: Roboto; - font-size: 22px; - font-weight: 300; - line-height: 29px; - z-index: 3; } - -.request-signature__header__tip-container { - width: 100%; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; } - -.request-signature__header__tip { - height: 25px; - width: 25px; - background: #e9edf0; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); - position: absolute; - bottom: -8px; - z-index: 1; } - -.request-signature__account-info { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - margin-top: 18px; - margin-bottom: 20px; } - -.request-signature__account { - color: #9b9b9b; - margin-left: 17px; } - -.request-signature__account-text { - font-size: 14px; } - -.request-signature__balance { - color: #9b9b9b; - margin-right: 17px; - width: 124px; } - -.request-signature__balance-text { - text-align: right; - font-size: 14px; } - -.request-signature__balance-value { - text-align: right; - margin-top: 2.5px; } - -.request-signature__request-icon { - margin-top: 25px; } - -.request-signature__body { - width: 100%; - height: 100%; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-flow: column; - flex-flow: column; - -webkit-box-flex: 1; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - height: 0; } - -.request-signature__request-info { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; } - -.request-signature__headline { - height: 48px; - width: 240px; - color: #4d4d4d; - font-family: Roboto; - font-size: 18px; - font-weight: 300; - line-height: 24px; - text-align: center; - margin-top: 20px; } - -.request-signature__notice, .request-signature__warning { - font-family: "Avenir Next"; - font-size: 14px; - line-height: 19px; - text-align: center; - margin-top: 41px; - margin-bottom: 11px; - width: 100%; } - -.request-signature__notice { - color: #9b9b9b; } - -.request-signature__warning { - color: #e91550; } - -.request-signature__rows { - height: 100%; - overflow-y: scroll; - overflow-x: hidden; - border-top: 1px solid #d2d8dd; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-flow: column; - flex-flow: column; } - -.request-signature__row { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-flow: column; - flex-flow: column; } - -.request-signature__row-title { - width: 80px; - color: #9b9b9b; - font-family: Roboto; - font-size: 16px; - line-height: 22px; - margin-top: 12px; - margin-left: 18px; - width: 100%; } - -.request-signature__row-value { - color: #5d5d5d; - font-family: Roboto; - font-size: 14px; - line-height: 19px; - width: 100%; - overflow-wrap: break-word; - border-bottom: 1px solid #d2d8dd; - padding: 6px 18px 15px; } - -.request-signature__footer { - width: 100%; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: space-evenly; - -ms-flex-pack: space-evenly; - justify-content: space-evenly; - font-size: 22px; - position: relative; - -webkit-box-flex: 0; - -ms-flex: 0 0 auto; - flex: 0 0 auto; - border-top: 1px solid #d2d8dd; } - .request-signature__footer__cancel-button, .request-signature__footer__sign-button { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-flex: 1; - -ms-flex: 1 0 auto; - flex: 1 0 auto; - font-family: Roboto; - font-size: 16px; - font-weight: 300; - height: 55px; - line-height: 32px; - cursor: pointer; - border-radius: 2px; - -webkit-box-shadow: none; - box-shadow: none; - max-width: 162px; - margin: 12px; } - .request-signature__footer__cancel-button { - background: none; - border: 1px solid #9b9b9b; - margin-right: 6px; } - .request-signature__footer__sign-button { - background-color: #02c9b1; - border-width: 0; - color: #fff; - margin-left: 6px; } - -.account-dropdown-mini { - height: 22px; - background-color: #fff; - font-family: Roboto; - line-height: 16px; - font-size: 12px; - width: 124px; } - .account-dropdown-mini__close-area { - position: fixed; - top: 0; - left: 0; - z-index: 1000; - width: 100%; - height: 100%; } - .account-dropdown-mini__list { - z-index: 1050; - position: absolute; - height: 180px; - width: 96pxpx; - border: 1px solid #d2d8dd; - border-radius: 4px; - background-color: #fff; - -webkit-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.11); - box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.11); - overflow-y: scroll; } - .account-dropdown-mini .account-list-item { - margin-top: 6px; } - .account-dropdown-mini .account-list-item__account-name { - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; - width: 80px; } - .account-dropdown-mini .account-list-item__top-row { - margin: 0; } - .account-dropdown-mini .account-list-item__icon { - position: initial; } - -.editable-label { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - position: relative; } - .editable-label__value { - max-width: 250px; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; } - .editable-label__input { - width: 250px; - font-size: 14px; - text-align: center; - border: 1px solid #dedede; } - .editable-label__input--error { - border: 1px solid #d0021b; } - .editable-label__icon-wrapper { - position: absolute; - margin-left: 10px; - left: 100%; } - .editable-label__icon { - cursor: pointer; - color: #9b9b9b; } - -/* - Trumps - */ -/* universal */ -.app-primary .main-enter { - position: absolute; - width: 100%; } - -/* center position */ -.app-primary.from-right .main-enter-active, -.app-primary.from-left .main-enter-active { - overflow-x: hidden; - -webkit-transform: translateX(0); - transform: translateX(0); - -webkit-transition: -webkit-transform 300ms ease-in; - transition: -webkit-transform 300ms ease-in; - transition: transform 300ms ease-in; - transition: transform 300ms ease-in, -webkit-transform 300ms ease-in; } - -/* exited positions */ -.app-primary.from-left .main-leave-active { - -webkit-transform: translateX(360px); - transform: translateX(360px); - -webkit-transition: -webkit-transform 300ms ease-in; - transition: -webkit-transform 300ms ease-in; - transition: transform 300ms ease-in; - transition: transform 300ms ease-in, -webkit-transform 300ms ease-in; } - -.app-primary.from-right .main-leave-active { - -webkit-transform: translateX(-360px); - transform: translateX(-360px); - -webkit-transition: -webkit-transform 300ms ease-in; - transition: -webkit-transform 300ms ease-in; - transition: transform 300ms ease-in; - transition: transform 300ms ease-in, -webkit-transform 300ms ease-in; } - -.sidebar.from-left { - -webkit-transform: translateX(-320px); - transform: translateX(-320px); - -webkit-transition: -webkit-transform 300ms ease-in; - transition: -webkit-transform 300ms ease-in; - transition: transform 300ms ease-in; - transition: transform 300ms ease-in, -webkit-transform 300ms ease-in; } - -/* loader transitions */ -.loader-enter, -.loader-leave-active { - opacity: 0; - -webkit-transition: opacity 150 ease-in; - transition: opacity 150 ease-in; } - -.loader-enter-active, -.loader-leave { - opacity: 1; - -webkit-transition: opacity 150 ease-in; - transition: opacity 150 ease-in; } - -/* entering positions */ -.app-primary.from-right .main-enter:not(.main-enter-active) { - -webkit-transform: translateX(360px); - transform: translateX(360px); } - -.app-primary.from-left .main-enter:not(.main-enter-active) { - -webkit-transform: translateX(-360px); - transform: translateX(-360px); } - -i.fa.fa-question-circle.fa-lg.menu-icon { - font-size: 18px; } - -/* stylelint-disable */ -#buy-modal-content-footer-text { - font-family: 'DIN OT'; - font-size: 16px; } - -/* stylelint-enable */ - -/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY3NzIiwic291cmNlcyI6WyJpbmRleC5zY3NzIiwiaXRjc3Mvc2V0dGluZ3MvaW5kZXguc2NzcyIsIml0Y3NzL3NldHRpbmdzL3ZhcmlhYmxlcy5zY3NzIiwiaXRjc3Mvc2V0dGluZ3MvdHlwb2dyYXBoeS5zY3NzIiwiaXRjc3MvdG9vbHMvaW5kZXguc2NzcyIsIml0Y3NzL3Rvb2xzL3V0aWxpdGllcy5zY3NzIiwiaXRjc3MvZ2VuZXJpYy9pbmRleC5zY3NzIiwiaXRjc3MvZ2VuZXJpYy9yZXNldC5zY3NzIiwiaXRjc3MvYmFzZS9pbmRleC5zY3NzIiwiaXRjc3Mvb2JqZWN0cy9pbmRleC5zY3NzIiwiaXRjc3MvY29tcG9uZW50cy9pbmRleC5zY3NzIiwiaXRjc3MvY29tcG9uZW50cy9idXR0b25zLnNjc3MiLCJpdGNzcy9jb21wb25lbnRzL2hlYWRlci5zY3NzIiwiaXRjc3MvY29tcG9uZW50cy9mb290ZXIuc2NzcyIsIml0Y3NzL2NvbXBvbmVudHMvbmV0d29yay5zY3NzIiwiaXRjc3MvY29tcG9uZW50cy9tb2RhbC5zY3NzIiwiaXRjc3MvY29tcG9uZW50cy9uZXd1aS1zZWN0aW9ucy5zY3NzIiwiaXRjc3MvY29tcG9uZW50cy9hY2NvdW50LWRyb3Bkb3duLnNjc3MiLCJpdGNzcy9jb21wb25lbnRzL3NlbmQuc2NzcyIsIml0Y3NzL2NvbXBvbmVudHMvY29uZmlybS5zY3NzIiwiaXRjc3MvY29tcG9uZW50cy9sb2FkaW5nLW92ZXJsYXkuc2NzcyIsIml0Y3NzL2NvbXBvbmVudHMvaGVyby1iYWxhbmNlLnNjc3MiLCJpdGNzcy9jb21wb25lbnRzL3dhbGxldC1iYWxhbmNlLnNjc3MiLCJpdGNzcy9jb21wb25lbnRzL3RyYW5zYWN0aW9uLWxpc3Quc2NzcyIsIml0Y3NzL2NvbXBvbmVudHMvc2VjdGlvbnMuc2NzcyIsIml0Y3NzL2NvbXBvbmVudHMvdG9rZW4tbGlzdC5zY3NzIiwiaXRjc3MvY29tcG9uZW50cy9hZGQtdG9rZW4uc2NzcyIsIml0Y3NzL2NvbXBvbmVudHMvY3VycmVuY3ktZGlzcGxheS5zY3NzIiwiaXRjc3MvY29tcG9uZW50cy9hY2NvdW50LW1lbnUuc2NzcyIsIml0Y3NzL2NvbXBvbmVudHMvbWVudS5zY3NzIiwiaXRjc3MvY29tcG9uZW50cy9nYXMtc2xpZGVyLnNjc3MiLCJpdGNzcy9jb21wb25lbnRzL3NldHRpbmdzLnNjc3MiLCJpdGNzcy9jb21wb25lbnRzL3RhYi1iYXIuc2NzcyIsIml0Y3NzL2NvbXBvbmVudHMvc2ltcGxlLWRyb3Bkb3duLnNjc3MiLCJpdGNzcy9jb21wb25lbnRzL3JlcXVlc3Qtc2lnbmF0dXJlLnNjc3MiLCJpdGNzcy9jb21wb25lbnRzL2FjY291bnQtZHJvcGRvd24tbWluaS5zY3NzIiwiaXRjc3MvY29tcG9uZW50cy9lZGl0YWJsZS1sYWJlbC5zY3NzIiwiaXRjc3MvdHJ1bXBzL2luZGV4LnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbiAgSVRDU1NcblxuICBodHRwOi8vd3d3LmNyZWF0aXZlYmxvcS5jb20vd2ViLWRlc2lnbi9tYW5hZ2UtbGFyZ2UtY3NzLXByb2plY3RzLWl0Y3NzLTEwMTUxNzUyOFxuICBodHRwczovL3d3dy54Zml2ZS5jby9ibG9nL2l0Y3NzLXNjYWxhYmxlLW1haW50YWluYWJsZS1jc3MtYXJjaGl0ZWN0dXJlL1xuICovXG5AaW1wb3J0ICcuL2l0Y3NzL3NldHRpbmdzL2luZGV4LnNjc3MnO1xuQGltcG9ydCAnLi9pdGNzcy90b29scy9pbmRleC5zY3NzJztcbkBpbXBvcnQgJy4vaXRjc3MvZ2VuZXJpYy9pbmRleC5zY3NzJztcbkBpbXBvcnQgJy4vaXRjc3MvYmFzZS9pbmRleC5zY3NzJztcbkBpbXBvcnQgJy4vaXRjc3Mvb2JqZWN0cy9pbmRleC5zY3NzJztcbkBpbXBvcnQgJy4vaXRjc3MvY29tcG9uZW50cy9pbmRleC5zY3NzJztcbkBpbXBvcnQgJy4vaXRjc3MvdHJ1bXBzL2luZGV4LnNjc3MnO1xuIiwiQGltcG9ydCAnLi92YXJpYWJsZXMuc2Nzcyc7XG5cbkBpbXBvcnQgJy4vdHlwb2dyYXBoeS5zY3NzJztcbiIsIi8qXG4gIFZhcmlhYmxlc1xuICovXG5cbi8vIEJhc2UgQ29sb3JzXG4kd2hpdGU6ICNmZmY7XG4kYmxhY2s6ICMwMDA7XG4kb3JhbmdlOiAjZmZhNTAwO1xuJHJlZDogI2YwMDtcbiRncmF5OiAjODA4MDgwO1xuXG4vKlxuICBDb2xvcnNcbiAgaHR0cDovL2NoaXIuYWcvcHJvamVjdHMvbmFtZS10aGF0LWNvbG9yXG4gKi9cbiR3aGl0ZS1saW5lbjogI2ZhZjZmMDsgLy8gZm9ybWVybHkgJ2ZhaW50IG9yYW5nZSAodGV4dGZpZWxkIHNoYWRlcyknXG4kcmFqYWg6ICNmNWMyNmQ7IC8vIGZvcm1lcmx5ICdsaWdodCBvcmFuZ2UgKGJ1dHRvbiBzaGFkZXMpJ1xuJGJ1dHRlcmN1cDogI2Y1YTYyMzsgLy8gZm9ybWVybHkgJ2Rhcmsgb3JhbmdlICh0ZXh0KSdcbiR0dW5kb3JhOiAjNGE0YTRhOyAvLyBmb3JtZXJseSAnYm9yZGVycy9mb250L2FueSBncmF5J1xuJGdhbGxlcnk6ICNlZmVmZWY7XG4kYWxhYmFzdGVyOiAjZjdmN2Y3O1xuJHNoYXJrOiAjMjIyMzJjO1xuJHdpbGQtc2FuZDogI2Y2ZjZmNjtcbiR3aGl0ZTogI2ZmZjtcbiRkdXN0eS1ncmF5OiAjOWI5YjliO1xuJGFsdG86ICNkZWRlZGU7XG4kYWxhYmFzdGVyOiAjZmFmYWZhO1xuJHNpbHZlci1jaGFsaWNlOiAjYWVhZWFlO1xuJGN1cmlvdXMtYmx1ZTogIzJmOWFlMDtcbiRjb25jcmV0ZTogI2YzZjNmMztcbiR0dW5kb3JhOiAjNGQ0ZDRkO1xuJG5pbGUtYmx1ZTogIzFiMzQ0ZDtcbiRzY29ycGlvbjogIzVkNWQ1ZDtcbiRzaWx2ZXI6ICNjZGNkY2Q7XG4kY2FyaWJiZWFuLWdyZWVuOiAjMDJjOWIxO1xuJG1vbnpvOiAjZDAwMjFiO1xuJGNyaW1zb246ICNlOTE1NTA7XG4kYmx1ZS1sYWdvb246ICMwMzg3ODk7XG4kcHVycGxlOiAjNjkwNDk2O1xuJHR1bGlwLXRyZWU6ICNlYmIzM2Y7XG4kbWFsaWJ1LWJsdWU6ICM3YWM5ZmQ7XG4kYXRoZW5zLWdyZXk6ICNlOWVkZjA7XG4kamFmZmE6ICNmMjg5MzA7XG4kZ2V5c2VyOiAjZDJkOGRkO1xuXG4vKlxuICBaLUluZGljaWVzXG4gKi9cbiRkcm9wZG93bi16LWluZGV4OiAzMDtcbiR0b2tlbi1pY29uLXotaW5kZXg6IDE1O1xuJGNvbnRhaW5lci16LWluZGV4OiAxNTtcbiRoZWFkZXItei1pbmRleDogMTI7XG4kbW9iaWxlLWhlYWRlci16LWluZGV4OiAyNjtcbiRtYWluLWNvbnRhaW5lci16LWluZGV4OiAxODtcbiRzZW5kLWNhcmQtei1pbmRleDogMjA7XG4kc2lkZWJhci16LWluZGV4OiAyNjtcbiRzaWRlYmFyLW92ZXJsYXktei1pbmRleDogMjU7XG5cbi8qXG4gIFogSW5kaWNpZXMgLSBDdXJyZW50XG4gIGFwcCAtIDExXG4gIGhleC9ibiBhcyBkZWNpbWFsIGlucHV0IC0gMSAtIHJlbW92ZT9cbiAgZHJvcGRvd24gLSAxMVxuICBsb2FkaW5nIC0gMTAgLSBoaWdoZXI/XG4gIG1hc2NvdCAtIDAgLSByZW1vdmU/XG4gKi9cblxuLypcbiAgUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICovXG4kYnJlYWstc21hbGw6IDU3NXB4O1xuJGJyZWFrLW1pZHBvaW50OiA3ODBweDtcbiRicmVhay1sYXJnZTogNTc2cHg7XG5cblxuJHByaW1hcnktZm9udC10eXBlOiBSb2JvdG87XG5cbiIsIkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Um9ib3RvOjEwMCwzMDAsNDAwLDUwMCw3MDAsOTAwJyk7XG5cbkBpbXBvcnQgdXJsKCdodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjQuMC9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MnKTtcblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCBSZWd1bGFyJztcbiAgc3JjOiB1cmwoJy9mb250cy9Nb250c2VycmF0L01vbnRzZXJyYXQtUmVndWxhci53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gIHNyYzogdXJsKCcvZm9udHMvTW9udHNlcnJhdC9Nb250c2VycmF0LVJlZ3VsYXIudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogJ3NtYWxsJztcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCBCb2xkJztcbiAgc3JjOiB1cmwoJy9mb250cy9Nb250c2VycmF0L01vbnRzZXJyYXQtQm9sZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gIHNyYzogdXJsKCcvZm9udHMvTW9udHNlcnJhdC9Nb250c2VycmF0LUJvbGQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQgTGlnaHQnO1xuICBzcmM6IHVybCgnL2ZvbnRzL01vbnRzZXJyYXQvTW9udHNlcnJhdC1MaWdodC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gIHNyYzogdXJsKCcvZm9udHMvTW9udHNlcnJhdC9Nb250c2VycmF0LUxpZ2h0LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0IFVsdHJhTGlnaHQnO1xuICBzcmM6IHVybCgnL2ZvbnRzL01vbnRzZXJyYXQvTW9udHNlcnJhdC1VbHRyYUxpZ2h0LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgc3JjOiB1cmwoJy9mb250cy9Nb250c2VycmF0L01vbnRzZXJyYXQtVWx0cmFMaWdodC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRElOIE9UJztcbiAgc3JjOiB1cmwoJy9mb250cy9ESU5fT1QvRElOT1QtMi5vdGYnKSBmb3JtYXQoJ29wZW50eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRElOIE9UIExpZ2h0JztcbiAgc3JjOiB1cmwoJy9mb250cy9ESU5fT1QvRElOT1QtMi5vdGYnKSBmb3JtYXQoJ29wZW50eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiAyMDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRElOIE5FWFQnO1xuICBzcmM6IHVybCgnL2ZvbnRzL0RJTiBORVhUL0RJTiBORVhUIFcwMSBSZWd1bGFyLm90ZicpIGZvcm1hdCgnb3BlbnR5cGUnKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdESU4gTkVYVCBMaWdodCc7XG4gIHNyYzogdXJsKCcvZm9udHMvRElOIE5FWFQvRElOIE5FWFQgVzEwIExpZ2h0Lm90ZicpIGZvcm1hdCgnb3BlbnR5cGUnKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdMYXRvJztcbiAgc3JjOiB1cmwoJy9mb250cy9MYXRvL0xhdG8tUmVndWxhci50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbiIsIkBpbXBvcnQgJy4vdXRpbGl0aWVzLnNjc3MnO1xuIiwiLypcbiAgVXRpbGl0eSBDbGFzc2VzXG4gKi9cblxuLyogY29sb3IgKi9cblxuLmNvbG9yLW9yYW5nZSB7XG4gIGNvbG9yOiAjZjc4NjFjOyAvLyBUT0RPOiBtb3ZlIHRvIHNldHRpbmdzL3ZhcmlhYmxlc1xufVxuXG4uY29sb3ItZm9yZXN0IHtcbiAgY29sb3I6ICMwYTU0NDg7IC8vIFRPRE86IG1vdmUgdG8gc2V0dGluZ3MvdmFyaWFibGVzXG59XG5cbi8qIGxpYiAqL1xuXG4uZnVsbC1zaXplIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmZ1bGwtd2lkdGgge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmZ1bGwtZmxleC1oZWlnaHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxIDEgYXV0bztcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmZ1bGwtaGVpZ2h0IHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uZmxleC1jb2x1bW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uc3BhY2UtYmV0d2VlbiB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLnNwYWNlLWFyb3VuZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xufVxuXG4uZmxleC1jb2x1bW4tYm90dG9tIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xufVxuXG4uZmxleC1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuXG4uZmxleC1zcGFjZS1iZXR3ZWVuIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uZmxleC1zcGFjZS1hcm91bmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbn1cblxuLmZsZXgtcmlnaHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4uZmxleC1sZWZ0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4uZmxleC1maXhlZCB7XG4gIGZsZXg6IG5vbmU7XG59XG5cbi5mbGV4LWJhc2lzLWF1dG8ge1xuICBmbGV4LWJhc2lzOiBhdXRvO1xufVxuXG4uZmxleC1ncm93IHtcbiAgZmxleDogMSAxIGF1dG87XG59XG5cbi5mbGV4LXdyYXAge1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5mbGV4LWNlbnRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZmxleC1qdXN0aWZ5LWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uZmxleC1hbGlnbi1jZW50ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZmxleC1zZWxmLWVuZCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xufVxuXG4uZmxleC1zZWxmLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xufVxuXG4uZmxleC12ZXJ0aWNhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi56LWJ1bXAge1xuICB6LWluZGV4OiAxO1xufVxuXG4uc2VsZWN0LW5vbmUge1xuICBjdXJzb3I6IGluaGVyaXQ7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5wb2ludGVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY3Vyc29yLXBvaW50ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MG1zIGVhc2UtaW4tb3V0O1xufVxuXG4uY3Vyc29yLXBvaW50ZXI6aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG59XG5cbi5jdXJzb3ItcG9pbnRlcjphY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKC45NSk7XG59XG5cbi5jdXJzb3ItZGlzYWJsZWQge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4ubWFyZ2luLWJvdHRvbS1zbWwge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4ubWFyZ2luLWJvdHRvbS1tZWQge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuXG4ubWFyZ2luLXJpZ2h0LWxlZnQge1xuICBtYXJnaW46IDAgMjBweDtcbn1cblxuLmJvbGQge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4udGV4dC10cmFuc2Zvcm0tdXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmZvbnQtc21hbGwge1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbi5mb250LW1lZGl1bSB7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG59XG5cbmhyLmhvcml6b250YWwtbGluZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDFweDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgbWFyZ2luOiAxZW0gMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLmhvdmVyLXdoaXRlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xufVxuXG4ucmVkLWRvdCB7XG4gIGJhY2tncm91bmQ6ICNlOTE1NTA7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG59XG5cbi5kaWFtb25kIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICBiYWNrZ3JvdW5kOiAjMDM4Nzg5O1xufVxuXG4uaG9sbG93LWRpYW1vbmQge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIGJvcmRlcjogM3B4IHNvbGlkICM2OTA0OTY7XG59XG5cbi5nb2xkZW4tc3F1YXJlIHtcbiAgYmFja2dyb3VuZDogI2ViYjMzZjtcbn1cblxuLnBlbmRpbmctZG90IHtcbiAgYmFja2dyb3VuZDogJHJlZDtcbiAgbGVmdDogMTRweDtcbiAgdG9wOiAxNHB4O1xuICBjb2xvcjogJHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIG1pbi13aWR0aDogMjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogNHB4O1xuICB6LWluZGV4OiAxO1xufVxuXG4ua2V5cmluZy1sYWJlbCB7XG4gIHotaW5kZXg6IDE7XG4gIGZvbnQtc2l6ZTogOHB4O1xuICBsaW5lLWhlaWdodDogOHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBwYWRkaW5nOiA0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgaGVpZ2h0OiAxNXB4O1xufVxuXG4uZXRoZXItYmFsYW5jZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi50YWJTZWN0aW9uIHtcbiAgbWluLXdpZHRoOiAzNTBweDtcbn1cblxuLm1lbnUtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAxMnB4O1xuICBtaW4td2lkdGg6IDEycHg7XG4gIG1hcmdpbjogMTNweDtcbn1cblxuLmV0aGVyLWljb24ge1xuICBiYWNrZ3JvdW5kOiByZ2IoMCwgMTYzLCA2OCk7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG59XG5cbi50ZXN0bmV0LWljb24ge1xuICBiYWNrZ3JvdW5kOiAjMjQ2NWUxO1xufVxuXG4uZHJvcC1tZW51LWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4ub25lLWxpbmUtY29uY2F0IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jcml0aWNhbC1lcnJvciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgY29sb3I6ICRyZWQ7XG59XG5cbi8qXG4gIE1pc2NcbiAqL1xuXG4vLyBUT0RPOiBtb3ZlIGludG8gY29tcG9uZW50LWxldmVsIGNvbnRleHR1YWwgJ2FjdGl2ZScgc3RhdGVcbi5sZXR0ZXItc3BhY2V5IHtcbiAgbGV0dGVyLXNwYWNpbmc6IC4xZW07XG59XG5cbi5hY3RpdmUge1xuICBjb2xvcjogIzkwOTA5MDtcbn1cblxuLmNoZWNrIHtcbiAgbWFyZ2luLWxlZnQ6IDdweDtcbiAgY29sb3I6ICNmNzg2MWM7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuIiwiLypcbiAgR2VuZXJpY1xuICovXG5cbkBpbXBvcnQgJy4vcmVzZXQuc2Nzcyc7XG5cbioge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5odG1sLFxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIEFyaWFsO1xuICBjb2xvcjogIzRkNGQ0ZDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNGVtO1xuICBiYWNrZ3JvdW5kOiAjZjdmN2Y3O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmh0bWwge1xuICBtaW4taGVpZ2h0OiA1MDBweDtcbn1cblxuLmFwcC1yb290IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYXBwLXByaW1hcnkge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5pbnB1dDpmb2N1cyxcbnRleHRhcmVhOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiNhcHAtY29udGVudCB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1zbWFsbCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgfVxufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuXG5hIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuYTpob3ZlciB7XG4gIGNvbG9yOiAjZGY2YjBlO1xufVxuXG5pbnB1dC5sYXJnZS1pbnB1dCxcbnRleHRhcmVhLmxhcmdlLWlucHV0IHtcbiAgcGFkZGluZzogOHB4O1xufVxuXG5pbnB1dC5sYXJnZS1pbnB1dCB7XG4gIGhlaWdodDogMzZweDtcbn1cbiIsIi8qIGh0dHA6Ly9tZXllcndlYi5jb20vZXJpYy90b29scy9jc3MvcmVzZXQvXG4gICB2Mi4wIHwgMjAxMTAxMjZcbiAgIExpY2Vuc2U6IG5vbmUgKHB1YmxpYyBkb21haW4pXG4qL1xuXG5odG1sLFxuYm9keSxcbmRpdixcbnNwYW4sXG5hcHBsZXQsXG5vYmplY3QsXG5pZnJhbWUsXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wLFxuYmxvY2txdW90ZSxcbnByZSxcbmEsXG5hYmJyLFxuYWNyb255bSxcbmFkZHJlc3MsXG5iaWcsXG5jaXRlLFxuY29kZSxcbmRlbCxcbmRmbixcbmVtLFxuaW1nLFxuaW5zLFxua2JkLFxucSxcbnMsXG5zYW1wLFxuc21hbGwsXG5zdHJpa2UsXG5zdHJvbmcsXG5zdWIsXG5zdXAsXG50dCxcbnZhcixcbmIsXG51LFxuaSxcbmNlbnRlcixcbmRsLFxuZHQsXG5kZCxcbm9sLFxudWwsXG5saSxcbmZpZWxkc2V0LFxuZm9ybSxcbmxhYmVsLFxubGVnZW5kLFxudGFibGUsXG5jYXB0aW9uLFxudGJvZHksXG50Zm9vdCxcbnRoZWFkLFxudHIsXG50aCxcbnRkLFxuYXJ0aWNsZSxcbmFzaWRlLFxuY2FudmFzLFxuZGV0YWlscyxcbmVtYmVkLFxuZmlndXJlLFxuZmlnY2FwdGlvbixcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1lbnUsXG5uYXYsXG5vdXRwdXQsXG5ydWJ5LFxuc2VjdGlvbixcbnN1bW1hcnksXG50aW1lLFxubWFyayxcbmF1ZGlvLFxudmlkZW8ge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyogSFRNTDUgZGlzcGxheS1yb2xlIHJlc2V0IGZvciBvbGRlciBicm93c2VycyAqL1xuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1lbnUsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbmJvZHkge1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxub2wsXG51bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbmJsb2NrcXVvdGUsXG5xIHtcbiAgcXVvdGVzOiBub25lO1xufVxuXG5ibG9ja3F1b3RlOmJlZm9yZSxcbmJsb2NrcXVvdGU6YWZ0ZXIsXG5xOmJlZm9yZSxcbnE6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgY29udGVudDogbm9uZTtcbn1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxuYnV0dG9uIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbiIsIi8vIEJhc2VcbiIsIi8vIE9iamVjdHNcbiIsIkBpbXBvcnQgJy4vYnV0dG9ucy5zY3NzJztcblxuQGltcG9ydCAnLi9oZWFkZXIuc2Nzcyc7XG5cbkBpbXBvcnQgJy4vZm9vdGVyLnNjc3MnO1xuXG5AaW1wb3J0ICcuL25ldHdvcmsuc2Nzcyc7XG5cbkBpbXBvcnQgJy4vbW9kYWwuc2Nzcyc7XG5cbkBpbXBvcnQgJy4vbmV3dWktc2VjdGlvbnMuc2Nzcyc7XG5cbkBpbXBvcnQgJy4vYWNjb3VudC1kcm9wZG93bi5zY3NzJztcblxuQGltcG9ydCAnLi9zZW5kLnNjc3MnO1xuXG5AaW1wb3J0ICcuL2NvbmZpcm0uc2Nzcyc7XG5cbkBpbXBvcnQgJy4vbG9hZGluZy1vdmVybGF5LnNjc3MnO1xuXG4vLyBCYWxhbmNlc1xuQGltcG9ydCAnLi9oZXJvLWJhbGFuY2Uuc2Nzcyc7XG5cbkBpbXBvcnQgJy4vd2FsbGV0LWJhbGFuY2Uuc2Nzcyc7XG5cbi8vIFR4IExpc3QgYW5kIFNlY3Rpb25zXG5AaW1wb3J0ICcuL3RyYW5zYWN0aW9uLWxpc3Quc2Nzcyc7XG5cbkBpbXBvcnQgJy4vc2VjdGlvbnMuc2Nzcyc7XG5cbkBpbXBvcnQgJy4vdG9rZW4tbGlzdC5zY3NzJztcblxuQGltcG9ydCAnLi9hZGQtdG9rZW4uc2Nzcyc7XG5cbkBpbXBvcnQgJy4vY3VycmVuY3ktZGlzcGxheS5zY3NzJztcblxuQGltcG9ydCAnLi9hY2NvdW50LW1lbnUuc2Nzcyc7XG5cbkBpbXBvcnQgJy4vbWVudS5zY3NzJztcblxuQGltcG9ydCAnLi9nYXMtc2xpZGVyLnNjc3MnO1xuXG5AaW1wb3J0ICcuL3NldHRpbmdzLnNjc3MnO1xuXG5AaW1wb3J0ICcuL3RhYi1iYXIuc2Nzcyc7XG5cbkBpbXBvcnQgJy4vc2ltcGxlLWRyb3Bkb3duLnNjc3MnO1xuXG5AaW1wb3J0ICcuL3JlcXVlc3Qtc2lnbmF0dXJlLnNjc3MnO1xuXG5AaW1wb3J0ICcuL2FjY291bnQtZHJvcGRvd24tbWluaS5zY3NzJztcblxuQGltcG9ydCAnLi9lZGl0YWJsZS1sYWJlbC5zY3NzJztcbiIsIi8qXG4gIEJ1dHRvbnNcbiAqL1xuXG4uYnRuLWdyZWVuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAyYzliMTsgLy8gVE9ETzogcmV1c2FibGUgY29sb3IgaW4gY29sb3JzLmNzc1xufVxuXG5idXR0b24uYnRuLWNsZWFyIHtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZDtcbn1cblxuLy8gTm8gbG9uZ2VyIHVzZWQgaW4gZmxhdCBkZXNpZ24sIHJlbW92ZSB3aGVuIG1vZGFsIGJ1dHRvbnMgZG9uZVxuLy8gZGl2LndhbGxldC1idG4ge1xuLy8gICBib3JkZXI6IDFweCBzb2xpZCByZ2IoOTEsIDkzLCAxMDMpO1xuLy8gICBib3JkZXItcmFkaXVzOiAycHg7XG4vLyAgIGhlaWdodDogMzBweDtcbi8vICAgd2lkdGg6IDc1cHg7XG4vLyAgIGZvbnQtc2l6ZTogMC44ZW07XG4vLyAgIHRleHQtYWxpZ246IGNlbnRlcjtcbi8vICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4vLyB9XG5cbi8vIC5idG4tcmVkIHtcbi8vICAgYmFja2dyb3VuZDogcmdiYSgyNTQsIDM1LCAxNywgMSk7XG4vLyAgIGJveC1zaGFkb3c6IDBweCAzcHggNnB4IHJnYmEoMjU0LCAzNSwgMTcsIDAuMzYpO1xuLy8gfVxuXG5idXR0b25bZGlzYWJsZWRdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXVtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBvcGFjaXR5OiAuNTtcbiAgLy8gYmFja2dyb3VuZDogcmdiYSgxOTcsIDE5NywgMTk3LCAxKTtcbiAgLy8gYm94LXNoYWRvdzogMCAzcHggNnB4IHJnYmEoMTk3LCAxOTcsIDE5NywgLjM2KTtcbn1cblxuLy8gYnV0dG9uLnNwYWNlZCB7XG4vLyAgIG1hcmdpbjogMnB4O1xuLy8gfVxuXG4vLyBidXR0b246bm90KFtkaXNhYmxlZF0pOmhvdmVyLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOm5vdChbZGlzYWJsZWRdKTpob3ZlciB7XG4vLyAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbi8vIH1cbi8vIGJ1dHRvbjpub3QoW2Rpc2FibGVkXSk6YWN0aXZlLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOm5vdChbZGlzYWJsZWRdKTphY3RpdmUge1xuLy8gICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuLy8gfVxuXG5idXR0b24ucHJpbWFyeSB7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICBiYWNrZ3JvdW5kOiAjZjc4NjFjO1xuICBib3gtc2hhZG93OiAwIDNweCA2cHggcmdiYSgyNDcsIDEzNCwgMjgsIC4zNik7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGZvbnQtc2l6ZTogMS4xZW07XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG87XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5idG4tbGlnaHQge1xuICBwYWRkaW5nOiA4cHggMTJweDtcbiAgLy8gYmFja2dyb3VuZDogI0ZGRkZGRjsgLy8gJGJnLXdoaXRlXG4gIGJveC1zaGFkb3c6IDAgM3B4IDZweCByZ2JhKDI0NywgMTM0LCAyOCwgLjM2KTtcbiAgY29sb3I6ICM1ODVkNjc7IC8vIFRPRE86IG1ha2UgcmV1c2FibGUgbGlnaHQgYnV0dG9uIGNvbG9yXG4gIGZvbnQtc2l6ZTogMS4xZW07XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG87XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzk3OTc5NzsgLy8gI1RPRE86IG1ha2UgcmV1c2FibGUgbGlnaHQgYm9yZGVyIGNvbG9yXG4gIG9wYWNpdHk6IC41O1xufVxuXG4vLyBUT0RPOiBjbGVhbnVwOiBub3QgdXNlZCBhbnl3aGVyZVxuYnV0dG9uLmJ0bi10aGluIHtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci1jb2xvcjogIzRkNGQ0ZDtcbiAgY29sb3I6ICM0ZDRkNGQ7XG4gIGJhY2tncm91bmQ6IHJnYigyNTUsIDE3NCwgNDEpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIG1pbi13aWR0aDogMjAwcHg7XG4gIG1hcmdpbjogMTJweCAwO1xuICBwYWRkaW5nOiA2cHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cblxuLmJ0bi1zZWNvbmRhcnkge1xuICBib3JkZXI6IDFweCBzb2xpZCAjOTc5Nzk3O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgcGFkZGluZzogMTZweCA0MnB4O1xuXG4gICZbZGlzYWJsZWRdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICBvcGFjaXR5OiAuNTtcbiAgfVxufVxuXG4uYnRuLXRlcnRpYXJ5IHtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIHBhZGRpbmc6IDE2cHggNDJweDtcbn1cbiIsIi5hcHAtaGVhZGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgYmFja2dyb3VuZDogJGdhbGxlcnk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogJGhlYWRlci16LWluZGV4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgICBwYWRkaW5nOiAxMnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIC4wOCk7XG4gICAgei1pbmRleDogJG1vYmlsZS1oZWFkZXItei1pbmRleDtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gICAgaGVpZ2h0OiA3NXB4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMzJweDtcbiAgICAgIGJhY2tncm91bmQ6ICRnYWxsZXJ5O1xuICAgICAgYm90dG9tOiAtMzJweDtcbiAgICB9XG4gIH1cblxuICAubWV0YWZveC1pY29uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLmFwcC1oZWFkZXItY29udGVudHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNi45dmg7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkge1xuICAgIHdpZHRoOiA4NXZ3O1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICB3aWR0aDogODB2dztcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyODFweCkge1xuICAgIHdpZHRoOiA2NXZ3O1xuICB9XG59XG5cbi5hcHAtaGVhZGVyIGgxIHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMyMjIzMmM7IC8vICRzaGFya1xuICBsaW5lLWhlaWdodDogMjlweDtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuaDIucGFnZS1zdWJ0aXRsZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjYWVhZWFlO1xuICBmb250LXNpemU6IDFlbTtcbiAgbWFyZ2luOiAxMnB4O1xufVxuXG4ubmV0d29yay1jb21wb25lbnQtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5sZWZ0LW1lbnUtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmhlYWRlcl9fcmlnaHQtYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAuaWRlbnRpY29uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cbiIsIi5hcHAtZm9vdGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4iLCIubmV0d29yay1jb21wb25lbnQtLWRpc2FibGVkIHtcbiAgLy8gYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgLmZhLWNhcmV0LWRvd24ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLm5ldHdvcmstY29tcG9uZW50LnBvaW50ZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCAkc2hhcms7XG4gIGJvcmRlci1yYWRpdXM6IDgycHg7XG4gIHBhZGRpbmc6IDZweDtcbiAgZmxleDogMCAwIGF1dG87XG5cbiAgJi5ldGhlcmV1bS1uZXR3b3JrIHtcbiAgICBib3JkZXItY29sb3I6IHJnYigzLCAxMzUsIDEzNyk7XG5cbiAgICAubWVudS1pY29uLWNpcmNsZSBkaXYge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzLCAxMzUsIDEzNywgLjcpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgJi5yb3BzdGVuLXRlc3QtbmV0d29yayB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2IoMjMzLCAyMSwgODApO1xuXG4gICAgLm1lbnUtaWNvbi1jaXJjbGUgZGl2IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjMzLCAyMSwgODAsIC43KSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICYua292YW4tdGVzdC1uZXR3b3JrIHtcbiAgICBib3JkZXItY29sb3I6IHJnYigxMDUsIDQsIDE1MCk7XG5cbiAgICAubWVudS1pY29uLWNpcmNsZSBkaXYge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDUsIDQsIDE1MCwgLjcpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgJi5yaW5rZWJ5LXRlc3QtbmV0d29yayB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2IoMjM1LCAxNzksIDYzKTtcblxuICAgIC5tZW51LWljb24tY2lyY2xlIGRpdiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzNSwgMTc5LCA2MywgLjcpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi5kcm9wZG93bi1tZW51LWl0ZW0ge1xuICAubWVudS1pY29uLWNpcmNsZSxcbiAgLm1lbnUtaWNvbi1jaXJjbGUtLWFjdGl2ZSB7XG4gICAgbWFyZ2luOiAwIDE0cHg7XG4gIH1cbn1cblxuLm5ldHdvcmstaW5kaWNhdG9yIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC1zaXplOiAuNmVtO1xuXG4gIC5mYS1jYXJldC1kb3duIHtcbiAgICBsaW5lLWhlaWdodDogMTVweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgcGFkZGluZzogMCA0cHg7XG4gIH1cbn1cblxuLm5ldHdvcmstbmFtZSB7XG4gIGxpbmUtaGVpZ2h0OiAxNXB4O1xuICBwYWRkaW5nOiAwIDRweDtcbiAgZm9udC1mYW1pbHk6IFJvYm90bztcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmbGV4OiAxIDAgYXV0bztcbn1cblxuLm5ldHdvcmstZHJvcHBvIHtcbiAgcmlnaHQ6IDJweDtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkge1xuICAgIHJpZ2h0OiBjYWxjKCgoMTAwJSAtIDg1dncpIC8gMikgKyAycHgpO1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICByaWdodDogY2FsYygoKDEwMCUgLSA4MHZ3KSAvIDIpICsgMnB4KTtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyODFweCkge1xuICAgIHJpZ2h0OiBjYWxjKCgoMTAwJSAtIDY1dncpIC8gMikgKyAycHgpO1xuICB9XG59XG5cbi5uZXR3b3JrLW5hbWUtaXRlbSB7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBjb2xvcjogJGR1c3R5LWdyYXk7XG59XG5cbi5uZXR3b3JrLWNoZWNrLFxuLm5ldHdvcmstY2hlY2tfX3RyYW5zcGFyZW50IHtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgbWFyZ2luLWxlZnQ6IDdweDtcbn1cblxuLm5ldHdvcmstY2hlY2tfX3RyYW5zcGFyZW50IHtcbiAgb3BhY2l0eTogMDtcbiAgd2lkdGg6IDE2cHg7XG4gIG1hcmdpbjogMDtcbn1cblxuLm1lbnUtaWNvbi1jaXJjbGUsXG4ubWVudS1pY29uLWNpcmNsZS0tYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMjJweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDAgNHB4O1xufVxuXG4ubWVudS1pY29uLWNpcmNsZS0tYWN0aXZlIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDEwMCwgMTAwLCAxMDAsIC40KTtcbn1cblxuLm1lbnUtaWNvbi1jaXJjbGUgZGl2LFxuLm1lbnUtaWNvbi1jaXJjbGUtLWFjdGl2ZSBkaXYge1xuICBoZWlnaHQ6IDEycHg7XG4gIHdpZHRoOiAxMnB4O1xuICBib3JkZXItcmFkaXVzOiAxN3B4O1xufVxuXG4ubWVudS1pY29uLWNpcmNsZS0tYWN0aXZlIGRpdiB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5uZXR3b3JrLWRyb3Bkb3duLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ubmV0d29yay1kcm9wZG93bi1kaXZpZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IDEwcHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNjb3JwaW9uO1xufVxuXG4ubmV0d29yay1kcm9wZG93bi10aXRsZSB7XG4gIGhlaWdodDogMjVweDtcbiAgd2lkdGg6IDc1cHg7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG87XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm5ldHdvcmstZHJvcGRvd24tY29udGVudCB7XG4gIGhlaWdodDogMzZweDtcbiAgd2lkdGg6IDI2NXB4O1xuICBjb2xvcjogJGR1c3R5LWdyYXk7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG87XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG59XG5cbiIsIi5tb2RhbCA+IGRpdjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gQnV5IE1vZGFsXG4uYnV5LW1vZGFsLWNvbnRlbnQge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogUm9ib3RvO1xuICBwYWRkaW5nOiAwIDE2cHg7XG59XG5cbi5idXktbW9kYWwtY29udGVudC1vcHRpb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjNUI1RDY3O1xufVxuXG4ucXItZWxsaXAtYWRkcmVzcywgLmVsbGlwLWFkZHJlc3Mge1xuICB3aWR0aDogMjQ3cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgZm9udC1mYW1pbHk6IFJvYm90bztcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAuYnV5LW1vZGFsLWNvbnRlbnQtdGl0bGUtd3JhcHBlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgfVxuXG4gIC5idXktbW9kYWwtY29udGVudC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAyNnB4O1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gIH1cblxuICAuYnV5LW1vZGFsLWNvbnRlbnQtb3B0aW9ucyB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiA1JSAzMyU7XG4gIH1cblxuICAuYnV5LW1vZGFsLWNvbnRlbnQtZm9vdGVyIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNTBweDtcbiAgfVxuXG4gIGRpdi5idXktbW9kYWwtY29udGVudC1vcHRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB3aWR0aDogODB2dztcbiAgICBoZWlnaHQ6IDE1dmg7XG4gICAgbWFyZ2luOiAxMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xuICAgIHBhZGRpbmc6IDAlIDclO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgZGl2LmJ1eS1tb2RhbC1jb250ZW50LW9wdGlvbi10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuXG4gICAgZGl2LmJ1eS1tb2RhbC1jb250ZW50LW9wdGlvbi1zdWJ0aXRsZSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5idXktbW9kYWwtY29udGVudC10aXRsZS13cmFwcGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDExMHB4O1xuICB9XG5cbiAgLmJ1eS1tb2RhbC1jb250ZW50LXRpdGxlIHtcbiAgICBmb250LXNpemU6IDI2cHg7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgfVxuXG4gIC5idXktbW9kYWwtY29udGVudC1mb290ZXIge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICB9XG5cbiAgLmJ1eS1tb2RhbC1jb250ZW50LW9wdGlvbnMge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgbWFyZ2luOiAyMHB4IDAgNjBweDtcbiAgfVxuXG4gIGRpdi5idXktbW9kYWwtY29udGVudC1vcHRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB3aWR0aDogMjB2dztcbiAgICBoZWlnaHQ6IDEyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xuICAgIG1hcmdpbjogMCA4cHg7XG4gICAgcGFkZGluZzogMThweCAwO1xuXG4gICAgZGl2LmJ1eS1tb2RhbC1jb250ZW50LW9wdGlvbi10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NzlweCkge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyODFweCkge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZGl2LmJ1eS1tb2RhbC1jb250ZW50LW9wdGlvbi1zdWJ0aXRsZSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICBoZWlnaHQ6IDI1JTtcblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjc5cHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE1cHg7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4MHB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgcGFkZGluZzogMCA0cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI4MXB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBkaXYuYnV5LW1vZGFsLWNvbnRlbnQtZm9vdGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDh2aDtcbiAgICB9XG4gIH1cbn1cblxuLy8gRWRpdCBBY2NvdW50IE5hbWUgTW9kYWxcbi5lZGl0LWFjY291bnQtbmFtZS1tb2RhbC1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5lZGl0LWFjY291bnQtbmFtZS1tb2RhbC1jYW5jZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTJweDtcbiAgcmlnaHQ6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMjVweDtcbn1cblxuLmVkaXQtYWNjb3VudC1uYW1lLW1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luOiAxNXB4O1xufVxuXG4uZWRpdC1hY2NvdW50LW5hbWUtbW9kYWwtc2F2ZS1idXR0b24ge1xuICB3aWR0aDogMzMlO1xuICBoZWlnaHQ6IDQ1cHg7XG4gIG1hcmdpbjogMTVweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luLXRvcDogMjVweDtcbn1cblxuLmVkaXQtYWNjb3VudC1uYW1lLW1vZGFsLWlucHV0IHtcbiAgd2lkdGg6IDkwJTtcbiAgaGVpZ2h0OiA1MHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBtYXJnaW46IDEwcHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cblxuLy8gQWNjb3VudCBNb2RhbCBDb250YWluZXJcbi5hY2NvdW50LW1vZGFsLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiA1cHggMCAzMXB4IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRzaWx2ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZm9udC1mYW1pbHk6IFJvYm90bztcblxuICBidXR0b24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuXG4uYWNjb3VudC1tb2RhbC1iYWNrIHtcbiAgY29sb3I6ICRkdXN0eS1ncmF5O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTNweDtcbiAgbGVmdDogMTdweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICZfX3RleHQge1xuICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICBmb250LWZhbWlseTogUm9ib3RvO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMThweDtcbiAgfVxufVxuXG4uYWNjb3VudC1tb2RhbC1jbG9zZTo6YWZ0ZXIge1xuICBjb250ZW50OiAnXFwwMEQ3JztcbiAgZm9udC1zaXplOiA0MHB4O1xuICBjb2xvcjogJGR1c3R5LWdyYXk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMHB4O1xuICByaWdodDogMTJweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uYWNjb3VudC1tb2RhbC1jb250YWluZXIgLmlkZW50aWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0b3A6IC0zMnB4O1xuICBtYXJnaW4tYm90dG9tOiAtMzJweDtcbn1cblxuXG4vLyBBY2NvdW50IERldGFpbHMgTW9kYWxcblxuLmFjY291bnQtbW9kYWwtY29udGFpbmVyIHtcblxuICAucXItaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiA5cHg7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG5cbiAgLnFyLXdyYXBwZXIge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgfVxuXG4gIC5lbGxpcC1hZGRyZXNzLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGFsdG87XG4gICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgZm9udC1mYW1pbHk6IFJvYm90bztcbiAgICBtYXJnaW4tdG9wOiA3cHg7XG4gICAgd2lkdGg6IDI4NnB4O1xuICB9XG5cbiAgLmJ0bi1jbGVhciB7XG4gICAgbWluLWhlaWdodDogMjhweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VyaW91cy1ibHVlO1xuICAgIGNvbG9yOiAkY3VyaW91cy1ibHVlO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIHdpZHRoOiA3NSU7XG4gICAgbWFyZ2luLXRvcDogMTdweDtcbiAgICBwYWRkaW5nOiAxMHB4IDIycHg7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIHdpZHRoOiAyMzVweDtcbiAgICBmb250LWZhbWlseTogUm9ib3RvO1xuICB9XG59XG5cbi5hY2NvdW50LW1vZGFsLWRpdmlkZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogMTlweCAwIDhweCAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWx0bztcbn1cblxuLy8gRXhwb3J0IFByaXZhdGUgS2V5IE1vZGFsXG5cbi5hY2NvdW50LW1vZGFsLWNvbnRhaW5lciAuYWNjb3VudC1uYW1lIHtcbiAgbWFyZ2luLXRvcDogOXB4O1xuICBmb250LXNpemU6IDIwcHg7XG59XG5cbi5hY2NvdW50LW1vZGFsLWNvbnRhaW5lciAubW9kYWwtYm9keS10aXRsZSB7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cblxuLmFjY291bnQtbW9kYWxfX25hbWUge1xuICBtYXJnaW4tdG9wOiA5cHg7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cblxuLnByaXZhdGUta2V5LXBhc3N3b3JkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnByaXZhdGUta2V5LXBhc3N3b3JkLWxhYmVsLCAucHJpdmF0ZS1rZXktcGFzc3dvcmQtZXJyb3Ige1xuICBjb2xvcjogJHNjb3JwaW9uO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4ucHJpdmF0ZS1rZXktcGFzc3dvcmQtZXJyb3Ige1xuICBjb2xvcjogJGNyaW1zb247XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5wcml2YXRlLWtleS1wYXNzd29yZC1pbnB1dCB7XG4gIHBhZGRpbmc6IDEwcHggMCAxM3B4IDE3cHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gIHdpZHRoOiAyOTFweDtcbiAgaGVpZ2h0OiA0NHB4O1xufVxuXG4ucHJpdmF0ZS1rZXktcGFzc3dvcmQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogJGR1c3R5LWdyYXk7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG87XG59XG5cbi5wcml2YXRlLWtleS1wYXNzd29yZC13YXJuaW5nIHtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGNkY2O1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNXB4O1xuICBjb2xvcjogJGNyaW1zb247XG4gIHdpZHRoOiAyOTJweDtcbiAgcGFkZGluZzogOXB4IDE1cHg7XG4gIG1hcmdpbi10b3A6IDE4cHg7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG87XG59XG5cbi5leHBvcnQtcHJpdmF0ZS1rZXktYnV0dG9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIC5idG4tY2xlYXIge1xuICAgIHdpZHRoOiAxNDFweDtcbiAgICBoZWlnaHQ6IDU0cHg7XG4gIH1cblxuICAuYnRuLWNhbmNlbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgIGJvcmRlci1jb2xvcjogJGR1c3R5LWdyYXk7XG4gICAgY29sb3I6ICRzY29ycGlvbjtcbiAgfVxufVxuXG4ucHJpdmF0ZS1rZXktcGFzc3dvcmQtZGlzcGxheS13cmFwcGVyIHtcbiAgaGVpZ2h0OiA4MHB4O1xuICB3aWR0aDogMjkxcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRzaWx2ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbn1cblxuLnByaXZhdGUta2V5LXBhc3N3b3JkLWRpc3BsYXktdGV4dGFyZWEge1xuICBjb2xvcjogJGNyaW1zb247XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG87XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgaGVpZ2h0OiA3NXB4O1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcmVzaXplOiBub25lO1xuICBwYWRkaW5nOiA5cHggMTNweCA4cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cblxuLy8gTmV3IEFjY291bnQgTW9kYWxcbi5uZXctYWNjb3VudC1tb2RhbC13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRhbHRvO1xuICBib3gtc2hhZG93OiAwIDAgMnB4IDJweCAkYWx0bztcbiAgZm9udC1mYW1pbHk6IFJvYm90bztcbn1cblxuLm5ldy1hY2NvdW50LW1vZGFsLWhlYWRlciB7XG4gIGJhY2tncm91bmQ6ICR3aWxkLXNhbmQ7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMzBweDtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBjb2xvcjogJG5pbGUtYmx1ZTtcbiAgaGVpZ2h0OiA3OXB4O1xufVxuXG4ubW9kYWwtY2xvc2UteDo6YWZ0ZXIge1xuICBjb250ZW50OiAnXFwwMEQ3JztcbiAgZm9udC1zaXplOiAyZW07XG4gIGNvbG9yOiAkZHVzdHktZ3JheTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDI1cHg7XG4gIHJpZ2h0OiAxNy41cHg7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5uZXctYWNjb3VudC1tb2RhbC1jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuICBmb250LXNpemU6IDE3cHg7XG4gIGNvbG9yOiAkbmlsZS1ibHVlO1xufVxuXG4ubmV3LWFjY291bnQtbW9kYWwtY29udGVudC5hZnRlci1pbnB1dCB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4O1xufVxuXG4ubmV3LWFjY291bnQtaW5wdXQtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZy1ib3R0b206IDJweDtcbiAgbWFyZ2luLXRvcDogMTNweDtcbn1cblxuLm5ldy1hY2NvdW50LWlucHV0IHtcbiAgcGFkZGluZzogMTVweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm9yZGVyOiAxcHggc29saWQgJGFsdG87XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDFlbTtcbiAgY29sb3I6ICRkdXN0eS1ncmF5O1xuICBmb250LWZhbWlseTogUm9ib3RvO1xuICBmb250LXNpemU6IDE3cHg7XG4gIG1hcmdpbjogMCA2MHB4O1xufVxuXG4vLyBGb3IgcmVmZXJlbmNlIG9uIGJlbG93IHBsYWNlaG9sZGVyIHNlbGVjdG9yczogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMjYxMDQ5Ny9jaGFuZ2UtYW4taHRtbDUtaW5wdXRzLXBsYWNlaG9sZGVyLWNvbG9yLXdpdGgtY3NzXG4ubmV3LWFjY291bnQtaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogJGR1c3R5LWdyYXk7XG59XG5cbi5uZXctYWNjb3VudC1pbnB1dDotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICRkdXN0eS1ncmF5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubmV3LWFjY291bnQtaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIge1xuICBjb2xvcjogJGR1c3R5LWdyYXk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5uZXctYWNjb3VudC1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogJGR1c3R5LWdyYXk7XG59XG5cbi5uZXctYWNjb3VudC1pbnB1dDo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICRkdXN0eS1ncmF5O1xufVxuXG4ubmV3LWFjY291bnQtbW9kYWwtY29udGVudC5idXR0b24ge1xuICBtYXJnaW4tdG9wOiAyMnB4O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB3aWR0aDogMTEzcHg7XG4gIGhlaWdodDogNDRweDtcbn1cblxuLm5ldy1hY2NvdW50LW1vZGFsLXdyYXBwZXIgLmJ0bi1jbGVhciB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBjb2xvcjogJHR1bmRvcmE7XG4gIGZsZXg6IDE7XG59XG5cbi8vIEhpZGUgdG9rZW4gY29uZmlybWF0aW9uXG5cbi5oaWRlLXRva2VuLWNvbmZpcm1hdGlvbiB7XG4gIG1pbi1oZWlnaHQ6IDI1MC43MnB4O1xuICB3aWR0aDogMzc0LjQ5cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgYm94LXNoYWRvdzogMCAxcHggN3B4IDAgcmdiYSgwLDAsMCwwLjUpO1xuXG4gICZfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMjRweCAyN3B4IDIxcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAmX19pZGVudGljb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHhcbiAgfVxuXG4gICZfX3N5bWJvbCB7XG4gICAgY29sb3I6ICR0dW5kb3JhO1xuICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiA3LjVweDtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgd2lkdGg6IDI3MS4yOHB4O1xuICAgIGNvbG9yOiAkdHVuZG9yYTtcbiAgICBmb250LWZhbWlseTogUm9ib3RvO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMTAuNXB4O1xuICB9XG5cbiAgJl9fY29weSB7XG4gICAgaGVpZ2h0OiA0MXB4O1xuICAgIHdpZHRoOiAzMThweDtcbiAgICBjb2xvcjogJHNjb3JwaW9uO1xuICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gICZfX2J1dHRvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIGhlaWdodDogNDRweDtcbiAgICAgIHdpZHRoOiAxMTNweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRzY29ycGlvbjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgIGNvbG9yOiAkdHVuZG9yYTtcbiAgICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICB9XG4gIH1cbn1cbiIsIi8qXG4gIE5ld1VJIENvbnRhaW5lciBFbGVtZW50c1xuICovXG5cbi8vIENvbXBvbmVudCBDb2xvcnNcbiR0eC12aWV3LWJnOiAkd2hpdGU7XG4kd2FsbGV0LXZpZXctYmc6ICR3aWxkLXNhbmQ7XG5cbi8vIE1haW4gY29udGFpbmVyXG4ubWFpbi1jb250YWluZXIge1xuICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICRtYWluLWNvbnRhaW5lci16LWluZGV4O1xuICBmb250LWZhbWlseTogUm9ib3RvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuXG4ubWFpbi1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gdHggdmlld1xuXG4udHgtdmlldyB7XG4gIGZsZXg6IDYzLjUgMCA2Ni41JTtcbiAgYmFja2dyb3VuZDogJHR4LXZpZXctYmc7XG5cbiAgLy8gTm8gdGl0bGUgb24gbW9iaWxlXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gICAgLmlkZW50aWNvbi13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmFjY291bnQtbmFtZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyB3YWxsZXQgdmlldyBhbmQgc2lkZWJhclxuXG4ud2FsbGV0LXZpZXcge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4OiAzMy41IDEgMzMuNSU7XG4gIHdpZHRoOiAwO1xuICBiYWNrZ3JvdW5kOiAkd2FsbGV0LXZpZXctYmc7XG4gIHotaW5kZXg6IDIwMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgfVxuXG4gIC53YWxsZXQtdmlldy1hY2NvdW50LWRldGFpbHMge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG5cbiAgJl9fbmFtZS1jb250YWluZXIge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICZfX2tleXJpbmctbGFiZWwge1xuICAgIGhlaWdodDogNDBweDtcbiAgICBjb2xvcjogJGR1c3R5LWdyYXk7XG4gICAgZm9udC1mYW1pbHk6IFJvYm90bztcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICB9XG5cbiAgJl9fZGV0YWlscy1idXR0b24ge1xuICAgIGNvbG9yOiAkY3VyaW91cy1ibHVlO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBsaW5lLWhlaWdodDogMTNweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGN1cmlvdXMtYmx1ZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMC41cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogNHB4IDEycHg7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cblxuICAmX19hZGRyZXNzIHtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFsdG87XG4gICAgY29sb3I6ICRzY29ycGlvbjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgcGFkZGluZzogNHB4IDEycHg7XG4gICAgbWFyZ2luOiAyNHB4IGF1dG87XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cblxuICAmX19zaWRlYmFyLWNsb3NlIHtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXDAwRDcnO1xuICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgIGNvbG9yOiAkdHVuZG9yYTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEycHg7XG4gICAgICAgIGxlZnQ6IDEycHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19hZGQtdG9rZW4tYnV0dG9uIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBjb2xvcjogJGR1c3R5LWdyYXk7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDM2cHggYXV0bztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZHVzdHktZ3JheTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHBhZGRpbmc6IDlweCAzMHB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC53YWxsZXQtdmlldzo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLndhbGxldC12aWV3LXRpdGxlLXdyYXBwZXIge1xuICBmbGV4OiAwIDAgMjVweDtcbn1cblxuLndhbGxldC12aWV3LXRpdGxlIHtcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcblxuICAvLyBObyB0aXRsZSBvbiBtb2JpbGVcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi53YWxsZXQtdmlldy5zaWRlYmFyIHtcbiAgZmxleDogMSAwIDIzMHB4O1xuICBiYWNrZ3JvdW5kOiByZ2IoMjUwLCAyNTAsIDI1MCk7XG4gIHotaW5kZXg6ICRzaWRlYmFyLXotaW5kZXg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA1NnB4O1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBib3gtc2hhZG93OiByZ2JhKDAsIDAsIDAsIC4xNSkgMnB4IDJweCA0cHg7XG4gIHdpZHRoOiA4NSU7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gNTZweCk7XG59XG5cbi5zaWRlYmFyLW92ZXJsYXkge1xuICB6LWluZGV4OiAkc2lkZWJhci1vdmVybGF5LXotaW5kZXg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgLy8gdG9wOiA0MXB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4zKTtcbn1cblxuLy8gbWFpbi1jb250YWluZXIgbWVkaWEgcXVlcmllc1xuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkge1xuICAubGFwLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICAucGhvbmUtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5tYWluLWNvbnRhaW5lciB7XG4gICAgLy8gbWFyZ2luLXRvcDogNi45dmg7XG4gICAgd2lkdGg6IDg1JTtcbiAgICBoZWlnaHQ6IDkwdmg7XG4gICAgYm94LXNoYWRvdzogMCAwIDdweCAwIHJnYmEoMCwgMCwgMCwgLjA4KTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAubWFpbi1jb250YWluZXIge1xuICAgIC8vIG1hcmdpbi10b3A6IDYuOXZoO1xuICAgIHdpZHRoOiA4MCU7XG4gICAgaGVpZ2h0OiA4MnZoO1xuICAgIGJveC1zaGFkb3c6IDAgMCA3cHggMCByZ2JhKDAsIDAsIDAsIC4wOCk7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI4MXB4KSB7XG4gIC5tYWluLWNvbnRhaW5lciB7XG4gICAgLy8gbWFyZ2luLXRvcDogNi45dmg7XG4gICAgd2lkdGg6IDY1JTtcbiAgICBoZWlnaHQ6IDgydmg7XG4gICAgYm94LXNoYWRvdzogMCAwIDdweCAwIHJnYmEoMCwgMCwgMCwgLjA4KTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAubGFwLXZpc2libGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAucGhvbmUtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIC5tYWluLWNvbnRhaW5lciB7XG4gICAgLy8gbWFyZ2luLXRvcDogNDFweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIH1cblxuICBidXR0b24uYnRuLWNsZWFyIHtcbiAgICB3aWR0aDogOTNweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgZm9udC1zaXplOiAuN2VtO1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgfVxufVxuXG4vLyB3YWxsZXQgdmlld1xuLmFjY291bnQtbmFtZSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGNvbG9yOiAkc2NvcnBpb247XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwIDhweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vLyBhY2NvdW50IG9wdGlvbnMgZHJvcGRvd25cbi5hY2NvdW50LW9wdGlvbnMtbWVudSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgbWFyZ2luOiA1JSA3JSAwJTtcbn1cblxuLmZpYXQtYW1vdW50IHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnRva2VuLWJhbGFuY2VfX2Ftb3VudCB7XG4gIHBhZGRpbmctcmlnaHQ6IDZweDtcbn1cbiIsIi5hY2NvdW50LWRyb3Bkb3duLW5hbWUge1xuICBmb250LWZhbWlseTogUm9ib3RvO1xufVxuXG4uYWNjb3VudC1kcm9wZG93bi1iYWxhbmNlIHtcbiAgY29sb3I6ICRkdXN0eS1ncmF5O1xuICBsaW5lLWhlaWdodDogMTlweDtcbn1cblxuLmFjY291bnQtZHJvcGRvd24tZWRpdC1idXR0b24ge1xuICBjb2xvcjogJGR1c3R5LWdyYXk7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG87XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxufVxuXG4uYWNjb3VudC1saXN0LWl0ZW0ge1xuICAmX190b3Atcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAmX19hY2NvdW50LWJhbGFuY2VzIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjOWI5YjliO1xuICAgIG1hcmdpbi1sZWZ0OiAzNHB4O1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgXG4gICZfX2FjY291bnQtbmFtZSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gIH1cblxuICAmX19pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEycHg7XG4gICAgdG9wOiAxcHg7XG4gIH1cblxuICAmX19hY2NvdW50LXByaW1hcnktYmFsYW5jZSxcbiAgJl9fYWNjb3VudC1zZWNvbmRhcnktYmFsYW5jZSB7XG4gICAgZm9udC1mYW1pbHk6IFJvYm90bztcbiAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgfVxuXG4gICZfX2FjY291bnQtcHJpbWFyeS1iYWxhbmNlIHtcbiAgICBjb2xvcjogJHNjb3JwaW9uO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmX19hY2NvdW50LXNlY29uZGFyeS1iYWxhbmNlIHtcbiAgICBjb2xvcjogJGR1c3R5LWdyYXk7XG4gIH1cblxuICAmX19hY2NvdW50LWFkZHJlc3Mge1xuICAgIG1hcmdpbi1sZWZ0OiAzNXB4O1xuICAgIHdpZHRoOiA4MCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxuXG4gICZfX2Ryb3Bkb3duIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGFsdG8sIC4yKTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgaW5wdXQge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRhbHRvLCAuMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuc2VuZC1zY3JlZW4td3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgei1pbmRleDogMjU7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG87XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLXNtYWxsKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxuXG4gIHNlY3Rpb24ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG59XG5cbi5zZW5kLXNjcmVlbi1jYXJkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgwLCAwLCAwLCAuMDgpO1xuICBwYWRkaW5nOiA0NnB4IDQwLjVweCAyNnB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIHRvcDogLTI2cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgd2lkdGg6IDQ5OHB4O1xuICBmbGV4OiAxIDAgYXV0bztcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstc21hbGwpIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBwYWRkaW5nOiAxMnB4O1xuICB9XG59XG5cbi8qIFNlbmQgU2NyZWVuICovXG5cbi5zZW5kLXNjcmVlbiBzZWN0aW9uIHtcbiAgbWFyZ2luOiA0cHggMTZweDtcbn1cblxuLnNlbmQtc2NyZWVuIGlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLnNlbmQtZXRoLWljb24ge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHdpZHRoOiA3MHB4O1xuICBoZWlnaHQ6IDcwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRhbHRvO1xuICBib3gtc2hhZG93OiAwIDAgNHB4IDAgcmdiYSgwLCAwLCAwLCAuMik7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzVweDtcbiAgei1pbmRleDogMjU7XG4gIHBhZGRpbmc6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1zbWFsbCkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gIH1cbn1cblxuLnNlbmQtc2NyZWVuLWlucHV0LXdyYXBwZXIge1xuICB3aWR0aDogOTUlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLmZhLWJvbHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcbiAgfVxuXG4gIC5sYXJnZS1pbnB1dCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGR1c3R5LWdyYXk7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIG1hcmdpbjogNHB4IDAgMjBweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIyLjRweDtcbiAgICBmb250LWZhbWlseTogUm9ib3RvO1xuICB9XG5cbiAgLnNlbmQtc2NyZWVuLWdhcy1pbnB1dCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmX19lcnJvci1tZXNzYWdlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJi0tZXJyb3Ige1xuICAgIGlucHV0LFxuICAgIC5zZW5kLXNjcmVlbi1nYXMtaW5wdXQge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkcmVkICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNlbmQtc2NyZWVuLWlucHV0LXdyYXBwZXJfX2Vycm9yLW1lc3NhZ2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDRweDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICAgICAgbGVmdDogOHB4O1xuICAgICAgY29sb3I6ICRyZWQ7XG4gICAgfVxuICB9XG5cbiAgLnNlbmQtc2NyZWVuLWlucHV0LXdyYXBwZXJfX2Vycm9yLW1lc3NhZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDRweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgbGVmdDogOHB4O1xuICAgIGNvbG9yOiAkcmVkO1xuICB9XG59XG5cbi5zZW5kLXNjcmVlbi1pbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc2VuZC1zY3JlZW4tZ2FzLWlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDFweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzO1xuICBib3JkZXItd2lkdGg6IDA7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEycHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6ICRzY29ycGlvbjtcbn1cblxuLnNlbmQtc2NyZWVuLWFtb3VudC1sYWJlbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5zZW5kLXNjcmVlbi1nYXMtbGFiZWxzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uY3VycmVuY3ktdG9nZ2xlIHtcbiAgJl9faXRlbSB7XG4gICAgY29sb3I6ICRjdXJpb3VzLWJsdWU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJi0tc2VsZWN0ZWQge1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG4gIH1cbn1cblxuLnNlbmQtc2NyZWVuLWdhcy1pbnB1dC1jdXN0b21pemUge1xuICBjb2xvcjogJGN1cmlvdXMtYmx1ZTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5nYXMtdG9vbHRpcC1jbG9zZS1hcmVhIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5jdXN0b21pemUtZ2FzLXRvb2x0aXAtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDUwcHg7XG4gIHdpZHRoOiAyMzdweDtcbiAgaGVpZ2h0OiAzMDdweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBvcGFjaXR5OiAxO1xuICBib3gtc2hhZG93OiAkYWx0byAwIDAgNXB4O1xuICB6LWluZGV4OiAxMDUwO1xuICBwYWRkaW5nOiAxM3B4IDE5cHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LWZhbWlseTogXCJMYXRvXCI7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5nYXMtdG9vbHRpcC1hcnJvdyB7XG4gIGhlaWdodDogMjVweDtcbiAgd2lkdGg6IDI1cHg7XG4gIHotaW5kZXg6IDEyMDA7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIGxlZnQ6IDEwN3B4O1xuICB0b3A6IDI5NHB4O1xuICBib3gtc2hhZG93OiAycHggMnB4IDJweCAkYWx0bztcbn1cblxuLmN1c3RvbWl6ZS1nYXMtdG9vbHRpcC1jb250YWluZXIgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmN1c3RvbWl6ZS1nYXMtdG9vbHRpcC1jb250YWluZXIgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpob3Zlcjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmN1c3RvbWl6ZS1nYXMtdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmdhcy10b29sdGlwIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5nYXMtdG9vbHRpcC1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6ICR0dW5kb3JhO1xufVxuXG4uZ2FzLXRvb2x0aXAtaGVhZGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDEycHg7XG59XG5cbi5nYXMtdG9vbHRpcC1pbnB1dC1sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLmdhcy10b29sdGlwLWlucHV0LWxhYmVsIGkge1xuICBjb2xvcjogJHNpbHZlci1jaGFsaWNlO1xuICBtYXJnaW4tbGVmdDogNnB4O1xufVxuXG4uY3VzdG9taXplLWdhcy1pbnB1dCB7XG4gIHdpZHRoOiAxNzhweDtcbiAgaGVpZ2h0OiAyOHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAkYWx0bztcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogJG5pbGUtYmx1ZTtcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG59XG5cbi5jdXN0b21pemUtZ2FzLWlucHV0LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5nYXMtdG9vbHRpcC1pbnB1dC1kZXRhaWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNHB4O1xuICByaWdodDogMjZweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogJHNpbHZlci1jaGFsaWNlO1xufVxuXG4uZ2FzLXRvb2x0aXAtaW5wdXQtYXJyb3dzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiA0cHg7XG4gIHdpZHRoOiAxN3B4O1xuICBoZWlnaHQ6IDI4cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkYWRhZGE7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBjb2xvcjogIzliOWI5YjtcbiAgZm9udC1zaXplOiAuOGVtO1xuICBwYWRkaW5nOiAxcHggNHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi50b2tlbi1nYXMge1xuICAmX19hbW91bnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgfVxuXG4gICZfX3N5bWJvbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi5zZW5kLXNjcmVlbiB7XG4gICZfX3RpdGxlIHtcbiAgICBjb2xvcjogJHNjb3JwaW9uO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjlweDtcbiAgfVxuXG4gICZfX3N1YnRpdGxlIHtcbiAgICBtYXJnaW46IDEwcHggMCAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgfVxuXG4gICZfX3NlbmQtYnV0dG9uLFxuICAmX19jYW5jZWwtYnV0dG9uIHtcbiAgICB3aWR0aDogMTYzcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgJl9fc2VuZC1idXR0b25fX2Rpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAuNTtcbiAgICBjdXJzb3I6IGF1dG87XG4gIH1cbn1cblxuLnNlbmQtdG9rZW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gIHotaW5kZXg6IDI1O1xuICBmb250LWZhbWlseTogUm9ib3RvO1xuXG4gICZfX2NvbnRlbnQge1xuICAgIHdpZHRoOiA0OThweDtcbiAgICBoZWlnaHQ6IDYwNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgwLCAwLCAwLCAuMDgpO1xuICAgIHBhZGRpbmc6IDQ2cHggNDAuNXB4IDI2cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vIHRvcDogLTI2cHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICBmbGV4OiAxIDAgYXV0bztcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1zbWFsbCkge1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgcGFkZGluZzogMTJweDtcbiAgICB9XG4gIH1cblxuICAuaWRlbnRpY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMzVweDtcbiAgICB6LWluZGV4OiAyNTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1zbWFsbCkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAwO1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIGNvbG9yOiAkc2NvcnBpb247XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyOXB4O1xuICB9XG5cbiAgJl9fZGVzY3JpcHRpb24sXG4gICZfX2JhbGFuY2UtdGV4dCxcbiAgJl9fdG9rZW4tc3ltYm9sIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAmX190b2tlbi1iYWxhbmNlIHtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgbWFyZ2luLXRvcDogMTNweDtcblxuICAgIC50b2tlbi1iYWxhbmNlX19hbW91bnQge1xuICAgICAgcGFkZGluZy1yaWdodDogMTJweDtcbiAgICB9XG4gIH1cblxuICAmX19idXR0b24tZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleDogMCAwIGF1dG87XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstc21hbGwpIHtcbiAgICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgfVxuXG4gICAgYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxNjNweDtcbiAgICB9XG4gIH1cbn1cblxuLmNvbmZpcm0tc2VuZC10b2tlbiB7XG4gICZfX2hlcm8tYW1vdW50LXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5zZW5kLXYyIHtcbiAgJl9fY29udGFpbmVyIHtcbiAgICAvLyBoZWlnaHQ6IDcwMXB4O1xuICAgIHdpZHRoOiAzODBweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoMCwgMCwgMCwgLjA4KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICB6LWluZGV4OiAyNTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLXNtYWxsKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB9XG4gIH1cblxuICAmX19zZW5kLWhlYWRlci1pY29uLWNvbnRhaW5lciB7XG4gICAgei1pbmRleDogMjU7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstc21hbGwpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMDtcbiAgICB9XG4gIH1cblxuICAmX19zZW5kLWhlYWRlci1pY29uIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgd2lkdGg6IDQ4cHg7XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRhbHRvO1xuICAgIHotaW5kZXg6IDI1O1xuICAgIHBhZGRpbmc6IDRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIH1cblxuICAmX19zZW5kLWFycm93LWljb24ge1xuICAgIGNvbG9yOiAjZjI4OTMwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTJweDtcbiAgICBsZWZ0OiAwO1xuICAgIGZvbnQtc2l6ZTogMS4xMmVtO1xuICB9XG5cbiAgJl9fYXJyb3ctYmFja2dyb3VuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGhlaWdodDogMTRweDtcbiAgICB3aWR0aDogMTRweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MnB4O1xuICAgIGxlZnQ6IDE5OXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB6LWluZGV4OiAxMDA7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstc21hbGwpIHtcbiAgICAgIHRvcDogMzZweDtcbiAgICB9XG4gIH1cblxuICAmX19oZWFkZXIge1xuICAgIGhlaWdodDogODhweDtcbiAgICB3aWR0aDogMzgwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGF0aGVucy1ncmV5O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstc21hbGwpIHtcbiAgICAgIGhlaWdodDogNTlweDtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICB9XG4gIH1cblxuICAmX19oZWFkZXItdGlwIHtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgYmFja2dyb3VuZDogJGF0aGVucy1ncmV5O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgbGVmdDogMTc4cHg7XG4gICAgdG9wOiA3NXB4O1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLXNtYWxsKSB7XG4gICAgICB0b3A6IDQ2cHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgY29sb3I6ICRzY29ycGlvbjtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbGluZS1oZWlnaHQ6IDI5cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gIH1cblxuICAmX19jb3B5IHtcbiAgICBjb2xvcjogJGdyYXk7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGluZS1oZWlnaHQ6IDE5cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgd2lkdGg6IDI4N3B4O1xuICB9XG5cbiAgJl9fZXJyb3Ige1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgICBsZWZ0OiA4cHg7XG4gICAgY29sb3I6ICRyZWQ7XG4gIH1cblxuICAmX19lcnJvci1ib3JkZXIge1xuICAgIGNvbG9yOiAkcmVkO1xuICB9XG5cbiAgJl9fZm9ybSB7XG4gICAgbWFyZ2luOiAxM3B4IDA7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstc21hbGwpIHtcbiAgICAgIHBhZGRpbmc6IDEzcHggMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB9XG4gIH1cblxuICAmX19mb3JtLWhlYWRlcixcbiAgJl9fZm9ybS1oZWFkZXItY29weSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgJl9fZm9ybS1yb3cge1xuICAgIG1hcmdpbjogMTQuNXB4IDE4cHggMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93O1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gICZfX2Zvcm0tZmllbGQge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgJl9fZm9ybS1sYWJlbCB7XG4gICAgY29sb3I6ICRzY29ycGlvbjtcbiAgICBmb250LWZhbWlseTogUm9ib3RvO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICB3aWR0aDogODhweDtcbiAgfVxuXG4gICZfX2Zyb20tZHJvcGRvd24ge1xuICAgIGhlaWdodDogNzNweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYWx0bztcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiAkdHVuZG9yYTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmX19jbG9zZS1hcmVhIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiAxMDAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICAgIFxuICAgICZfX2xpc3Qge1xuICAgICAgei1pbmRleDogMTA1MDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGhlaWdodDogMjIwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRnZXlzZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBib3gtc2hhZG93OiAwIDNweCA2cHggMCByZ2JhKDAgLDAgLDAgLC4xMSk7XG4gICAgICBtYXJnaW4tdG9wOiAxMXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgfVxuICB9XG5cbiAgJl9fdG8tYXV0b2NvbXBsZXRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmX19kb3duLWNhcmV0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMThweDtcbiAgICAgIHJpZ2h0OiAxMnB4O1xuICAgIH1cbiAgfVxuXG4gICZfX3RvLWF1dG9jb21wbGV0ZSwgJl9fbWVtby10ZXh0LWFyZWEge1xuICAgICZfX2lucHV0IHtcbiAgICAgIGhlaWdodDogNTRweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGFsdG87XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBjb2xvcjogJGR1c3R5LWdyYXk7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgZm9udC1mYW1pbHk6IFJvYm90bztcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB9XG4gIH1cblxuICAmX19hbW91bnQtbWF4IHtcbiAgICBjb2xvcjogJGN1cmlvdXMtYmx1ZTtcbiAgICBmb250LWZhbWlseTogUm9ib3RvO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsZWZ0OiA4cHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICZfX2dhcy1mZWUtZGlzcGxheSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmX19zbGlkZXJzLWljb24tY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjdXJpb3VzLWJsdWU7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxNXB4O1xuICAgIHRvcDogMTRweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmX19zbGlkZXJzLWljb24ge1xuICAgIGNvbG9yOiAkY3VyaW91cy1ibHVlO1xuICB9XG5cbiAgJl9fbWVtby10ZXh0LWFyZWEge1xuICAgICZfX2lucHV0IHtcbiAgICAgIHBhZGRpbmc6IDZweCAxMHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2Zvb3RlciB7XG4gICAgaGVpZ2h0OiA5MnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGFsdG87XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIHBhZGRpbmc6IDAgMTJweDtcbiAgfVxuXG4gICZfX25leHQtYnRuLFxuICAmX19jYW5jZWwtYnRuLFxuICAmX19uZXh0LWJ0bl9fZGlzYWJsZWQge1xuICAgIHdpZHRoOiAxNjNweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiA1NXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1mYW1pbHk6IFJvYm90bztcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsaW5lLWhlaWdodDogMjFweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICBtYXJnaW46IDAgNHB4O1xuICB9XG5cbiAgJl9fbmV4dC1idG4sXG4gICZfX25leHQtYnRuX19kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRjdXJpb3VzLWJsdWU7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VyaW91cy1ibHVlO1xuICB9XG5cbiAgJl9fbmV4dC1idG5fX2Rpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAuNTtcbiAgICBjdXJzb3I6IGF1dG87XG4gIH1cblxuICAmX19jYW5jZWwtYnRuIHtcbiAgICBjb2xvcjogJGR1c3R5LWdyYXk7XG4gICAgYm9yZGVyLWNvbG9yOiAkZHVzdHktZ3JheTtcbiAgfVxuXG4gICZfX2N1c3RvbWl6ZS1nYXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNEOEQ4RDg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgwLDAsMCwwLjE0KTtcbiAgICBmb250LWZhbWlseTogUm9ib3RvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW47XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstc21hbGwpIHtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgfVxuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgIGhlaWdodDogNTJweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYWx0bztcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgZm9udC1zaXplOiAyMnB4O1xuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstc21hbGwpIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDE5LjI1cHg7XG4gICAgfVxuXG4gICAgJl9fY2xvc2U6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwRDcnO1xuICAgICAgZm9udC1zaXplOiAxLjhlbTtcbiAgICAgIGNvbG9yOiAkZHVzdHktZ3JheTtcbiAgICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxOS4yNXB4O1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAmX19ib2R5IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstc21hbGwpIHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2Zvb3RlciB7XG4gICAgICBoZWlnaHQ6IDc1cHg7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGFsdG87XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLXNtYWxsKSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbnMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHdpZHRoOiAxODEuNzVweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMjEuMjVweDtcbiAgICB9XG5cbiAgICAmX19yZXZlcnQsICZfX2NhbmNlbCwgJl9fc2F2ZSwgJl9fc2F2ZV9fZXJyb3Ige1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmX19yZXZlcnQge1xuICAgICAgY29sb3I6ICRzaWx2ZXItY2hhbGljZTtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMS4yNXB4O1xuICAgIH1cblxuICAgICZfX2NhbmNlbCwgJl9fc2F2ZSwgJl9fc2F2ZV9fZXJyb3Ige1xuICAgICAgaGVpZ2h0OiAzNC42NHB4O1xuICAgICAgd2lkdGg6IDg1Ljc0cHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZHVzdHktZ3JheTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgIGZvbnQtZmFtaWx5OiAnRElOIE9UJztcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGNvbG9yOiAkZHVzdHktZ3JheTtcbiAgICB9XG5cbiAgICAmX19zYXZlX19lcnJvciB7XG4gICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICBjdXJzb3I6IGF1dG87XG4gICAgfVxuXG4gICAgJl9fZXJyb3ItbWVzc2FnZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNHB4O1xuICAgICAgcmlnaHQ6IDRweDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICAgICAgY29sb3I6ICRyZWQ7XG4gICAgfVxuICB9XG5cbiAgJl9fZ2FzLW1vZGFsLWNhcmQge1xuICAgIHdpZHRoOiAzNjBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcblxuICAgICZfX3RpdGxlIHtcbiAgICAgIGhlaWdodDogMjZweDtcbiAgICAgIGNvbG9yOiAkdHVuZG9yYTtcbiAgICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICBtYXJnaW4tdG9wOiAxN3B4O1xuICAgIH1cblxuICAgICZfX2NvcHkge1xuICAgICAgaGVpZ2h0OiAzOHB4O1xuICAgICAgd2lkdGg6IDMxNHB4O1xuICAgICAgY29sb3I6ICR0dW5kb3JhO1xuICAgICAgZm9udC1mYW1pbHk6IFJvYm90bztcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOXB4O1xuICAgICAgbWFyZ2luLXRvcDogMTdweDtcbiAgICB9XG5cbiAgICAuY3VzdG9taXplLWdhcy1pbnB1dC13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDE3cHg7XG4gICAgfVxuXG4gICAgLmN1c3RvbWl6ZS1nYXMtaW5wdXQge1xuICAgICAgaGVpZ2h0OiA1NHB4O1xuICAgICAgd2lkdGg6IDMxNXB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdleXNlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICB9XG5cbiAgICAuZ2FzLXRvb2x0aXAtaW5wdXQtYXJyb3dzIHtcbiAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgaGVpZ2h0OiA1NHB4O1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGFkYWRhO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgY29sb3I6ICR0dW5kb3JhO1xuICAgICAgcmlnaHQ6IDBweDtcbiAgICAgIHBhZGRpbmc6IDFweCA0cHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmhvdmVyOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIuY29uZmlybS1zY3JlZW4tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LWZhbWlseTogUm9ib3RvO1xuICBmbGV4OiAwIDAgYXV0bztcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICBib3gtc2hhZG93OiAwIDJweCA0cHggMCByZ2JhKCRibGFjaywgLjA4KTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkge1xuICAgIC8vIHRvcDogLTI2cHg7XG4gIH1cbn1cblxuLm5vdGlmaWNhdGlvbiB7XG4gIC5jb25maXJtLXNjcmVlbi13cmFwcGVyIHtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1zbWFsbCkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gODVweCk7XG4gICAgfVxuICB9XG59XG5cbi5jb25maXJtLXNjcmVlbi13cmFwcGVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMzgwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICB6LWluZGV4OiAyNTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IFJvYm90bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDhweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDhweDtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstc21hbGwpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB0b3A6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA1OHB4IC0gODVweCk7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxufVxuXG4uY29uZmlybS1zY3JlZW4td3JhcHBlciA+IC5jb25maXJtLXNjcmVlbi10b3RhbC1ib3gge1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4uY29uZmlybS1zY3JlZW4td3JhcHBlciA+IC5jb25maXJtLW1lbW8td3JhcHBlciB7XG4gIG1hcmdpbjogMDtcbn1cblxuLmNvbmZpcm0tc2NyZWVuLWhlYWRlciB7XG4gIGhlaWdodDogODhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGF0aGVucy1ncmV5O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IDIycHg7XG4gIGxpbmUtaGVpZ2h0OiAyOXB4O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMjVweCAwO1xuICBmbGV4OiAwIDAgYXV0bztcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstc21hbGwpIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gIH1cbn1cblxuLmNvbmZpcm0tc2NyZWVuLWhlYWRlci10aXAge1xuICBoZWlnaHQ6IDI1cHg7XG4gIHdpZHRoOiAyNXB4O1xuICBiYWNrZ3JvdW5kOiAkYXRoZW5zLWdyZXk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB0b3A6IDcxcHg7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmNvbmZpcm0tc2NyZWVuLXRpdGxlIHtcbiAgbGluZS1oZWlnaHQ6IDI3cHg7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLXNtYWxsKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDIycHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIH1cbn1cblxuLmNvbmZpcm0tc2NyZWVuLWJhY2stYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjdXJpb3VzLWJsdWU7XG4gIGxlZnQ6IDI0cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogJGN1cmlvdXMtYmx1ZTtcbiAgcGFkZGluZzogNnB4IDEzcHggN3B4IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogNTRweDtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstc21hbGwpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIH1cbn1cblxuLmNvbmZpcm0tc2NyZWVuLWFjY291bnQtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5jb25maXJtLXNjcmVlbi1hY2NvdW50LW5hbWUge1xuICBtYXJnaW4tdG9wOiAxMnB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxOXB4O1xuICBjb2xvcjogJHNjb3JwaW9uO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jb25maXJtLXNjcmVlbi1yb3ctaW5mbyB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDIxcHg7XG59XG5cbi5jb25maXJtLXNjcmVlbi1hY2NvdW50LW51bWJlciB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIGNvbG9yOiAkZHVzdHktZ3JheTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBoZWlnaHQ6IDE2cHg7XG59XG5cbi5jb25maXJtLXNlbmQtZXRoZXIsXG4uY29uZmlybS1zZW5kLXRva2VuIHtcbiAgaS5mYS1hcnJvdy1yaWdodCB7XG4gICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gICAgbWFyZ2luOiAyNHB4IDE0cHggMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5jb25maXJtLXNjcmVlbi1pZGVudGljb25zIHtcbiAgbWFyZ2luLXRvcDogMjRweDtcbiAgZmxleDogMCAwIGF1dG87XG5cbiAgaS5mYS1hcnJvdy1yaWdodCB7XG4gICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gICAgbWFyZ2luOiA0MnB4IDE0cHggMDtcbiAgfVxuXG4gIGkuZmEtZmlsZS10ZXh0LW8ge1xuICAgIGZvbnQtc2l6ZTogNjBweDtcbiAgICBtYXJnaW46IDE2cHggOHB4IDAgOHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4uY29uZmlybS1zY3JlZW4tc2VuZGluZy10by1tZXNzYWdlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDE2cHg7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIGZvbnQtZmFtaWx5OiAnRElOIE5FWFQgTGlnaHQnO1xufVxuXG4uY29uZmlybS1zY3JlZW4tc2VuZC1hbW91bnQge1xuICBjb2xvcjogJHNjb3JwaW9uO1xuICBtYXJnaW4tdG9wOiAxMnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDUzcHg7XG4gIGZsZXg6IDAgMCBhdXRvO1xufVxuXG4uY29uZmlybS1zY3JlZW4tc2VuZC1hbW91bnQtY3VycmVuY3kge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZsZXg6IDAgMCBhdXRvO1xufVxuXG4uY29uZmlybS1tZW1vLXdyYXBwZXIge1xuICBtaW4taGVpZ2h0OiAyNHB4O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRhbHRvO1xuICBmbGV4OiAwIDAgYXV0bztcbn1cblxuLmNvbmZpcm0tc2NyZWVuLXNlbmQtbWVtbyB7XG4gIGNvbG9yOiAkc2NvcnBpb247XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDE5cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi5jb25maXJtLXNjcmVlbi1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIGNvbG9yOiAkc2NvcnBpb247XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbnNlY3Rpb24gLmNvbmZpcm0tc2NyZWVuLWFjY291bnQtbmFtZSxcbnNlY3Rpb24gLmNvbmZpcm0tc2NyZWVuLWFjY291bnQtbnVtYmVyLFxuLmNvbmZpcm0tc2NyZWVuLXJvdy1pbmZvLFxuLmNvbmZpcm0tc2NyZWVuLXJvdy1kZXRhaWwge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uY29uZmlybS1zY3JlZW4tcm93cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXg6IDAgMCBhdXRvO1xufVxuXG4uY29uZmlybS1zY3JlZW4tc2VjdGlvbi1jb2x1bW4ge1xuICBmbGV4OiAuNTtcbn1cblxuLmNvbmZpcm0tc2NyZWVuLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRhbHRvO1xuICB3aWR0aDogMTAwJTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMTJweDtcbiAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBmb250LXdlaWdodDogMzAwO1xufVxuXG4uY29uZmlybS1zY3JlZW4tcm93LWRldGFpbCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIGNvbG9yOiAkZHVzdHktZ3JheTtcbn1cblxuLmNvbmZpcm0tc2NyZWVuLXRvdGFsLWJveCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aWxkLXNhbmQ7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIHBhZGRpbmctbGVmdDogMzVweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRhbHRvO1xuXG4gIC5jb25maXJtLXNjcmVlbi1sYWJlbCB7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIH1cblxuICAuY29uZmlybS1zY3JlZW4tcm93LWRldGFpbCB7XG4gICAgY29sb3I6ICRzY29ycGlvbjtcbiAgfVxuXG4gICZfX3N1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIH1cblxuICAuY29uZmlybS1zY3JlZW4tcm93LWluZm8ge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICB9XG59XG5cbi5jb25maXJtLXNjcmVlbi1jb25maXJtLWJ1dHRvbiB7XG4gIGhlaWdodDogNjJweDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDJjOWIxO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IFJvYm90bztcbiAgcGFkZGluZy10b3A6IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICBib3JkZXItd2lkdGg6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBmb250LXdlaWdodDogMzAwO1xuICBtYXJnaW46IDAgOHB4O1xufVxuXG4uYnRuLWxpZ2h0LmNvbmZpcm0tc2NyZWVuLWNhbmNlbC1idXR0b24ge1xuICBoZWlnaHQ6IDYycHg7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3BhY2l0eTogMTtcbiAgZm9udC1mYW1pbHk6IFJvYm90bztcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBwYWRkaW5nLXRvcDogMTVweDtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDMycHg7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmxleDogMSAwIGF1dG87XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIG1hcmdpbjogMCA4cHg7XG59XG5cbiNwZW5kaW5nLXR4LWZvcm0ge1xuICBmbGV4OiAxIDAgYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgcGFkZGluZzogMTJweCAxOHB4O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA4cHg7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA4cHg7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1zbWFsbCkge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYWx0bztcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICB9XG59XG4iLCIubG9hZGluZy1vdmVybGF5IHtcbiAgbGVmdDogMHB4O1xuICB6LWluZGV4OiA1MDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAgIG1hcmdpbi10b3A6IDU2cHg7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA1NnB4KTtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gICAgbWFyZ2luLXRvcDogNzVweDtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDc1cHgpO1xuICB9XG59XG4iLCIuaGVyby1iYWxhbmNlIHtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstc21hbGwpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAuM2VtIC45ZW0gMDtcbiAgICAvLyBoZWlnaHQ6IDgwdmg7XG4gICAgLy8gbWF4LWhlaWdodDogMjI1cHg7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAyLjhlbSAyLjM3ZW0gLjhlbTtcbiAgfVxuXG4gIC5iYWxhbmNlLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstc21hbGwpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LWdyb3c6IDM7XG4gICAgfVxuICB9XG5cbiAgLmJhbGFuY2UtZGlzcGxheSB7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstc21hbGwpIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgLnRva2VuLWFtb3VudCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTc1JTtcbiAgICAgICAgbWFyZ2luLXRvcDogMTIuNSU7XG4gICAgICB9XG5cbiAgICAgIC5maWF0LWFtb3VudCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTE1JTtcbiAgICAgICAgbWFyZ2luLXRvcDogOC41JTtcbiAgICAgICAgY29sb3I6ICNhMGEwYTA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMyU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgLnRva2VuLWFtb3VudCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTM1JTtcbiAgICAgIH1cblxuICAgICAgLmZpYXQtYW1vdW50IHtcbiAgICAgICAgbWFyZ2luLXRvcDogLjI1JTtcbiAgICAgICAgZm9udC1zaXplOiAxMDUlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5iYWxhbmNlLWljb24ge1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgd2lkdGg6IDQ1cHg7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRhbHRvO1xuICB9XG5cbiAgLmhlcm8tYmFsYW5jZS1idXR0b25zIHtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1zbWFsbCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAvLyBoZWlnaHQ6IDEwMHB4OyAvLyBuZWVkZWQgYSByb3VuZCBudW1iZXIgdG8gc2V0IHRoZSBoZWlnaHRzIG9mIHRoZSBidXR0b25zIGluc2lkZVxuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBwYWRkaW5nOiAxNnB4IDA7XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICBmbGV4LWdyb3c6IDI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIGJ1dHRvbi5idG4tY2xlYXIge1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICBmb250LXNpemU6IDEycHg7XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1zbWFsbCkge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjdXJpb3VzLWJsdWU7XG4gICAgICAgIGNvbG9yOiAkY3VyaW91cy1ibHVlO1xuICAgICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjdXJpb3VzLWJsdWU7XG4gICAgICAgIGNvbG9yOiAkY3VyaW91cy1ibHVlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogODVweDtcbiAgICAgICAgaGVpZ2h0OiAzNHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiJHdhbGxldC1iYWxhbmNlLWJnOiAjZTdlN2U3O1xuJHdhbGxldC1iYWxhbmNlLWJyZWFrcG9pbnQ6IDg5MHB4O1xuJHdhbGxldC1iYWxhbmNlLWJyZWFrcG9pbnQtcmFuZ2U6IFwic2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyRicmVhay1sYXJnZX0pIGFuZCAobWF4LXdpZHRoOiAjeyR3YWxsZXQtYmFsYW5jZS1icmVha3BvaW50fSlcIjtcblxuLndhbGxldC1iYWxhbmNlLXdyYXBwZXIge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgdHJhbnNpdGlvbjogbGluZWFyIDIwMG1zO1xuICBiYWNrZ3JvdW5kOiByZ2JhKCR3YWxsZXQtYmFsYW5jZS1iZywgMCk7XG5cbiAgJi0tYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCR3YWxsZXQtYmFsYW5jZS1iZywgMSk7XG4gIH1cbn1cblxuLndhbGxldC1iYWxhbmNlIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4OiAwIDAgYXV0bztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJHdhbGxldC1iYWxhbmNlLWJnO1xuXG4gIC5iYWxhbmNlLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDIwcHggMjRweDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtZ3JvdzogMztcblxuICAgIEBtZWRpYSAjeyR3YWxsZXQtYmFsYW5jZS1icmVha3BvaW50LXJhbmdlfSB7XG4gICAgICBtYXJnaW46IDEwJSA0JTtcbiAgICB9XG4gIH1cblxuICAuYmFsYW5jZS1kaXNwbGF5IHtcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAudG9rZW4tYW1vdW50IHtcbiAgICAgIGZvbnQtc2l6ZTogMTM1JTtcbiAgICB9XG5cbiAgICAuZmlhdC1hbW91bnQge1xuICAgICAgbWFyZ2luLXRvcDogLjI1JTtcbiAgICAgIGZvbnQtc2l6ZTogMTA1JTtcbiAgICB9XG5cbiAgICBAbWVkaWEgI3skd2FsbGV0LWJhbGFuY2UtYnJlYWtwb2ludC1yYW5nZX0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDQlO1xuXG4gICAgICAudG9rZW4tYW1vdW50IHtcbiAgICAgICAgZm9udC1zaXplOiAxMDUlO1xuICAgICAgfVxuXG4gICAgICAuZmlhdC1hbW91bnQge1xuICAgICAgICBmb250LXNpemU6IDk1JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYmFsYW5jZS1pY29uIHtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIHdpZHRoOiA0NXB4O1xuICAgIGhlaWdodDogNDVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYWx0bztcbiAgfVxufVxuIiwiLnR4LWxpc3QtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiA4Ny41JTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIH1cbn1cblxuLnR4LWxpc3QtaGVhZGVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1zbWFsbCkge1xuICAudHgtbGlzdC1oZWFkZXItd3JhcHBlciB7XG4gICAgbWFyZ2luLXRvcDogLjJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAuNmVtO1xuICAgIC8vIFRPRE86IFJlc29sdmUgTGF5b3V0IENvbmZsaWNzdCBpbiBXYWxsZXQgVmlld1xuICAgIC8vICAtIFRoaXMgZml4ZXMgdHhsaXN0IFwidHJhbnNhY3Rpb25zXCIgdGl0bGUgZGlzcGF5XG4gICAgLy8gbWFyZ2luLXRvcDogMC4yZW07XG4gICAgLy8gbWFyZ2luLWJvdHRvbTogMC42ZW07XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cblxuICAudHgtbGlzdC1oZWFkZXIge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY29sb3I6ICRkdXN0eS1ncmF5O1xuICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgLnR4LWxpc3QtaGVhZGVyLXdyYXBwZXIge1xuICAgIGZsZXg6IDAgMCA1NXB4O1xuICB9XG5cbiAgLnR4LWxpc3QtaGVhZGVyIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbWFyZ2luOiAxLjVlbSAyLjM3ZW07XG4gIH1cblxuICAudHgtbGlzdC1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi50eC1saXN0LWNvbnRlbnQtZGl2aWRlciB7XG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kOiByZ2IoMjMxLCAyMzEsIDIzMSk7XG4gIGZsZXg6IDAgMCAxcHg7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLXNtYWxsKSB7XG4gICAgbWFyZ2luOiAuMWVtIDA7XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWstbGFyZ2UpIHtcbiAgICBtYXJnaW46IC4xZW0gMi4zN2VtO1xuICB9XG59XG5cbi50eC1saXN0LWl0ZW0td3JhcHBlciB7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICB3aWR0aDogMDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1zbWFsbCkge1xuICAgIHBhZGRpbmc6IDAgMS4zZW0gLjhlbTtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMnB4O1xuICB9XG59XG5cbi50eC1saXN0LWNsaWNrYWJsZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCRhbHRvLCAuMik7XG4gIH1cbn1cblxuLnR4LWxpc3QtcGVuZGluZy1pdGVtLWNvbnRhaW5lciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3BhY2l0eTogLjU7XG59XG5cbi50eC1saXN0LWRhdGUtd3JhcHBlciB7XG4gIGZsZXg6IDEgMSBhdXRvO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1zbWFsbCkge1xuICAgIG1hcmdpbi10b3A6IDZweDtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVhay1sYXJnZSkge1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG4gIH1cbn1cblxuLnR4LWxpc3QtY29udGVudC13cmFwcGVyIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbiAgbWFyZ2luLXRvcDogMnB4O1xuICBmbGV4OiAxIDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstc21hbGwpIHtcbiAgICBmb250LXNpemU6IDEycHg7XG5cbiAgICAudHgtbGlzdC1zdGF0dXMge1xuICAgICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnR4LWxpc3QtYWNjb3VudCB7XG4gICAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudHgtbGlzdC12YWx1ZSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICB9XG5cbiAgICAudHgtbGlzdC1maWF0LXZhbHVlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgIH1cbiAgfVxufVxuXG4udHgtbGlzdC1kYXRlIHtcbiAgY29sb3I6ICRkdXN0eS1ncmF5O1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG87XG59XG5cbi50eC1saXN0LWlkZW50aWNvbi13cmFwcGVyIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xufVxuXG4udHgtbGlzdC1hY2NvdW50LWFuZC1zdGF0dXMtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICB3aWR0aDogMDtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstc21hbGwpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG5cbiAgICAudHgtbGlzdC1hY2NvdW50LXdyYXBwZXIge1xuICAgICAgaGVpZ2h0OiAxOHB4O1xuXG4gICAgICAudHgtbGlzdC1hY2NvdW50IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIC50eC1saXN0LWFjY291bnQtd3JhcHBlciB7XG4gICAgICBmbGV4OiAxLjMgMiBhdXRvO1xuICAgICAgbWluLXdpZHRoOiAxNTNweDtcbiAgICB9XG5cbiAgICAudHgtbGlzdC1zdGF0dXMtd3JhcHBlciB7XG4gICAgICBmbGV4OiA2IDYgYXV0bztcbiAgICB9XG4gIH1cblxuICAudHgtbGlzdC1hY2NvdW50IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6ICRzY29ycGlvbjtcbiAgfVxuXG4gIC50eC1saXN0LXN0YXR1cyB7XG4gICAgY29sb3I6ICRkdXN0eS1ncmF5O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgfVxuXG4gIC50eC1saXN0LXN0YXR1cy0tcmVqZWN0ZWQsXG4gIC50eC1saXN0LXN0YXR1cy0tZmFpbGVkIHtcbiAgICBjb2xvcjogJG1vbnpvO1xuICB9XG59XG5cbi50eC1saXN0LWl0ZW0ge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiKDIzMSwgMjMxLCAyMzEpO1xuICBmbGV4OiAwIDAgYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1zbWFsbCkge1xuICAgIC8vIG1hcmdpbjogMCAxLjNlbSAuOTVlbTsgIWltcG9ydGFudFxuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgbWFyZ2luOiAwIDIuMzdlbTtcbiAgfVxuXG4gICY6bGFzdC1vZi10eXBlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiKDIzMSwgMjMxLCAyMzEpO1xuICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gIH1cblxuICAmX193cmFwcGVyIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgZmxleDogMiAyIGF1dG87XG4gICAgY29sb3I6ICRkdXN0eS1ncmF5O1xuXG4gICAgLnR4LWxpc3QtdmFsdWUge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgLnR4LWxpc3QtdmFsdWUtLWNvbmZpcm1lZCB7XG4gICAgICBjb2xvcjogJGNhcmliYmVhbi1ncmVlbjtcbiAgICB9XG5cbiAgICAudHgtbGlzdC1maWF0LXZhbHVlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gICYtLWVtcHR5IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gIH1cbn1cblxuLnR4LWxpc3QtZGV0YWlscy13cmFwcGVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZmxleDogMCAwIDM1JTtcbn1cblxuLnR4LWxpc3QtdmFsdWUge1xuICBmb250LXNpemU6IDE2cHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnR4LWxpc3QtZmlhdC12YWx1ZSB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnR4LWxpc3QtdmFsdWUtLWNvbmZpcm1lZCB7XG4gIGNvbG9yOiAkY2FyaWJiZWFuLWdyZWVuO1xufVxuIiwiLy8gT2xkIHNjc3MsIGRvIG5vdCBsaW50IC0gY2xlYW4gdXAgbGF0ZXJcbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG5cblxuLypcbkFwcCBTZWN0aW9uc1xuICBUT0RPOiBNb3ZlIGludG8gc2VwYXJhdGUgZmlsZXMuXG4qL1xuXG4vKiBpbml0aWFsaXplICovXG50ZXh0YXJlYS50d2VsdmUtd29yZC1waHJhc2Uge1xuICBwYWRkaW5nOiAxMnB4O1xuICB3aWR0aDogMzAwcHg7XG4gIGhlaWdodDogMTQwcHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICByZXNpemU6IG5vbmU7XG59XG5cbi5pbml0aWFsaXplLXNjcmVlbiBociB7XG4gIHdpZHRoOiA2MHB4O1xuICBtYXJnaW46IDEycHg7XG4gIGJvcmRlci1jb2xvcjogI2Y3ODYxYztcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cblxuLmluaXRpYWxpemUtc2NyZWVuIGxhYmVsIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuLmluaXRpYWxpemUtc2NyZWVuIGJ1dHRvbi5jcmVhdGUtdmF1bHQge1xuICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuXG4uaW5pdGlhbGl6ZS1zY3JlZW4gLndhcm5pbmcge1xuICBmb250LXNpemU6IDE0cHg7XG4gIG1hcmdpbjogMCAxNnB4O1xufVxuXG4vKiB1bmxvY2sgKi9cbi5lcnJvciB7XG4gIC8vIGNvbG9yOiAjZTIwMjAyO1xuICBjb2xvcjogI2Y3ODYxYztcbiAgbWFyZ2luLWJvdHRvbTogOXB4O1xufVxuXG4ud2FybmluZyB7XG4gIGNvbG9yOiAjZmZhZTAwO1xufVxuXG4ubG9jayB7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG59XG5cbi5sb2NrLmxvY2tlZCB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlLWluLCB0cmFuc2Zvcm0gNDAwbXMgZWFzZS1pbjtcbn1cblxuLmxvY2sudW5sb2NrZWQge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDUwMG1zIGVhc2Utb3V0LCB0cmFuc2Zvcm0gNTAwbXMgZWFzZS1vdXQsIGJhY2tncm91bmQgMjAwbXMgZWFzZS1pbjtcbn1cblxuLmxvY2subG9ja2VkIC5sb2NrLXRvcCB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpIHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBlYXNlLWluO1xufVxuXG4ubG9jay51bmxvY2tlZCAubG9jay10b3Age1xuICB0cmFuc2Zvcm06IHNjYWxlWCgtMSkgdHJhbnNsYXRlWCgtMTJweCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBlYXNlLWluO1xufVxuXG4ubG9jay51bmxvY2tlZDpob3ZlciB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZDogI2U1ZTVlNTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2IxYjFiMTtcbn1cblxuLmxvY2sudW5sb2NrZWQ6YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI2MzYzNjMztcbn1cblxuLnNlY3Rpb24tdGl0bGUgLmZhLWFycm93LWxlZnQge1xuICBtYXJnaW46IC0ycHggOHB4IDBweCAtOHB4O1xufVxuXG4udW5sb2NrLXNjcmVlbiAjbWV0YW1hc2stbWFzY290LWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG59XG5cbi51bmxvY2stc2NyZWVuIGgxIHtcbiAgbWFyZ2luLXRvcDogLTI4cHg7XG4gIG1hcmdpbi1ib3R0b206IDQycHg7XG59XG5cbi51bmxvY2stc2NyZWVuIGlucHV0W3R5cGU9cGFzc3dvcmRdIHtcbiAgd2lkdGg6IDI2MHB4O1xufVxuXG4uc2l6aW5nLWlucHV0IHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xufVxuXG4uZWRpdGFibGUtbGFiZWwge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vKiBXZWJraXQgKi9cblxuLnVubG9jay1zY3JlZW4gaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG59XG5cbi8qIEZpcmVmb3ggMTgtICovXG5cbi51bmxvY2stc2NyZWVuIGlucHV0Oi1tb3otcGxhY2Vob2xkZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG59XG5cbi8qIEZpcmVmb3ggMTkrICovXG5cbi51bmxvY2stc2NyZWVuIGlucHV0OjotbW96LXBsYWNlaG9sZGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEuMmVtO1xufVxuXG4vKiBJRSAqL1xuXG4udW5sb2NrLXNjcmVlbiBpbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG59XG5cbi8qIGFjY291bnRzICovXG5cbi5hY2NvdW50cy1zZWN0aW9uIHtcbiAgbWFyZ2luOiAwIDBweDtcbn1cblxuLmFjY291bnRzLXNlY3Rpb24gLmhvcml6b250YWwtbGluZSB7XG4gIG1hcmdpbjogMCAxOHB4O1xufVxuXG4uYWNjb3VudHMtbGlzdC1vcHRpb24ge1xuICBoZWlnaHQ6IDEyMHB4O1xufVxuXG4uYWNjb3VudHMtbGlzdC1vcHRpb24gLmlkZW50aWNvbi13cmFwcGVyIHtcbiAgd2lkdGg6IDEwMHB4O1xufVxuXG4udW5jb25mdHgtbGluayB7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnVuY29uZnR4LWxpbmsgLmZhLWFycm93LXJpZ2h0IHtcbiAgbWFyZ2luOiAwIC04cHggMHB4IDhweDtcbn1cblxuLyogaWRlbnRpdHkgcGFuZWwgKi9cblxuLmlkZW50aXR5LXBhbmVsIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmlkZW50aXR5LXBhbmVsIC5pZGVudGljb24td3JhcHBlciB7XG4gIG1hcmdpbjogNHB4O1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5pZGVudGl0eS1wYW5lbCAuaWRlbnRpY29uLXdyYXBwZXIgc3BhbiB7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uaWRlbnRpdHktcGFuZWwgLmlkZW50aXR5LWRhdGEge1xuICBtYXJnaW46IDhweCA4cHggOHB4IDE4cHg7XG59XG5cbi5pZGVudGl0eS1wYW5lbCBpIHtcbiAgbWFyZ2luLXRvcDogMzJweDtcbiAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIGNvbG9yOiAjYjliOWI5O1xufVxuXG4uaWRlbnRpdHktcGFuZWwgLmFycm93LXJpZ2h0IHtcbiAgcGFkZGluZy1sZWZ0OiAxOHB4O1xuICB3aWR0aDogNDJweDtcbiAgbWluLXdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5pZGVudGl0eS1jb3B5LmZsZXgtY29sdW1uIHtcbiAgZmxleDogLjI1IDAgYXV0bztcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi8qIGFjY291bnRzIHNjcmVlbiAqL1xuXG4uaWRlbnRpdHktc2VjdGlvbiB7XG59XG5cbi5pZGVudGl0eS1zZWN0aW9uIC5pZGVudGl0eS1wYW5lbCB7XG4gIGJhY2tncm91bmQ6ICNlOWU5ZTk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYjFiMWIxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5pZGVudGl0eS1zZWN0aW9uIC5pZGVudGl0eS1wYW5lbC5zZWxlY3RlZCB7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgY29sb3I6ICNmM2M4M2U7XG59XG5cbi5pZGVudGl0eS1zZWN0aW9uIC5pZGVudGl0eS1wYW5lbC5zZWxlY3RlZCAuaWRlbnRpY29uIHtcbiAgYm9yZGVyLWNvbG9yOiAkb3JhbmdlO1xufVxuXG4uaWRlbnRpdHktc2VjdGlvbiAuYWNjb3VudHMtbGlzdC1vcHRpb246aG92ZXIsXG4uaWRlbnRpdHktc2VjdGlvbiAuYWNjb3VudHMtbGlzdC1vcHRpb24uc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG59XG5cbi8qIGFjY291bnQgZGV0YWlsIHNjcmVlbiAqL1xuXG4uYWNjb3VudC1kZXRhaWwtc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgZmxleC1kaXJlY3Rpb246IGluaGVyaXQ7XG59XG5cbi5ncm93LXRlbngge1xuICBmbGV4LWdyb3c6IDEwO1xufVxuXG4ubmFtZS1sYWJlbCB7XG59XG5cbi51bmFwcHJvdmVkLXR4LWljb24ge1xuICBoZWlnaHQ6IDE2cHg7XG4gIHdpZHRoOiAxNnB4O1xuICBiYWNrZ3JvdW5kOiByZ2IoNDcsIDE3NCwgMjQ0KTtcbiAgYm9yZGVyLWNvbG9yOiAkc2lsdmVyLWNoYWxpY2U7XG4gIGJvcmRlci1yYWRpdXM6IDEzcHg7XG59XG5cbi5lZGl0LXRleHQge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmVkaXRpbmctbGFiZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbi1sZWZ0OiA1MHB4O1xuICBtYXJnaW4tYm90dG9tOiAycHg7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgdGV4dC1yZW5kZXJpbmc6IGdlb21ldHJpY1ByZWNpc2lvbjtcbiAgY29sb3I6ICNmNzg2MWM7XG59XG5cbi5uYW1lLWxhYmVsOmhvdmVyIC5lZGl0LXRleHQge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuLyogdHggY29uZmlybSAqL1xuXG4udW5jb25mdHgtc2VjdGlvbiBpbnB1dFt0eXBlPXBhc3N3b3JkXSB7XG4gIGhlaWdodDogMjJweDtcbiAgcGFkZGluZzogMnB4O1xuICBtYXJnaW46IDEycHg7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyOiAycHggc29saWQgI2YzYzgzZTtcbiAgYmFja2dyb3VuZDogI2ZhZjZmMDtcbn1cblxuLyogRXRoZXIgQmFsYW5jZSBXaWRnZXQgKi9cblxuLmV0aGVyLWJhbGFuY2UtYW1vdW50IHtcbiAgY29sb3I6ICNmNzg2MWM7XG59XG5cbi5ldGhlci1iYWxhbmNlLWxhYmVsIHtcbiAgY29sb3I6ICNhYmE5YWE7XG59XG5cbi8qIEluZm8gc2NyZWVuICovXG4uaW5mby1ncmF5IHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICRzaWx2ZXItY2hhbGljZTtcbn1cblxuLmljb24tc2l6ZSB7XG4gIHdpZHRoOiAyMHB4O1xufVxuXG4uaW5mbyB7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIEFyaWFsO1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbn1cblxuLyogYnV5IGV0aCB3YXJuaW5nIHNjcmVlbiAqL1xuLmN1c3RvbS1yYWRpb3Mge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmN1c3RvbS1yYWRpby1zZWxlY3RlZCB7XG4gIHdpZHRoOiAxN3B4O1xuICBoZWlnaHQ6IDE3cHg7XG4gIGJvcmRlcjogc29saWQ7XG4gIGJvcmRlci1zdHlsZTogZG91YmxlO1xuICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICBib3JkZXItd2lkdGg6IDVweDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNDcsIDEzNCwgMjgsIDEpO1xuICBib3JkZXItY29sb3I6ICNmN2Y3Zjc7XG59XG5cbi5jdXN0b20tcmFkaW8taW5hY3RpdmUge1xuICB3aWR0aDogMTRweDtcbiAgaGVpZ2h0OiAxNHB4O1xuICBib3JkZXI6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgYm9yZGVyLWNvbG9yOiAkc2lsdmVyLWNoYWxpY2U7XG59XG5cbi5yYWRpby10aXRsZXMge1xuICBjb2xvcjogcmdiYSgyNDcsIDEzNCwgMjgsIDEpO1xufVxuXG4uZXRoLXdhcm5pbmcge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2UtaW4sIHRyYW5zZm9ybSA0MDBtcyBlYXNlLWluO1xufVxuXG4uYnV5LXN1YnZpZXcge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2UtaW4sIHRyYW5zZm9ybSA0MDBtcyBlYXNlLWluO1xufVxuXG4uaW5wdXQtY29udGFpbmVyOmhvdmVyIC5lZGl0LXRleHQge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4uYnV5LWlucHV0cyB7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG87XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAuNXB4O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG59XG5cbi5pbnB1dC1jb250YWluZXI6aG92ZXIgLmJ1eS1pbnB1dHMge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICBib3JkZXI6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICNmNzg2MWM7XG4gIGJvcmRlci13aWR0aDogLjVweDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuXG4uYnV5LWlucHV0czpmb2N1cyB7XG4gIGJvcmRlcjogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogI2Y3ODYxYztcbiAgYm9yZGVyLXdpZHRoOiAuNXB4O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG59XG5cbi5hY3RpdmVGb3JtIHtcbiAgYmFja2dyb3VuZDogI2Y3ZjdmNztcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA4cHggOHB4IDBweCAwcHg7XG4gIHdpZHRoOiA1MCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy1ib3R0b206IDRweDtcbn1cblxuLmluYWN0aXZlRm9ybSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogOHB4IDhweCAwcHggMHB4O1xuICB3aWR0aDogNTAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctYm90dG9tOiA0cHg7XG59XG5cbi5leC1jb2lucyB7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG87XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAzM3B4O1xuICB3aWR0aDogMTE4cHg7XG4gIGhlaWdodDogNDJweDtcbiAgcGFkZGluZzogMXB4O1xuICBjb2xvcjogIzRkNGQ0ZDtcbn1cblxuLm1hcmtldGluZm8ge1xuICBmb250LWZhbWlseTogUm9ib3RvO1xuICBjb2xvcjogJHNpbHZlci1jaGFsaWNlO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGxpbmUtaGVpZ2h0OiAxN3B4O1xufVxuXG4jZnJvbUNvaW46Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNjb2luTGlzdCB7XG4gIHdpZHRoOiA0MDBweDtcbiAgaGVpZ2h0OiA1MDBweDtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbn1cblxuLmljb24tY29udHJvbCAuZmEtcmVmcmVzaCB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmljb24tY29udHJvbDpob3ZlciAuZmEtcmVmcmVzaCB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5pY29uLWNvbnRyb2w6aG92ZXIgLmZhLWNoZXZyb24tcmlnaHQge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5pbmFjdGl2ZSB7XG4gIGNvbG9yOiAkc2lsdmVyLWNoYWxpY2U7XG59XG5cbi5pbmFjdGl2ZSBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiAkc2lsdmVyLWNoYWxpY2U7XG4gIGNvbG9yOiAkd2hpdGU7XG59XG5cbi5xci1lbGxpcC1hZGRyZXNzLCAuZWxsaXAtYWRkcmVzcyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4ucXItaGVhZGVyIHtcbiAgZm9udC1zaXplOiAyNXB4O1xuICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuXG4ucXItbWVzc2FnZSB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6ICNmNzg2MWM7XG59XG5cbmRpdi5tZXNzYWdlLWNvbnRhaW5lciA+IGRpdjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgY29sb3I6ICM0ZDRkNGQ7XG59XG5cbi5wb3AtaG92ZXI6aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG59XG5cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbiIsIiR3YWxsZXQtYmFsYW5jZS1icmVha3BvaW50OiA4OTBweDtcbiR3YWxsZXQtYmFsYW5jZS1icmVha3BvaW50LXJhbmdlOiBcInNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skYnJlYWstbGFyZ2V9KSBhbmQgKG1heC13aWR0aDogI3skd2FsbGV0LWJhbGFuY2UtYnJlYWtwb2ludH0pXCI7XG5cbi50b2tlbi1saXN0LWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDIwcHggMjRweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBsaW5lYXIgMjAwbXM7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHdhbGxldC1iYWxhbmNlLWJnLCAwKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICZfX3Rva2VuLWJhbGFuY2Uge1xuICAgIGZvbnQtc2l6ZTogMTMwJTtcblxuICAgIEBtZWRpYSAjeyR3YWxsZXQtYmFsYW5jZS1icmVha3BvaW50LXJhbmdlfSB7XG4gICAgICBmb250LXNpemU6IDEwNSU7XG4gICAgfVxuICB9XG5cbiAgJl9fZmlhdC1hbW91bnQge1xuICAgIG1hcmdpbi10b3A6IC4yNSU7XG4gICAgZm9udC1zaXplOiAxMDUlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBAbWVkaWEgI3skd2FsbGV0LWJhbGFuY2UtYnJlYWtwb2ludC1yYW5nZX0ge1xuICAgICAgZm9udC1zaXplOiA5NSU7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhICN7JHdhbGxldC1iYWxhbmNlLWJyZWFrcG9pbnQtcmFuZ2V9IHtcbiAgICBwYWRkaW5nOiAxMCUgNCU7XG4gIH1cblxuICAmLS1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHdhbGxldC1iYWxhbmNlLWJnLCAxKTtcbiAgfVxuXG4gICZfX2lkZW50aWNvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgIGJvcmRlcjogJzFweCBzb2xpZCAjZGVkZWRlJztcblxuICAgIEBtZWRpYSAjeyR3YWxsZXQtYmFsYW5jZS1icmVha3BvaW50LXJhbmdlfSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDQlO1xuICAgIH1cbiAgfVxuXG4gICZfX2VsbGlwc2lzIHtcbiAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLy8gdG9wOiAyMHB4O1xuICAgIC8vIHJpZ2h0OiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICB9XG5cbiAgJl9fYmFsYW5jZS13cmFwcGVyIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxufVxuXG4udG9rZW4tbWVudS1kcm9wZG93biB7XG4gIGhlaWdodDogNTVweDtcbiAgd2lkdGg6IDE5MXB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC44Mik7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoMCwwLDAsMC41KTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBtYXJnaW4tbGVmdDogMTA1cHg7XG4gIHotaW5kZXg6IDIwMDA7XG5cbiAgJl9fY2xvc2UtYXJlYSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDIxMDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxuXG4gICZfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMTZweCAzNHB4IDMycHg7XG4gICAgei1pbmRleDogMjIwMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAmX19vcHRpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAmX19vcHRpb24ge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1mYW1pbHk6IFJvYm90bztcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59IiwiLmFkZC10b2tlbiB7XG4gIHdpZHRoOiA0OThweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEyO1xuICBmb250LWZhbWlseTogJ0RJTiBOZXh0IExpZ2h0JztcblxuICAmX193cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgkYmxhY2ssIC4wOCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuXG4gICZfX3RpdGxlLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAzMHB4IDYwcHggMTJweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdhbGxlcnk7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgY29sb3I6ICRzY29ycGlvbjtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgfVxuXG4gICZfX2Rlc2NyaXB0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAmX19kZXNjcmlwdGlvbiArICZfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICB9XG5cbiAgJl9fY29uZmlybWF0aW9uLWRlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW46IDEycHggMDtcbiAgfVxuXG4gICZfX2NvbnRlbnQtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdhbGxlcnk7XG4gIH1cblxuICAmX19pbnB1dC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDExcHggMDtcbiAgICB3aWR0aDogMjYzcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJl9fc2VhcmNoLWlucHV0LWVycm9yLW1lc3NhZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0xMHB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY29sb3I6ICRyZWQ7XG4gIH1cblxuICAmX19pbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGdhbGxlcnk7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHBhZGRpbmc6IDVweCAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMTlweDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkc2lsdmVyO1xuICAgIH1cbiAgfVxuXG4gICZfX2Zvb3RlcnMge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJl9fYWRkLWN1c3RvbSB7XG4gICAgY29sb3I6ICRzY29ycGlvbjtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDEycHggMDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMDUpO1xuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjEpO1xuICAgIH1cblxuICAgIC5mYSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMjRweDtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2FkZC1jdXN0b20tZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgbWFyZ2luOiA4cHggMCA1MXB4O1xuICB9XG5cbiAgJl9fYWRkLWN1c3RvbS1maWVsZCB7XG4gICAgd2lkdGg6IDI5MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICYtLWVycm9yIHtcbiAgICAgIC5hZGQtdG9rZW5fX2FkZC1jdXN0b20taW5wdXQge1xuICAgICAgICBib3JkZXItY29sb3I6ICRyZWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fYWRkLWN1c3RvbS1lcnJvci1tZXNzYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMjFweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiAkcmVkO1xuICB9XG5cbiAgJl9fYWRkLWN1c3RvbS1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgfVxuXG4gICZfX2FkZC1jdXN0b20taW5wdXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRzaWx2ZXI7XG4gICAgcGFkZGluZzogNXB4IDE1cHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOXB4O1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRzaWx2ZXI7XG4gICAgfVxuICB9XG5cbiAgJl9fYWRkLWN1c3RvbS1maWVsZCArICZfX2FkZC1jdXN0b20tZmllbGQge1xuICAgIG1hcmdpbi10b3A6IDIxcHg7XG4gIH1cblxuICAmX19idXR0b25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICBtYXJnaW46IDMwcHggMCA1MXB4O1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG5cbiAgJl9fdG9rZW4taWNvbnMtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIH1cblxuICAmX190b2tlbi13cmFwcGVyIHtcbiAgICB0cmFuc2l0aW9uOiAyMDBtcyBlYXNlLWluLW91dDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBmbGV4OiAwIDAgNDIuNSU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxMnB4O1xuICAgIG1hcmdpbjogMi41JTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgkbWFsaWJ1LWJsdWUsIC41KTtcbiAgICB9XG5cbiAgICAmLS1zZWxlY3RlZCB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkbWFsaWJ1LWJsdWUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmLS1kaXNhYmxlZCB7XG4gICAgICBvcGFjaXR5OiAuNDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICZfX3Rva2VuLWRhdGEge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gIH1cblxuICAmX190b2tlbi1uYW1lIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE5cHg7XG4gIH1cblxuICAmX190b2tlbi1zeW1ib2wge1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMjlweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbiAgJl9fdG9rZW4taWNvbiB7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoJGJsYWNrLCAuMjQpO1xuICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuXG4gICZfX3Rva2VuLW1lc3NhZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb2xvcjogJGNhcmliYmVhbi1ncmVlbjtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDg1cHg7XG4gIH1cblxuICAmX19jb25maXJtYXRpb24tdG9rZW4tbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG5cbiAgICAudG9rZW4tYmFsYW5jZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICZfX2Ftb3VudCB7XG4gICAgICAgIGNvbG9yOiAkc2NvcnBpb247XG4gICAgICAgIGZvbnQtc2l6ZTogNDNweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQzcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgfVxuXG4gICAgICAmX19zeW1ib2wge1xuICAgICAgICBjb2xvcjogJHNjb3JwaW9uO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2NvbmZpcm1hdGlvbi10aXRsZSB7XG4gICAgcGFkZGluZzogMzBweCAxMjBweCAxMnB4O1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLXNtYWxsKSB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAmX19jb25maXJtYXRpb24tY29udGVudCB7XG4gICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gIH1cblxuICAmX19jb25maXJtYXRpb24tdG9rZW4tbGlzdC1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgJl9fY29uZmlybWF0aW9uLXRva2VuLWxpc3QtaXRlbSArICZfX2NvbmZpcm1hdGlvbi10b2tlbi1saXN0LWl0ZW0ge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gIH1cblxuICAmX19jb25maXJtYXRpb24tdG9rZW4taWNvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxOHB4O1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLXNtYWxsKSB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB9XG5cbiAgICAmX19mb290ZXJzIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ2FsbGVyeTtcbiAgICB9XG5cbiAgICAmX190b2tlbi1pY29uIHtcbiAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgIH1cblxuICAgICZfX3Rva2VuLXN5bWJvbCB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICB9XG5cbiAgICAmX190b2tlbi1uYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgIH1cblxuICAgICZfX2J1dHRvbnMge1xuICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAxMnB4IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdhbGxlcnk7XG5cbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICBtYXJnaW46IDAgMTJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5jdXJyZW5jeS1kaXNwbGF5IHtcbiAgaGVpZ2h0OiA1NHB4O1xuICB3aWR0aDogMTAwJcOfO1xuICBib3JkZXI6IDFweCBzb2xpZCAkYWx0bztcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIGNvbG9yOiAkZHVzdHktZ3JheTtcbiAgZm9udC1mYW1pbHk6IFJvYm90bztcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBwYWRkaW5nOiA4cHggMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICZfX3ByaW1hcnktcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgJl9faW5wdXQge1xuICAgIGNvbG9yOiAkc2NvcnBpb247XG4gICAgZm9udC1mYW1pbHk6IFJvYm90bztcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmX19wcmltYXJ5LWN1cnJlbmN5IHtcbiAgICBjb2xvcjogJHNjb3JwaW9uO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1mYW1pbHk6IFJvYm90bztcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIH1cblxuICAmX19jb252ZXJ0ZWQtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgJl9fY29udmVydGVkLXZhbHVlLFxuICAmX19jb252ZXJ0ZWQtY3VycmVuY3kge1xuICAgIGNvbG9yOiAkZHVzdHktZ3JheTtcbiAgICBmb250LWZhbWlseTogUm9ib3RvO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgfVxuXG4gICZfX2lucHV0LXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgJl9fY3VycmVuY3ktc3ltYm9sIHtcbiAgICBtYXJnaW4tdG9wOiAxcHg7XG4gIH1cbn0iLCIuYWNjb3VudC1tZW51IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDA7XG4gIHRvcDogNThweDtcbiAgd2lkdGg6IDMxMHB4O1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gICAgcmlnaHQ6IGNhbGMoKCgxMDB2dyAtIDEwMCUpIC8gMikgKyA4cHgpO1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgICByaWdodDogY2FsYygoMTAwdncgLSA4NXZ3KSAvIDIpO1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICByaWdodDogY2FsYygoMTAwdncgLSA4MHZ3KSAvIDIpO1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI4MXB4KSB7XG4gICAgcmlnaHQ6IGNhbGMoKDEwMHZ3IC0gNjV2dykgLyAyKTtcbiAgfVxuXG4gICZfX2ljb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICZfX2hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAmX19sb2dvdXQtYnV0dG9uIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZHVzdHktZ3JheTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDIzcHg7XG4gICAgcGFkZGluZzogMCAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgfVxuXG4gICZfX2FjY291bnRzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDI0MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyMDA7XG5cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gICAgICBtYXgtaGVpZ2h0OiAyMTVweDtcbiAgICB9XG5cbiAgICAua2V5cmluZy1sYWJlbCB7XG4gICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICBjb2xvcjogJGR1c3R5LWdyYXk7XG4gICAgfVxuICB9XG5cbiAgJl9fYWNjb3VudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgcGFkZGluZzogMTZweCAxNHB4O1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgICAgIHBhZGRpbmc6IDEycHggMTRweDtcbiAgICB9XG4gIH1cblxuICAmX19hY2NvdW50LWluZm8ge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgIHBhZGRpbmctdG9wOiA0cHg7XG4gIH1cblxuICAmX19jaGVjay1tYXJrIHtcbiAgICB3aWR0aDogMTRweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cblxuICAmX19jaGVjay1tYXJrLWljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImltYWdlcy9jaGVjay13aGl0ZS5zdmdcIik7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBtYXJnaW46IDNweCAwO1xuICB9XG5cbiAgLmlkZW50aWNvbiB7XG4gICAgbWFyZ2luOiAwIDEycHggMCAwO1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG5cbiAgJl9fbmFtZSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgfVxuXG4gICZfX2JhbGFuY2Uge1xuICAgIGNvbG9yOiAkZHVzdHktZ3JheTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE5cHg7XG4gIH1cblxuICAmX19hY3Rpb24ge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICBmb250LXdlaWdodDogMjAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuIiwiLm1lbnUge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAuOCk7XG4gIGJveC1zaGFkb3c6IHJnYmEoJGJsYWNrLCAuMTUpIDAgMnB4IDJweCAycHg7XG4gIG1pbi13aWR0aDogMTUwcHg7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgJl9faXRlbSB7XG4gICAgcGFkZGluZzogMThweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyMDA7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gICAgICBwYWRkaW5nOiAxNHB4O1xuICAgIH1cblxuICAgICYtLWNsaWNrYWJsZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR3aGl0ZSwgLjA1KTtcbiAgICAgIH1cblxuICAgICAgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR3aGl0ZSwgLjEpO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE0cHg7XG4gICAgfVxuXG4gICAgJl9fdGV4dCB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjFweDtcbiAgICB9XG4gIH1cblxuICAmX19kaXZpZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2NvcnBpb247XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxcHg7XG4gIH1cblxuICAmX19jbG9zZS1hcmVhIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgfVxufVxuIiwiLmdhcy1zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAzMTNweDtcblxuICAmX19pbnB1dCB7XG4gICAgd2lkdGg6IDMxN3B4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICBpbnB1dFt0eXBlPXJhbmdlXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICBpbnB1dFt0eXBlPXJhbmdlXTo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMjZweDtcbiAgICB3aWR0aDogMjZweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjQjhCOEI4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgwLDAsMCwwLjA4KTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDEwO1xuICB9XG5cbiAgJl9fYmFyIHtcbiAgICBoZWlnaHQ6IDZweDtcbiAgICB3aWR0aDogMzEzcHg7XG4gICAgYmFja2dyb3VuZDogJGFsdG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTFweDtcbiAgICB6LWluZGV4OiAwO1xuICB9XG5cbiAgJl9fbG93LCAmX19oaWdoIHtcbiAgICBoZWlnaHQ6IDZweDtcbiAgICB3aWR0aDogNDlweDtcbiAgICB6LWluZGV4OiAxO1xuICB9XG5cbiAgJl9fbG93IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3JpbXNvbjtcbiAgfVxuXG4gICZfX2hpZ2gge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJpYmJlYW4tZ3JlZW47XG4gIH1cbn0iLCIuc2V0dGluZ3Mge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4uc2V0dGluZ3NfX2hlYWRlciB7XG4gIHBhZGRpbmc6IDI1cHg7XG59XG5cbi5zZXR0aW5nc19fY2xvc2UtYnV0dG9uOjphZnRlciB7XG4gIGNvbnRlbnQ6ICdcXDAwRDcnO1xuICBmb250LXNpemU6IDQwcHg7XG4gIGNvbG9yOiAkZHVzdHktZ3JheTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDI1cHg7XG4gIHJpZ2h0OiAzMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5zZXR0aW5nc19fZXJyb3Ige1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogJGNyaW1zb247XG59XG5cbi5zZXR0aW5nc19fY29udGVudCB7XG4gIHBhZGRpbmc6IDAgMjVweDtcbn1cblxuLnNldHRpbmdzX19jb250ZW50LXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIHBhZGRpbmc6IDEwcHggMCAyMHB4O1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gIH1cbn1cblxuLnNldHRpbmdzX19jb250ZW50LWl0ZW0ge1xuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmc6IDAgNXB4O1xuICBoZWlnaHQ6IDcxcHg7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgICBoZWlnaHQ6IGluaXRpYWw7XG4gICAgcGFkZGluZzogNXB4IDA7XG4gIH1cblxuICAmLS13aXRob3V0LWhlaWdodCB7XG4gICAgaGVpZ2h0OiBpbml0aWFsO1xuICB9XG59XG5cbi5zZXR0aW5nc19fY29udGVudC1pdGVtLWNvbCB7XG4gIG1heC13aWR0aDogMzAwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLnNldHRpbmdzX19jb250ZW50LWRlc2NyaXB0aW9uIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogJGR1c3R5LWdyYXk7XG4gIHBhZGRpbmctdG9wOiA1cHg7XG59XG5cbi5zZXR0aW5nc19faW5wdXQge1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAkYWx0bztcbn1cblxuLnNldHRpbmdzX19pbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG4gIGNvbG9yOiAkZHVzdHktZ3JheTtcbn1cblxuLnNldHRpbmdzX19pbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG4gIGNvbG9yOiAkZHVzdHktZ3JheTtcbn1cblxuLnNldHRpbmdzX19pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBmb250LXdlaWdodDogMTAwO1xuICBjb2xvcjogJGR1c3R5LWdyYXk7XG59XG5cbi5zZXR0aW5nc19faW5wdXQ6LW1vei1wbGFjZWhvbGRlciB7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG4gIGNvbG9yOiAkZHVzdHktZ3JheTtcbn1cblxuLnNldHRpbmdzX19wcm92aWRlci13cmFwcGVyIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAkYWx0bztcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBwYWRkaW5nOiAxNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLnNldHRpbmdzX19wcm92aWRlci1pY29uIHtcbiAgaGVpZ2h0OiAxMHB4O1xuICB3aWR0aDogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xufVxuXG4uc2V0dGluZ3NfX3JwYy1zYXZlLWJ1dHRvbiB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICBwYWRkaW5nOiA1cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAkZHVzdHktZ3JheTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uc2V0dGluZ3NfX2NsZWFyLWJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgYm9yZGVyOiAxcHggc29saWQgJGN1cmlvdXMtYmx1ZTtcbiAgY29sb3I6ICRjdXJpb3VzLWJsdWU7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgcGFkZGluZzogMThweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uc2V0dGluZ3NfX2NsZWFyLWJ1dHRvbi0tcmVkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJG1vbnpvO1xuICBjb2xvcjogJG1vbnpvO1xufVxuXG4uc2V0dGluZ3NfX2luZm8tbG9nby13cmFwcGVyIHtcbiAgaGVpZ2h0OiA4MHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uc2V0dGluZ3NfX2luZm8tbG9nbyB7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLnNldHRpbmdzX19pbmZvLWl0ZW0ge1xuICBwYWRkaW5nOiAxMHB4IDA7XG59XG5cbi5zZXR0aW5nc19faW5mby1saW5rLWhlYWRlciB7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgfVxufVxuXG4uc2V0dGluZ3NfX2luZm8tbGluay1pdGVtIHtcbiAgcGFkZGluZzogMTVweCAwO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gICAgcGFkZGluZzogNXB4IDA7XG4gIH1cbn1cblxuLnNldHRpbmdzX19pbmZvLXZlcnNpb24tbnVtYmVyIHtcbiAgcGFkZGluZy10b3A6IDVweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBjb2xvcjogJGR1c3R5LWdyYXk7XG59XG5cbi5zZXR0aW5nc19faW5mby1hYm91dCB7XG4gIGNvbG9yOiAkZHVzdHktZ3JheTtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLnNldHRpbmdzX19pbmZvLWxpbmsge1xuICBjb2xvcjogJGN1cmlvdXMtYmx1ZTtcbn1cblxuLnNldHRpbmdzX19pbmZvLXNlcGFyYXRvciB7XG4gIG1hcmdpbjogMTVweCAwO1xuICB3aWR0aDogODBweDtcbiAgYm9yZGVyLWNvbG9yOiAkYWx0bztcbiAgYm9yZGVyOiBub25lO1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFsdG87XG4gIGNvbG9yOiAkYWx0bztcbn1cbiIsIi50YWItYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbi50YWItYmFyX190YWIge1xuICBtaW4td2lkdGg6IDA7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBwYWRkaW5nOiAxNXB4IDI1cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYWx0bztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4udGFiLWJhcl9fdGFiLS1hY3RpdmUge1xuICBib3JkZXItY29sb3I6ICRibGFjaztcbn1cblxuLnRhYi1iYXJfX2dyb3ctdGFiIHtcbiAgZmxleC1ncm93OiAxO1xufVxuIiwiLnNpbXBsZS1kcm9wZG93biB7XG4gIGhlaWdodDogNTZweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6IDFweCBzb2xpZCAkYWx0bztcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6ICM0ZDRkNGQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc2ltcGxlLWRyb3Bkb3duX19jYXJldCB7XG4gIGNvbG9yOiAkc2lsdmVyO1xuICBwYWRkaW5nOiAwIDEwcHg7XG59XG5cbi5zaW1wbGUtZHJvcGRvd25fX3NlbGVjdGVkIHtcbiAgZmxleC1ncm93OiAxO1xuICBwYWRkaW5nOiAwIDE1cHg7XG59XG5cbi5zaW1wbGUtZHJvcGRvd25fX29wdGlvbnMge1xuICB6LWluZGV4OiAxMDUwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMjIwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDJkOGRkO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAzcHggNnB4IDAgcmdiYSgwLCAwLCAwLCAuMTEpO1xuICBib3gtc2hhZG93OiAwIDNweCA2cHggMCByZ2JhKDAsIDAsIDAsIC4xMSk7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgbGVmdDogMDtcbiAgdG9wOiAxMDAlO1xufVxuXG4uc2ltcGxlLWRyb3Bkb3duX19vcHRpb24ge1xuICBwYWRkaW5nOiAxMHB4O1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRnYWxsZXJ5O1xuICB9XG59XG5cbi5zaW1wbGUtZHJvcGRvd25fX29wdGlvbi0tc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWx0bztcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWx0bztcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cbn1cblxuLnNpbXBsZS1kcm9wZG93bl9fY2xvc2UtYXJlYSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuIiwiLnJlcXVlc3Qtc2lnbmF0dXJlIHtcbiAgJl9fY29udGFpbmVyIHtcbiAgICB3aWR0aDogMzgwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA0cHggMCByZ2JhKDAsMCwwLDAuMDgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgIHotaW5kZXg6IDI1O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6IFJvYm90bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrLXNtYWxsKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLWxhcmdlKSB7XG4gICAgICBtYXgtaGVpZ2h0OiA2MjBweDtcbiAgICB9XG4gIH1cblxuICAmX19oZWFkZXIge1xuICAgIGhlaWdodDogNjRweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG5cbiAgJl9faGVhZGVyLWJhY2tncm91bmQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXRoZW5zLWdyZXk7XG4gICAgei1pbmRleDogMjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAmX19oZWFkZXJfX3RleHQge1xuICAgIGhlaWdodDogMjlweDtcbiAgICB3aWR0aDogMTc5cHg7XG4gICAgY29sb3I6ICM1QjVENjc7XG4gICAgZm9udC1mYW1pbHk6IFJvYm90bztcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsaW5lLWhlaWdodDogMjlweDtcbiAgICB6LWluZGV4OiAzO1xuICB9XG5cbiAgJl9faGVhZGVyX190aXAtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgJl9faGVhZGVyX190aXAge1xuICAgIGhlaWdodDogMjVweDtcbiAgICB3aWR0aDogMjVweDtcbiAgICBiYWNrZ3JvdW5kOiAkYXRoZW5zLWdyZXk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC04cHg7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gICZfX2FjY291bnQtaW5mbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luLXRvcDogMThweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG5cbiAgJl9fYWNjb3VudCB7XG4gICAgY29sb3I6ICRkdXN0eS1ncmF5O1xuICAgIG1hcmdpbi1sZWZ0OiAxN3B4O1xuICB9XG5cbiAgJl9fYWNjb3VudC10ZXh0IHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cblxuICAmX19iYWxhbmNlIHtcbiAgICBjb2xvcjogJGR1c3R5LWdyYXk7XG4gICAgbWFyZ2luLXJpZ2h0OiAxN3B4O1xuICAgIHdpZHRoOiAxMjRweDtcbiAgfVxuXG4gICZfX2JhbGFuY2UtdGV4dCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG5cbiAgJl9fYmFsYW5jZS12YWx1ZSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgbWFyZ2luLXRvcDogMi41cHg7XG4gIH1cblxuICAmX19yZXF1ZXN0LWljb24ge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gIH1cblxuICAmX19ib2R5IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBoZWlnaHQ6IDA7XG4gIH1cblxuICAmX19yZXF1ZXN0LWluZm8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAmX19oZWFkbGluZSB7XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIHdpZHRoOiAyNDBweDtcbiAgICBjb2xvcjogJHR1bmRvcmE7XG4gICAgZm9udC1mYW1pbHk6IFJvYm90bztcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxuXG4gICZfX25vdGljZSxcbiAgJl9fd2FybmluZyB7XG4gICAgZm9udC1mYW1pbHk6IFwiQXZlbmlyIE5leHRcIjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE5cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDQxcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTFweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICZfX25vdGljZSB7XG4gICAgY29sb3I6ICRkdXN0eS1ncmF5O1xuICB9XG5cbiAgJl9fd2FybmluZyB7XG4gICAgY29sb3I6ICRjcmltc29uO1xuICB9XG5cbiAgJl9fcm93cyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRnZXlzZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgfVxuXG4gICZfX3JvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgfVxuXG4gICZfX3Jvdy10aXRsZSB7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgY29sb3I6ICRkdXN0eS1ncmF5O1xuICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgbWFyZ2luLWxlZnQ6IDE4cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmX19yb3ctdmFsdWUge1xuICAgIGNvbG9yOiAkc2NvcnBpb247XG4gICAgZm9udC1mYW1pbHk6IFJvYm90bztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE5cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QyZDhkZDtcbiAgICBwYWRkaW5nOiA2cHggMThweCAxNXB4O1xuICB9XG5cbiAgJl9fZm9vdGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdleXNlcjtcblxuICAgICZfX2NhbmNlbC1idXR0b24sXG4gICAgJl9fc2lnbi1idXR0b24ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgZm9udC1mYW1pbHk6IFJvYm90bztcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBoZWlnaHQ6IDU1cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBtYXgtd2lkdGg6IDE2MnB4O1xuICAgICAgbWFyZ2luOiAxMnB4O1xuICAgIH1cblxuICAgICZfX2NhbmNlbC1idXR0b24ge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkdXN0eS1ncmF5O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgfVxuXG4gICAgJl9fc2lnbi1idXR0b24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmliYmVhbi1ncmVlbjtcbiAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBtYXJnaW4tbGVmdDogNnB4O1xuICAgIH1cbiAgfVxufSIsIi5hY2NvdW50LWRyb3Bkb3duLW1pbmkge1xuICBoZWlnaHQ6IDIycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgZm9udC1mYW1pbHk6IFJvYm90bztcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgd2lkdGg6IDEyNHB4O1xuXG4gICZfX2Nsb3NlLWFyZWEge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gICZfX2xpc3Qge1xuICAgIHotaW5kZXg6IDEwNTA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMTgwcHg7XG4gICAgd2lkdGg6IDk2cHhweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ2V5c2VyO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm94LXNoYWRvdzogMCAzcHggNnB4IDAgcmdiYSgwICwwICwwICwuMTEpO1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgfVxuXG4gIC5hY2NvdW50LWxpc3QtaXRlbSB7XG4gICAgbWFyZ2luLXRvcDogNnB4O1xuICB9XG5cbiAgLmFjY291bnQtbGlzdC1pdGVtX19hY2NvdW50LW5hbWUge1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB3aWR0aDogODBweDtcbiAgfVxuXG4gIC5hY2NvdW50LWxpc3QtaXRlbV9fdG9wLXJvdyB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmFjY291bnQtbGlzdC1pdGVtX19pY29uIHtcbiAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgfVxufSIsIi5lZGl0YWJsZS1sYWJlbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJl9fdmFsdWUge1xuICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB9XG5cbiAgJl9faW5wdXQge1xuICAgIHdpZHRoOiAyNTBweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRhbHRvO1xuXG4gICAgJi0tZXJyb3Ige1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJG1vbnpvO1xuICAgIH1cbiAgfVxuXG4gICZfX2ljb24td3JhcHBlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIGxlZnQ6IDEwMCU7XG4gIH1cblxuICAmX19pY29uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICRkdXN0eS1ncmF5O1xuICB9XG59XG4iLCIvKlxuICBUcnVtcHNcbiAqL1xuXG4vLyBUcmFuc2l0aW9uc1xuXG4vKiB1bml2ZXJzYWwgKi9cbi5hcHAtcHJpbWFyeSAubWFpbi1lbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qIGNlbnRlciBwb3NpdGlvbiAqL1xuLmFwcC1wcmltYXJ5LmZyb20tcmlnaHQgLm1haW4tZW50ZXItYWN0aXZlLFxuLmFwcC1wcmltYXJ5LmZyb20tbGVmdCAubWFpbi1lbnRlci1hY3RpdmUge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2UtaW47XG59XG5cbi8qIGV4aXRlZCBwb3NpdGlvbnMgKi9cbi5hcHAtcHJpbWFyeS5mcm9tLWxlZnQgLm1haW4tbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDM2MHB4KTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGVhc2UtaW47XG59XG5cbi5hcHAtcHJpbWFyeS5mcm9tLXJpZ2h0IC5tYWluLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzYwcHgpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgZWFzZS1pbjtcbn1cblxuLnNpZGViYXIuZnJvbS1sZWZ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMjBweCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcyBlYXNlLWluO1xufVxuXG4vKiBsb2FkZXIgdHJhbnNpdGlvbnMgKi9cbi5sb2FkZXItZW50ZXIsXG4ubG9hZGVyLWxlYXZlLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwIGVhc2UtaW47XG59XG5cbi5sb2FkZXItZW50ZXItYWN0aXZlLFxuLmxvYWRlci1sZWF2ZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwIGVhc2UtaW47XG59XG5cbi8qIGVudGVyaW5nIHBvc2l0aW9ucyAqL1xuLmFwcC1wcmltYXJ5LmZyb20tcmlnaHQgLm1haW4tZW50ZXI6bm90KC5tYWluLWVudGVyLWFjdGl2ZSkge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzYwcHgpO1xufVxuXG4uYXBwLXByaW1hcnkuZnJvbS1sZWZ0IC5tYWluLWVudGVyOm5vdCgubWFpbi1lbnRlci1hY3RpdmUpIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zNjBweCk7XG59XG5cbmkuZmEuZmEtcXVlc3Rpb24tY2lyY2xlLmZhLWxnLm1lbnUtaWNvbiB7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cblxuLy8gVGhpcyB0ZXh0IGlzIGNvbnRhaW5lZCBpbnNpZGUgYSBkaXYuXG4vLyBJRCBuZWVkZWQgdG8gb3ZlcnJpZGUgdXNlciBhZ2VudCBzdHlsZXNoZWV0LlxuLy8gU2VlIGNvbXBvbmVudHMvbW9kYWwuc2Nzc1xuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuI2J1eS1tb2RhbC1jb250ZW50LWZvb3Rlci10ZXh0IHtcbiAgZm9udC1mYW1pbHk6ICdESU4gT1QnO1xuICBmb250LXNpemU6IDE2cHg7XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7OztHQUtHO0FFTEg7O0dBRUc7QUFTSDs7O0dBR0c7QUErQkg7O0dBRUc7QUFXSDs7Ozs7OztHQU9HO0FBRUg7O0dBRUc7QUNyRUgs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QUc7QUFDSCxBQUFBLElBQUk7QUFDSixBQUFBLE1BQU07QUFDTixBQUFBLE1BQU07QUFDTixBQUFBLE1BQU07QUFDTixBQUFBLEVBQUU7QUFDRixBQUFBLEVBQUU7QUFDRixBQUFBLEVBQUU7QUFDRixBQUFBLEVBQUU7QUFDRixBQUFBLEVBQUU7QUFDRixBQUFBLEVBQUU7QUFDRixBQUFBLENBQUM7QUFDRCxBQUFBLFVBQVU7QUFDVixBQUFBLEdBQUc7QUFDSCxBQUFBLENBQUM7QUFDRCxBQUFBLElBQUk7QUFDSixBQUFBLE9BQU87QUFDUCxBQUFBLE9BQU87QUFDUCxBQUFBLEdBQUc7QUFDSCxBQUFBLElBQUk7QUFDSixBQUFBLElBQUk7QUFDSixBQUFBLEdBQUc7QUFDSCxBQUFBLEdBQUc7QUFDSCxBQUFBLEVBQUU7QUFDRixBQUFBLEdBQUc7QUFDSCxBQUFBLEdBQUc7QUFDSCxBQUFBLEdBQUc7QUFDSCxBQUFBLENBQUM7QUFDRCxBQUFBLENBQUM7QUFDRCxBQUFBLElBQUk7QUFDSixBQUFBLEtBQUs7QUFDTCxBQUFBLE1BQU07QUFDTixBQUFBLE1BQU07QUFDTixBQUFBLEdBQUc7QUFDSCxBQUFBLEdBQUc7QUFDSCxBQUFBLEVBQUU7QUFDRixBQUFBLEdBQUc7QUFDSCxBQUFBLENBQUM7QUFDRCxBQUFBLENBQUM7QUFDRCxBQUFBLENBQUM7QUFDRCxBQUFBLE1BQU07QUFDTixBQUFBLEVBQUU7QUFDRixBQUFBLEVBQUU7QUFDRixBQUFBLEVBQUU7QUFDRixBQUFBLEVBQUU7QUFDRixBQUFBLEVBQUU7QUFDRixBQUFBLEVBQUU7QUFDRixBQUFBLFFBQVE7QUFDUixBQUFBLElBQUk7QUFDSixBQUFBLEtBQUs7QUFDTCxBQUFBLE1BQU07QUFDTixBQUFBLEtBQUs7QUFDTCxBQUFBLE9BQU87QUFDUCxBQUFBLEtBQUs7QUFDTCxBQUFBLEtBQUs7QUFDTCxBQUFBLEtBQUs7QUFDTCxBQUFBLEVBQUU7QUFDRixBQUFBLEVBQUU7QUFDRixBQUFBLEVBQUU7QUFDRixBQUFBLE9BQU87QUFDUCxBQUFBLEtB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 */ diff --git a/old-ui/app/css/reset.css b/old-ui/app/css/reset.css deleted file mode 100644 index 9ce89e8bc..000000000 --- a/old-ui/app/css/reset.css +++ /dev/null @@ -1,48 +0,0 @@ -/* http://meyerweb.com/eric/tools/css/reset/ - v2.0 | 20110126 - License: none (public domain) -*/ - -html, body, div, span, applet, object, iframe, -h1, h2, h3, h4, h5, h6, p, blockquote, pre, -a, abbr, acronym, address, big, cite, code, -del, dfn, em, img, ins, kbd, q, s, samp, -small, strike, strong, sub, sup, tt, var, -b, u, i, center, -dl, dt, dd, ol, ul, li, -fieldset, form, label, legend, -table, caption, tbody, tfoot, thead, tr, th, td, -article, aside, canvas, details, embed, -figure, figcaption, footer, header, hgroup, -menu, nav, output, ruby, section, summary, -time, mark, audio, video { - margin: 0; - padding: 0; - border: 0; - font-size: 100%; - font: inherit; - vertical-align: baseline; -} -/* HTML5 display-role reset for older browsers */ -article, aside, details, figcaption, figure, -footer, header, hgroup, menu, nav, section { - display: block; -} -body { - line-height: 1; -} -ol, ul { - list-style: none; -} -blockquote, q { - quotes: none; -} -blockquote:before, blockquote:after, -q:before, q:after { - content: ''; - content: none; -} -table { - border-collapse: collapse; - border-spacing: 0; -} \ No newline at end of file diff --git a/old-ui/app/css/transitions.css b/old-ui/app/css/transitions.css deleted file mode 100644 index 393a944f9..000000000 --- a/old-ui/app/css/transitions.css +++ /dev/null @@ -1,42 +0,0 @@ -/* universal */ -.app-primary .main-enter { - position: absolute; - width: 100%; -} - -/* center position */ -.app-primary.from-right .main-enter-active, -.app-primary.from-left .main-enter-active { - overflow-x: hidden; - transform: translateX(0px); - transition: transform 300ms ease-in; -} - -/* exited positions */ -.app-primary.from-left .main-leave-active { - transform: translateX(360px); - transition: transform 300ms ease-in; -} -.app-primary.from-right .main-leave-active { - transform: translateX(-360px); - transition: transform 300ms ease-in; -} - -/* loader transitions */ -.loader-enter, .loader-leave-active { - opacity: 0.0; - transition: opacity 150 ease-in; -} -.loader-enter-active, .loader-leave { - opacity: 1.0; - transition: opacity 150 ease-in; -} - -/* entering positions */ -.app-primary.from-right .main-enter:not(.main-enter-active) { - transform: translateX(360px); -} -.app-primary.from-left .main-enter:not(.main-enter-active) { - transform: translateX(-360px); -} - diff --git a/old-ui/app/first-time/init-menu.js b/old-ui/app/first-time/init-menu.js deleted file mode 100644 index 4f1d5d186..000000000 --- a/old-ui/app/first-time/init-menu.js +++ /dev/null @@ -1,179 +0,0 @@ -const inherits = require('util').inherits -const EventEmitter = require('events').EventEmitter -const Component = require('react').Component -const connect = require('react-redux').connect -const h = require('react-hyperscript') -const Mascot = require('../components/mascot') -const actions = require('../../../ui/app/actions') -const Tooltip = require('../components/tooltip') -const getCaretCoordinates = require('textarea-caret') - -module.exports = connect(mapStateToProps)(InitializeMenuScreen) - -inherits(InitializeMenuScreen, Component) -function InitializeMenuScreen () { - Component.call(this) - this.animationEventEmitter = new EventEmitter() -} - -function mapStateToProps (state) { - return { - // state from plugin - currentView: state.appState.currentView, - warning: state.appState.warning, - } -} - -InitializeMenuScreen.prototype.render = function () { - var state = this.props - - switch (state.currentView.name) { - - default: - return this.renderMenu(state) - - } -} - -// InitializeMenuScreen.prototype.componentDidMount = function(){ -// document.getElementById('password-box').focus() -// } - -InitializeMenuScreen.prototype.renderMenu = function (state) { - return ( - - h('.initialize-screen.flex-column.flex-center.flex-grow', [ - - h(Mascot, { - animationEventEmitter: this.animationEventEmitter, - }), - - h('h1', { - style: { - fontSize: '1.3em', - textTransform: 'uppercase', - color: '#7F8082', - marginBottom: 10, - }, - }, 'MetaMask'), - - - h('div', [ - h('h3', { - style: { - fontSize: '0.8em', - color: '#7F8082', - display: 'inline', - }, - }, 'Encrypt your new DEN'), - - h(Tooltip, { - title: 'Your DEN is your password-encrypted storage within MetaMask.', - }, [ - h('i.fa.fa-question-circle.pointer', { - style: { - fontSize: '18px', - position: 'relative', - color: 'rgb(247, 134, 28)', - top: '2px', - marginLeft: '4px', - }, - }), - ]), - ]), - - h('span.in-progress-notification', state.warning), - - // password - h('input.large-input.letter-spacey', { - type: 'password', - id: 'password-box', - placeholder: 'New Password (min 8 chars)', - onInput: this.inputChanged.bind(this), - style: { - width: 260, - marginTop: 12, - }, - }), - - // confirm password - h('input.large-input.letter-spacey', { - type: 'password', - id: 'password-box-confirm', - placeholder: 'Confirm Password', - onKeyPress: this.createVaultOnEnter.bind(this), - onInput: this.inputChanged.bind(this), - style: { - width: 260, - marginTop: 16, - }, - }), - - - h('button.primary', { - onClick: this.createNewVaultAndKeychain.bind(this), - style: { - margin: 12, - }, - }, 'Create'), - - h('.flex-row.flex-center.flex-grow', [ - h('p.pointer', { - onClick: this.showRestoreVault.bind(this), - style: { - fontSize: '0.8em', - color: 'rgb(247, 134, 28)', - textDecoration: 'underline', - }, - }, 'Import Existing DEN'), - ]), - - ]) - ) -} - -InitializeMenuScreen.prototype.createVaultOnEnter = function (event) { - if (event.key === 'Enter') { - event.preventDefault() - this.createNewVaultAndKeychain() - } -} - -InitializeMenuScreen.prototype.componentDidMount = function () { - document.getElementById('password-box').focus() -} - -InitializeMenuScreen.prototype.showRestoreVault = function () { - this.props.dispatch(actions.showRestoreVault()) -} - -InitializeMenuScreen.prototype.createNewVaultAndKeychain = function () { - var passwordBox = document.getElementById('password-box') - var password = passwordBox.value - var passwordConfirmBox = document.getElementById('password-box-confirm') - var passwordConfirm = passwordConfirmBox.value - - if (password.length < 8) { - this.warning = 'password not long enough' - this.props.dispatch(actions.displayWarning(this.warning)) - return - } - if (password !== passwordConfirm) { - this.warning = 'passwords don\'t match' - this.props.dispatch(actions.displayWarning(this.warning)) - return - } - - this.props.dispatch(actions.createNewVaultAndKeychain(password)) -} - -InitializeMenuScreen.prototype.inputChanged = function (event) { - // tell mascot to look at page action - var element = event.target - var boundingRect = element.getBoundingClientRect() - var coordinates = getCaretCoordinates(element, element.selectionEnd) - this.animationEventEmitter.emit('point', { - x: boundingRect.left + coordinates.left - element.scrollLeft, - y: boundingRect.top + coordinates.top - element.scrollTop, - }) -} diff --git a/old-ui/app/img/identicon-tardigrade.png b/old-ui/app/img/identicon-tardigrade.png deleted file mode 100644 index 1742a32b86ce371dc6754660e0effe31bbef5512..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 141119 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
$!^&k9QRw6GN3b5*WkEES5I+;qS` zW!;3P_2u~^h6VR)$amE} z!5?wS;xx^3$#tYJNOPHP@CaX#TG^iVlvB8z_Afi%ilMfh=S&y=gx!4P%9 zx)9CzSOxH~bX-7B>9s=XNk4-#Cl9bj-p_23f^DbZ8V`qFT5=A1{rs#neDTEx;Hsn8 zq0uJJVjafE(B{}q7utxgoyX(HPr8S1J&XnM;tMar1GX(6X=8ubU6h8F=QT8!{~bO$ zTQg-A(YBTzzSF8}RvKr%Fj+8XJ=Fq>%N5p{3Z`9_C^v^up$VN54bN|s372=DDHwkm zek^+pd5OF9IK)!E#}<}NjLeeScr*?s!u&vhT7!?}O=1*nQI@e-ek zyQJw{96Gyr^oZ$f*LbNPJUYT@eCzG!Y4gPf(t6~mJ(Xt}4L|hqr~kYZi+9J2-u1&M z7+D@ogFvTP5uQmRlUQIHmj*H1Foo~A_LWBokat7!@1+Sd^)O7ce_2k-vb_HC{ks)R zKnwil5^gK8$GtDxl)`GErLYV`#aCHWCS^HBx4!W~Kp%z0sm}lXKm3R8YhU|X_W}ng zNv~gf`Q>aT)PJJ25aED$GOREajL@~O=Q)h3MUstTC##VWNN1tb+%=H3QX@Y zkonM<7R=glJ`BdSVf}{8C_LjlRo>I_WkPGG6S7qk#-n{_Fta`k71hO4W>@&_p-yXh zxOQeN-_3!kvc?4n;&q9V({CYuDkEpzJOF71o^yN?DkfwHoWTVlu+FB-aDzM`gHX}A z5HGw&=hjK&BsF&b-s7Yrg+!&A^)bNF&qQ;gAXH+`TyTfp)=Qdh=-I84zLR`TmN;Z8 z%1B0+7h*M|DD3SO?o%uchln3zZOomsJ6UV;=EJwJoDe{)g%Na)5@eXEK$*`&!E7@Z z$f=x{C^Qw)9hC0_tU?#&`SG<&PO-bf@(}KX724rh(^00qyUtkoKp&dJYpRwysbHt% zTcGsx6{%pQ>knT29*TO^ow|aSVXF$J)s^}}M~8L)jj;RB((B6Z#C}l)RG|W56#ya< z1em*-$xdu`P_{;DjWv?TYmG;vegV%b@C9r?g)KjT*BX0SYb140C$iPeW&)9O&M4&I z|8Jk~6hER{;|tun-@W(T6ZhU{r?U_7xH&kc?b;t)E)E2}31{&j3fOxgIEV%jD#B*0 zJh2L;&YLzpG3<)>_|toy9bW#@tHY~beq(s;rB|cF`SS40-lxOuCN5Cm*)9vW;?sqg zhdnF~9zn6J1fh8p|15e){lsTxa`TgW-_>{n=bArhY8%Kti*{mB*AZdp&q5B`cloA( zCGSyZza6fXe;Ql)kDmEnI%hwW=ag3-~ayihp%PfAwWTf5EMYJO;}h;QOgD(%Jm?wnYH>f z8JmT%;4@63$rb_vAc#w;S`K>wHll~R(Jf4exZKICbup$%910}Hy3XfZ7X_ZEW{A&R z5X6holH3XDa=rjt)vqfDOO}J2HD-ith&k0>Pb4fg4Vtz6*f}cOq}rCqRzt z;PXKi4-gg6K$oqJiwr~s#kGL`ZH~mj)+rr4>Bc_ za>SE959>P$OMP3!#`FAka8p>3{BSJBWR^o&kUEc3SN&k6bR6U|2*yd=8Yg6#OR%Sn z;a>EQhODNu%C{yL^*S5w@Y1Dt;)bB(j4XA)wcw1bA-WJf4Q1)-jLQtCz7$%f;gm%; zb1x^6mZPD%+=w`epoCI{tGpO4CYG-dT*Tt=p@YNuEZ!6#To9_Rq^8X0E&d?m2YyTp z{Yw8R(%$`W6~?3bHXR76QvoQy?|l=rr8?(t%l35*^$fF03f;9kc=tbSJf z-Q0Ihrh9}+TZlYLTfYM=4)4ZK&pLtW`Fb`^V0`Z|DC*QtPurV%z5FL7v=@0mM<~zgx{Gb1GT>7_VmJBx#0HCZ*j};>8 z8!WnfST?K;ngPU_kq{D<%Hxz7j>te~w!%8wD~A#n$3T8v9Ua8Ih)4F(X&i}`5S?NP z30;Qh2m}C!Scu4)ASDjK%t;TxS^)4%yvd>yEV-^Rt}8-3aRS`Pi5>`BEsP67L3&~n zG4O8ca6e@%MIneoO5(`!jp(s>0A5PKhXL~9d;;i|hNzUn%36^&mG4B#hOoE{eSoki z3$f5T&*bNsH2h9D=UEDHH_A&c_38``>3eW7H96)PaT1~yL2{q|$A$1rUL7K=A4KTa z^TZYt17#(y0Vl)Sx8;c~dG=tq5V7%mh^^%vb8~Bk`EVY_CAh4_=Z_JrGcCOWI_!xm8wS4VUfrXt+T zy%040gb+_I?tJRq^mr>f*G^yzb|FaKbRsZ*EhruTP#&oeSQRs?gi!iJT63)em4=`&JMdMOpgQ(AR{5+Zo87r&2 zAWFVL(1|vCLfp%4~z`4tIp;Y+S#gRz)A!|5SALo~k6Y~S^6AzvXAW~p_0tDSyh<8SC! z>GHeoO*M{w8KtQ<<+p)zjvsAMN1W2=y=RZ7{X#l=1Q9xOZO+w+6~p|QqSA(pQ}VhQ@e9IY)o(=CaxE5xK>Kj@@}+76 zf+Fo4ug_7tA;D5CGLUO2WzpwcPJ6Z4?7S2JMcC+gE=6y_U!y4s+pYjO5_uwmh<3AP zHjYZa-ijiTw%jP{H~kH85krVW3_zIMd$5UMB)^Cn%*HxO8}m^Ouq{#%jDqyMa3uz^ zoUMv(gE+M^-{N?fpM88S`V;`Te(m~Y5osn~w$>nBx^yN)_)5NK?ORb?#Z_$$_j4`% zfs0wYZZ`dSB_`sdA#ULaqr}Ax&V@szu)mjnFWps!VW|RfH6lj*x*ZNzn->=ri+Jt( z^wUf|*kQB(>aYJ@InOcOG5}^k znZHjWE@oEbFSV`j=o-xQS6LFyoi2IVOjR>`^2Yu`{wv`&=sTJU+P7+qWyfx}{c~^z zI1FM?u%pt@@vKWg?%B-9@K?i*kH9U1Q!^5-TIhfivVXPjCiz648x$@OJ3TIqq~(A z#AZUK*xUI{iLAbh3FT&4PmX6^Tgwa4Ve? zVX7wnAy^1dIS8gMCJLfq*YOY+<;elEaifis(~t8JF=tp!VkuIeGg-?d5EJp!K0@k4 z>@WJLuq%hSqm6Vii1YPu zq&LFZZQ1ffiDs59oJ(C0L=g=st~(d4ea5sF*}7_Lf{PaylYTZv_nm<=SE4n4pj4q8 zR4wwX#h2;Va>~raMC5IgVT=vwC$LUQY+}S|S)8ff;D$P3U5L%rt=mIro*ec(wI@p6 z?YrMa-LddE1@f#DAt-ZTsH1^T9g=KB7(xsnGfz%e>NM~Dc10BW>ApWJ)=ejj($sZC zSgK=mN=`=+uUwUh1pF4ENaw*i?_I~!^xxiD2`aBTM){|dy5;rDBawz(=Ky8^={-%j z!G`Gn@qhXc!yo_2A4lOAnL0D7{CPAAC{#Q6rGIcRbT#)P4j@)^A&3ia%nNbd79x@k zffdH$N5Bnn&D^CZ1^hwGR3PjjmqG;e zC&GF$voi#u2dHgGaz$u}TDL#-0>1xD9{X9>{6_c|yL2Dxt2zDAZy6>x?Re^4 zNUd`nC9eV600v-UrbcY4av(gTqGK?bo*^y{DBFocaU=*<&aMoWrifAUc6Ag{NgmSI zH-%v>9kL>o4q8r|^6Q(?wO%~-r{}%=Sj9|JIS`KeJVnoEksM_y z-GIU87r`YTvU8N;{=YH+Y=Iqa1j4zVJ9BpU^{;+iCQ}>w5^+K_GLBi|unL|OOpD02G2WcpVvgN8Y~8jaL?QBfhzj-_!L+{)v0*lxkTp^) zJ5|55=~6a5rwrt;qT2xF^_0sG1fkKU_0d@%X!;JDE#MP^%5;4B()pVCZik>yf;z86 ze3Awir!K~ToGt)e$6mBAp-fbE@doJ`uOVF>zs zrQ5%Me@zl_X8ZPS#Wmv;$mx=__VY>R_x&Jk9u(RV;+B z>A8rM^fxVU6H|A45K;rY>t7Qeya*;2H>1CGa|ld0m>dW}5daO%iF=`}R48KOeNU$W z(BE~LQ%U9f(FsSWK@Ey~N9CV}>Ck>JjrRsme#>dokQ7mA`!m=6+xO$Yb-BI z9lctvWy@ZrioM1rOApZ?I|TaX+wTm2^ZoCK1K5;750{fVviGYipyPEqAK+S%0icVx z5FZK%b@JHJ;rQ`mHA_!qmRl3VW%{!nge^r^1QDn6-E?ODm0_2sqYFW}=95MoleMv0 zOfwsX2(4S#9M8~1Ov~U2-59W|7^-|Lc;2qtxEMul0DW$4fIZ%w(d3Jzy2Rp=!RLuA zq#?vnw!AiMTo~qK<(QtCAC@v(UAY=vNeHFMLm9lMCsUrVors2m#o}fNCxqY&1SVXK zWrqQ?^oHnnOj4y}4iXXNjDQ){w@%xRoDD)!II}n`iW?k}1W-0nC*=ot%M_k*AqEiF zYKBj_L^@+o_o**RnBiX>pNlDncg9M=W;W^8Eza+zDb(|;g*ksuC0wL9a)0| z?O={pwz`?@aGoY0X6y~|m63L1tVU*i$VbT=s13fP&jT~bIM*y&2(h0j-POwU_vLaK zKxBxZ#ciZ4mNCDHhVmn}GBMkT4xus$F2-VW=+NOJblSZ&N@QNhoxu1W9^vk^w-XpP zx3U1Iy#?p_)>t62#;_9{c@}=AU!e@RFHWcM5pfBj2|;$~Gi~E=r%%ubp+0fQjT;ND zbONJN4wOm(00@y$Q3a?}o$2gK8%#AI{X6d*%jrh<()4%US7TH@XZ;@gMqWK_Cl=LM zAC4Wpj9#`^p7n3~edRT(clDNZIi+*;9(%1*9iFSNw!iSg3&Vf-oBvqiMVu7N4SYJl zr9MvL4OX4j|9qm^pFDOvdY3Z^6m+iEw|KuLv2^J|h+78Jx~BP9BQ`|TLR1XXVpd!O z9PDK(l$kkCQy$rWLx{(G5cV!$h{CqFry+JkgZL~kO|K52;kvyhM8gsQv-hg_T_9q1 z7qnUyS3`$j*P8+U<`yleogaBFztqccPpkTyh1hcBI z#JL4bI5d7ZtV|FC91-i3lcecy3Ta|XJXbT@mU1`*>-dS2wcQF)k#2+TfwPzi!FWJg z{aqqX`T>&2!@C-{z>NMwR9K3LFWd&`llY&^r7udCmA;xxJLt&}dU@bH<*i>QOH9nW zvSlcJxTTr;9 ztKhJwH0V0kziM=-G-|5C9hqx(OG8n&PCR`7ubt93#w(|S!gAIij=t@AEtiw$j~@ka z`L^miB1S#m$J6$Exj2h_`Zg6eqxSF8?aROlSZ)O9cR%&i@HhYIKMgOv{7P{GnbOk- zAwHRLAWA9eBA?y}n}6!Wu>_Mo9=3iFL!kfwKmbWZK~$f^m9;;dt=3oA%e6uFFp41n z5p4p1v+vutZB7 z2CI|z>ZWb-HA5TcA}Ya)^JmW0tlSBWZC`kC8=G$p$u9p`P zDOg{kk@Y^rLynIKGnWKb8{7vDAzj!wf_$?w94UfEEJXlJAdd2h$+yH>L}#93X9$Kd zMri1(bO2G>_vuU|7A~fk;38Lq zTgg)h4!Sk)sJ@e1cI|yv!5+BwqdGf114|HeCM`Zx6>e|o;--+JfX(Z8viem}|w!u52nWXGycI$4Kq3cLQdfBUx; z&Jw4vf>&bN?4X;l=^1(TX3UHfl@=dDfRN@|E&%v8$=G7z|oi6{}t>U0$gVQ1He zE18XZc8LH%2+nN=oF?9&Kp;dOGG$5RFqd-Y6OK{vDW1D)V*caJ$>9rv&u2gZkr{_B z&2J*y+N9Z@MRJt5OxtE)YgPECT!|@_1K5>Vyo~+Ya4VZPFBX!s5FtWb;swrX2u?Q= z;t(W9X!KpN*y&eRAkp8mK6jdG=kcKr+@J4-$Y+^Cf_dBOkT5b`T@eFl8s|C=0S`a@08j4xQT3@ zf%OhEuFLl|iNvcp&kzfqzNfPq8DUWe1g8|unc&NUm6}_(cJ}=FnE0=!ZEcYtBGR~o z78suEz?DoMhf6jo=`?S)H(!)wW5hV4cuLKA5GqYJB zYTXnfG`YCzsdr1Cl|+b0p>w{(T_~*011T`?9A#}XlP8T?i7C)K_x&oJ`+kn!qwGCz z1J?(3JWc=Y`uHJFN5A%Z_4|J9`Ie(vI-Qlsm;Jq&tMWxz?4kvS%~w~T#$>N#0<&8v_7u- zYeGACDrM>4< zarxr;5QlTa)tE?cW>xUD_@CT}Y=1ZYD9%-3w>PX?lXurbNV483bq@u~E(es8QCRB7 zAP~T2>7dLc`Id^$t z8$xw7+`|3?2TS3tOk50(q?C~vaZX`4ItudX5P5`N8p>>EaTkFB1jAV~e_=t0UyuR! zgO(NDT}1@a=ZK9{_jerS zLB15iRpO|$!4VcM{Y%%Ree&a;pk6o~?Lw#vw~}6dj24wP^=Gh&Y5xH)PI-hTZEjS-yf;dt5L3RkL|5&q(ml?Hm9{JX+258GEF91YY ziObOM-XSm+=9xgueAn+Sg_y=-6kn^ z<7mvTVx;t$Q9aDGi&0XG!(uhCJ|6DR51XQ7R_}{J8mqh)Hf=8Adf>o;S{lIg&2-Fq zGMh4p(+-v;NN(oUUYypm&pumq+MoKV*SEg?-Ljeqbs*rimB}F$;Y5j%ZDQ01{hXTlmN?{<-<3eF$p^;11o1SYy@rXId?f?2Qz25^q@)hC|m`!X{pKYls3JL$)7 z;ZO)g?-yx0zI5EF1&qNFyH$Fo4zB9v%9#_1}yy;|FjJP09X3BtWRN`$eM5sj=;O-#}tS5`|0!7X>kDPbos z@OZs?F)VD_5jEBNwR6L^%tB$4D#XH-I8zFAsWlWsZ*yC_-bp-*w?~2olLyet4Zg|@s5dlDc`qf zd(pitF^R^ibdB%MEMDELoZ=ty|Ysw1w+*({5vi__;leLVzIoe_f*Cr*?|#~YX4 zh6gX=-gP>Kdxay-dUiR47-7M631)URBG^YCeVpQp>y2DI%`SY> zm)?bmeJDBQCx-GaxQ~Wi-T;#tdHpuhahH$Bsm{ z4De*|$(Ob%F?&D)GpO{43KRC_hz6z54NwZR$-;Ck$WKQ?7h@fY<@0n2^U!xD&?oxVx5nZ}Km2j^@7KPTc*Lnwx;*CT_|Al* zvFZHo-MhmTod`jTcW)3^dk-BtRPEamoeDyPfp*BZ{4xT-#txFI6F-_`sSp1Vrs|*l z^q=dyw^Pq`3yZ_$>!}MRdcKjrw$V$dpYQbpPGu^30|!r5>4;yG55oZkK8SGICcS%j z0d}PGTVCqtJ?=`q!H_!KyLoLmfBIC_p%H-Q0-`=RzNeply2>?vCOqxx`KfEIuunM- z`8$1EL^@+Hy*imNnob991Qs$u`o7wd^!E@@fWE-7Cg$S%zD^)$0uRgS7hLCMVafE%j`jJhU5TjYLv%P#Gk5b`iq-- z1zAd%MrpQh-&$Ocm>#Rc_Vc`)pW9e~%$5Gc;e*2`AO5C1JZ(uq6ygOtpYRJjg?D5D z+2(EAOWYs|v0k{!dnQ*$ix=F+pa3H?3{e8R%27^zw-7_pm)4UY0KTV`1DsB?qhmh4 zG4gka=bJC0!?{#5?#XaY((=3c(o3(@-q%MC9f%d^eDx<0q9Wd>GkNC{=?)$`T%6A{ zd!HPR9XU{SxE4abetK=S1%iG2>AoT|6Pd_x5{C{P9QN#fYIyFsXA1ZOn8nS~17P_{ zGF;eiXEU;!H{0UGd`(n$gL6V0@TB&=gF2$aF4%?#h>jf|I!?Iv+hkX;8hF(%aLknLJ9)U4 z&II13Zp`g@Qj_4L`yq&{nmb0-Ih~0(vo4WBvMJ>k>QQw_KKjUk+YKua&)r5?J?pqu zdaQ}`VYqM(f=km`W}?Cl8MKaWTuft++V8wrekZejR)gY;-wUsd@<$^buD$SjF#6-U zvzJ*Nl6S5e)Ze>y@yu^|^}}yzT{|W2c}la~mawEOMckzyCUDTBhYb)Q3jcvW|MNc| z_UzeHGl4iB)>ara`{)3y^1Fzr1bECqSY4)O^7d`BW9r3CT|FSOcYYr{e5g2|EsK#u zL!=kNvabnnQXJC5oQQIg*uw&1Z3r%4adC5TCT71U6A^Foww)1AHiy;BnxAk)+5{*Z z1#CE%lqC*_#f-|eV%8z;s?}?U?YlM=P+qzo{YMUB!m1Dv%F0z!5pnX3Hb4yD`|Sjv zkFrbQgS*!=8?TQS@b2N-i&x5ua&Z5?I8?R$r4j1mM-NAr6p<}JE`)`CqVHLo{ydoo z{=fRo2k|6cNO;ceL5ADI?1Lyr)5nOtcG|w>e8e%|SW6|Jk3RaSJYUysSX=c+Y;l!E zU;upDLY$V*TW`KT{O|`qNZ(W7&J3qc9v}WG+*vwd_{Q7c%6>)*!_@rBY*~_(;bvsi zBLs%I+JZgs!>38#3JAq>l}M+&OP6jH@tmF(hbG9BPa%?a<072u>nJWaum<7vAZq^qe zDsa2OM4QCr<$HNMlqnD2dFEbz{b=~5+(ukH@A*kz-$Xp}%%T3hPTna$985##mL}A% zR$T_r(yaQ(Smg9^&)l{DUYT9|`fq7c!}?A|$1D5z?@F7LfFzkOEAmuK!$om^iTh+;;>@r%-VONlOSIcPq25T z{0*RS-s)TfZ`j+J;UF|ARW~72W)uL%+${g?v7k&&GDF^tX*yy@#+3f#!(aZY9P_O8 z!9nauh{Bh?^0k`zuZQEYwPp6q}wOzfn$v_GN z0oiPG0#MWku-QgJ+tp21+pC$VK_6g@AytV8bP@5|fxwPhgf}I6UX+PJv~+ek9j*(} z;PP&3(DRcf19s;^^H=7A3hZ8MSxa) z!2zPQm^dRp{pnAOy8@(?$p;S}9A10l)rd6d=h0XjW2SI~S{t=>`}XZIv2PBMx|CVC znU5jdFC)frF#OuvZtCVMw8O{C0x)8oM058OboYgZcww_4vtKg1zVJrE$GV!E|p zfZ|$QUz|bTQU*t5pX!RwocbXEC=nw8qPOSi=fXALOn;rscw{mPkpZ{YVo56`OgYBV z>A7;XtK*3A@Vvux#}5vT4jd^?h?0IwTn)em0;Au3Bfoxtf&2G!4{st$^)lqC%ye|Y ziK~1Zu5@oUl|!2y_e@B6Hk~9XqVmxPQ`y#bYRW_&pQ}v5lj}EcdsihCR1Fwqkk2Y3 z97G|p3O#m6?<_AtHCK`|N6)i=($n^G+*i7u;9t8YUH^7Gi8@ui#vb-`y^M@w&BTi0 zDCa%WN!Rl2cfMWRi$Tz_){Ynmin}964wvz=~UD zQR2?U^B2OcWQGgGF}H4vm@~IJEO=(b(+e0eys|3HY$*~rX`+35a-nsrn7 zu=ly=hpjuG98L#O&g9JS2UsK01QBs6PRc||R{d;5mLh}m*SQ`&5e2T58FbUw1EYrH&+arfpsn!bpN%YWfL;(k4%khp` znj+WA-gI;!3)3kRt>p*^fIj^^?7+nELc|`5PMnOo-?)A=dYN-UhWll9y_(Pnh^B8T z5jO>4W+SGQAtC(_%nET*?HbQq=c6Mb{v0}Vuz=cnE;+ zd^FGD=GVhXZpz>#KMMYGYz*O^oo{uS4;QIk5D`N6Ss&*H4vDGST4G186y4SuxwpK) z*om`q<#Jo6buAMZF?QF^9hGkrwHn9K;aI+`iORZ^@ASuf#8X6$-VJfL7}7y>cY>)} zK$-RaDk zFc6KfEPo)weAs*zS_aaSSAC7*wY5DZ44pcGUI(lA> zYG&Gayne~6*Tc0nrpcZ(3_mtP+KD2pgxeeI2ef5^J8%%Hf9re*^Fi;ot@5rr+h)bJ#(-E6riMy zW&ZYD9YZv3-;A6d7F^rbuMMIHFo-#JCfK(#m}p+zVmzW&55$Re~Wt#^amgV-?`q?mx13* zT`8ye#^9Fp#lwefGd-}>RywD<(^p&$z#4AU6=Af^Do9`gINlF#_Y)(}yMu5(@D*s+Y70{5I~T zVOv$P@@-?D2`72>{%LhUAA(CG)+JR*enG8FK;_St`($5wM^m1tcB`{aF1=aOQ2H?+ z=a6Z?`t8&Zk6kfKoNOi^5To)txz<(Y?o+akn5Y`Kuk8Mtf2tgLccPSUd&kPl*$GIi z%NOe?bMJfIdttr)oa^{bEM+#IiBAe9mumff_l z7=22jh{Yl8b_Qr7WfZkc@x&}{77hZU- z!DHIp;T1f1uVt=#_dYdz?|a`H{`ddm|14q#$@meam!j`FTxRFB;kw@X>Q_ovCgcE- zqS*M1qkK#MGBfhJ4VMEJrz%!$vltQSjEk}nmeSc|0s?P0qttZOcgAEUx*U1Z=S&4A z=0l*jZr@gIB>LUCYnHdhZRGov{-t0ocn?R(hg*K?zy(4Zt)xdZ9JmyR@h$=rQII8x z*tH=9tK$VTfB(I5Wm6oxS4Vkki#&9t``*9m<~}qdY0TA)381$Uu@KC1!B9uXavAU; zTwB#0!CBb4^IbRN=jX^Q_q;>B@?X=cdG7soQ9z|>?2~W1AB#rh>%4Bn>hpYk*2*Lg z%cJK#e&y=y8~Hf=b~^eqzvbn=cU*sFhAQinjtkORzRzm(?eBaiz?5}D7URVkOGL4c zKKMmg)*G3n*F+h)H6l=gG=~~nAjgO1R?=XhH^jqsDjQ0r_XEILYm?_kj~vQ(^TX4- zwhPH*Ol9iY)%sx8I4W_dCPdjaxEfreCJQtypQD z4brWXVGh&|=bCT@T+j_VmKb|G6%Jt{1dXm?E-`i~YXL7;ab`-h{alobJWz*+nIW$w zyujsC!^tE2hEvB63}=q*A3pfSkB5C9{!2{aAH@^+Y!+%B9xf+F%jNUg=lJCD=pEu7 zABeji_CM^(a667uOV_duO46P>dL-7MgAt8p5)hiW6N^_wl2j@Lb1{nD_@AWDCL%J> zqnr(q%?Q?_PYXGTaN4>p{y7!QDF`VdoDc|tE>V(SkN0#yGlVh=IU`P4L@1gZILiML z2`S$Tz8WZ&Ud2)eQPfVHJXVViiE!o2h6sf?BdolDH%DBu+k<#DCLCVI2t%g#;zo&A z`dj%HGCI@aDL-|}7~mLjV0?sdy+juT-GrkJfyDHECdd^Ld7{%KDj}NIqB(it?%TIN zWBe#Ospy|lA7088Sugq~-rQ8dsbq8=d~7W35H)XAjWJP(xt~(}N{EVunwi>Dw|E^V z|0l#1PMKA=lz~t*q>qsx+-U3fMnLtUQ$Tuf-Yk;1RD_m9kdX-7*E&3S)@G~1LwHv~ zz4Ev z^KoJ#k4`Xpe*HS0emsr5I&!+|SdMa!(ngL^tQ%kZ+Sh6ZV@k`!nSOXQoIZXej!suH zcnjt3&)j++gLO$Nhso&^UzW()Zq|Y`N_r#Ya|09}YA*Y3& zLBRKZ_Rn!pj7xinwSHxBI~>QjfBE%C!`okft2hCK5ivRw0%wLcqv8~ZU6i%_MYd)^ zAMely2`UX)1a)%Y*3``eKv(np^Un^y_j}(Ne)5x_4Ih8>X*j4Sg1pfqrN+Wo{`{YR zTtxWU=bkH*^h|VQL`j^CC~r6@`O`ZQOY}XCi#gkMb%>+-EiJX+TNbF+`m4ESD1cwa z9jwlWU`7RU)KGRv<27it@#I zmUq~Q%2U4jy%vs!*w6`yxTs&8#-LAHzEh5?K7%8U{@lCBKB+_FUiy1il1VGKF$R7+ zaaL7U>h2iV=g4ky)6U)R)gxo35~+Plzm>l`OSCIfuizp|sa#3w@Q-f=HKNY3vg#cRoWCB2!f(&BNe&Z{z4=+CZ^sxWa4~M`1FaOtY zEHga+hOOJS58wWSKN|kKKl_W}rB~kwVX%_gT9~;Cc>pjc!krK`gn76ce!$B{24h<0nGUcsJ7lwN>W=l5dNruYlSV&(;*_cR+4$ARLG~ zn3)B+wvGp4P|jLg)j-F%ht&^&<06D-P(EimN^U++L`&b06^X^Xouy@Yq9fsx(qYFe z?zeF$XS$c4`o|MbDC}UA;=McG!4FxYRU!gGUvS19Zgz#O87xcBbO5~H}I#O1bS8q5> z<0gh~#~G6sqKzos4t!~sclxx6o1}!1D3pFM=Gt8cxJ+6cimRjJoO^lJ^T0;s3mB@Vf8$xNQ2%cH-S7IQr|X2Jr|I84e(mq2AOEJ(1yS{W z{w99x!te*b|A(2q)|K92er{DE--WX$YUbLteP;zPrqH}JV%KdbCVIYohAxLA!2(;X zXa)7da6o&W+!0UQ>0$rJzZw4i|Nbun>l4@YFTe8Y@ZCT9(_CMRGv1oaKw*(H0GS7Z z2yJE*$2C7gtZ))RjvzhG;%an3Ryh~<5rAW9vGs;vMYhnuHQ1q1yjRNE>j|r1k0cxz zaqV7W+1?K4B9flKS0}?&2_?b0VDB7$Cg(#OZ)fI2TtrwS(&(d%GM2Uw67VWZpSF;T zc^9Oj0}`~myol3RoaPWd+z@dNKti(V5E3CT*JURHBF0A_eq65nrMp1jqLUGFQD_Ug zqg6q85&R*$faKSMIEVqHlE3|dh!Qoi!U^7*a43KOKv7=QB7hao_dr9V;z*L`A`JS{NffqW;yh^(ZhcHpPQYG(o>QgQ>Z zxm&U>{6uJpfSfzUJ4UR9J%zj8;gAp*eTe8*ebRRIHGwt!X??0b?ps@fTS@1@307z1 zxA*dH-?cheI$<2jDKc$n+m^K6D`HR|=U#@+(x)VoLRje@J7nG~>Qzs-{A}!-k*Cz6L1Qp8t57@!v_Zd`R0HD-C&3tXZh@%FC}0Z@lqV%`8^9KFl_&2lo9YKz)38 zBD#YOQL;`2DX^qq1LuOgd!lclkNBtm`u_|c{rdgk$iV{@ z>fkF88TLH;rD1L2k*-)7^JzNqer7JBP)4VK8{3Rsw>PlRkq{vj3ed!lBXtv!fv98u zWI)0cc{UDf*W-`Dvvf9!>zjFpa9CZ;=MY;6)3!e%xT#!_%BE5h3n1p%DI_YG$kE)b`Xj%r8@ z;F6wLM@OY#OHWD?t=9ulG&QVvnKOn6!nkSYKR5u( z{WS*QPy6Ty^GXw|JR%3GqdZq(CvY3|UTfno1;KEDkk;f{bxj89rd<#e0^-gN1!i!k zPd~l4MC2QpFyI@@5JF2ty2XhuqACYT#MbI-Fpf)Rff6^U;Yu3=7Av|adM0fYuG8T+ zf~h|cQ1|KqPY^}^Qt(9H)i)t9%fv;e=5&!pAL$bhwAVFHlV6BD{UG)&2~0NGcx}(S z3K{26#_u)QeLt%Ry`7^!bA9~2KTD#jbie=qyH-Z|Gfph}v&YNm&wHNzzF&iK#hq-9 ziSUpA_)p`Tl2DNWSjx|{r;bLWTw;srxe#|N>N z5ZBI~IzAjda3K2`9gqGbidtJ_P(sF>3gN|iwP=oS3_p;jM30MlI;>pRZ`e~wpsDL& z^Ak&E$M#_^dY{FFoLCGZayX<^76e;d7@`rMl0HL1bPitpJ`hPF4W%t5uraXsjZTAJ zg+7JZoT5_b$!!rSg(5%SxkBGAm($}wibHh7Pl zp-+<+B`_E=?zo3!9@tA>Axr{&Q9OV4*}nA8Y>9wG?+P=KGANP}sLOF%xDh2UU!VCk zQRvSlbVTxFF|yFrDXb-NhDZdr>FTy@*%XeA8-O~r_NbS!Gfs|9U=T#1OWQa$-DU67 zN;vw1h}3@o>>M4fKbrYmKj~v{<-bf|bclqmPDec(-9P@k-i@X2@5it5KVQS5{=TS?Bj=Ttag=~vygW5yFbH)WF(3@zw^#J!&lz=YLG17gi|%M z=t@HE5s{^^bBa!}`d#Kl$N54!`*6Pa>LJA1Dl; zd+|%d&b`kJo3`y7=GG_L8P+98t&;&OD*+;9uOT`VizWepdRo?R&;h3w8C)}`+4^QY zVXb2#63__{GMqVaG|J^5Q2-lfBcL+^%3Mva#^iePw2+Qh zYWBAL!0reLD#Cf;LY&f)ZrhG+<(*74Sqz|xb;Gevop3C;7hDX47D}SH+;ltw#y_La z+6V(Ao@UYyQd9D-jpa+9VganehE&=qKattahQJHzL=*t@BKhND%=pSPGuxAig+xC^ zSPJs$W1|)CULsHWse&yf9g${7+GBO^(c{MoF|9}j>vuzV5jvuq6(&+EJw2;nCnA??Q><4unHYFrk@&-3BgTY*h5-=h?3Bo zU<>gh9+|{yB7i?Rhw+d=|CMt=ky0MmFn;Jz9S2bW z19?JVu<`EoGkKnuFI;Lfb!J0-A4Il2hlPKLCvJMj_U$pd#*P1%@0Yo@{5q1B=<>n~ z&zGNwxHCj6`Qo?`H$k$1iuxfqH$vELB4)hhZ8LUt!3C*<(3vbtW^;rc_p~}~IF~pr zxF&r|WI-T>j6meJJke%-9=A9d@WX>!TOnf2{J4vhQ{U$sM94eH3D!!~iV~ZMgwO~d ziMW@z8N{2L3$G|En{W;t#1< z3uq-0BLApF!%H0;6!`RYyLRm;Zcjf^=<6p|RAQgHHDc1Nkq8W;rcCW>xYIbc-d5?2 z_i|X4{Fc@?^413qgw-=g^~)1`o_*KMJGSi@c4vbqdWMtHS=dJyaIuC6#zYZ%Cu^22MX8EY*u8W6@QWY) zV@#btC_jrWSwr)kKm4O%%dS1ct@~Nr7T=akCYg1YGPnWs0M^RX@4&tUZ2I`)+y?>m zbsCWx7l8W}n62Q~#Iq+t(Dpq2OmQ2!kAhjGejy_e7aWOvZQy0~^{L}W!;zf|QE6VH zqU^B%2^huuHxM5L2~mg+;Bq*J3zuW|&B8*fV$Hw+5OGk32z0`E@?aL@R`^H2DyX=1 zHjvQiAbubKW^kMskp-7U=BFnz4rMJ0kv5}xN11H~W!62ge}9RMoC{Y*^dn-3T|;y@ zbm&kJ09U{*zY$;M5Vo#1@J@Z?S43!Z-w9GPURQS+n=c}_#}N5R-*rmozMsDDSuPU*4|9yCcki2? zr~95> zjxsd55bZI;iBiu(M8Rm=5{udb_2HO;OgW8%L;dwL_~?Eg-c7H15a7>Fhv6XB0>Fr1 zCM)tkLUJdfBc04sPdznSd(^^7T$#F7gyo%Yeq-3Zdw0BX4~B>(yl0ThVojT>nW-TI zk7L|RaX+CjEJKbCBd(qyQrBZqlZQT86Y*@%o~#NFA&CYpMEz7DNsG$=s3rlN;%jfd z5sqPFaeLZEL5)iSPx`=kX}faxLN!=xF81Kjy~CXDTc+@bS?k4!;GJ)ALkNa`dGe{f z!@f^GO5OJ4KI^EGFJprChBQ@P{`j_WAKWh58Y0h4AXEnZJ<$|rqn_&HtiDQGM8WCs zTpIUnaU$JS<6yjpUq!U*sVD9G`jIAjuRg86zsMwb=44PQATgu*m#^x3e`GLz^+7-S zyZ+35@ARH|`?i14u06dwzkSp5Y8{bUB(MHk8u#OQ_TRphuJXws_HU%u*;})??Ya1< z%mlD0#SR|$IJ5n+#CVA!GOQ+m;jst_e8XoZ*$t@fyq)Qu*ghN!OT8=RXhi0-eV+_x z;<`?5|ARmIH*uJHVVKBTn^p5!v$QT+`w)hUS&2Oz%hhDeu$$r)d~fMW>1>2x$aGUP zpx7YlzA>{5ldNR|8y2pXjEv0&)Ry&=wGk(#Xxm|2h`$V93o&_dG-l@l)Xbg~l8^{u za|%OL#JSDjW(h+sX_YXZc~RS-;H&`mh9KR#C=YFkIv2u%xab#l5;O5k#0ZCaLaqYF z%xd=&ViRXT&%=MG-qBlydsw<2%SGC!jTzk?^a-MZu;Gl-tRNKv7=>kk*t#m-xK=AaAgY8Y8B<~` z!Xg&Wqlj!P7gr9?2PXQOtJ>Az+@n$;=Y!$XPd}}l2wr{l)nQk}+LPf9g@EL*gnI#F zonV=q)`y!i2I^E|QTj+4_k5c;|2d*riB2WslyN9{WA)2FZV@lO_+k+l`SHlsM!G9o z&d^OYF_SBU{>}p2OakCLot!FXHSVsBW zemBB^dvU0PbSMEllg4%8K_jG(v?JqO+;Y-&+(cKDJ9n=&^Dg}Ua*TBc4X1ru{f;lkDlY!@U8EBcX&CzF2m~h zxWu#bc0RrrB{2ZRqOO~b{Cp{9#H&#lhq&DhA+QlT%gtQ;a5x~@U|o8CC5?Nq?kFs@ zSu2Q?ku2-fiNpJ|&gn>r0@e#%ID4){5*(3O!M1v>zDS-W@25`?0l}WkoLY46QD#|7 zB0>Pez(gSkXjYXdv@Qs+Ar5auNPt*JfbvmJ4sK>P;SxGv$=h#--)33;t?wZiu?eAb z^`1x|y@2Kmn-_u{S*w*Xx&PqHh0Oc*eb%_h5DTKq2OoSeyz%BMMQp9XvAqkYyK|2& zL}$?gJz?=JiO_Bxlct9tHa&o{SZ-<|W9lTWI^qg>zv61vt(za7dFJUF{||osVb+YD zE#kC&`_8KKCm()PaP{)biM70a+i-c+<>GoC-E1N~_%jiJALZe0j3pun9`)V2^Z~DH zqN}*NIATNtXT`yiPAlCO0{I};x}C$W-Fu>hJ`q#=_UcRhson^Xa(a8{2N4*C3ByHX zp#W#LmTqZD`yb}o)=kZ>Ze!yed@)9S{M;L(hL?>&AeOqX{>m6jt1i-ZyaT_Ej&H_6 zI%&G7$ZF|*CbEXGJ%jo(fBL=a`0=mZ_w+qK-}r6lf7dadPyfcXKkrwS^xV~{F<(fZ z?CmC3F@Tkp4nl8vOnxa!Lx^+g_~H1f{AxHE{|{Pvd5}lB)LV1Z;?ib52~`G!cQZ?z zyOqte2cdQV^2>;8gTcRyX5p%$kshUZTykEqyvKc{C!UO`PcH2UxD?jxJq1 zn{PAwh1&s)^1#(0I2X=e3fDIsk?ul#bdCmiZ-F@Gd@upV{G7Kf}^X|%c+MxU%8Ur zBn{7jgF;+aC!UY8`=l!med5ptV^MgQ`*FPLZS2ohg!`h0!R7Zuz6oF#%X^3qYMBE} z713JR0Fpp$zqqF5T?M>^!2OW1qd${bby80-y7p(T{hNN3gbX+Su7BRY>-YWYTkraN z<$LDZJE_v-*?8JsM(@0xJ9ox6Wm}ZBLz$&d#j6#Euy!uyzN}K_hhaJY%?$Ld47!-Q zh}6`|M2QcZee))^_)fI@TZWH6{$Tj$X+!;Qr9cj!;;QrQ?-a2 zd~5DU`Fh}!4~CiWhC~@i#If$mnd=ch;zJTw_UR}L)3aHyb~++ewotV?J3##)x}n<< zsV--+MC7F5PjmL_km0l!rHhxYmiuESX+!8LU-^Glkxd*srO<<%l0YJ z-MshS&nvyidwfeM%H^$mN3XBEXT!0q9r@FAP60wYS<+b5=)ly+_g3rE%dH5fyfelI ztI?00I3B0SXNq|DHYi8mS6*o^U7L0)GZJaWJBs*lL`0%~u&N=-7U%lbSj$hnTs^D) z81)rJwCD15`t5x{qkb#9%FHBDa4q*#50Lc!p3%s1C58CH?d>ANND}2pRUH z|L&OqxPJ6^u00R$`)}#Se~+i@`HesG+bItfb|_8S-Wil&emgvu7J!KlLi9M3)x3uf z?XL*@{17I>v8>ME0yG<+<9?WhGa4()t%v9qPvM=_vxpe8eR-1 z@zmex1>cfTj}ISiF42p#*{an|dFmS` zMTlXRqp&=ECV-KFdJrqtm56f34jl-AIh}S`chqEmKxvV&`%$=>_R;~Elkx^c_Wc8UyP%`-upMBfw zc>g}1q-I?z0@Ew&+6z%oFL)vg&m1b$kH^0mf9H4qR(b{Zyj{oBdf)H+)w3@g87u&# z9zEaQ0O@oO9STC@sDTKwzxcv)VL#(sb+UQv0xs>Nyb}38-BcYk6Tb<_c||i^&Itguj0Oy;7{c^WCq;Vw3>hLA3cOWhZ9iww*})5SoHf@SyqVGVZ6tpW3^3 zxR+U$&&%4(@T-%SoPH(j?L@cjyo=E|I=5yo%67z4U&=<+ym;x@bbkxPTc#pFvVjHX! z=ECNTr}S3|T9>^qP?zL7eusTq9pp^f1jw-y&;wX+TI zC@=5dk5w-OL+lmG*@cJ-+E3A0K%aVbYe`Th^=hKyjW{RXzAbJ`W7`7>A$HB$2C;7@ zUeMZglf&*6Pe!E9iuH`uk%-ej{=pB1S6+Q-c8z(i%pI#@IrU5#PQSrk5B|QALJCkO`w@z^4;xt-6zm}?%2Hv))%X!~$0x{z}xP7e1n1B)wLVF|*uSXj3%uJ5S%mG~LZwL~>g9M8Ed zex%KRDS$tb=xHB)d}w(3nHNJ$7KTGdP7J%A-Wygo8;)(yCS2)szA}(yKBAW(T*3*2 zQ5sf81ep)eir+dNy$pTNOnzICcr|NI?Ad%Z9=xZI9S=l2DAO}%H=f2zndODtM7SPg za2{oy$f|G-#2)=%*3@phB-p9&5mRXLyPNtE66s)~%~or4>usolGxP!A^%@j)9_&qS;W2eW=-qUVKx z?Fz?;1G=7gG`N#cY}uU!|9)@;Dmi4ZP{ z37!(%p-vOw@Fo)MYh|9(qpi(0CI^okPF&yj%W9~;=g(ct`<1mh-_FEwITkZFq6@ig z4rfP8ep9o_79p8RoA^{&EJ`k&4B>8O>kx+!KMM4RnHU;@9LkbKv}duzS(`XWyx9RW1@tjtYfUc z1-J$-i1Z+xQ_ff!kgtB_%^>88;Y`Ghb5YFk8)2p`wmrzOGJuPftys3{WP`SHMOGKb z8Gz((ag(ozV-_GDs%rX;C zCg{*q;uWgTtsvQr__bWVl&EsiP1u<0X3Vk(6lnAfd)Timd^qWM|VgHRAI zOfCpnZR@e3i93KgwNK8;I|y<=fJmw6seYWv%vPKj@}IUj%zAws>p}i4oKGtN06+jq zL_t*G+>(0%DK1jGmab0>=O@ml-4C{DT1v^ z{$$_5EKI#z?XVW=laD{HuorK>^_5}IGfx*HGP5Iw^EvO22)uSL1qLE{m%fWd&YCu3 zGeu99Hi|!^&(ynmJ88Cuz??d9A~3bC^>6BL|8X9=cOx=a+SEDCE%*Q45wmsxRaT1S5{TiWw7Yn5!@-A zdh=QUGC<1zVx5^L91ErKx#)u~X5G;Ba44M7MCK2_QN9iI69}8xXeK}oDTPOP_&~s- z_*DcLZbU&l9bLkjEF-9yD#Rocb+O8K(q5d?y?7Mgxg+9Q+{mL}xSA_541t)NooJyE z0Ab`-lJfkL745yaPX@mRC3^;#ulze2p0q$(1!n8xXmPdtf46 zk^;uzSv|{K8Yt|$C9DW?YL9#0mpL{c=V>OYw%Xd*;~W;VKy%&3g{&8f9`Eqs_&}YE zm1%Q!)(j_*_7H`3Ke;FS44Ju`VskpMqK_ai@96uUW;n`liNa zl(^%UewUA<=U2p~kFVK2xk*p_a!kfz)IjXLR_c0g?wT-wvF;%$~MVr0ir|9lD%8W-%5ERuC@D zufP6!SiZRm|0s4Y-w`Zv*V7csnf~K|)yptQ>Vj34)*eP8rdiqh%U}I+xD@BMXP$d* z*!jecVRQ5_!d2eA695ZWu`zLGn2qmb=C#rM!{}IMr@5BLLpBOlp18-393D=dI69m< zeJp0{go6xlF@>x1o#;zSQE5sFx09(jNYmtVb+tR8S%KWGFV*i%;`my#bTi@trS09+ zwY5PXhR~)hfC;O7EA?@2JrOR;%viyiGf}W45s}L`BgonNgJ|I!Ec`?`1ilvhZURT6 z@oF4Fr3sMv&gmFOaPM(+2n?W;uX?Rm5pHu;EOo0QE{4c&-L_-+i+}sQ;eY*K{Ji@09J@%UAa2uvJy7KGHwZsfT{2n1!J5K>FSe zzdg6D3@%CE5v6U6$A<}F`oTZ^!*J!bE5kF-K3{Q&Z%6!KhOgxUA?_Bnu1>#;QNv0} z6s)abbI(#`hfCofEJ0A7y7S~-mw@kF7Up7|v}Oq!6SMST$B*7V?NCo=et(i=t!%IAdCKTl&#Jt1p0aua z{PtYOY=~L$h3B6wS%4}$?>*2S(2`l)A^3xi_W1>s=jlmuk`Xw z4t3xA2q(M{uByVKMlXbuxsb`p3h3GgJg{=^{KeG&TjeZ=s2eMNZL$yE6+*L4a^c6R z3bYOucoPdOM!Ja_BV!T0O}Hq|b_WvXlV1(x_Ed}&y^r;y1A%kuj~c_YxlfdR3_LIH zBYm###6vbwF>2JL8(1S+$%7bFXZox9GBEfk`7fiZ#-xvWKd0B~cYRx9k@U%-9gUVq zTO5o;Rm4~ZD(ShSH_iwB^sG+EFiK-)G?={-l{Uq8DeCcj>ci2W{*5yGfR|ENo~qG` zsno6P1{gXOz}yMjy!X|FQpmD76lWnG_h(O_7n3KcmPK50}fAVY`wLYnc za_7#RkD1pdXYrE=XH(1eGa!O7m1CL;Mjpq;Y6~Ut{pev3gvlrhS53?eSE7JJSU&wM z0g6Ic0ONE_%`6Ckmb8PerLm@c2AWL0Rz?9}uW4(QwB^p7w#t%RJ9)7p;bdlK7pvT!X@@cOkha&+d-pgt^>?Z-eU5{R zg7;v=Bm_CV$Gxeye%+LD@0`q`gW0n@MB-#7D1`7{`tt2}zEzy=T>2cBU?n#0vz!(K zlecbUg?&UGeow??3o54r2Xtsywfgz`YW%e3ZNl}r}JQm68{Z{;*f*vplb=lxtxH)^kR z8kYZcsK3Smf>&O7DY9dBcNOI=YDaagP?33?VV+zCO@|C3z*(|^;k6g`Z^;(RPWzxnvnVgLSw z_Dny9(Mcc1bQ~=|hczZ!GkG4>*b%QL!?^_Ss}BXDLc{cDEkKNdn)4r@4}AyFNlaNFAKyH>vj%gb;T zSY}b7T$fK*{0hkKUcDVN;ShzlBu=i2W8Q;H_rhUpDLDEh@LRaEn^5xOE zmq1@$Hj#?BR7&2K@V8l8NpssnIGYslxbUC+n0 z1IYNZN?(oWjTupumR=fDwIzOJ185ncMG;(%QJ zvA(@yS%vN<7AjNk6I-?wK{<5bKqB8g8Hc-_2}yY*+fM8&BDN_eUy=5&g>4pK`$j|~ z$~zVU`&_e32nis(fxSq@ zKOrCc)7%Sj;ZI?48#bD`7;)hCPj3OhyN>5-ym+r>e`*TU+qV<nr$N^PpWeJG}}^}Ku`sc|+*IE^py6<71{;X;jZ!Ai=Pr}_Xn*M4*uHU16Zn=VHh zFp$S}FkS0kL{0xeP-XiLVK70>=Ql>#x2MmX8;oVg={QdaI@D5xH}}BB4f#PzEl_Wk309 zM{lG0RX?W{+Uk_PLSd%wF$>y4L{=ByI>yJT-@Eqy`ux48zkMjzA)UG?^I^t~Gp1(= zPBv1K<)&A#SGp={)>Wa=)ksv~C`k@h9lt*R=JU!G=acu2sz~x-_Ue_d7x^Rq{;bMO zXE;3X2x)b3f95KkGJ7Yp3<=X{R^Z@<=;+J`LE;q;6OBH#)K6!t^K} zZscj)h|Ss%Its;Z1$z(j5#}(nKA%A6)|mn0Mm>@L3-PK@)CFOofF_!xW9pvy(@+|1^n!>~0Gy8zB#JiUQDc_0h(@2iJ)cP1 zywlglff(j@iPia>u0j8cCyQ`EdM6#4ws(siBn~2%Rz}9wabU`s&J+1U$c$$aLX&pL}vxCcAJNsaJ6!nb;Tt zxcJlkoH^S#bUsP?5gcVuDsB0rAUNTQ^qKawzHV!yj87jATjYQv79=>sXNBUq#vso- z?pGweQo1?s_YVx`oQpr9F+*ew15k~M*Q^pCf4uvznSGz$0&S=Io+ z5$F!YooEG&HMH_aC`62t2IAOQ%x}cWQJh+p{W(naw6495`rkqK(CgP=u9feZ6H=;o z3nt&3Gr^F(ofrnd(0okQEQ>bsn_3s55)@eqS9&!|L6nL6ypaIzm$MG-*zv=)M8E<^ zi&HJ#SeaNwA%Vlz9b1RP#|{?(63|`yR%Y=iSkS&+chB9sB9Q7=O6I_t#hfDH^@+7d z=Ti@dZ{$3mu04aEe7rEY;iz{> zt3Z|Og&-mhfVh0kOwx%#Jsf?foZbk(9q#+H{(DqpJ^wYE&3vq0F6fa%zI1GUE;r*%NRLH%=2kfx?{QlCHUL5}5JKxS4pd7f2;bm0a92;pT~e?f|LU@dtVAr0g) z;MM*BMo4t&MtF>VcHnUG&yyfMqQVTQf9*3Z4$Qjf1S~XMm*okOj*63+31OkoEkY3> zHzQ^q8s_dKz;-yEi4dq0u|S)VUXBbp-4%;~6;Z_3OV)K7x#~x3qBxOtqmZ;-(&E z$(|2%D%dsPIpizPje#X*Xl(>nRZfTuZseXFKm&`!LT#DLdN>>wrR()@9-prIYLsh&V6sR|7Q4!@J%|G{1@2#AC79xQ;)2{#?KW>)fmaBLDA+g3g*D$6x)s|2}QMKl~=X zFb6){7jIt9adEE>B2L8Zdp?M+p6W-Tbt_)AcO&|QOr%W#-29q|sG%RD=FDCDr;{F0 z^re2p9kXIOx(MI3Sd5MyJ270m63^Z|<_!#q5e;jr5H@1bY?f=!tPU5lAzRO84GjOA z6(JxiW2rLpBR<&RyYVcgkFhI(JRr>7yXT{iq4+*gh=^-g3{edUC?Mq|hy!Y~T_YU& zqt>+)V2!ws8Y1m)oPfN0f20HQJjho>p^c?+N1EE}-#`P7_1T2;3Js8cW^?ipea0!7SMu#78wkq7-GQ6eS{;r50C3gBt9*$CK zN35!`DH4=A=Xnba(g=(?6_E=J(cQrz-&dV89<2}ZE|xpi9ox1d0uJkSgu%Fw&1_Vy4fPCyll_!M!&5rs>_X?rAPMp`>wo z=g^1ldq32}u|M+iKCP}aUMbgehpTVXNz3o+#pq9w9~JyOVIvUCc{aMQf+bFx@uOFW zPQ}qG(Gbb(XVB$4e)N0qx`oO!jct|uZQ?WjTwc=meB6uA`r0cmXC@ED4v+qmFAP8V=l6mf2!8-Ogs8SlG4rR- zoc5qb$O}Qzza388clhXfl(25gTuFyFq9UX$cu61iH8)yP=#+en8_sOi!w`*(>C_57 zKWTK@LwV1_Mi-?_`YZ(cZV+D|7`v$u^=naLD(Q7|==^MSmh99M&K3I6ddtMz6phLC_}@-G)``Lr^GSKhF9R#OV0(h(4JS zgfQeG`~LgC7%rbVmd~4_mgrSc-yR8F7^l1_*Y4a-jFOl-?}T&Vz{Jb^Fjheeak(}` z0yiV&L{3n2#llH-}IApQnP70;K2s3j>1t4lDQCA@nJa|p1;smj|&oBvtbr* z>N9oZyD~l9bSo6rhE3HCMO$NrC^mR88hy+g;cgr;0@7fsjbFMV>A-@%%uUv5O$HhC z5p(sz#wUi|yLXq^TH{q-RwTO`Yu_5D2jQTiXGe|-R=33^!tSI0A7l5`qiJ&Fi~Xs#WxK1r_v44dA%{cq z49O*z_UP>HfuL($2+$|tSJ0hwp(_Cb1RVi_aCWhlOYPBFk(}iW$uT|C-n**y)!vl; zzsNVM-gju5!(8Oop9vVAyVAQsslKhfG4~$dRe%RH)A8s1iX9B#{A{KRBTn^3Tq%h} z?3n;SsLJNrzjc7~qJ7J?3hE4D6t_2qZUz#|W=Lm^kE+{G4x9^!WNGel~NPrIrA@t6OUP8OwE zPJj#xtPy-V4!x~RK*5tZuQm_9msOfOce3P}Iq>qT7;S~ID60rH$evB7=3B;YT$B{L zEZDrWEc`6Pl_fp%p|S_bGPmXmDw58=71JVa5yN02y=)8&^U=GQ?=#Z6cc16|r6{kr z4U_ZSCnUcxzLKPhNkj>rc6D(5+6;eeYu05eg?g0RilfJ>-q*7%jKMJaB7w3zU5=Ya z`U6Vi=Xo~8;ztGC^ja#!n^}d?wItKL&<5I9Glg{Xw-KxnxQ6#Q8cHr1=9{12XX(Yu z!GX@8jV#mJ1BBV>d@F=MqD5^9&wjPsKB7A`L^?I~(8(U;yMQjlC3SS^+B=<7{*Nfk z68LTDG!9O_jV-&b(D|rL?I_qYls;E=Rd$EdX`rS+eD>OEFq7T(8=_;`G@q>iIV#7| zFkEUHkZPBF@&XIHCJv+=EAu3@XTgDa#qGs7cn?l7XYnvUigEo3j^M32c=kd-xNyWg~aibhR?cU#gfx#5Qblybh zkz_3L3epqFy^MM$(zzGLzt!PaBf|4uo z;ew%741tn$ZHWI~e4S7LJ~EX_9)1uHv1_vLg_h06#8uhNi`a}NYo{lM!$*z`fBEr8 zCB?7+{>3kTkuACd#f0)5}Q#i}5(us+!%o>vI-UrgUL2j#!-wbJ@5d zyLO{r;U@*o)=zG(IzA09W@4N-vAS)3W6*_hl{foz5=VS;`H-D?5vz5iOtEs30Y>!c zr$d17n0m^Bth-K&1o!q;#OfpO+$6SuYK*SSxq{VX+g8+QP;{pd76%LS^F*qJB`eJKaiOBbkTG%?P&Al;~)s#idBwtzgz`u#*)sjf-- zCKQjQL<%uP8@YkhPn>tpA%VQy34*;>EZNHC;o@H@HFPHaIM zyZFn?Vg|dJ+2B2SZH}Smbl&p{kYa0v6ujC>|FmU+`2ro!`m~E_v^ErO#|b@W;Ra%L zCRMAq?_e$b>tp#h9@JkuJ}c+mt$%7v(m5Ew>Zkk`FYTB#JwG_nu9+frg-uc=gY`z> zD5o;hO=p3`CXQ(+!PT!iy%Z^=1LM09&1#ehmv2REX}DEstnoa0de;u9YrlVz`-uQq zb4CpxOISd!7<5UOvi9wX%foQ;hw0=Lo$Oy!8WP1P!b6g!L`>u4@e^51x;bplmVucd zomsZMMd!|47!K^;6K#LoKt_RjV- zOy4hJcm9*n7?ZhvZDE+$ysbt}N^6n|Hx+!=8Wk;fu3wc-6heIzT-!s%liy@IKk0)L zCw_dLdHpPH#vKFWG(=}GFqK)GcqE}GVFphl{h2C&hoPSiP&>yT-W^_j^*}l$1uOr_ zt%KMJubue7fvb@8sMF8~WYF^q%%yOTU5O2;+My)h^a`}4eDIVD%jiNLM(=^{t5pmD zX`oK0xygG2N))h|O{!5+UT6tTXlsI;>Dl_=aVmob>5+a)hh7zZ%GA`xa__Mry1%9b zwz?Qwtu%B=9igdv@mHiwxrM#Csi|r-~@j2ww(p*&4suiP2K6s>}z7Taw8Hs zCNnjaJThpJaMy<8-!b3@13Fn1f*>t%T{1Ht zcuGMXK4EGb+EZ^oeVhFf<`09~5x;174(>?q9hqJVg|sTDJvZdnr}`sPLAqidkUYBY z?|Yu|BFfcr=7^*A^y2!i;^O;t7~K0NghZ>H=V|=*KIQrrB4IN?X)E3HAgnsQ6`l|t zDZzW4-Ou4)%{ntS3tP6vAMQd)KN!!kW1m$VqUg3blRgxS-Ay@is4nZ-AXNzGZHmKMxu|5(F`=L5HF{^7IeDFce0$Lb$hH(+8EgkDfMp_DA_?w!_ zo~kIDEqgnHq)w|0QISx@)lQEx$`vOK@nZ0TX-u=xXtWb{Q*kjB=_oo7I@shn9c8rT z=Udko3;*Z_F0Jrsi!HH))!9qQXp~J)uY6LLc6V9>1GWb_&SRWTbq3Fvj6tYITwH&Y zE>u|QfKHiEKKGl- z;TB^5zJrBhx;0bmHEZTWJNLqXZe_6Gesijr5)Mgu-_=|P;FVXagl~S*2l6Vd=dDuS`? zR*PKa(T%K)Bw<;C!jN?54ZxC-_C62Jow5h!y8}w+VJ}ie^)!19}>C4Kp69>1LnkqLil;$ z$o7nM4hr&_AV!=-@3+VE!c1Oc$BO4YGX- z1CwJFY2^14;H@+GPHRq8=$5XXX;=~SPW`EmtO^b>l-6qc9UX2;5W^v8Fh z<^Q5Hdao|^EgibkscZj+nV>bkfSejIm+5TbFO2bGwiKAY(TiBcQohZ%+Kmm2JTL`t zG8kN&0fmHq=XMq-HfJW0L5d4kZKe%ZrJUOtmE;F^@W_6K>(0B$M_C)<9A5b(i<&YA zesviCRfY0L`DhN_s*d_?(qZC_4`dt(4bpY4j&vrzXIK4BIj){7kECCbU}RVgUs<<5 zt<#Sob;Kk9=UYd%4EwWtzyGfwZKWGUlwQMh7(BbjU@FhFtLIv_O#beP?UbcNP2R$c zv|TCaovDlpBh=EVBoC`ex3hy*TKOVKt1qM%f$=8j5;@OUvBz~ z(RYpeH2Y8{qBFrfNCX=1&h1E4!NI);&xhCFdb`|7+>502DBrHcn9iyK=6m4CD{Xoc zf`ki1SUyw&Avh2nCI_EyzWMs_{qKJ-?gy?8zyJO3a|ZXXYYwkQvniWh3>Tx8=jYSm zSH-==gUlNyZRAW?MMTc@AVNq6R7!2r>o&Eunyil}|HswweJqYTiY;C%JT^q5L-8+OhT1?*k z=eu9#;e{V*J^K!i-lNxtneJeIU{a3I)6q9M7Sv)ZCO&tr|P!HKvkf!;B`^<6g4#Hffyo(PJ!LVelqT^X}9)gyqPSsVO6v znHtE6+_-j@N3+J*8O^ioxaOWgeZa*7UM@8?h*TeYli(&J?bGa)%H6OSol8#WiMlfb zcVN~jEc;cy&oVki`e6HVJBsBe_6(&yn<6IPi}Rx8oQZQY)|wA#@M-B}C{7?UR`1IqWHNoYG zi?rpJoFb9sZ>GRZi9-#g?2Se=_=}X1HtWE>?MZz*yy>ZX{1f?!qOQl_}JqlFqD6I!*TU{Yt+R z3N9TBI`KnO#a!}5p3oR>QdPuz|BTXMT zc(|AgGV)^%fPMvNyLjPTOcLT3Cha50yBKUFWvzg@bXb&6^221Uq=C)5HUPFdl)Xz} zv6l#*q;=H>ba!=)WSr9LzT4B78VS{AVdm20f7MGHFv6t|)IZwB+blptFZBfm(=$*= zzekji)1M1DqlW1Xq%iM$@GSKAzKwq$zZXa23H3hDMQ~t1fN4~n!`xVTIS{R_hJ%=DY6Y2-uXcQ0p&FX=HPBkO$pbvU6>r^1v-1{l$qduJnA*or?F5i^S5 zP0?XQpCTY^7N{N8YKRdb_^$dy-Uu40ciRv1eA%893eHF&`As79!2dkN{v;#m+O-)C zGu?>{B#Zc&nGaJ7@kSS8SFgIXQQwBtC{Z&l(}9;mTn?$<7_oZCp8fG~7Z(wiPYx3i zslW2pTd{=QUg9<8LD|QjG2F<@RL0@+h#%v67%AjtHfw^h&WZ}IiM{;9yz}-O!;!uF za(2tmkn9;og8@WY=b#wZpf;!FC4vC7%C%vw!P(zQGUrxSP$3;(|^7-YKg; zyN6fr1yW`0qt~bXMv{hsTQ`orzubkd)>R zjm;0c_wFgHa?|q%_p*8z7+@1az(g=ubu{Ho<}pIt9N$Fy3x0>Up()cKfgVEwbi@zvm~iN^6Kq`zA>yeST*L-+^AxPZKcU~ zKXKWGg~7b&+||L8tr`)`gPJ67eL zK6SD>#om~yYgk88C}%mx&Kg;oKNJk6H4Gx4hv`AxpXeapQN9OB`WoN{*K%%;KxMe&+Y=S-G9H}BjPL#=JYRVNcH zWLg(rvHK1lh|}mCHkXl7C%tifVR)RmzvFV**yx~U5`43;b72Q`?DVNx5ds$mGZ(3c zxc)Gb6++q+|G(dT@7)l~>fxWmXzpbdjj~Vubt*b3rzKA+vhiQ4L(_F@iD?H`;v(`bEg^*qu;gC}e* zw4uY5qB!}0|9RSj^it{4Mh~L@ax#IoE&9qkttd{>X9ftPFngHXCEW`pJR0rNLLyW> zbZCBqNDMo2{%9sPRb4Ayl!@!oDG@HfRiqe6h@G?o8CD|L0%Vq0 z-_2jeGa72R(gj3Gr9m+sBBjH?5ViU1OzaJG2&V0pLf2>W+1ix5mhv{s%0@WMtcW(m zO(K#u3Xy`*vsEO|@k*8N!BOTztD*odGwM9rkf=_!2Kezk^EC1K&8<$hI^uiyewSd_ z;E=%ZHgIoK^x1Rg%1QYfZ@p0?yHhFeW*2YG`QxAFLH18Mqlv#2Qw`qw z9OYp(YJNU;Cz*D@yNQ!g^GQ1H);IOQpZ)1j*t^PHvcu+zex!?7<6HFRw395!3WzA zQ)zTUfllv+39_>YHd9toCLM;)mo57qN_7mxDyDWa(1d{IZ<;yiV(&51cI)r=qpt*t}jS(UDJE^?vGM_Pda>H zPdiM~ucRKGd1+(*dPzcavB1S7YkD3XjI^iDoUZ!#?oc@}6`nGMCiyXs*pzftx6qnB zRpWh2#iZ$duliT$(L3>q9`c<3WyXQAbUjlk?gNj!{c5_FXKB%^I>-;Mn_wW9v9L0o z9d-QP(R-8*m`wV8zlsYujpEnd*I1tW7Ys_g{_AmCS{*IKt`p|Za*&m?ZHtSGC#Vot z3=oRTn=V=FUyjJAk&LVwS!EG^$h$P_kf98nj9ti7Iw)HL%*Av8voQh)l8}qi2a{6sShi(ZWDX8}xug4>Y-ER9d@MUJ;1{=W>kW z)+WuyER9p@oxhsnM1!{bkrvd&{MS~5*-iY%gaA_3Qs6j#>O@w&UK?J2^_4KPbm%a` z2;jq|v!}~a`PTKTv6+a+wXA+=czMCC(;^qITpli8iqbbkYm_ui(Lt=5!7ay6j(2^W zGp(mHa(B3({b2+Af0n#jp8Zp+ou-<#wf5AFk%9$QxVTLn_^Ip)84^W zY_r-vto?@$4!cgD8qS_d8^=xtjQj#|}qC$A#Hh6hI>_UF%0J-}JpmWqDKm5{;-Aycg~=pscJSwT`aQ8zbn?!C@g1 zFg-M8&_*5c{Qg*I4c|tB9;fHq9oZS6HlkrS5?+#M(C3Gy(kXB=Ti0)c#2_8gE69&jSM zRzGz~w+Zq3K0)#bYD&=?cr(023JGD=h#g$3Q{ot%R>il9O@B`MgOZL?x{kIVB%^UM z+rD#$?K{JT^XG@due?0G^7Ou z;7uv4Vy%sG_i=pB+>1D`z=sc;k<{wdte#hudyD%yie+C8M{~CIR7S{`UfMr==e>7^ zzyF8-Ygo0xlCo(_T1lsfn7%4X=||C3S+C~YX$`n?uRCFX7_et`SrwvJF4(kXC*a=R z1_jgAW5-XFRA3M==ijw+YfVM8lU80Gh6ew4Gp#jnJbt`bj7I#Jsuyh9RcE0T1*_96 zmFHeL4>EYTH-IQp+mBJLS8;|-&p3#W>pZ(jY(#CZMlWzH}sM1jcUM?B{x2ss<2HpY7C%K2K7H-bLN z$iEbZQk^;aA71|NX9q8fWe3$i4uhGQjgBKeQ+Mu(x4b*ksU|wCMu9L1PNVRI-9&^$tU&E4`Dm ztpw@TV)O`c)K1E^6pt1#i_&kP^|W#6<2v~w!h$trV*({5wVmhE7UKx5lL{CHGECcl z;85D^NaahCG<6i7q+<$=o^{GN%gV1{NS)ZXm`1^sfhZIkTHaOG(l?@SLX#N6=14EB zZ|}#!{I1W&7cAn^^>nUQ;b_Rsu@8BS~QRGqi-bT{HX_PI0@HI+9g#^L%LQ! z2yvD#sZo43Uc_$9)yB@Y={NO~SnwABLI}0hvL`21bA)4I? zM$jbynLuX0p;B-KsScFFr2HUPkiU2sPyg2IG7f*?A#kk5fgm{z6l~-sI7;$zxrlkE zaclu_F3xne2Ha1F$6%JiI4uA9kzN?%5rtoW^|dIu?Ny0?+KZQmTRFvYF^uQd;=-^P zrQ_|KowP1Xy-sYj`r{ao3m2|N_Yyz2VI=Co+@Fa)#s=n6%4Tntx;>5gIz7XhrANbO zM~~MjhkN$!uDI6pzW?3#$`SfUpMEs#J@|4~+_nuj!+>n?dlE)(8Pt@B{;H;&B)||c zNk-_nTA#Xhyt;xzaIdr5eqe>~p3RGaeN)7C9SV$0V;Pl6qb*ER@7}vr3<%?_jl0Q9 zJBp)Y*EBJCV-Wp)AIy}C4&*Jp_kLgzyq8ZsC%t>PYaLm~dsI_JBY3&NOb2(a)ZVxN zdHMA>vhi_CtuD!vl-uD(5zQxZ7)t0sppbo(f%W+IPw)dD|8xG_^q zaNmzIpZf?41y%^F4xuCEHQ2SSKAC|f#H9^<>yo_Zes8c?eF=cL_tni3 z*Sjx-QNy7_9g!313PDWEFPiF9&bm9h4Nj&=A#F7*ojwXv3*TlrZ0aaQ9{q*rs9fgSbMT-XDT1LLaL@ zNHC!LB~<-_$G}dbK*?KvRq{2jn!ZNtRM7|t7q$m%+OR3GTur?~P>Faq^Y?@4NX`#t z2L8(7BQd;+CO_rhirvnI<0pn2VK96HKaPHZHLFTHf6^kkcJ{?ng)@4ex2 zwp?6~GMOF)v0KIALV_#KskkQ~%xPkbv<^g%7kzr5yv~Q18d%Z~zDjftvx_RKBp#m; z`Q_+@uE&^6Cw>$nW(0}B=)_!ZcyBM+Oe9X?{oT74hl7U?$6}fu4qapmMy4Y=^ioE5 z9SVIIVeJ%0Q`(h+xLw;+l2RGz(Y1k=1khIy!PWw41=D#k1!?gj*=XOS*}8L24rY5j zQpK)n--$5Xb(5Ly#*+6@@Y$xzr1elhBoxvRIE2>EGK~v^v1G@8-{{* zTqOsmUEhJO=-1-L>a}4^BPImrD-6cS{i5?Xrl6A5soji)ai*Y<9>;t4I-UFKd<|DC zdH3(#|3uGrB~Q3W=y|%<2+?x65?hawg_$nn9Wa*H3@;!y0*y9z7b*eaCbD z($PqJSIWBiK~5c*N{6@|4|~76{&C8&5%HBwo#G^Y!}Rc-Z+~m}-~Z#^#FgloOal%F zH}OxB`of70PEj0+NI7BtRpBTbvqPCPvx&GDwHFH>;S4UpqYj?==V=G9EtSI2JWOXQ zNi+De9J@LLglX`$c!Gmh=M(7!a3()_=|J9f>80p0m`6X##u&A|cBQwGf9ZSD*0vc0 zq_jJh-8wxOby7h(<&cECaa%1_XBB5#n9HvHhhmQsEAeztTTBEazI5^-9aMg}@F;+( zXeta2J=jQ!EwJ3>{2m(jA3QX?mBHfV@l%Bp%5*kD+cU-1(Vu4{X|on@v?#xzB56&v znv?{`>WNlul68eYG@fA~v>e0HNTus@p4OT*@evfdfg|a`BVc&?mv0648b{4!#kKlq zBw#BX5D4hHy3b9!e}Tx#t>WZefb|nv-1ct#zBi&}$^PCu_kvli`<{vjYq&4Ft|M9k$ZjBtS%u7i-_uY2OtIhPF9_%1RjZf$EH2HZhB2g8PNS zLoTkKiHQ9w9&cs+JA&#B)tQMaR||q~;#4INC!giy#824*!=t@0p*aI_ils^WvI=?63 z<{I3lGwIlFuq83jDTU&v$Bsu*nHzrelb;Sh`qLi{ufKd`IQIF`;cx%$ zuM4hAnF?Lcexi>)`M6*;s-Hf2DyvT?tMmT!r#~Lve)EmM^|+*(Pd`2#ro1yuwRzB= zoSLgG33JhHEr$U$ch013`CiC=ey1X=v-GENl86c z5t5A+sKiJSjS(Qus-*mr&BGAKOd9gm-E3|QqUP-Xc$!lj!>utc|BRk~JkL$WWcf}+ z@kuKiStTLLYT%8t*%};TpUO%D-G+HPe=_q~D#n7%hbPz1WmJrABLvJ+way{RGyp>H zq(eVQd?TW`h&s&`93muh_*|1ua2~0njd-a+5fb|y&4+1lsjYkhcqGPGlGJt((i{_u>Rc?A0)3GJ{ald57j=TyH&BKevp-j zwXusaB(*lyj%mcau_IT9F}0YB6Rqi-H)Ze8{HATuQA9#n$TDv{1#Ynai5Qm=n0?0f zxYJ-`6K6qTx*N;b?(j>8QdTyi<~`}gfN^c%O3KOfC@^Erx3h)7a`9xwzETEfRgF~X z94JfM!p=-(jJ#*hoG%l8o!Y3)=L$<^Oi6z&CJ@Fn8U4dd%Gz`2rATzK9f|or4|b+l zXisqRM0MVDT#V30&dK16-tXbVHbq>{075coY1*`f(&}s{*$|&V>qCd69=e-4 z`zwR%Tnsbc`Py5x13r8ztA%WS+Ljq~#9mBWgj7>jV;s|g851dgI?x&%Fo-MVeEL!z z)9*;*p~Y|q?l;nyC1Le`iXpKT>dW0|+@MiRJ-AXfSetv;>X3P%^Nu8krYqAul5s&vqtGv!qDCaeTylZ41yLzXw#^3k2{fglfca&c$$`Frd zI1OTi$0(jhA`z#ju`j8(ZSo(#-dI?S_)}I+3PrWbe3#;U3)`gji=wlB(VSmrO8xZ|{ zk0*_Hz6lV~^XX|_EoXT@9)CRDcz*rf^+g`7oa9~%W>v(h<%wn#)y3Y4EXP8+`DGDB zD#<^H>5u?XMm68;?Xh$nv}SZ^_AihG*$9smgm+?G8lpEq*(*dEQxBfIvR$rVbWlB{ zBkuOC5iGNL#!gJ=lgS8wojHT5)oWeKm9F3qzQ7`Yrw)t{>~FmGQcT2m=PmKM!G;Kl z*7mbp%Ua%%k&N2(TMwTsR(*7sCvn1l`^;kP&DpVaN0irFOGi+i=Ylt*rh3Aij!cS7BNsmH z?|~E3p^3!RaqZu6eGmx_GqCF&Q_{ZI0-ttv;)u53Chvg zR}M}KUQHL!fF*YM`p!IH$L`(3mgs>n77{Tx6O%DO6sHuh=p&L2hC-_3g7r~!Jf6X% zOv}mIQMruSbbNb!bk2LB&l<#H!({c#@g>?i+Pj(}+L3Kl&y>pv5IbVHXZibf;)8W5 zt9|J1Vd&UyW>ZXcg)ekU`At%XckmRRg0Gb@>eFBopMIzh()FBlzDXxkAJ4OQg7^AN z|COPghY|mhWTkU!Y-6lU`mbl=x!)I{FEXh2<9~Wu0pO~~bE9ahzimWk8c_SBE?}D zYBX*RrYL7)$d|Z8d_7bgx;be`bcjcJ%6*pUj{It}7x=v^sc%$C5+S@u8(Lmz?0S}O zV33CAxK|>5m}g(ha`25y=jse>qOu*=MBK&fo~29p`q#f+%fugj^oI~-tJ9f_=ZF9M zSHB*9^_zdmG$IY3^7T8Gzc=r2dpQiZ&R@&7Uk-0ye`EN@J6|0pGetUcMmdYax4-r7 z@Ux%&Wcc6ykG~46^dwnn%QQ;e7p^T1yZ7vf7~WPEOiwYIE0LzI-C4|(V_RAGnoeE0 ze619c8|}9W(^#K#rE-ZuUQVan5G8KlHFeQO+VVY}*<5A>NT~6wbYR8Yzfz zQ#JWs>wX*=HmfL$9izl6ZMB2h(^EzV1k0d3&jiVIH;$U!_ za*xS@vA*ZNru3#S(OaQC%jpIy?f*E_$l7siiX385rt0QU&zPW=`lV%N+nGfBMR3knY9tRE`89sk-G*c%oDB5%=)MyB-K~kO2rMmh_ z=LbITwWZ*lP;D@xS?_#z1-m+r2k*Ue^&964>Q@Y=GR4J0c#SXNOf_>(S8AOD2#R-X z0{}Wu?kfa=LQS!A?FFTo>b*a;6mI0EsFaV=7+@vTeciP`p8cbVZkdkqM}QPX0fvIr z_V_(pn>R3otYM3=LX=>`sg(tpL``s6qFoolfe`T_h=|;$My?uidAccytt>oFhkg{V zX!kQB5YagqM`&dgnf$vsHl+4OFh$BtB;kb^s{FEY&ec7*OetYOTEyon&APy~Hd4l} zEImHHf48;(T)lKYn-@9QN?oJ4d>9=A=i__#?jQE--a8yRbTCWVuZ0<1u2r!A?!W&Z zhF|{kZz8Iuvt&wlH&X-Cv+(B%4^vcTM#H&lw})H5`qgkLOzhwP`M-TedrTmH@+n`>$}nJKB!P@8BU zbfLp>_voCa+Mg57#|@|UBEg^&crYE^xobz-WTx-~N7_yM&BWHG_TNN`;tSX}g9V(j zThW1d;xpiIz{F};x^XiHk`3kpHpXq~*V(5wTg-Czo;?NIrs!DEQjI8qs?P2XT}bmZ z`Z;w%8`@JI;Gn!`4Q^nuKdtl>p&Op+s$ZnfIP8xEGZQA_N@Cd%=?DX3Q&jYk@-PW@ zGvKszEbpcCow+cWBS&6}3C4-xVRVvf!|c&7<@1Bkh;C_%2YukJ444=odItA+A7()e z+i23ycR`$nueO@y-aBz#(0R+NrxizfWvy%#sN6<>S^@1rWT9uQQ@0L~HcTes_RxXq z&;8ot^lMKyes%xl^x_wT3$cVCv?o*Lnt+u&L|1~YmpY%?(B?V zAQAuVx4x1oLj|;m`i<&mxL14F|It!aJHycq1KEJ-B1s5Zjow8)H2hW$B$5YpJ6;JBvvjBUqIc z^5b;2>9{Z8VV@U#ZN{A^mzo@TQQ#U?H^#Vd)tV50Dr*XMGn-I_HCa8HiJoR>e4CWt z-AESNr^-kSIa&v^sLGX<(V7_$|fg&Be;mm1tm zf5pROZZ0lF5x+GMJTKgsChd$dsIvTQ?Bvwy;{D5!^xCG#rrUW~R=(9{VdU_Jj=_iV z^uf0(7hDSZK*z0TX{8YtJpG%iXLxkqw3}hX`Hbl<&V62@Vx`t^8;k1OQZ&HE4Sh@Bue9XZylfhVJ^zd z&LE7gI{r+K+<+V&(4;d8AV>|XB{e7?rlcsy7e^-%z=JR!C$3dC$b{tDs}Xw_oy3Wb z7?i5B==6OmD=OgXORwqM31qRx9JMS)sWVgP+KeYYn82o7b~b*P1ZnAREOaNbG0|M! zfoQz?KacYAS;|L97!LT1TqjSStP$U-0>Az3Z?hVcm8LASXKc=DnuF89k(HA;3THEv zRw-$Qq?H{6wSD2lsWXMsb(wYBGP=9Vx>!3QnZc zChiNrnbO((Sh|zoTAk~N-Q+`Oz%Q@*uq=jqgMby6?b~9#n@**UrfKSFpA&prQie0- z$ghYV^JjCCGQg1DoF>Tk;B1`kNT7}pX3S^Bl2dKcEe1pXBrj7?%GP4|d8Qm^PGCGNbk-c2DCV)jiC+!fjwz{G&%~WBeFiy*Y4?`xQqvNNU;&Un{k1aXXao4W-=vgL9 zpLX@q#oFJ+4Z{|8NT%)?a7^P3sQV&mojP$Mcr(psT-XLo<&xanvU}@;RTmOua7}VS zf9Y*iZryv%4}4XZ;1=Hcvu_=buKg!&kK>(X{ZjHu&_DK!M|rO#s0jJfGq%JjGr+of z4>7#}@q1o9|DH#G9#1Fzc-kJfbQP(mJxGGIeswxxb|4eO?`8#ObC#B$1`aF|SAU*H z@5fy*mB&mFpr2)G%m(v8AR581#{q{jdi?V5lCp~dM1fcKEE$0rN>M5zbgNB*4$ufb zqi^OOr8LG21ApNz#A+G)X(StjKqx|t&cXqUGOC>5vbiG&ql=U_XK6g6p=rbYSm~-G zIHfrsqq}#${>_qL{_-#Xa(MHNSB8C=QoR2!zYY_KGCNY-R3toS=OAXA1J!j+{MJ5Y zMiAXn&{or$>~Ac8BcFeEd^mJqZ^*9M{@6wV{*D)ZjaTKE6z{^`0#Brv)SaQ1I7OQ2 zoZKX&$o4MqnzrZ=NmfDn72Qj|&_}VZhC?eSGuf-OE2FhRfc?s?n>qI?u&>G%14ne+ zxN)gqkPqBrobZA!F{_#`6l3aB&o+37kCBj;OtDCTm7gBY z()+-DFAKbax(CULPwLIoJJMU&PR=r?fX)_`)SqPIJ`EolX>_wT%+0iXDok3r+TJSI z_MARym;B0qJ*W=W|YYj>5g9dIP1*I@&BMCht*8(V+6et0p z1LK=}1@vpn>&4#=Osmuj$>)m=)PSvWQT~WPTP}z^4VHIw8Tp%4l*_T_n2tY{`E2&P zR&#NTsYK%t95d+oaDE0@%&C)m!6?5%L^`|?e9P8ND@0REd1)M?Dk1?dMv@6n8Z9GF z8WW+jabYX5{H!h4TDjuOhLRVf2rUH{@S(I+W#!uNYAG|Utl&X-j_e@0(CHu!Bh^%x zi_yx+$;pzR)sP1nHA!pJQGgQTIe0pG{IiU7@k5dhf8m0Y5sAXli5SUK@5za&mAbQa z;CvegVDFGwL^|nEIvsmdZbcD!?&5`Xz=h#*=KgdI%TIG$N@#?F`FYF`i1=(RKKkgR za)&{AelJVR`VaU89`fC{DGudgR_jvNsXFyCdx9dpDBp^T&T!$vrRofpb9FF^V2s?7 z|6=wgWwEpvx=wy4Q^(S|gceLyrbdV+RZT}3ZFhXNLugYc(+N8bqq)o3JgVH94n+^A zor`YL*1pqUC`TS77R(6qv2{Rx>r?lhA6hbK)xePQoUz1wf$<+^WE$!O0q0dee-;~} zyzekME=N5KRHSHdklMndhKJdbap6q-`h*4!9ym~HAZJoN3Or=oXORjWwzfGmjuC-R zUKR%I#vwKVDrGxPx zLS>!;#+ieAne>8trmhu6-`)2DT*dD{-}-$|?_Cexji>4FUG3djDXTt&!Gy5Gn)H{_ zxuhMlteUlcCk3YCsi3Xvh?-L*4aSy1z%UR>uTSp;p1nt0ki@*&J51!^!)6Q6(-b@r zxqDsu)ptwSu31sd6j?^-I{0j%NntnAgADvnOd=v)A z1An8B>cD9?xb@8vHS>Fn0ZvQmf%AL^iz{iQaF>xC4BmsU<5WA|i*7}^XhX+!-xyXK z94TJq-}Mx=tUl4sBBE!r0%?V8X1etW^i{@tIV6qb=A7_eo;C;5iO-J}9Go*8-oGd9 zV{6OZ;qy;E89w>_?<1|g9Uajtfjt94rdDuh>RLU_iG!Nb`Wr0snKXvz0KR=DQLkj8-ZzNb~8 z{@ma7JUWm)@A0_eR2f0C?pl_>dDkTXl1p(I)EtTCPV@sCrlW`ok(5K^X!OfFef*Ll z9(g-@L*0y$Ry>HL?KC?1M-s`X=hsJ-Cs{GkNZ^~>z}hnen#LqSsY}zxG{#_*kT<1X z)i-csf{4J>#_(l&;HZ&SuOuKjjT#hux*G!J7Ls70Viu zw))01pf>9S$&!{XO9wl3>QvQF+hA;6QqcKH4~~pwjcqxXD+?CTPvJjln<-aY#RPqQWB0+m%Q3tvQ`z0`-}DwfD}B0^d3hB1?Vn*k`v=8Mb(o2h{( z@5h6>qu>7PjLUn!-lpz_*ulNvz8cYQys)0|%Y}IMtrz6_$DY5OSI?*CJDx^d&pmI~ z>Qrec;$;v09p1}okrJ;C5RY8WWFJzi!zMq30SWTPXnHU@dnYdq4Svt+k2nz$Me9<` z%jHq^%l8If^P?dzM5sJziokMpj758HaP;@yiCbwhwQ%*V*SW)Ny5k3y)No+BE*-{D zs}@GBh{b%RB5?Jy+Cag3Is0+0UA|JCX~)*+F2Y=5^qV7JO>4s7MhrVcK>>Enu+*K zrfT?pP}@e()DZ(OeN^r#j9KBrcW(oEJ4gBY!i}oWY^EmKOTF8U?2bD&N6p(D_Y3Tp z;0-PXc!LY?w5$DK{TtZ5!;Exb&waH<9E{U<-$)Y9AnN;)NHD$$+6&zX(t%NVf^UAE zo-lBDcLHPc{S%)vnYwW;A&$0t7RgTDR-!nu-@bKAIYrx@{Y@;oYsYn@O|C_DN4JI^ z?=IagNd>KGQ(^1Y?NuMk_28wTFVFrdLpi-4bof{LQR>p`49 z#P4ymZLwh)d8jZNfpLE$wUJGzM7VN2HAK3Vwyprn4N0aWyFMfzh-@Q!%PXn!EZu0T zFv=sPB)^tt13rX_fg~Qk7lNx_gQrOdLpI&93MCSk1EQ1}_M7vZr;1Q!vr?dbI-{$f z2B`c}AOaC|Xt4TLs{$dOXVL73*%u)dfu;j7fHIG*hDw#HDh<4P7ibGUFk)1NnM4v_ z{&mg0tFk-pi&#@P=n`hatTKPARVT~aIz4HVj-r@;aDz7dtmf&wtj0Nds-4iOt2D}%r}t>2 zt@bq?2T6hiqaC_r5}~r%1WwTbTGmFLMtb`NWhw7pFKobMNwdjkB89a1w@FgA4OxH)Hk9)|pMw zS8dzABi6c0nZ9OqDYOQ!=!D)73RqiODXbnwkdgTG0syAjumAhl#dt=vKVwFNYbZAC6Dyr332-2*>gqBC<>f=3X~&>fjIu zx%9{nA2vy7E_-U8uGB+a^xRe_c{E%YshUzO?6%6}5+gOJGI~65m6f;kzT-!^8s5ly zEB;-UqeZ?I7X;3p=F8=2b{c}!lBf=~F)InY{4a(u?Xx;}_VjT3`n5Wc{zpIh(eU5? zH~;nUxBu{q;rQvxkw}Q@m`p~|oHuM&aGeH_=Uq7iYFh}@%F+F76A!sDtYkvQp+dx_*rI@nJ`{bT}cvPIpok z<+GrCMuv2CrjTfs&gD=4&lXM$v^~DKVAKXJev@h%t+%{mcK$vVjGOwyRk z?~T%UTl6mo+@7Of{HK48WS9FGz`^I5>=#m(4Us%7k8aDZ>wEVvRh_~5_=(#W*KzC( zx|Vu7_j%Qt=1OxSHcLY9h)nAXXBkA)McY>Ur6cL2ww0g_@3c=3I+`G@_VnEV$R4T2 znQ%OIC06Ci4M?Ve*#yE ztUv9$hEZU@x)*wS_r39Y**03TGVKc9iXZW?rdL(DEP;kdp2Zy7^ueeww{fNseBMJS zVw()JVDF$oA=2n5ATH19uNq(iPt$!wR1UG(b^SChA1L3-(RqlPa<`VEvouXfD~(#Z zBJ?y*kQBHx7h&*ZrNb+s>YX~->8if)U#kk~FIDeiT1^4FKAq@xjtyBCN#acOFt5E5 zSD862VReY;d6?(pbS|(vM9uts;mSfbCVrkXjN+1kB$1I(=l(DM{h#L)!Ck|D%E4(| zaKayx^Se=ozINp0;Tvy%b=Vnw&7L^-K7amfiSG~v6jr5ed+M*2{jW(6rX|dmT8kNR7JJNd`?|Od{4+EOXprj1&JGnr6*$&|u zXQHzzx0%uR+5LX_(1C2oHK4?S*X?ZJOxwSl4UIOaa{9h!UzVxEux^B&<$;!;J>&GO z*RxH_orX#3BW06>1kBi~;i?#_@&R0{m(Q&HHK79RY`4(Y>KZ^P{zr+EzSmRTdLZqq zclCkL0j9n3J@lfdl-QXVNz<4?C8m|jyVViV6EDQoI9GkkC#*=O;#9$DOraa#xvxS4 zO9M<}x0M#(I9V)|s3qves5fvlBJqG5F@eb7=<1-o$L9kawnN=lV>mO&Uy}A0`DE*j* z>u7iGL_wQnV*5S#G|`BrTt$Q#d0WVHMqtGL1S1Nx1#{xkEmVEO6jz53)-uRzh^RTY zJuS;&n$8!Z47D$1CXDk$rVy{CbFB--@P(p0E-Mg?qeWaNCN9ecJ8Yd=p1&$4J}rQCN~lAhVP zxz0#Fcm8try?maII$6qGOyF6jJIfO>C<{DO!PWf6<}PFRmZ^-wbPObnrssGR_ltG` z8=(>7md!iDJkMo1^)ULMoi*B9DZvP4H&7f?^fpUtt4Pi) zGdE;9pKQiod@abx!h~hP1MAD#?#$2Y;QO&XVIDV7?NC)Y^FVM91PaAoMF@U!* zFM|@(1rk*A;amErbUbGu<#lioW)_Qrts?AcRHigodptfH|qS_tj!%CyRLW0tiYIZKLUo5YL(le2*op0;HAI+lNgqwU#am+)5Az5uv1u}$uYoo!!Lc)x$7V6|K(f;LUbGWxewI9z zBOP|fQ{s3xQ3Gr1pXlKWmb{f2LLUp>6`)^wUkx!9Z~XTEEuYTWeAhXOd5rF{r(RaS z`d)@>x!TiHoU-^BWVK49Ig2e~K@7HxR5<;HETQt-;lM7VBc>r=jfi-K(#9J}5+JV# zF=c@hG2!T#2dCk7Q6u~#M~(#c;5+f2q#>TivbW$ZD89@%3)tjN#MDap9?JKxt|^C< zB|UMs;Ui2s1j^XX36+$34qfZ+5SnzQ+{BAWEIeKRBzsOaR9>ggFATqW|2M-_l#Ac| z#yi=gwR-sI$;VJbTQ`7D{< zxwD*u+1pX5+jrzNfe`VfO8N%0Lf(8P0JPV3fqPr!w`SUpjO8+^{7b#`5!tQ<<7&Ftc(579*s+RXXC`FiU|i zVI~N6Rig>CglSOza!&xjesl>VItFUW6Ial#=)p7B3exvqMaZ8{gRVVY>tJm}_g;IM zPWSsxH(j@5fD%YBOVJ7PAM`lO-rDtKn6$x7nk$zs)HGMyQq&jSr``0#t^{n|oJv(VwD&D)D^`!<1^5@B{D9LcwSXfW2>&H?9Ks=s%pxYIAfC(;)> z9b!VQPjsAArShlOTl(I&-7C*G^)E|a596UnhV*WtPt@#yjK_8Fz5ey(d^~qM5Aoz% z?{e*x_P&MI7{2#>>OKephl9W>govv`hKU3cPfNq9G}{5v^EO1Rbe@ha{TPZ-%Z_8a zt@+3(F+AlUV2v;T&Yd~!7FtJ+QZ&!Lv)HurRa%W}D?*#oHoRaFkf6Z?9{UU!Jrs`e zATOVCw}MYosV9~KYK1`E=7s#947V`te#n{Vg>?6Z%XO9Aq?Ef4g2=(87^PDSyR!% zVI;mf88fjg%^6XTpE!|go0b{~?5)`w<1&K)HxBA+RS1JYgUtKk()3o4FS;^SScsmY z4J2*qi8=WuE(sPL2=eq3(2o54>%qHDtET9sP&X~6W63wPQfZP79lKv^w|FdPm5Fx5 zvu6z498z5l6Zw6NHqEM{^a*O?JeH<*hHN_ zeX8nfPZAG*kF!UOq3L9%j7}!7Vq5yTFnVWM3E&wIp8GrS!(*e(HY2I;$qSy?8KF-$ zR7Kx-0pCc;l5~dtGKN-P&4igFMq2% z|7f}wc}Xr_1xO#=7tm^z5VESPWziH~FqFcJ=$3|?i*ux%yZ6TDNwb8-{n}Nipi4@&r4X z;WJ}u9!Mj>cTXQFgAo}Ic1w{47+Ec4ep6>QRhR~p(Sw{2==}qPN#R}%ZH>i6D2d_#hNBb3&xO@^1wi1S;}+- zleBdO^D!_8l=_&Um9Y(B90oGDev&~`y}GgA*^?(mUKuCLbip}SJ7evoPx6~P;yp{oV&Tc!=*{{D|$IqjBG{QRkVW%UlMGQx_F-hAt@xH6QIsI=SZJgdyF zrKt{^iltLNF&9jS_TK!`&QyvjQp~=4cZ#uKAFODvMmgqs)w4-#;o|BWz~!sf7!bCoo|dsePKiw-D14?$ zy}o&sbeL8eH*?`FSwiND!EvzkP4d)vbU=PSo@N?_>8OjKGhjrBwCrFUNDv>y*{@^m0PC8v%e z4oNpMN$y80eZgDNXs$tB)x}l&+jhWhgwPeDNm@8kb-0H^IO?=3-%eAm4%BmO&U|oI z3?_KsAc~GndQxm-cyRz`ztf#e3By>oMz>@-y*}TcY5Uae^2JMWyncPSeE!_k z!3+Ms8(sW|9}4Wvc&C`tbD(e&v-m> zdvX2RB?ksqH0}J4Jbn^UH4QSI(SP6mgT)XoT)0p$Lmq;k%t!_SeL1*~hRQ3%gvbTV z$LI$(R|a-E`@wztGy2%q6t|m&8+gpGQehrVRMa8-5G2wiLb|PA;$V=4%e<*8rds#J z+z@sMW^FbzhAjpbyTaQttAoRyg^_}l;h(uPrXvr8$|2Idtg4yr%w@!+v~hsj$+%+h zbI{z(%I*&Si_&Tg`*!ne$|g|tVQw<)XkU|7bbgSt@cY6DwZ z`T)@A#h#8L8#=?Koiyvk*GXiZ8(79}j8SO!dGaj-P3o z00#NVpAx*SO0|uO&I7N3D2&mfgA)em5=qZ*zWHXPw5@TJ7H@#NcL&b48^1|@sbgT3 zuLTDT>FPxu_S)jYT$nY<3>@fH8LYf9tXE%uv!o$qTejzVqVUwJ*zQx09*WlT?An9) zf_HGFXFDE90Fz&f)9{Esn_JSRN0e@qMWqpUO&9$;0{c}A5j+cN?|Sa<0MIgQKpA0# zae&)%Z^RCKz)sZ0X_J3mtD_%%kMu1Mov#Y5eDk%g&51ZWofg+hjZO+q+HmI(M`2!P z?~+tzv)b~?tFKolG+hC|Y0l;79yB6Rl{ktZyG;Z_Rvw~;AMhX~BCd^qB$(Tq*w}0w z);(=bzaN(pIdia*RCKH@VJ5_L_q?ESjljv% zvE!#oDGmqQw#?)tgILw3Y=(630MFBzzSvwx=dvaWUZbUa@~N)U8kLQxOOYVByCiw( zgvxZ=L2{FtJ{?Pln_zZ5e*6O5w`9BItpK^Ph zJ04tnz)%ffY;T<8AWvIM;IGggN$puA@#QSzs&luaY2{>qgnWhgX_WE8S|P2IP^Jpi zVUm&1GHd{Ldyx7t_6LCS9tXOYA)5Do9Uys*hZk{Iuu}PzR4_^pfvg{&rg4}|BM3?< zh#@X>N4PKc1K>D!rtLF&5TzJf1FjAp#c2$htjQ02Q z?9Ag;>1=cwI*#vOlrQkHKNaCQ7U*P7c;%2V)Rmg=icH)9XOOyAWO{&E|Tx^WY+ zHq1lb@IajBk3=wiAvJnm^ZtyS@>QmeryZ?`a8A839@pRy6DMUY-nbgZg26XC9yU9e z4~FebD0%3dSFc_vIHmOttZ*uC@N>A0v3c*EwvnfH>3M9)kt|I?OtJ~HPdwkOSV=3a z;9kA*O&qxAUub>l*cwgt^zGUQ!ik!~T?+1$edzFmViat$Oaq^9Xmlh`eudtD|NYAQ zd*6L;_~3&Nsw_*>81J1Nty21ytgNZO&6qbcRXUf$?#{$|`D~^}rm1vcbMXN9DCd$p ziiK+pb!4Qtf8W8FV(c8w=2#j`9et^bdV$+j=+}A}{qe59{~}JTycxV2Z7wf|t%u1p zKS}Tv{ad-1Y|@};9nY)3{+%EET&7-(|N6U-SIao55RgK~e;uH_toP#dc;H5SJ@mNJ zV@L(=ScmHITzeU{O5~Z8VsswCP{sy%Psxh8*ht3)r#8|>d@twRkQ({HmixyUZKo;W zOr?S>`$){g@1_BDJVc7fokgQ@jZ6%cNGuI66lNKjk|%{@O?84~d!J^rN#)HCM)ZY$Q`4#R`m%?4)CACdjofpn5zk|6H${9iKXLNcH>FZHC z)cvfCojQG{7>{$Bz&aVi%B5_5lBg_PA=^onmOk%f$@Kii9Lt*15kLLx)7Yw9uMu%3 zoqJCD@asRL}dV_*_!f_aBimDTwhJp%*>>|Jnj~{&SVHjGR zQYFpiD8{!%YAPQy(fusNI#oP7+@1GC*HC+I0wbS2H?GHRW;*ReR&TU@bLY@#3uCyK z^u-{8coL{KUI_Dj9DA2dk%0K0<%g!7T-tPL+E?2)+CrDDO*#Y1i^3nc*tuw%{12@6 zN(w34mnd=Ry-Z~Uj7mNWi_wuq;@T7?t(B)6Sx~6KDNNOr`sk;h6v?7_^}Cz4vgiQU zXpi0yY&T=q!iHsirZ^|Uo;+D_f=zt|v?26?v>rx(dVlk%{{2c~2^d8m^e&Zy0WlFu_g3-4#6k=t^TzO- zlqZiBr{5j~nfr-Yg`y&1j1hDIyzYSYDUx?Rw2HM#^>_W+zU66DdC$GH~d;pbUhbl#<$uS|()U(MMwr)tD}mc}ucH3A@n!-tPF z1!HhvB)^~ch(JS?vN4T>aFjt;p|PGl+f<(K=VOemvmZPl05lUOI1$N*g)4t zaL01UAM1e!u=XIm9pl8_xJ4V{nRZwm2C|T4_Ztz79qZb$J_1~nqmSbIMc=>(bTD-^icW@*`$-EnC}u8Ogh|n;sfxsaYqn4&yCx*w(=ftx zm6DQtOdCuKIIgxq($A8xrCIhdh`S`E;G>vt zuJEBf8N9h)8%fSWfP0%aNlEB|drXpyPF2#*ND6{q@3h}|N0Yv)k!!zKC)**EZTc)f z_x-zk`hD9S-JH%V53Qh+spz?c*RmDkwQN{CcJ#C8R&rEt&YmK9ic1-2zq6E1l2YMLXpY-!A4wjN4zGB<)7S|WA)kw+TiSp*s zsVLvfgDsWbPlNkL7XV2*Af#HkfG`BnI%qm;m;{Bfz*HYD`0%yTz?{3zX^Or8d>WzL zY38Q1{2_`&OGx8sxDme6jtP-)0yFp!sfubqjartynRhGWah$I3g{vc{+BIe2BgQlc zvv_d5?WbCfDBba?Q`s-HZW~t*kw_vTfZO|W(-@ctoy~VH9Jgg?pjN!#w8b?wiUK+k z4hnJFgr82iI-G0q;$pt#M1(LGjTD~^) zemBegr%s)!rT@3y{%T2ere4<~owj-gSAnzFvA^p$@hte>?7w0#UXEv2rHuacLaU$@{N>=gA0UDE<$QdTY&@SY=OInYr+sN@S|uyL zLlqBQS;a6V$XrB{u(clWMhBxlnoOtmo- zBJ1VL3o9dwxD3>E*ghI658{j_7>!j9L}XND7)E5)xxFJ5K|se#5px=b=&iBWWsTVK zZEDrxg#KF>XnzZDk^pQ6;E@E11jgOJLD4xK1ei<5rnha}2d6N@nrxU2(-6#c97x@e;L!t9+vq z(y_|CKFF5il@g^OERIk_;ol5J)~ccDJ`l#s#mo z#YoT`eGZuX9Dm{+SEf!nXaPMmTx%0;Ccu49ryf1@dU-DT35~(IxKCIJC%ErvFu;N} z@2zBEI3zO+1}tFJ*?#@&U&o~176#LJR?O42AB)6{@i{G$lGw)Fty^RF5@yEu(KdlJ zOX?Q45t<}Fd2i0t)sebrmesUf=Oiq3)UKybpB{ew{%^x@PDgreIO;Hu*So*#^;T#1 zVDB`m*Ly~HzIhfXr#=&Q@ge@##SrR_BX%(lb`njI`Uk5BS63J`BT>( zw_mF?1+Em`-?T<5rVt?dKlyw)$cs)QO;_dg@4)xZIO<<1I`Xk8c=H?%V&#b!-ijyaf4~q-eYPoPeqpR{UiyB3ft$R}~4Q9Su(~J;h z5kneG$1Gyb{no4+)T&a%eomm&1H*$6ofd4K>0t`t!ENbc@*V8enCY~6nS1H#Hh(dl zFr$oozL74}N3eoM2SU$e^j}(Hh-RrU%FF1VCZiXEXLzs@MQ<{jksYx|WUX|Z7-5eaSm661eJNOGq?)l@#{tYR9lRF>+hxbLi{h~u@Z0ep48Ff z1Ga4iFly9O5nJV%i1a=h8lnPTbtXGg?N*&mBi07AbOcMZHZj_}LkUbbapu&iH0-rF zW!hDvDTzb54mu~v*dkz61M)DCE3rl;ksxLx2jbRX2&!y5g47EaE>@l-9?Rc?Ee3+P ztv=cdGszDH=YKVPo@>;AfV^~%!O+yR1a8Z*#*0FPEE94tI-8L+EVr8X9~rF^H_z*{ zI+mW2CB?SmoL?2pW3{P<4ja5+fGbLP^JlhT3TpNqH5IJ7 z%ezg(bXFS~1qYaMm-#e|x1^siDS=Zi(j$uC>8_Ndh3DotT}LS0Puc-v)z&?@FKg>u z;T;}?Bu^lbnT9syu+6R|IVN7uLtAPq%6Nm5!7Qy?-)F*<)Z0P=36|o#Zx8Uk>0apn zZVacg72`=d=KV~0)#3Fw-l**sQ(?l6#!Yji<2u`Fbxv2fK3u(WBS*$Arp(*%bQu3T zm{{tt@8E$bibLa>l9Bt-mtS@K!fmUgcfAg3+C$M{e;B)p+v78?UsKGNMgbO!q* zOqLnQ>Ti7SM?W9S;|sS6Y8@O=x6H>2>GyRVF`zHJOPX3O8cW;rQINRGa9s&s$S0Ku zvEr1XRNg_EKITvL#oQHB^c}qU&Nz)nb@mlH^CM>JB}%4~=efMag=u`A^LN-8*qO?O z0476+f_We+3`2*ah_u;{v7Y@n;xP@UpF!jr3eh4Mo#AShXRpMYJ6i_jf?J*fx0m3@ zC_OHAM|myAd7Ag^O8MJ$Js!BeBc|780SOc&!#Wt#J*-Ve}76Syt~;96QHZ zIQx~eDV0nh!RW|!qGdX;*RxR)TlvEHNl4mbDb~*7k*eSV{H3hVv`MGM5J?+48@lO% zUPY^5G`=<341U9Fph+8J9+Wm>v{F9G5ju0Sg5_6jm3XAn*2x>gb|kI1Y+O#B zJQZ3Y!DN$Yl;JPG@@fu*+n4lfhwp#?dvSd+AM4%oX`6KBQ22%naQw%tjqjc#hxca# z?&0Ww_@2&`DU#{#J$s|iu@KM{?P=mFTls$IsKL_gsCxhF*P^r3W&GLw_z%rsEa;^u zH8_Vumd2!ZdDH+&f`ORv&_0Tg4v@}Tt(geD0CD?$zl!4?vR!+C;2x(Mw6bg8$K&-p zF^!5JR2oH%AQjsm`DPSIDV2R^Fe(bnU~SZ4BC@3;*uDB7`UiV@mNK`O9MiFbmJ!#| z(%o`UM0DO4#qRc)(5tg~t`V<|dUuKt7^1P5^xaV&S2JQd%Lpi@C2J$8AVfxMmJ3-F zGa_4x@~ywCrE$dTpDHAQcf~}(4_Emo==^E2%F{D(UfI=oFx{jR(|e4~H0b87#ncfL z?dTDmm{O3f4@PfPCAGkVRjk5W>N!qy3WR^eUiyzPBb};^Qqj|dp_(E*h)%*jugh6R zb+Y4ZR?xU_ymFOiz4KYNy&ht>lCY)};M2ihJ6glh9PDpmPZT&f{aT9TqCHG~l|=$V zcQs0~C-N^a(P^0S@|6r8QX;Q=i;D|ksyQ4k(<2VQYvCek)DbhG@4*CXKUCU@1R}3a ztMJ+x1N@fTfi!H5{>i7Lzm!L^4PVY6lz}MI5fU*tFjmZ0P%nAIX-0-Hz4$f`4#g9g z8*J1jVYmy|Z)Y#q$!uqEgvnfXuOA81+)yi-@O(2XOWdAnhXb(&c7)3-FCPw_KOMgM z#_PewQcir_68z4Ugmf^H%b~+ZYN_1P`tcJdYasxl8|`4Ct$kg+YxL0Y`$zj@;)v&4 z$CsDxpO*uV2(l6q{B=R$d^>g2Ud7I7Rc_ID3FkA$_pQ@ zM&T4Y-7<65EdLc8A%GAf_X0*BUc&B0p>`?EVlMU?d-hmP&1O2pLHChSN5{PzMsz!) zBqqY|>1;+2`(7*upN(HyN=zdrn~%v53I!!c&+9{6_cEehiA3`-V(-R`MCS2jcM~E( z=$M$fYDpCEnChl_X`A+7gJRXw%jhP$M9BvXJyDa`R+k0o&FrEEuW29Oyw@&ggF#l& zW}|$b36r5@#JRdeQUsMAQv?%+;#nJEE?g^^F7>I9)gjK0)@5brRyIzai*$D-zE?KJ z%iWIM*)|bt;;Yvda|qmpvT<<^HkS+YkupqIIaBh(T+jo5Bk*eV!xW2zQo0TG&3DJu zpe-Gh&V-ExUD%^YOxkWbxHV!UWVRy&5VS%pm!2C@t9V zvP}MU&a?6nPSV>6oE8X7nNnoBA`g;U`C$%nFjLZ@K?FQTZOoo7st!|2YC0=zOgRtl zq#Sr9drp*rWTtYt9y@g|?nuuTt!&x0GkTeqhj-q2C)-5I-eHox54)l|L|A=fS z0Yeh0eL7F8YB+Ncz+sb)`|NRi+oC|pGOB>hC<6hOO)X7d3$vgXuup`w>U@|8jM_9; z9@f$k7BecFi(?Y=@ux!crugN?@#Lwq`JKx2AjeLG*%+ZHki{ioU{DK-i+P@@-Pr0) z0qJlqVtX;0bn05N){v=-+Az^BrFP=?+JQ?Q(k048B0||5>538E)mX^#(_-4Rc}sk| zoTL2A@@)tmV@y$1Zync9XOx%GsE=l_3MPyO!zWeP0nJ-I6aUjOb$=e)h@HFlWJBqW zFj!j*j>mBCO5q<~tf+A;HJkdAB%RqKPg4cbiWMEWR7(x>VxZ~t*WROX4K1DdJw+#2 ztvtcKX^TyarJISOn;wMuyk%u|-kf$Som$H5(?i!1^pdyig`lADflT0~bV2AN(yb|> zcB5OlnkkJb8K+=Q6s1^I2TRx(`2E1+9a8|o76Aj8g8yAfG zyWjcl@Xc?2tMG6;D^6AzUwiG<^4>R}-RlO9*&K!ZavY8^dc1J{Y<%;a%~WdFus73t zOVT88+cSRu;U9)SeDrY`DQoUgebNumoIaqvd;5dYy?25xReiEQ6@$U_2?S%mQ9czd zfBLtEyD;puHR*BncYpF{KQB=yjbfy9-#dK)G|J)sA?{9_G+UDVpg);exl~qF*1p_Z zb@zLF8D_B=At8Yb1CvH0WAs8M&__U@W4;3h#uoryATtmzFcvd}GzLP#W=1{JYV~yA zuDdU_FIh`gWo8xspU3gcQ`vQUFvEbzJkL2NPAncC9v&VZ9uf2BPSm{_L;E$L{jN;I zX%4S4mX2G%kyz4;G@uQ`!Fvif{Q5o+A#IHWgK^gkk&Q~Ax@Gvu%{prPT%nUS+_PvcWwGj#|Hlcpm%6((Tn(lA3F6tpfg zEyWB{_5xp9Uc((jSJEE%>}ZEpHFgq^Va?dZjV+R4%6=?|FO~H0<(JU~ zC2ZAa3ItAdLXv_@mlfcpbWi>oiTFAo83>? zFk@sr6ozO|VVzkr%VN_f(fj>8Gm|&Mbj(J+48wW2_}#zxw<2}ESxX~64x=W?{Z97g zJ&`on8NHFT=?PCqfqo`Zu7pq}#}TfdrCs6ml@ko}_#I9OhkrAe z={<$ERf8c#F_^q7G>&gJDQ1Lur>P4v(^!p*OL|GAYuJ>NrlN6sGZ~jJWT&=NB4zAy z2u4q`nMP9FIPlq&NzbXw#`OLTS?2NIu;Q8IHiO<33m=V|=FTiP;EG!@?LD z6M`FoDuV_~ija;lh$FcqOv)Y!k>49xqot>2wQOcWZ)*|do#gY=pZ>HOAAE{SYB2<1 z3~2UbD|xhSO(}$vm;9>1r9|k9>w2%3{2bIdj}%@*$5^DHpl0z%MBX)Gb~m*KE#Y*M z_oFL0l__35I_9TCP(R88m+}Qe;XLWV3A~PcCk7Mz3ZpY%_Wv-_hIkk)Jy)7&fYW)| z+d1bzmy$KhEYk3|El5rMsRQ~SMv+M_yY*eqD)kJB!dR|cej~%U=#3Ko!w)~Kj>*yp zbofn{aHJne8nGbG(Ar^h!BRSh6NT?5(OGS!W22)f{axrBz1o`MPk;2UvWeK&p{Xdv zlMe^KRq#AlS*yJDseY8Z>%iT+HdXkUf(_ifS~t=%j8;EzK?>J_X)Dt4-SIg2ROmg( ztSerk#K{Ao0G5mEyD$aF#O|DJmie{6q2>4aE`#6@4Xps!+66t%jjm z&8!F1D9wU_U&FM1htitEc+^b|9g=}YwHDhHYpf`%t@9xzjD?E#7q_l|QhEb)V)%!c zY~MH}7xp$W_Dh4-qqEVFb}@qB4UEEz>+;_9-S+}2Kk6B?Q*UJt6hB1lqW*pyhNtm1 zJ-Dk=;g!#@n58x5Cr^$7SbYo&aB)?JZxdbTHGO-*B^}qGgWU{|axQk_OAkK5ZX&`q z8uGzl-^kDuUTbY!q*KoBKWNJ3VTSLD6&H%%hPrfK}>L_qYd2$ zr==GS4C*HTVU$`Hi6nOfI(2%K*P|W|+df=YXP)?VPI@H92M@-u*YMZ{M>Qnp{qK@-Gx`HS zeGvXoWUCj9Mj1&iU^XP8%TX`l=)nzTC|=dil?*vFdeRFf*wdpjgy(8-WC${8rxn>0Hl2?is$30JLTsvWp!dph3lVw7KUiZ zd2#XX`yXUNA={2-IEw~JE9%?Q1~YDSSNi7dOkdy68Q^zgeD_Ukv2|CB^ zcxER;6AeH5@sC4K&cY5ujmiN$+CkxT!n5bPQYLq0Ethh0{T;qMkG7Qdg9}X#J~|vJ zS-rrWj*)~q>TBTf*wggTB8=6sgQ-Xd7c7{vn5o|D5T)eDUSiwSe(*q>!suGcB0|$R0k-Sx)7+Q7?K^_EpE zX!sAG5fb5z_YPUp;DJ4OsLIsSSaofBPH(awqSw$d7;xyR^l(2+FMzS^grR))|Xhgp6{SwLz5D)r?_-w7{c2 zNDH=;G}gbASuLWs?I%w}U$dXyc|S~xa@SO}Rl}5pi1FAl`_D4Q8vDQ6s~2%t<*Xdi z*B~*>_uhN2dVDLK>5I0bu(Xxt`STYG1`9t87kkGw>$#NO2G$sq71!=o&PuzaMEDG| zQ(lcgeRW-Xh9hp&$lS3Tv~jUnW2CBPygxS|NQ6wN0@%}G&yk2z{Rn$ zPFL89BGvYtpMLt*;@|mee>qdy?=ODzr$1i&lmGP(Yc`Vs=uT#=j;$D?q;!Tvxux|C z{7+?vTMpwwlitDIIIs7@MfgF&)x?AQgfL-U+C~kHBPqiZ?xij`xT=HKJVQw0ZE{JUTyUgG9|lx3td zmWE?8(|f73lkfyXQZBLdW%i4$tkd)CM%>&@_>B;UbW3rY*_mU<(le&QLY~p13_`X+ z^;=i3mEsc85EIR~Aqv=t-xw3(QkG$-qGzB89&1pF*(3}?6W(kIF&lnty*Tz&N&Hki z2~lMTD_!?~)(G@O$#(IR6p`iY)hJuv%4Ngt^>s?;v9PU{LA;1m5wz3_>o6Y@h^AcD zuj#Uixd;$f3qPki-P+2z$7e5Aqr=$DaNW4^lPWt#MEQ&x z!E&>=f^d*n)!|f6RX@oW4nWZNs`Hd_(2RObZRgSO_R$c* z=;8_|MBz9?HZbzjaap6|M2jk4zGHsyX2UQrfp!o}sYom#qNJJOR@jnR#%1El z(F0S`w3l&4}Q8CWdb|e@k|;!xt1+XLi=_* z+<6*fL;)bSuiDgi_CAn4xRFG>yZ427+sT|iS45V3higCn!*7J~e&~0|Ng;mjI=v2C z!<-5*nA`}9hzG$`xS;5Hn2gg5>p-|jGSEH5J7pN<(x5dOqN<(hAV^PSTDdG>s|JRI zAuOlyLNunLJh(W$1=|sff;40b)$}YJGjV6Hu@}YU&NM6nV^w(Iu*&vWDhSg<^rbut zF>3@mOGIi~)JkLv94Vfipm-uZ7Fn$;-oC)=*-K=&QBS_X3pl~tl7PB=7zs;*psS$l z)o3&hWl<)4LLIX#?RZ6CY2eaBT$O(CEH33Z2e(xR$z$%i{@TyGtKIxv`pwWi_qPsT z`A#?lhp?mrbtpV|U*~)ac;$2uo!-$qypAdKsrMHn#d8QD+`$W6nVR;&yV)u_6?B4O z+jS3IhI073|LmXrv&E;MU0?kDzyJ3afBSF$t!#Pu zBr{I`N$TbH;+^+DSX_&h?x&w#FDb_UK8}d}`1&VFm(+B-HpQxXiKID(G{I}=&IzNV z97BRr#-fJYJy-k2R8j@-*{;8}>58;n{Lyo!f2!>5*X_VN2gm5)SY=oV4@AE(uFqdS zjKp9j?kHp7Cy`^uZ7S?Lu3C|sw1x%mA>pArdH1EaP{29S$m5WajPS#6PLNG1z9h^9 zM{>$b#>){;*K%T^GlOfLOByl+bG-+PJQ0B*0&V>D>(@(}W_!XKyQbIE^S_8yto=wR z;z)Q1n1UBG(fA?R@Pmy4BRk(Q8MtZ2VR-W-%1IKE@QAW(EfU|jp1npQgmBV}Alxvr ziXVUJnf5iTyMJ#x1f0#F*Xf9C6@a)SQ3Xy%wun=Nkh@+N!Fwk@GX}&&F+%rlEQS*r zOcM#b3}x?VOht@vJQ10@lP|jt-PsVy8&|A*>S5f)8#GgOQ#Ih{u>KBdVAPLz*6fs1 zj=jO~sVmtc3_*k_0tHu`?0k;xA^||K8*d# zPvZAk6u|d_Z;EjAm`*fOMM)`vo8B={2d-u?Rh;^vi#n{cQ7_`@3KYBSWP)2Wm4@8f zuH_1bQ~Uc22}fswDUsf##jb|UmvC^f9AaF?U=S081Z4*hK!|Z$0g+zccYa(Wwgao! zxxdQkG=;TjZG0cxavpzt9~IdQr}CD6u7QNnb4kN{-}|}W>%;74eAiGjCd>(Tki#~{ zp16h*>64ORdfX{ZjTdt$u{J%o#)kngDc5*iVA4=s{jBH2m@t}evi68#5iz-Zv*2)E zW+0xCP6$I9@_;j8r0ds68q=w?j9>Mg@5=D|LZ!s zymGN{`Q(-Ftoy?);K+ z5X9G0#M7i@ftC{)S@YujJ-Y;<7>=?+oZ*7m0fuu7?M81oi2o2nBVR}*rEtdA7>mYk zIuU_8m5_wu#KJWv z->}{#1i+l#-7puNHmzo`S6B2<_5emG)gaO+JcCId8l=lJ;;`RH!7&laLBr8AM+$RP zDVUDdNxIDZhj|Ca0mW#*@YD4+>Whz_b~MDk^P4j{l?XR%bKqJ}iB>svMH;k&-CJ+H zTlrb-UN~#onRFw%6lFybTn~N5^PnAN(E&Bw;Ec8;V{Wcpd#lz+9ZSdI3~4$NMw9CLY^Jx(60)l~b;`cbF<*#9 z`0xLn--pT!qaH*L_eSzrudPP-nWksclH5uHgC7e0Y0MGdEUt_l72Tr?otq8Bgi6AS z-!O^F3rF;#yy9->VAu$>fkP`|p z7egmbeBZn)mwYJ1;9jHdp^7+-KXIx@(4z#Oa4IjZ@muf7TZ3}Z8Ii&~L#s3lquNQ^ z@J>E`6*EbAFpYRaA4ewyR%a;{98(-!vUIdl-{+2h{)RG+##T6coa;(izgjuyK66f9w zrh82O2T1pF#2o^CSd;Vg1edWi6w2Mzl9MrH`_1oNp`D#?oi4w_d`F049D%cG-!mP!W)T1?fVbzmVUx8r-?~Lg1z%B1V+NCa)mIId^?tz zPh;P(5rU%A@GQ=LX09}9d2GjC;ZgJk;;WRB9Ta<2LpiduW7AQl7nyE^fm<__Wn?JZsYY(Pk1|vp!wdozvci1nOS_cn{VBy%- z?C-?ZCP!~5-)`XOvJ2OBRB#N`*DpMB{s+Kc1d4-{Y4n+$qbY3q`^;ZH{lJr%cduHok&SG;0VQVjc-h)budB50e&k` z*hxsM!ZzMueLL%}l#SjHEv65xda|_yT5*~J8o}t{#LQLIYnWUqc}p>xgc_+bYX%eF zLhkVUWomg{gBP|54?uI*{)cyYHM1Fc&Ec5G74E3({70Qa=%G{*Ak<=zZEUP5CjBrR zimUpT(7QQfh`j--D;QHn^McJ!ZJ4W$gpY>$8`oULOg&Q%!cuH?KKQ^0cuBP~weoiF0@j`?uHJjpI|>+AFxL$9K2 zT*00Dh#y!Jww2Vy1WA08&Zfg-ZNkHad;8Cy`E~v)bZ-@Iz$2VX-Y$6-9PyK;3x4`S zuzgkBeD8Sj0Vn*hhE+F~LBPLsg>NYaq}se8PSbMd<<7W_>$EAU(?SAIhM{E*J7!56 zc6AFbM*}e`1jD1)PT8|pdda%#L|!Wy9xWwcK&qt+TU&Hv(X*t3VIO77iu+kC`7EaY zckkawyrI`96Nz+OpU3i-{nlrnU$2gmKe$N38yk@xGgNz?dI~rhvIgJP$pvp|axcQD zPzjh0%LniI#v?!QGQKLm>PkX9;{tu!OQe`Q=KzYuZtQV(_p)KT&w+vDrE{|9@`J3Q za)_Re!NsWu?wDBx5msW4(ujx5$}s_YAzoE-{OcQkVd5l2q1f;3r^2|-uwL@Re}0MA z@3^LS>z6vcW_0~N(iwSsZi1S?340mo*Lyf9`mreyjrg-zy4oSe%*@M|v4dGQ?INwj zB2oqqBn12Hp3hnqE2ibE5hG~NU9NuSKL~3aW%@jgq!>+@+D>c%5Cvk_Gi#(M9W&`T z$2Tt)k?QFX4u%6~;%IErqFAF8>;~ru32+qdlPW2rama6efsX^P^yE7)L#0s-;}GY1 z&@t;bXhK!mv+oD#V&sXR7**EJ%e`^d3|1T$xZuY#*X0BoOImR)0)!X% zfU9Sb0G$th?aeF2T3Rl^ge3D5NKG5Y)BMkInU>|_Y{ zJZU_CmKn%c!0ug| zQr^$5L`Qid!~Fft#mntSF?o1UlCG0EZP11pA7h(Q$eoC72w`PP!*v9 zRmc(7;maG;aUHG+;OJeL_UmVH=6?L!eV4!Qug24$!Ztz?mK%f}X1p6>Nad~M;O@P> z5MKN(FHp9&T(#FNr7CBk`X9SMbsKH4HfV z2p96i;Aae}VU$n90hY!|=P%s6tQ|&qF&W=IGb4a6@12Ht92lxx)ksEuojzFWFLy(r zhFu!c7mvO|y4qe(y%*CDqnEaYiF$2uf|aBfm_ujcNRJ;T{Up*2Da4dA{T^vlBR-#n ztzUihWjd96VLnV0tgDJ1hmtmQM`ESCUJg8lr$tj?2=ZoYRm~m^yvS@#pd@iRVmQ36 zGyusu%sI?D{Y!ZBa3KwQ`WS}oE$2ewRl3d2XjN z=B_G#^7AaeU*+cEJ6xyfUim{>NMI$EAGx>0R+VlFb0w9;1|fR!>@sGjuA%U>8@%-{ zw8LG-PQUNcZ-VMPz3Um9(AjY)AsZJ2#9x^pUn92(6%n5Tt#+-CKL&%@2+t5qn&K%7 zB5$1V*PC~}HLk(Z@PL)SIKs8#=Uo~{eG)BT*M zboLGb)#FCW;sf zT7R~dB_fRYz-?WcY5HJj@g#V88o%XdsgJa;V*uwMx38|OuB3SdbS1RkcilTJk`O1{ z(YW_^swk9J+&Zdl&CA;`l!$IrXjBMhXtxt<4+CVk999u#95%+b}&;s|56cuu;)yMvJf zm#Oh8TL@g^n!_b*Gc<9<6IQzJ!p_Sk&4$}|SC_{(&wWAa;j^#fd&fVx7wI3y1%s<; ztn(4S4j@c*+^R zXe*8{sWxM(IvqsM#8@KGa7y<8hLrzNhT0?;XG}SVYCA{wl4Kq|ayo*}WGGSPjaeG1 zlNNSy5&tg?>EU3|RD_j-p-qB9T#PJN79V_gZSmemm$IBBrV`uFvlmYG#j(OYi&&rS zyjc9nAOCpq*(a==MM)xQ4~**E4c+CrL{*ZZ80kI9rhUXO{Ae?6;ndc!A|JTcF=a7j zHpHsEV}iT2$ri{EFVq#f&MtzD^d?S-QPEvN2U}GJs$Z_W(U>~y{N6}5-T6BIxgR8U zg`~72{KQ!F3c|L3JgdvSI(~_17D&`S?GasZ942bI<8qp)*6X~hdjquWN zb^S`jQ8iT7Q9n&cNd+BMwPdUGiN*T`lFAMw$t1fpM8o0?*&-!)H~coVD0qT9N4Z)$aOcjwIyvDM7!}_>&l1Fg&e3vfB&?%XwsZdV_<;4&; zW0ymxLaA#VoqDKkSW_-rbiioUP4I9m3@6Fe`_l{~gTtZqRXOeY*2pv_qOjIGsj^_5F4371#rR*~6p=W;d3p{&DIo1>-PJ`-&Lr zhO<;Yj+#Zd-SC=VEBu5bd4L1FRmN0`d;1sO;4T*?F=r5!aeg{3F&~pLlO(*M67iqY z;0$4U#y6emXt{INX^2x86ut>2})Q8?U0y^8&f|_8Us< zLs;NPT)1{mQdJ(b0LL0$r!Q^2J=*GW`zGx+(qJezaXvoZbISPpMy zf1*>zLkGKypZ@Eg#RlkJ*1Bbf#fOIc&$0p7R;9_be{nxcDWYq9x%4RQAjWe^GyF4B z;8rY!vm7SFKU3k~-ugO{R#YZo5GPJV+KK^TN)(2EvhV`V2X~|74Z|f(Qg&MeTSu1! zXZKAugsCn^;k~+)^>D$-F?%@_;(}23z7>q`C9`SGkT4*@MUf?c}U*NYX@ySr1GbS%QBem4%tqv~{K~F%y-jG3}&Fv!{sk zrHe5LPwG+G8i&fqbe=yRj8cBAacje>#Ayb_pOb&rRl_|mt1$d2?~aD`?ZB2ILkHho z+(B8B4_N1Ej{HVl6Zb_yP6-x=$&7pBHDBX5>Ok3)8-vl{HA2i$njOCLlM1E2DPi<0 zj7G|Vr^A8Jo_(nJ}ix$K$$QZE}6J^ z@;JK~UdqN`7b6J<=8#;rgV@Z85aS@ZXM0(!d;VA$R5rFR$zyEMxwo4#q)c~1lNMz@ z%XD=}EwfbHHC6rSL~OpYdfy&2PouMhA6Cs~z-j?+Hw>Eu4FY)e-WwxVWgPi=rJ|r> zP{=_#h4>zo)V_CEMAy&K@jSnq$*4FXFcqF9rlpL_ zMir^WL4e|PZ$!a`kPu7VqYQ3%ybIgq>}TH_kAnb5qmTyC6|rIf!hx5+G^9rw!C3fX z0@eocFJ_T=pM3I3#cPHmA9?ib35f@zAqjEKXoRUeq8sRZHOQ7&FeUj2?=GzJ^i_%F zNA)zU9nO1S6nmUJl&i}popy~U@wxdoe&Wtu!_ay7MwbOQ%5SB+@+!mJNypXs)H6|I za-DA9t6V7yxDAQCV_t_i%+?pF6V|Y`i(T?t3eyswb#>zoOq9BHpk4AZts6+fu+kZ1 zTLydY+Gl7l3ez8F*Et)P{l;(pT5Z&%444yL$WA(={1-;iEop!>5zz48=zkt&|CnzV z+dKB*4lxEfhUox~hwp&ZQEwa{H2VuWbgN zeSTK6bK<$|ZS*Wh+bm_+mC1-VuAW_-3llQ4)sqJ&veCGOwbs}@xj*0l;C7hIr@LQg zXqcqK#qCG*O}75DEJEGDTQGngUL7JGWi&0pK>pnI`%&WPF#SDPs*0QY`=*k(CWg6R z6M%cKf^EMhB6ofoQiaQVf9rR5>vF0w<(bLL@=_#?_$}pbubR|u@MXQo7!Mm;vN6yW zG+yJ<1h4fXsqPG?gw_ykaX9ve0fS3fS$MkSY1$H^eJer&Ps*;$h}yT7W-t_tMi~&S zZh9CE1#j2w56*qRc@QkOJglPukWMR&)S_ZGk_79J+}yw5M;;DVpDq}_h~?5@l4Ytj6fFGWGuQWoa z6+K1qovl#eIqPP?;F%L%UhS+klfU%f*aa`bNuR|qDT>5a%MQ#QDM#{CUN{$)^(@K7 zA%E;*_QI4{89(1o2a-l-D72GZ-lY8}fBK`vAN|WeiX@SJR0`Il6)EXh(s&jr22U&# zx1dAKxKi}+h%7&Oe0T98Fh9znYpWYst(-{;G;%T9KsbQy#s0g+ARc5m89=My+cpBM z7Ucfrzw(=rdd_Cib3s}m=)1?ovF@|}&H9rJ>#l)9K+2&ZTYE}|VuL&$BQ za`7}v@IL$e>uhR2hW8Ke=PalMTU~zpe9)NW(v|5M&)?cxW#p}YNw}>d**zT9wsJ^Jo;*47mjoy zy=FT6I=u8eyTsAU>uIDb9vH4>!|%qMxYEM7SYmeL;NP$-Q^QfX56%jw#gq>v9O<~^ z#kC~UWd#!_t$F_Z`dwHsa>939@4~noZvxJ0>?tostlS+248k2uk9$tKeHrrlJ{rhj zIUE1Ap?P4GrmM<4<=-pbYwLp)r|e8K%C#v_`s=z?hez z9eB7}>W~)s!(aRU;@x-Ou9G=``qQ7}#LS$Fl!lCX*wOA;&K%!3F$95UVNzRRN)8CL z*!AAMTeB1VKu(4tm-~Yk;iMy0d#eWgH z58Ppbdl|}c^nvtF+c{r}Vd}ZF!QC-uT4loF?2Bwg;^>`6S<;ernJDZ4mzRgJDNd-? zU!+rW`UIU)_F+0~;QicEgA9$M+Nm_I??<2O~cp&>2Xd)v1cnKs35qa}r|QOPGe&5wkB7&i5vE;km|v2HlLoGiJfb z7n5;`FFY7600d8m5l(*1fJi(VU%z`MT1#6vb{|})A>D$dbX#MYgm+V_(sp@gIn5Y9B9$-ySr49?)fyOR~A!OygA#T$GMjZZEK36nG{ zKk<|)7iU_Tr8VgYz8Yr@OWDgrIZ|cPpQkuUVpf(>Z_hJ15VDF3tTBk&&x={3jZ6)% zWtKcA{ zW{iPe?%T>B7LEp#(c)9~X=u`6Y=8{Dmj%Ico0-OwmSKyA+l-^bSEET> z;rVgOj44$EPb2H}`+KJ$4rbFh5MExcNAB_kk0&)zjwxeT~@Fi zq>&caICtlS>vSFc%N2u(KiA>r@#NFr+Fu^yc__3!!;`D)0wW#x81x};;o3FK?#kX* zfGj3#lPc2ZL3t9f!%9QiF2iZ*TEtl2Lqp>p0%A6+?vt%X0D(Y$zx6VVg7N0@li7|T z!;teAwia)_f2O321j}g=7qTPa+2~UC7Pr352I1MK*S3<|k1S&RB)isKUR=3$e(}!n zoLiMNNVoTHJ*lD3a_IBvlMffy!%)tJQK2WDiw>g8wi{^~C%k;+d~`48!`!m4GKa)% zo;7$JDZa=9Ip2uO8~C_ z;?v*)Q{D-~8XMf7%7RO}gX3AG3y*b3Uzp3{AX zqXL9=aec3s*SuGS5B6R`>OD_=?|ANWzxi`ZE%Pw_-Mt%(=lNCssraykq63!Ec)0ZT z5ltA6#a-)x&rFH3m!fZFuwrXCG>-^@2aQJhDnJ9)$n}0jgz@JZAHuaiy8}dkSj6Sr zF$Wj(aqlki`E_H`i0H&fU9uS0c;N4fC{z-i{5tJUOPSP^bY0*szv-PHxcYlHY%p{g zo~N7*-z#woH?P*4@9pTTq}y9kN{@5zXWzSlcb*j|xWL?`CrM$NPP=Rkvt&KL&dt+G zpo2Qo^O9gVX?I%QdsxKu-hx$o^7!791*xeiKjj&;LvObqS~APCvKCmgi`>#$8sFCX z;;jqkGxKu38Zs&5%!Q4``xml)>eH_lxBmGzQP|#DoQlGAXKynnO5BQGCey;_vgO9{ z)5#}${X~*^xs+jHIzOj_zOj?#5ji`{G`+o=HExoz1Mld8NE#O-;aq$3(&F21?kv8& z^Efj@*(^LWPtQ`9Ofu|IWPceF32Er$3CHzhYCFT93m4zWQ2TL~L1Z>6I+}CQ>pX}Z z&DUSu4RgtY#-RE{)*r>>J+yl|vq^^cc1p~q^AX54W992S?WLF*AIo~D0|o<$D*hL;RZ)qqa!$s z-(~4M=nkZ_6Flh<)EPV)RteiMfkE0B3`buv(n`26nUzcictWZ;a%H5P?2>r=#p2S{(~Ix_@LEmx+Pus0G-I`LcH_Gd zY31pgi~Vcq05aTKPN(P+el(JZ+*G=GP~$q zxNs>7=#({R2`G!VBlV~!=QN>tXLMUDMW=&yH&2cIarU!DYTr(hUBN13enFyl4U_AN z>wAaw&Ux=|{aznZRVvGO)mGoehlAfvtG-pZLEzq(Q`otGz2paBaDDG*?<$|8gIUfq znyDi;lYf=R>ep0i@D?`~dj|Lk{=q~$9jkH&?1wmzK0gRO+JL0UiSMed48sU8Gw=B+ zEP#!T4+hbBJ6Tx{(+9Am&DC&OFBRwtmrl13?uFq|?zM6} z-qhBnslEJd2ptKYq!VM1ouPNru+m1A%i$1SBJyZq*v*rfc<;=<)Ki=X}Z zFBV^aohjajW7)&AotKd~cC*h-W+Ai114-p^hEjKKf01xE;-5|>`wKbpWHuQEiCj(RJKlbVv!tvP6+|9CqY>+!>B_mfy3_pC}Z11Jg#XQP>FOE-U=W^xE zYZ=;|jFfaXk`WuOw3TBoqf1<5_UUAf<2_e+Bbo1H!6PAhIo9rUt+jS4Omr(-jj9U{XWOxw2(-D^wr=4#quj0nj>`y<>?;Xay z<9A$sF0L3%wP}qy!mVy*a!VOA;a#;sP|->VGJ1pkY~x^bWCg9zW9x#U3y=rmN4%T{ z&##FYEQnkKK)jCrPy?heLxnoGM;R;K;onNfI`v?J9sC+cmxHN*-dCl{OFli^@!VyW zZ|4s_{-gPf9=98)GITk_>HNe|p2n$n431y>AAMe%Ru_xon#0g>q{DT2=687V?&|O( zogU7CPbmf+9*aT|Qxz62NS>yJF#y3xq&DE9+mJTq(&g@az|#2bd}{&#{4t;Ja3%V+pEj)3GN{?k!Hn$c0{F{Y1#x|MlPaex+#R?mM^dr=c#TF-He-=3<6DXBJoAy0Cck@NUuM*I(Vt=@K~&G)8Y4 zHN~;L89w~r2aEULe{*p@L#x=hrR>|GmtkLZ@BXdoq)&#i{o1epFt`g<$6Ec`TW_Uv z+byYOf1mzsHAbEfYZlTfbtiSMtUQXM_w3^9=Q&L7^s!v0qc5^6-|FJ+=!-%rQSh#2 z5#@H2&o`nkN`0(8EFIB_%w9dua)$7x;R?~ya}%Xk=LR)V)g8-<^W67WzE1?&-^VP} z;ndtbtoR7B-TYg}C*o>g)hY#?2+?2%2p!HR@0bDur*=gIdEr%?3FTQ?F`G2gEH#P^ zOr`<%BIdmeqMcW>62ye$!x*9@jnZyE1pF+E(= zq_LqnUkv~NKmbWZK~x-km6AD>Ne@JCqPHwyP2*8A2Ob1pWs`w2Ds=AFxxhG0{dxwu z$}4}DhEUU@31`bsdD_=idYrJHyTOQqkW5|r_PVPg=10779pX}WY4u&$UjNka_*U_z zM%c>OW@_w5I=-|>amg)ysiVAG|K%R&Q}4ruXEkRF@#{-qOuM=O(unsk7Q>+D87}P9 z23;hw(Gk#J6n^EDa={Z^Dl$i~TJ!x*2s_g-dbm^%r2EAX)h zH~oC(+{LmM#@%kmhU)3#rNvg1&r2)EBgK3feNl#XD^VaH51p(>uM@M4(J_WiGd|KQg;zR>Ghu5@@q+g})e?av@EBpY@PFl7;PUR$=`gy|R$Gc% zHeT{Q?8SJxrtUWKo_Nn<5VezWr|u#_(wpTm#OMMOh3Fx^Mnmd`gZSjxu(!yKxggTm z2Zz~=MufRp$z6xg!77{vNcVcqUH*9~M#zuCv7Df3TrT;ohhfN5&sz;6&n?C9*NeNm z8ZX~<9~n&9G%UeW!_|#c2x)MX!2Ffp1s?@p8Xl*&#kw9E4V5@KA3KL z>CB#V{sF1{DCH^SrRiWhQi@C7{De2XYWRuJ3myzf0{<8&J4Fg48Cdr zfBeVSgY)}gO!ou7<7_vwZR&$!1Us3QcBr1S(e2-I_s)ah=y8TxcWajDS=J5N3gULw z7JV57ZVk8Mb?auNqqLcGk;E{LsFyS4Zm;K!T1Ft=u^h#+o3%~bS!lVs=G2TZoJd{g z&p*ttDUy>-vEVzF^0DO^1kjbN5~_Nqdy9tc*OgS^s=`Lab^NNFycDq@pd>f=AY!dxO3#6SL)Zukcd4~0 z@k4wLQ0ti>MAQUbL!l5G;-2eBR-)hnhb8NQqW&nT#gmqTHL$)D9kN~ z0Y=YbeU)t^924xs(7*JTu0|Rf8)B^{E$4u}^Ul>;c=_}R^?|d#CL_);F6of|ce8%V z2?OvCmo_)Q-qyo&U1fnSgV0eJ)~#&*q`iM5POG{UgIiQtLLGZ41NNqaEIX!8#Vud z>*3e$?zSJDyAJ1@>wtj;rq2H`d^43p3COoo-unvmt$!V;<`HBdM@TU(iUI-U^{#sw5lBH z)EXOgQCFB2CPUX_r?(7F!|>A6N2$4!Z4aWUPtTotjmRpD!_P1fd$Vjs7or2h7%`Zg z99ew#R@V7sHiiKyvjqlkfh>~7xzdR&QQ9Ufo0S_e+`Di-`j+!oGo_pz@?x8^9-WV2 zui>3CUX3(l^|U<~UY=af(C1c^!(Z2I(4{NZa0S*FFVbJxg40CG)oT|QzxKml4_r@^ z=gly{d%>TLq_Q04-pv^L-OV}ar;Fa7Ow!Ns&C`ot{QS$sjo9>TCmpyt9UGe3uQwZQ zVPM%7^svVWbcNuw-2;LR2@F5K)8ipAyjm%O^f%Ak(f7HZZ-{5^I(*;L^&NcXhf!c# z`+*fQ=dR!9_tN$!P}oWZwX&KMMx(V?tKo;?%Tn|`H7yP)9?tL!Pi2va;%7D?Nn>Ox~+N-g8X@p^(=or?Yqp7Xe@Vg1gE- z-ig`#nz7b%!gbgeSp&oGz)jDcj#;wm^#ez34O#FswvzT#whrIvlnqXrfi*~-SKk|k zu*1rm1fUF~0gr;dNF(cT(rkP8Nh zi`DMwb7wQ8aU}7B?DxWu?{tPgW6RCe(5jv0Oa!d29bde0>CNPyna9;=ePeC=M}L%U z7M|PaKL-#vTI%l>r)91Uki^!=5Po6)BvEb#X2dsUIgce=V z=`*a}9XFgcTaj3Ho-Cz4b~3!m3|&UV@4R~^27VVxf5X`BDSn-EM z+TTQ+KYKq~L9g?hhY`Qi=)3QpD_m2YggEs&xenLyj{5uVkLzf9NQBWodcM_+hwXB= z5`D%CjX2EUWF(fY>^_DIJIEVx={cK_F$|1_pN8X-7FhUGP9yA^$(k4gIDB_?V-)Ww z{K6INfnOsjJWPK5t%h-40(-lT<1Sr!^mZ5XJQ@b^G?or8PUqF(F`o|K_nKKF`e~|( z!zpW(cPeYgw+3h6dxWXL`DwvQIC+9~ehC+7A`y&@)0?pzz?(SYVe0UXskF7UXIDvQ zNktstglAysF5iZ?{HOGkXLJ-K(db!HztYE827a)oq><)O%H?!Ugx_XDHH(G$l;K?z zsM$+}q_Ilb8VLqNe-H+9Iy}%b9634ysbz;@4a_!@!P-i>(LoKTKwYrpNBc!FDv1d zY}iesWQV=y&toxs?`|zQSUq;4m?_DIj{MTabD7aPRcAVZd=SF$=gS%w*AUl{FV zYc0zXo(Il5VPG#77mu9})7nU086xS$f0e^lnplLJKSO{9)P8*zt}Csk`FKo@|J-@+ zcN-9C^_)U3H$@k7Nt{#^7xF7&DN#J%R)Vn2h<7K5hv{ve#8ldz zE_xYEhVEpgw%N?|V?=WKS5KMoHH${Bl!8;QS>pIa)WVi!Ywm++Y1=clof^6FX7+KC za^NsZ#+bCv@zS^%dz2)-z&vl5^JnqOd_1KLCJyjCnC$2<=ms<#Xbc$j-1w^<)}om5 zPSUNkOBiUJ9}Z`Ht9VJvalHdhIt^hDnH2m~I1N+*tEIx(BnhP~za!Eb{bC`CaOy^L6*m@|A?EqZK~mosumF z4&h7LfD>kbnI;T4hrT3CEXwz_bX+I1w&y}w^=1)aW{eDDl*KA>hvR*bHDjBRmaS1+ z3G-eH{hbH{di3aand@ut6s%w{6nd7`)XM(m8y8dF6D7SEhQ0mv+nE-Bo*_{T^MVIE z+o|K@k>s2vxrlUiEHI_GSuh#P;LGnW{`}8>UPGw8-A@;nFTPWf$^LGpnX|9%lgD9v z8G@b45y*5-FSEu5(>%SEmFz3`Q}zdC1N7qMrx{8ua$w=Tlq(Y=dnbo6UK5jwA4K8l z@VSsWyk7b3u;S0J4&-}c4X(dat;O1p#?2eiv1As;R55?sIFMv)wV@n8_`wgNw>Vw! zm`M2Qt8b#H&6IU|8|6}N_`ozNc7?%E-APKA2qQW4cp4-O0qZ~e&B?nRduJ4r;^ejs4-92lQ)=GsC33}LJj7lC2VNNtn z6ph{{24Uu|{pWr~NR!7r&3TwZVm$0&=ii&b%>Cwh9fjlQyLLg@q9G197z`yEM|&~8 zM+u10L?LIWgwsFW)pHK*coQnZRC$I?jkC2#G%8gX1i{(3%DW*7qHe+_@@qhxMuU)r zJ03#o_;506;*fc%2aVxrtS5{3BbSH#OHB99iAT#17HNZpUZshYzjXA@oM$IKy6cHC zkGaGMmkuARa)!AyZr$b8lA3o7M>^(SG4o0rTxn#!_fg(u&(ivtQ6vgrzIq~4q#W!<^+SA4L>z{>5GJ8!Y-J12yfYZwj84h+pP~QJAm+#| zi1VZJngQ@DLYqF$pC_-ni8FWIQ1~7F#&4ef>%PzZ=Fj5(MXq)qD_ueIIRI;7EZ_|B zR}Yy-25-x$=%uCTTM%zBOe94_Dy#DrUS%=}8@=F|S@4XQd@Ee02H^H|%%;Vy2A3WZ zkraap@$wS~4iKb!5peE?mfnRq@Jl+3yAaM!hE52_#R&^e4bXG<%&UQ+EnhV%aJqx3 z7**1jN7q09`6aEP=b^A2wMj3f!TTn?Ieb`$_`Vq)U<5{|ssVH9A$6(30=M1i1|COQ znpsLS$)voAI1MrR!BgW{KFY~~-*?~Ow9C|G=`e$-%r}-gWGo%Wy~+@&WRmF;{b&am zrWbrze{?c>4CiP)&lq=r!&{m+~M(K=vq4BiYb_+`e_E zn8w9p+4@r1A{AVD;}UR()Ri6O%*s5^3>C(S!JNo&rSv+f>+9D)PDn%UbeZW4E?>$z zq)S&Tebdixu3jk#=F#@f;ujx(62@`4cDb`V;Pqd89@Oq7zpJ&R;8-N9ou@Zqk!&m0 zEOW^5$&Vg}!DUwUjW;b3$ja@M%X#ngQ`=7-2IjR$`8P7ll&v!}|)A zoHETNm{*yILP9jx4CUy(KF)qR{DD^uMGoE$(rKUW$?AR3Z-1)$+$xtxr{DL6rz0Jx zTH;a3g=uhl*x|-Q$SSYIZ{M_lG>DXyWvt!a_nxQvV|%h0?!1{PM|K=VoEblB5c|Pf z^>D!=|0Zm+Mx)_U+8r+mz&kxo_t3&4KF%}OdIt@rzbhjP-6ni>MJ%Qm>D4Oj+{K62 zmR#UX80ARzxyVbwLGERdjXuHKt2=$VxsN)v-DI5?Q!%87z_eK+#J|7o+?A0r6~;;!gn$KN4)YR`5-Pf4H}l~ zVvf1h!#NP0sLKi8_)z1X!6+XMZJxid+(G!+v+(`BrI&;ZTq7;toibP(KBbF*^pvInel({2LC^71s0Xy z4Ouky&acB1>`ANNmA~V-b77D9@jUb(d=BxHGE)AAF1FKm z#N+J2QZ^xxN*2*sn0-?gLmBE5G`ATeJB<16-TT!^*@z00u%yB)j{Gp2^~~+ z=DZ}de&fcSNc|57-lJZ)dpE;>iN4Nt1vf(beIE9xU%&TV*j~BHPg<_|_y0TTb(k6t z&w3I54PO&zsJmSIAL8Xz*0@ z5T`QBawZ!(ZH4ixJ3}ISxtz*$uWd5z^J@u=yw@YSJk3!2&wqBk>Z}^}xyxy&PtuWm zQ)eb!y_%y+PF@HO!l=S@4Cm#!wRNfR!v5yOMmnlk64TXu^Ub#@<%^_uV)6D{?=5bA zeJ{%kew-E5nFUG$`+J%8-rUMCW+T!`7-N{l-pg3C z`#$%Z$2t1k;rV->zaI_ztKQ{TOd{}MNWmQfxBQ>@ZOgDhYr@moHi5_aY1a z#+oS8&s%3Rwfj8GJTN*#2$N26i)NJ55&^^T2U%WV7AXBf8u!!EOKoTUQk?=BgA+r_ z_uh_z)#}AK#d;Xs4%n_-c{6K|?nZjJ6^0Sh{R~lcAQ;S>Z)Q2cz1ta%#WFZd?LqdO zIdkrf>VPg}$2#S?{>jH-Fk4wQeJ=1tfxaWZq>(jIX!m*c<+af|$;uFEHD@kuXIqK& ztly)nd6HvtvMqakf0_1T-I5Nj+FE+1gDo=$-~-_@Zl?m~?z`UG|LDD1Y7*ez-=yEq zeV51lx$`^<%Xcvt70k`kt{&-t!T3Hd+aQjx`PHcz0;TeayC~pT5KZA5!8#QqFfKu}&n@?J?#;FmQqZNH*TVr-}{f1~R%QKa@C?nBY*eC&>pKq2^Jh zJdatNDE%^pc`u9S?qu;Dosaz4Y*?2=0x8Cnyuwb)LRQhcJS$NoHj`^VchaT&N^(hf zcz6XT5}Dj9%q6&}+D`bsk6?}SL&hXc7uR_Yzmz-p(gLIcPo!HVAUzSI_M>!XZJht` z+2AwqcBhhVAUI3dT=(wZsm6*XT6!~GjVU|Ecr#lw9FKIclU3IDqi=Z{GYIRaR-Y|} zd3>9-LrZ0OYdE$XNr>^?_3NK5KK$_g#e46)7rn=e#iyTsk*VSvH7q-I`b04n)5mXQ zbE~)BvLEn^#Seb?ZnkQ8GxWEfdV99`H-7zlDNh)G>~2y^sn+bQcgH4Hk(A9?MhQ$x zS$df>mlEPpY;5+@rcPxTb>`fe#nYTv!1&JQ}5b2(O)yW=sDGHfpKy0g3(asHjdz+dtfko&riyVfCF0^rXsVku-I~#w+lyl8cac>Oe(eOo=vjX zB0g`%sB0t2*VTyB8?k?|H}Q6CC^UM_sPsjVylm)Arz77(oDE#S2V4apQ;o%dO3@ca zv68sHW5^oQ!$>RN-nzZ`;)|~qU*%yHAv}j?xDgJnx z(m)^sSBB52qs-(~-hr#&2)Ox@*~2sWo*`3=<&H;>^f232k}NP;d)lB8lL_=O;KJw) zD@f2MqAOX8lWArQ~SVO#R-?mJc8> zmAn)>)kz*pJwAN6onhJY*sWMQw;RbLXK{sAl=ac0bUu+b!F)c$Geav1=i|{SU5x3! zsc9z++|0hc%5WwdR&7MDqzty|T#e3&d!|4T+Vy>N`dQ zhUc-QTu<5?*+x>>3YV}L3MRlRI9a4|n{mlnsu1@2WJj?V;(eY*@Y$E&)`GN?S)^$Q z^C*mGEwg0ei#x>l31I;VvvaiQU@oyINt&i9nX`ZX<=2akqg1>Xas7UJvingcKF%TQ z+{?i1R86#&{|Uz_2dG7sZSqtkeUNH}nD|fL{g|IX4LK2mfa~ z_NdaNUt(}4EqG*mw3Y^HgQ}+)0@~8@VRU1b3aoF~XXSL(8C^=amobRTzP({iCnMq5 z*5UYO^gi@{sbBlwkXX0FAnZS*gCQa57&c;&&XH7Y^8MLoHzHkxHAS}r*ALPO-1s&t zvC|Q#^9Pxdwr|d}*v5RpMkdnDwH#A>Arl8?!fr;2I+>ZN(^2R`l_dvIf+>>7o`zvP zh?I6d49s?&7te2n`9=BL75!=@h&r5}m=jJI_kMR*8C=It$b&HaJG}25fBvjj>M-;0 z{ahm)jWqdoxW0Fo`MsYzjNbmJ`&Gt!V?;Gdr6R&*a+F9`Qpd|CP)nK0(+o`innJHF z6ypOcn1V)LL#|M}BQ`L&k}@WO7Ebw#@go|^jbgT2Y6Y;%XL^dx}1+Ic)EQ#|L-%G;Otqx{k}r1cF2@E`H=D}_p0 zc>e`ng;MRQy@VxgJ&HL&+2X^G-d(((bCu3#W{E^fZ^s_R8YM#= z+bU4jh7<#Dtb8-f*^Xr}smj(0Z@+Ujux^#aMB$6BUc6*YeLtrlWIvg7LU*!x_?a`Y zMvh*|tQER7VetIfi%gS$7UuPA@$P%qvaijR)lO3bzG$D*+eJwpUjjWYNm6_rbap{sZ?DeC0c zlGZ2(OvWz_tYHDi?j$ME$E>AS@=e1$;c(%K5pX7{P5%3nF2l-N2dGPfp2mJA%V7w5 z8$%`2_ppxo!w`BHHei8+!RRVPDu0$_z6~0zOh`g;jVsShtMJ$kqvPL9ZhX@~h3Wj` zn?P_i{zfP{^saWD-Yk>ys_A5$G0X9#Y3MDU2Iv&fM~~APt>4b~r7-!;Dv#k0#)5uG zE%07CkKobv3wQ3^td7czBr^nXInSt=b!c)gvqn4lcK7bhNHQ7X#E6b^74040xLHFS zdN%NEVEs-IO|(yRq-|yYo$z6fBso^(#z^^hK3(}^g$%y45zYb+w<6wf%z2%Qz_+VUTF%?DdcdY^5$Wt z4^zCsU=G9g*Vo^VhEvG7n=_d9mv`si@cGt${k`8i-aJhE&Ep@1MHrQ%airTQBBdP( zS>{Xbfx|JeyT^=o)5oMG?Wd9RU(S{f4M+9TRAlkz_FSi0%8bbj+U=kM|8W+9~m@-S2^c`?^ zKV$fBGE>23;%St|R_~t9)GGzD#zcA3=_;qCNnZmgQqVt zeQgDF*7TgsP$-9+ZN#WeW7oh*1(f0%B|Qg81oK{7&qBrwn=lOPk#5EEcf@h@%_5C_ zD|NY_AAIdiYkLBQv@~e?fjrg{{eoK=G7gV<+0gCeW9QpLII|?+ zn!^Sr-wlgiBwcC42Ld@A!eTXi|Nb}^*f`$~%k(v?(WyuuacCsMudg324?xf)4!CQW zNfKc72V9$wBhs}@rJDBs^2;w5cd}d-4Cl|Y$;h~Sl3a-M8NQdJP*eupMA+A24a^z7 znJFpetlr?Uy44W}3{HO-P&)nam-vmLUEu|83ic^|(c)@&n!7s3=t+vgp_SZ>_q>=uFCR*(-~Und}=L{2%LLAmq&gi$no#Q z%i~x4beyB%+rOiFKPs{Oa{eQ4ar#@|JDtAs?{A&={Jq1?@7>V(HGF-iQ9!^pS9%tT zBfDVFFVpaKe~0zWIGdeB zODN*giRtMu2(v*pfYx&i<})ObhM(V)h`GDF#`|LxxY-K%h%enzJc1?v;_1;aAQz?j zXPN|^f-hMX<*-K#-R&HlF^@ih0zKZePXDI+fz2h|<4h3)K zn3XG6=vTssazw4YY*-CD?Q#3jcFjcXWs3$K>HW~k?z332hd$KaD^B5lmHXxIqoEv) z^UL85D|!A6v2$Iq^Ka#k)Q-R;Y=^JN)6eVt#C@HA$9vs3ek0F;i?oqQG3;YV2pKY@ z;!_``O_z=`ti;x#hA8QwOs`f?6@D`8Ou#@|5PI}V4VT4;T3W7K6NxfJ}Ew(r@o`BaHWw$&&@0@3^q{085{{`#jov2KL7Obfl|^*$wG)P@`fPvUkaQa_ z!9&}%P|y@EDohxhz;PuRgqafoYM4ARmT~ZzMnCAL!;9k?530LoOr#iz@Wc65b)G~U z2LSKCR8L+@9;pZwc49C*#=D35TnwnvOuC1=+*M%$x;h<3mm=(vVq&mHU-B|DIt&se zL*is~r*569NFrR%yWz;~n|CVD^(o!0B_4MTtH_wUNL z!}(5j*$soRIk-l(lyR~X0W_K(8&o4rVYaxV=1X7K8?>Fq6f5!VM`Wx{eGdZhUjQ^eM}c zLaf`lk<%8pBE?+3;sk(=!YxVTc$C2QaIx1eLpOFU>v=zUYO@U5NGK$c)zBPkX^Ru> zc=tTh(000mhmxq$8GZ1<2f=MlVa)J~uIJ{>+ja5)20|jCgRw!CDeVh6*7l>1KFYNA z7m<8oHL$DcooLsYIh!yLRPY5hYz=Y4M1QqKtw$i5Ij zU()Vp_s(nXcl3E41~K$^&-3?r+8xKe6t=l*00;>8HU-R{g^k7Is?d@5E8}O2fLb>5y{Mg1gxxg@u zpNeH?QHFL&mlQ&GVyy_X`;E*7*&}u-1P3l@6s&;>gAyL`S|N*(JP*tmrHjo6v-Pt5 zNN>y7ON&!)C9z2hI~wgX>H9VqsOO-3!efS$c|I8v_N`MVOWLZvcT--Ckpok$%1&bR zHF+&uSuh!hD&M`}q09yHZMXoL^1En3z{!ywhq(ntlGxJVC!GQ|aSp->BRoHpdg#Ce z4)?ORNf>#k*M5hm!D!HJ!bSYGh9{^AO%J;fyW|ZiAnVHli~6(9$j0)96&On}m4qC) z_b_!9E9iU&lDe}`G)7^oi+}Z#Pa?HEC?>`3>1-|FsEn;lw-@7$9)}Xsb_MWNuq16|k`|^4-ei;e=+wLmH+Ln;BoB&l zof{p-h&S*8H}d1aEy01?!PsheRQMiYglpV;&fB=;%$spTf#%R&IA=6f7oi0S`Z7s&U5Q*jX?Hgfa4~kJee)KepF;6cpWz(t$ zQ5xTh1+q0vC$ih!0fQ+drI>}B*}eS_?voaNqAwUt=()qH4;|#pU8g_y`+xG>aD7)A zugh=l*YRKHH_{Bjq$g7I%V@qihIV8(Bi2L6(JP#v5jq z=r4@FS%Nx&kA4ONI+NYZFc?xoSYN@#N>*N>sA_onb?+MXS{Tjqj8979%y*r=>?`~< zR7vSeym^_Pjsje-Np~bnHU2OMGg24}$!|UI>Qym5492-YBs7~xgUj@+X;nS2Z5yBD zOrR7*E`?9HZ@ju&Lh-5tk9ru)5W~p8vv49jhSy9HGf2TJdX>Y|l)iW2rBe4i4>#Q> zvOkz*l?%V5Df~e?dFF2j`ZB!^M!l1LQ=WyfFQ;e>+TMQWjhfj}ht`adOxD+*WZ3gY z@M*<0CH@%VkSc7IfS%y*bdGejAQuxMsqDmj;H|gbD*XQJXFrX-i_;5CK;&rK(BGrz zcpQJCL!*Ns@uIuur-sz_#TS`QKb1|$S1nhFP9=G>-mZh&GDCFj+Jy|~VraMbRxOD9 z?D{8}JsQ*HRi8NzY4b!(I${{cBKcsNdcxjcc*|hnAdJTIsu1auN;`Dv#|~fe)D8L- z&;O5Js^XJZ-+xuMhhYYRq@NDarqP68lt@qRmm*KtGPIi|sG-6IVy?9CoHWwCG!_j> z<#nZN%zAHxbvKuH%m=RY_RXaDhaM^&X}L~jR!8~>r5b*6m998l1}mt){OU$_rq4M# z$seP#=EZlHQ z2fjqmCD^Y81F$QeX>c&+KUZ;r3Fagc-1%0{7$@%FeR@88himbN8+j|;pIBn*6>iSply?8vK&Ph&v& z`B$Gsy0PqFD3s4xfSH-8#}6E@Vk?p-wY%N-zV|_t!?&}7JS+FJXdnGO%s#@)**5fL zj6)d%+DhY>B$zpJ>iIya_Df%mc)ZG3`lE`OS4jK+zi~e#f>#MdUf=a?4%<9T!&gI{ z&<;k5u8PsXNh%VtvjD9|8hU5Wzm)T>S#>%cfSO|?jKtYQJEn9E8Nw7ecgi*T5>~m7 z^Nh)W!8cL~h3v)i7m6U{fpJ&^g=sBETG6-+0T8F56nOMxq@(dX(qg3bNr;EOhUMqW z4DEKKY^^YnFepR)tV?+MIXC%PQNGDH& zCpw!a!I{|~v|^7Qw7{9lw#SPhk(KS%qM6dZcI}PO*{KYX?D{{<5YQj^t+ckelwsMK zoU82&?61Gd>hG9XID6?~i~@JF#tfZ4xS!S2*&zSjci$}9+&FeFG?_XG9lp%acz5r~ zVl(x%lKo{)WT(ErP=Yx`birRg5P9I>ZE~;pw`URFEPVS<_jv^!`Bbl+=68kb?|tty zj=q1Fe>eF4e)L}JTM*7vj^)f8rE|^_0R=}qqoE?2be0DWAyd?WLxmzbPJYTVh(8P{ z>x=Z@7!0Q;GCsy!KK$^*8cQP{{?g&ZABz*C2o3X+RyQ1r&)V^que2~HVWeX!lmGwK z+MD;-nI!vpr}iqc$mZJnGTq~m=SsSg4F6$R7cgMJfCSi<0e_FI8= z+0C6S)C;KsW{q!6Zk z?lp0`dBl|ow$p2tw51En8=Sp(!DIG5Sqohhv!EXC_;x>xxD(dX+}+NnHGmn{oww3~ ztDR4tKB{!zzk66Zy3fD(wBVek%Eb3x-l5D)YdJ?HJ~!FzD-C$3@U{1EuxjNqF(`A{ zrr~XV>pWNMWm;Ta#S{-6jFA9PK(D_>(}-C3OcLXSpe8ay1D6qO5#yo@)XqH;XYTPg zIL0`aHFi4gWnq6q^7DGU6PDszhMN0>*b^F&ahiXQu?swO{tz1e{)&LZbukZ(%(QS!vL&rSIx;*Jxb#Pe)L(bPw!4!XH*MDwh^7MuaP%>Y zc;4G;-&j{rU)mxN;-~sYrsZkhO$%jrw@4z{AIn=(b9AN-E?@`lbipsZ}UT z=C?*(>S0io*eZdoK-Yn|)R*Qe$&-L8yYbu$0TwE>h( zbDmj}fn8%6+!d#*S2kExdJo36(-&;*Jz@7RclLtL-P7LC>DViyJVJj4jY5Q&AW=I% z{ev9cF@e4K4K^<^b(P}ezZ_5Rztt~EhnVxd%wP;(h6!x!F+3e9VcKK3jnr2!XhQ@L zpYLU#)bl3XcLJ9`gEH;J1Qo%;2|zgIfM8Xusl1yr2Bu7=U)LW_#3>QFsmi)I@~C&& zW@DB6SNf?9F8^V~kP$gjDUs~3kHS3?SFhYE=42lF2Orv1H+wXl)=}Ti)a4+3o)mq_ z6$^b@nT}!SoOhNUjm3rGN-#1bX=Qaf)Mv*x51E=ca+<{_?%@Z~)hZZ0Tgl2W>n6e4 z?!s@Ni>PUr`P(6#4xlhrPhuXXEj<5gdhnPP7~gTWQ+cVi_nPdp{O$}v3asj4>o&bE z5SDI?^(bZ}$HKT#xc2~=FYP-4T0Va@u@Z%tZel;AfzCswWj^9U=3<_>-D8{`Pl&DCM^b+|9aw#Z@5{ z=G(0>XR2xY^h(_Gnu0nw$xOTiYyYs{<8m6i!C+trB*a@lO=C; zD;`C8_Vm^4i_bo;8}iQUWVV-Ac@fs5+2beAIquM_p>7a-4P%q;Ua|rzlXrk>Jm6`j zg#aKgbR85IQ5oh%Uoz><4iEO%9_mu7glC{1B=B zXC=Ax6u=I$v(vZZBWSW>(h`dP?#C$QpM;G_tmy12!3%ck+678c2az~hfAh`PT)xa6 z8PZp}ahcLPLA-d`vRWUROzUP~8uU7Mgl1L8R#ZSw=k>)w+tcmcV2sh0_NRxcA8^=l zABuJNKqqf=b-KW>)Se$or<4SoCioXWj%Jpfs$la+Pkz16Nkuu|cqsjDz$l&g+3_u} zjOeve3TfNnJliB)tRwO5@~*O@tk;C@?GcxiC%;{~uM{b)%%k(8PQ**O8p2X_S^JxO z=>(hTcEnNBb~9J=cArmOp=#S(Da?s!l1I&u`Sxgl^)O%aGF=B286BaKvwjFS9 zjVJDZddNXsnBQEB9lN-w^P<4#QpPvTN%A+ed3 zqQB*j6r-P=QbKf2?}+~bf^nKt=Z_>hh}*k#>B@9~j<0Aevr;c3lVP>J%tagmgB0hx zQ^Iyw0|tjve*{~0Sldbsc1=&J4x@idM_remg4u4Jc0Jw7)X!J}Jkm{+wHD9|)09?SNmA;44a~NK8;bRV16Cc`e{}ltZ1(s$ zS3RIl`FMKo`iQepZXbA$D;RdzN3#W^*}8iJKc=D#puR)>_|enZU%vUF+QmoMeAV&I zvE@0hll9wIrRO~)p+`tQuX!sQI<`>nGFC)xt?9Y#gk`=BD}ONF?%3r$|1-h`K8+H) z@*y3+{UuJrcRuq3|4xUE7qgsS@=dtk$vbwHNs66{VQP*}N&ymi-J-A9joZ(+;)pU9OVK%GvoPe+zRlPKQ`}bF!=+M-UHu!k>f} zrWuoQ$N1LYI8`Sw=hRpa_t?nDJ*r^`^ln>|2`)`hMk-CLphQ)g1)D`&zQEv0&I_)~ zyaK&w?%d%vJ7Fh=<@8tv>rHmw-$#E3H&jBD4l zaT{KwN1^-L6S5H44K5+t1$SWgI!m(YQZm7I;SEWqv4J!=RwSFYe5+aNVd|O_O(u)kM>cw9fj^cmf zn6`M)h7D948IvYq^}(OUpJC?LX^mlFG~z_q{7gqiqqG9n3b(zje?b@SossxYHaRN5 z3I?;BVv3c%B-ll&Pyd*9x3SWW0DxS8acTu4qAto->Vaa^4|UwsDIum|-Ma3&EqnX5 zyXqoBWgOtZ6XmKL)K|$Il_2X`d{w)lI38HvHWd|k7j zITh|prd;u{TH;x^Y58>P-MhCd9rwq${O`rwFOXcM!5dunaFYSb0qyo}mYNx~e*Eb^ z%*U%FZnAygJs8VP20<0RZXaNCB-dbyKTlP=%lPQEig~192L$NImk896?Y%rlQgW*W zt4k93vgt;!fd`~gfizBR!%4SIx7!?MxlxRhc%wUTQ!4WY%D2dhS%!^&?4)m_FWgPQ z?}|J6kM5)yyUNUmY=+4M4tMlIU=Y=rx)VhBbBT$LJfQ+;&+bT6y<1g+lTp;_0UMu6 zT498e0DippL(PF{&Dj%H4{rI41nFLfsElJHDyiJNcdxYk|KgWl6+_YA^c_Vkqr_92 z_{dAW!V&p<8FVS&rgUo03utw8D!os26gwH?BSh+*H+4+}!FKM^h$Hi|Zsb6FIZbK_ zrf`H?GrDDN>3kK)pWs^mj=zZ0u);9T%QH5{X8}8gBeoy1EiU&F8_iH_pw-Sbt5twm+YmDV#ZTPeE6_ei!6sn z22QvNLS?S~$SWb%(PR0_!Rd*E3-|hxj=C3V@>jq5C1a)cySOouAw+oaE8VHfb5o!? z!MmJEa^>sgUf0_rD5?p5|GTeQv3kLR1xjler!PugkYH@+m=Hj|6E+f#VOgdg!xLw; zm&5bj#MG^qJYyR_jW(t=hR5IZF7qdafD|FmKmH~MR_pnv@1A4@5xWa8F(*5^{PWMrqxZ<1q1&;;HNoYH5Y%v-p!Es>S6iHRNFYVlFcBpI>!A^Mj)0|! zEFays}AyC^wJh$C=RVl3*ai6x;uXpz@!pHUuobjz!jQ$Bz$!naoI_yVxRI%C`WwmcnalWzhU6D@CeuSvG$jehm() zOcPAi3)mHwQ`WcXwA)TGi9>bWrl76l=mttVv*hZI=QSi=+tYH{-bYBIN~S(u@4)o@ z8AmD5(J2{w#t2MQ+Y0mMO+Pzg*fzSG_j!Ky?39eqBi_0DK9AFT^4TjHUe509U&m(8 z3T3;^pm&w&k&NMm&(v}ckoU)^T)usWOXA(|2=lQ#`}^L>OFX7(?l?X{cjcv7Ua#uW z1K)I#dCqk(E$U8~Y<$+=h|l1DGQcc8=Br2s+CV|__&xfk;R83?aZeeQHTsQi1N{yW zEr%`AkVM)9Hs7(|^6> z$hyNI`DQnP0PfySLBXs?5DTVXH*6=*W{)0Rd}V&9F?B7I5kzTpbWz z9-_Z^!kV{p!Gi@!qZOr<)P+A_t-j|BinNTUR1m*(*zyOt>Fm`mWGJp>KX$<6@4#kw z|EgbB{mra$q|lvnWq;uh*;hJBa7n{FMTPAfQ*gjqu6kL4%w=kp*SO+D<998r8DYYs zQ=zIC%F+{P0lp4%p%%Cu1iWc)jnylq53jy(ppfCXeL=<|bI@o8cE=nyaEkSe-MRZnE>3lPJZ+yN2V@N{QuO^UH(G$%B$ONDl@QJvIIhZ(#${?+Ka{O z=4EP@y?<2}(sDG8)RJ_BA*f(I4k4@z#{8EVjQgLuT*8aImh@!wYaC-x??UdidbHt` z<&0HB6r`*bGeuI0>HBj%pXD<$b(I79B~QHD;a%OnO{aHpz*EcLfB${yHujN9e|+$e zviU~zjnbvPLWk$n>8iAZ?Zx102M#nR3|3Fs=D<;u*;A%Eu3|EUqI}n{-C{aJey?3f za7EMiv^l8A^S3gsS4hCG*i0vGzWCx7wX^!`um3Rn!yg`^7n(6$^0fkAm~6@F-uFK+ zb$V7u29&thBXTz4i@I!wxsgyBadWQ=-$h&mEeNCuC(vfD30(YRCp_POul;jnGp$+# ztA-B&bPi*AE~GJZj)IBYJr%6#Ni(^*&W`Fx<=olf)1~EAMhiQGEmF!!Bo}v$DhfMN zIpq=9GbJ~;d*cA2xcB|HbbdNI=s!li?^%;S{_zh;DSPZo=#`a}S0Z$ja{A;`o@?wQ zv6HwGWxkKSuFy_HUh9a??iJxka=8_8Ww@J+gigsk$78zw?5Hk{>b8z{nsVb`$05Lj z%dj%i5nsYpho}CcS-C;G(}l54ywqBk*giXr%1gmO-Q2xZ+=OR8r80Cq&SmS^;WNZ3FLFb|9$1fIK{wAw#yV zwx#LWo?~9fcU3M2k}4k=)m=#*{!VC-vkyM_paw*b zAKbjLUQ5}}d1J{_;73PDWD5`bu<;w?b&QMgf6lMcpNQaH?&Onn zmf=SK%fgcUayrZ3NoVxeZT+W$gGAMV#p?sn8KzEYn)6~D$w z8rH)w*@L3JItZr{#<70ZR~^Uku?(XZG%T-aIk>vl1rjH$%VOHDP}NEmaCKNw8wO)M znVNZr!K54rrBj(EdI3h`vn@`aWj3|^U3sDOM;GJDjCEDF<3nn;n|Z8QKP61+dcZWr zDUOW5x->2%pO%8JuoSG0#49nyxi0|ha%YTq*5D=&FuP6^8U znNMKkK7o6ceKBkQo6p4$;1ts zuJE`z)Gsj75s?@iMAUorO@7i6Wn+N2;;Cf9WiBes&EMA+eP8J+*C|}#hsvHhEtKHG zIbeD4Q5@g8#nLnP$9U!Db*4Wqk1KCJ;l#Ccar5R4(p8V=&U9Z7?bRb`#j75aT;2HC z?=d~59_o0S2@xGh=?Ti?m(UdhB2#jiw=D!?>jq56j!o{Rf3Z&eQ|CFO+nqZf(3#dCwnz5VO53`d z&nct3M*O4``)&ATKl2qXVW#0X|I3(8!pcqOjs)U&e#R+0k)H5LS6F}6SsW>m7-lCi zuEy}hHGey%(qVAA&h*h2DScJIc;@9QjjI|mY2$0uK{!gAmV1Jf9GvF*^ovsh%VlTQ ze#%+ z#eHb9+pOpTDZwoQ;%9S%)8**gJk%B8#Ze1V+EoVPTJc?}8ouFLPg(M%^zm z0Z;UGA*zjaG2TUDkPgQ1(QQI$>@m@WpDQPwo+DEo!~+|_NALJ#es5=~1RN^)&q&I3 za1a;gG`Ljh1dYGP@>dZ}Pv|%YJR@<={TVM&@X9buued!Uhz+e2B7@QWiU-dmJf8`1 zL~_a5`K}|%3*7EOIAY$sy~Az)D1El}*P+Gpf?uci)=PoqeXZ(FUlbqy?1heOY_Z z8n1tH8rr=w2m9a8o<4t7^d&>S!v;Q&JE+6+IKqPmkBGx{4ckcHS9pr0q$FR8ME_{x z#8{X#GR=pZ5D0AnaS@3Hf06eT!jj%-3mfzIxRsOwp9W7l+6ntx{YH4*ssHF797rHx z9puD+bO6fLQ@$nL08|1BekIv}GzI5Xm+f|tS_nNfj!W4Pu!=||UY$h%b_n0CdChqw zcW_Gd*SUGj`%YA{-MVuZ1+MStaMdQ#j7q*u8d;@Z-M4|Le02Pb191;a9R64T=HC{( zdcfVQfBe%oC5F2y<;7J##N`9(*3ac}JC}sMj90(K%ZQ(<^zbM6k~(yUfdrqX;qL?@ zOL|5ZHeo|@bLTQ_DPjqg!DKKrFUe_4D~v)v>m-bEJs4@4#`hN;itxp>NJn?#3(I__ z%2R1g`E;JmXy%2*(U4sh;Wd>8wv=LWbrG2jZu`UVymRLb?XK?RkZlBRSCC;_Kg(qK zkB-o*JbQ{n!IYY*)EbIbSDKt!%V0>E4&P4zzebm$v>@)cwwj>>P&e7R;Y~*I;sxx> zDL3@u&2-X{*EBqT@tgsOX${NGKmPbbP2>S1YDEPZe+a z(p?GY4MxtN*BB|*xq877_vrYrTM1Z4G!=szNF%S2Jls*~%Xpq7-ri-3z;~5{hRQ7&YX)zUEiEldXf*MEVd%&b5_hB)n>K>t3B4#)5yt^e|)^ ze&@%81n4&U1-G#SH^PKT3FEJcy5_*Fm4IELad2}0((H36@)d2y{UH3f_k|TkAE#fx!A<_?+MYan zTvOxEKfjHR1!XtK50vC=Ll+X1e)}?S4K zxrvDMi_d-mVe>E-%DvzJ;kQM^PPZPM|A4~pMlCHmqN%v_z7RX8mzF!_t(7q<==l=g zf09MWTcMP5HwJ@Ry;V0&lwp&iDn7hh?0T z1O7E(BppqKfkSV4vwEj62UQMkDcC?y;&jdZGU`ewBAX#Ov>m43)%`4M>>u)>A?0jj!y;sj!X>w`Z%dMWm@I0ol z_TT@{|M52xn5!P{6g{bJ%WATnCod38AG6sOa-ws*}+#K+L2*HIKvtBZgsT0S!}jiOQMk+R9! zJ=del{Us_A4R>Y3p9tDyx*?;Hamo8NB`HhJ6C=^j^sGlUIrS?#fZp`UztTk+U-+`E zmpGtaj^$4lI1by|3PiODJMC^wyKkver*12!yPk;Fy21Ax8 zChLA$#AzAA5p(<3+=_RboBF+*wXSS<`nYz3+Hsw?yJYS|aV~m!6@rBA=w=yZM5ibl zYxJfrnKIQN>sS%nYJcvvh1$F;g14_TUi~cPpP0{ zzLJ)Q{1neKy;oZCXBi^FxH+t*L#4Fs3%Z22V=D0|by}WP#QAeB++vZ9v|AdM30pTM zczoyOwcOTMwv&IyAkH#L3f4DNkUE-<9Z^Yci(S?(0gJLXY|eB5(O;f!du>y$P4c!} z#Xu;p56i2_^DuiKC)Kt}KUcRITo|-y=1NyZ zaHfgZue%w~D>a`Xo!HKOrGv}-!rZ$DU6FU5*4gC=9BEIbd2p?+FVdD5pdE4nm1TUx zRta~Wzoq0ArK3qljBVJv++(~Tc(mgVoZn+w@gHrQb2Q6wq=BS6+DX?2)}45|$L}%i zxC5K-(N4PYOPl~M79==C|I5#d)nR2>I z*JJiR<>8BcAM(PU)cBmott3*FzPH%}^ZDnW&c6Qon>w5F*(V=W=P>LJTg<%#`W1}C z5lLpf#bsBXQ>sn|wJ5#H=rnHjVgiDM#VCu!P&fA>F(^&Qfs~G_HDn%8ww=sTU2|r~ zP(Tm>vA}k-{xY&T9wx>meA+?V4i%W#a~RUv;mMAZX=>moD-$WD=)k<3VwQBs`77(D zh_95g&jCE~udc}FOWa-UB}|?J($ve0gbCv&$k2;?!Lpf!)sLuCZ(mi-@w5?$XPIl& z2zcYgl(Ytb%wwbv>+84i?5MR8L?p}Y`%u#x2|DObj;^47e2 zXO&y3C(a#?8Mhjp3CmQByC6( zV8mSry9j}F*Fk(;70H};)l~vS)YlNhQ+7ihGn#JE$ZIHnAY*;fU+^X#E3XOPeg}6| zCOUoMS4W%LLkuTgsG|5eSAfc7Y$|71bCXUJ zdmivJjx_!Va#{S*&p7#xJ;op1Ho7ox<>PQ#W+9PG9&>9<+xYp-0hS!eBk}Sbu#_X= z`s*IQ0~_0WUA-sfoGt!#-Zu>MP99bnmDgE9yvCCi4xiV#r(Hb^MZ?@RLx3C+#q#k-0dU$6t6&?ZW~me%Bqs%IM|qMmeW+#$jZIiKw$E zI68omJ5~+g@?P?VSV$EoGm=O}lHpdA}*D|X3 zUt2|@Wg4V(y8r4~O-*DZwy})DC20>pHto3QW~X#8ZsGT82IHBQ#yHVK$*e4^<=8{w zd&)H0CiL3P>vvhX)StMLK^?^95Tgq6`#;9zRd`<=MLX(HeE5Txz27%SAAqo zPaZ#|Bk&j&Qy-VUcVH_2`rrL`vx7JP*X$wUEV*%rviF@_VH&WH`oq}=&zsgG_hqcmep?=5ZTlSU5o+v#FtsDtFnYeWzE8tex+Mq}FZz>;HCjKtFhQXL-=pnX#F_uvVqp>XBO1Ob? zR|(LiXr-DBwk=pjrM{9}SW#4R;j`+f6lRCsXLYa^GU(KvMUpQtR>Anam5x1AC~!SB zeRbt(mD?$zx)9F#?EJ4F(Q*YKi_A%#?=n2h>8cp#oPQ{Bs2SK=3OxH zU$#vzexo~nv41vSDHkKGjp`w<(Ik!7EzgjE2YymBBzS1sK} zuQIeQ%Tlr-ROPhsDlG~b<|8e5XYvZtqWg`um|7~?IAv7vDMLoKLh@nCLZ|cI9u?k> z&SZr@bs%$cp8Tx&f;LhY?bJ~wRgA`X;LMeu9dshaWSHVgk3RRBGL~dQ*-Phzl;Sh3 zN{`x3sro)@%KdalgIl=D@?VigY@TWk$H+YVPqOI6K94p7!|)RUEAqpEat63 zxELyR^}?vsWkY=Nq^I?SA#&{(ANyC#s*ZA@3DaD+V5JXkarH zD<;Apshoqcok7Ug*o0>pUXqskJ2qJ6lo&i<=hg%X-Ew-k(&gN`K+8JfCy{|{T>0U| zSnujogo)dX0qS4ejM%5mn~9A0(k;Dd8(-tMqp6+1wCbtV3FqQ+hYnIB{^VyI{bd@) zRlk)q#RHE)Qy2D$(9!DJ0m`KALQ@QcIDWgdY(0Esp-(#4xGEP-w^jTyJ)vrzV)K0zQ$7t7Rg~^YDx)~UuK~HoL)$@9-c??Dkefl_mR5C zC|x}T?S)Qv?%XbkLI&Zvp=Vsx@rri!Wr0oJy)r#l0A*6TJ>>Wv_bm7<&KCQ!+~IqS zL?qMkP$$Sj*Vhm9ReMSo&_lN`Opf;O`iwVBqjW2QovzOBX~wO8@^HyZld#z3Ir!6S z;#GFwL~tW$G5Uxc{j^83h_k4_F!3K@<6cff|G<}BVzxLlM8-0u4WXyw8FEC!ZM!Lf zVBcc4eD8C}Y#n0wi7nh4yl?aASA7R-UCs>=^$2u6`_KRU``HKY-$mN_3Zmu`E2cx6 zh{cM=dn^~8vb@QdHamatWcJ>jk7w6z-koi;Pr=Pwp5$KV$Uobu$eYy!#Cate_rpYy z>bDGt(pR~>WJ$*8@de!~Q7x}b!81ROly+K`(E8Jrv1J|$oD0|Jw_RjH%_yWNf5H0^ zXI;eOHY2VyB=azz+L?;fVOY^%+KGHBOYrN4wH26^8wN#tDNd2N!YGW}WoADI3`i#L z{U=H?>PF6)-fCQy^?4Lcn2Pn%Ewft%Z|bg0&wM;WBHh*bGwOA~rA!{`CBLcS9~Q+?|LyE&kH#fQX)CyZE!oZ(~%E9yjBuO7^%2wJj=veYVtj5rLr^X zumKI-+`dtp-<;OCG0thu)=B4W`s%low#4zy&h3gTzLZ`puUBBYLbb;f$a`K)TOEyu zYS-5Oj9=gTYZ=}D^~3hae2X zzd8~bX*coOvAL88ao$na^C)h#^CBzHvG}Bkc~m@yXhuoTGQEU|cdy@^{pw%xK)O;4 zglakLEE2Ks*7rw7z%}$YpMLR6o+JHwb_kPkDRYaf4qG~6nUtm8Lzc_kwYhDZDp5`1 z_*oHu<4;LSrL-N)Wng6=e-zJ}k*DO<9W(f`9Ko;de8(-bu;T=W@wbDTM(snvPI|&0 zLF^hYrnas!a*9LRbf6Wlr|5yiwDi~1eJU^kaiTH59rRIN_mDEZ0C!TQ-K*@I;%ZBmoShb(oVKn>C6Brvr-)tdK7!DC zsJ?cgao!4fj}^%1R0KC&!nkCnpwb`76rOJ1z6+ha=19sn9IAX=%wFO?IN%xxaCJe+ zYo&rb-J0=xbcX=+)1BWKCouXYT>CPZq@D1z{UmDcn#F#WH7Ca@>nyM^Rs+aVlbmk`X;Yd22GObR79f zF{&CdWisA}vO7Cus9y*kmpE4mcb=o>)cyjcwPDdSWi7*d!HbQAie}gT~?5O204lA_d%-acn@$0uZ6E7z)R2O?Z4Xk3* zeJ(ZqL5aQ2G|!Yw+h4t1CH}yYG+-yyyk4E2S*7fzzXL;mW)GhXY@z%sjjD?b8zy0W z!OI%VL+0vPwR#K=27?gD^RO^J%A{oE#ZCBDI!>irN!q&EFEWzl?2zj;l^7f#gtueY zbk6d^Anf4VyhzY*5vlkVzs;Cz#xUV9>-COY_B`(kX(- zWjh^l*?&2n-)0(mX&PuzT8v?c2%-pk-pmZZ6C zCr<3;@Z^>7d}}*OLYBBB5c^}}h|Q_hL5<_DnvD_1U7=`c1%x=gwViVzrH`SLAl0bk zH7&cUA~|XYHs|q7i3cWEP{`St-!P)n+Uj@Q9Sph|#ax2q20ZsfAY#8{3U%+t2eXeq z_>dJOUOIq@nU^=?OH9t;w_SMw_TVv79Ud}wK3$_ec|t!`MyC*Vg4$m~$J84Y#=I^0 z?2%o^WW=ApFo=xS3GYs|pd(>zBN>6rX=9=%-Qvb@&tXZ_8+6K2>Z+6`!8Me-tHLqd z3a23m#@UjSxHld1w6n;t`T;wRRiLbV&57n`Pkw}Pbe&8iKcY56sWcfRY)jh2vYM{U z$L6{MgWF)sy!kjKZV8G#NWeMGFkj=Dp5IRWoZ{~C1Z=f6ZiB-`B5Ytlfv4 zK3Sd(27_ZZM|yRF8}sVMIu6#JyznMOSI~MD?bu~|>gwR-u@v(XuTFtB)$Q?9f$R69 zN00cuU=J3zDoIh(V7@v8^jPCep zC;hQZqyGqN8i5bY+wn-V*o=Aen~EUgaiFhN81UwK6Y*3^P3mRZ`w)N%$5k57hu&QC zs1>QHgV;%5Lk#LCDm}jKT8hoJ_XZ+zBbk>ksr-C{q*JdtQj%9pfh77X+#Ms)*N$F@ z*-_U^%U8&Am1&Vrwdy`WX>e)>fsLHwc0{ahJayhW3u8QetD2OE`Y1|U7t0!aiKEfa zu*>i#OtUS@$7n5_%4ajEjd0Y>-KsJXH=Avu3|Gtoi@?z#__=Gj&p5$YlopX3)Q!~n zI^x&r7_}mh!3^erpZW;(6dQ2xr%xW1M5hi)9OZF!9SwI?T_78!vEi z2j29@u&zWCoE<8}7WlCY4SP`nO8VMKOWSltlXUf44hvl3=R5WoH-6g7=>$$Ybw!}Jdx!;r* zBu(3qURcX&{p?uYb7E)q(5KnB?ca{RdaTs2$X`aVBaW6)}^zs zEFO)}R9Q%)+D0!#BAJW96ceUeVD-muXT4sh;M8Y}>5YdTohq@=PMsJyz@TZEr_%~` zXQr(rsVyBSk*Gu!&E!DaIL(oX_SFf1z%Y+&az3G%l`ds zhhD@0{e8(Q+#7{f!gy+gldK{&pJSmbx2Ihn#{FcE}&21Qg{iXvs z1#sVoOP+=uTRt z7IoY9g|aEX?JQn`>)^;b#82CA>m6AAENd+z!>E+P2rLFe@)dWZ^aHFG)d=nW4{A!; zPdUU$V#IAYacR0r9Il+LAXS*3H~3c>U`Vd8oH3PjAUI%}a*iTZ9QxBZXxkRe2)m9l z7n_8n+bEV!A4+cs3e~p0#^_~Z-jlM8wBb}zrtk8)#%Yd5X5V<}JU!E6`8*4x^s;-+ zX&`M2E}X{MsZZGRa>k)lch#zUQ9^PV8?6-OZHDEtw9DS&pjW13Vx6bwkB(MYA%ck< zqiDX#Rt680ZgbTLybUJDz8tP#kapJVnOo`4c6G(dUBnDxFs7e=;J-XO=RT%3CJWj0KN^k$^V0>{!!sYy26O zYW0Uv>I?})qH?5Dv8So?BoJOnsxl&o)ltY(+TMOvBeJ6(9m16e6}QI_p`)J{ijx8o z${WOOPQWrcp7VmAx{M9>Ln!_$2Ahs`aGClLKXo+gtYTebkHZ>wizvk$vf1i2Oy-!~ zzqMIUT@CoQzUNHI9Ks6){57r8iI98n7W%3%>qESGn}|2t+73>=PGPV<({V^WN@1zk z?i7x4tH+q3B;9~fl%kk;;>zZQ#3Uxtmf1M^gNJFg=*%)YrIHci_6eF*n6oQ$9xZSs z&<<`mO+^fCKGGy8mngySvaU^;WOJ3!iI`MN} z2oB0LJj68Rr)NtqEnzf4HWLHeMXbirKY4XZ{Z}Mvy6o}mQOhrh*lC8w_?^arDf&%O z+F#8erpusRpCYaBqodB;;GG-zg!Qmo-FZS;{MTmcL{4{ru>-g~srFux-h6%MM`dN* z(ZeD~xs?f^BzQ@gdW#7!x1-xZ4j`g)+fp$6>_Fnc3!?$5QMk$kfVvfmMxNUw2~Mae z(OSnNwPL_*^&-pABRt7~FG^agB!wT&QEhOBYW=-CbbLA|Ow9Sa*FdTpI^%Klb(D>( z?yKQSfk>mSR9vobSL})PN_{|5=3#y-Tn45x!c}CM(*bdg`Kd!G z>BZq3TvvQ>EK{p5@FM=2oOD4?els|dESVOch0!pDdrdww^jqk$e4pr;4Qg2-asau? ztBCG-IY2VmrQ@%{aC`*q+EFuu-euehVkH%sh&q|`GpuVs;jX*uivGaQX!T}}*W1Pe@9o>OV zy7AXub-4%x2on=`(vi4h3~R>M@ZwHgMw`iRNK5~uM``9P3}3!3mQA>ZwRm zFtgJ`bVx7;N7vWKdBG9Z#k8lUH8KdYa0)7GRS;1(vc^)k9hOw<4w}}5G4+CpDP_uV zgL9Yb#X>NoE#CXPaV1lxXvOG`57An^CLD&j#wy)eU4IGlgKfV#M$92kr%fvi3ZB~7 z=Q@w;H`qD=BU#~~ql1`Ctr=!dB`s@7bKuPB*#5qCbgDQ_?_eM`ErwxQUZpps*QB9s zeUx%*kaG}IbSuftYZ`c3mLmhg*cXNOypr^5SykwYw_X9`M!p)%`rETfbr#9U{wty% zMt(|C38y2)E_mW3yc`2;zRQ+SCR6F>1KaP>FX@hUPjQAwI1PW7F)V5R99-h33}Iw` zkNJ;M4hch)iz#E$k8PUCTPl;(ENU?d!U}Fehc)o$96b3s9dv3kPY;07*aN4Tr`@0R zH?Xk-H-76LzlF(n7;L`BFx}yAEyL+ENpn)n)D9jXbXo!hR)@7tXNcqHr|1|sDCerp zW=Ro94kgC-fj+oQ5v(J<<*56P$w8*uKQH=L5!!yPZkdO36}lJya95jvRFLcjMO7Mf zH9Bz9!8ubJ=4zBx37yjOQx5Ul@{7~zWH15iTGI&faif`c>Btl<{~OA9%Dc{qLo`#N zeQd>rv1A&9UA>|;r2^t9E%o&g*LV+lgUhG3c$nVzo4voq%h6i`QQBk*=hT?|G<~|- z`cal*aP}K<1U{HXDn~hG-rC~6T`sY5s`DD1O7ur1RpKWTkcs%y$Y@p8YWk8WpBzTt zM|xX67)U$xG*BI&IwPl1T;%}c5O40{_06QaNG$G$`S#oI3t!?$3F??-^TlCD(I6Hk z(bY`-4guyne%k)bNc&x83>)FoS*%Qq;cx$j4mSZNuAgBHx<~)ydzqiGnuKYmY#q{J z%YL2a0w;c(fBQGSOlzJlb*n+{9q3ukH+30t9vI7&d{V~0)z5hEiaYwp9ozI}lA1+F z>h=H&;^!?I1^O^ZcM_}lT6EmX~D(k_)QufA+Ix7 zV9f~rELhya#2q_++BrBDKVjn54gr_vC4bB-#<)SAwkCdl$8UsB_~;k6@MHS=FQ-8c z7yPm*%56EqzM^-(i)NK2nC(gj_4G` zlv#`@Nds;I937wiEp>e=BR4UC>v(Ack}3&EJq$$Ek{3*C2Bw*CNb8_qn?Cn7eUy|E8n6tJT4WshTV9pHXJ;K> z=}1(_C~OBAO2NW$g_lwIlYz)wE36o(3TU6Z^)fFG$bvreb800s>gkf_j}B`JrQ+D> z+XWqrg|?n4aD7`EOo&lC;UltjFEgHsNAwYHOiTA@l5YI`_LumhTR)9?T2X(7YsZZ6 zquX%5V<-Lc7{dIvA%qQlU@o(hhhZt7BTUkdU*h_0`IGhtH)nhhaN>=2+!=xLoxJ^C z{w3eoh6i7XA3HE9NBpVHR33T}#`MnL>3};MB7)|1In(a6KO&o21ffqmV3ry0}Cb-K^gH;^-v?~sTE5LG| zNqe-DrumKVaWC7#Yv%3OpIwF}98E#abR$OwBdcBiunVwt7~D%~Gb8~x5bSq^M1<vx5{YUt6+YmIcCU$*H-!(cdg(W?02`%wP z|D>V4?C*EtjBq1t{1Z3dfsv@Y^DQA{0yJKJEd_KP

o5$MW}O@dK+QQN1u8OSbvA_1-i~3YhBa^k_9qhPh6SpyGg4lM-O6 z!-*3|Puox2*}>Bh!5#i(D1uWXAtz}2({9RBU(wRRLZbHW-EHoqkx8k`C^nWfnLfTo zX?l(_cboU6@80oE@tZJCR>YW&C>?CV1f0gGp!F5SUwrXZmFu^^{T;W-Jpq4i%xlGM zy*jY2H05eh?;7@EsU4KbXJ=PRN>O2KTJE+5lkCB2f6!2EX`NltcY35`<4)%rH?LP* znUG4}l@%l|BVc6kUj1;Q_=r*Qt1icz^^}U{5=>T0$n`>pkkCW0+8Prdf8{y-5yr5< zE{BcZy0c+!^iO2e$ zra#q-1KnXx5iDcMWXG|zSqVyfJ7JyH7N>SdZMs>(F-m$pr9K20nIH6KcXT?1neT+g zEzz4UETMjQVAH-+8tPw^FkbU*l5PP~_oC=-$0=?`I+i*3QG!}0PZ?6$Ui%G?hRG0) zQD_#UDTZl@7RDmSn7r|fBh!?wl|Ga@s?5Nyat=v%O{=J$?ixexq<+mdnSG|VY`#li(=n?0nU=|;KbeD^sK12WUWcHVDz9al<@5BYR zo|-KN)5i{ExUTs4Vt@?59l|mxaqDhf&9+agFfh1t7(Rv0<$C4gei`#~Pm|L*nTQP4 zt5v@317AgUz2CW9RQZ=TzM^3qeko+w=D}l>QhZP!O0?Ys^D!& z#xI!6BueLWv)M{3>a;o`VpbZRf(*<2#fQ@!!CY{4+AKUT)kT^}W5s~VM)$#q^!wjGV7l~#&Z%C+?fgEw>YLQ= zF@a$+b+L0>mg8eyoLIX)yM5=q*_U5^RvrD*Pe0}o_)qB6JHYWo4Rx^7_q{PKjfh)U zcAOHq%z5dK}}=fcJ~fm^nJ4klrV;km~q2wR#`Cu4W(Ru_T&u`g-X*u@$~Oc>{&dU z{o_CW!|bbHeg?ih)aeTZ{p83#jONOI-;4Y4#~)T%l^PDY!}-t$_sGC2GV37ZoBfJg z&z>;dF&!lpnb?QCvn7Ms*x=DMUTaj++TtLlQi%*goshN?i}%7PK`A|{S5dl@foR;P zB&;}77;ri#Z&1S0UL1CucLce9cb4b@OejcCg9OH~_z9ys--hu~R{mTFE6<5iCx9`$ zMx!ZBgA*1ze)-lOe}?y}#Kkh`uSt3PtJ5FT>MkNdFTxh#9m_OgDsMg(Fc7^Ig;|Ev zFK}a+{+fj0y6_!;?Z4)(h|{0ICyw69cl3)pb_NpR^|Lf(Pt`8B{&xJqOx2$6LlKu6 zr!*u`Ka(g4h0jv%PEv?)rYqxcI;2}h>&QM%!JJIh@dzVe%)xYIR+?1^{;c-qg=x5) z?8+065WgLw(gwDsZswy=SxdX-C#|dOmeDF5+2n#6-ev1(VY-EyIew-vEaQ-^E`H5+ z;0=|Y%f9!%CoNx@03JiS^c)&p1yX;TAh#ATRQFXiV9Ct3uoPg^8lo2dCfyzb3r@H zj1s5!?kI4u+66Q6#On@>ekSPmNR-PX=e$vjj0qE2 zPSbS!U1o%h2~6PMwljVV1VQAa5j*ircTAH4;sbFPQCXg@BT#|@+huX2k-+5cV_JL^ z-1uiq-~994>2J@zTKx|JSyFA=6Q)})GPu7o9NSc*@?Xj zRv?y}lhB0_0aUwCe5-fHeYvNc6YF+UkAz-?NS0M4s_#GB(PcDFeVh)pB+(2>M&h28 z`}gmcv>_96%Hq`#-Yw%&w9_bIWHe#6GAYxMS=8xrBp&y_s3=zV;xfAZ+^368qwnnP zD?w#MN=SyAhT-*eY&9r_w*u7QRE#GmDF{f#>s zVV2DZ6Q(9i(i`om*p)=e6j;;oH^L{ZA`E}VawJY*4eP0cwB6-TnxsCY^0sqKH*sPM z9Z`O)^V_NXyifA@YxZ&~!mFxG-c|2Q>LXlWK;{K}meet!p!09W(96mN@7b5b1_Xv(y4rPXp~X8XogM@T|wPO z2aMAzf2NoAT*ist1ed9N)$zomy{Gax5ZQjRIrTzV^{0V4inL;UEXoSsD<|OWli_B& zmz)7&X7QSn*mihvER)bEftbG=+GH@=hWXfq zjOqF!qi2j<5&Gz(mV%O(OveL`ejmSiM4Q0&VK%4S_iGxKtq!D;j#DS|$jqUXyhR+{ zFJv!sVoAeU*k!kI^c($!i%G}V)-)$>_{7ontzXT%(yFo*#Ntol8&MSB zgvlgc(kdYSEPqQJ5{7u`ur6;_zeIMY9|TSW3cUY`RN;T^k7?)E=_OullB2$V%`BHc zX^#Gvxkta`p`TKLws}_@R=ZaT1J-R&l1F=0THvM6RoP{6gC_m?UuL;3_PyTKi_Jd| z0vb~!R{kBW{|CiYul)YY*379)F?JN^@z=WuqEVlc`hxa)gjGRb36$0eLN zE#hAf29pFu8GOA!hTnNM-PSTTZK4EF8|rX|q8(d&#zh9RX%Ldb_O z>zRUK_XMdWD&LRtVscMzD`7Pi5rJ$4B zq&$7}YWB_VzvE4%&t|(fd~2F}U%0bJMXmLBYUGNJuSO_!cs@vdi2G)|1Lz?ayT3qc z@gSn`G9CMc@%$FIN;39|+CdDn(BJRpyw>OxC(n{Ny>j|vTwfV2sSM=FOn&<5r>evn zchJa79B@rrW^;4|zW(Vy{O`XJMJ>MBto^SVKz|W96(|VN9{o(PiJ|=yE=(a*+)h8g zMX^73fqIUkP+qV!4UJ;M6!GClM*ZtV7vGbAC5zj<{KZs!K8n~XLx{vtOzsMz`#J#1 zA=8jhrr%Wi%17ep(Xq2FG6EltjFqpMP4SWhknI(FN?QN%XWBM~@kalov#<+bUO(}i zx{h|*U^%=}AMoOLOycKzw9^Le&^1j7uhKUE`ngvH?2@+A>bw$=G`l7IOLtb9n0|(X zw2<4p>cWVkh0Puo@~$1f#_?ww^gv;{4A>4Dl%rOhu*Io6arLXq%4}cT+jbBR_*KGv zNzp1=wF#=2SUKj78uqL3&XP)1ci1|RZ*aO= z9hJ|{dNbcmw)B6PnoFkNr*^Ep`0FWtIz zlQ342U|0?ox_wsI9lIZV^ug@T`?opQ)!4ILPr<3jEbLz@&EF{5%yF{hXhIO_)kSHb zCiEq+3!n2i62oMS7ytOh?lha3M8Yvl_{3SZ4L4q-ltoS*FY&cC<3_Fa>G--+Hf=l4 z=%<^mbYU)TS(?cd=sbRZE%MK|cGvM@*mC_Yt7Fnge7`S)8~sLi;-y~iil2O9k7-mK zJM+*U%WwrlxYUujfhp!vJCO}t&`-gQ4L3#5zsgORkHOb>62osfN~M$4t4QLcLBxi| zR)@MlT1p0W^4XHm-u`@k_LOOoD@!V`&uX3~TrzFDyiM0SfDigO>8o2YpQf9J{9FDS zdo(gM7zD{v%)UjBr0L(>t+g|Ic;Cyuxdi+QPt@F4pMCVj&Dr+VzU|JHBg^KM3rf!shwok3ZH5)n}i5G5hk%FG>=6`0!ClEpE2+4j!)vHIMmW$Eiu)CK4(T zV%4rjo$wR?plb{p-3iwovuhGQ#;XA5+mpGNcgG=#irdOm z%hJEn4NY}7?fjBf?BqLskNG4#@nZ|G+wuk`X~eGj6=BC`QP0GQEyQK+_{Cm^8}kq* zzrZ;y8RG^%a7r$^v&=iz-85qKuR$RUYu<8ims{AZJ`!3>OV2z!^wJc}D(BlN@FB^FUuQ7@1Brc%qkGc{KZ+4wE@y;)jhpT!SED|8LO5rMoMv5TRmiuI5L=2SZ(M(`n2SdW z)_i`KRnjfi&+pv2J3HVa@n=t-&-S=Zvy{wSF7E-zv(u+ACZ}(GW8a*?h(rset%=N9Yq$mR=X;7&R{RoYo{z)AU@j}e5L`}S z0!OapH>RI31IGNucnJ%`3tVi&g-^KOKWCD^Fk>2t^De*9e{?U$TMo;&cHEXX?lHb~ z@HgTmup^C>pK{@p=9pIS5I;xsGKl6eW4yQxi#vAU>i{Fup%WO)8A?=nLMcgW~s?xNc`VGgy=)MaCp%d2qr{v6tBn}m>n-2J=H>x%HvVggq=uxOgO!tjJEDV`U9m`gCU5-nB#DepLuxbwAxT%ixV2O7bgX=9 zk8rvZceKlsKMBuw>@l7AE!!zaY{QdY?BzJ)cVL$75oUCET^Bg4G7b`$=``Mg_XVta z8apolW0G^XX_?9e{%abUfehK7<w z>ouBuzc}+9abJD#dIhI5NE|4CpTBrg(vL#f6<+te%Fh)m)AqH-*XV8bSO(wW*^$n( z4@|n+RMVrYUI(!{d-;5iDU|i*r3DnhdoNycEaCH-UMaOaJ9gkL-*P?)6LvW)@niqB@W5%O%*N3@#vQ-o z9>e2awga1dmcy6*$8TZ%1qT%uhLAQ(xVG)7ZGQgvsHEmFQ#em1R{E)2+(C8v3+T`h}otL_#>U;8;lGH;oSrBn9l?*CTSf44`a zNTNw^jt5ebwYfvOHo9$IogJNec8CYpe)OeHB5~^4)9g2H?sAQT?^Pe6pydn@*KwYD zPXuP0CvfG_2S_P057W2mwGk2K*~{19liXwo;=t7+ZDG~ZSa-v&bNRTN^zPsPzNT2N zXnpm|U(8;>gq}ZFa(Og+j09tvySrCvPmb5xbi>)Wm})p|6V=qHQ?CAFrkZ&p@*UWQ zSp3yLzlCqR5=VPPs-cOaf85LQQ;v~9lV;M;PQ%47>2>Y&ZIkq3$3HtU6EFUwy&QH~ zIRZ0=nMU$k_8-%~%pLgH%P^*!u(-`{FiC!A;@c~smXE&Y{T^si267#+j!{6a4m z(l8#KwwZ-(MVVQI-QeZ}DhPs8r89IeE1xQ~PaE^pkr&BnYB zY8m{GfB3pCD)*ilYEpY>-noiYl@f`Ah#IaY(hKo4+ybuA?YBR}H6kn~u=yVCge6|` z2+ZiOU%ta&@}00ndP(8u?dAOD@!vs4$#2YmOe68f`X`PhNw~KDv6o93xcDcH(GE=P zz`n~iZsH3Q_vkCjlg`oSeBVr|>D zk;2*2VA>%9xt$H{w?=mw-0%479?h7R!kOl>c!3+^j&8%p{Kxz*#&tB65G=dp!qr8- zkgwqy<4Tn6o&fu^{-*xg!j5JvgZ}vzF7DAD>pi9u_j3CAwo_=v___@bjJDE&`B{rv z@i9)pblfUS;$RC`@kEla^_M>r%$UA$dk3to*tnSQjiG!MjwF%1-TiDC$1C{cN8 z`#oNNbo%6GJC7oGRm5kXeNvk$-H50E3-mSrAB9XP;3g^ekpKVy07*qoM6N<$f>tUq Aod5s; diff --git a/old-ui/app/img/identicon-walrus.png b/old-ui/app/img/identicon-walrus.png deleted file mode 100644 index d58fae91294a898963f310412ef4026868d8fb6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 388973 zcmZ^~1yCH(vo{JM0TL_;?ht|nSzH!b2mz8{A-KD{v&iBSf(8h|U4j$bEx0Uh3oP!i zI4rXJ^1t`K`+Zff-c(J^nbzs9nNz=WdivWJWqE=ZR4*_vFbF<<{O}b61GD!(Coc9s zigvimDh9@jr#3P&Up~pmFnn=!vb3?cz`*$UE$k=G7xi7LaI{;4@KVo|FM^gVel`8_ z-Mf(|3SK&;3kf+-UdeuVniLpXYAi6L{ZdsO_sI+G3C`C~lPEX?qgrk-n!gDrjy{e* zxMhKN@8OT*0pp_`81dp1_MT5TF{Dhtz8jcdROS|Wt4=uZ?4|3gAfb2*9<_yr)m6GR zBRd=Xec6Mo>(cqon@6+fa&m<{n1OAtiue~Z)I*8h9AzgA8*V=j4HF&wf(t0;vx_mg zd?#OCyPzA_StZe>GirEuAMAv zfyJ8#$9h&?7wWvkq?elCZ-*1FK&V#%cl;FPAW>e%803IkMHa5;JN7Q3W(5X?7ay=_ z<1wbBSmLqlyD(udnaNc1;%m{n{+IRs*B@D_?d3iHJ|T<5{5=RMu4;Rj%lImdZOkB{ z8o3dqe_e)fSvlu&7$ePFK`JPmV0Up6z0wJ=!I#AVW@AYi+$pH}g+#kO4IGgf6;Qrw zY4Ewk2=SwRkfMmhqRhdai3jvy{KCL9#-a(LK7E2>cxsQSXukTvycEBh_z0_+fu06) zK$^1Tsg;z32o86kr}J}tEMaL7#gqIs-nC$x)7PAV%+*h%UlQg?seh#T5thWLG>DNW zqZ!Y%g^7I6_(kMz@Q)k;Yt}mY;fSalzLFQVfsjC8uHA%#HH8nZ(tEcF>OH3D;Gt?B zPJ*(o79QG$uoaU4Z~oEX#C1*)97+6?p4n5KCV~#^o8EjLa>#Q)9!6AXUhbCa5*u)s zZaeIStZcqW$x4a1`twq%+317!SGgy-O(ozN904*V*^%7(Niu74cZ{@e%5n%f@|=;0 zt34riz#W~>>-IoYaISFyPa1_=GzSYsZ;!dLD=+geT}6%^Y)caU7@Z!|8iDe6b0mks z1l|26UdDLU#noI3jz>J6FIppe*Z;bti6~@{#|A0%ZEq-VjBiwK$T?3p-FUw?By$S% z>WSD$JYBqf?Z?mYEfaH6w#RXyh?ZW>d&7 z%X2ad5j(wPjdc3-_Q#W<=q;Hj=40mMALEIR2`r!J2j80${E-li&XAK-tYq>^r2hf` z%0@yOMZlc&?w~>VV*&jz?2lV?jeiS;Xiz<22_qI5Ivm;bYFnqL0mk7O%JoWYuz; zr(Ro!)#26gF3GFfsOn9!P0HkrTx zQn3Db`_cSk#?K~3UI06%4dYPKXkr@!^5cu2Q}O4?ON<_JwoL>cl*mkzM2%uIM1f!fa(Kk-N2 zDO4tBXf(}wY3kd7?ZQ3kulT8D(?6!`rc>&9z(ioR4OK^%M zCl)7AaRG4=I)kk0;`Ci!=(m_*>O`RiUrc~jm6@SRn?`$Ld%$`3o%emxz4*=S&B{J( zSN;liFu&Kh<+N+GhZd3IV&KYQjR)~?Rx>(_4lD=RKP?+PDPyiL>W`9)Dh|^uRMtFBT&Hptmm|D#ym-7WkCNccPP<#&FawR& z+?7|YzSnFgLyP?F^I)e($&HR%e~{Io1-V5hjJ~duLmp`5G(ICd4j0%y-*$B!AkwBO z5s#Fl@O3_oU(Zd9=-86oSs9ui0SuwlyEvOJDo~Au@N+_WdOA)4c5(lwzHj#j7gP`P zuVjN|b!62B#N+BoM@V-`JHexE*X) zv3Ek!#=**9Lp~<4X&yTsUz>3o$GyHH@@c>#Kx@Y>fcT+eBYCNeKA;ilZ_MazawoVe zh*0X*J8SenM6X_P`T!&iKI`l1jQavm9Vo0v8Tdd>96twTwsZDpP+7pq-3H1cIAw6N zhLWaVmqdyYFE$o?O^FsG>E&B7d`6u}CkeO51go5?A7cTOrwc~B4iYI9$o^p)_<(+az%} z&DfOJj2J6JXs?FOGaovAF3ul6zN_0jF-?5rT3JI}(Q}b>#8^3gH~$9?Gi}th-L;hz zfo4t)+$QEurWV}Z4$lAZA_j)IH}K!k!NT2y!P~*!(GBP=@#eoIfd9t-Ap_np{FjKk zox~e$r7sLJPOcUVg4_b!JZ~glFfcHPyP8`9zkZPWAN7BC5^t>C-JO8|fR~pSw--OR zldBbgS5#CKz{3aNabT{$la&%+*ZzKP&oevgnX0A5Q?lw-24F9ofV(R4K zF7f8ge;obq@!!vB;cfGOJUP1kPgwr~1pJ2s;N|84{IBhQs^b5l0>9XJTi9!VuyL?( zbo=K+Qb3Sb{J-S?Kb-&L@&D4)`Ty1Yzc~M+DGvBg0RLA&|DCP>qW(*lfV@j?caXVHvh07cZ(mLS3u9-Vfy<4ewP|r@==%}{P729g?|ib zY5b7#!62lt5ANm>Sw>u;ksx$c97oT9d|uhjjh7QzNZ-f^T~~fpRSBx}{3YSg7iW~; z`KM$3?ttZt^lVN0W*)$S-kls6fN4r)#%03O%NlQX@la1!!Q~IWt6AacUGU{){gss! zgB3X3NJ3ovtq_6$v+wNu-1X|=A>;Py>gwS5mTb||VKxi7LH{-CP>e}C!@`-(29n`Y4oLZd?z8Ab2F*bsW< zYApEy?#QQ(QpoCO`3lk=2Z?1gJDoNj{&n?0FrUQTted6SsC0H^=N|iARif6weZm1| z=-+>{=gWR~ZZ1zJtK4SZ6gfE|LWY4Ajm0WTPmco6l$+uz&I z?J4PMOUYFKRPGH zq)fBaf494b!ft{(+uN%*Up`*Si--3YAx`9s_AeI7P28UscXj$r$dEtArSEqJYs4X{ z)Qay2o}eyKv}nG|e!5G+eXZMHgVo-)?U}+CQ3DT;f9#FX2LagVh2^qMECHN`^Le6g z0XJyVc6_4m$0N(ltGAJImU+Ck|)# zwo>{OZG+7rkv%C@{l%t@2XCS01vjwoe@1lMshMw1Sb4`cbXkK@PCQ43^X{e>t8ngZ zn1^}(iAk}=U2Uc3LJ_S9mF~cO{>d}sE5j8X$z1T^xDfn+N0M28%VE2*&IpHORJb~i z?xA6EYrCpIsvw`X^zZBH`0qc*Kt8I`df++jWFH*pmaswb)V%=?pPPT5@sDme@H^mS zpu%($Un@JL>91KyDgipbF%u2-0Krp0&$yMR3Fy-~<-vH3w}>s+muCU%BNmj$1>GpU8-BX}IR+_q(9p+Uj+S#QH0=#^_5a3pTUeTnj33#P@mV`86t%9P?1X zsd#a9ny*mEp_QV5-(6m1r>FoKH07BoB_aY1v~Adz@h_-yIwexOpQufI-uneB&fDZY z-DNlQmdIq|v086>owc53f&17CK)l6-0-LA&*j`VdMqI7l`JsA31PVb|sm)B3lcuLL ziD{*N(l0-#ok)1+Xds`AW_O;lwih1u2$0Papez7Y&}hghv6q*~B9Q$|zI0tleE&}N z)+id`D0MO{E4<$67X2t%#AjtgS}$_~CbfmaOagv#mwTAm0{__I9K5IhmOX{0mS{W= z;8+ExiDt1>!qPeB!ooy9;@+1jH2WNns%vFme1<*jnG;uA_&#WvWq1P1>ZwnX#xK`H z$IJ0H+k6I2d4Gfy@!bOmwsPFU@$s$P2(l6rFm$2FkgKm=09FH_I^Ew9*az|vHty*! zTt{Di`E0PF@9tc8yr1KZZfK>_JT3G&t#+otMdN*&Y92Co8u~L2fPROpDKTvpXmv}b z>Yslvy7fu|DcI#VxY(2KEAO`N-<333??9#kiofqrr=%3=30Zq);N&vpTIzPD&Vj1b zyrPUq1+vJ*E{JG2T$&ZW?mDgy&5z#*C|EqP+&2;%Vo3aTzA>PsBn7>ztlvUuBOB*y z&&i9#JAqi;lOwSEbEdRUM{%K8q0;T~{-KkHS-r-riZA&Uy9zp{4FZQ*i~7D&e38^r zGi}JqayUo_xe5}RVCN-`SXn9`LTqvz<`;mzOZOYXkD}USKKZu^I+9J<-@3PP>$?aA z_(kX%1C%mq+dGq1R^Yj8RO?uUV*JR_+g&OIqL`oEp8AmA9^ti)p5^o00aSb{pPij* zIFe}IM3-mKo`4cHi)i77tjJWbjlR&Zex*K~|K%U0>;At_dLvGOey@k`AsqTcKJWm&sP)OY7fU zhy!W_&sNHHjGRL*Yaa^D+ENIzhgPIx-A6zwWQ2jqO)@i|^;YT}H=!Qa_wD}I4@GFf zSk+bN+UViu{M+b!4)>HxNo|(hbCm|f;EUwC*$J^r2?9SIcCXE?dXHW!lr9|As;zTO zeEPs^RD56Nd~B{Dqm!auF@GqP^_&#W9B~oYHJgDEEN)ZJfQ##I_9s>|(b@u}TVNG_A^%a^u??>- z2Rh>e5?U?*lEeG$>3-(Uk|_{yvVX+oC6$!s^16szhFvf7;f?>o;?VA@@`^I(BD9R4 zd)!Ca^{1NRUVE7i@?tgZduG=MqV&yAJH?=s7T_5fr>(AVwh0b;!D}60`U|NQN9hRx z99**;$I015?A0Ta-Q}xcW5H^GY$SKo@fSQEQE963Vl%r8 zime=(t#PBt;1(y#D-wT{?#`luMDn-Lon2uV(}UAptivxXS?x+N+R1l3$1>7xL{E%? zx1g1-Di);4=`0VR7^Z-pD9Ss96rDfnLtDokBANj!4Pa+udB<6b@HgKa>VKrN>)0rv z%l{C@XNs!5Ul5yGQQ1(pNSv(&61LRFI{joRpke=?JZd;vdq*GA!47T6u&ylok zh&aT+)&UWCSdtOae@DzZA{2xx^jlVmVrtPOmT@Z^_7o58cKQTYC_c{-MWFJ|d*1~y z77VYE-%5w;YlQbYfjO`%jU&)*VIeUdzr-$IKxeBCs_;5q`bol_;`AIxg@j{T57tUT z&aavisXE*tZ6T>q2T zu1>UpCv&NIP~}h%xIi(B%j#n~a0qU~l9|l-a?T@N)7P&sD@5wn{0{@2e<>8*mm!%l zsbgSmG>v$#wRHI76hHiDc3kEAXJXF-vRR0Cj@K{REqo1edUmuBG0E)v(a)v8#&X-7 zP8Z)Yo@Mte21t_rL!JC;kUqUO7jV=1)sGwKDZV8uU+TNWm>Vv&3z9mEA}3MitFqJn zt_&Musp219Y5*ODytdmuucCa)T2#Pudio6Vg5J+i<*m`ft&4ZX@_Lp>7BBnl4l+Iq zsr-Vv98xqc*Y!8y96la8>lB|B?mvFBx?Qn3*{_i{eo}O_6mru*{im+B=O1BT& z;a_KwR>l;}k94-1m>bZqMoydVvFThjBY!N6-i8EBYaI%ZY47H?osYdmuGM{O8KuFhth%)#N0j^pVfJS{iEirLH+iOO|7CGRsEdxCm>*Rybn?enugl z?&FG9ute!D0F!$b+BS!u@4U7_pLYlMLm|sq(7gsr$2gU&BnZl=eiGhs_*C@$75~|(;C?Qt=KS00kgiFgzDVi` z*^#C-6fuNOx`tFe3zY*tj{Y3=O7E&3=`3C(R}z(BMBm;c*+i=xmjhu|HS6FoLB;QzO!UFQ-3dsrSd~ScH*WA%Fg(BQb^*eD+`g$^x$yh=HEVGUKKbkb zbz-VS(nwyw{ zQBvzTmr;kfVE%N$Pl^2K;`9V`xU_T|A>kJRo*utk-ETqCc5}=5#R&2Ina%ev*_k#n z`g4Mecg%zeiN5}uG)%Xx6qqxH+uB=+=xV<=?gzSFYb_aq+!`De=uTC!z3nZqwj{ZK zk_8l^&xAsZyJQApjkSk$nsoV{*^L5}Ro7eq+Mg}cW%_`duCu?oalgAudC6VfdJn^w zS_yC5M{aJB%yZ3F1_gQnyACS7f1f?<-aD!pJvsK8rnGck1iu2f^6O>sxcA2@r_m}Z z-|PC6t>#Z><4Kog}kfJLx4hJQ7ha=sY?VsG!i5=j`8K7Smu=sXb;in!Q8y2%sn{ zv$y>nJ7^niXj@HAQG%ITh2n_;#VtCvw8ZAUmR2`qJk}73WGl>P zewJ>=L2cvYG&>1>4bUZ#mjn$5Hbe3j9}W9nB%8?sL}~mEEuf_CPi_fW7%Hq&_0w zY$@#C%M(V!DY5@9&M>m}iP~ek?+E+HKG>SSxt_&NmHhcc^7(11yLXVGYZ#56um7}8 zGe9yjIAF=lyl_q(rH=mVMG^sDtyh8`;6WK*>di>PTyeh29pTbbE;7lTeWCc;RqZ{R z{!Y#PrFQ%(9FF6SIm7GIIyK6m2leiJlAPkWJ#hHd*~Dp1A@^KeJRMTCx_wMHmxp#u|E$$1q3)(m*{jA|BOulb- zX8#S%@Olh~B>z%<9TpxRWiV`D>e1*g-(Ebjo7GqxR|A1APZwhzH_IflV+5XG$w^}rMBu=kFX z)L#+BMlKP;;_2R~a#aSGLCpg>@XFLB{Ku6Klkc`oSSHq@RDSu*0Wh^b0QQgOYd-5D zEA#uA!q~WYfU0zciTy^VShkM#Ts6{Z2}y7iRaueqSB_;0f~-+6_>N z+E+~$2kd57I~3md3(&pALAdD+YTTymRc$BhOz7TZHRca$`d1?kISU;o>Vzt+nugk z^2K75(UtGq1js&?(kJ;M(xeVBPOT#10@RW;ZoCtVDGF0#4WAPY|2d;!b?T-lC1My- zlGcQ^P92iB%}+rPYp(|Mrdy|Z7&XmzOD>lU@rhQ^_4pXUy14PeD{9fsmrN&1!f)pJ zm(HAgZMwT=q`>X6eVwjRc-r{zbTnyc_NwnvJ@}jq)zIXJo6YB~;DcFoFOS%1czp5$ z)OV~jg|{_mbj{dlxTG*W*F5H8{BDw4t@z=*WFpz*$>*eO-z;j)({Gq`kq?i?P!FOo zht>OHE55Pp1qnEzoWd^xshyoiQugb#@Di!4C48miJ?6Jp89^~j<++*Tc?hAXgev@k z@ik%5s865$9%)D^BZ3>%s?_GT84I^HpYUdxyhq&{(7Ug|} zyt>9x4$ky5)C8U;wikOOhwu2uZX0EY8JhSUkAD^y(?2zg#kMpE^~(*dj*$!tcr7ZobWNL&_{!y_yX=Oqc)(D-#(bf9s?r<+*#{f_#B!If3BFMQ6XJ_GmC%2peOK95l86>|*DG{$OCp0TVD zl_~=DWkrTEDsF81)6kD!B$A45im1silHxAI>dVW?PPANXNLg-FSEg*S-yKE6)-jEu zP)abOjl_oQ(P5FYwnDVxYoW&>IIm9n^QX8&8o$+wZf#rx9FA6foU=A!d3CLr~poP zmLazHo(%n$l}OV|Sdg=g#eRlWxL>2HY`z=E%6X>JSGy0HZ3f1k$>e%!bJQmIi~Pbh zmI^F=^VLqD92eQihHoNiW*)qf^d?3e=Ay5s=*vYN9a-fr8fop>ju?K;OOt{8iTcwj z`A2SyTOL|R44UY2B~wF=G?m)1J$WNoh|EL@Hm3p`4rmpIfV3LhBnXk8?fn)lM4@Bt z0zaCoXwDyM-D4h;Y*UnJI_dDm8iD)i?*Oc0Lz$i1y{!_DwZ38@JO>5ygU!x;u{AQl zpa`v~D#`t$LoPdgzmXE`6(ck^fJwi>_Q{P%6eBJFXkqBC|qx69uQY`CoDwc;=IQG2fr(iPih+Ut)lZn?8@_n z^i^ZP5^7jYyx(vq=y5NOR?9O%-R@9>^)*Ka6l_s|{Ax`B_5vSC^nT~ju@>Rblb$|H zew?c61wGD4Ql?^7t(GVs@^y;@`|2`uktrL|HvgwlWe;DT+)#87&6yG;)G7&%qaor#sf|!2;B29bNTj zD-X(=FVHCz$dKfgpUIv5%!@u#@ag5G!oRt#r%ydA6o;Yx8(q^QV~5YKw-kC0V~*KJ zG8ks%K7-CW_zG-qV;vGS8^*xT&Wb@0>$Y6JY;nVLQ@wtc^|IqqGf|7ff(!diJVWx_ z9Wd;g*Fe08VAW_kn;^wQC=+o1J5~6EdL1u8+42)+*X-kKlr!L(%|A?AFyVvz*xv?{}*>vjt+vA+q3s_x$$e`F%LE z1Hz}k9Q=%L)NCF56zKnLCf~ZNZ_r10c$NcW-uaO5oW4GjshG3rsPQ-|C<2R`lVB1} zrCPN9QNqd4;xG>vm%xl+Qgn@kH)Jt&bm@rM+}DDAo7x8cc3H_BTym;S{w=fWkj#b^ znJ#)9J{}*LF$dgcd$Q{X%t|d}hj|%FEXW{NFQUr8UHB z9UsZE&!AI;Zg2w+B{K=USk>?{VD?9@t`k!Ga@z@J*oL+egNE3 zo$F1_8lXfrdg!r8zn`wGX(DIj*dtH9xGIB!ihs)ole-W9EpBqK&79++58nBRDy^*w zCKQ;lvwmFtx0l@SYdB^57@vRb(VzpR!%a`AB5Oa;BNBAwjydF*4C;P3;q*458>cX8 zfq1-$>Aa=zJK)v+I%BE0!u)5l!U5B`g!nLXg{yiLnD|C|;i^_UBRKnkE3Tq;Ah_`% z27(;H0GzL17;?3FZ*jCa%wkHsKUJ&Y=*{o?i!D3?5Bn=OB*J^+1&7@K@bT2HI@uo% z%_hFEiu|*T^Dg}3va}+$&m!Y!+*jCn$&%~gEaUQO`vu{u83Z+`^AJZ5%Hc)K;qLB^ zMNQwjol3B%khJvFwSlnQ2U29q(U~_TTYY#j=Yig%dC(R~Ny}>W4#OTH|FJT1Y{W=} zw{QD-R?dEFA>b{3d0qL%uy6eSgR-%9VKcB#;`H5X>_`z0OKX02aS19&P$LSqqAS~< zxS%<+y;2<6o1GGOAu+c2-X)xEV^SlVJ<03akxjtHp4K{*Zus1y*@Y2UrMe{^zL)Cv z?}ObfMn0$7PH(ZbKI*zd2nQ%bgreoZ69p+JnR){YnGy_<@h&`FfG8dg7!+C4bFSrcu{?-TbZylA_vjU{ICsH{9LyY5VH zrH|mARvxYE6BJ1GlZ^KN^uZ6?V`ZTmShr}BI&WoLOt`Ukvcuct*Ec-t6#!AlR6s{? zJfApA7+4GP=vi~lyLbd2Y5n^}0p{!t-e!%)?+tNX zoE!eqSsLe4?8wmBlxgMLDmD1j#>Y4AThP-#O4m5tg-a#o_I^B8>mQB2!YOUHkV zgnUrmx>w)y+l!7zdkiOf2{Pp*kKBH;H#$(K?!9nAbgEF^A{_nASrK=gsn!90dmwu! zub1-ZlLm9X*yDEW`CDSzO78?R+PKF{36HZ_eBJS+6@TRUMK{mquO>WpOHoA{c{hf# z*304n15gHH#)gA>)MiRLet5`0^4?>g@$LB$8{gHRQACB<4rS~z{>|873<2N3E<5{q^*d|@f)27ps7{{ zxTbm6OB1K&;)B_&25 z=xX0!6rWPa(2PdVIwYk?Yh*e8tJ3(jj}pV(Cnjsa0pxVI(gIiPtAFvT{k&1{#+5p@ zS&s?Z_gpiAvdu5f=^q8X<+Om2YV+HS&>$N<8TVIMWsu2NEx#X)YHJyc7LVgQfH|cN zW(!)}r4oKv{1#pLVh&CXPY&%d%)bbuxd>l}c7InmC=*Ju`o7wo`2|*|Y@g@(?E;hJ3i41gjg5fQfz;a#9<#pEW9p^nN4XD zPZPtUmn0E^A(Hz>7tZ%oN6n*S0{O4Dh{R^+_k43(mIj1bEd73;P<`JyIh?ODF*H-9 zx29tEA5|);cqDX{Sdw@9*VSYe0cYw^NAH*PDihgO+lHTs9ZGny8YIj zj&UXk$p4bz?yAJdBKA44IA~>tQ~cX1RH~l}Cv!A57~i2>?4haEDbf;)hK4KQk_W2A zHYW5-!usD_{w%e)%nP)R$Yx9QSYDOq4TSs|7e-P>*-pZBf^F zobY2NI-1WABICnsuzYb8$k+!H>tLNtIs^>#;TyQw7$8Y?t37W5fv{O7P&>C?C~B4H zFSAOyh7w)(BASlwVfjriP_V(!X1PO>#(QL1hu(jE)C2S9B1Acq0L512joQ2yr9^~k z4;bki{iL1E7Kv=RzuLrU+OKjzA51r;xYMb#1!egTSF@~AJ}eMWESAcz(Qy3Spj}o; z9n1bgbus(Se`!IX6Tg7C#xOv9Nq5^N_v4mSN!;D_F~@vkS;Ro=LhlX2OG`!N^m;(; z1Qf3)c3Cr<60!K37(Vt`H^4!E^CkOXSJ#20v*_(66jATRl5%ZQ8WfiZb)pn0nz^}{E7I_hqUa>}$`=?}mhz?aj8?xu5d-gBg zu-B%&Z+DfuYl7xtFHt6YTMT4%;q|Wv;!V6ARsFHq{iM!Td2DR35uYu|K|{#MpBhbx z4PfR?J%K*599GxnSLDxN{r)?XIw0E&)~z5zHa{rbFy(2x>Rw^uw+g5t(w+ zA$SpgrS`5R>HDYf;_xS4tk?qxK?yMr>rhA_sy87ZOiS6+eg9faX}n-x93yc&#y)(w z*gsaH#7zq$PTwf*)6&I7Hd3-uOh7XHR|_(Iwq*RzwQ(h|MZOXEu=Q95S=a1c4>AU7fR*Y9@WiIn22%Fm} z>%@DTJ5z%-xrVixB~{o)=i$sRvZfKAdRJI18k`1;#qc%`jcI}@F0VkuAcxV_j;Dhq9OfwBn1+jt5PDLU+-Mpfh5?o#79Cc}M=f(LWL!@R3 zQb3i4_#*$1VU|>KBG~6c-Vg1 zVao$Qz?X07_l4K${KG2b=c^3O4hbghoFWlN3w)av6!PNy+fVc?I|w%Z=uKSmn{%2~ zTDAez>>%-X19zc|nv>#cshL>V!VQF<54XddHglyK@me<2Tx>Xz49DLjlXu_rJ1`y| zSSNK&YvywK@J-+#ovu+v}`xZ50nvK+$i{8K|Z}|9#w;M9@}gdLn8J3 zHkvMA-|(#7oy*hhY`8fXQIy*_Bm8xQq1QiGElohs|r!JbkRk$ev%%diwcgfAxT4*+{YXipk`@|NV8Ghy-j43i9xQYQZ}L zRN5|bx#?Z>9f)1#*){0n;su~LG5K!ZFAdWS5q^5N9);Uwo(z@Gca0@)^0R+>Rwq<# zaDj$4(^IP{+p-9pjVaQp{8#lsa`ZbA;uCWViR)n+v<4RkjlzvcZTih4c#4eIHh0za zyx4(=wz{E7C&OXl{K(@h%!ft4y$_XR!5MqsS|xHtNU~Xd#ex+Vv7T$VZ6ijS;&%cb zBd(x zxYLIkZnPUxm2`F^wn#uOt}OO38rW;3?o}`*hTY3fwcW_;6_#$rqg>2DS5(Bf;sw1A zaD8CMuQeM5{StM@8`Oxqm5XQ3zWM#<_RMl3JF5JNFw`yE+;!6BmbF-52M^(5w+*ePd%79Dpu@lv91RLdgZnP`_ zG3SX&FtHwHG^`rl+6vbs@Uy0iHQN%`3=z2+U$&<`6HE0rv6y<9aXRgJx;m6pU8vWg z%L=t{-w|m`7sMmE4kr!s^c{QABSY`H?}Gjs;%@FNR-4NQb^`Jej}(+}&>h;)>)3ou zi9nr`(CK`tuj+b#Zpv7LDOTIS;A&NtA98pIA0$2ug(6~ri?54sX}vul@Qz1M{BXhv zl|~xAE<90OKS`eLVc>Dz(Mzqy`!#0;6m9G@X$tcE4HxLANjsdPZsow7mt|Ty~_v z_W3rfv}2**YccWXwIf^~mO`xZhRZYIJ&B3jT3hsc;@%0LAf-fyq2#BOt=rbw|M?CG;!s0oqW!^tau`XOfh51_rPzy5O8n<45^~1OwpEe z)@3E!>DS(QhXbvrOO5wyQX2dGfYUmYx|U1mKZze%Ha0nb3{$k6**&t22B|`j?teCn zZy(Rt6Pt@!8><7%VKYD@ws|_B>R0r+khs{bDcsU7ds2y=Y!<_@WQ(b^j{*h+BFzWzRTLY$yd zjy2=Ki+Qu%pV4n8T%cxL-7MZ*CDny`*PJte2{vf8bo@+4l8{G@-IDFVFjkG@t>J%76*o8CI)=TUibcgQwlTUTDPmtWFxfuXn%Em} z{eW8#Ck@(ODgj#vIDs|(>-Tq-w1F6L+pQ>mxrtXv#kqgL^lgKPhGs?%kF~^3dl5C6 zVNaT=tJN|P%8pjXTNik>YD5I}1B6_Pm$mlQxbv7_uzCbLxp4v?YxHU|OuVV-l;A4? zA@EsjyWm>wPlZI-;|I&#)f^cIpKvx`OsBSCt&g>e$5zS)%JpX3?AydOSRtVTn0H{K zmjk(2aop91c6-f&o(ib%=!`MKH>f4F0oOobx&8LU>NuvVehtT^)e*Of>D2SUV!x9- zynt7EkN>I?1GrpacR7hGA|g2fZ*$)$XU*nB%pL(y30a;K*Zy6i2MjR=eIgA9W&(;t zjkh-2nb`*=5LpRfZ7+9zNxnb1uQOX5wgknVEX|(gRc`kUeW(hemJs*z;4$ZWjeZ6x z@W8ue3K93-NB_L}VQG=*lzkBMRRIy+-3-Nht29E)+` zJm3iVjfD7-x$9@3b_GuLFev`+l@Tf%QMgyx;HmUjt;tF&OVi+Hwk_&iEo0kmE2C&j zR-U`@Z9L+%>dxbv#)-pbV(Zt7i|H4)onHe+H^)+L>wHtKB9)jYzCcUaf~gc_}J-D*Xjw<)?n~0w|SDJT8Gs0hLKmw9kdS`K`vRPu;Y;T zg6|TBpSpPQkib#FKFF7UM5+^>o)vWOc#2A?kIyBrZuB$oNaa+j&b7h-|N1$JC6nbJ zHUxhXRpINy9^cc8Os`LBZ}6DN<7Jb*R&QfHaju{^IrWY)tc$e2=QH~^VX{?O<}r?H z1|ptYT0Voj>1zkcyuE!?qcfHmkLsLB#muuP%=JsKtM5%i(=`(9y zEf-+bWZUjlD&^7kbF@^xCXm+h91s;k915$~x|M%y%P%dr*oPo}N-Ka7q=p z*!@BA(pvPcR&lqYHv4$M4X4||3GA|+Uo{OlrC;0wirmE=iW;k@PeM%XmZ;|+fl3)6 z(g^tPky_O)4SJ%%>%Tcg2IX$LOjthOVvmv(3z~w2h_TGiZfGgf7HfhKQ&VD7x0|?aoR>qtJ3eQ-f^tQj70h<;;I!O?=70@ z@AkH@Pn#99E zWQ`)KRmPBbA}_|zO3S?C@b+#uJ2hTb1$XObs!gMl1npf2>gbUcy3tWxc(ZvGw>Q44 zb)!F(GT-W(!Gkq)Lyu;Gt;@3>tog+B#&`w>fK#u%f^%xG-?p)mbV}SEUBhM(AQbot zhNYKKo-^Cru)fB`jc}lLv29c-|AV?c8Qw)6gsCMhYMOt)H@I(%jXni=A_7f(*GBgC z2S|-9=yM3_q#L9BWAD0Nd|jQ97y~vPtIglCc1BuIWi;Rw?xlL+{zixJQ^(=^8BuyFc^t${e;{3ts#ZJ6WzCoeVtG87l#t+JG{^KbHajU3?dMW@3agR z@*n*igyI|nM_!zqse~IE-*yMtdBm(biWazyX;xle_46OfU!ua2b8E2bL9gy-r4ts2 z;^4KdS8K^Gwk!*GHv6DQ6g|ee7KM71wng4oZ5g3^1$=qwrYY}HMI|fesYOxZw_jMX z-^p~)KSA(P&~D7ons7PstSBtI?YDK+?@iL+L|12BzaA%jD)@epyVQkxG$z-W6Zoh5 zlbhui7t4NzLB>>Ed%Dk)?9y+qoJ7-TAC?bGXn6RwZ3NcTxCxSlK8j!mZ67)5Jfo4O zY^r9OC}SL4`PUD>M!hOkXYMtTKwxphhs#6&n098M<|zN*Esf1==s}HV4fN=1zBR-} z{XYO$K&QVFiNAG?Cm7p4bKi2y4jD+xW6K%~v$ruosbjvO^-F8yAAL1X7&{&j_|cJ< zd@2jd&B~fK%*izH?|5^w{)i9lp+5eJi}tNT%7+ag9ifbq^p=G6l||Ukp?TW-folP^ z{c;OoElCVWfS_X^d8yuhgH6g?aU>00G>d%Xe;SMnSKa%bl+MWCwR~}cN=No*%ib8U z^7Calg*qZ-Nk3jP1s4O0a`qCYX=Aq@#}0^5wFBfeKlo~0VF7^V*oiBH%$?wSa40i_ zK;!{z3zpl)U;Vs`itAR zEV%61>e*?D+vdk2g8HQ=oX=U)*TAKI#9dn{4|&hgT^5#t($X#goyChpyaaZn4|0{R z;rSq%pdx+YTR3MqS;k`!xu=8AmeX`J^9;tlydP$CmXkKm0iqo?xbjSpu^J#7Cv{Lo z1Qgsl@a69UM&ZEe^kz^3&X-~-`*6mmLY&FN$A{0ti0@zB23fpNF8&!vH6>@lbQp}z zj%G+XX;&s*_j&0QU9?;v@o1>T%F;T0xm1^ex|81%vf+K@MMn7mXLTnx<{MT-Ov7eY z3^r)x3WPv||MRaFw79W!y<8O@v}l8&HS{Wn@gWOLE3FD+hJf5$3_~HOJ+x4^BomKA38z)n-vG?mQZ0%yTxT3rkL3=aAa?vj6 z+Mn%GuG;W?!~v0@si@cBrZD|aj$YBTJ9f5Vc!9@hYtZ1s?>#(dy)_ul=j0~u#lDg; zf_9WPblc8ZoS+wV?WNqtt^mdM!Iyaa^3}Bm0%IfU48}r?SSDE1=iWcg7E)hDLD{o1t>Hd> z>VOC61%h(vOfWWl(bzV)Tc1%lQ2vC|$mP;rIvN5xuz}EVo-ts-1(lP5u^;*Qe2FK0MSc4 ztlf6E18WLk4Sadb&Gskr&V_3LSDism0}p?@?%F28JL@#0<7nx$e^&;hV<&i%zm&1s zVF|PxOxzQ2cF?SPaRMZ9g4D&{Tm=A%Ok+c-4d3?&Ic+4JuyXJqFV=Bz@^WC4C+B@} z=s155JQ$SEHuKtL6@CwUS@N|n81*^R2P;Bpx*9bO&H>^t_9vY3t-;5lo4iy%e!{j2 zJ%o#Mq+hvm$%h+Y!!@P@?u^g&*!$g7kah_SJ++p zcHr&cYrZGlXM#5EJPQ@+**>23)L-EAZ9`Cfe|gMSy(>pwjK_n4q%;wX36Ff*jESL< zQs^uAJ^jbQFgimO4iauT%ZJz;=w^~LgP}aepDzA$3e|TM*_O;{PaZe<9;~+T@XpCo zPLST-x+Ur4PrIXyK;d5>dpHRg{zhK;@V?>0M;`?9QLwd!fAWO#-Bp8i6e%`G8|sU! z^Xe+r2}*n{1Dk#U>i##lb0^%apw$!oEq>k@YT-rur0rN0-(kBSu2xx9@(g?owhU_= zOIGS>Ki736O8 zFl}VodX24Hx{Zr3Fi@42I-iyMlzQ*AZzJ0N;Ynqz@R^p`(VMavh|z9r$A|S!W~REG zVDRkxPo?==+?F@&u;JgO(+WGBS;~c4mp;OZxm@T7K1?ZNQULnTa6v;Lu0tj}H?Z%k zy>uSx#W(}}(!KBwvf0kl#`6p<=vB!e)%)=3K_@iYok5-JgghlFIYVWu{)eW0TlwaS zTq`}Ra2aD;`H9= zTC(!wPtc_;C^puYc<}CKtsXr9qAtZ{+-qoxWy0VGE|ZgJj{+t^I3{)7wzm!a5Q**m z?n;IM@|EX$PW%9aJ`D;F(N1)1e>HzDaaP4rcIPFwr+BoFD_93YY5H4*Z`g^n4aUmR zuhuwWFwBeVk(Nb&>5+aCu-zoS)!$me=$@2*#ql zN6~pMirzC#Zo`PgvF)=k-glt$nL<$6sLsgNcBO;in*-76j0#vhria1l@HXHGE|8^X z$YYRotHRjfM}gCLW_x;3T-h3huMXbD|H_`XFECqoI@u^eLpL}}7-v3?!98o|77f~o zb;W1cWpDs?S#DVxiH7R3ybbHhT3z{hCr>(kc*wxkLJsBb?qYSU_NRksEoOe<{gqV=6@k@h@6J;W+~h!N??^ z4usYiommcky&c!+cBmjRxb~I5ZKS;LfZpDH-VKNOwy92bZ6iJ~+n@IW^?=Yp=i;r? zYhLqrotf7OnE5xEEJ)LVRXlEc&IB!D(#FG(OwkU@p&f08km@nIk+4BsVgqq-wxa+9 zSCsbdJA8@@%6w09O@d)1dKAWVd3JYd($ImHgIU^86GIl%p4ip*=#6q{M(fgDlYMcF zjPg28IqjGM9zDcnq~+w<&-9Ix_7IOcldgG&>QFu2_~Jf0W*um3V;PwV`V2mn`OGdm zZ3?H=!LK}tGlx;4>|kGY*&b)LIPD`!^}k}ktZVQKO4+K{JUm63HWWZP@Z&tQodYmD zv&7ek$LFXIJm<76a}djk)!HGU(%=>j+q}Q`lY!_HSzkE8sqCu3AKi9EsxHm*Do^qy zo%99Ok#@(vz(hgH0*gHJ88~GbAL}8`M^>sc7y^qas^@DC93^-_QopnCOedpEL(tdA zEg;!`_uj{4@TQx!72PV$GgXH~nXqwWJ_vPg6+|ptVHB7=-1h{Ib>g)l=(|iP3CziN zX0|)3DrFR*f)rulG#O=6xxog6rbc0Vpk7Ms5b%Wvz7*_$lxK?J+d+*y;B5$6DGo!Y zkvep)U|4*)rDFb2gdeawlhwEles3}-MCla5`7B5o95Cg}uT?kz`t=JN$je!IWyUme zT>2Ix{QjMmLr%BguhTN~e10-PebTbaInwGfbF4OPMF$5R zzxmWmHGg|kov3d^>Ey=yl_*VNeU{hux!+cXX?-ee*2fOJPD4Dl)4ELO9^}|XLuiG! zGskCRFsxu$Aph)?guv3bzH%7BHh;#3eNDu#45iez4vnFi?geK{%*gEOfg^k1cEyHW zbJ)UgPkvWv>cdMK2KAs04m~+2QLSXP>r4>I5cZZ|MTyR~I>MXBAE4oPrPD#P@*y7> zUw4S!0o57JZ~IN3?@a%h!x!4MGD|yrpclG}K8>92jHovpmBi7bVcKI3XhduB9JbJ0 z1~F?`V&7H%RSy*B`;627M^9oMI$dqw@qU_RT18;s(iK}?*FmOR59}33cRuXYq=i}@YMsg^aiXizWW-+ z-J0mzZ{%Za1|s2Eaj-wGo7e>O)eHRRl^1;x&ojdza@;?7vKv_Ba6p97tAG5)>kAwL z@*P0CrVE_BZpDrLSjCaQXfzp*}@-*U;2lK3d@U+S%e`GR^7zE`JuW33=T8H{%yfjL+U|yiLk8@-6}fuPL+d}`I&G9!}&*CM}SW`mX?Qf z3^t>5y!%4O&f7lNhj4mBod;Y8;6m?H9XlwOvnA>?H{0363c~Az#x}GIXpvX_OJ80Z zs;}rMb*IdGZSZaNU;A)y!51y5!e|0*WAbM^(z@nJ*Y-9>?-JW+dTY5|{RziDb{(j| z&nL_nq;a4(_YMyRVr+3}LWlZ!XLPln__JF8r2QX_ho%<7+Cc;f@?$t-215p&@M*;a zZQ0iFfRASiMi+iKy?PAU@#67sPO9eln6F#RJ8q(SLq}p2$Ik}CIk4jdn88j>WkBPc z1ZOa`_g4o){KXvV@mZyVj_)J>$d_2IIlwZw%e!J%9(1qo#RhFZS3&MXIT+t$l;&Uz zllMGFWm5I%jLZI>37#wWd8X)Bit59o9{vQMwt!D_Mf-{$eSUU;cG~K5LSJR$nJ=Gf zQ)l&OtzVnGi=L4izRa^t?Fp$v8{cI+*26ioHEIl#(Xl%5+oEoB>z7?c8fS%V^V@#N zZm`)i8CyQndv$rwVlLa{fuaRs3+j)tMq)DJu^3h&ab$<20#!`7+uAB_!dHJy1e78F@&_OebV+LZ3InY?lO2B*14A_S8 zdv(|RngiVNdwKtn88tWX;{ZnIN01L1$%o?E%0$4S50Bu`zf;Qd*Pq3 zV9URk_dk%u?KrlFXdGv6I^cU|N?irc_aNs3x8{l8%h}BL=ijd$;eVVHJX8PUiRPx! z4FB{es?c>_xaBiLetO6UWeDCkj6A%j_VmY+?Hm-&frz%EoecdE;yKkg zcy!9II2)hC*k;an({)i|PM2oTfzLG{cD5XASb2AR2zi_;PsmWpAn6xVY|dL&3}mB6>DD1YGh7V$5U#)^n{OegTaq@%R{yZXO1e6zo750 zUmlUeov<|q*bW>3dqGF9zF<##dGIGa3mxV#5Wk1$-0dEF?jR>#A8*_s_wx<@6`ee? zddYXL;Tg2_`RUVte*a(Vd#Qd>&UWLm7lVdNga_JPf2mE+#|p+Kv{r3efAvZ`#CCyC zOy7x}X=?c8KY0)L4PW9ry4s6dzuJNe9)>SFGA#o0nu#`@%EV(3qf8Cl%F`()Pq@#Q zhH9R0g$30SFyW+2L(;;1ETehHA~Z}LroovMD#6&$7|QqaKKU_Eok*I27*H=mo>>uR z_5)s*|8^YX@J55&-O-THa8PWAu&(KM9I!7pM=rQeEdOiBtfU76HGr<+TjUGD2yX7WaNX1ED3CA?>dC z7^y~>dZD7Tfg^Nju>Eh@rkH~y(2uj%25~F`5~LS=rnyYp?&G+G8J>jGcF`dJM)&6J z{911P$PeV`Cs=dWKesqAb<+CASh`w+Hr-$6qiPA^XY~W3w5Ol1!hgaruyjbjjs&s{ ziuOU<{*Wnr53S*!Gix;F7~<@b@iMBKHv~`hqsQQ zdEzzrH~wJh*bK`G7Z~LdZf+vyd?iNzaQco2uW-@$*;mhN<%=m0XaVuBrnw~~=W;-29I2%=?GFbldJWe+=I&?RkW#H9U zRuLGByn3&mG=dl%>FVqYlIV`ljp=}{*@f`aUw1QIiw;;8WcDo$J0^l% zup`Cl%mVvGV1<`2f>lhX=88@C{?*Bs6RsuesppYhJ*LfR69;B_eP=ajr}FTQ!??i- zO6}h^uD!Um{=%TC%sKLn&H3!m6MX96HqR`F*X$}FM0rNh(a%0OATbC8-=;(kJTlWwoj7H-j(4#ix0wsG3Qzv;Dg zcmC&BRUBNPMSIO>#O5H4aBu5NG;*Th+CX`dIrIIL^<$}>54OCG3qhkoqMmaOK;YT3Tgl~yJ?$ckwN#|^JcXy4vj$wx=( z_&&B9vkaU#{Iv*umaq;!m=<$1OWQyMGl|bs4??;G^OCLkCcgD}Lz$vmj4Xk*`%V0)B4_(TcY30*R3~n7n2!nr+6W^`u)wZ zDvsg~0D0Rw2<>C&41Dl1_$+()!phohaX*b^J9#+7$pw#^i0J_SUYd5X^lj{_#>tQu z%_(*+Wv=c=PnKi=GeMBHp}2BmeFs9yqBjs`WxZ64+W-JQQdM5CUk2{^=XQ>hvB4|8 z$cHy^_UUQ}u40o;$KX2Uw;)r0&W_8=9-E$f@SqRKA*=PR2N88aBARwfFS;4qZo73b zepp{dF<&?bo$A3@m(u(4uO77ZxgWb4n;Lo2PsIg{le~e0EfS+nQ^V_NOVbC6CzXU+ z_Thc%gU*4;bY#RyyS1D{99etw;(Ua#QJ z>IgsQHlWXI#gUJ8fR;U?3<^$~)StT2?wruLN^y(Zd@uX%XZbvkVx35Yod-Gkm7m~p z;w)Zh>Zq?-1&V9L#}~OOgbU#VgiU3Fsd@sYKLrIk$)^R?7xe=!U14lX?MSVX;fF>b z6#DrIHDq!3YPQ&C0+Cl47<`zoh&N**n|05RKy2SgHO0UG9Z6p z3)Y1K-}AF(wr}&eD|lw*EuAbNm>{?s4P6I8`G-dO68x(-Rj5CwDSjG8hf$DRryuDf zt;>9yK)ZV?(q9(N%n1b;!~PP`SU?GSVVJC}(wI{K2Q}1G%Z$VtGCoYwy_O=pN0QvT z;>x|%$d91VmqAnj7!O7m@U-J`z(j*0_}YRihBz@quH2O;K--@=q`IPb+jgR%ZfG0USn2Bv@G3m6VIaY77;;XRF~!((qGH~Zw5eq2tYpU zOO;DF@0H1w^;n&{0GG;va{O1)LSF{!^?LXBG#Ln0ieF2K<3vVVHY@+NVMx3e+Tk_wgD3qP+R-n#<~>&MVQ29X(xOfK zN*dM&L8L-H4`OLY)>T*fWIU7%5!8PY-jHN};mGI-|qDE;&Na=Yq`U-Ex)pZ|msvtRknA z_*}{|;qUpNZ-X5uTck9g1LAzJc=!oV@X;Vo=6!$u1O7(tIjJ-T;nH83g!9Ci{Ze|; zwVwOmmg$aXVlp^fA)BXKg!iGlVd$yzGi|<(&6%wan{&8_*!nD=Lgxj2QsZcA>pL44 zpPj}TVpgGn8hfy9q(63JrvM%NPREw#aTfCT*KHE%tsreWVuEcJ`PKP62XP#I$mf@) z(`De5SlpYupa;pVOP)t(I04GCb%?rDQ*7&qtzf=7Rgg)0?^PVec@~4P)}L=6PTkPL zu5==4JGBtqE_oy>zBm(bYOl5{o!QV2NV~n}wz)^o9Y&)=^qz4M!9-(_uSrZae<_C@ zODxa8#f=Wz9Sr&ED;AaQz(XBnkiW=FI+mbQ#HmF}aUyqQ6}CKtV);;i_GO(LloveG z0;TOPJBF|BQn;EeuIXp1?}NXCRk3SU2I12Np3oquOAox+KGA`EyNVKrup>ZpqAt|` zO!Bm8;E>0E*6+Y$YZ;8SYA?WoKlyBV=5!_m{o>U)Tx^5Y*)4}VJakb<9Up`*8=D!P zDzmtvbK=+zf6|?poagI3;T;%qD~DO?)=)gg`MQ;Dhd#V+(YL!f>dIh0$Tq3vV6;xQ z$rsE!iybF$8Pwc5*6{SHOj1AG0Yd+CL5sSmWVHhvxspY%Ba01nE>tR?wq5(N-`d{B z+R8ltA3o(hXEywqDF(ml(YmI)U93z7@x(S`zqY$F*e**(`voC2u&xjQS#E*!gp$F5DY0dQ-ruW0g3Ksz8bct1FAo4pV)2kRmvt0|>N6Uv^yOvc8VaU#gal!MJ=VOY)f+=hH$woBG1Q?@Bn&R54Ol zP0vgUTyZ<#rjBY;=Ngft5&BmC;!h&RGdfe=(ofm?Q$6^McEaE&uJkZF`@3JcN8=i^ zxTbH!sNo!;W@b4PigC<{hEB9mI_pl9w7h_6;^^RnC{K_%LYyfXmZ?)i7bEHemvI6d1O{D>Kl|tzWgN_`L|CQn=iiFNq0_cgV;ZD%B2JfwK@|Yr9U|cEuHL0_WJrDcZWP>7(BQWcT+r?=HM!?Zt>5mW+ptg zhhfK4I?A+P^DLS?Z5bXNoThwm*dfes*wg0OxAiUhA?vBn(y|paozh1 zE%4x^!}|W$$6Du3VP++QvlMxR2oD#3ewLp+cr=zNg93bp^}fvdL!4<$XAoQ(nss_g zYQFdYPK+^Ma3OZPlOYAgn;-FMoN+W%5ANd`l%hul%jIikP!43_VJW%%)M07d>f06M zgf*)nlQs&j4A?YAoJbt+*}245IW-n#)bW_#!O-+?U%v(Jooy03dH4XAILDdTFf>q% zc{mY99cdeR37zb~t9P!QA3L%R!Qa?(W%$4V>cfAxZ*{(yAw;2JTcaCkd0}oVcCw=p zj((%dz$goelo=b0&$bmy4LHU91HGvS1Rcmu zAEF=5c0mQkG<@_Rk$gt?WLxeP+;lX{^36>ZuCC}j4q!@a9{~bb z=vYo#s-;iHHS?0hv9ntM8V(my?6KNA3i9Dd|e zs|qVKSeC0}BCj0K?O^C@ag_-w!LNLS zO9waWX8VfS$t~~U<>)fyd4P`1e6W=FS)BX)|Ifl7BSN7*>vGUh9}a+jJ~6p)khh)+ zCtsWLr)NBg`@BA3l&xaQ-B$L{iAVNX$6fvN`k!=sbjwS)^Bm20os57M}8@eMgsh_YDUW z9Y|dnfM;!~Dvv-Fg8U3yujooXMu+gMBcga{zFqx!&-Mt<1D-jutwH)@sDAwXhIg4T zh^yZLmYW{;E@{wu;R)jde-&qBy2kk)_r8Ba^fB1c&j_Ec!p>`|11D*9Y*f`LYvvamSx2zfKT z1bV&}^z=LLSrW?UMH(gf^H7G=R|e^WJ1cu+cz^xpSq}bz8+}>u{A2vTG8p2=;JXK` zo>se97M?*aekY@M8m5eOtKw{k87!P>R3HgIJ^dbd9a)!`B5n}oxSF}e8hV~L*nsfs z4>Ue95c-3X8QIt8b!5;mw5LOOn$UYIrf~q8c$90}j$%+yO8qm6Os;SPTe)F3VRV2V z$Z!y|+@K>@o`*GfvY^ks_(MA<+JZFu+%x0gehcCjHhl=RS!rO9<^_knS!K}hk2nwY zBTXHOMz6#7K0(h0KKaTlmvW0@w&WG3{AW)dS$rwjv_E*OXS8nMsf)ye*9g2l(I~ZP z$5pK25*n}DPfgf0G=gZ0bJZ5Ds2iP#%?{ubxJS_m%w=+LYssBM$LP1^iZTssi9;nait4=vkU z;WKqvdCtNe*R0z*lRod;->Q4*iPMle%C}@J4&|Wqz!?XA@MmItf_;nD%e{4?bK1+v zticn->Q5e|EB>)(w9h2Vm5@IXWmzsO0dw#n4n|(f%r{JZ_(z7w;eZG6z=RjY8GPXg zeiXMdi%LJ2?Myg+^@aRkCO>upkEw$+(DZqw0E1sPxY>AIY%Tv3(80ElO1JVfzQ7gg z>hM1oLLX3L@x1!eQMn%+=?CQ3$Jp*WJ^9ggjdM9_tPq?L&o-FMot|kg>$Oe0g52S( z*?VE7-+R-&gsVT6V76;1cc6sJ;X55Z82uC7+Yfqqz({=hZ+b)UNmG1xu4c~Q9MIXM zCnz1D=5+#BQJDb(_&Z;HsiVz4Z<&gL;bbw8GT$acoRCn!{Bpxmpw8Uy&V6ASbI;cl z;)pnH*7x%4I-^88%dA-Enbh!XyNuE_pr%LA&@zvjVYYh--dTSh4RXj z?YbY>Mv)F2ujnAF$!|^)mci)6sO#RhE6dpeIF0$hsj>-ih&&TB$X|@h#)m?k&jXVM zgM(l>*8rTAxy9ucVtBR=v^^H>)}29pxPrD#J&h&b9^senEB89cG`tw(n@c{*i?O)H zYguM};L~sn)^*1HtI$)S>MC2bRF)@C9L9M0g2l(W-q11H3f^l5YH2#58$O%}c?~aa ztsn;Q@-e#fFph&(LZZ`6fydX*>f51z|7+u>_K)G}fnsXNYKEwYyqkl_>>pN zb@7^R%+01}U{J_XA3nM%Ihyt;U*3yn5Bftx^4GvVe2&fv+j@fKYG<-0ml|J7kW0uGU^#3hD*6xV!X_tfRiM{P{Jt7%iGycsvG{Ts?d`EKl((efld z{i*Fp(;(i;VOm+#e;+rcFE6+|JH&Y+N2M?zqHwqVzVYkEei2|+bK{ge+@(|XpvZSV zofRQeh?Y!n+o+)eQ1f8w^~p3HSVIFDrXB;jrBQ5Dn?{^IZ_{KP{AQqVM##)uLqwx~ z?~^u+(yBNGj0%t;T@To7^O5f$pFs;oyN5l`O-|lp;40D101mi-j#~jb1C5)PUOAXD zlLH6u<>crf8K}6=)+qc#Bx+C=Q!djDr*@{H%u_y3VR~BC^@s9g`;Rh>BR|B+G9v~F zFV*X@$B(o%I9Dpd`Q-@n)WbZaUJt0nt^SA)y(u#xZ3(}jPd(dG(^CTFicHfN1OKx> zkyqIr0BkGj%13^e(9xO$B<{4k@Df0W64W6?J$1Nr=hkJm%HdTU?T~Jp&HGwTmfX3J zP-P&k49ZO%nvH-~@lrYTvKpZB14hs$s7Bh479TQzGXtZtsDs6qHR1%w%V)R{22v?s z=r3VYfj{C0NAZYzPYX7*0Y&CipwhI{6_?Z^EcA6+oi zd0VcY%Eve>^)dN@T|Aqo?TjvLs?mA)M1S(;M2eEbeyziQc$F?IKib=_J5H3CLa~G^ z?Tu^XUG@$Q{Y_u`c1zu$pBi11cN^Nia&F^CCi;()>{G_kYuF4X|4g5=epX0h6iX*? z$7IMW2R`yWNpNI>WM_~MxX%bD58|H?`pUobD-WZ6#TM4u)R<)Mm8n-Uwm+lG1-vFt zXYtk+E3-7bZClxXhD9E3*W`z-%+dSw1!2^iea=aK``&p#WyzrLSH^WYZtP)~#q|EF zTsRs?q9F_SGL5+_= z##tfHU3_jf+g_|-=&bz!t6jw3p>ja9{@}O6IB*P4U4ARD*AL!9N`OBWO~5M8?5|tT zox;2zt3yp4@B*t*=)7^SR6;>`;n{NY6IQI0c{k>fEtm(d^#hVKW2Lj=3^kZM2zF&c zD8I%H>Ovkymp0ru9lx^j$k!OetCPSZFPQn-15oJL128Dh7t5AGh}V^ZPqX~*z=>as z;o=&j4`Ce0Fn6GryiT+$DK{0cZY$fo1Z1R}J|53d6MI(XXB2?S#ve28a^(PQZ2 zlx8%|%GV@xY^dtOnYoOpH`qK;m9LpMOu%4u__PT@l*4o|T&WRPY6(4%x$VyXB-Y)*xD9|-eDRTnZgjc$^sL+}AyMp(}Wp(b~cxL_6(8&af3EH&7 z30XXqDfd8TvamQU^uUaBh9r7~XY~{rA~m4)lQ6${MAxq5wc(9#53J0uvSYvYGoI^< z$F`<9S6Zgkr=L5UfvtSfD)VpDmw`z>Ti#fj2HR@F@R5NK4AMK;2UmDd)%Z?nWcML_ zd$)xp%Q$3tT=>mjVEgK@{!IKQFN!A(Bs|*X)Lqc5_S63NP`R4dE$QUP@2ksso-Tg6 zDZ**X%0F@IX3-?sGEOWzxs7u4AE*AKBlA}noUJ@Ewahs1cGiQyz??O>r|+jf*_ZLl z_6L1c<+L@n>LOr#a}u)bpvcI#&!-+dN_+ik#S#L8^`%@_KG_n4SXKvA64)WsFCcvI zszDA3WVU@ecN_IEC6!r8Nl0`ILZ?JS$8q6InDzN}1K*!>KzVxNlSQm*e2|(ij=+ zc)*hHac>!_hnRm z9?Fm6@>}1+X4MDG%L^Z;&GKk!yzy;A+fm)dc);1MCtV?#0_Ghkf1x3~q%AB(cFKk5 zC9Jxd!vrffZ#ACH6k7b5S-&;@KDY|)GgozI$8xY9KBl9X=VLYx9B9zWn@$Cvwzcx< z6ct4rQ&+heP_+fBd%3lFgDtu;^jXd5gL)ca;BcNEeu9p_6p#Y}(dI z9)<_#&#vO7bPJ=Ol&RO{481~k|MM;^;tg7xA`@%ogH@@|cw4XV2O;={>#53vl{Q}?G zi(67wj~^T4+Q0$=fj}UDzm&D|&WA*ltZw zzDmz@qJ%}3>})~5MP^nbW5LBc@ODNfeOnkf?~GjEfQ zab}v>Hf-t)VI(4L%B$^(g=ZQuDcf=SYZr42@o-p1<(+lF_DW+q#j)pqJLtyTOv-(G zd*LV!J*V7KSWBtumXVZ37*(3}Gv7xuoy4K3IK_9&=EA!TipuA~**p|p9K~ZQbw`=; zUii|yy~8!A$ZVZ6cJe8PWP|~0UKFAs4vt7}zMgE@{eM6#mF)^U^g;cz?r3gXNR>!-on3(3$^-S53RLNJFx) zMqtL%6i!>Czaus%$~yqbrwti_{w#ZfzxTW0q-<4#emkt`S?|t0xXW(63cWjY(=e~J z>;xo#J0TUP{Ixvki9|lA&BFs47xB*nukAQ!B%1kH%gA!~yJe4@p)9P@dS=53Pa+eP zdFV7=;AjvPendcy%rsvxn~iA*|XXTpsD&&+IUi)6M@YXxORFPR3+^_hGuJSi^hw|oJqX)`07O^5< zGc@uRS_zA@G!H%e=09=$Sw=S6&_CH3VKyUdp?)x*6KdtEossa8GV(zEBX#M{nIicI zqbA>zUh9}}nv5X9Uu8&a$Yf_EM^~iRj!1Y*!rFEQwEb$mc;&%#xRR@c4e8UHR&Ej> zypy*{*E>PYjLO6E@Wd!y70o4fx;c}~OsM8zo6 zW=MY&6w@`0nWm&5q@RENY>Zu`w=x<|t_b1}7#Xn2Kok}M6%xOE6DJ%390rJoO6GQY zE7bLuS(B6A`^AUy!v@E#?$(R)poJ3p9d2gL<|upvM+AkA#z7IBo;AH6vZ%WI-yggG4-}6ZBb>X>qPi?SA@TJej&Cx^BwKE{^ zZREtuGiKkQ&?&OBG;B}WlfDHiW^6ut1QU6;OyCuGn=d?Z58hc%69#37eEYeoCr2fG zl_dEFmv-thIFxX4Wqrrwz-{;#Z9Ofw@zdpuczL9fQ?9d~4bj@OX~!5N|2BB9mCt2D z2l>!U!&+MyaL9-ic63jg3CK_DZf#<&LUZKo^t5t$!<32kMZU_SB9QNNx?F^hnLMr} zw|q5!3n>0WcjR~>jQ*GsRZ7A?%hJXY z+)G0@Urnq0QxR5qo%8Wl&6E<9ta9uK`IXBI5ZQcb3mscIfi1>KyeL@d7@nHG9p=Gp z+oTJ52Z!;7o`y?>enK2gaNyaz2;GtMzz_Du*l-d@_tHHL-q|nXHK6I#)<1cTt&GWI z>KwMC)(%Pnhd?JDs4JhvW4Y*7oV7b^)M?nJGjitJ@KxCT)B3BevCZ4(dCCDl!jga5 zP+@I<8%KZ8ZuvU86U&(E0YC8qFW-rmc7NrCSu+8Ti0)`S9vQ9Oa^B|4moJH&V+BaF ziQoCnK#@@TDl99QH>CRzz_jPbWOnYtqw$aTOb*zox_#!HQ`XgN9GO-`8Q<}!ZygQg z2J?_UY21VV6+L_pk-JX#$T=ew4l%&ZZ45FOc(b9R{&@e7G`eOQgoFSS+86RBW5>@?dg75bLS{T`I=Y_mX3L;JOrVm+U! z@$x4vV{Axpj*jqGEWSTo(g~1vnFa<2@ulVd>)GK8J6WIJgPXRVW{NOINh)Z1^9NvZ zX37ex0IH}lx@CaF{|iR7H=KjCLCDuTvIZlRN@E)PSDAAkfwT;5gd!Zt&)Jr@H2jpg zS?E=9!r!gqEj_nqB}jhZpZ0a9u^`H?Y+sTGd8q8jt9(ZiIGiC|$*=_Nk-9DZ`sNd` zzWa>8yPj;G>{uE*vaa5`jEI6J07>}Njg;G)s= zO?=Du(mX+%^Cq937z)N~wo=}m);3qxanrXb#gQ^iT6lm={~*;OJbVM8 ziczzgweZ}8@>K@Xyys)I;hQ{^f27flhHIA6XxaHp8l+CcRav~dzYaa1A`eO;WoFqS zPty2>bA+iI(k|cda}C}6dZyOzZAQKzlU(37x6&XkO_&#$=2_pNlZ?Qhnv_rYVED+5 z=YWH2a!I%l(#VQ90hgT7DK^F7LFCFyg$7g)cRl8!9(PP%f26&X>E zjF&u--)p}2X`VEI!D8~Cx~!bSGe`FPZ~4(pJ*?lemkLN9kMd?Ujcs|68RgRsmrE>` zmV7lGN{qB{(>{bRq%~R;PS(Xq-Yw0TJ^R3;ZfR$lV#4KfQ5f!E|z$=43U>PeLw$Iec-dN6Kv69WAQN z!3SwGeL83>FuqBTMn6CD3ipz4`C?l7Ti4P+C{&TWdACW@#|o)CH`t2|-`w&~T+6QM z3Fn_(eJ8*ClYbuQw(_4*e&UfP=`b^iEC2Azh){Y=LHfeuDKk4}Gfj)IC%!ZSBh8Tu zDhjq6w|qjMw26!IcH6(xa*-F}_nyf1S|>e#g%_{?*p*FXrFpGA(8u4w-G=MvKQ3i< z8l|SCUAHiM_i60Xed@oD*L7%NYr4(dl-+RRNKB>T&dNET=entUT6Ia@SZ<3p^V*KB zm2Qu_X=v*|^qclEpT>7&mhcrpcm5QWFgj8ZMG=tHw~-U&#yThN>0FF|+meOyPkCo5 zDbND{z@Bwu^CE!!s9T$t)j*oI`3lrdE~b+><+u+IFOk8t>x-{RA{gc;F!Ew&lIHIH zf5s`kZ{r`!W%4&v*uL487-w(HgE*QO_b>SFfaOsh=nh}NmO3WZG0LLu85xfru>DO@ z;BRx5^mO%A|5OVBy>1sd8#P2U(uZR7rpMvEV}U!ms=IZd+sh zHNNF-8m5K?2N}GZ~3A^5O4kJyv@Kz~}xUBTr!uN&&Z^=kL1%h}-g~p``)rVfHqYcIkpo!ov z+_o8;exj$_RzQL+1%4m9kP8q{WJ0 zCGwreTUrJme!*#&{FzGVG@^7lV)NL7H7fL^hYElB_SqTfoHJu!dd>fqCi5)$y1ep) zT8F2iE*&eShkS@h*`6c5IDjJ}qZQkJ53; z(INfw0B@SQ&96LkL_I7u_w!7ri8@I5bFRyhU)DRzbn0LEaiRRmcxQ)l#zq{(Ti9#^ z%8&A=`3FSMF$#GMcvjt(o)@qSVsFiw*wLqH)E0+zp?I`?gDa6;VD;v$*iTnU9+DOZD%a2)HW30BLG z_iD&&DB%jB!$K5mMA9iODKniugomrrO@7@K+75pNJAg@( z7=aPC@)&;eUfVED-?f8RqA_*v8)E(U@V+}`-H|RV*%~+De4-4IVUPLvc&M8Bp|rchiiW zz2-G?V_QI+;`7!WjcHJ8bRm<}As+`G)+NIF1lSt5(#?|9iZ4uzMZ3b)0sHiA+gysP zvbEaP-S~|wE^?5xE8h(hRzGWu$ubjSrx!z9`HAQDlZktbtgwSw=2))-9oYfF>T*1q$*B@va~~3 z>aiombCnEibL8VX5J3nKqbUUmCH(Zj$1^P~9;X6fK@Ng@o-XtIZ=fBzGJQcB$u3Be zcG6UsmhhpN%(bcKkM#UPMNAUj39auu`9zEas;umV0X*e24d6RI%4zT2<0Z+rvj>!q zpOSH;PNbk0g*+f~ymY6G^&=gX$t=nb4U{ke(;$Z8tgXz*ujJU^Ic=@VXRAn=m@5bBPy5*y1 z=3lgHQ528e!VbFdXr$x@VraU1)Fe7TP1JnH85;(qfy<%eyd&#T?t z)a9M9dmJjf%1+~p%g4=>h0Qx{sO3|ujDkvd1Dkkl{U_1E-O-{6zhas+6_y6uq{}cH^E`|$ve5;`!UF)T z^eRhfAtu8{aqopD%0pVgcM-Tr-$9$@A6j%^9DT%T!{JnBq=8Xd+9MT>BQSVC!xi=e zobzybLxur>9M^!dbyhIt| zNP)@-p0oBOp~*bSyM1Arww1y4$x)NMoA9*w_$yRHU*Z8J4jHoHi9#X{aJ{`p5c#A1 znmJO}71D{3WcZDE;xcW7IeFrBnaHETn6bzUo>0M`Y3rtP$N*ng zZQh&zx`o%c8#Q^6he22gy#N3}07*naR7ren;gp#d@X8i`D)Yh)|AtawPfe!2rOO;F z{N`PgG%SO~&&ID^n8wqt+c3+*GSoDzcKs|)r6qr*4?K$f^x)0-$nk|U7|65fx1POb zH*VeHbceJiex$!oF9H1Q{hUS@-^<6m%SqyI^pDbta#|he;A8nC{8+Lq;nE)4{H%H- zhhyZiem=OBn=#UDn#)AyL9>N7;H90lX7NDhR#$iY@v~8y(1=}LX^&woZH-o(y=i$t zT!N>QH|}g65jT%M^3g25G%KC~@?_=XCCrcC#JM*!^*Z#+`$^M8l{IPDL+c)oz#&|- zv9EGTyjDyhi9GmiFXT16fMh%M_snv6)tgHgp5;boP5Zj|)=o-3FURasKF+`_mwc6n zRi-yz-Jo?WA1M^3lOI7!z_PQWt~Arx$nGzK(Y53)u_6r8+49s^zUb%Et@h=$b_G$`DJSE|M&gl< zPg=CJhcnG0>@;AeJv7HF8)nQieso5%m~Cdv8;{fG;WvEDZar9#=(erqgK|2hN$gF- zjY-m*9i)rthM6}v$V{UPJZU8l#I-{tdf}8x?LK(FG~&pEwefMu9F5tw9w%~5;dS!3 zF-Uoh%o>KVbCeP5Dg*tRzINZWvnGr^mnTdbN}TPek87Y#<+_f2oI*Y-FDH=gnae}# z3*T@{9Zwm=@+G`eH*8`3IjJ)+;(np?$#*jP*bcE7u-^x?&@j10*auH;U*|A>*sn!1(W z;qN3O{=64(6>ri7wCN|9D0X^7KW?}Vwvi*NxTfhCukP~Gw$P8yn4aO`m#?dAgfBm@ zuI8#w`D$5o*Yks4^??r$Y3JaGbs2f}BthgB0);oNu5+7yjbSyVPrL4s8ELZ)O#Uqg z^K8r2xUti-k$*+7DoejVXTgbB0<_JvW|)fm6ko!RFlm`1#5R03Y^DW?D}&FBw&pHQ zGj(KmYC09!ZOba?(6G`H#i$*thD8WngEqn^U#(;sRvr08h*dnirD0Ndsn{y*e5M9l z_KIcl$(wlw#*v9fBiucg290;W9~cuDc`-aSZ}#GwNxk#!T=Cn1Fn>h!H(!}{3hE9T zC~)KEtQxf1fclYMN78q@f;Y|bz2#sfG{32ggm0sA*lC*~4S9hEZ)5M@TCMuwAGaltpIWipZ=BuRlsMX2EON5tVf z@SqGG1mU1`cL(Rir?HF_X6cnijTOfawaViOx4fWrrPnE}MV2Kn>A<+5SgI#&@ria& zOUN{Wk-?M)d{d$G@5U!hXjyjM`dj&1R`u7eTUu-CS6hEm&(tT>%pV@4Ypl>{&j%07 zU1M7N#||!m;k9*UXqiST@@6?>_G#|jmXYsMFOIPKi_7Z@r6diih4llIwB*fJaxKAsl7a8w+jzHynefmwVJ+ur<4pT#Cf&AK zt|>DNVfhFiQ8@z}aJw@q$1yDv-|F7zpq?79&x#^b0;_*{I>+U}yvkXBjq+4m7)O%w z-%hhU*U0xR&G;ZsJ7u`MVhLxuW9!BH%1k;f$mqo#=VAn!-WBHnb2AHc18)81Hw~H1 zlyUDlCs@J_)%gB`u*S0mT#OOV0Dn$;Huy<}%I8;`N1piJ7;ZVDK$mi->26F(fKLHh?2YPD6y>iMI+U;Z7f8{L=Ztw67NCn$O;% z4CahuaU@9q^DeD0lH5Y~96nZIhgZ;S58Ny56sSsqv`;wvv7@mvGx*KV@sZ^>938Pt z?qJN6yYWH!`aS2==qM~fl~=(_`Pu--4Yn!YQG8RjQ^vYY^YOtiuGL61|Kw@pi%Kdz zCdmIw9#|;ClCH`WII9dO5e@J%Vu_5w-@t)`90!MKJJQmAFnz*$%tD4pyVK&~CEr7= zaSd{m&atF&B-DgR*HL2EAahg%{5O1$O}f+Jk%x3r9POFD4Z#h&Wow#0OQ6Otn;&ln znY9-a3;*m$JabMKT=O{ntnAqfo_s%^ajO)(b2q0uwa-!hc7Hri=EgP8sW!ffeP(?u zhbf<1&ygA*4vUebh)su$aA~;XoaL#>$X8Eb@1N&;j^sQv*c(dzf|Fz{wMBny<5?br z`1jO~=Th1hYK{#6qq(*Gms@`NNSE^CvtN@+Pb|^Mzj6;DZA{C9Al?1kJblfMZ!VFv zHWEkt04)AIa+6eew&ekuqeg~)mA~}Zu(#n4U9@{{j(W&!2|N)sIMOv0*Lr_g@@F2y zw;_9@(6hJS7~{s1bC!NjlXvUM8D;LWg388?OVX2brntSdI@<>1udoo{sQHFg$aQCx zemZ{gn|9e*D?1_&Psp$QM(*74p+Zgl0iU+@;}z@5ukX44`iYN^BV(@fKhep3<~;V< zTiRvMTT?O0tH?Gym@I$~XLwJV=WOQlnf8G+sOK7a=gidubk7Dk+iyqi;u%>cwbTWV zk-S3hvH6ckE3!z+Wc{Fh%(5M;O%aH2JcY6FRZ3IgR%^PVY6a)Yi;W6^5U-F-7%#yl zMl-H4Gd0Gq**W8tOye1B(2&s@A;$jRW5cQuXCL2XW-E>FvKwRoPR}nitT+??{a-0D zUG2~s+Dwl;lBa#X_U>Za=e2&{vxRH?eVn@Y_6s)xl=m0>J*Hr#(`W_1a6Bymx9ZC$ z*98KnWNN4o8ZUYmzmGhX8Tm?i_<>@ycZU(T7@}Z+Yq_~Wruhosf(`sh*eRUw9`IG! zN21_493Ofl6aPJ)@?~H4^$V_*_qfTkVc$#B@R~EG`Bi+vNkuvxHW=j5j)Eg^`R7Ie z8&K&KuZ^+PdP7UiHg!mNjY`LQHgq^kp}ZaI%)9gV1to2;8y6XF0Y2R_BLZ!fRyt@j zS}Jtf0~$s~c4r@k9^$2ev3(GDA?OAseUs2BcdPT$=GCtC@H|gL= z3V%=yKb(tE<*q0EpE_gAJit48vdsOsf@g`@;tsvYGyc+Sxv2~W`ZVZF?&UEeGw)TsmOFz284zn2(pmoaQ+kAWT~9 zAfGK-9v5%SgS5G1V6ar{z&IFQW^?SBKg<<(6IG!)#UhVnNR7lvfN*gW;Mv8ZCEDh1 z9NSfeRb!mum(a}(<0h;LnSsG?VP#z?7+(IEzVY}?z*acYh%sEj_dJWu68sqfAX7OW z0B)JKq9@Mxe$q%JzpEjJ_9#IsJ|=5qClQ-By`}5VOx75i7wnC%%kBH#Ph5T1o%=Qy zzkJsaWjpJnpmg{t+s4O-h%apF>Iq$Bq6ad?} z#W!n;)0hcTn)dc;T9aqXb04;MH|^S`!Ahp7zj1u5?4gS_qlTT@#yfL29V7j$-$J}c zgN!Mx9Y9BF7c>I71J`umjGMx^_r}8KGKt~Oz!Nv+DdsWe&nhw_Qj}*#u5PI((A zk8K`a&@M0Zv-Nf+;FXtKfFZ@sC@wQ$(Cck38q+M_axy?ZiidpObFAzJycgccb$y!= zX*MJh_UvwJV7;lPGYXCp-M5%CuCiQSVjRgj!miG!zhN6cfNdG*Z^v8-^oVOsrInE( zjKDOqebt(yt3KKTKcm3O^klpYFe%LxYFsHOIH~U6vI!;bof%!a(6f> zAYzGVr9a&C(DSJ&4f;D(@}~wtIW>*1J=4Zhyu8NL&I>)-vByf>N&{YP(+oBGo_G3r zMO}HiHB44Igzu8dlbcwCTxMIrXCo3l%I7X5>6eNY=*x}fL`zvT;?g^3soW| z*Z%0a)Ci=6^9w#8vXOj@e|+*2N#5bsGv|lH^uZ`r|11jKwmVa@tGtOXU40CVY$Z*V z0OjixIh}Z6JWHESGw)H9j$$x|F=pf=<*WTNK56+_j`_@&wi<>1kqaHVNp-+XFu=YbbaTzlK1#&_~4Uh}s`^^Q8vxSLs=S=ulRy4*B(f!nt5 z5^EG7GiLl{r>vEReA)D|*D)rt0Uk$44kkQ$m22*xe^HcM#Mn7AZ9jCHZeW0aWj;~t zeh4DB%t!~}9r=de)&t^&2IG?Qo25U>clC?w%*IVQ@SZT8t6_dWO|wi2AuUxciTg(!%#(&`qMTE0Y{+LMOLWEi&(FY|jnkLigo_9D(V3)Fb0 z4UK+2Ub|**-O6|Dxg7;?a4v*@VwJY$yY|ul`;q@yxRs$WwfC5+p!R-y_g>lQzhw6a za^hhc=DBHIa>GdZQa|mwy8+AhO_J>FSY{MJ6hzV`Aq%9qQ&uUS5M`SFrL3hg;V)?^ z(ZVV>EgLJa>9mZ~bL2fjzaoV`;4~ZU;BgJDMtnjPul~)GY}!9tKDa~GjXUn@^dfi5 z<6>!$evAl@?I!7!{KNsW_*=uO@GK3tfy5R0#8=3Iaa)ml%&O1lN@%GH! z)*8!m)x*Uypz&>IuY43{c&IH0#*~xuHltVE;MDAS9uI!xNgC-by$RXFI+_yB$MTL+ zH|~mW9tvMOye@wDD-G$a>nGo^<$=a?l;X&{VWuO5ad@UPJhT$1!^jjA`Sk&P6pWIT zj`P5V24HjESUgI(e4uu{g|e=9xfItl91u7-Y9$5 z@T57*Sx$o@KemaPF`-RNhY34b=0{vvGC}@aUk|fP#{|LS=+pL{B!HcD>d2Q6b|}P8 z;6^9`g7ue@J9lcu7z4u}^r#8g8$b6<$1s)h)zJj1y-cE_cd5 z{UdNYKaWO~pD6=aYZ|)cvW?7`RVcnJ{_C_CsVR=Ute@c9dF<)Z+i)v~S@cOo2|Q^! ziovqZ8n1aMy5Nrg(ARfrplWrX4HqGjlUG zDv>h?L0wYcm~P?*2B&-c$a6Ylz%*}(9|dTmqXILZrp#25Q_73q`o;gui;_*la^i74 zkC`jewDJ9Ta|>nALS3UR0w)t&^uXOn;YHc6U$emmTD!r+O;seDQD^A3euCd3J7XAf zEKhI(SotqshnpLVh%~Z*0}yD!n8&)?ORv9q5l48Bt?r*#!|#gwo?p5Lr=$)A!Gk+W z1+O%~O5_A5Pf3$9X#B?2e{+kQCrUYyCoNP=(l;o@ z2^PY|>gd$m#-J?rwD59_D-`dV=0Au)*7uB@!PjgH8`;o-xwKe98~G5IG+HNDI$qJ1 zvQtl}U^L*%mvv4CQj21xjVSWfsxi}=(vuDc_#Jur;Q`CUF%`;~zTlcQHNKSCn?(j+}Q zf{2y(E%tg}X-aS7XqSHJP$h>T-5cD%@6dhMSzNN^G#9>$uW5d_N7uOcRmQbKDm!z`cJzYmzNrMcSTs zpK}_Z?Q=!Md(90}ev>eHqhRi?yPGr3iX?%6yrDQ%hE8KWvZ3ad9{DZPVt(WCmR)?V zbP9OE$VWb$pZi%g74$sk%m|#3&MS5^lNfCq&5#Nm#!Ndw&BSjjd$5)7lAv1?IyUYq zJNm2Ma1*~HE8Tmue{UOQnWVmIpTL`5{Yr;+r^^jH4L7}wPHC|NL!9~K|Af06GP&8Fr~K@{0dJIZ7-&rA=9xI8)zr z2fumT{pqjLUJ0U1CU2I!xa6l_eHb&9JUew0zVemA*6oz}qD5tc1Zn#5+`Mc*L%Rw4 zq4ac`q>VK5MI3@#9+S<{L#Ve|+oQmp)!@d;=$*;0e#73BlRV&gV7I%t^os$gyw^VG z1VQsEJ*XquE+@zjrpm-vP7_VG4KUR3z~^=DkeoQPh!3Wiu_bVCT5$TstrA^`6)Xi? zLP8UfPvh@#={BRib90yiXog*0XRk2+?pKxTD@grPCZ+ZUjPSY~D?%Mwhzm1cy!Zpq$Gx?vxs``xi1|I@bUKa*LoAaMJIufBtg$B1{ zBTzh+g->qdS~XbV(=YZ)DKOJy78A$7GtDTN_k3N?ZRT8n&SSRzqE+9X%wo!X_~`o0boP#l(7N}?hJ$COSncWB5qbTZPcP9ZIrWpTRLr+&p@vUcMSkV6 zjn&BVhl_W)Kh*DA+Zf$4vh-VzRwC==qa#Vm;F(VyK_E0ea`hgKnE7Gb`Wrs;B;UNb zM%r6E%7v_x#`0BLp3nQptJ7viYV|M;8~7Tx`)i~{Bio1d#E;MX=$^W^^TesF`2;v} zIBiR`3h#ajPO~+Zg6`-{+&~NsMJ2(>N0h}Xw_mL6^UM4FV9>6rw0+~{UEJJX}u9rfYw zUyZFISiuSX_$xzpko^FGvVKPUq$ypES6hECL$M-?HMA{0xOqx^`i;z*5-PCLZO{*qZlhF#!3e1ar?6s(&qEhaWCgEnQOEA9FNL&jW9B?ko1g~)AMH1qt0%w>*b?y2IQ@&~Uy?L6E+_AUkl$LO& zs|^Q(Z|2@TJ9peVT$*bKIn~K{_N0ARz@Jr!XC(K7hs^T&+VEVoA#mUO)3TZHeg-iMz5{>Q)NW{y#~e4mgrTXvw{ym=eh ze0=_RxV@Q(l$pB%34eGHhgrHrAzmHM-+ny2d-Lw_?&>G< z1B~ZpsZ(D4=4klS1N;M4{`tsLVrMiOS$oAa?NX37+!=W?wP2VHaqH)liSlFJKi2;{ z&VjbPrMvFhb|7^35k?dI@+|e!&WCyCNtML0TEs`b$ES(>S@)E|!r=e#YQEVrZ`ywHxb;6jMWrM5dY@46ce4Gzq$&WF^)4jb=8P76pJ5)U8zy8Mc zUAyo(ngBgk6KdU-H`DU{o^z_2rkj`D57j&T3O-_tO$wPaHb*O77T%C?glMMsaP>36x{opb|8Pm;H0C=#d^e#q zn%@bL*5njE>OM8*qy9_YHjv5V#Q9!+PvZuXN*Rd~i?}U69(yH|&Y~f-7`Wd5NoS!n zineA?(=;C9!Z_Fd$R}FY!v4YqZ8l-3NMWDcDSTNUTI5k z?ZjD%xbY{fu;W|5!hB=X;G~1)`W*@Rgo1RE9uIHs-7V{65+kP23cN~-^JN}R{y_V0 z8rFw1;&5ULDxXn=+_#9PeZ1!rQ({DW-7_V6gYwL|EWSQ+fx^q-bnvJQ?WL;>V^g91 z!h|E22b7ZQd47o5PK;BvDo`6P&tiG}M;h+E8~66};p4}TqY&T!%ynp<-69+s#Cx7k zjzJ-G-Q7UzMYLB5q|Q-?vfn>q|hW{0*~vPIuCy1h-+-)4eqpki_XFF?Qc52-+IUA zo3y?ISGpQ>8mI54aKf`}F&Q*)570>3J~B>w57Pv-|14||_oMiQ=~0h8+_=NxAEw{< z9cJg zCH*vP-8Q0|3CJ;B{nOAl?xM;5s9k|n*cG{SG!M0fF>D@j(+CX%peHFLOjqOR));4N zG)Ox*3|MZR9xXAR6+=~`>AP<8+G(>?RNigWYaFGESFal*g*v+DEQt^!|( z;Af)5C>=k&`I#wAlnlz}45jt{=bsK&H2U5tYhC&I3MIt4ink_3Ik67-iZI4F+%Cg< zAvb*7p~<{!QAOzeiC&8F8l`X#PFpi~yd_Wag;66zx+uUeD8r|(Q_sQ^vgKC*q|Ke5 z?)1C(=|k$GynDj};0W{-m`Sbq$;lqcY4nOl;z5NM# zEj6ek-ZNjdPs2|olnnF4_f8^-Yc_N%OB;DRA5*fBX~m`EGCP;`UG0>zXz*6}`*-y*Y@si}l`m3B9P#WYAojZt2cv~XD@R}Kl_2bYm~eAV;&CS@9BH!#lL zXkg1`R8-$H#oMD3g{kuHdu}~~2I0T^fWQ7Y$dpQJ2+;qG`SZ{z!jz>BU~CI9n=;ND zKjPS#Jw4fNoUkK|JpNPjo#4_p@m`kemKOqb?_u}u(=-heUQ_#`=V#IY8MY(F2tHMW zdjul!eQ!?R_hEG_GkUd#x`O!a$MaM$31vf9tqjYA93gE^w zIQaxVpvKeDN8A`;zQ>Q^83Goq%M#x3#05vZ#e=&AJ?pfK1{1=(NGHMuG19df5JVWa zc$NK7oj5whZv42h-D+=w$Lt&%XVcogXXXoLunm2_JB?l85@~5q0)$^MZRP@ck62V8 zPF(0%8;H`j5Py{G;x$0>Cw~%*DPPKi7oCMboc!!QQ5Mcx;mLR7Ka##1Ol&0Hu)g{B ziff~;Tqi@pF`9h5{(SJtE5F|H7UlE6&BT|q^p|hQlM0e)$NL+UhHxmPHz=!1Mnit= z`N0h|+|y$MxXBwzmk_bI|np=-iLch z{^qC(N*^MBqGNE&i1*9a>%+%S&xhasxIDc7{g=Z}AAW&X?+-u!{4=8ywy@Kvz9v0y zEQ$Cz+~nU44qJP;6t!(n)=ViXZz9=Dl$7PH6pi_jve?2aA4+DUX|G4|Ql^w4jlWaZ zAufty*1Y5!JyQj&03*v@8%BJMay+>33motGH9SD;CuIbT<#Y^h-8;(PY5tC|3laEh zTF$tttREoO!RL5Mj?~-DhK88*~@qInqe*Bd6KDV8thL{Rujqfe%gG?(v zFvOX50;NJjevM*rz0YF@uA#ks&ACI)L)ZvCsC=-)7nD+_=_ErQIC5l)^0k|iR1W0B zQJKo>-sw#8>hm}Ycu{sLME%Yr6a{v3%LtF0h%bsc3UidEey^e9=Bw+BUagBVc6TTm z>JFMc?{&|;q7T1($YJQ*ytzhMSqVESaAIE z^M5+LefJvs>hOW*9lXrcCgtX*vYu3m)Uhc$sfFIvKsS#m$As{c@}3v{nFP+u3z))U z=ZY4*Qw*)7|I2+0t*aV)R@_WOPfS0)~ zY)A4{55^JlW!#tVlA1`QEWmmw=7XTQl(7^F4j=&G%`P~GP*VIPwgED2I z@YXFZcUaRCZ?4_k@MJsNn`gD&XWPOe>mI^N%!CbKhCvRRe`U%~@+@UCDTJ(k~MU)dcd4I*V zXT)+OV&-%^LR4w>Rt?urO`Ct{VHCwk)BOdm8LH&13Qm9e4MKsuEdGXbf{qg9?UQSI zD9m#%8ForkeqF1afpzmvKXKDdXO0{rSKtx;9V6a*Y>VlEDN}JiUxF8UAK1L(A?KUx z`@^SC*M~1(7}cWWne>Ggrh4JiC5rCiiZWpx(jA4D)Rj-4e>>b>pC7KjuvzFMYl`pQ z9zOi^Q`R&uIRo~9;*`GBN$6E+r<^5%$C-=Jv6ZEgA%83|%X~&wmi^u|+)h@+N_-mQ z@ob$CMyu8=`K@eeW*|WRDF+o?+Y7@igN+nn!F!|^S+G4KKN%Sse|5%6PlPjw{K41> zTgIKYnpw9V&wcz*8v3OHV&xCiZ$_`aEFuTv@?3u6sYxfh{^Eo7h9`|oO%G#w%p>j9 ziX$F*@FRQQJd00WZoEjWKmXaozTh>{=KYv{X*i{)IBM@xG{5yfwOPIxUEhF4G=bAZ z_KBauHy$Z%&i^-#NprOzASex0Ae(Ug0J+Lf+U%iOWNAPl$wEnu{M>CD~v-fbKyxbu> zO@`}*?8ZZZINkT;{fsD98+6~D0Da()us6AQpJZwli8<{Wp4o`-?o^;om6HvjJ0R^O zL`gV$Bt4(-jdjA1N`A5p9$Ox&G=#tKMiG>j-6zkwJ@^if9I?7{&U1)T+MVUYIYdUGU%q@jeB!xt*D2=?fBoq#7UMJYx|?hq z6+Y4dxVU5#=z(XZq3=0H^6BH_;o~2#4p;0v{pFWm4uARe*Q_r(?P?vfb}B!1vbC+Z z=BEq9BV!{gRpu6{d8?_+*4AG>?9D!nq@(;tq(LNOWAMN^OCpT6SCH^XZ_;eCIaf;@ z%PU5~^$`_iBHfyye`1NJ{#_pEyLQ*ejYlbJg(pdWWw`jN3=La=%bNFB7R;$B@%Vc? zl047gM*k?kNzdDgkhUXRG9oaqJFd#V;y2socja0C6@}W%n=~TZazqK$^t@zVzV`!I zd1G+hwe6^FdEdov_|EGar!bv4D~|G5`=aMkDwL-fnn*Qj-wP*_`Za-uea{|I`CiDW zAH}XzE+#gO#rIR-L`zOds-1W;*?7RG;nH5u z4qcoPCBoLrSjvC=Z1|n>%74;cRc_z|w&LP0Pa5dEXMHrLUlSUa(91umjo-3OZ}SrX zv&U^`*9Jtt!lhUe&$zY+6P9)+7+(G)Jz#P^%`}eW4c_%`#fuSyJfveVt=I6L@Jvaq zv;#|pv(ou&z1f$^Z*Qywia7aErtJ)>2%YxyUdgZj^}m7Ns?4a6ZTt@^L-POj?Ry$_ zc208KK=QA@+^}|b9s1I+P)jdSZcj`<&S#cvR7atyOzo82I|}j}cqo~yH-R|HkTjB4 z>B)IM)G8xTM=!4Dxkd<4p;g6uea)Fg@V$Xv&;B{;ap$KBcwa(_4<$%zC9GNEAP#V-MIrJTOh0kv;iml==l(y5o~l9=UkMbnn$WHp=`=88R9b zhwGV+Ajvt$Jm@G;>8}22!O=NTDc(LGzObpt^lunFU%kCN{BQs3zvgQX@*c>T&`mk0 zsNKr6DVnX+a8TjQv+82(39P&J3&9e^IQwU!MV7>t&KHEFK1)y>TI9>93%;9OlylQM z)(;_kw=Agx3Wq)~VCH@Ng_*nvI&l&Ox9JZ4@tN?6Hue49tiE99qU3#$jV zyM`@~8q*i93i6rGRF_AfGGM9yp|!D&bRB(`pV}%0o?!bZ`|>k}j^sZxrF+lM@^yH9 zEQ6!}VC{QxXxC2&-9D%KPPmJErc-qE$!*~PE36S%+%aZ`=W%uEJDhJqu>sAk;}c_u zSUk{67}IMtNMi)MIyI7L+|;q*BusbS5fbfNEAPTpdxMwO)o>b?o_T=$8RMG5o-&zmDV|=?)D5-4;*snC$2kp1@DMi@YUT5mhD~E0CC9v3*){&&aZYZ_)5@PA zlZW%%3?giJPx`3Fq>~1hG%9MsNRwu;ulJCOzrFqyuI=>5m|2t4ui>R9y(StyP0pH` z0SwfU4|2hKE0RGz9f8*Wp7hIiD}Zs_WRNm9O`5yoEjg{Y%SK^8y}C)Gp9``pV=}iByzUQdUjUs2<*z)|0GGSUZ z{G@T0Y`@dy6y!th2j!6a1=FrRbsLa7fZoja7wwVYy+z?@TAt_kpEBZn!^R)KQTK%6xuq$kcD2zQDut!)Hch?bR3wn;D#(V4Kd1oh1<{hyn?5W z96$g54>syt9sc&yo5LeI0o`Fiu;%M?}*0v zU-ELVl4dtgPLVWJLQf1;mk7W|U{vfVVPz_}WX#Q9kAvvytk8JM*m<3@HY+lsXNORJAWf7gZI>xwkws%z6;ZfOp3F3YrC$l@jcQH zpGgel(?&e7Zf%(B@i@YB>);ceF4IwQ7nincgjkqqi~JsJ=otY?N7BxuPcG`-6Ky3+ zRDf-Oi@1IXq z{b?kUrhK9gsxFeZ`rBad+5^dmZKrAOJ3pUv5QMaqVHI*v@`SY1_cju9Z0IIT+fugUw--- z`jmDWR%v(o6*~Pg#~nBie_R~?%jf@k_~XrQhyUeo|H}I3yTf}%u%oO{%qnp3JlxSZ zsf<`N_0Ck!R?4>vJ0>VzuexjAOfPYW*Ty?p<42y#AN_qGHzv2BEVov9*!VAGS4J-* zTuo$i)$z)$ZGoovYBx@VVS5=z)3SpV8Nl1RlDN3DhhQbE65pG~t)K6Ezr9-+6|Pwj zUE0cp*ZN6mZE;WW6#t$-g^^C59~t4k7hbwm z@tnRlvjQ8|@Y;4%|I8?4HCEXue*}z~tQgp0G2j-rZa5(QBIFtI2^dpe)FxecE)Atau+kttSMQF{&})e#fmN`S#~GuWfhpnzOcB@O6IqmANHy3M1b&O7q>hSA_1qhOVza2c^*J{~@!%-sq5 zicg(8WqR}R>*4XnDd4BWPn?}}Q_$7BcZa`T{R~YgR(SSEhs9fVnh!S|k<}@GX(Vs* z+RlfiA7$c54`ZGUPd<6q9e7&WUd*Awt}(uGlCOF$zuoKREIv798n#RNS^b-KfqmbM z8Q7UN>h*GjCVZdiMUgjhI2(ON`jZzT)i%CyPU+u=3zO-}WY#z0$Uh}jUSbNb-6sL- z$Gm>ezj+LeTLf{BDSu(tH>Pe?F)OYMjoTsO<|R=6|h;SjrlR|1`eslZ`1av@_txW1v9A2@01(mLTb(Tl zdd4(nrjr-pgX1=`PW~R1PEaGQs5#{9Q0A@g$zeu*qcu%h1GD5VUaDVR(R(8E|$LgoA ze;l6vjkB14{La+$dz9i&htJUP4yE|vr+0@p9O4(xJslU{k8x@{BB?+D9;^X_OHYYbsJo$9RVMbqY~k857SB^vI?r{$)ck?_ddD2YH3rZIlZ zdjG~fq2K(9U$gII$78LxHT}XRZ2g=n*L_&r6u8)vZxTqy!-CB$0_EAX_cRN?@_njc z%A?vzgP+nSn&HF7!GILsgiS2nn=%)iwvy5wg&3;EJFp;Kj+d4)-L#9lcKsWp@8(Gu zZlF0LHSn0mk@!XuNw)(xf!c=Y-op-jsrOAy53!&woQ<9-^&Lmx`m_1hV?;7<--gkU z9J8~<*gLuqUa-<{uQDdISq^ycOp|LPrQi(xdwk!xcNJ^mf@T$@u;p*l)!w_m!FS@Z z&-3@<=_kye*+p4g#iPH%RAYFb`qge4zVF?wEQPDxG=%*#({n&gxA4Z7wu@csHf3fx zwZho}8D(l3)0<=s!qFCusz(~`*!_6V@dVf2W*v`BCG3K{V!G3*!9V`-Z=?8D-a~id z&lJrSQ>JbpahlXkD6;E`k)z7)k&)y%xEzgUJ&#dMrbMAn<(xGweR*Q5=Pe!hds~>CpFY=q#Z4&zUxHLc>wx8DUvl=KUTVy%_$PhT2_`Ptr#t z=GQ6M1C$F3Y|<{l^M?F<J_6Xrc4dXAklJorC)yqU=BX%mo0y zen2U{rxSznMaw^tM)aHd0ELqTx7NHac@)^aMHb;jP>o#i|2%#ohZNtEJ;xX`YDpU`Xm z{sX4;r3}RdU*$yoi^BJ$y~A6-y}y3@2eM-JN?FR}rRFqlJa<3sn8HTLHu^PT-w(pt>r1aa97UyOUh=`NFd|Y=&{^=SelUS)V zTQp%;;pq2@hO?&ps;z&wk?U9gp=aWq=C`m zrg%)ZYW^qf8it!?sY`e|; zocuG@>kd>>R(9Kkq$&t{cXhHmt6iq(9pNF6b{*$56CUb$xJnM{zyJ32@bNPvM$RdEtBs>Y7h9{)sfR!Fwz(-A}A>{HfWE%)STb zVtkE4w--c<${r2>m}z_!-tb`&?U}JnSO+lg&FdM{WepE*`Pc-tiT^!QUbkYGr@{{Z zUkZQIYglnAtb0?udq3TcU;n1JO;a>r*{68+?|ZjB<>tTTn)k)OJ?xP)FF2GGg)5D< z4FG$>t-i8fMWnK6IePBSksxC$0ApIi;(qE%IFHxqN&tEuH4q=vq zAI&{GV~P}|;Yjg`smqJEzp#eL^eReB{3;+fmY838pJNOwe)DZupDWG{s>E7O*8SQ1 zA`H1^(4t~`+GbgDQ^`?c$cr0WM(Z8Uryp;w$&e8HlMRIxI?BT^6S%Rz6P zx%tXkA?thIclze-tHTGTMh(ArniwYAIC*5lU78Q@@#>82n56y0$lB>oc>!j4&U7j} zOwYL1Zbr9^)KRiGT>GZd{rvgM;WcZze_{G5?O~)()V7=cC0>3hC(>B# zAOA(0@ry&b6Nep>;P(YNSUQZ6?BJAd`*=afPx96m?84N4#oi#At{#5uH)eoM;M?Aj zVSS4H&ukGk@l$siiZaQ>`7eRSIW0`%?+L!Ap{v>Z*UwE1e`-jh#)45OO?R=um&vO| zsec1jfw?=-c%cVwuaFRw1l}io&$=#pM#P;_qGwAO2gZnm^NMr7o;~J~egM zZd}9n?uIwssl8XG#%tW#`}p-M4&M!zDyXk_Z2iM)Hc)K4m0m#bg5WFrMjhPZ!yB*Z zlne~N@!QHqk5yaJw9!aE^Qj#-qSGvc6StdK?6up=q`7f==#tUNdyY}uF&ez3(KStv z4m{F8e_=h*bAfKWdCSz`IgPu$R4!=AMuuCD4186|GP*=*n7?}z-knpblR{|Br?+fmZlv-Q}6Kb!BjPVIE0?e7IC`MqW0Vumi$hrlKM@ z$SrG|&sj5c1B(2dM%pz)`T(Kf0fl`2ZoXLI$AgtQr(82abp4ThT>)=fWH~%Ch3lr5 zGmfQX2d8HUfp?_+%(@~`Jj)M@Y0lXQa!+0HoaQY&A-9}eWMq!={POkY@cWlfSh&el*Eh-rGRm1vT`Rj73* zV1*TCZ=0TLL*jNLQE>_rKg8=J3^K1ihTE`|Hq)_3zBi?{^m-0v47@KOjt45c#@@cB zG&jEX-t6B?r#3~h@n=gDe~s2Xz4&<%Un|~JV7Ff0-hcik{zMoaf2GI2H>ETDfyQTc zWA2SK)#(1D@&e8sjftZ|lHWF#JP*%o_a_hM>8_oc}`a1&;jyx!5 zD4$zyPw~tlg9#c;8goZA@G|RnG|nEWxby20j8fda_}>{h{><4oH`1Ijg?C2zq3vkM z8BHO_cfedQZ}{N3!nc$MQ->EnUBOhsKhq$y;l?Y|Ok1TWQ=?#<&Ldy9Uw%t=&BG(g z1bu{2o)}R*U(x{b$tUwpT=|hw;N2q!%G4LGJ5!!K9PMb#5t4VG`aMB!n)!F8Exqx@ z5wANuRkl9Lp?rO9XXN%vXmB*)ID*AV@1^44)b=oj@Ypu2}-{wA~Pw%MV%Si%3l;$}%&4A8|gf z^L8U6$2PezeuNkDGs4O!jri6bZ|u^}<|hF($kWhgu6^JSvZJ3oHa(5BN{jaMYWw7Q z&Il{$nB*6kurpU41>QL85$^6{_&@0muO%$+*j|13!l(~QF9FuIy)mAT>1!*e=A|^4 zLeD*aGmL6vZH=}OTQHph>K5;PxNwOtS2e`}&%!te(k`5KAHnOdTjP68-O`aXz^%PE z!dOTRH%vdD3Wwn}`}oCwYVUFVGkDY3A69R=pebcfc=Ef;t1yMD-I2Oy zt5RktK;wr}^Jj;OOgIthl(X;-+EfT{=}te=;62>A7UdM04Iqk(hByb?Rb({Y=O_wq zZ&8t;34&jF&P5AsfXS{?6s1#$hes4HG^l*+hn%6b?$~j8i^5ZR<@gOm81|kK(;rNo zTK^qg+Q69yJ2LJh#XF;+DW*#wm9Ors15V6KDa(uIe$Q*p~*w{nT(C05iwI3chA~kb!6z2 z{;l6gB>r1&y0L@k-L0O>l(xai<>2K16T3&hGWzB&aGIhwhY!ELKm4!%`Y((Ge`eDR z>x`7Gd3ersd30t_z?Ud6KR$eO{RjNJV3f*86`nexz5ayaqvQ6-mq5HC?wuE>)8qMx zvQ@dK(Nn&`>%61Wwf8(KL`~%_FS~bn@;wtg!qLbhn!&4$&jO#eFNME+%F{prEbjUh z-vV9u21eTCxA3QQ7GD42sJpf>#uZ0l^h??b>N0!W34>RT(lv(7MyqKjlr8-nnTfkk zVYMqGiEDhGhX2Sf0J|S$SyQ@8*ZzG6{*6<*G)>!h`qj35maO8#V=LbLg z$RbZALf~~9-%OMlBpodFHk{Kpyae@bJ^{ii!G>udhVNJqjq-iyooTQ$cXiNMlS3YMal&`MHm@*cq{ApMyrqG?qc`s7 zSv)juST32S(u;F$m2re)140ALdAc;{jvyi8no;9dMmCQ8F4@5G;r+iHzI^)q@cZvv zT#d~8EyIUfMk~;$Y^jrc?ie9fmhMzm zw{#i~hkyOsFNgp9pFS{6&8UtfyhiYu4N2aM?q;4@w~Yn9&!2`%R}A@+blE(t zZYC$##_*+)4@a2Uiaq(a(P~;7%!2jZFpcgloMu=vYce#lHol-27Zfp?I_CF2_|vh^ z2vBtS{w7nHQCMDW<@fv8B;z**AFjU~o>=qqYZ9&*xf9Zc-Ssdp;eN*&(>2qGw2Cug zQpwZ8mp(UoT&T%togMkuAiG=C>(sp7?DFzml$H&*jeGJ4jkBY3rXlaxE$nE?sloEn z^+9uoD$1RoHqOZvG&&uu63M07R;#EJCb`ZqfaHp8wd1<%2BkmJZYG*mJ!JVtTN1?$F-NJf| ze#2-qdIx$kHA;My=`Ce*&2+KTt8VO}Fb@BTDcpDLNd4(2%898>^DrBVAdKR; zbsZBW>TwmPn>}xN1^l~rOb2tIAA%S?qSRi$<6PmJ!*3sN4}WLc^fR!Z7%e}%ze9Om z9)96@LkGjDZ#Uw2SUVek!Z&mNQZ6f>RVED&;O=#e*uLdbF zh6!g_AG>|^FODrP0eg1bjxWT`;ad?XNWIUL(Ggkm1eRq z&v)zm_vw}vX(&x5c4>;;{IjDWv;=UNe9^MEaSZAMiaKl(6G;r&C5qd zE4196Gh{9`vcc>g;nUcw0J*X=>tbI&eP+s$5$5Z+nJWFlEh>&gzT9v;gJT$8Lw1Hd zK0@Fv3tCQ3y1C@mwaTSr(|DVAd4=pbwd?c~s%8|3ikh`QKO+1NrSiyAO=o{`Qx5Y<^)4mLo4uOmRNZIYoa1!#Tu@_lLjz)oEU)U%B}E;ASJzyt`%{ z-oyXEUXceC?ZX3isIt!M+T>q`9sz_Fnf1=FCeIuIA4IUw`6p>al70Zbq7h=#sAl;O0+kmZrvddI@i*#iwx_zDOEa zJon+c2mjbXmyD<=#bp{3){&wVWNL@hsA-4SoKti9F4v*4S;>o=Gu6lqDX-nt=`=NP z>u3-+%v|@A7?`vvZV>vg)P4D#EP{Bja8dc1NTCnQi@FqrhlW**SW9 z`1tiVsQ5HWA?uLJnCp(54^#ot_+Qc3QWKy7o>8;SQ%Zu2Skaw&9VTjdY=bp6^8VU9 z5$_f2ZTavpBSfcdlP4CvR8A_tH%v!{|HzS7w>{9nJ2hlyRJw5{Zs0j%9I~@ zm)kM;Yl08Orp(HVZZhLFer_7G-gySnbo@-vFTei8*X`ef3tlpPc>%44JusqkMDi&?&|XJE2C;hsZL>DF`~C4@#rXnnF{|DXtKynHFT(f@v6H_8$*{<%-;HQbN!ie zzl!p=P4P1GGmdKf{L9aWuWStZ{f{q)e|-ALG%gpQT#+u*@Y(=0=o?$S z`*z1T8twWkdwc&Pu|DkM2gcz(|8^deMS<;I9kV-byth29_N{pJFJ5sfi#1!E4Y}x! zGAUf+H%@8q`>AdC_nuQc#v5G2Pu=;RVF5#&(}bA%6|wKS!-wUT!TRro!$w&+g*90j^!Qe<$UH{qMzMsMD<4bNl7wm2G>w@CGLQC0ds9N$L{j7M6KVXp1rzw+E4B9t{DXi{3`xi_mk95^4yu+9#h z)2WUc++}H_e9zH_d>EQAzxqIFG9tkr94Zr%iFttjXOxV2cEokg$n4y+eYDgLaBui< zt#^^$(RIhE^;Fv_?0lX>$B#3jDBqNJ4MGjNnf-W@%=*~GOnbYDiYnO;=UuwIyT zEAYsE<4J3jH{mMuQCK4vqXgYy=Ncl)lM%6N_1+_D$LC^Ap&Ca%+@e5&SJXTy_tn5! zK3=HpHFi!dnx^Y=q#k8|jk14>@>i*OSLqzP07f2gltc5t$iiD;+)1b`UC|-AB%@x- zc1cI!3y1z6*kp8$-|JUS`x1#Z$1=S}*H~F+&G5Ys;aJMd|?U8QrZqEb{-wCViZ}7Bf zea~$N@zhA$f7CRe<>x-G>A7T*jQLxrvb{yuK+ub;Ls z#jS0lvk&*Z;o{LP9!-U#bj5B40@3u3v_Q=Z-Zie^r|!}pRO@G^EEWE}(3#FW#u3jb zMN4k@UVp=+zj@l@HmuVu^)G*#ZyVN{Q+o9e4)K_dHVv5i#U3%QG}eqlpz(qc0sVcH z8T^IEep2X}(Zso(A>(1I)INXy$ipXu7}+^G@{qXGeCEMvHWkDLqYpzYw3u@A4W z*w_O7HlB`-z0g3V@3iy{qv`WkKeIiac&_`whg&X5x5MG|+BN40U)^$qf>GU*N}WU= znErOk@*ZVq=j0XZiNF2!2j%b1S=Vv7*M=RibS(}aP`HP`{K6T=+r$6hGK4?){?yld zW(1(^Z$I<#Vb(*hvbFwLpUk&Ujd}4gzs~&aSfXe3gyi#!Cr=ox9ObQ z`@#4woTh2!oq{P&?V94$M|a~FW{*q1hBsbmcEZ9iY2L?exE-o7NBUBhi`FiKG>ubR znJV6fiLW%DhV5Z=_Xyb{V&hS99O)~>OS}2iZk~h?_t4O_G{wEYbu#UG%W7o(SH$YV+~f|gdlC_ zvoKcD%@Alq=#%>kS9ozNpxG%zRiVR5<7y)_pTgM-p!v!AS5hY(7s*k2UixhE3PXgL z3Sv)R(=_Cx4e0pMvtGN^{BlC_9^4~%zCUu#&IZtRuX7sV7M}5SchiM#TP&4V=%ev4 zzUSc*G)WT6GJ;OvjI$R28_?3=NMy=#l(p%7&)5LlJ2c*`k4$AP?x%J3!iLHQUSb9o z52D;We8SQEQa19D4wlnl!u1@fZl9qEH+<5#8AdMK-?tnT{woj1voYokqrbn>Frk|H#H0a*oob!6!%3>2#;cdhE^lb?T6# zT6s_QqkvtTl+Nof{{w$VxUBoZ=Pw^WhaNwG?6m0BFKk4CY{K5N31>53d@v7-4?S;R2E%2@oJi@{G2m z?)uwb5-+ZS|!eqveeul8q+oOY<(b>Yu5>PO>@f6=J zj?Y*h(~l23m}L)_Q@R5IJgt*?_^UEkIgM9!^I42Lf&Tc{IJ$x_oLBX3#i=;`(|67N z)3tu!;P;=S2zLs<@~P(z#wl}mVECLsl+Tb7W~?(g@!z3ZQ+nFPIu_Q3SYO!Ys^UDR zOX=_V2`L0gPPOW62BRZ=&GPeJKl^$1?U;Pf$29YB!^u{ z7(dr|{i>XAg)RCv8xhzf5oqrgY0B7G}f#pxTPVD`^?H~#6n->Q7xb3OdGVD!i=IKr)ZpQbMu zHOr{MVVbvocm`O*dRKTDhJ=@mYZU!;^%Q@;)AR?w%tw6CnIIZ{zLiI%ukz{N$E){> zSLsflwPsl9D}I#8HiwAxPPo0>BPCSa%2?dQFZpqnD&s~nBTpHLOi5L! zw>=OE=8zlyVQ~;b7wJC*Obu?71WSEszm)&2Ip$6L@f8U3-Ezvzl=e1@ys10O?v{}} zg~l1YFqYKI@(EXFtdYtFRjX^LTA|vrh?ac`Joqkil$L8;;(-IIfX#Od0|EqX?tVqo zyXU!uLYyVT1{&ON%S0_~Pf6pU1meK5s*TWKCXOJ4<2Wht5Onb>lPY5tB~}TP+iF&n z-yVgL>R=CJmt{E-7y-|t;I{OG36f%3(8A6ryLFv4C4{J@FMo9^wO;-&hn@AZA4D{9${Ph5Ye@2b>I zqpS4&w@LEbc27Y>T-Ug95~TC#S-Sl76AxiJPMWmE*IV$XOd3!9O@1gV{a6==3y75{ zYdy1%7&qu8c~-iNN4hGHFj_qWVEdzinB|ntL^-I4&%|HixQ7{W4&i;=e6KtT|7wYJ zJ&f>Zf6Bl2tM|CIq5$eyOu=^(R^ocnLg+voIxo?st+PUUToA{eS3M5X3>rPeQAN>e-sY zSGsVW%{^=q$sH1u5;C*~CwovbK!t;J_P~MA2bGYFPG&=stzf?1IPV&j>Pq{mx30^0 zVFwU-?-INT#`TO;DNS&5f1F23TvbSm#qHpn_LmuJ1*&u_{f)!0Nl$hm`B*All1vGo zWlVy!;yhHH49}lLQi)jR=-H@nE(a0#lTd*YwpuLN%x-zTdMY+eliv6;EIJ!MnFkO2 zo`I>;U}{bIoCw5P9V@ijp6uAt5VL#ojR~Ua;x^_j??}x6_!Xkzmiz_dCELw?ek-Kz z9px~8rRIIRY}hhuHM(W}&xwVafjNZRS-VVKwVo4@4HEVk>(m)4-8fngmADcr&7S3n z+e#qT#MMIg2KDzC2K@aI{G;l2d(37dA$C#?-k3mzgh<}vc&)hJoW>v;B8j^iKcV0N zv7y$d-xbj4IP4{ZXS6-;_I^j636>(mlg;O6}#!ub%o(*g9mta7|b^Mej3> zO3a@-;h4r>!Sr2s`mAuD^{aS(SA6{{JScO0_^iTJ&*+9e~lMp%kP76*cea)D%;VOM!KK=S~)OY#$ZT!l|@3&mVFWAN@KcCL5-*Xez zUHY`gxLMcMyhrboH`SaYO!p^9ffEkf-m-@Gj0NOo&AFHm)ZoStaVISbsphqVfO{^c zYj!h^Ta(KLb0EI$twf}$zw2CM2CFyMhY&#Cu8+kQ1&Ze_48Q#P8D_U+FCizb#3?c| zO@>Jv$HvBQ2C}EIOSC-E#)+P5@hN15u7VfwGQRqaJBJ8bnytFUC?#B-k`axa`~DW?U^u3=ytK486^w5S8U;*=XJn$p;%|7hNknRYWU1s7Fyg5{aCO49Z~n|B&Lqj;C>nzJB=yy@DV>VL!mZE3 zWxNxaZWgYOdX)IJRlvDMDWVi99KD)#tSA#?JC)eG6s}MGZrdFpC$kc=3r;nFaEr5Mkno)Isq( z3wbPf1y|vHdP;r&Z5+Q({VMJ0(|G1pze;b}D(o~(|6S#-Jo{(CsyOxR(>s_e?+W)> z`4=L=P$ctjz9p2xXAiS~S1NhWF$_=gKQcn=Qj%Gftzh-_?B6TgXVs(kJAF58!amm2 z!Kr_^zOs0nmV@q2+-!5YW~9rsnXt`O4%wcjcYWuAb)PBfIuF=hvoU*vQG+7F6l04g ztPj1l;G(TvtzlZ|ix`7+W+bEyQcx0jnKBZco3>F$QW6Wx8l3}MVy87@)@zTnA`{VA z!$JBi^F-QEk_@6OQ;>4AUZ@K366sZA6|Z(us?*R$hPQ+md&QAQzuAvg60cB;V?=`# z`{zIZg}m<~{~eM^>?Z^h_8AxPW$vMRu#thoe@Q(Nkd0t~GB}y2PDZ##QZ0t4fy-oi z6^z1(g7u&}!SG~yZdI@h$Uc$Ao91Pp(mthI_qRp=;JnpflH}n*;7VPO4@?f8IMQyi z8C-wiRtfSB<_47>v!z02RCzinQTrjkQu>B=$JmibYkZXxz3dC_^Hkd2Yk^65XVlMa z9Xc71DnE_b#w50!o?^9q%Ke6j7D#+Zt*FpP7~<%h^vuq$26LF7lTMl88lx%ZR)aIz z`mIZZ*Vk{oFpH5f;WpNSbjY#8{k|A3t$Sp7!5tBicgAn^{#D*U@e@E{x}o zY{L1j%fEI#-omeZBKVL#zG{r|aY{!DJ|Ph`)zmO6ayYz$>%CmQb5)M=5|5U->SPJ~ zI=JkrJGN6YLUIXzjkPLm+*R4ie9R}~Re4XJjt9q|_3%P#o$x9@YgcI^u!S2Z$_dUZ z{7{ZapZK@kbjIo3A^o96$hYDVSIrH5*qL!Qeq`1`cKvv=bcE50&wSHAJBsfT$KEd?WO*%Tzb05={nNC%s#g!o_gB_oEnXyO@2>HLgSfZu z*6@>^v(G=vQ_MG$ZBd18$OqvKBIo)a1Qo_p8i)COhmpkxj5)4D1?m1lZ&jF}PF3<- zKwKr}THS)S$lFV1UB`N0i^Vniw7{eN0B&L57o%ZBg0aXG){KuBnLMLTQ~ekFs=yoK zXAmf@GLsowCbnt7q?N4P!}zkIe=^q*rgejtpq7--a)>k%@5fJ0khYP~DH+EaCbg-9yq(~9kD^yR<)zm!E7nr&?{0U|BAZUY zkI4+>^k1mAVX~0K=o2!6tUD*`fYS}__A+7LB{K_;rh^w!CvZD{8C<~3FSxLIjXyR* zgB_D3)8?hbszk8>r{CIk;-lKpIQ4@Cw=}#l*7dKk67i$ogA`zte>?+I(uI66oi0X6 zd4^Ap^&0c0jk>o!WrBnUHhdQ+<`n?~$TkU3eu=-%DTV2(KBw@@sypaU#1+%_#s=3m zx4egE!B4mrBb;T5G6yO|NBnY7)+9ohjoA`zJ;kZdQ~c{66NH8j%WWO{HZUED4|um6 zRnNj_?lX)M#-G0a2g$Hcc#N8F)o^}U*8<>ER~h;&qE&ts-amcURr>tOzX79zdm1K^ z-gAL4A_%+xnZ|G7pSmiC&p;>&r4w_0Gh zPeZB_1+V1qorLHEgOPpu_$L?~=~2^dFv{4Y8jU@HSU<`Tw>zXn%HgqTzx?_on2Ksx ziR=cm@{im)u|n;*^-yXoB8T>8h>lD|=Iu6=AoZY3rsGWuvXK#leni_DhL{H)ICky| zBcb!h!QCC(IfNr#5KZE)L>RpWEJN1IoWXkql}De2su{e;$uCT76upn2$k#!0Vg*|pSF+8P)SWjCINQM zFDyR6{bWXaXj#g;5~dsBWn5eEG(Nit_*&Pl(V_%l3>ue2PHR#RG1quXyl%m%d3mah zlYy7V#o%FgA6sAWroCaP9#p}&aqan6_8~6VjDL&jeaXZr%a~H}8Wr&6JjYV?F(5>F zEQj@0dbiH@pHo6?xNFmWntBh<_Q$@fJAF1!17fU2I51oi49mKO%9$tAEmEiScZ8*1bI=FV7rp6W9ijkNXPm;D-^LYZ`l~(2q9*;Y zEEUIieoM=$ygnmO(nonItKa2cezC`xxRtKT>bI_*@zK8ZGkt8jw}1!N68T*ft*3rV zI<4pyJuwMt@naH!-!{%Bb$L}G6~lFvr_cJ8e}zTFF0S8Oq=|#G;V5Zz zCW#;c4-i?JAygt$h^(QYE|6sTirH44l~;X3rW1VCJG)`PFkpjZQ*lq95#H)o_4Qf5 z1gte&N-SU@@D(#xqypP%+4kY|unVX9NmPVaolrl+s}sJ!Xu^-qsDJJwBIg4WOyU*r zX<(n?MeOCtE;am23r5@E$R2@Oj{62Hzv@@cGOIi*_5m_c2k)M_38A*q-X0I*JHy~) zyknmt#9Q6|SR)haLj`(Vbr0M}tWrT} z9LHuo_UvQRsK$$CHxO~9o#i8If-twMi%)~^Pk#+5a0F*nWjLLnQbn2!JObzT+jrD^ zObDo-7xYdb>T^_ks!ShI0q=$|bR;;LmC~rvnsG`e` zu49r}c}qv^;iTWGLUhCZx7&xo{Vl3qwqa;AG$oFAEjo@?NSb#b+O=M-qHnlbNoJ$8 zC(+%|pTJc3!C(JO3mxR**Oi&TxtU`a*bGKx2A7hXqAf8M-gE7zca~TqCkw&<0mu^GFB%+jwNZEXXLnYYV2z*KJ5rW^*vUlYycc#;-at1j1E$E3BTjX3?K0A8_R^6+htMv1Po|DC7nE zrM!`bxK9n|q@dZ=-X#75mrl57t8~&IB}wU`iU7Cm3fp7xo8T3hzI>kTZPV=oam5<-P z*RR4W{|YbvN~f80I0sRbC1(#s^k*`as5%U>)mDUQ$!7FJ2jsnA_Rl!>j4;bD4t!Q! z;t7!cyH9Jmh<A?}t>qRg}H3$fsAQCkq^Kk?- zq+wKbNU(btg}2J9TC~mVvF`PjIM3h&N?}Uf!j#!T1EQ|p(h-)QZ45}5LfuGste=4s z;rXsK6%3Q9;dE}>tIAvtZrJ$li7-yc;*w-01RA8AI}rfy$fCqU>eHx+zW4&u)juvD zrcM+raANZ)3EKBu8q)Y^6mhzJ{lxQRp+F~o}F2pEe@K3MCW+ScMI{xn=r z7O#m~$HD8C$ugi4e~t_(2W0blp~UZjEV6rZX(U83%{48{;^~(J>61fCF8@$nh1G z48JfSBTkG}o_*TWG{&jCeK%ajQt`^~RUVYJ@-NtiJ63e251iO;)Lj_5%BPrNeMcaF zD$g93-FKJPxE0Uzy8c-(!>{3#2$H>^wWh871CHN>mBcI-ExY|*|FF{LCF&r-Yc6S) zZA09Ekzujvz9RWFP!}1u0*6QY69~4aH`s@G?OVq3o->-2ZP6p@tM8V-0m6<-w|D)j zaeS|^{ymtX9r2JsHl}fO?opCf1T)uzvP4G^DZKaa4L)_p`ibzYYu&g&fubS$G|{kl z)U%jK)VZr`rI9&Vo>vxZl*{4S$KKg5?a0 z6cHBJHANc;rMbq7vu)^1+#C__kPw|l5q^tDiKeb#N4a2zbGAGval}3|Zj-0V^gBry zgqjOrUm&zzRWyVF#u^75ISgL7%P!TT%-CZ;8Fhe&TfdMpcq+ZRFU_?j&HTN#X@2fT zZVJN2a*3!DHqXWkLgxenKj5{hE$KA8SUezo!#H3_ zd#p@VL!Mt=3@$nLOhUGwLOL0T3x!{=w@;yA&qXF9b2v~(rfM`WYY4; z_6_+x#kF3h7pFUCuc-X?oTw5E1|}Z+0BI{RXNMjm<-zX*|E6{3E7NpusA+~&?EC!# z5*X44_X?{1jw{?Yz$VTG5~0?t&bHwY_#wUXtyJYYr$?$?bF+M;8QvvRg@K+Sne9+7 z%0#?rT?tmHHO~{x{w(8E594ugZnmFJxp4#Bi2x@%N@7#WH)gNqiaro+LL0?;FKK~F zdAW!JDNmKI%-Ss&-lG`(n@OJSdCt$vgkNGSjvMl|@Kv1)ZYh%nCQM!8*g3b7OqhUa zsN#tl+wk?JIg1_`ZgELB&!T2G;^7NndT1lK(F>82APjqcDgjAADPy-A{mCR5AIh3d}`;X(mU_KH;Q)oHq)k=_fJUq@PT6-jMmmc%Ir6@R znN1}2h(p%B@IcUDM&sPURF|kCH8FS7y{GATI*Y8t_;b{ER#Rq;H+fJtn4w37&GB&E z)LS`RPKY0|V={r5DFM5R8|U-=1xDbWP5V;y0WC*WrFuW0xG_(qHT&}1ts>w@LmmB{ z%y_YJ)`J+DWx~L(t~jNK{J;P44G9hj(TRaIkdV>_-sk9*Nv^@^=cGbrI2?1gA=0&d zM&>sjbL~COvYk@~Ha*+rm~7Bub_tjJ#9>SZgzuz5O@UIZ>5z`8w^AuQ5}0mhVO^Ay zX&zwu_tbyv(Rsjd4cW46@YDF}l0&^^syUUQtr?dwIRds!a>Jy>K4TgxO*|!K>!U%? zam?j7&2m~7+l-R=2j{qPY-D(~L55|$eb>KSX|RrPBL;8)X+W00k94Er*E3=OD&zM|Pzgb2<1-JA z_o`pzbDD2S&PERLyum0Q=t0Mo#%KR-8Z94tSK;O7xuyD5NBbc>M_WaI)v@&SNU2KW z(|S~0>S;W~@>lKI>K_cJ+A}*zbQt36JSC)u>w8&f+35?eaVuV=GZ1%ys?&S$G-hDY z4BSKbV5F+}G%oU1ggC4kVzfhjb;gleA)P=B%=IRLC{9yJ-+7fjy-KDY+0QPDk z2}V0nM|@bvBP}B22xFZy)UKZ2>I7tins<)TjQvDavj-47@*d@f$*B5Wv)@x#<}qiB ziRw=GWO}m7HL#|ZUkMBb`NH~`nu9Gf71!~csfEPVXoPEZwqGzt;OtO4D>-Z-TxU!+ zY&$wetP^d)jd?CsoRvz=g`;L+5|aS68Cm8lv>;ChiCk8d|MCtlarhTcgWZH zrgbf})8f6gwCKMvNhe%&eM*%PE%K}QuPJke$KL{0UiB>^de6bD+6mFHzZ%Q(Ryqljh%0ykY`j<+gOvz36)=w4ITdwjk&)2^WKO~gs6wV|J={lSe zyAmIU0>|2G)ds3uN4!T`krd6R@q;jBaQ&-Pas5SLiQP;PFzKr))5*7K0} zA&emyLhG}6@bNHi*ihZ;+My@BScWO@@uZ%vqo|4#PoBo2Q!T26te5JJf`P%}X$w`A zPCzWfXae($u>_L?mrCN7sFdyeasMNelrtpqWKJ-A{6oTrppt3S&0aJ=yFhIXlcHQ& z|K_?Sct;{va<`nWfzDuZ)=y>_41zWfwL4)>C}S@p<%xbr`HU*TduAfxPiDtIp;-PZdyW4}SMcgtb@031<9Upb zZw`v+hxutag;~FTG7;(N3n2heRVPC-TQv$g!=tt>Jw`}+99>`7x86%9E<@2typ0!( zMGrE3-`SCl&b0k^&1{Y_UcdEa>dRj5n&GF*fl^Xo5O#_-LD%fQ9P>cs-Sa)&9x~$Trghb_8gxV_ zmasnFhU9jA^>Og& zG0M0>HHwmyvLj`{)bC)l=08NDjkU@@?t|GVHA#>)l(GI2Xz{xTu3IWz$R|#uk+?zq z15aS|acN$uMs(nAwG4&%#95u^n%c;iV0LjqF53^tdyR#$>NR1+x+Soml(N8tw8MKH z4SOMuQs9SAH!uXYAaI(^GZNF?{XKZi?gc{U( zDGhFJUIzETaIII|hjl6Wt>Oe9wrj9PJi=Vp&H6F%5PwSj9J($Y5%=&R>Oh{PQ*{~l zMKVEBVvcbD?zS-S3C2F2?<-?dZR&W6z60)LT<+c6BaOQ4Vg)l-J!)S#!!YX{b^8O8 zo;xmj_MnA;LAg{9yOl;pn1)17DDA6xvX9yX_qSeMT?JDl@CR38HHmGGDaVKSC>ms( zidO&v-}S+>;?%PXidS)Nor{iCyc%y#BF#PE(#Ls;_k7I}U1jiTzv#=*Ms(y=>cc)f zfZMak#IoqB4Dr!uSCyy2>RFTJjN8h|hw+6;i?(+s*M1Y`pTZrUwzJN*GKTa?d{myN zxG`_T35Y6ZszBk&NL-K*rb)lXBo=`b7&os2$7G3ADhR62H1^=wt=NpNWSHw`Go+;tAK0u9L0rR(C7=?+ zxIF>sPYY4klRPWab)f}n(cif@&#eUB(RcF&J4(ubWlu+aCL_Dz^pkrI_I`XoYMNfa z)F?aZy$iM_T)58Zx}=0&%UDn(9@x_nD#);aEZb3Js7|8J&OT%T0~@>^oY?VaJsn%VA6@oUkYZc*&d8mM^<(N{{7jR9 zMeKvQ#vsh`8sVnW@F;U^xS@D)TLb+-HS}tc*3B6_mP|pf}^Ql}F&WAIH#vIdkkNLZuJUf!Zq{>%Mi53Y1X-a-o z&nlnlyozf~q4nP)+wc4tLr}-g>4m4dW1NbcIe9upxjv31fviJRsXrY?mjl5@2S*3L zWBqzK5ub9oh9unjt_6G3+fTNv8y&)cobNKURz4WXaqw8CEK9`W&jP}s(SoygFN(Hv zPiXTI_1d!DGo9zrYWrAQlJG#xS&unG;#2Cw=zp-$DCG(ZP&(|3syzDA*1Po{VN6I$ zd(>JloUJKydO+&CM}nK7ezPx+X&;&A3q*0jrub)x81CkZGO_3Hk#d}$vwefD5sQaM z)cWo(M1tU$ud}nu!820UBR4~QM;d$t&Kd%{p{%nNYTL7`!7ZEI|N8I$HuzUI-+$7I z^ux!&cZj(c$y$zQ_e{bFWuP(&@hwxZtP<<*-~T)1RC-0_OWiza?rFg-8!+l${`3WW zun*RbXEUlwhLC%@jx=3K+PS7T%zLxl76z`$^!k$ZG0L)}t|2MH2%QveVTNkCoPe1^ z2L1K++u#!$&((xH{Nde>7~Qb6x_*(#Vih_<3I}(p4m~JcChF#U>!OtP$eJPSp2E1f z9!c+<^*P#lw}BxdWy;vL>@`)zx`n|`v2ax)+&rP4b^VU|d2slitq|rNlK~Bqz>od% zZuKxYr~O^8)h(4uDbF0H=wSfg7k4p{0suH-f1n04Fxa)*QozfYdki<^?Hci5h!oGk z1Q*w;au@6YWe+AyFCU zjm4M1hqP6C7&MfA9t>ROPd%)UMlZ>X$;nwuQKZ zPjvJp#Y2lssFyiWiaEpMnve zry1aBc>N9lo4;ucE4a1LefVx+ejCpjZOxb@a_MhL+f2z3imUYRy&uXHDe_OB&Tw4~ zw2YDEt@qRC5OtG_+)7tU15=pj997f|t}}$NjV4GFFa_0Rp49RTabPS!>>xb&-@rt! zu0O?$&b?;QOW**oY6vcs2cGMH!Tj70B#`aSfxT^r>sp`*4TCc!Pv2fEsi6j zY?jBi@OF+kZVQ#Hop8pX0dCb$nJ7VV%SH@i>yE!$O)fpVl^QCAnZK}9->+cqGbRkK z?YW&mMr0hfXn3^T6BiBVx&ns&b0z1yG@(Qj=z|%?34o3RIHi{v2_rL<@%@StwD3!B}=Y6z)qn0x^qwnb zSO~8SEl5@dgfzw?oRSO+rbjfDl#_mTIum4~f0Vzfl=obfr{W~+V`EEViV+%z(!6qY z_Gq83-i>Jd`mU$`{d@m?>hDOljQUqu>sjeCP2{9kS4Ie5k6gn}I($ySYXq)VAa3_xbD zGUf;JTyZI}_x0%?MlF=vdN^5#*)>m+MVYPl3RUh1qP{{Jn{&jOah(yL!7#L(T>;BO z$|dSVr+)MY89pDuK$Lor#LqGM(fU$`FJ4r!O5i-7RG2c)z!h*@M^yFs;+{M>%L+BO zfR!dy^?GQ*Ez)~Pl;GZSXb_~vsf@p580L`^mSdkY%?ODim?UkY%Cc+{v{s$4uhWx6 zoD8b&x35mUri-@n3NF`{-I}7bJex6+ffq;NQ3uPX2Ee?Xj37uN>B_W`9>5oR3{Jbr z!@l8=vJYT-n|$&P(RCN7@DNA(}Kz@&3rCG)TG(vKDKs`FXzneO%9 zN?UYK995drbjJNhhjIv~(wkFXrp&p*^Q)LnFnhdQhOo~3i61Qi=JKB@y!%oY<&LnH z2mMYMv|z+0$N-~8dGeLM?&J>GRbRvHd;ZMD38Bt@ob}IgSRR*{q<^Nhf5_JT7j-0A zeB)pB&-4K7P9ME85YvRv^B~va?8h?FDcJE)r(nhsM~+z}iIP^4&q!JlG4VK| zZQ@Kz)&pl4x47xsF8jc7UkjK?S`2#OF2{dC^i`Fu+)Pg&QAmu{n)MDD*m;m-jJY)e21%bq@N^iXw1JIRoA!Sv`u z=1~%rcvJ1^?KcyMuBX7rh=N8CFM2l}s+eTNN19ohhQiF4z|6qEOwywXqmNK`ts-5E z^<<$qhyknI4XXD&YB!JP^Xjby>T#K-?c(ytG zIDGYFVo>uUy*VVJ)S9m?kzv7jDeKUm&9GCXVr(uC_A`ct0 zH@EmHQrlk|J*pCAKK-OV%V+~@E@NJ?4x^| z85%B<3Q_fpbge-mPI&zIC(7KVH%9rrs$YZk3THL5vED7*XEn&7>Mh$otbhNpRL4&9 zR#^E-6m^IE8nXTNcN%^g*E00K0M`DP-t{bmuwaBkX3QhkNFe?a7}t?p5{`}bq1VTl zgrl@vi;_WHbBc@R{*N%3=(G&9C91m(%+k%{b;!4pirXc;NHk30AwcIyaJhF-g3FIi z@9fZ#t%T}U0U3dtu~oA!`AL}JfI-ZZ7Cc4fmNgC2U$P(2Gf3TU7V6uZE2PHzutXfd zH1?w3{idF zuz_7BcXM-z#PK}%`>h9IgAHfGye#b-&yc9;f}dx(!pu0E^BM_k&f2V}+Bh2)kE_)a zmmPD?DN@^**}{yp8dP{i(F;^UcrqO~?Yo)YJRDnV4!d>@=#1MzYy+9LQjkB>1S2KA z@s;ddzaCKe3J~qYMcN#^$yXnT7ZjZaLrWJNhfx z#1n=c`NPCgGE=)BEv35VIs%h1{UU+PsbheulfT~OESEPRR zZJhqy?~)>YFK6A${p`KM#f@?LpJA0x^y&6puS?S>-}{AsbpYy6uHw`) z{85v>=b|&U2oBDpOM-GNL5947jaUEOT>5`etkapjG9j(o015U zG)znNtWuPc&Isv7qoT!wYh-hdkCWM{5(0;ChbeaxNqijF;#o$bF^UXP81`X}z?6Ve z1(uuDO%u#6aBEnqXvLxFY$H{MPppMbP;Gm_vit53k}0pamRVvs`?5fq8>NxXXfgQX zkMFT2s${FyV6{%%h#!CEDSZ2n&OL;#*S=6t!`y$VwXEf{ENP%8^FqBW7o!YrHJOrr z&vuw%6L7V_toVf>j1II%H zw32rSTL#NzU$q@aV{b!AV(J>AJlDK>XIt0!G3`I&`ZNVE>Oh?N&9^Gxozvgn@CQMp$_A z$9Unyr-8tTpJ74&GQH)~+4i=F{Z(dnNS~oCX~JyXC_?;GFnnfxv!7K2VHNG-1f-sz zX2uoqt!Dv$E3Ev?z(%hQUjC*9pW)~?=^A2!(cn`$Y7vmGA+{y_NBP@GN9X(N@3+$T z$j!zeRh6#+JC^U*u?;$f7wUwD_zDw#{gja2b73U%UId6`&C2YBnTK^u=3Mye^R9Qn zzN%}(z5W%a!s}UK6>gi>yJ0&0>gUNa$Xd)G>EWAg8F~vNdBT#^y?vey>K%yI{fxCQ$B;*D z$q-^qk-oHXgEyP4SKM;2@-jPy;h4Matfxj94kC?drX;?C$laiBTcU!zXOMef_XxuJ z`SVTOobk8+^WO(g7|Q%_|N388?^LpbpaOrRM6sF}t)PWK~ytNEuy^#E_ zsq+nt@e=7a4ai`O)O`>0+Jea^hneJBD|nEx!GNR%_YVv3pHfdqWYMrlyg5XxVJ&!Ll7Zh0_?K5_sCD_VpD`GP#u?zd`cE)3TY`MW zjr~Bn;kWTr``S-DRY@*m{1thgv6ea02#AS}ZL9`B*~GCsWBpUSs0L^A1-K@RK0?;f zmxf5`PEgiZEjsCN=cb2tKeHyiB9NH6rG`Ous}pt0=Pz-OT9$qxo@5j; z`J?aJ|Ei8u4<}xLhwH~xc%1w(opDa%6}-YtA8uIvC|bA*?_v2~aC}ynPw^bzY`bBE z#~8$$rxR6ZIejz2nV3j_!~s2qnEFe9q(HQp+7_Ngqr^$%DN=Nt$!k1e>0@l|01PIl zm@r1Zjk%g6tk;7+B(2f!wL21P;hwsxv;K$jv`EIcsjdGH%uuuA_goM7t$2lGf!Dk7 zDxG^_0ue165fXby8m^9~1EhzDj*iyC!Q;EGu7Ju&^bC-Cbj)UGOkE+Zo`*QC(JDKi z!3dj2pS@`-{ozS`>smkIRy?0OfK^<>esDEg=mH9N;T3t>h3q;Fmo*bJZR6tR@hV+| zR|KdpU;qBIaFh4(8n{Eh|x?^C41(`-QP@yH00VOfJnFCvfCefQZ z)2GbPCktfosbA#C1PLEx2yrWEoIMDK%C6-`7?Du-I(i>s)4f~j98bH zLBAk@co{HF2xD>!ghWF|#Uxn}Xgz69J7TkD;pAyi`zg&Y0&(&l*2L?I!80S25 zoz)8retUyNcEh?LOj!mXQPW~~$8}AE!H3vzuX@m)<5{m;)y(K?#lP!pT9exT{xmqU zoPoRQ&k#1#igO2rOm)nf8x_EZxO`Jf>ZJM_6*-OUHV!$_(*jFY+9p(s4HrBDzR&8b zTB6F}WQ-m~XIWA*B^&%qKLIcHHQQJGdH_S57z8dqe&j#_j>fZps74PiC?>!y58yFz z3T6qOF~}J)xq5*a>bGV+_>4W0S63GhWuq&R$i&P`ZAPnKD|b$|?9XXbVjb+CK6|{? z__v-;dU{v&F2A%1u&-o)(I0T_S8$JEhWB~>BW75%$9$_?S;u4uN_%M~3!QQz3f>$` zL5C^SkjY3`v4fkG0PPLZw1nsWTVY$~k{tJppY*f8h*jgOhNY6YV2hTA-$*r%e(^|{ zC3z=JvkiW9RWEerKL&O_s@N&`!6)%-J}_d25HDGPjBz|Qy^y7U#aVHRzZr%a#l_Z` z@c;}$Y@7}2AOX#p19|EvjSg5mJz}xdGyMqnUpaO9@44a?0S^USsdI8hilrfEKpx`s z`3F$YZn?oIzu@)Oti}(=(>x-Mgqio~3;~lm zs7DV!@HdihX1YvI8CrNoD(3E>k}1A+VW<*bZO}O-Zr|p=8YATdULYv=n@8V1RgaeF zhlg7jJYB^#IcL)^?B9}ETtHO3jbgv&Bob8}s=GpZKv%Yj_%;++$d?W$)X6EdFEg z=U@MXlz=)96(+W$sMXYj!hqP@_`-c@TFA~}n9mFLR6&e~kM3hrg~z_f`#%z=l*#oC zRhu%7ITDEy#F{;Wi~@+J*9@U}rN1riZo@KGqPFue0@fL2P-id#*XWdlG+Z&?Csf5w zF0_KYrVJBs`HXtjbyuxqzum52#Giwp+t**LI|Od1G|2Di{#(F~nLc$p_ofSQw4oi& z-AB3jAE>Uq~8=MFdF*Zm_r8UaE#D|#D;$+AHZ1dk*=vXnp>=0 znGB)IzJ!6T*}r)E{kP~F?x{Rujm|ADx-s;`6NFrA+(IM0(4FJ@V^tIi^H<~|e|EysGi$XmF{yzj zXc;`_mvNJ+uQ5Oink2K7Hd#&z$}5h^2IaFIGr#WH@G_bt{jO~+w($wh3LZW=Z zx}>$%oxX=QK$IMvk$QLfokTp)2!PBW8%zYfW~|kaJvv`Q1vT3K4-`>TBG{Rrn6R%JDA{q!rRU#08eRrt@JiMLE^d5#Ra%46Dm zKh`nfy>6eM=ka5RWt8>Cf9pgP{Um5UoxD_ieoUP{N)|c|THLBI52=nd8u>X?M*^px z61h^k>ZUkyE${|oB-c73D?28H1!CvEI|qrxEzI^Ye2_V=T}R|MM%r{e@l5N)kX%sh zLENVh>L5%_g7C6jXYyfE4_;-WbGATiM-WE18fRWJKv5eK{|1Th5(c}35Z{y6SJs=p zeqRp${`EH)&pwP){`BiF2tF9dU{3$=!o|N>p4tZ_0OG<4!7YUOkH>oqgJ1v#?}zmB)#2UN-P6kG8wU3&8WXFRH@7e3YXrN zA7P;Q6pE2~PzR;Wpb^j!%bzffYxxv9WYYP>Gkgi4T>h2rCJtnBf)+;Lfes_H zuWS^nkEkAr(fpUio%7bSxPYM7<5z;|AS1!@n4HuLan z0ID&p=zA`>ISrzV%15P-6|CdfY-oLT=3DLu$04z< zKh-xP9A?;w_kH|8vMqmb{rkc5@Nz7V@tiQU_zi{~OlLfQGN*bMXGNeR(i?v?N^pCN z<(2`e#&q@$h2}p}5?D7&Z%}YzGDf1YKC0t{E#p$P6`SONul1WmL_fo!KVTybHcaQw z0VN*X8le@a1Hv+R7o8WvO2qA#GJ`R*S?@g52twvOR{}tdB`#D=P7yozNVn5V2%#JD zNw*@?N0`_*$~c^T9^4{jZJ~Z_`(t+oer&UN3-FyTxGRVw);A*T0mG+_WxU z7Dz*Gn!hG*>#L+QM5>YGd(BgvxWVAK`Q=Z8-~RUZ!EgWVe+)izWBZ?Bl%osO$VhE# z>U6~+<67XVR`yVB8L{{m#d9t-)?(HCT<>+h>_0LP;lb#(J0y1`2Lg$MDwXtW>aUfg zs@1pv8C=KsqwQpbUfw*1iC-XPxqs969*l0=c}qs@Cv`{z*Y(F|4Tk7D7cfr=rjw^V zurDcJ5I_3`;l9g+WQJN2Qf%soA(Le%Ow+9$<0=ef=nrue95a^f41E~oR@!zl^m3;` z)h;B=GbH5^_;6%|nwxe&;R_Btd>m_JaHs|EUR5n^=Ya{1p_2U6n#lC+S2@{8W*q&% zUWk9a+b4AO?YrT+3ahahp5b3_uhSKbl7Nn}Ucaf)DVMpES4UD5XvCvM^RzJQChX%+ zX4vwE4kP}=I50ezAqlfAKCNp@FAi~jyHr$6N%f?iDf%2Rqz623#>;XD&+>>1Rr^38 z4!Y?|s?c zDoY>UzYC)OuJ=7 z7%(_k;0!B>m2upxKGY%=b;t}goc9E7#wn%j=vzuPT3D{>2kx7jx&8=I5{C{j_mQa@ zblZY^3snKGSx<|zM_Kprs5r7dSaiD4{P#Q6jBq|+&gLG=hV*yA$tE!Vm4i=VW!o4h zb@;&S-}5rC>L6nH!-rmFLb9;sdg?m3@HIFk`Rkz|Pw>F>( zbS;lO#0Bh!3uaSIrKF}bxnwV*Qq-9eBDi0yIE0*fX&E^K_p_@{gVCQSgFn9h9uo%- z8UG!LP+b4=~){|qbM;xrqyYx_lDhaDn?T~dYo8-?|b}!RZKShph5Hx@oGCr6X`YiBRK{%38WBj=XlRmqZ+3Q z?(8iXA=T@dX{%9m7~{(aJYnM0Ro?m+hd+%|-xZ#fZiXEkfzJ)t!zB*OF}<`*bSK}yRL`c3+Bffo{|b3&~;Pe$QV}(PLHw7 z!j*U;z3DusQUY83Pe0451*B(O?osQ7MQW>yYObx8l}LBqwy=k|UvN^5TQ!7Va3+}f zTQ3b6F1g`ggF(-lH8|nQKpe0Wj^pz7iXrN^2QKb?Kt;v^)8G?(2d9@ZLo8B}KE0&Y zJ!c+yc0Ip}@(#J7{Q}jRs^H}r_ZcFUcqE%wO-&(~Y8S=j67{J}TM0!eR-!4>nUGEg z35C$AR;FGMTrY)o?d)6_5Ks+C=navl7uIS_<6V48Qr-=?2Cp9X=HzY+ZYD5odzKR5 zpFHT?y_gX7N7Q^@zy6UD6fm|s8L3CI<@OCyQzj%Xh?EBwcx%LH=#~PGFhfFL0Plr; zp59Dvdue|e1R3JxS*T8~My~%LovJGR^68gkboK}OvcugqU=4b_uQHEYWAdZXicBA4 zp-b@R2}Cjuw=w*}0pcFq{tTlHsg*j~#!7&}b*Zn?nYT?yBy~xb#Iya6i5T#dZ0!rd zw0wd1ZRkVi(@Uga&8K#QTdo9iqT~S!k1)lLbM}w|LkUW)#yOLoFc2cY*j7MUbmkib z8YunvmdR&XQth98Q)w&5ZQZI<<1>JDe|mr4>${#kGwhQ6e|jyLefbNYhJl7~_Fex4 zI+v=>nY`|EAD7pP!o?!b-YDQLtcXo5?dSr!#5Q$&aPsz|Z1W)(v z=%ON3#wZ+Vcn+J6HX^k@J^cQ?k5li}sr*iyWMw0q{5>zR>S85ze%r7%XkYHP^6KG7 zV*b1pufqDL@hb0A|N7p>Op33-S^D#Dz*Z<%WVy`md>{6uEb6{x+DU*|@WZy&ji)Mg8FqVfLsTSv&x=so6zCazIx>FwE z=6?6)sVRti7Euw**o?0f=pg{MuhxYU*f4$p?#8RTsOu#Rd5LP=eSw}zHD_yx`74pl z2vaq^)40XHiMSzd{gFKS)fB5wCtRj6KS0MiVJ`c~u#*m%CT4qt+ZN~aB~KLk!ZsPL zbRXDrdXH2b+ZY1boETS)I1N58mm8hO2W$>VOHB2A}#*8Q)5z&YK1$Nh#}!*87J*js}k?6?B*AY zgD{^ar|J3QuuXbW<&K2yPw$r&s>Jml{WYDms^uH%?_^HV-oQ0|Ogwnz<=LcdWr~s> z-ob+l_qd>&@icDY#AvGalMw-naSJ(#PvK2G-?5yTs(LwfeP!%;(cyx~nlXi?<65X7 z)Q!js+>WFxr23t=i>Lovf8*qlw*s1VSe=|KAT5-f8)_JKjB3k)$IEL zETBg!4}aE0r|12Eqc#8{@QptctODJDY>V$PCQvPzj4&X@Ef6MCg=hzsV8r?tL`LI_ zsm34{g*@GO9|uK4l;9RHDvUB16iS~dapc6tl1k8(Y8^9P^)rEB7NJ2=9wfrSBT;kl zKhEx4xFy14!6+LNp*XmL*lH9Kd(D*MD9@ZzU`7ng3)HjsPxrt`;x~bL4v``xtWuZH6f!X;FLT8sKLRHb5mPp&n}dg2XDp zU#>ayV0$^3F~cart@QIkTggl$78CGu4)M3WY`2|~4^rsR4eK&W8Db1Y&nBgJK_6@v zPu$6gwv5n?^qg->nCHOC)KxQE4<#wr=ERpcasQ(duTrBE#tWn~6w7=oDdQFRY8YWc z;Vm!l>AXwk1D(Et)IU#K5DVE-_!?B zdQSRLPvaMJKNN|wIHA|bt1gtG!O^Q`wuYs?JEG;jUw<3>2R$qv{iIk9O!nTMO$?LMZdPERww>vkM}6=z2R zE~G@H8?8!RqqT2HR2{GqI6H5gJi=2y8AmKMl7nqwXE(klq_}1y;kt&|XyJD`b}flP zfrO@%wpOB+AYmCf!z5G{mV?+d<|96>hs00=6*rqdL#Wr>OrT`oB#Wqnzp(FZ&vj3C z(Ap!`2$9YftnJyng%pu~-J(BS5V6KzyC3d8LJK>(a{MtZGxQ{pkN z6>C^BEu}nhDN{y&J@|O>ISBHG^}q|teeE$Z8&reyUy;<;tYh9r`-pRFC1FUQlKfSl zu8|ys>4m(OQ`M|iv$m5zrU8%$kI-AeT(mUJTP`%9K?xZr;#{~cOF6wZNrIzXQhAIPeLeh^L^Ri9FV==>Mz-YuAU`0>#dhfl$>KS8*H0DvRf2Ws~_uEg> zImr=0c}J#a%$UDn z!**$PhG$-e**}GGV9MqbZES8;XX+5y%a0s<`U_W2zDW~#L|zdw(&lm>wCl;uu@NyD zh4*{u0$9BH=g1&X_JnT~Fo3#Nk;wGM0#6O;)7E=E*PLfq`ISk(>2;R*iCL?zV5*KV ztv@>^q~ib|FW!YlY(H=>yW<9D{SSx^h!Q;qXx5RT*wVE;Xp|MInZCXa?7^>e{$UwR zpt<_D82$^^c2yRF4)2Ezrmkt>{2QIf_Tr<~Ut_dNeQ}Q! z{3Y0LT-)`af$7cp;0}hiR}Ia$efCC;Z{K)NhU109=QFOnLV8ld z^z<6ltK&KPydt& zKhRcFV0+Vw%=Z>a+zHB<3D)f&-v%#Uf~?ewRjF<0Sfle(568rmtubgsAnIN`yarEB zH*an{WL@JUWL&8=lOVemXluA3wKFn$%#qkjJM1z=dr9Y)gZaeu^oHVxE5CZ`>ASao zB;!89?ekeVkXqb$iT8S=jU`s$C>*al`eyH(fW7OW6MdPCtF|nlf|soaQ8Z^f+qj%{ zU+r(nS6XGd_N0fTQ!DiTK6OmVBY$Drc0LQI6W0X*8?chA=KG<}Et{x0?`~a?`1q|f z5FMSTPQW|VEI!MfzDv5yC*rneS$pc|%tPnqSQ(KltmmhSe7FuA3QF(v0Y~#s*OC|-xn8P;~7 zNK2cDd)Kf0cI?Df7eKASuZ&V;$_%zh#WCRo3$E1$V`Z|*6ov_k$GCao5B;6|JPURQ z({#&*IHD(z7M!!6(0s1gGT{2@`CQfJf~Uv7&9P?X{8%`l-A01HSn%V-o1GTBs8~JI zRjbW=7_G)C_xDKBlxsXf{Rv@II-YYuu#?PZ_G)gx>xTC6Ci`=YT--L|LG61~vgcS1 zUz0Bdrca=fqure>iaW`e%yhr;?m{LAFnyV!DpNPu&tR+?ZJl$LtLNd`zFNk5%-Rf^ z<^*faM1IYL&3g12Eb(S1_xVKKXX8)NU)-}7ZDo6f#Nzrhota*1Prn&$`nx z_TN7dAL?BYET}t=-*Ycd~Xru@)fFW8Qky;V!3CW_#(l!1P z>W>sj0TO`;ERk7&O~bnc0C#|4!SJuRd-pKm{1(1XRhumto$n|aR=n3w2Z(tH(-2`; z>y~4yxN9Tk?7-4V+I8D5|L|yk5+>yaOwEOI@(?*4qP96sd{>$Z^m~s9_JI)_5a>D9 zZ_D66ILdm2k-1LgPPq76bg(a9M0=9%c;(>fmrf@lL zjwCo^ri>OZj0sdlAvc;!Wb611Y|_*A>cVhS3^RoD$SExn(+TP@CCw3PTCep{I$SLB zI4ucBsJ@U;AoDR{S!qqFlnx==sLpd!It*e9qcVLl7b$iy4ha(BGQ!w4003k_o4<8@ zQ7_8Yh0jQgmq>e70cM#By9aDj1$60q;W zkRj@Vh|!+zqZ8R9)-aVIO&dS@Gbw^$IiXsu#C4X*+u)-OU{LOV^aA174nSIu*KuCx z+T5J>Sx_+f<0BK2HGNgRs$MK}^UZO1f+c4Yl_PWfr8xM6&GP2Ok- zI2C8=7z5ZPw?jD5@tCvi{(SI#&w3n^p<6bF9B6QLEu-V~m+udQyGPo9a?H5u%0A~L zM6(9Ry?YulFpUWrhNQrv&Fyovll?KSwL;>1V1l9)yu|v(dPlo3ck=0>-JW7&OBU`_ z314DtWOw=7HyJh;IfI+Ja>}c{A8RmvWuW)@ZqmzEoXUpcbew(+qivtzfa@z z-^T5~jsHL6PV+iVo7C;p_xN2Jv_p--S8s=*Hs(DSD2%^8+wiWT}W(+aM_m~N7&H-bh13P zBw@eRD9PmdaENx-iI{u6Dp((u0oE?vk73lm;kv?P*sokkoZ)#IDE@5j%tIK(gbSX{ zq&t2er9#6bpzk?1@5=zw9ox|FXwT?8lz{>0ASNS1ct_GOJS-sbcBb!LdvlKmgE^eR zgksQ!I+PT&y^=9Q9U@E_$6Rh6!cQ?=8E4zodp1ZjeBVhxB@r;?#A%FolYN_9b~K&{rC?kAFsD7|>brR|Pg z1~o;+N0{3-w8R{udh-^8U_6u&0oLM#gr$1d{LX+;dAYC7tBJgtN#bm4DXWP`>cU z6?jnM5uXxqa}^&!G$G!$t?zYpO;|9ZUb74yNN(I7f5vC5f@P&7D#4g@9BAxe9srBF zD-}+i9GE{;*fli!n->P#Z;~-HNx@$nXi#ziBXFV^S6oq64V=WIhDYAhs4hJv8*sy9 z#bfZa!c?kS-Y>9N#Tu71vZEz+qd-VxsI!zVWsu~**|0UlKEg!j=8B~VxLcg=0=mvQ zlJ1grSabI4dW2e%>bNcpMp1vd7m$7kPT*l7mEGT|w!|8kzN7^1q(K^?T6-TIi#1** zWJ-nN%mJ&q^XW;3okm=jL-bmV?v9keJLECJzu#lFr*R8r{}d;^J53`+dC#RLvtamC_$i$6tk?H| z5LWf}>CbXa_A?IBb#M_u-nK`7UJ-;>?>@uX;c-eB;nylx`{dp#%ONf4DxNT^O0tA< zhZAI41%t`b5iMI*G&`U1%SyG<`W$L|eQ+jvEeRFk`Z67&^Wr&`NB3iGKu>c&hRGY0 zm)>(|U=A+Ja$Ey6V86}!r6EAWHT4h2v!4Z}=j*=})%w-%RSecV!ck8NvdmbR)hX5a zYw#d*R4RmLL0}>GO61YjNQDr%P!XF4eaEH>d;&)+KH+)_jGM7FmXHy~A6HM3RYfF?mXCrPN_uz*9!$OkZLqE<*x95{vExJT)guY+6Z*pENj1Vs71wNOkp_gk>0+4{}$;z?^HvlP%Sf|aH6nhlH#WROZI1aos@Mr zzl52qa-=BE10GR(dLj&6fUyDdg%PPb-N5+n-7Cqqi9OQ)1l9S?)rY|!8;-oA97aA5Hm+5y%}Woq^v8Jjru+dOr)nR)p=BMcvKOS#20 zcz;A{bbWk2c4EbZgt#wfg4}g8@jQ3V}pT191aeo%x$F29%xPJG{ z@U8Gl`?F`C=B@W*?cauw%&@|wi$~fRb%egW=NwaFv+@p&6h8V*b|cTy%jA0O8nGiYH`v~v3OlCEWU23~Rdc=c{gdY26G z=*RGB!QeD1Z+;mb-)#__=3(Q;Pw~eTl&yZ@!5_m_J4IRvKThT^vyzcWq-PM*sXyAq zZWWUr2D3*|+14{>z4n2a$=XD;33-LYO)*z66V*LhJ4&!rHNg`@t*B~IA}U$*T_R;! z%(sZfjMG)dFd8>qOI%eODY-ppWFa$vffWH-ay!8o_!@QySEOWO3DEdLsSs8Q!F3J~E|4HLSeITxyu6R`g7vBk4igW5>S(unWUEG4j8cwh z6PiXTODRmouO#MS1lC6;FX0FYF=SNoBA)n?`IH(o3>v_v^_NMBk7!5Q!}I|IbW2eE zsSZ>Ek8j3Ev@zkqOv!VBwW#Z}UYli@hA&Qboc74%S8ymLU0c_i;Vp--bZ$9t-Hggm zeh&bEkfXM}=P0^6*87xlwdS%XwptHtgZLmlsxoDu%anf~_}8LeQ5 zGRzOxOfIGmoP_hs;OgUQ@L&J?zp*|{pJ0vfoU~ULNa72mE+j`#Nk3zMsbe1oG{d;% znk_Kbtl4_%j?#4OZDht~eAf_dDU7K*wZkFmS^IG#HrC(6 z;)zbbOexO&ph|mAfOI1yTGtYdYhSO4LRMB}002M$Nkluo#mlVCS2wgx z8C#ZZMgPNtNf_t9(zYHgNVTH>sBU!(xz|)@yY;UBwr}Xl@AO%DSNaOC@0xVgx6ji! zr+M_>s(X7^VdZ!FUHr@2p+L{_&Yqsr>EZU3p?0Bn~Ua>C^OmzLqEJ&m?EF zM}-0IjgVj(XKkfQrUA(Iy^#pYVA@a1Lf=DzGa8?|9>M+l*xkU*72|73A`2~2!wE=2 zBW#FB9SHtpQ*R$zZyQV}7~T)dGH~2Qo|rG22e; zRQ>G2!NdvIMVzU>WP3-aLv1Frm(kem#g&6o;wm$9qxM-CFhEpUkJ^y8jBkN~#!6yC$yA?e zJz0dw%9vK7;~jq!)+#mVkSKcSvYV{8Q&eV1G2f65r&#tuGnr^WxY$17?B8`L*90X> zNvyyFjMOsQQZhi-2Yt%K#idLz)TH)N+Z7xIlLMEgBTC>-)trV%GDrP+#3TUE@S7_o z;2AK7wt(wDQtk^4>_?8s-m8#`I3kwq;8S`Pp{j&HTNx%%^L`;!sy(x1Qn2pSQv*j!(nuyN6TneVBd) z&v)Hv`qOXASn=YerFrYU{Qm!ZN)un#;m8d2mp;7bH1LcO)9@VF7H_okWXm5bEM3lu zAA$MZJHJ)8*x{nz(ScK~X(J?om&lc?Lf2D&H{jNW?}}R4SV$I={7V)fU1JhdIeTVy znxpGN{X^ly`E0++Ljw&R-7B7w5V~`FC;dT`>lk2zZKSx)glEC4r(yY?a4kWqaFa+G z9`0w7HG!tzsRk`3D3g!6wAqQwHHr!jjl*CG$uSU=b%;Sn#eGnvwkg7kW3@tc!)cFzBpy?zMp@uumuH6WoMkq>i*AQ7@ zC1GMqfCP??C@h(u#Ayj3vQOS{%8ZiDnwkC!7LRe(CX6Sp=)#Ir!aPFC5JyT37o41O z$;m2b6IG*-Fo>0eRtB^p{etZP#?_Ki0;tnERlj0#Dl|2m$U`V>OV_Pb+$H0)eiJ4X zsz`m;f>T%y&tS9|=ByjDGhg8eWi0xzg(V{Ce=$zy6g=i@(Q# z)?S+=!??X;I|l7w-l`!l*!JMI8`t?f<_&Y8!4qTnnJo%C4kVaz(D`p)zhkf>bAri{ znd@g~9GxdUxZ&(jPm#KNWb%O;c!u@o1?3wvFrFW{yAkPrjrj^WlR%#v{k36niMnKnzBlyz6iVgkv);v%?~^AMwkk0!OPdmZ^9^n$j-u2}O ze+WUjKAnDkGaMqAaTc!T9e#^`4H%rAWLlp1d18v4L_g4`=FeJrh!+rurN9radn1*i!K{`1McB*ePqMzsU3H z_pgIb^P9o$#)H0*oY*&ZhGET|y@CHPWpB15Nsg;&n%m~Pdw6WQR-T@|Xc-xie*ahL zi#bQS>U4EgW^BGMX6A15eLoat7EzhmGK?@+RVtMPK@cE7kX(+g5QeMKE9TD^I5>Dh zf=disOXubRcjSv=1GCb@68C$4ZLU$U%V6k+v;#QD0ZrNvR|*O1VO>o#h4DVJ4oW8L z+^6ZWAVz>LR+va%INphN%HEpLyiOHrp2jLe7qU;QYbM(a~GxCedK0;N&&t(E|pDA$@aB9rl^`^`wl)HRlo1FWjPU0lm2tr+2{d zsH~5l{vN^QTFEEc>KSXpDQiq!M|ybrI_B1E1_`!@_;wJZ@O5D4TurH@@#RFPs1FkB2csBgrRYPEh&co+U>qhDwI_5~U0~>88)S66*S@!7R_F$*k#q}3=RIuLZrm6mx{roO|741s7}G&g(IBox6*J3DgD z0&PAnVWfS{%GEa9;RGxNVCNU3H9%O7(jx%5noshi zuF;mzkPIGiROU{599kwL@B>U-`|Km?ew8ODFgz>^FPxz_V^7fx0ubB^DfdTxV$M*r z))A&G@faFm@%};v4NhjPXM5INl#L&Re~geCBShWd#`d>soS^~Sk}{fgZDEwwKk6ukZ5S&O$|%B7DgG~wv1we!qahTGv@EF z8M1jR5KW_%$bpRa?hNE$Rr4YkO1%!*(Ip<9Fz%Qa>2KoMe04-QK)Vr6;Soj$BbIf1 z4BenT{qXZoqtC1v6faraj{tQWI{C*jLRLox6cI_=l=Xp+f-mzZd~Eqfx4mV0-_Mr0d!Ogfk#`lo zeQ(}|-FWXizOVIl{q3|#x8cvbDgOL^H-A%p``mHAm&viQlpSs0Y2jh2x&yMhZKXkc6 zek4-Bb{XcMK&P`JyOlBCbpGhVm29Wz{?r$AA#<%XUMbe^`s$mmLF5R}scXJ4S)khF zk<`vJnt_6h9`F@xJ4iQ+oG?DX+Pwv=Z0khl=yH?RY-D{U^;8`Z|~U+gC>{*>%>tYLd4xRXB4`xV1d&(M`#C^kyy4x zX^s?6dVq%U!YFjkkkMyu3Z|)-JRqJA$Y_&fodnU&W=`aCm)zYnMtiHaDzJ_f_cK!U|I`C-1iXw z6+6yoa&x`p9wTDNom6tr|?P%vzbYm2s4(2L zfHLj2or=bM=fZg7-FRFHU^~bd4aJm;=_h{}Z5E-^ zPi-HMq4LNk1*7?@&3ovwb6jec3V$~q5O;byiVyQwew$v+2Wub$g?-K!thvTBJThNi zE(5n|h0&8O;#>ohvW(0F`WJ1~ZRI$mf&mStXyactpi#LJi^L3KDAqg(He(2ap=HCJS}$c)7twZ7KUw{{_K?-~|`Z4gxPX{1Uu#Mg+bFXos${wVlq)vv$b zO(~o>USJL}G;H7AJ6}f)>)+5Q4luetE+ufz%U5DjVU*Sj+~hkjDM=w^1V1&9vHt5} zdn^gYHBM@*^ZgeNdYz8W8DY;6md?uVlXeUv(xJwkQXG-%aNw@+nr-Z`&M9Ti5|d&( zdCVDAyVcr~G#(d}`4b@3V~)?mpaeC;rHuB0O(sGogk`}5-Ib*nhdYeORMZqa(#PF7 zZmzDg(+pt2U=c#Vml*-H_c)6SBcMOF?d!>vO*DV9mTVJK5k+8QOVb;IY8Va>Af#BFxaM zLPJf;1?o?DqAG-($M|j z!X*)@!>k?b?1Qum{G#xyx!T=un3kcQI+ZElG6e+PXnLMOZyv4XPB+rM11#}uJMbs) zNcmD@%u#0o*Pf|8%1qtw)O;y80!9Zc zapV#RYm|4quF=05l)}BFmex^B{Q8Lgj8vg?x%`4hSt%5M#$(^&uhB`+9x%yQ&a zCyHYp187Zr5(54S90Xa7{%Wsf#Kpk3Va zHgh}V;eg0>ryl)go`>hJW4#bh`@-PlAUGGsJ?QKx^PxqbPA{eZf?qcqpCCxpUIQbw zaPt5KHv8|`bfNX$($4a1`rr+rHPehv8$I6QQvrPD;h@Ymw1ZlAowAse1b@(r1=F@! zdcW%`miXz(|>!VD{RXm=hPR_^1UE>QYgXi`di<1{=33635AdM9eS>(pa1OIgcV#5 z30)vt<=P1=Z_O)#0eBS(yP;w1xbRlMiN5c^&O>^X){?ex4rIotK3h+L+Asj~qAVG& zo!q=73z_Xg(-t6Rgea#VsCB6sW(N<k0>`M z9hfnpn2Ym-%;zXjTxNmbP>8x-D~t<9r{=bX0lL1>VS^e%1`tT`Lzq!at~l2y+uf2* z_?>e)WY>}-PN=^F))glp$mPPocyGNt1o!jjI*3>r$#!MIwZcZ>IGDn4=BT!+c1Zh> z&Z~k&m<{G_I+>;K4AyZ4W7o{)yFkx3ez%*C?_}=Ax7pHfjrVHWzBm5}f}#8?PNeV~ z%LfA~muzTba0w$cy$o3a=`l{eQ|sMFKuO!rYVhF0JXswl_v8c%7s2}trc?xo8kYkJ z*J0k{7^Azrf);+RdKEM01*e1j@a|2@d*a|@7x(}A;kP(HX%U#Au}yKT@u)9pj+sBY z0vbPN^_+o-snp$naz-Np*fo$IX1I^j%ryeZTG%fac!vs)%O}K(2Q0_KlRU+rCRCT~ zX!=$liZ|<*zGU4HMDF?%S};G-i4=vfbJ5aR2Bln~wBTP2)5|5rWgjxTx)GHHqQZoTArSq4%|?D!q}RLXqu(+{Ad?)E2kfs zDjG50mZxS3L-8cz6gPe^SR=63`e&l002J%`fe-UA3kqV=^PRNdn$10h{Lqe;C#?&Yg1~&^3jq9TE@THx&@!;a zEDIdcr}gtd9Q0-RTS+YZ_6 z-sM!lrOE$U&sZ%%n1mmw^K6D@tsrD7Lho0%$=e2DmE5WwbHCvm)#r?}eLF}myJ16X zLnIL7?%VkOrnBGXxy?ItJUq&^l7_N3_r!I+xejo3oMnt9vYoK|&ihzcc;E4s(f6Cr z?Dr|PuUkB|Fs*O4@%61dVUx=cwXGk6L8-+E8i~uE+s*$;Xe2qBGrb`I*DWws$L;vQ zJftyB6U?85oGRT3hWxES3*QK0dC~Bzq$V7Gsx7-=Xb_`>v(;#y{{_iL4x#I2L(3RC zI8RZ+&=}v^z%YLRN<)a4At;!4gU>=2NX;~Z5TESQ5|tIL)}reW<3IA?f8m{XJJoZP zBws87@H-Ys@87et{}drOK_Fsw!ogt7JRvh6cxA%;%~2f5NVOxOLb*?;!d&=dX#MMs zC1ZBGw(_XCKHE$BP#}6uT9~|*P=l7{W!!4FmNC|uin^Ola?Nfv))$kxX0$0< zmS#=cQ)x0GUlOOxC+c(v451Mix`OnWwS_+4V|m!eLFR|=-sO~wzy0-pvWE0Fd0yV) z(TQ-Hvy;m;rf3Dq91U^K+R+h9U0%@U#m2%m=bjm91Rw(zwuGBQE2pdjnuF_GG)a*Z zb23}HoxO5#Kk2BK;NG(3p5|D85I%E&M_2}EcLdcPR*Te`N^Aag4$x&$;stboo6^X| z`wGEnom_S%eS2>&6~}rXdw<3DZENXH{DL2+0NlFIKo-zrwV`dLkk$mfl5TtlywZox zJ+8f8$cFi@;G^HucGc(2YfBF`7%^pqPSaPi-UPqvu({uf>vvxJ`xYks&iH=Ual7ev z?@hNUXGpyJ?ETPf@;2{8N5fR8sV{f)+P#k;95UazZ1UKN^Y+_#pLgrC`#hx^!3Z^x zXy>Pa&>~EbL;?xt^W*BK5GzsXP^8toq6ScfR>vN;)*K4-D@S2AUNzu)bDk9O!@I_X z3}!hjTCXzsitN1~is3!wR8~X2^*%5R%sk%;UkiH8ZWN;VLd{R8QU?eyV+%APiBM7H zNZ253eRU*Sbx;<`+(?r~k!kXdPA9{0-YXqTc*)0dBJjXrP4ZGc%uw{$~A^>+00F@J*wfo6!#}V*bm!4uJm#K_tU_=Kes&Mw$CCxursu9XJj+3vK~X+@bm1GCwq9Z%P@T3T1&Ep)Vq)8ex7IT}dw4gp{ z3c$L;Vdnbja`cLIlo#(#OFN~}6}&EAx#j%@%yBfu#D_-sh@*}596K^cNIbF*Zpyv% zu|m6CFbC|BLa;&bPyfJ-ryy1+g{B6frFr%N2M^=aq|}<#cEeD?n^(1g7wXYknr2Dw zDGcGG*^>4J*?M3e@_S?(IUUX%V7!p-5Jr6CaY+Mw>O~5STXF3W}kFb03OcL?KK1QL6j zGTY6rL-ZdsuXFm-1#NYOv)A#2Q#0rf3N!Kgz~Ds9@QB@p4oI(sB%h)i7Wb(bB;^+qy1%$l}7Ww0`!sP zI#ZCY*;+xoWTS<9JD8^jfjc#~XUwM#G;`VruX4(W_}407=OfM_t!*9>1Mi?uG_NwM z@0*`3@GkE-hB>(ppCVJ9m_{hCTX~)|WEuwq`G$V-G%ZU<^7ae)U-+G{!9^I5R{nBU zqsU!8oS=3Ly(bLsY4?Od$UVcC{w(xh!8F-s5Ex6rDWRS11d~DKtK>=;@-G|?QNiC9 zgHyfy1m3xsc8g8rNGPhSV)b#|D>Uk#1yzIizV5#rSwt6#HdrlK=|xcGSPejtx=k@ZNzrNpvQ&{T9B}k}DQ!jFjAQXv2ONahZJ%_Im6mYyqBZ}Z|$U>?e zqib*KsyE*%qy0>k(i@Tk6@UEkpKEZBP$^u4Z*XtW44H{#l1>nGb`p1ik$EfdY(T$t zzILgZk&Zmp@dY>ZbJl;of5pMB$LrC_-d)anqh{nvWs)yMP1$yS>%G>o1Sa&NIg=!6 z4hp%XrI0XQUPyH9?r+&XhjG&Zyoar0axM7H7oHWSc)|wPzE|*05ejM&ng*pB~5{_82Xp?wM&lk35({ohMNSVLQaec!w473UbS?WO@cX6U;W1A+0 z$211v_1UZV=pZfiJJb5E)Ac*wckrEQTsvpHW>y*V`8mP?94w>_^6}^Q!lt&OhHd*O zq#HiJH(lp%dh7WF1HOD_(8Jtq1|{H^Y%_=o-SVAzX&N;@w=MIkaQ*bTPIN%MjCLpO z_*2vK49ko2)2w4nJs9vk(%xqXtGBN&M)R}REQ(@9>sOZ+~giwmvewJ=rMIZWB~QVW)JrtKG6Qu8&Z;-_$=+ZfIjY_ zhb4QWO6Q(*;Sq7pak?k0A+*c0II|vElumPK(%iHKbZa_sEDptu{n_;5-!|Idm_Dc0 z9cLQy*F)939* zID0zJLp}UvdtT!J|8qCpRR+%&si|<L^>7l$q24n;X85ufLuco12NbUt%ry%4bGel+q%`Woo86|4jes+Ygxiq@C@aO z2XDh&=|C-|4LFPnz8!gqRt616^J6+cBUVO8Yn))RE-q$25|c*Fb^_x+!xQZl z0`Tp{%jn&yrW#P<&MXYmLCDR3@AUMP zwSziect8+RL3N*Ld zj_G`$uk$JA<}tw(Q=RqujdSwWEYjD5@d)kJWgM0*t(@ajbI5jd*6$9%Dx+(TN_ATF#kxUz1IC*usp`JMIf*Z0PoZ^t*?c}+a{A#s>}@Czd~&jauUqS%$Cmc2Bb z3PJ^3!`cH>zp>1QXHyQaI9QTFJ0N&Q&>hg`3JZ(2U+5|9+QSJ9TJP7ngeslzWp)4x zbEkdMw{#N1+L0#0^a!0jvO~)kmdLnuqw~lYXmlqz)dG*yk5{z+`RENNSGd9U4TFv` zLdF5%;t5Y<2P>2#)20S!c{;VMMxQWA)@Jc|qoRfFADqUDvgF)F=X-SoJ3KhYB!7ya z!yJtUuJuJ2?F-Vu3G?8XQei}#!Sv!(-1*Z=qmXb;R~k%5C!Oss4*gz@ zP+pKcsE11?=Fn~r5RD&W(oGxiZRQc_o3SV{NYnJG!;bK3J`L}spD9G76W64=-JC&> z+YW{QZ67s$nKs#pqfKQTwrkz-cc20LtK8Tv5uKh&pnQY%(OzU)DsBuv=n|Y%Xkq8I zz6tKM+$9i~d!MU+C_Fb?aVB3A*895h32FW;G@YBK`;gad80s<9H*iNL4QaT1oqqeA zIYTSaAau3+gW!n58u7G7(F2TI7)ttYL2;d&AzB_l(3IRaf_#B(#Rki7TZyh1q?=A@ z9+v5sv{gdEP?c@?>dm%75riEHLQH2-3BaRfXKl@E5Mj9vxdQJNCQ8oto9w*dbqPVf z-(*~M_H|DH`_9@2&SY-B-~#*r(O0Dipo0+-Q+EgsX6e>l3TYhfWx%$!T8_xA8_uL@OSjRozA^!q zGR#@r~auK$wBaKw%b$hka)y=Fcck7i_tIp^T*2TW=! zPH2~@-C>rxM8Hll30@!!r#NNY+|$}m6YqRiiCzxSQO z(0fg?(cTz*c>m=y8(+&%r6uz9YC7Y*x=v08?|iPB-yL(Q&kSHr;^B!Y4^2!8qLAQa z3S19p$}VaTOr&*iD`P7Srvxhv98X%8K0SbYcZ0cS8P+}noL87Uo%j2Ur|S&*cX@(y za@bolxbY;72oCXxpi^^w00$0Sk*1V{d7Jc0%%F#w>k-_((m6+Z6t6c3%U9=b5yppg zKrnN*Q|GUl!xRULI9566r0vxD$X^ri#$p28YG^L#N781FF?b|@HA&mV&^ruuo7sfo zUx99%+MPjMOPg9lUNmZPGFzo{JRE0Gh z3O$$TRA^!8Q}NrxYdK43A?U-7e5jXy_*Zzp4K(j2w6|#L8zJbcZ31z>8*Gyf2*U!d zwYRZYGJ!-hWMXntRmyrwdJ3yKw(4j>Mt?IDvdLq3Zd3?B1LC!REtZAL5le@_nLM_F zr{8^b9Y!XuhZ8nOEfE3`S8pcX=~KRChbXr&Y~NQSS@r;aT~lv~vFhD8^gD^xV4UWj zf*W*FhUv@O6r%GvOsmqGvEuV?`GpRF2@0m}zN{fmoI=J~zxgow`D8iz%lnhjkFV&+ zdpG1M(?=}v{WHwj-8($i1fC%cl1B_D8PwV|YEuf8853>J5rxS!$Kl+G_WC#hz;tD- zj#PzPb7|K}r-LyjDGG*xb4(9qT1WSFlqqC!I`w#D#QuVppswpw7Ur#|os0{n0U#eg zeZ~QS9czg9RC7n}GHT6WGPfD^ae6^VlzkYYCOQS}6T&`+qM}L{ZfPUZx!J)XTH_mB z`i~IC_ux#}t}uI!*<$SE6>k3E-!trV%yFIEp>v!FS~VHxJ#P>?npkD}Es&Z<13Z5e z5w@{-Y3;1j?8X~cZC;v&@5E`(DHmQ#tF%0y{bq^>to71dXK+7RP08-QqEn0MI<0w{ z)~opOcYCAhw=|YcXTCk6mZ>QS)Ij!G=CVd>atc@%iXn{a!TChaV?gV*2{{^z%9WrpAlm~^l*{}L+2!!)bAR#J2J^_81SK${@1 z20-v1=*~RNU;b7cg7VZ3Y3~R-i;1E@weSac8G9OtXH?qvfK#6V`I%NP0^G&uz`uLd zH^AVrV%CM+NK|#mSK^Ie8~fg-Q-iBmV(9BJ<&q#c5>LauUu2-<%@ES|oxQz-{bM`q z@>}yVWGZe0Pr=&hy{fJMS*SKD*vzx@?Q5D)gd~WAuR{xUV*~r}+Is}O4O<@>vD<;f zl#I)Qe5d+8RB6Zv)Ihi*wE+w3C2hiBCQXA30QRf2WCIculYi1QEWAuZ4JC5#pu$5y z4Z9WDeTL=|A^;^EzLS9T6w8QRDFMLY4#d`L=^)Du5oi<@p55J*1%82=g(TXHr zH{KR5~dImD~$&v+;z2+>w7-}4Qvw?F$r*V||D z;+~vd4Gt3Oy>0DJ{B6GrQv{#BQ>!x%@noIEv)_7e-4!BUokvxu`E7pCs^3OSB+j|a zHuZHLeyh3J{LRl_!*8DEV?>u*x!B2}ld+&=siXtyu2&UtcY+;rjM!N;hHu8b@E} zFU=Yn?%n&T9&WxUp{RyYf=^;kJXZ@<5E2o!-+2BH2%2q>mQYyxS55D-)#_)P`B zuPkNcRaS&@T7xt@K%0k5){jlw;rA*;HxJxp%7lQT5h4N@b)_CUo|skY0PGQl2m%43 z0c9LpWDbp%cU7u=)OtFGVGLVWg%1FlhfK&2ViI135b+!QW>q}-LTt%KB#>#1_}m$U z5h2WD%}93!F3&hc0VmPXcV}yu{T^O+bS5wd#p~6kW|%oe)6(hf7@EIbS0^J5zQIGo>~k|$cc)QPq4+xEPi8^>5uoJn z!uIJinkDAUi$fRJGfzlc>V)CGkf;iy&o?+ukdLQ*?*sD@W>Xownjr@sz|+7jOwl!& zWDJu)dqD`u;Ldb{z*MZ};J%wLI8i)e29>F(?cBMMCY}ErM~*3VogJc8Gk=JTi>IJv z>6E0`<*&be%x2RrtKg$(VR|68K(QUwvivEyY+vsiAKlh{^?eIU>Bw{jaqP3{dVbF` zOxuFbwE3R&UL%Nz)B89BjWF|`%dNbP_hd#M@e1TsZK_e6U8(*bQJe{c>@XD;!*2hBO)oWRJl{TqWhwd@0|7LOc% zwQw*5rD>Xe#3T0llFxuaFU}RqCv*&&BS0Tr5<>ecI1z=Mhp4c`9L#{oP0nWw3{P0c zcu$-jn-2&=waW{Rl#-#RzLE_CC;J$vAur~E>4ui=pvj=A)y?1Sr#g8BAJi#>Lg|hm z9$YG8o;tBTGuNC!8SlEiOlMmf9FVx_f+touzpGP>8@|W+h3`EAjkP`0fxIZIh2fZi znRty>4UNpSwE|ZJD%y1%?SR4l?0QgxZSJq{`h24fVPy{~_RGq(aF|L?Rm$LzsbP~>{KAoUHOrG1yns>urPy>DDH%()s@SYBy zG?W=4pr@ofi6>=!(?}bn+TpFAc?pPhkX9_S>LXK5!^jMImk|@?wP2ZtXw08q^(LQf#5MC=ZlC6Pd13H$zg#Oo>z&N@Bvl`%5+_+n|aG`=6t7xm*jn#(1_3X4?@|oJSG-p~m4CwLzq|ld zK&rna7ib~=8WM|&0riv5lu*=mQ9Ljjp?nSalz9E@n$rZ@(>!y&Yx755%);jyhDzhK zOqEYQ&Uwn$L>P67ASAEE5yM!f!VXU@emX=0|DOeEz3XZ^@w*$`+OWb9pK?T8g_c7; z?dIeCbj8We4h9@i2*=X7DHRnqa+cFb}E8&yPp6CkZk%z|}_9Xe?bW=z#{Q+8a-i(?A#)X0U2 zYD{8=s;?=iivSq7Xgcz3=KF}xVtSdh4NCBo58*cdl#%-Tg`Y!u2$~IC6&-<2v8Sb&!)KaA6~HS7d!Ldpzw(k6P^$l zuD?7vb$d5fjxuNHnniJV_3$zCs?MFC!*rd)lrbN{IPZW>0j{U7<|gUD1BW%e>6xjQ z>@9dTPnoT2D~%Ix3MkXJ(2{Yg6)Job%HF?y`xZfkmJ3?_-goAGd$GXd40 z-@SW>w(U{_*Vo~Ji?;1IzkU7`rtEP_mZ1ZO!9Ha9w%rsukmOwpX0nGclbSjo`BUzRyQO^J%X8bG!HwF@ z0q(+aCp3aeE@b<)00! zR>eCJC4}+DsvG|HD1@t&U^=TrgLL8M!&{z3V3Pd*{*$uJn+#kYU{SkqHlza4?1N|# z6=A$Bs?lCbJLRGowa4$@G`$Xe!?c@fLzI~kp2m|x%-8l_9Jz5#@Y+z)x=J$O0f z-wfu1TOt~daIyg}^9d&y0K)Jkc@hFUT7Rz{G5x?_VI^-yb zH2Y3)j*)38G~6&+*hrrAhcGeCp4WI2-aXum-v9hP9eF+a@bOm$E-Y2y^n(TPE6^@) z(NZ}FFx7)al7n3k;9I`phmr!s@p= zAGv5=`q0BwZCNHKV^w=n=vbCJqFCR;Ct3|!vs#IQFd7kgR~-jIM&70MxrzB+)*R}r z0bnUprtW+5_~C~i0*j`&)DuRYHl$pG^%TCeFW>vlXW=oN#rNlb$rP5U_yB`XTRJ6R5Xj7$x+-L}U8MVatzL4<wBLqDSy4UvHHCT$&*?_-T58Ey!@>w)B8^5%a;I`_@t;m#xlgM?w&h265UhA?kG`Y6}377E& zk0w)@fNtChL-*}8*hw`f7c<#1fM?)EM<5UI!uvSiV87Dby2h1WZ9^xJM>Mk)9Yu{p z&C|Ue?Jx?sJ(!(DuH%M-FPT!1Zo#Cno~XW~F@lq>wqZWL4$~jzuIOVhIhnWEg<&yr zzC~;F^a7NEXsS0H<@5RaOV$vQB4%baE9F33aXC*3%3FwQhyWt^ss#zCCSc9-G$ zP8@08YzBHj9;R0-^!*#QB{NLGThpXvIjZ-)PJSs<2PpD4jpdg>E+-xFv1V}A?`$sz zfEdYH9w0Mx)d5-;-(52>Ib!Xg=D-8yZOzNMH`k1YLBpJ#x4r|1)D9ZZDxgNG=Kuge z07*naRKr?W2ThQnp3;*46s>APoZFZwh(F$ZwiZ~ZpbsntE;Tr0KqJnV3>Kx!oS4CU zushh;aO$d-{{W6!xHSIMuBDl*1r+D@XN22A--e+LG+&NG*Tqk=#U5-z7W{;dL3yJ~ zhYSk9o!Y48W3?yesXdYjDkQG7j&4_Bab2BwmnPim&UpdbMI88EA@8$JLE^ynT0&!P z!8>Pd;%v=Q88MP>d4jA2PnO2u*pPEM;WN4-I341iRJLE!Koaps82s&FmFnR0w_zGb zouUuxCJ)oUDQ0r|>NEZTl~)PDn*J#|mR_7wwQRr5kA4)hF>&Ja5YJ>oS=!`9KBf1< zV|`KlwW7&S0_5jzT86H7-t+ub9m3PSH<^iX$0x*gRP+*n{EYwqu#?NQ}>AEjM^>WjX zM7%bWRHLyI@1qGd!@gnrDd(A%XoO}Z({Z0iJ2of@qw$+K*;pn5Q9)w*72b22dlZP- z6r1&hGE*7W3I^cPfkOr>YLHJbEa9K?oH-+5CEgPaGH;4DVVSpRQ@Wo!RypN#1eyDz zr=hbC=?aGHe3M3cjh;zOn2we4WC>ie5}tSCS2=! z%zUKftHHYbA){YtB=1;!?OdoPQ|lBOO{3H7Fi-Q5@hQ~2`fTuBGf?vp4nu2grd99> zqr0x?q~N{gUeljpN>oEqJ9{Ku2fwRPymU={hhO>;wC;OkVlrxNT)h~JSr4{^%4`W2M9Y4ntmpeePLjNSFf<^ z@WikSs{-aqe$s|GV2LdKgv}Ii&e6n97sBlALBP^DgC?dCve`A6K49{;J`Onishuh0 zonJLC=ccWv!M{Ct^_z;bUn%%7?NPp_VbxRdT?y=S4%kamv=3&p2bO_Y@qN~@<{Zue zuip2!w$+_$UL6DigWnoQbt-H5EsSABe}6#x_2d?ppUmmZ6NJzU7K;`5bG@PEXBkB* z0sYwF2~9h@v}b(Rd2i6%cH_M7;5@KA&N|B_RFA+C4FzrRGzI?_Wq#!)58mX-gB+1Y zn$E17b?jftV8EInk&vGQWlI2g&=+}5%CkJQV;SPaAM~h^++5T zghEs;5{=dJo^gcHJc9c#LK%Ew*6E4sp7S)F%-N3ZR#v*ZTR!q5br!~)dcnIoqNo_2 zM61-y+z@q=pk;UpL*I3s{a&1VZlLB-%ZoV(GnONF@wKF0y2yJ<{1b5KP-KX#rrp#K zVzxw($n4BN@Pe`uhMGWG1dq0M&z#=@b1V})96kOiYu>2S!LaVoHj}w1cn=X$r|f^Z z!n;t^?#<8GIC{ZC?=LK&U;shA)bx(oxx{+tQZKVavSqtCVLW2tx!c8EvoyoS{`+Vo z1{v*C(-p$pr3PdW#xLC23;>!CU)Q)uI;ZabiUxWCp zfsY#!*xu9~{0OhG%T$jrv1SiUHt2MoP(i4+=)9*z$dFC%_qL-WdY}7eIh*z!%INm3 zc$h4LN0YmK%zE@Rf!2jP=E-bx=XlkG6l}s|8&Fbq_d&XiK7P4oAX5Te*gs=#&Kk=@ z`y(_7PF>q-KXYB(iuu3?oU2wVyiswQ5uZyc^gx*hZmS0#j?kji20zh0x6I*9+yI`n zk#54xh%0rBshWCOU+dLB>*j#MXYu8G~7)4sg;-cS`UB1Z+kir6o!6Ip5{h3(aNCLzTY`_pR*Ow0QJUx0WWSq zzhb~3jk$zCaD-EqthLFmrWR(P#Zw>eEf;Vrga#|l=x+m5n|z9g!-LG!gtV6fW{-w5 zh%3E?ZA(YdKFeF}-Ap|#OBW@XJ7Be$BKDHCu=uD`)J=;EWE_Nh|D})5IutQltQCD%y z6EQh&ygP!#o3yA8dLzC6>_ohmApKTH3dzj8{W*$OB@o93H659;^G9(3MN5@-WE7f@ z#C{3ECF|AD^yo9wIA8&5G+{dnf|L&AjwT9Pf8scc$?4(Z?Fa^Qcr?fSca2bD-%+$@ z&sx+RbN_HnR~e69U$B!5rdH>WJP%Ih;C`j2n3+5geZo78(l@>?O6wgWB&k8L5dHck`o12pUWspjy|!XN&EyU=^JO_gqP@a4;w(cAa0vq{2)zP5z^o@My7#}(#m$QcleCZ#tIX1-uh;vmoG zn+N;99?awoU0GLgqy~1&;2`si;6MRn{k*ER`cqJzGS}*EF~JM%>4w-eY7IVy`umN7 ze-DQn)76PB3S`|?J^77z51Dg8QKC4 z&yI9^M3)1}i=4W6(pSl!@|3wNyiDXIzvdiNgm)X%bc$;MYKPQrG&5dJ)2_$vaEi zNG7}q#2Mo7XndeaMDBF-O9&hi3uVI}hm!aX4V|#bFHiNyIJnkM%-6Tf@8e!fW{iLG z#uE;bF$k*yilH|`6)=V{SgwL$_F>puv*4N&3ZjvZje%F|iOdBZxFdv@hprX9^Le$T2g@##Ds49SJO)fcEGR2`ht*_|uX z?VFUmCx6q@QPr4a;yNpc=N>s*XOB06|C5J8T6|&#LQ8zctmVAn^#cT_{R&uht=G)t zhQsdUFSQihmPhA@QTi-{STNELvxe)sYl){H?86{sEdCs12)A=inypLlBGBn+c97@n z*1<9ip6}U!`)_~$7*p)=nM*oeiXkI>4`9^J@oBErn{6#z;&?D!-RjY*KxRIy1(2S* zc0mVz_n59-!zh1y&?Au1yh7O^oYK2EYrKg^8NGFrnX9!n?RvHT;vx)^>m&1|GDv^M z`3u7&=Qw1LMuFtoONF|ynMZ^s`Nwfesw3~vXxdhdoVxO@!pZdF((=2EzLwSmOmq&@ z(U7F=ZUyk3u0bACPK{S9HmG^4G1|UQgT+9O;($$k(ZSAqpj(C26Pn)?t=WwgbpBdl zEphJHlUNk?JjHzP5+0T*l8@E{tN?76_wo8^bm%4xtj)`wwcx=G-G$XXOvRN08{5J< z8N`D@0d6~J8iksIgS6Q|_nF^@^T+BWZBTLZQy7XXakCH1S~gs&q=qPrGUNpVKpm;Z z9Ft~Rzl}F3SIaO?IGpcv&|sYTJ%YOzHRO0)%4^Uf`8QL8gO@$Sryi--9_tmg>gbHR zdN~2FE&<^%Yj}jbEkW3U$+G)reCU9(y>9mwt@wVQ@A)&P{0a&|=j^B+zqatK-HpgL zA;@o&cS*{`=`hxzd`YCE`oO=QfYBi^_5)=YR3HqlE-*y7N*_-oQy=DEX(9vzMDu#$ zUmTzbm|v5R_d}4bw(_B4x7X4PBf()*WZ=otdwP*dKxFh4B5ly2;tG!d1E5ZFZk_|g z0LiADs+f0Hr+%DirJ2c=f4EC`!YGA3#iVr)xdk79V{JMyY9112oU*!$rLbR1% zHWlDS%mM?l3kBk!vI~6F*YYb}y%668JH#f;Bu|G55%82`m3H)k>-pR1=)baI#&>M3 zcFL&lh#n75LuJ6j?H1+@yfd^J4tC>H;A9R5EE7*1p{0Vu(P%L>p%bPaB&_JDKJzCG zp*o|f7~ML7?;RaW#^7!-HYune6oaghb~%DrmgX(5G8uOgQByOo6(dsxvgXU|6^fAA zo1Q~&;8^e>BOP;`7w}M11(3%@8FX^7Y+=xeWe>CI65*m}o^>BTQ*No_;C3FxBrjqe#73CFre(8>$l)f+`NDD zc67oXrD`p=4`0~qe1G)%Ew*a_xW4=xvn&OT{`u=aM+YpG&?IIseaxw7CShy{KH*aX zQSb?;8l0Y=*1>1p=f$Orx|yVK*k0my3Dfi0w7&Pg(`z2JZPaoUhTgk$!{;XlFW@ru zldjQ3eO7Zb549a((AmSX{56B_dtq`QCkpx^jjA+H6)#p{--pmqTB zz@R7tCWMBkP>`?$8y=OP*mX$%vw#18|BCjA$<6&xX?v&=txh3WLc=*(EddeGA>(qg z5|?u}vcG09uwY(2XCcBIKYsj(puEmp@yP*eOsRuE>us>^hTxledwoElE99h6ms(h+ zeb)h=_2P!F#=6TS_#Jf=6KJ{0gShaAlviH}>7YIm4#x zfOJ7QZO(Ov?=4xG zze1jxldlR(fq>Tv@q;my&sg-#DDvTfn<4)S-2zR<-W&} zPzXC8IN2%?mZL^N_X5CjP1iP@W&)~6do>~&T#`{1Y~c_SvvpvF6FTp;1Q*4F0rp3#%hxmICm125c`d ziWLl6oE@=P_?Shs|MmSHo`3Er<3f6v59SaL%-ussjWvUMUZI3UCki8E{=p7vnf@MF zY9U@tvqE#T!|7CFTQT5f0rGtqvGZ2(e5CbVE+Nj{UE>Zjp^VJ+n09tG70W^SWR8n< zh^)g~;Uu$SL^{LV=;;NXXn_;r$R()PtP#r*QV8oALVL-#ZvD1KN~5=7%Dkd1%#MuK znIT2PdWGhoX$Xe)>|7ihbHj{GjX1<)T6r&7KQ)1YUsK-&hr~Xh#d$WN>xN_^Gkyw# zrv=MQ&@_$^NNxxBh(Oi5@9_~hKV9;k9GH80!7J?nA^wkFG1DQyJskGr80~?!d_Y*) zUe?=F5?;T1%bLI|%yb`F$96e7fBi$|ur67%7Xb$T2O!yX4Z+kXM+cI7Aen5a9xONVFr{6%L zk8IEN`LeWM1@oRzNBhG*^;Z}^ zKwrM^zNtV}Shv>s$Y3D-3u)q2YOlWtj^J7=tNMZ302460smVv??%dmhL6hJ3-3XR>;9lx@6+(~Z=o#cQ9r zM~@Sm%}#-V^_wi`P|)3(KLaP*KtUc}0c`a0(ApReo@Y4ul0oSW=P`P^$=T!>nyM*_ zxpVsnHh1rOqK_^Z$YkGMaHZo_1`ELF&NSDLUl{lb8Fkbw3jbKL{?c7~+#PC7M_XVa zTH%N^#+gyBuJCzM4m|aFvim)F6-U%d%apZx0H4M0 z%eo+c%~TAq7#4WV8=9Yn&r)tb+b*r>7N17QM?Eb#%Va(9=i$5hw)3d`Q%L_Q)}1H& zthAq__`+vvz#}h*CpmgFbJ7a1Hy}WPm`d@o-VZ>T%!o7-mmwJEQUpyMRYA4I`e(*L z2+wsMmU)mL*>oAn&TK)bA>s7HD5rSz`{#Ovd?)&On|uk7)&M zE;>TWF#(7N=Bkg+HM;Vy8|mA7^S30;fGIP1m9}HrDWf)b)p*hLA~SL+1P$1f5W=|QgdFX{}TA8Qbo_b=cWh8IDi6 z-&?NRuOa{PtUz&_FE`v?J!+W0EJpiT$WEBYQK)aEzA5evL8%YuV1~6 zcc?qZ=tWvb-!O`7ew~5VX9TO7Oxl$CSoZ@rC7{jz`S<@#9WZUP1mh5u{>1I%DEku&&Zl?; zs~J8~r&q5|vRp$Pou6G4Ov}>z#Hnps8dfcQSDTb^`fj(){oY`_UY35R@ZrK7sLMjY zJMhGqK-#7izcHU`@1g@ut3Erx5Wn7=zir-EnUEg5YT{Y*m-#K)oX#Y?wufyRdSO0Q ze(AbWh4&S^0I6k}M~?bp&}AQV3BfT-S6I>x?wo6-{tWZYM^od1LCujC0vt!8^>eOm9~eAnnr?@-g|?}~3u)~SE{J!Vw*_kzt{G&Vv0Y$} zi~?`1F^Y44@}vdrBM%ZrP?u2cQJTEH)p=s^CT!%6e<9kln~r6PxLK>_6&3M znzYVs>+hgh+jg_AZmYLu;80-@f*YX-Z_Wzcq&BAv3Wd9?@^&bmtg4%0C= zr$DUXh}u`Z?R>wzTK{di5`w)(Y=KAWKN(*l2({^-L6mH&&1m#J^7rS9`_Y@T>(Nh) z=G|ZV45Hj;w6;R9xM2Pn7-V8EFlal4!A|cl@xHUCz&JwW;3YNI+zCz>jG`TBN=)h8 zFc!5I_!$F;VkqKX0qPDUZDO>gqv48k%5;Yn*NdrXIZtmOebYXt&+n7pf;o~yM(l^|P~sL{3asRBiL|fzg^A#R;zr2| zc>97Lt7;{p;f@_kZpe3vRwjeF$9ok}Mpp>J1>UUArRn)8yk`tT+(+}nZ(m>UNfxrCn6Y!2kfB*ac!aRxhDke$=rkeXB z--)kJA1|ZnDGbb06Xq?>K+dnJ0UC_&pJgbNyjso_=IFalCoZf*F=XZ}(KKEdh>h8L z$3_3{PwSbCYmO+g{XGuJ@5Q6v7`*nNs@Cgi0^Kh4=(N(B+d?>G%+dmwdFLUWOEc|2 z<~N#&rA6WQ1dLC3?%trP?9)yTj-HqYUg5~)9I*8tvs2I#>&OFjKxt?GwFDB)iH6TW z0PSq;x=rxlAl<+&RMt1kyq{XNT^ zrj}A?w822Y`oku43Z3CcM_VOwHj ze8N${NpihZB`Wg@M)*$q{sNPj-PVz>PBSjLR_nvMg%$vfKv#P3Db#LQBbXgeFpbT@ z1D{Y2zIH@S8P@#)y0T4a<WW;zsCAkutA8iats`rNuD8)@U@1Kid}6Y$mT!{`$8 z-AM)`jHIc*jOhkJ_3GUDK}PBnq+^bAUut`5vd#fsvylIZ!(yccr@_v7=XPkCJDsmm zaPpSPb!QjsmgA`Z%Hx~BwRo^?43^PtjY=!!>W&jLN z@Dv#jCbyigLkX+hxT2h@Z|W_n459kAu-V_FqDsBTT2JXkJyx9U2A?CFi3F6S>-XRC z*RSDgSmn1>j$6=u8@|rtU*GShr+E@u7y?Z_D-0!8pd*3;lTxNul~rrYqI_!LbggDe zx3Oe%EUTKrmaGbv#vpn`Ff#WE9eiK**%&^ujMAa2Fck)=Wj8 z$72*t4pWZi%_q(>L>}gFUCVGTKy6Ojk8oyF1J_m}6t(8hVLUEYb`6>W)O|TgIr=9i z&K2{-=O^c*Th`t^A`ngxQej|}W4&EM@rYI?^KqWX?bKX|uaMHDwvX1LTf3SKhOEG@ zIq?{?s(7*vYJt+j6@pK%L$$mJTI&j(y=LM50h;Xp{u}dWXdgfR_~Yo`|GjpHdH?BJ-t5Z4}sq|?ZZ!Gd6&o~q3-kBu;pd0U57%%<=e5?Ef~R9FJPUZaQfpF_&MU~bm_ zK6VWvG_%L`32X=*j2aamiH2@KQgLUxK2(>QH<1~m*zjr4a^XRz7x#Bp3 zc+$vSU1H){gYKE@4phzqKGR-%Xo=$Cg!x2;>E~+(9JIre$_#lJ%EO<0tP^z+o(_HA zSB0iQ*y0$;b(`9}S`d=E^^?)aF}TR5g}L)0_2$0wFnOw!Qv6eIEYExE@_V84Y+Uv8 zw`tYz{wz4JYj6#=Wp2w;7}7ujEg){M6|P149OaZZB87-H^Nu)y|IGp2{F&XdrHp|qbG7Ms1mJ;8gqiH&i zb48CZO*KLVjn#F@K+J>OXO56`YV1Wo5*i!jq9J)zdyy`dFa({RY&*@TD@M375hP(4 zh>NM!eidB8ER)pXNoT8W2=NrNEA{b&`#JzsM+;4@<%Q~!7Cl&X%yH9Wv2cXeHKPN| zpscG}k_*-SZVB9Rou?E>;%WiwSQXID5N3O%a}@1-llhI;?BNPC{TYo-=6FXvorjWX zS+_ZJR{OxM?Sw1X4t5!|+sG)Am-75|#`JpWMq-y_tV@6B6h_>O z2TugqLq$F2yvQ|!n16iyE#}=l=FYav)NHEX**?;M&*H*z4X&k&kf6?9#e3F%MmEZz z>%D0^-xq|AT8{NLPnUV@v5Qh2gJjAQ4Ax`H9=i&i=V4H!Wnm1A?xJ&wC1Qq_e1%Ec zr3yLYlf1J>F74)^R9I;;LeZM@f#1K;F$-g^n=wGIGq#6Yqpdz7@Z6+)bw_`|8`ybg zBrF3@H9+|hoB=C`JVyE#2M!FSPw%Y{D9EM(!4u``7(#U3tHGLP^2|VtIvE@&*{+)U zwSKs4M_fzK&h5@IlNxG3qYzkB zK3zQcw;hxN#%_agwv5612o|$49RoITTa1x=8J$`C>^e$3^i%*^C`=ee zY1uyeO-8j8EE96{t$V!!Rc8~0e_Wh_$@NbQ2Q37JVKG75**u0(J1c-?l-B z+>@_foD!{_(0M2%O@xSWcwU?MRT%n>BWoE(Mr3q=a_m58U?QVNl<7OtODiN)Z+33c zqn@H!kU%D%&JS~Dc$WHks)RV;;|KtW_JO0D#(T#RmYJ(nos9nTKmQv1E8y>dI}8zO$-;l? zrTH#PDYzG}GFr=%F>kz0$w6VFur!#LgB4xRo$Ch~2qBzs@I*u&hYp&t+t%i5@ZO&= zJAZ2$^Yz*qiZo@K8G{U}4xL*&d$aUyKGi>yo_xiRgB9s#f|G^<(j&FT6THcx7a6X1y)+X5TnvNe0EnacRm17D_ZI zx=gdoPwyjSwS>@^l&Mrl5b%KmIP2`Fu5h7{bVxQ>L8w#plj2VT?Dq;1&{lbpoAtJ> z04H^{T@{838>bv>fAcliFRKj(4o+ORwfShK74O0*OtCh|E47FqxWc<=V@eHdHp7bd zZZw{00{b{+kKrE^<_sa-(OY%{(wg$f;0s3sHBK9;21=HML<(P^R>+Uq#!WCx8H~>L)D0~JPoV!u$u-QC~E{^ z%;w{+DA^fF4?Nq?4h$1^glflDLy&nrA}Dok$$C9_VJL z5@CQa$2V_rvcdG`{L>ydQ=qAtJLh+Ik3hcoY4rW~???afAO8{O8*xyFFrfe~ zybrh}O&Bu;soA@DyR{A-LEJO}f{ie|zGLYFPD46ls3|j&Nc}V&EBsFwWJoK*?X~H? zX<9R_b@RRW^=c5u;z)RDti)BHwOiVQ6=-P6w6CzSBRGQ$wt@o>t}T?!I^T9TxkR9{ zOn*rJs zT2%Oc{(L$5f+N-8+3UbF=BTLE>LzV+ipkpJo;>C$f*-naFotJI>itCju^ut84tTN+ zHkt`_E@oMMRlf-bapOVI33EWB&BUXc@f3RSoJITb9LFZVx1Ake*bdU`oc1wTmce{v z%(jUKGdp%4D@5tH;g6Il0cM>iJavhKAdViKS<2B<#E;pDCW8eA0y%b!LHHxf;*PO| zEFKtCGnRFiAF~k_Psu553w-cTxbo5~xb1pz6ZpK=4p#N70Q8%>3TyGJzJ{NNR%|xa z17MV=`?>g2fPNDK!zRxBiYAT9y8#sMvqpH6c6iUTa0jl2dne8At*?vbhq~{)WUEVw z)ZF|7VbkamgkDFw3fH_Cz*!*~1M8)NFwe?@AgyqzNopxHIFsrkrc4ZujM_V^YP8s6 z?>=uy18M?FOl&k-D!#%SQ-~=~E~8+U@Tmcx(BYZm%qWzRpLs{vh2bmQAWGJm1%Ax~ zdYr}tgl8f7Su88MxCd%~Lqkn4tJFSwbjrmg^Crib7pk7mtc%keJ9Yw^Wfd>Lhim`` zYB;X!h4>4V?Fm-?c;DC5Bg|JGDB^j*Mdqfb>DMXznB1iY;W#`iD>@H4f>yn|J zgv|XPe1nV}t}Fku%oSQ-gc&%JsXIDcbN=BqYvE)P;+g)*xpHqtXE4zZzkNcuG3UZR z%{&Y8hYyk$Fp#O6B+qdc@GL_&;&v43QAW-qi$e?ml)-!$gNNh!$>iRN*C$)?bsm`l6G^AIw;VUVF|_X_QBifLM=;@Uqo ztOv^Tg!J1R=CvNseD6Mu*7Nhx5tF#Te)t3vrrak4Bxf6HA$57n9mhP`AZsOK9Hh}WgN#aw;)FnWbhSUu5J&u>|0^${HWl(Q10N6q>x7}byO zehR|_ip)PckEzD!z@bfMr_6h5idJ}L06@K62j{tu+4~di>52XdIng#~M6`Jr0L*g& zgPbyuQDatv%zmxF?qEYaH~`W-Iiub(Rt1$BZh1XoR)kT__m4TV5gamrIHdpVgAkod zWYjWz2M}yg9#i-j@6kuR6PbmCPcRpUAX5l3yUki&&3~lh-2=3H&VH~StFqRzIx+Vy9qY`s-+Ov)_;3Wc^Z%g}@2dETCn8nlmPT2uFN}7@}N|>6aN?Lk3Z~2&x zN2#^F9L{L)Df3a|6fSq(afdPCSgJJnm9PoFgWUm6<9iUeNz-YKAb5ICeXG)i0wEy* zgK^M3fQSsDQZU47WqFlE`~f&B2my7)Bd7{bzOJC~f&nYQsxo#u8$#~v_l2YhOe%^otr zA7yZFTnS}UXu=Y{f-4$|EkPs-M;NYNfl~$x>9oLOFuxT}Kh95mVsP>ZBXZN?1CG0L zd%hQhgqr3Xb~Es-yc-S`wjDhi&C}O472o2pqlw=7yyEnA^VGxho{hcVzJ1R#?Raq# zAt6IjOL}+lcJ%AV4>;Y_nR%^AMH65kArt!aNnyicXXip;xO*_-zy9^F?1;jka2R|z zI#&27m>$NRI8UMd zWKA6SR+y+Q`>i-I2%j)no(Bs%AiDi0CvITkp0cf&n4GDv%b4&3O$_7%UD8LbRlw!;;@A@pVav(GB!TfY*_Fg;*$j#TDZ^Ow*mjMLx5lw%MqtpY-e{3iFz8<}rx)1SKZQ8M}T7W!KOd1e(hkI&|IB>E4*KH0@@N(56 z;0g7%d(O_4yrpegSZ=PCYTwana)G1N3*Wk|#N(>Y&pozGVFKMU@S8DMd163mAJp44 zYaSzc;SD%y?P2Ck8;~J_y2yXz%|Q+cs7BF5VD)>r6$8!} zHZB>>uSO>m=Bjb5QA4ITGr*-D2s{O0(-9w8)xdADvaS?GUK@CzEuH)V2iF2cI1nU} zasV>G{({gYG7<#NK)k(PE=nQ3Nxr7BAiuM&)|(XEO9!U$lnVbPds7ReD6sIIAWYwe z-;3)s^?eJ_;(@|zfRgdx8!Bohj=KDy)(w)v!mKDn9#>-!sfMADvkGPtA;~v^i~KZ8 zX`s|?IA>y!wkl15eoMm4Wl^rzDx(;y=XDvnLL#x?sYY|OVw^@(ktq>s4$K~vmP%0t z6?u>*`4i&^NELm|(LQ=ar6Cbqxi>2tjra-7IBf)j&Lk^T9idK%Hd;nYs9%~V_Ggbc z%RJyU`pj=KdJhxV8&18(Jw+$X%ef)%x<@k<>)Jm@GYSx$Uogd*Quiu;^KyH9*29rY&l9_Aw zgeT59(9}NZeE#_13mb?t3P)Q|2&&1QFjuLCW$B3pz@f8-br)x+m|xHEeEjg?Ll&7o zGwQe946W6BRS?-Wwx#a&3T6Q_JMl^ z&cwBvm%(!P&<>?7nZ0f8dw=`^C*pC#X~~X6;l1`{G%aXtN}dkP99-oHsAp)LO+L=) zt84n~l0kz@lqNXdv_@#z%?G@vu>7Sdf^RKLH3wMyN#Ba*9o8udlDu4jmtgtOD)_c$ z#un!yA7VDCawEf)hAX!CP~o!btk4G{qJ&DmAFhU6N$M|b}Kp;Saga(+Qr>ncFGBa|Ceer$adEVnUGG=LR zriWj@%USH$vF(`IDQ)n1vvwFNQIL}NAz%s^5<@3ZBP><%}2!%Ls;oSdd!+)VYNWSf*~pTfYpFh?~98&xn+My3V~Ji$55);egIrDw_S19sIACg+5GXz~l82Tnce zKSta1sK-!-DHE#4udDeH+>lxMp5yGfOwDJ7cMX5Peb0~2I!-f~l+SywzUDiYsQ{q1 zVtk^%ogW=EuEWD42zjge@ctv)BALNO?F$Dj#>-t&gr{K*;^CMqE^g1|^1~L)R5+NV zU0igGmIyW(Yv-Q0!AA{77#UR{;0_ToEZcH({Xl5O zb#)IeNn3lUSZXK=4qG^2ttMD75ST2xOTq)kL(NcFYuZ)NOo~Gm=@iNg19A-9;97X< zkmfV?+3{){dl zEnZq!Iz3>}Bpwqc%*sFTO2Pc`u%Csl*0|?Y1rM4>L5_-4115-YV%S$I)uag?m@C*a za!5}Zx7r$)WiINgGssA@ZJ~$bn)kJ?g&Ed3EPrs0Nz0|zK1@CI&-Rs_dpHlF_g1Of z@A};G|FPrgeFf~t!)84m5vU|g5;Z3}2ex}#qEwZ}B5_%5G$%DH&xIBM@%!y#yg+_g(^372}CA68X0e-j?z9gCJ@MW`kvV1 zUf0P4x|C z(IYgRcvvEh%~#iq5=6{az%*Rfk-*E;!7aWa?l3}`%?P6G#BxFiclQT$l8f6;POlGi zmxkbKB2;@U6R!|MUdc1|({lVS@6)$1BkE_C$N)uYO)(h`fblpM_Eg|-6nGWyMTxWH z=p^;N-)a#u!-o-@-a1jJuYQL|(-!BpZP28m#%(9~3BbKZBY+IUWXAMBQ-<|7!GW$Y6>IY1MVsan6*i7f)tPft&{ zHYNc9Yn5mb9fS&*zv<>QPnr$N>@a4$84$lG9>@&rm+8k0eK9X-($_Jqz?^7mj;U?6 z?H*bf%!DHT>-`&{i?#=MnIq!9IcObU+aK!@&+m}dPQk@K7#4kp$y={y9aB7H$O9co znAzLgCN3wY6MXTy4BU_<*B^!T4$NM~f+x9`~>65TPr3 zT!K%&s~?0}il$fq)Q)9veHf~1)NW8LBj08H*zwQ=oq5N(b3Z$`Fo*4HX&d7$UNdH; zub5$VijvqXxNkH^p9d6N2e8f#3X_g#wsl>8YA#it^)=VkCNe@bRF-%aGtA{CG-q$m z9^R%i+p_WSc0yWj{h{!3?u4aI{_t#iKv~Q=+rU-l=i@tG;INJL$9Fv!x>^r~zlrq0 z1Rv#X=`{4pfA)#{ML@Toz9XTqOz%+_6?2D*InVV{X{n>sU7j!3h36l;=X27kKXxF? zdX$Au&tl5512lnRxne_<+Dj$TQhbmnJOoS`(82@@6DpsJ?@d6S^3?i+ilXNz} zIj8@&z;3&C3Ye6oF8y*XG^|Kx-$BX}>im}trBL3t8jB`c~y znu2)I#b|@HHu)DJ3R-|90%||C$}Yh$-mi{_G6RQMY9v;oKoTU&fB@7OiP*{JfJ=~S zVk5!vyoZFWDOY&-T%KieMIxeIb#7PtTbCm&>PcB9J);3}R?`!EBw`Y2zvJb(5m=m% z5~wbSD)E$f&5&$uho&M^iv_L_rMi42aXlfI?lcefC6!hBQ`)S#$ua>TFe$0IvW5hb z%gFky<(k?pQ-t!D5Mq&7cu0&#B+)*E2^_Jub^m~AOKk`T4hQ3oB+(CO48{pc5Y;Gb ztIS^pujid+Y#H1n$-R#O%qTM|&LXuFmGJ8lE>JVZngQBAH3|~}SccavyB=S^JwgZ&_8ddor)R2+ zSzIvDfP#o{u#Y>ZB$`IJa9r=n%wt^S7WlM-qm=I^Wgg61^QeT#eJCYv#!?E49^RU9 z0)nw_4=@u`hfHLI6PRmLh_#HP>u{Lpz;_Q58@QJ4d-r_mI8xg$W3?WG^ks;20{D=z zg=Lcin372k%)aEj(5rciMA-@#_Enk{8iL?>&)VS>=Noy63GB7>Xm&MrR~YC?tOhp6 zamwwwCgAca+74yHNX-++vOxd9OT!RIN0E843_)`c5^}=9+RBDF4Z-4WS?;%y;dB{bO zNaV5{7U|Kn4)Hl)>8JYsVQ$zgK|y=2$Rve*4l0mHql3>q`g|z;swRplK7X* z8ceFDreXS5;`L-8%zK~VUKW?Z7_<4izL_M<6eL5_r>9oI`>g1T5P-Ru{bcq6Nb|En!)kf1QA@nCVJn0q*?1tF@g}5vW2;s?*FM~% zTqY#S7@aI>TX?qXitTkha;LzS^gfeY+ zUl-1EG!FN391+_oUfVC*X?qy-FxwHZaGE>Lj%yJHi?&z<&(bgZ!qCI)z&&8P1LHkC zIYJvJs|x0G1qsAR`i#wk@`YI)tEV^SHfzx-8&B3D=2D8IEjqF|pRj-d?=f>tQ}V+- zn@}SxNr`%_D{tc|>%+oqr?(U4qUkc(n`l!D8qvb!E{^mNShNI4;LXY<9t_Eus(Jke zuVtE^uo36LN+AOJrjTEf99T^e5)?!NE9%jcJoB0PA710&atKc`LT2M(dA{Ry>60;z z$qDRJ(lO?;IaW=5*us&f<2ox6`W7kNb`aJ_qq0`7KZJCF*6^mZ&yUnsnq02SygZNJ z2lPKr)w!wZTi&6wj%_?YZII(9;B#Mk&RFuVrr+KQ&6g(BN0=aU7QuU|`PK4hLTL-< z?$Q#*OZyn}r$_4I!r%X{pDBH*f0h0``L*e5!CQ6*p>PQeowj={vV47(mfIPs+Wb>W zD1*Z5TnCkS#=&vmMN;GR{HNAXANAY$hEgh-(TX6m-*#IDNCDL2Pk!g5lmMwt`QE28 zE(W3i*gFzJpYu9IMr5*0Da%3%;YnBs9=M~c9(z)*6%_PU?#Lf0@omnLG%tH1>x;KU53%9 zb-^A36aGBD?;46nBz_2o?X`T(X__d7McEzvYrXb?l2fnQQatR#fOQ^DfInsQn$nVf zU0s@z4I&GpKOoQO$;n|gX4iD{R$deO&?a8+#mjGD3fB-Zm^o%K`zOrqV3y_~RUo;# zB$@g?Qag-#4r4R#Xi4j3j35M=ciQaAV!!J3Q5lT=x1E|954KOh2Z=aMH3(Rp;3EsM|4?I?F(1%4-;7 zoLQW1jF~uNAir9n{mW+2yi)qd*r^pV?oN5Paxy4=4t@nMXrFU0cn^$Z2Aclj4GK;k z9_?0d-n;}iNPtdQkKqYgD%8}~xYmTWC{TNpbwSMez@Z`wjqB}}C&~#2wQ)7m+Xv^> z0tssC zZdedaG0X=`4gEE3TgWM!hPQfH0-#0q&BPZ!6Gr5_n)wUOWFYx1?UtFk9OFTAxXd-b zb0v@En)G19EpjiOpJ>Wq6^vhAN^?aL%PMo+^4FTq{FX-fP7de?j!#-1^ij#H^no`E zQ}hDw_$8mJ4`Cvn`CY@O{`R^@{oC_$%{ECBz3&*6Z?CoX-u{dKux39rpTVQevAVEf|x%LORw9-Uzs8QW#LQ;Yx*w{0wuqhFYWq6gU=rskL}5+L4fu=Z$bM~+}CPjPO6M7zd>@>bH}|x$jpgq7=xyo zq^o3%doZu&7J>kE9^jSOMEjb;WMps?6J6t+^@X)nF-=pL<~l|f!h*&GVPKk9^Lw-x z=7`$B5L29Mp7vjJr_MHaX2=;6OV=4fv`3^O`^Y?M@$5dPGuG*z!LWFCg^F>-`qw2y z?|}Hd=ahAf*Wev7gdayYRgWDM94CxY(Y()ac4@)Lc{D=K&!32QU39CH(`Qwe^mU*(;uL1nJMKH$q8<6@#bWG?ey6peZuOnW*rv> z;r2=gtbOgFE$sj!_of`tA7f0f+4B+aC9?ON5VJb1E@|_{#U1Ob;O7$IO<@-e*fy!X zNtG3J6++EG^MDy!+;d)lu$09kOds^N{9CofuW9DdpML)h=l&c6<)r!~7VVA?v3{hwkMF z&9Dv7z8P~~MzF=MBopT4RC6Qc8pGDCmSaDEyCZd_#;AM;c*V^_fm)4fh^$;k|y8}64%IGK#cB@W{tjjbKw5TtX8NgYgv zps9G7@u0KddYB`Fv!V1n!)4l=-7px|D0B4Bc0ybNd+EIC@8Yxw4YHij%sR$;Nz4>|Kn5x4J<*2bWZH`z$H0f8x6wiA`eC^zAchY zAtmtw&+e@;cjFj!wu5TM1DG`&_B^aC8$mFD*_=V;6bKW z1acoBRlVJBRBsP)wI?II0r)Ezf|(wyPpIf9qBJJp`58F={WeDu;-QzR7p=?pg>=3_=(;{Nwff_8O5Co!lwHx$HbBBK zT>4{Knvc{lL>&XV;kkB<=Sn>??Sdyh&n+gZ8D;eHH1m+-(SfM%xy=sDDBf|j`7;u; zOmRp^gc)EoVL_jPAAY$IINL5`)QfNrZO^qWy$_A?b6>UyAN0G4cKGb{W%{mw^y446 z&m`XN6J|l%-n==5S+cDVZ1uqjNBa&iXKDiVcN^i!NkpO`(sn@zs8|AG$i))8-8QWl z_slih0#=T%-nlL_yKbRoet_qt1aQfgI*+DM7cHH12o%nh@4oxK`kTN0Z8U@#JJ;*g zs3|dy15^-gGS7l{jEh>}&Q94OW4Onf7UN(-XSFTyK~GuX-cTzg(A#l#jMXgE*3?qH zZ+i}5Qm)C#AY>qF9cG=mK*&+!Uy-Qb=H@J#r8!fZlF3YTv!bEiW4=_-Yr`Zb%%Os>;tW`YAf_N8=~J5({vP(boPkHu z4mlZzZFcQa6RywLKi6p0s!Uc93jjip&v^(3;Rhn6-WKzGn@|_co_aH?rJWNGd38gs z)D~&^z^|R*Aq)axk3K0NW+w@X8&PhDm|^S9x+d_{qg74Xc~j@(O(H=3v+DNLKRM!o35K@cO3E8d9FQ|!+t$I9)C+K zGG2@r&(!U5Faw6iQMC-2v^4MUj(aKB@~Mx19(DOX|NlE8AV~jhhyQJ7{Q-xbzU{rI zzipuZnBk9AJbk7eSA1^OjVJ(CMu*#5I0YmQPVSDK7iB)z)J44KqQ+A`NYx=D#Cnb7mUhTEBqT^iawE-gT;GNfo^(gmo84vg{c*2)hUv^;RfJ>0 zC(x*n)Z_vt6{^k5G&DOci=G7Ub0gyXlFKxYbNk zLN6m+VoHSTN4x2ujixUIvE$TExxx~H%tsB>erswYu|~B698Y%+st=z&SLYDr1)6fl zpmgHGCg8>aTcL09j_aYBgg{4gvXbveVoAz2%|(SFV9GPp0*Tgy-bXMZ<0ps20Divw zT+I-C2CVOl$;dHb)7NW=pKCfJ#;=1{U>|0_fM~h4dxyv8!Nzf>3r@5(*}-T#q-2vo zDHM0Kevq+)Zs9P6r0ofWc#cU?ZBRIC)sPUy^bLa_=prA~2PzPtvkwI6LpT-4B+|lI zbEnQdhHuPaMs9CZ)(SOsqlG|h9goDOVcp2i*tJaqdNOUk_Eoq_;?B< ze|CI8{p`f@;yFx!@C@L0OEPpBl@=nUcr6zIh_(s~;Y9HeYR{Ln)g=Q3q*#SALqMa@ zfI>^e{~f$=Wx6^|*{=>-s$mo!G7;e}Ol9zH?S+T$!tjMMnVo- z@#xLlmt@fauSu$5@^#BH97Y;o-T93*#xjMS%nsW|e(Ra4Npg!=)ZjtQfGERpre|cs zxvB1MB>Xx?;i=5nSgzx;9GQ-7LhK*H9>U^`PYOtD(Qma{HGHO&H0(&fwo)CXfZZ&h-Ux+$yw2|1GZM2%kh-@;g z>Q_gD>h<2DI%F%RF6ozaOLlFL&Bua_396^Ogn)nmPDDdg)R1K?wyz9Y>4Pxww-YR5 z&%5<~e~aIOB(QU!F+bD{syrvmDHEyO1lK7KVlMJJIZFS41p`iACWcJ3xG&Y6M{2nI`;|e>6cw}O7IwIhG%$7c1SOYsD_RsfZ z;I2)$F>n{$T{G@27+N3g%{8SN$&EF?x%sfLyl36k=XTvc4~=$?K;Rf^+ST;vn3#@D zW@XAZokY&hFG9Gl2|%|$YQmpBou!W^jaOTfpgX?8Re@5onMBn!6HTjn6~e~?3yG-& zO;225BTU3E1t-f=gS4EqhxxRHIq&xN8u-zEV&g`Hk{EIj?@oxWUX{-Xr}+5s1MiX^ z4o#{Lk=D}^M8FhEo>hdVBwV1MCTo9od_wxXUiJI4pQ9P-#H7HYwZM6yIhR?)Oj8&Y zDtziWK-;{gH>Jd%%Q+BdgS$0-QK;Afrn{K5doZOvOqH5!4W$VFQJ1i=&-TGY37Sxy zA7%*>5BFHlGd9qAWY$-#p^jjLeeUn>15kvy2LuweXlakyn=qY&FA++BnOdLY;nrqe zbG&`V^3Acj5rA~cL)%MM02B_wV*s|Y zOOzND28t54nb0Yzv}1Ex+T#!2apMM`msi*(>(_F^e?Im>!GXG@?cDdA)~6^H1CR8v z^epGXsdhHY1ApXCQN9$ogms~_ffeNo4Z-N4@E(}bHtA2C6RBDuweW-|{oC*n1o~ov zNda~QWJu$mbbwM*hy`(*!-^y-g+Z!Cmdge3WdI5R4RPL>*#bZSPiyk=xpD}o4S<7C zUmNNZ0r2KoJv3uJ1b6}X2FNrpgB}me6f0qo(8%mSiVCv{LN_Z8oNf{3)#KcJbc1l>$uMDV?YKYecfz!@% zF5xgRH^>UX6Zs4?@V%lHxalnn4lO~gPZM^TOa)%TN?5ptAnYa%H1EK#HN4(3J`yk5!r0pm=bszm z_Wkhu4n%51yWe5nydx~a_2mW=u!FhUb&f;U0gv`ONe|V>DM$}GW2+1;a5Ag$IvI8B zP@@fcbFGDkWHO6DlqL;B7u*d5w|@xG5#bEO&R+GmKN5bxn&bfHxPy}eyCqdk)(a(M zP}F>;z*f`j82DbJrM)Dbo95UNgr5SdYn)tq6V{SoR5GjU5o=tm3GUN3Cw>cNuuC7# zKDd1oW<&ZbgOWLsDw-Udzd$TyenZ^!`w8w>!w}w%xlSDmG*4su?1SEi3MCR=Q-a0Z zM?Df%uZgG8QV=ZM9!Q5H1v%?gI}}&)4s{o86zc`;(wRhUcW-Z})Wi3|{xMAYk}~wB z#S}{&GCcbk;tfuDoSmIj7gyJ;gAUOMaV~-x^vJ+sO0zBCC=*0j@L1{N^RTYJ>K&?ehl+|I& zcQ%hmi;D798dsjN4!ihR*JFYI@I*S~yDRIG>hZ4lB=fUg8EQG-l(%WWy$a`{qNnXj z-J5C%1v8X@!g$C}vG2=hT&OIZ*8x(?vU1m$(rBfbR3uQo0#ISV=aj%PUT?6AZI_a`gwt84+jEgBkkBB!rR`{-Fe&8LP2V8C zJZ`3n4*3ZiYn>qM!xYoeZFSVWulC8<@a@jLI^9LmWbs|5r>nn^98xZTHqszNeoUwkH zfWRRA$4u^fbNfd7l~9Y21i|Op*~O>oy$%9ks3ue;;4K)|8ZWxOSur3$JLZoBZ1;F_ z-fOmnu(+PwLPONq%ymeG7;|Krv|DEzy=jH?JwgAbZrdH;S$d5#2MpVU(uTLJ*(Pg7 zqV5?c*#Y%_`1BEnlZWb%T_m<3+TZLRRKMWxVF<(+ZEvvsqUr)`C3pn^&9o0N?=Dim zIc4W)O>@?X^&nkyPdE%QmjXGM4Q~2qa>C0sK-W5t_YbO{&#tRIG!Pjg!xcth;P&b1 zX#(&aLz$1vQ0>B_W=6^X$UEjPok6&VYzOAOtgG^#jNP?T8Io0U z=dT&3qQxE@5HIPv5ir`uOzoVzX2*v;!YGc8j$^`oxI1U<@R<42toG6FHA8-3U2wrV zu8BB)`S4Kv?hiOJW$hEE7JLizD%CtLKFCz&SWT=yA8Rt&a@oT7uWxXadH76QmT?X; z>(A*4@JP6Ooa)ZXk0hd94>=aXqX|`V?YmSPJ5)$jJdet46n0()eW!@ zf9H@1(Wd%HANk=GNg<;U`Wy|+S2vGJ>s1(P`sEFa{@S-v;yppnp4{FwJbW% z4d0a>S#4<-XL-RZcGFfAeB;SHlj}U=oNgQLkWo4%Ta$*V2Gkj#KHhN z6HGux4du->6DNF-cLj)LM}y=!wTU!{?*asC5GWg_OJ$KFt(j*Yk94T~auUh}trIjv z8ggHZYa;25h_2yRBYqjjJOZW?t?h zWp*hSuP%vI)+5|6OvFO6D$JXH%0fU&+wY)IAoaqSWono*!$4?qJ&|m^ZtN|zmNNNd zBBgDb#)N^J(XR3SibjTXFEjL631CKpKYEZ^zA4P=IxJhby6#pZQ!QO)t&%cC0?nWq z58COwKC2g2hx=;!awuKf-MN9=aa^(e61-@`_7&uC8y_{u1`OSecAe-H#@YuH95^ef zi5~;Auu$F=-$XsphM#3&UA@ri+9U7W# z9^jQ}MiSS2uGzk4Ost?ng_F30Ccg)h+QA9p7L(~M0u25h$y#%Orq)q_17|epwm|$Y z4b4~xU*2znyXMX{U|ExGrv>9>J>`UW!4A*P5=@N;;sLo#N5w1GHr|jkRn7Rti&xc$ z^Af=BnxG8D)Ng8JuU@?fV{Ble0$Eb8%oI8qt!_+00SOjJ8p5UqSH@oL#gKe>k-6o z*^PkA8)<{>aH`jR&DLAIzr%Q$(ohWm)fsB zWGTaT$#A59#bZoPjrb=f@`My!!FUUZBo1@(4 zZ9B`cPJOhEHmdnCtxGl3s#G9xF48fY1b~xS86%|TsG|#(IexpYL1O04b+tcyU_)NE zU}8u5BM91%1#)*fz(#{qtjCxMf9WF$mRmU2wAnK)8kNWg2H0Nt2p!7DcGen~?G;{i zpG5vH@n=C0o^wD$04cyM7iui5lI0zr6|T9TUQiuX$Q-=qq_S*}TEOsGrDlbYdYr7g zHn%wm^(6BM)1wRGwrhWCqh`VAk!)G5O_Q!&bP}5tB>U>o4o#TWA1^fUP68ZeNc)W` zyTbKe?Q{;anXy(g!Et2?4EGLY0&LKVK~Zh+?ED6Eo$GV1H<2z4K}2V+TS6aNm;;4j z;6|r!S@V;CNt7s*@?e6jeJ(K-Jxpjj?QY@;+G*TZe{u3ps~g(!V-v?2wq?>B+#-SV zlwhmBWqT|gJ@#0WiZ>r?N^nFRd|g>aWCG%~=jL>Gwc$Rf&*JU)x7Tmzw_S2`-_5Atsl=FIGcJO26Im+Ba5W6syxo6G8lAAUfBmFJGJ(?>*9VAb?`dQ2=PC5RU~ z{}}S*b#Y$Ct(jMovjU8olIBYpq01S~&Q7&=01eP22z{`8*A`99=h`NUYue%dm6kE* zy{y4v;*}Z70M$et8{hSi*)51a_PVB65V&d*;)2*1x|H!?JZ}&}RtO1Y&X#&ynvqdT z4;4xja-3Jz<9i4DhZrgG-o`>@#wP3ZehoA0f24iV4EYTI>ce~f6SjVq1lJpwZ(j{3 zGvHnmy=?-*)Pd;<>zZqa&PE%iU?44aV*#4b*5)1@kp1_EHC!c9SxxDqX9M7$z9Mo#HJp1$+ z`CaSqyMOy1B58;?JRR5QnCNJ@hzwm2#Ip@m#?=X?H2ySmuUxRNvJE*H{1gmXa zO+dk*g;_NF5iX(3d`4^92U4|I3uRhD*lAz3^3mUueeD{bV1oD6v#n9}Cx?yd*Sq8( zWKn&99ep3^c*Z8YdYUdUkLejJvFm`$t~KEr8S{|o(TbGFLuZdne252C1}*deS;NVN6|@ zRl9*`gDW$frUp2iIKCLVs(S>YPk0e_$X7a~{og!$mP{)X0wSLg=QrGeup)`yj+ST? z#I$WgJnRkl^MD8E)%>P<_58RxL~!|haYlqr2S=K9b;X#CV8R2K+JyDQ8v^9VIL#PV zGKO%kz_Zui9>Vw@SU(i^(XQ?k4`jWU<;lYKD)g8|KrYpIz|c zh&5B4kMz*oLtq)Oj;uHNWJZqE9%IdthHKUeyavH{G0Qd)UfeeA2*D`K5aG`Gb$fkF zxC>gUre&TpJ`#x!`oa6aAYPbg4G*+qgchy<)2Hofl}?yB^X3-w^9;B{gqY(g% zHGP%-$Ctz>py^SV__m?qL+BfQ5I^Qv+VpN!D-9puT9&&QJB7YK_Stl{d|43lJB(NQ zjH0!MZW9~FH?YPRB-T9667E7<&2VFMgqA}UD`Or@J9YnpgHs|O$^f7VUgtdF5CBC4 z5YXYgK1AIneU3ap!MwpWItUPp($3E?!Hkdv`Btv+mxg$~)RiYTgIIHEl`>jMB@7@4 z>UkOFB8i$0lG(~bv@PNZQiqJyg~Z4VoyIr5Hpq3ZM7dBVO#+);D=DSW+Qx* z@?87!cO*CZ5{DkHOR&@sy$C3WPUm`sx@NWpQ7lX5;O4h#4ocg1Fu^`Mip)9RXH9GeW-*5FKR}39 ztergEq487S45IBu$qk6Qgl>!V%o&Vl0i(Ug`*IEr?eCNS@-spe#CwbbiJFzDDbw!Z zC97F!$QqnxT?5KLeYvc*3F#=~UU0#!jULcIyHi3Sc+N~VBb;1(Moma_r&@W5aV1*_ z$qJO@9Zxky@B6G~P?LTubO=vjtfuUJ*Sgd?)S9-@-ir2Uh85P&2*x+pszk>C@K>*X zg$8pCgT&*Nj7q}Iw*UOgZ_yyHf$#gz!fd=Ff6<=Wxie)ab4H^9*_25=VwXu7&>`adD3rhOJxD^rWP zlLPfgKj51PUou(hp*oikvS}}7$6fl;hnPA@;+k5HVL?0uUsPDTC11csyMvILN7fB< zjbEK%Ry9k|7BQ|(tVF_?0Rv`;!O(&M_%{;=^f+c7XnoRo%6957mw62HSwowO^O|i& zRAoLE-3hA<^eBnQX?K~U<^6gN({OMd_OqEU=_4@XKji{z4igAit_Kt%-#Oo0i?zaa zLY&JM(6J=q03Hc`rwnmxjZnA%)@uaUCZT3M`oJPV1ZA^6sc4vUxv9V&#wG)y9nxFi zZGTD|m_OF*JxYjhFX05Q?NdGOkL{x$I=9q3puV1d$N>4L5b(#2lm{)#5x(Uaak+{MBeKmwQ?3uHV>m3Fz89i{yn1CQ{ z8JB>eK6(~FhWFDKcdo7h7m3kloDfPJOmKmo^$6;9G2e;c^O`LZ69}BV7D5LD<5#G~=}4&!WRb{Oe`$-LXYn6`BBHBZDA`KDJtWjI6>gZM6SWj8LW@Xc zLOKDH{a*^Ah99eO#!*%1=+>Jf)NsNzLWe+dTtZ#sCGGEXc=3QWE zOq%8B`Diwn?E%grFi(l}qFd?l8 zrZ+=}Oki)DjchUbdfbv~Z8m{0V-6ei?yHw*jxrPl22*>rX=4`?=a^mXb*Nb_G_kJY zF}g;3bq&i5AQtBsti($ki*{MB5_Tgj26PWWtau~J;5;O5GDbh*&Nf9q+W&L$a=0n&4z>TK9 zg~`u-7=8Cv4_^8=?6MIu5ejp%>NL>aduaDl*Xz`JR>tEhX*=(!jegbV;=G5rn>l&Z zW{vVV%FJgc?ZrZh<029VvNC%2r+wDMLb+T9iu^+0ZG`1zd8gB$h~?) zIK_hX-wvAJ0O4R{mKU@I@rYs>Gd-)BLyU!4suc1@w7&(j(pyy_!}e=>-9k{3=JgaP zK$+U?!th-~ zbdDC&Vu4?o<7)(iwOcgtUf{_$KOz)JDe{3?nmvmlNF6*-7@@S7xnLYIVjnmTu9Kjm z&9XrkjU3g~DF`_z=@gmPLYZ>3aG}L9-%NkmUK?+^X@hlhUA%H*0t;A&KwGyo*fDqH z%AqNC1#O_`k~ofn6Dd!62+{Dp`VdAQ^|$Ayc`Qe{XB(wg_2E9OIjEq9u`MV*Ez*VZ ztoI)8Z~B9FD^Yb4IyhFq!*rr7ZE}uD2hzcH84W*W3Y(X0f81DkCIt&k7h^emUj)=4 zrevw{njI?)#eUY^E`Z5v)CEAe<2}nvdjPQJNH@W3BJrd=3M+N;i01;H@0eSicnAy)QTYWlGoS&%v$Zn)cwpHo z>Ja(;cnFii5CIB3@V>-N*v8cCZ$5?yICwRou>Lp%KsY=s-*qGjrY0H7)q^*?Xv6Hv z?iOlGnt}_FkV80Wd{)@hj8Kz>iH5~IHBHM@I+6ew6Ir*pLnd) zj7RdBiEi64OEm@^ER6NCUUzuc$S~!-71|R66I^Kn$SKUmT%;|szYOsJ9gp$Q$ha~- zv`ysKb8`)|G8NM;u%=w7CdIsOfc^QBGx1!;NW-*$D0ws=}Xp!E{PHB z5o)6q#2p%(bS=!bGEW2eyKkRi`o-*qmS@_!C9#mkHV#;Gl~IjgF2=hJ_l%wFvnjA) z3}#EgJf}8>fMBK-6P4fM=(2lsz__r!byt|5xF92x8Hr<>)x;mY9R2r`1jFRh_CMNjR_pjN~X;7ViVvU#i@Z!}W8sDqx z-KYOWU(f)L*wG!+@a5&_YDqSiIm;BTIJAM?7K~vGb8NDc`oVK{z92>24e8GCKFOSP zUWylmkV{tz@w89IPfjuO${_TptpZa71Nz}E@~)q?Nwud&X8(=-jLc5o?NbW}B>ZG!n>_IyKSPb5OXtb(M!EdoYBwa64%9gzV6E;o#USOo%7; z$#R8@`0C-9@*~$g=ayH2nbV}e(JQtAVjHWF^WAb3xSzsS-vNnzG@z8hIoAqZFQsIA zG_oXe-lEzEB zJ#2q{*hUY_vM_(iRs8F{5~c_3;6_o&HqWN~yy>63Z_3U3h!c)Kp4Nq?UmsRm*Ij={ zyX66!QeO0B`vu;`JCt^1C;^=5#sWM_iZ-%gGOdj!f|6}1($`evuIf>J1%w^dmco&z zAXJ83n04IP7Z0Ta?-s!1(&piEUZf)lJ3!rZMq9ceAWiJspaW$ohf$Ah@B<-hAdy8| z#Bo9iv$+^odt_~Ybx2Az7~$a-k|DF)>bsa(B0(dqnMYBLvWv+Jo}QtE--bwv3?iz@ zpoNA1o=PE`)^8f_UCJ@JG>8-==T0r@6yz;yT}}oki$qgq=)`ca{HWP^-^1UQQ@`u? zjIzBh0f2&}ZC=-_Pp?eaocuc)p`Fn~)c}5K+z=C8yqWBEoFnasn|NxZ|BfSAnQxgk z>n(HOWQL3|Lzs!?Rn0v*HmI3AC_n%swRiqU^J4_LM!RT#gKQX%U5`2|<2!lY!@RMs zWx3Y1fZ1ABkL`M7);jITupeL^2$PH#rYvw%jmj~vJ!*x8M9kerG#$2;TX<$0CNxJd z`;6AJg((vKn|v5L=`JQz%i0 zsJ6*;1fjgYzl|2R1JjyNr%o+03QeRkKtE=%krBu|)c9nOrbGM9Z+;U;4=n=Xk+7Js zW@QGS=W35+IB_h`KHz9`eqFtK@e(b`-5tnNiubNe*!>8fJwHqeyn7m}H)6Yqh6PM- znGl*P^;*>e^z%<&5|g>lRz(a1yVT<`sWm{y3(A?`gj9!F6(U-Qo%mVLhbal}CDvLR z?9cX4O%_8wc-X~+y32N3YOi`P`;5uG#S;Y}&?Iw48Zl#x^(c-b5`8g`tyY9F%OicY zRT$;@m#YXq&~OAA7&!14Zs8dW9_l4-Ru&nixbB=$+jLsVB)Vixk_BeTgt{FQg+A+c zdfHxv7X=>A?W5)B%;Rs*y;cN1@E=@OTO{H>_rnZnm{jBGJb$DGz$o+vI#(EwGX|;$ zO_Gw9og@m4;BOcSfJ|A!-Zrq6CkONcbFY+*r*NN8s4LDuE#`FtAB*;aJiIW&uG%4Z zCOwyK6|0~`SPKv(`Db&4>G_OFIjAr6oO`}!f2=p_ggN)OZFq7(TfF77g?X2IHJ*Ge zue?|PHp5PR?i=O2@SgmZ-lWbNHl^J9Z#3BasM}-PN_*QW%+AP-g`I(c#4ADusCjiM<1nvF#$g^=k(4o{XZbWja6w zCNemmaiBF@`d-oe%6gga#YDy*Gp~5?D3h&ZknlZ;n#@yT>MjXhGd3}>lUSfRn+YQ3 z6_FOW3uW6Q%2FYPYDyD<3cN+wVvgYn%Jqmd4;ol8R$)+K9EABovnepql&MpIDW7Jx z3HbZrF5{*4i-v|axkSJ)$X!#`2nN$Z14#SnllPRsw_ytCS|J)TIt8i0-Y(CQqD*E@ zf2XYD;_@6B#0BqLT-Jr38FE}N3ZdIb=XaP&mk(&32t<1)INz{t2oS61FJ4y*w{n8n z49NjHVbfCu7R_R14UfI#FlFxUiDy*KTKHh=5JBL9Shcbi>u&JBe0rBPRdMKyMBY0j z{2~j8dOdo+Py3DcE1@3tbqL{g zTogFOCpAZzpbXG&nY>Ierqax{Ms}k(Il;_HABBe+pNH9VUcY`FCi%br>i+~6wMOW1 zYT)@tyj;~{ZZLDs2_M?WiNzUq{^cg-UUy1Keo}-Hy|t}d&GVbV>+0S6>%jlyHD0si zEWLg|sy@S*(apn@WL`~{A8K5;T`~l}*~-)nIZ$xW8X|+r z`~tT+0IGu*@6z|_&mEe(eGpk(Gj>;#0oIbylvHa94tPClzE@y#E@gfLpF7rt*JK%5 z5USE445xwM>v@$kY^S7J-E~OzHwpn3Ki`sN!niCh@bJI3E zZua|%yr^pIj;YrjL+kVXIJRV#7J*k7X?|50RHO6x0z(RBjB@avN1@LJ)^T>>a;7zk zzyg|OG7M?bf>14YtZ>XdR`gpBX#i6CPg_EDRs^}e(iMav-!&Bu6UjQ<| zr*w)=JF#kFN}Ulo}UA@_#vk@<*q7}$V;A|7kp^xOF=TlF!E?S~e zjoZPP-9z)LYf&YpF0xk;)65hO1al^X>%eIy^bnXCK;Td#E=}CPr@*ivWN8~M204KN z$YficEWSraQjX_YmjqF2N1If{ADO2fX>O#er<>zu-C0+qeFmz_Jk;_WA5DthS8GZ; zLFhjH*7;Xt@i`}@hi!4;T4^#V**LcjO`BuZ-)yftzB?%laMuHE&ND8=n^nFE5i6KL zzZ^I5f}&?=PddQprK;v)7Lz5g&St>$V*sI@p~36=wrNB`LzXeP9ZIeL!G&|NaX2kf7oDPWAHD zQT5YLpR4vA!RhaQ!oqVJDbh#c|i?^nx@V z*SwW79kp%EfS=jHq79?zVE$j7=;Np zNLM%qChmH(CJT^6(2s{Wp0O1}GGAnB7(;Pp@|n8b4c1rP@OpZw;}60sj7nPL9PeY^ z)I(IE>>irpy5{8t9?8(0eL@rV$dD856ephtw9^Ziq-&tAh3(;}W5@;kB~0K759cxF zPi?*~J-F=RQUWX%0R`_(JjSKz9{L;@sIN1Q7PKXdMbo^5K5LoKOvh*no`r$%jvnZS z7KQnN$Kt(944Q`(47796xT(Xz^=V4yJA(zVWHx~x7CtHWW5V1mXy*%S{ns>tp2_Te_ygr#%$E1ur?z1KXS} zCNekvr(JrE+6LR`M75ooK7GH2yNpoc+C?Lgyn0tgs`#A2?B{uE5IgB z2|5M1_9fxQX$38(P5xJzmP}By@ix-A?bFLwjWY?OL7Odz(HM_5y(A^%GHGKxmy|t+ zX>Ah=Ho)b6!~`~W(6t=APDt2I))X{@%iGT(Mrs1~#fdP6Aex_4M+j8cYI-}a&L$rq zzz|hj$(IkTkDwXs6GtZG44_`(V9_UG_b#TiXl1S?GLi2M+qdKZ06+jqL_t*U7cj${ zge$DcV$ubNX28uYZ#t}NeLVXe@soJCvTKIxmS(3}F0Zn$p<3JJmycPiJ3cips7bZi zwcX8$8KW5*uK7*vcN6$cm`{5Cx%H6aq&88TKE(msmCb?~JBg)ZmE_;R#&gZM)_G10 z;N9({diTp&w8205;X9baXBYvd;j1&AB@i8duYa2FhpaG71p|Fh0xXDmpJBOUuD;^_N9mUb)?;yySt7t3lUe5lTWoFX4US-Y zMNHz&i1lDJatW;U3U`+|lG+dxp&rPFAT^lJRFZzGWyxr#j7J9{$+UN_KTp8-OEkM% z7~;Vp`&43TpQ>5XFU#ho;$aH><+eJiX$6q+6>nDOgQ?*#t1`!hiStYWRk#R~{6;YF z@OKjdz;bHZ;5FgkyM8kRAK~k@`oqgD$+Hue(QN`R2W}qqM=dJz^cS+D)aFk>@O3W=y}m8LiS6IA}r+ z!g*XX<2)K4#0d$(!$LI4i6}PMf%kjfKr{v*i9G?iTstU@#?+w1NgRvNUJ>t+@C*uf z%_^HZ(r%;QJSf4IgZzbiTbFHWby@S9Fbry|Ot1=*C&6w=DZ$>-Jy-7+-icj ztu~S@&%K2Cy~R=H`Q9x!j#&k%t4-UQYL#kJXgNxA=pmTCMzmQ^KAaXH)C(q-8_;Sl z!a2Vz%(Gsk^eke#2#!4jX3D;35D3>UbWYGEIUZ6Vg=4fY8&yJai{zW#91t8d_pTvO zJ4|o`)o*F@?`IcebbBDTFVBn0NGI1W8*EJ>yp)z2G5jB+HB5qCLic2dN$Xo?YwNM{dT1rC$S_ zeT;oIGm*hEt!E6fB!uIYG6T%*inuzOUE&;;%(G@%6&6H@Rs@o6*G zm#*%JH=PllF+XQ)&?t#Ry~X6!T;Y8Ooc{3s3j`2?k9OF`bSpt$KzM%nII6yVOFSM9 zJ7*uS5r)t%_&1(^LEBuhu7-920sYmRV>~c%?Z?5Tfsip_o*DajPYmUntV)KD=mk7M zi)azAs5xy5!Qwfo2<0PKjA>aR#G#Zb7W`(>fb#oYhDlcn0hs%fnVReev4P^MRoNVb02eJhI!DW-wnJ( zm$U~1Gn%}@5mo{Oq5Z8zwZ%C6`1>11hL912)jse^S~=h@L(9q+IOUN8}0ZDxlQk&0X;P0Yo3$NnZZY)Z;vcUGT8|@JXh;Lh&Id6k~rGyYZHAN#ssc_ zJ3TTnIes#zDeIQ@MP?`!%rXYoqew8$%Q^AX;J=P^@M`d!ImmtYd^M5!h`lngseluO zvB^ld&4Y}g?St;dnul-z8f7dRxXmWaiFep=1l&5Wh7;CKyM!?rQ@u9qjF~#qs}%YQ zeUO$Vi9Ll__lm4T)s*|h^t!~M<;Jc0Twd`bBTGs|M%=h@s1BcUl>G=9Q!r@O(lo_E z8S)hQi!{zM&GNKt!Cy9qkAz9k<4{lPaVxmOZ+M5_e!@`8!?Z#R5&{EtahHE!HuS&1 zOGm&`f8jrBvsNP8mtTa_7AeI-CD9^rT@l$y3&LRN5iorykJ?HV3Hwb^E<)?z;|MR zwLZx}IKcd5Qm@hOBAIc)iJ+9F7h1-KvV^^D(NV!3$>`gdLVy;fpt&;X9kY}Htn*DL z%&n;u8V4QLL9(3=?UmptskUJ#65y`z1Kw)R4NPb~f{I-_ILFyS!m;JVpj~t>IV5R` zv`MI-w1l^+#Z90J>VX zXyUrn7>`GHt9Nh41A^}}R%`<_q(9>2f;ArZ>~pQhzI^xg4SiWvfAfFd!4Sj;wIX0j zIch6S!dBkBCxu&QJLPpSNpB5g_B++jxmp z52`=lSYxK9J=Pzmv$E|JfJi%Riyz0|!}WM^TKpGRJPhB7^B2!$!(3uF_2``;h&7;3 z2HQ)-6c!AvkPx3@CYDjE(JkrQ?LGD4Io?a0v7s`Q3tkRzxDYS(2-k$E33iTK9a;5y3mW#$JwJC@9ov#)czXN}A zr2XYIv&WHPn-Ai4YPH|oX#sLY_ z<9*e0r3_w#Fqkz#W~d3EEI?a?0Pv{0E0au4QCmQ3%}a=0NximD^Ig$o+`#jI?SH;| zwyOT**|a($qf7&dB@;?_YLP+-P^6#?iEr%R4ldG~9*o(;F3b<+gLyy`u^N+cZaR@@ zPL#2UKq8ZqxC=qsl9|&`jH|z~!z&O&!DH8G&W@3!k$iV0p zo}g%>!kX1WV2OsS`GmTRIRsD$DU7WXK>}#HC}5*RtK)#punAg@w{~p4(hxupcv{Sv=`UcI&iOb%0L)IYC>L-}M)d)J6L2IWFGupUo zhHHCwcX-4S82|ax6%Hxm>iI75Z^9WOXwvEyWea;_%?@`pvjR6vXXJUq+`5hCNgIL7 z4g~cErXW$3I=arK(~e^xfjop6-mxo&VvMFov$cFYV{H!$%k!6pV2~qopvNk8VR;ZH zW|YyXN=F}QZPI%Imwq2c$gc0^109dhM9GMAMTQwSN&exxH^E_(OkbX}Q^P%Lr0iVr z{ST+rr}v){`*=lS?#oNt+QhV1nDBauS1g8|32hS}Pw=!IvtE0P_O@>Cfm`mDfnNQY z&6-{31;3uX+-I%zxcW>;igAtgQ4@H-J;XKfu%1)Fe}!kpUMq)q4+aFUeO?QK>!ilJ zs?C@nTP^AYp~2YEZRWo*XG_NU8dLZs=4>qs#W@B?7tE682i0u3e{jM&AxQ}?(eg}$ zjgTOYPcV_YUDZf4F+xSt7&}LjdfdKA;n_fZ=P?bXEydZ(Il)h!r`eRFDOLwN$1R@M z;A!%g(mz_lgU;_F96Mj7Q^G^qlKxYWaPqfD4XgUR{`R^iWT}SFsufbb)7F;)-wrf3 z=wsbl`Kt^w=_Hv?Z6C>1&kt(YGQ+$Fq1P1dp1 zL`#LzKF0Fz9_m`sB3sA7xG1F1dD`Jjwu#VWXorXSs(FMHJ`|NF=!X^p+o?J8tK%lm z(my}WU#L`hk3p!fi%+?)5=Ln%CdO-Wk>AjE#tte7yh{BP&Mg7wwEcL!`5|&tp?(4L>h+ zkxthT?d6Oz@IY*uG@Fh!=9s+T0S6rj(B6b?md4c&r;X|vbY}^n){CnNlH!OKfVDsb zV2U)jVU8d+rSPvXcnPw(M@5p_vom{>p_!P!(gl8xm@`Fs+O3A>ybUu0CZdDjaeYoa zcKyx?CKIxJ35I=h!T|daWLuE_a^L>z5vl2_3=&KOX;+vtb{KTcW>c7;V-&)IR98#X zphk$J{RE%0t{TS}1~y65(cpA3R~uI7Y4Gh*rtQ^H%7ttR?HmMif?EC>BBFzgDVa3? zNR-r!WR?SnHPkoetO4%%a|n>qu<61Y430^bJB+hV0S4-uk;VzDrlpzEb;~Ix*%pG0 zxftEXiFrp%9((5@lDf_}L25Usd4)N|>@7<0Zsxm2BfT4uNEzwgwIc;3nTUJS?X%_9 zzx#_nt6o2MeWqXi*T4Lq)nEPfPcR1Zi=qtozzjgL5M90fQw{{{RUb(IX63^Yx50g1Y4Ik)g%+n@ z_BFeeTvYFYpNuUugSHFb`aFFBha>n%ASF%`Fy??qg1W(_E^~N-6VokYtRDkn5AQ&i zXp6z@Jxr=I_QSl#Vq^-w^9xb{ez|2S8B-uIouSD}Sgl(tfJ+=QG1ILXUn( zn}NT$bcX}X`U=KJ8a`!3^OCw}sN-b&b>Pt$;>OG-*)U0mG+pLrh96@g9pff#yhE#0 zk#Np~tjt3UcQ72+0X2Q*9^+XvLg~Rj2B*;EK<4WouSqY&9R=Sg9Nad|qQs<>gHHmC zWQCx&LVJ&p&pgQ{%e=p$9i1)eXAOPj5*dur*in;@v|y5MZr%XKT7z^e(%Htb;z7!1 z%uq;TDXYhh=L$`Q=0V4rnB+>^r9p*R*#jA(w35R7>4l81&*r1hkjv$Fe(*>5*UyMA zI%ht`sZtJQraZn?yd4rPd_8$pK;Xrh^%C z#-;~Obg5%BYi)>gjfKcvo@wC;fA25ZF4Ym`)3v~ zNhu9PvQG}4ZE{fUt96@N>Q1c$^Q#CeG17!!rVdS0$Z<%W_LpWcv9zhj6F23!FwTTy zpkyQx%}9BXj*59wX~mRJwPu__0LBtWO;k=6DFZ{zz)^+7f?ACebkg};AI&5E5wV0C z?X(}lQFy7n>+NRU;;#h8H7I}Ut}TN%s6HNY5+2RO5Y-iR2m=q-@EQ>J1s%OZVpems z?tS9kbYNNF6thNi7RmI$bq5HYLS{I8Ofb_;^+IIaR!j`#pWqUcUsJUU``dW1XfSZ7Mo6H#X!En)j>R@c#2Qdyh^jM)quCKOYoYfG9JOFOrzB#S_?Z5eF)xqwP z9GZ9J+uTPeajj>7gU5S_6~qaz$QhDS5ByYXFa_8Y4N`}ww&4-FV3?0q$rSvMfy;o@ z4jn6ltD^yRwMr z9E)1OYLAp}JG^txF6kzv-oZ@i+%w6!-&+VrY7?4FPmXr0w=bVVkO_vzY<+zNA;+0S zd@-!x8Ch|TSWElekH4*c|KmHnTu;z2o7MAI+tdRr*r)LF;vVJ&7%B7gSiD|TFJ2y@ z4YZ;~D$wl_>$#69c4wd9{`WsJPBH}6&SAcNgpzaCK8^R95PBk^?;;o+u#?Ayjx~&F zw7z;UpL`2P@ls)~#y7uxUO}k=9&{k!;=AEHUCgjU2zL*yMdqwlH@d@=Izpo-juibE zN2+t)ZB++D<3R7wb}=P`r+wgd1YTOUF_~H^j7@z1hhM;(9cToaAtrHy=ywoWdN5(r zs_8H%&T7)si&i{P5OUcd3=ACB46g_4gfJAHehQK1I;LfXDTOx%8W`i@OCOwvmg{&% z=oJUSZ|hNLetP6uh)lUE%<4l}Wew4JBco;FTc(GCqr@F*AQ^#{avgf0W?go$FPf-Z zo5?&Ke`#T%JJ2&2`f^DCKKB*o%}it6ZgOCG(l5X4Yq8YP7B6$r=WIt9J$=iVO6wnS z0l{`d^xZtcLwdT@8kc9vw{^4#{0~P6QL_$evETNWx&?>tJcUcjvdue@& zf^buG`4p!x8K4Tvrf;;_=Lt_^VbnqbbP1e<4y4_5vcAWwVSs7|;aWmSg6M$CU}(H# z#I+)uB|#J+WH`}aKnUBL#H^*=X{@I*K^~n zE&b*>#20CQ7r?a8Am=)dFpze##OF{m6138^<_p_EBV$WuqyY{{AR<8MSoNR_Na$!G zCg+}`70WOs+$NgV#3eMNp`aO=u1qOOL|yx5QC)H7Kkg87}m>mu2PSQuGOl5 zOePj{9vGMY)*FJVmC-;D4Q%=MF}NXcppA^Jo5oIYW-=T^vu_hGSVkLS?8L#e$a&45&_qj z?%Azk7sgPh9W#57PA#vVAHj&oeuGwbdo{u|zYasG-u5uX8UBDq$hy`D?^(5R-P&m_ zI%`m;{Kyr%*@D|#>8}WYpa+XXt`#7Clv(1%9A)1BJ)r8CMLJIRp z{)EUuBV31c-#wElD0p;mNJ_k~>wpLi*`kU7f)-K$eAFhV8m7KiS6-tpew*95FEgt;5RTbQpljL^BO#mF^4S&fzug(QRg z^}bvX!**y@QycWf_($-Pnx!`P0fLfFXb}#9Pc}$EHRct@17VQ% zT8D9r)(O!lA1a9D$y%%*9Oi`fm40}+9EC6BU7oRzas$6TQ*#EOe4tU_nb)OB@{2fO z$%Ht(u2s^vT&4?rtTyd}7Wge}a-UP~iB~!Y(R!{@tL3X9axRY8rX+x|TegRf_RDml zl;@<^R!nIgwABi&td0+)OfD77tCh!^mNrNXI)&8WZz&=#vvmrXeyf zVWuLzW)j!^%#>meMc5ex-Y|hBCfzoSz}%)XY^A3G74awsb!^OdD~OL{L{T7_(h!J7 z%S!;Q@UvXi^3AlT{v5PPDbpZy5Bps{v_;0s;K}F~^hYzJ#K-|MiLe>_Gl?iS5|2V3 z^*W|X?M`?#5EEb5CR7Jpv?_H0doaYjeRE7|GHLJIf0I^=IF6f%u-CxC%~dCkC2&(J z9x&Ne)D3yqfeSW)q3ht9F!lPpB8!S~W`<9=CM1j$6zBzJTD8)GloGUi7zOfo`nE&^ zFl0u;d4Us&;RJgJILP1xq#L_TvMF;%f*;FVVUQ!v9e^(F-p7;hU;p_J^y#Ad^zlQr z{q47yEitpw?`LmcRe$zpKOjJTsXqMnyt*ZRZGu*|#M@KpcZye@Oi#jUnzR{ShcVSL zeiLA1GIY~}O)#&z%ScV!;5e+I>M2Mc0Iq@CK0igP?6M|#d(Ao&8ryV)8Im!=R=^;s zDdM=p3lq$s4c+{}GaZNEz-ZqPOEii$9!zmiiFYi88N0?-dk<{7f^793n79N!Jlc|Nc%DO!omD=d_4ck?r zwZ4Ek-~IS=#x?|oG4o%+L1_p`1KtAwh7f!N&tGbQUsu&w%(xRtE_m0e>*Bo*X`dL8@8n1XmdIV7NyPf5(?}X)rpM zJ7h@al+9LMXuLLUKwj8;(v)Ql5J5}RzRL`*muKT^=KGM;bTT;c!M4j>#d+tW*J2f7 zPI!1vTB$(mTz3wK`MH+PHRqu4(V6Y>c}~9424Ka!&hPr0axBAZ&U=qq@Nka11X2z< z6vD3{stg33;rS&JrMQiF0KBn0C7t2{s`n?NJ@~5%*txi9Lnu9;5|_f8L1fNX0`n_lljo?EGUH`xnbc=_3~Ro9)5EQlnlo(j zNH2r#Lv_F|6VJ)6f66vHdzcejxTbe^w9nHu7)Be%jco?ictZ3B5SV?)(jAEo<%C9gZLweULUE@!(p_1 zxF)~oCz6%s1#I>@aiiOeB3Koy^a%RHIRYtS2)+!U!MG!c23ul;J^? zyAoH*Z7?1{y*kCILT&LO+G8;xn)zjf_oj|X2ROJWc&dGN$RlZ@1Yu$O9e*3E!%9hf z3|r*4gkg-?QuC6Dud@j+a53AB>nt)%&Bg#G!lWLYTito}=l}dqtAF_~eyINHFRu`u zPOIa?Z)oAWY6oEN61xTxvBpMq;D$IcX z!<5{;zC#Glz2Okx@D^rSwYv2-WPY4yvPOYKeBd6uw5nid{4Ey+D(p1pd!-1!ZNz%Brhg+Ppzy;TO zPuRrQ6oMT>i?;FjegE?pk_0?dhnP``hk=ou#H)3|?#8Z-U%>n|>Gkmnb#5kj8%87X zkeMHno#uwQ;I13zKV4Qoz59h`_o`0T{OczcQBcdiH2>(blftDxr8s~co>$Z&Oiua{yFYy$TCRR6lHMs*K(vKJk8iD#Ha=8P-n78K8+pcO`FJ%UdHHGEJkf6F2i*v#0;CegKQAI-!i@&Oi)8pDz-OrvTDxkqFIZok|d0V?IOR8NsAZPToK?e}oG%&V(y`IsXXbc|$<=UiJIm{a?aCSR+J8 za~r5JF?|Ep(w-B9zx9rsjzlv^T(0iW7>37;#czqBM5Ba=|ACyRdL_5r7K<_5?H>TB zE3_{N?mebxa13M#Qyao~I%sh#gtGTAQW>Nv)Ry303vDhtia>?0?hY_zwh&qrDi+{|c|;Wo`)$_$%(aRJtEc!4CTBC}fb7)+b7W50Wtb$$q&C{Y5y|yPg_-QS!D!qAPXp6+FdDFqt*Jg{IB4Av$C(~$m^#Lp?v2?6T{MX~ za{*f6^1u{9ds{O;HsIantXeh+(la6)(em`FXd(Xq*=#`b;ytagHwEK zYvr3k_Zj(Ylze_9!L8H{AeBWZVw7l$PE&FHb zPx;+1eljJI)FLSm04Go9RMnM}zi*$u15nZhYO1>GhI97WXXj7`c{Ml@V2@;~2@)az zL5pZFzK=8r>~^*~X1!RHwcGO-DNUb&`t^-ZxKu$&p|9du{%=k#aV5 zHBn!dxKOI&!OCO47x`WjNPfQ81CF>ym}A*Q`l+tbq~)1qK3EtXBVH`)D4KLTgmxb=1ZTClV8mVMBy32OUc#JXdzd-shJ<-FeLt8{msv_ zJvu9V`_1oJKa#2m`WO|7ZiLy+%4l+MsW~l98X~eSU+Fa68-E zJHT&8zy{g?U}A3YSj^5d2>GK2_qeWrHj{#5)UYF6$6QX6;$isLFi=}iZ4=>Xu-WD1 zc@)Yv5GD#)um{{P)}?stCHaX>go*|MC|2)z z`SJum=XJKVPH-CQqro?pl`q zLum6FBaOkxU_>p<$^#-vjo22x77tKxbw zdld=uZ~e`=+y2Wrd5!xk=osI{zUOb(5<(Z_bJuy^dqsoay+>$K>_-`(2e*rRrq9Ab zMCMCiCQT5Z<1-)fJ?+@_SNlBamDY*;2n!ecxd3yj;Bzxr$l9-3XVmam#h9b^t@tdX z2};7=1-Cgfo)hFBm?b5NbAp_r05~kJkauXi;vXghy>SisTUU|r19^jH$RnIj(k{J; z6ZV?K@Oc1#_%+u^W8wnm8a79NNwkLz9ysYa>?`5Bio8h%z&)dofGuR+hof>zm@#>D z0Go-zrGkJtCV`6z$JiZ|D9XW&ByjrKe3noa$Hs{9rf1Q{~0y z*hVSx4Iwzu;1i;<&@6>dz$nBbd1*o+X-E6+n(xlJ%Ch%Pb5RtD6INk+D>ZTOU zbH9fHLlP0CV&U$*^&@L)y+%W5k`jTUL^YKpfM{lLLm4Sn1_#W!a%1SDT&W!ZgCbgS zw0J_p4Q6lf5;&x}r0Qlv$Z}3rdkOquP1d>2j_B-Kegl!XXBEQq`DahEzyA7T7|2_4 z$*6vF?-^BzFt4Hwgw)8r%FEmA_WUIK(;vPg*aX3eT+|CXQ)tzgvEiJvINZmdwpv^S zQ};WGofS$3hTBu$v`IfaW!VyG14tswjZPDU?`uXC?~ac!;Yq{PCT=d!7`qTLtQRnN z%YuoELDV6X65#c9e2g$LgLt;-MiB&&z?vD1pbjG#Pzb?Ay0 zU(U0a7w^!_NVZosYdPiU)!@KP0qF4p^}U5_V=~G3`DKZ=Gn_zKaPv`wdn64$h_O&!O(bigS0g1i8C+5Rkp&JdxtU$QNbDFqCTptA= z*Ua&%AsLilt0R4j13Hm-olH{PP@^)pQ^8w}EtSk;Chjfps?>l^Fh|dq369AnH6}o& zIzo_$6f*$gnz;6UAHp$vKVSlE+$(@D=C9Bo!;jz(X^I+=dpww4!mZE**>|z++0Qu* z5WbwrM*V@=C0MwhEh1te1M*?9h8X=XZ4h7B$c#xkq;|+SdH$3=zC^21lM6E}G~c4v z=5zbJsFlq6sIB`*s2MlnH~tm{*t&e?cg88K{^G@c10oU{Xa+kyo~0QV-sGfWVorly z0IhW|NEZI$aQ-|`{^WU3vor>utM!g=q%Yi*%cKMT>$)ZF(rZY%=L-Olet>hck@A81 zFd3YSrY${)Mcm4p_;S(w%^(A%P$mj+)v$t~`f#8QN{4xCrACEG0p3UbNQgVv)$xyQ zG%*Qn&a+KSFWXGD$#)ITUBWDvMDhV42ouYS^L~tj*XN4FR-0+#W7FgkrVe1|Zw5w4 z+%1I^0W%<_9V*-$7#73SG6{kxbJN_w09vN|GY;_dXpq zu$?qU5WhSOoKw?cvk@d9`DXa>z@3kW&$Fn2+Oe8{hlFi=raJd>R8|Sml%%PNVz(66R@-1s5-Efa(<34R(6ccgd9LGetTJ7R z6PB6iz+NfSSd~qnzi?xnzIKd5v-bd^sV{aLzv6%W`_Bn(DP-UM;gtH6``P`+2if)c z>#U1*G*Pn!N3tozo#@C@s=|nK@4i3Ej;R{6f^aYJH%Ucu4hDRhBW}cZXFZ-guFG0 zkMo=0Q#65oYs=b?7JeW~8q2}OMURw*bD}$8e5jGbTlOHPRqwsKw}D1;5kWKJM4Pmt zMEDZZ9uTBsJ<@}NJ<=&&@SHZph(MY*M|Ze`c^SsAy@Oi;*tc;xFfCvXqk$$U+*pQB zO@E9j_nHRARn3ktYS+geh!^KKFk@Os(b#xEK#B~S^5d9h2U!oMbq{m()2D~o+cy+R zx4I3c+&X(=z-I&8%u|cK1fFPFu)M9@iq7J zURJP)VKaW=Eed8qQB};0`duJ9zxXoO$}) z{2}1!{@gow8hl2^=u3g#c3{FNoeo_NxB_>^K#(Mahz|yts6AD9h^lSO1fXc{^gl3} z@3a}vMqgrm{tzA3RJrw zQqdAfV@y^stuT+slr%LmL49BbeH1XaMorY z?=ZbbL_sorOWnzQe!SVZeXNgb{=kKoZ?ErgfRNm0Kh`f3VI-o%j)mp95pAn9riQTjug}`o?&pdIAFHS$#rPWqo zdXEr5x*IJtOp?73sw9%f@A}!!=ZD!nYK{)RrJ*kVXIl*2P!bNr4=qqUQ&Z_cm?bEd z`LeW_5zh(^`jh%pjWPYC+uaMMIiuJ_uSY&0`En9=dlxFP@9iE!T=g*_5VdzgC|t)( zyR%2&%k2f)-X#LUR+MZ@xpoHfpdsU@iz+(=x(r~*7NxL9pbTKKGFp_>4TOj$#Rm)^ z+uOYdZlcMs*K8nsLn=v!(r0QtVf_I`wh>YmxB>qB8s?8V_v0rUQ4oDh)M;m3W>qH$ zORY8Gwe&(w*y!LD_^Qi7?26jOAd6NOqczJG9uViD&bf=g+}1V5sP7W%FvQR_4`T)J z{gN8t{?hEO;5ddsdF1%-+RCuZFV(fMM&b7&e&WkB0&cWcFfiMT#XgMv0lqUY_lft_ zmu}(fy}g|nmyx^!1ShpY$Lad|Y%MwpvF2bdpeJ+iQmxDA-L$V0v9{BQU2t4iO|!y8 zK}i8M){5&>^{GUEbV1b6PNgFuKm)tjm5iGq22QDI!)}~)ytL-zw8VMjpYzDmG&jsb z9Cd^YVGz;N%tZ~9re^E~_b<%jE(+oSBDi;0Iq!W&4%U9PF) z)V$OEgH5 zuD}B~-;&K^D;Xm~u>^As7YaG%Dw6A)Q(8>9ZgIPqzfooRVd*sw5w*c)bz^i0zHzg- zV8T>>y61u(}13AVpWygoX zhI#TV{1YZ6>)emU1`xs6S$O}>5k_XIa9{|w(vXauf%05o1~G6PytAk8V2OMNJSAcU z2!m~~s*GD-qZ)+-10@IMfm95>SV={sZbBd$n7(fDADNK9fB-MtG+eLdX;^%njlQu- zULzXE?M;u3k8s2F*3TR=zaEmcnz2F<G2@Df*JNW|JI@mrVW8BZJ2l!Ys9h-KH#AX5RJCM$A9dPmOQ@?y2de;D@w% zT?4h{8hM0$7@j!UhOtzL!fa!f9H8MGpB{$=Llh2QmJ!S_7t;XN+pICUlH!)cQ+yLw z#Y0U**Ei=dJN643V? zoCd$30g|C8#|I8cCXz;n)=jZ(gX^Re<_WVkm`cjc(_Co3!Q1`>P4XsaOeBv(SLy`M zO~C2f+mirbK%c)5Xp{NWpc(y#$=4SI6k2fwbHBuwERAyQ6@bIH&DuniC_ zS($jw*rns{VbB0t1pP07SL_*m(Lu|QMqHaHbH@FpU7D0RJ-L5a`xLCgS}c==yMPI*G8mVVDBhLCuD*t&UUVupMZ z14}@s3KWEn!2(Ki1B*!a=HIEY6o~Gr@?8y|P7Q{+jbnVPMXE#u$Pf&|cO`7{Q^GJq z!kLkv%yml7MG(PIU>9=*bzYG$t*=1IRda_XP3_Afi^wIBH-*B(g^%x$GF@!PFQI}S zu;Bp`zc)bCvPszbB{9bapqT?07odzA`418;Uj_4VHN`vcX;6`poMt6Am#~?jk+?A& zlfeKvLb`$6`F=0Mc9TRxHCIs@9HwnwKM1G+2Fy$HsR_Z2$|Qqni9FZ%i6$`C=pY}X zWMKRr2*SNm%NQgt#+Sd+Gt*|!EEvq1`&(nwO%Z~QvH%bDTqQLLSeUhdlg!Iv1Trd< zaZOLL!@w1RBn38nl~z9bYZgT9&GAjK`V>k)!(yB>{0j0}v4b0`%Eq`1plVWvObPVn z>KvHSa*KR02cdt~WxRqBG=R6-)aG_K`@6sWI@^CrLF{k7MFU)AI}bOqdYins6N(*_ zkg&mp5k4NH2TxCKvv)@@L>S%?odj5NV6318Qvte~`^p4o3Eu(;Y{ioXxF8Xp0OP2| z>n20UP|ELgYuOeWZGUvldN(m^5-5T;X6JI#A{sLfx3^%xXr7vI^(otD(Kb^b zJbs8Ta-G5hM_J?G5P_^6Rac(u-OKh#1-K$Y^MVcx5`+Q~l-&(Aamj$Vi13Sm(7{)3 z0M8hLKc6~ZczgzFqDhiNU6Si8u zj7VM0YFbppD`O2b@f(I;f+$ChE8od9g|TMi279K!y~Rn*`8KjvV6#T3rTSjIJqfLF zj~q(P$wN{rde%i1=He*YjzXc@wM-|+Z;7WV6PDhSff(T&j2`+}zbU&Kc z?3i@zD2(d5k+I4YwTeiCZDSU6RtCs9TAk+54q<|r9`8Yxf)UCTpk2^_cm=hFc5s5S zz06H|E{yZ!etCg&NemhM=b2tB6Lw87PV)@TQFCDbhOZCULS0xlX*%?Xy%t0fxI$UD zN1`v*AeQF&Y`K1r4szX^`XHr2n8i`a=8g#^O>CG z_l%I)In#iaOwzeW@F&mq{*1x7rT0YBg2prEBIei_AsxFgp`a7)tw86rVHp#wQajjRRm zYuJ$WovkpRji~K7#P`-gG+Ho%d25IqKB2~?jgQ0ev0K}CpQlsqfW2hrv@fhCN-{7u+7W`7Un=LVFyz!+?yBRmR(jJvt@ z?JSfu<)~iCb5aExp2@t_P8^?O@t(rQzXL(}+@P?4=0{~fO+`xH;Xh=ao@YVpKyvQw zHSr9_rBoVY17Y=rcrG)7m_vLpSzq6ogvM;{IzALN+#ZDcnp6=hwloOaH)LN)u*#;d zqCGTWq85{OH|VpoJ$E)TGq=&`DmHvQ%6uisTR#F*1f~<}bau1j zHxwO!A)5QB`RxX?*8K;xQ##nCAT`?+|A|2wlj#k9wH~nP!ob>;DLa8kw1KTI<64-* z#ElR#dB6zGZy&R!>ue!#cb%P6EOKymcEZ@eJ=R`=WYro2D%6}eNOs@ZLvx&*!F=%J z7+@kXMGG-O-DuXUOY$7qBW;@9TBdFdy!q(a2Sj$w_p^=ph8`z|7Fr5FonvAbX?=ym^b+ zvABlc-!2epKrj~Oy+k+=|D3P*qPQz;gmy`R0gB>EIIZ1`@GJ;SP z|6uP+dVPMspM01K51M+_{x#>?kJ4JJQ_gXpIp)xu*u%y>BpB+N5Q@;uyS?eV({!)L z>yDP+P5kbSbK*Q`4mjmn%tN3`f(R5YU?mOJ3KI8*#wMl%JpfTnLnuS*=EQUG6EFCJ zwocYa?pm^Z002M$Nkl7oy?2tOwZCu%b?VMBb25Up7$RS=27r!WWuR}72^GbobE z7zW3QJOHOO5_y}};1B3H|ExRBo_2_)tB~gd5rMV>Tv3zz@@x{B!c>Jyku}-;WqXoA zoYWu;qJX6E9L!9ftK@_+QzgCw#t7SoN4O>s(hdaU6DRx7vgYt$luo&EAqu zHO!6;d=b&h4{2BPP7P^qG`s>S)v(y`FiDZz{2-A*`*t6ngJH&MdExwJMKpoxEA`Nz z2R$HN&jeztV}PW=v?aFW>n({sgh?_o7QhXvz<{KT*-8^g`14pC%|h1Qv@?K_w`w~# zn2LwM$)>rQ18NWoOD08hCi9h`OktXKly{>!XL+00=!Q`u?xCgIC{?X`g*3h}$OYy) zU?SPj;5Yr8{ANe{+#9KIh|8TbdjLm+R>*FxJFW7)9gsM0hfhIuKG1AjKQm5)p+ zzd)lz>tF*OgeH{ZO;u33u_K_?fH zlt01D3f?GmF-}_*9qb`2GNcPqGWPL93^7N84xvGoZQTSRdiv-P6Y>#r6gNqwz|0%) zhEVo+@XMEP!U{kL6h#BFY-fLuy@1fHR{%G_8QN8ko8Es&Fc;(BY#wku!8+_I>!#MR z9^9~Rj|j+FLyInvrzV3NP$c~aq6j{MTWUcqV6s8V!#%3mnA12{s040nm}rfhmZ4Zw z+=#~F8iJ>SIQw20Sxsn$MM$5ZR+>Iqq9ySbnC*?`9cXGtQ=IZ$vT#g+5xoreH`zB@ zt%y)X*h=l9(1IC{#V_8xr7tAoSVKrNabE_ja!}y>xwHzYe}*7u3dI5((zM>djnNyV zc2=6+4JMMATS(mixe`L{5auUoGQUvkf;46gCc4=HfgKODM_O!7@*3sxD$L19Qu9pL z(6}w6uQH&v$WWmL#zKHAXk==!zSzn^+{0(bzL$OK_tP&vo@ynL251F=u7Q`DPVIea zY=?Q^k#`PmtBDzD&)19-&A+yn_4Us~yQ38!b*&4G%NP;tbnF$ZGq|>NSBUH8bg#f^ z5FN`NL5|>>1@~9+y$nFh6!T?lPC|8KhURC9M;WY4UlVFPy)z!v5fCsFWJ;9UlMVFNn*sTmkj*EmN zgOgKomG6*gHg4M3CJyU(bTRx-)mT8QVu#O-?<<6Nm)M*Q67bg>lWd!Gi9MQ}u4@hj zY4n$w22r($tzocAB4|78Xb3Ni5XsDY>eDl@LFstGf&p@d$vptFQl2k2mQs#dkn@lr z81NB3G=59JC&?+zhlPhAYm%_)h0H?jPbt;hI3>5}e}^4iW>Es+m{?*c08QjXUGj5}q*)>!^SYoEp!z3~{fWr!6J_OcoIFs^M zz#@v-G6xUGZe3Cj34&6r61gxwrU3F3Y1Rl*ZUJ%=d4~_$3NZ3(H4SmaK6>U38g$b{ zvjnOkUG`xDYDMPL8Vs{U*kKk*$oVfqRss6?oqe3#IcL^OBs z9U?T0VHV)3X43(AqngP!=@7Ag7|j-Kt@e-z^rN3=8;oU%@37fsdY zXjqd{gEDTKJ<(ENRt?Om2H=!Q2|1gc@SSas$VX()Zg-!CP_ck`-%@kcQhFPk`vfcX zh{`3!0FKwhPj=KH{HxZnOAT`p{vTuG@7Y=BlY0tQ?)GSj4CX?V>l)Q7C zo?9W!#Xg3&2yScoKXpSuV|0V`u}D~qU6|X5*u7N&FAokrjHu4Cdz^j8Ke7LZ#3{@X z4DD^H?=Aw2pmq999kb7Ky(1?UVM?>K{$9V+gv*Se7m4Y>F5})gjY|8Q9S+^|I`3!h zaDnbE(xMI0VY+Clef;JSnHY~a5&M~S3i`xzJcNteJ2Y>IR|O%@N>U!q)gZI~?8s?C z1f@yzSQF28Uea6Vp+;&S(Ma}ZtO_CSnI-#Rw(4=o6?_f)#0stupaa)=7=~T0=dWOF z$x0T*033+iD~^2p(yhBIB}lLx#}<+8Y?Y{^3J;QQu$AI)Ke5sIeD@6g1`L76Dm?z~ z96W?ioF9Mv$A3cU_>9=T~5hQxVs1lML^muPzn9_pag zBD9wmVQ$gV!x2LSbf$Xy8rn|_iq^#+v)3AC2ee!2l0>gWV~1y}7+5B$iT{cJ(M+sB zg2@f8t~MkCn2>-hGWhZ^P{fzWtVt~v4Ww~A60Ag=)vy2th#V1;0+_#mymI0{+58UzR?M zDVjFBIKBggVvOb~g1x{21_^;Sm1M=5TREg}aRnHN#lCwKMpyz<@wkBG+T{CnB*+GX zUPBAhha--;?!w%F8a2@(zMBT~sSr5x=-zhrAw+)zhSk4>`Cd)3hhKaaWyMyQ)fX^m zQ!Z`^$(KM+u4mcB*)V%S{@)c*p*%PkX4L;ASR|6PSqmfm?(OVl)dMsgD!%BKdwp~S zGv0<^AqB6SI1cfG0I$%3HN9$zG{8d>=S=nAgMA?mhFbv~3yD2gC3}S(ArlauaVTlS z#Jsaxr2Z3&Fd591K}b!^#u%4JW}(tF>n_%?*|`zn4P?N0iL8*SmNt&*v^`0 zKus(w=V#OgRfE8#Ab~NWS|+`{0n>zOy}LXHS23m19pvVEl70Aa7gH&|I84bCaAj}% zF@5qZDnOMQ1X}~T)LK>sAF&T4x}a{rMEsVhyPwm`NG$#C)J|oOwlJlyaStsTN5?me zla3+ajp-|9y`XIIH#53HR(hl~Rg#bLiNmVWHr!X4u;}O1tdhxE3;NkV}59p-h z3Z^1uzB?z4%Qb*5F&^ImW-w*fsg1ALK$9@XLem|qn)V8Fe2G`3MllGQCm2~O(>LD{ z9W&^2s%k?JSpq=}CFdnMQ!(=2eWhk^n~aZhjXqr+V(9rJSip}M==yBc5-zU8Vs#b0@)L}=-zlT84P zgmZp&Yzd|bm;yg(gd&IB90V=iU?QW2WrKQ$CAxz{pbD6E1enOUj+W5EoKi${R5OeP zWJ5>m5E&NQnTsT1t09Q+f#4v83~T}6%NNvZJy!|JdHB6;RJ_K&{oVV>bd;V9pr~UW zu#mTA8wsEZwc4;FI+gK-h6+@@KJWe@9KxXsQp+4oI`-vZWqmhvz>90@1i3p6@%(qZ~Mku~dJf~;aznjxhZFgw;U|JV>$xQX~y zGnpZ5p)?Sb182uPYOquRO|i@Uzxe87QVB5e)D{%ueuMAuAlrVhPiZmm09=`2J{%D# z2?)`a=+k$mnHX(u261AeX)e>OtS?J1ryERjiUiH-DG&DcNmaR_oEeNAm|xKep~KpQ z_6I)IBw`R`ndrp@CSBldMUn}DCL#H&xc~%%sEQPca9vzyaaD$AsVWb@)3?+>;1FNj zM-hxfu*-tzYBh$f-7NxCuCsS<@eNX&)B3JF3IP&x8)K1Rg9%~6Jh(@C3JKn?p8uJ- zQN*5P{{iOR(_>7-Ff`ZA^qaR7+`b{Q*1h4JjHHw?YT9={^w6FS#QEf-5BZMDG|aJ! zb`0GMhN5dK-!imY1c@GjNhdJfXXJRoJ0aBg{0aDx654jE!9Lp|Y5$xG zHbyXuPvW6bt6C~#Cc@8;Lo~aQd4r5`++#0u4+Fu>?KH4V|DQfXO^$#Y=0-lIsXE}} z0O2Cv=jKcbf8lGcV}k%KOCdHeXW=NM7!^E$W+vjOv3)J=6ObGH7$ej zv^yHa7<@Ws#kVpnM&V$@0N%j?zBG!|!}Sg68G$M>@^l}+bH34W$8+V30-yaXUU_v0 z2f#O{{oc>d2`>KSB|H;G%$3j|{^g}+tFndZ7)+K3NnsgOnCJp%Fhgz}2Lv(>ZY<{w zP0dO0rOZJyh|M8oGV9GgVb>A|qtx&}!Qe_XT&=bMcAE_e5tQi8LGnNxO6szaoPdC&RV#>cKL|;Yis9Tnry}}CLQzz#vLYJHcKwyN}Nqxn zWYq>B3TP`U%ve>3yuQ;h8;Teuu7${Vn?ZzSqIPGncb`U==-5C%ze}PSmzcRe_~gUv z**w6xqyun8yersl={kExwo|<(#85mxvF{ z6~dyfCQQyf5PmGq)!eHH;zkv}WR?n3x(AwQHU?JB8G{>BqCdi?X0Xl~=095?UEOH1 z!_SIPpv9%ay-UD-#e8i>{N%}#NX0lgJI~&oT*AQdu{Nm6LgrA33P={T?qS+ZKJQf2 zpo4JXci(*T4Z%k#EQ43vh}L@|vy~Cj?M9 zR(x9E<~z#Hot^LDf7=Ry;{r|b^!yw=rfn4d%L;|V_h5)UQa5JcR-0-*3)WiP&xyRa zDGs8%B5YV8M=4!`jYi7&dI$$h!uG6ti? z#dmXFWh_zil)?!X+cs!sNc60DzlO%EX%rBF!$z@kLx`kWa}ZCS>hpuvKu7%EwKs;s zfE$^}5`VY9n?EYk^?YB>!yvVaLNY{5EyUz|PzGE|%u!)fx+AX4nZNYNd$|u4(zV_x zF#B#$q4*dt_MLlI`km967^Ar2{`5VVqfC-1#rOHxpoY>K=Ba;n%K8{hYffehVZ%A8 z_4-WrJfaxDxuOm*QWDyGM4bW){o$#22Q)w$iy)bvn>4#9&JUF3WU(&5#DnGINQ{dK zK>v88>SEzDQ_?*}A}P8uI}?jC9nek~B`P57@krhxfF@MQm!?e#ejqEqMfVAQ@q0;{ zgfW;UlBd$A2&o2_OK^UdBc($WAtg3$0;9`>Mb(1h3Lo52ZP=DL5z>s5zG5B9m~`e4 z>=hew;CC)K_j23`PRU0ZlAN0rxEoxf4{r=&SnfzkH{Xbn6T~_h37p^tLFegF^@jVK z59d5I0mUZd?-~wjgOf%`vNBjDME%8@QN~aV{dsFJIZY|zjKab#eiK_eDR4AcFFRgO zn8TFs)uuu_hp1WLTSjpM;nJPv`HqJz&!#h%l(J=Lm>uT!`B$H3+aDfelRsT#FTOv{ z4xT*D%Jd9ePH*XKLRSa0%cEECf`RsLmIy`o+E^>sppDN@4fEpSEIWWnJ$(2ud;9K;@fclu zmbG`bvn7EYntjEITTG8_%CC(OC=Bv2mu^54ZI3o<+-TsFBUnd4K4XL@Bd;wXr$4m>?QzfK zbvHG!+OXT!VC(ovZ^6GSx^2`D3~Zn+>}+9WQvCqU(Q!&oT+3iMj)plIcw(zF*ULR9 z^SQq6h3_&NegnfQnz6aix=-}CR~c8HOipA+qKsL*o8sg+FA zJdPmF^h} z^OkW$9;GngI$vHBj4w8G3^9#~@0FNpMprV=5n9s{VZvv@wxbX=I2)ULNS<8O&(y5P zy_M2*)K|Hu=FnA<>iob~DOWJ~OyQ)NvI-$dl|Oj)9h}&^2pI_$o~!mHAyF&SIW8g? zfMU*}8nI?U{Zm$liL!0vhdO@+AN@n^)z%d8~%o1sSjo-R-9-pHP zTE%5RBC|>Q1?ti^_t;E~ZETbpuvFtQmu!W3I9f|Vu$ti9*Ps6^`xM_`5e*~C?a^;= z4U=LWDSm$W=d6nMxZqq(Wg{5co1^ROJ3{3{k8ifrDcPK-i+oa(?p}UEz^@ zXG)!H@+H!s#G+4nKpTp?&io0xV7|gDnJ6nTuMN^w?2V`YPRYbNvgRpW6IChf9p7k4 zNj`Tv0GEI&QA=#qdIyM$34KHi}QF3H^d{r24}f`gjb#~**hvoZa`lw`PL zG#Rz9#k?I_)_}+*&3z-*+U_bc1uM4T(ZH05P(tLUZUnCp*BCUWMKl~DK8=_a=QS&z zol-4lh^DS!IYg7yw9mRqsHX@O_YZgQAKzxL-&%D=zj)d!5_QjEBH&jd?isXVy`|=c z(8wc4L_b@*HfrC>423a-O9DP5{Y9K^F;_$V5BGN&8$o7V*FaFKfsZmW1;qjQ6Mk0; z97va}Xyl=gY9hXQf(BLG5{>GZ)c)N6;=J?sPzbQ%m4dYvD$UN`{|4>!it9=+GL;M4 zQAK$+)?DAEI3hj-9pT=|3WikyAzfM%ObEd-_8D_ceziov6}|ywqDj!+ACm6VeS_vO zHm~&+Rv#|#v)83~2j~*4%R?*AdtpsXr%TE6Bz)y9sY z{^%cXDnaL!^CjpB+ba1R`7#1Ofj5{G^T>IFHxd5%F(=wy95k5GuT$WTuwy;+Ghwx0 zP;zG(0*eD;LG`#Pfa1T1T;xK1c#hq>02%ngevY6{1_my6&tFN50`>!B*;UM&LiyB5SL&?fjG$|5St6>*QyaBKz=yU^txjT zjMGU*bp%JxBAXuKA*lH2&inzKOju$5aZgTKS_zE*jzH5+K+owPL%pYxa^^!Koo9;>%#QV`iW(!31inux-;33xq zHVo$U^gR3hzmgkCv49d|tcCTiOvU`Rkprli~n09A7A8fcn5o+m?Svi?Ss zDiGMQ-D3^|7XJS3dNAF1x2lOddP?2WTL^N4b>GDNr~g9XgPjwC&j!IGT_R@3r2R8=kUQ!wZh;3S3Q3np`Pip-qbXSCY@X5eBhod% zA!X7b=HCG(^d5W8%0K#=#=t!o2ST7O2>Uo9pD;(P8*D7;K!bT(Axe$X{qCM~ErWKk zVby$%MmD&}9B65!)|NJKRX7Uz#oo}>Vi1{Taji%~&2*>&=hWFVGEOx@$K&BX5N}+w z{Ig8hF?lGk_V!tL&id01+o~-+5`z7tGH&c>(S=<^y5$y`~ z8M}k*aATSsHmE8C(JvH@b^}3RgiUPYb?&3-qv52mOHYZ^s$mLTC^98&o$4B=!bB2tbCdg*IcPy z6O>2>;xyP8o}&t`fZ%j5U?MVp%f!i)oP*`VT+kYlqBcbtQ;oTbrv)~o`7$f=U^MyO z5cyW5;>nyjh2$p2^IY$3UXNx*39@~}$`WRAh4nXDR6IL_C@i@riI%_%CXKmp1=71w zHB%F=iDt($VGPmy6Gqo#yq9P#1(LikC0>lThgN3r3wsgx(Ce_Xops;_b;ffJQMtkt zeM)M;ExV*iK2Vh)ssa+^A^Dp(1a|a+rBY}Gv)+_3>|(0h1y;rSAp6xXKFdD-+mEpk zx`ANc6pJq4f2t8AQfc8M8XeQBheFZkv+U?}l6`-AnSJ{b?c~OQ2s9?OPLUfE)QGY5 zZ{75mzcJDF=?b9$s7@{(O)Oo$Q@P$1Do<_%TqAG2UstH~qp`Xzs2qd3xHQj>mn$6n;tBC8m2Nc@c z6!LzsO;8Q@eSJiUmRd-3`dp~Ol$bcMm}{L5c{6-oHdVS?hx3jcjF|5Lez`48FOs4_(I zqHThU=afJj63#rJ_u&#yk_H833A!Q3Q$->(}(FZfZ^$Pu z;+L*+U#rEms*CI%!7$=a@4T12ygG(fa6a%?JJ#3sj>pqD z+iGb9(`@s15gajS$NbqjYjt*d7EDml-?gr+GY)AC^yQXlVE5n(ZNit8gECCaR!mX| zx0x~&l<}m1AhkN%yUBDyP+|<`XW9uzOO2RRWRFa=9I%(7+LoI(h&J1tXX#s(R%>CC z(FS8>X!_=~%xJ+=AWkkUnJn-_P|&o1>`oplV@9yn-|7CAW`U(>-_TqhRkIkpdjcWn zn*FPVPEFYS!zI>_(jEP-u%rW#>Hsm#!E3R|_vq&32txwkZ2rEExvIGI;4y*LLUkKY%J(@5YV?br%1 z`~rfGb)5N$*)cJr;-L$Z8I^>>`jcE4D=UxLqRjx$kU|&;G}EgvKS3k~40n-;D}|X@ z?|TtKy+IV{2A#e)k)%8L2iJ&b+W@(?K&myLjCP^4rQ{*4uxyX5R|-h*<~tQ3B1XA| z_63kMBM2PL5^7l?@i1xa$h>g~q4>a{3Csxw^n(QA86G}QiKhzV@Lhr^P@P}Qk!Se5 z43m%X%yi}5zpO-F{!9tbF^TkE6JzBxzn?)UM8-MhUrkDy;heU?7QWOr^h=mGgP8({z5)u!r2wMSx(;z(aJ~U4 z12}9sEClFQT&rJ&)F|ekOvpaFM6i_RV$Iv$=M`qrA;h~%W77$PR}xzpNr#C`KZMOz zg{OLEh4~inpEU_#Zz8BP*cco49%dhY{?n{UI?1HMeIO1OR75$yI?dXP2LvjxrYiz+ z$P2u|&vcB5?(JJD-Ox-}pRVI6%;_L;Nr7x6*e4&{XJh{f37%jDOf!c3t4WJo3M7tQ z3%~+~Y?(851cD6V{GgohQIZ~E4z`t#t(BS`s^v&j4I;qIFMjBkRC0G-zUR2;yEr2g z^f%8n7({%`aXrkJ;WJFkazSe)rUibGb^%czQwFVtR{HTzHnOk2AaI7?zx}80v!6XF zWqd8!n)qfjG&qEV-T>hd)9A19e{R84uSu6EqFI|Z*N=Po+7JTS*+c!(=rSJg}jZpnNVt}LNvG{3=&xrsC`xcf&s zmB089_i)VbzvDc|k>eyw7{BHBi1YZvcm3E#?pF2BvL23ISi~HmPw77FcNv;{1>vW_ znkxuIeNU)dfhcar!C--z<8T0u0XmL=Vl(of?R-}0@aM2VBDDA(ii7JHnjr5$f-k{9 z_BDTL=i$$IvACW9J~3Wi{-wg^_erDVY`#yqh43(FRA{5%uZjLKChqUNB;siM4hT~1 z!vRK}{3KQ9h`8~lNMxWDgMe_O4nL+U{Z6Mq<$6q(MY~kvD}(`dK^SwxCJ-+xs{~R+0J(EKRj3^}yBR#hvuyge1#CN!*P_ zbs{3Ei|xcc{G3N*X_Gex4jOm&TQVaEc#%?oB;b0j{;*^YOvnQR!L;ODe2xHauM@!G z{h^c$m2s!v4DOj5okkfe$TElkfra@c!2lTniPPs9O{@QKTEpoNO!P%MG{5C+3>>&#vElX4&;T8V#CV}5_JL$+7@uaMJ0XL2 zllX6Vo+gp0gcl)f3cOZW2HFq|^GYSaE!O$Qwa1*a1p{nh@}BYgl8t8KzUMvp=})r5 zpFX22Zn7TOC4LA|zC{}wG2Z479HHp;&DE4h#sO0Q4Y_rFV2M;qbrc1fi(A%)F!0ke z2q@adr=L8?{@<_v$eOG{*wUt-vH4t6O{fvTqM!wVQzgz?sr6G+{b^d~;}M=G3)eOoyF) z@*__X*dT=L;TGTbz}z)Ne1p5a&2&$r!eVbawVfIvf9f?dmv zGF^h829*JJy4{1RFoPO6=ROekG@IU1wMY%wWcf(VqRgH+2}wgcLSS)EO1!l&L67)> zdnzyz!42HlszG07RDd#ZTn49*YJ{x}Nh^oM-^wwrm$XJAs##Q%sd;~{r2?ymYbb4T z{lp{vlXiiyt4>6K-mR&@fTotbXNJs8+T*jh3?^;x3IaBNTM33o2TmH$qMwxiC4D?w z=A4+Fi!i zBV^1!jGgK6aAygPV&2Y&g-ZAICw{QFyxMY!3O0q6P=QfxU=tTaKc>w#6A~!R`a29j zATSYqI62{2V8Uab>0o0=M|!^i`P~5Ga$vnI^3chf|=Oa~!wO6PUSJbj(wBo&Z>~}##`8&rizw?z7tOkV&YM2hkz-yIpBh0sU zpID;#>X%kHbPw4Y>=w0ni_&C8D#{F)i-p83WDpf(Adp?!R@JaNxQ26>RF_l=wOFsS zB;Jf9*DBhfCAjp#8X2k&HJBaqy@lE8E|Ce|!2I*|Q4o8E`6!4p>3l)&j?wWm$3G4*Bn(g-sc2#ZRQLyQqd&r?rTlTFl@lZ!Fh~N z0WX+oz>M>pH_y}(7F=G&3a`QnCTHe%9;``W4D*Z6PJsbfud@Rq+-gzDo-pecL|$SI z#U)7^Z4RH3jY{RV69|~03oB8JkOUJX+kWX#XX#(aML~=zoWHTQc7lK^08Xm1i+73tPy_J3qq^iydLI2 zjv0##O=JXp$-^SG!Huw%U^{2uyZNkSGKHY^@x_UlYQrWB!vbL{Y2z9Vr{i13Cmb}- zSS&r6SXeU_eS)-qX0;Fk9{Q|PgIvHCm@`43v3BT6X%8eJCWO6_U?szMeP-+s&0{h{ zfDlr#Ya}E0ISL8L+XzPZCeSi#XnzD4QyPo>xb}9|hJZ}*J(lq!uOqz|(9&$$JJ$3@ z;LXA3PqOWMlp6yFBP|8oxQ5``%d$fqRQufBVlL}lol#8s0-qYa>F`0-DH+!6Lg1)F zIvts0Z`BsG4#u^FIsW5B?p6-mn17N!_rz%-5f-WnX`}0bId#{5hWh(_50{Up=S3>$7rpA4b0YfWWNt zdG>Uw`?G`)1kydGXH?*mDDuaZfyc^bA*V3r1w82_j2j_TtqVJxvV+ao^b@ z%}PFF{p6T|cZmKKM%PD^>|}99X*%i(Gp;R~E9;|jFB?p?pmA~w?eL5=gDpDJ*k(xv zX*c=n3-So@$zAcfe{U$q&%HK7uYEf_>tk?rqVF~)d0z@z( z>*jA-8bTNcr(l=RU<6~BrM~A0QP&at0w`q2UMGQy*a-d3eka}HN_(&RT<;n8y}N&O z)VTXT(Wj*0a-%rkYaCa^Y5a)x`MoAi15vz=Z9!*y=$u*<53U7mhqjKn9=c`TW@wf; z(9JX`B6QAtv3`~bEV8HKfPsan5{B-5-ZMiZOF5F}Ck(-BXtZ=1NCCsd#N|ObGZfa+ z8yVWNOdcul5uU!sIzaE#*cH(DH+WGI9F3Z%GCeMLo+@WW{U73-FAl%wAI=5d5$yvp z*OsQbIK}?UeNa{{6irz!(k8a6!)%w-iB6qFU^Yp?fg#^lFtb=`9S|dZ;VU8+sys)s z#B5{|wsr1ML_*3g!WfoI%`)1aw7)AI8_J!ui+pjz_RHv%f*i3*m?l&c&BOeFcI3HW zEU&u-n*P2d)Hlc1{(dtZ+L#NB7%Ens!ddU&0`i$H##zZf;o zSG(mrfU8t%n7kXv;?DN_+u7XCwkdur!MsJ=uy(4Yh=rD*_5$2BjWaozA8*Vvs>uLEBP=Z(uBK=wYhfaMBnE!A z*ulijz}(E?(f?V4$x=u@w2qb0XgynJCFxG{Do=|}8@rTT>pa~dKmkH10>UsC1c}V3 z*9eBNmJ$#GV5lW}32{3)r$y5V+7Vjk+BShqoYNx>VKzp>cSA4*r?J9^F@zx=ujs6R zuiFw^L9CdU0Sa3PEe9lFSHU?useE^G5sbq^02L~r6!6iC+siBJbfP_(GiH0B*tmq` zizgCUH@t0^tZ*dWgkT0tB&rfY;UkXbcqNVn@d0;pIC|Zf3LlXh3VwgGThIRCi|y#^bIfaKt^{s$39S0-zj{DNhV|^XzyD))Lv7Lp zf+P=MJZRuBLGkJgZEcL%bZAs<;5!BEsm3#b5h&Q+lD0B{v6`~dB2YsAxBfkuq}G5Y z)`vDk&bp#+-+)VK$(rETJ6phr2vhu&ea!oP)}{rX(z+B4YJlIjmwol+2ieodGnylx z;ICFV);!EU1HYCqHlGP5LxT`XwS=&S!qCq2<}o`DixV8vlFD_g@Qm@zh@uPzH4)Sn zZU`&aFh9mIgqg{34XCq@X&oz)do|XKbD}B`)+r-Ha~k4(O?O$)uprmyr9pmgM6U33 z&7`u@CF33>BWjPH10juf_ms*8PzFDxd02NaA6FQIa|>pN6T2B#aWl9A!g4 zzQH=;s%^5o&d=hp*M%l0{a~ty%?MVwbeKQlG0et@UH;%N^FqZNc|p z>2Eis*X4)5<*)b}4l(reLZS&Iy_;$aq4z>;z3r(re}#3lh7=2l{}n8?0EDuV=Ge9}}X z@fsj-9G#&NK~x72;4L&vQvmb@Td79eP`Ih#ua$5$(W3lLSO@+|EP45zI1F0GyZGgI z`FsBR6k)1_P_sjt(l73>Wgp>|C?jCh(Bzv~$4^+(1wODRA9d-w2crhwZ;q)wO5n`y z&L(Y)*0SIK{zdkO-@ju&LUd#_GHafFIk-TO=rJFf0JC0p^DvTClb=j5(h6cOwQPVO zr{79KY%v6RW`Wd_8&ZFoXvlUDs2eP^d=vXkA=9#5ri5JeDf*2W)ZUB|w>`A#cdXgl zlk@Bn7#`A&Y8_|v%>}DZG%=)|=Rm_Cyq8qpdH4W$VeWDtYqqno@-{FZ*r5bVz{}Ui z6fdU;`SvyuwfLMNdUmF;ucoG1twI(R&|(qa^IH>!XN4>$60P8XiJGBn*I?hecGuUJ zXpuCXhGw}QCeuS5fL%&8aZO9$hRjWkF3}0J5g3OQaSbh4GoHDxbM~MxhqNUN8P~e~ z*0F|Z%Cn*oSQ2v-w++ZrSPe!a#;Txjk6@IH1(Lw^314!Y3FP4)$Kg8VG%{yi{_dD_ z1{;DH-^m067yZl_oooKG(Et);Fh{Q+;lc>I5!a>QFo4T571*dQR3nOEP#oJk)R&AQlhXXUlJBtAr!)+bQ?lZezoVz zNEiI(cLsch|1wVSJiZ4GsZT5Whv&vUy)a-69C!!f=@6i>4gx%EvqUr1=7J3=GrY|< ztN2YImZnJzkcKs3io8K&@h#4Ye2Yj=5POWDMwPor)Rv4$3EEAi8PGb1HdP%PW)Cnm zOe;-QwX1RDi>Aq`VuU4{ok_k*e2&jWNltwcON2=bG0lM6agNfR3+uv5%p!c4O{Lc3 z-=eYyr^NZbd%l{nZ&8(<`}kdsNI5d_b=*S$TE57Jq=u`PaW*G&*+yyz%KeuJ4R&)^ z;?j2~xOL_Svav(fU<%##Mi5mc<^lc-iHW@dtyaP5Fe6Hg;R89PPUV=5V4pzsaM!pF zY^JPU1!OS_QqyS)rxr!ip}>mV0*oOy_;7W4_rcMqr~-_~5Yman8dJ0phZaEIA)0gq z!MnDVlbU8AaG+D*cZp3KCW_d6={evj%q~f+QzTx1k@6BDHYTfUW~;zlNNI#Xxyfr$ z%=wz=R87kF4iE9`J;BV%hEODg(FpS~%+m5*`Y9s7h}AQf>yoI+%L}M88)^e>$+-_; zl5KowY7wWeE(4bX55U_wT1v5j=?+t134dGonZ;*?ETw8q%i!aT_szxzLLSmPeyiww zj*0O;Jp!*V?|%3E74yLqhtD-i)J?7e-_$_FJB7POb3cG0kqP{}!y|FivFXS9_ju*G z9^!u$?FaQgJ6M}%&khi3h}tgT6WrTB$mZW(XPv_`=_#0$4_F77O=WXPQ{V5i7Z>2f z{eJel-<@T@`Rx%n0h6Hy?i`_W%)Zl{x3y36WP}~95vCm#5KbkcO8i!v5gtn8b#Svu zcZg{2jNl*#kNv>-)+jQr5O_)rQ&5HT@M}W@+*f^aBJb_(5e>Sc+r|m^gF(9fwESuj zpkklIfBC21WPkU|PZ3}ek*iXudbO|!H^t&9#kZ_?pa(EpV4|=%QbQ%td(j~RmOXNg zk9f$wtH{7%kZkl2>SF(OsLu*R3wi-g|m*F_-0 zbV>x@5Tt#Decs5$`Yjw>=?gzWiN>BvkM@46)4*3EqIqLXFo2cL*O9#J5-=p(eM%0B zo6jWTs9VQ?HD4x%gDFX*fl02TO<1*FABWLq;C3w3vVaDPmSnMIgK%tuYfVB`X5zk* z`Oh)CP#})?%}bf}A$DpyBD!4}1g8E3P5Z+4zyJV107*naR39NV0ptPSc}*ac%>0g+ ziHKD+lsWz_5fvN`^GlU5^w#<|X3ljqI1_rQ4sxYtOmrFv^4iizY?L{YPlU@ET?>RLz&23t*az1%egDcm5o%_@6{ptjKy~XcpvuCEpCbJiw<|P9=?5v>K&o)VW z5a|xd+-d~|4cV@V@K=I<5ZFlG-r3oOF<{o+K?4I1w19j=&ZBdrL4eP;^`@7jg0%2CW z+u4F>*cJ1?J>%RB+!h}{z$ko~jcMI9IAQH?bU)l?ufD&@eorF4Evl@?jsi~ktYlV4 z#>&1pe1gxKz!5Z_68UX)1d|2~(H@l@i2eecJ6c?jMgc*iuj26ug4XIWf|3!=7HT%H z7REn>0j;iC>rQqb=681TJ^Z^4{+*FqyTnbv_%MswKd}eg+rW5>0rjt&*&ko_vhBmG z?BMWG_7;Ee44j@J1euQrzhi%1W-rg*>Aykv!qUOoE%8sC)8S+VqddWMeg)%fnG*=Z znIc$2$1rnZ!e&EXuKJi~%lIg<93UXMw)-^hg~Vo~8w!o{ZV9^Z@1ix^|I|P|_i3cm zu)k_$3J*X#)R+wrS+RfH7WPIc8@8Ac%*8FD40pFJY*z(_PeB1XgNa=f*}QSHCBKz=sxk>0VZ)JIMWa?EWJn?0s9SMriP2m@pwNO6_i5r_Z;Re4;lg2VDvmU zat9qG3%DZ1Ms3haWJUJ2aRqQL;Kc9H6&Y~Jwcz>Yk;)@{*D|P5q#|c7;|w7yZs~ZT zx6aA6Dc-p+m1_b=*t1LZ zUnKERN{C1-He40XC-D{7>qMW0oQP>hvy|xqHY7F5Q%z5;KtG|9X<{(?5}6!KP&>E_ zQMTL{?~%|BK-JnzV2<)yq&-iNp1ogaL;P+NT4XOwwMM4Fz<8b&;FqkVQk~Cr6Sz2S zoa-`UnV&uq562dVCKN8<;XbgMccgKcIn`N)aWRfVI_L z23&vojsTh-W-(y6PG@zskueGLTU+~>(2hfMX>jjZkEk{`fefDYGqAx%sIH?vPVvHu zD^2FHiGNpI7@)~lkh+>i^1?8;X|7rYes2ABi0?xf(V0IIiL>{6!*!chSf;s0Vw3knCC-ShoPNtoeFHv*4utaK&hx;MYuQ=b|WD-8xm*bOG89nY?{rksraqiA9|K86( zKEy|fT>3uYiNE{3-vupZOy1MyIo3LO5!XRqY$di__K7Xftc)k8QV9M0D?%rqSd)-xEard04VOql^^et}l1h2q)gSpXM{M=&#Zl(@(p zvp*6kY)f5~WRf$(-p*5|Wgb|SXS zMg}RMjBu0?iujH_9N>40?R|YF(+I>&$OeIdiRhD)8FV3#2qPQ z#3XbkijM}38tv6UmJanPN8pG-8_}g&lQ?6ErkEh5Ikrvm&otS!(UO&<>%c(&faxW! zu^VB*98An#lBc(#nuYnP4{87N>E|C%nh&!TbGI@^AS{Gx4kNUGVF9Afb|F}3j22H` z;Tw9uzKhqBg62r`ERCKw8?u4n$ zHF1B4I}*1Xx8D;mV5zpkf&^oTaD3s(92JeK;Lh$wDf{rSm2HxSP+mt%q3JN(H`{u= zovpTjU$qM!jk16Jo-%2Czez{?TNum~ZQMhDjG~U_t2z6?vVS`} z$DuE{f~KLip^r_R8IV39Odw}reNZd0m008+qb)?h7QbF{uNwEVbHg>-yFRijiY`RK za7wmmcGQG&iGOc@W1DBOV|m`2qf2~%JJE6e>cuNpCHC_K0#_hMbd6#jCY#To7dJ4= zi1cL7ygELndq%P>ng3^HlpVbluuoceMrj@~{t@t^Z4EU&^8Dr#`9zH`l^TX#f2bo;-;Nu=Y9F8dwb-xR`%z5Hq zj*GDeByJq(-syhv#oc#~%kw<^EUol!=jnT&eOP53r8O0NwJQ`TH8k^zBh7;Aygc%( zfr4Ez#3QJDFuW=*C6^-@jaX;?K*9n3-(_@UfX{1T|GI{5Qyf~M8k$OaEFzQAJ^T!rR^lb?6YKHyZ z2D_@3uxy!#4RPz3A}XcpU^q&SkQsc0m_8x+0$>W@jYbkFw9iK&YLIMVZec78Oaf^% zazz{vL`olui)E4MkWL}G{+%QdCVOZ1U0SJvbM>PQA&^l8Ldh4l;1j_|rjwA@REKFG z6wHz_g};ym6#3npmc25a1F9Swjmu&qDB)t4@Xt6jLFnsL6?d_e!Zce1azPxeB|7DN zrVLy(XQ)F!r1hc1CNVDvpB%(-I)yNyJ*;4;ef)6)ObhEUfhNQR(ur9KiIB}=B%yP$ zB$JD)#HgehJ_Q&a;zXE2j0Cjncmz0rm;V1BwKm~A(;HMIs2|Y#26V0CRdF`}tp!V2?QvdsmoDqM!nKl}r3gQ_Ok8 z-W3`mYryTWtY$~&G+|}g+C-1GC=PIWtrQJjVv@F(qLGhQT(L5ZGG`DC=5BzEepLe_ zv@mRt!`1|MP8kXGFM?1Eu&A;ZeA*SJ&o*ma;l4F?)Hw<2eL6Qd@-Az9fS+=J@bV6m zXpf*2bJ#Y!TcjbtaHwl4e*BoIh)nMZ40oyM1HId@ey`tDqF~#oHQWLpbcxm^sh&oT zS*>%Ai@Ovs7+`9KNy%WrrRU$Bljlc%B{fN3zq%%J6p6QjRe?3+W`U13E;V?~fFGlp z-@JPBeq1@B_1(hSGI6WTXo_2{5F~L+7!0J)rmx$5@Gz zLg=#mozb4{)=n@(YnPhTetv!)(Yq_k+uh;^@4;+L+vuLte3)jE3guI9#Q;3(?>2$6 z*O@NSTH*cx*UURK3Ewh)GJ1d4%4C{IYU*9VWNbAcg=5?;>_IzytmAHB_cA~5g88Zu zD?qEI*e1%L8GVzkg*3=(Wq#5iu$Mh-Sw-iKSrzHY;vq5#Q*S)SfI2NAO(I3>;DSC# zzy;lbL8|hwwzCLiV@&L|5Wc_(SV1supDWGsd!H{o^E&ZYK}2}VNffd|D-yf8#&`&6 zgayByljGK8o8w!YbBAZ*q<{PR_ecJ{u<<+(pPe&Q|8@*M-vaxdk9!jVk-1<&4AY~d z_R&@rde4P~y0p{rru)K4I0+sDg2h~rUZhu6rh$0CYf_q+pH(`7!O01sFBW1EPLdZE zoagv~e+04fWVKA0a)$mTbB;sq>%4jCnnO+C>pLZkJ)P!{;9OuK8%UWOsO8&8ldD_8 z#?em9t+F4Teez6TRdsbk93JimBA7d9fQTi#jLuUFaNR`?!<7Z9pVf>!^2N}k7o+E2 zf$jGaDDN%Dk7RnJydu#S)~=HvDJ7W5t(o8!N!OA=D77&TndJ;hsYynr=fpJWh^$Ia z9*#q)%f(zEq0KOB7$UB@OhzT*hvdh#7Or*-P}$fB;ZF$jAe(_rCZSamXc75o%OdT~ zKF0A@A!@4$=dswPB`8JuOdb`4B#<>EERYUHh4>U>RBc}xGR)X2NJe260iHEBY!S1_ zf}~-Qsfh_eiOirDt19^Xy!WED9nEtRN!7ezhfG|gbMx~zNFXyDP&>9vgr2?kEFE>r z2Asi2G;X&EZhA_d*A>j@h${T2Nag72;Tttf8dQZybs9JZ2JgkQB z1@RU#b+(A9Icp5a+J6>p?*V7?!m1SOzK?12r)Y((4YVH37T}tkZiS#wV2zg$W(5L+ zuV(lHhIAe1V+LO*u%)#w1BU@zyBjcR0h@P3d{&EgVux{|-LY+06JQ07X(CC%MLY^( z(I(tqxyRrGL&vN5j`Sg(5vXJhPRCgyVzLM0E&%@#YkP^msfP(vBK+WBKZ1mcXf^N1 zV~Zs9K@W|ZZt+?send!wzei4RN)V6uo3CRH!4{cp5IcU*U-X2;^6n-zOZV?FJ<6xy zD=iT#vYNrZ5eSdoy~u9fQ4e_ULH6h8|CYUeaf5b)fCB>)$69F0MgEY09qv+Kfw{hT z{fa##{HTjbs<9M&F)Q+I<1 zXZG+6hN3?-6&o-@6Z0ZWPa1FroVE#YDh{qe0eov}i-%qE20K~*H9kz}%K|*8Gj?4l zGAe1A&9W87t@2~^XuU=~OcmQPu&QCn zs4HMgd-e4pbZKRXia#Z+M54U(hP~q9{rx19w|;J7f+$0*xmg7=JeeG`!WYP#n5%R> zm|@IajSwQs59UGVN6bMgjZlz;1jq>E2ZGQ#=pOI#Bym>j6c6H_FyUav(nLoE-+|T& zf^w71xlXC6HM%^v{y$;&wIo@RCiXp2>#WSuRoy*35<9?>#KK4#Na6xUJ^>$zuf|JW zl2|iB7#6dwN@iuH)|veO{8Y@=4wuH$9TkxgN4S6fY2`g=Ii|%Lx^FQqNbgP$C5n@E z>lpD~+PAnDU=5%Vd@&6`Bdk_?=z1rb;22;`cdq5=j`5ISWpM%USfqr)h$S{D8kc>u zmZek~W`1KndP0s1gT{JU$~KE=B#4-3vn2=tU~=Cy=a2<4-8EUyxXTT~J#*9U=(dB= zoHq6tv3m}8qRh~#tBW-IQJN5O&kN~?6DuMkq-3q>3ED%37B-5LTean})luU}XxpGT zP)(&L1bOqqI2z%29^%}Q1|Hn+m^w*Qs(_@5wcvBzE+ES>?43IFKuAI@fOkfxHlNW` zGa_sf<1qi*Vj3g!tJ*CIEnK@8mdoeJOaQKNYsCD|DIEFFA0=S#>Kt@c>BDi!14oC& z&sdKk$aO9SN||-mT_56VSiaJIA)?(SM&?#9WNE<^nyC&$%bmLt(d;C>H`cpnxMi31 z>*|1>zucPr+yCXin|<@$cz-)7-y0{xI6!oZF`CB!3`C(m+w zZ{-quD^`?X&1zXmp}WcgdHepPh5|V;2l8Vy3B%w%#+=rU*{lUu*={!pf{{5`a>cW( zu&wa$sCj(M#U{~eF-7Lz{oT)H*Y^Ab&`Ilm888vN#skmly{Vb^lj2@KzdxM4iGjXP zh}s<;@nb%71~g|Xa50J9dNkMIM`;^9fRi?|dE3n`Ab)hLF5W4$59lVWbHqF>&B2$q+li_UO= z#&F;Sdfh5pb-#qHqgtk2g+~(;O)x}v%i+dh31*{bYq&ECq=OL`I$Vy%Y%SFJzp2QKzqln^s1k~;cq zRW!d{wr~k`wR@BKd7K5vnj8ILgCE*l33eNjJO=I;{|hhVFlb6WcPol>qG5t>xJbi2 z&$0g?PYJ;&Nshv8-H_dIsY=#MS#`ZJI=tKalMr<7P=peu)>o$aVl+1RPw!)AmlOp; z!#(jvi7Y;|D#4Z#Zl?_HX4&@ckHo#t%PJXAO~50B4Voo&9l&VtwvOTY6qCYWWCSi}5l&iIKyEH~2_tr;M!?ea_0r^5 zPeNqf6|*duKWd%`>+TOm>Kh*-meG&U$Qt`v?rVu1>-B`CJ*p`@ZhD0GZR&oJ#jb5` zglYFiT(nVL7Q`7R#P59b3|ac3M(hzyO!%PG}fl!LC@;FN{=T#ZCW$z`t_H19pkSykT zdzq^=*y?MWFCu2TH2eAZ&4}y9p+XPvz#Jy!#`>_tv{jS9bdgrC&6mauJJn{&@ZBnD zX`?LWi*WcX9Q~=H^{d-F48dQ$+D1est5hqv-4vQXeEVYdt5?rv|L#BjX^LrPkzRi( z^qnh<12>Ugu=B!jS%=Zy!1EqItWBL?tnqi1OgwqjJcE5%Ry85WT^M6M|E1kBerZG6 zl1qNG|DtWG4u|V;Jz=tNQQyv`GG%KlfNpM5BwFG@FLp_|%xWauC`aho_FAk6?dG=1 zMpkz5^ZC0JfCTs#+{c`3aC}ls)*f?Qsn=a2ogPhK*jn?c#oK)p-bS|}SbAM7E`?T+ z{T53wr9xmbj_S!tDiTg&SAulRPQOc#I+YkV;h|LtZ{hGkLzm1h0 zBQY;4%buI~#oXnHepbVAYsqtTRh-y9hy*yia^O|?+IW5>P7pd=LkPJaJ|lKLgbO-s z9l(x~yPhC~1NZPW0g1;=xEqXnzWYwFjyAgIBp9b>%yDZx5OllVch2+NuLYs+{5?M= zffy2!5MLd0L5g=S|jL=n$Ozh^ z5C|4!%FZIm6R>IJqi(U-g2ieYA(XKu8u}a1Xo;4CscZoOyMKo!yjMbv#o+FOtnLqi zEV{oRN5D6=47!aux<5AwS24k`wpy2pEC=zPvB>>qtXpO0aV4vPTTMGXE0#ga+iE)z zalB;ZY_Z=oBet!Tq=xgD!IrGqn9JCrrtyfqnIotW(04I|%Tl?a+y(|8ld&)26|1m$ znj704G0{#nKELF)?b?Bih`V!Wv^sM1XNB8Y88Q4vxnQqa%k$%RC2TyOJ+HRv;(eLF zXKAKc;qOzS@@mh?GG@v@{0 z*?5ls$iTQ zysZ&H@uIc;$0F;AhY-Go?z3^8G9(^=RxEm(=#zzZ zaxyg7Tg~-jiU%HnZua&n z7it`5l}t&J(RcTx7`8gty=VKgcULtTNC+S68(X$5;Y3-!3h!>vXZP3+H=aI8@db-; z1V6VX`}J4F56mB2z~d~q5OzXAv8L{YK?cGu!iUh4T|TZV6~hZ3Y0Kw)ibLn{$c*zU zMdIF++u%H=k>|?3mB=@?IT`{pUeNqlg!mc$gO>g6d-wG|e}yXJ_aPk7RWKgoYn;9_ zKIi(ZM9Y})HTN9n_4oWc=X`zm`|Iz(!`$F7OVHo0oeNoOU{0RL6?~pRzY4B+d@Q3i zkLdBQFb6LKdj`S~X8j`Zu`haclVQR2cjr8$B;#p2)yB$14P%D@?aR*W_i+tj*aCIk zbl~Bh7cQdM;P8;Z!{-QTO-^h)jyGpz^kvc|LHJOj*_4=r)4HGETC?rtPo>t|r>Y+y za6*sqJvQ^dB)R3phLN*~KXK%f|E!iA1cYn_Rh4+8@fuyY5BvyNx(Bd0t&l zndpA9b0dLvZLjRZI^|O2cfU-dZ=gey*O_1W!eVeBFjpIo*k9FCZ3Wf*n*Vk#IU8=u zRI_*8D9Pyl>PAOn>ns(!vTKQUUUo3idAeS9VT|a$G|=?YasQu+y&RmrEjeU=_I52? zs3^@=Q@TeyWPOh~WfZVhoOG8KmeTT&FcZoaCoEXhng*|4pUM>6Zp_!g{&Nd><2fl7 zdv{w|hjn==0q3`W_;$ASBF(=Y+c`&;WFWPMiwTWQVb9tV8808h`A9Ceo0lfNk zTT4~j_CuX#KD`T<%BWo3+f7h?Du#9#UNxtO1bP|KJOC0gHp8i#=5bn@z0NYbTQ!M} zQJ#j!aP-+Oq11kN#kE#jgG%pbm$|#utwu)m0@ZvvL7&h%Yd87p#&{f#omhv6_M)1w z>nz#z3i+Sp;{3z&wmy1Xz1`36OCo8f_|7kPEM}4N!84Kz=w#t2c(VNJ%o9!PzqwI8 zrnY-Kt?Pasn2l#WtGxn4s1ZM1jUm1G7k?8DqU2=jzk!@aM8Oo2%rO ztzdn8_AWY#fwi`Gd3KglNKaE*)>hji(RMq_eJ<2tR{~*&S1+HY>}1o|!213?x~i;$ zI<^oWxQsz@XKl3;#_`9WMqK$Us|#Zvi8ihObqP*4x33fM37Mr|Vn*!(QBqT~txbKa zoz2=mO=wkv)BU)ZV?5yyYxJr_po5clvz@247ySIPtn^j029c#L|-DSXXIM$kvI^o-rQ6Bm%M6%dZ2Xbl*KOLk0x zDMaAq)@?VQz>7l;Vc-4StA{qu7SC=WG<@DlIR9%==#Bv=%DLg1|gCM|AgM2&@|+CKy76K7*yv`jGy z&2hJSRvO0WmZDfy-%nX}bQ>{L#K4l@UEhnC6Q~F;YvnZe;zH~5D8`Oq62=rZE-BjD zae_?2`C4(_gWEQ4P64<};~Uwg2@N}t*m+|;VhCWf(`28LgPrEM5zMbs0vrnQ_4C{* zzx31NEhsoqtvGOVb*7vCv%gkEL*lsov)*oSkIt7JCzSy-E9J zg(AA^;zRp(Q*UR8t77MuF}xcBCfL;zA;qdSZZ6j;E04CzSncn(pFR$E5oH9-){9l` zq=@Ymr&~(_*@|I&%$oSbg3c;BiZ4jFJ|8sn;oxKA ztF2$Sphv3YIJK4(e{I`%Fh-Bm?!8*<)($4_k4IAeH54&-0#PF0R%KE$zro9{6x_BO zxp|F6NmO7Mv@miSnyU^?=QX8paAmt@?wZ86SXy8$TYb3yQs#!G7Vq>u6dD=jt^MF> z<4*thpXog3c5;h5-v99_fBwsw&d+zhanHWC&v_W* z1Mg^N{6xO=1cI+)j;rRODff`2eQ!iV%V>u3DYaO9+yt5c{A%CJ zINQJdxctbD&La!+<7=uk? zW;K%d7KQ&_09E3G=c@}OAZZ+3G#1H3F}^{JTuUCD#VAXV_A%7}MT}X9S{9i+?P4rd zfE@1N?jgHyV-Up7?6icBr4m`B&FedwNbb2&dV-UeQo?}PkGjB7Y#n0jx*%DEU=J(_ z2kwL1p=GqGofM}8j0GWTbWv&Naci7|3& z5cI3TQ&Vw?1dFZR?|%L5?2rG=x9#R0!bSw-7Wjy&5sLlt>zGz>v7$BC?`bfZCc|>LPk;*t6_Aqx2`^iAD6+OdzZ$o^jCM2 zwX#L2E@KCl)|ygqTu;>xF)1A^Hd~j|1mr{4ZiY*Ct~e;BY9rar))n*ADo%WYPPLm- zuvO=pM={Htc5Yb9h5IfyFKvCPaWCgBxG6E{E)DcPML{jyWtRCYi}80aU*slzG??L1 z;~E)j-BiquLgW7HDO^5ZvfRRp!z{YbZ7HSC>|OAteB2i|m*M@Oz?fhR(zhwOFY9Qt zn`Qp--4Db4`1;lJF|N@>fJ>=0l#n#&ZbFN;TzXd1`6sh?Km8KC^9c29aWPiVsF@Ac zvO28=M$b#OmK%O0A)qwFrnfAkWJ{J`LZi7TKY-V_Y3ZkVSe`t|_1LZ>N1t*Rrj%R1 z)0!!8gWErpvVlL0+RhO6tRyvwCI3(W z(AMWHuuyMe?zvN!bkk%pk094-- zfRGnaJw$Mj2cke8fOd?O>ArJ}g83M_aUfLMCQaqCzf&qpi7#0oq3&ozW2|BbV;tjK z0xht14+u51xs-y2-`KKfDtH#hGoH(|KmP9BG$R378MoKD^KR2f`KE`PWC-LKe@JUD zKV=+*KUz4$pXiFX~aF-7BH*LOE#^on8aaZ{ywd)XEZlYn_W!l zc)&rrJF9JM!PGd!WH(}HhY{sYiptZp;f-))BPD7vhIib#pJGneExtsl)AQnRY1G?$ zk4AMZL3hyU*N*87z zk1Y2xJeR`NGcC7HTI<|xBS4P=6A%L)2rhRq*NO5J!WaCG6Jm#l?Z{rOp!MVemmGq@ z5o$F3#|eaw#cHn_=R>u9T-0l6{ENB#k`}X9m7je4<(CwcV%W7B(_(6|`99=5(1;on z+m10WF4;C{qJvK{aQMz+F%-w728MlC0H3>mHN1RQnZe_lmFsSE)!Im=qSx7tWEsWw zJoJ--JgkwE;;NtPA9$rjQUB|ja+RD|{B3Ud6;@6cjTzoG1DrMmL(`RFi ze){R}Yh4x-UwabG@L~7v`3r*KzNpR zdES5i>0@J46yJ_8ZSkX5sI1jt#f0}QPxLr7!e5NOm43Z>+in{@cQY$|lx-!*Bnb`y z+T3N5EBm;~2#};@9T%Ddx1|HWV9^}r4>mtm^W@Hx5jur{@Zpv2sk~$e(AJ0HVa&D| zB3Qvz0r<2hDW3NwDKUI_n)Q0w?#`oStO`_C~xwmqvyKsV6;(pAL7s9Q#7j0=16FCkDlX_rkhyB$ML@A-sjHj zZ}+7rQKBflVA`16Op!)qMDC>X%4abB<@Kqc1nP3w^_oZBr$ER0?`EUFC!a1V&54=%$&=l{|AB07tDQp zmLWQ|=a~es?*UiR4WuI+Ehbl_=R*vHia@=lMz3k1Ww6~8P~YB8Tad^zgl<5LlMo#f zfzqm2z=R=!<*JF9m-cX{`$WSWaX-AUCA4rk|WofE-= z$7fr?WVquf;J1SmcJ{Zt&tHGV-efy=x%2*MT zrrz8Yx@e5_>wNN~Q%&}cHgMczBi$du6}zhQmf2TEkwqHfJ(8~8ik-wv>?KLV)w)W@ zA)uE$Vxl&{6*pLK-$8pd-qy#G#=o(YOS!pmi9V$9Z*8`#cv_rnVdw~V20rA9dRoHC zdYxMCinA;uJq<}OQ2gYdKCk|lEQUQjY35Ty`f55{_e9vn875dhDc%Jp^d z`K%ZZ7by<}M%xGX?3w@Y3Lk@=^&a148ECC_6qCBm3nEsx(L$*`TPdE#<@G4xxe^|J zI65e{w^Ylz;FJY;Q18gaXyBU?Zf@;pkae`00%DgWT{+zU{m*Yk^3dj%q=|$TZ*RP+nhAXol{{6c_v&JR~<^4NN%~LiTgF7ss zA@~h9!=Gc#26`46lRGeQ5EJe@_~s=2Q| zu#vFCO*rwssWjtrS-Zx%W}O=Fyi3h}iV8spr||;Jiy-CFowl)?;OAa_EdwGiNETt^ z?O{VOP$cj?C1Ddk#Ps{3V}kp%-t)iV;r#dccitVbq~Ma^^BO#@XY|4MUmwP3eCUQ- zkzq0vMzlNl1GsSo7k>{wm)FYI$T(Oi)7!JVYxIbMr?Idi9lR|jL(rKYC3VcRXAqp~ zwF$#68@%=*8Z8S(TbvSM5J*Va zeQC(2#p;$55SuZ3nm_AwoS*gTnSd}YxVe~@1(;%Qgw-A4nZ=?AR4Xd3;6R;np6iqF z&!ku{j>AFVdRcF4SrG3+dM?hbI$tPC9b?Ls$o=`OdajF_QD5cSxlYKz1%l455dEcn`X3PKd)?xmv`KHd7qFv+YkU zbkw}w#;jwJb=t{7Od;e_zlcd}g#T;(eI7o*iM0fh#?gfTdP>&Vl(jWGOfW7q)`6Fq zc{ZG2YMv2t3G1!S;ey{U?w*9rV+|o(L7+yc#ntl5ut66+`LDEG+ zGy%`zT~tpZb}0><6^M`<<3%yjk0tP&1R%*0xhQ&k^qPwg-P&2;E=5E6fhGw@6}q1k zb0t(MS;rqzV!DUgK$+pgE&By#;{PrDus+UP8;YkSj?O*lBGW4JV@<#As0zE^S+ zYmU1c9WTcGY2}KpH&cill$V=$%t;$2pFOGVbf?yM1q-l3HgXaDX`b?RA;I6_1w$7Gt{@M1%?-5k2ksc*Ox1G ziT1eNVl%zM_TcD1L%Bi*z7Rigpm7e~h|y~)`Lw!M*|8tX4pvsBrdaZ#Bpb@{;JKZv z?=m)y7g&cmf26n%p4#`m^ZKWb`S;$9^DmEyM^5WB|IM7;f4IuSaqTG|iu>}eEVaAQ z{cUp(_NhGSQsEw6+~>JvHa#Z3>Y1(QG=_i}Z=@P~cWzh2JB=G}?&gLOjOauQ@o)Gv zYT^4~+#?#BWNmBAZ8AT)m&05Jv+ZBkPWQvl@!Ou!%X%ye_+nP+8cim^hCnWckWDeh zoSQAiF~tk|KHv2~;xNGmi(Ck9u>9djfPE;R=D` z1@TO9WFPhS1kCAg_v6yUd=Q=I${w{yu0iBtXxyqdY0GLC`M3$a>kyR|D8tlqSYo3? z!a&5HgTlC^vb+d&V~+g}7^qW{RZ64LY5tz8vbjq-B9t&Z`oMjzmd!FUcj{p|cFc%) z32&t!w-F<^+~V}Wc7F#A=hHCKErsjR9UMV;*}98E&VQr4e4)lrB2Au z+`FHwQkt7=Fqwl3X;!B(JUty*JuIu+KD+k3Y({Y}Y~eoQ;<~u(nac@4mhmbCP9t_- z2{~#B?W-6G%$7^5-%rqOH}|E+y0?`JS>bZozY7WC*JT`Hu;rBwA;Egl$>lZ)@T=cd zSNPYjx=Zd-%0rfyZU9U`v%fj^o?D0k+?LH}SCi{fFX5T7ZUw`OG<1nyH7D>3gAO{r*Qz>*9C;N+E)qE za5s4IxTrNHc=jrEzpKtubA;3AMH$NPf3=aqps_*cwT7(rQ8NoKQxg7DqDkGRROqFIGD(jA&OJcj(;nGofE z)2Kl5%vKB>6LwgeKerQuN5MRDh>oKF;2tk)sJR}?Mt)Su$=f#{6LdP1xO%$BeKou5 zd27({=wV#k-S1+A&-dFpF8B3P@oo(u4h?dZV-$^Kwd}I&K%kUVV!e3aP zEn(j!tcp#KCir18y5x$UVraoGxcY8Vnz{STIerq{CE4j-B__!`M%mZ4k|ONc;;(R( z2TRL9u!+fzbwc~YMccjbK8+u^by-@HYNlsI(ZO)cF`RNeemDfhIHTcNqh4Ph^K<6! z^WXeEgzlGhx4!P}zUyVzE<^`7<0`8^`oFp=EK=DC{E76Uj9!Bl8dN+JU63c>NogC| zn-;|w8c+_MU_TYIq&7!%F zXY_3E4xYUht!D-EMl`I;aYpc6+b%93#?X4Q%w=mr{uQ-RF%Zcigo(r!nO>OtsM~8W z_Z27G833TT?Hsh3QPc|B^&Vb(DHgha0vOwvh?g2hI`T6jA@Lk=dBC@)RRI2 z`(J?p&DnSf0P#VI0Ad$*y4a3+i3y%ZNO$XEFA1u&;`@q=?V~0={iZBD2?PtpRP5Vl zrw#kYiHP0ij=G77*zj|$MOVzKf29Ng_>1VoL@=6_+6ifSwaPl^d>ueovIHAsTPkT{ zy;zI%bOZxFcF%c}TO zOrYoW3~lgw!1Nq$wivL!lR9WzDx*wDuw-X@xt4# zNk>h1$Cyg}T!v_f{w901iz(VkaTVZ!Khdc&GR<+>hU^~T%wPyot1=P`!SX*!ct#s%md#suJDD@B1weh z%zY?cIcFT`2<;u`0vv)cSl*{uPw<^QL-TXd9r{tKuqXbPHS_jQpR=ZdN_ea+NG6~V zjBY=j9u@|d1Vt^EviK&Y`{j#gvz3#QY1)%go#e|WHIgqbt;^M)-e?yWwk9lp{PD+$ zW`jkPn}zl$H|bUzc}>E5&_#W2DRx}6;&{v9vy57N16{3E8_P1sm*C5%_Gny5;K@>c z!Gn-nQ-TyPlh$49g#e!J=IZVq8#SeWXt$EH!UGaq2tq=Oz#;&76dV$nMwkZQ6B``u z(!^0^Wlr?Tf;JZQi)y&xnlZ2>7kOw>y6`W`Gk6cr8Kxgi!o$&cgWTz}->t)ZU5sHa z1ieQ-80hr!+axpk+xOGCEV>@jA6BR}iZ4%IwB@=06*CV0ItEF0x{ohi-<*~tmuDei zuTwfVC-~ZFVu@d~&(tmaX^L}B_n*d?JPH3E#4dxenDS8W3EFt~i0S1P0WXS7Ea(di zQl`7#NUm(W-FbY^f_C2t4%T4e?L$HC`{l}@MqUJ17^ExByZ;IftE@>G zg@AgU2D^j+LIlv6yTM|;t%$@ExgTj9tRzMH7I5`RwN_bvCuI?0FppzIYuQT2F(J*$ zZ?mdLs(Xx=G8=<$hDFo;B z#Qpr?^Xx;yRmS9Y$tR1~DPtAhYyP}wcZSM#PR>8femY19UpL-*oG#|Zgwn%GjSS{|T?ccXAN|bqb)XsoeY&*dth3a9W4PDbj zY4|x5OQgA+Jw7X8sPX&|)7xE7DPctg7YzL@Ccq876XRMAr#4n%43!WaKJs|_$WiXBABv6vjoh9JCjwzTLgy#MV^tm zC&kDPPJ3=HVSIHp_o$??^VVwPmgk59-Vf0n&0nMNAAWk*E*-K^S7tAsJdM%DYkKgT z57jQFoNd(h?KqgjOSH@tcU?Kqqu~7O7vIlz?l)&Y9llNJ)Ih#$(UdW9+SK*g(_H+L zQ&!t6b9FU^Zs%o670WW0Ly2uwI+o3v>odh}EkX7wh$CGaBNzltZDT&8*#x zge>L%B)+qlF>;k+d=uYGeM)((lt|)GYZ_}9@jGFIh3GEzKRj<5;pgaN)w((;Npr#A z-GP@d6vRje?Z@|cX#RX&&>Bkh5Dsx>0waE>(YVry*-ki-%#g3pr-6IhYcEhx^1scO zSN;^O;+ZLBZ7^+*)SI&3?{jx=w)PQhG?DO1P>!%za|}CrME7nLuG?JRGpAmq$%QT`BW5%#%wTuASi)21jxDv~ql@H6 ze5gg3Ez>}>V3LqBl2Q^Hm?+nyE)z7vN#hB@X(kZ?t$6^l$;pgcCg6s4)y=y#Edr8H zTRBacRvxG`KOr|_e1T6!lm(kCziF|C%OLoVSYZD3VXe7aGZaX^X;FRl4A)I*$pOso zF@@(@04LY&gBKHRRfZM8y=1rahn_9bLA=I&-6yCGMsKV%VT{1N#XtNafgWd#aA7|!?zkSK5yKVBl?buBAK{f8qb^P&&t=-DgqWt70FMEd z0MdwK65S(&GVk?}d7}gYbF>LCYl!tNGg2Lv7GUcU?`AL?n;)l=$wJ%+C!UlgdY%>W zr=Nb#V%C!}xTYL@I{G;3AZ5$Sw4>S*^63kJygv7DZF}03Fu{R2Xv1Y23U$>8S0CEwV3=1Jqc3=Ud0Q9wp-)ZY8QBVk4{D4u!Mc;N6}F0q#{ zo@RCJM4U0s1j9y!(7*ofX?;vjXaC2iKaG2>hWDcZL~~rs`ltOb72mzieRpTSziPmC zQhXNsUHJrIw2;NXqHmO0E)ip6eEH3bEI+n)h3w5&GLe|`S_<3aG8Y#jW<7Xsg3m(q zbe)2+Q%35`7yGSmr8gK(41g<1jBR8L_&Y6~hk)uRJ^$?Vpu~`#5i=!hu1gl=Q01s`!&3dSsRA~^O@72@8KD%gdz-2;hGv%{|)9i zu9~j<`tNbC;?TOhP+&)mZS*4R8!lWYOzzvyab9MH&cwQ7D8VrWy!HCwho4F!YG;(z zV5epT_{fJgkiKE155Y^xuC6epiJMgB?yr9J?bxsJTE$i;;-@H%< ztNEdfgBz9A%H_(EZg{~P|7~2wfhlF6@enQwJxygRMw2VMU0VIRkOxhzFFr-cQVy26 zE(kq!VZ+jk7mtGH2$N|!7Nmhg77St`b6!S{1(&itwB$x}7t)W~qZpWn51(<5C%`P8 z$?E+#vfBd2G6@_g8u56s#QZrIkOL7QWY;E!hE}y$9okhv z`0FetmKHY+PqVHzeDvZR;-C;h!L$Q%x)-;q-Q@`>&tZwu#wF}f1j5UN4x<*T_D6@> zzR^#V0LT)?$kuef=+-pRyW$=^wR?NHS80neIad=t6k|o-qyJ&|ypJIeWP-rpcG|ea zL|D!Wu-A+2a%J7cTo9L-ljIv#Etlw88ucja=$?9kBKEOsL-)D)A{;K8+jas|>bn}k ztL}&B#j|#D=|1S>(z8z*_f8fRm&ZlVd78DcT^Yu=)tv2j?YsBClq^)g%rw5WgSz%) zf!*dV(RY=3U^}44HJtue|LuQ0+k0M}X1}$-xsS8VvdkA6a}XL9$Yt?Dd>>p!B2xEg zrMpd?SiG${)tJAHhO*Dufg-rnzQbQtsFb{)wWDO$&^a|qEn*A?2^4JO7v3f@by z=$K+IG0kX3pVt;L7zQ)UCojVRcXThcm`re*FmUXw<;BS}v69E;+4KFuT;G?(bQQ9# zrf6V51nqXhZmV^)zv0yAzKc6FSYXlY>^>S}J#Ld^TO^?m!P|81#c)?m zqqzKP?Ge|z{|m0wa7N01(88GFC#_esqr1$rrwP{-g{v&5Wgd(8-K6NUP~#op7omp7 zef#+7aLul#)S~&Tgbchq>0Ytl*`t)|t2`p&+>&#S>#3?S$zTjw$hJ(QP?JSlZYVHn5E>da#a8D2pp8P}c3TYX~DQ z*FW=A%J3h5rg#r zW+$Xk;L2sf!qC`QD=v#C(PS!Y_TWB;)!|@>H3>Av#2a!(;9N{F;`hNdzBS)$?=6bhv)w%A!rK%Hg1 zSmy0g)>(AiGKBO)1TnS)>btWDRX(xVWJD~scaElOSBK>Xx!pCg5FK?|JaS97ikwL(d9Nr5f|)r#bqwz zrG(X1F`CQUv)PB!vJbhxTo(+&mI1dxAg)bdo`-J&@EVElWgTrdmzC!CO5JGLgWP62 z&1Ww-Ybd}Ks9ux@U9t@7$}`xl?Vy^LW24n{ufyWj(h5!@~jRSP$Gem*?Jkv_^ltNJ^G@Tj={h%Xq@TGv6s7$b@TRpZ4cS8{X|F+ zHU#NB6P+6s1;L~KpKvz3l07KC$(v(aqm{?S*E}x%vKk$~{{F?-{Y31lc10Lu&Iz3MLJ18^sroY$9q7`Cd z>CLxFvi%dw^0NE&L-ea@d3~abMQX{mmx6j8?h<(T=ZNPu?fIHq6<>D@g+5pV$=8Q9 zngq_Yrt{zCYxe*8ZCcuK+Wfb#`LD2!n590gGIJ>mxkd7}g*U-qX}OqUYoPglecFOW zc->|S_gP}~T?`}ihVJhY8YvK-!8#iwZ;i*ilK5I%f>Xct+27vr;kt>3hI$?Wg7^i0~+ir(t=m*xFY%dqFc1GuxKBqH< zoCzwitii|y=@SGke(~_`$L+^#4T+kd35}3e*CIBAFobTzAokP)8c^3XNdu8(+EWJt z(xzN*60V(3V$8ouA}B7rxj-E?ObKtv53(OmihCVo)!f9$7ecfJE<%jU+9XIGN=ks} z=$8cy7^9vhW`KEJl@wx6K^m^EA_DMp=8(ARI%DpY3wH8*H{KSWtJwBPx5W>&e$wMl z`!USG{O`(uRPLa)5SI@=Y3|nv!n3%+O4n|e*(;{FUWXTq8DTvx%^LE_Mui-Em{vkl z7UQRw#$aj@5V(zmp%6-u{6ld)zWN~;!8yUfYJ3PmZ*!?}SzU&Z+Xa;MmrW%KhPjm+ zE4QdD)VUSl-dtP5LW$8`6c4l3dX+A>-sf3PN4aPhVn&}r($6veZ(hBa{Y_Tk@>Ya@ z^?6*om3DY`{GrUt*0txK=F+o#1ZL)$|P)Dq+rk-}Y#5?b(`VEDW^_N#Efc| zT|GM0a;iO}w6e@(p29h8@K#cIURF|(OpRIC9inz$G2EnSfBP~78WbJlXuU4$->IbF zQzbl?xyH4>T87NcO^mdHmf3Hg8G>fY5jZFv`SYpu6aQnET22f@lSoV$~U!j38WtvcWQm1Jm;Ffn^$ zjwz2MDK(Js%$~z5&pwH8L2AJ+aR!8+WezKrfPXCVw5%%GnhHr=js$F3Fe*oXM@LQ3Nh!owOR zoKu*iao^#?_mwRz55Pv4LqMd0*+i4}a+`Z#BP~`&Db3})2HPXmnJ|puEfzO{z_NKT zT!6CZim1i0026|8RX9v!5MAdGvV64TnQ6|tyet<~x3CD#xr80<$h{$}@5LDVaoih* z*x!z{>6TQZ(H-KvesQNUdv#jt5vJNYsYp-F1N46PAOTHn*_nD%wdkKAb=nHA}7<@MmmV{Mn(3@-SawUG-Cb_?T zvO9Z`OHHEy_jsEHprzabn52|wLH9U?;Az70b%{2*eQY%M^MIe68CJ(=JdyC<%~H_9 z+tyw%fmN$}&q{7Gam@1s`1<;@nDRt3EQ+I^2hX3jP0>#40^jZvmKeQ;(d#|u_48bk z0r?_jbh~zbnpzj^OCW@=c@Ks#Nx1X4h)wZ&9Mx>#yz(Xm+6%P~q-1W?p!@0G?GO-e zK77nIS298kyD4LoM)(%?wrfYbIfR&s>g5Yy&N?iO@}dN)u)}e4xkY<1>^WnU=}UO{ z8;#E2eV)J6ElNBaHE2DZGK+s`mu0EAVdF%Dp&J*0OLM1u2dLpHMDt1vHWOw$;&fR? z$8D;6ma=k}_rQUdpi<`^CFsQELg$fOX0Owg1kYkZkP^;Hl+*_PYt6xWVCc5-8l7u; zw2W-U^|~9`S5jT@S)K{^9P>{pmX+F-^skKtzTz!;)_?#+r_tj0Cxm&V8|S?#EG+*fTVrzzfkIi(7wNS>6NwjoZ6%3~|z! zzdq*c=6!w;yz}Fq{(Vw%=D#`j>(8F2R#p~0LEWN7`|>R`j>yXrf4d(qV~eLpkfUZ0 z%;RxUZ2TttA;>}qg3A5D#K_XZ^1t;`G7~O)D!GL}8G?(PI6BWnsQlB7vJ+$d-C6C^Qsn~NY?`lP zJW||Y_i&f72wS942Ni%=4dPYY7Z%d7kU4Mg_VXKi{PoPhF#tjMbV;|v=tyeQ0UGZJ z4?#|DQ_P#?G5}^AO^apO`IoI%_#-6FS4F) zg70nPTr7iYp>bSg0bxY?c&;{YK7Dh&O?V;Hjfi41B7!Ab1 zkgLWC&a2g85sHMuN!HIo)>O+|^2hn?N%6SH2~So~JRl3F4S1h!&Hlwd|9wrXw;D$b zxx|eYVz!#VQJ8*S429**f;#ISEyuK0J-GsU&%<_6y0IIl%mh34({QMyLst$00!6qA+&B%U=o3^jMn zz0qXD95ewx7K;kUO?+!RI7?=w?CgBpT^}V{#t8nyAhx4ve9(0?c zwpP4ZOu#vqCq>z=2=0Rpxcu>(5eEvo-bb2!cnj7-0mip;9W6xfddBLCL=Z{7!gELr zP3rFx$O~eF2~-LRVW`d-3nWDEhpP`Ch_^Hc$vC_)aCa!qjY;b@jpsGbzU_QcQCS#7 zreGSad5_p;Fx*T)5HvzH+`@2jz9SDSd~`kQylrJ7(H$OyCU}@w!ZMQ8Ky#OR%HUny zkL!0dt?pTr-NERhS8(GAvVQL6g$GZ3v$wxEoIf4Y`}}Y3^Ur<<6USeEKfdgr;jw~K z@hOV_;IIjNUN+?wviO(5mntAZC5tOlp&K^e@U)q`d%rh#cog0b9Pc|u&BXgX-)Uq7 z9^@KVL>kVAckVZ7Dr3rw86ruO3Rd|LZsbJ^s{Ani7V+c2o)1YJ4w1Dff#kAfT zCUSEih`EL>1Q(IS0{(ckG%VYYVIWtq7~=!v#&{b7$`(8;fV|o{Tg{(KWoRxfim}l? zWZfyw4sBvq391CzN{Jau3C{t~@M0hVp^w0t8%s^xN=K4MTg7!^Sauf3!>Ps4gDsw;cSJ(k{Py{aww;b05cu%lexAl0bWx;M~oM z`qcVw#e69h*D>hbEQaSXlB2q5$ZAA_7g==2m*Gf)Uy{SHu$u=$J8RtHBx|h;LLM91 zqK^pl;A6X4WMSTzW8=TiLQ#9h(q0T7wYgi*Qu>^yWg%hsZ2x7h@U6xk-Zf6{9b$>o!W$*vk(X`{>0V9B^{}?(_VmIGt4(@l0N&+|*-h zvQPm-qU3o#FUM^RbqEw;4#AklGm`kCWm(x2?X&RpHo8EI7~$xI6`k*wRo!XvL)pwJ zif|x)@Ur;byASVEY$&Ygij{jjEbseDepqMRu19wIXbfDZJTto~O+zRTdQWl5n)_6| zP-g0J3L6U=pQ74Jo-%G@T`x9#8=M@2M&om0{ww{au6T`mFr1gMO)=gKpIgRJyU6gj z8;tPIdEuR{?Wb0u(1G$F_YW?uJ-X)^@^LP>2K?bncn3DtPEGZY8)G#8^gn+o}VAK3LZ64Ae{6J zrr45TJZ&w0G;Im{j;hhz<}Zqo!{3W_1{yn5m}qkkg@zDBvvLluE5Yi-VBR;;w5IRI zHw0?WW%v-dc=~|hm-~X_(*N`?zWv{_^%__Uh8Bu7CAuO+zVzzF(q;*jhZyf5{_114 zOI;V-_Rwj^W_Kh+V^bxUsO@Nay{EAU3<81)i^%Tk%ebC)#J_J)BSGNHwYDX?i%G3U z93ykJYguf-beG0zbKH|+CYrN~1L_!|0rg#OUAqo&SzXi@(eCNCf4Pe29=gYJ2)mG$ zcox#%Bp~+6l-m`!Zv2>(?k6(eq^u{7i@Nk(ixe+Q_{dPq;wkR3w6>QUvH3yD#-$eX ztOSGL*oq|lYMOkVkkL4R^-SB`$US$Pa63yn+Zp1defn&4TJ}XCi%CWB3k8 z_Gy~FvAucoezsl;`pSBnvDTOH)4O-g_u1^e{Sg1n|NQ;zkN@iX;M5w&s8?(3u$0yq zMYrA1huOyxKop~Ydi!p6l<-i$xm}`wLh{cspMU>f+Pw9w1eao`R}t9XzbSrrlJJiZ zZkKc4v0QG$l`=~0b*b^Q7E#=amkFt7ZTIxAUp%f6KuUg^2;z#MobTIq>?+ub zU5nL-O=_B7YFx~CD_3_yuKQe<4au56%e}bLy!TSF9%Aa(EVOV+Si$ug-H&b7FrPpm zi;$3d+S=<)Ny5hVe=J(!)e>qwUlI+P@}x*K1Jo_1@)CI)(% z`<3;(l|m{ee-&H_L-V#pod0Y*ycW&M!aO7RD)evac}Md6T$~g~Urr(1PXMQ2<*F5q z;&!LNuBA+!G+to{{FXonRlDD0^|BhrCc7!Lc%l||G1h<|-;6O4&@##~eu;cjZ%$7S zK|5`P7ZTD`N{L^-o5EP(P51VN`A)m^q_V^x+}lPDls~87@3O@C#6E9i$u7Q3P?jW@ zEO{sdq2?7X-QPdy+IVvJob!Hd5QTa0IqYU+4a36Kd2aOt69KCMGK%q3kcDM78hdPh$*J61%p8ZQ={I1&DHS5l5wuXVldwof(shk_GU9T9QOiu ztn}g`@xwR^b06X;%DhYbA+ zC(sE5nRiVv#Db91cxlUGmcy*?=SCY~APs8_&|)ZQiMqqwgy$V}in?-mL5*rV@QLI95KN+4hFbfaiR;!)Fkj{d; zrUzXeBaWS>S;^wG@u?af9WyR+XDd3sYte1xwA*ho-*)UI8+LacNOwL+Ksem`v#si_uCR<4r@rhmZh<-N9pq6?C(Fknf>v< z|NZRS@4p?m5EuqD@9hY|bsHSu5?H)Ra2(Y@Ijl`^vxrzf&9NS&7cn9XRc7O9*S(9- z4yn^IElsE+(+D&Oho_Vhh0zZ&J{c-4Rm#Dm*~{FW+l^E9-BGx4opxF2cC~@Ih;v!r zv~KpM#3W9$uDF)Pn0M3U?TPo@^Ov)Y+;2a<`!tfA!2KXDw%6|IZPQV*P`DZ19jAOq zI$MabN|4}Q{`jFi^SakUZoJX=FuKs+^CCu$24GmJ9=Xh_Jxu!Yo;-w8Arg$-bG>AnU+qd;m>*rUM=L z>~|TMI<5?FLmmv@o6~>+MxTP9Hz$h?P5X`D!$(H#WA5*9eu}YidY-yy^r4}^D5eg6 zA5*fF8_-;*Zckd=eGv#f$5=)er&dEV5aUI(n%cYexLCHaQPhUj)jdbjQLcX1a($cE zqY`6Wi{>9C*fXO0TmFIhPoW~7H*R1hS3{sD*TiDcKQ}BZ2|Rek)}uW?gPrSu1`N7&uY^{@ zP3`PxGns;brlG9gE6{5#3dhi`+6Aw!1#85 z@7uigeF8W`aWHFcJP9lNW!OdP~ucN)cDu%hAwR~4E%d^(zb4r)ibF}%p zdYWFADMf{ZN}K!w`$NL`WY^|=uFuYW+p7*K+l*XnnmmG?eo{PKTiDe zk8{2JuKv(9L*NDv?o#m^jrS*OFMibhoP%auV=M$Ao`Lz}KO4o+;Woxhs4Iz}G=s}p z+X*c^wB6Vj#hLeI>?NA_2D6mG?HTTgX^Iu1Wi)H2`q7;ydgei5O^)3f8oy0?H}h!O zxcWLCV$5qP(rCZSQ?MrYFNJ4#e!91#sfzKRF*^45pOggE zt|9TmoA@GljJRd+U@?KYd4Q43T}?44iQr{k4)61qa~*#7+52A};6ALaI4Yj&TIa&2 zkwADW*{<~px8TGGhmG}feta`w$I>fCQU{&zg&7Mtaa3b}NO9yY&1Ub_I~cj(jf-!NMV#4pqI#^^A=u?te;8*?S7 z8)GaMBBvd8Ked3ibQ*s*L6aDOV4?IM!GeIKMlZx@PtwR}K#-J)-cpbAyYSD4i2|^5 zybrfrnxU*ZajE(5E*Sfrwa8q_L%5B*&<<#{0P0@cG6B!izAUuUd~ZsU3Py(#L^L#t z0G}WEA!c&VO6^)mFaqTvu~?Q?L-$>e5h?Wc-ByUU%k_a_=6aKTw-fR!jF*MD5KP1o z^uiN|Xefg*F85&&J|vCF_&hdC?%eTx1f#l?vfL>R+n>HnUiPHbchej%(VVYZY- zDEn|dfuq-~|2_R#QKdncXw4-#6}3y+8J7srq~KM=5ast+RI7ZVIxONp^|vx#}s z#%?8Me;;FFB_Gnn8{SI7@+6quRZRQM^XFf(`igaJ6{pOSImo5)zO2L5T$VfS%COrO zO?r?j-q&Ar?Aynp>t>-}gpk!+d~UC}?(yMimQ7i!l_(I*mkFsKs)>91sj`mds(svt ztf}|K#x4@NVgL%uS8KV&C>-vdTqhJXFcRV3ioyS`HG74LvH}yRHo9HNox1cX_fCh- zHO7L0?zC<+d<_QdBoBj5;{aHr(i4{6_b;9o$P^fhyioY(weQiod-rpffe2p>}axIBZkMdtD`h=u_a-filixopYOV;h5Y;@Dfdiv(W=u-UzS1DPibEE@Xz& z2X57b-FDXba$$#q8f)95k3u&IplPp1cq-_@!KTt2-27@wFt4|tZ2Nyg0e$z6R@GMVm2_bJd673(>y@92Z_#j*h_Va+nDaGf8nn;+9XCZ%Qmz4!6@a?)HlPVac+bkDG9oZ(#F z32SI90}mRH9;zY~a)p)rkr!c+L_8NM@q!q$Coj0QdMb;#AuT84Nw zlqCRllo|CeeI_iBts8JPd3RgVo8aNcU(w~HiHiq9F11t|8#^YV?s+jO+d?_NE4y#8 zpBM`Qb&}GM_!D~vk-dhbRSa)I^8Rx91`Dk3A;4sBy0B*(+OGP zu8A)!WeB9PA#gl~D5q}F=`mS9f52{WMen#29kx}GkZXb zBf!lCz>kgypbGb*x)$ox*!8>5I!;Km7};fgPk8OMbHc~mgZg@Mm8@hDEE0kd2f;S0 zZ{@Hc10!W&z_n-k4MRA+E0HAMrg)EMT|}JXJ1i9G-J9(%$W?P6g6<_4G`9vLNkh9a z@rB}k+y}J$vGHc010RBMEiFXIiv@DmSjBBGTPr((ToBR`x3Z0;T+mf~&F*$qX9u|n zKgG;#iS*l7e>MC5*RO*s#Eg(B8(fjC2Ps*nI#N^8#nSuHp#^qhr=aIM~--+xn$UG6ACVlRQm3fCmy zv^r0Wgw?lIVo*z0EDl`qNM*5d`*RO}in%=sb`+w|#e=qrH)}*88+ak+b)T~MtZp%T z#hee1KFvO*v0ug%uM>peuf%36h3Z48wGv)5dss;TLK4X+c610+$-QEmxtJ^RS2D5K zIL&2jRvIEpCK?=v=G-9dS|S|rDNFgV#16?FHz{Zf(TP~rS#Ta9ifDB(F%OJZC#`-` z%374V2;I+K=bC+0!i_SW_;bl7t63pcbGDumiVi-!kFk9z%ujH^K@F){r=ypt2Xvs{ zuiqyo6e)f6yXSk&&()sHxWrB=-vr5^yYNd}GTnR#B{V=NxEK5-G#oO1^(aA!YVu)!AC;9Py`N*^UK(b(>)f4foiv-~wLb z5ojL>*L#0PtO*_xf9wol(w$=wx(f?QhL<4g*p3BKcYmEZmSaRx-Y=WXL&)_ct#UU@ z&HbqaveE#HR-*KRWu--!c0!*C_U19Vp(LCX)SI^?h{53c?IA`@^CXF@w zr6i6l*Z4HA4DJzjfniX9WdP(Zk9mU?X_9802X z9aEkX4z`NA@3~yjT#%c^f0h$oBE;NO>&>6%_9#J^tr#BWicec*J+CAb6!4#)*W zy?k7osnrH{f!apqx6cz#oF3XMcJAxaj}m zpD|9@iTMP*Ap_Juv4AG=F%48K24F0j)`B{vbnMRh+AWSGq%B-Bm{lt?l$c`gPSmLo$l z;Un2Y9O^2I>81(X#h{Ch4@N9qTbw|e{#xHb9snC{dm;|+G!j{-=C;w_kJGxOk{{%z zD{qbg8KNbeW45xQ)*DNAAA(<2q#e&~=Bo3$wpd!P={T>uzBw;o0;F8;V5pAKE)kM0 zzynecs5bpwerOAy++GlRnD~upWQ7ISht_I6rYBalRMz35@4CO3?`j0j1$G|;yNMVz zyry{{X99!OBiygKABUWl0G~u(X2(@gsZMuyJ zU+=YZeawAxad-AP0rRVGU(9~{+uw$yg#UD3ipAI$u4n4^DK>cCwds$Ka zzsyZmvQmWhJSz`lrO+I<+xbO|2TpD@4i0@gu`79aUrpZU)_E`CcG;TWveLsLu%s-U zB{YI)n29)Zs=-%|x%5Lkdr8>pkv=b+uQ3mnYqQPv)G?Je=*8Rl;1S^F@Lp%TUmz$1kZ=ij`dEDX#irD zS#a?n&)SF{?4V=JXod??5*uaixSH3ic#Y@F4bT?RIJCYS<4mc#?eD8_QL~5ZL-`1k z@Z91~Z|w8tA?D*5<~BB)E-@}&R=*#Q`KWuAw8yiw)^(EmgiLg^iiM49H+zOGc+UWH zaKuxBq-7rG^w0Qhe9=FiH$Qy#G7jRxJJ^4H%+DDoeEDIV->HP4jg&omK8Cp^Yp#oh zM>K)3QSriJ`3#{lZ`?vc%r*X|j0_wfIO_rNYt6XBdo2f(Q}M;VE-xY?==^YaxI4R7 z>oASk@2y$?HKV>mb>`z-@7-jaV!nMf{o}*9KbgZ*coSZSX`LC5hAgt3#M4|rmXEvj za4cVtbZDD>Hkm1y9%7qS2PA=@G`l&n0umx16diu|w|XCqa%n^?q6xs$!ZC$6LXMxa zQWTQQZrgcO!Uoq#7Q{%{X>3br*$pELieLR7G}93?jEUMPw^0oM468DPz77CjK%c)+ zhwa-v$I`^?lsyni*IYkYJn_BZp3tjugNwv?fSMZwwm(b?I0@R<`{jpFMh6EG;BU+m}f>{E3ZS z7aU1IE7j&Hzj){~i~G*zv}wzTeJ5eJolEby@tzbPSuXV%a!Auw5R7PS!P5=KP7JI{ z%yBmaKIG;sS>-mw)4hYcPM=svHewfP(KKHI=-KP%v$M~3M!%Rn3I5-tsXs1$_CNj) z|9bYg-67i6VOZw(#S({x7rZ1SVdOMf+VQrg1+D-8`M3Wut5AXXeYIgnHB|m~_TAFn z?3c?=qn0r?SZPm$m$i0NA+@b=xS2-aK86OT#3NZ_FP}Y~{q;Zl-E1S=alS;B&nZ-u z+$HSFW^MbQ>tbR1rMT<*a@+Xx$rk%e`wRC@2d<{=ULMSTlc1&meJ*k4A}f49!H~|E z8)aekSHJ!J?0^5$-_Abgs{M}QQH)Kp5v%W4JI`kC58n*$NhCLW5z}5>%#zDuk)D29 zt>a!bnXAPuH1dA5*K_g+tcH)=om}mm*sAr`v*N}Bf947%rg%`SRlC6Dyb^Z&zzPT& z=jZ|1Tlci`7y??D4s<%KorD0=*T40Ydp6;*5+1KqGNp`yRhY3o5<>`t6B)-Tr*KgB zmd$7se&ZXM-<;MxpK$Q*H8DQ?V;Y<1!$B<{#mZRbd;2oO?cY~Xe2j2dHqGgqZ@w9V zPS&jJJa#ZQk8i;u`m) z-zEjOSZ@j`hKhH%zw@3v*5|d%-^Y)8p5_Nxa?!(Lip*`yR6JGb%u${UFfcy6bV@Lp zgsk!7k0ary#ZGO&(%BfBxoq%JXf})Mm5Zmcl1|1{2YEK zJ*FKTTJx?QYyV~ajpb`xnB&A>zRv}Q_whO0a^3V|b@|K~n%Yg8&!|TaUyK{~vnvoK zj-VmIja`Q5kSx&&WwsxBr7#8KNqB|lgjnB=CMI2{J=*-YhV$i$43h9}I^g&m&r`&{ z7+2ir#yia!6;5**u2^f*_~uk0?_fImCV984v9N4Ogy?luYz0ydjVbFzCzg?^7sDBn zKP~}r)xdb?);f>r+sdcbEVIJ^1UVqP^#hdC0uwqcEX0%_V&WVkqh2XSulu`h5-Ty5 z^Xlg8Q8gj`&TOMX*p(RPdI)@Zcr!aH?f&ZapnE2S_~Fyy73TuFXWk;55Os8uh+*8G zMu^-<3CC@*ih!LyTe^Pb0SF-mwVt)ZH6?LoBa86trUu*1YdNjt#pCC*zb`Iy*}d=V zmv`OoX+8J3`4$s)8(gmtzjO7J+)NmqUd!y$-}FhHTuQQNTchO|!1JB{Za==GyZ=12 zyp;&ho{-BCAAz)|7OT3ytIN{ktHs>j;UY?NDVC;VjNQ*yV&q!7+4mWWo5;Hb; ztEDT1XeWn{=Wk|j(`NT7fPdDUo~%60T3&3I^LNRO(zd(za+)1|=stl^I!X)Ia3xYDOfFY^iIKj*4H6flmha*KYTy?eXkaIcC*uOT*bxE z1kbOsC?B$}R%#-!cHBBWl+n7}nCj%SzwxS?xi_<)KdDh#n?1cRV|C+d_Tk;l?C;-B zyV2W>R#H| zOp&7n>v|)r^hiWI!VoaDBw;wlCifGCP zW~tzuzx6s-J0U8*_oQSV4crMnmOlZ3hPP7GykoeSJYiycwez;Xx+$ZY1-(|{m(8l* zzdMW<;U$Du?)Qpl_igl>_5bq^KaS@lg2(lr&*9&4Zs9UD53|}6B9gi=P(u0O@NEh~ zo{*EaZfdjNmSDE?WMk}Ccwc@*s%mr8va;5Q!F?&$weS(4>9~pM=^CYV-N%IV#EV+H z59(StABg?hn(QnWJvZ_smLYBBZh zRYryBH-&_g*l24R?Gj#i_o&AU9SGiw@Z9|6h&a!8YIKL-=3b6gRSXbf*4FP71|o#F z?z9@wNw5^!NqI8u>F+ZBd+Z9?P!W@@msXZv#<#+$!Vr?jZ1Z$Qo&>ki*nDuI1SdEK z2RNl3n>%|1eZm`Cp2diG6>Opa06+jqL_t*YPN(ektjl{j53FWc{RCr%OQVy7#^k$h zvj7L-ID~q?kGzyP2xa0Sj|g~B)KwOcVbl2I#RT7U(d62I2%}+Y1GsAOSq5B98pLYj zB%?1lGYJPUZ8+&>c7TWQOBIk`*U)=d6cI(E3`jCMxhcAL56_etTjGp82)os|u2YRe zQ{9n%oaTESvmX0&bq|)}U4&@U(T9+M8OD{MriE`=qh#&kBms$e*}(KB0v%RPz>{_l zu@vY&wEf94&86#FE8)CZiZ|Ar9*_*yv+= z)=m{%UEi zw6^$euoR!w^gzOlIH4_tj;g)8%_3f}RhxvBw2!eSTe&CoD&5-LPdKb)?IiGG__yH# zbDA44ZZmpsY6QNZdZoXWmkda?rm{Y5&vaAEE;yy%9AL(tEwnzQ`(e%`7clG7uRN*POG@_U=d! zT1z-uv(xaMX71U90~&EZ?@J7>5~CDfYhkPp){?)SXI`#-8?Gpezz>|`H}~^$AIuVi zJ5Na=L@2e7>*AyCQXSi7f?~7A2*Lq=C*;1`dKGMzSfIIimirMZ>I$9X-hcDk-;ZDh zXC5rA6bWHg+j;mBFv~euEMuK-oHr#F(S&ibQhj$BEF5>ueX$4^ckjd8!Nluf&5Xx& z#>VSomkTaOwS&W~<6q0MzzDvAjdGd6hhXJi82%(b_8AE|z>z{Ue15+F^274;T<;za zF!A-nXZI9B>YF*+Tx9NojkW5snYUa5W4deoHQ>IF{|UR@#Sf+jXuOVLG!|n#Pjvu= z37+G=eKGgK`~0zVogrxYh#c_6-q+f^TMM_@6(bxlr$GK_h>o`^WY96;HcJO^myR$ooHR==04>1)WV6XAs=>-rt0sx~}jnnFbJ9X;~xmf!%6^#3ywQxT<@E zO=}^|c7R?@7)tw3R5bX;Oye|;fWWI1m#)yBDIL*8r1qe*`#3>JJ5^gndsRQR7V{uH zr`BwOy98mDPcAG87g|v188|VWh;7^&5g!XvqEC^Cxz=38^3FoqU(zJMYGYEH`$Ce7 zh=;`s&}Rt-TFhnh9k4Vm!g41j%0dh@Q@U_`@^Ru1JJ-2eLOQ#=Z_u2A0VdFjjTTRU za;@z3-Qz5ai;7!cpT8+NqJrg}G`bjRD?d#Rj?-R8fe87;GF#TNPSt1SN~|8M;RTRNHX}>**Jm=h|xn@st8)K@6#r$k;`^R^R_uK5Zf;?HuEibTz zMlAUdw)xJk*sbYZ0yWt^!bzV>UWFdMSZWC&oBZC@xIr?`dCVH~yNa3d6uhY5{p>|C zp)A9b8i0S!s<p`}tt}|OL79xC`Cu3{pMIM0| zT~qtC+HMluY7)Mft69+^GQ`tSFf7@P4$rbsv*%dOw|VoGZXSFSS28h+E_aCf(i;{^Mo=57uP z4_NRPk8xl81@nQ+3nQ(*Ghy$0@Z=G)g%JV9s&pSh2>`0 z?&l}yp;((lm96l!N}$f8ye}IO>;?-iGN7^-sOL*kdz?pMtGd#)XyPtGbWjr1s}zW5 zHCp(ThX_L@2!$6UyF3Ve7TCjl@f~>sgdVHVIdUnC-#Nk~gf5u)&UxnRv+qG0ELd)H zEmqfON)^}%CylEwCPMLXPlt1Ev+C6U&G~W3*Cq(mD-;O;JWv-XhjTgqpD#OzylynF1-t_|m# z?c8J5wCD1A#jGq$=fRhLACB+J=9baZjruNu3psy%G`@8>-#i_&@%Ow3yLcO+SV;db zN9X(K8OA-9p;l&6^G!;hMMrvDi)iu068p}D4N{9Ci+tPrdD^0bW!4HsRAm|#tGcVr z5RJv8rjvL8miEhHI}gAXv3!&fV*N7{i$@3C;t(^~G~9r96B6Cm@OLeEcDlzhs+F~Uo*zbx{a4nw` zYzQHijB)F?IPKfCDawN5UcSl=beVvd?(fZ7qw8TXEQkQ4bIB+s31ybyUa;M6_w62+ z`!7M$v$iUKxX2pcuC_`I(_R|PWl0!E6@=es)$CTVk4fqzA^wsCj-ltet^0~Tn6zE@ z{b=2r>!Z${-Q@|iV8Dvm%8mWM{JVb~YwG$w!QUFWc6HXndUAH~itri>&62m47b5=9ifAzm!aK zQclC|QLfZ#Ai?IcLVO)~Fll=_E^|tBh0DKWDcejHBKNoxq}%~6&{_c_QCyl4$C zb3e<9zO&mxTXad6In2%aSl68_eIAcAk6fDx8ayDzic!NC8$(}|u%zVZxF+DA>K z*M+&kXbhv}h|Y$YbS*2NyVGZ{5P#?wxpRT(hx_7rt-o4NNnfl+I4l|Mb1-lX7akg= zH4!2dLJZQ*HQ(f(vSIIKN`};b^tWHVuDcbKmCiKzucR>^g4F132H)?H74IFI&WgXverZ9U_-wr;15_n_tr zufF*vmuCtOMLPN;WIXTTT66Qa`@R0@?I^j2mES0`fAJz5={iD3y!$LKhpse|v&<7- zDuY@6)*pM6 zWQWUgX=#~&XpM2v1sD9g@C)a22SyeK^40IiBn2&+e0(wek3BEVnNwKdhB& z2ub6Y1ms!n;T=q;8x)siuG_oy=;OXbq%1{vw|bBMotkzVUu!ZW16-dNnEPx|!f5L$ z;6eqCu%l6RAt90SGKN+HQTf#2VfFOG*`tWXP5B?Y7x1!0B|`%(6lCpcoE^|90CVG zgJj>u)cSi|lueixa-%Iy1AAzqZ4tR=#ipikI%KE$AJ_ynf|*IiOlSeRvv7gxZnKev z)bcFCxMvBtVn&|jdu|&0_|2{q#Yb2?gfK}m1@AFeNhfxOr)53WJ28g37V#;r=XN8+ zbc+xdxQY>72Scz!%-8K2p}Fu?oK4cjZCzDdGVa%e(OPlI9b*a+#4EtTF52f2xjvEZ z!Ovb~FyzX@tzA}?3+;3e!_53WJ^wU~x$n5(nm>&ZGdOK)rHg($J8MJITwjMzbC1SI zKSz|0Vn&bC*xx7cWX`gbX{)D*3c>|{ipy5>ya)+D7f-v5A#Nu?z-}`n+K;GL6NGC? z;j6Sj7UQ#5U$6Y``)|9vZJT5^&U%MjW9f(Jt^GwAe%kkqmYYDlFB|ggxMYJY!k>;R zh_3b86WVzHQCfm}t(-7QWi{bO);cR!g2H+VN7yy^iui3dZEL2@w0Lg1&n@FLb#A3~ zW8p!7M-(7d%~|UpVM<~RD;L~vE4F{s+`!}{Wh04~d$lr&;}~mApLZL}Mb_d`#2-n= z^dtBL0qazUjX&nD-YfR?UG6PS8FpLStBC&sUKaa#5zHQ8hPf6`f{T8d&%Qa#+DI9x zRO2ojyH5ex$j7`k+I~16?oF03D?6N!Byye=trqjLHJmWQ7y4}RhM3W3q}`nR!C&Dc z1w=eiQVe(BW@a?SRVFJ7hS1R%9n3CzCXa}HN+o%4(+QKDwRY~U6N}wozAB^EHelDm zfM?vKGPuNJ9;wFIvT!iSjJpZ@fx zJRK=K!CI#nHOLP4-Kdnv{Tvc$F2hM}2zR2lQJlN~b!+&|tGWu+6ykxoUxyd0Pc$(7 zjHB~?on~@@?iNn*+mAo~9P^kt`qBTa}5rn>{=wtfaiSiP_*O-ZstGYE2MsgOM>wAg^Vb^2+o5OwkX`adw+FOZ-du9_wv%zJfT#+{B zCSW4~m(MvgG~;Gvuyh@Nw&LQ+MA%%CkaI|M43na{jF#Y_Yt1x3P-gLE>?0_Hj_+q) z&2tg{$+yn2)4e$@33w*dTK4RzQwEcsx&f$SKo6NUB)j1B1YQvnqC?98X!hgl1K;~> zz}XN-8|Y>uD7(4+%q*M(BIw)_=jmbG5iC2FQSQ*RZjHb%N%t0Vn!a*bM4XOgK|H+0 zpG9$xh%$|u2k>)olq=7Yg=e)~gRx^S2>{lJett8zo`HoE^_3}rLnt&o}f>n@jq7}b;91dnR{rsh%nPCvw*n5pIB6I?Bc;y&h> zM2Y|_0ogsA*r+Dpgx*0rORs<22^&hB1Hp6gjb=RGU|clwthulSlR~%L`(kI)`6s-U;?6q47+Ah*F^{Y0 zQsF)U_b5R#jTNG$i-e>Wf0*2hr%zU1mh2)H?-`o+OP1J4$$C+iG{&u|^+ke-8*$1Q zqD#Get)srjhbb<0i6J!H6GOy5MkvRJWE<-O<$Lt+{UJLOQ^u=U)k=N*<~!G4*NB0T zm+4NRP7{#Uq7U(w5@8ybh7sSENTn&n@Fno;8OGuoaY2V=(<+WjK#(Y51m2OYTqUHU3d#S*-o-d;H9} zE)(PgEf@OEPIS-HlrMgGW#h$5;ehKLl%6Rk2&d2swWz1hz1*+Iciz5X zqhPWid+u=45yA;myr!3HHfU9oDA2tCEpFK>U_q9qjok1c_x1a3X1nIn{O^vrrb)Pr z#&BO|h3qzM9Dm!9qBL1!xd)QcOi6S7ZE``nriotS?)w=@w+J! zr_tE+?Yuqw9HG|AVF&<091z)}vnps9vYTR^)%rn{kfh%T!^;*{2cE663kCSMxRZ;o z(SRh15M3IzDGK&>rULnB1b~rx$tCg=`K3j_Hv(&8>*zfI@4D%sjSB&ktn9aqf&yyhXD7V&n znSUQ+te=WGuEmf~s@J>xte>lTz_KoT_J^a7(+UjHEHRx0w!_|2swfw_rQ8&g(1m7` zLQw|ZZNl^-f$||{wcFm0Vdpf2-fAwJ5p`foaB!ss@sygkVb;^;p`WT)nfU2`i1xmC z)IoKg2W5$_2LGcheBEjumzAh*?7PY+rp_tL0TceNQjgDsa5Yk&PTR1!rsaD(F|XDI zUY=%A-in)|r|z$6pSZW?SbuIMJl&W&lCE@dglxwh38vH&Jg zA)FaT5cH$uA?Dfqx@T!V;XhsjjBGo+p7NRiv6<&YLKejqBUnwl_ssnF8L!dZ-ogmu za)Zw+?LxxhdRDT{<7i_wr2suqdUm?EWFlS%G|nnM>K>RR=HkU-BJ2npW8r-;Zl53C z@enjch_b*iRj=i<;`%=g(;cr#*Akknr3WT0)_75D_uYs0E6-B=p1vs5QO)tEV0IlY zN)%(g{_y=bl{X!({QUFJ<6St*YvDQQaK8*%)~L;WC&@23pQz`o5yVC`xs{?~jJhS6 zpE-FM!<0I-PR6&HM}yVPGaaO|mR3>JDKo09`vz<^>cqt-no-^3o~FfMTMa-P=> zS3AYJa|t2$WP}h z2mk%zTJPM4_4EF42n$^ohi8Fp#N(2E!87mS2&Ql%9w|;uVL^{BU6N_yAt_+PyN#zI z68tl?6zww7<{tOCUYA+)?+8BcU*^^`?&IqYNc!=P=lb+0oZJ%GrumHU0-({ z;h7sQ%R`LJ=A1H;B(--lo>3W zZd^ejiLNA9A#EU--h|TYZxc3ziE9Wy?SIy?hA^w^7+RMlptAZTM>NNq(tvI6sg4^^XAr)Tm)CJAvD(7s%Jwwegg7CHFZB#y0KPS2W#Li;e1~) z_`#!kGSZU4HR8C-#TGf2eVVJPGcROa#vIfYB4q8>LfdiUJt7z?3uu9I6=vb>r2x^$ zQW_-uw6V?zm+yY}{mRQW0+vvr4=Q|f&s{F^h~WC7LU-}4U`WHZaj~7s?-FV$d@H~F zOC=<&!G2>WsDA$RzLJo#F`L6iuFG{qAHIPvZ-J$NFPjN{N(p==P;6W~JAccD?Ac;p z`!!hB4Te=Op#*^{h(77u>vpI3oTBjcMG8Z^%FD97D;@{W&Pv}tPWgHHwfJBevsq&A zKfYc0HkhCULRy_!VY39p*2?pU@vykyeSiPqwAiQA_{&NXK3&!SvqYh+rH`kzbgMSZ zwlv!@%dh(W>#vGO##m{|6wkE;;cbE>ER7yU7arF;1y4sK77@HZPAFnLOFH<2FbtSq zG+WGUBP;zX*RyTHW{=Nk4fDi|ZgW9}By|aDcavyr8Uhsia!A0DK`q9Ij_poz-Wsq> z;5V;>Mg+U9*>={^K}lMB+pSgOWod5p&K-T(oLFuV>Ad`Xm4NeNk-P?Mwqx(?I6LlT$A!w!wRj_bOd@^1N6W>Fz2dX{jvw=Q4Jv` zk0M$kq#W)sxC)NBI?ZbmV+t!6chFyX|0Xr8tZD0H9T_4ILd|D$y-iVu8(v@%2@L!x z>h5ozEYp5&O?l}S%Xaam%wRFpxWOXO+!vf@_mptW;k&;++}rEd`w6oCW~{9xe#~3r zTIV^?D#6KR%H;@8G@!RFl5mWMBKXpMd^NE>_nK~AgRcZlC}N=)Ki!|FL&VDH`q&?2 zN}uL&ou^DA{uG7%@9hW&(i7Z-9BKUi z@>4P+0&KMexs?DY)esNDF-tCL5D|S-QoL?w?P~&R$}zGS3VK^u+dK)pi+9*mR*G@| zuY5?`J4={xRjsG7PMf%ZY1j7s5d7+{5{3|lMh%W6zS(?daD(1|> z6d%h>NVCuEu7+qk;#rL-*0WaP^yA`CgE_)EEt3|^@v8UUS@*HEQg|`XxNiK|6)G>0FVb&vmfYcY%7WR6CG!^AWxW#fp?P93)VlwjOs06&-N??%)5-%5VP73;5c6 zG)m5Wn3EY3yFP2r#^$Lr$3|}4`vm>PNz5>p?Z@1(|K-2_Smy2V%BzwSURHR0mId~6 zoB96p>!X!l>a23zoM$u6#shH?HVNw8*qVNc63y_G7dOwbv^jR}QmGw|b72SF#O1XRT@?5fns@=BPk3$hpx>WG zOYc{H|Br_&zy1Bom}gq5?US~2vFTOc%1Noe`7|-fyXq6KYYOo3bbaMN|9G33 zVy30{Hy3zKctwWMPl^%uZ8QT`*9lE=GI4geq_65hmfN#jbemZ#ch#BdGIX7GaTQ(Y zNOV%XRcE1%tl5o{Va^hoyb0?0Ry*e)+TBgL3q;*BYbgfuF}JN<*$+#ad6AHZL+7pW zr|L;}67KeUoJ5dTjpjX>ohiUq!IzRm*l_b>xccWlF3|;({ZMih_dHsYw4}!HQTVIr z#M9RJP09%-3}0`f6Ff)U>2V6&d9mn?V%P7=NS?S|7SrujE!+xeJc&MTQrwPG@Ls=u zJMfx%wrKxV+jSk)%zzmqp30kZRMQANhXswt682)G*R>QA22eI5mq3;-SMY4@7C*X5 zLEE#9R-Obg?w6H&*lgRjWYb_hg~@es;ISkL4cl5>rm*rRrRk=`6i4j&Vsd)9>PxJ@ zZwnmk2_Ov!D)|Xc6h-YFxp3{r+9bl+R=%+kWDiB?xGn)3qR;muFTw$Mgg>Wx$17Uj zGRP+!(-50>zk#pc8yXno`O+mv^971FZ&;5Tp>DnOc9uAES3U5}YOdwF81tqG!*sV~ z58>0gq_o@xN9!ZLcpE$?UnIDtIrgyTyqS`p^1mMc7zL$gU6+|U9D&g7jtnt8z6<)C z#U6i90ik~V=Bj$fo8(EJG?M|3i`u;_-`fb15H zAuF%jaCs1v21@H0O(bHRX3=SK8*Q>nGms60d1pTKf0j$Y7RVKoXtqOG=7E8FZ$QH= zXj^;C)uS@?Vx*5kG@GG9?u{55K+*E1Hld%feBLKaAJ53N=Cw$+faXxyKn=j!ld+Mx0R+*lA#V~0dj&sNLvgVXA+;PAk4Dap8(9sbK$a{^q-t?|%D30W$ckhd|W);Wr+c)tFt zsU$Djl(@y8F=}QCODKQOv!36zMiduK%GKgcl2Ng38S<@3jJ4~r@99#-2|vjy(w)yDh%H{VVv%<5`PzRt-gK&3Q532kVN(!%DDw1V#E$ZhIu?B^j$; z=Zzsej+P{;>_zh|1lv0~xDE&B`rUbG4F`e;-+uG`)B!HmQ(mgNO?Vyyqp8fADjMgG z1P6&fUsW1`rtup!sNBBet_%)%16wT?e0}s#Dk!dFyo5J&W&PCU|#@z7| zAridK;TmI+Ff)QDMSs3;++$rg&(Fm!32%v0YO=Y&-@QvXhlAX#U{1`0mf=&DSixzg*`x=Y0`5BRtSE zc_5}Z_xo~=bB&SWIC&ebF>hF^YwMO9S2idOw(CNiPF{E=c_8*oVW<4^@J%~H@XRw4 z0w%k22ZzZ*2k0~{Zl3*@VtKMcoN&SRbpoaH2*@cL>XB25WsqorBI3COZr5@oZRz_;J1hhjrdC!YAAqm- z%w{+MQ-&d>nahD|EgnDj6f4=Sn0>B~z@;g#Vh$~kPBosd28qkpLMR?*F^o{Q|5kIQ zX}h2J8I2JlswGrsBdDzq_(PeU>Sd*Z#u}D zIJ$WqVskqccW8`=RFct654&mmlf%6<+?e}z1ih7I5^qkk%$n`o)tJv($e?Z!@zKZ* z+X-A!i3Y~DDth_+Wjn54ul(u5k7>ziXCZ-XT(&F3N^c_r=NnsuMu zl!e&tWOQ;Vqs1WJ_D)%F!R__syWm)ytArdeUH@@qZRZWy9JuGk9_Er4g!{L(itH-= z&<``_-u=&0B$PksJE}?jb@8gR7=ilLE*&`TX7RC7-nX~nvzK?pTAz=gy)6bj8QBRN zcoxwlP+GsHuT|W+#4NGG-nIF%VY98qhA6041I^r zJY%su7a=sIT)~5I!RQD(%$eJlkP)i!9CWc)BYyApPIW)klIDVzaUU6<@K4!^XOA-7 zy(uOH-fsMe3)eMgc_1js?&mk>2C}){J$&bdS#Wh;9#PuyF!!s}DH{7+A{PO@){ZlJ z1mj&3f9#&_L2+41(-izi-+Au1CV9XfmHcHq*GF|`3U4-3Vq7y1fFK<{`|qz0-#_5b z!*6q~vzvq8!jgFFU#`_%$Q=FF|I6IEcv%;Ui_lRx6C&n+3dj3g$;0b^K;>*!k=7?YVmf3a3Jxh3Zf6pWx z)_MP;QC65a=)AOmD`EH$WFKMIwW^qkg9sIiHiO%lP9 z%|=V7rHCDIph#-8NC9|Lz z=F7TRS|`~XklUNa`tzG#Dw6-M!qX5Y*Jn<%dc8Kr)^4)_+;xqH?U*wLdfl8of4`)Z zkFDEriA3N0@WaY)|Kaz!_!9OZeozl?m&N{iMpoWgiU2o-4VgD`h1senuTugtVb_?C zYmv5XTcj+CyLzi~VV{*vYi~^MQ8@5xBDHqEJ~Ui6zWoZ-RSa`s)hpX^dQ0+uT$MIdySx-A;n^?iRbt3Z zYj_(hG)tzfi06$_J^{tUeYB&K z;j1ynTDveWf~s|j>7yyUh43JZ#L>tGMvlW)UUxD0jl3f22Y>$M$G%0^1Rgk8FXg zPX@qtcsEKF#j2P546bK$);y$Bhd=V9@j|VxEzL7LcLZ8vF?NT~3vXD)HD7-D$8TLS zhik#xXMZoRXtK}n+cD(`;cO@~zk9|44>v)-@#cikSU2&G`xN;5HcX#i8xEz*F>6R@ zcFl66tob9izr?bUV30Bp;mB4Xj+7M!M4L6V2eEfebQJuHMD3$2B2poHL3&=?~^+%Y2q z1RN$k&2ku2hzhVQtVvByW4CjI1$fY)#1UOP+5l^?3$%FxJj_GZ=agXpG+;S8hkG_& z*jN`P@&KTR#e!hwc$^kyypn~98iv>ZswcTY35cv9D8nIamnI7l$jcx{ujALHDOL2&_{o_#DKCMH+n%XZYuQaRNz zrE4%U;{j7H-IEBOWyrEd7|7avpH(_>mw>x2uH|{wRSn@7gMr%?oL*Ob@|K5q)clzu8X=W}p)+4^mC z4r}gdiA(3NCG7;O5{0HYLvT{Fs`0^DbFsbAX#{q08WU=4yM+lhvqaS$>KVIHQpQFu z#LJ}MaRu2s?c%ZZSRzW`%L5`?Srh1IY4E@Q%@5%UrB6m)9*B~MlISz9yQ~xmKi4rl zn>8=popR;&+|OmPp7C73`3E@kzR=jOzL-Co0QwoiXW^yPrF3Dm=RJ3Gy*N%*9DJg| zPsbWS3PI5NUP{q+^eKU!C3KMmxSki|P6Gjgy76=JuxjxE$!cO;6cp}gYwu+{DbKu2 zpo(p6Y`mIhvg&pwGn3WRW8r4!VM>I9dR&U|)As#@$DdPFBm|l3QMhQ#`}<2fHRt;t zE_;UKabAY=;-3Ve?9Jg{%@2JMwj-Fb1@QvPzH#C)T=_yJC&7PU*O*u$vwK9aG1f=X zVq77GCl_Tx@IlycmlB4?1GX~6b;079!Pl-cASg2@XsYX3dd9(}NO-uOF!bDMI~iY* zN$%PSGlf6?1`igmaW}jXn&7ADI^JVWbSn3m0rxcU@!5ZaFa7jz`2OK{?_Sv3C>AZq z@?94U&xS9(8i#k|c{nHv5BCY7Tg&h%%TUkjHO=G0HStA)?mh+0F;}z72B8Vz<aFV7&@FY**wwxB@UelX2yijVPR=XQ@ zPU8#*DuGHX>q3iQakoNzrZ7gQaNG@uXSr^Wu1n@&la1M;Y{vK%kBOm9iUDyj@y|5a-@9s zrGdqG?{g6-g_!*U1FFOLF~_L^?0%oKCN(c+9o|HES_*MF$dFyKW3!f8ut3=N+)2x` zX}OBOwMPqXxg@SjB4GWAd6lN0OV*YzcX$5onIXt}-=CFU|CwM@Hj>rHs(aSfKl)PY zz4}RfspoI1Z(7R<*x!WnAY^NE-5PKUO4$}Pw_hI@@+G2eJa*044CX9ER_^KLaSBZq zTLiY zPoF-oA@}cEgYcqp$-o4AmK2NdDkj7_Zk1=9W>=7`Q1QuM-kz@fKmYQ6<*Qn_y^PWQ zRAIFJ`OacezhpIW?TJ&u4QuxBvWCAtR)fz@IJX;qZTAjYG$P+G`QxBxon*Q1XO(`+ znvaDf^cIc%V*>3srg9k0Y_ta2&D}M3`yIY0u6LetvKkHu7p$icttPB?5^AftwOPdi z{$J-cz~l~slO4N1bx(MDkWjOO$z&J@d!2ct>MO8+mw==TJ#B}IAAWd|g%%^5(wkEC z6UMh`(W!>BezNMWvLvs?^TL_;AKSIyeY>>RHAoNOi`=@~Uxeo{i2(E0?>e{;PF$`V zS--Zw;%ekAISprb5@wQTz*ia3R`@SAIE@0D<9-Tap5x9Hr%X6m%Ww=%uEpe7flK_d z`G$A!m#k!oWJ-we5zHQ=#xz;jGDJ17XCXGtzF$gu_RF+&?xzx1Se}FmSF0>f zR-^WRgusLyx))2x*a;p2V0L)vd7iTfrM*d>W5uxoJ`+KcvgI)M#b2biJ&Ut6?^1eJUX*g@#>QlMu#Md8% zKj)Qd7`vCcX2Nc%>%(U=ESeLZM{%{6DcG22?0M*Rw`39?3O$$|1ncAy#LKu+&s#&| z>7PI2hR^={_1NZ|zH^WV4+q%zOu1i-j^)}2voD>DHpAF>KG-?PoiQZF<=FSrg01Hf zRCsmw;?e2M~GnqZg}VA{Ql*gN+9)~Fx0ra<6$myX#;+sgUNB} zM(#_*j!^vbJUcJ?oRFaVVdQh~l&v-(s7{zxmwE z8nP2a7h+Cnp9V&*ribhHfltS6MA3MtrQ`TyVx>9Z0?S7LoF&JswoXLSbx9&|>D;2Nr?z%Ii*TgKJS$m3mdW}3 zr!3K|#u8Yj{H5R$l$>cT?mpJ4>%q9aAJ*+!X)1O}Syw zDC*wgR&V{5Lfrbvemq)v{Y#skUR0m=IH6uV^hFleFV*sW&gwtOx|Td+jA~E+`glNm z-`}(T#0P^Ng<`Gs(ECvQHOLJPMVsSFI&aNBG=DBm%?=3X^WalCX39y$^5@00QXsa1 zzYN`-6hKOC8bw>>lo*mb_wsaMOm;`myO1BIxbpLuuyTb)Ip9gWqqv#xvY|T%+NNW(fEzYj(Oa zg(C!3sL_1m4y-9qGC{8n;~0MaWlX*OcMs?F{|E^DnNaMXK-Qx7|HEbO4Ym)*oY#kk z`L3Z~!mn%ZQW*1r$9uU>2}JklIo%BYOSZ$h`54@PM2_FP-u>oF?>t;4S=dN&n*lB3 zF)#wNPxD3JrwICcGE5mLI3YA6`1-?>oIi;<@vl~C&evWu`Bp|_3+SD8c$>*6u|%<@ z0!!|i@Oc(SxdYdvi6Ah7z=3epplODD6QjMG0TD=@lR(niY1(Rq9MaasJ{$-`FTVj) zz~axPVQTyDaGoF&3xOCrrJ-|c_|nvDrpiLGA?$sHnUh7-wc}cBc#BJ@DM!51 zdaMkutE{y!B#;Q+C#)i3Yk!ka{E#a~iz-Yl*_fND`?nZ0kZxNHD1n+1ps4h&xgoB- zHvD{AqRL)G^1hhKNgAe(9^v{R(~~TZ^{nQPZDzYFktPQII9~81BD8qNJ@2F1rN;8O zqii&wQ3e(5n~O;pp##D-qOyq<^A^6v%{6I zaw(q0P{p3MZr;|Lw2aA}7QabvQ!3KVS$FHfUb_25aVmjs{VQ#4b&`-fFInk_fA@Fw zo~+Z#PDmcZCOOWEBc6VKA0%ZvCPX)%jFM#M3+=5igee*?rG2$6m!_xX+YhDtAFOPB z{bc3n{_V=myI`J>dA#4}T*kjXhOmG2#bI-NkxMuhT?6LUxnlm4`oV4#e>^C2^q1U? zr@3U;vkq-u`-cy2W<6JX-g+LEPq}Abh3}jDn=2n;q({BBi?K?cIuyI@S?6_PNussJ zG5$1pRJ_)26sGGEQ6x5HfR-6q?PS*5QOOI+dR}B*eEWUwy%LDj1g`FgHRff=YJKum zO!p;Wzif-Nmf&9xzm=v;LRxe&LNG>$9w=~ES=k5}H;g z@grrWpIC*IOs*pd1sYP@Q;-G1Z5sCvp9zQBb7x#lca?!({CW8K-#O3M7hXI8thDpPPR#lmNTmoPNmH^tL!q`O)N zCs~@0a&a%4*s`!S=H4up*v8CVr+K@H7%h2mTQc0h^0 ziDk{AGLqc9CDIUbtXc5nTJCM;XAb8! ztp8ufU!UulJ$Rn&Z~yu1a4vysybixFmgMqIsBh(YP+N>)t|m`X!MczPsq`wrMVM*5 z_C<7bkA;tgeuJ;deMZ39pN`itEF=scvQZgIoiM+-LYT*S^IiYi&EmfCv0jaO#yI04 z6uWn{5rOo3cpvOoh6Lhtw>hXSlxD|afANm?YrB4zAgov_ci&CL-GrH*l($(_XAShC zMFkYBR+7nG%;YRL4(rN1xRLbHd>%8g!KxNppRWT%?xwpI)#j;pSx0--pFOKlvUm!A z{|MxW=Hw?Vlbf*~a8(nYUTkKOeoHYc>+FYc(!@9OFL>sc8;p?-L5eBq>a^j^>#1HuzVDE z|5ObZE9I+axpY!?&azB41Nv=3^nd@yf4}m-{=?r!2sK--v4CvhLG0io>FKV0?4DPI zf7$sI1Zha`>!J85%jzw{Z>_%TImbglDH<)$&k5*%%3WH1$)wwFRiCuYDv69O(TBk>X}C z&Wk$fi&cM4!PyAEHtQpMxX*h~*+tCtI*oj*ohWW5si?A>gyHjpgi?6%Qx@A#;(xi> zk8)i;N!U_~UK~^`9`m}2nf+2-({WvYUR`glyePBveO6s|bGUZ1@<0FX#mfFgN?=)) z+}jv456woImay|y$D!)YZckX)ey(2R!$}^I`&@^OZ!=hbs>L2Auq3H1L_Y|g zrOe%SL)bM=v1)tgJ#XK>E48`Zb2}V5z5jX2Z=O`{pvk+eY>J!v=>vS3)%~F|8QXqw zN#D1BmD*D5M!n*@`!?Ec9C7y)g2&Tss+ay<0S!Q<#V`BsOf{e&NCAcD`$EC{{8eOMH2)i9zjtZ z<+;zd;XP%OU`odfZ`#wd7&C=-wuIBkDY|+Z4hfN5RTug8O+1O`rJ< z*7^^R^)AVy|I|@3KCV*e86~?Zc3gf!SYq0{@!+-G_vOzeK&$clVk9VQTQZ=dZAx^o z!_GA>8R3=Ur7~FCya}&>rsRu&r6iCa?&o|SxwYz4c^DkB zf3#u6V?_t zEo*MdFM8I40KKjbJ`<#C;|;y5vvm)1^*U_}wf^ew#%++@hQX}M4GZxvaBzix{(x3?_mZ7fZKC9M>6moQ+u30AHoZa_&myJaRIO@UnTMF5~N zHM-IG1n2KN*Dlsl#x1;>B{3qIf&?X3gX<8mW1ihJxLYB^LTCX!LYyu+F(?a0oiSgg zH$plHb`bG%aiR0i7;vP?VhC2YS3;oNzxNT)^k|H6R&rJXM#x?%1)#2HDMq)k@EB5n z@6CuO#srLC?P_fiNwy9&g3UVZcJSdQ17BdhOm!FQc;xKFklr;>%s;xE@R z-kg>x7K^~j;S@8kZ)sgHPRn}zrLBR)cyfrw5M@LrP_ld|I#)3&Ze~`zn!>;R`+vw% z%>@?HfS2w&x4C)*qwV~Gz92N0k{*}Vinrj$e|f#~%OCz!(R+=lvpQO==Dbz$^u@{_ z-hQkFn}XYjBH?-xsrd5ffuEOO7}$p7f3apvKY87b$Qr zbH!@0cAS7dN>f!=B%Zq!B|K@v+ILz0Ycct?7|t9mE4WLK|B%ML!+q6yQRH?T$K#6W z&6n%>FsAUSIo(C4nG{7`%l#un}#z002M$NklrfY*~;%@0O+h4wPq=RQJL-3X7`q8%f`5rPa6Mb z?+$;9jml6~s-a(Qc3Zeu{pmQR zDqQ#>Tz*+=zoQafcz9S|; z!3sOe5`B`QHybafD4bMN$~r~wT&}X@bx2YCy|_kGhP#f}MPmc^93I&{$D)BdJ>xn7 z%-Xmq27VYV;-C7|P9M$YEcU8A=CbD;K7TgjWcg27(%iG>626UpJ9=cbNIC;|{L3@^ zZJg$h-zixe-e#@iHQ-?Dwfo9vI{nWFocQ%?iJ@83W$f<#>(@gbhVTCR7(9y>AAWln zpKNV^6A9|mAD%ZE$MLmTX1p-?Wl&v5>wcfiPU0$oH-ZoEP4a3|5^{DgLJCvq0}sZG zv$?L;oWXaUGz}+4QlVuNN&x1LoBQ_-{IgG}wX)$gMPLlWKf}a>+}b~hSlMP=VgL=m zTTMpcI*Ghp{hY?D2%3ML77{JQK>IER3YiJHu5OWX>t!Jw#(*u7z_E-(0~jRgdDkTX za4*v2Mk@&s>~(h$AwXI?%pa%0Zl*O8JhQz~$ca(e&Pi6Jf@iU)DErO)HvPmmg)dbV`7VXT+AXs)^@ zeQD)sf&Gm-DO}|y%L`atp&GeT&|@yQeW$>m_IBAEE)tv)P=3y8v75%%n2fF)X(ML| zP;t~Wg2q#~kLL39_R-3l1jkita+Mpjy%%yB<`%2=aA&=iZ{QfLWKI6Aa*W^o?f)>= z`(1=;&9$DpDdr|INUI|RvYsokRTzBvRJp{*w{?{H!_T!lJD+&kqpacW?)N@{@=tY} z`D43Ql*2O&2Lr%_Gu*}svi6jdmN2W|eu8@|fA{L;O7_LdTAfZdvtVAOkq6wg(N8%x zvI;_e?dCqDoqkNH>2`FG^)GgqVC7=gVBt35T78?)NWVWi{6` zH5{-W3$-VZn(t)D^&E=KG=9#7f0l>gQ!vvlMQlzQINXa0hR}zC2am(%2zy~p@LD|W za^-n$IAfK~cNMeWCfLIXZt?Y=Z#vxRvSrWUbmI_*hKqU&PaDS0rHDGv2TMU#H_k@D zUSsA%6S>wW5hP#-&x7Jx@6T#H-@Oh>5E{nR{bho3U(>bmgX?gd0G(Ix+sLYt&3h)! z-I(wLF3jg8Bk4}^u{ic|`1UX!c>my<9Qy4V_a!_Z1czEju(5e>ddLWjr@7c!F08E& zAGm23FV2)_#P@DeKn@%C;}lo1|5J@VqM0q*fhBPEf`j+jLaAgx%Ck*>$JHIa&VHwj zjj&@;?l=Cm;CRxSa+fN%&|OC;X*XOO!y;Zgyak-Ydoeq!i3j6Fn6;Sr#NoQP`BE6U zyzQ^)FlU0>eEWai=ZF5W1`jVv{Bq7B1U=W`yJf8wd?G-6x8T~GGQTg^I)}T{SmU+f znfNrpCK;6cIzJO>^wmcGrvikVXk#<+D7kUu>ESh{u_bVc-=bsBOK*> z%vifG{EPW?RXj%-T7RvEM-JgK&tcTLw{5lpVB;XH8z35Q{FIp6p5qxCOZESvflFSH zt#p%Vd&R_MLN@_Ko7iY^)ZCPrMHu$*3F0P*!~wSwoa)(b`z+@6Iff)TLV3aCkbVG^ z`+~;Da&v4ppswz7=6DkQA~RZBqMh6T>j7=HM{2UyY2q~KJuw9fKnMqT2me3IPawHr zP71tQAk2$pIx)xycs3*rk*pJ7j$jWcfZ!NrV?7dpn6mhZWEL@(odh4iUKDS_^f1ra z`bHqTOFDC46#5Jy8`&NBu}DJN)}>ctZan)D)_HCw<1TPD@1J#&h%wm$NW7FwW36XG zIOpwFB>bd!+S@EpjO)kxD}K(Z8%;Q7DW)ZU&~is0QuWi`b16P9q2r{UpW0__maxL9 z^ry-sNT5&cY@tW%?8Vl)T$MO+Q(R54H(`$;Kcu95PT2i@{WKrHs)u7*??plJo7RJy zW-VALI;Q{_3-^;+#MOlAn_u3~t`x_`(_Z8be_TS)Uh4wE-=5s9yl&6J55}H5mQZ0q zYgUed#4Z{^>X!9P5afiKq?K>8#P4eLR`aWA61|g2y-~}j&-MR&f3#Q&*LeWmr^wVW zYvozE{JgldR$>>q7p-5A35RRnb(pKEaldaT32^37U`ah|u})h%7I0M2d~@r?>^@9q znv$gK@-ChngL}+#&>C;IR!TMOW`CCU%hF=WCtb5r)>eM=P1%aNu(Xz`Ninuuls%7Y z5X!7_N%kCg8N19YQoFNCP~POGK1sM?ewY&)c3>9$JFj63zxpg$YKhrEzpRUtNLI8R zNw#x~zYoq0JEl{tS|Ur&+_DF0>oPlHgnv5TIAkMx)>Vu|om`6)sx8(qr8Kmfb(fty zojtnd`fVFb#|O|XMt{&69UW(Nzx$BuFDpANCA4;;BWsL-pTe2uAIZ)0juSxQaIa5`M-wG~M_JD*ZdX<6B~TVzIyd{+nF2wqxtu_!C#{c>;>p zNkah5G%ll2iZs{clt_dJgfe9a!^d_4i7)dZi~LH!Im7Qr;?Bkb9Rw|Q z&QJ@vI&GMH>!|N69v=3^i|_FH;5~JQlOEp}YgtW5akmUQer^db^V>|!T9a#>8wDq&CjeZ3a6# zPV^j>U}%-*UOXq_W|i1_g&rdY7MQ1t%Z9qheiM}E`oPp^pcdj&M12s4SWf|fSjN|* zI)Yzgj7ufZYhjj^!d;ZqpZK5>3|gMu1@=o)N_U7sW-*o=VD4I82|mAV6WX)fOW?Sd z2CnW&Kv}m68^9jDeYwuOSe zjaOrY)8d8ivQkfa7rV5Pu!iCH?OVAtE?)#j)1Hh+n{J-QoM@II!@$n=Uw09>`8?l` z(X?u>l^2v0B(`>19PcLFdfadCVtU-BUxmLf)BfS% z(+F6B_mh+oIC5D0@zpoantx0;L3mPte^aI~?}xbt`&?!rN=@OL}sBxX7tty>h zSxTxKh8Qg??NExb`-OQ^s;8JaoK~i=Rty%-6GFSi+Sb}nlZQe9J6ELpaIbDe&jjzM zJP-<^#e)3i<$5)k){elI40C;YU(BzD@ChUW1fzui!-pFGg8*0<^&(^l3dguoTMN5s zaGi=HZkOP3m9l{$?etw&jKBh4%dwThEq3>@XYZF${QSj>*+T2xQM;0K%|xqtg^;4+_Mke%@?27+5r{|84 z>=dHhINF}CL0b$&*$pP%&~FOEA&QKyrL7J5n*hp!S&NzPq;=cr7{XH;OFo;Jf+r&| zZWoQL$!+eYwNjV4B&Y7M_ZtkUmw`JVjy|U{8WGQFLTQ9i0&APFFxY@Q8l*W!(7=F* zXsBv=bcxxB0Wv=U+xQ5$OEpD+lBRc;&l((E4RD0XTF)G$3Q1`0v>o?y;(BxC%9<-W zAMxqkNi#kzHYOp%Yb|R-xAyg1a)jeruAj>mZel*og;hY~+}ah75XUK|RramSP`yPp z^QBPyT&Crt_G~+h87p+(Dk0^%XDYr%B!~4KmF|sDAs%bTwm02=toY+x)4Me!*Ob@> zr-8IYmb#$yqD4tgIBUN5jq@O)JuFcFECHftmK7c6bfVlKxa)_Hn%4xEM zTSME2!Nv8)wnqzyAi&#tAPD>CJ^CJPy={J{DGQt7KuY}_cG@5m zDP&4WHdCl}!-1VLS-BS9%A(HghNv+cjVPXH9o**1{o$MEWs=Goj$jEA2?dR7_H#=> zX()V|5_KD04NQuwvJ5}uQX~*B5L4JXmf>?Wmmt*lD(TimHxa&F!+ zv=eMFV@&;X3ez4Xq(dB3*5+4V6=#h9KdRJYqxCroSI~T-BUq>(Yx7%mmjwvU36Ah| zo)v9)4hHOemfFyK_~A3bNtk%H&(7stL8m^ysNd*Lyv*N@!@3E5s44tK{eO*>$Lpqs z0=!#dSCk1&M((-?CMlNgUe4wD2(m+~nq{1eb5e3rR+sKHDRgBKpN0Pt4Jo82tKtC;9wPRxz&G;7X|Brh{W4+z6g{Vif!3`Uhc&U-o}W{M0~_ zbJ220R}xlRWz`|)F3a$i_1#@Uran7K0!?rI#{kg^(ZO5O#q->TnwO)0`u{4=jAKrV zXRsgf4F9=H0-(3}T<~Aqr~U0b*UuR#Vcn3CHrb@DON-Mltv!=^0m2eTO9f6VYvD>X z;gg*@lTO8KDVMZZ^*1+LSy0_@FW1mz1g1j=p>SR-z}7(1_pkvD(&UySa144U_e^@z8Xr>+~gmN22+_bl| zvhXfq6q1a@mX@v~!J`C>l|~(IuHxm7FSK{=IscUm?>Ah`y3}2WetPzZA#NsFg~rZ zz};ibr`*?zw{s?(d>0oi)Tl`w{96Ug%CjS(BEI znC+K0U1!RwJPEHbB7%+U6K*d|sZ-G==Hs8v@!z~RXZ4~DXc*<-u()-Ksm!^J*1q(T zQK+uc=-2!0DwyhUbDUyDF!IbiSXU2%NTL;ZD)`2D;h^=xjL{!v@7zx*8+-8so8Iz7 zym0d%p)^S!*d=uwi~9#F+4;uKD#hDd##uK?hU{SD7W;fS zjFke=CF5~{gS(Yf`Chv_?|6oHFKf$9e4TPhDYy(jJ@4T)H=0Mnl|^8}k>&SA7{WPl z`m+#(Ni#>*VnU;_vU+{zCFTeoiv`(~XS~ks%XnfK6)2Zyjq7t@oH3LDosK;5d(X7n zkn=IA@Wr&53WhR za4sfsgYoMI7(1i0ytqUSS^%D_=q`qK*S%>twpj|TT1XjNxmePqXyAxm(uvp|q?HID zyKf`pKt$^W`60?(^(#8v7@t@MY;!N0tM+LS4O2z1(-)Ms6~WQm?SJ?{M1F@@+@Cu! z=;N}(I-`XTnR||G%-P{S;yh6+?P6LJTAfJ==0l^^%4%YN+6I^%e}Q3LP#RAXhW1? zBv;GhNfDQ|8_Y`t4+M>EkE4ioOWL+;c3j{e;EScFy=zZ0}w1w(HEG zm#<>lA9ANwTz(mcdJ^;bzSQ_VZene?ioN6ki&>ZYU*;tu+OEb@d}MZ1Xbe{|t9QS= zTlwX+5}odqaJ!8OiZfqiG5o3fzqd(lLdkmSjIxz`@uqv*(Oq4o7|nI~B%ZlnImXj* zZ{>~*=WZg-(};7oYo*b%nm2QkUKYC%+uPiFIpf_O9@F?LanSK4Q54~ZFRkxsIH62v zEqJYF{gy&hiAKs1)M=5Wc#kLV04gX#|B-inJzu#mLNa8un z3d5Ao5^fCLXSVR+MhpJO#@+bgmB#DcCZSl|wR7Ps;+&@HS?1z)=#OCTY4O>Z2ZjyV z`etDm{>EQ1mE~QVG*?gzmqzeWSoa?Tv-w?iPfZcAgWWm>MM)>4W@EHM`VB3jTJWG-IrP@h+ zL1NHx?$SU}_#&&RHQCRi#MmF|1$kNEnOa)-gii4+W3b1e&krs}+z+V!Z7NkC$`x5@ejPq{ibV9?>sXXt;Osz z(RCl+znwAKxcG5nI!jPe(nb;P{V;d?@C5=iW^R4Pn*G9etP{AiB6m|lWrv!dkdV1? zu`az|b)jl5@U->y?lnnt!EU<1xI5wT<#_meaKuUlY~Q)R_lMZv7zx4Int}JP&v`g+ zzHi+fc-2E+Nb_GMTDR!w`!Dbii?OLtTlCP>&(s4iZZ*jSq(q_BeoLo?&5;}YT4xeVE9{ugQ1=UWNDn4H80E+dEu(aiC4E~yc?U9a}& zqHCYM_-cw)k8&ldH{1=eEYeOwoe)X?O3ubUV%9%jy%{T6y%1mdR#q5-l!Z6e%x3Y- z3MIsS?yEPuOE7P2Brp=(KY#vEETLz_>@|Ddh?%}>dzrO%SHB7tip1Za{{$q~mN zKdroN(IMzb2`Jwld{b>)F+NsrjAO5conX6D>ZWE2e{2gI{W!Oa6YhWeT@4>Y(BhZe zYA1L9r8R#)S!{Z@5*qh0IZdFIGyGWFwSW03w@_~MS23YC@86UKTc@0?qoWA^Lwovt zyscI(zPa6c8w0Cy5-@UCQI?LthLXlS;14oDKpcy3 z?2qV-$j`Jafv1m^drY(X>QL7cV&}Q2V&4h%6pqHY)4d+2*=z=D4Y{>de3X~x<|!RJ zMuFLecQy%@S-G2=`j=mRNk|{JHf0-!)A8tjmyub*9XJ*bgTqG&#cOoeT#r*$){FZ! z;M}0O%(Lq4mO_x6SDR`}rQK-fX>skl_|WUOf66-hoDwI0q4;$|mIvfKSlr(7Bqe}T zZtQ<(`zJ1641E&#@|oxOSou(kL&;DYTHsGC%IoOhZSm{#`*+14pX6yE+;8f{lyL2? z8qc%n?u)f@(Unx1&|3_G%V4n8UWz;6Qd}m*Pq|Z>q6uzESd4+&JZk${v9(A@;Yty2 z92X_&C{@x0D1P2~UB7X)^151S+KbkMJ9u7RH8h|p!D$3+vvHds>)YJdlf$spm^1|- ztkH~wIOR=*tc{=V<1=Ht#AOpP@zn%C_#fhq;F~;&kktJmrCv+?m7sG_R#|46n{eq5 zKTkGDR3R{wwh^FrB{`A}cHSU-MltNK2XBIm={1UC@RKntwlBWE5%0R)`liyaqqH;L zg%lzsDV|4wGiZ__=WT5^G}rfVTzF~5xRzVpP=gr^J|*DOdjE_o1<*b){LPSatzvd= zL+&(nWPq{OgSgoY08w&h?i|!#@GwEueJ*-P$+16K2?PV@=0~{?>}A z!8G6yr5J^FX}U}hX0poeHfaq^_Wo{RSr1|@4w;)0BJY9G^dxfazUO8wT) zG!%--R?J;d_GKWCqlJ7~QgygN$YAw%l~l-v%pd545w`KPIW{wUCb=ZSV7(vbhWhmG z{mSu&m_g5cy7y#duW|zSG0#w}tYX=-7{Q{ITEn45KlZ=xaSiw<_8|G=X-dsjuse@Y zB^O6Hu6LhQk--!AB8K}Zm?;%l&z*ePPh#L3)dI%v(x!{YW(}QXvDvhkwN4n=t5P=T zR>~NB&?fh)Y_$9qqiES5j>gPgCLYLTf7n{xBag?TRpl|oWzS2T5o21f8T+Gf0Fz=t^006cNyPeC=Iv3tdK{JEdZEOi`(gC47QhMD z7gyEt_k7it%RB0G>=t)J%hL9_(6&WCcAPqVIW&`()APYLI}zZ#Q8B5 zxdJU~I1UEUf7T-bCOJTXJ_~kSrDY7!*a;Q~#%VKJHLB==RdkR*a1SL8^Sl_CH5N}a zCl;PK+S}Kk+M}`t>IsDp@0U%w{m$}HGb~#jll|_y?^_dLmgDB|bk@jTq4)+N$g-Sk z!g1FV7}nSK*Uf(!UvBKI)+ZI@bA{q(#&jG0ZMDt{^o4!kI3A>&3$BSFN{o^)22LNc zJe5Z2MLWu7+1P3BPxhU@VUvF(R; zczPjU_IgrT6~U#E|KoUtezO}1Sg|r8o5`|lT&$)qa&FeeKZFWAnfEV08pp3+e?IxI z{&*0YBYe7cajUlG2~e;_z=5yteHUTG;}fy-EafCZ1Wq9Oz+trp8S5pBHPPU}OR&fx zN`paa0Fi_bx4LKi!Sk0SpA>Vy6NYoLbDcBXqw^UC#u9EDQ@_nF8Yx`Hs^9k9v$5FL z>n?>yt_K)wU}WRojJ?RD9d%8-&wOT#Q?w|R_!E!$x; zTzl$CCl~AZ6e7`RwqhD;k02QrpR{#Sd^2Hcfyrrm^3f7Jdw|$2S&v+sl0n3SxL6xZ zV*_|*{Sr7=RKHbMj9?uwX!B`}0UCk~8U)lybN#E6DH~&Dy+1xX%*2zO_B(9L>36bB|k>^DM@k844YGd7QO>Dn4 z2^O7y5(C)|b}wQEr$4_P3tC+1s<~^|rhn>Y-VDs*ETTok<555={jEh`STb(3`*3tM z#;uNSJ($57ZOAaYQN|Kj2Z!zR7$Z&!j$qLULB^myw3L9IM+ALLw0pexs=CM+yG}yd zQfcI_pDgOVDmHhWC92q4J?}}3{ik0()V1b%<@K8yF67}r-sp>Bg--4h!eHh2^41^o zahQd_WIm$|P1(`0d!Q3;{IkXf599cKCxJoirq6xi_FPX8#nwl;!|=z2)UOmpO|YCzgzj?>#xF#w<~YLH?7)iDR$L3#vPn+ zB48;!GRZ02dzC-f_Djn|xH8_B=+$rj{^9%It{gm0aroF;MWY0=-nU0(O^?MWc`cZ5 zvtrVO7h(A7)vJNsYTl#k@)M4;(pfXgA3hcGzzcR$)G=NB2~W^OW0>&ZW!xz(5!ZA7 z)4~`>#rN&(v60fNZ>Wux@2fMV+_OCJlbb9Nv_S}3>!sm%3QqTDGz8lICI~ggI4}9` zt9W1ZorSs{&ayhe-|jE?F525K<5i10Ard7#?+e>lLp+QnH7-aT-~V6cz>;G55!k+a zIDRb%|AJc&IM%rjC-y$~YMr^uM@b_TSblwus(N`gJKOc>pl8k)#+K{caIN(UGAT=` z<6YO}qvsU;GPJqPW6NDL7xnw{^uFp|U&fTMlQ~P)swMQyd4BK|tBl!YY@;Au;q0M6ef5LfzO;Xe#}Gh_^fry}IQR`?b1d2^Tj7}x4mA$kl5ZoSXKRIg}0CykL{ zc$GzyKDF}u-~T?V=2`d7Og#CRR$9??>#-ICAEF7VZCfOvi2pZu)^SMuJlO5KK*dWI=}D*J;d`%|n@wk_*;x+^u`k^2LT@zTp%clAX8Io2Hy~ zjvY!y8_xnrryXG;j38D^a}_Vuv1uzS%lbFW=~grQPmZ=*on;m@H^|1$b;?lPg?c`v zjv(Vbu#1L03ugzEgy=07SBm}Hl8kg_d7m=&uI@Y+;k$N#tHBsvz;BG~;do$NK)2xj z^2;<=k2xzRn0dCg!*ruT>m0`({02YePwEE)NB3wh(f+=ePk=p-Fx_|PJ=`EHa5kPI z40<8 z)92gV{eBbMR7Xo(kA)Wp9p-Mf<{$hd0aBRES@?r@j*EA$cW=f~Fd7BCYl;nL1p#QT zK{Z$6EFO;d3sA&AJ)}vtXz4r&$(U<`Y_z8)EdwkiWgZ|w2J=p79#?{PSQhIf*JHQn z-U}gJHW8Z5-aa6j{K9bf_YX=c+0P%|oni>A*6NmGA~cSZkgM?ZSTYd8SnZwxz%$*D zhNM3a0Z&6B*=r-%0Jj+4Fu<%f?V@z#SQ-fT`~ZP?&a%dWWzUW=V-T~_-E#n!1`<^T2z8i%+t0* z(y;dn*zXj7u&oi-ycTUzqPf-H7KgZ`;djndq+u5VML|1W&@^Dj(uWwM}e;1+j}6CFtH4&s4JTpS%ByufJRQkKcYfiB90Y6?~Pp zc(IUYbJ5n7d-%LDpOk>}=9f<^KmODWc?+4W5U{hJ&Ac)Cmms4<+_?$ z)iMUp(pWXN#$?x&)z2@7^@;s$=_(O2Etru6~O|e1yBcdxF7j9nV zG?HmLE&LS+EPN6?e){RB*00i=Z(dHhktC}Rxg-hJ=TDzChLnJ6W9_kNeT@B8)<3}| zL@_iK?u}q+Y}@e$ouwo$p&!f-UP!8YQe%hbQ_os5)n>)(;SLXudx4z<6_y$$Q)p=Z zHuaQmy*_PzOktlUB;B{6bzN%;xq=nTN^8c`6o0UOQZHcfzIX3hzs5x1YVUTQ0Mo>P zu+@} zA0_uFe|rcQEqF0#G2`}^8T}eZeCND}m(PCxLW(}lZwq!Uzxn-PO(yOJKbJFGig2O% z$_IgxU?;(*n>6o~ziWMgdl7gtJ@Y{njGNyRYr#D$xOrW3XU-9P=nG<-okz(+==QCp zn8ww;BAd3utQxby@S@L{AGJ!vG_(jx2a{)q+i(*+I${otUnmG|RCn+W$+lk`G54Bj7!a|ZH=t8nDK6wnHbVEiVjcivnZ}g>{5_E zZvJqFg{3uDdSd7&0SKYj2lUx~iCHN|(avfFd|Q1KCMo`eu`T=QMITw(V(IbpmG{As zi*aJ&2p+Q-YzaP%$uSIT{#uwDGI(He7%D4vquBCx>rKF1L|cTR-%z=Pu+tbUi&)%O z_NTw~Ze$g4$%6GwaMDt77+k`27-2%sy~aw6v0%zzDw&1SF&iC+=(-7=p^NbMKm6N& zGa-Qw_0c^KU*5cbSIqC*gwH{Bs6RK?r5pg~6F1kx7a!1t1|m}!!9c8CPC!47!ozyp zse=2e7H#{{$IBPb=lQ4Mv|NU96?Wz0+@?)_T&0vr?fE3s;4S8{A*(bVvl|a<Z`a*I8&4~VA`s6aUdouOLb!IQxo&fjNIjRN5KdTKQ+U1nE|Jb56!V~fxI6f4OcUU=yY(~+u0t7_V+n_(J8c+$Py9I!oPj2A88CH7pG(fy*ckfnpSgMrH|{q zcNVefgh6|}x>4fMbF)(I^e$oPtml1-aCGpwO2ZbnJIt!t>K!%8eTFE*1_n>>wF~?|c{jNK$!O0lX~Ai-<@d z;XW6UG;K;2fh8_LC`yJpOKW7cO3Kn3W-r9F)z(#($Z3CzpRsQ5`fg`GC8FyaWyILb z8sB-sh^4mGdabK3Yi@H*@k8HRPf1ud-8~iSV7)fS&EmylA%#DCW#`KHJ&8#vop{!k zP5Xyj=+RbtJc@GDI~r+(83>HTbXQkZ%7_fD`G4!A_tXrAI8~k=?taAHYcH*~ zx>*9q-hC8Wr5HQCwBy@}*>bTtSUg?OwbrM-AQK+z!CMw}k8eHd$C)saDXL7txwDlM zS7Yb@tegRy!%J~*iZmCW80n`^ACOYxjh|=$@gnP~v55IP2xpd*Ytfz;fk6NtoSX5w3z#wh3Eu`->gYXgBe_CUk3HnE#C3+~>dE<)S$7l}VrpoFPQR6wffZPB32w1nMz8Xu0S}f66q((Uw|@ z`8|w=sN>EI;Ws0g;?wyF8$`%Kz=`2(#*F#mxe}x;%V49K0*Z_@yIrU?G(qij2nhc4 z+YtFOU%L{J?fWG|ku}JjqqUP7oC)T4Pnw9jAXe*b79PP0Y3%wfN#G%dy`M%5;e*{+ zU-k;Tai7jTY{!AA`-(}hqs8-Xa$5nQYm_SJc`DWWCRh<*I_fJsVcGcnSV8(t<6y;3 zJ){K=9Dc`K6^YWmx7)i=lWh#Zy^r)x%#~o{*^P+!G2wHOcKFAii$$hTJeH#U-F^uP zJH;HE3+8VfEcjt@Kv{C7^NeefAbgSrd{_sV+X&xoA6ylP=`MnNs6^vQ#r0p+(I)+N zZ8rhD@#%i;U;p{<*8c5(_ithZty}XT0OQDwy|`oRbC~t3vG-YSXqMqk%Fw6cEjxL!8ZkcQHWR4X<2AP4c0KfG+tc1ZfVBENu2?TqTNqV?T zvD!+Df1=%5680=NE!U*=Wf84sC0^AQ>~pRx=jH$%B4WK^{t#cnNHc5hbu|i}CowYO z-m{lG7@S`g8=`go>eZ{P zk`%IG87YnZrJ;9OC~MaVJ;^i<1nd|lAN^fiz3Vv%F>?yfgfCjMKOL*{2YLGzi91%z zim*CJiNx3^Q3%eXmFV}eHKswMsR%G7Z;2VY9`lwzK$ssir~Q&MFx<;bRxWqz<`|b; zN>cJap_Nq|W8ZHpEW5hEMa?I)GrTGeCq_rn2yL2IF35Pn>k_km_~G|?NRER+>(PC! z^WkBMZ-jGra$Y=KMy5W+qd3KSK7IJuOvAk_PlAxuEZh3K@4lO4oZ}K`tOX&iHqj;l z1UVc-*WS&CMaVTN=|{=L^>qpm0h09|x5!1w09c-D*B*^C%qc_~Ax*h3=DidmouqX2 zk-#xYgDIRx(Z|O>R!$T=H^b$qc7&n0=DDq|@NSy&9E&w)+`LTCOF78I-@<$07#ZnZ z(KYeUetXg0s2@Kqan$qN|3{UH$ke>OEfcpnPK&%>;Dqm1uP+as&;ItkV}(0^!mTgA z`TYxe&UyYB_%(dvF%QC!vSIBQQ|OSu!8%OA^pC2VanmvE(dRmtHu_oM@vQ9QWtsVZif3da`6YD0ee}XV;{*M25^ZP^pEJSZddq+X?BUxY^e zZbl0mEs-|IzZhJ>;5-XpFMsB*zInR#XKz~5YEnztX)7k%QgzP~E^cc0`!uCtr}bow zBgi0;>-WhJ%loZr9glxr`}Sqcu_HXLQ0u9Nlv>AAA#q7I%wt=D=%|zTK71>=qrLXd z%52-IPL;*nh|)@KDkFW@RvW4%KF-`G?%HOB1XcSlRHog3HVo6y|n4 zeEn*)dhWGG5pZ=$fv_!Z+GD&s4T(VO6+@Wf(b+mdeTRTF~LJ{dsK)O=Y9MD)WGGzBdyyqd>VeTld$-tb}9OI68yEP=)Yf)*P zkfU2<(6Z)2TtbT#*?g}Xzih-O30N?bWR#vW{YPmki1;8uxY{dC4?|n-3^MgR9rKHP z1&hWSj(|f?o7a5{b}pl~wNt(!iRP^5ZKa)38n~Xf)6Nf{x5y!T(C@?$wDZ9DngUaD z##IW;Nwtli%j89fHy_&xJ_ev*_+{3>|MIVXSGH;G*kDi3r~O+`k!4!pc7%A-!hSeD z?{zg6;YqH&r)jJ^)u3Lb;Dpbk;c-1Y#=N9|e+)M+`hB(*3g4_2P0+Do?ilWyTut95 zjMbiPTxBU412=v!zlQA*F`bAum~cU=TYZwUCTQNOOmcLSp>+Y~^I?inQ|E%`Ak&ac8n9+z%|Q3HQH*3(d+W3$*oC4=0XI zH}G8NuGVRG-wB@xAu#j2qsol9ap4oXb$|STfN}j*3YsJlVV~K%H6`~d7pQygh2xK< zi?Wutst2YdF$hjmWZWP3Shh_1M_h3oey|9@2H9B-->=3wUwrvzb?)kSWBTP`erRNM z?drVM=k0j&B$Ey5{v&M)ZDJ63}o{l)-hIpCKmt&&@zm1fqBy|fAU3*6TpV30u z{;Z%D5Cdxg5U*Z?ZiGoYOq4LOqW~XnW2jR=6AA%6HXWwL3>h25afoRlx45A~8h{g= z-sg5}5*GAsY5)L007*naR2MDUNkZT>_nJvR3)y9J@zHa$OuBd9GrQNjW^3H0xh*0v zi=Ro>d#;}*vn~*|8ee18{FtJl^9FZYph+kibBi~@*;3sb3oZD9i=>6q0ob`d zZUdC2$@(Lzw}Tu9+_!NSNhpXIewAzLG-07;N4p_4O5=j!3h4Q|U2MdRXvfdXlq6VXJhF!Eaj37P z&3Zd4xVK~d`**p3z>r;4caJjn_UkHh7PEWUd{R8|Go!!ljfxvK@2j4tZfy6(PFZi- z6{V5o1|>*j3ewJZ6R28>iHAt}|8RD<_WQThceRtfY~js~nq3z!{7strb>|xTnTKSt z&AxcSRqfuSR5zz(<$?{m?*jz@jGy<6bd=G2C9GU0_^v4dWx;;x^K%>N76;vo!Ex=| zBQtazja$ZJ9B*C{Tx3hyisxzWV%~`Dwyn}15i`1KY!nwID?zGt568{CHQQ}|a8lUd zf|7@hFv8APt4UxDky_XO(t=RKasq9=b^Xg{zirMXi)B43>_Cc}zHZ~^ z!y1L`#N$4F%0la436G#AXuj|Q-BoNHpve9SH)-P#-xJ?GWqHNs*eUp^`QcS8Jn-A^ zJKc2fl*xo|ohYfFYzW=l7eR#nQ;5Syu|&9L4l4yoyd2L(=VK8SI?{P&)g-=w4z8^5 zWhLBJLTuT}Xr}jH{NozuJJ*_ctq$M$&Eaq7I=ru5&bO}Otlc5lgh=Rv#auIsyFx(d zJ;okiPNAU15;PrPrgaZ$p|mxM@!a`^z?@_|R&C*l8E4PsXM z5YEPtEW-v9@8tbZ5`bTrXN6OnQGJ~mGs@MXy{V{8k=>N|=# z?c_QlsH^DTf$r8#%)E}*%B!xP(G{(;{tjl(`I6p0e^i;7kp^)pYzHzbz?FIO%u`!VB zHvdq}_M?o}lApM`17n1~%oTG6A8QXD2n@q|8uz0-95+xkn=np;f&JirmT-TgV-71f ze7elawha)fdB~kbo4-!zS}#q-x!|VGHKt-6FtE*HerMs}P0TClz4n-UkM%BbOw!M# z(ux@LUS$@D@8yp4IXI0Qt>b7%blns{H@{!@_Z2g3rdpYTF#> zJS3U*hKH?eZrGsP^SOdqQb)zkE&XKf4#!9!u>SHCVcxtbtTvraX!hF)p3mIR&6@xd zu27$Rn9`@UnK&O|g?+OYv|HS)fx~vK`IJn_nniaMKYI|eZZ1=-Sa45L5?{1?%S(z( zWelGSF(`D$WALAw+`&&uTH<~1pYAy)pL3n(2~n%Z@`D=OU$PGI5bv{=jfIe7m1(

b!_= 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%0Dgvr7YaW7keeONj8a6v~}k%VPy*VO(Y@ z+sOT^82$7^Y`|O<+GBB7*@gWwj6v+%!G>_XEj|5daY8#i+=dZHxl*{BxvQ^pQ6AJm zmNHz;A1q{jT1WPs63lKA$zGXKA}fjTuqG3#Bs{=-YgM zH^q3Rx^J?8TRZ5)T_>4BoaLfjyB>*%QR}U}nmS-8y9pT`Qdr~YE3)ev zZpFK`k1=v_x$}zjZ%Z_hG9( z8s(?8wn^}4%i%k^Tx%~&>oRWr=9^ZMWrNb2Uu%Dz;=p>~Ruj+BsDR~V-p2_NUJ0&G zu#h$Rsqf5LmLN<1Agg)=%ca(Q6O8EEV!S8qb(v7uZk@jV?##tH?4{8heb}Y3g#Uh;xm%#*!GZtBeeb5|2b5X{EF;Url?0nvDRx467LO|elt5o|q= zP%|&rYefmJn&;z_7&;z;=Qg1}FElF2O}I*iDEG7N;*61T0hf5rUcXKWE~KH+xbNNT zB4y#KFaUmR9S)ltB}Th4;RU-q2v2OJ_$`94ry>$45v;uMV}z59Ffa32z0i`d*CHeS z5kHN7g{zA!aSOtIImh`UsJh;NVto(2)(fZ`E6weZ>oi4xaHhZ!UcUFv`!FDiC-(SY zo}$2=YGBcT5JU^zGw~Zjmz&+FdIh@?i2XZdJHGX-es3hbH%8+dE*`G*tWF@=vzP)J z?Sar>rD@gHBU)e@iFjEtmzbRn3x2x{`0=g?xJ=VDY{WlVn@r>u#Jy#1UL_Shl-4EH z9>NNmWA*?qCNOnixiNk&_M4FJI?i*Tu1Sp`b zWc9jd>a*xP-5pwq0@%4hXl;!`a*wq0$&T$=+!L%A!d>zJeaswU`N3zg9Pe{~u!b>V z?S#|_A~x~4A?RFb&kIzm5uEzChyaq=wc)Jso%L+x4;dTd$|cCfK*hkMsc#ibzA3SQ zg$9P003j^vahJ{1Hwl3!%`LvSc30f$HbjHh*FB5Hc3p{t8mGuC z1{8tB1fNBiEMzV3tmkN4qg^)d<`Pft{_ofR_CNi{wUhTfCni@AF9oD>kO(hba_w1h z5OBN*jtI<_PPIl}`!NRjnUw>38#k+J@B+cbTyhr7x{K$^z-^{$?_-o#&3CKh44JEs zCHg!`pmT?d?Fs6C%B5JZj^L?dNx0W|pC_DcM}=_2WGDi*eUi+eTgZ!WLzj=OtUgMO z?VgUB|5n0vKcW8Yi?*zlAb0g?LP`f7cu655$R?(e5F!A1N^WxH!V4O$RC)2q*C`hm z0OGSPhYmvAPu4ddZ$c)9-wWelC2iHD;65RHo^p6rrf3_#@t+@G0OoDCRQ91k&r-$Sv$1IatRTKHYKCs1uPajH`rfL zSDArF-kJtG?Z>#{#mjc!aq#gFDe-XrJmt@CmnqSo#I#cyfA_23R66l>?#=M5b+Q@o zln8V_2Dg&{+D$nVr{@`Q;41`k#E>wq;d6rWyRu((km0U8$qh@{P+!VYa3;%=kRSJ8 zpT%q^Ow(Gy4T6o(8J;!5sJVBg_H~abjWRqv6XT>*@;-sD9n=Z6-Q2b6AFskWHK|%W z68h;}UDrPyBSgayf{%(3Ak8lx=;mz?3&*BN8^x;4F%|&=9`+8!h2}fh4WLfL| zl5Ui;9p#ab4*>tWBn4k+B-%-F)MVnGJ3PFy$7jrL;>gC~neb~R2#t4yMB{R-1f}m* zulb>W7Q9?Ot$uU9?`4Dz8jPe{UE$t~@}^DaV=tZwB8f6Kc@C-$;`y!2T;#rRtYzqE zVqPr~yp&n0Q_qwlkx#*aGBGhm%h;Wlm$$h1%&GV8sl<(zWN-7M9yW=*Z z)T@qK(5Vqk0H6&g?c&1x?68wO-5{47=Yc3l}oXzeh zi%NzQjhsM$_$=z6e&Y#j?5iZbA~(N8tD79*(Y85G6BeSvJ+Ae zCR&P#M?U2yjVYXW?Z*g?JB{_R)vgpNdBrA+H70n!4&m#+Hrp9hqBu=^Pg4j!m&CLQ zF=Gli1h*=Ue!G@&Ps{8L0>P{rt$K&*%0S>_V&&{6R4TK1`+4p6|Kab}-u~SW3Eu>A z@H}fvr>zk2N#nZ9Dy~i?MIb>Mvr8Y!`Z`$qF$?;K;=3|!w?q2-1g^4$>nz;8VzW=U z6=N=XG{$$!hJ9MnMKO==ZyEG&e3fv%%X+va}`xoaJ`w7bpPMgnTRfryi{ zLMVbXTR0{mf}KZ!@(h}?t~y64Am4x8K9o4|2*TbvM=h?b?2F(zHKZ|F)~iVBc?}az zDmVC89NdmAi$9#OT$s%u{dRE86mZECy~q$D1tRO9{k6|KTqeG zu0f9}VqD&=cpEYQ_P4)X`^#T{AAP5sMC(bT7<%iFva*@QI87>|jkDH1ifU~arX3lM z1(^*nW9p*jlD8(jlfS?lv{QC4e;U>!i?cH|mH?J5YJ+6FQo%hX3M_8p0keZhc+(K)cRZ0G#7o?- zXwUq;xPO=5+{ZKUnDrDH_aU&1)Az2o1BbaBRGP)RbXB(M&= z9>%(0iBIx68MEg@a>CVp-QW29Z46%KxcWPA&u_-=<@|sAE!ptp`{lP~zGAk^0Ux~_ z;bYg%e{+u%F>{WZ2yusdOrj>f>I&y4stX(!XyYgRFLKpsHFlV`x!E&xF%bm54#5Ev-{Zd7PiRe%ch)mlMyAcD@rU&U z*z6|VcPt-@`9(1;Tl6Rnw*82hnazlyz+FuBCd9lgHC(Sx8K&P9=x%w2*dN44g9$Cj z($8)N2}9cQ%Me3v%*k|&K%30k=gvL3Y>OD$)^(qAyPZ}q_oBwg2S+i9dv%ndUe_u_ z#~e?O+cKz_*^^*+{H42%B!k_?d{O-7-QWMT_TyjwF*kMAQwcZ62{XwQd)Ml#f=gq5 zs3hWZsni>3$WSa8=Wo7U`~K*4 zV=K`DlWcAO;``r}9s4PQPbkNTB~4)zEP)qgjAFVPCOnT3@5T6U&OePl`Ly*HtGVhq znygd2>{M}+Ao#I49>o-n8VkW`!{gijK28W+rdUu&juKRlC4)5Nae-NUi6vrbmYORp zq-gABYyCqG%q6(!2a9OA`Opikoi~HGevVT)TF=rtYwa2^{{>C$;=ChLg4bOQS2nu}S z*T4FH?YDpSo4g)MW77X$Je`h8`f2WlcQ0PPUVB$&?ez8Rcb*mVBorjny)WZ-tzN5N zzy5aZ?ax0XFxz>u#t&S8#zViRth|U$S+wd}Sn|RPGluSCf5K(s=>$X`oy};+dI-aC zPi}@|dyUoF>QU-Cg7w*pntI0@36aBor8L1yyPm*HVS^{}kL~F5E;@A2nBn~98XgI? zjd+S(i&nzOyY<8;@u$0J#>U%(p?lz?tWf)$%C0rf?|=2Hg!^%&ChEZTIzAc8kT9Ix zAA*N$Sy}Gl-tsoMM#Z?p*10E`5`Yfxo?{H~$K0n;N!Kp|Dm*7lI*e(4>pa3_b*$wAmCcu<+^U2T|D<&73#a5hs^s!{fO~ha7&uF ztVwXEhI1*NkCUZpdpTs`j@~k)4!TYkj_sY&_w7lT zMFWYKbn<{5hV16z*!yBC<1s8QrmLMP_7i4YlAmLizyJK>xLy#rVr+yexW4rTxgX0K zJO-quGIRsyOLh66IdHr$sg-j^F9Wz2j`2%@mTF4_pbuf z!}fgKZEZf=@gh6^pmKcYpkG?P*?tXDs+?)v88l9=6G8+n&}`EmkI5c(c?s zX+8J9{qV7void1GQ-ovz@x9IVA8hwL8vHRwY6!gE`af&U{=7Q0R|&awgd4G(p1mJ; z@$;-hDA)sw-NX>G>b@?4X1~1xQxDc&W_@pzwR&2e=)0JM*wKE^x{N6>(CDXIOwSZ9 zyB$!vCf1rpbM?8M3$j*^a-FL`Yc<*%E@o0Ed$?!!bM%3r9y=Zo3#P~ECK3x0s^QW~>Km6D|Z^O;pdX=aA z;fGIafBlCKYd=wpT2F4dt?-L$y9YE5gc{T8-Dh};$KI}Iorbp*49p#!k4v|;=2pCm z$xy&{!!O0~kA2<>u1|7TYM_1n7_5rb-6rTy%U06Uk_Gsr-BdPGIvxGU}-+uG!vVa#QNe$vw z$~gvWEQA>xIY|l7(omCse90DRtlpQ;_oJ@_`C(p;zSjtZn_BXYkj)LZdtrd<>R@?X z79pEQDi|Loiy-N(~@{P06+T$!51QrDx=^OOnk{he{Sra*^Rlr~`{J$m;Vm-R7z zJ8B#pq@+Hp*>sG3yRZ<({FtIE8}!|~8WWV$z}wXh3axuF^t=j6KUmqk3YTSG+MQ)L zd_Rfyl(OBVecxQCr1hNhi}oIE?eWIJog{*!t*M0!XVMuGBq^wHCtRNl^Jp&&99Z)t zjPQVyoxi-IqxpUbd-0U$vPDT0av4I6SZAk=e)HYRvR&ftgl{}NUUJ{K^pU>3`njxh zu$TFor=l3>P3v@V`-gZ|O;^g^CfKYmMfon5x{VsnFMsa*PZHf;XlqAiT; zFN7YmJgtTlwdfcPrZJK_WabLNS$lLH`|ALa7DLl<{s3@5kH3?A+U}|EB6o!@8{8SR zR={-hi0-u*%{~~~D2aSgIM1X5G#fo61J{-@C zNFycxItKEQJI2~AgKrJ{(5NBn_?COF@)C-OG0-9>l{mp`>mQcylZrqg*I2Jv?gTo^ zai`aA$aA=pb;^yGhU{V7Y%<4aG8zHv97M2svw9+w z^@#qe@&B>iyw@+XBwE}z5fqD!06J%7mac5OtFK-^Pd??6$--v=-Lf3Va;*j}BDIsp zc}Qq4z$Xa$RtU|A!J^KCk`VKm5G*<4>Ok1~=8^oPxc+sjbGhrM|yN zu~ByLQ-TYl`0mX&DOy`=|NH;-f5t@8KqCkVEtvO$L$u74hv=`3d?H?Pj5>Un2_ZPuw%UQ;k^#>%r+R>rD$knmd;|R~t9Djw+YIGrehq8`q?n+qq9*ZVaL{?VbzAz? zG1_n+78+YD%3pp5?M-j_xBX*D#r+7Y=l@-+z*7VvR8`t@J3o${AQjhmV~f z952eMJ}oxA6~SnyhrW;wcjiv_ze>1@A=_JVyG&}z(z9H(m+g1Ak=1yXz;=yVJhhgZ zAt(`fk-(%L%?>cZ)Yv5J;Vt5oRg?dx|hMvIk5eP&|oXzGt zAza`RUFeE(Xg^K&*a>m*{Z_W?oE0xgpx*XfoBJ+iB*1w9iwA%JbY;GCdpJz?u$WhO zZQub9ee}R<(u(pgPu zR=R3r2KLEci*u?an+D^+ z)ivUTj;0dMN+Q5h=t;q#`Oe>c9!?b#JHXLHWEwRKlWY$Zo!h-T?;z`zHjBacfUyQ= z@eo+^yQ|T)eIaQ~Vp{z<3v*#7_pBB$SNGY-@4m0oGkKmPM z%AL_R9+e`ru5H@7pJ3YR9PaiePir@Umnxjuc9D5 z2G0|rF~iF~zBr6=M}W66K(&r9N}ds`WKA{u@HyOu6ur)4c~3*j%gy80~MLfB4CSmWc?cVKX0g0>!GCOjtK#L6yOgJC`~ zf{mwT&!+gCmnqDRD5*sQiQQl+PWIUQXD-0zd{ibb8o@+q>EfWXS#~sID>Y>dv~@Ac zllD10&h;+&go1UHd;T}S{-*MWH{nBh1q4YR1e*t|tJK<$KoG||Xg&6`I^UnXub%iU z55Tw0sntj*vrOO#Mt7b&`#uX{>Q9@mvFWO!xiy7`x8zBUAShec#ntv=tgowOoY-!3 zqj5S{;1 z?3^*%c*QAfAZ%?g@tcI%Lkb&(ACHEk1kifrNMd=z2YbeJ-`(G_dSAIzedpZO_dYw;8^h!>G>75Cts#Ep zZ#-TPXvWIOrM|apbC38+2pAtI?jJuKejjw^8Qo(&>rt<3hE0zpnC2YvWi|$w@AFdD z?$UwUn{elbzhqdj-;#wT=*v|wClNx3FvbdK-D&Z&ewmn*b7n4phpGMCgtHhR)galY zT6wj|tSVNKf^=D-_9ukYw-bmrK_=}o8B%oxG?suxv~Wx9PTErL7w7J!*+oyaEnBoY z=W%J>L(<%!7_UHh9oN$EyJx8UF(D)EVJD4kzruBvUxR64Lp=fCBpuDWIng|@7KtJb z&&5{$;%|04$9;O6H$Yl&MLJPq`O2ctXbMb!H%87*=2!@dpa-U)f z1j9)#8Zkn`OxvhQ?(xjVwqI+fU+tHg&5arpI_m{)w=wdET%fX1-+lU&HJoCSRV7ZK z29f(h{So*e)cpjB4Azr0&LxINDaplBkJCw^$z8Ztnm=7iD*bV>&4Yvii|B6>mX~S1 zhs6tbUp$$uhi(#PA3lCq`~6ARmox)W7v|38xM*_bkFcNVO)I@W7bjxYDMb%cB_?|@ zDvjRtVbs&rcqszcF*W5O7rDR>api5PCZpXn0J+v~Su~Oi@F43eXT$ zddw#cn_K_87_FFBd}@T@=#4Q$*_Jc*v=qq`6W0lsp^4hPH+AaS$(8p|oK^zEQSLXE z=O}Qwt3E50>G^vxcLFi=9E(QXqvWisaNRaNr=4fF0m?(84Gt0Q7v^P7@Xi62D?0Hv zp~khwtqO%5aDbwP7ANC1B42MV>oHJFla;r$uqt+xh3K&g#YZV^T?s2zEz4CNw)nle zLJXD%L<8wbtO%BHn+2qdh$4EWone2=*cIay`<5*8^3}7t)w~$b&}E^O*>)+Vxmz&b zY9g({_DOTv%JS3BP52}8KLxYw=aeJ(Gi%iyDe^6AIJYPjI)3n6IUi2!M6384nm2DT z-hOOBf>CRy<>jn+H*wG7V(D-ae}w>e;L{WW^TZ=05-#4eg(vZBv8*Xh!a9T>MfaD- z;16CMzha>|dB>>Pi?A4ze9-d5J~W2H%Ggb*XN zrsM)+%$OL9&e*$lN+{+YDHfgVd9E8SA1?F2Xceby11&7Ih|63s+R1DmZoJSFg?eZv z{<5A||w!2l8TEM^za_lU8-r~hSZ#!o$;V_cXQ1~&nG+_m3# zVkj1gB11E>ctie!Fv~s1t=4mlOTgZx7|`w>ST?he)^pg_AQ;8M^RBAN)Bn|Eb$sy*Zn)E47crgl1f10V z{R;ITLl~{lz>9F_z&Xi^dng6jM#V>Eg(^ef&cb|Wuf~|$O>oogfiN(Z=(>BgmN8>l zcY6_Z+$dx#gD}CUdHClD+z#Id`_DttVjXF#cOmOTmah75lJO9dUbZJ!}~rs&$e5Eu=SD%(>XDt?F9Ex@vkSnxc)Y` zisMjFf}1vX8@c3WqhyLD<1FEOdsBH)g5xC1j0Go691ctZ8N$r6Ti~_8(BG@i#=-jc z&Kg8l3r~cx3-hz3*Hv_A+^n!d#RHegm`lLR?smPHud)_a9J=MgyblNO!q0=OMfX0* z<>|KUb#!#X(en3w9i?J)Y!w#=0*W%erf{2mepx2K`=OEeNgoBIQU(%lO(FUVpvZS z)OOaGvX8#Q%h0@g%$hV_u}i$cAuAWI3{#JXfYDZA2SS%cvTXCVxAw9A$rLkj)a$x; zp&Kzi{0zR%y<0oVt3$F7#VmFdJX6C$jOTBH?C7KLo?P;g@E6|hrn~s)!}+A z`n=;cj$i)%OZ@XY4m!NCYZejM`CZd(lRJyMb#=|$?3e$fly6q^9d}O%#T8PFDO-t+ z-t%hp!mNm@;nDHhf#w%uEs~Eum+=qn&bZ?P!3nQhFAh6L0?-`95;u9YzTAgP)Yzsh zs`>Vz$Kbx#2|Qi(6p^ zl~&JuZC%nxL$r{AR)Z+DWeO+98e7uWBc71VBxpCgF-#eH>y=9g-m`o@=H6(r8R)V&N>rwHf2xXw0@tQa&*A^t=ST`Du$J_^wZ%*eN2VB}y!j*%U9D z&KEn?#_2X=XNt3kSW3GsY`9i0+HS@U_4J>EEcD&ndi%A4x=v`m*L|hus2RKLI&L?L z!+L9WR?^01TI+2|12++9^fGOtXx-u=wtM&-of*}#|PXq|lL^|8%&_p6osAO7Oc*Z$Yv z{8`zfS$SGVHpk=KK{7y(g2h!yK@^Z@WgQX_6GzEaD}7vcob8~%*jkAfD`37X>1FnY z?7PWWYn`{lC1dcS@jof)$R2_`6%*TOeH>d6WFd%Q%DS#d&XB00n-V6W(4Jci(T4hY zD4JvOSlx5>b6xGV4hKhVOq{Z23$dFR_3h>H2yP`I*JajRt0_FI@cz?z2_tzsVhF6% z1~Uql#Hxloc)VgJgVW7nMTZbrd>|aNr_~HCEXiQhEsW;D47@*IRYM z#Rqd2%6N8Q( z$^NH{T&Jyd6-Zr_P@GZ>o(5~M-B^py1rr&vW1)$2d^wEma~lO5<|1B%WEOu++IDiR zGQzasgjc~f7-{y-ZF$oGjZ;I58^WMx%d#Co7?#LZroBlp`{t|HeV?bR=Sq^XhO*=( z>~zcFuM(@SyWRokS)E=qrzKy3HNM~w{Gu%4hy6c?`T2f?Mn8C8;o&deoxH-+)!*a@ zdjIA3u37zV?D9Y!OFrWj(v^w`4nu=WR$_SJbnaHx+>9jwJ2EEX%da+gF*qF#5`t)e z5cU)X$2_ld#Y?%_S>cNA-Qy;i5ThU2kc%mvh2KX*J$DQ9_{W1awz%{lqMKrB-VF*8 z>b)t@uD|5cd=&^|>ivGVRU_yI$ZAv&$<-=GvmS#R5M;&eN?mSkr#WiF=kJ!SipgMD zt?)dP&l{m3EC?e8sU4eRG^QA*g+`Pz0*wnzInNnZyk4 z-J=`GVBIOZ6kG=C5FvLPMmDMI0mgod2f=r*zeC|_Us{L$1~=IHvSQ;+^_?*gUnqvZ zh=4wxv~5#x-eYOe?;0aZb_9RG^><%(MbGSc_JBL6QMn-eO+pU*Uzfr8IV*j94i7-=lJV- zq5iH7Twgp*nfeq{2(L6AnQ2_aEPl70p7M`c?#;E7dvacdZK{l48{B zLyYb?*XXbI-Xs_$GbCgq61$%W10Yf$I1FA>QZrGoa%h_hWvO`Z&ey+q;dj{`_5{75RjbCQ1ACzGXcFKqB z05S32n7pEY^hy{Rr>%~77VMw7Tk^^@(Qceu>XsU~W(AYflkhW7uFb?#LKY2Hl2Z0& zpr0|K8D|)qlHUv=kKeSG0C-ld9YkkMM?EYfx z-0KuMR;>kG+{Gnv6_Qx*+3@vqB@_24cs3Py5}eTbe(|!MT*0o}OK{uQkd^J(vu0e^ zt)WCY-x0d-&jCODZM!1B;hkRo-iW7Rfus00R(R)p>r4(feD}-OeAz$FSsngfo#VS- z{yI4!C4i>sssrTie8Bi4ex1QFDcPeIA|Y)Cqi{ThUK8W+=md`7Gvhq@4>|e$9uV75kydH&M}sl9m_$6;O7rN_l&NH zXW7zZJ%rmn$o17dY)so84?Q`eX%Y8pj7lT5)@3lnxPnL7fDgHlXiB>w{#ReMO%5wr zntbf?yyOGv@+CGFcgmv63T2^>JG-$QwFAYoe!P#%A6L}PwZ)d_KG1`Y1tyMW_X@In zBUcc&$x)nOJGbk*vs#74_}-@QKD4(Z7xN>9r3TyEB}W zRB(}-?X-24m;;Xlxw)S(6KvUf`Ti)T`?NLw_~ECu|9JUv?PW#t6tbrY)l{>TjkD@5 zgKcYac2Y)h46K@o##@nkR@a-Im&4r8(uR*>aCQz!K2968?Mer(T7Pcm&G1x;_mZR( z4z{k^rzwjdG`RAO$!5@zSnHpL*`cAp1n46k<8=&UApnCDhBtY zPcxqJoDf1?kBJ|k*KV~Fj@r8CE@i3#m*CTe$ax8N`~I>Ru=q7E2c=G!0Y0ifeGD$L zIte9Re$)+~Cs?HRE61Q^E7^eu=-@^7{OS$7h&Eai8LF7Em@l`h4lVZjga=m%LFc{r zx>#N<#XjU7ybYJ1R1d3-9HC&U1S@*A8Gu-!gc+6=!7h$_kOK1lxJ0RV1Uh7Ge)aO% zqEL-%Gs`phY-Pz&VhF`_pNP8ez{I^9A2?!&gu;3;Y$abkv^hkd(X>r|b#mEgEw8fZ z^ZzurMfg|&2mWMT+_$?;Q~jN+$tm=Y24opiEY7m5mA%M&aK6$siZZKA>%8r@^U*u` zu6Xp+Np?4G&BNABjidcVW$nYwCt1zU+vP+1HT0p)BM%a#Ep>h711@8Mwsv^F&(P+P zanRpt5q$@@jc4Ql-uJ~b=eu7XKF@hQ;ZOfT-7m)ozHoVU-AXX7eqVjRmBLJjbrZ~| zS2P9>vwV5k*4yZzFIty)Mi#aH(|v3Xt)bzClZ51Ee2fA&0x!6WLrh4hwX_aP#>4WR zc;Fn}bE}N~8Jqj}B}I#%l##yqKmXhB{~ebF=95lR0!Q(b-gm0mI%vUma+#$g$C}CF zM%4r`5YqIanA9|?4i8vwnGMyzab5K}!0Pfr6Cs*xnSp>VWw#{R4?6!;Aw5c(ztU$y?WUOs}baR zE)5H=PVhE2)uie7opneq1eAaQfxx@*imP1b%SU*a1?vJq(N1j1qIU9q1TWD>LW24$ z{B^hSs|(Usay<=q+-KY?jb8?ww07rnmt3xwaaYU_1DqPpV9XtN*MjZlzPXR!FJk%} z&I*1h4AUyBaYi}q>d^BOqV}G=!k{5WFZF`ozk0P+xnf9_HXfy4x9~S97%Two=L-0nFcX8rx z_Zs_);Ac!tVTz#%pxZS5>%-Q+|8`46IBW-$jr@JrwKIE~i|KjR*iChs8^LA2XL%lG zLpwJf@#C}bh-IkoTe%KbO7>R7w!~p<%OtkbG-kIG?iEGoGFl;y9aMG_9MeoZ2LIpx zkAGR*>*X@`vme$jPW~ze^)5~Qywv~GaI*c|!Xq2ieg3?@_J91%-?X#9$1H`k)R?T~ zsW84t5>UarHDIZxqlKW2Gu#kPK=kp>l(htDvtjXj=_lJ@%9h4FRoG;2|~;*Can9AUcHZcms_clX0b9iU!+ z^K$L0USGd?x%O?P6I@KY;ft`sb>q{Xk;g*}(X)3`w8RCUCG_sI?sTU)uYU2vhm(Lz z#IOd6YgMDDJV*wtn#|c8yYWeqGu}ur{Av%$_ce=1aUvw1l|1t2-+Vm{6Lcw()vE5* zjx_dV6!Q}TnIspCwS#buuqQmg^CTp)-_H^s>(haxyqdL+dN{ZOn}-YATsG@0Z4r5ywZNyz%AY&yM0nERU294%gi3u58M_Z-;W}$oI0+5P`V_mSh^=Z8)dX@4v);y2 z(K&eRA{^tRx=Xc(>vi6&$-J$`@Xj8aJ$85F>$Urm1nwyo#@M>c6y6DD+u`IUuU<90 z1pd0b3)+0JdhFd;ysoPwe{6qQ-atlMs2gs@NAq&Pi_7p_7b?)J>qxg46OsDfmn|ZxjSvUk%Oras#y3ZVJY^T|(n3ST;Y6f(e^23a zzu_#`A=i2f(A9%D+L=w7c=s4YZZXwFF>vo`GcCwgRu7GUyY4=u*eL#i7;S~5dqaNT z7CS2}gpkx=PBOB%)|NPu#j(PRAfz84Gz%?eQ(D0Y@o;Aj%#=1JtMRs%Yq=y^@o{Ga z%>WKLTBoiBTw3C2Tzxq%mtZBO+F4wC=Hn2jk=2GqX|S|!+V1%E!#^%&#l>7w)z%I% z5zIqWt+GZ0G*jgD`o*iBEmga*wfNS9yB6YNNVXojEROXgIPR6PrkIysez&BB({SLn z7|(YJ({I;buAPN2tk{bXkO0SI5W8+UYUFk_SPuT$-*FjE?^LeI{?>Gtsn#eLgkz?3 zgf^pO{5A&mP4T6TwB+3c*?!i@Q)%s;FYEb5aW}f1T{Iq2HfZkn{Z4bz<8**0cA;JK)O&+lxV)v_b*zjDZyyo4qEqi7VR|#)FLYwXOUyztVyDAJ=m?R z+WAQmU6kid2=yAF%~z5>RCJ} zpGzFtD1qw!{yg{P(wd8s3a9T=G~k_*7unMij?PZn@HcP4^ZHtjbruu(Z59~V9wc}* z@fOcI?Oa|INjn=iGAi4GD}e{6#jG`I|HNyPix?hw9{dDjbM-ibV5xjARYTL3Zj9i<~;i7D~OL z=J}5)31elq9!e$}#^hlb%VD^yYVr(2=-VUTnM&HEIgsm0SCZU zJ*LBTK703@`+Gek!0{p1;t%e{YIoR!l)wcg3YFjdJ-Fzv?z6hz>O1H7dpWmrg5NLq zGVHQBmfxfDp1;Is;VFR>?exs`j0M|sZKTwSy@Eg9+#fTK5wg(;zQO=lTCp{rhM2hM zp1nF-ehQ_9a%)`XOxdD*7<(8y;~5?sV=;!L((v-F@ju4|HbMqkLARfq_S}SF69o{& z(gO&}KLNR0Lg1b{z;zA)&(d^){|0 z%rI6#W(x{Z3Sx9^^TX@QvfXEL0Zj zMS?YBD#Fg<>h~LM)*|+emv7p|bKG>bYwhS4_lSi-f3H0qhx}9b#)7AZDtQ$ZRN_Mz6Q+ z#C;O%=F97#M=tICF)N)&3kQ~$c=i+m_w~HDHp5^# zXZ7yf!P_Q0HCSH&OnDMNdXj>2)ZUbs@^)4>m23KH1}AZtCFvw3=PZvw_&Zyc#n5FP zD_M|D>c01rW^UJj+=V6QzH!iZ0r^Yg2ah*%u!39WQxfj7Ea}%5!$^3>{;V)ijXJTTl0V`9piQz*O zjmG<~vK}t!pWe2`cjG=TtGUZ(&Ku!h9?|GWH*Zu*z^b5i!NA$@PXyy9j+TcSXv|B4XrmW!oY9f z4Zd91=)m_pZLYy*;fL$`zgG`&un6Z^ELneoiI;miTw_kF&r5Z}^4sdWIq}Q6+wCyF zQL-Q2W@n?KmwBOZ;jT$Bsl`@*wLUbyzVa;YPt7Byr*-4>48mgCwZ#MGbG)SG%PWK< zbWOOi5g%TZA@~|U>-&*D;j*p9rW|8jsEs9ISu$S;2q`1*E?*EJ1n&v%9g_CWB6KT* zZt{=_l8mO2pao=c8jJQ2GifP0k<1)neEmhE<9V5CtU3ZvA+-LSM`fvT(a5IzloBwl z?_y+&YqyNKOcgtZJTDvX^!#M)&35|^ra>C-Pie8d1BQv=B&yR$v%J2{>Av2iS|xFf zCz^{9y&9&jh?@0?kQ_FM)jeV_q(UGgcmN={PNGHbk=NCpJuMO9I9KR#R@1ZEXQh&7 z@r8TEO!gyGLL9^LwDsCIO;A7lv$642#4^G)rKjbKam7djoGe~t1nLuYnMuk8n+Uz{ z_foE``y@5FZ)3WRF%ghpuYY3~q{Lt}tvTZE3Etp!RH_=kwuDmUxow{k=`cc zHfs8@cTj&{?aC55)7+!=+bgcj!ia-3zeR9NFVfy4tW_dqSR7t5T4>hF67s<#-byGIK(J&fBYL%lubr{v zDy&a?wl`%>!{^P4^YM>at7v}sZ@e+qKR9+Pq-VnfmGrd&ho*Dbf{}T(V%5H*|>EZ6?W@@UUvWuwb zf}_jF`Rw;mmY>e~?)9s1Z4|s&AyNH}&Vqt*K1L%7QAnb>fzZ*$JS!zqZES*S@>CKm zH!bhNvF93n>jN^B*t0>GAk>+MB`k`-`%?U#CWCUmQf$pM*9hwZLE{?L5 zi;H_=^#gZmG=CCFojWG~BaH6A7#0B|u$|@znGwZAgQ$*W55JfV74Oh%8~i zOdvZg=%ITN_8bIXPhTq+NVd49kp#5c8Ut#~lVr14pTKSwMgt_njhpqNAhmfBf6y;3 zQG!q49s)wFRb#TTZgW4+2u&8mj#LO;<%yI2E?P7Ti%8$eor9HPbm!09~8Roe6WzkUe$i*Mw$<;N(aoSO!5;1q=9bTx4@cb| z8j{htl@%#YXA|nHtW?Yse@pjjUbk{FzU{ms-{>8k6B5C==PF;d-G%Qyy{|nA1-BmI zke~=g*56TtuUq_V4A=GNtHS@ehR54byp=X@j1G*~92h$|uxj4EdOcRn(yu%N!P_;M z`+jAlEL7*B{T4r%dF*xz%I$S1)9|*X60YZhgqJ4?G;5Rb3d?FT|HFd>2zPLRnPk4` z&poV3ZCbSNg%&;6Z}I?6OYZmkso)}BO}o!rnPP$(pL6CvOIwv$rU zEr<=wd3-|Ijb}YW+;zV^fV&il`+}mB3EmfF+87J7Ory3wx9(H?8f-?`6D%F(8BC4W zXEb3EJ_V442ygw)g{nP@ii0$JXw`Z}_fHzdfHZ z*KIAmm@akgtvGnZ!GMdR7g^S`g^rr&p(BY@@ASaGpeRJ(q$MSwz%`N3cm+Q2dvGvN+hp01)Ov5Mz*c z7;^(1#?)^D`C>lG%5Y&S*Jhg&i}UZ(k}Tu68}~tdsjrt7#}=15EVGdHbeo3Y{aTDH zW;jzC2f_TsKrxg>ST(-RDPOh%7{fsvvp_S3Ek0sH&Arz3(d@WYxwY)JJ_T$0Zi2ZV zwCVTR(IFV`HJ1Lzb@Gjq5J1%*8un!gHu`A%w-wqBVAGzel8(`mntenjX@W&5gO;1t zxlbi(yiDL(FZj9`)-NrB|7+Sbfw&XnKn!9)S6QX6S|EOy_IVY&C4(pv#(hah&;Ds8 zIT+KvKKJZ<3Pb-{M5n?2s&*&{r@0@$>}82JVAorO-b@Vxq&UF`F1y3#jx|dV9u{vj z?xPqIJHtlNs*^~bI*(yp=2AM4i~uis-c4QrH9>84^-m?KyiTD1FK>Uy`Yo~JORk_` zchwl&w~=LOr|`qm7Yj2L{|H7aBbfg5-Fivq&P$Y9=NHay7r}QPQ?m<-BJ+-v^hAl!swFJr7?=o1SoiR>a*Cjm?e<91UM z^Dt%Y(}%y5)fZ;HiJS8V~zi>oL{t32MW8!nSZTx@nBEIpv!2u36GyyQSeZbsLW(gy=gm zyG^^L6Sl>B9zOFf928oSJVgPw?oaTEvGPc5 zuZPe0o|nV-`90i*FJAb%dd#;8#jTRyHj5LY2DmocI+aW__cvy8krz;@v{68iOmy4C z_y0FO&FUL|()&*BjnLGAWDHM<1RFdR7Ex9t(`;6ld)(v+LMtT1;!E%(3@wy5bII!( z*o!%F1#o%ZRnODFB?8c*ARl)cra}wZ?|Ku@Y8u4OisSyIC2q=j2cSA3onJicQ%sjt zNMMr4Qt`Q7u$)2M2!~4&IJGBWY%8gq7I|&OVC)ipH!(sLR(e*?lNQhVjCQ84M=e@6 z3BE%tHBM;<)>q9~`fc38O#pY>OhhnX_3UF*0lQHT0xw!NEj08`=(-jl#vmHb#)N8cJ$Z%Vt|r^EY_Ea8;`9G z0yicT!@G-cTz43pBmf|K!o>^x5P;{{e=?mQhL9^sg@)$qW5M|A81!9C>^|7t)c$32 zwo@X7`j5xCwPXZi6z1t5VXz-#-zZK*BtXtbmPY>whuH_Rr|KJ|XN8&1-I&+&tn}x( zljv@{Y4-aGxb3Vcn(JAM@UQCsbz>Dv+wHmg<|iV4hyR9f~)4bWabrN zDFnS6zG7G}A|@{D=cTs4Dr;Gxd*6|dWei)*uVo;#Y}TkMB-WJ$-i>FkPB(u3YqfU5 zN%$pUh8xH8xs@qq4mjpz5{IF5Ze=W7c4*djm-xJV59r|2ckVaBhY+$XKvtuzrK}PB z7IUzU?^*6+nV2#{xv#}bc~5v1xY6(e?jx?}>s+lLW3FFf`j?+tngAotN25fWCQIc6ac9_54M`;^WK*+C~S)(TIbe@juRn)!dY5 ziN!*pL@s^`!3Eukt`Sa&VUUGiM(RD0Ncu9$II3E*pYuM+G|f5O@fkg$_bkIYRws0h zt8OZYHz|Vd~`^_e%t{JA1_Ji3haiPxH1~|q}AkKQi+5>2vkiP1GRD#kZ{S+7u zk-25;H+a+}VhoQ7kKHVp%d~?L1_70(Rb!!lZ6|=w(;x|9%xW$hq(|_6}ltlhfDSDcFbmakkF_*gU}{25)AhBHG+t)yVFuT zjGZQ&DT3c`d>7{T-Bug2Oy=wV#fS1Bdf zSSF$p3J-~OU+BW@j|($FNr6+7^RBq-Z5E^Lw2n$dLP!=@iy3WF@($s5OtqT0??3+> zbAR7j!-LPoDSGB-warBL^F;eC4xGfWF z8&{tzfKXBjFN0-JKV&^_<(8MFeUae&_jWz8RKfyxo??}Xj!&0(&1s$rv1(o+>F}&1 zt~LraCJraTV2WZ;5W|_*Wi|6sSi8w;;W?tLh-b3cC#2AP%3PG0`Qh?IUVxT`efgLb zE88_e+Id?@ovPN9Rd-vqvo`Gb&bx6GEq$x718sQdBA6-Nc91L8cS$J{Zp5fxlqj_y zj2^i~6NuMat?!G!NDMkUO2KW9y*NS7Y(43DUX^hDIu93t_9738`IYnnzg5MF}z7hX)UJ{E0vt4*oAK_V_o^UjVG@nE9!CCLiXDH{~dbro&eX$JT_;PMN z?>kG+7las$VII;I5Y}N7W8S zi%Da$`?3LisPxuUyl6763b-%Qdm)T)u}NKg;wJSrgkz;(xP;ba@0M~9#0L?}ZAkK= zjX#$~){sahX3Rb=GqJ`9j$03bv3Me{MFWj+ZbK%OapElrz4{r^PMjse5SQXEyALiH zkS#qsVUkQX;q%0DQ*yfSR|J7kfb9w@4tz$*4( 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 diff --git a/old-ui/app/info.js b/old-ui/app/info.js deleted file mode 100644 index 936d270da..000000000 --- a/old-ui/app/info.js +++ /dev/null @@ -1,154 +0,0 @@ -const inherits = require('util').inherits -const Component = require('react').Component -const h = require('react-hyperscript') -const connect = require('react-redux').connect -const actions = require('../../ui/app/actions') - -module.exports = connect(mapStateToProps)(InfoScreen) - -function mapStateToProps (state) { - return {} -} - -inherits(InfoScreen, Component) -function InfoScreen () { - Component.call(this) -} - -InfoScreen.prototype.render = function () { - const state = this.props - const version = global.platform.getVersion() - - return ( - h('.flex-column.flex-grow', { - style: { - maxWidth: '400px', - }, - }, [ - - // subtitle and nav - h('.section-title.flex-row.flex-center', [ - h('i.fa.fa-arrow-left.fa-lg.cursor-pointer', { - onClick: (event) => { - state.dispatch(actions.goHome()) - }, - }), - h('h2.page-subtitle', 'Info'), - ]), - - // main view - h('.flex-column.flex-justify-center.flex-grow.select-none', [ - h('.flex-space-around', { - style: { - padding: '20px', - }, - }, [ - // current version number - - h('.info.info-gray', [ - h('div', 'Metamask'), - h('div', { - style: { - marginBottom: '10px', - }, - }, `Version: ${version}`), - ]), - - h('div', { - style: { - marginBottom: '5px', - }}, - [ - h('div', [ - h('a', { - href: 'https://metamask.io/privacy.html', - target: '_blank', - onClick: (event) => { this.navigateTo(event.target.href) }, - }, [ - h('div.info', 'Privacy Policy'), - ]), - ]), - h('div', [ - h('a', { - href: 'https://metamask.io/terms.html', - target: '_blank', - onClick: (event) => { this.navigateTo(event.target.href) }, - }, [ - h('div.info', 'Terms of Use'), - ]), - ]), - h('div', [ - h('a', { - href: 'https://metamask.io/attributions.html', - target: '_blank', - onClick: (event) => { this.navigateTo(event.target.href) }, - }, [ - h('div.info', 'Attributions'), - ]), - ]), - ] - ), - - h('hr', { - style: { - margin: '10px 0 ', - width: '7em', - }, - }), - - h('div', { - style: { - paddingLeft: '30px', - }}, - [ - h('div.fa.fa-support', [ - h('a.info', { - href: 'https://support.metamask.io', - target: '_blank', - }, 'Visit our Support Center'), - ]), - - h('div', [ - h('a', { - href: 'https://metamask.io/', - target: '_blank', - }, [ - h('img.icon-size', { - src: 'images/icon-128.png', - style: { - // IE6-9 - filter: 'grayscale(100%)', - // Microsoft Edge and Firefox 35+ - WebkitFilter: 'grayscale(100%)', - }, - }), - h('div.info', 'Visit our web site'), - ]), - ]), - - h('div', [ - h('.fa.fa-twitter', [ - h('a.info', { - href: 'https://twitter.com/metamask_io', - target: '_blank', - }, 'Follow us on Twitter'), - ]), - ]), - - h('div.fa.fa-envelope', [ - h('a.info', { - target: '_blank', - href: 'mailto:help@metamask.io?subject=Feedback', - }, 'Email us!'), - ]), - ]), - ]), - ]), - ]) - ) -} - -InfoScreen.prototype.navigateTo = function (url) { - global.platform.openWindow({ url }) -} - diff --git a/old-ui/app/infura-conversion.json b/old-ui/app/infura-conversion.json deleted file mode 100644 index 9a96fe069..000000000 --- a/old-ui/app/infura-conversion.json +++ /dev/null @@ -1,653 +0,0 @@ -{ - "objects": [ - { - "symbol": "ethaud", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "aud", - "name": "Australian Dollar" - } - }, - { - "symbol": "ethhkd", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "hkd", - "name": "Hong Kong Dollar" - } - }, - { - "symbol": "ethsgd", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "sgd", - "name": "Singapore Dollar" - } - }, - { - "symbol": "ethidr", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "idr", - "name": "Indonesian Rupiah" - } - }, - { - "symbol": "ethphp", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "php", - "name": "Philippine Peso" - } - }, - { - "symbol": "eth1st", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "1st", - "name": "FirstBlood" - } - }, - { - "symbol": "ethadt", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "adt", - "name": "adToken" - } - }, - { - "symbol": "ethadx", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "adx", - "name": "AdEx" - } - }, - { - "symbol": "ethant", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "ant", - "name": "Aragon" - } - }, - { - "symbol": "ethbat", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "bat", - "name": "Basic Attention Token" - } - }, - { - "symbol": "ethbnt", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "bnt", - "name": "Bancor" - } - }, - { - "symbol": "ethbtc", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "btc", - "name": "Bitcoin" - } - }, - { - "symbol": "ethcad", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "cad", - "name": "Canadian Dollar" - } - }, - { - "symbol": "ethcfi", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "cfi", - "name": "Cofound.it" - } - }, - { - "symbol": "ethcrb", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "crb", - "name": "CreditBit" - } - }, - { - "symbol": "ethcvc", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "cvc", - "name": "Civic" - } - }, - { - "symbol": "ethdash", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "dash", - "name": "Dash" - } - }, - { - "symbol": "ethdgd", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "dgd", - "name": "DigixDAO" - } - }, - { - "symbol": "ethetc", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "etc", - "name": "Ethereum Classic" - } - }, - { - "symbol": "etheur", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "eur", - "name": "Euro" - } - }, - { - "symbol": "ethfun", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "fun", - "name": "FunFair" - } - }, - { - "symbol": "ethgbp", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "gbp", - "name": "Pound Sterling" - } - }, - { - "symbol": "ethgno", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "gno", - "name": "Gnosis" - } - }, - { - "symbol": "ethgnt", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "gnt", - "name": "Golem" - } - }, - { - "symbol": "ethgup", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "gup", - "name": "Matchpool" - } - }, - { - "symbol": "ethhmq", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "hmq", - "name": "Humaniq" - } - }, - { - "symbol": "ethjpy", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "jpy", - "name": "Japanese Yen" - } - }, - { - "symbol": "ethlgd", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "lgd", - "name": "Legends Room" - } - }, - { - "symbol": "ethlsk", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "lsk", - "name": "Lisk" - } - }, - { - "symbol": "ethltc", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "ltc", - "name": "Litecoin" - } - }, - { - "symbol": "ethlun", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "lun", - "name": "Lunyr" - } - }, - { - "symbol": "ethmco", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "mco", - "name": "Monaco" - } - }, - { - "symbol": "ethmtl", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "mtl", - "name": "Metal" - } - }, - { - "symbol": "ethmyst", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "myst", - "name": "Mysterium" - } - }, - { - "symbol": "ethnmr", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "nmr", - "name": "Numeraire" - } - }, - { - "symbol": "ethomg", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "omg", - "name": "OmiseGO" - } - }, - { - "symbol": "ethpay", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "pay", - "name": "TenX" - } - }, - { - "symbol": "ethptoy", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "ptoy", - "name": "Patientory" - } - }, - { - "symbol": "ethqrl", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "qrl", - "name": "Quantum-Resistant Ledger" - } - }, - { - "symbol": "ethqtum", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "qtum", - "name": "Qtum" - } - }, - { - "symbol": "ethrep", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "rep", - "name": "Augur" - } - }, - { - "symbol": "ethrlc", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "rlc", - "name": "iEx.ec" - } - }, - { - "symbol": "ethrub", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "rub", - "name": "Russian Ruble" - } - }, - { - "symbol": "ethsc", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "sc", - "name": "Siacoin" - } - }, - { - "symbol": "ethsngls", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "sngls", - "name": "SingularDTV" - } - }, - { - "symbol": "ethsnt", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "snt", - "name": "Status" - } - }, - { - "symbol": "ethsteem", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "steem", - "name": "Steem" - } - }, - { - "symbol": "ethstorj", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "storj", - "name": "Storj" - } - }, - { - "symbol": "ethtime", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "time", - "name": "ChronoBank" - } - }, - { - "symbol": "ethtkn", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "tkn", - "name": "TokenCard" - } - }, - { - "symbol": "ethtrst", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "trst", - "name": "WeTrust" - } - }, - { - "symbol": "ethuah", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "uah", - "name": "Ukrainian Hryvnia" - } - }, - { - "symbol": "ethusd", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "usd", - "name": "United States Dollar" - } - }, - { - "symbol": "ethwings", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "wings", - "name": "Wings" - } - }, - { - "symbol": "ethxem", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "xem", - "name": "NEM" - } - }, - { - "symbol": "ethxlm", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "xlm", - "name": "Stellar Lumen" - } - }, - { - "symbol": "ethxmr", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "xmr", - "name": "Monero" - } - }, - { - "symbol": "ethxrp", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "xrp", - "name": "Ripple" - } - }, - { - "symbol": "ethzec", - "base": { - "code": "eth", - "name": "Ethereum" - }, - "quote": { - "code": "zec", - "name": "Zcash" - } - } - ] -} diff --git a/old-ui/app/keychains/hd/create-vault-complete.js b/old-ui/app/keychains/hd/create-vault-complete.js deleted file mode 100644 index 736e922b7..000000000 --- a/old-ui/app/keychains/hd/create-vault-complete.js +++ /dev/null @@ -1,91 +0,0 @@ -const inherits = require('util').inherits -const Component = require('react').Component -const connect = require('react-redux').connect -const h = require('react-hyperscript') -const actions = require('../../../../ui/app/actions') -const exportAsFile = require('../../util').exportAsFile - -module.exports = connect(mapStateToProps)(CreateVaultCompleteScreen) - -inherits(CreateVaultCompleteScreen, Component) -function CreateVaultCompleteScreen () { - Component.call(this) -} - -function mapStateToProps (state) { - return { - seed: state.appState.currentView.seedWords, - cachedSeed: state.metamask.seedWords, - } -} - -CreateVaultCompleteScreen.prototype.render = function () { - var state = this.props - var seed = state.seed || state.cachedSeed || '' - - return ( - - h('.initialize-screen.flex-column.flex-center.flex-grow', [ - - // // subtitle and nav - // h('.section-title.flex-row.flex-center', [ - // h('h2.page-subtitle', 'Vault Created'), - // ]), - - h('h3.flex-center.text-transform-uppercase', { - style: { - background: '#EBEBEB', - color: '#AEAEAE', - marginTop: 36, - marginBottom: 8, - width: '100%', - fontSize: '20px', - padding: 6, - }, - }, [ - 'Vault Created', - ]), - - h('div', { - style: { - fontSize: '1em', - marginTop: '10px', - textAlign: 'center', - }, - }, [ - h('span.error', 'These 12 words are the only way to restore your MetaMask accounts.\nSave them somewhere safe and secret.'), - ]), - - h('textarea.twelve-word-phrase', { - readOnly: true, - value: seed, - }), - - h('button.primary', { - onClick: () => this.confirmSeedWords() - .then(account => this.showAccountDetail(account)), - style: { - margin: '24px', - fontSize: '0.9em', - marginBottom: '10px', - }, - }, 'I\'ve copied it somewhere safe'), - - h('button.primary', { - onClick: () => exportAsFile(`MetaMask Seed Words`, seed), - style: { - margin: '10px', - fontSize: '0.9em', - }, - }, 'Save Seed Words As File'), - ]) - ) -} - -CreateVaultCompleteScreen.prototype.confirmSeedWords = function () { - return this.props.dispatch(actions.confirmSeedWords()) -} - -CreateVaultCompleteScreen.prototype.showAccountDetail = function (account) { - return this.props.dispatch(actions.showAccountDetail(account)) -} diff --git a/old-ui/app/keychains/hd/recover-seed/confirmation.js b/old-ui/app/keychains/hd/recover-seed/confirmation.js deleted file mode 100644 index eb0298a09..000000000 --- a/old-ui/app/keychains/hd/recover-seed/confirmation.js +++ /dev/null @@ -1,121 +0,0 @@ -const inherits = require('util').inherits - -const Component = require('react').Component -const connect = require('react-redux').connect -const h = require('react-hyperscript') -const actions = require('../../../../../ui/app/actions') - -module.exports = connect(mapStateToProps)(RevealSeedConfirmation) - -inherits(RevealSeedConfirmation, Component) -function RevealSeedConfirmation () { - Component.call(this) -} - -function mapStateToProps (state) { - return { - warning: state.appState.warning, - } -} - -RevealSeedConfirmation.prototype.render = function () { - const props = this.props - - return ( - - h('.initialize-screen.flex-column.flex-center.flex-grow', { - style: { maxWidth: '420px' }, - }, [ - - h('h3.flex-center.text-transform-uppercase', { - style: { - background: '#EBEBEB', - color: '#AEAEAE', - marginBottom: 24, - width: '100%', - fontSize: '20px', - padding: 6, - }, - }, [ - 'Reveal Seed Words', - ]), - - h('.div', { - style: { - display: 'flex', - flexDirection: 'column', - padding: '20px', - justifyContent: 'center', - }, - }, [ - - h('h4', 'Do not recover your seed words in a public place! These words can be used to steal all your accounts.'), - - // confirmation - h('input.large-input.letter-spacey', { - type: 'password', - id: 'password-box', - placeholder: 'Enter your password to confirm', - onKeyPress: this.checkConfirmation.bind(this), - style: { - width: 260, - marginTop: '12px', - }, - }), - - h('.flex-row.flex-start', { - style: { - marginTop: 30, - width: '50%', - }, - }, [ - // cancel - h('button.primary', { - onClick: this.goHome.bind(this), - }, 'CANCEL'), - - // submit - h('button.primary', { - style: { marginLeft: '10px' }, - onClick: this.revealSeedWords.bind(this), - }, 'OK'), - - ]), - - (props.warning) && ( - h('span.error', { - style: { - margin: '20px', - }, - }, props.warning.split('-')) - ), - - props.inProgress && ( - h('span.in-progress-notification', 'Generating Seed...') - ), - ]), - ]) - ) -} - -RevealSeedConfirmation.prototype.componentDidMount = function () { - document.getElementById('password-box').focus() -} - -RevealSeedConfirmation.prototype.goHome = function () { - this.props.dispatch(actions.showConfigPage(false)) -} - -// create vault - -RevealSeedConfirmation.prototype.checkConfirmation = function (event) { - if (event.key === 'Enter') { - event.preventDefault() - this.revealSeedWords() - } -} - -RevealSeedConfirmation.prototype.revealSeedWords = function () { - var password = document.getElementById('password-box').value - this.props.dispatch(actions.requestRevealSeed(password)) -} diff --git a/old-ui/app/keychains/hd/restore-vault.js b/old-ui/app/keychains/hd/restore-vault.js deleted file mode 100644 index e9486a28d..000000000 --- a/old-ui/app/keychains/hd/restore-vault.js +++ /dev/null @@ -1,162 +0,0 @@ -const inherits = require('util').inherits -const PersistentForm = require('../../../lib/persistent-form') -const connect = require('react-redux').connect -const h = require('react-hyperscript') -const actions = require('../../../../ui/app/actions') - -module.exports = connect(mapStateToProps)(RestoreVaultScreen) - -inherits(RestoreVaultScreen, PersistentForm) -function RestoreVaultScreen () { - PersistentForm.call(this) -} - -function mapStateToProps (state) { - return { - warning: state.appState.warning, - forgottenPassword: state.appState.forgottenPassword, - } -} - -RestoreVaultScreen.prototype.render = function () { - var state = this.props - this.persistentFormParentId = 'restore-vault-form' - - return ( - - h('.initialize-screen.flex-column.flex-center.flex-grow', [ - - h('h3.flex-center.text-transform-uppercase', { - style: { - background: '#EBEBEB', - color: '#AEAEAE', - marginBottom: 24, - width: '100%', - fontSize: '20px', - padding: 6, - }, - }, [ - 'Restore Vault', - ]), - - // wallet seed entry - h('h3', 'Wallet Seed'), - h('textarea.twelve-word-phrase.letter-spacey', { - placeholder: 'Enter your secret twelve word phrase here to restore your vault.', - }), - - // password - h('input.large-input.letter-spacey', { - type: 'password', - id: 'password-box', - placeholder: 'New Password (min 8 chars)', - dataset: { - persistentFormId: 'password', - }, - style: { - width: 260, - marginTop: 12, - }, - }), - - // confirm password - h('input.large-input.letter-spacey', { - type: 'password', - id: 'password-box-confirm', - placeholder: 'Confirm Password', - onKeyPress: this.createOnEnter.bind(this), - dataset: { - persistentFormId: 'password-confirmation', - }, - style: { - width: 260, - marginTop: 16, - }, - }), - - (state.warning) && ( - h('span.error.in-progress-notification', state.warning) - ), - - // submit - - h('.flex-row.flex-space-between', { - style: { - marginTop: 30, - width: '50%', - }, - }, [ - - // cancel - h('button.primary', { - onClick: this.showInitializeMenu.bind(this), - }, 'CANCEL'), - - // submit - h('button.primary', { - onClick: this.createNewVaultAndRestore.bind(this), - }, 'OK'), - - ]), - ]) - - ) -} - -RestoreVaultScreen.prototype.showInitializeMenu = function () { - if (this.props.forgottenPassword) { - this.props.dispatch(actions.backToUnlockView()) - } else { - this.props.dispatch(actions.showInitializeMenu()) - } -} - -RestoreVaultScreen.prototype.createOnEnter = function (event) { - if (event.key === 'Enter') { - this.createNewVaultAndRestore() - } -} - -RestoreVaultScreen.prototype.createNewVaultAndRestore = function () { - // check password - var passwordBox = document.getElementById('password-box') - var password = passwordBox.value - var passwordConfirmBox = document.getElementById('password-box-confirm') - var passwordConfirm = passwordConfirmBox.value - if (password.length < 8) { - this.warning = 'Password not long enough' - - this.props.dispatch(actions.displayWarning(this.warning)) - return - } - if (password !== passwordConfirm) { - this.warning = 'Passwords don\'t match' - this.props.dispatch(actions.displayWarning(this.warning)) - return - } - // check seed - var seedBox = document.querySelector('textarea.twelve-word-phrase') - var seed = seedBox.value.trim() - - // true if the string has more than a space between words. - if (seed.split(' ').length > 1) { - this.warning = 'there can only be a space between words' - this.props.dispatch(actions.displayWarning(this.warning)) - return - } - // true if seed contains a character that is not between a-z or a space - if (!seed.match(/^[a-z ]+$/)) { - this.warning = 'seed words only have lowercase characters' - this.props.dispatch(actions.displayWarning(this.warning)) - return - } - if (seed.split(' ').length !== 12) { - this.warning = 'seed phrases are 12 words long' - this.props.dispatch(actions.displayWarning(this.warning)) - return - } - // submit - this.warning = null - this.props.dispatch(actions.displayWarning(this.warning)) - this.props.dispatch(actions.createNewVaultAndRestore(password, seed)) -} diff --git a/old-ui/app/new-keychain.js b/old-ui/app/new-keychain.js deleted file mode 100644 index cc9633166..000000000 --- a/old-ui/app/new-keychain.js +++ /dev/null @@ -1,29 +0,0 @@ -const inherits = require('util').inherits -const Component = require('react').Component -const h = require('react-hyperscript') -const connect = require('react-redux').connect - -module.exports = connect(mapStateToProps)(NewKeychain) - -function mapStateToProps (state) { - return {} -} - -inherits(NewKeychain, Component) -function NewKeychain () { - Component.call(this) -} - -NewKeychain.prototype.render = function () { - // const props = this.props - - return ( - h('div', { - style: { - background: 'blue', - }, - }, [ - h('h1', `Here's a list!!!!`), - ]) - ) -} diff --git a/old-ui/app/new-ui-annoucement.js b/old-ui/app/new-ui-annoucement.js deleted file mode 100644 index 59b126279..000000000 --- a/old-ui/app/new-ui-annoucement.js +++ /dev/null @@ -1,85 +0,0 @@ -const PropTypes = require('prop-types') -const {PureComponent} = require('react') -const h = require('react-hyperscript') -const actions = require('../../ui/app/actions') - -module.exports = class NewUiAnnouncement extends PureComponent { - static propTypes = { - dispatch: PropTypes.func.isRequired, - }; - - close = async () => { - await this.props.dispatch(actions.setFeatureFlag('skipAnnounceBetaUI', true)) - } - - switchToNewUi = async () => { - const flag = 'betaUI' - const enabled = true - await this.props.dispatch(actions.setFeatureFlag( - flag, - enabled, - )) - await this.close() - global.platform.openExtensionInBrowser() - } - - render () { - return ( - h('div.new-ui-announcement', [ - h('section.new-ui-announcement__announcement-header', [ - h('h1', 'Announcement'), - h('a.close', { - onClick: this.close, - }, '×'), - ]), - h('section.new-ui-announcement__body', [ - h('h1', 'A New Version of MetaMask'), - h('p', [ - "We're excited to announce a brand-new version of MetaMask with enhanced features and functionality.", - ]), - h('div.updates-list', [ - h('h2', 'Updates include'), - h('ul', [ - h('li', 'New user interface'), - h('li', 'Full-screen mode'), - h('li', 'Better token support'), - h('li', 'Better gas controls'), - h('li', 'Advanced features for developers'), - h('li', 'New confirmation screens'), - h('li', 'And more!'), - ]), - ]), - h('p', [ - 'You can still use the current version of MetaMask. The new version is still in beta, ' + - 'however we encourage you to try it out as we transition into this exciting new update.', - h('span', { - dangerouslySetInnerHTML: { - __html: ' ', - }, - }), - h('a', { - href: 'https://medium.com/metamask/74dba32cc7f7', - onClick ({target}) { - const url = target.href - global.platform.openWindow({ - url, - }) - }, - }, [ - 'Learn more.', - ]), - ]), - ]), - h('section.new-ui-announcement__footer', [ - h('h1', 'Ready to try the new MetaMask?'), - h('button.positive', { - onClick: this.switchToNewUi, - }, 'Try it now'), - h('button.negative', { - onClick: this.close, - }, 'No thanks, maybe later'), - ]), - ]) - ) - } -} diff --git a/old-ui/app/provider-approval.js b/old-ui/app/provider-approval.js deleted file mode 100644 index da128f147..000000000 --- a/old-ui/app/provider-approval.js +++ /dev/null @@ -1,65 +0,0 @@ -import PropTypes from 'prop-types' -import React, { Component } from 'react' -import { approveProviderRequest, rejectProviderRequest } from '../../ui/app/actions' -import { connect } from 'react-redux' -class ProviderApproval extends Component { - render () { - const { approveProviderRequest, origin, tabID, rejectProviderRequest } = this.props - return ( -

-