From 604c0264e6fdf6e09a275c7bc65a27fb1014fa03 Mon Sep 17 00:00:00 2001 From: cryptozoidberg Date: Mon, 22 Mar 2021 21:48:22 +0300 Subject: [PATCH] Added all the htmls as a submodule from separate repository --- .gitmodules | 3 + src/gui/qt-daemon/html/OpenSans-Bold.ttf | Bin 224452 -> 0 bytes src/gui/qt-daemon/html/OpenSans-ExtraBold.ttf | Bin 222424 -> 0 bytes src/gui/qt-daemon/html/OpenSans-Light.ttf | Bin 222236 -> 0 bytes src/gui/qt-daemon/html/OpenSans-Regular.ttf | Bin 217276 -> 0 bytes src/gui/qt-daemon/html/OpenSans-SemiBold.ttf | Bin 221164 -> 0 bytes src/gui/qt-daemon/html/account.svg | 15 - src/gui/qt-daemon/html/alert.svg | 9 - src/gui/qt-daemon/html/arrow-down.svg | 9 - src/gui/qt-daemon/html/arrow-right.svg | 9 - src/gui/qt-daemon/html/arrow-up.svg | 9 - .../html/assets/fonts/OpenSans-Bold.ttf | Bin 224452 -> 0 bytes .../html/assets/fonts/OpenSans-ExtraBold.ttf | Bin 222424 -> 0 bytes .../html/assets/fonts/OpenSans-Light.ttf | Bin 222236 -> 0 bytes .../html/assets/fonts/OpenSans-Regular.ttf | Bin 217276 -> 0 bytes .../html/assets/fonts/OpenSans-SemiBold.ttf | Bin 221164 -> 0 bytes src/gui/qt-daemon/html/assets/i18n/af.json | 593 - src/gui/qt-daemon/html/assets/i18n/ar.json | 593 - src/gui/qt-daemon/html/assets/i18n/ca.json | 593 - src/gui/qt-daemon/html/assets/i18n/cs.json | 593 - src/gui/qt-daemon/html/assets/i18n/da.json | 593 - src/gui/qt-daemon/html/assets/i18n/de.json | 593 - src/gui/qt-daemon/html/assets/i18n/el.json | 593 - src/gui/qt-daemon/html/assets/i18n/en.json | 633 - src/gui/qt-daemon/html/assets/i18n/es.json | 593 - src/gui/qt-daemon/html/assets/i18n/fi.json | 593 - src/gui/qt-daemon/html/assets/i18n/fr.json | 593 - src/gui/qt-daemon/html/assets/i18n/he.json | 593 - src/gui/qt-daemon/html/assets/i18n/hu.json | 593 - src/gui/qt-daemon/html/assets/i18n/id.json | 587 - src/gui/qt-daemon/html/assets/i18n/it.json | 593 - src/gui/qt-daemon/html/assets/i18n/ja.json | 588 - src/gui/qt-daemon/html/assets/i18n/ko.json | 593 - src/gui/qt-daemon/html/assets/i18n/nl.json | 593 - src/gui/qt-daemon/html/assets/i18n/no.json | 593 - src/gui/qt-daemon/html/assets/i18n/pl.json | 593 - src/gui/qt-daemon/html/assets/i18n/pt.json | 593 - src/gui/qt-daemon/html/assets/i18n/ro.json | 593 - src/gui/qt-daemon/html/assets/i18n/ru.json | 593 - src/gui/qt-daemon/html/assets/i18n/sr.json | 593 - src/gui/qt-daemon/html/assets/i18n/sv.json | 593 - src/gui/qt-daemon/html/assets/i18n/tr.json | 593 - src/gui/qt-daemon/html/assets/i18n/uk.json | 593 - src/gui/qt-daemon/html/assets/i18n/vi.json | 593 - src/gui/qt-daemon/html/assets/i18n/zh.json | 593 - .../qt-daemon/html/assets/icons/account.svg | 15 - .../qt-daemon/html/assets/icons/addnew.svg | 9 - src/gui/qt-daemon/html/assets/icons/alert.svg | 9 - .../html/assets/icons/arrow-down.svg | 9 - .../html/assets/icons/arrow-right.svg | 9 - .../qt-daemon/html/assets/icons/arrow-up.svg | 9 - src/gui/qt-daemon/html/assets/icons/back.svg | 10 - .../html/assets/icons/close-wallet-blue.svg | 10 - .../html/assets/icons/close-wallet.svg | 10 - src/gui/qt-daemon/html/assets/icons/close.svg | 18 - .../html/assets/icons/complete-testwallet.svg | 11 - .../qt-daemon/html/assets/icons/contacts.svg | 24 - .../qt-daemon/html/assets/icons/contracts.svg | 13 - src/gui/qt-daemon/html/assets/icons/copy.svg | 10 - .../qt-daemon/html/assets/icons/delete.svg | 11 - .../html/assets/icons/details-settings.svg | 16 - .../qt-daemon/html/assets/icons/details.svg | 10 - src/gui/qt-daemon/html/assets/icons/edit.svg | 10 - .../qt-daemon/html/assets/icons/history.svg | 12 - src/gui/qt-daemon/html/assets/icons/howto.svg | 20 - .../qt-daemon/html/assets/icons/icons.json | 12 - .../html/assets/icons/import-export.svg | 10 - src/gui/qt-daemon/html/assets/icons/info.svg | 1 - .../html/assets/icons/lock-transaction.svg | 10 - src/gui/qt-daemon/html/assets/icons/lock.svg | 12 - src/gui/qt-daemon/html/assets/icons/logo.svg | 31 - .../qt-daemon/html/assets/icons/logout.svg | 14 - .../qt-daemon/html/assets/icons/message.svg | 9 - .../html/assets/icons/modal-alert.svg | 19 - .../html/assets/icons/modal-info.svg | 21 - .../html/assets/icons/modal-success.svg | 26 - src/gui/qt-daemon/html/assets/icons/new.svg | 17 - .../html/assets/icons/not-allowed.svg | 7 - .../qt-daemon/html/assets/icons/purchase.svg | 12 - .../html/assets/icons/receive-green.svg | 10 - .../qt-daemon/html/assets/icons/receive.svg | 10 - .../qt-daemon/html/assets/icons/safety.svg | 21 - .../qt-daemon/html/assets/icons/secured.svg | 10 - src/gui/qt-daemon/html/assets/icons/sell.svg | 15 - .../qt-daemon/html/assets/icons/send-red.svg | 10 - src/gui/qt-daemon/html/assets/icons/send.svg | 10 - .../qt-daemon/html/assets/icons/settings.svg | 14 - .../qt-daemon/html/assets/icons/staking.svg | 14 - src/gui/qt-daemon/html/assets/icons/time.svg | 10 - .../html/assets/icons/unlock-transaction.svg | 10 - .../qt-daemon/html/assets/icons/unsecured.svg | 10 - .../html/assets/icons/update-alert.svg | 9 - .../qt-daemon/html/assets/icons/update.svg | 12 - .../qt-daemon/html/assets/images/Loading.png | Bin 3245 -> 0 bytes .../html/assets/images/background-dark.png | Bin 34583 -> 0 bytes .../html/assets/images/background-gray.png | Bin 37975 -> 0 bytes .../html/assets/images/background-white.png | Bin 35468 -> 0 bytes src/gui/qt-daemon/html/assets/images/logo.png | Bin 5422 -> 0 bytes .../qt-daemon/html/assets/images/qr-code.png | Bin 5337 -> 0 bytes .../html/assets/scss/base/_base.scss | 1045 - .../html/assets/scss/base/_mixins.scss | 98 - .../html/assets/scss/base/_null.scss | 128 - .../html/assets/scss/base/_theme.scss | 187 - .../html/assets/scss/layout/_contact.scss | 88 - .../html/assets/scss/layout/_main.scss | 119 - .../html/assets/scss/layout/_seed-phrase.scss | 258 - .../html/assets/scss/layout/_settings.scss | 0 .../html/assets/scss/layout/_sidebar.scss | 191 - .../html/assets/scss/layout/_status.scss | 232 - .../html/assets/scss/layout/_wallet.scss | 531 - .../html/assets/scss/modules/_head.scss | 64 - .../html/assets/scss/modules/_scroll.scss | 24 - .../html/assets/scss/modules/_table.scss | 64 - src/gui/qt-daemon/html/back.svg | 10 - src/gui/qt-daemon/html/background-dark.png | Bin 34583 -> 0 bytes src/gui/qt-daemon/html/background-gray.png | Bin 37975 -> 0 bytes src/gui/qt-daemon/html/background-white.png | Bin 35468 -> 0 bytes src/gui/qt-daemon/html/close-wallet-blue.svg | 10 - src/gui/qt-daemon/html/close-wallet.svg | 10 - src/gui/qt-daemon/html/close.svg | 18 - .../qt-daemon/html/complete-testwallet.svg | 11 - src/gui/qt-daemon/html/contacts.svg | 24 - src/gui/qt-daemon/html/contracts.svg | 13 - src/gui/qt-daemon/html/copy.svg | 10 - src/gui/qt-daemon/html/delete.svg | 11 - src/gui/qt-daemon/html/details-settings.svg | 16 - src/gui/qt-daemon/html/details.svg | 10 - src/gui/qt-daemon/html/edit.svg | 10 - src/gui/qt-daemon/html/favicon.ico | Bin 145619 -> 0 bytes src/gui/qt-daemon/html/files/Zano.desktop | 8 - src/gui/qt-daemon/html/files/app22macos.png | Bin 992 -> 0 bytes .../html/files/app22macos_blocked.png | Bin 15225 -> 0 bytes src/gui/qt-daemon/html/files/app22windows.png | Bin 724 -> 0 bytes .../html/files/app22windows_blocked.png | Bin 1247 -> 0 bytes .../html/files/desktop_linux_icon.png | Bin 1293 -> 0 bytes src/gui/qt-daemon/html/history.svg | 12 - src/gui/qt-daemon/html/howto.svg | 20 - src/gui/qt-daemon/html/import-export.svg | 10 - src/gui/qt-daemon/html/index.html | 15 - src/gui/qt-daemon/html/info.svg | 1 - src/gui/qt-daemon/html/lock-transaction.svg | 10 - src/gui/qt-daemon/html/lock.svg | 12 - src/gui/qt-daemon/html/logout.svg | 14 - src/gui/qt-daemon/html/main.js | 9788 - src/gui/qt-daemon/html/main.js.map | 1 - src/gui/qt-daemon/html/message.svg | 9 - src/gui/qt-daemon/html/modal-alert.svg | 19 - src/gui/qt-daemon/html/modal-info.svg | 21 - src/gui/qt-daemon/html/modal-success.svg | 26 - src/gui/qt-daemon/html/new.svg | 17 - src/gui/qt-daemon/html/not-allowed.svg | 7 - src/gui/qt-daemon/html/polyfills.js | 5810 - src/gui/qt-daemon/html/polyfills.js.map | 1 - src/gui/qt-daemon/html/purchase.svg | 12 - src/gui/qt-daemon/html/receive-green.svg | 10 - src/gui/qt-daemon/html/receive.svg | 10 - src/gui/qt-daemon/html/runtime.js | 154 - src/gui/qt-daemon/html/runtime.js.map | 1 - src/gui/qt-daemon/html/safety.svg | 21 - src/gui/qt-daemon/html/secured.svg | 10 - src/gui/qt-daemon/html/sell.svg | 15 - src/gui/qt-daemon/html/send-red.svg | 10 - src/gui/qt-daemon/html/send.svg | 10 - src/gui/qt-daemon/html/settings.svg | 14 - src/gui/qt-daemon/html/staking.svg | 14 - src/gui/qt-daemon/html/styles.js | 566 - src/gui/qt-daemon/html/styles.js.map | 1 - src/gui/qt-daemon/html/time.svg | 10 - src/gui/qt-daemon/html/unlock-transaction.svg | 10 - src/gui/qt-daemon/html/unsecured.svg | 10 - src/gui/qt-daemon/html/update-alert.svg | 9 - src/gui/qt-daemon/html/update.svg | 12 - src/gui/qt-daemon/html/vendor.js | 137619 --------------- src/gui/qt-daemon/html/vendor.js.map | 1 - src/gui/qt-daemon/html_source/.editorconfig | 13 - src/gui/qt-daemon/html_source/.gitignore | 40 - src/gui/qt-daemon/html_source/README.md | 27 - src/gui/qt-daemon/html_source/angular.json | 140 - .../html_source/e2e/protractor.conf.js | 28 - .../html_source/e2e/src/app.e2e-spec.ts | 14 - .../qt-daemon/html_source/e2e/src/app.po.ts | 11 - .../html_source/e2e/tsconfig.e2e.json | 13 - src/gui/qt-daemon/html_source/package.json | 64 - .../confirm-modal.component.html | 16 - .../confirm-modal.component.scss | 88 - .../confirm-modal.component.spec.ts | 25 - .../confirm-modal/confirm-modal.component.ts | 28 - .../input-disable-selection.directive.spec.ts | 8 - .../input-disable-selection.directive.ts | 16 - .../input-validate.directive.spec.ts | 8 - .../input-validate.directive.ts | 79 - .../modal-container.component.html | 11 - .../modal-container.component.scss | 90 - .../modal-container.component.spec.ts | 25 - .../modal-container.component.ts | 31 - .../progress-container.component.html | 10 - .../progress-container.component.scss | 50 - .../progress-container.component.spec.ts | 25 - .../progress-container.component.ts | 17 - .../staking-switch.component.html | 5 - .../staking-switch.component.scss | 22 - .../staking-switch.component.spec.ts | 25 - .../staking-switch.component.ts | 31 - .../_helpers/directives/tooltip.directive.ts | 242 - .../transaction-details.component.html | 35 - .../transaction-details.component.scss | 43 - .../transaction-details.component.spec.ts | 25 - .../transaction-details.component.ts | 41 - .../src/app/_helpers/models/contact.model.ts | 6 - .../src/app/_helpers/models/contract.model.ts | 24 - .../app/_helpers/models/transaction.model.ts | 24 - .../src/app/_helpers/models/wallet.model.ts | 246 - .../contract-status-messages.pipe.spec.ts | 8 - .../pipes/contract-status-messages.pipe.ts | 106 - .../pipes/contract-time-left.pipe.spec.ts | 8 - .../_helpers/pipes/contract-time-left.pipe.ts | 69 - .../pipes/history-type-messages.pipe.spec.ts | 8 - .../pipes/history-type-messages.pipe.ts | 65 - .../_helpers/pipes/int-to-money.pipe.spec.ts | 8 - .../app/_helpers/pipes/int-to-money.pipe.ts | 35 - .../_helpers/pipes/money-to-int.pipe.spec.ts | 8 - .../app/_helpers/pipes/money-to-int.pipe.ts | 45 - .../app/_helpers/pipes/safe-html.pipe.spec.ts | 8 - .../src/app/_helpers/pipes/safe-html.pipe.ts | 15 - .../_helpers/services/backend.service.spec.ts | 12 - .../app/_helpers/services/backend.service.ts | 777 - .../_helpers/services/modal.service.spec.ts | 12 - .../app/_helpers/services/modal.service.ts | 52 - .../services/pagination.service.spec.ts | 16 - .../_helpers/services/pagination.service.ts | 102 - .../app/_helpers/services/pagination.store.ts | 36 - .../app/_helpers/services/utils.service.ts | 14 - .../services/variables.service.spec.ts | 12 - .../_helpers/services/variables.service.ts | 236 - .../html_source/src/app/_shared/constants.ts | 10 - .../add-contacts/add-contacts.component.html | 66 - .../add-contacts/add-contacts.component.scss | 13 - .../add-contacts.component.spec.ts | 25 - .../add-contacts/add-contacts.component.ts | 191 - .../html_source/src/app/app-routing.module.ts | 159 - .../html_source/src/app/app.component.html | 28 - .../html_source/src/app/app.component.scss | 58 - .../html_source/src/app/app.component.spec.ts | 35 - .../html_source/src/app/app.component.ts | 752 - .../html_source/src/app/app.module.ts | 170 - .../assign-alias/assign-alias.component.html | 71 - .../assign-alias/assign-alias.component.scss | 46 - .../assign-alias.component.spec.ts | 25 - .../assign-alias/assign-alias.component.ts | 120 - .../contact-send/contact-send.component.html | 44 - .../contact-send/contact-send.component.scss | 33 - .../contact-send.component.spec.ts | 25 - .../contact-send/contact-send.component.ts | 44 - .../src/app/contacts/contacts.component.html | 95 - .../src/app/contacts/contacts.component.scss | 117 - .../app/contacts/contacts.component.spec.ts | 25 - .../src/app/contacts/contacts.component.ts | 60 - .../app/contracts/contracts.component.html | 52 - .../app/contracts/contracts.component.scss | 90 - .../app/contracts/contracts.component.spec.ts | 25 - .../src/app/contracts/contracts.component.ts | 57 - .../create-wallet.component.html | 62 - .../create-wallet.component.scss | 29 - .../create-wallet.component.spec.ts | 25 - .../create-wallet/create-wallet.component.ts | 102 - .../app/edit-alias/edit-alias.component.html | 53 - .../app/edit-alias/edit-alias.component.scss | 23 - .../edit-alias/edit-alias.component.spec.ts | 25 - .../app/edit-alias/edit-alias.component.ts | 63 - .../export-import.component.html | 21 - .../export-import.component.scss | 25 - .../export-import.component.spec.ts | 25 - .../export-import/export-import.component.ts | 138 - .../src/app/history/history.component.html | 70 - .../src/app/history/history.component.scss | 126 - .../src/app/history/history.component.spec.ts | 25 - .../src/app/history/history.component.ts | 80 - .../src/app/login/login.component.html | 126 - .../src/app/login/login.component.scss | 52 - .../src/app/login/login.component.spec.ts | 25 - .../src/app/login/login.component.ts | 245 - .../src/app/main/main.component.html | 22 - .../src/app/main/main.component.scss | 47 - .../src/app/main/main.component.spec.ts | 25 - .../src/app/main/main.component.ts | 56 - .../src/app/messages/messages.component.html | 23 - .../src/app/messages/messages.component.scss | 42 - .../app/messages/messages.component.spec.ts | 25 - .../src/app/messages/messages.component.ts | 33 - .../open-wallet-modal.component.html | 18 - .../open-wallet-modal.component.scss | 48 - .../open-wallet-modal.component.spec.ts | 25 - .../open-wallet-modal.component.ts | 127 - .../open-wallet/open-wallet.component.html | 44 - .../open-wallet/open-wallet.component.scss | 17 - .../open-wallet/open-wallet.component.spec.ts | 25 - .../app/open-wallet/open-wallet.component.ts | 148 - .../src/app/purchase/purchase.component.html | 286 - .../src/app/purchase/purchase.component.scss | 203 - .../app/purchase/purchase.component.spec.ts | 25 - .../src/app/purchase/purchase.component.ts | 413 - .../src/app/receive/receive.component.html | 7 - .../src/app/receive/receive.component.scss | 38 - .../src/app/receive/receive.component.spec.ts | 25 - .../src/app/receive/receive.component.ts | 51 - .../restore-wallet.component.html | 86 - .../restore-wallet.component.scss | 37 - .../restore-wallet.component.spec.ts | 25 - .../restore-wallet.component.ts | 274 - .../seed-phrase/seed-phrase.component.html | 112 - .../seed-phrase/seed-phrase.component.scss | 16 - .../seed-phrase/seed-phrase.component.spec.ts | 25 - .../app/seed-phrase/seed-phrase.component.ts | 169 - .../app/send-modal/send-modal.component.html | 49 - .../app/send-modal/send-modal.component.scss | 91 - .../send-modal/send-modal.component.spec.ts | 25 - .../app/send-modal/send-modal.component.ts | 53 - .../src/app/send/send.component.html | 90 - .../src/app/send/send.component.scss | 93 - .../src/app/send/send.component.spec.ts | 25 - .../src/app/send/send.component.ts | 225 - .../src/app/settings/settings.component.html | 124 - .../src/app/settings/settings.component.scss | 88 - .../app/settings/settings.component.spec.ts | 25 - .../src/app/settings/settings.component.ts | 208 - .../src/app/sidebar/sidebar.component.html | 188 - .../src/app/sidebar/sidebar.component.scss | 444 - .../src/app/sidebar/sidebar.component.spec.ts | 25 - .../src/app/sidebar/sidebar.component.ts | 144 - .../src/app/staking/staking.component.html | 47 - .../src/app/staking/staking.component.scss | 94 - .../src/app/staking/staking.component.spec.ts | 25 - .../src/app/staking/staking.component.ts | 408 - .../transfer-alias.component.html | 56 - .../transfer-alias.component.scss | 23 - .../transfer-alias.component.spec.ts | 25 - .../transfer-alias.component.ts | 108 - .../typing-message.component.html | 63 - .../typing-message.component.scss | 65 - .../typing-message.component.spec.ts | 25 - .../typing-message.component.ts | 22 - .../wallet-details.component.html | 90 - .../wallet-details.component.scss | 26 - .../wallet-details.component.spec.ts | 25 - .../wallet-details.component.ts | 150 - .../src/app/wallet/wallet.component.html | 94 - .../src/app/wallet/wallet.component.scss | 302 - .../src/app/wallet/wallet.component.spec.ts | 25 - .../src/app/wallet/wallet.component.ts | 485 - .../qt-daemon/html_source/src/assets/.gitkeep | 0 .../src/assets/fonts/OpenSans-Bold.ttf | Bin 224452 -> 0 bytes .../src/assets/fonts/OpenSans-ExtraBold.ttf | Bin 222424 -> 0 bytes .../src/assets/fonts/OpenSans-Light.ttf | Bin 222236 -> 0 bytes .../src/assets/fonts/OpenSans-Regular.ttf | Bin 217276 -> 0 bytes .../src/assets/fonts/OpenSans-SemiBold.ttf | Bin 221164 -> 0 bytes .../html_source/src/assets/i18n/af.json | 593 - .../html_source/src/assets/i18n/ar.json | 593 - .../html_source/src/assets/i18n/ca.json | 593 - .../html_source/src/assets/i18n/cs.json | 593 - .../html_source/src/assets/i18n/da.json | 593 - .../html_source/src/assets/i18n/de.json | 593 - .../html_source/src/assets/i18n/el.json | 593 - .../html_source/src/assets/i18n/en.json | 633 - .../html_source/src/assets/i18n/es.json | 593 - .../html_source/src/assets/i18n/fi.json | 593 - .../html_source/src/assets/i18n/fr.json | 593 - .../html_source/src/assets/i18n/he.json | 593 - .../html_source/src/assets/i18n/hu.json | 593 - .../html_source/src/assets/i18n/id.json | 587 - .../html_source/src/assets/i18n/it.json | 593 - .../html_source/src/assets/i18n/ja.json | 588 - .../html_source/src/assets/i18n/ko.json | 593 - .../html_source/src/assets/i18n/nl.json | 593 - .../html_source/src/assets/i18n/no.json | 593 - .../html_source/src/assets/i18n/pl.json | 593 - .../html_source/src/assets/i18n/pt.json | 593 - .../html_source/src/assets/i18n/ro.json | 593 - .../html_source/src/assets/i18n/ru.json | 593 - .../html_source/src/assets/i18n/sr.json | 593 - .../html_source/src/assets/i18n/sv.json | 593 - .../html_source/src/assets/i18n/tr.json | 593 - .../html_source/src/assets/i18n/uk.json | 593 - .../html_source/src/assets/i18n/vi.json | 593 - .../html_source/src/assets/i18n/zh.json | 593 - .../html_source/src/assets/icons/account.svg | 15 - .../html_source/src/assets/icons/addnew.svg | 9 - .../html_source/src/assets/icons/alert.svg | 9 - .../src/assets/icons/arrow-down.svg | 9 - .../src/assets/icons/arrow-right.svg | 9 - .../html_source/src/assets/icons/arrow-up.svg | 9 - .../html_source/src/assets/icons/back.svg | 10 - .../src/assets/icons/close-wallet-blue.svg | 10 - .../src/assets/icons/close-wallet.svg | 10 - .../html_source/src/assets/icons/close.svg | 18 - .../src/assets/icons/complete-testwallet.svg | 11 - .../html_source/src/assets/icons/contacts.svg | 24 - .../src/assets/icons/contracts.svg | 13 - .../html_source/src/assets/icons/copy.svg | 10 - .../html_source/src/assets/icons/delete.svg | 11 - .../src/assets/icons/details-settings.svg | 16 - .../html_source/src/assets/icons/details.svg | 10 - .../html_source/src/assets/icons/edit.svg | 10 - .../html_source/src/assets/icons/history.svg | 12 - .../html_source/src/assets/icons/howto.svg | 20 - .../html_source/src/assets/icons/icons.json | 13 - .../src/assets/icons/import-export.svg | 10 - .../html_source/src/assets/icons/info.svg | 1 - .../src/assets/icons/lock-transaction.svg | 10 - .../html_source/src/assets/icons/lock.svg | 12 - .../html_source/src/assets/icons/logo.svg | 31 - .../html_source/src/assets/icons/logout.svg | 14 - .../html_source/src/assets/icons/message.svg | 9 - .../src/assets/icons/modal-alert.svg | 19 - .../src/assets/icons/modal-info.svg | 21 - .../src/assets/icons/modal-success.svg | 26 - .../html_source/src/assets/icons/new.svg | 17 - .../src/assets/icons/not-allowed.svg | 7 - .../html_source/src/assets/icons/purchase.svg | 12 - .../src/assets/icons/receive-green.svg | 10 - .../html_source/src/assets/icons/receive.svg | 10 - .../html_source/src/assets/icons/safety.svg | 21 - .../html_source/src/assets/icons/secured.svg | 10 - .../html_source/src/assets/icons/sell.svg | 15 - .../html_source/src/assets/icons/send-red.svg | 10 - .../html_source/src/assets/icons/send.svg | 10 - .../html_source/src/assets/icons/settings.svg | 14 - .../html_source/src/assets/icons/staking.svg | 14 - .../html_source/src/assets/icons/time.svg | 10 - .../src/assets/icons/unlock-transaction.svg | 10 - .../src/assets/icons/unsecured.svg | 10 - .../src/assets/icons/update-alert.svg | 9 - .../html_source/src/assets/icons/update.svg | 12 - .../html_source/src/assets/images/Loading.png | Bin 3245 -> 0 bytes .../src/assets/images/background-dark.png | Bin 34583 -> 0 bytes .../src/assets/images/background-gray.png | Bin 37975 -> 0 bytes .../src/assets/images/background-white.png | Bin 35468 -> 0 bytes .../html_source/src/assets/images/logo.png | Bin 5422 -> 0 bytes .../html_source/src/assets/images/qr-code.png | Bin 5337 -> 0 bytes .../src/assets/scss/base/_base.scss | 1045 - .../src/assets/scss/base/_mixins.scss | 98 - .../src/assets/scss/base/_null.scss | 128 - .../src/assets/scss/base/_theme.scss | 187 - .../src/assets/scss/layout/_contact.scss | 88 - .../src/assets/scss/layout/_main.scss | 119 - .../src/assets/scss/layout/_seed-phrase.scss | 258 - .../src/assets/scss/layout/_settings.scss | 0 .../src/assets/scss/layout/_sidebar.scss | 191 - .../src/assets/scss/layout/_status.scss | 232 - .../src/assets/scss/layout/_wallet.scss | 531 - .../src/assets/scss/modules/_head.scss | 64 - .../src/assets/scss/modules/_scroll.scss | 24 - .../src/assets/scss/modules/_table.scss | 64 - .../qt-daemon/html_source/src/browserslist | 11 - .../src/environments/environment.prod.ts | 3 - .../src/environments/environment.ts | 16 - src/gui/qt-daemon/html_source/src/favicon.ico | Bin 145619 -> 0 bytes .../html_source/src/files/Zano.desktop | 8 - .../html_source/src/files/app22macos.png | Bin 992 -> 0 bytes .../src/files/app22macos_blocked.png | Bin 15225 -> 0 bytes .../html_source/src/files/app22windows.png | Bin 724 -> 0 bytes .../src/files/app22windows_blocked.png | Bin 1247 -> 0 bytes .../src/files/desktop_linux_icon.png | Bin 1293 -> 0 bytes src/gui/qt-daemon/html_source/src/index.html | 15 - .../qt-daemon/html_source/src/karma.conf.js | 31 - src/gui/qt-daemon/html_source/src/main.ts | 13 - .../qt-daemon/html_source/src/polyfills.ts | 80 - src/gui/qt-daemon/html_source/src/store.ts | 36 - src/gui/qt-daemon/html_source/src/styles.scss | 95 - src/gui/qt-daemon/html_source/src/test.ts | 20 - .../html_source/src/tsconfig.app.json | 11 - .../html_source/src/tsconfig.spec.json | 18 - src/gui/qt-daemon/html_source/src/tslint.json | 17 - src/gui/qt-daemon/html_source/tsconfig.json | 28 - src/gui/qt-daemon/html_source/tslint.json | 131 - src/gui/qt-daemon/layout | 1 + 475 files changed, 4 insertions(+), 210436 deletions(-) delete mode 100644 src/gui/qt-daemon/html/OpenSans-Bold.ttf delete mode 100644 src/gui/qt-daemon/html/OpenSans-ExtraBold.ttf delete mode 100644 src/gui/qt-daemon/html/OpenSans-Light.ttf delete mode 100644 src/gui/qt-daemon/html/OpenSans-Regular.ttf delete mode 100644 src/gui/qt-daemon/html/OpenSans-SemiBold.ttf delete mode 100644 src/gui/qt-daemon/html/account.svg delete mode 100644 src/gui/qt-daemon/html/alert.svg delete mode 100644 src/gui/qt-daemon/html/arrow-down.svg delete mode 100644 src/gui/qt-daemon/html/arrow-right.svg delete mode 100644 src/gui/qt-daemon/html/arrow-up.svg delete mode 100644 src/gui/qt-daemon/html/assets/fonts/OpenSans-Bold.ttf delete mode 100644 src/gui/qt-daemon/html/assets/fonts/OpenSans-ExtraBold.ttf delete mode 100644 src/gui/qt-daemon/html/assets/fonts/OpenSans-Light.ttf delete mode 100644 src/gui/qt-daemon/html/assets/fonts/OpenSans-Regular.ttf delete mode 100644 src/gui/qt-daemon/html/assets/fonts/OpenSans-SemiBold.ttf delete mode 100644 src/gui/qt-daemon/html/assets/i18n/af.json delete mode 100644 src/gui/qt-daemon/html/assets/i18n/ar.json delete mode 100644 src/gui/qt-daemon/html/assets/i18n/ca.json delete mode 100644 src/gui/qt-daemon/html/assets/i18n/cs.json delete mode 100644 src/gui/qt-daemon/html/assets/i18n/da.json delete mode 100644 src/gui/qt-daemon/html/assets/i18n/de.json delete mode 100644 src/gui/qt-daemon/html/assets/i18n/el.json delete mode 100644 src/gui/qt-daemon/html/assets/i18n/en.json delete mode 100644 src/gui/qt-daemon/html/assets/i18n/es.json delete mode 100644 src/gui/qt-daemon/html/assets/i18n/fi.json delete mode 100644 src/gui/qt-daemon/html/assets/i18n/fr.json delete mode 100644 src/gui/qt-daemon/html/assets/i18n/he.json delete mode 100644 src/gui/qt-daemon/html/assets/i18n/hu.json delete mode 100644 src/gui/qt-daemon/html/assets/i18n/id.json delete mode 100644 src/gui/qt-daemon/html/assets/i18n/it.json delete mode 100644 src/gui/qt-daemon/html/assets/i18n/ja.json delete mode 100644 src/gui/qt-daemon/html/assets/i18n/ko.json delete mode 100644 src/gui/qt-daemon/html/assets/i18n/nl.json delete mode 100644 src/gui/qt-daemon/html/assets/i18n/no.json delete mode 100644 src/gui/qt-daemon/html/assets/i18n/pl.json delete mode 100644 src/gui/qt-daemon/html/assets/i18n/pt.json delete mode 100644 src/gui/qt-daemon/html/assets/i18n/ro.json delete mode 100644 src/gui/qt-daemon/html/assets/i18n/ru.json delete mode 100644 src/gui/qt-daemon/html/assets/i18n/sr.json delete mode 100644 src/gui/qt-daemon/html/assets/i18n/sv.json delete mode 100644 src/gui/qt-daemon/html/assets/i18n/tr.json delete mode 100644 src/gui/qt-daemon/html/assets/i18n/uk.json delete mode 100644 src/gui/qt-daemon/html/assets/i18n/vi.json delete mode 100644 src/gui/qt-daemon/html/assets/i18n/zh.json delete mode 100644 src/gui/qt-daemon/html/assets/icons/account.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/addnew.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/alert.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/arrow-down.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/arrow-right.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/arrow-up.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/back.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/close-wallet-blue.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/close-wallet.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/close.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/complete-testwallet.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/contacts.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/contracts.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/copy.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/delete.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/details-settings.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/details.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/edit.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/history.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/howto.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/icons.json delete mode 100644 src/gui/qt-daemon/html/assets/icons/import-export.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/info.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/lock-transaction.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/lock.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/logo.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/logout.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/message.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/modal-alert.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/modal-info.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/modal-success.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/new.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/not-allowed.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/purchase.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/receive-green.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/receive.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/safety.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/secured.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/sell.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/send-red.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/send.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/settings.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/staking.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/time.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/unlock-transaction.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/unsecured.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/update-alert.svg delete mode 100644 src/gui/qt-daemon/html/assets/icons/update.svg delete mode 100644 src/gui/qt-daemon/html/assets/images/Loading.png delete mode 100644 src/gui/qt-daemon/html/assets/images/background-dark.png delete mode 100644 src/gui/qt-daemon/html/assets/images/background-gray.png delete mode 100644 src/gui/qt-daemon/html/assets/images/background-white.png delete mode 100644 src/gui/qt-daemon/html/assets/images/logo.png delete mode 100644 src/gui/qt-daemon/html/assets/images/qr-code.png delete mode 100644 src/gui/qt-daemon/html/assets/scss/base/_base.scss delete mode 100644 src/gui/qt-daemon/html/assets/scss/base/_mixins.scss delete mode 100644 src/gui/qt-daemon/html/assets/scss/base/_null.scss delete mode 100644 src/gui/qt-daemon/html/assets/scss/base/_theme.scss delete mode 100644 src/gui/qt-daemon/html/assets/scss/layout/_contact.scss delete mode 100644 src/gui/qt-daemon/html/assets/scss/layout/_main.scss delete mode 100644 src/gui/qt-daemon/html/assets/scss/layout/_seed-phrase.scss delete mode 100644 src/gui/qt-daemon/html/assets/scss/layout/_settings.scss delete mode 100644 src/gui/qt-daemon/html/assets/scss/layout/_sidebar.scss delete mode 100644 src/gui/qt-daemon/html/assets/scss/layout/_status.scss delete mode 100644 src/gui/qt-daemon/html/assets/scss/layout/_wallet.scss delete mode 100644 src/gui/qt-daemon/html/assets/scss/modules/_head.scss delete mode 100644 src/gui/qt-daemon/html/assets/scss/modules/_scroll.scss delete mode 100644 src/gui/qt-daemon/html/assets/scss/modules/_table.scss delete mode 100644 src/gui/qt-daemon/html/back.svg delete mode 100644 src/gui/qt-daemon/html/background-dark.png delete mode 100644 src/gui/qt-daemon/html/background-gray.png delete mode 100644 src/gui/qt-daemon/html/background-white.png delete mode 100644 src/gui/qt-daemon/html/close-wallet-blue.svg delete mode 100644 src/gui/qt-daemon/html/close-wallet.svg delete mode 100644 src/gui/qt-daemon/html/close.svg delete mode 100644 src/gui/qt-daemon/html/complete-testwallet.svg delete mode 100644 src/gui/qt-daemon/html/contacts.svg delete mode 100644 src/gui/qt-daemon/html/contracts.svg delete mode 100644 src/gui/qt-daemon/html/copy.svg delete mode 100644 src/gui/qt-daemon/html/delete.svg delete mode 100644 src/gui/qt-daemon/html/details-settings.svg delete mode 100644 src/gui/qt-daemon/html/details.svg delete mode 100644 src/gui/qt-daemon/html/edit.svg delete mode 100644 src/gui/qt-daemon/html/favicon.ico delete mode 100644 src/gui/qt-daemon/html/files/Zano.desktop delete mode 100644 src/gui/qt-daemon/html/files/app22macos.png delete mode 100644 src/gui/qt-daemon/html/files/app22macos_blocked.png delete mode 100644 src/gui/qt-daemon/html/files/app22windows.png delete mode 100644 src/gui/qt-daemon/html/files/app22windows_blocked.png delete mode 100644 src/gui/qt-daemon/html/files/desktop_linux_icon.png delete mode 100644 src/gui/qt-daemon/html/history.svg delete mode 100644 src/gui/qt-daemon/html/howto.svg delete mode 100644 src/gui/qt-daemon/html/import-export.svg delete mode 100644 src/gui/qt-daemon/html/index.html delete mode 100644 src/gui/qt-daemon/html/info.svg delete mode 100644 src/gui/qt-daemon/html/lock-transaction.svg delete mode 100644 src/gui/qt-daemon/html/lock.svg delete mode 100644 src/gui/qt-daemon/html/logout.svg delete mode 100644 src/gui/qt-daemon/html/main.js delete mode 100644 src/gui/qt-daemon/html/main.js.map delete mode 100644 src/gui/qt-daemon/html/message.svg delete mode 100644 src/gui/qt-daemon/html/modal-alert.svg delete mode 100644 src/gui/qt-daemon/html/modal-info.svg delete mode 100644 src/gui/qt-daemon/html/modal-success.svg delete mode 100644 src/gui/qt-daemon/html/new.svg delete mode 100644 src/gui/qt-daemon/html/not-allowed.svg delete mode 100644 src/gui/qt-daemon/html/polyfills.js delete mode 100644 src/gui/qt-daemon/html/polyfills.js.map delete mode 100644 src/gui/qt-daemon/html/purchase.svg delete mode 100644 src/gui/qt-daemon/html/receive-green.svg delete mode 100644 src/gui/qt-daemon/html/receive.svg delete mode 100644 src/gui/qt-daemon/html/runtime.js delete mode 100644 src/gui/qt-daemon/html/runtime.js.map delete mode 100644 src/gui/qt-daemon/html/safety.svg delete mode 100644 src/gui/qt-daemon/html/secured.svg delete mode 100644 src/gui/qt-daemon/html/sell.svg delete mode 100644 src/gui/qt-daemon/html/send-red.svg delete mode 100644 src/gui/qt-daemon/html/send.svg delete mode 100644 src/gui/qt-daemon/html/settings.svg delete mode 100644 src/gui/qt-daemon/html/staking.svg delete mode 100644 src/gui/qt-daemon/html/styles.js delete mode 100644 src/gui/qt-daemon/html/styles.js.map delete mode 100644 src/gui/qt-daemon/html/time.svg delete mode 100644 src/gui/qt-daemon/html/unlock-transaction.svg delete mode 100644 src/gui/qt-daemon/html/unsecured.svg delete mode 100644 src/gui/qt-daemon/html/update-alert.svg delete mode 100644 src/gui/qt-daemon/html/update.svg delete mode 100644 src/gui/qt-daemon/html/vendor.js delete mode 100644 src/gui/qt-daemon/html/vendor.js.map delete mode 100644 src/gui/qt-daemon/html_source/.editorconfig delete mode 100644 src/gui/qt-daemon/html_source/.gitignore delete mode 100644 src/gui/qt-daemon/html_source/README.md delete mode 100644 src/gui/qt-daemon/html_source/angular.json delete mode 100644 src/gui/qt-daemon/html_source/e2e/protractor.conf.js delete mode 100644 src/gui/qt-daemon/html_source/e2e/src/app.e2e-spec.ts delete mode 100644 src/gui/qt-daemon/html_source/e2e/src/app.po.ts delete mode 100644 src/gui/qt-daemon/html_source/e2e/tsconfig.e2e.json delete mode 100644 src/gui/qt-daemon/html_source/package.json delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/directives/confirm-modal/confirm-modal.component.html delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/directives/confirm-modal/confirm-modal.component.scss delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/directives/confirm-modal/confirm-modal.component.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/directives/confirm-modal/confirm-modal.component.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/directives/input-disable-selection/input-disable-selection.directive.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/directives/input-disable-selection/input-disable-selection.directive.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/directives/input-validate/input-validate.directive.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/directives/input-validate/input-validate.directive.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/directives/modal-container/modal-container.component.html delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/directives/modal-container/modal-container.component.scss delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/directives/modal-container/modal-container.component.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/directives/modal-container/modal-container.component.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/directives/progress-container/progress-container.component.html delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/directives/progress-container/progress-container.component.scss delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/directives/progress-container/progress-container.component.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/directives/progress-container/progress-container.component.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/directives/staking-switch/staking-switch.component.html delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/directives/staking-switch/staking-switch.component.scss delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/directives/staking-switch/staking-switch.component.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/directives/staking-switch/staking-switch.component.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/directives/tooltip.directive.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/directives/transaction-details/transaction-details.component.html delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/directives/transaction-details/transaction-details.component.scss delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/directives/transaction-details/transaction-details.component.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/directives/transaction-details/transaction-details.component.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/models/contact.model.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/models/contract.model.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/models/transaction.model.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/models/wallet.model.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/pipes/contract-status-messages.pipe.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/pipes/contract-status-messages.pipe.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/pipes/contract-time-left.pipe.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/pipes/contract-time-left.pipe.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/pipes/history-type-messages.pipe.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/pipes/history-type-messages.pipe.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/pipes/int-to-money.pipe.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/pipes/int-to-money.pipe.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/pipes/money-to-int.pipe.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/pipes/money-to-int.pipe.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/pipes/safe-html.pipe.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/pipes/safe-html.pipe.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/services/backend.service.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/services/backend.service.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/services/modal.service.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/services/modal.service.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/services/pagination.service.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/services/pagination.service.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/services/pagination.store.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/services/utils.service.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/services/variables.service.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_helpers/services/variables.service.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/_shared/constants.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/add-contacts/add-contacts.component.html delete mode 100644 src/gui/qt-daemon/html_source/src/app/add-contacts/add-contacts.component.scss delete mode 100644 src/gui/qt-daemon/html_source/src/app/add-contacts/add-contacts.component.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/add-contacts/add-contacts.component.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/app-routing.module.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/app.component.html delete mode 100644 src/gui/qt-daemon/html_source/src/app/app.component.scss delete mode 100644 src/gui/qt-daemon/html_source/src/app/app.component.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/app.component.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/app.module.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/assign-alias/assign-alias.component.html delete mode 100644 src/gui/qt-daemon/html_source/src/app/assign-alias/assign-alias.component.scss delete mode 100644 src/gui/qt-daemon/html_source/src/app/assign-alias/assign-alias.component.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/assign-alias/assign-alias.component.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/contact-send/contact-send.component.html delete mode 100644 src/gui/qt-daemon/html_source/src/app/contact-send/contact-send.component.scss delete mode 100644 src/gui/qt-daemon/html_source/src/app/contact-send/contact-send.component.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/contact-send/contact-send.component.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/contacts/contacts.component.html delete mode 100644 src/gui/qt-daemon/html_source/src/app/contacts/contacts.component.scss delete mode 100644 src/gui/qt-daemon/html_source/src/app/contacts/contacts.component.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/contacts/contacts.component.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/contracts/contracts.component.html delete mode 100644 src/gui/qt-daemon/html_source/src/app/contracts/contracts.component.scss delete mode 100644 src/gui/qt-daemon/html_source/src/app/contracts/contracts.component.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/contracts/contracts.component.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/create-wallet/create-wallet.component.html delete mode 100644 src/gui/qt-daemon/html_source/src/app/create-wallet/create-wallet.component.scss delete mode 100644 src/gui/qt-daemon/html_source/src/app/create-wallet/create-wallet.component.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/create-wallet/create-wallet.component.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/edit-alias/edit-alias.component.html delete mode 100644 src/gui/qt-daemon/html_source/src/app/edit-alias/edit-alias.component.scss delete mode 100644 src/gui/qt-daemon/html_source/src/app/edit-alias/edit-alias.component.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/edit-alias/edit-alias.component.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/export-import/export-import.component.html delete mode 100644 src/gui/qt-daemon/html_source/src/app/export-import/export-import.component.scss delete mode 100644 src/gui/qt-daemon/html_source/src/app/export-import/export-import.component.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/export-import/export-import.component.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/history/history.component.html delete mode 100644 src/gui/qt-daemon/html_source/src/app/history/history.component.scss delete mode 100644 src/gui/qt-daemon/html_source/src/app/history/history.component.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/history/history.component.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/login/login.component.html delete mode 100644 src/gui/qt-daemon/html_source/src/app/login/login.component.scss delete mode 100644 src/gui/qt-daemon/html_source/src/app/login/login.component.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/login/login.component.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/main/main.component.html delete mode 100644 src/gui/qt-daemon/html_source/src/app/main/main.component.scss delete mode 100644 src/gui/qt-daemon/html_source/src/app/main/main.component.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/main/main.component.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/messages/messages.component.html delete mode 100644 src/gui/qt-daemon/html_source/src/app/messages/messages.component.scss delete mode 100644 src/gui/qt-daemon/html_source/src/app/messages/messages.component.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/messages/messages.component.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/open-wallet-modal/open-wallet-modal.component.html delete mode 100644 src/gui/qt-daemon/html_source/src/app/open-wallet-modal/open-wallet-modal.component.scss delete mode 100644 src/gui/qt-daemon/html_source/src/app/open-wallet-modal/open-wallet-modal.component.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/open-wallet-modal/open-wallet-modal.component.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/open-wallet/open-wallet.component.html delete mode 100644 src/gui/qt-daemon/html_source/src/app/open-wallet/open-wallet.component.scss delete mode 100644 src/gui/qt-daemon/html_source/src/app/open-wallet/open-wallet.component.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/open-wallet/open-wallet.component.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/purchase/purchase.component.html delete mode 100644 src/gui/qt-daemon/html_source/src/app/purchase/purchase.component.scss delete mode 100644 src/gui/qt-daemon/html_source/src/app/purchase/purchase.component.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/purchase/purchase.component.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/receive/receive.component.html delete mode 100644 src/gui/qt-daemon/html_source/src/app/receive/receive.component.scss delete mode 100644 src/gui/qt-daemon/html_source/src/app/receive/receive.component.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/receive/receive.component.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/restore-wallet/restore-wallet.component.html delete mode 100644 src/gui/qt-daemon/html_source/src/app/restore-wallet/restore-wallet.component.scss delete mode 100644 src/gui/qt-daemon/html_source/src/app/restore-wallet/restore-wallet.component.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/restore-wallet/restore-wallet.component.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/seed-phrase/seed-phrase.component.html delete mode 100644 src/gui/qt-daemon/html_source/src/app/seed-phrase/seed-phrase.component.scss delete mode 100644 src/gui/qt-daemon/html_source/src/app/seed-phrase/seed-phrase.component.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/seed-phrase/seed-phrase.component.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/send-modal/send-modal.component.html delete mode 100644 src/gui/qt-daemon/html_source/src/app/send-modal/send-modal.component.scss delete mode 100644 src/gui/qt-daemon/html_source/src/app/send-modal/send-modal.component.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/send-modal/send-modal.component.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/send/send.component.html delete mode 100644 src/gui/qt-daemon/html_source/src/app/send/send.component.scss delete mode 100644 src/gui/qt-daemon/html_source/src/app/send/send.component.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/send/send.component.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/settings/settings.component.html delete mode 100644 src/gui/qt-daemon/html_source/src/app/settings/settings.component.scss delete mode 100644 src/gui/qt-daemon/html_source/src/app/settings/settings.component.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/settings/settings.component.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/sidebar/sidebar.component.html delete mode 100644 src/gui/qt-daemon/html_source/src/app/sidebar/sidebar.component.scss delete mode 100644 src/gui/qt-daemon/html_source/src/app/sidebar/sidebar.component.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/sidebar/sidebar.component.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/staking/staking.component.html delete mode 100644 src/gui/qt-daemon/html_source/src/app/staking/staking.component.scss delete mode 100644 src/gui/qt-daemon/html_source/src/app/staking/staking.component.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/staking/staking.component.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/transfer-alias/transfer-alias.component.html delete mode 100644 src/gui/qt-daemon/html_source/src/app/transfer-alias/transfer-alias.component.scss delete mode 100644 src/gui/qt-daemon/html_source/src/app/transfer-alias/transfer-alias.component.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/transfer-alias/transfer-alias.component.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/typing-message/typing-message.component.html delete mode 100644 src/gui/qt-daemon/html_source/src/app/typing-message/typing-message.component.scss delete mode 100644 src/gui/qt-daemon/html_source/src/app/typing-message/typing-message.component.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/typing-message/typing-message.component.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/wallet-details/wallet-details.component.html delete mode 100644 src/gui/qt-daemon/html_source/src/app/wallet-details/wallet-details.component.scss delete mode 100644 src/gui/qt-daemon/html_source/src/app/wallet-details/wallet-details.component.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/wallet-details/wallet-details.component.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/wallet/wallet.component.html delete mode 100644 src/gui/qt-daemon/html_source/src/app/wallet/wallet.component.scss delete mode 100644 src/gui/qt-daemon/html_source/src/app/wallet/wallet.component.spec.ts delete mode 100644 src/gui/qt-daemon/html_source/src/app/wallet/wallet.component.ts delete mode 100644 src/gui/qt-daemon/html_source/src/assets/.gitkeep delete mode 100644 src/gui/qt-daemon/html_source/src/assets/fonts/OpenSans-Bold.ttf delete mode 100644 src/gui/qt-daemon/html_source/src/assets/fonts/OpenSans-ExtraBold.ttf delete mode 100644 src/gui/qt-daemon/html_source/src/assets/fonts/OpenSans-Light.ttf delete mode 100644 src/gui/qt-daemon/html_source/src/assets/fonts/OpenSans-Regular.ttf delete mode 100644 src/gui/qt-daemon/html_source/src/assets/fonts/OpenSans-SemiBold.ttf delete mode 100644 src/gui/qt-daemon/html_source/src/assets/i18n/af.json delete mode 100644 src/gui/qt-daemon/html_source/src/assets/i18n/ar.json delete mode 100644 src/gui/qt-daemon/html_source/src/assets/i18n/ca.json delete mode 100644 src/gui/qt-daemon/html_source/src/assets/i18n/cs.json delete mode 100644 src/gui/qt-daemon/html_source/src/assets/i18n/da.json delete mode 100644 src/gui/qt-daemon/html_source/src/assets/i18n/de.json delete mode 100644 src/gui/qt-daemon/html_source/src/assets/i18n/el.json delete mode 100644 src/gui/qt-daemon/html_source/src/assets/i18n/en.json delete mode 100644 src/gui/qt-daemon/html_source/src/assets/i18n/es.json delete mode 100644 src/gui/qt-daemon/html_source/src/assets/i18n/fi.json delete mode 100644 src/gui/qt-daemon/html_source/src/assets/i18n/fr.json delete mode 100644 src/gui/qt-daemon/html_source/src/assets/i18n/he.json delete mode 100644 src/gui/qt-daemon/html_source/src/assets/i18n/hu.json delete mode 100644 src/gui/qt-daemon/html_source/src/assets/i18n/id.json delete mode 100644 src/gui/qt-daemon/html_source/src/assets/i18n/it.json delete mode 100644 src/gui/qt-daemon/html_source/src/assets/i18n/ja.json delete mode 100644 src/gui/qt-daemon/html_source/src/assets/i18n/ko.json delete mode 100644 src/gui/qt-daemon/html_source/src/assets/i18n/nl.json delete mode 100644 src/gui/qt-daemon/html_source/src/assets/i18n/no.json delete mode 100644 src/gui/qt-daemon/html_source/src/assets/i18n/pl.json delete mode 100644 src/gui/qt-daemon/html_source/src/assets/i18n/pt.json delete mode 100644 src/gui/qt-daemon/html_source/src/assets/i18n/ro.json delete mode 100644 src/gui/qt-daemon/html_source/src/assets/i18n/ru.json delete mode 100644 src/gui/qt-daemon/html_source/src/assets/i18n/sr.json delete mode 100644 src/gui/qt-daemon/html_source/src/assets/i18n/sv.json delete mode 100644 src/gui/qt-daemon/html_source/src/assets/i18n/tr.json delete mode 100644 src/gui/qt-daemon/html_source/src/assets/i18n/uk.json delete mode 100644 src/gui/qt-daemon/html_source/src/assets/i18n/vi.json delete mode 100644 src/gui/qt-daemon/html_source/src/assets/i18n/zh.json delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/account.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/addnew.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/alert.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/arrow-down.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/arrow-right.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/arrow-up.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/back.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/close-wallet-blue.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/close-wallet.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/close.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/complete-testwallet.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/contacts.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/contracts.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/copy.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/delete.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/details-settings.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/details.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/edit.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/history.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/howto.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/icons.json delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/import-export.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/info.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/lock-transaction.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/lock.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/logo.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/logout.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/message.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/modal-alert.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/modal-info.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/modal-success.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/new.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/not-allowed.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/purchase.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/receive-green.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/receive.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/safety.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/secured.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/sell.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/send-red.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/send.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/settings.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/staking.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/time.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/unlock-transaction.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/unsecured.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/update-alert.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/icons/update.svg delete mode 100644 src/gui/qt-daemon/html_source/src/assets/images/Loading.png delete mode 100644 src/gui/qt-daemon/html_source/src/assets/images/background-dark.png delete mode 100644 src/gui/qt-daemon/html_source/src/assets/images/background-gray.png delete mode 100644 src/gui/qt-daemon/html_source/src/assets/images/background-white.png delete mode 100644 src/gui/qt-daemon/html_source/src/assets/images/logo.png delete mode 100644 src/gui/qt-daemon/html_source/src/assets/images/qr-code.png delete mode 100644 src/gui/qt-daemon/html_source/src/assets/scss/base/_base.scss delete mode 100644 src/gui/qt-daemon/html_source/src/assets/scss/base/_mixins.scss delete mode 100644 src/gui/qt-daemon/html_source/src/assets/scss/base/_null.scss delete mode 100644 src/gui/qt-daemon/html_source/src/assets/scss/base/_theme.scss delete mode 100644 src/gui/qt-daemon/html_source/src/assets/scss/layout/_contact.scss delete mode 100644 src/gui/qt-daemon/html_source/src/assets/scss/layout/_main.scss delete mode 100644 src/gui/qt-daemon/html_source/src/assets/scss/layout/_seed-phrase.scss delete mode 100644 src/gui/qt-daemon/html_source/src/assets/scss/layout/_settings.scss delete mode 100644 src/gui/qt-daemon/html_source/src/assets/scss/layout/_sidebar.scss delete mode 100644 src/gui/qt-daemon/html_source/src/assets/scss/layout/_status.scss delete mode 100644 src/gui/qt-daemon/html_source/src/assets/scss/layout/_wallet.scss delete mode 100644 src/gui/qt-daemon/html_source/src/assets/scss/modules/_head.scss delete mode 100644 src/gui/qt-daemon/html_source/src/assets/scss/modules/_scroll.scss delete mode 100644 src/gui/qt-daemon/html_source/src/assets/scss/modules/_table.scss delete mode 100644 src/gui/qt-daemon/html_source/src/browserslist delete mode 100644 src/gui/qt-daemon/html_source/src/environments/environment.prod.ts delete mode 100644 src/gui/qt-daemon/html_source/src/environments/environment.ts delete mode 100644 src/gui/qt-daemon/html_source/src/favicon.ico delete mode 100644 src/gui/qt-daemon/html_source/src/files/Zano.desktop delete mode 100644 src/gui/qt-daemon/html_source/src/files/app22macos.png delete mode 100644 src/gui/qt-daemon/html_source/src/files/app22macos_blocked.png delete mode 100644 src/gui/qt-daemon/html_source/src/files/app22windows.png delete mode 100644 src/gui/qt-daemon/html_source/src/files/app22windows_blocked.png delete mode 100644 src/gui/qt-daemon/html_source/src/files/desktop_linux_icon.png delete mode 100644 src/gui/qt-daemon/html_source/src/index.html delete mode 100644 src/gui/qt-daemon/html_source/src/karma.conf.js delete mode 100644 src/gui/qt-daemon/html_source/src/main.ts delete mode 100644 src/gui/qt-daemon/html_source/src/polyfills.ts delete mode 100644 src/gui/qt-daemon/html_source/src/store.ts delete mode 100644 src/gui/qt-daemon/html_source/src/styles.scss delete mode 100644 src/gui/qt-daemon/html_source/src/test.ts delete mode 100644 src/gui/qt-daemon/html_source/src/tsconfig.app.json delete mode 100644 src/gui/qt-daemon/html_source/src/tsconfig.spec.json delete mode 100644 src/gui/qt-daemon/html_source/src/tslint.json delete mode 100644 src/gui/qt-daemon/html_source/tsconfig.json delete mode 100644 src/gui/qt-daemon/html_source/tslint.json create mode 160000 src/gui/qt-daemon/layout diff --git a/.gitmodules b/.gitmodules index c56c27cc..4c52bbd4 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,3 +4,6 @@ [submodule "contrib/db/libmdbx"] path = contrib/db/libmdbx url = https://github.com/leo-yuriev/libmdbx.git +[submodule "src\\gui\\qt-daemon\\layout"] + path = src\\gui\\qt-daemon\\layout + url = git@github.com:hyle-team/zano_ui.git diff --git a/src/gui/qt-daemon/html/OpenSans-Bold.ttf b/src/gui/qt-daemon/html/OpenSans-Bold.ttf deleted file mode 100644 index 7b529456032abf9132194ddaac62d2d163247c38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 224452 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%0AFPX_$oWVSJ?r+$`0^Vc7U(41ALVo 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 NJ^r4-t1mN*{|BJyceVfk diff --git a/src/gui/qt-daemon/html/OpenSans-ExtraBold.ttf b/src/gui/qt-daemon/html/OpenSans-ExtraBold.ttf deleted file mode 100644 index 3660681d398100fd0e2dcffa089570eea893629d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 222424 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

-5d!dcM^@c6Oo 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 F{{!U$tp@-A diff --git a/src/gui/qt-daemon/html/OpenSans-Light.ttf b/src/gui/qt-daemon/html/OpenSans-Light.ttf deleted file mode 100644 index 563872c7680aed4d9f8f7a4bc4f3c1506c2cbbc1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 222236 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

    1^%;kbEy)x%1!e{>m|$h5Iw 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

    9J%&UTP`LM`y4=#imtiCKi100?RTe1+z~8* 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

    YE=h9c6s`zZi@B7|3|JKJY7qo+jyw@ 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 - - - - - diff --git a/src/gui/qt-daemon/html/alert.svg b/src/gui/qt-daemon/html/alert.svg deleted file mode 100644 index b549fd95..00000000 --- a/src/gui/qt-daemon/html/alert.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/arrow-down.svg b/src/gui/qt-daemon/html/arrow-down.svg deleted file mode 100644 index d24a3aeb..00000000 --- a/src/gui/qt-daemon/html/arrow-down.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/arrow-right.svg b/src/gui/qt-daemon/html/arrow-right.svg deleted file mode 100644 index bd4269b3..00000000 --- a/src/gui/qt-daemon/html/arrow-right.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - diff --git a/src/gui/qt-daemon/html/arrow-up.svg b/src/gui/qt-daemon/html/arrow-up.svg deleted file mode 100644 index f6515fdd..00000000 --- a/src/gui/qt-daemon/html/arrow-up.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/assets/fonts/OpenSans-Bold.ttf b/src/gui/qt-daemon/html/assets/fonts/OpenSans-Bold.ttf deleted file mode 100644 index 7b529456032abf9132194ddaac62d2d163247c38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 224452 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%0AFPX_$oWVSJ?r+$`0^Vc7U(41ALVo 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 NJ^r4-t1mN*{|BJyceVfk diff --git a/src/gui/qt-daemon/html/assets/fonts/OpenSans-ExtraBold.ttf b/src/gui/qt-daemon/html/assets/fonts/OpenSans-ExtraBold.ttf deleted file mode 100644 index 3660681d398100fd0e2dcffa089570eea893629d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 222424 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

    -5d!dcM^@c6Oo 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 F{{!U$tp@-A diff --git a/src/gui/qt-daemon/html/assets/fonts/OpenSans-Light.ttf b/src/gui/qt-daemon/html/assets/fonts/OpenSans-Light.ttf deleted file mode 100644 index 563872c7680aed4d9f8f7a4bc4f3c1506c2cbbc1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 222236 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

      1^%;kbEy)x%1!e{>m|$h5Iw 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

      9J%&UTP`LM`y4=#imtiCKi100?RTe1+z~8* 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

      YE=h9c6s`zZi@B7|3|JKJY7qo+jyw@ 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 new update.
      Update is recommended!", - "IMPORTANT": "Update available", - "IMPORTANT_HINT": "Important update!", - "IMPORTANT_TOOLTIP": "Get new update.
      Important update!", - "CRITICAL": "Update available", - "CRITICAL_HINT": "Critical update!", - "CRITICAL_TOOLTIP": "Critical update available.Update strongly recommended!", - "TIME": "System time differs from network", - "TIME_TOOLTIP": "Wrong system time!
      Check and repair your system time." - } - }, - "MAIN": { - "TITLE": "Create or open the wallet to start using Zano", - "BUTTON_NEW_WALLET": "Create new wallet", - "BUTTON_OPEN_WALLET": "Open existing wallet", - "BUTTON_RESTORE_BACKUP": "Restore from backup", - "HELP": "How to create wallet?", - "CHOOSE_PATH": "Please choose a path" - }, - "CREATE_WALLET": { - "NAME": "Wallet name", - "PASS": "Set wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "TITLE_SAVE": "Save the wallet file.", - "ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten", - "ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match" - } - }, - "OPEN_WALLET": { - "NAME": "Wallet name", - "PASS": "Wallet password", - "BUTTON": "Open wallet", - "WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open", - "FILE_NOT_FOUND1": "Wallet file not found", - "FILE_NOT_FOUND2": "

      It might have been renamed or moved.
      To open it, use the \"Open wallet\" button.", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - }, - "MODAL": { - "TITLE": "Type wallet password", - "LABEL": "Password to this wallet", - "OPEN": "Open wallet", - "SKIP": "Skip", - "NOT_FOUND": "Not found" - } - }, - "RESTORE_WALLET": { - "LABEL_NAME": "Wallet name", - "LABEL_PHRASE_KEY": "Seed phrase / tracking seed", - "PASS": "Wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match", - "CHOOSE_PATH": "Please choose a path", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match", - "KEY_REQUIRED": "Key is required", - "KEY_NOT_VALID": "Key not valid" - } - }, - "SEED_PHRASE": { - "TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.", - "BUTTON_CREATE_ACCOUNT": "Create wallet", - "BUTTON_COPY": "Copy" - }, - "PROGRESS": { - "ADD_WALLET": "Add wallet", - "SELECT_LOCATION": "Select wallet location", - "CREATE_WALLET": "Create new wallet", - "RESTORE_WALLET": "Restore from backup" - }, - "SETTINGS": { - "TITLE": "Settings", - "DARK_THEME": "Dark theme", - "WHITE_THEME": "White theme", - "GRAY_THEME": "Grey theme", - "APP_LOCK": { - "TITLE": "Lock app after:", - "TIME1": "5 min", - "TIME2": "15 min", - "TIME3": "1 hour", - "TIME4": "Never" - }, - "SCALE": { - "75": "75% scale", - "100": "100% scale", - "125": "125% scale", - "150": "150% scale" - }, - "MASTER_PASSWORD": { - "TITLE": "Update master password", - "OLD": "Old password", - "NEW": "New password", - "CONFIRM": "New password confirmation", - "BUTTON": "Save" - }, - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "PASS_NOT_MATCH": "Old password not match", - "CONFIRM_NOT_MATCH": "Confirm password not match" - }, - "LAST_BUILD": "Current build: {{value}}", - "APP_LOG_TITLE": "Log level:" - }, - "WALLET": { - "REGISTER_ALIAS": "Register an alias", - "DETAILS": "Details", - "LOCK": "Lock", - "AVAILABLE_BALANCE": "Available {{available}} {{currency}}", - "LOCKED_BALANCE": "Locked {{locked}} {{currency}}", - "LOCKED_BALANCE_LINK": "What does that mean?", - "TABS": { - "SEND": "Send", - "RECEIVE": "Receive", - "HISTORY": "History", - "CONTRACTS": "Contracts", - "MESSAGES": "Messages", - "STAKING": "Staking" - } - }, - "WALLET_DETAILS": { - "LABEL_NAME": "Wallet name", - "LABEL_FILE_LOCATION": "Wallet file location", - "LABEL_SEED_PHRASE": "Seed phrase", - "SEED_PHRASE_HINT": "Click to reveal the seed phrase", - "BUTTON_SAVE": "Save", - "BUTTON_REMOVE": "Close wallet", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - } - }, - "ASSIGN_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": " Enter alias", - "TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”." - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "", - "TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later." - }, - "COST": "Alias fee {{value}} {{currency}}", - "BUTTON_ASSIGN": "Assign", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_WRONG": "Invalid name: allowed symbols \"0-9\", \"a-z\", \"-\", \".\"", - "NAME_LENGTH": "The alias must be 6-25 characters long", - "NAME_EXISTS": "Alias name already exists", - "NO_MONEY": "You do not have enough funds to assign this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "ONE_ALIAS": "You can create only one alias per wallet", - "REQUEST_ADD_REG": "The alias will be assigned within 10 minutes" - }, - "EDIT_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "NO_MONEY": "You do not have enough funds to change the comment to this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "COST": "Fee {{value}} {{currency}}", - "BUTTON_EDIT": "Edit" - }, - "TRANSFER_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "ADDRESS": { - "LABEL": "Transfer to", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "WRONG_ADDRESS": "No wallet with this account exists", - "ALIAS_EXISTS": "This account already has an alias", - "NO_MONEY": "You do not have enough funds to transfer this alias" - }, - "COST": "Transfer fee {{value}} {{currency}}", - "BUTTON_TRANSFER": "Transfer", - "BUTTON_CANCEL": "Cancel", - "REQUEST_SEND_REG": "The alias will be transferred within 10 minutes" - }, - "SEND": { - "ADDRESS": "Address", - "AMOUNT": "Amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "MIXIN": "Mixin", - "FEE": "Fee", - "HIDE": "Hide your wallet address from recipient", - "BUTTON": "Send", - "SUCCESS_SENT": "Transaction sent", - "FORM_ERRORS": { - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "ALIAS_NOT_VALID": "Alias not valid", - "AMOUNT_REQUIRED": "Amount is required", - "AMOUNT_ZERO": "Amount is zero", - "FEE_REQUIRED": "Fee is required", - "FEE_MINIMUM": "Minimum fee: {{fee}}", - "MAX_LENGTH": "Maximum comment length reached" - } - }, - "HISTORY": { - "STATUS": "Status", - "STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}", - "LOCK_TOOLTIP": "Locked till {{date}}", - "SEND": "Sent", - "RECEIVED": "Received", - "DATE": "Date", - "AMOUNT": "Amount", - "FEE": "Fee", - "ADDRESS": "Address", - "DETAILS": { - "PAYMENT_ID": "Payment ID", - "ID": "Transaction ID", - "SIZE": "Transaction size", - "SIZE_VALUE": "{{value}} bytes", - "HEIGHT": "Height", - "CONFIRMATION": "Confirmation", - "INPUTS": "Inputs", - "OUTPUTS": "Outputs", - "COMMENT": "Comment" - }, - "TYPE_MESSAGES": { - "HIDDEN": "hidden", - "UNDEFINED": "Undefined", - "COMPLETE_BUYER": "Contract completed", - "COMPLETE_SELLER": "Contract completed", - "CREATE_ALIAS": "Fee for assigning alias", - "UPDATE_ALIAS": "Fee for editing alias", - "POW_REWARD": "POW reward", - "POS_REWARD": "POS reward", - "CREATE_CONTRACT": "Contract proposal", - "PLEDGE_CONTRACT": "Contract deposit", - "NULLIFY_CONTRACT": "Burn deposits", - "PROPOSAL_CANCEL_CONTRACT": "Cancellation request", - "CANCEL_CONTRACT": "Cancel and return deposits" - } - }, - "CONTRACTS": { - "EMPTY": "No active contracts", - "CONTRACTS": "Contracts", - "PURCHASE": "Purchase", - "SELL": "Sell", - "DATE": "Date", - "AMOUNT": "Amount", - "STATUS": "Status", - "COMMENTS": "Comments", - "PURCHASE_BUTTON": "New Purchase", - "LISTING_BUTTON": "Create listing", - "TIME_LEFT": { - "REMAINING_LESS_ONE": "Less than an hour to respond", - "REMAINING_ONE": "{{time}} hour remains", - "REMAINING_MANY": "{{time}} hours remain", - "REMAINING_MANY_ALT": "{{time}} hours remain", - "REMAINING_ONE_RESPONSE": "{{time}} hour remains", - "REMAINING_MANY_RESPONSE": "{{time}} hours remain", - "REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain", - "REMAINING_ONE_WAITING": "Waiting for {{time}} hour", - "REMAINING_MANY_WAITING": "Waiting for {{time}} hours", - "REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours" - }, - "STATUS_MESSAGES": { - "SELLER": { - "NEW_CONTRACT": "New contract proposal", - "IGNORED": "You ignored contract proposal", - "ACCEPTED": "Contract started", - "WAIT": "Waiting for contract confirmation", - "WAITING_BUYER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "You ignored cancellation proposal", - "EXPIRED": "Contract proposal has expired" - }, - "BUYER": { - "WAITING": "Waiting for response", - "IGNORED": "Seller ignored your contract proposal", - "ACCEPTED": "Seller accepted your contract proposal", - "WAIT": "Waiting for deposits confirmation", - "WAITING_SELLER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "WAITING_CANCEL": "Waiting for contract cancellation", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract", - "EXPIRED": "The contract proposal has expired" - } - } - }, - "PURCHASE": { - "DESCRIPTION": "Description", - "SELLER": "Seller", - "AMOUNT": "Amount", - "YOUR_DEPOSIT": "Your deposit", - "SELLER_DEPOSIT": "Seller deposit", - "BUYER_DEPOSIT": "Buyer deposit", - "SAME_AMOUNT": "Same amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "SEND_BUTTON": "Send", - "FORM_ERRORS": { - "DESC_REQUIRED": "Description required", - "DESC_MAXIMUM": "Maximum field length reached", - "SELLER_REQUIRED": "Address required", - "SELLER_NOT_VALID": "Invalid address", - "ALIAS_NOT_VALID": "Invalid alias", - "AMOUNT_REQUIRED": "Amount required", - "AMOUNT_ZERO": "Amount cannot be zero", - "YOUR_DEPOSIT_REQUIRED": "Deposit required", - "SELLER_DEPOSIT_REQUIRED": "Seller deposit required", - "SELLER_SAME": "Use separate account", - "COMMENT_MAXIMUM": "Maximum field length reached" - }, - "PROGRESS_NEW": "New purchase", - "PROGRESS_WAIT": "Awaiting reply", - "PROGRESS_RECEIVE": "Reply received", - "PROGRESS_COMPLETE": "Completed", - "FEE": "Fee", - "PAYMENT": "Payment ID", - "STATUS_MESSAGES": { - "NEW_PURCHASE": "New purchase", - "WAITING_SELLER": "Waiting for response", - "WAITING_BUYER": "Contract proposal received", - "WAITING_CONFIRMATION": "Waiting for deposits confirmation", - "WAITING_DELIVERY": "Waiting for delivery", - "COMPLETED": "Contract completed", - "IGNORED_BUYER": "Contract proposal ignored", - "IGNORED_SELLER": "The seller ignored your contract proposal", - "PROPOSAL_CANCEL_SELLER": "Cancellation request sent", - "PROPOSAL_CANCEL_BUYER": "Cancellation request received", - "BEING_CANCELLED": "Cancellation in progress", - "IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract", - "IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored", - "CANCELLED": "Contract canceled", - "EXPIRED": "Contract proposal expired", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned" - }, - "ACCEPT_STATE_WAIT_BIG": "Contract started", - "IGNORED_ACCEPT": "Contract proposal ignored", - "BURN_PROPOSAL": "Deposits burned", - "SUCCESS_FINISH_PROPOSAL": "Contract completed", - "SEND_CANCEL_PROPOSAL": "Cancellation request sent", - "IGNORED_CANCEL": "Contract cancellation proposal ignored", - "DEALS_CANCELED_WAIT": "Cancellation in progress", - "WAITING_TIME": "Response time", - "NEED_MONEY": "Insufficient funds", - "BUTTON_MAKE_PLEDGE": "Accept and make deposit", - "BUTTON_IGNORE": "Ignore and hide offer", - "BUTTON_NULLIFY": "Terminate and burn deposits", - "BUTTON_RECEIVED": "Complete and release deposits", - "BUTTON_CANCEL_BUYER": "Cancel and return deposits", - "BUTTON_NOT_CANCEL": "Ignore request", - "BUTTON_CANCEL_SELLER": "Confirm and return deposits", - "HOUR": "hour", - "HOURS": "hours", - "CANCEL": "Cancel", - "NULLIFY_QUESTION": "Are you sure you want to burn both deposits?", - "BUTTON_NULLIFY_SHORT": "Burn", - "WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?" - }, - "MESSAGES": { - "ADDRESS": "Address", - "MESSAGE": "Message", - "SEND_PLACEHOLDER": "Type a message...", - "SEND_BUTTON": "Send" - }, - "MODALS": { - "ERROR": "Error", - "SUCCESS": "Success", - "INFO": "Information", - "OK": "OK" - }, - "CONFIRM": { - "BUTTON_CONFIRM": "Send", - "BUTTON_CANCEL": "Cancel", - "TITLE": "Confirm transaction", - "MESSAGE": { - "SEND": "Send", - "FROM": "From", - "TO": "To", - "COMMENT": "Comment" - } - }, - "STAKING": { - "TITLE": "Staking", - "TITLE_PENDING": "Pending", - "TITLE_TOTAL": "Total", - "TITLE_PERIOD": "Time period:", - "PERIOD": { - "WEEK1": "1 week", - "WEEK2": "2 week", - "MONTH1": "1 month", - "MONTH3": "3 month", - "MONTH6": "6 month", - "YEAR": "1 year", - "ALL": "All" - }, - "TITLE_GROUP": "Group:", - "GROUP": { - "DAY": "day", - "WEEK": "week", - "MONTH": "month" - }, - "SWITCH": { - "ON": "ON", - "OFF": "OFF" - } - }, - "CONTACTS": { - "TITLE": "Contact list", - "IMPORT_EXPORT": "Import or export contacts", - "IMPORT": "Import", - "EXPORT": "Export", - "ADD": "Add/edit contact", - "SEND": "Send", - "SEND_FROM": "Send from", - "SEND_TO": "To", - "OPEN_ADD_WALLET": "Open/Add wallet", - "COPY": "- Copy", - "TABLE": { - "NAME": "Name", - "ALIAS": "Alias", - "ADDRESS": "Address", - "NOTES": "Notes", - "EMPTY": "Contact list is empty" - }, - "FORM": { - "NAME": "Name", - "ADDRESS": "Address", - "NOTES": "Notes" - }, - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUBLICATED": "Name is dublicated", - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "SET_MASTER_PASSWORD": "Set master password", - "ADDRESS_DUBLICATED": "Address is dublicated", - "MAX_LENGTH": "Maximum notes length reached", - "NAME_LENGTH": "The name must be 4-25 characters long" - }, - "BUTTON": { - "SEND": "Send", - "EDIT": "Edit", - "DELETE": "Delete", - "ADD": "Add contact", - "ADD_EDIT": "Add/Save", - "GO_TO_WALLET": "Go to wallet", - "IMPORT_EXPORT": "Import/export" - }, - "SUCCESS_SENT": "Contact added", - "SUCCESS_SAVE": "Contact is edited", - "SUCCESS_IMPORT": "Contacts are imported", - "SUCCESS_EXPORT": "Contacts are exported", - "ERROR_IMPORT": "Error is occured while reading file!", - "ERROR_TYPE_FILE": "Please import valid .csv file", - "ERROR_EXPORT": "Invalid file type. Save file as .csv", - "ERROR_EMPTY_LIST": "Contact list is empty", - "ERROR_IMPORT_EMPTY": "File is empty" - }, - "ERRORS": { - "NO_MONEY": "Not enough money", - "NOT_ENOUGH_MONEY": "Insufficient funds in account", - "CORE_BUSY": "Internal error: core is busy", - "DAEMON_BUSY": "Internal error: daemon is busy", - "NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet", - "NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with", - "TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions", - "TRANSFER_ATTEMPT": "There is no connection to Zano network", - "ACCESS_DENIED": "Access denied", - "TRANSACTION_ERROR": "Error. Transaction not completed.", - "BAD_ARG": "Invalid argument", - "WALLET_WRONG_ID": "Invalid wallet ID", - "WRONG_PASSWORD": "Invalid password", - "FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain", - "FILE_NOT_FOUND": "File not found", - "FILE_EXIST": "A file with that name already exists. Enter another name to save the file under", - "FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.", - "TX_TYPE_NORMAL": "Error. The payment from the wallet", - "TX_TYPE_NORMAL_TO": "to", - "TX_TYPE_NORMAL_END": "was not completed.", - "TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe", - "TX_TYPE_NEW_ALIAS_END": "Please try again.", - "TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe", - "TX_TYPE_COIN_BASE": "Error. The payment was not completed." - }, - "CONTEXT_MENU": { - "COPY": "copy", - "PASTE": "paste", - "SELECT": "select all" - }, - "BACKEND_LOCALIZATION": { - "QUIT": "Quit", - "IS_RECEIVED": "", - "IS_CONFIRMED": "", - "INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)", - "INCOME_TRANSFER_CONFIRMED": "Payment received", - "MINED": "Mined", - "LOCKED": "Blocked", - "IS_MINIMIZE": "Zano application is minimized to the system tray", - "RESTORE": "You can recover it by clicking or using the context menu", - "TRAY_MENU_SHOW": "Resize", - "TRAY_MENU_MINIMIZE": "Minimize" - } -} diff --git a/src/gui/qt-daemon/html/assets/i18n/ar.json b/src/gui/qt-daemon/html/assets/i18n/ar.json deleted file mode 100644 index 59e88fa0..00000000 --- a/src/gui/qt-daemon/html/assets/i18n/ar.json +++ /dev/null @@ -1,593 +0,0 @@ -{ - "LOGIN": { - "SETUP_MASTER_PASS": "Setup master password", - "SETUP_CONFIRM_PASS": "Confirm the password", - "MASTER_PASS": "Master password", - "BUTTON_NEXT": "Next", - "BUTTON_SKIP": "Skip", - "BUTTON_RESET": "Reset", - "INCORRECT_PASSWORD": "Invalid password", - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "CONFIRM_REQUIRED": "Confirmation is required", - "MISMATCH": "Mismatch" - } - }, - "COMMON": { - "BACK": "Go back" - }, - "BREADCRUMBS": { - "ADD_WALLET": "Add wallet", - "CREATE_WALLET": "Create new wallet", - "SAVE_PHRASE": "Save your seed phrase", - "OPEN_WALLET": "Open existing wallet", - "RESTORE_WALLET": "Restore from backup", - "WALLET_DETAILS": "Wallet details", - "ASSIGN_ALIAS": "Assign alias", - "EDIT_ALIAS": "Edit alias", - "TRANSFER_ALIAS": "Transfer alias", - "CONTRACTS": "Contracts", - "NEW_PURCHASE": "New purchase", - "OLD_PURCHASE": "Purchase" - }, - "SIDEBAR": { - "TITLE": "Wallets", - "ADD_NEW": "+ Add", - "ACCOUNT": { - "STAKING": "Staking", - "MESSAGES": "New offers/Messages", - "SYNCING": "Syncing wallet" - }, - "CONTACTS": "Contacts", - "SETTINGS": "Settings", - "LOG_OUT": "Log out", - "SYNCHRONIZATION": { - "OFFLINE": "Offline", - "ONLINE": "Online", - "ERROR": "System error", - "COMPLETE": "Completion", - "SYNCING": "Syncing blockchain", - "LOADING": "Loading blockchain data" - }, - "UPDATE": { - "STANDARD": "Update available", - "STANDARD_TOOLTIP": "Get new update.
      Update is recommended!", - "IMPORTANT": "Update available", - "IMPORTANT_HINT": "Important update!", - "IMPORTANT_TOOLTIP": "Get new update.
      Important update!", - "CRITICAL": "Update available", - "CRITICAL_HINT": "Critical update!", - "CRITICAL_TOOLTIP": "Critical update available.Update strongly recommended!", - "TIME": "System time differs from network", - "TIME_TOOLTIP": "Wrong system time!
      Check and repair your system time." - } - }, - "MAIN": { - "TITLE": "Create or open the wallet to start using Zano", - "BUTTON_NEW_WALLET": "Create new wallet", - "BUTTON_OPEN_WALLET": "Open existing wallet", - "BUTTON_RESTORE_BACKUP": "Restore from backup", - "HELP": "How to create wallet?", - "CHOOSE_PATH": "Please choose a path" - }, - "CREATE_WALLET": { - "NAME": "Wallet name", - "PASS": "Set wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "TITLE_SAVE": "Save the wallet file.", - "ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten", - "ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match" - } - }, - "OPEN_WALLET": { - "NAME": "Wallet name", - "PASS": "Wallet password", - "BUTTON": "Open wallet", - "WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open", - "FILE_NOT_FOUND1": "Wallet file not found", - "FILE_NOT_FOUND2": "

      It might have been renamed or moved.
      To open it, use the \"Open wallet\" button.", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - }, - "MODAL": { - "TITLE": "Type wallet password", - "LABEL": "Password to this wallet", - "OPEN": "Open wallet", - "SKIP": "Skip", - "NOT_FOUND": "Not found" - } - }, - "RESTORE_WALLET": { - "LABEL_NAME": "Wallet name", - "LABEL_PHRASE_KEY": "Seed phrase / tracking seed", - "PASS": "Wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match", - "CHOOSE_PATH": "Please choose a path", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match", - "KEY_REQUIRED": "Key is required", - "KEY_NOT_VALID": "Key not valid" - } - }, - "SEED_PHRASE": { - "TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.", - "BUTTON_CREATE_ACCOUNT": "Create wallet", - "BUTTON_COPY": "Copy" - }, - "PROGRESS": { - "ADD_WALLET": "Add wallet", - "SELECT_LOCATION": "Select wallet location", - "CREATE_WALLET": "Create new wallet", - "RESTORE_WALLET": "Restore from backup" - }, - "SETTINGS": { - "TITLE": "Settings", - "DARK_THEME": "Dark theme", - "WHITE_THEME": "White theme", - "GRAY_THEME": "Grey theme", - "APP_LOCK": { - "TITLE": "Lock app after:", - "TIME1": "5 min", - "TIME2": "15 min", - "TIME3": "1 hour", - "TIME4": "Never" - }, - "SCALE": { - "75": "75% scale", - "100": "100% scale", - "125": "125% scale", - "150": "150% scale" - }, - "MASTER_PASSWORD": { - "TITLE": "Update master password", - "OLD": "Old password", - "NEW": "New password", - "CONFIRM": "New password confirmation", - "BUTTON": "Save" - }, - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "PASS_NOT_MATCH": "Old password not match", - "CONFIRM_NOT_MATCH": "Confirm password not match" - }, - "LAST_BUILD": "Current build: {{value}}", - "APP_LOG_TITLE": "Log level:" - }, - "WALLET": { - "REGISTER_ALIAS": "Register an alias", - "DETAILS": "Details", - "LOCK": "Lock", - "AVAILABLE_BALANCE": "Available {{available}} {{currency}}", - "LOCKED_BALANCE": "Locked {{locked}} {{currency}}", - "LOCKED_BALANCE_LINK": "What does that mean?", - "TABS": { - "SEND": "Send", - "RECEIVE": "Receive", - "HISTORY": "History", - "CONTRACTS": "Contracts", - "MESSAGES": "Messages", - "STAKING": "Staking" - } - }, - "WALLET_DETAILS": { - "LABEL_NAME": "Wallet name", - "LABEL_FILE_LOCATION": "Wallet file location", - "LABEL_SEED_PHRASE": "Seed phrase", - "SEED_PHRASE_HINT": "Click to reveal the seed phrase", - "BUTTON_SAVE": "Save", - "BUTTON_REMOVE": "Close wallet", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - } - }, - "ASSIGN_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": " Enter alias", - "TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”." - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "", - "TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later." - }, - "COST": "Alias fee {{value}} {{currency}}", - "BUTTON_ASSIGN": "Assign", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_WRONG": "Invalid name: allowed symbols \"0-9\", \"a-z\", \"-\", \".\"", - "NAME_LENGTH": "The alias must be 6-25 characters long", - "NAME_EXISTS": "Alias name already exists", - "NO_MONEY": "You do not have enough funds to assign this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "ONE_ALIAS": "You can create only one alias per wallet", - "REQUEST_ADD_REG": "The alias will be assigned within 10 minutes" - }, - "EDIT_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "NO_MONEY": "You do not have enough funds to change the comment to this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "COST": "Fee {{value}} {{currency}}", - "BUTTON_EDIT": "Edit" - }, - "TRANSFER_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "ADDRESS": { - "LABEL": "Transfer to", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "WRONG_ADDRESS": "No wallet with this account exists", - "ALIAS_EXISTS": "This account already has an alias", - "NO_MONEY": "You do not have enough funds to transfer this alias" - }, - "COST": "Transfer fee {{value}} {{currency}}", - "BUTTON_TRANSFER": "Transfer", - "BUTTON_CANCEL": "Cancel", - "REQUEST_SEND_REG": "The alias will be transferred within 10 minutes" - }, - "SEND": { - "ADDRESS": "Address", - "AMOUNT": "Amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "MIXIN": "Mixin", - "FEE": "Fee", - "HIDE": "Hide your wallet address from recipient", - "BUTTON": "Send", - "SUCCESS_SENT": "Transaction sent", - "FORM_ERRORS": { - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "ALIAS_NOT_VALID": "Alias not valid", - "AMOUNT_REQUIRED": "Amount is required", - "AMOUNT_ZERO": "Amount is zero", - "FEE_REQUIRED": "Fee is required", - "FEE_MINIMUM": "Minimum fee: {{fee}}", - "MAX_LENGTH": "Maximum comment length reached" - } - }, - "HISTORY": { - "STATUS": "Status", - "STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}", - "LOCK_TOOLTIP": "Locked till {{date}}", - "SEND": "Sent", - "RECEIVED": "Received", - "DATE": "Date", - "AMOUNT": "Amount", - "FEE": "Fee", - "ADDRESS": "Address", - "DETAILS": { - "PAYMENT_ID": "Payment ID", - "ID": "Transaction ID", - "SIZE": "Transaction size", - "SIZE_VALUE": "{{value}} bytes", - "HEIGHT": "Height", - "CONFIRMATION": "Confirmation", - "INPUTS": "Inputs", - "OUTPUTS": "Outputs", - "COMMENT": "Comment" - }, - "TYPE_MESSAGES": { - "HIDDEN": "hidden", - "UNDEFINED": "Undefined", - "COMPLETE_BUYER": "Contract completed", - "COMPLETE_SELLER": "Contract completed", - "CREATE_ALIAS": "Fee for assigning alias", - "UPDATE_ALIAS": "Fee for editing alias", - "POW_REWARD": "POW reward", - "POS_REWARD": "POS reward", - "CREATE_CONTRACT": "Contract proposal", - "PLEDGE_CONTRACT": "Contract deposit", - "NULLIFY_CONTRACT": "Burn deposits", - "PROPOSAL_CANCEL_CONTRACT": "Cancellation request", - "CANCEL_CONTRACT": "Cancel and return deposits" - } - }, - "CONTRACTS": { - "EMPTY": "No active contracts", - "CONTRACTS": "Contracts", - "PURCHASE": "Purchase", - "SELL": "Sell", - "DATE": "Date", - "AMOUNT": "Amount", - "STATUS": "Status", - "COMMENTS": "Comments", - "PURCHASE_BUTTON": "New Purchase", - "LISTING_BUTTON": "Create listing", - "TIME_LEFT": { - "REMAINING_LESS_ONE": "Less than an hour to respond", - "REMAINING_ONE": "{{time}} hour remains", - "REMAINING_MANY": "{{time}} hours remain", - "REMAINING_MANY_ALT": "{{time}} hours remain", - "REMAINING_ONE_RESPONSE": "{{time}} hour remains", - "REMAINING_MANY_RESPONSE": "{{time}} hours remain", - "REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain", - "REMAINING_ONE_WAITING": "Waiting for {{time}} hour", - "REMAINING_MANY_WAITING": "Waiting for {{time}} hours", - "REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours" - }, - "STATUS_MESSAGES": { - "SELLER": { - "NEW_CONTRACT": "New contract proposal", - "IGNORED": "You ignored contract proposal", - "ACCEPTED": "Contract started", - "WAIT": "Waiting for contract confirmation", - "WAITING_BUYER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "You ignored cancellation proposal", - "EXPIRED": "Contract proposal has expired" - }, - "BUYER": { - "WAITING": "Waiting for response", - "IGNORED": "Seller ignored your contract proposal", - "ACCEPTED": "Seller accepted your contract proposal", - "WAIT": "Waiting for deposits confirmation", - "WAITING_SELLER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "WAITING_CANCEL": "Waiting for contract cancellation", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract", - "EXPIRED": "The contract proposal has expired" - } - } - }, - "PURCHASE": { - "DESCRIPTION": "Description", - "SELLER": "Seller", - "AMOUNT": "Amount", - "YOUR_DEPOSIT": "Your deposit", - "SELLER_DEPOSIT": "Seller deposit", - "BUYER_DEPOSIT": "Buyer deposit", - "SAME_AMOUNT": "Same amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "SEND_BUTTON": "Send", - "FORM_ERRORS": { - "DESC_REQUIRED": "Description required", - "DESC_MAXIMUM": "Maximum field length reached", - "SELLER_REQUIRED": "Address required", - "SELLER_NOT_VALID": "Invalid address", - "ALIAS_NOT_VALID": "Invalid alias", - "AMOUNT_REQUIRED": "Amount required", - "AMOUNT_ZERO": "Amount cannot be zero", - "YOUR_DEPOSIT_REQUIRED": "Deposit required", - "SELLER_DEPOSIT_REQUIRED": "Seller deposit required", - "SELLER_SAME": "Use separate account", - "COMMENT_MAXIMUM": "Maximum field length reached" - }, - "PROGRESS_NEW": "New purchase", - "PROGRESS_WAIT": "Awaiting reply", - "PROGRESS_RECEIVE": "Reply received", - "PROGRESS_COMPLETE": "Completed", - "FEE": "Fee", - "PAYMENT": "Payment ID", - "STATUS_MESSAGES": { - "NEW_PURCHASE": "New purchase", - "WAITING_SELLER": "Waiting for response", - "WAITING_BUYER": "Contract proposal received", - "WAITING_CONFIRMATION": "Waiting for deposits confirmation", - "WAITING_DELIVERY": "Waiting for delivery", - "COMPLETED": "Contract completed", - "IGNORED_BUYER": "Contract proposal ignored", - "IGNORED_SELLER": "The seller ignored your contract proposal", - "PROPOSAL_CANCEL_SELLER": "Cancellation request sent", - "PROPOSAL_CANCEL_BUYER": "Cancellation request received", - "BEING_CANCELLED": "Cancellation in progress", - "IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract", - "IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored", - "CANCELLED": "Contract canceled", - "EXPIRED": "Contract proposal expired", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned" - }, - "ACCEPT_STATE_WAIT_BIG": "Contract started", - "IGNORED_ACCEPT": "Contract proposal ignored", - "BURN_PROPOSAL": "Deposits burned", - "SUCCESS_FINISH_PROPOSAL": "Contract completed", - "SEND_CANCEL_PROPOSAL": "Cancellation request sent", - "IGNORED_CANCEL": "Contract cancellation proposal ignored", - "DEALS_CANCELED_WAIT": "Cancellation in progress", - "WAITING_TIME": "Response time", - "NEED_MONEY": "Insufficient funds", - "BUTTON_MAKE_PLEDGE": "Accept and make deposit", - "BUTTON_IGNORE": "Ignore and hide offer", - "BUTTON_NULLIFY": "Terminate and burn deposits", - "BUTTON_RECEIVED": "Complete and release deposits", - "BUTTON_CANCEL_BUYER": "Cancel and return deposits", - "BUTTON_NOT_CANCEL": "Ignore request", - "BUTTON_CANCEL_SELLER": "Confirm and return deposits", - "HOUR": "hour", - "HOURS": "hours", - "CANCEL": "Cancel", - "NULLIFY_QUESTION": "Are you sure you want to burn both deposits?", - "BUTTON_NULLIFY_SHORT": "Burn", - "WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?" - }, - "MESSAGES": { - "ADDRESS": "Address", - "MESSAGE": "Message", - "SEND_PLACEHOLDER": "Type a message...", - "SEND_BUTTON": "Send" - }, - "MODALS": { - "ERROR": "Error", - "SUCCESS": "Success", - "INFO": "Information", - "OK": "OK" - }, - "CONFIRM": { - "BUTTON_CONFIRM": "Send", - "BUTTON_CANCEL": "Cancel", - "TITLE": "Confirm transaction", - "MESSAGE": { - "SEND": "Send", - "FROM": "From", - "TO": "To", - "COMMENT": "Comment" - } - }, - "STAKING": { - "TITLE": "Staking", - "TITLE_PENDING": "Pending", - "TITLE_TOTAL": "Total", - "TITLE_PERIOD": "Time period:", - "PERIOD": { - "WEEK1": "1 week", - "WEEK2": "2 week", - "MONTH1": "1 month", - "MONTH3": "3 month", - "MONTH6": "6 month", - "YEAR": "1 year", - "ALL": "All" - }, - "TITLE_GROUP": "Group:", - "GROUP": { - "DAY": "day", - "WEEK": "week", - "MONTH": "month" - }, - "SWITCH": { - "ON": "ON", - "OFF": "OFF" - } - }, - "CONTACTS": { - "TITLE": "Contact list", - "IMPORT_EXPORT": "Import or export contacts", - "IMPORT": "Import", - "EXPORT": "Export", - "ADD": "Add/edit contact", - "SEND": "Send", - "SEND_FROM": "Send from", - "SEND_TO": "To", - "OPEN_ADD_WALLET": "Open/Add wallet", - "COPY": "- Copy", - "TABLE": { - "NAME": "Name", - "ALIAS": "Alias", - "ADDRESS": "Address", - "NOTES": "Notes", - "EMPTY": "Contact list is empty" - }, - "FORM": { - "NAME": "Name", - "ADDRESS": "Address", - "NOTES": "Notes" - }, - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUBLICATED": "Name is dublicated", - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "SET_MASTER_PASSWORD": "Set master password", - "ADDRESS_DUBLICATED": "Address is dublicated", - "MAX_LENGTH": "Maximum notes length reached", - "NAME_LENGTH": "The name must be 4-25 characters long" - }, - "BUTTON": { - "SEND": "Send", - "EDIT": "Edit", - "DELETE": "Delete", - "ADD": "Add contact", - "ADD_EDIT": "Add/Save", - "GO_TO_WALLET": "Go to wallet", - "IMPORT_EXPORT": "Import/export" - }, - "SUCCESS_SENT": "Contact added", - "SUCCESS_SAVE": "Contact is edited", - "SUCCESS_IMPORT": "Contacts are imported", - "SUCCESS_EXPORT": "Contacts are exported", - "ERROR_IMPORT": "Error is occured while reading file!", - "ERROR_TYPE_FILE": "Please import valid .csv file", - "ERROR_EXPORT": "Invalid file type. Save file as .csv", - "ERROR_EMPTY_LIST": "Contact list is empty", - "ERROR_IMPORT_EMPTY": "File is empty" - }, - "ERRORS": { - "NO_MONEY": "Not enough money", - "NOT_ENOUGH_MONEY": "Insufficient funds in account", - "CORE_BUSY": "Internal error: core is busy", - "DAEMON_BUSY": "Internal error: daemon is busy", - "NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet", - "NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with", - "TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions", - "TRANSFER_ATTEMPT": "There is no connection to Zano network", - "ACCESS_DENIED": "Access denied", - "TRANSACTION_ERROR": "Error. Transaction not completed.", - "BAD_ARG": "Invalid argument", - "WALLET_WRONG_ID": "Invalid wallet ID", - "WRONG_PASSWORD": "Invalid password", - "FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain", - "FILE_NOT_FOUND": "File not found", - "FILE_EXIST": "A file with that name already exists. Enter another name to save the file under", - "FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.", - "TX_TYPE_NORMAL": "Error. The payment from the wallet", - "TX_TYPE_NORMAL_TO": "to", - "TX_TYPE_NORMAL_END": "was not completed.", - "TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe", - "TX_TYPE_NEW_ALIAS_END": "Please try again.", - "TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe", - "TX_TYPE_COIN_BASE": "Error. The payment was not completed." - }, - "CONTEXT_MENU": { - "COPY": "copy", - "PASTE": "paste", - "SELECT": "select all" - }, - "BACKEND_LOCALIZATION": { - "QUIT": "Quit", - "IS_RECEIVED": "", - "IS_CONFIRMED": "", - "INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)", - "INCOME_TRANSFER_CONFIRMED": "Payment received", - "MINED": "Mined", - "LOCKED": "Blocked", - "IS_MINIMIZE": "Zano application is minimized to the system tray", - "RESTORE": "You can recover it by clicking or using the context menu", - "TRAY_MENU_SHOW": "Resize", - "TRAY_MENU_MINIMIZE": "Minimize" - } -} diff --git a/src/gui/qt-daemon/html/assets/i18n/ca.json b/src/gui/qt-daemon/html/assets/i18n/ca.json deleted file mode 100644 index 59e88fa0..00000000 --- a/src/gui/qt-daemon/html/assets/i18n/ca.json +++ /dev/null @@ -1,593 +0,0 @@ -{ - "LOGIN": { - "SETUP_MASTER_PASS": "Setup master password", - "SETUP_CONFIRM_PASS": "Confirm the password", - "MASTER_PASS": "Master password", - "BUTTON_NEXT": "Next", - "BUTTON_SKIP": "Skip", - "BUTTON_RESET": "Reset", - "INCORRECT_PASSWORD": "Invalid password", - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "CONFIRM_REQUIRED": "Confirmation is required", - "MISMATCH": "Mismatch" - } - }, - "COMMON": { - "BACK": "Go back" - }, - "BREADCRUMBS": { - "ADD_WALLET": "Add wallet", - "CREATE_WALLET": "Create new wallet", - "SAVE_PHRASE": "Save your seed phrase", - "OPEN_WALLET": "Open existing wallet", - "RESTORE_WALLET": "Restore from backup", - "WALLET_DETAILS": "Wallet details", - "ASSIGN_ALIAS": "Assign alias", - "EDIT_ALIAS": "Edit alias", - "TRANSFER_ALIAS": "Transfer alias", - "CONTRACTS": "Contracts", - "NEW_PURCHASE": "New purchase", - "OLD_PURCHASE": "Purchase" - }, - "SIDEBAR": { - "TITLE": "Wallets", - "ADD_NEW": "+ Add", - "ACCOUNT": { - "STAKING": "Staking", - "MESSAGES": "New offers/Messages", - "SYNCING": "Syncing wallet" - }, - "CONTACTS": "Contacts", - "SETTINGS": "Settings", - "LOG_OUT": "Log out", - "SYNCHRONIZATION": { - "OFFLINE": "Offline", - "ONLINE": "Online", - "ERROR": "System error", - "COMPLETE": "Completion", - "SYNCING": "Syncing blockchain", - "LOADING": "Loading blockchain data" - }, - "UPDATE": { - "STANDARD": "Update available", - "STANDARD_TOOLTIP": "Get new update.
      Update is recommended!", - "IMPORTANT": "Update available", - "IMPORTANT_HINT": "Important update!", - "IMPORTANT_TOOLTIP": "Get new update.
      Important update!", - "CRITICAL": "Update available", - "CRITICAL_HINT": "Critical update!", - "CRITICAL_TOOLTIP": "Critical update available.Update strongly recommended!", - "TIME": "System time differs from network", - "TIME_TOOLTIP": "Wrong system time!
      Check and repair your system time." - } - }, - "MAIN": { - "TITLE": "Create or open the wallet to start using Zano", - "BUTTON_NEW_WALLET": "Create new wallet", - "BUTTON_OPEN_WALLET": "Open existing wallet", - "BUTTON_RESTORE_BACKUP": "Restore from backup", - "HELP": "How to create wallet?", - "CHOOSE_PATH": "Please choose a path" - }, - "CREATE_WALLET": { - "NAME": "Wallet name", - "PASS": "Set wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "TITLE_SAVE": "Save the wallet file.", - "ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten", - "ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match" - } - }, - "OPEN_WALLET": { - "NAME": "Wallet name", - "PASS": "Wallet password", - "BUTTON": "Open wallet", - "WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open", - "FILE_NOT_FOUND1": "Wallet file not found", - "FILE_NOT_FOUND2": "

      It might have been renamed or moved.
      To open it, use the \"Open wallet\" button.", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - }, - "MODAL": { - "TITLE": "Type wallet password", - "LABEL": "Password to this wallet", - "OPEN": "Open wallet", - "SKIP": "Skip", - "NOT_FOUND": "Not found" - } - }, - "RESTORE_WALLET": { - "LABEL_NAME": "Wallet name", - "LABEL_PHRASE_KEY": "Seed phrase / tracking seed", - "PASS": "Wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match", - "CHOOSE_PATH": "Please choose a path", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match", - "KEY_REQUIRED": "Key is required", - "KEY_NOT_VALID": "Key not valid" - } - }, - "SEED_PHRASE": { - "TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.", - "BUTTON_CREATE_ACCOUNT": "Create wallet", - "BUTTON_COPY": "Copy" - }, - "PROGRESS": { - "ADD_WALLET": "Add wallet", - "SELECT_LOCATION": "Select wallet location", - "CREATE_WALLET": "Create new wallet", - "RESTORE_WALLET": "Restore from backup" - }, - "SETTINGS": { - "TITLE": "Settings", - "DARK_THEME": "Dark theme", - "WHITE_THEME": "White theme", - "GRAY_THEME": "Grey theme", - "APP_LOCK": { - "TITLE": "Lock app after:", - "TIME1": "5 min", - "TIME2": "15 min", - "TIME3": "1 hour", - "TIME4": "Never" - }, - "SCALE": { - "75": "75% scale", - "100": "100% scale", - "125": "125% scale", - "150": "150% scale" - }, - "MASTER_PASSWORD": { - "TITLE": "Update master password", - "OLD": "Old password", - "NEW": "New password", - "CONFIRM": "New password confirmation", - "BUTTON": "Save" - }, - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "PASS_NOT_MATCH": "Old password not match", - "CONFIRM_NOT_MATCH": "Confirm password not match" - }, - "LAST_BUILD": "Current build: {{value}}", - "APP_LOG_TITLE": "Log level:" - }, - "WALLET": { - "REGISTER_ALIAS": "Register an alias", - "DETAILS": "Details", - "LOCK": "Lock", - "AVAILABLE_BALANCE": "Available {{available}} {{currency}}", - "LOCKED_BALANCE": "Locked {{locked}} {{currency}}", - "LOCKED_BALANCE_LINK": "What does that mean?", - "TABS": { - "SEND": "Send", - "RECEIVE": "Receive", - "HISTORY": "History", - "CONTRACTS": "Contracts", - "MESSAGES": "Messages", - "STAKING": "Staking" - } - }, - "WALLET_DETAILS": { - "LABEL_NAME": "Wallet name", - "LABEL_FILE_LOCATION": "Wallet file location", - "LABEL_SEED_PHRASE": "Seed phrase", - "SEED_PHRASE_HINT": "Click to reveal the seed phrase", - "BUTTON_SAVE": "Save", - "BUTTON_REMOVE": "Close wallet", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - } - }, - "ASSIGN_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": " Enter alias", - "TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”." - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "", - "TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later." - }, - "COST": "Alias fee {{value}} {{currency}}", - "BUTTON_ASSIGN": "Assign", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_WRONG": "Invalid name: allowed symbols \"0-9\", \"a-z\", \"-\", \".\"", - "NAME_LENGTH": "The alias must be 6-25 characters long", - "NAME_EXISTS": "Alias name already exists", - "NO_MONEY": "You do not have enough funds to assign this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "ONE_ALIAS": "You can create only one alias per wallet", - "REQUEST_ADD_REG": "The alias will be assigned within 10 minutes" - }, - "EDIT_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "NO_MONEY": "You do not have enough funds to change the comment to this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "COST": "Fee {{value}} {{currency}}", - "BUTTON_EDIT": "Edit" - }, - "TRANSFER_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "ADDRESS": { - "LABEL": "Transfer to", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "WRONG_ADDRESS": "No wallet with this account exists", - "ALIAS_EXISTS": "This account already has an alias", - "NO_MONEY": "You do not have enough funds to transfer this alias" - }, - "COST": "Transfer fee {{value}} {{currency}}", - "BUTTON_TRANSFER": "Transfer", - "BUTTON_CANCEL": "Cancel", - "REQUEST_SEND_REG": "The alias will be transferred within 10 minutes" - }, - "SEND": { - "ADDRESS": "Address", - "AMOUNT": "Amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "MIXIN": "Mixin", - "FEE": "Fee", - "HIDE": "Hide your wallet address from recipient", - "BUTTON": "Send", - "SUCCESS_SENT": "Transaction sent", - "FORM_ERRORS": { - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "ALIAS_NOT_VALID": "Alias not valid", - "AMOUNT_REQUIRED": "Amount is required", - "AMOUNT_ZERO": "Amount is zero", - "FEE_REQUIRED": "Fee is required", - "FEE_MINIMUM": "Minimum fee: {{fee}}", - "MAX_LENGTH": "Maximum comment length reached" - } - }, - "HISTORY": { - "STATUS": "Status", - "STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}", - "LOCK_TOOLTIP": "Locked till {{date}}", - "SEND": "Sent", - "RECEIVED": "Received", - "DATE": "Date", - "AMOUNT": "Amount", - "FEE": "Fee", - "ADDRESS": "Address", - "DETAILS": { - "PAYMENT_ID": "Payment ID", - "ID": "Transaction ID", - "SIZE": "Transaction size", - "SIZE_VALUE": "{{value}} bytes", - "HEIGHT": "Height", - "CONFIRMATION": "Confirmation", - "INPUTS": "Inputs", - "OUTPUTS": "Outputs", - "COMMENT": "Comment" - }, - "TYPE_MESSAGES": { - "HIDDEN": "hidden", - "UNDEFINED": "Undefined", - "COMPLETE_BUYER": "Contract completed", - "COMPLETE_SELLER": "Contract completed", - "CREATE_ALIAS": "Fee for assigning alias", - "UPDATE_ALIAS": "Fee for editing alias", - "POW_REWARD": "POW reward", - "POS_REWARD": "POS reward", - "CREATE_CONTRACT": "Contract proposal", - "PLEDGE_CONTRACT": "Contract deposit", - "NULLIFY_CONTRACT": "Burn deposits", - "PROPOSAL_CANCEL_CONTRACT": "Cancellation request", - "CANCEL_CONTRACT": "Cancel and return deposits" - } - }, - "CONTRACTS": { - "EMPTY": "No active contracts", - "CONTRACTS": "Contracts", - "PURCHASE": "Purchase", - "SELL": "Sell", - "DATE": "Date", - "AMOUNT": "Amount", - "STATUS": "Status", - "COMMENTS": "Comments", - "PURCHASE_BUTTON": "New Purchase", - "LISTING_BUTTON": "Create listing", - "TIME_LEFT": { - "REMAINING_LESS_ONE": "Less than an hour to respond", - "REMAINING_ONE": "{{time}} hour remains", - "REMAINING_MANY": "{{time}} hours remain", - "REMAINING_MANY_ALT": "{{time}} hours remain", - "REMAINING_ONE_RESPONSE": "{{time}} hour remains", - "REMAINING_MANY_RESPONSE": "{{time}} hours remain", - "REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain", - "REMAINING_ONE_WAITING": "Waiting for {{time}} hour", - "REMAINING_MANY_WAITING": "Waiting for {{time}} hours", - "REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours" - }, - "STATUS_MESSAGES": { - "SELLER": { - "NEW_CONTRACT": "New contract proposal", - "IGNORED": "You ignored contract proposal", - "ACCEPTED": "Contract started", - "WAIT": "Waiting for contract confirmation", - "WAITING_BUYER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "You ignored cancellation proposal", - "EXPIRED": "Contract proposal has expired" - }, - "BUYER": { - "WAITING": "Waiting for response", - "IGNORED": "Seller ignored your contract proposal", - "ACCEPTED": "Seller accepted your contract proposal", - "WAIT": "Waiting for deposits confirmation", - "WAITING_SELLER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "WAITING_CANCEL": "Waiting for contract cancellation", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract", - "EXPIRED": "The contract proposal has expired" - } - } - }, - "PURCHASE": { - "DESCRIPTION": "Description", - "SELLER": "Seller", - "AMOUNT": "Amount", - "YOUR_DEPOSIT": "Your deposit", - "SELLER_DEPOSIT": "Seller deposit", - "BUYER_DEPOSIT": "Buyer deposit", - "SAME_AMOUNT": "Same amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "SEND_BUTTON": "Send", - "FORM_ERRORS": { - "DESC_REQUIRED": "Description required", - "DESC_MAXIMUM": "Maximum field length reached", - "SELLER_REQUIRED": "Address required", - "SELLER_NOT_VALID": "Invalid address", - "ALIAS_NOT_VALID": "Invalid alias", - "AMOUNT_REQUIRED": "Amount required", - "AMOUNT_ZERO": "Amount cannot be zero", - "YOUR_DEPOSIT_REQUIRED": "Deposit required", - "SELLER_DEPOSIT_REQUIRED": "Seller deposit required", - "SELLER_SAME": "Use separate account", - "COMMENT_MAXIMUM": "Maximum field length reached" - }, - "PROGRESS_NEW": "New purchase", - "PROGRESS_WAIT": "Awaiting reply", - "PROGRESS_RECEIVE": "Reply received", - "PROGRESS_COMPLETE": "Completed", - "FEE": "Fee", - "PAYMENT": "Payment ID", - "STATUS_MESSAGES": { - "NEW_PURCHASE": "New purchase", - "WAITING_SELLER": "Waiting for response", - "WAITING_BUYER": "Contract proposal received", - "WAITING_CONFIRMATION": "Waiting for deposits confirmation", - "WAITING_DELIVERY": "Waiting for delivery", - "COMPLETED": "Contract completed", - "IGNORED_BUYER": "Contract proposal ignored", - "IGNORED_SELLER": "The seller ignored your contract proposal", - "PROPOSAL_CANCEL_SELLER": "Cancellation request sent", - "PROPOSAL_CANCEL_BUYER": "Cancellation request received", - "BEING_CANCELLED": "Cancellation in progress", - "IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract", - "IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored", - "CANCELLED": "Contract canceled", - "EXPIRED": "Contract proposal expired", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned" - }, - "ACCEPT_STATE_WAIT_BIG": "Contract started", - "IGNORED_ACCEPT": "Contract proposal ignored", - "BURN_PROPOSAL": "Deposits burned", - "SUCCESS_FINISH_PROPOSAL": "Contract completed", - "SEND_CANCEL_PROPOSAL": "Cancellation request sent", - "IGNORED_CANCEL": "Contract cancellation proposal ignored", - "DEALS_CANCELED_WAIT": "Cancellation in progress", - "WAITING_TIME": "Response time", - "NEED_MONEY": "Insufficient funds", - "BUTTON_MAKE_PLEDGE": "Accept and make deposit", - "BUTTON_IGNORE": "Ignore and hide offer", - "BUTTON_NULLIFY": "Terminate and burn deposits", - "BUTTON_RECEIVED": "Complete and release deposits", - "BUTTON_CANCEL_BUYER": "Cancel and return deposits", - "BUTTON_NOT_CANCEL": "Ignore request", - "BUTTON_CANCEL_SELLER": "Confirm and return deposits", - "HOUR": "hour", - "HOURS": "hours", - "CANCEL": "Cancel", - "NULLIFY_QUESTION": "Are you sure you want to burn both deposits?", - "BUTTON_NULLIFY_SHORT": "Burn", - "WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?" - }, - "MESSAGES": { - "ADDRESS": "Address", - "MESSAGE": "Message", - "SEND_PLACEHOLDER": "Type a message...", - "SEND_BUTTON": "Send" - }, - "MODALS": { - "ERROR": "Error", - "SUCCESS": "Success", - "INFO": "Information", - "OK": "OK" - }, - "CONFIRM": { - "BUTTON_CONFIRM": "Send", - "BUTTON_CANCEL": "Cancel", - "TITLE": "Confirm transaction", - "MESSAGE": { - "SEND": "Send", - "FROM": "From", - "TO": "To", - "COMMENT": "Comment" - } - }, - "STAKING": { - "TITLE": "Staking", - "TITLE_PENDING": "Pending", - "TITLE_TOTAL": "Total", - "TITLE_PERIOD": "Time period:", - "PERIOD": { - "WEEK1": "1 week", - "WEEK2": "2 week", - "MONTH1": "1 month", - "MONTH3": "3 month", - "MONTH6": "6 month", - "YEAR": "1 year", - "ALL": "All" - }, - "TITLE_GROUP": "Group:", - "GROUP": { - "DAY": "day", - "WEEK": "week", - "MONTH": "month" - }, - "SWITCH": { - "ON": "ON", - "OFF": "OFF" - } - }, - "CONTACTS": { - "TITLE": "Contact list", - "IMPORT_EXPORT": "Import or export contacts", - "IMPORT": "Import", - "EXPORT": "Export", - "ADD": "Add/edit contact", - "SEND": "Send", - "SEND_FROM": "Send from", - "SEND_TO": "To", - "OPEN_ADD_WALLET": "Open/Add wallet", - "COPY": "- Copy", - "TABLE": { - "NAME": "Name", - "ALIAS": "Alias", - "ADDRESS": "Address", - "NOTES": "Notes", - "EMPTY": "Contact list is empty" - }, - "FORM": { - "NAME": "Name", - "ADDRESS": "Address", - "NOTES": "Notes" - }, - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUBLICATED": "Name is dublicated", - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "SET_MASTER_PASSWORD": "Set master password", - "ADDRESS_DUBLICATED": "Address is dublicated", - "MAX_LENGTH": "Maximum notes length reached", - "NAME_LENGTH": "The name must be 4-25 characters long" - }, - "BUTTON": { - "SEND": "Send", - "EDIT": "Edit", - "DELETE": "Delete", - "ADD": "Add contact", - "ADD_EDIT": "Add/Save", - "GO_TO_WALLET": "Go to wallet", - "IMPORT_EXPORT": "Import/export" - }, - "SUCCESS_SENT": "Contact added", - "SUCCESS_SAVE": "Contact is edited", - "SUCCESS_IMPORT": "Contacts are imported", - "SUCCESS_EXPORT": "Contacts are exported", - "ERROR_IMPORT": "Error is occured while reading file!", - "ERROR_TYPE_FILE": "Please import valid .csv file", - "ERROR_EXPORT": "Invalid file type. Save file as .csv", - "ERROR_EMPTY_LIST": "Contact list is empty", - "ERROR_IMPORT_EMPTY": "File is empty" - }, - "ERRORS": { - "NO_MONEY": "Not enough money", - "NOT_ENOUGH_MONEY": "Insufficient funds in account", - "CORE_BUSY": "Internal error: core is busy", - "DAEMON_BUSY": "Internal error: daemon is busy", - "NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet", - "NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with", - "TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions", - "TRANSFER_ATTEMPT": "There is no connection to Zano network", - "ACCESS_DENIED": "Access denied", - "TRANSACTION_ERROR": "Error. Transaction not completed.", - "BAD_ARG": "Invalid argument", - "WALLET_WRONG_ID": "Invalid wallet ID", - "WRONG_PASSWORD": "Invalid password", - "FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain", - "FILE_NOT_FOUND": "File not found", - "FILE_EXIST": "A file with that name already exists. Enter another name to save the file under", - "FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.", - "TX_TYPE_NORMAL": "Error. The payment from the wallet", - "TX_TYPE_NORMAL_TO": "to", - "TX_TYPE_NORMAL_END": "was not completed.", - "TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe", - "TX_TYPE_NEW_ALIAS_END": "Please try again.", - "TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe", - "TX_TYPE_COIN_BASE": "Error. The payment was not completed." - }, - "CONTEXT_MENU": { - "COPY": "copy", - "PASTE": "paste", - "SELECT": "select all" - }, - "BACKEND_LOCALIZATION": { - "QUIT": "Quit", - "IS_RECEIVED": "", - "IS_CONFIRMED": "", - "INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)", - "INCOME_TRANSFER_CONFIRMED": "Payment received", - "MINED": "Mined", - "LOCKED": "Blocked", - "IS_MINIMIZE": "Zano application is minimized to the system tray", - "RESTORE": "You can recover it by clicking or using the context menu", - "TRAY_MENU_SHOW": "Resize", - "TRAY_MENU_MINIMIZE": "Minimize" - } -} diff --git a/src/gui/qt-daemon/html/assets/i18n/cs.json b/src/gui/qt-daemon/html/assets/i18n/cs.json deleted file mode 100644 index 5e6066d0..00000000 --- a/src/gui/qt-daemon/html/assets/i18n/cs.json +++ /dev/null @@ -1,593 +0,0 @@ -{ - "LOGIN": { - "SETUP_MASTER_PASS": "Nastavit hlavní heslo", - "SETUP_CONFIRM_PASS": "Potvrdit heslo", - "MASTER_PASS": "Hlavní heslo", - "BUTTON_NEXT": "Další", - "BUTTON_SKIP": "Přeskočit", - "BUTTON_RESET": "Resetovat", - "INCORRECT_PASSWORD": "Neplatné heslo", - "FORM_ERRORS": { - "PASS_REQUIRED": "Je vyžadováno heslo", - "CONFIRM_REQUIRED": "Je požadováno potvrzení", - "MISMATCH": "Neodpovídající" - } - }, - "COMMON": { - "BACK": "Jít zpět" - }, - "BREADCRUMBS": { - "ADD_WALLET": "Přidat peněženku", - "CREATE_WALLET": "Vytvořit novou peněženku", - "SAVE_PHRASE": "Uložit svoji seed frázi", - "OPEN_WALLET": "Otevřít existující peněženku", - "RESTORE_WALLET": "Obnovení z zálohy", - "WALLET_DETAILS": "Podrobnosti o peněžence", - "ASSIGN_ALIAS": "Přidělit přezdívku", - "EDIT_ALIAS": "Upravit přezdívku", - "TRANSFER_ALIAS": "Převést přezdívku", - "CONTRACTS": "Kontrakty", - "NEW_PURCHASE": "Nový nákup", - "OLD_PURCHASE": "Nákup" - }, - "SIDEBAR": { - "TITLE": "Peněženky", - "ADD_NEW": "+ Přidat", - "ACCOUNT": { - "STAKING": "Staking", - "MESSAGES": "Nové nabídky/zprávy", - "SYNCING": "Synchronizace pěněženky" - }, - "CONTACTS": "Contacts", - "SETTINGS": "Nastavení", - "LOG_OUT": "Odhlásit se", - "SYNCHRONIZATION": { - "OFFLINE": "Offline", - "ONLINE": "Online", - "ERROR": "Chyba systému", - "COMPLETE": "Dokončení", - "SYNCING": "Sychronizace blockchainu", - "LOADING": "Nahrávání blockchainových dat" - }, - "UPDATE": { - "STANDARD": "Aktualizace k dispozici", - "STANDARD_TOOLTIP": "Získejte novou aktualizaci.
      Doporučená aktualizace!", - "IMPORTANT": "Aktualizace k dispozici", - "IMPORTANT_HINT": "Důležitá aktualizace!", - "IMPORTANT_TOOLTIP": "Získejte novou aktualizaci.
      Důležitá aktualizace!", - "CRITICAL": "Aktualizace k dispozici", - "CRITICAL_HINT": "Kritická aktualizace!", - "CRITICAL_TOOLTIP": "Kritická aktualizace k dispozici.Aktualizaci důrazně doporučujeme!", - "TIME": "Systémový čas se liší od sítového", - "TIME_TOOLTIP": "Špatný systémový čas!
      Zkontrolujte a nastavte systémový čas." - } - }, - "MAIN": { - "TITLE": "Chcete-li začít používat Zano, vytvořte nebo otevřete peněženku", - "BUTTON_NEW_WALLET": "Vytvořit novou peněženku", - "BUTTON_OPEN_WALLET": "Otevřít existující peněženku", - "BUTTON_RESTORE_BACKUP": "Obnovení ze zálohy", - "HELP": "Jak vytvořit peněženku?", - "CHOOSE_PATH": "Zvolte prosím cestu" - }, - "CREATE_WALLET": { - "NAME": "Název peněženky", - "PASS": "Nastavit heslo peněženky", - "CONFIRM": "Potvrdit heslo k peněžence", - "BUTTON_SELECT": "Vyberte cestu k pěněžence", - "BUTTON_CREATE": "Vytvořit peněženku", - "TITLE_SAVE": "Uložte soubor peněženky.", - "ERROR_CANNOT_SAVE_TOP": "Stávající soubory peněženky nelze nahradit nebo přepsat", - "ERROR_CANNOT_SAVE_SYSTEM": "Soubory peněženky nelze uložit na diskový oddíl s operačním systémem", - "FORM_ERRORS": { - "NAME_REQUIRED": "Název je povinný", - "NAME_DUPLICATE": "Název je duplicitní", - "MAX_LENGTH": "Dosáhli jste maximální délky názvu", - "CONFIRM_NOT_MATCH": "Confirm password not match" - } - }, - "OPEN_WALLET": { - "NAME": "Wallet name", - "PASS": "Wallet password", - "BUTTON": "Open wallet", - "WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open", - "FILE_NOT_FOUND1": "Wallet file not found", - "FILE_NOT_FOUND2": "

      It might have been renamed or moved.
      To open it, use the \"Open wallet\" button.", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - }, - "MODAL": { - "TITLE": "Type wallet password", - "LABEL": "Password to this wallet", - "OPEN": "Open wallet", - "SKIP": "Skip", - "NOT_FOUND": "Not found" - } - }, - "RESTORE_WALLET": { - "LABEL_NAME": "Wallet name", - "LABEL_PHRASE_KEY": "Seed phrase / tracking seed", - "PASS": "Wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match", - "CHOOSE_PATH": "Please choose a path", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match", - "KEY_REQUIRED": "Key is required", - "KEY_NOT_VALID": "Key not valid" - } - }, - "SEED_PHRASE": { - "TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.", - "BUTTON_CREATE_ACCOUNT": "Create wallet", - "BUTTON_COPY": "Copy" - }, - "PROGRESS": { - "ADD_WALLET": "Add wallet", - "SELECT_LOCATION": "Select wallet location", - "CREATE_WALLET": "Create new wallet", - "RESTORE_WALLET": "Restore from backup" - }, - "SETTINGS": { - "TITLE": "Settings", - "DARK_THEME": "Dark theme", - "WHITE_THEME": "White theme", - "GRAY_THEME": "Grey theme", - "APP_LOCK": { - "TITLE": "Lock app after:", - "TIME1": "5 min", - "TIME2": "15 min", - "TIME3": "1 hour", - "TIME4": "Never" - }, - "SCALE": { - "75": "75% scale", - "100": "100% scale", - "125": "125% scale", - "150": "150% scale" - }, - "MASTER_PASSWORD": { - "TITLE": "Update master password", - "OLD": "Old password", - "NEW": "New password", - "CONFIRM": "New password confirmation", - "BUTTON": "Save" - }, - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "PASS_NOT_MATCH": "Old password not match", - "CONFIRM_NOT_MATCH": "Confirm password not match" - }, - "LAST_BUILD": "Current build: {{value}}", - "APP_LOG_TITLE": "Log level:" - }, - "WALLET": { - "REGISTER_ALIAS": "Register an alias", - "DETAILS": "Details", - "LOCK": "Lock", - "AVAILABLE_BALANCE": "Available {{available}} {{currency}}", - "LOCKED_BALANCE": "Locked {{locked}} {{currency}}", - "LOCKED_BALANCE_LINK": "What does that mean?", - "TABS": { - "SEND": "Send", - "RECEIVE": "Receive", - "HISTORY": "History", - "CONTRACTS": "Contracts", - "MESSAGES": "Messages", - "STAKING": "Staking" - } - }, - "WALLET_DETAILS": { - "LABEL_NAME": "Wallet name", - "LABEL_FILE_LOCATION": "Wallet file location", - "LABEL_SEED_PHRASE": "Seed phrase", - "SEED_PHRASE_HINT": "Click to reveal the seed phrase", - "BUTTON_SAVE": "Save", - "BUTTON_REMOVE": "Close wallet", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - } - }, - "ASSIGN_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": " Enter alias", - "TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”." - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "", - "TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later." - }, - "COST": "Alias fee {{value}} {{currency}}", - "BUTTON_ASSIGN": "Assign", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_WRONG": "Invalid name: allowed symbols \"0-9\", \"a-z\", \"-\", \".\"", - "NAME_LENGTH": "The alias must be 6-25 characters long", - "NAME_EXISTS": "Alias name already exists", - "NO_MONEY": "You do not have enough funds to assign this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "ONE_ALIAS": "You can create only one alias per wallet", - "REQUEST_ADD_REG": "The alias will be assigned within 10 minutes" - }, - "EDIT_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "NO_MONEY": "You do not have enough funds to change the comment to this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "COST": "Fee {{value}} {{currency}}", - "BUTTON_EDIT": "Edit" - }, - "TRANSFER_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "ADDRESS": { - "LABEL": "Transfer to", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "WRONG_ADDRESS": "No wallet with this account exists", - "ALIAS_EXISTS": "This account already has an alias", - "NO_MONEY": "You do not have enough funds to transfer this alias" - }, - "COST": "Transfer fee {{value}} {{currency}}", - "BUTTON_TRANSFER": "Transfer", - "BUTTON_CANCEL": "Cancel", - "REQUEST_SEND_REG": "The alias will be transferred within 10 minutes" - }, - "SEND": { - "ADDRESS": "Address", - "AMOUNT": "Amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "MIXIN": "Mixin", - "FEE": "Fee", - "HIDE": "Hide your wallet address from recipient", - "BUTTON": "Send", - "SUCCESS_SENT": "Transaction sent", - "FORM_ERRORS": { - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "ALIAS_NOT_VALID": "Alias not valid", - "AMOUNT_REQUIRED": "Amount is required", - "AMOUNT_ZERO": "Amount is zero", - "FEE_REQUIRED": "Fee is required", - "FEE_MINIMUM": "Minimum fee: {{fee}}", - "MAX_LENGTH": "Maximum comment length reached" - } - }, - "HISTORY": { - "STATUS": "Status", - "STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}", - "LOCK_TOOLTIP": "Locked till {{date}}", - "SEND": "Sent", - "RECEIVED": "Received", - "DATE": "Date", - "AMOUNT": "Amount", - "FEE": "Fee", - "ADDRESS": "Address", - "DETAILS": { - "PAYMENT_ID": "Payment ID", - "ID": "Transaction ID", - "SIZE": "Transaction size", - "SIZE_VALUE": "{{value}} bytes", - "HEIGHT": "Height", - "CONFIRMATION": "Confirmation", - "INPUTS": "Inputs", - "OUTPUTS": "Outputs", - "COMMENT": "Comment" - }, - "TYPE_MESSAGES": { - "HIDDEN": "hidden", - "UNDEFINED": "Undefined", - "COMPLETE_BUYER": "Contract completed", - "COMPLETE_SELLER": "Contract completed", - "CREATE_ALIAS": "Fee for assigning alias", - "UPDATE_ALIAS": "Fee for editing alias", - "POW_REWARD": "POW reward", - "POS_REWARD": "POS reward", - "CREATE_CONTRACT": "Contract proposal", - "PLEDGE_CONTRACT": "Contract deposit", - "NULLIFY_CONTRACT": "Burn deposits", - "PROPOSAL_CANCEL_CONTRACT": "Cancellation request", - "CANCEL_CONTRACT": "Cancel and return deposits" - } - }, - "CONTRACTS": { - "EMPTY": "No active contracts", - "CONTRACTS": "Contracts", - "PURCHASE": "Purchase", - "SELL": "Sell", - "DATE": "Date", - "AMOUNT": "Amount", - "STATUS": "Status", - "COMMENTS": "Comments", - "PURCHASE_BUTTON": "New Purchase", - "LISTING_BUTTON": "Create listing", - "TIME_LEFT": { - "REMAINING_LESS_ONE": "Less than an hour to respond", - "REMAINING_ONE": "{{time}} hour remains", - "REMAINING_MANY": "{{time}} hours remain", - "REMAINING_MANY_ALT": "{{time}} hours remain", - "REMAINING_ONE_RESPONSE": "{{time}} hour remains", - "REMAINING_MANY_RESPONSE": "{{time}} hours remain", - "REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain", - "REMAINING_ONE_WAITING": "Waiting for {{time}} hour", - "REMAINING_MANY_WAITING": "Waiting for {{time}} hours", - "REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours" - }, - "STATUS_MESSAGES": { - "SELLER": { - "NEW_CONTRACT": "New contract proposal", - "IGNORED": "You ignored contract proposal", - "ACCEPTED": "Contract started", - "WAIT": "Waiting for contract confirmation", - "WAITING_BUYER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "You ignored cancellation proposal", - "EXPIRED": "Contract proposal has expired" - }, - "BUYER": { - "WAITING": "Waiting for response", - "IGNORED": "Seller ignored your contract proposal", - "ACCEPTED": "Seller accepted your contract proposal", - "WAIT": "Waiting for deposits confirmation", - "WAITING_SELLER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "WAITING_CANCEL": "Waiting for contract cancellation", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract", - "EXPIRED": "The contract proposal has expired" - } - } - }, - "PURCHASE": { - "DESCRIPTION": "Description", - "SELLER": "Seller", - "AMOUNT": "Amount", - "YOUR_DEPOSIT": "Your deposit", - "SELLER_DEPOSIT": "Seller deposit", - "BUYER_DEPOSIT": "Buyer deposit", - "SAME_AMOUNT": "Same amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "SEND_BUTTON": "Send", - "FORM_ERRORS": { - "DESC_REQUIRED": "Description required", - "DESC_MAXIMUM": "Maximum field length reached", - "SELLER_REQUIRED": "Address required", - "SELLER_NOT_VALID": "Invalid address", - "ALIAS_NOT_VALID": "Invalid alias", - "AMOUNT_REQUIRED": "Amount required", - "AMOUNT_ZERO": "Amount cannot be zero", - "YOUR_DEPOSIT_REQUIRED": "Deposit required", - "SELLER_DEPOSIT_REQUIRED": "Seller deposit required", - "SELLER_SAME": "Use separate account", - "COMMENT_MAXIMUM": "Maximum field length reached" - }, - "PROGRESS_NEW": "New purchase", - "PROGRESS_WAIT": "Awaiting reply", - "PROGRESS_RECEIVE": "Reply received", - "PROGRESS_COMPLETE": "Completed", - "FEE": "Fee", - "PAYMENT": "Payment ID", - "STATUS_MESSAGES": { - "NEW_PURCHASE": "New purchase", - "WAITING_SELLER": "Waiting for response", - "WAITING_BUYER": "Contract proposal received", - "WAITING_CONFIRMATION": "Waiting for deposits confirmation", - "WAITING_DELIVERY": "Waiting for delivery", - "COMPLETED": "Contract completed", - "IGNORED_BUYER": "Contract proposal ignored", - "IGNORED_SELLER": "The seller ignored your contract proposal", - "PROPOSAL_CANCEL_SELLER": "Cancellation request sent", - "PROPOSAL_CANCEL_BUYER": "Cancellation request received", - "BEING_CANCELLED": "Cancellation in progress", - "IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract", - "IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored", - "CANCELLED": "Contract canceled", - "EXPIRED": "Contract proposal expired", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned" - }, - "ACCEPT_STATE_WAIT_BIG": "Contract started", - "IGNORED_ACCEPT": "Contract proposal ignored", - "BURN_PROPOSAL": "Deposits burned", - "SUCCESS_FINISH_PROPOSAL": "Contract completed", - "SEND_CANCEL_PROPOSAL": "Cancellation request sent", - "IGNORED_CANCEL": "Contract cancellation proposal ignored", - "DEALS_CANCELED_WAIT": "Cancellation in progress", - "WAITING_TIME": "Response time", - "NEED_MONEY": "Insufficient funds", - "BUTTON_MAKE_PLEDGE": "Accept and make deposit", - "BUTTON_IGNORE": "Ignore and hide offer", - "BUTTON_NULLIFY": "Terminate and burn deposits", - "BUTTON_RECEIVED": "Complete and release deposits", - "BUTTON_CANCEL_BUYER": "Cancel and return deposits", - "BUTTON_NOT_CANCEL": "Ignore request", - "BUTTON_CANCEL_SELLER": "Confirm and return deposits", - "HOUR": "hour", - "HOURS": "hours", - "CANCEL": "Cancel", - "NULLIFY_QUESTION": "Are you sure you want to burn both deposits?", - "BUTTON_NULLIFY_SHORT": "Burn", - "WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?" - }, - "MESSAGES": { - "ADDRESS": "Address", - "MESSAGE": "Message", - "SEND_PLACEHOLDER": "Type a message...", - "SEND_BUTTON": "Send" - }, - "MODALS": { - "ERROR": "Error", - "SUCCESS": "Success", - "INFO": "Information", - "OK": "OK" - }, - "CONFIRM": { - "BUTTON_CONFIRM": "Send", - "BUTTON_CANCEL": "Cancel", - "TITLE": "Confirm transaction", - "MESSAGE": { - "SEND": "Send", - "FROM": "From", - "TO": "To", - "COMMENT": "Comment" - } - }, - "STAKING": { - "TITLE": "Staking", - "TITLE_PENDING": "Pending", - "TITLE_TOTAL": "Total", - "TITLE_PERIOD": "Time period:", - "PERIOD": { - "WEEK1": "1 week", - "WEEK2": "2 week", - "MONTH1": "1 month", - "MONTH3": "3 month", - "MONTH6": "6 month", - "YEAR": "1 year", - "ALL": "All" - }, - "TITLE_GROUP": "Group:", - "GROUP": { - "DAY": "day", - "WEEK": "week", - "MONTH": "month" - }, - "SWITCH": { - "ON": "ON", - "OFF": "OFF" - } - }, - "CONTACTS": { - "TITLE": "Contact list", - "IMPORT_EXPORT": "Import or export contacts", - "IMPORT": "Import", - "EXPORT": "Export", - "ADD": "Add/edit contact", - "SEND": "Send", - "SEND_FROM": "Send from", - "SEND_TO": "To", - "OPEN_ADD_WALLET": "Open/Add wallet", - "COPY": "- Copy", - "TABLE": { - "NAME": "Name", - "ALIAS": "Alias", - "ADDRESS": "Address", - "NOTES": "Notes", - "EMPTY": "Contact list is empty" - }, - "FORM": { - "NAME": "Name", - "ADDRESS": "Address", - "NOTES": "Notes" - }, - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUBLICATED": "Name is dublicated", - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "SET_MASTER_PASSWORD": "Set master password", - "ADDRESS_DUBLICATED": "Address is dublicated", - "MAX_LENGTH": "Maximum notes length reached", - "NAME_LENGTH": "The name must be 4-25 characters long" - }, - "BUTTON": { - "SEND": "Send", - "EDIT": "Edit", - "DELETE": "Delete", - "ADD": "Add contact", - "ADD_EDIT": "Add/Save", - "GO_TO_WALLET": "Go to wallet", - "IMPORT_EXPORT": "Import/export" - }, - "SUCCESS_SENT": "Contact added", - "SUCCESS_SAVE": "Contact is edited", - "SUCCESS_IMPORT": "Contacts are imported", - "SUCCESS_EXPORT": "Contacts are exported", - "ERROR_IMPORT": "Error is occured while reading file!", - "ERROR_TYPE_FILE": "Please import valid .csv file", - "ERROR_EXPORT": "Invalid file type. Save file as .csv", - "ERROR_EMPTY_LIST": "Contact list is empty", - "ERROR_IMPORT_EMPTY": "File is empty" - }, - "ERRORS": { - "NO_MONEY": "Not enough money", - "NOT_ENOUGH_MONEY": "Insufficient funds in account", - "CORE_BUSY": "Internal error: core is busy", - "DAEMON_BUSY": "Internal error: daemon is busy", - "NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet", - "NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with", - "TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions", - "TRANSFER_ATTEMPT": "There is no connection to Zano network", - "ACCESS_DENIED": "Access denied", - "TRANSACTION_ERROR": "Error. Transaction not completed.", - "BAD_ARG": "Invalid argument", - "WALLET_WRONG_ID": "Invalid wallet ID", - "WRONG_PASSWORD": "Invalid password", - "FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain", - "FILE_NOT_FOUND": "File not found", - "FILE_EXIST": "A file with that name already exists. Enter another name to save the file under", - "FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.", - "TX_TYPE_NORMAL": "Error. The payment from the wallet", - "TX_TYPE_NORMAL_TO": "to", - "TX_TYPE_NORMAL_END": "was not completed.", - "TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe", - "TX_TYPE_NEW_ALIAS_END": "Please try again.", - "TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe", - "TX_TYPE_COIN_BASE": "Error. The payment was not completed." - }, - "CONTEXT_MENU": { - "COPY": "copy", - "PASTE": "paste", - "SELECT": "select all" - }, - "BACKEND_LOCALIZATION": { - "QUIT": "Quit", - "IS_RECEIVED": "", - "IS_CONFIRMED": "", - "INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)", - "INCOME_TRANSFER_CONFIRMED": "Payment received", - "MINED": "Mined", - "LOCKED": "Blocked", - "IS_MINIMIZE": "Zano application is minimized to the system tray", - "RESTORE": "You can recover it by clicking or using the context menu", - "TRAY_MENU_SHOW": "Resize", - "TRAY_MENU_MINIMIZE": "Minimize" - } -} diff --git a/src/gui/qt-daemon/html/assets/i18n/da.json b/src/gui/qt-daemon/html/assets/i18n/da.json deleted file mode 100644 index 59e88fa0..00000000 --- a/src/gui/qt-daemon/html/assets/i18n/da.json +++ /dev/null @@ -1,593 +0,0 @@ -{ - "LOGIN": { - "SETUP_MASTER_PASS": "Setup master password", - "SETUP_CONFIRM_PASS": "Confirm the password", - "MASTER_PASS": "Master password", - "BUTTON_NEXT": "Next", - "BUTTON_SKIP": "Skip", - "BUTTON_RESET": "Reset", - "INCORRECT_PASSWORD": "Invalid password", - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "CONFIRM_REQUIRED": "Confirmation is required", - "MISMATCH": "Mismatch" - } - }, - "COMMON": { - "BACK": "Go back" - }, - "BREADCRUMBS": { - "ADD_WALLET": "Add wallet", - "CREATE_WALLET": "Create new wallet", - "SAVE_PHRASE": "Save your seed phrase", - "OPEN_WALLET": "Open existing wallet", - "RESTORE_WALLET": "Restore from backup", - "WALLET_DETAILS": "Wallet details", - "ASSIGN_ALIAS": "Assign alias", - "EDIT_ALIAS": "Edit alias", - "TRANSFER_ALIAS": "Transfer alias", - "CONTRACTS": "Contracts", - "NEW_PURCHASE": "New purchase", - "OLD_PURCHASE": "Purchase" - }, - "SIDEBAR": { - "TITLE": "Wallets", - "ADD_NEW": "+ Add", - "ACCOUNT": { - "STAKING": "Staking", - "MESSAGES": "New offers/Messages", - "SYNCING": "Syncing wallet" - }, - "CONTACTS": "Contacts", - "SETTINGS": "Settings", - "LOG_OUT": "Log out", - "SYNCHRONIZATION": { - "OFFLINE": "Offline", - "ONLINE": "Online", - "ERROR": "System error", - "COMPLETE": "Completion", - "SYNCING": "Syncing blockchain", - "LOADING": "Loading blockchain data" - }, - "UPDATE": { - "STANDARD": "Update available", - "STANDARD_TOOLTIP": "Get new update.
      Update is recommended!", - "IMPORTANT": "Update available", - "IMPORTANT_HINT": "Important update!", - "IMPORTANT_TOOLTIP": "Get new update.
      Important update!", - "CRITICAL": "Update available", - "CRITICAL_HINT": "Critical update!", - "CRITICAL_TOOLTIP": "Critical update available.Update strongly recommended!", - "TIME": "System time differs from network", - "TIME_TOOLTIP": "Wrong system time!
      Check and repair your system time." - } - }, - "MAIN": { - "TITLE": "Create or open the wallet to start using Zano", - "BUTTON_NEW_WALLET": "Create new wallet", - "BUTTON_OPEN_WALLET": "Open existing wallet", - "BUTTON_RESTORE_BACKUP": "Restore from backup", - "HELP": "How to create wallet?", - "CHOOSE_PATH": "Please choose a path" - }, - "CREATE_WALLET": { - "NAME": "Wallet name", - "PASS": "Set wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "TITLE_SAVE": "Save the wallet file.", - "ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten", - "ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match" - } - }, - "OPEN_WALLET": { - "NAME": "Wallet name", - "PASS": "Wallet password", - "BUTTON": "Open wallet", - "WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open", - "FILE_NOT_FOUND1": "Wallet file not found", - "FILE_NOT_FOUND2": "

      It might have been renamed or moved.
      To open it, use the \"Open wallet\" button.", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - }, - "MODAL": { - "TITLE": "Type wallet password", - "LABEL": "Password to this wallet", - "OPEN": "Open wallet", - "SKIP": "Skip", - "NOT_FOUND": "Not found" - } - }, - "RESTORE_WALLET": { - "LABEL_NAME": "Wallet name", - "LABEL_PHRASE_KEY": "Seed phrase / tracking seed", - "PASS": "Wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match", - "CHOOSE_PATH": "Please choose a path", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match", - "KEY_REQUIRED": "Key is required", - "KEY_NOT_VALID": "Key not valid" - } - }, - "SEED_PHRASE": { - "TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.", - "BUTTON_CREATE_ACCOUNT": "Create wallet", - "BUTTON_COPY": "Copy" - }, - "PROGRESS": { - "ADD_WALLET": "Add wallet", - "SELECT_LOCATION": "Select wallet location", - "CREATE_WALLET": "Create new wallet", - "RESTORE_WALLET": "Restore from backup" - }, - "SETTINGS": { - "TITLE": "Settings", - "DARK_THEME": "Dark theme", - "WHITE_THEME": "White theme", - "GRAY_THEME": "Grey theme", - "APP_LOCK": { - "TITLE": "Lock app after:", - "TIME1": "5 min", - "TIME2": "15 min", - "TIME3": "1 hour", - "TIME4": "Never" - }, - "SCALE": { - "75": "75% scale", - "100": "100% scale", - "125": "125% scale", - "150": "150% scale" - }, - "MASTER_PASSWORD": { - "TITLE": "Update master password", - "OLD": "Old password", - "NEW": "New password", - "CONFIRM": "New password confirmation", - "BUTTON": "Save" - }, - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "PASS_NOT_MATCH": "Old password not match", - "CONFIRM_NOT_MATCH": "Confirm password not match" - }, - "LAST_BUILD": "Current build: {{value}}", - "APP_LOG_TITLE": "Log level:" - }, - "WALLET": { - "REGISTER_ALIAS": "Register an alias", - "DETAILS": "Details", - "LOCK": "Lock", - "AVAILABLE_BALANCE": "Available {{available}} {{currency}}", - "LOCKED_BALANCE": "Locked {{locked}} {{currency}}", - "LOCKED_BALANCE_LINK": "What does that mean?", - "TABS": { - "SEND": "Send", - "RECEIVE": "Receive", - "HISTORY": "History", - "CONTRACTS": "Contracts", - "MESSAGES": "Messages", - "STAKING": "Staking" - } - }, - "WALLET_DETAILS": { - "LABEL_NAME": "Wallet name", - "LABEL_FILE_LOCATION": "Wallet file location", - "LABEL_SEED_PHRASE": "Seed phrase", - "SEED_PHRASE_HINT": "Click to reveal the seed phrase", - "BUTTON_SAVE": "Save", - "BUTTON_REMOVE": "Close wallet", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - } - }, - "ASSIGN_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": " Enter alias", - "TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”." - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "", - "TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later." - }, - "COST": "Alias fee {{value}} {{currency}}", - "BUTTON_ASSIGN": "Assign", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_WRONG": "Invalid name: allowed symbols \"0-9\", \"a-z\", \"-\", \".\"", - "NAME_LENGTH": "The alias must be 6-25 characters long", - "NAME_EXISTS": "Alias name already exists", - "NO_MONEY": "You do not have enough funds to assign this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "ONE_ALIAS": "You can create only one alias per wallet", - "REQUEST_ADD_REG": "The alias will be assigned within 10 minutes" - }, - "EDIT_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "NO_MONEY": "You do not have enough funds to change the comment to this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "COST": "Fee {{value}} {{currency}}", - "BUTTON_EDIT": "Edit" - }, - "TRANSFER_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "ADDRESS": { - "LABEL": "Transfer to", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "WRONG_ADDRESS": "No wallet with this account exists", - "ALIAS_EXISTS": "This account already has an alias", - "NO_MONEY": "You do not have enough funds to transfer this alias" - }, - "COST": "Transfer fee {{value}} {{currency}}", - "BUTTON_TRANSFER": "Transfer", - "BUTTON_CANCEL": "Cancel", - "REQUEST_SEND_REG": "The alias will be transferred within 10 minutes" - }, - "SEND": { - "ADDRESS": "Address", - "AMOUNT": "Amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "MIXIN": "Mixin", - "FEE": "Fee", - "HIDE": "Hide your wallet address from recipient", - "BUTTON": "Send", - "SUCCESS_SENT": "Transaction sent", - "FORM_ERRORS": { - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "ALIAS_NOT_VALID": "Alias not valid", - "AMOUNT_REQUIRED": "Amount is required", - "AMOUNT_ZERO": "Amount is zero", - "FEE_REQUIRED": "Fee is required", - "FEE_MINIMUM": "Minimum fee: {{fee}}", - "MAX_LENGTH": "Maximum comment length reached" - } - }, - "HISTORY": { - "STATUS": "Status", - "STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}", - "LOCK_TOOLTIP": "Locked till {{date}}", - "SEND": "Sent", - "RECEIVED": "Received", - "DATE": "Date", - "AMOUNT": "Amount", - "FEE": "Fee", - "ADDRESS": "Address", - "DETAILS": { - "PAYMENT_ID": "Payment ID", - "ID": "Transaction ID", - "SIZE": "Transaction size", - "SIZE_VALUE": "{{value}} bytes", - "HEIGHT": "Height", - "CONFIRMATION": "Confirmation", - "INPUTS": "Inputs", - "OUTPUTS": "Outputs", - "COMMENT": "Comment" - }, - "TYPE_MESSAGES": { - "HIDDEN": "hidden", - "UNDEFINED": "Undefined", - "COMPLETE_BUYER": "Contract completed", - "COMPLETE_SELLER": "Contract completed", - "CREATE_ALIAS": "Fee for assigning alias", - "UPDATE_ALIAS": "Fee for editing alias", - "POW_REWARD": "POW reward", - "POS_REWARD": "POS reward", - "CREATE_CONTRACT": "Contract proposal", - "PLEDGE_CONTRACT": "Contract deposit", - "NULLIFY_CONTRACT": "Burn deposits", - "PROPOSAL_CANCEL_CONTRACT": "Cancellation request", - "CANCEL_CONTRACT": "Cancel and return deposits" - } - }, - "CONTRACTS": { - "EMPTY": "No active contracts", - "CONTRACTS": "Contracts", - "PURCHASE": "Purchase", - "SELL": "Sell", - "DATE": "Date", - "AMOUNT": "Amount", - "STATUS": "Status", - "COMMENTS": "Comments", - "PURCHASE_BUTTON": "New Purchase", - "LISTING_BUTTON": "Create listing", - "TIME_LEFT": { - "REMAINING_LESS_ONE": "Less than an hour to respond", - "REMAINING_ONE": "{{time}} hour remains", - "REMAINING_MANY": "{{time}} hours remain", - "REMAINING_MANY_ALT": "{{time}} hours remain", - "REMAINING_ONE_RESPONSE": "{{time}} hour remains", - "REMAINING_MANY_RESPONSE": "{{time}} hours remain", - "REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain", - "REMAINING_ONE_WAITING": "Waiting for {{time}} hour", - "REMAINING_MANY_WAITING": "Waiting for {{time}} hours", - "REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours" - }, - "STATUS_MESSAGES": { - "SELLER": { - "NEW_CONTRACT": "New contract proposal", - "IGNORED": "You ignored contract proposal", - "ACCEPTED": "Contract started", - "WAIT": "Waiting for contract confirmation", - "WAITING_BUYER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "You ignored cancellation proposal", - "EXPIRED": "Contract proposal has expired" - }, - "BUYER": { - "WAITING": "Waiting for response", - "IGNORED": "Seller ignored your contract proposal", - "ACCEPTED": "Seller accepted your contract proposal", - "WAIT": "Waiting for deposits confirmation", - "WAITING_SELLER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "WAITING_CANCEL": "Waiting for contract cancellation", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract", - "EXPIRED": "The contract proposal has expired" - } - } - }, - "PURCHASE": { - "DESCRIPTION": "Description", - "SELLER": "Seller", - "AMOUNT": "Amount", - "YOUR_DEPOSIT": "Your deposit", - "SELLER_DEPOSIT": "Seller deposit", - "BUYER_DEPOSIT": "Buyer deposit", - "SAME_AMOUNT": "Same amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "SEND_BUTTON": "Send", - "FORM_ERRORS": { - "DESC_REQUIRED": "Description required", - "DESC_MAXIMUM": "Maximum field length reached", - "SELLER_REQUIRED": "Address required", - "SELLER_NOT_VALID": "Invalid address", - "ALIAS_NOT_VALID": "Invalid alias", - "AMOUNT_REQUIRED": "Amount required", - "AMOUNT_ZERO": "Amount cannot be zero", - "YOUR_DEPOSIT_REQUIRED": "Deposit required", - "SELLER_DEPOSIT_REQUIRED": "Seller deposit required", - "SELLER_SAME": "Use separate account", - "COMMENT_MAXIMUM": "Maximum field length reached" - }, - "PROGRESS_NEW": "New purchase", - "PROGRESS_WAIT": "Awaiting reply", - "PROGRESS_RECEIVE": "Reply received", - "PROGRESS_COMPLETE": "Completed", - "FEE": "Fee", - "PAYMENT": "Payment ID", - "STATUS_MESSAGES": { - "NEW_PURCHASE": "New purchase", - "WAITING_SELLER": "Waiting for response", - "WAITING_BUYER": "Contract proposal received", - "WAITING_CONFIRMATION": "Waiting for deposits confirmation", - "WAITING_DELIVERY": "Waiting for delivery", - "COMPLETED": "Contract completed", - "IGNORED_BUYER": "Contract proposal ignored", - "IGNORED_SELLER": "The seller ignored your contract proposal", - "PROPOSAL_CANCEL_SELLER": "Cancellation request sent", - "PROPOSAL_CANCEL_BUYER": "Cancellation request received", - "BEING_CANCELLED": "Cancellation in progress", - "IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract", - "IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored", - "CANCELLED": "Contract canceled", - "EXPIRED": "Contract proposal expired", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned" - }, - "ACCEPT_STATE_WAIT_BIG": "Contract started", - "IGNORED_ACCEPT": "Contract proposal ignored", - "BURN_PROPOSAL": "Deposits burned", - "SUCCESS_FINISH_PROPOSAL": "Contract completed", - "SEND_CANCEL_PROPOSAL": "Cancellation request sent", - "IGNORED_CANCEL": "Contract cancellation proposal ignored", - "DEALS_CANCELED_WAIT": "Cancellation in progress", - "WAITING_TIME": "Response time", - "NEED_MONEY": "Insufficient funds", - "BUTTON_MAKE_PLEDGE": "Accept and make deposit", - "BUTTON_IGNORE": "Ignore and hide offer", - "BUTTON_NULLIFY": "Terminate and burn deposits", - "BUTTON_RECEIVED": "Complete and release deposits", - "BUTTON_CANCEL_BUYER": "Cancel and return deposits", - "BUTTON_NOT_CANCEL": "Ignore request", - "BUTTON_CANCEL_SELLER": "Confirm and return deposits", - "HOUR": "hour", - "HOURS": "hours", - "CANCEL": "Cancel", - "NULLIFY_QUESTION": "Are you sure you want to burn both deposits?", - "BUTTON_NULLIFY_SHORT": "Burn", - "WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?" - }, - "MESSAGES": { - "ADDRESS": "Address", - "MESSAGE": "Message", - "SEND_PLACEHOLDER": "Type a message...", - "SEND_BUTTON": "Send" - }, - "MODALS": { - "ERROR": "Error", - "SUCCESS": "Success", - "INFO": "Information", - "OK": "OK" - }, - "CONFIRM": { - "BUTTON_CONFIRM": "Send", - "BUTTON_CANCEL": "Cancel", - "TITLE": "Confirm transaction", - "MESSAGE": { - "SEND": "Send", - "FROM": "From", - "TO": "To", - "COMMENT": "Comment" - } - }, - "STAKING": { - "TITLE": "Staking", - "TITLE_PENDING": "Pending", - "TITLE_TOTAL": "Total", - "TITLE_PERIOD": "Time period:", - "PERIOD": { - "WEEK1": "1 week", - "WEEK2": "2 week", - "MONTH1": "1 month", - "MONTH3": "3 month", - "MONTH6": "6 month", - "YEAR": "1 year", - "ALL": "All" - }, - "TITLE_GROUP": "Group:", - "GROUP": { - "DAY": "day", - "WEEK": "week", - "MONTH": "month" - }, - "SWITCH": { - "ON": "ON", - "OFF": "OFF" - } - }, - "CONTACTS": { - "TITLE": "Contact list", - "IMPORT_EXPORT": "Import or export contacts", - "IMPORT": "Import", - "EXPORT": "Export", - "ADD": "Add/edit contact", - "SEND": "Send", - "SEND_FROM": "Send from", - "SEND_TO": "To", - "OPEN_ADD_WALLET": "Open/Add wallet", - "COPY": "- Copy", - "TABLE": { - "NAME": "Name", - "ALIAS": "Alias", - "ADDRESS": "Address", - "NOTES": "Notes", - "EMPTY": "Contact list is empty" - }, - "FORM": { - "NAME": "Name", - "ADDRESS": "Address", - "NOTES": "Notes" - }, - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUBLICATED": "Name is dublicated", - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "SET_MASTER_PASSWORD": "Set master password", - "ADDRESS_DUBLICATED": "Address is dublicated", - "MAX_LENGTH": "Maximum notes length reached", - "NAME_LENGTH": "The name must be 4-25 characters long" - }, - "BUTTON": { - "SEND": "Send", - "EDIT": "Edit", - "DELETE": "Delete", - "ADD": "Add contact", - "ADD_EDIT": "Add/Save", - "GO_TO_WALLET": "Go to wallet", - "IMPORT_EXPORT": "Import/export" - }, - "SUCCESS_SENT": "Contact added", - "SUCCESS_SAVE": "Contact is edited", - "SUCCESS_IMPORT": "Contacts are imported", - "SUCCESS_EXPORT": "Contacts are exported", - "ERROR_IMPORT": "Error is occured while reading file!", - "ERROR_TYPE_FILE": "Please import valid .csv file", - "ERROR_EXPORT": "Invalid file type. Save file as .csv", - "ERROR_EMPTY_LIST": "Contact list is empty", - "ERROR_IMPORT_EMPTY": "File is empty" - }, - "ERRORS": { - "NO_MONEY": "Not enough money", - "NOT_ENOUGH_MONEY": "Insufficient funds in account", - "CORE_BUSY": "Internal error: core is busy", - "DAEMON_BUSY": "Internal error: daemon is busy", - "NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet", - "NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with", - "TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions", - "TRANSFER_ATTEMPT": "There is no connection to Zano network", - "ACCESS_DENIED": "Access denied", - "TRANSACTION_ERROR": "Error. Transaction not completed.", - "BAD_ARG": "Invalid argument", - "WALLET_WRONG_ID": "Invalid wallet ID", - "WRONG_PASSWORD": "Invalid password", - "FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain", - "FILE_NOT_FOUND": "File not found", - "FILE_EXIST": "A file with that name already exists. Enter another name to save the file under", - "FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.", - "TX_TYPE_NORMAL": "Error. The payment from the wallet", - "TX_TYPE_NORMAL_TO": "to", - "TX_TYPE_NORMAL_END": "was not completed.", - "TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe", - "TX_TYPE_NEW_ALIAS_END": "Please try again.", - "TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe", - "TX_TYPE_COIN_BASE": "Error. The payment was not completed." - }, - "CONTEXT_MENU": { - "COPY": "copy", - "PASTE": "paste", - "SELECT": "select all" - }, - "BACKEND_LOCALIZATION": { - "QUIT": "Quit", - "IS_RECEIVED": "", - "IS_CONFIRMED": "", - "INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)", - "INCOME_TRANSFER_CONFIRMED": "Payment received", - "MINED": "Mined", - "LOCKED": "Blocked", - "IS_MINIMIZE": "Zano application is minimized to the system tray", - "RESTORE": "You can recover it by clicking or using the context menu", - "TRAY_MENU_SHOW": "Resize", - "TRAY_MENU_MINIMIZE": "Minimize" - } -} diff --git a/src/gui/qt-daemon/html/assets/i18n/de.json b/src/gui/qt-daemon/html/assets/i18n/de.json deleted file mode 100644 index b93cd965..00000000 --- a/src/gui/qt-daemon/html/assets/i18n/de.json +++ /dev/null @@ -1,593 +0,0 @@ -{ - "LOGIN": { - "SETUP_MASTER_PASS": "Master-Passwort einrichten", - "SETUP_CONFIRM_PASS": "Passwort bestätigen", - "MASTER_PASS": "Master-Passwort", - "BUTTON_NEXT": "Weiter", - "BUTTON_SKIP": "Überspringen", - "BUTTON_RESET": "Zurücksetzen", - "INCORRECT_PASSWORD": "Ungültiges Passwort", - "FORM_ERRORS": { - "PASS_REQUIRED": "Passwort ist erforderlich", - "CONFIRM_REQUIRED": "Bestätigung ist erforderlich", - "MISMATCH": "Fehlanpassung" - } - }, - "COMMON": { - "BACK": "Zurück" - }, - "BREADCRUMBS": { - "ADD_WALLET": "Wallet hinzufügen", - "CREATE_WALLET": "Neue Wallet erstellen", - "SAVE_PHRASE": "Speichere deinen Seed-Satz", - "OPEN_WALLET": "Vorhandene Wallet öffnen", - "RESTORE_WALLET": "Aus Backup wiederherstellen", - "WALLET_DETAILS": "Wallet-Details", - "ASSIGN_ALIAS": "Alias zuweisen", - "EDIT_ALIAS": "Alias bearbeiten", - "TRANSFER_ALIAS": "Alias übertragen", - "CONTRACTS": "Verträge", - "NEW_PURCHASE": "Neuer Kauf", - "OLD_PURCHASE": "Kauf" - }, - "SIDEBAR": { - "TITLE": "Wallets", - "ADD_NEW": "+ Hinzufügen", - "ACCOUNT": { - "STAKING": "Staking", - "MESSAGES": "Neue Angebote/Nachrichten", - "SYNCING": "Wallet synchronisieren" - }, - "CONTACTS": "Kontakte", - "SETTINGS": "Einstellungen", - "LOG_OUT": "Abmelden", - "SYNCHRONIZATION": { - "OFFLINE": "Offline", - "ONLINE": "Online", - "ERROR": "Systemfehler", - "COMPLETE": "Abschluss", - "SYNCING": "Syncing block", - "LOADING": "Lade Blockchain-Daten" - }, - "UPDATE": { - "STANDARD": "Update verfügbar", - "STANDARD_TOOLTIP": "Neues Update ausführen.
      Update wird empfohlen!", - "IMPORTANT": "Update verfügbar", - "IMPORTANT_HINT": "Wichtiges Update!", - "IMPORTANT_TOOLTIP": "Neues Update ausführen.
      Wichtiges Update!", - "CRITICAL": "Update verfügbar", - "CRITICAL_HINT": "Kritisches Update!", - "CRITICAL_TOOLTIP": "Kritisches Update verfügbar.Update dringend empfohlen!", - "TIME": "Systemzeit unterscheidet sich vom Netzwerk", - "TIME_TOOLTIP": "Falsche Systemzeit!
      Prüfen und korrigieren Sie Ihre Systemzeit." - } - }, - "MAIN": { - "TITLE": "Erstellen oder öffnen Sie die Wallet, um Zano zu verwenden", - "BUTTON_NEW_WALLET": "Neue Wallet erstellen", - "BUTTON_OPEN_WALLET": "Vorhandene Wallet öffnen", - "BUTTON_RESTORE_BACKUP": "Aus Backup wiederherstellen", - "HELP": "Wie Wallet erstellen?", - "CHOOSE_PATH": "Bitte wählen Sie einen Pfad" - }, - "CREATE_WALLET": { - "NAME": "Wallet-Name", - "PASS": "Wallet-Passwort festlegen", - "CONFIRM": "Wallet-Passwort bestätigen", - "BUTTON_SELECT": "Wallet-Verzeichnis auswählen", - "BUTTON_CREATE": "Wallet erstellen", - "TITLE_SAVE": "Wallet-Datei speichern.", - "ERROR_CANNOT_SAVE_TOP": "Bestehende Wallet-Dateien können nicht ersetzt oder überschrieben werden", - "ERROR_CANNOT_SAVE_SYSTEM": "Wallet-Dateien können nicht auf der OS-Partition gespeichert werden", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name ist erforderlich", - "NAME_DUPLICATE": "Name existiert bereits", - "MAX_LENGTH": "Maximale Namenslänge erreicht", - "CONFIRM_NOT_MATCH": "Confirm password not match" - } - }, - "OPEN_WALLET": { - "NAME": "Wallet-Name", - "PASS": "Wallet-Passwort", - "BUTTON": "Wallet öffnen", - "WITH_ADDRESS_ALREADY_OPEN": "Eine Wallet mit dieser Adresse ist bereits geöffnet", - "FILE_NOT_FOUND1": "Wallet-Datei nicht gefunden", - "FILE_NOT_FOUND2": "

      Es wurde umbenannt oder verschoben.
      Um es zu öffnen, verwenden Sie den \"Wallet öffnen\"-Knopf.", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name ist erforderlich", - "NAME_DUPLICATE": "Name existiert bereits", - "MAX_LENGTH": "Maximale Namenslänge erreicht" - }, - "MODAL": { - "TITLE": "Wallet-Passwort eingeben", - "LABEL": "Passwort für diese Wallet", - "OPEN": "Wallet öffnen", - "SKIP": "Überspringen", - "NOT_FOUND": "Nicht gefunden" - } - }, - "RESTORE_WALLET": { - "LABEL_NAME": "Wallet-Name", - "LABEL_PHRASE_KEY": "Seed-Satz / Private-Key", - "PASS": "Wallet-Passwort", - "CONFIRM": "Wallet-Passwort bestätigen", - "BUTTON_SELECT": "Wallet-Verzeichnis auswählen", - "BUTTON_CREATE": "Wallet erstellen", - "NOT_CORRECT_FILE_OR_PASSWORD": "Ungültige Wallet-Datei oder Passwort stimmt nicht überein", - "CHOOSE_PATH": "Bitte wählen Sie einen Pfad", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name ist erforderlich", - "NAME_DUPLICATE": "Name existiert bereits", - "MAX_LENGTH": "Maximale Namenslänge erreicht", - "CONFIRM_NOT_MATCH": "Confirm password not match", - "KEY_REQUIRED": "Schlüssel ist erforderlich", - "KEY_NOT_VALID": "Schlüssel ungültig" - } - }, - "SEED_PHRASE": { - "TITLE": "Stellen Sie sicher, dass Ihr Seed-Satz an einem sicheren Ort bleibt. Wenn Sie Ihren Seed-Satz vergessen, können Sie Ihre Wallet nicht wiederherstellen.", - "BUTTON_CREATE_ACCOUNT": "Wallet erstellen", - "BUTTON_COPY": "Kopieren" - }, - "PROGRESS": { - "ADD_WALLET": "Wallet hinzufügen", - "SELECT_LOCATION": "Wallet-Verzeichnis auswählen", - "CREATE_WALLET": "Neue Wallet erstellen", - "RESTORE_WALLET": "Aus Backup wiederherstellen" - }, - "SETTINGS": { - "TITLE": "Einstellungen", - "DARK_THEME": "Nachtmodus", - "WHITE_THEME": "Tagmodus", - "GRAY_THEME": "Graumodus", - "APP_LOCK": { - "TITLE": "Programm sperren nach:", - "TIME1": "5 Minuten", - "TIME2": "15 Minuten", - "TIME3": "1 Stunde", - "TIME4": "Nie" - }, - "SCALE": { - "75": "75% Rahmen", - "100": "100% Rahmen", - "125": "125% Rahmen", - "150": "150% Rahmen" - }, - "MASTER_PASSWORD": { - "TITLE": "Master-Passwort aktualisieren", - "OLD": "Altes Passwort", - "NEW": "Neues Passwort", - "CONFIRM": "New password confirmation", - "BUTTON": "Speichern" - }, - "FORM_ERRORS": { - "PASS_REQUIRED": "Passwort ist erforderlich", - "PASS_NOT_MATCH": "Old password not match", - "CONFIRM_NOT_MATCH": "Confirm password not match" - }, - "LAST_BUILD": "Aktueller Build: {{value}}", - "APP_LOG_TITLE": "Log-Level:" - }, - "WALLET": { - "REGISTER_ALIAS": "Alias registrieren", - "DETAILS": "Details", - "LOCK": "Verschlüsseln", - "AVAILABLE_BALANCE": "Verfügbar {{available}} {{currency}}", - "LOCKED_BALANCE": "Gesperrt {{locked}} {{currency}}", - "LOCKED_BALANCE_LINK": "Was bedeutet das?", - "TABS": { - "SEND": "Senden", - "RECEIVE": "Empfangen", - "HISTORY": "Verlauf", - "CONTRACTS": "Verträge", - "MESSAGES": "Nachrichten", - "STAKING": "Staking" - } - }, - "WALLET_DETAILS": { - "LABEL_NAME": "Wallet-Name", - "LABEL_FILE_LOCATION": "Wallet-Datei-Verzeichnis", - "LABEL_SEED_PHRASE": "Seed-Satz", - "SEED_PHRASE_HINT": "Klicken, um den Seed-Satz anzuzeigen", - "BUTTON_SAVE": "Speichern", - "BUTTON_REMOVE": "Wallet schließen", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name ist erforderlich", - "NAME_DUPLICATE": "Name existiert bereits", - "MAX_LENGTH": "Maximale Namenslänge erreicht" - } - }, - "ASSIGN_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": " Alias eingeben", - "TOOLTIP": "Ein Alias ist eine verkürzte Form Ihres Kontos. Ein Alias kann nur lateinische Buchstaben, Zahlen und die Zeichen „.“ und “-” enthalten. Es muss mit “@” beginnen." - }, - "COMMENT": { - "LABEL": "Kommentar", - "PLACEHOLDER": "", - "TOOLTIP": "Der Kommentar wird für jeden sichtbar sein, der eine Zahlung an Ihren Alias vornehmen möchte. Sie können Details über Ihre Geschäfte, Kontakte oder Text angeben. Kommentare können später bearbeitet werden." - }, - "COST": "Alias-Gebühr {{value}} {{currency}}", - "BUTTON_ASSIGN": "Zuweisen", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name ist erforderlich", - "NAME_WRONG": "Ungültiger Name: zulässige Symbole \"0-9\", \"a-z\", \"-\", \".\"", - "NAME_LENGTH": "Der Alias muss 6-25 Zeichen lang sein", - "NAME_EXISTS": "Alias-Name existiert bereits", - "NO_MONEY": "Du hast nicht genug Geldmittel, um diesen Alias zuzuweisen", - "MAX_LENGTH": "Maximale Kommentarlänge erreicht" - }, - "ONE_ALIAS": "Sie können nur einen Alias pro Wallet erstellen", - "REQUEST_ADD_REG": "Der Alias wird innerhalb von 10 Minuten zugewiesen" - }, - "EDIT_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Alias eingeben" - }, - "COMMENT": { - "LABEL": "Kommentar", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "NO_MONEY": "Sie haben nicht genügend Geldmittel, um den Kommentar zu diesem Alias zu ändern", - "MAX_LENGTH": "Maximale Kommentarlänge erreicht" - }, - "COST": "Gebühr {{value}} {{currency}}", - "BUTTON_EDIT": "Bearbeiten" - }, - "TRANSFER_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Alias eingeben" - }, - "COMMENT": { - "LABEL": "Kommentar", - "PLACEHOLDER": "" - }, - "ADDRESS": { - "LABEL": "transferieren zu", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "WRONG_ADDRESS": "Keine Wallet mit diesem Konto existiert", - "ALIAS_EXISTS": "Dieses Konto hat bereits einen Alias", - "NO_MONEY": "Du hast nicht genug Geldmittel, um diesen Alias zu transferieren" - }, - "COST": "Überweisungsgebühr {{value}} {{currency}}", - "BUTTON_TRANSFER": "Transfer", - "BUTTON_CANCEL": "Abbrechen", - "REQUEST_SEND_REG": "Der Alias wird innerhalb von 10 Minuten übertragen" - }, - "SEND": { - "ADDRESS": "Adresse", - "AMOUNT": "Betrag", - "COMMENT": "Kommentar", - "DETAILS": "Zusätzliche Informationen", - "MIXIN": "Mixin", - "FEE": "Gebühr", - "HIDE": "Verstecke deine Wallet-Adresse vom Empfänger", - "BUTTON": "Senden", - "SUCCESS_SENT": "Transaktion gesendet", - "FORM_ERRORS": { - "ADDRESS_REQUIRED": "Adresse benötigt", - "ADDRESS_NOT_VALID": "Adresse ungültig", - "ALIAS_NOT_VALID": "Alias ungültig", - "AMOUNT_REQUIRED": "Betrag ist erforderlich", - "AMOUNT_ZERO": "Betrag ist Null", - "FEE_REQUIRED": "Gebühr ist erforderlich", - "FEE_MINIMUM": "Mindestgebühr: {{fee}}", - "MAX_LENGTH": "Maximale Kommentarlänge erreicht" - } - }, - "HISTORY": { - "STATUS": "Status", - "STATUS_TOOLTIP": "Bestätigungen {{current}}/{{total}}", - "LOCK_TOOLTIP": "Gesperrt bis {{date}}", - "SEND": "Gesendet", - "RECEIVED": "Empfangen", - "DATE": "Datum", - "AMOUNT": "Betrag", - "FEE": "Gebühr", - "ADDRESS": "Adresse", - "DETAILS": { - "PAYMENT_ID": "Zahlungs-ID", - "ID": "Transaktions-ID", - "SIZE": "Transaktionsgröße", - "SIZE_VALUE": "{{value}} Bytes", - "HEIGHT": "Höhe", - "CONFIRMATION": "Bestätigung", - "INPUTS": "Inputs", - "OUTPUTS": "Outputs", - "COMMENT": "Kommentar" - }, - "TYPE_MESSAGES": { - "HIDDEN": "versteckt", - "UNDEFINED": "Unbedefiniert", - "COMPLETE_BUYER": "Vertrag abgeschlossen", - "COMPLETE_SELLER": "Vertrag abgeschlossen", - "CREATE_ALIAS": "Gebühr für die Zuordnung eines Alias", - "UPDATE_ALIAS": "Gebühr für die Bearbeitung eines Alias", - "POW_REWARD": "POW-Belohnung", - "POS_REWARD": "POS-Belohnung", - "CREATE_CONTRACT": "Vertragsvorschlag", - "PLEDGE_CONTRACT": "Vertrag-Einzahlung", - "NULLIFY_CONTRACT": "Einzahlungen verbrennen", - "PROPOSAL_CANCEL_CONTRACT": "Stornierungsanfrage", - "CANCEL_CONTRACT": "Abbrechen und Einzahlungen zurückzahlen" - } - }, - "CONTRACTS": { - "EMPTY": "Keine aktiven Verträge", - "CONTRACTS": "Verträge", - "PURCHASE": "Kauf", - "SELL": "Verkaufen", - "DATE": "Datum", - "AMOUNT": "Betrag", - "STATUS": "Status", - "COMMENTS": "Kommentare", - "PURCHASE_BUTTON": "Neuer Kauf", - "LISTING_BUTTON": "Auflistung erstellen", - "TIME_LEFT": { - "REMAINING_LESS_ONE": "Weniger als eine Stunde, um zu antworten", - "REMAINING_ONE": "{{time}} verbleibende Stunde", - "REMAINING_MANY": "{{time}} verbleibende Stunden", - "REMAINING_MANY_ALT": "{{time}} verbleibende Stunden", - "REMAINING_ONE_RESPONSE": "{{time}} verbleibende Stunde", - "REMAINING_MANY_RESPONSE": "{{time}} verbleibende Stunde", - "REMAINING_MANY_ALT_RESPONSE": "{{time}} verbleibende Stunden", - "REMAINING_ONE_WAITING": "Warte für {{time}} Stunde", - "REMAINING_MANY_WAITING": "Warte für {{time}} Stunden", - "REMAINING_MANY_ALT_WAITING": "Warte für {{Zeit}} Stunden" - }, - "STATUS_MESSAGES": { - "SELLER": { - "NEW_CONTRACT": "Neuer Vertragsvorschlag", - "IGNORED": "Sie haben den Vertragsvorschlag ignoriert", - "ACCEPTED": "Vertrag gestartet", - "WAIT": "Warten auf Bestätitung des Vertrages", - "WAITING_BUYER": "Warte auf Sendung", - "COMPLETED": "Vertrag abgeschlossen", - "NOT_RECEIVED": "Senden fehlgeschlagen", - "NULLIFIED": "Alle Einzahlungen verbrannt", - "PROPOSAL_CANCEL": "Neuer Vorschlag, Vertrag zu kündigen und Einzahlungen zurückzugeben", - "BEING_CANCELLED": "Abbruch wird durchgeführt", - "CANCELLED": "Vertrag abgebrochen", - "IGNORED_CANCEL": "Sie haben den Stornierungsvorschlag ignoriert", - "EXPIRED": "Vertragsvorschlag ist abgelaufen" - }, - "BUYER": { - "WAITING": "Warte auf Antwort", - "IGNORED": "Verkäufer ignorierte Ihren Vertragsvorschlag", - "ACCEPTED": "Verkäufer hat Ihren Vertragsvorschlag akzeptiert", - "WAIT": "Warten auf die Bestätigung der Einzahlungen", - "WAITING_SELLER": "Warte auf Sendung", - "COMPLETED": "Vertrag abgeschlossen", - "NOT_RECEIVED": "Senden fehlgeschlagen", - "NULLIFIED": "Alle Einzahlungen verbrannt", - "WAITING_CANCEL": "Warten auf Stornierung des Vertrages", - "BEING_CANCELLED": "Abbruch wird durchgeführt", - "CANCELLED": "Vertrag abgebrochen", - "IGNORED_CANCEL": "Der Verkäufer hat Ihren Vorschlag zur Stornierung des Vertrages ignoriert", - "EXPIRED": "Der Vertragsvorschlag ist abgelaufen" - } - } - }, - "PURCHASE": { - "DESCRIPTION": "Beschreibung", - "SELLER": "Verkäufer", - "AMOUNT": "Betrag", - "YOUR_DEPOSIT": "Ihre Einzahlung", - "SELLER_DEPOSIT": "Einzahlung Verkäufer", - "BUYER_DEPOSIT": "Einzahlung Käufer", - "SAME_AMOUNT": "Gleicher Betrag", - "COMMENT": "Kommentar", - "DETAILS": "Zusätzliche Informationen", - "SEND_BUTTON": "Senden", - "FORM_ERRORS": { - "DESC_REQUIRED": "Beschreibung erforderlich", - "DESC_MAXIMUM": "Maximale Feldlänge erreicht", - "SELLER_REQUIRED": "Adresse benötigt", - "SELLER_NOT_VALID": "Ungültige Adresse", - "ALIAS_NOT_VALID": "Ungültiger Alias", - "AMOUNT_REQUIRED": "Betrag ist erforderlich", - "AMOUNT_ZERO": "Betrag darf nicht Null sein", - "YOUR_DEPOSIT_REQUIRED": "Einzahlung erforderlich", - "SELLER_DEPOSIT_REQUIRED": "Verkäufer-Einzahlung erforderlich", - "SELLER_SAME": "Anderes Konto verwenden", - "COMMENT_MAXIMUM": "Maximale Feldlänge erreicht" - }, - "PROGRESS_NEW": "Neuer Kauf", - "PROGRESS_WAIT": "Warte auf Antwort", - "PROGRESS_RECEIVE": "Antwort erhalten", - "PROGRESS_COMPLETE": "Abgeschlossen", - "FEE": "Gebühr", - "PAYMENT": "Zahlungs-ID", - "STATUS_MESSAGES": { - "NEW_PURCHASE": "Neuer Kauf", - "WAITING_SELLER": "Warte auf Antwort", - "WAITING_BUYER": "Vertragsvorschlag erhalten", - "WAITING_CONFIRMATION": "Warten auf die Bestätigung der Einzahlungen", - "WAITING_DELIVERY": "Warte auf Sendung", - "COMPLETED": "Vertrag abgeschlossen", - "IGNORED_BUYER": "Vertragsvorschlag ignoriert", - "IGNORED_SELLER": "Der Verkäufer ignorierte Ihren Vertragsvorschlag", - "PROPOSAL_CANCEL_SELLER": "Stornierungsanfrage gesendet", - "PROPOSAL_CANCEL_BUYER": "Stornierungsanfrage erhalten", - "BEING_CANCELLED": "Abbruch wird durchgeführt", - "IGNORED_CANCEL_SELLER": "Der Verkäufer hat Ihren Vorschlag zur Stornierung des Vertrages ignoriert", - "IGNORED_CANCEL_BUYER": "Vertragsstornierungsanfrage ignoriert", - "CANCELLED": "Vertrag abgebrochen", - "EXPIRED": "Vertragsvorschlag abgelaufen", - "NOT_RECEIVED": "Senden fehlgeschlagen", - "NULLIFIED": "Alle Einzahlungen verbrannt" - }, - "ACCEPT_STATE_WAIT_BIG": "Vertrag gestartet", - "IGNORED_ACCEPT": "Vertragsvorschlag ignoriert", - "BURN_PROPOSAL": "Einzahlungen verbrannt", - "SUCCESS_FINISH_PROPOSAL": "Vertrag abgeschlossen", - "SEND_CANCEL_PROPOSAL": "Stornierungsanfrage gesendet", - "IGNORED_CANCEL": "Vertragsstornierungsanfrage ignoriert", - "DEALS_CANCELED_WAIT": "Abbruch wird durchgeführt", - "WAITING_TIME": "Antwortzeit", - "NEED_MONEY": "Unzureichendes Guthaben", - "BUTTON_MAKE_PLEDGE": "Akzeptieren und Einzahlung tätigen", - "BUTTON_IGNORE": "Angebot ignorieren und ausblenden", - "BUTTON_NULLIFY": "Beenden und Einzahlungen verbrennen", - "BUTTON_RECEIVED": "Einzahlungen abschließen und freigeben", - "BUTTON_CANCEL_BUYER": "Einzahlungen abbrechen und zurückzahlen", - "BUTTON_NOT_CANCEL": "Anfrage ignorieren", - "BUTTON_CANCEL_SELLER": "Einzahlungen bestätigen und zurückzahlen", - "HOUR": "Stunde", - "HOURS": "Stunden", - "CANCEL": "Abbrechen", - "NULLIFY_QUESTION": "Sind Sie sicher, dass Sie beide Einzahlungen verbrennen möchten?", - "BUTTON_NULLIFY_SHORT": "Verbrennen", - "WAITING_TIME_QUESTION": "Sind Sie sicher, dass Sie den Vertrag kündigen möchten?" - }, - "MESSAGES": { - "ADDRESS": "Adresse", - "MESSAGE": "Nachricht", - "SEND_PLACEHOLDER": "Nachricht eingeben...", - "SEND_BUTTON": "Senden" - }, - "MODALS": { - "ERROR": "Fehler", - "SUCCESS": "Erfolg", - "INFO": "Informationen", - "OK": "OK" - }, - "CONFIRM": { - "BUTTON_CONFIRM": "Senden", - "BUTTON_CANCEL": "Abbrechen", - "TITLE": "Transaktion bestätigen", - "MESSAGE": { - "SEND": "Senden", - "FROM": "Von", - "TO": "Zu", - "COMMENT": "Kommentar" - } - }, - "STAKING": { - "TITLE": "Staking", - "TITLE_PENDING": "Ausstehend", - "TITLE_TOTAL": "Gesamt", - "TITLE_PERIOD": "Zeitspanne:", - "PERIOD": { - "WEEK1": "1 Woche", - "WEEK2": "2 Wochen", - "MONTH1": "1 Monat", - "MONTH3": "3 Monate", - "MONTH6": "6 Monate", - "YEAR": "1 Jahr", - "ALL": "Alle" - }, - "TITLE_GROUP": "Gruppe:", - "GROUP": { - "DAY": "Tag", - "WEEK": "Woche", - "MONTH": "Monat" - }, - "SWITCH": { - "ON": "AN", - "OFF": "AUS" - } - }, - "CONTACTS": { - "TITLE": "Kontaktliste", - "IMPORT_EXPORT": "Kontakte importieren oder exportieren", - "IMPORT": "Importieren", - "EXPORT": "Exportieren", - "ADD": "Kontakt hinzufügen/bearbeiten", - "SEND": "Senden", - "SEND_FROM": "Senden von", - "SEND_TO": "Zu", - "OPEN_ADD_WALLET": "Wallet öffnen/hinzufügen", - "COPY": "- Kopieren", - "TABLE": { - "NAME": "Name", - "ALIAS": "Alias", - "ADDRESS": "Adresse", - "NOTES": "Notizen", - "EMPTY": "Kontaktliste ist leer" - }, - "FORM": { - "NAME": "Name", - "ADDRESS": "Adresse", - "NOTES": "Notizen" - }, - "FORM_ERRORS": { - "NAME_REQUIRED": "Name ist erforderlich", - "NAME_DUBLICATED": "Name existiert bereits", - "ADDRESS_REQUIRED": "Adresse benötigt", - "ADDRESS_NOT_VALID": "Adresse ungültig", - "SET_MASTER_PASSWORD": "Master-Passwort festlegen", - "ADDRESS_DUBLICATED": "Adresse existiert bereits", - "MAX_LENGTH": "Maximale Länge der Notiz erreicht", - "NAME_LENGTH": "Der Name muss 4-25 Zeichen lang sein" - }, - "BUTTON": { - "SEND": "Senden", - "EDIT": "Bearbeiten", - "DELETE": "Löschen", - "ADD": "Kontakt hinzufügen", - "ADD_EDIT": "Hinzufügen/Speichern", - "GO_TO_WALLET": "Zu Wallet gehen", - "IMPORT_EXPORT": "importieren/exportieren" - }, - "SUCCESS_SENT": "Kontakt hinzugefügt", - "SUCCESS_SAVE": "Kontakt wurde bearbeitet", - "SUCCESS_IMPORT": "Kontakte wurden importiert", - "SUCCESS_EXPORT": "Kontakte wurden exportiert", - "ERROR_IMPORT": "Fehler beim Lesen der Datei!", - "ERROR_TYPE_FILE": "Please import valid .csv file", - "ERROR_EXPORT": "Ungültiger Dateityp. Datei als .csv speichern", - "ERROR_EMPTY_LIST": "Contact list is empty", - "ERROR_IMPORT_EMPTY": "File is empty" - }, - "ERRORS": { - "NO_MONEY": "Nicht genügend Geld", - "NOT_ENOUGH_MONEY": "Unzureichendes Guthaben im Konto", - "CORE_BUSY": "Interner Fehler: Kern ist beschäftigt", - "DAEMON_BUSY": "Interner Fehler: Daemon ist beschäftigt", - "NO_MONEY_REMOVE_OFFER": "Es gibt keine Gebühr für das Löschen eines Angebots, aber um das Netzwerk vor Spam-Transaktionen zu schützen, müssen Sie mindestens {{fee}} {{currency}} in Ihrer Wallet haben", - "NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in-Nummer ist zu groß für den aktuellen Blockchain-Status. Nicht genügend unverbrauchte outputs zum Mischen", - "TRANSACTION_IS_TO_BIG": "Transaktion überschreitet das Netzwerk-Limit. Sendet benötigten Betrag mit mehreren Transaktionen.", - "TRANSFER_ATTEMPT": "Keine Verbindung zum Zano-Netzwerk", - "ACCESS_DENIED": "Zugriff verweigert", - "TRANSACTION_ERROR": "Fehler. Transaktion nicht abgeschlossen.", - "BAD_ARG": "Ungültiges Argument", - "WALLET_WRONG_ID": "Ungültige Wallet-ID", - "WRONG_PASSWORD": "Ungültiges Passwort", - "FILE_RESTORED": "Die Wallet-Datei wurde beschädigt. Wir haben die Schlüssel und die Wallet von der Blockchain wiederhergestellt", - "FILE_NOT_FOUND": "Datei nicht gefunden", - "FILE_EXIST": "Eine Datei mit diesem Namen existiert bereits. Geben Sie einen anderen Namen ein, um die Datei zu speichern", - "FILE_NOT_SAVED": "Sie können keine Wallet-Datei in diesem Ordner speichern. Bitte wählen Sie einen anderen Ordner.", - "TX_TYPE_NORMAL": "Fehler. Die Zahlung von der Wallet", - "TX_TYPE_NORMAL_TO": "zu", - "TX_TYPE_NORMAL_END": "wurde nicht abgeschlossen.", - "TX_TYPE_NEW_ALIAS": "Fehler. Fehler beim Registrieren des Alias zum Speichern", - "TX_TYPE_NEW_ALIAS_END": "Bitte nochmals versuchen.", - "TX_TYPE_UPDATE_ALIAS": "Fehler. Fehlgeschlagen Kommentar von gespeichertem Alias zu ändern", - "TX_TYPE_COIN_BASE": "Fehler. Die Zahlung wurde nicht abgeschlossen." - }, - "CONTEXT_MENU": { - "COPY": "kopieren", - "PASTE": "einfügen", - "SELECT": "alle auswählen" - }, - "BACKEND_LOCALIZATION": { - "QUIT": "Beenden", - "IS_RECEIVED": "", - "IS_CONFIRMED": "", - "INCOME_TRANSFER_UNCONFIRMED": "Eingehende Zahlung (nicht bestätigt)", - "INCOME_TRANSFER_CONFIRMED": "Zahlung erhalten", - "MINED": "Mined", - "LOCKED": "Blockiert", - "IS_MINIMIZE": "Zano-Anwendung wird auf die Systemleiste minimiert", - "RESTORE": "Sie können es wiederherstellen, indem Sie auf das Kontextmenü benutzen oder anklicken ", - "TRAY_MENU_SHOW": "Größe ändern", - "TRAY_MENU_MINIMIZE": "Minimieren" - } -} diff --git a/src/gui/qt-daemon/html/assets/i18n/el.json b/src/gui/qt-daemon/html/assets/i18n/el.json deleted file mode 100644 index e8110d82..00000000 --- a/src/gui/qt-daemon/html/assets/i18n/el.json +++ /dev/null @@ -1,593 +0,0 @@ -{ - "LOGIN": { - "SETUP_MASTER_PASS": "Setup master password", - "SETUP_CONFIRM_PASS": "Confirm the password", - "MASTER_PASS": "Master password", - "BUTTON_NEXT": "Next", - "BUTTON_SKIP": "Skip", - "BUTTON_RESET": "Reset", - "INCORRECT_PASSWORD": "Invalid password", - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "CONFIRM_REQUIRED": "Confirmation is required", - "MISMATCH": "Mismatch" - } - }, - "COMMON": { - "BACK": "Go back" - }, - "BREADCRUMBS": { - "ADD_WALLET": "Add wallet", - "CREATE_WALLET": "Create new wallet", - "SAVE_PHRASE": "Save your seed phrase", - "OPEN_WALLET": "Open existing wallet", - "RESTORE_WALLET": "Restore from backup", - "WALLET_DETAILS": "Wallet details", - "ASSIGN_ALIAS": "Assign alias", - "EDIT_ALIAS": "Edit alias", - "TRANSFER_ALIAS": "Transfer alias", - "CONTRACTS": "Contracts", - "NEW_PURCHASE": "New purchase", - "OLD_PURCHASE": "Purchase" - }, - "SIDEBAR": { - "TITLE": "Wallets", - "ADD_NEW": "+ Add", - "ACCOUNT": { - "STAKING": "Staking", - "MESSAGES": "New offers/Messages", - "SYNCING": "Syncing wallet" - }, - "CONTACTS": "Contacts", - "SETTINGS": "Settings", - "LOG_OUT": "Log out", - "SYNCHRONIZATION": { - "OFFLINE": "Offline", - "ONLINE": "Online", - "ERROR": "System error", - "COMPLETE": "Completion", - "SYNCING": "Syncing blockchain", - "LOADING": "Loading blockchain data" - }, - "UPDATE": { - "STANDARD": "Update available", - "STANDARD_TOOLTIP": "Get new update.
      Update is recommended!", - "IMPORTANT": "Update available", - "IMPORTANT_HINT": "Important update!", - "IMPORTANT_TOOLTIP": "Get new update.
      Important update!", - "CRITICAL": "Update available", - "CRITICAL_HINT": "Critical update!", - "CRITICAL_TOOLTIP": "Critical update available.Update strongly recommended!", - "TIME": "System time differs from network", - "TIME_TOOLTIP": "Wrong system time!
      Check and repair your system time." - } - }, - "MAIN": { - "TITLE": "Create or open the wallet to start using Zano", - "BUTTON_NEW_WALLET": "Create new wallet", - "BUTTON_OPEN_WALLET": "Open existing wallet", - "BUTTON_RESTORE_BACKUP": "Restore from backup", - "HELP": "How to create wallet?", - "CHOOSE_PATH": "Please choose a path" - }, - "CREATE_WALLET": { - "NAME": "Wallet name", - "PASS": "Set wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "TITLE_SAVE": "Save the wallet file.", - "ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten", - "ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match" - } - }, - "OPEN_WALLET": { - "NAME": "Wallet name", - "PASS": "Wallet password", - "BUTTON": "Open wallet", - "WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open", - "FILE_NOT_FOUND1": "Wallet file not found", - "FILE_NOT_FOUND2": "

      It might have been renamed or moved.
      To open it, use the \"Open wallet\" button.", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - }, - "MODAL": { - "TITLE": "Type wallet password", - "LABEL": "Password to this wallet", - "OPEN": "Open wallet", - "SKIP": "Skip", - "NOT_FOUND": "Not found" - } - }, - "RESTORE_WALLET": { - "LABEL_NAME": "Wallet name", - "LABEL_PHRASE_KEY": "Seed phrase / tracking seed", - "PASS": "Wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match", - "CHOOSE_PATH": "Please choose a path", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match", - "KEY_REQUIRED": "Key is required", - "KEY_NOT_VALID": "Key not valid" - } - }, - "SEED_PHRASE": { - "TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.", - "BUTTON_CREATE_ACCOUNT": "Create wallet", - "BUTTON_COPY": "Copy" - }, - "PROGRESS": { - "ADD_WALLET": "Add wallet", - "SELECT_LOCATION": "Select wallet location", - "CREATE_WALLET": "Create new wallet", - "RESTORE_WALLET": "Restore from backup" - }, - "SETTINGS": { - "TITLE": "Settings", - "DARK_THEME": "Dark theme", - "WHITE_THEME": "White theme", - "GRAY_THEME": "Grey theme", - "APP_LOCK": { - "TITLE": "Lock app after:", - "TIME1": "5 min", - "TIME2": "15 min", - "TIME3": "1 hour", - "TIME4": "Never" - }, - "SCALE": { - "75": "75% scale", - "100": "100% scale", - "125": "125% scale", - "150": "150% scale" - }, - "MASTER_PASSWORD": { - "TITLE": "Update master password", - "OLD": "Old password", - "NEW": "New password", - "CONFIRM": "New password confirmation", - "BUTTON": "Save" - }, - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "PASS_NOT_MATCH": "Old password not match", - "CONFIRM_NOT_MATCH": "Confirm password not match" - }, - "LAST_BUILD": "Current build: {{value}}", - "APP_LOG_TITLE": "Log level:" - }, - "WALLET": { - "REGISTER_ALIAS": "Register an alias", - "DETAILS": "Details", - "LOCK": "Lock", - "AVAILABLE_BALANCE": "Available {{available}} {{currency}}", - "LOCKED_BALANCE": "Locked {{locked}} {{currency}}", - "LOCKED_BALANCE_LINK": "What does that mean?", - "TABS": { - "SEND": "Send", - "RECEIVE": "Receive", - "HISTORY": "History", - "CONTRACTS": "Contracts", - "MESSAGES": "Messages", - "STAKING": "Staking" - } - }, - "WALLET_DETAILS": { - "LABEL_NAME": "Wallet name", - "LABEL_FILE_LOCATION": "Wallet file location", - "LABEL_SEED_PHRASE": "Seed phrase", - "SEED_PHRASE_HINT": "Click to reveal the seed phrase", - "BUTTON_SAVE": "Save", - "BUTTON_REMOVE": "Close wallet", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - } - }, - "ASSIGN_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": " Enter alias", - "TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”." - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "", - "TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later." - }, - "COST": "Alias fee {{value}} {{currency}}", - "BUTTON_ASSIGN": "Assign", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_WRONG": "Alias has wrong name", - "NAME_LENGTH": "The alias must be 6-25 characters long", - "NAME_EXISTS": "Alias name already exists", - "NO_MONEY": "You do not have enough funds to assign this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "ONE_ALIAS": "You can create only one alias per wallet", - "REQUEST_ADD_REG": "The alias will be assigned within 10 minutes" - }, - "EDIT_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "NO_MONEY": "You do not have enough funds to change the comment to this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "COST": "Fee {{value}} {{currency}}", - "BUTTON_EDIT": "Edit" - }, - "TRANSFER_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "ADDRESS": { - "LABEL": "Transfer to", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "WRONG_ADDRESS": "No wallet with this account exists", - "ALIAS_EXISTS": "This account already has an alias", - "NO_MONEY": "You do not have enough funds to transfer this alias" - }, - "COST": "Transfer fee {{value}} {{currency}}", - "BUTTON_TRANSFER": "Transfer", - "BUTTON_CANCEL": "Cancel", - "REQUEST_SEND_REG": "The alias will be transferred within 10 minutes" - }, - "SEND": { - "ADDRESS": "Address", - "AMOUNT": "Amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "MIXIN": "Mixin", - "FEE": "Fee", - "HIDE": "Hide your wallet address from recipient", - "BUTTON": "Send", - "SUCCESS_SENT": "Transaction sent", - "FORM_ERRORS": { - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "ALIAS_NOT_VALID": "Alias not valid", - "AMOUNT_REQUIRED": "Amount is required", - "AMOUNT_ZERO": "Amount is zero", - "FEE_REQUIRED": "Fee is required", - "FEE_MINIMUM": "Minimum fee: {{fee}}", - "MAX_LENGTH": "Maximum comment length reached" - } - }, - "HISTORY": { - "STATUS": "Status", - "STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}", - "LOCK_TOOLTIP": "Locked till {{date}}", - "SEND": "Sent", - "RECEIVED": "Received", - "DATE": "Date", - "AMOUNT": "Amount", - "FEE": "Fee", - "ADDRESS": "Address", - "DETAILS": { - "PAYMENT_ID": "Payment ID", - "ID": "Transaction ID", - "SIZE": "Transaction size", - "SIZE_VALUE": "{{value}} bytes", - "HEIGHT": "Height", - "CONFIRMATION": "Confirmation", - "INPUTS": "Inputs", - "OUTPUTS": "Outputs", - "COMMENT": "Comment" - }, - "TYPE_MESSAGES": { - "HIDDEN": "hidden", - "UNDEFINED": "Undefined", - "COMPLETE_BUYER": "Contract completed", - "COMPLETE_SELLER": "Contract completed", - "CREATE_ALIAS": "Fee for assigning alias", - "UPDATE_ALIAS": "Fee for editing alias", - "POW_REWARD": "POW reward", - "POS_REWARD": "POS reward", - "CREATE_CONTRACT": "Contract proposal", - "PLEDGE_CONTRACT": "Contract deposit", - "NULLIFY_CONTRACT": "Burn deposits", - "PROPOSAL_CANCEL_CONTRACT": "Cancellation request", - "CANCEL_CONTRACT": "Cancel and return deposits" - } - }, - "CONTRACTS": { - "EMPTY": "No active contracts", - "CONTRACTS": "Contracts", - "PURCHASE": "Purchase", - "SELL": "Sell", - "DATE": "Date", - "AMOUNT": "Amount", - "STATUS": "Status", - "COMMENTS": "Comments", - "PURCHASE_BUTTON": "New Purchase", - "LISTING_BUTTON": "Create listing", - "TIME_LEFT": { - "REMAINING_LESS_ONE": "Less than an hour to respond", - "REMAINING_ONE": "{{time}} hour remains", - "REMAINING_MANY": "{{time}} hours remain", - "REMAINING_MANY_ALT": "{{time}} hours remain", - "REMAINING_ONE_RESPONSE": "{{time}} hour remains", - "REMAINING_MANY_RESPONSE": "{{time}} hours remain", - "REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain", - "REMAINING_ONE_WAITING": "Waiting for {{time}} hour", - "REMAINING_MANY_WAITING": "Waiting for {{time}} hours", - "REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours" - }, - "STATUS_MESSAGES": { - "SELLER": { - "NEW_CONTRACT": "New contract proposal", - "IGNORED": "You ignored contract proposal", - "ACCEPTED": "Contract started", - "WAIT": "Waiting for contract confirmation", - "WAITING_BUYER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "You ignored cancellation proposal", - "EXPIRED": "Contract proposal has expired" - }, - "BUYER": { - "WAITING": "Waiting for response", - "IGNORED": "Seller ignored your contract proposal", - "ACCEPTED": "Seller accepted your contract proposal", - "WAIT": "Waiting for deposits confirmation", - "WAITING_SELLER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "WAITING_CANCEL": "Waiting for contract cancellation", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract", - "EXPIRED": "The contract proposal has expired" - } - } - }, - "PURCHASE": { - "DESCRIPTION": "Description", - "SELLER": "Seller", - "AMOUNT": "Amount", - "YOUR_DEPOSIT": "Your deposit", - "SELLER_DEPOSIT": "Seller deposit", - "BUYER_DEPOSIT": "Buyer deposit", - "SAME_AMOUNT": "Same amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "SEND_BUTTON": "Send", - "FORM_ERRORS": { - "DESC_REQUIRED": "Description required", - "DESC_MAXIMUM": "Maximum field length reached", - "SELLER_REQUIRED": "Address required", - "SELLER_NOT_VALID": "Invalid address", - "ALIAS_NOT_VALID": "Invalid alias", - "AMOUNT_REQUIRED": "Amount required", - "AMOUNT_ZERO": "Amount cannot be zero", - "YOUR_DEPOSIT_REQUIRED": "Deposit required", - "SELLER_DEPOSIT_REQUIRED": "Seller deposit required", - "SELLER_SAME": "Use separate account", - "COMMENT_MAXIMUM": "Maximum field length reached" - }, - "PROGRESS_NEW": "New purchase", - "PROGRESS_WAIT": "Awaiting reply", - "PROGRESS_RECEIVE": "Reply received", - "PROGRESS_COMPLETE": "Completed", - "FEE": "Fee", - "PAYMENT": "Payment ID", - "STATUS_MESSAGES": { - "NEW_PURCHASE": "New purchase", - "WAITING_SELLER": "Waiting for response", - "WAITING_BUYER": "Contract proposal received", - "WAITING_CONFIRMATION": "Waiting for deposits confirmation", - "WAITING_DELIVERY": "Waiting for delivery", - "COMPLETED": "Contract completed", - "IGNORED_BUYER": "Contract proposal ignored", - "IGNORED_SELLER": "The seller ignored your contract proposal", - "PROPOSAL_CANCEL_SELLER": "Cancellation request sent", - "PROPOSAL_CANCEL_BUYER": "Cancellation request received", - "BEING_CANCELLED": "Cancellation in progress", - "IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract", - "IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored", - "CANCELLED": "Contract canceled", - "EXPIRED": "Contract proposal expired", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned" - }, - "ACCEPT_STATE_WAIT_BIG": "Contract started", - "IGNORED_ACCEPT": "Contract proposal ignored", - "BURN_PROPOSAL": "Deposits burned", - "SUCCESS_FINISH_PROPOSAL": "Contract completed", - "SEND_CANCEL_PROPOSAL": "Cancellation request sent", - "IGNORED_CANCEL": "Contract cancellation proposal ignored", - "DEALS_CANCELED_WAIT": "Cancellation in progress", - "WAITING_TIME": "Response time", - "NEED_MONEY": "Insufficient funds", - "BUTTON_MAKE_PLEDGE": "Accept and make deposit", - "BUTTON_IGNORE": "Ignore and hide offer", - "BUTTON_NULLIFY": "Terminate and burn deposits", - "BUTTON_RECEIVED": "Complete and release deposits", - "BUTTON_CANCEL_BUYER": "Cancel and return deposits", - "BUTTON_NOT_CANCEL": "Ignore request", - "BUTTON_CANCEL_SELLER": "Confirm and return deposits", - "HOUR": "hour", - "HOURS": "hours", - "CANCEL": "Cancel", - "NULLIFY_QUESTION": "Are you sure you want to burn both deposits?", - "BUTTON_NULLIFY_SHORT": "Burn", - "WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?" - }, - "MESSAGES": { - "ADDRESS": "Address", - "MESSAGE": "Message", - "SEND_PLACEHOLDER": "Type a message...", - "SEND_BUTTON": "Send" - }, - "MODALS": { - "ERROR": "Error", - "SUCCESS": "Success", - "INFO": "Information", - "OK": "OK" - }, - "CONFIRM": { - "BUTTON_CONFIRM": "Send", - "BUTTON_CANCEL": "Cancel", - "TITLE": "Confirm transaction", - "MESSAGE": { - "SEND": "Send", - "FROM": "From", - "TO": "To", - "COMMENT": "Comment" - } - }, - "STAKING": { - "TITLE": "Staking", - "TITLE_PENDING": "Pending", - "TITLE_TOTAL": "Total", - "TITLE_PERIOD": "Time period:", - "PERIOD": { - "WEEK1": "1 week", - "WEEK2": "2 week", - "MONTH1": "1 month", - "MONTH3": "3 month", - "MONTH6": "6 month", - "YEAR": "1 year", - "ALL": "All" - }, - "TITLE_GROUP": "Group:", - "GROUP": { - "DAY": "day", - "WEEK": "week", - "MONTH": "month" - }, - "SWITCH": { - "ON": "ON", - "OFF": "OFF" - } - }, - "CONTACTS": { - "TITLE": "Contact list", - "IMPORT_EXPORT": "Import or export contacts", - "IMPORT": "Import", - "EXPORT": "Export", - "ADD": "Add/edit contact", - "SEND": "Send", - "SEND_FROM": "Send from", - "SEND_TO": "To", - "OPEN_ADD_WALLET": "Open/Add wallet", - "COPY": "- Copy", - "TABLE": { - "NAME": "Name", - "ALIAS": "Alias", - "ADDRESS": "Address", - "NOTES": "Notes", - "EMPTY": "Contact list is empty" - }, - "FORM": { - "NAME": "Name", - "ADDRESS": "Address", - "NOTES": "Notes" - }, - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUBLICATED": "Name is dublicated", - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "SET_MASTER_PASSWORD": "Set master password", - "ADDRESS_DUBLICATED": "Address is dublicated", - "MAX_LENGTH": "Maximum notes length reached", - "NAME_LENGTH": "The name must be 4-25 characters long" - }, - "BUTTON": { - "SEND": "Send", - "EDIT": "Edit", - "DELETE": "Delete", - "ADD": "Add contact", - "ADD_EDIT": "Add/Save", - "GO_TO_WALLET": "Go to wallet", - "IMPORT_EXPORT": "Import/export" - }, - "SUCCESS_SENT": "Contact added", - "SUCCESS_SAVE": "Contact is edited", - "SUCCESS_IMPORT": "Contacts are imported", - "SUCCESS_EXPORT": "Contacts are exported", - "ERROR_IMPORT": "Error is occured while reading file!", - "ERROR_TYPE_FILE": "Please import valid .csv file", - "ERROR_EXPORT": "Invalid file type. Save file as .csv", - "ERROR_EMPTY_LIST": "Contact list is empty", - "ERROR_IMPORT_EMPTY": "File is empty" - }, - "ERRORS": { - "NO_MONEY": "Not enough money", - "NOT_ENOUGH_MONEY": "Insufficient funds in account", - "CORE_BUSY": "Internal error: core is busy", - "DAEMON_BUSY": "Internal error: daemon is busy", - "NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet", - "NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with", - "TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions", - "TRANSFER_ATTEMPT": "There is no connection to Zano network", - "ACCESS_DENIED": "Access denied", - "TRANSACTION_ERROR": "Error. Transaction not completed.", - "BAD_ARG": "Invalid argument", - "WALLET_WRONG_ID": "Invalid wallet ID", - "WRONG_PASSWORD": "Invalid password", - "FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain", - "FILE_NOT_FOUND": "File not found", - "FILE_EXIST": "A file with that name already exists. Enter another name to save the file under", - "FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.", - "TX_TYPE_NORMAL": "Error. The payment from the wallet", - "TX_TYPE_NORMAL_TO": "to", - "TX_TYPE_NORMAL_END": "was not completed.", - "TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe", - "TX_TYPE_NEW_ALIAS_END": "Please try again.", - "TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe", - "TX_TYPE_COIN_BASE": "Error. The payment was not completed." - }, - "CONTEXT_MENU": { - "COPY": "copy", - "PASTE": "paste", - "SELECT": "select all" - }, - "BACKEND_LOCALIZATION": { - "QUIT": "Quit", - "IS_RECEIVED": "", - "IS_CONFIRMED": "", - "INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)", - "INCOME_TRANSFER_CONFIRMED": "Payment received", - "MINED": "Mined", - "LOCKED": "Blocked", - "IS_MINIMIZE": "Zano application is minimized to the system tray", - "RESTORE": "You can recover it by clicking or using the context menu", - "TRAY_MENU_SHOW": "Resize", - "TRAY_MENU_MINIMIZE": "Minimize" - } -} diff --git a/src/gui/qt-daemon/html/assets/i18n/en.json b/src/gui/qt-daemon/html/assets/i18n/en.json deleted file mode 100644 index 394f046c..00000000 --- a/src/gui/qt-daemon/html/assets/i18n/en.json +++ /dev/null @@ -1,633 +0,0 @@ -{ - "LOGIN": { - "SETUP_MASTER_PASS": "Setup master password", - "SETUP_CONFIRM_PASS": "Confirm the password", - "MASTER_PASS": "Master password", - "BUTTON_NEXT": "Next", - "BUTTON_SKIP": "Skip", - "BUTTON_RESET": "Reset", - "INCORRECT_PASSWORD": "Invalid password", - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "CONFIRM_REQUIRED": "Confirmation is required", - "MISMATCH": "Mismatch" - } - }, - "COMMON": { - "BACK": "Go back" - }, - "BREADCRUMBS": { - "ADD_WALLET": "Add wallet", - "CREATE_WALLET": "Create new wallet", - "SAVE_PHRASE": "Save your seed phrase", - "OPEN_WALLET": "Open existing wallet", - "RESTORE_WALLET": "Restore from backup", - "WALLET_DETAILS": "Wallet details", - "ASSIGN_ALIAS": "Assign alias", - "EDIT_ALIAS": "Edit alias", - "TRANSFER_ALIAS": "Transfer alias", - "CONTRACTS": "Contracts", - "NEW_PURCHASE": "New purchase", - "OLD_PURCHASE": "Purchase" - }, - "SIDEBAR": { - "TITLE": "Wallets", - "ADD_NEW": "+ Add", - "ACCOUNT": { - "STAKING": "Staking", - "MESSAGES": "New offers/Messages", - "SYNCING": "Syncing wallet" - }, - "CONTACTS": "Contacts", - "CONTACTS_TOOLTIP": "Contacts option available only with Master Password enabled", - "SETTINGS": "Settings", - "LOG_OUT": "Log out", - "LOG_OUT_TOOLTIP": "Logout option available only with Master Password enabled", - "SYNCHRONIZATION": { - "OFFLINE": "Offline", - "ONLINE": "Online", - "ERROR": "System error", - "COMPLETE": "Completion", - "SYNCING": "Syncing block", - "LOADING": "Loading blockchain data", - "DOWNLOADING": "Downloading", - "SLASH": "/", - "MB": "MB" - }, - "UPDATE": { - "STANDARD": "Update available", - "STANDARD_TOOLTIP": "Get new update.
      Update is recommended!", - "IMPORTANT": "Update available", - "IMPORTANT_HINT": "Important update!", - "IMPORTANT_TOOLTIP": "Get new update.
      Important update!", - "CRITICAL": "Update available", - "CRITICAL_HINT": "Critical update!", - "CRITICAL_TOOLTIP": "Critical update available.Update strongly recommended!", - "TIME": "System time differs from network", - "TIME_TOOLTIP": "Wrong system time!
      Check and repair your system time." - } - }, - "MAIN": { - "TITLE": "Create or open the wallet to start using Zano", - "BUTTON_NEW_WALLET": "Create new wallet", - "BUTTON_OPEN_WALLET": "Open existing wallet", - "BUTTON_RESTORE_BACKUP": "Restore from backup", - "HELP": "How to create wallet?", - "CHOOSE_PATH": "Please choose a path" - }, - "CREATE_WALLET": { - "NAME": "Wallet name", - "PASS": "Set wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "TITLE_SAVE": "Save the wallet file.", - "ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten", - "ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match" - } - }, - "OPEN_WALLET": { - "NAME": "Wallet name", - "PASS": "Wallet password", - "BUTTON": "Open wallet", - "WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open", - "FILE_NOT_FOUND1": "Wallet file not found", - "FILE_NOT_FOUND2": "

      It might have been renamed or moved.
      To open it, use the \"Open wallet\" button.", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - }, - "MODAL": { - "TITLE": "Type wallet password", - "LABEL": "Password to this wallet", - "OPEN": "Open wallet", - "SKIP": "Skip", - "NOT_FOUND": "Not found" - } - }, - "RESTORE_WALLET": { - "LABEL_NAME": "Wallet name", - "LABEL_PHRASE_KEY": "Seed phrase / tracking seed", - "PASS": "Wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match", - "CHOOSE_PATH": "Please choose a path", - "SEED_PASSWORD": "Seed password", - "OK": "OK", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match", - "KEY_REQUIRED": "Key is required", - "KEY_NOT_VALID": "Key not valid", - "INCORRECT_PASSWORD": "Incorrect password" - } - }, - "SEED_PHRASE": { - "TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.", - "BUTTON_CREATE_ACCOUNT": "Create wallet", - "BUTTON_COPY": "Copy" - }, - "PROGRESS": { - "ADD_WALLET": "Add wallet", - "SELECT_LOCATION": "Select wallet location", - "CREATE_WALLET": "Create new wallet", - "RESTORE_WALLET": "Restore from backup" - }, - "SETTINGS": { - "TITLE": "Settings", - "DARK_THEME": "Dark theme", - "WHITE_THEME": "White theme", - "GRAY_THEME": "Grey theme", - "APP_LOCK": { - "TITLE": "Lock app after:", - "TIME1": "5 min", - "TIME2": "15 min", - "TIME3": "1 hour", - "TIME4": "Never" - }, - "SCALE": { - "75": "75% scale", - "100": "100% scale", - "125": "125% scale", - "150": "150% scale" - }, - "LANGUAGE": { - "TITLE": "Language", - "EN": "English", - "FR": "French", - "DE": "Deutsch", - "ID": "Indonesian", - "IT": "Italian", - "PT": "Portuguese" - }, - "MASTER_PASSWORD": { - "TITLE": "Update master password", - "OLD": "Current password", - "NEW": "New password", - "CONFIRM": "New password confirmation", - "BUTTON": "Save" - }, - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "PASS_NOT_MATCH": "Incorrect password", - "CONFIRM_NOT_MATCH": "Confirm password not match" - }, - "LAST_BUILD": "Current build: {{value}}", - "APP_LOG_TITLE": "Log level:" - }, - "WALLET": { - "REGISTER_ALIAS": "Register an alias", - "DETAILS": "Details", - "LOCK": "Lock", - "AVAILABLE_BALANCE": "Available {{available}} {{currency}}", - "LOCKED_BALANCE": "Locked {{locked}} {{currency}}", - "LOCKED_BALANCE_LINK": "What does that mean?", - "CONFIRM": { - "TITLE": "Remove wallet from the list?", - "MESSAGE": "To access it you’ll have to add it again" - }, - "TABS": { - "SEND": "Send", - "RECEIVE": "Receive", - "HISTORY": "History", - "CONTRACTS": "Contracts", - "MESSAGES": "Messages", - "STAKING": "Staking" - }, - "TOOLTIPS": { - "EDIT_ALIAS": "Edit alias", - "TRANSFER_ALIAS": "Transfer alias", - "SETTINGS": "Settings", - "CLOSE": "Close wallet" - } - }, - "WALLET_DETAILS": { - "LABEL_NAME": "Wallet name", - "LABEL_FILE_LOCATION": "Wallet file location", - "LABEL_SEED_PHRASE": "Seed phrase", - "SEED_PHRASE_HINT": "Click to reveal the seed phrase", - "BUTTON_SAVE": "Save", - "BUTTON_REMOVE": "Close wallet", - "CREATE_PASSWORD_SECURE": "Create a password to secure your seed", - "INFO": "info", - "SEED_IS_UNSECURED": "Seed is unsecured", - "SEED_IS_SECURED": "Seed is secured", - "REMEMBER_YOU_WILL_REQUIRE": "Remember, you will require the password to restore it.", - "FORM": { - "CONFIRM_PASSWORD": "Confirm password", - "GENERATE_SECURE_SEED": "Generate Secure Seed", - "SECURED_SEED_WILL_REQUIRE": "Secured seed will require this password to restore." - }, - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "PASSWORDS_DONT_MATCH": "Passwords don't match" - } - }, - "ASSIGN_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": " Enter alias", - "TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”." - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "", - "TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later." - }, - "COST": "Alias fee {{value}} {{currency}}", - "BUTTON_ASSIGN": "Assign", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_WRONG": "Invalid name: allowed symbols \"0-9\", \"a-z\", \"-\", \".\"", - "NAME_LENGTH": "The alias must be 6-25 characters long", - "NAME_EXISTS": "Alias name already exists", - "NO_MONEY": "You do not have enough funds to assign this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "ONE_ALIAS": "You can create only one alias per wallet", - "REQUEST_ADD_REG": "The alias will be assigned within 10 minutes" - }, - "EDIT_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "NO_MONEY": "You do not have enough funds to change the comment to this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "COST": "Fee {{value}} {{currency}}", - "BUTTON_EDIT": "Edit" - }, - "TRANSFER_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "ADDRESS": { - "LABEL": "Transfer to", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "WRONG_ADDRESS": "No wallet with this account exists", - "ALIAS_EXISTS": "This account already has an alias", - "NO_MONEY": "You do not have enough funds to transfer this alias" - }, - "COST": "Transfer fee {{value}} {{currency}}", - "BUTTON_TRANSFER": "Transfer", - "BUTTON_CANCEL": "Cancel", - "REQUEST_SEND_REG": "The alias will be transferred within 10 minutes" - }, - "SEND": { - "ADDRESS": "Address", - "AMOUNT": "Amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "MIXIN": "Mixin", - "FEE": "Fee", - "HIDE": "Hide your wallet address from recipient", - "BUTTON": "Send", - "SUCCESS_SENT": "Transaction sent", - "FORM_ERRORS": { - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "ALIAS_NOT_VALID": "Alias not valid", - "AMOUNT_REQUIRED": "Amount is required", - "AMOUNT_ZERO": "Amount is zero", - "FEE_REQUIRED": "Fee is required", - "FEE_MINIMUM": "Minimum fee: {{fee}}", - "MAX_LENGTH": "Maximum comment length reached" - } - }, - "HISTORY": { - "STATUS": "Status", - "STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}", - "LOCK_TOOLTIP": "Locked till {{date}}", - "SEND": "Sent", - "RECEIVED": "Received", - "DATE": "Date", - "AMOUNT": "Amount", - "FEE": "Fee", - "ADDRESS": "Address", - "DETAILS": { - "PAYMENT_ID": "Payment ID", - "ID": "Transaction ID", - "SIZE": "Transaction size", - "SIZE_VALUE": "{{value}} bytes", - "HEIGHT": "Height", - "CONFIRMATION": "Confirmation", - "INPUTS": "Inputs", - "OUTPUTS": "Outputs", - "COMMENT": "Comment" - }, - "TYPE_MESSAGES": { - "HIDDEN": "hidden", - "UNDEFINED": "Undefined", - "COMPLETE_BUYER": "Contract completed", - "COMPLETE_SELLER": "Contract completed", - "CREATE_ALIAS": "Fee for assigning alias", - "UPDATE_ALIAS": "Fee for editing alias", - "POW_REWARD": "POW reward", - "POS_REWARD": "POS reward", - "CREATE_CONTRACT": "Contract proposal", - "PLEDGE_CONTRACT": "Contract deposit", - "NULLIFY_CONTRACT": "Burn deposits", - "PROPOSAL_CANCEL_CONTRACT": "Cancellation request", - "CANCEL_CONTRACT": "Cancel and return deposits" - } - }, - "CONTRACTS": { - "EMPTY": "No active contracts", - "CONTRACTS": "Contracts", - "PURCHASE": "Purchase", - "SELL": "Sell", - "DATE": "Date", - "AMOUNT": "Amount", - "STATUS": "Status", - "COMMENTS": "Comments", - "PURCHASE_BUTTON": "New Purchase", - "LISTING_BUTTON": "Create listing", - "TIME_LEFT": { - "REMAINING_LESS_ONE": "Less than an hour to respond", - "REMAINING_ONE": "{{time}} hour remains", - "REMAINING_MANY": "{{time}} hours remain", - "REMAINING_MANY_ALT": "{{time}} hours remain", - "REMAINING_ONE_RESPONSE": "{{time}} hour remains", - "REMAINING_MANY_RESPONSE": "{{time}} hours remain", - "REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain", - "REMAINING_ONE_WAITING": "Waiting for {{time}} hour", - "REMAINING_MANY_WAITING": "Waiting for {{time}} hours", - "REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours" - }, - "STATUS_MESSAGES": { - "SELLER": { - "NEW_CONTRACT": "New contract proposal", - "IGNORED": "You ignored contract proposal", - "ACCEPTED": "Contract started", - "WAIT": "Waiting for contract confirmation", - "WAITING_BUYER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "You ignored cancellation proposal", - "EXPIRED": "Contract proposal has expired" - }, - "BUYER": { - "WAITING": "Waiting for response", - "IGNORED": "Seller ignored your contract proposal", - "ACCEPTED": "Seller accepted your contract proposal", - "WAIT": "Waiting for deposits confirmation", - "WAITING_SELLER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "WAITING_CANCEL": "Waiting for contract cancellation", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract", - "EXPIRED": "The contract proposal has expired" - } - } - }, - "PURCHASE": { - "DESCRIPTION": "Description", - "SELLER": "Seller", - "AMOUNT": "Amount", - "YOUR_DEPOSIT": "Your deposit", - "SELLER_DEPOSIT": "Seller deposit", - "BUYER_DEPOSIT": "Buyer deposit", - "SAME_AMOUNT": "Same amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "SEND_BUTTON": "Send", - "FORM_ERRORS": { - "DESC_REQUIRED": "Description required", - "DESC_MAXIMUM": "Maximum field length reached", - "SELLER_REQUIRED": "Address required", - "SELLER_NOT_VALID": "Invalid address", - "ALIAS_NOT_VALID": "Invalid alias", - "AMOUNT_REQUIRED": "Amount required", - "AMOUNT_ZERO": "Amount cannot be zero", - "YOUR_DEPOSIT_REQUIRED": "Deposit required", - "SELLER_DEPOSIT_REQUIRED": "Seller deposit required", - "SELLER_SAME": "Use separate account", - "COMMENT_MAXIMUM": "Maximum field length reached" - }, - "PROGRESS_NEW": "New purchase", - "PROGRESS_WAIT": "Awaiting reply", - "PROGRESS_RECEIVE": "Reply received", - "PROGRESS_COMPLETE": "Completed", - "FEE": "Fee", - "PAYMENT": "Payment ID", - "STATUS_MESSAGES": { - "NEW_PURCHASE": "New purchase", - "WAITING_SELLER": "Waiting for response", - "WAITING_BUYER": "Contract proposal received", - "WAITING_CONFIRMATION": "Waiting for deposits confirmation", - "WAITING_DELIVERY": "Waiting for delivery", - "COMPLETED": "Contract completed", - "IGNORED_BUYER": "Contract proposal ignored", - "IGNORED_SELLER": "The seller ignored your contract proposal", - "PROPOSAL_CANCEL_SELLER": "Cancellation request sent", - "PROPOSAL_CANCEL_BUYER": "Cancellation request received", - "BEING_CANCELLED": "Cancellation in progress", - "IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract", - "IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored", - "CANCELLED": "Contract canceled", - "EXPIRED": "Contract proposal expired", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned" - }, - "ACCEPT_STATE_WAIT_BIG": "Contract started", - "IGNORED_ACCEPT": "Contract proposal ignored", - "BURN_PROPOSAL": "Deposits burned", - "SUCCESS_FINISH_PROPOSAL": "Contract completed", - "SEND_CANCEL_PROPOSAL": "Cancellation request sent", - "IGNORED_CANCEL": "Contract cancellation proposal ignored", - "DEALS_CANCELED_WAIT": "Cancellation in progress", - "WAITING_TIME": "Response time", - "NEED_MONEY": "Insufficient funds", - "BUTTON_MAKE_PLEDGE": "Accept and make deposit", - "BUTTON_IGNORE": "Ignore and hide offer", - "BUTTON_NULLIFY": "Terminate and burn deposits", - "BUTTON_RECEIVED": "Complete and release deposits", - "BUTTON_CANCEL_BUYER": "Cancel and return deposits", - "BUTTON_NOT_CANCEL": "Ignore request", - "BUTTON_CANCEL_SELLER": "Confirm and return deposits", - "HOUR": "hour", - "HOURS": "hours", - "CANCEL": "Cancel", - "NULLIFY_QUESTION": "Are you sure you want to burn both deposits?", - "BUTTON_NULLIFY_SHORT": "Burn", - "WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?" - }, - "MESSAGES": { - "ADDRESS": "Address", - "MESSAGE": "Message", - "SEND_PLACEHOLDER": "Type a message...", - "SEND_BUTTON": "Send" - }, - "MODALS": { - "ERROR": "Error", - "SUCCESS": "Success", - "INFO": "Information", - "OK": "OK", - "CANCEL": "Cancel" - }, - "CONFIRM": { - "BUTTON_CONFIRM": "Send", - "BUTTON_CANCEL": "Cancel", - "TITLE": "Confirm transaction", - "MESSAGE": { - "SEND": "Send", - "FROM": "From", - "TO": "To", - "COMMENT": "Comment" - } - }, - "STAKING": { - "TITLE": "Staking", - "TITLE_PENDING": "Pending", - "TITLE_TOTAL": "Total", - "TITLE_PERIOD": "Time period:", - "PERIOD": { - "WEEK1": "1 week", - "WEEK2": "2 week", - "MONTH1": "1 month", - "MONTH3": "3 month", - "MONTH6": "6 month", - "YEAR": "1 year", - "ALL": "All" - }, - "TITLE_GROUP": "Group:", - "GROUP": { - "DAY": "day", - "WEEK": "week", - "MONTH": "month" - }, - "SWITCH": { - "ON": "ON", - "OFF": "OFF" - } - }, - "CONTACTS": { - "TITLE": "Contact list", - "IMPORT_EXPORT": "Import or export contacts", - "IMPORT": "Import", - "EXPORT": "Export", - "ADD": "Add/edit contact", - "SEND": "Send", - "SEND_FROM": "Send from", - "SEND_TO": "To", - "OPEN_ADD_WALLET": "Open/Add wallet", - "COPY": "- Copy" -, "TABLE": { - "NAME": "Name", - "ALIAS": "Alias", - "ADDRESS": "Address", - "NOTES": "Notes", - "EMPTY": "Contact list is empty" - }, - "FORM": { - "NAME": "Name", - "ADDRESS": "Address", - "NOTES": "Notes" - }, - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUBLICATED": "Name is dublicated", - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "SET_MASTER_PASSWORD": "Set master password", - "ADDRESS_DUBLICATED": "Address is dublicated", - "MAX_LENGTH": "Maximum notes length reached", - "NAME_LENGTH": "The name must be 4-25 characters long" - }, - "BUTTON": { - "SEND": "Send", - "EDIT": "Edit", - "DELETE": "Delete", - "ADD": "Add contact", - "ADD_EDIT": "Add/Save", - "GO_TO_WALLET": "Go to wallet", - "IMPORT_EXPORT": "Import/export" - }, - "SUCCESS_SENT": "Contact added", - "SUCCESS_SAVE": "Contact is edited", - "SUCCESS_IMPORT": "Contacts are imported", - "SUCCESS_EXPORT": "Contacts are exported", - "ERROR_IMPORT": "Error is occured while reading file!", - "ERROR_TYPE_FILE": "Please import valid .csv file", - "ERROR_EXPORT": "Invalid file type. Save file as .csv", - "ERROR_EMPTY_LIST": "Contact list is empty", - "ERROR_IMPORT_EMPTY": "File is empty" - }, - "ERRORS": { - "NO_MONEY": "Not enough money", - "NOT_ENOUGH_MONEY": "Insufficient funds in account", - "CORE_BUSY": "Internal error: core is busy", - "DAEMON_BUSY": "Internal error: daemon is busy", - "NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet", - "NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with", - "TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions", - "TRANSFER_ATTEMPT": "There is no connection to Zano network", - "ACCESS_DENIED": "Access denied", - "TRANSACTION_ERROR": "Error. Transaction not completed.", - "BAD_ARG": "Invalid argument", - "WALLET_WRONG_ID": "Invalid wallet ID", - "WALLET_WATCH_ONLY_NOT_SUPPORTED": "Watch-only wallets can only be opened by simplewallet", - "WRONG_PASSWORD": "Invalid password", - "FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain", - "FILE_NOT_FOUND": "File not found", - "FILE_EXIST": "A file with that name already exists. Enter another name to save the file under", - "FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.", - "TX_TYPE_NORMAL": "Error. The payment from the wallet", - "TX_TYPE_NORMAL_TO": "to", - "TX_TYPE_NORMAL_END": "was not completed.", - "TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe", - "TX_TYPE_NEW_ALIAS_END": "Please try again.", - "TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe", - "TX_TYPE_COIN_BASE": "Error. The payment was not completed." - }, - "CONTEXT_MENU": { - "COPY": "copy", - "PASTE": "paste", - "SELECT": "select all" - }, - "BACKEND_LOCALIZATION": { - "QUIT": "Quit", - "IS_RECEIVED": "", - "IS_CONFIRMED": "", - "INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)", - "INCOME_TRANSFER_CONFIRMED": "Payment received", - "MINED": "Mined", - "LOCKED": "Blocked", - "IS_MINIMIZE": "Zano application is minimized to the system tray", - "RESTORE": "You can recover it by clicking or using the context menu", - "TRAY_MENU_SHOW": "Resize", - "TRAY_MENU_MINIMIZE": "Minimize" - } -} diff --git a/src/gui/qt-daemon/html/assets/i18n/es.json b/src/gui/qt-daemon/html/assets/i18n/es.json deleted file mode 100644 index e7ba8cc6..00000000 --- a/src/gui/qt-daemon/html/assets/i18n/es.json +++ /dev/null @@ -1,593 +0,0 @@ -{ - "LOGIN": { - "SETUP_MASTER_PASS": "Setup master password", - "SETUP_CONFIRM_PASS": "Confirm the password", - "MASTER_PASS": "Master password", - "BUTTON_NEXT": "Next", - "BUTTON_SKIP": "Skip", - "BUTTON_RESET": "Reset", - "INCORRECT_PASSWORD": "Invalid password", - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "CONFIRM_REQUIRED": "Confirmation is required", - "MISMATCH": "Mismatch" - } - }, - "COMMON": { - "BACK": "Go back" - }, - "BREADCRUMBS": { - "ADD_WALLET": "Add wallet", - "CREATE_WALLET": "Create new wallet", - "SAVE_PHRASE": "Save your seed phrase", - "OPEN_WALLET": "Open existing wallet", - "RESTORE_WALLET": "Restore from backup", - "WALLET_DETAILS": "Wallet details", - "ASSIGN_ALIAS": "Assign alias", - "EDIT_ALIAS": "Edit alias", - "TRANSFER_ALIAS": "Transfer alias", - "CONTRACTS": "Contracts", - "NEW_PURCHASE": "New purchase", - "OLD_PURCHASE": "Purchase" - }, - "SIDEBAR": { - "TITLE": "Wallets", - "ADD_NEW": "+ Add", - "ACCOUNT": { - "STAKING": "Staking", - "MESSAGES": "New offers/Messages", - "SYNCING": "Syncing wallet" - }, - "CONTACTS": "Contacts", - "SETTINGS": "Settings", - "LOG_OUT": "Log out", - "SYNCHRONIZATION": { - "OFFLINE": "Offline", - "ONLINE": "Online", - "ERROR": "System error", - "COMPLETE": "Completion", - "SYNCING": "Syncing blockchain", - "LOADING": "Loading blockchain data" - }, - "UPDATE": { - "STANDARD": "Update available", - "STANDARD_TOOLTIP": "Get new update.
      Update is recommended!", - "IMPORTANT": "Update available", - "IMPORTANT_HINT": "Important update!", - "IMPORTANT_TOOLTIP": "Get new update.
      Important update!", - "CRITICAL": "Update available", - "CRITICAL_HINT": "Critical update!", - "CRITICAL_TOOLTIP": "Critical update available.Update strongly recommended!", - "TIME": "System time differs from network", - "TIME_TOOLTIP": "Wrong system time!
      Check and repair your system time." - } - }, - "MAIN": { - "TITLE": "Create or open the wallet to start using Zano", - "BUTTON_NEW_WALLET": "Create new wallet", - "BUTTON_OPEN_WALLET": "Open existing wallet", - "BUTTON_RESTORE_BACKUP": "Restore from backup", - "HELP": "How to create wallet?", - "CHOOSE_PATH": "Please choose a path" - }, - "CREATE_WALLET": { - "NAME": "Wallet name", - "PASS": "Set wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "TITLE_SAVE": "Save the wallet file.", - "ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten", - "ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match" - } - }, - "OPEN_WALLET": { - "NAME": "Wallet name", - "PASS": "Wallet password", - "BUTTON": "Open wallet", - "WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open", - "FILE_NOT_FOUND1": "Wallet file not found", - "FILE_NOT_FOUND2": "

      It might have been renamed or moved.
      To open it, use the \"Open wallet\" button.", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - }, - "MODAL": { - "TITLE": "Type wallet password", - "LABEL": "Password to this wallet", - "OPEN": "Open wallet", - "SKIP": "Skip", - "NOT_FOUND": "Not found" - } - }, - "RESTORE_WALLET": { - "LABEL_NAME": "Wallet name", - "LABEL_PHRASE_KEY": "Seed phrase / tracking seed", - "PASS": "Wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match", - "CHOOSE_PATH": "Please choose a path", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match", - "KEY_REQUIRED": "Key is required", - "KEY_NOT_VALID": "Key not valid" - } - }, - "SEED_PHRASE": { - "TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.", - "BUTTON_CREATE_ACCOUNT": "Create wallet", - "BUTTON_COPY": "Copy" - }, - "PROGRESS": { - "ADD_WALLET": "Add wallet", - "SELECT_LOCATION": "Select wallet location", - "CREATE_WALLET": "Create new wallet", - "RESTORE_WALLET": "Restore from backup" - }, - "SETTINGS": { - "TITLE": "Settings", - "DARK_THEME": "Dark theme", - "WHITE_THEME": "White theme", - "GRAY_THEME": "Grey theme", - "APP_LOCK": { - "TITLE": "Lock app after:", - "TIME1": "5 min", - "TIME2": "15 min", - "TIME3": "1 hour", - "TIME4": "Never" - }, - "SCALE": { - "75": "75% scale", - "100": "100% scale", - "125": "125% scale", - "150": "150% scale" - }, - "MASTER_PASSWORD": { - "TITLE": "Update master password", - "OLD": "Old password", - "NEW": "New password", - "CONFIRM": "New password confirmation", - "BUTTON": "Save" - }, - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "PASS_NOT_MATCH": "Old password not match", - "CONFIRM_NOT_MATCH": "Confirm password not match" - }, - "LAST_BUILD": "Current build: {{value}}", - "APP_LOG_TITLE": "Log level:" - }, - "WALLET": { - "REGISTER_ALIAS": "Register an alias", - "DETAILS": "Details", - "LOCK": "Lock", - "AVAILABLE_BALANCE": "Available {{available}} {{currency}}", - "LOCKED_BALANCE": "Locked {{locked}} {{currency}}", - "LOCKED_BALANCE_LINK": "What does that mean?", - "TABS": { - "SEND": "Send", - "RECEIVE": "Receive", - "HISTORY": "History", - "CONTRACTS": "Contracts", - "MESSAGES": "Messages", - "STAKING": "Staking" - } - }, - "WALLET_DETAILS": { - "LABEL_NAME": "Wallet name", - "LABEL_FILE_LOCATION": "Wallet file location", - "LABEL_SEED_PHRASE": "Seed phrase", - "SEED_PHRASE_HINT": "Click to reveal the seed phrase", - "BUTTON_SAVE": "Save", - "BUTTON_REMOVE": "Close wallet", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - } - }, - "ASSIGN_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": " Enter alias", - "TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”." - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "", - "TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later." - }, - "COST": "Alias fee {{value}} {{currency}}", - "BUTTON_ASSIGN": "Assign", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_WRONG": "Nombre no válido: símbolos permitidos \"0-9\", \"a-z\", \"-\", \".\"", - "NAME_LENGTH": "The alias must be 6-25 characters long", - "NAME_EXISTS": "Alias name already exists", - "NO_MONEY": "You do not have enough funds to assign this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "ONE_ALIAS": "You can create only one alias per wallet", - "REQUEST_ADD_REG": "The alias will be assigned within 10 minutes" - }, - "EDIT_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "NO_MONEY": "You do not have enough funds to change the comment to this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "COST": "Fee {{value}} {{currency}}", - "BUTTON_EDIT": "Edit" - }, - "TRANSFER_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "ADDRESS": { - "LABEL": "Transfer to", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "WRONG_ADDRESS": "No wallet with this account exists", - "ALIAS_EXISTS": "This account already has an alias", - "NO_MONEY": "You do not have enough funds to transfer this alias" - }, - "COST": "Transfer fee {{value}} {{currency}}", - "BUTTON_TRANSFER": "Transfer", - "BUTTON_CANCEL": "Cancel", - "REQUEST_SEND_REG": "The alias will be transferred within 10 minutes" - }, - "SEND": { - "ADDRESS": "Address", - "AMOUNT": "Amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "MIXIN": "Mixin", - "FEE": "Fee", - "HIDE": "Hide your wallet address from recipient", - "BUTTON": "Send", - "SUCCESS_SENT": "Transaction sent", - "FORM_ERRORS": { - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "ALIAS_NOT_VALID": "Alias not valid", - "AMOUNT_REQUIRED": "Amount is required", - "AMOUNT_ZERO": "Amount is zero", - "FEE_REQUIRED": "Fee is required", - "FEE_MINIMUM": "Minimum fee: {{fee}}", - "MAX_LENGTH": "Maximum comment length reached" - } - }, - "HISTORY": { - "STATUS": "Status", - "STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}", - "LOCK_TOOLTIP": "Locked till {{date}}", - "SEND": "Sent", - "RECEIVED": "Received", - "DATE": "Date", - "AMOUNT": "Amount", - "FEE": "Fee", - "ADDRESS": "Address", - "DETAILS": { - "PAYMENT_ID": "Payment ID", - "ID": "Transaction ID", - "SIZE": "Transaction size", - "SIZE_VALUE": "{{value}} bytes", - "HEIGHT": "Height", - "CONFIRMATION": "Confirmation", - "INPUTS": "Inputs", - "OUTPUTS": "Outputs", - "COMMENT": "Comment" - }, - "TYPE_MESSAGES": { - "HIDDEN": "hidden", - "UNDEFINED": "Undefined", - "COMPLETE_BUYER": "Contract completed", - "COMPLETE_SELLER": "Contract completed", - "CREATE_ALIAS": "Fee for assigning alias", - "UPDATE_ALIAS": "Fee for editing alias", - "POW_REWARD": "POW reward", - "POS_REWARD": "POS reward", - "CREATE_CONTRACT": "Contract proposal", - "PLEDGE_CONTRACT": "Contract deposit", - "NULLIFY_CONTRACT": "Burn deposits", - "PROPOSAL_CANCEL_CONTRACT": "Cancellation request", - "CANCEL_CONTRACT": "Cancel and return deposits" - } - }, - "CONTRACTS": { - "EMPTY": "No active contracts", - "CONTRACTS": "Contracts", - "PURCHASE": "Purchase", - "SELL": "Sell", - "DATE": "Date", - "AMOUNT": "Amount", - "STATUS": "Status", - "COMMENTS": "Comments", - "PURCHASE_BUTTON": "New Purchase", - "LISTING_BUTTON": "Create listing", - "TIME_LEFT": { - "REMAINING_LESS_ONE": "Less than an hour to respond", - "REMAINING_ONE": "{{time}} hour remains", - "REMAINING_MANY": "{{time}} hours remain", - "REMAINING_MANY_ALT": "{{time}} hours remain", - "REMAINING_ONE_RESPONSE": "{{time}} hour remains", - "REMAINING_MANY_RESPONSE": "{{time}} hours remain", - "REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain", - "REMAINING_ONE_WAITING": "Waiting for {{time}} hour", - "REMAINING_MANY_WAITING": "Waiting for {{time}} hours", - "REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours" - }, - "STATUS_MESSAGES": { - "SELLER": { - "NEW_CONTRACT": "New contract proposal", - "IGNORED": "You ignored contract proposal", - "ACCEPTED": "Contract started", - "WAIT": "Waiting for contract confirmation", - "WAITING_BUYER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "You ignored cancellation proposal", - "EXPIRED": "Contract proposal has expired" - }, - "BUYER": { - "WAITING": "Waiting for response", - "IGNORED": "Seller ignored your contract proposal", - "ACCEPTED": "Seller accepted your contract proposal", - "WAIT": "Waiting for deposits confirmation", - "WAITING_SELLER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "WAITING_CANCEL": "Waiting for contract cancellation", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract", - "EXPIRED": "The contract proposal has expired" - } - } - }, - "PURCHASE": { - "DESCRIPTION": "Description", - "SELLER": "Seller", - "AMOUNT": "Amount", - "YOUR_DEPOSIT": "Your deposit", - "SELLER_DEPOSIT": "Seller deposit", - "BUYER_DEPOSIT": "Buyer deposit", - "SAME_AMOUNT": "Same amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "SEND_BUTTON": "Send", - "FORM_ERRORS": { - "DESC_REQUIRED": "Description required", - "DESC_MAXIMUM": "Maximum field length reached", - "SELLER_REQUIRED": "Address required", - "SELLER_NOT_VALID": "Invalid address", - "ALIAS_NOT_VALID": "Invalid alias", - "AMOUNT_REQUIRED": "Amount required", - "AMOUNT_ZERO": "Amount cannot be zero", - "YOUR_DEPOSIT_REQUIRED": "Deposit required", - "SELLER_DEPOSIT_REQUIRED": "Seller deposit required", - "SELLER_SAME": "Use separate account", - "COMMENT_MAXIMUM": "Maximum field length reached" - }, - "PROGRESS_NEW": "New purchase", - "PROGRESS_WAIT": "Awaiting reply", - "PROGRESS_RECEIVE": "Reply received", - "PROGRESS_COMPLETE": "Completed", - "FEE": "Fee", - "PAYMENT": "Payment ID", - "STATUS_MESSAGES": { - "NEW_PURCHASE": "New purchase", - "WAITING_SELLER": "Waiting for response", - "WAITING_BUYER": "Contract proposal received", - "WAITING_CONFIRMATION": "Waiting for deposits confirmation", - "WAITING_DELIVERY": "Waiting for delivery", - "COMPLETED": "Contract completed", - "IGNORED_BUYER": "Contract proposal ignored", - "IGNORED_SELLER": "The seller ignored your contract proposal", - "PROPOSAL_CANCEL_SELLER": "Cancellation request sent", - "PROPOSAL_CANCEL_BUYER": "Cancellation request received", - "BEING_CANCELLED": "Cancellation in progress", - "IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract", - "IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored", - "CANCELLED": "Contract canceled", - "EXPIRED": "Contract proposal expired", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned" - }, - "ACCEPT_STATE_WAIT_BIG": "Contract started", - "IGNORED_ACCEPT": "Contract proposal ignored", - "BURN_PROPOSAL": "Deposits burned", - "SUCCESS_FINISH_PROPOSAL": "Contract completed", - "SEND_CANCEL_PROPOSAL": "Cancellation request sent", - "IGNORED_CANCEL": "Contract cancellation proposal ignored", - "DEALS_CANCELED_WAIT": "Cancellation in progress", - "WAITING_TIME": "Response time", - "NEED_MONEY": "Insufficient funds", - "BUTTON_MAKE_PLEDGE": "Accept and make deposit", - "BUTTON_IGNORE": "Ignore and hide offer", - "BUTTON_NULLIFY": "Terminate and burn deposits", - "BUTTON_RECEIVED": "Complete and release deposits", - "BUTTON_CANCEL_BUYER": "Cancel and return deposits", - "BUTTON_NOT_CANCEL": "Ignore request", - "BUTTON_CANCEL_SELLER": "Confirm and return deposits", - "HOUR": "hour", - "HOURS": "hours", - "CANCEL": "Cancel", - "NULLIFY_QUESTION": "Are you sure you want to burn both deposits?", - "BUTTON_NULLIFY_SHORT": "Burn", - "WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?" - }, - "MESSAGES": { - "ADDRESS": "Address", - "MESSAGE": "Message", - "SEND_PLACEHOLDER": "Type a message...", - "SEND_BUTTON": "Send" - }, - "MODALS": { - "ERROR": "Error", - "SUCCESS": "Success", - "INFO": "Information", - "OK": "OK" - }, - "CONFIRM": { - "BUTTON_CONFIRM": "Send", - "BUTTON_CANCEL": "Cancel", - "TITLE": "Confirm transaction", - "MESSAGE": { - "SEND": "Send", - "FROM": "From", - "TO": "To", - "COMMENT": "Comment" - } - }, - "STAKING": { - "TITLE": "Staking", - "TITLE_PENDING": "Pending", - "TITLE_TOTAL": "Total", - "TITLE_PERIOD": "Time period:", - "PERIOD": { - "WEEK1": "1 week", - "WEEK2": "2 week", - "MONTH1": "1 month", - "MONTH3": "3 month", - "MONTH6": "6 month", - "YEAR": "1 year", - "ALL": "All" - }, - "TITLE_GROUP": "Group:", - "GROUP": { - "DAY": "day", - "WEEK": "week", - "MONTH": "month" - }, - "SWITCH": { - "ON": "ON", - "OFF": "OFF" - } - }, - "CONTACTS": { - "TITLE": "Contact list", - "IMPORT_EXPORT": "Import or export contacts", - "IMPORT": "Import", - "EXPORT": "Export", - "ADD": "Add/edit contact", - "SEND": "Send", - "SEND_FROM": "Send from", - "SEND_TO": "To", - "OPEN_ADD_WALLET": "Open/Add wallet", - "COPY": "- Copy", - "TABLE": { - "NAME": "Name", - "ALIAS": "Alias", - "ADDRESS": "Address", - "NOTES": "Notes", - "EMPTY": "Contact list is empty" - }, - "FORM": { - "NAME": "Name", - "ADDRESS": "Address", - "NOTES": "Notes" - }, - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUBLICATED": "Name is dublicated", - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "SET_MASTER_PASSWORD": "Set master password", - "ADDRESS_DUBLICATED": "Address is dublicated", - "MAX_LENGTH": "Maximum notes length reached", - "NAME_LENGTH": "The name must be 4-25 characters long" - }, - "BUTTON": { - "SEND": "Send", - "EDIT": "Edit", - "DELETE": "Delete", - "ADD": "Add contact", - "ADD_EDIT": "Add/Save", - "GO_TO_WALLET": "Go to wallet", - "IMPORT_EXPORT": "Import/export" - }, - "SUCCESS_SENT": "Contact added", - "SUCCESS_SAVE": "Contact is edited", - "SUCCESS_IMPORT": "Contacts are imported", - "SUCCESS_EXPORT": "Contacts are exported", - "ERROR_IMPORT": "Error is occured while reading file!", - "ERROR_TYPE_FILE": "Please import valid .csv file", - "ERROR_EXPORT": "Invalid file type. Save file as .csv", - "ERROR_EMPTY_LIST": "Contact list is empty", - "ERROR_IMPORT_EMPTY": "File is empty" - }, - "ERRORS": { - "NO_MONEY": "Not enough money", - "NOT_ENOUGH_MONEY": "Insufficient funds in account", - "CORE_BUSY": "Internal error: core is busy", - "DAEMON_BUSY": "Internal error: daemon is busy", - "NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet", - "NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with", - "TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions", - "TRANSFER_ATTEMPT": "There is no connection to Zano network", - "ACCESS_DENIED": "Access denied", - "TRANSACTION_ERROR": "Error. Transaction not completed.", - "BAD_ARG": "Invalid argument", - "WALLET_WRONG_ID": "Invalid wallet ID", - "WRONG_PASSWORD": "Invalid password", - "FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain", - "FILE_NOT_FOUND": "File not found", - "FILE_EXIST": "A file with that name already exists. Enter another name to save the file under", - "FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.", - "TX_TYPE_NORMAL": "Error. The payment from the wallet", - "TX_TYPE_NORMAL_TO": "to", - "TX_TYPE_NORMAL_END": "was not completed.", - "TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe", - "TX_TYPE_NEW_ALIAS_END": "Please try again.", - "TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe", - "TX_TYPE_COIN_BASE": "Error. The payment was not completed." - }, - "CONTEXT_MENU": { - "COPY": "copy", - "PASTE": "paste", - "SELECT": "select all" - }, - "BACKEND_LOCALIZATION": { - "QUIT": "Quit", - "IS_RECEIVED": "", - "IS_CONFIRMED": "", - "INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)", - "INCOME_TRANSFER_CONFIRMED": "Payment received", - "MINED": "Mined", - "LOCKED": "Blocked", - "IS_MINIMIZE": "Zano application is minimized to the system tray", - "RESTORE": "You can recover it by clicking or using the context menu", - "TRAY_MENU_SHOW": "Resize", - "TRAY_MENU_MINIMIZE": "Minimize" - } -} diff --git a/src/gui/qt-daemon/html/assets/i18n/fi.json b/src/gui/qt-daemon/html/assets/i18n/fi.json deleted file mode 100644 index 59e88fa0..00000000 --- a/src/gui/qt-daemon/html/assets/i18n/fi.json +++ /dev/null @@ -1,593 +0,0 @@ -{ - "LOGIN": { - "SETUP_MASTER_PASS": "Setup master password", - "SETUP_CONFIRM_PASS": "Confirm the password", - "MASTER_PASS": "Master password", - "BUTTON_NEXT": "Next", - "BUTTON_SKIP": "Skip", - "BUTTON_RESET": "Reset", - "INCORRECT_PASSWORD": "Invalid password", - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "CONFIRM_REQUIRED": "Confirmation is required", - "MISMATCH": "Mismatch" - } - }, - "COMMON": { - "BACK": "Go back" - }, - "BREADCRUMBS": { - "ADD_WALLET": "Add wallet", - "CREATE_WALLET": "Create new wallet", - "SAVE_PHRASE": "Save your seed phrase", - "OPEN_WALLET": "Open existing wallet", - "RESTORE_WALLET": "Restore from backup", - "WALLET_DETAILS": "Wallet details", - "ASSIGN_ALIAS": "Assign alias", - "EDIT_ALIAS": "Edit alias", - "TRANSFER_ALIAS": "Transfer alias", - "CONTRACTS": "Contracts", - "NEW_PURCHASE": "New purchase", - "OLD_PURCHASE": "Purchase" - }, - "SIDEBAR": { - "TITLE": "Wallets", - "ADD_NEW": "+ Add", - "ACCOUNT": { - "STAKING": "Staking", - "MESSAGES": "New offers/Messages", - "SYNCING": "Syncing wallet" - }, - "CONTACTS": "Contacts", - "SETTINGS": "Settings", - "LOG_OUT": "Log out", - "SYNCHRONIZATION": { - "OFFLINE": "Offline", - "ONLINE": "Online", - "ERROR": "System error", - "COMPLETE": "Completion", - "SYNCING": "Syncing blockchain", - "LOADING": "Loading blockchain data" - }, - "UPDATE": { - "STANDARD": "Update available", - "STANDARD_TOOLTIP": "Get new update.
      Update is recommended!", - "IMPORTANT": "Update available", - "IMPORTANT_HINT": "Important update!", - "IMPORTANT_TOOLTIP": "Get new update.
      Important update!", - "CRITICAL": "Update available", - "CRITICAL_HINT": "Critical update!", - "CRITICAL_TOOLTIP": "Critical update available.Update strongly recommended!", - "TIME": "System time differs from network", - "TIME_TOOLTIP": "Wrong system time!
      Check and repair your system time." - } - }, - "MAIN": { - "TITLE": "Create or open the wallet to start using Zano", - "BUTTON_NEW_WALLET": "Create new wallet", - "BUTTON_OPEN_WALLET": "Open existing wallet", - "BUTTON_RESTORE_BACKUP": "Restore from backup", - "HELP": "How to create wallet?", - "CHOOSE_PATH": "Please choose a path" - }, - "CREATE_WALLET": { - "NAME": "Wallet name", - "PASS": "Set wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "TITLE_SAVE": "Save the wallet file.", - "ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten", - "ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match" - } - }, - "OPEN_WALLET": { - "NAME": "Wallet name", - "PASS": "Wallet password", - "BUTTON": "Open wallet", - "WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open", - "FILE_NOT_FOUND1": "Wallet file not found", - "FILE_NOT_FOUND2": "

      It might have been renamed or moved.
      To open it, use the \"Open wallet\" button.", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - }, - "MODAL": { - "TITLE": "Type wallet password", - "LABEL": "Password to this wallet", - "OPEN": "Open wallet", - "SKIP": "Skip", - "NOT_FOUND": "Not found" - } - }, - "RESTORE_WALLET": { - "LABEL_NAME": "Wallet name", - "LABEL_PHRASE_KEY": "Seed phrase / tracking seed", - "PASS": "Wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match", - "CHOOSE_PATH": "Please choose a path", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match", - "KEY_REQUIRED": "Key is required", - "KEY_NOT_VALID": "Key not valid" - } - }, - "SEED_PHRASE": { - "TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.", - "BUTTON_CREATE_ACCOUNT": "Create wallet", - "BUTTON_COPY": "Copy" - }, - "PROGRESS": { - "ADD_WALLET": "Add wallet", - "SELECT_LOCATION": "Select wallet location", - "CREATE_WALLET": "Create new wallet", - "RESTORE_WALLET": "Restore from backup" - }, - "SETTINGS": { - "TITLE": "Settings", - "DARK_THEME": "Dark theme", - "WHITE_THEME": "White theme", - "GRAY_THEME": "Grey theme", - "APP_LOCK": { - "TITLE": "Lock app after:", - "TIME1": "5 min", - "TIME2": "15 min", - "TIME3": "1 hour", - "TIME4": "Never" - }, - "SCALE": { - "75": "75% scale", - "100": "100% scale", - "125": "125% scale", - "150": "150% scale" - }, - "MASTER_PASSWORD": { - "TITLE": "Update master password", - "OLD": "Old password", - "NEW": "New password", - "CONFIRM": "New password confirmation", - "BUTTON": "Save" - }, - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "PASS_NOT_MATCH": "Old password not match", - "CONFIRM_NOT_MATCH": "Confirm password not match" - }, - "LAST_BUILD": "Current build: {{value}}", - "APP_LOG_TITLE": "Log level:" - }, - "WALLET": { - "REGISTER_ALIAS": "Register an alias", - "DETAILS": "Details", - "LOCK": "Lock", - "AVAILABLE_BALANCE": "Available {{available}} {{currency}}", - "LOCKED_BALANCE": "Locked {{locked}} {{currency}}", - "LOCKED_BALANCE_LINK": "What does that mean?", - "TABS": { - "SEND": "Send", - "RECEIVE": "Receive", - "HISTORY": "History", - "CONTRACTS": "Contracts", - "MESSAGES": "Messages", - "STAKING": "Staking" - } - }, - "WALLET_DETAILS": { - "LABEL_NAME": "Wallet name", - "LABEL_FILE_LOCATION": "Wallet file location", - "LABEL_SEED_PHRASE": "Seed phrase", - "SEED_PHRASE_HINT": "Click to reveal the seed phrase", - "BUTTON_SAVE": "Save", - "BUTTON_REMOVE": "Close wallet", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - } - }, - "ASSIGN_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": " Enter alias", - "TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”." - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "", - "TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later." - }, - "COST": "Alias fee {{value}} {{currency}}", - "BUTTON_ASSIGN": "Assign", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_WRONG": "Invalid name: allowed symbols \"0-9\", \"a-z\", \"-\", \".\"", - "NAME_LENGTH": "The alias must be 6-25 characters long", - "NAME_EXISTS": "Alias name already exists", - "NO_MONEY": "You do not have enough funds to assign this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "ONE_ALIAS": "You can create only one alias per wallet", - "REQUEST_ADD_REG": "The alias will be assigned within 10 minutes" - }, - "EDIT_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "NO_MONEY": "You do not have enough funds to change the comment to this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "COST": "Fee {{value}} {{currency}}", - "BUTTON_EDIT": "Edit" - }, - "TRANSFER_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "ADDRESS": { - "LABEL": "Transfer to", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "WRONG_ADDRESS": "No wallet with this account exists", - "ALIAS_EXISTS": "This account already has an alias", - "NO_MONEY": "You do not have enough funds to transfer this alias" - }, - "COST": "Transfer fee {{value}} {{currency}}", - "BUTTON_TRANSFER": "Transfer", - "BUTTON_CANCEL": "Cancel", - "REQUEST_SEND_REG": "The alias will be transferred within 10 minutes" - }, - "SEND": { - "ADDRESS": "Address", - "AMOUNT": "Amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "MIXIN": "Mixin", - "FEE": "Fee", - "HIDE": "Hide your wallet address from recipient", - "BUTTON": "Send", - "SUCCESS_SENT": "Transaction sent", - "FORM_ERRORS": { - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "ALIAS_NOT_VALID": "Alias not valid", - "AMOUNT_REQUIRED": "Amount is required", - "AMOUNT_ZERO": "Amount is zero", - "FEE_REQUIRED": "Fee is required", - "FEE_MINIMUM": "Minimum fee: {{fee}}", - "MAX_LENGTH": "Maximum comment length reached" - } - }, - "HISTORY": { - "STATUS": "Status", - "STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}", - "LOCK_TOOLTIP": "Locked till {{date}}", - "SEND": "Sent", - "RECEIVED": "Received", - "DATE": "Date", - "AMOUNT": "Amount", - "FEE": "Fee", - "ADDRESS": "Address", - "DETAILS": { - "PAYMENT_ID": "Payment ID", - "ID": "Transaction ID", - "SIZE": "Transaction size", - "SIZE_VALUE": "{{value}} bytes", - "HEIGHT": "Height", - "CONFIRMATION": "Confirmation", - "INPUTS": "Inputs", - "OUTPUTS": "Outputs", - "COMMENT": "Comment" - }, - "TYPE_MESSAGES": { - "HIDDEN": "hidden", - "UNDEFINED": "Undefined", - "COMPLETE_BUYER": "Contract completed", - "COMPLETE_SELLER": "Contract completed", - "CREATE_ALIAS": "Fee for assigning alias", - "UPDATE_ALIAS": "Fee for editing alias", - "POW_REWARD": "POW reward", - "POS_REWARD": "POS reward", - "CREATE_CONTRACT": "Contract proposal", - "PLEDGE_CONTRACT": "Contract deposit", - "NULLIFY_CONTRACT": "Burn deposits", - "PROPOSAL_CANCEL_CONTRACT": "Cancellation request", - "CANCEL_CONTRACT": "Cancel and return deposits" - } - }, - "CONTRACTS": { - "EMPTY": "No active contracts", - "CONTRACTS": "Contracts", - "PURCHASE": "Purchase", - "SELL": "Sell", - "DATE": "Date", - "AMOUNT": "Amount", - "STATUS": "Status", - "COMMENTS": "Comments", - "PURCHASE_BUTTON": "New Purchase", - "LISTING_BUTTON": "Create listing", - "TIME_LEFT": { - "REMAINING_LESS_ONE": "Less than an hour to respond", - "REMAINING_ONE": "{{time}} hour remains", - "REMAINING_MANY": "{{time}} hours remain", - "REMAINING_MANY_ALT": "{{time}} hours remain", - "REMAINING_ONE_RESPONSE": "{{time}} hour remains", - "REMAINING_MANY_RESPONSE": "{{time}} hours remain", - "REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain", - "REMAINING_ONE_WAITING": "Waiting for {{time}} hour", - "REMAINING_MANY_WAITING": "Waiting for {{time}} hours", - "REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours" - }, - "STATUS_MESSAGES": { - "SELLER": { - "NEW_CONTRACT": "New contract proposal", - "IGNORED": "You ignored contract proposal", - "ACCEPTED": "Contract started", - "WAIT": "Waiting for contract confirmation", - "WAITING_BUYER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "You ignored cancellation proposal", - "EXPIRED": "Contract proposal has expired" - }, - "BUYER": { - "WAITING": "Waiting for response", - "IGNORED": "Seller ignored your contract proposal", - "ACCEPTED": "Seller accepted your contract proposal", - "WAIT": "Waiting for deposits confirmation", - "WAITING_SELLER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "WAITING_CANCEL": "Waiting for contract cancellation", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract", - "EXPIRED": "The contract proposal has expired" - } - } - }, - "PURCHASE": { - "DESCRIPTION": "Description", - "SELLER": "Seller", - "AMOUNT": "Amount", - "YOUR_DEPOSIT": "Your deposit", - "SELLER_DEPOSIT": "Seller deposit", - "BUYER_DEPOSIT": "Buyer deposit", - "SAME_AMOUNT": "Same amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "SEND_BUTTON": "Send", - "FORM_ERRORS": { - "DESC_REQUIRED": "Description required", - "DESC_MAXIMUM": "Maximum field length reached", - "SELLER_REQUIRED": "Address required", - "SELLER_NOT_VALID": "Invalid address", - "ALIAS_NOT_VALID": "Invalid alias", - "AMOUNT_REQUIRED": "Amount required", - "AMOUNT_ZERO": "Amount cannot be zero", - "YOUR_DEPOSIT_REQUIRED": "Deposit required", - "SELLER_DEPOSIT_REQUIRED": "Seller deposit required", - "SELLER_SAME": "Use separate account", - "COMMENT_MAXIMUM": "Maximum field length reached" - }, - "PROGRESS_NEW": "New purchase", - "PROGRESS_WAIT": "Awaiting reply", - "PROGRESS_RECEIVE": "Reply received", - "PROGRESS_COMPLETE": "Completed", - "FEE": "Fee", - "PAYMENT": "Payment ID", - "STATUS_MESSAGES": { - "NEW_PURCHASE": "New purchase", - "WAITING_SELLER": "Waiting for response", - "WAITING_BUYER": "Contract proposal received", - "WAITING_CONFIRMATION": "Waiting for deposits confirmation", - "WAITING_DELIVERY": "Waiting for delivery", - "COMPLETED": "Contract completed", - "IGNORED_BUYER": "Contract proposal ignored", - "IGNORED_SELLER": "The seller ignored your contract proposal", - "PROPOSAL_CANCEL_SELLER": "Cancellation request sent", - "PROPOSAL_CANCEL_BUYER": "Cancellation request received", - "BEING_CANCELLED": "Cancellation in progress", - "IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract", - "IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored", - "CANCELLED": "Contract canceled", - "EXPIRED": "Contract proposal expired", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned" - }, - "ACCEPT_STATE_WAIT_BIG": "Contract started", - "IGNORED_ACCEPT": "Contract proposal ignored", - "BURN_PROPOSAL": "Deposits burned", - "SUCCESS_FINISH_PROPOSAL": "Contract completed", - "SEND_CANCEL_PROPOSAL": "Cancellation request sent", - "IGNORED_CANCEL": "Contract cancellation proposal ignored", - "DEALS_CANCELED_WAIT": "Cancellation in progress", - "WAITING_TIME": "Response time", - "NEED_MONEY": "Insufficient funds", - "BUTTON_MAKE_PLEDGE": "Accept and make deposit", - "BUTTON_IGNORE": "Ignore and hide offer", - "BUTTON_NULLIFY": "Terminate and burn deposits", - "BUTTON_RECEIVED": "Complete and release deposits", - "BUTTON_CANCEL_BUYER": "Cancel and return deposits", - "BUTTON_NOT_CANCEL": "Ignore request", - "BUTTON_CANCEL_SELLER": "Confirm and return deposits", - "HOUR": "hour", - "HOURS": "hours", - "CANCEL": "Cancel", - "NULLIFY_QUESTION": "Are you sure you want to burn both deposits?", - "BUTTON_NULLIFY_SHORT": "Burn", - "WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?" - }, - "MESSAGES": { - "ADDRESS": "Address", - "MESSAGE": "Message", - "SEND_PLACEHOLDER": "Type a message...", - "SEND_BUTTON": "Send" - }, - "MODALS": { - "ERROR": "Error", - "SUCCESS": "Success", - "INFO": "Information", - "OK": "OK" - }, - "CONFIRM": { - "BUTTON_CONFIRM": "Send", - "BUTTON_CANCEL": "Cancel", - "TITLE": "Confirm transaction", - "MESSAGE": { - "SEND": "Send", - "FROM": "From", - "TO": "To", - "COMMENT": "Comment" - } - }, - "STAKING": { - "TITLE": "Staking", - "TITLE_PENDING": "Pending", - "TITLE_TOTAL": "Total", - "TITLE_PERIOD": "Time period:", - "PERIOD": { - "WEEK1": "1 week", - "WEEK2": "2 week", - "MONTH1": "1 month", - "MONTH3": "3 month", - "MONTH6": "6 month", - "YEAR": "1 year", - "ALL": "All" - }, - "TITLE_GROUP": "Group:", - "GROUP": { - "DAY": "day", - "WEEK": "week", - "MONTH": "month" - }, - "SWITCH": { - "ON": "ON", - "OFF": "OFF" - } - }, - "CONTACTS": { - "TITLE": "Contact list", - "IMPORT_EXPORT": "Import or export contacts", - "IMPORT": "Import", - "EXPORT": "Export", - "ADD": "Add/edit contact", - "SEND": "Send", - "SEND_FROM": "Send from", - "SEND_TO": "To", - "OPEN_ADD_WALLET": "Open/Add wallet", - "COPY": "- Copy", - "TABLE": { - "NAME": "Name", - "ALIAS": "Alias", - "ADDRESS": "Address", - "NOTES": "Notes", - "EMPTY": "Contact list is empty" - }, - "FORM": { - "NAME": "Name", - "ADDRESS": "Address", - "NOTES": "Notes" - }, - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUBLICATED": "Name is dublicated", - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "SET_MASTER_PASSWORD": "Set master password", - "ADDRESS_DUBLICATED": "Address is dublicated", - "MAX_LENGTH": "Maximum notes length reached", - "NAME_LENGTH": "The name must be 4-25 characters long" - }, - "BUTTON": { - "SEND": "Send", - "EDIT": "Edit", - "DELETE": "Delete", - "ADD": "Add contact", - "ADD_EDIT": "Add/Save", - "GO_TO_WALLET": "Go to wallet", - "IMPORT_EXPORT": "Import/export" - }, - "SUCCESS_SENT": "Contact added", - "SUCCESS_SAVE": "Contact is edited", - "SUCCESS_IMPORT": "Contacts are imported", - "SUCCESS_EXPORT": "Contacts are exported", - "ERROR_IMPORT": "Error is occured while reading file!", - "ERROR_TYPE_FILE": "Please import valid .csv file", - "ERROR_EXPORT": "Invalid file type. Save file as .csv", - "ERROR_EMPTY_LIST": "Contact list is empty", - "ERROR_IMPORT_EMPTY": "File is empty" - }, - "ERRORS": { - "NO_MONEY": "Not enough money", - "NOT_ENOUGH_MONEY": "Insufficient funds in account", - "CORE_BUSY": "Internal error: core is busy", - "DAEMON_BUSY": "Internal error: daemon is busy", - "NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet", - "NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with", - "TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions", - "TRANSFER_ATTEMPT": "There is no connection to Zano network", - "ACCESS_DENIED": "Access denied", - "TRANSACTION_ERROR": "Error. Transaction not completed.", - "BAD_ARG": "Invalid argument", - "WALLET_WRONG_ID": "Invalid wallet ID", - "WRONG_PASSWORD": "Invalid password", - "FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain", - "FILE_NOT_FOUND": "File not found", - "FILE_EXIST": "A file with that name already exists. Enter another name to save the file under", - "FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.", - "TX_TYPE_NORMAL": "Error. The payment from the wallet", - "TX_TYPE_NORMAL_TO": "to", - "TX_TYPE_NORMAL_END": "was not completed.", - "TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe", - "TX_TYPE_NEW_ALIAS_END": "Please try again.", - "TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe", - "TX_TYPE_COIN_BASE": "Error. The payment was not completed." - }, - "CONTEXT_MENU": { - "COPY": "copy", - "PASTE": "paste", - "SELECT": "select all" - }, - "BACKEND_LOCALIZATION": { - "QUIT": "Quit", - "IS_RECEIVED": "", - "IS_CONFIRMED": "", - "INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)", - "INCOME_TRANSFER_CONFIRMED": "Payment received", - "MINED": "Mined", - "LOCKED": "Blocked", - "IS_MINIMIZE": "Zano application is minimized to the system tray", - "RESTORE": "You can recover it by clicking or using the context menu", - "TRAY_MENU_SHOW": "Resize", - "TRAY_MENU_MINIMIZE": "Minimize" - } -} diff --git a/src/gui/qt-daemon/html/assets/i18n/fr.json b/src/gui/qt-daemon/html/assets/i18n/fr.json deleted file mode 100644 index 6ecf4c04..00000000 --- a/src/gui/qt-daemon/html/assets/i18n/fr.json +++ /dev/null @@ -1,593 +0,0 @@ -{ - "LOGIN": { - "SETUP_MASTER_PASS": "Configurer le mot de passe principal", - "SETUP_CONFIRM_PASS": "Confirmer le mot de passe", - "MASTER_PASS": "Mot de passe principal", - "BUTTON_NEXT": "Suivant", - "BUTTON_SKIP": "Sauter", - "BUTTON_RESET": "Réinitialiser", - "INCORRECT_PASSWORD": "Mot de passe invalide", - "FORM_ERRORS": { - "PASS_REQUIRED": "Mot de passe requis", - "CONFIRM_REQUIRED": "Confirmation requise", - "MISMATCH": "Non-concordant" - } - }, - "COMMON": { - "BACK": "Retour" - }, - "BREADCRUMBS": { - "ADD_WALLET": "Ajouter un portefeuille", - "CREATE_WALLET": "Créer un nouveau portefeuille", - "SAVE_PHRASE": "Enregistrer votre phrase de sécurité", - "OPEN_WALLET": "Ouvrir un portefeuille existant", - "RESTORE_WALLET": "Restaurer depuis une sauvegarde", - "WALLET_DETAILS": "Détails du portefeuille", - "ASSIGN_ALIAS": "Assigner un alias", - "EDIT_ALIAS": "Modifier l'alias", - "TRANSFER_ALIAS": "Transférer l'alias", - "CONTRACTS": "Contrats", - "NEW_PURCHASE": "Nouvel achat", - "OLD_PURCHASE": "Achat" - }, - "SIDEBAR": { - "TITLE": "Portefeuilles", - "ADD_NEW": "+ Ajouter", - "ACCOUNT": { - "STAKING": "Mise", - "MESSAGES": "Nouvelles offres/Messages", - "SYNCING": "Synchronisation du portefeuille" - }, - "CONTACTS": "Contacts", - "SETTINGS": "Paramètres", - "LOG_OUT": "Déconnexion", - "SYNCHRONIZATION": { - "OFFLINE": "Hors ligne", - "ONLINE": "En ligne", - "ERROR": "Erreur de système", - "COMPLETE": "Fermeture", - "SYNCING": "Syncing block", - "LOADING": "Chargement des données de la blockchain" - }, - "UPDATE": { - "STANDARD": "Mise à jour disponible", - "STANDARD_TOOLTIP": "Mise à jour.
      La mise à jour est recommandée.", - "IMPORTANT": "Mise à jour disponible", - "IMPORTANT_HINT": "Mise à jour importante !", - "IMPORTANT_TOOLTIP": "Mise à jour.
      La mise à jour est recommandée.", - "CRITICAL": "Mise à jour disponible", - "CRITICAL_HINT": "Mise à jour critique !", - "CRITICAL_TOOLTIP": "Mise à jour critique disponible.Mise à jour fortement recommandée.", - "TIME": "Le temps du système diffère de celui du réseau", - "TIME_TOOLTIP": "Mauvais temps de système
      Vérifier et corriger votre temps de système." - } - }, - "MAIN": { - "TITLE": "Créer ou ouvrir le portefeuille pour commencer à utiliser Zano", - "BUTTON_NEW_WALLET": "Créer un nouveau portefeuille", - "BUTTON_OPEN_WALLET": "Ouvrir un portefeuille existant", - "BUTTON_RESTORE_BACKUP": "Restaurer depuis une sauvegarde", - "HELP": "Comment créer un portefeuille ?", - "CHOOSE_PATH": "Veuillez choisir un chemin" - }, - "CREATE_WALLET": { - "NAME": "Nom du portefeuille", - "PASS": "Définir le mot de passe du portefeuille", - "CONFIRM": "Confirmer le mot de passe du portefeuille", - "BUTTON_SELECT": "Sélectionner l'emplacement du portefeuille", - "BUTTON_CREATE": "Créer un portefeuille", - "TITLE_SAVE": "Enregistrer le fichier du portefeuille.", - "ERROR_CANNOT_SAVE_TOP": "Les fichiers de portefeuille existants ne peuvent pas être remplacés ou écrasés", - "ERROR_CANNOT_SAVE_SYSTEM": "Les fichiers de portefeuille ne peuvent pas être sauvegardés sur la partition du OS", - "FORM_ERRORS": { - "NAME_REQUIRED": "Le nom est requis", - "NAME_DUPLICATE": "Nom déjà utilisé", - "MAX_LENGTH": "Longueur maximale du nom atteinte", - "CONFIRM_NOT_MATCH": "La confirmation du mot de passe ne correspond pas" - } - }, - "OPEN_WALLET": { - "NAME": "Nom du portefeuille", - "PASS": "Mot de passe du portefeuille", - "BUTTON": "Ouvrir un portefeuille", - "WITH_ADDRESS_ALREADY_OPEN": "Un portefeuille avec cette adresse est déjà ouvert", - "FILE_NOT_FOUND1": "Fichier de portefeuille introuvable", - "FILE_NOT_FOUND2": "

      Il aurait peut-être été renommé ou déplacé.
      Pour l'ouvrir, utilisez le bouton \"Ouvrir le portefeuille\".", - "FORM_ERRORS": { - "NAME_REQUIRED": "Le nom est requis", - "NAME_DUPLICATE": "Nom déjà utilisé", - "MAX_LENGTH": "Longueur maximale du nom atteinte" - }, - "MODAL": { - "TITLE": "Entrer le mot de passe du portefeuille", - "LABEL": "Mot de passe de ce portefeuille", - "OPEN": "Ouvrir un portefeuille", - "SKIP": "Sauter", - "NOT_FOUND": "Introuvable" - } - }, - "RESTORE_WALLET": { - "LABEL_NAME": "Nom du portefeuille", - "LABEL_PHRASE_KEY": "Phrase de sécurité / clé privée", - "PASS": "Mot de passe du portefeuille", - "CONFIRM": "Confirmer le mot de passe du portefeuille", - "BUTTON_SELECT": "Sélectionner l'emplacement du portefeuille", - "BUTTON_CREATE": "Créer un portefeuille", - "NOT_CORRECT_FILE_OR_PASSWORD": "Le fichier est invalide ou mot de passe du portefeuille ne correspond pas", - "CHOOSE_PATH": "Veuillez choisir un chemin", - "FORM_ERRORS": { - "NAME_REQUIRED": "Le nom est requis", - "NAME_DUPLICATE": "Nom déjà utilisé", - "MAX_LENGTH": "Longueur maximale atteinte", - "CONFIRM_NOT_MATCH": "La confirmation du mot de passe ne correspond pas", - "KEY_REQUIRED": "Clé requise", - "KEY_NOT_VALID": "Clé invalide" - } - }, - "SEED_PHRASE": { - "TITLE": "Assurez-vous de garder votre phrase de sécurité dans un endroit sûr. Si vous oubliez votre phrase de sécurité, vous ne pourrez pas récupérer votre portefeuille.", - "BUTTON_CREATE_ACCOUNT": "Créer un portefeuille", - "BUTTON_COPY": "Copier" - }, - "PROGRESS": { - "ADD_WALLET": "Ajouter un portefeuille", - "SELECT_LOCATION": "Sélectionner l'emplacement du portefeuille", - "CREATE_WALLET": "Créer un nouveau portefeuille", - "RESTORE_WALLET": "Restaurer depuis une sauvegarde" - }, - "SETTINGS": { - "TITLE": "Paramètres", - "DARK_THEME": "Thème sombre", - "WHITE_THEME": "Thème blanc", - "GRAY_THEME": "Thème gris", - "APP_LOCK": { - "TITLE": "Verrouiller l'application après :", - "TIME1": "5 min", - "TIME2": "15 min", - "TIME3": "1 heure", - "TIME4": "Jamais" - }, - "SCALE": { - "75": "75% échelle", - "100": "100% échelle", - "125": "125% échelle", - "150": "150% échelle" - }, - "MASTER_PASSWORD": { - "TITLE": "Mettre à jour le mot de passe principal", - "OLD": "Ancien mot de passe", - "NEW": "Nouveau mot de passe", - "CONFIRM": "Confirmer le mot de passe", - "BUTTON": "Enregistrer" - }, - "FORM_ERRORS": { - "PASS_REQUIRED": "Mot de passe requis", - "PASS_NOT_MATCH": "Ancien mot de passe non correspondant", - "CONFIRM_NOT_MATCH": "La confirmation du mot de passe ne correspond pas" - }, - "LAST_BUILD": "Version actuelle : {{value}}", - "APP_LOG_TITLE": "Niveau de log :" - }, - "WALLET": { - "REGISTER_ALIAS": "Enregistrer un alias", - "DETAILS": "Détails", - "LOCK": "Verrouillage", - "AVAILABLE_BALANCE": "Disponible {{available}} {{currency}}", - "LOCKED_BALANCE": "Vérouillé{{locked}}{{currency}}", - "LOCKED_BALANCE_LINK": "Que signifie cela?", - "TABS": { - "SEND": "Envoyer", - "RECEIVE": "Recevoir", - "HISTORY": "Historique", - "CONTRACTS": "Contrats", - "MESSAGES": "Messages", - "STAKING": "Mise" - } - }, - "WALLET_DETAILS": { - "LABEL_NAME": "Nom du portefeuille", - "LABEL_FILE_LOCATION": "Emplacement du fichier de portefeuille", - "LABEL_SEED_PHRASE": "Phrase de sécurité", - "SEED_PHRASE_HINT": "Cliquez pour révéler la phrase de sécurité", - "BUTTON_SAVE": "Enregistrer", - "BUTTON_REMOVE": "Fermer le portefeuille", - "FORM_ERRORS": { - "NAME_REQUIRED": "Le nom est requis", - "NAME_DUPLICATE": "Nom déjà utilisé", - "MAX_LENGTH": "Longueur maximale atteinte" - } - }, - "ASSIGN_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": " Entrer l'alias", - "TOOLTIP": "Un alias est une forme abréviée pour votre compte. Un alias ne peut inclure que des lettres, des chiffres et des caractères latins « » et « - ». Il doit commencer par « @ »." - }, - "COMMENT": { - "LABEL": "Commentaire", - "PLACEHOLDER": "", - "TOOLTIP": "Le commentaire sera visible à quiconque souhaite effectuer un paiement à votre alias. Vous pouvez fournir des détails sur votre entreprise, vos informations de contact ou inclure tout texte. Les commentaires peuvent être modifiés plus tard." - }, - "COST": "Frais d'alias {{value}} {{currency}}", - "BUTTON_ASSIGN": "Assigner", - "FORM_ERRORS": { - "NAME_REQUIRED": "Le nom est requis", - "NAME_WRONG": "Nom invalide: symboles autorisés \"0-9\", \"a-z\", \"-\", \".\"", - "NAME_LENGTH": "L'alias doit contenir 6-25 caractères", - "NAME_EXISTS": "Alias déjà existant", - "NO_MONEY": "Vous n'avez pas assez de fonds pour assigner cet alias", - "MAX_LENGTH": "Longueur maximale du commentaire atteinte" - }, - "ONE_ALIAS": "Vous pouvez créer un seul alias par portefeuille", - "REQUEST_ADD_REG": "L'alias sera assigné dans les 10 prochaines minutes" - }, - "EDIT_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Entrer l'alias" - }, - "COMMENT": { - "LABEL": "Commentaire", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "NO_MONEY": "Vous n'avez pas assez de fonds pour changer le commentaire de cet alias", - "MAX_LENGTH": "Longueur maximale du commentaire atteinte" - }, - "COST": "Frais {{value}} {{currency}}", - "BUTTON_EDIT": "Modifier" - }, - "TRANSFER_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Entrer l'alias" - }, - "COMMENT": { - "LABEL": "Commentaire", - "PLACEHOLDER": "" - }, - "ADDRESS": { - "LABEL": "Transférer à", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "WRONG_ADDRESS": "Aucun portefeuille avec ce compte n'existe", - "ALIAS_EXISTS": "Ce compte a déjà un alias", - "NO_MONEY": "Vous n'avez pas assez de fonds pour transférer cet alias" - }, - "COST": "Frais de transfert {{value}} {{currency}}", - "BUTTON_TRANSFER": "Transférer", - "BUTTON_CANCEL": "Annuler", - "REQUEST_SEND_REG": "L'alias sera transféré dans les 10 prochaines minutes" - }, - "SEND": { - "ADDRESS": "Adresse", - "AMOUNT": "Montant", - "COMMENT": "Commentaire", - "DETAILS": "Détails supplémentaires", - "MIXIN": "Mélange", - "FEE": "Frais", - "HIDE": "Masquer votre adresse de portefeuille au destinataire", - "BUTTON": "Envoyer", - "SUCCESS_SENT": "Transaction envoyée", - "FORM_ERRORS": { - "ADDRESS_REQUIRED": "Adresse requise", - "ADDRESS_NOT_VALID": "Addresse invalide", - "ALIAS_NOT_VALID": "Alias non valide", - "AMOUNT_REQUIRED": "Le Montant est requis", - "AMOUNT_ZERO": "Le montant est zéro", - "FEE_REQUIRED": "Les frais sont requis", - "FEE_MINIMUM": "Frais minimum : {{fee}}", - "MAX_LENGTH": "Longueur maximale du commentaire atteinte" - } - }, - "HISTORY": { - "STATUS": "Statut", - "STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}", - "LOCK_TOOLTIP": "Verrouillé jusqu'à {{date}}", - "SEND": "Envoyé", - "RECEIVED": "Reçu", - "DATE": "Date", - "AMOUNT": "Montant", - "FEE": "Frais", - "ADDRESS": "Adresse", - "DETAILS": { - "PAYMENT_ID": "ID de paiement", - "ID": "ID de transaction", - "SIZE": "Taille de la transaction", - "SIZE_VALUE": "{{value}} octets", - "HEIGHT": "Hauteur", - "CONFIRMATION": "Confirmation", - "INPUTS": "Entrées", - "OUTPUTS": "Sorties", - "COMMENT": "Commentaire" - }, - "TYPE_MESSAGES": { - "HIDDEN": "caché", - "UNDEFINED": "Non défini", - "COMPLETE_BUYER": "Contrat complété", - "COMPLETE_SELLER": "Contrat complété", - "CREATE_ALIAS": "Frais pour assigner l'alias", - "UPDATE_ALIAS": "Frais pour modifier l'alias", - "POW_REWARD": "Récompense POW", - "POS_REWARD": "Récompense POS", - "CREATE_CONTRACT": "Proposition de contrat", - "PLEDGE_CONTRACT": "Dépôt de contrat", - "NULLIFY_CONTRACT": "Brûler les dépôts", - "PROPOSAL_CANCEL_CONTRACT": "Demande d'annulation", - "CANCEL_CONTRACT": "Annuler et retourner les dépôts" - } - }, - "CONTRACTS": { - "EMPTY": "Aucun contrat actif", - "CONTRACTS": "Contrats", - "PURCHASE": "Achat", - "SELL": "Vendre", - "DATE": "Date", - "AMOUNT": "Montant", - "STATUS": "Statut", - "COMMENTS": "Commentaires", - "PURCHASE_BUTTON": "Nouvel achat", - "LISTING_BUTTON": "Créer une offre", - "TIME_LEFT": { - "REMAINING_LESS_ONE": "Moins d'une heure pour répondre", - "REMAINING_ONE": "{{time}} heure restante", - "REMAINING_MANY": "{{time}} heures restantes", - "REMAINING_MANY_ALT": "{{time}} heures restantes", - "REMAINING_ONE_RESPONSE": "{{time}} heure restante", - "REMAINING_MANY_RESPONSE": "{{time}} heures restantes", - "REMAINING_MANY_ALT_RESPONSE": "{{time}} heures restantes", - "REMAINING_ONE_WAITING": "En attente de {{time}}  heure", - "REMAINING_MANY_WAITING": "En attente de {{time}} heures", - "REMAINING_MANY_ALT_WAITING": "En attente de {{time}} heures" - }, - "STATUS_MESSAGES": { - "SELLER": { - "NEW_CONTRACT": "Nouvelle proposition de contrat", - "IGNORED": "Vous avez ignoré la proposition de contrat", - "ACCEPTED": "Contrat démarré", - "WAIT": "En attente de confirmation du contrat", - "WAITING_BUYER": "En attente de livraison", - "COMPLETED": "Contrat terminé", - "NOT_RECEIVED": "Échec de la livraison", - "NULLIFIED": "Tous les dépôts ont été brûlés", - "PROPOSAL_CANCEL": "Nouvelle proposition d'annulation de contrat et retour des dépôts", - "BEING_CANCELLED": "Annulation en cours", - "CANCELLED": "Contrat annulé", - "IGNORED_CANCEL": "Vous avez ignoré la proposition d'annulation", - "EXPIRED": "La proposition de contrat a expiré" - }, - "BUYER": { - "WAITING": "En attente d'une réponse", - "IGNORED": "Le vendeur a ignoré votre proposition de contrat", - "ACCEPTED": "Le vendeur a accepté votre proposition de contrat", - "WAIT": "En attente de confirmation des dépôts", - "WAITING_SELLER": "En attente de livraison", - "COMPLETED": "Contrat complété", - "NOT_RECEIVED": "Échec de la livraison", - "NULLIFIED": "Tous les dépôts ont été brûlés", - "WAITING_CANCEL": "En attente d'annulation du contrat", - "BEING_CANCELLED": "Annulation en cours", - "CANCELLED": "Contrat annulé", - "IGNORED_CANCEL": "Le vendeur a ignoré votre proposition d'annuler le contrat", - "EXPIRED": "La proposition de contrat a expiré" - } - } - }, - "PURCHASE": { - "DESCRIPTION": "Description", - "SELLER": "Vendeur", - "AMOUNT": "Montant", - "YOUR_DEPOSIT": "Votre dépôt", - "SELLER_DEPOSIT": "Dépôt du vendeur", - "BUYER_DEPOSIT": "Dépôt d'acheteur", - "SAME_AMOUNT": "Montant identique", - "COMMENT": "Commentaire", - "DETAILS": "Détails supplémentaires", - "SEND_BUTTON": "Envoyer", - "FORM_ERRORS": { - "DESC_REQUIRED": "Description requise", - "DESC_MAXIMUM": "Longueur maximale du champ atteinte", - "SELLER_REQUIRED": "Adresse requise", - "SELLER_NOT_VALID": "Adresse invalide", - "ALIAS_NOT_VALID": "Alias invalide", - "AMOUNT_REQUIRED": "Montant requis", - "AMOUNT_ZERO": "Le montant ne peut pas être nul", - "YOUR_DEPOSIT_REQUIRED": "Dépôt requis", - "SELLER_DEPOSIT_REQUIRED": "Dépôt de vendeur requis", - "SELLER_SAME": "Utiliser un compte séparé", - "COMMENT_MAXIMUM": "Longueur maximale du champ atteinte" - }, - "PROGRESS_NEW": "Nouvel achat", - "PROGRESS_WAIT": "En attente d'une réponse", - "PROGRESS_RECEIVE": "Réponse reçue", - "PROGRESS_COMPLETE": "Complété", - "FEE": "Frais", - "PAYMENT": "ID de paiement", - "STATUS_MESSAGES": { - "NEW_PURCHASE": "Nouvel achat", - "WAITING_SELLER": "En attente d'une réponse", - "WAITING_BUYER": "Proposition de contrat reçue", - "WAITING_CONFIRMATION": "En attente de confirmation des dépôts", - "WAITING_DELIVERY": "En attente de livraison", - "COMPLETED": "Contrat complété", - "IGNORED_BUYER": "Proposition de contrat ignorée", - "IGNORED_SELLER": "Le vendeur a ignoré votre proposition de contrat", - "PROPOSAL_CANCEL_SELLER": "Demande d'annulation envoyée", - "PROPOSAL_CANCEL_BUYER": "Demande d'annulation reçue", - "BEING_CANCELLED": "Annulation en cours", - "IGNORED_CANCEL_SELLER": "Le vendeur a ignoré votre proposition d'annuler le contrat", - "IGNORED_CANCEL_BUYER": "Proposition d'annulation du contrat ignorée", - "CANCELLED": "Contrat annulé", - "EXPIRED": "Proposition de contrat expirée", - "NOT_RECEIVED": "Échec de la livraison", - "NULLIFIED": "Tous les dépôts ont été brûlés" - }, - "ACCEPT_STATE_WAIT_BIG": "Contrat débuté", - "IGNORED_ACCEPT": "Proposition de contrat ignorée", - "BURN_PROPOSAL": "Dépositions brûlées", - "SUCCESS_FINISH_PROPOSAL": "Contrat complété", - "SEND_CANCEL_PROPOSAL": "Demande d'annulation envoyée", - "IGNORED_CANCEL": "Proposition d'annulation du contrat ignorée", - "DEALS_CANCELED_WAIT": "Annulation en cours", - "WAITING_TIME": "Heure de réponse", - "NEED_MONEY": "Fonds insuffisants", - "BUTTON_MAKE_PLEDGE": "Accepter et effectuer un dépôt", - "BUTTON_IGNORE": "Ignorer et cacher l'offre", - "BUTTON_NULLIFY": "Terminer et brûler les dépôts", - "BUTTON_RECEIVED": "Compléter et libérer les dépôts", - "BUTTON_CANCEL_BUYER": "Annuler et retourner les dépôts", - "BUTTON_NOT_CANCEL": "Ignorer la requête", - "BUTTON_CANCEL_SELLER": "Confirmer et retourner les dépôts", - "HOUR": "heure", - "HOURS": "heures", - "CANCEL": "Annuler", - "NULLIFY_QUESTION": "Êtes-vous sûr de vouloir brûler les deux dépôts ?", - "BUTTON_NULLIFY_SHORT": "Brûler", - "WAITING_TIME_QUESTION": "Êtes-vous sûr de vouloir annuler le contrat ?" - }, - "MESSAGES": { - "ADDRESS": "Adresse", - "MESSAGE": "Message", - "SEND_PLACEHOLDER": "Tapez un message...", - "SEND_BUTTON": "Envoyer" - }, - "MODALS": { - "ERROR": "Erreur", - "SUCCESS": "Succès", - "INFO": "Information", - "OK": "OK" - }, - "CONFIRM": { - "BUTTON_CONFIRM": "Envoyer", - "BUTTON_CANCEL": "Annuler", - "TITLE": "Confirmer la transaction", - "MESSAGE": { - "SEND": "Envoyer", - "FROM": "De", - "TO": "À", - "COMMENT": "Commentaire" - } - }, - "STAKING": { - "TITLE": "Mise", - "TITLE_PENDING": "En attente", - "TITLE_TOTAL": "Total", - "TITLE_PERIOD": "Période de temps:", - "PERIOD": { - "WEEK1": "1 semaine", - "WEEK2": "2 semaines", - "MONTH1": "1 mois", - "MONTH3": "3 mois", - "MONTH6": "6 mois", - "YEAR": "1 an", - "ALL": "Tout" - }, - "TITLE_GROUP": "Groupe :", - "GROUP": { - "DAY": "jour", - "WEEK": "semaine", - "MONTH": "mois" - }, - "SWITCH": { - "ON": "ON", - "OFF": "OFF" - } - }, - "CONTACTS": { - "TITLE": "Liste de contacts", - "IMPORT_EXPORT": "Importer ou exporter des contacts", - "IMPORT": "Importer", - "EXPORT": "Exporter", - "ADD": "Ajouter/modifier un contact", - "SEND": "Envoyer", - "SEND_FROM": "Envoyer de", - "SEND_TO": "À", - "OPEN_ADD_WALLET": "Ouvrir/Ajouter un portefeuille", - "COPY": "- Copier", - "TABLE": { - "NAME": "Nom", - "ALIAS": "Alias", - "ADDRESS": "Adresse", - "NOTES": "Notes", - "EMPTY": "La liste de contacts est vide" - }, - "FORM": { - "NAME": "Nom", - "ADDRESS": "Adresse", - "NOTES": "Notes" - }, - "FORM_ERRORS": { - "NAME_REQUIRED": "Le nom est requis", - "NAME_DUBLICATED": "Nom déjà utilisé", - "ADDRESS_REQUIRED": "Adresse requise", - "ADDRESS_NOT_VALID": "Addresse invalide", - "SET_MASTER_PASSWORD": "Définir le mot de passe maître", - "ADDRESS_DUBLICATED": "L'addresse est dupliquée", - "MAX_LENGTH": "Longueur maximale des notes atteinte", - "NAME_LENGTH": "Le nom doit contenir 4-25 caractères" - }, - "BUTTON": { - "SEND": "Envoyer", - "EDIT": "Modifier", - "DELETE": "Supprimer", - "ADD": "Ajouter un contact", - "ADD_EDIT": "Ajouter/Enregistrer", - "GO_TO_WALLET": "Aller au portefeuille", - "IMPORT_EXPORT": "Importer/exporter" - }, - "SUCCESS_SENT": "Contact ajouté", - "SUCCESS_SAVE": "Contact modifié", - "SUCCESS_IMPORT": "Contacts are imported", - "SUCCESS_EXPORT": "Contacts are exported", - "ERROR_IMPORT": "Erreur lors de la lecture du fichier !", - "ERROR_TYPE_FILE": "Please import valid .csv file", - "ERROR_EXPORT": "Invalid file type. Save file as .csv", - "ERROR_EMPTY_LIST": "Contact list is empty", - "ERROR_IMPORT_EMPTY": "File is empty" - }, - "ERRORS": { - "NO_MONEY": "Pas assez de fonds", - "NOT_ENOUGH_MONEY": "Fonds insuffisants dans le compte", - "CORE_BUSY": "Erreur interne : le noyau est occupé", - "DAEMON_BUSY": "Erreur interne : le daemon est occupé", - "NO_MONEY_REMOVE_OFFER": "Il n'y a pas de frais pour supprimer une offre, mais pour protéger le réseau contre les transactions de spam, vous devez avoir au moins {{fee}} {{currency}} dans votre portefeuille", - "NOT_ENOUGH_OUTPUTS_TO_MIX": "Le nombre de mixage est trop grand pour l'état actuel de la blockchain. Il n'y a pas assez de sorties non utilisées pour mélanger avec", - "TRANSACTION_IS_TO_BIG": "La transaction dépasse la limite réseau, envoyez le montant requis avec plusieurs transactions", - "TRANSFER_ATTEMPT": "Il n'y a pas de connexion au réseau Zano", - "ACCESS_DENIED": "Accès refusé", - "TRANSACTION_ERROR": "Erreur. Transaction non complétée.", - "BAD_ARG": "Argument invalide", - "WALLET_WRONG_ID": "ID de portefeuille invalide", - "WRONG_PASSWORD": "Mot de passe invalide", - "FILE_RESTORED": "Le fichier de portefeuille a été corrompu. Nous avons récupéré les clés et le portefeuille de la blockchain", - "FILE_NOT_FOUND": "Fichier introuvable", - "FILE_EXIST": "Un fichier avec ce nom existe déjà. Entrez un autre nom pour enregistrer le fichier sous", - "FILE_NOT_SAVED": "Vous ne pouvez pas enregistrer un fichier de portefeuille dans ce dossier. Veuillez choisir un autre dossier.", - "TX_TYPE_NORMAL": "Erreur. paiement du portefeuille", - "TX_TYPE_NORMAL_TO": "à", - "TX_TYPE_NORMAL_END": "n'a pas été complété.", - "TX_TYPE_NEW_ALIAS": "Erreur. Impossible d'enregistrer l'alias dans la blockchain", - "TX_TYPE_NEW_ALIAS_END": "Veuillez réessayer.", - "TX_TYPE_UPDATE_ALIAS": "Erreur. Impossible de changer le commentaire de l'alias actuel", - "TX_TYPE_COIN_BASE": "Erreur. Le paiement n'a pas été complété." - }, - "CONTEXT_MENU": { - "COPY": "copier", - "PASTE": "coller", - "SELECT": "tout sélectionner" - }, - "BACKEND_LOCALIZATION": { - "QUIT": "Quitter", - "IS_RECEIVED": "", - "IS_CONFIRMED": "", - "INCOME_TRANSFER_UNCONFIRMED": "Paiement entrant (non confirmé)", - "INCOME_TRANSFER_CONFIRMED": "Paiement reçu", - "MINED": "Miné", - "LOCKED": "Bloqué", - "IS_MINIMIZE": "L'application Zano est minimisée dans la barre d'état", - "RESTORE": "Vous pouvez le récupérer en cliquant ou en utilisant le menu contextuel", - "TRAY_MENU_SHOW": "Redimensionner", - "TRAY_MENU_MINIMIZE": "Réduire" - } -} diff --git a/src/gui/qt-daemon/html/assets/i18n/he.json b/src/gui/qt-daemon/html/assets/i18n/he.json deleted file mode 100644 index 59e88fa0..00000000 --- a/src/gui/qt-daemon/html/assets/i18n/he.json +++ /dev/null @@ -1,593 +0,0 @@ -{ - "LOGIN": { - "SETUP_MASTER_PASS": "Setup master password", - "SETUP_CONFIRM_PASS": "Confirm the password", - "MASTER_PASS": "Master password", - "BUTTON_NEXT": "Next", - "BUTTON_SKIP": "Skip", - "BUTTON_RESET": "Reset", - "INCORRECT_PASSWORD": "Invalid password", - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "CONFIRM_REQUIRED": "Confirmation is required", - "MISMATCH": "Mismatch" - } - }, - "COMMON": { - "BACK": "Go back" - }, - "BREADCRUMBS": { - "ADD_WALLET": "Add wallet", - "CREATE_WALLET": "Create new wallet", - "SAVE_PHRASE": "Save your seed phrase", - "OPEN_WALLET": "Open existing wallet", - "RESTORE_WALLET": "Restore from backup", - "WALLET_DETAILS": "Wallet details", - "ASSIGN_ALIAS": "Assign alias", - "EDIT_ALIAS": "Edit alias", - "TRANSFER_ALIAS": "Transfer alias", - "CONTRACTS": "Contracts", - "NEW_PURCHASE": "New purchase", - "OLD_PURCHASE": "Purchase" - }, - "SIDEBAR": { - "TITLE": "Wallets", - "ADD_NEW": "+ Add", - "ACCOUNT": { - "STAKING": "Staking", - "MESSAGES": "New offers/Messages", - "SYNCING": "Syncing wallet" - }, - "CONTACTS": "Contacts", - "SETTINGS": "Settings", - "LOG_OUT": "Log out", - "SYNCHRONIZATION": { - "OFFLINE": "Offline", - "ONLINE": "Online", - "ERROR": "System error", - "COMPLETE": "Completion", - "SYNCING": "Syncing blockchain", - "LOADING": "Loading blockchain data" - }, - "UPDATE": { - "STANDARD": "Update available", - "STANDARD_TOOLTIP": "Get new update.
      Update is recommended!", - "IMPORTANT": "Update available", - "IMPORTANT_HINT": "Important update!", - "IMPORTANT_TOOLTIP": "Get new update.
      Important update!", - "CRITICAL": "Update available", - "CRITICAL_HINT": "Critical update!", - "CRITICAL_TOOLTIP": "Critical update available.Update strongly recommended!", - "TIME": "System time differs from network", - "TIME_TOOLTIP": "Wrong system time!
      Check and repair your system time." - } - }, - "MAIN": { - "TITLE": "Create or open the wallet to start using Zano", - "BUTTON_NEW_WALLET": "Create new wallet", - "BUTTON_OPEN_WALLET": "Open existing wallet", - "BUTTON_RESTORE_BACKUP": "Restore from backup", - "HELP": "How to create wallet?", - "CHOOSE_PATH": "Please choose a path" - }, - "CREATE_WALLET": { - "NAME": "Wallet name", - "PASS": "Set wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "TITLE_SAVE": "Save the wallet file.", - "ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten", - "ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match" - } - }, - "OPEN_WALLET": { - "NAME": "Wallet name", - "PASS": "Wallet password", - "BUTTON": "Open wallet", - "WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open", - "FILE_NOT_FOUND1": "Wallet file not found", - "FILE_NOT_FOUND2": "

      It might have been renamed or moved.
      To open it, use the \"Open wallet\" button.", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - }, - "MODAL": { - "TITLE": "Type wallet password", - "LABEL": "Password to this wallet", - "OPEN": "Open wallet", - "SKIP": "Skip", - "NOT_FOUND": "Not found" - } - }, - "RESTORE_WALLET": { - "LABEL_NAME": "Wallet name", - "LABEL_PHRASE_KEY": "Seed phrase / tracking seed", - "PASS": "Wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match", - "CHOOSE_PATH": "Please choose a path", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match", - "KEY_REQUIRED": "Key is required", - "KEY_NOT_VALID": "Key not valid" - } - }, - "SEED_PHRASE": { - "TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.", - "BUTTON_CREATE_ACCOUNT": "Create wallet", - "BUTTON_COPY": "Copy" - }, - "PROGRESS": { - "ADD_WALLET": "Add wallet", - "SELECT_LOCATION": "Select wallet location", - "CREATE_WALLET": "Create new wallet", - "RESTORE_WALLET": "Restore from backup" - }, - "SETTINGS": { - "TITLE": "Settings", - "DARK_THEME": "Dark theme", - "WHITE_THEME": "White theme", - "GRAY_THEME": "Grey theme", - "APP_LOCK": { - "TITLE": "Lock app after:", - "TIME1": "5 min", - "TIME2": "15 min", - "TIME3": "1 hour", - "TIME4": "Never" - }, - "SCALE": { - "75": "75% scale", - "100": "100% scale", - "125": "125% scale", - "150": "150% scale" - }, - "MASTER_PASSWORD": { - "TITLE": "Update master password", - "OLD": "Old password", - "NEW": "New password", - "CONFIRM": "New password confirmation", - "BUTTON": "Save" - }, - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "PASS_NOT_MATCH": "Old password not match", - "CONFIRM_NOT_MATCH": "Confirm password not match" - }, - "LAST_BUILD": "Current build: {{value}}", - "APP_LOG_TITLE": "Log level:" - }, - "WALLET": { - "REGISTER_ALIAS": "Register an alias", - "DETAILS": "Details", - "LOCK": "Lock", - "AVAILABLE_BALANCE": "Available {{available}} {{currency}}", - "LOCKED_BALANCE": "Locked {{locked}} {{currency}}", - "LOCKED_BALANCE_LINK": "What does that mean?", - "TABS": { - "SEND": "Send", - "RECEIVE": "Receive", - "HISTORY": "History", - "CONTRACTS": "Contracts", - "MESSAGES": "Messages", - "STAKING": "Staking" - } - }, - "WALLET_DETAILS": { - "LABEL_NAME": "Wallet name", - "LABEL_FILE_LOCATION": "Wallet file location", - "LABEL_SEED_PHRASE": "Seed phrase", - "SEED_PHRASE_HINT": "Click to reveal the seed phrase", - "BUTTON_SAVE": "Save", - "BUTTON_REMOVE": "Close wallet", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - } - }, - "ASSIGN_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": " Enter alias", - "TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”." - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "", - "TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later." - }, - "COST": "Alias fee {{value}} {{currency}}", - "BUTTON_ASSIGN": "Assign", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_WRONG": "Invalid name: allowed symbols \"0-9\", \"a-z\", \"-\", \".\"", - "NAME_LENGTH": "The alias must be 6-25 characters long", - "NAME_EXISTS": "Alias name already exists", - "NO_MONEY": "You do not have enough funds to assign this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "ONE_ALIAS": "You can create only one alias per wallet", - "REQUEST_ADD_REG": "The alias will be assigned within 10 minutes" - }, - "EDIT_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "NO_MONEY": "You do not have enough funds to change the comment to this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "COST": "Fee {{value}} {{currency}}", - "BUTTON_EDIT": "Edit" - }, - "TRANSFER_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "ADDRESS": { - "LABEL": "Transfer to", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "WRONG_ADDRESS": "No wallet with this account exists", - "ALIAS_EXISTS": "This account already has an alias", - "NO_MONEY": "You do not have enough funds to transfer this alias" - }, - "COST": "Transfer fee {{value}} {{currency}}", - "BUTTON_TRANSFER": "Transfer", - "BUTTON_CANCEL": "Cancel", - "REQUEST_SEND_REG": "The alias will be transferred within 10 minutes" - }, - "SEND": { - "ADDRESS": "Address", - "AMOUNT": "Amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "MIXIN": "Mixin", - "FEE": "Fee", - "HIDE": "Hide your wallet address from recipient", - "BUTTON": "Send", - "SUCCESS_SENT": "Transaction sent", - "FORM_ERRORS": { - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "ALIAS_NOT_VALID": "Alias not valid", - "AMOUNT_REQUIRED": "Amount is required", - "AMOUNT_ZERO": "Amount is zero", - "FEE_REQUIRED": "Fee is required", - "FEE_MINIMUM": "Minimum fee: {{fee}}", - "MAX_LENGTH": "Maximum comment length reached" - } - }, - "HISTORY": { - "STATUS": "Status", - "STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}", - "LOCK_TOOLTIP": "Locked till {{date}}", - "SEND": "Sent", - "RECEIVED": "Received", - "DATE": "Date", - "AMOUNT": "Amount", - "FEE": "Fee", - "ADDRESS": "Address", - "DETAILS": { - "PAYMENT_ID": "Payment ID", - "ID": "Transaction ID", - "SIZE": "Transaction size", - "SIZE_VALUE": "{{value}} bytes", - "HEIGHT": "Height", - "CONFIRMATION": "Confirmation", - "INPUTS": "Inputs", - "OUTPUTS": "Outputs", - "COMMENT": "Comment" - }, - "TYPE_MESSAGES": { - "HIDDEN": "hidden", - "UNDEFINED": "Undefined", - "COMPLETE_BUYER": "Contract completed", - "COMPLETE_SELLER": "Contract completed", - "CREATE_ALIAS": "Fee for assigning alias", - "UPDATE_ALIAS": "Fee for editing alias", - "POW_REWARD": "POW reward", - "POS_REWARD": "POS reward", - "CREATE_CONTRACT": "Contract proposal", - "PLEDGE_CONTRACT": "Contract deposit", - "NULLIFY_CONTRACT": "Burn deposits", - "PROPOSAL_CANCEL_CONTRACT": "Cancellation request", - "CANCEL_CONTRACT": "Cancel and return deposits" - } - }, - "CONTRACTS": { - "EMPTY": "No active contracts", - "CONTRACTS": "Contracts", - "PURCHASE": "Purchase", - "SELL": "Sell", - "DATE": "Date", - "AMOUNT": "Amount", - "STATUS": "Status", - "COMMENTS": "Comments", - "PURCHASE_BUTTON": "New Purchase", - "LISTING_BUTTON": "Create listing", - "TIME_LEFT": { - "REMAINING_LESS_ONE": "Less than an hour to respond", - "REMAINING_ONE": "{{time}} hour remains", - "REMAINING_MANY": "{{time}} hours remain", - "REMAINING_MANY_ALT": "{{time}} hours remain", - "REMAINING_ONE_RESPONSE": "{{time}} hour remains", - "REMAINING_MANY_RESPONSE": "{{time}} hours remain", - "REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain", - "REMAINING_ONE_WAITING": "Waiting for {{time}} hour", - "REMAINING_MANY_WAITING": "Waiting for {{time}} hours", - "REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours" - }, - "STATUS_MESSAGES": { - "SELLER": { - "NEW_CONTRACT": "New contract proposal", - "IGNORED": "You ignored contract proposal", - "ACCEPTED": "Contract started", - "WAIT": "Waiting for contract confirmation", - "WAITING_BUYER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "You ignored cancellation proposal", - "EXPIRED": "Contract proposal has expired" - }, - "BUYER": { - "WAITING": "Waiting for response", - "IGNORED": "Seller ignored your contract proposal", - "ACCEPTED": "Seller accepted your contract proposal", - "WAIT": "Waiting for deposits confirmation", - "WAITING_SELLER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "WAITING_CANCEL": "Waiting for contract cancellation", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract", - "EXPIRED": "The contract proposal has expired" - } - } - }, - "PURCHASE": { - "DESCRIPTION": "Description", - "SELLER": "Seller", - "AMOUNT": "Amount", - "YOUR_DEPOSIT": "Your deposit", - "SELLER_DEPOSIT": "Seller deposit", - "BUYER_DEPOSIT": "Buyer deposit", - "SAME_AMOUNT": "Same amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "SEND_BUTTON": "Send", - "FORM_ERRORS": { - "DESC_REQUIRED": "Description required", - "DESC_MAXIMUM": "Maximum field length reached", - "SELLER_REQUIRED": "Address required", - "SELLER_NOT_VALID": "Invalid address", - "ALIAS_NOT_VALID": "Invalid alias", - "AMOUNT_REQUIRED": "Amount required", - "AMOUNT_ZERO": "Amount cannot be zero", - "YOUR_DEPOSIT_REQUIRED": "Deposit required", - "SELLER_DEPOSIT_REQUIRED": "Seller deposit required", - "SELLER_SAME": "Use separate account", - "COMMENT_MAXIMUM": "Maximum field length reached" - }, - "PROGRESS_NEW": "New purchase", - "PROGRESS_WAIT": "Awaiting reply", - "PROGRESS_RECEIVE": "Reply received", - "PROGRESS_COMPLETE": "Completed", - "FEE": "Fee", - "PAYMENT": "Payment ID", - "STATUS_MESSAGES": { - "NEW_PURCHASE": "New purchase", - "WAITING_SELLER": "Waiting for response", - "WAITING_BUYER": "Contract proposal received", - "WAITING_CONFIRMATION": "Waiting for deposits confirmation", - "WAITING_DELIVERY": "Waiting for delivery", - "COMPLETED": "Contract completed", - "IGNORED_BUYER": "Contract proposal ignored", - "IGNORED_SELLER": "The seller ignored your contract proposal", - "PROPOSAL_CANCEL_SELLER": "Cancellation request sent", - "PROPOSAL_CANCEL_BUYER": "Cancellation request received", - "BEING_CANCELLED": "Cancellation in progress", - "IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract", - "IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored", - "CANCELLED": "Contract canceled", - "EXPIRED": "Contract proposal expired", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned" - }, - "ACCEPT_STATE_WAIT_BIG": "Contract started", - "IGNORED_ACCEPT": "Contract proposal ignored", - "BURN_PROPOSAL": "Deposits burned", - "SUCCESS_FINISH_PROPOSAL": "Contract completed", - "SEND_CANCEL_PROPOSAL": "Cancellation request sent", - "IGNORED_CANCEL": "Contract cancellation proposal ignored", - "DEALS_CANCELED_WAIT": "Cancellation in progress", - "WAITING_TIME": "Response time", - "NEED_MONEY": "Insufficient funds", - "BUTTON_MAKE_PLEDGE": "Accept and make deposit", - "BUTTON_IGNORE": "Ignore and hide offer", - "BUTTON_NULLIFY": "Terminate and burn deposits", - "BUTTON_RECEIVED": "Complete and release deposits", - "BUTTON_CANCEL_BUYER": "Cancel and return deposits", - "BUTTON_NOT_CANCEL": "Ignore request", - "BUTTON_CANCEL_SELLER": "Confirm and return deposits", - "HOUR": "hour", - "HOURS": "hours", - "CANCEL": "Cancel", - "NULLIFY_QUESTION": "Are you sure you want to burn both deposits?", - "BUTTON_NULLIFY_SHORT": "Burn", - "WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?" - }, - "MESSAGES": { - "ADDRESS": "Address", - "MESSAGE": "Message", - "SEND_PLACEHOLDER": "Type a message...", - "SEND_BUTTON": "Send" - }, - "MODALS": { - "ERROR": "Error", - "SUCCESS": "Success", - "INFO": "Information", - "OK": "OK" - }, - "CONFIRM": { - "BUTTON_CONFIRM": "Send", - "BUTTON_CANCEL": "Cancel", - "TITLE": "Confirm transaction", - "MESSAGE": { - "SEND": "Send", - "FROM": "From", - "TO": "To", - "COMMENT": "Comment" - } - }, - "STAKING": { - "TITLE": "Staking", - "TITLE_PENDING": "Pending", - "TITLE_TOTAL": "Total", - "TITLE_PERIOD": "Time period:", - "PERIOD": { - "WEEK1": "1 week", - "WEEK2": "2 week", - "MONTH1": "1 month", - "MONTH3": "3 month", - "MONTH6": "6 month", - "YEAR": "1 year", - "ALL": "All" - }, - "TITLE_GROUP": "Group:", - "GROUP": { - "DAY": "day", - "WEEK": "week", - "MONTH": "month" - }, - "SWITCH": { - "ON": "ON", - "OFF": "OFF" - } - }, - "CONTACTS": { - "TITLE": "Contact list", - "IMPORT_EXPORT": "Import or export contacts", - "IMPORT": "Import", - "EXPORT": "Export", - "ADD": "Add/edit contact", - "SEND": "Send", - "SEND_FROM": "Send from", - "SEND_TO": "To", - "OPEN_ADD_WALLET": "Open/Add wallet", - "COPY": "- Copy", - "TABLE": { - "NAME": "Name", - "ALIAS": "Alias", - "ADDRESS": "Address", - "NOTES": "Notes", - "EMPTY": "Contact list is empty" - }, - "FORM": { - "NAME": "Name", - "ADDRESS": "Address", - "NOTES": "Notes" - }, - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUBLICATED": "Name is dublicated", - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "SET_MASTER_PASSWORD": "Set master password", - "ADDRESS_DUBLICATED": "Address is dublicated", - "MAX_LENGTH": "Maximum notes length reached", - "NAME_LENGTH": "The name must be 4-25 characters long" - }, - "BUTTON": { - "SEND": "Send", - "EDIT": "Edit", - "DELETE": "Delete", - "ADD": "Add contact", - "ADD_EDIT": "Add/Save", - "GO_TO_WALLET": "Go to wallet", - "IMPORT_EXPORT": "Import/export" - }, - "SUCCESS_SENT": "Contact added", - "SUCCESS_SAVE": "Contact is edited", - "SUCCESS_IMPORT": "Contacts are imported", - "SUCCESS_EXPORT": "Contacts are exported", - "ERROR_IMPORT": "Error is occured while reading file!", - "ERROR_TYPE_FILE": "Please import valid .csv file", - "ERROR_EXPORT": "Invalid file type. Save file as .csv", - "ERROR_EMPTY_LIST": "Contact list is empty", - "ERROR_IMPORT_EMPTY": "File is empty" - }, - "ERRORS": { - "NO_MONEY": "Not enough money", - "NOT_ENOUGH_MONEY": "Insufficient funds in account", - "CORE_BUSY": "Internal error: core is busy", - "DAEMON_BUSY": "Internal error: daemon is busy", - "NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet", - "NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with", - "TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions", - "TRANSFER_ATTEMPT": "There is no connection to Zano network", - "ACCESS_DENIED": "Access denied", - "TRANSACTION_ERROR": "Error. Transaction not completed.", - "BAD_ARG": "Invalid argument", - "WALLET_WRONG_ID": "Invalid wallet ID", - "WRONG_PASSWORD": "Invalid password", - "FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain", - "FILE_NOT_FOUND": "File not found", - "FILE_EXIST": "A file with that name already exists. Enter another name to save the file under", - "FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.", - "TX_TYPE_NORMAL": "Error. The payment from the wallet", - "TX_TYPE_NORMAL_TO": "to", - "TX_TYPE_NORMAL_END": "was not completed.", - "TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe", - "TX_TYPE_NEW_ALIAS_END": "Please try again.", - "TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe", - "TX_TYPE_COIN_BASE": "Error. The payment was not completed." - }, - "CONTEXT_MENU": { - "COPY": "copy", - "PASTE": "paste", - "SELECT": "select all" - }, - "BACKEND_LOCALIZATION": { - "QUIT": "Quit", - "IS_RECEIVED": "", - "IS_CONFIRMED": "", - "INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)", - "INCOME_TRANSFER_CONFIRMED": "Payment received", - "MINED": "Mined", - "LOCKED": "Blocked", - "IS_MINIMIZE": "Zano application is minimized to the system tray", - "RESTORE": "You can recover it by clicking or using the context menu", - "TRAY_MENU_SHOW": "Resize", - "TRAY_MENU_MINIMIZE": "Minimize" - } -} diff --git a/src/gui/qt-daemon/html/assets/i18n/hu.json b/src/gui/qt-daemon/html/assets/i18n/hu.json deleted file mode 100644 index 59e88fa0..00000000 --- a/src/gui/qt-daemon/html/assets/i18n/hu.json +++ /dev/null @@ -1,593 +0,0 @@ -{ - "LOGIN": { - "SETUP_MASTER_PASS": "Setup master password", - "SETUP_CONFIRM_PASS": "Confirm the password", - "MASTER_PASS": "Master password", - "BUTTON_NEXT": "Next", - "BUTTON_SKIP": "Skip", - "BUTTON_RESET": "Reset", - "INCORRECT_PASSWORD": "Invalid password", - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "CONFIRM_REQUIRED": "Confirmation is required", - "MISMATCH": "Mismatch" - } - }, - "COMMON": { - "BACK": "Go back" - }, - "BREADCRUMBS": { - "ADD_WALLET": "Add wallet", - "CREATE_WALLET": "Create new wallet", - "SAVE_PHRASE": "Save your seed phrase", - "OPEN_WALLET": "Open existing wallet", - "RESTORE_WALLET": "Restore from backup", - "WALLET_DETAILS": "Wallet details", - "ASSIGN_ALIAS": "Assign alias", - "EDIT_ALIAS": "Edit alias", - "TRANSFER_ALIAS": "Transfer alias", - "CONTRACTS": "Contracts", - "NEW_PURCHASE": "New purchase", - "OLD_PURCHASE": "Purchase" - }, - "SIDEBAR": { - "TITLE": "Wallets", - "ADD_NEW": "+ Add", - "ACCOUNT": { - "STAKING": "Staking", - "MESSAGES": "New offers/Messages", - "SYNCING": "Syncing wallet" - }, - "CONTACTS": "Contacts", - "SETTINGS": "Settings", - "LOG_OUT": "Log out", - "SYNCHRONIZATION": { - "OFFLINE": "Offline", - "ONLINE": "Online", - "ERROR": "System error", - "COMPLETE": "Completion", - "SYNCING": "Syncing blockchain", - "LOADING": "Loading blockchain data" - }, - "UPDATE": { - "STANDARD": "Update available", - "STANDARD_TOOLTIP": "Get new update.
      Update is recommended!", - "IMPORTANT": "Update available", - "IMPORTANT_HINT": "Important update!", - "IMPORTANT_TOOLTIP": "Get new update.
      Important update!", - "CRITICAL": "Update available", - "CRITICAL_HINT": "Critical update!", - "CRITICAL_TOOLTIP": "Critical update available.Update strongly recommended!", - "TIME": "System time differs from network", - "TIME_TOOLTIP": "Wrong system time!
      Check and repair your system time." - } - }, - "MAIN": { - "TITLE": "Create or open the wallet to start using Zano", - "BUTTON_NEW_WALLET": "Create new wallet", - "BUTTON_OPEN_WALLET": "Open existing wallet", - "BUTTON_RESTORE_BACKUP": "Restore from backup", - "HELP": "How to create wallet?", - "CHOOSE_PATH": "Please choose a path" - }, - "CREATE_WALLET": { - "NAME": "Wallet name", - "PASS": "Set wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "TITLE_SAVE": "Save the wallet file.", - "ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten", - "ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match" - } - }, - "OPEN_WALLET": { - "NAME": "Wallet name", - "PASS": "Wallet password", - "BUTTON": "Open wallet", - "WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open", - "FILE_NOT_FOUND1": "Wallet file not found", - "FILE_NOT_FOUND2": "

      It might have been renamed or moved.
      To open it, use the \"Open wallet\" button.", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - }, - "MODAL": { - "TITLE": "Type wallet password", - "LABEL": "Password to this wallet", - "OPEN": "Open wallet", - "SKIP": "Skip", - "NOT_FOUND": "Not found" - } - }, - "RESTORE_WALLET": { - "LABEL_NAME": "Wallet name", - "LABEL_PHRASE_KEY": "Seed phrase / tracking seed", - "PASS": "Wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match", - "CHOOSE_PATH": "Please choose a path", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match", - "KEY_REQUIRED": "Key is required", - "KEY_NOT_VALID": "Key not valid" - } - }, - "SEED_PHRASE": { - "TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.", - "BUTTON_CREATE_ACCOUNT": "Create wallet", - "BUTTON_COPY": "Copy" - }, - "PROGRESS": { - "ADD_WALLET": "Add wallet", - "SELECT_LOCATION": "Select wallet location", - "CREATE_WALLET": "Create new wallet", - "RESTORE_WALLET": "Restore from backup" - }, - "SETTINGS": { - "TITLE": "Settings", - "DARK_THEME": "Dark theme", - "WHITE_THEME": "White theme", - "GRAY_THEME": "Grey theme", - "APP_LOCK": { - "TITLE": "Lock app after:", - "TIME1": "5 min", - "TIME2": "15 min", - "TIME3": "1 hour", - "TIME4": "Never" - }, - "SCALE": { - "75": "75% scale", - "100": "100% scale", - "125": "125% scale", - "150": "150% scale" - }, - "MASTER_PASSWORD": { - "TITLE": "Update master password", - "OLD": "Old password", - "NEW": "New password", - "CONFIRM": "New password confirmation", - "BUTTON": "Save" - }, - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "PASS_NOT_MATCH": "Old password not match", - "CONFIRM_NOT_MATCH": "Confirm password not match" - }, - "LAST_BUILD": "Current build: {{value}}", - "APP_LOG_TITLE": "Log level:" - }, - "WALLET": { - "REGISTER_ALIAS": "Register an alias", - "DETAILS": "Details", - "LOCK": "Lock", - "AVAILABLE_BALANCE": "Available {{available}} {{currency}}", - "LOCKED_BALANCE": "Locked {{locked}} {{currency}}", - "LOCKED_BALANCE_LINK": "What does that mean?", - "TABS": { - "SEND": "Send", - "RECEIVE": "Receive", - "HISTORY": "History", - "CONTRACTS": "Contracts", - "MESSAGES": "Messages", - "STAKING": "Staking" - } - }, - "WALLET_DETAILS": { - "LABEL_NAME": "Wallet name", - "LABEL_FILE_LOCATION": "Wallet file location", - "LABEL_SEED_PHRASE": "Seed phrase", - "SEED_PHRASE_HINT": "Click to reveal the seed phrase", - "BUTTON_SAVE": "Save", - "BUTTON_REMOVE": "Close wallet", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - } - }, - "ASSIGN_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": " Enter alias", - "TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”." - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "", - "TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later." - }, - "COST": "Alias fee {{value}} {{currency}}", - "BUTTON_ASSIGN": "Assign", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_WRONG": "Invalid name: allowed symbols \"0-9\", \"a-z\", \"-\", \".\"", - "NAME_LENGTH": "The alias must be 6-25 characters long", - "NAME_EXISTS": "Alias name already exists", - "NO_MONEY": "You do not have enough funds to assign this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "ONE_ALIAS": "You can create only one alias per wallet", - "REQUEST_ADD_REG": "The alias will be assigned within 10 minutes" - }, - "EDIT_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "NO_MONEY": "You do not have enough funds to change the comment to this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "COST": "Fee {{value}} {{currency}}", - "BUTTON_EDIT": "Edit" - }, - "TRANSFER_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "ADDRESS": { - "LABEL": "Transfer to", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "WRONG_ADDRESS": "No wallet with this account exists", - "ALIAS_EXISTS": "This account already has an alias", - "NO_MONEY": "You do not have enough funds to transfer this alias" - }, - "COST": "Transfer fee {{value}} {{currency}}", - "BUTTON_TRANSFER": "Transfer", - "BUTTON_CANCEL": "Cancel", - "REQUEST_SEND_REG": "The alias will be transferred within 10 minutes" - }, - "SEND": { - "ADDRESS": "Address", - "AMOUNT": "Amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "MIXIN": "Mixin", - "FEE": "Fee", - "HIDE": "Hide your wallet address from recipient", - "BUTTON": "Send", - "SUCCESS_SENT": "Transaction sent", - "FORM_ERRORS": { - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "ALIAS_NOT_VALID": "Alias not valid", - "AMOUNT_REQUIRED": "Amount is required", - "AMOUNT_ZERO": "Amount is zero", - "FEE_REQUIRED": "Fee is required", - "FEE_MINIMUM": "Minimum fee: {{fee}}", - "MAX_LENGTH": "Maximum comment length reached" - } - }, - "HISTORY": { - "STATUS": "Status", - "STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}", - "LOCK_TOOLTIP": "Locked till {{date}}", - "SEND": "Sent", - "RECEIVED": "Received", - "DATE": "Date", - "AMOUNT": "Amount", - "FEE": "Fee", - "ADDRESS": "Address", - "DETAILS": { - "PAYMENT_ID": "Payment ID", - "ID": "Transaction ID", - "SIZE": "Transaction size", - "SIZE_VALUE": "{{value}} bytes", - "HEIGHT": "Height", - "CONFIRMATION": "Confirmation", - "INPUTS": "Inputs", - "OUTPUTS": "Outputs", - "COMMENT": "Comment" - }, - "TYPE_MESSAGES": { - "HIDDEN": "hidden", - "UNDEFINED": "Undefined", - "COMPLETE_BUYER": "Contract completed", - "COMPLETE_SELLER": "Contract completed", - "CREATE_ALIAS": "Fee for assigning alias", - "UPDATE_ALIAS": "Fee for editing alias", - "POW_REWARD": "POW reward", - "POS_REWARD": "POS reward", - "CREATE_CONTRACT": "Contract proposal", - "PLEDGE_CONTRACT": "Contract deposit", - "NULLIFY_CONTRACT": "Burn deposits", - "PROPOSAL_CANCEL_CONTRACT": "Cancellation request", - "CANCEL_CONTRACT": "Cancel and return deposits" - } - }, - "CONTRACTS": { - "EMPTY": "No active contracts", - "CONTRACTS": "Contracts", - "PURCHASE": "Purchase", - "SELL": "Sell", - "DATE": "Date", - "AMOUNT": "Amount", - "STATUS": "Status", - "COMMENTS": "Comments", - "PURCHASE_BUTTON": "New Purchase", - "LISTING_BUTTON": "Create listing", - "TIME_LEFT": { - "REMAINING_LESS_ONE": "Less than an hour to respond", - "REMAINING_ONE": "{{time}} hour remains", - "REMAINING_MANY": "{{time}} hours remain", - "REMAINING_MANY_ALT": "{{time}} hours remain", - "REMAINING_ONE_RESPONSE": "{{time}} hour remains", - "REMAINING_MANY_RESPONSE": "{{time}} hours remain", - "REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain", - "REMAINING_ONE_WAITING": "Waiting for {{time}} hour", - "REMAINING_MANY_WAITING": "Waiting for {{time}} hours", - "REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours" - }, - "STATUS_MESSAGES": { - "SELLER": { - "NEW_CONTRACT": "New contract proposal", - "IGNORED": "You ignored contract proposal", - "ACCEPTED": "Contract started", - "WAIT": "Waiting for contract confirmation", - "WAITING_BUYER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "You ignored cancellation proposal", - "EXPIRED": "Contract proposal has expired" - }, - "BUYER": { - "WAITING": "Waiting for response", - "IGNORED": "Seller ignored your contract proposal", - "ACCEPTED": "Seller accepted your contract proposal", - "WAIT": "Waiting for deposits confirmation", - "WAITING_SELLER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "WAITING_CANCEL": "Waiting for contract cancellation", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract", - "EXPIRED": "The contract proposal has expired" - } - } - }, - "PURCHASE": { - "DESCRIPTION": "Description", - "SELLER": "Seller", - "AMOUNT": "Amount", - "YOUR_DEPOSIT": "Your deposit", - "SELLER_DEPOSIT": "Seller deposit", - "BUYER_DEPOSIT": "Buyer deposit", - "SAME_AMOUNT": "Same amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "SEND_BUTTON": "Send", - "FORM_ERRORS": { - "DESC_REQUIRED": "Description required", - "DESC_MAXIMUM": "Maximum field length reached", - "SELLER_REQUIRED": "Address required", - "SELLER_NOT_VALID": "Invalid address", - "ALIAS_NOT_VALID": "Invalid alias", - "AMOUNT_REQUIRED": "Amount required", - "AMOUNT_ZERO": "Amount cannot be zero", - "YOUR_DEPOSIT_REQUIRED": "Deposit required", - "SELLER_DEPOSIT_REQUIRED": "Seller deposit required", - "SELLER_SAME": "Use separate account", - "COMMENT_MAXIMUM": "Maximum field length reached" - }, - "PROGRESS_NEW": "New purchase", - "PROGRESS_WAIT": "Awaiting reply", - "PROGRESS_RECEIVE": "Reply received", - "PROGRESS_COMPLETE": "Completed", - "FEE": "Fee", - "PAYMENT": "Payment ID", - "STATUS_MESSAGES": { - "NEW_PURCHASE": "New purchase", - "WAITING_SELLER": "Waiting for response", - "WAITING_BUYER": "Contract proposal received", - "WAITING_CONFIRMATION": "Waiting for deposits confirmation", - "WAITING_DELIVERY": "Waiting for delivery", - "COMPLETED": "Contract completed", - "IGNORED_BUYER": "Contract proposal ignored", - "IGNORED_SELLER": "The seller ignored your contract proposal", - "PROPOSAL_CANCEL_SELLER": "Cancellation request sent", - "PROPOSAL_CANCEL_BUYER": "Cancellation request received", - "BEING_CANCELLED": "Cancellation in progress", - "IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract", - "IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored", - "CANCELLED": "Contract canceled", - "EXPIRED": "Contract proposal expired", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned" - }, - "ACCEPT_STATE_WAIT_BIG": "Contract started", - "IGNORED_ACCEPT": "Contract proposal ignored", - "BURN_PROPOSAL": "Deposits burned", - "SUCCESS_FINISH_PROPOSAL": "Contract completed", - "SEND_CANCEL_PROPOSAL": "Cancellation request sent", - "IGNORED_CANCEL": "Contract cancellation proposal ignored", - "DEALS_CANCELED_WAIT": "Cancellation in progress", - "WAITING_TIME": "Response time", - "NEED_MONEY": "Insufficient funds", - "BUTTON_MAKE_PLEDGE": "Accept and make deposit", - "BUTTON_IGNORE": "Ignore and hide offer", - "BUTTON_NULLIFY": "Terminate and burn deposits", - "BUTTON_RECEIVED": "Complete and release deposits", - "BUTTON_CANCEL_BUYER": "Cancel and return deposits", - "BUTTON_NOT_CANCEL": "Ignore request", - "BUTTON_CANCEL_SELLER": "Confirm and return deposits", - "HOUR": "hour", - "HOURS": "hours", - "CANCEL": "Cancel", - "NULLIFY_QUESTION": "Are you sure you want to burn both deposits?", - "BUTTON_NULLIFY_SHORT": "Burn", - "WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?" - }, - "MESSAGES": { - "ADDRESS": "Address", - "MESSAGE": "Message", - "SEND_PLACEHOLDER": "Type a message...", - "SEND_BUTTON": "Send" - }, - "MODALS": { - "ERROR": "Error", - "SUCCESS": "Success", - "INFO": "Information", - "OK": "OK" - }, - "CONFIRM": { - "BUTTON_CONFIRM": "Send", - "BUTTON_CANCEL": "Cancel", - "TITLE": "Confirm transaction", - "MESSAGE": { - "SEND": "Send", - "FROM": "From", - "TO": "To", - "COMMENT": "Comment" - } - }, - "STAKING": { - "TITLE": "Staking", - "TITLE_PENDING": "Pending", - "TITLE_TOTAL": "Total", - "TITLE_PERIOD": "Time period:", - "PERIOD": { - "WEEK1": "1 week", - "WEEK2": "2 week", - "MONTH1": "1 month", - "MONTH3": "3 month", - "MONTH6": "6 month", - "YEAR": "1 year", - "ALL": "All" - }, - "TITLE_GROUP": "Group:", - "GROUP": { - "DAY": "day", - "WEEK": "week", - "MONTH": "month" - }, - "SWITCH": { - "ON": "ON", - "OFF": "OFF" - } - }, - "CONTACTS": { - "TITLE": "Contact list", - "IMPORT_EXPORT": "Import or export contacts", - "IMPORT": "Import", - "EXPORT": "Export", - "ADD": "Add/edit contact", - "SEND": "Send", - "SEND_FROM": "Send from", - "SEND_TO": "To", - "OPEN_ADD_WALLET": "Open/Add wallet", - "COPY": "- Copy", - "TABLE": { - "NAME": "Name", - "ALIAS": "Alias", - "ADDRESS": "Address", - "NOTES": "Notes", - "EMPTY": "Contact list is empty" - }, - "FORM": { - "NAME": "Name", - "ADDRESS": "Address", - "NOTES": "Notes" - }, - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUBLICATED": "Name is dublicated", - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "SET_MASTER_PASSWORD": "Set master password", - "ADDRESS_DUBLICATED": "Address is dublicated", - "MAX_LENGTH": "Maximum notes length reached", - "NAME_LENGTH": "The name must be 4-25 characters long" - }, - "BUTTON": { - "SEND": "Send", - "EDIT": "Edit", - "DELETE": "Delete", - "ADD": "Add contact", - "ADD_EDIT": "Add/Save", - "GO_TO_WALLET": "Go to wallet", - "IMPORT_EXPORT": "Import/export" - }, - "SUCCESS_SENT": "Contact added", - "SUCCESS_SAVE": "Contact is edited", - "SUCCESS_IMPORT": "Contacts are imported", - "SUCCESS_EXPORT": "Contacts are exported", - "ERROR_IMPORT": "Error is occured while reading file!", - "ERROR_TYPE_FILE": "Please import valid .csv file", - "ERROR_EXPORT": "Invalid file type. Save file as .csv", - "ERROR_EMPTY_LIST": "Contact list is empty", - "ERROR_IMPORT_EMPTY": "File is empty" - }, - "ERRORS": { - "NO_MONEY": "Not enough money", - "NOT_ENOUGH_MONEY": "Insufficient funds in account", - "CORE_BUSY": "Internal error: core is busy", - "DAEMON_BUSY": "Internal error: daemon is busy", - "NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet", - "NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with", - "TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions", - "TRANSFER_ATTEMPT": "There is no connection to Zano network", - "ACCESS_DENIED": "Access denied", - "TRANSACTION_ERROR": "Error. Transaction not completed.", - "BAD_ARG": "Invalid argument", - "WALLET_WRONG_ID": "Invalid wallet ID", - "WRONG_PASSWORD": "Invalid password", - "FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain", - "FILE_NOT_FOUND": "File not found", - "FILE_EXIST": "A file with that name already exists. Enter another name to save the file under", - "FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.", - "TX_TYPE_NORMAL": "Error. The payment from the wallet", - "TX_TYPE_NORMAL_TO": "to", - "TX_TYPE_NORMAL_END": "was not completed.", - "TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe", - "TX_TYPE_NEW_ALIAS_END": "Please try again.", - "TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe", - "TX_TYPE_COIN_BASE": "Error. The payment was not completed." - }, - "CONTEXT_MENU": { - "COPY": "copy", - "PASTE": "paste", - "SELECT": "select all" - }, - "BACKEND_LOCALIZATION": { - "QUIT": "Quit", - "IS_RECEIVED": "", - "IS_CONFIRMED": "", - "INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)", - "INCOME_TRANSFER_CONFIRMED": "Payment received", - "MINED": "Mined", - "LOCKED": "Blocked", - "IS_MINIMIZE": "Zano application is minimized to the system tray", - "RESTORE": "You can recover it by clicking or using the context menu", - "TRAY_MENU_SHOW": "Resize", - "TRAY_MENU_MINIMIZE": "Minimize" - } -} diff --git a/src/gui/qt-daemon/html/assets/i18n/id.json b/src/gui/qt-daemon/html/assets/i18n/id.json deleted file mode 100644 index 4b4c95a5..00000000 --- a/src/gui/qt-daemon/html/assets/i18n/id.json +++ /dev/null @@ -1,587 +0,0 @@ -{ - "LOGIN": { - "SETUP_MASTER_PASS": "Atur Kata Sandi Utama", - "SETUP_CONFIRM_PASS": "Konfirmasi kata sandi", - "MASTER_PASS": "Kata Sandi Utama", - "BUTTON_NEXT": "Selanjutnya", - "BUTTON_SKIP": "Lewati", - "BUTTON_RESET": "Atur Ulang", - "INCORRECT_PASSWORD": "Kata sandi salah", - "FORM_ERRORS": { - "PASS_REQUIRED": "Kata sandi dibutuhkan\n", - "CONFIRM_REQUIRED": "Diperlukan konfirmasi", - "MISMATCH": "Tidak cocok" - } - }, - "COMMON": { - "BACK": "Kembali" - }, - "BREADCRUMBS": { - "ADD_WALLET": "Tambahkan dompet", - "CREATE_WALLET": "Buat dompet baru", - "SAVE_PHRASE": "Simpan kalimat/kata kata anda", - "OPEN_WALLET": "Buka dompet yang telah ada", - "RESTORE_WALLET": "Mengembalikan dari cadangan", - "WALLET_DETAILS": "Detail Dompet", - "ASSIGN_ALIAS": "Tetapkan nama alias", - "EDIT_ALIAS": "Edit nama alias", - "TRANSFER_ALIAS": "Pindahkan nama alias", - "CONTRACTS": "Kontrak", - "NEW_PURCHASE": "Pembelian Baru", - "OLD_PURCHASE": "Pembelian" - }, - "SIDEBAR": { - "TITLE": "Dompet", - "ADD_NEW": "+ Tambahkan", - "ACCOUNT": { - "STAKING": "Staking", - "MESSAGES": "Pesan baru/tawaran", - "SYNCING": "Sinkronisasi dompet" - }, - "CONTACTS": "Kontak", - "SETTINGS": "Pengaturan", - "LOG_OUT": "Keluar", - "SYNCHRONIZATION": { - "OFFLINE": "Offline", - "ONLINE": "Online", - "ERROR": "Sistem error", - "COMPLETE": "Penyelesaian", - "SYNCING": "Sinkronisasi blockchain", - "LOADING": "Memuat data blockchain" - }, - "UPDATE": { - "STANDARD": "Pembaruan tersedia", - "STANDARD_TOOLTIP": "Dapatkan pembaruan baru.
      Pembaruan direkomendasikan!", - "IMPORTANT": "Pembaruan tersedia", - "IMPORTANT_HINT": "Pembaruang penting!", - "IMPORTANT_TOOLTIP": "Dapatkan pembaruan terbaru.
      Pembaruan penting!", - "CRITICAL": "Pembaruan tersedia", - "CRITICAL_HINT": "Pembaruan penting!", - "CRITICAL_TOOLTIP": "Tersedia pembaruan penting.Direkomendasikan untuk segera di update!", - "TIME": "Waktu sistem berbeda dengan jaringan", - "TIME_TOOLTIP": "Waktu sistem salah!
      Mohon dicek dan perbaiki sistem waktunya." - } - }, - "MAIN": { - "TITLE": "Buat atau buka dompet untuk mulai menggunakan Zano", - "BUTTON_NEW_WALLET": "Buat dompet baru", - "BUTTON_OPEN_WALLET": "Buka dompet yang telah dibuat", - "BUTTON_RESTORE_BACKUP": "Pulihkan dari cadangan", - "HELP": "Bagaimana cara membuat dompet?", - "CHOOSE_PATH": "Pilih path untuk menyimpan" - }, - "CREATE_WALLET": { - "NAME": "Nama Dompet", - "PASS": "Buat kata sandi dompet", - "CONFIRM": "Konfirmasi kata sandi dompet", - "BUTTON_SELECT": "Pilih lokasi dompet", - "BUTTON_CREATE": "Buat Dompet\n", - "TITLE_SAVE": "Simpan file dompet", - "ERROR_CANNOT_SAVE_TOP": "Dompet yang telah ada tidak bisa di tulis ulang atau di ganti", - "ERROR_CANNOT_SAVE_SYSTEM": "File dompet tidak dapat di simpan di partisi OS", - "FORM_ERRORS": { - "NAME_REQUIRED": "Nama di butuhkan", - "NAME_DUPLICATE": "Nama sama/duplikat", - "MAX_LENGTH": "Maksimum panjang nama tecapai", - "CONFIRM_NOT_MATCH": "Konfirmasi katasandi tidak sama" - } - }, - "OPEN_WALLET": { - "NAME": "Nama dompet", - "PASS": "Katasandi dompet", - "BUTTON": "Buka dompet", - "WITH_ADDRESS_ALREADY_OPEN": "Dompet dengan alamat ini sudah terbuka", - "FILE_NOT_FOUND1": "File Dompet tidak ditemukan", - "FILE_NOT_FOUND2": "

      Kemungkinan sudah di ganti atau dipindahkan
      Untuk Membuka, gunakan tombol \"Buka Dompet\".\n", - "FORM_ERRORS": { - "NAME_REQUIRED": "Nama diperlukan", - "NAME_DUPLICATE": "Nama sama/duplikat", - "MAX_LENGTH": "Maksimum panjang nama tecapai" - }, - "MODAL": { - "TITLE": "Tulis kata sandi dompet", - "LABEL": "Katasandi untuk dompet ini", - "OPEN": "Buka dompet", - "SKIP": "Lewati", - "NOT_FOUND": "Tidak ditemukan" - } - }, - "RESTORE_WALLET": { - "LABEL_NAME": "Nama dompet", - "LABEL_PHRASE_KEY": "Seed phrase/ kunci pribadi", - "PASS": "Katasandi dompet", - "CONFIRM": "Konfirmasi kata sandi dompet", - "BUTTON_SELECT": "Pilih lokasi dompet", - "BUTTON_CREATE": "Buat Dompet\n", - "NOT_CORRECT_FILE_OR_PASSWORD": "File dompet tidak valid atau kata sandi tidak sama", - "CHOOSE_PATH": "Pilih path untuk menyimpan", - "FORM_ERRORS": { - "NAME_REQUIRED": "Nama diperlukan", - "NAME_DUPLICATE": "Nama sama/duplikat", - "MAX_LENGTH": "Maksimum panjang nama tecapai", - "CONFIRM_NOT_MATCH": "Konfirmasi katasandi tidak sama", - "KEY_REQUIRED": "Kunci di butuhkan", - "KEY_NOT_VALID": "Kunci tidak valid" - } - }, - "SEED_PHRASE": { - "TITLE": "Pastikan untuk menyimpan seed phrase di tempat yang aman. Jika kamu lupa seed phrasenya, kamu tidak bisa menggunakanya untuk memulihkan/recover dompetmu.", - "BUTTON_CREATE_ACCOUNT": "Buat Dompet\n", - "BUTTON_COPY": "Salin" - }, - "PROGRESS": { - "ADD_WALLET": "Tambahkan dompet", - "SELECT_LOCATION": "Pilih lokasi dompet", - "CREATE_WALLET": "Buat dompet baru", - "RESTORE_WALLET": "Pulihkan dari cadangan" - }, - "SETTINGS": { - "TITLE": "Pengaturan", - "DARK_THEME": "Tema Gelap", - "WHITE_THEME": "Tema Biasa/Putih", - "GRAY_THEME": "Tema Abu-abu", - "APP_LOCK": { - "TITLE": "Kunci aplikasi setelah:", - "TIME1": "5 Menit", - "TIME2": "15 Menit", - "TIME3": "1 Jam", - "TIME4": "Tidak pernah" - }, - "MASTER_PASSWORD": { - "TITLE": "Atur Kata Sandi Utama", - "OLD": "Katasandi lama", - "NEW": "Katasandi baru", - "CONFIRM": "Konfirmasi katasandi baru", - "BUTTON": "Simpan" - }, - "FORM_ERRORS": { - "PASS_REQUIRED": "Kata sandi dibutuhkan\n", - "PASS_NOT_MATCH": "Katasandi lama tidak sama", - "CONFIRM_NOT_MATCH": "Konfirmasi katasandi tidak sama" - }, - "LAST_BUILD": "Versi sekarang: {{value}}", - "APP_LOG_TITLE": "Tingkat log:" - }, - "WALLET": { - "REGISTER_ALIAS": "Daftarkan alias", - "DETAILS": "Detail", - "LOCK": "Kunci", - "AVAILABLE_BALANCE": "Tersedia {{available}} {{currency}}", - "LOCKED_BALANCE": "Terkunci {{locked}} {{currency}}", - "LOCKED_BALANCE_LINK": "Apa yang dimaksudkan?\n", - "TABS": { - "SEND": "Kirim", - "RECEIVE": "Terima", - "HISTORY": "Riwayat", - "CONTRACTS": "Kontrak", - "MESSAGES": "Pesan", - "STAKING": "Staking" - } - }, - "WALLET_DETAILS": { - "LABEL_NAME": "Nama dompet", - "LABEL_FILE_LOCATION": "Lokasi file dompet", - "LABEL_SEED_PHRASE": "Seed Phrase", - "SEED_PHRASE_HINT": "Klik untuk membuka frasa kunci", - "BUTTON_SAVE": "Simpan", - "BUTTON_REMOVE": "Tutup dompet", - "FORM_ERRORS": { - "NAME_REQUIRED": "Nama diperlukan", - "NAME_DUPLICATE": "Nama sama/duplikat", - "MAX_LENGTH": "Maksimum panjang nama tecapai" - } - }, - "ASSIGN_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Masukan alias", - "TOOLTIP": "Alias adalah formulir singkat atau akun Anda. Alias hanya dapat menyertakan huruf Latin, angka, dan karakter “.” dan \"-\". Itu harus dimulai dengan \"@\"." - }, - "COMMENT": { - "LABEL": "Komentar", - "PLACEHOLDER": "", - "TOOLTIP": "Komentar akan terlihat oleh siapa saja yang ingin melakukan pembayaran ke alias Anda. Anda dapat memberikan detail tentang bisnis Anda, kontak, atau memasukkan teks apa pun. Komentar dapat diedit nanti." - }, - "COST": "Biaya Alias {{value}} {{currency}}", - "BUTTON_ASSIGN": "Menetapkan", - "FORM_ERRORS": { - "NAME_REQUIRED": "Nama di butuhkan", - "NAME_WRONG": "Alias memiliki nama yang salah", - "NAME_LENGTH": "Alias harus 6-25 karakter", - "NAME_EXISTS": "Nama alias sudah ada", - "NO_MONEY": "Anda tidak memiliki cukup dana untuk menetapkan alias ini", - "MAX_LENGTH": "Maksimum panjang komentar tecapai" - }, - "ONE_ALIAS": "Anda hanya dapat membuat satu alias per dompet", - "REQUEST_ADD_REG": "Alias akan di pindahkan dalam 10 menit" - }, - "EDIT_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Masukan alias" - }, - "COMMENT": { - "LABEL": "Komentar", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "NO_MONEY": "Anda tidak memiliki cukup dana untuk mengganti alias ini", - "MAX_LENGTH": "Maksimum panjang komentar tecapai" - }, - "COST": "Biaya Alias {{value}} {{currency}}", - "BUTTON_EDIT": "Edit/ubah" - }, - "TRANSFER_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Masukan alias" - }, - "COMMENT": { - "LABEL": "Komentar", - "PLACEHOLDER": "" - }, - "ADDRESS": { - "LABEL": "Pindahkan ke", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "WRONG_ADDRESS": "Tidak ada domet di akun ini", - "ALIAS_EXISTS": "Akun ini sudah memiliki alias", - "NO_MONEY": "Anda tidak memiliki cukup dana untuk memindahkan alias ini" - }, - "COST": "Biaya Alias {{value}} {{currency}}", - "BUTTON_TRANSFER": "Pindahkan", - "BUTTON_CANCEL": "Batal", - "REQUEST_SEND_REG": "Alias akan di pindahkan dalam 10 menit" - }, - "SEND": { - "ADDRESS": "Alamat", - "AMOUNT": "Jumlah", - "COMMENT": "Komentar", - "DETAILS": "Detail tambahan\n", - "MIXIN": "Mixin", - "FEE": "Biaya", - "HIDE": "Sembunyikan alamat dompet kamu dari penerima", - "BUTTON": "Kirim", - "SUCCESS_SENT": "Transaksi dikirim", - "FORM_ERRORS": { - "ADDRESS_REQUIRED": "Alamat di perlukan", - "ADDRESS_NOT_VALID": "Alamat tidak valid", - "ALIAS_NOT_VALID": "Alias tidak valid", - "AMOUNT_REQUIRED": "Jumlah di perlukan", - "AMOUNT_ZERO": "Jumlah 0", - "FEE_REQUIRED": "Biaya dibutuhkan", - "FEE_MINIMUM": "Biaya minimal : {{fee}}", - "MAX_LENGTH": "Maksimum panjang komentar tecapai" - } - }, - "HISTORY": { - "STATUS": "Status", - "STATUS_TOOLTIP": "Konfirmasi {{current}}/{{total}}", - "LOCK_TOOLTIP": "Dikunci sampai {{date}}", - "SEND": "Dikirim", - "RECEIVED": "Diterima", - "DATE": "Tanggal", - "AMOUNT": "Jumlah", - "FEE": "Biaya", - "ADDRESS": "Alamat", - "DETAILS": { - "PAYMENT_ID": "ID Pembayaran", - "ID": "ID Transaksi", - "SIZE": "Ukuran transaksi", - "SIZE_VALUE": "{{value}} bytes", - "HEIGHT": "Tinggi", - "CONFIRMATION": "Konfirmasi", - "INPUTS": "Input", - "OUTPUTS": "Output/Keluaran", - "COMMENT": "Komentar" - }, - "TYPE_MESSAGES": { - "HIDDEN": "tersembunyi", - "UNDEFINED": "Tidak terdefinisi", - "COMPLETE_BUYER": "Kontrak selesai", - "COMPLETE_SELLER": "Kontrak selesai", - "CREATE_ALIAS": "Biaya untuk menetapkan alias", - "UPDATE_ALIAS": "Biaya untuk mengubah alias", - "POW_REWARD": "Hadiah POW", - "POS_REWARD": "Hadiah POS", - "CREATE_CONTRACT": "Proposal Kontrak", - "PLEDGE_CONTRACT": "Kontrak Deposit", - "NULLIFY_CONTRACT": "Setoran yang dibakar/hangus", - "PROPOSAL_CANCEL_CONTRACT": "Permintaan pembatalan", - "CANCEL_CONTRACT": "Batalkan dan kembalikan setoran/deposit" - } - }, - "CONTRACTS": { - "EMPTY": "Tidak ada kontrak yang aktif", - "CONTRACTS": "Kontrak", - "PURCHASE": "Pembelian", - "SELL": "Jual", - "DATE": "Tanggal", - "AMOUNT": "Jumlah", - "STATUS": "Status", - "COMMENTS": "Komentar", - "PURCHASE_BUTTON": "Pembelian Baru", - "LISTING_BUTTON": "Buat daftar", - "TIME_LEFT": { - "REMAINING_LESS_ONE": "Kurang dari satu jam untuk merespon", - "REMAINING_ONE": "kurang {{time}} jam", - "REMAINING_MANY": "kurang {{time}} jam", - "REMAINING_MANY_ALT": "kurang {{time}} jam", - "REMAINING_ONE_RESPONSE": "kurang {{time}} jam", - "REMAINING_MANY_RESPONSE": "kurang {{time}} jam", - "REMAINING_MANY_ALT_RESPONSE": "kurang {{time}} jam", - "REMAINING_ONE_WAITING": "Menunggu dari {{time}} jam", - "REMAINING_MANY_WAITING": "Menunggu dari {{time}} jam", - "REMAINING_MANY_ALT_WAITING": "Menunggu dari {{time}} jam" - }, - "STATUS_MESSAGES": { - "SELLER": { - "NEW_CONTRACT": "Proposal kontrak baru", - "IGNORED": "Kamu mengabaikan kontrak proposal", - "ACCEPTED": "Kontrak dimulai", - "WAIT": "Menunggu konfirmasi kontrak\n", - "WAITING_BUYER": "menunggu untuk dikirim", - "COMPLETED": "Kontrak selesai", - "NOT_RECEIVED": "Pengiriman gagal", - "NULLIFIED": "Semua deposit/setoran hangus", - "PROPOSAL_CANCEL": "Proposal baru untuk membatalkan kontrak dan mengembalikan deposit", - "BEING_CANCELLED": "Pembatalan dalam proses", - "CANCELLED": "Kontrak dibatalkan", - "IGNORED_CANCEL": "Kamu mengabaikan kontrak proposal", - "EXPIRED": "Kontrak proposal telah kadaluarsa" - }, - "BUYER": { - "WAITING": "Menunggu untuk respon", - "IGNORED": "Penjual mengabaikan kontrak proposal", - "ACCEPTED": "Penjual menerima kontrak proposal kamu", - "WAIT": "Menunggu konfirmasi deposit", - "WAITING_SELLER": "menunggu untuk dikirim", - "COMPLETED": "Kontrak selesai", - "NOT_RECEIVED": "Pengiriman gagal", - "NULLIFIED": "Semua deposit/setoran hangus", - "WAITING_CANCEL": "Menunggu pembatalan kontrak", - "BEING_CANCELLED": "Pembatalan dalam proses", - "CANCELLED": "Kontrak dibatalkan", - "IGNORED_CANCEL": "Penjual mengabaikan proposal anda untuk pembatalan kontrak", - "EXPIRED": "Kontrak proposal telah kadaluwarsa" - } - } - }, - "PURCHASE": { - "DESCRIPTION": "Deskripsi", - "SELLER": "Penjual", - "AMOUNT": "Jumlah", - "YOUR_DEPOSIT": "Setoran/deposit kamu", - "SELLER_DEPOSIT": "Setoran/Depost Penjual", - "BUYER_DEPOSIT": "Setoran pembeli", - "SAME_AMOUNT": "Jumlah yang sama", - "COMMENT": "Komentar", - "DETAILS": "Detail tambahan\n", - "SEND_BUTTON": "Kirim", - "FORM_ERRORS": { - "DESC_REQUIRED": "Deskripsi dibutuhkan", - "DESC_MAXIMUM": "Maksimum panjang bidang tecapai", - "SELLER_REQUIRED": "Alamat di perlukan", - "SELLER_NOT_VALID": "alamat tidak valid", - "ALIAS_NOT_VALID": "alias tidak valid", - "AMOUNT_REQUIRED": "Jumlah di perlukan", - "AMOUNT_ZERO": "Jumlah tidak bisa 0", - "YOUR_DEPOSIT_REQUIRED": "Deposit/setoran dibutuhkan", - "SELLER_DEPOSIT_REQUIRED": "Setoran penjual dibuthkan", - "SELLER_SAME": "Gunakan akun terpisah", - "COMMENT_MAXIMUM": "Maksimum panjang bidang tecapai" - }, - "PROGRESS_NEW": "Pembelian Baru", - "PROGRESS_WAIT": "Menunggu balasan", - "PROGRESS_RECEIVE": "Balasan diterima", - "PROGRESS_COMPLETE": "Selesai", - "FEE": "Biaya", - "PAYMENT": "ID Pembayaran", - "STATUS_MESSAGES": { - "NEW_PURCHASE": "Pembelian Baru", - "WAITING_SELLER": "Menunggu untuk respon", - "WAITING_BUYER": "Kontrak proposal telah diterima", - "WAITING_CONFIRMATION": "Menunggu konfirmasi deposit", - "WAITING_DELIVERY": "menunggu untuk dikirim", - "COMPLETED": "Kontrak selesai", - "IGNORED_BUYER": "Kontrak proposal diabaikan", - "IGNORED_SELLER": "Penjual mengabaikan kontrak proposal", - "PROPOSAL_CANCEL_SELLER": "Permintaan pembatalan dikirimkan", - "PROPOSAL_CANCEL_BUYER": "Permintaan pembatalan diterima", - "BEING_CANCELLED": "Pembatalan dalam proses", - "IGNORED_CANCEL_SELLER": "Penjual mengabaikan proposal anda untuk pembatalan kontrak", - "IGNORED_CANCEL_BUYER": "Proposal pembatalan kontrak diabaikan", - "CANCELLED": "Kontrak dibatalkan", - "EXPIRED": "Kontrak proposal telah kadaluarsa", - "NOT_RECEIVED": "Pengiriman gagal", - "NULLIFIED": "Semua deposit/setoran hangus" - }, - "ACCEPT_STATE_WAIT_BIG": "Kontrak dimulai", - "IGNORED_ACCEPT": "Kontrak proposal diabaikan", - "BURN_PROPOSAL": "Semua deposit/setoran hangus", - "SUCCESS_FINISH_PROPOSAL": "Kontrak selesai", - "SEND_CANCEL_PROPOSAL": "Permintaan pembatalan dikirimkan", - "IGNORED_CANCEL": "Proposal pembatalan kontrak diabaikan", - "DEALS_CANCELED_WAIT": "Pembatalan dalam proses", - "WAITING_TIME": "Waktu Respon", - "NEED_MONEY": "Dana tidak cukup", - "BUTTON_MAKE_PLEDGE": "Terima dan buat deposit", - "BUTTON_IGNORE": "Abaikan dan sembunyikan penawaran", - "BUTTON_NULLIFY": "Matikan dan bakar setoran ", - "BUTTON_RECEIVED": "Selesai dan lepaskan setoran/deposit", - "BUTTON_CANCEL_BUYER": "Batalkan dan kembalikan setoran/deposit", - "BUTTON_NOT_CANCEL": "Abaikan permintaan ", - "BUTTON_CANCEL_SELLER": "Konfirmasi dan kembalikan deposit", - "HOUR": "Jam", - "HOURS": "Jam", - "CANCEL": "Batal", - "NULLIFY_QUESTION": "Apakah kamu yakin untuk membakar/menghanguskan kedua deposit/setoran?", - "BUTTON_NULLIFY_SHORT": "Hangus", - "WAITING_TIME_QUESTION": "Apakah kamu yakin untuk membatalkan kontrak?" - }, - "MESSAGES": { - "ADDRESS": "Alamat", - "MESSAGE": "Pesan", - "SEND_PLACEHOLDER": "Ketik sebuah pesan...", - "SEND_BUTTON": "Kirim" - }, - "MODALS": { - "ERROR": "Error", - "SUCCESS": "Berhasil", - "INFO": "Informasi", - "OK": "Ok" - }, - "CONFIRM": { - "BUTTON_CONFIRM": "Kirim", - "BUTTON_CANCEL": "Batal", - "TITLE": "Konfirmasi transaksi", - "MESSAGE": { - "SEND": "Kirim", - "FROM": "Dari\n", - "TO": "Untuk", - "COMMENT": "Komentar" - } - }, - "STAKING": { - "TITLE": "Staking", - "TITLE_PENDING": "Tertunda", - "TITLE_TOTAL": "Total", - "TITLE_PERIOD": "Periode waktu:", - "PERIOD": { - "WEEK1": "1 minggu", - "WEEK2": "2 minggu", - "MONTH1": "1 bulan", - "MONTH3": "3 bulan", - "MONTH6": "6 bulan", - "YEAR": "1 tahun", - "ALL": "Semua" - }, - "TITLE_GROUP": "Kelompok:", - "GROUP": { - "DAY": "hari", - "WEEK": "minggu", - "MONTH": "bulan" - }, - "SWITCH": { - "ON": "On", - "OFF": "Off" - } - }, - "CONTACTS": { - "TITLE": "Daftar kontak", - "IMPORT_EXPORT": "Import atau ekspor kontak", - "IMPORT": "Import", - "EXPORT": "Ekspor", - "ADD": "Tambahkan/edit kontak", - "SEND": "Kirim", - "SEND_FROM": "Kirim dari", - "SEND_TO": "Untuk", - "OPEN_ADD_WALLET": "Buka/tambahkan dompet", - "COPY": "- Salin", - "TABLE": { - "NAME": "Nama", - "ALIAS": "Alias", - "ADDRESS": "Alamat", - "NOTES": "Catatan", - "EMPTY": "Daftar kontrak masih kosong" - }, - "FORM": { - "NAME": "Nama", - "ADDRESS": "Alamat", - "NOTES": "Catatan" - }, - "FORM_ERRORS": { - "NAME_REQUIRED": "Nama diperlukan", - "NAME_DUBLICATED": "Nama sama/duplikat", - "ADDRESS_REQUIRED": "Alamat di perlukan", - "ADDRESS_NOT_VALID": "Alamat tidak valid", - "SET_MASTER_PASSWORD": "Atur Kata Sandi Utama", - "ADDRESS_DUBLICATED": "Alamat sama/duplikat", - "MAX_LENGTH": "Maksimum panjang catatan tecapai", - "NAME_LENGTH": "Nama harus 4-25 karakter" - }, - "BUTTON": { - "SEND": "Kirim", - "EDIT": "Edit/ubah", - "DELETE": "Hapus", - "ADD": "Tambahkan kontak", - "ADD_EDIT": "Tambahkan/Simpan", - "GO_TO_WALLET": "Pergi ke dompet", - "IMPORT_EXPORT": "Impor/Ekspor" - }, - "SUCCESS_SENT": "Kontak ditambahkan", - "SUCCESS_SAVE": "Kontak telah di ubah", - "SUCCESS_IMPORT": "Kontak telah di impor", - "SUCCESS_EXPORT": "Kontak telah di ekspor", - "ERROR_IMPORT": "Kesalahan terjadi ketika membaca file!", - "ERROR_TYPE_FILE": "Tolong mengimpor file .csv yang valid", - "ERROR_EXPORT": "Tipe file tidak valid. Simpan file dalam .csv", - "ERROR_EMPTY_LIST": "Daftar kontak masih kosong", - "ERROR_IMPORT_EMPTY": "File masih kosong " - }, - "ERRORS": { - "NO_MONEY": "Tidak cukup uang", - "NOT_ENOUGH_MONEY": "Dana di akun tidak cukup", - "CORE_BUSY": "Kesalahan intenal: inti sedang sibuk", - "DAEMON_BUSY": "Kesalahan intenal: daemon sedang sibuk", - "NO_MONEY_REMOVE_OFFER": "Tidak ada biaya untuk menghapus penawaran, tetapi untuk melindungi jaringan terhadap transaksi banjir/banyak, Anda harus memiliki setidaknya {{fee}} {{currency}} di dompet Anda", - "NOT_ENOUGH_OUTPUTS_TO_MIX": "Mixin terlalu besar untuk keadaan blockchain saat ini. Tidak ada cukup keluaran yang tidak terpakai untuk digabungkan", - "TRANSACTION_IS_TO_BIG": "Transaksi melebihi batas jaringan, mengirim jumlah yang diperlukan dengan banyak transaksi", - "TRANSFER_ATTEMPT": "Tidak ada koneksi ke jaringan Zano", - "ACCESS_DENIED": "Akses ditolak", - "TRANSACTION_ERROR": "Kesalahan. Transaksi tidak selesai.", - "BAD_ARG": "Argumen tidak valid", - "WALLET_WRONG_ID": "ID dompet tidak valid", - "WRONG_PASSWORD": "Katasandi tidak valid", - "FILE_RESTORED": "File dompet rusak. Kami telah memulihkan kunci dan dompet dari blockchain", - "FILE_NOT_FOUND": "File tidak ditemukan", - "FILE_EXIST": "Sebuah file dengan nama tersebut sudah ada. Coba menggunakan nama lain untuk menyimpannya", - "FILE_NOT_SAVED": "Anda tidak dapat menyimpan file dompet di folder ini. Tolong pilih folder yang lain.", - "TX_TYPE_NORMAL": "Error. Pembayaran dari dompet", - "TX_TYPE_NORMAL_TO": "untuk", - "TX_TYPE_NORMAL_END": "tidak selesai", - "TX_TYPE_NEW_ALIAS": "Error. Gagal untuk mendaftarkan alias ", - "TX_TYPE_NEW_ALIAS_END": "Silakan coba lagi", - "TX_TYPE_UPDATE_ALIAS": "Error. Gagal mengubah komentar menjadi alias dengan aman", - "TX_TYPE_COIN_BASE": "Error. Pembayaran tidak selesai." - }, - "CONTEXT_MENU": { - "COPY": "Salin", - "PASTE": "tempel/paste", - "SELECT": "pilih semua" - }, - "BACKEND_LOCALIZATION": { - "QUIT": "Keluar", - "IS_RECEIVED": "", - "IS_CONFIRMED": "", - "INCOME_TRANSFER_UNCONFIRMED": "Pembayaran masuk (belum terkonfirmasi)", - "INCOME_TRANSFER_CONFIRMED": "Pembayaran diterima", - "MINED": "Ditambang", - "LOCKED": "Diblokir", - "IS_MINIMIZE": "Aplikasi Zano di minimalkan ke dalam sistem tray.", - "RESTORE": "Kamu dapat mengembalikannya dengan cara mengklik ke dalam menu konteks.", - "TRAY_MENU_SHOW": "Ubah ukuran", - "TRAY_MENU_MINIMIZE": "Minimalkan" - } -} diff --git a/src/gui/qt-daemon/html/assets/i18n/it.json b/src/gui/qt-daemon/html/assets/i18n/it.json deleted file mode 100644 index 9e6282aa..00000000 --- a/src/gui/qt-daemon/html/assets/i18n/it.json +++ /dev/null @@ -1,593 +0,0 @@ -{ - "LOGIN": { - "SETUP_MASTER_PASS": "Imposta password principale", - "SETUP_CONFIRM_PASS": "Conferma la password", - "MASTER_PASS": "Password principale", - "BUTTON_NEXT": "Prossimo", - "BUTTON_SKIP": "Salta", - "BUTTON_RESET": "Azzera", - "INCORRECT_PASSWORD": "Password non valida", - "FORM_ERRORS": { - "PASS_REQUIRED": "La password è necessaria", - "CONFIRM_REQUIRED": "La conferma è necessaria", - "MISMATCH": "Non corrisponde" - } - }, - "COMMON": { - "BACK": "Torna indietro" - }, - "BREADCRUMBS": { - "ADD_WALLET": "Aggiungi portafoglio", - "CREATE_WALLET": "Crea un nuovo portafoglio", - "SAVE_PHRASE": "Salva la tua frase segreta", - "OPEN_WALLET": "Apri portafoglio esistente", - "RESTORE_WALLET": "Ripristina da backup", - "WALLET_DETAILS": "Dettagli portafoglio", - "ASSIGN_ALIAS": "Assegna alias", - "EDIT_ALIAS": "Modifica alias", - "TRANSFER_ALIAS": "Trasferisci alias", - "CONTRACTS": "Contratti", - "NEW_PURCHASE": "Nuovo acquisto", - "OLD_PURCHASE": "Acquisto" - }, - "SIDEBAR": { - "TITLE": "Portafogli", - "ADD_NEW": "+ Aggiungi", - "ACCOUNT": { - "STAKING": "Staking", - "MESSAGES": "Nuove offerte/messaggi", - "SYNCING": "Sincronizzazione portafoglio" - }, - "CONTACTS": "Contatti", - "SETTINGS": "Impostazioni", - "LOG_OUT": "Esci", - "SYNCHRONIZATION": { - "OFFLINE": "Offline", - "ONLINE": "Online", - "ERROR": "Errore di sistema", - "COMPLETE": "Completata", - "SYNCING": "Syncing block", - "LOADING": "Caricamento dati blockchain" - }, - "UPDATE": { - "STANDARD": "Aggiornamento disponibile", - "STANDARD_TOOLTIP": "Ottieni un nuovo aggiornamento.
      L'aggiornamento è consigliato!", - "IMPORTANT": "Aggiornamento disponibile", - "IMPORTANT_HINT": "Aggiornamento importante!", - "IMPORTANT_TOOLTIP": "Ottieni un nuovo aggiornamento.
      Aggiornamento importante!", - "CRITICAL": "Aggiornamento disponibile", - "CRITICAL_HINT": "Aggiornamento critico!", - "CRITICAL_TOOLTIP": "Aggiornamento critico disponibile.Aggiornamento fortemente consigliato!", - "TIME": "L'orario di sistema differisce dalla rete", - "TIME_TOOLTIP": "L'orario di sistema è sbagliato!
      Controlla e sistema l'orario di sistema." - } - }, - "MAIN": { - "TITLE": "Crea o apri il portafoglio per iniziare a usare Zano", - "BUTTON_NEW_WALLET": "Crea un nuovo portafoglio", - "BUTTON_OPEN_WALLET": "Apri portafoglio esistente", - "BUTTON_RESTORE_BACKUP": "Ripristina da backup", - "HELP": "Come creare il portafoglio?", - "CHOOSE_PATH": "Scegli un percorso" - }, - "CREATE_WALLET": { - "NAME": "Nome del portafoglio", - "PASS": "Imposta password portafoglio", - "CONFIRM": "Conferma password portafoglio", - "BUTTON_SELECT": "Seleziona posizione portafoglio", - "BUTTON_CREATE": "Crea portafoglio", - "TITLE_SAVE": "Salva il file del portafoglio.", - "ERROR_CANNOT_SAVE_TOP": "I file del portafoglio esistenti non possono essere sostituiti o sovrascritti", - "ERROR_CANNOT_SAVE_SYSTEM": "I file del portafoglio non possono essere salvati nella partizione di sistema", - "FORM_ERRORS": { - "NAME_REQUIRED": "Il nome è richiesto", - "NAME_DUPLICATE": "Il nome è duplicato", - "MAX_LENGTH": "Lunghezza massima del nome raggiunta", - "CONFIRM_NOT_MATCH": "La password di conferma non corrisponde" - } - }, - "OPEN_WALLET": { - "NAME": "Nome del portafoglio", - "PASS": "Password portafoglio", - "BUTTON": "Apri portafoglio", - "WITH_ADDRESS_ALREADY_OPEN": "Un portafoglio con questo indirizzo è già aperto", - "FILE_NOT_FOUND1": "File del portafoglio non trovato", - "FILE_NOT_FOUND2": "

      Potrebbe essere stato rinominato o spostato.
      Per aprirlo, usa il pulsante \"Apri portafoglio\".", - "FORM_ERRORS": { - "NAME_REQUIRED": "Il nome è richiesto", - "NAME_DUPLICATE": "Il nome è un duplicato", - "MAX_LENGTH": "Lunghezza massima del nome raggiunta" - }, - "MODAL": { - "TITLE": "Imposta password portafoglio", - "LABEL": "Password per questo portafoglio", - "OPEN": "Apri portafoglio", - "SKIP": "Salta", - "NOT_FOUND": "Non trovato" - } - }, - "RESTORE_WALLET": { - "LABEL_NAME": "Nome del portafoglio", - "LABEL_PHRASE_KEY": "Frase segreta / chiave privata", - "PASS": "Password portafoglio", - "CONFIRM": "Conferma password portafoglio", - "BUTTON_SELECT": "Seleziona posizione portafoglio", - "BUTTON_CREATE": "Crea portafoglio", - "NOT_CORRECT_FILE_OR_PASSWORD": "File del portafoglio non valido o password non corrispondente", - "CHOOSE_PATH": "Scegli un percorso", - "FORM_ERRORS": { - "NAME_REQUIRED": "Il nome è richiesto", - "NAME_DUPLICATE": "Il nome è un duplicato", - "MAX_LENGTH": "Lunghezza massima del nome raggiunta", - "CONFIRM_NOT_MATCH": "La password di conferma non corrisponde", - "KEY_REQUIRED": "Chiave richiesta", - "KEY_NOT_VALID": "Chiave non valida" - } - }, - "SEED_PHRASE": { - "TITLE": "Assicurati di mantenere la tua frase segreta in un posto sicuro. Se dimentichi la tua frase segreta non sarai in grado di recuperare il tuo portafoglio.", - "BUTTON_CREATE_ACCOUNT": "Crea portafoglio", - "BUTTON_COPY": "Copia" - }, - "PROGRESS": { - "ADD_WALLET": "Aggiungi portafoglio", - "SELECT_LOCATION": "Seleziona posizione portafoglio", - "CREATE_WALLET": "Crea un nuovo portafoglio", - "RESTORE_WALLET": "Ripristina da backup" - }, - "SETTINGS": { - "TITLE": "Impostazioni", - "DARK_THEME": "Tema scuro", - "WHITE_THEME": "Tema bianco", - "GRAY_THEME": "Tema grigio", - "APP_LOCK": { - "TITLE": "Blocca app dopo:", - "TIME1": "5 minuti", - "TIME2": "15 minuti", - "TIME3": "1 ora", - "TIME4": "Mai" - }, - "SCALE": { - "75": "75% scala", - "100": "100% scala", - "125": "125% scala", - "150": "150% scala" - }, - "MASTER_PASSWORD": { - "TITLE": "Aggiorna password principale", - "OLD": "Vecchia password", - "NEW": "Nuova password", - "CONFIRM": "Conferma nuova password", - "BUTTON": "Salva" - }, - "FORM_ERRORS": { - "PASS_REQUIRED": "La password è necessaria", - "PASS_NOT_MATCH": "La vecchia password non corrisponde", - "CONFIRM_NOT_MATCH": "La password di conferma non corrisponde" - }, - "LAST_BUILD": "Build attuale: {{value}}", - "APP_LOG_TITLE": "Livello di log:" - }, - "WALLET": { - "REGISTER_ALIAS": "Registra un alias", - "DETAILS": "Dettagli", - "LOCK": "Blocca", - "AVAILABLE_BALANCE": "Disponibile {{available}} {{currency}}", - "LOCKED_BALANCE": "Bloccato {{locked}} {{currency}}", - "LOCKED_BALANCE_LINK": "Che cosa significa?", - "TABS": { - "SEND": "Invia", - "RECEIVE": "Ricevi", - "HISTORY": "Storico", - "CONTRACTS": "Contratti", - "MESSAGES": "Messaggi", - "STAKING": "Staking" - } - }, - "WALLET_DETAILS": { - "LABEL_NAME": "Nome portafoglio", - "LABEL_FILE_LOCATION": "Posizione file portafoglio", - "LABEL_SEED_PHRASE": "Frase segreta", - "SEED_PHRASE_HINT": "Clicca per rivelare la frase segreta", - "BUTTON_SAVE": "Salva", - "BUTTON_REMOVE": "Chiudi portafoglio", - "FORM_ERRORS": { - "NAME_REQUIRED": "Il nome è richiesto", - "NAME_DUPLICATE": "Il nome è un duplicato", - "MAX_LENGTH": "Lunghezza massima del nome raggiunta" - } - }, - "ASSIGN_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": " Inserisci alias", - "TOOLTIP": "Un alias è un modulo abbreviato o il tuo account. Un alias può solo includere lettere latine, numeri e caratteri “.” e “-”. Deve iniziare con “@”." - }, - "COMMENT": { - "LABEL": "Commento", - "PLACEHOLDER": "", - "TOOLTIP": "Il commento sarà visibile a chiunque desideri effettuare un pagamento al tuo alias. Puoi fornire dettagli sul tuo business, contatti o includere qualsiasi testo. I commenti possono essere modificati più tardi." - }, - "COST": "Quota alias {{value}} {{currency}}", - "BUTTON_ASSIGN": "Assegna", - "FORM_ERRORS": { - "NAME_REQUIRED": "Il nome è richiesto", - "NAME_WRONG": "Nome Ungültiger: zulässige Symbole \"0-9\", \"a-z\", \"-\", \".\"", - "NAME_LENGTH": "L'alias deve essere lungo 6-25 caratteri", - "NAME_EXISTS": "Il nome dell'alias esiste già", - "NO_MONEY": "Non hai fondi sufficienti per assegnare questo alias", - "MAX_LENGTH": "Lunghezza massima del nome raggiunta" - }, - "ONE_ALIAS": "Puoi creare solo un alias per portafoglio", - "REQUEST_ADD_REG": "L'alias sarà assegnato entro 10 minuti" - }, - "EDIT_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Inserisci alias" - }, - "COMMENT": { - "LABEL": "Commento", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "NO_MONEY": "Non hai fondi sufficienti per modificare il commento a questo alias", - "MAX_LENGTH": "Lunghezza massima del commento raggiunta" - }, - "COST": "Tassa {{value}} {{currency}}", - "BUTTON_EDIT": "Modifica" - }, - "TRANSFER_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Inserisci alias" - }, - "COMMENT": { - "LABEL": "Commento", - "PLACEHOLDER": "" - }, - "ADDRESS": { - "LABEL": "Trasferisci a", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "WRONG_ADDRESS": "Non esiste alcun portafoglio con questo account", - "ALIAS_EXISTS": "Questo account ha già un alias", - "NO_MONEY": "Non hai fondi sufficienti per trasferire questo alias" - }, - "COST": "Trasferimento commissione {{value}} {{currency}}", - "BUTTON_TRANSFER": "Trasferisci", - "BUTTON_CANCEL": "Cancella", - "REQUEST_SEND_REG": "L'alias verrà trasferito entro 10 minuti" - }, - "SEND": { - "ADDRESS": "Indirizzo", - "AMOUNT": "Importo", - "COMMENT": "Commento", - "DETAILS": "Dettagli aggiuntivi", - "MIXIN": "Mixin", - "FEE": "Commissione", - "HIDE": "Nascondi l'indirizzo del tuo portafoglio dal destinatario", - "BUTTON": "Invia", - "SUCCESS_SENT": "Transazione inviata", - "FORM_ERRORS": { - "ADDRESS_REQUIRED": "Indirizzo richiesto", - "ADDRESS_NOT_VALID": "Indirizzo non valido", - "ALIAS_NOT_VALID": "Alias non valido", - "AMOUNT_REQUIRED": "Importo richiesto", - "AMOUNT_ZERO": "Importo è zero", - "FEE_REQUIRED": "La commissione è richiesta", - "FEE_MINIMUM": "Costo minimo: {{fee}}", - "MAX_LENGTH": "Lunghezza massima del commento raggiunta" - } - }, - "HISTORY": { - "STATUS": "Stato", - "STATUS_TOOLTIP": "Conferme {{current}}/{{total}}", - "LOCK_TOOLTIP": "Bloccato fino a {{date}}", - "SEND": "Inviato", - "RECEIVED": "Ricevuto", - "DATE": "Data", - "AMOUNT": "Importo", - "FEE": "Commissione", - "ADDRESS": "Indirizzo", - "DETAILS": { - "PAYMENT_ID": "ID pagamento", - "ID": "ID transazione", - "SIZE": "Dimensione transazione", - "SIZE_VALUE": "{{value}} byte", - "HEIGHT": "Altezza", - "CONFIRMATION": "Conferme", - "INPUTS": "Inputs", - "OUTPUTS": "Outputs", - "COMMENT": "Commenti" - }, - "TYPE_MESSAGES": { - "HIDDEN": "nascosto", - "UNDEFINED": "Non definito", - "COMPLETE_BUYER": "Contratto completato", - "COMPLETE_SELLER": "Contratto completato", - "CREATE_ALIAS": "Tassa per l'assegnazione dell'alias", - "UPDATE_ALIAS": "Tassa per modificare alias", - "POW_REWARD": "Ricompensa POW", - "POS_REWARD": "Ricompensa POS", - "CREATE_CONTRACT": "Proposta contratto", - "PLEDGE_CONTRACT": "Deposito contratto", - "NULLIFY_CONTRACT": "Burn deposit", - "PROPOSAL_CANCEL_CONTRACT": "Richiesta di cancellazione", - "CANCEL_CONTRACT": "Annulla e restituisce depositi" - } - }, - "CONTRACTS": { - "EMPTY": "Nessun contratto attivo", - "CONTRACTS": "Contratti", - "PURCHASE": "Acquisti", - "SELL": "Vendite", - "DATE": "Data", - "AMOUNT": "Importo", - "STATUS": "Stato", - "COMMENTS": "Commenti", - "PURCHASE_BUTTON": "Nuovo acquisto", - "LISTING_BUTTON": "Crea elenco", - "TIME_LEFT": { - "REMAINING_LESS_ONE": "Meno di un'ora per rispondere", - "REMAINING_ONE": "{{time}} ora rimasta", - "REMAINING_MANY": "{{time}} ore rimaste", - "REMAINING_MANY_ALT": "{{time}} ore rimaste", - "REMAINING_ONE_RESPONSE": "{{time}} ora rimasta", - "REMAINING_MANY_RESPONSE": "{{time}} ore rimaste", - "REMAINING_MANY_ALT_RESPONSE": "{{time}} ore rimaste", - "REMAINING_ONE_WAITING": "Attendi {{time}} ora", - "REMAINING_MANY_WAITING": "Attendi {{time}} ore", - "REMAINING_MANY_ALT_WAITING": "Attendi {{time}} ore" - }, - "STATUS_MESSAGES": { - "SELLER": { - "NEW_CONTRACT": "Nuova proposta di contratto", - "IGNORED": "Hai ignorato la proposta di contratto", - "ACCEPTED": "Contratto iniziato", - "WAIT": "In attesa di conferma del contratto", - "WAITING_BUYER": "In attesa di consegna", - "COMPLETED": "Contratto completato", - "NOT_RECEIVED": "Consegna fallita", - "NULLIFIED": "Tutti i depositi bruciati", - "PROPOSAL_CANCEL": "Nuova proposta di cancellare il contratto e restituire i depositi", - "BEING_CANCELLED": "Cancellazione in corso", - "CANCELLED": "Contratto cancellato", - "IGNORED_CANCEL": "Hai ignorato la proposta di cancellazione", - "EXPIRED": "La proposta del contratto è scaduta" - }, - "BUYER": { - "WAITING": "In attesa di risposta", - "IGNORED": "Il venditore ha ignorato la tua proposta di contratto", - "ACCEPTED": "Il venditore ha accettato la tua proposta di contratto", - "WAIT": "In attesa della conferma dei depositi", - "WAITING_SELLER": "In attesa di consegna", - "COMPLETED": "Contratto completato", - "NOT_RECEIVED": "Consegna fallita", - "NULLIFIED": "Tutti i depositi bruciati", - "WAITING_CANCEL": "In attesa della cancellazione del contratto", - "BEING_CANCELLED": "Cancellazione in corso", - "CANCELLED": "Contratto cancellato", - "IGNORED_CANCEL": "Il venditore ha ignorato la tua proposta di annullare il contratto", - "EXPIRED": "La proposta di contratto è scaduta" - } - } - }, - "PURCHASE": { - "DESCRIPTION": "Descrizione", - "SELLER": "Venditore", - "AMOUNT": "Importo", - "YOUR_DEPOSIT": "Il tuo deposito", - "SELLER_DEPOSIT": "Deposito venditore", - "BUYER_DEPOSIT": "Deposito acquirente", - "SAME_AMOUNT": "Stesso importo", - "COMMENT": "Commento", - "DETAILS": "Dettagli aggiuntivi", - "SEND_BUTTON": "Invia", - "FORM_ERRORS": { - "DESC_REQUIRED": "Descrizione richiesta", - "DESC_MAXIMUM": "Lunghezza massima del campo raggiunta", - "SELLER_REQUIRED": "Indirizzo richiesto", - "SELLER_NOT_VALID": "Indirizzo non valido", - "ALIAS_NOT_VALID": "Alias non valido", - "AMOUNT_REQUIRED": "Importo richiesto", - "AMOUNT_ZERO": "L'importo non può essere zero", - "YOUR_DEPOSIT_REQUIRED": "Deposito richiesto", - "SELLER_DEPOSIT_REQUIRED": "Deposito venditore richiesto", - "SELLER_SAME": "Usa account separato", - "COMMENT_MAXIMUM": "Lunghezza massima del campo raggiunta" - }, - "PROGRESS_NEW": "Nuovo acquisto", - "PROGRESS_WAIT": "In attesa di risposta", - "PROGRESS_RECEIVE": "Risposta ricevuta", - "PROGRESS_COMPLETE": "Completato", - "FEE": "Commissione", - "PAYMENT": "ID pagamento", - "STATUS_MESSAGES": { - "NEW_PURCHASE": "Nuovo acquisto", - "WAITING_SELLER": "In attesa di risposta", - "WAITING_BUYER": "Proposta contratto ricevuta", - "WAITING_CONFIRMATION": "In attesa della conferma dei depositi", - "WAITING_DELIVERY": "In attesa di consegna", - "COMPLETED": "Contratto completato", - "IGNORED_BUYER": "Proposta del contratto ignorata", - "IGNORED_SELLER": "Il venditore ha ignorato la tua proposta di contratto", - "PROPOSAL_CANCEL_SELLER": "Richiesta di cancellazione inviata", - "PROPOSAL_CANCEL_BUYER": "Richiesta di cancellazione ricevuta", - "BEING_CANCELLED": "Cancellazione in corso", - "IGNORED_CANCEL_SELLER": "Il venditore ha ignorato la tua proposta di cancellare il contratto", - "IGNORED_CANCEL_BUYER": "Proposta di cancellazione del contratto ignorata", - "CANCELLED": "Contratto cancellato", - "EXPIRED": "Proposta contratto scaduta", - "NOT_RECEIVED": "Consegna fallita", - "NULLIFIED": "Tutti i depositi bruciati" - }, - "ACCEPT_STATE_WAIT_BIG": "Contratto iniziato", - "IGNORED_ACCEPT": "Proposta del contratto ignorata", - "BURN_PROPOSAL": "Depositi bruciati", - "SUCCESS_FINISH_PROPOSAL": "Contratto completato", - "SEND_CANCEL_PROPOSAL": "Richiesta di cancellazione inviata", - "IGNORED_CANCEL": "Proposta di cancellazione del contratto ignorata", - "DEALS_CANCELED_WAIT": "Cancellazione in corso", - "WAITING_TIME": "Tempo di risposta", - "NEED_MONEY": "Fondi insufficienti", - "BUTTON_MAKE_PLEDGE": "Accetta e effettua il deposito", - "BUTTON_IGNORE": "Ignora e nascondi l'offerta", - "BUTTON_NULLIFY": "Termina e brucia i depositi", - "BUTTON_RECEIVED": "Completa e rilascia i depositi", - "BUTTON_CANCEL_BUYER": "Cancella e restituisce i depositi", - "BUTTON_NOT_CANCEL": "Ignora richiesta", - "BUTTON_CANCEL_SELLER": "Conferma e restituisce depositi", - "HOUR": "ora", - "HOURS": "ore", - "CANCEL": "Cancella", - "NULLIFY_QUESTION": "Sei sicuro di voler bruciare entrambi i depositi?", - "BUTTON_NULLIFY_SHORT": "Bruciare", - "WAITING_TIME_QUESTION": "Sei sicuro di voler cancellare il contratto?" - }, - "MESSAGES": { - "ADDRESS": "Indirizzo", - "MESSAGE": "Messaggio", - "SEND_PLACEHOLDER": "Digita un messaggio...", - "SEND_BUTTON": "Invia" - }, - "MODALS": { - "ERROR": "Errore", - "SUCCESS": "Successo", - "INFO": "Informazioni", - "OK": "OK" - }, - "CONFIRM": { - "BUTTON_CONFIRM": "Invia", - "BUTTON_CANCEL": "Cancella", - "TITLE": "Conferma la transazione", - "MESSAGE": { - "SEND": "Invia", - "FROM": "Da", - "TO": "A", - "COMMENT": "Commento" - } - }, - "STAKING": { - "TITLE": "Staking", - "TITLE_PENDING": "In sospeso", - "TITLE_TOTAL": "Totale", - "TITLE_PERIOD": "Periodo di tempo:", - "PERIOD": { - "WEEK1": "1 settimana", - "WEEK2": "2 settimane", - "MONTH1": "1 mese", - "MONTH3": "3 mesi", - "MONTH6": "6 mesi", - "YEAR": "1 anno", - "ALL": "Tutti" - }, - "TITLE_GROUP": "Gruppo:", - "GROUP": { - "DAY": "giorno", - "WEEK": "settimana", - "MONTH": "mese" - }, - "SWITCH": { - "ON": "ON", - "OFF": "OFF" - } - }, - "CONTACTS": { - "TITLE": "Lista contatti", - "IMPORT_EXPORT": "Importa o esporta contatti", - "IMPORT": "Importa", - "EXPORT": "Esporta", - "ADD": "Aggiungi/modifica contatto", - "SEND": "Invia", - "SEND_FROM": "Invia da", - "SEND_TO": "A", - "OPEN_ADD_WALLET": "Apri/Aggiungi portafoglio", - "COPY": "- Copia", - "TABLE": { - "NAME": "Nome", - "ALIAS": "Alias", - "ADDRESS": "Indirizzo", - "NOTES": "Note", - "EMPTY": "La lista dei contatti è vuota" - }, - "FORM": { - "NAME": "Nome", - "ADDRESS": "Indirizzo", - "NOTES": "Note" - }, - "FORM_ERRORS": { - "NAME_REQUIRED": "Il nome è richiesto", - "NAME_DUBLICATED": "Il nome è un duplicato", - "ADDRESS_REQUIRED": "Indirizzo è richiesto", - "ADDRESS_NOT_VALID": "Indirizzo non valido", - "SET_MASTER_PASSWORD": "Imposta password principale", - "ADDRESS_DUBLICATED": "Indirizzo è un duplicato", - "MAX_LENGTH": "Lunghezza massima delle note raggiunta", - "NAME_LENGTH": "Il nome deve essere lungo da 4 a 25 caratteri" - }, - "BUTTON": { - "SEND": "Invia", - "EDIT": "Modifica", - "DELETE": "Elimina", - "ADD": "Aggiungi contatto", - "ADD_EDIT": "Aggiungi/Salva", - "GO_TO_WALLET": "Vai al portafoglio", - "IMPORT_EXPORT": "Importa/esporta" - }, - "SUCCESS_SENT": "Contatto aggiunto", - "SUCCESS_SAVE": "Contatto modificato", - "SUCCESS_IMPORT": "Contacts are imported", - "SUCCESS_EXPORT": "Contacts are exported", - "ERROR_IMPORT": "Si è verificato un errore durante la lettura del file!", - "ERROR_TYPE_FILE": "Please import valid .csv file", - "ERROR_EXPORT": "Invalid file type. Save file as .csv", - "ERROR_EMPTY_LIST": "Contact list is empty", - "ERROR_IMPORT_EMPTY": "File is empty" - }, - "ERRORS": { - "NO_MONEY": "Non abbastanza denaro", - "NOT_ENOUGH_MONEY": "Fondi insufficienti nell'account", - "CORE_BUSY": "Errore interno: il core è occupato", - "DAEMON_BUSY": "Errore interno: daemon è occupato", - "NO_MONEY_REMOVE_OFFER": "Non c'è alcun costo per eliminare un'offerta ma, per proteggere la rete dalle molte transazioni, devi avere almeno {{fee}} {{currency}} nel tuo portafoglio", - "NOT_ENOUGH_OUTPUTS_TO_MIX": "Il numero di Mix-in è troppo grande per lo stato corrente della blockchain. Non ci sono abbastanza output non spesi per mescolare con", - "TRANSACTION_IS_TO_BIG": "La transazione supera il limite di rete, invia l'importo richiesto con transazioni multiple", - "TRANSFER_ATTEMPT": "Non c'è connessione alla rete Zano", - "ACCESS_DENIED": "Accesso negato", - "TRANSACTION_ERROR": "Errore. Transazione non completata.", - "BAD_ARG": "Argomento non valido", - "WALLET_WRONG_ID": "ID portafoglio non valido", - "WRONG_PASSWORD": "Password non valida", - "FILE_RESTORED": "Il file del portafoglio è stato danneggiato. Abbiamo recuperato le chiavi e il portafoglio dalla blockchain", - "FILE_NOT_FOUND": "File non trovato", - "FILE_EXIST": "Esiste già un file con questo nome. Inserisci un altro nome per salvare il file", - "FILE_NOT_SAVED": "Non puoi salvare un file di portafoglio in questa cartella. Scegli un'altra cartella.", - "TX_TYPE_NORMAL": "Errore. Il pagamento dal portafoglio", - "TX_TYPE_NORMAL_TO": "a", - "TX_TYPE_NORMAL_END": "non è stato completato.", - "TX_TYPE_NEW_ALIAS": "Errore. Impossibile registrare l'alias in sicurezza", - "TX_TYPE_NEW_ALIAS_END": "Per favore riprova.", - "TX_TYPE_UPDATE_ALIAS": "Errore. Impossibile cambiare il commento all'alias in sicurezza", - "TX_TYPE_COIN_BASE": "Errore. Il pagamento non è stato completato." - }, - "CONTEXT_MENU": { - "COPY": "copia", - "PASTE": "incolla", - "SELECT": "seleziona tutto" - }, - "BACKEND_LOCALIZATION": { - "QUIT": "Esci", - "IS_RECEIVED": "", - "IS_CONFIRMED": "", - "INCOME_TRANSFER_UNCONFIRMED": "Pagamento in arrivo (non confermato)", - "INCOME_TRANSFER_CONFIRMED": "Pagamento ricevuto", - "MINED": "Minato", - "LOCKED": "Bloccato", - "IS_MINIMIZE": "L'applicazione Zano è minimizzata nella barra di sistema", - "RESTORE": "Puoi recuperarlo cliccando o utilizzando il menu contestuale", - "TRAY_MENU_SHOW": "Ridimensiona", - "TRAY_MENU_MINIMIZE": "Minimizza" - } -} diff --git a/src/gui/qt-daemon/html/assets/i18n/ja.json b/src/gui/qt-daemon/html/assets/i18n/ja.json deleted file mode 100644 index 22a0de0e..00000000 --- a/src/gui/qt-daemon/html/assets/i18n/ja.json +++ /dev/null @@ -1,588 +0,0 @@ -{ - "LOGIN": { - "SETUP_MASTER_PASS": "Setup master password", - "SETUP_CONFIRM_PASS": "Confirm the password", - "MASTER_PASS": "Master password", - "BUTTON_NEXT": "Next", - "BUTTON_SKIP": "Skip", - "BUTTON_RESET": "Reset", - "INCORRECT_PASSWORD": "Invalid password", - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "CONFIRM_REQUIRED": "Confirmation is required", - "MISMATCH": "Mismatch" - } - }, - "COMMON": { - "BACK": "Go back" - }, - "BREADCRUMBS": { - "ADD_WALLET": "Add wallet", - "CREATE_WALLET": "Create new wallet", - "SAVE_PHRASE": "Save your seed phrase", - "OPEN_WALLET": "Open existing wallet", - "RESTORE_WALLET": "Restore from backup", - "WALLET_DETAILS": "Wallet details", - "ASSIGN_ALIAS": "Assign alias", - "EDIT_ALIAS": "Edit alias", - "TRANSFER_ALIAS": "Transfer alias", - "CONTRACTS": "Contracts", - "NEW_PURCHASE": "New purchase", - "OLD_PURCHASE": "Purchase" - }, - "SIDEBAR": { - "TITLE": "Wallets", - "ADD_NEW": "+ Add", - "ACCOUNT": { - "STAKING": "Staking", - "MESSAGES": "New offers/Messages", - "SYNCING": "Syncing wallet" - }, - "CONTACTS": "Contacts", - "SETTINGS": "Settings", - "LOG_OUT": "Log out", - "SYNCHRONIZATION": { - "OFFLINE": "Offline", - "ONLINE": "Online", - "ERROR": "System error", - "COMPLETE": "Completion", - "SYNCING": "Syncing blockchain", - "LOADING": "Loading blockchain data" - }, - "UPDATE": { - "STANDARD": "Update available", - "STANDARD_TOOLTIP": "Get new update.
      Update is recommended!", - "IMPORTANT": "Update available", - "IMPORTANT_HINT": "Important update!", - "IMPORTANT_TOOLTIP": "Get new update.
      Important update!", - "CRITICAL": "Update available", - "CRITICAL_HINT": "Critical update!", - "CRITICAL_TOOLTIP": "Critical update available.Update strongly recommended!", - "TIME": "System time differs from network", - "TIME_TOOLTIP": "Wrong system time!
      Check and repair your system time." - } - }, - "MAIN": { - "TITLE": "Create or open the wallet to start using Zano", - "BUTTON_NEW_WALLET": "Create new wallet", - "BUTTON_OPEN_WALLET": "Open existing wallet", - "BUTTON_RESTORE_BACKUP": "Restore from backup", - "HELP": "How to create wallet?", - "CHOOSE_PATH": "Please choose a path" - }, - "CREATE_WALLET": { - "NAME": "Wallet name", - "PASS": "Set wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "TITLE_SAVE": "Save the wallet file.", - "ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten", - "ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match" - } - }, - "OPEN_WALLET": { - "NAME": "Wallet name", - "PASS": "Wallet password", - "BUTTON": "Open wallet", - "WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open", - "FILE_NOT_FOUND1": "Wallet file not found", - "FILE_NOT_FOUND2": "

      It might have been renamed or moved.
      To open it, use the \"Open wallet\" button.", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - }, - "MODAL": { - "TITLE": "Type wallet password", - "LABEL": "Password to this wallet", - "OPEN": "Open wallet", - "SKIP": "Skip", - "NOT_FOUND": "Not found" - } - }, - "RESTORE_WALLET": { - "LABEL_NAME": "Wallet name", - "LABEL_PHRASE_KEY": "Seed phrase / tracking seed", - "PASS": "Wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match", - "CHOOSE_PATH": "Please choose a path", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match", - "KEY_REQUIRED": "Key is required", - "KEY_NOT_VALID": "Key not valid" - } - }, - "SEED_PHRASE": { - "TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.", - "BUTTON_CREATE_ACCOUNT": "Create wallet", - "BUTTON_COPY": "Copy" - }, - "PROGRESS": { - "ADD_WALLET": "Add wallet", - "SELECT_LOCATION": "Select wallet location", - "CREATE_WALLET": "Create new wallet", - "RESTORE_WALLET": "Restore from backup" - }, - "SETTINGS": { - "TITLE": "Settings", - "DARK_THEME": "Dark theme", - "WHITE_THEME": "White theme", - "GRAY_THEME": "Grey theme", - "APP_LOCK": { - "TITLE": "Lock app after:", - "TIME1": "5 min", - "TIME2": "15 min", - "TIME3": "1 hour", - "TIME4": "Never" - }, - - "MASTER_PASSWORD": { - "TITLE": "Update master password", - "OLD": "Old password", - "NEW": "New password", - "CONFIRM": "New password confirmation", - "BUTTON": "Save" - }, - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "PASS_NOT_MATCH": "Old password not match", - "CONFIRM_NOT_MATCH": "Confirm password not match" - }, - "LAST_BUILD": "Current build: {{value}}", - "APP_LOG_TITLE": "Log level:" - }, - "WALLET": { - "REGISTER_ALIAS": "Register an alias", - "DETAILS": "Details", - "LOCK": "Lock", - "AVAILABLE_BALANCE": "Available {{available}} {{currency}}", - "LOCKED_BALANCE": "Locked {{locked}} {{currency}}", - "LOCKED_BALANCE_LINK": "What does that mean?", - "TABS": { - "SEND": "Send", - "RECEIVE": "Receive", - "HISTORY": "History", - "CONTRACTS": "Contracts", - "MESSAGES": "Messages", - "STAKING": "Staking" - } - }, - "WALLET_DETAILS": { - "LABEL_NAME": "Wallet name", - "LABEL_FILE_LOCATION": "Wallet file location", - "LABEL_SEED_PHRASE": "Seed phrase", - "SEED_PHRASE_HINT": "Click to reveal the seed phrase", - "BUTTON_SAVE": "Save", - "BUTTON_REMOVE": "Close wallet", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - } - }, - "ASSIGN_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": " Enter alias", - "TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”." - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "", - "TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later." - }, - "COST": "Alias fee {{value}} {{currency}}", - "BUTTON_ASSIGN": "Assign", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_WRONG": "Invalid name: allowed symbols \"0-9\", \"a-z\", \"-\", \".\"", - "NAME_LENGTH": "The alias must be 6-25 characters long", - "NAME_EXISTS": "Alias name already exists", - "NO_MONEY": "You do not have enough funds to assign this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "ONE_ALIAS": "You can create only one alias per wallet", - "REQUEST_ADD_REG": "The alias will be assigned within 10 minutes" - }, - "EDIT_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "NO_MONEY": "You do not have enough funds to change the comment to this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "COST": "Fee {{value}} {{currency}}", - "BUTTON_EDIT": "Edit" - }, - "TRANSFER_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "ADDRESS": { - "LABEL": "Transfer to", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "WRONG_ADDRESS": "No wallet with this account exists", - "ALIAS_EXISTS": "This account already has an alias", - "NO_MONEY": "You do not have enough funds to transfer this alias" - }, - "COST": "Transfer fee {{value}} {{currency}}", - "BUTTON_TRANSFER": "Transfer", - "BUTTON_CANCEL": "Cancel", - "REQUEST_SEND_REG": "The alias will be transferred within 10 minutes" - }, - "SEND": { - "ADDRESS": "Address", - "AMOUNT": "Amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "MIXIN": "Mixin", - "FEE": "Fee", - "HIDE": "Hide your wallet address from recipient", - "BUTTON": "Send", - "SUCCESS_SENT": "Transaction sent", - "FORM_ERRORS": { - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "ALIAS_NOT_VALID": "Alias not valid", - "AMOUNT_REQUIRED": "Amount is required", - "AMOUNT_ZERO": "Amount is zero", - "FEE_REQUIRED": "Fee is required", - "FEE_MINIMUM": "Minimum fee: {{fee}}", - "MAX_LENGTH": "Maximum comment length reached" - } - }, - "HISTORY": { - "STATUS": "Status", - "STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}", - "LOCK_TOOLTIP": "Locked till {{date}}", - "SEND": "Sent", - "RECEIVED": "Received", - "DATE": "Date", - "AMOUNT": "Amount", - "FEE": "Fee", - "ADDRESS": "Address", - "DETAILS": { - "PAYMENT_ID": "Payment ID", - "ID": "Transaction ID", - "SIZE": "Transaction size", - "SIZE_VALUE": "{{value}} bytes", - "HEIGHT": "Height", - "CONFIRMATION": "Confirmation", - "INPUTS": "Inputs", - "OUTPUTS": "Outputs", - "COMMENT": "Comment" - }, - "TYPE_MESSAGES": { - "HIDDEN": "hidden", - "UNDEFINED": "Undefined", - "COMPLETE_BUYER": "Contract completed", - "COMPLETE_SELLER": "Contract completed", - "CREATE_ALIAS": "Fee for assigning alias", - "UPDATE_ALIAS": "Fee for editing alias", - "POW_REWARD": "POW reward", - "POS_REWARD": "POS reward", - "CREATE_CONTRACT": "Contract proposal", - "PLEDGE_CONTRACT": "Contract deposit", - "NULLIFY_CONTRACT": "Burn deposits", - "PROPOSAL_CANCEL_CONTRACT": "Cancellation request", - "CANCEL_CONTRACT": "Cancel and return deposits" - } - }, - "CONTRACTS": { - "EMPTY": "No active contracts", - "CONTRACTS": "Contracts", - "PURCHASE": "Purchase", - "SELL": "Sell", - "DATE": "Date", - "AMOUNT": "Amount", - "STATUS": "Status", - "COMMENTS": "Comments", - "PURCHASE_BUTTON": "New Purchase", - "LISTING_BUTTON": "Create listing", - "TIME_LEFT": { - "REMAINING_LESS_ONE": "Less than an hour to respond", - "REMAINING_ONE": "{{time}} hour remains", - "REMAINING_MANY": "{{time}} hours remain", - "REMAINING_MANY_ALT": "{{time}} hours remain", - "REMAINING_ONE_RESPONSE": "{{time}} hour remains", - "REMAINING_MANY_RESPONSE": "{{time}} hours remain", - "REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain", - "REMAINING_ONE_WAITING": "Waiting for {{time}} hour", - "REMAINING_MANY_WAITING": "Waiting for {{time}} hours", - "REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours" - }, - "STATUS_MESSAGES": { - "SELLER": { - "NEW_CONTRACT": "New contract proposal", - "IGNORED": "You ignored contract proposal", - "ACCEPTED": "Contract started", - "WAIT": "Waiting for contract confirmation", - "WAITING_BUYER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "You ignored cancellation proposal", - "EXPIRED": "Contract proposal has expired" - }, - "BUYER": { - "WAITING": "Waiting for response", - "IGNORED": "Seller ignored your contract proposal", - "ACCEPTED": "Seller accepted your contract proposal", - "WAIT": "Waiting for deposits confirmation", - "WAITING_SELLER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "WAITING_CANCEL": "Waiting for contract cancellation", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract", - "EXPIRED": "The contract proposal has expired" - } - } - }, - "PURCHASE": { - "DESCRIPTION": "Description", - "SELLER": "Seller", - "AMOUNT": "Amount", - "YOUR_DEPOSIT": "Your deposit", - "SELLER_DEPOSIT": "Seller deposit", - "BUYER_DEPOSIT": "Buyer deposit", - "SAME_AMOUNT": "Same amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "SEND_BUTTON": "Send", - "FORM_ERRORS": { - "DESC_REQUIRED": "Description required", - "DESC_MAXIMUM": "Maximum field length reached", - "SELLER_REQUIRED": "Address required", - "SELLER_NOT_VALID": "Invalid address", - "ALIAS_NOT_VALID": "Invalid alias", - "AMOUNT_REQUIRED": "Amount required", - "AMOUNT_ZERO": "Amount cannot be zero", - "YOUR_DEPOSIT_REQUIRED": "Deposit required", - "SELLER_DEPOSIT_REQUIRED": "Seller deposit required", - "SELLER_SAME": "Use separate account", - "COMMENT_MAXIMUM": "Maximum field length reached" - }, - "PROGRESS_NEW": "New purchase", - "PROGRESS_WAIT": "Awaiting reply", - "PROGRESS_RECEIVE": "Reply received", - "PROGRESS_COMPLETE": "Completed", - "FEE": "Fee", - "PAYMENT": "Payment ID", - "STATUS_MESSAGES": { - "NEW_PURCHASE": "New purchase", - "WAITING_SELLER": "Waiting for response", - "WAITING_BUYER": "Contract proposal received", - "WAITING_CONFIRMATION": "Waiting for deposits confirmation", - "WAITING_DELIVERY": "Waiting for delivery", - "COMPLETED": "Contract completed", - "IGNORED_BUYER": "Contract proposal ignored", - "IGNORED_SELLER": "The seller ignored your contract proposal", - "PROPOSAL_CANCEL_SELLER": "Cancellation request sent", - "PROPOSAL_CANCEL_BUYER": "Cancellation request received", - "BEING_CANCELLED": "Cancellation in progress", - "IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract", - "IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored", - "CANCELLED": "Contract canceled", - "EXPIRED": "Contract proposal expired", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned" - }, - "ACCEPT_STATE_WAIT_BIG": "Contract started", - "IGNORED_ACCEPT": "Contract proposal ignored", - "BURN_PROPOSAL": "Deposits burned", - "SUCCESS_FINISH_PROPOSAL": "Contract completed", - "SEND_CANCEL_PROPOSAL": "Cancellation request sent", - "IGNORED_CANCEL": "Contract cancellation proposal ignored", - "DEALS_CANCELED_WAIT": "Cancellation in progress", - "WAITING_TIME": "Response time", - "NEED_MONEY": "Insufficient funds", - "BUTTON_MAKE_PLEDGE": "Accept and make deposit", - "BUTTON_IGNORE": "Ignore and hide offer", - "BUTTON_NULLIFY": "Terminate and burn deposits", - "BUTTON_RECEIVED": "Complete and release deposits", - "BUTTON_CANCEL_BUYER": "Cancel and return deposits", - "BUTTON_NOT_CANCEL": "Ignore request", - "BUTTON_CANCEL_SELLER": "Confirm and return deposits", - "HOUR": "hour", - "HOURS": "hours", - "CANCEL": "Cancel", - "NULLIFY_QUESTION": "Are you sure you want to burn both deposits?", - "BUTTON_NULLIFY_SHORT": "Burn", - "WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?" - }, - "MESSAGES": { - "ADDRESS": "Address", - "MESSAGE": "Message", - "SEND_PLACEHOLDER": "Type a message...", - "SEND_BUTTON": "Send" - }, - "MODALS": { - "ERROR": "Error", - "SUCCESS": "Success", - "INFO": "Information", - "OK": "OK" - }, - "CONFIRM": { - "BUTTON_CONFIRM": "Send", - "BUTTON_CANCEL": "Cancel", - "TITLE": "Confirm transaction", - "MESSAGE": { - "SEND": "Send", - "FROM": "From", - "TO": "To", - "COMMENT": "Comment" - } - }, - "STAKING": { - "TITLE": "Staking", - "TITLE_PENDING": "Pending", - "TITLE_TOTAL": "Total", - "TITLE_PERIOD": "Time period:", - "PERIOD": { - "WEEK1": "1 week", - "WEEK2": "2 week", - "MONTH1": "1 month", - "MONTH3": "3 month", - "MONTH6": "6 month", - "YEAR": "1 year", - "ALL": "All" - }, - "TITLE_GROUP": "Group:", - "GROUP": { - "DAY": "day", - "WEEK": "week", - "MONTH": "month" - }, - "SWITCH": { - "ON": "ON", - "OFF": "OFF" - } - }, - "CONTACTS": { - "TITLE": "Contact list", - "IMPORT_EXPORT": "Import or export contacts", - "IMPORT": "Import", - "EXPORT": "Export", - "ADD": "Add/edit contact", - "SEND": "Send", - "SEND_FROM": "Send from", - "SEND_TO": "To", - "OPEN_ADD_WALLET": "Open/Add wallet", - "COPY": "- Copy", - "TABLE": { - "NAME": "Name", - "ALIAS": "Alias", - "ADDRESS": "Address", - "NOTES": "Notes", - "EMPTY": "Contact list is empty" - }, - "FORM": { - "NAME": "Name", - "ADDRESS": "Address", - "NOTES": "Notes" - }, - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUBLICATED": "Name is dublicated", - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "SET_MASTER_PASSWORD": "Set master password", - "ADDRESS_DUBLICATED": "Address is dublicated", - "MAX_LENGTH": "Maximum notes length reached", - "NAME_LENGTH": "The name must be 4-25 characters long" - }, - "BUTTON": { - "SEND": "Send", - "EDIT": "Edit", - "DELETE": "Delete", - "ADD": "Add contact", - "ADD_EDIT": "Add/Save", - "GO_TO_WALLET": "Go to wallet", - "IMPORT_EXPORT": "Import/export" - }, - "SUCCESS_SENT": "Contact added", - "SUCCESS_SAVE": "Contact is edited", - "SUCCESS_IMPORT": "Contacts are imported", - "SUCCESS_EXPORT": "Contacts are exported", - "ERROR_IMPORT": "Error is occured while reading file!", - "ERROR_TYPE_FILE": "Please import valid .csv file", - "ERROR_EXPORT": "Invalid file type. Save file as .csv", - "ERROR_EMPTY_LIST": "Contact list is empty", - "ERROR_IMPORT_EMPTY": "File is empty" - }, - "ERRORS": { - "NO_MONEY": "Not enough money", - "NOT_ENOUGH_MONEY": "Insufficient funds in account", - "CORE_BUSY": "Internal error: core is busy", - "DAEMON_BUSY": "Internal error: daemon is busy", - "NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet", - "NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with", - "TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions", - "TRANSFER_ATTEMPT": "There is no connection to Zano network", - "ACCESS_DENIED": "Access denied", - "TRANSACTION_ERROR": "Error. Transaction not completed.", - "BAD_ARG": "Invalid argument", - "WALLET_WRONG_ID": "Invalid wallet ID", - "WRONG_PASSWORD": "Invalid password", - "FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain", - "FILE_NOT_FOUND": "File not found", - "FILE_EXIST": "A file with that name already exists. Enter another name to save the file under", - "FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.", - "TX_TYPE_NORMAL": "Error. The payment from the wallet", - "TX_TYPE_NORMAL_TO": "to", - "TX_TYPE_NORMAL_END": "was not completed.", - "TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe", - "TX_TYPE_NEW_ALIAS_END": "Please try again.", - "TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe", - "TX_TYPE_COIN_BASE": "Error. The payment was not completed." - }, - "CONTEXT_MENU": { - "COPY": "copy", - "PASTE": "paste", - "SELECT": "select all" - }, - "BACKEND_LOCALIZATION": { - "QUIT": "Quit", - "IS_RECEIVED": "", - "IS_CONFIRMED": "", - "INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)", - "INCOME_TRANSFER_CONFIRMED": "Payment received", - "MINED": "Mined", - "LOCKED": "Blocked", - "IS_MINIMIZE": "Zano application is minimized to the system tray", - "RESTORE": "You can recover it by clicking or using the context menu", - "TRAY_MENU_SHOW": "Resize", - "TRAY_MENU_MINIMIZE": "Minimize" - } -} diff --git a/src/gui/qt-daemon/html/assets/i18n/ko.json b/src/gui/qt-daemon/html/assets/i18n/ko.json deleted file mode 100644 index 59e88fa0..00000000 --- a/src/gui/qt-daemon/html/assets/i18n/ko.json +++ /dev/null @@ -1,593 +0,0 @@ -{ - "LOGIN": { - "SETUP_MASTER_PASS": "Setup master password", - "SETUP_CONFIRM_PASS": "Confirm the password", - "MASTER_PASS": "Master password", - "BUTTON_NEXT": "Next", - "BUTTON_SKIP": "Skip", - "BUTTON_RESET": "Reset", - "INCORRECT_PASSWORD": "Invalid password", - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "CONFIRM_REQUIRED": "Confirmation is required", - "MISMATCH": "Mismatch" - } - }, - "COMMON": { - "BACK": "Go back" - }, - "BREADCRUMBS": { - "ADD_WALLET": "Add wallet", - "CREATE_WALLET": "Create new wallet", - "SAVE_PHRASE": "Save your seed phrase", - "OPEN_WALLET": "Open existing wallet", - "RESTORE_WALLET": "Restore from backup", - "WALLET_DETAILS": "Wallet details", - "ASSIGN_ALIAS": "Assign alias", - "EDIT_ALIAS": "Edit alias", - "TRANSFER_ALIAS": "Transfer alias", - "CONTRACTS": "Contracts", - "NEW_PURCHASE": "New purchase", - "OLD_PURCHASE": "Purchase" - }, - "SIDEBAR": { - "TITLE": "Wallets", - "ADD_NEW": "+ Add", - "ACCOUNT": { - "STAKING": "Staking", - "MESSAGES": "New offers/Messages", - "SYNCING": "Syncing wallet" - }, - "CONTACTS": "Contacts", - "SETTINGS": "Settings", - "LOG_OUT": "Log out", - "SYNCHRONIZATION": { - "OFFLINE": "Offline", - "ONLINE": "Online", - "ERROR": "System error", - "COMPLETE": "Completion", - "SYNCING": "Syncing blockchain", - "LOADING": "Loading blockchain data" - }, - "UPDATE": { - "STANDARD": "Update available", - "STANDARD_TOOLTIP": "Get new update.
      Update is recommended!", - "IMPORTANT": "Update available", - "IMPORTANT_HINT": "Important update!", - "IMPORTANT_TOOLTIP": "Get new update.
      Important update!", - "CRITICAL": "Update available", - "CRITICAL_HINT": "Critical update!", - "CRITICAL_TOOLTIP": "Critical update available.Update strongly recommended!", - "TIME": "System time differs from network", - "TIME_TOOLTIP": "Wrong system time!
      Check and repair your system time." - } - }, - "MAIN": { - "TITLE": "Create or open the wallet to start using Zano", - "BUTTON_NEW_WALLET": "Create new wallet", - "BUTTON_OPEN_WALLET": "Open existing wallet", - "BUTTON_RESTORE_BACKUP": "Restore from backup", - "HELP": "How to create wallet?", - "CHOOSE_PATH": "Please choose a path" - }, - "CREATE_WALLET": { - "NAME": "Wallet name", - "PASS": "Set wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "TITLE_SAVE": "Save the wallet file.", - "ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten", - "ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match" - } - }, - "OPEN_WALLET": { - "NAME": "Wallet name", - "PASS": "Wallet password", - "BUTTON": "Open wallet", - "WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open", - "FILE_NOT_FOUND1": "Wallet file not found", - "FILE_NOT_FOUND2": "

      It might have been renamed or moved.
      To open it, use the \"Open wallet\" button.", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - }, - "MODAL": { - "TITLE": "Type wallet password", - "LABEL": "Password to this wallet", - "OPEN": "Open wallet", - "SKIP": "Skip", - "NOT_FOUND": "Not found" - } - }, - "RESTORE_WALLET": { - "LABEL_NAME": "Wallet name", - "LABEL_PHRASE_KEY": "Seed phrase / tracking seed", - "PASS": "Wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match", - "CHOOSE_PATH": "Please choose a path", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match", - "KEY_REQUIRED": "Key is required", - "KEY_NOT_VALID": "Key not valid" - } - }, - "SEED_PHRASE": { - "TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.", - "BUTTON_CREATE_ACCOUNT": "Create wallet", - "BUTTON_COPY": "Copy" - }, - "PROGRESS": { - "ADD_WALLET": "Add wallet", - "SELECT_LOCATION": "Select wallet location", - "CREATE_WALLET": "Create new wallet", - "RESTORE_WALLET": "Restore from backup" - }, - "SETTINGS": { - "TITLE": "Settings", - "DARK_THEME": "Dark theme", - "WHITE_THEME": "White theme", - "GRAY_THEME": "Grey theme", - "APP_LOCK": { - "TITLE": "Lock app after:", - "TIME1": "5 min", - "TIME2": "15 min", - "TIME3": "1 hour", - "TIME4": "Never" - }, - "SCALE": { - "75": "75% scale", - "100": "100% scale", - "125": "125% scale", - "150": "150% scale" - }, - "MASTER_PASSWORD": { - "TITLE": "Update master password", - "OLD": "Old password", - "NEW": "New password", - "CONFIRM": "New password confirmation", - "BUTTON": "Save" - }, - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "PASS_NOT_MATCH": "Old password not match", - "CONFIRM_NOT_MATCH": "Confirm password not match" - }, - "LAST_BUILD": "Current build: {{value}}", - "APP_LOG_TITLE": "Log level:" - }, - "WALLET": { - "REGISTER_ALIAS": "Register an alias", - "DETAILS": "Details", - "LOCK": "Lock", - "AVAILABLE_BALANCE": "Available {{available}} {{currency}}", - "LOCKED_BALANCE": "Locked {{locked}} {{currency}}", - "LOCKED_BALANCE_LINK": "What does that mean?", - "TABS": { - "SEND": "Send", - "RECEIVE": "Receive", - "HISTORY": "History", - "CONTRACTS": "Contracts", - "MESSAGES": "Messages", - "STAKING": "Staking" - } - }, - "WALLET_DETAILS": { - "LABEL_NAME": "Wallet name", - "LABEL_FILE_LOCATION": "Wallet file location", - "LABEL_SEED_PHRASE": "Seed phrase", - "SEED_PHRASE_HINT": "Click to reveal the seed phrase", - "BUTTON_SAVE": "Save", - "BUTTON_REMOVE": "Close wallet", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - } - }, - "ASSIGN_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": " Enter alias", - "TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”." - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "", - "TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later." - }, - "COST": "Alias fee {{value}} {{currency}}", - "BUTTON_ASSIGN": "Assign", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_WRONG": "Invalid name: allowed symbols \"0-9\", \"a-z\", \"-\", \".\"", - "NAME_LENGTH": "The alias must be 6-25 characters long", - "NAME_EXISTS": "Alias name already exists", - "NO_MONEY": "You do not have enough funds to assign this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "ONE_ALIAS": "You can create only one alias per wallet", - "REQUEST_ADD_REG": "The alias will be assigned within 10 minutes" - }, - "EDIT_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "NO_MONEY": "You do not have enough funds to change the comment to this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "COST": "Fee {{value}} {{currency}}", - "BUTTON_EDIT": "Edit" - }, - "TRANSFER_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "ADDRESS": { - "LABEL": "Transfer to", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "WRONG_ADDRESS": "No wallet with this account exists", - "ALIAS_EXISTS": "This account already has an alias", - "NO_MONEY": "You do not have enough funds to transfer this alias" - }, - "COST": "Transfer fee {{value}} {{currency}}", - "BUTTON_TRANSFER": "Transfer", - "BUTTON_CANCEL": "Cancel", - "REQUEST_SEND_REG": "The alias will be transferred within 10 minutes" - }, - "SEND": { - "ADDRESS": "Address", - "AMOUNT": "Amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "MIXIN": "Mixin", - "FEE": "Fee", - "HIDE": "Hide your wallet address from recipient", - "BUTTON": "Send", - "SUCCESS_SENT": "Transaction sent", - "FORM_ERRORS": { - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "ALIAS_NOT_VALID": "Alias not valid", - "AMOUNT_REQUIRED": "Amount is required", - "AMOUNT_ZERO": "Amount is zero", - "FEE_REQUIRED": "Fee is required", - "FEE_MINIMUM": "Minimum fee: {{fee}}", - "MAX_LENGTH": "Maximum comment length reached" - } - }, - "HISTORY": { - "STATUS": "Status", - "STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}", - "LOCK_TOOLTIP": "Locked till {{date}}", - "SEND": "Sent", - "RECEIVED": "Received", - "DATE": "Date", - "AMOUNT": "Amount", - "FEE": "Fee", - "ADDRESS": "Address", - "DETAILS": { - "PAYMENT_ID": "Payment ID", - "ID": "Transaction ID", - "SIZE": "Transaction size", - "SIZE_VALUE": "{{value}} bytes", - "HEIGHT": "Height", - "CONFIRMATION": "Confirmation", - "INPUTS": "Inputs", - "OUTPUTS": "Outputs", - "COMMENT": "Comment" - }, - "TYPE_MESSAGES": { - "HIDDEN": "hidden", - "UNDEFINED": "Undefined", - "COMPLETE_BUYER": "Contract completed", - "COMPLETE_SELLER": "Contract completed", - "CREATE_ALIAS": "Fee for assigning alias", - "UPDATE_ALIAS": "Fee for editing alias", - "POW_REWARD": "POW reward", - "POS_REWARD": "POS reward", - "CREATE_CONTRACT": "Contract proposal", - "PLEDGE_CONTRACT": "Contract deposit", - "NULLIFY_CONTRACT": "Burn deposits", - "PROPOSAL_CANCEL_CONTRACT": "Cancellation request", - "CANCEL_CONTRACT": "Cancel and return deposits" - } - }, - "CONTRACTS": { - "EMPTY": "No active contracts", - "CONTRACTS": "Contracts", - "PURCHASE": "Purchase", - "SELL": "Sell", - "DATE": "Date", - "AMOUNT": "Amount", - "STATUS": "Status", - "COMMENTS": "Comments", - "PURCHASE_BUTTON": "New Purchase", - "LISTING_BUTTON": "Create listing", - "TIME_LEFT": { - "REMAINING_LESS_ONE": "Less than an hour to respond", - "REMAINING_ONE": "{{time}} hour remains", - "REMAINING_MANY": "{{time}} hours remain", - "REMAINING_MANY_ALT": "{{time}} hours remain", - "REMAINING_ONE_RESPONSE": "{{time}} hour remains", - "REMAINING_MANY_RESPONSE": "{{time}} hours remain", - "REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain", - "REMAINING_ONE_WAITING": "Waiting for {{time}} hour", - "REMAINING_MANY_WAITING": "Waiting for {{time}} hours", - "REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours" - }, - "STATUS_MESSAGES": { - "SELLER": { - "NEW_CONTRACT": "New contract proposal", - "IGNORED": "You ignored contract proposal", - "ACCEPTED": "Contract started", - "WAIT": "Waiting for contract confirmation", - "WAITING_BUYER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "You ignored cancellation proposal", - "EXPIRED": "Contract proposal has expired" - }, - "BUYER": { - "WAITING": "Waiting for response", - "IGNORED": "Seller ignored your contract proposal", - "ACCEPTED": "Seller accepted your contract proposal", - "WAIT": "Waiting for deposits confirmation", - "WAITING_SELLER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "WAITING_CANCEL": "Waiting for contract cancellation", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract", - "EXPIRED": "The contract proposal has expired" - } - } - }, - "PURCHASE": { - "DESCRIPTION": "Description", - "SELLER": "Seller", - "AMOUNT": "Amount", - "YOUR_DEPOSIT": "Your deposit", - "SELLER_DEPOSIT": "Seller deposit", - "BUYER_DEPOSIT": "Buyer deposit", - "SAME_AMOUNT": "Same amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "SEND_BUTTON": "Send", - "FORM_ERRORS": { - "DESC_REQUIRED": "Description required", - "DESC_MAXIMUM": "Maximum field length reached", - "SELLER_REQUIRED": "Address required", - "SELLER_NOT_VALID": "Invalid address", - "ALIAS_NOT_VALID": "Invalid alias", - "AMOUNT_REQUIRED": "Amount required", - "AMOUNT_ZERO": "Amount cannot be zero", - "YOUR_DEPOSIT_REQUIRED": "Deposit required", - "SELLER_DEPOSIT_REQUIRED": "Seller deposit required", - "SELLER_SAME": "Use separate account", - "COMMENT_MAXIMUM": "Maximum field length reached" - }, - "PROGRESS_NEW": "New purchase", - "PROGRESS_WAIT": "Awaiting reply", - "PROGRESS_RECEIVE": "Reply received", - "PROGRESS_COMPLETE": "Completed", - "FEE": "Fee", - "PAYMENT": "Payment ID", - "STATUS_MESSAGES": { - "NEW_PURCHASE": "New purchase", - "WAITING_SELLER": "Waiting for response", - "WAITING_BUYER": "Contract proposal received", - "WAITING_CONFIRMATION": "Waiting for deposits confirmation", - "WAITING_DELIVERY": "Waiting for delivery", - "COMPLETED": "Contract completed", - "IGNORED_BUYER": "Contract proposal ignored", - "IGNORED_SELLER": "The seller ignored your contract proposal", - "PROPOSAL_CANCEL_SELLER": "Cancellation request sent", - "PROPOSAL_CANCEL_BUYER": "Cancellation request received", - "BEING_CANCELLED": "Cancellation in progress", - "IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract", - "IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored", - "CANCELLED": "Contract canceled", - "EXPIRED": "Contract proposal expired", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned" - }, - "ACCEPT_STATE_WAIT_BIG": "Contract started", - "IGNORED_ACCEPT": "Contract proposal ignored", - "BURN_PROPOSAL": "Deposits burned", - "SUCCESS_FINISH_PROPOSAL": "Contract completed", - "SEND_CANCEL_PROPOSAL": "Cancellation request sent", - "IGNORED_CANCEL": "Contract cancellation proposal ignored", - "DEALS_CANCELED_WAIT": "Cancellation in progress", - "WAITING_TIME": "Response time", - "NEED_MONEY": "Insufficient funds", - "BUTTON_MAKE_PLEDGE": "Accept and make deposit", - "BUTTON_IGNORE": "Ignore and hide offer", - "BUTTON_NULLIFY": "Terminate and burn deposits", - "BUTTON_RECEIVED": "Complete and release deposits", - "BUTTON_CANCEL_BUYER": "Cancel and return deposits", - "BUTTON_NOT_CANCEL": "Ignore request", - "BUTTON_CANCEL_SELLER": "Confirm and return deposits", - "HOUR": "hour", - "HOURS": "hours", - "CANCEL": "Cancel", - "NULLIFY_QUESTION": "Are you sure you want to burn both deposits?", - "BUTTON_NULLIFY_SHORT": "Burn", - "WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?" - }, - "MESSAGES": { - "ADDRESS": "Address", - "MESSAGE": "Message", - "SEND_PLACEHOLDER": "Type a message...", - "SEND_BUTTON": "Send" - }, - "MODALS": { - "ERROR": "Error", - "SUCCESS": "Success", - "INFO": "Information", - "OK": "OK" - }, - "CONFIRM": { - "BUTTON_CONFIRM": "Send", - "BUTTON_CANCEL": "Cancel", - "TITLE": "Confirm transaction", - "MESSAGE": { - "SEND": "Send", - "FROM": "From", - "TO": "To", - "COMMENT": "Comment" - } - }, - "STAKING": { - "TITLE": "Staking", - "TITLE_PENDING": "Pending", - "TITLE_TOTAL": "Total", - "TITLE_PERIOD": "Time period:", - "PERIOD": { - "WEEK1": "1 week", - "WEEK2": "2 week", - "MONTH1": "1 month", - "MONTH3": "3 month", - "MONTH6": "6 month", - "YEAR": "1 year", - "ALL": "All" - }, - "TITLE_GROUP": "Group:", - "GROUP": { - "DAY": "day", - "WEEK": "week", - "MONTH": "month" - }, - "SWITCH": { - "ON": "ON", - "OFF": "OFF" - } - }, - "CONTACTS": { - "TITLE": "Contact list", - "IMPORT_EXPORT": "Import or export contacts", - "IMPORT": "Import", - "EXPORT": "Export", - "ADD": "Add/edit contact", - "SEND": "Send", - "SEND_FROM": "Send from", - "SEND_TO": "To", - "OPEN_ADD_WALLET": "Open/Add wallet", - "COPY": "- Copy", - "TABLE": { - "NAME": "Name", - "ALIAS": "Alias", - "ADDRESS": "Address", - "NOTES": "Notes", - "EMPTY": "Contact list is empty" - }, - "FORM": { - "NAME": "Name", - "ADDRESS": "Address", - "NOTES": "Notes" - }, - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUBLICATED": "Name is dublicated", - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "SET_MASTER_PASSWORD": "Set master password", - "ADDRESS_DUBLICATED": "Address is dublicated", - "MAX_LENGTH": "Maximum notes length reached", - "NAME_LENGTH": "The name must be 4-25 characters long" - }, - "BUTTON": { - "SEND": "Send", - "EDIT": "Edit", - "DELETE": "Delete", - "ADD": "Add contact", - "ADD_EDIT": "Add/Save", - "GO_TO_WALLET": "Go to wallet", - "IMPORT_EXPORT": "Import/export" - }, - "SUCCESS_SENT": "Contact added", - "SUCCESS_SAVE": "Contact is edited", - "SUCCESS_IMPORT": "Contacts are imported", - "SUCCESS_EXPORT": "Contacts are exported", - "ERROR_IMPORT": "Error is occured while reading file!", - "ERROR_TYPE_FILE": "Please import valid .csv file", - "ERROR_EXPORT": "Invalid file type. Save file as .csv", - "ERROR_EMPTY_LIST": "Contact list is empty", - "ERROR_IMPORT_EMPTY": "File is empty" - }, - "ERRORS": { - "NO_MONEY": "Not enough money", - "NOT_ENOUGH_MONEY": "Insufficient funds in account", - "CORE_BUSY": "Internal error: core is busy", - "DAEMON_BUSY": "Internal error: daemon is busy", - "NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet", - "NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with", - "TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions", - "TRANSFER_ATTEMPT": "There is no connection to Zano network", - "ACCESS_DENIED": "Access denied", - "TRANSACTION_ERROR": "Error. Transaction not completed.", - "BAD_ARG": "Invalid argument", - "WALLET_WRONG_ID": "Invalid wallet ID", - "WRONG_PASSWORD": "Invalid password", - "FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain", - "FILE_NOT_FOUND": "File not found", - "FILE_EXIST": "A file with that name already exists. Enter another name to save the file under", - "FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.", - "TX_TYPE_NORMAL": "Error. The payment from the wallet", - "TX_TYPE_NORMAL_TO": "to", - "TX_TYPE_NORMAL_END": "was not completed.", - "TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe", - "TX_TYPE_NEW_ALIAS_END": "Please try again.", - "TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe", - "TX_TYPE_COIN_BASE": "Error. The payment was not completed." - }, - "CONTEXT_MENU": { - "COPY": "copy", - "PASTE": "paste", - "SELECT": "select all" - }, - "BACKEND_LOCALIZATION": { - "QUIT": "Quit", - "IS_RECEIVED": "", - "IS_CONFIRMED": "", - "INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)", - "INCOME_TRANSFER_CONFIRMED": "Payment received", - "MINED": "Mined", - "LOCKED": "Blocked", - "IS_MINIMIZE": "Zano application is minimized to the system tray", - "RESTORE": "You can recover it by clicking or using the context menu", - "TRAY_MENU_SHOW": "Resize", - "TRAY_MENU_MINIMIZE": "Minimize" - } -} diff --git a/src/gui/qt-daemon/html/assets/i18n/nl.json b/src/gui/qt-daemon/html/assets/i18n/nl.json deleted file mode 100644 index 59e88fa0..00000000 --- a/src/gui/qt-daemon/html/assets/i18n/nl.json +++ /dev/null @@ -1,593 +0,0 @@ -{ - "LOGIN": { - "SETUP_MASTER_PASS": "Setup master password", - "SETUP_CONFIRM_PASS": "Confirm the password", - "MASTER_PASS": "Master password", - "BUTTON_NEXT": "Next", - "BUTTON_SKIP": "Skip", - "BUTTON_RESET": "Reset", - "INCORRECT_PASSWORD": "Invalid password", - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "CONFIRM_REQUIRED": "Confirmation is required", - "MISMATCH": "Mismatch" - } - }, - "COMMON": { - "BACK": "Go back" - }, - "BREADCRUMBS": { - "ADD_WALLET": "Add wallet", - "CREATE_WALLET": "Create new wallet", - "SAVE_PHRASE": "Save your seed phrase", - "OPEN_WALLET": "Open existing wallet", - "RESTORE_WALLET": "Restore from backup", - "WALLET_DETAILS": "Wallet details", - "ASSIGN_ALIAS": "Assign alias", - "EDIT_ALIAS": "Edit alias", - "TRANSFER_ALIAS": "Transfer alias", - "CONTRACTS": "Contracts", - "NEW_PURCHASE": "New purchase", - "OLD_PURCHASE": "Purchase" - }, - "SIDEBAR": { - "TITLE": "Wallets", - "ADD_NEW": "+ Add", - "ACCOUNT": { - "STAKING": "Staking", - "MESSAGES": "New offers/Messages", - "SYNCING": "Syncing wallet" - }, - "CONTACTS": "Contacts", - "SETTINGS": "Settings", - "LOG_OUT": "Log out", - "SYNCHRONIZATION": { - "OFFLINE": "Offline", - "ONLINE": "Online", - "ERROR": "System error", - "COMPLETE": "Completion", - "SYNCING": "Syncing blockchain", - "LOADING": "Loading blockchain data" - }, - "UPDATE": { - "STANDARD": "Update available", - "STANDARD_TOOLTIP": "Get new update.
      Update is recommended!", - "IMPORTANT": "Update available", - "IMPORTANT_HINT": "Important update!", - "IMPORTANT_TOOLTIP": "Get new update.
      Important update!", - "CRITICAL": "Update available", - "CRITICAL_HINT": "Critical update!", - "CRITICAL_TOOLTIP": "Critical update available.Update strongly recommended!", - "TIME": "System time differs from network", - "TIME_TOOLTIP": "Wrong system time!
      Check and repair your system time." - } - }, - "MAIN": { - "TITLE": "Create or open the wallet to start using Zano", - "BUTTON_NEW_WALLET": "Create new wallet", - "BUTTON_OPEN_WALLET": "Open existing wallet", - "BUTTON_RESTORE_BACKUP": "Restore from backup", - "HELP": "How to create wallet?", - "CHOOSE_PATH": "Please choose a path" - }, - "CREATE_WALLET": { - "NAME": "Wallet name", - "PASS": "Set wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "TITLE_SAVE": "Save the wallet file.", - "ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten", - "ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match" - } - }, - "OPEN_WALLET": { - "NAME": "Wallet name", - "PASS": "Wallet password", - "BUTTON": "Open wallet", - "WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open", - "FILE_NOT_FOUND1": "Wallet file not found", - "FILE_NOT_FOUND2": "

      It might have been renamed or moved.
      To open it, use the \"Open wallet\" button.", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - }, - "MODAL": { - "TITLE": "Type wallet password", - "LABEL": "Password to this wallet", - "OPEN": "Open wallet", - "SKIP": "Skip", - "NOT_FOUND": "Not found" - } - }, - "RESTORE_WALLET": { - "LABEL_NAME": "Wallet name", - "LABEL_PHRASE_KEY": "Seed phrase / tracking seed", - "PASS": "Wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match", - "CHOOSE_PATH": "Please choose a path", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match", - "KEY_REQUIRED": "Key is required", - "KEY_NOT_VALID": "Key not valid" - } - }, - "SEED_PHRASE": { - "TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.", - "BUTTON_CREATE_ACCOUNT": "Create wallet", - "BUTTON_COPY": "Copy" - }, - "PROGRESS": { - "ADD_WALLET": "Add wallet", - "SELECT_LOCATION": "Select wallet location", - "CREATE_WALLET": "Create new wallet", - "RESTORE_WALLET": "Restore from backup" - }, - "SETTINGS": { - "TITLE": "Settings", - "DARK_THEME": "Dark theme", - "WHITE_THEME": "White theme", - "GRAY_THEME": "Grey theme", - "APP_LOCK": { - "TITLE": "Lock app after:", - "TIME1": "5 min", - "TIME2": "15 min", - "TIME3": "1 hour", - "TIME4": "Never" - }, - "SCALE": { - "75": "75% scale", - "100": "100% scale", - "125": "125% scale", - "150": "150% scale" - }, - "MASTER_PASSWORD": { - "TITLE": "Update master password", - "OLD": "Old password", - "NEW": "New password", - "CONFIRM": "New password confirmation", - "BUTTON": "Save" - }, - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "PASS_NOT_MATCH": "Old password not match", - "CONFIRM_NOT_MATCH": "Confirm password not match" - }, - "LAST_BUILD": "Current build: {{value}}", - "APP_LOG_TITLE": "Log level:" - }, - "WALLET": { - "REGISTER_ALIAS": "Register an alias", - "DETAILS": "Details", - "LOCK": "Lock", - "AVAILABLE_BALANCE": "Available {{available}} {{currency}}", - "LOCKED_BALANCE": "Locked {{locked}} {{currency}}", - "LOCKED_BALANCE_LINK": "What does that mean?", - "TABS": { - "SEND": "Send", - "RECEIVE": "Receive", - "HISTORY": "History", - "CONTRACTS": "Contracts", - "MESSAGES": "Messages", - "STAKING": "Staking" - } - }, - "WALLET_DETAILS": { - "LABEL_NAME": "Wallet name", - "LABEL_FILE_LOCATION": "Wallet file location", - "LABEL_SEED_PHRASE": "Seed phrase", - "SEED_PHRASE_HINT": "Click to reveal the seed phrase", - "BUTTON_SAVE": "Save", - "BUTTON_REMOVE": "Close wallet", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - } - }, - "ASSIGN_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": " Enter alias", - "TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”." - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "", - "TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later." - }, - "COST": "Alias fee {{value}} {{currency}}", - "BUTTON_ASSIGN": "Assign", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_WRONG": "Invalid name: allowed symbols \"0-9\", \"a-z\", \"-\", \".\"", - "NAME_LENGTH": "The alias must be 6-25 characters long", - "NAME_EXISTS": "Alias name already exists", - "NO_MONEY": "You do not have enough funds to assign this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "ONE_ALIAS": "You can create only one alias per wallet", - "REQUEST_ADD_REG": "The alias will be assigned within 10 minutes" - }, - "EDIT_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "NO_MONEY": "You do not have enough funds to change the comment to this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "COST": "Fee {{value}} {{currency}}", - "BUTTON_EDIT": "Edit" - }, - "TRANSFER_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "ADDRESS": { - "LABEL": "Transfer to", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "WRONG_ADDRESS": "No wallet with this account exists", - "ALIAS_EXISTS": "This account already has an alias", - "NO_MONEY": "You do not have enough funds to transfer this alias" - }, - "COST": "Transfer fee {{value}} {{currency}}", - "BUTTON_TRANSFER": "Transfer", - "BUTTON_CANCEL": "Cancel", - "REQUEST_SEND_REG": "The alias will be transferred within 10 minutes" - }, - "SEND": { - "ADDRESS": "Address", - "AMOUNT": "Amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "MIXIN": "Mixin", - "FEE": "Fee", - "HIDE": "Hide your wallet address from recipient", - "BUTTON": "Send", - "SUCCESS_SENT": "Transaction sent", - "FORM_ERRORS": { - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "ALIAS_NOT_VALID": "Alias not valid", - "AMOUNT_REQUIRED": "Amount is required", - "AMOUNT_ZERO": "Amount is zero", - "FEE_REQUIRED": "Fee is required", - "FEE_MINIMUM": "Minimum fee: {{fee}}", - "MAX_LENGTH": "Maximum comment length reached" - } - }, - "HISTORY": { - "STATUS": "Status", - "STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}", - "LOCK_TOOLTIP": "Locked till {{date}}", - "SEND": "Sent", - "RECEIVED": "Received", - "DATE": "Date", - "AMOUNT": "Amount", - "FEE": "Fee", - "ADDRESS": "Address", - "DETAILS": { - "PAYMENT_ID": "Payment ID", - "ID": "Transaction ID", - "SIZE": "Transaction size", - "SIZE_VALUE": "{{value}} bytes", - "HEIGHT": "Height", - "CONFIRMATION": "Confirmation", - "INPUTS": "Inputs", - "OUTPUTS": "Outputs", - "COMMENT": "Comment" - }, - "TYPE_MESSAGES": { - "HIDDEN": "hidden", - "UNDEFINED": "Undefined", - "COMPLETE_BUYER": "Contract completed", - "COMPLETE_SELLER": "Contract completed", - "CREATE_ALIAS": "Fee for assigning alias", - "UPDATE_ALIAS": "Fee for editing alias", - "POW_REWARD": "POW reward", - "POS_REWARD": "POS reward", - "CREATE_CONTRACT": "Contract proposal", - "PLEDGE_CONTRACT": "Contract deposit", - "NULLIFY_CONTRACT": "Burn deposits", - "PROPOSAL_CANCEL_CONTRACT": "Cancellation request", - "CANCEL_CONTRACT": "Cancel and return deposits" - } - }, - "CONTRACTS": { - "EMPTY": "No active contracts", - "CONTRACTS": "Contracts", - "PURCHASE": "Purchase", - "SELL": "Sell", - "DATE": "Date", - "AMOUNT": "Amount", - "STATUS": "Status", - "COMMENTS": "Comments", - "PURCHASE_BUTTON": "New Purchase", - "LISTING_BUTTON": "Create listing", - "TIME_LEFT": { - "REMAINING_LESS_ONE": "Less than an hour to respond", - "REMAINING_ONE": "{{time}} hour remains", - "REMAINING_MANY": "{{time}} hours remain", - "REMAINING_MANY_ALT": "{{time}} hours remain", - "REMAINING_ONE_RESPONSE": "{{time}} hour remains", - "REMAINING_MANY_RESPONSE": "{{time}} hours remain", - "REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain", - "REMAINING_ONE_WAITING": "Waiting for {{time}} hour", - "REMAINING_MANY_WAITING": "Waiting for {{time}} hours", - "REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours" - }, - "STATUS_MESSAGES": { - "SELLER": { - "NEW_CONTRACT": "New contract proposal", - "IGNORED": "You ignored contract proposal", - "ACCEPTED": "Contract started", - "WAIT": "Waiting for contract confirmation", - "WAITING_BUYER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "You ignored cancellation proposal", - "EXPIRED": "Contract proposal has expired" - }, - "BUYER": { - "WAITING": "Waiting for response", - "IGNORED": "Seller ignored your contract proposal", - "ACCEPTED": "Seller accepted your contract proposal", - "WAIT": "Waiting for deposits confirmation", - "WAITING_SELLER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "WAITING_CANCEL": "Waiting for contract cancellation", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract", - "EXPIRED": "The contract proposal has expired" - } - } - }, - "PURCHASE": { - "DESCRIPTION": "Description", - "SELLER": "Seller", - "AMOUNT": "Amount", - "YOUR_DEPOSIT": "Your deposit", - "SELLER_DEPOSIT": "Seller deposit", - "BUYER_DEPOSIT": "Buyer deposit", - "SAME_AMOUNT": "Same amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "SEND_BUTTON": "Send", - "FORM_ERRORS": { - "DESC_REQUIRED": "Description required", - "DESC_MAXIMUM": "Maximum field length reached", - "SELLER_REQUIRED": "Address required", - "SELLER_NOT_VALID": "Invalid address", - "ALIAS_NOT_VALID": "Invalid alias", - "AMOUNT_REQUIRED": "Amount required", - "AMOUNT_ZERO": "Amount cannot be zero", - "YOUR_DEPOSIT_REQUIRED": "Deposit required", - "SELLER_DEPOSIT_REQUIRED": "Seller deposit required", - "SELLER_SAME": "Use separate account", - "COMMENT_MAXIMUM": "Maximum field length reached" - }, - "PROGRESS_NEW": "New purchase", - "PROGRESS_WAIT": "Awaiting reply", - "PROGRESS_RECEIVE": "Reply received", - "PROGRESS_COMPLETE": "Completed", - "FEE": "Fee", - "PAYMENT": "Payment ID", - "STATUS_MESSAGES": { - "NEW_PURCHASE": "New purchase", - "WAITING_SELLER": "Waiting for response", - "WAITING_BUYER": "Contract proposal received", - "WAITING_CONFIRMATION": "Waiting for deposits confirmation", - "WAITING_DELIVERY": "Waiting for delivery", - "COMPLETED": "Contract completed", - "IGNORED_BUYER": "Contract proposal ignored", - "IGNORED_SELLER": "The seller ignored your contract proposal", - "PROPOSAL_CANCEL_SELLER": "Cancellation request sent", - "PROPOSAL_CANCEL_BUYER": "Cancellation request received", - "BEING_CANCELLED": "Cancellation in progress", - "IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract", - "IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored", - "CANCELLED": "Contract canceled", - "EXPIRED": "Contract proposal expired", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned" - }, - "ACCEPT_STATE_WAIT_BIG": "Contract started", - "IGNORED_ACCEPT": "Contract proposal ignored", - "BURN_PROPOSAL": "Deposits burned", - "SUCCESS_FINISH_PROPOSAL": "Contract completed", - "SEND_CANCEL_PROPOSAL": "Cancellation request sent", - "IGNORED_CANCEL": "Contract cancellation proposal ignored", - "DEALS_CANCELED_WAIT": "Cancellation in progress", - "WAITING_TIME": "Response time", - "NEED_MONEY": "Insufficient funds", - "BUTTON_MAKE_PLEDGE": "Accept and make deposit", - "BUTTON_IGNORE": "Ignore and hide offer", - "BUTTON_NULLIFY": "Terminate and burn deposits", - "BUTTON_RECEIVED": "Complete and release deposits", - "BUTTON_CANCEL_BUYER": "Cancel and return deposits", - "BUTTON_NOT_CANCEL": "Ignore request", - "BUTTON_CANCEL_SELLER": "Confirm and return deposits", - "HOUR": "hour", - "HOURS": "hours", - "CANCEL": "Cancel", - "NULLIFY_QUESTION": "Are you sure you want to burn both deposits?", - "BUTTON_NULLIFY_SHORT": "Burn", - "WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?" - }, - "MESSAGES": { - "ADDRESS": "Address", - "MESSAGE": "Message", - "SEND_PLACEHOLDER": "Type a message...", - "SEND_BUTTON": "Send" - }, - "MODALS": { - "ERROR": "Error", - "SUCCESS": "Success", - "INFO": "Information", - "OK": "OK" - }, - "CONFIRM": { - "BUTTON_CONFIRM": "Send", - "BUTTON_CANCEL": "Cancel", - "TITLE": "Confirm transaction", - "MESSAGE": { - "SEND": "Send", - "FROM": "From", - "TO": "To", - "COMMENT": "Comment" - } - }, - "STAKING": { - "TITLE": "Staking", - "TITLE_PENDING": "Pending", - "TITLE_TOTAL": "Total", - "TITLE_PERIOD": "Time period:", - "PERIOD": { - "WEEK1": "1 week", - "WEEK2": "2 week", - "MONTH1": "1 month", - "MONTH3": "3 month", - "MONTH6": "6 month", - "YEAR": "1 year", - "ALL": "All" - }, - "TITLE_GROUP": "Group:", - "GROUP": { - "DAY": "day", - "WEEK": "week", - "MONTH": "month" - }, - "SWITCH": { - "ON": "ON", - "OFF": "OFF" - } - }, - "CONTACTS": { - "TITLE": "Contact list", - "IMPORT_EXPORT": "Import or export contacts", - "IMPORT": "Import", - "EXPORT": "Export", - "ADD": "Add/edit contact", - "SEND": "Send", - "SEND_FROM": "Send from", - "SEND_TO": "To", - "OPEN_ADD_WALLET": "Open/Add wallet", - "COPY": "- Copy", - "TABLE": { - "NAME": "Name", - "ALIAS": "Alias", - "ADDRESS": "Address", - "NOTES": "Notes", - "EMPTY": "Contact list is empty" - }, - "FORM": { - "NAME": "Name", - "ADDRESS": "Address", - "NOTES": "Notes" - }, - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUBLICATED": "Name is dublicated", - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "SET_MASTER_PASSWORD": "Set master password", - "ADDRESS_DUBLICATED": "Address is dublicated", - "MAX_LENGTH": "Maximum notes length reached", - "NAME_LENGTH": "The name must be 4-25 characters long" - }, - "BUTTON": { - "SEND": "Send", - "EDIT": "Edit", - "DELETE": "Delete", - "ADD": "Add contact", - "ADD_EDIT": "Add/Save", - "GO_TO_WALLET": "Go to wallet", - "IMPORT_EXPORT": "Import/export" - }, - "SUCCESS_SENT": "Contact added", - "SUCCESS_SAVE": "Contact is edited", - "SUCCESS_IMPORT": "Contacts are imported", - "SUCCESS_EXPORT": "Contacts are exported", - "ERROR_IMPORT": "Error is occured while reading file!", - "ERROR_TYPE_FILE": "Please import valid .csv file", - "ERROR_EXPORT": "Invalid file type. Save file as .csv", - "ERROR_EMPTY_LIST": "Contact list is empty", - "ERROR_IMPORT_EMPTY": "File is empty" - }, - "ERRORS": { - "NO_MONEY": "Not enough money", - "NOT_ENOUGH_MONEY": "Insufficient funds in account", - "CORE_BUSY": "Internal error: core is busy", - "DAEMON_BUSY": "Internal error: daemon is busy", - "NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet", - "NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with", - "TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions", - "TRANSFER_ATTEMPT": "There is no connection to Zano network", - "ACCESS_DENIED": "Access denied", - "TRANSACTION_ERROR": "Error. Transaction not completed.", - "BAD_ARG": "Invalid argument", - "WALLET_WRONG_ID": "Invalid wallet ID", - "WRONG_PASSWORD": "Invalid password", - "FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain", - "FILE_NOT_FOUND": "File not found", - "FILE_EXIST": "A file with that name already exists. Enter another name to save the file under", - "FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.", - "TX_TYPE_NORMAL": "Error. The payment from the wallet", - "TX_TYPE_NORMAL_TO": "to", - "TX_TYPE_NORMAL_END": "was not completed.", - "TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe", - "TX_TYPE_NEW_ALIAS_END": "Please try again.", - "TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe", - "TX_TYPE_COIN_BASE": "Error. The payment was not completed." - }, - "CONTEXT_MENU": { - "COPY": "copy", - "PASTE": "paste", - "SELECT": "select all" - }, - "BACKEND_LOCALIZATION": { - "QUIT": "Quit", - "IS_RECEIVED": "", - "IS_CONFIRMED": "", - "INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)", - "INCOME_TRANSFER_CONFIRMED": "Payment received", - "MINED": "Mined", - "LOCKED": "Blocked", - "IS_MINIMIZE": "Zano application is minimized to the system tray", - "RESTORE": "You can recover it by clicking or using the context menu", - "TRAY_MENU_SHOW": "Resize", - "TRAY_MENU_MINIMIZE": "Minimize" - } -} diff --git a/src/gui/qt-daemon/html/assets/i18n/no.json b/src/gui/qt-daemon/html/assets/i18n/no.json deleted file mode 100644 index 59e88fa0..00000000 --- a/src/gui/qt-daemon/html/assets/i18n/no.json +++ /dev/null @@ -1,593 +0,0 @@ -{ - "LOGIN": { - "SETUP_MASTER_PASS": "Setup master password", - "SETUP_CONFIRM_PASS": "Confirm the password", - "MASTER_PASS": "Master password", - "BUTTON_NEXT": "Next", - "BUTTON_SKIP": "Skip", - "BUTTON_RESET": "Reset", - "INCORRECT_PASSWORD": "Invalid password", - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "CONFIRM_REQUIRED": "Confirmation is required", - "MISMATCH": "Mismatch" - } - }, - "COMMON": { - "BACK": "Go back" - }, - "BREADCRUMBS": { - "ADD_WALLET": "Add wallet", - "CREATE_WALLET": "Create new wallet", - "SAVE_PHRASE": "Save your seed phrase", - "OPEN_WALLET": "Open existing wallet", - "RESTORE_WALLET": "Restore from backup", - "WALLET_DETAILS": "Wallet details", - "ASSIGN_ALIAS": "Assign alias", - "EDIT_ALIAS": "Edit alias", - "TRANSFER_ALIAS": "Transfer alias", - "CONTRACTS": "Contracts", - "NEW_PURCHASE": "New purchase", - "OLD_PURCHASE": "Purchase" - }, - "SIDEBAR": { - "TITLE": "Wallets", - "ADD_NEW": "+ Add", - "ACCOUNT": { - "STAKING": "Staking", - "MESSAGES": "New offers/Messages", - "SYNCING": "Syncing wallet" - }, - "CONTACTS": "Contacts", - "SETTINGS": "Settings", - "LOG_OUT": "Log out", - "SYNCHRONIZATION": { - "OFFLINE": "Offline", - "ONLINE": "Online", - "ERROR": "System error", - "COMPLETE": "Completion", - "SYNCING": "Syncing blockchain", - "LOADING": "Loading blockchain data" - }, - "UPDATE": { - "STANDARD": "Update available", - "STANDARD_TOOLTIP": "Get new update.
      Update is recommended!", - "IMPORTANT": "Update available", - "IMPORTANT_HINT": "Important update!", - "IMPORTANT_TOOLTIP": "Get new update.
      Important update!", - "CRITICAL": "Update available", - "CRITICAL_HINT": "Critical update!", - "CRITICAL_TOOLTIP": "Critical update available.Update strongly recommended!", - "TIME": "System time differs from network", - "TIME_TOOLTIP": "Wrong system time!
      Check and repair your system time." - } - }, - "MAIN": { - "TITLE": "Create or open the wallet to start using Zano", - "BUTTON_NEW_WALLET": "Create new wallet", - "BUTTON_OPEN_WALLET": "Open existing wallet", - "BUTTON_RESTORE_BACKUP": "Restore from backup", - "HELP": "How to create wallet?", - "CHOOSE_PATH": "Please choose a path" - }, - "CREATE_WALLET": { - "NAME": "Wallet name", - "PASS": "Set wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "TITLE_SAVE": "Save the wallet file.", - "ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten", - "ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match" - } - }, - "OPEN_WALLET": { - "NAME": "Wallet name", - "PASS": "Wallet password", - "BUTTON": "Open wallet", - "WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open", - "FILE_NOT_FOUND1": "Wallet file not found", - "FILE_NOT_FOUND2": "

      It might have been renamed or moved.
      To open it, use the \"Open wallet\" button.", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - }, - "MODAL": { - "TITLE": "Type wallet password", - "LABEL": "Password to this wallet", - "OPEN": "Open wallet", - "SKIP": "Skip", - "NOT_FOUND": "Not found" - } - }, - "RESTORE_WALLET": { - "LABEL_NAME": "Wallet name", - "LABEL_PHRASE_KEY": "Seed phrase / tracking seed", - "PASS": "Wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match", - "CHOOSE_PATH": "Please choose a path", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match", - "KEY_REQUIRED": "Key is required", - "KEY_NOT_VALID": "Key not valid" - } - }, - "SEED_PHRASE": { - "TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.", - "BUTTON_CREATE_ACCOUNT": "Create wallet", - "BUTTON_COPY": "Copy" - }, - "PROGRESS": { - "ADD_WALLET": "Add wallet", - "SELECT_LOCATION": "Select wallet location", - "CREATE_WALLET": "Create new wallet", - "RESTORE_WALLET": "Restore from backup" - }, - "SETTINGS": { - "TITLE": "Settings", - "DARK_THEME": "Dark theme", - "WHITE_THEME": "White theme", - "GRAY_THEME": "Grey theme", - "APP_LOCK": { - "TITLE": "Lock app after:", - "TIME1": "5 min", - "TIME2": "15 min", - "TIME3": "1 hour", - "TIME4": "Never" - }, - "SCALE": { - "75": "75% scale", - "100": "100% scale", - "125": "125% scale", - "150": "150% scale" - }, - "MASTER_PASSWORD": { - "TITLE": "Update master password", - "OLD": "Old password", - "NEW": "New password", - "CONFIRM": "New password confirmation", - "BUTTON": "Save" - }, - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "PASS_NOT_MATCH": "Old password not match", - "CONFIRM_NOT_MATCH": "Confirm password not match" - }, - "LAST_BUILD": "Current build: {{value}}", - "APP_LOG_TITLE": "Log level:" - }, - "WALLET": { - "REGISTER_ALIAS": "Register an alias", - "DETAILS": "Details", - "LOCK": "Lock", - "AVAILABLE_BALANCE": "Available {{available}} {{currency}}", - "LOCKED_BALANCE": "Locked {{locked}} {{currency}}", - "LOCKED_BALANCE_LINK": "What does that mean?", - "TABS": { - "SEND": "Send", - "RECEIVE": "Receive", - "HISTORY": "History", - "CONTRACTS": "Contracts", - "MESSAGES": "Messages", - "STAKING": "Staking" - } - }, - "WALLET_DETAILS": { - "LABEL_NAME": "Wallet name", - "LABEL_FILE_LOCATION": "Wallet file location", - "LABEL_SEED_PHRASE": "Seed phrase", - "SEED_PHRASE_HINT": "Click to reveal the seed phrase", - "BUTTON_SAVE": "Save", - "BUTTON_REMOVE": "Close wallet", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - } - }, - "ASSIGN_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": " Enter alias", - "TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”." - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "", - "TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later." - }, - "COST": "Alias fee {{value}} {{currency}}", - "BUTTON_ASSIGN": "Assign", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_WRONG": "Invalid name: allowed symbols \"0-9\", \"a-z\", \"-\", \".\"", - "NAME_LENGTH": "The alias must be 6-25 characters long", - "NAME_EXISTS": "Alias name already exists", - "NO_MONEY": "You do not have enough funds to assign this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "ONE_ALIAS": "You can create only one alias per wallet", - "REQUEST_ADD_REG": "The alias will be assigned within 10 minutes" - }, - "EDIT_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "NO_MONEY": "You do not have enough funds to change the comment to this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "COST": "Fee {{value}} {{currency}}", - "BUTTON_EDIT": "Edit" - }, - "TRANSFER_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "ADDRESS": { - "LABEL": "Transfer to", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "WRONG_ADDRESS": "No wallet with this account exists", - "ALIAS_EXISTS": "This account already has an alias", - "NO_MONEY": "You do not have enough funds to transfer this alias" - }, - "COST": "Transfer fee {{value}} {{currency}}", - "BUTTON_TRANSFER": "Transfer", - "BUTTON_CANCEL": "Cancel", - "REQUEST_SEND_REG": "The alias will be transferred within 10 minutes" - }, - "SEND": { - "ADDRESS": "Address", - "AMOUNT": "Amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "MIXIN": "Mixin", - "FEE": "Fee", - "HIDE": "Hide your wallet address from recipient", - "BUTTON": "Send", - "SUCCESS_SENT": "Transaction sent", - "FORM_ERRORS": { - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "ALIAS_NOT_VALID": "Alias not valid", - "AMOUNT_REQUIRED": "Amount is required", - "AMOUNT_ZERO": "Amount is zero", - "FEE_REQUIRED": "Fee is required", - "FEE_MINIMUM": "Minimum fee: {{fee}}", - "MAX_LENGTH": "Maximum comment length reached" - } - }, - "HISTORY": { - "STATUS": "Status", - "STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}", - "LOCK_TOOLTIP": "Locked till {{date}}", - "SEND": "Sent", - "RECEIVED": "Received", - "DATE": "Date", - "AMOUNT": "Amount", - "FEE": "Fee", - "ADDRESS": "Address", - "DETAILS": { - "PAYMENT_ID": "Payment ID", - "ID": "Transaction ID", - "SIZE": "Transaction size", - "SIZE_VALUE": "{{value}} bytes", - "HEIGHT": "Height", - "CONFIRMATION": "Confirmation", - "INPUTS": "Inputs", - "OUTPUTS": "Outputs", - "COMMENT": "Comment" - }, - "TYPE_MESSAGES": { - "HIDDEN": "hidden", - "UNDEFINED": "Undefined", - "COMPLETE_BUYER": "Contract completed", - "COMPLETE_SELLER": "Contract completed", - "CREATE_ALIAS": "Fee for assigning alias", - "UPDATE_ALIAS": "Fee for editing alias", - "POW_REWARD": "POW reward", - "POS_REWARD": "POS reward", - "CREATE_CONTRACT": "Contract proposal", - "PLEDGE_CONTRACT": "Contract deposit", - "NULLIFY_CONTRACT": "Burn deposits", - "PROPOSAL_CANCEL_CONTRACT": "Cancellation request", - "CANCEL_CONTRACT": "Cancel and return deposits" - } - }, - "CONTRACTS": { - "EMPTY": "No active contracts", - "CONTRACTS": "Contracts", - "PURCHASE": "Purchase", - "SELL": "Sell", - "DATE": "Date", - "AMOUNT": "Amount", - "STATUS": "Status", - "COMMENTS": "Comments", - "PURCHASE_BUTTON": "New Purchase", - "LISTING_BUTTON": "Create listing", - "TIME_LEFT": { - "REMAINING_LESS_ONE": "Less than an hour to respond", - "REMAINING_ONE": "{{time}} hour remains", - "REMAINING_MANY": "{{time}} hours remain", - "REMAINING_MANY_ALT": "{{time}} hours remain", - "REMAINING_ONE_RESPONSE": "{{time}} hour remains", - "REMAINING_MANY_RESPONSE": "{{time}} hours remain", - "REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain", - "REMAINING_ONE_WAITING": "Waiting for {{time}} hour", - "REMAINING_MANY_WAITING": "Waiting for {{time}} hours", - "REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours" - }, - "STATUS_MESSAGES": { - "SELLER": { - "NEW_CONTRACT": "New contract proposal", - "IGNORED": "You ignored contract proposal", - "ACCEPTED": "Contract started", - "WAIT": "Waiting for contract confirmation", - "WAITING_BUYER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "You ignored cancellation proposal", - "EXPIRED": "Contract proposal has expired" - }, - "BUYER": { - "WAITING": "Waiting for response", - "IGNORED": "Seller ignored your contract proposal", - "ACCEPTED": "Seller accepted your contract proposal", - "WAIT": "Waiting for deposits confirmation", - "WAITING_SELLER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "WAITING_CANCEL": "Waiting for contract cancellation", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract", - "EXPIRED": "The contract proposal has expired" - } - } - }, - "PURCHASE": { - "DESCRIPTION": "Description", - "SELLER": "Seller", - "AMOUNT": "Amount", - "YOUR_DEPOSIT": "Your deposit", - "SELLER_DEPOSIT": "Seller deposit", - "BUYER_DEPOSIT": "Buyer deposit", - "SAME_AMOUNT": "Same amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "SEND_BUTTON": "Send", - "FORM_ERRORS": { - "DESC_REQUIRED": "Description required", - "DESC_MAXIMUM": "Maximum field length reached", - "SELLER_REQUIRED": "Address required", - "SELLER_NOT_VALID": "Invalid address", - "ALIAS_NOT_VALID": "Invalid alias", - "AMOUNT_REQUIRED": "Amount required", - "AMOUNT_ZERO": "Amount cannot be zero", - "YOUR_DEPOSIT_REQUIRED": "Deposit required", - "SELLER_DEPOSIT_REQUIRED": "Seller deposit required", - "SELLER_SAME": "Use separate account", - "COMMENT_MAXIMUM": "Maximum field length reached" - }, - "PROGRESS_NEW": "New purchase", - "PROGRESS_WAIT": "Awaiting reply", - "PROGRESS_RECEIVE": "Reply received", - "PROGRESS_COMPLETE": "Completed", - "FEE": "Fee", - "PAYMENT": "Payment ID", - "STATUS_MESSAGES": { - "NEW_PURCHASE": "New purchase", - "WAITING_SELLER": "Waiting for response", - "WAITING_BUYER": "Contract proposal received", - "WAITING_CONFIRMATION": "Waiting for deposits confirmation", - "WAITING_DELIVERY": "Waiting for delivery", - "COMPLETED": "Contract completed", - "IGNORED_BUYER": "Contract proposal ignored", - "IGNORED_SELLER": "The seller ignored your contract proposal", - "PROPOSAL_CANCEL_SELLER": "Cancellation request sent", - "PROPOSAL_CANCEL_BUYER": "Cancellation request received", - "BEING_CANCELLED": "Cancellation in progress", - "IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract", - "IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored", - "CANCELLED": "Contract canceled", - "EXPIRED": "Contract proposal expired", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned" - }, - "ACCEPT_STATE_WAIT_BIG": "Contract started", - "IGNORED_ACCEPT": "Contract proposal ignored", - "BURN_PROPOSAL": "Deposits burned", - "SUCCESS_FINISH_PROPOSAL": "Contract completed", - "SEND_CANCEL_PROPOSAL": "Cancellation request sent", - "IGNORED_CANCEL": "Contract cancellation proposal ignored", - "DEALS_CANCELED_WAIT": "Cancellation in progress", - "WAITING_TIME": "Response time", - "NEED_MONEY": "Insufficient funds", - "BUTTON_MAKE_PLEDGE": "Accept and make deposit", - "BUTTON_IGNORE": "Ignore and hide offer", - "BUTTON_NULLIFY": "Terminate and burn deposits", - "BUTTON_RECEIVED": "Complete and release deposits", - "BUTTON_CANCEL_BUYER": "Cancel and return deposits", - "BUTTON_NOT_CANCEL": "Ignore request", - "BUTTON_CANCEL_SELLER": "Confirm and return deposits", - "HOUR": "hour", - "HOURS": "hours", - "CANCEL": "Cancel", - "NULLIFY_QUESTION": "Are you sure you want to burn both deposits?", - "BUTTON_NULLIFY_SHORT": "Burn", - "WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?" - }, - "MESSAGES": { - "ADDRESS": "Address", - "MESSAGE": "Message", - "SEND_PLACEHOLDER": "Type a message...", - "SEND_BUTTON": "Send" - }, - "MODALS": { - "ERROR": "Error", - "SUCCESS": "Success", - "INFO": "Information", - "OK": "OK" - }, - "CONFIRM": { - "BUTTON_CONFIRM": "Send", - "BUTTON_CANCEL": "Cancel", - "TITLE": "Confirm transaction", - "MESSAGE": { - "SEND": "Send", - "FROM": "From", - "TO": "To", - "COMMENT": "Comment" - } - }, - "STAKING": { - "TITLE": "Staking", - "TITLE_PENDING": "Pending", - "TITLE_TOTAL": "Total", - "TITLE_PERIOD": "Time period:", - "PERIOD": { - "WEEK1": "1 week", - "WEEK2": "2 week", - "MONTH1": "1 month", - "MONTH3": "3 month", - "MONTH6": "6 month", - "YEAR": "1 year", - "ALL": "All" - }, - "TITLE_GROUP": "Group:", - "GROUP": { - "DAY": "day", - "WEEK": "week", - "MONTH": "month" - }, - "SWITCH": { - "ON": "ON", - "OFF": "OFF" - } - }, - "CONTACTS": { - "TITLE": "Contact list", - "IMPORT_EXPORT": "Import or export contacts", - "IMPORT": "Import", - "EXPORT": "Export", - "ADD": "Add/edit contact", - "SEND": "Send", - "SEND_FROM": "Send from", - "SEND_TO": "To", - "OPEN_ADD_WALLET": "Open/Add wallet", - "COPY": "- Copy", - "TABLE": { - "NAME": "Name", - "ALIAS": "Alias", - "ADDRESS": "Address", - "NOTES": "Notes", - "EMPTY": "Contact list is empty" - }, - "FORM": { - "NAME": "Name", - "ADDRESS": "Address", - "NOTES": "Notes" - }, - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUBLICATED": "Name is dublicated", - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "SET_MASTER_PASSWORD": "Set master password", - "ADDRESS_DUBLICATED": "Address is dublicated", - "MAX_LENGTH": "Maximum notes length reached", - "NAME_LENGTH": "The name must be 4-25 characters long" - }, - "BUTTON": { - "SEND": "Send", - "EDIT": "Edit", - "DELETE": "Delete", - "ADD": "Add contact", - "ADD_EDIT": "Add/Save", - "GO_TO_WALLET": "Go to wallet", - "IMPORT_EXPORT": "Import/export" - }, - "SUCCESS_SENT": "Contact added", - "SUCCESS_SAVE": "Contact is edited", - "SUCCESS_IMPORT": "Contacts are imported", - "SUCCESS_EXPORT": "Contacts are exported", - "ERROR_IMPORT": "Error is occured while reading file!", - "ERROR_TYPE_FILE": "Please import valid .csv file", - "ERROR_EXPORT": "Invalid file type. Save file as .csv", - "ERROR_EMPTY_LIST": "Contact list is empty", - "ERROR_IMPORT_EMPTY": "File is empty" - }, - "ERRORS": { - "NO_MONEY": "Not enough money", - "NOT_ENOUGH_MONEY": "Insufficient funds in account", - "CORE_BUSY": "Internal error: core is busy", - "DAEMON_BUSY": "Internal error: daemon is busy", - "NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet", - "NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with", - "TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions", - "TRANSFER_ATTEMPT": "There is no connection to Zano network", - "ACCESS_DENIED": "Access denied", - "TRANSACTION_ERROR": "Error. Transaction not completed.", - "BAD_ARG": "Invalid argument", - "WALLET_WRONG_ID": "Invalid wallet ID", - "WRONG_PASSWORD": "Invalid password", - "FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain", - "FILE_NOT_FOUND": "File not found", - "FILE_EXIST": "A file with that name already exists. Enter another name to save the file under", - "FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.", - "TX_TYPE_NORMAL": "Error. The payment from the wallet", - "TX_TYPE_NORMAL_TO": "to", - "TX_TYPE_NORMAL_END": "was not completed.", - "TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe", - "TX_TYPE_NEW_ALIAS_END": "Please try again.", - "TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe", - "TX_TYPE_COIN_BASE": "Error. The payment was not completed." - }, - "CONTEXT_MENU": { - "COPY": "copy", - "PASTE": "paste", - "SELECT": "select all" - }, - "BACKEND_LOCALIZATION": { - "QUIT": "Quit", - "IS_RECEIVED": "", - "IS_CONFIRMED": "", - "INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)", - "INCOME_TRANSFER_CONFIRMED": "Payment received", - "MINED": "Mined", - "LOCKED": "Blocked", - "IS_MINIMIZE": "Zano application is minimized to the system tray", - "RESTORE": "You can recover it by clicking or using the context menu", - "TRAY_MENU_SHOW": "Resize", - "TRAY_MENU_MINIMIZE": "Minimize" - } -} diff --git a/src/gui/qt-daemon/html/assets/i18n/pl.json b/src/gui/qt-daemon/html/assets/i18n/pl.json deleted file mode 100644 index 59e88fa0..00000000 --- a/src/gui/qt-daemon/html/assets/i18n/pl.json +++ /dev/null @@ -1,593 +0,0 @@ -{ - "LOGIN": { - "SETUP_MASTER_PASS": "Setup master password", - "SETUP_CONFIRM_PASS": "Confirm the password", - "MASTER_PASS": "Master password", - "BUTTON_NEXT": "Next", - "BUTTON_SKIP": "Skip", - "BUTTON_RESET": "Reset", - "INCORRECT_PASSWORD": "Invalid password", - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "CONFIRM_REQUIRED": "Confirmation is required", - "MISMATCH": "Mismatch" - } - }, - "COMMON": { - "BACK": "Go back" - }, - "BREADCRUMBS": { - "ADD_WALLET": "Add wallet", - "CREATE_WALLET": "Create new wallet", - "SAVE_PHRASE": "Save your seed phrase", - "OPEN_WALLET": "Open existing wallet", - "RESTORE_WALLET": "Restore from backup", - "WALLET_DETAILS": "Wallet details", - "ASSIGN_ALIAS": "Assign alias", - "EDIT_ALIAS": "Edit alias", - "TRANSFER_ALIAS": "Transfer alias", - "CONTRACTS": "Contracts", - "NEW_PURCHASE": "New purchase", - "OLD_PURCHASE": "Purchase" - }, - "SIDEBAR": { - "TITLE": "Wallets", - "ADD_NEW": "+ Add", - "ACCOUNT": { - "STAKING": "Staking", - "MESSAGES": "New offers/Messages", - "SYNCING": "Syncing wallet" - }, - "CONTACTS": "Contacts", - "SETTINGS": "Settings", - "LOG_OUT": "Log out", - "SYNCHRONIZATION": { - "OFFLINE": "Offline", - "ONLINE": "Online", - "ERROR": "System error", - "COMPLETE": "Completion", - "SYNCING": "Syncing blockchain", - "LOADING": "Loading blockchain data" - }, - "UPDATE": { - "STANDARD": "Update available", - "STANDARD_TOOLTIP": "Get new update.
      Update is recommended!", - "IMPORTANT": "Update available", - "IMPORTANT_HINT": "Important update!", - "IMPORTANT_TOOLTIP": "Get new update.
      Important update!", - "CRITICAL": "Update available", - "CRITICAL_HINT": "Critical update!", - "CRITICAL_TOOLTIP": "Critical update available.Update strongly recommended!", - "TIME": "System time differs from network", - "TIME_TOOLTIP": "Wrong system time!
      Check and repair your system time." - } - }, - "MAIN": { - "TITLE": "Create or open the wallet to start using Zano", - "BUTTON_NEW_WALLET": "Create new wallet", - "BUTTON_OPEN_WALLET": "Open existing wallet", - "BUTTON_RESTORE_BACKUP": "Restore from backup", - "HELP": "How to create wallet?", - "CHOOSE_PATH": "Please choose a path" - }, - "CREATE_WALLET": { - "NAME": "Wallet name", - "PASS": "Set wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "TITLE_SAVE": "Save the wallet file.", - "ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten", - "ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match" - } - }, - "OPEN_WALLET": { - "NAME": "Wallet name", - "PASS": "Wallet password", - "BUTTON": "Open wallet", - "WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open", - "FILE_NOT_FOUND1": "Wallet file not found", - "FILE_NOT_FOUND2": "

      It might have been renamed or moved.
      To open it, use the \"Open wallet\" button.", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - }, - "MODAL": { - "TITLE": "Type wallet password", - "LABEL": "Password to this wallet", - "OPEN": "Open wallet", - "SKIP": "Skip", - "NOT_FOUND": "Not found" - } - }, - "RESTORE_WALLET": { - "LABEL_NAME": "Wallet name", - "LABEL_PHRASE_KEY": "Seed phrase / tracking seed", - "PASS": "Wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match", - "CHOOSE_PATH": "Please choose a path", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match", - "KEY_REQUIRED": "Key is required", - "KEY_NOT_VALID": "Key not valid" - } - }, - "SEED_PHRASE": { - "TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.", - "BUTTON_CREATE_ACCOUNT": "Create wallet", - "BUTTON_COPY": "Copy" - }, - "PROGRESS": { - "ADD_WALLET": "Add wallet", - "SELECT_LOCATION": "Select wallet location", - "CREATE_WALLET": "Create new wallet", - "RESTORE_WALLET": "Restore from backup" - }, - "SETTINGS": { - "TITLE": "Settings", - "DARK_THEME": "Dark theme", - "WHITE_THEME": "White theme", - "GRAY_THEME": "Grey theme", - "APP_LOCK": { - "TITLE": "Lock app after:", - "TIME1": "5 min", - "TIME2": "15 min", - "TIME3": "1 hour", - "TIME4": "Never" - }, - "SCALE": { - "75": "75% scale", - "100": "100% scale", - "125": "125% scale", - "150": "150% scale" - }, - "MASTER_PASSWORD": { - "TITLE": "Update master password", - "OLD": "Old password", - "NEW": "New password", - "CONFIRM": "New password confirmation", - "BUTTON": "Save" - }, - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "PASS_NOT_MATCH": "Old password not match", - "CONFIRM_NOT_MATCH": "Confirm password not match" - }, - "LAST_BUILD": "Current build: {{value}}", - "APP_LOG_TITLE": "Log level:" - }, - "WALLET": { - "REGISTER_ALIAS": "Register an alias", - "DETAILS": "Details", - "LOCK": "Lock", - "AVAILABLE_BALANCE": "Available {{available}} {{currency}}", - "LOCKED_BALANCE": "Locked {{locked}} {{currency}}", - "LOCKED_BALANCE_LINK": "What does that mean?", - "TABS": { - "SEND": "Send", - "RECEIVE": "Receive", - "HISTORY": "History", - "CONTRACTS": "Contracts", - "MESSAGES": "Messages", - "STAKING": "Staking" - } - }, - "WALLET_DETAILS": { - "LABEL_NAME": "Wallet name", - "LABEL_FILE_LOCATION": "Wallet file location", - "LABEL_SEED_PHRASE": "Seed phrase", - "SEED_PHRASE_HINT": "Click to reveal the seed phrase", - "BUTTON_SAVE": "Save", - "BUTTON_REMOVE": "Close wallet", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - } - }, - "ASSIGN_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": " Enter alias", - "TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”." - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "", - "TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later." - }, - "COST": "Alias fee {{value}} {{currency}}", - "BUTTON_ASSIGN": "Assign", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_WRONG": "Invalid name: allowed symbols \"0-9\", \"a-z\", \"-\", \".\"", - "NAME_LENGTH": "The alias must be 6-25 characters long", - "NAME_EXISTS": "Alias name already exists", - "NO_MONEY": "You do not have enough funds to assign this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "ONE_ALIAS": "You can create only one alias per wallet", - "REQUEST_ADD_REG": "The alias will be assigned within 10 minutes" - }, - "EDIT_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "NO_MONEY": "You do not have enough funds to change the comment to this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "COST": "Fee {{value}} {{currency}}", - "BUTTON_EDIT": "Edit" - }, - "TRANSFER_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "ADDRESS": { - "LABEL": "Transfer to", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "WRONG_ADDRESS": "No wallet with this account exists", - "ALIAS_EXISTS": "This account already has an alias", - "NO_MONEY": "You do not have enough funds to transfer this alias" - }, - "COST": "Transfer fee {{value}} {{currency}}", - "BUTTON_TRANSFER": "Transfer", - "BUTTON_CANCEL": "Cancel", - "REQUEST_SEND_REG": "The alias will be transferred within 10 minutes" - }, - "SEND": { - "ADDRESS": "Address", - "AMOUNT": "Amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "MIXIN": "Mixin", - "FEE": "Fee", - "HIDE": "Hide your wallet address from recipient", - "BUTTON": "Send", - "SUCCESS_SENT": "Transaction sent", - "FORM_ERRORS": { - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "ALIAS_NOT_VALID": "Alias not valid", - "AMOUNT_REQUIRED": "Amount is required", - "AMOUNT_ZERO": "Amount is zero", - "FEE_REQUIRED": "Fee is required", - "FEE_MINIMUM": "Minimum fee: {{fee}}", - "MAX_LENGTH": "Maximum comment length reached" - } - }, - "HISTORY": { - "STATUS": "Status", - "STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}", - "LOCK_TOOLTIP": "Locked till {{date}}", - "SEND": "Sent", - "RECEIVED": "Received", - "DATE": "Date", - "AMOUNT": "Amount", - "FEE": "Fee", - "ADDRESS": "Address", - "DETAILS": { - "PAYMENT_ID": "Payment ID", - "ID": "Transaction ID", - "SIZE": "Transaction size", - "SIZE_VALUE": "{{value}} bytes", - "HEIGHT": "Height", - "CONFIRMATION": "Confirmation", - "INPUTS": "Inputs", - "OUTPUTS": "Outputs", - "COMMENT": "Comment" - }, - "TYPE_MESSAGES": { - "HIDDEN": "hidden", - "UNDEFINED": "Undefined", - "COMPLETE_BUYER": "Contract completed", - "COMPLETE_SELLER": "Contract completed", - "CREATE_ALIAS": "Fee for assigning alias", - "UPDATE_ALIAS": "Fee for editing alias", - "POW_REWARD": "POW reward", - "POS_REWARD": "POS reward", - "CREATE_CONTRACT": "Contract proposal", - "PLEDGE_CONTRACT": "Contract deposit", - "NULLIFY_CONTRACT": "Burn deposits", - "PROPOSAL_CANCEL_CONTRACT": "Cancellation request", - "CANCEL_CONTRACT": "Cancel and return deposits" - } - }, - "CONTRACTS": { - "EMPTY": "No active contracts", - "CONTRACTS": "Contracts", - "PURCHASE": "Purchase", - "SELL": "Sell", - "DATE": "Date", - "AMOUNT": "Amount", - "STATUS": "Status", - "COMMENTS": "Comments", - "PURCHASE_BUTTON": "New Purchase", - "LISTING_BUTTON": "Create listing", - "TIME_LEFT": { - "REMAINING_LESS_ONE": "Less than an hour to respond", - "REMAINING_ONE": "{{time}} hour remains", - "REMAINING_MANY": "{{time}} hours remain", - "REMAINING_MANY_ALT": "{{time}} hours remain", - "REMAINING_ONE_RESPONSE": "{{time}} hour remains", - "REMAINING_MANY_RESPONSE": "{{time}} hours remain", - "REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain", - "REMAINING_ONE_WAITING": "Waiting for {{time}} hour", - "REMAINING_MANY_WAITING": "Waiting for {{time}} hours", - "REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours" - }, - "STATUS_MESSAGES": { - "SELLER": { - "NEW_CONTRACT": "New contract proposal", - "IGNORED": "You ignored contract proposal", - "ACCEPTED": "Contract started", - "WAIT": "Waiting for contract confirmation", - "WAITING_BUYER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "You ignored cancellation proposal", - "EXPIRED": "Contract proposal has expired" - }, - "BUYER": { - "WAITING": "Waiting for response", - "IGNORED": "Seller ignored your contract proposal", - "ACCEPTED": "Seller accepted your contract proposal", - "WAIT": "Waiting for deposits confirmation", - "WAITING_SELLER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "WAITING_CANCEL": "Waiting for contract cancellation", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract", - "EXPIRED": "The contract proposal has expired" - } - } - }, - "PURCHASE": { - "DESCRIPTION": "Description", - "SELLER": "Seller", - "AMOUNT": "Amount", - "YOUR_DEPOSIT": "Your deposit", - "SELLER_DEPOSIT": "Seller deposit", - "BUYER_DEPOSIT": "Buyer deposit", - "SAME_AMOUNT": "Same amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "SEND_BUTTON": "Send", - "FORM_ERRORS": { - "DESC_REQUIRED": "Description required", - "DESC_MAXIMUM": "Maximum field length reached", - "SELLER_REQUIRED": "Address required", - "SELLER_NOT_VALID": "Invalid address", - "ALIAS_NOT_VALID": "Invalid alias", - "AMOUNT_REQUIRED": "Amount required", - "AMOUNT_ZERO": "Amount cannot be zero", - "YOUR_DEPOSIT_REQUIRED": "Deposit required", - "SELLER_DEPOSIT_REQUIRED": "Seller deposit required", - "SELLER_SAME": "Use separate account", - "COMMENT_MAXIMUM": "Maximum field length reached" - }, - "PROGRESS_NEW": "New purchase", - "PROGRESS_WAIT": "Awaiting reply", - "PROGRESS_RECEIVE": "Reply received", - "PROGRESS_COMPLETE": "Completed", - "FEE": "Fee", - "PAYMENT": "Payment ID", - "STATUS_MESSAGES": { - "NEW_PURCHASE": "New purchase", - "WAITING_SELLER": "Waiting for response", - "WAITING_BUYER": "Contract proposal received", - "WAITING_CONFIRMATION": "Waiting for deposits confirmation", - "WAITING_DELIVERY": "Waiting for delivery", - "COMPLETED": "Contract completed", - "IGNORED_BUYER": "Contract proposal ignored", - "IGNORED_SELLER": "The seller ignored your contract proposal", - "PROPOSAL_CANCEL_SELLER": "Cancellation request sent", - "PROPOSAL_CANCEL_BUYER": "Cancellation request received", - "BEING_CANCELLED": "Cancellation in progress", - "IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract", - "IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored", - "CANCELLED": "Contract canceled", - "EXPIRED": "Contract proposal expired", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned" - }, - "ACCEPT_STATE_WAIT_BIG": "Contract started", - "IGNORED_ACCEPT": "Contract proposal ignored", - "BURN_PROPOSAL": "Deposits burned", - "SUCCESS_FINISH_PROPOSAL": "Contract completed", - "SEND_CANCEL_PROPOSAL": "Cancellation request sent", - "IGNORED_CANCEL": "Contract cancellation proposal ignored", - "DEALS_CANCELED_WAIT": "Cancellation in progress", - "WAITING_TIME": "Response time", - "NEED_MONEY": "Insufficient funds", - "BUTTON_MAKE_PLEDGE": "Accept and make deposit", - "BUTTON_IGNORE": "Ignore and hide offer", - "BUTTON_NULLIFY": "Terminate and burn deposits", - "BUTTON_RECEIVED": "Complete and release deposits", - "BUTTON_CANCEL_BUYER": "Cancel and return deposits", - "BUTTON_NOT_CANCEL": "Ignore request", - "BUTTON_CANCEL_SELLER": "Confirm and return deposits", - "HOUR": "hour", - "HOURS": "hours", - "CANCEL": "Cancel", - "NULLIFY_QUESTION": "Are you sure you want to burn both deposits?", - "BUTTON_NULLIFY_SHORT": "Burn", - "WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?" - }, - "MESSAGES": { - "ADDRESS": "Address", - "MESSAGE": "Message", - "SEND_PLACEHOLDER": "Type a message...", - "SEND_BUTTON": "Send" - }, - "MODALS": { - "ERROR": "Error", - "SUCCESS": "Success", - "INFO": "Information", - "OK": "OK" - }, - "CONFIRM": { - "BUTTON_CONFIRM": "Send", - "BUTTON_CANCEL": "Cancel", - "TITLE": "Confirm transaction", - "MESSAGE": { - "SEND": "Send", - "FROM": "From", - "TO": "To", - "COMMENT": "Comment" - } - }, - "STAKING": { - "TITLE": "Staking", - "TITLE_PENDING": "Pending", - "TITLE_TOTAL": "Total", - "TITLE_PERIOD": "Time period:", - "PERIOD": { - "WEEK1": "1 week", - "WEEK2": "2 week", - "MONTH1": "1 month", - "MONTH3": "3 month", - "MONTH6": "6 month", - "YEAR": "1 year", - "ALL": "All" - }, - "TITLE_GROUP": "Group:", - "GROUP": { - "DAY": "day", - "WEEK": "week", - "MONTH": "month" - }, - "SWITCH": { - "ON": "ON", - "OFF": "OFF" - } - }, - "CONTACTS": { - "TITLE": "Contact list", - "IMPORT_EXPORT": "Import or export contacts", - "IMPORT": "Import", - "EXPORT": "Export", - "ADD": "Add/edit contact", - "SEND": "Send", - "SEND_FROM": "Send from", - "SEND_TO": "To", - "OPEN_ADD_WALLET": "Open/Add wallet", - "COPY": "- Copy", - "TABLE": { - "NAME": "Name", - "ALIAS": "Alias", - "ADDRESS": "Address", - "NOTES": "Notes", - "EMPTY": "Contact list is empty" - }, - "FORM": { - "NAME": "Name", - "ADDRESS": "Address", - "NOTES": "Notes" - }, - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUBLICATED": "Name is dublicated", - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "SET_MASTER_PASSWORD": "Set master password", - "ADDRESS_DUBLICATED": "Address is dublicated", - "MAX_LENGTH": "Maximum notes length reached", - "NAME_LENGTH": "The name must be 4-25 characters long" - }, - "BUTTON": { - "SEND": "Send", - "EDIT": "Edit", - "DELETE": "Delete", - "ADD": "Add contact", - "ADD_EDIT": "Add/Save", - "GO_TO_WALLET": "Go to wallet", - "IMPORT_EXPORT": "Import/export" - }, - "SUCCESS_SENT": "Contact added", - "SUCCESS_SAVE": "Contact is edited", - "SUCCESS_IMPORT": "Contacts are imported", - "SUCCESS_EXPORT": "Contacts are exported", - "ERROR_IMPORT": "Error is occured while reading file!", - "ERROR_TYPE_FILE": "Please import valid .csv file", - "ERROR_EXPORT": "Invalid file type. Save file as .csv", - "ERROR_EMPTY_LIST": "Contact list is empty", - "ERROR_IMPORT_EMPTY": "File is empty" - }, - "ERRORS": { - "NO_MONEY": "Not enough money", - "NOT_ENOUGH_MONEY": "Insufficient funds in account", - "CORE_BUSY": "Internal error: core is busy", - "DAEMON_BUSY": "Internal error: daemon is busy", - "NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet", - "NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with", - "TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions", - "TRANSFER_ATTEMPT": "There is no connection to Zano network", - "ACCESS_DENIED": "Access denied", - "TRANSACTION_ERROR": "Error. Transaction not completed.", - "BAD_ARG": "Invalid argument", - "WALLET_WRONG_ID": "Invalid wallet ID", - "WRONG_PASSWORD": "Invalid password", - "FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain", - "FILE_NOT_FOUND": "File not found", - "FILE_EXIST": "A file with that name already exists. Enter another name to save the file under", - "FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.", - "TX_TYPE_NORMAL": "Error. The payment from the wallet", - "TX_TYPE_NORMAL_TO": "to", - "TX_TYPE_NORMAL_END": "was not completed.", - "TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe", - "TX_TYPE_NEW_ALIAS_END": "Please try again.", - "TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe", - "TX_TYPE_COIN_BASE": "Error. The payment was not completed." - }, - "CONTEXT_MENU": { - "COPY": "copy", - "PASTE": "paste", - "SELECT": "select all" - }, - "BACKEND_LOCALIZATION": { - "QUIT": "Quit", - "IS_RECEIVED": "", - "IS_CONFIRMED": "", - "INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)", - "INCOME_TRANSFER_CONFIRMED": "Payment received", - "MINED": "Mined", - "LOCKED": "Blocked", - "IS_MINIMIZE": "Zano application is minimized to the system tray", - "RESTORE": "You can recover it by clicking or using the context menu", - "TRAY_MENU_SHOW": "Resize", - "TRAY_MENU_MINIMIZE": "Minimize" - } -} diff --git a/src/gui/qt-daemon/html/assets/i18n/pt.json b/src/gui/qt-daemon/html/assets/i18n/pt.json deleted file mode 100644 index d01a7b63..00000000 --- a/src/gui/qt-daemon/html/assets/i18n/pt.json +++ /dev/null @@ -1,593 +0,0 @@ -{ - "LOGIN": { - "SETUP_MASTER_PASS": "Configurar password mestra", - "SETUP_CONFIRM_PASS": "Confirmar a password", - "MASTER_PASS": "Password mestra", - "BUTTON_NEXT": "Próximo", - "BUTTON_SKIP": "Saltar", - "BUTTON_RESET": "Redefinir", - "INCORRECT_PASSWORD": "Password inválida", - "FORM_ERRORS": { - "PASS_REQUIRED": "Password é obrigatória", - "CONFIRM_REQUIRED": "Confirmação é obrigatória", - "MISMATCH": "Não correspondem" - } - }, - "COMMON": { - "BACK": "Voltar" - }, - "BREADCRUMBS": { - "ADD_WALLET": "Adicionar carteira", - "CREATE_WALLET": "Criar nova carteira", - "SAVE_PHRASE": "Guardar a sua frase semente", - "OPEN_WALLET": "Abrir carteira existente", - "RESTORE_WALLET": "Restaurar de cópia", - "WALLET_DETAILS": "Detalhes da carteira", - "ASSIGN_ALIAS": "Atribuir alias", - "EDIT_ALIAS": "Editar alias", - "TRANSFER_ALIAS": "Transferir alias", - "CONTRACTS": "Contratos", - "NEW_PURCHASE": "Nova compra", - "OLD_PURCHASE": "Compra" - }, - "SIDEBAR": { - "TITLE": "Carteiras", - "ADD_NEW": "+ Adicionar", - "ACCOUNT": { - "STAKING": "Staking", - "MESSAGES": "Novas ofertas/Mensagens", - "SYNCING": "A sincronizar carteira" - }, - "CONTACTS": "Contactos", - "SETTINGS": "Definições", - "LOG_OUT": "Terminar sessão", - "SYNCHRONIZATION": { - "OFFLINE": "Offline", - "ONLINE": "Online", - "ERROR": "Erro de sistema", - "COMPLETE": "Conclusão", - "SYNCING": "Syncing block", - "LOADING": "A carregar informação da blockchain" - }, - "UPDATE": { - "STANDARD": "Atualização disponível", - "STANDARD_TOOLTIP": "Obter nova atualização. É recomendado atualizar!", - "IMPORTANT": "Atualização disponível", - "IMPORTANT_HINT": "Atualização importante!", - "IMPORTANT_TOOLTIP": "Obter nova atualização. É recomendado atualizar!", - "CRITICAL": "Atualização disponível", - "CRITICAL_HINT": "Atualização crítica!", - "CRITICAL_TOOLTIP": "Atualização crítica disponível. É fortemente recomendado atualizar!", - "TIME": "Tempo de sistema difere da rede", - "TIME_TOOLTIP": "Tempo de sistema errado! Verifique e repare o seu tempo de sistema." - } - }, - "MAIN": { - "TITLE": "Crie ou abra a carteira para começar a usar Zano", - "BUTTON_NEW_WALLET": "Criar nova carteira", - "BUTTON_OPEN_WALLET": "Abrir carteira existente", - "BUTTON_RESTORE_BACKUP": "Restaurar de cópia", - "HELP": "Como criar carteira?", - "CHOOSE_PATH": "Por favor escolha um caminho" - }, - "CREATE_WALLET": { - "NAME": "Nome da carteira", - "PASS": "Definir password da carteira", - "CONFIRM": "Confirmar password da carteira", - "BUTTON_SELECT": "Escolher localização da carteira", - "BUTTON_CREATE": "Criar carteira", - "TITLE_SAVE": "Gravar o ficheiro de carteira.", - "ERROR_CANNOT_SAVE_TOP": "Ficheiros de carteira existentes não podem ser substituídos ou sobrescritos", - "ERROR_CANNOT_SAVE_SYSTEM": "Ficheiros da carteira não podem ser guardados na partição do sistema operativo", - "FORM_ERRORS": { - "NAME_REQUIRED": "Nome é necessário", - "NAME_DUPLICATE": "Nome é duplicado", - "MAX_LENGTH": "Atingido comprimento máximo do nome", - "CONFIRM_NOT_MATCH": "Password de confirmação não corresponde" - } - }, - "OPEN_WALLET": { - "NAME": "Nome da carteira", - "PASS": "Password da carteira", - "BUTTON": "Abrir carteira", - "WITH_ADDRESS_ALREADY_OPEN": "Uma carteira com este endereço já está aberta", - "FILE_NOT_FOUND1": "Ficheiro de carteira não encontrado", - "FILE_NOT_FOUND2": "

      Pode ter sido renomeado ou movido.
      Para abri-lo, use o botão \"Abrir carteira\".", - "FORM_ERRORS": { - "NAME_REQUIRED": "Nome é necessário", - "NAME_DUPLICATE": "Nome é duplicado", - "MAX_LENGTH": "Atingido comprimento máximo do nome" - }, - "MODAL": { - "TITLE": "Escrever password da carteira", - "LABEL": "Password para esta carteira", - "OPEN": "Abrir carteira", - "SKIP": "Saltar", - "NOT_FOUND": "Não encontrado" - } - }, - "RESTORE_WALLET": { - "LABEL_NAME": "Nome da carteira", - "LABEL_PHRASE_KEY": "Frase semente / chave privada", - "PASS": "Password da carteira", - "CONFIRM": "Confirmar password da carteira", - "BUTTON_SELECT": "Escolher localização da carteira", - "BUTTON_CREATE": "Criar carteira", - "NOT_CORRECT_FILE_OR_PASSWORD": "Ficheiro de carteira inválido ou senha não corresponde", - "CHOOSE_PATH": "Por favor escolha um caminho", - "FORM_ERRORS": { - "NAME_REQUIRED": "Nome é necessário", - "NAME_DUPLICATE": "Nome é duplicado", - "MAX_LENGTH": "Atingido comprimento máximo do nome", - "CONFIRM_NOT_MATCH": "Password de confirmação não corresponde", - "KEY_REQUIRED": "Chave é necessária", - "KEY_NOT_VALID": "Chave inválida" - } - }, - "SEED_PHRASE": { - "TITLE": "Certifique-se de manter sua frase-semente num lugar seguro. Se see esquecer da sua frase-semente, não poderá recuperar a sua carteira.", - "BUTTON_CREATE_ACCOUNT": "Criar carteira", - "BUTTON_COPY": "Copiar" - }, - "PROGRESS": { - "ADD_WALLET": "Adicionar carteira", - "SELECT_LOCATION": "Escolher localização da carteira", - "CREATE_WALLET": "Criar nova carteira", - "RESTORE_WALLET": "Restaurar de cópia" - }, - "SETTINGS": { - "TITLE": "Definições", - "DARK_THEME": "Tema escuro", - "WHITE_THEME": "Tema branco", - "GRAY_THEME": "Tema cinzento", - "APP_LOCK": { - "TITLE": "Bloquear aplicação após:", - "TIME1": "5 minutos", - "TIME2": "15 minutos", - "TIME3": "1 hora", - "TIME4": "Nunca" - }, - "SCALE": { - "75": "75% escala", - "100": "100% escala", - "125": "125% escala", - "150": "150% escala" - }, - "MASTER_PASSWORD": { - "TITLE": "Atualizar password mestra", - "OLD": "Antiga password", - "NEW": "Nova password", - "CONFIRM": "Confirmação de nova password", - "BUTTON": "Guardar" - }, - "FORM_ERRORS": { - "PASS_REQUIRED": "Password é necessária", - "PASS_NOT_MATCH": "Antiga password não corresponde", - "CONFIRM_NOT_MATCH": "Password de confirmação não corresponde" - }, - "LAST_BUILD": "Versão atual: {{value}}", - "APP_LOG_TITLE": "Nível de registro:" - }, - "WALLET": { - "REGISTER_ALIAS": "Registar um alias", - "DETAILS": "Detalhes", - "LOCK": "Bloquear", - "AVAILABLE_BALANCE": "Disponível {{available}} {{currency}}", - "LOCKED_BALANCE": "Bloqueado {{locked}} {{currency}}", - "LOCKED_BALANCE_LINK": "O que isso quer dizer?", - "TABS": { - "SEND": "Enviar", - "RECEIVE": "Receber", - "HISTORY": "Histórico", - "CONTRACTS": "Contratos", - "MESSAGES": "Mensagens", - "STAKING": "Staking" - } - }, - "WALLET_DETAILS": { - "LABEL_NAME": "Nome da carteira", - "LABEL_FILE_LOCATION": "Localização do ficheiro de carteira", - "LABEL_SEED_PHRASE": "Frase semente", - "SEED_PHRASE_HINT": "Clique para revelar a frase semente", - "BUTTON_SAVE": "Guardar", - "BUTTON_REMOVE": "Fechar carteira", - "FORM_ERRORS": { - "NAME_REQUIRED": "Nome é necessário", - "NAME_DUPLICATE": "Nome é duplicado", - "MAX_LENGTH": "Atingido comprimento máximo do nome" - } - }, - "ASSIGN_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": " Introduzir alias", - "TOOLTIP": "Um alias é uma forma abreviada da sua conta. Um alias só pode incluir letras, números e caracteres latinos “.” e “-”. Deve começar com “@”." - }, - "COMMENT": { - "LABEL": "Comentar", - "PLACEHOLDER": "", - "TOOLTIP": "O comentário ficará visível para quem quiser efetuar um pagamento para o seu alias. Pode fornecer detalhes sobre sua empresa, contatos ou incluir qualquer texto. Os comentários podem ser editados posteriormente." - }, - "COST": "Taxa de Alias {{value}} {{currency}}", - "BUTTON_ASSIGN": "Atribuir", - "FORM_ERRORS": { - "NAME_REQUIRED": "Nome é necessário", - "NAME_WRONG": "Nome inválido: símbolos permitidos \"0-9\", \"a-z\", \"-\", \".\"", - "NAME_LENGTH": "O alias deve ter entre 6 e 25 caracteres", - "NAME_EXISTS": "Nome de alias já existe", - "NO_MONEY": "Não tem fundos suficientes para atribuir esse alias", - "MAX_LENGTH": "Atingido comprimento máximo do comentário" - }, - "ONE_ALIAS": "Pode criar apenas um alias por carteira", - "REQUEST_ADD_REG": "O alias será atribuído em 10 minutos" - }, - "EDIT_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Introduzir alias" - }, - "COMMENT": { - "LABEL": "Comentário", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "NO_MONEY": "Não tem fundos suficientes para comentar esse alias", - "MAX_LENGTH": "Atingido comprimento máximo do comentário" - }, - "COST": "Taxa {{value}} {{currency}}", - "BUTTON_EDIT": "Editar" - }, - "TRANSFER_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Introduzir alias" - }, - "COMMENT": { - "LABEL": "Comentar", - "PLACEHOLDER": "" - }, - "ADDRESS": { - "LABEL": "Transferir para", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "WRONG_ADDRESS": "Não existe nenhuma carteira com esta conta", - "ALIAS_EXISTS": "Esta conta já tem um alias", - "NO_MONEY": "Não tem fundos suficientes para transferir esse alias" - }, - "COST": "Taxa de Transferência {{value}} {{currency}}", - "BUTTON_TRANSFER": "Transferir", - "BUTTON_CANCEL": "Cancelar", - "REQUEST_SEND_REG": "O alias será transferido em 10 minutos" - }, - "SEND": { - "ADDRESS": "Endereço", - "AMOUNT": "Montante", - "COMMENT": "Comentar", - "DETAILS": "Detalhes adicionais", - "MIXIN": "Mixagem", - "FEE": "Taxa", - "HIDE": "Ocultar o seu endereço de carteira do recipiente", - "BUTTON": "Enviar", - "SUCCESS_SENT": "Transação enviada", - "FORM_ERRORS": { - "ADDRESS_REQUIRED": "Endereço é necessário", - "ADDRESS_NOT_VALID": "Endereço inválido", - "ALIAS_NOT_VALID": "Alias inválido", - "AMOUNT_REQUIRED": "Montante é necessário", - "AMOUNT_ZERO": "Montante é zero", - "FEE_REQUIRED": "Taxa é necessária", - "FEE_MINIMUM": "Taxa mínima: {{fee}}", - "MAX_LENGTH": "Atingido comprimento máximo do comentário" - } - }, - "HISTORY": { - "STATUS": "Estado", - "STATUS_TOOLTIP": "Confirmações {{current}}/{{total}}", - "LOCK_TOOLTIP": "Bloqueado até {{date}}", - "SEND": "Enviado", - "RECEIVED": "Recebido", - "DATE": "Data", - "AMOUNT": "Montante", - "FEE": "Taxa", - "ADDRESS": "Endereço", - "DETAILS": { - "PAYMENT_ID": "ID de Pagamento", - "ID": "ID da transação", - "SIZE": "Tamanho da transação", - "SIZE_VALUE": "{{value}} bytes", - "HEIGHT": "Altura", - "CONFIRMATION": "Confirmação", - "INPUTS": "Entradas", - "OUTPUTS": "Saídas", - "COMMENT": "Comentário" - }, - "TYPE_MESSAGES": { - "HIDDEN": "escondido", - "UNDEFINED": "Indefinido", - "COMPLETE_BUYER": "Contrato completado", - "COMPLETE_SELLER": "Contrato completado", - "CREATE_ALIAS": "Taxa para atribuição de alias", - "UPDATE_ALIAS": "Taxa para edição de alias", - "POW_REWARD": "Recompensa de POW", - "POS_REWARD": "Recompensa de POS", - "CREATE_CONTRACT": "Proposta de contrato", - "PLEDGE_CONTRACT": "Depósito de contrato", - "NULLIFY_CONTRACT": "Queimar depósitos", - "PROPOSAL_CANCEL_CONTRACT": "Cancelar pedido", - "CANCEL_CONTRACT": "Cancelar e retornar depósitos" - } - }, - "CONTRACTS": { - "EMPTY": "Sem contratos ativos", - "CONTRACTS": "Contratos", - "PURCHASE": "Compra", - "SELL": "Venda", - "DATE": "Data", - "AMOUNT": "Montante", - "STATUS": "Estado", - "COMMENTS": "Comentários", - "PURCHASE_BUTTON": "Nova Compra", - "LISTING_BUTTON": "Criar lista", - "TIME_LEFT": { - "REMAINING_LESS_ONE": "Menos de uma hora para responder", - "REMAINING_ONE": "Falta {{time}} hora\n", - "REMAINING_MANY": "Falta {{time}} horas\n", - "REMAINING_MANY_ALT": "Faltam {{time}} horas", - "REMAINING_ONE_RESPONSE": "Falta {{time}} hora", - "REMAINING_MANY_RESPONSE": "Faltam {{time}} horas\n", - "REMAINING_MANY_ALT_RESPONSE": "Faltam {{time}} horas\n", - "REMAINING_ONE_WAITING": "À espera à {{time}} hora", - "REMAINING_MANY_WAITING": "À espera à {{time}} horas", - "REMAINING_MANY_ALT_WAITING": "À espera à {{time}} horas" - }, - "STATUS_MESSAGES": { - "SELLER": { - "NEW_CONTRACT": "Nova proposta de contrato", - "IGNORED": "Ignorou uma proposta de contrato", - "ACCEPTED": "Contrato iniciado", - "WAIT": "À espera de confirmação de contrato", - "WAITING_BUYER": "À espera de entrega", - "COMPLETED": "Contrato completado", - "NOT_RECEIVED": "Entrega falhada", - "NULLIFIED": "Todos os depósitos queimados", - "PROPOSAL_CANCEL": "Nova proposta para cancelar contrato e retornar depósitos", - "BEING_CANCELLED": "Cancelamento em progresso", - "CANCELLED": "Contrato cancelado", - "IGNORED_CANCEL": "Ignorou uma proposta de cancelamento", - "EXPIRED": "Proposta de contrato expirou" - }, - "BUYER": { - "WAITING": "À espera de resposta", - "IGNORED": "O Vendedor ignorou a sua proposta de contrato", - "ACCEPTED": "O Vendedor aceitou a sua proposta de contrato", - "WAIT": "À espera de confirmação de depósitos", - "WAITING_SELLER": "À espera de entrega", - "COMPLETED": "Contrato completado", - "NOT_RECEIVED": "Entrega falhada", - "NULLIFIED": "Todos os depósitos queimados", - "WAITING_CANCEL": "À espera de cancelamento de contrato", - "BEING_CANCELLED": "Cancelamento em progresso", - "CANCELLED": "Contrato cancelado", - "IGNORED_CANCEL": "O vendedor ignorou a sua proposta para cancelar o contrato", - "EXPIRED": "A proposta de contrato expirou" - } - } - }, - "PURCHASE": { - "DESCRIPTION": "Descrição", - "SELLER": "Vendedor", - "AMOUNT": "Montante", - "YOUR_DEPOSIT": "O seu depósito", - "SELLER_DEPOSIT": "Depósito do vendedor", - "BUYER_DEPOSIT": "Depósito do comprador", - "SAME_AMOUNT": "Mesmo montante", - "COMMENT": "Comentário", - "DETAILS": "Detalhes adicionais", - "SEND_BUTTON": "Enviar", - "FORM_ERRORS": { - "DESC_REQUIRED": "Descrição necessária", - "DESC_MAXIMUM": "Atingido comprimento máximo do campo", - "SELLER_REQUIRED": "Endereço necessário", - "SELLER_NOT_VALID": "Endereço inválido", - "ALIAS_NOT_VALID": "Alias inválido", - "AMOUNT_REQUIRED": "Montante necessário", - "AMOUNT_ZERO": "Montante não pode ser zero", - "YOUR_DEPOSIT_REQUIRED": "Depósito necessário", - "SELLER_DEPOSIT_REQUIRED": "Necessário depósito de vendedor", - "SELLER_SAME": "Usar conta separada", - "COMMENT_MAXIMUM": "Atingido comprimento máximo do campo" - }, - "PROGRESS_NEW": "Nova compra", - "PROGRESS_WAIT": "À espera de resposta", - "PROGRESS_RECEIVE": "Resposta recebida", - "PROGRESS_COMPLETE": "Completado", - "FEE": "Taxa", - "PAYMENT": "ID de Pagamento", - "STATUS_MESSAGES": { - "NEW_PURCHASE": "Nova compra", - "WAITING_SELLER": "À espera de resposta", - "WAITING_BUYER": "Proposta de contrato recebida", - "WAITING_CONFIRMATION": "À espera de confirmação de depósitos", - "WAITING_DELIVERY": "À espera de entrega", - "COMPLETED": "Contrato completado", - "IGNORED_BUYER": "Proposta de contrato ignorada", - "IGNORED_SELLER": "O vendedor ignorou a sua proposta de contrato", - "PROPOSAL_CANCEL_SELLER": "Pedido de cancelamento enviado", - "PROPOSAL_CANCEL_BUYER": "Pedido de cancelamento recebido", - "BEING_CANCELLED": "Cancelamento em progresso", - "IGNORED_CANCEL_SELLER": "O vendedor ignorou a sua proposta para cancelar o contrato", - "IGNORED_CANCEL_BUYER": "Proposta de cancelamento de contrato ignorada", - "CANCELLED": "Contrato cancelado", - "EXPIRED": "Proposta de contrato expirada", - "NOT_RECEIVED": "Entrega falhada", - "NULLIFIED": "Todos os depósitos queimados" - }, - "ACCEPT_STATE_WAIT_BIG": "Contrato iniciado", - "IGNORED_ACCEPT": "Proposta de contrato ignorada", - "BURN_PROPOSAL": "Depósitos queimados", - "SUCCESS_FINISH_PROPOSAL": "Contrato completado", - "SEND_CANCEL_PROPOSAL": "Pedido de cancelamento enviado", - "IGNORED_CANCEL": "Proposta de cancelamento de contrato ignorada", - "DEALS_CANCELED_WAIT": "Cancelamento em progresso", - "WAITING_TIME": "Tempo de resposta", - "NEED_MONEY": "Fundos insuficientes", - "BUTTON_MAKE_PLEDGE": "Aceitar e fazer depósito", - "BUTTON_IGNORE": "Ignorar e ocultar oferta", - "BUTTON_NULLIFY": "Terminar e queimar depósitos", - "BUTTON_RECEIVED": "Completar e libertar depósitos", - "BUTTON_CANCEL_BUYER": "Cancelar e retornar depósitos", - "BUTTON_NOT_CANCEL": "Ignorar pedido", - "BUTTON_CANCEL_SELLER": "Confirmar e retornar depósitos", - "HOUR": "hora", - "HOURS": "horas", - "CANCEL": "Cancelar", - "NULLIFY_QUESTION": "Tem a certeza que quer queimar ambos os depósitos?", - "BUTTON_NULLIFY_SHORT": "Queimar", - "WAITING_TIME_QUESTION": "Tem a certeza que quer cancelar o contrato?" - }, - "MESSAGES": { - "ADDRESS": "Endereço", - "MESSAGE": "Mensagem", - "SEND_PLACEHOLDER": "Escreva uma mensagem...", - "SEND_BUTTON": "Enviar" - }, - "MODALS": { - "ERROR": "Erro", - "SUCCESS": "Sucesso", - "INFO": "Informação", - "OK": "OK" - }, - "CONFIRM": { - "BUTTON_CONFIRM": "Enviar", - "BUTTON_CANCEL": "Cancelar", - "TITLE": "Confirmar transação", - "MESSAGE": { - "SEND": "Enviar", - "FROM": "De", - "TO": "Para", - "COMMENT": "Comentário" - } - }, - "STAKING": { - "TITLE": "Staking", - "TITLE_PENDING": "Pendente", - "TITLE_TOTAL": "Total", - "TITLE_PERIOD": "Período de tempo:", - "PERIOD": { - "WEEK1": "1 semana", - "WEEK2": "2 semanas", - "MONTH1": "1 mês", - "MONTH3": "3 meses", - "MONTH6": "6 meses", - "YEAR": "1 ano", - "ALL": "Todo" - }, - "TITLE_GROUP": "Grupo:", - "GROUP": { - "DAY": "dia", - "WEEK": "semana", - "MONTH": "mês" - }, - "SWITCH": { - "ON": "ON", - "OFF": "OFF" - } - }, - "CONTACTS": { - "TITLE": "Lista de Contactos", - "IMPORT_EXPORT": "Importar ou exportar contactos", - "IMPORT": "Importar", - "EXPORT": "Exportar", - "ADD": "Adicionar/editar contacto", - "SEND": "Enviar", - "SEND_FROM": "Enviar de", - "SEND_TO": "Para", - "OPEN_ADD_WALLET": "Abrir/Adicionar carteira", - "COPY": "- Copiar", - "TABLE": { - "NAME": "Nome", - "ALIAS": "Alias", - "ADDRESS": "Endereço", - "NOTES": "Notas", - "EMPTY": "Lista de contactos está vazia" - }, - "FORM": { - "NAME": "Nome", - "ADDRESS": "Endereço", - "NOTES": "Notas" - }, - "FORM_ERRORS": { - "NAME_REQUIRED": "Nome é necessário", - "NAME_DUBLICATED": "Nome está duplicado", - "ADDRESS_REQUIRED": "Endereço é necessário", - "ADDRESS_NOT_VALID": "Endereço inválido", - "SET_MASTER_PASSWORD": "Definir password mestra", - "ADDRESS_DUBLICATED": "Endereço está duplicado", - "MAX_LENGTH": "Atingido comprimento máximo das Notas", - "NAME_LENGTH": "O alias deve ter entre 4 e 25 caracteres" - }, - "BUTTON": { - "SEND": "Enviar", - "EDIT": "Editar", - "DELETE": "Eliminar", - "ADD": "Adicionar contacto", - "ADD_EDIT": "Adicionar/Guardar", - "GO_TO_WALLET": "Ir para carteira", - "IMPORT_EXPORT": "Importar/exportar" - }, - "SUCCESS_SENT": "Contacto adicionado", - "SUCCESS_SAVE": "Contacto editado", - "SUCCESS_IMPORT": "Contactos importados", - "SUCCESS_EXPORT": "Contactos exportados", - "ERROR_IMPORT": "Erro ocorrido na leitura de ficheiro!", - "ERROR_TYPE_FILE": "Por favor importe um ficheiro .csv válido", - "ERROR_EXPORT": "Tipo de ficheiro inválido. Guarde ficheiro como .csv", - "ERROR_EMPTY_LIST": "Lista de contactos está vazia", - "ERROR_IMPORT_EMPTY": "Ficheiro está vazio" - }, - "ERRORS": { - "NO_MONEY": "Sem dinheiro suficiente", - "NOT_ENOUGH_MONEY": "Fundos insuficientes na conta", - "CORE_BUSY": "Erro interno: core está ocupado", - "DAEMON_BUSY": "Erro interno: daemon está ocupado", - "NO_MONEY_REMOVE_OFFER": "Não há taxa para excluir uma oferta, mas para proteger a rede contra transações de inundação, é preciso ter pelo menos {{fee}} {{currency}} na sua carteira", - "NOT_ENOUGH_OUTPUTS_TO_MIX": "O número de mixagem é muito grande para o estado atual da blockchain. Não há saídas não gastas suficientes para misturar", - "TRANSACTION_IS_TO_BIG": "Transação excede o limite de rede, envie quantidade necessária com várias transações", - "TRANSFER_ATTEMPT": "Sem conexão à rede Zano", - "ACCESS_DENIED": "Acesso negado", - "TRANSACTION_ERROR": "Erro. Transação não completada.", - "BAD_ARG": "Argumento inválido", - "WALLET_WRONG_ID": "ID de carteira inválido", - "WRONG_PASSWORD": "Password inválida", - "FILE_RESTORED": "O ficheiro de carteira estava corrompido. Recuperámos as chaves e a carteira a partir da blockchain", - "FILE_NOT_FOUND": "Ficheiro não encontrado", - "FILE_EXIST": "Já existe um ficheiro com esse nome. Insira outro nome para gravar o ficheiro sob", - "FILE_NOT_SAVED": "Não pode gravar um ficheiro de carteira nesta pasta. Por favor escolha outra pasta.", - "TX_TYPE_NORMAL": "Erro. O pagamento da carteira", - "TX_TYPE_NORMAL_TO": "para", - "TX_TYPE_NORMAL_END": "não foi completado.", - "TX_TYPE_NEW_ALIAS": "Erro. Falha ao registar alias para seguro", - "TX_TYPE_NEW_ALIAS_END": "Por favor tente novamente.", - "TX_TYPE_UPDATE_ALIAS": "Erro. Falha ao mudar comentário a um alias seguro", - "TX_TYPE_COIN_BASE": "Erro. Pagamento não foi completado." - }, - "CONTEXT_MENU": { - "COPY": "copiar", - "PASTE": "colar", - "SELECT": "selecionar tudo" - }, - "BACKEND_LOCALIZATION": { - "QUIT": "Sair", - "IS_RECEIVED": "", - "IS_CONFIRMED": "", - "INCOME_TRANSFER_UNCONFIRMED": "Pagamento recebido (não confirmado)", - "INCOME_TRANSFER_CONFIRMED": "Pagamento recebido", - "MINED": "Minerado", - "LOCKED": "Bloqueado", - "IS_MINIMIZE": "Aplicação Zano foi minimizada na bandeja do sistema", - "RESTORE": "Pode recuperá-lo ao clicar ou usar o menu de contexto", - "TRAY_MENU_SHOW": "Redimensionar", - "TRAY_MENU_MINIMIZE": "Minimizar" - } -} diff --git a/src/gui/qt-daemon/html/assets/i18n/ro.json b/src/gui/qt-daemon/html/assets/i18n/ro.json deleted file mode 100644 index 59e88fa0..00000000 --- a/src/gui/qt-daemon/html/assets/i18n/ro.json +++ /dev/null @@ -1,593 +0,0 @@ -{ - "LOGIN": { - "SETUP_MASTER_PASS": "Setup master password", - "SETUP_CONFIRM_PASS": "Confirm the password", - "MASTER_PASS": "Master password", - "BUTTON_NEXT": "Next", - "BUTTON_SKIP": "Skip", - "BUTTON_RESET": "Reset", - "INCORRECT_PASSWORD": "Invalid password", - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "CONFIRM_REQUIRED": "Confirmation is required", - "MISMATCH": "Mismatch" - } - }, - "COMMON": { - "BACK": "Go back" - }, - "BREADCRUMBS": { - "ADD_WALLET": "Add wallet", - "CREATE_WALLET": "Create new wallet", - "SAVE_PHRASE": "Save your seed phrase", - "OPEN_WALLET": "Open existing wallet", - "RESTORE_WALLET": "Restore from backup", - "WALLET_DETAILS": "Wallet details", - "ASSIGN_ALIAS": "Assign alias", - "EDIT_ALIAS": "Edit alias", - "TRANSFER_ALIAS": "Transfer alias", - "CONTRACTS": "Contracts", - "NEW_PURCHASE": "New purchase", - "OLD_PURCHASE": "Purchase" - }, - "SIDEBAR": { - "TITLE": "Wallets", - "ADD_NEW": "+ Add", - "ACCOUNT": { - "STAKING": "Staking", - "MESSAGES": "New offers/Messages", - "SYNCING": "Syncing wallet" - }, - "CONTACTS": "Contacts", - "SETTINGS": "Settings", - "LOG_OUT": "Log out", - "SYNCHRONIZATION": { - "OFFLINE": "Offline", - "ONLINE": "Online", - "ERROR": "System error", - "COMPLETE": "Completion", - "SYNCING": "Syncing blockchain", - "LOADING": "Loading blockchain data" - }, - "UPDATE": { - "STANDARD": "Update available", - "STANDARD_TOOLTIP": "Get new update.
      Update is recommended!", - "IMPORTANT": "Update available", - "IMPORTANT_HINT": "Important update!", - "IMPORTANT_TOOLTIP": "Get new update.
      Important update!", - "CRITICAL": "Update available", - "CRITICAL_HINT": "Critical update!", - "CRITICAL_TOOLTIP": "Critical update available.Update strongly recommended!", - "TIME": "System time differs from network", - "TIME_TOOLTIP": "Wrong system time!
      Check and repair your system time." - } - }, - "MAIN": { - "TITLE": "Create or open the wallet to start using Zano", - "BUTTON_NEW_WALLET": "Create new wallet", - "BUTTON_OPEN_WALLET": "Open existing wallet", - "BUTTON_RESTORE_BACKUP": "Restore from backup", - "HELP": "How to create wallet?", - "CHOOSE_PATH": "Please choose a path" - }, - "CREATE_WALLET": { - "NAME": "Wallet name", - "PASS": "Set wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "TITLE_SAVE": "Save the wallet file.", - "ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten", - "ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match" - } - }, - "OPEN_WALLET": { - "NAME": "Wallet name", - "PASS": "Wallet password", - "BUTTON": "Open wallet", - "WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open", - "FILE_NOT_FOUND1": "Wallet file not found", - "FILE_NOT_FOUND2": "

      It might have been renamed or moved.
      To open it, use the \"Open wallet\" button.", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - }, - "MODAL": { - "TITLE": "Type wallet password", - "LABEL": "Password to this wallet", - "OPEN": "Open wallet", - "SKIP": "Skip", - "NOT_FOUND": "Not found" - } - }, - "RESTORE_WALLET": { - "LABEL_NAME": "Wallet name", - "LABEL_PHRASE_KEY": "Seed phrase / tracking seed", - "PASS": "Wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match", - "CHOOSE_PATH": "Please choose a path", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match", - "KEY_REQUIRED": "Key is required", - "KEY_NOT_VALID": "Key not valid" - } - }, - "SEED_PHRASE": { - "TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.", - "BUTTON_CREATE_ACCOUNT": "Create wallet", - "BUTTON_COPY": "Copy" - }, - "PROGRESS": { - "ADD_WALLET": "Add wallet", - "SELECT_LOCATION": "Select wallet location", - "CREATE_WALLET": "Create new wallet", - "RESTORE_WALLET": "Restore from backup" - }, - "SETTINGS": { - "TITLE": "Settings", - "DARK_THEME": "Dark theme", - "WHITE_THEME": "White theme", - "GRAY_THEME": "Grey theme", - "APP_LOCK": { - "TITLE": "Lock app after:", - "TIME1": "5 min", - "TIME2": "15 min", - "TIME3": "1 hour", - "TIME4": "Never" - }, - "SCALE": { - "75": "75% scale", - "100": "100% scale", - "125": "125% scale", - "150": "150% scale" - }, - "MASTER_PASSWORD": { - "TITLE": "Update master password", - "OLD": "Old password", - "NEW": "New password", - "CONFIRM": "New password confirmation", - "BUTTON": "Save" - }, - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "PASS_NOT_MATCH": "Old password not match", - "CONFIRM_NOT_MATCH": "Confirm password not match" - }, - "LAST_BUILD": "Current build: {{value}}", - "APP_LOG_TITLE": "Log level:" - }, - "WALLET": { - "REGISTER_ALIAS": "Register an alias", - "DETAILS": "Details", - "LOCK": "Lock", - "AVAILABLE_BALANCE": "Available {{available}} {{currency}}", - "LOCKED_BALANCE": "Locked {{locked}} {{currency}}", - "LOCKED_BALANCE_LINK": "What does that mean?", - "TABS": { - "SEND": "Send", - "RECEIVE": "Receive", - "HISTORY": "History", - "CONTRACTS": "Contracts", - "MESSAGES": "Messages", - "STAKING": "Staking" - } - }, - "WALLET_DETAILS": { - "LABEL_NAME": "Wallet name", - "LABEL_FILE_LOCATION": "Wallet file location", - "LABEL_SEED_PHRASE": "Seed phrase", - "SEED_PHRASE_HINT": "Click to reveal the seed phrase", - "BUTTON_SAVE": "Save", - "BUTTON_REMOVE": "Close wallet", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - } - }, - "ASSIGN_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": " Enter alias", - "TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”." - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "", - "TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later." - }, - "COST": "Alias fee {{value}} {{currency}}", - "BUTTON_ASSIGN": "Assign", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_WRONG": "Invalid name: allowed symbols \"0-9\", \"a-z\", \"-\", \".\"", - "NAME_LENGTH": "The alias must be 6-25 characters long", - "NAME_EXISTS": "Alias name already exists", - "NO_MONEY": "You do not have enough funds to assign this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "ONE_ALIAS": "You can create only one alias per wallet", - "REQUEST_ADD_REG": "The alias will be assigned within 10 minutes" - }, - "EDIT_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "NO_MONEY": "You do not have enough funds to change the comment to this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "COST": "Fee {{value}} {{currency}}", - "BUTTON_EDIT": "Edit" - }, - "TRANSFER_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "ADDRESS": { - "LABEL": "Transfer to", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "WRONG_ADDRESS": "No wallet with this account exists", - "ALIAS_EXISTS": "This account already has an alias", - "NO_MONEY": "You do not have enough funds to transfer this alias" - }, - "COST": "Transfer fee {{value}} {{currency}}", - "BUTTON_TRANSFER": "Transfer", - "BUTTON_CANCEL": "Cancel", - "REQUEST_SEND_REG": "The alias will be transferred within 10 minutes" - }, - "SEND": { - "ADDRESS": "Address", - "AMOUNT": "Amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "MIXIN": "Mixin", - "FEE": "Fee", - "HIDE": "Hide your wallet address from recipient", - "BUTTON": "Send", - "SUCCESS_SENT": "Transaction sent", - "FORM_ERRORS": { - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "ALIAS_NOT_VALID": "Alias not valid", - "AMOUNT_REQUIRED": "Amount is required", - "AMOUNT_ZERO": "Amount is zero", - "FEE_REQUIRED": "Fee is required", - "FEE_MINIMUM": "Minimum fee: {{fee}}", - "MAX_LENGTH": "Maximum comment length reached" - } - }, - "HISTORY": { - "STATUS": "Status", - "STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}", - "LOCK_TOOLTIP": "Locked till {{date}}", - "SEND": "Sent", - "RECEIVED": "Received", - "DATE": "Date", - "AMOUNT": "Amount", - "FEE": "Fee", - "ADDRESS": "Address", - "DETAILS": { - "PAYMENT_ID": "Payment ID", - "ID": "Transaction ID", - "SIZE": "Transaction size", - "SIZE_VALUE": "{{value}} bytes", - "HEIGHT": "Height", - "CONFIRMATION": "Confirmation", - "INPUTS": "Inputs", - "OUTPUTS": "Outputs", - "COMMENT": "Comment" - }, - "TYPE_MESSAGES": { - "HIDDEN": "hidden", - "UNDEFINED": "Undefined", - "COMPLETE_BUYER": "Contract completed", - "COMPLETE_SELLER": "Contract completed", - "CREATE_ALIAS": "Fee for assigning alias", - "UPDATE_ALIAS": "Fee for editing alias", - "POW_REWARD": "POW reward", - "POS_REWARD": "POS reward", - "CREATE_CONTRACT": "Contract proposal", - "PLEDGE_CONTRACT": "Contract deposit", - "NULLIFY_CONTRACT": "Burn deposits", - "PROPOSAL_CANCEL_CONTRACT": "Cancellation request", - "CANCEL_CONTRACT": "Cancel and return deposits" - } - }, - "CONTRACTS": { - "EMPTY": "No active contracts", - "CONTRACTS": "Contracts", - "PURCHASE": "Purchase", - "SELL": "Sell", - "DATE": "Date", - "AMOUNT": "Amount", - "STATUS": "Status", - "COMMENTS": "Comments", - "PURCHASE_BUTTON": "New Purchase", - "LISTING_BUTTON": "Create listing", - "TIME_LEFT": { - "REMAINING_LESS_ONE": "Less than an hour to respond", - "REMAINING_ONE": "{{time}} hour remains", - "REMAINING_MANY": "{{time}} hours remain", - "REMAINING_MANY_ALT": "{{time}} hours remain", - "REMAINING_ONE_RESPONSE": "{{time}} hour remains", - "REMAINING_MANY_RESPONSE": "{{time}} hours remain", - "REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain", - "REMAINING_ONE_WAITING": "Waiting for {{time}} hour", - "REMAINING_MANY_WAITING": "Waiting for {{time}} hours", - "REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours" - }, - "STATUS_MESSAGES": { - "SELLER": { - "NEW_CONTRACT": "New contract proposal", - "IGNORED": "You ignored contract proposal", - "ACCEPTED": "Contract started", - "WAIT": "Waiting for contract confirmation", - "WAITING_BUYER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "You ignored cancellation proposal", - "EXPIRED": "Contract proposal has expired" - }, - "BUYER": { - "WAITING": "Waiting for response", - "IGNORED": "Seller ignored your contract proposal", - "ACCEPTED": "Seller accepted your contract proposal", - "WAIT": "Waiting for deposits confirmation", - "WAITING_SELLER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "WAITING_CANCEL": "Waiting for contract cancellation", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract", - "EXPIRED": "The contract proposal has expired" - } - } - }, - "PURCHASE": { - "DESCRIPTION": "Description", - "SELLER": "Seller", - "AMOUNT": "Amount", - "YOUR_DEPOSIT": "Your deposit", - "SELLER_DEPOSIT": "Seller deposit", - "BUYER_DEPOSIT": "Buyer deposit", - "SAME_AMOUNT": "Same amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "SEND_BUTTON": "Send", - "FORM_ERRORS": { - "DESC_REQUIRED": "Description required", - "DESC_MAXIMUM": "Maximum field length reached", - "SELLER_REQUIRED": "Address required", - "SELLER_NOT_VALID": "Invalid address", - "ALIAS_NOT_VALID": "Invalid alias", - "AMOUNT_REQUIRED": "Amount required", - "AMOUNT_ZERO": "Amount cannot be zero", - "YOUR_DEPOSIT_REQUIRED": "Deposit required", - "SELLER_DEPOSIT_REQUIRED": "Seller deposit required", - "SELLER_SAME": "Use separate account", - "COMMENT_MAXIMUM": "Maximum field length reached" - }, - "PROGRESS_NEW": "New purchase", - "PROGRESS_WAIT": "Awaiting reply", - "PROGRESS_RECEIVE": "Reply received", - "PROGRESS_COMPLETE": "Completed", - "FEE": "Fee", - "PAYMENT": "Payment ID", - "STATUS_MESSAGES": { - "NEW_PURCHASE": "New purchase", - "WAITING_SELLER": "Waiting for response", - "WAITING_BUYER": "Contract proposal received", - "WAITING_CONFIRMATION": "Waiting for deposits confirmation", - "WAITING_DELIVERY": "Waiting for delivery", - "COMPLETED": "Contract completed", - "IGNORED_BUYER": "Contract proposal ignored", - "IGNORED_SELLER": "The seller ignored your contract proposal", - "PROPOSAL_CANCEL_SELLER": "Cancellation request sent", - "PROPOSAL_CANCEL_BUYER": "Cancellation request received", - "BEING_CANCELLED": "Cancellation in progress", - "IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract", - "IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored", - "CANCELLED": "Contract canceled", - "EXPIRED": "Contract proposal expired", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned" - }, - "ACCEPT_STATE_WAIT_BIG": "Contract started", - "IGNORED_ACCEPT": "Contract proposal ignored", - "BURN_PROPOSAL": "Deposits burned", - "SUCCESS_FINISH_PROPOSAL": "Contract completed", - "SEND_CANCEL_PROPOSAL": "Cancellation request sent", - "IGNORED_CANCEL": "Contract cancellation proposal ignored", - "DEALS_CANCELED_WAIT": "Cancellation in progress", - "WAITING_TIME": "Response time", - "NEED_MONEY": "Insufficient funds", - "BUTTON_MAKE_PLEDGE": "Accept and make deposit", - "BUTTON_IGNORE": "Ignore and hide offer", - "BUTTON_NULLIFY": "Terminate and burn deposits", - "BUTTON_RECEIVED": "Complete and release deposits", - "BUTTON_CANCEL_BUYER": "Cancel and return deposits", - "BUTTON_NOT_CANCEL": "Ignore request", - "BUTTON_CANCEL_SELLER": "Confirm and return deposits", - "HOUR": "hour", - "HOURS": "hours", - "CANCEL": "Cancel", - "NULLIFY_QUESTION": "Are you sure you want to burn both deposits?", - "BUTTON_NULLIFY_SHORT": "Burn", - "WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?" - }, - "MESSAGES": { - "ADDRESS": "Address", - "MESSAGE": "Message", - "SEND_PLACEHOLDER": "Type a message...", - "SEND_BUTTON": "Send" - }, - "MODALS": { - "ERROR": "Error", - "SUCCESS": "Success", - "INFO": "Information", - "OK": "OK" - }, - "CONFIRM": { - "BUTTON_CONFIRM": "Send", - "BUTTON_CANCEL": "Cancel", - "TITLE": "Confirm transaction", - "MESSAGE": { - "SEND": "Send", - "FROM": "From", - "TO": "To", - "COMMENT": "Comment" - } - }, - "STAKING": { - "TITLE": "Staking", - "TITLE_PENDING": "Pending", - "TITLE_TOTAL": "Total", - "TITLE_PERIOD": "Time period:", - "PERIOD": { - "WEEK1": "1 week", - "WEEK2": "2 week", - "MONTH1": "1 month", - "MONTH3": "3 month", - "MONTH6": "6 month", - "YEAR": "1 year", - "ALL": "All" - }, - "TITLE_GROUP": "Group:", - "GROUP": { - "DAY": "day", - "WEEK": "week", - "MONTH": "month" - }, - "SWITCH": { - "ON": "ON", - "OFF": "OFF" - } - }, - "CONTACTS": { - "TITLE": "Contact list", - "IMPORT_EXPORT": "Import or export contacts", - "IMPORT": "Import", - "EXPORT": "Export", - "ADD": "Add/edit contact", - "SEND": "Send", - "SEND_FROM": "Send from", - "SEND_TO": "To", - "OPEN_ADD_WALLET": "Open/Add wallet", - "COPY": "- Copy", - "TABLE": { - "NAME": "Name", - "ALIAS": "Alias", - "ADDRESS": "Address", - "NOTES": "Notes", - "EMPTY": "Contact list is empty" - }, - "FORM": { - "NAME": "Name", - "ADDRESS": "Address", - "NOTES": "Notes" - }, - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUBLICATED": "Name is dublicated", - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "SET_MASTER_PASSWORD": "Set master password", - "ADDRESS_DUBLICATED": "Address is dublicated", - "MAX_LENGTH": "Maximum notes length reached", - "NAME_LENGTH": "The name must be 4-25 characters long" - }, - "BUTTON": { - "SEND": "Send", - "EDIT": "Edit", - "DELETE": "Delete", - "ADD": "Add contact", - "ADD_EDIT": "Add/Save", - "GO_TO_WALLET": "Go to wallet", - "IMPORT_EXPORT": "Import/export" - }, - "SUCCESS_SENT": "Contact added", - "SUCCESS_SAVE": "Contact is edited", - "SUCCESS_IMPORT": "Contacts are imported", - "SUCCESS_EXPORT": "Contacts are exported", - "ERROR_IMPORT": "Error is occured while reading file!", - "ERROR_TYPE_FILE": "Please import valid .csv file", - "ERROR_EXPORT": "Invalid file type. Save file as .csv", - "ERROR_EMPTY_LIST": "Contact list is empty", - "ERROR_IMPORT_EMPTY": "File is empty" - }, - "ERRORS": { - "NO_MONEY": "Not enough money", - "NOT_ENOUGH_MONEY": "Insufficient funds in account", - "CORE_BUSY": "Internal error: core is busy", - "DAEMON_BUSY": "Internal error: daemon is busy", - "NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet", - "NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with", - "TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions", - "TRANSFER_ATTEMPT": "There is no connection to Zano network", - "ACCESS_DENIED": "Access denied", - "TRANSACTION_ERROR": "Error. Transaction not completed.", - "BAD_ARG": "Invalid argument", - "WALLET_WRONG_ID": "Invalid wallet ID", - "WRONG_PASSWORD": "Invalid password", - "FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain", - "FILE_NOT_FOUND": "File not found", - "FILE_EXIST": "A file with that name already exists. Enter another name to save the file under", - "FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.", - "TX_TYPE_NORMAL": "Error. The payment from the wallet", - "TX_TYPE_NORMAL_TO": "to", - "TX_TYPE_NORMAL_END": "was not completed.", - "TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe", - "TX_TYPE_NEW_ALIAS_END": "Please try again.", - "TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe", - "TX_TYPE_COIN_BASE": "Error. The payment was not completed." - }, - "CONTEXT_MENU": { - "COPY": "copy", - "PASTE": "paste", - "SELECT": "select all" - }, - "BACKEND_LOCALIZATION": { - "QUIT": "Quit", - "IS_RECEIVED": "", - "IS_CONFIRMED": "", - "INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)", - "INCOME_TRANSFER_CONFIRMED": "Payment received", - "MINED": "Mined", - "LOCKED": "Blocked", - "IS_MINIMIZE": "Zano application is minimized to the system tray", - "RESTORE": "You can recover it by clicking or using the context menu", - "TRAY_MENU_SHOW": "Resize", - "TRAY_MENU_MINIMIZE": "Minimize" - } -} diff --git a/src/gui/qt-daemon/html/assets/i18n/ru.json b/src/gui/qt-daemon/html/assets/i18n/ru.json deleted file mode 100644 index 59e88fa0..00000000 --- a/src/gui/qt-daemon/html/assets/i18n/ru.json +++ /dev/null @@ -1,593 +0,0 @@ -{ - "LOGIN": { - "SETUP_MASTER_PASS": "Setup master password", - "SETUP_CONFIRM_PASS": "Confirm the password", - "MASTER_PASS": "Master password", - "BUTTON_NEXT": "Next", - "BUTTON_SKIP": "Skip", - "BUTTON_RESET": "Reset", - "INCORRECT_PASSWORD": "Invalid password", - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "CONFIRM_REQUIRED": "Confirmation is required", - "MISMATCH": "Mismatch" - } - }, - "COMMON": { - "BACK": "Go back" - }, - "BREADCRUMBS": { - "ADD_WALLET": "Add wallet", - "CREATE_WALLET": "Create new wallet", - "SAVE_PHRASE": "Save your seed phrase", - "OPEN_WALLET": "Open existing wallet", - "RESTORE_WALLET": "Restore from backup", - "WALLET_DETAILS": "Wallet details", - "ASSIGN_ALIAS": "Assign alias", - "EDIT_ALIAS": "Edit alias", - "TRANSFER_ALIAS": "Transfer alias", - "CONTRACTS": "Contracts", - "NEW_PURCHASE": "New purchase", - "OLD_PURCHASE": "Purchase" - }, - "SIDEBAR": { - "TITLE": "Wallets", - "ADD_NEW": "+ Add", - "ACCOUNT": { - "STAKING": "Staking", - "MESSAGES": "New offers/Messages", - "SYNCING": "Syncing wallet" - }, - "CONTACTS": "Contacts", - "SETTINGS": "Settings", - "LOG_OUT": "Log out", - "SYNCHRONIZATION": { - "OFFLINE": "Offline", - "ONLINE": "Online", - "ERROR": "System error", - "COMPLETE": "Completion", - "SYNCING": "Syncing blockchain", - "LOADING": "Loading blockchain data" - }, - "UPDATE": { - "STANDARD": "Update available", - "STANDARD_TOOLTIP": "Get new update.
      Update is recommended!", - "IMPORTANT": "Update available", - "IMPORTANT_HINT": "Important update!", - "IMPORTANT_TOOLTIP": "Get new update.
      Important update!", - "CRITICAL": "Update available", - "CRITICAL_HINT": "Critical update!", - "CRITICAL_TOOLTIP": "Critical update available.Update strongly recommended!", - "TIME": "System time differs from network", - "TIME_TOOLTIP": "Wrong system time!
      Check and repair your system time." - } - }, - "MAIN": { - "TITLE": "Create or open the wallet to start using Zano", - "BUTTON_NEW_WALLET": "Create new wallet", - "BUTTON_OPEN_WALLET": "Open existing wallet", - "BUTTON_RESTORE_BACKUP": "Restore from backup", - "HELP": "How to create wallet?", - "CHOOSE_PATH": "Please choose a path" - }, - "CREATE_WALLET": { - "NAME": "Wallet name", - "PASS": "Set wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "TITLE_SAVE": "Save the wallet file.", - "ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten", - "ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match" - } - }, - "OPEN_WALLET": { - "NAME": "Wallet name", - "PASS": "Wallet password", - "BUTTON": "Open wallet", - "WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open", - "FILE_NOT_FOUND1": "Wallet file not found", - "FILE_NOT_FOUND2": "

      It might have been renamed or moved.
      To open it, use the \"Open wallet\" button.", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - }, - "MODAL": { - "TITLE": "Type wallet password", - "LABEL": "Password to this wallet", - "OPEN": "Open wallet", - "SKIP": "Skip", - "NOT_FOUND": "Not found" - } - }, - "RESTORE_WALLET": { - "LABEL_NAME": "Wallet name", - "LABEL_PHRASE_KEY": "Seed phrase / tracking seed", - "PASS": "Wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match", - "CHOOSE_PATH": "Please choose a path", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match", - "KEY_REQUIRED": "Key is required", - "KEY_NOT_VALID": "Key not valid" - } - }, - "SEED_PHRASE": { - "TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.", - "BUTTON_CREATE_ACCOUNT": "Create wallet", - "BUTTON_COPY": "Copy" - }, - "PROGRESS": { - "ADD_WALLET": "Add wallet", - "SELECT_LOCATION": "Select wallet location", - "CREATE_WALLET": "Create new wallet", - "RESTORE_WALLET": "Restore from backup" - }, - "SETTINGS": { - "TITLE": "Settings", - "DARK_THEME": "Dark theme", - "WHITE_THEME": "White theme", - "GRAY_THEME": "Grey theme", - "APP_LOCK": { - "TITLE": "Lock app after:", - "TIME1": "5 min", - "TIME2": "15 min", - "TIME3": "1 hour", - "TIME4": "Never" - }, - "SCALE": { - "75": "75% scale", - "100": "100% scale", - "125": "125% scale", - "150": "150% scale" - }, - "MASTER_PASSWORD": { - "TITLE": "Update master password", - "OLD": "Old password", - "NEW": "New password", - "CONFIRM": "New password confirmation", - "BUTTON": "Save" - }, - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "PASS_NOT_MATCH": "Old password not match", - "CONFIRM_NOT_MATCH": "Confirm password not match" - }, - "LAST_BUILD": "Current build: {{value}}", - "APP_LOG_TITLE": "Log level:" - }, - "WALLET": { - "REGISTER_ALIAS": "Register an alias", - "DETAILS": "Details", - "LOCK": "Lock", - "AVAILABLE_BALANCE": "Available {{available}} {{currency}}", - "LOCKED_BALANCE": "Locked {{locked}} {{currency}}", - "LOCKED_BALANCE_LINK": "What does that mean?", - "TABS": { - "SEND": "Send", - "RECEIVE": "Receive", - "HISTORY": "History", - "CONTRACTS": "Contracts", - "MESSAGES": "Messages", - "STAKING": "Staking" - } - }, - "WALLET_DETAILS": { - "LABEL_NAME": "Wallet name", - "LABEL_FILE_LOCATION": "Wallet file location", - "LABEL_SEED_PHRASE": "Seed phrase", - "SEED_PHRASE_HINT": "Click to reveal the seed phrase", - "BUTTON_SAVE": "Save", - "BUTTON_REMOVE": "Close wallet", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - } - }, - "ASSIGN_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": " Enter alias", - "TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”." - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "", - "TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later." - }, - "COST": "Alias fee {{value}} {{currency}}", - "BUTTON_ASSIGN": "Assign", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_WRONG": "Invalid name: allowed symbols \"0-9\", \"a-z\", \"-\", \".\"", - "NAME_LENGTH": "The alias must be 6-25 characters long", - "NAME_EXISTS": "Alias name already exists", - "NO_MONEY": "You do not have enough funds to assign this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "ONE_ALIAS": "You can create only one alias per wallet", - "REQUEST_ADD_REG": "The alias will be assigned within 10 minutes" - }, - "EDIT_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "NO_MONEY": "You do not have enough funds to change the comment to this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "COST": "Fee {{value}} {{currency}}", - "BUTTON_EDIT": "Edit" - }, - "TRANSFER_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "ADDRESS": { - "LABEL": "Transfer to", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "WRONG_ADDRESS": "No wallet with this account exists", - "ALIAS_EXISTS": "This account already has an alias", - "NO_MONEY": "You do not have enough funds to transfer this alias" - }, - "COST": "Transfer fee {{value}} {{currency}}", - "BUTTON_TRANSFER": "Transfer", - "BUTTON_CANCEL": "Cancel", - "REQUEST_SEND_REG": "The alias will be transferred within 10 minutes" - }, - "SEND": { - "ADDRESS": "Address", - "AMOUNT": "Amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "MIXIN": "Mixin", - "FEE": "Fee", - "HIDE": "Hide your wallet address from recipient", - "BUTTON": "Send", - "SUCCESS_SENT": "Transaction sent", - "FORM_ERRORS": { - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "ALIAS_NOT_VALID": "Alias not valid", - "AMOUNT_REQUIRED": "Amount is required", - "AMOUNT_ZERO": "Amount is zero", - "FEE_REQUIRED": "Fee is required", - "FEE_MINIMUM": "Minimum fee: {{fee}}", - "MAX_LENGTH": "Maximum comment length reached" - } - }, - "HISTORY": { - "STATUS": "Status", - "STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}", - "LOCK_TOOLTIP": "Locked till {{date}}", - "SEND": "Sent", - "RECEIVED": "Received", - "DATE": "Date", - "AMOUNT": "Amount", - "FEE": "Fee", - "ADDRESS": "Address", - "DETAILS": { - "PAYMENT_ID": "Payment ID", - "ID": "Transaction ID", - "SIZE": "Transaction size", - "SIZE_VALUE": "{{value}} bytes", - "HEIGHT": "Height", - "CONFIRMATION": "Confirmation", - "INPUTS": "Inputs", - "OUTPUTS": "Outputs", - "COMMENT": "Comment" - }, - "TYPE_MESSAGES": { - "HIDDEN": "hidden", - "UNDEFINED": "Undefined", - "COMPLETE_BUYER": "Contract completed", - "COMPLETE_SELLER": "Contract completed", - "CREATE_ALIAS": "Fee for assigning alias", - "UPDATE_ALIAS": "Fee for editing alias", - "POW_REWARD": "POW reward", - "POS_REWARD": "POS reward", - "CREATE_CONTRACT": "Contract proposal", - "PLEDGE_CONTRACT": "Contract deposit", - "NULLIFY_CONTRACT": "Burn deposits", - "PROPOSAL_CANCEL_CONTRACT": "Cancellation request", - "CANCEL_CONTRACT": "Cancel and return deposits" - } - }, - "CONTRACTS": { - "EMPTY": "No active contracts", - "CONTRACTS": "Contracts", - "PURCHASE": "Purchase", - "SELL": "Sell", - "DATE": "Date", - "AMOUNT": "Amount", - "STATUS": "Status", - "COMMENTS": "Comments", - "PURCHASE_BUTTON": "New Purchase", - "LISTING_BUTTON": "Create listing", - "TIME_LEFT": { - "REMAINING_LESS_ONE": "Less than an hour to respond", - "REMAINING_ONE": "{{time}} hour remains", - "REMAINING_MANY": "{{time}} hours remain", - "REMAINING_MANY_ALT": "{{time}} hours remain", - "REMAINING_ONE_RESPONSE": "{{time}} hour remains", - "REMAINING_MANY_RESPONSE": "{{time}} hours remain", - "REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain", - "REMAINING_ONE_WAITING": "Waiting for {{time}} hour", - "REMAINING_MANY_WAITING": "Waiting for {{time}} hours", - "REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours" - }, - "STATUS_MESSAGES": { - "SELLER": { - "NEW_CONTRACT": "New contract proposal", - "IGNORED": "You ignored contract proposal", - "ACCEPTED": "Contract started", - "WAIT": "Waiting for contract confirmation", - "WAITING_BUYER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "You ignored cancellation proposal", - "EXPIRED": "Contract proposal has expired" - }, - "BUYER": { - "WAITING": "Waiting for response", - "IGNORED": "Seller ignored your contract proposal", - "ACCEPTED": "Seller accepted your contract proposal", - "WAIT": "Waiting for deposits confirmation", - "WAITING_SELLER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "WAITING_CANCEL": "Waiting for contract cancellation", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract", - "EXPIRED": "The contract proposal has expired" - } - } - }, - "PURCHASE": { - "DESCRIPTION": "Description", - "SELLER": "Seller", - "AMOUNT": "Amount", - "YOUR_DEPOSIT": "Your deposit", - "SELLER_DEPOSIT": "Seller deposit", - "BUYER_DEPOSIT": "Buyer deposit", - "SAME_AMOUNT": "Same amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "SEND_BUTTON": "Send", - "FORM_ERRORS": { - "DESC_REQUIRED": "Description required", - "DESC_MAXIMUM": "Maximum field length reached", - "SELLER_REQUIRED": "Address required", - "SELLER_NOT_VALID": "Invalid address", - "ALIAS_NOT_VALID": "Invalid alias", - "AMOUNT_REQUIRED": "Amount required", - "AMOUNT_ZERO": "Amount cannot be zero", - "YOUR_DEPOSIT_REQUIRED": "Deposit required", - "SELLER_DEPOSIT_REQUIRED": "Seller deposit required", - "SELLER_SAME": "Use separate account", - "COMMENT_MAXIMUM": "Maximum field length reached" - }, - "PROGRESS_NEW": "New purchase", - "PROGRESS_WAIT": "Awaiting reply", - "PROGRESS_RECEIVE": "Reply received", - "PROGRESS_COMPLETE": "Completed", - "FEE": "Fee", - "PAYMENT": "Payment ID", - "STATUS_MESSAGES": { - "NEW_PURCHASE": "New purchase", - "WAITING_SELLER": "Waiting for response", - "WAITING_BUYER": "Contract proposal received", - "WAITING_CONFIRMATION": "Waiting for deposits confirmation", - "WAITING_DELIVERY": "Waiting for delivery", - "COMPLETED": "Contract completed", - "IGNORED_BUYER": "Contract proposal ignored", - "IGNORED_SELLER": "The seller ignored your contract proposal", - "PROPOSAL_CANCEL_SELLER": "Cancellation request sent", - "PROPOSAL_CANCEL_BUYER": "Cancellation request received", - "BEING_CANCELLED": "Cancellation in progress", - "IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract", - "IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored", - "CANCELLED": "Contract canceled", - "EXPIRED": "Contract proposal expired", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned" - }, - "ACCEPT_STATE_WAIT_BIG": "Contract started", - "IGNORED_ACCEPT": "Contract proposal ignored", - "BURN_PROPOSAL": "Deposits burned", - "SUCCESS_FINISH_PROPOSAL": "Contract completed", - "SEND_CANCEL_PROPOSAL": "Cancellation request sent", - "IGNORED_CANCEL": "Contract cancellation proposal ignored", - "DEALS_CANCELED_WAIT": "Cancellation in progress", - "WAITING_TIME": "Response time", - "NEED_MONEY": "Insufficient funds", - "BUTTON_MAKE_PLEDGE": "Accept and make deposit", - "BUTTON_IGNORE": "Ignore and hide offer", - "BUTTON_NULLIFY": "Terminate and burn deposits", - "BUTTON_RECEIVED": "Complete and release deposits", - "BUTTON_CANCEL_BUYER": "Cancel and return deposits", - "BUTTON_NOT_CANCEL": "Ignore request", - "BUTTON_CANCEL_SELLER": "Confirm and return deposits", - "HOUR": "hour", - "HOURS": "hours", - "CANCEL": "Cancel", - "NULLIFY_QUESTION": "Are you sure you want to burn both deposits?", - "BUTTON_NULLIFY_SHORT": "Burn", - "WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?" - }, - "MESSAGES": { - "ADDRESS": "Address", - "MESSAGE": "Message", - "SEND_PLACEHOLDER": "Type a message...", - "SEND_BUTTON": "Send" - }, - "MODALS": { - "ERROR": "Error", - "SUCCESS": "Success", - "INFO": "Information", - "OK": "OK" - }, - "CONFIRM": { - "BUTTON_CONFIRM": "Send", - "BUTTON_CANCEL": "Cancel", - "TITLE": "Confirm transaction", - "MESSAGE": { - "SEND": "Send", - "FROM": "From", - "TO": "To", - "COMMENT": "Comment" - } - }, - "STAKING": { - "TITLE": "Staking", - "TITLE_PENDING": "Pending", - "TITLE_TOTAL": "Total", - "TITLE_PERIOD": "Time period:", - "PERIOD": { - "WEEK1": "1 week", - "WEEK2": "2 week", - "MONTH1": "1 month", - "MONTH3": "3 month", - "MONTH6": "6 month", - "YEAR": "1 year", - "ALL": "All" - }, - "TITLE_GROUP": "Group:", - "GROUP": { - "DAY": "day", - "WEEK": "week", - "MONTH": "month" - }, - "SWITCH": { - "ON": "ON", - "OFF": "OFF" - } - }, - "CONTACTS": { - "TITLE": "Contact list", - "IMPORT_EXPORT": "Import or export contacts", - "IMPORT": "Import", - "EXPORT": "Export", - "ADD": "Add/edit contact", - "SEND": "Send", - "SEND_FROM": "Send from", - "SEND_TO": "To", - "OPEN_ADD_WALLET": "Open/Add wallet", - "COPY": "- Copy", - "TABLE": { - "NAME": "Name", - "ALIAS": "Alias", - "ADDRESS": "Address", - "NOTES": "Notes", - "EMPTY": "Contact list is empty" - }, - "FORM": { - "NAME": "Name", - "ADDRESS": "Address", - "NOTES": "Notes" - }, - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUBLICATED": "Name is dublicated", - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "SET_MASTER_PASSWORD": "Set master password", - "ADDRESS_DUBLICATED": "Address is dublicated", - "MAX_LENGTH": "Maximum notes length reached", - "NAME_LENGTH": "The name must be 4-25 characters long" - }, - "BUTTON": { - "SEND": "Send", - "EDIT": "Edit", - "DELETE": "Delete", - "ADD": "Add contact", - "ADD_EDIT": "Add/Save", - "GO_TO_WALLET": "Go to wallet", - "IMPORT_EXPORT": "Import/export" - }, - "SUCCESS_SENT": "Contact added", - "SUCCESS_SAVE": "Contact is edited", - "SUCCESS_IMPORT": "Contacts are imported", - "SUCCESS_EXPORT": "Contacts are exported", - "ERROR_IMPORT": "Error is occured while reading file!", - "ERROR_TYPE_FILE": "Please import valid .csv file", - "ERROR_EXPORT": "Invalid file type. Save file as .csv", - "ERROR_EMPTY_LIST": "Contact list is empty", - "ERROR_IMPORT_EMPTY": "File is empty" - }, - "ERRORS": { - "NO_MONEY": "Not enough money", - "NOT_ENOUGH_MONEY": "Insufficient funds in account", - "CORE_BUSY": "Internal error: core is busy", - "DAEMON_BUSY": "Internal error: daemon is busy", - "NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet", - "NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with", - "TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions", - "TRANSFER_ATTEMPT": "There is no connection to Zano network", - "ACCESS_DENIED": "Access denied", - "TRANSACTION_ERROR": "Error. Transaction not completed.", - "BAD_ARG": "Invalid argument", - "WALLET_WRONG_ID": "Invalid wallet ID", - "WRONG_PASSWORD": "Invalid password", - "FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain", - "FILE_NOT_FOUND": "File not found", - "FILE_EXIST": "A file with that name already exists. Enter another name to save the file under", - "FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.", - "TX_TYPE_NORMAL": "Error. The payment from the wallet", - "TX_TYPE_NORMAL_TO": "to", - "TX_TYPE_NORMAL_END": "was not completed.", - "TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe", - "TX_TYPE_NEW_ALIAS_END": "Please try again.", - "TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe", - "TX_TYPE_COIN_BASE": "Error. The payment was not completed." - }, - "CONTEXT_MENU": { - "COPY": "copy", - "PASTE": "paste", - "SELECT": "select all" - }, - "BACKEND_LOCALIZATION": { - "QUIT": "Quit", - "IS_RECEIVED": "", - "IS_CONFIRMED": "", - "INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)", - "INCOME_TRANSFER_CONFIRMED": "Payment received", - "MINED": "Mined", - "LOCKED": "Blocked", - "IS_MINIMIZE": "Zano application is minimized to the system tray", - "RESTORE": "You can recover it by clicking or using the context menu", - "TRAY_MENU_SHOW": "Resize", - "TRAY_MENU_MINIMIZE": "Minimize" - } -} diff --git a/src/gui/qt-daemon/html/assets/i18n/sr.json b/src/gui/qt-daemon/html/assets/i18n/sr.json deleted file mode 100644 index 59e88fa0..00000000 --- a/src/gui/qt-daemon/html/assets/i18n/sr.json +++ /dev/null @@ -1,593 +0,0 @@ -{ - "LOGIN": { - "SETUP_MASTER_PASS": "Setup master password", - "SETUP_CONFIRM_PASS": "Confirm the password", - "MASTER_PASS": "Master password", - "BUTTON_NEXT": "Next", - "BUTTON_SKIP": "Skip", - "BUTTON_RESET": "Reset", - "INCORRECT_PASSWORD": "Invalid password", - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "CONFIRM_REQUIRED": "Confirmation is required", - "MISMATCH": "Mismatch" - } - }, - "COMMON": { - "BACK": "Go back" - }, - "BREADCRUMBS": { - "ADD_WALLET": "Add wallet", - "CREATE_WALLET": "Create new wallet", - "SAVE_PHRASE": "Save your seed phrase", - "OPEN_WALLET": "Open existing wallet", - "RESTORE_WALLET": "Restore from backup", - "WALLET_DETAILS": "Wallet details", - "ASSIGN_ALIAS": "Assign alias", - "EDIT_ALIAS": "Edit alias", - "TRANSFER_ALIAS": "Transfer alias", - "CONTRACTS": "Contracts", - "NEW_PURCHASE": "New purchase", - "OLD_PURCHASE": "Purchase" - }, - "SIDEBAR": { - "TITLE": "Wallets", - "ADD_NEW": "+ Add", - "ACCOUNT": { - "STAKING": "Staking", - "MESSAGES": "New offers/Messages", - "SYNCING": "Syncing wallet" - }, - "CONTACTS": "Contacts", - "SETTINGS": "Settings", - "LOG_OUT": "Log out", - "SYNCHRONIZATION": { - "OFFLINE": "Offline", - "ONLINE": "Online", - "ERROR": "System error", - "COMPLETE": "Completion", - "SYNCING": "Syncing blockchain", - "LOADING": "Loading blockchain data" - }, - "UPDATE": { - "STANDARD": "Update available", - "STANDARD_TOOLTIP": "Get new update.
      Update is recommended!", - "IMPORTANT": "Update available", - "IMPORTANT_HINT": "Important update!", - "IMPORTANT_TOOLTIP": "Get new update.
      Important update!", - "CRITICAL": "Update available", - "CRITICAL_HINT": "Critical update!", - "CRITICAL_TOOLTIP": "Critical update available.Update strongly recommended!", - "TIME": "System time differs from network", - "TIME_TOOLTIP": "Wrong system time!
      Check and repair your system time." - } - }, - "MAIN": { - "TITLE": "Create or open the wallet to start using Zano", - "BUTTON_NEW_WALLET": "Create new wallet", - "BUTTON_OPEN_WALLET": "Open existing wallet", - "BUTTON_RESTORE_BACKUP": "Restore from backup", - "HELP": "How to create wallet?", - "CHOOSE_PATH": "Please choose a path" - }, - "CREATE_WALLET": { - "NAME": "Wallet name", - "PASS": "Set wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "TITLE_SAVE": "Save the wallet file.", - "ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten", - "ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match" - } - }, - "OPEN_WALLET": { - "NAME": "Wallet name", - "PASS": "Wallet password", - "BUTTON": "Open wallet", - "WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open", - "FILE_NOT_FOUND1": "Wallet file not found", - "FILE_NOT_FOUND2": "

      It might have been renamed or moved.
      To open it, use the \"Open wallet\" button.", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - }, - "MODAL": { - "TITLE": "Type wallet password", - "LABEL": "Password to this wallet", - "OPEN": "Open wallet", - "SKIP": "Skip", - "NOT_FOUND": "Not found" - } - }, - "RESTORE_WALLET": { - "LABEL_NAME": "Wallet name", - "LABEL_PHRASE_KEY": "Seed phrase / tracking seed", - "PASS": "Wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match", - "CHOOSE_PATH": "Please choose a path", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match", - "KEY_REQUIRED": "Key is required", - "KEY_NOT_VALID": "Key not valid" - } - }, - "SEED_PHRASE": { - "TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.", - "BUTTON_CREATE_ACCOUNT": "Create wallet", - "BUTTON_COPY": "Copy" - }, - "PROGRESS": { - "ADD_WALLET": "Add wallet", - "SELECT_LOCATION": "Select wallet location", - "CREATE_WALLET": "Create new wallet", - "RESTORE_WALLET": "Restore from backup" - }, - "SETTINGS": { - "TITLE": "Settings", - "DARK_THEME": "Dark theme", - "WHITE_THEME": "White theme", - "GRAY_THEME": "Grey theme", - "APP_LOCK": { - "TITLE": "Lock app after:", - "TIME1": "5 min", - "TIME2": "15 min", - "TIME3": "1 hour", - "TIME4": "Never" - }, - "SCALE": { - "75": "75% scale", - "100": "100% scale", - "125": "125% scale", - "150": "150% scale" - }, - "MASTER_PASSWORD": { - "TITLE": "Update master password", - "OLD": "Old password", - "NEW": "New password", - "CONFIRM": "New password confirmation", - "BUTTON": "Save" - }, - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "PASS_NOT_MATCH": "Old password not match", - "CONFIRM_NOT_MATCH": "Confirm password not match" - }, - "LAST_BUILD": "Current build: {{value}}", - "APP_LOG_TITLE": "Log level:" - }, - "WALLET": { - "REGISTER_ALIAS": "Register an alias", - "DETAILS": "Details", - "LOCK": "Lock", - "AVAILABLE_BALANCE": "Available {{available}} {{currency}}", - "LOCKED_BALANCE": "Locked {{locked}} {{currency}}", - "LOCKED_BALANCE_LINK": "What does that mean?", - "TABS": { - "SEND": "Send", - "RECEIVE": "Receive", - "HISTORY": "History", - "CONTRACTS": "Contracts", - "MESSAGES": "Messages", - "STAKING": "Staking" - } - }, - "WALLET_DETAILS": { - "LABEL_NAME": "Wallet name", - "LABEL_FILE_LOCATION": "Wallet file location", - "LABEL_SEED_PHRASE": "Seed phrase", - "SEED_PHRASE_HINT": "Click to reveal the seed phrase", - "BUTTON_SAVE": "Save", - "BUTTON_REMOVE": "Close wallet", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - } - }, - "ASSIGN_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": " Enter alias", - "TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”." - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "", - "TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later." - }, - "COST": "Alias fee {{value}} {{currency}}", - "BUTTON_ASSIGN": "Assign", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_WRONG": "Invalid name: allowed symbols \"0-9\", \"a-z\", \"-\", \".\"", - "NAME_LENGTH": "The alias must be 6-25 characters long", - "NAME_EXISTS": "Alias name already exists", - "NO_MONEY": "You do not have enough funds to assign this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "ONE_ALIAS": "You can create only one alias per wallet", - "REQUEST_ADD_REG": "The alias will be assigned within 10 minutes" - }, - "EDIT_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "NO_MONEY": "You do not have enough funds to change the comment to this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "COST": "Fee {{value}} {{currency}}", - "BUTTON_EDIT": "Edit" - }, - "TRANSFER_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "ADDRESS": { - "LABEL": "Transfer to", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "WRONG_ADDRESS": "No wallet with this account exists", - "ALIAS_EXISTS": "This account already has an alias", - "NO_MONEY": "You do not have enough funds to transfer this alias" - }, - "COST": "Transfer fee {{value}} {{currency}}", - "BUTTON_TRANSFER": "Transfer", - "BUTTON_CANCEL": "Cancel", - "REQUEST_SEND_REG": "The alias will be transferred within 10 minutes" - }, - "SEND": { - "ADDRESS": "Address", - "AMOUNT": "Amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "MIXIN": "Mixin", - "FEE": "Fee", - "HIDE": "Hide your wallet address from recipient", - "BUTTON": "Send", - "SUCCESS_SENT": "Transaction sent", - "FORM_ERRORS": { - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "ALIAS_NOT_VALID": "Alias not valid", - "AMOUNT_REQUIRED": "Amount is required", - "AMOUNT_ZERO": "Amount is zero", - "FEE_REQUIRED": "Fee is required", - "FEE_MINIMUM": "Minimum fee: {{fee}}", - "MAX_LENGTH": "Maximum comment length reached" - } - }, - "HISTORY": { - "STATUS": "Status", - "STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}", - "LOCK_TOOLTIP": "Locked till {{date}}", - "SEND": "Sent", - "RECEIVED": "Received", - "DATE": "Date", - "AMOUNT": "Amount", - "FEE": "Fee", - "ADDRESS": "Address", - "DETAILS": { - "PAYMENT_ID": "Payment ID", - "ID": "Transaction ID", - "SIZE": "Transaction size", - "SIZE_VALUE": "{{value}} bytes", - "HEIGHT": "Height", - "CONFIRMATION": "Confirmation", - "INPUTS": "Inputs", - "OUTPUTS": "Outputs", - "COMMENT": "Comment" - }, - "TYPE_MESSAGES": { - "HIDDEN": "hidden", - "UNDEFINED": "Undefined", - "COMPLETE_BUYER": "Contract completed", - "COMPLETE_SELLER": "Contract completed", - "CREATE_ALIAS": "Fee for assigning alias", - "UPDATE_ALIAS": "Fee for editing alias", - "POW_REWARD": "POW reward", - "POS_REWARD": "POS reward", - "CREATE_CONTRACT": "Contract proposal", - "PLEDGE_CONTRACT": "Contract deposit", - "NULLIFY_CONTRACT": "Burn deposits", - "PROPOSAL_CANCEL_CONTRACT": "Cancellation request", - "CANCEL_CONTRACT": "Cancel and return deposits" - } - }, - "CONTRACTS": { - "EMPTY": "No active contracts", - "CONTRACTS": "Contracts", - "PURCHASE": "Purchase", - "SELL": "Sell", - "DATE": "Date", - "AMOUNT": "Amount", - "STATUS": "Status", - "COMMENTS": "Comments", - "PURCHASE_BUTTON": "New Purchase", - "LISTING_BUTTON": "Create listing", - "TIME_LEFT": { - "REMAINING_LESS_ONE": "Less than an hour to respond", - "REMAINING_ONE": "{{time}} hour remains", - "REMAINING_MANY": "{{time}} hours remain", - "REMAINING_MANY_ALT": "{{time}} hours remain", - "REMAINING_ONE_RESPONSE": "{{time}} hour remains", - "REMAINING_MANY_RESPONSE": "{{time}} hours remain", - "REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain", - "REMAINING_ONE_WAITING": "Waiting for {{time}} hour", - "REMAINING_MANY_WAITING": "Waiting for {{time}} hours", - "REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours" - }, - "STATUS_MESSAGES": { - "SELLER": { - "NEW_CONTRACT": "New contract proposal", - "IGNORED": "You ignored contract proposal", - "ACCEPTED": "Contract started", - "WAIT": "Waiting for contract confirmation", - "WAITING_BUYER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "You ignored cancellation proposal", - "EXPIRED": "Contract proposal has expired" - }, - "BUYER": { - "WAITING": "Waiting for response", - "IGNORED": "Seller ignored your contract proposal", - "ACCEPTED": "Seller accepted your contract proposal", - "WAIT": "Waiting for deposits confirmation", - "WAITING_SELLER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "WAITING_CANCEL": "Waiting for contract cancellation", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract", - "EXPIRED": "The contract proposal has expired" - } - } - }, - "PURCHASE": { - "DESCRIPTION": "Description", - "SELLER": "Seller", - "AMOUNT": "Amount", - "YOUR_DEPOSIT": "Your deposit", - "SELLER_DEPOSIT": "Seller deposit", - "BUYER_DEPOSIT": "Buyer deposit", - "SAME_AMOUNT": "Same amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "SEND_BUTTON": "Send", - "FORM_ERRORS": { - "DESC_REQUIRED": "Description required", - "DESC_MAXIMUM": "Maximum field length reached", - "SELLER_REQUIRED": "Address required", - "SELLER_NOT_VALID": "Invalid address", - "ALIAS_NOT_VALID": "Invalid alias", - "AMOUNT_REQUIRED": "Amount required", - "AMOUNT_ZERO": "Amount cannot be zero", - "YOUR_DEPOSIT_REQUIRED": "Deposit required", - "SELLER_DEPOSIT_REQUIRED": "Seller deposit required", - "SELLER_SAME": "Use separate account", - "COMMENT_MAXIMUM": "Maximum field length reached" - }, - "PROGRESS_NEW": "New purchase", - "PROGRESS_WAIT": "Awaiting reply", - "PROGRESS_RECEIVE": "Reply received", - "PROGRESS_COMPLETE": "Completed", - "FEE": "Fee", - "PAYMENT": "Payment ID", - "STATUS_MESSAGES": { - "NEW_PURCHASE": "New purchase", - "WAITING_SELLER": "Waiting for response", - "WAITING_BUYER": "Contract proposal received", - "WAITING_CONFIRMATION": "Waiting for deposits confirmation", - "WAITING_DELIVERY": "Waiting for delivery", - "COMPLETED": "Contract completed", - "IGNORED_BUYER": "Contract proposal ignored", - "IGNORED_SELLER": "The seller ignored your contract proposal", - "PROPOSAL_CANCEL_SELLER": "Cancellation request sent", - "PROPOSAL_CANCEL_BUYER": "Cancellation request received", - "BEING_CANCELLED": "Cancellation in progress", - "IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract", - "IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored", - "CANCELLED": "Contract canceled", - "EXPIRED": "Contract proposal expired", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned" - }, - "ACCEPT_STATE_WAIT_BIG": "Contract started", - "IGNORED_ACCEPT": "Contract proposal ignored", - "BURN_PROPOSAL": "Deposits burned", - "SUCCESS_FINISH_PROPOSAL": "Contract completed", - "SEND_CANCEL_PROPOSAL": "Cancellation request sent", - "IGNORED_CANCEL": "Contract cancellation proposal ignored", - "DEALS_CANCELED_WAIT": "Cancellation in progress", - "WAITING_TIME": "Response time", - "NEED_MONEY": "Insufficient funds", - "BUTTON_MAKE_PLEDGE": "Accept and make deposit", - "BUTTON_IGNORE": "Ignore and hide offer", - "BUTTON_NULLIFY": "Terminate and burn deposits", - "BUTTON_RECEIVED": "Complete and release deposits", - "BUTTON_CANCEL_BUYER": "Cancel and return deposits", - "BUTTON_NOT_CANCEL": "Ignore request", - "BUTTON_CANCEL_SELLER": "Confirm and return deposits", - "HOUR": "hour", - "HOURS": "hours", - "CANCEL": "Cancel", - "NULLIFY_QUESTION": "Are you sure you want to burn both deposits?", - "BUTTON_NULLIFY_SHORT": "Burn", - "WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?" - }, - "MESSAGES": { - "ADDRESS": "Address", - "MESSAGE": "Message", - "SEND_PLACEHOLDER": "Type a message...", - "SEND_BUTTON": "Send" - }, - "MODALS": { - "ERROR": "Error", - "SUCCESS": "Success", - "INFO": "Information", - "OK": "OK" - }, - "CONFIRM": { - "BUTTON_CONFIRM": "Send", - "BUTTON_CANCEL": "Cancel", - "TITLE": "Confirm transaction", - "MESSAGE": { - "SEND": "Send", - "FROM": "From", - "TO": "To", - "COMMENT": "Comment" - } - }, - "STAKING": { - "TITLE": "Staking", - "TITLE_PENDING": "Pending", - "TITLE_TOTAL": "Total", - "TITLE_PERIOD": "Time period:", - "PERIOD": { - "WEEK1": "1 week", - "WEEK2": "2 week", - "MONTH1": "1 month", - "MONTH3": "3 month", - "MONTH6": "6 month", - "YEAR": "1 year", - "ALL": "All" - }, - "TITLE_GROUP": "Group:", - "GROUP": { - "DAY": "day", - "WEEK": "week", - "MONTH": "month" - }, - "SWITCH": { - "ON": "ON", - "OFF": "OFF" - } - }, - "CONTACTS": { - "TITLE": "Contact list", - "IMPORT_EXPORT": "Import or export contacts", - "IMPORT": "Import", - "EXPORT": "Export", - "ADD": "Add/edit contact", - "SEND": "Send", - "SEND_FROM": "Send from", - "SEND_TO": "To", - "OPEN_ADD_WALLET": "Open/Add wallet", - "COPY": "- Copy", - "TABLE": { - "NAME": "Name", - "ALIAS": "Alias", - "ADDRESS": "Address", - "NOTES": "Notes", - "EMPTY": "Contact list is empty" - }, - "FORM": { - "NAME": "Name", - "ADDRESS": "Address", - "NOTES": "Notes" - }, - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUBLICATED": "Name is dublicated", - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "SET_MASTER_PASSWORD": "Set master password", - "ADDRESS_DUBLICATED": "Address is dublicated", - "MAX_LENGTH": "Maximum notes length reached", - "NAME_LENGTH": "The name must be 4-25 characters long" - }, - "BUTTON": { - "SEND": "Send", - "EDIT": "Edit", - "DELETE": "Delete", - "ADD": "Add contact", - "ADD_EDIT": "Add/Save", - "GO_TO_WALLET": "Go to wallet", - "IMPORT_EXPORT": "Import/export" - }, - "SUCCESS_SENT": "Contact added", - "SUCCESS_SAVE": "Contact is edited", - "SUCCESS_IMPORT": "Contacts are imported", - "SUCCESS_EXPORT": "Contacts are exported", - "ERROR_IMPORT": "Error is occured while reading file!", - "ERROR_TYPE_FILE": "Please import valid .csv file", - "ERROR_EXPORT": "Invalid file type. Save file as .csv", - "ERROR_EMPTY_LIST": "Contact list is empty", - "ERROR_IMPORT_EMPTY": "File is empty" - }, - "ERRORS": { - "NO_MONEY": "Not enough money", - "NOT_ENOUGH_MONEY": "Insufficient funds in account", - "CORE_BUSY": "Internal error: core is busy", - "DAEMON_BUSY": "Internal error: daemon is busy", - "NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet", - "NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with", - "TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions", - "TRANSFER_ATTEMPT": "There is no connection to Zano network", - "ACCESS_DENIED": "Access denied", - "TRANSACTION_ERROR": "Error. Transaction not completed.", - "BAD_ARG": "Invalid argument", - "WALLET_WRONG_ID": "Invalid wallet ID", - "WRONG_PASSWORD": "Invalid password", - "FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain", - "FILE_NOT_FOUND": "File not found", - "FILE_EXIST": "A file with that name already exists. Enter another name to save the file under", - "FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.", - "TX_TYPE_NORMAL": "Error. The payment from the wallet", - "TX_TYPE_NORMAL_TO": "to", - "TX_TYPE_NORMAL_END": "was not completed.", - "TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe", - "TX_TYPE_NEW_ALIAS_END": "Please try again.", - "TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe", - "TX_TYPE_COIN_BASE": "Error. The payment was not completed." - }, - "CONTEXT_MENU": { - "COPY": "copy", - "PASTE": "paste", - "SELECT": "select all" - }, - "BACKEND_LOCALIZATION": { - "QUIT": "Quit", - "IS_RECEIVED": "", - "IS_CONFIRMED": "", - "INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)", - "INCOME_TRANSFER_CONFIRMED": "Payment received", - "MINED": "Mined", - "LOCKED": "Blocked", - "IS_MINIMIZE": "Zano application is minimized to the system tray", - "RESTORE": "You can recover it by clicking or using the context menu", - "TRAY_MENU_SHOW": "Resize", - "TRAY_MENU_MINIMIZE": "Minimize" - } -} diff --git a/src/gui/qt-daemon/html/assets/i18n/sv.json b/src/gui/qt-daemon/html/assets/i18n/sv.json deleted file mode 100644 index 59e88fa0..00000000 --- a/src/gui/qt-daemon/html/assets/i18n/sv.json +++ /dev/null @@ -1,593 +0,0 @@ -{ - "LOGIN": { - "SETUP_MASTER_PASS": "Setup master password", - "SETUP_CONFIRM_PASS": "Confirm the password", - "MASTER_PASS": "Master password", - "BUTTON_NEXT": "Next", - "BUTTON_SKIP": "Skip", - "BUTTON_RESET": "Reset", - "INCORRECT_PASSWORD": "Invalid password", - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "CONFIRM_REQUIRED": "Confirmation is required", - "MISMATCH": "Mismatch" - } - }, - "COMMON": { - "BACK": "Go back" - }, - "BREADCRUMBS": { - "ADD_WALLET": "Add wallet", - "CREATE_WALLET": "Create new wallet", - "SAVE_PHRASE": "Save your seed phrase", - "OPEN_WALLET": "Open existing wallet", - "RESTORE_WALLET": "Restore from backup", - "WALLET_DETAILS": "Wallet details", - "ASSIGN_ALIAS": "Assign alias", - "EDIT_ALIAS": "Edit alias", - "TRANSFER_ALIAS": "Transfer alias", - "CONTRACTS": "Contracts", - "NEW_PURCHASE": "New purchase", - "OLD_PURCHASE": "Purchase" - }, - "SIDEBAR": { - "TITLE": "Wallets", - "ADD_NEW": "+ Add", - "ACCOUNT": { - "STAKING": "Staking", - "MESSAGES": "New offers/Messages", - "SYNCING": "Syncing wallet" - }, - "CONTACTS": "Contacts", - "SETTINGS": "Settings", - "LOG_OUT": "Log out", - "SYNCHRONIZATION": { - "OFFLINE": "Offline", - "ONLINE": "Online", - "ERROR": "System error", - "COMPLETE": "Completion", - "SYNCING": "Syncing blockchain", - "LOADING": "Loading blockchain data" - }, - "UPDATE": { - "STANDARD": "Update available", - "STANDARD_TOOLTIP": "Get new update.
      Update is recommended!", - "IMPORTANT": "Update available", - "IMPORTANT_HINT": "Important update!", - "IMPORTANT_TOOLTIP": "Get new update.
      Important update!", - "CRITICAL": "Update available", - "CRITICAL_HINT": "Critical update!", - "CRITICAL_TOOLTIP": "Critical update available.Update strongly recommended!", - "TIME": "System time differs from network", - "TIME_TOOLTIP": "Wrong system time!
      Check and repair your system time." - } - }, - "MAIN": { - "TITLE": "Create or open the wallet to start using Zano", - "BUTTON_NEW_WALLET": "Create new wallet", - "BUTTON_OPEN_WALLET": "Open existing wallet", - "BUTTON_RESTORE_BACKUP": "Restore from backup", - "HELP": "How to create wallet?", - "CHOOSE_PATH": "Please choose a path" - }, - "CREATE_WALLET": { - "NAME": "Wallet name", - "PASS": "Set wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "TITLE_SAVE": "Save the wallet file.", - "ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten", - "ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match" - } - }, - "OPEN_WALLET": { - "NAME": "Wallet name", - "PASS": "Wallet password", - "BUTTON": "Open wallet", - "WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open", - "FILE_NOT_FOUND1": "Wallet file not found", - "FILE_NOT_FOUND2": "

      It might have been renamed or moved.
      To open it, use the \"Open wallet\" button.", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - }, - "MODAL": { - "TITLE": "Type wallet password", - "LABEL": "Password to this wallet", - "OPEN": "Open wallet", - "SKIP": "Skip", - "NOT_FOUND": "Not found" - } - }, - "RESTORE_WALLET": { - "LABEL_NAME": "Wallet name", - "LABEL_PHRASE_KEY": "Seed phrase / tracking seed", - "PASS": "Wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match", - "CHOOSE_PATH": "Please choose a path", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match", - "KEY_REQUIRED": "Key is required", - "KEY_NOT_VALID": "Key not valid" - } - }, - "SEED_PHRASE": { - "TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.", - "BUTTON_CREATE_ACCOUNT": "Create wallet", - "BUTTON_COPY": "Copy" - }, - "PROGRESS": { - "ADD_WALLET": "Add wallet", - "SELECT_LOCATION": "Select wallet location", - "CREATE_WALLET": "Create new wallet", - "RESTORE_WALLET": "Restore from backup" - }, - "SETTINGS": { - "TITLE": "Settings", - "DARK_THEME": "Dark theme", - "WHITE_THEME": "White theme", - "GRAY_THEME": "Grey theme", - "APP_LOCK": { - "TITLE": "Lock app after:", - "TIME1": "5 min", - "TIME2": "15 min", - "TIME3": "1 hour", - "TIME4": "Never" - }, - "SCALE": { - "75": "75% scale", - "100": "100% scale", - "125": "125% scale", - "150": "150% scale" - }, - "MASTER_PASSWORD": { - "TITLE": "Update master password", - "OLD": "Old password", - "NEW": "New password", - "CONFIRM": "New password confirmation", - "BUTTON": "Save" - }, - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "PASS_NOT_MATCH": "Old password not match", - "CONFIRM_NOT_MATCH": "Confirm password not match" - }, - "LAST_BUILD": "Current build: {{value}}", - "APP_LOG_TITLE": "Log level:" - }, - "WALLET": { - "REGISTER_ALIAS": "Register an alias", - "DETAILS": "Details", - "LOCK": "Lock", - "AVAILABLE_BALANCE": "Available {{available}} {{currency}}", - "LOCKED_BALANCE": "Locked {{locked}} {{currency}}", - "LOCKED_BALANCE_LINK": "What does that mean?", - "TABS": { - "SEND": "Send", - "RECEIVE": "Receive", - "HISTORY": "History", - "CONTRACTS": "Contracts", - "MESSAGES": "Messages", - "STAKING": "Staking" - } - }, - "WALLET_DETAILS": { - "LABEL_NAME": "Wallet name", - "LABEL_FILE_LOCATION": "Wallet file location", - "LABEL_SEED_PHRASE": "Seed phrase", - "SEED_PHRASE_HINT": "Click to reveal the seed phrase", - "BUTTON_SAVE": "Save", - "BUTTON_REMOVE": "Close wallet", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - } - }, - "ASSIGN_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": " Enter alias", - "TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”." - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "", - "TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later." - }, - "COST": "Alias fee {{value}} {{currency}}", - "BUTTON_ASSIGN": "Assign", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_WRONG": "Invalid name: allowed symbols \"0-9\", \"a-z\", \"-\", \".\"", - "NAME_LENGTH": "The alias must be 6-25 characters long", - "NAME_EXISTS": "Alias name already exists", - "NO_MONEY": "You do not have enough funds to assign this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "ONE_ALIAS": "You can create only one alias per wallet", - "REQUEST_ADD_REG": "The alias will be assigned within 10 minutes" - }, - "EDIT_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "NO_MONEY": "You do not have enough funds to change the comment to this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "COST": "Fee {{value}} {{currency}}", - "BUTTON_EDIT": "Edit" - }, - "TRANSFER_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "ADDRESS": { - "LABEL": "Transfer to", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "WRONG_ADDRESS": "No wallet with this account exists", - "ALIAS_EXISTS": "This account already has an alias", - "NO_MONEY": "You do not have enough funds to transfer this alias" - }, - "COST": "Transfer fee {{value}} {{currency}}", - "BUTTON_TRANSFER": "Transfer", - "BUTTON_CANCEL": "Cancel", - "REQUEST_SEND_REG": "The alias will be transferred within 10 minutes" - }, - "SEND": { - "ADDRESS": "Address", - "AMOUNT": "Amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "MIXIN": "Mixin", - "FEE": "Fee", - "HIDE": "Hide your wallet address from recipient", - "BUTTON": "Send", - "SUCCESS_SENT": "Transaction sent", - "FORM_ERRORS": { - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "ALIAS_NOT_VALID": "Alias not valid", - "AMOUNT_REQUIRED": "Amount is required", - "AMOUNT_ZERO": "Amount is zero", - "FEE_REQUIRED": "Fee is required", - "FEE_MINIMUM": "Minimum fee: {{fee}}", - "MAX_LENGTH": "Maximum comment length reached" - } - }, - "HISTORY": { - "STATUS": "Status", - "STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}", - "LOCK_TOOLTIP": "Locked till {{date}}", - "SEND": "Sent", - "RECEIVED": "Received", - "DATE": "Date", - "AMOUNT": "Amount", - "FEE": "Fee", - "ADDRESS": "Address", - "DETAILS": { - "PAYMENT_ID": "Payment ID", - "ID": "Transaction ID", - "SIZE": "Transaction size", - "SIZE_VALUE": "{{value}} bytes", - "HEIGHT": "Height", - "CONFIRMATION": "Confirmation", - "INPUTS": "Inputs", - "OUTPUTS": "Outputs", - "COMMENT": "Comment" - }, - "TYPE_MESSAGES": { - "HIDDEN": "hidden", - "UNDEFINED": "Undefined", - "COMPLETE_BUYER": "Contract completed", - "COMPLETE_SELLER": "Contract completed", - "CREATE_ALIAS": "Fee for assigning alias", - "UPDATE_ALIAS": "Fee for editing alias", - "POW_REWARD": "POW reward", - "POS_REWARD": "POS reward", - "CREATE_CONTRACT": "Contract proposal", - "PLEDGE_CONTRACT": "Contract deposit", - "NULLIFY_CONTRACT": "Burn deposits", - "PROPOSAL_CANCEL_CONTRACT": "Cancellation request", - "CANCEL_CONTRACT": "Cancel and return deposits" - } - }, - "CONTRACTS": { - "EMPTY": "No active contracts", - "CONTRACTS": "Contracts", - "PURCHASE": "Purchase", - "SELL": "Sell", - "DATE": "Date", - "AMOUNT": "Amount", - "STATUS": "Status", - "COMMENTS": "Comments", - "PURCHASE_BUTTON": "New Purchase", - "LISTING_BUTTON": "Create listing", - "TIME_LEFT": { - "REMAINING_LESS_ONE": "Less than an hour to respond", - "REMAINING_ONE": "{{time}} hour remains", - "REMAINING_MANY": "{{time}} hours remain", - "REMAINING_MANY_ALT": "{{time}} hours remain", - "REMAINING_ONE_RESPONSE": "{{time}} hour remains", - "REMAINING_MANY_RESPONSE": "{{time}} hours remain", - "REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain", - "REMAINING_ONE_WAITING": "Waiting for {{time}} hour", - "REMAINING_MANY_WAITING": "Waiting for {{time}} hours", - "REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours" - }, - "STATUS_MESSAGES": { - "SELLER": { - "NEW_CONTRACT": "New contract proposal", - "IGNORED": "You ignored contract proposal", - "ACCEPTED": "Contract started", - "WAIT": "Waiting for contract confirmation", - "WAITING_BUYER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "You ignored cancellation proposal", - "EXPIRED": "Contract proposal has expired" - }, - "BUYER": { - "WAITING": "Waiting for response", - "IGNORED": "Seller ignored your contract proposal", - "ACCEPTED": "Seller accepted your contract proposal", - "WAIT": "Waiting for deposits confirmation", - "WAITING_SELLER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "WAITING_CANCEL": "Waiting for contract cancellation", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract", - "EXPIRED": "The contract proposal has expired" - } - } - }, - "PURCHASE": { - "DESCRIPTION": "Description", - "SELLER": "Seller", - "AMOUNT": "Amount", - "YOUR_DEPOSIT": "Your deposit", - "SELLER_DEPOSIT": "Seller deposit", - "BUYER_DEPOSIT": "Buyer deposit", - "SAME_AMOUNT": "Same amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "SEND_BUTTON": "Send", - "FORM_ERRORS": { - "DESC_REQUIRED": "Description required", - "DESC_MAXIMUM": "Maximum field length reached", - "SELLER_REQUIRED": "Address required", - "SELLER_NOT_VALID": "Invalid address", - "ALIAS_NOT_VALID": "Invalid alias", - "AMOUNT_REQUIRED": "Amount required", - "AMOUNT_ZERO": "Amount cannot be zero", - "YOUR_DEPOSIT_REQUIRED": "Deposit required", - "SELLER_DEPOSIT_REQUIRED": "Seller deposit required", - "SELLER_SAME": "Use separate account", - "COMMENT_MAXIMUM": "Maximum field length reached" - }, - "PROGRESS_NEW": "New purchase", - "PROGRESS_WAIT": "Awaiting reply", - "PROGRESS_RECEIVE": "Reply received", - "PROGRESS_COMPLETE": "Completed", - "FEE": "Fee", - "PAYMENT": "Payment ID", - "STATUS_MESSAGES": { - "NEW_PURCHASE": "New purchase", - "WAITING_SELLER": "Waiting for response", - "WAITING_BUYER": "Contract proposal received", - "WAITING_CONFIRMATION": "Waiting for deposits confirmation", - "WAITING_DELIVERY": "Waiting for delivery", - "COMPLETED": "Contract completed", - "IGNORED_BUYER": "Contract proposal ignored", - "IGNORED_SELLER": "The seller ignored your contract proposal", - "PROPOSAL_CANCEL_SELLER": "Cancellation request sent", - "PROPOSAL_CANCEL_BUYER": "Cancellation request received", - "BEING_CANCELLED": "Cancellation in progress", - "IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract", - "IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored", - "CANCELLED": "Contract canceled", - "EXPIRED": "Contract proposal expired", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned" - }, - "ACCEPT_STATE_WAIT_BIG": "Contract started", - "IGNORED_ACCEPT": "Contract proposal ignored", - "BURN_PROPOSAL": "Deposits burned", - "SUCCESS_FINISH_PROPOSAL": "Contract completed", - "SEND_CANCEL_PROPOSAL": "Cancellation request sent", - "IGNORED_CANCEL": "Contract cancellation proposal ignored", - "DEALS_CANCELED_WAIT": "Cancellation in progress", - "WAITING_TIME": "Response time", - "NEED_MONEY": "Insufficient funds", - "BUTTON_MAKE_PLEDGE": "Accept and make deposit", - "BUTTON_IGNORE": "Ignore and hide offer", - "BUTTON_NULLIFY": "Terminate and burn deposits", - "BUTTON_RECEIVED": "Complete and release deposits", - "BUTTON_CANCEL_BUYER": "Cancel and return deposits", - "BUTTON_NOT_CANCEL": "Ignore request", - "BUTTON_CANCEL_SELLER": "Confirm and return deposits", - "HOUR": "hour", - "HOURS": "hours", - "CANCEL": "Cancel", - "NULLIFY_QUESTION": "Are you sure you want to burn both deposits?", - "BUTTON_NULLIFY_SHORT": "Burn", - "WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?" - }, - "MESSAGES": { - "ADDRESS": "Address", - "MESSAGE": "Message", - "SEND_PLACEHOLDER": "Type a message...", - "SEND_BUTTON": "Send" - }, - "MODALS": { - "ERROR": "Error", - "SUCCESS": "Success", - "INFO": "Information", - "OK": "OK" - }, - "CONFIRM": { - "BUTTON_CONFIRM": "Send", - "BUTTON_CANCEL": "Cancel", - "TITLE": "Confirm transaction", - "MESSAGE": { - "SEND": "Send", - "FROM": "From", - "TO": "To", - "COMMENT": "Comment" - } - }, - "STAKING": { - "TITLE": "Staking", - "TITLE_PENDING": "Pending", - "TITLE_TOTAL": "Total", - "TITLE_PERIOD": "Time period:", - "PERIOD": { - "WEEK1": "1 week", - "WEEK2": "2 week", - "MONTH1": "1 month", - "MONTH3": "3 month", - "MONTH6": "6 month", - "YEAR": "1 year", - "ALL": "All" - }, - "TITLE_GROUP": "Group:", - "GROUP": { - "DAY": "day", - "WEEK": "week", - "MONTH": "month" - }, - "SWITCH": { - "ON": "ON", - "OFF": "OFF" - } - }, - "CONTACTS": { - "TITLE": "Contact list", - "IMPORT_EXPORT": "Import or export contacts", - "IMPORT": "Import", - "EXPORT": "Export", - "ADD": "Add/edit contact", - "SEND": "Send", - "SEND_FROM": "Send from", - "SEND_TO": "To", - "OPEN_ADD_WALLET": "Open/Add wallet", - "COPY": "- Copy", - "TABLE": { - "NAME": "Name", - "ALIAS": "Alias", - "ADDRESS": "Address", - "NOTES": "Notes", - "EMPTY": "Contact list is empty" - }, - "FORM": { - "NAME": "Name", - "ADDRESS": "Address", - "NOTES": "Notes" - }, - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUBLICATED": "Name is dublicated", - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "SET_MASTER_PASSWORD": "Set master password", - "ADDRESS_DUBLICATED": "Address is dublicated", - "MAX_LENGTH": "Maximum notes length reached", - "NAME_LENGTH": "The name must be 4-25 characters long" - }, - "BUTTON": { - "SEND": "Send", - "EDIT": "Edit", - "DELETE": "Delete", - "ADD": "Add contact", - "ADD_EDIT": "Add/Save", - "GO_TO_WALLET": "Go to wallet", - "IMPORT_EXPORT": "Import/export" - }, - "SUCCESS_SENT": "Contact added", - "SUCCESS_SAVE": "Contact is edited", - "SUCCESS_IMPORT": "Contacts are imported", - "SUCCESS_EXPORT": "Contacts are exported", - "ERROR_IMPORT": "Error is occured while reading file!", - "ERROR_TYPE_FILE": "Please import valid .csv file", - "ERROR_EXPORT": "Invalid file type. Save file as .csv", - "ERROR_EMPTY_LIST": "Contact list is empty", - "ERROR_IMPORT_EMPTY": "File is empty" - }, - "ERRORS": { - "NO_MONEY": "Not enough money", - "NOT_ENOUGH_MONEY": "Insufficient funds in account", - "CORE_BUSY": "Internal error: core is busy", - "DAEMON_BUSY": "Internal error: daemon is busy", - "NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet", - "NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with", - "TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions", - "TRANSFER_ATTEMPT": "There is no connection to Zano network", - "ACCESS_DENIED": "Access denied", - "TRANSACTION_ERROR": "Error. Transaction not completed.", - "BAD_ARG": "Invalid argument", - "WALLET_WRONG_ID": "Invalid wallet ID", - "WRONG_PASSWORD": "Invalid password", - "FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain", - "FILE_NOT_FOUND": "File not found", - "FILE_EXIST": "A file with that name already exists. Enter another name to save the file under", - "FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.", - "TX_TYPE_NORMAL": "Error. The payment from the wallet", - "TX_TYPE_NORMAL_TO": "to", - "TX_TYPE_NORMAL_END": "was not completed.", - "TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe", - "TX_TYPE_NEW_ALIAS_END": "Please try again.", - "TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe", - "TX_TYPE_COIN_BASE": "Error. The payment was not completed." - }, - "CONTEXT_MENU": { - "COPY": "copy", - "PASTE": "paste", - "SELECT": "select all" - }, - "BACKEND_LOCALIZATION": { - "QUIT": "Quit", - "IS_RECEIVED": "", - "IS_CONFIRMED": "", - "INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)", - "INCOME_TRANSFER_CONFIRMED": "Payment received", - "MINED": "Mined", - "LOCKED": "Blocked", - "IS_MINIMIZE": "Zano application is minimized to the system tray", - "RESTORE": "You can recover it by clicking or using the context menu", - "TRAY_MENU_SHOW": "Resize", - "TRAY_MENU_MINIMIZE": "Minimize" - } -} diff --git a/src/gui/qt-daemon/html/assets/i18n/tr.json b/src/gui/qt-daemon/html/assets/i18n/tr.json deleted file mode 100644 index 59e88fa0..00000000 --- a/src/gui/qt-daemon/html/assets/i18n/tr.json +++ /dev/null @@ -1,593 +0,0 @@ -{ - "LOGIN": { - "SETUP_MASTER_PASS": "Setup master password", - "SETUP_CONFIRM_PASS": "Confirm the password", - "MASTER_PASS": "Master password", - "BUTTON_NEXT": "Next", - "BUTTON_SKIP": "Skip", - "BUTTON_RESET": "Reset", - "INCORRECT_PASSWORD": "Invalid password", - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "CONFIRM_REQUIRED": "Confirmation is required", - "MISMATCH": "Mismatch" - } - }, - "COMMON": { - "BACK": "Go back" - }, - "BREADCRUMBS": { - "ADD_WALLET": "Add wallet", - "CREATE_WALLET": "Create new wallet", - "SAVE_PHRASE": "Save your seed phrase", - "OPEN_WALLET": "Open existing wallet", - "RESTORE_WALLET": "Restore from backup", - "WALLET_DETAILS": "Wallet details", - "ASSIGN_ALIAS": "Assign alias", - "EDIT_ALIAS": "Edit alias", - "TRANSFER_ALIAS": "Transfer alias", - "CONTRACTS": "Contracts", - "NEW_PURCHASE": "New purchase", - "OLD_PURCHASE": "Purchase" - }, - "SIDEBAR": { - "TITLE": "Wallets", - "ADD_NEW": "+ Add", - "ACCOUNT": { - "STAKING": "Staking", - "MESSAGES": "New offers/Messages", - "SYNCING": "Syncing wallet" - }, - "CONTACTS": "Contacts", - "SETTINGS": "Settings", - "LOG_OUT": "Log out", - "SYNCHRONIZATION": { - "OFFLINE": "Offline", - "ONLINE": "Online", - "ERROR": "System error", - "COMPLETE": "Completion", - "SYNCING": "Syncing blockchain", - "LOADING": "Loading blockchain data" - }, - "UPDATE": { - "STANDARD": "Update available", - "STANDARD_TOOLTIP": "Get new update.
      Update is recommended!", - "IMPORTANT": "Update available", - "IMPORTANT_HINT": "Important update!", - "IMPORTANT_TOOLTIP": "Get new update.
      Important update!", - "CRITICAL": "Update available", - "CRITICAL_HINT": "Critical update!", - "CRITICAL_TOOLTIP": "Critical update available.Update strongly recommended!", - "TIME": "System time differs from network", - "TIME_TOOLTIP": "Wrong system time!
      Check and repair your system time." - } - }, - "MAIN": { - "TITLE": "Create or open the wallet to start using Zano", - "BUTTON_NEW_WALLET": "Create new wallet", - "BUTTON_OPEN_WALLET": "Open existing wallet", - "BUTTON_RESTORE_BACKUP": "Restore from backup", - "HELP": "How to create wallet?", - "CHOOSE_PATH": "Please choose a path" - }, - "CREATE_WALLET": { - "NAME": "Wallet name", - "PASS": "Set wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "TITLE_SAVE": "Save the wallet file.", - "ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten", - "ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match" - } - }, - "OPEN_WALLET": { - "NAME": "Wallet name", - "PASS": "Wallet password", - "BUTTON": "Open wallet", - "WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open", - "FILE_NOT_FOUND1": "Wallet file not found", - "FILE_NOT_FOUND2": "

      It might have been renamed or moved.
      To open it, use the \"Open wallet\" button.", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - }, - "MODAL": { - "TITLE": "Type wallet password", - "LABEL": "Password to this wallet", - "OPEN": "Open wallet", - "SKIP": "Skip", - "NOT_FOUND": "Not found" - } - }, - "RESTORE_WALLET": { - "LABEL_NAME": "Wallet name", - "LABEL_PHRASE_KEY": "Seed phrase / tracking seed", - "PASS": "Wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match", - "CHOOSE_PATH": "Please choose a path", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match", - "KEY_REQUIRED": "Key is required", - "KEY_NOT_VALID": "Key not valid" - } - }, - "SEED_PHRASE": { - "TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.", - "BUTTON_CREATE_ACCOUNT": "Create wallet", - "BUTTON_COPY": "Copy" - }, - "PROGRESS": { - "ADD_WALLET": "Add wallet", - "SELECT_LOCATION": "Select wallet location", - "CREATE_WALLET": "Create new wallet", - "RESTORE_WALLET": "Restore from backup" - }, - "SETTINGS": { - "TITLE": "Settings", - "DARK_THEME": "Dark theme", - "WHITE_THEME": "White theme", - "GRAY_THEME": "Grey theme", - "APP_LOCK": { - "TITLE": "Lock app after:", - "TIME1": "5 min", - "TIME2": "15 min", - "TIME3": "1 hour", - "TIME4": "Never" - }, - "SCALE": { - "75": "75% scale", - "100": "100% scale", - "125": "125% scale", - "150": "150% scale" - }, - "MASTER_PASSWORD": { - "TITLE": "Update master password", - "OLD": "Old password", - "NEW": "New password", - "CONFIRM": "New password confirmation", - "BUTTON": "Save" - }, - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "PASS_NOT_MATCH": "Old password not match", - "CONFIRM_NOT_MATCH": "Confirm password not match" - }, - "LAST_BUILD": "Current build: {{value}}", - "APP_LOG_TITLE": "Log level:" - }, - "WALLET": { - "REGISTER_ALIAS": "Register an alias", - "DETAILS": "Details", - "LOCK": "Lock", - "AVAILABLE_BALANCE": "Available {{available}} {{currency}}", - "LOCKED_BALANCE": "Locked {{locked}} {{currency}}", - "LOCKED_BALANCE_LINK": "What does that mean?", - "TABS": { - "SEND": "Send", - "RECEIVE": "Receive", - "HISTORY": "History", - "CONTRACTS": "Contracts", - "MESSAGES": "Messages", - "STAKING": "Staking" - } - }, - "WALLET_DETAILS": { - "LABEL_NAME": "Wallet name", - "LABEL_FILE_LOCATION": "Wallet file location", - "LABEL_SEED_PHRASE": "Seed phrase", - "SEED_PHRASE_HINT": "Click to reveal the seed phrase", - "BUTTON_SAVE": "Save", - "BUTTON_REMOVE": "Close wallet", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - } - }, - "ASSIGN_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": " Enter alias", - "TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”." - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "", - "TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later." - }, - "COST": "Alias fee {{value}} {{currency}}", - "BUTTON_ASSIGN": "Assign", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_WRONG": "Invalid name: allowed symbols \"0-9\", \"a-z\", \"-\", \".\"", - "NAME_LENGTH": "The alias must be 6-25 characters long", - "NAME_EXISTS": "Alias name already exists", - "NO_MONEY": "You do not have enough funds to assign this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "ONE_ALIAS": "You can create only one alias per wallet", - "REQUEST_ADD_REG": "The alias will be assigned within 10 minutes" - }, - "EDIT_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "NO_MONEY": "You do not have enough funds to change the comment to this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "COST": "Fee {{value}} {{currency}}", - "BUTTON_EDIT": "Edit" - }, - "TRANSFER_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "ADDRESS": { - "LABEL": "Transfer to", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "WRONG_ADDRESS": "No wallet with this account exists", - "ALIAS_EXISTS": "This account already has an alias", - "NO_MONEY": "You do not have enough funds to transfer this alias" - }, - "COST": "Transfer fee {{value}} {{currency}}", - "BUTTON_TRANSFER": "Transfer", - "BUTTON_CANCEL": "Cancel", - "REQUEST_SEND_REG": "The alias will be transferred within 10 minutes" - }, - "SEND": { - "ADDRESS": "Address", - "AMOUNT": "Amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "MIXIN": "Mixin", - "FEE": "Fee", - "HIDE": "Hide your wallet address from recipient", - "BUTTON": "Send", - "SUCCESS_SENT": "Transaction sent", - "FORM_ERRORS": { - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "ALIAS_NOT_VALID": "Alias not valid", - "AMOUNT_REQUIRED": "Amount is required", - "AMOUNT_ZERO": "Amount is zero", - "FEE_REQUIRED": "Fee is required", - "FEE_MINIMUM": "Minimum fee: {{fee}}", - "MAX_LENGTH": "Maximum comment length reached" - } - }, - "HISTORY": { - "STATUS": "Status", - "STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}", - "LOCK_TOOLTIP": "Locked till {{date}}", - "SEND": "Sent", - "RECEIVED": "Received", - "DATE": "Date", - "AMOUNT": "Amount", - "FEE": "Fee", - "ADDRESS": "Address", - "DETAILS": { - "PAYMENT_ID": "Payment ID", - "ID": "Transaction ID", - "SIZE": "Transaction size", - "SIZE_VALUE": "{{value}} bytes", - "HEIGHT": "Height", - "CONFIRMATION": "Confirmation", - "INPUTS": "Inputs", - "OUTPUTS": "Outputs", - "COMMENT": "Comment" - }, - "TYPE_MESSAGES": { - "HIDDEN": "hidden", - "UNDEFINED": "Undefined", - "COMPLETE_BUYER": "Contract completed", - "COMPLETE_SELLER": "Contract completed", - "CREATE_ALIAS": "Fee for assigning alias", - "UPDATE_ALIAS": "Fee for editing alias", - "POW_REWARD": "POW reward", - "POS_REWARD": "POS reward", - "CREATE_CONTRACT": "Contract proposal", - "PLEDGE_CONTRACT": "Contract deposit", - "NULLIFY_CONTRACT": "Burn deposits", - "PROPOSAL_CANCEL_CONTRACT": "Cancellation request", - "CANCEL_CONTRACT": "Cancel and return deposits" - } - }, - "CONTRACTS": { - "EMPTY": "No active contracts", - "CONTRACTS": "Contracts", - "PURCHASE": "Purchase", - "SELL": "Sell", - "DATE": "Date", - "AMOUNT": "Amount", - "STATUS": "Status", - "COMMENTS": "Comments", - "PURCHASE_BUTTON": "New Purchase", - "LISTING_BUTTON": "Create listing", - "TIME_LEFT": { - "REMAINING_LESS_ONE": "Less than an hour to respond", - "REMAINING_ONE": "{{time}} hour remains", - "REMAINING_MANY": "{{time}} hours remain", - "REMAINING_MANY_ALT": "{{time}} hours remain", - "REMAINING_ONE_RESPONSE": "{{time}} hour remains", - "REMAINING_MANY_RESPONSE": "{{time}} hours remain", - "REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain", - "REMAINING_ONE_WAITING": "Waiting for {{time}} hour", - "REMAINING_MANY_WAITING": "Waiting for {{time}} hours", - "REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours" - }, - "STATUS_MESSAGES": { - "SELLER": { - "NEW_CONTRACT": "New contract proposal", - "IGNORED": "You ignored contract proposal", - "ACCEPTED": "Contract started", - "WAIT": "Waiting for contract confirmation", - "WAITING_BUYER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "You ignored cancellation proposal", - "EXPIRED": "Contract proposal has expired" - }, - "BUYER": { - "WAITING": "Waiting for response", - "IGNORED": "Seller ignored your contract proposal", - "ACCEPTED": "Seller accepted your contract proposal", - "WAIT": "Waiting for deposits confirmation", - "WAITING_SELLER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "WAITING_CANCEL": "Waiting for contract cancellation", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract", - "EXPIRED": "The contract proposal has expired" - } - } - }, - "PURCHASE": { - "DESCRIPTION": "Description", - "SELLER": "Seller", - "AMOUNT": "Amount", - "YOUR_DEPOSIT": "Your deposit", - "SELLER_DEPOSIT": "Seller deposit", - "BUYER_DEPOSIT": "Buyer deposit", - "SAME_AMOUNT": "Same amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "SEND_BUTTON": "Send", - "FORM_ERRORS": { - "DESC_REQUIRED": "Description required", - "DESC_MAXIMUM": "Maximum field length reached", - "SELLER_REQUIRED": "Address required", - "SELLER_NOT_VALID": "Invalid address", - "ALIAS_NOT_VALID": "Invalid alias", - "AMOUNT_REQUIRED": "Amount required", - "AMOUNT_ZERO": "Amount cannot be zero", - "YOUR_DEPOSIT_REQUIRED": "Deposit required", - "SELLER_DEPOSIT_REQUIRED": "Seller deposit required", - "SELLER_SAME": "Use separate account", - "COMMENT_MAXIMUM": "Maximum field length reached" - }, - "PROGRESS_NEW": "New purchase", - "PROGRESS_WAIT": "Awaiting reply", - "PROGRESS_RECEIVE": "Reply received", - "PROGRESS_COMPLETE": "Completed", - "FEE": "Fee", - "PAYMENT": "Payment ID", - "STATUS_MESSAGES": { - "NEW_PURCHASE": "New purchase", - "WAITING_SELLER": "Waiting for response", - "WAITING_BUYER": "Contract proposal received", - "WAITING_CONFIRMATION": "Waiting for deposits confirmation", - "WAITING_DELIVERY": "Waiting for delivery", - "COMPLETED": "Contract completed", - "IGNORED_BUYER": "Contract proposal ignored", - "IGNORED_SELLER": "The seller ignored your contract proposal", - "PROPOSAL_CANCEL_SELLER": "Cancellation request sent", - "PROPOSAL_CANCEL_BUYER": "Cancellation request received", - "BEING_CANCELLED": "Cancellation in progress", - "IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract", - "IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored", - "CANCELLED": "Contract canceled", - "EXPIRED": "Contract proposal expired", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned" - }, - "ACCEPT_STATE_WAIT_BIG": "Contract started", - "IGNORED_ACCEPT": "Contract proposal ignored", - "BURN_PROPOSAL": "Deposits burned", - "SUCCESS_FINISH_PROPOSAL": "Contract completed", - "SEND_CANCEL_PROPOSAL": "Cancellation request sent", - "IGNORED_CANCEL": "Contract cancellation proposal ignored", - "DEALS_CANCELED_WAIT": "Cancellation in progress", - "WAITING_TIME": "Response time", - "NEED_MONEY": "Insufficient funds", - "BUTTON_MAKE_PLEDGE": "Accept and make deposit", - "BUTTON_IGNORE": "Ignore and hide offer", - "BUTTON_NULLIFY": "Terminate and burn deposits", - "BUTTON_RECEIVED": "Complete and release deposits", - "BUTTON_CANCEL_BUYER": "Cancel and return deposits", - "BUTTON_NOT_CANCEL": "Ignore request", - "BUTTON_CANCEL_SELLER": "Confirm and return deposits", - "HOUR": "hour", - "HOURS": "hours", - "CANCEL": "Cancel", - "NULLIFY_QUESTION": "Are you sure you want to burn both deposits?", - "BUTTON_NULLIFY_SHORT": "Burn", - "WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?" - }, - "MESSAGES": { - "ADDRESS": "Address", - "MESSAGE": "Message", - "SEND_PLACEHOLDER": "Type a message...", - "SEND_BUTTON": "Send" - }, - "MODALS": { - "ERROR": "Error", - "SUCCESS": "Success", - "INFO": "Information", - "OK": "OK" - }, - "CONFIRM": { - "BUTTON_CONFIRM": "Send", - "BUTTON_CANCEL": "Cancel", - "TITLE": "Confirm transaction", - "MESSAGE": { - "SEND": "Send", - "FROM": "From", - "TO": "To", - "COMMENT": "Comment" - } - }, - "STAKING": { - "TITLE": "Staking", - "TITLE_PENDING": "Pending", - "TITLE_TOTAL": "Total", - "TITLE_PERIOD": "Time period:", - "PERIOD": { - "WEEK1": "1 week", - "WEEK2": "2 week", - "MONTH1": "1 month", - "MONTH3": "3 month", - "MONTH6": "6 month", - "YEAR": "1 year", - "ALL": "All" - }, - "TITLE_GROUP": "Group:", - "GROUP": { - "DAY": "day", - "WEEK": "week", - "MONTH": "month" - }, - "SWITCH": { - "ON": "ON", - "OFF": "OFF" - } - }, - "CONTACTS": { - "TITLE": "Contact list", - "IMPORT_EXPORT": "Import or export contacts", - "IMPORT": "Import", - "EXPORT": "Export", - "ADD": "Add/edit contact", - "SEND": "Send", - "SEND_FROM": "Send from", - "SEND_TO": "To", - "OPEN_ADD_WALLET": "Open/Add wallet", - "COPY": "- Copy", - "TABLE": { - "NAME": "Name", - "ALIAS": "Alias", - "ADDRESS": "Address", - "NOTES": "Notes", - "EMPTY": "Contact list is empty" - }, - "FORM": { - "NAME": "Name", - "ADDRESS": "Address", - "NOTES": "Notes" - }, - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUBLICATED": "Name is dublicated", - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "SET_MASTER_PASSWORD": "Set master password", - "ADDRESS_DUBLICATED": "Address is dublicated", - "MAX_LENGTH": "Maximum notes length reached", - "NAME_LENGTH": "The name must be 4-25 characters long" - }, - "BUTTON": { - "SEND": "Send", - "EDIT": "Edit", - "DELETE": "Delete", - "ADD": "Add contact", - "ADD_EDIT": "Add/Save", - "GO_TO_WALLET": "Go to wallet", - "IMPORT_EXPORT": "Import/export" - }, - "SUCCESS_SENT": "Contact added", - "SUCCESS_SAVE": "Contact is edited", - "SUCCESS_IMPORT": "Contacts are imported", - "SUCCESS_EXPORT": "Contacts are exported", - "ERROR_IMPORT": "Error is occured while reading file!", - "ERROR_TYPE_FILE": "Please import valid .csv file", - "ERROR_EXPORT": "Invalid file type. Save file as .csv", - "ERROR_EMPTY_LIST": "Contact list is empty", - "ERROR_IMPORT_EMPTY": "File is empty" - }, - "ERRORS": { - "NO_MONEY": "Not enough money", - "NOT_ENOUGH_MONEY": "Insufficient funds in account", - "CORE_BUSY": "Internal error: core is busy", - "DAEMON_BUSY": "Internal error: daemon is busy", - "NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet", - "NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with", - "TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions", - "TRANSFER_ATTEMPT": "There is no connection to Zano network", - "ACCESS_DENIED": "Access denied", - "TRANSACTION_ERROR": "Error. Transaction not completed.", - "BAD_ARG": "Invalid argument", - "WALLET_WRONG_ID": "Invalid wallet ID", - "WRONG_PASSWORD": "Invalid password", - "FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain", - "FILE_NOT_FOUND": "File not found", - "FILE_EXIST": "A file with that name already exists. Enter another name to save the file under", - "FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.", - "TX_TYPE_NORMAL": "Error. The payment from the wallet", - "TX_TYPE_NORMAL_TO": "to", - "TX_TYPE_NORMAL_END": "was not completed.", - "TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe", - "TX_TYPE_NEW_ALIAS_END": "Please try again.", - "TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe", - "TX_TYPE_COIN_BASE": "Error. The payment was not completed." - }, - "CONTEXT_MENU": { - "COPY": "copy", - "PASTE": "paste", - "SELECT": "select all" - }, - "BACKEND_LOCALIZATION": { - "QUIT": "Quit", - "IS_RECEIVED": "", - "IS_CONFIRMED": "", - "INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)", - "INCOME_TRANSFER_CONFIRMED": "Payment received", - "MINED": "Mined", - "LOCKED": "Blocked", - "IS_MINIMIZE": "Zano application is minimized to the system tray", - "RESTORE": "You can recover it by clicking or using the context menu", - "TRAY_MENU_SHOW": "Resize", - "TRAY_MENU_MINIMIZE": "Minimize" - } -} diff --git a/src/gui/qt-daemon/html/assets/i18n/uk.json b/src/gui/qt-daemon/html/assets/i18n/uk.json deleted file mode 100644 index 59e88fa0..00000000 --- a/src/gui/qt-daemon/html/assets/i18n/uk.json +++ /dev/null @@ -1,593 +0,0 @@ -{ - "LOGIN": { - "SETUP_MASTER_PASS": "Setup master password", - "SETUP_CONFIRM_PASS": "Confirm the password", - "MASTER_PASS": "Master password", - "BUTTON_NEXT": "Next", - "BUTTON_SKIP": "Skip", - "BUTTON_RESET": "Reset", - "INCORRECT_PASSWORD": "Invalid password", - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "CONFIRM_REQUIRED": "Confirmation is required", - "MISMATCH": "Mismatch" - } - }, - "COMMON": { - "BACK": "Go back" - }, - "BREADCRUMBS": { - "ADD_WALLET": "Add wallet", - "CREATE_WALLET": "Create new wallet", - "SAVE_PHRASE": "Save your seed phrase", - "OPEN_WALLET": "Open existing wallet", - "RESTORE_WALLET": "Restore from backup", - "WALLET_DETAILS": "Wallet details", - "ASSIGN_ALIAS": "Assign alias", - "EDIT_ALIAS": "Edit alias", - "TRANSFER_ALIAS": "Transfer alias", - "CONTRACTS": "Contracts", - "NEW_PURCHASE": "New purchase", - "OLD_PURCHASE": "Purchase" - }, - "SIDEBAR": { - "TITLE": "Wallets", - "ADD_NEW": "+ Add", - "ACCOUNT": { - "STAKING": "Staking", - "MESSAGES": "New offers/Messages", - "SYNCING": "Syncing wallet" - }, - "CONTACTS": "Contacts", - "SETTINGS": "Settings", - "LOG_OUT": "Log out", - "SYNCHRONIZATION": { - "OFFLINE": "Offline", - "ONLINE": "Online", - "ERROR": "System error", - "COMPLETE": "Completion", - "SYNCING": "Syncing blockchain", - "LOADING": "Loading blockchain data" - }, - "UPDATE": { - "STANDARD": "Update available", - "STANDARD_TOOLTIP": "Get new update.
      Update is recommended!", - "IMPORTANT": "Update available", - "IMPORTANT_HINT": "Important update!", - "IMPORTANT_TOOLTIP": "Get new update.
      Important update!", - "CRITICAL": "Update available", - "CRITICAL_HINT": "Critical update!", - "CRITICAL_TOOLTIP": "Critical update available.Update strongly recommended!", - "TIME": "System time differs from network", - "TIME_TOOLTIP": "Wrong system time!
      Check and repair your system time." - } - }, - "MAIN": { - "TITLE": "Create or open the wallet to start using Zano", - "BUTTON_NEW_WALLET": "Create new wallet", - "BUTTON_OPEN_WALLET": "Open existing wallet", - "BUTTON_RESTORE_BACKUP": "Restore from backup", - "HELP": "How to create wallet?", - "CHOOSE_PATH": "Please choose a path" - }, - "CREATE_WALLET": { - "NAME": "Wallet name", - "PASS": "Set wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "TITLE_SAVE": "Save the wallet file.", - "ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten", - "ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match" - } - }, - "OPEN_WALLET": { - "NAME": "Wallet name", - "PASS": "Wallet password", - "BUTTON": "Open wallet", - "WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open", - "FILE_NOT_FOUND1": "Wallet file not found", - "FILE_NOT_FOUND2": "

      It might have been renamed or moved.
      To open it, use the \"Open wallet\" button.", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - }, - "MODAL": { - "TITLE": "Type wallet password", - "LABEL": "Password to this wallet", - "OPEN": "Open wallet", - "SKIP": "Skip", - "NOT_FOUND": "Not found" - } - }, - "RESTORE_WALLET": { - "LABEL_NAME": "Wallet name", - "LABEL_PHRASE_KEY": "Seed phrase / tracking seed", - "PASS": "Wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match", - "CHOOSE_PATH": "Please choose a path", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match", - "KEY_REQUIRED": "Key is required", - "KEY_NOT_VALID": "Key not valid" - } - }, - "SEED_PHRASE": { - "TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.", - "BUTTON_CREATE_ACCOUNT": "Create wallet", - "BUTTON_COPY": "Copy" - }, - "PROGRESS": { - "ADD_WALLET": "Add wallet", - "SELECT_LOCATION": "Select wallet location", - "CREATE_WALLET": "Create new wallet", - "RESTORE_WALLET": "Restore from backup" - }, - "SETTINGS": { - "TITLE": "Settings", - "DARK_THEME": "Dark theme", - "WHITE_THEME": "White theme", - "GRAY_THEME": "Grey theme", - "APP_LOCK": { - "TITLE": "Lock app after:", - "TIME1": "5 min", - "TIME2": "15 min", - "TIME3": "1 hour", - "TIME4": "Never" - }, - "SCALE": { - "75": "75% scale", - "100": "100% scale", - "125": "125% scale", - "150": "150% scale" - }, - "MASTER_PASSWORD": { - "TITLE": "Update master password", - "OLD": "Old password", - "NEW": "New password", - "CONFIRM": "New password confirmation", - "BUTTON": "Save" - }, - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "PASS_NOT_MATCH": "Old password not match", - "CONFIRM_NOT_MATCH": "Confirm password not match" - }, - "LAST_BUILD": "Current build: {{value}}", - "APP_LOG_TITLE": "Log level:" - }, - "WALLET": { - "REGISTER_ALIAS": "Register an alias", - "DETAILS": "Details", - "LOCK": "Lock", - "AVAILABLE_BALANCE": "Available {{available}} {{currency}}", - "LOCKED_BALANCE": "Locked {{locked}} {{currency}}", - "LOCKED_BALANCE_LINK": "What does that mean?", - "TABS": { - "SEND": "Send", - "RECEIVE": "Receive", - "HISTORY": "History", - "CONTRACTS": "Contracts", - "MESSAGES": "Messages", - "STAKING": "Staking" - } - }, - "WALLET_DETAILS": { - "LABEL_NAME": "Wallet name", - "LABEL_FILE_LOCATION": "Wallet file location", - "LABEL_SEED_PHRASE": "Seed phrase", - "SEED_PHRASE_HINT": "Click to reveal the seed phrase", - "BUTTON_SAVE": "Save", - "BUTTON_REMOVE": "Close wallet", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - } - }, - "ASSIGN_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": " Enter alias", - "TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”." - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "", - "TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later." - }, - "COST": "Alias fee {{value}} {{currency}}", - "BUTTON_ASSIGN": "Assign", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_WRONG": "Invalid name: allowed symbols \"0-9\", \"a-z\", \"-\", \".\"", - "NAME_LENGTH": "The alias must be 6-25 characters long", - "NAME_EXISTS": "Alias name already exists", - "NO_MONEY": "You do not have enough funds to assign this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "ONE_ALIAS": "You can create only one alias per wallet", - "REQUEST_ADD_REG": "The alias will be assigned within 10 minutes" - }, - "EDIT_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "NO_MONEY": "You do not have enough funds to change the comment to this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "COST": "Fee {{value}} {{currency}}", - "BUTTON_EDIT": "Edit" - }, - "TRANSFER_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "ADDRESS": { - "LABEL": "Transfer to", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "WRONG_ADDRESS": "No wallet with this account exists", - "ALIAS_EXISTS": "This account already has an alias", - "NO_MONEY": "You do not have enough funds to transfer this alias" - }, - "COST": "Transfer fee {{value}} {{currency}}", - "BUTTON_TRANSFER": "Transfer", - "BUTTON_CANCEL": "Cancel", - "REQUEST_SEND_REG": "The alias will be transferred within 10 minutes" - }, - "SEND": { - "ADDRESS": "Address", - "AMOUNT": "Amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "MIXIN": "Mixin", - "FEE": "Fee", - "HIDE": "Hide your wallet address from recipient", - "BUTTON": "Send", - "SUCCESS_SENT": "Transaction sent", - "FORM_ERRORS": { - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "ALIAS_NOT_VALID": "Alias not valid", - "AMOUNT_REQUIRED": "Amount is required", - "AMOUNT_ZERO": "Amount is zero", - "FEE_REQUIRED": "Fee is required", - "FEE_MINIMUM": "Minimum fee: {{fee}}", - "MAX_LENGTH": "Maximum comment length reached" - } - }, - "HISTORY": { - "STATUS": "Status", - "STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}", - "LOCK_TOOLTIP": "Locked till {{date}}", - "SEND": "Sent", - "RECEIVED": "Received", - "DATE": "Date", - "AMOUNT": "Amount", - "FEE": "Fee", - "ADDRESS": "Address", - "DETAILS": { - "PAYMENT_ID": "Payment ID", - "ID": "Transaction ID", - "SIZE": "Transaction size", - "SIZE_VALUE": "{{value}} bytes", - "HEIGHT": "Height", - "CONFIRMATION": "Confirmation", - "INPUTS": "Inputs", - "OUTPUTS": "Outputs", - "COMMENT": "Comment" - }, - "TYPE_MESSAGES": { - "HIDDEN": "hidden", - "UNDEFINED": "Undefined", - "COMPLETE_BUYER": "Contract completed", - "COMPLETE_SELLER": "Contract completed", - "CREATE_ALIAS": "Fee for assigning alias", - "UPDATE_ALIAS": "Fee for editing alias", - "POW_REWARD": "POW reward", - "POS_REWARD": "POS reward", - "CREATE_CONTRACT": "Contract proposal", - "PLEDGE_CONTRACT": "Contract deposit", - "NULLIFY_CONTRACT": "Burn deposits", - "PROPOSAL_CANCEL_CONTRACT": "Cancellation request", - "CANCEL_CONTRACT": "Cancel and return deposits" - } - }, - "CONTRACTS": { - "EMPTY": "No active contracts", - "CONTRACTS": "Contracts", - "PURCHASE": "Purchase", - "SELL": "Sell", - "DATE": "Date", - "AMOUNT": "Amount", - "STATUS": "Status", - "COMMENTS": "Comments", - "PURCHASE_BUTTON": "New Purchase", - "LISTING_BUTTON": "Create listing", - "TIME_LEFT": { - "REMAINING_LESS_ONE": "Less than an hour to respond", - "REMAINING_ONE": "{{time}} hour remains", - "REMAINING_MANY": "{{time}} hours remain", - "REMAINING_MANY_ALT": "{{time}} hours remain", - "REMAINING_ONE_RESPONSE": "{{time}} hour remains", - "REMAINING_MANY_RESPONSE": "{{time}} hours remain", - "REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain", - "REMAINING_ONE_WAITING": "Waiting for {{time}} hour", - "REMAINING_MANY_WAITING": "Waiting for {{time}} hours", - "REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours" - }, - "STATUS_MESSAGES": { - "SELLER": { - "NEW_CONTRACT": "New contract proposal", - "IGNORED": "You ignored contract proposal", - "ACCEPTED": "Contract started", - "WAIT": "Waiting for contract confirmation", - "WAITING_BUYER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "You ignored cancellation proposal", - "EXPIRED": "Contract proposal has expired" - }, - "BUYER": { - "WAITING": "Waiting for response", - "IGNORED": "Seller ignored your contract proposal", - "ACCEPTED": "Seller accepted your contract proposal", - "WAIT": "Waiting for deposits confirmation", - "WAITING_SELLER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "WAITING_CANCEL": "Waiting for contract cancellation", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract", - "EXPIRED": "The contract proposal has expired" - } - } - }, - "PURCHASE": { - "DESCRIPTION": "Description", - "SELLER": "Seller", - "AMOUNT": "Amount", - "YOUR_DEPOSIT": "Your deposit", - "SELLER_DEPOSIT": "Seller deposit", - "BUYER_DEPOSIT": "Buyer deposit", - "SAME_AMOUNT": "Same amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "SEND_BUTTON": "Send", - "FORM_ERRORS": { - "DESC_REQUIRED": "Description required", - "DESC_MAXIMUM": "Maximum field length reached", - "SELLER_REQUIRED": "Address required", - "SELLER_NOT_VALID": "Invalid address", - "ALIAS_NOT_VALID": "Invalid alias", - "AMOUNT_REQUIRED": "Amount required", - "AMOUNT_ZERO": "Amount cannot be zero", - "YOUR_DEPOSIT_REQUIRED": "Deposit required", - "SELLER_DEPOSIT_REQUIRED": "Seller deposit required", - "SELLER_SAME": "Use separate account", - "COMMENT_MAXIMUM": "Maximum field length reached" - }, - "PROGRESS_NEW": "New purchase", - "PROGRESS_WAIT": "Awaiting reply", - "PROGRESS_RECEIVE": "Reply received", - "PROGRESS_COMPLETE": "Completed", - "FEE": "Fee", - "PAYMENT": "Payment ID", - "STATUS_MESSAGES": { - "NEW_PURCHASE": "New purchase", - "WAITING_SELLER": "Waiting for response", - "WAITING_BUYER": "Contract proposal received", - "WAITING_CONFIRMATION": "Waiting for deposits confirmation", - "WAITING_DELIVERY": "Waiting for delivery", - "COMPLETED": "Contract completed", - "IGNORED_BUYER": "Contract proposal ignored", - "IGNORED_SELLER": "The seller ignored your contract proposal", - "PROPOSAL_CANCEL_SELLER": "Cancellation request sent", - "PROPOSAL_CANCEL_BUYER": "Cancellation request received", - "BEING_CANCELLED": "Cancellation in progress", - "IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract", - "IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored", - "CANCELLED": "Contract canceled", - "EXPIRED": "Contract proposal expired", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned" - }, - "ACCEPT_STATE_WAIT_BIG": "Contract started", - "IGNORED_ACCEPT": "Contract proposal ignored", - "BURN_PROPOSAL": "Deposits burned", - "SUCCESS_FINISH_PROPOSAL": "Contract completed", - "SEND_CANCEL_PROPOSAL": "Cancellation request sent", - "IGNORED_CANCEL": "Contract cancellation proposal ignored", - "DEALS_CANCELED_WAIT": "Cancellation in progress", - "WAITING_TIME": "Response time", - "NEED_MONEY": "Insufficient funds", - "BUTTON_MAKE_PLEDGE": "Accept and make deposit", - "BUTTON_IGNORE": "Ignore and hide offer", - "BUTTON_NULLIFY": "Terminate and burn deposits", - "BUTTON_RECEIVED": "Complete and release deposits", - "BUTTON_CANCEL_BUYER": "Cancel and return deposits", - "BUTTON_NOT_CANCEL": "Ignore request", - "BUTTON_CANCEL_SELLER": "Confirm and return deposits", - "HOUR": "hour", - "HOURS": "hours", - "CANCEL": "Cancel", - "NULLIFY_QUESTION": "Are you sure you want to burn both deposits?", - "BUTTON_NULLIFY_SHORT": "Burn", - "WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?" - }, - "MESSAGES": { - "ADDRESS": "Address", - "MESSAGE": "Message", - "SEND_PLACEHOLDER": "Type a message...", - "SEND_BUTTON": "Send" - }, - "MODALS": { - "ERROR": "Error", - "SUCCESS": "Success", - "INFO": "Information", - "OK": "OK" - }, - "CONFIRM": { - "BUTTON_CONFIRM": "Send", - "BUTTON_CANCEL": "Cancel", - "TITLE": "Confirm transaction", - "MESSAGE": { - "SEND": "Send", - "FROM": "From", - "TO": "To", - "COMMENT": "Comment" - } - }, - "STAKING": { - "TITLE": "Staking", - "TITLE_PENDING": "Pending", - "TITLE_TOTAL": "Total", - "TITLE_PERIOD": "Time period:", - "PERIOD": { - "WEEK1": "1 week", - "WEEK2": "2 week", - "MONTH1": "1 month", - "MONTH3": "3 month", - "MONTH6": "6 month", - "YEAR": "1 year", - "ALL": "All" - }, - "TITLE_GROUP": "Group:", - "GROUP": { - "DAY": "day", - "WEEK": "week", - "MONTH": "month" - }, - "SWITCH": { - "ON": "ON", - "OFF": "OFF" - } - }, - "CONTACTS": { - "TITLE": "Contact list", - "IMPORT_EXPORT": "Import or export contacts", - "IMPORT": "Import", - "EXPORT": "Export", - "ADD": "Add/edit contact", - "SEND": "Send", - "SEND_FROM": "Send from", - "SEND_TO": "To", - "OPEN_ADD_WALLET": "Open/Add wallet", - "COPY": "- Copy", - "TABLE": { - "NAME": "Name", - "ALIAS": "Alias", - "ADDRESS": "Address", - "NOTES": "Notes", - "EMPTY": "Contact list is empty" - }, - "FORM": { - "NAME": "Name", - "ADDRESS": "Address", - "NOTES": "Notes" - }, - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUBLICATED": "Name is dublicated", - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "SET_MASTER_PASSWORD": "Set master password", - "ADDRESS_DUBLICATED": "Address is dublicated", - "MAX_LENGTH": "Maximum notes length reached", - "NAME_LENGTH": "The name must be 4-25 characters long" - }, - "BUTTON": { - "SEND": "Send", - "EDIT": "Edit", - "DELETE": "Delete", - "ADD": "Add contact", - "ADD_EDIT": "Add/Save", - "GO_TO_WALLET": "Go to wallet", - "IMPORT_EXPORT": "Import/export" - }, - "SUCCESS_SENT": "Contact added", - "SUCCESS_SAVE": "Contact is edited", - "SUCCESS_IMPORT": "Contacts are imported", - "SUCCESS_EXPORT": "Contacts are exported", - "ERROR_IMPORT": "Error is occured while reading file!", - "ERROR_TYPE_FILE": "Please import valid .csv file", - "ERROR_EXPORT": "Invalid file type. Save file as .csv", - "ERROR_EMPTY_LIST": "Contact list is empty", - "ERROR_IMPORT_EMPTY": "File is empty" - }, - "ERRORS": { - "NO_MONEY": "Not enough money", - "NOT_ENOUGH_MONEY": "Insufficient funds in account", - "CORE_BUSY": "Internal error: core is busy", - "DAEMON_BUSY": "Internal error: daemon is busy", - "NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet", - "NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with", - "TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions", - "TRANSFER_ATTEMPT": "There is no connection to Zano network", - "ACCESS_DENIED": "Access denied", - "TRANSACTION_ERROR": "Error. Transaction not completed.", - "BAD_ARG": "Invalid argument", - "WALLET_WRONG_ID": "Invalid wallet ID", - "WRONG_PASSWORD": "Invalid password", - "FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain", - "FILE_NOT_FOUND": "File not found", - "FILE_EXIST": "A file with that name already exists. Enter another name to save the file under", - "FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.", - "TX_TYPE_NORMAL": "Error. The payment from the wallet", - "TX_TYPE_NORMAL_TO": "to", - "TX_TYPE_NORMAL_END": "was not completed.", - "TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe", - "TX_TYPE_NEW_ALIAS_END": "Please try again.", - "TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe", - "TX_TYPE_COIN_BASE": "Error. The payment was not completed." - }, - "CONTEXT_MENU": { - "COPY": "copy", - "PASTE": "paste", - "SELECT": "select all" - }, - "BACKEND_LOCALIZATION": { - "QUIT": "Quit", - "IS_RECEIVED": "", - "IS_CONFIRMED": "", - "INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)", - "INCOME_TRANSFER_CONFIRMED": "Payment received", - "MINED": "Mined", - "LOCKED": "Blocked", - "IS_MINIMIZE": "Zano application is minimized to the system tray", - "RESTORE": "You can recover it by clicking or using the context menu", - "TRAY_MENU_SHOW": "Resize", - "TRAY_MENU_MINIMIZE": "Minimize" - } -} diff --git a/src/gui/qt-daemon/html/assets/i18n/vi.json b/src/gui/qt-daemon/html/assets/i18n/vi.json deleted file mode 100644 index 59e88fa0..00000000 --- a/src/gui/qt-daemon/html/assets/i18n/vi.json +++ /dev/null @@ -1,593 +0,0 @@ -{ - "LOGIN": { - "SETUP_MASTER_PASS": "Setup master password", - "SETUP_CONFIRM_PASS": "Confirm the password", - "MASTER_PASS": "Master password", - "BUTTON_NEXT": "Next", - "BUTTON_SKIP": "Skip", - "BUTTON_RESET": "Reset", - "INCORRECT_PASSWORD": "Invalid password", - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "CONFIRM_REQUIRED": "Confirmation is required", - "MISMATCH": "Mismatch" - } - }, - "COMMON": { - "BACK": "Go back" - }, - "BREADCRUMBS": { - "ADD_WALLET": "Add wallet", - "CREATE_WALLET": "Create new wallet", - "SAVE_PHRASE": "Save your seed phrase", - "OPEN_WALLET": "Open existing wallet", - "RESTORE_WALLET": "Restore from backup", - "WALLET_DETAILS": "Wallet details", - "ASSIGN_ALIAS": "Assign alias", - "EDIT_ALIAS": "Edit alias", - "TRANSFER_ALIAS": "Transfer alias", - "CONTRACTS": "Contracts", - "NEW_PURCHASE": "New purchase", - "OLD_PURCHASE": "Purchase" - }, - "SIDEBAR": { - "TITLE": "Wallets", - "ADD_NEW": "+ Add", - "ACCOUNT": { - "STAKING": "Staking", - "MESSAGES": "New offers/Messages", - "SYNCING": "Syncing wallet" - }, - "CONTACTS": "Contacts", - "SETTINGS": "Settings", - "LOG_OUT": "Log out", - "SYNCHRONIZATION": { - "OFFLINE": "Offline", - "ONLINE": "Online", - "ERROR": "System error", - "COMPLETE": "Completion", - "SYNCING": "Syncing blockchain", - "LOADING": "Loading blockchain data" - }, - "UPDATE": { - "STANDARD": "Update available", - "STANDARD_TOOLTIP": "Get new update.
      Update is recommended!", - "IMPORTANT": "Update available", - "IMPORTANT_HINT": "Important update!", - "IMPORTANT_TOOLTIP": "Get new update.
      Important update!", - "CRITICAL": "Update available", - "CRITICAL_HINT": "Critical update!", - "CRITICAL_TOOLTIP": "Critical update available.Update strongly recommended!", - "TIME": "System time differs from network", - "TIME_TOOLTIP": "Wrong system time!
      Check and repair your system time." - } - }, - "MAIN": { - "TITLE": "Create or open the wallet to start using Zano", - "BUTTON_NEW_WALLET": "Create new wallet", - "BUTTON_OPEN_WALLET": "Open existing wallet", - "BUTTON_RESTORE_BACKUP": "Restore from backup", - "HELP": "How to create wallet?", - "CHOOSE_PATH": "Please choose a path" - }, - "CREATE_WALLET": { - "NAME": "Wallet name", - "PASS": "Set wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "TITLE_SAVE": "Save the wallet file.", - "ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten", - "ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match" - } - }, - "OPEN_WALLET": { - "NAME": "Wallet name", - "PASS": "Wallet password", - "BUTTON": "Open wallet", - "WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open", - "FILE_NOT_FOUND1": "Wallet file not found", - "FILE_NOT_FOUND2": "

      It might have been renamed or moved.
      To open it, use the \"Open wallet\" button.", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - }, - "MODAL": { - "TITLE": "Type wallet password", - "LABEL": "Password to this wallet", - "OPEN": "Open wallet", - "SKIP": "Skip", - "NOT_FOUND": "Not found" - } - }, - "RESTORE_WALLET": { - "LABEL_NAME": "Wallet name", - "LABEL_PHRASE_KEY": "Seed phrase / tracking seed", - "PASS": "Wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match", - "CHOOSE_PATH": "Please choose a path", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match", - "KEY_REQUIRED": "Key is required", - "KEY_NOT_VALID": "Key not valid" - } - }, - "SEED_PHRASE": { - "TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.", - "BUTTON_CREATE_ACCOUNT": "Create wallet", - "BUTTON_COPY": "Copy" - }, - "PROGRESS": { - "ADD_WALLET": "Add wallet", - "SELECT_LOCATION": "Select wallet location", - "CREATE_WALLET": "Create new wallet", - "RESTORE_WALLET": "Restore from backup" - }, - "SETTINGS": { - "TITLE": "Settings", - "DARK_THEME": "Dark theme", - "WHITE_THEME": "White theme", - "GRAY_THEME": "Grey theme", - "APP_LOCK": { - "TITLE": "Lock app after:", - "TIME1": "5 min", - "TIME2": "15 min", - "TIME3": "1 hour", - "TIME4": "Never" - }, - "SCALE": { - "75": "75% scale", - "100": "100% scale", - "125": "125% scale", - "150": "150% scale" - }, - "MASTER_PASSWORD": { - "TITLE": "Update master password", - "OLD": "Old password", - "NEW": "New password", - "CONFIRM": "New password confirmation", - "BUTTON": "Save" - }, - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "PASS_NOT_MATCH": "Old password not match", - "CONFIRM_NOT_MATCH": "Confirm password not match" - }, - "LAST_BUILD": "Current build: {{value}}", - "APP_LOG_TITLE": "Log level:" - }, - "WALLET": { - "REGISTER_ALIAS": "Register an alias", - "DETAILS": "Details", - "LOCK": "Lock", - "AVAILABLE_BALANCE": "Available {{available}} {{currency}}", - "LOCKED_BALANCE": "Locked {{locked}} {{currency}}", - "LOCKED_BALANCE_LINK": "What does that mean?", - "TABS": { - "SEND": "Send", - "RECEIVE": "Receive", - "HISTORY": "History", - "CONTRACTS": "Contracts", - "MESSAGES": "Messages", - "STAKING": "Staking" - } - }, - "WALLET_DETAILS": { - "LABEL_NAME": "Wallet name", - "LABEL_FILE_LOCATION": "Wallet file location", - "LABEL_SEED_PHRASE": "Seed phrase", - "SEED_PHRASE_HINT": "Click to reveal the seed phrase", - "BUTTON_SAVE": "Save", - "BUTTON_REMOVE": "Close wallet", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - } - }, - "ASSIGN_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": " Enter alias", - "TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”." - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "", - "TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later." - }, - "COST": "Alias fee {{value}} {{currency}}", - "BUTTON_ASSIGN": "Assign", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_WRONG": "Invalid name: allowed symbols \"0-9\", \"a-z\", \"-\", \".\"", - "NAME_LENGTH": "The alias must be 6-25 characters long", - "NAME_EXISTS": "Alias name already exists", - "NO_MONEY": "You do not have enough funds to assign this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "ONE_ALIAS": "You can create only one alias per wallet", - "REQUEST_ADD_REG": "The alias will be assigned within 10 minutes" - }, - "EDIT_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "NO_MONEY": "You do not have enough funds to change the comment to this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "COST": "Fee {{value}} {{currency}}", - "BUTTON_EDIT": "Edit" - }, - "TRANSFER_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "ADDRESS": { - "LABEL": "Transfer to", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "WRONG_ADDRESS": "No wallet with this account exists", - "ALIAS_EXISTS": "This account already has an alias", - "NO_MONEY": "You do not have enough funds to transfer this alias" - }, - "COST": "Transfer fee {{value}} {{currency}}", - "BUTTON_TRANSFER": "Transfer", - "BUTTON_CANCEL": "Cancel", - "REQUEST_SEND_REG": "The alias will be transferred within 10 minutes" - }, - "SEND": { - "ADDRESS": "Address", - "AMOUNT": "Amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "MIXIN": "Mixin", - "FEE": "Fee", - "HIDE": "Hide your wallet address from recipient", - "BUTTON": "Send", - "SUCCESS_SENT": "Transaction sent", - "FORM_ERRORS": { - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "ALIAS_NOT_VALID": "Alias not valid", - "AMOUNT_REQUIRED": "Amount is required", - "AMOUNT_ZERO": "Amount is zero", - "FEE_REQUIRED": "Fee is required", - "FEE_MINIMUM": "Minimum fee: {{fee}}", - "MAX_LENGTH": "Maximum comment length reached" - } - }, - "HISTORY": { - "STATUS": "Status", - "STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}", - "LOCK_TOOLTIP": "Locked till {{date}}", - "SEND": "Sent", - "RECEIVED": "Received", - "DATE": "Date", - "AMOUNT": "Amount", - "FEE": "Fee", - "ADDRESS": "Address", - "DETAILS": { - "PAYMENT_ID": "Payment ID", - "ID": "Transaction ID", - "SIZE": "Transaction size", - "SIZE_VALUE": "{{value}} bytes", - "HEIGHT": "Height", - "CONFIRMATION": "Confirmation", - "INPUTS": "Inputs", - "OUTPUTS": "Outputs", - "COMMENT": "Comment" - }, - "TYPE_MESSAGES": { - "HIDDEN": "hidden", - "UNDEFINED": "Undefined", - "COMPLETE_BUYER": "Contract completed", - "COMPLETE_SELLER": "Contract completed", - "CREATE_ALIAS": "Fee for assigning alias", - "UPDATE_ALIAS": "Fee for editing alias", - "POW_REWARD": "POW reward", - "POS_REWARD": "POS reward", - "CREATE_CONTRACT": "Contract proposal", - "PLEDGE_CONTRACT": "Contract deposit", - "NULLIFY_CONTRACT": "Burn deposits", - "PROPOSAL_CANCEL_CONTRACT": "Cancellation request", - "CANCEL_CONTRACT": "Cancel and return deposits" - } - }, - "CONTRACTS": { - "EMPTY": "No active contracts", - "CONTRACTS": "Contracts", - "PURCHASE": "Purchase", - "SELL": "Sell", - "DATE": "Date", - "AMOUNT": "Amount", - "STATUS": "Status", - "COMMENTS": "Comments", - "PURCHASE_BUTTON": "New Purchase", - "LISTING_BUTTON": "Create listing", - "TIME_LEFT": { - "REMAINING_LESS_ONE": "Less than an hour to respond", - "REMAINING_ONE": "{{time}} hour remains", - "REMAINING_MANY": "{{time}} hours remain", - "REMAINING_MANY_ALT": "{{time}} hours remain", - "REMAINING_ONE_RESPONSE": "{{time}} hour remains", - "REMAINING_MANY_RESPONSE": "{{time}} hours remain", - "REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain", - "REMAINING_ONE_WAITING": "Waiting for {{time}} hour", - "REMAINING_MANY_WAITING": "Waiting for {{time}} hours", - "REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours" - }, - "STATUS_MESSAGES": { - "SELLER": { - "NEW_CONTRACT": "New contract proposal", - "IGNORED": "You ignored contract proposal", - "ACCEPTED": "Contract started", - "WAIT": "Waiting for contract confirmation", - "WAITING_BUYER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "You ignored cancellation proposal", - "EXPIRED": "Contract proposal has expired" - }, - "BUYER": { - "WAITING": "Waiting for response", - "IGNORED": "Seller ignored your contract proposal", - "ACCEPTED": "Seller accepted your contract proposal", - "WAIT": "Waiting for deposits confirmation", - "WAITING_SELLER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "WAITING_CANCEL": "Waiting for contract cancellation", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract", - "EXPIRED": "The contract proposal has expired" - } - } - }, - "PURCHASE": { - "DESCRIPTION": "Description", - "SELLER": "Seller", - "AMOUNT": "Amount", - "YOUR_DEPOSIT": "Your deposit", - "SELLER_DEPOSIT": "Seller deposit", - "BUYER_DEPOSIT": "Buyer deposit", - "SAME_AMOUNT": "Same amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "SEND_BUTTON": "Send", - "FORM_ERRORS": { - "DESC_REQUIRED": "Description required", - "DESC_MAXIMUM": "Maximum field length reached", - "SELLER_REQUIRED": "Address required", - "SELLER_NOT_VALID": "Invalid address", - "ALIAS_NOT_VALID": "Invalid alias", - "AMOUNT_REQUIRED": "Amount required", - "AMOUNT_ZERO": "Amount cannot be zero", - "YOUR_DEPOSIT_REQUIRED": "Deposit required", - "SELLER_DEPOSIT_REQUIRED": "Seller deposit required", - "SELLER_SAME": "Use separate account", - "COMMENT_MAXIMUM": "Maximum field length reached" - }, - "PROGRESS_NEW": "New purchase", - "PROGRESS_WAIT": "Awaiting reply", - "PROGRESS_RECEIVE": "Reply received", - "PROGRESS_COMPLETE": "Completed", - "FEE": "Fee", - "PAYMENT": "Payment ID", - "STATUS_MESSAGES": { - "NEW_PURCHASE": "New purchase", - "WAITING_SELLER": "Waiting for response", - "WAITING_BUYER": "Contract proposal received", - "WAITING_CONFIRMATION": "Waiting for deposits confirmation", - "WAITING_DELIVERY": "Waiting for delivery", - "COMPLETED": "Contract completed", - "IGNORED_BUYER": "Contract proposal ignored", - "IGNORED_SELLER": "The seller ignored your contract proposal", - "PROPOSAL_CANCEL_SELLER": "Cancellation request sent", - "PROPOSAL_CANCEL_BUYER": "Cancellation request received", - "BEING_CANCELLED": "Cancellation in progress", - "IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract", - "IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored", - "CANCELLED": "Contract canceled", - "EXPIRED": "Contract proposal expired", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned" - }, - "ACCEPT_STATE_WAIT_BIG": "Contract started", - "IGNORED_ACCEPT": "Contract proposal ignored", - "BURN_PROPOSAL": "Deposits burned", - "SUCCESS_FINISH_PROPOSAL": "Contract completed", - "SEND_CANCEL_PROPOSAL": "Cancellation request sent", - "IGNORED_CANCEL": "Contract cancellation proposal ignored", - "DEALS_CANCELED_WAIT": "Cancellation in progress", - "WAITING_TIME": "Response time", - "NEED_MONEY": "Insufficient funds", - "BUTTON_MAKE_PLEDGE": "Accept and make deposit", - "BUTTON_IGNORE": "Ignore and hide offer", - "BUTTON_NULLIFY": "Terminate and burn deposits", - "BUTTON_RECEIVED": "Complete and release deposits", - "BUTTON_CANCEL_BUYER": "Cancel and return deposits", - "BUTTON_NOT_CANCEL": "Ignore request", - "BUTTON_CANCEL_SELLER": "Confirm and return deposits", - "HOUR": "hour", - "HOURS": "hours", - "CANCEL": "Cancel", - "NULLIFY_QUESTION": "Are you sure you want to burn both deposits?", - "BUTTON_NULLIFY_SHORT": "Burn", - "WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?" - }, - "MESSAGES": { - "ADDRESS": "Address", - "MESSAGE": "Message", - "SEND_PLACEHOLDER": "Type a message...", - "SEND_BUTTON": "Send" - }, - "MODALS": { - "ERROR": "Error", - "SUCCESS": "Success", - "INFO": "Information", - "OK": "OK" - }, - "CONFIRM": { - "BUTTON_CONFIRM": "Send", - "BUTTON_CANCEL": "Cancel", - "TITLE": "Confirm transaction", - "MESSAGE": { - "SEND": "Send", - "FROM": "From", - "TO": "To", - "COMMENT": "Comment" - } - }, - "STAKING": { - "TITLE": "Staking", - "TITLE_PENDING": "Pending", - "TITLE_TOTAL": "Total", - "TITLE_PERIOD": "Time period:", - "PERIOD": { - "WEEK1": "1 week", - "WEEK2": "2 week", - "MONTH1": "1 month", - "MONTH3": "3 month", - "MONTH6": "6 month", - "YEAR": "1 year", - "ALL": "All" - }, - "TITLE_GROUP": "Group:", - "GROUP": { - "DAY": "day", - "WEEK": "week", - "MONTH": "month" - }, - "SWITCH": { - "ON": "ON", - "OFF": "OFF" - } - }, - "CONTACTS": { - "TITLE": "Contact list", - "IMPORT_EXPORT": "Import or export contacts", - "IMPORT": "Import", - "EXPORT": "Export", - "ADD": "Add/edit contact", - "SEND": "Send", - "SEND_FROM": "Send from", - "SEND_TO": "To", - "OPEN_ADD_WALLET": "Open/Add wallet", - "COPY": "- Copy", - "TABLE": { - "NAME": "Name", - "ALIAS": "Alias", - "ADDRESS": "Address", - "NOTES": "Notes", - "EMPTY": "Contact list is empty" - }, - "FORM": { - "NAME": "Name", - "ADDRESS": "Address", - "NOTES": "Notes" - }, - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUBLICATED": "Name is dublicated", - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "SET_MASTER_PASSWORD": "Set master password", - "ADDRESS_DUBLICATED": "Address is dublicated", - "MAX_LENGTH": "Maximum notes length reached", - "NAME_LENGTH": "The name must be 4-25 characters long" - }, - "BUTTON": { - "SEND": "Send", - "EDIT": "Edit", - "DELETE": "Delete", - "ADD": "Add contact", - "ADD_EDIT": "Add/Save", - "GO_TO_WALLET": "Go to wallet", - "IMPORT_EXPORT": "Import/export" - }, - "SUCCESS_SENT": "Contact added", - "SUCCESS_SAVE": "Contact is edited", - "SUCCESS_IMPORT": "Contacts are imported", - "SUCCESS_EXPORT": "Contacts are exported", - "ERROR_IMPORT": "Error is occured while reading file!", - "ERROR_TYPE_FILE": "Please import valid .csv file", - "ERROR_EXPORT": "Invalid file type. Save file as .csv", - "ERROR_EMPTY_LIST": "Contact list is empty", - "ERROR_IMPORT_EMPTY": "File is empty" - }, - "ERRORS": { - "NO_MONEY": "Not enough money", - "NOT_ENOUGH_MONEY": "Insufficient funds in account", - "CORE_BUSY": "Internal error: core is busy", - "DAEMON_BUSY": "Internal error: daemon is busy", - "NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet", - "NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with", - "TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions", - "TRANSFER_ATTEMPT": "There is no connection to Zano network", - "ACCESS_DENIED": "Access denied", - "TRANSACTION_ERROR": "Error. Transaction not completed.", - "BAD_ARG": "Invalid argument", - "WALLET_WRONG_ID": "Invalid wallet ID", - "WRONG_PASSWORD": "Invalid password", - "FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain", - "FILE_NOT_FOUND": "File not found", - "FILE_EXIST": "A file with that name already exists. Enter another name to save the file under", - "FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.", - "TX_TYPE_NORMAL": "Error. The payment from the wallet", - "TX_TYPE_NORMAL_TO": "to", - "TX_TYPE_NORMAL_END": "was not completed.", - "TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe", - "TX_TYPE_NEW_ALIAS_END": "Please try again.", - "TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe", - "TX_TYPE_COIN_BASE": "Error. The payment was not completed." - }, - "CONTEXT_MENU": { - "COPY": "copy", - "PASTE": "paste", - "SELECT": "select all" - }, - "BACKEND_LOCALIZATION": { - "QUIT": "Quit", - "IS_RECEIVED": "", - "IS_CONFIRMED": "", - "INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)", - "INCOME_TRANSFER_CONFIRMED": "Payment received", - "MINED": "Mined", - "LOCKED": "Blocked", - "IS_MINIMIZE": "Zano application is minimized to the system tray", - "RESTORE": "You can recover it by clicking or using the context menu", - "TRAY_MENU_SHOW": "Resize", - "TRAY_MENU_MINIMIZE": "Minimize" - } -} diff --git a/src/gui/qt-daemon/html/assets/i18n/zh.json b/src/gui/qt-daemon/html/assets/i18n/zh.json deleted file mode 100644 index 59e88fa0..00000000 --- a/src/gui/qt-daemon/html/assets/i18n/zh.json +++ /dev/null @@ -1,593 +0,0 @@ -{ - "LOGIN": { - "SETUP_MASTER_PASS": "Setup master password", - "SETUP_CONFIRM_PASS": "Confirm the password", - "MASTER_PASS": "Master password", - "BUTTON_NEXT": "Next", - "BUTTON_SKIP": "Skip", - "BUTTON_RESET": "Reset", - "INCORRECT_PASSWORD": "Invalid password", - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "CONFIRM_REQUIRED": "Confirmation is required", - "MISMATCH": "Mismatch" - } - }, - "COMMON": { - "BACK": "Go back" - }, - "BREADCRUMBS": { - "ADD_WALLET": "Add wallet", - "CREATE_WALLET": "Create new wallet", - "SAVE_PHRASE": "Save your seed phrase", - "OPEN_WALLET": "Open existing wallet", - "RESTORE_WALLET": "Restore from backup", - "WALLET_DETAILS": "Wallet details", - "ASSIGN_ALIAS": "Assign alias", - "EDIT_ALIAS": "Edit alias", - "TRANSFER_ALIAS": "Transfer alias", - "CONTRACTS": "Contracts", - "NEW_PURCHASE": "New purchase", - "OLD_PURCHASE": "Purchase" - }, - "SIDEBAR": { - "TITLE": "Wallets", - "ADD_NEW": "+ Add", - "ACCOUNT": { - "STAKING": "Staking", - "MESSAGES": "New offers/Messages", - "SYNCING": "Syncing wallet" - }, - "CONTACTS": "Contacts", - "SETTINGS": "Settings", - "LOG_OUT": "Log out", - "SYNCHRONIZATION": { - "OFFLINE": "Offline", - "ONLINE": "Online", - "ERROR": "System error", - "COMPLETE": "Completion", - "SYNCING": "Syncing blockchain", - "LOADING": "Loading blockchain data" - }, - "UPDATE": { - "STANDARD": "Update available", - "STANDARD_TOOLTIP": "Get new update.
      Update is recommended!", - "IMPORTANT": "Update available", - "IMPORTANT_HINT": "Important update!", - "IMPORTANT_TOOLTIP": "Get new update.
      Important update!", - "CRITICAL": "Update available", - "CRITICAL_HINT": "Critical update!", - "CRITICAL_TOOLTIP": "Critical update available.Update strongly recommended!", - "TIME": "System time differs from network", - "TIME_TOOLTIP": "Wrong system time!
      Check and repair your system time." - } - }, - "MAIN": { - "TITLE": "Create or open the wallet to start using Zano", - "BUTTON_NEW_WALLET": "Create new wallet", - "BUTTON_OPEN_WALLET": "Open existing wallet", - "BUTTON_RESTORE_BACKUP": "Restore from backup", - "HELP": "How to create wallet?", - "CHOOSE_PATH": "Please choose a path" - }, - "CREATE_WALLET": { - "NAME": "Wallet name", - "PASS": "Set wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "TITLE_SAVE": "Save the wallet file.", - "ERROR_CANNOT_SAVE_TOP": "Existing wallet files cannot be replaced or overwritten", - "ERROR_CANNOT_SAVE_SYSTEM": "Wallet files cannot be saved to the OS partition", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match" - } - }, - "OPEN_WALLET": { - "NAME": "Wallet name", - "PASS": "Wallet password", - "BUTTON": "Open wallet", - "WITH_ADDRESS_ALREADY_OPEN": "A wallet with this address is already open", - "FILE_NOT_FOUND1": "Wallet file not found", - "FILE_NOT_FOUND2": "

      It might have been renamed or moved.
      To open it, use the \"Open wallet\" button.", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - }, - "MODAL": { - "TITLE": "Type wallet password", - "LABEL": "Password to this wallet", - "OPEN": "Open wallet", - "SKIP": "Skip", - "NOT_FOUND": "Not found" - } - }, - "RESTORE_WALLET": { - "LABEL_NAME": "Wallet name", - "LABEL_PHRASE_KEY": "Seed phrase / tracking seed", - "PASS": "Wallet password", - "CONFIRM": "Confirm wallet password", - "BUTTON_SELECT": "Select wallet location", - "BUTTON_CREATE": "Create wallet", - "NOT_CORRECT_FILE_OR_PASSWORD": "Invalid wallet file or password does not match", - "CHOOSE_PATH": "Please choose a path", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached", - "CONFIRM_NOT_MATCH": "Confirm password not match", - "KEY_REQUIRED": "Key is required", - "KEY_NOT_VALID": "Key not valid" - } - }, - "SEED_PHRASE": { - "TITLE": "Make sure to keep your seed phrase in a safe place. If you forget your seed phrase you will not be able to recover your wallet.", - "BUTTON_CREATE_ACCOUNT": "Create wallet", - "BUTTON_COPY": "Copy" - }, - "PROGRESS": { - "ADD_WALLET": "Add wallet", - "SELECT_LOCATION": "Select wallet location", - "CREATE_WALLET": "Create new wallet", - "RESTORE_WALLET": "Restore from backup" - }, - "SETTINGS": { - "TITLE": "Settings", - "DARK_THEME": "Dark theme", - "WHITE_THEME": "White theme", - "GRAY_THEME": "Grey theme", - "APP_LOCK": { - "TITLE": "Lock app after:", - "TIME1": "5 min", - "TIME2": "15 min", - "TIME3": "1 hour", - "TIME4": "Never" - }, - "SCALE": { - "75": "75% scale", - "100": "100% scale", - "125": "125% scale", - "150": "150% scale" - }, - "MASTER_PASSWORD": { - "TITLE": "Update master password", - "OLD": "Old password", - "NEW": "New password", - "CONFIRM": "New password confirmation", - "BUTTON": "Save" - }, - "FORM_ERRORS": { - "PASS_REQUIRED": "Password is required", - "PASS_NOT_MATCH": "Old password not match", - "CONFIRM_NOT_MATCH": "Confirm password not match" - }, - "LAST_BUILD": "Current build: {{value}}", - "APP_LOG_TITLE": "Log level:" - }, - "WALLET": { - "REGISTER_ALIAS": "Register an alias", - "DETAILS": "Details", - "LOCK": "Lock", - "AVAILABLE_BALANCE": "Available {{available}} {{currency}}", - "LOCKED_BALANCE": "Locked {{locked}} {{currency}}", - "LOCKED_BALANCE_LINK": "What does that mean?", - "TABS": { - "SEND": "Send", - "RECEIVE": "Receive", - "HISTORY": "History", - "CONTRACTS": "Contracts", - "MESSAGES": "Messages", - "STAKING": "Staking" - } - }, - "WALLET_DETAILS": { - "LABEL_NAME": "Wallet name", - "LABEL_FILE_LOCATION": "Wallet file location", - "LABEL_SEED_PHRASE": "Seed phrase", - "SEED_PHRASE_HINT": "Click to reveal the seed phrase", - "BUTTON_SAVE": "Save", - "BUTTON_REMOVE": "Close wallet", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUPLICATE": "Name is duplicate", - "MAX_LENGTH": "Maximum name length reached" - } - }, - "ASSIGN_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": " Enter alias", - "TOOLTIP": "An alias is a shortened form or your account. An alias can only include Latin letters, numbers and characters “.” and “-”. It must start with “@”." - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "", - "TOOLTIP": "The comment will be visible to anyone who wants to make a payment to your alias. You can provide details about your business, contacts, or include any text. Comments can be edited later." - }, - "COST": "Alias fee {{value}} {{currency}}", - "BUTTON_ASSIGN": "Assign", - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_WRONG": "Invalid name: allowed symbols \"0-9\", \"a-z\", \"-\", \".\"", - "NAME_LENGTH": "The alias must be 6-25 characters long", - "NAME_EXISTS": "Alias name already exists", - "NO_MONEY": "You do not have enough funds to assign this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "ONE_ALIAS": "You can create only one alias per wallet", - "REQUEST_ADD_REG": "The alias will be assigned within 10 minutes" - }, - "EDIT_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "NO_MONEY": "You do not have enough funds to change the comment to this alias", - "MAX_LENGTH": "Maximum comment length reached" - }, - "COST": "Fee {{value}} {{currency}}", - "BUTTON_EDIT": "Edit" - }, - "TRANSFER_ALIAS": { - "NAME": { - "LABEL": "Alias", - "PLACEHOLDER": "@ Enter alias" - }, - "COMMENT": { - "LABEL": "Comment", - "PLACEHOLDER": "" - }, - "ADDRESS": { - "LABEL": "Transfer to", - "PLACEHOLDER": "" - }, - "FORM_ERRORS": { - "WRONG_ADDRESS": "No wallet with this account exists", - "ALIAS_EXISTS": "This account already has an alias", - "NO_MONEY": "You do not have enough funds to transfer this alias" - }, - "COST": "Transfer fee {{value}} {{currency}}", - "BUTTON_TRANSFER": "Transfer", - "BUTTON_CANCEL": "Cancel", - "REQUEST_SEND_REG": "The alias will be transferred within 10 minutes" - }, - "SEND": { - "ADDRESS": "Address", - "AMOUNT": "Amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "MIXIN": "Mixin", - "FEE": "Fee", - "HIDE": "Hide your wallet address from recipient", - "BUTTON": "Send", - "SUCCESS_SENT": "Transaction sent", - "FORM_ERRORS": { - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "ALIAS_NOT_VALID": "Alias not valid", - "AMOUNT_REQUIRED": "Amount is required", - "AMOUNT_ZERO": "Amount is zero", - "FEE_REQUIRED": "Fee is required", - "FEE_MINIMUM": "Minimum fee: {{fee}}", - "MAX_LENGTH": "Maximum comment length reached" - } - }, - "HISTORY": { - "STATUS": "Status", - "STATUS_TOOLTIP": "Confirmations {{current}}/{{total}}", - "LOCK_TOOLTIP": "Locked till {{date}}", - "SEND": "Sent", - "RECEIVED": "Received", - "DATE": "Date", - "AMOUNT": "Amount", - "FEE": "Fee", - "ADDRESS": "Address", - "DETAILS": { - "PAYMENT_ID": "Payment ID", - "ID": "Transaction ID", - "SIZE": "Transaction size", - "SIZE_VALUE": "{{value}} bytes", - "HEIGHT": "Height", - "CONFIRMATION": "Confirmation", - "INPUTS": "Inputs", - "OUTPUTS": "Outputs", - "COMMENT": "Comment" - }, - "TYPE_MESSAGES": { - "HIDDEN": "hidden", - "UNDEFINED": "Undefined", - "COMPLETE_BUYER": "Contract completed", - "COMPLETE_SELLER": "Contract completed", - "CREATE_ALIAS": "Fee for assigning alias", - "UPDATE_ALIAS": "Fee for editing alias", - "POW_REWARD": "POW reward", - "POS_REWARD": "POS reward", - "CREATE_CONTRACT": "Contract proposal", - "PLEDGE_CONTRACT": "Contract deposit", - "NULLIFY_CONTRACT": "Burn deposits", - "PROPOSAL_CANCEL_CONTRACT": "Cancellation request", - "CANCEL_CONTRACT": "Cancel and return deposits" - } - }, - "CONTRACTS": { - "EMPTY": "No active contracts", - "CONTRACTS": "Contracts", - "PURCHASE": "Purchase", - "SELL": "Sell", - "DATE": "Date", - "AMOUNT": "Amount", - "STATUS": "Status", - "COMMENTS": "Comments", - "PURCHASE_BUTTON": "New Purchase", - "LISTING_BUTTON": "Create listing", - "TIME_LEFT": { - "REMAINING_LESS_ONE": "Less than an hour to respond", - "REMAINING_ONE": "{{time}} hour remains", - "REMAINING_MANY": "{{time}} hours remain", - "REMAINING_MANY_ALT": "{{time}} hours remain", - "REMAINING_ONE_RESPONSE": "{{time}} hour remains", - "REMAINING_MANY_RESPONSE": "{{time}} hours remain", - "REMAINING_MANY_ALT_RESPONSE": "{{time}} hours remain", - "REMAINING_ONE_WAITING": "Waiting for {{time}} hour", - "REMAINING_MANY_WAITING": "Waiting for {{time}} hours", - "REMAINING_MANY_ALT_WAITING": "Waiting for {{time}} hours" - }, - "STATUS_MESSAGES": { - "SELLER": { - "NEW_CONTRACT": "New contract proposal", - "IGNORED": "You ignored contract proposal", - "ACCEPTED": "Contract started", - "WAIT": "Waiting for contract confirmation", - "WAITING_BUYER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "PROPOSAL_CANCEL": "New proposal to cancel contract and return deposits", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "You ignored cancellation proposal", - "EXPIRED": "Contract proposal has expired" - }, - "BUYER": { - "WAITING": "Waiting for response", - "IGNORED": "Seller ignored your contract proposal", - "ACCEPTED": "Seller accepted your contract proposal", - "WAIT": "Waiting for deposits confirmation", - "WAITING_SELLER": "Waiting for delivery", - "COMPLETED": "Contract completed", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned", - "WAITING_CANCEL": "Waiting for contract cancellation", - "BEING_CANCELLED": "Cancellation in progress", - "CANCELLED": "Contract canceled", - "IGNORED_CANCEL": "The seller ignored your proposal to cancel the contract", - "EXPIRED": "The contract proposal has expired" - } - } - }, - "PURCHASE": { - "DESCRIPTION": "Description", - "SELLER": "Seller", - "AMOUNT": "Amount", - "YOUR_DEPOSIT": "Your deposit", - "SELLER_DEPOSIT": "Seller deposit", - "BUYER_DEPOSIT": "Buyer deposit", - "SAME_AMOUNT": "Same amount", - "COMMENT": "Comment", - "DETAILS": "Additional details", - "SEND_BUTTON": "Send", - "FORM_ERRORS": { - "DESC_REQUIRED": "Description required", - "DESC_MAXIMUM": "Maximum field length reached", - "SELLER_REQUIRED": "Address required", - "SELLER_NOT_VALID": "Invalid address", - "ALIAS_NOT_VALID": "Invalid alias", - "AMOUNT_REQUIRED": "Amount required", - "AMOUNT_ZERO": "Amount cannot be zero", - "YOUR_DEPOSIT_REQUIRED": "Deposit required", - "SELLER_DEPOSIT_REQUIRED": "Seller deposit required", - "SELLER_SAME": "Use separate account", - "COMMENT_MAXIMUM": "Maximum field length reached" - }, - "PROGRESS_NEW": "New purchase", - "PROGRESS_WAIT": "Awaiting reply", - "PROGRESS_RECEIVE": "Reply received", - "PROGRESS_COMPLETE": "Completed", - "FEE": "Fee", - "PAYMENT": "Payment ID", - "STATUS_MESSAGES": { - "NEW_PURCHASE": "New purchase", - "WAITING_SELLER": "Waiting for response", - "WAITING_BUYER": "Contract proposal received", - "WAITING_CONFIRMATION": "Waiting for deposits confirmation", - "WAITING_DELIVERY": "Waiting for delivery", - "COMPLETED": "Contract completed", - "IGNORED_BUYER": "Contract proposal ignored", - "IGNORED_SELLER": "The seller ignored your contract proposal", - "PROPOSAL_CANCEL_SELLER": "Cancellation request sent", - "PROPOSAL_CANCEL_BUYER": "Cancellation request received", - "BEING_CANCELLED": "Cancellation in progress", - "IGNORED_CANCEL_SELLER": "The seller ignored your proposal to cancel the contract", - "IGNORED_CANCEL_BUYER": "Contract cancellation proposal ignored", - "CANCELLED": "Contract canceled", - "EXPIRED": "Contract proposal expired", - "NOT_RECEIVED": "Delivery failed", - "NULLIFIED": "All deposits burned" - }, - "ACCEPT_STATE_WAIT_BIG": "Contract started", - "IGNORED_ACCEPT": "Contract proposal ignored", - "BURN_PROPOSAL": "Deposits burned", - "SUCCESS_FINISH_PROPOSAL": "Contract completed", - "SEND_CANCEL_PROPOSAL": "Cancellation request sent", - "IGNORED_CANCEL": "Contract cancellation proposal ignored", - "DEALS_CANCELED_WAIT": "Cancellation in progress", - "WAITING_TIME": "Response time", - "NEED_MONEY": "Insufficient funds", - "BUTTON_MAKE_PLEDGE": "Accept and make deposit", - "BUTTON_IGNORE": "Ignore and hide offer", - "BUTTON_NULLIFY": "Terminate and burn deposits", - "BUTTON_RECEIVED": "Complete and release deposits", - "BUTTON_CANCEL_BUYER": "Cancel and return deposits", - "BUTTON_NOT_CANCEL": "Ignore request", - "BUTTON_CANCEL_SELLER": "Confirm and return deposits", - "HOUR": "hour", - "HOURS": "hours", - "CANCEL": "Cancel", - "NULLIFY_QUESTION": "Are you sure you want to burn both deposits?", - "BUTTON_NULLIFY_SHORT": "Burn", - "WAITING_TIME_QUESTION": "Are you sure you want to cancel the contract?" - }, - "MESSAGES": { - "ADDRESS": "Address", - "MESSAGE": "Message", - "SEND_PLACEHOLDER": "Type a message...", - "SEND_BUTTON": "Send" - }, - "MODALS": { - "ERROR": "Error", - "SUCCESS": "Success", - "INFO": "Information", - "OK": "OK" - }, - "CONFIRM": { - "BUTTON_CONFIRM": "Send", - "BUTTON_CANCEL": "Cancel", - "TITLE": "Confirm transaction", - "MESSAGE": { - "SEND": "Send", - "FROM": "From", - "TO": "To", - "COMMENT": "Comment" - } - }, - "STAKING": { - "TITLE": "Staking", - "TITLE_PENDING": "Pending", - "TITLE_TOTAL": "Total", - "TITLE_PERIOD": "Time period:", - "PERIOD": { - "WEEK1": "1 week", - "WEEK2": "2 week", - "MONTH1": "1 month", - "MONTH3": "3 month", - "MONTH6": "6 month", - "YEAR": "1 year", - "ALL": "All" - }, - "TITLE_GROUP": "Group:", - "GROUP": { - "DAY": "day", - "WEEK": "week", - "MONTH": "month" - }, - "SWITCH": { - "ON": "ON", - "OFF": "OFF" - } - }, - "CONTACTS": { - "TITLE": "Contact list", - "IMPORT_EXPORT": "Import or export contacts", - "IMPORT": "Import", - "EXPORT": "Export", - "ADD": "Add/edit contact", - "SEND": "Send", - "SEND_FROM": "Send from", - "SEND_TO": "To", - "OPEN_ADD_WALLET": "Open/Add wallet", - "COPY": "- Copy", - "TABLE": { - "NAME": "Name", - "ALIAS": "Alias", - "ADDRESS": "Address", - "NOTES": "Notes", - "EMPTY": "Contact list is empty" - }, - "FORM": { - "NAME": "Name", - "ADDRESS": "Address", - "NOTES": "Notes" - }, - "FORM_ERRORS": { - "NAME_REQUIRED": "Name is required", - "NAME_DUBLICATED": "Name is dublicated", - "ADDRESS_REQUIRED": "Address is required", - "ADDRESS_NOT_VALID": "Address not valid", - "SET_MASTER_PASSWORD": "Set master password", - "ADDRESS_DUBLICATED": "Address is dublicated", - "MAX_LENGTH": "Maximum notes length reached", - "NAME_LENGTH": "The name must be 4-25 characters long" - }, - "BUTTON": { - "SEND": "Send", - "EDIT": "Edit", - "DELETE": "Delete", - "ADD": "Add contact", - "ADD_EDIT": "Add/Save", - "GO_TO_WALLET": "Go to wallet", - "IMPORT_EXPORT": "Import/export" - }, - "SUCCESS_SENT": "Contact added", - "SUCCESS_SAVE": "Contact is edited", - "SUCCESS_IMPORT": "Contacts are imported", - "SUCCESS_EXPORT": "Contacts are exported", - "ERROR_IMPORT": "Error is occured while reading file!", - "ERROR_TYPE_FILE": "Please import valid .csv file", - "ERROR_EXPORT": "Invalid file type. Save file as .csv", - "ERROR_EMPTY_LIST": "Contact list is empty", - "ERROR_IMPORT_EMPTY": "File is empty" - }, - "ERRORS": { - "NO_MONEY": "Not enough money", - "NOT_ENOUGH_MONEY": "Insufficient funds in account", - "CORE_BUSY": "Internal error: core is busy", - "DAEMON_BUSY": "Internal error: daemon is busy", - "NO_MONEY_REMOVE_OFFER": "There is no fee for deleting an offer, but in order to protect the network against flood transactions you need to have at least {{fee}} {{currency}} in your wallet", - "NOT_ENOUGH_OUTPUTS_TO_MIX": "Mix-in number is too big for current blockchain state. There are not enough unspent outputs to mix with", - "TRANSACTION_IS_TO_BIG": "Transaction exceeds network limit, send required amount with multiple transactions", - "TRANSFER_ATTEMPT": "There is no connection to Zano network", - "ACCESS_DENIED": "Access denied", - "TRANSACTION_ERROR": "Error. Transaction not completed.", - "BAD_ARG": "Invalid argument", - "WALLET_WRONG_ID": "Invalid wallet ID", - "WRONG_PASSWORD": "Invalid password", - "FILE_RESTORED": "The wallet file was corrupted. We have recovered the keys and the wallet from the blockchain", - "FILE_NOT_FOUND": "File not found", - "FILE_EXIST": "A file with that name already exists. Enter another name to save the file under", - "FILE_NOT_SAVED": "You cannot save a wallet file in this folder. Please choose another folder.", - "TX_TYPE_NORMAL": "Error. The payment from the wallet", - "TX_TYPE_NORMAL_TO": "to", - "TX_TYPE_NORMAL_END": "was not completed.", - "TX_TYPE_NEW_ALIAS": "Error. Failed to register alias to safe", - "TX_TYPE_NEW_ALIAS_END": "Please try again.", - "TX_TYPE_UPDATE_ALIAS": "Error. Failed to change comment to alias in safe", - "TX_TYPE_COIN_BASE": "Error. The payment was not completed." - }, - "CONTEXT_MENU": { - "COPY": "copy", - "PASTE": "paste", - "SELECT": "select all" - }, - "BACKEND_LOCALIZATION": { - "QUIT": "Quit", - "IS_RECEIVED": "", - "IS_CONFIRMED": "", - "INCOME_TRANSFER_UNCONFIRMED": "Incoming payment (not confirmed)", - "INCOME_TRANSFER_CONFIRMED": "Payment received", - "MINED": "Mined", - "LOCKED": "Blocked", - "IS_MINIMIZE": "Zano application is minimized to the system tray", - "RESTORE": "You can recover it by clicking or using the context menu", - "TRAY_MENU_SHOW": "Resize", - "TRAY_MENU_MINIMIZE": "Minimize" - } -} diff --git a/src/gui/qt-daemon/html/assets/icons/account.svg b/src/gui/qt-daemon/html/assets/icons/account.svg deleted file mode 100644 index b7b746fa..00000000 --- a/src/gui/qt-daemon/html/assets/icons/account.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/addnew.svg b/src/gui/qt-daemon/html/assets/icons/addnew.svg deleted file mode 100644 index 89bc1ca5..00000000 --- a/src/gui/qt-daemon/html/assets/icons/addnew.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/alert.svg b/src/gui/qt-daemon/html/assets/icons/alert.svg deleted file mode 100644 index b549fd95..00000000 --- a/src/gui/qt-daemon/html/assets/icons/alert.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/arrow-down.svg b/src/gui/qt-daemon/html/assets/icons/arrow-down.svg deleted file mode 100644 index d24a3aeb..00000000 --- a/src/gui/qt-daemon/html/assets/icons/arrow-down.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/arrow-right.svg b/src/gui/qt-daemon/html/assets/icons/arrow-right.svg deleted file mode 100644 index bd4269b3..00000000 --- a/src/gui/qt-daemon/html/assets/icons/arrow-right.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/arrow-up.svg b/src/gui/qt-daemon/html/assets/icons/arrow-up.svg deleted file mode 100644 index f6515fdd..00000000 --- a/src/gui/qt-daemon/html/assets/icons/arrow-up.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/back.svg b/src/gui/qt-daemon/html/assets/icons/back.svg deleted file mode 100644 index 0b00a610..00000000 --- a/src/gui/qt-daemon/html/assets/icons/back.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/close-wallet-blue.svg b/src/gui/qt-daemon/html/assets/icons/close-wallet-blue.svg deleted file mode 100644 index 080f7521..00000000 --- a/src/gui/qt-daemon/html/assets/icons/close-wallet-blue.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/close-wallet.svg b/src/gui/qt-daemon/html/assets/icons/close-wallet.svg deleted file mode 100644 index 8a9ba99e..00000000 --- a/src/gui/qt-daemon/html/assets/icons/close-wallet.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/close.svg b/src/gui/qt-daemon/html/assets/icons/close.svg deleted file mode 100644 index d39bed6d..00000000 --- a/src/gui/qt-daemon/html/assets/icons/close.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/complete-testwallet.svg b/src/gui/qt-daemon/html/assets/icons/complete-testwallet.svg deleted file mode 100644 index b5d04868..00000000 --- a/src/gui/qt-daemon/html/assets/icons/complete-testwallet.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/contacts.svg b/src/gui/qt-daemon/html/assets/icons/contacts.svg deleted file mode 100644 index e05516ae..00000000 --- a/src/gui/qt-daemon/html/assets/icons/contacts.svg +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/contracts.svg b/src/gui/qt-daemon/html/assets/icons/contracts.svg deleted file mode 100644 index aa985ac7..00000000 --- a/src/gui/qt-daemon/html/assets/icons/contracts.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/copy.svg b/src/gui/qt-daemon/html/assets/icons/copy.svg deleted file mode 100644 index 4ec2ff7d..00000000 --- a/src/gui/qt-daemon/html/assets/icons/copy.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/delete.svg b/src/gui/qt-daemon/html/assets/icons/delete.svg deleted file mode 100644 index a057a1dc..00000000 --- a/src/gui/qt-daemon/html/assets/icons/delete.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/details-settings.svg b/src/gui/qt-daemon/html/assets/icons/details-settings.svg deleted file mode 100644 index 11803ccf..00000000 --- a/src/gui/qt-daemon/html/assets/icons/details-settings.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/details.svg b/src/gui/qt-daemon/html/assets/icons/details.svg deleted file mode 100644 index eb12cde2..00000000 --- a/src/gui/qt-daemon/html/assets/icons/details.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/edit.svg b/src/gui/qt-daemon/html/assets/icons/edit.svg deleted file mode 100644 index eb12cde2..00000000 --- a/src/gui/qt-daemon/html/assets/icons/edit.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/history.svg b/src/gui/qt-daemon/html/assets/icons/history.svg deleted file mode 100644 index c9945561..00000000 --- a/src/gui/qt-daemon/html/assets/icons/history.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/howto.svg b/src/gui/qt-daemon/html/assets/icons/howto.svg deleted file mode 100644 index 92362f78..00000000 --- a/src/gui/qt-daemon/html/assets/icons/howto.svg +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/icons.json b/src/gui/qt-daemon/html/assets/icons/icons.json deleted file mode 100644 index 1ec5de9c..00000000 --- a/src/gui/qt-daemon/html/assets/icons/icons.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "logo": "", - "contacts": "", - "settings": "", - "exit": "", - "history": "", - "send": "", - "receive": "", - "contracts": "", - "messages": "", - "staking": "" -} diff --git a/src/gui/qt-daemon/html/assets/icons/import-export.svg b/src/gui/qt-daemon/html/assets/icons/import-export.svg deleted file mode 100644 index 48fd7073..00000000 --- a/src/gui/qt-daemon/html/assets/icons/import-export.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/info.svg b/src/gui/qt-daemon/html/assets/icons/info.svg deleted file mode 100644 index 083cdf38..00000000 --- a/src/gui/qt-daemon/html/assets/icons/info.svg +++ /dev/null @@ -1 +0,0 @@ -info \ No newline at end of file diff --git a/src/gui/qt-daemon/html/assets/icons/lock-transaction.svg b/src/gui/qt-daemon/html/assets/icons/lock-transaction.svg deleted file mode 100644 index 49a2e523..00000000 --- a/src/gui/qt-daemon/html/assets/icons/lock-transaction.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/lock.svg b/src/gui/qt-daemon/html/assets/icons/lock.svg deleted file mode 100644 index 021aae19..00000000 --- a/src/gui/qt-daemon/html/assets/icons/lock.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/logo.svg b/src/gui/qt-daemon/html/assets/icons/logo.svg deleted file mode 100644 index f99a43f5..00000000 --- a/src/gui/qt-daemon/html/assets/icons/logo.svg +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/logout.svg b/src/gui/qt-daemon/html/assets/icons/logout.svg deleted file mode 100644 index b2f23e62..00000000 --- a/src/gui/qt-daemon/html/assets/icons/logout.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - - exit - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/message.svg b/src/gui/qt-daemon/html/assets/icons/message.svg deleted file mode 100644 index 544888cc..00000000 --- a/src/gui/qt-daemon/html/assets/icons/message.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/modal-alert.svg b/src/gui/qt-daemon/html/assets/icons/modal-alert.svg deleted file mode 100644 index bb5c7d02..00000000 --- a/src/gui/qt-daemon/html/assets/icons/modal-alert.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/modal-info.svg b/src/gui/qt-daemon/html/assets/icons/modal-info.svg deleted file mode 100644 index 0119fcc7..00000000 --- a/src/gui/qt-daemon/html/assets/icons/modal-info.svg +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/modal-success.svg b/src/gui/qt-daemon/html/assets/icons/modal-success.svg deleted file mode 100644 index 60ad5a5d..00000000 --- a/src/gui/qt-daemon/html/assets/icons/modal-success.svg +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/new.svg b/src/gui/qt-daemon/html/assets/icons/new.svg deleted file mode 100644 index 89622385..00000000 --- a/src/gui/qt-daemon/html/assets/icons/new.svg +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/not-allowed.svg b/src/gui/qt-daemon/html/assets/icons/not-allowed.svg deleted file mode 100644 index 4fdfa78e..00000000 --- a/src/gui/qt-daemon/html/assets/icons/not-allowed.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/purchase.svg b/src/gui/qt-daemon/html/assets/icons/purchase.svg deleted file mode 100644 index 46e904fc..00000000 --- a/src/gui/qt-daemon/html/assets/icons/purchase.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/receive-green.svg b/src/gui/qt-daemon/html/assets/icons/receive-green.svg deleted file mode 100644 index 1db438b2..00000000 --- a/src/gui/qt-daemon/html/assets/icons/receive-green.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/receive.svg b/src/gui/qt-daemon/html/assets/icons/receive.svg deleted file mode 100644 index fd7e85a9..00000000 --- a/src/gui/qt-daemon/html/assets/icons/receive.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/safety.svg b/src/gui/qt-daemon/html/assets/icons/safety.svg deleted file mode 100644 index f313f3af..00000000 --- a/src/gui/qt-daemon/html/assets/icons/safety.svg +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/secured.svg b/src/gui/qt-daemon/html/assets/icons/secured.svg deleted file mode 100644 index dc1d801c..00000000 --- a/src/gui/qt-daemon/html/assets/icons/secured.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/sell.svg b/src/gui/qt-daemon/html/assets/icons/sell.svg deleted file mode 100644 index f28f0a20..00000000 --- a/src/gui/qt-daemon/html/assets/icons/sell.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/send-red.svg b/src/gui/qt-daemon/html/assets/icons/send-red.svg deleted file mode 100644 index d96d08f4..00000000 --- a/src/gui/qt-daemon/html/assets/icons/send-red.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/send.svg b/src/gui/qt-daemon/html/assets/icons/send.svg deleted file mode 100644 index 0c7e6136..00000000 --- a/src/gui/qt-daemon/html/assets/icons/send.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/settings.svg b/src/gui/qt-daemon/html/assets/icons/settings.svg deleted file mode 100644 index ce87d8bc..00000000 --- a/src/gui/qt-daemon/html/assets/icons/settings.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - - settings - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/staking.svg b/src/gui/qt-daemon/html/assets/icons/staking.svg deleted file mode 100644 index 2f4337f6..00000000 --- a/src/gui/qt-daemon/html/assets/icons/staking.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/time.svg b/src/gui/qt-daemon/html/assets/icons/time.svg deleted file mode 100644 index 1e3108eb..00000000 --- a/src/gui/qt-daemon/html/assets/icons/time.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/unlock-transaction.svg b/src/gui/qt-daemon/html/assets/icons/unlock-transaction.svg deleted file mode 100644 index bbbc27ad..00000000 --- a/src/gui/qt-daemon/html/assets/icons/unlock-transaction.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/unsecured.svg b/src/gui/qt-daemon/html/assets/icons/unsecured.svg deleted file mode 100644 index 1b9b18d7..00000000 --- a/src/gui/qt-daemon/html/assets/icons/unsecured.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/update-alert.svg b/src/gui/qt-daemon/html/assets/icons/update-alert.svg deleted file mode 100644 index 22fa01c7..00000000 --- a/src/gui/qt-daemon/html/assets/icons/update-alert.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/assets/icons/update.svg b/src/gui/qt-daemon/html/assets/icons/update.svg deleted file mode 100644 index c612c84e..00000000 --- a/src/gui/qt-daemon/html/assets/icons/update.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/src/gui/qt-daemon/html/assets/images/Loading.png b/src/gui/qt-daemon/html/assets/images/Loading.png deleted file mode 100644 index 694d23306fbcf5cb6b3ebe2ddcaf4f4f09adf8ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3245 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 diff --git a/src/gui/qt-daemon/html/assets/images/background-dark.png b/src/gui/qt-daemon/html/assets/images/background-dark.png deleted file mode 100644 index 83290ff91cdaa0ef468e11343ebf631083cd4e0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34583 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

      Iz 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�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 Y0ctXS;%ku-I{*Lx07*qoM6N<$g8B^n5&!@I diff --git a/src/gui/qt-daemon/html/assets/images/qr-code.png b/src/gui/qt-daemon/html/assets/images/qr-code.png deleted file mode 100644 index 4827e3296ee47da0a24422f31987051796c7eaf3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5337 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 airTyM9P6$Z!3!)|lIds|Krw2zk^cj>LtSV9 diff --git a/src/gui/qt-daemon/html/assets/scss/base/_base.scss b/src/gui/qt-daemon/html/assets/scss/base/_base.scss deleted file mode 100644 index 7bbd92aa..00000000 --- a/src/gui/qt-daemon/html/assets/scss/base/_base.scss +++ /dev/null @@ -1,1045 +0,0 @@ -.app-content { - - .preloader { - - .loading-bar { - - @include themify($themes) { - background-color: themed(progressBarFullBackgroundColor); - } - } - } -} - -button { - border: none; - font-family: OpenSans, sans-serif; - font-size: 1.5rem; - font-weight: 600; - outline: none; - padding: 0 1rem; - height: 4.2rem; - - &:disabled:not(.transparent-button), - &.blue-button_reset{ - - @include themify($themes) { - background-color: themed(disabledButtonBackgroundColor); - color: themed(alternativeTextColor); - } - - &:hover { - - @include themify($themes) { - background-color: themed(disabledButtonHoverColor); - } - } - - &:focus { - - @include themify($themes) { - background-color: themed(disabledButtonFocusColor); - } - } - } - - &.blue-button:not(:disabled) { - - @include themify($themes) { - background-color: themed(blueButtonBackgroundColor); - color: themed(alternativeTextColor); - } - - &:hover { - - @include themify($themes) { - background-color: themed(blueButtonHoverColor); - } - } - - &:focus { - - @include themify($themes) { - background-color: themed(blueButtonFocusColor); - } - } - } - - &.green-button:not(:disabled) { - - @include themify($themes) { - background-color: themed(greenButtonBackgroundColor); - color: themed(alternativeTextColor); - } - - &:hover { - - @include themify($themes) { - background-color: themed(greenButtonHoverColor); - } - } - - &:focus { - - @include themify($themes) { - background-color: themed(greenButtonFocusColor); - } - } - } - - &.turquoise-button:not(:disabled) { - - @include themify($themes) { - background-color: themed(turquoiseButtonBackgroundColor); - color: themed(alternativeTextColor); - } - - &:hover { - - @include themify($themes) { - background-color: themed(turquoiseButtonHoverColor); - } - } - - &:focus { - - @include themify($themes) { - background-color: themed(turquoiseButtonFocusColor); - } - } - } - - &.transparent-button { - display: flex; - align-items: center; - justify-content: center; - - @include themify($themes) { - background-color: transparent; - border: 0.2rem solid themed(transparentButtonBorderColor); - color: themed(mainTextColor); - } - - .icon { - - @include themify($themes) { - background-color: themed(mainTextColor); - } - - margin-right: 1rem; - mask: url(~src/assets/icons/complete-testwallet.svg) no-repeat center; - width: 1.7rem; - height: 1.7rem; - } - } - -} - -.input-block { - display: flex; - flex-direction: column; - align-items: flex-start; - margin-bottom: 0.4rem; - - .wrap-label { - display: flex; - align-items: center; - justify-content: flex-start; - min-height: 2.4rem; - } - - label { - font-size: 1.3rem; - line-height: 2.4rem; - - @include themify($themes) { - color: themed(optionalTextColor); - } - } - - input[type='text'], input[type='password'], select { - border: none; - font-size: 1.4rem; - outline: none; - padding: 0 1rem; - width: 100%; - height: 4.2rem; - - @include themify($themes) { - background-color: themed(inputBackgroundColor); - color: themed(mainTextColor); - } - } - - &.textarea { - height: auto; - - textarea { - font-family: OpenSans, sans-serif; - border: none; - font-size: 1.4rem; - outline: none; - padding: 1rem; - width: 100%; - min-width: 100%; - height: 100%; - min-height: 7.5rem; - max-height: 7.5rem; - overflow: auto; - resize: none; - - @include themify($themes) { - background-color: themed(inputBackgroundColor); - color: themed(mainTextColor); - } - } - } - - .error-block { - font-size: 1rem; - line-height: 1.4rem; - align-self: flex-end; - text-align: right; - - @include themify($themes) { - color: themed(redTextColor); - } - } - .success-block { - font-size: 1rem; - line-height: 1.4rem; - align-self: flex-end; - text-align: right; - - @include themify($themes) { - color: themed(greenTextColor); - } - } -} - -.error-text { - @include themify($themes) { - color: themed(redTextColor); - } -} - -input[type='radio'].style-radio { - - & + label { - display: flex; - align-items: center; - cursor: pointer; - font-weight: 400; - padding-left: 2.4rem; - - @include themify($themes) { - color: themed(optionalTextColor); - } - - @include unSelect; - } - - &:not(checked) { - position: absolute; - opacity: 0; - - & + label { - position: relative; - } - - & + label:before { - content: ''; - position: absolute; - top: 0.7rem; - left: 0; - background: transparent; - border-radius: 50%; - width: 1.4rem; - height: 1.4rem; - - @include themify($themes) { - border: 0.1rem solid themed(blueTextColor); - } - } - - & + label:after { - content: ''; - position: absolute; - top: 1rem; - left: 0.3rem; - border-radius: 50%; - opacity: 0; - width: 0.8rem; - height: 0.8rem; - - @include themify($themes) { - background-color: themed(blueTextColor); - } - } - } - - &:checked { - - & + label:after { - opacity: 1; - } - } -} - -input[type='checkbox'].style-checkbox { - - & + label { - display: flex; - align-items: center; - cursor: pointer; - font-weight: 400; - padding-left: 3.6rem; - - @include themify($themes) { - color: themed(optionalTextColor); - } - - @include unSelect; - } - - &:not(checked) { - position: absolute; - top: 50%; - left: 1.6rem; - transform: translateY(-50%); - visibility: hidden; - - & + label { - position: relative; - } - - & + label:before { - content: ''; - position: absolute; - top: 50%; - left: 1.6rem; - transform: translateY(-50%); - background: transparent; - width: 1.4rem; - height: 1.4rem; - - @include themify($themes) { - border: 0.1rem solid themed(blueTextColor); - } - } - } - - &:checked { - - & + label:before { - background: url(~src/assets/icons/complete-testwallet.svg); - - @include themify($themes) { - background-color: themed(blueTextColor); - } - } - } -} - -.switch { - - @include themify($themes) { - background-color: themed(switchBackgroundColor); - } - - .circle { - - &.on { - - @include themify($themes) { - background-color: themed(blueTextColor); - } - } - - &.off { - - @include themify($themes) { - background-color: themed(optionalTextColor); - } - } - } -} - -.table-tooltip { - padding: 1rem 2rem; - - @include themify($themes) { - background: themed(tooltipBackgroundColor); - box-shadow: themed(tooltipShadow); - color: themed(mainTextColor); - } - - .tooltip-inner { - font-size: 1.3rem; - line-height: 1.8rem; - white-space: pre-wrap; - } - - &.ng-tooltip-top { - margin-top: -1rem; - - &:after { - content: ""; - position: absolute; - bottom: -1rem; - left: calc(50% - 0.5rem); - border-width: 0.5rem; - border-style: solid; - - @include themify($themes) { - border-color: themed(tooltipBackgroundColor) transparent transparent transparent; - } - } - } - - &.ng-tooltip-top-left { - margin-top: -1rem; - - &:after { - content: ""; - position: absolute; - bottom: -1rem; - left: 0.7rem; - border-width: 0.5rem; - border-style: solid; - - @include themify($themes) { - border-color: themed(tooltipBackgroundColor) transparent transparent themed(tooltipBackgroundColor); - } - } - } - - &.ng-tooltip-top-right { - margin-top: -1rem; - - &:after { - content: ""; - position: absolute; - bottom: -1rem; - right: 0.7rem; - border-width: 0.5rem; - border-style: solid; - - @include themify($themes) { - border-color: themed(tooltipBackgroundColor) themed(tooltipBackgroundColor) transparent transparent; - } - } - } - - &.ng-tooltip-bottom { - margin-top: 1rem; - - &:before { - content: ""; - position: absolute; - top: -1rem; - left: calc(50% - 0.5rem); - border-width: 0.5rem; - border-style: solid; - - @include themify($themes) { - border-color: transparent transparent themed(tooltipBackgroundColor) transparent; - } - } - } - - &.ng-tooltip-bottom-left { - margin-top: 1rem; - - &:before { - content: ""; - position: absolute; - top: -1rem; - left: 0.7rem; - border-width: 0.5rem; - border-style: solid; - - @include themify($themes) { - border-color: transparent transparent themed(tooltipBackgroundColor) themed(tooltipBackgroundColor); - } - } - } - - &.ng-tooltip-bottom-right { - margin-top: 1rem; - - &:before { - content: ""; - position: absolute; - top: -1rem; - right: 0.7rem; - border-width: 0.5rem; - border-style: solid; - - @include themify($themes) { - border-color: transparent themed(tooltipBackgroundColor) themed(tooltipBackgroundColor) transparent; - } - } - } - - &.ng-tooltip-left { - margin-left: -1rem; - - &:after { - content: ""; - position: absolute; - top: calc(50% - 0.5rem); - right: -1rem; - border-width: 0.5rem; - border-style: solid; - - @include themify($themes) { - border-color: transparent transparent transparent themed(tooltipBackgroundColor); - } - } - } - - &.ng-tooltip-right { - margin-left: 1rem; - - &:before { - content: ""; - position: absolute; - top: calc(50% - 0.5rem); - left: -1rem; - border-width: 0.5rem; - border-style: solid; - - @include themify($themes) { - border-color: transparent themed(tooltipBackgroundColor) transparent transparent; - } - } - } -} - -.table-tooltip-dimensions { - - .tooltip-inner { - overflow: auto; - max-width: 20rem; - max-height: 10rem; - } -} - -.balance-tooltip { - padding: 1.3rem; - - @include themify($themes) { - background: themed(tooltipBackgroundColor); - box-shadow: themed(tooltipShadow); - color: themed(mainTextColor); - } - - .tooltip-inner { - display: flex; - flex-direction: column; - font-size: 1.3rem; - - .available { - margin-bottom: 1.7rem; - - b { - font-weight: 600; - } - } - - .locked { - margin-bottom: 0.7rem; - - b { - font-weight: 600; - } - } - - .link { - cursor: pointer; - - @include themify($themes) { - color: themed(blueTextColor); - } - } - } - - &.ng-tooltip-top { - margin-top: -1rem; - } - - &.ng-tooltip-bottom { - margin-top: 1rem; - } - - &.ng-tooltip-left { - margin-left: -1rem; - } - - &.ng-tooltip-right { - margin-left: 1rem; - } -} - -.account-tooltip { - - .tooltip-inner { - word-break: break-word; - max-width: 18rem; - } -} - -.comment-tooltip { - - .tooltip-inner { - overflow: auto; - word-break: break-word; - max-width: 50rem; - max-height: 25rem; - } -} - -.update-tooltip { - padding: 1.5rem; - - @include themify($themes) { - background: themed(tooltipBackgroundColor); - box-shadow: themed(tooltipShadow); - color: themed(mainTextColor); - } - - &.important { - - @include themify($themes) { - background: themed(tooltipImportantBackgroundColor); - color: themed(accountMainTextColor); - } - - &.ng-tooltip-left-bottom { - - &:after { - - @include themify($themes) { - border-color: transparent transparent themed(tooltipImportantBackgroundColor) themed(tooltipImportantBackgroundColor); - } - } - } - - &.ng-tooltip-right-bottom { - - &:before { - - @include themify($themes) { - border-color: transparent themed(tooltipImportantBackgroundColor) themed(tooltipImportantBackgroundColor) transparent; - } - } - } - } - - &.critical { - padding: 2.5rem; - - @include themify($themes) { - background: themed(tooltipCriticalBackgroundColor); - color: themed(accountMainTextColor); - } - - .tooltip-inner { - display: flex; - flex-direction: column; - align-items: center; - } - - &.ng-tooltip-left-bottom { - - &:after { - - @include themify($themes) { - border-color: transparent transparent themed(tooltipCriticalBackgroundColor) themed(tooltipCriticalBackgroundColor); - } - } - } - - &.ng-tooltip-right-bottom { - - &:before { - - @include themify($themes) { - border-color: transparent themed(tooltipCriticalBackgroundColor) themed(tooltipCriticalBackgroundColor) transparent; - } - } - } - } - - .tooltip-inner { - font-size: 1.3rem; - line-height: 1.8rem; - white-space: pre-wrap; - - .standard-update { - font-size: 1.5rem; - line-height: 2.7rem; - - @include themify($themes) { - color: themed(blueTextColor); - } - } - - .important-update { - font-size: 1.5rem; - line-height: 2.7rem; - - @include themify($themes) { - color: themed(tooltipImportantTextColor); - } - } - - .critical-update { - font-size: 1.5rem; - line-height: 2.7rem; - text-align: center; - } - - .wrong-time { - font-size: 1.5rem; - line-height: 2.7rem; - - @include themify($themes) { - color: themed(tooltipImportantTextColor); - } - } - - .icon { - margin: 1.5rem 0; - width: 5rem; - height: 5rem; - - @include themify($themes) { - background-color: themed(tooltipCriticalTextColor); - } - } - } - - &.ng-tooltip-left-bottom { - margin-left: -1.5rem; - - &:after { - content: ""; - position: absolute; - bottom: 0.6rem; - right: -1rem; - border-width: 0.5rem; - border-style: solid; - - @include themify($themes) { - border-color: transparent transparent themed(tooltipBackgroundColor) themed(tooltipBackgroundColor); - } - } - } - - &.ng-tooltip-right-bottom { - margin-left: 1.5rem; - - &:before { - content: ""; - position: absolute; - bottom: 0.6rem; - left: -1rem; - border-width: 0.5rem; - border-style: solid; - - @include themify($themes) { - border-color: transparent themed(tooltipBackgroundColor) themed(tooltipBackgroundColor) transparent; - } - } - } -} - -.ngx-contextmenu { - - .dropdown-menu { - border: none; - padding: 0; - - @include themify($themes) { - background-color: themed(chartOptionsBackgroundColor); - box-shadow: themed(tooltipShadow); - } - } - - li { - display: block; - font-family: OpenSans, sans-serif; - font-size: 1.3rem; - text-transform: uppercase; - text-align: center; - } - - a { - display: block; - padding: 0.5em 1em; - - @include themify($themes) { - color: themed(mainTextColor); - } - - &:hover { - - @include themify($themes) { - background-color: themed(chartOptionsHoverColor); - color: themed(mainTextColor); - } - } - } -} - -.ng-select { - - &.custom-select { - width: 100%; - - &.ng-select-single { - .ng-select-container { - .ng-value-container { - .ng-value { - line-height: 1.8rem; - } - } - } - } - - .ng-select-container { - border: none; - border-radius: 0; - cursor: pointer; - font-size: 1.4rem; - outline: none; - padding: 0 1rem; - height: 4.2rem; - - @include themify($themes) { - background-color: themed(inputBackgroundColor); - color: themed(mainTextColor); - } - - .ng-value-container { - padding: 0; - - .ng-input { - top: auto; - } - } - } - - .ng-dropdown-panel { - border: none; - - @include themify($themes) { - background-color: themed(inputBackgroundColor); - } - - .ng-dropdown-panel-items { - - .ng-option { - font-size: 1.4rem; - padding: 1rem; - - @include themify($themes) { - background-color: themed(inputBackgroundColor); - color: themed(mainTextColor); - } - - &.ng-option-marked { - - @include themify($themes) { - background-color: themed(selectHoverColor); - color: themed(mainTextColor); - } - } - - &.ng-option-selected { - - @include themify($themes) { - background-color: themed(selectSelectedColor); - color: themed(mainTextColor); - } - } - } - - &::-webkit-scrollbar { - background-color: transparent; - cursor: default; - width: 1rem; - height: 1rem; - } - - &::-webkit-scrollbar-track { - background: transparent; - } - - &::-webkit-scrollbar-thumb { - background-color: #556576; - background-clip: padding-box; - border: 0.25rem solid transparent; - border-radius: 0.5rem; - } - - &::-webkit-scrollbar-thumb:hover { - background-color: #556576; - } - } - } - } -} - -app-modal-container, app-confirm-modal { - - .modal { - - @include themify($themes) { - background: themed(modalBackground); - color: themed(mainTextColor); - } - - .content { - - .icon.error { - - @include themify($themes) { - background-color: themed(redTextColor); - } - } - - .icon.success { - - @include themify($themes) { - background-color: themed(greenTextColor); - } - } - - .icon.info { - - @include themify($themes) { - background-color: themed(blueTextColor); - } - } - } - - .action-button { - - @include themify($themes) { - background-color: themed(blueTextColor); - color: themed(alternativeTextColor); - } - } - - .close-button { - - .icon { - - @include themify($themes) { - background-color: themed(closeButtonColor); - } - } - } - } -} - -app-transaction-details { - - .table { - - @include themify($themes) { - border-top: 0.2rem solid themed(transparentButtonBorderColor); - } - - .row { - - .cell { - - &.label { - - @include themify($themes) { - color: themed(optionalTextColor); - } - } - - &.value { - - @include themify($themes) { - color: themed(mainTextColor); - } - } - - &.key-value { - - @include themify($themes) { - color: themed(blueTextColor); - } - } - } - } - } -} - -app-progress-container { - - .progress-bar-container { - - @include themify($themes) { - color: themed(mainTextColor); - } - - .progress-bar { - - @include themify($themes) { - background-color: themed(progressBarBackgroundColor); - } - - .progress-bar-full { - - @include themify($themes) { - background-color: themed(progressBarFullBackgroundColor); - } - } - } - } -} - -app-open-wallet-modal { - - .modal { - - @include themify($themes) { - background: themed(modalBackground); - color: themed(mainTextColor); - } - } -} - -app-send-modal { - .modal { - - @include themify($themes) { - background: themed(modalBackground); - color: themed(mainTextColor); - } - - .title { - - @include themify($themes) { - border-bottom: 0.2rem solid themed(transparentButtonBorderColor); - } - - } - - .action-button { - - @include themify($themes) { - background-color: themed(blueTextColor); - color: themed(alternativeTextColor); - } - } - } -} \ No newline at end of file diff --git a/src/gui/qt-daemon/html/assets/scss/base/_mixins.scss b/src/gui/qt-daemon/html/assets/scss/base/_mixins.scss deleted file mode 100644 index 9b355f0f..00000000 --- a/src/gui/qt-daemon/html/assets/scss/base/_mixins.scss +++ /dev/null @@ -1,98 +0,0 @@ -@mixin text-truncate { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} -@mixin textWrap { - white-space: normal; - overflow-wrap: break-word; - word-wrap: break-word; - word-break: break-all; - line-break: strict; - -webkit-hyphens: auto; - -ms-hyphens: auto; - hyphens: auto; -} -@mixin coverBox { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; -} -@mixin abs ($top: auto, $right: auto, $bottom: auto, $left: auto) { - top: $top; - right: $right; - bottom: $bottom; - left: $left; - position: absolute; -} -@mixin coverImg { - background-repeat: no-repeat; - -webkit-background-size: cover; - -o-background-size: cover; - background-size: cover; - background-position: 50% 50%; -} -@mixin valingBox { - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); -} -@mixin unSelect { - -webkit-touch-collout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -@mixin max1199 { // maket 1171 - @media (max-width: 1199px) { @content; } -} -@mixin max1170 { // makets 992 - @media (max-width: 1170px) { @content; } -} -@mixin max991 { // makets 762 - @media (max-width: 991px) { @content; } -} -@mixin max761 { // makets 576 - @media (max-width: 761px) { @content; } -} -@mixin max575 { // makets 400 - @media (max-width: 575px) { @content; } -} -@mixin mobile { - @media (max-width: 399px) { @content; } -} -@mixin icoCenter { - background-repeat: no-repeat; - background-position: center center; -} -@mixin pseudo ($display: block, $pos: absolute, $content: ''){ - content: $content; - display: $display; - position: $pos; -} - -/* -* Implementation of themes -*/ -@mixin themify($themes: $themes) { - @each $theme, $map in $themes { - .theme-#{$theme} & { - $theme-map: () !global; - @each $key, $submap in $map { - $value: map-get(map-get($themes, $theme), '#{$key}'); - $theme-map: map-merge($theme-map, ($key: $value)) !global; - } - @content; - $theme-map: null !global; - } - } -} - -@function themed($key) { - @return map-get($theme-map, $key); -} diff --git a/src/gui/qt-daemon/html/assets/scss/base/_null.scss b/src/gui/qt-daemon/html/assets/scss/base/_null.scss deleted file mode 100644 index 9c476f5d..00000000 --- a/src/gui/qt-daemon/html/assets/scss/base/_null.scss +++ /dev/null @@ -1,128 +0,0 @@ -//* ******* reset & normalize ******* *// - -// box-sizing the same for all elements -html { - box-sizing: border-box; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; -} -*, *:before, *:after { - box-sizing: inherit; - -webkit-box-sizing: inherit; - -moz-box-sizing: inherit; - margin: 0; - padding: 0; - @include unSelect; -} - -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 { - border: 0; - font-size: 100%; - font: inherit; - vertical-align: baseline; -} -article, aside, details, figcaption, figure, -footer, header, hgroup, menu, nav, section { - display: block; -} - -body { - line-height: 1; - font-style: normal; -} -ol, ul { - list-style: none; -} -blockquote, q { - quotes: none; -} -blockquote:before, blockquote:after, -q:before, q:after { - content: none; -} - -//table -table { - border-collapse: collapse; - border-spacing: 0; -} -td, -th { - padding: 0; -} - -//forms element -input { - outline: none; - &:-webkit-autofill { - -webkit-box-shadow: 0 0 0 1000px white inset; - } -} - -button, -html input[type="button"], -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; - cursor: pointer; - outline: none; -} -button[disabled], -html input[disabled] { - cursor: default; -} -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} -input { - line-height: normal; -} -input[type="search"] { - -webkit-appearance: textfield; - box-sizing: content-box; -} -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - - -//link -a { - text-decoration: none; - &:active, - &:hover, - &:focus { - outline: 0; - } -} - -i { font-style: italic; } -b, strong { font-weight: 700; } - -// images -img { - width: auto; - max-width: 100%; - height: auto; - vertical-align: top; - border: 0; -} - -.hidden { - display: none !important; -} diff --git a/src/gui/qt-daemon/html/assets/scss/base/_theme.scss b/src/gui/qt-daemon/html/assets/scss/base/_theme.scss deleted file mode 100644 index e12eca73..00000000 --- a/src/gui/qt-daemon/html/assets/scss/base/_theme.scss +++ /dev/null @@ -1,187 +0,0 @@ -$themes: ( - dark: ( - bodyBackgroundColor: #131921, - sidebarBackgroundColor: rgba(23, 31, 39, 1), - sidebarBorderColor: #1f2833, - onlineColor: #5cda9d, - offlineColor: #ff5252, - contentBackgroundColor: rgba(43, 54, 68, 0.5), - mainTextColor: #e0e0e0, - alternativeTextColor: #111921, - optionalTextColor: #556576, - blueTextColor: #4db1ff, - greenTextColor: #5cda9d, - orangeTextColor: #ff6f00, - redTextColor: #ff5252, - blueButtonBackgroundColor: #4db1ff, - blueButtonHoverColor: #82d7ff, - blueButtonFocusColor: #59b5fd, - disabledButtonBackgroundColor: #9cadb7, - disabledButtonHoverColor: #b7d1e0, - disabledButtonFocusColor: #a7b9c2, - greenButtonBackgroundColor: #5cda9d, - greenButtonHoverColor: #8dfcc6, - greenButtonFocusColor: #62e0b2, - turquoiseButtonBackgroundColor: #4dd0e1, - turquoiseButtonHoverColor: #87f4f5, - turquoiseButtonFocusColor: #42d5e8, - transparentButtonBorderColor: #2b3644, - inputBackgroundColor: #171e27, - selectHoverColor: rgba(58, 69, 85, 0.5), - selectSelectedColor: rgba(43, 54, 68, 0.5), - switchBackgroundColor: #000000, - accountBackgroundColor: rgba(43, 54, 68, 0.5), - accountHoverBackgroundColor: rgba(58, 69, 85, 0.5), - accountMainTextColor: #e0e0e0, - securedSeed: #e0e0e0, - seedItemText: #e0e0e0, - seedItemBackgroundColor: #18202a, - accountOptionalTextColor: #556576, - accountIndicatorTextColor: #111921, - accountSwitchBackgroundColor: #000000, - accountIndicatorBackgroundColor: #4db1ff, - tabInactiveBackgroundColor: rgba(23, 31, 39, 0.5), - tabHoverBackgroundColor: rgba(58, 69, 85, 0.5), - tableBackgroundColor: #18202a, - messageMyBackgroundColor: #2a3544, - messageBuddyBackgroundColor: #18202a, - progressBarBackgroundColor: #343f4a, - progressBarFullBackgroundColor: #5cda9d, - chartOptionsBackgroundColor: #2b3644, - chartOptionsHoverColor: #556576, - tooltipBackgroundColor: #42505f, - tooltipImportantTextColor: #ff6f00, - tooltipImportantBackgroundColor: #5f2b11, - tooltipCriticalTextColor: #ff5252, - tooltipCriticalBackgroundColor: #5f1d1d, - tooltipShadow: 0 0 1rem rgba(0, 0, 0, 0.5), - modalBackground: url(~src/assets/images/background-dark.png), - closeButtonColor: #556576, - hoverPage: #3a485a - ), - gray: ( - bodyBackgroundColor: #101417, - sidebarBackgroundColor: rgba(28, 30, 33, 1), - sidebarBorderColor: #2e3337, - onlineColor: #47cf8d, - offlineColor: #ff5252, - contentBackgroundColor: rgba(37, 40, 43, 0.5), - mainTextColor: #e0e0e0, - alternativeTextColor: #1a1a1a, - optionalTextColor: #565c62, - blueTextColor: #42a5f5, - greenTextColor: #47cf8d, - orangeTextColor: #ff6f00, - redTextColor: #ff5252, - blueButtonBackgroundColor: #42a5f5, - blueButtonHoverColor: #86d6ff, - blueButtonFocusColor: #5fb6fc, - disabledButtonBackgroundColor: #79848f, - disabledButtonHoverColor: #a1aebb, - disabledButtonFocusColor: #8a959f, - greenButtonBackgroundColor: #47cf8d, - greenButtonHoverColor: #7bf6c6, - greenButtonFocusColor: #5cdc9e, - turquoiseButtonBackgroundColor: #3ec5d7, - turquoiseButtonHoverColor: #72edfe, - turquoiseButtonFocusColor: #50d0e1, - transparentButtonBorderColor: #2f3438, - inputBackgroundColor: #292d31, - selectHoverColor: rgba(58, 62, 66, 0.5), - selectSelectedColor: rgba(37, 40, 43, 0.5), - switchBackgroundColor: #000000, - accountBackgroundColor: rgba(37, 40, 43, 0.5), - accountHoverBackgroundColor: rgba(58, 62, 66, 0.5), - accountMainTextColor: #e0e0e0, - securedSeed: #e0e0e0, - seedItemText: #e0e0e0, - seedItemBackgroundColor: #292d31, - accountOptionalTextColor: #565c62, - accountIndicatorTextColor: #1a1a1a, - accountSwitchBackgroundColor: #000000, - accountIndicatorBackgroundColor: #42a5f5, - tabInactiveBackgroundColor: rgba(28, 30, 33, 0.5), - tabHoverBackgroundColor: rgba(58, 62, 66, 0.5), - tableBackgroundColor: #25292d, - messageMyBackgroundColor: #30363c, - messageBuddyBackgroundColor: #25292d, - progressBarBackgroundColor: #363a3e, - progressBarFullBackgroundColor: #47cf8d, - chartOptionsBackgroundColor: #292d31, - chartOptionsHoverColor: #515960, - tooltipBackgroundColor: #3e464c, - tooltipImportantTextColor: #ff6f00, - tooltipImportantBackgroundColor: #55240d, - tooltipCriticalTextColor: #ff5252, - tooltipCriticalBackgroundColor: #4c1919, - tooltipShadow: 0 0 1rem rgba(0, 0, 0, 0.5), - modalBackground: url(~src/assets/images/background-gray.png), - closeButtonColor: #515960, - hoverPage: #383e43 - ), - white: ( - bodyBackgroundColor: #eeeeee, - sidebarBackgroundColor: rgba(255, 255, 255, 1), - sidebarBorderColor: #ebebeb, - onlineColor: #46c172, - offlineColor: #ff5252, - contentBackgroundColor: rgba(255, 255, 255, 0.5), - mainTextColor: #43454b, - alternativeTextColor: #fefefe, - optionalTextColor: #a0a5ab, - blueTextColor: #2c95f1, - greenTextColor: #46c172, - orangeTextColor: #ff6f00, - redTextColor: #ff5252, - blueButtonBackgroundColor: #2c95f1, - blueButtonHoverColor: #5cb3ff, - blueButtonFocusColor: #379ffa, - disabledButtonBackgroundColor: #90a4ae, - disabledButtonHoverColor: #aebec6, - disabledButtonFocusColor: #a7b9c2, - greenButtonBackgroundColor: #46c172, - greenButtonHoverColor: #5ad586, - greenButtonFocusColor: #53c77c, - turquoiseButtonBackgroundColor: #26b6c7, - turquoiseButtonHoverColor: #52cbd9, - turquoiseButtonFocusColor: #31becf, - transparentButtonBorderColor: #ebebeb, - inputBackgroundColor: #e6e6e6, - selectHoverColor: rgba(240, 240, 240, 0.5), - selectSelectedColor: rgba(224, 224, 224, 0.5), - switchBackgroundColor: #e0e0e0, - accountBackgroundColor: rgba(30, 136, 229, 1), - accountHoverBackgroundColor: rgba(240, 240, 240, 0.5), - accountMainTextColor: #ffffff, - securedSeed: #a0a5ab, - seedItemText: #43454b, - seedItemBackgroundColor: #e6e6e6, - accountOptionalTextColor: #91baf1, - accountIndicatorTextColor: #43454b, - accountSwitchBackgroundColor: #ffffff, - accountIndicatorBackgroundColor: #ffffff, - tabInactiveBackgroundColor: rgba(224, 224, 224, 0.5), - tabHoverBackgroundColor: #ffffff, - tableBackgroundColor: #ffffff, - messageMyBackgroundColor: #fff, - messageBuddyBackgroundColor: #ededed, - progressBarBackgroundColor: #dcdcdc, - progressBarFullBackgroundColor: #46c172, - chartOptionsBackgroundColor: #e0e0e0, - chartOptionsHoverColor: #ffffff, - tooltipBackgroundColor: #ffffff, - tooltipImportantTextColor: #ffffff, - tooltipImportantBackgroundColor: #ef6c00, - tooltipCriticalTextColor: #ffffff, - tooltipCriticalBackgroundColor: #e53935, - tooltipShadow: 0 0 1rem rgba(120, 120, 120, 0.5), - modalBackground: url(~src/assets/images/background-white.png), - closeButtonColor: #43454b, - hoverPage: #ffffff - ) -); - - - - - diff --git a/src/gui/qt-daemon/html/assets/scss/layout/_contact.scss b/src/gui/qt-daemon/html/assets/scss/layout/_contact.scss deleted file mode 100644 index 1d9f4747..00000000 --- a/src/gui/qt-daemon/html/assets/scss/layout/_contact.scss +++ /dev/null @@ -1,88 +0,0 @@ -app-contacts, app-add-contacts, -app-contact-send, app-export-import { - flex: 1 1 auto; - padding: 3rem; - min-width: 85rem; - - .content { - position: relative; - padding: 3rem; - min-height: 100%; - - @include themify($themes) { - background-color: themed(contentBackgroundColor); - color: themed(mainTextColor); - } - - .head { - position: absolute; - top: 0; - left: 0; - } - } -} - -app-contacts { - - table { - - .alias { - - @include themify($themes) { - color: themed(blueTextColor); - } - } - - button { - - .icon { - - @include themify($themes) { - background-color: themed(blueTextColor); - } - } - - span { - - @include themify($themes) { - color: themed(mainTextColor) - } - } - } - } - - .footer { - - @include themify($themes) { - color: themed(blueTextColor); - } - - .import-btn { - - @include themify($themes) { - color: themed(blueTextColor); - } - - .icon { - - @include themify($themes) { - background-color: themed(blueTextColor); - } - } - } - } - -} - -app-contact-send { - - .wallets-selection { - - button { - - @include themify($themes) { - color: themed(blueTextColor); - } - } - } -} \ No newline at end of file diff --git a/src/gui/qt-daemon/html/assets/scss/layout/_main.scss b/src/gui/qt-daemon/html/assets/scss/layout/_main.scss deleted file mode 100644 index 527258cb..00000000 --- a/src/gui/qt-daemon/html/assets/scss/layout/_main.scss +++ /dev/null @@ -1,119 +0,0 @@ -app-main, app-create-wallet, app-open-wallet, app-restore-wallet, app-seed-phrase, app-wallet-details, app-assign-alias, app-edit-alias, app-transfer-alias, app-settings, app-login { - flex: 1 1 auto; - padding: 3rem; - min-width: 85rem; - - .content { - position: relative; - padding: 3rem; - min-height: 100%; - - @include themify($themes) { - background-color: themed(contentBackgroundColor); - color: themed(mainTextColor); - } - - .head { - position: absolute; - top: 0; - left: 0; - } - } -} - -app-main { - - .content { - - .add-wallet { - - .add-wallet-help { - - @include themify($themes) { - color: themed(blueTextColor); - } - - .icon { - - @include themify($themes) { - background-color: themed(blueTextColor); - } - } - } - } - } -} - -app-seed-phrase { - - .seed-phrase-content { - - @include themify($themes) { - background-color: themed(inputBackgroundColor); - color: themed(mainTextColor) - } - } -} - -app-wallet-details { - - .seed-phrase { - - @include themify($themes) { - background-color: themed(inputBackgroundColor); - } - } -} - -app-settings { - - .content { - height: 100%; - overflow-y: auto; - display: flex; - justify-content: space-between; - flex-direction: column; - - .theme-selection { - - @include themify($themes) { - color: themed(optionalTextColor); - } - } - - .scale-selection { - - .button-block { - - @include themify($themes) { - background-color: themed(tabInactiveBackgroundColor); - } - - .label { - - @include themify($themes) { - color: themed(optionalTextColor); - } - } - - &.active { - - @include themify($themes) { - background-color: themed(blueTextColor); - } - - .label { - - @include themify($themes) { - color: themed(blueTextColor); - } - } - } - } - } - } -} - -app-login { - min-width: inherit; -} diff --git a/src/gui/qt-daemon/html/assets/scss/layout/_seed-phrase.scss b/src/gui/qt-daemon/html/assets/scss/layout/_seed-phrase.scss deleted file mode 100644 index 8a2b1e90..00000000 --- a/src/gui/qt-daemon/html/assets/scss/layout/_seed-phrase.scss +++ /dev/null @@ -1,258 +0,0 @@ -.form-details { - margin-top: 1.8rem; - - .input-block { - - &:first-child { - width: 50%; - } - } - - .wallet-buttons { - display: flex; - align-items: center; - justify-content: space-between; - - button { - margin: 2.9rem 0; - width: 100%; - max-width: 15rem; - } - } -} - -.form-seed { - - label { - @include themify($themes) { - color: themed(optionalTextColor); - } - - font-size: 1.3rem; - line-height: 2.4rem; - } - - .form-content { - @include themify($themes) { - border: 2px solid themed(transparentButtonBorderColor); - } - - display: flex; - justify-content: center; - padding: 3rem; - width: 100%; - } - - .text-coral { - @include themify($themes) { - color: themed(blueTextColor); - } - text-decoration: none; - } - - .seed-phrase-form { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - max-width: 38rem; - width: 100%; - - .input-block, - button { - width: 100%; - } - - .error-message { - margin-top: 1rem; - @include themify($themes) { - color: themed(orangeTextColor); - } - } - - .secured-seed { - @include themify($themes) { - color: themed(securedSeed); - } - font-size: 1.2rem; - line-height: 2.4rem; - text-decoration: none; - display: flex; - align-items: center; - cursor: pointer; - - .icon { - margin-right: 1.2rem; - } - } - - button { - display: flex; - justify-content: center; - align-items: center; - margin-top: 3rem; - margin-bottom: 2rem; - - .icon { - margin-right: 1.2rem; - } - } - - } -} - -.seed-phrase { - display: flex; - flex-direction: column; - width: 100%; - background-color: transparent !important; - - &-title { - display: flex; - align-items: center; - justify-content: space-between; - width: 100%; - @include themify($themes) { - color: themed(optionalTextColor); - } - .right-part { - display: inline-flex; - align-items: center; - - .icon { - cursor: pointer; - width: 1.7rem; - height: 1.7rem; - - &.copy { - @include themify($themes) { - background-color: themed(blueTextColor); - } - margin-right: 1.2rem; - mask: url(~src/assets/icons/copy.svg) no-repeat center; - - &:hover { - opacity: 0.75; - } - } - - &.copied { - @include themify($themes) { - background-color: themed(blueTextColor); - } - margin-right: 1.2rem; - mask: url(~src/assets/icons/complete-testwallet.svg) no-repeat center; - } - - &.secured, - &.unsecured { - margin-left: 1.2rem; - } - } - - span { - font-size: 1.3rem; - line-height: 2.4rem; - display: inline-flex; - align-items: center; - - .icon { - margin-left: 1.2rem; - } - } - } - } - - &-content { - @include themify($themes) { - border-top: 2px solid themed(transparentButtonBorderColor); - border-bottom: 2px solid themed(transparentButtonBorderColor); - } - padding: 1rem 0 1rem; - display: flex; - align-items: center; - justify-content: center; - flex-wrap: wrap; - margin-bottom: 1rem; - - .item { - @include themify($themes) { - color: themed(seedItemText); - } - display: flex; - align-items: center; - padding: 0 2rem; - width: calc(100% / 7); - min-height: 35px; - font-size: 1.3rem; - - &.dark { - @include themify($themes) { - background-color: themed(seedItemBackgroundColor); - } - } - } - } - - &-footer { - text-align: center; - - .title { - @include themify($themes) { - color: themed(seedItemText); - } - font-size: 1.3rem; - line-height: 2.4rem; - } - } -} - -.icon { - display: inline-flex; - width: 1.6rem; - height: 1.6rem; - - &.secured { - @include themify($themes) { - background-color: themed(greenTextColor); - } - mask: url(~src/assets/icons/secured.svg) no-repeat center; - } - - &.info { - @include themify($themes) { - background-color: themed(blueTextColor); - } - mask: url(~src/assets/icons/info.svg) no-repeat center; - } - - &.unsecured { - @include themify($themes) { - background-color: themed(orangeTextColor); - } - mask: url(~src/assets/icons/unsecured.svg) no-repeat center; - } - - &.safety { - @include themify($themes) { - background-color: themed(alternativeTextColor); - } - mask: url(~src/assets/icons/safety.svg) no-repeat center; - } -} - -.wrap-buttons { - display: flex; - - .seed-phrase-button { - margin: 2.8rem 0; - width: 25%; - min-width: 1.5rem; - } - - .copy-button { - margin: 2.8rem 1rem; - width: 25%; - min-width: 1.5rem; - } -} \ No newline at end of file diff --git a/src/gui/qt-daemon/html/assets/scss/layout/_settings.scss b/src/gui/qt-daemon/html/assets/scss/layout/_settings.scss deleted file mode 100644 index e69de29b..00000000 diff --git a/src/gui/qt-daemon/html/assets/scss/layout/_sidebar.scss b/src/gui/qt-daemon/html/assets/scss/layout/_sidebar.scss deleted file mode 100644 index cfc382fb..00000000 --- a/src/gui/qt-daemon/html/assets/scss/layout/_sidebar.scss +++ /dev/null @@ -1,191 +0,0 @@ -app-sidebar { - - @include themify($themes) { - background-color: themed(sidebarBackgroundColor); - } - - .sidebar-accounts { - - .sidebar-accounts-header { - - h3 { - - @include themify($themes) { - color: themed(mainTextColor); - } - } - - button { - - @include themify($themes) { - color: themed(blueTextColor); - } - } - } - - .sidebar-accounts-list { - - .sidebar-account { - - @include themify($themes) { - background-color: transparent; - color: themed(mainTextColor); - } - - .icon { - - @include themify($themes) { - background-color: themed(blueTextColor); - } - } - - .sidebar-account-row { - - .text { - - @include themify($themes) { - color: themed(optionalTextColor); - } - } - - .icon { - - @include themify($themes) { - background-color: themed(blueTextColor); - } - } - - .indicator { - - @include themify($themes) { - background-color: themed(blueButtonBackgroundColor); - color: themed(alternativeTextColor); - } - } - - .progress-bar-container { - - .progress-bar { - - @include themify($themes) { - background-color: themed(progressBarBackgroundColor); - } - - .fill { - - @include themify($themes) { - background-color: themed(blueTextColor); - } - } - } - } - - &.account-synchronization { - - @include themify($themes) { - color: themed(optionalTextColor); - } - } - } - - &.active { - - @include themify($themes) { - background-color: themed(accountBackgroundColor); - color: themed(accountMainTextColor); - } - - .sidebar-account-row { - - .text { - - @include themify($themes) { - color: themed(accountOptionalTextColor); - } - } - - .indicator { - - @include themify($themes) { - background-color: themed(accountIndicatorBackgroundColor); - color: themed(accountIndicatorTextColor); - } - } - - .switch { - - @include themify($themes) { - background-color: themed(accountSwitchBackgroundColor); - color: themed(mainTextColor); - } - } - - &.account-synchronization { - - @include themify($themes) { - color: themed(accountOptionalTextColor); - } - } - } - } - - &:hover:not(.active) { - - @include themify($themes) { - background-color: themed(accountHoverBackgroundColor); - } - } - } - } - - &:after { - - @include themify($themes) { - background: linear-gradient(to bottom, transparent 0%, themed(sidebarBackgroundColor) 100%); - } - } - } - - .sidebar-settings { - - @include themify($themes) { - border-bottom: 0.2rem solid themed(sidebarBorderColor); - } - - .wrap-button { - - button { - - @include themify($themes) { - color: themed(mainTextColor); - } - - .icon { - - @include themify($themes) { - background-color: themed(blueTextColor); - } - } - } - - &.active { - - button { - - @include themify($themes) { - background-color: themed(accountBackgroundColor)!important; - color: themed(accountMainTextColor)!important; - } - - .icon { - - @include themify($themes) { - background-color: themed(accountIndicatorBackgroundColor)!important; - } - } - } - } - } - } - -} diff --git a/src/gui/qt-daemon/html/assets/scss/layout/_status.scss b/src/gui/qt-daemon/html/assets/scss/layout/_status.scss deleted file mode 100644 index b109e1d5..00000000 --- a/src/gui/qt-daemon/html/assets/scss/layout/_status.scss +++ /dev/null @@ -1,232 +0,0 @@ -.synchronization-status { - display: flex; - align-items: center; - justify-content: flex-start; - flex: 0 0 7rem; - font-size: 1.3rem; - @include themify($themes) { - color: themed(optionalTextColor); - } - - .status-container { - position: relative; - flex-grow: 1; - text-align: left; - - .offline, .online { - position: relative; - display: block; - line-height: 1.2rem; - padding-left: 2.2rem; - - &:before { - content: ''; - position: absolute; - top: 0; - left: 0; - border-radius: 50%; - width: 1.2rem; - height: 1.2rem; - } - } - - .offline:before { - - @include themify($themes) { - background-color: themed(offlineColor); - } - } - - .online:before { - - @include themify($themes) { - background-color: themed(onlineColor); - } - } - - .syncing, .loading { - line-height: 5rem; - } - - .progress-bar-container { - position: absolute; - bottom: 0; - left: 0; - height: 0.7rem; - width: 100%; - - .syncing { - display: flex; - - .progress-bar { - flex: 1 0 auto; - @include themify($themes) { - background-color: themed(progressBarBackgroundColor); - } - .fill { - height: 100%; - @include themify($themes) { - background-color: themed(progressBarFullBackgroundColor); - } - } - } - &.downloading { - - .progress-bar { - - @include themify($themes) { - background-color: themed(progressBarBackgroundColor); - } - - .fill { - - @include themify($themes) { - background-color: themed(blueTextColor); - } - } - } - } - .progress-percent { - flex: 0 0 auto; - font-size: 1.3rem; - line-height: 0.7rem; - padding-left: 0.7rem; - } - } - - .loading { - @include themify($themes) { - background-color: themed(progressBarFullBackgroundColor); - } - animation: move 5s linear infinite; - background-image: - -webkit-gradient( - linear, 0 0, 100% 100%, - color-stop(.125, rgba(0, 0, 0, .15)), color-stop(.125, transparent), - color-stop(.250, transparent), color-stop(.250, rgba(0, 0, 0, .10)), - color-stop(.375, rgba(0, 0, 0, .10)), color-stop(.375, transparent), - color-stop(.500, transparent), color-stop(.500, rgba(0, 0, 0, .15)), - color-stop(.625, rgba(0, 0, 0, .15)), color-stop(.625, transparent), - color-stop(.750, transparent), color-stop(.750, rgba(0, 0, 0, .10)), - color-stop(.875, rgba(0, 0, 0, .10)), color-stop(.875, transparent), - to(transparent) - ), - -webkit-gradient( - linear, 0 100%, 100% 0, - color-stop(.125, rgba(0, 0, 0, .30)), color-stop(.125, transparent), - color-stop(.250, transparent), color-stop(.250, rgba(0, 0, 0, .25)), - color-stop(.375, rgba(0, 0, 0, .25)), color-stop(.375, transparent), - color-stop(.500, transparent), color-stop(.500, rgba(0, 0, 0, .30)), - color-stop(.625, rgba(0, 0, 0, .30)), color-stop(.625, transparent), - color-stop(.750, transparent), color-stop(.750, rgba(0, 0, 0, .25)), - color-stop(.875, rgba(0, 0, 0, .25)), color-stop(.875, transparent), - to(transparent) - ); - background-size: 7rem 7rem; - height: 100%; - } - } - } - - .update-container { - display: flex; - flex-grow: 1; - margin-left: 1rem; - text-align: right; - - .update-text { - flex: 1 1 auto; - font-size: 1.2rem; - line-height: 1.8rem; - text-align: left; - - &.time { - font-size: 1.1rem; - } - } - - .icon { - flex: 1 0 auto; - margin: 0.3rem 0 0 0.6rem; - width: 1.2rem; - height: 1.2rem; - - &.update { - mask: url(./assets/icons/update.svg) no-repeat center; - } - - &.time { - mask: url(./assets/icons/time.svg) no-repeat center; - } - } - - .standard { - - @include themify($themes) { - color: themed(blueTextColor); - } - } - - .important { - - @include themify($themes) { - color: themed(orangeTextColor); - } - } - - .critical { - - @include themify($themes) { - color: themed(redTextColor); - } - } - - .time { - - @include themify($themes) { - color: themed(orangeTextColor); - } - } - - .icon { - - &.standard { - - @include themify($themes) { - background-color: themed(blueTextColor); - } - } - - &.important { - - @include themify($themes) { - background-color: themed(orangeTextColor); - } - } - - &.critical { - - @include themify($themes) { - background-color: themed(redTextColor); - } - } - - &.time { - - @include themify($themes) { - background-color: themed(orangeTextColor); - } - } - } - - } -} - -@keyframes move { - 0% { - background-position: 100% -7rem; - } - 100% { - background-position: 100% 7rem; - } -} diff --git a/src/gui/qt-daemon/html/assets/scss/layout/_wallet.scss b/src/gui/qt-daemon/html/assets/scss/layout/_wallet.scss deleted file mode 100644 index 201c02c4..00000000 --- a/src/gui/qt-daemon/html/assets/scss/layout/_wallet.scss +++ /dev/null @@ -1,531 +0,0 @@ -app-wallet { - - @include themify($themes) { - color: themed(mainTextColor); - } - - .header { - - button { - - @include themify($themes) { - color: themed(mainTextColor); - } - - .icon { - - @include themify($themes) { - background-color: themed(blueTextColor); - } - } - &:disabled { - background-color: transparent !important; - .icon { - @include themify($themes) { - background-color: themed(accountOptionalTextColor); - } - } - } - } - - .alias { - - .icon { - - @include themify($themes) { - background-color: themed(blueTextColor); - } - } - } - } - - .address { - - @include themify($themes) { - color: themed(blueTextColor); - } - - .icon { - - @include themify($themes) { - background-color: themed(blueTextColor); - } - } - } - - .tabs { - - .tabs-header { - - .tab { - - @include themify($themes) { - background-color: themed(tabInactiveBackgroundColor); - } - - .icon { - - @include themify($themes) { - background-color: themed(blueTextColor); - } - } - - .indicator { - - @include themify($themes) { - background-color: themed(accountIndicatorBackgroundColor); - color: themed(accountIndicatorTextColor); - } - } - - &.active { - - @include themify($themes) { - background-color: themed(contentBackgroundColor); - } - } - - &:hover:not(.active):not(.disabled) { - - @include themify($themes) { - background-color: themed(tabHoverBackgroundColor); - } - } - } - } - - .tabs-content { - - @include themify($themes) { - background-color: themed(contentBackgroundColor); - } - } - - .pagination-wrapper { - - @include themify($themes) { - background-color: themed(contentBackgroundColor); - } - - .pagination { - - @include themify($themes) { - border-top: 0.2rem solid themed(transparentButtonBorderColor); - } - - button { - @include themify($themes) { - background-color: themed(transparentButtonBorderColor); - color: themed(mainTextColor); - } - - &.active { - @include themify($themes) { - background-color: themed(tableBackgroundColor); - color: themed(mainTextColor); - } - } - - &:hover { - @include themify($themes) { - background-color: themed(hoverPage); - color: themed(mainTextColor); - } - } - } - } - } - } -} - -app-send { - - .form-send { - - .send-select { - - @include themify($themes) { - color: themed(mainTextColor); - } - - .icon { - - @include themify($themes) { - background-color: themed(blueTextColor); - } - } - } - - .additional-details { - - @include themify($themes) { - border: 0.2rem solid themed(transparentButtonBorderColor); - } - } - } -} - -app-receive { - - .btn-copy-address { - - @include themify($themes) { - background-color: themed(blueTextColor); - } - } -} - -app-history { - - table { - - tbody { - - tr { - - &.locked-transaction { - - @include themify($themes) { - color: themed(optionalTextColor); - } - } - - &:nth-child(4n+1) { - - @include themify($themes) { - background-color: themed(tableBackgroundColor); - } - } - - &:nth-child(4n+2) { - - @include themify($themes) { - background-color: themed(tableBackgroundColor); - } - } - - &:nth-child(4n+3) { - - @include themify($themes) { - background-color: transparent; - } - } - - &:nth-child(4n+4) { - - @include themify($themes) { - background-color: transparent; - } - } - - .status { - - .confirmation { - - @include themify($themes) { - background-color: themed(progressBarBackgroundColor); - } - - .fill { - - @include themify($themes) { - background-color: themed(progressBarFullBackgroundColor); - } - } - } - } - - .lock-transaction { - - @include themify($themes) { - background-color: themed(orangeTextColor); - } - } - - .unlock-transaction { - - @include themify($themes) { - background-color: themed(blueTextColor); - } - } - - .status.send { - - .status-transaction { - - @include themify($themes) { - background-color: themed(redTextColor); - } - } - } - - .status.received { - - .status-transaction { - - @include themify($themes) { - background-color: themed(greenTextColor); - } - } - } - } - } - } -} - -app-contracts { - - .wrap-table { - - .contract { - - .icon { - - &.new, &.alert { - - @include themify($themes) { - background-color: themed(redTextColor); - } - } - - &.purchase, &.sell { - - @include themify($themes) { - background-color: themed(blueTextColor); - } - } - } - } - } -} - -app-purchase { - - .form-purchase { - - .purchase-select { - - @include themify($themes) { - color: themed(mainTextColor); - } - - .icon { - - @include themify($themes) { - background-color: themed(blueTextColor); - } - } - } - - .purchase-states { - - @include themify($themes) { - color: themed(blueTextColor); - } - } - - .additional-details { - - @include themify($themes) { - border: 0.2rem solid themed(transparentButtonBorderColor); - } - } - } - - .progress-bar-container { - - .progress-bar { - - @include themify($themes) { - background-color: themed(progressBarBackgroundColor); - } - - .progress-bar-full { - - @include themify($themes) { - background-color: themed(progressBarFullBackgroundColor); - } - } - } - } -} - -app-messages { - - table { - - tbody { - - tr { - - td:first-child { - - span { - @include text-truncate; - } - - .icon { - - @include themify($themes) { - background-color: themed(redTextColor); - } - } - } - } - } - } -} - -app-typing-message { - - .head { - - .interlocutor { - - @include themify($themes) { - color: themed(blueTextColor); - } - } - } - - .messages-content { - - .messages-list { - - div { - - &.date { - - @include themify($themes) { - color: themed(optionalTextColor); - } - } - - &.my { - - @include themify($themes) { - background-color: themed(messageMyBackgroundColor); - } - - &:before { - - @include pseudo; - top: 0; - left: -1.1rem; - border: 1.2rem solid transparent; - - @include themify($themes) { - border-top-color: themed(messageMyBackgroundColor); - } - } - } - - &.buddy { - - @include themify($themes) { - background-color: themed(messageBuddyBackgroundColor); - } - - &:after { - - @include pseudo; - right: -1.1rem; - top: 0; - border: 1.2rem solid transparent; - - @include themify($themes) { - border-top-color: themed(messageBuddyBackgroundColor); - } - } - } - } - } - } -} - -app-staking { - - .chart-header { - - .general { - - .label { - - @include themify($themes) { - color: themed(optionalTextColor); - } - } - - .options { - - @include themify($themes) { - color: themed(mainTextColor); - } - } - } - - .selected { - display: flex; - align-items: center; - justify-content: flex-end; - flex-grow: 1; - font-size: 1.6rem; - } - } - - .chart-options { - - .title { - - @include themify($themes) { - color: themed(optionalTextColor); - } - } - - .options { - - button { - - @include themify($themes) { - color: themed(mainTextColor); - background-color: themed(chartOptionsBackgroundColor); - } - - &.active { - - @include themify($themes) { - background-color: themed(chartOptionsHoverColor); - } - } - } - } - } -} - -.input-block-alias { - position: relative; - - .alias-dropdown { - position: absolute; - top: 6.5rem; - max-height: 10rem; - overflow: auto; - width: 100%; - - @include themify($themes) { - background-color: themed(inputBackgroundColor); - color: themed(mainTextColor); - } - - div { - font-size: 1.4rem; - padding: 1rem; - - &:hover { - @include themify($themes) { - background-color: themed(selectHoverColor); - } - } - } - } -} diff --git a/src/gui/qt-daemon/html/assets/scss/modules/_head.scss b/src/gui/qt-daemon/html/assets/scss/modules/_head.scss deleted file mode 100644 index a03e41b0..00000000 --- a/src/gui/qt-daemon/html/assets/scss/modules/_head.scss +++ /dev/null @@ -1,64 +0,0 @@ -.head { - display: flex; - align-items: flex-end; - justify-content: space-between; - font-size: 1.3rem; - padding: 0 3rem; - width: 100%; - height: 3rem; - - @include themify($themes) { - color: themed(blueTextColor); - } - - .breadcrumbs { - - > span, a { - - &:not(:last-child) { - position: relative; - cursor: pointer; - margin-right: 20px; - outline-style: none; - - &:after { - - @include pseudo; - top: 0.5rem; - right: -1.5rem; - width: 0.9rem; - height: 0.9rem; - mask: url(~src/assets/icons/arrow-right.svg) no-repeat center; - mask-size: cover; - - @include themify($themes) { - background-color: themed(blueTextColor); - } - } - } - } - } - - .back-btn { - display: flex; - align-items: center; - background-color: transparent; - color: #4db1ff; - font-size: inherit; - font-weight: 400; - line-height: 1.3rem; - padding: 0; - height: auto; - - .icon { - margin-right: 0.7rem; - mask: url(~src/assets/icons/back.svg) no-repeat center; - width: 0.9rem; - height: 0.9rem; - - @include themify($themes) { - background-color: themed(blueTextColor); - } - } - } -} diff --git a/src/gui/qt-daemon/html/assets/scss/modules/_scroll.scss b/src/gui/qt-daemon/html/assets/scss/modules/_scroll.scss deleted file mode 100644 index bbd97645..00000000 --- a/src/gui/qt-daemon/html/assets/scss/modules/_scroll.scss +++ /dev/null @@ -1,24 +0,0 @@ -.scrolled-content { - - &::-webkit-scrollbar { - background-color: transparent; - cursor: default; - width: 1rem; - height: 1rem; - } - - &::-webkit-scrollbar-track { - background: transparent; - } - - &::-webkit-scrollbar-thumb { - background-color: #556576; - background-clip: padding-box; - border: 0.25rem solid transparent; - border-radius: 0.5rem; - } - - &::-webkit-scrollbar-thumb:hover { - background-color: #556576; - } -} diff --git a/src/gui/qt-daemon/html/assets/scss/modules/_table.scss b/src/gui/qt-daemon/html/assets/scss/modules/_table.scss deleted file mode 100644 index 589637b6..00000000 --- a/src/gui/qt-daemon/html/assets/scss/modules/_table.scss +++ /dev/null @@ -1,64 +0,0 @@ -table { - font-size: 1.3rem; - width: 100%; - - thead { - text-align: left; - - @include themify($themes) { - color: themed(optionalTextColor); - } - - tr { - height: 4rem; - - th { - padding: 1rem; - vertical-align: bottom; - - &:first-child { - padding-left: 3rem; - } - - &:last-child { - padding-right: 3rem; - } - } - } - } - - tbody { - text-align: left; - - @include themify($themes) { - color: themed(mainTextColor); - } - - tr { - height: 3.5rem; - - &:nth-child(odd) { - - @include themify($themes) { - background-color: themed(tableBackgroundColor); - } - } - - td { - line-height: 1.7rem; - padding: 0 1rem; - vertical-align: middle; - white-space: nowrap; - max-width: 20rem; - - &:first-child { - padding-left: 3rem; - } - - &:last-child { - padding-right: 3rem; - } - } - } - } -} diff --git a/src/gui/qt-daemon/html/back.svg b/src/gui/qt-daemon/html/back.svg deleted file mode 100644 index 0b00a610..00000000 --- a/src/gui/qt-daemon/html/back.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/src/gui/qt-daemon/html/background-dark.png b/src/gui/qt-daemon/html/background-dark.png deleted file mode 100644 index 83290ff91cdaa0ef468e11343ebf631083cd4e0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34583 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

      Iz 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�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 - - - - - diff --git a/src/gui/qt-daemon/html/close-wallet.svg b/src/gui/qt-daemon/html/close-wallet.svg deleted file mode 100644 index 8a9ba99e..00000000 --- a/src/gui/qt-daemon/html/close-wallet.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/close.svg b/src/gui/qt-daemon/html/close.svg deleted file mode 100644 index d39bed6d..00000000 --- a/src/gui/qt-daemon/html/close.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - diff --git a/src/gui/qt-daemon/html/complete-testwallet.svg b/src/gui/qt-daemon/html/complete-testwallet.svg deleted file mode 100644 index b5d04868..00000000 --- a/src/gui/qt-daemon/html/complete-testwallet.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - diff --git a/src/gui/qt-daemon/html/contacts.svg b/src/gui/qt-daemon/html/contacts.svg deleted file mode 100644 index e05516ae..00000000 --- a/src/gui/qt-daemon/html/contacts.svg +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - diff --git a/src/gui/qt-daemon/html/contracts.svg b/src/gui/qt-daemon/html/contracts.svg deleted file mode 100644 index aa985ac7..00000000 --- a/src/gui/qt-daemon/html/contracts.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - diff --git a/src/gui/qt-daemon/html/copy.svg b/src/gui/qt-daemon/html/copy.svg deleted file mode 100644 index 4ec2ff7d..00000000 --- a/src/gui/qt-daemon/html/copy.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/delete.svg b/src/gui/qt-daemon/html/delete.svg deleted file mode 100644 index a057a1dc..00000000 --- a/src/gui/qt-daemon/html/delete.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - diff --git a/src/gui/qt-daemon/html/details-settings.svg b/src/gui/qt-daemon/html/details-settings.svg deleted file mode 100644 index 11803ccf..00000000 --- a/src/gui/qt-daemon/html/details-settings.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - diff --git a/src/gui/qt-daemon/html/details.svg b/src/gui/qt-daemon/html/details.svg deleted file mode 100644 index eb12cde2..00000000 --- a/src/gui/qt-daemon/html/details.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/edit.svg b/src/gui/qt-daemon/html/edit.svg deleted file mode 100644 index eb12cde2..00000000 --- a/src/gui/qt-daemon/html/edit.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/favicon.ico b/src/gui/qt-daemon/html/favicon.ico deleted file mode 100644 index 366c5f9be407961d6828a15913dd0870388572f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 145619 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 diff --git a/src/gui/qt-daemon/html/files/Zano.desktop b/src/gui/qt-daemon/html/files/Zano.desktop deleted file mode 100644 index 8f26e0b9..00000000 --- a/src/gui/qt-daemon/html/files/Zano.desktop +++ /dev/null @@ -1,8 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=Zano -Exec=Zano -Icon=/usr/share/pixmaps/desktop_linux_icon.png -MimeType=application/x-desktop -Terminal=true -Type=Application \ No newline at end of file diff --git a/src/gui/qt-daemon/html/files/app22macos.png b/src/gui/qt-daemon/html/files/app22macos.png deleted file mode 100644 index 450317e765b820ec8008017168be214f4824b59b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 992 zcmV<610Vc}P)AIv^c59dJ_tw*w~?I2|~6#-6$3u@)hnT?;rnvwu8(9!aZjcLmNe8jTia zIVI4wVf2n>jz}kNF^9O;?x5sE8Yd(m3_akM&ZEP2ZA1F_}9R-1}p`xHf z;Z_Rb-hE&^4!7Pz;0w_$9?N{ZqGa>1>?Fip*W(No5mhSS_pUf|S{7dTjlY z&}|p_Lw$k&>*#O5u;l7K|G9Z8_D=(yEM`|V^YdTjL213Tqql~ML6^9=!Ht3`EUSzX z1E~v=g4deWvd#$IibTcjLpQn3F*0wrjqGuDJuC9OkNyQH@-YMtw1IsRW@*r- zKDSy{B!X_alEALd?9gx61||k2I38ObU@6f98dEK^N(?Lyu$-*0%!dkc!`Wrg1!=6Y zEOvIGYr2{TSfo&-ie<5h0UF)3lAR7+)Iv5fr)s*$c&u@Nr9g+DxmXtaCDG`H?t=8_ zRnaR6VO7&bc0nriWQ)PFlxn&qXvHLjWwDzl8r@=(od!J_5LmVpbej?>M`PI@h-E3E zTj+{O8p~2cx4A2(L}1zO0ij$Y^KKsVl$-vHe-4>A(n zh-EhD#ye{ppc}DF5#9I~5{l?XEK^1|Vwobk5zCZA1^>x_Mhmk40t^5iYN9WZS=mGY O0000D}$Q zyX{@8A+1CLQKFI<6vPB$f+UEdMnj0Gi70;%0vZt1nD`3?2}&d=#zbfD=XQFX)PV7y z+2ro_&71FgyPtV)ZvWZMZLO>3mfv0u0GQj-9BN0u4(l^}7Wy_uM=ztFvP5%_0l=IE z)~5t)f3Xq({(H5v+w2an7Gy2vmK3cIx>KS8`G$ltW7L6N1s?M2?E1+|0m~lGN zQ_R6SXM>f{(H(AcG-^6@_}qS%%y|QjTHek1_<*Noxx>S9eum{4uExc30?P|5=g1z; zU^zMybtNLShgN3OA*;?gV44YmVUo$DJLz?6dOySQJkPKm#^Z6J87^ZaZb~Uv+^EU~ z$;AmlL)O)VscLbD6<6xhhRiyr(@K;-viB8BEIUMzNl6KYbF)k_ks{|ci6K3j zzBENKjXr^WiXj7!jyQfTy)+8Lx=Pr7^u~^a6hS@ZX5M+@SRT`Zm z3COfVLmSd%*ffl8rK;H7n`)%6I1?gSo++;#rqn59mM0@imqKQRM0Br0qYfog(>paS z8q8E#TMnV4vC*okT1RzQlGV7y^ zENcsrnTf>+Yl<2fDHa1&wZ|UAHWQD5I!KXBXdwqT$M$!<&VY_@%=#VB4S^bg?t)S3c4JUIlit1;*ysO6RQ(O`! zv#vlO;P>!6M0uoKXq$Xe=m&Kb?R8SrHpja9f19F6m`SOcRRdM%h^=x_{ib)b4*1B# z(VQcyrgx=;q#MxcxjJXA>GIoHewVT|>E0D2+1k&7vegn$5t#|2h0Dq-vodw^0#1)| zCcaHRb&li!jFTEF6DmDx>L7*|F_V%G8~RaAOt0HBaVHA#1R`Vo14PyTU?~h~_}Ug? zdYyEQ3t``t{?COdRI)rE#rvTWWO7BE8<^hOWma@zcjY#P$=xVge@X)CWK>mBx`Q~8 znKV|&oSENkb!2oXJ-^n&qJ!bA@2u4B#-%-EsojlB3(BszY6d;oY}l|(W&LwzHuVnl zkOzZ)pU>+P8GIO5w5cf=?GCAE_cg3N#fvhfHMpawuxBcv&5;#mmdf@xmhQsLD0lqb`MU!Aa$R@=_=7V`DE({3Sq`1g@FfYZ00U?_d7nu*{ zrMNI4WRv0|^TE6n7Y2lEQe0#{n3v+hfRIg!i_8b}Qd}4ivPp4~`Cwj(3j;znDK0V} z%u8`$K*%P=MdpKfDJ~2M*`&D0d@wJ?g#jU(6c?Ef=B2nWAY_x`BJ;t#6c+}BY*Jig zKA4x{!hn!Xii^w#^HN+G5VA>ek@;X=iVFimHYqMLAIwW}VL-?x#YN_Wc_}Uo2-&2# z$b2v_#f1SOn-mwB59Xz~Fd$@;h^xHt>L!e%_cfE~#mu31UALi^IvsLzdl-PxB>;?V z0O0E1==U4|Lo5L2djSxh2jEt1>$<}$0Vuh-CDhQF`r^Wx59e-RZxpL$9jSimctz!S zMP-S9*B$#?-fH;s)jg|2dpdUSS$25qlF)^(&K#OIZ^hWDk^rb0TXg@X$A0i_d%M3h zb@K;zf=@1%T<$3YmCk3LD0}$yqwAN-8<)>a8E4L3y!)LeKmKgT>|c+*2a*r$+}pSK z*oxkTC(W|abD^&X?s}u^%~z^-7`5TOx0Igmc}e|o`M&XE;-}%~8joH{J^Ry%jq|D( z?cB6@?8}3HyV`EH{*A+} zp@pY+Km9vDf7i+xm&6WTxv*}qcm1V@A~O$s`!g5aa&_%*pPzVnd~tns*NoS$oLY8r g`~Wz6(|18Izx(J%o$9)3>*d&%rq z4TN623%CrYs2iY3{cpEzh&40k&fd?e^BY|83yFgXxsXc#!GRk6@Ej z!J8c|RY_%(J{-LFxf>nu2*&1ooHuFK%-6*zF=n4k(1VGA?|*d}#G-!GPiLE!3nIPs!!+y5C|greMKx21vg( zeg!>gN8b6@d-kx<3|zJS$Y7(kq7B|=8R8l#I(voIUEFt@t%vjFZt!03}Qn>!AF};_^*&aK)yo?}JjDI$_x=2c0TIvT2AJair?| zK!;;}*-NB#Uzs!i^jypruIWZA2il}xW>}I4rBqqgRr8gpJy|*Ek{PgxP-JZ6hWBH` z3|zeBP0B1AE_!dPJR64PK<}RXC~*ju3y0gCioZ0!1Q-CqqWJ_Biu7Rs0000& z4@~tH^{G)^Hu&znpv#9$frTjozBOih&`A ztV^*J=#(Q;LQX~Fdq7l_l7c7;Qamh5P?Vu4frXD})?A|m3yQj6i|x{UnNkM|LZwoP zRALe0jtG)0%YqmcqR}uT!rr7!ksr3bwweY7d%9~n)Fd_tG@@ZLPSZT|bp8sKQ&($y z3t?gb6MW)^q-k~hpK2|uPJ6U~7w`5@ z+AB^vSSVnRjJrBZa;YtF%Yj)JBTC#NA!D_O_m>GJUYR%`n++n|33h5oH|^kX*AgkL zAd1sGBT`{WVhJcpaVSP%taCRTMR6Y0h+&o{|3(=Rhf?$plof!1DEcpK=&(dw3$ZMi zLCp$|JyNx%X)tel6xlk?D`}oxFk+epR25Z?CsajAsFEb*Qkje@rs8ren(IkqbFoBC zRw4R$kc*nEu_&8sC>vCDkS(ZS*POtH>Jkf7GXl-VzGNEeTaYyx`;u)aD==q-phlO} zZ0(3OLa?lNAluY?7~8CIUDlz8pHBqO#dKcjDf+LUTsX644y;wQ9nOujA9~Nd*s%3! z=;f;purYfkv#xpjwaYh8O+PLl8Xio}ypgZWs@})e{Vgrv(roJP!K)AaFWmi!WOAVQ z8wXd0xT8Nqp!H;V*}jYSxVP8W_lU-Oa)Jhp6Wcl){6+=flFYhV3X e_2|UA_Bn3gdGp!L&F80sCnullQ|@Groc;}6Hix+Y diff --git a/src/gui/qt-daemon/html/files/desktop_linux_icon.png b/src/gui/qt-daemon/html/files/desktop_linux_icon.png deleted file mode 100644 index c48284bf61612d98b8def242332b20bc1f2dbe61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1293 zcmV+o1@iidP)*+eW^m(oKZF&8zDg1R*@1KW2mOMvVS0lfkaZouWqxEzWk5v;YY2W#0Q1oEyl;;M zr%VP~z8MN!jQ;K(!{|rJWZrM> zlX}S(RxAUp2Tuh#Kp$B#lXUF8_lC_CA+YS@Q~mVOtN~YxB7xAd=l<(sWhJouqu*Ld z$gf2Wms)hO*48Z-`G$+-e#QL<23 z2!Md46l;^7as-$u*f=QAL|RfM=UcV@!#}@B8{+K}`7dl8S$*J->&W#-FNuB*qiKPv zSLID0Sr5qAizLIrv?)%PpaA}|C7_t_xQ+AKG!O~Ix>}XrC^_vlDuW)w#HGdfPJuYL zYuUBwJOXR>o|!}1pEDr=LPp>x^nw+d!ga~nZw7@$E~G_|bntcGbSm6>a(=|E z1BS^)QVe%f7S_q`G-^NzngSC7+1UaDddqepqr$CsqWg(3J|^B&HJC@5zDw><0=kbW zi;{-<=_Dm{bmzJmC-VrjMbBH&7sU{;kV@k-x&mKO5~j;_B|cL_ywwo+Q(oMG{X-w` z+m55?^J1OPEpWmEtwi9U>?<@>0z#OyPO@{C_563YZH5@2~A_tJ_!9k<#@R z(SQ)m+?PF4N))x?5zO>cc#mw`G;Lo=FSeXu%O+n84c0-%WQ`e|QxGk5L}bBGBDN=PX|+UO|h#g+^@clZ({hb6+W>cW+Eckb}UD^9?| z^HJ{+BGH8z%7`15L1(k_l3O)0Uk;*M7~ewRX_=@hL&T zLU*rrX=_cmX`5ArwfAKP$ii%@;;BWM0K3}puK)u8lO{;~qDb@g00000NkvXXu0mjf D-w0`U diff --git a/src/gui/qt-daemon/html/history.svg b/src/gui/qt-daemon/html/history.svg deleted file mode 100644 index c9945561..00000000 --- a/src/gui/qt-daemon/html/history.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/howto.svg b/src/gui/qt-daemon/html/howto.svg deleted file mode 100644 index 92362f78..00000000 --- a/src/gui/qt-daemon/html/howto.svg +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - diff --git a/src/gui/qt-daemon/html/import-export.svg b/src/gui/qt-daemon/html/import-export.svg deleted file mode 100644 index 48fd7073..00000000 --- a/src/gui/qt-daemon/html/import-export.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/src/gui/qt-daemon/html/index.html b/src/gui/qt-daemon/html/index.html deleted file mode 100644 index 9e31e8c1..00000000 --- a/src/gui/qt-daemon/html/index.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - Zano - - - - - - - - - - diff --git a/src/gui/qt-daemon/html/info.svg b/src/gui/qt-daemon/html/info.svg deleted file mode 100644 index 083cdf38..00000000 --- a/src/gui/qt-daemon/html/info.svg +++ /dev/null @@ -1 +0,0 @@ -info \ No newline at end of file diff --git a/src/gui/qt-daemon/html/lock-transaction.svg b/src/gui/qt-daemon/html/lock-transaction.svg deleted file mode 100644 index 49a2e523..00000000 --- a/src/gui/qt-daemon/html/lock-transaction.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/lock.svg b/src/gui/qt-daemon/html/lock.svg deleted file mode 100644 index 021aae19..00000000 --- a/src/gui/qt-daemon/html/lock.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/logout.svg b/src/gui/qt-daemon/html/logout.svg deleted file mode 100644 index b2f23e62..00000000 --- a/src/gui/qt-daemon/html/logout.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - - exit - - - - - diff --git a/src/gui/qt-daemon/html/main.js b/src/gui/qt-daemon/html/main.js deleted file mode 100644 index 2defe0dd..00000000 --- a/src/gui/qt-daemon/html/main.js +++ /dev/null @@ -1,9788 +0,0 @@ -(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["main"],{ - -/***/ "./src/$$_lazy_route_resource lazy recursive": -/*!**********************************************************!*\ - !*** ./src/$$_lazy_route_resource lazy namespace object ***! - \**********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -function webpackEmptyAsyncContext(req) { - // Here Promise.resolve().then() is used instead of new Promise() to prevent - // uncaught exception popping up in devtools - return Promise.resolve().then(function() { - var e = new Error("Cannot find module '" + req + "'"); - e.code = 'MODULE_NOT_FOUND'; - throw e; - }); -} -webpackEmptyAsyncContext.keys = function() { return []; }; -webpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext; -module.exports = webpackEmptyAsyncContext; -webpackEmptyAsyncContext.id = "./src/$$_lazy_route_resource lazy recursive"; - -/***/ }), - -/***/ "./src/app/_helpers/directives/confirm-modal/confirm-modal.component.html": -/*!********************************************************************************!*\ - !*** ./src/app/_helpers/directives/confirm-modal/confirm-modal.component.html ***! - \********************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = "

      \r\n
      \r\n \r\n
      \r\n {{title}}\r\n {{message}}\r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      " - -/***/ }), - -/***/ "./src/app/_helpers/directives/confirm-modal/confirm-modal.component.scss": -/*!********************************************************************************!*\ - !*** ./src/app/_helpers/directives/confirm-modal/confirm-modal.component.scss ***! - \********************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = ":host {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: rgba(255, 255, 255, 0.25);\n z-index: 5; }\n\n.modal {\n position: relative;\n display: flex;\n flex-direction: column;\n background-position: center;\n background-size: 200%;\n padding: 3rem;\n min-width: 34rem;\n max-width: 60rem; }\n\n.modal .content {\n display: flex; }\n\n.modal .content .icon {\n flex: 0 0 auto;\n width: 4.4rem;\n height: 4.4rem; }\n\n.modal .content .icon.info {\n -webkit-mask: url('modal-info.svg') no-repeat center;\n mask: url('modal-info.svg') no-repeat center; }\n\n.modal .content .message-container {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n margin-left: 2rem; }\n\n.modal .content .message-container .title {\n font-size: 1.8rem;\n font-weight: 600;\n line-height: 2.2rem; }\n\n.modal .content .message-container .message {\n font-size: 1.3rem;\n line-height: 1.8rem;\n margin-top: 0.4rem; }\n\n.modal .wrap-btn {\n display: flex;\n justify-content: space-between;\n width: 100%;\n margin-top: 3.5rem; }\n\n.modal .action-button {\n width: 10rem;\n height: 2.4rem; }\n\n.modal .close-button {\n position: absolute;\n top: 0;\n right: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n margin: 0;\n padding: 0;\n width: 2.4rem;\n height: 2.4rem; }\n\n.modal .close-button .icon {\n -webkit-mask: url('close.svg') no-repeat center;\n mask: url('close.svg') no-repeat center;\n width: 2.4rem;\n height: 2.4rem; }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX2hlbHBlcnMvZGlyZWN0aXZlcy9jb25maXJtLW1vZGFsL0Q6XFxQcm9qZWN0XFxXT1JLX05FV1xcemFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxhcHBcXF9oZWxwZXJzXFxkaXJlY3RpdmVzXFxjb25maXJtLW1vZGFsXFxjb25maXJtLW1vZGFsLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsZUFBZTtFQUNmLE1BQU07RUFDTixTQUFTO0VBQ1QsT0FBTztFQUNQLFFBQVE7RUFDUixhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLHVCQUF1QjtFQUN2QixxQ0FBcUM7RUFDckMsVUFBVSxFQUFBOztBQUVaO0VBQ0Usa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsMkJBQTJCO0VBQzNCLHFCQUFxQjtFQUNyQixhQUFhO0VBQ2IsZ0JBQWdCO0VBQ2hCLGdCQUFnQixFQUFBOztBQVJsQjtJQVdJLGFBQWEsRUFBQTs7QUFYakI7TUFjTSxjQUFjO01BQ2QsYUFBYTtNQUNiLGNBQWMsRUFBQTs7QUFoQnBCO1FBbUJRLG9EQUE0RDtnQkFBNUQsNENBQTRELEVBQUE7O0FBbkJwRTtNQXdCTSxhQUFhO01BQ2Isc0JBQXNCO01BQ3RCLHVCQUF1QjtNQUN2Qix1QkFBdUI7TUFDdkIsaUJBQWlCLEVBQUE7O0FBNUJ2QjtRQStCUSxpQkFBaUI7UUFDakIsZ0JBQWdCO1FBQ2hCLG1CQUFtQixFQUFBOztBQWpDM0I7UUFxQ1EsaUJBQWlCO1FBQ2pCLG1CQUFtQjtRQUNuQixrQkFBa0IsRUFBQTs7QUF2QzFCO0lBNkNJLGFBQWE7SUFDYiw4QkFBOEI7SUFDOUIsV0FBVztJQUNYLGtCQUFrQixFQUFBOztBQWhEdEI7SUFvREksWUFBWTtJQUNaLGNBQWMsRUFBQTs7QUFyRGxCO0lBeURJLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sUUFBUTtJQUNSLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLHVCQUF1QjtJQUN2QixTQUFTO0lBQ1QsVUFBVTtJQUNWLGFBQWE7SUFDYixjQUFjLEVBQUE7O0FBbkVsQjtNQXNFTSwrQ0FBdUQ7Y0FBdkQsdUNBQXVEO01BQ3ZELGFBQWE7TUFDYixjQUFjLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9faGVscGVycy9kaXJlY3RpdmVzL2NvbmZpcm0tbW9kYWwvY29uZmlybS1tb2RhbC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgdG9wOiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xyXG4gIHotaW5kZXg6IDU7XHJcbn1cclxuLm1vZGFsIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICBiYWNrZ3JvdW5kLXNpemU6IDIwMCU7XHJcbiAgcGFkZGluZzogM3JlbTtcclxuICBtaW4td2lkdGg6IDM0cmVtO1xyXG4gIG1heC13aWR0aDogNjByZW07XHJcblxyXG4gIC5jb250ZW50IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcblxyXG4gICAgLmljb24ge1xyXG4gICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgICAgd2lkdGg6IDQuNHJlbTtcclxuICAgICAgaGVpZ2h0OiA0LjRyZW07XHJcblxyXG4gICAgICAmLmluZm8ge1xyXG4gICAgICAgIG1hc2s6IHVybCh+c3JjL2Fzc2V0cy9pY29ucy9tb2RhbC1pbmZvLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5tZXNzYWdlLWNvbnRhaW5lciB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDJyZW07XHJcblxyXG4gICAgICAudGl0bGUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuMnJlbTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLm1lc3NhZ2Uge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjhyZW07XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMC40cmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAud3JhcC1idG4ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLXRvcDogMy41cmVtO1xyXG4gIH1cclxuICBcclxuICAuYWN0aW9uLWJ1dHRvbiB7XHJcbiAgICB3aWR0aDogMTByZW07XHJcbiAgICBoZWlnaHQ6IDIuNHJlbTtcclxuICB9XHJcblxyXG4gIC5jbG9zZS1idXR0b24ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgd2lkdGg6IDIuNHJlbTtcclxuICAgIGhlaWdodDogMi40cmVtO1xyXG5cclxuICAgIC5pY29uIHtcclxuICAgICAgbWFzazogdXJsKH5zcmMvYXNzZXRzL2ljb25zL2Nsb3NlLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgd2lkdGg6IDIuNHJlbTtcclxuICAgICAgaGVpZ2h0OiAyLjRyZW07XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ== */" - -/***/ }), - -/***/ "./src/app/_helpers/directives/confirm-modal/confirm-modal.component.ts": -/*!******************************************************************************!*\ - !*** ./src/app/_helpers/directives/confirm-modal/confirm-modal.component.ts ***! - \******************************************************************************/ -/*! exports provided: ConfirmModalComponent */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ConfirmModalComponent", function() { return ConfirmModalComponent; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - -var ConfirmModalComponent = /** @class */ (function () { - function ConfirmModalComponent() { - this.confirmed = new _angular_core__WEBPACK_IMPORTED_MODULE_0__["EventEmitter"](); - } - ConfirmModalComponent.prototype.ngOnInit = function () { - this.button.nativeElement.focus(); - }; - ConfirmModalComponent.prototype.onSubmit = function () { - this.confirmed.emit(true); - }; - ConfirmModalComponent.prototype.onClose = function () { - this.confirmed.emit(false); - }; - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Input"])(), - __metadata("design:type", String) - ], ConfirmModalComponent.prototype, "title", void 0); - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Input"])(), - __metadata("design:type", String) - ], ConfirmModalComponent.prototype, "message", void 0); - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Output"])(), - __metadata("design:type", _angular_core__WEBPACK_IMPORTED_MODULE_0__["EventEmitter"]) - ], ConfirmModalComponent.prototype, "confirmed", void 0); - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ViewChild"])('btn'), - __metadata("design:type", _angular_core__WEBPACK_IMPORTED_MODULE_0__["ElementRef"]) - ], ConfirmModalComponent.prototype, "button", void 0); - ConfirmModalComponent = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Component"])({ - selector: 'app-confirm-modal', - template: __webpack_require__(/*! ./confirm-modal.component.html */ "./src/app/_helpers/directives/confirm-modal/confirm-modal.component.html"), - styles: [__webpack_require__(/*! ./confirm-modal.component.scss */ "./src/app/_helpers/directives/confirm-modal/confirm-modal.component.scss")] - }), - __metadata("design:paramtypes", []) - ], ConfirmModalComponent); - return ConfirmModalComponent; -}()); - - - -/***/ }), - -/***/ "./src/app/_helpers/directives/input-disable-selection/input-disable-selection.directive.ts": -/*!**************************************************************************************************!*\ - !*** ./src/app/_helpers/directives/input-disable-selection/input-disable-selection.directive.ts ***! - \**************************************************************************************************/ -/*! exports provided: InputDisableSelectionDirective */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "InputDisableSelectionDirective", function() { return InputDisableSelectionDirective; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - -var InputDisableSelectionDirective = /** @class */ (function () { - function InputDisableSelectionDirective() { - } - InputDisableSelectionDirective.prototype.handleInput = function (event) { - if (event.target.readOnly) { - event.preventDefault(); - } - }; - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["HostListener"])('mousedown', ['$event']), - __metadata("design:type", Function), - __metadata("design:paramtypes", [Event]), - __metadata("design:returntype", void 0) - ], InputDisableSelectionDirective.prototype, "handleInput", null); - InputDisableSelectionDirective = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Directive"])({ - selector: 'input' - }), - __metadata("design:paramtypes", []) - ], InputDisableSelectionDirective); - return InputDisableSelectionDirective; -}()); - - - -/***/ }), - -/***/ "./src/app/_helpers/directives/input-validate/input-validate.directive.ts": -/*!********************************************************************************!*\ - !*** ./src/app/_helpers/directives/input-validate/input-validate.directive.ts ***! - \********************************************************************************/ -/*! exports provided: InputValidateDirective */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "InputValidateDirective", function() { return InputValidateDirective; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _services_variables_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../services/variables.service */ "./src/app/_helpers/services/variables.service.ts"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - -var InputValidateDirective = /** @class */ (function () { - function InputValidateDirective(el, variablesService) { - this.el = el; - this.variablesService = variablesService; - } - Object.defineProperty(InputValidateDirective.prototype, "defineInputType", { - set: function (type) { - this.type = type; - }, - enumerable: true, - configurable: true - }); - InputValidateDirective.prototype.handleInput = function (event) { - if (this.type === 'money') { - this.moneyValidation(event); - } - else if (this.type === 'integer') { - this.integerValidation(event); - } - }; - InputValidateDirective.prototype.moneyValidation = function (event) { - var currentValue = event.target.value; - var originalValue = currentValue; - var OnlyD = /[^\d\.]/g; - var _has_error = currentValue.match(OnlyD); - if (_has_error && _has_error.length) { - currentValue = currentValue.replace(',', '.').replace(OnlyD, ''); - } - var _double_separator = currentValue.match(/\./g); - if (_double_separator && _double_separator.length > 1) { - currentValue = currentValue.substr(0, currentValue.lastIndexOf('.')); - } - if (currentValue.indexOf('.') === 0) { - currentValue = '0' + currentValue; - } - var _zero_fill = currentValue.split('.'); - if (_zero_fill[0].length > 7) { - _zero_fill[0] = _zero_fill[0].substr(0, 7); - } - if (1 in _zero_fill && _zero_fill[1].length) { - _zero_fill[1] = _zero_fill[1].substr(0, this.variablesService.digits); - } - currentValue = _zero_fill.join('.'); - if (currentValue !== originalValue) { - event.target.value = currentValue; - var cursorPosition = event.target.selectionEnd; - event.target.setSelectionRange(cursorPosition, cursorPosition); - event.target.dispatchEvent(new Event('input')); - } - }; - InputValidateDirective.prototype.integerValidation = function (event) { - var currentValue = event.target.value; - var originalValue = currentValue; - var OnlyD = /[^\d]/g; - var _has_error = currentValue.match(OnlyD); - if (_has_error && _has_error.length) { - currentValue = currentValue.replace(OnlyD, ''); - } - if (currentValue !== originalValue) { - var cursorPosition = event.target.selectionEnd; - event.target.value = currentValue; - event.target.setSelectionRange(cursorPosition, cursorPosition); - } - }; - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Input"])('appInputValidate'), - __metadata("design:type", String), - __metadata("design:paramtypes", [String]) - ], InputValidateDirective.prototype, "defineInputType", null); - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["HostListener"])('input', ['$event']), - __metadata("design:type", Function), - __metadata("design:paramtypes", [Event]), - __metadata("design:returntype", void 0) - ], InputValidateDirective.prototype, "handleInput", null); - InputValidateDirective = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Directive"])({ - selector: '[appInputValidate]' - }), - __metadata("design:paramtypes", [_angular_core__WEBPACK_IMPORTED_MODULE_0__["ElementRef"], _services_variables_service__WEBPACK_IMPORTED_MODULE_1__["VariablesService"]]) - ], InputValidateDirective); - return InputValidateDirective; -}()); - - - -/***/ }), - -/***/ "./src/app/_helpers/directives/modal-container/modal-container.component.html": -/*!************************************************************************************!*\ - !*** ./src/app/_helpers/directives/modal-container/modal-container.component.html ***! - \************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = "
      \r\n
      \r\n \r\n
      \r\n {{title}}\r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n" - -/***/ }), - -/***/ "./src/app/_helpers/directives/modal-container/modal-container.component.scss": -/*!************************************************************************************!*\ - !*** ./src/app/_helpers/directives/modal-container/modal-container.component.scss ***! - \************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = ":host {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: rgba(255, 255, 255, 0.25); }\n\n.modal {\n position: relative;\n display: flex;\n flex-direction: column;\n background-position: center;\n background-size: 200%;\n padding: 2rem;\n min-width: 34rem;\n max-width: 60rem; }\n\n.modal .content {\n display: flex;\n margin: 1.2rem 0; }\n\n.modal .content .icon {\n flex: 0 0 auto;\n width: 4.4rem;\n height: 4.4rem; }\n\n.modal .content .icon.error {\n -webkit-mask: url('modal-alert.svg') no-repeat center;\n mask: url('modal-alert.svg') no-repeat center; }\n\n.modal .content .icon.success {\n -webkit-mask: url('modal-success.svg') no-repeat center;\n mask: url('modal-success.svg') no-repeat center; }\n\n.modal .content .icon.info {\n -webkit-mask: url('modal-info.svg') no-repeat center;\n mask: url('modal-info.svg') no-repeat center; }\n\n.modal .content .message-container {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n margin-left: 2rem; }\n\n.modal .content .message-container .title {\n font-size: 1.8rem;\n font-weight: 600;\n line-height: 2.2rem; }\n\n.modal .content .message-container .message {\n font-size: 1.3rem;\n line-height: 1.8rem;\n margin-top: 0.4rem; }\n\n.modal .action-button {\n margin: 1.2rem auto 0.6rem;\n width: 10rem;\n height: 2.4rem; }\n\n.modal .close-button {\n position: absolute;\n top: 0;\n right: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n margin: 0;\n padding: 0;\n width: 2.4rem;\n height: 2.4rem; }\n\n.modal .close-button .icon {\n -webkit-mask: url('close.svg') no-repeat center;\n mask: url('close.svg') no-repeat center;\n width: 2.4rem;\n height: 2.4rem; }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX2hlbHBlcnMvZGlyZWN0aXZlcy9tb2RhbC1jb250YWluZXIvRDpcXFByb2plY3RcXFdPUktfTkVXXFx6YW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFwcFxcX2hlbHBlcnNcXGRpcmVjdGl2ZXNcXG1vZGFsLWNvbnRhaW5lclxcbW9kYWwtY29udGFpbmVyLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsZUFBZTtFQUNmLE1BQU07RUFDTixTQUFTO0VBQ1QsT0FBTztFQUNQLFFBQVE7RUFDUixhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLHVCQUF1QjtFQUN2QixxQ0FBcUMsRUFBQTs7QUFFdkM7RUFDRSxrQkFBa0I7RUFDbEIsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QiwyQkFBMkI7RUFDM0IscUJBQXFCO0VBQ3JCLGFBQWE7RUFDYixnQkFBZ0I7RUFDaEIsZ0JBQWdCLEVBQUE7O0FBUmxCO0lBV0ksYUFBYTtJQUNiLGdCQUFnQixFQUFBOztBQVpwQjtNQWVNLGNBQWM7TUFDZCxhQUFhO01BQ2IsY0FBYyxFQUFBOztBQWpCcEI7UUFvQlEscURBQTZEO2dCQUE3RCw2Q0FBNkQsRUFBQTs7QUFwQnJFO1FBd0JRLHVEQUErRDtnQkFBL0QsK0NBQStELEVBQUE7O0FBeEJ2RTtRQTRCUSxvREFBNEQ7Z0JBQTVELDRDQUE0RCxFQUFBOztBQTVCcEU7TUFpQ00sYUFBYTtNQUNiLHNCQUFzQjtNQUN0Qix1QkFBdUI7TUFDdkIsdUJBQXVCO01BQ3ZCLGlCQUFpQixFQUFBOztBQXJDdkI7UUF3Q1EsaUJBQWlCO1FBQ2pCLGdCQUFnQjtRQUNoQixtQkFBbUIsRUFBQTs7QUExQzNCO1FBOENRLGlCQUFpQjtRQUNqQixtQkFBbUI7UUFDbkIsa0JBQWtCLEVBQUE7O0FBaEQxQjtJQXNESSwwQkFBMEI7SUFDMUIsWUFBWTtJQUNaLGNBQWMsRUFBQTs7QUF4RGxCO0lBNERJLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sUUFBUTtJQUNSLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLHVCQUF1QjtJQUN2QixTQUFTO0lBQ1QsVUFBVTtJQUNWLGFBQWE7SUFDYixjQUFjLEVBQUE7O0FBdEVsQjtNQXlFTSwrQ0FBdUQ7Y0FBdkQsdUNBQXVEO01BQ3ZELGFBQWE7TUFDYixjQUFjLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9faGVscGVycy9kaXJlY3RpdmVzL21vZGFsLWNvbnRhaW5lci9tb2RhbC1jb250YWluZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcclxufVxyXG4ubW9kYWwge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gIGJhY2tncm91bmQtc2l6ZTogMjAwJTtcclxuICBwYWRkaW5nOiAycmVtO1xyXG4gIG1pbi13aWR0aDogMzRyZW07XHJcbiAgbWF4LXdpZHRoOiA2MHJlbTtcclxuXHJcbiAgLmNvbnRlbnQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIG1hcmdpbjogMS4ycmVtIDA7XHJcblxyXG4gICAgLmljb24ge1xyXG4gICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgICAgd2lkdGg6IDQuNHJlbTtcclxuICAgICAgaGVpZ2h0OiA0LjRyZW07XHJcblxyXG4gICAgICAmLmVycm9yIHtcclxuICAgICAgICBtYXNrOiB1cmwofnNyYy9hc3NldHMvaWNvbnMvbW9kYWwtYWxlcnQuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLnN1Y2Nlc3Mge1xyXG4gICAgICAgIG1hc2s6IHVybCh+c3JjL2Fzc2V0cy9pY29ucy9tb2RhbC1zdWNjZXNzLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi5pbmZvIHtcclxuICAgICAgICBtYXNrOiB1cmwofnNyYy9hc3NldHMvaWNvbnMvbW9kYWwtaW5mby5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubWVzc2FnZS1jb250YWluZXIge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAycmVtO1xyXG5cclxuICAgICAgLnRpdGxlIHtcclxuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjJyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5tZXNzYWdlIHtcclxuICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS44cmVtO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDAuNHJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmFjdGlvbi1idXR0b24ge1xyXG4gICAgbWFyZ2luOiAxLjJyZW0gYXV0byAwLjZyZW07XHJcbiAgICB3aWR0aDogMTByZW07XHJcbiAgICBoZWlnaHQ6IDIuNHJlbTtcclxuICB9XHJcblxyXG4gIC5jbG9zZS1idXR0b24ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgd2lkdGg6IDIuNHJlbTtcclxuICAgIGhlaWdodDogMi40cmVtO1xyXG5cclxuICAgIC5pY29uIHtcclxuICAgICAgbWFzazogdXJsKH5zcmMvYXNzZXRzL2ljb25zL2Nsb3NlLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgd2lkdGg6IDIuNHJlbTtcclxuICAgICAgaGVpZ2h0OiAyLjRyZW07XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ== */" - -/***/ }), - -/***/ "./src/app/_helpers/directives/modal-container/modal-container.component.ts": -/*!**********************************************************************************!*\ - !*** ./src/app/_helpers/directives/modal-container/modal-container.component.ts ***! - \**********************************************************************************/ -/*! exports provided: ModalContainerComponent */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ModalContainerComponent", function() { return ModalContainerComponent; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @ngx-translate/core */ "./node_modules/@ngx-translate/core/fesm5/ngx-translate-core.js"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - -var ModalContainerComponent = /** @class */ (function () { - function ModalContainerComponent(translate) { - this.translate = translate; - this.close = new _angular_core__WEBPACK_IMPORTED_MODULE_0__["EventEmitter"](); - } - ModalContainerComponent.prototype.ngOnInit = function () { - this.button.nativeElement.focus(); - switch (this.type) { - case 'error': - this.title = this.translate.instant('MODALS.ERROR'); - break; - case 'success': - this.title = this.translate.instant('MODALS.SUCCESS'); - break; - case 'info': - this.title = this.translate.instant('MODALS.INFO'); - break; - } - }; - ModalContainerComponent.prototype.onClose = function () { - this.close.emit(); - }; - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Input"])(), - __metadata("design:type", String) - ], ModalContainerComponent.prototype, "type", void 0); - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Input"])(), - __metadata("design:type", String) - ], ModalContainerComponent.prototype, "message", void 0); - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Output"])(), - __metadata("design:type", Object) - ], ModalContainerComponent.prototype, "close", void 0); - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ViewChild"])('btn'), - __metadata("design:type", _angular_core__WEBPACK_IMPORTED_MODULE_0__["ElementRef"]) - ], ModalContainerComponent.prototype, "button", void 0); - ModalContainerComponent = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Component"])({ - selector: 'app-modal-container', - template: __webpack_require__(/*! ./modal-container.component.html */ "./src/app/_helpers/directives/modal-container/modal-container.component.html"), - styles: [__webpack_require__(/*! ./modal-container.component.scss */ "./src/app/_helpers/directives/modal-container/modal-container.component.scss")] - }), - __metadata("design:paramtypes", [_ngx_translate_core__WEBPACK_IMPORTED_MODULE_1__["TranslateService"]]) - ], ModalContainerComponent); - return ModalContainerComponent; -}()); - - - -/***/ }), - -/***/ "./src/app/_helpers/directives/progress-container/progress-container.component.html": -/*!******************************************************************************************!*\ - !*** ./src/app/_helpers/directives/progress-container/progress-container.component.html ***! - \******************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = "
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n {{ label | translate }}\r\n \r\n
      \r\n
      \r\n" - -/***/ }), - -/***/ "./src/app/_helpers/directives/progress-container/progress-container.component.scss": -/*!******************************************************************************************!*\ - !*** ./src/app/_helpers/directives/progress-container/progress-container.component.scss ***! - \******************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = ".progress-bar-container {\n position: absolute;\n bottom: 0;\n left: 0;\n padding: 0 3rem;\n width: 100%;\n height: 3rem; }\n .progress-bar-container .progress-bar {\n position: absolute;\n top: -0.7rem;\n left: 0;\n margin: 0 3rem;\n width: calc(100% - 6rem);\n height: 0.7rem; }\n .progress-bar-container .progress-bar .progress-bar-full {\n height: 0.7rem; }\n .progress-bar-container .progress-labels {\n display: flex;\n align-items: center;\n justify-content: space-between;\n font-size: 1.2rem;\n height: 100%; }\n .progress-bar-container .progress-labels span {\n flex: 1 0 0;\n text-align: center; }\n .progress-bar-container .progress-labels span:first-child {\n text-align: left; }\n .progress-bar-container .progress-labels span:last-child {\n text-align: right; }\n .progress-bar-container .progress-time {\n position: absolute;\n top: -3rem;\n left: 50%;\n transform: translateX(-50%);\n font-size: 1.2rem; }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX2hlbHBlcnMvZGlyZWN0aXZlcy9wcm9ncmVzcy1jb250YWluZXIvRDpcXFByb2plY3RcXFdPUktfTkVXXFx6YW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFwcFxcX2hlbHBlcnNcXGRpcmVjdGl2ZXNcXHByb2dyZXNzLWNvbnRhaW5lclxccHJvZ3Jlc3MtY29udGFpbmVyLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0Usa0JBQWtCO0VBQ2xCLFNBQVM7RUFDVCxPQUFPO0VBQ1AsZUFBZTtFQUNmLFdBQVc7RUFDWCxZQUFZLEVBQUE7RUFOZDtJQVNJLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osT0FBTztJQUNQLGNBQWM7SUFDZCx3QkFBd0I7SUFDeEIsY0FBYyxFQUFBO0VBZGxCO01BaUJNLGNBQWMsRUFBQTtFQWpCcEI7SUFzQkksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQiw4QkFBOEI7SUFDOUIsaUJBQWlCO0lBQ2pCLFlBQVksRUFBQTtFQTFCaEI7TUE2Qk0sV0FBVztNQUNYLGtCQUFrQixFQUFBO0VBOUJ4QjtRQWlDUSxnQkFBZ0IsRUFBQTtFQWpDeEI7UUFxQ1EsaUJBQWlCLEVBQUE7RUFyQ3pCO0lBMkNJLGtCQUFrQjtJQUNsQixVQUFVO0lBQ1YsU0FBUztJQUNULDJCQUEyQjtJQUMzQixpQkFBaUIsRUFBQSIsImZpbGUiOiJzcmMvYXBwL19oZWxwZXJzL2RpcmVjdGl2ZXMvcHJvZ3Jlc3MtY29udGFpbmVyL3Byb2dyZXNzLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5wcm9ncmVzcy1iYXItY29udGFpbmVyIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcGFkZGluZzogMCAzcmVtO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogM3JlbTtcclxuXHJcbiAgLnByb2dyZXNzLWJhciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IC0wLjdyZW07XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgbWFyZ2luOiAwIDNyZW07XHJcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNnJlbSk7XHJcbiAgICBoZWlnaHQ6IDAuN3JlbTtcclxuXHJcbiAgICAucHJvZ3Jlc3MtYmFyLWZ1bGwge1xyXG4gICAgICBoZWlnaHQ6IDAuN3JlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5wcm9ncmVzcy1sYWJlbHMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuXHJcbiAgICBzcGFuIHtcclxuICAgICAgZmxleDogMSAwIDA7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5wcm9ncmVzcy10aW1lIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogLTNyZW07XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICB9XHJcbn1cclxuIl19 */" - -/***/ }), - -/***/ "./src/app/_helpers/directives/progress-container/progress-container.component.ts": -/*!****************************************************************************************!*\ - !*** ./src/app/_helpers/directives/progress-container/progress-container.component.ts ***! - \****************************************************************************************/ -/*! exports provided: ProgressContainerComponent */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ProgressContainerComponent", function() { return ProgressContainerComponent; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - -var ProgressContainerComponent = /** @class */ (function () { - function ProgressContainerComponent() { - } - ProgressContainerComponent.prototype.ngOnInit = function () { }; - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Input"])(), - __metadata("design:type", String) - ], ProgressContainerComponent.prototype, "width", void 0); - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Input"])(), - __metadata("design:type", Array) - ], ProgressContainerComponent.prototype, "labels", void 0); - ProgressContainerComponent = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Component"])({ - selector: 'app-progress-container', - template: __webpack_require__(/*! ./progress-container.component.html */ "./src/app/_helpers/directives/progress-container/progress-container.component.html"), - styles: [__webpack_require__(/*! ./progress-container.component.scss */ "./src/app/_helpers/directives/progress-container/progress-container.component.scss")] - }), - __metadata("design:paramtypes", []) - ], ProgressContainerComponent); - return ProgressContainerComponent; -}()); - - - -/***/ }), - -/***/ "./src/app/_helpers/directives/staking-switch/staking-switch.component.html": -/*!**********************************************************************************!*\ - !*** ./src/app/_helpers/directives/staking-switch/staking-switch.component.html ***! - \**********************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = "
      \r\n {{ 'STAKING.SWITCH.ON' | translate }}\r\n \r\n {{ 'STAKING.SWITCH.OFF' | translate }}\r\n
      \r\n" - -/***/ }), - -/***/ "./src/app/_helpers/directives/staking-switch/staking-switch.component.scss": -/*!**********************************************************************************!*\ - !*** ./src/app/_helpers/directives/staking-switch/staking-switch.component.scss ***! - \**********************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = ".switch {\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-radius: 1rem;\n cursor: pointer;\n font-size: 1rem;\n padding: 0.5rem;\n width: 5rem;\n height: 2rem; }\n .switch .circle {\n border-radius: 1rem;\n width: 1.2rem;\n height: 1.2rem; }\n .switch .option {\n margin: 0 0.2rem;\n line-height: 1.2rem; }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX2hlbHBlcnMvZGlyZWN0aXZlcy9zdGFraW5nLXN3aXRjaC9EOlxcUHJvamVjdFxcV09SS19ORVdcXHphbm9cXHNyY1xcZ3VpXFxxdC1kYWVtb25cXGh0bWxfc291cmNlL3NyY1xcYXBwXFxfaGVscGVyc1xcZGlyZWN0aXZlc1xcc3Rha2luZy1zd2l0Y2hcXHN0YWtpbmctc3dpdGNoLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQiw4QkFBOEI7RUFDOUIsbUJBQW1CO0VBQ25CLGVBQWU7RUFDZixlQUFlO0VBQ2YsZUFBZTtFQUNmLFdBQVc7RUFDWCxZQUFZLEVBQUE7RUFUZDtJQVlJLG1CQUFtQjtJQUNuQixhQUFhO0lBQ2IsY0FBYyxFQUFBO0VBZGxCO0lBa0JJLGdCQUFnQjtJQUNoQixtQkFBbUIsRUFBQSIsImZpbGUiOiJzcmMvYXBwL19oZWxwZXJzL2RpcmVjdGl2ZXMvc3Rha2luZy1zd2l0Y2gvc3Rha2luZy1zd2l0Y2guY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuc3dpdGNoIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIGJvcmRlci1yYWRpdXM6IDFyZW07XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGZvbnQtc2l6ZTogMXJlbTtcclxuICBwYWRkaW5nOiAwLjVyZW07XHJcbiAgd2lkdGg6IDVyZW07XHJcbiAgaGVpZ2h0OiAycmVtO1xyXG5cclxuICAuY2lyY2xlIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XHJcbiAgICB3aWR0aDogMS4ycmVtO1xyXG4gICAgaGVpZ2h0OiAxLjJyZW07XHJcbiAgfVxyXG5cclxuICAub3B0aW9uIHtcclxuICAgIG1hcmdpbjogMCAwLjJyZW07XHJcbiAgICBsaW5lLWhlaWdodDogMS4ycmVtO1xyXG4gIH1cclxufVxyXG4iXX0= */" - -/***/ }), - -/***/ "./src/app/_helpers/directives/staking-switch/staking-switch.component.ts": -/*!********************************************************************************!*\ - !*** ./src/app/_helpers/directives/staking-switch/staking-switch.component.ts ***! - \********************************************************************************/ -/*! exports provided: StakingSwitchComponent */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "StakingSwitchComponent", function() { return StakingSwitchComponent; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _services_backend_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../services/backend.service */ "./src/app/_helpers/services/backend.service.ts"); -/* harmony import */ var _services_variables_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../services/variables.service */ "./src/app/_helpers/services/variables.service.ts"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - -var StakingSwitchComponent = /** @class */ (function () { - function StakingSwitchComponent(backend, variablesService) { - this.backend = backend; - this.variablesService = variablesService; - this.stakingChange = new _angular_core__WEBPACK_IMPORTED_MODULE_0__["EventEmitter"](); - } - StakingSwitchComponent.prototype.ngOnInit = function () { }; - StakingSwitchComponent.prototype.toggleStaking = function () { - var wallet = this.variablesService.getWallet(this.wallet_id); - if (wallet && wallet.loaded) { - this.stakingChange.emit(!this.staking); - if (!this.staking) { - this.backend.startPosMining(this.wallet_id); - } - else { - this.backend.stopPosMining(this.wallet_id); - } - } - }; - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Input"])(), - __metadata("design:type", Boolean) - ], StakingSwitchComponent.prototype, "wallet_id", void 0); - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Input"])(), - __metadata("design:type", Boolean) - ], StakingSwitchComponent.prototype, "staking", void 0); - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Output"])(), - __metadata("design:type", Object) - ], StakingSwitchComponent.prototype, "stakingChange", void 0); - StakingSwitchComponent = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Component"])({ - selector: 'app-staking-switch', - template: __webpack_require__(/*! ./staking-switch.component.html */ "./src/app/_helpers/directives/staking-switch/staking-switch.component.html"), - styles: [__webpack_require__(/*! ./staking-switch.component.scss */ "./src/app/_helpers/directives/staking-switch/staking-switch.component.scss")] - }), - __metadata("design:paramtypes", [_services_backend_service__WEBPACK_IMPORTED_MODULE_1__["BackendService"], _services_variables_service__WEBPACK_IMPORTED_MODULE_2__["VariablesService"]]) - ], StakingSwitchComponent); - return StakingSwitchComponent; -}()); - - - -/***/ }), - -/***/ "./src/app/_helpers/directives/tooltip.directive.ts": -/*!**********************************************************!*\ - !*** ./src/app/_helpers/directives/tooltip.directive.ts ***! - \**********************************************************/ -/*! exports provided: TooltipDirective */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TooltipDirective", function() { return TooltipDirective; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm5/router.js"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - -var TooltipDirective = /** @class */ (function () { - function TooltipDirective(el, renderer, route) { - this.el = el; - this.renderer = renderer; - this.route = route; - this.timeout = 0; - this.timeDelay = 0; - this.delay = 0; - this.showWhenNoOverflow = true; - this.onHide = new _angular_core__WEBPACK_IMPORTED_MODULE_0__["EventEmitter"](); - } - TooltipDirective.prototype.onMouseEnter = function () { - var _this = this; - if (this.showWhenNoOverflow || (!this.showWhenNoOverflow && this.el.nativeElement.offsetWidth < this.el.nativeElement.scrollWidth)) { - this.cursor = 'pointer'; - if (!this.tooltip) { - if (this.timeDelay !== 0) { - this.removeTooltipTimeDelay = setTimeout(function () { - _this.show(); - }, this.timeDelay); - } - else { - this.show(); - } - } - else { - this.cancelHide(); - } - } - }; - TooltipDirective.prototype.onMouseLeave = function () { - clearTimeout(this.removeTooltipTimeDelay); - if (this.tooltip) { - this.hide(); - } - }; - TooltipDirective.prototype.show = function () { - this.create(); - this.placement = this.placement === null ? 'top' : this.placement; - this.setPosition(this.placement); - }; - TooltipDirective.prototype.hide = function () { - var _this = this; - this.removeTooltipTimeout = setTimeout(function () { - _this.renderer.setStyle(_this.tooltip, 'opacity', '0'); - _this.removeTooltipTimeoutInner = setTimeout(function () { - _this.renderer.removeChild(document.body, _this.tooltip); - _this.tooltip.removeEventListener('mouseenter', _this.enter); - _this.tooltip.removeEventListener('mouseleave', _this.leave); - _this.tooltip = null; - _this.onHide.emit(true); - }, _this.delay); - }, this.timeout); - }; - TooltipDirective.prototype.cancelHide = function () { - clearTimeout(this.removeTooltipTimeout); - clearTimeout(this.removeTooltipTimeoutInner); - this.renderer.setStyle(this.tooltip, 'opacity', '1'); - }; - TooltipDirective.prototype.create = function () { - var _this = this; - this.tooltip = this.renderer.createElement('div'); - var innerBlock = this.renderer.createElement('div'); - if (typeof this.tooltipInner === 'string') { - innerBlock.innerHTML = this.tooltipInner; - } - else { - innerBlock = this.tooltipInner; - } - this.renderer.addClass(innerBlock, 'tooltip-inner'); - this.renderer.addClass(innerBlock, 'scrolled-content'); - this.renderer.appendChild(this.tooltip, innerBlock); - this.renderer.appendChild(document.body, this.tooltip); - this.enter = function () { - _this.cancelHide(); - }; - this.tooltip.addEventListener('mouseenter', this.enter); - this.leave = function () { - if (_this.tooltip) { - _this.hide(); - } - }; - this.tooltip.addEventListener('mouseleave', this.leave); - this.renderer.setStyle(document.body, 'position', 'relative'); - this.renderer.setStyle(this.tooltip, 'position', 'absolute'); - if (this.tooltipClass !== null) { - var classes = this.tooltipClass.split(' '); - for (var i = 0; i < classes.length; i++) { - this.renderer.addClass(this.tooltip, classes[i]); - } - } - this.renderer.setStyle(this.tooltip, 'opacity', '0'); - this.renderer.setStyle(this.tooltip, '-webkit-transition', "opacity " + this.delay + "ms"); - this.renderer.setStyle(this.tooltip, '-moz-transition', "opacity " + this.delay + "ms"); - this.renderer.setStyle(this.tooltip, '-o-transition', "opacity " + this.delay + "ms"); - this.renderer.setStyle(this.tooltip, 'transition', "opacity " + this.delay + "ms"); - window.setTimeout(function () { - _this.renderer.setStyle(_this.tooltip, 'opacity', '1'); - }, 0); - }; - TooltipDirective.prototype.setPosition = function (placement) { - var hostPos = this.el.nativeElement.getBoundingClientRect(); - this.renderer.addClass(this.tooltip, 'ng-tooltip-' + placement); - var topExit = hostPos.top - this.tooltip.getBoundingClientRect().height - parseInt(getComputedStyle(this.tooltip).marginTop, 10) < 0; - var bottomExit = window.innerHeight < hostPos.bottom + this.tooltip.getBoundingClientRect().height + parseInt(getComputedStyle(this.tooltip).marginTop, 10); - switch (placement) { - case 'top': - if (topExit) { - this.renderer.removeClass(this.tooltip, 'ng-tooltip-' + placement); - this.setPosition('bottom'); - return; - } - else { - this.renderer.setStyle(this.tooltip, 'left', hostPos.left + (hostPos.right - hostPos.left) / 2 - this.tooltip.getBoundingClientRect().width / 2 + 'px'); - this.renderer.setStyle(this.tooltip, 'top', hostPos.top - this.tooltip.getBoundingClientRect().height + 'px'); - this.checkSides(); - } - break; - case 'top-left': - if (topExit) { - this.renderer.removeClass(this.tooltip, 'ng-tooltip-' + placement); - this.setPosition('bottom-left'); - return; - } - else { - this.renderer.setStyle(this.tooltip, 'left', hostPos.left + 'px'); - this.renderer.setStyle(this.tooltip, 'top', hostPos.top - this.tooltip.getBoundingClientRect().height + 'px'); - this.checkSides(); - } - break; - case 'top-right': - if (topExit) { - this.renderer.removeClass(this.tooltip, 'ng-tooltip-' + placement); - this.setPosition('bottom-right'); - return; - } - else { - this.renderer.setStyle(this.tooltip, 'left', hostPos.right - this.tooltip.offsetWidth + 'px'); - this.renderer.setStyle(this.tooltip, 'top', hostPos.top - this.tooltip.getBoundingClientRect().height + 'px'); - this.checkSides(); - } - break; - case 'bottom': - if (bottomExit) { - this.renderer.removeClass(this.tooltip, 'ng-tooltip-' + placement); - this.setPosition('top'); - return; - } - else { - this.renderer.setStyle(this.tooltip, 'top', hostPos.bottom + 'px'); - this.renderer.setStyle(this.tooltip, 'left', hostPos.left + (hostPos.right - hostPos.left) / 2 - this.tooltip.getBoundingClientRect().width / 2 + 'px'); - this.checkSides(); - } - break; - case 'bottom-left': - if (bottomExit) { - this.renderer.removeClass(this.tooltip, 'ng-tooltip-' + placement); - this.setPosition('top-left'); - return; - } - else { - this.renderer.setStyle(this.tooltip, 'top', hostPos.bottom + 'px'); - this.renderer.setStyle(this.tooltip, 'left', hostPos.left + 'px'); - this.checkSides(); - } - break; - case 'bottom-right': - if (bottomExit) { - this.renderer.removeClass(this.tooltip, 'ng-tooltip-' + placement); - this.setPosition('top-right'); - return; - } - else { - this.renderer.setStyle(this.tooltip, 'top', hostPos.bottom + 'px'); - this.renderer.setStyle(this.tooltip, 'left', hostPos.right - this.tooltip.offsetWidth + 'px'); - this.checkSides(); - } - break; - case 'left': - this.renderer.setStyle(this.tooltip, 'left', hostPos.left - this.tooltip.getBoundingClientRect().width + 'px'); - this.renderer.setStyle(this.tooltip, 'top', hostPos.top + (hostPos.bottom - hostPos.top) / 2 - this.tooltip.getBoundingClientRect().height / 2 + 'px'); - break; - case 'left-top': - this.renderer.setStyle(this.tooltip, 'top', hostPos.top + 'px'); - this.renderer.setStyle(this.tooltip, 'left', hostPos.left - this.tooltip.getBoundingClientRect().width + 'px'); - break; - case 'left-bottom': - this.renderer.setStyle(this.tooltip, 'left', hostPos.left - this.tooltip.getBoundingClientRect().width + 'px'); - this.renderer.setStyle(this.tooltip, 'top', hostPos.bottom - this.tooltip.getBoundingClientRect().height + 'px'); - break; - case 'right': - this.renderer.setStyle(this.tooltip, 'left', hostPos.right + 'px'); - this.renderer.setStyle(this.tooltip, 'top', hostPos.top + (hostPos.bottom - hostPos.top) / 2 - this.tooltip.getBoundingClientRect().height / 2 + 'px'); - break; - case 'right-top': - this.renderer.setStyle(this.tooltip, 'top', hostPos.top + 'px'); - this.renderer.setStyle(this.tooltip, 'left', hostPos.right + 'px'); - break; - case 'right-bottom': - this.renderer.setStyle(this.tooltip, 'left', hostPos.right + 'px'); - this.renderer.setStyle(this.tooltip, 'top', hostPos.bottom - this.tooltip.getBoundingClientRect().height + 'px'); - break; - } - }; - TooltipDirective.prototype.checkSides = function () { - if (this.tooltip.getBoundingClientRect().left < 0) { - this.renderer.setStyle(this.tooltip, 'left', 0); - } - if (this.tooltip.getBoundingClientRect().right > window.innerWidth) { - this.renderer.setStyle(this.tooltip, 'left', window.innerWidth - this.tooltip.getBoundingClientRect().width + 'px'); - } - }; - TooltipDirective.prototype.ngOnDestroy = function () { - clearTimeout(this.removeTooltipTimeout); - clearTimeout(this.removeTooltipTimeoutInner); - clearTimeout(this.removeTooltipTimeDelay); - if (this.tooltip) { - this.renderer.removeChild(document.body, this.tooltip); - this.tooltip = null; - } - }; - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["HostBinding"])('style.cursor'), - __metadata("design:type", Object) - ], TooltipDirective.prototype, "cursor", void 0); - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Input"])('tooltip'), - __metadata("design:type", Object) - ], TooltipDirective.prototype, "tooltipInner", void 0); - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Input"])(), - __metadata("design:type", String) - ], TooltipDirective.prototype, "placement", void 0); - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Input"])(), - __metadata("design:type", String) - ], TooltipDirective.prototype, "tooltipClass", void 0); - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Input"])(), - __metadata("design:type", Object) - ], TooltipDirective.prototype, "timeout", void 0); - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Input"])(), - __metadata("design:type", Object) - ], TooltipDirective.prototype, "timeDelay", void 0); - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Input"])(), - __metadata("design:type", Object) - ], TooltipDirective.prototype, "delay", void 0); - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Input"])(), - __metadata("design:type", Object) - ], TooltipDirective.prototype, "showWhenNoOverflow", void 0); - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Output"])(), - __metadata("design:type", Object) - ], TooltipDirective.prototype, "onHide", void 0); - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["HostListener"])('mouseenter'), - __metadata("design:type", Function), - __metadata("design:paramtypes", []), - __metadata("design:returntype", void 0) - ], TooltipDirective.prototype, "onMouseEnter", null); - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["HostListener"])('mouseleave'), - __metadata("design:type", Function), - __metadata("design:paramtypes", []), - __metadata("design:returntype", void 0) - ], TooltipDirective.prototype, "onMouseLeave", null); - TooltipDirective = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Directive"])({ - selector: '[tooltip]' - }), - __metadata("design:paramtypes", [_angular_core__WEBPACK_IMPORTED_MODULE_0__["ElementRef"], _angular_core__WEBPACK_IMPORTED_MODULE_0__["Renderer2"], _angular_router__WEBPACK_IMPORTED_MODULE_1__["ActivatedRoute"]]) - ], TooltipDirective); - return TooltipDirective; -}()); - - - -/***/ }), - -/***/ "./src/app/_helpers/directives/transaction-details/transaction-details.component.html": -/*!********************************************************************************************!*\ - !*** ./src/app/_helpers/directives/transaction-details/transaction-details.component.html ***! - \********************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = "
      \r\n
      \r\n {{ 'HISTORY.DETAILS.ID' | translate }}\r\n {{transaction.tx_hash}}\r\n {{ 'HISTORY.DETAILS.SIZE' | translate }}\r\n {{ 'HISTORY.DETAILS.SIZE_VALUE' | translate : {value: transaction.tx_blob_size} }}\r\n
      \r\n
      \r\n {{ 'HISTORY.DETAILS.HEIGHT' | translate }}\r\n {{transaction.height}}\r\n {{ 'HISTORY.DETAILS.CONFIRMATION' | translate }}\r\n {{transaction.height === 0 ? 0 : variablesService.height_app - transaction.height}}\r\n
      \r\n
      \r\n {{ 'HISTORY.DETAILS.INPUTS' | translate }}\r\n {{inputs.join(', ')}}\r\n {{ 'HISTORY.DETAILS.OUTPUTS' | translate }}\r\n {{outputs.join(', ')}}\r\n
      \r\n
      \r\n {{ 'HISTORY.DETAILS.PAYMENT_ID' | translate }}\r\n \r\n {{transaction.payment_id}}\r\n \r\n
      \r\n
      \r\n {{ 'HISTORY.DETAILS.COMMENT' | translate }}\r\n \r\n {{transaction.comment}}\r\n \r\n
      \r\n
      \r\n" - -/***/ }), - -/***/ "./src/app/_helpers/directives/transaction-details/transaction-details.component.scss": -/*!********************************************************************************************!*\ - !*** ./src/app/_helpers/directives/transaction-details/transaction-details.component.scss ***! - \********************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = ":host {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%; }\n\n.table {\n border-top: 0.2rem solid #ebebeb;\n margin: 0 3rem;\n padding: 0.5rem 0; }\n\n.table .row {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n border-top: none;\n line-height: 3rem;\n margin: 0 -3rem;\n width: 100%;\n height: 3rem; }\n\n.table .row .cell {\n flex-shrink: 0;\n flex-grow: 0;\n padding: 0 1rem;\n overflow: hidden;\n text-overflow: ellipsis; }\n\n.table .row .cell:first-child {\n padding-left: 3rem; }\n\n.table .row .cell:last-child {\n padding-right: 3rem; }\n\n.table .row .cell.key-value {\n cursor: pointer; }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX2hlbHBlcnMvZGlyZWN0aXZlcy90cmFuc2FjdGlvbi1kZXRhaWxzL0Q6XFxQcm9qZWN0XFxXT1JLX05FV1xcemFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxhcHBcXF9oZWxwZXJzXFxkaXJlY3RpdmVzXFx0cmFuc2FjdGlvbi1kZXRhaWxzXFx0cmFuc2FjdGlvbi1kZXRhaWxzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0Usa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixPQUFPO0VBQ1AsV0FBVyxFQUFBOztBQUdiO0VBQ0UsZ0NBQWdDO0VBQ2hDLGNBQWM7RUFDZCxpQkFBaUIsRUFBQTs7QUFIbkI7SUFNSSxhQUFhO0lBQ2IsMkJBQTJCO0lBQzNCLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGVBQWU7SUFDZixXQUFXO0lBQ1gsWUFBWSxFQUFBOztBQWJoQjtNQWdCTSxjQUFjO01BQ2QsWUFBWTtNQUNaLGVBQWU7TUFDZixnQkFBZ0I7TUFDaEIsdUJBQXVCLEVBQUE7O0FBcEI3QjtRQXVCUSxrQkFBa0IsRUFBQTs7QUF2QjFCO1FBMkJRLG1CQUFtQixFQUFBOztBQTNCM0I7UUErQlEsZUFBZSxFQUFBIiwiZmlsZSI6InNyYy9hcHAvX2hlbHBlcnMvZGlyZWN0aXZlcy90cmFuc2FjdGlvbi1kZXRhaWxzL3RyYW5zYWN0aW9uLWRldGFpbHMuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4udGFibGUge1xyXG4gIGJvcmRlci10b3A6IDAuMnJlbSBzb2xpZCAjZWJlYmViO1xyXG4gIG1hcmdpbjogMCAzcmVtO1xyXG4gIHBhZGRpbmc6IDAuNXJlbSAwO1xyXG5cclxuICAucm93IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgYm9yZGVyLXRvcDogbm9uZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAzcmVtO1xyXG4gICAgbWFyZ2luOiAwIC0zcmVtO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDNyZW07XHJcblxyXG4gICAgLmNlbGwge1xyXG4gICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgZmxleC1ncm93OiAwO1xyXG4gICAgICBwYWRkaW5nOiAwIDFyZW07XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cclxuICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYua2V5LXZhbHVlIHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19 */" - -/***/ }), - -/***/ "./src/app/_helpers/directives/transaction-details/transaction-details.component.ts": -/*!******************************************************************************************!*\ - !*** ./src/app/_helpers/directives/transaction-details/transaction-details.component.ts ***! - \******************************************************************************************/ -/*! exports provided: TransactionDetailsComponent */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TransactionDetailsComponent", function() { return TransactionDetailsComponent; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _models_transaction_model__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../models/transaction.model */ "./src/app/_helpers/models/transaction.model.ts"); -/* harmony import */ var _services_variables_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../services/variables.service */ "./src/app/_helpers/services/variables.service.ts"); -/* harmony import */ var _services_backend_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../services/backend.service */ "./src/app/_helpers/services/backend.service.ts"); -/* harmony import */ var _pipes_int_to_money_pipe__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../pipes/int-to-money.pipe */ "./src/app/_helpers/pipes/int-to-money.pipe.ts"); -/* harmony import */ var _shared_constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../_shared/constants */ "./src/app/_shared/constants.ts"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - -var TransactionDetailsComponent = /** @class */ (function () { - function TransactionDetailsComponent(variablesService, backendService, intToMoneyPipe) { - this.variablesService = variablesService; - this.backendService = backendService; - this.intToMoneyPipe = intToMoneyPipe; - this.inputs = []; - this.outputs = []; - } - TransactionDetailsComponent.prototype.ngOnInit = function () { - for (var input in this.transaction.td['spn']) { - if (this.transaction.td['spn'].hasOwnProperty(input)) { - this.inputs.push(this.intToMoneyPipe.transform(this.transaction.td['spn'][input])); - } - } - for (var output in this.transaction.td['rcv']) { - if (this.transaction.td['rcv'].hasOwnProperty(output)) { - this.outputs.push(this.intToMoneyPipe.transform(this.transaction.td['rcv'][output])); - } - } - }; - TransactionDetailsComponent.prototype.openInBrowser = function (tr) { - this.backendService.openUrlInBrowser((this.variablesService.testnet ? _shared_constants__WEBPACK_IMPORTED_MODULE_5__["BLOCK_EXPLORER_TN_TX_URL_PREFIX"] : _shared_constants__WEBPACK_IMPORTED_MODULE_5__["BLOCK_EXPLORER_TX_URL_PREFIX"]) + tr); - }; - TransactionDetailsComponent.prototype.ngOnDestroy = function () { }; - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Input"])(), - __metadata("design:type", _models_transaction_model__WEBPACK_IMPORTED_MODULE_1__["Transaction"]) - ], TransactionDetailsComponent.prototype, "transaction", void 0); - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Input"])(), - __metadata("design:type", Array) - ], TransactionDetailsComponent.prototype, "sizes", void 0); - TransactionDetailsComponent = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Component"])({ - selector: 'app-transaction-details', - template: __webpack_require__(/*! ./transaction-details.component.html */ "./src/app/_helpers/directives/transaction-details/transaction-details.component.html"), - styles: [__webpack_require__(/*! ./transaction-details.component.scss */ "./src/app/_helpers/directives/transaction-details/transaction-details.component.scss")] - }), - __metadata("design:paramtypes", [_services_variables_service__WEBPACK_IMPORTED_MODULE_2__["VariablesService"], _services_backend_service__WEBPACK_IMPORTED_MODULE_3__["BackendService"], _pipes_int_to_money_pipe__WEBPACK_IMPORTED_MODULE_4__["IntToMoneyPipe"]]) - ], TransactionDetailsComponent); - return TransactionDetailsComponent; -}()); - - - -/***/ }), - -/***/ "./src/app/_helpers/models/transaction.model.ts": -/*!******************************************************!*\ - !*** ./src/app/_helpers/models/transaction.model.ts ***! - \******************************************************/ -/*! exports provided: Transaction */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Transaction", function() { return Transaction; }); -var Transaction = /** @class */ (function () { - function Transaction() { - } - return Transaction; -}()); - - - -/***/ }), - -/***/ "./src/app/_helpers/models/wallet.model.ts": -/*!*************************************************!*\ - !*** ./src/app/_helpers/models/wallet.model.ts ***! - \*************************************************/ -/*! exports provided: Wallet */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Wallet", function() { return Wallet; }); -/* harmony import */ var bignumber_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! bignumber.js */ "./node_modules/bignumber.js/bignumber.js"); -/* harmony import */ var bignumber_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(bignumber_js__WEBPACK_IMPORTED_MODULE_0__); - -var Wallet = /** @class */ (function () { - function Wallet(id, name, pass, path, address, balance, unlocked_balance, mined, tracking) { - if (mined === void 0) { mined = 0; } - if (tracking === void 0) { tracking = ''; } - this.updated = false; - this.history = []; - this.pages = []; - this.excluded_history = []; - this.contracts = []; - this.send_data = { - address: null, - amount: null, - comment: null, - mixin: null, - fee: null, - hide: null - }; - this.wallet_id = id; - this.name = name; - this.pass = pass; - this.path = path; - this.address = address; - this.balance = balance; - this.unlocked_balance = unlocked_balance; - this.mined_total = mined; - this.tracking_hey = tracking; - this.alias = {}; - this.staking = false; - this.new_messages = 0; - this.new_contracts = 0; - this.history = []; - this.excluded_history = []; - this.progress = 0; - this.loaded = false; - } - Wallet.prototype.getMoneyEquivalent = function (equivalent) { - return this.balance.multipliedBy(equivalent).toFixed(0); - }; - Wallet.prototype.havePass = function () { - return (this.pass !== '' && this.pass !== null); - }; - Wallet.prototype.isActive = function (id) { - return this.wallet_id === id; - }; - Wallet.prototype.prepareHistoryItem = function (item) { - if (item.tx_type === 4) { - item.sortFee = item.amount.plus(item.fee).negated(); - item.sortAmount = new bignumber_js__WEBPACK_IMPORTED_MODULE_0__["BigNumber"](0); - } - else if (item.tx_type === 3) { - item.sortFee = new bignumber_js__WEBPACK_IMPORTED_MODULE_0__["BigNumber"](0); - } - else if ((item.hasOwnProperty('contract') && (item.contract[0].state === 3 || item.contract[0].state === 6 || item.contract[0].state === 601) && !item.contract[0].is_a)) { - item.sortFee = item.fee.negated(); - item.sortAmount = item.amount; - } - else { - if (!item.is_income) { - item.sortFee = item.fee.negated(); - item.sortAmount = item.amount.negated(); - } - else { - item.sortAmount = item.amount; - } - } - return item; - }; - Wallet.prototype.prepareHistory = function (items) { - for (var i = 0; i < items.length; i++) { - if ((items[i].tx_type === 7 && items[i].is_income) || (items[i].tx_type === 11 && items[i].is_income) || (items[i].amount.eq(0) && items[i].fee.eq(0) && !items[i].is_mining)) { - var exists = false; - for (var j = 0; j < this.excluded_history.length; j++) { - if (this.excluded_history[j].tx_hash === items[i].tx_hash) { - exists = true; - if (this.excluded_history[j].height !== items[i].height) { - this.excluded_history[j] = items[i]; - } - break; - } - } - if (!exists) { - this.excluded_history.push(items[i]); - } - } - else { - var exists = false; - for (var j = 0; j < this.history.length; j++) { - if (this.history[j].tx_hash === items[i].tx_hash) { - exists = true; - if (this.history[j].height !== items[i].height) { - this.history[j] = this.prepareHistoryItem(items[i]); - } - break; - } - } - if (!exists) { - if (this.history.length && items[i].timestamp >= this.history[0].timestamp) { - this.history.unshift(this.prepareHistoryItem(items[i])); - } - else { - this.history.push(this.prepareHistoryItem(items[i])); - } - } - } - } - }; - Wallet.prototype.removeFromHistory = function (hash) { - for (var i = 0; i < this.history.length; i++) { - if (this.history[i].tx_hash === hash) { - this.history.splice(i, 1); - break; - } - } - }; - Wallet.prototype.prepareContractsAfterOpen = function (items, exp_med_ts, height_app, viewedContracts, notViewedContracts) { - var wallet = this; - var _loop_1 = function (i) { - var contract = items[i]; - var contractTransactionExist = false; - if (wallet && wallet.history) { - contractTransactionExist = wallet.history.some(function (elem) { return elem.contract && elem.contract.length && elem.contract[0].contract_id === contract.contract_id; }); - } - if (!contractTransactionExist && wallet && wallet.excluded_history) { - contractTransactionExist = wallet.excluded_history.some(function (elem) { return elem.contract && elem.contract.length && elem.contract[0].contract_id === contract.contract_id; }); - } - if (!contractTransactionExist) { - contract.state = 140; - } - else if (contract.state === 1 && contract.expiration_time < exp_med_ts) { - contract.state = 110; - } - else if (contract.state === 2 && contract.cancel_expiration_time !== 0 && contract.cancel_expiration_time < exp_med_ts && contract.height === 0) { - var searchResult1 = viewedContracts.some(function (elem) { return elem.state === 2 && elem.is_a === contract.is_a && elem.contract_id === contract.contract_id; }); - if (!searchResult1) { - contract.state = 130; - contract.is_new = true; - } - } - else if (contract.state === 1) { - var searchResult2 = notViewedContracts.find(function (elem) { return elem.state === 110 && elem.is_a === contract.is_a && elem.contract_id === contract.contract_id; }); - if (searchResult2) { - if (searchResult2.time === contract.expiration_time) { - contract.state = 110; - } - else { - for (var j = 0; j < notViewedContracts.length; j++) { - if (notViewedContracts[j].contract_id === contract.contract_id && notViewedContracts[j].is_a === contract.is_a) { - notViewedContracts.splice(j, 1); - break; - } - } - for (var j = 0; j < viewedContracts.length; j++) { - if (viewedContracts[j].contract_id === contract.contract_id && viewedContracts[j].is_a === contract.is_a) { - viewedContracts.splice(j, 1); - break; - } - } - } - } - } - else if (contract.state === 2 && (contract.height === 0 || (height_app - contract.height) < 10)) { - contract.state = 201; - } - else if (contract.state === 2) { - var searchResult3 = viewedContracts.some(function (elem) { return elem.state === 120 && elem.is_a === contract.is_a && elem.contract_id === contract.contract_id; }); - if (searchResult3) { - contract.state = 120; - } - } - else if (contract.state === 5) { - var searchResult4 = notViewedContracts.find(function (elem) { return elem.state === 130 && elem.is_a === contract.is_a && elem.contract_id === contract.contract_id; }); - if (searchResult4) { - if (searchResult4.time === contract.cancel_expiration_time) { - contract.state = 130; - } - else { - for (var j = 0; j < notViewedContracts.length; j++) { - if (notViewedContracts[j].contract_id === contract.contract_id && notViewedContracts[j].is_a === contract.is_a) { - notViewedContracts.splice(j, 1); - break; - } - } - for (var j = 0; j < viewedContracts.length; j++) { - if (viewedContracts[j].contract_id === contract.contract_id && viewedContracts[j].is_a === contract.is_a) { - viewedContracts.splice(j, 1); - break; - } - } - } - } - } - else if (contract.state === 6 && (contract.height === 0 || (height_app - contract.height) < 10)) { - contract.state = 601; - } - var searchResult = viewedContracts.some(function (elem) { return elem.state === contract.state && elem.is_a === contract.is_a && elem.contract_id === contract.contract_id; }); - contract.is_new = !searchResult; - wallet.contracts.push(contract); - }; - for (var i = 0; i < items.length; i++) { - _loop_1(i); - } - this.recountNewContracts(); - }; - Wallet.prototype.recountNewContracts = function () { - this.new_contracts = (this.contracts.filter(function (item) { return item.is_new === true; })).length; - }; - Wallet.prototype.getContract = function (id) { - for (var i = 0; i < this.contracts.length; i++) { - if (this.contracts[i].contract_id === id) { - return this.contracts[i]; - } - } - return null; - }; - return Wallet; -}()); - - - -/***/ }), - -/***/ "./src/app/_helpers/pipes/contract-status-messages.pipe.ts": -/*!*****************************************************************!*\ - !*** ./src/app/_helpers/pipes/contract-status-messages.pipe.ts ***! - \*****************************************************************/ -/*! exports provided: ContractStatusMessagesPipe */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ContractStatusMessagesPipe", function() { return ContractStatusMessagesPipe; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @ngx-translate/core */ "./node_modules/@ngx-translate/core/fesm5/ngx-translate-core.js"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - -var ContractStatusMessagesPipe = /** @class */ (function () { - function ContractStatusMessagesPipe(translate) { - this.translate = translate; - } - ContractStatusMessagesPipe.prototype.getStateSeller = function (stateNum) { - var state = { part1: '', part2: '' }; - switch (stateNum) { - case 1: - state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.NEW_CONTRACT'); - break; - case 110: - state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.IGNORED'); - break; - case 201: - state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.ACCEPTED'); - state.part2 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.WAIT'); - break; - case 2: - state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.WAITING_BUYER'); - break; - case 3: - state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.COMPLETED'); - break; - case 4: - state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.NOT_RECEIVED'); - state.part2 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.NULLIFIED'); - break; - case 5: - state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.PROPOSAL_CANCEL'); - break; - case 601: - state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.BEING_CANCELLED'); - break; - case 6: - state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.CANCELLED'); - break; - case 130: - state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.IGNORED_CANCEL'); - break; - case 140: - state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.EXPIRED'); - break; - } - return state.part1 + (state.part2.length ? '. ' + state.part2 : ''); - }; - ContractStatusMessagesPipe.prototype.getStateBuyer = function (stateNum) { - var state = { part1: '', part2: '' }; - switch (stateNum) { - case 1: - state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.WAITING'); - break; - case 110: - state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.IGNORED'); - break; - case 201: - state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.ACCEPTED'); - state.part2 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.WAIT'); - break; - case 2: - state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.ACCEPTED'); - break; - case 120: - state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.WAITING_SELLER'); - break; - case 3: - state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.COMPLETED'); - break; - case 4: - state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.NOT_RECEIVED'); - state.part2 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.NULLIFIED'); - break; - case 5: - state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.WAITING_CANCEL'); - break; - case 601: - state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.BEING_CANCELLED'); - break; - case 6: - state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.CANCELLED'); - break; - case 130: - state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.IGNORED_CANCEL'); - break; - case 140: - state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.EXPIRED'); - break; - } - return state.part1 + (state.part2.length ? '. ' + state.part2 : ''); - }; - ContractStatusMessagesPipe.prototype.transform = function (state, is_a) { - if (is_a) { - return this.getStateBuyer(state); - } - else { - return this.getStateSeller(state); - } - }; - ContractStatusMessagesPipe = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Pipe"])({ - name: 'contractStatusMessages' - }), - __metadata("design:paramtypes", [_ngx_translate_core__WEBPACK_IMPORTED_MODULE_1__["TranslateService"]]) - ], ContractStatusMessagesPipe); - return ContractStatusMessagesPipe; -}()); - - - -/***/ }), - -/***/ "./src/app/_helpers/pipes/contract-time-left.pipe.ts": -/*!***********************************************************!*\ - !*** ./src/app/_helpers/pipes/contract-time-left.pipe.ts ***! - \***********************************************************/ -/*! exports provided: ContractTimeLeftPipe */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ContractTimeLeftPipe", function() { return ContractTimeLeftPipe; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _services_variables_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../services/variables.service */ "./src/app/_helpers/services/variables.service.ts"); -/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @ngx-translate/core */ "./node_modules/@ngx-translate/core/fesm5/ngx-translate-core.js"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - -var ContractTimeLeftPipe = /** @class */ (function () { - function ContractTimeLeftPipe(service, translate) { - this.service = service; - this.translate = translate; - } - ContractTimeLeftPipe.prototype.transform = function (value, arg) { - var time = parseInt(((parseInt(value, 10) - this.service.exp_med_ts) / 3600).toFixed(0), 10); - var type = arg || 0; - if (time === 0) { - return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_LESS_ONE'); - } - if (this.service.settings.language === 'en') { - if (type === 0) { - if (time === 1) { - return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_ONE', { time: time }); - } - else { - return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY', { time: time }); - } - } - else if (type === 1) { - if (time === 1) { - return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_ONE_RESPONSE', { time: time }); - } - else { - return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_RESPONSE', { time: time }); - } - } - else if (type === 2) { - if (time === 1) { - return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_ONE_WAITING', { time: time }); - } - else { - return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_WAITING', { time: time }); - } - } - } - else { - var rest = time % 10; - if (type === 0) { - if (((time > 20) && (rest === 1)) || time === 1) { - return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_ONE', { time: time }); - } - else if ((time > 1) && (time < 5) || ((time > 20) && (rest === 2 || rest === 3 || rest === 4))) { - return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY', { time: time }); - } - else { - return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_ALT', { time: time }); - } - } - else if (type === 1) { - if (((time > 20) && (rest === 1)) || time === 1) { - return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_ONE_RESPONSE', { time: time }); - } - else if ((time > 1) && (time < 5) || ((time > 20) && (rest === 2 || rest === 3 || rest === 4))) { - return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_RESPONSE', { time: time }); - } - else { - return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_ALT_RESPONSE', { time: time }); - } - } - else if (type === 2) { - if (((time > 20) && (rest === 1)) || time === 1) { - return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_ONE_WAITING', { time: time }); - } - else if ((time > 1) && (time < 5) || ((time > 20) && (rest === 2 || rest === 3 || rest === 4))) { - return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_WAITING', { time: time }); - } - else { - return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_ALT_WAITING', { time: time }); - } - } - } - return null; - }; - ContractTimeLeftPipe = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Pipe"])({ - name: 'contractTimeLeft' - }), - __metadata("design:paramtypes", [_services_variables_service__WEBPACK_IMPORTED_MODULE_1__["VariablesService"], _ngx_translate_core__WEBPACK_IMPORTED_MODULE_2__["TranslateService"]]) - ], ContractTimeLeftPipe); - return ContractTimeLeftPipe; -}()); - - - -/***/ }), - -/***/ "./src/app/_helpers/pipes/history-type-messages.pipe.ts": -/*!**************************************************************!*\ - !*** ./src/app/_helpers/pipes/history-type-messages.pipe.ts ***! - \**************************************************************/ -/*! exports provided: HistoryTypeMessagesPipe */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "HistoryTypeMessagesPipe", function() { return HistoryTypeMessagesPipe; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @ngx-translate/core */ "./node_modules/@ngx-translate/core/fesm5/ngx-translate-core.js"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - -var HistoryTypeMessagesPipe = /** @class */ (function () { - function HistoryTypeMessagesPipe(translate) { - this.translate = translate; - } - HistoryTypeMessagesPipe.prototype.transform = function (item, args) { - if (item.tx_type === 0) { - if (item.remote_addresses && item.remote_addresses[0]) { - return item.remote_addresses[0]; - } - else { - if (item.is_income) { - return this.translate.instant('HISTORY.TYPE_MESSAGES.HIDDEN'); - } - else { - return this.translate.instant('HISTORY.TYPE_MESSAGES.UNDEFINED'); - } - } - } - else if (item.tx_type === 6 && item.height === 0) { - return 'unknown'; - } - else if (item.tx_type === 9) { - if (item.hasOwnProperty('contract') && item.contract[0].is_a) { - return this.translate.instant('HISTORY.TYPE_MESSAGES.COMPLETE_BUYER'); - } - else { - return this.translate.instant('HISTORY.TYPE_MESSAGES.COMPLETE_SELLER'); - } - } - else { - switch (item.tx_type) { - // case 0: - // return ''; - // case 1: - // return ''; - // case 2: - // return ''; - // case 3: - // return ''; - case 4: - return this.translate.instant('HISTORY.TYPE_MESSAGES.CREATE_ALIAS'); - case 5: - return this.translate.instant('HISTORY.TYPE_MESSAGES.UPDATE_ALIAS'); - case 6: - return (item.td['spn'] && item.td['spn'].length) ? this.translate.instant('HISTORY.TYPE_MESSAGES.POS_REWARD') : this.translate.instant('HISTORY.TYPE_MESSAGES.POW_REWARD'); - case 7: - return this.translate.instant('HISTORY.TYPE_MESSAGES.CREATE_CONTRACT'); - case 8: - return this.translate.instant('HISTORY.TYPE_MESSAGES.PLEDGE_CONTRACT'); - // case 9: - // return ''; - case 10: - return this.translate.instant('HISTORY.TYPE_MESSAGES.NULLIFY_CONTRACT'); - case 11: - return this.translate.instant('HISTORY.TYPE_MESSAGES.PROPOSAL_CANCEL_CONTRACT'); - case 12: - return this.translate.instant('HISTORY.TYPE_MESSAGES.CANCEL_CONTRACT'); - } - } - return this.translate.instant('HISTORY.TYPE_MESSAGES.UNDEFINED'); - }; - HistoryTypeMessagesPipe = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Pipe"])({ - name: 'historyTypeMessages' - }), - __metadata("design:paramtypes", [_ngx_translate_core__WEBPACK_IMPORTED_MODULE_1__["TranslateService"]]) - ], HistoryTypeMessagesPipe); - return HistoryTypeMessagesPipe; -}()); - - - -/***/ }), - -/***/ "./src/app/_helpers/pipes/int-to-money.pipe.ts": -/*!*****************************************************!*\ - !*** ./src/app/_helpers/pipes/int-to-money.pipe.ts ***! - \*****************************************************/ -/*! exports provided: IntToMoneyPipe */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "IntToMoneyPipe", function() { return IntToMoneyPipe; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _services_variables_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../services/variables.service */ "./src/app/_helpers/services/variables.service.ts"); -/* harmony import */ var bignumber_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! bignumber.js */ "./node_modules/bignumber.js/bignumber.js"); -/* harmony import */ var bignumber_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(bignumber_js__WEBPACK_IMPORTED_MODULE_2__); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - -var IntToMoneyPipe = /** @class */ (function () { - function IntToMoneyPipe(variablesService) { - this.variablesService = variablesService; - } - IntToMoneyPipe.prototype.transform = function (value, args) { - if (value === 0 || value === undefined) { - return '0'; - } - var maxFraction = this.variablesService.digits; - if (args) { - maxFraction = parseInt(args, 10); - } - var power = Math.pow(10, this.variablesService.digits); - var str = (new bignumber_js__WEBPACK_IMPORTED_MODULE_2__["BigNumber"](value)).div(power).toFixed(maxFraction); - for (var i = str.length - 1; i >= 0; i--) { - if (str[i] !== '0') { - str = str.substr(0, i + 1); - break; - } - } - if (str[str.length - 1] === '.') { - str = str.substr(0, str.length - 1); - } - return str; - }; - IntToMoneyPipe = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Pipe"])({ - name: 'intToMoney' - }), - __metadata("design:paramtypes", [_services_variables_service__WEBPACK_IMPORTED_MODULE_1__["VariablesService"]]) - ], IntToMoneyPipe); - return IntToMoneyPipe; -}()); - - - -/***/ }), - -/***/ "./src/app/_helpers/pipes/money-to-int.pipe.ts": -/*!*****************************************************!*\ - !*** ./src/app/_helpers/pipes/money-to-int.pipe.ts ***! - \*****************************************************/ -/*! exports provided: MoneyToIntPipe */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MoneyToIntPipe", function() { return MoneyToIntPipe; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _services_variables_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../services/variables.service */ "./src/app/_helpers/services/variables.service.ts"); -/* harmony import */ var bignumber_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! bignumber.js */ "./node_modules/bignumber.js/bignumber.js"); -/* harmony import */ var bignumber_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(bignumber_js__WEBPACK_IMPORTED_MODULE_2__); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - -var MoneyToIntPipe = /** @class */ (function () { - function MoneyToIntPipe(variablesService) { - this.variablesService = variablesService; - } - MoneyToIntPipe.prototype.transform = function (value, args) { - var CURRENCY_DISPLAY_DECIMAL_POINT = this.variablesService.digits; - var result; - if (value) { - var am_str = value.toString().trim(); - var point_index = am_str.indexOf('.'); - var fraction_size = 0; - if (-1 !== point_index) { - fraction_size = am_str.length - point_index - 1; - while (CURRENCY_DISPLAY_DECIMAL_POINT < fraction_size && '0' === am_str[am_str.length - 1]) { - am_str = am_str.slice(0, am_str.length - 1); - --fraction_size; - } - if (CURRENCY_DISPLAY_DECIMAL_POINT < fraction_size) { - return undefined; - } - am_str = am_str.slice(0, point_index) + am_str.slice(point_index + 1, am_str.length); - } - else { - fraction_size = 0; - } - if (!am_str.length) { - return undefined; - } - if (fraction_size < CURRENCY_DISPLAY_DECIMAL_POINT) { - for (var i = 0; i !== CURRENCY_DISPLAY_DECIMAL_POINT - fraction_size; i++) { - am_str = am_str + '0'; - } - } - result = (new bignumber_js__WEBPACK_IMPORTED_MODULE_2__["BigNumber"](am_str)).integerValue(); - } - return result; - }; - MoneyToIntPipe = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Pipe"])({ - name: 'moneyToInt' - }), - __metadata("design:paramtypes", [_services_variables_service__WEBPACK_IMPORTED_MODULE_1__["VariablesService"]]) - ], MoneyToIntPipe); - return MoneyToIntPipe; -}()); - - - -/***/ }), - -/***/ "./src/app/_helpers/pipes/safe-html.pipe.ts": -/*!**************************************************!*\ - !*** ./src/app/_helpers/pipes/safe-html.pipe.ts ***! - \**************************************************/ -/*! exports provided: SafeHTMLPipe */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SafeHTMLPipe", function() { return SafeHTMLPipe; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/platform-browser */ "./node_modules/@angular/platform-browser/fesm5/platform-browser.js"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - -var SafeHTMLPipe = /** @class */ (function () { - function SafeHTMLPipe(sanitizer) { - this.sanitizer = sanitizer; - } - SafeHTMLPipe.prototype.transform = function (html) { - return this.sanitizer.bypassSecurityTrustHtml(html); - }; - SafeHTMLPipe = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Pipe"])({ - name: 'safeHTML' - }), - __metadata("design:paramtypes", [_angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__["DomSanitizer"]]) - ], SafeHTMLPipe); - return SafeHTMLPipe; -}()); - - - -/***/ }), - -/***/ "./src/app/_helpers/services/backend.service.ts": -/*!******************************************************!*\ - !*** ./src/app/_helpers/services/backend.service.ts ***! - \******************************************************/ -/*! exports provided: BackendService */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BackendService", function() { return BackendService; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! rxjs */ "./node_modules/rxjs/_esm5/index.js"); -/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @ngx-translate/core */ "./node_modules/@ngx-translate/core/fesm5/ngx-translate-core.js"); -/* harmony import */ var _variables_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./variables.service */ "./src/app/_helpers/services/variables.service.ts"); -/* harmony import */ var _modal_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./modal.service */ "./src/app/_helpers/services/modal.service.ts"); -/* harmony import */ var _pipes_money_to_int_pipe__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../pipes/money-to-int.pipe */ "./src/app/_helpers/pipes/money-to-int.pipe.ts"); -/* harmony import */ var json_bignumber__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! json-bignumber */ "./node_modules/json-bignumber/src/JSONBigNumber.js"); -/* harmony import */ var bignumber_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! bignumber.js */ "./node_modules/bignumber.js/bignumber.js"); -/* harmony import */ var bignumber_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(bignumber_js__WEBPACK_IMPORTED_MODULE_7__); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - - -var BackendService = /** @class */ (function () { - function BackendService(translate, variablesService, modalService, moneyToIntPipe) { - this.translate = translate; - this.variablesService = variablesService; - this.modalService = modalService; - this.moneyToIntPipe = moneyToIntPipe; - this.backendLoaded = false; - } - BackendService_1 = BackendService; - BackendService.bigNumberParser = function (key, val) { - if (val.constructor.name === 'BigNumber' && ['balance', 'unlocked_balance', 'amount', 'fee', 'b_fee', 'to_pay', 'a_pledge', 'b_pledge', 'coast', 'a'].indexOf(key) === -1) { - return val.toNumber(); - } - if (key === 'rcv' || key === 'spn') { - for (var i = 0; i < val.length; i++) { - val[i] = new bignumber_js__WEBPACK_IMPORTED_MODULE_7__["BigNumber"](val[i]); - } - } - return val; - }; - BackendService.Debug = function (type, message) { - switch (type) { - case 0: - console.error(message); - break; - case 1: - console.warn(message); - break; - case 2: - console.log(message); - break; - default: - console.log(message); - break; - } - }; - BackendService.prototype.informerRun = function (error, params, command) { - var error_translate = ''; - switch (error) { - case 'NOT_ENOUGH_MONEY': - error_translate = 'ERRORS.NOT_ENOUGH_MONEY'; - // error_translate = 'ERRORS.NO_MONEY'; maybe that one? - if (command === 'cancel_offer') { - error_translate = this.translate.instant('ERRORS.NO_MONEY_REMOVE_OFFER', { - 'fee': this.variablesService.default_fee, - 'currency': this.variablesService.defaultCurrency - }); - } - break; - case 'CORE_BUSY': - error_translate = 'ERRORS.CORE_BUSY'; - break; - case 'BUSY': - error_translate = 'ERRORS.DAEMON_BUSY'; - break; - case 'OVERFLOW': - if (command !== 'get_all_aliases') { - error_translate = ''; - } - break; - case 'NOT_ENOUGH_OUTPUTS_FOR_MIXING': - error_translate = 'ERRORS.NOT_ENOUGH_OUTPUTS_TO_MIX'; - break; - case 'TX_IS_TOO_BIG': - error_translate = 'ERRORS.TRANSACTION_IS_TO_BIG'; - break; - case 'DISCONNECTED': - error_translate = 'ERRORS.TRANSFER_ATTEMPT'; - break; - case 'ACCESS_DENIED': - error_translate = 'ERRORS.ACCESS_DENIED'; - break; - case 'TX_REJECTED': - // if (command === 'request_alias_registration') { - // error_translate = 'INFORMER.ALIAS_IN_REGISTER'; - // } else { - error_translate = 'ERRORS.TRANSACTION_ERROR'; - // } - break; - case 'INTERNAL_ERROR': - error_translate = 'ERRORS.TRANSACTION_ERROR'; - break; - case 'BAD_ARG': - error_translate = 'ERRORS.BAD_ARG'; - break; - case 'WALLET_WRONG_ID': - error_translate = 'ERRORS.WALLET_WRONG_ID'; - break; - case 'WALLET_WATCH_ONLY_NOT_SUPPORTED': - error_translate = 'ERRORS.WALLET_WATCH_ONLY_NOT_SUPPORTED'; - break; - case 'WRONG_PASSWORD': - params = JSON.parse(params); - if (!params.testEmpty) { - error_translate = 'ERRORS.WRONG_PASSWORD'; - } - break; - case 'FILE_RESTORED': - if (command === 'open_wallet') { - error_translate = 'ERRORS.FILE_RESTORED'; - } - break; - case 'FILE_NOT_FOUND': - if (command !== 'open_wallet' && command !== 'get_alias_info_by_name' && command !== 'get_alias_info_by_address') { - error_translate = this.translate.instant('ERRORS.FILE_NOT_FOUND'); - params = JSON.parse(params); - if (params.path) { - error_translate += ': ' + params.path; - } - } - break; - case 'NOT_FOUND': - if (command !== 'open_wallet' && command !== 'get_alias_info_by_name' && command !== 'get_alias_info_by_address') { - error_translate = this.translate.instant('ERRORS.FILE_NOT_FOUND'); - params = JSON.parse(params); - if (params.path) { - error_translate += ': ' + params.path; - } - } - break; - case 'CANCELED': - case '': - break; - case 'FAIL': - if (command === 'create_proposal' || command === 'accept_proposal' || command === 'release_contract' || command === 'request_cancel_contract' || command === 'accept_cancel_contract') { - error_translate = ' '; - } - break; - case 'ALREADY_EXISTS': - error_translate = 'ERRORS.FILE_EXIST'; - break; - case 'FAILED': - BackendService_1.Debug(0, "Error: (" + error + ") was triggered by command: " + command); - break; - default: - error_translate = error; - } - if (error.indexOf('FAIL:failed to save file') > -1) { - error_translate = 'ERRORS.FILE_NOT_SAVED'; - } - if (error.indexOf('FAILED:failed to open binary wallet file for saving') > -1 && command === 'generate_wallet') { - error_translate = ''; - } - if (error_translate !== '') { - this.modalService.prepareModal('error', error_translate); - } - }; - BackendService.prototype.commandDebug = function (command, params, result) { - BackendService_1.Debug(2, '----------------- ' + command + ' -----------------'); - var debug = { - _send_params: params, - _result: result - }; - BackendService_1.Debug(2, debug); - try { - BackendService_1.Debug(2, json_bignumber__WEBPACK_IMPORTED_MODULE_6__["default"].parse(result, BackendService_1.bigNumberParser)); - } - catch (e) { - BackendService_1.Debug(2, { response_data: result, error_code: 'OK' }); - } - }; - BackendService.prototype.backendCallback = function (resultStr, params, callback, command) { - var _this = this; - var Result = resultStr; - if (command !== 'get_clipboard') { - if (!resultStr || resultStr === '') { - Result = {}; - } - else { - try { - Result = json_bignumber__WEBPACK_IMPORTED_MODULE_6__["default"].parse(resultStr, BackendService_1.bigNumberParser); - } - catch (e) { - Result = { response_data: resultStr, error_code: 'OK' }; - } - } - } - else { - Result = { - error_code: 'OK', - response_data: Result - }; - } - var core_busy = Result.error_code === 'CORE_BUSY'; - var Status = (Result.error_code === 'OK' || Result.error_code === 'TRUE'); - if (!Status && Status !== undefined && Result.error_code !== undefined) { - BackendService_1.Debug(1, 'API error for command: "' + command + '". Error code: ' + Result.error_code); - } - var data = ((typeof Result === 'object') && 'response_data' in Result) ? Result.response_data : Result; - var res_error_code = false; - if (typeof Result === 'object' && 'error_code' in Result && Result.error_code !== 'OK' && Result.error_code !== 'TRUE' && Result.error_code !== 'FALSE') { - if (core_busy) { - setTimeout(function () { - // this is will avoid update data when user - // on other wallet after CORE_BUSY (blink of data) - if (command !== 'get_recent_transfers') { - _this.runCommand(command, params, callback); - } - else { - var current_wallet_id = _this.variablesService.currentWallet.wallet_id; - if (current_wallet_id === params.wallet_id) { - _this.runCommand(command, params, callback); - } - } - }, 50); - } - else { - this.informerRun(Result.error_code, params, command); - res_error_code = Result.error_code; - } - } - // if ( command === 'get_offers_ex' ){ - // Service.printLog( "get_offers_ex offers count "+((data.offers)?data.offers.length:0) ); - // } - if (!core_busy) { - if (typeof callback === 'function') { - callback(Status, data, res_error_code); - } - else { - return data; - } - } - }; - BackendService.prototype.runCommand = function (command, params, callback) { - if (this.backendObject) { - if (command === 'get_recent_transfers') { - this.variablesService.get_recent_transfers = true; - } - var Action = this.backendObject[command]; - if (!Action) { - BackendService_1.Debug(0, 'Run Command Error! Command "' + command + '" don\'t found in backendObject'); - } - else { - var that_1 = this; - params = (typeof params === 'string') ? params : json_bignumber__WEBPACK_IMPORTED_MODULE_6__["default"].stringify(params); - if (params === undefined || params === '{}') { - if (command === 'get_recent_transfers') { - this.variablesService.get_recent_transfers = false; - } - Action(function (resultStr) { - that_1.commandDebug(command, params, resultStr); - return that_1.backendCallback(resultStr, params, callback, command); - }); - } - else { - Action(params, function (resultStr) { - that_1.commandDebug(command, params, resultStr); - return that_1.backendCallback(resultStr, params, callback, command); - }); - } - } - } - }; - BackendService.prototype.eventSubscribe = function (command, callback) { - if (command === 'on_core_event') { - this.backendObject[command].connect(callback); - } - else { - this.backendObject[command].connect(function (str) { - callback(json_bignumber__WEBPACK_IMPORTED_MODULE_6__["default"].parse(str, BackendService_1.bigNumberParser)); - }); - } - }; - BackendService.prototype.initService = function () { - var _this = this; - return new rxjs__WEBPACK_IMPORTED_MODULE_1__["Observable"](function (observer) { - if (!_this.backendLoaded) { - _this.backendLoaded = true; - var that_2 = _this; - window.QWebChannel(window.qt.webChannelTransport, function (channel) { - that_2.backendObject = channel.objects.mediator_object; - observer.next('ok'); - }); - } - else { - if (!_this.backendObject) { - observer.error('error'); - observer.error('error'); - } - } - }); - }; - BackendService.prototype.webkitLaunchedScript = function () { - return this.runCommand('webkit_launched_script'); - }; - BackendService.prototype.quitRequest = function () { - return this.runCommand('on_request_quit'); - }; - BackendService.prototype.getAppData = function (callback) { - this.runCommand('get_app_data', {}, callback); - }; - BackendService.prototype.storeAppData = function (callback) { - var _this = this; - if (this.variablesService.wallets.length) { - this.variablesService.settings.wallets = []; - this.variablesService.wallets.forEach(function (wallet) { - _this.variablesService.settings.wallets.push({ name: wallet.name, path: wallet.path }); - }); - } - this.runCommand('store_app_data', this.variablesService.settings, callback); - }; - BackendService.prototype.getSecureAppData = function (pass, callback) { - this.runCommand('get_secure_app_data', pass, callback); - }; - BackendService.prototype.setMasterPassword = function (pass, callback) { - this.runCommand('set_master_password', pass, callback); - }; - BackendService.prototype.checkMasterPassword = function (pass, callback) { - this.runCommand('check_master_password', pass, callback); - }; - BackendService.prototype.storeSecureAppData = function (callback) { - var _this = this; - var data; - var wallets = []; - var contacts = []; - this.variablesService.wallets.forEach(function (wallet) { - wallets.push({ name: wallet.name, pass: wallet.pass, path: wallet.path, staking: wallet.staking }); - }); - this.variablesService.contacts.forEach(function (contact) { - contacts.push({ name: contact.name, address: contact.address, notes: contact.notes }); - }); - data = { wallets: wallets, contacts: contacts }; - this.backendObject['store_secure_app_data'](JSON.stringify(data), this.variablesService.appPass, function (dataStore) { - _this.backendCallback(dataStore, {}, callback, 'store_secure_app_data'); - }); - }; - BackendService.prototype.dropSecureAppData = function (callback) { - var _this = this; - this.backendObject['drop_secure_app_data'](function (dataStore) { - _this.backendCallback(dataStore, {}, callback, 'drop_secure_app_data'); - }); - }; - BackendService.prototype.haveSecureAppData = function (callback) { - this.runCommand('have_secure_app_data', {}, callback); - }; - BackendService.prototype.saveFileDialog = function (caption, fileMask, default_path, callback) { - var dir = default_path ? default_path : '/'; - var params = { - caption: caption, - filemask: fileMask, - default_dir: dir - }; - this.runCommand('show_savefile_dialog', params, callback); - }; - BackendService.prototype.openFileDialog = function (caption, fileMask, default_path, callback) { - var dir = default_path ? default_path : '/'; - var params = { - caption: caption, - filemask: fileMask, - default_dir: dir - }; - this.runCommand('show_openfile_dialog', params, callback); - }; - BackendService.prototype.storeFile = function (path, buff) { - this.backendObject['store_to_file'](path, buff); - }; - BackendService.prototype.loadFile = function (path, callback) { - this.runCommand('load_from_file', path, callback); - }; - BackendService.prototype.generateWallet = function (path, pass, callback) { - var params = { - path: path, - pass: pass - }; - this.runCommand('generate_wallet', params, callback); - }; - BackendService.prototype.openWallet = function (path, pass, txs_to_return, testEmpty, callback) { - var params = { - path: path, - pass: pass, - txs_to_return: txs_to_return - }; - params['testEmpty'] = !!(testEmpty); - this.runCommand('open_wallet', params, callback); - }; - BackendService.prototype.closeWallet = function (wallet_id, callback) { - this.runCommand('close_wallet', { wallet_id: +wallet_id }, callback); - }; - BackendService.prototype.getSmartWalletInfo = function (_a, callback) { - var wallet_id = _a.wallet_id, seed_password = _a.seed_password; - this.runCommand('get_smart_wallet_info', { wallet_id: +wallet_id, seed_password: seed_password }, callback); - }; - BackendService.prototype.getSeedPhraseInfo = function (param, callback) { - this.runCommand('get_seed_phrase_info', param, callback); - }; - BackendService.prototype.runWallet = function (wallet_id, callback) { - this.runCommand('run_wallet', { wallet_id: +wallet_id }, callback); - }; - BackendService.prototype.isValidRestoreWalletText = function (param, callback) { - this.runCommand('is_valid_restore_wallet_text', param, callback); - }; - BackendService.prototype.restoreWallet = function (path, pass, seed_phrase, seed_pass, callback) { - var params = { - seed_phrase: seed_phrase, - path: path, - pass: pass, - seed_pass: seed_pass - }; - this.runCommand('restore_wallet', params, callback); - }; - BackendService.prototype.sendMoney = function (from_wallet_id, to_address, amount, fee, mixin, comment, hide, callback) { - var params = { - wallet_id: parseInt(from_wallet_id, 10), - destinations: [ - { - address: to_address, - amount: amount - } - ], - mixin_count: (mixin) ? parseInt(mixin, 10) : 0, - lock_time: 0, - fee: this.moneyToIntPipe.transform(fee), - comment: comment, - push_payer: !hide - }; - this.runCommand('transfer', params, callback); - }; - BackendService.prototype.validateAddress = function (address, callback) { - this.runCommand('validate_address', address, callback); - }; - BackendService.prototype.setClipboard = function (str, callback) { - return this.runCommand('set_clipboard', str, callback); - }; - BackendService.prototype.getClipboard = function (callback) { - return this.runCommand('get_clipboard', {}, callback); - }; - BackendService.prototype.createProposal = function (wallet_id, title, comment, a_addr, b_addr, to_pay, a_pledge, b_pledge, time, payment_id, callback) { - var params = { - wallet_id: parseInt(wallet_id, 10), - details: { - t: title, - c: comment, - a_addr: a_addr, - b_addr: b_addr, - to_pay: this.moneyToIntPipe.transform(to_pay), - a_pledge: this.moneyToIntPipe.transform(a_pledge), - b_pledge: this.moneyToIntPipe.transform(b_pledge) - }, - payment_id: payment_id, - expiration_period: parseInt(time, 10) * 60 * 60, - fee: this.variablesService.default_fee_big, - b_fee: this.variablesService.default_fee_big - }; - BackendService_1.Debug(1, params); - this.runCommand('create_proposal', params, callback); - }; - BackendService.prototype.getContracts = function (wallet_id, callback) { - var params = { - wallet_id: parseInt(wallet_id, 10) - }; - BackendService_1.Debug(1, params); - this.runCommand('get_contracts', params, callback); - }; - BackendService.prototype.acceptProposal = function (wallet_id, contract_id, callback) { - var params = { - wallet_id: parseInt(wallet_id, 10), - contract_id: contract_id - }; - BackendService_1.Debug(1, params); - this.runCommand('accept_proposal', params, callback); - }; - BackendService.prototype.releaseProposal = function (wallet_id, contract_id, release_type, callback) { - var params = { - wallet_id: parseInt(wallet_id, 10), - contract_id: contract_id, - release_type: release_type // "normal" or "burn" - }; - BackendService_1.Debug(1, params); - this.runCommand('release_contract', params, callback); - }; - BackendService.prototype.requestCancelContract = function (wallet_id, contract_id, time, callback) { - var params = { - wallet_id: parseInt(wallet_id, 10), - contract_id: contract_id, - fee: this.variablesService.default_fee_big, - expiration_period: parseInt(time, 10) * 60 * 60 - }; - BackendService_1.Debug(1, params); - this.runCommand('request_cancel_contract', params, callback); - }; - BackendService.prototype.acceptCancelContract = function (wallet_id, contract_id, callback) { - var params = { - wallet_id: parseInt(wallet_id, 10), - contract_id: contract_id - }; - BackendService_1.Debug(1, params); - this.runCommand('accept_cancel_contract', params, callback); - }; - BackendService.prototype.getMiningHistory = function (wallet_id, callback) { - this.runCommand('get_mining_history', { wallet_id: parseInt(wallet_id, 10) }, callback); - }; - BackendService.prototype.startPosMining = function (wallet_id, callback) { - this.runCommand('start_pos_mining', { wallet_id: parseInt(wallet_id, 10) }, callback); - }; - BackendService.prototype.stopPosMining = function (wallet_id, callback) { - this.runCommand('stop_pos_mining', { wallet_id: parseInt(wallet_id, 10) }, callback); - }; - BackendService.prototype.openUrlInBrowser = function (url, callback) { - this.runCommand('open_url_in_browser', url, callback); - }; - BackendService.prototype.start_backend = function (node, host, port, callback) { - var params = { - configure_for_remote_node: node, - remote_node_host: host, - remote_node_port: parseInt(port, 10) - }; - this.runCommand('start_backend', params, callback); - }; - BackendService.prototype.getDefaultFee = function (callback) { - this.runCommand('get_default_fee', {}, callback); - }; - BackendService.prototype.setBackendLocalization = function (stringsArray, title, callback) { - var params = { - strings: stringsArray, - language_title: title - }; - this.runCommand('set_localization_strings', params, callback); - }; - BackendService.prototype.registerAlias = function (wallet_id, alias, address, fee, comment, reward, callback) { - var params = { - wallet_id: wallet_id, - alias: { - alias: alias, - address: address, - tracking_key: '', - comment: comment - }, - fee: this.moneyToIntPipe.transform(fee), - reward: this.moneyToIntPipe.transform(reward) - }; - this.runCommand('request_alias_registration', params, callback); - }; - BackendService.prototype.updateAlias = function (wallet_id, alias, fee, callback) { - var params = { - wallet_id: wallet_id, - alias: { - alias: alias.name.replace('@', ''), - address: alias.address, - tracking_key: '', - comment: alias.comment - }, - fee: this.moneyToIntPipe.transform(fee) - }; - this.runCommand('request_alias_update', params, callback); - }; - BackendService.prototype.getAllAliases = function (callback) { - this.runCommand('get_all_aliases', {}, callback); - }; - BackendService.prototype.getAliasByName = function (value, callback) { - return this.runCommand('get_alias_info_by_name', value, callback); - }; - BackendService.prototype.getAliasByAddress = function (value, callback) { - return this.runCommand('get_alias_info_by_address', value, callback); - }; - BackendService.prototype.getAliasCoast = function (alias, callback) { - this.runCommand('get_alias_coast', { v: alias }, callback); - }; - BackendService.prototype.getWalletAlias = function (address) { - var _this = this; - if (address !== null && this.variablesService.daemon_state === 2) { - if (this.variablesService.aliasesChecked[address] == null) { - this.variablesService.aliasesChecked[address] = {}; - if (this.variablesService.aliases.length) { - for (var i = 0, length_1 = this.variablesService.aliases.length; i < length_1; i++) { - if (i in this.variablesService.aliases && this.variablesService.aliases[i]['address'] === address) { - this.variablesService.aliasesChecked[address]['name'] = this.variablesService.aliases[i].name; - this.variablesService.aliasesChecked[address]['address'] = this.variablesService.aliases[i].address; - this.variablesService.aliasesChecked[address]['comment'] = this.variablesService.aliases[i].comment; - return this.variablesService.aliasesChecked[address]; - } - } - } - this.getAliasByAddress(address, function (status, data) { - if (status) { - _this.variablesService.aliasesChecked[data.address]['name'] = '@' + data.alias; - _this.variablesService.aliasesChecked[data.address]['address'] = data.address; - _this.variablesService.aliasesChecked[data.address]['comment'] = data.comment; - } - }); - } - return this.variablesService.aliasesChecked[address]; - } - return {}; - }; - BackendService.prototype.getContactAlias = function () { - var _this = this; - if (this.variablesService.contacts.length && this.variablesService.daemon_state === 2) { - this.variablesService.contacts.map(function (contact) { - _this.getAliasByAddress(contact.address, function (status, data) { - if (status) { - if (data.alias) { - contact.alias = '@' + data.alias; - } - } - else { - contact.alias = null; - } - }); - }); - } - }; - BackendService.prototype.getRecentTransfers = function (id, offset, count, exclude_mining_txs, callback) { - var params = { - wallet_id: id, - offset: offset, - count: count, - exclude_mining_txs: exclude_mining_txs - }; - this.runCommand('get_recent_transfers', params, callback); - }; - BackendService.prototype.getPoolInfo = function (callback) { - this.runCommand('get_tx_pool_info', {}, callback); - }; - BackendService.prototype.getVersion = function (callback) { - var _this = this; - this.runCommand('get_version', {}, function (status, version) { - _this.runCommand('get_network_type', {}, function (status, type) { - callback(version, type); - }); - }); - }; - BackendService.prototype.setLogLevel = function (level) { - return this.runCommand('set_log_level', { v: level }); - }; - var BackendService_1; - BackendService = BackendService_1 = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Injectable"])(), - __metadata("design:paramtypes", [_ngx_translate_core__WEBPACK_IMPORTED_MODULE_2__["TranslateService"], - _variables_service__WEBPACK_IMPORTED_MODULE_3__["VariablesService"], - _modal_service__WEBPACK_IMPORTED_MODULE_4__["ModalService"], - _pipes_money_to_int_pipe__WEBPACK_IMPORTED_MODULE_5__["MoneyToIntPipe"]]) - ], BackendService); - return BackendService; -}()); - -/* - - toggleAutoStart: function (value) { - return this.runCommand('toggle_autostart', asVal(value)); - }, - - getOptions: function (callback) { - return this.runCommand('get_options', {}, callback); - }, - - isFileExist: function (path, callback) { - return this.runCommand('is_file_exist', path, callback); - }, - - isAutoStartEnabled: function (callback) { - this.runCommand('is_autostart_enabled', {}, function (status, data) { - if (angular.isFunction(callback)) { - callback('error_code' in data && data.error_code !== 'FALSE') - } - }); - }, - - resetWalletPass: function (wallet_id, pass, callback) { - this.runCommand('reset_wallet_password', {wallet_id: wallet_id, pass: pass}, callback); - }, - - - - getOsVersion: function (callback) { - this.runCommand('get_os_version', {}, function (status, version) { - callback(version) - }) - }, - - getLogFile: function (callback) { - this.runCommand('get_log_file', {}, function (status, version) { - callback(version) - }) - }, - - resync_wallet: function (wallet_id, callback) { - this.runCommand('resync_wallet', {wallet_id: wallet_id}, callback); - }, - - storeFile: function (path, buff, callback) { - this.backendObject['store_to_file'](path, (typeof buff === 'string' ? buff : JSON.stringify(buff)), function (data) { - backendCallback(data, {}, callback, 'store_to_file'); - }); - }, - - getMiningEstimate: function (amount_coins, time, callback) { - var params = { - "amount_coins": $filter('money_to_int')(amount_coins), - "time": parseInt(time) - }; - this.runCommand('get_mining_estimate', params, callback); - }, - - backupWalletKeys: function (wallet_id, path, callback) { - var params = { - "wallet_id": wallet_id, - "path": path - }; - this.runCommand('backup_wallet_keys', params, callback); - }, - - setBlockedIcon: function (enabled, callback) { - var mode = (enabled) ? "blocked" : "normal"; - Service.runCommand('bool_toggle_icon', mode, callback); - }, - - getWalletInfo: function (wallet_id, callback) { - this.runCommand('get_wallet_info', {wallet_id: wallet_id}, callback); - }, - - printText: function (content) { - return this.runCommand('print_text', {html_text: content}); - }, - - printLog: function (msg, log_level) { - return this.runCommand('print_log', {msg: msg, log_level: log_level}); - }, - -*/ - - -/***/ }), - -/***/ "./src/app/_helpers/services/modal.service.ts": -/*!****************************************************!*\ - !*** ./src/app/_helpers/services/modal.service.ts ***! - \****************************************************/ -/*! exports provided: ModalService */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ModalService", function() { return ModalService; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @ngx-translate/core */ "./node_modules/@ngx-translate/core/fesm5/ngx-translate-core.js"); -/* harmony import */ var _directives_modal_container_modal_container_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../directives/modal-container/modal-container.component */ "./src/app/_helpers/directives/modal-container/modal-container.component.ts"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - -var ModalService = /** @class */ (function () { - function ModalService(componentFactoryResolver, appRef, injector, ngZone, translate) { - this.componentFactoryResolver = componentFactoryResolver; - this.appRef = appRef; - this.injector = injector; - this.ngZone = ngZone; - this.translate = translate; - this.components = []; - } - ModalService.prototype.prepareModal = function (type, message) { - var _this = this; - var length = this.components.push(this.componentFactoryResolver.resolveComponentFactory(_directives_modal_container_modal_container_component__WEBPACK_IMPORTED_MODULE_2__["ModalContainerComponent"]).create(this.injector)); - this.components[length - 1].instance['type'] = type; - this.components[length - 1].instance['message'] = message.length ? this.translate.instant(message) : ''; - this.components[length - 1].instance['close'].subscribe(function () { - _this.removeModal(length - 1); - }); - this.ngZone.run(function () { - _this.appendModal(length - 1); - }); - }; - ModalService.prototype.appendModal = function (index) { - this.appRef.attachView(this.components[index].hostView); - var domElem = this.components[index].hostView.rootNodes[0]; - document.body.appendChild(domElem); - }; - ModalService.prototype.removeModal = function (index) { - if (this.components[index]) { - this.appRef.detachView(this.components[index].hostView); - this.components[index].destroy(); - this.components.splice(index, 1); - } - else { - var last = this.components.length - 1; - this.appRef.detachView(this.components[last].hostView); - this.components[last].destroy(); - this.components.splice(last, 1); - } - }; - ModalService = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Injectable"])(), - __metadata("design:paramtypes", [_angular_core__WEBPACK_IMPORTED_MODULE_0__["ComponentFactoryResolver"], - _angular_core__WEBPACK_IMPORTED_MODULE_0__["ApplicationRef"], - _angular_core__WEBPACK_IMPORTED_MODULE_0__["Injector"], - _angular_core__WEBPACK_IMPORTED_MODULE_0__["NgZone"], - _ngx_translate_core__WEBPACK_IMPORTED_MODULE_1__["TranslateService"]]) - ], ModalService); - return ModalService; -}()); - - - -/***/ }), - -/***/ "./src/app/_helpers/services/pagination.service.ts": -/*!*********************************************************!*\ - !*** ./src/app/_helpers/services/pagination.service.ts ***! - \*********************************************************/ -/*! exports provided: PaginationService */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PaginationService", function() { return PaginationService; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _variables_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./variables.service */ "./src/app/_helpers/services/variables.service.ts"); -/* harmony import */ var _pagination_store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./pagination.store */ "./src/app/_helpers/services/pagination.store.ts"); -/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash */ "./node_modules/lodash/lodash.js"); -/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_3__); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - -var PaginationService = /** @class */ (function () { - function PaginationService(variables, ngZone, paginationStore) { - this.variables = variables; - this.ngZone = ngZone; - this.paginationStore = paginationStore; - } - PaginationService.prototype.paginate = function (currentPage) { - var _this = this; - if (currentPage === void 0) { currentPage = 1; } - if (currentPage < 1) { - currentPage = 1; - } - else if (currentPage > this.variables.currentWallet.totalPages) { - currentPage = this.variables.currentWallet.totalPages; - } - var startPage, endPage; - if (this.variables.currentWallet.totalPages <= this.variables.maxPages) { - startPage = 1; - endPage = this.variables.currentWallet.totalPages; - } - else { - var maxPagesBeforeCurrentPage = Math.floor(this.variables.maxPages / 2); - var maxPagesAfterCurrentPage = Math.ceil(this.variables.maxPages / 2) - 1; - if (currentPage <= maxPagesBeforeCurrentPage) { - startPage = 1; - this.variables.currentWallet.totalPages > this.variables.maxPages - ? endPage = this.variables.maxPages - : endPage = this.variables.currentWallet.totalPages; - } - else if (currentPage + maxPagesAfterCurrentPage >= this.variables.currentWallet.totalPages) { - startPage = this.variables.currentWallet.totalPages - this.variables.maxPages + 1; - endPage = this.variables.currentWallet.totalPages; - } - else { - startPage = currentPage - maxPagesBeforeCurrentPage; - endPage = currentPage + maxPagesAfterCurrentPage; - } - } - this.ngZone.run(function () { - _this.variables.currentWallet.pages = Array.from(Array((endPage + 1) - startPage).keys()).map(function (i) { return startPage + i; }); - }); - }; - PaginationService.prototype.getOffset = function (walletID) { - var mining = this.variables.currentWallet.exclude_mining_txs; - var currentPage = (this.variables.currentWallet.currentPage); - var offset = ((currentPage - 1) * this.variables.count); - if (!mining) { - return offset; - } - var value = this.paginationStore.value; - var pages = value.filter(function (item) { return item.walletID === walletID; }); - if (pages && pages.length) { - var max = lodash__WEBPACK_IMPORTED_MODULE_3__["maxBy"](pages, 'page'); - var isForward = this.paginationStore.isForward(pages, currentPage); - if (isForward) { - offset = max.offset; - } - else { - var index = pages.findIndex(function (item) { return item.page === (currentPage); }); - offset = pages[index].offset; - } - } - return offset; - }; - PaginationService.prototype.calcPages = function (data) { - if (data.total_history_items && (data && data.history)) { - this.variables.currentWallet.totalPages = Math.ceil(data.total_history_items / this.variables.count); - this.variables.currentWallet.totalPages > this.variables.maxPages - ? this.variables.currentWallet.pages = new Array(5).fill(1).map(function (value, index) { return value + index; }) - : this.variables.currentWallet.pages = - new Array(this.variables.currentWallet.totalPages).fill(1).map(function (value, index) { return value + index; }); - } - else if (this.variables.currentWallet.restore) { - this.variables.currentWallet.totalPages = Math.ceil(data.history.length / this.variables.count); - this.variables.currentWallet.totalPages > this.variables.maxPages - ? this.variables.currentWallet.pages = new Array(5).fill(1).map(function (value, index) { return value + index; }) - : this.variables.currentWallet.pages = - new Array(this.variables.currentWallet.totalPages).fill(1).map(function (value, index) { return value + index; }); - } - }; - PaginationService.prototype.prepareHistory = function (data, status) { - var _this = this; - if (status && (data && data.total_history_items)) { - this.variables.currentWallet.history.splice(0, this.variables.currentWallet.history.length); - this.ngZone.run(function () { - _this.paginate(_this.variables.currentWallet.currentPage); - if (data.history.length !== 0) { - _this.variables.currentWallet.restore = false; - _this.variables.currentWallet.total_history_item = data.total_history_items; - _this.variables.currentWallet.prepareHistory(data.history); - if (_this.variables.currentWallet.currentPage === 1 && data.unconfirmed) { - _this.variables.currentWallet.prepareHistory(data.unconfirmed); - } - } - }); - } - }; - PaginationService = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Injectable"])({ - providedIn: 'root', - }), - __metadata("design:paramtypes", [_variables_service__WEBPACK_IMPORTED_MODULE_1__["VariablesService"], - _angular_core__WEBPACK_IMPORTED_MODULE_0__["NgZone"], - _pagination_store__WEBPACK_IMPORTED_MODULE_2__["PaginationStore"]]) - ], PaginationService); - return PaginationService; -}()); - - - -/***/ }), - -/***/ "./src/app/_helpers/services/pagination.store.ts": -/*!*******************************************************!*\ - !*** ./src/app/_helpers/services/pagination.store.ts ***! - \*******************************************************/ -/*! exports provided: PaginationStore */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PaginationStore", function() { return PaginationStore; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! rxjs */ "./node_modules/rxjs/_esm5/index.js"); -/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash */ "./node_modules/lodash/lodash.js"); -/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_2__); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - -var PaginationStore = /** @class */ (function () { - function PaginationStore() { - this.subject = new rxjs__WEBPACK_IMPORTED_MODULE_1__["BehaviorSubject"](null); - this.pages$ = this.subject.asObservable(); - } - PaginationStore.prototype.isForward = function (pages, currentPage) { - var max = lodash__WEBPACK_IMPORTED_MODULE_2__["maxBy"](pages, 'page'); - return !max || max.page < currentPage || max.page === currentPage; - }; - PaginationStore.prototype.setPage = function (pageNumber, offset, walletID) { - var newPages = []; - var pages = this.subject.getValue(); - if (pages && pages.length) { - newPages = pages.slice(0); - } - newPages.push({ page: pageNumber, offset: offset, walletID: walletID }); - this.subject.next(newPages); - }; - Object.defineProperty(PaginationStore.prototype, "value", { - get: function () { - return this.subject.value; - }, - enumerable: true, - configurable: true - }); - PaginationStore = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Injectable"])({ - providedIn: 'root' - }), - __metadata("design:paramtypes", []) - ], PaginationStore); - return PaginationStore; -}()); - - - -/***/ }), - -/***/ "./src/app/_helpers/services/utils.service.ts": -/*!****************************************************!*\ - !*** ./src/app/_helpers/services/utils.service.ts ***! - \****************************************************/ -/*! exports provided: UtilsService */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "UtilsService", function() { return UtilsService; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; - -var UtilsService = /** @class */ (function () { - function UtilsService() { - } - UtilsService.prototype.getMinWidthByScale = function (scale) { - switch (scale) { - case 7.5: return 900; - case 10: return 1200; - case 12.5: return 1500; - case 15: return 1800; - default: return 1200; - } - }; - UtilsService = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Injectable"])() - ], UtilsService); - return UtilsService; -}()); - - - -/***/ }), - -/***/ "./src/app/_helpers/services/variables.service.ts": -/*!********************************************************!*\ - !*** ./src/app/_helpers/services/variables.service.ts ***! - \********************************************************/ -/*! exports provided: VariablesService */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VariablesService", function() { return VariablesService; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! rxjs */ "./node_modules/rxjs/_esm5/index.js"); -/* harmony import */ var idlejs_dist__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! idlejs/dist */ "./node_modules/idlejs/dist/index.js"); -/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm5/router.js"); -/* harmony import */ var ngx_contextmenu__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ngx-contextmenu */ "./node_modules/ngx-contextmenu/fesm5/ngx-contextmenu.js"); -/* harmony import */ var bignumber_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! bignumber.js */ "./node_modules/bignumber.js/bignumber.js"); -/* harmony import */ var bignumber_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(bignumber_js__WEBPACK_IMPORTED_MODULE_5__); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - -var VariablesService = /** @class */ (function () { - function VariablesService(router, ngZone, contextMenuService) { - var _this = this; - this.router = router; - this.ngZone = ngZone; - this.contextMenuService = contextMenuService; - this.request_on_in = {}; - this.stop_paginate = {}; - this.sync_started = false; - this.digits = 12; - this.appPass = ''; - this.appLogin = false; - this.moneyEquivalent = 0; - this.defaultTheme = 'dark'; - this.defaultCurrency = 'ZANO'; - this.exp_med_ts = 0; - this.net_time_delta_median = 0; - this.height_app = 0; - this.height_max = 0; - this.downloaded = 0; - this.total = 0; - this.last_build_available = ''; - this.last_build_displaymode = 0; - this.daemon_state = 3; - this.sync = { - progress_value: 0, - progress_value_text: '0' - }; - this.download = { - progress_value: 0, - progress_value_text: '0' - }; - this.get_recent_transfers = false; // avoid of execute function before collback complete - this.default_fee = '0.010000000000'; - this.default_fee_big = new bignumber_js__WEBPACK_IMPORTED_MODULE_5__["BigNumber"]('10000000000'); - this.settings = { - appLockTime: 15, - appLog: 0, - theme: '', - scale: 10, - language: 'en', - default_path: '/', - viewedContracts: [], - notViewedContracts: [], - wallets: [] - }; - this.count = 40; - this.maxPages = 5; - this.testnet = false; - this.networkType = ''; // testnet of mainnet - this.wallets = []; - this.aliases = []; - this.aliasesChecked = {}; - this.enableAliasSearch = false; - this.maxWalletNameLength = 25; - this.maxCommentLength = 255; - this.dataIsLoaded = false; - this.contacts = []; - this.newContact = { name: null, address: null, notes: null }; - this.pattern = '^[a-zA-Z0-9_.\\\]\*\|\~\!\?\@\#\$\%\^\&\+\{\}\(\)\<\>\:\;\"\'\-\=\/\,\[\\\\]*$'; - this.after_sync_request = {}; - this.getExpMedTsEvent = new rxjs__WEBPACK_IMPORTED_MODULE_1__["BehaviorSubject"](null); - this.getHeightAppEvent = new rxjs__WEBPACK_IMPORTED_MODULE_1__["BehaviorSubject"](null); - this.getHeightMaxEvent = new rxjs__WEBPACK_IMPORTED_MODULE_1__["BehaviorSubject"](null); - this.getDownloadedAppEvent = new rxjs__WEBPACK_IMPORTED_MODULE_1__["BehaviorSubject"](null); - this.getTotalEvent = new rxjs__WEBPACK_IMPORTED_MODULE_1__["BehaviorSubject"](null); - this.getRefreshStackingEvent = new rxjs__WEBPACK_IMPORTED_MODULE_1__["BehaviorSubject"](null); - this.getAliasChangedEvent = new rxjs__WEBPACK_IMPORTED_MODULE_1__["BehaviorSubject"](null); - this.idle = new idlejs_dist__WEBPACK_IMPORTED_MODULE_2__["Idle"]() - .whenNotInteractive() - .do(function () { - if (_this.appPass == '') { - _this.restartCountdown(); - } - else { - _this.ngZone.run(function () { - _this.idle.stop(); - _this.appPass = ''; - _this.appLogin = false; - _this.router.navigate(['/login'], { queryParams: { type: 'auth' } }); - }); - } - }); - } - VariablesService.prototype.setExpMedTs = function (timestamp) { - if (timestamp !== this.exp_med_ts) { - this.exp_med_ts = timestamp; - this.getExpMedTsEvent.next(timestamp); - } - }; - VariablesService.prototype.setHeightApp = function (height) { - if (height !== this.height_app) { - this.height_app = height; - this.getHeightAppEvent.next(height); - } - }; - VariablesService.prototype.setHeightMax = function (height) { - if (height !== this.height_max) { - this.height_max = height; - this.getHeightMaxEvent.next(height); - } - }; - VariablesService.prototype.setDownloadedBytes = function (bytes) { - if (bytes !== this.downloaded) { - this.downloaded = this.bytesToMb(bytes); - this.getDownloadedAppEvent.next(bytes); - } - }; - VariablesService.prototype.setTotalBytes = function (bytes) { - if (bytes !== this.total) { - this.total = this.bytesToMb(bytes); - this.getTotalEvent.next(bytes); - } - }; - VariablesService.prototype.setRefreshStacking = function (wallet_id) { - this.getHeightAppEvent.next(wallet_id); - }; - VariablesService.prototype.changeAliases = function () { - this.getAliasChangedEvent.next(true); - }; - VariablesService.prototype.setCurrentWallet = function (id) { - var _this = this; - this.wallets.forEach(function (wallet) { - if (wallet.wallet_id === id) { - _this.currentWallet = wallet; - } - }); - }; - VariablesService.prototype.getWallet = function (id) { - for (var i = 0; i < this.wallets.length; i++) { - if (this.wallets[i].wallet_id === id) { - return this.wallets[i]; - } - } - return null; - }; - VariablesService.prototype.getNotLoadedWallet = function () { - for (var i = 0; i < this.wallets.length; i++) { - if (!this.wallets[i].loaded) { - return this.wallets[i]; - } - } - return null; - }; - VariablesService.prototype.startCountdown = function () { - this.idle.within(this.settings.appLockTime).start(); - }; - VariablesService.prototype.stopCountdown = function () { - this.idle.stop(); - }; - VariablesService.prototype.restartCountdown = function () { - this.idle.within(this.settings.appLockTime).restart(); - }; - VariablesService.prototype.bytesToMb = function (bytes) { - return Number((bytes / Math.pow(1024, 2)).toFixed(1)); - }; - VariablesService.prototype.onContextMenu = function ($event) { - $event.target['contextSelectionStart'] = $event.target['selectionStart']; - $event.target['contextSelectionEnd'] = $event.target['selectionEnd']; - if ($event.target && ($event.target['nodeName'].toUpperCase() === 'TEXTAREA' || $event.target['nodeName'].toUpperCase() === 'INPUT') && !$event.target['readOnly']) { - this.contextMenuService.show.next({ - contextMenu: this.allContextMenu, - event: $event, - item: $event.target, - }); - $event.preventDefault(); - $event.stopPropagation(); - } - }; - VariablesService.prototype.onContextMenuOnlyCopy = function ($event, copyText) { - this.contextMenuService.show.next({ - contextMenu: this.onlyCopyContextMenu, - event: $event, - item: copyText - }); - $event.preventDefault(); - $event.stopPropagation(); - }; - VariablesService.prototype.onContextMenuPasteSelect = function ($event) { - $event.target['contextSelectionStart'] = $event.target['selectionStart']; - $event.target['contextSelectionEnd'] = $event.target['selectionEnd']; - console.warn($event.target); - console.warn($event.target['disabled']); - if ($event.target && ($event.target['nodeName'].toUpperCase() === 'TEXTAREA' || $event.target['nodeName'].toUpperCase() === 'INPUT') && !$event.target['readOnly']) { - this.contextMenuService.show.next({ - contextMenu: this.pasteSelectContextMenu, - event: $event, - item: $event.target, - }); - $event.preventDefault(); - $event.stopPropagation(); - } - }; - VariablesService = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Injectable"])({ - providedIn: 'root' - }), - __metadata("design:paramtypes", [_angular_router__WEBPACK_IMPORTED_MODULE_3__["Router"], _angular_core__WEBPACK_IMPORTED_MODULE_0__["NgZone"], ngx_contextmenu__WEBPACK_IMPORTED_MODULE_4__["ContextMenuService"]]) - ], VariablesService); - return VariablesService; -}()); - - - -/***/ }), - -/***/ "./src/app/_shared/constants.ts": -/*!**************************************!*\ - !*** ./src/app/_shared/constants.ts ***! - \**************************************/ -/*! exports provided: MIXIN, RCV_ADDR_QR_SCALE, AUDITABLE_WALLET_HELP_PAGE, CREATE_NEW_WALLET_HELP_PAGE, LOCKED_BALANCE_HELP_PAGE, DOWNLOADS_PAGE_URL, BLOCK_EXPLORER_TX_URL_PREFIX, BLOCK_EXPLORER_TN_TX_URL_PREFIX */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MIXIN", function() { return MIXIN; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "RCV_ADDR_QR_SCALE", function() { return RCV_ADDR_QR_SCALE; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AUDITABLE_WALLET_HELP_PAGE", function() { return AUDITABLE_WALLET_HELP_PAGE; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CREATE_NEW_WALLET_HELP_PAGE", function() { return CREATE_NEW_WALLET_HELP_PAGE; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LOCKED_BALANCE_HELP_PAGE", function() { return LOCKED_BALANCE_HELP_PAGE; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DOWNLOADS_PAGE_URL", function() { return DOWNLOADS_PAGE_URL; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BLOCK_EXPLORER_TX_URL_PREFIX", function() { return BLOCK_EXPLORER_TX_URL_PREFIX; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BLOCK_EXPLORER_TN_TX_URL_PREFIX", function() { return BLOCK_EXPLORER_TN_TX_URL_PREFIX; }); -var MIXIN = 10; // default mixin value -var RCV_ADDR_QR_SCALE = 2; // scale factor for QR code -var AUDITABLE_WALLET_HELP_PAGE = 'docs.zano.org/docs/auditable-wallets'; -var CREATE_NEW_WALLET_HELP_PAGE = 'docs.zano.org/docs/getting-started-1#section-create-new-wallet'; -var LOCKED_BALANCE_HELP_PAGE = 'docs.zano.org/docs/locked-balance'; -var DOWNLOADS_PAGE_URL = 'zano.org/downloads.html'; -var BLOCK_EXPLORER_TX_URL_PREFIX = 'explorer.zano.org/transaction/'; -var BLOCK_EXPLORER_TN_TX_URL_PREFIX = 'testnet-explorer.zano.org/transaction/'; - - -/***/ }), - -/***/ "./src/app/add-contacts/add-contacts.component.html": -/*!**********************************************************!*\ - !*** ./src/app/add-contacts/add-contacts.component.html ***! - \**********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = "
      \r\n
      \r\n
      \r\n {{ 'CONTACTS.TITLE' | translate }}\r\n {{ 'CONTACTS.ADD' | translate }}\r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n {{ 'CONTACTS.FORM_ERRORS.NAME_LENGTH' | translate }}\r\n
      \r\n
      \r\n {{ 'CONTACTS.FORM_ERRORS.NAME_REQUIRED' | translate }}\r\n
      \r\n
      \r\n {{ 'CONTACTS.FORM_ERRORS.NAME_DUBLICATED' | translate }}\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n \r\n \r\n
      \r\n
      \r\n {{ 'CONTACTS.FORM_ERRORS.ADDRESS_REQUIRED' | translate }}\r\n
      \r\n
      \r\n {{ 'CONTACTS.FORM_ERRORS.ADDRESS_NOT_VALID' | translate }}\r\n
      \r\n
      \r\n {{ 'CONTACTS.FORM_ERRORS.ADDRESS_DUBLICATED' | translate }}\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n \r\n \r\n
      \r\n
      \r\n {{ 'CONTACTS.FORM_ERRORS.MAX_LENGTH' | translate }}\r\n
      \r\n
      \r\n
      \r\n \r\n \r\n \r\n \r\n \r\n
      \r\n
      \r\n" - -/***/ }), - -/***/ "./src/app/add-contacts/add-contacts.component.scss": -/*!**********************************************************!*\ - !*** ./src/app/add-contacts/add-contacts.component.scss ***! - \**********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = ".form-add {\n margin-top: 3rem; }\n .form-add .input-block-name {\n width: 50%; }\n .form-add button {\n margin-top: 3rem;\n width: 100%;\n max-width: 18rem; }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYWRkLWNvbnRhY3RzL0Q6XFxQcm9qZWN0XFxXT1JLX05FV1xcemFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxhcHBcXGFkZC1jb250YWN0c1xcYWRkLWNvbnRhY3RzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsZ0JBQWdCLEVBQUE7RUFEbEI7SUFJSSxVQUFVLEVBQUE7RUFKZDtJQVFJLGdCQUFnQjtJQUNoQixXQUFXO0lBQ1gsZ0JBQWdCLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9hZGQtY29udGFjdHMvYWRkLWNvbnRhY3RzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmZvcm0tYWRkIHtcclxuICBtYXJnaW4tdG9wOiAzcmVtO1xyXG5cclxuICAuaW5wdXQtYmxvY2stbmFtZSB7XHJcbiAgICB3aWR0aDogNTAlO1xyXG4gIH1cclxuXHJcbiAgYnV0dG9uIHtcclxuICAgIG1hcmdpbi10b3A6IDNyZW07XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogMThyZW07XHJcbiAgfVxyXG59Il19 */" - -/***/ }), - -/***/ "./src/app/add-contacts/add-contacts.component.ts": -/*!********************************************************!*\ - !*** ./src/app/add-contacts/add-contacts.component.ts ***! - \********************************************************/ -/*! exports provided: AddContactsComponent */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AddContactsComponent", function() { return AddContactsComponent; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/forms */ "./node_modules/@angular/forms/fesm5/forms.js"); -/* harmony import */ var _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../_helpers/services/backend.service */ "./src/app/_helpers/services/backend.service.ts"); -/* harmony import */ var _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../_helpers/services/variables.service */ "./src/app/_helpers/services/variables.service.ts"); -/* harmony import */ var _helpers_services_modal_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../_helpers/services/modal.service */ "./src/app/_helpers/services/modal.service.ts"); -/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/common */ "./node_modules/@angular/common/fesm5/common.js"); -/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm5/router.js"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - -var AddContactsComponent = /** @class */ (function () { - function AddContactsComponent(route, backend, variablesService, modalService, ngZone, location) { - var _this = this; - this.route = route; - this.backend = backend; - this.variablesService = variablesService; - this.modalService = modalService; - this.ngZone = ngZone; - this.location = location; - this.addContactForm = new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormGroup"]({ - address: new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormControl"]('', [ - _angular_forms__WEBPACK_IMPORTED_MODULE_1__["Validators"].required, - function (g) { - if (g.value) { - _this.backend.validateAddress(g.value, function (valid_status) { - _this.ngZone.run(function () { - if (valid_status === false) { - g.setErrors(Object.assign({ address_not_valid: true }, g.errors)); - } - else { - if (g.hasError('address_not_valid')) { - delete g.errors['address_not_valid']; - if (Object.keys(g.errors).length === 0) { - g.setErrors(null); - } - } - } - }); - }); - return g.hasError('address_not_valid') - ? { address_not_valid: true } - : null; - } - return null; - }, - function (g) { - var isDublicated = _this.variablesService.contacts.findIndex(function (contact) { return contact.address === g.value; }); - if (isDublicated !== -1 && !(_this.id === isDublicated)) { - return { dublicated: true }; - } - return null; - } - ]), - notes: new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormControl"]('', [ - function (g) { - if (g.value) { - if (g.value.length > _this.variablesService.maxCommentLength) { - return { maxLength: true }; - } - else { - return null; - } - } - else { - return null; - } - } - ]), - name: new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormControl"]('', [ - _angular_forms__WEBPACK_IMPORTED_MODULE_1__["Validators"].required, - _angular_forms__WEBPACK_IMPORTED_MODULE_1__["Validators"].minLength(4), - _angular_forms__WEBPACK_IMPORTED_MODULE_1__["Validators"].maxLength(25), - function (g) { - if (g.value) { - var isDublicated = _this.variablesService.contacts.findIndex(function (contact) { return contact.name === g.value.trim(); }); - if (isDublicated !== -1 && !(_this.id === isDublicated)) { - return { dublicated: true }; - } - return null; - } - } - ]) - }); - } - AddContactsComponent.prototype.ngOnInit = function () { - var _this = this; - this.queryRouting = this.route.queryParams.subscribe(function (params) { - if (params.id) { - _this.id = parseInt(params.id, 10); - _this.addContactForm.reset({ - name: _this.variablesService.contacts[params.id]['name'], - address: _this.variablesService.contacts[params.id]['address'], - notes: _this.variablesService.contacts[params.id]['notes'] - }); - } - else { - _this.addContactForm.reset({ - name: _this.variablesService.newContact['name'], - address: _this.variablesService.newContact['address'], - notes: _this.variablesService.newContact['notes'] - }); - } - }); - }; - AddContactsComponent.prototype.add = function () { - var _this = this; - if (!this.variablesService.appPass) { - this.modalService.prepareModal('error', 'CONTACTS.FORM_ERRORS.SET_MASTER_PASSWORD'); - } - else { - if (this.addContactForm.valid) { - this.backend.validateAddress(this.addContactForm.get('address').value, function (valid_status) { - if (valid_status === false) { - _this.ngZone.run(function () { - _this.addContactForm - .get('address') - .setErrors({ address_not_valid: true }); - }); - } - else { - if (_this.id || _this.id === 0) { - _this.variablesService.contacts.forEach(function (contact, index) { - if (index === _this.id) { - contact.name = _this.addContactForm.get('name').value.trim(); - contact.address = _this.addContactForm.get('address').value; - contact.notes = - _this.addContactForm.get('notes').value || ''; - } - }); - _this.backend.storeSecureAppData(); - _this.backend.getContactAlias(); - _this.modalService.prepareModal('success', 'CONTACTS.SUCCESS_SAVE'); - } - else { - _this.variablesService.contacts.push({ - name: _this.addContactForm.get('name').value.trim(), - address: _this.addContactForm.get('address').value, - notes: _this.addContactForm.get('notes').value || '' - }); - _this.backend.storeSecureAppData(); - _this.backend.getContactAlias(); - _this.modalService.prepareModal('success', 'CONTACTS.SUCCESS_SENT'); - _this.variablesService.newContact = { - name: null, - address: null, - notes: null - }; - _this.addContactForm.reset({ - name: null, - address: null, - notes: null - }); - } - } - }); - } - } - }; - AddContactsComponent.prototype.back = function () { - this.location.back(); - }; - AddContactsComponent.prototype.ngOnDestroy = function () { - if (!(this.id || this.id === 0)) { - this.variablesService.newContact = { - name: this.addContactForm.get('name').value, - address: this.addContactForm.get('address').value, - notes: this.addContactForm.get('notes').value - }; - } - this.queryRouting.unsubscribe(); - }; - AddContactsComponent = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Component"])({ - selector: 'app-add-contacts', - template: __webpack_require__(/*! ./add-contacts.component.html */ "./src/app/add-contacts/add-contacts.component.html"), - styles: [__webpack_require__(/*! ./add-contacts.component.scss */ "./src/app/add-contacts/add-contacts.component.scss")] - }), - __metadata("design:paramtypes", [_angular_router__WEBPACK_IMPORTED_MODULE_6__["ActivatedRoute"], - _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_2__["BackendService"], - _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_3__["VariablesService"], - _helpers_services_modal_service__WEBPACK_IMPORTED_MODULE_4__["ModalService"], - _angular_core__WEBPACK_IMPORTED_MODULE_0__["NgZone"], - _angular_common__WEBPACK_IMPORTED_MODULE_5__["Location"]]) - ], AddContactsComponent); - return AddContactsComponent; -}()); - - - -/***/ }), - -/***/ "./src/app/app-routing.module.ts": -/*!***************************************!*\ - !*** ./src/app/app-routing.module.ts ***! - \***************************************/ -/*! exports provided: AppRoutingModule */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AppRoutingModule", function() { return AppRoutingModule; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm5/router.js"); -/* harmony import */ var _main_main_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./main/main.component */ "./src/app/main/main.component.ts"); -/* harmony import */ var _login_login_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./login/login.component */ "./src/app/login/login.component.ts"); -/* harmony import */ var _wallet_wallet_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./wallet/wallet.component */ "./src/app/wallet/wallet.component.ts"); -/* harmony import */ var _send_send_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./send/send.component */ "./src/app/send/send.component.ts"); -/* harmony import */ var _receive_receive_component__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./receive/receive.component */ "./src/app/receive/receive.component.ts"); -/* harmony import */ var _history_history_component__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./history/history.component */ "./src/app/history/history.component.ts"); -/* harmony import */ var _contracts_contracts_component__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./contracts/contracts.component */ "./src/app/contracts/contracts.component.ts"); -/* harmony import */ var _purchase_purchase_component__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./purchase/purchase.component */ "./src/app/purchase/purchase.component.ts"); -/* harmony import */ var _messages_messages_component__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./messages/messages.component */ "./src/app/messages/messages.component.ts"); -/* harmony import */ var _typing_message_typing_message_component__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./typing-message/typing-message.component */ "./src/app/typing-message/typing-message.component.ts"); -/* harmony import */ var _staking_staking_component__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./staking/staking.component */ "./src/app/staking/staking.component.ts"); -/* harmony import */ var _settings_settings_component__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./settings/settings.component */ "./src/app/settings/settings.component.ts"); -/* harmony import */ var _create_wallet_create_wallet_component__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./create-wallet/create-wallet.component */ "./src/app/create-wallet/create-wallet.component.ts"); -/* harmony import */ var _open_wallet_open_wallet_component__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./open-wallet/open-wallet.component */ "./src/app/open-wallet/open-wallet.component.ts"); -/* harmony import */ var _restore_wallet_restore_wallet_component__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./restore-wallet/restore-wallet.component */ "./src/app/restore-wallet/restore-wallet.component.ts"); -/* harmony import */ var _seed_phrase_seed_phrase_component__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./seed-phrase/seed-phrase.component */ "./src/app/seed-phrase/seed-phrase.component.ts"); -/* harmony import */ var _wallet_details_wallet_details_component__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./wallet-details/wallet-details.component */ "./src/app/wallet-details/wallet-details.component.ts"); -/* harmony import */ var _assign_alias_assign_alias_component__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./assign-alias/assign-alias.component */ "./src/app/assign-alias/assign-alias.component.ts"); -/* harmony import */ var _edit_alias_edit_alias_component__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./edit-alias/edit-alias.component */ "./src/app/edit-alias/edit-alias.component.ts"); -/* harmony import */ var _transfer_alias_transfer_alias_component__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./transfer-alias/transfer-alias.component */ "./src/app/transfer-alias/transfer-alias.component.ts"); -/* harmony import */ var _contacts_contacts_component__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./contacts/contacts.component */ "./src/app/contacts/contacts.component.ts"); -/* harmony import */ var _add_contacts_add_contacts_component__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./add-contacts/add-contacts.component */ "./src/app/add-contacts/add-contacts.component.ts"); -/* harmony import */ var _contact_send_contact_send_component__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./contact-send/contact-send.component */ "./src/app/contact-send/contact-send.component.ts"); -/* harmony import */ var _export_import_export_import_component__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./export-import/export-import.component */ "./src/app/export-import/export-import.component.ts"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; - - -// Components - - - - - - - - - - - - - - - - - - - - - - - - -var routes = [ - { - path: '', - component: _main_main_component__WEBPACK_IMPORTED_MODULE_2__["MainComponent"] - }, - { - path: 'main', - component: _main_main_component__WEBPACK_IMPORTED_MODULE_2__["MainComponent"] - }, - { - path: 'login', - component: _login_login_component__WEBPACK_IMPORTED_MODULE_3__["LoginComponent"] - }, - { - path: 'wallet/:id', - component: _wallet_wallet_component__WEBPACK_IMPORTED_MODULE_4__["WalletComponent"], - children: [ - { - path: 'send', - component: _send_send_component__WEBPACK_IMPORTED_MODULE_5__["SendComponent"] - }, - { - path: 'receive', - component: _receive_receive_component__WEBPACK_IMPORTED_MODULE_6__["ReceiveComponent"] - }, - { - path: 'history', - component: _history_history_component__WEBPACK_IMPORTED_MODULE_7__["HistoryComponent"] - }, - { - path: 'contracts', - component: _contracts_contracts_component__WEBPACK_IMPORTED_MODULE_8__["ContractsComponent"], - }, - { - path: 'purchase', - component: _purchase_purchase_component__WEBPACK_IMPORTED_MODULE_9__["PurchaseComponent"] - }, - { - path: 'purchase/:id', - component: _purchase_purchase_component__WEBPACK_IMPORTED_MODULE_9__["PurchaseComponent"] - }, - { - path: 'messages', - component: _messages_messages_component__WEBPACK_IMPORTED_MODULE_10__["MessagesComponent"], - }, - { - path: 'messages/:id', - component: _typing_message_typing_message_component__WEBPACK_IMPORTED_MODULE_11__["TypingMessageComponent"], - }, - { - path: 'staking', - component: _staking_staking_component__WEBPACK_IMPORTED_MODULE_12__["StakingComponent"] - }, - { - path: '', - redirectTo: 'history', - pathMatch: 'full' - } - ] - }, - { - path: 'create', - component: _create_wallet_create_wallet_component__WEBPACK_IMPORTED_MODULE_14__["CreateWalletComponent"] - }, - { - path: 'open', - component: _open_wallet_open_wallet_component__WEBPACK_IMPORTED_MODULE_15__["OpenWalletComponent"] - }, - { - path: 'restore', - component: _restore_wallet_restore_wallet_component__WEBPACK_IMPORTED_MODULE_16__["RestoreWalletComponent"] - }, - { - path: 'seed-phrase', - component: _seed_phrase_seed_phrase_component__WEBPACK_IMPORTED_MODULE_17__["SeedPhraseComponent"] - }, - { - path: 'details', - component: _wallet_details_wallet_details_component__WEBPACK_IMPORTED_MODULE_18__["WalletDetailsComponent"] - }, - { - path: 'assign-alias', - component: _assign_alias_assign_alias_component__WEBPACK_IMPORTED_MODULE_19__["AssignAliasComponent"] - }, - { - path: 'edit-alias', - component: _edit_alias_edit_alias_component__WEBPACK_IMPORTED_MODULE_20__["EditAliasComponent"] - }, - { - path: 'transfer-alias', - component: _transfer_alias_transfer_alias_component__WEBPACK_IMPORTED_MODULE_21__["TransferAliasComponent"] - }, - { - path: 'settings', - component: _settings_settings_component__WEBPACK_IMPORTED_MODULE_13__["SettingsComponent"] - }, - { - path: 'contacts', - component: _contacts_contacts_component__WEBPACK_IMPORTED_MODULE_22__["ContactsComponent"] - }, - { - path: 'add-contacts', - component: _add_contacts_add_contacts_component__WEBPACK_IMPORTED_MODULE_23__["AddContactsComponent"] - }, - { - path: 'edit-contacts/:id', - component: _add_contacts_add_contacts_component__WEBPACK_IMPORTED_MODULE_23__["AddContactsComponent"] - }, - { - path: 'contact-send/:id', - component: _contact_send_contact_send_component__WEBPACK_IMPORTED_MODULE_24__["ContactSendComponent"] - }, - { - path: 'import', - component: _export_import_export_import_component__WEBPACK_IMPORTED_MODULE_25__["ExportImportComponent"] - }, - { - path: '', - redirectTo: '/', - pathMatch: 'full' - } -]; -var AppRoutingModule = /** @class */ (function () { - function AppRoutingModule() { - } - AppRoutingModule = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["NgModule"])({ - imports: [_angular_router__WEBPACK_IMPORTED_MODULE_1__["RouterModule"].forRoot(routes)], - exports: [_angular_router__WEBPACK_IMPORTED_MODULE_1__["RouterModule"]] - }) - ], AppRoutingModule); - return AppRoutingModule; -}()); - - - -/***/ }), - -/***/ "./src/app/app.component.html": -/*!************************************!*\ - !*** ./src/app/app.component.html ***! - \************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = "\r\n\r\n
      \r\n \r\n
      \r\n {{ 'SIDEBAR.SYNCHRONIZATION.LOADING' | translate }}\r\n {{ 'SIDEBAR.SYNCHRONIZATION.ERROR' | translate }}\r\n {{ 'SIDEBAR.SYNCHRONIZATION.COMPLETE' | translate }}\r\n \r\n
      \r\n
      \r\n\r\n {{ 'CONTEXT_MENU.COPY' | translate }}\r\n {{ 'CONTEXT_MENU.PASTE' | translate }}\r\n {{ 'CONTEXT_MENU.SELECT' | translate }}\r\n\r\n\r\n\r\n {{ 'CONTEXT_MENU.COPY' | translate }}\r\n\r\n\r\n\r\n {{ 'CONTEXT_MENU.PASTE' | translate }}\r\n {{ 'CONTEXT_MENU.SELECT' | translate }}\r\n\r\n\r\n\r\n\r\n" - -/***/ }), - -/***/ "./src/app/app.component.scss": -/*!************************************!*\ - !*** ./src/app/app.component.scss ***! - \************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = "/*\r\n* Implementation of themes\r\n*/\n.app-content {\n display: flex;\n overflow-x: overlay;\n overflow-y: hidden;\n width: 100%; }\n.app-content .preloader {\n align-self: center;\n color: #fff;\n font-size: 2rem;\n margin: 0 auto;\n text-align: center;\n width: 50%; }\n.app-content .preloader .loading-bar {\n display: block;\n -webkit-animation: move 5s linear infinite;\n animation: move 5s linear infinite;\n background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.125, rgba(0, 0, 0, 0.15)), color-stop(0.125, transparent), color-stop(0.25, transparent), color-stop(0.25, rgba(0, 0, 0, 0.1)), color-stop(0.375, rgba(0, 0, 0, 0.1)), color-stop(0.375, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(0, 0, 0, 0.15)), color-stop(0.625, rgba(0, 0, 0, 0.15)), color-stop(0.625, transparent), color-stop(0.75, transparent), color-stop(0.75, rgba(0, 0, 0, 0.1)), color-stop(0.875, rgba(0, 0, 0, 0.1)), color-stop(0.875, transparent), to(transparent)), -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.125, rgba(0, 0, 0, 0.3)), color-stop(0.125, transparent), color-stop(0.25, transparent), color-stop(0.25, rgba(0, 0, 0, 0.25)), color-stop(0.375, rgba(0, 0, 0, 0.25)), color-stop(0.375, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(0, 0, 0, 0.3)), color-stop(0.625, rgba(0, 0, 0, 0.3)), color-stop(0.625, transparent), color-stop(0.75, transparent), color-stop(0.75, rgba(0, 0, 0, 0.25)), color-stop(0.875, rgba(0, 0, 0, 0.25)), color-stop(0.875, transparent), to(transparent));\n background-size: 10rem 10rem;\n margin-top: 2rem;\n width: 100%;\n height: 1rem; }\n@-webkit-keyframes move {\n 0% {\n background-position: 100% -10rem; }\n 100% {\n background-position: 100% 10rem; } }\n@keyframes move {\n 0% {\n background-position: 100% -10rem; }\n 100% {\n background-position: 100% 10rem; } }\n\r\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvRDpcXFByb2plY3RcXFdPUktfTkVXXFx6YW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFzc2V0c1xcc2Nzc1xcYmFzZVxcX21peGlucy5zY3NzIiwic3JjL2FwcC9hcHAuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL0Q6XFxQcm9qZWN0XFxXT1JLX05FV1xcemFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxhcHBcXGFwcC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4RUE7O0NDNUVDO0FDQUQ7RUFDRSxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLGtCQUFrQjtFQUNsQixXQUFXLEVBQUE7QUFKYjtJQU9JLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsZUFBZTtJQUNmLGNBQWM7SUFDZCxrQkFBa0I7SUFDbEIsVUFBVSxFQUFBO0FBWmQ7TUFlTSxjQUFjO01BQ2QsMENBQWtDO2NBQWxDLGtDQUFrQztNQUNsQywrbENBc0JHO01BQ0gsNEJBQTRCO01BQzVCLGdCQUFnQjtNQUNoQixXQUFXO01BQ1gsWUFBWSxFQUFBO0FBSWhCO0VBQ0U7SUFDRSxnQ0FBZ0MsRUFBQTtFQUVsQztJQUNFLCtCQUErQixFQUFBLEVBQUE7QUFMbkM7RUFDRTtJQUNFLGdDQUFnQyxFQUFBO0VBRWxDO0lBQ0UsK0JBQStCLEVBQUEsRUFBQSIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBtaXhpbiB0ZXh0LXRydW5jYXRlIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuQG1peGluIHRleHRXcmFwIHtcclxuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcclxuICBsaW5lLWJyZWFrOiBzdHJpY3Q7XHJcbiAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xyXG4gIC1tcy1oeXBoZW5zOiBhdXRvO1xyXG4gIGh5cGhlbnM6IGF1dG87XHJcbn1cclxuQG1peGluIGNvdmVyQm94IHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG59XHJcbkBtaXhpbiBhYnMgKCR0b3A6IGF1dG8sICRyaWdodDogYXV0bywgJGJvdHRvbTogYXV0bywgJGxlZnQ6IGF1dG8pIHtcclxuICB0b3A6ICR0b3A7XHJcbiAgcmlnaHQ6ICRyaWdodDtcclxuICBib3R0b206ICRib3R0b207XHJcbiAgbGVmdDogJGxlZnQ7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG59XHJcbkBtaXhpbiBjb3ZlckltZyB7XHJcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHQtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0LW8tYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cdGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XHJcbn1cclxuQG1peGluIHZhbGluZ0JveCB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogIDUwJTtcclxuXHRsZWZ0OiA1MCU7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbn1cclxuQG1peGluIHVuU2VsZWN0IHtcclxuXHQtd2Via2l0LXRvdWNoLWNvbGxvdXQ6IG5vbmU7XHJcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbn1cclxuQG1peGluIG1heDExOTkgeyAvLyBtYWtldCAxMTcxXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkgeyBAY29udGVudDsgfVxyXG59XHJcbkBtaXhpbiBtYXgxMTcwIHsgLy8gbWFrZXRzIDk5MlxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMTcwcHgpIHsgQGNvbnRlbnQ7IH1cclxufVxyXG5AbWl4aW4gbWF4OTkxIHsgLy8gbWFrZXRzIDc2MlxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkgeyBAY29udGVudDsgfVxyXG59XHJcbkBtaXhpbiBtYXg3NjEgeyAvLyBtYWtldHMgNTc2XHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2MXB4KSB7IEBjb250ZW50OyB9XHJcbn1cclxuQG1peGluIG1heDU3NSB7IC8vIG1ha2V0cyA0MDBcclxuICBAbWVkaWEgKG1heC13aWR0aDogNTc1cHgpIHsgQGNvbnRlbnQ7IH1cclxufVxyXG5AbWl4aW4gbW9iaWxlIHtcclxuICBAbWVkaWEgKG1heC13aWR0aDogMzk5cHgpIHsgQGNvbnRlbnQ7IH1cclxufVxyXG5AbWl4aW4gaWNvQ2VudGVyIHtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG59XHJcbkBtaXhpbiBwc2V1ZG8gKCRkaXNwbGF5OiBibG9jaywgJHBvczogYWJzb2x1dGUsICRjb250ZW50OiAnJyl7XHJcbiAgY29udGVudDogJGNvbnRlbnQ7XHJcbiAgZGlzcGxheTogJGRpc3BsYXk7XHJcbiAgcG9zaXRpb246ICRwb3M7XHJcbn1cclxuXHJcbi8qXHJcbiogSW1wbGVtZW50YXRpb24gb2YgdGhlbWVzXHJcbiovXHJcbkBtaXhpbiB0aGVtaWZ5KCR0aGVtZXM6ICR0aGVtZXMpIHtcclxuICBAZWFjaCAkdGhlbWUsICRtYXAgaW4gJHRoZW1lcyB7XHJcbiAgICAudGhlbWUtI3skdGhlbWV9ICYge1xyXG4gICAgICAkdGhlbWUtbWFwOiAoKSAhZ2xvYmFsO1xyXG4gICAgICBAZWFjaCAka2V5LCAkc3VibWFwIGluICRtYXAge1xyXG4gICAgICAgICR2YWx1ZTogbWFwLWdldChtYXAtZ2V0KCR0aGVtZXMsICR0aGVtZSksICcjeyRrZXl9Jyk7XHJcbiAgICAgICAgJHRoZW1lLW1hcDogbWFwLW1lcmdlKCR0aGVtZS1tYXAsICgka2V5OiAkdmFsdWUpKSAhZ2xvYmFsO1xyXG4gICAgICB9XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgICAkdGhlbWUtbWFwOiBudWxsICFnbG9iYWw7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AZnVuY3Rpb24gdGhlbWVkKCRrZXkpIHtcclxuICBAcmV0dXJuIG1hcC1nZXQoJHRoZW1lLW1hcCwgJGtleSk7XHJcbn1cclxuIiwiLypcclxuKiBJbXBsZW1lbnRhdGlvbiBvZiB0aGVtZXNcclxuKi9cbi5hcHAtY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG92ZXJmbG93LXg6IG92ZXJsYXk7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmFwcC1jb250ZW50IC5wcmVsb2FkZXIge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuYXBwLWNvbnRlbnQgLnByZWxvYWRlciAubG9hZGluZy1iYXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBhbmltYXRpb246IG1vdmUgNXMgbGluZWFyIGluZmluaXRlO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMTAwJSAxMDAlLCBjb2xvci1zdG9wKDAuMTI1LCByZ2JhKDAsIDAsIDAsIDAuMTUpKSwgY29sb3Itc3RvcCgwLjEyNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuMjUsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCgwLjI1LCByZ2JhKDAsIDAsIDAsIDAuMSkpLCBjb2xvci1zdG9wKDAuMzc1LCByZ2JhKDAsIDAsIDAsIDAuMSkpLCBjb2xvci1zdG9wKDAuMzc1LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCByZ2JhKDAsIDAsIDAsIDAuMTUpKSwgY29sb3Itc3RvcCgwLjYyNSwgcmdiYSgwLCAwLCAwLCAwLjE1KSksIGNvbG9yLXN0b3AoMC42MjUsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCgwLjc1LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC43NSwgcmdiYSgwLCAwLCAwLCAwLjEpKSwgY29sb3Itc3RvcCgwLjg3NSwgcmdiYSgwLCAwLCAwLCAwLjEpKSwgY29sb3Itc3RvcCgwLjg3NSwgdHJhbnNwYXJlbnQpLCB0byh0cmFuc3BhcmVudCkpLCAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAxMDAlLCAxMDAlIDAsIGNvbG9yLXN0b3AoMC4xMjUsIHJnYmEoMCwgMCwgMCwgMC4zKSksIGNvbG9yLXN0b3AoMC4xMjUsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCgwLjI1LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC4yNSwgcmdiYSgwLCAwLCAwLCAwLjI1KSksIGNvbG9yLXN0b3AoMC4zNzUsIHJnYmEoMCwgMCwgMCwgMC4yNSkpLCBjb2xvci1zdG9wKDAuMzc1LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCByZ2JhKDAsIDAsIDAsIDAuMykpLCBjb2xvci1zdG9wKDAuNjI1LCByZ2JhKDAsIDAsIDAsIDAuMykpLCBjb2xvci1zdG9wKDAuNjI1LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC43NSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNzUsIHJnYmEoMCwgMCwgMCwgMC4yNSkpLCBjb2xvci1zdG9wKDAuODc1LCByZ2JhKDAsIDAsIDAsIDAuMjUpKSwgY29sb3Itc3RvcCgwLjg3NSwgdHJhbnNwYXJlbnQpLCB0byh0cmFuc3BhcmVudCkpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMHJlbSAxMHJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMXJlbTsgfVxuXG5Aa2V5ZnJhbWVzIG1vdmUge1xuICAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAtMTByZW07IH1cbiAgMTAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAxMHJlbTsgfSB9XG4iLCJAaW1wb3J0ICd+c3JjL2Fzc2V0cy9zY3NzL2Jhc2UvbWl4aW5zJztcclxuXHJcbi5hcHAtY29udGVudCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBvdmVyZmxvdy14OiBvdmVybGF5O1xyXG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcclxuICB3aWR0aDogMTAwJTtcclxuXHJcbiAgLnByZWxvYWRlciB7XHJcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgd2lkdGg6IDUwJTtcclxuXHJcbiAgICAubG9hZGluZy1iYXIge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgYW5pbWF0aW9uOiBtb3ZlIDVzIGxpbmVhciBpbmZpbml0ZTtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTpcclxuICAgICAgICAtd2Via2l0LWdyYWRpZW50KFxyXG4gICAgICAgICAgICBsaW5lYXIsIDAgMCwgMTAwJSAxMDAlLFxyXG4gICAgICAgICAgICBjb2xvci1zdG9wKC4xMjUsIHJnYmEoMCwgMCwgMCwgLjE1KSksIGNvbG9yLXN0b3AoLjEyNSwgdHJhbnNwYXJlbnQpLFxyXG4gICAgICAgICAgICBjb2xvci1zdG9wKC4yNTAsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCguMjUwLCByZ2JhKDAsIDAsIDAsIC4xMCkpLFxyXG4gICAgICAgICAgICBjb2xvci1zdG9wKC4zNzUsIHJnYmEoMCwgMCwgMCwgLjEwKSksIGNvbG9yLXN0b3AoLjM3NSwgdHJhbnNwYXJlbnQpLFxyXG4gICAgICAgICAgICBjb2xvci1zdG9wKC41MDAsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCguNTAwLCByZ2JhKDAsIDAsIDAsIC4xNSkpLFxyXG4gICAgICAgICAgICBjb2xvci1zdG9wKC42MjUsIHJnYmEoMCwgMCwgMCwgLjE1KSksIGNvbG9yLXN0b3AoLjYyNSwgdHJhbnNwYXJlbnQpLFxyXG4gICAgICAgICAgICBjb2xvci1zdG9wKC43NTAsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCguNzUwLCByZ2JhKDAsIDAsIDAsIC4xMCkpLFxyXG4gICAgICAgICAgICBjb2xvci1zdG9wKC44NzUsIHJnYmEoMCwgMCwgMCwgLjEwKSksIGNvbG9yLXN0b3AoLjg3NSwgdHJhbnNwYXJlbnQpLFxyXG4gICAgICAgICAgICB0byh0cmFuc3BhcmVudClcclxuICAgICAgICApLFxyXG4gICAgICAgIC13ZWJraXQtZ3JhZGllbnQoXHJcbiAgICAgICAgICAgIGxpbmVhciwgMCAxMDAlLCAxMDAlIDAsXHJcbiAgICAgICAgICAgIGNvbG9yLXN0b3AoLjEyNSwgcmdiYSgwLCAwLCAwLCAuMzApKSwgY29sb3Itc3RvcCguMTI1LCB0cmFuc3BhcmVudCksXHJcbiAgICAgICAgICAgIGNvbG9yLXN0b3AoLjI1MCwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKC4yNTAsIHJnYmEoMCwgMCwgMCwgLjI1KSksXHJcbiAgICAgICAgICAgIGNvbG9yLXN0b3AoLjM3NSwgcmdiYSgwLCAwLCAwLCAuMjUpKSwgY29sb3Itc3RvcCguMzc1LCB0cmFuc3BhcmVudCksXHJcbiAgICAgICAgICAgIGNvbG9yLXN0b3AoLjUwMCwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKC41MDAsIHJnYmEoMCwgMCwgMCwgLjMwKSksXHJcbiAgICAgICAgICAgIGNvbG9yLXN0b3AoLjYyNSwgcmdiYSgwLCAwLCAwLCAuMzApKSwgY29sb3Itc3RvcCguNjI1LCB0cmFuc3BhcmVudCksXHJcbiAgICAgICAgICAgIGNvbG9yLXN0b3AoLjc1MCwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKC43NTAsIHJnYmEoMCwgMCwgMCwgLjI1KSksXHJcbiAgICAgICAgICAgIGNvbG9yLXN0b3AoLjg3NSwgcmdiYSgwLCAwLCAwLCAuMjUpKSwgY29sb3Itc3RvcCguODc1LCB0cmFuc3BhcmVudCksXHJcbiAgICAgICAgICAgIHRvKHRyYW5zcGFyZW50KVxyXG4gICAgICAgICk7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTByZW0gMTByZW07XHJcbiAgICAgIG1hcmdpbi10b3A6IDJyZW07XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDFyZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAa2V5ZnJhbWVzIG1vdmUge1xyXG4gICAgMCUge1xyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIC0xMHJlbTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDEwcmVtO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0= */" - -/***/ }), - -/***/ "./src/app/app.component.ts": -/*!**********************************!*\ - !*** ./src/app/app.component.ts ***! - \**********************************/ -/*! exports provided: AppComponent */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AppComponent", function() { return AppComponent; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/common/http */ "./node_modules/@angular/common/fesm5/http.js"); -/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @ngx-translate/core */ "./node_modules/@ngx-translate/core/fesm5/ngx-translate-core.js"); -/* harmony import */ var _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_helpers/services/backend.service */ "./src/app/_helpers/services/backend.service.ts"); -/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm5/router.js"); -/* harmony import */ var _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./_helpers/services/variables.service */ "./src/app/_helpers/services/variables.service.ts"); -/* harmony import */ var ngx_contextmenu__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ngx-contextmenu */ "./node_modules/ngx-contextmenu/fesm5/ngx-contextmenu.js"); -/* harmony import */ var _helpers_pipes_int_to_money_pipe__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./_helpers/pipes/int-to-money.pipe */ "./src/app/_helpers/pipes/int-to-money.pipe.ts"); -/* harmony import */ var bignumber_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! bignumber.js */ "./node_modules/bignumber.js/bignumber.js"); -/* harmony import */ var bignumber_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(bignumber_js__WEBPACK_IMPORTED_MODULE_8__); -/* harmony import */ var _helpers_services_modal_service__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./_helpers/services/modal.service */ "./src/app/_helpers/services/modal.service.ts"); -/* harmony import */ var _helpers_services_utils_service__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./_helpers/services/utils.service */ "./src/app/_helpers/services/utils.service.ts"); -/* harmony import */ var store__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! store */ "./src/store.ts"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - - - - - - -var AppComponent = /** @class */ (function () { - function AppComponent(http, renderer, translate, backend, router, variablesService, ngZone, intToMoneyPipe, modalService, utilsService, store) { - var _this = this; - this.http = http; - this.renderer = renderer; - this.translate = translate; - this.backend = backend; - this.router = router; - this.variablesService = variablesService; - this.ngZone = ngZone; - this.intToMoneyPipe = intToMoneyPipe; - this.modalService = modalService; - this.utilsService = utilsService; - this.store = store; - this.onQuitRequest = false; - this.firstOnlineState = false; - this.translateUsed = false; - this.needOpenWallets = []; - translate.addLangs(['en', 'fr', 'de', 'it', 'pt']); - translate.setDefaultLang('en'); - // const browserLang = translate.getBrowserLang(); - // translate.use(browserLang.match(/en|fr/) ? browserLang : 'en'); - translate.use('en').subscribe(function () { - _this.translateUsed = true; - }); - } - AppComponent.prototype.setBackendLocalization = function () { - var _this = this; - if (this.translateUsed) { - var stringsArray = [ - this.translate.instant('BACKEND_LOCALIZATION.QUIT'), - this.translate.instant('BACKEND_LOCALIZATION.IS_RECEIVED'), - this.translate.instant('BACKEND_LOCALIZATION.IS_CONFIRMED'), - this.translate.instant('BACKEND_LOCALIZATION.INCOME_TRANSFER_UNCONFIRMED'), - this.translate.instant('BACKEND_LOCALIZATION.INCOME_TRANSFER_CONFIRMED'), - this.translate.instant('BACKEND_LOCALIZATION.MINED'), - this.translate.instant('BACKEND_LOCALIZATION.LOCKED'), - this.translate.instant('BACKEND_LOCALIZATION.IS_MINIMIZE'), - this.translate.instant('BACKEND_LOCALIZATION.RESTORE'), - this.translate.instant('BACKEND_LOCALIZATION.TRAY_MENU_SHOW'), - this.translate.instant('BACKEND_LOCALIZATION.TRAY_MENU_MINIMIZE') - ]; - this.backend.setBackendLocalization(stringsArray, this.variablesService.settings.language); - } - else { - console.warn('wait translate use'); - setTimeout(function () { - _this.setBackendLocalization(); - }, 10000); - } - }; - AppComponent.prototype.ngOnInit = function () { - var _this = this; - this.variablesService.allContextMenu = this.allContextMenu; - this.variablesService.onlyCopyContextMenu = this.onlyCopyContextMenu; - this.backend.initService().subscribe(function (initMessage) { - console.log('Init message: ', initMessage); - _this.backend.webkitLaunchedScript(); - _this.backend.start_backend(false, '127.0.0.1', 11512, function (st2, dd2) { - console.log(st2, dd2); - }); - _this.backend.eventSubscribe('quit_requested', function () { - if (!_this.onQuitRequest) { - _this.ngZone.run(function () { - _this.router.navigate(['/']); - }); - _this.needOpenWallets = []; - _this.variablesService.daemon_state = 5; - var saveFunction_1 = function () { - _this.backend.storeAppData(function () { - var recursionCloseWallets = function () { - if (_this.variablesService.wallets.length) { - var lastIndex_1 = _this.variablesService.wallets.length - 1; - _this.backend.closeWallet(_this.variablesService.wallets[lastIndex_1].wallet_id, function () { - _this.variablesService.wallets.splice(lastIndex_1, 1); - recursionCloseWallets(); - }); - } - else { - _this.backend.quitRequest(); - } - }; - recursionCloseWallets(); - }); - }; - if (_this.variablesService.appPass) { - _this.backend.storeSecureAppData(function () { - saveFunction_1(); - }); - } - else { - saveFunction_1(); - } - } - _this.onQuitRequest = true; - }); - _this.backend.eventSubscribe('update_wallet_status', function (data) { - console.log('----------------- update_wallet_status -----------------'); - console.log(data); - var wallet_state = data.wallet_state; - var is_mining = data.is_mining; - var wallet = _this.variablesService.getWallet(data.wallet_id); - // 1-synch, 2-ready, 3 - error - if (wallet) { - _this.ngZone.run(function () { - wallet.loaded = false; - wallet.staking = is_mining; - if (wallet_state === 2) { // ready - wallet.loaded = true; - } - if (wallet_state === 3) { // error - // wallet.error = true; - } - wallet.balance = data.balance; - wallet.unlocked_balance = data.unlocked_balance; - wallet.mined_total = data.minied_total; - wallet.alias_available = data.is_alias_operations_available; - }); - } - }); - _this.backend.eventSubscribe('wallet_sync_progress', function (data) { - console.log('----------------- wallet_sync_progress -----------------'); - console.log(data); - var wallet = _this.variablesService.getWallet(data.wallet_id); - if (wallet) { - _this.ngZone.run(function () { - wallet.progress = (data.progress < 0) ? 0 : ((data.progress > 100) ? 100 : data.progress); - if (!_this.variablesService.sync_started) { - _this.variablesService.sync_started = true; - } - _this.addToStore(wallet, true); // subscribe on data - if (wallet.progress === 0) { - wallet.loaded = false; - } - else if (wallet.progress === 100) { - wallet.loaded = true; - _this.addToStore(wallet, false); - } - }); - } - }); - _this.backend.eventSubscribe('update_daemon_state', function (data) { - console.log('----------------- update_daemon_state -----------------'); - console.log('DAEMON:' + data.daemon_network_state); - console.log(data); - // this.variablesService.exp_med_ts = data['expiration_median_timestamp'] + 600 + 1; - _this.variablesService.setExpMedTs(data['expiration_median_timestamp'] + 600 + 1); - _this.variablesService.net_time_delta_median = data.net_time_delta_median; - _this.variablesService.last_build_available = data.last_build_available; - _this.variablesService.last_build_displaymode = data.last_build_displaymode; - _this.variablesService.setHeightApp(data.height); - _this.variablesService.setHeightMax(data.max_net_seen_height); - _this.variablesService.setDownloadedBytes(data.downloaded_bytes); - _this.variablesService.setTotalBytes(data.download_total_data_size); - _this.backend.getContactAlias(); - _this.ngZone.run(function () { - _this.variablesService.daemon_state = data['daemon_network_state']; - if (data['daemon_network_state'] === 1) { - var max = data['max_net_seen_height'] - data['synchronization_start_height']; - var current = data.height - data['synchronization_start_height']; - var return_val = Math.floor((current * 100 / max) * 100) / 100; - if (max === 0 || return_val < 0) { - _this.variablesService.sync.progress_value = 0; - _this.variablesService.sync.progress_value_text = '0.00'; - } - else if (return_val >= 100) { - _this.variablesService.sync.progress_value = 100; - _this.variablesService.sync.progress_value_text = '99.99'; - } - else { - _this.variablesService.sync.progress_value = return_val; - _this.variablesService.sync.progress_value_text = return_val.toFixed(2); - } - } - if (data['daemon_network_state'] === 6) { - var max = data['download_total_data_size']; - var current = data['downloaded_bytes']; - var return_val = Math.floor((current / max) * 100); - if (max === 0 || return_val < 0) { - _this.variablesService.download.progress_value = 0; - _this.variablesService.download.progress_value_text = '0.00'; - } - else if (return_val >= 100) { - _this.variablesService.download.progress_value = 100; - _this.variablesService.download.progress_value_text = '99.99'; - } - else { - _this.variablesService.download.progress_value = return_val; - _this.variablesService.download.progress_value_text = return_val.toFixed(2); - } - } - }); - if (!_this.firstOnlineState && data['daemon_network_state'] === 2) { - _this.getAliases(); - _this.backend.getContactAlias(); - _this.backend.getDefaultFee(function (status_fee, data_fee) { - _this.variablesService.default_fee_big = new bignumber_js__WEBPACK_IMPORTED_MODULE_8__["BigNumber"](data_fee); - _this.variablesService.default_fee = _this.intToMoneyPipe.transform(data_fee); - }); - _this.firstOnlineState = true; - } - }); - _this.backend.eventSubscribe('money_transfer', function (data) { - console.log('----------------- money_transfer -----------------'); - console.log(data); - if (!data.ti) { - return; - } - var wallet_id = data.wallet_id; - var tr_info = data.ti; - var wallet = _this.variablesService.getWallet(wallet_id); - if (wallet) { - if (wallet.history.length > 40) { - wallet.history.splice(40, 1); - } - _this.ngZone.run(function () { - if (!wallet.loaded) { - wallet.balance = data.balance; - wallet.unlocked_balance = data.unlocked_balance; - } - else { - wallet.balance = data.balance; - wallet.unlocked_balance = data.unlocked_balance; - } - if (tr_info.tx_type === 6) { - _this.variablesService.setRefreshStacking(wallet_id); - } - var tr_exists = wallet.excluded_history.some(function (elem) { return elem.tx_hash === tr_info.tx_hash; }); - tr_exists = (!tr_exists) ? wallet.history.some(function (elem) { return elem.tx_hash === tr_info.tx_hash; }) : tr_exists; - if (wallet.currentPage === 1) { - wallet.prepareHistory([tr_info]); - if (wallet.restore) { - wallet.total_history_item = wallet.history.length; - wallet.totalPages = Math.ceil(wallet.total_history_item / _this.variablesService.count); - wallet.totalPages > _this.variablesService.maxPages - ? wallet.pages = new Array(5).fill(1).map(function (value, index) { return value + index; }) - : wallet.pages = new Array(wallet.totalPages).fill(1).map(function (value, index) { return value + index; }); - } - } - if (tr_info.hasOwnProperty('contract')) { - var exp_med_ts = _this.variablesService.exp_med_ts; - var height_app = _this.variablesService.height_app; - var contract_1 = tr_info.contract[0]; - if (tr_exists) { - for (var i = 0; i < wallet.contracts.length; i++) { - if (wallet.contracts[i].contract_id === contract_1.contract_id && wallet.contracts[i].is_a === contract_1.is_a) { - wallet.contracts[i].cancel_expiration_time = contract_1.cancel_expiration_time; - wallet.contracts[i].expiration_time = contract_1.expiration_time; - wallet.contracts[i].height = contract_1.height; - wallet.contracts[i].timestamp = contract_1.timestamp; - break; - } - } - // $rootScope.getContractsRecount(); - return; - } - if (contract_1.state === 1 && contract_1.expiration_time < exp_med_ts) { - contract_1.state = 110; - } - else if (contract_1.state === 5 && contract_1.cancel_expiration_time < exp_med_ts) { - contract_1.state = 130; - } - else if (contract_1.state === 1) { - var searchResult2 = _this.variablesService.settings.notViewedContracts.find(function (elem) { return elem.state === 110 && elem.is_a === contract_1.is_a && elem.contract_id === contract_1.contract_id; }); - if (searchResult2) { - if (searchResult2.time === contract_1.expiration_time) { - contract_1.state = 110; - } - else { - for (var j = 0; j < _this.variablesService.settings.notViewedContracts.length; j++) { - if (_this.variablesService.settings.notViewedContracts[j].contract_id === contract_1.contract_id && _this.variablesService.settings.notViewedContracts[j].is_a === contract_1.is_a) { - _this.variablesService.settings.notViewedContracts.splice(j, 1); - break; - } - } - for (var j = 0; j < _this.variablesService.settings.viewedContracts.length; j++) { - if (_this.variablesService.settings.viewedContracts[j].contract_id === contract_1.contract_id && _this.variablesService.settings.viewedContracts[j].is_a === contract_1.is_a) { - _this.variablesService.settings.viewedContracts.splice(j, 1); - break; - } - } - } - } - } - else if (contract_1.state === 2 && (contract_1.height === 0 || (height_app - contract_1.height) < 10)) { - contract_1.state = 201; - } - else if (contract_1.state === 2) { - var searchResult3 = _this.variablesService.settings.viewedContracts.some(function (elem) { return elem.state === 120 && elem.is_a === contract_1.is_a && elem.contract_id === contract_1.contract_id; }); - if (searchResult3) { - contract_1.state = 120; - } - } - else if (contract_1.state === 5) { - var searchResult4 = _this.variablesService.settings.notViewedContracts.find(function (elem) { return elem.state === 130 && elem.is_a === contract_1.is_a && elem.contract_id === contract_1.contract_id; }); - if (searchResult4) { - if (searchResult4.time === contract_1.cancel_expiration_time) { - contract_1.state = 130; - } - else { - for (var j = 0; j < _this.variablesService.settings.notViewedContracts.length; j++) { - if (_this.variablesService.settings.notViewedContracts[j].contract_id === contract_1.contract_id && _this.variablesService.settings.notViewedContracts[j].is_a === contract_1.is_a) { - _this.variablesService.settings.notViewedContracts.splice(j, 1); - break; - } - } - for (var j = 0; j < _this.variablesService.settings.viewedContracts.length; j++) { - if (_this.variablesService.settings.viewedContracts[j].contract_id === contract_1.contract_id && _this.variablesService.settings.viewedContracts[j].is_a === contract_1.is_a) { - _this.variablesService.settings.viewedContracts.splice(j, 1); - break; - } - } - } - } - } - else if (contract_1.state === 6 && (contract_1.height === 0 || (height_app - contract_1.height) < 10)) { - contract_1.state = 601; - } - var searchResult = _this.variablesService.settings.viewedContracts.some(function (elem) { return elem.state === contract_1.state && elem.is_a === contract_1.is_a && elem.contract_id === contract_1.contract_id; }); - contract_1.is_new = !searchResult; - var findContract = false; - for (var i = 0; i < wallet.contracts.length; i++) { - if (wallet.contracts[i].contract_id === contract_1.contract_id && wallet.contracts[i].is_a === contract_1.is_a) { - for (var prop in contract_1) { - if (contract_1.hasOwnProperty(prop)) { - wallet.contracts[i][prop] = contract_1[prop]; - } - } - findContract = true; - break; - } - } - if (findContract === false) { - wallet.contracts.push(contract_1); - } - wallet.recountNewContracts(); - } - }); - } - }); - _this.backend.eventSubscribe('money_transfer_cancel', function (data) { - console.log('----------------- money_transfer_cancel -----------------'); - console.log(data); - if (!data.ti) { - return; - } - var wallet_id = data.wallet_id; - var tr_info = data.ti; - var wallet = _this.variablesService.getWallet(wallet_id); - if (wallet) { - if (tr_info.hasOwnProperty('contract')) { - for (var i = 0; i < wallet.contracts.length; i++) { - if (wallet.contracts[i].contract_id === tr_info.contract[0].contract_id && wallet.contracts[i].is_a === tr_info.contract[0].is_a) { - if (wallet.contracts[i].state === 1 || wallet.contracts[i].state === 110) { - wallet.contracts[i].is_new = true; - wallet.contracts[i].state = 140; - wallet.recountNewContracts(); - } - break; - } - } - } - wallet.removeFromHistory(tr_info.tx_hash); - var error_tr = ''; - switch (tr_info.tx_type) { - case 0: - error_tr = _this.translate.instant('ERRORS.TX_TYPE_NORMAL') + '
      ' + - tr_info.tx_hash + '
      ' + wallet.name + '
      ' + wallet.address + '
      ' + - _this.translate.instant('ERRORS.TX_TYPE_NORMAL_TO') + ' ' + _this.intToMoneyPipe.transform(tr_info.amount) + ' ' + - _this.translate.instant('ERRORS.TX_TYPE_NORMAL_END'); - break; - case 1: - // this.translate.instant('ERRORS.TX_TYPE_PUSH_OFFER'); - break; - case 2: - // this.translate.instant('ERRORS.TX_TYPE_UPDATE_OFFER'); - break; - case 3: - // this.translate.instant('ERRORS.TX_TYPE_CANCEL_OFFER'); - break; - case 4: - error_tr = _this.translate.instant('ERRORS.TX_TYPE_NEW_ALIAS') + '
      ' + - tr_info.tx_hash + '
      ' + wallet.name + '
      ' + wallet.address + '
      ' + - _this.translate.instant('ERRORS.TX_TYPE_NEW_ALIAS_END'); - break; - case 5: - error_tr = _this.translate.instant('ERRORS.TX_TYPE_UPDATE_ALIAS') + '
      ' + - tr_info.tx_hash + '
      ' + wallet.name + '
      ' + wallet.address + '
      ' + - _this.translate.instant('ERRORS.TX_TYPE_NEW_ALIAS_END'); - break; - case 6: - error_tr = _this.translate.instant('ERRORS.TX_TYPE_COIN_BASE'); - break; - } - if (error_tr) { - _this.modalService.prepareModal('error', error_tr); - } - } - }); - _this.backend.eventSubscribe('on_core_event', function (data) { - console.log('----------------- on_core_event -----------------'); - console.log(data); - data = JSON.parse(data); - if (data.events != null) { - var _loop_1 = function (i, length_1) { - switch (data.events[i].method) { - case 'CORE_EVENT_BLOCK_ADDED': - break; - case 'CORE_EVENT_ADD_ALIAS': - if (_this.variablesService.aliasesChecked[data.events[i].details.address] != null) { - _this.variablesService.aliasesChecked[data.events[i].details.address]['name'] = '@' + data.events[i].details.alias; - _this.variablesService.aliasesChecked[data.events[i].details.address]['address'] = data.events[i].details.address; - _this.variablesService.aliasesChecked[data.events[i].details.address]['comment'] = data.events[i].details.comment; - } - if (_this.variablesService.enableAliasSearch) { - var newAlias = { - name: '@' + data.events[i].details.alias, - address: data.events[i].details.address, - comment: data.events[i].details.comment - }; - _this.variablesService.aliases = _this.variablesService.aliases.concat(newAlias); - _this.variablesService.changeAliases(); - } - break; - case 'CORE_EVENT_UPDATE_ALIAS': - for (var address in _this.variablesService.aliasesChecked) { - if (_this.variablesService.aliasesChecked.hasOwnProperty(address)) { - if (_this.variablesService.aliasesChecked[address].name === '@' + data.events[i].details.alias) { - if (_this.variablesService.aliasesChecked[address].address !== data.events[i].details.details.address) { - delete _this.variablesService.aliasesChecked[address]['name']; - delete _this.variablesService.aliasesChecked[address]['address']; - delete _this.variablesService.aliasesChecked[address]['comment']; - } - else { - _this.variablesService.aliasesChecked[address].comment = data.events[i].details.details.comment; - } - break; - } - } - } - if (_this.variablesService.aliasesChecked[data.events[i].details.details.address] != null) { - _this.variablesService.aliasesChecked[data.events[i].details.details.address]['name'] = '@' + data.events[i].details.alias; - _this.variablesService.aliasesChecked[data.events[i].details.details.address]['address'] = data.events[i].details.details.address; - _this.variablesService.aliasesChecked[data.events[i].details.details.address]['comment'] = data.events[i].details.details.comment; - } - if (_this.variablesService.enableAliasSearch) { - var CurrentAlias = _this.variablesService.aliases.find(function (element) { return element.name === '@' + data.events[i].details.alias; }); - if (CurrentAlias) { - CurrentAlias.address = data.events[i].details.details.address; - CurrentAlias.comment = data.events[i].details.details.comment; - } - } - _this.variablesService.changeAliases(); - break; - default: - break; - } - }; - for (var i = 0, length_1 = data.events.length; i < length_1; i++) { - _loop_1(i, length_1); - } - } - }); - _this.intervalUpdateContractsState = setInterval(function () { - _this.variablesService.wallets.forEach(function (wallet) { - wallet.contracts.forEach(function (contract) { - if (contract.state === 201 && contract.height !== 0 && (_this.variablesService.height_app - contract.height) >= 10) { - contract.state = 2; - contract.is_new = true; - console.warn('need check state in contracts'); - } - else if (contract.state === 601 && contract.height !== 0 && (_this.variablesService.height_app - contract.height) >= 10) { - contract.state = 6; - contract.is_new = true; - } - }); - }); - }, 30000); - _this.expMedTsEvent = _this.variablesService.getExpMedTsEvent.subscribe(function (newTimestamp) { - _this.variablesService.wallets.forEach(function (wallet) { - wallet.contracts.forEach(function (contract) { - if (contract.state === 1 && contract.expiration_time <= newTimestamp) { - contract.state = 110; - contract.is_new = true; - wallet.recountNewContracts(); - } - else if (contract.state === 5 && contract.cancel_expiration_time <= newTimestamp) { - contract.state = 130; - contract.is_new = true; - wallet.recountNewContracts(); - } - }); - }); - }); - _this.backend.getAppData(function (status, data) { - if (data && Object.keys(data).length > 0) { - for (var key in data) { - if (data.hasOwnProperty(key) && _this.variablesService.settings.hasOwnProperty(key)) { - _this.variablesService.settings[key] = data[key]; - } - } - if (_this.variablesService.settings.hasOwnProperty('theme') && ['dark', 'white', 'gray'].indexOf(_this.variablesService.settings.theme) !== -1) { - _this.renderer.addClass(document.body, 'theme-' + _this.variablesService.settings.theme); - } - else { - _this.renderer.addClass(document.body, 'theme-' + _this.variablesService.defaultTheme); - } - if (_this.variablesService.settings.hasOwnProperty('scale') && [7.5, 10, 12.5, 15].indexOf(_this.variablesService.settings.scale) !== -1) { - var width = _this.utilsService.getMinWidthByScale(_this.variablesService.settings.scale); - var app = document.documentElement.querySelector('app-root'); - _this.renderer.setStyle(app, 'min-width', width + 'px'); - _this.renderer.setStyle(document.documentElement, 'font-size', _this.variablesService.settings.scale + 'px'); - } - } - else { - _this.variablesService.settings.theme = _this.variablesService.defaultTheme; - _this.renderer.addClass(document.body, 'theme-' + _this.variablesService.settings.theme); - } - _this.translate.use(_this.variablesService.settings.language); - _this.setBackendLocalization(); - _this.backend.setLogLevel(_this.variablesService.settings.appLog); - if (_this.router.url !== '/login') { - _this.backend.haveSecureAppData(function (statusPass) { - if (statusPass) { - _this.ngZone.run(function () { - _this.router.navigate(['/login'], { queryParams: { type: 'auth' } }); - }); - } - else { - if (Object.keys(data).length !== 0) { - _this.needOpenWallets = JSON.parse(JSON.stringify(_this.variablesService.settings.wallets)); - _this.ngZone.run(function () { - _this.variablesService.appLogin = true; - _this.router.navigate(['/']); - }); - } - else { - _this.ngZone.run(function () { - _this.router.navigate(['/login'], { queryParams: { type: 'reg' } }); - }); - } - } - }); - } - }); - }, function (error) { - console.log(error); - }); - this.getMoneyEquivalent(); - this.intervalUpdatePriceState = setInterval(function () { - _this.getMoneyEquivalent(); - }, 30000); - }; - AppComponent.prototype.getMoneyEquivalent = function () { - var _this = this; - this.http.get('https://api.coingecko.com/api/v3/ping').subscribe(function () { - _this.http.get('https://api.coingecko.com/api/v3/simple/price?ids=zano&vs_currencies=usd').subscribe(function (data) { - _this.variablesService.moneyEquivalent = data['zano']['usd']; - }, function (error) { - console.warn('api.coingecko.com price error: ', error); - }); - }, function (error) { - console.warn('api.coingecko.com error: ', error); - setTimeout(function () { - _this.getMoneyEquivalent(); - }, 30000); - }); - }; - AppComponent.prototype.getAliases = function () { - var _this = this; - this.backend.getAllAliases(function (status, data, error) { - console.warn(error); - if (error === 'CORE_BUSY') { - window.setTimeout(function () { - _this.getAliases(); - }, 10000); - } - else if (error === 'OVERFLOW') { - _this.variablesService.aliases = []; - _this.variablesService.enableAliasSearch = false; - _this.variablesService.wallets.forEach(function (wallet) { - wallet.alias = _this.backend.getWalletAlias(wallet.address); - }); - } - else { - _this.variablesService.enableAliasSearch = true; - if (data.aliases && data.aliases.length) { - _this.variablesService.aliases = []; - data.aliases.forEach(function (alias) { - var newAlias = { - name: '@' + alias.alias, - address: alias.address, - comment: alias.comment - }; - _this.variablesService.aliases.push(newAlias); - }); - _this.variablesService.wallets.forEach(function (wallet) { - wallet.alias = _this.backend.getWalletAlias(wallet.address); - }); - _this.variablesService.aliases = _this.variablesService.aliases.sort(function (a, b) { - if (a.name.length > b.name.length) { - return 1; - } - if (a.name.length < b.name.length) { - return -1; - } - if (a.name > b.name) { - return 1; - } - if (a.name < b.name) { - return -1; - } - return 0; - }); - _this.variablesService.changeAliases(); - } - } - }); - }; - AppComponent.prototype.contextMenuCopy = function (target) { - if (target && (target['nodeName'].toUpperCase() === 'TEXTAREA' || target['nodeName'].toUpperCase() === 'INPUT')) { - var start = (target['contextSelectionStart']) ? 'contextSelectionStart' : 'selectionStart'; - var end = (target['contextSelectionEnd']) ? 'contextSelectionEnd' : 'selectionEnd'; - var canUseSelection = ((target[start]) || (target[start] === '0')); - var SelectedText = (canUseSelection) ? target['value'].substring(target[start], target[end]) : target['value']; - this.backend.setClipboard(String(SelectedText)); - } - }; - AppComponent.prototype.contextMenuOnlyCopy = function (text) { - if (text) { - this.backend.setClipboard(String(text)); - } - }; - AppComponent.prototype.contextMenuPaste = function (target) { - if (target && (target['nodeName'].toUpperCase() === 'TEXTAREA' || target['nodeName'].toUpperCase() === 'INPUT')) { - this.backend.getClipboard(function (status, clipboard) { - clipboard = String(clipboard); - if (typeof clipboard !== 'string' || clipboard.length) { - var start = (target['contextSelectionStart']) ? 'contextSelectionStart' : 'selectionStart'; - var end = (target['contextSelectionEnd']) ? 'contextSelectionEnd' : 'selectionEnd'; - var _pre = target['value'].substring(0, target[start]); - var _aft = target['value'].substring(target[end], target['value'].length); - var text = _pre + clipboard + _aft; - var cursorPosition = (_pre + clipboard).length; - if (target['maxLength'] && parseInt(target['maxLength'], 10) > 0) { - text = text.substr(0, parseInt(target['maxLength'], 10)); - } - target['value'] = text; - target.setSelectionRange(cursorPosition, cursorPosition); - target.dispatchEvent(new Event('input')); - target['focus'](); - } - }); - } - }; - AppComponent.prototype.contextMenuSelect = function (target) { - if (target && (target['nodeName'].toUpperCase() === 'TEXTAREA' || target['nodeName'].toUpperCase() === 'INPUT')) { - target['focus'](); - setTimeout(function () { - target['select'](); - }); - } - }; - AppComponent.prototype.addToStore = function (wallet, boolean) { - var value = this.store.value.sync; - if (value && value.length) { - var sync = value.filter(function (item) { return item.wallet_id === wallet.wallet_id; }); - if (sync && sync.length) { - var result = value.map(function (item) { - if (item.wallet_id === wallet.wallet_id) { - return { sync: boolean, wallet_id: wallet.wallet_id }; - } - else { - return item; - } - }); - this.store.set('sync', result); - } - else { - value.push({ sync: boolean, wallet_id: wallet.wallet_id }); - this.store.set('sync', value); - } - } - else { - this.store.set('sync', [{ sync: boolean, wallet_id: wallet.wallet_id }]); - } - }; - AppComponent.prototype.ngOnDestroy = function () { - if (this.intervalUpdateContractsState) { - clearInterval(this.intervalUpdateContractsState); - } - if (this.intervalUpdatePriceState) { - clearInterval(this.intervalUpdatePriceState); - } - this.expMedTsEvent.unsubscribe(); - }; - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ViewChild"])('allContextMenu'), - __metadata("design:type", ngx_contextmenu__WEBPACK_IMPORTED_MODULE_6__["ContextMenuComponent"]) - ], AppComponent.prototype, "allContextMenu", void 0); - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ViewChild"])('onlyCopyContextMenu'), - __metadata("design:type", ngx_contextmenu__WEBPACK_IMPORTED_MODULE_6__["ContextMenuComponent"]) - ], AppComponent.prototype, "onlyCopyContextMenu", void 0); - AppComponent = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Component"])({ - selector: 'app-root', - template: __webpack_require__(/*! ./app.component.html */ "./src/app/app.component.html"), - providers: [_helpers_services_utils_service__WEBPACK_IMPORTED_MODULE_10__["UtilsService"]], - styles: [__webpack_require__(/*! ./app.component.scss */ "./src/app/app.component.scss")] - }), - __metadata("design:paramtypes", [_angular_common_http__WEBPACK_IMPORTED_MODULE_1__["HttpClient"], - _angular_core__WEBPACK_IMPORTED_MODULE_0__["Renderer2"], - _ngx_translate_core__WEBPACK_IMPORTED_MODULE_2__["TranslateService"], - _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_3__["BackendService"], - _angular_router__WEBPACK_IMPORTED_MODULE_4__["Router"], - _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_5__["VariablesService"], - _angular_core__WEBPACK_IMPORTED_MODULE_0__["NgZone"], - _helpers_pipes_int_to_money_pipe__WEBPACK_IMPORTED_MODULE_7__["IntToMoneyPipe"], - _helpers_services_modal_service__WEBPACK_IMPORTED_MODULE_9__["ModalService"], - _helpers_services_utils_service__WEBPACK_IMPORTED_MODULE_10__["UtilsService"], - store__WEBPACK_IMPORTED_MODULE_11__["Store"]]) - ], AppComponent); - return AppComponent; -}()); - - - -/***/ }), - -/***/ "./src/app/app.module.ts": -/*!*******************************!*\ - !*** ./src/app/app.module.ts ***! - \*******************************/ -/*! exports provided: HttpLoaderFactory, highchartsFactory, AppModule */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "HttpLoaderFactory", function() { return HttpLoaderFactory; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "highchartsFactory", function() { return highchartsFactory; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AppModule", function() { return AppModule; }); -/* harmony import */ var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/platform-browser */ "./node_modules/@angular/platform-browser/fesm5/platform-browser.js"); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _app_routing_module__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./app-routing.module */ "./src/app/app-routing.module.ts"); -/* harmony import */ var _app_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./app.component */ "./src/app/app.component.ts"); -/* harmony import */ var _login_login_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./login/login.component */ "./src/app/login/login.component.ts"); -/* harmony import */ var _settings_settings_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./settings/settings.component */ "./src/app/settings/settings.component.ts"); -/* harmony import */ var _sidebar_sidebar_component__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./sidebar/sidebar.component */ "./src/app/sidebar/sidebar.component.ts"); -/* harmony import */ var _main_main_component__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./main/main.component */ "./src/app/main/main.component.ts"); -/* harmony import */ var _create_wallet_create_wallet_component__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./create-wallet/create-wallet.component */ "./src/app/create-wallet/create-wallet.component.ts"); -/* harmony import */ var _open_wallet_open_wallet_component__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./open-wallet/open-wallet.component */ "./src/app/open-wallet/open-wallet.component.ts"); -/* harmony import */ var _open_wallet_modal_open_wallet_modal_component__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./open-wallet-modal/open-wallet-modal.component */ "./src/app/open-wallet-modal/open-wallet-modal.component.ts"); -/* harmony import */ var _restore_wallet_restore_wallet_component__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./restore-wallet/restore-wallet.component */ "./src/app/restore-wallet/restore-wallet.component.ts"); -/* harmony import */ var _seed_phrase_seed_phrase_component__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./seed-phrase/seed-phrase.component */ "./src/app/seed-phrase/seed-phrase.component.ts"); -/* harmony import */ var _wallet_details_wallet_details_component__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./wallet-details/wallet-details.component */ "./src/app/wallet-details/wallet-details.component.ts"); -/* harmony import */ var _assign_alias_assign_alias_component__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./assign-alias/assign-alias.component */ "./src/app/assign-alias/assign-alias.component.ts"); -/* harmony import */ var _edit_alias_edit_alias_component__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./edit-alias/edit-alias.component */ "./src/app/edit-alias/edit-alias.component.ts"); -/* harmony import */ var _transfer_alias_transfer_alias_component__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./transfer-alias/transfer-alias.component */ "./src/app/transfer-alias/transfer-alias.component.ts"); -/* harmony import */ var _wallet_wallet_component__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./wallet/wallet.component */ "./src/app/wallet/wallet.component.ts"); -/* harmony import */ var _send_send_component__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./send/send.component */ "./src/app/send/send.component.ts"); -/* harmony import */ var _receive_receive_component__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./receive/receive.component */ "./src/app/receive/receive.component.ts"); -/* harmony import */ var _history_history_component__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./history/history.component */ "./src/app/history/history.component.ts"); -/* harmony import */ var _contracts_contracts_component__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./contracts/contracts.component */ "./src/app/contracts/contracts.component.ts"); -/* harmony import */ var _purchase_purchase_component__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./purchase/purchase.component */ "./src/app/purchase/purchase.component.ts"); -/* harmony import */ var _messages_messages_component__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./messages/messages.component */ "./src/app/messages/messages.component.ts"); -/* harmony import */ var _typing_message_typing_message_component__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./typing-message/typing-message.component */ "./src/app/typing-message/typing-message.component.ts"); -/* harmony import */ var _staking_staking_component__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./staking/staking.component */ "./src/app/staking/staking.component.ts"); -/* harmony import */ var _angular_common_http__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! @angular/common/http */ "./node_modules/@angular/common/fesm5/http.js"); -/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! @ngx-translate/core */ "./node_modules/@ngx-translate/core/fesm5/ngx-translate-core.js"); -/* harmony import */ var _ngx_translate_http_loader__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! @ngx-translate/http-loader */ "./node_modules/@ngx-translate/http-loader/fesm5/ngx-translate-http-loader.js"); -/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! @angular/forms */ "./node_modules/@angular/forms/fesm5/forms.js"); -/* harmony import */ var _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! @ng-select/ng-select */ "./node_modules/@ng-select/ng-select/fesm5/ng-select.js"); -/* harmony import */ var _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./_helpers/services/backend.service */ "./src/app/_helpers/services/backend.service.ts"); -/* harmony import */ var _helpers_services_modal_service__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./_helpers/services/modal.service */ "./src/app/_helpers/services/modal.service.ts"); -/* harmony import */ var _helpers_services_pagination_store__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./_helpers/services/pagination.store */ "./src/app/_helpers/services/pagination.store.ts"); -/* harmony import */ var store__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! store */ "./src/store.ts"); -/* harmony import */ var _helpers_pipes_money_to_int_pipe__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./_helpers/pipes/money-to-int.pipe */ "./src/app/_helpers/pipes/money-to-int.pipe.ts"); -/* harmony import */ var _helpers_pipes_int_to_money_pipe__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./_helpers/pipes/int-to-money.pipe */ "./src/app/_helpers/pipes/int-to-money.pipe.ts"); -/* harmony import */ var _helpers_pipes_history_type_messages_pipe__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./_helpers/pipes/history-type-messages.pipe */ "./src/app/_helpers/pipes/history-type-messages.pipe.ts"); -/* harmony import */ var _helpers_pipes_contract_status_messages_pipe__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./_helpers/pipes/contract-status-messages.pipe */ "./src/app/_helpers/pipes/contract-status-messages.pipe.ts"); -/* harmony import */ var _helpers_pipes_contract_time_left_pipe__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./_helpers/pipes/contract-time-left.pipe */ "./src/app/_helpers/pipes/contract-time-left.pipe.ts"); -/* harmony import */ var _helpers_pipes_safe_html_pipe__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./_helpers/pipes/safe-html.pipe */ "./src/app/_helpers/pipes/safe-html.pipe.ts"); -/* harmony import */ var _helpers_directives_tooltip_directive__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./_helpers/directives/tooltip.directive */ "./src/app/_helpers/directives/tooltip.directive.ts"); -/* harmony import */ var _helpers_directives_input_validate_input_validate_directive__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./_helpers/directives/input-validate/input-validate.directive */ "./src/app/_helpers/directives/input-validate/input-validate.directive.ts"); -/* harmony import */ var _helpers_directives_staking_switch_staking_switch_component__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./_helpers/directives/staking-switch/staking-switch.component */ "./src/app/_helpers/directives/staking-switch/staking-switch.component.ts"); -/* harmony import */ var _helpers_directives_modal_container_modal_container_component__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./_helpers/directives/modal-container/modal-container.component */ "./src/app/_helpers/directives/modal-container/modal-container.component.ts"); -/* harmony import */ var _helpers_directives_transaction_details_transaction_details_component__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./_helpers/directives/transaction-details/transaction-details.component */ "./src/app/_helpers/directives/transaction-details/transaction-details.component.ts"); -/* harmony import */ var ngx_contextmenu__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ngx-contextmenu */ "./node_modules/ngx-contextmenu/fesm5/ngx-contextmenu.js"); -/* harmony import */ var angular_highcharts__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! angular-highcharts */ "./node_modules/angular-highcharts/fesm5/angular-highcharts.js"); -/* harmony import */ var highcharts__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! highcharts */ "./node_modules/highcharts/highcharts.js"); -/* harmony import */ var highcharts__WEBPACK_IMPORTED_MODULE_48___default = /*#__PURE__*/__webpack_require__.n(highcharts__WEBPACK_IMPORTED_MODULE_48__); -/* harmony import */ var highcharts_modules_exporting_src__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! highcharts/modules/exporting.src */ "./node_modules/highcharts/modules/exporting.src.js"); -/* harmony import */ var highcharts_modules_exporting_src__WEBPACK_IMPORTED_MODULE_49___default = /*#__PURE__*/__webpack_require__.n(highcharts_modules_exporting_src__WEBPACK_IMPORTED_MODULE_49__); -/* harmony import */ var _helpers_directives_progress_container_progress_container_component__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ./_helpers/directives/progress-container/progress-container.component */ "./src/app/_helpers/directives/progress-container/progress-container.component.ts"); -/* harmony import */ var _helpers_directives_input_disable_selection_input_disable_selection_directive__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ./_helpers/directives/input-disable-selection/input-disable-selection.directive */ "./src/app/_helpers/directives/input-disable-selection/input-disable-selection.directive.ts"); -/* harmony import */ var _send_modal_send_modal_component__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ./send-modal/send-modal.component */ "./src/app/send-modal/send-modal.component.ts"); -/* harmony import */ var _contacts_contacts_component__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ./contacts/contacts.component */ "./src/app/contacts/contacts.component.ts"); -/* harmony import */ var _add_contacts_add_contacts_component__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ./add-contacts/add-contacts.component */ "./src/app/add-contacts/add-contacts.component.ts"); -/* harmony import */ var _contact_send_contact_send_component__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ./contact-send/contact-send.component */ "./src/app/contact-send/contact-send.component.ts"); -/* harmony import */ var _export_import_export_import_component__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ./export-import/export-import.component */ "./src/app/export-import/export-import.component.ts"); -/* harmony import */ var _helpers_directives_confirm_modal_confirm_modal_component__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ./_helpers/directives/confirm-modal/confirm-modal.component */ "./src/app/_helpers/directives/confirm-modal/confirm-modal.component.ts"); -/* harmony import */ var ngx_papaparse__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! ngx-papaparse */ "./node_modules/ngx-papaparse/fesm5/ngx-papaparse.js"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -// SERVICES - - - -// SERVICES -// Feature module - -// Feature module - - - - - - - - - - - - - - - - - - - - - - - -function HttpLoaderFactory(httpClient) { - return new _ngx_translate_http_loader__WEBPACK_IMPORTED_MODULE_28__["TranslateHttpLoader"](httpClient, './assets/i18n/', '.json'); -} - -// import * as more from 'highcharts/highcharts-more.src'; -// import * as exporting from 'highcharts/modules/exporting.src'; -// import * as highstock from 'highcharts/modules/stock.src'; -function highchartsFactory() { - // Default options. - highcharts__WEBPACK_IMPORTED_MODULE_48__["setOptions"]({ - time: { - useUTC: false - } - }); - return [highcharts_modules_exporting_src__WEBPACK_IMPORTED_MODULE_49___default.a]; -} -var AppModule = /** @class */ (function () { - function AppModule() { - } - AppModule = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["NgModule"])({ - declarations: [ - _app_component__WEBPACK_IMPORTED_MODULE_3__["AppComponent"], - _login_login_component__WEBPACK_IMPORTED_MODULE_4__["LoginComponent"], - _settings_settings_component__WEBPACK_IMPORTED_MODULE_5__["SettingsComponent"], - _sidebar_sidebar_component__WEBPACK_IMPORTED_MODULE_6__["SidebarComponent"], - _main_main_component__WEBPACK_IMPORTED_MODULE_7__["MainComponent"], - _create_wallet_create_wallet_component__WEBPACK_IMPORTED_MODULE_8__["CreateWalletComponent"], - _open_wallet_open_wallet_component__WEBPACK_IMPORTED_MODULE_9__["OpenWalletComponent"], - _open_wallet_modal_open_wallet_modal_component__WEBPACK_IMPORTED_MODULE_10__["OpenWalletModalComponent"], - _restore_wallet_restore_wallet_component__WEBPACK_IMPORTED_MODULE_11__["RestoreWalletComponent"], - _seed_phrase_seed_phrase_component__WEBPACK_IMPORTED_MODULE_12__["SeedPhraseComponent"], - _wallet_details_wallet_details_component__WEBPACK_IMPORTED_MODULE_13__["WalletDetailsComponent"], - _assign_alias_assign_alias_component__WEBPACK_IMPORTED_MODULE_14__["AssignAliasComponent"], - _edit_alias_edit_alias_component__WEBPACK_IMPORTED_MODULE_15__["EditAliasComponent"], - _transfer_alias_transfer_alias_component__WEBPACK_IMPORTED_MODULE_16__["TransferAliasComponent"], - _wallet_wallet_component__WEBPACK_IMPORTED_MODULE_17__["WalletComponent"], - _send_send_component__WEBPACK_IMPORTED_MODULE_18__["SendComponent"], - _receive_receive_component__WEBPACK_IMPORTED_MODULE_19__["ReceiveComponent"], - _history_history_component__WEBPACK_IMPORTED_MODULE_20__["HistoryComponent"], - _contracts_contracts_component__WEBPACK_IMPORTED_MODULE_21__["ContractsComponent"], - _purchase_purchase_component__WEBPACK_IMPORTED_MODULE_22__["PurchaseComponent"], - _messages_messages_component__WEBPACK_IMPORTED_MODULE_23__["MessagesComponent"], - _staking_staking_component__WEBPACK_IMPORTED_MODULE_25__["StakingComponent"], - _typing_message_typing_message_component__WEBPACK_IMPORTED_MODULE_24__["TypingMessageComponent"], - _helpers_pipes_money_to_int_pipe__WEBPACK_IMPORTED_MODULE_35__["MoneyToIntPipe"], - _helpers_pipes_int_to_money_pipe__WEBPACK_IMPORTED_MODULE_36__["IntToMoneyPipe"], - _helpers_directives_staking_switch_staking_switch_component__WEBPACK_IMPORTED_MODULE_43__["StakingSwitchComponent"], - _helpers_pipes_history_type_messages_pipe__WEBPACK_IMPORTED_MODULE_37__["HistoryTypeMessagesPipe"], - _helpers_pipes_contract_status_messages_pipe__WEBPACK_IMPORTED_MODULE_38__["ContractStatusMessagesPipe"], - _helpers_pipes_contract_time_left_pipe__WEBPACK_IMPORTED_MODULE_39__["ContractTimeLeftPipe"], - _helpers_directives_tooltip_directive__WEBPACK_IMPORTED_MODULE_41__["TooltipDirective"], - _helpers_directives_input_validate_input_validate_directive__WEBPACK_IMPORTED_MODULE_42__["InputValidateDirective"], - _helpers_directives_modal_container_modal_container_component__WEBPACK_IMPORTED_MODULE_44__["ModalContainerComponent"], - _helpers_directives_transaction_details_transaction_details_component__WEBPACK_IMPORTED_MODULE_45__["TransactionDetailsComponent"], - _helpers_directives_progress_container_progress_container_component__WEBPACK_IMPORTED_MODULE_50__["ProgressContainerComponent"], - _helpers_directives_input_disable_selection_input_disable_selection_directive__WEBPACK_IMPORTED_MODULE_51__["InputDisableSelectionDirective"], - _send_modal_send_modal_component__WEBPACK_IMPORTED_MODULE_52__["SendModalComponent"], - _contacts_contacts_component__WEBPACK_IMPORTED_MODULE_53__["ContactsComponent"], - _add_contacts_add_contacts_component__WEBPACK_IMPORTED_MODULE_54__["AddContactsComponent"], - _contact_send_contact_send_component__WEBPACK_IMPORTED_MODULE_55__["ContactSendComponent"], - _export_import_export_import_component__WEBPACK_IMPORTED_MODULE_56__["ExportImportComponent"], - _helpers_pipes_safe_html_pipe__WEBPACK_IMPORTED_MODULE_40__["SafeHTMLPipe"], - _helpers_directives_confirm_modal_confirm_modal_component__WEBPACK_IMPORTED_MODULE_57__["ConfirmModalComponent"] - ], - imports: [ - _angular_platform_browser__WEBPACK_IMPORTED_MODULE_0__["BrowserModule"], - _app_routing_module__WEBPACK_IMPORTED_MODULE_2__["AppRoutingModule"], - _angular_common_http__WEBPACK_IMPORTED_MODULE_26__["HttpClientModule"], - _ngx_translate_core__WEBPACK_IMPORTED_MODULE_27__["TranslateModule"].forRoot({ - loader: { - provide: _ngx_translate_core__WEBPACK_IMPORTED_MODULE_27__["TranslateLoader"], - useFactory: HttpLoaderFactory, - deps: [_angular_common_http__WEBPACK_IMPORTED_MODULE_26__["HttpClient"]] - } - }), - _angular_forms__WEBPACK_IMPORTED_MODULE_29__["FormsModule"], - _angular_forms__WEBPACK_IMPORTED_MODULE_29__["ReactiveFormsModule"], - _ng_select_ng_select__WEBPACK_IMPORTED_MODULE_30__["NgSelectModule"], - angular_highcharts__WEBPACK_IMPORTED_MODULE_47__["ChartModule"], - ngx_papaparse__WEBPACK_IMPORTED_MODULE_58__["PapaParseModule"], - ngx_contextmenu__WEBPACK_IMPORTED_MODULE_46__["ContextMenuModule"].forRoot() - ], - providers: [ - store__WEBPACK_IMPORTED_MODULE_34__["Store"], - _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_31__["BackendService"], - _helpers_services_modal_service__WEBPACK_IMPORTED_MODULE_32__["ModalService"], - _helpers_services_pagination_store__WEBPACK_IMPORTED_MODULE_33__["PaginationStore"], - _helpers_pipes_money_to_int_pipe__WEBPACK_IMPORTED_MODULE_35__["MoneyToIntPipe"], - _helpers_pipes_int_to_money_pipe__WEBPACK_IMPORTED_MODULE_36__["IntToMoneyPipe"], - { provide: angular_highcharts__WEBPACK_IMPORTED_MODULE_47__["HIGHCHARTS_MODULES"], useFactory: highchartsFactory } - // {provide: HIGHCHARTS_MODULES, useFactory: () => [ highstock, more, exporting ] } - ], - entryComponents: [ - _helpers_directives_modal_container_modal_container_component__WEBPACK_IMPORTED_MODULE_44__["ModalContainerComponent"], - _send_modal_send_modal_component__WEBPACK_IMPORTED_MODULE_52__["SendModalComponent"], - _helpers_directives_confirm_modal_confirm_modal_component__WEBPACK_IMPORTED_MODULE_57__["ConfirmModalComponent"] - ], - bootstrap: [_app_component__WEBPACK_IMPORTED_MODULE_3__["AppComponent"]] - }) - ], AppModule); - return AppModule; -}()); - - - -/***/ }), - -/***/ "./src/app/assign-alias/assign-alias.component.html": -/*!**********************************************************!*\ - !*** ./src/app/assign-alias/assign-alias.component.html ***! - \**********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = "
      \r\n\r\n
      \r\n
      \r\n {{ wallet.name }}\r\n {{ 'BREADCRUMBS.ASSIGN_ALIAS' | translate }}\r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n {{ 'ASSIGN_ALIAS.FORM_ERRORS.NAME_REQUIRED' | translate }}\r\n
      \r\n
      6 && assignForm.get('name').value.length <= 25\">\r\n {{ 'ASSIGN_ALIAS.FORM_ERRORS.NAME_WRONG' | translate }}\r\n
      \r\n
      25\">\r\n {{ 'ASSIGN_ALIAS.FORM_ERRORS.NAME_LENGTH' | translate }}\r\n
      \r\n
      \r\n
      \r\n
      \r\n {{ 'ASSIGN_ALIAS.FORM_ERRORS.NAME_EXISTS' | translate }}\r\n
      \r\n
      \r\n
      \r\n
      \r\n {{ 'ASSIGN_ALIAS.FORM_ERRORS.NO_MONEY' | translate }}\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      = variablesService.maxCommentLength\">\r\n {{ 'ASSIGN_ALIAS.FORM_ERRORS.MAX_LENGTH' | translate }}\r\n
      \r\n
      \r\n\r\n
      {{ \"ASSIGN_ALIAS.COST\" | translate : {value: alias.price | intToMoney, currency: variablesService.defaultCurrency} }}
      \r\n\r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n\r\n" - -/***/ }), - -/***/ "./src/app/assign-alias/assign-alias.component.scss": -/*!**********************************************************!*\ - !*** ./src/app/assign-alias/assign-alias.component.scss ***! - \**********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = ".form-assign {\n margin: 2.4rem 0; }\n .form-assign .alias-name {\n width: 50%; }\n .form-assign .alias-cost {\n font-size: 1.3rem;\n margin-top: 2rem; }\n .form-assign .wrap-buttons {\n display: flex;\n justify-content: space-between;\n margin: 2.5rem -0.7rem; }\n .form-assign .wrap-buttons button {\n margin: 0 0.7rem;\n width: 15rem; }\n .assign-alias-tooltip {\n font-size: 1.3rem;\n line-height: 2rem;\n padding: 1rem 1.5rem;\n max-width: 46rem; }\n .has-no-edit-symbol {\n position: relative;\n width: 100%; }\n .has-no-edit-symbol input {\n padding-left: 2.35rem; }\n .has-no-edit-symbol:after {\n content: '@';\n position: absolute;\n display: inline-block;\n top: 50%;\n left: 1rem;\n transform: translateY(-50%); }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXNzaWduLWFsaWFzL0Q6XFxQcm9qZWN0XFxXT1JLX05FV1xcemFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxhcHBcXGFzc2lnbi1hbGlhc1xcYXNzaWduLWFsaWFzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsZ0JBQWdCLEVBQUE7RUFEbEI7SUFJSSxVQUFVLEVBQUE7RUFKZDtJQVFJLGlCQUFpQjtJQUNqQixnQkFBZ0IsRUFBQTtFQVRwQjtJQWFJLGFBQWE7SUFDYiw4QkFBOEI7SUFDOUIsc0JBQXNCLEVBQUE7RUFmMUI7TUFrQk0sZ0JBQWdCO01BQ2hCLFlBQVksRUFBQTtFQUtsQjtFQUNFLGlCQUFpQjtFQUNqQixpQkFBaUI7RUFDakIsb0JBQW9CO0VBQ3BCLGdCQUFnQixFQUFBO0VBR2xCO0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVcsRUFBQTtFQUZiO0lBSUkscUJBQXFCLEVBQUE7RUFKekI7SUFPSSxZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLHFCQUFxQjtJQUNyQixRQUFRO0lBQ1IsVUFBVTtJQUNWLDJCQUEyQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvYXNzaWduLWFsaWFzL2Fzc2lnbi1hbGlhcy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5mb3JtLWFzc2lnbiB7XHJcbiAgbWFyZ2luOiAyLjRyZW0gMDtcclxuXHJcbiAgLmFsaWFzLW5hbWUge1xyXG4gICAgd2lkdGg6IDUwJTtcclxuICB9XHJcblxyXG4gIC5hbGlhcy1jb3N0IHtcclxuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gICAgbWFyZ2luLXRvcDogMnJlbTtcclxuICB9XHJcblxyXG4gIC53cmFwLWJ1dHRvbnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIG1hcmdpbjogMi41cmVtIC0wLjdyZW07XHJcblxyXG4gICAgYnV0dG9uIHtcclxuICAgICAgbWFyZ2luOiAwIDAuN3JlbTtcclxuICAgICAgd2lkdGg6IDE1cmVtO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmFzc2lnbi1hbGlhcy10b29sdGlwIHtcclxuICBmb250LXNpemU6IDEuM3JlbTtcclxuICBsaW5lLWhlaWdodDogMnJlbTtcclxuICBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcclxuICBtYXgtd2lkdGg6IDQ2cmVtO1xyXG59XHJcblxyXG4uaGFzLW5vLWVkaXQtc3ltYm9sIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaW5wdXQge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAyLjM1cmVtO1xyXG4gIH1cclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICdAJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogMXJlbTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICB9XHJcbn1cclxuIl19 */" - -/***/ }), - -/***/ "./src/app/assign-alias/assign-alias.component.ts": -/*!********************************************************!*\ - !*** ./src/app/assign-alias/assign-alias.component.ts ***! - \********************************************************/ -/*! exports provided: AssignAliasComponent */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AssignAliasComponent", function() { return AssignAliasComponent; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/forms */ "./node_modules/@angular/forms/fesm5/forms.js"); -/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/common */ "./node_modules/@angular/common/fesm5/common.js"); -/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm5/router.js"); -/* harmony import */ var _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../_helpers/services/backend.service */ "./src/app/_helpers/services/backend.service.ts"); -/* harmony import */ var _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../_helpers/services/variables.service */ "./src/app/_helpers/services/variables.service.ts"); -/* harmony import */ var _helpers_services_modal_service__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../_helpers/services/modal.service */ "./src/app/_helpers/services/modal.service.ts"); -/* harmony import */ var _helpers_pipes_money_to_int_pipe__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../_helpers/pipes/money-to-int.pipe */ "./src/app/_helpers/pipes/money-to-int.pipe.ts"); -/* harmony import */ var _helpers_pipes_int_to_money_pipe__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../_helpers/pipes/int-to-money.pipe */ "./src/app/_helpers/pipes/int-to-money.pipe.ts"); -/* harmony import */ var bignumber_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! bignumber.js */ "./node_modules/bignumber.js/bignumber.js"); -/* harmony import */ var bignumber_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(bignumber_js__WEBPACK_IMPORTED_MODULE_9__); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - - - - -var AssignAliasComponent = /** @class */ (function () { - function AssignAliasComponent(ngZone, location, router, backend, variablesService, modalService, moneyToInt, intToMoney) { - var _this = this; - this.ngZone = ngZone; - this.location = location; - this.router = router; - this.backend = backend; - this.variablesService = variablesService; - this.modalService = modalService; - this.moneyToInt = moneyToInt; - this.intToMoney = intToMoney; - this.assignForm = new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormGroup"]({ - name: new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormControl"]('', [_angular_forms__WEBPACK_IMPORTED_MODULE_1__["Validators"].required, _angular_forms__WEBPACK_IMPORTED_MODULE_1__["Validators"].pattern(/^@?[a-z0-9\.\-]{6,25}$/)]), - comment: new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormControl"]('', [function (g) { - if (g.value > _this.variablesService.maxCommentLength) { - return { 'maxLength': true }; - } - else { - return null; - } - }]) - }); - this.alias = { - name: '', - fee: this.variablesService.default_fee, - price: new bignumber_js__WEBPACK_IMPORTED_MODULE_9___default.a(0), - reward: '0', - rewardOriginal: '0', - comment: '', - exists: false - }; - this.canRegister = false; - this.notEnoughMoney = false; - } - AssignAliasComponent.prototype.ngOnInit = function () { - var _this = this; - this.wallet = this.variablesService.currentWallet; - this.assignFormSubscription = this.assignForm.get('name').valueChanges.subscribe(function (value) { - _this.canRegister = false; - _this.alias.exists = false; - var newName = value.toLowerCase().replace('@', ''); - if (!(_this.assignForm.controls['name'].errors && _this.assignForm.controls['name'].errors.hasOwnProperty('pattern')) && newName.length >= 6 && newName.length <= 25) { - _this.backend.getAliasByName(newName, function (status) { - _this.ngZone.run(function () { - _this.alias.exists = status; - }); - if (!status) { - _this.alias.price = new bignumber_js__WEBPACK_IMPORTED_MODULE_9___default.a(0); - _this.backend.getAliasCoast(newName, function (statusPrice, dataPrice) { - _this.ngZone.run(function () { - if (statusPrice) { - _this.alias.price = bignumber_js__WEBPACK_IMPORTED_MODULE_9___default.a.sum(dataPrice['coast'], _this.variablesService.default_fee_big); - } - _this.notEnoughMoney = _this.alias.price.isGreaterThan(_this.wallet.unlocked_balance); - _this.alias.reward = _this.intToMoney.transform(_this.alias.price, false); - _this.alias.rewardOriginal = _this.intToMoney.transform(dataPrice['coast'], false); - _this.canRegister = !_this.notEnoughMoney; - }); - }); - } - else { - _this.notEnoughMoney = false; - _this.alias.reward = '0'; - _this.alias.rewardOriginal = '0'; - } - }); - } - else { - _this.notEnoughMoney = false; - _this.alias.reward = '0'; - _this.alias.rewardOriginal = '0'; - } - _this.alias.name = newName; - }); - }; - AssignAliasComponent.prototype.assignAlias = function () { - var _this = this; - var alias = this.backend.getWalletAlias(this.wallet.address); - if (alias.hasOwnProperty('name')) { - this.modalService.prepareModal('info', 'ASSIGN_ALIAS.ONE_ALIAS'); - } - else { - this.alias.comment = this.assignForm.get('comment').value; - this.backend.registerAlias(this.wallet.wallet_id, this.alias.name, this.wallet.address, this.alias.fee, this.alias.comment, this.alias.rewardOriginal, function (status, data) { - if (status) { - _this.wallet.wakeAlias = true; - _this.modalService.prepareModal('info', 'ASSIGN_ALIAS.REQUEST_ADD_REG'); - _this.ngZone.run(function () { - _this.router.navigate(['/wallet/' + _this.wallet.wallet_id]); - }); - } - }); - } - }; - AssignAliasComponent.prototype.back = function () { - this.location.back(); - }; - AssignAliasComponent.prototype.ngOnDestroy = function () { - this.assignFormSubscription.unsubscribe(); - }; - AssignAliasComponent = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Component"])({ - selector: 'app-assign-alias', - template: __webpack_require__(/*! ./assign-alias.component.html */ "./src/app/assign-alias/assign-alias.component.html"), - styles: [__webpack_require__(/*! ./assign-alias.component.scss */ "./src/app/assign-alias/assign-alias.component.scss")] - }), - __metadata("design:paramtypes", [_angular_core__WEBPACK_IMPORTED_MODULE_0__["NgZone"], - _angular_common__WEBPACK_IMPORTED_MODULE_2__["Location"], - _angular_router__WEBPACK_IMPORTED_MODULE_3__["Router"], - _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_4__["BackendService"], - _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_5__["VariablesService"], - _helpers_services_modal_service__WEBPACK_IMPORTED_MODULE_6__["ModalService"], - _helpers_pipes_money_to_int_pipe__WEBPACK_IMPORTED_MODULE_7__["MoneyToIntPipe"], - _helpers_pipes_int_to_money_pipe__WEBPACK_IMPORTED_MODULE_8__["IntToMoneyPipe"]]) - ], AssignAliasComponent); - return AssignAliasComponent; -}()); - - - -/***/ }), - -/***/ "./src/app/contact-send/contact-send.component.html": -/*!**********************************************************!*\ - !*** ./src/app/contact-send/contact-send.component.html ***! - \**********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = "
      \r\n
      \r\n
      \r\n {{\r\n 'CONTACTS.TITLE' | translate\r\n }}\r\n {{ 'CONTACTS.SEND' | translate }}\r\n
      \r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n \r\n \r\n \r\n
      \r\n \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n" - -/***/ }), - -/***/ "./src/app/contact-send/contact-send.component.scss": -/*!**********************************************************!*\ - !*** ./src/app/contact-send/contact-send.component.scss ***! - \**********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = ".wallets-selection {\n display: flex;\n align-items: center;\n margin-top: 2rem; }\n .wallets-selection .input-block {\n width: 18rem; }\n .wallets-selection button {\n padding: 2rem;\n background: transparent;\n border: none;\n outline: none; }\n .input-block {\n width: 44rem; }\n .input-block input {\n overflow: hidden;\n text-overflow: ellipsis; }\n .blue-button {\n margin-top: 2.5rem;\n width: 100%;\n max-width: 18rem; }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29udGFjdC1zZW5kL0Q6XFxQcm9qZWN0XFxXT1JLX05FV1xcemFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxhcHBcXGNvbnRhY3Qtc2VuZFxcY29udGFjdC1zZW5kLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQixnQkFBZ0IsRUFBQTtFQUhsQjtJQU1JLFlBQVksRUFBQTtFQU5oQjtJQVVJLGFBQWE7SUFDYix1QkFBdUI7SUFDdkIsWUFBWTtJQUNaLGFBQWEsRUFBQTtFQUlqQjtFQUNFLFlBQVksRUFBQTtFQURkO0lBSUksZ0JBQWdCO0lBQ2hCLHVCQUF1QixFQUFBO0VBSTNCO0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxnQkFBZ0IsRUFBQSIsImZpbGUiOiJzcmMvYXBwL2NvbnRhY3Qtc2VuZC9jb250YWN0LXNlbmQuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIud2FsbGV0cy1zZWxlY3Rpb24ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBtYXJnaW4tdG9wOiAycmVtO1xyXG4gIFxyXG4gIC5pbnB1dC1ibG9jayB7XHJcbiAgICB3aWR0aDogMThyZW07XHJcbiAgfVxyXG5cclxuICBidXR0b24ge1xyXG4gICAgcGFkZGluZzogMnJlbTtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi5pbnB1dC1ibG9jayB7XHJcbiAgd2lkdGg6IDQ0cmVtO1xyXG5cclxuICBpbnB1dCB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgfVxyXG59XHJcblxyXG4uYmx1ZS1idXR0b24ge1xyXG4gIG1hcmdpbi10b3A6IDIuNXJlbTtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXgtd2lkdGg6IDE4cmVtO1xyXG59XHJcblxyXG5cclxuIl19 */" - -/***/ }), - -/***/ "./src/app/contact-send/contact-send.component.ts": -/*!********************************************************!*\ - !*** ./src/app/contact-send/contact-send.component.ts ***! - \********************************************************/ -/*! exports provided: ContactSendComponent */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ContactSendComponent", function() { return ContactSendComponent; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/common */ "./node_modules/@angular/common/fesm5/common.js"); -/* harmony import */ var _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../_helpers/services/variables.service */ "./src/app/_helpers/services/variables.service.ts"); -/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm5/router.js"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - -var ContactSendComponent = /** @class */ (function () { - function ContactSendComponent(location, variablesService, route) { - this.location = location; - this.variablesService = variablesService; - this.route = route; - } - ContactSendComponent.prototype.ngOnInit = function () { - var _this = this; - this.queryRouting = this.route.queryParams.subscribe(function (params) { - if (params.address) { - _this.address = params.address; - } - }); - }; - ContactSendComponent.prototype.goToWallet = function (id) { - this.variablesService.setCurrentWallet(id); - this.variablesService.currentWallet.send_data['address'] = this.address; - }; - ContactSendComponent.prototype.back = function () { - this.location.back(); - }; - ContactSendComponent.prototype.ngOnDestroy = function () { - this.queryRouting.unsubscribe(); - }; - ContactSendComponent = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Component"])({ - selector: 'app-contact-send', - template: __webpack_require__(/*! ./contact-send.component.html */ "./src/app/contact-send/contact-send.component.html"), - styles: [__webpack_require__(/*! ./contact-send.component.scss */ "./src/app/contact-send/contact-send.component.scss")] - }), - __metadata("design:paramtypes", [_angular_common__WEBPACK_IMPORTED_MODULE_1__["Location"], - _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_2__["VariablesService"], - _angular_router__WEBPACK_IMPORTED_MODULE_3__["ActivatedRoute"]]) - ], ContactSendComponent); - return ContactSendComponent; -}()); - - - -/***/ }), - -/***/ "./src/app/contacts/contacts.component.html": -/*!**************************************************!*\ - !*** ./src/app/contacts/contacts.component.html ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = "
      \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n

      {{ 'CONTACTS.TITLE' | translate }}

      \r\n\r\n
      \r\n \r\n \r\n \r\n \r\n {{ 'CONTACTS.TABLE.NAME' | translate }}\r\n {{ 'CONTACTS.TABLE.ALIAS' | translate }}\r\n {{ 'CONTACTS.TABLE.ADDRESS' | translate }}\r\n {{ 'CONTACTS.TABLE.NOTES' | translate }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ contact.name }}\r\n \r\n \r\n \r\n {{ contact.alias }}\r\n \r\n \r\n \r\n {{ contact.address }}\r\n \r\n \r\n {{ contact.notes }}\r\n \r\n \r\n
      \r\n \r\n \r\n {{ 'CONTACTS.BUTTON.SEND' | translate }}\r\n \r\n \r\n \r\n {{ 'CONTACTS.BUTTON.EDIT' | translate }}\r\n \r\n \r\n
      \r\n \r\n \r\n
      \r\n \r\n \r\n \r\n\r\n \r\n
      \r\n {{ 'CONTACTS.TABLE.EMPTY' | translate }}\r\n
      \r\n
      \r\n
      \r\n\r\n \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n" - -/***/ }), - -/***/ "./src/app/contacts/contacts.component.scss": -/*!**************************************************!*\ - !*** ./src/app/contacts/contacts.component.scss ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = ":host {\n min-width: 95rem;\n width: 100%;\n height: 100%; }\n\n.head {\n justify-content: flex-end; }\n\n.contacts-title {\n font-size: 1.7rem; }\n\n.wrap-table {\n margin: 1rem -3rem; }\n\n.wrap-table table tbody tr td {\n padding: 0 3rem 0 1rem;\n overflow: hidden;\n text-overflow: ellipsis; }\n\n.wrap-table table tbody tr td:first-child {\n max-width: 10rem;\n padding: 0 3rem 0 3rem; }\n\n.wrap-table table tbody tr td:nth-child(2) {\n max-width: 10rem; }\n\n.wrap-table table tbody tr td .alias {\n cursor: pointer; }\n\n.wrap-table table tbody tr td .button-wrapper {\n display: flex; }\n\n.wrap-table table tbody tr td .button-wrapper button {\n display: flex;\n align-items: center;\n background: transparent;\n border: none;\n font-size: 1.3rem;\n font-weight: 400;\n line-height: 3rem;\n outline: none;\n padding: 0;\n height: auto;\n margin-right: 1.8rem; }\n\n.wrap-table table tbody tr td .button-wrapper button .icon {\n cursor: pointer;\n margin-right: 0.8rem;\n width: 1.7rem;\n height: 1.7rem; }\n\n.wrap-table table tbody tr td .button-wrapper button .icon.edit {\n -webkit-mask: url('edit.svg') no-repeat center;\n mask: url('edit.svg') no-repeat center; }\n\n.wrap-table table tbody tr td .button-wrapper button .icon.transfer {\n -webkit-mask: url('send.svg') no-repeat center;\n mask: url('send.svg') no-repeat center; }\n\n.wrap-table table tbody tr td .button-wrapper button .icon.delete {\n -webkit-mask: url('delete.svg') no-repeat center;\n mask: url('delete.svg') no-repeat center; }\n\n.wrap-table .empty-list {\n margin: 2.5rem 3rem; }\n\n.blue-button {\n width: 100%;\n max-width: 18rem;\n margin-top: 3rem; }\n\n.footer {\n position: absolute;\n bottom: 3rem;\n font-size: 1.3rem; }\n\n.footer .import-btn {\n display: flex;\n align-items: center;\n background-color: transparent;\n font-size: inherit;\n font-weight: 400;\n line-height: 1.3rem;\n padding: 0;\n height: auto; }\n\n.footer .import-btn .icon {\n margin-right: 0.7rem;\n -webkit-mask: url('import-export.svg') no-repeat center;\n mask: url('import-export.svg') no-repeat center;\n width: 0.9rem;\n height: 0.9rem; }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29udGFjdHMvRDpcXFByb2plY3RcXFdPUktfTkVXXFx6YW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFwcFxcY29udGFjdHNcXGNvbnRhY3RzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsZ0JBQWdCO0VBQ2hCLFdBQVc7RUFDWCxZQUFZLEVBQUE7O0FBR2Q7RUFDRSx5QkFBeUIsRUFBQTs7QUFHM0I7RUFDRSxpQkFBaUIsRUFBQTs7QUFHbkI7RUFDRSxrQkFBa0IsRUFBQTs7QUFEcEI7SUFVVSxzQkFBc0I7SUFDdEIsZ0JBQWdCO0lBQ2hCLHVCQUF1QixFQUFBOztBQVpqQztNQWVZLGdCQUFnQjtNQUNoQixzQkFBc0IsRUFBQTs7QUFoQmxDO01Bb0JZLGdCQUFnQixFQUFBOztBQXBCNUI7TUF3QlksZUFBZSxFQUFBOztBQXhCM0I7TUE0QlksYUFBYSxFQUFBOztBQTVCekI7UUErQmMsYUFBYTtRQUNiLG1CQUFtQjtRQUNuQix1QkFBdUI7UUFDdkIsWUFBWTtRQUNaLGlCQUFpQjtRQUNqQixnQkFBZ0I7UUFDaEIsaUJBQWlCO1FBQ2pCLGFBQWE7UUFDYixVQUFVO1FBQ1YsWUFBWTtRQUNaLG9CQUFvQixFQUFBOztBQXpDbEM7VUE0Q2dCLGVBQWU7VUFDZixvQkFBb0I7VUFDcEIsYUFBYTtVQUNiLGNBQWMsRUFBQTs7QUEvQzlCO1lBa0RrQiw4Q0FBdUQ7b0JBQXZELHNDQUF1RCxFQUFBOztBQWxEekU7WUFzRGtCLDhDQUF1RDtvQkFBdkQsc0NBQXVELEVBQUE7O0FBdER6RTtZQTBEa0IsZ0RBQXlEO29CQUF6RCx3Q0FBeUQsRUFBQTs7QUExRDNFO0lBcUVJLG1CQUFtQixFQUFBOztBQUl2QjtFQUNFLFdBQVc7RUFDWCxnQkFBZ0I7RUFDaEIsZ0JBQWdCLEVBQUE7O0FBSWxCO0VBQ0Usa0JBQWtCO0VBQ2xCLFlBQVk7RUFDWixpQkFBaUIsRUFBQTs7QUFIbkI7SUFNSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLDZCQUE2QjtJQUM3QixrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLG1CQUFtQjtJQUNuQixVQUFVO0lBQ1YsWUFBWSxFQUFBOztBQWJoQjtNQWdCTSxvQkFBb0I7TUFDcEIsdURBQWdFO2NBQWhFLCtDQUFnRTtNQUNoRSxhQUFhO01BQ2IsY0FBYyxFQUFBIiwiZmlsZSI6InNyYy9hcHAvY29udGFjdHMvY29udGFjdHMuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgbWluLXdpZHRoOiA5NXJlbTtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi5oZWFkIHtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG59XHJcblxyXG4uY29udGFjdHMtdGl0bGUge1xyXG4gIGZvbnQtc2l6ZTogMS43cmVtO1xyXG59XHJcblxyXG4ud3JhcC10YWJsZSB7XHJcbiAgbWFyZ2luOiAxcmVtIC0zcmVtO1xyXG5cclxuICB0YWJsZSB7XHJcblxyXG4gICAgdGJvZHl7XHJcblxyXG4gICAgICB0ciB7XHJcblxyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgIHBhZGRpbmc6IDAgM3JlbSAwIDFyZW07XHJcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblxyXG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTByZW07XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgM3JlbSAwIDNyZW07XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwcmVtO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5hbGlhcyB7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuYnV0dG9uLXdyYXBwZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4OyAgXHJcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogM3JlbTtcclxuICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMS44cmVtO1xyXG4gICAgICAgICAgXHJcbiAgICAgICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjhyZW07XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMS43cmVtO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxLjdyZW07XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgJi5lZGl0IHtcclxuICAgICAgICAgICAgICAgICAgbWFzazogdXJsKC4uLy4uL2Fzc2V0cy9pY29ucy9lZGl0LnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAmLnRyYW5zZmVyIHtcclxuICAgICAgICAgICAgICAgICAgbWFzazogdXJsKC4uLy4uL2Fzc2V0cy9pY29ucy9zZW5kLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICYuZGVsZXRlIHtcclxuICAgICAgICAgICAgICAgICAgbWFzazogdXJsKC4uLy4uL2Fzc2V0cy9pY29ucy9kZWxldGUuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAuZW1wdHktbGlzdCB7XHJcbiAgICBtYXJnaW46IDIuNXJlbSAzcmVtO1xyXG4gIH0gIFxyXG59XHJcblxyXG4uYmx1ZS1idXR0b24ge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1heC13aWR0aDogMThyZW07XHJcbiAgbWFyZ2luLXRvcDogM3JlbTtcclxufVxyXG5cclxuXHJcbi5mb290ZXIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBib3R0b206IDNyZW07XHJcbiAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgXHJcbiAgLmltcG9ydC1idG4ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICBsaW5lLWhlaWdodDogMS4zcmVtO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGhlaWdodDogYXV0bztcclxuXHJcbiAgICAuaWNvbiB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMC43cmVtO1xyXG4gICAgICBtYXNrOiB1cmwoLi4vLi4vYXNzZXRzL2ljb25zL2ltcG9ydC1leHBvcnQuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgICB3aWR0aDogMC45cmVtO1xyXG4gICAgICBoZWlnaHQ6IDAuOXJlbTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19 */" - -/***/ }), - -/***/ "./src/app/contacts/contacts.component.ts": -/*!************************************************!*\ - !*** ./src/app/contacts/contacts.component.ts ***! - \************************************************/ -/*! exports provided: ContactsComponent */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ContactsComponent", function() { return ContactsComponent; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/common */ "./node_modules/@angular/common/fesm5/common.js"); -/* harmony import */ var _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../_helpers/services/variables.service */ "./src/app/_helpers/services/variables.service.ts"); -/* harmony import */ var _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../_helpers/services/backend.service */ "./src/app/_helpers/services/backend.service.ts"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - -var ContactsComponent = /** @class */ (function () { - function ContactsComponent(location, variablesService, backend) { - this.location = location; - this.variablesService = variablesService; - this.backend = backend; - this.calculatedWidth = []; - } - ContactsComponent.prototype.ngOnInit = function () { - this.backend.getContactAlias(); - }; - ContactsComponent.prototype.delete = function (index) { - if (this.variablesService.appPass) { - this.variablesService.contacts.splice(index, 1); - this.backend.storeSecureAppData(); - } - }; - ContactsComponent.prototype.calculateWidth = function () { - this.calculatedWidth = []; - this.calculatedWidth.push(this.head.nativeElement.childNodes[0].clientWidth); - this.calculatedWidth.push(this.head.nativeElement.childNodes[1].clientWidth + - this.head.nativeElement.childNodes[2].clientWidth); - this.calculatedWidth.push(this.head.nativeElement.childNodes[3].clientWidth); - this.calculatedWidth.push(this.head.nativeElement.childNodes[4].clientWidth); - }; - // openInBrowser(alias: string) { - // if (alias !== null) { - // this.backend.openUrlInBrowser( - // `explorer.zano.org/aliases/${alias.slice(1)}#modalOpen` - // ); - // } - // } - ContactsComponent.prototype.back = function () { - this.location.back(); - }; - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ViewChild"])('head'), - __metadata("design:type", _angular_core__WEBPACK_IMPORTED_MODULE_0__["ElementRef"]) - ], ContactsComponent.prototype, "head", void 0); - ContactsComponent = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Component"])({ - selector: 'app-contacts', - template: __webpack_require__(/*! ./contacts.component.html */ "./src/app/contacts/contacts.component.html"), - styles: [__webpack_require__(/*! ./contacts.component.scss */ "./src/app/contacts/contacts.component.scss")] - }), - __metadata("design:paramtypes", [_angular_common__WEBPACK_IMPORTED_MODULE_1__["Location"], - _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_2__["VariablesService"], - _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_3__["BackendService"]]) - ], ContactsComponent); - return ContactsComponent; -}()); - - - -/***/ }), - -/***/ "./src/app/contracts/contracts.component.html": -/*!****************************************************!*\ - !*** ./src/app/contracts/contracts.component.html ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = "
      \r\n {{ 'CONTRACTS.EMPTY' | translate }}\r\n
      \r\n\r\n
      \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
      {{ 'CONTRACTS.CONTRACTS' | translate }}{{ 'CONTRACTS.DATE' | translate }}{{ 'CONTRACTS.AMOUNT' | translate }}{{ 'CONTRACTS.STATUS' | translate }}{{ 'CONTRACTS.COMMENTS' | translate }}
      \r\n
      \r\n \r\n \r\n \r\n {{item.private_detailes.t}}\r\n
      \r\n
      \r\n
      {{item.timestamp * 1000 | date : 'dd-MM-yyyy HH:mm'}}
      \r\n
      \r\n
      {{item.private_detailes.to_pay | intToMoney}} {{variablesService.defaultCurrency}}
      \r\n
      \r\n
      \r\n {{item.state | contractStatusMessages : item.is_a}}\r\n
      \r\n
      \r\n
      \r\n {{item.private_detailes.c}}\r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n" - -/***/ }), - -/***/ "./src/app/contracts/contracts.component.scss": -/*!****************************************************!*\ - !*** ./src/app/contracts/contracts.component.scss ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = ":host {\n width: 100%; }\n\n.empty-contracts {\n font-size: 1.5rem; }\n\n.wrap-table {\n margin: -3rem -3rem 0 -3rem;\n overflow-x: auto; }\n\n.wrap-table table tbody tr {\n cursor: pointer;\n outline: none !important; }\n\n.wrap-table table tbody tr .contract {\n position: relative;\n display: flex;\n align-items: center; }\n\n.wrap-table table tbody tr .contract .icon {\n flex-shrink: 0; }\n\n.wrap-table table tbody tr .contract .icon.new, .wrap-table table tbody tr .contract .icon.alert {\n position: absolute;\n top: 0; }\n\n.wrap-table table tbody tr .contract .icon.new {\n left: -2.3rem;\n -webkit-mask: url('new.svg') no-repeat center;\n mask: url('new.svg') no-repeat center;\n width: 1.7rem;\n height: 1.7rem; }\n\n.wrap-table table tbody tr .contract .icon.alert {\n top: 0.2rem;\n left: -2.1rem;\n -webkit-mask: url('alert.svg') no-repeat center;\n mask: url('alert.svg') no-repeat center;\n width: 1.2rem;\n height: 1.2rem; }\n\n.wrap-table table tbody tr .contract .icon.purchase, .wrap-table table tbody tr .contract .icon.sell {\n margin-right: 1rem;\n width: 1.5rem;\n height: 1.5rem; }\n\n.wrap-table table tbody tr .contract .icon.purchase {\n -webkit-mask: url('purchase.svg') no-repeat center;\n mask: url('purchase.svg') no-repeat center; }\n\n.wrap-table table tbody tr .contract .icon.sell {\n -webkit-mask: url('sell.svg') no-repeat center;\n mask: url('sell.svg') no-repeat center; }\n\n.wrap-table table tbody tr .contract span {\n text-overflow: ellipsis;\n overflow: hidden; }\n\n.wrap-table table tbody tr .status, .wrap-table table tbody tr .comment {\n display: inline-block;\n text-overflow: ellipsis;\n overflow: hidden;\n max-width: 100%; }\n\n.contracts-buttons {\n display: flex;\n margin: 3rem 0;\n width: 50%; }\n\n.contracts-buttons button {\n flex: 0 1 50%;\n margin-right: 1.5rem; }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29udHJhY3RzL0Q6XFxQcm9qZWN0XFxXT1JLX05FV1xcemFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxhcHBcXGNvbnRyYWN0c1xcY29udHJhY3RzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsV0FBVyxFQUFBOztBQUdiO0VBQ0UsaUJBQWlCLEVBQUE7O0FBR25CO0VBQ0UsMkJBQTJCO0VBQzNCLGdCQUFnQixFQUFBOztBQUZsQjtJQVNRLGVBQWU7SUFDZix3QkFBd0IsRUFBQTs7QUFWaEM7TUFhVSxrQkFBa0I7TUFDbEIsYUFBYTtNQUNiLG1CQUFtQixFQUFBOztBQWY3QjtRQWtCWSxjQUFjLEVBQUE7O0FBbEIxQjtVQXFCYyxrQkFBa0I7VUFDbEIsTUFBTSxFQUFBOztBQXRCcEI7VUEwQmMsYUFBYTtVQUNiLDZDQUFzRDtrQkFBdEQscUNBQXNEO1VBQ3RELGFBQWE7VUFDYixjQUFjLEVBQUE7O0FBN0I1QjtVQWlDYyxXQUFXO1VBQ1gsYUFBYTtVQUNiLCtDQUF3RDtrQkFBeEQsdUNBQXdEO1VBQ3hELGFBQWE7VUFDYixjQUFjLEVBQUE7O0FBckM1QjtVQXlDYyxrQkFBa0I7VUFDbEIsYUFBYTtVQUNiLGNBQWMsRUFBQTs7QUEzQzVCO1VBK0NjLGtEQUEyRDtrQkFBM0QsMENBQTJELEVBQUE7O0FBL0N6RTtVQW1EYyw4Q0FBdUQ7a0JBQXZELHNDQUF1RCxFQUFBOztBQW5EckU7UUF3RFksdUJBQXVCO1FBQ3ZCLGdCQUFnQixFQUFBOztBQXpENUI7TUE4RFUscUJBQXFCO01BQ3JCLHVCQUF1QjtNQUN2QixnQkFBZ0I7TUFDaEIsZUFBZSxFQUFBOztBQU96QjtFQUNFLGFBQWE7RUFDYixjQUFjO0VBQ2QsVUFBVSxFQUFBOztBQUhaO0lBTUksYUFBYTtJQUNiLG9CQUFvQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvY29udHJhY3RzL2NvbnRyYWN0cy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmVtcHR5LWNvbnRyYWN0cyB7XHJcbiAgZm9udC1zaXplOiAxLjVyZW07XHJcbn1cclxuXHJcbi53cmFwLXRhYmxlIHtcclxuICBtYXJnaW46IC0zcmVtIC0zcmVtIDAgLTNyZW07XHJcbiAgb3ZlcmZsb3cteDogYXV0bztcclxuXHJcbiAgdGFibGUge1xyXG5cclxuICAgIHRib2R5IHtcclxuXHJcbiAgICAgIHRyIHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAuY29udHJhY3Qge1xyXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcclxuXHJcbiAgICAgICAgICAgICYubmV3LCAmLmFsZXJ0IHtcclxuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLm5ldyB7XHJcbiAgICAgICAgICAgICAgbGVmdDogLTIuM3JlbTtcclxuICAgICAgICAgICAgICBtYXNrOiB1cmwoLi4vLi4vYXNzZXRzL2ljb25zL25ldy5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IDEuN3JlbTtcclxuICAgICAgICAgICAgICBoZWlnaHQ6IDEuN3JlbTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5hbGVydCB7XHJcbiAgICAgICAgICAgICAgdG9wOiAwLjJyZW07XHJcbiAgICAgICAgICAgICAgbGVmdDogLTIuMXJlbTtcclxuICAgICAgICAgICAgICBtYXNrOiB1cmwoLi4vLi4vYXNzZXRzL2ljb25zL2FsZXJ0LnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgICAgICAgICB3aWR0aDogMS4ycmVtO1xyXG4gICAgICAgICAgICAgIGhlaWdodDogMS4ycmVtO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLnB1cmNoYXNlLCAmLnNlbGwge1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcclxuICAgICAgICAgICAgICB3aWR0aDogMS41cmVtO1xyXG4gICAgICAgICAgICAgIGhlaWdodDogMS41cmVtO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLnB1cmNoYXNlIHtcclxuICAgICAgICAgICAgICBtYXNrOiB1cmwoLi4vLi4vYXNzZXRzL2ljb25zL3B1cmNoYXNlLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5zZWxsIHtcclxuICAgICAgICAgICAgICBtYXNrOiB1cmwoLi4vLi4vYXNzZXRzL2ljb25zL3NlbGwuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnN0YXR1cywgLmNvbW1lbnQge1xyXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNvbnRyYWN0cy1idXR0b25zIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIG1hcmdpbjogM3JlbSAwO1xyXG4gIHdpZHRoOiA1MCU7XHJcblxyXG4gIGJ1dHRvbiB7XHJcbiAgICBmbGV4OiAwIDEgNTAlO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XHJcbiAgfVxyXG59XHJcbiJdfQ== */" - -/***/ }), - -/***/ "./src/app/contracts/contracts.component.ts": -/*!**************************************************!*\ - !*** ./src/app/contracts/contracts.component.ts ***! - \**************************************************/ -/*! exports provided: ContractsComponent */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ContractsComponent", function() { return ContractsComponent; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm5/router.js"); -/* harmony import */ var _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../_helpers/services/variables.service */ "./src/app/_helpers/services/variables.service.ts"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - -var ContractsComponent = /** @class */ (function () { - function ContractsComponent(route, variablesService) { - this.route = route; - this.variablesService = variablesService; - } - Object.defineProperty(ContractsComponent.prototype, "sortedArrayContracts", { - get: function () { - return this.variablesService.currentWallet.contracts.sort(function (a, b) { - if (a.is_new < b.is_new) { - return 1; - } - if (a.is_new > b.is_new) { - return -1; - } - if (a.timestamp < b.timestamp) { - return 1; - } - if (a.timestamp > b.timestamp) { - return -1; - } - if (a.contract_id < b.contract_id) { - return 1; - } - if (a.contract_id > b.contract_id) { - return -1; - } - return 0; - }); - }, - enumerable: true, - configurable: true - }); - ContractsComponent.prototype.ngOnInit = function () { - var _this = this; - this.parentRouting = this.route.parent.params.subscribe(function (params) { - if (params.hasOwnProperty('id')) { - _this.walletId = params['id']; - } - }); - }; - ContractsComponent.prototype.ngOnDestroy = function () { - this.parentRouting.unsubscribe(); - }; - ContractsComponent = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Component"])({ - selector: 'app-contracts', - template: __webpack_require__(/*! ./contracts.component.html */ "./src/app/contracts/contracts.component.html"), - styles: [__webpack_require__(/*! ./contracts.component.scss */ "./src/app/contracts/contracts.component.scss")] - }), - __metadata("design:paramtypes", [_angular_router__WEBPACK_IMPORTED_MODULE_1__["ActivatedRoute"], - _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_2__["VariablesService"]]) - ], ContractsComponent); - return ContractsComponent; -}()); - - - -/***/ }), - -/***/ "./src/app/create-wallet/create-wallet.component.html": -/*!************************************************************!*\ - !*** ./src/app/create-wallet/create-wallet.component.html ***! - \************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = "
      \r\n\r\n
      \r\n
      \r\n {{ 'BREADCRUMBS.ADD_WALLET' | translate }}\r\n {{ 'BREADCRUMBS.CREATE_WALLET' | translate }}\r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n {{ 'CREATE_WALLET.FORM_ERRORS.NAME_REQUIRED' | translate }}\r\n
      \r\n
      \r\n {{ 'CREATE_WALLET.FORM_ERRORS.NAME_DUPLICATE' | translate }}\r\n
      \r\n
      \r\n
      = variablesService.maxWalletNameLength\">\r\n {{ 'CREATE_WALLET.FORM_ERRORS.MAX_LENGTH' | translate }}\r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n {{ 'ERRORS.WRONG_PASSWORD' | translate }}\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n {{ 'CREATE_WALLET.FORM_ERRORS.CONFIRM_NOT_MATCH' | translate }}\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n\r\n\r\n" - -/***/ }), - -/***/ "./src/app/create-wallet/create-wallet.component.scss": -/*!************************************************************!*\ - !*** ./src/app/create-wallet/create-wallet.component.scss ***! - \************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = ":host {\n position: relative; }\n\n.form-create {\n margin: 2.4rem 0;\n width: 50%; }\n\n.form-create .wrap-buttons {\n display: flex;\n margin: 2.5rem -0.7rem; }\n\n.form-create .wrap-buttons button {\n margin: 0 0.7rem; }\n\n.form-create .wrap-buttons button.transparent-button {\n flex-basis: 50%; }\n\n.form-create .wrap-buttons button.select-button {\n flex-basis: 60%; }\n\n.form-create .wrap-buttons button.create-button {\n flex: 1 1 50%; }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY3JlYXRlLXdhbGxldC9EOlxcUHJvamVjdFxcV09SS19ORVdcXHphbm9cXHNyY1xcZ3VpXFxxdC1kYWVtb25cXGh0bWxfc291cmNlL3NyY1xcYXBwXFxjcmVhdGUtd2FsbGV0XFxjcmVhdGUtd2FsbGV0LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0Usa0JBQWtCLEVBQUE7O0FBR3BCO0VBQ0UsZ0JBQWdCO0VBQ2hCLFVBQVUsRUFBQTs7QUFGWjtJQUtJLGFBQWE7SUFDYixzQkFBc0IsRUFBQTs7QUFOMUI7TUFTTSxnQkFBZ0IsRUFBQTs7QUFUdEI7UUFZUSxlQUFlLEVBQUE7O0FBWnZCO1FBZ0JRLGVBQWUsRUFBQTs7QUFoQnZCO1FBb0JRLGFBQWEsRUFBQSIsImZpbGUiOiJzcmMvYXBwL2NyZWF0ZS13YWxsZXQvY3JlYXRlLXdhbGxldC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5mb3JtLWNyZWF0ZSB7XHJcbiAgbWFyZ2luOiAyLjRyZW0gMDtcclxuICB3aWR0aDogNTAlO1xyXG5cclxuICAud3JhcC1idXR0b25zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBtYXJnaW46IDIuNXJlbSAtMC43cmVtO1xyXG5cclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgIG1hcmdpbjogMCAwLjdyZW07XHJcblxyXG4gICAgICAmLnRyYW5zcGFyZW50LWJ1dHRvbiB7XHJcbiAgICAgICAgZmxleC1iYXNpczogNTAlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLnNlbGVjdC1idXR0b24ge1xyXG4gICAgICAgIGZsZXgtYmFzaXM6IDYwJTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi5jcmVhdGUtYnV0dG9uIHtcclxuICAgICAgICBmbGV4OiAxIDEgNTAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ== */" - -/***/ }), - -/***/ "./src/app/create-wallet/create-wallet.component.ts": -/*!**********************************************************!*\ - !*** ./src/app/create-wallet/create-wallet.component.ts ***! - \**********************************************************/ -/*! exports provided: CreateWalletComponent */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CreateWalletComponent", function() { return CreateWalletComponent; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/forms */ "./node_modules/@angular/forms/fesm5/forms.js"); -/* harmony import */ var _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../_helpers/services/backend.service */ "./src/app/_helpers/services/backend.service.ts"); -/* harmony import */ var _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../_helpers/services/variables.service */ "./src/app/_helpers/services/variables.service.ts"); -/* harmony import */ var _helpers_services_modal_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../_helpers/services/modal.service */ "./src/app/_helpers/services/modal.service.ts"); -/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm5/router.js"); -/* harmony import */ var _helpers_models_wallet_model__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../_helpers/models/wallet.model */ "./src/app/_helpers/models/wallet.model.ts"); -/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @ngx-translate/core */ "./node_modules/@ngx-translate/core/fesm5/ngx-translate-core.js"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - - -var CreateWalletComponent = /** @class */ (function () { - function CreateWalletComponent(router, backend, variablesService, modalService, ngZone, translate) { - var _this = this; - this.router = router; - this.backend = backend; - this.variablesService = variablesService; - this.modalService = modalService; - this.ngZone = ngZone; - this.translate = translate; - this.createForm = new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormGroup"]({ - name: new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormControl"]('', [_angular_forms__WEBPACK_IMPORTED_MODULE_1__["Validators"].required, function (g) { - for (var i = 0; i < _this.variablesService.wallets.length; i++) { - if (g.value === _this.variablesService.wallets[i].name) { - return { 'duplicate': true }; - } - } - return null; - }]), - password: new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormControl"]('', _angular_forms__WEBPACK_IMPORTED_MODULE_1__["Validators"].pattern(this.variablesService.pattern)), - confirm: new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormControl"]('') - }, function (g) { - return g.get('password').value === g.get('confirm').value ? null : { 'confirm_mismatch': true }; - }); - this.wallet = { - id: '' - }; - this.walletSaved = false; - this.walletSavedName = ''; - this.progressWidth = '9rem'; - } - CreateWalletComponent.prototype.ngOnInit = function () { - }; - CreateWalletComponent.prototype.createWallet = function () { - var _this = this; - this.ngZone.run(function () { - _this.progressWidth = '100%'; - _this.router.navigate(['/seed-phrase'], { queryParams: { wallet_id: _this.wallet.id } }); - }); - }; - CreateWalletComponent.prototype.saveWallet = function () { - var _this = this; - if (this.createForm.valid && this.createForm.get('name').value.length <= this.variablesService.maxWalletNameLength) { - this.backend.saveFileDialog(this.translate.instant('CREATE_WALLET.TITLE_SAVE'), '*', this.variablesService.settings.default_path, function (file_status, file_data) { - if (file_status) { - _this.variablesService.settings.default_path = file_data.path.substr(0, file_data.path.lastIndexOf('/')); - _this.walletSavedName = file_data.path.substr(file_data.path.lastIndexOf('/') + 1, file_data.path.length - 1); - _this.backend.generateWallet(file_data.path, _this.createForm.get('password').value, function (generate_status, generate_data, errorCode) { - if (generate_status) { - _this.wallet.id = generate_data.wallet_id; - _this.variablesService.opening_wallet = new _helpers_models_wallet_model__WEBPACK_IMPORTED_MODULE_6__["Wallet"](generate_data.wallet_id, _this.createForm.get('name').value, _this.createForm.get('password').value, generate_data['wi'].path, generate_data['wi'].address, generate_data['wi'].balance, generate_data['wi'].unlocked_balance, generate_data['wi'].mined_total, generate_data['wi'].tracking_hey); - _this.variablesService.opening_wallet.alias = _this.backend.getWalletAlias(generate_data['wi'].address); - _this.variablesService.opening_wallet.total_history_item = 0; - _this.variablesService.opening_wallet.pages = new Array(1).fill(1); - _this.variablesService.opening_wallet.totalPages = 1; - _this.variablesService.opening_wallet.currentPage = 1; - _this.ngZone.run(function () { - _this.walletSaved = true; - _this.progressWidth = '33%'; - }); - } - else { - if (errorCode && errorCode === 'ALREADY_EXISTS') { - _this.modalService.prepareModal('error', 'CREATE_WALLET.ERROR_CANNOT_SAVE_TOP'); - } - else { - _this.modalService.prepareModal('error', 'CREATE_WALLET.ERROR_CANNOT_SAVE_SYSTEM'); - } - } - }); - } - }); - } - }; - CreateWalletComponent = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Component"])({ - selector: 'app-create-wallet', - template: __webpack_require__(/*! ./create-wallet.component.html */ "./src/app/create-wallet/create-wallet.component.html"), - styles: [__webpack_require__(/*! ./create-wallet.component.scss */ "./src/app/create-wallet/create-wallet.component.scss")] - }), - __metadata("design:paramtypes", [_angular_router__WEBPACK_IMPORTED_MODULE_5__["Router"], - _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_2__["BackendService"], - _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_3__["VariablesService"], - _helpers_services_modal_service__WEBPACK_IMPORTED_MODULE_4__["ModalService"], - _angular_core__WEBPACK_IMPORTED_MODULE_0__["NgZone"], - _ngx_translate_core__WEBPACK_IMPORTED_MODULE_7__["TranslateService"]]) - ], CreateWalletComponent); - return CreateWalletComponent; -}()); - - - -/***/ }), - -/***/ "./src/app/edit-alias/edit-alias.component.html": -/*!******************************************************!*\ - !*** ./src/app/edit-alias/edit-alias.component.html ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = "
      \r\n\r\n
      \r\n
      \r\n {{ wallet.name }}\r\n {{ 'BREADCRUMBS.EDIT_ALIAS' | translate }}\r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      0 && notEnoughMoney\">\r\n {{ 'EDIT_ALIAS.FORM_ERRORS.NO_MONEY' | translate }}\r\n
      \r\n
      = variablesService.maxCommentLength\">\r\n {{ 'EDIT_ALIAS.FORM_ERRORS.MAX_LENGTH' | translate }}\r\n
      \r\n
      \r\n\r\n
      {{ \"EDIT_ALIAS.COST\" | translate : {value: variablesService.default_fee, currency: variablesService.defaultCurrency} }}
      \r\n\r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n\r\n\r\n" - -/***/ }), - -/***/ "./src/app/edit-alias/edit-alias.component.scss": -/*!******************************************************!*\ - !*** ./src/app/edit-alias/edit-alias.component.scss ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = ".form-edit {\n margin: 2.4rem 0; }\n .form-edit .alias-name {\n width: 50%; }\n .form-edit .alias-cost {\n font-size: 1.3rem;\n margin-top: 2rem; }\n .form-edit .wrap-buttons {\n display: flex;\n justify-content: space-between;\n margin: 2.5rem -0.7rem; }\n .form-edit .wrap-buttons button {\n margin: 0 0.7rem;\n width: 15rem; }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZWRpdC1hbGlhcy9EOlxcUHJvamVjdFxcV09SS19ORVdcXHphbm9cXHNyY1xcZ3VpXFxxdC1kYWVtb25cXGh0bWxfc291cmNlL3NyY1xcYXBwXFxlZGl0LWFsaWFzXFxlZGl0LWFsaWFzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsZ0JBQWdCLEVBQUE7RUFEbEI7SUFJSSxVQUFVLEVBQUE7RUFKZDtJQVFJLGlCQUFpQjtJQUNqQixnQkFBZ0IsRUFBQTtFQVRwQjtJQWFJLGFBQWE7SUFDYiw4QkFBOEI7SUFDOUIsc0JBQXNCLEVBQUE7RUFmMUI7TUFrQk0sZ0JBQWdCO01BQ2hCLFlBQVksRUFBQSIsImZpbGUiOiJzcmMvYXBwL2VkaXQtYWxpYXMvZWRpdC1hbGlhcy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5mb3JtLWVkaXQge1xyXG4gIG1hcmdpbjogMi40cmVtIDA7XHJcblxyXG4gIC5hbGlhcy1uYW1lIHtcclxuICAgIHdpZHRoOiA1MCU7XHJcbiAgfVxyXG5cclxuICAuYWxpYXMtY29zdCB7XHJcbiAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgIG1hcmdpbi10b3A6IDJyZW07XHJcbiAgfVxyXG5cclxuICAud3JhcC1idXR0b25zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBtYXJnaW46IDIuNXJlbSAtMC43cmVtO1xyXG5cclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgIG1hcmdpbjogMCAwLjdyZW07XHJcbiAgICAgIHdpZHRoOiAxNXJlbTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19 */" - -/***/ }), - -/***/ "./src/app/edit-alias/edit-alias.component.ts": -/*!****************************************************!*\ - !*** ./src/app/edit-alias/edit-alias.component.ts ***! - \****************************************************/ -/*! exports provided: EditAliasComponent */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "EditAliasComponent", function() { return EditAliasComponent; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/common */ "./node_modules/@angular/common/fesm5/common.js"); -/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm5/router.js"); -/* harmony import */ var _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../_helpers/services/backend.service */ "./src/app/_helpers/services/backend.service.ts"); -/* harmony import */ var _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../_helpers/services/variables.service */ "./src/app/_helpers/services/variables.service.ts"); -/* harmony import */ var _helpers_services_modal_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../_helpers/services/modal.service */ "./src/app/_helpers/services/modal.service.ts"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - -var EditAliasComponent = /** @class */ (function () { - function EditAliasComponent(location, router, backend, variablesService, modalService, ngZone) { - this.location = location; - this.router = router; - this.backend = backend; - this.variablesService = variablesService; - this.modalService = modalService; - this.ngZone = ngZone; - this.requestProcessing = false; - } - EditAliasComponent.prototype.ngOnInit = function () { - this.wallet = this.variablesService.currentWallet; - var alias = this.backend.getWalletAlias(this.wallet.address); - this.alias = { - name: alias.name, - address: alias.address, - comment: alias.comment - }; - this.oldAliasComment = alias.comment; - this.notEnoughMoney = this.wallet.unlocked_balance.isLessThan(this.variablesService.default_fee_big); - }; - EditAliasComponent.prototype.updateAlias = function () { - var _this = this; - if (this.requestProcessing || this.notEnoughMoney || this.oldAliasComment === this.alias.comment || this.alias.comment.length > this.variablesService.maxCommentLength) { - return; - } - this.requestProcessing = true; - this.backend.updateAlias(this.wallet.wallet_id, this.alias, this.variablesService.default_fee, function (status) { - if (status) { - _this.modalService.prepareModal('success', ''); - _this.wallet.alias['comment'] = _this.alias.comment; - _this.ngZone.run(function () { - _this.router.navigate(['/wallet/' + _this.wallet.wallet_id]); - }); - } - _this.requestProcessing = false; - }); - }; - EditAliasComponent.prototype.back = function () { - this.location.back(); - }; - EditAliasComponent = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Component"])({ - selector: 'app-edit-alias', - template: __webpack_require__(/*! ./edit-alias.component.html */ "./src/app/edit-alias/edit-alias.component.html"), - styles: [__webpack_require__(/*! ./edit-alias.component.scss */ "./src/app/edit-alias/edit-alias.component.scss")] - }), - __metadata("design:paramtypes", [_angular_common__WEBPACK_IMPORTED_MODULE_1__["Location"], - _angular_router__WEBPACK_IMPORTED_MODULE_2__["Router"], - _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_3__["BackendService"], - _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_4__["VariablesService"], - _helpers_services_modal_service__WEBPACK_IMPORTED_MODULE_5__["ModalService"], - _angular_core__WEBPACK_IMPORTED_MODULE_0__["NgZone"]]) - ], EditAliasComponent); - return EditAliasComponent; -}()); - - - -/***/ }), - -/***/ "./src/app/export-import/export-import.component.html": -/*!************************************************************!*\ - !*** ./src/app/export-import/export-import.component.html ***! - \************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = "
      \r\n
      \r\n
      \r\n \r\n
      \r\n\r\n

      {{ 'CONTACTS.IMPORT_EXPORT' | translate }}

      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n" - -/***/ }), - -/***/ "./src/app/export-import/export-import.component.scss": -/*!************************************************************!*\ - !*** ./src/app/export-import/export-import.component.scss ***! - \************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = ":host {\n width: 100%; }\n\n.head {\n justify-content: flex-end; }\n\n.contacts-title {\n font-size: 1.7rem;\n margin-bottom: 1rem; }\n\n.btn-wrapper {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin: 0 -0.5rem;\n padding: 1.5rem 0; }\n\n.btn-wrapper button {\n flex: 1 0 auto;\n margin: 0 0.5rem; }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXhwb3J0LWltcG9ydC9EOlxcUHJvamVjdFxcV09SS19ORVdcXHphbm9cXHNyY1xcZ3VpXFxxdC1kYWVtb25cXGh0bWxfc291cmNlL3NyY1xcYXBwXFxleHBvcnQtaW1wb3J0XFxleHBvcnQtaW1wb3J0LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsV0FBVyxFQUFBOztBQUdiO0VBQ0UseUJBQXlCLEVBQUE7O0FBRzNCO0VBQ0UsaUJBQWlCO0VBQ2pCLG1CQUFtQixFQUFBOztBQUdyQjtFQUNFLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsOEJBQThCO0VBQzlCLGlCQUFpQjtFQUNqQixpQkFBaUIsRUFBQTs7QUFMbkI7SUFRSSxjQUFjO0lBQ2QsZ0JBQWdCLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9leHBvcnQtaW1wb3J0L2V4cG9ydC1pbXBvcnQuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5oZWFkIHtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG59XHJcblxyXG4uY29udGFjdHMtdGl0bGUge1xyXG4gIGZvbnQtc2l6ZTogMS43cmVtO1xyXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbn1cclxuXHJcbi5idG4td3JhcHBlciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBtYXJnaW46IDAgLTAuNXJlbTtcclxuICBwYWRkaW5nOiAxLjVyZW0gMDtcclxuXHJcbiAgYnV0dG9uIHtcclxuICAgIGZsZXg6IDEgMCBhdXRvO1xyXG4gICAgbWFyZ2luOiAwIDAuNXJlbTtcclxuICB9XHJcbn0iXX0= */" - -/***/ }), - -/***/ "./src/app/export-import/export-import.component.ts": -/*!**********************************************************!*\ - !*** ./src/app/export-import/export-import.component.ts ***! - \**********************************************************/ -/*! exports provided: ExportImportComponent */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ExportImportComponent", function() { return ExportImportComponent; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/common */ "./node_modules/@angular/common/fesm5/common.js"); -/* harmony import */ var _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../_helpers/services/backend.service */ "./src/app/_helpers/services/backend.service.ts"); -/* harmony import */ var _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../_helpers/services/variables.service */ "./src/app/_helpers/services/variables.service.ts"); -/* harmony import */ var _helpers_services_modal_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../_helpers/services/modal.service */ "./src/app/_helpers/services/modal.service.ts"); -/* harmony import */ var ngx_papaparse__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ngx-papaparse */ "./node_modules/ngx-papaparse/fesm5/ngx-papaparse.js"); -/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @ngx-translate/core */ "./node_modules/@ngx-translate/core/fesm5/ngx-translate-core.js"); -/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm5/router.js"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - - -var ExportImportComponent = /** @class */ (function () { - function ExportImportComponent(location, variablesService, backend, modalService, papa, translate, router, ngZone) { - this.location = location; - this.variablesService = variablesService; - this.backend = backend; - this.modalService = modalService; - this.papa = papa; - this.translate = translate; - this.router = router; - this.ngZone = ngZone; - } - ExportImportComponent.prototype.ngOnInit = function () { }; - ExportImportComponent.prototype.import = function () { - var _this = this; - this.backend.openFileDialog('', '*', this.variablesService.settings.default_path, function (file_status, file_data) { - if (file_status) { - _this.variablesService.settings.default_path = file_data.path.substr(0, file_data.path.lastIndexOf('/')); - if (_this.isValid(file_data.path)) { - _this.backend.loadFile(file_data.path, function (status, data) { - if (!status) { - _this.modalService.prepareModal('error', 'CONTACTS.ERROR_IMPORT_EMPTY'); - } - else { - var options = { - header: true - }; - var elements = _this.papa.parse(data, options); - var isArray = Array.isArray(elements.data); - if (isArray && elements.data.length !== 0 && !elements.errors.length) { - if (!_this.variablesService.contacts.length) { - elements.data.forEach(function (element) { - _this.variablesService.contacts.push(element); - }); - } - else { - elements.data.forEach(function (element) { - var indexName = _this.variablesService.contacts.findIndex(function (contact) { return contact.name === element.name; }); - var indexAddress = _this.variablesService.contacts.findIndex(function (contact) { return contact.address === element.address; }); - if (indexAddress === -1 && indexName === -1) { - _this.variablesService.contacts.push(element); - } - if (indexName !== -1 && indexAddress === -1) { - _this.variablesService.contacts.push({ - name: element.name + " " + _this.translate.instant('CONTACTS.COPY'), - address: element.address, - notes: element.notes - }); - } - }); - } - _this.backend.getContactAlias(); - _this.ngZone.run(function () { - _this.router.navigate(['/contacts']); - }); - } - if (elements.errors.length) { - _this.modalService.prepareModal('error', 'CONTACTS.ERROR_IMPORT'); - console.log(elements.errors); - } - } - }); - } - else { - _this.modalService.prepareModal('error', 'CONTACTS.ERROR_TYPE_FILE'); - } - } - }); - }; - ExportImportComponent.prototype.export = function () { - var _this = this; - var contacts = []; - this.variablesService.contacts.forEach(function (contact) { - delete contact.alias; - contacts.push(contact); - }); - this.backend.saveFileDialog('', '*', this.variablesService.settings.default_path, function (file_status, file_data) { - if (!_this.variablesService.contacts.length && !(file_data.error_code === 'CANCELED')) { - _this.modalService.prepareModal('error', 'CONTACTS.ERROR_EMPTY_LIST'); - } - var path = _this.isValid(file_data.path) ? file_data.path : file_data.path + ".csv"; - if (file_status && _this.isValid(path) && _this.variablesService.contacts.length) { - _this.backend.storeFile(path, _this.papa.unparse(contacts)); - } - if (!(file_data.error_code === 'CANCELED') && !_this.isValid(path)) { - _this.modalService.prepareModal('error', 'CONTACTS.ERROR_EXPORT'); - } - }); - }; - ExportImportComponent.prototype.isValid = function (file) { - return file.endsWith('.csv'); - }; - ExportImportComponent.prototype.back = function () { - this.location.back(); - }; - ExportImportComponent = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Component"])({ - selector: 'app-export-import', - template: __webpack_require__(/*! ./export-import.component.html */ "./src/app/export-import/export-import.component.html"), - styles: [__webpack_require__(/*! ./export-import.component.scss */ "./src/app/export-import/export-import.component.scss")] - }), - __metadata("design:paramtypes", [_angular_common__WEBPACK_IMPORTED_MODULE_1__["Location"], - _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_3__["VariablesService"], - _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_2__["BackendService"], - _helpers_services_modal_service__WEBPACK_IMPORTED_MODULE_4__["ModalService"], - ngx_papaparse__WEBPACK_IMPORTED_MODULE_5__["Papa"], - _ngx_translate_core__WEBPACK_IMPORTED_MODULE_6__["TranslateService"], - _angular_router__WEBPACK_IMPORTED_MODULE_7__["Router"], - _angular_core__WEBPACK_IMPORTED_MODULE_0__["NgZone"]]) - ], ExportImportComponent); - return ExportImportComponent; -}()); - - - -/***/ }), - -/***/ "./src/app/history/history.component.html": -/*!************************************************!*\ - !*** ./src/app/history/history.component.html ***! - \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = "
      \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
      {{ 'HISTORY.STATUS' | translate }}{{ 'HISTORY.DATE' | translate }}{{ 'HISTORY.AMOUNT' | translate }}{{ 'HISTORY.FEE' | translate }}{{ 'HISTORY.ADDRESS' | translate }}
      \r\n
      \r\n 0\">\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n \r\n \r\n 0\">\r\n \r\n 500000000\">\r\n 0\">\r\n \r\n \r\n \r\n 0\">\r\n \r\n \r\n\r\n \r\n \r\n {{ (item.is_income ? 'HISTORY.RECEIVED' : 'HISTORY.SEND') | translate }}\r\n
      \r\n
      {{item.timestamp * 1000 | date : 'dd-MM-yyyy HH:mm'}}\r\n {{item.sortAmount | intToMoney}} {{variablesService.defaultCurrency}}\r\n \r\n {{item.sortFee | intToMoney}} {{variablesService.defaultCurrency}}\r\n \r\n {{item | historyTypeMessages}}\r\n {{item.remote_addresses[0]}}\r\n
      \r\n \r\n \r\n \r\n
      \r\n\r\n
      \r\n" - -/***/ }), - -/***/ "./src/app/history/history.component.scss": -/*!************************************************!*\ - !*** ./src/app/history/history.component.scss ***! - \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = ":host {\n width: 100%; }\n\n.wrap-table {\n margin: -3rem; }\n\n.wrap-table table tbody tr td {\n min-width: 10rem; }\n\n.wrap-table table tbody tr .status {\n position: relative;\n display: flex;\n align-items: center; }\n\n.wrap-table table tbody tr .status .confirmation {\n position: absolute;\n top: 50%;\n left: -2rem;\n transform: translateY(-50%);\n display: flex;\n align-items: flex-end;\n width: 0.7rem;\n height: 1.5rem; }\n\n.wrap-table table tbody tr .status .confirmation .fill {\n width: 100%; }\n\n.wrap-table table tbody tr .status .lock-transaction {\n position: absolute;\n left: -2rem;\n -webkit-mask: url('lock-transaction.svg') no-repeat center;\n mask: url('lock-transaction.svg') no-repeat center;\n width: 1.2rem;\n height: 1.2rem;\n margin-right: 1.1rem; }\n\n.wrap-table table tbody tr .status .unlock-transaction {\n position: absolute;\n left: -2rem;\n -webkit-mask: url('unlock-transaction.svg') no-repeat center;\n mask: url('unlock-transaction.svg') no-repeat center;\n width: 1.2rem;\n height: 1.2rem;\n margin-right: 1.1rem; }\n\n.wrap-table table tbody tr .status .position {\n position: static; }\n\n.wrap-table table tbody tr .status .status-transaction {\n margin-right: 1rem;\n width: 1.7rem;\n height: 1.7rem; }\n\n.wrap-table table tbody tr .status.send .status-transaction {\n background-color: transparent; }\n\n.wrap-table table tbody tr .status.send .status-transaction::after {\n display: block;\n content: '';\n background: url('send-red.svg') no-repeat center;\n width: 13px;\n height: 13px; }\n\n.wrap-table table tbody tr .status.received .status-transaction {\n background-color: transparent; }\n\n.wrap-table table tbody tr .status.received .status-transaction::after {\n display: block;\n content: '';\n background: url('receive-green.svg') no-repeat center;\n width: 13px;\n height: 13px; }\n\n.wrap-table table tbody tr .remote-address {\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 25vw; }\n\n.wrap-table table tbody tr:not(.transaction-details) {\n cursor: pointer; }\n\n.wrap-table table tbody tr.transaction-details {\n transition: 0.5s height linear, 0s font-size;\n transition-delay: 0s, 0.5s;\n height: 0; }\n\n.wrap-table table tbody tr.transaction-details.open {\n height: 16.2rem; }\n\n.wrap-table table tbody tr.transaction-details td {\n position: relative;\n overflow: hidden;\n line-height: inherit;\n padding-top: 0;\n padding-bottom: 0; }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvaGlzdG9yeS9EOlxcUHJvamVjdFxcV09SS19ORVdcXHphbm9cXHNyY1xcZ3VpXFxxdC1kYWVtb25cXGh0bWxfc291cmNlL3NyY1xcYXBwXFxoaXN0b3J5XFxoaXN0b3J5LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsV0FBVyxFQUFBOztBQUdiO0VBQ0UsYUFBYSxFQUFBOztBQURmO0lBVVUsZ0JBQWdCLEVBQUE7O0FBVjFCO0lBY1Usa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixtQkFBbUIsRUFBQTs7QUFoQjdCO01BbUJZLGtCQUFrQjtNQUNsQixRQUFRO01BQ1IsV0FBVztNQUNYLDJCQUEyQjtNQUMzQixhQUFhO01BQ2IscUJBQXFCO01BQ3JCLGFBQWE7TUFDYixjQUFjLEVBQUE7O0FBMUIxQjtRQTZCYyxXQUFXLEVBQUE7O0FBN0J6QjtNQWtDWSxrQkFBa0I7TUFDbEIsV0FBVztNQUNYLDBEQUFtRTtjQUFuRSxrREFBbUU7TUFDbkUsYUFBYTtNQUNiLGNBQWM7TUFDZCxvQkFBb0IsRUFBQTs7QUF2Q2hDO01BMkNZLGtCQUFrQjtNQUNsQixXQUFXO01BQ1gsNERBQXFFO2NBQXJFLG9EQUFxRTtNQUNyRSxhQUFhO01BQ2IsY0FBYztNQUNkLG9CQUFvQixFQUFBOztBQWhEaEM7TUFvRFksZ0JBQWdCLEVBQUE7O0FBcEQ1QjtNQXdEWSxrQkFBa0I7TUFDbEIsYUFBYTtNQUNiLGNBQWMsRUFBQTs7QUExRDFCO01BK0RjLDZCQUE2QixFQUFBOztBQS9EM0M7TUFtRWMsY0FBYztNQUNkLFdBQVU7TUFDVixnREFBa0U7TUFDbEUsV0FBVztNQUNYLFlBQVksRUFBQTs7QUF2RTFCO01BNkVjLDZCQUE2QixFQUFBOztBQTdFM0M7TUFpRmMsY0FBYztNQUNkLFdBQVU7TUFDVixxREFBdUU7TUFDdkUsV0FBVztNQUNYLFlBQVksRUFBQTs7QUFyRjFCO0lBMkZVLGdCQUFnQjtJQUNoQix1QkFBdUI7SUFDdkIsZUFBZSxFQUFBOztBQTdGekI7SUFpR1UsZUFBZSxFQUFBOztBQWpHekI7SUFzR1UsNENBQTRDO0lBQzVDLDBCQUEwQjtJQUMxQixTQUFTLEVBQUE7O0FBeEduQjtNQTJHWSxlQUFlLEVBQUE7O0FBM0czQjtNQStHWSxrQkFBa0I7TUFDbEIsZ0JBQWdCO01BQ2hCLG9CQUFvQjtNQUNwQixjQUFjO01BQ2QsaUJBQWlCLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9oaXN0b3J5L2hpc3RvcnkuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi53cmFwLXRhYmxlIHtcclxuICBtYXJnaW46IC0zcmVtO1xyXG5cclxuICB0YWJsZSB7XHJcblxyXG4gICAgdGJvZHkge1xyXG5cclxuICAgICAgdHIge1xyXG5cclxuICAgICAgICB0ZCB7XHJcbiAgICAgICAgICBtaW4td2lkdGg6IDEwcmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnN0YXR1cyB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAuY29uZmlybWF0aW9uIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgbGVmdDogLTJyZW07XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICB3aWR0aDogMC43cmVtO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcclxuXHJcbiAgICAgICAgICAgIC5maWxsIHtcclxuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5sb2NrLXRyYW5zYWN0aW9uIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAtMnJlbTtcclxuICAgICAgICAgICAgbWFzazogdXJsKC4uLy4uL2Fzc2V0cy9pY29ucy9sb2NrLXRyYW5zYWN0aW9uLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgICAgICAgd2lkdGg6IDEuMnJlbTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxLjJyZW07XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMS4xcmVtO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC51bmxvY2stdHJhbnNhY3Rpb24ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IC0ycmVtO1xyXG4gICAgICAgICAgICBtYXNrOiB1cmwoLi4vLi4vYXNzZXRzL2ljb25zL3VubG9jay10cmFuc2FjdGlvbi5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxLjJyZW07XHJcbiAgICAgICAgICAgIGhlaWdodDogMS4ycmVtO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMXJlbTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAucG9zaXRpb24ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5zdGF0dXMtdHJhbnNhY3Rpb24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XHJcbiAgICAgICAgICAgIHdpZHRoOiAxLjdyZW07XHJcbiAgICAgICAgICAgIGhlaWdodDogMS43cmVtO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICYuc2VuZCAge1xyXG4gICAgICAgICAgICAuc3RhdHVzLXRyYW5zYWN0aW9uIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnN0YXR1cy10cmFuc2FjdGlvbjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgIGNvbnRlbnQ6Jyc7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDp1cmwoXCIuLi8uLi9hc3NldHMvaWNvbnMvc2VuZC1yZWQuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IDEzcHg7XHJcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxM3B4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJi5yZWNlaXZlZCB7XHJcbiAgICAgICAgICAgIC5zdGF0dXMtdHJhbnNhY3Rpb24ge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuc3RhdHVzLXRyYW5zYWN0aW9uOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgY29udGVudDonJztcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOnVybChcIi4uLy4uL2Fzc2V0cy9pY29ucy9yZWNlaXZlLWdyZWVuLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAxM3B4O1xyXG4gICAgICAgICAgICAgIGhlaWdodDogMTNweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnJlbW90ZS1hZGRyZXNzIHtcclxuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICAgIG1heC13aWR0aDogMjV2dztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bm90KC50cmFuc2FjdGlvbi1kZXRhaWxzKSB7XHJcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLnRyYW5zYWN0aW9uLWRldGFpbHMge1xyXG4gICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjVzIGhlaWdodCBsaW5lYXIsIDBzIGZvbnQtc2l6ZTtcclxuICAgICAgICAgIHRyYW5zaXRpb246IDAuNXMgaGVpZ2h0IGxpbmVhciwgMHMgZm9udC1zaXplO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHMsIDAuNXM7XHJcbiAgICAgICAgICBoZWlnaHQ6IDA7XHJcblxyXG4gICAgICAgICAgJi5vcGVuIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNi4ycmVtO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0= */" - -/***/ }), - -/***/ "./src/app/history/history.component.ts": -/*!**********************************************!*\ - !*** ./src/app/history/history.component.ts ***! - \**********************************************/ -/*! exports provided: HistoryComponent */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "HistoryComponent", function() { return HistoryComponent; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../_helpers/services/variables.service */ "./src/app/_helpers/services/variables.service.ts"); -/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm5/router.js"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - -var HistoryComponent = /** @class */ (function () { - function HistoryComponent(route, variablesService) { - this.route = route; - this.variablesService = variablesService; - this.openedDetails = false; - this.calculatedWidth = []; - } - HistoryComponent.prototype.ngOnInit = function () { - var _this = this; - this.parentRouting = this.route.parent.params.subscribe(function () { - _this.openedDetails = false; - }); - }; - HistoryComponent.prototype.ngAfterViewChecked = function () { - this.calculateWidth(); - }; - HistoryComponent.prototype.getHeight = function (item) { - if ((this.variablesService.height_app - item.height >= 10 && item.height !== 0) || (item.is_mining === true && item.height === 0)) { - return 100; - } - else { - if (item.height === 0 || this.variablesService.height_app - item.height < 0) { - return 0; - } - else { - return (this.variablesService.height_app - item.height) * 10; - } - } - }; - HistoryComponent.prototype.openDetails = function (tx_hash) { - if (tx_hash === this.openedDetails) { - this.openedDetails = false; - } - else { - this.openedDetails = tx_hash; - } - }; - HistoryComponent.prototype.calculateWidth = function () { - this.calculatedWidth = []; - this.calculatedWidth.push(this.head.nativeElement.childNodes[0].clientWidth); - this.calculatedWidth.push(this.head.nativeElement.childNodes[1].clientWidth + this.head.nativeElement.childNodes[2].clientWidth); - this.calculatedWidth.push(this.head.nativeElement.childNodes[3].clientWidth); - this.calculatedWidth.push(this.head.nativeElement.childNodes[4].clientWidth); - }; - HistoryComponent.prototype.time = function (item) { - var now = new Date().getTime(); - var unlockTime = now + ((item.unlock_time - this.variablesService.height_max) * 60 * 1000); - return unlockTime; - }; - HistoryComponent.prototype.isLocked = function (item) { - if ((item.unlock_time > 500000000) && (item.unlock_time > new Date().getTime() / 1000)) { - return true; - } - if ((item.unlock_time < 500000000) && (item.unlock_time > this.variablesService.height_max)) { - return true; - } - return false; - }; - HistoryComponent.prototype.ngOnDestroy = function () { - this.parentRouting.unsubscribe(); - }; - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ViewChild"])('head'), - __metadata("design:type", _angular_core__WEBPACK_IMPORTED_MODULE_0__["ElementRef"]) - ], HistoryComponent.prototype, "head", void 0); - HistoryComponent = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Component"])({ - selector: 'app-history', - template: __webpack_require__(/*! ./history.component.html */ "./src/app/history/history.component.html"), - styles: [__webpack_require__(/*! ./history.component.scss */ "./src/app/history/history.component.scss")] - }), - __metadata("design:paramtypes", [_angular_router__WEBPACK_IMPORTED_MODULE_2__["ActivatedRoute"], - _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_1__["VariablesService"]]) - ], HistoryComponent); - return HistoryComponent; -}()); - - - -/***/ }), - -/***/ "./src/app/login/login.component.html": -/*!********************************************!*\ - !*** ./src/app/login/login.component.html ***! - \********************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = "
      \r\n\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n {{ 'ERRORS.WRONG_PASSWORD' | translate }}\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n {{ 'LOGIN.FORM_ERRORS.MISMATCH' | translate }}\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n \r\n {{ 'SIDEBAR.SYNCHRONIZATION.OFFLINE' | translate }}\r\n \r\n \r\n {{ 'SIDEBAR.SYNCHRONIZATION.SYNCING' | translate }} {{ variablesService.height_app }}{{ 'SIDEBAR.SYNCHRONIZATION.SLASH' | translate }}{{ variablesService.height_max }}\r\n \r\n \r\n {{ 'SIDEBAR.SYNCHRONIZATION.ONLINE' | translate }}\r\n \r\n \r\n {{ 'SIDEBAR.SYNCHRONIZATION.LOADING' | translate }}\r\n \r\n \r\n {{ 'SIDEBAR.SYNCHRONIZATION.ERROR' | translate }}\r\n \r\n \r\n {{ 'SIDEBAR.SYNCHRONIZATION.COMPLETE' | translate }}\r\n \r\n \r\n {{ 'SIDEBAR.SYNCHRONIZATION.DOWNLOADING' | translate }} {{ variablesService.downloaded }}{{ 'SIDEBAR.SYNCHRONIZATION.SLASH' | translate }}{{ variablesService.total }}{{ 'SIDEBAR.SYNCHRONIZATION.MB' | translate }}\r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      {{ variablesService.sync.progress_value_text }}%
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      {{ variablesService.download.progress_value_text }}%
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n {{ 'SIDEBAR.UPDATE.STANDARD' | translate }}\r\n
      \r\n \r\n
      \r\n \r\n
      \r\n {{ 'SIDEBAR.UPDATE.IMPORTANT' | translate }}\r\n
      \r\n {{ 'SIDEBAR.UPDATE.IMPORTANT_HINT' | translate }}\r\n
      \r\n \r\n
      \r\n \r\n
      \r\n {{ 'SIDEBAR.UPDATE.CRITICAL' | translate }}\r\n
      \r\n {{ 'SIDEBAR.UPDATE.IMPORTANT_HINT' | translate }}\r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n {{ 'SIDEBAR.UPDATE.TIME' | translate }}\r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n" - -/***/ }), - -/***/ "./src/app/login/login.component.scss": -/*!********************************************!*\ - !*** ./src/app/login/login.component.scss ***! - \********************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = ":host {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%; }\n :host .content {\n display: flex; }\n :host .content .wrap-login {\n margin: auto;\n width: 100%;\n max-width: 40rem; }\n :host .content .wrap-login .logo {\n display: flex;\n justify-content: center; }\n :host .content .wrap-login .logo::ng-deep svg {\n width: 15rem; }\n :host .content .wrap-login .form-login {\n display: flex;\n flex-direction: column; }\n :host .content .wrap-login .form-login .wrap-button {\n display: flex;\n align-items: center;\n justify-content: space-between; }\n :host .content .wrap-login .form-login .wrap-button button {\n margin: 2.5rem 0; }\n :host .content .wrap-login .form-login button {\n margin: 2.5rem auto;\n width: 100%;\n max-width: 15rem; }\n .synchronization-status {\n position: absolute;\n bottom: 3rem;\n left: 3rem; }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbG9naW4vRDpcXFByb2plY3RcXFdPUktfTkVXXFx6YW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFwcFxcbG9naW5cXGxvZ2luLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsZUFBZTtFQUNmLE1BQU07RUFDTixPQUFPO0VBQ1AsV0FBVztFQUNYLFlBQVksRUFBQTtFQUxkO0lBUUksYUFBYSxFQUFBO0VBUmpCO01BV00sWUFBWTtNQUNaLFdBQVc7TUFDWCxnQkFBZ0IsRUFBQTtFQWJ0QjtRQWdCUSxhQUFhO1FBQ2IsdUJBQXVCLEVBQUE7RUFqQi9CO1VBb0JVLFlBQVksRUFBQTtFQXBCdEI7UUF5QlEsYUFBYTtRQUNiLHNCQUFzQixFQUFBO0VBMUI5QjtVQTZCVSxhQUFhO1VBQ2IsbUJBQW1CO1VBQ25CLDhCQUE4QixFQUFBO0VBL0J4QztZQWtDWSxnQkFBZ0IsRUFBQTtFQWxDNUI7VUF1Q1UsbUJBQW1CO1VBQ25CLFdBQVc7VUFDWCxnQkFBZ0IsRUFBQTtFQU0xQjtFQUNFLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osVUFBVSxFQUFBIiwiZmlsZSI6InNyYy9hcHAvbG9naW4vbG9naW4uY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuXHJcbiAgLmNvbnRlbnQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuXHJcbiAgICAud3JhcC1sb2dpbiB7XHJcbiAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1heC13aWR0aDogNDByZW07XHJcblxyXG4gICAgICAubG9nbyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgJjo6bmctZGVlcCBzdmcge1xyXG4gICAgICAgICAgd2lkdGg6IDE1cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmZvcm0tbG9naW4ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgICAgICAgLndyYXAtYnV0dG9uIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuICAgICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMi41cmVtIDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgbWFyZ2luOiAyLjVyZW0gYXV0bztcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgbWF4LXdpZHRoOiAxNXJlbTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuLnN5bmNocm9uaXphdGlvbi1zdGF0dXMge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBib3R0b206IDNyZW07XHJcbiAgbGVmdDogM3JlbTtcclxufVxyXG4iXX0= */" - -/***/ }), - -/***/ "./src/app/login/login.component.ts": -/*!******************************************!*\ - !*** ./src/app/login/login.component.ts ***! - \******************************************/ -/*! exports provided: LoginComponent */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LoginComponent", function() { return LoginComponent; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/forms */ "./node_modules/@angular/forms/fesm5/forms.js"); -/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm5/router.js"); -/* harmony import */ var _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../_helpers/services/backend.service */ "./src/app/_helpers/services/backend.service.ts"); -/* harmony import */ var _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../_helpers/services/variables.service */ "./src/app/_helpers/services/variables.service.ts"); -/* harmony import */ var _helpers_services_modal_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../_helpers/services/modal.service */ "./src/app/_helpers/services/modal.service.ts"); -/* harmony import */ var _helpers_models_wallet_model__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../_helpers/models/wallet.model */ "./src/app/_helpers/models/wallet.model.ts"); -/* harmony import */ var _shared_constants__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../_shared/constants */ "./src/app/_shared/constants.ts"); -/* harmony import */ var _assets_icons_icons_json__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../assets/icons/icons.json */ "./src/assets/icons/icons.json"); -var _assets_icons_icons_json__WEBPACK_IMPORTED_MODULE_8___namespace = /*#__PURE__*/__webpack_require__.t(/*! ../../assets/icons/icons.json */ "./src/assets/icons/icons.json", 1); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - - - -var LoginComponent = /** @class */ (function () { - function LoginComponent(route, router, backend, variablesService, modalService, ngZone) { - this.route = route; - this.router = router; - this.backend = backend; - this.variablesService = variablesService; - this.modalService = modalService; - this.ngZone = ngZone; - this.regForm = new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormGroup"]({ - password: new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormControl"]('', _angular_forms__WEBPACK_IMPORTED_MODULE_1__["Validators"].pattern(this.variablesService.pattern)), - confirmation: new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormControl"]('') - }, [function (g) { - return g.get('password').value === g.get('confirmation').value ? null : { 'mismatch': true }; - } - ]); - this.authForm = new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormGroup"]({ - password: new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormControl"]('') - }); - this.type = 'reg'; - this.logo = _assets_icons_icons_json__WEBPACK_IMPORTED_MODULE_8__.logo; - } - LoginComponent.prototype.ngOnInit = function () { - var _this = this; - this.queryRouting = this.route.queryParams.subscribe(function (params) { - if (params.type) { - _this.type = params.type; - } - }); - }; - LoginComponent.prototype.onSubmitCreatePass = function () { - var _this = this; - if (this.regForm.valid) { - this.variablesService.appPass = this.regForm.get('password').value; // the pass what was written in input of login form by user - this.backend.setMasterPassword({ pass: this.variablesService.appPass }, function (status, data) { - if (status) { - _this.backend.storeSecureAppData({ pass: _this.variablesService.appPass }); - _this.variablesService.appLogin = true; - _this.variablesService.dataIsLoaded = true; - if (_this.variablesService.settings.appLockTime) { - _this.variablesService.startCountdown(); - } - _this.ngZone.run(function () { - _this.router.navigate(['/']); - }); - } - else { - console.log(data['error_code']); - } - }); - } - }; - LoginComponent.prototype.onSkipCreatePass = function () { - var _this = this; - this.variablesService.appPass = ''; - this.ngZone.run(function () { - _this.variablesService.appLogin = true; - _this.router.navigate(['/']); - }); - }; - LoginComponent.prototype.dropSecureAppData = function () { - var _this = this; - this.backend.dropSecureAppData(function () { - _this.onSkipCreatePass(); - }); - this.variablesService.wallets = []; - this.variablesService.contacts = []; - }; - LoginComponent.prototype.onSubmitAuthPass = function () { - var _this = this; - if (this.authForm.valid) { - this.variablesService.appPass = this.authForm.get('password').value; - if (this.variablesService.dataIsLoaded) { - this.backend.checkMasterPassword({ pass: this.variablesService.appPass }, function (status, data) { - if (status) { - _this.variablesService.appLogin = true; - if (_this.variablesService.settings.appLockTime) { - _this.variablesService.startCountdown(); - } - _this.ngZone.run(function () { - _this.router.navigate(['/'], { queryParams: { prevUrl: 'login' } }); - }); - } - }); - } - else { - this.getData(this.variablesService.appPass); - } - } - }; - LoginComponent.prototype.getData = function (appPass) { - var _this = this; - this.backend.getSecureAppData({ pass: appPass }, function (status, data) { - if (!data.error_code) { - _this.variablesService.appLogin = true; - _this.variablesService.dataIsLoaded = true; - if (_this.variablesService.settings.appLockTime) { - _this.variablesService.startCountdown(); - } - _this.variablesService.appPass = appPass; - var isEmptyObject = Object.keys(data).length === 0 && data.constructor === Object; - if (_this.variablesService.wallets.length) { - _this.ngZone.run(function () { - _this.router.navigate(['/wallet/' + _this.variablesService.wallets[0].wallet_id]); - }); - return; - } - if (data.hasOwnProperty('contacts')) { - if (Object.keys(data['contacts']).length !== 0) { - data['contacts'].map(function (contact) { - _this.variablesService.contacts.push(contact); - }); - } - } - if (data.hasOwnProperty('wallets')) { - if (Object.keys(data['wallets']).length !== 0) { - _this.getWalletData(data['wallets']); - } - else { - _this.ngZone.run(function () { - _this.router.navigate(['/']); - }); - } - } - if (!data.hasOwnProperty('wallets') && !data.hasOwnProperty('contacts')) { - if (data.length !== 0 && !isEmptyObject) { - _this.getWalletData(data); - } - else { - _this.ngZone.run(function () { - _this.router.navigate(['/']); - }); - } - } - } - }); - }; - LoginComponent.prototype.getWalletData = function (walletData) { - var _this = this; - var openWallets = 0; - var runWallets = 0; - walletData.forEach(function (wallet, wallet_index) { - _this.backend.openWallet(wallet.path, wallet.pass, _this.variablesService.count, true, function (open_status, open_data, open_error) { - if (open_status || open_error === 'FILE_RESTORED') { - openWallets++; - _this.ngZone.run(function () { - var new_wallet = new _helpers_models_wallet_model__WEBPACK_IMPORTED_MODULE_6__["Wallet"](open_data.wallet_id, wallet.name, wallet.pass, open_data['wi'].path, open_data['wi'].address, open_data['wi'].balance, open_data['wi'].unlocked_balance, open_data['wi'].mined_total, open_data['wi'].tracking_hey); - new_wallet.alias = _this.backend.getWalletAlias(new_wallet.address); - if (wallet.staking) { - new_wallet.staking = true; - _this.backend.startPosMining(new_wallet.wallet_id); - } - else { - new_wallet.staking = false; - } - new_wallet.is_auditable = open_data['wi'].is_auditable; - new_wallet.is_watch_only = open_data['wi'].is_watch_only; - new_wallet.currentPage = 1; - new_wallet.exclude_mining_txs = false; - if (open_data.recent_history && open_data.recent_history.history) { - new_wallet.total_history_item = open_data.recent_history.total_history_items; - new_wallet.totalPages = Math.ceil(open_data.recent_history.total_history_items / _this.variablesService.count); - new_wallet.totalPages > _this.variablesService.maxPages - ? new_wallet.pages = new Array(5).fill(1).map(function (value, index) { return value + index; }) - : new_wallet.pages = new Array(new_wallet.totalPages).fill(1).map(function (value, index) { return value + index; }); - new_wallet.prepareHistory(open_data.recent_history.history); - } - else { - new_wallet.total_history_item = 0; - new_wallet.pages = new Array(1).fill(1); - new_wallet.totalPages = 1; - } - _this.backend.getContracts(open_data.wallet_id, function (contracts_status, contracts_data) { - if (contracts_status && contracts_data.hasOwnProperty('contracts')) { - _this.ngZone.run(function () { - new_wallet.prepareContractsAfterOpen(contracts_data.contracts, _this.variablesService.exp_med_ts, _this.variablesService.height_app, _this.variablesService.settings.viewedContracts, _this.variablesService.settings.notViewedContracts); - }); - } - }); - _this.variablesService.wallets.push(new_wallet); - if (_this.variablesService.wallets.length === 1) { - _this.router.navigate(['/wallet/' + _this.variablesService.wallets[0].wallet_id]); - } - }); - _this.backend.runWallet(open_data.wallet_id, function (run_status) { - if (run_status) { - runWallets++; - } - else { - if (wallet_index === walletData.length - 1 && runWallets === 0) { - _this.ngZone.run(function () { - _this.router.navigate(['/']); - }); - } - } - }); - } - else { - if (wallet_index === walletData.length - 1 && openWallets === 0) { - _this.ngZone.run(function () { - _this.router.navigate(['/']); - }); - } - } - }); - }); - }; - LoginComponent.prototype.getUpdate = function () { - this.backend.openUrlInBrowser(_shared_constants__WEBPACK_IMPORTED_MODULE_7__["DOWNLOADS_PAGE_URL"]); - }; - LoginComponent.prototype.ngOnDestroy = function () { - this.queryRouting.unsubscribe(); - }; - LoginComponent = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Component"])({ - selector: 'app-login', - template: __webpack_require__(/*! ./login.component.html */ "./src/app/login/login.component.html"), - styles: [__webpack_require__(/*! ./login.component.scss */ "./src/app/login/login.component.scss")] - }), - __metadata("design:paramtypes", [_angular_router__WEBPACK_IMPORTED_MODULE_2__["ActivatedRoute"], - _angular_router__WEBPACK_IMPORTED_MODULE_2__["Router"], - _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_3__["BackendService"], - _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_4__["VariablesService"], - _helpers_services_modal_service__WEBPACK_IMPORTED_MODULE_5__["ModalService"], - _angular_core__WEBPACK_IMPORTED_MODULE_0__["NgZone"]]) - ], LoginComponent); - return LoginComponent; -}()); - - - -/***/ }), - -/***/ "./src/app/main/main.component.html": -/*!******************************************!*\ - !*** ./src/app/main/main.component.html ***! - \******************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = "
      \r\n\r\n
      0 && prevUrl !== 'login'\">\r\n \r\n
      \r\n\r\n
      \r\n

      {{ 'MAIN.TITLE' | translate }}

      \r\n
      \r\n \r\n \r\n \r\n
      \r\n
      \r\n {{ 'MAIN.HELP' | translate }}\r\n
      \r\n
      \r\n\r\n
      \r\n" - -/***/ }), - -/***/ "./src/app/main/main.component.scss": -/*!******************************************!*\ - !*** ./src/app/main/main.component.scss ***! - \******************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = ":host {\n flex: 1 0 auto;\n padding: 3rem; }\n\n.content {\n padding: 3rem;\n min-height: 100%; }\n\n.content .head {\n justify-content: flex-end; }\n\n.add-wallet .add-wallet-title {\n margin-bottom: 1rem; }\n\n.add-wallet .add-wallet-buttons {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin: 0 -0.5rem;\n padding: 1.5rem 0; }\n\n.add-wallet .add-wallet-buttons button {\n flex: 1 0 auto;\n margin: 0 0.5rem; }\n\n.add-wallet .add-wallet-help {\n display: flex;\n cursor: pointer;\n font-size: 1.3rem;\n line-height: 1.5rem; }\n\n.add-wallet .add-wallet-help .icon {\n -webkit-mask: url('howto.svg') no-repeat center;\n mask: url('howto.svg') no-repeat center;\n margin-right: 0.8rem;\n width: 1.5rem;\n height: 1.5rem; }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbWFpbi9EOlxcUHJvamVjdFxcV09SS19ORVdcXHphbm9cXHNyY1xcZ3VpXFxxdC1kYWVtb25cXGh0bWxfc291cmNlL3NyY1xcYXBwXFxtYWluXFxtYWluLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsY0FBYztFQUNkLGFBQWEsRUFBQTs7QUFHZjtFQUNFLGFBQWE7RUFDYixnQkFBZ0IsRUFBQTs7QUFGbEI7SUFLSSx5QkFBeUIsRUFBQTs7QUFJN0I7RUFHSSxtQkFBbUIsRUFBQTs7QUFIdkI7RUFPSSxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLDhCQUE4QjtFQUM5QixpQkFBaUI7RUFDakIsaUJBQWlCLEVBQUE7O0FBWHJCO0lBY00sY0FBYztJQUNkLGdCQUFnQixFQUFBOztBQWZ0QjtFQW9CSSxhQUFhO0VBQ2IsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixtQkFBbUIsRUFBQTs7QUF2QnZCO0lBMEJNLCtDQUF3RDtZQUF4RCx1Q0FBd0Q7SUFDeEQsb0JBQW9CO0lBQ3BCLGFBQWE7SUFDYixjQUFjLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9tYWluL21haW4uY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgZmxleDogMSAwIGF1dG87XHJcbiAgcGFkZGluZzogM3JlbTtcclxufVxyXG5cclxuLmNvbnRlbnQge1xyXG4gIHBhZGRpbmc6IDNyZW07XHJcbiAgbWluLWhlaWdodDogMTAwJTtcclxuXHJcbiAgLmhlYWQge1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICB9XHJcbn1cclxuXHJcbi5hZGQtd2FsbGV0IHtcclxuXHJcbiAgLmFkZC13YWxsZXQtdGl0bGUge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICB9XHJcblxyXG4gIC5hZGQtd2FsbGV0LWJ1dHRvbnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBtYXJnaW46IDAgLTAuNXJlbTtcclxuICAgIHBhZGRpbmc6IDEuNXJlbSAwO1xyXG5cclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xyXG4gICAgICBtYXJnaW46IDAgMC41cmVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmFkZC13YWxsZXQtaGVscCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgICBsaW5lLWhlaWdodDogMS41cmVtO1xyXG5cclxuICAgIC5pY29uIHtcclxuICAgICAgbWFzazogdXJsKC4uLy4uL2Fzc2V0cy9pY29ucy9ob3d0by5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMC44cmVtO1xyXG4gICAgICB3aWR0aDogMS41cmVtO1xyXG4gICAgICBoZWlnaHQ6IDEuNXJlbTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19 */" - -/***/ }), - -/***/ "./src/app/main/main.component.ts": -/*!****************************************!*\ - !*** ./src/app/main/main.component.ts ***! - \****************************************/ -/*! exports provided: MainComponent */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MainComponent", function() { return MainComponent; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/common */ "./node_modules/@angular/common/fesm5/common.js"); -/* harmony import */ var _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../_helpers/services/backend.service */ "./src/app/_helpers/services/backend.service.ts"); -/* harmony import */ var _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../_helpers/services/variables.service */ "./src/app/_helpers/services/variables.service.ts"); -/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm5/router.js"); -/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @ngx-translate/core */ "./node_modules/@ngx-translate/core/fesm5/ngx-translate-core.js"); -/* harmony import */ var _shared_constants__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../_shared/constants */ "./src/app/_shared/constants.ts"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - -var MainComponent = /** @class */ (function () { - function MainComponent(route, router, location, backend, variablesService, ngZone, translate) { - this.route = route; - this.router = router; - this.location = location; - this.backend = backend; - this.variablesService = variablesService; - this.ngZone = ngZone; - this.translate = translate; - this.prevUrl = ''; - } - MainComponent.prototype.ngOnInit = function () { - if (this.route.snapshot.queryParams && this.route.snapshot.queryParams.prevUrl) { - this.prevUrl = this.route.snapshot.queryParams.prevUrl; - } - }; - MainComponent.prototype.openWallet = function () { - var _this = this; - this.backend.openFileDialog(this.translate.instant('MAIN.CHOOSE_PATH'), '*', this.variablesService.settings.default_path, function (file_status, file_data) { - if (file_status) { - _this.variablesService.settings.default_path = file_data.path.substr(0, file_data.path.lastIndexOf('/')); - _this.ngZone.run(function () { - _this.router.navigate(['/open'], { queryParams: { path: file_data.path } }); - }); - } - else { - console.log(file_data['error_code']); - } - }); - }; - MainComponent.prototype.openInBrowser = function () { - this.backend.openUrlInBrowser(_shared_constants__WEBPACK_IMPORTED_MODULE_6__["CREATE_NEW_WALLET_HELP_PAGE"]); - }; - MainComponent.prototype.back = function () { - this.location.back(); - }; - MainComponent = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Component"])({ - selector: 'app-main', - template: __webpack_require__(/*! ./main.component.html */ "./src/app/main/main.component.html"), - styles: [__webpack_require__(/*! ./main.component.scss */ "./src/app/main/main.component.scss")] - }), - __metadata("design:paramtypes", [_angular_router__WEBPACK_IMPORTED_MODULE_4__["ActivatedRoute"], - _angular_router__WEBPACK_IMPORTED_MODULE_4__["Router"], - _angular_common__WEBPACK_IMPORTED_MODULE_1__["Location"], - _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_2__["BackendService"], - _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_3__["VariablesService"], - _angular_core__WEBPACK_IMPORTED_MODULE_0__["NgZone"], - _ngx_translate_core__WEBPACK_IMPORTED_MODULE_5__["TranslateService"]]) - ], MainComponent); - return MainComponent; -}()); - - - -/***/ }), - -/***/ "./src/app/messages/messages.component.html": -/*!**************************************************!*\ - !*** ./src/app/messages/messages.component.html ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = "
      \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
      {{ 'MESSAGES.ADDRESS' | translate }}{{ 'MESSAGES.MESSAGE' | translate }}
      \r\n {{message.address}}\r\n \r\n \r\n {{message.message}}\r\n
      \r\n\r\n
      \r\n" - -/***/ }), - -/***/ "./src/app/messages/messages.component.scss": -/*!**************************************************!*\ - !*** ./src/app/messages/messages.component.scss ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = ":host {\n width: 100%; }\n\n.wrap-table {\n margin: -3rem; }\n\n.wrap-table table tbody tr td:first-child {\n position: relative;\n padding-right: 5rem;\n width: 18rem; }\n\n.wrap-table table tbody tr td:first-child span {\n display: block;\n line-height: 3.5rem;\n max-width: 10rem; }\n\n.wrap-table table tbody tr td:first-child .icon {\n position: absolute;\n top: 50%;\n right: 1rem;\n transform: translateY(-50%);\n display: block;\n -webkit-mask: url('alert.svg') no-repeat 0;\n mask: url('alert.svg') no-repeat 0;\n width: 1.2rem;\n height: 1.2rem; }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbWVzc2FnZXMvRDpcXFByb2plY3RcXFdPUktfTkVXXFx6YW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFwcFxcbWVzc2FnZXNcXG1lc3NhZ2VzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsV0FBVyxFQUFBOztBQUdiO0VBQ0UsYUFBYSxFQUFBOztBQURmO0lBWVksa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixZQUFZLEVBQUE7O0FBZHhCO01BaUJjLGNBQWM7TUFDZCxtQkFBbUI7TUFDbkIsZ0JBQWdCLEVBQUE7O0FBbkI5QjtNQXVCYyxrQkFBa0I7TUFDbEIsUUFBUTtNQUNSLFdBQVc7TUFDWCwyQkFBMkI7TUFDM0IsY0FBYztNQUNkLDBDQUFtRDtjQUFuRCxrQ0FBbUQ7TUFDbkQsYUFBYTtNQUNiLGNBQWMsRUFBQSIsImZpbGUiOiJzcmMvYXBwL21lc3NhZ2VzL21lc3NhZ2VzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3Qge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4ud3JhcC10YWJsZSB7XHJcbiAgbWFyZ2luOiAtM3JlbTtcclxuXHJcbiAgdGFibGUge1xyXG5cclxuICAgIHRib2R5IHtcclxuXHJcbiAgICAgIHRyIHtcclxuXHJcbiAgICAgICAgdGQge1xyXG5cclxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVyZW07XHJcbiAgICAgICAgICAgIHdpZHRoOiAxOHJlbTtcclxuXHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzLjVyZW07XHJcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMHJlbTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICByaWdodDogMXJlbTtcclxuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgbWFzazogdXJsKC4uLy4uL2Fzc2V0cy9pY29ucy9hbGVydC5zdmcpIG5vLXJlcGVhdCAwO1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAxLjJyZW07XHJcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxLjJyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19 */" - -/***/ }), - -/***/ "./src/app/messages/messages.component.ts": -/*!************************************************!*\ - !*** ./src/app/messages/messages.component.ts ***! - \************************************************/ -/*! exports provided: MessagesComponent */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MessagesComponent", function() { return MessagesComponent; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - -var MessagesComponent = /** @class */ (function () { - function MessagesComponent() { - this.messages = [ - { - is_new: true, - address: '@bitmap', - message: 'No more miners for you!' - }, - { - is_new: false, - address: 'Hjkwey36gHasdhkajshd4bxnb5mcvowyefb2633FdsFGGWbb', - message: 'Hey! What’s with our BBR deal?' - }, - { - is_new: false, - address: '@john', - message: 'I’m coming!' - } - ]; - } - MessagesComponent.prototype.ngOnInit = function () { }; - MessagesComponent = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Component"])({ - selector: 'app-messages', - template: __webpack_require__(/*! ./messages.component.html */ "./src/app/messages/messages.component.html"), - styles: [__webpack_require__(/*! ./messages.component.scss */ "./src/app/messages/messages.component.scss")] - }), - __metadata("design:paramtypes", []) - ], MessagesComponent); - return MessagesComponent; -}()); - - - -/***/ }), - -/***/ "./src/app/open-wallet-modal/open-wallet-modal.component.html": -/*!********************************************************************!*\ - !*** ./src/app/open-wallet-modal/open-wallet-modal.component.html ***! - \********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = "
      \r\n

      {{ 'OPEN_WALLET.MODAL.TITLE' | translate }}

      \r\n
      \r\n
      {{ wallet.name }}
      \r\n
      {{ wallet.path }}
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n {{ 'OPEN_WALLET.MODAL.NOT_FOUND' | translate }}\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n" - -/***/ }), - -/***/ "./src/app/open-wallet-modal/open-wallet-modal.component.scss": -/*!********************************************************************!*\ - !*** ./src/app/open-wallet-modal/open-wallet-modal.component.scss ***! - \********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = ":host {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: rgba(255, 255, 255, 0.25); }\n\n.modal {\n display: flex;\n flex-direction: column;\n background-position: center;\n background-size: 200%;\n padding: 2rem;\n min-width: 34rem;\n max-width: 64rem; }\n\n.modal .title {\n font-size: 1.8rem;\n text-align: center; }\n\n.modal .open-form .wallet-path {\n font-size: 1.3rem;\n margin: 5rem 0 2rem;\n word-wrap: break-word;\n line-height: 2rem; }\n\n.modal .open-form .wrap-button {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin: 2rem -2rem 0; }\n\n.modal .open-form .wrap-button button {\n flex: 1 0 0;\n margin: 0 2rem; }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvb3Blbi13YWxsZXQtbW9kYWwvRDpcXFByb2plY3RcXFdPUktfTkVXXFx6YW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFwcFxcb3Blbi13YWxsZXQtbW9kYWxcXG9wZW4td2FsbGV0LW1vZGFsLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsZUFBZTtFQUNmLE1BQU07RUFDTixTQUFTO0VBQ1QsT0FBTztFQUNQLFFBQVE7RUFDUixhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLHVCQUF1QjtFQUN2QixxQ0FBcUMsRUFBQTs7QUFHdkM7RUFDRSxhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLDJCQUEyQjtFQUMzQixxQkFBcUI7RUFDckIsYUFBYTtFQUNiLGdCQUFnQjtFQUNoQixnQkFBZ0IsRUFBQTs7QUFQbEI7SUFVSSxpQkFBaUI7SUFDakIsa0JBQWtCLEVBQUE7O0FBWHRCO0lBaUJNLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIscUJBQXFCO0lBQ3JCLGlCQUFpQixFQUFBOztBQXBCdkI7SUF3Qk0sYUFBYTtJQUNiLG1CQUFtQjtJQUNuQiw4QkFBOEI7SUFDOUIsb0JBQW9CLEVBQUE7O0FBM0IxQjtNQThCUSxXQUFXO01BQ1gsY0FBZSxFQUFBIiwiZmlsZSI6InNyYy9hcHAvb3Blbi13YWxsZXQtbW9kYWwvb3Blbi13YWxsZXQtbW9kYWwuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcclxufVxyXG5cclxuLm1vZGFsIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gIGJhY2tncm91bmQtc2l6ZTogMjAwJTtcclxuICBwYWRkaW5nOiAycmVtO1xyXG4gIG1pbi13aWR0aDogMzRyZW07XHJcbiAgbWF4LXdpZHRoOiA2NHJlbTtcclxuXHJcbiAgLnRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxuXHJcbiAgLm9wZW4tZm9ybSB7XHJcblxyXG4gICAgLndhbGxldC1wYXRoIHtcclxuICAgICAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgICAgIG1hcmdpbjogNXJlbSAwIDJyZW07XHJcbiAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDJyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLndyYXAtYnV0dG9uIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICBtYXJnaW46IDJyZW0gLTJyZW0gMDtcclxuXHJcbiAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgZmxleDogMSAwIDA7XHJcbiAgICAgICAgbWFyZ2luOiAwIDJyZW0gO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ== */" - -/***/ }), - -/***/ "./src/app/open-wallet-modal/open-wallet-modal.component.ts": -/*!******************************************************************!*\ - !*** ./src/app/open-wallet-modal/open-wallet-modal.component.ts ***! - \******************************************************************/ -/*! exports provided: OpenWalletModalComponent */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "OpenWalletModalComponent", function() { return OpenWalletModalComponent; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../_helpers/services/variables.service */ "./src/app/_helpers/services/variables.service.ts"); -/* harmony import */ var _helpers_models_wallet_model__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../_helpers/models/wallet.model */ "./src/app/_helpers/models/wallet.model.ts"); -/* harmony import */ var _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../_helpers/services/backend.service */ "./src/app/_helpers/services/backend.service.ts"); -/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @ngx-translate/core */ "./node_modules/@ngx-translate/core/fesm5/ngx-translate-core.js"); -/* harmony import */ var _helpers_services_modal_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../_helpers/services/modal.service */ "./src/app/_helpers/services/modal.service.ts"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - -var OpenWalletModalComponent = /** @class */ (function () { - function OpenWalletModalComponent(variablesService, backend, translate, modalService, ngZone) { - this.variablesService = variablesService; - this.backend = backend; - this.translate = translate; - this.modalService = modalService; - this.ngZone = ngZone; - this.wallet = { - name: '', - path: '', - pass: '', - notFound: false, - emptyPass: false - }; - } - OpenWalletModalComponent.prototype.ngOnInit = function () { - if (this.wallets.length) { - this.wallet = this.wallets[0]; - this.wallet.pass = ''; - } - }; - OpenWalletModalComponent.prototype.openWallet = function () { - var _this = this; - if (this.wallets.length === 0) { - return; - } - this.backend.openWallet(this.wallet.path, this.wallet.pass, this.variablesService.count, false, function (open_status, open_data, open_error) { - if (open_error && open_error === 'FILE_NOT_FOUND') { - _this.ngZone.run(function () { - _this.wallet.notFound = true; - }); - var error_translate = _this.translate.instant('OPEN_WALLET.FILE_NOT_FOUND1'); - error_translate += ':
      ' + _this.wallet.path; - error_translate += _this.translate.instant('OPEN_WALLET.FILE_NOT_FOUND2'); - _this.modalService.prepareModal('error', error_translate); - } - else { - if (open_status || open_error === 'FILE_RESTORED') { - var exists_1 = false; - _this.variablesService.wallets.forEach(function (wallet) { - if (wallet.address === open_data['wi'].address) { - exists_1 = true; - } - }); - if (exists_1) { - _this.modalService.prepareModal('error', 'OPEN_WALLET.WITH_ADDRESS_ALREADY_OPEN'); - _this.backend.closeWallet(open_data.wallet_id); - } - else { - var new_wallet_1 = new _helpers_models_wallet_model__WEBPACK_IMPORTED_MODULE_2__["Wallet"](open_data.wallet_id, _this.wallet.name, _this.wallet.pass, open_data['wi'].path, open_data['wi'].address, open_data['wi'].balance, open_data['wi'].unlocked_balance, open_data['wi'].mined_total, open_data['wi'].tracking_hey); - new_wallet_1.alias = _this.backend.getWalletAlias(new_wallet_1.address); - new_wallet_1.is_auditable = open_data['wi'].is_auditable; - new_wallet_1.is_watch_only = open_data['wi'].is_watch_only; - new_wallet_1.currentPage = 1; - new_wallet_1.exclude_mining_txs = false; - if (open_data.recent_history && open_data.recent_history.history) { - new_wallet_1.total_history_item = open_data.recent_history.total_history_items; - new_wallet_1.totalPages = Math.ceil(open_data.recent_history.total_history_items / _this.variablesService.count); - new_wallet_1.totalPages > _this.variablesService.maxPages - ? new_wallet_1.pages = new Array(5).fill(1).map(function (value, index) { return value + index; }) - : new_wallet_1.pages = new Array(new_wallet_1.totalPages).fill(1).map(function (value, index) { return value + index; }); - new_wallet_1.prepareHistory(open_data.recent_history.history); - } - else { - new_wallet_1.total_history_item = 0; - new_wallet_1.pages = new Array(1).fill(1); - new_wallet_1.totalPages = 1; - } - _this.backend.getContracts(open_data.wallet_id, function (contracts_status, contracts_data) { - if (contracts_status && contracts_data.hasOwnProperty('contracts')) { - _this.ngZone.run(function () { - new_wallet_1.prepareContractsAfterOpen(contracts_data.contracts, _this.variablesService.exp_med_ts, _this.variablesService.height_app, _this.variablesService.settings.viewedContracts, _this.variablesService.settings.notViewedContracts); - }); - } - }); - _this.variablesService.wallets.push(new_wallet_1); - _this.backend.runWallet(open_data.wallet_id); - _this.skipWallet(); - } - } - } - }); - }; - OpenWalletModalComponent.prototype.skipWallet = function () { - var _this = this; - this.ngZone.run(function () { - if (_this.wallets.length) { - _this.wallets.splice(0, 1); - _this.ngOnInit(); - } - }); - }; - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Input"])(), - __metadata("design:type", Object) - ], OpenWalletModalComponent.prototype, "wallets", void 0); - OpenWalletModalComponent = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Component"])({ - selector: 'app-open-wallet-modal', - template: __webpack_require__(/*! ./open-wallet-modal.component.html */ "./src/app/open-wallet-modal/open-wallet-modal.component.html"), - styles: [__webpack_require__(/*! ./open-wallet-modal.component.scss */ "./src/app/open-wallet-modal/open-wallet-modal.component.scss")] - }), - __metadata("design:paramtypes", [_helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_1__["VariablesService"], - _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_3__["BackendService"], - _ngx_translate_core__WEBPACK_IMPORTED_MODULE_4__["TranslateService"], - _helpers_services_modal_service__WEBPACK_IMPORTED_MODULE_5__["ModalService"], - _angular_core__WEBPACK_IMPORTED_MODULE_0__["NgZone"]]) - ], OpenWalletModalComponent); - return OpenWalletModalComponent; -}()); - - - -/***/ }), - -/***/ "./src/app/open-wallet/open-wallet.component.html": -/*!********************************************************!*\ - !*** ./src/app/open-wallet/open-wallet.component.html ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = "
      \r\n\r\n
      \r\n
      \r\n {{ 'BREADCRUMBS.ADD_WALLET' | translate }}\r\n {{ 'BREADCRUMBS.OPEN_WALLET' | translate }}\r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n {{ 'OPEN_WALLET.FORM_ERRORS.NAME_REQUIRED' | translate }}\r\n
      \r\n
      \r\n {{ 'OPEN_WALLET.FORM_ERRORS.NAME_DUPLICATE' | translate }}\r\n
      \r\n
      \r\n
      = variablesService.maxWalletNameLength\">\r\n {{ 'OPEN_WALLET.FORM_ERRORS.MAX_LENGTH' | translate }}\r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n\r\n" - -/***/ }), - -/***/ "./src/app/open-wallet/open-wallet.component.scss": -/*!********************************************************!*\ - !*** ./src/app/open-wallet/open-wallet.component.scss ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = ".form-open {\n margin: 2.4rem 0;\n width: 50%; }\n .form-open .wrap-buttons {\n display: flex;\n margin: 2.5rem -0.7rem; }\n .form-open .wrap-buttons button {\n margin: 0 0.7rem; }\n .form-open .wrap-buttons button.create-button {\n flex: 1 1 50%; }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvb3Blbi13YWxsZXQvRDpcXFByb2plY3RcXFdPUktfTkVXXFx6YW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFwcFxcb3Blbi13YWxsZXRcXG9wZW4td2FsbGV0LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsZ0JBQWdCO0VBQ2hCLFVBQVUsRUFBQTtFQUZaO0lBS0ksYUFBYTtJQUNiLHNCQUFzQixFQUFBO0VBTjFCO01BU00sZ0JBQWdCLEVBQUE7RUFUdEI7UUFZUSxhQUFhLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9vcGVuLXdhbGxldC9vcGVuLXdhbGxldC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5mb3JtLW9wZW4ge1xyXG4gIG1hcmdpbjogMi40cmVtIDA7XHJcbiAgd2lkdGg6IDUwJTtcclxuXHJcbiAgLndyYXAtYnV0dG9ucyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWFyZ2luOiAyLjVyZW0gLTAuN3JlbTtcclxuXHJcbiAgICBidXR0b24ge1xyXG4gICAgICBtYXJnaW46IDAgMC43cmVtO1xyXG5cclxuICAgICAgJi5jcmVhdGUtYnV0dG9uIHtcclxuICAgICAgICBmbGV4OiAxIDEgNTAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ== */" - -/***/ }), - -/***/ "./src/app/open-wallet/open-wallet.component.ts": -/*!******************************************************!*\ - !*** ./src/app/open-wallet/open-wallet.component.ts ***! - \******************************************************/ -/*! exports provided: OpenWalletComponent */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "OpenWalletComponent", function() { return OpenWalletComponent; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/forms */ "./node_modules/@angular/forms/fesm5/forms.js"); -/* harmony import */ var _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../_helpers/services/backend.service */ "./src/app/_helpers/services/backend.service.ts"); -/* harmony import */ var _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../_helpers/services/variables.service */ "./src/app/_helpers/services/variables.service.ts"); -/* harmony import */ var _helpers_services_modal_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../_helpers/services/modal.service */ "./src/app/_helpers/services/modal.service.ts"); -/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm5/router.js"); -/* harmony import */ var _helpers_models_wallet_model__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../_helpers/models/wallet.model */ "./src/app/_helpers/models/wallet.model.ts"); -/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @ngx-translate/core */ "./node_modules/@ngx-translate/core/fesm5/ngx-translate-core.js"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - - -var OpenWalletComponent = /** @class */ (function () { - function OpenWalletComponent(route, router, backend, variablesService, modalService, ngZone, translate) { - var _this = this; - this.route = route; - this.router = router; - this.backend = backend; - this.variablesService = variablesService; - this.modalService = modalService; - this.ngZone = ngZone; - this.translate = translate; - this.openForm = new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormGroup"]({ - name: new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormControl"]('', [_angular_forms__WEBPACK_IMPORTED_MODULE_1__["Validators"].required, function (g) { - for (var i = 0; i < _this.variablesService.wallets.length; i++) { - if (g.value === _this.variablesService.wallets[i].name) { - return { 'duplicate': true }; - } - } - return null; - }]), - password: new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormControl"]('') - }); - } - OpenWalletComponent.prototype.ngOnInit = function () { - var _this = this; - this.queryRouting = this.route.queryParams.subscribe(function (params) { - if (params.path) { - _this.filePath = params.path; - var filename = ''; - if (params.path.lastIndexOf('.') === -1) { - filename = params.path.substr(params.path.lastIndexOf('/') + 1); - } - else { - filename = params.path.substr(params.path.lastIndexOf('/') + 1, params.path.lastIndexOf('.') - 1 - params.path.lastIndexOf('/')); - } - if (filename.length > 25) { - filename = filename.slice(0, 25); - } - _this.openForm.get('name').setValue(filename); - _this.openForm.get('name').markAsTouched(); - } - }); - }; - OpenWalletComponent.prototype.openWallet = function () { - var _this = this; - if (this.openForm.valid && this.openForm.get('name').value.length <= this.variablesService.maxWalletNameLength) { - this.backend.openWallet(this.filePath, this.openForm.get('password').value, this.variablesService.count, false, function (open_status, open_data, open_error) { - if (open_error && open_error === 'FILE_NOT_FOUND') { - var error_translate = _this.translate.instant('OPEN_WALLET.FILE_NOT_FOUND1'); - error_translate += ':
      ' + _this.filePath; - error_translate += _this.translate.instant('OPEN_WALLET.FILE_NOT_FOUND2'); - _this.modalService.prepareModal('error', error_translate); - } - else { - if (open_status || open_error === 'FILE_RESTORED') { - var exists_1 = false; - _this.variablesService.wallets.forEach(function (wallet) { - if (wallet.address === open_data['wi'].address) { - exists_1 = true; - } - }); - if (exists_1) { - _this.modalService.prepareModal('error', 'OPEN_WALLET.WITH_ADDRESS_ALREADY_OPEN'); - _this.backend.closeWallet(open_data.wallet_id, function () { - _this.ngZone.run(function () { - _this.router.navigate(['/']); - }); - }); - } - else { - var new_wallet_1 = new _helpers_models_wallet_model__WEBPACK_IMPORTED_MODULE_6__["Wallet"](open_data.wallet_id, _this.openForm.get('name').value, _this.openForm.get('password').value, open_data['wi'].path, open_data['wi'].address, open_data['wi'].balance, open_data['wi'].unlocked_balance, open_data['wi'].mined_total, open_data['wi'].tracking_hey); - new_wallet_1.alias = _this.backend.getWalletAlias(new_wallet_1.address); - new_wallet_1.currentPage = 1; - new_wallet_1.open_from_exist = true; - new_wallet_1.exclude_mining_txs = false; - new_wallet_1.is_auditable = open_data['wi'].is_auditable; - new_wallet_1.is_watch_only = open_data['wi'].is_watch_only; - if (open_data.recent_history && open_data.recent_history.history) { - new_wallet_1.total_history_item = open_data.recent_history.total_history_items; - new_wallet_1.totalPages = Math.ceil(open_data.recent_history.total_history_items / _this.variablesService.count); - new_wallet_1.totalPages > _this.variablesService.maxPages - ? new_wallet_1.pages = new Array(5).fill(1).map(function (value, index) { return value + index; }) - : new_wallet_1.pages = new Array(new_wallet_1.totalPages).fill(1).map(function (value, index) { return value + index; }); - new_wallet_1.prepareHistory(open_data.recent_history.history); - } - else { - new_wallet_1.total_history_item = 0; - new_wallet_1.pages = new Array(1).fill(1); - new_wallet_1.totalPages = 1; - } - _this.backend.getContracts(open_data.wallet_id, function (contracts_status, contracts_data) { - if (contracts_status && contracts_data.hasOwnProperty('contracts')) { - _this.ngZone.run(function () { - new_wallet_1.prepareContractsAfterOpen(contracts_data.contracts, _this.variablesService.exp_med_ts, _this.variablesService.height_app, _this.variablesService.settings.viewedContracts, _this.variablesService.settings.notViewedContracts); - }); - } - }); - _this.variablesService.wallets.push(new_wallet_1); - _this.backend.runWallet(open_data.wallet_id, function (run_status, run_data) { - if (run_status) { - if (_this.variablesService.appPass) { - _this.backend.storeSecureAppData(); - } - _this.ngZone.run(function () { - _this.router.navigate(['/wallet/' + open_data.wallet_id]); - }); - } - else { - console.log(run_data['error_code']); - } - }); - } - } - } - }); - } - }; - OpenWalletComponent.prototype.ngOnDestroy = function () { - this.queryRouting.unsubscribe(); - }; - OpenWalletComponent = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Component"])({ - selector: 'app-open-wallet', - template: __webpack_require__(/*! ./open-wallet.component.html */ "./src/app/open-wallet/open-wallet.component.html"), - styles: [__webpack_require__(/*! ./open-wallet.component.scss */ "./src/app/open-wallet/open-wallet.component.scss")] - }), - __metadata("design:paramtypes", [_angular_router__WEBPACK_IMPORTED_MODULE_5__["ActivatedRoute"], - _angular_router__WEBPACK_IMPORTED_MODULE_5__["Router"], - _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_2__["BackendService"], - _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_3__["VariablesService"], - _helpers_services_modal_service__WEBPACK_IMPORTED_MODULE_4__["ModalService"], - _angular_core__WEBPACK_IMPORTED_MODULE_0__["NgZone"], - _ngx_translate_core__WEBPACK_IMPORTED_MODULE_7__["TranslateService"]]) - ], OpenWalletComponent); - return OpenWalletComponent; -}()); - - - -/***/ }), - -/***/ "./src/app/purchase/purchase.component.html": -/*!**************************************************!*\ - !*** ./src/app/purchase/purchase.component.html ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = "
      \r\n
      \r\n {{ 'BREADCRUMBS.CONTRACTS' | translate }}\r\n {{ 'BREADCRUMBS.NEW_PURCHASE' | translate }}\r\n {{ 'BREADCRUMBS.OLD_PURCHASE' | translate }}\r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n {{ 'PURCHASE.FORM_ERRORS.DESC_REQUIRED' | translate }}\r\n
      \r\n
      \r\n
      = 100\">\r\n
      \r\n {{ 'PURCHASE.FORM_ERRORS.COMMENT_MAXIMUM' | translate }}\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      {{item.name}}
      \r\n
      \r\n
      \r\n
      \r\n {{ 'PURCHASE.FORM_ERRORS.SELLER_REQUIRED' | translate }}\r\n
      \r\n
      \r\n {{ 'PURCHASE.FORM_ERRORS.SELLER_NOT_VALID' | translate }}\r\n
      \r\n
      \r\n {{ 'PURCHASE.FORM_ERRORS.SELLER_SAME' | translate }}\r\n
      \r\n
      \r\n {{ 'PURCHASE.FORM_ERRORS.ALIAS_NOT_VALID' | translate }}\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n {{ 'PURCHASE.FORM_ERRORS.AMOUNT_REQUIRED' | translate }}\r\n
      \r\n
      \r\n {{ 'PURCHASE.FORM_ERRORS.AMOUNT_ZERO' | translate }}\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n {{ 'PURCHASE.FORM_ERRORS.YOUR_DEPOSIT_REQUIRED' | translate }}\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n {{ 'PURCHASE.FORM_ERRORS.SELLER_DEPOSIT_REQUIRED' | translate }}\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      = 100\">\r\n
      \r\n {{ 'PURCHASE.FORM_ERRORS.COMMENT_MAXIMUM' | translate }}\r\n
      \r\n
      \r\n
      \r\n\r\n \r\n\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n 1 {{ 'PURCHASE.HOUR' | translate }}\r\n \r\n {{title}} {{ 'PURCHASE.HOURS' | translate }}\r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n \r\n\r\n
      \r\n \r\n {{ 'PURCHASE.NEED_MONEY' | translate }}\r\n \r\n
      \r\n\r\n
      \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n
      \r\n\r\n
      \r\n
      {{'PURCHASE.NULLIFY_QUESTION' | translate}}
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n
      {{ 'PURCHASE.WAITING_TIME_QUESTION' | translate }}
      \r\n \r\n
      \r\n \r\n 1 {{ 'PURCHASE.HOUR' | translate }}\r\n \r\n {{title}} {{ 'PURCHASE.HOURS' | translate }}\r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n {{ 'PURCHASE.STATUS_MESSAGES.NEW_PURCHASE' | translate }}\r\n \r\n\r\n \r\n {{ 'PURCHASE.STATUS_MESSAGES.WAITING_SELLER' | translate }}\r\n\r\n {{ 'PURCHASE.STATUS_MESSAGES.IGNORED_SELLER' | translate }}\r\n\r\n {{ 'PURCHASE.STATUS_MESSAGES.WAITING_DELIVERY' | translate }}\r\n\r\n {{ 'PURCHASE.STATUS_MESSAGES.IGNORED_CANCEL_SELLER' | translate }}\r\n\r\n {{ 'PURCHASE.STATUS_MESSAGES.EXPIRED' | translate }}\r\n\r\n {{ 'PURCHASE.STATUS_MESSAGES.WAITING_SELLER' | translate }}\r\n\r\n \r\n {{ 'PURCHASE.STATUS_MESSAGES.WAITING_CONFIRMATION' | translate }}\r\n (0/10)\r\n ({{variablesService.height_app - currentContract.height}}/10)\r\n \r\n\r\n {{ 'PURCHASE.STATUS_MESSAGES.COMPLETED' | translate }}\r\n\r\n \r\n {{ 'PURCHASE.STATUS_MESSAGES.NOT_RECEIVED' | translate }}. {{ 'PURCHASE.STATUS_MESSAGES.NULLIFIED' | translate }}\r\n \r\n\r\n {{ 'PURCHASE.STATUS_MESSAGES.PROPOSAL_CANCEL_SELLER' | translate }}\r\n\r\n {{ 'PURCHASE.STATUS_MESSAGES.CANCELLED' | translate }}\r\n\r\n \r\n {{ 'PURCHASE.STATUS_MESSAGES.BEING_CANCELLED' | translate }}\r\n (0/10)\r\n ({{variablesService.height_app - currentContract.height}}/10)\r\n \r\n \r\n\r\n \r\n {{ 'PURCHASE.STATUS_MESSAGES.WAITING_BUYER' | translate }}\r\n\r\n {{ 'PURCHASE.STATUS_MESSAGES.IGNORED_BUYER' | translate }}\r\n\r\n {{ 'PURCHASE.STATUS_MESSAGES.IGNORED_CANCEL_BUYER' | translate }}\r\n\r\n {{ 'PURCHASE.STATUS_MESSAGES.EXPIRED' | translate }}\r\n\r\n {{ 'PURCHASE.STATUS_MESSAGES.WAITING_DELIVERY' | translate }}\r\n\r\n \r\n {{ 'PURCHASE.STATUS_MESSAGES.WAITING_CONFIRMATION' | translate }}\r\n (0/10)\r\n ({{variablesService.height_app - currentContract.height}}/10)\r\n \r\n\r\n {{ 'PURCHASE.STATUS_MESSAGES.COMPLETED' | translate }}\r\n\r\n \r\n {{ 'PURCHASE.STATUS_MESSAGES.NOT_RECEIVED' | translate }}. {{ 'PURCHASE.STATUS_MESSAGES.NULLIFIED' | translate }}\r\n \r\n\r\n {{ 'PURCHASE.STATUS_MESSAGES.PROPOSAL_CANCEL_BUYER' | translate }}\r\n\r\n {{ 'PURCHASE.STATUS_MESSAGES.CANCELLED' | translate }}\r\n\r\n \r\n {{ 'PURCHASE.STATUS_MESSAGES.BEING_CANCELLED' | translate }}\r\n (0/10)\r\n ({{variablesService.height_app - currentContract.height}}/10)\r\n \r\n \r\n\r\n
      \r\n
      \r\n {{currentContract.expiration_time | contractTimeLeft: 0}}\r\n {{currentContract.cancel_expiration_time | contractTimeLeft: 2}}\r\n {{currentContract.expiration_time | contractTimeLeft: 1}}\r\n {{currentContract.cancel_expiration_time | contractTimeLeft: 1}}\r\n
      \r\n
      \r\n" - -/***/ }), - -/***/ "./src/app/purchase/purchase.component.scss": -/*!**************************************************!*\ - !*** ./src/app/purchase/purchase.component.scss ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = ":host {\n display: flex;\n flex-direction: column;\n width: 100%; }\n\n.head {\n flex: 0 0 auto;\n box-sizing: content-box;\n margin: -3rem -3rem 0; }\n\n.form-purchase {\n flex: 1 1 auto;\n margin: 1.5rem -3rem 0;\n padding: 0 3rem;\n overflow-y: overlay; }\n\n.form-purchase .input-blocks-row {\n display: flex; }\n\n.form-purchase .input-blocks-row .input-block {\n flex-basis: 50%; }\n\n.form-purchase .input-blocks-row .input-block:first-child {\n margin-right: 1.5rem; }\n\n.form-purchase .input-blocks-row .input-block:last-child {\n margin-left: 1.5rem; }\n\n.form-purchase .input-blocks-row .input-block .checkbox-block {\n display: flex; }\n\n.form-purchase .purchase-select {\n display: flex;\n align-items: center;\n background: transparent;\n border: none;\n font-size: 1.3rem;\n line-height: 1.3rem;\n margin: 1.5rem 0 0;\n padding: 0;\n width: 100%;\n max-width: 15rem;\n height: 1.3rem; }\n\n.form-purchase .purchase-select .arrow {\n margin-left: 1rem;\n width: 0.8rem;\n height: 0.8rem; }\n\n.form-purchase .purchase-select .arrow.down {\n -webkit-mask: url('arrow-down.svg') no-repeat center;\n mask: url('arrow-down.svg') no-repeat center; }\n\n.form-purchase .purchase-select .arrow.up {\n -webkit-mask: url('arrow-up.svg') no-repeat center;\n mask: url('arrow-up.svg') no-repeat center; }\n\n.form-purchase .additional-details {\n display: flex;\n margin-top: 1.5rem;\n padding: 0.5rem 0 2rem; }\n\n.form-purchase .additional-details > div {\n flex-basis: 25%; }\n\n.form-purchase .additional-details > div:first-child {\n padding-left: 1.5rem;\n padding-right: 1rem; }\n\n.form-purchase .additional-details > div:last-child {\n padding-left: 1rem;\n padding-right: 1.5rem; }\n\n.form-purchase .purchase-states {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n font-size: 1.2rem;\n line-height: 2.9rem; }\n\n.form-purchase .send-button {\n margin: 2.4rem 0;\n width: 100%;\n max-width: 15rem; }\n\n.form-purchase .purchase-buttons {\n display: flex;\n justify-content: flex-start;\n margin: 2.4rem -0.5rem; }\n\n.form-purchase .purchase-buttons button {\n flex: 0 1 33%;\n margin: 0 0.5rem; }\n\n.form-purchase .nullify-block-row {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center; }\n\n.form-purchase .nullify-block-row .nullify-block-buttons {\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 1rem 0;\n width: 100%; }\n\n.form-purchase .nullify-block-row .nullify-block-buttons button {\n flex: 0 1 25%;\n margin: 0 0.5rem; }\n\n.form-purchase .time-cancel-block-row {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center; }\n\n.form-purchase .time-cancel-block-row .time-cancel-block-question {\n margin-bottom: 1rem; }\n\n.form-purchase .time-cancel-block-row .input-block {\n width: 25%; }\n\n.form-purchase .time-cancel-block-row label {\n margin-bottom: 1rem; }\n\n.form-purchase .time-cancel-block-row .time-cancel-block-buttons {\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 1rem 0;\n width: 100%; }\n\n.form-purchase .time-cancel-block-row .time-cancel-block-buttons button {\n flex: 0 1 25%;\n margin: 0 0.5rem; }\n\n.progress-bar-container {\n position: absolute;\n bottom: 0;\n left: 0;\n padding: 0 3rem;\n width: 100%;\n height: 3rem; }\n\n.progress-bar-container .progress-bar {\n position: absolute;\n top: -0.7rem;\n left: 0;\n margin: 0 3rem;\n width: calc(100% - 6rem);\n height: 0.7rem; }\n\n.progress-bar-container .progress-bar .progress-bar-full {\n height: 0.7rem; }\n\n.progress-bar-container .progress-labels {\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 1.2rem;\n height: 100%; }\n\n.progress-bar-container .progress-time {\n position: absolute;\n top: -3rem;\n left: 50%;\n transform: translateX(-50%);\n font-size: 1.2rem; }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcHVyY2hhc2UvRDpcXFByb2plY3RcXFdPUktfTkVXXFx6YW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFwcFxccHVyY2hhc2VcXHB1cmNoYXNlLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixXQUFXLEVBQUE7O0FBR2I7RUFDRSxjQUFjO0VBQ2QsdUJBQXVCO0VBQ3ZCLHFCQUFxQixFQUFBOztBQUd2QjtFQUNFLGNBQWM7RUFDZCxzQkFBc0I7RUFDdEIsZUFBZTtFQUNmLG1CQUFtQixFQUFBOztBQUpyQjtJQU9JLGFBQWEsRUFBQTs7QUFQakI7TUFVTSxlQUFlLEVBQUE7O0FBVnJCO1FBYVEsb0JBQW9CLEVBQUE7O0FBYjVCO1FBaUJRLG1CQUFtQixFQUFBOztBQWpCM0I7UUFxQlEsYUFBYSxFQUFBOztBQXJCckI7SUEyQkksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIsWUFBWTtJQUNaLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsa0JBQWtCO0lBQ2xCLFVBQVU7SUFDVixXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGNBQWMsRUFBQTs7QUFyQ2xCO01Bd0NNLGlCQUFpQjtNQUNqQixhQUFhO01BQ2IsY0FBYyxFQUFBOztBQTFDcEI7UUE2Q1Esb0RBQTREO2dCQUE1RCw0Q0FBNEQsRUFBQTs7QUE3Q3BFO1FBaURRLGtEQUEwRDtnQkFBMUQsMENBQTBELEVBQUE7O0FBakRsRTtJQXVESSxhQUFhO0lBQ2Isa0JBQWtCO0lBQ2xCLHNCQUFzQixFQUFBOztBQXpEMUI7TUE0RE0sZUFBZSxFQUFBOztBQTVEckI7UUErRFEsb0JBQW9CO1FBQ3BCLG1CQUFtQixFQUFBOztBQWhFM0I7UUFvRVEsa0JBQWtCO1FBQ2xCLHFCQUFxQixFQUFBOztBQXJFN0I7SUEyRUksYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLGlCQUFpQjtJQUNqQixtQkFBbUIsRUFBQTs7QUFoRnZCO0lBb0ZJLGdCQUFnQjtJQUNoQixXQUFXO0lBQ1gsZ0JBQWdCLEVBQUE7O0FBdEZwQjtJQTBGSSxhQUFhO0lBQ2IsMkJBQTJCO0lBQzNCLHNCQUFzQixFQUFBOztBQTVGMUI7TUErRk0sYUFBYTtNQUNiLGdCQUFnQixFQUFBOztBQWhHdEI7SUFxR0ksYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixtQkFBbUI7SUFDbkIsdUJBQXVCLEVBQUE7O0FBeEczQjtNQTJHTSxhQUFhO01BQ2IsbUJBQW1CO01BQ25CLHVCQUF1QjtNQUN2QixjQUFjO01BQ2QsV0FBVyxFQUFBOztBQS9HakI7UUFrSFEsYUFBYTtRQUNiLGdCQUFnQixFQUFBOztBQW5IeEI7SUF5SEksYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixtQkFBbUI7SUFDbkIsdUJBQXVCLEVBQUE7O0FBNUgzQjtNQStITSxtQkFBbUIsRUFBQTs7QUEvSHpCO01BbUlNLFVBQVUsRUFBQTs7QUFuSWhCO01BdUlNLG1CQUFtQixFQUFBOztBQXZJekI7TUEySU0sYUFBYTtNQUNiLG1CQUFtQjtNQUNuQix1QkFBdUI7TUFDdkIsY0FBYztNQUNkLFdBQVcsRUFBQTs7QUEvSWpCO1FBa0pRLGFBQWE7UUFDYixnQkFBZ0IsRUFBQTs7QUFPeEI7RUFDRSxrQkFBa0I7RUFDbEIsU0FBUztFQUNULE9BQU87RUFDUCxlQUFlO0VBQ2YsV0FBVztFQUNYLFlBQVksRUFBQTs7QUFOZDtJQVNJLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osT0FBTztJQUNQLGNBQWM7SUFDZCx3QkFBd0I7SUFDeEIsY0FBYyxFQUFBOztBQWRsQjtNQWlCTSxjQUFjLEVBQUE7O0FBakJwQjtJQXNCSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixpQkFBaUI7SUFDakIsWUFBWSxFQUFBOztBQTFCaEI7SUE4Qkksa0JBQWtCO0lBQ2xCLFVBQVU7SUFDVixTQUFTO0lBQ1QsMkJBQTJCO0lBQzNCLGlCQUFpQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvcHVyY2hhc2UvcHVyY2hhc2UuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uaGVhZCB7XHJcbiAgZmxleDogMCAwIGF1dG87XHJcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgbWFyZ2luOiAtM3JlbSAtM3JlbSAwO1xyXG59XHJcblxyXG4uZm9ybS1wdXJjaGFzZSB7XHJcbiAgZmxleDogMSAxIGF1dG87XHJcbiAgbWFyZ2luOiAxLjVyZW0gLTNyZW0gMDtcclxuICBwYWRkaW5nOiAwIDNyZW07XHJcbiAgb3ZlcmZsb3cteTogb3ZlcmxheTtcclxuXHJcbiAgLmlucHV0LWJsb2Nrcy1yb3cge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuXHJcbiAgICAuaW5wdXQtYmxvY2sge1xyXG4gICAgICBmbGV4LWJhc2lzOiA1MCU7XHJcblxyXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMS41cmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuY2hlY2tib3gtYmxvY2sge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5wdXJjaGFzZS1zZWxlY3Qge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuM3JlbTtcclxuICAgIG1hcmdpbjogMS41cmVtIDAgMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogMTVyZW07XHJcbiAgICBoZWlnaHQ6IDEuM3JlbTtcclxuXHJcbiAgICAuYXJyb3cge1xyXG4gICAgICBtYXJnaW4tbGVmdDogMXJlbTtcclxuICAgICAgd2lkdGg6IDAuOHJlbTtcclxuICAgICAgaGVpZ2h0OiAwLjhyZW07XHJcblxyXG4gICAgICAmLmRvd24ge1xyXG4gICAgICAgIG1hc2s6IHVybCh+c3JjL2Fzc2V0cy9pY29ucy9hcnJvdy1kb3duLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi51cCB7XHJcbiAgICAgICAgbWFzazogdXJsKH5zcmMvYXNzZXRzL2ljb25zL2Fycm93LXVwLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmFkZGl0aW9uYWwtZGV0YWlscyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xyXG4gICAgcGFkZGluZzogMC41cmVtIDAgMnJlbTtcclxuXHJcbiAgICA+IGRpdiB7XHJcbiAgICAgIGZsZXgtYmFzaXM6IDI1JTtcclxuXHJcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnB1cmNoYXNlLXN0YXRlcyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDIuOXJlbTtcclxuICB9XHJcblxyXG4gIC5zZW5kLWJ1dHRvbiB7XHJcbiAgICBtYXJnaW46IDIuNHJlbSAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDE1cmVtO1xyXG4gIH1cclxuXHJcbiAgLnB1cmNoYXNlLWJ1dHRvbnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIG1hcmdpbjogMi40cmVtIC0wLjVyZW07XHJcblxyXG4gICAgYnV0dG9uIHtcclxuICAgICAgZmxleDogMCAxIDMzJTtcclxuICAgICAgbWFyZ2luOiAwIDAuNXJlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5udWxsaWZ5LWJsb2NrLXJvdyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICAubnVsbGlmeS1ibG9jay1idXR0b25zIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIG1hcmdpbjogMXJlbSAwO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgZmxleDogMCAxIDI1JTtcclxuICAgICAgICBtYXJnaW46IDAgMC41cmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAudGltZS1jYW5jZWwtYmxvY2stcm93IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgIC50aW1lLWNhbmNlbC1ibG9jay1xdWVzdGlvbiB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLmlucHV0LWJsb2NrIHtcclxuICAgICAgd2lkdGg6IDI1JTtcclxuICAgIH1cclxuXHJcbiAgICBsYWJlbCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLnRpbWUtY2FuY2VsLWJsb2NrLWJ1dHRvbnMge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgbWFyZ2luOiAxcmVtIDA7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgYnV0dG9uIHtcclxuICAgICAgICBmbGV4OiAwIDEgMjUlO1xyXG4gICAgICAgIG1hcmdpbjogMCAwLjVyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG4ucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHBhZGRpbmc6IDAgM3JlbTtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDNyZW07XHJcblxyXG4gIC5wcm9ncmVzcy1iYXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAtMC43cmVtO1xyXG4gICAgbGVmdDogMDtcclxuICAgIG1hcmdpbjogMCAzcmVtO1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDZyZW0pO1xyXG4gICAgaGVpZ2h0OiAwLjdyZW07XHJcblxyXG4gICAgLnByb2dyZXNzLWJhci1mdWxsIHtcclxuICAgICAgaGVpZ2h0OiAwLjdyZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAucHJvZ3Jlc3MtbGFiZWxzIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICB9XHJcblxyXG4gIC5wcm9ncmVzcy10aW1lIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogLTNyZW07XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICB9XHJcbn1cclxuIl19 */" - -/***/ }), - -/***/ "./src/app/purchase/purchase.component.ts": -/*!************************************************!*\ - !*** ./src/app/purchase/purchase.component.ts ***! - \************************************************/ -/*! exports provided: PurchaseComponent */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PurchaseComponent", function() { return PurchaseComponent; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm5/router.js"); -/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/forms */ "./node_modules/@angular/forms/fesm5/forms.js"); -/* harmony import */ var _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../_helpers/services/backend.service */ "./src/app/_helpers/services/backend.service.ts"); -/* harmony import */ var _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../_helpers/services/variables.service */ "./src/app/_helpers/services/variables.service.ts"); -/* harmony import */ var _helpers_services_modal_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../_helpers/services/modal.service */ "./src/app/_helpers/services/modal.service.ts"); -/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/common */ "./node_modules/@angular/common/fesm5/common.js"); -/* harmony import */ var _helpers_pipes_int_to_money_pipe__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../_helpers/pipes/int-to-money.pipe */ "./src/app/_helpers/pipes/int-to-money.pipe.ts"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - - -var PurchaseComponent = /** @class */ (function () { - function PurchaseComponent(route, backend, variablesService, modalService, ngZone, location, intToMoneyPipe) { - var _this = this; - this.route = route; - this.backend = backend; - this.variablesService = variablesService; - this.modalService = modalService; - this.ngZone = ngZone; - this.location = location; - this.intToMoneyPipe = intToMoneyPipe; - this.isOpen = false; - this.localAliases = []; - this.newPurchase = false; - this.purchaseForm = new _angular_forms__WEBPACK_IMPORTED_MODULE_2__["FormGroup"]({ - description: new _angular_forms__WEBPACK_IMPORTED_MODULE_2__["FormControl"]('', _angular_forms__WEBPACK_IMPORTED_MODULE_2__["Validators"].required), - seller: new _angular_forms__WEBPACK_IMPORTED_MODULE_2__["FormControl"]('', [_angular_forms__WEBPACK_IMPORTED_MODULE_2__["Validators"].required, function (g) { - if (g.value === _this.variablesService.currentWallet.address) { - return { 'address_same': true }; - } - return null; - }, function (g) { - _this.localAliases = []; - if (g.value) { - if (g.value.indexOf('@') !== 0) { - _this.isOpen = false; - _this.backend.validateAddress(g.value, function (valid_status) { - _this.ngZone.run(function () { - if (valid_status === false) { - g.setErrors(Object.assign({ 'address_not_valid': true }, g.errors)); - } - else { - if (g.hasError('address_not_valid')) { - delete g.errors['address_not_valid']; - if (Object.keys(g.errors).length === 0) { - g.setErrors(null); - } - } - } - }); - }); - return (g.hasError('address_not_valid')) ? { 'address_not_valid': true } : null; - } - else { - _this.isOpen = true; - _this.localAliases = _this.variablesService.aliases.filter(function (item) { - return item.name.indexOf(g.value) > -1; - }); - if (!(/^@?[a-z0-9\.\-]{6,25}$/.test(g.value))) { - g.setErrors(Object.assign({ 'alias_not_valid': true }, g.errors)); - } - else { - _this.backend.getAliasByName(g.value.replace('@', ''), function (alias_status, alias_data) { - _this.ngZone.run(function () { - if (alias_status) { - if (alias_data.address === _this.variablesService.currentWallet.address) { - g.setErrors(Object.assign({ 'address_same': true }, g.errors)); - } - if (g.hasError('alias_not_valid')) { - delete g.errors['alias_not_valid']; - if (Object.keys(g.errors).length === 0) { - g.setErrors(null); - } - } - } - else { - g.setErrors(Object.assign({ 'alias_not_valid': true }, g.errors)); - } - }); - }); - } - return (g.hasError('alias_not_valid')) ? { 'alias_not_valid': true } : null; - } - } - return null; - }]), - amount: new _angular_forms__WEBPACK_IMPORTED_MODULE_2__["FormControl"](null, [_angular_forms__WEBPACK_IMPORTED_MODULE_2__["Validators"].required, function (g) { - if (parseFloat(g.value) === 0) { - return { 'amount_zero': true }; - } - return null; - }]), - yourDeposit: new _angular_forms__WEBPACK_IMPORTED_MODULE_2__["FormControl"](null, _angular_forms__WEBPACK_IMPORTED_MODULE_2__["Validators"].required), - sellerDeposit: new _angular_forms__WEBPACK_IMPORTED_MODULE_2__["FormControl"](null, _angular_forms__WEBPACK_IMPORTED_MODULE_2__["Validators"].required), - sameAmount: new _angular_forms__WEBPACK_IMPORTED_MODULE_2__["FormControl"]({ value: false, disabled: false }), - comment: new _angular_forms__WEBPACK_IMPORTED_MODULE_2__["FormControl"](''), - fee: new _angular_forms__WEBPACK_IMPORTED_MODULE_2__["FormControl"](this.variablesService.default_fee), - time: new _angular_forms__WEBPACK_IMPORTED_MODULE_2__["FormControl"]({ value: 12, disabled: false }), - timeCancel: new _angular_forms__WEBPACK_IMPORTED_MODULE_2__["FormControl"]({ value: 12, disabled: false }), - payment: new _angular_forms__WEBPACK_IMPORTED_MODULE_2__["FormControl"]('') - }); - this.additionalOptions = false; - this.currentContract = null; - this.showTimeSelect = false; - this.showNullify = false; - } - PurchaseComponent.prototype.checkAndChangeHistory = function () { - var _this = this; - if (this.currentContract.state === 201) { - this.historyBlock = this.variablesService.currentWallet.history.find(function (item) { return item.tx_type === 8 && item.contract[0].contract_id === _this.currentContract.contract_id && item.contract[0].is_a === _this.currentContract.is_a; }); - } - else if (this.currentContract.state === 601) { - this.historyBlock = this.variablesService.currentWallet.history.find(function (item) { return item.tx_type === 12 && item.contract[0].contract_id === _this.currentContract.contract_id && item.contract[0].is_a === _this.currentContract.is_a; }); - } - }; - PurchaseComponent.prototype.addressMouseDown = function (e) { - if (e['button'] === 0 && this.purchaseForm.get('seller').value && this.purchaseForm.get('seller').value.indexOf('@') === 0) { - this.isOpen = true; - } - }; - PurchaseComponent.prototype.setAlias = function (alias) { - this.purchaseForm.get('seller').setValue(alias); - }; - PurchaseComponent.prototype.onClick = function (targetElement) { - if (targetElement.id !== 'purchase-seller' && this.isOpen) { - this.isOpen = false; - } - }; - PurchaseComponent.prototype.ngOnInit = function () { - var _this = this; - this.parentRouting = this.route.parent.params.subscribe(function (params) { - _this.currentWalletId = params['id']; - }); - this.subRouting = this.route.params.subscribe(function (params) { - if (params.hasOwnProperty('id')) { - _this.currentContract = _this.variablesService.currentWallet.getContract(params['id']); - _this.purchaseForm.controls['seller'].setValidators([]); - _this.purchaseForm.updateValueAndValidity(); - _this.purchaseForm.setValue({ - description: _this.currentContract.private_detailes.t, - seller: _this.currentContract.private_detailes.b_addr, - amount: _this.intToMoneyPipe.transform(_this.currentContract.private_detailes.to_pay), - yourDeposit: _this.intToMoneyPipe.transform(_this.currentContract.private_detailes.a_pledge), - sellerDeposit: _this.intToMoneyPipe.transform(_this.currentContract.private_detailes.b_pledge), - sameAmount: _this.currentContract.private_detailes.to_pay.isEqualTo(_this.currentContract.private_detailes.b_pledge), - comment: _this.currentContract.private_detailes.c, - fee: _this.variablesService.default_fee, - time: 12, - timeCancel: 12, - payment: _this.currentContract.payment_id - }); - _this.purchaseForm.get('sameAmount').disable(); - _this.newPurchase = false; - if (_this.currentContract.is_new) { - if (_this.currentContract.is_a && _this.currentContract.state === 2) { - _this.currentContract.state = 120; - } - if (_this.currentContract.state === 130 && _this.currentContract.cancel_expiration_time !== 0 && _this.currentContract.cancel_expiration_time < _this.variablesService.exp_med_ts) { - _this.currentContract.state = 2; - } - _this.variablesService.settings.viewedContracts = (_this.variablesService.settings.viewedContracts) ? _this.variablesService.settings.viewedContracts : []; - var findViewedCont = false; - for (var j = 0; j < _this.variablesService.settings.viewedContracts.length; j++) { - if (_this.variablesService.settings.viewedContracts[j].contract_id === _this.currentContract.contract_id && _this.variablesService.settings.viewedContracts[j].is_a === _this.currentContract.is_a) { - _this.variablesService.settings.viewedContracts[j].state = _this.currentContract.state; - findViewedCont = true; - break; - } - } - if (!findViewedCont) { - _this.variablesService.settings.viewedContracts.push({ - contract_id: _this.currentContract.contract_id, - is_a: _this.currentContract.is_a, - state: _this.currentContract.state - }); - } - _this.currentContract.is_new = false; - setTimeout(function () { - _this.variablesService.currentWallet.recountNewContracts(); - }, 0); - } - _this.checkAndChangeHistory(); - } - else { - _this.newPurchase = true; - } - }); - this.heightAppEvent = this.variablesService.getHeightAppEvent.subscribe(function (newHeight) { - if (_this.currentContract && _this.currentContract.state === 201 && _this.currentContract.height !== 0 && (newHeight - _this.currentContract.height) >= 10) { - _this.currentContract.state = 2; - _this.currentContract.is_new = true; - _this.variablesService.currentWallet.recountNewContracts(); - } - else if (_this.currentContract && _this.currentContract.state === 601 && _this.currentContract.height !== 0 && (newHeight - _this.currentContract.height) >= 10) { - _this.currentContract.state = 6; - _this.currentContract.is_new = true; - _this.variablesService.currentWallet.recountNewContracts(); - } - }); - }; - PurchaseComponent.prototype.toggleOptions = function () { - this.additionalOptions = !this.additionalOptions; - }; - PurchaseComponent.prototype.getProgressBarWidth = function () { - var progress = '0'; - if (!this.newPurchase) { - if (this.currentContract) { - if (this.currentContract.state === 1) { - progress = '10%'; - } - if (this.currentContract.state === 201) { - progress = '25%'; - } - if ([120, 2].indexOf(this.currentContract.state) !== -1) { - progress = '50%'; - } - if ([5, 601].indexOf(this.currentContract.state) !== -1) { - progress = '75%'; - } - if ([110, 130, 140, 3, 4, 6].indexOf(this.currentContract.state) !== -1) { - progress = '100%'; - } - } - } - return progress; - }; - PurchaseComponent.prototype.sameAmountChange = function () { - if (this.purchaseForm.get('sameAmount').value) { - this.purchaseForm.get('sellerDeposit').clearValidators(); - this.purchaseForm.get('sellerDeposit').updateValueAndValidity(); - } - else { - this.purchaseForm.get('sellerDeposit').setValidators([_angular_forms__WEBPACK_IMPORTED_MODULE_2__["Validators"].required]); - this.purchaseForm.get('sellerDeposit').updateValueAndValidity(); - } - }; - PurchaseComponent.prototype.createPurchase = function () { - var _this = this; - if (this.purchaseForm.valid) { - var sellerDeposit_1 = this.purchaseForm.get('sameAmount').value ? this.purchaseForm.get('amount').value : this.purchaseForm.get('sellerDeposit').value; - if (this.purchaseForm.get('seller').value.indexOf('@') !== 0) { - this.backend.createProposal(this.variablesService.currentWallet.wallet_id, this.purchaseForm.get('description').value, this.purchaseForm.get('comment').value, this.variablesService.currentWallet.address, this.purchaseForm.get('seller').value, this.purchaseForm.get('amount').value, this.purchaseForm.get('yourDeposit').value, sellerDeposit_1, this.purchaseForm.get('time').value, this.purchaseForm.get('payment').value, function (create_status) { - if (create_status) { - _this.back(); - } - }); - } - else { - this.backend.getAliasByName(this.purchaseForm.get('seller').value.replace('@', ''), function (alias_status, alias_data) { - _this.ngZone.run(function () { - if (alias_status === false) { - _this.ngZone.run(function () { - _this.purchaseForm.get('seller').setErrors({ 'alias_not_valid': true }); - }); - } - else { - _this.backend.createProposal(_this.variablesService.currentWallet.wallet_id, _this.purchaseForm.get('description').value, _this.purchaseForm.get('comment').value, _this.variablesService.currentWallet.address, alias_data.address, _this.purchaseForm.get('amount').value, _this.purchaseForm.get('yourDeposit').value, sellerDeposit_1, _this.purchaseForm.get('time').value, _this.purchaseForm.get('payment').value, function (create_status) { - if (create_status) { - _this.back(); - } - }); - } - }); - }); - } - } - }; - PurchaseComponent.prototype.back = function () { - this.location.back(); - }; - PurchaseComponent.prototype.acceptState = function () { - var _this = this; - this.backend.acceptProposal(this.currentWalletId, this.currentContract.contract_id, function (accept_status) { - if (accept_status) { - _this.modalService.prepareModal('info', 'PURCHASE.ACCEPT_STATE_WAIT_BIG'); - _this.back(); - } - }); - }; - PurchaseComponent.prototype.ignoredContract = function () { - this.variablesService.settings.notViewedContracts = (this.variablesService.settings.notViewedContracts) ? this.variablesService.settings.notViewedContracts : []; - var findViewedCont = false; - for (var j = 0; j < this.variablesService.settings.notViewedContracts.length; j++) { - if (this.variablesService.settings.notViewedContracts[j].contract_id === this.currentContract.contract_id && this.variablesService.settings.notViewedContracts[j].is_a === this.currentContract.is_a) { - this.variablesService.settings.notViewedContracts[j].state = 110; - this.variablesService.settings.notViewedContracts[j].time = this.currentContract.expiration_time; - findViewedCont = true; - break; - } - } - if (!findViewedCont) { - this.variablesService.settings.notViewedContracts.push({ - contract_id: this.currentContract.contract_id, - is_a: this.currentContract.is_a, - state: 110, - time: this.currentContract.expiration_time - }); - } - this.currentContract.is_new = true; - this.currentContract.state = 110; - this.currentContract.time = this.currentContract.expiration_time; - this.variablesService.currentWallet.recountNewContracts(); - this.modalService.prepareModal('info', 'PURCHASE.IGNORED_ACCEPT'); - this.back(); - }; - PurchaseComponent.prototype.productNotGot = function () { - var _this = this; - this.backend.releaseProposal(this.currentWalletId, this.currentContract.contract_id, 'REL_B', function (release_status) { - if (release_status) { - _this.modalService.prepareModal('info', 'PURCHASE.BURN_PROPOSAL'); - _this.back(); - } - }); - }; - PurchaseComponent.prototype.dealsDetailsFinish = function () { - var _this = this; - this.backend.releaseProposal(this.currentWalletId, this.currentContract.contract_id, 'REL_N', function (release_status) { - if (release_status) { - _this.modalService.prepareModal('success', 'PURCHASE.SUCCESS_FINISH_PROPOSAL'); - _this.back(); - } - }); - }; - PurchaseComponent.prototype.dealsDetailsCancel = function () { - var _this = this; - this.backend.requestCancelContract(this.currentWalletId, this.currentContract.contract_id, this.purchaseForm.get('timeCancel').value, function (cancel_status) { - if (cancel_status) { - _this.modalService.prepareModal('info', 'PURCHASE.SEND_CANCEL_PROPOSAL'); - _this.back(); - } - }); - }; - PurchaseComponent.prototype.dealsDetailsDontCanceling = function () { - this.variablesService.settings.notViewedContracts = this.variablesService.settings.notViewedContracts ? this.variablesService.settings.notViewedContracts : []; - var findViewedCont = false; - for (var j = 0; j < this.variablesService.settings.notViewedContracts.length; j++) { - if (this.variablesService.settings.notViewedContracts[j].contract_id === this.currentContract.contract_id && this.variablesService.settings.notViewedContracts[j].is_a === this.currentContract.is_a) { - this.variablesService.settings.notViewedContracts[j].state = 130; - this.variablesService.settings.notViewedContracts[j].time = this.currentContract.cancel_expiration_time; - findViewedCont = true; - break; - } - } - if (!findViewedCont) { - this.variablesService.settings.notViewedContracts.push({ - contract_id: this.currentContract.contract_id, - is_a: this.currentContract.is_a, - state: 130, - time: this.currentContract.cancel_expiration_time - }); - } - this.currentContract.is_new = true; - this.currentContract.state = 130; - this.currentContract.time = this.currentContract.cancel_expiration_time; - this.variablesService.currentWallet.recountNewContracts(); - this.modalService.prepareModal('info', 'PURCHASE.IGNORED_CANCEL'); - this.back(); - }; - PurchaseComponent.prototype.dealsDetailsSellerCancel = function () { - var _this = this; - this.backend.acceptCancelContract(this.currentWalletId, this.currentContract.contract_id, function (accept_status) { - if (accept_status) { - _this.modalService.prepareModal('info', 'PURCHASE.DEALS_CANCELED_WAIT'); - _this.back(); - } - }); - }; - PurchaseComponent.prototype.ngOnDestroy = function () { - this.parentRouting.unsubscribe(); - this.subRouting.unsubscribe(); - this.heightAppEvent.unsubscribe(); - }; - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["HostListener"])('document:click', ['$event.target']), - __metadata("design:type", Function), - __metadata("design:paramtypes", [Object]), - __metadata("design:returntype", void 0) - ], PurchaseComponent.prototype, "onClick", null); - PurchaseComponent = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Component"])({ - selector: 'app-purchase', - template: __webpack_require__(/*! ./purchase.component.html */ "./src/app/purchase/purchase.component.html"), - styles: [__webpack_require__(/*! ./purchase.component.scss */ "./src/app/purchase/purchase.component.scss")] - }), - __metadata("design:paramtypes", [_angular_router__WEBPACK_IMPORTED_MODULE_1__["ActivatedRoute"], - _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_3__["BackendService"], - _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_4__["VariablesService"], - _helpers_services_modal_service__WEBPACK_IMPORTED_MODULE_5__["ModalService"], - _angular_core__WEBPACK_IMPORTED_MODULE_0__["NgZone"], - _angular_common__WEBPACK_IMPORTED_MODULE_6__["Location"], - _helpers_pipes_int_to_money_pipe__WEBPACK_IMPORTED_MODULE_7__["IntToMoneyPipe"]]) - ], PurchaseComponent); - return PurchaseComponent; -}()); - - - -/***/ }), - -/***/ "./src/app/receive/receive.component.html": -/*!************************************************!*\ - !*** ./src/app/receive/receive.component.html ***! - \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = "
      \r\n \"qr-code\"\r\n
      \r\n
      {{variablesService.currentWallet.address}}
      \r\n \r\n
      \r\n
      \r\n" - -/***/ }), - -/***/ "./src/app/receive/receive.component.scss": -/*!************************************************!*\ - !*** ./src/app/receive/receive.component.scss ***! - \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = ":host {\n width: 100%; }\n\n.wrap-qr {\n display: flex;\n flex-direction: column;\n align-items: center; }\n\n.wrap-qr img {\n margin: 4rem 0; }\n\n.wrap-qr .wrap-address {\n display: flex;\n align-items: center;\n font-size: 1.4rem;\n line-height: 2.7rem; }\n\n.wrap-qr .wrap-address .btn-copy-address {\n margin-left: 1.2rem;\n width: 1.7rem;\n height: 1.7rem; }\n\n.wrap-qr .wrap-address .btn-copy-address.copy {\n -webkit-mask: url('copy.svg') no-repeat center;\n mask: url('copy.svg') no-repeat center; }\n\n.wrap-qr .wrap-address .btn-copy-address.copy:hover {\n opacity: 0.75; }\n\n.wrap-qr .wrap-address .btn-copy-address.copied {\n -webkit-mask: url('complete-testwallet.svg') no-repeat center;\n mask: url('complete-testwallet.svg') no-repeat center; }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcmVjZWl2ZS9EOlxcUHJvamVjdFxcV09SS19ORVdcXHphbm9cXHNyY1xcZ3VpXFxxdC1kYWVtb25cXGh0bWxfc291cmNlL3NyY1xcYXBwXFxyZWNlaXZlXFxyZWNlaXZlLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsV0FBVyxFQUFBOztBQUdiO0VBQ0UsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixtQkFBbUIsRUFBQTs7QUFIckI7SUFNSSxjQUFjLEVBQUE7O0FBTmxCO0lBVUksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixpQkFBaUI7SUFDakIsbUJBQW1CLEVBQUE7O0FBYnZCO01BZ0JNLG1CQUFtQjtNQUNuQixhQUFhO01BQ2IsY0FBYyxFQUFBOztBQWxCcEI7UUFxQlEsOENBQXVEO2dCQUF2RCxzQ0FBdUQsRUFBQTs7QUFyQi9EO1VBd0JVLGFBQWEsRUFBQTs7QUF4QnZCO1FBNkJRLDZEQUFzRTtnQkFBdEUscURBQXNFLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9yZWNlaXZlL3JlY2VpdmUuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi53cmFwLXFyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgaW1nIHtcclxuICAgIG1hcmdpbjogNHJlbSAwO1xyXG4gIH1cclxuXHJcbiAgLndyYXAtYWRkcmVzcyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDIuN3JlbTtcclxuXHJcbiAgICAuYnRuLWNvcHktYWRkcmVzcyB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjJyZW07XHJcbiAgICAgIHdpZHRoOiAxLjdyZW07XHJcbiAgICAgIGhlaWdodDogMS43cmVtO1xyXG5cclxuICAgICAgJi5jb3B5IHtcclxuICAgICAgICBtYXNrOiB1cmwoLi4vLi4vYXNzZXRzL2ljb25zL2NvcHkuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIG9wYWNpdHk6IDAuNzU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmNvcGllZCB7XHJcbiAgICAgICAgbWFzazogdXJsKC4uLy4uL2Fzc2V0cy9pY29ucy9jb21wbGV0ZS10ZXN0d2FsbGV0LnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0= */" - -/***/ }), - -/***/ "./src/app/receive/receive.component.ts": -/*!**********************************************!*\ - !*** ./src/app/receive/receive.component.ts ***! - \**********************************************/ -/*! exports provided: ReceiveComponent */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ReceiveComponent", function() { return ReceiveComponent; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var qrcode__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! qrcode */ "./node_modules/qrcode/lib/browser.js"); -/* harmony import */ var qrcode__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(qrcode__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../_helpers/services/backend.service */ "./src/app/_helpers/services/backend.service.ts"); -/* harmony import */ var _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../_helpers/services/variables.service */ "./src/app/_helpers/services/variables.service.ts"); -/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm5/router.js"); -/* harmony import */ var _shared_constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../_shared/constants */ "./src/app/_shared/constants.ts"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - -var ReceiveComponent = /** @class */ (function () { - function ReceiveComponent(route, backend, variablesService) { - this.route = route; - this.backend = backend; - this.variablesService = variablesService; - this.copyAnimation = false; - } - ReceiveComponent.prototype.ngOnInit = function () { - var _this = this; - this.parentRouting = this.route.parent.params.subscribe(function () { - qrcode__WEBPACK_IMPORTED_MODULE_1___default.a.toDataURL(_this.variablesService.currentWallet.address, { - width: 106 * _shared_constants__WEBPACK_IMPORTED_MODULE_5__["RCV_ADDR_QR_SCALE"], - height: 106 * _shared_constants__WEBPACK_IMPORTED_MODULE_5__["RCV_ADDR_QR_SCALE"] - }).then(function (url) { - _this.qrImageSrc = url; - }).catch(function (err) { - console.error(err); - }); - }); - }; - ReceiveComponent.prototype.copyAddress = function () { - var _this = this; - this.backend.setClipboard(this.variablesService.currentWallet.address); - this.copyAnimation = true; - this.copyAnimationTimeout = window.setTimeout(function () { - _this.copyAnimation = false; - }, 2000); - }; - ReceiveComponent.prototype.ngOnDestroy = function () { - this.parentRouting.unsubscribe(); - clearTimeout(this.copyAnimationTimeout); - }; - ReceiveComponent = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Component"])({ - selector: 'app-receive', - template: __webpack_require__(/*! ./receive.component.html */ "./src/app/receive/receive.component.html"), - styles: [__webpack_require__(/*! ./receive.component.scss */ "./src/app/receive/receive.component.scss")] - }), - __metadata("design:paramtypes", [_angular_router__WEBPACK_IMPORTED_MODULE_4__["ActivatedRoute"], - _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_2__["BackendService"], - _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_3__["VariablesService"]]) - ], ReceiveComponent); - return ReceiveComponent; -}()); - - - -/***/ }), - -/***/ "./src/app/restore-wallet/restore-wallet.component.html": -/*!**************************************************************!*\ - !*** ./src/app/restore-wallet/restore-wallet.component.html ***! - \**************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = "
      \r\n\r\n
      \r\n
      \r\n {{ 'BREADCRUMBS.ADD_WALLET' | translate }}\r\n {{ 'BREADCRUMBS.RESTORE_WALLET' | translate }}\r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n {{ 'RESTORE_WALLET.FORM_ERRORS.NAME_REQUIRED' | translate }}\r\n
      \r\n
      \r\n {{ 'RESTORE_WALLET.FORM_ERRORS.NAME_DUPLICATE' | translate }}\r\n
      \r\n
      \r\n
      = variablesService.maxWalletNameLength\">\r\n {{ 'RESTORE_WALLET.FORM_ERRORS.MAX_LENGTH' | translate }}\r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n {{ 'ERRORS.WRONG_PASSWORD' | translate }}\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n {{ 'RESTORE_WALLET.FORM_ERRORS.CONFIRM_NOT_MATCH' | translate }}\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n {{ 'RESTORE_WALLET.FORM_ERRORS.KEY_REQUIRED' | translate }}\r\n
      \r\n
      \r\n {{ 'RESTORE_WALLET.FORM_ERRORS.KEY_NOT_VALID' | translate }}\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n {{ 'RESTORE_WALLET.FORM_ERRORS.INCORRECT_PASSWORD' | translate }}\r\n
      \r\n
      \r\n {{ 'RESTORE_WALLET.OK' | translate }}\r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n\r\n\r\n" - -/***/ }), - -/***/ "./src/app/restore-wallet/restore-wallet.component.scss": -/*!**************************************************************!*\ - !*** ./src/app/restore-wallet/restore-wallet.component.scss ***! - \**************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = ":host {\n position: relative; }\n\n.form-restore {\n margin: 2.4rem 0;\n width: 100%; }\n\n.form-restore .input-block.half-block {\n width: 50%; }\n\n.form-restore .wrap-buttons {\n display: flex;\n margin: 2.5rem -0.7rem;\n width: 50%; }\n\n.form-restore .wrap-buttons button {\n margin: 0 0.7rem; }\n\n.form-restore .wrap-buttons button.transparent-button {\n flex-basis: 50%; }\n\n.form-restore .wrap-buttons button.select-button {\n flex-basis: 60%; }\n\n.form-restore .wrap-buttons button.create-button {\n flex: 1 1 50%; }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcmVzdG9yZS13YWxsZXQvRDpcXFByb2plY3RcXFdPUktfTkVXXFx6YW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFwcFxccmVzdG9yZS13YWxsZXRcXHJlc3RvcmUtd2FsbGV0LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0Usa0JBQWtCLEVBQUE7O0FBR3BCO0VBQ0UsZ0JBQWdCO0VBQ2hCLFdBQVcsRUFBQTs7QUFGYjtJQU9NLFVBQVUsRUFBQTs7QUFQaEI7SUFZSSxhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLFVBQVUsRUFBQTs7QUFkZDtNQWlCTSxnQkFBZ0IsRUFBQTs7QUFqQnRCO1FBb0JRLGVBQWUsRUFBQTs7QUFwQnZCO1FBd0JRLGVBQWUsRUFBQTs7QUF4QnZCO1FBNEJRLGFBQWEsRUFBQSIsImZpbGUiOiJzcmMvYXBwL3Jlc3RvcmUtd2FsbGV0L3Jlc3RvcmUtd2FsbGV0LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3Qge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmZvcm0tcmVzdG9yZSB7XHJcbiAgbWFyZ2luOiAyLjRyZW0gMDtcclxuICB3aWR0aDogMTAwJTtcclxuXHJcbiAgLmlucHV0LWJsb2NrIHtcclxuXHJcbiAgICAmLmhhbGYtYmxvY2sge1xyXG4gICAgICB3aWR0aDogNTAlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLndyYXAtYnV0dG9ucyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWFyZ2luOiAyLjVyZW0gLTAuN3JlbTtcclxuICAgIHdpZHRoOiA1MCU7XHJcblxyXG4gICAgYnV0dG9uIHtcclxuICAgICAgbWFyZ2luOiAwIDAuN3JlbTtcclxuXHJcbiAgICAgICYudHJhbnNwYXJlbnQtYnV0dG9uIHtcclxuICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuc2VsZWN0LWJ1dHRvbiB7XHJcbiAgICAgICAgZmxleC1iYXNpczogNjAlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmNyZWF0ZS1idXR0b24ge1xyXG4gICAgICAgIGZsZXg6IDEgMSA1MCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19 */" - -/***/ }), - -/***/ "./src/app/restore-wallet/restore-wallet.component.ts": -/*!************************************************************!*\ - !*** ./src/app/restore-wallet/restore-wallet.component.ts ***! - \************************************************************/ -/*! exports provided: RestoreWalletComponent */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "RestoreWalletComponent", function() { return RestoreWalletComponent; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/forms */ "./node_modules/@angular/forms/fesm5/forms.js"); -/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm5/router.js"); -/* harmony import */ var _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../_helpers/services/backend.service */ "./src/app/_helpers/services/backend.service.ts"); -/* harmony import */ var _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../_helpers/services/variables.service */ "./src/app/_helpers/services/variables.service.ts"); -/* harmony import */ var _helpers_services_modal_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../_helpers/services/modal.service */ "./src/app/_helpers/services/modal.service.ts"); -/* harmony import */ var _helpers_models_wallet_model__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../_helpers/models/wallet.model */ "./src/app/_helpers/models/wallet.model.ts"); -/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @ngx-translate/core */ "./node_modules/@ngx-translate/core/fesm5/ngx-translate-core.js"); -/* harmony import */ var rxjs_internal_Subject__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! rxjs/internal/Subject */ "./node_modules/rxjs/internal/Subject.js"); -/* harmony import */ var rxjs_internal_Subject__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(rxjs_internal_Subject__WEBPACK_IMPORTED_MODULE_8__); -/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! rxjs/operators */ "./node_modules/rxjs/_esm5/operators/index.js"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - - - - -var RestoreWalletComponent = /** @class */ (function () { - function RestoreWalletComponent(router, backend, variablesService, modalService, ngZone, translate) { - var _this = this; - this.router = router; - this.backend = backend; - this.variablesService = variablesService; - this.modalService = modalService; - this.ngZone = ngZone; - this.translate = translate; - this.restoreForm = new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormGroup"]({ - name: new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormControl"]('', [ - _angular_forms__WEBPACK_IMPORTED_MODULE_1__["Validators"].required, - function (g) { - for (var i = 0; i < _this.variablesService.wallets.length; i++) { - if (g.value === _this.variablesService.wallets[i].name) { - return { duplicate: true }; - } - } - return null; - }, - ]), - key: new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormControl"]('', _angular_forms__WEBPACK_IMPORTED_MODULE_1__["Validators"].required), - password: new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormControl"]('', _angular_forms__WEBPACK_IMPORTED_MODULE_1__["Validators"].pattern(this.variablesService.pattern)), - confirm: new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormControl"](''), - seedPassword: new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormControl"]('', _angular_forms__WEBPACK_IMPORTED_MODULE_1__["Validators"].pattern(this.variablesService.pattern)), - }, function (g) { - return g.get('password').value === g.get('confirm').value - ? null - : { confirm_mismatch: true }; - }); - this.wallet = { - id: '', - }; - this.walletSaved = false; - this.walletSavedName = ''; - this.progressWidth = '9rem'; - this.seedPhraseInfo = null; - this.unsubscribeAll = new rxjs_internal_Subject__WEBPACK_IMPORTED_MODULE_8__["Subject"](); - } - RestoreWalletComponent.prototype.ngOnInit = function () { - this.checkValidSeedPhrasePassword(); - this.changeDetectionSeedPhrasePassword(); - }; - RestoreWalletComponent.prototype.ngOnDestroy = function () { - this.unsubscribeAll.next(true); - this.unsubscribeAll.complete(); - }; - RestoreWalletComponent.prototype.changeDetectionSeedPhrasePassword = function () { - var _this = this; - this.restoreForm.controls.seedPassword.valueChanges - .pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_9__["startWith"])(null), Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_9__["pairwise"])(), Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_9__["takeUntil"])(this.unsubscribeAll)) - .subscribe(function () { - _this.checkValidSeedPhrasePassword(); - }); - this.restoreForm.controls.key.valueChanges - .pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_9__["startWith"])(null), Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_9__["pairwise"])(), Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_9__["takeUntil"])(this.unsubscribeAll)) - .subscribe(function () { - _this.checkValidSeedPhrasePassword(); - }); - }; - RestoreWalletComponent.prototype.checkValidSeedPhrasePassword = function () { - var _this = this; - var seed_password = this.restoreForm.controls.seedPassword.value; - var seed_phrase = this.restoreForm.controls.key.value; - this.backend.getSeedPhraseInfo({ seed_phrase: seed_phrase, seed_password: seed_password }, function (status, data) { - _this.ngZone.run(function () { - _this.seedPhraseInfo = data; - }); - }); - }; - RestoreWalletComponent.prototype.createWallet = function () { - var _this = this; - this.ngZone.run(function () { - _this.progressWidth = '100%'; - _this.runWallet(); - }); - }; - RestoreWalletComponent.prototype.saveWallet = function () { - var _this = this; - if (this.restoreForm.valid && - this.restoreForm.get('name').value.length <= - this.variablesService.maxWalletNameLength) { - this.backend.isValidRestoreWalletText({ - seed_phrase: this.restoreForm.get('key').value, - seed_password: this.restoreForm.get('seedPassword').value, - }, function (valid_status, valid_data) { - if (valid_data !== 'TRUE') { - _this.ngZone.run(function () { - _this.restoreForm.get('key').setErrors({ key_not_valid: true }); - }); - } - else { - _this.backend.saveFileDialog(_this.translate.instant('RESTORE_WALLET.CHOOSE_PATH'), '*', _this.variablesService.settings.default_path, function (save_status, save_data) { - if (save_status) { - _this.variablesService.settings.default_path = save_data.path.substr(0, save_data.path.lastIndexOf('/')); - _this.walletSavedName = save_data.path.substr(save_data.path.lastIndexOf('/') + 1, save_data.path.length - 1); - _this.backend.restoreWallet(save_data.path, _this.restoreForm.get('password').value, _this.restoreForm.get('key').value, _this.restoreForm.get('seedPassword').value, function (restore_status, restore_data) { - if (restore_status) { - _this.wallet.id = restore_data.wallet_id; - _this.variablesService.opening_wallet = new _helpers_models_wallet_model__WEBPACK_IMPORTED_MODULE_6__["Wallet"](restore_data.wallet_id, _this.restoreForm.get('name').value, _this.restoreForm.get('password').value, restore_data['wi'].path, restore_data['wi'].address, restore_data['wi'].balance, restore_data['wi'].unlocked_balance, restore_data['wi'].mined_total, restore_data['wi'].tracking_hey); - _this.variablesService.opening_wallet.is_auditable = - restore_data['wi'].is_auditable; - _this.variablesService.opening_wallet.is_watch_only = - restore_data['wi'].is_watch_only; - _this.variablesService.opening_wallet.currentPage = 1; - _this.variablesService.opening_wallet.alias = _this.backend.getWalletAlias(_this.variablesService.opening_wallet.address); - _this.variablesService.opening_wallet.pages = new Array(1).fill(1); - _this.variablesService.opening_wallet.totalPages = 1; - _this.variablesService.opening_wallet.currentPage = 1; - _this.variablesService.opening_wallet.total_history_item = 0; - _this.variablesService.opening_wallet.restore = true; - if (restore_data.recent_history && - restore_data.recent_history.history) { - _this.variablesService.opening_wallet.totalPages = Math.ceil(restore_data.recent_history.total_history_items / - _this.variablesService.count); - _this.variablesService.opening_wallet.totalPages > - _this.variablesService.maxPages - ? (_this.variablesService.opening_wallet.pages = new Array(5) - .fill(1) - .map(function (value, index) { return value + index; })) - : (_this.variablesService.opening_wallet.pages = new Array(_this.variablesService.opening_wallet.totalPages) - .fill(1) - .map(function (value, index) { return value + index; })); - _this.variablesService.opening_wallet.prepareHistory(restore_data.recent_history.history); - } - _this.backend.getContracts(_this.variablesService.opening_wallet.wallet_id, function (contracts_status, contracts_data) { - if (contracts_status && - contracts_data.hasOwnProperty('contracts')) { - _this.ngZone.run(function () { - _this.variablesService.opening_wallet.prepareContractsAfterOpen(contracts_data.contracts, _this.variablesService.exp_med_ts, _this.variablesService.height_app, _this.variablesService.settings - .viewedContracts, _this.variablesService.settings - .notViewedContracts); - }); - } - }); - _this.ngZone.run(function () { - _this.walletSaved = true; - _this.progressWidth = '50%'; - }); - } - else { - _this.modalService.prepareModal('error', 'RESTORE_WALLET.NOT_CORRECT_FILE_OR_PASSWORD'); - } - }); - } - }); - } - }); - } - }; - RestoreWalletComponent.prototype.runWallet = function () { - var _this = this; - // add flag when wallet was restored form seed - this.variablesService.after_sync_request[this.wallet.id] = true; - var exists = false; - this.variablesService.wallets.forEach(function (wallet) { - if (wallet.address === _this.variablesService.opening_wallet.address) { - exists = true; - } - }); - if (!exists) { - this.backend.runWallet(this.wallet.id, function (run_status, run_data) { - if (run_status) { - _this.variablesService.wallets.push(_this.variablesService.opening_wallet); - if (_this.variablesService.appPass) { - _this.backend.storeSecureAppData(); - } - _this.ngZone.run(function () { - _this.router.navigate(['/wallet/' + _this.wallet.id]); - }); - } - else { - console.log(run_data['error_code']); - } - }); - } - else { - this.variablesService.opening_wallet = null; - this.modalService.prepareModal('error', 'OPEN_WALLET.WITH_ADDRESS_ALREADY_OPEN'); - this.backend.closeWallet(this.wallet.id, function () { - _this.ngZone.run(function () { - _this.router.navigate(['/']); - }); - }); - } - }; - RestoreWalletComponent = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Component"])({ - selector: 'app-restore-wallet', - template: __webpack_require__(/*! ./restore-wallet.component.html */ "./src/app/restore-wallet/restore-wallet.component.html"), - styles: [__webpack_require__(/*! ./restore-wallet.component.scss */ "./src/app/restore-wallet/restore-wallet.component.scss")] - }), - __metadata("design:paramtypes", [_angular_router__WEBPACK_IMPORTED_MODULE_2__["Router"], - _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_3__["BackendService"], - _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_4__["VariablesService"], - _helpers_services_modal_service__WEBPACK_IMPORTED_MODULE_5__["ModalService"], - _angular_core__WEBPACK_IMPORTED_MODULE_0__["NgZone"], - _ngx_translate_core__WEBPACK_IMPORTED_MODULE_7__["TranslateService"]]) - ], RestoreWalletComponent); - return RestoreWalletComponent; -}()); - - - -/***/ }), - -/***/ "./src/app/seed-phrase/seed-phrase.component.html": -/*!********************************************************!*\ - !*** ./src/app/seed-phrase/seed-phrase.component.html ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = "
      \r\n \r\n
      \r\n
      \r\n {{ 'BREADCRUMBS.ADD_WALLET' | translate }}\r\n {{ 'BREADCRUMBS.SAVE_PHRASE' | translate }}\r\n
      \r\n \r\n
      \r\n \r\n\r\n
      \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n {{ 'WALLET_DETAILS.FORM_ERRORS.NAME_REQUIRED' | translate }}\r\n
      \r\n
      \r\n {{ 'WALLET_DETAILS.FORM_ERRORS.NAME_DUPLICATE' | translate }}\r\n
      \r\n
      \r\n
      = variablesService.maxWalletNameLength\">\r\n {{ 'WALLET_DETAILS.FORM_ERRORS.MAX_LENGTH' | translate }}\r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n\r\n \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n \r\n \r\n
      \r\n \r\n {{ 'WALLET_DETAILS.FORM_ERRORS.PASSWORDS_DONT_MATCH' | translate }}\r\n \r\n\r\n \r\n\r\n
      {{ 'WALLET_DETAILS.FORM.SECURED_SEED_WILL_REQUIRE' | translate }}\r\n
      \r\n
      \r\n
      \r\n \r\n \r\n\r\n \r\n \r\n
      \r\n
      \r\n {{ 'WALLET_DETAILS.LABEL_SEED_PHRASE' | translate }}\r\n

      \r\n {{ 'WALLET_DETAILS.SEED_IS_UNSECURED' | translate }}\r\n \r\n 0\">{{ 'WALLET_DETAILS.SEED_IS_SECURED' | translate }}\r\n \r\n

      \r\n
      \r\n
      \r\n \r\n
      = 1 && (index + 1) <= 7 || (index + 1) >= 15 && (index + 1) <= 21\">\r\n {{(index + 1) + '. ' + word}}
      \r\n
      \r\n
      \r\n
      0\">\r\n {{ 'WALLET_DETAILS.REMEMBER_YOU_WILL_REQUIRE' | translate }}\r\n
      \r\n
      \r\n
      \r\n \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n\r\n\r\n" - -/***/ }), - -/***/ "./src/app/seed-phrase/seed-phrase.component.scss": -/*!********************************************************!*\ - !*** ./src/app/seed-phrase/seed-phrase.component.scss ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = ":host {\n position: relative; }\n\n.content {\n padding: 3.2rem 3rem 3rem; }\n\n.scrolled-content, .content {\n height: 100%;\n overflow-y: auto; }\n\n.mt-2 {\n margin-top: 2rem; }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2VlZC1waHJhc2UvRDpcXFByb2plY3RcXFdPUktfTkVXXFx6YW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFwcFxcc2VlZC1waHJhc2VcXHNlZWQtcGhyYXNlLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0Usa0JBQWtCLEVBQUE7O0FBR3BCO0VBQ0UseUJBQXlCLEVBQUE7O0FBRTNCO0VBQ0UsWUFBWTtFQUNaLGdCQUFnQixFQUFBOztBQUdsQjtFQUNFLGdCQUFnQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvc2VlZC1waHJhc2Uvc2VlZC1waHJhc2UuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uY29udGVudCB7XHJcbiAgcGFkZGluZzogMy4ycmVtIDNyZW0gM3JlbTtcclxufVxyXG4uc2Nyb2xsZWQtY29udGVudCwgLmNvbnRlbnQge1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG59XHJcblxyXG4ubXQtMiB7XHJcbiAgbWFyZ2luLXRvcDogMnJlbTtcclxufVxyXG5cclxuIl19 */" - -/***/ }), - -/***/ "./src/app/seed-phrase/seed-phrase.component.ts": -/*!******************************************************!*\ - !*** ./src/app/seed-phrase/seed-phrase.component.ts ***! - \******************************************************/ -/*! exports provided: SeedPhraseComponent */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SeedPhraseComponent", function() { return SeedPhraseComponent; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/common */ "./node_modules/@angular/common/fesm5/common.js"); -/* harmony import */ var _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../_helpers/services/backend.service */ "./src/app/_helpers/services/backend.service.ts"); -/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm5/router.js"); -/* harmony import */ var _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../_helpers/services/variables.service */ "./src/app/_helpers/services/variables.service.ts"); -/* harmony import */ var _helpers_services_modal_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../_helpers/services/modal.service */ "./src/app/_helpers/services/modal.service.ts"); -/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/forms */ "./node_modules/@angular/forms/fesm5/forms.js"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - -var SeedPhraseComponent = /** @class */ (function () { - function SeedPhraseComponent(route, router, location, backend, variablesService, modalService, ngZone) { - var _this = this; - this.route = route; - this.router = router; - this.location = location; - this.backend = backend; - this.variablesService = variablesService; - this.modalService = modalService; - this.ngZone = ngZone; - this.seedPhrase = ''; - this.showSeed = false; - this.seedPhraseCopied = false; - this.progressWidth = '66%'; - this.detailsForm = new _angular_forms__WEBPACK_IMPORTED_MODULE_6__["FormGroup"]({ - name: new _angular_forms__WEBPACK_IMPORTED_MODULE_6__["FormControl"]('', [ - _angular_forms__WEBPACK_IMPORTED_MODULE_6__["Validators"].required, - function (g) { - for (var i = 0; i < _this.variablesService.wallets.length; i++) { - if (g.value === _this.variablesService.wallets[i].name) { - if (_this.variablesService.wallets[i].wallet_id === - _this.variablesService.currentWallet.wallet_id) { - return { same: true }; - } - else { - return { duplicate: true }; - } - } - } - return null; - }, - ]), - path: new _angular_forms__WEBPACK_IMPORTED_MODULE_6__["FormControl"](''), - }); - this.seedPhraseForm = new _angular_forms__WEBPACK_IMPORTED_MODULE_6__["FormGroup"]({ - password: new _angular_forms__WEBPACK_IMPORTED_MODULE_6__["FormControl"]('', _angular_forms__WEBPACK_IMPORTED_MODULE_6__["Validators"].pattern(this.variablesService.pattern)), - confirmPassword: new _angular_forms__WEBPACK_IMPORTED_MODULE_6__["FormControl"]('', _angular_forms__WEBPACK_IMPORTED_MODULE_6__["Validators"].pattern(this.variablesService.pattern)), - }, { validators: this.checkPasswords }); - } - SeedPhraseComponent.prototype.checkPasswords = function (group) { - var pass = group.controls.password.value; - var confirmPass = group.controls.confirmPassword.value; - return pass === confirmPass ? null : { notSame: true }; - }; - SeedPhraseComponent.prototype.ngOnInit = function () { - this.showSeed = false; - this.getWalletId(); - this.setWalletInfoNamePath(); - }; - SeedPhraseComponent.prototype.setWalletInfoNamePath = function () { - this.detailsForm - .get('name') - .setValue(this.variablesService.opening_wallet.name); - this.detailsForm - .get('path') - .setValue(this.variablesService.opening_wallet.path); - }; - SeedPhraseComponent.prototype.getWalletId = function () { - var _this = this; - this.queryRouting = this.route.queryParams.subscribe(function (params) { - if (params.wallet_id) { - _this.wallet_id = params.wallet_id; - } - }); - }; - SeedPhraseComponent.prototype.runWallet = function () { - var _this = this; - var exists = false; - this.variablesService.wallets.forEach(function (wallet) { - if (wallet.address === _this.variablesService.opening_wallet.address) { - exists = true; - } - }); - if (!exists) { - this.backend.runWallet(this.wallet_id, function (run_status, run_data) { - if (run_status) { - _this.variablesService.wallets.push(_this.variablesService.opening_wallet); - if (_this.variablesService.appPass) { - _this.backend.storeSecureAppData(); - } - _this.ngZone.run(function () { - _this.router.navigate(['/wallet/' + _this.wallet_id]); - }); - } - else { - console.log(run_data['error_code']); - } - }); - } - else { - this.variablesService.opening_wallet = null; - this.modalService.prepareModal('error', 'OPEN_WALLET.WITH_ADDRESS_ALREADY_OPEN'); - this.backend.closeWallet(this.wallet_id, function () { - _this.ngZone.run(function () { - _this.router.navigate(['/']); - }); - }); - } - }; - SeedPhraseComponent.prototype.copySeedPhrase = function () { - var _this = this; - this.backend.setClipboard(this.seedPhrase, function () { - _this.ngZone.run(function () { - _this.seedPhraseCopied = true; - }); - }); - }; - SeedPhraseComponent.prototype.back = function () { - this.location.back(); - }; - SeedPhraseComponent.prototype.showSeedPhrase = function () { - this.showSeed = true; - this.progressWidth = '100%'; - }; - SeedPhraseComponent.prototype.onSubmitSeed = function () { - var _this = this; - if (this.seedPhraseForm.valid) { - this.showSeedPhrase(); - var wallet_id = this.wallet_id; - var seed_password = this.seedPhraseForm.controls.password.value; - this.backend.getSmartWalletInfo({ wallet_id: wallet_id, seed_password: seed_password }, function (status, data) { - if (data.hasOwnProperty('seed_phrase')) { - _this.ngZone.run(function () { - _this.seedPhrase = data['seed_phrase'].trim(); - }); - } - }); - } - }; - SeedPhraseComponent.prototype.ngOnDestroy = function () { - this.queryRouting.unsubscribe(); - }; - SeedPhraseComponent = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Component"])({ - selector: 'app-seed-phrase', - template: __webpack_require__(/*! ./seed-phrase.component.html */ "./src/app/seed-phrase/seed-phrase.component.html"), - styles: [__webpack_require__(/*! ./seed-phrase.component.scss */ "./src/app/seed-phrase/seed-phrase.component.scss")] - }), - __metadata("design:paramtypes", [_angular_router__WEBPACK_IMPORTED_MODULE_3__["ActivatedRoute"], - _angular_router__WEBPACK_IMPORTED_MODULE_3__["Router"], - _angular_common__WEBPACK_IMPORTED_MODULE_1__["Location"], - _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_2__["BackendService"], - _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_4__["VariablesService"], - _helpers_services_modal_service__WEBPACK_IMPORTED_MODULE_5__["ModalService"], - _angular_core__WEBPACK_IMPORTED_MODULE_0__["NgZone"]]) - ], SeedPhraseComponent); - return SeedPhraseComponent; -}()); - - - -/***/ }), - -/***/ "./src/app/send-modal/send-modal.component.html": -/*!******************************************************!*\ - !*** ./src/app/send-modal/send-modal.component.html ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = "
      \r\n
      \r\n {{ 'CONFIRM.TITLE' | translate }}\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      {{ 'CONFIRM.MESSAGE.SEND' | translate }}
      \r\n
      {{ +form.get('amount').value }} {{variablesService.defaultCurrency}}
      \r\n
      \r\n
      \r\n
      {{ 'CONFIRM.MESSAGE.FROM' | translate }}
      \r\n
      {{ variablesService.currentWallet.address }}
      \r\n
      \r\n
      \r\n
      {{ 'CONFIRM.MESSAGE.TO' | translate }}
      \r\n
      {{ form.get('address').value }}
      \r\n
      \r\n \r\n
      \r\n
      {{ 'CONFIRM.MESSAGE.COMMENT' | translate }}
      \r\n
      {{ form.get('comment').value }}
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n {{ 'LOGIN.FORM_ERRORS.PASS_REQUIRED' | translate }}\r\n
      \r\n
      \r\n {{ 'LOGIN.FORM_ERRORS.MISMATCH' | translate }}\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n" - -/***/ }), - -/***/ "./src/app/send-modal/send-modal.component.scss": -/*!******************************************************!*\ - !*** ./src/app/send-modal/send-modal.component.scss ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = ":host {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: rgba(255, 255, 255, 0.25); }\n\n.modal {\n position: relative;\n display: flex;\n flex-direction: column;\n background-position: center;\n background-size: 200%;\n padding: 0.3rem 3rem 3rem 3rem;\n width: 64rem; }\n\n.modal .title {\n padding: 1.4rem 0;\n font-size: 1.8rem;\n line-height: 3rem; }\n\n.modal .content {\n display: flex;\n font-size: 1.4rem; }\n\n.modal .content .message-container {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n margin: 1.4rem 3rem 6.2rem 0; }\n\n.modal .content .message-container .message-block {\n display: flex;\n margin-bottom: 1rem; }\n\n.modal .content .message-container .message-block:first-child .message-label {\n line-height: 4rem; }\n\n.modal .content .message-container .message-block:first-child .message-text {\n line-height: 4rem; }\n\n.modal .content .message-container .message-block:last-child {\n margin-bottom: 0; }\n\n.modal .content .message-container .message-block .message-label {\n min-width: 6.7rem;\n line-height: 2rem; }\n\n.modal .content .message-container .message-block .message-text {\n overflow-wrap: break-word;\n margin-left: 4.8rem;\n width: 43.4rem;\n line-height: 2rem; }\n\n.modal .content .message-container .message-block.confirm-master-pass {\n width: 100%;\n margin: 2rem 0; }\n\n.modal .content .message-container .message-block.confirm-master-pass .input-block {\n width: 100%; }\n\n.modal .wrapper-buttons {\n display: flex;\n align-items: center;\n justify-content: space-between; }\n\n.modal .wrapper-buttons button {\n width: 100%;\n max-width: 15rem; }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2VuZC1tb2RhbC9EOlxcUHJvamVjdFxcV09SS19ORVdcXHphbm9cXHNyY1xcZ3VpXFxxdC1kYWVtb25cXGh0bWxfc291cmNlL3NyY1xcYXBwXFxzZW5kLW1vZGFsXFxzZW5kLW1vZGFsLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsZUFBZTtFQUNmLE1BQU07RUFDTixTQUFTO0VBQ1QsT0FBTztFQUNQLFFBQVE7RUFDUixhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLHVCQUF1QjtFQUN2QixxQ0FBcUMsRUFBQTs7QUFFdkM7RUFDRSxrQkFBa0I7RUFDbEIsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QiwyQkFBMkI7RUFDM0IscUJBQXFCO0VBQ3JCLDhCQUE4QjtFQUM5QixZQUFZLEVBQUE7O0FBUGQ7SUFVSSxpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLGlCQUFpQixFQUFBOztBQVpyQjtJQWdCSSxhQUFhO0lBQ2IsaUJBQWlCLEVBQUE7O0FBakJyQjtNQW9CTSxhQUFhO01BQ2Isc0JBQXNCO01BQ3RCLHVCQUF1QjtNQUN2Qix1QkFBdUI7TUFDdkIsNEJBQTRCLEVBQUE7O0FBeEJsQztRQTJCUSxhQUFhO1FBQ2IsbUJBQW1CLEVBQUE7O0FBNUIzQjtVQWlDWSxpQkFBaUIsRUFBQTs7QUFqQzdCO1VBcUNZLGlCQUFpQixFQUFBOztBQXJDN0I7VUEwQ1UsZ0JBQWdCLEVBQUE7O0FBMUMxQjtVQThDVSxpQkFBaUI7VUFDakIsaUJBQWlCLEVBQUE7O0FBL0MzQjtVQW1EVSx5QkFBeUI7VUFDekIsbUJBQW1CO1VBQ25CLGNBQWM7VUFDZCxpQkFBaUIsRUFBQTs7QUF0RDNCO1VBMERVLFdBQVc7VUFDWCxjQUFjLEVBQUE7O0FBM0R4QjtZQTZEWSxXQUFXLEVBQUE7O0FBN0R2QjtJQXFFSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLDhCQUE4QixFQUFBOztBQXZFbEM7TUEwRU0sV0FBVztNQUNYLGdCQUFnQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvc2VuZC1tb2RhbC9zZW5kLW1vZGFsLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3Qge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XHJcbn1cclxuLm1vZGFsIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICBiYWNrZ3JvdW5kLXNpemU6IDIwMCU7XHJcbiAgcGFkZGluZzogMC4zcmVtIDNyZW0gM3JlbSAzcmVtO1xyXG4gIHdpZHRoOiA2NHJlbTtcclxuXHJcbiAgLnRpdGxlIHtcclxuICAgIHBhZGRpbmc6IDEuNHJlbSAwO1xyXG4gICAgZm9udC1zaXplOiAxLjhyZW07XHJcbiAgICBsaW5lLWhlaWdodDogM3JlbTtcclxuICB9XHJcblxyXG4gIC5jb250ZW50IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmb250LXNpemU6IDEuNHJlbTtcclxuXHJcbiAgICAubWVzc2FnZS1jb250YWluZXIge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIG1hcmdpbjogMS40cmVtIDNyZW0gNi4ycmVtIDA7XHJcblxyXG4gICAgICAubWVzc2FnZS1ibG9jayB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuXHJcbiAgICAgICAgICAubWVzc2FnZS1sYWJlbCB7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0cmVtO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5tZXNzYWdlLXRleHQge1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNHJlbTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm1lc3NhZ2UtbGFiZWwge1xyXG4gICAgICAgICAgbWluLXdpZHRoOiA2LjdyZW07XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogMnJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5tZXNzYWdlLXRleHQge1xyXG4gICAgICAgICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0LjhyZW07XHJcbiAgICAgICAgICB3aWR0aDogNDMuNHJlbTtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jb25maXJtLW1hc3Rlci1wYXNzIHtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgbWFyZ2luOiAycmVtIDA7XHJcbiAgICAgICAgICAuaW5wdXQtYmxvY2sge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC53cmFwcGVyLWJ1dHRvbnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG4gICAgYnV0dG9uIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1heC13aWR0aDogMTVyZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iXX0= */" - -/***/ }), - -/***/ "./src/app/send-modal/send-modal.component.ts": -/*!****************************************************!*\ - !*** ./src/app/send-modal/send-modal.component.ts ***! - \****************************************************/ -/*! exports provided: SendModalComponent */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SendModalComponent", function() { return SendModalComponent; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/forms */ "./node_modules/@angular/forms/fesm5/forms.js"); -/* harmony import */ var _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../_helpers/services/variables.service */ "./src/app/_helpers/services/variables.service.ts"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - -var SendModalComponent = /** @class */ (function () { - function SendModalComponent(variablesService) { - this.variablesService = variablesService; - this.confirmForm = new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormGroup"]({ - password: new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormControl"]('') - }); - this.confirmed = new _angular_core__WEBPACK_IMPORTED_MODULE_0__["EventEmitter"](); - } - SendModalComponent.prototype.ngOnInit = function () { - if (this.variablesService.appPass) { - this.confirmForm.controls['password'].setValidators([_angular_forms__WEBPACK_IMPORTED_MODULE_1__["Validators"].required]); - this.confirmForm.updateValueAndValidity(); - } - }; - SendModalComponent.prototype.confirm = function () { - if (this.variablesService.appPass) { - if (this.confirmForm.controls['password'].value === '') { - this.confirmForm.controls['password'].setErrors({ requiredPass: true }); - return; - } - this.confirmForm.controls['password'].setErrors({ requiredPass: false }); - if (this.variablesService.appPass === this.confirmForm.controls['password'].value) { - this.confirmed.emit(true); - } - else { - this.confirmForm.controls['password'].setErrors({ passwordNotMatch: true }); - } - } - else { - this.confirmed.emit(true); - } - }; - SendModalComponent.prototype.onClose = function () { - this.confirmed.emit(false); - }; - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Input"])(), - __metadata("design:type", _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormGroup"]) - ], SendModalComponent.prototype, "form", void 0); - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Output"])(), - __metadata("design:type", _angular_core__WEBPACK_IMPORTED_MODULE_0__["EventEmitter"]) - ], SendModalComponent.prototype, "confirmed", void 0); - SendModalComponent = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Component"])({ - selector: 'app-send-modal', - template: __webpack_require__(/*! ./send-modal.component.html */ "./src/app/send-modal/send-modal.component.html"), - styles: [__webpack_require__(/*! ./send-modal.component.scss */ "./src/app/send-modal/send-modal.component.scss")] - }), - __metadata("design:paramtypes", [_helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_2__["VariablesService"]]) - ], SendModalComponent); - return SendModalComponent; -}()); - - - -/***/ }), - -/***/ "./src/app/send/send.component.html": -/*!******************************************!*\ - !*** ./src/app/send/send.component.html ***! - \******************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = "
      \r\n\r\n
      \r\n \r\n\r\n \r\n\r\n
      \r\n
      {{item.name}}
      \r\n
      \r\n\r\n
      \r\n
      \r\n {{ 'SEND.FORM_ERRORS.ADDRESS_REQUIRED' | translate }}\r\n
      \r\n
      \r\n {{ 'SEND.FORM_ERRORS.ADDRESS_NOT_VALID' | translate }}\r\n
      \r\n
      \r\n {{ 'SEND.FORM_ERRORS.ALIAS_NOT_VALID' | translate }}\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n {{ 'SEND.FORM_ERRORS.AMOUNT_REQUIRED' | translate }}\r\n
      \r\n
      \r\n {{ 'SEND.FORM_ERRORS.AMOUNT_ZERO' | translate }}\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      = variablesService.maxCommentLength\">\r\n {{ 'SEND.FORM_ERRORS.MAX_LENGTH' | translate }}\r\n
      \r\n
      \r\n\r\n
      \r\n\r\n \r\n\r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n {{ 'SEND.FORM_ERRORS.AMOUNT_REQUIRED' | translate }}\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n {{ 'SEND.FORM_ERRORS.FEE_REQUIRED' | translate }}\r\n
      \r\n
      \r\n {{ 'SEND.FORM_ERRORS.FEE_MINIMUM' | translate : {fee: variablesService.default_fee} }}\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n\r\n \r\n\r\n \r\n\r\n
      \r\n" - -/***/ }), - -/***/ "./src/app/send/send.component.scss": -/*!******************************************!*\ - !*** ./src/app/send/send.component.scss ***! - \******************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = ":host {\n width: 100%; }\n\n.form-send .input-blocks-row {\n display: flex; }\n\n.form-send .input-blocks-row > div {\n flex-basis: 50%; }\n\n.form-send .input-blocks-row > div:first-child {\n margin-right: 1.5rem; }\n\n.form-send .input-blocks-row > div:last-child {\n margin-left: 1.5rem; }\n\n.form-send .send-select {\n display: flex;\n align-items: center;\n background: transparent;\n border: none;\n font-size: 1.3rem;\n line-height: 1.3rem;\n margin: 1.5rem 0 0;\n padding: 0;\n width: 100%;\n max-width: 15rem;\n height: 1.3rem; }\n\n.form-send .send-select .arrow {\n margin-left: 1rem;\n width: 0.8rem;\n height: 0.8rem; }\n\n.form-send .send-select .arrow.down {\n -webkit-mask: url('arrow-down.svg') no-repeat center;\n mask: url('arrow-down.svg') no-repeat center; }\n\n.form-send .send-select .arrow.up {\n -webkit-mask: url('arrow-up.svg') no-repeat center;\n mask: url('arrow-up.svg') no-repeat center; }\n\n.form-send .additional-details {\n display: flex;\n margin-top: 1.5rem;\n padding: 0.5rem 0 2rem; }\n\n.form-send .additional-details > div {\n flex-basis: 25%; }\n\n.form-send .additional-details > div:first-child {\n padding-left: 1.5rem;\n padding-right: 1rem; }\n\n.form-send .additional-details > div:last-child {\n padding-left: 1rem;\n padding-right: 1.5rem; }\n\n.form-send .additional-details .checkbox-block {\n flex-basis: 50%; }\n\n.form-send .additional-details .checkbox-block > label {\n top: 3.5rem; }\n\n.form-send .additional-details .checkbox-block.disabled-checkbox-block label {\n cursor: not-allowed; }\n\n.form-send .additional-details .checkbox-block.disabled-checkbox-block label:before {\n background-color: #556576;\n border: 0.1rem solid #556576; }\n\n.form-send button {\n margin: 2.4rem 0;\n width: 100%;\n max-width: 15rem; }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2VuZC9EOlxcUHJvamVjdFxcV09SS19ORVdcXHphbm9cXHNyY1xcZ3VpXFxxdC1kYWVtb25cXGh0bWxfc291cmNlL3NyY1xcYXBwXFxzZW5kXFxzZW5kLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsV0FBVyxFQUFBOztBQUdiO0VBR0ksYUFBYSxFQUFBOztBQUhqQjtJQU1NLGVBQWUsRUFBQTs7QUFOckI7TUFTUSxvQkFBb0IsRUFBQTs7QUFUNUI7TUFhUSxtQkFBbUIsRUFBQTs7QUFiM0I7RUFtQkksYUFBYTtFQUNiLG1CQUFtQjtFQUNuQix1QkFBdUI7RUFDdkIsWUFBWTtFQUNaLGlCQUFpQjtFQUNqQixtQkFBbUI7RUFDbkIsa0JBQWtCO0VBQ2xCLFVBQVU7RUFDVixXQUFXO0VBQ1gsZ0JBQWdCO0VBQ2hCLGNBQWMsRUFBQTs7QUE3QmxCO0lBZ0NNLGlCQUFpQjtJQUNqQixhQUFhO0lBQ2IsY0FBYyxFQUFBOztBQWxDcEI7TUFxQ1Esb0RBQTREO2NBQTVELDRDQUE0RCxFQUFBOztBQXJDcEU7TUF5Q1Esa0RBQTBEO2NBQTFELDBDQUEwRCxFQUFBOztBQXpDbEU7RUErQ0ksYUFBYTtFQUNiLGtCQUFrQjtFQUNsQixzQkFBc0IsRUFBQTs7QUFqRDFCO0lBb0RNLGVBQWUsRUFBQTs7QUFwRHJCO01BdURRLG9CQUFvQjtNQUNwQixtQkFBbUIsRUFBQTs7QUF4RDNCO01BNERRLGtCQUFrQjtNQUNsQixxQkFBcUIsRUFBQTs7QUE3RDdCO0lBa0VNLGVBQWUsRUFBQTs7QUFsRXJCO01BcUVRLFdBQVcsRUFBQTs7QUFyRW5CO01BeUVVLG1CQUFtQixFQUFBOztBQXpFN0I7UUEyRVkseUJBQXlCO1FBQ3pCLDRCQUE0QixFQUFBOztBQTVFeEM7RUFvRkksZ0JBQWdCO0VBQ2hCLFdBQVc7RUFDWCxnQkFBZ0IsRUFBQSIsImZpbGUiOiJzcmMvYXBwL3NlbmQvc2VuZC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmZvcm0tc2VuZCB7XHJcblxyXG4gIC5pbnB1dC1ibG9ja3Mtcm93IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcblxyXG4gICAgPiBkaXYge1xyXG4gICAgICBmbGV4LWJhc2lzOiA1MCU7XHJcblxyXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMS41cmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc2VuZC1zZWxlY3Qge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuM3JlbTtcclxuICAgIG1hcmdpbjogMS41cmVtIDAgMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogMTVyZW07XHJcbiAgICBoZWlnaHQ6IDEuM3JlbTtcclxuXHJcbiAgICAuYXJyb3cge1xyXG4gICAgICBtYXJnaW4tbGVmdDogMXJlbTtcclxuICAgICAgd2lkdGg6IDAuOHJlbTtcclxuICAgICAgaGVpZ2h0OiAwLjhyZW07XHJcblxyXG4gICAgICAmLmRvd24ge1xyXG4gICAgICAgIG1hc2s6IHVybCh+c3JjL2Fzc2V0cy9pY29ucy9hcnJvdy1kb3duLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi51cCB7XHJcbiAgICAgICAgbWFzazogdXJsKH5zcmMvYXNzZXRzL2ljb25zL2Fycm93LXVwLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmFkZGl0aW9uYWwtZGV0YWlscyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xyXG4gICAgcGFkZGluZzogMC41cmVtIDAgMnJlbTtcclxuXHJcbiAgICA+IGRpdiB7XHJcbiAgICAgIGZsZXgtYmFzaXM6IDI1JTtcclxuXHJcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jaGVja2JveC1ibG9jayB7XHJcbiAgICAgIGZsZXgtYmFzaXM6IDUwJTtcclxuXHJcbiAgICAgID4gbGFiZWwge1xyXG4gICAgICAgIHRvcDogMy41cmVtO1xyXG4gICAgICB9XHJcbiAgICAgICYuZGlzYWJsZWQtY2hlY2tib3gtYmxvY2sge1xyXG4gICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1NTY1NzY7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkICM1NTY1NzY7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBidXR0b24ge1xyXG4gICAgbWFyZ2luOiAyLjRyZW0gMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiAxNXJlbTtcclxuICB9XHJcbn1cclxuIl19 */" - -/***/ }), - -/***/ "./src/app/send/send.component.ts": -/*!****************************************!*\ - !*** ./src/app/send/send.component.ts ***! - \****************************************/ -/*! exports provided: SendComponent */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SendComponent", function() { return SendComponent; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/forms */ "./node_modules/@angular/forms/fesm5/forms.js"); -/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm5/router.js"); -/* harmony import */ var _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../_helpers/services/backend.service */ "./src/app/_helpers/services/backend.service.ts"); -/* harmony import */ var _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../_helpers/services/variables.service */ "./src/app/_helpers/services/variables.service.ts"); -/* harmony import */ var _helpers_services_modal_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../_helpers/services/modal.service */ "./src/app/_helpers/services/modal.service.ts"); -/* harmony import */ var bignumber_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! bignumber.js */ "./node_modules/bignumber.js/bignumber.js"); -/* harmony import */ var bignumber_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(bignumber_js__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var _shared_constants__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../_shared/constants */ "./src/app/_shared/constants.ts"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - - -var SendComponent = /** @class */ (function () { - function SendComponent(route, backend, variablesService, modalService, ngZone) { - var _this = this; - this.route = route; - this.backend = backend; - this.variablesService = variablesService; - this.modalService = modalService; - this.ngZone = ngZone; - this.isOpen = false; - this.localAliases = []; - this.isModalDialogVisible = false; - this.hideWalletAddress = false; - this.currentWalletId = null; - this.sendForm = new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormGroup"]({ - address: new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormControl"]('', [_angular_forms__WEBPACK_IMPORTED_MODULE_1__["Validators"].required, function (g) { - _this.localAliases = []; - if (g.value) { - if (g.value.indexOf('@') !== 0) { - _this.isOpen = false; - _this.backend.validateAddress(g.value, function (valid_status) { - _this.ngZone.run(function () { - if (valid_status === false) { - g.setErrors(Object.assign({ 'address_not_valid': true }, g.errors)); - } - else { - if (g.hasError('address_not_valid')) { - delete g.errors['address_not_valid']; - if (Object.keys(g.errors).length === 0) { - g.setErrors(null); - } - } - } - }); - }); - return (g.hasError('address_not_valid')) ? { 'address_not_valid': true } : null; - } - else { - _this.isOpen = true; - _this.localAliases = _this.variablesService.aliases.filter(function (item) { - return item.name.indexOf(g.value) > -1; - }); - if (!(/^@?[a-z0-9\.\-]{6,25}$/.test(g.value))) { - g.setErrors(Object.assign({ 'alias_not_valid': true }, g.errors)); - } - else { - _this.backend.getAliasByName(g.value.replace('@', ''), function (alias_status) { - _this.ngZone.run(function () { - if (alias_status) { - if (g.hasError('alias_not_valid')) { - delete g.errors['alias_not_valid']; - if (Object.keys(g.errors).length === 0) { - g.setErrors(null); - } - } - } - else { - g.setErrors(Object.assign({ 'alias_not_valid': true }, g.errors)); - } - }); - }); - } - return (g.hasError('alias_not_valid')) ? { 'alias_not_valid': true } : null; - } - } - return null; - }]), - amount: new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormControl"](null, [_angular_forms__WEBPACK_IMPORTED_MODULE_1__["Validators"].required, function (g) { - if (new bignumber_js__WEBPACK_IMPORTED_MODULE_6__["BigNumber"](g.value).eq(0)) { - return { 'zero': true }; - } - return null; - }]), - comment: new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormControl"](''), - mixin: new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormControl"](_shared_constants__WEBPACK_IMPORTED_MODULE_7__["MIXIN"], _angular_forms__WEBPACK_IMPORTED_MODULE_1__["Validators"].required), - fee: new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormControl"](this.variablesService.default_fee, [_angular_forms__WEBPACK_IMPORTED_MODULE_1__["Validators"].required, function (g) { - if ((new bignumber_js__WEBPACK_IMPORTED_MODULE_6__["BigNumber"](g.value)).isLessThan(_this.variablesService.default_fee)) { - return { 'less_min': true }; - } - return null; - }]), - hide: new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormControl"](false) - }); - this.additionalOptions = false; - } - SendComponent.prototype.addressMouseDown = function (e) { - if (e['button'] === 0 && this.sendForm.get('address').value && this.sendForm.get('address').value.indexOf('@') === 0) { - this.isOpen = true; - } - }; - SendComponent.prototype.setAlias = function (alias) { - this.sendForm.get('address').setValue(alias); - }; - SendComponent.prototype.onClick = function (targetElement) { - if (targetElement.id !== 'send-address' && this.isOpen) { - this.isOpen = false; - } - }; - SendComponent.prototype.ngOnInit = function () { - var _this = this; - this.parentRouting = this.route.parent.params.subscribe(function (params) { - _this.currentWalletId = params['id']; - _this.mixin = _this.variablesService.currentWallet.send_data['mixin'] || _shared_constants__WEBPACK_IMPORTED_MODULE_7__["MIXIN"]; - if (_this.variablesService.currentWallet.is_auditable) { - _this.mixin = 0; - _this.sendForm.controls['mixin'].disable(); - } - _this.hideWalletAddress = _this.variablesService.currentWallet.is_auditable && !_this.variablesService.currentWallet.is_watch_only; - if (_this.hideWalletAddress) { - _this.sendForm.controls['hide'].disable(); - } - _this.sendForm.reset({ - address: _this.variablesService.currentWallet.send_data['address'], - amount: _this.variablesService.currentWallet.send_data['amount'], - comment: _this.variablesService.currentWallet.send_data['comment'], - mixin: _this.mixin, - fee: _this.variablesService.currentWallet.send_data['fee'] || _this.variablesService.default_fee, - hide: _this.variablesService.currentWallet.send_data['hide'] || false - }); - }); - }; - SendComponent.prototype.showDialog = function () { - this.isModalDialogVisible = true; - }; - SendComponent.prototype.confirmed = function (confirmed) { - if (confirmed) { - this.onSend(); - } - this.isModalDialogVisible = false; - }; - SendComponent.prototype.onSend = function () { - var _this = this; - if (this.sendForm.valid) { - if (this.sendForm.get('address').value.indexOf('@') !== 0) { - this.backend.validateAddress(this.sendForm.get('address').value, function (valid_status) { - if (valid_status === false) { - _this.ngZone.run(function () { - _this.sendForm.get('address').setErrors({ 'address_not_valid': true }); - }); - } - else { - _this.backend.sendMoney(_this.currentWalletId, _this.sendForm.get('address').value, _this.sendForm.get('amount').value, _this.sendForm.get('fee').value, _this.sendForm.get('mixin').value, _this.sendForm.get('comment').value, _this.sendForm.get('hide').value, function (send_status) { - if (send_status) { - _this.modalService.prepareModal('success', 'SEND.SUCCESS_SENT'); - _this.variablesService.currentWallet.send_data = { address: null, amount: null, comment: null, mixin: null, fee: null, hide: null }; - _this.sendForm.reset({ address: null, amount: null, comment: null, mixin: _this.mixin, fee: _this.variablesService.default_fee, hide: false }); - } - }); - } - }); - } - else { - this.backend.getAliasByName(this.sendForm.get('address').value.replace('@', ''), function (alias_status, alias_data) { - _this.ngZone.run(function () { - if (alias_status === false) { - _this.ngZone.run(function () { - _this.sendForm.get('address').setErrors({ 'alias_not_valid': true }); - }); - } - else { - _this.backend.sendMoney(_this.currentWalletId, alias_data.address, // this.sendForm.get('address').value, - _this.sendForm.get('amount').value, _this.sendForm.get('fee').value, _this.sendForm.get('mixin').value, _this.sendForm.get('comment').value, _this.sendForm.get('hide').value, function (send_status) { - if (send_status) { - _this.modalService.prepareModal('success', 'SEND.SUCCESS_SENT'); - _this.variablesService.currentWallet.send_data = { address: null, amount: null, comment: null, mixin: null, fee: null, hide: null }; - _this.sendForm.reset({ address: null, amount: null, comment: null, mixin: _this.mixin, fee: _this.variablesService.default_fee, hide: false }); - } - }); - } - }); - }); - } - } - }; - SendComponent.prototype.toggleOptions = function () { - this.additionalOptions = !this.additionalOptions; - }; - SendComponent.prototype.ngOnDestroy = function () { - this.parentRouting.unsubscribe(); - this.variablesService.currentWallet.send_data = { - address: this.sendForm.get('address').value, - amount: this.sendForm.get('amount').value, - comment: this.sendForm.get('comment').value, - mixin: this.sendForm.get('mixin').value, - fee: this.sendForm.get('fee').value, - hide: this.sendForm.get('hide').value - }; - }; - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["HostListener"])('document:click', ['$event.target']), - __metadata("design:type", Function), - __metadata("design:paramtypes", [Object]), - __metadata("design:returntype", void 0) - ], SendComponent.prototype, "onClick", null); - SendComponent = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Component"])({ - selector: 'app-send', - template: __webpack_require__(/*! ./send.component.html */ "./src/app/send/send.component.html"), - styles: [__webpack_require__(/*! ./send.component.scss */ "./src/app/send/send.component.scss")] - }), - __metadata("design:paramtypes", [_angular_router__WEBPACK_IMPORTED_MODULE_2__["ActivatedRoute"], - _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_3__["BackendService"], - _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_4__["VariablesService"], - _helpers_services_modal_service__WEBPACK_IMPORTED_MODULE_5__["ModalService"], - _angular_core__WEBPACK_IMPORTED_MODULE_0__["NgZone"]]) - ], SendComponent); - return SendComponent; -}()); - - - -/***/ }), - -/***/ "./src/app/settings/settings.component.html": -/*!**************************************************!*\ - !*** ./src/app/settings/settings.component.html ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = "
      \r\n\r\n
      \r\n
      \r\n \r\n
      \r\n\r\n

      {{ 'SETTINGS.TITLE' | translate }}

      \r\n\r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n
      \r\n\r\n
      \r\n \r\n \r\n \r\n {{item.language | translate}}\r\n \r\n \r\n {{item.language | translate}}\r\n \r\n \r\n
      \r\n\r\n
      \r\n \r\n \r\n \r\n {{item.name | translate}}\r\n \r\n \r\n {{item.name | translate}}\r\n \r\n \r\n
      \r\n\r\n
      \r\n \r\n \r\n \r\n
      \r\n\r\n
      \r\n\r\n {{ 'SETTINGS.MASTER_PASSWORD.TITLE' | translate }}\r\n\r\n
      \r\n \r\n \r\n
      \r\n {{ 'SETTINGS.FORM_ERRORS.PASS_NOT_MATCH' | translate }}\r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n {{ 'ERRORS.WRONG_PASSWORD' | translate }}\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n {{ 'SETTINGS.FORM_ERRORS.CONFIRM_NOT_MATCH' | translate }}\r\n
      \r\n
      \r\n\r\n \r\n\r\n
      \r\n
      \r\n\r\n
      \r\n
      {{ 'SETTINGS.LAST_BUILD' | translate : {value: currentBuild} }}
      \r\n
      \r\n\r\n
      \r\n" - -/***/ }), - -/***/ "./src/app/settings/settings.component.scss": -/*!**************************************************!*\ - !*** ./src/app/settings/settings.component.scss ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = ".head {\n justify-content: flex-end; }\n\n.settings-title {\n font-size: 1.7rem; }\n\n.theme-selection {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n margin: 2.4rem 0;\n width: 50%; }\n\n.theme-selection .radio-block {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n font-size: 1.3rem;\n line-height: 2.7rem; }\n\n.lock-selection {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n margin: 2.4rem 0;\n width: 50%; }\n\n.lock-selection .lock-selection-title {\n display: flex;\n font-size: 1.5rem;\n line-height: 2.7rem;\n margin-bottom: 1rem; }\n\n.scale-selection {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 0 4rem;\n width: 50%;\n height: 0.5rem; }\n\n.scale-selection .button-block {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1 0 auto;\n margin: 0 0.2rem;\n padding: 0;\n height: 0.5rem; }\n\n.scale-selection .button-block .label {\n position: absolute;\n bottom: -1rem;\n left: 50%;\n transform: translate(-50%, 100%);\n font-size: 1rem;\n white-space: nowrap; }\n\n.master-password {\n width: 50%; }\n\n.master-password .master-password-title {\n display: flex;\n font-size: 1.5rem;\n line-height: 2.7rem;\n margin-bottom: 1rem; }\n\n.master-password button {\n margin: 2.5rem auto;\n width: 100%;\n max-width: 15rem; }\n\n.last-build {\n font-size: 1rem; }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2V0dGluZ3MvRDpcXFByb2plY3RcXFdPUktfTkVXXFx6YW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFwcFxcc2V0dGluZ3NcXHNldHRpbmdzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UseUJBQXlCLEVBQUE7O0FBRzNCO0VBQ0UsaUJBQWlCLEVBQUE7O0FBR25CO0VBQ0UsYUFBYTtFQUNiLHNCQUFzQjtFQUN0Qix1QkFBdUI7RUFDdkIsZ0JBQWdCO0VBQ2hCLFVBQVUsRUFBQTs7QUFMWjtJQVFJLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsMkJBQTJCO0lBQzNCLGlCQUFpQjtJQUNqQixtQkFBbUIsRUFBQTs7QUFJdkI7RUFDRSxhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLHVCQUF1QjtFQUN2QixnQkFBZ0I7RUFDaEIsVUFBVSxFQUFBOztBQUxaO0lBUUksYUFBYTtJQUNiLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsbUJBQW1CLEVBQUE7O0FBSXZCO0VBQ0UsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQiw4QkFBOEI7RUFDOUIsaUJBQWlCO0VBQ2pCLFVBQVU7RUFDVixjQUFjLEVBQUE7O0FBTmhCO0lBU0ksa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsVUFBVTtJQUNWLGNBQWMsRUFBQTs7QUFoQmxCO01BbUJNLGtCQUFrQjtNQUNsQixhQUFhO01BQ2IsU0FBUztNQUNULGdDQUFnQztNQUNoQyxlQUFlO01BQ2YsbUJBQW1CLEVBQUE7O0FBS3pCO0VBQ0UsVUFBVSxFQUFBOztBQURaO0lBSUksYUFBYTtJQUNiLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsbUJBQW1CLEVBQUE7O0FBUHZCO0lBV0ksbUJBQW1CO0lBQ25CLFdBQVc7SUFDWCxnQkFBZ0IsRUFBQTs7QUFJcEI7RUFDRSxlQUFlLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9zZXR0aW5ncy9zZXR0aW5ncy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5oZWFkIHtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG59XHJcblxyXG4uc2V0dGluZ3MtdGl0bGUge1xyXG4gIGZvbnQtc2l6ZTogMS43cmVtO1xyXG59XHJcblxyXG4udGhlbWUtc2VsZWN0aW9uIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgbWFyZ2luOiAyLjRyZW0gMDtcclxuICB3aWR0aDogNTAlO1xyXG5cclxuICAucmFkaW8tYmxvY2sge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAyLjdyZW07XHJcbiAgfVxyXG59XHJcblxyXG4ubG9jay1zZWxlY3Rpb24ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICBtYXJnaW46IDIuNHJlbSAwO1xyXG4gIHdpZHRoOiA1MCU7XHJcblxyXG4gIC5sb2NrLXNlbGVjdGlvbi10aXRsZSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICBsaW5lLWhlaWdodDogMi43cmVtO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICB9XHJcbn1cclxuXHJcbi5zY2FsZS1zZWxlY3Rpb24ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgcGFkZGluZzogMCAwIDRyZW07XHJcbiAgd2lkdGg6IDUwJTtcclxuICBoZWlnaHQ6IDAuNXJlbTtcclxuXHJcbiAgLmJ1dHRvbi1ibG9jayB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgZmxleDogMSAwIGF1dG87XHJcbiAgICBtYXJnaW46IDAgMC4ycmVtO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGhlaWdodDogMC41cmVtO1xyXG5cclxuICAgIC5sYWJlbCB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgYm90dG9tOiAtMXJlbTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAxMDAlKTtcclxuICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLm1hc3Rlci1wYXNzd29yZCB7XHJcbiAgd2lkdGg6IDUwJTtcclxuXHJcbiAgLm1hc3Rlci1wYXNzd29yZC10aXRsZSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICBsaW5lLWhlaWdodDogMi43cmVtO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICB9XHJcblxyXG4gIGJ1dHRvbiB7XHJcbiAgICBtYXJnaW46IDIuNXJlbSBhdXRvO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDE1cmVtO1xyXG4gIH1cclxufVxyXG5cclxuLmxhc3QtYnVpbGQge1xyXG4gIGZvbnQtc2l6ZTogMXJlbTtcclxufVxyXG4iXX0= */" - -/***/ }), - -/***/ "./src/app/settings/settings.component.ts": -/*!************************************************!*\ - !*** ./src/app/settings/settings.component.ts ***! - \************************************************/ -/*! exports provided: SettingsComponent */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SettingsComponent", function() { return SettingsComponent; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../_helpers/services/variables.service */ "./src/app/_helpers/services/variables.service.ts"); -/* harmony import */ var _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../_helpers/services/backend.service */ "./src/app/_helpers/services/backend.service.ts"); -/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/forms */ "./node_modules/@angular/forms/fesm5/forms.js"); -/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/common */ "./node_modules/@angular/common/fesm5/common.js"); -/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @ngx-translate/core */ "./node_modules/@ngx-translate/core/fesm5/ngx-translate-core.js"); -/* harmony import */ var _helpers_services_utils_service__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../_helpers/services/utils.service */ "./src/app/_helpers/services/utils.service.ts"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - -var SettingsComponent = /** @class */ (function () { - function SettingsComponent(renderer, variablesService, backend, location, translate, ngZone, utilsService) { - var _this = this; - this.renderer = renderer; - this.variablesService = variablesService; - this.backend = backend; - this.location = location; - this.translate = translate; - this.ngZone = ngZone; - this.utilsService = utilsService; - this.languagesOptions = [ - { - name: 'en', - language: 'SETTINGS.LANGUAGE.EN' - }, - { - name: 'fr', - language: 'SETTINGS.LANGUAGE.FR' - }, - { - name: 'de', - language: 'SETTINGS.LANGUAGE.DE' - }, - { - name: 'id', - language: 'SETTINGS.LANGUAGE.ID' - }, - { - name: 'it', - language: 'SETTINGS.LANGUAGE.IT' - }, - { - name: 'pt', - language: 'SETTINGS.LANGUAGE.PT' - } - ]; - this.appLockOptions = [ - { - id: 5, - name: 'SETTINGS.APP_LOCK.TIME1' - }, - { - id: 15, - name: 'SETTINGS.APP_LOCK.TIME2' - }, - { - id: 60, - name: 'SETTINGS.APP_LOCK.TIME3' - }, - { - id: 0, - name: 'SETTINGS.APP_LOCK.TIME4' - } - ]; - this.appScaleOptions = [ - { - id: 7.5, - name: 'SETTINGS.SCALE.75' - }, - { - id: 10, - name: 'SETTINGS.SCALE.100' - }, - { - id: 12.5, - name: 'SETTINGS.SCALE.125' - }, - { - id: 15, - name: 'SETTINGS.SCALE.150' - } - ]; - this.appLogOptions = [ - { - id: -1 - }, - { - id: 0 - }, - { - id: 1 - }, - { - id: 2 - }, - { - id: 3 - }, - { - id: 4 - } - ]; - this.currentBuild = ''; - this.theme = this.variablesService.settings.theme; - this.scale = this.variablesService.settings.scale; - this.changeForm = new _angular_forms__WEBPACK_IMPORTED_MODULE_3__["FormGroup"]({ - password: new _angular_forms__WEBPACK_IMPORTED_MODULE_3__["FormControl"](''), - new_password: new _angular_forms__WEBPACK_IMPORTED_MODULE_3__["FormControl"]('', _angular_forms__WEBPACK_IMPORTED_MODULE_3__["Validators"].pattern(this.variablesService.pattern)), - new_confirmation: new _angular_forms__WEBPACK_IMPORTED_MODULE_3__["FormControl"]('') - }, [function (g) { - return g.get('new_password').value === g.get('new_confirmation').value ? null : { 'confirm_mismatch': true }; - }, function (g) { - if (_this.variablesService.appPass) { - return g.get('password').value === _this.variablesService.appPass ? null : { 'pass_mismatch': true }; - } - return null; - }]); - } - SettingsComponent.prototype.ngOnInit = function () { - var _this = this; - this.backend.getVersion(function (version, type) { - _this.ngZone.run(function () { - _this.currentBuild = version; - _this.variablesService.testnet = false; - if (type == 'testnet') { - _this.currentBuild += ' TESTNET'; - _this.variablesService.testnet = true; - } - _this.variablesService.networkType = type; - }); - }); - }; - SettingsComponent.prototype.setTheme = function (theme) { - this.renderer.removeClass(document.body, 'theme-' + this.theme); - this.theme = theme; - this.variablesService.settings.theme = this.theme; - this.renderer.addClass(document.body, 'theme-' + this.theme); - this.backend.storeAppData(); - }; - SettingsComponent.prototype.setScale = function (scale) { - this.scale = scale; - this.variablesService.settings.scale = this.scale; - var width = this.utilsService.getMinWidthByScale(this.scale); - var app = document.documentElement.querySelector('app-root'); - this.renderer.setStyle(app, 'min-width', width + 'px'); - this.renderer.setStyle(document.documentElement, 'font-size', this.scale + 'px'); - this.backend.storeAppData(); - }; - SettingsComponent.prototype.onSubmitChangePass = function () { - var _this = this; - if (this.changeForm.valid) { - this.variablesService.appPass = this.changeForm.get('new_password').value; - if (this.variablesService.appPass) { - this.backend.setMasterPassword({ pass: this.variablesService.appPass }, function (status, data) { - if (status) { - _this.backend.storeSecureAppData({ pass: _this.variablesService.appPass }); - _this.variablesService.appLogin = true; - _this.variablesService.dataIsLoaded = true; - if (_this.variablesService.settings.appLockTime) { - _this.variablesService.startCountdown(); - } - } - else { - console.log(data['error_code']); - } - }); - } - else { - this.backend.dropSecureAppData(); - } - this.changeForm.reset(); - } - }; - SettingsComponent.prototype.onLockChange = function () { - if (this.variablesService.appLogin && this.variablesService.settings.appLockTime) { - this.variablesService.restartCountdown(); - } - this.backend.storeAppData(); - }; - SettingsComponent.prototype.onLogChange = function () { - this.backend.setLogLevel(this.variablesService.settings.appLog); - this.backend.storeAppData(); - }; - SettingsComponent.prototype.onLanguageChange = function () { - this.translate.use(this.variablesService.settings.language); - this.backend.storeAppData(); - }; - SettingsComponent.prototype.back = function () { - this.location.back(); - }; - SettingsComponent = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Component"])({ - selector: 'app-settings', - template: __webpack_require__(/*! ./settings.component.html */ "./src/app/settings/settings.component.html"), - providers: [_helpers_services_utils_service__WEBPACK_IMPORTED_MODULE_6__["UtilsService"]], - styles: [__webpack_require__(/*! ./settings.component.scss */ "./src/app/settings/settings.component.scss")] - }), - __metadata("design:paramtypes", [_angular_core__WEBPACK_IMPORTED_MODULE_0__["Renderer2"], - _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_1__["VariablesService"], - _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_2__["BackendService"], - _angular_common__WEBPACK_IMPORTED_MODULE_4__["Location"], - _ngx_translate_core__WEBPACK_IMPORTED_MODULE_5__["TranslateService"], - _angular_core__WEBPACK_IMPORTED_MODULE_0__["NgZone"], - _helpers_services_utils_service__WEBPACK_IMPORTED_MODULE_6__["UtilsService"]]) - ], SettingsComponent); - return SettingsComponent; -}()); - - - -/***/ }), - -/***/ "./src/app/sidebar/sidebar.component.html": -/*!************************************************!*\ - !*** ./src/app/sidebar/sidebar.component.html ***! - \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = "
      \r\n
      \r\n

      {{ 'SIDEBAR.TITLE' | translate }}

      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n Auditable\r\n
      \r\n
      \r\n Watch-only\r\n
      \r\n
      \r\n Tracking\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n \r\n
      \r\n \r\n
      \r\n \r\n \r\n \r\n
      \r\n
      \r\n\r\n {{ 'SIDEBAR.LOG_OUT' | translate }}\r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n {{ 'SIDEBAR.SYNCHRONIZATION.OFFLINE' | translate }}\r\n \r\n \r\n {{ 'SIDEBAR.SYNCHRONIZATION.SYNCING' | translate }} {{ variablesService.height_app }}{{ 'SIDEBAR.SYNCHRONIZATION.SLASH' | translate }}{{ variablesService.height_max }}\r\n \r\n \r\n {{ 'SIDEBAR.SYNCHRONIZATION.ONLINE' | translate }}\r\n \r\n \r\n {{ 'SIDEBAR.SYNCHRONIZATION.LOADING' | translate }}\r\n \r\n \r\n {{ 'SIDEBAR.SYNCHRONIZATION.ERROR' | translate }}\r\n \r\n \r\n {{ 'SIDEBAR.SYNCHRONIZATION.COMPLETE' | translate }}\r\n \r\n \r\n {{ 'SIDEBAR.SYNCHRONIZATION.DOWNLOADING' | translate }} {{ variablesService.downloaded }}{{ 'SIDEBAR.SYNCHRONIZATION.SLASH' | translate }}{{ variablesService.total }}{{ 'SIDEBAR.SYNCHRONIZATION.MB' | translate }}\r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      {{ variablesService.sync.progress_value_text }}%
      \r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      {{ variablesService.download.progress_value_text }}%
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n {{ 'SIDEBAR.UPDATE.STANDARD' | translate }}\r\n
      \r\n \r\n
      \r\n \r\n
      \r\n {{ 'SIDEBAR.UPDATE.IMPORTANT' | translate }}\r\n
      \r\n {{ 'SIDEBAR.UPDATE.IMPORTANT_HINT' | translate }}\r\n
      \r\n \r\n
      \r\n \r\n
      \r\n {{ 'SIDEBAR.UPDATE.CRITICAL' | translate }}\r\n
      \r\n {{ 'SIDEBAR.UPDATE.IMPORTANT_HINT' | translate }}\r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n {{ 'SIDEBAR.UPDATE.TIME' | translate }}\r\n
      \r\n \r\n
      \r\n
      \r\n\r\n\r\n" - -/***/ }), - -/***/ "./src/app/sidebar/sidebar.component.scss": -/*!************************************************!*\ - !*** ./src/app/sidebar/sidebar.component.scss ***! - \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = ":host {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n flex: 0 0 25rem;\n padding: 0 3rem;\n max-width: 25rem; }\n\n.animated {\n display: flex;\n justify-content: center;\n align-items: center;\n margin-right: 1.2rem; }\n\n.animated::ng-deep svg {\n width: 2rem;\n height: 2rem; }\n\n.animated::ng-deep svg path, .animated::ng-deep svg circle, .animated::ng-deep svg polygon {\n fill: #4db1ff; }\n\n.wallet-type {\n position: absolute;\n top: 0;\n left: 0;\n width: 7px;\n height: 100%;\n background-color: transparent;\n transition: all ease .3s;\n overflow: hidden; }\n\n.wallet-type:hover {\n width: 28px; }\n\n.wallet-type .content {\n height: 100%;\n padding: 7px;\n font-size: 12px;\n line-height: 14px;\n font-weight: 500;\n color: #ffffff;\n text-decoration: none;\n text-transform: capitalize;\n transition: all ease .3s;\n writing-mode: vertical-rl;\n text-orientation: mixed; }\n\n.wallet-type .content.auditable {\n background-color: #5cda9d; }\n\n.wallet-type .content.watch-only, .wallet-type .content.auditable-watch-only {\n background-color: #8686ff; }\n\n.sidebar-accounts {\n position: relative;\n display: flex;\n flex-direction: column;\n flex: 1 1 auto; }\n\n.sidebar-accounts .sidebar-accounts-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex: 0 0 auto;\n height: 8rem;\n font-weight: 400; }\n\n.sidebar-accounts .sidebar-accounts-header h3 {\n font-size: 1.7rem; }\n\n.sidebar-accounts .sidebar-accounts-header button {\n background: transparent;\n border: none;\n outline: none; }\n\n.sidebar-accounts .sidebar-accounts-list {\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n margin: 0 -3rem;\n overflow-y: auto; }\n\n.sidebar-accounts .sidebar-accounts-list .sidebar-account {\n position: relative;\n display: flex;\n flex-direction: column;\n flex-shrink: 0;\n cursor: pointer;\n padding: 2.5rem 3rem; }\n\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .close-wallet-wrapper {\n display: flex;\n justify-content: flex-end;\n position: relative; }\n\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .close-wallet-wrapper button {\n display: flex;\n position: absolute;\n top: -12px;\n right: -18px;\n padding: 0;\n height: auto;\n background: transparent;\n border: none; }\n\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .close-wallet-wrapper button .icon {\n width: 1.3rem;\n height: 1.3rem; }\n\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .close-wallet-wrapper button .icon.close-wallet {\n background-color: transparent; }\n\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .close-wallet-wrapper button .icon.close-wallet::after {\n display: block;\n content: '';\n background: url('close-wallet-blue.svg') no-repeat center;\n width: 13px;\n height: 13px; }\n\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row {\n display: flex;\n align-items: center;\n justify-content: space-between; }\n\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-title-balance {\n line-height: 2.7rem; }\n\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-title-balance .title {\n font-size: 1.5rem;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap; }\n\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-title-balance .balance {\n font-size: 1.8rem;\n font-weight: 600;\n white-space: nowrap; }\n\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-alias {\n font-size: 1.3rem;\n line-height: 3.4rem;\n margin-bottom: 0.7rem; }\n\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-alias .name {\n display: flex;\n align-items: center;\n flex-shrink: 1;\n line-height: 1.6rem;\n padding-right: 1rem;\n overflow: hidden; }\n\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-alias .name span {\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap; }\n\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-alias .price {\n flex-shrink: 0; }\n\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-alias .icon {\n margin-left: 0.5rem;\n width: 1.3rem;\n height: 1.3rem;\n border-radius: 50%;\n color: #1a1a1a;\n font-size: 9px;\n font-weight: 700;\n line-height: 9px;\n padding-right: 1px;\n display: flex;\n align-items: center;\n justify-content: center; }\n\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-staking {\n line-height: 2.9rem; }\n\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-staking .text {\n font-size: 1.3rem; }\n\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-messages {\n line-height: 2.7rem; }\n\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-messages .text {\n font-size: 1.3rem; }\n\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-messages .indicator {\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 1rem;\n font-size: 1rem;\n min-width: 2.4rem;\n height: 1.6rem;\n padding: 0 0.5rem; }\n\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-synchronization {\n flex-direction: column;\n height: 5.6rem; }\n\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-synchronization .status {\n align-self: flex-start;\n font-size: 1.3rem;\n line-height: 2.6rem; }\n\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-synchronization .progress-bar-container {\n display: flex;\n margin: 0.4rem 0;\n height: 0.7rem;\n width: 100%; }\n\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-synchronization .progress-bar-container .progress-bar {\n flex: 1 0 auto; }\n\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-synchronization .progress-bar-container .progress-bar .fill {\n height: 100%; }\n\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-synchronization .progress-bar-container .progress-percent {\n flex: 0 0 auto;\n font-size: 1.3rem;\n line-height: 0.7rem;\n padding-left: 0.7rem; }\n\n.sidebar-accounts .sidebar-accounts-list .sidebar-account:focus {\n outline: none; }\n\n.sidebar-accounts:after {\n content: '';\n position: absolute;\n bottom: 0;\n left: -3rem;\n width: calc(100% + 6rem);\n height: 5rem; }\n\n.sidebar-settings {\n flex: 0 0 auto;\n padding-bottom: 1rem; }\n\n.sidebar-settings .wrap-button {\n margin: 0 -3rem; }\n\n.sidebar-settings .wrap-button button {\n display: flex;\n align-items: center;\n background: transparent;\n border: none;\n font-weight: 400;\n line-height: 3rem;\n outline: none;\n padding: 0 3rem;\n width: 100%; }\n\n.sidebar-settings .wrap-button button.disabled {\n cursor: url('not-allowed.svg'), not-allowed; }\n\n.sidebar-settings .wrap-button button .icon {\n margin-right: 1.2rem;\n width: 2rem;\n height: 2rem; }\n\n.sidebar-settings .wrap-button button .icon.contacts {\n -webkit-mask: url('contacts.svg') no-repeat center;\n mask: url('contacts.svg') no-repeat center; }\n\n.sidebar-settings .wrap-button button .icon.settings {\n -webkit-mask: url('settings.svg') no-repeat center;\n mask: url('settings.svg') no-repeat center; }\n\n.sidebar-settings .wrap-button button .icon.logout {\n -webkit-mask: url('logout.svg') no-repeat center;\n mask: url('logout.svg') no-repeat center; }\n\n.synchronization-status {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n flex: 0 0 7rem;\n font-size: 1.3rem; }\n\n.synchronization-status .status-container {\n position: relative;\n flex-grow: 1;\n text-align: left; }\n\n.synchronization-status .status-container .offline, .synchronization-status .status-container .online {\n position: relative;\n display: block;\n line-height: 1.2rem;\n padding-left: 2.2rem; }\n\n.synchronization-status .status-container .offline:before, .synchronization-status .status-container .online:before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n border-radius: 50%;\n width: 1.2rem;\n height: 1.2rem; }\n\n.synchronization-status .status-container .syncing, .synchronization-status .status-container .loading {\n line-height: 5rem; }\n\n.synchronization-status .status-container .progress-bar-container {\n position: absolute;\n bottom: 0;\n left: 0;\n height: 0.7rem;\n width: 100%; }\n\n.synchronization-status .status-container .progress-bar-container .syncing {\n display: flex; }\n\n.synchronization-status .status-container .progress-bar-container .syncing .progress-bar {\n flex: 1 0 auto; }\n\n.synchronization-status .status-container .progress-bar-container .syncing .progress-bar .fill {\n height: 100%; }\n\n.synchronization-status .status-container .progress-bar-container .syncing .progress-percent {\n flex: 0 0 auto;\n font-size: 1.3rem;\n line-height: 0.7rem;\n padding-left: 0.7rem; }\n\n.synchronization-status .status-container .progress-bar-container .loading {\n -webkit-animation: move 5s linear infinite;\n animation: move 5s linear infinite;\n background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.125, rgba(0, 0, 0, 0.15)), color-stop(0.125, transparent), color-stop(0.25, transparent), color-stop(0.25, rgba(0, 0, 0, 0.1)), color-stop(0.375, rgba(0, 0, 0, 0.1)), color-stop(0.375, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(0, 0, 0, 0.15)), color-stop(0.625, rgba(0, 0, 0, 0.15)), color-stop(0.625, transparent), color-stop(0.75, transparent), color-stop(0.75, rgba(0, 0, 0, 0.1)), color-stop(0.875, rgba(0, 0, 0, 0.1)), color-stop(0.875, transparent), to(transparent)), -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.125, rgba(0, 0, 0, 0.3)), color-stop(0.125, transparent), color-stop(0.25, transparent), color-stop(0.25, rgba(0, 0, 0, 0.25)), color-stop(0.375, rgba(0, 0, 0, 0.25)), color-stop(0.375, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(0, 0, 0, 0.3)), color-stop(0.625, rgba(0, 0, 0, 0.3)), color-stop(0.625, transparent), color-stop(0.75, transparent), color-stop(0.75, rgba(0, 0, 0, 0.25)), color-stop(0.875, rgba(0, 0, 0, 0.25)), color-stop(0.875, transparent), to(transparent));\n background-size: 7rem 7rem;\n height: 100%; }\n\n.synchronization-status .update-container {\n display: flex;\n flex-grow: 1;\n margin-left: 1rem;\n text-align: right; }\n\n.synchronization-status .update-container .update-text {\n flex: 1 1 auto;\n font-size: 1.2rem;\n line-height: 1.8rem;\n text-align: left; }\n\n.synchronization-status .update-container .update-text.time {\n font-size: 1.1rem; }\n\n.synchronization-status .update-container .icon {\n flex: 1 0 auto;\n margin: 0.3rem 0 0 0.6rem;\n width: 1.2rem;\n height: 1.2rem; }\n\n.synchronization-status .update-container .icon.update {\n -webkit-mask: url('update.svg') no-repeat center;\n mask: url('update.svg') no-repeat center; }\n\n.synchronization-status .update-container .icon.time {\n -webkit-mask: url('time.svg') no-repeat center;\n mask: url('time.svg') no-repeat center; }\n\n@-webkit-keyframes move {\n 0% {\n background-position: 100% -7rem; }\n 100% {\n background-position: 100% 7rem; } }\n\n@keyframes move {\n 0% {\n background-position: 100% -7rem; }\n 100% {\n background-position: 100% 7rem; } }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2lkZWJhci9EOlxcUHJvamVjdFxcV09SS19ORVdcXHphbm9cXHNyY1xcZ3VpXFxxdC1kYWVtb25cXGh0bWxfc291cmNlL3NyY1xcYXBwXFxzaWRlYmFyXFxzaWRlYmFyLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBYTtFQUNiLHNCQUFzQjtFQUN0Qiw4QkFBOEI7RUFDOUIsZUFBZTtFQUNmLGVBQWU7RUFDZixnQkFBZ0IsRUFBQTs7QUFHbEI7RUFDRSxhQUFhO0VBQ2IsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtFQUNuQixvQkFBb0IsRUFBQTs7QUFKdEI7SUFRSSxXQUFXO0lBQ1gsWUFBWSxFQUFBOztBQVRoQjtNQVlNLGFBQWEsRUFBQTs7QUFJbkI7RUFDRSxrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLE9BQU87RUFDUCxVQUFVO0VBQ1YsWUFBWTtFQUNaLDZCQUE2QjtFQUM3Qix3QkFBd0I7RUFDeEIsZ0JBQWdCLEVBQUE7O0FBUmxCO0lBVUksV0FBVyxFQUFBOztBQVZmO0lBYUksWUFBWTtJQUNaLFlBQVk7SUFDWixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixjQUFjO0lBQ2QscUJBQXFCO0lBQ3JCLDBCQUEwQjtJQUMxQix3QkFBd0I7SUFDeEIseUJBQXlCO0lBQ3pCLHVCQUF1QixFQUFBOztBQXZCM0I7TUF5Qk0seUJBQXlCLEVBQUE7O0FBekIvQjtNQTRCTSx5QkFBeUIsRUFBQTs7QUFJL0I7RUFDRSxrQkFBa0I7RUFDbEIsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixjQUFjLEVBQUE7O0FBSmhCO0lBT0ksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQiw4QkFBOEI7SUFDOUIsY0FBYztJQUNkLFlBQVk7SUFDWixnQkFBZ0IsRUFBQTs7QUFacEI7TUFlTSxpQkFBaUIsRUFBQTs7QUFmdkI7TUFtQk0sdUJBQXVCO01BQ3ZCLFlBQVk7TUFDWixhQUFhLEVBQUE7O0FBckJuQjtJQTBCSSxhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLGNBQWM7SUFDZCxlQUFlO0lBQ2YsZ0JBQWdCLEVBQUE7O0FBOUJwQjtNQWlDTSxrQkFBa0I7TUFDbEIsYUFBYTtNQUNiLHNCQUFzQjtNQUN0QixjQUFjO01BQ2QsZUFBZTtNQUNmLG9CQUFvQixFQUFBOztBQXRDMUI7UUF5Q1EsYUFBYTtRQUNiLHlCQUF5QjtRQUN6QixrQkFBa0IsRUFBQTs7QUEzQzFCO1VBNkNVLGFBQWE7VUFDYixrQkFBa0I7VUFDbEIsVUFBVTtVQUNWLFlBQVk7VUFDWixVQUFVO1VBQ1YsWUFBWTtVQUNaLHVCQUF1QjtVQUN2QixZQUFZLEVBQUE7O0FBcER0QjtZQXVEWSxhQUFhO1lBQ2IsY0FBYyxFQUFBOztBQXhEMUI7Y0EwRGMsNkJBQTZCLEVBQUE7O0FBMUQzQztjQTZEYyxjQUFjO2NBQ2QsV0FBVTtjQUNWLHlEQUEyRTtjQUMzRSxXQUFXO2NBQ1gsWUFBWSxFQUFBOztBQWpFMUI7UUF3RVEsYUFBYTtRQUNiLG1CQUFtQjtRQUNuQiw4QkFBOEIsRUFBQTs7QUExRXRDO1VBNkVVLG1CQUFtQixFQUFBOztBQTdFN0I7WUFnRlksaUJBQWlCO1lBQ2pCLHVCQUF1QjtZQUN2QixnQkFBZ0I7WUFDaEIsbUJBQW1CLEVBQUE7O0FBbkYvQjtZQXVGWSxpQkFBaUI7WUFDakIsZ0JBQWdCO1lBQ2hCLG1CQUFtQixFQUFBOztBQXpGL0I7VUE4RlUsaUJBQWlCO1VBQ2pCLG1CQUFtQjtVQUNuQixxQkFBcUIsRUFBQTs7QUFoRy9CO1lBbUdZLGFBQWE7WUFDYixtQkFBbUI7WUFDbkIsY0FBYztZQUNkLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsZ0JBQWdCLEVBQUE7O0FBeEc1QjtjQTJHYyx1QkFBdUI7Y0FDdkIsZ0JBQWdCO2NBQ2hCLG1CQUFtQixFQUFBOztBQTdHakM7WUFrSFksY0FBYyxFQUFBOztBQWxIMUI7WUFzSFksbUJBQW1CO1lBQ25CLGFBQWE7WUFDYixjQUFjO1lBQ2Qsa0JBQWtCO1lBQ2xCLGNBQWM7WUFDZCxjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLGdCQUFnQjtZQUNoQixrQkFBa0I7WUFDbEIsYUFBYTtZQUNiLG1CQUFtQjtZQUNuQix1QkFBdUIsRUFBQTs7QUFqSW5DO1VBc0lVLG1CQUFtQixFQUFBOztBQXRJN0I7WUF5SVksaUJBQWlCLEVBQUE7O0FBekk3QjtVQThJVSxtQkFBbUIsRUFBQTs7QUE5STdCO1lBaUpZLGlCQUFpQixFQUFBOztBQWpKN0I7WUFxSlksYUFBYTtZQUNiLG1CQUFtQjtZQUNuQix1QkFBdUI7WUFDdkIsbUJBQW1CO1lBQ25CLGVBQWU7WUFDZixpQkFBaUI7WUFDakIsY0FBYztZQUNkLGlCQUFpQixFQUFBOztBQTVKN0I7VUFpS1Usc0JBQXNCO1VBQ3RCLGNBQWMsRUFBQTs7QUFsS3hCO1lBcUtZLHNCQUFzQjtZQUN0QixpQkFBaUI7WUFDakIsbUJBQW1CLEVBQUE7O0FBdksvQjtZQTJLWSxhQUFhO1lBQ2IsZ0JBQWdCO1lBQ2hCLGNBQWM7WUFDZCxXQUFXLEVBQUE7O0FBOUt2QjtjQWlMYyxjQUFjLEVBQUE7O0FBakw1QjtnQkFvTGdCLFlBQVksRUFBQTs7QUFwTDVCO2NBeUxjLGNBQWM7Y0FDZCxpQkFBaUI7Y0FDakIsbUJBQW1CO2NBQ25CLG9CQUFvQixFQUFBOztBQTVMbEM7UUFxTVEsYUFBYSxFQUFBOztBQXJNckI7SUEyTUksV0FBVztJQUNYLGtCQUFrQjtJQUNsQixTQUFTO0lBQ1QsV0FBVztJQUNYLHdCQUF3QjtJQUN4QixZQUFZLEVBQUE7O0FBSWhCO0VBQ0UsY0FBYztFQUNkLG9CQUFvQixFQUFBOztBQUZ0QjtJQUtJLGVBQWUsRUFBQTs7QUFMbkI7TUFRTSxhQUFhO01BQ2IsbUJBQW1CO01BQ25CLHVCQUF1QjtNQUN2QixZQUFZO01BQ1osZ0JBQWdCO01BQ2hCLGlCQUFpQjtNQUNqQixhQUFhO01BQ2IsZUFBZTtNQUNmLFdBQVcsRUFBQTs7QUFoQmpCO1FBbUJRLDJDQUE0RCxFQUFBOztBQW5CcEU7UUF1QlEsb0JBQW9CO1FBQ3BCLFdBQVc7UUFDWCxZQUFZLEVBQUE7O0FBekJwQjtVQTRCVSxrREFBMkQ7a0JBQTNELDBDQUEyRCxFQUFBOztBQTVCckU7VUFnQ1Usa0RBQTJEO2tCQUEzRCwwQ0FBMkQsRUFBQTs7QUFoQ3JFO1VBb0NVLGdEQUF5RDtrQkFBekQsd0NBQXlELEVBQUE7O0FBT25FO0VBQ0UsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQiwyQkFBMkI7RUFDM0IsY0FBYztFQUNkLGlCQUFpQixFQUFBOztBQUxuQjtJQVFJLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osZ0JBQWdCLEVBQUE7O0FBVnBCO01BYU0sa0JBQWtCO01BQ2xCLGNBQWM7TUFDZCxtQkFBbUI7TUFDbkIsb0JBQW9CLEVBQUE7O0FBaEIxQjtRQW1CUSxXQUFXO1FBQ1gsa0JBQWtCO1FBQ2xCLE1BQU07UUFDTixPQUFPO1FBQ1Asa0JBQWtCO1FBQ2xCLGFBQWE7UUFDYixjQUFjLEVBQUE7O0FBekJ0QjtNQThCTSxpQkFBaUIsRUFBQTs7QUE5QnZCO01Ba0NNLGtCQUFrQjtNQUNsQixTQUFTO01BQ1QsT0FBTztNQUNQLGNBQWM7TUFDZCxXQUFXLEVBQUE7O0FBdENqQjtRQXlDUSxhQUFhLEVBQUE7O0FBekNyQjtVQTRDVSxjQUFjLEVBQUE7O0FBNUN4QjtZQStDWSxZQUFZLEVBQUE7O0FBL0N4QjtVQW9EVSxjQUFjO1VBQ2QsaUJBQWlCO1VBQ2pCLG1CQUFtQjtVQUNuQixvQkFBb0IsRUFBQTs7QUF2RDlCO1FBNERRLDBDQUFrQztnQkFBbEMsa0NBQWtDO1FBQ2xDLCtsQ0FzQkc7UUFDSCwwQkFBMEI7UUFDMUIsWUFBWSxFQUFBOztBQXJGcEI7SUEyRkksYUFBYTtJQUNiLFlBQVk7SUFDWixpQkFBaUI7SUFDakIsaUJBQWlCLEVBQUE7O0FBOUZyQjtNQWlHTSxjQUFjO01BQ2QsaUJBQWlCO01BQ2pCLG1CQUFtQjtNQUNuQixnQkFBZ0IsRUFBQTs7QUFwR3RCO1FBdUdRLGlCQUFpQixFQUFBOztBQXZHekI7TUE0R00sY0FBYztNQUNkLHlCQUF5QjtNQUN6QixhQUFhO01BQ2IsY0FBYyxFQUFBOztBQS9HcEI7UUFrSFEsZ0RBQXlEO2dCQUF6RCx3Q0FBeUQsRUFBQTs7QUFsSGpFO1FBc0hRLDhDQUF1RDtnQkFBdkQsc0NBQXVELEVBQUE7O0FBTS9EO0VBQ0U7SUFDRSwrQkFBK0IsRUFBQTtFQUVqQztJQUNFLDhCQUE4QixFQUFBLEVBQUE7O0FBTGxDO0VBQ0U7SUFDRSwrQkFBK0IsRUFBQTtFQUVqQztJQUNFLDhCQUE4QixFQUFBLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9zaWRlYmFyL3NpZGViYXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBmbGV4OiAwIDAgMjVyZW07XHJcbiAgcGFkZGluZzogMCAzcmVtO1xyXG4gIG1heC13aWR0aDogMjVyZW07XHJcbn1cclxuXHJcbi5hbmltYXRlZCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIG1hcmdpbi1yaWdodDogMS4ycmVtO1xyXG5cclxuICAmOjpuZy1kZWVwIHN2ZyB7XHJcblxyXG4gICAgd2lkdGg6IDJyZW07XHJcbiAgICBoZWlnaHQ6IDJyZW07XHJcblxyXG4gICAgcGF0aCwgY2lyY2xlLCBwb2x5Z29uIHtcclxuICAgICAgZmlsbDogIzRkYjFmZjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuLndhbGxldC10eXBlIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDdweDtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UgLjNzO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgJjpob3ZlciB7XHJcbiAgICB3aWR0aDogMjhweDtcclxuICB9XHJcbiAgLmNvbnRlbnQge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcGFkZGluZzogN3B4O1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE0cHg7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIC4zcztcclxuICAgIHdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7XHJcbiAgICB0ZXh0LW9yaWVudGF0aW9uOiBtaXhlZDtcclxuICAgICYuYXVkaXRhYmxlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVjZGE5ZDtcclxuICAgIH1cclxuICAgICYud2F0Y2gtb25seSwgJi5hdWRpdGFibGUtd2F0Y2gtb25seSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4Njg2ZmY7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi5zaWRlYmFyLWFjY291bnRzIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGZsZXg6IDEgMSBhdXRvO1xyXG5cclxuICAuc2lkZWJhci1hY2NvdW50cy1oZWFkZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgIGhlaWdodDogOHJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcblxyXG4gICAgaDMge1xyXG4gICAgICBmb250LXNpemU6IDEuN3JlbTtcclxuICAgIH1cclxuXHJcbiAgICBidXR0b24ge1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnNpZGViYXItYWNjb3VudHMtbGlzdCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGZsZXg6IDEgMSBhdXRvO1xyXG4gICAgbWFyZ2luOiAwIC0zcmVtO1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxuXHJcbiAgICAuc2lkZWJhci1hY2NvdW50IHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICBwYWRkaW5nOiAyLjVyZW0gM3JlbTtcclxuXHJcbiAgICAgIC5jbG9zZS13YWxsZXQtd3JhcHBlciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIHRvcDogLTEycHg7XHJcbiAgICAgICAgICByaWdodDogLTE4cHg7XHJcbiAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcblxyXG4gICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMS4zcmVtO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEuM3JlbTtcclxuICAgICAgICAgICAgJi5jbG9zZS13YWxsZXQge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuY2xvc2Utd2FsbGV0OjphZnRlciB7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgY29udGVudDonJztcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOnVybChcIi4uLy4uL2Fzc2V0cy9pY29ucy9jbG9zZS13YWxsZXQtYmx1ZS5zdmdcIikgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgICAgICAgICB3aWR0aDogMTNweDtcclxuICAgICAgICAgICAgICBoZWlnaHQ6IDEzcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5zaWRlYmFyLWFjY291bnQtcm93IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuICAgICAgICAmLmFjY291bnQtdGl0bGUtYmFsYW5jZSB7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogMi43cmVtO1xyXG5cclxuICAgICAgICAgIC50aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuYmFsYW5jZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hY2NvdW50LWFsaWFzIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDMuNHJlbTtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuN3JlbTtcclxuXHJcbiAgICAgICAgICAubmFtZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAxO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS42cmVtO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLnByaWNlIHtcclxuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xyXG4gICAgICAgICAgICB3aWR0aDogMS4zcmVtO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEuM3JlbTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICBjb2xvcjogIzFhMWExYTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA5cHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA5cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFweDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmFjY291bnQtc3Rha2luZyB7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogMi45cmVtO1xyXG5cclxuICAgICAgICAgIC50ZXh0IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmFjY291bnQtbWVzc2FnZXMge1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIuN3JlbTtcclxuXHJcbiAgICAgICAgICAudGV4dCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5pbmRpY2F0b3Ige1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMXJlbTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDIuNHJlbTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxLjZyZW07XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMC41cmVtO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hY2NvdW50LXN5bmNocm9uaXphdGlvbiB7XHJcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgaGVpZ2h0OiA1LjZyZW07XHJcblxyXG4gICAgICAgICAgLnN0YXR1cyB7XHJcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMi42cmVtO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwLjRyZW0gMDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAwLjdyZW07XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAgICAgLnByb2dyZXNzLWJhciB7XHJcbiAgICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XHJcblxyXG4gICAgICAgICAgICAgIC5maWxsIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5wcm9ncmVzcy1wZXJjZW50IHtcclxuICAgICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMC43cmVtO1xyXG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC43cmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiAtM3JlbTtcclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA2cmVtKTtcclxuICAgIGhlaWdodDogNXJlbTtcclxuICB9XHJcbn1cclxuXHJcbi5zaWRlYmFyLXNldHRpbmdzIHtcclxuICBmbGV4OiAwIDAgYXV0bztcclxuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcclxuXHJcbiAgLndyYXAtYnV0dG9uIHtcclxuICAgIG1hcmdpbjogMCAtM3JlbTtcclxuXHJcbiAgICBidXR0b24ge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICBsaW5lLWhlaWdodDogM3JlbTtcclxuICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgcGFkZGluZzogMCAzcmVtO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgIGN1cnNvcjogdXJsKC4uLy4uL2Fzc2V0cy9pY29ucy9ub3QtYWxsb3dlZC5zdmcpLCBub3QtYWxsb3dlZDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmljb24ge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMS4ycmVtO1xyXG4gICAgICAgIHdpZHRoOiAycmVtO1xyXG4gICAgICAgIGhlaWdodDogMnJlbTtcclxuXHJcbiAgICAgICAgJi5jb250YWN0cyB7XHJcbiAgICAgICAgICBtYXNrOiB1cmwoLi4vLi4vYXNzZXRzL2ljb25zL2NvbnRhY3RzLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuc2V0dGluZ3Mge1xyXG4gICAgICAgICAgbWFzazogdXJsKC4uLy4uL2Fzc2V0cy9pY29ucy9zZXR0aW5ncy5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmxvZ291dCB7XHJcbiAgICAgICAgICBtYXNrOiB1cmwoLi4vLi4vYXNzZXRzL2ljb25zL2xvZ291dC5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uc3luY2hyb25pemF0aW9uLXN0YXR1cyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICBmbGV4OiAwIDAgN3JlbTtcclxuICBmb250LXNpemU6IDEuM3JlbTtcclxuXHJcbiAgLnN0YXR1cy1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuXHJcbiAgICAub2ZmbGluZSwgLm9ubGluZSB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJyZW07XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMi4ycmVtO1xyXG5cclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgd2lkdGg6IDEuMnJlbTtcclxuICAgICAgICBoZWlnaHQ6IDEuMnJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zeW5jaW5nLCAubG9hZGluZyB7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiA1cmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBib3R0b206IDA7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIGhlaWdodDogMC43cmVtO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgIC5zeW5jaW5nIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG5cclxuICAgICAgICAucHJvZ3Jlc3MtYmFyIHtcclxuICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xyXG5cclxuICAgICAgICAgIC5maWxsIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnByb2dyZXNzLXBlcmNlbnQge1xyXG4gICAgICAgICAgZmxleDogMCAwIGF1dG87XHJcbiAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjdyZW07XHJcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuN3JlbTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5sb2FkaW5nIHtcclxuICAgICAgICBhbmltYXRpb246IG1vdmUgNXMgbGluZWFyIGluZmluaXRlO1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6XHJcbiAgICAgICAgICAtd2Via2l0LWdyYWRpZW50KFxyXG4gICAgICAgICAgICAgIGxpbmVhciwgMCAwLCAxMDAlIDEwMCUsXHJcbiAgICAgICAgICAgICAgY29sb3Itc3RvcCguMTI1LCByZ2JhKDAsIDAsIDAsIC4xNSkpLCBjb2xvci1zdG9wKC4xMjUsIHRyYW5zcGFyZW50KSxcclxuICAgICAgICAgICAgICBjb2xvci1zdG9wKC4yNTAsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCguMjUwLCByZ2JhKDAsIDAsIDAsIC4xMCkpLFxyXG4gICAgICAgICAgICAgIGNvbG9yLXN0b3AoLjM3NSwgcmdiYSgwLCAwLCAwLCAuMTApKSwgY29sb3Itc3RvcCguMzc1LCB0cmFuc3BhcmVudCksXHJcbiAgICAgICAgICAgICAgY29sb3Itc3RvcCguNTAwLCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoLjUwMCwgcmdiYSgwLCAwLCAwLCAuMTUpKSxcclxuICAgICAgICAgICAgICBjb2xvci1zdG9wKC42MjUsIHJnYmEoMCwgMCwgMCwgLjE1KSksIGNvbG9yLXN0b3AoLjYyNSwgdHJhbnNwYXJlbnQpLFxyXG4gICAgICAgICAgICAgIGNvbG9yLXN0b3AoLjc1MCwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKC43NTAsIHJnYmEoMCwgMCwgMCwgLjEwKSksXHJcbiAgICAgICAgICAgICAgY29sb3Itc3RvcCguODc1LCByZ2JhKDAsIDAsIDAsIC4xMCkpLCBjb2xvci1zdG9wKC44NzUsIHRyYW5zcGFyZW50KSxcclxuICAgICAgICAgICAgICB0byh0cmFuc3BhcmVudClcclxuICAgICAgICAgICksXHJcbiAgICAgICAgICAtd2Via2l0LWdyYWRpZW50KFxyXG4gICAgICAgICAgICAgIGxpbmVhciwgMCAxMDAlLCAxMDAlIDAsXHJcbiAgICAgICAgICAgICAgY29sb3Itc3RvcCguMTI1LCByZ2JhKDAsIDAsIDAsIC4zMCkpLCBjb2xvci1zdG9wKC4xMjUsIHRyYW5zcGFyZW50KSxcclxuICAgICAgICAgICAgICBjb2xvci1zdG9wKC4yNTAsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCguMjUwLCByZ2JhKDAsIDAsIDAsIC4yNSkpLFxyXG4gICAgICAgICAgICAgIGNvbG9yLXN0b3AoLjM3NSwgcmdiYSgwLCAwLCAwLCAuMjUpKSwgY29sb3Itc3RvcCguMzc1LCB0cmFuc3BhcmVudCksXHJcbiAgICAgICAgICAgICAgY29sb3Itc3RvcCguNTAwLCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoLjUwMCwgcmdiYSgwLCAwLCAwLCAuMzApKSxcclxuICAgICAgICAgICAgICBjb2xvci1zdG9wKC42MjUsIHJnYmEoMCwgMCwgMCwgLjMwKSksIGNvbG9yLXN0b3AoLjYyNSwgdHJhbnNwYXJlbnQpLFxyXG4gICAgICAgICAgICAgIGNvbG9yLXN0b3AoLjc1MCwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKC43NTAsIHJnYmEoMCwgMCwgMCwgLjI1KSksXHJcbiAgICAgICAgICAgICAgY29sb3Itc3RvcCguODc1LCByZ2JhKDAsIDAsIDAsIC4yNSkpLCBjb2xvci1zdG9wKC44NzUsIHRyYW5zcGFyZW50KSxcclxuICAgICAgICAgICAgICB0byh0cmFuc3BhcmVudClcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA3cmVtIDdyZW07XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAudXBkYXRlLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuXHJcbiAgICAudXBkYXRlLXRleHQge1xyXG4gICAgICBmbGV4OiAxIDEgYXV0bztcclxuICAgICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjhyZW07XHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcblxyXG4gICAgICAmLnRpbWUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmljb24ge1xyXG4gICAgICBmbGV4OiAxIDAgYXV0bztcclxuICAgICAgbWFyZ2luOiAwLjNyZW0gMCAwIDAuNnJlbTtcclxuICAgICAgd2lkdGg6IDEuMnJlbTtcclxuICAgICAgaGVpZ2h0OiAxLjJyZW07XHJcblxyXG4gICAgICAmLnVwZGF0ZSB7XHJcbiAgICAgICAgbWFzazogdXJsKC4uLy4uL2Fzc2V0cy9pY29ucy91cGRhdGUuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLnRpbWUge1xyXG4gICAgICAgIG1hc2s6IHVybCguLi8uLi9hc3NldHMvaWNvbnMvdGltZS5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgbW92ZSB7XHJcbiAgMCUge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAtN3JlbTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDdyZW07XHJcbiAgfVxyXG59XHJcbiJdfQ== */" - -/***/ }), - -/***/ "./src/app/sidebar/sidebar.component.ts": -/*!**********************************************!*\ - !*** ./src/app/sidebar/sidebar.component.ts ***! - \**********************************************/ -/*! exports provided: SidebarComponent */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SidebarComponent", function() { return SidebarComponent; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm5/router.js"); -/* harmony import */ var _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../_helpers/services/variables.service */ "./src/app/_helpers/services/variables.service.ts"); -/* harmony import */ var _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../_helpers/services/backend.service */ "./src/app/_helpers/services/backend.service.ts"); -/* harmony import */ var _helpers_services_modal_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../_helpers/services/modal.service */ "./src/app/_helpers/services/modal.service.ts"); -/* harmony import */ var _shared_constants__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../_shared/constants */ "./src/app/_shared/constants.ts"); -/* harmony import */ var _assets_icons_icons_json__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../assets/icons/icons.json */ "./src/assets/icons/icons.json"); -var _assets_icons_icons_json__WEBPACK_IMPORTED_MODULE_6___namespace = /*#__PURE__*/__webpack_require__.t(/*! ../../assets/icons/icons.json */ "./src/assets/icons/icons.json", 1); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - - -var SidebarComponent = /** @class */ (function () { - function SidebarComponent(route, router, variablesService, backend, modal, ngZone) { - this.route = route; - this.router = router; - this.variablesService = variablesService; - this.backend = backend; - this.modal = modal; - this.ngZone = ngZone; - this.contacts = _assets_icons_icons_json__WEBPACK_IMPORTED_MODULE_6__.contacts; - this.settings = _assets_icons_icons_json__WEBPACK_IMPORTED_MODULE_6__.settings; - this.exit = _assets_icons_icons_json__WEBPACK_IMPORTED_MODULE_6__.exit; - this.isModalDialogVisible = false; - } - SidebarComponent.prototype.ngOnInit = function () { - var _this = this; - if (this.router.url.indexOf('/wallet/') !== -1) { - var localPathArr = this.router.url.split('/'); - if (localPathArr.length >= 3) { - this.walletActive = parseInt(localPathArr[2], 10); - } - } - else if (this.router.url.indexOf('/details') !== -1) { - this.walletActive = this.variablesService.currentWallet.wallet_id; - } - else { - this.walletActive = null; - } - this.walletSubRouting = this.router.events.subscribe(function (event) { - if (event instanceof _angular_router__WEBPACK_IMPORTED_MODULE_1__["NavigationStart"]) { - if (event.url.indexOf('/wallet/') !== -1) { - var localPathArr = event.url.split('/'); - if (localPathArr.length >= 3) { - _this.walletActive = parseInt(localPathArr[2], 10); - } - } - else if (event.url.indexOf('/details') !== -1) { - _this.walletActive = _this.variablesService.currentWallet.wallet_id; - } - else { - _this.walletActive = null; - } - } - }); - }; - SidebarComponent.prototype.goMainPage = function () { - var _this = this; - if (this.route.snapshot.queryParams && this.route.snapshot.queryParams.prevUrl === 'login') { - this.ngZone.run(function () { - _this.router.navigate(['/'], { queryParams: { prevUrl: 'login' } }); - }); - } - else { - this.ngZone.run(function () { - _this.router.navigate(['/']); - }); - } - }; - ; - SidebarComponent.prototype.contactsRoute = function () { - if (this.variablesService.appPass) { - this.router.navigate(['/contacts']); - } - else { - this.modal.prepareModal('error', 'CONTACTS.FORM_ERRORS.SET_MASTER_PASSWORD'); - } - }; - SidebarComponent.prototype.showDialog = function (wallet_id) { - this.isModalDialogVisible = true; - this.closeWalletId = wallet_id; - }; - SidebarComponent.prototype.confirmed = function (confirmed) { - if (confirmed) { - this.closeWallet(this.closeWalletId); - } - this.isModalDialogVisible = false; - }; - SidebarComponent.prototype.closeWallet = function (wallet_id) { - var _this = this; - this.backend.closeWallet(wallet_id, function () { - for (var i = _this.variablesService.wallets.length - 1; i >= 0; i--) { - if (_this.variablesService.wallets[i].wallet_id === _this.variablesService.currentWallet.wallet_id) { - _this.variablesService.wallets.splice(i, 1); - } - } - _this.ngZone.run(function () { - if (_this.variablesService.wallets.length) { - _this.variablesService.currentWallet = _this.variablesService.wallets[0]; - _this.router.navigate(['/wallet/' + _this.variablesService.currentWallet.wallet_id]); - } - else { - _this.router.navigate(['/']); - } - }); - if (_this.variablesService.appPass) { - _this.backend.storeSecureAppData(); - } - }); - }; - SidebarComponent.prototype.getUpdate = function () { - this.backend.openUrlInBrowser(_shared_constants__WEBPACK_IMPORTED_MODULE_5__["DOWNLOADS_PAGE_URL"]); - }; - SidebarComponent.prototype.goToAuditableWalletHelpPage = function (e) { - e.preventDefault(); - this.backend.openUrlInBrowser(_shared_constants__WEBPACK_IMPORTED_MODULE_5__["AUDITABLE_WALLET_HELP_PAGE"]); - }; - SidebarComponent.prototype.logOut = function () { - var _this = this; - this.variablesService.stopCountdown(); - this.variablesService.appLogin = false; - this.variablesService.appPass = ''; - this.ngZone.run(function () { - _this.router.navigate(['/login'], { queryParams: { type: 'auth' } }); - }); - }; - SidebarComponent.prototype.ngOnDestroy = function () { - this.walletSubRouting.unsubscribe(); - }; - SidebarComponent = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Component"])({ - selector: 'app-sidebar', - template: __webpack_require__(/*! ./sidebar.component.html */ "./src/app/sidebar/sidebar.component.html"), - styles: [__webpack_require__(/*! ./sidebar.component.scss */ "./src/app/sidebar/sidebar.component.scss")] - }), - __metadata("design:paramtypes", [_angular_router__WEBPACK_IMPORTED_MODULE_1__["ActivatedRoute"], - _angular_router__WEBPACK_IMPORTED_MODULE_1__["Router"], - _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_2__["VariablesService"], - _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_3__["BackendService"], - _helpers_services_modal_service__WEBPACK_IMPORTED_MODULE_4__["ModalService"], - _angular_core__WEBPACK_IMPORTED_MODULE_0__["NgZone"]]) - ], SidebarComponent); - return SidebarComponent; -}()); - - - -/***/ }), - -/***/ "./src/app/staking/staking.component.html": -/*!************************************************!*\ - !*** ./src/app/staking/staking.component.html ***! - \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = "
      \r\n
      \r\n
      \r\n {{ 'STAKING.TITLE' | translate }}\r\n \r\n \r\n \r\n
      \r\n
      \r\n {{ 'STAKING.TITLE_PENDING' | translate }}\r\n {{pending.total | intToMoney}} {{variablesService.defaultCurrency}}\r\n
      \r\n
      \r\n {{ 'STAKING.TITLE_TOTAL' | translate }}\r\n {{total | intToMoney}} {{variablesService.defaultCurrency}}\r\n
      \r\n
      \r\n
      \r\n {{selectedDate.date | date : 'EEEE, MMMM d, y'}}\r\n {{selectedDate.amount}} {{variablesService.defaultCurrency}}\r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n
      \r\n\r\n
      \r\n
      \r\n {{ 'STAKING.TITLE_PERIOD' | translate }}\r\n
      \r\n
      \r\n \r\n \r\n \r\n
      \r\n\r\n
      \r\n {{ 'STAKING.TITLE_GROUP' | translate }}\r\n
      \r\n
      \r\n \r\n \r\n \r\n
      \r\n
      \r\n" - -/***/ }), - -/***/ "./src/app/staking/staking.component.scss": -/*!************************************************!*\ - !*** ./src/app/staking/staking.component.scss ***! - \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = ":host {\n display: flex;\n flex-direction: column;\n width: 100%; }\n\n.chart-header {\n display: flex;\n flex: 0 0 auto; }\n\n.chart-header .general {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n flex-grow: 1;\n font-size: 1.3rem;\n margin: -0.5rem 0; }\n\n.chart-header .general > div {\n display: flex;\n align-items: center;\n margin: 0.5rem 0;\n height: 2rem; }\n\n.chart-header .general > div .label {\n display: inline-block;\n width: 9rem; }\n\n.chart-header .selected {\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n justify-content: center;\n flex-grow: 1;\n font-size: 1.8rem; }\n\n.chart-header .selected span {\n line-height: 2.9rem; }\n\n.chart {\n position: relative;\n display: flex;\n align-items: center;\n flex: 1 1 auto;\n min-height: 40rem; }\n\n.chart > div {\n position: absolute;\n width: 100%;\n height: 100%; }\n\n.chart-options {\n display: flex;\n align-items: center;\n height: 2.4rem;\n flex: 0 0 auto; }\n\n.chart-options .title {\n font-size: 1.3rem;\n padding: 0 1rem; }\n\n.chart-options .title:first-child {\n padding-left: 0; }\n\n.chart-options .options {\n display: flex;\n justify-content: space-between;\n flex-grow: 1;\n height: 100%; }\n\n.chart-options .options button {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1 1 auto;\n cursor: pointer;\n font-size: 1.3rem;\n margin: 0 0.1rem;\n padding: 0;\n height: 100%; }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc3Rha2luZy9EOlxcUHJvamVjdFxcV09SS19ORVdcXHphbm9cXHNyY1xcZ3VpXFxxdC1kYWVtb25cXGh0bWxfc291cmNlL3NyY1xcYXBwXFxzdGFraW5nXFxzdGFraW5nLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixXQUFXLEVBQUE7O0FBR2I7RUFDRSxhQUFhO0VBQ2IsY0FBYyxFQUFBOztBQUZoQjtJQUtJLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsdUJBQXVCO0lBQ3ZCLHVCQUF1QjtJQUN2QixZQUFZO0lBQ1osaUJBQWlCO0lBQ2pCLGlCQUFpQixFQUFBOztBQVhyQjtNQWNNLGFBQWE7TUFDYixtQkFBbUI7TUFDbkIsZ0JBQWdCO01BQ2hCLFlBQVksRUFBQTs7QUFqQmxCO1FBb0JRLHFCQUFxQjtRQUNyQixXQUFXLEVBQUE7O0FBckJuQjtJQTJCSSxhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLHFCQUFxQjtJQUNyQix1QkFBdUI7SUFDdkIsWUFBWTtJQUNaLGlCQUFpQixFQUFBOztBQWhDckI7TUFtQ00sbUJBQW1CLEVBQUE7O0FBS3pCO0VBQ0Usa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsY0FBYztFQUNkLGlCQUFpQixFQUFBOztBQUxuQjtJQVFJLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsWUFBWSxFQUFBOztBQUloQjtFQUNFLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsY0FBYztFQUNkLGNBQWMsRUFBQTs7QUFKaEI7SUFPSSxpQkFBaUI7SUFDakIsZUFBZSxFQUFBOztBQVJuQjtNQVdNLGVBQWUsRUFBQTs7QUFYckI7SUFnQkksYUFBYTtJQUNiLDhCQUE4QjtJQUM5QixZQUFZO0lBQ1osWUFBWSxFQUFBOztBQW5CaEI7TUFzQk0sYUFBYTtNQUNiLG1CQUFtQjtNQUNuQix1QkFBdUI7TUFDdkIsY0FBYztNQUNkLGVBQWU7TUFDZixpQkFBaUI7TUFDakIsZ0JBQWdCO01BQ2hCLFVBQVU7TUFDVixZQUFZLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9zdGFraW5nL3N0YWtpbmcuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uY2hhcnQtaGVhZGVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXg6IDAgMCBhdXRvO1xyXG5cclxuICAuZ2VuZXJhbCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgIG1hcmdpbjogLTAuNXJlbSAwO1xyXG5cclxuICAgID4gZGl2IHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgbWFyZ2luOiAwLjVyZW0gMDtcclxuICAgICAgaGVpZ2h0OiAycmVtO1xyXG5cclxuICAgICAgLmxhYmVsIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDlyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5zZWxlY3RlZCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgZm9udC1zaXplOiAxLjhyZW07XHJcblxyXG4gICAgc3BhbiB7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjlyZW07XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uY2hhcnQge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZmxleDogMSAxIGF1dG87XHJcbiAgbWluLWhlaWdodDogNDByZW07XHJcblxyXG4gID4gZGl2IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gIH1cclxufVxyXG5cclxuLmNoYXJ0LW9wdGlvbnMge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBoZWlnaHQ6IDIuNHJlbTtcclxuICBmbGV4OiAwIDAgYXV0bztcclxuXHJcbiAgLnRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gICAgcGFkZGluZzogMCAxcmVtO1xyXG5cclxuICAgICY6Zmlyc3QtY2hpbGR7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5vcHRpb25zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgYnV0dG9uIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gICAgICBtYXJnaW46IDAgMC4xcmVtO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ== */" - -/***/ }), - -/***/ "./src/app/staking/staking.component.ts": -/*!**********************************************!*\ - !*** ./src/app/staking/staking.component.ts ***! - \**********************************************/ -/*! exports provided: StakingComponent */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "StakingComponent", function() { return StakingComponent; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../_helpers/services/variables.service */ "./src/app/_helpers/services/variables.service.ts"); -/* harmony import */ var angular_highcharts__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! angular-highcharts */ "./node_modules/angular-highcharts/fesm5/angular-highcharts.js"); -/* harmony import */ var _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../_helpers/services/backend.service */ "./src/app/_helpers/services/backend.service.ts"); -/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm5/router.js"); -/* harmony import */ var _helpers_pipes_int_to_money_pipe__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../_helpers/pipes/int-to-money.pipe */ "./src/app/_helpers/pipes/int-to-money.pipe.ts"); -/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @ngx-translate/core */ "./node_modules/@ngx-translate/core/fesm5/ngx-translate-core.js"); -/* harmony import */ var bignumber_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! bignumber.js */ "./node_modules/bignumber.js/bignumber.js"); -/* harmony import */ var bignumber_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(bignumber_js__WEBPACK_IMPORTED_MODULE_7__); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - - -var StakingComponent = /** @class */ (function () { - function StakingComponent(route, variablesService, backend, ngZone, intToMoneyPipe, translate) { - this.route = route; - this.variablesService = variablesService; - this.backend = backend; - this.ngZone = ngZone; - this.intToMoneyPipe = intToMoneyPipe; - this.translate = translate; - this.periods = [ - { - title: this.translate.instant('STAKING.PERIOD.WEEK1'), - key: '1 week', - active: false - }, - { - title: this.translate.instant('STAKING.PERIOD.WEEK2'), - key: '2 week', - active: false - }, - { - title: this.translate.instant('STAKING.PERIOD.MONTH1'), - key: '1 month', - active: false - }, - { - title: this.translate.instant('STAKING.PERIOD.MONTH3'), - key: '3 month', - active: false - }, - { - title: this.translate.instant('STAKING.PERIOD.MONTH6'), - key: '6 month', - active: false - }, - { - title: this.translate.instant('STAKING.PERIOD.YEAR'), - key: '1 year', - active: false - }, - { - title: this.translate.instant('STAKING.PERIOD.ALL'), - key: 'All', - active: true - } - ]; - this.groups = [ - { - title: this.translate.instant('STAKING.GROUP.DAY'), - key: 'day', - active: true - }, - { - title: this.translate.instant('STAKING.GROUP.WEEK'), - key: 'week', - active: false - }, - { - title: this.translate.instant('STAKING.GROUP.MONTH'), - key: 'month', - active: false - } - ]; - this.selectedDate = { - date: null, - amount: null - }; - this.originalData = []; - this.total = new bignumber_js__WEBPACK_IMPORTED_MODULE_7__["BigNumber"](0); - this.pending = { - list: [], - total: new bignumber_js__WEBPACK_IMPORTED_MODULE_7__["BigNumber"](0) - }; - } - StakingComponent_1 = StakingComponent; - StakingComponent.makeGroupTime = function (key, date) { - if (key === 'day') { - return date.setHours(0, 0, 0, 0); - } - else if (key === 'week') { - return new Date(date.setDate(date.getDate() - date.getDay())).setHours(0, 0, 0, 0); - } - else { - return new Date(date.setDate(1)).setHours(0, 0, 0, 0); - } - }; - StakingComponent.prototype.ngOnInit = function () { - var _this = this; - this.parentRouting = this.route.parent.params.subscribe(function () { - _this.getMiningHistory(); - }); - this.heightAppEvent = this.variablesService.getHeightAppEvent.subscribe(function (newHeight) { - if (!_this.pending.total.isZero()) { - var pendingCount = _this.pending.list.length; - for (var i = pendingCount - 1; i >= 0; i--) { - if (newHeight - _this.pending.list[i].h >= 10) { - _this.pending.list.splice(i, 1); - } - } - if (pendingCount !== _this.pending.list.length) { - _this.pending.total = new bignumber_js__WEBPACK_IMPORTED_MODULE_7__["BigNumber"](0); - for (var i = 0; i < _this.pending.list.length; i++) { - _this.pending.total = _this.pending.total.plus(_this.pending.list[i].a); - } - } - } - }); - this.refreshStackingEvent = this.variablesService.getRefreshStackingEvent.subscribe(function (wallet_id) { - if (_this.variablesService.currentWallet.wallet_id === wallet_id) { - _this.getMiningHistory(); - } - }); - }; - StakingComponent.prototype.drawChart = function (data) { - var _this = this; - this.chart = new angular_highcharts__WEBPACK_IMPORTED_MODULE_2__["Chart"]({ - title: { text: '' }, - credits: { enabled: false }, - exporting: { enabled: false }, - legend: { enabled: false }, - chart: { - type: 'line', - backgroundColor: 'transparent', - height: null, - zoomType: null, - events: { - load: function () { - _this.changePeriod(); - } - } - }, - yAxis: { - min: 0, - tickAmount: 5, - title: { - text: '' - }, - gridLineColor: '#2b3644', - gridLineWidth: 2, - lineColor: '#2b3644', - lineWidth: 2, - tickWidth: 2, - tickLength: 120, - tickColor: '#2b3644', - labels: { - y: -8, - align: 'left', - x: -120, - style: { - 'color': '#e0e0e0', - 'fontSize': '13px' - }, - format: '{value} ' + this.variablesService.defaultCurrency - }, - showLastLabel: false, - }, - xAxis: { - type: 'datetime', - gridLineColor: '#2b3644', - lineColor: '#2b3644', - lineWidth: 2, - tickWidth: 2, - tickLength: 10, - tickColor: '#2b3644', - labels: { - style: { - 'color': '#e0e0e0', - 'fontSize': '13px' - } - }, - minPadding: 0, - maxPadding: 0, - minRange: 86400000, - // tickInterval: 86400000, - minTickInterval: 3600000, - }, - tooltip: { - enabled: false - }, - plotOptions: { - area: { - fillColor: { - linearGradient: { - x1: 0, - y1: 0, - x2: 0, - y2: 1 - }, - stops: [ - [0, 'rgba(124,181,236,0.2)'], - [1, 'rgba(124,181,236,0)'] - ] - }, - marker: { - enabled: false, - radius: 2 - }, - lineWidth: 2, - threshold: null - }, - series: { - point: { - events: { - mouseOver: function (obj) { - _this.selectedDate.date = obj.target['x']; - _this.selectedDate.amount = obj.target['y']; - } - } - }, - events: { - mouseOut: function () { - _this.selectedDate.date = null; - _this.selectedDate.amount = null; - } - } - } - }, - series: [ - { - type: 'area', - data: data - } - ] - }); - }; - StakingComponent.prototype.getMiningHistory = function () { - var _this = this; - if (this.variablesService.currentWallet.loaded) { - this.backend.getMiningHistory(this.variablesService.currentWallet.wallet_id, function (status, data) { - _this.total = new bignumber_js__WEBPACK_IMPORTED_MODULE_7__["BigNumber"](0); - _this.pending.list = []; - _this.pending.total = new bignumber_js__WEBPACK_IMPORTED_MODULE_7__["BigNumber"](0); - _this.originalData = []; - if (data.mined_entries) { - data.mined_entries.forEach(function (item, key) { - if (item.t.toString().length === 10) { - data.mined_entries[key].t = (new Date(item.t * 1000)).setUTCMilliseconds(0); - } - }); - data.mined_entries.forEach(function (item) { - _this.total = _this.total.plus(item.a); - if (_this.variablesService.height_app - item.h < 10) { - _this.pending.list.push(item); - _this.pending.total = _this.pending.total.plus(item.a); - } - _this.originalData.push([parseInt(item.t, 10), parseFloat(_this.intToMoneyPipe.transform(item.a))]); - }); - _this.originalData = _this.originalData.sort(function (a, b) { - return a[0] - b[0]; - }); - } - _this.ngZone.run(function () { - _this.drawChart([]); - }); - }); - } - }; - StakingComponent.prototype.changePeriod = function (period) { - if (period) { - this.periods.forEach(function (p) { - p.active = false; - }); - period.active = true; - } - else { - period = this.periods.find(function (p) { return p.active; }); - } - var d = new Date(); - var min = null; - var newData = []; - var group = this.groups.find(function (g) { return g.active; }); - if (period.key === '1 week') { - this.originalData.forEach(function (item) { - var time = StakingComponent_1.makeGroupTime(group.key, new Date(item[0])); - var find = newData.find(function (itemNew) { return itemNew[0] === time; }); - if (find) { - find[1] = new bignumber_js__WEBPACK_IMPORTED_MODULE_7__["BigNumber"](find[1]).plus(item[1]).toNumber(); - } - else { - newData.push([time, item[1]]); - } - }); - this.chart.ref.series[0].setData(newData, true); - min = Date.UTC(d.getFullYear(), d.getMonth(), d.getDate() - 7, 0, 0, 0, 0); - } - else if (period.key === '2 week') { - this.originalData.forEach(function (item) { - var time = StakingComponent_1.makeGroupTime(group.key, new Date(item[0])); - var find = newData.find(function (itemNew) { return itemNew[0] === time; }); - if (find) { - find[1] = new bignumber_js__WEBPACK_IMPORTED_MODULE_7__["BigNumber"](find[1]).plus(item[1]).toNumber(); - } - else { - newData.push([time, item[1]]); - } - }); - this.chart.ref.series[0].setData(newData, true); - min = Date.UTC(d.getFullYear(), d.getMonth(), d.getDate() - 14, 0, 0, 0, 0); - } - else if (period.key === '1 month') { - this.originalData.forEach(function (item) { - var time = StakingComponent_1.makeGroupTime(group.key, new Date(item[0])); - var find = newData.find(function (itemNew) { return itemNew[0] === time; }); - if (find) { - find[1] = new bignumber_js__WEBPACK_IMPORTED_MODULE_7__["BigNumber"](find[1]).plus(item[1]).toNumber(); - } - else { - newData.push([time, item[1]]); - } - }); - this.chart.ref.series[0].setData(newData, true); - min = Date.UTC(d.getFullYear(), d.getMonth() - 1, d.getDate(), 0, 0, 0, 0); - } - else if (period.key === '3 month') { - this.originalData.forEach(function (item) { - var time = StakingComponent_1.makeGroupTime(group.key, new Date(item[0])); - var find = newData.find(function (itemNew) { return itemNew[0] === time; }); - if (find) { - find[1] = new bignumber_js__WEBPACK_IMPORTED_MODULE_7__["BigNumber"](find[1]).plus(item[1]).toNumber(); - } - else { - newData.push([time, item[1]]); - } - }); - this.chart.ref.series[0].setData(newData, true); - min = Date.UTC(d.getFullYear(), d.getMonth() - 3, d.getDate(), 0, 0, 0, 0); - } - else if (period.key === '6 month') { - this.originalData.forEach(function (item) { - var time = StakingComponent_1.makeGroupTime(group.key, new Date(item[0])); - var find = newData.find(function (itemNew) { return itemNew[0] === time; }); - if (find) { - find[1] = new bignumber_js__WEBPACK_IMPORTED_MODULE_7__["BigNumber"](find[1]).plus(item[1]).toNumber(); - } - else { - newData.push([time, item[1]]); - } - }); - this.chart.ref.series[0].setData(newData, true); - min = Date.UTC(d.getFullYear(), d.getMonth() - 6, d.getDate(), 0, 0, 0, 0); - } - else if (period.key === '1 year') { - this.originalData.forEach(function (item) { - var time = StakingComponent_1.makeGroupTime(group.key, new Date(item[0])); - var find = newData.find(function (itemNew) { return itemNew[0] === time; }); - if (find) { - find[1] = new bignumber_js__WEBPACK_IMPORTED_MODULE_7__["BigNumber"](find[1]).plus(item[1]).toNumber(); - } - else { - newData.push([time, item[1]]); - } - }); - this.chart.ref.series[0].setData(newData, true); - min = Date.UTC(d.getFullYear() - 1, d.getMonth(), d.getDate(), 0, 0, 0, 0); - } - else { - this.originalData.forEach(function (item) { - var time = StakingComponent_1.makeGroupTime(group.key, new Date(item[0])); - var find = newData.find(function (itemNew) { return itemNew[0] === time; }); - if (find) { - find[1] = new bignumber_js__WEBPACK_IMPORTED_MODULE_7__["BigNumber"](find[1]).plus(item[1]).toNumber(); - } - else { - newData.push([time, item[1]]); - } - }); - this.chart.ref.series[0].setData(newData, true); - } - this.chart.ref.xAxis[0].setExtremes(min, null); - }; - StakingComponent.prototype.changeGroup = function (group) { - this.groups.forEach(function (g) { - g.active = false; - }); - group.active = true; - this.changePeriod(); - }; - StakingComponent.prototype.ngOnDestroy = function () { - this.parentRouting.unsubscribe(); - this.heightAppEvent.unsubscribe(); - this.refreshStackingEvent.unsubscribe(); - }; - var StakingComponent_1; - StakingComponent = StakingComponent_1 = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Component"])({ - selector: 'app-staking', - template: __webpack_require__(/*! ./staking.component.html */ "./src/app/staking/staking.component.html"), - styles: [__webpack_require__(/*! ./staking.component.scss */ "./src/app/staking/staking.component.scss")] - }), - __metadata("design:paramtypes", [_angular_router__WEBPACK_IMPORTED_MODULE_4__["ActivatedRoute"], - _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_1__["VariablesService"], - _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_3__["BackendService"], - _angular_core__WEBPACK_IMPORTED_MODULE_0__["NgZone"], - _helpers_pipes_int_to_money_pipe__WEBPACK_IMPORTED_MODULE_5__["IntToMoneyPipe"], - _ngx_translate_core__WEBPACK_IMPORTED_MODULE_6__["TranslateService"]]) - ], StakingComponent); - return StakingComponent; -}()); - - - -/***/ }), - -/***/ "./src/app/transfer-alias/transfer-alias.component.html": -/*!**************************************************************!*\ - !*** ./src/app/transfer-alias/transfer-alias.component.html ***! - \**************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = "
      \r\n\r\n
      \r\n
      \r\n {{ wallet.name }}\r\n {{ 'BREADCRUMBS.TRANSFER_ALIAS' | translate }}\r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      0 && (transferAddressAlias || !transferAddressValid || (transferAddressValid && !permissionSend) || notEnoughMoney)\">\r\n
      \r\n {{ 'TRANSFER_ALIAS.FORM_ERRORS.WRONG_ADDRESS' | translate }}\r\n
      \r\n
      \r\n {{ 'TRANSFER_ALIAS.FORM_ERRORS.ALIAS_EXISTS' | translate }}\r\n
      \r\n
      \r\n {{ 'TRANSFER_ALIAS.FORM_ERRORS.NO_MONEY' | translate }}\r\n
      \r\n
      \r\n
      \r\n\r\n
      {{ \"TRANSFER_ALIAS.COST\" | translate : {value: variablesService.default_fee, currency: variablesService.defaultCurrency} }}
      \r\n\r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n" - -/***/ }), - -/***/ "./src/app/transfer-alias/transfer-alias.component.scss": -/*!**************************************************************!*\ - !*** ./src/app/transfer-alias/transfer-alias.component.scss ***! - \**************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = ".form-transfer {\n margin: 2.4rem 0; }\n .form-transfer .alias-name {\n width: 50%; }\n .form-transfer .alias-cost {\n font-size: 1.3rem;\n margin-top: 2rem; }\n .form-transfer .wrap-buttons {\n display: flex;\n justify-content: space-between;\n margin: 2.5rem -0.7rem; }\n .form-transfer .wrap-buttons button {\n margin: 0 0.7rem;\n width: 15rem; }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdHJhbnNmZXItYWxpYXMvRDpcXFByb2plY3RcXFdPUktfTkVXXFx6YW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFwcFxcdHJhbnNmZXItYWxpYXNcXHRyYW5zZmVyLWFsaWFzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsZ0JBQWdCLEVBQUE7RUFEbEI7SUFJSSxVQUFVLEVBQUE7RUFKZDtJQVFJLGlCQUFpQjtJQUNqQixnQkFBZ0IsRUFBQTtFQVRwQjtJQWFJLGFBQWE7SUFDYiw4QkFBOEI7SUFDOUIsc0JBQXNCLEVBQUE7RUFmMUI7TUFrQk0sZ0JBQWdCO01BQ2hCLFlBQVksRUFBQSIsImZpbGUiOiJzcmMvYXBwL3RyYW5zZmVyLWFsaWFzL3RyYW5zZmVyLWFsaWFzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmZvcm0tdHJhbnNmZXIge1xyXG4gIG1hcmdpbjogMi40cmVtIDA7XHJcblxyXG4gIC5hbGlhcy1uYW1lIHtcclxuICAgIHdpZHRoOiA1MCU7XHJcbiAgfVxyXG5cclxuICAuYWxpYXMtY29zdCB7XHJcbiAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgIG1hcmdpbi10b3A6IDJyZW07XHJcbiAgfVxyXG5cclxuICAud3JhcC1idXR0b25zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBtYXJnaW46IDIuNXJlbSAtMC43cmVtO1xyXG5cclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgIG1hcmdpbjogMCAwLjdyZW07XHJcbiAgICAgIHdpZHRoOiAxNXJlbTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19 */" - -/***/ }), - -/***/ "./src/app/transfer-alias/transfer-alias.component.ts": -/*!************************************************************!*\ - !*** ./src/app/transfer-alias/transfer-alias.component.ts ***! - \************************************************************/ -/*! exports provided: TransferAliasComponent */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TransferAliasComponent", function() { return TransferAliasComponent; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/common */ "./node_modules/@angular/common/fesm5/common.js"); -/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm5/router.js"); -/* harmony import */ var _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../_helpers/services/backend.service */ "./src/app/_helpers/services/backend.service.ts"); -/* harmony import */ var _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../_helpers/services/variables.service */ "./src/app/_helpers/services/variables.service.ts"); -/* harmony import */ var _helpers_services_modal_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../_helpers/services/modal.service */ "./src/app/_helpers/services/modal.service.ts"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - -var TransferAliasComponent = /** @class */ (function () { - function TransferAliasComponent(location, router, backend, variablesService, modalService, ngZone) { - this.location = location; - this.router = router; - this.backend = backend; - this.variablesService = variablesService; - this.modalService = modalService; - this.ngZone = ngZone; - this.transferAddress = ''; - this.requestProcessing = false; - } - TransferAliasComponent.prototype.ngOnInit = function () { - this.wallet = this.variablesService.currentWallet; - var alias = this.backend.getWalletAlias(this.wallet.address); - this.alias = { - name: alias.name, - address: alias.address, - comment: alias.comment, - tracking_key: alias.tracking_key - }; - this.notEnoughMoney = this.wallet.unlocked_balance.isLessThan(this.variablesService.default_fee_big); - }; - TransferAliasComponent.prototype.changeAddress = function () { - var _this = this; - this.backend.validateAddress(this.transferAddress, function (status) { - _this.transferAddressValid = status; - if (status) { - _this.backend.getPoolInfo(function (statusPool, dataPool) { - if (dataPool.hasOwnProperty('aliases_que') && dataPool.aliases_que.length) { - _this.setStatus(!dataPool.aliases_que.some(function (el) { return el.address === _this.transferAddress; })); - } - else { - _this.setStatus(status); - } - }); - } - else { - _this.setStatus(false); - } - }); - }; - TransferAliasComponent.prototype.setStatus = function (statusSet) { - var _this = this; - this.permissionSend = statusSet; - if (statusSet) { - this.backend.getAliasByAddress(this.transferAddress, function (status) { - _this.ngZone.run(function () { - if (status) { - _this.transferAddressAlias = true; - _this.permissionSend = false; - } - else { - _this.transferAddressAlias = false; - } - }); - }); - } - else { - this.ngZone.run(function () { - _this.transferAddressAlias = false; - }); - } - }; - TransferAliasComponent.prototype.transferAlias = function () { - var _this = this; - if (this.requestProcessing || !this.permissionSend || !this.transferAddressValid || this.notEnoughMoney) { - return; - } - this.requestProcessing = true; - var newAlias = { - name: this.alias.name, - address: this.transferAddress, - comment: this.alias.comment, - tracking_key: this.alias.tracking_key - }; - this.backend.updateAlias(this.wallet.wallet_id, newAlias, this.variablesService.default_fee, function (status, data) { - if (status && data.hasOwnProperty('success') && data.success) { - _this.modalService.prepareModal('info', 'TRANSFER_ALIAS.REQUEST_SEND_REG'); - _this.ngZone.run(function () { - _this.router.navigate(['/wallet/' + _this.wallet.wallet_id]); - }); - } - _this.requestProcessing = false; - }); - }; - TransferAliasComponent.prototype.back = function () { - this.location.back(); - }; - TransferAliasComponent = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Component"])({ - selector: 'app-transfer-alias', - template: __webpack_require__(/*! ./transfer-alias.component.html */ "./src/app/transfer-alias/transfer-alias.component.html"), - styles: [__webpack_require__(/*! ./transfer-alias.component.scss */ "./src/app/transfer-alias/transfer-alias.component.scss")] - }), - __metadata("design:paramtypes", [_angular_common__WEBPACK_IMPORTED_MODULE_1__["Location"], - _angular_router__WEBPACK_IMPORTED_MODULE_2__["Router"], - _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_3__["BackendService"], - _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_4__["VariablesService"], - _helpers_services_modal_service__WEBPACK_IMPORTED_MODULE_5__["ModalService"], - _angular_core__WEBPACK_IMPORTED_MODULE_0__["NgZone"]]) - ], TransferAliasComponent); - return TransferAliasComponent; -}()); - - - -/***/ }), - -/***/ "./src/app/typing-message/typing-message.component.html": -/*!**************************************************************!*\ - !*** ./src/app/typing-message/typing-message.component.html ***! - \**************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = "
      \r\n
      \r\n @bitmain\r\n
      \r\n \r\n \r\n {{ 'COMMON.BACK' | translate }}\r\n \r\n
      \r\n\r\n
      \r\n
      \r\n
      10:39
      \r\n
      \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\r\n
      \r\n
      \r\n Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\r\n
      \r\n
      \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\r\n
      \r\n
      \r\n Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\r\n
      \r\n
      11:44
      \r\n
      \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\r\n
      \r\n
      \r\n Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\r\n
      \r\n
      \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\r\n
      \r\n
      12:15
      \r\n
      \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\r\n
      \r\n
      \r\n Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\r\n
      \r\n
      \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\r\n
      \r\n
      13:13
      \r\n
      \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\r\n
      \r\n
      \r\n Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\r\n
      \r\n
      \r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n \r\n
      \r\n
      \r\n" - -/***/ }), - -/***/ "./src/app/typing-message/typing-message.component.scss": -/*!**************************************************************!*\ - !*** ./src/app/typing-message/typing-message.component.scss ***! - \**************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = ":host {\n display: flex;\n flex-direction: column;\n width: 100%; }\n\n.head {\n flex: 0 0 auto;\n box-sizing: content-box;\n margin: -3rem -3rem 0; }\n\n.messages-content {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n flex-grow: 1; }\n\n.messages-content .messages-list {\n display: flex;\n flex-direction: column;\n font-size: 1.3rem;\n margin: 1rem -3rem;\n padding: 0 3rem;\n overflow-y: overlay; }\n\n.messages-content .messages-list div {\n margin: 0.7rem 0; }\n\n.messages-content .messages-list div.date {\n text-align: center; }\n\n.messages-content .messages-list div.my, .messages-content .messages-list div.buddy {\n position: relative;\n padding: 1.8rem;\n max-width: 60%; }\n\n.messages-content .messages-list div.buddy {\n align-self: flex-end; }\n\n.messages-content .type-message {\n display: flex;\n flex: 0 0 auto;\n width: 100%;\n height: 4.2rem; }\n\n.messages-content .type-message .input-block {\n width: 100%; }\n\n.messages-content .type-message .input-block > textarea {\n min-height: 4.2rem; }\n\n.messages-content .type-message button {\n flex: 0 0 15rem; }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdHlwaW5nLW1lc3NhZ2UvRDpcXFByb2plY3RcXFdPUktfTkVXXFx6YW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFwcFxcdHlwaW5nLW1lc3NhZ2VcXHR5cGluZy1tZXNzYWdlLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixXQUFXLEVBQUE7O0FBR2I7RUFDRSxjQUFjO0VBQ2QsdUJBQXVCO0VBQ3ZCLHFCQUFxQixFQUFBOztBQUd2QjtFQUNFLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsOEJBQThCO0VBQzlCLFlBQVksRUFBQTs7QUFKZDtJQU9JLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsbUJBQW1CLEVBQUE7O0FBWnZCO01BZU0sZ0JBQWdCLEVBQUE7O0FBZnRCO1FBa0JRLGtCQUFrQixFQUFBOztBQWxCMUI7UUFzQlEsa0JBQWtCO1FBQ2xCLGVBQWU7UUFDZixjQUFjLEVBQUE7O0FBeEJ0QjtRQTRCUSxvQkFBb0IsRUFBQTs7QUE1QjVCO0lBa0NJLGFBQWE7SUFDYixjQUFjO0lBQ2QsV0FBVztJQUNYLGNBQWMsRUFBQTs7QUFyQ2xCO01Bd0NNLFdBQVcsRUFBQTs7QUF4Q2pCO1FBMkNRLGtCQUFrQixFQUFBOztBQTNDMUI7TUFnRE0sZUFBZSxFQUFBIiwiZmlsZSI6InNyYy9hcHAvdHlwaW5nLW1lc3NhZ2UvdHlwaW5nLW1lc3NhZ2UuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uaGVhZCB7XHJcbiAgZmxleDogMCAwIGF1dG87XHJcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgbWFyZ2luOiAtM3JlbSAtM3JlbSAwO1xyXG59XHJcblxyXG4ubWVzc2FnZXMtY29udGVudCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBmbGV4LWdyb3c6IDE7XHJcblxyXG4gIC5tZXNzYWdlcy1saXN0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgICBtYXJnaW46IDFyZW0gLTNyZW07XHJcbiAgICBwYWRkaW5nOiAwIDNyZW07XHJcbiAgICBvdmVyZmxvdy15OiBvdmVybGF5O1xyXG5cclxuICAgIGRpdiB7XHJcbiAgICAgIG1hcmdpbjogMC43cmVtIDA7XHJcblxyXG4gICAgICAmLmRhdGUge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi5teSwgJi5idWRkeSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHBhZGRpbmc6IDEuOHJlbTtcclxuICAgICAgICBtYXgtd2lkdGg6IDYwJTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi5idWRkeSB7XHJcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC50eXBlLW1lc3NhZ2Uge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDQuMnJlbTtcclxuXHJcbiAgICAuaW5wdXQtYmxvY2sge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgID4gdGV4dGFyZWEge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDQuMnJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgIGZsZXg6IDAgMCAxNXJlbTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbiJdfQ== */" - -/***/ }), - -/***/ "./src/app/typing-message/typing-message.component.ts": -/*!************************************************************!*\ - !*** ./src/app/typing-message/typing-message.component.ts ***! - \************************************************************/ -/*! exports provided: TypingMessageComponent */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TypingMessageComponent", function() { return TypingMessageComponent; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm5/router.js"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - -var TypingMessageComponent = /** @class */ (function () { - function TypingMessageComponent(route) { - this.route = route; - this.route.params.subscribe(function (params) { return console.log(params); }); - } - TypingMessageComponent.prototype.ngOnInit = function () { - }; - TypingMessageComponent = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Component"])({ - selector: 'app-typing-message', - template: __webpack_require__(/*! ./typing-message.component.html */ "./src/app/typing-message/typing-message.component.html"), - styles: [__webpack_require__(/*! ./typing-message.component.scss */ "./src/app/typing-message/typing-message.component.scss")] - }), - __metadata("design:paramtypes", [_angular_router__WEBPACK_IMPORTED_MODULE_1__["ActivatedRoute"]]) - ], TypingMessageComponent); - return TypingMessageComponent; -}()); - - - -/***/ }), - -/***/ "./src/app/wallet-details/wallet-details.component.html": -/*!**************************************************************!*\ - !*** ./src/app/wallet-details/wallet-details.component.html ***! - \**************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = "
      \r\n\r\n
      \r\n
      \r\n {{variablesService.currentWallet.name}}\r\n {{ 'BREADCRUMBS.WALLET_DETAILS' | translate }}\r\n
      \r\n \r\n
      \r\n\r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n {{ 'WALLET_DETAILS.FORM_ERRORS.NAME_REQUIRED' | translate }}\r\n
      \r\n
      \r\n {{ 'WALLET_DETAILS.FORM_ERRORS.NAME_DUPLICATE' | translate }}\r\n
      \r\n
      \r\n
      = variablesService.maxWalletNameLength\">\r\n {{ 'WALLET_DETAILS.FORM_ERRORS.MAX_LENGTH' | translate }}\r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n
      \r\n
      \r\n\r\n \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n \r\n \r\n
      \r\n \r\n {{ 'WALLET_DETAILS.FORM_ERRORS.PASSWORDS_DONT_MATCH' | translate }}\r\n \r\n\r\n \r\n\r\n {{ 'WALLET_DETAILS.FORM.SECURED_SEED_WILL_REQUIRE' | translate }}\r\n
      \r\n
      \r\n
      \r\n
      \r\n\r\n \r\n
      \r\n
      \r\n {{ 'WALLET_DETAILS.LABEL_SEED_PHRASE' | translate }}\r\n

      \r\n {{ 'WALLET_DETAILS.SEED_IS_UNSECURED' | translate }} \r\n 0\">{{ 'WALLET_DETAILS.SEED_IS_SECURED' | translate }} \r\n

      \r\n
      \r\n
      \r\n \r\n
      = 1 && (index + 1) <= 7 || (index + 1) >= 15 && (index + 1) <= 21\">\r\n {{(index + 1) + '. ' + word}}
      \r\n
      \r\n
      \r\n
      0\">\r\n {{ 'WALLET_DETAILS.REMEMBER_YOU_WILL_REQUIRE' | translate }}\r\n
      \r\n
      \r\n
      \r\n
      " - -/***/ }), - -/***/ "./src/app/wallet-details/wallet-details.component.scss": -/*!**************************************************************!*\ - !*** ./src/app/wallet-details/wallet-details.component.scss ***! - \**************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = ".form-details {\n margin-top: 1.8rem; }\n .form-details .input-block:first-child {\n width: 50%; }\n .form-details .wallet-buttons {\n display: flex;\n align-items: center;\n justify-content: space-between; }\n .form-details .wallet-buttons button {\n margin: 2.9rem 0;\n width: 100%;\n max-width: 15rem; }\n .mt-2 {\n margin-top: 2rem; }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvd2FsbGV0LWRldGFpbHMvRDpcXFByb2plY3RcXFdPUktfTkVXXFx6YW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFwcFxcd2FsbGV0LWRldGFpbHNcXHdhbGxldC1kZXRhaWxzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0Usa0JBQWtCLEVBQUE7RUFEcEI7SUFNTSxVQUFVLEVBQUE7RUFOaEI7SUFXSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLDhCQUE4QixFQUFBO0VBYmxDO01BZ0JNLGdCQUFnQjtNQUNoQixXQUFXO01BQ1gsZ0JBQWdCLEVBQUE7RUFLdEI7RUFDRSxnQkFBZ0IsRUFBQSIsImZpbGUiOiJzcmMvYXBwL3dhbGxldC1kZXRhaWxzL3dhbGxldC1kZXRhaWxzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmZvcm0tZGV0YWlscyB7XHJcbiAgbWFyZ2luLXRvcDogMS44cmVtO1xyXG5cclxuICAuaW5wdXQtYmxvY2sge1xyXG5cclxuICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICB3aWR0aDogNTAlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLndhbGxldC1idXR0b25zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgIG1hcmdpbjogMi45cmVtIDA7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtYXgtd2lkdGg6IDE1cmVtO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLm10LTIge1xyXG4gIG1hcmdpbi10b3A6IDJyZW07XHJcbn1cclxuIl19 */" - -/***/ }), - -/***/ "./src/app/wallet-details/wallet-details.component.ts": -/*!************************************************************!*\ - !*** ./src/app/wallet-details/wallet-details.component.ts ***! - \************************************************************/ -/*! exports provided: WalletDetailsComponent */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "WalletDetailsComponent", function() { return WalletDetailsComponent; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/forms */ "./node_modules/@angular/forms/fesm5/forms.js"); -/* harmony import */ var _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../_helpers/services/backend.service */ "./src/app/_helpers/services/backend.service.ts"); -/* harmony import */ var _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../_helpers/services/variables.service */ "./src/app/_helpers/services/variables.service.ts"); -/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm5/router.js"); -/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @angular/common */ "./node_modules/@angular/common/fesm5/common.js"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - -var WalletDetailsComponent = /** @class */ (function () { - function WalletDetailsComponent(router, backend, variablesService, ngZone, location) { - var _this = this; - this.router = router; - this.backend = backend; - this.variablesService = variablesService; - this.ngZone = ngZone; - this.location = location; - this.seedPhrase = ''; - this.showSeed = false; - this.copyAnimation = false; - this.detailsForm = new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormGroup"]({ - name: new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormControl"]('', [ - _angular_forms__WEBPACK_IMPORTED_MODULE_1__["Validators"].required, - function (g) { - for (var i = 0; i < _this.variablesService.wallets.length; i++) { - if (g.value === _this.variablesService.wallets[i].name) { - if (_this.variablesService.wallets[i].wallet_id === - _this.variablesService.currentWallet.wallet_id) { - return { same: true }; - } - else { - return { duplicate: true }; - } - } - } - return null; - }, - ]), - path: new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormControl"](''), - }); - this.seedPhraseForm = new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormGroup"]({ - password: new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormControl"]('', _angular_forms__WEBPACK_IMPORTED_MODULE_1__["Validators"].pattern(this.variablesService.pattern)), - confirmPassword: new _angular_forms__WEBPACK_IMPORTED_MODULE_1__["FormControl"]('', _angular_forms__WEBPACK_IMPORTED_MODULE_1__["Validators"].pattern(this.variablesService.pattern)), - }, { validators: this.checkPasswords }); - } - WalletDetailsComponent.prototype.checkPasswords = function (group) { - var pass = group.controls.password.value; - var confirmPass = group.controls.confirmPassword.value; - return pass === confirmPass ? null : { notSame: true }; - }; - WalletDetailsComponent.prototype.ngOnInit = function () { - this.showSeed = false; - this.detailsForm - .get('name') - .setValue(this.variablesService.currentWallet.name); - this.detailsForm - .get('path') - .setValue(this.variablesService.currentWallet.path); - }; - WalletDetailsComponent.prototype.showSeedPhrase = function () { - this.showSeed = true; - }; - WalletDetailsComponent.prototype.onSubmitSeed = function () { - var _this = this; - if (this.seedPhraseForm.valid) { - this.showSeedPhrase(); - var wallet_id = this.variablesService.currentWallet.wallet_id; - var seed_password = this.seedPhraseForm.controls.password.value; - this.backend.getSmartWalletInfo({ wallet_id: wallet_id, seed_password: seed_password }, function (status, data) { - if (data.hasOwnProperty('seed_phrase')) { - _this.ngZone.run(function () { - _this.seedPhrase = data['seed_phrase'].trim(); - }); - } - }); - } - }; - WalletDetailsComponent.prototype.onSubmitEdit = function () { - var _this = this; - if (this.detailsForm.value) { - this.variablesService.currentWallet.name = this.detailsForm.get('name').value; - this.ngZone.run(function () { - _this.router.navigate([ - '/wallet/' + _this.variablesService.currentWallet.wallet_id, - ]); - }); - } - }; - WalletDetailsComponent.prototype.closeWallet = function () { - var _this = this; - this.backend.closeWallet(this.variablesService.currentWallet.wallet_id, function () { - for (var i = _this.variablesService.wallets.length - 1; i >= 0; i--) { - if (_this.variablesService.wallets[i].wallet_id === - _this.variablesService.currentWallet.wallet_id) { - _this.variablesService.wallets.splice(i, 1); - } - } - _this.ngZone.run(function () { - if (_this.variablesService.wallets.length) { - _this.variablesService.currentWallet = _this.variablesService.wallets[0]; - _this.router.navigate([ - '/wallet/' + _this.variablesService.currentWallet.wallet_id, - ]); - } - else { - _this.router.navigate(['/']); - } - }); - if (_this.variablesService.appPass) { - _this.backend.storeSecureAppData(); - } - }); - }; - WalletDetailsComponent.prototype.back = function () { - this.location.back(); - }; - WalletDetailsComponent.prototype.ngOnDestroy = function () { - }; - WalletDetailsComponent = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Component"])({ - selector: 'app-wallet-details', - template: __webpack_require__(/*! ./wallet-details.component.html */ "./src/app/wallet-details/wallet-details.component.html"), - styles: [__webpack_require__(/*! ./wallet-details.component.scss */ "./src/app/wallet-details/wallet-details.component.scss")] - }), - __metadata("design:paramtypes", [_angular_router__WEBPACK_IMPORTED_MODULE_4__["Router"], - _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_2__["BackendService"], - _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_3__["VariablesService"], - _angular_core__WEBPACK_IMPORTED_MODULE_0__["NgZone"], - _angular_common__WEBPACK_IMPORTED_MODULE_5__["Location"]]) - ], WalletDetailsComponent); - return WalletDetailsComponent; -}()); - - - -/***/ }), - -/***/ "./src/app/wallet/wallet.component.html": -/*!**********************************************!*\ - !*** ./src/app/wallet/wallet.component.html ***! - \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = "
      \r\n
      \r\n

      {{variablesService.currentWallet.name}}

      \r\n
      \r\n \r\n
      \r\n {{variablesService.currentWallet.alias['name']}}\r\n \r\n \r\n \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n {{variablesService.currentWallet.address}}\r\n \r\n
      \r\n
      \r\n {{variablesService.currentWallet.balance | intToMoney : '3'}} {{variablesService.defaultCurrency}}\r\n $ {{variablesService.currentWallet.getMoneyEquivalent(variablesService.moneyEquivalent) | intToMoney | number : '1.2-2'}}\r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n \r\n \r\n
      \r\n
      \r\n {{ tab.title | translate }}\r\n {{variablesService.currentWallet.new_contracts}}\r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n
      \r\n
      \r\n
      \r\n
      \r\n \r\n <\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n >\r\n \r\n\r\n
      \r\n
      \r\n Hide mining transactions\r\n
      \r\n {{ 'STAKING.SWITCH.ON' | translate }}\r\n \r\n {{ 'STAKING.SWITCH.OFF' | translate }}\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n" - -/***/ }), - -/***/ "./src/app/wallet/wallet.component.scss": -/*!**********************************************!*\ - !*** ./src/app/wallet/wallet.component.scss ***! - \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = ":host {\n position: relative;\n display: flex;\n flex-direction: column;\n padding: 0 3rem 3rem;\n min-width: 95rem;\n width: 100%;\n height: 100%; }\n\n.header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex: 0 0 auto;\n height: 8rem; }\n\n.header > div {\n display: flex;\n align-items: center; }\n\n.header > div :not(:last-child) {\n margin-right: 3.2rem; }\n\n.header h3 {\n font-size: 1.7rem;\n font-weight: 600;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n max-width: 50rem;\n line-height: 2.7rem; }\n\n.header button {\n display: flex;\n align-items: center;\n background: transparent;\n border: none;\n cursor: pointer;\n font-weight: 400;\n outline: none;\n padding: 0; }\n\n.header button .icon {\n margin-right: 1.2rem;\n width: 1.7rem;\n height: 1.7rem; }\n\n.header button .icon.account {\n height: 1.6rem;\n -webkit-mask: url('account.svg') no-repeat center;\n mask: url('account.svg') no-repeat center; }\n\n.header button .icon.lock {\n -webkit-mask: url('lock.svg') no-repeat center;\n mask: url('lock.svg') no-repeat center; }\n\n.header button .icon.details {\n -webkit-mask: url('details-settings.svg') no-repeat center;\n mask: url('details-settings.svg') no-repeat center;\n margin-right: 0;\n height: 1.8rem; }\n\n.header button .icon.close-wallet {\n -webkit-mask: url('close-wallet.svg') no-repeat center;\n mask: url('close-wallet.svg') no-repeat center;\n margin-right: 0; }\n\n.header .alias {\n display: flex;\n align-items: center;\n font-size: 1.3rem; }\n\n.header .alias .icon {\n cursor: pointer;\n margin-right: 1.2rem;\n width: 1.7rem;\n height: 1.7rem; }\n\n.header .alias .icon.edit {\n -webkit-mask: url('details.svg') no-repeat center;\n mask: url('details.svg') no-repeat center; }\n\n.header .alias .icon.transfer {\n -webkit-mask: url('send.svg') no-repeat center;\n mask: url('send.svg') no-repeat center; }\n\n.address {\n display: flex;\n align-items: center;\n flex: 0 0 auto;\n font-size: 1.4rem;\n line-height: 1.7rem; }\n\n.address .icon {\n cursor: pointer;\n margin-left: 1.2rem;\n width: 1.7rem;\n height: 1.7rem; }\n\n.address .icon.copy {\n width: 1.8rem;\n -webkit-mask: url('copy.svg') no-repeat center;\n mask: url('copy.svg') no-repeat center; }\n\n.address .icon.copy:hover {\n opacity: 0.75; }\n\n.address .icon.copied {\n -webkit-mask: url('complete-testwallet.svg') no-repeat center;\n mask: url('complete-testwallet.svg') no-repeat center; }\n\n.balance {\n display: flex;\n align-items: flex-end;\n justify-content: flex-start;\n flex: 0 0 auto;\n margin: 2.6rem 0; }\n\n.balance :first-child {\n font-size: 3.3rem;\n font-weight: 600;\n line-height: 2.4rem;\n margin-right: 3.5rem; }\n\n.balance :last-child {\n font-size: 1.8rem;\n font-weight: 600;\n line-height: 1.3rem; }\n\n.tabs {\n display: flex;\n flex-direction: column;\n flex: 1 1 auto; }\n\n.tabs .tabs-header {\n display: flex;\n justify-content: space-between;\n flex: 0 0 auto; }\n\n.tabs .tabs-header .tab {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1 0 auto;\n cursor: pointer;\n padding: 0 1rem;\n height: 5rem; }\n\n.tabs .tabs-header .tab.hide {\n display: none; }\n\n.tabs .tabs-header .tab .animated {\n display: flex;\n justify-content: center;\n align-items: center;\n margin-right: 1.3rem; }\n\n.tabs .tabs-header .tab .animated ::ng-deep svg {\n width: 2rem;\n height: 2rem; }\n\n.tabs .tabs-header .tab .animated ::ng-deep svg path, .tabs .tabs-header .tab .animated ::ng-deep svg circle, .tabs .tabs-header .tab .animated ::ng-deep svg polygon {\n fill: #4db1ff; }\n\n.tabs .tabs-header .tab .icon {\n margin-right: 1.3rem;\n width: 2rem;\n height: 2rem; }\n\n.tabs .tabs-header .tab .icon.send {\n -webkit-mask: url('send.svg') no-repeat center;\n mask: url('send.svg') no-repeat center; }\n\n.tabs .tabs-header .tab .icon.receive {\n -webkit-mask: url('receive.svg') no-repeat center;\n mask: url('receive.svg') no-repeat center; }\n\n.tabs .tabs-header .tab .icon.history {\n -webkit-mask: url('history.svg') no-repeat center;\n mask: url('history.svg') no-repeat center; }\n\n.tabs .tabs-header .tab .icon.contracts {\n -webkit-mask: url('contracts.svg') no-repeat center;\n mask: url('contracts.svg') no-repeat center; }\n\n.tabs .tabs-header .tab .icon.messages {\n -webkit-mask: url('message.svg') no-repeat center;\n mask: url('message.svg') no-repeat center; }\n\n.tabs .tabs-header .tab .icon.staking {\n -webkit-mask: url('staking.svg') no-repeat center;\n mask: url('staking.svg') no-repeat center; }\n\n.tabs .tabs-header .tab .indicator {\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 1rem;\n font-size: 1rem;\n font-weight: 600;\n margin-left: 1.3rem;\n padding: 0 0.5rem;\n min-width: 1.6rem;\n height: 1.6rem; }\n\n.tabs .tabs-header .tab.disabled {\n cursor: url('not-allowed.svg'), not-allowed; }\n\n.tabs .tabs-header .tab:not(:last-child) {\n margin-right: 0.3rem; }\n\n.tabs .tabs-content {\n display: flex;\n padding: 3rem;\n flex: 1 1 auto;\n overflow-x: hidden;\n overflow-y: overlay; }\n\n.tabs .pagination-wrapper .pagination {\n padding: 1rem;\n display: flex;\n justify-content: space-between;\n align-items: center; }\n\n.tabs .pagination-wrapper .pagination button {\n margin-right: 0.5rem;\n padding: 0;\n width: 2.5rem;\n height: 2.5rem;\n font-size: 1.2rem;\n transition: all 0.3s; }\n\n.tabs .pagination-wrapper .pagination .disabled {\n background-color: #18202a;\n color: #e0e0e0;\n opacity: 0.3;\n cursor: default;\n transition: all 0.3s; }\n\n.mining-transaction-switch {\n display: flex;\n align-items: center; }\n\n.mining-transaction-switch .switch-text {\n margin-right: 1rem;\n font-size: 1.3rem;\n color: #565c62; }\n\n.mining-transaction-switch .switch {\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-radius: 1rem;\n cursor: pointer;\n font-size: 1rem;\n padding: 0.5rem;\n width: 5rem;\n height: 2rem; }\n\n.mining-transaction-switch .switch .circle {\n border-radius: 1rem;\n width: 1.2rem;\n height: 1.2rem; }\n\n.mining-transaction-switch .switch .option {\n margin: 0 0.2rem;\n line-height: 1.2rem; }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvd2FsbGV0L0Q6XFxQcm9qZWN0XFxXT1JLX05FV1xcemFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxhcHBcXHdhbGxldFxcd2FsbGV0LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0Usa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsb0JBQW9CO0VBQ3BCLGdCQUFnQjtFQUNoQixXQUFXO0VBQ1gsWUFBWSxFQUFBOztBQUdkO0VBQ0UsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQiw4QkFBOEI7RUFDOUIsY0FBYztFQUNkLFlBQVksRUFBQTs7QUFMZDtJQVFJLGFBQWE7SUFDYixtQkFBbUIsRUFBQTs7QUFUdkI7TUFZTSxvQkFBb0IsRUFBQTs7QUFaMUI7SUFpQkksaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQix1QkFBdUI7SUFDdkIsZ0JBQWdCO0lBQ2hCLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsbUJBQW1CLEVBQUE7O0FBdkJ2QjtJQTJCSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixZQUFZO0lBQ1osZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixhQUFhO0lBQ2IsVUFBVSxFQUFBOztBQWxDZDtNQXFDTSxvQkFBb0I7TUFDcEIsYUFBYTtNQUNiLGNBQWMsRUFBQTs7QUF2Q3BCO1FBMENRLGNBQWM7UUFDZCxpREFBMEQ7Z0JBQTFELHlDQUEwRCxFQUFBOztBQTNDbEU7UUErQ1EsOENBQXVEO2dCQUF2RCxzQ0FBdUQsRUFBQTs7QUEvQy9EO1FBbURRLDBEQUFtRTtnQkFBbkUsa0RBQW1FO1FBQ25FLGVBQWU7UUFDZixjQUFjLEVBQUE7O0FBckR0QjtRQXlEUSxzREFBK0Q7Z0JBQS9ELDhDQUErRDtRQUMvRCxlQUFlLEVBQUE7O0FBMUR2QjtJQWdFSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLGlCQUFpQixFQUFBOztBQWxFckI7TUFxRU0s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QVksRUFBQTs7QUFsQmhCO01BcUJNLG1CQUFtQjtNQUNuQixhQUFhO01BQ2IsY0FBYyxFQUFBOztBQXZCcEI7TUEyQk0sZ0JBQWdCO01BQ2hCLG1CQUFtQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvd2FsbGV0L3dhbGxldC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIHBhZGRpbmc6IDAgM3JlbSAzcmVtO1xyXG4gIG1pbi13aWR0aDogOTVyZW07XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4uaGVhZGVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIGZsZXg6IDAgMCBhdXRvO1xyXG4gIGhlaWdodDogOHJlbTtcclxuXHJcbiAgPiBkaXYge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDMuMnJlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGgzIHtcclxuICAgIGZvbnQtc2l6ZTogMS43cmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBtYXgtd2lkdGg6IDUwcmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDIuN3JlbTtcclxuICB9XHJcblxyXG4gIGJ1dHRvbiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgIC5pY29uIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjJyZW07XHJcbiAgICAgIHdpZHRoOiAxLjdyZW07XHJcbiAgICAgIGhlaWdodDogMS43cmVtO1xyXG5cclxuICAgICAgJi5hY2NvdW50IHtcclxuICAgICAgICBoZWlnaHQ6IDEuNnJlbTtcclxuICAgICAgICBtYXNrOiB1cmwoLi4vLi4vYXNzZXRzL2ljb25zL2FjY291bnQuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmxvY2sge1xyXG4gICAgICAgIG1hc2s6IHVybCguLi8uLi9hc3NldHMvaWNvbnMvbG9jay5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuZGV0YWlscyB7XHJcbiAgICAgICAgbWFzazogdXJsKC4uLy4uL2Fzc2V0cy9pY29ucy9kZXRhaWxzLXNldHRpbmdzLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiAxLjhyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuY2xvc2Utd2FsbGV0IHtcclxuICAgICAgICBtYXNrOiB1cmwoLi4vLi4vYXNzZXRzL2ljb25zL2Nsb3NlLXdhbGxldC5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYWxpYXMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IDEuM3JlbTtcclxuXHJcbiAgICAuaWNvbiB7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjJyZW07XHJcbiAgICAgIHdpZHRoOiAxLjdyZW07XHJcbiAgICAgIGhlaWdodDogMS43cmVtO1xyXG5cclxuICAgICAgJi5lZGl0IHtcclxuICAgICAgICBtYXNrOiB1cmwoLi4vLi4vYXNzZXRzL2ljb25zL2RldGFpbHMuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLnRyYW5zZmVyIHtcclxuICAgICAgICBtYXNrOiB1cmwoLi4vLi4vYXNzZXRzL2ljb25zL3NlbmQuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYWRkcmVzcyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGZsZXg6IDAgMCBhdXRvO1xyXG4gIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjdyZW07XHJcblxyXG4gIC5pY29uIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIG1hcmdpbi1sZWZ0OiAxLjJyZW07XHJcbiAgICB3aWR0aDogMS43cmVtO1xyXG4gICAgaGVpZ2h0OiAxLjdyZW07XHJcblxyXG4gICAgJi5jb3B5IHtcclxuICAgICAgd2lkdGg6IDEuOHJlbTtcclxuICAgICAgbWFzazogdXJsKC4uLy4uL2Fzc2V0cy9pY29ucy9jb3B5LnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNzU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmNvcGllZCB7XHJcbiAgICAgIG1hc2s6IHVybCguLi8uLi9hc3NldHMvaWNvbnMvY29tcGxldGUtdGVzdHdhbGxldC5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYmFsYW5jZSB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gIGZsZXg6IDAgMCBhdXRvO1xyXG4gIG1hcmdpbjogMi42cmVtIDA7XHJcblxyXG4gIDpmaXJzdC1jaGlsZCB7XHJcbiAgICBmb250LXNpemU6IDMuM3JlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBsaW5lLWhlaWdodDogMi40cmVtO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAzLjVyZW07XHJcbiAgfVxyXG5cclxuICA6bGFzdC1jaGlsZCB7XHJcbiAgICBmb250LXNpemU6IDEuOHJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBsaW5lLWhlaWdodDogMS4zcmVtO1xyXG4gIH1cclxufVxyXG5cclxuLnRhYnMge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBmbGV4OiAxIDEgYXV0bztcclxuXHJcbiAgLnRhYnMtaGVhZGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBmbGV4OiAwIDAgYXV0bztcclxuXHJcbiAgICAudGFiIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIHBhZGRpbmc6IDAgMXJlbTtcclxuICAgICAgaGVpZ2h0OiA1cmVtO1xyXG4gICAgICAmLmhpZGUge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgICAgLmFuaW1hdGVkIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjNyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5hbmltYXRlZCA6Om5nLWRlZXAgc3ZnIHtcclxuXHJcbiAgICAgICAgd2lkdGg6IDJyZW07XHJcbiAgICAgICAgaGVpZ2h0OiAycmVtO1xyXG5cclxuICAgICAgICBwYXRoLCBjaXJjbGUsIHBvbHlnb24ge1xyXG4gICAgICAgICAgZmlsbDogIzRkYjFmZjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5pY29uIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuM3JlbTtcclxuICAgICAgICB3aWR0aDogMnJlbTtcclxuICAgICAgICBoZWlnaHQ6IDJyZW07XHJcblxyXG4gICAgICAgICYuc2VuZCB7XHJcbiAgICAgICAgICBtYXNrOiB1cmwoLi4vLi4vYXNzZXRzL2ljb25zL3NlbmQuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5yZWNlaXZlIHtcclxuICAgICAgICAgIG1hc2s6IHVybCguLi8uLi9hc3NldHMvaWNvbnMvcmVjZWl2ZS5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmhpc3Rvcnkge1xyXG4gICAgICAgICAgbWFzazogdXJsKC4uLy4uL2Fzc2V0cy9pY29ucy9oaXN0b3J5LnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY29udHJhY3RzIHtcclxuICAgICAgICAgIG1hc2s6IHVybCguLi8uLi9hc3NldHMvaWNvbnMvY29udHJhY3RzLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubWVzc2FnZXMge1xyXG4gICAgICAgICAgbWFzazogdXJsKC4uLy4uL2Fzc2V0cy9pY29ucy9tZXNzYWdlLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuc3Rha2luZyB7XHJcbiAgICAgICAgICBtYXNrOiB1cmwoLi4vLi4vYXNzZXRzL2ljb25zL3N0YWtpbmcuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmluZGljYXRvciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XHJcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuM3JlbTtcclxuICAgICAgICBwYWRkaW5nOiAwIDAuNXJlbTtcclxuICAgICAgICBtaW4td2lkdGg6IDEuNnJlbTtcclxuICAgICAgICBoZWlnaHQ6IDEuNnJlbTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgY3Vyc29yOiB1cmwoLi4vLi4vYXNzZXRzL2ljb25zL25vdC1hbGxvd2VkLnN2ZyksIG5vdC1hbGxvd2VkO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMC4zcmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAudGFicy1jb250ZW50IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBwYWRkaW5nOiAzcmVtO1xyXG4gICAgZmxleDogMSAxIGF1dG87XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgICBvdmVyZmxvdy15OiBvdmVybGF5O1xyXG4gIH1cclxuXHJcblxyXG4gIC5wYWdpbmF0aW9uLXdyYXBwZXIge1xyXG4gICAgLnBhZ2luYXRpb24ge1xyXG4gICAgICBwYWRkaW5nOiAxcmVtO1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB3aWR0aDogMi41cmVtO1xyXG4gICAgICAgIGhlaWdodDogMi41cmVtO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xyXG4gICAgICB9XHJcbiAgICAgIC5kaXNhYmxlZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE4MjAyYTtcclxuICAgICAgICBjb2xvcjogI2UwZTBlMDtcclxuICAgICAgICBvcGFjaXR5OiAwLjM7XHJcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ubWluaW5nLXRyYW5zYWN0aW9uLXN3aXRjaCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIC5zd2l0Y2gtdGV4dCB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XHJcbiAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgIGNvbG9yOiAjNTY1YzYyO1xyXG4gIH1cclxuXHJcbiAgLnN3aXRjaCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICBwYWRkaW5nOiAwLjVyZW07XHJcbiAgICB3aWR0aDogNXJlbTtcclxuICAgIGhlaWdodDogMnJlbTtcclxuXHJcbiAgICAuY2lyY2xlIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMXJlbTtcclxuICAgICAgd2lkdGg6IDEuMnJlbTtcclxuICAgICAgaGVpZ2h0OiAxLjJyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLm9wdGlvbiB7XHJcbiAgICAgIG1hcmdpbjogMCAwLjJyZW07XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJyZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iXX0= */" - -/***/ }), - -/***/ "./src/app/wallet/wallet.component.ts": -/*!********************************************!*\ - !*** ./src/app/wallet/wallet.component.ts ***! - \********************************************/ -/*! exports provided: WalletComponent */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "WalletComponent", function() { return WalletComponent; }); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm5/router.js"); -/* harmony import */ var _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../_helpers/services/variables.service */ "./src/app/_helpers/services/variables.service.ts"); -/* harmony import */ var _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../_helpers/services/backend.service */ "./src/app/_helpers/services/backend.service.ts"); -/* harmony import */ var _ngx_translate_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @ngx-translate/core */ "./node_modules/@ngx-translate/core/fesm5/ngx-translate-core.js"); -/* harmony import */ var _helpers_pipes_int_to_money_pipe__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../_helpers/pipes/int-to-money.pipe */ "./src/app/_helpers/pipes/int-to-money.pipe.ts"); -/* harmony import */ var _shared_constants__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../_shared/constants */ "./src/app/_shared/constants.ts"); -/* harmony import */ var _assets_icons_icons_json__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../assets/icons/icons.json */ "./src/assets/icons/icons.json"); -var _assets_icons_icons_json__WEBPACK_IMPORTED_MODULE_7___namespace = /*#__PURE__*/__webpack_require__.t(/*! ../../assets/icons/icons.json */ "./src/assets/icons/icons.json", 1); -/* harmony import */ var _helpers_services_pagination_service__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../_helpers/services/pagination.service */ "./src/app/_helpers/services/pagination.service.ts"); -/* harmony import */ var _helpers_services_pagination_store__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../_helpers/services/pagination.store */ "./src/app/_helpers/services/pagination.store.ts"); -/* harmony import */ var store__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! store */ "./src/store.ts"); -/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! rxjs/operators */ "./node_modules/rxjs/_esm5/operators/index.js"); -var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (undefined && undefined.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - - - - - - - - - - - -var WalletComponent = /** @class */ (function () { - function WalletComponent(route, router, backend, variablesService, ngZone, translate, intToMoneyPipe, pagination, paginationStore, store) { - this.route = route; - this.router = router; - this.backend = backend; - this.variablesService = variablesService; - this.ngZone = ngZone; - this.translate = translate; - this.intToMoneyPipe = intToMoneyPipe; - this.pagination = pagination; - this.paginationStore = paginationStore; - this.store = store; - this.copyAnimation = false; - this.activeTab = 'history'; - this.mining = false; - this.currentPage = 1; - this.sync_started = false; - this.stop_paginate = false; - this.tabs = [ - { - title: 'WALLET.TABS.HISTORY', - icon: 'history', - link: '/history', - indicator: false, - active: true, - animated: _assets_icons_icons_json__WEBPACK_IMPORTED_MODULE_7__.history, - itemHovered: false, - }, - { - title: 'WALLET.TABS.SEND', - icon: 'send', - link: '/send', - indicator: false, - active: false, - animated: _assets_icons_icons_json__WEBPACK_IMPORTED_MODULE_7__.send, - itemHovered: false, - }, - { - title: 'WALLET.TABS.RECEIVE', - icon: 'receive', - link: '/receive', - indicator: false, - active: false, - animated: _assets_icons_icons_json__WEBPACK_IMPORTED_MODULE_7__.receive, - itemHovered: false, - }, - { - title: 'WALLET.TABS.CONTRACTS', - icon: 'contracts', - link: '/contracts', - indicator: 1, - active: false, - animated: _assets_icons_icons_json__WEBPACK_IMPORTED_MODULE_7__.contracts, - itemHovered: false, - }, - /*{ - title: 'WALLET.TABS.MESSAGES', - icon: 'messages', - link: '/messages', - indicator: 32, - active: false, - animated: icons.messages, - itemHovered: false - },*/ - { - title: 'WALLET.TABS.STAKING', - icon: 'staking', - link: '/staking', - indicator: false, - active: false, - animated: _assets_icons_icons_json__WEBPACK_IMPORTED_MODULE_7__.staking, - itemHovered: false, - }, - ]; - } - WalletComponent.prototype.ngOnInit = function () { - var _this = this; - this.subRouting1 = this.route.params.subscribe(function (params) { - // set current wallet only by user click to avoid after sync show synchronized data - _this.walletID = +params['id']; - _this.walletLoaded = _this.variablesService.getWallet(_this.walletID).loaded; - _this.variablesService.setCurrentWallet(_this.walletID); - _this.walletsSubscription = _this.store - .select('sync') - .pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_11__["filter"])(Boolean), Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_11__["distinctUntilChanged"])()) - .subscribe(function (value) { - var data = value.filter(function (item) { return item.wallet_id === _this.walletID; })[0]; - if (data && !data.sync) { - var in_progress = void 0; - var values = _this.store.value.sync; - if (values && values.length) { - in_progress = values.filter(function (item) { return item.sync; }); - _this.variablesService.sync_started = !!(in_progress && in_progress.length); - if (!in_progress) { - _this.variablesService.sync_started = false; - } - } - else { - _this.variablesService.sync_started = false; - } - } - var restore = false; - if (_this.variablesService.after_sync_request.hasOwnProperty(_this.walletID)) { - restore = _this.variablesService.after_sync_request[_this.walletID]; - } - if (!_this.variablesService.sync_started && - restore && - _this.walletID === (data && data.wallet_id)) { - _this.wallet = _this.variablesService.getNotLoadedWallet(); - if (_this.wallet) { - _this.tick(); - } - // if this is was restore wallet and it was selected on moment when sync completed - _this.getRecentTransfers(); - _this.variablesService.after_sync_request[_this.walletID] = false; - } - }); - var after_sync_request = false; - if (_this.variablesService.after_sync_request.hasOwnProperty(_this.walletID)) { - after_sync_request = _this.variablesService.after_sync_request[_this.walletID]; - } - if (after_sync_request && !_this.variablesService.sync_started) { - // if user click on the wallet at the first time after restore. - _this.getRecentTransfers(); - } - if (_this.variablesService.stop_paginate.hasOwnProperty(_this.walletID)) { - _this.stop_paginate = _this.variablesService.stop_paginate[_this.walletID]; - } - else { - _this.stop_paginate = false; - } - // this will hide pagination a bit earlier - _this.wallet = _this.variablesService.getNotLoadedWallet(); - if (_this.wallet) { - _this.tick(); - } - _this.scrolledContent.nativeElement.scrollTop = 0; - clearTimeout(_this.copyAnimationTimeout); - _this.copyAnimation = false; - _this.mining = _this.variablesService.currentWallet.exclude_mining_txs; - if (_this.variablesService.wallets.length === 1) { - _this.walletID = +params['id']; - _this.variablesService.setCurrentWallet(_this.walletID); - } - }); - this.subRouting2 = this.router.events.subscribe(function (val) { - if (val instanceof _angular_router__WEBPACK_IMPORTED_MODULE_1__["RoutesRecognized"]) { - _this.activeTab = val.urlAfterRedirects - .replace('?sidenav=true', '') - .split('/') - .pop(); - if (val.state.root.firstChild && val.state.root.firstChild.firstChild) { - for (var i = 0; i < _this.tabs.length; i++) { - _this.tabs[i].active = - _this.tabs[i].link === - '/' + val.state.root.firstChild.firstChild.url[0].path; - } - } - } - }); - this.queryRouting = this.route.queryParams.subscribe(function (params) { - if (params.send) { - _this.tabs.forEach(function (tab, index) { - if (tab.link === '/send') { - _this.changeTab(index); - } - }); - } - }); - if (this.variablesService.currentWallet.alias.hasOwnProperty('name')) { - this.variablesService.currentWallet.wakeAlias = false; - } - this.aliasSubscription = this.variablesService.getAliasChangedEvent.subscribe(function () { - if (_this.variablesService.currentWallet.alias.hasOwnProperty('name')) { - _this.variablesService.currentWallet.wakeAlias = false; - } - }); - this.updateWalletStatus(); - }; - WalletComponent.prototype.resetPaginationValues = function () { - var _this = this; - this.ngZone.run(function () { - var total_history_item = _this.variablesService.currentWallet - .total_history_item; - var count = _this.variablesService.count; - _this.variablesService.currentWallet.totalPages = Math.ceil(total_history_item / count); - _this.variablesService.currentWallet.exclude_mining_txs = _this.mining; - _this.variablesService.currentWallet.currentPage = 1; - if (!_this.variablesService.currentWallet.totalPages) { - _this.variablesService.currentWallet.totalPages = 1; - } - _this.variablesService.currentWallet.totalPages > - _this.variablesService.maxPages - ? (_this.variablesService.currentWallet.pages = new Array(5) - .fill(1) - .map(function (value, index) { return value + index; })) - : (_this.variablesService.currentWallet.pages = new Array(_this.variablesService.currentWallet.totalPages) - .fill(1) - .map(function (value, index) { return value + index; })); - }); - }; - WalletComponent.prototype.changeTab = function (index) { - var _this = this; - if (((this.tabs[index].link === '/send' || - this.tabs[index].link === '/contracts' || - this.tabs[index].link === '/staking') && - (this.variablesService.daemon_state !== 2 || - !this.variablesService.currentWallet.loaded)) || - ((this.tabs[index].link === '/send' || - this.tabs[index].link === '/contracts') && - this.variablesService.currentWallet.is_watch_only && - this.variablesService.currentWallet.is_auditable)) { - return; - } - this.tabs.forEach(function (tab) { - tab.active = false; - }); - this.tabs[index].active = true; - this.ngZone.run(function () { - _this.scrolledContent.nativeElement.scrollTop = 0; - _this.router.navigate(['wallet/' + _this.walletID + _this.tabs[index].link]); - }); - }; - WalletComponent.prototype.itemHovered = function (index, state) { - this.tabs[index].itemHovered = state; - }; - WalletComponent.prototype.copyAddress = function () { - var _this = this; - this.backend.setClipboard(this.variablesService.currentWallet.address); - this.copyAnimation = true; - this.copyAnimationTimeout = window.setTimeout(function () { - _this.copyAnimation = false; - }, 2000); - }; - WalletComponent.prototype.getTooltip = function () { - var _this = this; - this.balanceTooltip = document.createElement('div'); - var available = document.createElement('span'); - available.setAttribute('class', 'available'); - available.innerHTML = this.translate.instant('WALLET.AVAILABLE_BALANCE', { - available: this.intToMoneyPipe.transform(this.variablesService.currentWallet.unlocked_balance), - currency: this.variablesService.defaultCurrency, - }); - this.balanceTooltip.appendChild(available); - var locked = document.createElement('span'); - locked.setAttribute('class', 'locked'); - locked.innerHTML = this.translate.instant('WALLET.LOCKED_BALANCE', { - locked: this.intToMoneyPipe.transform(this.variablesService.currentWallet.balance.minus(this.variablesService.currentWallet.unlocked_balance)), - currency: this.variablesService.defaultCurrency, - }); - this.balanceTooltip.appendChild(locked); - var link = document.createElement('span'); - link.setAttribute('class', 'link'); - link.innerHTML = this.translate.instant('WALLET.LOCKED_BALANCE_LINK'); - link.addEventListener('click', function () { - _this.openInBrowser(_shared_constants__WEBPACK_IMPORTED_MODULE_6__["LOCKED_BALANCE_HELP_PAGE"]); - }); - this.balanceTooltip.appendChild(link); - return this.balanceTooltip; - }; - WalletComponent.prototype.onHideTooltip = function () { - this.balanceTooltip = null; - }; - WalletComponent.prototype.openInBrowser = function (link) { - this.backend.openUrlInBrowser(link); - }; - WalletComponent.prototype.setPage = function (pageNumber) { - // this is will allow pagination for wallets that was open from existed wallets' - if (this.variablesService.currentWallet.open_from_exist && - !this.variablesService.currentWallet.updated) { - this.variablesService.get_recent_transfers = false; - this.variablesService.currentWallet.updated = true; - } - if (pageNumber === this.variablesService.currentWallet.currentPage) { - return; - } - // if not running get_recent_transfers callback - if (!this.variablesService.get_recent_transfers) { - this.variablesService.currentWallet.currentPage = pageNumber; - } - if (!this.variablesService.get_recent_transfers) { - this.getRecentTransfers(); - } - }; - WalletComponent.prototype.toggleMiningTransactions = function () { - var _this = this; - if (!this.variablesService.sync_started && !this.wallet) { - var value = this.paginationStore.value; - if (!value) { - this.paginationStore.setPage(1, 0, this.walletID); // add back page for the first page - } - else { - var pages = value.filter(function (item) { return item.walletID === _this.walletID; }); - if (!pages.length) { - this.paginationStore.setPage(1, 0, this.walletID); // add back page for the first page - } - } - this.mining = !this.mining; - this.resetPaginationValues(); - this.getRecentTransfers(); - } - }; - WalletComponent.prototype.tick = function () { - var _this = this; - var walletInterval = setInterval(function () { - _this.wallet = _this.variablesService.getNotLoadedWallet(); - if (!_this.wallet) { - clearInterval(walletInterval); - } - }, 1000); - }; - WalletComponent.prototype.getRecentTransfers = function () { - var _this = this; - var offset = this.pagination.getOffset(this.walletID); - var value = this.paginationStore.value; - var pages = value - ? value.filter(function (item) { return item.walletID === _this.walletID; }) - : []; - this.backend.getRecentTransfers(this.walletID, offset, this.variablesService.count, this.variablesService.currentWallet.exclude_mining_txs, function (status, data) { - var isForward = _this.paginationStore.isForward(pages, _this.variablesService.currentWallet.currentPage); - if (_this.mining && isForward && pages && pages.length === 1) { - _this.variablesService.currentWallet.currentPage = 1; // set init page after navigation back - } - var history = data && data.history; - _this.variablesService.stop_paginate[_this.walletID] = - (history && history.length < _this.variablesService.count) || !history; - _this.stop_paginate = _this.variablesService.stop_paginate[_this.walletID]; - if (!_this.variablesService.stop_paginate[_this.walletID]) { - var page = _this.variablesService.currentWallet.currentPage + 1; - if (isForward && - _this.mining && - history && - history.length === _this.variablesService.count) { - _this.paginationStore.setPage(page, data.last_item_index, _this.walletID); // add back page for current page - } - } - _this.pagination.calcPages(data); - _this.pagination.prepareHistory(data, status); - _this.ngZone.run(function () { - _this.variablesService.get_recent_transfers = false; - if (_this.variablesService.after_sync_request.hasOwnProperty(_this.walletID)) { - // this is will complete get_recent_transfers request - // this will switch of - _this.variablesService.after_sync_request[_this.walletID] = false; - } - }); - }); - }; - WalletComponent.prototype.ngOnDestroy = function () { - this.subRouting1.unsubscribe(); - this.subRouting2.unsubscribe(); - this.queryRouting.unsubscribe(); - this.aliasSubscription.unsubscribe(); - if (this.walletsSubscription) { - this.walletsSubscription.unsubscribe(); - } - clearTimeout(this.copyAnimationTimeout); - }; - WalletComponent.prototype.updateWalletStatus = function () { - var _this = this; - this.backend.eventSubscribe('wallet_sync_progress', function (data) { - var wallet_id = data.wallet_id; - if (wallet_id === _this.walletID) { - _this.ngZone.run(function () { - _this.walletLoaded = false; - }); - } - }); - this.backend.eventSubscribe('update_wallet_status', function (data) { - var wallet_state = data.wallet_state; - var wallet_id = data.wallet_id; - _this.ngZone.run(function () { - if (wallet_state === 2 && wallet_id === _this.walletID) { - _this.walletLoaded = - _this.variablesService.getWallet(_this.walletID) !== null && - _this.variablesService.getWallet(_this.walletID).loaded - ? true - : false; - } - else { - _this.walletLoaded = false; - } - }); - }); - }; - __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ViewChild"])('scrolledContent'), - __metadata("design:type", _angular_core__WEBPACK_IMPORTED_MODULE_0__["ElementRef"]) - ], WalletComponent.prototype, "scrolledContent", void 0); - WalletComponent = __decorate([ - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Component"])({ - selector: 'app-wallet', - template: __webpack_require__(/*! ./wallet.component.html */ "./src/app/wallet/wallet.component.html"), - styles: [__webpack_require__(/*! ./wallet.component.scss */ "./src/app/wallet/wallet.component.scss")] - }), - __metadata("design:paramtypes", [_angular_router__WEBPACK_IMPORTED_MODULE_1__["ActivatedRoute"], - _angular_router__WEBPACK_IMPORTED_MODULE_1__["Router"], - _helpers_services_backend_service__WEBPACK_IMPORTED_MODULE_3__["BackendService"], - _helpers_services_variables_service__WEBPACK_IMPORTED_MODULE_2__["VariablesService"], - _angular_core__WEBPACK_IMPORTED_MODULE_0__["NgZone"], - _ngx_translate_core__WEBPACK_IMPORTED_MODULE_4__["TranslateService"], - _helpers_pipes_int_to_money_pipe__WEBPACK_IMPORTED_MODULE_5__["IntToMoneyPipe"], - _helpers_services_pagination_service__WEBPACK_IMPORTED_MODULE_8__["PaginationService"], - _helpers_services_pagination_store__WEBPACK_IMPORTED_MODULE_9__["PaginationStore"], - store__WEBPACK_IMPORTED_MODULE_10__["Store"]]) - ], WalletComponent); - return WalletComponent; -}()); - - - -/***/ }), - -/***/ "./src/assets/icons/icons.json": -/*!*************************************!*\ - !*** ./src/assets/icons/icons.json ***! - \*************************************/ -/*! exports provided: logo, contacts, settings, exit, history, send, receive, contracts, messages, staking, default */ -/***/ (function(module) { - -module.exports = {"logo":"","contacts":"","settings":"","exit":"","history":"","send":"","receive":"","contracts":"","messages":"","staking":""}; - -/***/ }), - -/***/ "./src/environments/environment.ts": -/*!*****************************************!*\ - !*** ./src/environments/environment.ts ***! - \*****************************************/ -/*! exports provided: environment */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "environment", function() { return environment; }); -// This file can be replaced during build by using the `fileReplacements` array. -// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`. -// The list of file replacements can be found in `angular.json`. -var environment = { - production: false -}; -/* - * For easier debugging in development mode, you can import the following file - * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`. - * - * This import should be commented out in production mode because it will have a negative impact - * on performance if an error is thrown. - */ -// import 'zone.js/dist/zone-error'; // Included with Angular CLI. - - -/***/ }), - -/***/ "./src/main.ts": -/*!*********************!*\ - !*** ./src/main.ts ***! - \*********************/ -/*! no exports provided */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var _angular_platform_browser_dynamic__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/platform-browser-dynamic */ "./node_modules/@angular/platform-browser-dynamic/fesm5/platform-browser-dynamic.js"); -/* harmony import */ var _app_app_module__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./app/app.module */ "./src/app/app.module.ts"); -/* harmony import */ var _environments_environment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./environments/environment */ "./src/environments/environment.ts"); -/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash */ "./node_modules/lodash/lodash.js"); -/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_4__); - - - - - -if (_environments_environment__WEBPACK_IMPORTED_MODULE_3__["environment"].production) { - Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["enableProdMode"])(); -} -Object(_angular_platform_browser_dynamic__WEBPACK_IMPORTED_MODULE_1__["platformBrowserDynamic"])().bootstrapModule(_app_app_module__WEBPACK_IMPORTED_MODULE_2__["AppModule"]) - .catch(function (err) { return console.error(err); }); - - -/***/ }), - -/***/ "./src/store.ts": -/*!**********************!*\ - !*** ./src/store.ts ***! - \**********************/ -/*! exports provided: Store */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Store", function() { return Store; }); -/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! rxjs/operators */ "./node_modules/rxjs/_esm5/operators/index.js"); -/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! rxjs */ "./node_modules/rxjs/_esm5/index.js"); -var __assign = (undefined && undefined.__assign) || function () { - __assign = Object.assign || function(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) - t[p] = s[p]; - } - return t; - }; - return __assign.apply(this, arguments); -}; - - -var state = { - wallets: undefined, - sync: undefined, -}; -var Store = /** @class */ (function () { - function Store() { - this.subject = new rxjs__WEBPACK_IMPORTED_MODULE_1__["BehaviorSubject"](state); - this.store = this.subject.asObservable().pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_0__["distinctUntilChanged"])()); - } - Object.defineProperty(Store.prototype, "value", { - get: function () { - return this.subject.value; - }, - enumerable: true, - configurable: true - }); - Store.prototype.select = function (name) { - return this.store.pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_0__["pluck"])(name)); - }; - // tslint:disable-next-line:no-shadowed-variable - Store.prototype.set = function (name, state) { - var _a; - this.subject.next(__assign({}, this.value, (_a = {}, _a[name] = state, _a))); - }; - return Store; -}()); - - - -/***/ }), - -/***/ 0: -/*!***************************!*\ - !*** multi ./src/main.ts ***! - \***************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -module.exports = __webpack_require__(/*! D:\Project\WORK_NEW\zano\src\gui\qt-daemon\html_source\src\main.ts */"./src/main.ts"); - - -/***/ }) - -},[[0,"runtime","vendor"]]]); -//# sourceMappingURL=main.js.map \ No newline at end of file diff --git a/src/gui/qt-daemon/html/main.js.map b/src/gui/qt-daemon/html/main.js.map deleted file mode 100644 index 966ac261..00000000 --- a/src/gui/qt-daemon/html/main.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/_helpers/directives/confirm-modal/confirm-modal.component.html","webpack:///./src/app/_helpers/directives/confirm-modal/confirm-modal.component.scss","webpack:///./src/app/_helpers/directives/confirm-modal/confirm-modal.component.ts","webpack:///./src/app/_helpers/directives/input-disable-selection/input-disable-selection.directive.ts","webpack:///./src/app/_helpers/directives/input-validate/input-validate.directive.ts","webpack:///./src/app/_helpers/directives/modal-container/modal-container.component.html","webpack:///./src/app/_helpers/directives/modal-container/modal-container.component.scss","webpack:///./src/app/_helpers/directives/modal-container/modal-container.component.ts","webpack:///./src/app/_helpers/directives/progress-container/progress-container.component.html","webpack:///./src/app/_helpers/directives/progress-container/progress-container.component.scss","webpack:///./src/app/_helpers/directives/progress-container/progress-container.component.ts","webpack:///./src/app/_helpers/directives/staking-switch/staking-switch.component.html","webpack:///./src/app/_helpers/directives/staking-switch/staking-switch.component.scss","webpack:///./src/app/_helpers/directives/staking-switch/staking-switch.component.ts","webpack:///./src/app/_helpers/directives/tooltip.directive.ts","webpack:///./src/app/_helpers/directives/transaction-details/transaction-details.component.html","webpack:///./src/app/_helpers/directives/transaction-details/transaction-details.component.scss","webpack:///./src/app/_helpers/directives/transaction-details/transaction-details.component.ts","webpack:///./src/app/_helpers/models/transaction.model.ts","webpack:///./src/app/_helpers/models/wallet.model.ts","webpack:///./src/app/_helpers/pipes/contract-status-messages.pipe.ts","webpack:///./src/app/_helpers/pipes/contract-time-left.pipe.ts","webpack:///./src/app/_helpers/pipes/history-type-messages.pipe.ts","webpack:///./src/app/_helpers/pipes/int-to-money.pipe.ts","webpack:///./src/app/_helpers/pipes/money-to-int.pipe.ts","webpack:///./src/app/_helpers/pipes/safe-html.pipe.ts","webpack:///./src/app/_helpers/services/backend.service.ts","webpack:///./src/app/_helpers/services/modal.service.ts","webpack:///./src/app/_helpers/services/pagination.service.ts","webpack:///./src/app/_helpers/services/pagination.store.ts","webpack:///./src/app/_helpers/services/utils.service.ts","webpack:///./src/app/_helpers/services/variables.service.ts","webpack:///./src/app/_shared/constants.ts","webpack:///./src/app/add-contacts/add-contacts.component.html","webpack:///./src/app/add-contacts/add-contacts.component.scss","webpack:///./src/app/add-contacts/add-contacts.component.ts","webpack:///./src/app/app-routing.module.ts","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.scss","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/assign-alias/assign-alias.component.html","webpack:///./src/app/assign-alias/assign-alias.component.scss","webpack:///./src/app/assign-alias/assign-alias.component.ts","webpack:///./src/app/contact-send/contact-send.component.html","webpack:///./src/app/contact-send/contact-send.component.scss","webpack:///./src/app/contact-send/contact-send.component.ts","webpack:///./src/app/contacts/contacts.component.html","webpack:///./src/app/contacts/contacts.component.scss","webpack:///./src/app/contacts/contacts.component.ts","webpack:///./src/app/contracts/contracts.component.html","webpack:///./src/app/contracts/contracts.component.scss","webpack:///./src/app/contracts/contracts.component.ts","webpack:///./src/app/create-wallet/create-wallet.component.html","webpack:///./src/app/create-wallet/create-wallet.component.scss","webpack:///./src/app/create-wallet/create-wallet.component.ts","webpack:///./src/app/edit-alias/edit-alias.component.html","webpack:///./src/app/edit-alias/edit-alias.component.scss","webpack:///./src/app/edit-alias/edit-alias.component.ts","webpack:///./src/app/export-import/export-import.component.html","webpack:///./src/app/export-import/export-import.component.scss","webpack:///./src/app/export-import/export-import.component.ts","webpack:///./src/app/history/history.component.html","webpack:///./src/app/history/history.component.scss","webpack:///./src/app/history/history.component.ts","webpack:///./src/app/login/login.component.html","webpack:///./src/app/login/login.component.scss","webpack:///./src/app/login/login.component.ts","webpack:///./src/app/main/main.component.html","webpack:///./src/app/main/main.component.scss","webpack:///./src/app/main/main.component.ts","webpack:///./src/app/messages/messages.component.html","webpack:///./src/app/messages/messages.component.scss","webpack:///./src/app/messages/messages.component.ts","webpack:///./src/app/open-wallet-modal/open-wallet-modal.component.html","webpack:///./src/app/open-wallet-modal/open-wallet-modal.component.scss","webpack:///./src/app/open-wallet-modal/open-wallet-modal.component.ts","webpack:///./src/app/open-wallet/open-wallet.component.html","webpack:///./src/app/open-wallet/open-wallet.component.scss","webpack:///./src/app/open-wallet/open-wallet.component.ts","webpack:///./src/app/purchase/purchase.component.html","webpack:///./src/app/purchase/purchase.component.scss","webpack:///./src/app/purchase/purchase.component.ts","webpack:///./src/app/receive/receive.component.html","webpack:///./src/app/receive/receive.component.scss","webpack:///./src/app/receive/receive.component.ts","webpack:///./src/app/restore-wallet/restore-wallet.component.html","webpack:///./src/app/restore-wallet/restore-wallet.component.scss","webpack:///./src/app/restore-wallet/restore-wallet.component.ts","webpack:///./src/app/seed-phrase/seed-phrase.component.html","webpack:///./src/app/seed-phrase/seed-phrase.component.scss","webpack:///./src/app/seed-phrase/seed-phrase.component.ts","webpack:///./src/app/send-modal/send-modal.component.html","webpack:///./src/app/send-modal/send-modal.component.scss","webpack:///./src/app/send-modal/send-modal.component.ts","webpack:///./src/app/send/send.component.html","webpack:///./src/app/send/send.component.scss","webpack:///./src/app/send/send.component.ts","webpack:///./src/app/settings/settings.component.html","webpack:///./src/app/settings/settings.component.scss","webpack:///./src/app/settings/settings.component.ts","webpack:///./src/app/sidebar/sidebar.component.html","webpack:///./src/app/sidebar/sidebar.component.scss","webpack:///./src/app/sidebar/sidebar.component.ts","webpack:///./src/app/staking/staking.component.html","webpack:///./src/app/staking/staking.component.scss","webpack:///./src/app/staking/staking.component.ts","webpack:///./src/app/transfer-alias/transfer-alias.component.html","webpack:///./src/app/transfer-alias/transfer-alias.component.scss","webpack:///./src/app/transfer-alias/transfer-alias.component.ts","webpack:///./src/app/typing-message/typing-message.component.html","webpack:///./src/app/typing-message/typing-message.component.scss","webpack:///./src/app/typing-message/typing-message.component.ts","webpack:///./src/app/wallet-details/wallet-details.component.html","webpack:///./src/app/wallet-details/wallet-details.component.scss","webpack:///./src/app/wallet-details/wallet-details.component.ts","webpack:///./src/app/wallet/wallet.component.html","webpack:///./src/app/wallet/wallet.component.scss","webpack:///./src/app/wallet/wallet.component.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts","webpack:///./src/store.ts"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","module.exports = \"
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n {{title}}\\r\\n {{message}}\\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \"","module.exports = \":host {\\n position: fixed;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n background: rgba(255, 255, 255, 0.25);\\n z-index: 5; }\\n\\n.modal {\\n position: relative;\\n display: flex;\\n flex-direction: column;\\n background-position: center;\\n background-size: 200%;\\n padding: 3rem;\\n min-width: 34rem;\\n max-width: 60rem; }\\n\\n.modal .content {\\n display: flex; }\\n\\n.modal .content .icon {\\n flex: 0 0 auto;\\n width: 4.4rem;\\n height: 4.4rem; }\\n\\n.modal .content .icon.info {\\n -webkit-mask: url('modal-info.svg') no-repeat center;\\n mask: url('modal-info.svg') no-repeat center; }\\n\\n.modal .content .message-container {\\n display: flex;\\n flex-direction: column;\\n align-items: flex-start;\\n justify-content: center;\\n margin-left: 2rem; }\\n\\n.modal .content .message-container .title {\\n font-size: 1.8rem;\\n font-weight: 600;\\n line-height: 2.2rem; }\\n\\n.modal .content .message-container .message {\\n font-size: 1.3rem;\\n line-height: 1.8rem;\\n margin-top: 0.4rem; }\\n\\n.modal .wrap-btn {\\n display: flex;\\n justify-content: space-between;\\n width: 100%;\\n margin-top: 3.5rem; }\\n\\n.modal .action-button {\\n width: 10rem;\\n height: 2.4rem; }\\n\\n.modal .close-button {\\n position: absolute;\\n top: 0;\\n right: 0;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n background: transparent;\\n margin: 0;\\n padding: 0;\\n width: 2.4rem;\\n height: 2.4rem; }\\n\\n.modal .close-button .icon {\\n -webkit-mask: url('close.svg') no-repeat center;\\n mask: url('close.svg') no-repeat center;\\n width: 2.4rem;\\n height: 2.4rem; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX2hlbHBlcnMvZGlyZWN0aXZlcy9jb25maXJtLW1vZGFsL0Q6XFxQcm9qZWN0XFxXT1JLX05FV1xcemFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxhcHBcXF9oZWxwZXJzXFxkaXJlY3RpdmVzXFxjb25maXJtLW1vZGFsXFxjb25maXJtLW1vZGFsLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsZUFBZTtFQUNmLE1BQU07RUFDTixTQUFTO0VBQ1QsT0FBTztFQUNQLFFBQVE7RUFDUixhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLHVCQUF1QjtFQUN2QixxQ0FBcUM7RUFDckMsVUFBVSxFQUFBOztBQUVaO0VBQ0Usa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsMkJBQTJCO0VBQzNCLHFCQUFxQjtFQUNyQixhQUFhO0VBQ2IsZ0JBQWdCO0VBQ2hCLGdCQUFnQixFQUFBOztBQVJsQjtJQVdJLGFBQWEsRUFBQTs7QUFYakI7TUFjTSxjQUFjO01BQ2QsYUFBYTtNQUNiLGNBQWMsRUFBQTs7QUFoQnBCO1FBbUJRLG9EQUE0RDtnQkFBNUQsNENBQTRELEVBQUE7O0FBbkJwRTtNQXdCTSxhQUFhO01BQ2Isc0JBQXNCO01BQ3RCLHVCQUF1QjtNQUN2Qix1QkFBdUI7TUFDdkIsaUJBQWlCLEVBQUE7O0FBNUJ2QjtRQStCUSxpQkFBaUI7UUFDakIsZ0JBQWdCO1FBQ2hCLG1CQUFtQixFQUFBOztBQWpDM0I7UUFxQ1EsaUJBQWlCO1FBQ2pCLG1CQUFtQjtRQUNuQixrQkFBa0IsRUFBQTs7QUF2QzFCO0lBNkNJLGFBQWE7SUFDYiw4QkFBOEI7SUFDOUIsV0FBVztJQUNYLGtCQUFrQixFQUFBOztBQWhEdEI7SUFvREksWUFBWTtJQUNaLGNBQWMsRUFBQTs7QUFyRGxCO0lBeURJLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sUUFBUTtJQUNSLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLHVCQUF1QjtJQUN2QixTQUFTO0lBQ1QsVUFBVTtJQUNWLGFBQWE7SUFDYixjQUFjLEVBQUE7O0FBbkVsQjtNQXNFTSwrQ0FBdUQ7Y0FBdkQsdUNBQXVEO01BQ3ZELGFBQWE7TUFDYixjQUFjLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9faGVscGVycy9kaXJlY3RpdmVzL2NvbmZpcm0tbW9kYWwvY29uZmlybS1tb2RhbC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgdG9wOiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xyXG4gIHotaW5kZXg6IDU7XHJcbn1cclxuLm1vZGFsIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICBiYWNrZ3JvdW5kLXNpemU6IDIwMCU7XHJcbiAgcGFkZGluZzogM3JlbTtcclxuICBtaW4td2lkdGg6IDM0cmVtO1xyXG4gIG1heC13aWR0aDogNjByZW07XHJcblxyXG4gIC5jb250ZW50IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcblxyXG4gICAgLmljb24ge1xyXG4gICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgICAgd2lkdGg6IDQuNHJlbTtcclxuICAgICAgaGVpZ2h0OiA0LjRyZW07XHJcblxyXG4gICAgICAmLmluZm8ge1xyXG4gICAgICAgIG1hc2s6IHVybCh+c3JjL2Fzc2V0cy9pY29ucy9tb2RhbC1pbmZvLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5tZXNzYWdlLWNvbnRhaW5lciB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDJyZW07XHJcblxyXG4gICAgICAudGl0bGUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuMnJlbTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLm1lc3NhZ2Uge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjhyZW07XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMC40cmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAud3JhcC1idG4ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLXRvcDogMy41cmVtO1xyXG4gIH1cclxuICBcclxuICAuYWN0aW9uLWJ1dHRvbiB7XHJcbiAgICB3aWR0aDogMTByZW07XHJcbiAgICBoZWlnaHQ6IDIuNHJlbTtcclxuICB9XHJcblxyXG4gIC5jbG9zZS1idXR0b24ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgd2lkdGg6IDIuNHJlbTtcclxuICAgIGhlaWdodDogMi40cmVtO1xyXG5cclxuICAgIC5pY29uIHtcclxuICAgICAgbWFzazogdXJsKH5zcmMvYXNzZXRzL2ljb25zL2Nsb3NlLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgd2lkdGg6IDIuNHJlbTtcclxuICAgICAgaGVpZ2h0OiAyLjRyZW07XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ== */\"","import { Component, OnInit, Input, Output, EventEmitter, ViewChild, ElementRef } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-confirm-modal',\r\n templateUrl: './confirm-modal.component.html',\r\n styleUrls: ['./confirm-modal.component.scss']\r\n})\r\nexport class ConfirmModalComponent implements OnInit {\r\n\r\n @Input() title: string;\r\n @Input() message: string;\r\n @Output() confirmed: EventEmitter = new EventEmitter();\r\n @ViewChild('btn') button: ElementRef;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.button.nativeElement.focus();\r\n }\r\n\r\n onSubmit() {\r\n this.confirmed.emit(true);\r\n }\r\n\r\n onClose() {\r\n this.confirmed.emit(false);\r\n }\r\n}\r\n","import {Directive, HostListener} from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'input'\r\n})\r\nexport class InputDisableSelectionDirective {\r\n\r\n constructor() {}\r\n\r\n @HostListener('mousedown', ['$event'])\r\n handleInput(event: Event) {\r\n if ((event.target).readOnly) {\r\n event.preventDefault();\r\n }\r\n }\r\n}\r\n","import {Directive, ElementRef, Input, HostListener} from '@angular/core';\r\nimport {VariablesService} from '../../services/variables.service';\r\n\r\n@Directive({\r\n selector: '[appInputValidate]'\r\n})\r\nexport class InputValidateDirective {\r\n\r\n private type: string;\r\n\r\n constructor(private el: ElementRef, private variablesService: VariablesService) {\r\n }\r\n\r\n @Input('appInputValidate')\r\n public set defineInputType(type: string) {\r\n this.type = type;\r\n }\r\n\r\n @HostListener('input', ['$event'])\r\n handleInput(event: Event) {\r\n if ( this.type === 'money' ) {\r\n this.moneyValidation(event);\r\n } else if ( this.type === 'integer' ) {\r\n this.integerValidation(event);\r\n }\r\n }\r\n\r\n private moneyValidation(event: Event) {\r\n let currentValue = (event.target).value;\r\n const originalValue = currentValue;\r\n const OnlyD = /[^\\d\\.]/g;\r\n const _has_error = currentValue.match(OnlyD);\r\n if (_has_error && _has_error.length) {\r\n currentValue = currentValue.replace(',', '.').replace(OnlyD, '');\r\n }\r\n const _double_separator = currentValue.match(/\\./g);\r\n if (_double_separator && _double_separator.length > 1) {\r\n currentValue = currentValue.substr(0, currentValue.lastIndexOf('.'));\r\n }\r\n if (currentValue.indexOf('.') === 0) {\r\n currentValue = '0' + currentValue;\r\n }\r\n const _zero_fill = currentValue.split('.');\r\n if (_zero_fill[0].length > 7) {\r\n _zero_fill[0] = _zero_fill[0].substr(0, 7);\r\n }\r\n\r\n if (1 in _zero_fill && _zero_fill[1].length) {\r\n _zero_fill[1] = _zero_fill[1].substr(0, this.variablesService.digits);\r\n }\r\n currentValue = _zero_fill.join('.');\r\n if (currentValue !== originalValue) {\r\n (event.target).value = currentValue;\r\n const cursorPosition = (event.target).selectionEnd;\r\n (event.target).setSelectionRange(cursorPosition, cursorPosition);\r\n (event.target).dispatchEvent(new Event('input'));\r\n }\r\n }\r\n\r\n private integerValidation(event: Event) {\r\n let currentValue = (event.target).value;\r\n const originalValue = currentValue;\r\n const OnlyD = /[^\\d]/g;\r\n const _has_error = currentValue.match(OnlyD);\r\n if (_has_error && _has_error.length) {\r\n currentValue = currentValue.replace(OnlyD, '');\r\n }\r\n if (currentValue !== originalValue) {\r\n const cursorPosition = (event.target).selectionEnd;\r\n (event.target).value = currentValue;\r\n (event.target).setSelectionRange(cursorPosition, cursorPosition);\r\n }\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n\r\n","module.exports = \"
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n {{title}}\\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n\"","module.exports = \":host {\\n position: fixed;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n background: rgba(255, 255, 255, 0.25); }\\n\\n.modal {\\n position: relative;\\n display: flex;\\n flex-direction: column;\\n background-position: center;\\n background-size: 200%;\\n padding: 2rem;\\n min-width: 34rem;\\n max-width: 60rem; }\\n\\n.modal .content {\\n display: flex;\\n margin: 1.2rem 0; }\\n\\n.modal .content .icon {\\n flex: 0 0 auto;\\n width: 4.4rem;\\n height: 4.4rem; }\\n\\n.modal .content .icon.error {\\n -webkit-mask: url('modal-alert.svg') no-repeat center;\\n mask: url('modal-alert.svg') no-repeat center; }\\n\\n.modal .content .icon.success {\\n -webkit-mask: url('modal-success.svg') no-repeat center;\\n mask: url('modal-success.svg') no-repeat center; }\\n\\n.modal .content .icon.info {\\n -webkit-mask: url('modal-info.svg') no-repeat center;\\n mask: url('modal-info.svg') no-repeat center; }\\n\\n.modal .content .message-container {\\n display: flex;\\n flex-direction: column;\\n align-items: flex-start;\\n justify-content: center;\\n margin-left: 2rem; }\\n\\n.modal .content .message-container .title {\\n font-size: 1.8rem;\\n font-weight: 600;\\n line-height: 2.2rem; }\\n\\n.modal .content .message-container .message {\\n font-size: 1.3rem;\\n line-height: 1.8rem;\\n margin-top: 0.4rem; }\\n\\n.modal .action-button {\\n margin: 1.2rem auto 0.6rem;\\n width: 10rem;\\n height: 2.4rem; }\\n\\n.modal .close-button {\\n position: absolute;\\n top: 0;\\n right: 0;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n background: transparent;\\n margin: 0;\\n padding: 0;\\n width: 2.4rem;\\n height: 2.4rem; }\\n\\n.modal .close-button .icon {\\n -webkit-mask: url('close.svg') no-repeat center;\\n mask: url('close.svg') no-repeat center;\\n width: 2.4rem;\\n height: 2.4rem; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX2hlbHBlcnMvZGlyZWN0aXZlcy9tb2RhbC1jb250YWluZXIvRDpcXFByb2plY3RcXFdPUktfTkVXXFx6YW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFwcFxcX2hlbHBlcnNcXGRpcmVjdGl2ZXNcXG1vZGFsLWNvbnRhaW5lclxcbW9kYWwtY29udGFpbmVyLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsZUFBZTtFQUNmLE1BQU07RUFDTixTQUFTO0VBQ1QsT0FBTztFQUNQLFFBQVE7RUFDUixhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLHVCQUF1QjtFQUN2QixxQ0FBcUMsRUFBQTs7QUFFdkM7RUFDRSxrQkFBa0I7RUFDbEIsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QiwyQkFBMkI7RUFDM0IscUJBQXFCO0VBQ3JCLGFBQWE7RUFDYixnQkFBZ0I7RUFDaEIsZ0JBQWdCLEVBQUE7O0FBUmxCO0lBV0ksYUFBYTtJQUNiLGdCQUFnQixFQUFBOztBQVpwQjtNQWVNLGNBQWM7TUFDZCxhQUFhO01BQ2IsY0FBYyxFQUFBOztBQWpCcEI7UUFvQlEscURBQTZEO2dCQUE3RCw2Q0FBNkQsRUFBQTs7QUFwQnJFO1FBd0JRLHVEQUErRDtnQkFBL0QsK0NBQStELEVBQUE7O0FBeEJ2RTtRQTRCUSxvREFBNEQ7Z0JBQTVELDRDQUE0RCxFQUFBOztBQTVCcEU7TUFpQ00sYUFBYTtNQUNiLHNCQUFzQjtNQUN0Qix1QkFBdUI7TUFDdkIsdUJBQXVCO01BQ3ZCLGlCQUFpQixFQUFBOztBQXJDdkI7UUF3Q1EsaUJBQWlCO1FBQ2pCLGdCQUFnQjtRQUNoQixtQkFBbUIsRUFBQTs7QUExQzNCO1FBOENRLGlCQUFpQjtRQUNqQixtQkFBbUI7UUFDbkIsa0JBQWtCLEVBQUE7O0FBaEQxQjtJQXNESSwwQkFBMEI7SUFDMUIsWUFBWTtJQUNaLGNBQWMsRUFBQTs7QUF4RGxCO0lBNERJLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sUUFBUTtJQUNSLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLHVCQUF1QjtJQUN2QixTQUFTO0lBQ1QsVUFBVTtJQUNWLGFBQWE7SUFDYixjQUFjLEVBQUE7O0FBdEVsQjtNQXlFTSwrQ0FBdUQ7Y0FBdkQsdUNBQXVEO01BQ3ZELGFBQWE7TUFDYixjQUFjLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9faGVscGVycy9kaXJlY3RpdmVzL21vZGFsLWNvbnRhaW5lci9tb2RhbC1jb250YWluZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcclxufVxyXG4ubW9kYWwge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gIGJhY2tncm91bmQtc2l6ZTogMjAwJTtcclxuICBwYWRkaW5nOiAycmVtO1xyXG4gIG1pbi13aWR0aDogMzRyZW07XHJcbiAgbWF4LXdpZHRoOiA2MHJlbTtcclxuXHJcbiAgLmNvbnRlbnQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIG1hcmdpbjogMS4ycmVtIDA7XHJcblxyXG4gICAgLmljb24ge1xyXG4gICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgICAgd2lkdGg6IDQuNHJlbTtcclxuICAgICAgaGVpZ2h0OiA0LjRyZW07XHJcblxyXG4gICAgICAmLmVycm9yIHtcclxuICAgICAgICBtYXNrOiB1cmwofnNyYy9hc3NldHMvaWNvbnMvbW9kYWwtYWxlcnQuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLnN1Y2Nlc3Mge1xyXG4gICAgICAgIG1hc2s6IHVybCh+c3JjL2Fzc2V0cy9pY29ucy9tb2RhbC1zdWNjZXNzLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi5pbmZvIHtcclxuICAgICAgICBtYXNrOiB1cmwofnNyYy9hc3NldHMvaWNvbnMvbW9kYWwtaW5mby5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubWVzc2FnZS1jb250YWluZXIge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAycmVtO1xyXG5cclxuICAgICAgLnRpdGxlIHtcclxuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjJyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5tZXNzYWdlIHtcclxuICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS44cmVtO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDAuNHJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmFjdGlvbi1idXR0b24ge1xyXG4gICAgbWFyZ2luOiAxLjJyZW0gYXV0byAwLjZyZW07XHJcbiAgICB3aWR0aDogMTByZW07XHJcbiAgICBoZWlnaHQ6IDIuNHJlbTtcclxuICB9XHJcblxyXG4gIC5jbG9zZS1idXR0b24ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgd2lkdGg6IDIuNHJlbTtcclxuICAgIGhlaWdodDogMi40cmVtO1xyXG5cclxuICAgIC5pY29uIHtcclxuICAgICAgbWFzazogdXJsKH5zcmMvYXNzZXRzL2ljb25zL2Nsb3NlLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgd2lkdGg6IDIuNHJlbTtcclxuICAgICAgaGVpZ2h0OiAyLjRyZW07XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ== */\"","import {Component, OnInit, Input, Output, EventEmitter, ViewChild, ElementRef} from '@angular/core';\r\nimport {TranslateService} from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-modal-container',\r\n templateUrl: './modal-container.component.html',\r\n styleUrls: ['./modal-container.component.scss']\r\n})\r\nexport class ModalContainerComponent implements OnInit {\r\n\r\n public title: string;\r\n @Input() type: string;\r\n @Input() message: string;\r\n @Output() close = new EventEmitter();\r\n @ViewChild('btn') button: ElementRef;\r\n\r\n constructor(private translate: TranslateService) {}\r\n\r\n ngOnInit() {\r\n this.button.nativeElement.focus();\r\n switch (this.type) {\r\n case 'error': this.title = this.translate.instant('MODALS.ERROR'); break;\r\n case 'success': this.title = this.translate.instant('MODALS.SUCCESS'); break;\r\n case 'info': this.title = this.translate.instant('MODALS.INFO'); break;\r\n }\r\n }\r\n\r\n onClose() {\r\n this.close.emit();\r\n }\r\n}\r\n","module.exports = \"
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n {{ label | translate }}\\r\\n \\r\\n
      \\r\\n
      \\r\\n\"","module.exports = \".progress-bar-container {\\n position: absolute;\\n bottom: 0;\\n left: 0;\\n padding: 0 3rem;\\n width: 100%;\\n height: 3rem; }\\n .progress-bar-container .progress-bar {\\n position: absolute;\\n top: -0.7rem;\\n left: 0;\\n margin: 0 3rem;\\n width: calc(100% - 6rem);\\n height: 0.7rem; }\\n .progress-bar-container .progress-bar .progress-bar-full {\\n height: 0.7rem; }\\n .progress-bar-container .progress-labels {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n font-size: 1.2rem;\\n height: 100%; }\\n .progress-bar-container .progress-labels span {\\n flex: 1 0 0;\\n text-align: center; }\\n .progress-bar-container .progress-labels span:first-child {\\n text-align: left; }\\n .progress-bar-container .progress-labels span:last-child {\\n text-align: right; }\\n .progress-bar-container .progress-time {\\n position: absolute;\\n top: -3rem;\\n left: 50%;\\n transform: translateX(-50%);\\n font-size: 1.2rem; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX2hlbHBlcnMvZGlyZWN0aXZlcy9wcm9ncmVzcy1jb250YWluZXIvRDpcXFByb2plY3RcXFdPUktfTkVXXFx6YW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFwcFxcX2hlbHBlcnNcXGRpcmVjdGl2ZXNcXHByb2dyZXNzLWNvbnRhaW5lclxccHJvZ3Jlc3MtY29udGFpbmVyLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0Usa0JBQWtCO0VBQ2xCLFNBQVM7RUFDVCxPQUFPO0VBQ1AsZUFBZTtFQUNmLFdBQVc7RUFDWCxZQUFZLEVBQUE7RUFOZDtJQVNJLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osT0FBTztJQUNQLGNBQWM7SUFDZCx3QkFBd0I7SUFDeEIsY0FBYyxFQUFBO0VBZGxCO01BaUJNLGNBQWMsRUFBQTtFQWpCcEI7SUFzQkksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQiw4QkFBOEI7SUFDOUIsaUJBQWlCO0lBQ2pCLFlBQVksRUFBQTtFQTFCaEI7TUE2Qk0sV0FBVztNQUNYLGtCQUFrQixFQUFBO0VBOUJ4QjtRQWlDUSxnQkFBZ0IsRUFBQTtFQWpDeEI7UUFxQ1EsaUJBQWlCLEVBQUE7RUFyQ3pCO0lBMkNJLGtCQUFrQjtJQUNsQixVQUFVO0lBQ1YsU0FBUztJQUNULDJCQUEyQjtJQUMzQixpQkFBaUIsRUFBQSIsImZpbGUiOiJzcmMvYXBwL19oZWxwZXJzL2RpcmVjdGl2ZXMvcHJvZ3Jlc3MtY29udGFpbmVyL3Byb2dyZXNzLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5wcm9ncmVzcy1iYXItY29udGFpbmVyIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcGFkZGluZzogMCAzcmVtO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogM3JlbTtcclxuXHJcbiAgLnByb2dyZXNzLWJhciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IC0wLjdyZW07XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgbWFyZ2luOiAwIDNyZW07XHJcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNnJlbSk7XHJcbiAgICBoZWlnaHQ6IDAuN3JlbTtcclxuXHJcbiAgICAucHJvZ3Jlc3MtYmFyLWZ1bGwge1xyXG4gICAgICBoZWlnaHQ6IDAuN3JlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5wcm9ncmVzcy1sYWJlbHMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuXHJcbiAgICBzcGFuIHtcclxuICAgICAgZmxleDogMSAwIDA7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5wcm9ncmVzcy10aW1lIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogLTNyZW07XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICB9XHJcbn1cclxuIl19 */\"","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-progress-container',\r\n templateUrl: './progress-container.component.html',\r\n styleUrls: ['./progress-container.component.scss']\r\n})\r\nexport class ProgressContainerComponent implements OnInit {\r\n\r\n @Input() width: string;\r\n @Input() labels: [];\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n\r\n}\r\n","module.exports = \"
      \\r\\n {{ 'STAKING.SWITCH.ON' | translate }}\\r\\n \\r\\n {{ 'STAKING.SWITCH.OFF' | translate }}\\r\\n
      \\r\\n\"","module.exports = \".switch {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n border-radius: 1rem;\\n cursor: pointer;\\n font-size: 1rem;\\n padding: 0.5rem;\\n width: 5rem;\\n height: 2rem; }\\n .switch .circle {\\n border-radius: 1rem;\\n width: 1.2rem;\\n height: 1.2rem; }\\n .switch .option {\\n margin: 0 0.2rem;\\n line-height: 1.2rem; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX2hlbHBlcnMvZGlyZWN0aXZlcy9zdGFraW5nLXN3aXRjaC9EOlxcUHJvamVjdFxcV09SS19ORVdcXHphbm9cXHNyY1xcZ3VpXFxxdC1kYWVtb25cXGh0bWxfc291cmNlL3NyY1xcYXBwXFxfaGVscGVyc1xcZGlyZWN0aXZlc1xcc3Rha2luZy1zd2l0Y2hcXHN0YWtpbmctc3dpdGNoLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQiw4QkFBOEI7RUFDOUIsbUJBQW1CO0VBQ25CLGVBQWU7RUFDZixlQUFlO0VBQ2YsZUFBZTtFQUNmLFdBQVc7RUFDWCxZQUFZLEVBQUE7RUFUZDtJQVlJLG1CQUFtQjtJQUNuQixhQUFhO0lBQ2IsY0FBYyxFQUFBO0VBZGxCO0lBa0JJLGdCQUFnQjtJQUNoQixtQkFBbUIsRUFBQSIsImZpbGUiOiJzcmMvYXBwL19oZWxwZXJzL2RpcmVjdGl2ZXMvc3Rha2luZy1zd2l0Y2gvc3Rha2luZy1zd2l0Y2guY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuc3dpdGNoIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIGJvcmRlci1yYWRpdXM6IDFyZW07XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGZvbnQtc2l6ZTogMXJlbTtcclxuICBwYWRkaW5nOiAwLjVyZW07XHJcbiAgd2lkdGg6IDVyZW07XHJcbiAgaGVpZ2h0OiAycmVtO1xyXG5cclxuICAuY2lyY2xlIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XHJcbiAgICB3aWR0aDogMS4ycmVtO1xyXG4gICAgaGVpZ2h0OiAxLjJyZW07XHJcbiAgfVxyXG5cclxuICAub3B0aW9uIHtcclxuICAgIG1hcmdpbjogMCAwLjJyZW07XHJcbiAgICBsaW5lLWhlaWdodDogMS4ycmVtO1xyXG4gIH1cclxufVxyXG4iXX0= */\"","import {Component, OnInit, Input, Output, EventEmitter} from '@angular/core';\r\nimport {BackendService} from '../../services/backend.service';\r\nimport {VariablesService} from '../../services/variables.service';\r\n\r\n@Component({\r\n selector: 'app-staking-switch',\r\n templateUrl: './staking-switch.component.html',\r\n styleUrls: ['./staking-switch.component.scss']\r\n})\r\nexport class StakingSwitchComponent implements OnInit {\r\n\r\n @Input() wallet_id: boolean;\r\n @Input() staking: boolean;\r\n @Output() stakingChange = new EventEmitter();\r\n\r\n constructor(private backend: BackendService, private variablesService: VariablesService) {}\r\n\r\n ngOnInit() {}\r\n\r\n toggleStaking() {\r\n const wallet = this.variablesService.getWallet(this.wallet_id);\r\n if (wallet && wallet.loaded) {\r\n this.stakingChange.emit(!this.staking);\r\n if (!this.staking) {\r\n this.backend.startPosMining(this.wallet_id);\r\n } else {\r\n this.backend.stopPosMining(this.wallet_id);\r\n }\r\n }\r\n }\r\n}\r\n","import {Directive, Input, Output, ElementRef, HostListener, Renderer2, HostBinding, OnDestroy, EventEmitter} from '@angular/core';\r\nimport {ActivatedRoute} from '@angular/router';\r\n\r\n@Directive({\r\n selector: '[tooltip]'\r\n})\r\n\r\nexport class TooltipDirective implements OnDestroy {\r\n\r\n @HostBinding('style.cursor') cursor;\r\n\r\n @Input('tooltip') tooltipInner: any;\r\n @Input() placement: string;\r\n @Input() tooltipClass: string;\r\n @Input() timeout = 0;\r\n @Input() timeDelay = 0;\r\n @Input() delay = 0;\r\n @Input() showWhenNoOverflow = true;\r\n @Output() onHide = new EventEmitter();\r\n tooltip: HTMLElement;\r\n private enter: (event: MouseEvent) => void;\r\n private leave: (event: MouseEvent) => void;\r\n\r\n removeTooltipTimeout;\r\n removeTooltipTimeoutInner;\r\n\r\n removeTooltipTimeDelay;\r\n\r\n constructor(private el: ElementRef, private renderer: Renderer2, private route: ActivatedRoute) {\r\n }\r\n\r\n @HostListener('mouseenter') onMouseEnter() {\r\n if (this.showWhenNoOverflow || (!this.showWhenNoOverflow && this.el.nativeElement.offsetWidth < this.el.nativeElement.scrollWidth)) {\r\n this.cursor = 'pointer';\r\n if (!this.tooltip) {\r\n if (this.timeDelay !== 0) {\r\n this.removeTooltipTimeDelay = setTimeout(() => {\r\n this.show();\r\n }, this.timeDelay);\r\n } else {\r\n this.show();\r\n }\r\n } else {\r\n this.cancelHide();\r\n }\r\n }\r\n }\r\n\r\n @HostListener('mouseleave') onMouseLeave() {\r\n clearTimeout(this.removeTooltipTimeDelay);\r\n if (this.tooltip) {\r\n this.hide();\r\n }\r\n }\r\n\r\n show() {\r\n this.create();\r\n this.placement = this.placement === null ? 'top' : this.placement;\r\n this.setPosition(this.placement);\r\n }\r\n\r\n hide() {\r\n this.removeTooltipTimeout = setTimeout(() => {\r\n this.renderer.setStyle(this.tooltip, 'opacity', '0');\r\n this.removeTooltipTimeoutInner = setTimeout(() => {\r\n this.renderer.removeChild(document.body, this.tooltip);\r\n this.tooltip.removeEventListener('mouseenter', this.enter);\r\n this.tooltip.removeEventListener('mouseleave', this.leave);\r\n this.tooltip = null;\r\n this.onHide.emit(true);\r\n }, this.delay);\r\n }, this.timeout);\r\n }\r\n\r\n cancelHide() {\r\n clearTimeout(this.removeTooltipTimeout);\r\n clearTimeout(this.removeTooltipTimeoutInner);\r\n this.renderer.setStyle(this.tooltip, 'opacity', '1');\r\n }\r\n\r\n create() {\r\n this.tooltip = this.renderer.createElement('div');\r\n let innerBlock = this.renderer.createElement('div');\r\n if (typeof this.tooltipInner === 'string') {\r\n innerBlock.innerHTML = this.tooltipInner;\r\n } else {\r\n innerBlock = this.tooltipInner;\r\n }\r\n this.renderer.addClass(innerBlock, 'tooltip-inner');\r\n this.renderer.addClass(innerBlock, 'scrolled-content');\r\n this.renderer.appendChild(this.tooltip, innerBlock);\r\n this.renderer.appendChild(document.body, this.tooltip);\r\n\r\n this.enter = () => {\r\n this.cancelHide();\r\n };\r\n this.tooltip.addEventListener('mouseenter', this.enter);\r\n this.leave = () => {\r\n if (this.tooltip) {\r\n this.hide();\r\n }\r\n };\r\n this.tooltip.addEventListener('mouseleave', this.leave);\r\n\r\n this.renderer.setStyle(document.body, 'position', 'relative');\r\n this.renderer.setStyle(this.tooltip, 'position', 'absolute');\r\n if (this.tooltipClass !== null) {\r\n const classes = this.tooltipClass.split(' ');\r\n for (let i = 0; i < classes.length; i++) {\r\n this.renderer.addClass(this.tooltip, classes[i]);\r\n }\r\n }\r\n this.renderer.setStyle(this.tooltip, 'opacity', '0');\r\n this.renderer.setStyle(this.tooltip, '-webkit-transition', `opacity ${this.delay}ms`);\r\n this.renderer.setStyle(this.tooltip, '-moz-transition', `opacity ${this.delay}ms`);\r\n this.renderer.setStyle(this.tooltip, '-o-transition', `opacity ${this.delay}ms`);\r\n this.renderer.setStyle(this.tooltip, 'transition', `opacity ${this.delay}ms`);\r\n window.setTimeout(() => {\r\n this.renderer.setStyle(this.tooltip, 'opacity', '1');\r\n }, 0);\r\n }\r\n\r\n setPosition(placement) {\r\n const hostPos = this.el.nativeElement.getBoundingClientRect();\r\n this.renderer.addClass(this.tooltip, 'ng-tooltip-' + placement);\r\n const topExit = hostPos.top - this.tooltip.getBoundingClientRect().height - parseInt(getComputedStyle(this.tooltip).marginTop, 10) < 0;\r\n const bottomExit = window.innerHeight < hostPos.bottom + this.tooltip.getBoundingClientRect().height + parseInt(getComputedStyle(this.tooltip).marginTop, 10);\r\n\r\n switch (placement) {\r\n case 'top':\r\n if (topExit) {\r\n this.renderer.removeClass(this.tooltip, 'ng-tooltip-' + placement);\r\n this.setPosition('bottom');\r\n return;\r\n } else {\r\n this.renderer.setStyle(this.tooltip, 'left', hostPos.left + (hostPos.right - hostPos.left) / 2 - this.tooltip.getBoundingClientRect().width / 2 + 'px');\r\n this.renderer.setStyle(this.tooltip, 'top', hostPos.top - this.tooltip.getBoundingClientRect().height + 'px');\r\n this.checkSides();\r\n }\r\n break;\r\n case 'top-left':\r\n if (topExit) {\r\n this.renderer.removeClass(this.tooltip, 'ng-tooltip-' + placement);\r\n this.setPosition('bottom-left');\r\n return;\r\n } else {\r\n this.renderer.setStyle(this.tooltip, 'left', hostPos.left + 'px');\r\n this.renderer.setStyle(this.tooltip, 'top', hostPos.top - this.tooltip.getBoundingClientRect().height + 'px');\r\n this.checkSides();\r\n }\r\n break;\r\n case 'top-right':\r\n if (topExit) {\r\n this.renderer.removeClass(this.tooltip, 'ng-tooltip-' + placement);\r\n this.setPosition('bottom-right');\r\n return;\r\n } else {\r\n this.renderer.setStyle(this.tooltip, 'left', hostPos.right - this.tooltip.offsetWidth + 'px');\r\n this.renderer.setStyle(this.tooltip, 'top', hostPos.top - this.tooltip.getBoundingClientRect().height + 'px');\r\n this.checkSides();\r\n }\r\n break;\r\n case 'bottom':\r\n if (bottomExit) {\r\n this.renderer.removeClass(this.tooltip, 'ng-tooltip-' + placement);\r\n this.setPosition('top');\r\n return;\r\n } else {\r\n this.renderer.setStyle(this.tooltip, 'top', hostPos.bottom + 'px');\r\n this.renderer.setStyle(this.tooltip, 'left', hostPos.left + (hostPos.right - hostPos.left) / 2 - this.tooltip.getBoundingClientRect().width / 2 + 'px');\r\n this.checkSides();\r\n }\r\n break;\r\n case 'bottom-left':\r\n if (bottomExit) {\r\n this.renderer.removeClass(this.tooltip, 'ng-tooltip-' + placement);\r\n this.setPosition('top-left');\r\n return;\r\n } else {\r\n this.renderer.setStyle(this.tooltip, 'top', hostPos.bottom + 'px');\r\n this.renderer.setStyle(this.tooltip, 'left', hostPos.left + 'px');\r\n this.checkSides();\r\n }\r\n break;\r\n case 'bottom-right':\r\n if (bottomExit) {\r\n this.renderer.removeClass(this.tooltip, 'ng-tooltip-' + placement);\r\n this.setPosition('top-right');\r\n return;\r\n } else {\r\n this.renderer.setStyle(this.tooltip, 'top', hostPos.bottom + 'px');\r\n this.renderer.setStyle(this.tooltip, 'left', hostPos.right - this.tooltip.offsetWidth + 'px');\r\n this.checkSides();\r\n }\r\n break;\r\n case 'left':\r\n this.renderer.setStyle(this.tooltip, 'left', hostPos.left - this.tooltip.getBoundingClientRect().width + 'px');\r\n this.renderer.setStyle(this.tooltip, 'top', hostPos.top + (hostPos.bottom - hostPos.top) / 2 - this.tooltip.getBoundingClientRect().height / 2 + 'px');\r\n break;\r\n case 'left-top':\r\n this.renderer.setStyle(this.tooltip, 'top', hostPos.top + 'px');\r\n this.renderer.setStyle(this.tooltip, 'left', hostPos.left - this.tooltip.getBoundingClientRect().width + 'px');\r\n break;\r\n case 'left-bottom':\r\n this.renderer.setStyle(this.tooltip, 'left', hostPos.left - this.tooltip.getBoundingClientRect().width + 'px');\r\n this.renderer.setStyle(this.tooltip, 'top', hostPos.bottom - this.tooltip.getBoundingClientRect().height + 'px');\r\n break;\r\n case 'right':\r\n this.renderer.setStyle(this.tooltip, 'left', hostPos.right + 'px');\r\n this.renderer.setStyle(this.tooltip, 'top', hostPos.top + (hostPos.bottom - hostPos.top) / 2 - this.tooltip.getBoundingClientRect().height / 2 + 'px');\r\n break;\r\n case 'right-top':\r\n this.renderer.setStyle(this.tooltip, 'top', hostPos.top + 'px');\r\n this.renderer.setStyle(this.tooltip, 'left', hostPos.right + 'px');\r\n break;\r\n case 'right-bottom':\r\n this.renderer.setStyle(this.tooltip, 'left', hostPos.right + 'px');\r\n this.renderer.setStyle(this.tooltip, 'top', hostPos.bottom - this.tooltip.getBoundingClientRect().height + 'px');\r\n break;\r\n }\r\n }\r\n\r\n checkSides() {\r\n if (this.tooltip.getBoundingClientRect().left < 0) {\r\n this.renderer.setStyle(this.tooltip, 'left', 0);\r\n }\r\n if (this.tooltip.getBoundingClientRect().right > window.innerWidth) {\r\n this.renderer.setStyle(this.tooltip, 'left', window.innerWidth - this.tooltip.getBoundingClientRect().width + 'px');\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n clearTimeout(this.removeTooltipTimeout);\r\n clearTimeout(this.removeTooltipTimeoutInner);\r\n clearTimeout(this.removeTooltipTimeDelay);\r\n if (this.tooltip) {\r\n this.renderer.removeChild(document.body, this.tooltip);\r\n this.tooltip = null;\r\n }\r\n }\r\n\r\n}\r\n","module.exports = \"
      \\r\\n
      \\r\\n {{ 'HISTORY.DETAILS.ID' | translate }}\\r\\n {{transaction.tx_hash}}\\r\\n {{ 'HISTORY.DETAILS.SIZE' | translate }}\\r\\n {{ 'HISTORY.DETAILS.SIZE_VALUE' | translate : {value: transaction.tx_blob_size} }}\\r\\n
      \\r\\n
      \\r\\n {{ 'HISTORY.DETAILS.HEIGHT' | translate }}\\r\\n {{transaction.height}}\\r\\n {{ 'HISTORY.DETAILS.CONFIRMATION' | translate }}\\r\\n {{transaction.height === 0 ? 0 : variablesService.height_app - transaction.height}}\\r\\n
      \\r\\n
      \\r\\n {{ 'HISTORY.DETAILS.INPUTS' | translate }}\\r\\n {{inputs.join(', ')}}\\r\\n {{ 'HISTORY.DETAILS.OUTPUTS' | translate }}\\r\\n {{outputs.join(', ')}}\\r\\n
      \\r\\n
      \\r\\n {{ 'HISTORY.DETAILS.PAYMENT_ID' | translate }}\\r\\n \\r\\n {{transaction.payment_id}}\\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'HISTORY.DETAILS.COMMENT' | translate }}\\r\\n \\r\\n {{transaction.comment}}\\r\\n \\r\\n
      \\r\\n
      \\r\\n\"","module.exports = \":host {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%; }\\n\\n.table {\\n border-top: 0.2rem solid #ebebeb;\\n margin: 0 3rem;\\n padding: 0.5rem 0; }\\n\\n.table .row {\\n display: flex;\\n justify-content: flex-start;\\n align-items: center;\\n border-top: none;\\n line-height: 3rem;\\n margin: 0 -3rem;\\n width: 100%;\\n height: 3rem; }\\n\\n.table .row .cell {\\n flex-shrink: 0;\\n flex-grow: 0;\\n padding: 0 1rem;\\n overflow: hidden;\\n text-overflow: ellipsis; }\\n\\n.table .row .cell:first-child {\\n padding-left: 3rem; }\\n\\n.table .row .cell:last-child {\\n padding-right: 3rem; }\\n\\n.table .row .cell.key-value {\\n cursor: pointer; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvX2hlbHBlcnMvZGlyZWN0aXZlcy90cmFuc2FjdGlvbi1kZXRhaWxzL0Q6XFxQcm9qZWN0XFxXT1JLX05FV1xcemFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxhcHBcXF9oZWxwZXJzXFxkaXJlY3RpdmVzXFx0cmFuc2FjdGlvbi1kZXRhaWxzXFx0cmFuc2FjdGlvbi1kZXRhaWxzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0Usa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixPQUFPO0VBQ1AsV0FBVyxFQUFBOztBQUdiO0VBQ0UsZ0NBQWdDO0VBQ2hDLGNBQWM7RUFDZCxpQkFBaUIsRUFBQTs7QUFIbkI7SUFNSSxhQUFhO0lBQ2IsMkJBQTJCO0lBQzNCLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGVBQWU7SUFDZixXQUFXO0lBQ1gsWUFBWSxFQUFBOztBQWJoQjtNQWdCTSxjQUFjO01BQ2QsWUFBWTtNQUNaLGVBQWU7TUFDZixnQkFBZ0I7TUFDaEIsdUJBQXVCLEVBQUE7O0FBcEI3QjtRQXVCUSxrQkFBa0IsRUFBQTs7QUF2QjFCO1FBMkJRLG1CQUFtQixFQUFBOztBQTNCM0I7UUErQlEsZUFBZSxFQUFBIiwiZmlsZSI6InNyYy9hcHAvX2hlbHBlcnMvZGlyZWN0aXZlcy90cmFuc2FjdGlvbi1kZXRhaWxzL3RyYW5zYWN0aW9uLWRldGFpbHMuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4udGFibGUge1xyXG4gIGJvcmRlci10b3A6IDAuMnJlbSBzb2xpZCAjZWJlYmViO1xyXG4gIG1hcmdpbjogMCAzcmVtO1xyXG4gIHBhZGRpbmc6IDAuNXJlbSAwO1xyXG5cclxuICAucm93IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgYm9yZGVyLXRvcDogbm9uZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAzcmVtO1xyXG4gICAgbWFyZ2luOiAwIC0zcmVtO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDNyZW07XHJcblxyXG4gICAgLmNlbGwge1xyXG4gICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgZmxleC1ncm93OiAwO1xyXG4gICAgICBwYWRkaW5nOiAwIDFyZW07XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cclxuICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYua2V5LXZhbHVlIHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19 */\"","import {Component, OnInit, OnDestroy, Input} from '@angular/core';\r\nimport {Transaction} from '../../models/transaction.model';\r\nimport {VariablesService} from '../../services/variables.service';\r\nimport {BackendService} from '../../services/backend.service';\r\nimport {IntToMoneyPipe} from '../../pipes/int-to-money.pipe';\r\nimport {BLOCK_EXPLORER_TX_URL_PREFIX} from '../../../_shared/constants';\r\nimport {BLOCK_EXPLORER_TN_TX_URL_PREFIX} from '../../../_shared/constants';\r\n\r\n@Component({\r\n selector: 'app-transaction-details',\r\n templateUrl: './transaction-details.component.html',\r\n styleUrls: ['./transaction-details.component.scss']\r\n})\r\nexport class TransactionDetailsComponent implements OnInit, OnDestroy {\r\n\r\n @Input() transaction: Transaction;\r\n @Input() sizes: Array;\r\n inputs: Array = [];\r\n outputs: Array = [];\r\n\r\n constructor(public variablesService: VariablesService, private backendService: BackendService, private intToMoneyPipe: IntToMoneyPipe) {}\r\n\r\n ngOnInit() {\r\n for (const input in this.transaction.td['spn']) {\r\n if (this.transaction.td['spn'].hasOwnProperty(input)) {\r\n this.inputs.push(this.intToMoneyPipe.transform(this.transaction.td['spn'][input]));\r\n }\r\n }\r\n for (const output in this.transaction.td['rcv']) {\r\n if (this.transaction.td['rcv'].hasOwnProperty(output)) {\r\n this.outputs.push(this.intToMoneyPipe.transform(this.transaction.td['rcv'][output]));\r\n }\r\n }\r\n }\r\n\r\n openInBrowser(tr) {\r\n this.backendService.openUrlInBrowser((this.variablesService.testnet ? BLOCK_EXPLORER_TN_TX_URL_PREFIX : BLOCK_EXPLORER_TX_URL_PREFIX)+ tr);\r\n }\r\n\r\n ngOnDestroy() {}\r\n}\r\n","import {BigNumber} from 'bignumber.js';\r\n\r\nexport class Transaction {\r\n amount: BigNumber;\r\n comment: string;\r\n contract: any[];\r\n fee: BigNumber;\r\n height: number;\r\n is_income: boolean;\r\n is_mining: boolean;\r\n is_mixing: boolean;\r\n is_service: boolean;\r\n payment_id: string;\r\n show_sender: boolean;\r\n td: object;\r\n timestamp: number;\r\n tx_blob_size: number;\r\n tx_hash: string;\r\n tx_type: number;\r\n unlock_time: number;\r\n\r\n sortAmount?: BigNumber;\r\n sortFee?: BigNumber;\r\n}\r\n","import {Contract} from './contract.model';\r\nimport {Transaction} from './transaction.model';\r\nimport {BigNumber} from 'bignumber.js';\r\n\r\nexport class Wallet {\r\n stop_paginate: boolean;\r\n open_from_exist: boolean;\r\n updated = false;\r\n wallet_id: number;\r\n name: string;\r\n pass: string;\r\n path: string;\r\n address: string;\r\n balance: BigNumber;\r\n unlocked_balance: BigNumber;\r\n mined_total: number;\r\n tracking_hey: string;\r\n is_auditable: boolean;\r\n is_watch_only: boolean;\r\n exclude_mining_txs: boolean;\r\n alias_available: boolean;\r\n\r\n alias?: object;\r\n wakeAlias?: boolean;\r\n staking?: boolean;\r\n new_messages?: number;\r\n new_contracts?: number;\r\n\r\n history: Array = [];\r\n total_history_item?: number;\r\n pages = [];\r\n totalPages: number;\r\n currentPage: number;\r\n excluded_history: Array = [];\r\n\r\n contracts: Array = [];\r\n\r\n progress?: number;\r\n loaded?: boolean;\r\n restore?: boolean;\r\n\r\n send_data?: any = {\r\n address: null,\r\n amount: null,\r\n comment: null,\r\n mixin: null,\r\n fee: null,\r\n hide: null\r\n };\r\n\r\n constructor(id, name, pass, path, address, balance, unlocked_balance, mined = 0, tracking = '') {\r\n this.wallet_id = id;\r\n this.name = name;\r\n this.pass = pass;\r\n this.path = path;\r\n this.address = address;\r\n this.balance = balance;\r\n this.unlocked_balance = unlocked_balance;\r\n this.mined_total = mined;\r\n this.tracking_hey = tracking;\r\n\r\n this.alias = {};\r\n this.staking = false;\r\n this.new_messages = 0;\r\n this.new_contracts = 0;\r\n\r\n this.history = [];\r\n this.excluded_history = [];\r\n\r\n this.progress = 0;\r\n this.loaded = false;\r\n }\r\n\r\n getMoneyEquivalent(equivalent) {\r\n return this.balance.multipliedBy(equivalent).toFixed(0);\r\n }\r\n\r\n havePass(): boolean {\r\n return (this.pass !== '' && this.pass !== null);\r\n }\r\n\r\n isActive(id): boolean {\r\n return this.wallet_id === id;\r\n }\r\n\r\n prepareHistoryItem(item: Transaction): any {\r\n if (item.tx_type === 4) {\r\n item.sortFee = item.amount.plus(item.fee).negated();\r\n item.sortAmount = new BigNumber(0);\r\n } else if (item.tx_type === 3) {\r\n item.sortFee = new BigNumber(0);\r\n } else if ((item.hasOwnProperty('contract') && (item.contract[0].state === 3 || item.contract[0].state === 6 || item.contract[0].state === 601) && !item.contract[0].is_a)) {\r\n item.sortFee = item.fee.negated();\r\n item.sortAmount = item.amount;\r\n } else {\r\n if (!item.is_income) {\r\n item.sortFee = item.fee.negated();\r\n item.sortAmount = item.amount.negated();\r\n } else {\r\n item.sortAmount = item.amount;\r\n }\r\n }\r\n return item;\r\n }\r\n\r\n prepareHistory(items: Transaction[]): void {\r\n for (let i = 0; i < items.length; i++) {\r\n if ((items[i].tx_type === 7 && items[i].is_income) || (items[i].tx_type === 11 && items[i].is_income) || (items[i].amount.eq(0) && items[i].fee.eq(0) && !items[i].is_mining)) {\r\n let exists = false;\r\n for (let j = 0; j < this.excluded_history.length; j++) {\r\n if (this.excluded_history[j].tx_hash === items[i].tx_hash) {\r\n exists = true;\r\n if (this.excluded_history[j].height !== items[i].height) {\r\n this.excluded_history[j] = items[i];\r\n }\r\n break;\r\n }\r\n }\r\n if (!exists) {\r\n this.excluded_history.push(items[i]);\r\n }\r\n } else {\r\n let exists = false;\r\n for (let j = 0; j < this.history.length; j++) {\r\n if (this.history[j].tx_hash === items[i].tx_hash) {\r\n exists = true;\r\n if (this.history[j].height !== items[i].height) {\r\n this.history[j] = this.prepareHistoryItem(items[i]);\r\n }\r\n break;\r\n }\r\n }\r\n if (!exists) {\r\n if (this.history.length && items[i].timestamp >= this.history[0].timestamp) {\r\n this.history.unshift(this.prepareHistoryItem(items[i]));\r\n } else {\r\n this.history.push(this.prepareHistoryItem(items[i]));\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n removeFromHistory(hash: string): void {\r\n for (let i = 0; i < this.history.length; i++) {\r\n if (this.history[i].tx_hash === hash) {\r\n this.history.splice(i, 1);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n prepareContractsAfterOpen(items: any[], exp_med_ts, height_app, viewedContracts, notViewedContracts): void {\r\n const wallet = this;\r\n for (let i = 0; i < items.length; i++) {\r\n const contract = items[i];\r\n let contractTransactionExist = false;\r\n if (wallet && wallet.history) {\r\n contractTransactionExist = wallet.history.some(elem => elem.contract && elem.contract.length && elem.contract[0].contract_id === contract.contract_id);\r\n }\r\n if (!contractTransactionExist && wallet && wallet.excluded_history) {\r\n contractTransactionExist = wallet.excluded_history.some(elem => elem.contract && elem.contract.length && elem.contract[0].contract_id === contract.contract_id);\r\n }\r\n\r\n if (!contractTransactionExist) {\r\n contract.state = 140;\r\n } else if (contract.state === 1 && contract.expiration_time < exp_med_ts) {\r\n contract.state = 110;\r\n } else if (contract.state === 2 && contract.cancel_expiration_time !== 0 && contract.cancel_expiration_time < exp_med_ts && contract.height === 0) {\r\n const searchResult1 = viewedContracts.some(elem => elem.state === 2 && elem.is_a === contract.is_a && elem.contract_id === contract.contract_id);\r\n if (!searchResult1) {\r\n contract.state = 130;\r\n contract.is_new = true;\r\n }\r\n } else if (contract.state === 1) {\r\n const searchResult2 = notViewedContracts.find(elem => elem.state === 110 && elem.is_a === contract.is_a && elem.contract_id === contract.contract_id);\r\n if (searchResult2) {\r\n if (searchResult2.time === contract.expiration_time) {\r\n contract.state = 110;\r\n } else {\r\n for (let j = 0; j < notViewedContracts.length; j++) {\r\n if (notViewedContracts[j].contract_id === contract.contract_id && notViewedContracts[j].is_a === contract.is_a) {\r\n notViewedContracts.splice(j, 1);\r\n break;\r\n }\r\n }\r\n for (let j = 0; j < viewedContracts.length; j++) {\r\n if (viewedContracts[j].contract_id === contract.contract_id && viewedContracts[j].is_a === contract.is_a) {\r\n viewedContracts.splice(j, 1);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n } else if (contract.state === 2 && (contract.height === 0 || (height_app - contract.height) < 10)) {\r\n contract.state = 201;\r\n } else if (contract.state === 2) {\r\n const searchResult3 = viewedContracts.some(elem => elem.state === 120 && elem.is_a === contract.is_a && elem.contract_id === contract.contract_id);\r\n if (searchResult3) {\r\n contract.state = 120;\r\n }\r\n } else if (contract.state === 5) {\r\n const searchResult4 = notViewedContracts.find(elem => elem.state === 130 && elem.is_a === contract.is_a && elem.contract_id === contract.contract_id);\r\n if (searchResult4) {\r\n if (searchResult4.time === contract.cancel_expiration_time) {\r\n contract.state = 130;\r\n } else {\r\n for (let j = 0; j < notViewedContracts.length; j++) {\r\n if (notViewedContracts[j].contract_id === contract.contract_id && notViewedContracts[j].is_a === contract.is_a) {\r\n notViewedContracts.splice(j, 1);\r\n break;\r\n }\r\n }\r\n for (let j = 0; j < viewedContracts.length; j++) {\r\n if (viewedContracts[j].contract_id === contract.contract_id && viewedContracts[j].is_a === contract.is_a) {\r\n viewedContracts.splice(j, 1);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n } else if (contract.state === 6 && (contract.height === 0 || (height_app - contract.height) < 10)) {\r\n contract.state = 601;\r\n }\r\n const searchResult = viewedContracts.some(elem => elem.state === contract.state && elem.is_a === contract.is_a && elem.contract_id === contract.contract_id);\r\n contract.is_new = !searchResult;\r\n\r\n wallet.contracts.push(contract);\r\n }\r\n this.recountNewContracts();\r\n }\r\n\r\n recountNewContracts() {\r\n this.new_contracts = (this.contracts.filter(item => item.is_new === true )).length;\r\n }\r\n\r\n getContract(id): Contract {\r\n for (let i = 0; i < this.contracts.length; i++) {\r\n if (this.contracts[i].contract_id === id) {\r\n return this.contracts[i];\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n}\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\nimport {TranslateService} from '@ngx-translate/core';\r\n\r\n@Pipe({\r\n name: 'contractStatusMessages'\r\n})\r\nexport class ContractStatusMessagesPipe implements PipeTransform {\r\n\r\n constructor(private translate: TranslateService) {}\r\n\r\n getStateSeller(stateNum: number): string {\r\n const state = {part1: '', part2: ''};\r\n switch (stateNum) {\r\n case 1:\r\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.NEW_CONTRACT');\r\n break;\r\n case 110:\r\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.IGNORED');\r\n break;\r\n case 201:\r\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.ACCEPTED');\r\n state.part2 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.WAIT');\r\n break;\r\n case 2:\r\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.WAITING_BUYER');\r\n break;\r\n case 3:\r\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.COMPLETED');\r\n break;\r\n case 4:\r\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.NOT_RECEIVED');\r\n state.part2 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.NULLIFIED');\r\n break;\r\n case 5:\r\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.PROPOSAL_CANCEL');\r\n break;\r\n case 601:\r\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.BEING_CANCELLED');\r\n break;\r\n case 6:\r\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.CANCELLED');\r\n break;\r\n case 130:\r\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.IGNORED_CANCEL');\r\n break;\r\n case 140:\r\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.SELLER.EXPIRED');\r\n break;\r\n }\r\n return state.part1 + (state.part2.length ? '. ' + state.part2 : '');\r\n }\r\n\r\n getStateBuyer(stateNum: number): string {\r\n const state = {part1: '', part2: ''};\r\n switch (stateNum) {\r\n case 1:\r\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.WAITING');\r\n break;\r\n case 110:\r\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.IGNORED');\r\n break;\r\n case 201:\r\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.ACCEPTED');\r\n state.part2 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.WAIT');\r\n break;\r\n case 2:\r\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.ACCEPTED');\r\n break;\r\n case 120:\r\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.WAITING_SELLER');\r\n break;\r\n case 3:\r\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.COMPLETED');\r\n break;\r\n case 4:\r\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.NOT_RECEIVED');\r\n state.part2 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.NULLIFIED');\r\n break;\r\n case 5:\r\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.WAITING_CANCEL');\r\n break;\r\n case 601:\r\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.BEING_CANCELLED');\r\n break;\r\n case 6:\r\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.CANCELLED');\r\n break;\r\n case 130:\r\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.IGNORED_CANCEL');\r\n break;\r\n case 140:\r\n state.part1 = this.translate.instant('CONTRACTS.STATUS_MESSAGES.BUYER.EXPIRED');\r\n break;\r\n }\r\n return state.part1 + (state.part2.length ? '. ' + state.part2 : '');\r\n }\r\n\r\n transform(state: number, is_a?: boolean): any {\r\n if (is_a) {\r\n return this.getStateBuyer(state);\r\n } else {\r\n return this.getStateSeller(state);\r\n }\r\n }\r\n\r\n}\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\nimport {VariablesService} from '../services/variables.service';\r\nimport {TranslateService} from '@ngx-translate/core';\r\n\r\n@Pipe({\r\n name: 'contractTimeLeft'\r\n})\r\nexport class ContractTimeLeftPipe implements PipeTransform {\r\n\r\n constructor(private service: VariablesService, private translate: TranslateService) {}\r\n\r\n transform(value: any, arg?: any): any {\r\n const time = parseInt(((parseInt(value, 10) - this.service.exp_med_ts) / 3600).toFixed(0), 10);\r\n const type = arg || 0;\r\n if (time === 0) {\r\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_LESS_ONE');\r\n }\r\n if (this.service.settings.language === 'en') {\r\n if (type === 0) {\r\n if (time === 1) {\r\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_ONE', {time: time});\r\n } else {\r\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY', {time: time});\r\n }\r\n } else if (type === 1) {\r\n if (time === 1) {\r\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_ONE_RESPONSE', {time: time});\r\n } else {\r\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_RESPONSE', {time: time});\r\n }\r\n } else if (type === 2) {\r\n if (time === 1) {\r\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_ONE_WAITING', {time: time});\r\n } else {\r\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_WAITING', {time: time});\r\n }\r\n }\r\n } else {\r\n const rest = time % 10;\r\n if (type === 0) {\r\n if (((time > 20 ) && (rest === 1)) || time === 1) {\r\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_ONE', {time: time});\r\n } else if ((time > 1) && (time < 5) || ((time > 20 ) && (rest === 2 || rest === 3 || rest === 4))) {\r\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY', {time: time});\r\n } else {\r\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_ALT', {time: time});\r\n }\r\n } else if (type === 1) {\r\n if (((time > 20 ) && (rest === 1)) || time === 1) {\r\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_ONE_RESPONSE', {time: time});\r\n } else if ((time > 1) && (time < 5) || ((time > 20 ) && (rest === 2 || rest === 3 || rest === 4))) {\r\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_RESPONSE', {time: time});\r\n } else {\r\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_ALT_RESPONSE', {time: time});\r\n }\r\n } else if (type === 2) {\r\n if (((time > 20 ) && (rest === 1)) || time === 1) {\r\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_ONE_WAITING', {time: time});\r\n } else if ((time > 1) && (time < 5) || ((time > 20 ) && (rest === 2 || rest === 3 || rest === 4))) {\r\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_WAITING', {time: time});\r\n } else {\r\n return this.translate.instant('CONTRACTS.TIME_LEFT.REMAINING_MANY_ALT_WAITING', {time: time});\r\n }\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n}\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\nimport {TranslateService} from '@ngx-translate/core';\r\n\r\n@Pipe({\r\n name: 'historyTypeMessages'\r\n})\r\nexport class HistoryTypeMessagesPipe implements PipeTransform {\r\n\r\n constructor(private translate: TranslateService) {}\r\n\r\n transform(item: any, args?: any): any {\r\n\r\n if (item.tx_type === 0) {\r\n if (item.remote_addresses && item.remote_addresses[0]) {\r\n return item.remote_addresses[0];\r\n } else {\r\n if (item.is_income) {\r\n return this.translate.instant('HISTORY.TYPE_MESSAGES.HIDDEN');\r\n } else {\r\n return this.translate.instant('HISTORY.TYPE_MESSAGES.UNDEFINED');\r\n }\r\n }\r\n } else if (item.tx_type === 6 && item.height === 0) {\r\n return 'unknown';\r\n } else if (item.tx_type === 9) {\r\n if (item.hasOwnProperty('contract') && item.contract[0].is_a) {\r\n return this.translate.instant('HISTORY.TYPE_MESSAGES.COMPLETE_BUYER');\r\n } else {\r\n return this.translate.instant('HISTORY.TYPE_MESSAGES.COMPLETE_SELLER');\r\n }\r\n } else {\r\n switch (item.tx_type) {\r\n // case 0:\r\n // return '';\r\n // case 1:\r\n // return '';\r\n // case 2:\r\n // return '';\r\n // case 3:\r\n // return '';\r\n case 4:\r\n return this.translate.instant('HISTORY.TYPE_MESSAGES.CREATE_ALIAS');\r\n case 5:\r\n return this.translate.instant('HISTORY.TYPE_MESSAGES.UPDATE_ALIAS');\r\n case 6:\r\n return (item.td['spn'] && item.td['spn'].length) ? this.translate.instant('HISTORY.TYPE_MESSAGES.POS_REWARD') : this.translate.instant('HISTORY.TYPE_MESSAGES.POW_REWARD');\r\n case 7:\r\n return this.translate.instant('HISTORY.TYPE_MESSAGES.CREATE_CONTRACT');\r\n case 8:\r\n return this.translate.instant('HISTORY.TYPE_MESSAGES.PLEDGE_CONTRACT');\r\n // case 9:\r\n // return '';\r\n case 10:\r\n return this.translate.instant('HISTORY.TYPE_MESSAGES.NULLIFY_CONTRACT');\r\n case 11:\r\n return this.translate.instant('HISTORY.TYPE_MESSAGES.PROPOSAL_CANCEL_CONTRACT');\r\n case 12:\r\n return this.translate.instant('HISTORY.TYPE_MESSAGES.CANCEL_CONTRACT');\r\n }\r\n }\r\n\r\n return this.translate.instant('HISTORY.TYPE_MESSAGES.UNDEFINED');\r\n }\r\n\r\n}\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\nimport {VariablesService} from '../services/variables.service';\r\nimport {BigNumber} from 'bignumber.js';\r\n\r\n@Pipe({\r\n name: 'intToMoney'\r\n})\r\nexport class IntToMoneyPipe implements PipeTransform {\r\n\r\n constructor(private variablesService: VariablesService) {}\r\n\r\n transform(value: any, args?: any): any {\r\n if (value === 0 || value === undefined) {\r\n return '0';\r\n }\r\n let maxFraction = this.variablesService.digits;\r\n if (args) {\r\n maxFraction = parseInt(args, 10);\r\n }\r\n const power = Math.pow(10, this.variablesService.digits);\r\n let str = (new BigNumber(value)).div(power).toFixed(maxFraction);\r\n\r\n for (let i = str.length - 1; i >= 0; i--) {\r\n if (str[i] !== '0') {\r\n str = str.substr(0, i + 1);\r\n break;\r\n }\r\n }\r\n if (str[str.length - 1] === '.') {\r\n str = str.substr(0, str.length - 1);\r\n }\r\n return str;\r\n }\r\n\r\n}\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\nimport {VariablesService} from '../services/variables.service';\r\nimport {BigNumber} from 'bignumber.js';\r\n\r\n@Pipe({\r\n name: 'moneyToInt'\r\n})\r\nexport class MoneyToIntPipe implements PipeTransform {\r\n\r\n constructor(private variablesService: VariablesService) {}\r\n\r\n transform(value: any, args?: any): any {\r\n const CURRENCY_DISPLAY_DECIMAL_POINT = this.variablesService.digits;\r\n let result;\r\n if (value) {\r\n let am_str = value.toString().trim();\r\n const point_index = am_str.indexOf('.');\r\n let fraction_size = 0;\r\n if (-1 !== point_index) {\r\n fraction_size = am_str.length - point_index - 1;\r\n while (CURRENCY_DISPLAY_DECIMAL_POINT < fraction_size && '0' === am_str[am_str.length - 1]) {\r\n am_str = am_str.slice(0, am_str.length - 1);\r\n --fraction_size;\r\n }\r\n if (CURRENCY_DISPLAY_DECIMAL_POINT < fraction_size) {\r\n return undefined;\r\n }\r\n am_str = am_str.slice(0, point_index) + am_str.slice(point_index + 1, am_str.length);\r\n } else {\r\n fraction_size = 0;\r\n }\r\n if (!am_str.length) {\r\n return undefined;\r\n }\r\n if (fraction_size < CURRENCY_DISPLAY_DECIMAL_POINT) {\r\n for (let i = 0; i !== CURRENCY_DISPLAY_DECIMAL_POINT - fraction_size; i++) {\r\n am_str = am_str + '0';\r\n }\r\n }\r\n result = (new BigNumber(am_str)).integerValue();\r\n }\r\n return result;\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'safeHTML'\r\n})\r\nexport class SafeHTMLPipe implements PipeTransform {\r\n\r\n constructor(private sanitizer: DomSanitizer) { }\r\n\r\n transform(html: string) {\r\n return this.sanitizer.bypassSecurityTrustHtml(html);\r\n }\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable} from 'rxjs';\r\nimport {TranslateService} from '@ngx-translate/core';\r\nimport {VariablesService} from './variables.service';\r\nimport {ModalService} from './modal.service';\r\nimport {MoneyToIntPipe} from '../pipes/money-to-int.pipe';\r\nimport JSONBigNumber from 'json-bignumber';\r\nimport {BigNumber} from 'bignumber.js';\r\n\r\n@Injectable()\r\nexport class BackendService {\r\n\r\n backendObject: any;\r\n backendLoaded = false;\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private variablesService: VariablesService,\r\n private modalService: ModalService,\r\n private moneyToIntPipe: MoneyToIntPipe\r\n ) {\r\n }\r\n\r\n static bigNumberParser(key, val) {\r\n if (val.constructor.name === 'BigNumber' && ['balance', 'unlocked_balance', 'amount', 'fee', 'b_fee', 'to_pay', 'a_pledge', 'b_pledge', 'coast', 'a'].indexOf(key) === -1) {\r\n return val.toNumber();\r\n }\r\n if (key === 'rcv' || key === 'spn') {\r\n for (let i = 0; i < val.length; i++) {\r\n val[i] = new BigNumber(val[i]);\r\n }\r\n }\r\n return val;\r\n }\r\n\r\n static Debug(type, message) {\r\n switch (type) {\r\n case 0:\r\n console.error(message);\r\n break;\r\n case 1:\r\n console.warn(message);\r\n break;\r\n case 2:\r\n console.log(message);\r\n break;\r\n default:\r\n console.log(message);\r\n break;\r\n }\r\n }\r\n\r\n private informerRun(error, params, command) {\r\n let error_translate = '';\r\n\r\n switch (error) {\r\n case 'NOT_ENOUGH_MONEY':\r\n error_translate = 'ERRORS.NOT_ENOUGH_MONEY';\r\n // error_translate = 'ERRORS.NO_MONEY'; maybe that one?\r\n if (command === 'cancel_offer') {\r\n error_translate = this.translate.instant('ERRORS.NO_MONEY_REMOVE_OFFER', {\r\n 'fee': this.variablesService.default_fee,\r\n 'currency': this.variablesService.defaultCurrency\r\n });\r\n }\r\n break;\r\n case 'CORE_BUSY':\r\n error_translate = 'ERRORS.CORE_BUSY';\r\n break;\r\n case 'BUSY':\r\n error_translate = 'ERRORS.DAEMON_BUSY';\r\n break;\r\n case 'OVERFLOW':\r\n if (command !== 'get_all_aliases') {\r\n error_translate = '';\r\n }\r\n break;\r\n case 'NOT_ENOUGH_OUTPUTS_FOR_MIXING':\r\n error_translate = 'ERRORS.NOT_ENOUGH_OUTPUTS_TO_MIX';\r\n break;\r\n case 'TX_IS_TOO_BIG':\r\n error_translate = 'ERRORS.TRANSACTION_IS_TO_BIG';\r\n break;\r\n case 'DISCONNECTED':\r\n error_translate = 'ERRORS.TRANSFER_ATTEMPT';\r\n break;\r\n case 'ACCESS_DENIED':\r\n error_translate = 'ERRORS.ACCESS_DENIED';\r\n break;\r\n case 'TX_REJECTED':\r\n // if (command === 'request_alias_registration') {\r\n // error_translate = 'INFORMER.ALIAS_IN_REGISTER';\r\n // } else {\r\n error_translate = 'ERRORS.TRANSACTION_ERROR';\r\n // }\r\n break;\r\n case 'INTERNAL_ERROR':\r\n error_translate = 'ERRORS.TRANSACTION_ERROR';\r\n break;\r\n case 'BAD_ARG':\r\n error_translate = 'ERRORS.BAD_ARG';\r\n break;\r\n case 'WALLET_WRONG_ID':\r\n error_translate = 'ERRORS.WALLET_WRONG_ID';\r\n break;\r\n case 'WALLET_WATCH_ONLY_NOT_SUPPORTED':\r\n error_translate = 'ERRORS.WALLET_WATCH_ONLY_NOT_SUPPORTED';\r\n break;\r\n case 'WRONG_PASSWORD':\r\n params = JSON.parse(params);\r\n if (!params.testEmpty) {\r\n error_translate = 'ERRORS.WRONG_PASSWORD';\r\n }\r\n break;\r\n case 'FILE_RESTORED':\r\n if (command === 'open_wallet') {\r\n error_translate = 'ERRORS.FILE_RESTORED';\r\n }\r\n break;\r\n case 'FILE_NOT_FOUND':\r\n if (command !== 'open_wallet' && command !== 'get_alias_info_by_name' && command !== 'get_alias_info_by_address') {\r\n error_translate = this.translate.instant('ERRORS.FILE_NOT_FOUND');\r\n params = JSON.parse(params);\r\n if (params.path) {\r\n error_translate += ': ' + params.path;\r\n }\r\n }\r\n break;\r\n case 'NOT_FOUND':\r\n if (command !== 'open_wallet' && command !== 'get_alias_info_by_name' && command !== 'get_alias_info_by_address') {\r\n error_translate = this.translate.instant('ERRORS.FILE_NOT_FOUND');\r\n params = JSON.parse(params);\r\n if (params.path) {\r\n error_translate += ': ' + params.path;\r\n }\r\n }\r\n break;\r\n case 'CANCELED':\r\n case '':\r\n break;\r\n case 'FAIL':\r\n if (command === 'create_proposal' || command === 'accept_proposal' || command === 'release_contract' || command === 'request_cancel_contract' || command === 'accept_cancel_contract') {\r\n error_translate = ' ';\r\n }\r\n break;\r\n case 'ALREADY_EXISTS':\r\n error_translate = 'ERRORS.FILE_EXIST';\r\n break;\r\n case 'FAILED':\r\n BackendService.Debug(0, `Error: (${error}) was triggered by command: ${command}`);\r\n break;\r\n default:\r\n error_translate = error;\r\n }\r\n if (error.indexOf('FAIL:failed to save file') > -1) {\r\n error_translate = 'ERRORS.FILE_NOT_SAVED';\r\n }\r\n if (error.indexOf('FAILED:failed to open binary wallet file for saving') > -1 && command === 'generate_wallet') {\r\n error_translate = '';\r\n }\r\n\r\n if (error_translate !== '') {\r\n this.modalService.prepareModal('error', error_translate);\r\n }\r\n }\r\n\r\n\r\n private commandDebug(command, params, result) {\r\n BackendService.Debug(2, '----------------- ' + command + ' -----------------');\r\n const debug = {\r\n _send_params: params,\r\n _result: result\r\n };\r\n BackendService.Debug(2, debug);\r\n try {\r\n BackendService.Debug(2, JSONBigNumber.parse(result, BackendService.bigNumberParser));\r\n } catch (e) {\r\n BackendService.Debug(2, {response_data: result, error_code: 'OK'});\r\n }\r\n }\r\n\r\n private backendCallback(resultStr, params, callback, command) {\r\n let Result = resultStr;\r\n if (command !== 'get_clipboard') {\r\n if (!resultStr || resultStr === '') {\r\n Result = {};\r\n } else {\r\n try {\r\n Result = JSONBigNumber.parse(resultStr, BackendService.bigNumberParser);\r\n } catch (e) {\r\n Result = {response_data: resultStr, error_code: 'OK'};\r\n }\r\n }\r\n } else {\r\n Result = {\r\n error_code: 'OK',\r\n response_data: Result\r\n };\r\n }\r\n\r\n const core_busy = Result.error_code === 'CORE_BUSY';\r\n const Status = (Result.error_code === 'OK' || Result.error_code === 'TRUE');\r\n\r\n if (!Status && Status !== undefined && Result.error_code !== undefined) {\r\n BackendService.Debug(1, 'API error for command: \"' + command + '\". Error code: ' + Result.error_code);\r\n }\r\n const data = ((typeof Result === 'object') && 'response_data' in Result) ? Result.response_data : Result;\r\n\r\n let res_error_code = false;\r\n if (typeof Result === 'object' && 'error_code' in Result && Result.error_code !== 'OK' && Result.error_code !== 'TRUE' && Result.error_code !== 'FALSE') {\r\n if (core_busy) {\r\n setTimeout( () => {\r\n // this is will avoid update data when user\r\n // on other wallet after CORE_BUSY (blink of data)\r\n if (command !== 'get_recent_transfers') {\r\n this.runCommand(command, params, callback);\r\n } else {\r\n const current_wallet_id = this.variablesService.currentWallet.wallet_id;\r\n if (current_wallet_id === params.wallet_id) {\r\n this.runCommand(command, params, callback);\r\n }\r\n }\r\n }, 50);\r\n } else {\r\n this.informerRun(Result.error_code, params, command);\r\n res_error_code = Result.error_code;\r\n }\r\n }\r\n\r\n // if ( command === 'get_offers_ex' ){\r\n // Service.printLog( \"get_offers_ex offers count \"+((data.offers)?data.offers.length:0) );\r\n // }\r\n\r\n if (!core_busy) {\r\n if (typeof callback === 'function') {\r\n callback(Status, data, res_error_code);\r\n } else {\r\n return data;\r\n }\r\n }\r\n }\r\n\r\n\r\n private runCommand(command, params?, callback?) {\r\n if (this.backendObject) {\r\n if (command === 'get_recent_transfers') {\r\n this.variablesService.get_recent_transfers = true;\r\n }\r\n const Action = this.backendObject[command];\r\n if (!Action) {\r\n BackendService.Debug(0, 'Run Command Error! Command \"' + command + '\" don\\'t found in backendObject');\r\n } else {\r\n const that = this;\r\n params = (typeof params === 'string') ? params : JSONBigNumber.stringify(params);\r\n if (params === undefined || params === '{}') {\r\n if (command === 'get_recent_transfers') {\r\n this.variablesService.get_recent_transfers = false;\r\n }\r\n Action(function (resultStr) {\r\n that.commandDebug(command, params, resultStr);\r\n return that.backendCallback(resultStr, params, callback, command);\r\n });\r\n } else {\r\n Action(params, function (resultStr) {\r\n that.commandDebug(command, params, resultStr);\r\n return that.backendCallback(resultStr, params, callback, command);\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n eventSubscribe(command, callback) {\r\n if (command === 'on_core_event') {\r\n this.backendObject[command].connect(callback);\r\n } else {\r\n this.backendObject[command].connect((str) => {\r\n callback(JSONBigNumber.parse(str, BackendService.bigNumberParser));\r\n });\r\n }\r\n }\r\n\r\n\r\n initService() {\r\n return new Observable(\r\n observer => {\r\n if (!this.backendLoaded) {\r\n this.backendLoaded = true;\r\n const that = this;\r\n (window).QWebChannel((window).qt.webChannelTransport, function (channel) {\r\n that.backendObject = channel.objects.mediator_object;\r\n observer.next('ok');\r\n });\r\n } else {\r\n if (!this.backendObject) {\r\n observer.error('error');\r\n observer.error('error');\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n\r\n webkitLaunchedScript() {\r\n return this.runCommand('webkit_launched_script');\r\n }\r\n\r\n quitRequest() {\r\n return this.runCommand('on_request_quit');\r\n }\r\n\r\n getAppData(callback) {\r\n this.runCommand('get_app_data', {}, callback);\r\n }\r\n\r\n storeAppData(callback?) {\r\n if (this.variablesService.wallets.length) {\r\n this.variablesService.settings.wallets = [];\r\n this.variablesService.wallets.forEach((wallet) => {\r\n this.variablesService.settings.wallets.push({name: wallet.name, path: wallet.path});\r\n });\r\n }\r\n this.runCommand('store_app_data', this.variablesService.settings, callback);\r\n }\r\n\r\n getSecureAppData(pass, callback) {\r\n this.runCommand('get_secure_app_data', pass, callback);\r\n }\r\n\r\n setMasterPassword(pass, callback) {\r\n this.runCommand('set_master_password', pass, callback);\r\n }\r\n\r\n checkMasterPassword(pass, callback) {\r\n this.runCommand('check_master_password', pass, callback);\r\n }\r\n storeSecureAppData(callback?) {\r\n let data;\r\n const wallets = [];\r\n const contacts = [];\r\n this.variablesService.wallets.forEach((wallet) => {\r\n wallets.push({name: wallet.name, pass: wallet.pass, path: wallet.path, staking: wallet.staking});\r\n });\r\n this.variablesService.contacts.forEach((contact) => {\r\n contacts.push({name: contact.name, address: contact.address, notes: contact.notes});\r\n });\r\n data = {wallets: wallets, contacts: contacts};\r\n this.backendObject['store_secure_app_data'](JSON.stringify(data), this.variablesService.appPass, (dataStore) => {\r\n this.backendCallback(dataStore, {}, callback, 'store_secure_app_data');\r\n });\r\n }\r\n\r\n dropSecureAppData(callback?) {\r\n this.backendObject['drop_secure_app_data']((dataStore) => {\r\n this.backendCallback(dataStore, {}, callback, 'drop_secure_app_data');\r\n });\r\n }\r\n\r\n haveSecureAppData(callback) {\r\n this.runCommand('have_secure_app_data', {}, callback);\r\n }\r\n\r\n saveFileDialog(caption, fileMask, default_path, callback) {\r\n const dir = default_path ? default_path : '/';\r\n const params = {\r\n caption: caption,\r\n filemask: fileMask,\r\n default_dir: dir\r\n };\r\n this.runCommand('show_savefile_dialog', params, callback);\r\n }\r\n\r\n openFileDialog(caption, fileMask, default_path, callback) {\r\n const dir = default_path ? default_path : '/';\r\n const params = {\r\n caption: caption,\r\n filemask: fileMask,\r\n default_dir: dir\r\n };\r\n this.runCommand('show_openfile_dialog', params, callback);\r\n }\r\n\r\n storeFile(path, buff) {\r\n this.backendObject['store_to_file'](path, buff);\r\n }\r\n\r\n loadFile(path, callback) {\r\n this.runCommand('load_from_file', path, callback);\r\n }\r\n\r\n generateWallet(path, pass, callback) {\r\n const params = {\r\n path: path,\r\n pass: pass\r\n };\r\n this.runCommand('generate_wallet', params, callback);\r\n }\r\n\r\n openWallet(path, pass, txs_to_return, testEmpty, callback) {\r\n const params = {\r\n path: path,\r\n pass: pass,\r\n txs_to_return: txs_to_return\r\n };\r\n params['testEmpty'] = !!(testEmpty);\r\n this.runCommand('open_wallet', params, callback);\r\n }\r\n\r\n closeWallet(wallet_id, callback?) {\r\n this.runCommand('close_wallet', {wallet_id: +wallet_id}, callback);\r\n }\r\n\r\n getSmartWalletInfo({wallet_id, seed_password}, callback) {\r\n this.runCommand('get_smart_wallet_info', {wallet_id: +wallet_id, seed_password}, callback);\r\n }\r\n\r\n getSeedPhraseInfo(param, callback) {\r\n this.runCommand('get_seed_phrase_info', param, callback);\r\n }\r\n\r\n runWallet(wallet_id, callback?) {\r\n this.runCommand('run_wallet', {wallet_id: +wallet_id}, callback);\r\n }\r\n\r\n isValidRestoreWalletText(param, callback) {\r\n this.runCommand('is_valid_restore_wallet_text', param, callback);\r\n }\r\n\r\n restoreWallet(path, pass, seed_phrase, seed_pass, callback) {\r\n const params = {\r\n seed_phrase: seed_phrase,\r\n path: path,\r\n pass: pass,\r\n seed_pass\r\n };\r\n this.runCommand('restore_wallet', params, callback);\r\n }\r\n\r\n sendMoney(from_wallet_id, to_address, amount, fee, mixin, comment, hide, callback) {\r\n const params = {\r\n wallet_id: parseInt(from_wallet_id, 10),\r\n destinations: [\r\n {\r\n address: to_address,\r\n amount: amount\r\n }\r\n ],\r\n mixin_count: (mixin) ? parseInt(mixin, 10) : 0,\r\n lock_time: 0,\r\n fee: this.moneyToIntPipe.transform(fee),\r\n comment: comment,\r\n push_payer: !hide\r\n };\r\n this.runCommand('transfer', params, callback);\r\n }\r\n\r\n validateAddress(address, callback) {\r\n this.runCommand('validate_address', address, callback);\r\n }\r\n\r\n setClipboard(str, callback?) {\r\n return this.runCommand('set_clipboard', str, callback);\r\n }\r\n\r\n getClipboard(callback) {\r\n return this.runCommand('get_clipboard', {}, callback);\r\n }\r\n\r\n createProposal(wallet_id, title, comment, a_addr, b_addr, to_pay, a_pledge, b_pledge, time, payment_id, callback) {\r\n const params = {\r\n wallet_id: parseInt(wallet_id, 10),\r\n details: {\r\n t: title,\r\n c: comment,\r\n a_addr: a_addr,\r\n b_addr: b_addr,\r\n to_pay: this.moneyToIntPipe.transform(to_pay),\r\n a_pledge: this.moneyToIntPipe.transform(a_pledge),\r\n b_pledge: this.moneyToIntPipe.transform(b_pledge)\r\n },\r\n payment_id: payment_id,\r\n expiration_period: parseInt(time, 10) * 60 * 60,\r\n fee: this.variablesService.default_fee_big,\r\n b_fee: this.variablesService.default_fee_big\r\n };\r\n BackendService.Debug(1, params);\r\n this.runCommand('create_proposal', params, callback);\r\n }\r\n\r\n getContracts(wallet_id, callback) {\r\n const params = {\r\n wallet_id: parseInt(wallet_id, 10)\r\n };\r\n BackendService.Debug(1, params);\r\n this.runCommand('get_contracts', params, callback);\r\n }\r\n\r\n acceptProposal(wallet_id, contract_id, callback) {\r\n const params = {\r\n wallet_id: parseInt(wallet_id, 10),\r\n contract_id: contract_id\r\n };\r\n BackendService.Debug(1, params);\r\n this.runCommand('accept_proposal', params, callback);\r\n }\r\n\r\n releaseProposal(wallet_id, contract_id, release_type, callback) {\r\n const params = {\r\n wallet_id: parseInt(wallet_id, 10),\r\n contract_id: contract_id,\r\n release_type: release_type // \"normal\" or \"burn\"\r\n };\r\n BackendService.Debug(1, params);\r\n this.runCommand('release_contract', params, callback);\r\n }\r\n\r\n requestCancelContract(wallet_id, contract_id, time, callback) {\r\n const params = {\r\n wallet_id: parseInt(wallet_id, 10),\r\n contract_id: contract_id,\r\n fee: this.variablesService.default_fee_big,\r\n expiration_period: parseInt(time, 10) * 60 * 60\r\n };\r\n BackendService.Debug(1, params);\r\n this.runCommand('request_cancel_contract', params, callback);\r\n }\r\n\r\n acceptCancelContract(wallet_id, contract_id, callback) {\r\n const params = {\r\n wallet_id: parseInt(wallet_id, 10),\r\n contract_id: contract_id\r\n };\r\n BackendService.Debug(1, params);\r\n this.runCommand('accept_cancel_contract', params, callback);\r\n }\r\n\r\n getMiningHistory(wallet_id, callback) {\r\n this.runCommand('get_mining_history', {wallet_id: parseInt(wallet_id, 10)}, callback);\r\n }\r\n\r\n startPosMining(wallet_id, callback?) {\r\n this.runCommand('start_pos_mining', {wallet_id: parseInt(wallet_id, 10)}, callback);\r\n }\r\n\r\n stopPosMining(wallet_id, callback?) {\r\n this.runCommand('stop_pos_mining', {wallet_id: parseInt(wallet_id, 10)}, callback);\r\n }\r\n\r\n openUrlInBrowser(url, callback?) {\r\n this.runCommand('open_url_in_browser', url, callback);\r\n }\r\n\r\n start_backend(node, host, port, callback) {\r\n const params = {\r\n configure_for_remote_node: node,\r\n remote_node_host: host,\r\n remote_node_port: parseInt(port, 10)\r\n };\r\n this.runCommand('start_backend', params, callback);\r\n }\r\n\r\n getDefaultFee(callback) {\r\n this.runCommand('get_default_fee', {}, callback);\r\n }\r\n\r\n setBackendLocalization(stringsArray, title, callback?) {\r\n const params = {\r\n strings: stringsArray,\r\n language_title: title\r\n };\r\n this.runCommand('set_localization_strings', params, callback);\r\n }\r\n\r\n registerAlias(wallet_id, alias, address, fee, comment, reward, callback) {\r\n const params = {\r\n wallet_id: wallet_id,\r\n alias: {\r\n alias: alias,\r\n address: address,\r\n tracking_key: '',\r\n comment: comment\r\n },\r\n fee: this.moneyToIntPipe.transform(fee),\r\n reward: this.moneyToIntPipe.transform(reward)\r\n };\r\n this.runCommand('request_alias_registration', params, callback);\r\n }\r\n\r\n updateAlias(wallet_id, alias, fee, callback) {\r\n const params = {\r\n wallet_id: wallet_id,\r\n alias: {\r\n alias: alias.name.replace('@', ''),\r\n address: alias.address,\r\n tracking_key: '',\r\n comment: alias.comment\r\n },\r\n fee: this.moneyToIntPipe.transform(fee)\r\n };\r\n this.runCommand('request_alias_update', params, callback);\r\n }\r\n\r\n getAllAliases(callback) {\r\n this.runCommand('get_all_aliases', {}, callback);\r\n }\r\n\r\n getAliasByName(value, callback) {\r\n return this.runCommand('get_alias_info_by_name', value, callback);\r\n }\r\n\r\n getAliasByAddress(value, callback) {\r\n return this.runCommand('get_alias_info_by_address', value, callback);\r\n }\r\n\r\n getAliasCoast(alias, callback) {\r\n this.runCommand('get_alias_coast', {v: alias}, callback);\r\n }\r\n\r\n getWalletAlias(address) {\r\n if (address !== null && this.variablesService.daemon_state === 2) {\r\n if (this.variablesService.aliasesChecked[address] == null) {\r\n this.variablesService.aliasesChecked[address] = {};\r\n if (this.variablesService.aliases.length) {\r\n for (let i = 0, length = this.variablesService.aliases.length; i < length; i++) {\r\n if (i in this.variablesService.aliases && this.variablesService.aliases[i]['address'] === address) {\r\n this.variablesService.aliasesChecked[address]['name'] = this.variablesService.aliases[i].name;\r\n this.variablesService.aliasesChecked[address]['address'] = this.variablesService.aliases[i].address;\r\n this.variablesService.aliasesChecked[address]['comment'] = this.variablesService.aliases[i].comment;\r\n return this.variablesService.aliasesChecked[address];\r\n }\r\n }\r\n }\r\n this.getAliasByAddress(address, (status, data) => {\r\n if (status) {\r\n this.variablesService.aliasesChecked[data.address]['name'] = '@' + data.alias;\r\n this.variablesService.aliasesChecked[data.address]['address'] = data.address;\r\n this.variablesService.aliasesChecked[data.address]['comment'] = data.comment;\r\n }\r\n });\r\n }\r\n return this.variablesService.aliasesChecked[address];\r\n }\r\n return {};\r\n }\r\n\r\n getContactAlias() {\r\n if (this.variablesService.contacts.length && this.variablesService.daemon_state === 2) {\r\n this.variablesService.contacts.map(contact => {\r\n this.getAliasByAddress(contact.address, (status, data) => {\r\n if (status) {\r\n if (data.alias) {\r\n contact.alias = '@' + data.alias;\r\n }\r\n } else {\r\n contact.alias = null;\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n getRecentTransfers( id, offset, count, exclude_mining_txs, callback) {\r\n const params = {\r\n wallet_id: id,\r\n offset: offset,\r\n count: count,\r\n exclude_mining_txs: exclude_mining_txs\r\n };\r\n this.runCommand('get_recent_transfers', params, callback);\r\n }\r\n\r\n getPoolInfo(callback) {\r\n this.runCommand('get_tx_pool_info', {}, callback);\r\n }\r\n\r\n getVersion(callback) {\r\n this.runCommand('get_version', {}, (status, version) => {\r\n this.runCommand('get_network_type', {}, (status, type) => {\r\n callback(version, type);\r\n });\r\n });\r\n }\r\n\r\n setLogLevel(level) {\r\n return this.runCommand('set_log_level', {v: level});\r\n }\r\n\r\n}\r\n\r\n\r\n/*\r\n\r\n toggleAutoStart: function (value) {\r\n return this.runCommand('toggle_autostart', asVal(value));\r\n },\r\n\r\n getOptions: function (callback) {\r\n return this.runCommand('get_options', {}, callback);\r\n },\r\n\r\n isFileExist: function (path, callback) {\r\n return this.runCommand('is_file_exist', path, callback);\r\n },\r\n\r\n isAutoStartEnabled: function (callback) {\r\n this.runCommand('is_autostart_enabled', {}, function (status, data) {\r\n if (angular.isFunction(callback)) {\r\n callback('error_code' in data && data.error_code !== 'FALSE')\r\n }\r\n });\r\n },\r\n\r\n resetWalletPass: function (wallet_id, pass, callback) {\r\n this.runCommand('reset_wallet_password', {wallet_id: wallet_id, pass: pass}, callback);\r\n },\r\n\r\n\r\n\r\n getOsVersion: function (callback) {\r\n this.runCommand('get_os_version', {}, function (status, version) {\r\n callback(version)\r\n })\r\n },\r\n\r\n getLogFile: function (callback) {\r\n this.runCommand('get_log_file', {}, function (status, version) {\r\n callback(version)\r\n })\r\n },\r\n\r\n resync_wallet: function (wallet_id, callback) {\r\n this.runCommand('resync_wallet', {wallet_id: wallet_id}, callback);\r\n },\r\n\r\n storeFile: function (path, buff, callback) {\r\n this.backendObject['store_to_file'](path, (typeof buff === 'string' ? buff : JSON.stringify(buff)), function (data) {\r\n backendCallback(data, {}, callback, 'store_to_file');\r\n });\r\n },\r\n\r\n getMiningEstimate: function (amount_coins, time, callback) {\r\n var params = {\r\n \"amount_coins\": $filter('money_to_int')(amount_coins),\r\n \"time\": parseInt(time)\r\n };\r\n this.runCommand('get_mining_estimate', params, callback);\r\n },\r\n\r\n backupWalletKeys: function (wallet_id, path, callback) {\r\n var params = {\r\n \"wallet_id\": wallet_id,\r\n \"path\": path\r\n };\r\n this.runCommand('backup_wallet_keys', params, callback);\r\n },\r\n\r\n setBlockedIcon: function (enabled, callback) {\r\n var mode = (enabled) ? \"blocked\" : \"normal\";\r\n Service.runCommand('bool_toggle_icon', mode, callback);\r\n },\r\n\r\n getWalletInfo: function (wallet_id, callback) {\r\n this.runCommand('get_wallet_info', {wallet_id: wallet_id}, callback);\r\n },\r\n\r\n printText: function (content) {\r\n return this.runCommand('print_text', {html_text: content});\r\n },\r\n\r\n printLog: function (msg, log_level) {\r\n return this.runCommand('print_log', {msg: msg, log_level: log_level});\r\n },\r\n\r\n*/\r\n\r\n","import {Injectable, Injector, ComponentFactoryResolver, EmbeddedViewRef, ApplicationRef, NgZone} from '@angular/core';\r\nimport {TranslateService} from '@ngx-translate/core';\r\nimport {ModalContainerComponent} from '../directives/modal-container/modal-container.component';\r\n\r\n@Injectable()\r\nexport class ModalService {\r\n\r\n private components: any[] = [];\r\n\r\n constructor(\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private appRef: ApplicationRef,\r\n private injector: Injector,\r\n private ngZone: NgZone,\r\n private translate: TranslateService\r\n ) {}\r\n\r\n prepareModal(type, message) {\r\n const length = this.components.push(\r\n this.componentFactoryResolver.resolveComponentFactory(ModalContainerComponent).create(this.injector)\r\n );\r\n\r\n this.components[length - 1].instance['type'] = type;\r\n this.components[length - 1].instance['message'] = message.length ? this.translate.instant(message) : '';\r\n this.components[length - 1].instance['close'].subscribe(() => {\r\n this.removeModal(length - 1);\r\n });\r\n\r\n this.ngZone.run(() => {\r\n this.appendModal(length - 1);\r\n });\r\n }\r\n\r\n appendModal(index) {\r\n this.appRef.attachView(this.components[index].hostView);\r\n const domElem = (this.components[index].hostView as EmbeddedViewRef).rootNodes[0] as HTMLElement;\r\n document.body.appendChild(domElem);\r\n }\r\n\r\n removeModal(index) {\r\n if (this.components[index]) {\r\n this.appRef.detachView(this.components[index].hostView);\r\n this.components[index].destroy();\r\n this.components.splice(index, 1);\r\n } else {\r\n const last = this.components.length - 1;\r\n this.appRef.detachView(this.components[last].hostView);\r\n this.components[last].destroy();\r\n this.components.splice(last, 1);\r\n }\r\n }\r\n}\r\n","import { Injectable, NgZone } from '@angular/core';\r\nimport { VariablesService } from './variables.service';\r\nimport { PaginationStore } from './pagination.store';\r\nimport * as _ from 'lodash';\r\nimport {Store} from 'store';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PaginationService {\r\n\r\n constructor(\r\n private variables: VariablesService,\r\n private ngZone: NgZone,\r\n private paginationStore: PaginationStore,\r\n ) { }\r\n\r\n paginate(currentPage = 1) {\r\n if (currentPage < 1) {\r\n currentPage = 1;\r\n } else if (currentPage > this.variables.currentWallet.totalPages) {\r\n currentPage = this.variables.currentWallet.totalPages;\r\n }\r\n let startPage: number, endPage: number;\r\n if (this.variables.currentWallet.totalPages <= this.variables.maxPages) {\r\n startPage = 1;\r\n endPage = this.variables.currentWallet.totalPages;\r\n } else {\r\n const maxPagesBeforeCurrentPage = Math.floor(this.variables.maxPages / 2);\r\n const maxPagesAfterCurrentPage = Math.ceil(this.variables.maxPages / 2) - 1;\r\n if (currentPage <= maxPagesBeforeCurrentPage) {\r\n startPage = 1;\r\n this.variables.currentWallet.totalPages > this.variables.maxPages\r\n ? endPage = this.variables.maxPages\r\n : endPage = this.variables.currentWallet.totalPages\r\n ;\r\n } else if (currentPage + maxPagesAfterCurrentPage >= this.variables.currentWallet.totalPages) {\r\n startPage = this.variables.currentWallet.totalPages - this.variables.maxPages + 1;\r\n endPage = this.variables.currentWallet.totalPages;\r\n } else {\r\n startPage = currentPage - maxPagesBeforeCurrentPage;\r\n endPage = currentPage + maxPagesAfterCurrentPage;\r\n }\r\n }\r\n this.ngZone.run(() => {\r\n this.variables.currentWallet.pages = Array.from(Array((endPage + 1) - startPage).keys()).map(i => startPage + i);\r\n });\r\n }\r\n\r\n getOffset(walletID) {\r\n const mining = this.variables.currentWallet.exclude_mining_txs;\r\n const currentPage = (this.variables.currentWallet.currentPage);\r\n let offset = ((currentPage - 1) * this.variables.count);\r\n if (!mining) { return offset; }\r\n const value = this.paginationStore.value;\r\n const pages = value.filter(item => item.walletID === walletID);\r\n if (pages && pages.length) {\r\n const max = _.maxBy(pages, 'page');\r\n const isForward = this.paginationStore.isForward(pages, currentPage);\r\n if (isForward) {\r\n offset = max.offset;\r\n } else {\r\n const index = pages.findIndex(item => item.page === (currentPage));\r\n offset = pages[index].offset;\r\n }\r\n }\r\n return offset;\r\n }\r\n\r\n calcPages(data) {\r\n if (data.total_history_items && (data && data.history)) {\r\n this.variables.currentWallet.totalPages = Math.ceil( data.total_history_items / this.variables.count);\r\n this.variables.currentWallet.totalPages > this.variables.maxPages\r\n ? this.variables.currentWallet.pages = new Array(5).fill(1).map((value, index) => value + index)\r\n : this.variables.currentWallet.pages =\r\n new Array(this.variables.currentWallet.totalPages).fill(1).map((value, index) => value + index);\r\n } else if (this.variables.currentWallet.restore) {\r\n this.variables.currentWallet.totalPages = Math.ceil( data.history.length / this.variables.count);\r\n this.variables.currentWallet.totalPages > this.variables.maxPages\r\n ? this.variables.currentWallet.pages = new Array(5).fill(1).map((value, index) => value + index)\r\n : this.variables.currentWallet.pages =\r\n new Array(this.variables.currentWallet.totalPages).fill(1).map((value, index) => value + index);\r\n }\r\n }\r\n\r\n prepareHistory(data, status) {\r\n if (status && (data && data.total_history_items)) {\r\n this.variables.currentWallet.history.splice(0, this.variables.currentWallet.history.length);\r\n this.ngZone.run(() => {\r\n this.paginate(this.variables.currentWallet.currentPage);\r\n if (data.history.length !== 0) {\r\n this.variables.currentWallet.restore = false;\r\n this.variables.currentWallet.total_history_item = data.total_history_items;\r\n this.variables.currentWallet.prepareHistory(data.history);\r\n if (this.variables.currentWallet.currentPage === 1 && data.unconfirmed) {\r\n this.variables.currentWallet.prepareHistory(data.unconfirmed);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, BehaviorSubject} from 'rxjs';\r\nimport * as _ from 'lodash';\r\nexport interface Pages {\r\n page: number;\r\n offset: number;\r\n walletID: number;\r\n}\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PaginationStore {\r\n constructor(\r\n ) {}\r\n private subject = new BehaviorSubject(null);\r\n pages$: Observable = this.subject.asObservable();\r\n\r\n isForward(pages, currentPage) {\r\n const max = _.maxBy(pages, 'page');\r\n return !max || max.page < currentPage || max.page === currentPage;\r\n }\r\n setPage(pageNumber: number, offset: number, walletID: number) {\r\n let newPages: Pages[] = [];\r\n const pages = this.subject.getValue();\r\n if (pages && pages.length) {\r\n newPages = pages.slice(0);\r\n }\r\n newPages.push({page: pageNumber, offset, walletID});\r\n this.subject.next(newPages);\r\n }\r\n\r\n get value() {\r\n return this.subject.value;\r\n }\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable()\r\nexport class UtilsService {\r\n getMinWidthByScale(scale: number) {\r\n switch (scale) {\r\n case 7.5 : return 900;\r\n case 10 : return 1200;\r\n case 12.5 : return 1500;\r\n case 15 : return 1800;\r\n default : return 1200;\r\n }\r\n }\r\n}\r\n","import {Injectable, NgZone} from '@angular/core';\r\nimport {Wallet} from '../models/wallet.model';\r\nimport {Contact} from '../models/contact.model';\r\nimport {BehaviorSubject} from 'rxjs';\r\nimport {Idle} from 'idlejs/dist';\r\nimport {Router} from '@angular/router';\r\nimport {ContextMenuComponent, ContextMenuService} from 'ngx-contextmenu';\r\nimport {BigNumber} from 'bignumber.js';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class VariablesService {\r\n public request_on_in = {};\r\n public stop_paginate = {};\r\n public sync_started = false;\r\n public digits = 12;\r\n public appPass = '';\r\n public appLogin = false;\r\n public moneyEquivalent = 0;\r\n public defaultTheme = 'dark';\r\n public defaultCurrency = 'ZANO';\r\n public opening_wallet: Wallet;\r\n public exp_med_ts = 0;\r\n public net_time_delta_median = 0;\r\n public height_app = 0;\r\n public height_max = 0;\r\n public downloaded = 0;\r\n public total = 0;\r\n public last_build_available = '';\r\n public last_build_displaymode = 0;\r\n public daemon_state = 3;\r\n public sync = {\r\n progress_value: 0,\r\n progress_value_text: '0'\r\n };\r\n public download = {\r\n progress_value: 0,\r\n progress_value_text: '0'\r\n };\r\n public get_recent_transfers = false; // avoid of execute function before collback complete\r\n public default_fee = '0.010000000000';\r\n public default_fee_big = new BigNumber('10000000000');\r\n\r\n public settings = {\r\n appLockTime: 15,\r\n appLog: 0,\r\n theme: '',\r\n scale: 10,\r\n language: 'en',\r\n default_path: '/',\r\n viewedContracts: [],\r\n notViewedContracts: [],\r\n wallets: []\r\n };\r\n\r\n public count = 40;\r\n public maxPages = 5;\r\n\r\n public testnet = false;\r\n public networkType = ''; // testnet of mainnet\r\n\r\n public wallets: Array = [];\r\n public currentWallet: Wallet;\r\n public selectWallet: number;\r\n public aliases: any = [];\r\n public aliasesChecked: any = {};\r\n public enableAliasSearch = false;\r\n public maxWalletNameLength = 25;\r\n public maxCommentLength = 255;\r\n public dataIsLoaded = false;\r\n\r\n public contacts: Array = [];\r\n public newContact: Contact = {name: null, address: null, notes: null};\r\n\r\n public pattern = '^[a-zA-Z0-9_.\\\\\\]\\*\\|\\~\\!\\?\\@\\#\\$\\%\\^\\&\\+\\{\\}\\(\\)\\<\\>\\:\\;\\\"\\'\\-\\=\\/\\,\\[\\\\\\\\]*$';\r\n public after_sync_request: any = {};\r\n getExpMedTsEvent = new BehaviorSubject(null);\r\n getHeightAppEvent = new BehaviorSubject(null);\r\n getHeightMaxEvent = new BehaviorSubject(null);\r\n getDownloadedAppEvent = new BehaviorSubject(null);\r\n getTotalEvent = new BehaviorSubject(null);\r\n getRefreshStackingEvent = new BehaviorSubject(null);\r\n getAliasChangedEvent = new BehaviorSubject(null);\r\n\r\n public idle = new Idle()\r\n .whenNotInteractive()\r\n .do(() => {\r\n if (this.appPass == '') {\r\n this.restartCountdown();\r\n } else {\r\n this.ngZone.run(() => {\r\n this.idle.stop();\r\n this.appPass = '';\r\n this.appLogin = false;\r\n this.router.navigate(['/login'], {queryParams: {type: 'auth'}});\r\n });\r\n }\r\n });\r\n\r\n public allContextMenu: ContextMenuComponent;\r\n public onlyCopyContextMenu: ContextMenuComponent;\r\n public pasteSelectContextMenu: ContextMenuComponent;\r\n\r\n constructor(private router: Router, private ngZone: NgZone, private contextMenuService: ContextMenuService) {\r\n }\r\n\r\n setExpMedTs(timestamp: number) {\r\n if (timestamp !== this.exp_med_ts) {\r\n this.exp_med_ts = timestamp;\r\n this.getExpMedTsEvent.next(timestamp);\r\n }\r\n }\r\n\r\n setHeightApp(height: number) {\r\n if (height !== this.height_app) {\r\n this.height_app = height;\r\n this.getHeightAppEvent.next(height);\r\n }\r\n }\r\n\r\n setHeightMax(height: number) {\r\n if (height !== this.height_max) {\r\n this.height_max = height;\r\n this.getHeightMaxEvent.next(height);\r\n }\r\n }\r\n\r\n setDownloadedBytes(bytes: number) {\r\n if (bytes !== this.downloaded) {\r\n this.downloaded = this.bytesToMb(bytes);\r\n this.getDownloadedAppEvent.next(bytes);\r\n }\r\n }\r\n\r\n setTotalBytes(bytes: number) {\r\n if (bytes !== this.total) {\r\n this.total = this.bytesToMb(bytes);\r\n this.getTotalEvent.next(bytes);\r\n }\r\n }\r\n\r\n setRefreshStacking(wallet_id: number) {\r\n this.getHeightAppEvent.next(wallet_id);\r\n }\r\n\r\n changeAliases() {\r\n this.getAliasChangedEvent.next(true);\r\n }\r\n\r\n setCurrentWallet(id): void {\r\n this.wallets.forEach((wallet) => {\r\n if (wallet.wallet_id === id) {\r\n this.currentWallet = wallet;\r\n }\r\n });\r\n }\r\n\r\n getWallet(id): Wallet {\r\n for (let i = 0; i < this.wallets.length; i++) {\r\n if (this.wallets[i].wallet_id === id) {\r\n return this.wallets[i];\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n getNotLoadedWallet() {\r\n for (let i = 0; i < this.wallets.length; i++) {\r\n if (!this.wallets[i].loaded) {\r\n return this.wallets[i];\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n startCountdown() {\r\n this.idle.within(this.settings.appLockTime).start();\r\n }\r\n\r\n stopCountdown() {\r\n this.idle.stop();\r\n }\r\n\r\n restartCountdown() {\r\n this.idle.within(this.settings.appLockTime).restart();\r\n }\r\n\r\n bytesToMb(bytes) {\r\n return Number((bytes / Math.pow(1024, 2)).toFixed(1));\r\n }\r\n\r\n public onContextMenu($event: MouseEvent): void {\r\n $event.target['contextSelectionStart'] = $event.target['selectionStart'];\r\n $event.target['contextSelectionEnd'] = $event.target['selectionEnd'];\r\n if ($event.target && ($event.target['nodeName'].toUpperCase() === 'TEXTAREA' || $event.target['nodeName'].toUpperCase() === 'INPUT') && !$event.target['readOnly']) {\r\n this.contextMenuService.show.next({\r\n contextMenu: this.allContextMenu,\r\n event: $event,\r\n item: $event.target,\r\n });\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n }\r\n }\r\n\r\n public onContextMenuOnlyCopy($event: MouseEvent, copyText?: string): void {\r\n this.contextMenuService.show.next({\r\n contextMenu: this.onlyCopyContextMenu,\r\n event: $event,\r\n item: copyText\r\n });\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n }\r\n\r\n public onContextMenuPasteSelect($event: MouseEvent): void {\r\n $event.target['contextSelectionStart'] = $event.target['selectionStart'];\r\n $event.target['contextSelectionEnd'] = $event.target['selectionEnd'];\r\n\r\n console.warn($event.target);\r\n console.warn($event.target['disabled']);\r\n\r\n\r\n if ($event.target && ($event.target['nodeName'].toUpperCase() === 'TEXTAREA' || $event.target['nodeName'].toUpperCase() === 'INPUT') && !$event.target['readOnly']) {\r\n this.contextMenuService.show.next({\r\n contextMenu: this.pasteSelectContextMenu,\r\n event: $event,\r\n item: $event.target,\r\n });\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n }\r\n }\r\n\r\n}\r\n","export const MIXIN: number = 10; // default mixin value\r\nexport const RCV_ADDR_QR_SCALE: number = 2; // scale factor for QR code\r\n\r\nexport const AUDITABLE_WALLET_HELP_PAGE: string = 'docs.zano.org/docs/auditable-wallets';\r\nexport const CREATE_NEW_WALLET_HELP_PAGE: string = 'docs.zano.org/docs/getting-started-1#section-create-new-wallet';\r\nexport const LOCKED_BALANCE_HELP_PAGE: string = 'docs.zano.org/docs/locked-balance';\r\nexport const DOWNLOADS_PAGE_URL: string = 'zano.org/downloads.html';\r\n\r\nexport const BLOCK_EXPLORER_TX_URL_PREFIX: string = 'explorer.zano.org/transaction/';\r\nexport const BLOCK_EXPLORER_TN_TX_URL_PREFIX: string = 'testnet-explorer.zano.org/transaction/';\r\n","module.exports = \"
      \\r\\n
      \\r\\n
      \\r\\n {{ 'CONTACTS.TITLE' | translate }}\\r\\n {{ 'CONTACTS.ADD' | translate }}\\r\\n
      \\r\\n \\r\\n
      \\r\\n\\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'CONTACTS.FORM_ERRORS.NAME_LENGTH' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'CONTACTS.FORM_ERRORS.NAME_REQUIRED' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'CONTACTS.FORM_ERRORS.NAME_DUBLICATED' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'CONTACTS.FORM_ERRORS.ADDRESS_REQUIRED' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'CONTACTS.FORM_ERRORS.ADDRESS_NOT_VALID' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'CONTACTS.FORM_ERRORS.ADDRESS_DUBLICATED' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'CONTACTS.FORM_ERRORS.MAX_LENGTH' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n\"","module.exports = \".form-add {\\n margin-top: 3rem; }\\n .form-add .input-block-name {\\n width: 50%; }\\n .form-add button {\\n margin-top: 3rem;\\n width: 100%;\\n max-width: 18rem; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYWRkLWNvbnRhY3RzL0Q6XFxQcm9qZWN0XFxXT1JLX05FV1xcemFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxhcHBcXGFkZC1jb250YWN0c1xcYWRkLWNvbnRhY3RzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsZ0JBQWdCLEVBQUE7RUFEbEI7SUFJSSxVQUFVLEVBQUE7RUFKZDtJQVFJLGdCQUFnQjtJQUNoQixXQUFXO0lBQ1gsZ0JBQWdCLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9hZGQtY29udGFjdHMvYWRkLWNvbnRhY3RzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmZvcm0tYWRkIHtcclxuICBtYXJnaW4tdG9wOiAzcmVtO1xyXG5cclxuICAuaW5wdXQtYmxvY2stbmFtZSB7XHJcbiAgICB3aWR0aDogNTAlO1xyXG4gIH1cclxuXHJcbiAgYnV0dG9uIHtcclxuICAgIG1hcmdpbi10b3A6IDNyZW07XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogMThyZW07XHJcbiAgfVxyXG59Il19 */\"","import { Component, OnInit, NgZone, OnDestroy } from '@angular/core';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { BackendService } from '../_helpers/services/backend.service';\r\nimport { VariablesService } from '../_helpers/services/variables.service';\r\nimport { ModalService } from '../_helpers/services/modal.service';\r\nimport { Location } from '@angular/common';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-add-contacts',\r\n templateUrl: './add-contacts.component.html',\r\n styleUrls: ['./add-contacts.component.scss']\r\n})\r\nexport class AddContactsComponent implements OnInit, OnDestroy {\r\n id: number;\r\n queryRouting;\r\n isModalDialogVisible;\r\n addContactForm = new FormGroup({\r\n address: new FormControl('', [\r\n Validators.required,\r\n (g: FormControl) => {\r\n if (g.value) {\r\n this.backend.validateAddress(g.value, valid_status => {\r\n this.ngZone.run(() => {\r\n if (valid_status === false) {\r\n g.setErrors(\r\n Object.assign({ address_not_valid: true }, g.errors)\r\n );\r\n } else {\r\n if (g.hasError('address_not_valid')) {\r\n delete g.errors['address_not_valid'];\r\n if (Object.keys(g.errors).length === 0) {\r\n g.setErrors(null);\r\n }\r\n }\r\n }\r\n });\r\n });\r\n return g.hasError('address_not_valid')\r\n ? { address_not_valid: true }\r\n : null;\r\n }\r\n return null;\r\n },\r\n (g: FormControl) => {\r\n const isDublicated = this.variablesService.contacts.findIndex(\r\n contact => contact.address === g.value\r\n );\r\n if (isDublicated !== -1 && !(this.id === isDublicated)) {\r\n return { dublicated: true };\r\n }\r\n return null;\r\n }\r\n ]),\r\n notes: new FormControl('', [\r\n (g: FormControl) => {\r\n if (g.value) {\r\n if (g.value.length > this.variablesService.maxCommentLength) {\r\n return { maxLength: true };\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n return null;\r\n }\r\n }\r\n ]),\r\n name: new FormControl('', [\r\n Validators.required,\r\n Validators.minLength(4),\r\n Validators.maxLength(25),\r\n (g: FormControl) => {\r\n if (g.value) {\r\n const isDublicated = this.variablesService.contacts.findIndex(\r\n contact => contact.name === g.value.trim()\r\n );\r\n if (isDublicated !== -1 && !(this.id === isDublicated)) {\r\n return { dublicated: true };\r\n }\r\n return null;\r\n }\r\n }\r\n ])\r\n });\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private backend: BackendService,\r\n public variablesService: VariablesService,\r\n private modalService: ModalService,\r\n private ngZone: NgZone,\r\n private location: Location\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.queryRouting = this.route.queryParams.subscribe(params => {\r\n if (params.id) {\r\n this.id = parseInt(params.id, 10);\r\n this.addContactForm.reset({\r\n name: this.variablesService.contacts[params.id]['name'],\r\n address: this.variablesService.contacts[params.id]['address'],\r\n notes: this.variablesService.contacts[params.id]['notes']\r\n });\r\n } else {\r\n this.addContactForm.reset({\r\n name: this.variablesService.newContact['name'],\r\n address: this.variablesService.newContact['address'],\r\n notes: this.variablesService.newContact['notes']\r\n });\r\n }\r\n });\r\n }\r\n\r\n add() {\r\n if (!this.variablesService.appPass) {\r\n this.modalService.prepareModal(\r\n 'error',\r\n 'CONTACTS.FORM_ERRORS.SET_MASTER_PASSWORD'\r\n );\r\n } else {\r\n if (this.addContactForm.valid) {\r\n this.backend.validateAddress(\r\n this.addContactForm.get('address').value,\r\n valid_status => {\r\n if (valid_status === false) {\r\n this.ngZone.run(() => {\r\n this.addContactForm\r\n .get('address')\r\n .setErrors({ address_not_valid: true });\r\n });\r\n } else {\r\n if (this.id || this.id === 0) {\r\n this.variablesService.contacts.forEach((contact, index) => {\r\n if (index === this.id) {\r\n contact.name = this.addContactForm.get('name').value.trim();\r\n contact.address = this.addContactForm.get('address').value;\r\n contact.notes =\r\n this.addContactForm.get('notes').value || '';\r\n }\r\n });\r\n this.backend.storeSecureAppData();\r\n this.backend.getContactAlias();\r\n this.modalService.prepareModal(\r\n 'success',\r\n 'CONTACTS.SUCCESS_SAVE'\r\n );\r\n } else {\r\n this.variablesService.contacts.push({\r\n name: this.addContactForm.get('name').value.trim(),\r\n address: this.addContactForm.get('address').value,\r\n notes: this.addContactForm.get('notes').value || ''\r\n });\r\n this.backend.storeSecureAppData();\r\n this.backend.getContactAlias();\r\n this.modalService.prepareModal(\r\n 'success',\r\n 'CONTACTS.SUCCESS_SENT'\r\n );\r\n this.variablesService.newContact = {\r\n name: null,\r\n address: null,\r\n notes: null\r\n };\r\n this.addContactForm.reset({\r\n name: null,\r\n address: null,\r\n notes: null\r\n });\r\n }\r\n }\r\n }\r\n );\r\n }\r\n }\r\n }\r\n\r\n back() {\r\n this.location.back();\r\n }\r\n\r\n ngOnDestroy() {\r\n if (!(this.id || this.id === 0)) {\r\n this.variablesService.newContact = {\r\n name: this.addContactForm.get('name').value,\r\n address: this.addContactForm.get('address').value,\r\n notes: this.addContactForm.get('notes').value\r\n };\r\n }\r\n this.queryRouting.unsubscribe();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\n// Components\r\nimport { MainComponent } from './main/main.component';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { WalletComponent } from './wallet/wallet.component';\r\nimport { SendComponent } from './send/send.component';\r\nimport { ReceiveComponent } from './receive/receive.component';\r\nimport { HistoryComponent } from './history/history.component';\r\nimport { ContractsComponent } from './contracts/contracts.component';\r\nimport { PurchaseComponent } from './purchase/purchase.component';\r\nimport { MessagesComponent } from './messages/messages.component';\r\nimport { TypingMessageComponent } from './typing-message/typing-message.component';\r\nimport { StakingComponent } from './staking/staking.component';\r\nimport { SettingsComponent } from './settings/settings.component';\r\nimport { CreateWalletComponent } from './create-wallet/create-wallet.component';\r\nimport { OpenWalletComponent } from './open-wallet/open-wallet.component';\r\nimport { RestoreWalletComponent } from './restore-wallet/restore-wallet.component';\r\nimport { SeedPhraseComponent } from './seed-phrase/seed-phrase.component';\r\nimport { WalletDetailsComponent } from './wallet-details/wallet-details.component';\r\nimport { AssignAliasComponent } from './assign-alias/assign-alias.component';\r\nimport { EditAliasComponent } from './edit-alias/edit-alias.component';\r\nimport { TransferAliasComponent } from './transfer-alias/transfer-alias.component';\r\nimport { ContactsComponent } from './contacts/contacts.component';\r\nimport { AddContactsComponent } from './add-contacts/add-contacts.component';\r\nimport { ContactSendComponent } from './contact-send/contact-send.component';\r\nimport { ExportImportComponent } from './export-import/export-import.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: MainComponent\r\n },\r\n {\r\n path: 'main',\r\n component: MainComponent\r\n },\r\n {\r\n path: 'login',\r\n component: LoginComponent\r\n },\r\n {\r\n path: 'wallet/:id',\r\n component: WalletComponent,\r\n children: [\r\n {\r\n path: 'send',\r\n component: SendComponent\r\n },\r\n {\r\n path: 'receive',\r\n component: ReceiveComponent\r\n },\r\n {\r\n path: 'history',\r\n component: HistoryComponent\r\n },\r\n {\r\n path: 'contracts',\r\n component: ContractsComponent,\r\n },\r\n {\r\n path: 'purchase',\r\n component: PurchaseComponent\r\n },\r\n {\r\n path: 'purchase/:id',\r\n component: PurchaseComponent\r\n },\r\n {\r\n path: 'messages',\r\n component: MessagesComponent,\r\n },\r\n {\r\n path: 'messages/:id',\r\n component: TypingMessageComponent,\r\n },\r\n {\r\n path: 'staking',\r\n component: StakingComponent\r\n },\r\n {\r\n path: '',\r\n redirectTo: 'history',\r\n pathMatch: 'full'\r\n }\r\n ]\r\n },\r\n {\r\n path: 'create',\r\n component: CreateWalletComponent\r\n },\r\n {\r\n path: 'open',\r\n component: OpenWalletComponent\r\n },\r\n {\r\n path: 'restore',\r\n component: RestoreWalletComponent\r\n },\r\n {\r\n path: 'seed-phrase',\r\n component: SeedPhraseComponent\r\n },\r\n {\r\n path: 'details',\r\n component: WalletDetailsComponent\r\n },\r\n {\r\n path: 'assign-alias',\r\n component: AssignAliasComponent\r\n },\r\n {\r\n path: 'edit-alias',\r\n component: EditAliasComponent\r\n },\r\n {\r\n path: 'transfer-alias',\r\n component: TransferAliasComponent\r\n },\r\n {\r\n path: 'settings',\r\n component: SettingsComponent\r\n },\r\n {\r\n path: 'contacts',\r\n component: ContactsComponent\r\n },\r\n {\r\n path: 'add-contacts',\r\n component: AddContactsComponent\r\n },\r\n {\r\n path: 'edit-contacts/:id',\r\n component: AddContactsComponent\r\n },\r\n {\r\n path: 'contact-send/:id',\r\n component: ContactSendComponent\r\n },\r\n {\r\n path: 'import',\r\n component: ExportImportComponent\r\n },\r\n {\r\n path: '',\r\n redirectTo: '/',\r\n pathMatch: 'full'\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule]\r\n})\r\n\r\n\r\nexport class AppRoutingModule { }\r\n","module.exports = \"\\r\\n\\r\\n
      \\r\\n \\r\\n
      \\r\\n {{ 'SIDEBAR.SYNCHRONIZATION.LOADING' | translate }}\\r\\n {{ 'SIDEBAR.SYNCHRONIZATION.ERROR' | translate }}\\r\\n {{ 'SIDEBAR.SYNCHRONIZATION.COMPLETE' | translate }}\\r\\n \\r\\n
      \\r\\n
      \\r\\n\\r\\n {{ 'CONTEXT_MENU.COPY' | translate }}\\r\\n {{ 'CONTEXT_MENU.PASTE' | translate }}\\r\\n {{ 'CONTEXT_MENU.SELECT' | translate }}\\r\\n\\r\\n\\r\\n\\r\\n {{ 'CONTEXT_MENU.COPY' | translate }}\\r\\n\\r\\n\\r\\n\\r\\n {{ 'CONTEXT_MENU.PASTE' | translate }}\\r\\n {{ 'CONTEXT_MENU.SELECT' | translate }}\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","module.exports = \"/*\\r\\n* Implementation of themes\\r\\n*/\\n.app-content {\\n display: flex;\\n overflow-x: overlay;\\n overflow-y: hidden;\\n width: 100%; }\\n.app-content .preloader {\\n align-self: center;\\n color: #fff;\\n font-size: 2rem;\\n margin: 0 auto;\\n text-align: center;\\n width: 50%; }\\n.app-content .preloader .loading-bar {\\n display: block;\\n -webkit-animation: move 5s linear infinite;\\n animation: move 5s linear infinite;\\n background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.125, rgba(0, 0, 0, 0.15)), color-stop(0.125, transparent), color-stop(0.25, transparent), color-stop(0.25, rgba(0, 0, 0, 0.1)), color-stop(0.375, rgba(0, 0, 0, 0.1)), color-stop(0.375, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(0, 0, 0, 0.15)), color-stop(0.625, rgba(0, 0, 0, 0.15)), color-stop(0.625, transparent), color-stop(0.75, transparent), color-stop(0.75, rgba(0, 0, 0, 0.1)), color-stop(0.875, rgba(0, 0, 0, 0.1)), color-stop(0.875, transparent), to(transparent)), -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.125, rgba(0, 0, 0, 0.3)), color-stop(0.125, transparent), color-stop(0.25, transparent), color-stop(0.25, rgba(0, 0, 0, 0.25)), color-stop(0.375, rgba(0, 0, 0, 0.25)), color-stop(0.375, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(0, 0, 0, 0.3)), color-stop(0.625, rgba(0, 0, 0, 0.3)), color-stop(0.625, transparent), color-stop(0.75, transparent), color-stop(0.75, rgba(0, 0, 0, 0.25)), color-stop(0.875, rgba(0, 0, 0, 0.25)), color-stop(0.875, transparent), to(transparent));\\n background-size: 10rem 10rem;\\n margin-top: 2rem;\\n width: 100%;\\n height: 1rem; }\\n@-webkit-keyframes move {\\n 0% {\\n background-position: 100% -10rem; }\\n 100% {\\n background-position: 100% 10rem; } }\\n@keyframes move {\\n 0% {\\n background-position: 100% -10rem; }\\n 100% {\\n background-position: 100% 10rem; } }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvRDpcXFByb2plY3RcXFdPUktfTkVXXFx6YW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFzc2V0c1xcc2Nzc1xcYmFzZVxcX21peGlucy5zY3NzIiwic3JjL2FwcC9hcHAuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL0Q6XFxQcm9qZWN0XFxXT1JLX05FV1xcemFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxhcHBcXGFwcC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4RUE7O0NDNUVDO0FDQUQ7RUFDRSxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLGtCQUFrQjtFQUNsQixXQUFXLEVBQUE7QUFKYjtJQU9JLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsZUFBZTtJQUNmLGNBQWM7SUFDZCxrQkFBa0I7SUFDbEIsVUFBVSxFQUFBO0FBWmQ7TUFlTSxjQUFjO01BQ2QsMENBQWtDO2NBQWxDLGtDQUFrQztNQUNsQywrbENBc0JHO01BQ0gsNEJBQTRCO01BQzVCLGdCQUFnQjtNQUNoQixXQUFXO01BQ1gsWUFBWSxFQUFBO0FBSWhCO0VBQ0U7SUFDRSxnQ0FBZ0MsRUFBQTtFQUVsQztJQUNFLCtCQUErQixFQUFBLEVBQUE7QUFMbkM7RUFDRTtJQUNFLGdDQUFnQyxFQUFBO0VBRWxDO0lBQ0UsK0JBQStCLEVBQUEsRUFBQSIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBtaXhpbiB0ZXh0LXRydW5jYXRlIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuQG1peGluIHRleHRXcmFwIHtcclxuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcclxuICBsaW5lLWJyZWFrOiBzdHJpY3Q7XHJcbiAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xyXG4gIC1tcy1oeXBoZW5zOiBhdXRvO1xyXG4gIGh5cGhlbnM6IGF1dG87XHJcbn1cclxuQG1peGluIGNvdmVyQm94IHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG59XHJcbkBtaXhpbiBhYnMgKCR0b3A6IGF1dG8sICRyaWdodDogYXV0bywgJGJvdHRvbTogYXV0bywgJGxlZnQ6IGF1dG8pIHtcclxuICB0b3A6ICR0b3A7XHJcbiAgcmlnaHQ6ICRyaWdodDtcclxuICBib3R0b206ICRib3R0b207XHJcbiAgbGVmdDogJGxlZnQ7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG59XHJcbkBtaXhpbiBjb3ZlckltZyB7XHJcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHQtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0LW8tYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cdGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XHJcbn1cclxuQG1peGluIHZhbGluZ0JveCB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogIDUwJTtcclxuXHRsZWZ0OiA1MCU7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbn1cclxuQG1peGluIHVuU2VsZWN0IHtcclxuXHQtd2Via2l0LXRvdWNoLWNvbGxvdXQ6IG5vbmU7XHJcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbn1cclxuQG1peGluIG1heDExOTkgeyAvLyBtYWtldCAxMTcxXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkgeyBAY29udGVudDsgfVxyXG59XHJcbkBtaXhpbiBtYXgxMTcwIHsgLy8gbWFrZXRzIDk5MlxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMTcwcHgpIHsgQGNvbnRlbnQ7IH1cclxufVxyXG5AbWl4aW4gbWF4OTkxIHsgLy8gbWFrZXRzIDc2MlxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkgeyBAY29udGVudDsgfVxyXG59XHJcbkBtaXhpbiBtYXg3NjEgeyAvLyBtYWtldHMgNTc2XHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2MXB4KSB7IEBjb250ZW50OyB9XHJcbn1cclxuQG1peGluIG1heDU3NSB7IC8vIG1ha2V0cyA0MDBcclxuICBAbWVkaWEgKG1heC13aWR0aDogNTc1cHgpIHsgQGNvbnRlbnQ7IH1cclxufVxyXG5AbWl4aW4gbW9iaWxlIHtcclxuICBAbWVkaWEgKG1heC13aWR0aDogMzk5cHgpIHsgQGNvbnRlbnQ7IH1cclxufVxyXG5AbWl4aW4gaWNvQ2VudGVyIHtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG59XHJcbkBtaXhpbiBwc2V1ZG8gKCRkaXNwbGF5OiBibG9jaywgJHBvczogYWJzb2x1dGUsICRjb250ZW50OiAnJyl7XHJcbiAgY29udGVudDogJGNvbnRlbnQ7XHJcbiAgZGlzcGxheTogJGRpc3BsYXk7XHJcbiAgcG9zaXRpb246ICRwb3M7XHJcbn1cclxuXHJcbi8qXHJcbiogSW1wbGVtZW50YXRpb24gb2YgdGhlbWVzXHJcbiovXHJcbkBtaXhpbiB0aGVtaWZ5KCR0aGVtZXM6ICR0aGVtZXMpIHtcclxuICBAZWFjaCAkdGhlbWUsICRtYXAgaW4gJHRoZW1lcyB7XHJcbiAgICAudGhlbWUtI3skdGhlbWV9ICYge1xyXG4gICAgICAkdGhlbWUtbWFwOiAoKSAhZ2xvYmFsO1xyXG4gICAgICBAZWFjaCAka2V5LCAkc3VibWFwIGluICRtYXAge1xyXG4gICAgICAgICR2YWx1ZTogbWFwLWdldChtYXAtZ2V0KCR0aGVtZXMsICR0aGVtZSksICcjeyRrZXl9Jyk7XHJcbiAgICAgICAgJHRoZW1lLW1hcDogbWFwLW1lcmdlKCR0aGVtZS1tYXAsICgka2V5OiAkdmFsdWUpKSAhZ2xvYmFsO1xyXG4gICAgICB9XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgICAkdGhlbWUtbWFwOiBudWxsICFnbG9iYWw7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AZnVuY3Rpb24gdGhlbWVkKCRrZXkpIHtcclxuICBAcmV0dXJuIG1hcC1nZXQoJHRoZW1lLW1hcCwgJGtleSk7XHJcbn1cclxuIiwiLypcclxuKiBJbXBsZW1lbnRhdGlvbiBvZiB0aGVtZXNcclxuKi9cbi5hcHAtY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG92ZXJmbG93LXg6IG92ZXJsYXk7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmFwcC1jb250ZW50IC5wcmVsb2FkZXIge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuYXBwLWNvbnRlbnQgLnByZWxvYWRlciAubG9hZGluZy1iYXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBhbmltYXRpb246IG1vdmUgNXMgbGluZWFyIGluZmluaXRlO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMTAwJSAxMDAlLCBjb2xvci1zdG9wKDAuMTI1LCByZ2JhKDAsIDAsIDAsIDAuMTUpKSwgY29sb3Itc3RvcCgwLjEyNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuMjUsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCgwLjI1LCByZ2JhKDAsIDAsIDAsIDAuMSkpLCBjb2xvci1zdG9wKDAuMzc1LCByZ2JhKDAsIDAsIDAsIDAuMSkpLCBjb2xvci1zdG9wKDAuMzc1LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCByZ2JhKDAsIDAsIDAsIDAuMTUpKSwgY29sb3Itc3RvcCgwLjYyNSwgcmdiYSgwLCAwLCAwLCAwLjE1KSksIGNvbG9yLXN0b3AoMC42MjUsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCgwLjc1LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC43NSwgcmdiYSgwLCAwLCAwLCAwLjEpKSwgY29sb3Itc3RvcCgwLjg3NSwgcmdiYSgwLCAwLCAwLCAwLjEpKSwgY29sb3Itc3RvcCgwLjg3NSwgdHJhbnNwYXJlbnQpLCB0byh0cmFuc3BhcmVudCkpLCAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAxMDAlLCAxMDAlIDAsIGNvbG9yLXN0b3AoMC4xMjUsIHJnYmEoMCwgMCwgMCwgMC4zKSksIGNvbG9yLXN0b3AoMC4xMjUsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCgwLjI1LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC4yNSwgcmdiYSgwLCAwLCAwLCAwLjI1KSksIGNvbG9yLXN0b3AoMC4zNzUsIHJnYmEoMCwgMCwgMCwgMC4yNSkpLCBjb2xvci1zdG9wKDAuMzc1LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC41LCByZ2JhKDAsIDAsIDAsIDAuMykpLCBjb2xvci1zdG9wKDAuNjI1LCByZ2JhKDAsIDAsIDAsIDAuMykpLCBjb2xvci1zdG9wKDAuNjI1LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC43NSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNzUsIHJnYmEoMCwgMCwgMCwgMC4yNSkpLCBjb2xvci1zdG9wKDAuODc1LCByZ2JhKDAsIDAsIDAsIDAuMjUpKSwgY29sb3Itc3RvcCgwLjg3NSwgdHJhbnNwYXJlbnQpLCB0byh0cmFuc3BhcmVudCkpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMHJlbSAxMHJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMXJlbTsgfVxuXG5Aa2V5ZnJhbWVzIG1vdmUge1xuICAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAtMTByZW07IH1cbiAgMTAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAxMHJlbTsgfSB9XG4iLCJAaW1wb3J0ICd+c3JjL2Fzc2V0cy9zY3NzL2Jhc2UvbWl4aW5zJztcclxuXHJcbi5hcHAtY29udGVudCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBvdmVyZmxvdy14OiBvdmVybGF5O1xyXG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcclxuICB3aWR0aDogMTAwJTtcclxuXHJcbiAgLnByZWxvYWRlciB7XHJcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgd2lkdGg6IDUwJTtcclxuXHJcbiAgICAubG9hZGluZy1iYXIge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgYW5pbWF0aW9uOiBtb3ZlIDVzIGxpbmVhciBpbmZpbml0ZTtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTpcclxuICAgICAgICAtd2Via2l0LWdyYWRpZW50KFxyXG4gICAgICAgICAgICBsaW5lYXIsIDAgMCwgMTAwJSAxMDAlLFxyXG4gICAgICAgICAgICBjb2xvci1zdG9wKC4xMjUsIHJnYmEoMCwgMCwgMCwgLjE1KSksIGNvbG9yLXN0b3AoLjEyNSwgdHJhbnNwYXJlbnQpLFxyXG4gICAgICAgICAgICBjb2xvci1zdG9wKC4yNTAsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCguMjUwLCByZ2JhKDAsIDAsIDAsIC4xMCkpLFxyXG4gICAgICAgICAgICBjb2xvci1zdG9wKC4zNzUsIHJnYmEoMCwgMCwgMCwgLjEwKSksIGNvbG9yLXN0b3AoLjM3NSwgdHJhbnNwYXJlbnQpLFxyXG4gICAgICAgICAgICBjb2xvci1zdG9wKC41MDAsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCguNTAwLCByZ2JhKDAsIDAsIDAsIC4xNSkpLFxyXG4gICAgICAgICAgICBjb2xvci1zdG9wKC42MjUsIHJnYmEoMCwgMCwgMCwgLjE1KSksIGNvbG9yLXN0b3AoLjYyNSwgdHJhbnNwYXJlbnQpLFxyXG4gICAgICAgICAgICBjb2xvci1zdG9wKC43NTAsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCguNzUwLCByZ2JhKDAsIDAsIDAsIC4xMCkpLFxyXG4gICAgICAgICAgICBjb2xvci1zdG9wKC44NzUsIHJnYmEoMCwgMCwgMCwgLjEwKSksIGNvbG9yLXN0b3AoLjg3NSwgdHJhbnNwYXJlbnQpLFxyXG4gICAgICAgICAgICB0byh0cmFuc3BhcmVudClcclxuICAgICAgICApLFxyXG4gICAgICAgIC13ZWJraXQtZ3JhZGllbnQoXHJcbiAgICAgICAgICAgIGxpbmVhciwgMCAxMDAlLCAxMDAlIDAsXHJcbiAgICAgICAgICAgIGNvbG9yLXN0b3AoLjEyNSwgcmdiYSgwLCAwLCAwLCAuMzApKSwgY29sb3Itc3RvcCguMTI1LCB0cmFuc3BhcmVudCksXHJcbiAgICAgICAgICAgIGNvbG9yLXN0b3AoLjI1MCwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKC4yNTAsIHJnYmEoMCwgMCwgMCwgLjI1KSksXHJcbiAgICAgICAgICAgIGNvbG9yLXN0b3AoLjM3NSwgcmdiYSgwLCAwLCAwLCAuMjUpKSwgY29sb3Itc3RvcCguMzc1LCB0cmFuc3BhcmVudCksXHJcbiAgICAgICAgICAgIGNvbG9yLXN0b3AoLjUwMCwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKC41MDAsIHJnYmEoMCwgMCwgMCwgLjMwKSksXHJcbiAgICAgICAgICAgIGNvbG9yLXN0b3AoLjYyNSwgcmdiYSgwLCAwLCAwLCAuMzApKSwgY29sb3Itc3RvcCguNjI1LCB0cmFuc3BhcmVudCksXHJcbiAgICAgICAgICAgIGNvbG9yLXN0b3AoLjc1MCwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKC43NTAsIHJnYmEoMCwgMCwgMCwgLjI1KSksXHJcbiAgICAgICAgICAgIGNvbG9yLXN0b3AoLjg3NSwgcmdiYSgwLCAwLCAwLCAuMjUpKSwgY29sb3Itc3RvcCguODc1LCB0cmFuc3BhcmVudCksXHJcbiAgICAgICAgICAgIHRvKHRyYW5zcGFyZW50KVxyXG4gICAgICAgICk7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTByZW0gMTByZW07XHJcbiAgICAgIG1hcmdpbi10b3A6IDJyZW07XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDFyZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAa2V5ZnJhbWVzIG1vdmUge1xyXG4gICAgMCUge1xyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIC0xMHJlbTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDEwcmVtO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0= */\"","import {Component, OnInit, NgZone, Renderer2, OnDestroy, ViewChild} from '@angular/core';\r\nimport {HttpClient} from '@angular/common/http';\r\nimport {TranslateService} from '@ngx-translate/core';\r\nimport {BackendService} from './_helpers/services/backend.service';\r\nimport {Router} from '@angular/router';\r\nimport {VariablesService} from './_helpers/services/variables.service';\r\nimport {ContextMenuComponent} from 'ngx-contextmenu';\r\nimport {IntToMoneyPipe} from './_helpers/pipes/int-to-money.pipe';\r\nimport {BigNumber} from 'bignumber.js';\r\nimport {ModalService} from './_helpers/services/modal.service';\r\nimport {UtilsService} from './_helpers/services/utils.service';\r\nimport {Store} from 'store';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss'],\r\n providers: [UtilsService]\r\n})\r\nexport class AppComponent implements OnInit, OnDestroy {\r\n\r\n intervalUpdatePriceState;\r\n intervalUpdateContractsState;\r\n expMedTsEvent;\r\n onQuitRequest = false;\r\n firstOnlineState = false;\r\n translateUsed = false;\r\n\r\n needOpenWallets = [];\r\n\r\n @ViewChild('allContextMenu') public allContextMenu: ContextMenuComponent;\r\n @ViewChild('onlyCopyContextMenu') public onlyCopyContextMenu: ContextMenuComponent;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private renderer: Renderer2,\r\n public translate: TranslateService,\r\n private backend: BackendService,\r\n private router: Router,\r\n public variablesService: VariablesService,\r\n private ngZone: NgZone,\r\n private intToMoneyPipe: IntToMoneyPipe,\r\n private modalService: ModalService,\r\n private utilsService: UtilsService,\r\n private store: Store\r\n ) {\r\n translate.addLangs(['en', 'fr', 'de', 'it', 'pt']);\r\n translate.setDefaultLang('en');\r\n // const browserLang = translate.getBrowserLang();\r\n // translate.use(browserLang.match(/en|fr/) ? browserLang : 'en');\r\n translate.use('en').subscribe(() => {\r\n this.translateUsed = true;\r\n });\r\n }\r\n\r\n setBackendLocalization() {\r\n if (this.translateUsed) {\r\n const stringsArray = [\r\n this.translate.instant('BACKEND_LOCALIZATION.QUIT'),\r\n this.translate.instant('BACKEND_LOCALIZATION.IS_RECEIVED'),\r\n this.translate.instant('BACKEND_LOCALIZATION.IS_CONFIRMED'),\r\n this.translate.instant('BACKEND_LOCALIZATION.INCOME_TRANSFER_UNCONFIRMED'),\r\n this.translate.instant('BACKEND_LOCALIZATION.INCOME_TRANSFER_CONFIRMED'),\r\n this.translate.instant('BACKEND_LOCALIZATION.MINED'),\r\n this.translate.instant('BACKEND_LOCALIZATION.LOCKED'),\r\n this.translate.instant('BACKEND_LOCALIZATION.IS_MINIMIZE'),\r\n this.translate.instant('BACKEND_LOCALIZATION.RESTORE'),\r\n this.translate.instant('BACKEND_LOCALIZATION.TRAY_MENU_SHOW'),\r\n this.translate.instant('BACKEND_LOCALIZATION.TRAY_MENU_MINIMIZE')\r\n ];\r\n this.backend.setBackendLocalization(stringsArray, this.variablesService.settings.language);\r\n } else {\r\n console.warn('wait translate use');\r\n setTimeout(() => {\r\n this.setBackendLocalization();\r\n }, 10000);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.variablesService.allContextMenu = this.allContextMenu;\r\n this.variablesService.onlyCopyContextMenu = this.onlyCopyContextMenu;\r\n\r\n this.backend.initService().subscribe(initMessage => {\r\n console.log('Init message: ', initMessage);\r\n\r\n this.backend.webkitLaunchedScript();\r\n\r\n this.backend.start_backend(false, '127.0.0.1', 11512, (st2, dd2) => {\r\n console.log(st2, dd2);\r\n });\r\n\r\n this.backend.eventSubscribe('quit_requested', () => {\r\n if (!this.onQuitRequest) {\r\n this.ngZone.run(() => {\r\n this.router.navigate(['/']);\r\n });\r\n this.needOpenWallets = [];\r\n this.variablesService.daemon_state = 5;\r\n const saveFunction = () => {\r\n this.backend.storeAppData(() => {\r\n const recursionCloseWallets = () => {\r\n if (this.variablesService.wallets.length) {\r\n const lastIndex = this.variablesService.wallets.length - 1;\r\n this.backend.closeWallet(this.variablesService.wallets[lastIndex].wallet_id, () => {\r\n this.variablesService.wallets.splice(lastIndex, 1);\r\n recursionCloseWallets();\r\n });\r\n } else {\r\n this.backend.quitRequest();\r\n }\r\n };\r\n recursionCloseWallets();\r\n });\r\n };\r\n if (this.variablesService.appPass) {\r\n this.backend.storeSecureAppData(() => {\r\n saveFunction();\r\n });\r\n } else {\r\n saveFunction();\r\n }\r\n }\r\n this.onQuitRequest = true;\r\n });\r\n\r\n this.backend.eventSubscribe('update_wallet_status', (data) => {\r\n console.log('----------------- update_wallet_status -----------------');\r\n console.log(data);\r\n\r\n const wallet_state = data.wallet_state;\r\n const is_mining = data.is_mining;\r\n const wallet = this.variablesService.getWallet(data.wallet_id);\r\n // 1-synch, 2-ready, 3 - error\r\n if (wallet) {\r\n this.ngZone.run(() => {\r\n wallet.loaded = false;\r\n wallet.staking = is_mining;\r\n if (wallet_state === 2) { // ready\r\n wallet.loaded = true;\r\n }\r\n if (wallet_state === 3) { // error\r\n // wallet.error = true;\r\n }\r\n wallet.balance = data.balance;\r\n wallet.unlocked_balance = data.unlocked_balance;\r\n wallet.mined_total = data.minied_total;\r\n wallet.alias_available = data.is_alias_operations_available;\r\n });\r\n }\r\n });\r\n\r\n this.backend.eventSubscribe('wallet_sync_progress', (data) => {\r\n console.log('----------------- wallet_sync_progress -----------------');\r\n console.log(data);\r\n\r\n const wallet = this.variablesService.getWallet(data.wallet_id);\r\n if (wallet) {\r\n this.ngZone.run(() => {\r\n wallet.progress = (data.progress < 0) ? 0 : ((data.progress > 100) ? 100 : data.progress);\r\n if (!this.variablesService.sync_started) {\r\n this.variablesService.sync_started = true;\r\n }\r\n this.addToStore(wallet, true); // subscribe on data\r\n if (wallet.progress === 0) {\r\n wallet.loaded = false;\r\n } else if (wallet.progress === 100) {\r\n wallet.loaded = true;\r\n this.addToStore(wallet, false);\r\n }\r\n });\r\n }\r\n });\r\n\r\n this.backend.eventSubscribe('update_daemon_state', (data) => {\r\n console.log('----------------- update_daemon_state -----------------');\r\n console.log('DAEMON:' + data.daemon_network_state);\r\n console.log(data);\r\n // this.variablesService.exp_med_ts = data['expiration_median_timestamp'] + 600 + 1;\r\n this.variablesService.setExpMedTs(data['expiration_median_timestamp'] + 600 + 1);\r\n this.variablesService.net_time_delta_median = data.net_time_delta_median;\r\n this.variablesService.last_build_available = data.last_build_available;\r\n this.variablesService.last_build_displaymode = data.last_build_displaymode;\r\n this.variablesService.setHeightApp(data.height);\r\n this.variablesService.setHeightMax(data.max_net_seen_height);\r\n\r\n this.variablesService.setDownloadedBytes(data.downloaded_bytes);\r\n this.variablesService.setTotalBytes(data.download_total_data_size);\r\n\r\n this.backend.getContactAlias();\r\n this.ngZone.run(() => {\r\n this.variablesService.daemon_state = data['daemon_network_state'];\r\n if (data['daemon_network_state'] === 1) {\r\n const max = data['max_net_seen_height'] - data['synchronization_start_height'];\r\n const current = data.height - data['synchronization_start_height'];\r\n const return_val = Math.floor((current * 100 / max) * 100) / 100;\r\n if (max === 0 || return_val < 0) {\r\n this.variablesService.sync.progress_value = 0;\r\n this.variablesService.sync.progress_value_text = '0.00';\r\n } else if (return_val >= 100) {\r\n this.variablesService.sync.progress_value = 100;\r\n this.variablesService.sync.progress_value_text = '99.99';\r\n } else {\r\n this.variablesService.sync.progress_value = return_val;\r\n this.variablesService.sync.progress_value_text = return_val.toFixed(2);\r\n }\r\n }\r\n\r\n if (data['daemon_network_state'] === 6) {\r\n const max = data['download_total_data_size'];\r\n const current = data['downloaded_bytes'];\r\n const return_val = Math.floor((current / max) * 100);\r\n if (max === 0 || return_val < 0) {\r\n this.variablesService.download.progress_value = 0;\r\n this.variablesService.download.progress_value_text = '0.00';\r\n } else if (return_val >= 100) {\r\n this.variablesService.download.progress_value = 100;\r\n this.variablesService.download.progress_value_text = '99.99';\r\n } else {\r\n this.variablesService.download.progress_value = return_val;\r\n this.variablesService.download.progress_value_text = return_val.toFixed(2);\r\n }\r\n }\r\n });\r\n if (!this.firstOnlineState && data['daemon_network_state'] === 2) {\r\n this.getAliases();\r\n this.backend.getContactAlias();\r\n this.backend.getDefaultFee((status_fee, data_fee) => {\r\n this.variablesService.default_fee_big = new BigNumber(data_fee);\r\n this.variablesService.default_fee = this.intToMoneyPipe.transform(data_fee);\r\n });\r\n this.firstOnlineState = true;\r\n }\r\n });\r\n\r\n this.backend.eventSubscribe('money_transfer', (data) => {\r\n console.log('----------------- money_transfer -----------------');\r\n console.log(data);\r\n\r\n if (!data.ti) {\r\n return;\r\n }\r\n\r\n const wallet_id = data.wallet_id;\r\n const tr_info = data.ti;\r\n\r\n const wallet = this.variablesService.getWallet(wallet_id);\r\n if (wallet) {\r\n if(wallet.history.length > 40) {\r\n wallet.history.splice(40, 1);\r\n }\r\n this.ngZone.run(() => {\r\n\r\n if (!wallet.loaded) {\r\n wallet.balance = data.balance;\r\n wallet.unlocked_balance = data.unlocked_balance;\r\n } else {\r\n wallet.balance = data.balance;\r\n wallet.unlocked_balance = data.unlocked_balance;\r\n }\r\n\r\n if (tr_info.tx_type === 6) {\r\n this.variablesService.setRefreshStacking(wallet_id);\r\n }\r\n\r\n let tr_exists = wallet.excluded_history.some(elem => elem.tx_hash === tr_info.tx_hash);\r\n tr_exists = (!tr_exists) ? wallet.history.some(elem => elem.tx_hash === tr_info.tx_hash) : tr_exists;\r\n\r\n if (wallet.currentPage === 1) {\r\n wallet.prepareHistory([tr_info]);\r\n if (wallet.restore) {\r\n wallet.total_history_item = wallet.history.length;\r\n wallet.totalPages = Math.ceil( wallet.total_history_item / this.variablesService.count);\r\n wallet.totalPages > this.variablesService.maxPages\r\n ? wallet.pages = new Array(5).fill(1).map((value, index) => value + index)\r\n : wallet.pages = new Array(wallet.totalPages).fill(1).map((value, index) => value + index);\r\n }\r\n }\r\n\r\n if (tr_info.hasOwnProperty('contract')) {\r\n const exp_med_ts = this.variablesService.exp_med_ts;\r\n const height_app = this.variablesService.height_app;\r\n\r\n const contract = tr_info.contract[0];\r\n\r\n if (tr_exists) {\r\n for (let i = 0; i < wallet.contracts.length; i++) {\r\n if (wallet.contracts[i].contract_id === contract.contract_id && wallet.contracts[i].is_a === contract.is_a) {\r\n wallet.contracts[i].cancel_expiration_time = contract.cancel_expiration_time;\r\n wallet.contracts[i].expiration_time = contract.expiration_time;\r\n wallet.contracts[i].height = contract.height;\r\n wallet.contracts[i].timestamp = contract.timestamp;\r\n break;\r\n }\r\n }\r\n // $rootScope.getContractsRecount();\r\n return;\r\n }\r\n\r\n if (contract.state === 1 && contract.expiration_time < exp_med_ts) {\r\n contract.state = 110;\r\n } else if (contract.state === 5 && contract.cancel_expiration_time < exp_med_ts) {\r\n contract.state = 130;\r\n } else if (contract.state === 1) {\r\n const searchResult2 = this.variablesService.settings.notViewedContracts.find(elem => elem.state === 110 && elem.is_a === contract.is_a && elem.contract_id === contract.contract_id);\r\n if (searchResult2) {\r\n if (searchResult2.time === contract.expiration_time) {\r\n contract.state = 110;\r\n } else {\r\n for (let j = 0; j < this.variablesService.settings.notViewedContracts.length; j++) {\r\n if (this.variablesService.settings.notViewedContracts[j].contract_id === contract.contract_id && this.variablesService.settings.notViewedContracts[j].is_a === contract.is_a) {\r\n this.variablesService.settings.notViewedContracts.splice(j, 1);\r\n break;\r\n }\r\n }\r\n for (let j = 0; j < this.variablesService.settings.viewedContracts.length; j++) {\r\n if (this.variablesService.settings.viewedContracts[j].contract_id === contract.contract_id && this.variablesService.settings.viewedContracts[j].is_a === contract.is_a) {\r\n this.variablesService.settings.viewedContracts.splice(j, 1);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n } else if (contract.state === 2 && (contract.height === 0 || (height_app - contract.height) < 10)) {\r\n contract.state = 201;\r\n } else if (contract.state === 2) {\r\n const searchResult3 = this.variablesService.settings.viewedContracts.some(elem => elem.state === 120 && elem.is_a === contract.is_a && elem.contract_id === contract.contract_id);\r\n if (searchResult3) {\r\n contract.state = 120;\r\n }\r\n } else if (contract.state === 5) {\r\n const searchResult4 = this.variablesService.settings.notViewedContracts.find(elem => elem.state === 130 && elem.is_a === contract.is_a && elem.contract_id === contract.contract_id);\r\n if (searchResult4) {\r\n if (searchResult4.time === contract.cancel_expiration_time) {\r\n contract.state = 130;\r\n } else {\r\n for (let j = 0; j < this.variablesService.settings.notViewedContracts.length; j++) {\r\n if (this.variablesService.settings.notViewedContracts[j].contract_id === contract.contract_id && this.variablesService.settings.notViewedContracts[j].is_a === contract.is_a) {\r\n this.variablesService.settings.notViewedContracts.splice(j, 1);\r\n break;\r\n }\r\n }\r\n for (let j = 0; j < this.variablesService.settings.viewedContracts.length; j++) {\r\n if (this.variablesService.settings.viewedContracts[j].contract_id === contract.contract_id && this.variablesService.settings.viewedContracts[j].is_a === contract.is_a) {\r\n this.variablesService.settings.viewedContracts.splice(j, 1);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n } else if (contract.state === 6 && (contract.height === 0 || (height_app - contract.height) < 10)) {\r\n contract.state = 601;\r\n }\r\n\r\n const searchResult = this.variablesService.settings.viewedContracts.some(elem => elem.state === contract.state && elem.is_a === contract.is_a && elem.contract_id === contract.contract_id);\r\n contract.is_new = !searchResult;\r\n\r\n let findContract = false;\r\n for (let i = 0; i < wallet.contracts.length; i++) {\r\n if (wallet.contracts[i].contract_id === contract.contract_id && wallet.contracts[i].is_a === contract.is_a) {\r\n for (const prop in contract) {\r\n if (contract.hasOwnProperty(prop)) {\r\n wallet.contracts[i][prop] = contract[prop];\r\n }\r\n }\r\n findContract = true;\r\n break;\r\n }\r\n }\r\n if (findContract === false) {\r\n wallet.contracts.push(contract);\r\n }\r\n wallet.recountNewContracts();\r\n }\r\n\r\n });\r\n }\r\n });\r\n\r\n this.backend.eventSubscribe('money_transfer_cancel', (data) => {\r\n console.log('----------------- money_transfer_cancel -----------------');\r\n console.log(data);\r\n\r\n if (!data.ti) {\r\n return;\r\n }\r\n\r\n const wallet_id = data.wallet_id;\r\n const tr_info = data.ti;\r\n const wallet = this.variablesService.getWallet(wallet_id);\r\n\r\n if (wallet) {\r\n if (tr_info.hasOwnProperty('contract')) {\r\n for (let i = 0; i < wallet.contracts.length; i++) {\r\n if (wallet.contracts[i].contract_id === tr_info.contract[0].contract_id && wallet.contracts[i].is_a === tr_info.contract[0].is_a) {\r\n if (wallet.contracts[i].state === 1 || wallet.contracts[i].state === 110) {\r\n wallet.contracts[i].is_new = true;\r\n wallet.contracts[i].state = 140;\r\n wallet.recountNewContracts();\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n\r\n wallet.removeFromHistory(tr_info.tx_hash);\r\n\r\n let error_tr = '';\r\n switch (tr_info.tx_type) {\r\n case 0:\r\n error_tr = this.translate.instant('ERRORS.TX_TYPE_NORMAL') + '
      ' +\r\n tr_info.tx_hash + '
      ' + wallet.name + '
      ' + wallet.address + '
      ' +\r\n this.translate.instant('ERRORS.TX_TYPE_NORMAL_TO') + ' ' + this.intToMoneyPipe.transform(tr_info.amount) + ' ' +\r\n this.translate.instant('ERRORS.TX_TYPE_NORMAL_END');\r\n break;\r\n case 1:\r\n // this.translate.instant('ERRORS.TX_TYPE_PUSH_OFFER');\r\n break;\r\n case 2:\r\n // this.translate.instant('ERRORS.TX_TYPE_UPDATE_OFFER');\r\n break;\r\n case 3:\r\n // this.translate.instant('ERRORS.TX_TYPE_CANCEL_OFFER');\r\n break;\r\n case 4:\r\n error_tr = this.translate.instant('ERRORS.TX_TYPE_NEW_ALIAS') + '
      ' +\r\n tr_info.tx_hash + '
      ' + wallet.name + '
      ' + wallet.address + '
      ' +\r\n this.translate.instant('ERRORS.TX_TYPE_NEW_ALIAS_END');\r\n break;\r\n case 5:\r\n error_tr = this.translate.instant('ERRORS.TX_TYPE_UPDATE_ALIAS') + '
      ' +\r\n tr_info.tx_hash + '
      ' + wallet.name + '
      ' + wallet.address + '
      ' +\r\n this.translate.instant('ERRORS.TX_TYPE_NEW_ALIAS_END');\r\n break;\r\n case 6:\r\n error_tr = this.translate.instant('ERRORS.TX_TYPE_COIN_BASE');\r\n break;\r\n }\r\n if (error_tr) {\r\n this.modalService.prepareModal('error', error_tr);\r\n }\r\n }\r\n });\r\n\r\n this.backend.eventSubscribe('on_core_event', (data) => {\r\n console.log('----------------- on_core_event -----------------');\r\n console.log(data);\r\n\r\n data = JSON.parse(data);\r\n\r\n if (data.events != null) {\r\n for (let i = 0, length = data.events.length; i < length; i++) {\r\n\r\n switch (data.events[i].method) {\r\n case 'CORE_EVENT_BLOCK_ADDED':\r\n break;\r\n case 'CORE_EVENT_ADD_ALIAS':\r\n if (this.variablesService.aliasesChecked[data.events[i].details.address] != null) {\r\n this.variablesService.aliasesChecked[data.events[i].details.address]['name'] = '@' + data.events[i].details.alias;\r\n this.variablesService.aliasesChecked[data.events[i].details.address]['address'] = data.events[i].details.address;\r\n this.variablesService.aliasesChecked[data.events[i].details.address]['comment'] = data.events[i].details.comment;\r\n }\r\n if (this.variablesService.enableAliasSearch) {\r\n const newAlias = {\r\n name: '@' + data.events[i].details.alias,\r\n address: data.events[i].details.address,\r\n comment: data.events[i].details.comment\r\n };\r\n this.variablesService.aliases = this.variablesService.aliases.concat(newAlias);\r\n this.variablesService.changeAliases();\r\n }\r\n break;\r\n case 'CORE_EVENT_UPDATE_ALIAS':\r\n for (const address in this.variablesService.aliasesChecked) {\r\n if (this.variablesService.aliasesChecked.hasOwnProperty(address)) {\r\n if (this.variablesService.aliasesChecked[address].name === '@' + data.events[i].details.alias) {\r\n if (this.variablesService.aliasesChecked[address].address !== data.events[i].details.details.address) {\r\n delete this.variablesService.aliasesChecked[address]['name'];\r\n delete this.variablesService.aliasesChecked[address]['address'];\r\n delete this.variablesService.aliasesChecked[address]['comment'];\r\n } else {\r\n this.variablesService.aliasesChecked[address].comment = data.events[i].details.details.comment;\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n if (this.variablesService.aliasesChecked[data.events[i].details.details.address] != null) {\r\n this.variablesService.aliasesChecked[data.events[i].details.details.address]['name'] = '@' + data.events[i].details.alias;\r\n this.variablesService.aliasesChecked[data.events[i].details.details.address]['address'] = data.events[i].details.details.address;\r\n this.variablesService.aliasesChecked[data.events[i].details.details.address]['comment'] = data.events[i].details.details.comment;\r\n }\r\n if (this.variablesService.enableAliasSearch) {\r\n const CurrentAlias = this.variablesService.aliases.find((element) => element.name === '@' + data.events[i].details.alias);\r\n if (CurrentAlias) {\r\n CurrentAlias.address = data.events[i].details.details.address;\r\n CurrentAlias.comment = data.events[i].details.details.comment;\r\n }\r\n }\r\n this.variablesService.changeAliases();\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n });\r\n\r\n this.intervalUpdateContractsState = setInterval(() => {\r\n this.variablesService.wallets.forEach((wallet) => {\r\n wallet.contracts.forEach((contract) => {\r\n if (contract.state === 201 && contract.height !== 0 && (this.variablesService.height_app - contract.height) >= 10) {\r\n contract.state = 2;\r\n contract.is_new = true;\r\n console.warn('need check state in contracts');\r\n } else if (contract.state === 601 && contract.height !== 0 && (this.variablesService.height_app - contract.height) >= 10) {\r\n contract.state = 6;\r\n contract.is_new = true;\r\n }\r\n });\r\n });\r\n }, 30000);\r\n\r\n this.expMedTsEvent = this.variablesService.getExpMedTsEvent.subscribe((newTimestamp: number) => {\r\n this.variablesService.wallets.forEach((wallet) => {\r\n wallet.contracts.forEach((contract) => {\r\n if (contract.state === 1 && contract.expiration_time <= newTimestamp) {\r\n contract.state = 110;\r\n contract.is_new = true;\r\n wallet.recountNewContracts();\r\n } else if (contract.state === 5 && contract.cancel_expiration_time <= newTimestamp) {\r\n contract.state = 130;\r\n contract.is_new = true;\r\n wallet.recountNewContracts();\r\n }\r\n });\r\n });\r\n });\r\n\r\n\r\n this.backend.getAppData((status, data) => {\r\n if (data && Object.keys(data).length > 0) {\r\n for (const key in data) {\r\n if (data.hasOwnProperty(key) && this.variablesService.settings.hasOwnProperty(key)) {\r\n this.variablesService.settings[key] = data[key];\r\n }\r\n }\r\n if (this.variablesService.settings.hasOwnProperty('theme') && ['dark', 'white', 'gray'].indexOf(this.variablesService.settings.theme) !== -1) {\r\n this.renderer.addClass(document.body, 'theme-' + this.variablesService.settings.theme);\r\n } else {\r\n this.renderer.addClass(document.body, 'theme-' + this.variablesService.defaultTheme);\r\n }\r\n if (this.variablesService.settings.hasOwnProperty('scale') && [7.5, 10, 12.5, 15].indexOf(this.variablesService.settings.scale) !== -1) {\r\n const width = this.utilsService.getMinWidthByScale(this.variablesService.settings.scale);\r\n const app = document.documentElement.querySelector('app-root');\r\n this.renderer.setStyle(app, 'min-width', width + 'px');\r\n this.renderer.setStyle(document.documentElement, 'font-size', this.variablesService.settings.scale + 'px');\r\n }\r\n } else {\r\n this.variablesService.settings.theme = this.variablesService.defaultTheme;\r\n this.renderer.addClass(document.body, 'theme-' + this.variablesService.settings.theme);\r\n }\r\n this.translate.use(this.variablesService.settings.language);\r\n this.setBackendLocalization();\r\n\r\n this.backend.setLogLevel(this.variablesService.settings.appLog);\r\n\r\n if (this.router.url !== '/login') {\r\n this.backend.haveSecureAppData((statusPass) => {\r\n if (statusPass) {\r\n this.ngZone.run(() => {\r\n this.router.navigate(['/login'], {queryParams: {type: 'auth'}});\r\n });\r\n } else {\r\n if (Object.keys(data).length !== 0) {\r\n this.needOpenWallets = JSON.parse(JSON.stringify(this.variablesService.settings.wallets));\r\n this.ngZone.run(() => {\r\n this.variablesService.appLogin = true;\r\n this.router.navigate(['/']);\r\n });\r\n } else {\r\n this.ngZone.run(() => {\r\n this.router.navigate(['/login'], {queryParams: {type: 'reg'}});\r\n });\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }, error => {\r\n console.log(error);\r\n });\r\n this.getMoneyEquivalent();\r\n\r\n this.intervalUpdatePriceState = setInterval(() => {\r\n this.getMoneyEquivalent();\r\n }, 30000);\r\n }\r\n\r\n getMoneyEquivalent() {\r\n this.http.get('https://api.coingecko.com/api/v3/ping').subscribe(\r\n () => {\r\n this.http.get('https://api.coingecko.com/api/v3/simple/price?ids=zano&vs_currencies=usd').subscribe(\r\n data => {\r\n this.variablesService.moneyEquivalent = data['zano']['usd'];\r\n },\r\n error => {\r\n console.warn('api.coingecko.com price error: ', error);\r\n }\r\n );\r\n },\r\n error => {\r\n console.warn('api.coingecko.com error: ', error);\r\n setTimeout(() => {\r\n this.getMoneyEquivalent();\r\n }, 30000);\r\n }\r\n )\r\n }\r\n\r\n getAliases() {\r\n this.backend.getAllAliases((status, data, error) => {\r\n\r\n console.warn(error);\r\n\r\n if (error === 'CORE_BUSY') {\r\n window.setTimeout(() => {\r\n this.getAliases();\r\n }, 10000);\r\n } else if (error === 'OVERFLOW') {\r\n this.variablesService.aliases = [];\r\n this.variablesService.enableAliasSearch = false;\r\n this.variablesService.wallets.forEach(wallet => {\r\n wallet.alias = this.backend.getWalletAlias(wallet.address);\r\n });\r\n } else {\r\n this.variablesService.enableAliasSearch = true;\r\n if (data.aliases && data.aliases.length) {\r\n this.variablesService.aliases = [];\r\n data.aliases.forEach(alias => {\r\n const newAlias = {\r\n name: '@' + alias.alias,\r\n address: alias.address,\r\n comment: alias.comment\r\n };\r\n this.variablesService.aliases.push(newAlias);\r\n });\r\n this.variablesService.wallets.forEach(wallet => {\r\n wallet.alias = this.backend.getWalletAlias(wallet.address);\r\n });\r\n this.variablesService.aliases = this.variablesService.aliases.sort((a, b) => {\r\n if (a.name.length > b.name.length) {\r\n return 1;\r\n }\r\n if (a.name.length < b.name.length) {\r\n return -1;\r\n }\r\n if (a.name > b.name) {\r\n return 1;\r\n }\r\n if (a.name < b.name) {\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n this.variablesService.changeAliases();\r\n }\r\n }\r\n });\r\n }\r\n\r\n contextMenuCopy(target) {\r\n if (target && (target['nodeName'].toUpperCase() === 'TEXTAREA' || target['nodeName'].toUpperCase() === 'INPUT')) {\r\n const start = (target['contextSelectionStart']) ? 'contextSelectionStart' : 'selectionStart';\r\n const end = (target['contextSelectionEnd']) ? 'contextSelectionEnd' : 'selectionEnd';\r\n const canUseSelection = ((target[start]) || (target[start] === '0'));\r\n const SelectedText = (canUseSelection) ? target['value'].substring(target[start], target[end]) : target['value'];\r\n this.backend.setClipboard(String(SelectedText));\r\n }\r\n }\r\n\r\n contextMenuOnlyCopy(text) {\r\n if (text) {\r\n this.backend.setClipboard(String(text));\r\n }\r\n }\r\n\r\n contextMenuPaste(target) {\r\n if (target && (target['nodeName'].toUpperCase() === 'TEXTAREA' || target['nodeName'].toUpperCase() === 'INPUT')) {\r\n this.backend.getClipboard((status, clipboard) => {\r\n clipboard = String(clipboard);\r\n if (typeof clipboard !== 'string' || clipboard.length) {\r\n const start = (target['contextSelectionStart']) ? 'contextSelectionStart' : 'selectionStart';\r\n const end = (target['contextSelectionEnd']) ? 'contextSelectionEnd' : 'selectionEnd';\r\n const _pre = target['value'].substring(0, target[start]);\r\n const _aft = target['value'].substring(target[end], target['value'].length);\r\n let text = _pre + clipboard + _aft;\r\n const cursorPosition = (_pre + clipboard).length;\r\n if (target['maxLength'] && parseInt(target['maxLength'], 10) > 0) {\r\n text = text.substr(0, parseInt(target['maxLength'], 10));\r\n }\r\n target['value'] = text;\r\n target.setSelectionRange(cursorPosition, cursorPosition);\r\n target.dispatchEvent(new Event('input'));\r\n target['focus']();\r\n }\r\n });\r\n }\r\n }\r\n\r\n contextMenuSelect(target) {\r\n if (target && (target['nodeName'].toUpperCase() === 'TEXTAREA' || target['nodeName'].toUpperCase() === 'INPUT')) {\r\n target['focus']();\r\n setTimeout(() => {\r\n target['select']();\r\n });\r\n }\r\n }\r\n\r\n addToStore(wallet, boolean) {\r\n const value = this.store.value.sync;\r\n if (value && value.length) {\r\n const sync = value.filter(item => item.wallet_id === wallet.wallet_id);\r\n if (sync && sync.length) {\r\n const result = value.map(item => {\r\n if (item.wallet_id === wallet.wallet_id) {\r\n return {sync: boolean, wallet_id: wallet.wallet_id};\r\n } else {\r\n return item;\r\n }\r\n });\r\n this.store.set('sync', result);\r\n } else {\r\n value.push({sync: boolean, wallet_id: wallet.wallet_id});\r\n this.store.set('sync', value);\r\n }\r\n } else {\r\n this.store.set('sync', [{sync: boolean, wallet_id: wallet.wallet_id}]);\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.intervalUpdateContractsState) {\r\n clearInterval(this.intervalUpdateContractsState);\r\n }\r\n if (this.intervalUpdatePriceState) {\r\n clearInterval(this.intervalUpdatePriceState);\r\n }\r\n this.expMedTsEvent.unsubscribe();\r\n }\r\n\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\n\r\nimport { AppComponent } from './app.component';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { SettingsComponent } from './settings/settings.component';\r\nimport { SidebarComponent } from './sidebar/sidebar.component';\r\nimport { MainComponent } from './main/main.component';\r\nimport { CreateWalletComponent } from './create-wallet/create-wallet.component';\r\nimport { OpenWalletComponent } from './open-wallet/open-wallet.component';\r\nimport { OpenWalletModalComponent } from './open-wallet-modal/open-wallet-modal.component';\r\nimport { RestoreWalletComponent } from './restore-wallet/restore-wallet.component';\r\nimport { SeedPhraseComponent } from './seed-phrase/seed-phrase.component';\r\nimport { WalletDetailsComponent } from './wallet-details/wallet-details.component';\r\nimport { AssignAliasComponent } from './assign-alias/assign-alias.component';\r\nimport { EditAliasComponent } from './edit-alias/edit-alias.component';\r\nimport { TransferAliasComponent } from './transfer-alias/transfer-alias.component';\r\nimport { WalletComponent } from './wallet/wallet.component';\r\nimport { SendComponent } from './send/send.component';\r\nimport { ReceiveComponent } from './receive/receive.component';\r\nimport { HistoryComponent } from './history/history.component';\r\nimport { ContractsComponent } from './contracts/contracts.component';\r\nimport { PurchaseComponent } from './purchase/purchase.component';\r\nimport { MessagesComponent } from './messages/messages.component';\r\nimport { TypingMessageComponent } from './typing-message/typing-message.component';\r\nimport { StakingComponent } from './staking/staking.component';\r\n\r\nimport { HttpClient, HttpClientModule } from '@angular/common/http';\r\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\n// SERVICES\r\nimport { BackendService } from './_helpers/services/backend.service';\r\nimport { ModalService } from './_helpers/services/modal.service';\r\nimport { PaginationStore } from './_helpers/services/pagination.store';\r\n// SERVICES\r\n\r\n// Feature module\r\nimport { Store } from 'store';\r\n// Feature module\r\n\r\nimport { MoneyToIntPipe } from './_helpers/pipes/money-to-int.pipe';\r\nimport { IntToMoneyPipe } from './_helpers/pipes/int-to-money.pipe';\r\nimport { HistoryTypeMessagesPipe } from './_helpers/pipes/history-type-messages.pipe';\r\nimport { ContractStatusMessagesPipe } from './_helpers/pipes/contract-status-messages.pipe';\r\nimport { ContractTimeLeftPipe } from './_helpers/pipes/contract-time-left.pipe';\r\nimport { SafeHTMLPipe } from './_helpers/pipes/safe-html.pipe';\r\nimport { TooltipDirective } from './_helpers/directives/tooltip.directive';\r\nimport { InputValidateDirective } from './_helpers/directives/input-validate/input-validate.directive';\r\nimport { StakingSwitchComponent } from './_helpers/directives/staking-switch/staking-switch.component';\r\nimport { ModalContainerComponent } from './_helpers/directives/modal-container/modal-container.component';\r\nimport { TransactionDetailsComponent } from './_helpers/directives/transaction-details/transaction-details.component';\r\nimport { ContextMenuModule } from 'ngx-contextmenu';\r\nimport { ChartModule, HIGHCHARTS_MODULES } from 'angular-highcharts';\r\nimport * as highcharts from 'highcharts';\r\nimport exporting from 'highcharts/modules/exporting.src';\r\nimport { ProgressContainerComponent } from './_helpers/directives/progress-container/progress-container.component';\r\nimport { InputDisableSelectionDirective } from './_helpers/directives/input-disable-selection/input-disable-selection.directive';\r\nimport { SendModalComponent } from './send-modal/send-modal.component';\r\nimport { ContactsComponent } from './contacts/contacts.component';\r\nimport { AddContactsComponent } from './add-contacts/add-contacts.component';\r\nimport { ContactSendComponent } from './contact-send/contact-send.component';\r\nimport { ExportImportComponent } from './export-import/export-import.component';\r\nimport { ConfirmModalComponent } from './_helpers/directives/confirm-modal/confirm-modal.component';\r\n\r\nexport function HttpLoaderFactory(httpClient: HttpClient) {\r\n return new TranslateHttpLoader(httpClient, './assets/i18n/', '.json');\r\n}\r\n\r\nimport { PapaParseModule } from 'ngx-papaparse';\r\n\r\n// import * as more from 'highcharts/highcharts-more.src';\r\n// import * as exporting from 'highcharts/modules/exporting.src';\r\n// import * as highstock from 'highcharts/modules/stock.src';\r\n\r\nexport function highchartsFactory() {\r\n // Default options.\r\n highcharts.setOptions({\r\n time: {\r\n useUTC: false\r\n }\r\n });\r\n\r\n return [exporting];\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n LoginComponent,\r\n SettingsComponent,\r\n SidebarComponent,\r\n MainComponent,\r\n CreateWalletComponent,\r\n OpenWalletComponent,\r\n OpenWalletModalComponent,\r\n RestoreWalletComponent,\r\n SeedPhraseComponent,\r\n WalletDetailsComponent,\r\n AssignAliasComponent,\r\n EditAliasComponent,\r\n TransferAliasComponent,\r\n WalletComponent,\r\n SendComponent,\r\n ReceiveComponent,\r\n HistoryComponent,\r\n ContractsComponent,\r\n PurchaseComponent,\r\n MessagesComponent,\r\n StakingComponent,\r\n TypingMessageComponent,\r\n MoneyToIntPipe,\r\n IntToMoneyPipe,\r\n StakingSwitchComponent,\r\n HistoryTypeMessagesPipe,\r\n ContractStatusMessagesPipe,\r\n ContractTimeLeftPipe,\r\n TooltipDirective,\r\n InputValidateDirective,\r\n ModalContainerComponent,\r\n TransactionDetailsComponent,\r\n ProgressContainerComponent,\r\n InputDisableSelectionDirective,\r\n SendModalComponent,\r\n ContactsComponent,\r\n AddContactsComponent,\r\n ContactSendComponent,\r\n ExportImportComponent,\r\n SafeHTMLPipe,\r\n ConfirmModalComponent\r\n ],\r\n imports: [\r\n BrowserModule,\r\n AppRoutingModule,\r\n HttpClientModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient]\r\n }\r\n }),\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgSelectModule,\r\n ChartModule,\r\n PapaParseModule,\r\n ContextMenuModule.forRoot()\r\n ],\r\n providers: [\r\n Store,\r\n BackendService,\r\n ModalService,\r\n PaginationStore,\r\n MoneyToIntPipe,\r\n IntToMoneyPipe,\r\n { provide: HIGHCHARTS_MODULES, useFactory: highchartsFactory }\r\n // {provide: HIGHCHARTS_MODULES, useFactory: () => [ highstock, more, exporting ] }\r\n ],\r\n entryComponents: [\r\n ModalContainerComponent,\r\n SendModalComponent,\r\n ConfirmModalComponent\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","module.exports = \"
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n {{ wallet.name }}\\r\\n {{ 'BREADCRUMBS.ASSIGN_ALIAS' | translate }}\\r\\n
      \\r\\n \\r\\n
      \\r\\n\\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n {{ 'ASSIGN_ALIAS.FORM_ERRORS.NAME_REQUIRED' | translate }}\\r\\n
      \\r\\n
      6 && assignForm.get('name').value.length <= 25\\\">\\r\\n {{ 'ASSIGN_ALIAS.FORM_ERRORS.NAME_WRONG' | translate }}\\r\\n
      \\r\\n
      25\\\">\\r\\n {{ 'ASSIGN_ALIAS.FORM_ERRORS.NAME_LENGTH' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n {{ 'ASSIGN_ALIAS.FORM_ERRORS.NAME_EXISTS' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n {{ 'ASSIGN_ALIAS.FORM_ERRORS.NO_MONEY' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      = variablesService.maxCommentLength\\\">\\r\\n {{ 'ASSIGN_ALIAS.FORM_ERRORS.MAX_LENGTH' | translate }}\\r\\n
      \\r\\n
      \\r\\n\\r\\n
      {{ \\\"ASSIGN_ALIAS.COST\\\" | translate : {value: alias.price | intToMoney, currency: variablesService.defaultCurrency} }}
      \\r\\n\\r\\n
      \\r\\n \\r\\n
      \\r\\n\\r\\n
      \\r\\n\\r\\n
      \\r\\n\\r\\n\"","module.exports = \".form-assign {\\n margin: 2.4rem 0; }\\n .form-assign .alias-name {\\n width: 50%; }\\n .form-assign .alias-cost {\\n font-size: 1.3rem;\\n margin-top: 2rem; }\\n .form-assign .wrap-buttons {\\n display: flex;\\n justify-content: space-between;\\n margin: 2.5rem -0.7rem; }\\n .form-assign .wrap-buttons button {\\n margin: 0 0.7rem;\\n width: 15rem; }\\n .assign-alias-tooltip {\\n font-size: 1.3rem;\\n line-height: 2rem;\\n padding: 1rem 1.5rem;\\n max-width: 46rem; }\\n .has-no-edit-symbol {\\n position: relative;\\n width: 100%; }\\n .has-no-edit-symbol input {\\n padding-left: 2.35rem; }\\n .has-no-edit-symbol:after {\\n content: '@';\\n position: absolute;\\n display: inline-block;\\n top: 50%;\\n left: 1rem;\\n transform: translateY(-50%); }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXNzaWduLWFsaWFzL0Q6XFxQcm9qZWN0XFxXT1JLX05FV1xcemFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxhcHBcXGFzc2lnbi1hbGlhc1xcYXNzaWduLWFsaWFzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsZ0JBQWdCLEVBQUE7RUFEbEI7SUFJSSxVQUFVLEVBQUE7RUFKZDtJQVFJLGlCQUFpQjtJQUNqQixnQkFBZ0IsRUFBQTtFQVRwQjtJQWFJLGFBQWE7SUFDYiw4QkFBOEI7SUFDOUIsc0JBQXNCLEVBQUE7RUFmMUI7TUFrQk0sZ0JBQWdCO01BQ2hCLFlBQVksRUFBQTtFQUtsQjtFQUNFLGlCQUFpQjtFQUNqQixpQkFBaUI7RUFDakIsb0JBQW9CO0VBQ3BCLGdCQUFnQixFQUFBO0VBR2xCO0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVcsRUFBQTtFQUZiO0lBSUkscUJBQXFCLEVBQUE7RUFKekI7SUFPSSxZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLHFCQUFxQjtJQUNyQixRQUFRO0lBQ1IsVUFBVTtJQUNWLDJCQUEyQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvYXNzaWduLWFsaWFzL2Fzc2lnbi1hbGlhcy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5mb3JtLWFzc2lnbiB7XHJcbiAgbWFyZ2luOiAyLjRyZW0gMDtcclxuXHJcbiAgLmFsaWFzLW5hbWUge1xyXG4gICAgd2lkdGg6IDUwJTtcclxuICB9XHJcblxyXG4gIC5hbGlhcy1jb3N0IHtcclxuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gICAgbWFyZ2luLXRvcDogMnJlbTtcclxuICB9XHJcblxyXG4gIC53cmFwLWJ1dHRvbnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIG1hcmdpbjogMi41cmVtIC0wLjdyZW07XHJcblxyXG4gICAgYnV0dG9uIHtcclxuICAgICAgbWFyZ2luOiAwIDAuN3JlbTtcclxuICAgICAgd2lkdGg6IDE1cmVtO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmFzc2lnbi1hbGlhcy10b29sdGlwIHtcclxuICBmb250LXNpemU6IDEuM3JlbTtcclxuICBsaW5lLWhlaWdodDogMnJlbTtcclxuICBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcclxuICBtYXgtd2lkdGg6IDQ2cmVtO1xyXG59XHJcblxyXG4uaGFzLW5vLWVkaXQtc3ltYm9sIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaW5wdXQge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAyLjM1cmVtO1xyXG4gIH1cclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICdAJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogMXJlbTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICB9XHJcbn1cclxuIl19 */\"","import {Component, NgZone, OnInit, OnDestroy} from '@angular/core';\r\nimport {FormGroup, FormControl, Validators} from '@angular/forms';\r\nimport {Location} from '@angular/common';\r\nimport {Router} from '@angular/router';\r\nimport {BackendService} from '../_helpers/services/backend.service';\r\nimport {VariablesService} from '../_helpers/services/variables.service';\r\nimport {ModalService} from '../_helpers/services/modal.service';\r\nimport {Wallet} from '../_helpers/models/wallet.model';\r\nimport {MoneyToIntPipe} from '../_helpers/pipes/money-to-int.pipe';\r\nimport {IntToMoneyPipe} from '../_helpers/pipes/int-to-money.pipe';\r\nimport BigNumber from 'bignumber.js';\r\nimport {Subscription} from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-assign-alias',\r\n templateUrl: './assign-alias.component.html',\r\n styleUrls: ['./assign-alias.component.scss']\r\n})\r\nexport class AssignAliasComponent implements OnInit, OnDestroy {\r\n\r\n wallet: Wallet;\r\n assignForm = new FormGroup({\r\n name: new FormControl('', [Validators.required, Validators.pattern(/^@?[a-z0-9\\.\\-]{6,25}$/)]),\r\n comment: new FormControl('', [(g: FormControl) => {\r\n if (g.value > this.variablesService.maxCommentLength) {\r\n return {'maxLength': true};\r\n } else {\r\n return null;\r\n }\r\n }])\r\n });\r\n assignFormSubscription: Subscription;\r\n alias = {\r\n name: '',\r\n fee: this.variablesService.default_fee,\r\n price: new BigNumber(0),\r\n reward: '0',\r\n rewardOriginal: '0',\r\n comment: '',\r\n exists: false\r\n };\r\n canRegister = false;\r\n notEnoughMoney = false;\r\n\r\n constructor(\r\n private ngZone: NgZone,\r\n private location: Location,\r\n private router: Router,\r\n private backend: BackendService,\r\n public variablesService: VariablesService,\r\n private modalService: ModalService,\r\n private moneyToInt: MoneyToIntPipe,\r\n private intToMoney: IntToMoneyPipe\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.wallet = this.variablesService.currentWallet;\r\n this.assignFormSubscription = this.assignForm.get('name').valueChanges.subscribe(value => {\r\n this.canRegister = false;\r\n this.alias.exists = false;\r\n const newName = value.toLowerCase().replace('@', '');\r\n if (!(this.assignForm.controls['name'].errors && this.assignForm.controls['name'].errors.hasOwnProperty('pattern')) && newName.length >= 6 && newName.length <= 25) {\r\n this.backend.getAliasByName(newName, status => {\r\n this.ngZone.run(() => {\r\n this.alias.exists = status;\r\n });\r\n if (!status) {\r\n this.alias.price = new BigNumber(0);\r\n this.backend.getAliasCoast(newName, (statusPrice, dataPrice) => {\r\n this.ngZone.run(() => {\r\n if (statusPrice) {\r\n this.alias.price = BigNumber.sum(dataPrice['coast'], this.variablesService.default_fee_big);\r\n }\r\n this.notEnoughMoney = this.alias.price.isGreaterThan(this.wallet.unlocked_balance);\r\n this.alias.reward = this.intToMoney.transform(this.alias.price, false);\r\n this.alias.rewardOriginal = this.intToMoney.transform(dataPrice['coast'], false);\r\n this.canRegister = !this.notEnoughMoney;\r\n });\r\n });\r\n } else {\r\n this.notEnoughMoney = false;\r\n this.alias.reward = '0';\r\n this.alias.rewardOriginal = '0';\r\n }\r\n });\r\n } else {\r\n this.notEnoughMoney = false;\r\n this.alias.reward = '0';\r\n this.alias.rewardOriginal = '0';\r\n }\r\n this.alias.name = newName;\r\n });\r\n }\r\n\r\n assignAlias() {\r\n const alias = this.backend.getWalletAlias(this.wallet.address);\r\n if (alias.hasOwnProperty('name')) {\r\n this.modalService.prepareModal('info', 'ASSIGN_ALIAS.ONE_ALIAS');\r\n } else {\r\n this.alias.comment = this.assignForm.get('comment').value;\r\n this.backend.registerAlias(this.wallet.wallet_id, this.alias.name, this.wallet.address, this.alias.fee, this.alias.comment, this.alias.rewardOriginal, (status, data) => {\r\n if (status) {\r\n this.wallet.wakeAlias = true;\r\n this.modalService.prepareModal('info', 'ASSIGN_ALIAS.REQUEST_ADD_REG');\r\n this.ngZone.run(() => {\r\n this.router.navigate(['/wallet/' + this.wallet.wallet_id]);\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n back() {\r\n this.location.back();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.assignFormSubscription.unsubscribe();\r\n }\r\n}\r\n","module.exports = \"
      \\r\\n
      \\r\\n
      \\r\\n {{\\r\\n 'CONTACTS.TITLE' | translate\\r\\n }}\\r\\n {{ 'CONTACTS.SEND' | translate }}\\r\\n
      \\r\\n \\r\\n
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n\"","module.exports = \".wallets-selection {\\n display: flex;\\n align-items: center;\\n margin-top: 2rem; }\\n .wallets-selection .input-block {\\n width: 18rem; }\\n .wallets-selection button {\\n padding: 2rem;\\n background: transparent;\\n border: none;\\n outline: none; }\\n .input-block {\\n width: 44rem; }\\n .input-block input {\\n overflow: hidden;\\n text-overflow: ellipsis; }\\n .blue-button {\\n margin-top: 2.5rem;\\n width: 100%;\\n max-width: 18rem; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29udGFjdC1zZW5kL0Q6XFxQcm9qZWN0XFxXT1JLX05FV1xcemFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxhcHBcXGNvbnRhY3Qtc2VuZFxcY29udGFjdC1zZW5kLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQixnQkFBZ0IsRUFBQTtFQUhsQjtJQU1JLFlBQVksRUFBQTtFQU5oQjtJQVVJLGFBQWE7SUFDYix1QkFBdUI7SUFDdkIsWUFBWTtJQUNaLGFBQWEsRUFBQTtFQUlqQjtFQUNFLFlBQVksRUFBQTtFQURkO0lBSUksZ0JBQWdCO0lBQ2hCLHVCQUF1QixFQUFBO0VBSTNCO0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxnQkFBZ0IsRUFBQSIsImZpbGUiOiJzcmMvYXBwL2NvbnRhY3Qtc2VuZC9jb250YWN0LXNlbmQuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIud2FsbGV0cy1zZWxlY3Rpb24ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBtYXJnaW4tdG9wOiAycmVtO1xyXG4gIFxyXG4gIC5pbnB1dC1ibG9jayB7XHJcbiAgICB3aWR0aDogMThyZW07XHJcbiAgfVxyXG5cclxuICBidXR0b24ge1xyXG4gICAgcGFkZGluZzogMnJlbTtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi5pbnB1dC1ibG9jayB7XHJcbiAgd2lkdGg6IDQ0cmVtO1xyXG5cclxuICBpbnB1dCB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgfVxyXG59XHJcblxyXG4uYmx1ZS1idXR0b24ge1xyXG4gIG1hcmdpbi10b3A6IDIuNXJlbTtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXgtd2lkdGg6IDE4cmVtO1xyXG59XHJcblxyXG5cclxuIl19 */\"","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { Location } from '@angular/common';\r\nimport { VariablesService } from '../_helpers/services/variables.service';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\n\r\n@Component({\r\n selector: 'app-contact-send',\r\n templateUrl: './contact-send.component.html',\r\n styleUrls: ['./contact-send.component.scss']\r\n})\r\nexport class ContactSendComponent implements OnInit, OnDestroy {\r\n\r\n queryRouting;\r\n address;\r\n\r\n constructor(\r\n private location: Location,\r\n public variablesService: VariablesService,\r\n private route: ActivatedRoute\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.queryRouting = this.route.queryParams.subscribe(params => {\r\n if (params.address) {\r\n this.address = params.address;\r\n }\r\n });\r\n }\r\n\r\n goToWallet(id) {\r\n this.variablesService.setCurrentWallet(id);\r\n this.variablesService.currentWallet.send_data['address'] = this.address;\r\n }\r\n\r\n back() {\r\n this.location.back();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.queryRouting.unsubscribe();\r\n }\r\n\r\n}\r\n","module.exports = \"
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n\\r\\n

      {{ 'CONTACTS.TITLE' | translate }}

      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ 'CONTACTS.TABLE.NAME' | translate }}\\r\\n {{ 'CONTACTS.TABLE.ALIAS' | translate }}\\r\\n {{ 'CONTACTS.TABLE.ADDRESS' | translate }}\\r\\n {{ 'CONTACTS.TABLE.NOTES' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ contact.name }}\\r\\n \\r\\n \\r\\n \\r\\n {{ contact.alias }}\\r\\n \\r\\n \\r\\n \\r\\n {{ contact.address }}\\r\\n \\r\\n \\r\\n {{ contact.notes }}\\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n \\r\\n {{ 'CONTACTS.BUTTON.SEND' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n {{ 'CONTACTS.BUTTON.EDIT' | translate }}\\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
      \\r\\n {{ 'CONTACTS.TABLE.EMPTY' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n \\r\\n\\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\"","module.exports = \":host {\\n min-width: 95rem;\\n width: 100%;\\n height: 100%; }\\n\\n.head {\\n justify-content: flex-end; }\\n\\n.contacts-title {\\n font-size: 1.7rem; }\\n\\n.wrap-table {\\n margin: 1rem -3rem; }\\n\\n.wrap-table table tbody tr td {\\n padding: 0 3rem 0 1rem;\\n overflow: hidden;\\n text-overflow: ellipsis; }\\n\\n.wrap-table table tbody tr td:first-child {\\n max-width: 10rem;\\n padding: 0 3rem 0 3rem; }\\n\\n.wrap-table table tbody tr td:nth-child(2) {\\n max-width: 10rem; }\\n\\n.wrap-table table tbody tr td .alias {\\n cursor: pointer; }\\n\\n.wrap-table table tbody tr td .button-wrapper {\\n display: flex; }\\n\\n.wrap-table table tbody tr td .button-wrapper button {\\n display: flex;\\n align-items: center;\\n background: transparent;\\n border: none;\\n font-size: 1.3rem;\\n font-weight: 400;\\n line-height: 3rem;\\n outline: none;\\n padding: 0;\\n height: auto;\\n margin-right: 1.8rem; }\\n\\n.wrap-table table tbody tr td .button-wrapper button .icon {\\n cursor: pointer;\\n margin-right: 0.8rem;\\n width: 1.7rem;\\n height: 1.7rem; }\\n\\n.wrap-table table tbody tr td .button-wrapper button .icon.edit {\\n -webkit-mask: url('edit.svg') no-repeat center;\\n mask: url('edit.svg') no-repeat center; }\\n\\n.wrap-table table tbody tr td .button-wrapper button .icon.transfer {\\n -webkit-mask: url('send.svg') no-repeat center;\\n mask: url('send.svg') no-repeat center; }\\n\\n.wrap-table table tbody tr td .button-wrapper button .icon.delete {\\n -webkit-mask: url('delete.svg') no-repeat center;\\n mask: url('delete.svg') no-repeat center; }\\n\\n.wrap-table .empty-list {\\n margin: 2.5rem 3rem; }\\n\\n.blue-button {\\n width: 100%;\\n max-width: 18rem;\\n margin-top: 3rem; }\\n\\n.footer {\\n position: absolute;\\n bottom: 3rem;\\n font-size: 1.3rem; }\\n\\n.footer .import-btn {\\n display: flex;\\n align-items: center;\\n background-color: transparent;\\n font-size: inherit;\\n font-weight: 400;\\n line-height: 1.3rem;\\n padding: 0;\\n height: auto; }\\n\\n.footer .import-btn .icon {\\n margin-right: 0.7rem;\\n -webkit-mask: url('import-export.svg') no-repeat center;\\n mask: url('import-export.svg') no-repeat center;\\n width: 0.9rem;\\n height: 0.9rem; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29udGFjdHMvRDpcXFByb2plY3RcXFdPUktfTkVXXFx6YW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFwcFxcY29udGFjdHNcXGNvbnRhY3RzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsZ0JBQWdCO0VBQ2hCLFdBQVc7RUFDWCxZQUFZLEVBQUE7O0FBR2Q7RUFDRSx5QkFBeUIsRUFBQTs7QUFHM0I7RUFDRSxpQkFBaUIsRUFBQTs7QUFHbkI7RUFDRSxrQkFBa0IsRUFBQTs7QUFEcEI7SUFVVSxzQkFBc0I7SUFDdEIsZ0JBQWdCO0lBQ2hCLHVCQUF1QixFQUFBOztBQVpqQztNQWVZLGdCQUFnQjtNQUNoQixzQkFBc0IsRUFBQTs7QUFoQmxDO01Bb0JZLGdCQUFnQixFQUFBOztBQXBCNUI7TUF3QlksZUFBZSxFQUFBOztBQXhCM0I7TUE0QlksYUFBYSxFQUFBOztBQTVCekI7UUErQmMsYUFBYTtRQUNiLG1CQUFtQjtRQUNuQix1QkFBdUI7UUFDdkIsWUFBWTtRQUNaLGlCQUFpQjtRQUNqQixnQkFBZ0I7UUFDaEIsaUJBQWlCO1FBQ2pCLGFBQWE7UUFDYixVQUFVO1FBQ1YsWUFBWTtRQUNaLG9CQUFvQixFQUFBOztBQXpDbEM7VUE0Q2dCLGVBQWU7VUFDZixvQkFBb0I7VUFDcEIsYUFBYTtVQUNiLGNBQWMsRUFBQTs7QUEvQzlCO1lBa0RrQiw4Q0FBdUQ7b0JBQXZELHNDQUF1RCxFQUFBOztBQWxEekU7WUFzRGtCLDhDQUF1RDtvQkFBdkQsc0NBQXVELEVBQUE7O0FBdER6RTtZQTBEa0IsZ0RBQXlEO29CQUF6RCx3Q0FBeUQsRUFBQTs7QUExRDNFO0lBcUVJLG1CQUFtQixFQUFBOztBQUl2QjtFQUNFLFdBQVc7RUFDWCxnQkFBZ0I7RUFDaEIsZ0JBQWdCLEVBQUE7O0FBSWxCO0VBQ0Usa0JBQWtCO0VBQ2xCLFlBQVk7RUFDWixpQkFBaUIsRUFBQTs7QUFIbkI7SUFNSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLDZCQUE2QjtJQUM3QixrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLG1CQUFtQjtJQUNuQixVQUFVO0lBQ1YsWUFBWSxFQUFBOztBQWJoQjtNQWdCTSxvQkFBb0I7TUFDcEIsdURBQWdFO2NBQWhFLCtDQUFnRTtNQUNoRSxhQUFhO01BQ2IsY0FBYyxFQUFBIiwiZmlsZSI6InNyYy9hcHAvY29udGFjdHMvY29udGFjdHMuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgbWluLXdpZHRoOiA5NXJlbTtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi5oZWFkIHtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG59XHJcblxyXG4uY29udGFjdHMtdGl0bGUge1xyXG4gIGZvbnQtc2l6ZTogMS43cmVtO1xyXG59XHJcblxyXG4ud3JhcC10YWJsZSB7XHJcbiAgbWFyZ2luOiAxcmVtIC0zcmVtO1xyXG5cclxuICB0YWJsZSB7XHJcblxyXG4gICAgdGJvZHl7XHJcblxyXG4gICAgICB0ciB7XHJcblxyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgIHBhZGRpbmc6IDAgM3JlbSAwIDFyZW07XHJcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblxyXG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTByZW07XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgM3JlbSAwIDNyZW07XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwcmVtO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5hbGlhcyB7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuYnV0dG9uLXdyYXBwZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4OyAgXHJcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogM3JlbTtcclxuICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMS44cmVtO1xyXG4gICAgICAgICAgXHJcbiAgICAgICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjhyZW07XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMS43cmVtO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxLjdyZW07XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgJi5lZGl0IHtcclxuICAgICAgICAgICAgICAgICAgbWFzazogdXJsKC4uLy4uL2Fzc2V0cy9pY29ucy9lZGl0LnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAmLnRyYW5zZmVyIHtcclxuICAgICAgICAgICAgICAgICAgbWFzazogdXJsKC4uLy4uL2Fzc2V0cy9pY29ucy9zZW5kLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAgICAgICAgICYuZGVsZXRlIHtcclxuICAgICAgICAgICAgICAgICAgbWFzazogdXJsKC4uLy4uL2Fzc2V0cy9pY29ucy9kZWxldGUuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAuZW1wdHktbGlzdCB7XHJcbiAgICBtYXJnaW46IDIuNXJlbSAzcmVtO1xyXG4gIH0gIFxyXG59XHJcblxyXG4uYmx1ZS1idXR0b24ge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1heC13aWR0aDogMThyZW07XHJcbiAgbWFyZ2luLXRvcDogM3JlbTtcclxufVxyXG5cclxuXHJcbi5mb290ZXIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBib3R0b206IDNyZW07XHJcbiAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgXHJcbiAgLmltcG9ydC1idG4ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICBsaW5lLWhlaWdodDogMS4zcmVtO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGhlaWdodDogYXV0bztcclxuXHJcbiAgICAuaWNvbiB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMC43cmVtO1xyXG4gICAgICBtYXNrOiB1cmwoLi4vLi4vYXNzZXRzL2ljb25zL2ltcG9ydC1leHBvcnQuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgICB3aWR0aDogMC45cmVtO1xyXG4gICAgICBoZWlnaHQ6IDAuOXJlbTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19 */\"","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\r\nimport { Location } from '@angular/common';\r\nimport { VariablesService } from '../_helpers/services/variables.service';\r\nimport { BackendService } from '../_helpers/services/backend.service';\r\n\r\n@Component({\r\n selector: 'app-contacts',\r\n templateUrl: './contacts.component.html',\r\n styleUrls: ['./contacts.component.scss']\r\n})\r\nexport class ContactsComponent implements OnInit {\r\n calculatedWidth = [];\r\n @ViewChild('head') head: ElementRef;\r\n\r\n constructor(\r\n private location: Location,\r\n public variablesService: VariablesService,\r\n private backend: BackendService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.backend.getContactAlias();\r\n }\r\n\r\n delete(index: number) {\r\n if (this.variablesService.appPass) {\r\n this.variablesService.contacts.splice(index, 1);\r\n this.backend.storeSecureAppData();\r\n }\r\n }\r\n\r\n calculateWidth() {\r\n this.calculatedWidth = [];\r\n this.calculatedWidth.push(\r\n this.head.nativeElement.childNodes[0].clientWidth\r\n );\r\n this.calculatedWidth.push(\r\n this.head.nativeElement.childNodes[1].clientWidth +\r\n this.head.nativeElement.childNodes[2].clientWidth\r\n );\r\n this.calculatedWidth.push(\r\n this.head.nativeElement.childNodes[3].clientWidth\r\n );\r\n this.calculatedWidth.push(\r\n this.head.nativeElement.childNodes[4].clientWidth\r\n );\r\n }\r\n\r\n // openInBrowser(alias: string) {\r\n // if (alias !== null) {\r\n // this.backend.openUrlInBrowser(\r\n // `explorer.zano.org/aliases/${alias.slice(1)}#modalOpen`\r\n // );\r\n // }\r\n // }\r\n\r\n back() {\r\n this.location.back();\r\n }\r\n}\r\n","module.exports = \"
      \\r\\n {{ 'CONTRACTS.EMPTY' | translate }}\\r\\n
      \\r\\n\\r\\n
      \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
      {{ 'CONTRACTS.CONTRACTS' | translate }}{{ 'CONTRACTS.DATE' | translate }}{{ 'CONTRACTS.AMOUNT' | translate }}{{ 'CONTRACTS.STATUS' | translate }}{{ 'CONTRACTS.COMMENTS' | translate }}
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n {{item.private_detailes.t}}\\r\\n
      \\r\\n
      \\r\\n
      {{item.timestamp * 1000 | date : 'dd-MM-yyyy HH:mm'}}
      \\r\\n
      \\r\\n
      {{item.private_detailes.to_pay | intToMoney}} {{variablesService.defaultCurrency}}
      \\r\\n
      \\r\\n
      \\r\\n {{item.state | contractStatusMessages : item.is_a}}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n {{item.private_detailes.c}}\\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n\"","module.exports = \":host {\\n width: 100%; }\\n\\n.empty-contracts {\\n font-size: 1.5rem; }\\n\\n.wrap-table {\\n margin: -3rem -3rem 0 -3rem;\\n overflow-x: auto; }\\n\\n.wrap-table table tbody tr {\\n cursor: pointer;\\n outline: none !important; }\\n\\n.wrap-table table tbody tr .contract {\\n position: relative;\\n display: flex;\\n align-items: center; }\\n\\n.wrap-table table tbody tr .contract .icon {\\n flex-shrink: 0; }\\n\\n.wrap-table table tbody tr .contract .icon.new, .wrap-table table tbody tr .contract .icon.alert {\\n position: absolute;\\n top: 0; }\\n\\n.wrap-table table tbody tr .contract .icon.new {\\n left: -2.3rem;\\n -webkit-mask: url('new.svg') no-repeat center;\\n mask: url('new.svg') no-repeat center;\\n width: 1.7rem;\\n height: 1.7rem; }\\n\\n.wrap-table table tbody tr .contract .icon.alert {\\n top: 0.2rem;\\n left: -2.1rem;\\n -webkit-mask: url('alert.svg') no-repeat center;\\n mask: url('alert.svg') no-repeat center;\\n width: 1.2rem;\\n height: 1.2rem; }\\n\\n.wrap-table table tbody tr .contract .icon.purchase, .wrap-table table tbody tr .contract .icon.sell {\\n margin-right: 1rem;\\n width: 1.5rem;\\n height: 1.5rem; }\\n\\n.wrap-table table tbody tr .contract .icon.purchase {\\n -webkit-mask: url('purchase.svg') no-repeat center;\\n mask: url('purchase.svg') no-repeat center; }\\n\\n.wrap-table table tbody tr .contract .icon.sell {\\n -webkit-mask: url('sell.svg') no-repeat center;\\n mask: url('sell.svg') no-repeat center; }\\n\\n.wrap-table table tbody tr .contract span {\\n text-overflow: ellipsis;\\n overflow: hidden; }\\n\\n.wrap-table table tbody tr .status, .wrap-table table tbody tr .comment {\\n display: inline-block;\\n text-overflow: ellipsis;\\n overflow: hidden;\\n max-width: 100%; }\\n\\n.contracts-buttons {\\n display: flex;\\n margin: 3rem 0;\\n width: 50%; }\\n\\n.contracts-buttons button {\\n flex: 0 1 50%;\\n margin-right: 1.5rem; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29udHJhY3RzL0Q6XFxQcm9qZWN0XFxXT1JLX05FV1xcemFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxhcHBcXGNvbnRyYWN0c1xcY29udHJhY3RzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsV0FBVyxFQUFBOztBQUdiO0VBQ0UsaUJBQWlCLEVBQUE7O0FBR25CO0VBQ0UsMkJBQTJCO0VBQzNCLGdCQUFnQixFQUFBOztBQUZsQjtJQVNRLGVBQWU7SUFDZix3QkFBd0IsRUFBQTs7QUFWaEM7TUFhVSxrQkFBa0I7TUFDbEIsYUFBYTtNQUNiLG1CQUFtQixFQUFBOztBQWY3QjtRQWtCWSxjQUFjLEVBQUE7O0FBbEIxQjtVQXFCYyxrQkFBa0I7VUFDbEIsTUFBTSxFQUFBOztBQXRCcEI7VUEwQmMsYUFBYTtVQUNiLDZDQUFzRDtrQkFBdEQscUNBQXNEO1VBQ3RELGFBQWE7VUFDYixjQUFjLEVBQUE7O0FBN0I1QjtVQWlDYyxXQUFXO1VBQ1gsYUFBYTtVQUNiLCtDQUF3RDtrQkFBeEQsdUNBQXdEO1VBQ3hELGFBQWE7VUFDYixjQUFjLEVBQUE7O0FBckM1QjtVQXlDYyxrQkFBa0I7VUFDbEIsYUFBYTtVQUNiLGNBQWMsRUFBQTs7QUEzQzVCO1VBK0NjLGtEQUEyRDtrQkFBM0QsMENBQTJELEVBQUE7O0FBL0N6RTtVQW1EYyw4Q0FBdUQ7a0JBQXZELHNDQUF1RCxFQUFBOztBQW5EckU7UUF3RFksdUJBQXVCO1FBQ3ZCLGdCQUFnQixFQUFBOztBQXpENUI7TUE4RFUscUJBQXFCO01BQ3JCLHVCQUF1QjtNQUN2QixnQkFBZ0I7TUFDaEIsZUFBZSxFQUFBOztBQU96QjtFQUNFLGFBQWE7RUFDYixjQUFjO0VBQ2QsVUFBVSxFQUFBOztBQUhaO0lBTUksYUFBYTtJQUNiLG9CQUFvQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvY29udHJhY3RzL2NvbnRyYWN0cy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmVtcHR5LWNvbnRyYWN0cyB7XHJcbiAgZm9udC1zaXplOiAxLjVyZW07XHJcbn1cclxuXHJcbi53cmFwLXRhYmxlIHtcclxuICBtYXJnaW46IC0zcmVtIC0zcmVtIDAgLTNyZW07XHJcbiAgb3ZlcmZsb3cteDogYXV0bztcclxuXHJcbiAgdGFibGUge1xyXG5cclxuICAgIHRib2R5IHtcclxuXHJcbiAgICAgIHRyIHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAuY29udHJhY3Qge1xyXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcclxuXHJcbiAgICAgICAgICAgICYubmV3LCAmLmFsZXJ0IHtcclxuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLm5ldyB7XHJcbiAgICAgICAgICAgICAgbGVmdDogLTIuM3JlbTtcclxuICAgICAgICAgICAgICBtYXNrOiB1cmwoLi4vLi4vYXNzZXRzL2ljb25zL25ldy5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IDEuN3JlbTtcclxuICAgICAgICAgICAgICBoZWlnaHQ6IDEuN3JlbTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5hbGVydCB7XHJcbiAgICAgICAgICAgICAgdG9wOiAwLjJyZW07XHJcbiAgICAgICAgICAgICAgbGVmdDogLTIuMXJlbTtcclxuICAgICAgICAgICAgICBtYXNrOiB1cmwoLi4vLi4vYXNzZXRzL2ljb25zL2FsZXJ0LnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgICAgICAgICB3aWR0aDogMS4ycmVtO1xyXG4gICAgICAgICAgICAgIGhlaWdodDogMS4ycmVtO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLnB1cmNoYXNlLCAmLnNlbGwge1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcclxuICAgICAgICAgICAgICB3aWR0aDogMS41cmVtO1xyXG4gICAgICAgICAgICAgIGhlaWdodDogMS41cmVtO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLnB1cmNoYXNlIHtcclxuICAgICAgICAgICAgICBtYXNrOiB1cmwoLi4vLi4vYXNzZXRzL2ljb25zL3B1cmNoYXNlLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5zZWxsIHtcclxuICAgICAgICAgICAgICBtYXNrOiB1cmwoLi4vLi4vYXNzZXRzL2ljb25zL3NlbGwuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnN0YXR1cywgLmNvbW1lbnQge1xyXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNvbnRyYWN0cy1idXR0b25zIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIG1hcmdpbjogM3JlbSAwO1xyXG4gIHdpZHRoOiA1MCU7XHJcblxyXG4gIGJ1dHRvbiB7XHJcbiAgICBmbGV4OiAwIDEgNTAlO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XHJcbiAgfVxyXG59XHJcbiJdfQ== */\"","import {Component, OnInit, OnDestroy} from '@angular/core';\r\nimport {ActivatedRoute} from '@angular/router';\r\nimport {VariablesService} from '../_helpers/services/variables.service';\r\n\r\n@Component({\r\n selector: 'app-contracts',\r\n templateUrl: './contracts.component.html',\r\n styleUrls: ['./contracts.component.scss']\r\n})\r\nexport class ContractsComponent implements OnInit, OnDestroy {\r\n\r\n parentRouting;\r\n walletId;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n public variablesService: VariablesService\r\n ) {\r\n }\r\n\r\n public get sortedArrayContracts(): any[] {\r\n return this.variablesService.currentWallet.contracts.sort((a, b) => {\r\n if (a.is_new < b.is_new) {\r\n return 1;\r\n }\r\n if (a.is_new > b.is_new) {\r\n return -1;\r\n }\r\n if (a.timestamp < b.timestamp) {\r\n return 1;\r\n }\r\n if (a.timestamp > b.timestamp) {\r\n return -1;\r\n }\r\n if (a.contract_id < b.contract_id) {\r\n return 1;\r\n }\r\n if (a.contract_id > b.contract_id) {\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.parentRouting = this.route.parent.params.subscribe(params => {\r\n if (params.hasOwnProperty('id')) {\r\n this.walletId = params['id'];\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.parentRouting.unsubscribe();\r\n }\r\n\r\n}\r\n","module.exports = \"
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n {{ 'BREADCRUMBS.ADD_WALLET' | translate }}\\r\\n {{ 'BREADCRUMBS.CREATE_WALLET' | translate }}\\r\\n
      \\r\\n \\r\\n
      \\r\\n\\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'CREATE_WALLET.FORM_ERRORS.NAME_REQUIRED' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'CREATE_WALLET.FORM_ERRORS.NAME_DUPLICATE' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      = variablesService.maxWalletNameLength\\\">\\r\\n {{ 'CREATE_WALLET.FORM_ERRORS.MAX_LENGTH' | translate }}\\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'ERRORS.WRONG_PASSWORD' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'CREATE_WALLET.FORM_ERRORS.CONFIRM_NOT_MATCH' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n\\r\\n
      \\r\\n\\r\\n
      \\r\\n\\r\\n\\r\\n\"","module.exports = \":host {\\n position: relative; }\\n\\n.form-create {\\n margin: 2.4rem 0;\\n width: 50%; }\\n\\n.form-create .wrap-buttons {\\n display: flex;\\n margin: 2.5rem -0.7rem; }\\n\\n.form-create .wrap-buttons button {\\n margin: 0 0.7rem; }\\n\\n.form-create .wrap-buttons button.transparent-button {\\n flex-basis: 50%; }\\n\\n.form-create .wrap-buttons button.select-button {\\n flex-basis: 60%; }\\n\\n.form-create .wrap-buttons button.create-button {\\n flex: 1 1 50%; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY3JlYXRlLXdhbGxldC9EOlxcUHJvamVjdFxcV09SS19ORVdcXHphbm9cXHNyY1xcZ3VpXFxxdC1kYWVtb25cXGh0bWxfc291cmNlL3NyY1xcYXBwXFxjcmVhdGUtd2FsbGV0XFxjcmVhdGUtd2FsbGV0LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0Usa0JBQWtCLEVBQUE7O0FBR3BCO0VBQ0UsZ0JBQWdCO0VBQ2hCLFVBQVUsRUFBQTs7QUFGWjtJQUtJLGFBQWE7SUFDYixzQkFBc0IsRUFBQTs7QUFOMUI7TUFTTSxnQkFBZ0IsRUFBQTs7QUFUdEI7UUFZUSxlQUFlLEVBQUE7O0FBWnZCO1FBZ0JRLGVBQWUsRUFBQTs7QUFoQnZCO1FBb0JRLGFBQWEsRUFBQSIsImZpbGUiOiJzcmMvYXBwL2NyZWF0ZS13YWxsZXQvY3JlYXRlLXdhbGxldC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5mb3JtLWNyZWF0ZSB7XHJcbiAgbWFyZ2luOiAyLjRyZW0gMDtcclxuICB3aWR0aDogNTAlO1xyXG5cclxuICAud3JhcC1idXR0b25zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBtYXJnaW46IDIuNXJlbSAtMC43cmVtO1xyXG5cclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgIG1hcmdpbjogMCAwLjdyZW07XHJcblxyXG4gICAgICAmLnRyYW5zcGFyZW50LWJ1dHRvbiB7XHJcbiAgICAgICAgZmxleC1iYXNpczogNTAlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLnNlbGVjdC1idXR0b24ge1xyXG4gICAgICAgIGZsZXgtYmFzaXM6IDYwJTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi5jcmVhdGUtYnV0dG9uIHtcclxuICAgICAgICBmbGV4OiAxIDEgNTAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ== */\"","import {Component, NgZone, OnInit} from '@angular/core';\r\nimport {FormGroup, FormControl, Validators} from '@angular/forms';\r\nimport {BackendService} from '../_helpers/services/backend.service';\r\nimport {VariablesService} from '../_helpers/services/variables.service';\r\nimport {ModalService} from '../_helpers/services/modal.service';\r\nimport {Router} from '@angular/router';\r\nimport {Wallet} from '../_helpers/models/wallet.model';\r\nimport {TranslateService} from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-create-wallet',\r\n templateUrl: './create-wallet.component.html',\r\n styleUrls: ['./create-wallet.component.scss']\r\n})\r\nexport class CreateWalletComponent implements OnInit {\r\n\r\n createForm = new FormGroup({\r\n name: new FormControl('', [Validators.required, (g: FormControl) => {\r\n for (let i = 0; i < this.variablesService.wallets.length; i++) {\r\n if (g.value === this.variablesService.wallets[i].name) {\r\n return {'duplicate': true};\r\n }\r\n }\r\n return null;\r\n }]),\r\n password: new FormControl('', Validators.pattern(this.variablesService.pattern)),\r\n confirm: new FormControl('')\r\n }, function (g: FormGroup) {\r\n return g.get('password').value === g.get('confirm').value ? null : {'confirm_mismatch': true};\r\n });\r\n\r\n wallet = {\r\n id: ''\r\n };\r\n\r\n walletSaved = false;\r\n walletSavedName = '';\r\n progressWidth = '9rem';\r\n\r\n constructor(\r\n private router: Router,\r\n private backend: BackendService,\r\n public variablesService: VariablesService,\r\n private modalService: ModalService,\r\n private ngZone: NgZone,\r\n private translate: TranslateService\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n createWallet() {\r\n this.ngZone.run(() => {\r\n this.progressWidth = '100%';\r\n this.router.navigate(['/seed-phrase'], {queryParams: {wallet_id: this.wallet.id}});\r\n });\r\n }\r\n\r\n saveWallet() {\r\n if (this.createForm.valid && this.createForm.get('name').value.length <= this.variablesService.maxWalletNameLength) {\r\n this.backend.saveFileDialog(this.translate.instant('CREATE_WALLET.TITLE_SAVE'), '*', this.variablesService.settings.default_path, (file_status, file_data) => {\r\n if (file_status) {\r\n this.variablesService.settings.default_path = file_data.path.substr(0, file_data.path.lastIndexOf('/'));\r\n this.walletSavedName = file_data.path.substr(file_data.path.lastIndexOf('/') + 1, file_data.path.length - 1);\r\n this.backend.generateWallet(file_data.path, this.createForm.get('password').value, (generate_status, generate_data, errorCode) => {\r\n if (generate_status) {\r\n this.wallet.id = generate_data.wallet_id;\r\n this.variablesService.opening_wallet = new Wallet(\r\n generate_data.wallet_id,\r\n this.createForm.get('name').value,\r\n this.createForm.get('password').value,\r\n generate_data['wi'].path,\r\n generate_data['wi'].address,\r\n generate_data['wi'].balance,\r\n generate_data['wi'].unlocked_balance,\r\n generate_data['wi'].mined_total,\r\n generate_data['wi'].tracking_hey\r\n );\r\n this.variablesService.opening_wallet.alias = this.backend.getWalletAlias(generate_data['wi'].address);\r\n this.variablesService.opening_wallet.total_history_item = 0;\r\n this.variablesService.opening_wallet.pages = new Array(1).fill(1);\r\n this.variablesService.opening_wallet.totalPages = 1;\r\n this.variablesService.opening_wallet.currentPage = 1;\r\n this.ngZone.run(() => {\r\n this.walletSaved = true;\r\n this.progressWidth = '33%';\r\n });\r\n } else {\r\n if (errorCode && errorCode === 'ALREADY_EXISTS') {\r\n this.modalService.prepareModal('error', 'CREATE_WALLET.ERROR_CANNOT_SAVE_TOP');\r\n } else {\r\n this.modalService.prepareModal('error', 'CREATE_WALLET.ERROR_CANNOT_SAVE_SYSTEM');\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n}\r\n","module.exports = \"
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n {{ wallet.name }}\\r\\n {{ 'BREADCRUMBS.EDIT_ALIAS' | translate }}\\r\\n
      \\r\\n \\r\\n
      \\r\\n\\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      0 && notEnoughMoney\\\">\\r\\n {{ 'EDIT_ALIAS.FORM_ERRORS.NO_MONEY' | translate }}\\r\\n
      \\r\\n
      = variablesService.maxCommentLength\\\">\\r\\n {{ 'EDIT_ALIAS.FORM_ERRORS.MAX_LENGTH' | translate }}\\r\\n
      \\r\\n
      \\r\\n\\r\\n
      {{ \\\"EDIT_ALIAS.COST\\\" | translate : {value: variablesService.default_fee, currency: variablesService.defaultCurrency} }}
      \\r\\n\\r\\n
      \\r\\n \\r\\n
      \\r\\n\\r\\n
      \\r\\n\\r\\n
      \\r\\n\\r\\n\\r\\n\"","module.exports = \".form-edit {\\n margin: 2.4rem 0; }\\n .form-edit .alias-name {\\n width: 50%; }\\n .form-edit .alias-cost {\\n font-size: 1.3rem;\\n margin-top: 2rem; }\\n .form-edit .wrap-buttons {\\n display: flex;\\n justify-content: space-between;\\n margin: 2.5rem -0.7rem; }\\n .form-edit .wrap-buttons button {\\n margin: 0 0.7rem;\\n width: 15rem; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZWRpdC1hbGlhcy9EOlxcUHJvamVjdFxcV09SS19ORVdcXHphbm9cXHNyY1xcZ3VpXFxxdC1kYWVtb25cXGh0bWxfc291cmNlL3NyY1xcYXBwXFxlZGl0LWFsaWFzXFxlZGl0LWFsaWFzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsZ0JBQWdCLEVBQUE7RUFEbEI7SUFJSSxVQUFVLEVBQUE7RUFKZDtJQVFJLGlCQUFpQjtJQUNqQixnQkFBZ0IsRUFBQTtFQVRwQjtJQWFJLGFBQWE7SUFDYiw4QkFBOEI7SUFDOUIsc0JBQXNCLEVBQUE7RUFmMUI7TUFrQk0sZ0JBQWdCO01BQ2hCLFlBQVksRUFBQSIsImZpbGUiOiJzcmMvYXBwL2VkaXQtYWxpYXMvZWRpdC1hbGlhcy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5mb3JtLWVkaXQge1xyXG4gIG1hcmdpbjogMi40cmVtIDA7XHJcblxyXG4gIC5hbGlhcy1uYW1lIHtcclxuICAgIHdpZHRoOiA1MCU7XHJcbiAgfVxyXG5cclxuICAuYWxpYXMtY29zdCB7XHJcbiAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgIG1hcmdpbi10b3A6IDJyZW07XHJcbiAgfVxyXG5cclxuICAud3JhcC1idXR0b25zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBtYXJnaW46IDIuNXJlbSAtMC43cmVtO1xyXG5cclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgIG1hcmdpbjogMCAwLjdyZW07XHJcbiAgICAgIHdpZHRoOiAxNXJlbTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19 */\"","import {Component, NgZone, OnInit} from '@angular/core';\r\nimport {Location} from '@angular/common';\r\nimport {Router} from '@angular/router';\r\nimport {BackendService} from '../_helpers/services/backend.service';\r\nimport {VariablesService} from '../_helpers/services/variables.service';\r\nimport {ModalService} from '../_helpers/services/modal.service';\r\nimport {Wallet} from '../_helpers/models/wallet.model';\r\n\r\n@Component({\r\n selector: 'app-edit-alias',\r\n templateUrl: './edit-alias.component.html',\r\n styleUrls: ['./edit-alias.component.scss']\r\n})\r\nexport class EditAliasComponent implements OnInit {\r\n\r\n wallet: Wallet;\r\n alias: any;\r\n oldAliasComment: string;\r\n notEnoughMoney: boolean;\r\n requestProcessing = false;\r\n\r\n constructor(\r\n private location: Location,\r\n private router: Router,\r\n private backend: BackendService,\r\n public variablesService: VariablesService,\r\n private modalService: ModalService,\r\n private ngZone: NgZone\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.wallet = this.variablesService.currentWallet;\r\n const alias = this.backend.getWalletAlias(this.wallet.address);\r\n this.alias = {\r\n name: alias.name,\r\n address: alias.address,\r\n comment: alias.comment\r\n };\r\n this.oldAliasComment = alias.comment;\r\n this.notEnoughMoney = this.wallet.unlocked_balance.isLessThan(this.variablesService.default_fee_big);\r\n }\r\n\r\n updateAlias() {\r\n if (this.requestProcessing || this.notEnoughMoney || this.oldAliasComment === this.alias.comment || this.alias.comment.length > this.variablesService.maxCommentLength) {\r\n return;\r\n }\r\n this.requestProcessing = true;\r\n this.backend.updateAlias(this.wallet.wallet_id, this.alias, this.variablesService.default_fee, (status) => {\r\n if (status) {\r\n this.modalService.prepareModal('success', '');\r\n this.wallet.alias['comment'] = this.alias.comment;\r\n this.ngZone.run(() => {\r\n this.router.navigate(['/wallet/' + this.wallet.wallet_id]);\r\n });\r\n }\r\n this.requestProcessing = false;\r\n });\r\n }\r\n\r\n back() {\r\n this.location.back();\r\n }\r\n}\r\n","module.exports = \"
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n\\r\\n

      {{ 'CONTACTS.IMPORT_EXPORT' | translate }}

      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\"","module.exports = \":host {\\n width: 100%; }\\n\\n.head {\\n justify-content: flex-end; }\\n\\n.contacts-title {\\n font-size: 1.7rem;\\n margin-bottom: 1rem; }\\n\\n.btn-wrapper {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n margin: 0 -0.5rem;\\n padding: 1.5rem 0; }\\n\\n.btn-wrapper button {\\n flex: 1 0 auto;\\n margin: 0 0.5rem; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXhwb3J0LWltcG9ydC9EOlxcUHJvamVjdFxcV09SS19ORVdcXHphbm9cXHNyY1xcZ3VpXFxxdC1kYWVtb25cXGh0bWxfc291cmNlL3NyY1xcYXBwXFxleHBvcnQtaW1wb3J0XFxleHBvcnQtaW1wb3J0LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsV0FBVyxFQUFBOztBQUdiO0VBQ0UseUJBQXlCLEVBQUE7O0FBRzNCO0VBQ0UsaUJBQWlCO0VBQ2pCLG1CQUFtQixFQUFBOztBQUdyQjtFQUNFLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsOEJBQThCO0VBQzlCLGlCQUFpQjtFQUNqQixpQkFBaUIsRUFBQTs7QUFMbkI7SUFRSSxjQUFjO0lBQ2QsZ0JBQWdCLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9leHBvcnQtaW1wb3J0L2V4cG9ydC1pbXBvcnQuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5oZWFkIHtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG59XHJcblxyXG4uY29udGFjdHMtdGl0bGUge1xyXG4gIGZvbnQtc2l6ZTogMS43cmVtO1xyXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbn1cclxuXHJcbi5idG4td3JhcHBlciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBtYXJnaW46IDAgLTAuNXJlbTtcclxuICBwYWRkaW5nOiAxLjVyZW0gMDtcclxuXHJcbiAgYnV0dG9uIHtcclxuICAgIGZsZXg6IDEgMCBhdXRvO1xyXG4gICAgbWFyZ2luOiAwIDAuNXJlbTtcclxuICB9XHJcbn0iXX0= */\"","import { Component, OnInit, NgZone } from '@angular/core';\r\nimport { Location } from '@angular/common';\r\nimport { BackendService } from '../_helpers/services/backend.service';\r\nimport { VariablesService } from '../_helpers/services/variables.service';\r\nimport { Contact } from '../_helpers/models/contact.model';\r\nimport { ModalService } from '../_helpers/services/modal.service';\r\nimport { Papa } from 'ngx-papaparse';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-export-import',\r\n templateUrl: './export-import.component.html',\r\n styleUrls: ['./export-import.component.scss']\r\n})\r\nexport class ExportImportComponent implements OnInit {\r\n csvContent;\r\n\r\n constructor(\r\n private location: Location,\r\n private variablesService: VariablesService,\r\n private backend: BackendService,\r\n private modalService: ModalService,\r\n private papa: Papa,\r\n private translate: TranslateService,\r\n private router: Router,\r\n private ngZone: NgZone\r\n ) {}\r\n\r\n ngOnInit() {}\r\n\r\n import() {\r\n this.backend.openFileDialog(\r\n '',\r\n '*',\r\n this.variablesService.settings.default_path,\r\n (file_status, file_data) => {\r\n if (file_status) {\r\n this.variablesService.settings.default_path = file_data.path.substr(\r\n 0,\r\n file_data.path.lastIndexOf('/')\r\n );\r\n if (this.isValid(file_data.path)) {\r\n this.backend.loadFile(file_data.path, (status, data) => {\r\n if (!status) {\r\n this.modalService.prepareModal(\r\n 'error',\r\n 'CONTACTS.ERROR_IMPORT_EMPTY'\r\n );\r\n } else {\r\n const options = {\r\n header: true\r\n };\r\n const elements = this.papa.parse(data, options);\r\n const isArray = Array.isArray(elements.data);\r\n if (isArray && elements.data.length !== 0 && !elements.errors.length) {\r\n if (!this.variablesService.contacts.length) {\r\n elements.data.forEach(element => {\r\n this.variablesService.contacts.push(element);\r\n });\r\n } else {\r\n elements.data.forEach(element => {\r\n const indexName = this.variablesService.contacts.findIndex(\r\n contact => contact.name === element.name\r\n );\r\n const indexAddress = this.variablesService.contacts.findIndex(\r\n contact => contact.address === element.address\r\n );\r\n if (indexAddress === -1 && indexName === -1) {\r\n this.variablesService.contacts.push(element);\r\n }\r\n if (indexName !== -1 && indexAddress === -1) {\r\n this.variablesService.contacts.push({\r\n name: `${element.name} ${this.translate.instant(\r\n 'CONTACTS.COPY'\r\n )}`,\r\n address: element.address,\r\n notes: element.notes\r\n });\r\n }\r\n });\r\n }\r\n this.backend.getContactAlias();\r\n this.ngZone.run(() => {\r\n this.router.navigate(['/contacts']);\r\n });\r\n }\r\n if (elements.errors.length) {\r\n this.modalService.prepareModal(\r\n 'error',\r\n 'CONTACTS.ERROR_IMPORT'\r\n );\r\n console.log(elements.errors);\r\n }\r\n }\r\n });\r\n } else {\r\n this.modalService.prepareModal('error', 'CONTACTS.ERROR_TYPE_FILE');\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n export() {\r\n const contacts: Array = [];\r\n this.variablesService.contacts.forEach(contact => {\r\n delete contact.alias;\r\n contacts.push(contact);\r\n });\r\n\r\n this.backend.saveFileDialog(\r\n '',\r\n '*',\r\n this.variablesService.settings.default_path,\r\n (file_status, file_data) => {\r\n if (!this.variablesService.contacts.length && !(file_data.error_code === 'CANCELED')) {\r\n this.modalService.prepareModal('error', 'CONTACTS.ERROR_EMPTY_LIST');\r\n }\r\n const path = this.isValid(file_data.path) ? file_data.path : `${file_data.path}.csv`;\r\n if (file_status && this.isValid(path) && this.variablesService.contacts.length) {\r\n this.backend.storeFile(path, this.papa.unparse(contacts));\r\n }\r\n if (!(file_data.error_code === 'CANCELED') && !this.isValid(path)) {\r\n this.modalService.prepareModal('error', 'CONTACTS.ERROR_EXPORT');\r\n }\r\n }\r\n );\r\n }\r\n\r\n isValid(file) {\r\n return file.endsWith('.csv');\r\n }\r\n\r\n back() {\r\n this.location.back();\r\n }\r\n}\r\n","module.exports = \"
      \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n 0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
      {{ 'HISTORY.STATUS' | translate }}{{ 'HISTORY.DATE' | translate }}{{ 'HISTORY.AMOUNT' | translate }}{{ 'HISTORY.FEE' | translate }}{{ 'HISTORY.ADDRESS' | translate }}
      \\r\\n
      \\r\\n 0\\\">\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n 0\\\">\\r\\n \\r\\n 500000000\\\">\\r\\n 0\\\">\\r\\n \\r\\n \\r\\n \\r\\n 0\\\">\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{ (item.is_income ? 'HISTORY.RECEIVED' : 'HISTORY.SEND') | translate }}\\r\\n
      \\r\\n
      {{item.timestamp * 1000 | date : 'dd-MM-yyyy HH:mm'}}\\r\\n {{item.sortAmount | intToMoney}} {{variablesService.defaultCurrency}}\\r\\n \\r\\n {{item.sortFee | intToMoney}} {{variablesService.defaultCurrency}}\\r\\n \\r\\n {{item | historyTypeMessages}}\\r\\n {{item.remote_addresses[0]}}\\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n\\r\\n
      \\r\\n\"","module.exports = \":host {\\n width: 100%; }\\n\\n.wrap-table {\\n margin: -3rem; }\\n\\n.wrap-table table tbody tr td {\\n min-width: 10rem; }\\n\\n.wrap-table table tbody tr .status {\\n position: relative;\\n display: flex;\\n align-items: center; }\\n\\n.wrap-table table tbody tr .status .confirmation {\\n position: absolute;\\n top: 50%;\\n left: -2rem;\\n transform: translateY(-50%);\\n display: flex;\\n align-items: flex-end;\\n width: 0.7rem;\\n height: 1.5rem; }\\n\\n.wrap-table table tbody tr .status .confirmation .fill {\\n width: 100%; }\\n\\n.wrap-table table tbody tr .status .lock-transaction {\\n position: absolute;\\n left: -2rem;\\n -webkit-mask: url('lock-transaction.svg') no-repeat center;\\n mask: url('lock-transaction.svg') no-repeat center;\\n width: 1.2rem;\\n height: 1.2rem;\\n margin-right: 1.1rem; }\\n\\n.wrap-table table tbody tr .status .unlock-transaction {\\n position: absolute;\\n left: -2rem;\\n -webkit-mask: url('unlock-transaction.svg') no-repeat center;\\n mask: url('unlock-transaction.svg') no-repeat center;\\n width: 1.2rem;\\n height: 1.2rem;\\n margin-right: 1.1rem; }\\n\\n.wrap-table table tbody tr .status .position {\\n position: static; }\\n\\n.wrap-table table tbody tr .status .status-transaction {\\n margin-right: 1rem;\\n width: 1.7rem;\\n height: 1.7rem; }\\n\\n.wrap-table table tbody tr .status.send .status-transaction {\\n background-color: transparent; }\\n\\n.wrap-table table tbody tr .status.send .status-transaction::after {\\n display: block;\\n content: '';\\n background: url('send-red.svg') no-repeat center;\\n width: 13px;\\n height: 13px; }\\n\\n.wrap-table table tbody tr .status.received .status-transaction {\\n background-color: transparent; }\\n\\n.wrap-table table tbody tr .status.received .status-transaction::after {\\n display: block;\\n content: '';\\n background: url('receive-green.svg') no-repeat center;\\n width: 13px;\\n height: 13px; }\\n\\n.wrap-table table tbody tr .remote-address {\\n overflow: hidden;\\n text-overflow: ellipsis;\\n max-width: 25vw; }\\n\\n.wrap-table table tbody tr:not(.transaction-details) {\\n cursor: pointer; }\\n\\n.wrap-table table tbody tr.transaction-details {\\n transition: 0.5s height linear, 0s font-size;\\n transition-delay: 0s, 0.5s;\\n height: 0; }\\n\\n.wrap-table table tbody tr.transaction-details.open {\\n height: 16.2rem; }\\n\\n.wrap-table table tbody tr.transaction-details td {\\n position: relative;\\n overflow: hidden;\\n line-height: inherit;\\n padding-top: 0;\\n padding-bottom: 0; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvaGlzdG9yeS9EOlxcUHJvamVjdFxcV09SS19ORVdcXHphbm9cXHNyY1xcZ3VpXFxxdC1kYWVtb25cXGh0bWxfc291cmNlL3NyY1xcYXBwXFxoaXN0b3J5XFxoaXN0b3J5LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsV0FBVyxFQUFBOztBQUdiO0VBQ0UsYUFBYSxFQUFBOztBQURmO0lBVVUsZ0JBQWdCLEVBQUE7O0FBVjFCO0lBY1Usa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixtQkFBbUIsRUFBQTs7QUFoQjdCO01BbUJZLGtCQUFrQjtNQUNsQixRQUFRO01BQ1IsV0FBVztNQUNYLDJCQUEyQjtNQUMzQixhQUFhO01BQ2IscUJBQXFCO01BQ3JCLGFBQWE7TUFDYixjQUFjLEVBQUE7O0FBMUIxQjtRQTZCYyxXQUFXLEVBQUE7O0FBN0J6QjtNQWtDWSxrQkFBa0I7TUFDbEIsV0FBVztNQUNYLDBEQUFtRTtjQUFuRSxrREFBbUU7TUFDbkUsYUFBYTtNQUNiLGNBQWM7TUFDZCxvQkFBb0IsRUFBQTs7QUF2Q2hDO01BMkNZLGtCQUFrQjtNQUNsQixXQUFXO01BQ1gsNERBQXFFO2NBQXJFLG9EQUFxRTtNQUNyRSxhQUFhO01BQ2IsY0FBYztNQUNkLG9CQUFvQixFQUFBOztBQWhEaEM7TUFvRFksZ0JBQWdCLEVBQUE7O0FBcEQ1QjtNQXdEWSxrQkFBa0I7TUFDbEIsYUFBYTtNQUNiLGNBQWMsRUFBQTs7QUExRDFCO01BK0RjLDZCQUE2QixFQUFBOztBQS9EM0M7TUFtRWMsY0FBYztNQUNkLFdBQVU7TUFDVixnREFBa0U7TUFDbEUsV0FBVztNQUNYLFlBQVksRUFBQTs7QUF2RTFCO01BNkVjLDZCQUE2QixFQUFBOztBQTdFM0M7TUFpRmMsY0FBYztNQUNkLFdBQVU7TUFDVixxREFBdUU7TUFDdkUsV0FBVztNQUNYLFlBQVksRUFBQTs7QUFyRjFCO0lBMkZVLGdCQUFnQjtJQUNoQix1QkFBdUI7SUFDdkIsZUFBZSxFQUFBOztBQTdGekI7SUFpR1UsZUFBZSxFQUFBOztBQWpHekI7SUFzR1UsNENBQTRDO0lBQzVDLDBCQUEwQjtJQUMxQixTQUFTLEVBQUE7O0FBeEduQjtNQTJHWSxlQUFlLEVBQUE7O0FBM0czQjtNQStHWSxrQkFBa0I7TUFDbEIsZ0JBQWdCO01BQ2hCLG9CQUFvQjtNQUNwQixjQUFjO01BQ2QsaUJBQWlCLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9oaXN0b3J5L2hpc3RvcnkuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi53cmFwLXRhYmxlIHtcclxuICBtYXJnaW46IC0zcmVtO1xyXG5cclxuICB0YWJsZSB7XHJcblxyXG4gICAgdGJvZHkge1xyXG5cclxuICAgICAgdHIge1xyXG5cclxuICAgICAgICB0ZCB7XHJcbiAgICAgICAgICBtaW4td2lkdGg6IDEwcmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnN0YXR1cyB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAuY29uZmlybWF0aW9uIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgbGVmdDogLTJyZW07XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICB3aWR0aDogMC43cmVtO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcclxuXHJcbiAgICAgICAgICAgIC5maWxsIHtcclxuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5sb2NrLXRyYW5zYWN0aW9uIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAtMnJlbTtcclxuICAgICAgICAgICAgbWFzazogdXJsKC4uLy4uL2Fzc2V0cy9pY29ucy9sb2NrLXRyYW5zYWN0aW9uLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgICAgICAgd2lkdGg6IDEuMnJlbTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxLjJyZW07XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMS4xcmVtO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC51bmxvY2stdHJhbnNhY3Rpb24ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IC0ycmVtO1xyXG4gICAgICAgICAgICBtYXNrOiB1cmwoLi4vLi4vYXNzZXRzL2ljb25zL3VubG9jay10cmFuc2FjdGlvbi5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxLjJyZW07XHJcbiAgICAgICAgICAgIGhlaWdodDogMS4ycmVtO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMXJlbTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAucG9zaXRpb24ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5zdGF0dXMtdHJhbnNhY3Rpb24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XHJcbiAgICAgICAgICAgIHdpZHRoOiAxLjdyZW07XHJcbiAgICAgICAgICAgIGhlaWdodDogMS43cmVtO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICYuc2VuZCAge1xyXG4gICAgICAgICAgICAuc3RhdHVzLXRyYW5zYWN0aW9uIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnN0YXR1cy10cmFuc2FjdGlvbjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgIGNvbnRlbnQ6Jyc7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDp1cmwoXCIuLi8uLi9hc3NldHMvaWNvbnMvc2VuZC1yZWQuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IDEzcHg7XHJcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxM3B4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJi5yZWNlaXZlZCB7XHJcbiAgICAgICAgICAgIC5zdGF0dXMtdHJhbnNhY3Rpb24ge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuc3RhdHVzLXRyYW5zYWN0aW9uOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgY29udGVudDonJztcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOnVybChcIi4uLy4uL2Fzc2V0cy9pY29ucy9yZWNlaXZlLWdyZWVuLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAxM3B4O1xyXG4gICAgICAgICAgICAgIGhlaWdodDogMTNweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnJlbW90ZS1hZGRyZXNzIHtcclxuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICAgIG1heC13aWR0aDogMjV2dztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bm90KC50cmFuc2FjdGlvbi1kZXRhaWxzKSB7XHJcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLnRyYW5zYWN0aW9uLWRldGFpbHMge1xyXG4gICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjVzIGhlaWdodCBsaW5lYXIsIDBzIGZvbnQtc2l6ZTtcclxuICAgICAgICAgIHRyYW5zaXRpb246IDAuNXMgaGVpZ2h0IGxpbmVhciwgMHMgZm9udC1zaXplO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHMsIDAuNXM7XHJcbiAgICAgICAgICBoZWlnaHQ6IDA7XHJcblxyXG4gICAgICAgICAgJi5vcGVuIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNi4ycmVtO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0= */\"","import {Component, OnInit, OnDestroy, AfterViewChecked, ViewChild, ElementRef} from '@angular/core';\r\nimport {VariablesService} from '../_helpers/services/variables.service';\r\nimport {ActivatedRoute} from '@angular/router';\r\nimport { Transaction } from '../_helpers/models/transaction.model';\r\n\r\n@Component({\r\n selector: 'app-history',\r\n templateUrl: './history.component.html',\r\n styleUrls: ['./history.component.scss']\r\n})\r\nexport class HistoryComponent implements OnInit, OnDestroy, AfterViewChecked {\r\n parentRouting;\r\n openedDetails = false;\r\n calculatedWidth = [];\r\n @ViewChild('head') head: ElementRef;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n public variablesService: VariablesService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.parentRouting = this.route.parent.params.subscribe(() => {\r\n this.openedDetails = false;\r\n });\r\n }\r\n\r\n ngAfterViewChecked() {\r\n this.calculateWidth();\r\n }\r\n\r\n getHeight(item) {\r\n if ((this.variablesService.height_app - item.height >= 10 && item.height !== 0) || (item.is_mining === true && item.height === 0)) {\r\n return 100;\r\n } else {\r\n if (item.height === 0 || this.variablesService.height_app - item.height < 0) {\r\n return 0;\r\n } else {\r\n return (this.variablesService.height_app - item.height) * 10;\r\n }\r\n }\r\n }\r\n\r\n openDetails(tx_hash) {\r\n if (tx_hash === this.openedDetails) {\r\n this.openedDetails = false;\r\n } else {\r\n this.openedDetails = tx_hash;\r\n }\r\n }\r\n\r\n calculateWidth() {\r\n this.calculatedWidth = [];\r\n this.calculatedWidth.push(this.head.nativeElement.childNodes[0].clientWidth);\r\n this.calculatedWidth.push(this.head.nativeElement.childNodes[1].clientWidth + this.head.nativeElement.childNodes[2].clientWidth);\r\n this.calculatedWidth.push(this.head.nativeElement.childNodes[3].clientWidth);\r\n this.calculatedWidth.push(this.head.nativeElement.childNodes[4].clientWidth);\r\n }\r\n\r\n time(item: Transaction) {\r\n const now = new Date().getTime();\r\n const unlockTime = now + ((item.unlock_time - this.variablesService.height_max) * 60 * 1000);\r\n return unlockTime;\r\n }\r\n\r\n isLocked(item: Transaction) {\r\n if ((item.unlock_time > 500000000) && (item.unlock_time > new Date().getTime() / 1000)) {\r\n return true;\r\n }\r\n if ((item.unlock_time < 500000000) && (item.unlock_time > this.variablesService.height_max)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.parentRouting.unsubscribe();\r\n }\r\n\r\n}\r\n","module.exports = \"
      \\r\\n\\r\\n
      \\r\\n\\r\\n
      \\r\\n\\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'ERRORS.WRONG_PASSWORD' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'LOGIN.FORM_ERRORS.MISMATCH' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n\\r\\n
      \\r\\n\\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n\\r\\n
      \\r\\n\\r\\n
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n \\r\\n {{ 'SIDEBAR.SYNCHRONIZATION.OFFLINE' | translate }}\\r\\n \\r\\n \\r\\n {{ 'SIDEBAR.SYNCHRONIZATION.SYNCING' | translate }} {{ variablesService.height_app }}{{ 'SIDEBAR.SYNCHRONIZATION.SLASH' | translate }}{{ variablesService.height_max }}\\r\\n \\r\\n \\r\\n {{ 'SIDEBAR.SYNCHRONIZATION.ONLINE' | translate }}\\r\\n \\r\\n \\r\\n {{ 'SIDEBAR.SYNCHRONIZATION.LOADING' | translate }}\\r\\n \\r\\n \\r\\n {{ 'SIDEBAR.SYNCHRONIZATION.ERROR' | translate }}\\r\\n \\r\\n \\r\\n {{ 'SIDEBAR.SYNCHRONIZATION.COMPLETE' | translate }}\\r\\n \\r\\n \\r\\n {{ 'SIDEBAR.SYNCHRONIZATION.DOWNLOADING' | translate }} {{ variablesService.downloaded }}{{ 'SIDEBAR.SYNCHRONIZATION.SLASH' | translate }}{{ variablesService.total }}{{ 'SIDEBAR.SYNCHRONIZATION.MB' | translate }}\\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      {{ variablesService.sync.progress_value_text }}%
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      {{ variablesService.download.progress_value_text }}%
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n {{ 'SIDEBAR.UPDATE.STANDARD' | translate }}\\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n {{ 'SIDEBAR.UPDATE.IMPORTANT' | translate }}\\r\\n
      \\r\\n {{ 'SIDEBAR.UPDATE.IMPORTANT_HINT' | translate }}\\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n {{ 'SIDEBAR.UPDATE.CRITICAL' | translate }}\\r\\n
      \\r\\n {{ 'SIDEBAR.UPDATE.IMPORTANT_HINT' | translate }}\\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n {{ 'SIDEBAR.UPDATE.TIME' | translate }}\\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n\"","module.exports = \":host {\\n position: fixed;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%; }\\n :host .content {\\n display: flex; }\\n :host .content .wrap-login {\\n margin: auto;\\n width: 100%;\\n max-width: 40rem; }\\n :host .content .wrap-login .logo {\\n display: flex;\\n justify-content: center; }\\n :host .content .wrap-login .logo::ng-deep svg {\\n width: 15rem; }\\n :host .content .wrap-login .form-login {\\n display: flex;\\n flex-direction: column; }\\n :host .content .wrap-login .form-login .wrap-button {\\n display: flex;\\n align-items: center;\\n justify-content: space-between; }\\n :host .content .wrap-login .form-login .wrap-button button {\\n margin: 2.5rem 0; }\\n :host .content .wrap-login .form-login button {\\n margin: 2.5rem auto;\\n width: 100%;\\n max-width: 15rem; }\\n .synchronization-status {\\n position: absolute;\\n bottom: 3rem;\\n left: 3rem; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbG9naW4vRDpcXFByb2plY3RcXFdPUktfTkVXXFx6YW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFwcFxcbG9naW5cXGxvZ2luLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsZUFBZTtFQUNmLE1BQU07RUFDTixPQUFPO0VBQ1AsV0FBVztFQUNYLFlBQVksRUFBQTtFQUxkO0lBUUksYUFBYSxFQUFBO0VBUmpCO01BV00sWUFBWTtNQUNaLFdBQVc7TUFDWCxnQkFBZ0IsRUFBQTtFQWJ0QjtRQWdCUSxhQUFhO1FBQ2IsdUJBQXVCLEVBQUE7RUFqQi9CO1VBb0JVLFlBQVksRUFBQTtFQXBCdEI7UUF5QlEsYUFBYTtRQUNiLHNCQUFzQixFQUFBO0VBMUI5QjtVQTZCVSxhQUFhO1VBQ2IsbUJBQW1CO1VBQ25CLDhCQUE4QixFQUFBO0VBL0J4QztZQWtDWSxnQkFBZ0IsRUFBQTtFQWxDNUI7VUF1Q1UsbUJBQW1CO1VBQ25CLFdBQVc7VUFDWCxnQkFBZ0IsRUFBQTtFQU0xQjtFQUNFLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osVUFBVSxFQUFBIiwiZmlsZSI6InNyYy9hcHAvbG9naW4vbG9naW4uY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuXHJcbiAgLmNvbnRlbnQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuXHJcbiAgICAud3JhcC1sb2dpbiB7XHJcbiAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1heC13aWR0aDogNDByZW07XHJcblxyXG4gICAgICAubG9nbyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgJjo6bmctZGVlcCBzdmcge1xyXG4gICAgICAgICAgd2lkdGg6IDE1cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmZvcm0tbG9naW4ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgICAgICAgLndyYXAtYnV0dG9uIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuICAgICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMi41cmVtIDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgbWFyZ2luOiAyLjVyZW0gYXV0bztcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgbWF4LXdpZHRoOiAxNXJlbTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuLnN5bmNocm9uaXphdGlvbi1zdGF0dXMge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBib3R0b206IDNyZW07XHJcbiAgbGVmdDogM3JlbTtcclxufVxyXG4iXX0= */\"","import {Component, NgZone, OnInit, OnDestroy} from '@angular/core';\r\nimport {FormGroup, FormControl, Validators} from '@angular/forms';\r\nimport {ActivatedRoute, Router} from '@angular/router';\r\nimport {BackendService} from '../_helpers/services/backend.service';\r\nimport {VariablesService} from '../_helpers/services/variables.service';\r\nimport {ModalService} from '../_helpers/services/modal.service';\r\nimport {Wallet} from '../_helpers/models/wallet.model';\r\nimport {DOWNLOADS_PAGE_URL} from '../_shared/constants'\r\n\r\nimport icons from '../../assets/icons/icons.json';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.scss']\r\n})\r\nexport class LoginComponent implements OnInit, OnDestroy {\r\n\r\n queryRouting;\r\n\r\n regForm = new FormGroup({\r\n password: new FormControl('',\r\n Validators.pattern(this.variablesService.pattern)),\r\n confirmation: new FormControl('')\r\n }, [function (g: FormGroup) {\r\n return g.get('password').value === g.get('confirmation').value ? null : {'mismatch': true};\r\n }\r\n]);\r\n\r\n authForm = new FormGroup({\r\n password: new FormControl('')\r\n });\r\n\r\n type = 'reg';\r\n\r\n logo = icons.logo;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private backend: BackendService,\r\n public variablesService: VariablesService,\r\n private modalService: ModalService,\r\n private ngZone: NgZone\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.queryRouting = this.route.queryParams.subscribe(params => {\r\n if (params.type) {\r\n this.type = params.type;\r\n }\r\n });\r\n }\r\n\r\n onSubmitCreatePass(): void {\r\n if (this.regForm.valid) {\r\n this.variablesService.appPass = this.regForm.get('password').value; // the pass what was written in input of login form by user\r\n\r\n this.backend.setMasterPassword({pass: this.variablesService.appPass}, (status, data) => {\r\n if (status) {\r\n this.backend.storeSecureAppData({pass: this.variablesService.appPass});\r\n this.variablesService.appLogin = true;\r\n this.variablesService.dataIsLoaded = true;\r\n if (this.variablesService.settings.appLockTime) {\r\n this.variablesService.startCountdown();\r\n }\r\n this.ngZone.run(() => {\r\n this.router.navigate(['/']);\r\n });\r\n } else {\r\n console.log(data['error_code']);\r\n }\r\n });\r\n }\r\n }\r\n\r\n onSkipCreatePass(): void {\r\n this.variablesService.appPass = '';\r\n this.ngZone.run(() => {\r\n this.variablesService.appLogin = true;\r\n this.router.navigate(['/']);\r\n });\r\n }\r\n\r\n dropSecureAppData(): void {\r\n this.backend.dropSecureAppData(() => {\r\n this.onSkipCreatePass();\r\n });\r\n this.variablesService.wallets = [];\r\n this.variablesService.contacts = [];\r\n }\r\n\r\n onSubmitAuthPass(): void {\r\n if (this.authForm.valid) {\r\n this.variablesService.appPass = this.authForm.get('password').value;\r\n\r\n if (this.variablesService.dataIsLoaded) {\r\n this.backend.checkMasterPassword({pass: this.variablesService.appPass}, (status, data) => {\r\n if (status) {\r\n this.variablesService.appLogin = true;\r\n if (this.variablesService.settings.appLockTime) {\r\n this.variablesService.startCountdown();\r\n }\r\n this.ngZone.run(() => {\r\n this.router.navigate(['/'], {queryParams: {prevUrl: 'login'}});\r\n });\r\n }\r\n });\r\n } else {\r\n this.getData(this.variablesService.appPass);\r\n }\r\n }\r\n }\r\n\r\n getData(appPass) {\r\n this.backend.getSecureAppData({pass: appPass}, (status, data) => {\r\n if (!data.error_code) {\r\n this.variablesService.appLogin = true;\r\n this.variablesService.dataIsLoaded = true;\r\n if (this.variablesService.settings.appLockTime) {\r\n this.variablesService.startCountdown();\r\n }\r\n this.variablesService.appPass = appPass;\r\n const isEmptyObject = Object.keys(data).length === 0 && data.constructor === Object;\r\n\r\n if (this.variablesService.wallets.length) {\r\n this.ngZone.run(() => {\r\n this.router.navigate(['/wallet/' + this.variablesService.wallets[0].wallet_id]);\r\n });\r\n return;\r\n }\r\n if (data.hasOwnProperty('contacts')) {\r\n if (Object.keys(data['contacts']).length !== 0) {\r\n data['contacts'].map(contact => {\r\n this.variablesService.contacts.push(contact);\r\n });\r\n }\r\n }\r\n if (data.hasOwnProperty('wallets')) {\r\n if (Object.keys(data['wallets']).length !== 0) {\r\n this.getWalletData(data['wallets']);\r\n } else {\r\n this.ngZone.run(() => {\r\n this.router.navigate(['/']);\r\n });\r\n }\r\n }\r\n if (!data.hasOwnProperty('wallets') && !data.hasOwnProperty('contacts')) {\r\n if (data.length !== 0 && !isEmptyObject) {\r\n this.getWalletData(data);\r\n } else {\r\n this.ngZone.run(() => {\r\n this.router.navigate(['/']);\r\n });\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n getWalletData(walletData) {\r\n let openWallets = 0;\r\n let runWallets = 0;\r\n walletData.forEach((wallet, wallet_index) => {\r\n this.backend.openWallet(wallet.path, wallet.pass, this.variablesService.count, true, (open_status, open_data, open_error) => {\r\n if (open_status || open_error === 'FILE_RESTORED') {\r\n openWallets++;\r\n this.ngZone.run(() => {\r\n const new_wallet = new Wallet(\r\n open_data.wallet_id,\r\n wallet.name,\r\n wallet.pass,\r\n open_data['wi'].path,\r\n open_data['wi'].address,\r\n open_data['wi'].balance,\r\n open_data['wi'].unlocked_balance,\r\n open_data['wi'].mined_total,\r\n open_data['wi'].tracking_hey\r\n );\r\n new_wallet.alias = this.backend.getWalletAlias(new_wallet.address);\r\n if (wallet.staking) {\r\n new_wallet.staking = true;\r\n this.backend.startPosMining(new_wallet.wallet_id);\r\n } else {\r\n new_wallet.staking = false;\r\n }\r\n new_wallet.is_auditable = open_data['wi'].is_auditable;\r\n new_wallet.is_watch_only = open_data['wi'].is_watch_only;\r\n new_wallet.currentPage = 1;\r\n new_wallet.exclude_mining_txs = false;\r\n if (open_data.recent_history && open_data.recent_history.history) {\r\n new_wallet.total_history_item = open_data.recent_history.total_history_items;\r\n new_wallet.totalPages = Math.ceil( open_data.recent_history.total_history_items / this.variablesService.count);\r\n new_wallet.totalPages > this.variablesService.maxPages\r\n ? new_wallet.pages = new Array(5).fill(1).map((value, index) => value + index)\r\n : new_wallet.pages = new Array(new_wallet.totalPages).fill(1).map((value, index) => value + index);\r\n new_wallet.prepareHistory(open_data.recent_history.history);\r\n } else {\r\n new_wallet.total_history_item = 0;\r\n new_wallet.pages = new Array(1).fill(1);\r\n new_wallet.totalPages = 1;\r\n }\r\n this.backend.getContracts(open_data.wallet_id, (contracts_status, contracts_data) => {\r\n if (contracts_status && contracts_data.hasOwnProperty('contracts')) {\r\n this.ngZone.run(() => {\r\n new_wallet.prepareContractsAfterOpen(contracts_data.contracts, this.variablesService.exp_med_ts, this.variablesService.height_app, this.variablesService.settings.viewedContracts, this.variablesService.settings.notViewedContracts);\r\n });\r\n }\r\n });\r\n this.variablesService.wallets.push(new_wallet);\r\n if (this.variablesService.wallets.length === 1) {\r\n this.router.navigate(['/wallet/' + this.variablesService.wallets[0].wallet_id]);\r\n }\r\n });\r\n this.backend.runWallet(open_data.wallet_id, (run_status) => {\r\n if (run_status) {\r\n runWallets++;\r\n } else {\r\n if (wallet_index === walletData.length - 1 && runWallets === 0) {\r\n this.ngZone.run(() => {\r\n this.router.navigate(['/']);\r\n });\r\n }\r\n }\r\n });\r\n } else {\r\n if (wallet_index === walletData.length - 1 && openWallets === 0) {\r\n this.ngZone.run(() => {\r\n this.router.navigate(['/']);\r\n });\r\n }\r\n }\r\n });\r\n });\r\n }\r\n\r\n getUpdate() {\r\n this.backend.openUrlInBrowser(DOWNLOADS_PAGE_URL);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.queryRouting.unsubscribe();\r\n }\r\n\r\n}\r\n","module.exports = \"
      \\r\\n\\r\\n
      0 && prevUrl !== 'login'\\\">\\r\\n \\r\\n
      \\r\\n\\r\\n
      \\r\\n

      {{ 'MAIN.TITLE' | translate }}

      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'MAIN.HELP' | translate }}\\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n\"","module.exports = \":host {\\n flex: 1 0 auto;\\n padding: 3rem; }\\n\\n.content {\\n padding: 3rem;\\n min-height: 100%; }\\n\\n.content .head {\\n justify-content: flex-end; }\\n\\n.add-wallet .add-wallet-title {\\n margin-bottom: 1rem; }\\n\\n.add-wallet .add-wallet-buttons {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n margin: 0 -0.5rem;\\n padding: 1.5rem 0; }\\n\\n.add-wallet .add-wallet-buttons button {\\n flex: 1 0 auto;\\n margin: 0 0.5rem; }\\n\\n.add-wallet .add-wallet-help {\\n display: flex;\\n cursor: pointer;\\n font-size: 1.3rem;\\n line-height: 1.5rem; }\\n\\n.add-wallet .add-wallet-help .icon {\\n -webkit-mask: url('howto.svg') no-repeat center;\\n mask: url('howto.svg') no-repeat center;\\n margin-right: 0.8rem;\\n width: 1.5rem;\\n height: 1.5rem; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbWFpbi9EOlxcUHJvamVjdFxcV09SS19ORVdcXHphbm9cXHNyY1xcZ3VpXFxxdC1kYWVtb25cXGh0bWxfc291cmNlL3NyY1xcYXBwXFxtYWluXFxtYWluLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsY0FBYztFQUNkLGFBQWEsRUFBQTs7QUFHZjtFQUNFLGFBQWE7RUFDYixnQkFBZ0IsRUFBQTs7QUFGbEI7SUFLSSx5QkFBeUIsRUFBQTs7QUFJN0I7RUFHSSxtQkFBbUIsRUFBQTs7QUFIdkI7RUFPSSxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLDhCQUE4QjtFQUM5QixpQkFBaUI7RUFDakIsaUJBQWlCLEVBQUE7O0FBWHJCO0lBY00sY0FBYztJQUNkLGdCQUFnQixFQUFBOztBQWZ0QjtFQW9CSSxhQUFhO0VBQ2IsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixtQkFBbUIsRUFBQTs7QUF2QnZCO0lBMEJNLCtDQUF3RDtZQUF4RCx1Q0FBd0Q7SUFDeEQsb0JBQW9CO0lBQ3BCLGFBQWE7SUFDYixjQUFjLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9tYWluL21haW4uY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgZmxleDogMSAwIGF1dG87XHJcbiAgcGFkZGluZzogM3JlbTtcclxufVxyXG5cclxuLmNvbnRlbnQge1xyXG4gIHBhZGRpbmc6IDNyZW07XHJcbiAgbWluLWhlaWdodDogMTAwJTtcclxuXHJcbiAgLmhlYWQge1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICB9XHJcbn1cclxuXHJcbi5hZGQtd2FsbGV0IHtcclxuXHJcbiAgLmFkZC13YWxsZXQtdGl0bGUge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICB9XHJcblxyXG4gIC5hZGQtd2FsbGV0LWJ1dHRvbnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBtYXJnaW46IDAgLTAuNXJlbTtcclxuICAgIHBhZGRpbmc6IDEuNXJlbSAwO1xyXG5cclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xyXG4gICAgICBtYXJnaW46IDAgMC41cmVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmFkZC13YWxsZXQtaGVscCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgICBsaW5lLWhlaWdodDogMS41cmVtO1xyXG5cclxuICAgIC5pY29uIHtcclxuICAgICAgbWFzazogdXJsKC4uLy4uL2Fzc2V0cy9pY29ucy9ob3d0by5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMC44cmVtO1xyXG4gICAgICB3aWR0aDogMS41cmVtO1xyXG4gICAgICBoZWlnaHQ6IDEuNXJlbTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19 */\"","import {Component, NgZone, OnInit} from '@angular/core';\r\nimport {Location} from '@angular/common';\r\nimport {BackendService} from '../_helpers/services/backend.service';\r\nimport {VariablesService} from '../_helpers/services/variables.service';\r\nimport {ActivatedRoute, Router} from '@angular/router';\r\nimport {TranslateService} from '@ngx-translate/core';\r\nimport {CREATE_NEW_WALLET_HELP_PAGE} from '../_shared/constants';\r\n\r\n@Component({\r\n selector: 'app-main',\r\n templateUrl: './main.component.html',\r\n styleUrls: ['./main.component.scss']\r\n})\r\nexport class MainComponent implements OnInit {\r\n\r\n public prevUrl: string = '';\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private location: Location,\r\n private backend: BackendService,\r\n public variablesService: VariablesService,\r\n private ngZone: NgZone,\r\n private translate: TranslateService\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n if (this.route.snapshot.queryParams && this.route.snapshot.queryParams.prevUrl) {\r\n this.prevUrl = this.route.snapshot.queryParams.prevUrl;\r\n }\r\n }\r\n\r\n openWallet() {\r\n this.backend.openFileDialog(this.translate.instant('MAIN.CHOOSE_PATH'), '*', this.variablesService.settings.default_path, (file_status, file_data) => {\r\n if (file_status) {\r\n this.variablesService.settings.default_path = file_data.path.substr(0, file_data.path.lastIndexOf('/'));\r\n this.ngZone.run(() => {\r\n this.router.navigate(['/open'], {queryParams: {path: file_data.path}});\r\n });\r\n } else {\r\n console.log(file_data['error_code']);\r\n }\r\n });\r\n }\r\n\r\n openInBrowser() {\r\n this.backend.openUrlInBrowser(CREATE_NEW_WALLET_HELP_PAGE);\r\n }\r\n\r\n back() {\r\n this.location.back();\r\n }\r\n\r\n}\r\n","module.exports = \"
      \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
      {{ 'MESSAGES.ADDRESS' | translate }}{{ 'MESSAGES.MESSAGE' | translate }}
      \\r\\n {{message.address}}\\r\\n \\r\\n \\r\\n {{message.message}}\\r\\n
      \\r\\n\\r\\n
      \\r\\n\"","module.exports = \":host {\\n width: 100%; }\\n\\n.wrap-table {\\n margin: -3rem; }\\n\\n.wrap-table table tbody tr td:first-child {\\n position: relative;\\n padding-right: 5rem;\\n width: 18rem; }\\n\\n.wrap-table table tbody tr td:first-child span {\\n display: block;\\n line-height: 3.5rem;\\n max-width: 10rem; }\\n\\n.wrap-table table tbody tr td:first-child .icon {\\n position: absolute;\\n top: 50%;\\n right: 1rem;\\n transform: translateY(-50%);\\n display: block;\\n -webkit-mask: url('alert.svg') no-repeat 0;\\n mask: url('alert.svg') no-repeat 0;\\n width: 1.2rem;\\n height: 1.2rem; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbWVzc2FnZXMvRDpcXFByb2plY3RcXFdPUktfTkVXXFx6YW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFwcFxcbWVzc2FnZXNcXG1lc3NhZ2VzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsV0FBVyxFQUFBOztBQUdiO0VBQ0UsYUFBYSxFQUFBOztBQURmO0lBWVksa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixZQUFZLEVBQUE7O0FBZHhCO01BaUJjLGNBQWM7TUFDZCxtQkFBbUI7TUFDbkIsZ0JBQWdCLEVBQUE7O0FBbkI5QjtNQXVCYyxrQkFBa0I7TUFDbEIsUUFBUTtNQUNSLFdBQVc7TUFDWCwyQkFBMkI7TUFDM0IsY0FBYztNQUNkLDBDQUFtRDtjQUFuRCxrQ0FBbUQ7TUFDbkQsYUFBYTtNQUNiLGNBQWMsRUFBQSIsImZpbGUiOiJzcmMvYXBwL21lc3NhZ2VzL21lc3NhZ2VzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3Qge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4ud3JhcC10YWJsZSB7XHJcbiAgbWFyZ2luOiAtM3JlbTtcclxuXHJcbiAgdGFibGUge1xyXG5cclxuICAgIHRib2R5IHtcclxuXHJcbiAgICAgIHRyIHtcclxuXHJcbiAgICAgICAgdGQge1xyXG5cclxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVyZW07XHJcbiAgICAgICAgICAgIHdpZHRoOiAxOHJlbTtcclxuXHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzLjVyZW07XHJcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMHJlbTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICByaWdodDogMXJlbTtcclxuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgbWFzazogdXJsKC4uLy4uL2Fzc2V0cy9pY29ucy9hbGVydC5zdmcpIG5vLXJlcGVhdCAwO1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAxLjJyZW07XHJcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxLjJyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19 */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-messages',\r\n templateUrl: './messages.component.html',\r\n styleUrls: ['./messages.component.scss']\r\n})\r\nexport class MessagesComponent implements OnInit {\r\n\r\n messages = [\r\n {\r\n is_new: true,\r\n address: '@bitmap',\r\n message: 'No more miners for you!'\r\n },\r\n {\r\n is_new: false,\r\n address: 'Hjkwey36gHasdhkajshd4bxnb5mcvowyefb2633FdsFGGWbb',\r\n message: 'Hey! What’s with our BBR deal?'\r\n },\r\n {\r\n is_new: false,\r\n address: '@john',\r\n message: 'I’m coming!'\r\n }\r\n ];\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n\r\n\r\n}\r\n","module.exports = \"
      \\r\\n

      {{ 'OPEN_WALLET.MODAL.TITLE' | translate }}

      \\r\\n
      \\r\\n
      {{ wallet.name }}
      \\r\\n
      {{ wallet.path }}
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'OPEN_WALLET.MODAL.NOT_FOUND' | translate }}\\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\"","module.exports = \":host {\\n position: fixed;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n background: rgba(255, 255, 255, 0.25); }\\n\\n.modal {\\n display: flex;\\n flex-direction: column;\\n background-position: center;\\n background-size: 200%;\\n padding: 2rem;\\n min-width: 34rem;\\n max-width: 64rem; }\\n\\n.modal .title {\\n font-size: 1.8rem;\\n text-align: center; }\\n\\n.modal .open-form .wallet-path {\\n font-size: 1.3rem;\\n margin: 5rem 0 2rem;\\n word-wrap: break-word;\\n line-height: 2rem; }\\n\\n.modal .open-form .wrap-button {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n margin: 2rem -2rem 0; }\\n\\n.modal .open-form .wrap-button button {\\n flex: 1 0 0;\\n margin: 0 2rem; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvb3Blbi13YWxsZXQtbW9kYWwvRDpcXFByb2plY3RcXFdPUktfTkVXXFx6YW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFwcFxcb3Blbi13YWxsZXQtbW9kYWxcXG9wZW4td2FsbGV0LW1vZGFsLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsZUFBZTtFQUNmLE1BQU07RUFDTixTQUFTO0VBQ1QsT0FBTztFQUNQLFFBQVE7RUFDUixhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLHVCQUF1QjtFQUN2QixxQ0FBcUMsRUFBQTs7QUFHdkM7RUFDRSxhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLDJCQUEyQjtFQUMzQixxQkFBcUI7RUFDckIsYUFBYTtFQUNiLGdCQUFnQjtFQUNoQixnQkFBZ0IsRUFBQTs7QUFQbEI7SUFVSSxpQkFBaUI7SUFDakIsa0JBQWtCLEVBQUE7O0FBWHRCO0lBaUJNLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIscUJBQXFCO0lBQ3JCLGlCQUFpQixFQUFBOztBQXBCdkI7SUF3Qk0sYUFBYTtJQUNiLG1CQUFtQjtJQUNuQiw4QkFBOEI7SUFDOUIsb0JBQW9CLEVBQUE7O0FBM0IxQjtNQThCUSxXQUFXO01BQ1gsY0FBZSxFQUFBIiwiZmlsZSI6InNyYy9hcHAvb3Blbi13YWxsZXQtbW9kYWwvb3Blbi13YWxsZXQtbW9kYWwuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcclxufVxyXG5cclxuLm1vZGFsIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gIGJhY2tncm91bmQtc2l6ZTogMjAwJTtcclxuICBwYWRkaW5nOiAycmVtO1xyXG4gIG1pbi13aWR0aDogMzRyZW07XHJcbiAgbWF4LXdpZHRoOiA2NHJlbTtcclxuXHJcbiAgLnRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxuXHJcbiAgLm9wZW4tZm9ybSB7XHJcblxyXG4gICAgLndhbGxldC1wYXRoIHtcclxuICAgICAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgICAgIG1hcmdpbjogNXJlbSAwIDJyZW07XHJcbiAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDJyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLndyYXAtYnV0dG9uIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICBtYXJnaW46IDJyZW0gLTJyZW0gMDtcclxuXHJcbiAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgZmxleDogMSAwIDA7XHJcbiAgICAgICAgbWFyZ2luOiAwIDJyZW0gO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ== */\"","import {Component, OnInit, Input, NgZone} from '@angular/core';\r\nimport {VariablesService} from '../_helpers/services/variables.service';\r\nimport {Wallet} from '../_helpers/models/wallet.model';\r\nimport {BackendService} from '../_helpers/services/backend.service';\r\nimport {TranslateService} from '@ngx-translate/core';\r\nimport {ModalService} from '../_helpers/services/modal.service';\r\n\r\n@Component({\r\n selector: 'app-open-wallet-modal',\r\n templateUrl: './open-wallet-modal.component.html',\r\n styleUrls: ['./open-wallet-modal.component.scss']\r\n})\r\nexport class OpenWalletModalComponent implements OnInit {\r\n\r\n @Input() wallets;\r\n\r\n wallet = {\r\n name: '',\r\n path: '',\r\n pass: '',\r\n notFound: false,\r\n emptyPass: false\r\n };\r\n\r\n constructor(\r\n public variablesService: VariablesService,\r\n private backend: BackendService,\r\n private translate: TranslateService,\r\n private modalService: ModalService,\r\n private ngZone: NgZone,\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n if (this.wallets.length) {\r\n this.wallet = this.wallets[0];\r\n this.wallet.pass = '';\r\n }\r\n }\r\n\r\n openWallet() {\r\n if (this.wallets.length === 0) {\r\n return;\r\n }\r\n this.backend.openWallet(this.wallet.path, this.wallet.pass, this.variablesService.count, false, (open_status, open_data, open_error) => {\r\n if (open_error && open_error === 'FILE_NOT_FOUND') {\r\n this.ngZone.run(() => {\r\n this.wallet.notFound = true;\r\n });\r\n let error_translate = this.translate.instant('OPEN_WALLET.FILE_NOT_FOUND1');\r\n error_translate += ':
      ' + this.wallet.path;\r\n error_translate += this.translate.instant('OPEN_WALLET.FILE_NOT_FOUND2');\r\n this.modalService.prepareModal('error', error_translate);\r\n } else {\r\n if (open_status || open_error === 'FILE_RESTORED') {\r\n\r\n let exists = false;\r\n this.variablesService.wallets.forEach((wallet) => {\r\n if (wallet.address === open_data['wi'].address) {\r\n exists = true;\r\n }\r\n });\r\n\r\n if (exists) {\r\n this.modalService.prepareModal('error', 'OPEN_WALLET.WITH_ADDRESS_ALREADY_OPEN');\r\n this.backend.closeWallet(open_data.wallet_id);\r\n } else {\r\n const new_wallet = new Wallet(\r\n open_data.wallet_id,\r\n this.wallet.name,\r\n this.wallet.pass,\r\n open_data['wi'].path,\r\n open_data['wi'].address,\r\n open_data['wi'].balance,\r\n open_data['wi'].unlocked_balance,\r\n open_data['wi'].mined_total,\r\n open_data['wi'].tracking_hey\r\n );\r\n new_wallet.alias = this.backend.getWalletAlias(new_wallet.address);\r\n new_wallet.is_auditable = open_data['wi'].is_auditable;\r\n new_wallet.is_watch_only = open_data['wi'].is_watch_only;\r\n new_wallet.currentPage = 1;\r\n new_wallet.exclude_mining_txs = false;\r\n if (open_data.recent_history && open_data.recent_history.history) {\r\n new_wallet.total_history_item = open_data.recent_history.total_history_items;\r\n new_wallet.totalPages = Math.ceil( open_data.recent_history.total_history_items / this.variablesService.count);\r\n new_wallet.totalPages > this.variablesService.maxPages\r\n ? new_wallet.pages = new Array(5).fill(1).map((value, index) => value + index)\r\n : new_wallet.pages = new Array(new_wallet.totalPages).fill(1).map((value, index) => value + index);\r\n new_wallet.prepareHistory(open_data.recent_history.history);\r\n } else {\r\n new_wallet.total_history_item = 0;\r\n new_wallet.pages = new Array(1).fill(1);\r\n new_wallet.totalPages = 1;\r\n }\r\n this.backend.getContracts(open_data.wallet_id, (contracts_status, contracts_data) => {\r\n if (contracts_status && contracts_data.hasOwnProperty('contracts')) {\r\n this.ngZone.run(() => {\r\n new_wallet.prepareContractsAfterOpen(\r\n contracts_data.contracts,\r\n this.variablesService.exp_med_ts,\r\n this.variablesService.height_app,\r\n this.variablesService.settings.viewedContracts,\r\n this.variablesService.settings.notViewedContracts\r\n );\r\n });\r\n }\r\n });\r\n this.variablesService.wallets.push(new_wallet);\r\n this.backend.runWallet(open_data.wallet_id);\r\n this.skipWallet();\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n skipWallet() {\r\n this.ngZone.run(() => {\r\n if (this.wallets.length) {\r\n this.wallets.splice(0, 1);\r\n this.ngOnInit();\r\n }\r\n });\r\n }\r\n\r\n}\r\n","module.exports = \"
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n {{ 'BREADCRUMBS.ADD_WALLET' | translate }}\\r\\n {{ 'BREADCRUMBS.OPEN_WALLET' | translate }}\\r\\n
      \\r\\n \\r\\n
      \\r\\n\\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'OPEN_WALLET.FORM_ERRORS.NAME_REQUIRED' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'OPEN_WALLET.FORM_ERRORS.NAME_DUPLICATE' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      = variablesService.maxWalletNameLength\\\">\\r\\n {{ 'OPEN_WALLET.FORM_ERRORS.MAX_LENGTH' | translate }}\\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n
      \\r\\n\\r\\n
      \\r\\n\\r\\n
      \\r\\n\\r\\n\"","module.exports = \".form-open {\\n margin: 2.4rem 0;\\n width: 50%; }\\n .form-open .wrap-buttons {\\n display: flex;\\n margin: 2.5rem -0.7rem; }\\n .form-open .wrap-buttons button {\\n margin: 0 0.7rem; }\\n .form-open .wrap-buttons button.create-button {\\n flex: 1 1 50%; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvb3Blbi13YWxsZXQvRDpcXFByb2plY3RcXFdPUktfTkVXXFx6YW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFwcFxcb3Blbi13YWxsZXRcXG9wZW4td2FsbGV0LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsZ0JBQWdCO0VBQ2hCLFVBQVUsRUFBQTtFQUZaO0lBS0ksYUFBYTtJQUNiLHNCQUFzQixFQUFBO0VBTjFCO01BU00sZ0JBQWdCLEVBQUE7RUFUdEI7UUFZUSxhQUFhLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9vcGVuLXdhbGxldC9vcGVuLXdhbGxldC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5mb3JtLW9wZW4ge1xyXG4gIG1hcmdpbjogMi40cmVtIDA7XHJcbiAgd2lkdGg6IDUwJTtcclxuXHJcbiAgLndyYXAtYnV0dG9ucyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWFyZ2luOiAyLjVyZW0gLTAuN3JlbTtcclxuXHJcbiAgICBidXR0b24ge1xyXG4gICAgICBtYXJnaW46IDAgMC43cmVtO1xyXG5cclxuICAgICAgJi5jcmVhdGUtYnV0dG9uIHtcclxuICAgICAgICBmbGV4OiAxIDEgNTAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ== */\"","import {Component, NgZone, OnDestroy, OnInit} from '@angular/core';\r\nimport {FormGroup, FormControl, Validators} from '@angular/forms';\r\nimport {BackendService} from '../_helpers/services/backend.service';\r\nimport {VariablesService} from '../_helpers/services/variables.service';\r\nimport {ModalService} from '../_helpers/services/modal.service';\r\nimport {ActivatedRoute, Router} from '@angular/router';\r\nimport {Wallet} from '../_helpers/models/wallet.model';\r\nimport {TranslateService} from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-open-wallet',\r\n templateUrl: './open-wallet.component.html',\r\n styleUrls: ['./open-wallet.component.scss']\r\n})\r\nexport class OpenWalletComponent implements OnInit, OnDestroy {\r\n\r\n queryRouting;\r\n filePath: string;\r\n\r\n openForm = new FormGroup({\r\n name: new FormControl('', [Validators.required, (g: FormControl) => {\r\n for (let i = 0; i < this.variablesService.wallets.length; i++) {\r\n if (g.value === this.variablesService.wallets[i].name) {\r\n return {'duplicate': true};\r\n }\r\n }\r\n return null;\r\n }]),\r\n password: new FormControl('')\r\n });\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private backend: BackendService,\r\n public variablesService: VariablesService,\r\n private modalService: ModalService,\r\n private ngZone: NgZone,\r\n private translate: TranslateService\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n this.queryRouting = this.route.queryParams.subscribe(params => {\r\n if (params.path) {\r\n this.filePath = params.path;\r\n let filename = '';\r\n if (params.path.lastIndexOf('.') === -1) {\r\n filename = params.path.substr(params.path.lastIndexOf('/') + 1);\r\n } else {\r\n filename = params.path.substr(params.path.lastIndexOf('/') + 1, params.path.lastIndexOf('.') - 1 - params.path.lastIndexOf('/'));\r\n }\r\n if (filename.length > 25) {\r\n filename = filename.slice(0, 25);\r\n }\r\n this.openForm.get('name').setValue(filename);\r\n this.openForm.get('name').markAsTouched();\r\n }\r\n });\r\n }\r\n\r\n openWallet() {\r\n if (this.openForm.valid && this.openForm.get('name').value.length <= this.variablesService.maxWalletNameLength) {\r\n this.backend.openWallet(this.filePath, this.openForm.get('password').value, this.variablesService.count, false, (open_status, open_data, open_error) => {\r\n if (open_error && open_error === 'FILE_NOT_FOUND') {\r\n let error_translate = this.translate.instant('OPEN_WALLET.FILE_NOT_FOUND1');\r\n error_translate += ':
      ' + this.filePath;\r\n error_translate += this.translate.instant('OPEN_WALLET.FILE_NOT_FOUND2');\r\n this.modalService.prepareModal('error', error_translate);\r\n } else {\r\n if (open_status || open_error === 'FILE_RESTORED') {\r\n\r\n let exists = false;\r\n this.variablesService.wallets.forEach((wallet) => {\r\n if (wallet.address === open_data['wi'].address) {\r\n exists = true;\r\n }\r\n });\r\n\r\n if (exists) {\r\n this.modalService.prepareModal('error', 'OPEN_WALLET.WITH_ADDRESS_ALREADY_OPEN');\r\n this.backend.closeWallet(open_data.wallet_id, () => {\r\n this.ngZone.run(() => {\r\n this.router.navigate(['/']);\r\n });\r\n });\r\n } else {\r\n const new_wallet = new Wallet(\r\n open_data.wallet_id,\r\n this.openForm.get('name').value,\r\n this.openForm.get('password').value,\r\n open_data['wi'].path,\r\n open_data['wi'].address,\r\n open_data['wi'].balance,\r\n open_data['wi'].unlocked_balance,\r\n open_data['wi'].mined_total,\r\n open_data['wi'].tracking_hey\r\n );\r\n new_wallet.alias = this.backend.getWalletAlias(new_wallet.address);\r\n new_wallet.currentPage = 1;\r\n new_wallet.open_from_exist = true;\r\n new_wallet.exclude_mining_txs = false;\r\n new_wallet.is_auditable = open_data['wi'].is_auditable;\r\n new_wallet.is_watch_only = open_data['wi'].is_watch_only;\r\n if (open_data.recent_history && open_data.recent_history.history) {\r\n new_wallet.total_history_item = open_data.recent_history.total_history_items;\r\n new_wallet.totalPages = Math.ceil( open_data.recent_history.total_history_items / this.variablesService.count);\r\n new_wallet.totalPages > this.variablesService.maxPages\r\n ? new_wallet.pages = new Array(5).fill(1).map((value, index) => value + index)\r\n : new_wallet.pages = new Array(new_wallet.totalPages).fill(1).map((value, index) => value + index);\r\n new_wallet.prepareHistory(open_data.recent_history.history);\r\n } else {\r\n new_wallet.total_history_item = 0;\r\n new_wallet.pages = new Array(1).fill(1);\r\n new_wallet.totalPages = 1;\r\n }\r\n this.backend.getContracts(open_data.wallet_id, (contracts_status, contracts_data) => {\r\n if (contracts_status && contracts_data.hasOwnProperty('contracts')) {\r\n this.ngZone.run(() => {\r\n new_wallet.prepareContractsAfterOpen(contracts_data.contracts, this.variablesService.exp_med_ts, this.variablesService.height_app, this.variablesService.settings.viewedContracts, this.variablesService.settings.notViewedContracts);\r\n });\r\n }\r\n });\r\n this.variablesService.wallets.push(new_wallet);\r\n this.backend.runWallet(open_data.wallet_id, (run_status, run_data) => {\r\n if (run_status) {\r\n if (this.variablesService.appPass) {\r\n this.backend.storeSecureAppData();\r\n }\r\n this.ngZone.run(() => {\r\n this.router.navigate(['/wallet/' + open_data.wallet_id]);\r\n });\r\n } else {\r\n console.log(run_data['error_code']);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.queryRouting.unsubscribe();\r\n }\r\n\r\n}\r\n","module.exports = \"
      \\r\\n
      \\r\\n {{ 'BREADCRUMBS.CONTRACTS' | translate }}\\r\\n {{ 'BREADCRUMBS.NEW_PURCHASE' | translate }}\\r\\n {{ 'BREADCRUMBS.OLD_PURCHASE' | translate }}\\r\\n
      \\r\\n \\r\\n
      \\r\\n\\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'PURCHASE.FORM_ERRORS.DESC_REQUIRED' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      = 100\\\">\\r\\n
      \\r\\n {{ 'PURCHASE.FORM_ERRORS.COMMENT_MAXIMUM' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      {{item.name}}
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n {{ 'PURCHASE.FORM_ERRORS.SELLER_REQUIRED' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'PURCHASE.FORM_ERRORS.SELLER_NOT_VALID' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'PURCHASE.FORM_ERRORS.SELLER_SAME' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'PURCHASE.FORM_ERRORS.ALIAS_NOT_VALID' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'PURCHASE.FORM_ERRORS.AMOUNT_REQUIRED' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'PURCHASE.FORM_ERRORS.AMOUNT_ZERO' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'PURCHASE.FORM_ERRORS.YOUR_DEPOSIT_REQUIRED' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'PURCHASE.FORM_ERRORS.SELLER_DEPOSIT_REQUIRED' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      = 100\\\">\\r\\n
      \\r\\n {{ 'PURCHASE.FORM_ERRORS.COMMENT_MAXIMUM' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n \\r\\n\\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n 1 {{ 'PURCHASE.HOUR' | translate }}\\r\\n \\r\\n {{title}} {{ 'PURCHASE.HOURS' | translate }}\\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n\\r\\n \\r\\n\\r\\n
      \\r\\n \\r\\n {{ 'PURCHASE.NEED_MONEY' | translate }}\\r\\n \\r\\n
      \\r\\n\\r\\n
      \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
      \\r\\n\\r\\n
      \\r\\n
      {{'PURCHASE.NULLIFY_QUESTION' | translate}}
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n
      {{ 'PURCHASE.WAITING_TIME_QUESTION' | translate }}
      \\r\\n \\r\\n
      \\r\\n \\r\\n 1 {{ 'PURCHASE.HOUR' | translate }}\\r\\n \\r\\n {{title}} {{ 'PURCHASE.HOURS' | translate }}\\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n \\r\\n {{ 'PURCHASE.STATUS_MESSAGES.NEW_PURCHASE' | translate }}\\r\\n \\r\\n\\r\\n \\r\\n {{ 'PURCHASE.STATUS_MESSAGES.WAITING_SELLER' | translate }}\\r\\n\\r\\n {{ 'PURCHASE.STATUS_MESSAGES.IGNORED_SELLER' | translate }}\\r\\n\\r\\n {{ 'PURCHASE.STATUS_MESSAGES.WAITING_DELIVERY' | translate }}\\r\\n\\r\\n {{ 'PURCHASE.STATUS_MESSAGES.IGNORED_CANCEL_SELLER' | translate }}\\r\\n\\r\\n {{ 'PURCHASE.STATUS_MESSAGES.EXPIRED' | translate }}\\r\\n\\r\\n {{ 'PURCHASE.STATUS_MESSAGES.WAITING_SELLER' | translate }}\\r\\n\\r\\n \\r\\n {{ 'PURCHASE.STATUS_MESSAGES.WAITING_CONFIRMATION' | translate }}\\r\\n (0/10)\\r\\n ({{variablesService.height_app - currentContract.height}}/10)\\r\\n \\r\\n\\r\\n {{ 'PURCHASE.STATUS_MESSAGES.COMPLETED' | translate }}\\r\\n\\r\\n \\r\\n {{ 'PURCHASE.STATUS_MESSAGES.NOT_RECEIVED' | translate }}. {{ 'PURCHASE.STATUS_MESSAGES.NULLIFIED' | translate }}\\r\\n \\r\\n\\r\\n {{ 'PURCHASE.STATUS_MESSAGES.PROPOSAL_CANCEL_SELLER' | translate }}\\r\\n\\r\\n {{ 'PURCHASE.STATUS_MESSAGES.CANCELLED' | translate }}\\r\\n\\r\\n \\r\\n {{ 'PURCHASE.STATUS_MESSAGES.BEING_CANCELLED' | translate }}\\r\\n (0/10)\\r\\n ({{variablesService.height_app - currentContract.height}}/10)\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{ 'PURCHASE.STATUS_MESSAGES.WAITING_BUYER' | translate }}\\r\\n\\r\\n {{ 'PURCHASE.STATUS_MESSAGES.IGNORED_BUYER' | translate }}\\r\\n\\r\\n {{ 'PURCHASE.STATUS_MESSAGES.IGNORED_CANCEL_BUYER' | translate }}\\r\\n\\r\\n {{ 'PURCHASE.STATUS_MESSAGES.EXPIRED' | translate }}\\r\\n\\r\\n {{ 'PURCHASE.STATUS_MESSAGES.WAITING_DELIVERY' | translate }}\\r\\n\\r\\n \\r\\n {{ 'PURCHASE.STATUS_MESSAGES.WAITING_CONFIRMATION' | translate }}\\r\\n (0/10)\\r\\n ({{variablesService.height_app - currentContract.height}}/10)\\r\\n \\r\\n\\r\\n {{ 'PURCHASE.STATUS_MESSAGES.COMPLETED' | translate }}\\r\\n\\r\\n \\r\\n {{ 'PURCHASE.STATUS_MESSAGES.NOT_RECEIVED' | translate }}. {{ 'PURCHASE.STATUS_MESSAGES.NULLIFIED' | translate }}\\r\\n \\r\\n\\r\\n {{ 'PURCHASE.STATUS_MESSAGES.PROPOSAL_CANCEL_BUYER' | translate }}\\r\\n\\r\\n {{ 'PURCHASE.STATUS_MESSAGES.CANCELLED' | translate }}\\r\\n\\r\\n \\r\\n {{ 'PURCHASE.STATUS_MESSAGES.BEING_CANCELLED' | translate }}\\r\\n (0/10)\\r\\n ({{variablesService.height_app - currentContract.height}}/10)\\r\\n \\r\\n \\r\\n\\r\\n
      \\r\\n
      \\r\\n {{currentContract.expiration_time | contractTimeLeft: 0}}\\r\\n {{currentContract.cancel_expiration_time | contractTimeLeft: 2}}\\r\\n {{currentContract.expiration_time | contractTimeLeft: 1}}\\r\\n {{currentContract.cancel_expiration_time | contractTimeLeft: 1}}\\r\\n
      \\r\\n
      \\r\\n\"","module.exports = \":host {\\n display: flex;\\n flex-direction: column;\\n width: 100%; }\\n\\n.head {\\n flex: 0 0 auto;\\n box-sizing: content-box;\\n margin: -3rem -3rem 0; }\\n\\n.form-purchase {\\n flex: 1 1 auto;\\n margin: 1.5rem -3rem 0;\\n padding: 0 3rem;\\n overflow-y: overlay; }\\n\\n.form-purchase .input-blocks-row {\\n display: flex; }\\n\\n.form-purchase .input-blocks-row .input-block {\\n flex-basis: 50%; }\\n\\n.form-purchase .input-blocks-row .input-block:first-child {\\n margin-right: 1.5rem; }\\n\\n.form-purchase .input-blocks-row .input-block:last-child {\\n margin-left: 1.5rem; }\\n\\n.form-purchase .input-blocks-row .input-block .checkbox-block {\\n display: flex; }\\n\\n.form-purchase .purchase-select {\\n display: flex;\\n align-items: center;\\n background: transparent;\\n border: none;\\n font-size: 1.3rem;\\n line-height: 1.3rem;\\n margin: 1.5rem 0 0;\\n padding: 0;\\n width: 100%;\\n max-width: 15rem;\\n height: 1.3rem; }\\n\\n.form-purchase .purchase-select .arrow {\\n margin-left: 1rem;\\n width: 0.8rem;\\n height: 0.8rem; }\\n\\n.form-purchase .purchase-select .arrow.down {\\n -webkit-mask: url('arrow-down.svg') no-repeat center;\\n mask: url('arrow-down.svg') no-repeat center; }\\n\\n.form-purchase .purchase-select .arrow.up {\\n -webkit-mask: url('arrow-up.svg') no-repeat center;\\n mask: url('arrow-up.svg') no-repeat center; }\\n\\n.form-purchase .additional-details {\\n display: flex;\\n margin-top: 1.5rem;\\n padding: 0.5rem 0 2rem; }\\n\\n.form-purchase .additional-details > div {\\n flex-basis: 25%; }\\n\\n.form-purchase .additional-details > div:first-child {\\n padding-left: 1.5rem;\\n padding-right: 1rem; }\\n\\n.form-purchase .additional-details > div:last-child {\\n padding-left: 1rem;\\n padding-right: 1.5rem; }\\n\\n.form-purchase .purchase-states {\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: center;\\n font-size: 1.2rem;\\n line-height: 2.9rem; }\\n\\n.form-purchase .send-button {\\n margin: 2.4rem 0;\\n width: 100%;\\n max-width: 15rem; }\\n\\n.form-purchase .purchase-buttons {\\n display: flex;\\n justify-content: flex-start;\\n margin: 2.4rem -0.5rem; }\\n\\n.form-purchase .purchase-buttons button {\\n flex: 0 1 33%;\\n margin: 0 0.5rem; }\\n\\n.form-purchase .nullify-block-row {\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: center; }\\n\\n.form-purchase .nullify-block-row .nullify-block-buttons {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n margin: 1rem 0;\\n width: 100%; }\\n\\n.form-purchase .nullify-block-row .nullify-block-buttons button {\\n flex: 0 1 25%;\\n margin: 0 0.5rem; }\\n\\n.form-purchase .time-cancel-block-row {\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: center; }\\n\\n.form-purchase .time-cancel-block-row .time-cancel-block-question {\\n margin-bottom: 1rem; }\\n\\n.form-purchase .time-cancel-block-row .input-block {\\n width: 25%; }\\n\\n.form-purchase .time-cancel-block-row label {\\n margin-bottom: 1rem; }\\n\\n.form-purchase .time-cancel-block-row .time-cancel-block-buttons {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n margin: 1rem 0;\\n width: 100%; }\\n\\n.form-purchase .time-cancel-block-row .time-cancel-block-buttons button {\\n flex: 0 1 25%;\\n margin: 0 0.5rem; }\\n\\n.progress-bar-container {\\n position: absolute;\\n bottom: 0;\\n left: 0;\\n padding: 0 3rem;\\n width: 100%;\\n height: 3rem; }\\n\\n.progress-bar-container .progress-bar {\\n position: absolute;\\n top: -0.7rem;\\n left: 0;\\n margin: 0 3rem;\\n width: calc(100% - 6rem);\\n height: 0.7rem; }\\n\\n.progress-bar-container .progress-bar .progress-bar-full {\\n height: 0.7rem; }\\n\\n.progress-bar-container .progress-labels {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n font-size: 1.2rem;\\n height: 100%; }\\n\\n.progress-bar-container .progress-time {\\n position: absolute;\\n top: -3rem;\\n left: 50%;\\n transform: translateX(-50%);\\n font-size: 1.2rem; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcHVyY2hhc2UvRDpcXFByb2plY3RcXFdPUktfTkVXXFx6YW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFwcFxccHVyY2hhc2VcXHB1cmNoYXNlLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixXQUFXLEVBQUE7O0FBR2I7RUFDRSxjQUFjO0VBQ2QsdUJBQXVCO0VBQ3ZCLHFCQUFxQixFQUFBOztBQUd2QjtFQUNFLGNBQWM7RUFDZCxzQkFBc0I7RUFDdEIsZUFBZTtFQUNmLG1CQUFtQixFQUFBOztBQUpyQjtJQU9JLGFBQWEsRUFBQTs7QUFQakI7TUFVTSxlQUFlLEVBQUE7O0FBVnJCO1FBYVEsb0JBQW9CLEVBQUE7O0FBYjVCO1FBaUJRLG1CQUFtQixFQUFBOztBQWpCM0I7UUFxQlEsYUFBYSxFQUFBOztBQXJCckI7SUEyQkksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIsWUFBWTtJQUNaLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsa0JBQWtCO0lBQ2xCLFVBQVU7SUFDVixXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGNBQWMsRUFBQTs7QUFyQ2xCO01Bd0NNLGlCQUFpQjtNQUNqQixhQUFhO01BQ2IsY0FBYyxFQUFBOztBQTFDcEI7UUE2Q1Esb0RBQTREO2dCQUE1RCw0Q0FBNEQsRUFBQTs7QUE3Q3BFO1FBaURRLGtEQUEwRDtnQkFBMUQsMENBQTBELEVBQUE7O0FBakRsRTtJQXVESSxhQUFhO0lBQ2Isa0JBQWtCO0lBQ2xCLHNCQUFzQixFQUFBOztBQXpEMUI7TUE0RE0sZUFBZSxFQUFBOztBQTVEckI7UUErRFEsb0JBQW9CO1FBQ3BCLG1CQUFtQixFQUFBOztBQWhFM0I7UUFvRVEsa0JBQWtCO1FBQ2xCLHFCQUFxQixFQUFBOztBQXJFN0I7SUEyRUksYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLGlCQUFpQjtJQUNqQixtQkFBbUIsRUFBQTs7QUFoRnZCO0lBb0ZJLGdCQUFnQjtJQUNoQixXQUFXO0lBQ1gsZ0JBQWdCLEVBQUE7O0FBdEZwQjtJQTBGSSxhQUFhO0lBQ2IsMkJBQTJCO0lBQzNCLHNCQUFzQixFQUFBOztBQTVGMUI7TUErRk0sYUFBYTtNQUNiLGdCQUFnQixFQUFBOztBQWhHdEI7SUFxR0ksYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixtQkFBbUI7SUFDbkIsdUJBQXVCLEVBQUE7O0FBeEczQjtNQTJHTSxhQUFhO01BQ2IsbUJBQW1CO01BQ25CLHVCQUF1QjtNQUN2QixjQUFjO01BQ2QsV0FBVyxFQUFBOztBQS9HakI7UUFrSFEsYUFBYTtRQUNiLGdCQUFnQixFQUFBOztBQW5IeEI7SUF5SEksYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixtQkFBbUI7SUFDbkIsdUJBQXVCLEVBQUE7O0FBNUgzQjtNQStITSxtQkFBbUIsRUFBQTs7QUEvSHpCO01BbUlNLFVBQVUsRUFBQTs7QUFuSWhCO01BdUlNLG1CQUFtQixFQUFBOztBQXZJekI7TUEySU0sYUFBYTtNQUNiLG1CQUFtQjtNQUNuQix1QkFBdUI7TUFDdkIsY0FBYztNQUNkLFdBQVcsRUFBQTs7QUEvSWpCO1FBa0pRLGFBQWE7UUFDYixnQkFBZ0IsRUFBQTs7QUFPeEI7RUFDRSxrQkFBa0I7RUFDbEIsU0FBUztFQUNULE9BQU87RUFDUCxlQUFlO0VBQ2YsV0FBVztFQUNYLFlBQVksRUFBQTs7QUFOZDtJQVNJLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osT0FBTztJQUNQLGNBQWM7SUFDZCx3QkFBd0I7SUFDeEIsY0FBYyxFQUFBOztBQWRsQjtNQWlCTSxjQUFjLEVBQUE7O0FBakJwQjtJQXNCSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixpQkFBaUI7SUFDakIsWUFBWSxFQUFBOztBQTFCaEI7SUE4Qkksa0JBQWtCO0lBQ2xCLFVBQVU7SUFDVixTQUFTO0lBQ1QsMkJBQTJCO0lBQzNCLGlCQUFpQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvcHVyY2hhc2UvcHVyY2hhc2UuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uaGVhZCB7XHJcbiAgZmxleDogMCAwIGF1dG87XHJcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgbWFyZ2luOiAtM3JlbSAtM3JlbSAwO1xyXG59XHJcblxyXG4uZm9ybS1wdXJjaGFzZSB7XHJcbiAgZmxleDogMSAxIGF1dG87XHJcbiAgbWFyZ2luOiAxLjVyZW0gLTNyZW0gMDtcclxuICBwYWRkaW5nOiAwIDNyZW07XHJcbiAgb3ZlcmZsb3cteTogb3ZlcmxheTtcclxuXHJcbiAgLmlucHV0LWJsb2Nrcy1yb3cge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuXHJcbiAgICAuaW5wdXQtYmxvY2sge1xyXG4gICAgICBmbGV4LWJhc2lzOiA1MCU7XHJcblxyXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMS41cmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuY2hlY2tib3gtYmxvY2sge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5wdXJjaGFzZS1zZWxlY3Qge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuM3JlbTtcclxuICAgIG1hcmdpbjogMS41cmVtIDAgMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogMTVyZW07XHJcbiAgICBoZWlnaHQ6IDEuM3JlbTtcclxuXHJcbiAgICAuYXJyb3cge1xyXG4gICAgICBtYXJnaW4tbGVmdDogMXJlbTtcclxuICAgICAgd2lkdGg6IDAuOHJlbTtcclxuICAgICAgaGVpZ2h0OiAwLjhyZW07XHJcblxyXG4gICAgICAmLmRvd24ge1xyXG4gICAgICAgIG1hc2s6IHVybCh+c3JjL2Fzc2V0cy9pY29ucy9hcnJvdy1kb3duLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi51cCB7XHJcbiAgICAgICAgbWFzazogdXJsKH5zcmMvYXNzZXRzL2ljb25zL2Fycm93LXVwLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmFkZGl0aW9uYWwtZGV0YWlscyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xyXG4gICAgcGFkZGluZzogMC41cmVtIDAgMnJlbTtcclxuXHJcbiAgICA+IGRpdiB7XHJcbiAgICAgIGZsZXgtYmFzaXM6IDI1JTtcclxuXHJcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnB1cmNoYXNlLXN0YXRlcyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDIuOXJlbTtcclxuICB9XHJcblxyXG4gIC5zZW5kLWJ1dHRvbiB7XHJcbiAgICBtYXJnaW46IDIuNHJlbSAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDE1cmVtO1xyXG4gIH1cclxuXHJcbiAgLnB1cmNoYXNlLWJ1dHRvbnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIG1hcmdpbjogMi40cmVtIC0wLjVyZW07XHJcblxyXG4gICAgYnV0dG9uIHtcclxuICAgICAgZmxleDogMCAxIDMzJTtcclxuICAgICAgbWFyZ2luOiAwIDAuNXJlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5udWxsaWZ5LWJsb2NrLXJvdyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICAubnVsbGlmeS1ibG9jay1idXR0b25zIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIG1hcmdpbjogMXJlbSAwO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgZmxleDogMCAxIDI1JTtcclxuICAgICAgICBtYXJnaW46IDAgMC41cmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAudGltZS1jYW5jZWwtYmxvY2stcm93IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgIC50aW1lLWNhbmNlbC1ibG9jay1xdWVzdGlvbiB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLmlucHV0LWJsb2NrIHtcclxuICAgICAgd2lkdGg6IDI1JTtcclxuICAgIH1cclxuXHJcbiAgICBsYWJlbCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLnRpbWUtY2FuY2VsLWJsb2NrLWJ1dHRvbnMge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgbWFyZ2luOiAxcmVtIDA7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgYnV0dG9uIHtcclxuICAgICAgICBmbGV4OiAwIDEgMjUlO1xyXG4gICAgICAgIG1hcmdpbjogMCAwLjVyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG4ucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHBhZGRpbmc6IDAgM3JlbTtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDNyZW07XHJcblxyXG4gIC5wcm9ncmVzcy1iYXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAtMC43cmVtO1xyXG4gICAgbGVmdDogMDtcclxuICAgIG1hcmdpbjogMCAzcmVtO1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDZyZW0pO1xyXG4gICAgaGVpZ2h0OiAwLjdyZW07XHJcblxyXG4gICAgLnByb2dyZXNzLWJhci1mdWxsIHtcclxuICAgICAgaGVpZ2h0OiAwLjdyZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAucHJvZ3Jlc3MtbGFiZWxzIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICB9XHJcblxyXG4gIC5wcm9ncmVzcy10aW1lIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogLTNyZW07XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICB9XHJcbn1cclxuIl19 */\"","import {Component, OnInit, OnDestroy, NgZone, HostListener} from '@angular/core';\r\nimport {ActivatedRoute} from '@angular/router';\r\nimport {FormControl, FormGroup, Validators} from '@angular/forms';\r\nimport {BackendService} from '../_helpers/services/backend.service';\r\nimport {VariablesService} from '../_helpers/services/variables.service';\r\nimport {ModalService} from '../_helpers/services/modal.service';\r\nimport {Location} from '@angular/common';\r\nimport {IntToMoneyPipe} from '../_helpers/pipes/int-to-money.pipe';\r\nimport {BigNumber} from 'bignumber.js';\r\n\r\n@Component({\r\n selector: 'app-purchase',\r\n templateUrl: './purchase.component.html',\r\n styleUrls: ['./purchase.component.scss']\r\n})\r\nexport class PurchaseComponent implements OnInit, OnDestroy {\r\n\r\n isOpen = false;\r\n localAliases = [];\r\n\r\n currentWalletId;\r\n newPurchase = false;\r\n parentRouting;\r\n subRouting;\r\n historyBlock;\r\n\r\n purchaseForm = new FormGroup({\r\n description: new FormControl('', Validators.required),\r\n seller: new FormControl('', [Validators.required, (g: FormControl) => {\r\n if (g.value === this.variablesService.currentWallet.address) {\r\n return {'address_same': true};\r\n }\r\n return null;\r\n }, (g: FormControl) => {\r\n this.localAliases = [];\r\n if (g.value) {\r\n if (g.value.indexOf('@') !== 0) {\r\n this.isOpen = false;\r\n this.backend.validateAddress(g.value, (valid_status) => {\r\n this.ngZone.run(() => {\r\n if (valid_status === false) {\r\n g.setErrors(Object.assign({'address_not_valid': true}, g.errors));\r\n } else {\r\n if (g.hasError('address_not_valid')) {\r\n delete g.errors['address_not_valid'];\r\n if (Object.keys(g.errors).length === 0) {\r\n g.setErrors(null);\r\n }\r\n }\r\n }\r\n });\r\n });\r\n return (g.hasError('address_not_valid')) ? {'address_not_valid': true} : null;\r\n } else {\r\n this.isOpen = true;\r\n this.localAliases = this.variablesService.aliases.filter((item) => {\r\n return item.name.indexOf(g.value) > -1;\r\n });\r\n if (!(/^@?[a-z0-9\\.\\-]{6,25}$/.test(g.value))) {\r\n g.setErrors(Object.assign({'alias_not_valid': true}, g.errors));\r\n } else {\r\n this.backend.getAliasByName(g.value.replace('@', ''), (alias_status, alias_data) => {\r\n this.ngZone.run(() => {\r\n if (alias_status) {\r\n if (alias_data.address === this.variablesService.currentWallet.address) {\r\n g.setErrors(Object.assign({'address_same': true}, g.errors));\r\n }\r\n if (g.hasError('alias_not_valid')) {\r\n delete g.errors['alias_not_valid'];\r\n if (Object.keys(g.errors).length === 0) {\r\n g.setErrors(null);\r\n }\r\n }\r\n } else {\r\n g.setErrors(Object.assign({'alias_not_valid': true}, g.errors));\r\n }\r\n });\r\n });\r\n }\r\n return (g.hasError('alias_not_valid')) ? {'alias_not_valid': true} : null;\r\n }\r\n }\r\n return null;\r\n }]),\r\n amount: new FormControl(null, [Validators.required, (g: FormControl) => {\r\n if (parseFloat(g.value) === 0) {\r\n return {'amount_zero': true};\r\n }\r\n return null;\r\n }]),\r\n yourDeposit: new FormControl(null, Validators.required),\r\n sellerDeposit: new FormControl(null, Validators.required),\r\n sameAmount: new FormControl({value: false, disabled: false}),\r\n comment: new FormControl(''),\r\n fee: new FormControl(this.variablesService.default_fee),\r\n time: new FormControl({value: 12, disabled: false}),\r\n timeCancel: new FormControl({value: 12, disabled: false}),\r\n payment: new FormControl('')\r\n });\r\n\r\n additionalOptions = false;\r\n currentContract = null;\r\n heightAppEvent;\r\n showTimeSelect = false;\r\n showNullify = false;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private backend: BackendService,\r\n public variablesService: VariablesService,\r\n private modalService: ModalService,\r\n private ngZone: NgZone,\r\n private location: Location,\r\n private intToMoneyPipe: IntToMoneyPipe\r\n ) {\r\n }\r\n\r\n checkAndChangeHistory() {\r\n if (this.currentContract.state === 201) {\r\n this.historyBlock = this.variablesService.currentWallet.history.find(item => item.tx_type === 8 && item.contract[0].contract_id === this.currentContract.contract_id && item.contract[0].is_a === this.currentContract.is_a);\r\n } else if (this.currentContract.state === 601) {\r\n this.historyBlock = this.variablesService.currentWallet.history.find(item => item.tx_type === 12 && item.contract[0].contract_id === this.currentContract.contract_id && item.contract[0].is_a === this.currentContract.is_a);\r\n }\r\n }\r\n\r\n addressMouseDown(e) {\r\n if (e['button'] === 0 && this.purchaseForm.get('seller').value && this.purchaseForm.get('seller').value.indexOf('@') === 0) {\r\n this.isOpen = true;\r\n }\r\n }\r\n\r\n setAlias(alias) {\r\n this.purchaseForm.get('seller').setValue(alias);\r\n }\r\n\r\n @HostListener('document:click', ['$event.target'])\r\n public onClick(targetElement) {\r\n if (targetElement.id !== 'purchase-seller' && this.isOpen) {\r\n this.isOpen = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.parentRouting = this.route.parent.params.subscribe(params => {\r\n this.currentWalletId = params['id'];\r\n });\r\n this.subRouting = this.route.params.subscribe(params => {\r\n if (params.hasOwnProperty('id')) {\r\n this.currentContract = this.variablesService.currentWallet.getContract(params['id']);\r\n this.purchaseForm.controls['seller'].setValidators([]);\r\n this.purchaseForm.updateValueAndValidity();\r\n this.purchaseForm.setValue({\r\n description: this.currentContract.private_detailes.t,\r\n seller: this.currentContract.private_detailes.b_addr,\r\n amount: this.intToMoneyPipe.transform(this.currentContract.private_detailes.to_pay),\r\n yourDeposit: this.intToMoneyPipe.transform(this.currentContract.private_detailes.a_pledge),\r\n sellerDeposit: this.intToMoneyPipe.transform(this.currentContract.private_detailes.b_pledge),\r\n sameAmount: this.currentContract.private_detailes.to_pay.isEqualTo(this.currentContract.private_detailes.b_pledge),\r\n comment: this.currentContract.private_detailes.c,\r\n fee: this.variablesService.default_fee,\r\n time: 12,\r\n timeCancel: 12,\r\n payment: this.currentContract.payment_id\r\n });\r\n this.purchaseForm.get('sameAmount').disable();\r\n this.newPurchase = false;\r\n\r\n if (this.currentContract.is_new) {\r\n if (this.currentContract.is_a && this.currentContract.state === 2) {\r\n this.currentContract.state = 120;\r\n }\r\n if (this.currentContract.state === 130 && this.currentContract.cancel_expiration_time !== 0 && this.currentContract.cancel_expiration_time < this.variablesService.exp_med_ts) {\r\n this.currentContract.state = 2;\r\n }\r\n this.variablesService.settings.viewedContracts = (this.variablesService.settings.viewedContracts) ? this.variablesService.settings.viewedContracts : [];\r\n let findViewedCont = false;\r\n for (let j = 0; j < this.variablesService.settings.viewedContracts.length; j++) {\r\n if (this.variablesService.settings.viewedContracts[j].contract_id === this.currentContract.contract_id && this.variablesService.settings.viewedContracts[j].is_a === this.currentContract.is_a) {\r\n this.variablesService.settings.viewedContracts[j].state = this.currentContract.state;\r\n findViewedCont = true;\r\n break;\r\n }\r\n }\r\n if (!findViewedCont) {\r\n this.variablesService.settings.viewedContracts.push({\r\n contract_id: this.currentContract.contract_id,\r\n is_a: this.currentContract.is_a,\r\n state: this.currentContract.state\r\n });\r\n }\r\n this.currentContract.is_new = false;\r\n setTimeout(() => {\r\n this.variablesService.currentWallet.recountNewContracts();\r\n }, 0);\r\n }\r\n this.checkAndChangeHistory();\r\n } else {\r\n this.newPurchase = true;\r\n }\r\n });\r\n this.heightAppEvent = this.variablesService.getHeightAppEvent.subscribe((newHeight: number) => {\r\n if (this.currentContract && this.currentContract.state === 201 && this.currentContract.height !== 0 && (newHeight - this.currentContract.height) >= 10) {\r\n this.currentContract.state = 2;\r\n this.currentContract.is_new = true;\r\n this.variablesService.currentWallet.recountNewContracts();\r\n } else if (this.currentContract && this.currentContract.state === 601 && this.currentContract.height !== 0 && (newHeight - this.currentContract.height) >= 10) {\r\n this.currentContract.state = 6;\r\n this.currentContract.is_new = true;\r\n this.variablesService.currentWallet.recountNewContracts();\r\n }\r\n });\r\n }\r\n\r\n toggleOptions() {\r\n this.additionalOptions = !this.additionalOptions;\r\n }\r\n\r\n getProgressBarWidth() {\r\n let progress = '0';\r\n if (!this.newPurchase) {\r\n if (this.currentContract) {\r\n if (this.currentContract.state === 1) {\r\n progress = '10%';\r\n }\r\n if (this.currentContract.state === 201) {\r\n progress = '25%';\r\n }\r\n if ([120, 2].indexOf(this.currentContract.state) !== -1) {\r\n progress = '50%';\r\n }\r\n if ([5, 601].indexOf(this.currentContract.state) !== -1) {\r\n progress = '75%';\r\n }\r\n if ([110, 130, 140, 3, 4, 6].indexOf(this.currentContract.state) !== -1) {\r\n progress = '100%';\r\n }\r\n }\r\n }\r\n return progress;\r\n }\r\n\r\n sameAmountChange() {\r\n if (this.purchaseForm.get('sameAmount').value) {\r\n this.purchaseForm.get('sellerDeposit').clearValidators();\r\n this.purchaseForm.get('sellerDeposit').updateValueAndValidity();\r\n } else {\r\n this.purchaseForm.get('sellerDeposit').setValidators([Validators.required]);\r\n this.purchaseForm.get('sellerDeposit').updateValueAndValidity();\r\n }\r\n }\r\n\r\n createPurchase() {\r\n if (this.purchaseForm.valid) {\r\n const sellerDeposit = this.purchaseForm.get('sameAmount').value ? this.purchaseForm.get('amount').value : this.purchaseForm.get('sellerDeposit').value;\r\n if (this.purchaseForm.get('seller').value.indexOf('@') !== 0) {\r\n this.backend.createProposal(\r\n this.variablesService.currentWallet.wallet_id,\r\n this.purchaseForm.get('description').value,\r\n this.purchaseForm.get('comment').value,\r\n this.variablesService.currentWallet.address,\r\n this.purchaseForm.get('seller').value,\r\n this.purchaseForm.get('amount').value,\r\n this.purchaseForm.get('yourDeposit').value,\r\n sellerDeposit,\r\n this.purchaseForm.get('time').value,\r\n this.purchaseForm.get('payment').value,\r\n (create_status) => {\r\n if (create_status) {\r\n this.back();\r\n }\r\n });\r\n } else {\r\n this.backend.getAliasByName(this.purchaseForm.get('seller').value.replace('@', ''), (alias_status, alias_data) => {\r\n this.ngZone.run(() => {\r\n if (alias_status === false) {\r\n this.ngZone.run(() => {\r\n this.purchaseForm.get('seller').setErrors({'alias_not_valid': true});\r\n });\r\n } else {\r\n this.backend.createProposal(\r\n this.variablesService.currentWallet.wallet_id,\r\n this.purchaseForm.get('description').value,\r\n this.purchaseForm.get('comment').value,\r\n this.variablesService.currentWallet.address,\r\n alias_data.address,\r\n this.purchaseForm.get('amount').value,\r\n this.purchaseForm.get('yourDeposit').value,\r\n sellerDeposit,\r\n this.purchaseForm.get('time').value,\r\n this.purchaseForm.get('payment').value,\r\n (create_status) => {\r\n if (create_status) {\r\n this.back();\r\n }\r\n });\r\n }\r\n });\r\n });\r\n }\r\n }\r\n }\r\n\r\n back() {\r\n this.location.back();\r\n }\r\n\r\n acceptState() {\r\n this.backend.acceptProposal(this.currentWalletId, this.currentContract.contract_id, (accept_status) => {\r\n if (accept_status) {\r\n this.modalService.prepareModal('info', 'PURCHASE.ACCEPT_STATE_WAIT_BIG');\r\n this.back();\r\n }\r\n });\r\n }\r\n\r\n ignoredContract() {\r\n this.variablesService.settings.notViewedContracts = (this.variablesService.settings.notViewedContracts) ? this.variablesService.settings.notViewedContracts : [];\r\n let findViewedCont = false;\r\n for (let j = 0; j < this.variablesService.settings.notViewedContracts.length; j++) {\r\n if (this.variablesService.settings.notViewedContracts[j].contract_id === this.currentContract.contract_id && this.variablesService.settings.notViewedContracts[j].is_a === this.currentContract.is_a) {\r\n this.variablesService.settings.notViewedContracts[j].state = 110;\r\n this.variablesService.settings.notViewedContracts[j].time = this.currentContract.expiration_time;\r\n findViewedCont = true;\r\n break;\r\n }\r\n }\r\n if (!findViewedCont) {\r\n this.variablesService.settings.notViewedContracts.push({\r\n contract_id: this.currentContract.contract_id,\r\n is_a: this.currentContract.is_a,\r\n state: 110,\r\n time: this.currentContract.expiration_time\r\n });\r\n }\r\n this.currentContract.is_new = true;\r\n this.currentContract.state = 110;\r\n this.currentContract.time = this.currentContract.expiration_time;\r\n\r\n this.variablesService.currentWallet.recountNewContracts();\r\n this.modalService.prepareModal('info', 'PURCHASE.IGNORED_ACCEPT');\r\n this.back();\r\n }\r\n\r\n productNotGot() {\r\n this.backend.releaseProposal(this.currentWalletId, this.currentContract.contract_id, 'REL_B', (release_status) => {\r\n if (release_status) {\r\n this.modalService.prepareModal('info', 'PURCHASE.BURN_PROPOSAL');\r\n this.back();\r\n }\r\n });\r\n }\r\n\r\n dealsDetailsFinish() {\r\n this.backend.releaseProposal(this.currentWalletId, this.currentContract.contract_id, 'REL_N', (release_status) => {\r\n if (release_status) {\r\n this.modalService.prepareModal('success', 'PURCHASE.SUCCESS_FINISH_PROPOSAL');\r\n this.back();\r\n }\r\n });\r\n }\r\n\r\n dealsDetailsCancel() {\r\n this.backend.requestCancelContract(this.currentWalletId, this.currentContract.contract_id, this.purchaseForm.get('timeCancel').value, (cancel_status) => {\r\n if (cancel_status) {\r\n this.modalService.prepareModal('info', 'PURCHASE.SEND_CANCEL_PROPOSAL');\r\n this.back();\r\n }\r\n });\r\n }\r\n\r\n dealsDetailsDontCanceling() {\r\n this.variablesService.settings.notViewedContracts = this.variablesService.settings.notViewedContracts ? this.variablesService.settings.notViewedContracts : [];\r\n let findViewedCont = false;\r\n for (let j = 0; j < this.variablesService.settings.notViewedContracts.length; j++) {\r\n if (this.variablesService.settings.notViewedContracts[j].contract_id === this.currentContract.contract_id && this.variablesService.settings.notViewedContracts[j].is_a === this.currentContract.is_a) {\r\n this.variablesService.settings.notViewedContracts[j].state = 130;\r\n this.variablesService.settings.notViewedContracts[j].time = this.currentContract.cancel_expiration_time;\r\n findViewedCont = true;\r\n break;\r\n }\r\n }\r\n if (!findViewedCont) {\r\n this.variablesService.settings.notViewedContracts.push({\r\n contract_id: this.currentContract.contract_id,\r\n is_a: this.currentContract.is_a,\r\n state: 130,\r\n time: this.currentContract.cancel_expiration_time\r\n });\r\n }\r\n this.currentContract.is_new = true;\r\n this.currentContract.state = 130;\r\n this.currentContract.time = this.currentContract.cancel_expiration_time;\r\n this.variablesService.currentWallet.recountNewContracts();\r\n this.modalService.prepareModal('info', 'PURCHASE.IGNORED_CANCEL');\r\n this.back();\r\n }\r\n\r\n dealsDetailsSellerCancel() {\r\n this.backend.acceptCancelContract(this.currentWalletId, this.currentContract.contract_id, (accept_status) => {\r\n if (accept_status) {\r\n this.modalService.prepareModal('info', 'PURCHASE.DEALS_CANCELED_WAIT');\r\n this.back();\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.parentRouting.unsubscribe();\r\n this.subRouting.unsubscribe();\r\n this.heightAppEvent.unsubscribe();\r\n }\r\n\r\n}\r\n","module.exports = \"
      \\r\\n \\\"qr-code\\\"\\r\\n
      \\r\\n
      {{variablesService.currentWallet.address}}
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n\"","module.exports = \":host {\\n width: 100%; }\\n\\n.wrap-qr {\\n display: flex;\\n flex-direction: column;\\n align-items: center; }\\n\\n.wrap-qr img {\\n margin: 4rem 0; }\\n\\n.wrap-qr .wrap-address {\\n display: flex;\\n align-items: center;\\n font-size: 1.4rem;\\n line-height: 2.7rem; }\\n\\n.wrap-qr .wrap-address .btn-copy-address {\\n margin-left: 1.2rem;\\n width: 1.7rem;\\n height: 1.7rem; }\\n\\n.wrap-qr .wrap-address .btn-copy-address.copy {\\n -webkit-mask: url('copy.svg') no-repeat center;\\n mask: url('copy.svg') no-repeat center; }\\n\\n.wrap-qr .wrap-address .btn-copy-address.copy:hover {\\n opacity: 0.75; }\\n\\n.wrap-qr .wrap-address .btn-copy-address.copied {\\n -webkit-mask: url('complete-testwallet.svg') no-repeat center;\\n mask: url('complete-testwallet.svg') no-repeat center; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcmVjZWl2ZS9EOlxcUHJvamVjdFxcV09SS19ORVdcXHphbm9cXHNyY1xcZ3VpXFxxdC1kYWVtb25cXGh0bWxfc291cmNlL3NyY1xcYXBwXFxyZWNlaXZlXFxyZWNlaXZlLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsV0FBVyxFQUFBOztBQUdiO0VBQ0UsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixtQkFBbUIsRUFBQTs7QUFIckI7SUFNSSxjQUFjLEVBQUE7O0FBTmxCO0lBVUksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixpQkFBaUI7SUFDakIsbUJBQW1CLEVBQUE7O0FBYnZCO01BZ0JNLG1CQUFtQjtNQUNuQixhQUFhO01BQ2IsY0FBYyxFQUFBOztBQWxCcEI7UUFxQlEsOENBQXVEO2dCQUF2RCxzQ0FBdUQsRUFBQTs7QUFyQi9EO1VBd0JVLGFBQWEsRUFBQTs7QUF4QnZCO1FBNkJRLDZEQUFzRTtnQkFBdEUscURBQXNFLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9yZWNlaXZlL3JlY2VpdmUuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi53cmFwLXFyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgaW1nIHtcclxuICAgIG1hcmdpbjogNHJlbSAwO1xyXG4gIH1cclxuXHJcbiAgLndyYXAtYWRkcmVzcyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDIuN3JlbTtcclxuXHJcbiAgICAuYnRuLWNvcHktYWRkcmVzcyB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjJyZW07XHJcbiAgICAgIHdpZHRoOiAxLjdyZW07XHJcbiAgICAgIGhlaWdodDogMS43cmVtO1xyXG5cclxuICAgICAgJi5jb3B5IHtcclxuICAgICAgICBtYXNrOiB1cmwoLi4vLi4vYXNzZXRzL2ljb25zL2NvcHkuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIG9wYWNpdHk6IDAuNzU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmNvcGllZCB7XHJcbiAgICAgICAgbWFzazogdXJsKC4uLy4uL2Fzc2V0cy9pY29ucy9jb21wbGV0ZS10ZXN0d2FsbGV0LnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0= */\"","import {Component, OnInit, OnDestroy} from '@angular/core';\r\nimport QRCode from 'qrcode';\r\nimport {BackendService} from '../_helpers/services/backend.service';\r\nimport {VariablesService} from '../_helpers/services/variables.service';\r\nimport {ActivatedRoute} from '@angular/router';\r\nimport {RCV_ADDR_QR_SCALE} from '../_shared/constants';\r\n\r\n@Component({\r\n selector: 'app-receive',\r\n templateUrl: './receive.component.html',\r\n styleUrls: ['./receive.component.scss']\r\n})\r\nexport class ReceiveComponent implements OnInit, OnDestroy {\r\n qrImageSrc: string;\r\n parentRouting;\r\n copyAnimation = false;\r\n copyAnimationTimeout;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private backend: BackendService,\r\n public variablesService: VariablesService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.parentRouting = this.route.parent.params.subscribe(() => {\r\n QRCode.toDataURL(this.variablesService.currentWallet.address, {\r\n width: 106 * RCV_ADDR_QR_SCALE,\r\n height: 106 * RCV_ADDR_QR_SCALE\r\n }).then(url => {\r\n this.qrImageSrc = url;\r\n }).catch(err => {\r\n console.error(err);\r\n });\r\n });\r\n }\r\n\r\n public copyAddress() {\r\n this.backend.setClipboard(this.variablesService.currentWallet.address);\r\n this.copyAnimation = true;\r\n this.copyAnimationTimeout = window.setTimeout(() => {\r\n this.copyAnimation = false;\r\n }, 2000);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.parentRouting.unsubscribe();\r\n clearTimeout(this.copyAnimationTimeout);\r\n }\r\n\r\n}\r\n","module.exports = \"
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n {{ 'BREADCRUMBS.ADD_WALLET' | translate }}\\r\\n {{ 'BREADCRUMBS.RESTORE_WALLET' | translate }}\\r\\n
      \\r\\n \\r\\n
      \\r\\n\\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'RESTORE_WALLET.FORM_ERRORS.NAME_REQUIRED' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'RESTORE_WALLET.FORM_ERRORS.NAME_DUPLICATE' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      = variablesService.maxWalletNameLength\\\">\\r\\n {{ 'RESTORE_WALLET.FORM_ERRORS.MAX_LENGTH' | translate }}\\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'ERRORS.WRONG_PASSWORD' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'RESTORE_WALLET.FORM_ERRORS.CONFIRM_NOT_MATCH' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'RESTORE_WALLET.FORM_ERRORS.KEY_REQUIRED' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'RESTORE_WALLET.FORM_ERRORS.KEY_NOT_VALID' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n {{ 'RESTORE_WALLET.FORM_ERRORS.INCORRECT_PASSWORD' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'RESTORE_WALLET.OK' | translate }}\\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n\\r\\n
      \\r\\n\\r\\n
      \\r\\n\\r\\n\\r\\n\"","module.exports = \":host {\\n position: relative; }\\n\\n.form-restore {\\n margin: 2.4rem 0;\\n width: 100%; }\\n\\n.form-restore .input-block.half-block {\\n width: 50%; }\\n\\n.form-restore .wrap-buttons {\\n display: flex;\\n margin: 2.5rem -0.7rem;\\n width: 50%; }\\n\\n.form-restore .wrap-buttons button {\\n margin: 0 0.7rem; }\\n\\n.form-restore .wrap-buttons button.transparent-button {\\n flex-basis: 50%; }\\n\\n.form-restore .wrap-buttons button.select-button {\\n flex-basis: 60%; }\\n\\n.form-restore .wrap-buttons button.create-button {\\n flex: 1 1 50%; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcmVzdG9yZS13YWxsZXQvRDpcXFByb2plY3RcXFdPUktfTkVXXFx6YW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFwcFxccmVzdG9yZS13YWxsZXRcXHJlc3RvcmUtd2FsbGV0LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0Usa0JBQWtCLEVBQUE7O0FBR3BCO0VBQ0UsZ0JBQWdCO0VBQ2hCLFdBQVcsRUFBQTs7QUFGYjtJQU9NLFVBQVUsRUFBQTs7QUFQaEI7SUFZSSxhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLFVBQVUsRUFBQTs7QUFkZDtNQWlCTSxnQkFBZ0IsRUFBQTs7QUFqQnRCO1FBb0JRLGVBQWUsRUFBQTs7QUFwQnZCO1FBd0JRLGVBQWUsRUFBQTs7QUF4QnZCO1FBNEJRLGFBQWEsRUFBQSIsImZpbGUiOiJzcmMvYXBwL3Jlc3RvcmUtd2FsbGV0L3Jlc3RvcmUtd2FsbGV0LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3Qge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmZvcm0tcmVzdG9yZSB7XHJcbiAgbWFyZ2luOiAyLjRyZW0gMDtcclxuICB3aWR0aDogMTAwJTtcclxuXHJcbiAgLmlucHV0LWJsb2NrIHtcclxuXHJcbiAgICAmLmhhbGYtYmxvY2sge1xyXG4gICAgICB3aWR0aDogNTAlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLndyYXAtYnV0dG9ucyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWFyZ2luOiAyLjVyZW0gLTAuN3JlbTtcclxuICAgIHdpZHRoOiA1MCU7XHJcblxyXG4gICAgYnV0dG9uIHtcclxuICAgICAgbWFyZ2luOiAwIDAuN3JlbTtcclxuXHJcbiAgICAgICYudHJhbnNwYXJlbnQtYnV0dG9uIHtcclxuICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuc2VsZWN0LWJ1dHRvbiB7XHJcbiAgICAgICAgZmxleC1iYXNpczogNjAlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmNyZWF0ZS1idXR0b24ge1xyXG4gICAgICAgIGZsZXg6IDEgMSA1MCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19 */\"","import { Component, NgZone, OnDestroy, OnInit } from '@angular/core';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { BackendService } from '../_helpers/services/backend.service';\r\nimport { VariablesService } from '../_helpers/services/variables.service';\r\nimport { ModalService } from '../_helpers/services/modal.service';\r\nimport { Wallet } from '../_helpers/models/wallet.model';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Subject } from 'rxjs/internal/Subject';\r\nimport { debounceTime, distinctUntilChanged, pairwise, startWith, takeUntil } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-restore-wallet',\r\n templateUrl: './restore-wallet.component.html',\r\n styleUrls: ['./restore-wallet.component.scss'],\r\n})\r\nexport class RestoreWalletComponent implements OnInit, OnDestroy {\r\n restoreForm = new FormGroup(\r\n {\r\n name: new FormControl('', [\r\n Validators.required,\r\n (g: FormControl) => {\r\n for (let i = 0; i < this.variablesService.wallets.length; i++) {\r\n if (g.value === this.variablesService.wallets[i].name) {\r\n return { duplicate: true };\r\n }\r\n }\r\n return null;\r\n },\r\n ]),\r\n key: new FormControl('', Validators.required),\r\n password: new FormControl(\r\n '',\r\n Validators.pattern(this.variablesService.pattern)\r\n ),\r\n confirm: new FormControl(''),\r\n seedPassword: new FormControl('', Validators.pattern(this.variablesService.pattern)),\r\n },\r\n function (g: FormGroup) {\r\n return g.get('password').value === g.get('confirm').value\r\n ? null\r\n : { confirm_mismatch: true };\r\n }\r\n );\r\n\r\n wallet = {\r\n id: '',\r\n };\r\n\r\n walletSaved = false;\r\n walletSavedName = '';\r\n progressWidth = '9rem';\r\n seedPhraseInfo = null;\r\n unsubscribeAll = new Subject();\r\n\r\n constructor(\r\n private router: Router,\r\n private backend: BackendService,\r\n public variablesService: VariablesService,\r\n private modalService: ModalService,\r\n private ngZone: NgZone,\r\n private translate: TranslateService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.checkValidSeedPhrasePassword();\r\n this.changeDetectionSeedPhrasePassword();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unsubscribeAll.next(true);\r\n this.unsubscribeAll.complete();\r\n }\r\n\r\n changeDetectionSeedPhrasePassword() {\r\n this.restoreForm.controls.seedPassword.valueChanges\r\n .pipe(startWith(null), pairwise(), takeUntil(this.unsubscribeAll))\r\n .subscribe(() => {\r\n this.checkValidSeedPhrasePassword();\r\n });\r\n this.restoreForm.controls.key.valueChanges\r\n .pipe(startWith(null), pairwise(), takeUntil(this.unsubscribeAll))\r\n .subscribe(() => {\r\n this.checkValidSeedPhrasePassword();\r\n });\r\n }\r\n\r\n checkValidSeedPhrasePassword() {\r\n const seed_password = this.restoreForm.controls.seedPassword.value;\r\n const seed_phrase = this.restoreForm.controls.key.value;\r\n this.backend.getSeedPhraseInfo({seed_phrase, seed_password}, (status, data) => {\r\n this.ngZone.run(() => {\r\n this.seedPhraseInfo = data;\r\n });\r\n });\r\n }\r\n\r\n createWallet() {\r\n this.ngZone.run(() => {\r\n this.progressWidth = '100%';\r\n this.runWallet();\r\n });\r\n }\r\n\r\n saveWallet() {\r\n if (\r\n this.restoreForm.valid &&\r\n this.restoreForm.get('name').value.length <=\r\n this.variablesService.maxWalletNameLength\r\n ) {\r\n this.backend.isValidRestoreWalletText(\r\n {\r\n seed_phrase: this.restoreForm.get('key').value,\r\n seed_password: this.restoreForm.get('seedPassword').value,\r\n },\r\n (valid_status, valid_data) => {\r\n if (valid_data !== 'TRUE') {\r\n this.ngZone.run(() => {\r\n this.restoreForm.get('key').setErrors({ key_not_valid: true });\r\n });\r\n } else {\r\n this.backend.saveFileDialog(\r\n this.translate.instant('RESTORE_WALLET.CHOOSE_PATH'),\r\n '*',\r\n this.variablesService.settings.default_path,\r\n (save_status, save_data) => {\r\n if (save_status) {\r\n this.variablesService.settings.default_path = save_data.path.substr(\r\n 0,\r\n save_data.path.lastIndexOf('/')\r\n );\r\n this.walletSavedName = save_data.path.substr(\r\n save_data.path.lastIndexOf('/') + 1,\r\n save_data.path.length - 1\r\n );\r\n this.backend.restoreWallet(\r\n save_data.path,\r\n this.restoreForm.get('password').value,\r\n this.restoreForm.get('key').value,\r\n this.restoreForm.get('seedPassword').value,\r\n (restore_status, restore_data) => {\r\n if (restore_status) {\r\n this.wallet.id = restore_data.wallet_id;\r\n this.variablesService.opening_wallet = new Wallet(\r\n restore_data.wallet_id,\r\n this.restoreForm.get('name').value,\r\n this.restoreForm.get('password').value,\r\n restore_data['wi'].path,\r\n restore_data['wi'].address,\r\n restore_data['wi'].balance,\r\n restore_data['wi'].unlocked_balance,\r\n restore_data['wi'].mined_total,\r\n restore_data['wi'].tracking_hey\r\n );\r\n this.variablesService.opening_wallet.is_auditable =\r\n restore_data['wi'].is_auditable;\r\n this.variablesService.opening_wallet.is_watch_only =\r\n restore_data['wi'].is_watch_only;\r\n this.variablesService.opening_wallet.currentPage = 1;\r\n this.variablesService.opening_wallet.alias = this.backend.getWalletAlias(\r\n this.variablesService.opening_wallet.address\r\n );\r\n this.variablesService.opening_wallet.pages = new Array(\r\n 1\r\n ).fill(1);\r\n this.variablesService.opening_wallet.totalPages = 1;\r\n this.variablesService.opening_wallet.currentPage = 1;\r\n this.variablesService.opening_wallet.total_history_item = 0;\r\n this.variablesService.opening_wallet.restore = true;\r\n if (\r\n restore_data.recent_history &&\r\n restore_data.recent_history.history\r\n ) {\r\n this.variablesService.opening_wallet.totalPages = Math.ceil(\r\n restore_data.recent_history.total_history_items /\r\n this.variablesService.count\r\n );\r\n this.variablesService.opening_wallet.totalPages >\r\n this.variablesService.maxPages\r\n ? (this.variablesService.opening_wallet.pages = new Array(\r\n 5\r\n )\r\n .fill(1)\r\n .map((value, index) => value + index))\r\n : (this.variablesService.opening_wallet.pages = new Array(\r\n this.variablesService.opening_wallet.totalPages\r\n )\r\n .fill(1)\r\n .map((value, index) => value + index));\r\n this.variablesService.opening_wallet.prepareHistory(\r\n restore_data.recent_history.history\r\n );\r\n }\r\n this.backend.getContracts(\r\n this.variablesService.opening_wallet.wallet_id,\r\n (contracts_status, contracts_data) => {\r\n if (\r\n contracts_status &&\r\n contracts_data.hasOwnProperty('contracts')\r\n ) {\r\n this.ngZone.run(() => {\r\n this.variablesService.opening_wallet.prepareContractsAfterOpen(\r\n contracts_data.contracts,\r\n this.variablesService.exp_med_ts,\r\n this.variablesService.height_app,\r\n this.variablesService.settings\r\n .viewedContracts,\r\n this.variablesService.settings\r\n .notViewedContracts\r\n );\r\n });\r\n }\r\n }\r\n );\r\n this.ngZone.run(() => {\r\n this.walletSaved = true;\r\n this.progressWidth = '50%';\r\n });\r\n } else {\r\n this.modalService.prepareModal(\r\n 'error',\r\n 'RESTORE_WALLET.NOT_CORRECT_FILE_OR_PASSWORD'\r\n );\r\n }\r\n }\r\n );\r\n }\r\n }\r\n );\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n runWallet() {\r\n // add flag when wallet was restored form seed\r\n this.variablesService.after_sync_request[this.wallet.id] = true;\r\n let exists = false;\r\n this.variablesService.wallets.forEach((wallet) => {\r\n if (wallet.address === this.variablesService.opening_wallet.address) {\r\n exists = true;\r\n }\r\n });\r\n if (!exists) {\r\n this.backend.runWallet(this.wallet.id, (run_status, run_data) => {\r\n if (run_status) {\r\n this.variablesService.wallets.push(\r\n this.variablesService.opening_wallet\r\n );\r\n if (this.variablesService.appPass) {\r\n this.backend.storeSecureAppData();\r\n }\r\n this.ngZone.run(() => {\r\n this.router.navigate(['/wallet/' + this.wallet.id]);\r\n });\r\n } else {\r\n console.log(run_data['error_code']);\r\n }\r\n });\r\n } else {\r\n this.variablesService.opening_wallet = null;\r\n this.modalService.prepareModal(\r\n 'error',\r\n 'OPEN_WALLET.WITH_ADDRESS_ALREADY_OPEN'\r\n );\r\n this.backend.closeWallet(this.wallet.id, () => {\r\n this.ngZone.run(() => {\r\n this.router.navigate(['/']);\r\n });\r\n });\r\n }\r\n }\r\n}\r\n","module.exports = \"
      \\r\\n\\r\\n\\r\\n\"","module.exports = \":host {\\n position: relative; }\\n\\n.content {\\n padding: 3.2rem 3rem 3rem; }\\n\\n.scrolled-content, .content {\\n height: 100%;\\n overflow-y: auto; }\\n\\n.mt-2 {\\n margin-top: 2rem; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2VlZC1waHJhc2UvRDpcXFByb2plY3RcXFdPUktfTkVXXFx6YW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFwcFxcc2VlZC1waHJhc2VcXHNlZWQtcGhyYXNlLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0Usa0JBQWtCLEVBQUE7O0FBR3BCO0VBQ0UseUJBQXlCLEVBQUE7O0FBRTNCO0VBQ0UsWUFBWTtFQUNaLGdCQUFnQixFQUFBOztBQUdsQjtFQUNFLGdCQUFnQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvc2VlZC1waHJhc2Uvc2VlZC1waHJhc2UuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uY29udGVudCB7XHJcbiAgcGFkZGluZzogMy4ycmVtIDNyZW0gM3JlbTtcclxufVxyXG4uc2Nyb2xsZWQtY29udGVudCwgLmNvbnRlbnQge1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG59XHJcblxyXG4ubXQtMiB7XHJcbiAgbWFyZ2luLXRvcDogMnJlbTtcclxufVxyXG5cclxuIl19 */\"","import {Component, NgZone, OnDestroy, OnInit} from '@angular/core';\r\nimport {Location} from '@angular/common';\r\nimport {BackendService} from '../_helpers/services/backend.service';\r\nimport {ActivatedRoute, Router} from '@angular/router';\r\nimport {VariablesService} from '../_helpers/services/variables.service';\r\nimport {ModalService} from '../_helpers/services/modal.service';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-seed-phrase',\r\n templateUrl: './seed-phrase.component.html',\r\n styleUrls: ['./seed-phrase.component.scss']\r\n})\r\nexport class SeedPhraseComponent implements OnInit, OnDestroy {\r\n\r\n queryRouting;\r\n seedPhrase = '';\r\n showSeed = false;\r\n wallet_id: number;\r\n seedPhraseCopied = false;\r\n progressWidth = '66%';\r\n\r\n detailsForm = new FormGroup({\r\n name: new FormControl('', [\r\n Validators.required,\r\n (g: FormControl) => {\r\n for (let i = 0; i < this.variablesService.wallets.length; i++) {\r\n if (g.value === this.variablesService.wallets[i].name) {\r\n if (\r\n this.variablesService.wallets[i].wallet_id ===\r\n this.variablesService.currentWallet.wallet_id\r\n ) {\r\n return { same: true };\r\n } else {\r\n return { duplicate: true };\r\n }\r\n }\r\n }\r\n return null;\r\n },\r\n ]),\r\n path: new FormControl(''),\r\n });\r\n\r\n seedPhraseForm = new FormGroup(\r\n {\r\n password: new FormControl(\r\n '',\r\n Validators.pattern(this.variablesService.pattern)\r\n ),\r\n confirmPassword: new FormControl(\r\n '',\r\n Validators.pattern(this.variablesService.pattern)\r\n ),\r\n },\r\n { validators: this.checkPasswords }\r\n );\r\n\r\n checkPasswords(group: FormGroup) {\r\n const pass = group.controls.password.value;\r\n const confirmPass = group.controls.confirmPassword.value;\r\n\r\n return pass === confirmPass ? null : { notSame: true };\r\n }\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private location: Location,\r\n private backend: BackendService,\r\n public variablesService: VariablesService,\r\n private modalService: ModalService,\r\n private ngZone: NgZone\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.showSeed = false;\r\n this.getWalletId();\r\n this.setWalletInfoNamePath();\r\n }\r\n\r\n private setWalletInfoNamePath() {\r\n this.detailsForm\r\n .get('name')\r\n .setValue(this.variablesService.opening_wallet.name);\r\n this.detailsForm\r\n .get('path')\r\n .setValue(this.variablesService.opening_wallet.path);\r\n }\r\n\r\n private getWalletId() {\r\n this.queryRouting = this.route.queryParams.subscribe(params => {\r\n if (params.wallet_id) {\r\n this.wallet_id = params.wallet_id;\r\n }\r\n });\r\n }\r\n\r\n runWallet() {\r\n let exists = false;\r\n this.variablesService.wallets.forEach((wallet) => {\r\n if (wallet.address === this.variablesService.opening_wallet.address) {\r\n exists = true;\r\n }\r\n });\r\n if (!exists) {\r\n this.backend.runWallet(this.wallet_id, (run_status, run_data) => {\r\n if (run_status) {\r\n this.variablesService.wallets.push(this.variablesService.opening_wallet);\r\n if (this.variablesService.appPass) {\r\n this.backend.storeSecureAppData();\r\n }\r\n this.ngZone.run(() => {\r\n this.router.navigate(['/wallet/' + this.wallet_id]);\r\n });\r\n } else {\r\n console.log(run_data['error_code']);\r\n }\r\n });\r\n } else {\r\n this.variablesService.opening_wallet = null;\r\n this.modalService.prepareModal('error', 'OPEN_WALLET.WITH_ADDRESS_ALREADY_OPEN');\r\n this.backend.closeWallet(this.wallet_id, () => {\r\n this.ngZone.run(() => {\r\n this.router.navigate(['/']);\r\n });\r\n });\r\n }\r\n }\r\n\r\n copySeedPhrase() {\r\n this.backend.setClipboard(this.seedPhrase, () => {\r\n this.ngZone.run(() => {\r\n this.seedPhraseCopied = true;\r\n });\r\n });\r\n }\r\n\r\n back() {\r\n this.location.back();\r\n }\r\n\r\n showSeedPhrase() {\r\n this.showSeed = true;\r\n this.progressWidth = '100%';\r\n }\r\n\r\n onSubmitSeed() {\r\n if (this.seedPhraseForm.valid) {\r\n this.showSeedPhrase();\r\n const wallet_id = this.wallet_id;\r\n const seed_password = this.seedPhraseForm.controls.password.value;\r\n this.backend.getSmartWalletInfo(\r\n { wallet_id, seed_password },\r\n (status, data) => {\r\n if (data.hasOwnProperty('seed_phrase')) {\r\n this.ngZone.run(() => {\r\n this.seedPhrase = data['seed_phrase'].trim();\r\n });\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.queryRouting.unsubscribe();\r\n }\r\n}\r\n","module.exports = \"
      \\r\\n
      \\r\\n {{ 'CONFIRM.TITLE' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      {{ 'CONFIRM.MESSAGE.SEND' | translate }}
      \\r\\n
      {{ +form.get('amount').value }} {{variablesService.defaultCurrency}}
      \\r\\n
      \\r\\n
      \\r\\n
      {{ 'CONFIRM.MESSAGE.FROM' | translate }}
      \\r\\n
      {{ variablesService.currentWallet.address }}
      \\r\\n
      \\r\\n
      \\r\\n
      {{ 'CONFIRM.MESSAGE.TO' | translate }}
      \\r\\n
      {{ form.get('address').value }}
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      {{ 'CONFIRM.MESSAGE.COMMENT' | translate }}
      \\r\\n
      {{ form.get('comment').value }}
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'LOGIN.FORM_ERRORS.PASS_REQUIRED' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'LOGIN.FORM_ERRORS.MISMATCH' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n\"","module.exports = \":host {\\n position: fixed;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n background: rgba(255, 255, 255, 0.25); }\\n\\n.modal {\\n position: relative;\\n display: flex;\\n flex-direction: column;\\n background-position: center;\\n background-size: 200%;\\n padding: 0.3rem 3rem 3rem 3rem;\\n width: 64rem; }\\n\\n.modal .title {\\n padding: 1.4rem 0;\\n font-size: 1.8rem;\\n line-height: 3rem; }\\n\\n.modal .content {\\n display: flex;\\n font-size: 1.4rem; }\\n\\n.modal .content .message-container {\\n display: flex;\\n flex-direction: column;\\n align-items: flex-start;\\n justify-content: center;\\n margin: 1.4rem 3rem 6.2rem 0; }\\n\\n.modal .content .message-container .message-block {\\n display: flex;\\n margin-bottom: 1rem; }\\n\\n.modal .content .message-container .message-block:first-child .message-label {\\n line-height: 4rem; }\\n\\n.modal .content .message-container .message-block:first-child .message-text {\\n line-height: 4rem; }\\n\\n.modal .content .message-container .message-block:last-child {\\n margin-bottom: 0; }\\n\\n.modal .content .message-container .message-block .message-label {\\n min-width: 6.7rem;\\n line-height: 2rem; }\\n\\n.modal .content .message-container .message-block .message-text {\\n overflow-wrap: break-word;\\n margin-left: 4.8rem;\\n width: 43.4rem;\\n line-height: 2rem; }\\n\\n.modal .content .message-container .message-block.confirm-master-pass {\\n width: 100%;\\n margin: 2rem 0; }\\n\\n.modal .content .message-container .message-block.confirm-master-pass .input-block {\\n width: 100%; }\\n\\n.modal .wrapper-buttons {\\n display: flex;\\n align-items: center;\\n justify-content: space-between; }\\n\\n.modal .wrapper-buttons button {\\n width: 100%;\\n max-width: 15rem; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2VuZC1tb2RhbC9EOlxcUHJvamVjdFxcV09SS19ORVdcXHphbm9cXHNyY1xcZ3VpXFxxdC1kYWVtb25cXGh0bWxfc291cmNlL3NyY1xcYXBwXFxzZW5kLW1vZGFsXFxzZW5kLW1vZGFsLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsZUFBZTtFQUNmLE1BQU07RUFDTixTQUFTO0VBQ1QsT0FBTztFQUNQLFFBQVE7RUFDUixhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLHVCQUF1QjtFQUN2QixxQ0FBcUMsRUFBQTs7QUFFdkM7RUFDRSxrQkFBa0I7RUFDbEIsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QiwyQkFBMkI7RUFDM0IscUJBQXFCO0VBQ3JCLDhCQUE4QjtFQUM5QixZQUFZLEVBQUE7O0FBUGQ7SUFVSSxpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLGlCQUFpQixFQUFBOztBQVpyQjtJQWdCSSxhQUFhO0lBQ2IsaUJBQWlCLEVBQUE7O0FBakJyQjtNQW9CTSxhQUFhO01BQ2Isc0JBQXNCO01BQ3RCLHVCQUF1QjtNQUN2Qix1QkFBdUI7TUFDdkIsNEJBQTRCLEVBQUE7O0FBeEJsQztRQTJCUSxhQUFhO1FBQ2IsbUJBQW1CLEVBQUE7O0FBNUIzQjtVQWlDWSxpQkFBaUIsRUFBQTs7QUFqQzdCO1VBcUNZLGlCQUFpQixFQUFBOztBQXJDN0I7VUEwQ1UsZ0JBQWdCLEVBQUE7O0FBMUMxQjtVQThDVSxpQkFBaUI7VUFDakIsaUJBQWlCLEVBQUE7O0FBL0MzQjtVQW1EVSx5QkFBeUI7VUFDekIsbUJBQW1CO1VBQ25CLGNBQWM7VUFDZCxpQkFBaUIsRUFBQTs7QUF0RDNCO1VBMERVLFdBQVc7VUFDWCxjQUFjLEVBQUE7O0FBM0R4QjtZQTZEWSxXQUFXLEVBQUE7O0FBN0R2QjtJQXFFSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLDhCQUE4QixFQUFBOztBQXZFbEM7TUEwRU0sV0FBVztNQUNYLGdCQUFnQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvc2VuZC1tb2RhbC9zZW5kLW1vZGFsLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3Qge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XHJcbn1cclxuLm1vZGFsIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICBiYWNrZ3JvdW5kLXNpemU6IDIwMCU7XHJcbiAgcGFkZGluZzogMC4zcmVtIDNyZW0gM3JlbSAzcmVtO1xyXG4gIHdpZHRoOiA2NHJlbTtcclxuXHJcbiAgLnRpdGxlIHtcclxuICAgIHBhZGRpbmc6IDEuNHJlbSAwO1xyXG4gICAgZm9udC1zaXplOiAxLjhyZW07XHJcbiAgICBsaW5lLWhlaWdodDogM3JlbTtcclxuICB9XHJcblxyXG4gIC5jb250ZW50IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmb250LXNpemU6IDEuNHJlbTtcclxuXHJcbiAgICAubWVzc2FnZS1jb250YWluZXIge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIG1hcmdpbjogMS40cmVtIDNyZW0gNi4ycmVtIDA7XHJcblxyXG4gICAgICAubWVzc2FnZS1ibG9jayB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuXHJcbiAgICAgICAgICAubWVzc2FnZS1sYWJlbCB7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0cmVtO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5tZXNzYWdlLXRleHQge1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNHJlbTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm1lc3NhZ2UtbGFiZWwge1xyXG4gICAgICAgICAgbWluLXdpZHRoOiA2LjdyZW07XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogMnJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5tZXNzYWdlLXRleHQge1xyXG4gICAgICAgICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0LjhyZW07XHJcbiAgICAgICAgICB3aWR0aDogNDMuNHJlbTtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jb25maXJtLW1hc3Rlci1wYXNzIHtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgbWFyZ2luOiAycmVtIDA7XHJcbiAgICAgICAgICAuaW5wdXQtYmxvY2sge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC53cmFwcGVyLWJ1dHRvbnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG4gICAgYnV0dG9uIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1heC13aWR0aDogMTVyZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iXX0= */\"","import { Component, OnInit, Output, EventEmitter, Input} from '@angular/core';\r\nimport {FormControl, FormGroup, Validators} from '@angular/forms';\r\nimport { VariablesService } from '../_helpers/services/variables.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-send-modal',\r\n templateUrl: './send-modal.component.html',\r\n styleUrls: ['./send-modal.component.scss']\r\n})\r\nexport class SendModalComponent implements OnInit {\r\n\r\n confirmForm = new FormGroup({\r\n password: new FormControl('')\r\n });\r\n\r\n @Input() form: FormGroup;\r\n @Output() confirmed: EventEmitter = new EventEmitter();\r\n\r\n constructor(\r\n public variablesService: VariablesService,\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n if(this.variablesService.appPass) {\r\n this.confirmForm.controls['password'].setValidators([Validators.required]);\r\n this.confirmForm.updateValueAndValidity();\r\n }\r\n }\r\n\r\n confirm() {\r\n if(this.variablesService.appPass) {\r\n if (this.confirmForm.controls['password'].value === '') {\r\n this.confirmForm.controls['password'].setErrors({requiredPass: true});\r\n return;\r\n }\r\n this.confirmForm.controls['password'].setErrors({requiredPass: false});\r\n if (this.variablesService.appPass === this.confirmForm.controls['password'].value) {\r\n this.confirmed.emit(true);\r\n } else {\r\n this.confirmForm.controls['password'].setErrors({passwordNotMatch: true})\r\n }\r\n } else {\r\n this.confirmed.emit(true);\r\n }\r\n }\r\n\r\n onClose() {\r\n this.confirmed.emit(false);\r\n }\r\n\r\n}\r\n","module.exports = \"
      \\r\\n\\r\\n
      \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
      \\r\\n
      {{item.name}}
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n {{ 'SEND.FORM_ERRORS.ADDRESS_REQUIRED' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'SEND.FORM_ERRORS.ADDRESS_NOT_VALID' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'SEND.FORM_ERRORS.ALIAS_NOT_VALID' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'SEND.FORM_ERRORS.AMOUNT_REQUIRED' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'SEND.FORM_ERRORS.AMOUNT_ZERO' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      = variablesService.maxCommentLength\\\">\\r\\n {{ 'SEND.FORM_ERRORS.MAX_LENGTH' | translate }}\\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n\\r\\n \\r\\n\\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'SEND.FORM_ERRORS.AMOUNT_REQUIRED' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'SEND.FORM_ERRORS.FEE_REQUIRED' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'SEND.FORM_ERRORS.FEE_MINIMUM' | translate : {fee: variablesService.default_fee} }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n\\r\\n
      \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
      \\r\\n\"","module.exports = \":host {\\n width: 100%; }\\n\\n.form-send .input-blocks-row {\\n display: flex; }\\n\\n.form-send .input-blocks-row > div {\\n flex-basis: 50%; }\\n\\n.form-send .input-blocks-row > div:first-child {\\n margin-right: 1.5rem; }\\n\\n.form-send .input-blocks-row > div:last-child {\\n margin-left: 1.5rem; }\\n\\n.form-send .send-select {\\n display: flex;\\n align-items: center;\\n background: transparent;\\n border: none;\\n font-size: 1.3rem;\\n line-height: 1.3rem;\\n margin: 1.5rem 0 0;\\n padding: 0;\\n width: 100%;\\n max-width: 15rem;\\n height: 1.3rem; }\\n\\n.form-send .send-select .arrow {\\n margin-left: 1rem;\\n width: 0.8rem;\\n height: 0.8rem; }\\n\\n.form-send .send-select .arrow.down {\\n -webkit-mask: url('arrow-down.svg') no-repeat center;\\n mask: url('arrow-down.svg') no-repeat center; }\\n\\n.form-send .send-select .arrow.up {\\n -webkit-mask: url('arrow-up.svg') no-repeat center;\\n mask: url('arrow-up.svg') no-repeat center; }\\n\\n.form-send .additional-details {\\n display: flex;\\n margin-top: 1.5rem;\\n padding: 0.5rem 0 2rem; }\\n\\n.form-send .additional-details > div {\\n flex-basis: 25%; }\\n\\n.form-send .additional-details > div:first-child {\\n padding-left: 1.5rem;\\n padding-right: 1rem; }\\n\\n.form-send .additional-details > div:last-child {\\n padding-left: 1rem;\\n padding-right: 1.5rem; }\\n\\n.form-send .additional-details .checkbox-block {\\n flex-basis: 50%; }\\n\\n.form-send .additional-details .checkbox-block > label {\\n top: 3.5rem; }\\n\\n.form-send .additional-details .checkbox-block.disabled-checkbox-block label {\\n cursor: not-allowed; }\\n\\n.form-send .additional-details .checkbox-block.disabled-checkbox-block label:before {\\n background-color: #556576;\\n border: 0.1rem solid #556576; }\\n\\n.form-send button {\\n margin: 2.4rem 0;\\n width: 100%;\\n max-width: 15rem; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2VuZC9EOlxcUHJvamVjdFxcV09SS19ORVdcXHphbm9cXHNyY1xcZ3VpXFxxdC1kYWVtb25cXGh0bWxfc291cmNlL3NyY1xcYXBwXFxzZW5kXFxzZW5kLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsV0FBVyxFQUFBOztBQUdiO0VBR0ksYUFBYSxFQUFBOztBQUhqQjtJQU1NLGVBQWUsRUFBQTs7QUFOckI7TUFTUSxvQkFBb0IsRUFBQTs7QUFUNUI7TUFhUSxtQkFBbUIsRUFBQTs7QUFiM0I7RUFtQkksYUFBYTtFQUNiLG1CQUFtQjtFQUNuQix1QkFBdUI7RUFDdkIsWUFBWTtFQUNaLGlCQUFpQjtFQUNqQixtQkFBbUI7RUFDbkIsa0JBQWtCO0VBQ2xCLFVBQVU7RUFDVixXQUFXO0VBQ1gsZ0JBQWdCO0VBQ2hCLGNBQWMsRUFBQTs7QUE3QmxCO0lBZ0NNLGlCQUFpQjtJQUNqQixhQUFhO0lBQ2IsY0FBYyxFQUFBOztBQWxDcEI7TUFxQ1Esb0RBQTREO2NBQTVELDRDQUE0RCxFQUFBOztBQXJDcEU7TUF5Q1Esa0RBQTBEO2NBQTFELDBDQUEwRCxFQUFBOztBQXpDbEU7RUErQ0ksYUFBYTtFQUNiLGtCQUFrQjtFQUNsQixzQkFBc0IsRUFBQTs7QUFqRDFCO0lBb0RNLGVBQWUsRUFBQTs7QUFwRHJCO01BdURRLG9CQUFvQjtNQUNwQixtQkFBbUIsRUFBQTs7QUF4RDNCO01BNERRLGtCQUFrQjtNQUNsQixxQkFBcUIsRUFBQTs7QUE3RDdCO0lBa0VNLGVBQWUsRUFBQTs7QUFsRXJCO01BcUVRLFdBQVcsRUFBQTs7QUFyRW5CO01BeUVVLG1CQUFtQixFQUFBOztBQXpFN0I7UUEyRVkseUJBQXlCO1FBQ3pCLDRCQUE0QixFQUFBOztBQTVFeEM7RUFvRkksZ0JBQWdCO0VBQ2hCLFdBQVc7RUFDWCxnQkFBZ0IsRUFBQSIsImZpbGUiOiJzcmMvYXBwL3NlbmQvc2VuZC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmZvcm0tc2VuZCB7XHJcblxyXG4gIC5pbnB1dC1ibG9ja3Mtcm93IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcblxyXG4gICAgPiBkaXYge1xyXG4gICAgICBmbGV4LWJhc2lzOiA1MCU7XHJcblxyXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMS41cmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc2VuZC1zZWxlY3Qge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuM3JlbTtcclxuICAgIG1hcmdpbjogMS41cmVtIDAgMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogMTVyZW07XHJcbiAgICBoZWlnaHQ6IDEuM3JlbTtcclxuXHJcbiAgICAuYXJyb3cge1xyXG4gICAgICBtYXJnaW4tbGVmdDogMXJlbTtcclxuICAgICAgd2lkdGg6IDAuOHJlbTtcclxuICAgICAgaGVpZ2h0OiAwLjhyZW07XHJcblxyXG4gICAgICAmLmRvd24ge1xyXG4gICAgICAgIG1hc2s6IHVybCh+c3JjL2Fzc2V0cy9pY29ucy9hcnJvdy1kb3duLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi51cCB7XHJcbiAgICAgICAgbWFzazogdXJsKH5zcmMvYXNzZXRzL2ljb25zL2Fycm93LXVwLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmFkZGl0aW9uYWwtZGV0YWlscyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xyXG4gICAgcGFkZGluZzogMC41cmVtIDAgMnJlbTtcclxuXHJcbiAgICA+IGRpdiB7XHJcbiAgICAgIGZsZXgtYmFzaXM6IDI1JTtcclxuXHJcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jaGVja2JveC1ibG9jayB7XHJcbiAgICAgIGZsZXgtYmFzaXM6IDUwJTtcclxuXHJcbiAgICAgID4gbGFiZWwge1xyXG4gICAgICAgIHRvcDogMy41cmVtO1xyXG4gICAgICB9XHJcbiAgICAgICYuZGlzYWJsZWQtY2hlY2tib3gtYmxvY2sge1xyXG4gICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1NTY1NzY7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkICM1NTY1NzY7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBidXR0b24ge1xyXG4gICAgbWFyZ2luOiAyLjRyZW0gMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiAxNXJlbTtcclxuICB9XHJcbn1cclxuIl19 */\"","import {Component, OnInit, OnDestroy, NgZone, HostListener, Input} from '@angular/core';\r\nimport {FormGroup, FormControl, Validators} from '@angular/forms';\r\nimport {ActivatedRoute} from '@angular/router';\r\nimport {BackendService} from '../_helpers/services/backend.service';\r\nimport {VariablesService} from '../_helpers/services/variables.service';\r\nimport {ModalService} from '../_helpers/services/modal.service';\r\nimport {BigNumber} from 'bignumber.js';\r\nimport {MIXIN} from '../_shared/constants'\r\n\r\n@Component({\r\n selector: 'app-send',\r\n templateUrl: './send.component.html',\r\n styleUrls: ['./send.component.scss']\r\n})\r\nexport class SendComponent implements OnInit, OnDestroy {\r\n\r\n isOpen = false;\r\n localAliases = [];\r\n isModalDialogVisible = false;\r\n hideWalletAddress = false;\r\n mixin: number;\r\n\r\n currentWalletId = null;\r\n parentRouting;\r\n sendForm = new FormGroup({\r\n address: new FormControl('', [Validators.required, (g: FormControl) => {\r\n this.localAliases = [];\r\n if (g.value) {\r\n if (g.value.indexOf('@') !== 0) {\r\n this.isOpen = false;\r\n this.backend.validateAddress(g.value, (valid_status) => {\r\n this.ngZone.run(() => {\r\n if (valid_status === false) {\r\n g.setErrors(Object.assign({'address_not_valid': true}, g.errors));\r\n } else {\r\n if (g.hasError('address_not_valid')) {\r\n delete g.errors['address_not_valid'];\r\n if (Object.keys(g.errors).length === 0) {\r\n g.setErrors(null);\r\n }\r\n }\r\n }\r\n });\r\n });\r\n return (g.hasError('address_not_valid')) ? {'address_not_valid': true} : null;\r\n } else {\r\n this.isOpen = true;\r\n this.localAliases = this.variablesService.aliases.filter((item) => {\r\n return item.name.indexOf(g.value) > -1;\r\n });\r\n if (!(/^@?[a-z0-9\\.\\-]{6,25}$/.test(g.value))) {\r\n g.setErrors(Object.assign({'alias_not_valid': true}, g.errors));\r\n } else {\r\n this.backend.getAliasByName(g.value.replace('@', ''), (alias_status) => {\r\n this.ngZone.run(() => {\r\n if (alias_status) {\r\n if (g.hasError('alias_not_valid')) {\r\n delete g.errors['alias_not_valid'];\r\n if (Object.keys(g.errors).length === 0) {\r\n g.setErrors(null);\r\n }\r\n }\r\n } else {\r\n g.setErrors(Object.assign({'alias_not_valid': true}, g.errors));\r\n }\r\n });\r\n });\r\n }\r\n return (g.hasError('alias_not_valid')) ? {'alias_not_valid': true} : null;\r\n }\r\n }\r\n return null;\r\n }]),\r\n amount: new FormControl(null, [Validators.required, (g: FormControl) => {\r\n if (new BigNumber(g.value).eq(0)) {\r\n return {'zero': true};\r\n }\r\n return null;\r\n }]),\r\n comment: new FormControl(''),\r\n mixin: new FormControl(MIXIN, Validators.required),\r\n fee: new FormControl(this.variablesService.default_fee, [Validators.required, (g: FormControl) => {\r\n if ((new BigNumber(g.value)).isLessThan(this.variablesService.default_fee)) {\r\n return {'less_min': true};\r\n }\r\n return null;\r\n }]),\r\n hide: new FormControl(false)\r\n });\r\n additionalOptions = false;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private backend: BackendService,\r\n public variablesService: VariablesService,\r\n private modalService: ModalService,\r\n private ngZone: NgZone\r\n ) {\r\n }\r\n\r\n addressMouseDown(e) {\r\n if (e['button'] === 0 && this.sendForm.get('address').value && this.sendForm.get('address').value.indexOf('@') === 0) {\r\n this.isOpen = true;\r\n }\r\n }\r\n\r\n setAlias(alias) {\r\n this.sendForm.get('address').setValue(alias);\r\n }\r\n\r\n @HostListener('document:click', ['$event.target'])\r\n public onClick(targetElement) {\r\n if (targetElement.id !== 'send-address' && this.isOpen) {\r\n this.isOpen = false;\r\n }\r\n }\r\n\r\n\r\n ngOnInit() {\r\n this.parentRouting = this.route.parent.params.subscribe(params => {\r\n this.currentWalletId = params['id'];\r\n this.mixin = this.variablesService.currentWallet.send_data['mixin'] || MIXIN;\r\n if (this.variablesService.currentWallet.is_auditable) {\r\n this.mixin = 0;\r\n this.sendForm.controls['mixin'].disable();\r\n }\r\n this.hideWalletAddress = this.variablesService.currentWallet.is_auditable && !this.variablesService.currentWallet.is_watch_only;\r\n if (this.hideWalletAddress) {\r\n this.sendForm.controls['hide'].disable();\r\n }\r\n this.sendForm.reset({\r\n address: this.variablesService.currentWallet.send_data['address'],\r\n amount: this.variablesService.currentWallet.send_data['amount'],\r\n comment: this.variablesService.currentWallet.send_data['comment'],\r\n mixin: this.mixin,\r\n fee: this.variablesService.currentWallet.send_data['fee'] || this.variablesService.default_fee,\r\n hide: this.variablesService.currentWallet.send_data['hide'] || false\r\n });\r\n });\r\n }\r\n\r\n showDialog() {\r\n this.isModalDialogVisible = true;\r\n }\r\n\r\n confirmed(confirmed: boolean) {\r\n if (confirmed) {\r\n this.onSend();\r\n }\r\n this.isModalDialogVisible = false;\r\n }\r\n\r\n onSend() {\r\n if (this.sendForm.valid) {\r\n if (this.sendForm.get('address').value.indexOf('@') !== 0) {\r\n this.backend.validateAddress(this.sendForm.get('address').value, (valid_status) => {\r\n if (valid_status === false) {\r\n this.ngZone.run(() => {\r\n this.sendForm.get('address').setErrors({'address_not_valid': true});\r\n });\r\n } else {\r\n this.backend.sendMoney(\r\n this.currentWalletId,\r\n this.sendForm.get('address').value,\r\n this.sendForm.get('amount').value,\r\n this.sendForm.get('fee').value,\r\n this.sendForm.get('mixin').value,\r\n this.sendForm.get('comment').value,\r\n this.sendForm.get('hide').value,\r\n (send_status) => {\r\n if (send_status) {\r\n this.modalService.prepareModal('success', 'SEND.SUCCESS_SENT');\r\n this.variablesService.currentWallet.send_data = {address: null, amount: null, comment: null, mixin: null, fee: null, hide: null};\r\n this.sendForm.reset({address: null, amount: null, comment: null, mixin: this.mixin, fee: this.variablesService.default_fee, hide: false});\r\n }\r\n });\r\n }\r\n });\r\n } else {\r\n this.backend.getAliasByName(this.sendForm.get('address').value.replace('@', ''), (alias_status, alias_data) => {\r\n this.ngZone.run(() => {\r\n if (alias_status === false) {\r\n this.ngZone.run(() => {\r\n this.sendForm.get('address').setErrors({'alias_not_valid': true});\r\n });\r\n } else {\r\n this.backend.sendMoney(\r\n this.currentWalletId,\r\n alias_data.address, // this.sendForm.get('address').value,\r\n this.sendForm.get('amount').value,\r\n this.sendForm.get('fee').value,\r\n this.sendForm.get('mixin').value,\r\n this.sendForm.get('comment').value,\r\n this.sendForm.get('hide').value,\r\n (send_status) => {\r\n if (send_status) {\r\n this.modalService.prepareModal('success', 'SEND.SUCCESS_SENT');\r\n this.variablesService.currentWallet.send_data = {address: null, amount: null, comment: null, mixin: null, fee: null, hide: null};\r\n this.sendForm.reset({address: null, amount: null, comment: null, mixin: this.mixin, fee: this.variablesService.default_fee, hide: false});\r\n }\r\n });\r\n }\r\n });\r\n });\r\n }\r\n }\r\n }\r\n\r\n toggleOptions() {\r\n this.additionalOptions = !this.additionalOptions;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.parentRouting.unsubscribe();\r\n this.variablesService.currentWallet.send_data = {\r\n address: this.sendForm.get('address').value,\r\n amount: this.sendForm.get('amount').value,\r\n comment: this.sendForm.get('comment').value,\r\n mixin: this.sendForm.get('mixin').value,\r\n fee: this.sendForm.get('fee').value,\r\n hide: this.sendForm.get('hide').value\r\n };\r\n }\r\n\r\n}\r\n","module.exports = \"
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n\\r\\n

      {{ 'SETTINGS.TITLE' | translate }}

      \\r\\n\\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n {{item.language | translate}}\\r\\n \\r\\n \\r\\n {{item.language | translate}}\\r\\n \\r\\n \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n {{item.name | translate}}\\r\\n \\r\\n \\r\\n {{item.name | translate}}\\r\\n \\r\\n \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n\\r\\n
      \\r\\n\\r\\n {{ 'SETTINGS.MASTER_PASSWORD.TITLE' | translate }}\\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n {{ 'SETTINGS.FORM_ERRORS.PASS_NOT_MATCH' | translate }}\\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'ERRORS.WRONG_PASSWORD' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n {{ 'SETTINGS.FORM_ERRORS.CONFIRM_NOT_MATCH' | translate }}\\r\\n
      \\r\\n
      \\r\\n\\r\\n \\r\\n\\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n
      {{ 'SETTINGS.LAST_BUILD' | translate : {value: currentBuild} }}
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n\"","module.exports = \".head {\\n justify-content: flex-end; }\\n\\n.settings-title {\\n font-size: 1.7rem; }\\n\\n.theme-selection {\\n display: flex;\\n flex-direction: column;\\n align-items: flex-start;\\n margin: 2.4rem 0;\\n width: 50%; }\\n\\n.theme-selection .radio-block {\\n display: flex;\\n align-items: center;\\n justify-content: flex-start;\\n font-size: 1.3rem;\\n line-height: 2.7rem; }\\n\\n.lock-selection {\\n display: flex;\\n flex-direction: column;\\n align-items: flex-start;\\n margin: 2.4rem 0;\\n width: 50%; }\\n\\n.lock-selection .lock-selection-title {\\n display: flex;\\n font-size: 1.5rem;\\n line-height: 2.7rem;\\n margin-bottom: 1rem; }\\n\\n.scale-selection {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n padding: 0 0 4rem;\\n width: 50%;\\n height: 0.5rem; }\\n\\n.scale-selection .button-block {\\n position: relative;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n flex: 1 0 auto;\\n margin: 0 0.2rem;\\n padding: 0;\\n height: 0.5rem; }\\n\\n.scale-selection .button-block .label {\\n position: absolute;\\n bottom: -1rem;\\n left: 50%;\\n transform: translate(-50%, 100%);\\n font-size: 1rem;\\n white-space: nowrap; }\\n\\n.master-password {\\n width: 50%; }\\n\\n.master-password .master-password-title {\\n display: flex;\\n font-size: 1.5rem;\\n line-height: 2.7rem;\\n margin-bottom: 1rem; }\\n\\n.master-password button {\\n margin: 2.5rem auto;\\n width: 100%;\\n max-width: 15rem; }\\n\\n.last-build {\\n font-size: 1rem; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2V0dGluZ3MvRDpcXFByb2plY3RcXFdPUktfTkVXXFx6YW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFwcFxcc2V0dGluZ3NcXHNldHRpbmdzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UseUJBQXlCLEVBQUE7O0FBRzNCO0VBQ0UsaUJBQWlCLEVBQUE7O0FBR25CO0VBQ0UsYUFBYTtFQUNiLHNCQUFzQjtFQUN0Qix1QkFBdUI7RUFDdkIsZ0JBQWdCO0VBQ2hCLFVBQVUsRUFBQTs7QUFMWjtJQVFJLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsMkJBQTJCO0lBQzNCLGlCQUFpQjtJQUNqQixtQkFBbUIsRUFBQTs7QUFJdkI7RUFDRSxhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLHVCQUF1QjtFQUN2QixnQkFBZ0I7RUFDaEIsVUFBVSxFQUFBOztBQUxaO0lBUUksYUFBYTtJQUNiLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsbUJBQW1CLEVBQUE7O0FBSXZCO0VBQ0UsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQiw4QkFBOEI7RUFDOUIsaUJBQWlCO0VBQ2pCLFVBQVU7RUFDVixjQUFjLEVBQUE7O0FBTmhCO0lBU0ksa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsVUFBVTtJQUNWLGNBQWMsRUFBQTs7QUFoQmxCO01BbUJNLGtCQUFrQjtNQUNsQixhQUFhO01BQ2IsU0FBUztNQUNULGdDQUFnQztNQUNoQyxlQUFlO01BQ2YsbUJBQW1CLEVBQUE7O0FBS3pCO0VBQ0UsVUFBVSxFQUFBOztBQURaO0lBSUksYUFBYTtJQUNiLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsbUJBQW1CLEVBQUE7O0FBUHZCO0lBV0ksbUJBQW1CO0lBQ25CLFdBQVc7SUFDWCxnQkFBZ0IsRUFBQTs7QUFJcEI7RUFDRSxlQUFlLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9zZXR0aW5ncy9zZXR0aW5ncy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5oZWFkIHtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG59XHJcblxyXG4uc2V0dGluZ3MtdGl0bGUge1xyXG4gIGZvbnQtc2l6ZTogMS43cmVtO1xyXG59XHJcblxyXG4udGhlbWUtc2VsZWN0aW9uIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgbWFyZ2luOiAyLjRyZW0gMDtcclxuICB3aWR0aDogNTAlO1xyXG5cclxuICAucmFkaW8tYmxvY2sge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAyLjdyZW07XHJcbiAgfVxyXG59XHJcblxyXG4ubG9jay1zZWxlY3Rpb24ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICBtYXJnaW46IDIuNHJlbSAwO1xyXG4gIHdpZHRoOiA1MCU7XHJcblxyXG4gIC5sb2NrLXNlbGVjdGlvbi10aXRsZSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICBsaW5lLWhlaWdodDogMi43cmVtO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICB9XHJcbn1cclxuXHJcbi5zY2FsZS1zZWxlY3Rpb24ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgcGFkZGluZzogMCAwIDRyZW07XHJcbiAgd2lkdGg6IDUwJTtcclxuICBoZWlnaHQ6IDAuNXJlbTtcclxuXHJcbiAgLmJ1dHRvbi1ibG9jayB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgZmxleDogMSAwIGF1dG87XHJcbiAgICBtYXJnaW46IDAgMC4ycmVtO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGhlaWdodDogMC41cmVtO1xyXG5cclxuICAgIC5sYWJlbCB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgYm90dG9tOiAtMXJlbTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAxMDAlKTtcclxuICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLm1hc3Rlci1wYXNzd29yZCB7XHJcbiAgd2lkdGg6IDUwJTtcclxuXHJcbiAgLm1hc3Rlci1wYXNzd29yZC10aXRsZSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICBsaW5lLWhlaWdodDogMi43cmVtO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICB9XHJcblxyXG4gIGJ1dHRvbiB7XHJcbiAgICBtYXJnaW46IDIuNXJlbSBhdXRvO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDE1cmVtO1xyXG4gIH1cclxufVxyXG5cclxuLmxhc3QtYnVpbGQge1xyXG4gIGZvbnQtc2l6ZTogMXJlbTtcclxufVxyXG4iXX0= */\"","import {Component, NgZone, OnInit, Renderer2} from '@angular/core';\r\nimport {VariablesService} from '../_helpers/services/variables.service';\r\nimport {BackendService} from '../_helpers/services/backend.service';\r\nimport {FormControl, FormGroup, Validators} from '@angular/forms';\r\nimport {Location} from '@angular/common';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport {UtilsService} from '../_helpers/services/utils.service';\r\n\r\n@Component({\r\n selector: 'app-settings',\r\n templateUrl: './settings.component.html',\r\n styleUrls: ['./settings.component.scss'],\r\n providers: [UtilsService]\r\n})\r\nexport class SettingsComponent implements OnInit {\r\n\r\n theme: string;\r\n scale: number;\r\n changeForm: any;\r\n languagesOptions = [\r\n {\r\n name: 'en',\r\n language: 'SETTINGS.LANGUAGE.EN'\r\n },\r\n {\r\n name: 'fr',\r\n language: 'SETTINGS.LANGUAGE.FR'\r\n },\r\n {\r\n name: 'de',\r\n language: 'SETTINGS.LANGUAGE.DE'\r\n },\r\n {\r\n name: 'it',\r\n language: 'SETTINGS.LANGUAGE.IT'\r\n },\r\n {\r\n name: 'pt',\r\n language: 'SETTINGS.LANGUAGE.PT'\r\n }\r\n ];\r\n appLockOptions = [\r\n {\r\n id: 5,\r\n name: 'SETTINGS.APP_LOCK.TIME1'\r\n },\r\n {\r\n id: 15,\r\n name: 'SETTINGS.APP_LOCK.TIME2'\r\n },\r\n {\r\n id: 60,\r\n name: 'SETTINGS.APP_LOCK.TIME3'\r\n },\r\n {\r\n id: 0,\r\n name: 'SETTINGS.APP_LOCK.TIME4'\r\n }\r\n ];\r\n appScaleOptions = [\r\n {\r\n id: 7.5,\r\n name: 'SETTINGS.SCALE.75'\r\n },\r\n {\r\n id: 10,\r\n name: 'SETTINGS.SCALE.100'\r\n },\r\n {\r\n id: 12.5,\r\n name: 'SETTINGS.SCALE.125'\r\n },\r\n {\r\n id: 15,\r\n name: 'SETTINGS.SCALE.150'\r\n }\r\n ];\r\n appLogOptions = [\r\n {\r\n id: -1\r\n },\r\n {\r\n id: 0\r\n },\r\n {\r\n id: 1\r\n },\r\n {\r\n id: 2\r\n },\r\n {\r\n id: 3\r\n },\r\n {\r\n id: 4\r\n }\r\n ];\r\n\r\n currentBuild = '';\r\n appPass: any;\r\n\r\n constructor(\r\n private renderer: Renderer2,\r\n public variablesService: VariablesService,\r\n private backend: BackendService,\r\n private location: Location,\r\n public translate: TranslateService,\r\n private ngZone: NgZone,\r\n private utilsService: UtilsService\r\n ) {\r\n this.theme = this.variablesService.settings.theme;\r\n this.scale = this.variablesService.settings.scale;\r\n this.changeForm = new FormGroup({\r\n password: new FormControl(''),\r\n new_password: new FormControl('', Validators.pattern(this.variablesService.pattern)),\r\n new_confirmation: new FormControl('')\r\n }, [(g: FormGroup) => {\r\n return g.get('new_password').value === g.get('new_confirmation').value ? null : {'confirm_mismatch': true};\r\n }, (g: FormGroup) => {\r\n if (this.variablesService.appPass) {\r\n return g.get('password').value === this.variablesService.appPass ? null : {'pass_mismatch': true};\r\n }\r\n return null;\r\n }]);\r\n }\r\n\r\n ngOnInit() {\r\n this.backend.getVersion((version, type) => {\r\n this.ngZone.run(() => {\r\n this.currentBuild = version;\r\n this.variablesService.testnet = false;\r\n if (type == 'testnet')\r\n {\r\n this.currentBuild += ' TESTNET';\r\n this.variablesService.testnet = true;\r\n }\r\n this.variablesService.networkType = type;\r\n });\r\n });\r\n }\r\n\r\n setTheme(theme) {\r\n this.renderer.removeClass(document.body, 'theme-' + this.theme);\r\n this.theme = theme;\r\n this.variablesService.settings.theme = this.theme;\r\n this.renderer.addClass(document.body, 'theme-' + this.theme);\r\n this.backend.storeAppData();\r\n }\r\n\r\n setScale(scale) {\r\n this.scale = scale;\r\n this.variablesService.settings.scale = this.scale;\r\n const width = this.utilsService.getMinWidthByScale(this.scale);\r\n const app = document.documentElement.querySelector('app-root');\r\n this.renderer.setStyle(app, 'min-width', width + 'px');\r\n this.renderer.setStyle(document.documentElement, 'font-size', this.scale + 'px');\r\n this.backend.storeAppData();\r\n }\r\n\r\n onSubmitChangePass() {\r\n if (this.changeForm.valid) {\r\n this.variablesService.appPass = this.changeForm.get('new_password').value;\r\n if (this.variablesService.appPass) {\r\n this.backend.setMasterPassword({pass: this.variablesService.appPass}, (status, data) => {\r\n if (status) {\r\n this.backend.storeSecureAppData({pass: this.variablesService.appPass});\r\n this.variablesService.appLogin = true;\r\n this.variablesService.dataIsLoaded = true;\r\n if (this.variablesService.settings.appLockTime) {\r\n this.variablesService.startCountdown();\r\n }\r\n } else {\r\n console.log(data['error_code']);\r\n }\r\n });\r\n } else {\r\n this.backend.dropSecureAppData();\r\n }\r\n this.changeForm.reset();\r\n }\r\n }\r\n\r\n onLockChange() {\r\n if (this.variablesService.appLogin && this.variablesService.settings.appLockTime) {\r\n this.variablesService.restartCountdown();\r\n }\r\n this.backend.storeAppData();\r\n }\r\n\r\n onLogChange() {\r\n this.backend.setLogLevel(this.variablesService.settings.appLog);\r\n this.backend.storeAppData();\r\n }\r\n\r\n onLanguageChange() {\r\n this.translate.use(this.variablesService.settings.language);\r\n this.backend.storeAppData();\r\n }\r\n\r\n back() {\r\n this.location.back();\r\n }\r\n\r\n}\r\n","module.exports = \"
      \\r\\n
      \\r\\n

      {{ 'SIDEBAR.TITLE' | translate }}

      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n Auditable\\r\\n
      \\r\\n
      \\r\\n Watch-only\\r\\n
      \\r\\n
      \\r\\n Tracking\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n\\r\\n {{ 'SIDEBAR.LOG_OUT' | translate }}\\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n {{ 'SIDEBAR.SYNCHRONIZATION.OFFLINE' | translate }}\\r\\n \\r\\n \\r\\n {{ 'SIDEBAR.SYNCHRONIZATION.SYNCING' | translate }} {{ variablesService.height_app }}{{ 'SIDEBAR.SYNCHRONIZATION.SLASH' | translate }}{{ variablesService.height_max }}\\r\\n \\r\\n \\r\\n {{ 'SIDEBAR.SYNCHRONIZATION.ONLINE' | translate }}\\r\\n \\r\\n \\r\\n {{ 'SIDEBAR.SYNCHRONIZATION.LOADING' | translate }}\\r\\n \\r\\n \\r\\n {{ 'SIDEBAR.SYNCHRONIZATION.ERROR' | translate }}\\r\\n \\r\\n \\r\\n {{ 'SIDEBAR.SYNCHRONIZATION.COMPLETE' | translate }}\\r\\n \\r\\n \\r\\n {{ 'SIDEBAR.SYNCHRONIZATION.DOWNLOADING' | translate }} {{ variablesService.downloaded }}{{ 'SIDEBAR.SYNCHRONIZATION.SLASH' | translate }}{{ variablesService.total }}{{ 'SIDEBAR.SYNCHRONIZATION.MB' | translate }}\\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      {{ variablesService.sync.progress_value_text }}%
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      {{ variablesService.download.progress_value_text }}%
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n {{ 'SIDEBAR.UPDATE.STANDARD' | translate }}\\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n {{ 'SIDEBAR.UPDATE.IMPORTANT' | translate }}\\r\\n
      \\r\\n {{ 'SIDEBAR.UPDATE.IMPORTANT_HINT' | translate }}\\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n {{ 'SIDEBAR.UPDATE.CRITICAL' | translate }}\\r\\n
      \\r\\n {{ 'SIDEBAR.UPDATE.IMPORTANT_HINT' | translate }}\\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n {{ 'SIDEBAR.UPDATE.TIME' | translate }}\\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n\\r\\n\\r\\n\"","module.exports = \":host {\\n display: flex;\\n flex-direction: column;\\n justify-content: space-between;\\n flex: 0 0 25rem;\\n padding: 0 3rem;\\n max-width: 25rem; }\\n\\n.animated {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n margin-right: 1.2rem; }\\n\\n.animated::ng-deep svg {\\n width: 2rem;\\n height: 2rem; }\\n\\n.animated::ng-deep svg path, .animated::ng-deep svg circle, .animated::ng-deep svg polygon {\\n fill: #4db1ff; }\\n\\n.wallet-type {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 7px;\\n height: 100%;\\n background-color: transparent;\\n transition: all ease .3s;\\n overflow: hidden; }\\n\\n.wallet-type:hover {\\n width: 28px; }\\n\\n.wallet-type .content {\\n height: 100%;\\n padding: 7px;\\n font-size: 12px;\\n line-height: 14px;\\n font-weight: 500;\\n color: #ffffff;\\n text-decoration: none;\\n text-transform: capitalize;\\n transition: all ease .3s;\\n writing-mode: vertical-rl;\\n text-orientation: mixed; }\\n\\n.wallet-type .content.auditable {\\n background-color: #5cda9d; }\\n\\n.wallet-type .content.watch-only, .wallet-type .content.auditable-watch-only {\\n background-color: #8686ff; }\\n\\n.sidebar-accounts {\\n position: relative;\\n display: flex;\\n flex-direction: column;\\n flex: 1 1 auto; }\\n\\n.sidebar-accounts .sidebar-accounts-header {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n flex: 0 0 auto;\\n height: 8rem;\\n font-weight: 400; }\\n\\n.sidebar-accounts .sidebar-accounts-header h3 {\\n font-size: 1.7rem; }\\n\\n.sidebar-accounts .sidebar-accounts-header button {\\n background: transparent;\\n border: none;\\n outline: none; }\\n\\n.sidebar-accounts .sidebar-accounts-list {\\n display: flex;\\n flex-direction: column;\\n flex: 1 1 auto;\\n margin: 0 -3rem;\\n overflow-y: auto; }\\n\\n.sidebar-accounts .sidebar-accounts-list .sidebar-account {\\n position: relative;\\n display: flex;\\n flex-direction: column;\\n flex-shrink: 0;\\n cursor: pointer;\\n padding: 2.5rem 3rem; }\\n\\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .close-wallet-wrapper {\\n display: flex;\\n justify-content: flex-end;\\n position: relative; }\\n\\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .close-wallet-wrapper button {\\n display: flex;\\n position: absolute;\\n top: -12px;\\n right: -18px;\\n padding: 0;\\n height: auto;\\n background: transparent;\\n border: none; }\\n\\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .close-wallet-wrapper button .icon {\\n width: 1.3rem;\\n height: 1.3rem; }\\n\\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .close-wallet-wrapper button .icon.close-wallet {\\n background-color: transparent; }\\n\\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .close-wallet-wrapper button .icon.close-wallet::after {\\n display: block;\\n content: '';\\n background: url('close-wallet-blue.svg') no-repeat center;\\n width: 13px;\\n height: 13px; }\\n\\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row {\\n display: flex;\\n align-items: center;\\n justify-content: space-between; }\\n\\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-title-balance {\\n line-height: 2.7rem; }\\n\\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-title-balance .title {\\n font-size: 1.5rem;\\n text-overflow: ellipsis;\\n overflow: hidden;\\n white-space: nowrap; }\\n\\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-title-balance .balance {\\n font-size: 1.8rem;\\n font-weight: 600;\\n white-space: nowrap; }\\n\\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-alias {\\n font-size: 1.3rem;\\n line-height: 3.4rem;\\n margin-bottom: 0.7rem; }\\n\\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-alias .name {\\n display: flex;\\n align-items: center;\\n flex-shrink: 1;\\n line-height: 1.6rem;\\n padding-right: 1rem;\\n overflow: hidden; }\\n\\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-alias .name span {\\n text-overflow: ellipsis;\\n overflow: hidden;\\n white-space: nowrap; }\\n\\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-alias .price {\\n flex-shrink: 0; }\\n\\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-alias .icon {\\n margin-left: 0.5rem;\\n width: 1.3rem;\\n height: 1.3rem;\\n border-radius: 50%;\\n color: #1a1a1a;\\n font-size: 9px;\\n font-weight: 700;\\n line-height: 9px;\\n padding-right: 1px;\\n display: flex;\\n align-items: center;\\n justify-content: center; }\\n\\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-staking {\\n line-height: 2.9rem; }\\n\\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-staking .text {\\n font-size: 1.3rem; }\\n\\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-messages {\\n line-height: 2.7rem; }\\n\\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-messages .text {\\n font-size: 1.3rem; }\\n\\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-messages .indicator {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n border-radius: 1rem;\\n font-size: 1rem;\\n min-width: 2.4rem;\\n height: 1.6rem;\\n padding: 0 0.5rem; }\\n\\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-synchronization {\\n flex-direction: column;\\n height: 5.6rem; }\\n\\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-synchronization .status {\\n align-self: flex-start;\\n font-size: 1.3rem;\\n line-height: 2.6rem; }\\n\\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-synchronization .progress-bar-container {\\n display: flex;\\n margin: 0.4rem 0;\\n height: 0.7rem;\\n width: 100%; }\\n\\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-synchronization .progress-bar-container .progress-bar {\\n flex: 1 0 auto; }\\n\\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-synchronization .progress-bar-container .progress-bar .fill {\\n height: 100%; }\\n\\n.sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-synchronization .progress-bar-container .progress-percent {\\n flex: 0 0 auto;\\n font-size: 1.3rem;\\n line-height: 0.7rem;\\n padding-left: 0.7rem; }\\n\\n.sidebar-accounts .sidebar-accounts-list .sidebar-account:focus {\\n outline: none; }\\n\\n.sidebar-accounts:after {\\n content: '';\\n position: absolute;\\n bottom: 0;\\n left: -3rem;\\n width: calc(100% + 6rem);\\n height: 5rem; }\\n\\n.sidebar-settings {\\n flex: 0 0 auto;\\n padding-bottom: 1rem; }\\n\\n.sidebar-settings .wrap-button {\\n margin: 0 -3rem; }\\n\\n.sidebar-settings .wrap-button button {\\n display: flex;\\n align-items: center;\\n background: transparent;\\n border: none;\\n font-weight: 400;\\n line-height: 3rem;\\n outline: none;\\n padding: 0 3rem;\\n width: 100%; }\\n\\n.sidebar-settings .wrap-button button.disabled {\\n cursor: url('not-allowed.svg'), not-allowed; }\\n\\n.sidebar-settings .wrap-button button .icon {\\n margin-right: 1.2rem;\\n width: 2rem;\\n height: 2rem; }\\n\\n.sidebar-settings .wrap-button button .icon.contacts {\\n -webkit-mask: url('contacts.svg') no-repeat center;\\n mask: url('contacts.svg') no-repeat center; }\\n\\n.sidebar-settings .wrap-button button .icon.settings {\\n -webkit-mask: url('settings.svg') no-repeat center;\\n mask: url('settings.svg') no-repeat center; }\\n\\n.sidebar-settings .wrap-button button .icon.logout {\\n -webkit-mask: url('logout.svg') no-repeat center;\\n mask: url('logout.svg') no-repeat center; }\\n\\n.synchronization-status {\\n display: flex;\\n align-items: center;\\n justify-content: flex-start;\\n flex: 0 0 7rem;\\n font-size: 1.3rem; }\\n\\n.synchronization-status .status-container {\\n position: relative;\\n flex-grow: 1;\\n text-align: left; }\\n\\n.synchronization-status .status-container .offline, .synchronization-status .status-container .online {\\n position: relative;\\n display: block;\\n line-height: 1.2rem;\\n padding-left: 2.2rem; }\\n\\n.synchronization-status .status-container .offline:before, .synchronization-status .status-container .online:before {\\n content: '';\\n position: absolute;\\n top: 0;\\n left: 0;\\n border-radius: 50%;\\n width: 1.2rem;\\n height: 1.2rem; }\\n\\n.synchronization-status .status-container .syncing, .synchronization-status .status-container .loading {\\n line-height: 5rem; }\\n\\n.synchronization-status .status-container .progress-bar-container {\\n position: absolute;\\n bottom: 0;\\n left: 0;\\n height: 0.7rem;\\n width: 100%; }\\n\\n.synchronization-status .status-container .progress-bar-container .syncing {\\n display: flex; }\\n\\n.synchronization-status .status-container .progress-bar-container .syncing .progress-bar {\\n flex: 1 0 auto; }\\n\\n.synchronization-status .status-container .progress-bar-container .syncing .progress-bar .fill {\\n height: 100%; }\\n\\n.synchronization-status .status-container .progress-bar-container .syncing .progress-percent {\\n flex: 0 0 auto;\\n font-size: 1.3rem;\\n line-height: 0.7rem;\\n padding-left: 0.7rem; }\\n\\n.synchronization-status .status-container .progress-bar-container .loading {\\n -webkit-animation: move 5s linear infinite;\\n animation: move 5s linear infinite;\\n background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.125, rgba(0, 0, 0, 0.15)), color-stop(0.125, transparent), color-stop(0.25, transparent), color-stop(0.25, rgba(0, 0, 0, 0.1)), color-stop(0.375, rgba(0, 0, 0, 0.1)), color-stop(0.375, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(0, 0, 0, 0.15)), color-stop(0.625, rgba(0, 0, 0, 0.15)), color-stop(0.625, transparent), color-stop(0.75, transparent), color-stop(0.75, rgba(0, 0, 0, 0.1)), color-stop(0.875, rgba(0, 0, 0, 0.1)), color-stop(0.875, transparent), to(transparent)), -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.125, rgba(0, 0, 0, 0.3)), color-stop(0.125, transparent), color-stop(0.25, transparent), color-stop(0.25, rgba(0, 0, 0, 0.25)), color-stop(0.375, rgba(0, 0, 0, 0.25)), color-stop(0.375, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(0, 0, 0, 0.3)), color-stop(0.625, rgba(0, 0, 0, 0.3)), color-stop(0.625, transparent), color-stop(0.75, transparent), color-stop(0.75, rgba(0, 0, 0, 0.25)), color-stop(0.875, rgba(0, 0, 0, 0.25)), color-stop(0.875, transparent), to(transparent));\\n background-size: 7rem 7rem;\\n height: 100%; }\\n\\n.synchronization-status .update-container {\\n display: flex;\\n flex-grow: 1;\\n margin-left: 1rem;\\n text-align: right; }\\n\\n.synchronization-status .update-container .update-text {\\n flex: 1 1 auto;\\n font-size: 1.2rem;\\n line-height: 1.8rem;\\n text-align: left; }\\n\\n.synchronization-status .update-container .update-text.time {\\n font-size: 1.1rem; }\\n\\n.synchronization-status .update-container .icon {\\n flex: 1 0 auto;\\n margin: 0.3rem 0 0 0.6rem;\\n width: 1.2rem;\\n height: 1.2rem; }\\n\\n.synchronization-status .update-container .icon.update {\\n -webkit-mask: url('update.svg') no-repeat center;\\n mask: url('update.svg') no-repeat center; }\\n\\n.synchronization-status .update-container .icon.time {\\n -webkit-mask: url('time.svg') no-repeat center;\\n mask: url('time.svg') no-repeat center; }\\n\\n@-webkit-keyframes move {\\n 0% {\\n background-position: 100% -7rem; }\\n 100% {\\n background-position: 100% 7rem; } }\\n\\n@keyframes move {\\n 0% {\\n background-position: 100% -7rem; }\\n 100% {\\n background-position: 100% 7rem; } }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2lkZWJhci9EOlxcUHJvamVjdFxcV09SS19ORVdcXHphbm9cXHNyY1xcZ3VpXFxxdC1kYWVtb25cXGh0bWxfc291cmNlL3NyY1xcYXBwXFxzaWRlYmFyXFxzaWRlYmFyLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBYTtFQUNiLHNCQUFzQjtFQUN0Qiw4QkFBOEI7RUFDOUIsZUFBZTtFQUNmLGVBQWU7RUFDZixnQkFBZ0IsRUFBQTs7QUFHbEI7RUFDRSxhQUFhO0VBQ2IsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtFQUNuQixvQkFBb0IsRUFBQTs7QUFKdEI7SUFRSSxXQUFXO0lBQ1gsWUFBWSxFQUFBOztBQVRoQjtNQVlNLGFBQWEsRUFBQTs7QUFJbkI7RUFDRSxrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLE9BQU87RUFDUCxVQUFVO0VBQ1YsWUFBWTtFQUNaLDZCQUE2QjtFQUM3Qix3QkFBd0I7RUFDeEIsZ0JBQWdCLEVBQUE7O0FBUmxCO0lBVUksV0FBVyxFQUFBOztBQVZmO0lBYUksWUFBWTtJQUNaLFlBQVk7SUFDWixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixjQUFjO0lBQ2QscUJBQXFCO0lBQ3JCLDBCQUEwQjtJQUMxQix3QkFBd0I7SUFDeEIseUJBQXlCO0lBQ3pCLHVCQUF1QixFQUFBOztBQXZCM0I7TUF5Qk0seUJBQXlCLEVBQUE7O0FBekIvQjtNQTRCTSx5QkFBeUIsRUFBQTs7QUFJL0I7RUFDRSxrQkFBa0I7RUFDbEIsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixjQUFjLEVBQUE7O0FBSmhCO0lBT0ksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQiw4QkFBOEI7SUFDOUIsY0FBYztJQUNkLFlBQVk7SUFDWixnQkFBZ0IsRUFBQTs7QUFacEI7TUFlTSxpQkFBaUIsRUFBQTs7QUFmdkI7TUFtQk0sdUJBQXVCO01BQ3ZCLFlBQVk7TUFDWixhQUFhLEVBQUE7O0FBckJuQjtJQTBC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Z0RBQXlEO2dCQUF6RCx3Q0FBeUQsRUFBQTs7QUFsSGpFO1FBc0hRLDhDQUF1RDtnQkFBdkQsc0NBQXVELEVBQUE7O0FBTS9EO0VBQ0U7SUFDRSwrQkFBK0IsRUFBQTtFQUVqQztJQUNFLDhCQUE4QixFQUFBLEVBQUE7O0FBTGxDO0VBQ0U7SUFDRSwrQkFBK0IsRUFBQTtFQUVqQztJQUNFLDhCQUE4QixFQUFBLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9zaWRlYmFyL3NpZGViYXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBmbGV4OiAwIDAgMjVyZW07XHJcbiAgcGFkZGluZzogMCAzcmVtO1xyXG4gIG1heC13aWR0aDogMjVyZW07XHJcbn1cclxuXHJcbi5hbmltYXRlZCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIG1hcmdpbi1yaWdodDogMS4ycmVtO1xyXG5cclxuICAmOjpuZy1kZWVwIHN2ZyB7XHJcblxyXG4gICAgd2lkdGg6IDJyZW07XHJcbiAgICBoZWlnaHQ6IDJyZW07XHJcblxyXG4gICAgcGF0aCwgY2lyY2xlLCBwb2x5Z29uIHtcclxuICAgICAgZmlsbDogIzRkYjFmZjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuLndhbGxldC10eXBlIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDdweDtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UgLjNzO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgJjpob3ZlciB7XHJcbiAgICB3aWR0aDogMjhweDtcclxuICB9XHJcbiAgLmNvbnRlbnQge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcGFkZGluZzogN3B4O1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE0cHg7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIC4zcztcclxuICAgIHdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7XHJcbiAgICB0ZXh0LW9yaWVudGF0aW9uOiBtaXhlZDtcclxuICAgICYuYXVkaXRhYmxlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVjZGE5ZDtcclxuICAgIH1cclxuICAgICYud2F0Y2gtb25seSwgJi5hdWRpdGFibGUtd2F0Y2gtb25seSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4Njg2ZmY7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi5zaWRlYmFyLWFjY291bnRzIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGZsZXg6IDEgMSBhdXRvO1xyXG5cclxuICAuc2lkZWJhci1hY2NvdW50cy1oZWFkZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgIGhlaWdodDogOHJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcblxyXG4gICAgaDMge1xyXG4gICAgICBmb250LXNpemU6IDEuN3JlbTtcclxuICAgIH1cclxuXHJcbiAgICBidXR0b24ge1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnNpZGViYXItYWNjb3VudHMtbGlzdCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGZsZXg6IDEgMSBhdXRvO1xyXG4gICAgbWFyZ2luOiAwIC0zcmVtO1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxuXHJcbiAgICAuc2lkZWJhci1hY2NvdW50IHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICBwYWRkaW5nOiAyLjVyZW0gM3JlbTtcclxuXHJcbiAgICAgIC5jbG9zZS13YWxsZXQtd3JhcHBlciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIHRvcDogLTEycHg7XHJcbiAgICAgICAgICByaWdodDogLTE4cHg7XHJcbiAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcblxyXG4gICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMS4zcmVtO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEuM3JlbTtcclxuICAgICAgICAgICAgJi5jbG9zZS13YWxsZXQge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuY2xvc2Utd2FsbGV0OjphZnRlciB7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgY29udGVudDonJztcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOnVybChcIi4uLy4uL2Fzc2V0cy9pY29ucy9jbG9zZS13YWxsZXQtYmx1ZS5zdmdcIikgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgICAgICAgICB3aWR0aDogMTNweDtcclxuICAgICAgICAgICAgICBoZWlnaHQ6IDEzcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5zaWRlYmFyLWFjY291bnQtcm93IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuICAgICAgICAmLmFjY291bnQtdGl0bGUtYmFsYW5jZSB7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogMi43cmVtO1xyXG5cclxuICAgICAgICAgIC50aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuYmFsYW5jZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hY2NvdW50LWFsaWFzIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDMuNHJlbTtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuN3JlbTtcclxuXHJcbiAgICAgICAgICAubmFtZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAxO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS42cmVtO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLnByaWNlIHtcclxuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xyXG4gICAgICAgICAgICB3aWR0aDogMS4zcmVtO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEuM3JlbTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICBjb2xvcjogIzFhMWExYTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA5cHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA5cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFweDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmFjY291bnQtc3Rha2luZyB7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogMi45cmVtO1xyXG5cclxuICAgICAgICAgIC50ZXh0IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmFjY291bnQtbWVzc2FnZXMge1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIuN3JlbTtcclxuXHJcbiAgICAgICAgICAudGV4dCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5pbmRpY2F0b3Ige1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMXJlbTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDIuNHJlbTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxLjZyZW07XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMC41cmVtO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hY2NvdW50LXN5bmNocm9uaXphdGlvbiB7XHJcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgaGVpZ2h0OiA1LjZyZW07XHJcblxyXG4gICAgICAgICAgLnN0YXR1cyB7XHJcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMi42cmVtO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwLjRyZW0gMDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAwLjdyZW07XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAgICAgLnByb2dyZXNzLWJhciB7XHJcbiAgICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XHJcblxyXG4gICAgICAgICAgICAgIC5maWxsIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5wcm9ncmVzcy1wZXJjZW50IHtcclxuICAgICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMC43cmVtO1xyXG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC43cmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiAtM3JlbTtcclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA2cmVtKTtcclxuICAgIGhlaWdodDogNXJlbTtcclxuICB9XHJcbn1cclxuXHJcbi5zaWRlYmFyLXNldHRpbmdzIHtcclxuICBmbGV4OiAwIDAgYXV0bztcclxuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcclxuXHJcbiAgLndyYXAtYnV0dG9uIHtcclxuICAgIG1hcmdpbjogMCAtM3JlbTtcclxuXHJcbiAgICBidXR0b24ge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICBsaW5lLWhlaWdodDogM3JlbTtcclxuICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgcGFkZGluZzogMCAzcmVtO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgIGN1cnNvcjogdXJsKC4uLy4uL2Fzc2V0cy9pY29ucy9ub3QtYWxsb3dlZC5zdmcpLCBub3QtYWxsb3dlZDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmljb24ge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMS4ycmVtO1xyXG4gICAgICAgIHdpZHRoOiAycmVtO1xyXG4gICAgICAgIGhlaWdodDogMnJlbTtcclxuXHJcbiAgICAgICAgJi5jb250YWN0cyB7XHJcbiAgICAgICAgICBtYXNrOiB1cmwoLi4vLi4vYXNzZXRzL2ljb25zL2NvbnRhY3RzLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuc2V0dGluZ3Mge1xyXG4gICAgICAgICAgbWFzazogdXJsKC4uLy4uL2Fzc2V0cy9pY29ucy9zZXR0aW5ncy5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmxvZ291dCB7XHJcbiAgICAgICAgICBtYXNrOiB1cmwoLi4vLi4vYXNzZXRzL2ljb25zL2xvZ291dC5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uc3luY2hyb25pemF0aW9uLXN0YXR1cyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICBmbGV4OiAwIDAgN3JlbTtcclxuICBmb250LXNpemU6IDEuM3JlbTtcclxuXHJcbiAgLnN0YXR1cy1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuXHJcbiAgICAub2ZmbGluZSwgLm9ubGluZSB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJyZW07XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMi4ycmVtO1xyXG5cclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgd2lkdGg6IDEuMnJlbTtcclxuICAgICAgICBoZWlnaHQ6IDEuMnJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zeW5jaW5nLCAubG9hZGluZyB7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiA1cmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBib3R0b206IDA7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIGhlaWdodDogMC43cmVtO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgIC5zeW5jaW5nIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG5cclxuICAgICAgICAucHJvZ3Jlc3MtYmFyIHtcclxuICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xyXG5cclxuICAgICAgICAgIC5maWxsIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnByb2dyZXNzLXBlcmNlbnQge1xyXG4gICAgICAgICAgZmxleDogMCAwIGF1dG87XHJcbiAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjdyZW07XHJcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuN3JlbTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5sb2FkaW5nIHtcclxuICAgICAgICBhbmltYXRpb246IG1vdmUgNXMgbGluZWFyIGluZmluaXRlO1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6XHJcbiAgICAgICAgICAtd2Via2l0LWdyYWRpZW50KFxyXG4gICAgICAgICAgICAgIGxpbmVhciwgMCAwLCAxMDAlIDEwMCUsXHJcbiAgICAgICAgICAgICAgY29sb3Itc3RvcCguMTI1LCByZ2JhKDAsIDAsIDAsIC4xNSkpLCBjb2xvci1zdG9wKC4xMjUsIHRyYW5zcGFyZW50KSxcclxuICAgICAgICAgICAgICBjb2xvci1zdG9wKC4yNTAsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCguMjUwLCByZ2JhKDAsIDAsIDAsIC4xMCkpLFxyXG4gICAgICAgICAgICAgIGNvbG9yLXN0b3AoLjM3NSwgcmdiYSgwLCAwLCAwLCAuMTApKSwgY29sb3Itc3RvcCguMzc1LCB0cmFuc3BhcmVudCksXHJcbiAgICAgICAgICAgICAgY29sb3Itc3RvcCguNTAwLCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoLjUwMCwgcmdiYSgwLCAwLCAwLCAuMTUpKSxcclxuICAgICAgICAgICAgICBjb2xvci1zdG9wKC42MjUsIHJnYmEoMCwgMCwgMCwgLjE1KSksIGNvbG9yLXN0b3AoLjYyNSwgdHJhbnNwYXJlbnQpLFxyXG4gICAgICAgICAgICAgIGNvbG9yLXN0b3AoLjc1MCwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKC43NTAsIHJnYmEoMCwgMCwgMCwgLjEwKSksXHJcbiAgICAgICAgICAgICAgY29sb3Itc3RvcCguODc1LCByZ2JhKDAsIDAsIDAsIC4xMCkpLCBjb2xvci1zdG9wKC44NzUsIHRyYW5zcGFyZW50KSxcclxuICAgICAgICAgICAgICB0byh0cmFuc3BhcmVudClcclxuICAgICAgICAgICksXHJcbiAgICAgICAgICAtd2Via2l0LWdyYWRpZW50KFxyXG4gICAgICAgICAgICAgIGxpbmVhciwgMCAxMDAlLCAxMDAlIDAsXHJcbiAgICAgICAgICAgICAgY29sb3Itc3RvcCguMTI1LCByZ2JhKDAsIDAsIDAsIC4zMCkpLCBjb2xvci1zdG9wKC4xMjUsIHRyYW5zcGFyZW50KSxcclxuICAgICAgICAgICAgICBjb2xvci1zdG9wKC4yNTAsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCguMjUwLCByZ2JhKDAsIDAsIDAsIC4yNSkpLFxyXG4gICAgICAgICAgICAgIGNvbG9yLXN0b3AoLjM3NSwgcmdiYSgwLCAwLCAwLCAuMjUpKSwgY29sb3Itc3RvcCguMzc1LCB0cmFuc3BhcmVudCksXHJcbiAgICAgICAgICAgICAgY29sb3Itc3RvcCguNTAwLCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoLjUwMCwgcmdiYSgwLCAwLCAwLCAuMzApKSxcclxuICAgICAgICAgICAgICBjb2xvci1zdG9wKC42MjUsIHJnYmEoMCwgMCwgMCwgLjMwKSksIGNvbG9yLXN0b3AoLjYyNSwgdHJhbnNwYXJlbnQpLFxyXG4gICAgICAgICAgICAgIGNvbG9yLXN0b3AoLjc1MCwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKC43NTAsIHJnYmEoMCwgMCwgMCwgLjI1KSksXHJcbiAgICAgICAgICAgICAgY29sb3Itc3RvcCguODc1LCByZ2JhKDAsIDAsIDAsIC4yNSkpLCBjb2xvci1zdG9wKC44NzUsIHRyYW5zcGFyZW50KSxcclxuICAgICAgICAgICAgICB0byh0cmFuc3BhcmVudClcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA3cmVtIDdyZW07XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAudXBkYXRlLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuXHJcbiAgICAudXBkYXRlLXRleHQge1xyXG4gICAgICBmbGV4OiAxIDEgYXV0bztcclxuICAgICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjhyZW07XHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcblxyXG4gICAgICAmLnRpbWUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmljb24ge1xyXG4gICAgICBmbGV4OiAxIDAgYXV0bztcclxuICAgICAgbWFyZ2luOiAwLjNyZW0gMCAwIDAuNnJlbTtcclxuICAgICAgd2lkdGg6IDEuMnJlbTtcclxuICAgICAgaGVpZ2h0OiAxLjJyZW07XHJcblxyXG4gICAgICAmLnVwZGF0ZSB7XHJcbiAgICAgICAgbWFzazogdXJsKC4uLy4uL2Fzc2V0cy9pY29ucy91cGRhdGUuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLnRpbWUge1xyXG4gICAgICAgIG1hc2s6IHVybCguLi8uLi9hc3NldHMvaWNvbnMvdGltZS5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgbW92ZSB7XHJcbiAgMCUge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAtN3JlbTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDdyZW07XHJcbiAgfVxyXG59XHJcbiJdfQ== */\"","import {Component, NgZone, OnInit, OnDestroy} from '@angular/core';\r\nimport {ActivatedRoute, NavigationStart, Router} from '@angular/router';\r\nimport {VariablesService} from '../_helpers/services/variables.service';\r\nimport {BackendService} from '../_helpers/services/backend.service';\r\nimport { ModalService } from '../_helpers/services/modal.service';\r\nimport {AUDITABLE_WALLET_HELP_PAGE} from '../_shared/constants';\r\nimport {DOWNLOADS_PAGE_URL} from '../_shared/constants';\r\n\r\nimport icons from '../../assets/icons/icons.json';\r\n\r\n@Component({\r\n selector: 'app-sidebar',\r\n templateUrl: './sidebar.component.html',\r\n styleUrls: ['./sidebar.component.scss']\r\n})\r\nexport class SidebarComponent implements OnInit, OnDestroy {\r\n walletSubRouting;\r\n\r\n walletActive: number;\r\n\r\n contacts = icons.contacts;\r\n settings = icons.settings;\r\n exit = icons.exit;\r\n\r\n isModalDialogVisible = false;\r\n closeWalletId: number;\r\n\r\n menuItemHovered: boolean;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n public variablesService: VariablesService,\r\n private backend: BackendService,\r\n private modal: ModalService,\r\n private ngZone: NgZone\r\n ) {}\r\n\r\n ngOnInit() {\r\n if (this.router.url.indexOf('/wallet/') !== -1) {\r\n const localPathArr = this.router.url.split('/');\r\n if (localPathArr.length >= 3) {\r\n this.walletActive = parseInt(localPathArr[2], 10);\r\n }\r\n } else if (this.router.url.indexOf('/details') !== -1) {\r\n this.walletActive = this.variablesService.currentWallet.wallet_id;\r\n } else {\r\n this.walletActive = null;\r\n }\r\n\r\n this.walletSubRouting = this.router.events.subscribe((event) => {\r\n if (event instanceof NavigationStart) {\r\n if (event.url.indexOf('/wallet/') !== -1) {\r\n const localPathArr = event.url.split('/');\r\n if (localPathArr.length >= 3) {\r\n this.walletActive = parseInt(localPathArr[2], 10);\r\n }\r\n } else if (event.url.indexOf('/details') !== -1) {\r\n this.walletActive = this.variablesService.currentWallet.wallet_id;\r\n } else {\r\n this.walletActive = null;\r\n }\r\n }\r\n });\r\n }\r\n\r\n goMainPage() {\r\n if (this.route.snapshot.queryParams && this.route.snapshot.queryParams.prevUrl === 'login') {\r\n this.ngZone.run(() => {\r\n this.router.navigate(['/'], {queryParams: {prevUrl: 'login'}});\r\n });\r\n } else {\r\n this.ngZone.run(() => {\r\n this.router.navigate(['/']);\r\n });\r\n }\r\n\r\n };\r\n\r\n contactsRoute() {\r\n if (this.variablesService.appPass) {\r\n this.router.navigate(['/contacts']);\r\n } else {\r\n this.modal.prepareModal(\r\n 'error',\r\n 'CONTACTS.FORM_ERRORS.SET_MASTER_PASSWORD'\r\n );\r\n }\r\n }\r\n\r\n showDialog(wallet_id) {\r\n this.isModalDialogVisible = true;\r\n this.closeWalletId = wallet_id;\r\n }\r\n\r\n confirmed(confirmed: boolean) {\r\n if (confirmed) {\r\n this.closeWallet(this.closeWalletId);\r\n }\r\n this.isModalDialogVisible = false;\r\n }\r\n\r\n closeWallet(wallet_id) {\r\n this.backend.closeWallet(wallet_id, () => {\r\n for (let i = this.variablesService.wallets.length - 1; i >= 0; i--) {\r\n if (this.variablesService.wallets[i].wallet_id === this.variablesService.currentWallet.wallet_id) {\r\n this.variablesService.wallets.splice(i, 1);\r\n }\r\n }\r\n this.ngZone.run(() => {\r\n if (this.variablesService.wallets.length) {\r\n this.variablesService.currentWallet = this.variablesService.wallets[0];\r\n this.router.navigate(['/wallet/' + this.variablesService.currentWallet.wallet_id]);\r\n } else {\r\n this.router.navigate(['/']);\r\n }\r\n });\r\n if (this.variablesService.appPass) {\r\n this.backend.storeSecureAppData();\r\n }\r\n });\r\n }\r\n\r\n getUpdate() {\r\n this.backend.openUrlInBrowser(DOWNLOADS_PAGE_URL);\r\n }\r\n goToAuditableWalletHelpPage(e) {\r\n e.preventDefault();\r\n this.backend.openUrlInBrowser(AUDITABLE_WALLET_HELP_PAGE);\r\n }\r\n\r\n logOut() {\r\n this.variablesService.stopCountdown();\r\n this.variablesService.appLogin = false;\r\n this.variablesService.appPass = '';\r\n this.ngZone.run(() => {\r\n this.router.navigate(['/login'], {queryParams: {type: 'auth'}});\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.walletSubRouting.unsubscribe();\r\n }\r\n}\r\n","module.exports = \"
      \\r\\n
      \\r\\n
      \\r\\n {{ 'STAKING.TITLE' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'STAKING.TITLE_PENDING' | translate }}\\r\\n {{pending.total | intToMoney}} {{variablesService.defaultCurrency}}\\r\\n
      \\r\\n
      \\r\\n {{ 'STAKING.TITLE_TOTAL' | translate }}\\r\\n {{total | intToMoney}} {{variablesService.defaultCurrency}}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n {{selectedDate.date | date : 'EEEE, MMMM d, y'}}\\r\\n {{selectedDate.amount}} {{variablesService.defaultCurrency}}\\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n {{ 'STAKING.TITLE_PERIOD' | translate }}\\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n\\r\\n
      \\r\\n {{ 'STAKING.TITLE_GROUP' | translate }}\\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n\"","module.exports = \":host {\\n display: flex;\\n flex-direction: column;\\n width: 100%; }\\n\\n.chart-header {\\n display: flex;\\n flex: 0 0 auto; }\\n\\n.chart-header .general {\\n display: flex;\\n flex-direction: column;\\n align-items: flex-start;\\n justify-content: center;\\n flex-grow: 1;\\n font-size: 1.3rem;\\n margin: -0.5rem 0; }\\n\\n.chart-header .general > div {\\n display: flex;\\n align-items: center;\\n margin: 0.5rem 0;\\n height: 2rem; }\\n\\n.chart-header .general > div .label {\\n display: inline-block;\\n width: 9rem; }\\n\\n.chart-header .selected {\\n display: flex;\\n flex-direction: column;\\n align-items: flex-end;\\n justify-content: center;\\n flex-grow: 1;\\n font-size: 1.8rem; }\\n\\n.chart-header .selected span {\\n line-height: 2.9rem; }\\n\\n.chart {\\n position: relative;\\n display: flex;\\n align-items: center;\\n flex: 1 1 auto;\\n min-height: 40rem; }\\n\\n.chart > div {\\n position: absolute;\\n width: 100%;\\n height: 100%; }\\n\\n.chart-options {\\n display: flex;\\n align-items: center;\\n height: 2.4rem;\\n flex: 0 0 auto; }\\n\\n.chart-options .title {\\n font-size: 1.3rem;\\n padding: 0 1rem; }\\n\\n.chart-options .title:first-child {\\n padding-left: 0; }\\n\\n.chart-options .options {\\n display: flex;\\n justify-content: space-between;\\n flex-grow: 1;\\n height: 100%; }\\n\\n.chart-options .options button {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n flex: 1 1 auto;\\n cursor: pointer;\\n font-size: 1.3rem;\\n margin: 0 0.1rem;\\n padding: 0;\\n height: 100%; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc3Rha2luZy9EOlxcUHJvamVjdFxcV09SS19ORVdcXHphbm9cXHNyY1xcZ3VpXFxxdC1kYWVtb25cXGh0bWxfc291cmNlL3NyY1xcYXBwXFxzdGFraW5nXFxzdGFraW5nLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixXQUFXLEVBQUE7O0FBR2I7RUFDRSxhQUFhO0VBQ2IsY0FBYyxFQUFBOztBQUZoQjtJQUtJLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsdUJBQXVCO0lBQ3ZCLHVCQUF1QjtJQUN2QixZQUFZO0lBQ1osaUJBQWlCO0lBQ2pCLGlCQUFpQixFQUFBOztBQVhyQjtNQWNNLGFBQWE7TUFDYixtQkFBbUI7TUFDbkIsZ0JBQWdCO01BQ2hCLFlBQVksRUFBQTs7QUFqQmxCO1FBb0JRLHFCQUFxQjtRQUNyQixXQUFXLEVBQUE7O0FBckJuQjtJQTJCSSxhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLHFCQUFxQjtJQUNyQix1QkFBdUI7SUFDdkIsWUFBWTtJQUNaLGlCQUFpQixFQUFBOztBQWhDckI7TUFtQ00sbUJBQW1CLEVBQUE7O0FBS3pCO0VBQ0Usa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsY0FBYztFQUNkLGlCQUFpQixFQUFBOztBQUxuQjtJQVFJLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsWUFBWSxFQUFBOztBQUloQjtFQUNFLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsY0FBYztFQUNkLGNBQWMsRUFBQTs7QUFKaEI7SUFPSSxpQkFBaUI7SUFDakIsZUFBZSxFQUFBOztBQVJuQjtNQVdNLGVBQWUsRUFBQTs7QUFYckI7SUFnQkksYUFBYTtJQUNiLDhCQUE4QjtJQUM5QixZQUFZO0lBQ1osWUFBWSxFQUFBOztBQW5CaEI7TUFzQk0sYUFBYTtNQUNiLG1CQUFtQjtNQUNuQix1QkFBdUI7TUFDdkIsY0FBYztNQUNkLGVBQWU7TUFDZixpQkFBaUI7TUFDakIsZ0JBQWdCO01BQ2hCLFVBQVU7TUFDVixZQUFZLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9zdGFraW5nL3N0YWtpbmcuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uY2hhcnQtaGVhZGVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXg6IDAgMCBhdXRvO1xyXG5cclxuICAuZ2VuZXJhbCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgIG1hcmdpbjogLTAuNXJlbSAwO1xyXG5cclxuICAgID4gZGl2IHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgbWFyZ2luOiAwLjVyZW0gMDtcclxuICAgICAgaGVpZ2h0OiAycmVtO1xyXG5cclxuICAgICAgLmxhYmVsIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDlyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5zZWxlY3RlZCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgZm9udC1zaXplOiAxLjhyZW07XHJcblxyXG4gICAgc3BhbiB7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjlyZW07XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uY2hhcnQge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZmxleDogMSAxIGF1dG87XHJcbiAgbWluLWhlaWdodDogNDByZW07XHJcblxyXG4gID4gZGl2IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gIH1cclxufVxyXG5cclxuLmNoYXJ0LW9wdGlvbnMge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBoZWlnaHQ6IDIuNHJlbTtcclxuICBmbGV4OiAwIDAgYXV0bztcclxuXHJcbiAgLnRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gICAgcGFkZGluZzogMCAxcmVtO1xyXG5cclxuICAgICY6Zmlyc3QtY2hpbGR7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5vcHRpb25zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgYnV0dG9uIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gICAgICBtYXJnaW46IDAgMC4xcmVtO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ== */\"","import {Component, NgZone, OnInit, OnDestroy} from '@angular/core';\r\nimport {VariablesService} from '../_helpers/services/variables.service';\r\nimport {Chart} from 'angular-highcharts';\r\nimport {BackendService} from '../_helpers/services/backend.service';\r\nimport {ActivatedRoute} from '@angular/router';\r\nimport {IntToMoneyPipe} from '../_helpers/pipes/int-to-money.pipe';\r\nimport {TranslateService} from '@ngx-translate/core';\r\nimport {BigNumber} from 'bignumber.js';\r\n\r\n@Component({\r\n selector: 'app-staking',\r\n templateUrl: './staking.component.html',\r\n styleUrls: ['./staking.component.scss']\r\n})\r\nexport class StakingComponent implements OnInit, OnDestroy {\r\n\r\n parentRouting;\r\n heightAppEvent;\r\n refreshStackingEvent;\r\n\r\n periods = [\r\n {\r\n title: this.translate.instant('STAKING.PERIOD.WEEK1'),\r\n key: '1 week',\r\n active: false\r\n },\r\n {\r\n title: this.translate.instant('STAKING.PERIOD.WEEK2'),\r\n key: '2 week',\r\n active: false\r\n },\r\n {\r\n title: this.translate.instant('STAKING.PERIOD.MONTH1'),\r\n key: '1 month',\r\n active: false\r\n },\r\n {\r\n title: this.translate.instant('STAKING.PERIOD.MONTH3'),\r\n key: '3 month',\r\n active: false\r\n },\r\n {\r\n title: this.translate.instant('STAKING.PERIOD.MONTH6'),\r\n key: '6 month',\r\n active: false\r\n },\r\n {\r\n title: this.translate.instant('STAKING.PERIOD.YEAR'),\r\n key: '1 year',\r\n active: false\r\n },\r\n {\r\n title: this.translate.instant('STAKING.PERIOD.ALL'),\r\n key: 'All',\r\n active: true\r\n }\r\n ];\r\n\r\n groups = [\r\n {\r\n title: this.translate.instant('STAKING.GROUP.DAY'),\r\n key: 'day',\r\n active: true\r\n },\r\n {\r\n title: this.translate.instant('STAKING.GROUP.WEEK'),\r\n key: 'week',\r\n active: false\r\n },\r\n {\r\n title: this.translate.instant('STAKING.GROUP.MONTH'),\r\n key: 'month',\r\n active: false\r\n }\r\n ];\r\n\r\n selectedDate = {\r\n date: null,\r\n amount: null\r\n };\r\n\r\n originalData = [];\r\n\r\n chart: Chart;\r\n\r\n total = new BigNumber(0);\r\n pending = {\r\n list: [],\r\n total: new BigNumber(0)\r\n };\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n public variablesService: VariablesService,\r\n private backend: BackendService,\r\n private ngZone: NgZone,\r\n private intToMoneyPipe: IntToMoneyPipe,\r\n private translate: TranslateService\r\n ) {\r\n }\r\n\r\n static makeGroupTime(key, date) {\r\n if (key === 'day') {\r\n return date.setHours(0, 0, 0, 0);\r\n } else if (key === 'week') {\r\n return new Date(date.setDate(date.getDate() - date.getDay())).setHours(0, 0, 0, 0);\r\n } else {\r\n return new Date(date.setDate(1)).setHours(0, 0, 0, 0);\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.parentRouting = this.route.parent.params.subscribe(() => {\r\n this.getMiningHistory();\r\n });\r\n this.heightAppEvent = this.variablesService.getHeightAppEvent.subscribe((newHeight: number) => {\r\n if (!this.pending.total.isZero()) {\r\n const pendingCount = this.pending.list.length;\r\n for (let i = pendingCount - 1; i >= 0; i--) {\r\n if (newHeight - this.pending.list[i].h >= 10) {\r\n this.pending.list.splice(i, 1);\r\n }\r\n }\r\n if (pendingCount !== this.pending.list.length) {\r\n this.pending.total = new BigNumber(0);\r\n for (let i = 0; i < this.pending.list.length; i++) {\r\n this.pending.total = this.pending.total.plus(this.pending.list[i].a);\r\n }\r\n }\r\n }\r\n });\r\n this.refreshStackingEvent = this.variablesService.getRefreshStackingEvent.subscribe((wallet_id: number) => {\r\n if (this.variablesService.currentWallet.wallet_id === wallet_id) {\r\n this.getMiningHistory();\r\n }\r\n });\r\n }\r\n\r\n\r\n drawChart(data) {\r\n this.chart = new Chart({\r\n title: {text: ''},\r\n credits: {enabled: false},\r\n exporting: {enabled: false},\r\n legend: {enabled: false},\r\n chart: {\r\n type: 'line',\r\n backgroundColor: 'transparent',\r\n height: null,\r\n zoomType: null,\r\n events: {\r\n load: () => {\r\n this.changePeriod();\r\n }\r\n }\r\n },\r\n\r\n yAxis: {\r\n min: 0,\r\n tickAmount: 5,\r\n title: {\r\n text: ''\r\n },\r\n gridLineColor: '#2b3644',\r\n gridLineWidth: 2,\r\n lineColor: '#2b3644',\r\n lineWidth: 2,\r\n tickWidth: 2,\r\n tickLength: 120,\r\n tickColor: '#2b3644',\r\n labels: {\r\n y: -8,\r\n align: 'left',\r\n x: -120,\r\n style: {\r\n 'color': '#e0e0e0',\r\n 'fontSize': '13px'\r\n },\r\n format: '{value} ' + this.variablesService.defaultCurrency\r\n },\r\n showLastLabel: false,\r\n },\r\n\r\n xAxis: {\r\n type: 'datetime',\r\n gridLineColor: '#2b3644',\r\n lineColor: '#2b3644',\r\n lineWidth: 2,\r\n tickWidth: 2,\r\n tickLength: 10,\r\n tickColor: '#2b3644',\r\n labels: {\r\n style: {\r\n 'color': '#e0e0e0',\r\n 'fontSize': '13px'\r\n }\r\n },\r\n minPadding: 0,\r\n maxPadding: 0,\r\n minRange: 86400000,\r\n // tickInterval: 86400000,\r\n minTickInterval: 3600000,\r\n },\r\n\r\n tooltip: {\r\n enabled: false\r\n },\r\n\r\n plotOptions: {\r\n area: {\r\n fillColor: {\r\n linearGradient: {\r\n x1: 0,\r\n y1: 0,\r\n x2: 0,\r\n y2: 1\r\n },\r\n stops: [\r\n [0, 'rgba(124,181,236,0.2)'],\r\n [1, 'rgba(124,181,236,0)']\r\n ]\r\n },\r\n marker: {\r\n enabled: false,\r\n radius: 2\r\n },\r\n lineWidth: 2,\r\n threshold: null\r\n },\r\n\r\n series: {\r\n point: {\r\n events: {\r\n mouseOver: (obj) => {\r\n this.selectedDate.date = obj.target['x'];\r\n this.selectedDate.amount = obj.target['y'];\r\n }\r\n }\r\n },\r\n events: {\r\n mouseOut: () => {\r\n this.selectedDate.date = null;\r\n this.selectedDate.amount = null;\r\n }\r\n }\r\n }\r\n },\r\n series: [\r\n {\r\n type: 'area',\r\n data: data\r\n }\r\n ]\r\n });\r\n }\r\n\r\n\r\n getMiningHistory() {\r\n if (this.variablesService.currentWallet.loaded) {\r\n this.backend.getMiningHistory(this.variablesService.currentWallet.wallet_id, (status, data) => {\r\n this.total = new BigNumber(0);\r\n this.pending.list = [];\r\n this.pending.total = new BigNumber(0);\r\n this.originalData = [];\r\n if (data.mined_entries) {\r\n data.mined_entries.forEach((item, key) => {\r\n if (item.t.toString().length === 10) {\r\n data.mined_entries[key].t = (new Date(item.t * 1000)).setUTCMilliseconds(0);\r\n }\r\n });\r\n data.mined_entries.forEach((item) => {\r\n this.total = this.total.plus(item.a);\r\n if (this.variablesService.height_app - item.h < 10) {\r\n this.pending.list.push(item);\r\n this.pending.total = this.pending.total.plus(item.a);\r\n }\r\n this.originalData.push([parseInt(item.t, 10), parseFloat(this.intToMoneyPipe.transform(item.a))]);\r\n });\r\n this.originalData = this.originalData.sort(function (a, b) {\r\n return a[0] - b[0];\r\n });\r\n }\r\n this.ngZone.run(() => {\r\n this.drawChart([]);\r\n });\r\n });\r\n }\r\n }\r\n\r\n changePeriod(period?) {\r\n if (period) {\r\n this.periods.forEach((p) => {\r\n p.active = false;\r\n });\r\n period.active = true;\r\n } else {\r\n period = this.periods.find((p) => p.active);\r\n }\r\n\r\n const d = new Date();\r\n let min = null;\r\n const newData = [];\r\n\r\n const group = this.groups.find((g) => g.active);\r\n\r\n if (period.key === '1 week') {\r\n this.originalData.forEach((item) => {\r\n const time = StakingComponent.makeGroupTime(group.key, new Date(item[0]));\r\n const find = newData.find(itemNew => itemNew[0] === time);\r\n if (find) {\r\n find[1] = new BigNumber(find[1]).plus(item[1]).toNumber();\r\n } else {\r\n newData.push([time, item[1]]);\r\n }\r\n });\r\n this.chart.ref.series[0].setData(newData, true);\r\n min = Date.UTC(d.getFullYear(), d.getMonth(), d.getDate() - 7, 0, 0, 0, 0);\r\n } else if (period.key === '2 week') {\r\n this.originalData.forEach((item) => {\r\n const time = StakingComponent.makeGroupTime(group.key, new Date(item[0]));\r\n const find = newData.find(itemNew => itemNew[0] === time);\r\n if (find) {\r\n find[1] = new BigNumber(find[1]).plus(item[1]).toNumber();\r\n } else {\r\n newData.push([time, item[1]]);\r\n }\r\n });\r\n this.chart.ref.series[0].setData(newData, true);\r\n min = Date.UTC(d.getFullYear(), d.getMonth(), d.getDate() - 14, 0, 0, 0, 0);\r\n } else if (period.key === '1 month') {\r\n this.originalData.forEach((item) => {\r\n const time = StakingComponent.makeGroupTime(group.key, new Date(item[0]));\r\n const find = newData.find(itemNew => itemNew[0] === time);\r\n if (find) {\r\n find[1] = new BigNumber(find[1]).plus(item[1]).toNumber();\r\n } else {\r\n newData.push([time, item[1]]);\r\n }\r\n });\r\n this.chart.ref.series[0].setData(newData, true);\r\n min = Date.UTC(d.getFullYear(), d.getMonth() - 1, d.getDate(), 0, 0, 0, 0);\r\n } else if (period.key === '3 month') {\r\n this.originalData.forEach((item) => {\r\n const time = StakingComponent.makeGroupTime(group.key, new Date(item[0]));\r\n const find = newData.find(itemNew => itemNew[0] === time);\r\n if (find) {\r\n find[1] = new BigNumber(find[1]).plus(item[1]).toNumber();\r\n } else {\r\n newData.push([time, item[1]]);\r\n }\r\n });\r\n this.chart.ref.series[0].setData(newData, true);\r\n min = Date.UTC(d.getFullYear(), d.getMonth() - 3, d.getDate(), 0, 0, 0, 0);\r\n } else if (period.key === '6 month') {\r\n this.originalData.forEach((item) => {\r\n const time = StakingComponent.makeGroupTime(group.key, new Date(item[0]));\r\n const find = newData.find(itemNew => itemNew[0] === time);\r\n if (find) {\r\n find[1] = new BigNumber(find[1]).plus(item[1]).toNumber();\r\n } else {\r\n newData.push([time, item[1]]);\r\n }\r\n });\r\n this.chart.ref.series[0].setData(newData, true);\r\n min = Date.UTC(d.getFullYear(), d.getMonth() - 6, d.getDate(), 0, 0, 0, 0);\r\n } else if (period.key === '1 year') {\r\n this.originalData.forEach((item) => {\r\n const time = StakingComponent.makeGroupTime(group.key, new Date(item[0]));\r\n const find = newData.find(itemNew => itemNew[0] === time);\r\n if (find) {\r\n find[1] = new BigNumber(find[1]).plus(item[1]).toNumber();\r\n } else {\r\n newData.push([time, item[1]]);\r\n }\r\n });\r\n this.chart.ref.series[0].setData(newData, true);\r\n min = Date.UTC(d.getFullYear() - 1, d.getMonth(), d.getDate(), 0, 0, 0, 0);\r\n } else {\r\n this.originalData.forEach((item) => {\r\n const time = StakingComponent.makeGroupTime(group.key, new Date(item[0]));\r\n const find = newData.find(itemNew => itemNew[0] === time);\r\n if (find) {\r\n find[1] = new BigNumber(find[1]).plus(item[1]).toNumber();\r\n } else {\r\n newData.push([time, item[1]]);\r\n }\r\n });\r\n this.chart.ref.series[0].setData(newData, true);\r\n }\r\n\r\n this.chart.ref.xAxis[0].setExtremes(min, null);\r\n }\r\n\r\n changeGroup(group) {\r\n this.groups.forEach((g) => {\r\n g.active = false;\r\n });\r\n group.active = true;\r\n this.changePeriod();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.parentRouting.unsubscribe();\r\n this.heightAppEvent.unsubscribe();\r\n this.refreshStackingEvent.unsubscribe();\r\n }\r\n\r\n}\r\n","module.exports = \"
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n {{ wallet.name }}\\r\\n {{ 'BREADCRUMBS.TRANSFER_ALIAS' | translate }}\\r\\n
      \\r\\n \\r\\n
      \\r\\n\\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      0 && (transferAddressAlias || !transferAddressValid || (transferAddressValid && !permissionSend) || notEnoughMoney)\\\">\\r\\n
      \\r\\n {{ 'TRANSFER_ALIAS.FORM_ERRORS.WRONG_ADDRESS' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'TRANSFER_ALIAS.FORM_ERRORS.ALIAS_EXISTS' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'TRANSFER_ALIAS.FORM_ERRORS.NO_MONEY' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      {{ \\\"TRANSFER_ALIAS.COST\\\" | translate : {value: variablesService.default_fee, currency: variablesService.defaultCurrency} }}
      \\r\\n\\r\\n
      \\r\\n \\r\\n
      \\r\\n\\r\\n
      \\r\\n\\r\\n
      \\r\\n\"","module.exports = \".form-transfer {\\n margin: 2.4rem 0; }\\n .form-transfer .alias-name {\\n width: 50%; }\\n .form-transfer .alias-cost {\\n font-size: 1.3rem;\\n margin-top: 2rem; }\\n .form-transfer .wrap-buttons {\\n display: flex;\\n justify-content: space-between;\\n margin: 2.5rem -0.7rem; }\\n .form-transfer .wrap-buttons button {\\n margin: 0 0.7rem;\\n width: 15rem; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdHJhbnNmZXItYWxpYXMvRDpcXFByb2plY3RcXFdPUktfTkVXXFx6YW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFwcFxcdHJhbnNmZXItYWxpYXNcXHRyYW5zZmVyLWFsaWFzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsZ0JBQWdCLEVBQUE7RUFEbEI7SUFJSSxVQUFVLEVBQUE7RUFKZDtJQVFJLGlCQUFpQjtJQUNqQixnQkFBZ0IsRUFBQTtFQVRwQjtJQWFJLGFBQWE7SUFDYiw4QkFBOEI7SUFDOUIsc0JBQXNCLEVBQUE7RUFmMUI7TUFrQk0sZ0JBQWdCO01BQ2hCLFlBQVksRUFBQSIsImZpbGUiOiJzcmMvYXBwL3RyYW5zZmVyLWFsaWFzL3RyYW5zZmVyLWFsaWFzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmZvcm0tdHJhbnNmZXIge1xyXG4gIG1hcmdpbjogMi40cmVtIDA7XHJcblxyXG4gIC5hbGlhcy1uYW1lIHtcclxuICAgIHdpZHRoOiA1MCU7XHJcbiAgfVxyXG5cclxuICAuYWxpYXMtY29zdCB7XHJcbiAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgIG1hcmdpbi10b3A6IDJyZW07XHJcbiAgfVxyXG5cclxuICAud3JhcC1idXR0b25zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBtYXJnaW46IDIuNXJlbSAtMC43cmVtO1xyXG5cclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgIG1hcmdpbjogMCAwLjdyZW07XHJcbiAgICAgIHdpZHRoOiAxNXJlbTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19 */\"","import {Component, NgZone, OnInit} from '@angular/core';\r\nimport {Location} from '@angular/common';\r\nimport {Router} from '@angular/router';\r\nimport {BackendService} from '../_helpers/services/backend.service';\r\nimport {VariablesService} from '../_helpers/services/variables.service';\r\nimport {ModalService} from '../_helpers/services/modal.service';\r\nimport {Wallet} from '../_helpers/models/wallet.model';\r\n\r\n@Component({\r\n selector: 'app-transfer-alias',\r\n templateUrl: './transfer-alias.component.html',\r\n styleUrls: ['./transfer-alias.component.scss']\r\n})\r\nexport class TransferAliasComponent implements OnInit {\r\n\r\n wallet: Wallet;\r\n alias: any;\r\n transferAddress = '';\r\n transferAddressValid: boolean;\r\n transferAddressAlias: boolean;\r\n permissionSend: boolean;\r\n notEnoughMoney: boolean;\r\n requestProcessing = false;\r\n\r\n constructor(\r\n private location: Location,\r\n private router: Router,\r\n private backend: BackendService,\r\n public variablesService: VariablesService,\r\n private modalService: ModalService,\r\n private ngZone: NgZone\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.wallet = this.variablesService.currentWallet;\r\n const alias = this.backend.getWalletAlias(this.wallet.address);\r\n this.alias = {\r\n name: alias.name,\r\n address: alias.address,\r\n comment: alias.comment,\r\n tracking_key: alias.tracking_key\r\n };\r\n this.notEnoughMoney = this.wallet.unlocked_balance.isLessThan(this.variablesService.default_fee_big);\r\n }\r\n\r\n changeAddress() {\r\n this.backend.validateAddress(this.transferAddress, status => {\r\n this.transferAddressValid = status;\r\n if (status) {\r\n this.backend.getPoolInfo((statusPool, dataPool) => {\r\n if (dataPool.hasOwnProperty('aliases_que') && dataPool.aliases_que.length) {\r\n this.setStatus(!dataPool.aliases_que.some((el) => el.address === this.transferAddress));\r\n } else {\r\n this.setStatus(status);\r\n }\r\n });\r\n } else {\r\n this.setStatus(false);\r\n }\r\n });\r\n }\r\n\r\n setStatus(statusSet) {\r\n this.permissionSend = statusSet;\r\n if (statusSet) {\r\n this.backend.getAliasByAddress(this.transferAddress, (status) => {\r\n this.ngZone.run(() => {\r\n if (status) {\r\n this.transferAddressAlias = true;\r\n this.permissionSend = false;\r\n } else {\r\n this.transferAddressAlias = false;\r\n }\r\n });\r\n });\r\n } else {\r\n this.ngZone.run(() => {\r\n this.transferAddressAlias = false;\r\n });\r\n }\r\n }\r\n\r\n transferAlias() {\r\n if (this.requestProcessing || !this.permissionSend || !this.transferAddressValid || this.notEnoughMoney) {\r\n return;\r\n }\r\n this.requestProcessing = true;\r\n const newAlias = {\r\n name: this.alias.name,\r\n address: this.transferAddress,\r\n comment: this.alias.comment,\r\n tracking_key: this.alias.tracking_key\r\n };\r\n this.backend.updateAlias(this.wallet.wallet_id, newAlias, this.variablesService.default_fee, (status, data) => {\r\n if (status && data.hasOwnProperty('success') && data.success) {\r\n this.modalService.prepareModal('info', 'TRANSFER_ALIAS.REQUEST_SEND_REG');\r\n this.ngZone.run(() => {\r\n this.router.navigate(['/wallet/' + this.wallet.wallet_id]);\r\n });\r\n }\r\n this.requestProcessing = false;\r\n });\r\n }\r\n\r\n back() {\r\n this.location.back();\r\n }\r\n}\r\n","module.exports = \"
      \\r\\n
      \\r\\n @bitmain\\r\\n
      \\r\\n \\r\\n \\r\\n {{ 'COMMON.BACK' | translate }}\\r\\n \\r\\n
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n
      10:39
      \\r\\n
      \\r\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\r\\n
      \\r\\n
      \\r\\n Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\\r\\n
      \\r\\n
      \\r\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\r\\n
      \\r\\n
      \\r\\n Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\\r\\n
      \\r\\n
      11:44
      \\r\\n
      \\r\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\r\\n
      \\r\\n
      \\r\\n Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\\r\\n
      \\r\\n
      \\r\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\r\\n
      \\r\\n
      12:15
      \\r\\n
      \\r\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\r\\n
      \\r\\n
      \\r\\n Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\\r\\n
      \\r\\n
      \\r\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\r\\n
      \\r\\n
      13:13
      \\r\\n
      \\r\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\r\\n
      \\r\\n
      \\r\\n Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\\r\\n
      \\r\\n
      \\r\\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n\"","module.exports = \":host {\\n display: flex;\\n flex-direction: column;\\n width: 100%; }\\n\\n.head {\\n flex: 0 0 auto;\\n box-sizing: content-box;\\n margin: -3rem -3rem 0; }\\n\\n.messages-content {\\n display: flex;\\n flex-direction: column;\\n justify-content: space-between;\\n flex-grow: 1; }\\n\\n.messages-content .messages-list {\\n display: flex;\\n flex-direction: column;\\n font-size: 1.3rem;\\n margin: 1rem -3rem;\\n padding: 0 3rem;\\n overflow-y: overlay; }\\n\\n.messages-content .messages-list div {\\n margin: 0.7rem 0; }\\n\\n.messages-content .messages-list div.date {\\n text-align: center; }\\n\\n.messages-content .messages-list div.my, .messages-content .messages-list div.buddy {\\n position: relative;\\n padding: 1.8rem;\\n max-width: 60%; }\\n\\n.messages-content .messages-list div.buddy {\\n align-self: flex-end; }\\n\\n.messages-content .type-message {\\n display: flex;\\n flex: 0 0 auto;\\n width: 100%;\\n height: 4.2rem; }\\n\\n.messages-content .type-message .input-block {\\n width: 100%; }\\n\\n.messages-content .type-message .input-block > textarea {\\n min-height: 4.2rem; }\\n\\n.messages-content .type-message button {\\n flex: 0 0 15rem; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdHlwaW5nLW1lc3NhZ2UvRDpcXFByb2plY3RcXFdPUktfTkVXXFx6YW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFwcFxcdHlwaW5nLW1lc3NhZ2VcXHR5cGluZy1tZXNzYWdlLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixXQUFXLEVBQUE7O0FBR2I7RUFDRSxjQUFjO0VBQ2QsdUJBQXVCO0VBQ3ZCLHFCQUFxQixFQUFBOztBQUd2QjtFQUNFLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsOEJBQThCO0VBQzlCLFlBQVksRUFBQTs7QUFKZDtJQU9JLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsbUJBQW1CLEVBQUE7O0FBWnZCO01BZU0sZ0JBQWdCLEVBQUE7O0FBZnRCO1FBa0JRLGtCQUFrQixFQUFBOztBQWxCMUI7UUFzQlEsa0JBQWtCO1FBQ2xCLGVBQWU7UUFDZixjQUFjLEVBQUE7O0FBeEJ0QjtRQTRCUSxvQkFBb0IsRUFBQTs7QUE1QjVCO0lBa0NJLGFBQWE7SUFDYixjQUFjO0lBQ2QsV0FBVztJQUNYLGNBQWMsRUFBQTs7QUFyQ2xCO01Bd0NNLFdBQVcsRUFBQTs7QUF4Q2pCO1FBMkNRLGtCQUFrQixFQUFBOztBQTNDMUI7TUFnRE0sZUFBZSxFQUFBIiwiZmlsZSI6InNyYy9hcHAvdHlwaW5nLW1lc3NhZ2UvdHlwaW5nLW1lc3NhZ2UuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uaGVhZCB7XHJcbiAgZmxleDogMCAwIGF1dG87XHJcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgbWFyZ2luOiAtM3JlbSAtM3JlbSAwO1xyXG59XHJcblxyXG4ubWVzc2FnZXMtY29udGVudCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBmbGV4LWdyb3c6IDE7XHJcblxyXG4gIC5tZXNzYWdlcy1saXN0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgICBtYXJnaW46IDFyZW0gLTNyZW07XHJcbiAgICBwYWRkaW5nOiAwIDNyZW07XHJcbiAgICBvdmVyZmxvdy15OiBvdmVybGF5O1xyXG5cclxuICAgIGRpdiB7XHJcbiAgICAgIG1hcmdpbjogMC43cmVtIDA7XHJcblxyXG4gICAgICAmLmRhdGUge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi5teSwgJi5idWRkeSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHBhZGRpbmc6IDEuOHJlbTtcclxuICAgICAgICBtYXgtd2lkdGg6IDYwJTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi5idWRkeSB7XHJcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC50eXBlLW1lc3NhZ2Uge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDQuMnJlbTtcclxuXHJcbiAgICAuaW5wdXQtYmxvY2sge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgID4gdGV4dGFyZWEge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDQuMnJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgIGZsZXg6IDAgMCAxNXJlbTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbiJdfQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-typing-message',\r\n templateUrl: './typing-message.component.html',\r\n styleUrls: ['./typing-message.component.scss']\r\n})\r\nexport class TypingMessageComponent implements OnInit {\r\n\r\n messagesId: number;\r\n private subMessages: any;\r\n\r\n constructor(private route: ActivatedRoute) {\r\n this.route.params.subscribe( params => console.log(params) );\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n}\r\n","module.exports = \"
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n {{variablesService.currentWallet.name}}\\r\\n {{ 'BREADCRUMBS.WALLET_DETAILS' | translate }}\\r\\n
      \\r\\n \\r\\n
      \\r\\n\\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'WALLET_DETAILS.FORM_ERRORS.NAME_REQUIRED' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'WALLET_DETAILS.FORM_ERRORS.NAME_DUPLICATE' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      = variablesService.maxWalletNameLength\\\">\\r\\n {{ 'WALLET_DETAILS.FORM_ERRORS.MAX_LENGTH' | translate }}\\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n\\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n {{ 'WALLET_DETAILS.FORM_ERRORS.PASSWORDS_DONT_MATCH' | translate }}\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n {{ 'WALLET_DETAILS.FORM.SECURED_SEED_WILL_REQUIRE' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'WALLET_DETAILS.LABEL_SEED_PHRASE' | translate }}\\r\\n

      \\r\\n {{ 'WALLET_DETAILS.SEED_IS_UNSECURED' | translate }} \\r\\n 0\\\">{{ 'WALLET_DETAILS.SEED_IS_SECURED' | translate }} \\r\\n

      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      = 1 && (index + 1) <= 7 || (index + 1) >= 15 && (index + 1) <= 21\\\">\\r\\n {{(index + 1) + '. ' + word}}
      \\r\\n
      \\r\\n
      \\r\\n
      0\\\">\\r\\n {{ 'WALLET_DETAILS.REMEMBER_YOU_WILL_REQUIRE' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \"","module.exports = \".form-details {\\n margin-top: 1.8rem; }\\n .form-details .input-block:first-child {\\n width: 50%; }\\n .form-details .wallet-buttons {\\n display: flex;\\n align-items: center;\\n justify-content: space-between; }\\n .form-details .wallet-buttons button {\\n margin: 2.9rem 0;\\n width: 100%;\\n max-width: 15rem; }\\n .mt-2 {\\n margin-top: 2rem; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvd2FsbGV0LWRldGFpbHMvRDpcXFByb2plY3RcXFdPUktfTkVXXFx6YW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFwcFxcd2FsbGV0LWRldGFpbHNcXHdhbGxldC1kZXRhaWxzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0Usa0JBQWtCLEVBQUE7RUFEcEI7SUFNTSxVQUFVLEVBQUE7RUFOaEI7SUFXSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLDhCQUE4QixFQUFBO0VBYmxDO01BZ0JNLGdCQUFnQjtNQUNoQixXQUFXO01BQ1gsZ0JBQWdCLEVBQUE7RUFLdEI7RUFDRSxnQkFBZ0IsRUFBQSIsImZpbGUiOiJzcmMvYXBwL3dhbGxldC1kZXRhaWxzL3dhbGxldC1kZXRhaWxzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmZvcm0tZGV0YWlscyB7XHJcbiAgbWFyZ2luLXRvcDogMS44cmVtO1xyXG5cclxuICAuaW5wdXQtYmxvY2sge1xyXG5cclxuICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICB3aWR0aDogNTAlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLndhbGxldC1idXR0b25zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgIG1hcmdpbjogMi45cmVtIDA7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtYXgtd2lkdGg6IDE1cmVtO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLm10LTIge1xyXG4gIG1hcmdpbi10b3A6IDJyZW07XHJcbn1cclxuIl19 */\"","import { Component, NgZone, OnDestroy, OnInit } from '@angular/core';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { BackendService } from '../_helpers/services/backend.service';\r\nimport { VariablesService } from '../_helpers/services/variables.service';\r\nimport { Router } from '@angular/router';\r\nimport { Location } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-wallet-details',\r\n templateUrl: './wallet-details.component.html',\r\n styleUrls: ['./wallet-details.component.scss'],\r\n})\r\nexport class WalletDetailsComponent implements OnInit, OnDestroy {\r\n seedPhrase = '';\r\n showSeed = false;\r\n copyAnimation = false;\r\n\r\n detailsForm = new FormGroup({\r\n name: new FormControl('', [\r\n Validators.required,\r\n (g: FormControl) => {\r\n for (let i = 0; i < this.variablesService.wallets.length; i++) {\r\n if (g.value === this.variablesService.wallets[i].name) {\r\n if (\r\n this.variablesService.wallets[i].wallet_id ===\r\n this.variablesService.currentWallet.wallet_id\r\n ) {\r\n return { same: true };\r\n } else {\r\n return { duplicate: true };\r\n }\r\n }\r\n }\r\n return null;\r\n },\r\n ]),\r\n path: new FormControl(''),\r\n });\r\n\r\n seedPhraseForm = new FormGroup(\r\n {\r\n password: new FormControl(\r\n '',\r\n Validators.pattern(this.variablesService.pattern)\r\n ),\r\n confirmPassword: new FormControl(\r\n '',\r\n Validators.pattern(this.variablesService.pattern)\r\n ),\r\n },\r\n { validators: this.checkPasswords }\r\n );\r\n\r\n checkPasswords(group: FormGroup) {\r\n const pass = group.controls.password.value;\r\n const confirmPass = group.controls.confirmPassword.value;\r\n\r\n return pass === confirmPass ? null : { notSame: true };\r\n }\r\n\r\n constructor(\r\n private router: Router,\r\n private backend: BackendService,\r\n public variablesService: VariablesService,\r\n private ngZone: NgZone,\r\n private location: Location\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.showSeed = false;\r\n this.detailsForm\r\n .get('name')\r\n .setValue(this.variablesService.currentWallet.name);\r\n this.detailsForm\r\n .get('path')\r\n .setValue(this.variablesService.currentWallet.path);\r\n }\r\n\r\n showSeedPhrase() {\r\n this.showSeed = true;\r\n }\r\n\r\n onSubmitSeed() {\r\n if (this.seedPhraseForm.valid) {\r\n this.showSeedPhrase();\r\n const wallet_id = this.variablesService.currentWallet.wallet_id;\r\n const seed_password = this.seedPhraseForm.controls.password.value;\r\n this.backend.getSmartWalletInfo(\r\n { wallet_id, seed_password },\r\n (status, data) => {\r\n if (data.hasOwnProperty('seed_phrase')) {\r\n this.ngZone.run(() => {\r\n this.seedPhrase = data['seed_phrase'].trim();\r\n });\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n onSubmitEdit() {\r\n if (this.detailsForm.value) {\r\n this.variablesService.currentWallet.name = this.detailsForm.get(\r\n 'name'\r\n ).value;\r\n this.ngZone.run(() => {\r\n this.router.navigate([\r\n '/wallet/' + this.variablesService.currentWallet.wallet_id,\r\n ]);\r\n });\r\n }\r\n }\r\n\r\n closeWallet() {\r\n this.backend.closeWallet(\r\n this.variablesService.currentWallet.wallet_id,\r\n () => {\r\n for (let i = this.variablesService.wallets.length - 1; i >= 0; i--) {\r\n if (\r\n this.variablesService.wallets[i].wallet_id ===\r\n this.variablesService.currentWallet.wallet_id\r\n ) {\r\n this.variablesService.wallets.splice(i, 1);\r\n }\r\n }\r\n this.ngZone.run(() => {\r\n if (this.variablesService.wallets.length) {\r\n this.variablesService.currentWallet = this.variablesService.wallets[0];\r\n this.router.navigate([\r\n '/wallet/' + this.variablesService.currentWallet.wallet_id,\r\n ]);\r\n } else {\r\n this.router.navigate(['/']);\r\n }\r\n });\r\n if (this.variablesService.appPass) {\r\n this.backend.storeSecureAppData();\r\n }\r\n }\r\n );\r\n }\r\n\r\n back() {\r\n this.location.back();\r\n }\r\n\r\n ngOnDestroy() {\r\n\r\n }\r\n}\r\n","module.exports = \"
      \\r\\n
      \\r\\n

      {{variablesService.currentWallet.name}}

      \\r\\n
      \\r\\n \\r\\n
      \\r\\n {{variablesService.currentWallet.alias['name']}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n {{variablesService.currentWallet.address}}\\r\\n \\r\\n
      \\r\\n
      \\r\\n {{variablesService.currentWallet.balance | intToMoney : '3'}} {{variablesService.defaultCurrency}}\\r\\n $ {{variablesService.currentWallet.getMoneyEquivalent(variablesService.moneyEquivalent) | intToMoney | number : '1.2-2'}}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ tab.title | translate }}\\r\\n {{variablesService.currentWallet.new_contracts}}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n <\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n >\\r\\n \\r\\n\\r\\n
      \\r\\n
      \\r\\n Hide mining transactions\\r\\n
      \\r\\n {{ 'STAKING.SWITCH.ON' | translate }}\\r\\n \\r\\n {{ 'STAKING.SWITCH.OFF' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\"","module.exports = \":host {\\n position: relative;\\n display: flex;\\n flex-direction: column;\\n padding: 0 3rem 3rem;\\n min-width: 95rem;\\n width: 100%;\\n height: 100%; }\\n\\n.header {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n flex: 0 0 auto;\\n height: 8rem; }\\n\\n.header > div {\\n display: flex;\\n align-items: center; }\\n\\n.header > div :not(:last-child) {\\n margin-right: 3.2rem; }\\n\\n.header h3 {\\n font-size: 1.7rem;\\n font-weight: 600;\\n text-overflow: ellipsis;\\n overflow: hidden;\\n white-space: nowrap;\\n max-width: 50rem;\\n line-height: 2.7rem; }\\n\\n.header button {\\n display: flex;\\n align-items: center;\\n background: transparent;\\n border: none;\\n cursor: pointer;\\n font-weight: 400;\\n outline: none;\\n padding: 0; }\\n\\n.header button .icon {\\n margin-right: 1.2rem;\\n width: 1.7rem;\\n height: 1.7rem; }\\n\\n.header button .icon.account {\\n height: 1.6rem;\\n -webkit-mask: url('account.svg') no-repeat center;\\n mask: url('account.svg') no-repeat center; }\\n\\n.header button .icon.lock {\\n -webkit-mask: url('lock.svg') no-repeat center;\\n mask: url('lock.svg') no-repeat center; }\\n\\n.header button .icon.details {\\n -webkit-mask: url('details-settings.svg') no-repeat center;\\n mask: url('details-settings.svg') no-repeat center;\\n margin-right: 0;\\n height: 1.8rem; }\\n\\n.header button .icon.close-wallet {\\n -webkit-mask: url('close-wallet.svg') no-repeat center;\\n mask: url('close-wallet.svg') no-repeat center;\\n margin-right: 0; }\\n\\n.header .alias {\\n display: flex;\\n align-items: center;\\n font-size: 1.3rem; }\\n\\n.header .alias .icon {\\n cursor: pointer;\\n margin-right: 1.2rem;\\n width: 1.7rem;\\n height: 1.7rem; }\\n\\n.header .alias .icon.edit {\\n -webkit-mask: url('details.svg') no-repeat center;\\n mask: url('details.svg') no-repeat center; }\\n\\n.header .alias .icon.transfer {\\n -webkit-mask: url('send.svg') no-repeat center;\\n mask: url('send.svg') no-repeat center; }\\n\\n.address {\\n display: flex;\\n align-items: center;\\n flex: 0 0 auto;\\n font-size: 1.4rem;\\n line-height: 1.7rem; }\\n\\n.address .icon {\\n cursor: pointer;\\n margin-left: 1.2rem;\\n width: 1.7rem;\\n height: 1.7rem; }\\n\\n.address .icon.copy {\\n width: 1.8rem;\\n -webkit-mask: url('copy.svg') no-repeat center;\\n mask: url('copy.svg') no-repeat center; }\\n\\n.address .icon.copy:hover {\\n opacity: 0.75; }\\n\\n.address .icon.copied {\\n -webkit-mask: url('complete-testwallet.svg') no-repeat center;\\n mask: url('complete-testwallet.svg') no-repeat center; }\\n\\n.balance {\\n display: flex;\\n align-items: flex-end;\\n justify-content: flex-start;\\n flex: 0 0 auto;\\n margin: 2.6rem 0; }\\n\\n.balance :first-child {\\n font-size: 3.3rem;\\n font-weight: 600;\\n line-height: 2.4rem;\\n margin-right: 3.5rem; }\\n\\n.balance :last-child {\\n font-size: 1.8rem;\\n font-weight: 600;\\n line-height: 1.3rem; }\\n\\n.tabs {\\n display: flex;\\n flex-direction: column;\\n flex: 1 1 auto; }\\n\\n.tabs .tabs-header {\\n display: flex;\\n justify-content: space-between;\\n flex: 0 0 auto; }\\n\\n.tabs .tabs-header .tab {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n flex: 1 0 auto;\\n cursor: pointer;\\n padding: 0 1rem;\\n height: 5rem; }\\n\\n.tabs .tabs-header .tab.hide {\\n display: none; }\\n\\n.tabs .tabs-header .tab .animated {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n margin-right: 1.3rem; }\\n\\n.tabs .tabs-header .tab .animated ::ng-deep svg {\\n width: 2rem;\\n height: 2rem; }\\n\\n.tabs .tabs-header .tab .animated ::ng-deep svg path, .tabs .tabs-header .tab .animated ::ng-deep svg circle, .tabs .tabs-header .tab .animated ::ng-deep svg polygon {\\n fill: #4db1ff; }\\n\\n.tabs .tabs-header .tab .icon {\\n margin-right: 1.3rem;\\n width: 2rem;\\n height: 2rem; }\\n\\n.tabs .tabs-header .tab .icon.send {\\n -webkit-mask: url('send.svg') no-repeat center;\\n mask: url('send.svg') no-repeat center; }\\n\\n.tabs .tabs-header .tab .icon.receive {\\n -webkit-mask: url('receive.svg') no-repeat center;\\n mask: url('receive.svg') no-repeat center; }\\n\\n.tabs .tabs-header .tab .icon.history {\\n -webkit-mask: url('history.svg') no-repeat center;\\n mask: url('history.svg') no-repeat center; }\\n\\n.tabs .tabs-header .tab .icon.contracts {\\n -webkit-mask: url('contracts.svg') no-repeat center;\\n mask: url('contracts.svg') no-repeat center; }\\n\\n.tabs .tabs-header .tab .icon.messages {\\n -webkit-mask: url('message.svg') no-repeat center;\\n mask: url('message.svg') no-repeat center; }\\n\\n.tabs .tabs-header .tab .icon.staking {\\n -webkit-mask: url('staking.svg') no-repeat center;\\n mask: url('staking.svg') no-repeat center; }\\n\\n.tabs .tabs-header .tab .indicator {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n border-radius: 1rem;\\n font-size: 1rem;\\n font-weight: 600;\\n margin-left: 1.3rem;\\n padding: 0 0.5rem;\\n min-width: 1.6rem;\\n height: 1.6rem; }\\n\\n.tabs .tabs-header .tab.disabled {\\n cursor: url('not-allowed.svg'), not-allowed; }\\n\\n.tabs .tabs-header .tab:not(:last-child) {\\n margin-right: 0.3rem; }\\n\\n.tabs .tabs-content {\\n display: flex;\\n padding: 3rem;\\n flex: 1 1 auto;\\n overflow-x: hidden;\\n overflow-y: overlay; }\\n\\n.tabs .pagination-wrapper .pagination {\\n padding: 1rem;\\n display: flex;\\n justify-content: space-between;\\n align-items: center; }\\n\\n.tabs .pagination-wrapper .pagination button {\\n margin-right: 0.5rem;\\n padding: 0;\\n width: 2.5rem;\\n height: 2.5rem;\\n font-size: 1.2rem;\\n transition: all 0.3s; }\\n\\n.tabs .pagination-wrapper .pagination .disabled {\\n background-color: #18202a;\\n color: #e0e0e0;\\n opacity: 0.3;\\n cursor: default;\\n transition: all 0.3s; }\\n\\n.mining-transaction-switch {\\n display: flex;\\n align-items: center; }\\n\\n.mining-transaction-switch .switch-text {\\n margin-right: 1rem;\\n font-size: 1.3rem;\\n color: #565c62; }\\n\\n.mining-transaction-switch .switch {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n border-radius: 1rem;\\n cursor: pointer;\\n font-size: 1rem;\\n padding: 0.5rem;\\n width: 5rem;\\n height: 2rem; }\\n\\n.mining-transaction-switch .switch .circle {\\n border-radius: 1rem;\\n width: 1.2rem;\\n height: 1.2rem; }\\n\\n.mining-transaction-switch .switch .option {\\n margin: 0 0.2rem;\\n line-height: 1.2rem; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvd2FsbGV0L0Q6XFxQcm9qZWN0XFxXT1JLX05FV1xcemFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxhcHBcXHdhbGxldFxcd2FsbGV0LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0Usa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsb0JBQW9CO0VBQ3BCLGdCQUFnQjtFQUNoQixXQUFXO0VBQ1gsWUFBWSxFQUFBOztBQUdkO0VBQ0UsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQiw4QkFBOEI7RUFDOUIsY0FBYztFQUNkLFlBQVksRUFBQTs7QUFMZDtJQVFJLGFBQWE7SUFDYixtQkFBbUIsRUFBQTs7QUFUdkI7TUFZTSxvQkFBb0IsRUFBQTs7QUFaMUI7SUFpQkksaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQix1QkFBdUI7SUFDdkIsZ0JBQWdCO0lBQ2hCLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsbUJBQW1CLEVBQUE7O0FBdkJ2QjtJQTJCSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixZQUFZO0lBQ1osZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixhQUFhO0lBQ2IsVUFBVSxFQUFBOztBQWxDZDtNQXFDTSxvQkFBb0I7TUFDcEIsYUFBYTtNQUNiLGNBQWMsRUFBQTs7QUF2Q3BCO1FBMENRLGNBQWM7UUFDZCxpREFBMEQ7Z0JBQTFELHlDQUEwRCxFQUFBOztBQTNDbEU7UUErQ1EsOENBQXVEO2dCQUF2RCxzQ0FBdUQsRUFBQTs7QUEvQy9EO1FBbURRLDBEQUFtRTtnQkFBbkUsa0RBQW1FO1FBQ25FLGVBQWU7UUFDZixjQUFjLEVBQUE7O0FBckR0QjtRQXlEUSxzREFBK0Q7Z0JBQS9ELDhDQUErRDtRQUMvRCxlQUFlLEVBQUE7O0FBMUR2QjtJQWdFSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLGlCQUFpQixFQUFBOztBQWxFckI7TUFxRU0s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QVksRUFBQTs7QUFsQmhCO01BcUJNLG1CQUFtQjtNQUNuQixhQUFhO01BQ2IsY0FBYyxFQUFBOztBQXZCcEI7TUEyQk0sZ0JBQWdCO01BQ2hCLG1CQUFtQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvd2FsbGV0L3dhbGxldC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIHBhZGRpbmc6IDAgM3JlbSAzcmVtO1xyXG4gIG1pbi13aWR0aDogOTVyZW07XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4uaGVhZGVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIGZsZXg6IDAgMCBhdXRvO1xyXG4gIGhlaWdodDogOHJlbTtcclxuXHJcbiAgPiBkaXYge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDMuMnJlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGgzIHtcclxuICAgIGZvbnQtc2l6ZTogMS43cmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBtYXgtd2lkdGg6IDUwcmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDIuN3JlbTtcclxuICB9XHJcblxyXG4gIGJ1dHRvbiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgIC5pY29uIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjJyZW07XHJcbiAgICAgIHdpZHRoOiAxLjdyZW07XHJcbiAgICAgIGhlaWdodDogMS43cmVtO1xyXG5cclxuICAgICAgJi5hY2NvdW50IHtcclxuICAgICAgICBoZWlnaHQ6IDEuNnJlbTtcclxuICAgICAgICBtYXNrOiB1cmwoLi4vLi4vYXNzZXRzL2ljb25zL2FjY291bnQuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmxvY2sge1xyXG4gICAgICAgIG1hc2s6IHVybCguLi8uLi9hc3NldHMvaWNvbnMvbG9jay5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuZGV0YWlscyB7XHJcbiAgICAgICAgbWFzazogdXJsKC4uLy4uL2Fzc2V0cy9pY29ucy9kZXRhaWxzLXNldHRpbmdzLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiAxLjhyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuY2xvc2Utd2FsbGV0IHtcclxuICAgICAgICBtYXNrOiB1cmwoLi4vLi4vYXNzZXRzL2ljb25zL2Nsb3NlLXdhbGxldC5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYWxpYXMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IDEuM3JlbTtcclxuXHJcbiAgICAuaWNvbiB7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjJyZW07XHJcbiAgICAgIHdpZHRoOiAxLjdyZW07XHJcbiAgICAgIGhlaWdodDogMS43cmVtO1xyXG5cclxuICAgICAgJi5lZGl0IHtcclxuICAgICAgICBtYXNrOiB1cmwoLi4vLi4vYXNzZXRzL2ljb25zL2RldGFpbHMuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLnRyYW5zZmVyIHtcclxuICAgICAgICBtYXNrOiB1cmwoLi4vLi4vYXNzZXRzL2ljb25zL3NlbmQuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYWRkcmVzcyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGZsZXg6IDAgMCBhdXRvO1xyXG4gIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjdyZW07XHJcblxyXG4gIC5pY29uIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIG1hcmdpbi1sZWZ0OiAxLjJyZW07XHJcbiAgICB3aWR0aDogMS43cmVtO1xyXG4gICAgaGVpZ2h0OiAxLjdyZW07XHJcblxyXG4gICAgJi5jb3B5IHtcclxuICAgICAgd2lkdGg6IDEuOHJlbTtcclxuICAgICAgbWFzazogdXJsKC4uLy4uL2Fzc2V0cy9pY29ucy9jb3B5LnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNzU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmNvcGllZCB7XHJcbiAgICAgIG1hc2s6IHVybCguLi8uLi9hc3NldHMvaWNvbnMvY29tcGxldGUtdGVzdHdhbGxldC5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYmFsYW5jZSB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gIGZsZXg6IDAgMCBhdXRvO1xyXG4gIG1hcmdpbjogMi42cmVtIDA7XHJcblxyXG4gIDpmaXJzdC1jaGlsZCB7XHJcbiAgICBmb250LXNpemU6IDMuM3JlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBsaW5lLWhlaWdodDogMi40cmVtO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAzLjVyZW07XHJcbiAgfVxyXG5cclxuICA6bGFzdC1jaGlsZCB7XHJcbiAgICBmb250LXNpemU6IDEuOHJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBsaW5lLWhlaWdodDogMS4zcmVtO1xyXG4gIH1cclxufVxyXG5cclxuLnRhYnMge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBmbGV4OiAxIDEgYXV0bztcclxuXHJcbiAgLnRhYnMtaGVhZGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBmbGV4OiAwIDAgYXV0bztcclxuXHJcbiAgICAudGFiIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIHBhZGRpbmc6IDAgMXJlbTtcclxuICAgICAgaGVpZ2h0OiA1cmVtO1xyXG4gICAgICAmLmhpZGUge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgICAgLmFuaW1hdGVkIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjNyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5hbmltYXRlZCA6Om5nLWRlZXAgc3ZnIHtcclxuXHJcbiAgICAgICAgd2lkdGg6IDJyZW07XHJcbiAgICAgICAgaGVpZ2h0OiAycmVtO1xyXG5cclxuICAgICAgICBwYXRoLCBjaXJjbGUsIHBvbHlnb24ge1xyXG4gICAgICAgICAgZmlsbDogIzRkYjFmZjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5pY29uIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuM3JlbTtcclxuICAgICAgICB3aWR0aDogMnJlbTtcclxuICAgICAgICBoZWlnaHQ6IDJyZW07XHJcblxyXG4gICAgICAgICYuc2VuZCB7XHJcbiAgICAgICAgICBtYXNrOiB1cmwoLi4vLi4vYXNzZXRzL2ljb25zL3NlbmQuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5yZWNlaXZlIHtcclxuICAgICAgICAgIG1hc2s6IHVybCguLi8uLi9hc3NldHMvaWNvbnMvcmVjZWl2ZS5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmhpc3Rvcnkge1xyXG4gICAgICAgICAgbWFzazogdXJsKC4uLy4uL2Fzc2V0cy9pY29ucy9oaXN0b3J5LnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY29udHJhY3RzIHtcclxuICAgICAgICAgIG1hc2s6IHVybCguLi8uLi9hc3NldHMvaWNvbnMvY29udHJhY3RzLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubWVzc2FnZXMge1xyXG4gICAgICAgICAgbWFzazogdXJsKC4uLy4uL2Fzc2V0cy9pY29ucy9tZXNzYWdlLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuc3Rha2luZyB7XHJcbiAgICAgICAgICBtYXNrOiB1cmwoLi4vLi4vYXNzZXRzL2ljb25zL3N0YWtpbmcuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmluZGljYXRvciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XHJcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuM3JlbTtcclxuICAgICAgICBwYWRkaW5nOiAwIDAuNXJlbTtcclxuICAgICAgICBtaW4td2lkdGg6IDEuNnJlbTtcclxuICAgICAgICBoZWlnaHQ6IDEuNnJlbTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgY3Vyc29yOiB1cmwoLi4vLi4vYXNzZXRzL2ljb25zL25vdC1hbGxvd2VkLnN2ZyksIG5vdC1hbGxvd2VkO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMC4zcmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAudGFicy1jb250ZW50IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBwYWRkaW5nOiAzcmVtO1xyXG4gICAgZmxleDogMSAxIGF1dG87XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgICBvdmVyZmxvdy15OiBvdmVybGF5O1xyXG4gIH1cclxuXHJcblxyXG4gIC5wYWdpbmF0aW9uLXdyYXBwZXIge1xyXG4gICAgLnBhZ2luYXRpb24ge1xyXG4gICAgICBwYWRkaW5nOiAxcmVtO1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB3aWR0aDogMi41cmVtO1xyXG4gICAgICAgIGhlaWdodDogMi41cmVtO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xyXG4gICAgICB9XHJcbiAgICAgIC5kaXNhYmxlZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE4MjAyYTtcclxuICAgICAgICBjb2xvcjogI2UwZTBlMDtcclxuICAgICAgICBvcGFjaXR5OiAwLjM7XHJcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ubWluaW5nLXRyYW5zYWN0aW9uLXN3aXRjaCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIC5zd2l0Y2gtdGV4dCB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XHJcbiAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgIGNvbG9yOiAjNTY1YzYyO1xyXG4gIH1cclxuXHJcbiAgLnN3aXRjaCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICBwYWRkaW5nOiAwLjVyZW07XHJcbiAgICB3aWR0aDogNXJlbTtcclxuICAgIGhlaWdodDogMnJlbTtcclxuXHJcbiAgICAuY2lyY2xlIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMXJlbTtcclxuICAgICAgd2lkdGg6IDEuMnJlbTtcclxuICAgICAgaGVpZ2h0OiAxLjJyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLm9wdGlvbiB7XHJcbiAgICAgIG1hcmdpbjogMCAwLjJyZW07XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJyZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iXX0= */\"","import {\r\n Component,\r\n OnInit,\r\n OnDestroy,\r\n NgZone,\r\n ViewChild,\r\n ElementRef,\r\n} from '@angular/core';\r\nimport { ActivatedRoute, Router, RoutesRecognized } from '@angular/router';\r\nimport { VariablesService } from '../_helpers/services/variables.service';\r\nimport { BackendService } from '../_helpers/services/backend.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { IntToMoneyPipe } from '../_helpers/pipes/int-to-money.pipe';\r\nimport { Subscription } from 'rxjs';\r\nimport { LOCKED_BALANCE_HELP_PAGE } from '../_shared/constants';\r\n\r\nimport icons from '../../assets/icons/icons.json';\r\nimport { PaginationService } from '../_helpers/services/pagination.service';\r\nimport { PaginationStore } from '../_helpers/services/pagination.store';\r\nimport { Store, Sync } from 'store';\r\nimport { Wallet } from '../_helpers/models/wallet.model';\r\nimport { distinctUntilChanged, filter } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-wallet',\r\n templateUrl: './wallet.component.html',\r\n styleUrls: ['./wallet.component.scss'],\r\n})\r\nexport class WalletComponent implements OnInit, OnDestroy {\r\n subRouting1;\r\n subRouting2;\r\n queryRouting;\r\n walletID;\r\n copyAnimation = false;\r\n copyAnimationTimeout;\r\n balanceTooltip;\r\n walletLoaded;\r\n activeTab = 'history';\r\n public mining = false;\r\n public currentPage = 1;\r\n wallet: Wallet;\r\n sync_started = false;\r\n stop_paginate = false;\r\n\r\n @ViewChild('scrolledContent') private scrolledContent: ElementRef;\r\n\r\n tabs = [\r\n {\r\n title: 'WALLET.TABS.HISTORY',\r\n icon: 'history',\r\n link: '/history',\r\n indicator: false,\r\n active: true,\r\n animated: icons.history,\r\n itemHovered: false,\r\n },\r\n {\r\n title: 'WALLET.TABS.SEND',\r\n icon: 'send',\r\n link: '/send',\r\n indicator: false,\r\n active: false,\r\n animated: icons.send,\r\n itemHovered: false,\r\n },\r\n {\r\n title: 'WALLET.TABS.RECEIVE',\r\n icon: 'receive',\r\n link: '/receive',\r\n indicator: false,\r\n active: false,\r\n animated: icons.receive,\r\n itemHovered: false,\r\n },\r\n {\r\n title: 'WALLET.TABS.CONTRACTS',\r\n icon: 'contracts',\r\n link: '/contracts',\r\n indicator: 1,\r\n active: false,\r\n animated: icons.contracts,\r\n itemHovered: false,\r\n },\r\n /*{\r\n title: 'WALLET.TABS.MESSAGES',\r\n icon: 'messages',\r\n link: '/messages',\r\n indicator: 32,\r\n active: false,\r\n animated: icons.messages,\r\n itemHovered: false\r\n },*/\r\n {\r\n title: 'WALLET.TABS.STAKING',\r\n icon: 'staking',\r\n link: '/staking',\r\n indicator: false,\r\n active: false,\r\n animated: icons.staking,\r\n itemHovered: false,\r\n },\r\n ];\r\n aliasSubscription: Subscription;\r\n walletsSubscription: Subscription;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private backend: BackendService,\r\n public variablesService: VariablesService,\r\n private ngZone: NgZone,\r\n private translate: TranslateService,\r\n private intToMoneyPipe: IntToMoneyPipe,\r\n private pagination: PaginationService,\r\n private paginationStore: PaginationStore,\r\n private store: Store\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.subRouting1 = this.route.params.subscribe((params) => {\r\n // set current wallet only by user click to avoid after sync show synchronized data\r\n this.walletID = +params['id'];\r\n this.walletLoaded = this.variablesService.getWallet(this.walletID).loaded;\r\n this.variablesService.setCurrentWallet(this.walletID);\r\n this.walletsSubscription = this.store\r\n .select('sync')\r\n .pipe(filter(Boolean), distinctUntilChanged())\r\n .subscribe((value) => {\r\n const data = value.filter(\r\n (item: Sync) => item.wallet_id === this.walletID\r\n )[0];\r\n if (data && !data.sync) {\r\n let in_progress;\r\n const values = this.store.value.sync;\r\n if (values && values.length) {\r\n in_progress = values.filter((item) => item.sync);\r\n this.variablesService.sync_started = !!(\r\n in_progress && in_progress.length\r\n );\r\n if (!in_progress) {\r\n this.variablesService.sync_started = false;\r\n }\r\n } else {\r\n this.variablesService.sync_started = false;\r\n }\r\n }\r\n let restore = false;\r\n if (\r\n this.variablesService.after_sync_request.hasOwnProperty(\r\n this.walletID\r\n )\r\n ) {\r\n restore = this.variablesService.after_sync_request[this.walletID];\r\n }\r\n if (\r\n !this.variablesService.sync_started &&\r\n restore &&\r\n this.walletID === (data && data.wallet_id)\r\n ) {\r\n this.wallet = this.variablesService.getNotLoadedWallet();\r\n if (this.wallet) {\r\n this.tick();\r\n }\r\n // if this is was restore wallet and it was selected on moment when sync completed\r\n this.getRecentTransfers();\r\n this.variablesService.after_sync_request[this.walletID] = false;\r\n }\r\n });\r\n let after_sync_request = false;\r\n if (\r\n this.variablesService.after_sync_request.hasOwnProperty(this.walletID)\r\n ) {\r\n after_sync_request = this.variablesService.after_sync_request[\r\n this.walletID\r\n ];\r\n }\r\n if (after_sync_request && !this.variablesService.sync_started) {\r\n // if user click on the wallet at the first time after restore.\r\n this.getRecentTransfers();\r\n }\r\n\r\n if (this.variablesService.stop_paginate.hasOwnProperty(this.walletID)) {\r\n this.stop_paginate = this.variablesService.stop_paginate[this.walletID];\r\n } else {\r\n this.stop_paginate = false;\r\n }\r\n // this will hide pagination a bit earlier\r\n this.wallet = this.variablesService.getNotLoadedWallet();\r\n if (this.wallet) {\r\n this.tick();\r\n }\r\n\r\n this.scrolledContent.nativeElement.scrollTop = 0;\r\n clearTimeout(this.copyAnimationTimeout);\r\n this.copyAnimation = false;\r\n this.mining = this.variablesService.currentWallet.exclude_mining_txs;\r\n\r\n if (this.variablesService.wallets.length === 1) {\r\n this.walletID = +params['id'];\r\n this.variablesService.setCurrentWallet(this.walletID);\r\n }\r\n });\r\n this.subRouting2 = this.router.events.subscribe((val) => {\r\n if (val instanceof RoutesRecognized) {\r\n this.activeTab = val.urlAfterRedirects\r\n .replace('?sidenav=true', '')\r\n .split('/')\r\n .pop();\r\n if (val.state.root.firstChild && val.state.root.firstChild.firstChild) {\r\n for (let i = 0; i < this.tabs.length; i++) {\r\n this.tabs[i].active =\r\n this.tabs[i].link ===\r\n '/' + val.state.root.firstChild.firstChild.url[0].path;\r\n }\r\n }\r\n }\r\n });\r\n this.queryRouting = this.route.queryParams.subscribe((params) => {\r\n if (params.send) {\r\n this.tabs.forEach((tab, index) => {\r\n if (tab.link === '/send') {\r\n this.changeTab(index);\r\n }\r\n });\r\n }\r\n });\r\n if (this.variablesService.currentWallet.alias.hasOwnProperty('name')) {\r\n this.variablesService.currentWallet.wakeAlias = false;\r\n }\r\n this.aliasSubscription = this.variablesService.getAliasChangedEvent.subscribe(\r\n () => {\r\n if (this.variablesService.currentWallet.alias.hasOwnProperty('name')) {\r\n this.variablesService.currentWallet.wakeAlias = false;\r\n }\r\n }\r\n );\r\n this.updateWalletStatus();\r\n }\r\n resetPaginationValues() {\r\n this.ngZone.run(() => {\r\n const total_history_item = this.variablesService.currentWallet\r\n .total_history_item;\r\n const count = this.variablesService.count;\r\n this.variablesService.currentWallet.totalPages = Math.ceil(\r\n total_history_item / count\r\n );\r\n this.variablesService.currentWallet.exclude_mining_txs = this.mining;\r\n this.variablesService.currentWallet.currentPage = 1;\r\n\r\n if (!this.variablesService.currentWallet.totalPages) {\r\n this.variablesService.currentWallet.totalPages = 1;\r\n }\r\n this.variablesService.currentWallet.totalPages >\r\n this.variablesService.maxPages\r\n ? (this.variablesService.currentWallet.pages = new Array(5)\r\n .fill(1)\r\n .map((value, index) => value + index))\r\n : (this.variablesService.currentWallet.pages = new Array(\r\n this.variablesService.currentWallet.totalPages\r\n )\r\n .fill(1)\r\n .map((value, index) => value + index));\r\n });\r\n }\r\n\r\n changeTab(index) {\r\n if (\r\n ((this.tabs[index].link === '/send' ||\r\n this.tabs[index].link === '/contracts' ||\r\n this.tabs[index].link === '/staking') &&\r\n (this.variablesService.daemon_state !== 2 ||\r\n !this.variablesService.currentWallet.loaded)) ||\r\n ((this.tabs[index].link === '/send' ||\r\n this.tabs[index].link === '/contracts') &&\r\n this.variablesService.currentWallet.is_watch_only &&\r\n this.variablesService.currentWallet.is_auditable)\r\n ) {\r\n return;\r\n }\r\n this.tabs.forEach((tab) => {\r\n tab.active = false;\r\n });\r\n this.tabs[index].active = true;\r\n this.ngZone.run(() => {\r\n this.scrolledContent.nativeElement.scrollTop = 0;\r\n this.router.navigate(['wallet/' + this.walletID + this.tabs[index].link]);\r\n });\r\n }\r\n\r\n itemHovered(index, state: boolean) {\r\n this.tabs[index].itemHovered = state;\r\n }\r\n\r\n copyAddress() {\r\n this.backend.setClipboard(this.variablesService.currentWallet.address);\r\n this.copyAnimation = true;\r\n this.copyAnimationTimeout = window.setTimeout(() => {\r\n this.copyAnimation = false;\r\n }, 2000);\r\n }\r\n\r\n getTooltip() {\r\n this.balanceTooltip = document.createElement('div');\r\n const available = document.createElement('span');\r\n available.setAttribute('class', 'available');\r\n available.innerHTML = this.translate.instant('WALLET.AVAILABLE_BALANCE', {\r\n available: this.intToMoneyPipe.transform(\r\n this.variablesService.currentWallet.unlocked_balance\r\n ),\r\n currency: this.variablesService.defaultCurrency,\r\n });\r\n this.balanceTooltip.appendChild(available);\r\n const locked = document.createElement('span');\r\n locked.setAttribute('class', 'locked');\r\n locked.innerHTML = this.translate.instant('WALLET.LOCKED_BALANCE', {\r\n locked: this.intToMoneyPipe.transform(\r\n this.variablesService.currentWallet.balance.minus(\r\n this.variablesService.currentWallet.unlocked_balance\r\n )\r\n ),\r\n currency: this.variablesService.defaultCurrency,\r\n });\r\n this.balanceTooltip.appendChild(locked);\r\n const link = document.createElement('span');\r\n link.setAttribute('class', 'link');\r\n link.innerHTML = this.translate.instant('WALLET.LOCKED_BALANCE_LINK');\r\n link.addEventListener('click', () => {\r\n this.openInBrowser(LOCKED_BALANCE_HELP_PAGE);\r\n });\r\n this.balanceTooltip.appendChild(link);\r\n return this.balanceTooltip;\r\n }\r\n\r\n onHideTooltip() {\r\n this.balanceTooltip = null;\r\n }\r\n\r\n openInBrowser(link) {\r\n this.backend.openUrlInBrowser(link);\r\n }\r\n\r\n public setPage(pageNumber: number) {\r\n // this is will allow pagination for wallets that was open from existed wallets'\r\n if (\r\n this.variablesService.currentWallet.open_from_exist &&\r\n !this.variablesService.currentWallet.updated\r\n ) {\r\n this.variablesService.get_recent_transfers = false;\r\n this.variablesService.currentWallet.updated = true;\r\n }\r\n if (pageNumber === this.variablesService.currentWallet.currentPage) {\r\n return;\r\n }\r\n // if not running get_recent_transfers callback\r\n if (!this.variablesService.get_recent_transfers) {\r\n this.variablesService.currentWallet.currentPage = pageNumber;\r\n }\r\n if (!this.variablesService.get_recent_transfers) {\r\n this.getRecentTransfers();\r\n }\r\n }\r\n\r\n toggleMiningTransactions() {\r\n if (!this.variablesService.sync_started && !this.wallet) {\r\n const value = this.paginationStore.value;\r\n if (!value) {\r\n this.paginationStore.setPage(1, 0, this.walletID); // add back page for the first page\r\n } else {\r\n const pages = value.filter((item) => item.walletID === this.walletID);\r\n if (!pages.length) {\r\n this.paginationStore.setPage(1, 0, this.walletID); // add back page for the first page\r\n }\r\n }\r\n this.mining = !this.mining;\r\n this.resetPaginationValues();\r\n this.getRecentTransfers();\r\n }\r\n }\r\n\r\n tick() {\r\n const walletInterval = setInterval(() => {\r\n this.wallet = this.variablesService.getNotLoadedWallet();\r\n if (!this.wallet) {\r\n clearInterval(walletInterval);\r\n }\r\n }, 1000);\r\n }\r\n\r\n getRecentTransfers() {\r\n const offset = this.pagination.getOffset(this.walletID);\r\n const value = this.paginationStore.value;\r\n const pages = value\r\n ? value.filter((item) => item.walletID === this.walletID)\r\n : [];\r\n\r\n this.backend.getRecentTransfers(\r\n this.walletID,\r\n offset,\r\n this.variablesService.count,\r\n this.variablesService.currentWallet.exclude_mining_txs,\r\n (status, data) => {\r\n const isForward = this.paginationStore.isForward(\r\n pages,\r\n this.variablesService.currentWallet.currentPage\r\n );\r\n if (this.mining && isForward && pages && pages.length === 1) {\r\n this.variablesService.currentWallet.currentPage = 1; // set init page after navigation back\r\n }\r\n\r\n const history = data && data.history;\r\n this.variablesService.stop_paginate[this.walletID] =\r\n (history && history.length < this.variablesService.count) || !history;\r\n this.stop_paginate = this.variablesService.stop_paginate[this.walletID];\r\n if (!this.variablesService.stop_paginate[this.walletID]) {\r\n const page = this.variablesService.currentWallet.currentPage + 1;\r\n if (\r\n isForward &&\r\n this.mining &&\r\n history &&\r\n history.length === this.variablesService.count\r\n ) {\r\n this.paginationStore.setPage(\r\n page,\r\n data.last_item_index,\r\n this.walletID\r\n ); // add back page for current page\r\n }\r\n }\r\n\r\n this.pagination.calcPages(data);\r\n this.pagination.prepareHistory(data, status);\r\n\r\n this.ngZone.run(() => {\r\n this.variablesService.get_recent_transfers = false;\r\n if (\r\n this.variablesService.after_sync_request.hasOwnProperty(\r\n this.walletID\r\n )\r\n ) {\r\n // this is will complete get_recent_transfers request\r\n // this will switch of\r\n this.variablesService.after_sync_request[this.walletID] = false;\r\n }\r\n });\r\n }\r\n );\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subRouting1.unsubscribe();\r\n this.subRouting2.unsubscribe();\r\n this.queryRouting.unsubscribe();\r\n this.aliasSubscription.unsubscribe();\r\n if (this.walletsSubscription) {\r\n this.walletsSubscription.unsubscribe();\r\n }\r\n clearTimeout(this.copyAnimationTimeout);\r\n }\r\n\r\n updateWalletStatus() {\r\n this.backend.eventSubscribe('wallet_sync_progress', (data) => {\r\n const wallet_id = data.wallet_id;\r\n if (wallet_id === this.walletID) {\r\n this.ngZone.run(() => {\r\n this.walletLoaded = false;\r\n });\r\n }\r\n });\r\n this.backend.eventSubscribe('update_wallet_status', (data) => {\r\n const wallet_state = data.wallet_state;\r\n const wallet_id = data.wallet_id;\r\n this.ngZone.run(() => {\r\n if (wallet_state === 2 && wallet_id === this.walletID) {\r\n this.walletLoaded =\r\n this.variablesService.getWallet(this.walletID) !== null &&\r\n this.variablesService.getWallet(this.walletID).loaded\r\n ? true\r\n : false;\r\n } else {\r\n this.walletLoaded = false;\r\n }\r\n });\r\n });\r\n }\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\nimport 'lodash';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","import { pluck, distinctUntilChanged } from 'rxjs/operators';\r\nimport { Observable, BehaviorSubject } from 'rxjs';\r\nimport { Wallet } from './app/_helpers/models/wallet.model';\r\nexport interface Sync {\r\n sync: boolean;\r\n wallet_id: number;\r\n}\r\n\r\nexport interface State {\r\n wallets: Wallet[];\r\n sync: Sync[];\r\n [key: string]: any;\r\n}\r\n\r\nconst state: State = {\r\n wallets: undefined,\r\n sync: undefined,\r\n};\r\n\r\nexport class Store {\r\n private subject = new BehaviorSubject(state);\r\n private store = this.subject.asObservable().pipe(distinctUntilChanged());\r\n\r\n get value() {\r\n return this.subject.value;\r\n }\r\n\r\n select(name: string): Observable {\r\n return this.store.pipe(pluck(name));\r\n }\r\n\r\n // tslint:disable-next-line:no-shadowed-variable\r\n set(name: string, state: any) {\r\n this.subject.next({ ...this.value, [name]: state });\r\n }\r\n}\r\n"],"sourceRoot":""} \ No newline at end of file diff --git a/src/gui/qt-daemon/html/message.svg b/src/gui/qt-daemon/html/message.svg deleted file mode 100644 index 544888cc..00000000 --- a/src/gui/qt-daemon/html/message.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/modal-alert.svg b/src/gui/qt-daemon/html/modal-alert.svg deleted file mode 100644 index bb5c7d02..00000000 --- a/src/gui/qt-daemon/html/modal-alert.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/src/gui/qt-daemon/html/modal-info.svg b/src/gui/qt-daemon/html/modal-info.svg deleted file mode 100644 index 0119fcc7..00000000 --- a/src/gui/qt-daemon/html/modal-info.svg +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/src/gui/qt-daemon/html/modal-success.svg b/src/gui/qt-daemon/html/modal-success.svg deleted file mode 100644 index 60ad5a5d..00000000 --- a/src/gui/qt-daemon/html/modal-success.svg +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/src/gui/qt-daemon/html/new.svg b/src/gui/qt-daemon/html/new.svg deleted file mode 100644 index 89622385..00000000 --- a/src/gui/qt-daemon/html/new.svg +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - diff --git a/src/gui/qt-daemon/html/not-allowed.svg b/src/gui/qt-daemon/html/not-allowed.svg deleted file mode 100644 index 4fdfa78e..00000000 --- a/src/gui/qt-daemon/html/not-allowed.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/polyfills.js b/src/gui/qt-daemon/html/polyfills.js deleted file mode 100644 index 10acb49b..00000000 --- a/src/gui/qt-daemon/html/polyfills.js +++ /dev/null @@ -1,5810 +0,0 @@ -(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["polyfills"],{ - -/***/ "./node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/jit-polyfills.js": -/*!**************************************************************************************************!*\ - !*** ./node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/jit-polyfills.js ***! - \**************************************************************************************************/ -/*! no exports provided */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var core_js_es7_reflect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/es7/reflect */ "./node_modules/core-js/es7/reflect.js"); -/* harmony import */ var core_js_es7_reflect__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_es7_reflect__WEBPACK_IMPORTED_MODULE_0__); -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - - - -/***/ }), - -/***/ "./node_modules/core-js/es7/reflect.js": -/*!*********************************************!*\ - !*** ./node_modules/core-js/es7/reflect.js ***! - \*********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -__webpack_require__(/*! ../modules/es7.reflect.define-metadata */ "./node_modules/core-js/modules/es7.reflect.define-metadata.js"); -__webpack_require__(/*! ../modules/es7.reflect.delete-metadata */ "./node_modules/core-js/modules/es7.reflect.delete-metadata.js"); -__webpack_require__(/*! ../modules/es7.reflect.get-metadata */ "./node_modules/core-js/modules/es7.reflect.get-metadata.js"); -__webpack_require__(/*! ../modules/es7.reflect.get-metadata-keys */ "./node_modules/core-js/modules/es7.reflect.get-metadata-keys.js"); -__webpack_require__(/*! ../modules/es7.reflect.get-own-metadata */ "./node_modules/core-js/modules/es7.reflect.get-own-metadata.js"); -__webpack_require__(/*! ../modules/es7.reflect.get-own-metadata-keys */ "./node_modules/core-js/modules/es7.reflect.get-own-metadata-keys.js"); -__webpack_require__(/*! ../modules/es7.reflect.has-metadata */ "./node_modules/core-js/modules/es7.reflect.has-metadata.js"); -__webpack_require__(/*! ../modules/es7.reflect.has-own-metadata */ "./node_modules/core-js/modules/es7.reflect.has-own-metadata.js"); -__webpack_require__(/*! ../modules/es7.reflect.metadata */ "./node_modules/core-js/modules/es7.reflect.metadata.js"); -module.exports = __webpack_require__(/*! ../modules/_core */ "./node_modules/core-js/modules/_core.js").Reflect; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_a-function.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/modules/_a-function.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = function (it) { - if (typeof it != 'function') throw TypeError(it + ' is not a function!'); - return it; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_an-instance.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/modules/_an-instance.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = function (it, Constructor, name, forbiddenField) { - if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) { - throw TypeError(name + ': incorrect invocation!'); - } return it; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_an-object.js": -/*!****************************************************!*\ - !*** ./node_modules/core-js/modules/_an-object.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js"); -module.exports = function (it) { - if (!isObject(it)) throw TypeError(it + ' is not an object!'); - return it; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_array-from-iterable.js": -/*!**************************************************************!*\ - !*** ./node_modules/core-js/modules/_array-from-iterable.js ***! - \**************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var forOf = __webpack_require__(/*! ./_for-of */ "./node_modules/core-js/modules/_for-of.js"); - -module.exports = function (iter, ITERATOR) { - var result = []; - forOf(iter, false, result.push, result, ITERATOR); - return result; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_array-includes.js": -/*!*********************************************************!*\ - !*** ./node_modules/core-js/modules/_array-includes.js ***! - \*********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// false -> Array#indexOf -// true -> Array#includes -var toIObject = __webpack_require__(/*! ./_to-iobject */ "./node_modules/core-js/modules/_to-iobject.js"); -var toLength = __webpack_require__(/*! ./_to-length */ "./node_modules/core-js/modules/_to-length.js"); -var toAbsoluteIndex = __webpack_require__(/*! ./_to-absolute-index */ "./node_modules/core-js/modules/_to-absolute-index.js"); -module.exports = function (IS_INCLUDES) { - return function ($this, el, fromIndex) { - var O = toIObject($this); - var length = toLength(O.length); - var index = toAbsoluteIndex(fromIndex, length); - var value; - // Array#includes uses SameValueZero equality algorithm - // eslint-disable-next-line no-self-compare - if (IS_INCLUDES && el != el) while (length > index) { - value = O[index++]; - // eslint-disable-next-line no-self-compare - if (value != value) return true; - // Array#indexOf ignores holes, Array#includes - not - } else for (;length > index; index++) if (IS_INCLUDES || index in O) { - if (O[index] === el) return IS_INCLUDES || index || 0; - } return !IS_INCLUDES && -1; - }; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_array-methods.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/modules/_array-methods.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// 0 -> Array#forEach -// 1 -> Array#map -// 2 -> Array#filter -// 3 -> Array#some -// 4 -> Array#every -// 5 -> Array#find -// 6 -> Array#findIndex -var ctx = __webpack_require__(/*! ./_ctx */ "./node_modules/core-js/modules/_ctx.js"); -var IObject = __webpack_require__(/*! ./_iobject */ "./node_modules/core-js/modules/_iobject.js"); -var toObject = __webpack_require__(/*! ./_to-object */ "./node_modules/core-js/modules/_to-object.js"); -var toLength = __webpack_require__(/*! ./_to-length */ "./node_modules/core-js/modules/_to-length.js"); -var asc = __webpack_require__(/*! ./_array-species-create */ "./node_modules/core-js/modules/_array-species-create.js"); -module.exports = function (TYPE, $create) { - var IS_MAP = TYPE == 1; - var IS_FILTER = TYPE == 2; - var IS_SOME = TYPE == 3; - var IS_EVERY = TYPE == 4; - var IS_FIND_INDEX = TYPE == 6; - var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; - var create = $create || asc; - return function ($this, callbackfn, that) { - var O = toObject($this); - var self = IObject(O); - var f = ctx(callbackfn, that, 3); - var length = toLength(self.length); - var index = 0; - var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined; - var val, res; - for (;length > index; index++) if (NO_HOLES || index in self) { - val = self[index]; - res = f(val, index, O); - if (TYPE) { - if (IS_MAP) result[index] = res; // map - else if (res) switch (TYPE) { - case 3: return true; // some - case 5: return val; // find - case 6: return index; // findIndex - case 2: result.push(val); // filter - } else if (IS_EVERY) return false; // every - } - } - return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result; - }; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_array-species-constructor.js": -/*!********************************************************************!*\ - !*** ./node_modules/core-js/modules/_array-species-constructor.js ***! - \********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js"); -var isArray = __webpack_require__(/*! ./_is-array */ "./node_modules/core-js/modules/_is-array.js"); -var SPECIES = __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js")('species'); - -module.exports = function (original) { - var C; - if (isArray(original)) { - C = original.constructor; - // cross-realm fallback - if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined; - if (isObject(C)) { - C = C[SPECIES]; - if (C === null) C = undefined; - } - } return C === undefined ? Array : C; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_array-species-create.js": -/*!***************************************************************!*\ - !*** ./node_modules/core-js/modules/_array-species-create.js ***! - \***************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// 9.4.2.3 ArraySpeciesCreate(originalArray, length) -var speciesConstructor = __webpack_require__(/*! ./_array-species-constructor */ "./node_modules/core-js/modules/_array-species-constructor.js"); - -module.exports = function (original, length) { - return new (speciesConstructor(original))(length); -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_classof.js": -/*!**************************************************!*\ - !*** ./node_modules/core-js/modules/_classof.js ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// getting tag from 19.1.3.6 Object.prototype.toString() -var cof = __webpack_require__(/*! ./_cof */ "./node_modules/core-js/modules/_cof.js"); -var TAG = __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js")('toStringTag'); -// ES3 wrong here -var ARG = cof(function () { return arguments; }()) == 'Arguments'; - -// fallback for IE11 Script Access Denied error -var tryGet = function (it, key) { - try { - return it[key]; - } catch (e) { /* empty */ } -}; - -module.exports = function (it) { - var O, T, B; - return it === undefined ? 'Undefined' : it === null ? 'Null' - // @@toStringTag case - : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T - // builtinTag case - : ARG ? cof(O) - // ES3 arguments fallback - : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_cof.js": -/*!**********************************************!*\ - !*** ./node_modules/core-js/modules/_cof.js ***! - \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -var toString = {}.toString; - -module.exports = function (it) { - return toString.call(it).slice(8, -1); -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_collection-strong.js": -/*!************************************************************!*\ - !*** ./node_modules/core-js/modules/_collection-strong.js ***! - \************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var dP = __webpack_require__(/*! ./_object-dp */ "./node_modules/core-js/modules/_object-dp.js").f; -var create = __webpack_require__(/*! ./_object-create */ "./node_modules/core-js/modules/_object-create.js"); -var redefineAll = __webpack_require__(/*! ./_redefine-all */ "./node_modules/core-js/modules/_redefine-all.js"); -var ctx = __webpack_require__(/*! ./_ctx */ "./node_modules/core-js/modules/_ctx.js"); -var anInstance = __webpack_require__(/*! ./_an-instance */ "./node_modules/core-js/modules/_an-instance.js"); -var forOf = __webpack_require__(/*! ./_for-of */ "./node_modules/core-js/modules/_for-of.js"); -var $iterDefine = __webpack_require__(/*! ./_iter-define */ "./node_modules/core-js/modules/_iter-define.js"); -var step = __webpack_require__(/*! ./_iter-step */ "./node_modules/core-js/modules/_iter-step.js"); -var setSpecies = __webpack_require__(/*! ./_set-species */ "./node_modules/core-js/modules/_set-species.js"); -var DESCRIPTORS = __webpack_require__(/*! ./_descriptors */ "./node_modules/core-js/modules/_descriptors.js"); -var fastKey = __webpack_require__(/*! ./_meta */ "./node_modules/core-js/modules/_meta.js").fastKey; -var validate = __webpack_require__(/*! ./_validate-collection */ "./node_modules/core-js/modules/_validate-collection.js"); -var SIZE = DESCRIPTORS ? '_s' : 'size'; - -var getEntry = function (that, key) { - // fast case - var index = fastKey(key); - var entry; - if (index !== 'F') return that._i[index]; - // frozen object case - for (entry = that._f; entry; entry = entry.n) { - if (entry.k == key) return entry; - } -}; - -module.exports = { - getConstructor: function (wrapper, NAME, IS_MAP, ADDER) { - var C = wrapper(function (that, iterable) { - anInstance(that, C, NAME, '_i'); - that._t = NAME; // collection type - that._i = create(null); // index - that._f = undefined; // first entry - that._l = undefined; // last entry - that[SIZE] = 0; // size - if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); - }); - redefineAll(C.prototype, { - // 23.1.3.1 Map.prototype.clear() - // 23.2.3.2 Set.prototype.clear() - clear: function clear() { - for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) { - entry.r = true; - if (entry.p) entry.p = entry.p.n = undefined; - delete data[entry.i]; - } - that._f = that._l = undefined; - that[SIZE] = 0; - }, - // 23.1.3.3 Map.prototype.delete(key) - // 23.2.3.4 Set.prototype.delete(value) - 'delete': function (key) { - var that = validate(this, NAME); - var entry = getEntry(that, key); - if (entry) { - var next = entry.n; - var prev = entry.p; - delete that._i[entry.i]; - entry.r = true; - if (prev) prev.n = next; - if (next) next.p = prev; - if (that._f == entry) that._f = next; - if (that._l == entry) that._l = prev; - that[SIZE]--; - } return !!entry; - }, - // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined) - // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined) - forEach: function forEach(callbackfn /* , that = undefined */) { - validate(this, NAME); - var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); - var entry; - while (entry = entry ? entry.n : this._f) { - f(entry.v, entry.k, this); - // revert to the last existing entry - while (entry && entry.r) entry = entry.p; - } - }, - // 23.1.3.7 Map.prototype.has(key) - // 23.2.3.7 Set.prototype.has(value) - has: function has(key) { - return !!getEntry(validate(this, NAME), key); - } - }); - if (DESCRIPTORS) dP(C.prototype, 'size', { - get: function () { - return validate(this, NAME)[SIZE]; - } - }); - return C; - }, - def: function (that, key, value) { - var entry = getEntry(that, key); - var prev, index; - // change existing entry - if (entry) { - entry.v = value; - // create new entry - } else { - that._l = entry = { - i: index = fastKey(key, true), // <- index - k: key, // <- key - v: value, // <- value - p: prev = that._l, // <- previous entry - n: undefined, // <- next entry - r: false // <- removed - }; - if (!that._f) that._f = entry; - if (prev) prev.n = entry; - that[SIZE]++; - // add to index - if (index !== 'F') that._i[index] = entry; - } return that; - }, - getEntry: getEntry, - setStrong: function (C, NAME, IS_MAP) { - // add .keys, .values, .entries, [@@iterator] - // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11 - $iterDefine(C, NAME, function (iterated, kind) { - this._t = validate(iterated, NAME); // target - this._k = kind; // kind - this._l = undefined; // previous - }, function () { - var that = this; - var kind = that._k; - var entry = that._l; - // revert to the last existing entry - while (entry && entry.r) entry = entry.p; - // get next entry - if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) { - // or finish the iteration - that._t = undefined; - return step(1); - } - // return step by kind - if (kind == 'keys') return step(0, entry.k); - if (kind == 'values') return step(0, entry.v); - return step(0, [entry.k, entry.v]); - }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); - - // add [@@species], 23.1.2.2, 23.2.2.2 - setSpecies(NAME); - } -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_collection-weak.js": -/*!**********************************************************!*\ - !*** ./node_modules/core-js/modules/_collection-weak.js ***! - \**********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var redefineAll = __webpack_require__(/*! ./_redefine-all */ "./node_modules/core-js/modules/_redefine-all.js"); -var getWeak = __webpack_require__(/*! ./_meta */ "./node_modules/core-js/modules/_meta.js").getWeak; -var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js"); -var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js"); -var anInstance = __webpack_require__(/*! ./_an-instance */ "./node_modules/core-js/modules/_an-instance.js"); -var forOf = __webpack_require__(/*! ./_for-of */ "./node_modules/core-js/modules/_for-of.js"); -var createArrayMethod = __webpack_require__(/*! ./_array-methods */ "./node_modules/core-js/modules/_array-methods.js"); -var $has = __webpack_require__(/*! ./_has */ "./node_modules/core-js/modules/_has.js"); -var validate = __webpack_require__(/*! ./_validate-collection */ "./node_modules/core-js/modules/_validate-collection.js"); -var arrayFind = createArrayMethod(5); -var arrayFindIndex = createArrayMethod(6); -var id = 0; - -// fallback for uncaught frozen keys -var uncaughtFrozenStore = function (that) { - return that._l || (that._l = new UncaughtFrozenStore()); -}; -var UncaughtFrozenStore = function () { - this.a = []; -}; -var findUncaughtFrozen = function (store, key) { - return arrayFind(store.a, function (it) { - return it[0] === key; - }); -}; -UncaughtFrozenStore.prototype = { - get: function (key) { - var entry = findUncaughtFrozen(this, key); - if (entry) return entry[1]; - }, - has: function (key) { - return !!findUncaughtFrozen(this, key); - }, - set: function (key, value) { - var entry = findUncaughtFrozen(this, key); - if (entry) entry[1] = value; - else this.a.push([key, value]); - }, - 'delete': function (key) { - var index = arrayFindIndex(this.a, function (it) { - return it[0] === key; - }); - if (~index) this.a.splice(index, 1); - return !!~index; - } -}; - -module.exports = { - getConstructor: function (wrapper, NAME, IS_MAP, ADDER) { - var C = wrapper(function (that, iterable) { - anInstance(that, C, NAME, '_i'); - that._t = NAME; // collection type - that._i = id++; // collection id - that._l = undefined; // leak store for uncaught frozen objects - if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); - }); - redefineAll(C.prototype, { - // 23.3.3.2 WeakMap.prototype.delete(key) - // 23.4.3.3 WeakSet.prototype.delete(value) - 'delete': function (key) { - if (!isObject(key)) return false; - var data = getWeak(key); - if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key); - return data && $has(data, this._i) && delete data[this._i]; - }, - // 23.3.3.4 WeakMap.prototype.has(key) - // 23.4.3.4 WeakSet.prototype.has(value) - has: function has(key) { - if (!isObject(key)) return false; - var data = getWeak(key); - if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key); - return data && $has(data, this._i); - } - }); - return C; - }, - def: function (that, key, value) { - var data = getWeak(anObject(key), true); - if (data === true) uncaughtFrozenStore(that).set(key, value); - else data[that._i] = value; - return that; - }, - ufstore: uncaughtFrozenStore -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_collection.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/modules/_collection.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var global = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js"); -var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js"); -var redefine = __webpack_require__(/*! ./_redefine */ "./node_modules/core-js/modules/_redefine.js"); -var redefineAll = __webpack_require__(/*! ./_redefine-all */ "./node_modules/core-js/modules/_redefine-all.js"); -var meta = __webpack_require__(/*! ./_meta */ "./node_modules/core-js/modules/_meta.js"); -var forOf = __webpack_require__(/*! ./_for-of */ "./node_modules/core-js/modules/_for-of.js"); -var anInstance = __webpack_require__(/*! ./_an-instance */ "./node_modules/core-js/modules/_an-instance.js"); -var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js"); -var fails = __webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js"); -var $iterDetect = __webpack_require__(/*! ./_iter-detect */ "./node_modules/core-js/modules/_iter-detect.js"); -var setToStringTag = __webpack_require__(/*! ./_set-to-string-tag */ "./node_modules/core-js/modules/_set-to-string-tag.js"); -var inheritIfRequired = __webpack_require__(/*! ./_inherit-if-required */ "./node_modules/core-js/modules/_inherit-if-required.js"); - -module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) { - var Base = global[NAME]; - var C = Base; - var ADDER = IS_MAP ? 'set' : 'add'; - var proto = C && C.prototype; - var O = {}; - var fixMethod = function (KEY) { - var fn = proto[KEY]; - redefine(proto, KEY, - KEY == 'delete' ? function (a) { - return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a); - } : KEY == 'has' ? function has(a) { - return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a); - } : KEY == 'get' ? function get(a) { - return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a); - } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; } - : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; } - ); - }; - if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () { - new C().entries().next(); - }))) { - // create collection constructor - C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER); - redefineAll(C.prototype, methods); - meta.NEED = true; - } else { - var instance = new C(); - // early implementations not supports chaining - var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance; - // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false - var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); }); - // most early implementations doesn't supports iterables, most modern - not close it correctly - var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new - // for early implementations -0 and +0 not the same - var BUGGY_ZERO = !IS_WEAK && fails(function () { - // V8 ~ Chromium 42- fails only with 5+ elements - var $instance = new C(); - var index = 5; - while (index--) $instance[ADDER](index, index); - return !$instance.has(-0); - }); - if (!ACCEPT_ITERABLES) { - C = wrapper(function (target, iterable) { - anInstance(target, C, NAME); - var that = inheritIfRequired(new Base(), target, C); - if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); - return that; - }); - C.prototype = proto; - proto.constructor = C; - } - if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) { - fixMethod('delete'); - fixMethod('has'); - IS_MAP && fixMethod('get'); - } - if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER); - // weak collections should not contains .clear method - if (IS_WEAK && proto.clear) delete proto.clear; - } - - setToStringTag(C, NAME); - - O[NAME] = C; - $export($export.G + $export.W + $export.F * (C != Base), O); - - if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP); - - return C; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_core.js": -/*!***********************************************!*\ - !*** ./node_modules/core-js/modules/_core.js ***! - \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -var core = module.exports = { version: '2.6.12' }; -if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_ctx.js": -/*!**********************************************!*\ - !*** ./node_modules/core-js/modules/_ctx.js ***! - \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// optional / simple context binding -var aFunction = __webpack_require__(/*! ./_a-function */ "./node_modules/core-js/modules/_a-function.js"); -module.exports = function (fn, that, length) { - aFunction(fn); - if (that === undefined) return fn; - switch (length) { - case 1: return function (a) { - return fn.call(that, a); - }; - case 2: return function (a, b) { - return fn.call(that, a, b); - }; - case 3: return function (a, b, c) { - return fn.call(that, a, b, c); - }; - } - return function (/* ...args */) { - return fn.apply(that, arguments); - }; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_defined.js": -/*!**************************************************!*\ - !*** ./node_modules/core-js/modules/_defined.js ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -// 7.2.1 RequireObjectCoercible(argument) -module.exports = function (it) { - if (it == undefined) throw TypeError("Can't call method on " + it); - return it; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_descriptors.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/modules/_descriptors.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// Thank's IE8 for his funny defineProperty -module.exports = !__webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js")(function () { - return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; -}); - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_dom-create.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/modules/_dom-create.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js"); -var document = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js").document; -// typeof document.createElement is 'object' in old IE -var is = isObject(document) && isObject(document.createElement); -module.exports = function (it) { - return is ? document.createElement(it) : {}; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_enum-bug-keys.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/modules/_enum-bug-keys.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -// IE 8- don't enum bug keys -module.exports = ( - 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' -).split(','); - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_export.js": -/*!*************************************************!*\ - !*** ./node_modules/core-js/modules/_export.js ***! - \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var global = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js"); -var core = __webpack_require__(/*! ./_core */ "./node_modules/core-js/modules/_core.js"); -var hide = __webpack_require__(/*! ./_hide */ "./node_modules/core-js/modules/_hide.js"); -var redefine = __webpack_require__(/*! ./_redefine */ "./node_modules/core-js/modules/_redefine.js"); -var ctx = __webpack_require__(/*! ./_ctx */ "./node_modules/core-js/modules/_ctx.js"); -var PROTOTYPE = 'prototype'; - -var $export = function (type, name, source) { - var IS_FORCED = type & $export.F; - var IS_GLOBAL = type & $export.G; - var IS_STATIC = type & $export.S; - var IS_PROTO = type & $export.P; - var IS_BIND = type & $export.B; - var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE]; - var exports = IS_GLOBAL ? core : core[name] || (core[name] = {}); - var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {}); - var key, own, out, exp; - if (IS_GLOBAL) source = name; - for (key in source) { - // contains in native - own = !IS_FORCED && target && target[key] !== undefined; - // export native or passed - out = (own ? target : source)[key]; - // bind timers to global for call from export context - exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; - // extend global - if (target) redefine(target, key, out, type & $export.U); - // export - if (exports[key] != out) hide(exports, key, exp); - if (IS_PROTO && expProto[key] != out) expProto[key] = out; - } -}; -global.core = core; -// type bitmap -$export.F = 1; // forced -$export.G = 2; // global -$export.S = 4; // static -$export.P = 8; // proto -$export.B = 16; // bind -$export.W = 32; // wrap -$export.U = 64; // safe -$export.R = 128; // real proto method for `library` -module.exports = $export; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_fails.js": -/*!************************************************!*\ - !*** ./node_modules/core-js/modules/_fails.js ***! - \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = function (exec) { - try { - return !!exec(); - } catch (e) { - return true; - } -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_for-of.js": -/*!*************************************************!*\ - !*** ./node_modules/core-js/modules/_for-of.js ***! - \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var ctx = __webpack_require__(/*! ./_ctx */ "./node_modules/core-js/modules/_ctx.js"); -var call = __webpack_require__(/*! ./_iter-call */ "./node_modules/core-js/modules/_iter-call.js"); -var isArrayIter = __webpack_require__(/*! ./_is-array-iter */ "./node_modules/core-js/modules/_is-array-iter.js"); -var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js"); -var toLength = __webpack_require__(/*! ./_to-length */ "./node_modules/core-js/modules/_to-length.js"); -var getIterFn = __webpack_require__(/*! ./core.get-iterator-method */ "./node_modules/core-js/modules/core.get-iterator-method.js"); -var BREAK = {}; -var RETURN = {}; -var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) { - var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable); - var f = ctx(fn, that, entries ? 2 : 1); - var index = 0; - var length, step, iterator, result; - if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!'); - // fast case for arrays with default iterator - if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) { - result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]); - if (result === BREAK || result === RETURN) return result; - } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) { - result = call(iterator, f, step.value, entries); - if (result === BREAK || result === RETURN) return result; - } -}; -exports.BREAK = BREAK; -exports.RETURN = RETURN; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_function-to-string.js": -/*!*************************************************************!*\ - !*** ./node_modules/core-js/modules/_function-to-string.js ***! - \*************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -module.exports = __webpack_require__(/*! ./_shared */ "./node_modules/core-js/modules/_shared.js")('native-function-to-string', Function.toString); - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_global.js": -/*!*************************************************!*\ - !*** ./node_modules/core-js/modules/_global.js ***! - \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 -var global = module.exports = typeof window != 'undefined' && window.Math == Math - ? window : typeof self != 'undefined' && self.Math == Math ? self - // eslint-disable-next-line no-new-func - : Function('return this')(); -if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_has.js": -/*!**********************************************!*\ - !*** ./node_modules/core-js/modules/_has.js ***! - \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -var hasOwnProperty = {}.hasOwnProperty; -module.exports = function (it, key) { - return hasOwnProperty.call(it, key); -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_hide.js": -/*!***********************************************!*\ - !*** ./node_modules/core-js/modules/_hide.js ***! - \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var dP = __webpack_require__(/*! ./_object-dp */ "./node_modules/core-js/modules/_object-dp.js"); -var createDesc = __webpack_require__(/*! ./_property-desc */ "./node_modules/core-js/modules/_property-desc.js"); -module.exports = __webpack_require__(/*! ./_descriptors */ "./node_modules/core-js/modules/_descriptors.js") ? function (object, key, value) { - return dP.f(object, key, createDesc(1, value)); -} : function (object, key, value) { - object[key] = value; - return object; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_html.js": -/*!***********************************************!*\ - !*** ./node_modules/core-js/modules/_html.js ***! - \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var document = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js").document; -module.exports = document && document.documentElement; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_ie8-dom-define.js": -/*!*********************************************************!*\ - !*** ./node_modules/core-js/modules/_ie8-dom-define.js ***! - \*********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -module.exports = !__webpack_require__(/*! ./_descriptors */ "./node_modules/core-js/modules/_descriptors.js") && !__webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js")(function () { - return Object.defineProperty(__webpack_require__(/*! ./_dom-create */ "./node_modules/core-js/modules/_dom-create.js")('div'), 'a', { get: function () { return 7; } }).a != 7; -}); - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_inherit-if-required.js": -/*!**************************************************************!*\ - !*** ./node_modules/core-js/modules/_inherit-if-required.js ***! - \**************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js"); -var setPrototypeOf = __webpack_require__(/*! ./_set-proto */ "./node_modules/core-js/modules/_set-proto.js").set; -module.exports = function (that, target, C) { - var S = target.constructor; - var P; - if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) { - setPrototypeOf(that, P); - } return that; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_iobject.js": -/*!**************************************************!*\ - !*** ./node_modules/core-js/modules/_iobject.js ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// fallback for non-array-like ES3 and non-enumerable old V8 strings -var cof = __webpack_require__(/*! ./_cof */ "./node_modules/core-js/modules/_cof.js"); -// eslint-disable-next-line no-prototype-builtins -module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) { - return cof(it) == 'String' ? it.split('') : Object(it); -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_is-array-iter.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/modules/_is-array-iter.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// check on default Array iterator -var Iterators = __webpack_require__(/*! ./_iterators */ "./node_modules/core-js/modules/_iterators.js"); -var ITERATOR = __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js")('iterator'); -var ArrayProto = Array.prototype; - -module.exports = function (it) { - return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it); -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_is-array.js": -/*!***************************************************!*\ - !*** ./node_modules/core-js/modules/_is-array.js ***! - \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// 7.2.2 IsArray(argument) -var cof = __webpack_require__(/*! ./_cof */ "./node_modules/core-js/modules/_cof.js"); -module.exports = Array.isArray || function isArray(arg) { - return cof(arg) == 'Array'; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_is-object.js": -/*!****************************************************!*\ - !*** ./node_modules/core-js/modules/_is-object.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = function (it) { - return typeof it === 'object' ? it !== null : typeof it === 'function'; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_iter-call.js": -/*!****************************************************!*\ - !*** ./node_modules/core-js/modules/_iter-call.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// call something on iterator step with safe closing on error -var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js"); -module.exports = function (iterator, fn, value, entries) { - try { - return entries ? fn(anObject(value)[0], value[1]) : fn(value); - // 7.4.6 IteratorClose(iterator, completion) - } catch (e) { - var ret = iterator['return']; - if (ret !== undefined) anObject(ret.call(iterator)); - throw e; - } -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_iter-create.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/modules/_iter-create.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var create = __webpack_require__(/*! ./_object-create */ "./node_modules/core-js/modules/_object-create.js"); -var descriptor = __webpack_require__(/*! ./_property-desc */ "./node_modules/core-js/modules/_property-desc.js"); -var setToStringTag = __webpack_require__(/*! ./_set-to-string-tag */ "./node_modules/core-js/modules/_set-to-string-tag.js"); -var IteratorPrototype = {}; - -// 25.1.2.1.1 %IteratorPrototype%[@@iterator]() -__webpack_require__(/*! ./_hide */ "./node_modules/core-js/modules/_hide.js")(IteratorPrototype, __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js")('iterator'), function () { return this; }); - -module.exports = function (Constructor, NAME, next) { - Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) }); - setToStringTag(Constructor, NAME + ' Iterator'); -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_iter-define.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/modules/_iter-define.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var LIBRARY = __webpack_require__(/*! ./_library */ "./node_modules/core-js/modules/_library.js"); -var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js"); -var redefine = __webpack_require__(/*! ./_redefine */ "./node_modules/core-js/modules/_redefine.js"); -var hide = __webpack_require__(/*! ./_hide */ "./node_modules/core-js/modules/_hide.js"); -var Iterators = __webpack_require__(/*! ./_iterators */ "./node_modules/core-js/modules/_iterators.js"); -var $iterCreate = __webpack_require__(/*! ./_iter-create */ "./node_modules/core-js/modules/_iter-create.js"); -var setToStringTag = __webpack_require__(/*! ./_set-to-string-tag */ "./node_modules/core-js/modules/_set-to-string-tag.js"); -var getPrototypeOf = __webpack_require__(/*! ./_object-gpo */ "./node_modules/core-js/modules/_object-gpo.js"); -var ITERATOR = __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js")('iterator'); -var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next` -var FF_ITERATOR = '@@iterator'; -var KEYS = 'keys'; -var VALUES = 'values'; - -var returnThis = function () { return this; }; - -module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) { - $iterCreate(Constructor, NAME, next); - var getMethod = function (kind) { - if (!BUGGY && kind in proto) return proto[kind]; - switch (kind) { - case KEYS: return function keys() { return new Constructor(this, kind); }; - case VALUES: return function values() { return new Constructor(this, kind); }; - } return function entries() { return new Constructor(this, kind); }; - }; - var TAG = NAME + ' Iterator'; - var DEF_VALUES = DEFAULT == VALUES; - var VALUES_BUG = false; - var proto = Base.prototype; - var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]; - var $default = $native || getMethod(DEFAULT); - var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined; - var $anyNative = NAME == 'Array' ? proto.entries || $native : $native; - var methods, key, IteratorPrototype; - // Fix native - if ($anyNative) { - IteratorPrototype = getPrototypeOf($anyNative.call(new Base())); - if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) { - // Set @@toStringTag to native iterators - setToStringTag(IteratorPrototype, TAG, true); - // fix for some old engines - if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis); - } - } - // fix Array#{values, @@iterator}.name in V8 / FF - if (DEF_VALUES && $native && $native.name !== VALUES) { - VALUES_BUG = true; - $default = function values() { return $native.call(this); }; - } - // Define iterator - if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) { - hide(proto, ITERATOR, $default); - } - // Plug for library - Iterators[NAME] = $default; - Iterators[TAG] = returnThis; - if (DEFAULT) { - methods = { - values: DEF_VALUES ? $default : getMethod(VALUES), - keys: IS_SET ? $default : getMethod(KEYS), - entries: $entries - }; - if (FORCED) for (key in methods) { - if (!(key in proto)) redefine(proto, key, methods[key]); - } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods); - } - return methods; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_iter-detect.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/modules/_iter-detect.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var ITERATOR = __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js")('iterator'); -var SAFE_CLOSING = false; - -try { - var riter = [7][ITERATOR](); - riter['return'] = function () { SAFE_CLOSING = true; }; - // eslint-disable-next-line no-throw-literal - Array.from(riter, function () { throw 2; }); -} catch (e) { /* empty */ } - -module.exports = function (exec, skipClosing) { - if (!skipClosing && !SAFE_CLOSING) return false; - var safe = false; - try { - var arr = [7]; - var iter = arr[ITERATOR](); - iter.next = function () { return { done: safe = true }; }; - arr[ITERATOR] = function () { return iter; }; - exec(arr); - } catch (e) { /* empty */ } - return safe; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_iter-step.js": -/*!****************************************************!*\ - !*** ./node_modules/core-js/modules/_iter-step.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = function (done, value) { - return { value: value, done: !!done }; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_iterators.js": -/*!****************************************************!*\ - !*** ./node_modules/core-js/modules/_iterators.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = {}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_library.js": -/*!**************************************************!*\ - !*** ./node_modules/core-js/modules/_library.js ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = false; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_meta.js": -/*!***********************************************!*\ - !*** ./node_modules/core-js/modules/_meta.js ***! - \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var META = __webpack_require__(/*! ./_uid */ "./node_modules/core-js/modules/_uid.js")('meta'); -var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js"); -var has = __webpack_require__(/*! ./_has */ "./node_modules/core-js/modules/_has.js"); -var setDesc = __webpack_require__(/*! ./_object-dp */ "./node_modules/core-js/modules/_object-dp.js").f; -var id = 0; -var isExtensible = Object.isExtensible || function () { - return true; -}; -var FREEZE = !__webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js")(function () { - return isExtensible(Object.preventExtensions({})); -}); -var setMeta = function (it) { - setDesc(it, META, { value: { - i: 'O' + ++id, // object ID - w: {} // weak collections IDs - } }); -}; -var fastKey = function (it, create) { - // return primitive with prefix - if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; - if (!has(it, META)) { - // can't set metadata to uncaught frozen object - if (!isExtensible(it)) return 'F'; - // not necessary to add metadata - if (!create) return 'E'; - // add missing metadata - setMeta(it); - // return object ID - } return it[META].i; -}; -var getWeak = function (it, create) { - if (!has(it, META)) { - // can't set metadata to uncaught frozen object - if (!isExtensible(it)) return true; - // not necessary to add metadata - if (!create) return false; - // add missing metadata - setMeta(it); - // return hash weak collections IDs - } return it[META].w; -}; -// add metadata on freeze-family methods calling -var onFreeze = function (it) { - if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it); - return it; -}; -var meta = module.exports = { - KEY: META, - NEED: false, - fastKey: fastKey, - getWeak: getWeak, - onFreeze: onFreeze -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_metadata.js": -/*!***************************************************!*\ - !*** ./node_modules/core-js/modules/_metadata.js ***! - \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var Map = __webpack_require__(/*! ./es6.map */ "./node_modules/core-js/modules/es6.map.js"); -var $export = __webpack_require__(/*! ./_export */ "./node_modules/core-js/modules/_export.js"); -var shared = __webpack_require__(/*! ./_shared */ "./node_modules/core-js/modules/_shared.js")('metadata'); -var store = shared.store || (shared.store = new (__webpack_require__(/*! ./es6.weak-map */ "./node_modules/core-js/modules/es6.weak-map.js"))()); - -var getOrCreateMetadataMap = function (target, targetKey, create) { - var targetMetadata = store.get(target); - if (!targetMetadata) { - if (!create) return undefined; - store.set(target, targetMetadata = new Map()); - } - var keyMetadata = targetMetadata.get(targetKey); - if (!keyMetadata) { - if (!create) return undefined; - targetMetadata.set(targetKey, keyMetadata = new Map()); - } return keyMetadata; -}; -var ordinaryHasOwnMetadata = function (MetadataKey, O, P) { - var metadataMap = getOrCreateMetadataMap(O, P, false); - return metadataMap === undefined ? false : metadataMap.has(MetadataKey); -}; -var ordinaryGetOwnMetadata = function (MetadataKey, O, P) { - var metadataMap = getOrCreateMetadataMap(O, P, false); - return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey); -}; -var ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) { - getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue); -}; -var ordinaryOwnMetadataKeys = function (target, targetKey) { - var metadataMap = getOrCreateMetadataMap(target, targetKey, false); - var keys = []; - if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); }); - return keys; -}; -var toMetaKey = function (it) { - return it === undefined || typeof it == 'symbol' ? it : String(it); -}; -var exp = function (O) { - $export($export.S, 'Reflect', O); -}; - -module.exports = { - store: store, - map: getOrCreateMetadataMap, - has: ordinaryHasOwnMetadata, - get: ordinaryGetOwnMetadata, - set: ordinaryDefineOwnMetadata, - keys: ordinaryOwnMetadataKeys, - key: toMetaKey, - exp: exp -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_object-assign.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/modules/_object-assign.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -// 19.1.2.1 Object.assign(target, source, ...) -var DESCRIPTORS = __webpack_require__(/*! ./_descriptors */ "./node_modules/core-js/modules/_descriptors.js"); -var getKeys = __webpack_require__(/*! ./_object-keys */ "./node_modules/core-js/modules/_object-keys.js"); -var gOPS = __webpack_require__(/*! ./_object-gops */ "./node_modules/core-js/modules/_object-gops.js"); -var pIE = __webpack_require__(/*! ./_object-pie */ "./node_modules/core-js/modules/_object-pie.js"); -var toObject = __webpack_require__(/*! ./_to-object */ "./node_modules/core-js/modules/_to-object.js"); -var IObject = __webpack_require__(/*! ./_iobject */ "./node_modules/core-js/modules/_iobject.js"); -var $assign = Object.assign; - -// should work with symbols and should have deterministic property order (V8 bug) -module.exports = !$assign || __webpack_require__(/*! ./_fails */ "./node_modules/core-js/modules/_fails.js")(function () { - var A = {}; - var B = {}; - // eslint-disable-next-line no-undef - var S = Symbol(); - var K = 'abcdefghijklmnopqrst'; - A[S] = 7; - K.split('').forEach(function (k) { B[k] = k; }); - return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K; -}) ? function assign(target, source) { // eslint-disable-line no-unused-vars - var T = toObject(target); - var aLen = arguments.length; - var index = 1; - var getSymbols = gOPS.f; - var isEnum = pIE.f; - while (aLen > index) { - var S = IObject(arguments[index++]); - var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S); - var length = keys.length; - var j = 0; - var key; - while (length > j) { - key = keys[j++]; - if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key]; - } - } return T; -} : $assign; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_object-create.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/modules/_object-create.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) -var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js"); -var dPs = __webpack_require__(/*! ./_object-dps */ "./node_modules/core-js/modules/_object-dps.js"); -var enumBugKeys = __webpack_require__(/*! ./_enum-bug-keys */ "./node_modules/core-js/modules/_enum-bug-keys.js"); -var IE_PROTO = __webpack_require__(/*! ./_shared-key */ "./node_modules/core-js/modules/_shared-key.js")('IE_PROTO'); -var Empty = function () { /* empty */ }; -var PROTOTYPE = 'prototype'; - -// Create object with fake `null` prototype: use iframe Object with cleared prototype -var createDict = function () { - // Thrash, waste and sodomy: IE GC bug - var iframe = __webpack_require__(/*! ./_dom-create */ "./node_modules/core-js/modules/_dom-create.js")('iframe'); - var i = enumBugKeys.length; - var lt = '<'; - var gt = '>'; - var iframeDocument; - iframe.style.display = 'none'; - __webpack_require__(/*! ./_html */ "./node_modules/core-js/modules/_html.js").appendChild(iframe); - iframe.src = 'javascript:'; // eslint-disable-line no-script-url - // createDict = iframe.contentWindow.Object; - // html.removeChild(iframe); - iframeDocument = iframe.contentWindow.document; - iframeDocument.open(); - iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt); - iframeDocument.close(); - createDict = iframeDocument.F; - while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]]; - return createDict(); -}; - -module.exports = Object.create || function create(O, Properties) { - var result; - if (O !== null) { - Empty[PROTOTYPE] = anObject(O); - result = new Empty(); - Empty[PROTOTYPE] = null; - // add "__proto__" for Object.getPrototypeOf polyfill - result[IE_PROTO] = O; - } else result = createDict(); - return Properties === undefined ? result : dPs(result, Properties); -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_object-dp.js": -/*!****************************************************!*\ - !*** ./node_modules/core-js/modules/_object-dp.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js"); -var IE8_DOM_DEFINE = __webpack_require__(/*! ./_ie8-dom-define */ "./node_modules/core-js/modules/_ie8-dom-define.js"); -var toPrimitive = __webpack_require__(/*! ./_to-primitive */ "./node_modules/core-js/modules/_to-primitive.js"); -var dP = Object.defineProperty; - -exports.f = __webpack_require__(/*! ./_descriptors */ "./node_modules/core-js/modules/_descriptors.js") ? Object.defineProperty : function defineProperty(O, P, Attributes) { - anObject(O); - P = toPrimitive(P, true); - anObject(Attributes); - if (IE8_DOM_DEFINE) try { - return dP(O, P, Attributes); - } catch (e) { /* empty */ } - if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!'); - if ('value' in Attributes) O[P] = Attributes.value; - return O; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_object-dps.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/modules/_object-dps.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var dP = __webpack_require__(/*! ./_object-dp */ "./node_modules/core-js/modules/_object-dp.js"); -var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js"); -var getKeys = __webpack_require__(/*! ./_object-keys */ "./node_modules/core-js/modules/_object-keys.js"); - -module.exports = __webpack_require__(/*! ./_descriptors */ "./node_modules/core-js/modules/_descriptors.js") ? Object.defineProperties : function defineProperties(O, Properties) { - anObject(O); - var keys = getKeys(Properties); - var length = keys.length; - var i = 0; - var P; - while (length > i) dP.f(O, P = keys[i++], Properties[P]); - return O; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_object-gopd.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/modules/_object-gopd.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var pIE = __webpack_require__(/*! ./_object-pie */ "./node_modules/core-js/modules/_object-pie.js"); -var createDesc = __webpack_require__(/*! ./_property-desc */ "./node_modules/core-js/modules/_property-desc.js"); -var toIObject = __webpack_require__(/*! ./_to-iobject */ "./node_modules/core-js/modules/_to-iobject.js"); -var toPrimitive = __webpack_require__(/*! ./_to-primitive */ "./node_modules/core-js/modules/_to-primitive.js"); -var has = __webpack_require__(/*! ./_has */ "./node_modules/core-js/modules/_has.js"); -var IE8_DOM_DEFINE = __webpack_require__(/*! ./_ie8-dom-define */ "./node_modules/core-js/modules/_ie8-dom-define.js"); -var gOPD = Object.getOwnPropertyDescriptor; - -exports.f = __webpack_require__(/*! ./_descriptors */ "./node_modules/core-js/modules/_descriptors.js") ? gOPD : function getOwnPropertyDescriptor(O, P) { - O = toIObject(O); - P = toPrimitive(P, true); - if (IE8_DOM_DEFINE) try { - return gOPD(O, P); - } catch (e) { /* empty */ } - if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]); -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_object-gops.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/modules/_object-gops.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -exports.f = Object.getOwnPropertySymbols; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_object-gpo.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/modules/_object-gpo.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) -var has = __webpack_require__(/*! ./_has */ "./node_modules/core-js/modules/_has.js"); -var toObject = __webpack_require__(/*! ./_to-object */ "./node_modules/core-js/modules/_to-object.js"); -var IE_PROTO = __webpack_require__(/*! ./_shared-key */ "./node_modules/core-js/modules/_shared-key.js")('IE_PROTO'); -var ObjectProto = Object.prototype; - -module.exports = Object.getPrototypeOf || function (O) { - O = toObject(O); - if (has(O, IE_PROTO)) return O[IE_PROTO]; - if (typeof O.constructor == 'function' && O instanceof O.constructor) { - return O.constructor.prototype; - } return O instanceof Object ? ObjectProto : null; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_object-keys-internal.js": -/*!***************************************************************!*\ - !*** ./node_modules/core-js/modules/_object-keys-internal.js ***! - \***************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var has = __webpack_require__(/*! ./_has */ "./node_modules/core-js/modules/_has.js"); -var toIObject = __webpack_require__(/*! ./_to-iobject */ "./node_modules/core-js/modules/_to-iobject.js"); -var arrayIndexOf = __webpack_require__(/*! ./_array-includes */ "./node_modules/core-js/modules/_array-includes.js")(false); -var IE_PROTO = __webpack_require__(/*! ./_shared-key */ "./node_modules/core-js/modules/_shared-key.js")('IE_PROTO'); - -module.exports = function (object, names) { - var O = toIObject(object); - var i = 0; - var result = []; - var key; - for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key); - // Don't enum bug & hidden keys - while (names.length > i) if (has(O, key = names[i++])) { - ~arrayIndexOf(result, key) || result.push(key); - } - return result; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_object-keys.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/modules/_object-keys.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// 19.1.2.14 / 15.2.3.14 Object.keys(O) -var $keys = __webpack_require__(/*! ./_object-keys-internal */ "./node_modules/core-js/modules/_object-keys-internal.js"); -var enumBugKeys = __webpack_require__(/*! ./_enum-bug-keys */ "./node_modules/core-js/modules/_enum-bug-keys.js"); - -module.exports = Object.keys || function keys(O) { - return $keys(O, enumBugKeys); -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_object-pie.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/modules/_object-pie.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -exports.f = {}.propertyIsEnumerable; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_property-desc.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/modules/_property-desc.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = function (bitmap, value) { - return { - enumerable: !(bitmap & 1), - configurable: !(bitmap & 2), - writable: !(bitmap & 4), - value: value - }; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_redefine-all.js": -/*!*******************************************************!*\ - !*** ./node_modules/core-js/modules/_redefine-all.js ***! - \*******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var redefine = __webpack_require__(/*! ./_redefine */ "./node_modules/core-js/modules/_redefine.js"); -module.exports = function (target, src, safe) { - for (var key in src) redefine(target, key, src[key], safe); - return target; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_redefine.js": -/*!***************************************************!*\ - !*** ./node_modules/core-js/modules/_redefine.js ***! - \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var global = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js"); -var hide = __webpack_require__(/*! ./_hide */ "./node_modules/core-js/modules/_hide.js"); -var has = __webpack_require__(/*! ./_has */ "./node_modules/core-js/modules/_has.js"); -var SRC = __webpack_require__(/*! ./_uid */ "./node_modules/core-js/modules/_uid.js")('src'); -var $toString = __webpack_require__(/*! ./_function-to-string */ "./node_modules/core-js/modules/_function-to-string.js"); -var TO_STRING = 'toString'; -var TPL = ('' + $toString).split(TO_STRING); - -__webpack_require__(/*! ./_core */ "./node_modules/core-js/modules/_core.js").inspectSource = function (it) { - return $toString.call(it); -}; - -(module.exports = function (O, key, val, safe) { - var isFunction = typeof val == 'function'; - if (isFunction) has(val, 'name') || hide(val, 'name', key); - if (O[key] === val) return; - if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key))); - if (O === global) { - O[key] = val; - } else if (!safe) { - delete O[key]; - hide(O, key, val); - } else if (O[key]) { - O[key] = val; - } else { - hide(O, key, val); - } -// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative -})(Function.prototype, TO_STRING, function toString() { - return typeof this == 'function' && this[SRC] || $toString.call(this); -}); - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_set-proto.js": -/*!****************************************************!*\ - !*** ./node_modules/core-js/modules/_set-proto.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// Works with __proto__ only. Old v8 can't work with null proto objects. -/* eslint-disable no-proto */ -var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js"); -var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js"); -var check = function (O, proto) { - anObject(O); - if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!"); -}; -module.exports = { - set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line - function (test, buggy, set) { - try { - set = __webpack_require__(/*! ./_ctx */ "./node_modules/core-js/modules/_ctx.js")(Function.call, __webpack_require__(/*! ./_object-gopd */ "./node_modules/core-js/modules/_object-gopd.js").f(Object.prototype, '__proto__').set, 2); - set(test, []); - buggy = !(test instanceof Array); - } catch (e) { buggy = true; } - return function setPrototypeOf(O, proto) { - check(O, proto); - if (buggy) O.__proto__ = proto; - else set(O, proto); - return O; - }; - }({}, false) : undefined), - check: check -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_set-species.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/modules/_set-species.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var global = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js"); -var dP = __webpack_require__(/*! ./_object-dp */ "./node_modules/core-js/modules/_object-dp.js"); -var DESCRIPTORS = __webpack_require__(/*! ./_descriptors */ "./node_modules/core-js/modules/_descriptors.js"); -var SPECIES = __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js")('species'); - -module.exports = function (KEY) { - var C = global[KEY]; - if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, { - configurable: true, - get: function () { return this; } - }); -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_set-to-string-tag.js": -/*!************************************************************!*\ - !*** ./node_modules/core-js/modules/_set-to-string-tag.js ***! - \************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var def = __webpack_require__(/*! ./_object-dp */ "./node_modules/core-js/modules/_object-dp.js").f; -var has = __webpack_require__(/*! ./_has */ "./node_modules/core-js/modules/_has.js"); -var TAG = __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js")('toStringTag'); - -module.exports = function (it, tag, stat) { - if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag }); -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_shared-key.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/modules/_shared-key.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var shared = __webpack_require__(/*! ./_shared */ "./node_modules/core-js/modules/_shared.js")('keys'); -var uid = __webpack_require__(/*! ./_uid */ "./node_modules/core-js/modules/_uid.js"); -module.exports = function (key) { - return shared[key] || (shared[key] = uid(key)); -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_shared.js": -/*!*************************************************!*\ - !*** ./node_modules/core-js/modules/_shared.js ***! - \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var core = __webpack_require__(/*! ./_core */ "./node_modules/core-js/modules/_core.js"); -var global = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js"); -var SHARED = '__core-js_shared__'; -var store = global[SHARED] || (global[SHARED] = {}); - -(module.exports = function (key, value) { - return store[key] || (store[key] = value !== undefined ? value : {}); -})('versions', []).push({ - version: core.version, - mode: __webpack_require__(/*! ./_library */ "./node_modules/core-js/modules/_library.js") ? 'pure' : 'global', - copyright: '© 2020 Denis Pushkarev (zloirock.ru)' -}); - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_to-absolute-index.js": -/*!************************************************************!*\ - !*** ./node_modules/core-js/modules/_to-absolute-index.js ***! - \************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var toInteger = __webpack_require__(/*! ./_to-integer */ "./node_modules/core-js/modules/_to-integer.js"); -var max = Math.max; -var min = Math.min; -module.exports = function (index, length) { - index = toInteger(index); - return index < 0 ? max(index + length, 0) : min(index, length); -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_to-integer.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/modules/_to-integer.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -// 7.1.4 ToInteger -var ceil = Math.ceil; -var floor = Math.floor; -module.exports = function (it) { - return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_to-iobject.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/modules/_to-iobject.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// to indexed object, toObject with fallback for non-array-like ES3 strings -var IObject = __webpack_require__(/*! ./_iobject */ "./node_modules/core-js/modules/_iobject.js"); -var defined = __webpack_require__(/*! ./_defined */ "./node_modules/core-js/modules/_defined.js"); -module.exports = function (it) { - return IObject(defined(it)); -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_to-length.js": -/*!****************************************************!*\ - !*** ./node_modules/core-js/modules/_to-length.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// 7.1.15 ToLength -var toInteger = __webpack_require__(/*! ./_to-integer */ "./node_modules/core-js/modules/_to-integer.js"); -var min = Math.min; -module.exports = function (it) { - return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_to-object.js": -/*!****************************************************!*\ - !*** ./node_modules/core-js/modules/_to-object.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// 7.1.13 ToObject(argument) -var defined = __webpack_require__(/*! ./_defined */ "./node_modules/core-js/modules/_defined.js"); -module.exports = function (it) { - return Object(defined(it)); -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_to-primitive.js": -/*!*******************************************************!*\ - !*** ./node_modules/core-js/modules/_to-primitive.js ***! - \*******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -// 7.1.1 ToPrimitive(input [, PreferredType]) -var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js"); -// instead of the ES6 spec version, we didn't implement @@toPrimitive case -// and the second argument - flag - preferred type is a string -module.exports = function (it, S) { - if (!isObject(it)) return it; - var fn, val; - if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; - if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val; - if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; - throw TypeError("Can't convert object to primitive value"); -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_uid.js": -/*!**********************************************!*\ - !*** ./node_modules/core-js/modules/_uid.js ***! - \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -var id = 0; -var px = Math.random(); -module.exports = function (key) { - return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_validate-collection.js": -/*!**************************************************************!*\ - !*** ./node_modules/core-js/modules/_validate-collection.js ***! - \**************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js"); -module.exports = function (it, TYPE) { - if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!'); - return it; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/_wks.js": -/*!**********************************************!*\ - !*** ./node_modules/core-js/modules/_wks.js ***! - \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var store = __webpack_require__(/*! ./_shared */ "./node_modules/core-js/modules/_shared.js")('wks'); -var uid = __webpack_require__(/*! ./_uid */ "./node_modules/core-js/modules/_uid.js"); -var Symbol = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js").Symbol; -var USE_SYMBOL = typeof Symbol == 'function'; - -var $exports = module.exports = function (name) { - return store[name] || (store[name] = - USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name)); -}; - -$exports.store = store; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/core.get-iterator-method.js": -/*!******************************************************************!*\ - !*** ./node_modules/core-js/modules/core.get-iterator-method.js ***! - \******************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var classof = __webpack_require__(/*! ./_classof */ "./node_modules/core-js/modules/_classof.js"); -var ITERATOR = __webpack_require__(/*! ./_wks */ "./node_modules/core-js/modules/_wks.js")('iterator'); -var Iterators = __webpack_require__(/*! ./_iterators */ "./node_modules/core-js/modules/_iterators.js"); -module.exports = __webpack_require__(/*! ./_core */ "./node_modules/core-js/modules/_core.js").getIteratorMethod = function (it) { - if (it != undefined) return it[ITERATOR] - || it['@@iterator'] - || Iterators[classof(it)]; -}; - - -/***/ }), - -/***/ "./node_modules/core-js/modules/es6.map.js": -/*!*************************************************!*\ - !*** ./node_modules/core-js/modules/es6.map.js ***! - \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var strong = __webpack_require__(/*! ./_collection-strong */ "./node_modules/core-js/modules/_collection-strong.js"); -var validate = __webpack_require__(/*! ./_validate-collection */ "./node_modules/core-js/modules/_validate-collection.js"); -var MAP = 'Map'; - -// 23.1 Map Objects -module.exports = __webpack_require__(/*! ./_collection */ "./node_modules/core-js/modules/_collection.js")(MAP, function (get) { - return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; -}, { - // 23.1.3.6 Map.prototype.get(key) - get: function get(key) { - var entry = strong.getEntry(validate(this, MAP), key); - return entry && entry.v; - }, - // 23.1.3.9 Map.prototype.set(key, value) - set: function set(key, value) { - return strong.def(validate(this, MAP), key === 0 ? 0 : key, value); - } -}, strong, true); - - -/***/ }), - -/***/ "./node_modules/core-js/modules/es6.set.js": -/*!*************************************************!*\ - !*** ./node_modules/core-js/modules/es6.set.js ***! - \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var strong = __webpack_require__(/*! ./_collection-strong */ "./node_modules/core-js/modules/_collection-strong.js"); -var validate = __webpack_require__(/*! ./_validate-collection */ "./node_modules/core-js/modules/_validate-collection.js"); -var SET = 'Set'; - -// 23.2 Set Objects -module.exports = __webpack_require__(/*! ./_collection */ "./node_modules/core-js/modules/_collection.js")(SET, function (get) { - return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; -}, { - // 23.2.3.1 Set.prototype.add(value) - add: function add(value) { - return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value); - } -}, strong); - - -/***/ }), - -/***/ "./node_modules/core-js/modules/es6.weak-map.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/modules/es6.weak-map.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var global = __webpack_require__(/*! ./_global */ "./node_modules/core-js/modules/_global.js"); -var each = __webpack_require__(/*! ./_array-methods */ "./node_modules/core-js/modules/_array-methods.js")(0); -var redefine = __webpack_require__(/*! ./_redefine */ "./node_modules/core-js/modules/_redefine.js"); -var meta = __webpack_require__(/*! ./_meta */ "./node_modules/core-js/modules/_meta.js"); -var assign = __webpack_require__(/*! ./_object-assign */ "./node_modules/core-js/modules/_object-assign.js"); -var weak = __webpack_require__(/*! ./_collection-weak */ "./node_modules/core-js/modules/_collection-weak.js"); -var isObject = __webpack_require__(/*! ./_is-object */ "./node_modules/core-js/modules/_is-object.js"); -var validate = __webpack_require__(/*! ./_validate-collection */ "./node_modules/core-js/modules/_validate-collection.js"); -var NATIVE_WEAK_MAP = __webpack_require__(/*! ./_validate-collection */ "./node_modules/core-js/modules/_validate-collection.js"); -var IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global; -var WEAK_MAP = 'WeakMap'; -var getWeak = meta.getWeak; -var isExtensible = Object.isExtensible; -var uncaughtFrozenStore = weak.ufstore; -var InternalMap; - -var wrapper = function (get) { - return function WeakMap() { - return get(this, arguments.length > 0 ? arguments[0] : undefined); - }; -}; - -var methods = { - // 23.3.3.3 WeakMap.prototype.get(key) - get: function get(key) { - if (isObject(key)) { - var data = getWeak(key); - if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key); - return data ? data[this._i] : undefined; - } - }, - // 23.3.3.5 WeakMap.prototype.set(key, value) - set: function set(key, value) { - return weak.def(validate(this, WEAK_MAP), key, value); - } -}; - -// 23.3 WeakMap Objects -var $WeakMap = module.exports = __webpack_require__(/*! ./_collection */ "./node_modules/core-js/modules/_collection.js")(WEAK_MAP, wrapper, methods, weak, true, true); - -// IE11 WeakMap frozen keys fix -if (NATIVE_WEAK_MAP && IS_IE11) { - InternalMap = weak.getConstructor(wrapper, WEAK_MAP); - assign(InternalMap.prototype, methods); - meta.NEED = true; - each(['delete', 'has', 'get', 'set'], function (key) { - var proto = $WeakMap.prototype; - var method = proto[key]; - redefine(proto, key, function (a, b) { - // store frozen objects on internal weakmap shim - if (isObject(a) && !isExtensible(a)) { - if (!this._f) this._f = new InternalMap(); - var result = this._f[key](a, b); - return key == 'set' ? this : result; - // store all the rest on native weakmap - } return method.call(this, a, b); - }); - }); -} - - -/***/ }), - -/***/ "./node_modules/core-js/modules/es7.reflect.define-metadata.js": -/*!*********************************************************************!*\ - !*** ./node_modules/core-js/modules/es7.reflect.define-metadata.js ***! - \*********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var metadata = __webpack_require__(/*! ./_metadata */ "./node_modules/core-js/modules/_metadata.js"); -var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js"); -var toMetaKey = metadata.key; -var ordinaryDefineOwnMetadata = metadata.set; - -metadata.exp({ defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) { - ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey)); -} }); - - -/***/ }), - -/***/ "./node_modules/core-js/modules/es7.reflect.delete-metadata.js": -/*!*********************************************************************!*\ - !*** ./node_modules/core-js/modules/es7.reflect.delete-metadata.js ***! - \*********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var metadata = __webpack_require__(/*! ./_metadata */ "./node_modules/core-js/modules/_metadata.js"); -var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js"); -var toMetaKey = metadata.key; -var getOrCreateMetadataMap = metadata.map; -var store = metadata.store; - -metadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) { - var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]); - var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false); - if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false; - if (metadataMap.size) return true; - var targetMetadata = store.get(target); - targetMetadata['delete'](targetKey); - return !!targetMetadata.size || store['delete'](target); -} }); - - -/***/ }), - -/***/ "./node_modules/core-js/modules/es7.reflect.get-metadata-keys.js": -/*!***********************************************************************!*\ - !*** ./node_modules/core-js/modules/es7.reflect.get-metadata-keys.js ***! - \***********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var Set = __webpack_require__(/*! ./es6.set */ "./node_modules/core-js/modules/es6.set.js"); -var from = __webpack_require__(/*! ./_array-from-iterable */ "./node_modules/core-js/modules/_array-from-iterable.js"); -var metadata = __webpack_require__(/*! ./_metadata */ "./node_modules/core-js/modules/_metadata.js"); -var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js"); -var getPrototypeOf = __webpack_require__(/*! ./_object-gpo */ "./node_modules/core-js/modules/_object-gpo.js"); -var ordinaryOwnMetadataKeys = metadata.keys; -var toMetaKey = metadata.key; - -var ordinaryMetadataKeys = function (O, P) { - var oKeys = ordinaryOwnMetadataKeys(O, P); - var parent = getPrototypeOf(O); - if (parent === null) return oKeys; - var pKeys = ordinaryMetadataKeys(parent, P); - return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys; -}; - -metadata.exp({ getMetadataKeys: function getMetadataKeys(target /* , targetKey */) { - return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1])); -} }); - - -/***/ }), - -/***/ "./node_modules/core-js/modules/es7.reflect.get-metadata.js": -/*!******************************************************************!*\ - !*** ./node_modules/core-js/modules/es7.reflect.get-metadata.js ***! - \******************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var metadata = __webpack_require__(/*! ./_metadata */ "./node_modules/core-js/modules/_metadata.js"); -var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js"); -var getPrototypeOf = __webpack_require__(/*! ./_object-gpo */ "./node_modules/core-js/modules/_object-gpo.js"); -var ordinaryHasOwnMetadata = metadata.has; -var ordinaryGetOwnMetadata = metadata.get; -var toMetaKey = metadata.key; - -var ordinaryGetMetadata = function (MetadataKey, O, P) { - var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); - if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P); - var parent = getPrototypeOf(O); - return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined; -}; - -metadata.exp({ getMetadata: function getMetadata(metadataKey, target /* , targetKey */) { - return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2])); -} }); - - -/***/ }), - -/***/ "./node_modules/core-js/modules/es7.reflect.get-own-metadata-keys.js": -/*!***************************************************************************!*\ - !*** ./node_modules/core-js/modules/es7.reflect.get-own-metadata-keys.js ***! - \***************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var metadata = __webpack_require__(/*! ./_metadata */ "./node_modules/core-js/modules/_metadata.js"); -var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js"); -var ordinaryOwnMetadataKeys = metadata.keys; -var toMetaKey = metadata.key; - -metadata.exp({ getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) { - return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1])); -} }); - - -/***/ }), - -/***/ "./node_modules/core-js/modules/es7.reflect.get-own-metadata.js": -/*!**********************************************************************!*\ - !*** ./node_modules/core-js/modules/es7.reflect.get-own-metadata.js ***! - \**********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var metadata = __webpack_require__(/*! ./_metadata */ "./node_modules/core-js/modules/_metadata.js"); -var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js"); -var ordinaryGetOwnMetadata = metadata.get; -var toMetaKey = metadata.key; - -metadata.exp({ getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) { - return ordinaryGetOwnMetadata(metadataKey, anObject(target) - , arguments.length < 3 ? undefined : toMetaKey(arguments[2])); -} }); - - -/***/ }), - -/***/ "./node_modules/core-js/modules/es7.reflect.has-metadata.js": -/*!******************************************************************!*\ - !*** ./node_modules/core-js/modules/es7.reflect.has-metadata.js ***! - \******************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var metadata = __webpack_require__(/*! ./_metadata */ "./node_modules/core-js/modules/_metadata.js"); -var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js"); -var getPrototypeOf = __webpack_require__(/*! ./_object-gpo */ "./node_modules/core-js/modules/_object-gpo.js"); -var ordinaryHasOwnMetadata = metadata.has; -var toMetaKey = metadata.key; - -var ordinaryHasMetadata = function (MetadataKey, O, P) { - var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); - if (hasOwn) return true; - var parent = getPrototypeOf(O); - return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false; -}; - -metadata.exp({ hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) { - return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2])); -} }); - - -/***/ }), - -/***/ "./node_modules/core-js/modules/es7.reflect.has-own-metadata.js": -/*!**********************************************************************!*\ - !*** ./node_modules/core-js/modules/es7.reflect.has-own-metadata.js ***! - \**********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var metadata = __webpack_require__(/*! ./_metadata */ "./node_modules/core-js/modules/_metadata.js"); -var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js"); -var ordinaryHasOwnMetadata = metadata.has; -var toMetaKey = metadata.key; - -metadata.exp({ hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) { - return ordinaryHasOwnMetadata(metadataKey, anObject(target) - , arguments.length < 3 ? undefined : toMetaKey(arguments[2])); -} }); - - -/***/ }), - -/***/ "./node_modules/core-js/modules/es7.reflect.metadata.js": -/*!**************************************************************!*\ - !*** ./node_modules/core-js/modules/es7.reflect.metadata.js ***! - \**************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var $metadata = __webpack_require__(/*! ./_metadata */ "./node_modules/core-js/modules/_metadata.js"); -var anObject = __webpack_require__(/*! ./_an-object */ "./node_modules/core-js/modules/_an-object.js"); -var aFunction = __webpack_require__(/*! ./_a-function */ "./node_modules/core-js/modules/_a-function.js"); -var toMetaKey = $metadata.key; -var ordinaryDefineOwnMetadata = $metadata.set; - -$metadata.exp({ metadata: function metadata(metadataKey, metadataValue) { - return function decorator(target, targetKey) { - ordinaryDefineOwnMetadata( - metadataKey, metadataValue, - (targetKey !== undefined ? anObject : aFunction)(target), - toMetaKey(targetKey) - ); - }; -} }); - - -/***/ }), - -/***/ "./node_modules/zone.js/dist/zone.js": -/*!*******************************************!*\ - !*** ./node_modules/zone.js/dist/zone.js ***! - \*******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -/** -* @license -* Copyright Google Inc. All Rights Reserved. -* -* Use of this source code is governed by an MIT-style license that can be -* found in the LICENSE file at https://angular.io/license -*/ -(function (global, factory) { - true ? factory() : - undefined; -}(this, (function () { 'use strict'; - -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -var Zone$1 = (function (global) { - var performance = global['performance']; - function mark(name) { - performance && performance['mark'] && performance['mark'](name); - } - function performanceMeasure(name, label) { - performance && performance['measure'] && performance['measure'](name, label); - } - mark('Zone'); - var checkDuplicate = global[('__zone_symbol__forceDuplicateZoneCheck')] === true; - if (global['Zone']) { - // if global['Zone'] already exists (maybe zone.js was already loaded or - // some other lib also registered a global object named Zone), we may need - // to throw an error, but sometimes user may not want this error. - // For example, - // we have two web pages, page1 includes zone.js, page2 doesn't. - // and the 1st time user load page1 and page2, everything work fine, - // but when user load page2 again, error occurs because global['Zone'] already exists. - // so we add a flag to let user choose whether to throw this error or not. - // By default, if existing Zone is from zone.js, we will not throw the error. - if (checkDuplicate || typeof global['Zone'].__symbol__ !== 'function') { - throw new Error('Zone already loaded.'); - } - else { - return global['Zone']; - } - } - var Zone = /** @class */ (function () { - function Zone(parent, zoneSpec) { - this._parent = parent; - this._name = zoneSpec ? zoneSpec.name || 'unnamed' : ''; - this._properties = zoneSpec && zoneSpec.properties || {}; - this._zoneDelegate = - new ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec); - } - Zone.assertZonePatched = function () { - if (global['Promise'] !== patches['ZoneAwarePromise']) { - throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' + - 'has been overwritten.\n' + - 'Most likely cause is that a Promise polyfill has been loaded ' + - 'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' + - 'If you must load one, do so before loading zone.js.)'); - } - }; - Object.defineProperty(Zone, "root", { - get: function () { - var zone = Zone.current; - while (zone.parent) { - zone = zone.parent; - } - return zone; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(Zone, "current", { - get: function () { - return _currentZoneFrame.zone; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(Zone, "currentTask", { - get: function () { - return _currentTask; - }, - enumerable: true, - configurable: true - }); - Zone.__load_patch = function (name, fn) { - if (patches.hasOwnProperty(name)) { - if (checkDuplicate) { - throw Error('Already loaded patch: ' + name); - } - } - else if (!global['__Zone_disable_' + name]) { - var perfName = 'Zone:' + name; - mark(perfName); - patches[name] = fn(global, Zone, _api); - performanceMeasure(perfName, perfName); - } - }; - Object.defineProperty(Zone.prototype, "parent", { - get: function () { - return this._parent; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(Zone.prototype, "name", { - get: function () { - return this._name; - }, - enumerable: true, - configurable: true - }); - Zone.prototype.get = function (key) { - var zone = this.getZoneWith(key); - if (zone) - return zone._properties[key]; - }; - Zone.prototype.getZoneWith = function (key) { - var current = this; - while (current) { - if (current._properties.hasOwnProperty(key)) { - return current; - } - current = current._parent; - } - return null; - }; - Zone.prototype.fork = function (zoneSpec) { - if (!zoneSpec) - throw new Error('ZoneSpec required!'); - return this._zoneDelegate.fork(this, zoneSpec); - }; - Zone.prototype.wrap = function (callback, source) { - if (typeof callback !== 'function') { - throw new Error('Expecting function got: ' + callback); - } - var _callback = this._zoneDelegate.intercept(this, callback, source); - var zone = this; - return function () { - return zone.runGuarded(_callback, this, arguments, source); - }; - }; - Zone.prototype.run = function (callback, applyThis, applyArgs, source) { - _currentZoneFrame = { parent: _currentZoneFrame, zone: this }; - try { - return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source); - } - finally { - _currentZoneFrame = _currentZoneFrame.parent; - } - }; - Zone.prototype.runGuarded = function (callback, applyThis, applyArgs, source) { - if (applyThis === void 0) { applyThis = null; } - _currentZoneFrame = { parent: _currentZoneFrame, zone: this }; - try { - try { - return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source); - } - catch (error) { - if (this._zoneDelegate.handleError(this, error)) { - throw error; - } - } - } - finally { - _currentZoneFrame = _currentZoneFrame.parent; - } - }; - Zone.prototype.runTask = function (task, applyThis, applyArgs) { - if (task.zone != this) { - throw new Error('A task can only be run in the zone of creation! (Creation: ' + - (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')'); - } - // https://github.com/angular/zone.js/issues/778, sometimes eventTask - // will run in notScheduled(canceled) state, we should not try to - // run such kind of task but just return - if (task.state === notScheduled && (task.type === eventTask || task.type === macroTask)) { - return; - } - var reEntryGuard = task.state != running; - reEntryGuard && task._transitionTo(running, scheduled); - task.runCount++; - var previousTask = _currentTask; - _currentTask = task; - _currentZoneFrame = { parent: _currentZoneFrame, zone: this }; - try { - if (task.type == macroTask && task.data && !task.data.isPeriodic) { - task.cancelFn = undefined; - } - try { - return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs); - } - catch (error) { - if (this._zoneDelegate.handleError(this, error)) { - throw error; - } - } - } - finally { - // if the task's state is notScheduled or unknown, then it has already been cancelled - // we should not reset the state to scheduled - if (task.state !== notScheduled && task.state !== unknown) { - if (task.type == eventTask || (task.data && task.data.isPeriodic)) { - reEntryGuard && task._transitionTo(scheduled, running); - } - else { - task.runCount = 0; - this._updateTaskCount(task, -1); - reEntryGuard && - task._transitionTo(notScheduled, running, notScheduled); - } - } - _currentZoneFrame = _currentZoneFrame.parent; - _currentTask = previousTask; - } - }; - Zone.prototype.scheduleTask = function (task) { - if (task.zone && task.zone !== this) { - // check if the task was rescheduled, the newZone - // should not be the children of the original zone - var newZone = this; - while (newZone) { - if (newZone === task.zone) { - throw Error("can not reschedule task to " + this.name + " which is descendants of the original zone " + task.zone.name); - } - newZone = newZone.parent; - } - } - task._transitionTo(scheduling, notScheduled); - var zoneDelegates = []; - task._zoneDelegates = zoneDelegates; - task._zone = this; - try { - task = this._zoneDelegate.scheduleTask(this, task); - } - catch (err) { - // should set task's state to unknown when scheduleTask throw error - // because the err may from reschedule, so the fromState maybe notScheduled - task._transitionTo(unknown, scheduling, notScheduled); - // TODO: @JiaLiPassion, should we check the result from handleError? - this._zoneDelegate.handleError(this, err); - throw err; - } - if (task._zoneDelegates === zoneDelegates) { - // we have to check because internally the delegate can reschedule the task. - this._updateTaskCount(task, 1); - } - if (task.state == scheduling) { - task._transitionTo(scheduled, scheduling); - } - return task; - }; - Zone.prototype.scheduleMicroTask = function (source, callback, data, customSchedule) { - return this.scheduleTask(new ZoneTask(microTask, source, callback, data, customSchedule, undefined)); - }; - Zone.prototype.scheduleMacroTask = function (source, callback, data, customSchedule, customCancel) { - return this.scheduleTask(new ZoneTask(macroTask, source, callback, data, customSchedule, customCancel)); - }; - Zone.prototype.scheduleEventTask = function (source, callback, data, customSchedule, customCancel) { - return this.scheduleTask(new ZoneTask(eventTask, source, callback, data, customSchedule, customCancel)); - }; - Zone.prototype.cancelTask = function (task) { - if (task.zone != this) - throw new Error('A task can only be cancelled in the zone of creation! (Creation: ' + - (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')'); - task._transitionTo(canceling, scheduled, running); - try { - this._zoneDelegate.cancelTask(this, task); - } - catch (err) { - // if error occurs when cancelTask, transit the state to unknown - task._transitionTo(unknown, canceling); - this._zoneDelegate.handleError(this, err); - throw err; - } - this._updateTaskCount(task, -1); - task._transitionTo(notScheduled, canceling); - task.runCount = 0; - return task; - }; - Zone.prototype._updateTaskCount = function (task, count) { - var zoneDelegates = task._zoneDelegates; - if (count == -1) { - task._zoneDelegates = null; - } - for (var i = 0; i < zoneDelegates.length; i++) { - zoneDelegates[i]._updateTaskCount(task.type, count); - } - }; - Zone.__symbol__ = __symbol__; - return Zone; - }()); - var DELEGATE_ZS = { - name: '', - onHasTask: function (delegate, _, target, hasTaskState) { return delegate.hasTask(target, hasTaskState); }, - onScheduleTask: function (delegate, _, target, task) { - return delegate.scheduleTask(target, task); - }, - onInvokeTask: function (delegate, _, target, task, applyThis, applyArgs) { - return delegate.invokeTask(target, task, applyThis, applyArgs); - }, - onCancelTask: function (delegate, _, target, task) { return delegate.cancelTask(target, task); } - }; - var ZoneDelegate = /** @class */ (function () { - function ZoneDelegate(zone, parentDelegate, zoneSpec) { - this._taskCounts = { 'microTask': 0, 'macroTask': 0, 'eventTask': 0 }; - this.zone = zone; - this._parentDelegate = parentDelegate; - this._forkZS = zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS); - this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt); - this._forkCurrZone = zoneSpec && (zoneSpec.onFork ? this.zone : parentDelegate.zone); - this._interceptZS = - zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS); - this._interceptDlgt = - zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt); - this._interceptCurrZone = - zoneSpec && (zoneSpec.onIntercept ? this.zone : parentDelegate.zone); - this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS); - this._invokeDlgt = - zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt); - this._invokeCurrZone = zoneSpec && (zoneSpec.onInvoke ? this.zone : parentDelegate.zone); - this._handleErrorZS = - zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS); - this._handleErrorDlgt = - zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt); - this._handleErrorCurrZone = - zoneSpec && (zoneSpec.onHandleError ? this.zone : parentDelegate.zone); - this._scheduleTaskZS = - zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS); - this._scheduleTaskDlgt = zoneSpec && - (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt); - this._scheduleTaskCurrZone = - zoneSpec && (zoneSpec.onScheduleTask ? this.zone : parentDelegate.zone); - this._invokeTaskZS = - zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS); - this._invokeTaskDlgt = - zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt); - this._invokeTaskCurrZone = - zoneSpec && (zoneSpec.onInvokeTask ? this.zone : parentDelegate.zone); - this._cancelTaskZS = - zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS); - this._cancelTaskDlgt = - zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt); - this._cancelTaskCurrZone = - zoneSpec && (zoneSpec.onCancelTask ? this.zone : parentDelegate.zone); - this._hasTaskZS = null; - this._hasTaskDlgt = null; - this._hasTaskDlgtOwner = null; - this._hasTaskCurrZone = null; - var zoneSpecHasTask = zoneSpec && zoneSpec.onHasTask; - var parentHasTask = parentDelegate && parentDelegate._hasTaskZS; - if (zoneSpecHasTask || parentHasTask) { - // If we need to report hasTask, than this ZS needs to do ref counting on tasks. In such - // a case all task related interceptors must go through this ZD. We can't short circuit it. - this._hasTaskZS = zoneSpecHasTask ? zoneSpec : DELEGATE_ZS; - this._hasTaskDlgt = parentDelegate; - this._hasTaskDlgtOwner = this; - this._hasTaskCurrZone = zone; - if (!zoneSpec.onScheduleTask) { - this._scheduleTaskZS = DELEGATE_ZS; - this._scheduleTaskDlgt = parentDelegate; - this._scheduleTaskCurrZone = this.zone; - } - if (!zoneSpec.onInvokeTask) { - this._invokeTaskZS = DELEGATE_ZS; - this._invokeTaskDlgt = parentDelegate; - this._invokeTaskCurrZone = this.zone; - } - if (!zoneSpec.onCancelTask) { - this._cancelTaskZS = DELEGATE_ZS; - this._cancelTaskDlgt = parentDelegate; - this._cancelTaskCurrZone = this.zone; - } - } - } - ZoneDelegate.prototype.fork = function (targetZone, zoneSpec) { - return this._forkZS ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) : - new Zone(targetZone, zoneSpec); - }; - ZoneDelegate.prototype.intercept = function (targetZone, callback, source) { - return this._interceptZS ? - this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source) : - callback; - }; - ZoneDelegate.prototype.invoke = function (targetZone, callback, applyThis, applyArgs, source) { - return this._invokeZS ? this._invokeZS.onInvoke(this._invokeDlgt, this._invokeCurrZone, targetZone, callback, applyThis, applyArgs, source) : - callback.apply(applyThis, applyArgs); - }; - ZoneDelegate.prototype.handleError = function (targetZone, error) { - return this._handleErrorZS ? - this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error) : - true; - }; - ZoneDelegate.prototype.scheduleTask = function (targetZone, task) { - var returnTask = task; - if (this._scheduleTaskZS) { - if (this._hasTaskZS) { - returnTask._zoneDelegates.push(this._hasTaskDlgtOwner); - } - returnTask = this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task); - if (!returnTask) - returnTask = task; - } - else { - if (task.scheduleFn) { - task.scheduleFn(task); - } - else if (task.type == microTask) { - scheduleMicroTask(task); - } - else { - throw new Error('Task is missing scheduleFn.'); - } - } - return returnTask; - }; - ZoneDelegate.prototype.invokeTask = function (targetZone, task, applyThis, applyArgs) { - return this._invokeTaskZS ? this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this._invokeTaskCurrZone, targetZone, task, applyThis, applyArgs) : - task.callback.apply(applyThis, applyArgs); - }; - ZoneDelegate.prototype.cancelTask = function (targetZone, task) { - var value; - if (this._cancelTaskZS) { - value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this._cancelTaskCurrZone, targetZone, task); - } - else { - if (!task.cancelFn) { - throw Error('Task is not cancelable'); - } - value = task.cancelFn(task); - } - return value; - }; - ZoneDelegate.prototype.hasTask = function (targetZone, isEmpty) { - // hasTask should not throw error so other ZoneDelegate - // can still trigger hasTask callback - try { - this._hasTaskZS && - this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty); - } - catch (err) { - this.handleError(targetZone, err); - } - }; - ZoneDelegate.prototype._updateTaskCount = function (type, count) { - var counts = this._taskCounts; - var prev = counts[type]; - var next = counts[type] = prev + count; - if (next < 0) { - throw new Error('More tasks executed then were scheduled.'); - } - if (prev == 0 || next == 0) { - var isEmpty = { - microTask: counts['microTask'] > 0, - macroTask: counts['macroTask'] > 0, - eventTask: counts['eventTask'] > 0, - change: type - }; - this.hasTask(this.zone, isEmpty); - } - }; - return ZoneDelegate; - }()); - var ZoneTask = /** @class */ (function () { - function ZoneTask(type, source, callback, options, scheduleFn, cancelFn) { - this._zone = null; - this.runCount = 0; - this._zoneDelegates = null; - this._state = 'notScheduled'; - this.type = type; - this.source = source; - this.data = options; - this.scheduleFn = scheduleFn; - this.cancelFn = cancelFn; - this.callback = callback; - var self = this; - // TODO: @JiaLiPassion options should have interface - if (type === eventTask && options && options.useG) { - this.invoke = ZoneTask.invokeTask; - } - else { - this.invoke = function () { - return ZoneTask.invokeTask.call(global, self, this, arguments); - }; - } - } - ZoneTask.invokeTask = function (task, target, args) { - if (!task) { - task = this; - } - _numberOfNestedTaskFrames++; - try { - task.runCount++; - return task.zone.runTask(task, target, args); - } - finally { - if (_numberOfNestedTaskFrames == 1) { - drainMicroTaskQueue(); - } - _numberOfNestedTaskFrames--; - } - }; - Object.defineProperty(ZoneTask.prototype, "zone", { - get: function () { - return this._zone; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(ZoneTask.prototype, "state", { - get: function () { - return this._state; - }, - enumerable: true, - configurable: true - }); - ZoneTask.prototype.cancelScheduleRequest = function () { - this._transitionTo(notScheduled, scheduling); - }; - ZoneTask.prototype._transitionTo = function (toState, fromState1, fromState2) { - if (this._state === fromState1 || this._state === fromState2) { - this._state = toState; - if (toState == notScheduled) { - this._zoneDelegates = null; - } - } - else { - throw new Error(this.type + " '" + this.source + "': can not transition to '" + toState + "', expecting state '" + fromState1 + "'" + (fromState2 ? ' or \'' + fromState2 + '\'' : '') + ", was '" + this._state + "'."); - } - }; - ZoneTask.prototype.toString = function () { - if (this.data && typeof this.data.handleId !== 'undefined') { - return this.data.handleId.toString(); - } - else { - return Object.prototype.toString.call(this); - } - }; - // add toJSON method to prevent cyclic error when - // call JSON.stringify(zoneTask) - ZoneTask.prototype.toJSON = function () { - return { - type: this.type, - state: this.state, - source: this.source, - zone: this.zone.name, - runCount: this.runCount - }; - }; - return ZoneTask; - }()); - ////////////////////////////////////////////////////// - ////////////////////////////////////////////////////// - /// MICROTASK QUEUE - ////////////////////////////////////////////////////// - ////////////////////////////////////////////////////// - var symbolSetTimeout = __symbol__('setTimeout'); - var symbolPromise = __symbol__('Promise'); - var symbolThen = __symbol__('then'); - var _microTaskQueue = []; - var _isDrainingMicrotaskQueue = false; - var nativeMicroTaskQueuePromise; - function scheduleMicroTask(task) { - // if we are not running in any task, and there has not been anything scheduled - // we must bootstrap the initial task creation by manually scheduling the drain - if (_numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0) { - // We are not running in Task, so we need to kickstart the microtask queue. - if (!nativeMicroTaskQueuePromise) { - if (global[symbolPromise]) { - nativeMicroTaskQueuePromise = global[symbolPromise].resolve(0); - } - } - if (nativeMicroTaskQueuePromise) { - var nativeThen = nativeMicroTaskQueuePromise[symbolThen]; - if (!nativeThen) { - // native Promise is not patchable, we need to use `then` directly - // issue 1078 - nativeThen = nativeMicroTaskQueuePromise['then']; - } - nativeThen.call(nativeMicroTaskQueuePromise, drainMicroTaskQueue); - } - else { - global[symbolSetTimeout](drainMicroTaskQueue, 0); - } - } - task && _microTaskQueue.push(task); - } - function drainMicroTaskQueue() { - if (!_isDrainingMicrotaskQueue) { - _isDrainingMicrotaskQueue = true; - while (_microTaskQueue.length) { - var queue = _microTaskQueue; - _microTaskQueue = []; - for (var i = 0; i < queue.length; i++) { - var task = queue[i]; - try { - task.zone.runTask(task, null, null); - } - catch (error) { - _api.onUnhandledError(error); - } - } - } - _api.microtaskDrainDone(); - _isDrainingMicrotaskQueue = false; - } - } - ////////////////////////////////////////////////////// - ////////////////////////////////////////////////////// - /// BOOTSTRAP - ////////////////////////////////////////////////////// - ////////////////////////////////////////////////////// - var NO_ZONE = { name: 'NO ZONE' }; - var notScheduled = 'notScheduled', scheduling = 'scheduling', scheduled = 'scheduled', running = 'running', canceling = 'canceling', unknown = 'unknown'; - var microTask = 'microTask', macroTask = 'macroTask', eventTask = 'eventTask'; - var patches = {}; - var _api = { - symbol: __symbol__, - currentZoneFrame: function () { return _currentZoneFrame; }, - onUnhandledError: noop, - microtaskDrainDone: noop, - scheduleMicroTask: scheduleMicroTask, - showUncaughtError: function () { return !Zone[__symbol__('ignoreConsoleErrorUncaughtError')]; }, - patchEventTarget: function () { return []; }, - patchOnProperties: noop, - patchMethod: function () { return noop; }, - bindArguments: function () { return []; }, - patchThen: function () { return noop; }, - setNativePromise: function (NativePromise) { - // sometimes NativePromise.resolve static function - // is not ready yet, (such as core-js/es6.promise) - // so we need to check here. - if (NativePromise && typeof NativePromise.resolve === 'function') { - nativeMicroTaskQueuePromise = NativePromise.resolve(0); - } - }, - }; - var _currentZoneFrame = { parent: null, zone: new Zone(null, null) }; - var _currentTask = null; - var _numberOfNestedTaskFrames = 0; - function noop() { } - function __symbol__(name) { - return '__zone_symbol__' + name; - } - performanceMeasure('Zone', 'Zone'); - return global['Zone'] = Zone; -})(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global); - -var __values = (undefined && undefined.__values) || function (o) { - var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0; - if (m) return m.call(o); - return { - next: function () { - if (o && i >= o.length) o = void 0; - return { value: o && o[i++], done: !o }; - } - }; -}; -Zone.__load_patch('ZoneAwarePromise', function (global, Zone, api) { - var ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; - var ObjectDefineProperty = Object.defineProperty; - function readableObjectToString(obj) { - if (obj && obj.toString === Object.prototype.toString) { - var className = obj.constructor && obj.constructor.name; - return (className ? className : '') + ': ' + JSON.stringify(obj); - } - return obj ? obj.toString() : Object.prototype.toString.call(obj); - } - var __symbol__ = api.symbol; - var _uncaughtPromiseErrors = []; - var symbolPromise = __symbol__('Promise'); - var symbolThen = __symbol__('then'); - var creationTrace = '__creationTrace__'; - api.onUnhandledError = function (e) { - if (api.showUncaughtError()) { - var rejection = e && e.rejection; - if (rejection) { - console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined); - } - else { - console.error(e); - } - } - }; - api.microtaskDrainDone = function () { - while (_uncaughtPromiseErrors.length) { - var _loop_1 = function () { - var uncaughtPromiseError = _uncaughtPromiseErrors.shift(); - try { - uncaughtPromiseError.zone.runGuarded(function () { - throw uncaughtPromiseError; - }); - } - catch (error) { - handleUnhandledRejection(error); - } - }; - while (_uncaughtPromiseErrors.length) { - _loop_1(); - } - } - }; - var UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL = __symbol__('unhandledPromiseRejectionHandler'); - function handleUnhandledRejection(e) { - api.onUnhandledError(e); - try { - var handler = Zone[UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL]; - if (handler && typeof handler === 'function') { - handler.call(this, e); - } - } - catch (err) { - } - } - function isThenable(value) { - return value && value.then; - } - function forwardResolution(value) { - return value; - } - function forwardRejection(rejection) { - return ZoneAwarePromise.reject(rejection); - } - var symbolState = __symbol__('state'); - var symbolValue = __symbol__('value'); - var symbolFinally = __symbol__('finally'); - var symbolParentPromiseValue = __symbol__('parentPromiseValue'); - var symbolParentPromiseState = __symbol__('parentPromiseState'); - var source = 'Promise.then'; - var UNRESOLVED = null; - var RESOLVED = true; - var REJECTED = false; - var REJECTED_NO_CATCH = 0; - function makeResolver(promise, state) { - return function (v) { - try { - resolvePromise(promise, state, v); - } - catch (err) { - resolvePromise(promise, false, err); - } - // Do not return value or you will break the Promise spec. - }; - } - var once = function () { - var wasCalled = false; - return function wrapper(wrappedFunction) { - return function () { - if (wasCalled) { - return; - } - wasCalled = true; - wrappedFunction.apply(null, arguments); - }; - }; - }; - var TYPE_ERROR = 'Promise resolved with itself'; - var CURRENT_TASK_TRACE_SYMBOL = __symbol__('currentTaskTrace'); - // Promise Resolution - function resolvePromise(promise, state, value) { - var onceWrapper = once(); - if (promise === value) { - throw new TypeError(TYPE_ERROR); - } - if (promise[symbolState] === UNRESOLVED) { - // should only get value.then once based on promise spec. - var then = null; - try { - if (typeof value === 'object' || typeof value === 'function') { - then = value && value.then; - } - } - catch (err) { - onceWrapper(function () { - resolvePromise(promise, false, err); - })(); - return promise; - } - // if (value instanceof ZoneAwarePromise) { - if (state !== REJECTED && value instanceof ZoneAwarePromise && - value.hasOwnProperty(symbolState) && value.hasOwnProperty(symbolValue) && - value[symbolState] !== UNRESOLVED) { - clearRejectedNoCatch(value); - resolvePromise(promise, value[symbolState], value[symbolValue]); - } - else if (state !== REJECTED && typeof then === 'function') { - try { - then.call(value, onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false))); - } - catch (err) { - onceWrapper(function () { - resolvePromise(promise, false, err); - })(); - } - } - else { - promise[symbolState] = state; - var queue = promise[symbolValue]; - promise[symbolValue] = value; - if (promise[symbolFinally] === symbolFinally) { - // the promise is generated by Promise.prototype.finally - if (state === RESOLVED) { - // the state is resolved, should ignore the value - // and use parent promise value - promise[symbolState] = promise[symbolParentPromiseState]; - promise[symbolValue] = promise[symbolParentPromiseValue]; - } - } - // record task information in value when error occurs, so we can - // do some additional work such as render longStackTrace - if (state === REJECTED && value instanceof Error) { - // check if longStackTraceZone is here - var trace = Zone.currentTask && Zone.currentTask.data && - Zone.currentTask.data[creationTrace]; - if (trace) { - // only keep the long stack trace into error when in longStackTraceZone - ObjectDefineProperty(value, CURRENT_TASK_TRACE_SYMBOL, { configurable: true, enumerable: false, writable: true, value: trace }); - } - } - for (var i = 0; i < queue.length;) { - scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]); - } - if (queue.length == 0 && state == REJECTED) { - promise[symbolState] = REJECTED_NO_CATCH; - try { - // try to print more readable error log - throw new Error('Uncaught (in promise): ' + readableObjectToString(value) + - (value && value.stack ? '\n' + value.stack : '')); - } - catch (err) { - var error_1 = err; - error_1.rejection = value; - error_1.promise = promise; - error_1.zone = Zone.current; - error_1.task = Zone.currentTask; - _uncaughtPromiseErrors.push(error_1); - api.scheduleMicroTask(); // to make sure that it is running - } - } - } - } - // Resolving an already resolved promise is a noop. - return promise; - } - var REJECTION_HANDLED_HANDLER = __symbol__('rejectionHandledHandler'); - function clearRejectedNoCatch(promise) { - if (promise[symbolState] === REJECTED_NO_CATCH) { - // if the promise is rejected no catch status - // and queue.length > 0, means there is a error handler - // here to handle the rejected promise, we should trigger - // windows.rejectionhandled eventHandler or nodejs rejectionHandled - // eventHandler - try { - var handler = Zone[REJECTION_HANDLED_HANDLER]; - if (handler && typeof handler === 'function') { - handler.call(this, { rejection: promise[symbolValue], promise: promise }); - } - } - catch (err) { - } - promise[symbolState] = REJECTED; - for (var i = 0; i < _uncaughtPromiseErrors.length; i++) { - if (promise === _uncaughtPromiseErrors[i].promise) { - _uncaughtPromiseErrors.splice(i, 1); - } - } - } - } - function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) { - clearRejectedNoCatch(promise); - var promiseState = promise[symbolState]; - var delegate = promiseState ? - (typeof onFulfilled === 'function') ? onFulfilled : forwardResolution : - (typeof onRejected === 'function') ? onRejected : forwardRejection; - zone.scheduleMicroTask(source, function () { - try { - var parentPromiseValue = promise[symbolValue]; - var isFinallyPromise = chainPromise && symbolFinally === chainPromise[symbolFinally]; - if (isFinallyPromise) { - // if the promise is generated from finally call, keep parent promise's state and value - chainPromise[symbolParentPromiseValue] = parentPromiseValue; - chainPromise[symbolParentPromiseState] = promiseState; - } - // should not pass value to finally callback - var value = zone.run(delegate, undefined, isFinallyPromise && delegate !== forwardRejection && delegate !== forwardResolution ? - [] : - [parentPromiseValue]); - resolvePromise(chainPromise, true, value); - } - catch (error) { - // if error occurs, should always return this error - resolvePromise(chainPromise, false, error); - } - }, chainPromise); - } - var ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }'; - var ZoneAwarePromise = /** @class */ (function () { - function ZoneAwarePromise(executor) { - var promise = this; - if (!(promise instanceof ZoneAwarePromise)) { - throw new Error('Must be an instanceof Promise.'); - } - promise[symbolState] = UNRESOLVED; - promise[symbolValue] = []; // queue; - try { - executor && executor(makeResolver(promise, RESOLVED), makeResolver(promise, REJECTED)); - } - catch (error) { - resolvePromise(promise, false, error); - } - } - ZoneAwarePromise.toString = function () { - return ZONE_AWARE_PROMISE_TO_STRING; - }; - ZoneAwarePromise.resolve = function (value) { - return resolvePromise(new this(null), RESOLVED, value); - }; - ZoneAwarePromise.reject = function (error) { - return resolvePromise(new this(null), REJECTED, error); - }; - ZoneAwarePromise.race = function (values) { - var e_1, _a; - var resolve; - var reject; - var promise = new this(function (res, rej) { - resolve = res; - reject = rej; - }); - function onResolve(value) { - promise && (promise = false || resolve(value)); - } - function onReject(error) { - promise && (promise = false || reject(error)); - } - try { - for (var values_1 = __values(values), values_1_1 = values_1.next(); !values_1_1.done; values_1_1 = values_1.next()) { - var value = values_1_1.value; - if (!isThenable(value)) { - value = this.resolve(value); - } - value.then(onResolve, onReject); - } - } - catch (e_1_1) { e_1 = { error: e_1_1 }; } - finally { - try { - if (values_1_1 && !values_1_1.done && (_a = values_1.return)) _a.call(values_1); - } - finally { if (e_1) throw e_1.error; } - } - return promise; - }; - ZoneAwarePromise.all = function (values) { - var e_2, _a; - var resolve; - var reject; - var promise = new this(function (res, rej) { - resolve = res; - reject = rej; - }); - // Start at 2 to prevent prematurely resolving if .then is called immediately. - var unresolvedCount = 2; - var valueIndex = 0; - var resolvedValues = []; - var _loop_2 = function (value) { - if (!isThenable(value)) { - value = this_1.resolve(value); - } - var curValueIndex = valueIndex; - value.then(function (value) { - resolvedValues[curValueIndex] = value; - unresolvedCount--; - if (unresolvedCount === 0) { - resolve(resolvedValues); - } - }, reject); - unresolvedCount++; - valueIndex++; - }; - var this_1 = this; - try { - for (var values_2 = __values(values), values_2_1 = values_2.next(); !values_2_1.done; values_2_1 = values_2.next()) { - var value = values_2_1.value; - _loop_2(value); - } - } - catch (e_2_1) { e_2 = { error: e_2_1 }; } - finally { - try { - if (values_2_1 && !values_2_1.done && (_a = values_2.return)) _a.call(values_2); - } - finally { if (e_2) throw e_2.error; } - } - // Make the unresolvedCount zero-based again. - unresolvedCount -= 2; - if (unresolvedCount === 0) { - resolve(resolvedValues); - } - return promise; - }; - ZoneAwarePromise.prototype.then = function (onFulfilled, onRejected) { - var chainPromise = new this.constructor(null); - var zone = Zone.current; - if (this[symbolState] == UNRESOLVED) { - this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected); - } - else { - scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected); - } - return chainPromise; - }; - ZoneAwarePromise.prototype.catch = function (onRejected) { - return this.then(null, onRejected); - }; - ZoneAwarePromise.prototype.finally = function (onFinally) { - var chainPromise = new this.constructor(null); - chainPromise[symbolFinally] = symbolFinally; - var zone = Zone.current; - if (this[symbolState] == UNRESOLVED) { - this[symbolValue].push(zone, chainPromise, onFinally, onFinally); - } - else { - scheduleResolveOrReject(this, zone, chainPromise, onFinally, onFinally); - } - return chainPromise; - }; - return ZoneAwarePromise; - }()); - // Protect against aggressive optimizers dropping seemingly unused properties. - // E.g. Closure Compiler in advanced mode. - ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve; - ZoneAwarePromise['reject'] = ZoneAwarePromise.reject; - ZoneAwarePromise['race'] = ZoneAwarePromise.race; - ZoneAwarePromise['all'] = ZoneAwarePromise.all; - var NativePromise = global[symbolPromise] = global['Promise']; - var ZONE_AWARE_PROMISE = Zone.__symbol__('ZoneAwarePromise'); - var desc = ObjectGetOwnPropertyDescriptor(global, 'Promise'); - if (!desc || desc.configurable) { - desc && delete desc.writable; - desc && delete desc.value; - if (!desc) { - desc = { configurable: true, enumerable: true }; - } - desc.get = function () { - // if we already set ZoneAwarePromise, use patched one - // otherwise return native one. - return global[ZONE_AWARE_PROMISE] ? global[ZONE_AWARE_PROMISE] : global[symbolPromise]; - }; - desc.set = function (NewNativePromise) { - if (NewNativePromise === ZoneAwarePromise) { - // if the NewNativePromise is ZoneAwarePromise - // save to global - global[ZONE_AWARE_PROMISE] = NewNativePromise; - } - else { - // if the NewNativePromise is not ZoneAwarePromise - // for example: after load zone.js, some library just - // set es6-promise to global, if we set it to global - // directly, assertZonePatched will fail and angular - // will not loaded, so we just set the NewNativePromise - // to global[symbolPromise], so the result is just like - // we load ES6 Promise before zone.js - global[symbolPromise] = NewNativePromise; - if (!NewNativePromise.prototype[symbolThen]) { - patchThen(NewNativePromise); - } - api.setNativePromise(NewNativePromise); - } - }; - ObjectDefineProperty(global, 'Promise', desc); - } - global['Promise'] = ZoneAwarePromise; - var symbolThenPatched = __symbol__('thenPatched'); - function patchThen(Ctor) { - var proto = Ctor.prototype; - var prop = ObjectGetOwnPropertyDescriptor(proto, 'then'); - if (prop && (prop.writable === false || !prop.configurable)) { - // check Ctor.prototype.then propertyDescriptor is writable or not - // in meteor env, writable is false, we should ignore such case - return; - } - var originalThen = proto.then; - // Keep a reference to the original method. - proto[symbolThen] = originalThen; - Ctor.prototype.then = function (onResolve, onReject) { - var _this = this; - var wrapped = new ZoneAwarePromise(function (resolve, reject) { - originalThen.call(_this, resolve, reject); - }); - return wrapped.then(onResolve, onReject); - }; - Ctor[symbolThenPatched] = true; - } - api.patchThen = patchThen; - if (NativePromise) { - patchThen(NativePromise); - } - // This is not part of public API, but it is useful for tests, so we expose it. - Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors; - return ZoneAwarePromise; -}); - -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -Zone.__load_patch('fetch', function (global, Zone, api) { - var fetch = global['fetch']; - var ZoneAwarePromise = global.Promise; - var symbolThenPatched = api.symbol('thenPatched'); - var fetchTaskScheduling = api.symbol('fetchTaskScheduling'); - var fetchTaskAborting = api.symbol('fetchTaskAborting'); - if (typeof fetch !== 'function') { - return; - } - var OriginalAbortController = global['AbortController']; - var supportAbort = typeof OriginalAbortController === 'function'; - var abortNative = null; - if (supportAbort) { - global['AbortController'] = function () { - var abortController = new OriginalAbortController(); - var signal = abortController.signal; - signal.abortController = abortController; - return abortController; - }; - abortNative = api.patchMethod(OriginalAbortController.prototype, 'abort', function (delegate) { return function (self, args) { - if (self.task) { - return self.task.zone.cancelTask(self.task); - } - return delegate.apply(self, args); - }; }); - } - var placeholder = function () { }; - global['fetch'] = function () { - var _this = this; - var args = Array.prototype.slice.call(arguments); - var options = args.length > 1 ? args[1] : null; - var signal = options && options.signal; - return new Promise(function (res, rej) { - var task = Zone.current.scheduleMacroTask('fetch', placeholder, args, function () { - var fetchPromise; - var zone = Zone.current; - try { - zone[fetchTaskScheduling] = true; - fetchPromise = fetch.apply(_this, args); - } - catch (error) { - rej(error); - return; - } - finally { - zone[fetchTaskScheduling] = false; - } - if (!(fetchPromise instanceof ZoneAwarePromise)) { - var ctor = fetchPromise.constructor; - if (!ctor[symbolThenPatched]) { - api.patchThen(ctor); - } - } - fetchPromise.then(function (resource) { - if (task.state !== 'notScheduled') { - task.invoke(); - } - res(resource); - }, function (error) { - if (task.state !== 'notScheduled') { - task.invoke(); - } - rej(error); - }); - }, function () { - if (!supportAbort) { - rej('No AbortController supported, can not cancel fetch'); - return; - } - if (signal && signal.abortController && !signal.aborted && - typeof signal.abortController.abort === 'function' && abortNative) { - try { - Zone.current[fetchTaskAborting] = true; - abortNative.call(signal.abortController); - } - finally { - Zone.current[fetchTaskAborting] = false; - } - } - else { - rej('cancel fetch need a AbortController.signal'); - } - }); - if (signal && signal.abortController) { - signal.abortController.task = task; - } - }); - }; -}); - -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * Suppress closure compiler errors about unknown 'Zone' variable - * @fileoverview - * @suppress {undefinedVars,globalThis,missingRequire} - */ -// issue #989, to reduce bundle size, use short name -/** Object.getOwnPropertyDescriptor */ -var ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; -/** Object.defineProperty */ -var ObjectDefineProperty = Object.defineProperty; -/** Object.getPrototypeOf */ -var ObjectGetPrototypeOf = Object.getPrototypeOf; -/** Object.create */ -var ObjectCreate = Object.create; -/** Array.prototype.slice */ -var ArraySlice = Array.prototype.slice; -/** addEventListener string const */ -var ADD_EVENT_LISTENER_STR = 'addEventListener'; -/** removeEventListener string const */ -var REMOVE_EVENT_LISTENER_STR = 'removeEventListener'; -/** zoneSymbol addEventListener */ -var ZONE_SYMBOL_ADD_EVENT_LISTENER = Zone.__symbol__(ADD_EVENT_LISTENER_STR); -/** zoneSymbol removeEventListener */ -var ZONE_SYMBOL_REMOVE_EVENT_LISTENER = Zone.__symbol__(REMOVE_EVENT_LISTENER_STR); -/** true string const */ -var TRUE_STR = 'true'; -/** false string const */ -var FALSE_STR = 'false'; -/** __zone_symbol__ string const */ -var ZONE_SYMBOL_PREFIX = '__zone_symbol__'; -function wrapWithCurrentZone(callback, source) { - return Zone.current.wrap(callback, source); -} -function scheduleMacroTaskWithCurrentZone(source, callback, data, customSchedule, customCancel) { - return Zone.current.scheduleMacroTask(source, callback, data, customSchedule, customCancel); -} -var zoneSymbol = Zone.__symbol__; -var isWindowExists = typeof window !== 'undefined'; -var internalWindow = isWindowExists ? window : undefined; -var _global = isWindowExists && internalWindow || typeof self === 'object' && self || global; -var REMOVE_ATTRIBUTE = 'removeAttribute'; -var NULL_ON_PROP_VALUE = [null]; -function bindArguments(args, source) { - for (var i = args.length - 1; i >= 0; i--) { - if (typeof args[i] === 'function') { - args[i] = wrapWithCurrentZone(args[i], source + '_' + i); - } - } - return args; -} -function patchPrototype(prototype, fnNames) { - var source = prototype.constructor['name']; - var _loop_1 = function (i) { - var name_1 = fnNames[i]; - var delegate = prototype[name_1]; - if (delegate) { - var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, name_1); - if (!isPropertyWritable(prototypeDesc)) { - return "continue"; - } - prototype[name_1] = (function (delegate) { - var patched = function () { - return delegate.apply(this, bindArguments(arguments, source + '.' + name_1)); - }; - attachOriginToPatched(patched, delegate); - return patched; - })(delegate); - } - }; - for (var i = 0; i < fnNames.length; i++) { - _loop_1(i); - } -} -function isPropertyWritable(propertyDesc) { - if (!propertyDesc) { - return true; - } - if (propertyDesc.writable === false) { - return false; - } - return !(typeof propertyDesc.get === 'function' && typeof propertyDesc.set === 'undefined'); -} -var isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope); -// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify -// this code. -var isNode = (!('nw' in _global) && typeof _global.process !== 'undefined' && - {}.toString.call(_global.process) === '[object process]'); -var isBrowser = !isNode && !isWebWorker && !!(isWindowExists && internalWindow['HTMLElement']); -// we are in electron of nw, so we are both browser and nodejs -// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify -// this code. -var isMix = typeof _global.process !== 'undefined' && - {}.toString.call(_global.process) === '[object process]' && !isWebWorker && - !!(isWindowExists && internalWindow['HTMLElement']); -var zoneSymbolEventNames = {}; -var wrapFn = function (event) { - // https://github.com/angular/zone.js/issues/911, in IE, sometimes - // event will be undefined, so we need to use window.event - event = event || _global.event; - if (!event) { - return; - } - var eventNameSymbol = zoneSymbolEventNames[event.type]; - if (!eventNameSymbol) { - eventNameSymbol = zoneSymbolEventNames[event.type] = zoneSymbol('ON_PROPERTY' + event.type); - } - var target = this || event.target || _global; - var listener = target[eventNameSymbol]; - var result; - if (isBrowser && target === internalWindow && event.type === 'error') { - // window.onerror have different signiture - // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror#window.onerror - // and onerror callback will prevent default when callback return true - var errorEvent = event; - result = listener && - listener.call(this, errorEvent.message, errorEvent.filename, errorEvent.lineno, errorEvent.colno, errorEvent.error); - if (result === true) { - event.preventDefault(); - } - } - else { - result = listener && listener.apply(this, arguments); - if (result != undefined && !result) { - event.preventDefault(); - } - } - return result; -}; -function patchProperty(obj, prop, prototype) { - var desc = ObjectGetOwnPropertyDescriptor(obj, prop); - if (!desc && prototype) { - // when patch window object, use prototype to check prop exist or not - var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, prop); - if (prototypeDesc) { - desc = { enumerable: true, configurable: true }; - } - } - // if the descriptor not exists or is not configurable - // just return - if (!desc || !desc.configurable) { - return; - } - var onPropPatchedSymbol = zoneSymbol('on' + prop + 'patched'); - if (obj.hasOwnProperty(onPropPatchedSymbol) && obj[onPropPatchedSymbol]) { - return; - } - // A property descriptor cannot have getter/setter and be writable - // deleting the writable and value properties avoids this error: - // - // TypeError: property descriptors must not specify a value or be writable when a - // getter or setter has been specified - delete desc.writable; - delete desc.value; - var originalDescGet = desc.get; - var originalDescSet = desc.set; - // substr(2) cuz 'onclick' -> 'click', etc - var eventName = prop.substr(2); - var eventNameSymbol = zoneSymbolEventNames[eventName]; - if (!eventNameSymbol) { - eventNameSymbol = zoneSymbolEventNames[eventName] = zoneSymbol('ON_PROPERTY' + eventName); - } - desc.set = function (newValue) { - // in some of windows's onproperty callback, this is undefined - // so we need to check it - var target = this; - if (!target && obj === _global) { - target = _global; - } - if (!target) { - return; - } - var previousValue = target[eventNameSymbol]; - if (previousValue) { - target.removeEventListener(eventName, wrapFn); - } - // issue #978, when onload handler was added before loading zone.js - // we should remove it with originalDescSet - if (originalDescSet) { - originalDescSet.apply(target, NULL_ON_PROP_VALUE); - } - if (typeof newValue === 'function') { - target[eventNameSymbol] = newValue; - target.addEventListener(eventName, wrapFn, false); - } - else { - target[eventNameSymbol] = null; - } - }; - // The getter would return undefined for unassigned properties but the default value of an - // unassigned property is null - desc.get = function () { - // in some of windows's onproperty callback, this is undefined - // so we need to check it - var target = this; - if (!target && obj === _global) { - target = _global; - } - if (!target) { - return null; - } - var listener = target[eventNameSymbol]; - if (listener) { - return listener; - } - else if (originalDescGet) { - // result will be null when use inline event attribute, - // such as - // because the onclick function is internal raw uncompiled handler - // the onclick will be evaluated when first time event was triggered or - // the property is accessed, https://github.com/angular/zone.js/issues/525 - // so we should use original native get to retrieve the handler - var value = originalDescGet && originalDescGet.call(this); - if (value) { - desc.set.call(this, value); - if (typeof target[REMOVE_ATTRIBUTE] === 'function') { - target.removeAttribute(prop); - } - return value; - } - } - return null; - }; - ObjectDefineProperty(obj, prop, desc); - obj[onPropPatchedSymbol] = true; -} -function patchOnProperties(obj, properties, prototype) { - if (properties) { - for (var i = 0; i < properties.length; i++) { - patchProperty(obj, 'on' + properties[i], prototype); - } - } - else { - var onProperties = []; - for (var prop in obj) { - if (prop.substr(0, 2) == 'on') { - onProperties.push(prop); - } - } - for (var j = 0; j < onProperties.length; j++) { - patchProperty(obj, onProperties[j], prototype); - } - } -} -var originalInstanceKey = zoneSymbol('originalInstance'); -// wrap some native API on `window` -function patchClass(className) { - var OriginalClass = _global[className]; - if (!OriginalClass) - return; - // keep original class in global - _global[zoneSymbol(className)] = OriginalClass; - _global[className] = function () { - var a = bindArguments(arguments, className); - switch (a.length) { - case 0: - this[originalInstanceKey] = new OriginalClass(); - break; - case 1: - this[originalInstanceKey] = new OriginalClass(a[0]); - break; - case 2: - this[originalInstanceKey] = new OriginalClass(a[0], a[1]); - break; - case 3: - this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]); - break; - case 4: - this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]); - break; - default: - throw new Error('Arg list too long.'); - } - }; - // attach original delegate to patched function - attachOriginToPatched(_global[className], OriginalClass); - var instance = new OriginalClass(function () { }); - var prop; - for (prop in instance) { - // https://bugs.webkit.org/show_bug.cgi?id=44721 - if (className === 'XMLHttpRequest' && prop === 'responseBlob') - continue; - (function (prop) { - if (typeof instance[prop] === 'function') { - _global[className].prototype[prop] = function () { - return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments); - }; - } - else { - ObjectDefineProperty(_global[className].prototype, prop, { - set: function (fn) { - if (typeof fn === 'function') { - this[originalInstanceKey][prop] = wrapWithCurrentZone(fn, className + '.' + prop); - // keep callback in wrapped function so we can - // use it in Function.prototype.toString to return - // the native one. - attachOriginToPatched(this[originalInstanceKey][prop], fn); - } - else { - this[originalInstanceKey][prop] = fn; - } - }, - get: function () { - return this[originalInstanceKey][prop]; - } - }); - } - }(prop)); - } - for (prop in OriginalClass) { - if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) { - _global[className][prop] = OriginalClass[prop]; - } - } -} -function copySymbolProperties(src, dest) { - if (typeof Object.getOwnPropertySymbols !== 'function') { - return; - } - var symbols = Object.getOwnPropertySymbols(src); - symbols.forEach(function (symbol) { - var desc = Object.getOwnPropertyDescriptor(src, symbol); - Object.defineProperty(dest, symbol, { - get: function () { - return src[symbol]; - }, - set: function (value) { - if (desc && (!desc.writable || typeof desc.set !== 'function')) { - // if src[symbol] is not writable or not have a setter, just return - return; - } - src[symbol] = value; - }, - enumerable: desc ? desc.enumerable : true, - configurable: desc ? desc.configurable : true - }); - }); -} -var shouldCopySymbolProperties = false; - -function patchMethod(target, name, patchFn) { - var proto = target; - while (proto && !proto.hasOwnProperty(name)) { - proto = ObjectGetPrototypeOf(proto); - } - if (!proto && target[name]) { - // somehow we did not find it, but we can see it. This happens on IE for Window properties. - proto = target; - } - var delegateName = zoneSymbol(name); - var delegate = null; - if (proto && !(delegate = proto[delegateName])) { - delegate = proto[delegateName] = proto[name]; - // check whether proto[name] is writable - // some property is readonly in safari, such as HtmlCanvasElement.prototype.toBlob - var desc = proto && ObjectGetOwnPropertyDescriptor(proto, name); - if (isPropertyWritable(desc)) { - var patchDelegate_1 = patchFn(delegate, delegateName, name); - proto[name] = function () { - return patchDelegate_1(this, arguments); - }; - attachOriginToPatched(proto[name], delegate); - if (shouldCopySymbolProperties) { - copySymbolProperties(delegate, proto[name]); - } - } - } - return delegate; -} -// TODO: @JiaLiPassion, support cancel task later if necessary -function patchMacroTask(obj, funcName, metaCreator) { - var setNative = null; - function scheduleTask(task) { - var data = task.data; - data.args[data.cbIdx] = function () { - task.invoke.apply(this, arguments); - }; - setNative.apply(data.target, data.args); - return task; - } - setNative = patchMethod(obj, funcName, function (delegate) { return function (self, args) { - var meta = metaCreator(self, args); - if (meta.cbIdx >= 0 && typeof args[meta.cbIdx] === 'function') { - return scheduleMacroTaskWithCurrentZone(meta.name, args[meta.cbIdx], meta, scheduleTask); - } - else { - // cause an error by calling it directly. - return delegate.apply(self, args); - } - }; }); -} - -function attachOriginToPatched(patched, original) { - patched[zoneSymbol('OriginalDelegate')] = original; -} -var isDetectedIEOrEdge = false; -var ieOrEdge = false; -function isIE() { - try { - var ua = internalWindow.navigator.userAgent; - if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1) { - return true; - } - } - catch (error) { - } - return false; -} -function isIEOrEdge() { - if (isDetectedIEOrEdge) { - return ieOrEdge; - } - isDetectedIEOrEdge = true; - try { - var ua = internalWindow.navigator.userAgent; - if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1 || ua.indexOf('Edge/') !== -1) { - ieOrEdge = true; - } - return ieOrEdge; - } - catch (error) { - } -} - -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -// override Function.prototype.toString to make zone.js patched function -// look like native function -Zone.__load_patch('toString', function (global) { - // patch Func.prototype.toString to let them look like native - var originalFunctionToString = Function.prototype.toString; - var ORIGINAL_DELEGATE_SYMBOL = zoneSymbol('OriginalDelegate'); - var PROMISE_SYMBOL = zoneSymbol('Promise'); - var ERROR_SYMBOL = zoneSymbol('Error'); - var newFunctionToString = function toString() { - if (typeof this === 'function') { - var originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL]; - if (originalDelegate) { - if (typeof originalDelegate === 'function') { - return originalFunctionToString.apply(this[ORIGINAL_DELEGATE_SYMBOL], arguments); - } - else { - return Object.prototype.toString.call(originalDelegate); - } - } - if (this === Promise) { - var nativePromise = global[PROMISE_SYMBOL]; - if (nativePromise) { - return originalFunctionToString.apply(nativePromise, arguments); - } - } - if (this === Error) { - var nativeError = global[ERROR_SYMBOL]; - if (nativeError) { - return originalFunctionToString.apply(nativeError, arguments); - } - } - } - return originalFunctionToString.apply(this, arguments); - }; - newFunctionToString[ORIGINAL_DELEGATE_SYMBOL] = originalFunctionToString; - Function.prototype.toString = newFunctionToString; - // patch Object.prototype.toString to let them look like native - var originalObjectToString = Object.prototype.toString; - var PROMISE_OBJECT_TO_STRING = '[object Promise]'; - Object.prototype.toString = function () { - if (this instanceof Promise) { - return PROMISE_OBJECT_TO_STRING; - } - return originalObjectToString.apply(this, arguments); - }; -}); - -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @fileoverview - * @suppress {missingRequire} - */ -var passiveSupported = false; -if (typeof window !== 'undefined') { - try { - var options = Object.defineProperty({}, 'passive', { - get: function () { - passiveSupported = true; - } - }); - window.addEventListener('test', options, options); - window.removeEventListener('test', options, options); - } - catch (err) { - passiveSupported = false; - } -} -// an identifier to tell ZoneTask do not create a new invoke closure -var OPTIMIZED_ZONE_EVENT_TASK_DATA = { - useG: true -}; -var zoneSymbolEventNames$1 = {}; -var globalSources = {}; -var EVENT_NAME_SYMBOL_REGX = /^__zone_symbol__(\w+)(true|false)$/; -var IMMEDIATE_PROPAGATION_SYMBOL = ('__zone_symbol__propagationStopped'); -function patchEventTarget(_global, apis, patchOptions) { - var ADD_EVENT_LISTENER = (patchOptions && patchOptions.add) || ADD_EVENT_LISTENER_STR; - var REMOVE_EVENT_LISTENER = (patchOptions && patchOptions.rm) || REMOVE_EVENT_LISTENER_STR; - var LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.listeners) || 'eventListeners'; - var REMOVE_ALL_LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.rmAll) || 'removeAllListeners'; - var zoneSymbolAddEventListener = zoneSymbol(ADD_EVENT_LISTENER); - var ADD_EVENT_LISTENER_SOURCE = '.' + ADD_EVENT_LISTENER + ':'; - var PREPEND_EVENT_LISTENER = 'prependListener'; - var PREPEND_EVENT_LISTENER_SOURCE = '.' + PREPEND_EVENT_LISTENER + ':'; - var invokeTask = function (task, target, event) { - // for better performance, check isRemoved which is set - // by removeEventListener - if (task.isRemoved) { - return; - } - var delegate = task.callback; - if (typeof delegate === 'object' && delegate.handleEvent) { - // create the bind version of handleEvent when invoke - task.callback = function (event) { return delegate.handleEvent(event); }; - task.originalDelegate = delegate; - } - // invoke static task.invoke - task.invoke(task, target, [event]); - var options = task.options; - if (options && typeof options === 'object' && options.once) { - // if options.once is true, after invoke once remove listener here - // only browser need to do this, nodejs eventEmitter will cal removeListener - // inside EventEmitter.once - var delegate_1 = task.originalDelegate ? task.originalDelegate : task.callback; - target[REMOVE_EVENT_LISTENER].call(target, event.type, delegate_1, options); - } - }; - // global shared zoneAwareCallback to handle all event callback with capture = false - var globalZoneAwareCallback = function (event) { - // https://github.com/angular/zone.js/issues/911, in IE, sometimes - // event will be undefined, so we need to use window.event - event = event || _global.event; - if (!event) { - return; - } - // event.target is needed for Samsung TV and SourceBuffer - // || global is needed https://github.com/angular/zone.js/issues/190 - var target = this || event.target || _global; - var tasks = target[zoneSymbolEventNames$1[event.type][FALSE_STR]]; - if (tasks) { - // invoke all tasks which attached to current target with given event.type and capture = false - // for performance concern, if task.length === 1, just invoke - if (tasks.length === 1) { - invokeTask(tasks[0], target, event); - } - else { - // https://github.com/angular/zone.js/issues/836 - // copy the tasks array before invoke, to avoid - // the callback will remove itself or other listener - var copyTasks = tasks.slice(); - for (var i = 0; i < copyTasks.length; i++) { - if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) { - break; - } - invokeTask(copyTasks[i], target, event); - } - } - } - }; - // global shared zoneAwareCallback to handle all event callback with capture = true - var globalZoneAwareCaptureCallback = function (event) { - // https://github.com/angular/zone.js/issues/911, in IE, sometimes - // event will be undefined, so we need to use window.event - event = event || _global.event; - if (!event) { - return; - } - // event.target is needed for Samsung TV and SourceBuffer - // || global is needed https://github.com/angular/zone.js/issues/190 - var target = this || event.target || _global; - var tasks = target[zoneSymbolEventNames$1[event.type][TRUE_STR]]; - if (tasks) { - // invoke all tasks which attached to current target with given event.type and capture = false - // for performance concern, if task.length === 1, just invoke - if (tasks.length === 1) { - invokeTask(tasks[0], target, event); - } - else { - // https://github.com/angular/zone.js/issues/836 - // copy the tasks array before invoke, to avoid - // the callback will remove itself or other listener - var copyTasks = tasks.slice(); - for (var i = 0; i < copyTasks.length; i++) { - if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) { - break; - } - invokeTask(copyTasks[i], target, event); - } - } - } - }; - function patchEventTargetMethods(obj, patchOptions) { - if (!obj) { - return false; - } - var useGlobalCallback = true; - if (patchOptions && patchOptions.useG !== undefined) { - useGlobalCallback = patchOptions.useG; - } - var validateHandler = patchOptions && patchOptions.vh; - var checkDuplicate = true; - if (patchOptions && patchOptions.chkDup !== undefined) { - checkDuplicate = patchOptions.chkDup; - } - var returnTarget = false; - if (patchOptions && patchOptions.rt !== undefined) { - returnTarget = patchOptions.rt; - } - var proto = obj; - while (proto && !proto.hasOwnProperty(ADD_EVENT_LISTENER)) { - proto = ObjectGetPrototypeOf(proto); - } - if (!proto && obj[ADD_EVENT_LISTENER]) { - // somehow we did not find it, but we can see it. This happens on IE for Window properties. - proto = obj; - } - if (!proto) { - return false; - } - if (proto[zoneSymbolAddEventListener]) { - return false; - } - var eventNameToString = patchOptions && patchOptions.eventNameToString; - // a shared global taskData to pass data for scheduleEventTask - // so we do not need to create a new object just for pass some data - var taskData = {}; - var nativeAddEventListener = proto[zoneSymbolAddEventListener] = proto[ADD_EVENT_LISTENER]; - var nativeRemoveEventListener = proto[zoneSymbol(REMOVE_EVENT_LISTENER)] = - proto[REMOVE_EVENT_LISTENER]; - var nativeListeners = proto[zoneSymbol(LISTENERS_EVENT_LISTENER)] = - proto[LISTENERS_EVENT_LISTENER]; - var nativeRemoveAllListeners = proto[zoneSymbol(REMOVE_ALL_LISTENERS_EVENT_LISTENER)] = - proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER]; - var nativePrependEventListener; - if (patchOptions && patchOptions.prepend) { - nativePrependEventListener = proto[zoneSymbol(patchOptions.prepend)] = - proto[patchOptions.prepend]; - } - function checkIsPassive(task) { - if (!passiveSupported && typeof taskData.options !== 'boolean' && - typeof taskData.options !== 'undefined' && taskData.options !== null) { - // options is a non-null non-undefined object - // passive is not supported - // don't pass options as object - // just pass capture as a boolean - task.options = !!taskData.options.capture; - taskData.options = task.options; - } - } - var customScheduleGlobal = function (task) { - // if there is already a task for the eventName + capture, - // just return, because we use the shared globalZoneAwareCallback here. - if (taskData.isExisting) { - return; - } - checkIsPassive(task); - return nativeAddEventListener.call(taskData.target, taskData.eventName, taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, taskData.options); - }; - var customCancelGlobal = function (task) { - // if task is not marked as isRemoved, this call is directly - // from Zone.prototype.cancelTask, we should remove the task - // from tasksList of target first - if (!task.isRemoved) { - var symbolEventNames = zoneSymbolEventNames$1[task.eventName]; - var symbolEventName = void 0; - if (symbolEventNames) { - symbolEventName = symbolEventNames[task.capture ? TRUE_STR : FALSE_STR]; - } - var existingTasks = symbolEventName && task.target[symbolEventName]; - if (existingTasks) { - for (var i = 0; i < existingTasks.length; i++) { - var existingTask = existingTasks[i]; - if (existingTask === task) { - existingTasks.splice(i, 1); - // set isRemoved to data for faster invokeTask check - task.isRemoved = true; - if (existingTasks.length === 0) { - // all tasks for the eventName + capture have gone, - // remove globalZoneAwareCallback and remove the task cache from target - task.allRemoved = true; - task.target[symbolEventName] = null; - } - break; - } - } - } - } - // if all tasks for the eventName + capture have gone, - // we will really remove the global event callback, - // if not, return - if (!task.allRemoved) { - return; - } - return nativeRemoveEventListener.call(task.target, task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, task.options); - }; - var customScheduleNonGlobal = function (task) { - checkIsPassive(task); - return nativeAddEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options); - }; - var customSchedulePrepend = function (task) { - return nativePrependEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options); - }; - var customCancelNonGlobal = function (task) { - return nativeRemoveEventListener.call(task.target, task.eventName, task.invoke, task.options); - }; - var customSchedule = useGlobalCallback ? customScheduleGlobal : customScheduleNonGlobal; - var customCancel = useGlobalCallback ? customCancelGlobal : customCancelNonGlobal; - var compareTaskCallbackVsDelegate = function (task, delegate) { - var typeOfDelegate = typeof delegate; - return (typeOfDelegate === 'function' && task.callback === delegate) || - (typeOfDelegate === 'object' && task.originalDelegate === delegate); - }; - var compare = (patchOptions && patchOptions.diff) ? patchOptions.diff : compareTaskCallbackVsDelegate; - var blackListedEvents = Zone[Zone.__symbol__('BLACK_LISTED_EVENTS')]; - var makeAddListener = function (nativeListener, addSource, customScheduleFn, customCancelFn, returnTarget, prepend) { - if (returnTarget === void 0) { returnTarget = false; } - if (prepend === void 0) { prepend = false; } - return function () { - var target = this || _global; - var eventName = arguments[0]; - var delegate = arguments[1]; - if (!delegate) { - return nativeListener.apply(this, arguments); - } - if (isNode && eventName === 'uncaughtException') { - // don't patch uncaughtException of nodejs to prevent endless loop - return nativeListener.apply(this, arguments); - } - // don't create the bind delegate function for handleEvent - // case here to improve addEventListener performance - // we will create the bind delegate when invoke - var isHandleEvent = false; - if (typeof delegate !== 'function') { - if (!delegate.handleEvent) { - return nativeListener.apply(this, arguments); - } - isHandleEvent = true; - } - if (validateHandler && !validateHandler(nativeListener, delegate, target, arguments)) { - return; - } - var options = arguments[2]; - if (blackListedEvents) { - // check black list - for (var i = 0; i < blackListedEvents.length; i++) { - if (eventName === blackListedEvents[i]) { - return nativeListener.apply(this, arguments); - } - } - } - var capture; - var once = false; - if (options === undefined) { - capture = false; - } - else if (options === true) { - capture = true; - } - else if (options === false) { - capture = false; - } - else { - capture = options ? !!options.capture : false; - once = options ? !!options.once : false; - } - var zone = Zone.current; - var symbolEventNames = zoneSymbolEventNames$1[eventName]; - var symbolEventName; - if (!symbolEventNames) { - // the code is duplicate, but I just want to get some better performance - var falseEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + FALSE_STR; - var trueEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + TRUE_STR; - var symbol = ZONE_SYMBOL_PREFIX + falseEventName; - var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName; - zoneSymbolEventNames$1[eventName] = {}; - zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol; - zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture; - symbolEventName = capture ? symbolCapture : symbol; - } - else { - symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR]; - } - var existingTasks = target[symbolEventName]; - var isExisting = false; - if (existingTasks) { - // already have task registered - isExisting = true; - if (checkDuplicate) { - for (var i = 0; i < existingTasks.length; i++) { - if (compare(existingTasks[i], delegate)) { - // same callback, same capture, same event name, just return - return; - } - } - } - } - else { - existingTasks = target[symbolEventName] = []; - } - var source; - var constructorName = target.constructor['name']; - var targetSource = globalSources[constructorName]; - if (targetSource) { - source = targetSource[eventName]; - } - if (!source) { - source = constructorName + addSource + - (eventNameToString ? eventNameToString(eventName) : eventName); - } - // do not create a new object as task.data to pass those things - // just use the global shared one - taskData.options = options; - if (once) { - // if addEventListener with once options, we don't pass it to - // native addEventListener, instead we keep the once setting - // and handle ourselves. - taskData.options.once = false; - } - taskData.target = target; - taskData.capture = capture; - taskData.eventName = eventName; - taskData.isExisting = isExisting; - var data = useGlobalCallback ? OPTIMIZED_ZONE_EVENT_TASK_DATA : undefined; - // keep taskData into data to allow onScheduleEventTask to access the task information - if (data) { - data.taskData = taskData; - } - var task = zone.scheduleEventTask(source, delegate, data, customScheduleFn, customCancelFn); - // should clear taskData.target to avoid memory leak - // issue, https://github.com/angular/angular/issues/20442 - taskData.target = null; - // need to clear up taskData because it is a global object - if (data) { - data.taskData = null; - } - // have to save those information to task in case - // application may call task.zone.cancelTask() directly - if (once) { - options.once = true; - } - if (!(!passiveSupported && typeof task.options === 'boolean')) { - // if not support passive, and we pass an option object - // to addEventListener, we should save the options to task - task.options = options; - } - task.target = target; - task.capture = capture; - task.eventName = eventName; - if (isHandleEvent) { - // save original delegate for compare to check duplicate - task.originalDelegate = delegate; - } - if (!prepend) { - existingTasks.push(task); - } - else { - existingTasks.unshift(task); - } - if (returnTarget) { - return target; - } - }; - }; - proto[ADD_EVENT_LISTENER] = makeAddListener(nativeAddEventListener, ADD_EVENT_LISTENER_SOURCE, customSchedule, customCancel, returnTarget); - if (nativePrependEventListener) { - proto[PREPEND_EVENT_LISTENER] = makeAddListener(nativePrependEventListener, PREPEND_EVENT_LISTENER_SOURCE, customSchedulePrepend, customCancel, returnTarget, true); - } - proto[REMOVE_EVENT_LISTENER] = function () { - var target = this || _global; - var eventName = arguments[0]; - var options = arguments[2]; - var capture; - if (options === undefined) { - capture = false; - } - else if (options === true) { - capture = true; - } - else if (options === false) { - capture = false; - } - else { - capture = options ? !!options.capture : false; - } - var delegate = arguments[1]; - if (!delegate) { - return nativeRemoveEventListener.apply(this, arguments); - } - if (validateHandler && - !validateHandler(nativeRemoveEventListener, delegate, target, arguments)) { - return; - } - var symbolEventNames = zoneSymbolEventNames$1[eventName]; - var symbolEventName; - if (symbolEventNames) { - symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR]; - } - var existingTasks = symbolEventName && target[symbolEventName]; - if (existingTasks) { - for (var i = 0; i < existingTasks.length; i++) { - var existingTask = existingTasks[i]; - if (compare(existingTask, delegate)) { - existingTasks.splice(i, 1); - // set isRemoved to data for faster invokeTask check - existingTask.isRemoved = true; - if (existingTasks.length === 0) { - // all tasks for the eventName + capture have gone, - // remove globalZoneAwareCallback and remove the task cache from target - existingTask.allRemoved = true; - target[symbolEventName] = null; - } - existingTask.zone.cancelTask(existingTask); - if (returnTarget) { - return target; - } - return; - } - } - } - // issue 930, didn't find the event name or callback - // from zone kept existingTasks, the callback maybe - // added outside of zone, we need to call native removeEventListener - // to try to remove it. - return nativeRemoveEventListener.apply(this, arguments); - }; - proto[LISTENERS_EVENT_LISTENER] = function () { - var target = this || _global; - var eventName = arguments[0]; - var listeners = []; - var tasks = findEventTasks(target, eventNameToString ? eventNameToString(eventName) : eventName); - for (var i = 0; i < tasks.length; i++) { - var task = tasks[i]; - var delegate = task.originalDelegate ? task.originalDelegate : task.callback; - listeners.push(delegate); - } - return listeners; - }; - proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER] = function () { - var target = this || _global; - var eventName = arguments[0]; - if (!eventName) { - var keys = Object.keys(target); - for (var i = 0; i < keys.length; i++) { - var prop = keys[i]; - var match = EVENT_NAME_SYMBOL_REGX.exec(prop); - var evtName = match && match[1]; - // in nodejs EventEmitter, removeListener event is - // used for monitoring the removeListener call, - // so just keep removeListener eventListener until - // all other eventListeners are removed - if (evtName && evtName !== 'removeListener') { - this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, evtName); - } - } - // remove removeListener listener finally - this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, 'removeListener'); - } - else { - var symbolEventNames = zoneSymbolEventNames$1[eventName]; - if (symbolEventNames) { - var symbolEventName = symbolEventNames[FALSE_STR]; - var symbolCaptureEventName = symbolEventNames[TRUE_STR]; - var tasks = target[symbolEventName]; - var captureTasks = target[symbolCaptureEventName]; - if (tasks) { - var removeTasks = tasks.slice(); - for (var i = 0; i < removeTasks.length; i++) { - var task = removeTasks[i]; - var delegate = task.originalDelegate ? task.originalDelegate : task.callback; - this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options); - } - } - if (captureTasks) { - var removeTasks = captureTasks.slice(); - for (var i = 0; i < removeTasks.length; i++) { - var task = removeTasks[i]; - var delegate = task.originalDelegate ? task.originalDelegate : task.callback; - this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options); - } - } - } - } - if (returnTarget) { - return this; - } - }; - // for native toString patch - attachOriginToPatched(proto[ADD_EVENT_LISTENER], nativeAddEventListener); - attachOriginToPatched(proto[REMOVE_EVENT_LISTENER], nativeRemoveEventListener); - if (nativeRemoveAllListeners) { - attachOriginToPatched(proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER], nativeRemoveAllListeners); - } - if (nativeListeners) { - attachOriginToPatched(proto[LISTENERS_EVENT_LISTENER], nativeListeners); - } - return true; - } - var results = []; - for (var i = 0; i < apis.length; i++) { - results[i] = patchEventTargetMethods(apis[i], patchOptions); - } - return results; -} -function findEventTasks(target, eventName) { - var foundTasks = []; - for (var prop in target) { - var match = EVENT_NAME_SYMBOL_REGX.exec(prop); - var evtName = match && match[1]; - if (evtName && (!eventName || evtName === eventName)) { - var tasks = target[prop]; - if (tasks) { - for (var i = 0; i < tasks.length; i++) { - foundTasks.push(tasks[i]); - } - } - } - } - return foundTasks; -} -function patchEventPrototype(global, api) { - var Event = global['Event']; - if (Event && Event.prototype) { - api.patchMethod(Event.prototype, 'stopImmediatePropagation', function (delegate) { return function (self, args) { - self[IMMEDIATE_PROPAGATION_SYMBOL] = true; - // we need to call the native stopImmediatePropagation - // in case in some hybrid application, some part of - // application will be controlled by zone, some are not - delegate && delegate.apply(self, args); - }; }); - } -} - -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @fileoverview - * @suppress {missingRequire} - */ -var taskSymbol = zoneSymbol('zoneTask'); -function patchTimer(window, setName, cancelName, nameSuffix) { - var setNative = null; - var clearNative = null; - setName += nameSuffix; - cancelName += nameSuffix; - var tasksByHandleId = {}; - function scheduleTask(task) { - var data = task.data; - function timer() { - try { - task.invoke.apply(this, arguments); - } - finally { - // issue-934, task will be cancelled - // even it is a periodic task such as - // setInterval - if (!(task.data && task.data.isPeriodic)) { - if (typeof data.handleId === 'number') { - // in non-nodejs env, we remove timerId - // from local cache - delete tasksByHandleId[data.handleId]; - } - else if (data.handleId) { - // Node returns complex objects as handleIds - // we remove task reference from timer object - data.handleId[taskSymbol] = null; - } - } - } - } - data.args[0] = timer; - data.handleId = setNative.apply(window, data.args); - return task; - } - function clearTask(task) { - return clearNative(task.data.handleId); - } - setNative = - patchMethod(window, setName, function (delegate) { return function (self, args) { - if (typeof args[0] === 'function') { - var options = { - isPeriodic: nameSuffix === 'Interval', - delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 : - undefined, - args: args - }; - var task = scheduleMacroTaskWithCurrentZone(setName, args[0], options, scheduleTask, clearTask); - if (!task) { - return task; - } - // Node.js must additionally support the ref and unref functions. - var handle = task.data.handleId; - if (typeof handle === 'number') { - // for non nodejs env, we save handleId: task - // mapping in local cache for clearTimeout - tasksByHandleId[handle] = task; - } - else if (handle) { - // for nodejs env, we save task - // reference in timerId Object for clearTimeout - handle[taskSymbol] = task; - } - // check whether handle is null, because some polyfill or browser - // may return undefined from setTimeout/setInterval/setImmediate/requestAnimationFrame - if (handle && handle.ref && handle.unref && typeof handle.ref === 'function' && - typeof handle.unref === 'function') { - task.ref = handle.ref.bind(handle); - task.unref = handle.unref.bind(handle); - } - if (typeof handle === 'number' || handle) { - return handle; - } - return task; - } - else { - // cause an error by calling it directly. - return delegate.apply(window, args); - } - }; }); - clearNative = - patchMethod(window, cancelName, function (delegate) { return function (self, args) { - var id = args[0]; - var task; - if (typeof id === 'number') { - // non nodejs env. - task = tasksByHandleId[id]; - } - else { - // nodejs env. - task = id && id[taskSymbol]; - // other environments. - if (!task) { - task = id; - } - } - if (task && typeof task.type === 'string') { - if (task.state !== 'notScheduled' && - (task.cancelFn && task.data.isPeriodic || task.runCount === 0)) { - if (typeof id === 'number') { - delete tasksByHandleId[id]; - } - else if (id) { - id[taskSymbol] = null; - } - // Do not cancel already canceled functions - task.zone.cancelTask(task); - } - } - else { - // cause an error by calling it directly. - delegate.apply(window, args); - } - }; }); -} - -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/* - * This is necessary for Chrome and Chrome mobile, to enable - * things like redefining `createdCallback` on an element. - */ -var _defineProperty = Object[zoneSymbol('defineProperty')] = Object.defineProperty; -var _getOwnPropertyDescriptor = Object[zoneSymbol('getOwnPropertyDescriptor')] = - Object.getOwnPropertyDescriptor; -var _create = Object.create; -var unconfigurablesKey = zoneSymbol('unconfigurables'); -function propertyPatch() { - Object.defineProperty = function (obj, prop, desc) { - if (isUnconfigurable(obj, prop)) { - throw new TypeError('Cannot assign to read only property \'' + prop + '\' of ' + obj); - } - var originalConfigurableFlag = desc.configurable; - if (prop !== 'prototype') { - desc = rewriteDescriptor(obj, prop, desc); - } - return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag); - }; - Object.defineProperties = function (obj, props) { - Object.keys(props).forEach(function (prop) { - Object.defineProperty(obj, prop, props[prop]); - }); - return obj; - }; - Object.create = function (obj, proto) { - if (typeof proto === 'object' && !Object.isFrozen(proto)) { - Object.keys(proto).forEach(function (prop) { - proto[prop] = rewriteDescriptor(obj, prop, proto[prop]); - }); - } - return _create(obj, proto); - }; - Object.getOwnPropertyDescriptor = function (obj, prop) { - var desc = _getOwnPropertyDescriptor(obj, prop); - if (desc && isUnconfigurable(obj, prop)) { - desc.configurable = false; - } - return desc; - }; -} -function _redefineProperty(obj, prop, desc) { - var originalConfigurableFlag = desc.configurable; - desc = rewriteDescriptor(obj, prop, desc); - return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag); -} -function isUnconfigurable(obj, prop) { - return obj && obj[unconfigurablesKey] && obj[unconfigurablesKey][prop]; -} -function rewriteDescriptor(obj, prop, desc) { - // issue-927, if the desc is frozen, don't try to change the desc - if (!Object.isFrozen(desc)) { - desc.configurable = true; - } - if (!desc.configurable) { - // issue-927, if the obj is frozen, don't try to set the desc to obj - if (!obj[unconfigurablesKey] && !Object.isFrozen(obj)) { - _defineProperty(obj, unconfigurablesKey, { writable: true, value: {} }); - } - if (obj[unconfigurablesKey]) { - obj[unconfigurablesKey][prop] = true; - } - } - return desc; -} -function _tryDefineProperty(obj, prop, desc, originalConfigurableFlag) { - try { - return _defineProperty(obj, prop, desc); - } - catch (error) { - if (desc.configurable) { - // In case of errors, when the configurable flag was likely set by rewriteDescriptor(), let's - // retry with the original flag value - if (typeof originalConfigurableFlag == 'undefined') { - delete desc.configurable; - } - else { - desc.configurable = originalConfigurableFlag; - } - try { - return _defineProperty(obj, prop, desc); - } - catch (error) { - var descJson = null; - try { - descJson = JSON.stringify(desc); - } - catch (error) { - descJson = desc.toString(); - } - console.log("Attempting to configure '" + prop + "' with descriptor '" + descJson + "' on object '" + obj + "' and got error, giving up: " + error); - } - } - else { - throw error; - } - } -} - -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -// we have to patch the instance since the proto is non-configurable -function apply(api, _global) { - var WS = _global.WebSocket; - // On Safari window.EventTarget doesn't exist so need to patch WS add/removeEventListener - // On older Chrome, no need since EventTarget was already patched - if (!_global.EventTarget) { - patchEventTarget(_global, [WS.prototype]); - } - _global.WebSocket = function (x, y) { - var socket = arguments.length > 1 ? new WS(x, y) : new WS(x); - var proxySocket; - var proxySocketProto; - // Safari 7.0 has non-configurable own 'onmessage' and friends properties on the socket instance - var onmessageDesc = ObjectGetOwnPropertyDescriptor(socket, 'onmessage'); - if (onmessageDesc && onmessageDesc.configurable === false) { - proxySocket = ObjectCreate(socket); - // socket have own property descriptor 'onopen', 'onmessage', 'onclose', 'onerror' - // but proxySocket not, so we will keep socket as prototype and pass it to - // patchOnProperties method - proxySocketProto = socket; - [ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR, 'send', 'close'].forEach(function (propName) { - proxySocket[propName] = function () { - var args = ArraySlice.call(arguments); - if (propName === ADD_EVENT_LISTENER_STR || propName === REMOVE_EVENT_LISTENER_STR) { - var eventName = args.length > 0 ? args[0] : undefined; - if (eventName) { - var propertySymbol = Zone.__symbol__('ON_PROPERTY' + eventName); - socket[propertySymbol] = proxySocket[propertySymbol]; - } - } - return socket[propName].apply(socket, args); - }; - }); - } - else { - // we can patch the real socket - proxySocket = socket; - } - patchOnProperties(proxySocket, ['close', 'error', 'message', 'open'], proxySocketProto); - return proxySocket; - }; - var globalWebSocket = _global['WebSocket']; - for (var prop in WS) { - globalWebSocket[prop] = WS[prop]; - } -} - -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @fileoverview - * @suppress {globalThis} - */ -var globalEventHandlersEventNames = [ - 'abort', - 'animationcancel', - 'animationend', - 'animationiteration', - 'auxclick', - 'beforeinput', - 'blur', - 'cancel', - 'canplay', - 'canplaythrough', - 'change', - 'compositionstart', - 'compositionupdate', - 'compositionend', - 'cuechange', - 'click', - 'close', - 'contextmenu', - 'curechange', - 'dblclick', - 'drag', - 'dragend', - 'dragenter', - 'dragexit', - 'dragleave', - 'dragover', - 'drop', - 'durationchange', - 'emptied', - 'ended', - 'error', - 'focus', - 'focusin', - 'focusout', - 'gotpointercapture', - 'input', - 'invalid', - 'keydown', - 'keypress', - 'keyup', - 'load', - 'loadstart', - 'loadeddata', - 'loadedmetadata', - 'lostpointercapture', - 'mousedown', - 'mouseenter', - 'mouseleave', - 'mousemove', - 'mouseout', - 'mouseover', - 'mouseup', - 'mousewheel', - 'orientationchange', - 'pause', - 'play', - 'playing', - 'pointercancel', - 'pointerdown', - 'pointerenter', - 'pointerleave', - 'pointerlockchange', - 'mozpointerlockchange', - 'webkitpointerlockerchange', - 'pointerlockerror', - 'mozpointerlockerror', - 'webkitpointerlockerror', - 'pointermove', - 'pointout', - 'pointerover', - 'pointerup', - 'progress', - 'ratechange', - 'reset', - 'resize', - 'scroll', - 'seeked', - 'seeking', - 'select', - 'selectionchange', - 'selectstart', - 'show', - 'sort', - 'stalled', - 'submit', - 'suspend', - 'timeupdate', - 'volumechange', - 'touchcancel', - 'touchmove', - 'touchstart', - 'touchend', - 'transitioncancel', - 'transitionend', - 'waiting', - 'wheel' -]; -var documentEventNames = [ - 'afterscriptexecute', 'beforescriptexecute', 'DOMContentLoaded', 'freeze', 'fullscreenchange', - 'mozfullscreenchange', 'webkitfullscreenchange', 'msfullscreenchange', 'fullscreenerror', - 'mozfullscreenerror', 'webkitfullscreenerror', 'msfullscreenerror', 'readystatechange', - 'visibilitychange', 'resume' -]; -var windowEventNames = [ - 'absolutedeviceorientation', - 'afterinput', - 'afterprint', - 'appinstalled', - 'beforeinstallprompt', - 'beforeprint', - 'beforeunload', - 'devicelight', - 'devicemotion', - 'deviceorientation', - 'deviceorientationabsolute', - 'deviceproximity', - 'hashchange', - 'languagechange', - 'message', - 'mozbeforepaint', - 'offline', - 'online', - 'paint', - 'pageshow', - 'pagehide', - 'popstate', - 'rejectionhandled', - 'storage', - 'unhandledrejection', - 'unload', - 'userproximity', - 'vrdisplyconnected', - 'vrdisplaydisconnected', - 'vrdisplaypresentchange' -]; -var htmlElementEventNames = [ - 'beforecopy', 'beforecut', 'beforepaste', 'copy', 'cut', 'paste', 'dragstart', 'loadend', - 'animationstart', 'search', 'transitionrun', 'transitionstart', 'webkitanimationend', - 'webkitanimationiteration', 'webkitanimationstart', 'webkittransitionend' -]; -var mediaElementEventNames = ['encrypted', 'waitingforkey', 'msneedkey', 'mozinterruptbegin', 'mozinterruptend']; -var ieElementEventNames = [ - 'activate', - 'afterupdate', - 'ariarequest', - 'beforeactivate', - 'beforedeactivate', - 'beforeeditfocus', - 'beforeupdate', - 'cellchange', - 'controlselect', - 'dataavailable', - 'datasetchanged', - 'datasetcomplete', - 'errorupdate', - 'filterchange', - 'layoutcomplete', - 'losecapture', - 'move', - 'moveend', - 'movestart', - 'propertychange', - 'resizeend', - 'resizestart', - 'rowenter', - 'rowexit', - 'rowsdelete', - 'rowsinserted', - 'command', - 'compassneedscalibration', - 'deactivate', - 'help', - 'mscontentzoom', - 'msmanipulationstatechanged', - 'msgesturechange', - 'msgesturedoubletap', - 'msgestureend', - 'msgesturehold', - 'msgesturestart', - 'msgesturetap', - 'msgotpointercapture', - 'msinertiastart', - 'mslostpointercapture', - 'mspointercancel', - 'mspointerdown', - 'mspointerenter', - 'mspointerhover', - 'mspointerleave', - 'mspointermove', - 'mspointerout', - 'mspointerover', - 'mspointerup', - 'pointerout', - 'mssitemodejumplistitemremoved', - 'msthumbnailclick', - 'stop', - 'storagecommit' -]; -var webglEventNames = ['webglcontextrestored', 'webglcontextlost', 'webglcontextcreationerror']; -var formEventNames = ['autocomplete', 'autocompleteerror']; -var detailEventNames = ['toggle']; -var frameEventNames = ['load']; -var frameSetEventNames = ['blur', 'error', 'focus', 'load', 'resize', 'scroll', 'messageerror']; -var marqueeEventNames = ['bounce', 'finish', 'start']; -var XMLHttpRequestEventNames = [ - 'loadstart', 'progress', 'abort', 'error', 'load', 'progress', 'timeout', 'loadend', - 'readystatechange' -]; -var IDBIndexEventNames = ['upgradeneeded', 'complete', 'abort', 'success', 'error', 'blocked', 'versionchange', 'close']; -var websocketEventNames = ['close', 'error', 'open', 'message']; -var workerEventNames = ['error', 'message']; -var eventNames = globalEventHandlersEventNames.concat(webglEventNames, formEventNames, detailEventNames, documentEventNames, windowEventNames, htmlElementEventNames, ieElementEventNames); -function filterProperties(target, onProperties, ignoreProperties) { - if (!ignoreProperties || ignoreProperties.length === 0) { - return onProperties; - } - var tip = ignoreProperties.filter(function (ip) { return ip.target === target; }); - if (!tip || tip.length === 0) { - return onProperties; - } - var targetIgnoreProperties = tip[0].ignoreProperties; - return onProperties.filter(function (op) { return targetIgnoreProperties.indexOf(op) === -1; }); -} -function patchFilteredProperties(target, onProperties, ignoreProperties, prototype) { - // check whether target is available, sometimes target will be undefined - // because different browser or some 3rd party plugin. - if (!target) { - return; - } - var filteredProperties = filterProperties(target, onProperties, ignoreProperties); - patchOnProperties(target, filteredProperties, prototype); -} -function propertyDescriptorPatch(api, _global) { - if (isNode && !isMix) { - return; - } - var supportsWebSocket = typeof WebSocket !== 'undefined'; - if (canPatchViaPropertyDescriptor()) { - var ignoreProperties = _global['__Zone_ignore_on_properties']; - // for browsers that we can patch the descriptor: Chrome & Firefox - if (isBrowser) { - var internalWindow = window; - var ignoreErrorProperties = isIE ? [{ target: internalWindow, ignoreProperties: ['error'] }] : []; - // in IE/Edge, onProp not exist in window object, but in WindowPrototype - // so we need to pass WindowPrototype to check onProp exist or not - patchFilteredProperties(internalWindow, eventNames.concat(['messageerror']), ignoreProperties ? ignoreProperties.concat(ignoreErrorProperties) : ignoreProperties, ObjectGetPrototypeOf(internalWindow)); - patchFilteredProperties(Document.prototype, eventNames, ignoreProperties); - if (typeof internalWindow['SVGElement'] !== 'undefined') { - patchFilteredProperties(internalWindow['SVGElement'].prototype, eventNames, ignoreProperties); - } - patchFilteredProperties(Element.prototype, eventNames, ignoreProperties); - patchFilteredProperties(HTMLElement.prototype, eventNames, ignoreProperties); - patchFilteredProperties(HTMLMediaElement.prototype, mediaElementEventNames, ignoreProperties); - patchFilteredProperties(HTMLFrameSetElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties); - patchFilteredProperties(HTMLBodyElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties); - patchFilteredProperties(HTMLFrameElement.prototype, frameEventNames, ignoreProperties); - patchFilteredProperties(HTMLIFrameElement.prototype, frameEventNames, ignoreProperties); - var HTMLMarqueeElement_1 = internalWindow['HTMLMarqueeElement']; - if (HTMLMarqueeElement_1) { - patchFilteredProperties(HTMLMarqueeElement_1.prototype, marqueeEventNames, ignoreProperties); - } - var Worker_1 = internalWindow['Worker']; - if (Worker_1) { - patchFilteredProperties(Worker_1.prototype, workerEventNames, ignoreProperties); - } - } - patchFilteredProperties(XMLHttpRequest.prototype, XMLHttpRequestEventNames, ignoreProperties); - var XMLHttpRequestEventTarget_1 = _global['XMLHttpRequestEventTarget']; - if (XMLHttpRequestEventTarget_1) { - patchFilteredProperties(XMLHttpRequestEventTarget_1 && XMLHttpRequestEventTarget_1.prototype, XMLHttpRequestEventNames, ignoreProperties); - } - if (typeof IDBIndex !== 'undefined') { - patchFilteredProperties(IDBIndex.prototype, IDBIndexEventNames, ignoreProperties); - patchFilteredProperties(IDBRequest.prototype, IDBIndexEventNames, ignoreProperties); - patchFilteredProperties(IDBOpenDBRequest.prototype, IDBIndexEventNames, ignoreProperties); - patchFilteredProperties(IDBDatabase.prototype, IDBIndexEventNames, ignoreProperties); - patchFilteredProperties(IDBTransaction.prototype, IDBIndexEventNames, ignoreProperties); - patchFilteredProperties(IDBCursor.prototype, IDBIndexEventNames, ignoreProperties); - } - if (supportsWebSocket) { - patchFilteredProperties(WebSocket.prototype, websocketEventNames, ignoreProperties); - } - } - else { - // Safari, Android browsers (Jelly Bean) - patchViaCapturingAllTheEvents(); - patchClass('XMLHttpRequest'); - if (supportsWebSocket) { - apply(api, _global); - } - } -} -function canPatchViaPropertyDescriptor() { - if ((isBrowser || isMix) && !ObjectGetOwnPropertyDescriptor(HTMLElement.prototype, 'onclick') && - typeof Element !== 'undefined') { - // WebKit https://bugs.webkit.org/show_bug.cgi?id=134364 - // IDL interface attributes are not configurable - var desc = ObjectGetOwnPropertyDescriptor(Element.prototype, 'onclick'); - if (desc && !desc.configurable) - return false; - } - var ON_READY_STATE_CHANGE = 'onreadystatechange'; - var XMLHttpRequestPrototype = XMLHttpRequest.prototype; - var xhrDesc = ObjectGetOwnPropertyDescriptor(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE); - // add enumerable and configurable here because in opera - // by default XMLHttpRequest.prototype.onreadystatechange is undefined - // without adding enumerable and configurable will cause onreadystatechange - // non-configurable - // and if XMLHttpRequest.prototype.onreadystatechange is undefined, - // we should set a real desc instead a fake one - if (xhrDesc) { - ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, { - enumerable: true, - configurable: true, - get: function () { - return true; - } - }); - var req = new XMLHttpRequest(); - var result = !!req.onreadystatechange; - // restore original desc - ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, xhrDesc || {}); - return result; - } - else { - var SYMBOL_FAKE_ONREADYSTATECHANGE_1 = zoneSymbol('fake'); - ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, { - enumerable: true, - configurable: true, - get: function () { - return this[SYMBOL_FAKE_ONREADYSTATECHANGE_1]; - }, - set: function (value) { - this[SYMBOL_FAKE_ONREADYSTATECHANGE_1] = value; - } - }); - var req = new XMLHttpRequest(); - var detectFunc = function () { }; - req.onreadystatechange = detectFunc; - var result = req[SYMBOL_FAKE_ONREADYSTATECHANGE_1] === detectFunc; - req.onreadystatechange = null; - return result; - } -} -var unboundKey = zoneSymbol('unbound'); -// Whenever any eventListener fires, we check the eventListener target and all parents -// for `onwhatever` properties and replace them with zone-bound functions -// - Chrome (for now) -function patchViaCapturingAllTheEvents() { - var _loop_1 = function (i) { - var property = eventNames[i]; - var onproperty = 'on' + property; - self.addEventListener(property, function (event) { - var elt = event.target, bound, source; - if (elt) { - source = elt.constructor['name'] + '.' + onproperty; - } - else { - source = 'unknown.' + onproperty; - } - while (elt) { - if (elt[onproperty] && !elt[onproperty][unboundKey]) { - bound = wrapWithCurrentZone(elt[onproperty], source); - bound[unboundKey] = elt[onproperty]; - elt[onproperty] = bound; - } - elt = elt.parentElement; - } - }, true); - }; - for (var i = 0; i < eventNames.length; i++) { - _loop_1(i); - } -} - -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -function eventTargetPatch(_global, api) { - var WTF_ISSUE_555 = 'Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video'; - var NO_EVENT_TARGET = 'ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket' - .split(','); - var EVENT_TARGET = 'EventTarget'; - var apis = []; - var isWtf = _global['wtf']; - var WTF_ISSUE_555_ARRAY = WTF_ISSUE_555.split(','); - if (isWtf) { - // Workaround for: https://github.com/google/tracing-framework/issues/555 - apis = WTF_ISSUE_555_ARRAY.map(function (v) { return 'HTML' + v + 'Element'; }).concat(NO_EVENT_TARGET); - } - else if (_global[EVENT_TARGET]) { - apis.push(EVENT_TARGET); - } - else { - // Note: EventTarget is not available in all browsers, - // if it's not available, we instead patch the APIs in the IDL that inherit from EventTarget - apis = NO_EVENT_TARGET; - } - var isDisableIECheck = _global['__Zone_disable_IE_check'] || false; - var isEnableCrossContextCheck = _global['__Zone_enable_cross_context_check'] || false; - var ieOrEdge = isIEOrEdge(); - var ADD_EVENT_LISTENER_SOURCE = '.addEventListener:'; - var FUNCTION_WRAPPER = '[object FunctionWrapper]'; - var BROWSER_TOOLS = 'function __BROWSERTOOLS_CONSOLE_SAFEFUNC() { [native code] }'; - // predefine all __zone_symbol__ + eventName + true/false string - for (var i = 0; i < eventNames.length; i++) { - var eventName = eventNames[i]; - var falseEventName = eventName + FALSE_STR; - var trueEventName = eventName + TRUE_STR; - var symbol = ZONE_SYMBOL_PREFIX + falseEventName; - var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName; - zoneSymbolEventNames$1[eventName] = {}; - zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol; - zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture; - } - // predefine all task.source string - for (var i = 0; i < WTF_ISSUE_555.length; i++) { - var target = WTF_ISSUE_555_ARRAY[i]; - var targets = globalSources[target] = {}; - for (var j = 0; j < eventNames.length; j++) { - var eventName = eventNames[j]; - targets[eventName] = target + ADD_EVENT_LISTENER_SOURCE + eventName; - } - } - var checkIEAndCrossContext = function (nativeDelegate, delegate, target, args) { - if (!isDisableIECheck && ieOrEdge) { - if (isEnableCrossContextCheck) { - try { - var testString = delegate.toString(); - if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) { - nativeDelegate.apply(target, args); - return false; - } - } - catch (error) { - nativeDelegate.apply(target, args); - return false; - } - } - else { - var testString = delegate.toString(); - if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) { - nativeDelegate.apply(target, args); - return false; - } - } - } - else if (isEnableCrossContextCheck) { - try { - delegate.toString(); - } - catch (error) { - nativeDelegate.apply(target, args); - return false; - } - } - return true; - }; - var apiTypes = []; - for (var i = 0; i < apis.length; i++) { - var type = _global[apis[i]]; - apiTypes.push(type && type.prototype); - } - // vh is validateHandler to check event handler - // is valid or not(for security check) - patchEventTarget(_global, apiTypes, { vh: checkIEAndCrossContext }); - api.patchEventTarget = patchEventTarget; - return true; -} -function patchEvent(global, api) { - patchEventPrototype(global, api); -} - -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -function patchCallbacks(target, targetName, method, callbacks) { - var symbol = Zone.__symbol__(method); - if (target[symbol]) { - return; - } - var nativeDelegate = target[symbol] = target[method]; - target[method] = function (name, opts, options) { - if (opts && opts.prototype) { - callbacks.forEach(function (callback) { - var source = targetName + "." + method + "::" + callback; - var prototype = opts.prototype; - if (prototype.hasOwnProperty(callback)) { - var descriptor = ObjectGetOwnPropertyDescriptor(prototype, callback); - if (descriptor && descriptor.value) { - descriptor.value = wrapWithCurrentZone(descriptor.value, source); - _redefineProperty(opts.prototype, callback, descriptor); - } - else if (prototype[callback]) { - prototype[callback] = wrapWithCurrentZone(prototype[callback], source); - } - } - else if (prototype[callback]) { - prototype[callback] = wrapWithCurrentZone(prototype[callback], source); - } - }); - } - return nativeDelegate.call(target, name, opts, options); - }; - attachOriginToPatched(target[method], nativeDelegate); -} -function registerElementPatch(_global) { - if ((!isBrowser && !isMix) || !('registerElement' in _global.document)) { - return; - } - var callbacks = ['createdCallback', 'attachedCallback', 'detachedCallback', 'attributeChangedCallback']; - patchCallbacks(document, 'Document', 'registerElement', callbacks); -} -function patchCustomElements(_global) { - if ((!isBrowser && !isMix) || !('customElements' in _global)) { - return; - } - var callbacks = ['connectedCallback', 'disconnectedCallback', 'adoptedCallback', 'attributeChangedCallback']; - patchCallbacks(_global.customElements, 'customElements', 'define', callbacks); -} - -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @fileoverview - * @suppress {missingRequire} - */ -Zone.__load_patch('util', function (global, Zone, api) { - api.patchOnProperties = patchOnProperties; - api.patchMethod = patchMethod; - api.bindArguments = bindArguments; -}); -Zone.__load_patch('timers', function (global) { - var set = 'set'; - var clear = 'clear'; - patchTimer(global, set, clear, 'Timeout'); - patchTimer(global, set, clear, 'Interval'); - patchTimer(global, set, clear, 'Immediate'); -}); -Zone.__load_patch('requestAnimationFrame', function (global) { - patchTimer(global, 'request', 'cancel', 'AnimationFrame'); - patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame'); - patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame'); -}); -Zone.__load_patch('blocking', function (global, Zone) { - var blockingMethods = ['alert', 'prompt', 'confirm']; - for (var i = 0; i < blockingMethods.length; i++) { - var name_1 = blockingMethods[i]; - patchMethod(global, name_1, function (delegate, symbol, name) { - return function (s, args) { - return Zone.current.run(delegate, global, args, name); - }; - }); - } -}); -Zone.__load_patch('EventTarget', function (global, Zone, api) { - // load blackListEvents from global - var SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS'); - if (global[SYMBOL_BLACK_LISTED_EVENTS]) { - Zone[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_BLACK_LISTED_EVENTS]; - } - patchEvent(global, api); - eventTargetPatch(global, api); - // patch XMLHttpRequestEventTarget's addEventListener/removeEventListener - var XMLHttpRequestEventTarget = global['XMLHttpRequestEventTarget']; - if (XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype) { - api.patchEventTarget(global, [XMLHttpRequestEventTarget.prototype]); - } - patchClass('MutationObserver'); - patchClass('WebKitMutationObserver'); - patchClass('IntersectionObserver'); - patchClass('FileReader'); -}); -Zone.__load_patch('on_property', function (global, Zone, api) { - propertyDescriptorPatch(api, global); - propertyPatch(); -}); -Zone.__load_patch('customElements', function (global, Zone, api) { - registerElementPatch(global); - patchCustomElements(global); -}); -Zone.__load_patch('canvas', function (global) { - var HTMLCanvasElement = global['HTMLCanvasElement']; - if (typeof HTMLCanvasElement !== 'undefined' && HTMLCanvasElement.prototype && - HTMLCanvasElement.prototype.toBlob) { - patchMacroTask(HTMLCanvasElement.prototype, 'toBlob', function (self, args) { - return { name: 'HTMLCanvasElement.toBlob', target: self, cbIdx: 0, args: args }; - }); - } -}); -Zone.__load_patch('XHR', function (global, Zone) { - // Treat XMLHttpRequest as a macrotask. - patchXHR(global); - var XHR_TASK = zoneSymbol('xhrTask'); - var XHR_SYNC = zoneSymbol('xhrSync'); - var XHR_LISTENER = zoneSymbol('xhrListener'); - var XHR_SCHEDULED = zoneSymbol('xhrScheduled'); - var XHR_URL = zoneSymbol('xhrURL'); - var XHR_ERROR_BEFORE_SCHEDULED = zoneSymbol('xhrErrorBeforeScheduled'); - function patchXHR(window) { - var XMLHttpRequestPrototype = XMLHttpRequest.prototype; - function findPendingTask(target) { - return target[XHR_TASK]; - } - var oriAddListener = XMLHttpRequestPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER]; - var oriRemoveListener = XMLHttpRequestPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER]; - if (!oriAddListener) { - var XMLHttpRequestEventTarget_1 = window['XMLHttpRequestEventTarget']; - if (XMLHttpRequestEventTarget_1) { - var XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget_1.prototype; - oriAddListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER]; - oriRemoveListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER]; - } - } - var READY_STATE_CHANGE = 'readystatechange'; - var SCHEDULED = 'scheduled'; - function scheduleTask(task) { - var data = task.data; - var target = data.target; - target[XHR_SCHEDULED] = false; - target[XHR_ERROR_BEFORE_SCHEDULED] = false; - // remove existing event listener - var listener = target[XHR_LISTENER]; - if (!oriAddListener) { - oriAddListener = target[ZONE_SYMBOL_ADD_EVENT_LISTENER]; - oriRemoveListener = target[ZONE_SYMBOL_REMOVE_EVENT_LISTENER]; - } - if (listener) { - oriRemoveListener.call(target, READY_STATE_CHANGE, listener); - } - var newListener = target[XHR_LISTENER] = function () { - if (target.readyState === target.DONE) { - // sometimes on some browsers XMLHttpRequest will fire onreadystatechange with - // readyState=4 multiple times, so we need to check task state here - if (!data.aborted && target[XHR_SCHEDULED] && task.state === SCHEDULED) { - // check whether the xhr has registered onload listener - // if that is the case, the task should invoke after all - // onload listeners finish. - var loadTasks = target['__zone_symbol__loadfalse']; - if (loadTasks && loadTasks.length > 0) { - var oriInvoke_1 = task.invoke; - task.invoke = function () { - // need to load the tasks again, because in other - // load listener, they may remove themselves - var loadTasks = target['__zone_symbol__loadfalse']; - for (var i = 0; i < loadTasks.length; i++) { - if (loadTasks[i] === task) { - loadTasks.splice(i, 1); - } - } - if (!data.aborted && task.state === SCHEDULED) { - oriInvoke_1.call(task); - } - }; - loadTasks.push(task); - } - else { - task.invoke(); - } - } - else if (!data.aborted && target[XHR_SCHEDULED] === false) { - // error occurs when xhr.send() - target[XHR_ERROR_BEFORE_SCHEDULED] = true; - } - } - }; - oriAddListener.call(target, READY_STATE_CHANGE, newListener); - var storedTask = target[XHR_TASK]; - if (!storedTask) { - target[XHR_TASK] = task; - } - sendNative.apply(target, data.args); - target[XHR_SCHEDULED] = true; - return task; - } - function placeholderCallback() { } - function clearTask(task) { - var data = task.data; - // Note - ideally, we would call data.target.removeEventListener here, but it's too late - // to prevent it from firing. So instead, we store info for the event listener. - data.aborted = true; - return abortNative.apply(data.target, data.args); - } - var openNative = patchMethod(XMLHttpRequestPrototype, 'open', function () { return function (self, args) { - self[XHR_SYNC] = args[2] == false; - self[XHR_URL] = args[1]; - return openNative.apply(self, args); - }; }); - var XMLHTTPREQUEST_SOURCE = 'XMLHttpRequest.send'; - var fetchTaskAborting = zoneSymbol('fetchTaskAborting'); - var fetchTaskScheduling = zoneSymbol('fetchTaskScheduling'); - var sendNative = patchMethod(XMLHttpRequestPrototype, 'send', function () { return function (self, args) { - if (Zone.current[fetchTaskScheduling] === true) { - // a fetch is scheduling, so we are using xhr to polyfill fetch - // and because we already schedule macroTask for fetch, we should - // not schedule a macroTask for xhr again - return sendNative.apply(self, args); - } - if (self[XHR_SYNC]) { - // if the XHR is sync there is no task to schedule, just execute the code. - return sendNative.apply(self, args); - } - else { - var options = { target: self, url: self[XHR_URL], isPeriodic: false, args: args, aborted: false }; - var task = scheduleMacroTaskWithCurrentZone(XMLHTTPREQUEST_SOURCE, placeholderCallback, options, scheduleTask, clearTask); - if (self && self[XHR_ERROR_BEFORE_SCHEDULED] === true && !options.aborted && - task.state === SCHEDULED) { - // xhr request throw error when send - // we should invoke task instead of leaving a scheduled - // pending macroTask - task.invoke(); - } - } - }; }); - var abortNative = patchMethod(XMLHttpRequestPrototype, 'abort', function () { return function (self, args) { - var task = findPendingTask(self); - if (task && typeof task.type == 'string') { - // If the XHR has already completed, do nothing. - // If the XHR has already been aborted, do nothing. - // Fix #569, call abort multiple times before done will cause - // macroTask task count be negative number - if (task.cancelFn == null || (task.data && task.data.aborted)) { - return; - } - task.zone.cancelTask(task); - } - else if (Zone.current[fetchTaskAborting] === true) { - // the abort is called from fetch polyfill, we need to call native abort of XHR. - return abortNative.apply(self, args); - } - // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no - // task - // to cancel. Do nothing. - }; }); - } -}); -Zone.__load_patch('geolocation', function (global) { - /// GEO_LOCATION - if (global['navigator'] && global['navigator'].geolocation) { - patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']); - } -}); -Zone.__load_patch('PromiseRejectionEvent', function (global, Zone) { - // handle unhandled promise rejection - function findPromiseRejectionHandler(evtName) { - return function (e) { - var eventTasks = findEventTasks(global, evtName); - eventTasks.forEach(function (eventTask) { - // windows has added unhandledrejection event listener - // trigger the event listener - var PromiseRejectionEvent = global['PromiseRejectionEvent']; - if (PromiseRejectionEvent) { - var evt = new PromiseRejectionEvent(evtName, { promise: e.promise, reason: e.rejection }); - eventTask.invoke(evt); - } - }); - }; - } - if (global['PromiseRejectionEvent']) { - Zone[zoneSymbol('unhandledPromiseRejectionHandler')] = - findPromiseRejectionHandler('unhandledrejection'); - Zone[zoneSymbol('rejectionHandledHandler')] = - findPromiseRejectionHandler('rejectionhandled'); - } -}); - -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - -}))); - - -/***/ }), - -/***/ "./src/polyfills.ts": -/*!**************************!*\ - !*** ./src/polyfills.ts ***! - \**************************/ -/*! no exports provided */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var zone_js_dist_zone__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zone.js/dist/zone */ "./node_modules/zone.js/dist/zone.js"); -/* harmony import */ var zone_js_dist_zone__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(zone_js_dist_zone__WEBPACK_IMPORTED_MODULE_0__); -/** - * This file includes polyfills needed by Angular and is loaded before the app. - * You can add your own extra polyfills to this file. - * - * This file is divided into 2 sections: - * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. - * 2. Application imports. Files imported after ZoneJS that should be loaded before your main - * file. - * - * The current setup is for so-called "evergreen" browsers; the last versions of browsers that - * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera), - * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile. - * - * Learn more in https://angular.io/guide/browser-support - */ -/*************************************************************************************************** - * BROWSER POLYFILLS - */ -/** IE9, IE10 and IE11 requires all of the following polyfills. **/ -// import 'core-js/es6/symbol'; -// import 'core-js/es6/object'; -// import 'core-js/es6/function'; -// import 'core-js/es6/parse-int'; -// import 'core-js/es6/parse-float'; -// import 'core-js/es6/number'; -// import 'core-js/es6/math'; -// import 'core-js/es6/string'; -// import 'core-js/es6/date'; -// import 'core-js/es6/array'; -// import 'core-js/es6/regexp'; -// import 'core-js/es6/map'; -// import 'core-js/es6/weak-map'; -// import 'core-js/es6/set'; -/** - * If the application will be indexed by Google Search, the following is required. - * Googlebot uses a renderer based on Chrome 41. - * https://developers.google.com/search/docs/guides/rendering - **/ -// import 'core-js/es6/array'; -/** IE10 and IE11 requires the following for NgClass support on SVG elements */ -// import 'classlist.js'; // Run `npm install --save classlist.js`. -/** IE10 and IE11 requires the following for the Reflect API. */ -// import 'core-js/es6/reflect'; -/** - * Web Animations `@angular/platform-browser/animations` - * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari. - * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0). - **/ -// import 'web-animations-js'; // Run `npm install --save web-animations-js`. -/** - * By default, zone.js will patch all possible macroTask and DomEvents - * user can disable parts of macroTask/DomEvents patch by setting following flags - */ -// (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame -// (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick -// (window as any).__zone_symbol__BLACK_LISTED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames -/* -* in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js -* with the following flag, it will bypass `zone.js` patch for IE/Edge -*/ -// (window as any).__Zone_enable_cross_context_check = true; -/*************************************************************************************************** - * Zone JS is required by default for Angular itself. - */ - // Included with Angular CLI. -/*************************************************************************************************** - * APPLICATION IMPORTS - */ - - -/***/ }), - -/***/ 1: -/*!***************************************************************************************************************************!*\ - !*** multi ./src/polyfills.ts ./node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/jit-polyfills.js ***! - \***************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -__webpack_require__(/*! D:\Project\WORK_NEW\zano\src\gui\qt-daemon\html_source\src\polyfills.ts */"./src/polyfills.ts"); -module.exports = __webpack_require__(/*! D:\Project\WORK_NEW\zano\src\gui\qt-daemon\html_source\node_modules\@angular-devkit\build-angular\src\angular-cli-files\models\jit-polyfills.js */"./node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/jit-polyfills.js"); - - -/***/ }) - -},[[1,"runtime"]]]); -//# sourceMappingURL=polyfills.js.map \ No newline at end of file diff --git a/src/gui/qt-daemon/html/polyfills.js.map b/src/gui/qt-daemon/html/polyfills.js.map deleted file mode 100644 index cab8347c..00000000 --- a/src/gui/qt-daemon/html/polyfills.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/jit-polyfills.js","webpack:///./node_modules/core-js/es7/reflect.js","webpack:///./node_modules/core-js/modules/_a-function.js","webpack:///./node_modules/core-js/modules/_an-instance.js","webpack:///./node_modules/core-js/modules/_an-object.js","webpack:///./node_modules/core-js/modules/_array-from-iterable.js","webpack:///./node_modules/core-js/modules/_array-includes.js","webpack:///./node_modules/core-js/modules/_array-methods.js","webpack:///./node_modules/core-js/modules/_array-species-constructor.js","webpack:///./node_modules/core-js/modules/_array-species-create.js","webpack:///./node_modules/core-js/modules/_classof.js","webpack:///./node_modules/core-js/modules/_cof.js","webpack:///./node_modules/core-js/modules/_collection-strong.js","webpack:///./node_modules/core-js/modules/_collection-weak.js","webpack:///./node_modules/core-js/modules/_collection.js","webpack:///./node_modules/core-js/modules/_core.js","webpack:///./node_modules/core-js/modules/_ctx.js","webpack:///./node_modules/core-js/modules/_defined.js","webpack:///./node_modules/core-js/modules/_descriptors.js","webpack:///./node_modules/core-js/modules/_dom-create.js","webpack:///./node_modules/core-js/modules/_enum-bug-keys.js","webpack:///./node_modules/core-js/modules/_export.js","webpack:///./node_modules/core-js/modules/_fails.js","webpack:///./node_modules/core-js/modules/_for-of.js","webpack:///./node_modules/core-js/modules/_function-to-string.js","webpack:///./node_modules/core-js/modules/_global.js","webpack:///./node_modules/core-js/modules/_has.js","webpack:///./node_modules/core-js/modules/_hide.js","webpack:///./node_modules/core-js/modules/_html.js","webpack:///./node_modules/core-js/modules/_ie8-dom-define.js","webpack:///./node_modules/core-js/modules/_inherit-if-required.js","webpack:///./node_modules/core-js/modules/_iobject.js","webpack:///./node_modules/core-js/modules/_is-array-iter.js","webpack:///./node_modules/core-js/modules/_is-array.js","webpack:///./node_modules/core-js/modules/_is-object.js","webpack:///./node_modules/core-js/modules/_iter-call.js","webpack:///./node_modules/core-js/modules/_iter-create.js","webpack:///./node_modules/core-js/modules/_iter-define.js","webpack:///./node_modules/core-js/modules/_iter-detect.js","webpack:///./node_modules/core-js/modules/_iter-step.js","webpack:///./node_modules/core-js/modules/_iterators.js","webpack:///./node_modules/core-js/modules/_library.js","webpack:///./node_modules/core-js/modules/_meta.js","webpack:///./node_modules/core-js/modules/_metadata.js","webpack:///./node_modules/core-js/modules/_object-assign.js","webpack:///./node_modules/core-js/modules/_object-create.js","webpack:///./node_modules/core-js/modules/_object-dp.js","webpack:///./node_modules/core-js/modules/_object-dps.js","webpack:///./node_modules/core-js/modules/_object-gopd.js","webpack:///./node_modules/core-js/modules/_object-gops.js","webpack:///./node_modules/core-js/modules/_object-gpo.js","webpack:///./node_modules/core-js/modules/_object-keys-internal.js","webpack:///./node_modules/core-js/modules/_object-keys.js","webpack:///./node_modules/core-js/modules/_object-pie.js","webpack:///./node_modules/core-js/modules/_property-desc.js","webpack:///./node_modules/core-js/modules/_redefine-all.js","webpack:///./node_modules/core-js/modules/_redefine.js","webpack:///./node_modules/core-js/modules/_set-proto.js","webpack:///./node_modules/core-js/modules/_set-species.js","webpack:///./node_modules/core-js/modules/_set-to-string-tag.js","webpack:///./node_modules/core-js/modules/_shared-key.js","webpack:///./node_modules/core-js/modules/_shared.js","webpack:///./node_modules/core-js/modules/_to-absolute-index.js","webpack:///./node_modules/core-js/modules/_to-integer.js","webpack:///./node_modules/core-js/modules/_to-iobject.js","webpack:///./node_modules/core-js/modules/_to-length.js","webpack:///./node_modules/core-js/modules/_to-object.js","webpack:///./node_modules/core-js/modules/_to-primitive.js","webpack:///./node_modules/core-js/modules/_uid.js","webpack:///./node_modules/core-js/modules/_validate-collection.js","webpack:///./node_modules/core-js/modules/_wks.js","webpack:///./node_modules/core-js/modules/core.get-iterator-method.js","webpack:///./node_modules/core-js/modules/es6.map.js","webpack:///./node_modules/core-js/modules/es6.set.js","webpack:///./node_modules/core-js/modules/es6.weak-map.js","webpack:///./node_modules/core-js/modules/es7.reflect.define-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.delete-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-metadata-keys.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-own-metadata-keys.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-own-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.has-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.has-own-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.metadata.js","webpack:///./node_modules/zone.js/dist/zone.js","webpack:///./src/polyfills.ts"],"names":[],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAC6B;;;;;;;;;;;;ACP7B,mBAAO,CAAC,6GAAwC;AAChD,mBAAO,CAAC,6GAAwC;AAChD,mBAAO,CAAC,uGAAqC;AAC7C,mBAAO,CAAC,iHAA0C;AAClD,mBAAO,CAAC,+GAAyC;AACjD,mBAAO,CAAC,yHAA8C;AACtD,mBAAO,CAAC,uGAAqC;AAC7C,mBAAO,CAAC,+GAAyC;AACjD,mBAAO,CAAC,+FAAiC;AACzC,iBAAiB,mBAAO,CAAC,iEAAkB;;;;;;;;;;;;ACT3C;AACA;AACA;AACA;;;;;;;;;;;;ACHA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;ACJA,eAAe,mBAAO,CAAC,kEAAc;AACrC;AACA;AACA;AACA;;;;;;;;;;;;ACJA,YAAY,mBAAO,CAAC,4DAAW;;AAE/B;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACNA;AACA;AACA,gBAAgB,mBAAO,CAAC,oEAAe;AACvC,eAAe,mBAAO,CAAC,kEAAc;AACrC,sBAAsB,mBAAO,CAAC,kFAAsB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,YAAY,eAAe;AAChC;AACA,KAAK;AACL;AACA;;;;;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,mBAAO,CAAC,sDAAQ;AAC1B,cAAc,mBAAO,CAAC,8DAAY;AAClC,eAAe,mBAAO,CAAC,kEAAc;AACrC,eAAe,mBAAO,CAAC,kEAAc;AACrC,UAAU,mBAAO,CAAC,wFAAyB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA,wCAAwC;AACxC;AACA,8BAA8B;AAC9B,6BAA6B;AAC7B,+BAA+B;AAC/B,mCAAmC;AACnC,SAAS,iCAAiC;AAC1C;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC3CA,eAAe,mBAAO,CAAC,kEAAc;AACrC,cAAc,mBAAO,CAAC,gEAAa;AACnC,cAAc,mBAAO,CAAC,sDAAQ;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;ACfA;AACA,yBAAyB,mBAAO,CAAC,kGAA8B;;AAE/D;AACA;AACA;;;;;;;;;;;;ACLA;AACA,UAAU,mBAAO,CAAC,sDAAQ;AAC1B,UAAU,mBAAO,CAAC,sDAAQ;AAC1B;AACA,2BAA2B,kBAAkB,EAAE;;AAE/C;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACtBA,iBAAiB;;AAEjB;AACA;AACA;;;;;;;;;;;;;ACJa;AACb,SAAS,mBAAO,CAAC,kEAAc;AAC/B,aAAa,mBAAO,CAAC,0EAAkB;AACvC,kBAAkB,mBAAO,CAAC,wEAAiB;AAC3C,UAAU,mBAAO,CAAC,sDAAQ;AAC1B,iBAAiB,mBAAO,CAAC,sEAAgB;AACzC,YAAY,mBAAO,CAAC,4DAAW;AAC/B,kBAAkB,mBAAO,CAAC,sEAAgB;AAC1C,WAAW,mBAAO,CAAC,kEAAc;AACjC,iBAAiB,mBAAO,CAAC,sEAAgB;AACzC,kBAAkB,mBAAO,CAAC,sEAAgB;AAC1C,cAAc,mBAAO,CAAC,wDAAS;AAC/B,eAAe,mBAAO,CAAC,sFAAwB;AAC/C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,6BAA6B;AAC7B,0BAA0B;AAC1B,0BAA0B;AAC1B,qBAAqB;AACrB;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,8EAA8E,OAAO;AACrF;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC,qBAAqB;AACrB,0BAA0B;AAC1B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;;;;;;;;;;;;AC/Ia;AACb,kBAAkB,mBAAO,CAAC,wEAAiB;AAC3C,cAAc,mBAAO,CAAC,wDAAS;AAC/B,eAAe,mBAAO,CAAC,kEAAc;AACrC,eAAe,mBAAO,CAAC,kEAAc;AACrC,iBAAiB,mBAAO,CAAC,sEAAgB;AACzC,YAAY,mBAAO,CAAC,4DAAW;AAC/B,wBAAwB,mBAAO,CAAC,0EAAkB;AAClD,WAAW,mBAAO,CAAC,sDAAQ;AAC3B,eAAe,mBAAO,CAAC,sFAAwB;AAC/C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,qBAAqB;AACrB,0BAA0B;AAC1B;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;ACpFa;AACb,aAAa,mBAAO,CAAC,4DAAW;AAChC,cAAc,mBAAO,CAAC,4DAAW;AACjC,eAAe,mBAAO,CAAC,gE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AgB,mBAAmB;AACnC;AACA;AACA,kCAAkC,2BAA2B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;;;;;;;;;;;ACpEA,eAAe,mBAAO,CAAC,sDAAQ;AAC/B;;AAEA;AACA;AACA,iCAAiC,qBAAqB;AACtD;AACA,iCAAiC,SAAS,EAAE;AAC5C,CAAC,YAAY;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,SAAS,qBAAqB;AAC3D,iCAAiC,aAAa;AAC9C;AACA,GAAG,YAAY;AACf;AACA;;;;;;;;;;;;ACrBA;AACA,UAAU;AACV;;;;;;;;;;;;ACFA;;;;;;;;;;;;ACAA;;;;;;;;;;;;ACAA,WAAW,mBAAO,CAAC,sDAAQ;AAC3B,eAAe,mBAAO,CAAC,kEAAc;AACrC,UAAU,mBAAO,CAAC,sDAAQ;AAC1B,cAAc,mBAAO,CAAC,kEAAc;AACpC;AACA;AACA;AACA;AACA,cAAc,mBAAO,CAAC,0DAAU;AAChC,iDAAiD;AACjD,CAAC;AACD;AACA,qBAAqB;AACrB;AACA,SAAS;AACT,GAAG,EAAE;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACpDA,UAAU,mBAAO,CAAC,4DAAW;AAC7B,cAAc,mBAAO,CAAC,4DAAW;AACjC,aAAa,mBAAO,CAAC,4DAAW;AAChC,iDAAiD,mBAAO,CAAC,sEAAgB;;AAEzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,gBAAgB,EAAE;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;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AAO,CAAC,gEAAa;AACpC,eAAe,mBAAO,CAAC,kEAAc;AACrC;AACA;;AAEA,cAAc;AACd;AACA;AACA,CAAC,EAAE;;;;;;;;;;;;ACRH,gBAAgB,mBAAO,CAAC,gEAAa;AACrC,eAAe,mBAAO,CAAC,kEAAc;AACrC,gBAAgB,mBAAO,CAAC,oEAAe;AACvC;AACA;;AAEA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAE;;;;;;;;;;;;ACdH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,KAA4D;AAC7D,CAAC,SACW;AACZ,CAAC,qBAAqB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,kBAAkB;AACzD,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,0BAA0B;AACrD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,iEAAiE,+CAA+C,EAAE;AAClH;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT,4DAA4D,0CAA0C;AACtG;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,kBAAkB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA,uCAAuC,0BAA0B,EAAE;AACnE;AACA;AACA;AACA,wCAAwC,6DAA6D,EAAE;AACvG,uCAAuC,WAAW,EAAE;AACpD;AACA,kCAAkC,aAAa,EAAE;AACjD,oCAAoC,WAAW,EAAE;AACjD,gCAAgC,aAAa,EAAE;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,6BAA6B;AAC7B;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4HAA4H,wBAAwB,oCAAoC;AACxL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gFAAgF,sEAAsE;AACtJ;AACA;AACA,+BAA+B,kBAAkB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,oDAAoD;AAC5F;AACA;AACA;AACA;AACA;AACA,2BAA2B,mCAAmC;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,qEAAqE,gBAAgB;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,sCAAsC,MAAI;AAC1C;AACA;AACA,sCAAsC,MAAI;AAC1C;AACA;AACA,mFAAmF,kBAAkB;AACrG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,QAAQ,gBAAgB;AACnD;AACA;AACA;AACA;AACA,yBAAyB,0BAA0B;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,mFAAmF,kBAAkB;AACrG;AACA;AACA;AACA;AACA,2BAA2B,QAAQ,gBAAgB;AACnD;AACA;AACA;AACA;AACA,yBAAyB,0BAA0B;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uGAAuG;AACvG;AACA;AACA;AACA;AACA,UAAU,EAAE;AACZ;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,QAAQ;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,uBAAuB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,yBAAyB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,EAAE;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,EAAE;AACR;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,oCAAoC;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,sBAAsB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,sBAAsB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,0BAA0B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,sBAAsB;AAChE,qCAAqC,iBAAiB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,8BAA8B;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,0BAA0B;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,0BAA0B;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,iBAAiB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,wBAAwB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,wBAAwB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,kBAAkB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0FAA0F;AAC1F;AACA;AACA;AACA;AACA;AACA,UAAU,EAAE;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,EAAE;AACZ;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,EAAE;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,0BAA0B,EAAE;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,6BAA6B,EAAE;AACpF;AACA;AACA;AACA;AACA,8CAA8C,kDAAkD,EAAE;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,sDAAsD;AACvG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,0FAA0F;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,+BAA+B,EAAE;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE,gBAAgB;AACrF;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,0BAA0B;AAC7C;AACA;AACA,uBAAuB,uBAAuB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA,yCAAyC,6BAA6B;AACtE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,mBAAmB,4BAA4B;AAC/C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,SAAS;AACT;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,sBAAsB;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mFAAmF;AACnF;AACA;AACA;AACA,UAAU,EAAE;AACZ;AACA;AACA;AACA,mFAAmF;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,EAAE;AACZ,qFAAqF;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,EAAE;AACZ;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE,0CAA0C;AAC5G;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC;;;;;;;;;;;;;ACjxGD;AAAA;AAAA;AAAA;;;;;;;;;;;;;;GAcG;AAEH;;GAEG;AAEH,mEAAmE;AACnE,+BAA+B;AAC/B,+BAA+B;AAC/B,iCAAiC;AACjC,kCAAkC;AAClC,oCAAoC;AACpC,+BAA+B;AAC/B,6BAA6B;AAC7B,+BAA+B;AAC/B,6BAA6B;AAC7B,8BAA8B;AAC9B,+BAA+B;AAC/B,4BAA4B;AAC5B,iCAAiC;AACjC,4BAA4B;AAE5B;;;;IAII;AACJ,8BAA8B;AAE9B,+EAA+E;AAC/E,oEAAoE;AAEpE,gEAAgE;AAChE,gCAAgC;AAEhC;;;;IAII;AACJ,8EAA8E;AAE9E;;;GAGG;AAEF,sGAAsG;AACtG,iGAAiG;AACjG,sHAAsH;AAEtH;;;EAGE;AACH,4DAA4D;AAE5D;;GAEG;AACwB,CAAE,6BAA6B;AAG1D;;GAEG","file":"polyfills.js","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport 'core-js/es7/reflect';\n","require('../modules/es7.reflect.define-metadata');\nrequire('../modules/es7.reflect.delete-metadata');\nrequire('../modules/es7.reflect.get-metadata');\nrequire('../modules/es7.reflect.get-metadata-keys');\nrequire('../modules/es7.reflect.get-own-metadata');\nrequire('../modules/es7.reflect.get-own-metadata-keys');\nrequire('../modules/es7.reflect.has-metadata');\nrequire('../modules/es7.reflect.has-own-metadata');\nrequire('../modules/es7.reflect.metadata');\nmodule.exports = require('../modules/_core').Reflect;\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","var forOf = require('./_for-of');\n\nmodule.exports = function (iter, ITERATOR) {\n var result = [];\n forOf(iter, false, result.push, result, ITERATOR);\n return result;\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n","'use strict';\nvar redefineAll = require('./_redefine-all');\nvar getWeak = require('./_meta').getWeak;\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar createArrayMethod = require('./_array-methods');\nvar $has = require('./_has');\nvar validate = require('./_validate-collection');\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.a = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function (key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar redefineAll = require('./_redefine-all');\nvar meta = require('./_meta');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar $iterDetect = require('./_iter-detect');\nvar setToStringTag = require('./_set-to-string-tag');\nvar inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n var fixMethod = function (KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n // weak collections should not contains .clear method\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n","var core = module.exports = { version: '2.6.12' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n } return that;\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","module.exports = {};\n","module.exports = false;\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","var Map = require('./es6.map');\nvar $export = require('./_export');\nvar shared = require('./_shared')('metadata');\nvar store = shared.store || (shared.store = new (require('./es6.weak-map'))());\n\nvar getOrCreateMetadataMap = function (target, targetKey, create) {\n var targetMetadata = store.get(target);\n if (!targetMetadata) {\n if (!create) return undefined;\n store.set(target, targetMetadata = new Map());\n }\n var keyMetadata = targetMetadata.get(targetKey);\n if (!keyMetadata) {\n if (!create) return undefined;\n targetMetadata.set(targetKey, keyMetadata = new Map());\n } return keyMetadata;\n};\nvar ordinaryHasOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? false : metadataMap.has(MetadataKey);\n};\nvar ordinaryGetOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);\n};\nvar ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) {\n getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);\n};\nvar ordinaryOwnMetadataKeys = function (target, targetKey) {\n var metadataMap = getOrCreateMetadataMap(target, targetKey, false);\n var keys = [];\n if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); });\n return keys;\n};\nvar toMetaKey = function (it) {\n return it === undefined || typeof it == 'symbol' ? it : String(it);\n};\nvar exp = function (O) {\n $export($export.S, 'Reflect', O);\n};\n\nmodule.exports = {\n store: store,\n map: getOrCreateMetadataMap,\n has: ordinaryHasOwnMetadata,\n get: ordinaryGetOwnMetadata,\n set: ordinaryDefineOwnMetadata,\n keys: ordinaryOwnMetadataKeys,\n key: toMetaKey,\n exp: exp\n};\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","exports.f = {}.propertyIsEnumerable;\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var redefine = require('./_redefine');\nmodule.exports = function (target, src, safe) {\n for (var key in src) redefine(target, key, src[key], safe);\n return target;\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar $toString = require('./_function-to-string');\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')(MAP, function (get) {\n return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = strong.getEntry(validate(this, MAP), key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')(SET, function (get) {\n return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n }\n}, strong);\n","'use strict';\nvar global = require('./_global');\nvar each = require('./_array-methods')(0);\nvar redefine = require('./_redefine');\nvar meta = require('./_meta');\nvar assign = require('./_object-assign');\nvar weak = require('./_collection-weak');\nvar isObject = require('./_is-object');\nvar validate = require('./_validate-collection');\nvar NATIVE_WEAK_MAP = require('./_validate-collection');\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar InternalMap;\n\nvar wrapper = function (get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n // store frozen objects on internal weakmap shim\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar toMetaKey = metadata.key;\nvar ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({ defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) {\n ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar toMetaKey = metadata.key;\nvar getOrCreateMetadataMap = metadata.map;\nvar store = metadata.store;\n\nmetadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) {\n var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]);\n var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);\n if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false;\n if (metadataMap.size) return true;\n var targetMetadata = store.get(target);\n targetMetadata['delete'](targetKey);\n return !!targetMetadata.size || store['delete'](target);\n} });\n","var Set = require('./es6.set');\nvar from = require('./_array-from-iterable');\nvar metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nvar ordinaryMetadataKeys = function (O, P) {\n var oKeys = ordinaryOwnMetadataKeys(O, P);\n var parent = getPrototypeOf(O);\n if (parent === null) return oKeys;\n var pKeys = ordinaryMetadataKeys(parent, P);\n return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;\n};\n\nmetadata.exp({ getMetadataKeys: function getMetadataKeys(target /* , targetKey */) {\n return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar ordinaryGetOwnMetadata = metadata.get;\nvar toMetaKey = metadata.key;\n\nvar ordinaryGetMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P);\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;\n};\n\nmetadata.exp({ getMetadata: function getMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) {\n return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryGetOwnMetadata = metadata.get;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryGetOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar toMetaKey = metadata.key;\n\nvar ordinaryHasMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return true;\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;\n};\n\nmetadata.exp({ hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryHasOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var $metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar toMetaKey = $metadata.key;\nvar ordinaryDefineOwnMetadata = $metadata.set;\n\n$metadata.exp({ metadata: function metadata(metadataKey, metadataValue) {\n return function decorator(target, targetKey) {\n ordinaryDefineOwnMetadata(\n metadataKey, metadataValue,\n (targetKey !== undefined ? anObject : aFunction)(target),\n toMetaKey(targetKey)\n );\n };\n} });\n","/**\n* @license\n* Copyright Google Inc. All Rights Reserved.\n*\n* Use of this source code is governed by an MIT-style license that can be\n* found in the LICENSE file at https://angular.io/license\n*/\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(factory());\n}(this, (function () { 'use strict';\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar Zone$1 = (function (global) {\n var performance = global['performance'];\n function mark(name) {\n performance && performance['mark'] && performance['mark'](name);\n }\n function performanceMeasure(name, label) {\n performance && performance['measure'] && performance['measure'](name, label);\n }\n mark('Zone');\n var checkDuplicate = global[('__zone_symbol__forceDuplicateZoneCheck')] === true;\n if (global['Zone']) {\n // if global['Zone'] already exists (maybe zone.js was already loaded or\n // some other lib also registered a global object named Zone), we may need\n // to throw an error, but sometimes user may not want this error.\n // For example,\n // we have two web pages, page1 includes zone.js, page2 doesn't.\n // and the 1st time user load page1 and page2, everything work fine,\n // but when user load page2 again, error occurs because global['Zone'] already exists.\n // so we add a flag to let user choose whether to throw this error or not.\n // By default, if existing Zone is from zone.js, we will not throw the error.\n if (checkDuplicate || typeof global['Zone'].__symbol__ !== 'function') {\n throw new Error('Zone already loaded.');\n }\n else {\n return global['Zone'];\n }\n }\n var Zone = /** @class */ (function () {\n function Zone(parent, zoneSpec) {\n this._parent = parent;\n this._name = zoneSpec ? zoneSpec.name || 'unnamed' : '';\n this._properties = zoneSpec && zoneSpec.properties || {};\n this._zoneDelegate =\n new ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);\n }\n Zone.assertZonePatched = function () {\n if (global['Promise'] !== patches['ZoneAwarePromise']) {\n throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' +\n 'has been overwritten.\\n' +\n 'Most likely cause is that a Promise polyfill has been loaded ' +\n 'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' +\n 'If you must load one, do so before loading zone.js.)');\n }\n };\n Object.defineProperty(Zone, \"root\", {\n get: function () {\n var zone = Zone.current;\n while (zone.parent) {\n zone = zone.parent;\n }\n return zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone, \"current\", {\n get: function () {\n return _currentZoneFrame.zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone, \"currentTask\", {\n get: function () {\n return _currentTask;\n },\n enumerable: true,\n configurable: true\n });\n Zone.__load_patch = function (name, fn) {\n if (patches.hasOwnProperty(name)) {\n if (checkDuplicate) {\n throw Error('Already loaded patch: ' + name);\n }\n }\n else if (!global['__Zone_disable_' + name]) {\n var perfName = 'Zone:' + name;\n mark(perfName);\n patches[name] = fn(global, Zone, _api);\n performanceMeasure(perfName, perfName);\n }\n };\n Object.defineProperty(Zone.prototype, \"parent\", {\n get: function () {\n return this._parent;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone.prototype, \"name\", {\n get: function () {\n return this._name;\n },\n enumerable: true,\n configurable: true\n });\n Zone.prototype.get = function (key) {\n var zone = this.getZoneWith(key);\n if (zone)\n return zone._properties[key];\n };\n Zone.prototype.getZoneWith = function (key) {\n var current = this;\n while (current) {\n if (current._properties.hasOwnProperty(key)) {\n return current;\n }\n current = current._parent;\n }\n return null;\n };\n Zone.prototype.fork = function (zoneSpec) {\n if (!zoneSpec)\n throw new Error('ZoneSpec required!');\n return this._zoneDelegate.fork(this, zoneSpec);\n };\n Zone.prototype.wrap = function (callback, source) {\n if (typeof callback !== 'function') {\n throw new Error('Expecting function got: ' + callback);\n }\n var _callback = this._zoneDelegate.intercept(this, callback, source);\n var zone = this;\n return function () {\n return zone.runGuarded(_callback, this, arguments, source);\n };\n };\n Zone.prototype.run = function (callback, applyThis, applyArgs, source) {\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runGuarded = function (callback, applyThis, applyArgs, source) {\n if (applyThis === void 0) { applyThis = null; }\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runTask = function (task, applyThis, applyArgs) {\n if (task.zone != this) {\n throw new Error('A task can only be run in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n }\n // https://github.com/angular/zone.js/issues/778, sometimes eventTask\n // will run in notScheduled(canceled) state, we should not try to\n // run such kind of task but just return\n if (task.state === notScheduled && (task.type === eventTask || task.type === macroTask)) {\n return;\n }\n var reEntryGuard = task.state != running;\n reEntryGuard && task._transitionTo(running, scheduled);\n task.runCount++;\n var previousTask = _currentTask;\n _currentTask = task;\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n if (task.type == macroTask && task.data && !task.data.isPeriodic) {\n task.cancelFn = undefined;\n }\n try {\n return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n // if the task's state is notScheduled or unknown, then it has already been cancelled\n // we should not reset the state to scheduled\n if (task.state !== notScheduled && task.state !== unknown) {\n if (task.type == eventTask || (task.data && task.data.isPeriodic)) {\n reEntryGuard && task._transitionTo(scheduled, running);\n }\n else {\n task.runCount = 0;\n this._updateTaskCount(task, -1);\n reEntryGuard &&\n task._transitionTo(notScheduled, running, notScheduled);\n }\n }\n _currentZoneFrame = _currentZoneFrame.parent;\n _currentTask = previousTask;\n }\n };\n Zone.prototype.scheduleTask = function (task) {\n if (task.zone && task.zone !== this) {\n // check if the task was rescheduled, the newZone\n // should not be the children of the original zone\n var newZone = this;\n while (newZone) {\n if (newZone === task.zone) {\n throw Error(\"can not reschedule task to \" + this.name + \" which is descendants of the original zone \" + task.zone.name);\n }\n newZone = newZone.parent;\n }\n }\n task._transitionTo(scheduling, notScheduled);\n var zoneDelegates = [];\n task._zoneDelegates = zoneDelegates;\n task._zone = this;\n try {\n task = this._zoneDelegate.scheduleTask(this, task);\n }\n catch (err) {\n // should set task's state to unknown when scheduleTask throw error\n // because the err may from reschedule, so the fromState maybe notScheduled\n task._transitionTo(unknown, scheduling, notScheduled);\n // TODO: @JiaLiPassion, should we check the result from handleError?\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n if (task._zoneDelegates === zoneDelegates) {\n // we have to check because internally the delegate can reschedule the task.\n this._updateTaskCount(task, 1);\n }\n if (task.state == scheduling) {\n task._transitionTo(scheduled, scheduling);\n }\n return task;\n };\n Zone.prototype.scheduleMicroTask = function (source, callback, data, customSchedule) {\n return this.scheduleTask(new ZoneTask(microTask, source, callback, data, customSchedule, undefined));\n };\n Zone.prototype.scheduleMacroTask = function (source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(macroTask, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.scheduleEventTask = function (source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(eventTask, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.cancelTask = function (task) {\n if (task.zone != this)\n throw new Error('A task can only be cancelled in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n task._transitionTo(canceling, scheduled, running);\n try {\n this._zoneDelegate.cancelTask(this, task);\n }\n catch (err) {\n // if error occurs when cancelTask, transit the state to unknown\n task._transitionTo(unknown, canceling);\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n this._updateTaskCount(task, -1);\n task._transitionTo(notScheduled, canceling);\n task.runCount = 0;\n return task;\n };\n Zone.prototype._updateTaskCount = function (task, count) {\n var zoneDelegates = task._zoneDelegates;\n if (count == -1) {\n task._zoneDelegates = null;\n }\n for (var i = 0; i < zoneDelegates.length; i++) {\n zoneDelegates[i]._updateTaskCount(task.type, count);\n }\n };\n Zone.__symbol__ = __symbol__;\n return Zone;\n }());\n var DELEGATE_ZS = {\n name: '',\n onHasTask: function (delegate, _, target, hasTaskState) { return delegate.hasTask(target, hasTaskState); },\n onScheduleTask: function (delegate, _, target, task) {\n return delegate.scheduleTask(target, task);\n },\n onInvokeTask: function (delegate, _, target, task, applyThis, applyArgs) {\n return delegate.invokeTask(target, task, applyThis, applyArgs);\n },\n onCancelTask: function (delegate, _, target, task) { return delegate.cancelTask(target, task); }\n };\n var ZoneDelegate = /** @class */ (function () {\n function ZoneDelegate(zone, parentDelegate, zoneSpec) {\n this._taskCounts = { 'microTask': 0, 'macroTask': 0, 'eventTask': 0 };\n this.zone = zone;\n this._parentDelegate = parentDelegate;\n this._forkZS = zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);\n this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);\n this._forkCurrZone = zoneSpec && (zoneSpec.onFork ? this.zone : parentDelegate.zone);\n this._interceptZS =\n zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);\n this._interceptDlgt =\n zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);\n this._interceptCurrZone =\n zoneSpec && (zoneSpec.onIntercept ? this.zone : parentDelegate.zone);\n this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);\n this._invokeDlgt =\n zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);\n this._invokeCurrZone = zoneSpec && (zoneSpec.onInvoke ? this.zone : parentDelegate.zone);\n this._handleErrorZS =\n zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);\n this._handleErrorDlgt =\n zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);\n this._handleErrorCurrZone =\n zoneSpec && (zoneSpec.onHandleError ? this.zone : parentDelegate.zone);\n this._scheduleTaskZS =\n zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);\n this._scheduleTaskDlgt = zoneSpec &&\n (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);\n this._scheduleTaskCurrZone =\n zoneSpec && (zoneSpec.onScheduleTask ? this.zone : parentDelegate.zone);\n this._invokeTaskZS =\n zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);\n this._invokeTaskDlgt =\n zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);\n this._invokeTaskCurrZone =\n zoneSpec && (zoneSpec.onInvokeTask ? this.zone : parentDelegate.zone);\n this._cancelTaskZS =\n zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);\n this._cancelTaskDlgt =\n zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);\n this._cancelTaskCurrZone =\n zoneSpec && (zoneSpec.onCancelTask ? this.zone : parentDelegate.zone);\n this._hasTaskZS = null;\n this._hasTaskDlgt = null;\n this._hasTaskDlgtOwner = null;\n this._hasTaskCurrZone = null;\n var zoneSpecHasTask = zoneSpec && zoneSpec.onHasTask;\n var parentHasTask = parentDelegate && parentDelegate._hasTaskZS;\n if (zoneSpecHasTask || parentHasTask) {\n // If we need to report hasTask, than this ZS needs to do ref counting on tasks. In such\n // a case all task related interceptors must go through this ZD. We can't short circuit it.\n this._hasTaskZS = zoneSpecHasTask ? zoneSpec : DELEGATE_ZS;\n this._hasTaskDlgt = parentDelegate;\n this._hasTaskDlgtOwner = this;\n this._hasTaskCurrZone = zone;\n if (!zoneSpec.onScheduleTask) {\n this._scheduleTaskZS = DELEGATE_ZS;\n this._scheduleTaskDlgt = parentDelegate;\n this._scheduleTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onInvokeTask) {\n this._invokeTaskZS = DELEGATE_ZS;\n this._invokeTaskDlgt = parentDelegate;\n this._invokeTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onCancelTask) {\n this._cancelTaskZS = DELEGATE_ZS;\n this._cancelTaskDlgt = parentDelegate;\n this._cancelTaskCurrZone = this.zone;\n }\n }\n }\n ZoneDelegate.prototype.fork = function (targetZone, zoneSpec) {\n return this._forkZS ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) :\n new Zone(targetZone, zoneSpec);\n };\n ZoneDelegate.prototype.intercept = function (targetZone, callback, source) {\n return this._interceptZS ?\n this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source) :\n callback;\n };\n ZoneDelegate.prototype.invoke = function (targetZone, callback, applyThis, applyArgs, source) {\n return this._invokeZS ? this._invokeZS.onInvoke(this._invokeDlgt, this._invokeCurrZone, targetZone, callback, applyThis, applyArgs, source) :\n callback.apply(applyThis, applyArgs);\n };\n ZoneDelegate.prototype.handleError = function (targetZone, error) {\n return this._handleErrorZS ?\n this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error) :\n true;\n };\n ZoneDelegate.prototype.scheduleTask = function (targetZone, task) {\n var returnTask = task;\n if (this._scheduleTaskZS) {\n if (this._hasTaskZS) {\n returnTask._zoneDelegates.push(this._hasTaskDlgtOwner);\n }\n returnTask = this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task);\n if (!returnTask)\n returnTask = task;\n }\n else {\n if (task.scheduleFn) {\n task.scheduleFn(task);\n }\n else if (task.type == microTask) {\n scheduleMicroTask(task);\n }\n else {\n throw new Error('Task is missing scheduleFn.');\n }\n }\n return returnTask;\n };\n ZoneDelegate.prototype.invokeTask = function (targetZone, task, applyThis, applyArgs) {\n return this._invokeTaskZS ? this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this._invokeTaskCurrZone, targetZone, task, applyThis, applyArgs) :\n task.callback.apply(applyThis, applyArgs);\n };\n ZoneDelegate.prototype.cancelTask = function (targetZone, task) {\n var value;\n if (this._cancelTaskZS) {\n value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this._cancelTaskCurrZone, targetZone, task);\n }\n else {\n if (!task.cancelFn) {\n throw Error('Task is not cancelable');\n }\n value = task.cancelFn(task);\n }\n return value;\n };\n ZoneDelegate.prototype.hasTask = function (targetZone, isEmpty) {\n // hasTask should not throw error so other ZoneDelegate\n // can still trigger hasTask callback\n try {\n this._hasTaskZS &&\n this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty);\n }\n catch (err) {\n this.handleError(targetZone, err);\n }\n };\n ZoneDelegate.prototype._updateTaskCount = function (type, count) {\n var counts = this._taskCounts;\n var prev = counts[type];\n var next = counts[type] = prev + count;\n if (next < 0) {\n throw new Error('More tasks executed then were scheduled.');\n }\n if (prev == 0 || next == 0) {\n var isEmpty = {\n microTask: counts['microTask'] > 0,\n macroTask: counts['macroTask'] > 0,\n eventTask: counts['eventTask'] > 0,\n change: type\n };\n this.hasTask(this.zone, isEmpty);\n }\n };\n return ZoneDelegate;\n }());\n var ZoneTask = /** @class */ (function () {\n function ZoneTask(type, source, callback, options, scheduleFn, cancelFn) {\n this._zone = null;\n this.runCount = 0;\n this._zoneDelegates = null;\n this._state = 'notScheduled';\n this.type = type;\n this.source = source;\n this.data = options;\n this.scheduleFn = scheduleFn;\n this.cancelFn = cancelFn;\n this.callback = callback;\n var self = this;\n // TODO: @JiaLiPassion options should have interface\n if (type === eventTask && options && options.useG) {\n this.invoke = ZoneTask.invokeTask;\n }\n else {\n this.invoke = function () {\n return ZoneTask.invokeTask.call(global, self, this, arguments);\n };\n }\n }\n ZoneTask.invokeTask = function (task, target, args) {\n if (!task) {\n task = this;\n }\n _numberOfNestedTaskFrames++;\n try {\n task.runCount++;\n return task.zone.runTask(task, target, args);\n }\n finally {\n if (_numberOfNestedTaskFrames == 1) {\n drainMicroTaskQueue();\n }\n _numberOfNestedTaskFrames--;\n }\n };\n Object.defineProperty(ZoneTask.prototype, \"zone\", {\n get: function () {\n return this._zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ZoneTask.prototype, \"state\", {\n get: function () {\n return this._state;\n },\n enumerable: true,\n configurable: true\n });\n ZoneTask.prototype.cancelScheduleRequest = function () {\n this._transitionTo(notScheduled, scheduling);\n };\n ZoneTask.prototype._transitionTo = function (toState, fromState1, fromState2) {\n if (this._state === fromState1 || this._state === fromState2) {\n this._state = toState;\n if (toState == notScheduled) {\n this._zoneDelegates = null;\n }\n }\n else {\n throw new Error(this.type + \" '\" + this.source + \"': can not transition to '\" + toState + \"', expecting state '\" + fromState1 + \"'\" + (fromState2 ? ' or \\'' + fromState2 + '\\'' : '') + \", was '\" + this._state + \"'.\");\n }\n };\n ZoneTask.prototype.toString = function () {\n if (this.data && typeof this.data.handleId !== 'undefined') {\n return this.data.handleId.toString();\n }\n else {\n return Object.prototype.toString.call(this);\n }\n };\n // add toJSON method to prevent cyclic error when\n // call JSON.stringify(zoneTask)\n ZoneTask.prototype.toJSON = function () {\n return {\n type: this.type,\n state: this.state,\n source: this.source,\n zone: this.zone.name,\n runCount: this.runCount\n };\n };\n return ZoneTask;\n }());\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// MICROTASK QUEUE\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n var symbolSetTimeout = __symbol__('setTimeout');\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var _microTaskQueue = [];\n var _isDrainingMicrotaskQueue = false;\n var nativeMicroTaskQueuePromise;\n function scheduleMicroTask(task) {\n // if we are not running in any task, and there has not been anything scheduled\n // we must bootstrap the initial task creation by manually scheduling the drain\n if (_numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0) {\n // We are not running in Task, so we need to kickstart the microtask queue.\n if (!nativeMicroTaskQueuePromise) {\n if (global[symbolPromise]) {\n nativeMicroTaskQueuePromise = global[symbolPromise].resolve(0);\n }\n }\n if (nativeMicroTaskQueuePromise) {\n var nativeThen = nativeMicroTaskQueuePromise[symbolThen];\n if (!nativeThen) {\n // native Promise is not patchable, we need to use `then` directly\n // issue 1078\n nativeThen = nativeMicroTaskQueuePromise['then'];\n }\n nativeThen.call(nativeMicroTaskQueuePromise, drainMicroTaskQueue);\n }\n else {\n global[symbolSetTimeout](drainMicroTaskQueue, 0);\n }\n }\n task && _microTaskQueue.push(task);\n }\n function drainMicroTaskQueue() {\n if (!_isDrainingMicrotaskQueue) {\n _isDrainingMicrotaskQueue = true;\n while (_microTaskQueue.length) {\n var queue = _microTaskQueue;\n _microTaskQueue = [];\n for (var i = 0; i < queue.length; i++) {\n var task = queue[i];\n try {\n task.zone.runTask(task, null, null);\n }\n catch (error) {\n _api.onUnhandledError(error);\n }\n }\n }\n _api.microtaskDrainDone();\n _isDrainingMicrotaskQueue = false;\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// BOOTSTRAP\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n var NO_ZONE = { name: 'NO ZONE' };\n var notScheduled = 'notScheduled', scheduling = 'scheduling', scheduled = 'scheduled', running = 'running', canceling = 'canceling', unknown = 'unknown';\n var microTask = 'microTask', macroTask = 'macroTask', eventTask = 'eventTask';\n var patches = {};\n var _api = {\n symbol: __symbol__,\n currentZoneFrame: function () { return _currentZoneFrame; },\n onUnhandledError: noop,\n microtaskDrainDone: noop,\n scheduleMicroTask: scheduleMicroTask,\n showUncaughtError: function () { return !Zone[__symbol__('ignoreConsoleErrorUncaughtError')]; },\n patchEventTarget: function () { return []; },\n patchOnProperties: noop,\n patchMethod: function () { return noop; },\n bindArguments: function () { return []; },\n patchThen: function () { return noop; },\n setNativePromise: function (NativePromise) {\n // sometimes NativePromise.resolve static function\n // is not ready yet, (such as core-js/es6.promise)\n // so we need to check here.\n if (NativePromise && typeof NativePromise.resolve === 'function') {\n nativeMicroTaskQueuePromise = NativePromise.resolve(0);\n }\n },\n };\n var _currentZoneFrame = { parent: null, zone: new Zone(null, null) };\n var _currentTask = null;\n var _numberOfNestedTaskFrames = 0;\n function noop() { }\n function __symbol__(name) {\n return '__zone_symbol__' + name;\n }\n performanceMeasure('Zone', 'Zone');\n return global['Zone'] = Zone;\n})(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);\n\nvar __values = (undefined && undefined.__values) || function (o) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\n if (m) return m.call(o);\n return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n};\nZone.__load_patch('ZoneAwarePromise', function (global, Zone, api) {\n var ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n var ObjectDefineProperty = Object.defineProperty;\n function readableObjectToString(obj) {\n if (obj && obj.toString === Object.prototype.toString) {\n var className = obj.constructor && obj.constructor.name;\n return (className ? className : '') + ': ' + JSON.stringify(obj);\n }\n return obj ? obj.toString() : Object.prototype.toString.call(obj);\n }\n var __symbol__ = api.symbol;\n var _uncaughtPromiseErrors = [];\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var creationTrace = '__creationTrace__';\n api.onUnhandledError = function (e) {\n if (api.showUncaughtError()) {\n var rejection = e && e.rejection;\n if (rejection) {\n console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined);\n }\n else {\n console.error(e);\n }\n }\n };\n api.microtaskDrainDone = function () {\n while (_uncaughtPromiseErrors.length) {\n var _loop_1 = function () {\n var uncaughtPromiseError = _uncaughtPromiseErrors.shift();\n try {\n uncaughtPromiseError.zone.runGuarded(function () {\n throw uncaughtPromiseError;\n });\n }\n catch (error) {\n handleUnhandledRejection(error);\n }\n };\n while (_uncaughtPromiseErrors.length) {\n _loop_1();\n }\n }\n };\n var UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL = __symbol__('unhandledPromiseRejectionHandler');\n function handleUnhandledRejection(e) {\n api.onUnhandledError(e);\n try {\n var handler = Zone[UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL];\n if (handler && typeof handler === 'function') {\n handler.call(this, e);\n }\n }\n catch (err) {\n }\n }\n function isThenable(value) {\n return value && value.then;\n }\n function forwardResolution(value) {\n return value;\n }\n function forwardRejection(rejection) {\n return ZoneAwarePromise.reject(rejection);\n }\n var symbolState = __symbol__('state');\n var symbolValue = __symbol__('value');\n var symbolFinally = __symbol__('finally');\n var symbolParentPromiseValue = __symbol__('parentPromiseValue');\n var symbolParentPromiseState = __symbol__('parentPromiseState');\n var source = 'Promise.then';\n var UNRESOLVED = null;\n var RESOLVED = true;\n var REJECTED = false;\n var REJECTED_NO_CATCH = 0;\n function makeResolver(promise, state) {\n return function (v) {\n try {\n resolvePromise(promise, state, v);\n }\n catch (err) {\n resolvePromise(promise, false, err);\n }\n // Do not return value or you will break the Promise spec.\n };\n }\n var once = function () {\n var wasCalled = false;\n return function wrapper(wrappedFunction) {\n return function () {\n if (wasCalled) {\n return;\n }\n wasCalled = true;\n wrappedFunction.apply(null, arguments);\n };\n };\n };\n var TYPE_ERROR = 'Promise resolved with itself';\n var CURRENT_TASK_TRACE_SYMBOL = __symbol__('currentTaskTrace');\n // Promise Resolution\n function resolvePromise(promise, state, value) {\n var onceWrapper = once();\n if (promise === value) {\n throw new TypeError(TYPE_ERROR);\n }\n if (promise[symbolState] === UNRESOLVED) {\n // should only get value.then once based on promise spec.\n var then = null;\n try {\n if (typeof value === 'object' || typeof value === 'function') {\n then = value && value.then;\n }\n }\n catch (err) {\n onceWrapper(function () {\n resolvePromise(promise, false, err);\n })();\n return promise;\n }\n // if (value instanceof ZoneAwarePromise) {\n if (state !== REJECTED && value instanceof ZoneAwarePromise &&\n value.hasOwnProperty(symbolState) && value.hasOwnProperty(symbolValue) &&\n value[symbolState] !== UNRESOLVED) {\n clearRejectedNoCatch(value);\n resolvePromise(promise, value[symbolState], value[symbolValue]);\n }\n else if (state !== REJECTED && typeof then === 'function') {\n try {\n then.call(value, onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false)));\n }\n catch (err) {\n onceWrapper(function () {\n resolvePromise(promise, false, err);\n })();\n }\n }\n else {\n promise[symbolState] = state;\n var queue = promise[symbolValue];\n promise[symbolValue] = value;\n if (promise[symbolFinally] === symbolFinally) {\n // the promise is generated by Promise.prototype.finally\n if (state === RESOLVED) {\n // the state is resolved, should ignore the value\n // and use parent promise value\n promise[symbolState] = promise[symbolParentPromiseState];\n promise[symbolValue] = promise[symbolParentPromiseValue];\n }\n }\n // record task information in value when error occurs, so we can\n // do some additional work such as render longStackTrace\n if (state === REJECTED && value instanceof Error) {\n // check if longStackTraceZone is here\n var trace = Zone.currentTask && Zone.currentTask.data &&\n Zone.currentTask.data[creationTrace];\n if (trace) {\n // only keep the long stack trace into error when in longStackTraceZone\n ObjectDefineProperty(value, CURRENT_TASK_TRACE_SYMBOL, { configurable: true, enumerable: false, writable: true, value: trace });\n }\n }\n for (var i = 0; i < queue.length;) {\n scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);\n }\n if (queue.length == 0 && state == REJECTED) {\n promise[symbolState] = REJECTED_NO_CATCH;\n try {\n // try to print more readable error log\n throw new Error('Uncaught (in promise): ' + readableObjectToString(value) +\n (value && value.stack ? '\\n' + value.stack : ''));\n }\n catch (err) {\n var error_1 = err;\n error_1.rejection = value;\n error_1.promise = promise;\n error_1.zone = Zone.current;\n error_1.task = Zone.currentTask;\n _uncaughtPromiseErrors.push(error_1);\n api.scheduleMicroTask(); // to make sure that it is running\n }\n }\n }\n }\n // Resolving an already resolved promise is a noop.\n return promise;\n }\n var REJECTION_HANDLED_HANDLER = __symbol__('rejectionHandledHandler');\n function clearRejectedNoCatch(promise) {\n if (promise[symbolState] === REJECTED_NO_CATCH) {\n // if the promise is rejected no catch status\n // and queue.length > 0, means there is a error handler\n // here to handle the rejected promise, we should trigger\n // windows.rejectionhandled eventHandler or nodejs rejectionHandled\n // eventHandler\n try {\n var handler = Zone[REJECTION_HANDLED_HANDLER];\n if (handler && typeof handler === 'function') {\n handler.call(this, { rejection: promise[symbolValue], promise: promise });\n }\n }\n catch (err) {\n }\n promise[symbolState] = REJECTED;\n for (var i = 0; i < _uncaughtPromiseErrors.length; i++) {\n if (promise === _uncaughtPromiseErrors[i].promise) {\n _uncaughtPromiseErrors.splice(i, 1);\n }\n }\n }\n }\n function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) {\n clearRejectedNoCatch(promise);\n var promiseState = promise[symbolState];\n var delegate = promiseState ?\n (typeof onFulfilled === 'function') ? onFulfilled : forwardResolution :\n (typeof onRejected === 'function') ? onRejected : forwardRejection;\n zone.scheduleMicroTask(source, function () {\n try {\n var parentPromiseValue = promise[symbolValue];\n var isFinallyPromise = chainPromise && symbolFinally === chainPromise[symbolFinally];\n if (isFinallyPromise) {\n // if the promise is generated from finally call, keep parent promise's state and value\n chainPromise[symbolParentPromiseValue] = parentPromiseValue;\n chainPromise[symbolParentPromiseState] = promiseState;\n }\n // should not pass value to finally callback\n var value = zone.run(delegate, undefined, isFinallyPromise && delegate !== forwardRejection && delegate !== forwardResolution ?\n [] :\n [parentPromiseValue]);\n resolvePromise(chainPromise, true, value);\n }\n catch (error) {\n // if error occurs, should always return this error\n resolvePromise(chainPromise, false, error);\n }\n }, chainPromise);\n }\n var ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }';\n var ZoneAwarePromise = /** @class */ (function () {\n function ZoneAwarePromise(executor) {\n var promise = this;\n if (!(promise instanceof ZoneAwarePromise)) {\n throw new Error('Must be an instanceof Promise.');\n }\n promise[symbolState] = UNRESOLVED;\n promise[symbolValue] = []; // queue;\n try {\n executor && executor(makeResolver(promise, RESOLVED), makeResolver(promise, REJECTED));\n }\n catch (error) {\n resolvePromise(promise, false, error);\n }\n }\n ZoneAwarePromise.toString = function () {\n return ZONE_AWARE_PROMISE_TO_STRING;\n };\n ZoneAwarePromise.resolve = function (value) {\n return resolvePromise(new this(null), RESOLVED, value);\n };\n ZoneAwarePromise.reject = function (error) {\n return resolvePromise(new this(null), REJECTED, error);\n };\n ZoneAwarePromise.race = function (values) {\n var e_1, _a;\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n function onResolve(value) {\n promise && (promise = null || resolve(value));\n }\n function onReject(error) {\n promise && (promise = null || reject(error));\n }\n try {\n for (var values_1 = __values(values), values_1_1 = values_1.next(); !values_1_1.done; values_1_1 = values_1.next()) {\n var value = values_1_1.value;\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then(onResolve, onReject);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (values_1_1 && !values_1_1.done && (_a = values_1.return)) _a.call(values_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return promise;\n };\n ZoneAwarePromise.all = function (values) {\n var e_2, _a;\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n // Start at 2 to prevent prematurely resolving if .then is called immediately.\n var unresolvedCount = 2;\n var valueIndex = 0;\n var resolvedValues = [];\n var _loop_2 = function (value) {\n if (!isThenable(value)) {\n value = this_1.resolve(value);\n }\n var curValueIndex = valueIndex;\n value.then(function (value) {\n resolvedValues[curValueIndex] = value;\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }, reject);\n unresolvedCount++;\n valueIndex++;\n };\n var this_1 = this;\n try {\n for (var values_2 = __values(values), values_2_1 = values_2.next(); !values_2_1.done; values_2_1 = values_2.next()) {\n var value = values_2_1.value;\n _loop_2(value);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (values_2_1 && !values_2_1.done && (_a = values_2.return)) _a.call(values_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n // Make the unresolvedCount zero-based again.\n unresolvedCount -= 2;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n return promise;\n };\n ZoneAwarePromise.prototype.then = function (onFulfilled, onRejected) {\n var chainPromise = new this.constructor(null);\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected);\n }\n return chainPromise;\n };\n ZoneAwarePromise.prototype.catch = function (onRejected) {\n return this.then(null, onRejected);\n };\n ZoneAwarePromise.prototype.finally = function (onFinally) {\n var chainPromise = new this.constructor(null);\n chainPromise[symbolFinally] = symbolFinally;\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFinally, onFinally);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFinally, onFinally);\n }\n return chainPromise;\n };\n return ZoneAwarePromise;\n }());\n // Protect against aggressive optimizers dropping seemingly unused properties.\n // E.g. Closure Compiler in advanced mode.\n ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve;\n ZoneAwarePromise['reject'] = ZoneAwarePromise.reject;\n ZoneAwarePromise['race'] = ZoneAwarePromise.race;\n ZoneAwarePromise['all'] = ZoneAwarePromise.all;\n var NativePromise = global[symbolPromise] = global['Promise'];\n var ZONE_AWARE_PROMISE = Zone.__symbol__('ZoneAwarePromise');\n var desc = ObjectGetOwnPropertyDescriptor(global, 'Promise');\n if (!desc || desc.configurable) {\n desc && delete desc.writable;\n desc && delete desc.value;\n if (!desc) {\n desc = { configurable: true, enumerable: true };\n }\n desc.get = function () {\n // if we already set ZoneAwarePromise, use patched one\n // otherwise return native one.\n return global[ZONE_AWARE_PROMISE] ? global[ZONE_AWARE_PROMISE] : global[symbolPromise];\n };\n desc.set = function (NewNativePromise) {\n if (NewNativePromise === ZoneAwarePromise) {\n // if the NewNativePromise is ZoneAwarePromise\n // save to global\n global[ZONE_AWARE_PROMISE] = NewNativePromise;\n }\n else {\n // if the NewNativePromise is not ZoneAwarePromise\n // for example: after load zone.js, some library just\n // set es6-promise to global, if we set it to global\n // directly, assertZonePatched will fail and angular\n // will not loaded, so we just set the NewNativePromise\n // to global[symbolPromise], so the result is just like\n // we load ES6 Promise before zone.js\n global[symbolPromise] = NewNativePromise;\n if (!NewNativePromise.prototype[symbolThen]) {\n patchThen(NewNativePromise);\n }\n api.setNativePromise(NewNativePromise);\n }\n };\n ObjectDefineProperty(global, 'Promise', desc);\n }\n global['Promise'] = ZoneAwarePromise;\n var symbolThenPatched = __symbol__('thenPatched');\n function patchThen(Ctor) {\n var proto = Ctor.prototype;\n var prop = ObjectGetOwnPropertyDescriptor(proto, 'then');\n if (prop && (prop.writable === false || !prop.configurable)) {\n // check Ctor.prototype.then propertyDescriptor is writable or not\n // in meteor env, writable is false, we should ignore such case\n return;\n }\n var originalThen = proto.then;\n // Keep a reference to the original method.\n proto[symbolThen] = originalThen;\n Ctor.prototype.then = function (onResolve, onReject) {\n var _this = this;\n var wrapped = new ZoneAwarePromise(function (resolve, reject) {\n originalThen.call(_this, resolve, reject);\n });\n return wrapped.then(onResolve, onReject);\n };\n Ctor[symbolThenPatched] = true;\n }\n api.patchThen = patchThen;\n if (NativePromise) {\n patchThen(NativePromise);\n }\n // This is not part of public API, but it is useful for tests, so we expose it.\n Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors;\n return ZoneAwarePromise;\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nZone.__load_patch('fetch', function (global, Zone, api) {\n var fetch = global['fetch'];\n var ZoneAwarePromise = global.Promise;\n var symbolThenPatched = api.symbol('thenPatched');\n var fetchTaskScheduling = api.symbol('fetchTaskScheduling');\n var fetchTaskAborting = api.symbol('fetchTaskAborting');\n if (typeof fetch !== 'function') {\n return;\n }\n var OriginalAbortController = global['AbortController'];\n var supportAbort = typeof OriginalAbortController === 'function';\n var abortNative = null;\n if (supportAbort) {\n global['AbortController'] = function () {\n var abortController = new OriginalAbortController();\n var signal = abortController.signal;\n signal.abortController = abortController;\n return abortController;\n };\n abortNative = api.patchMethod(OriginalAbortController.prototype, 'abort', function (delegate) { return function (self, args) {\n if (self.task) {\n return self.task.zone.cancelTask(self.task);\n }\n return delegate.apply(self, args);\n }; });\n }\n var placeholder = function () { };\n global['fetch'] = function () {\n var _this = this;\n var args = Array.prototype.slice.call(arguments);\n var options = args.length > 1 ? args[1] : null;\n var signal = options && options.signal;\n return new Promise(function (res, rej) {\n var task = Zone.current.scheduleMacroTask('fetch', placeholder, args, function () {\n var fetchPromise;\n var zone = Zone.current;\n try {\n zone[fetchTaskScheduling] = true;\n fetchPromise = fetch.apply(_this, args);\n }\n catch (error) {\n rej(error);\n return;\n }\n finally {\n zone[fetchTaskScheduling] = false;\n }\n if (!(fetchPromise instanceof ZoneAwarePromise)) {\n var ctor = fetchPromise.constructor;\n if (!ctor[symbolThenPatched]) {\n api.patchThen(ctor);\n }\n }\n fetchPromise.then(function (resource) {\n if (task.state !== 'notScheduled') {\n task.invoke();\n }\n res(resource);\n }, function (error) {\n if (task.state !== 'notScheduled') {\n task.invoke();\n }\n rej(error);\n });\n }, function () {\n if (!supportAbort) {\n rej('No AbortController supported, can not cancel fetch');\n return;\n }\n if (signal && signal.abortController && !signal.aborted &&\n typeof signal.abortController.abort === 'function' && abortNative) {\n try {\n Zone.current[fetchTaskAborting] = true;\n abortNative.call(signal.abortController);\n }\n finally {\n Zone.current[fetchTaskAborting] = false;\n }\n }\n else {\n rej('cancel fetch need a AbortController.signal');\n }\n });\n if (signal && signal.abortController) {\n signal.abortController.task = task;\n }\n });\n };\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Suppress closure compiler errors about unknown 'Zone' variable\n * @fileoverview\n * @suppress {undefinedVars,globalThis,missingRequire}\n */\n// issue #989, to reduce bundle size, use short name\n/** Object.getOwnPropertyDescriptor */\nvar ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n/** Object.defineProperty */\nvar ObjectDefineProperty = Object.defineProperty;\n/** Object.getPrototypeOf */\nvar ObjectGetPrototypeOf = Object.getPrototypeOf;\n/** Object.create */\nvar ObjectCreate = Object.create;\n/** Array.prototype.slice */\nvar ArraySlice = Array.prototype.slice;\n/** addEventListener string const */\nvar ADD_EVENT_LISTENER_STR = 'addEventListener';\n/** removeEventListener string const */\nvar REMOVE_EVENT_LISTENER_STR = 'removeEventListener';\n/** zoneSymbol addEventListener */\nvar ZONE_SYMBOL_ADD_EVENT_LISTENER = Zone.__symbol__(ADD_EVENT_LISTENER_STR);\n/** zoneSymbol removeEventListener */\nvar ZONE_SYMBOL_REMOVE_EVENT_LISTENER = Zone.__symbol__(REMOVE_EVENT_LISTENER_STR);\n/** true string const */\nvar TRUE_STR = 'true';\n/** false string const */\nvar FALSE_STR = 'false';\n/** __zone_symbol__ string const */\nvar ZONE_SYMBOL_PREFIX = '__zone_symbol__';\nfunction wrapWithCurrentZone(callback, source) {\n return Zone.current.wrap(callback, source);\n}\nfunction scheduleMacroTaskWithCurrentZone(source, callback, data, customSchedule, customCancel) {\n return Zone.current.scheduleMacroTask(source, callback, data, customSchedule, customCancel);\n}\nvar zoneSymbol = Zone.__symbol__;\nvar isWindowExists = typeof window !== 'undefined';\nvar internalWindow = isWindowExists ? window : undefined;\nvar _global = isWindowExists && internalWindow || typeof self === 'object' && self || global;\nvar REMOVE_ATTRIBUTE = 'removeAttribute';\nvar NULL_ON_PROP_VALUE = [null];\nfunction bindArguments(args, source) {\n for (var i = args.length - 1; i >= 0; i--) {\n if (typeof args[i] === 'function') {\n args[i] = wrapWithCurrentZone(args[i], source + '_' + i);\n }\n }\n return args;\n}\nfunction patchPrototype(prototype, fnNames) {\n var source = prototype.constructor['name'];\n var _loop_1 = function (i) {\n var name_1 = fnNames[i];\n var delegate = prototype[name_1];\n if (delegate) {\n var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, name_1);\n if (!isPropertyWritable(prototypeDesc)) {\n return \"continue\";\n }\n prototype[name_1] = (function (delegate) {\n var patched = function () {\n return delegate.apply(this, bindArguments(arguments, source + '.' + name_1));\n };\n attachOriginToPatched(patched, delegate);\n return patched;\n })(delegate);\n }\n };\n for (var i = 0; i < fnNames.length; i++) {\n _loop_1(i);\n }\n}\nfunction isPropertyWritable(propertyDesc) {\n if (!propertyDesc) {\n return true;\n }\n if (propertyDesc.writable === false) {\n return false;\n }\n return !(typeof propertyDesc.get === 'function' && typeof propertyDesc.set === 'undefined');\n}\nvar isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope);\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nvar isNode = (!('nw' in _global) && typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]');\nvar isBrowser = !isNode && !isWebWorker && !!(isWindowExists && internalWindow['HTMLElement']);\n// we are in electron of nw, so we are both browser and nodejs\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nvar isMix = typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]' && !isWebWorker &&\n !!(isWindowExists && internalWindow['HTMLElement']);\nvar zoneSymbolEventNames = {};\nvar wrapFn = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n var eventNameSymbol = zoneSymbolEventNames[event.type];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[event.type] = zoneSymbol('ON_PROPERTY' + event.type);\n }\n var target = this || event.target || _global;\n var listener = target[eventNameSymbol];\n var result;\n if (isBrowser && target === internalWindow && event.type === 'error') {\n // window.onerror have different signiture\n // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror#window.onerror\n // and onerror callback will prevent default when callback return true\n var errorEvent = event;\n result = listener &&\n listener.call(this, errorEvent.message, errorEvent.filename, errorEvent.lineno, errorEvent.colno, errorEvent.error);\n if (result === true) {\n event.preventDefault();\n }\n }\n else {\n result = listener && listener.apply(this, arguments);\n if (result != undefined && !result) {\n event.preventDefault();\n }\n }\n return result;\n};\nfunction patchProperty(obj, prop, prototype) {\n var desc = ObjectGetOwnPropertyDescriptor(obj, prop);\n if (!desc && prototype) {\n // when patch window object, use prototype to check prop exist or not\n var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, prop);\n if (prototypeDesc) {\n desc = { enumerable: true, configurable: true };\n }\n }\n // if the descriptor not exists or is not configurable\n // just return\n if (!desc || !desc.configurable) {\n return;\n }\n var onPropPatchedSymbol = zoneSymbol('on' + prop + 'patched');\n if (obj.hasOwnProperty(onPropPatchedSymbol) && obj[onPropPatchedSymbol]) {\n return;\n }\n // A property descriptor cannot have getter/setter and be writable\n // deleting the writable and value properties avoids this error:\n //\n // TypeError: property descriptors must not specify a value or be writable when a\n // getter or setter has been specified\n delete desc.writable;\n delete desc.value;\n var originalDescGet = desc.get;\n var originalDescSet = desc.set;\n // substr(2) cuz 'onclick' -> 'click', etc\n var eventName = prop.substr(2);\n var eventNameSymbol = zoneSymbolEventNames[eventName];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[eventName] = zoneSymbol('ON_PROPERTY' + eventName);\n }\n desc.set = function (newValue) {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n var target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return;\n }\n var previousValue = target[eventNameSymbol];\n if (previousValue) {\n target.removeEventListener(eventName, wrapFn);\n }\n // issue #978, when onload handler was added before loading zone.js\n // we should remove it with originalDescSet\n if (originalDescSet) {\n originalDescSet.apply(target, NULL_ON_PROP_VALUE);\n }\n if (typeof newValue === 'function') {\n target[eventNameSymbol] = newValue;\n target.addEventListener(eventName, wrapFn, false);\n }\n else {\n target[eventNameSymbol] = null;\n }\n };\n // The getter would return undefined for unassigned properties but the default value of an\n // unassigned property is null\n desc.get = function () {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n var target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return null;\n }\n var listener = target[eventNameSymbol];\n if (listener) {\n return listener;\n }\n else if (originalDescGet) {\n // result will be null when use inline event attribute,\n // such as \n // because the onclick function is internal raw uncompiled handler\n // the onclick will be evaluated when first time event was triggered or\n // the property is accessed, https://github.com/angular/zone.js/issues/525\n // so we should use original native get to retrieve the handler\n var value = originalDescGet && originalDescGet.call(this);\n if (value) {\n desc.set.call(this, value);\n if (typeof target[REMOVE_ATTRIBUTE] === 'function') {\n target.removeAttribute(prop);\n }\n return value;\n }\n }\n return null;\n };\n ObjectDefineProperty(obj, prop, desc);\n obj[onPropPatchedSymbol] = true;\n}\nfunction patchOnProperties(obj, properties, prototype) {\n if (properties) {\n for (var i = 0; i < properties.length; i++) {\n patchProperty(obj, 'on' + properties[i], prototype);\n }\n }\n else {\n var onProperties = [];\n for (var prop in obj) {\n if (prop.substr(0, 2) == 'on') {\n onProperties.push(prop);\n }\n }\n for (var j = 0; j < onProperties.length; j++) {\n patchProperty(obj, onProperties[j], prototype);\n }\n }\n}\nvar originalInstanceKey = zoneSymbol('originalInstance');\n// wrap some native API on `window`\nfunction patchClass(className) {\n var OriginalClass = _global[className];\n if (!OriginalClass)\n return;\n // keep original class in global\n _global[zoneSymbol(className)] = OriginalClass;\n _global[className] = function () {\n var a = bindArguments(arguments, className);\n switch (a.length) {\n case 0:\n this[originalInstanceKey] = new OriginalClass();\n break;\n case 1:\n this[originalInstanceKey] = new OriginalClass(a[0]);\n break;\n case 2:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1]);\n break;\n case 3:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]);\n break;\n case 4:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);\n break;\n default:\n throw new Error('Arg list too long.');\n }\n };\n // attach original delegate to patched function\n attachOriginToPatched(_global[className], OriginalClass);\n var instance = new OriginalClass(function () { });\n var prop;\n for (prop in instance) {\n // https://bugs.webkit.org/show_bug.cgi?id=44721\n if (className === 'XMLHttpRequest' && prop === 'responseBlob')\n continue;\n (function (prop) {\n if (typeof instance[prop] === 'function') {\n _global[className].prototype[prop] = function () {\n return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments);\n };\n }\n else {\n ObjectDefineProperty(_global[className].prototype, prop, {\n set: function (fn) {\n if (typeof fn === 'function') {\n this[originalInstanceKey][prop] = wrapWithCurrentZone(fn, className + '.' + prop);\n // keep callback in wrapped function so we can\n // use it in Function.prototype.toString to return\n // the native one.\n attachOriginToPatched(this[originalInstanceKey][prop], fn);\n }\n else {\n this[originalInstanceKey][prop] = fn;\n }\n },\n get: function () {\n return this[originalInstanceKey][prop];\n }\n });\n }\n }(prop));\n }\n for (prop in OriginalClass) {\n if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) {\n _global[className][prop] = OriginalClass[prop];\n }\n }\n}\nfunction copySymbolProperties(src, dest) {\n if (typeof Object.getOwnPropertySymbols !== 'function') {\n return;\n }\n var symbols = Object.getOwnPropertySymbols(src);\n symbols.forEach(function (symbol) {\n var desc = Object.getOwnPropertyDescriptor(src, symbol);\n Object.defineProperty(dest, symbol, {\n get: function () {\n return src[symbol];\n },\n set: function (value) {\n if (desc && (!desc.writable || typeof desc.set !== 'function')) {\n // if src[symbol] is not writable or not have a setter, just return\n return;\n }\n src[symbol] = value;\n },\n enumerable: desc ? desc.enumerable : true,\n configurable: desc ? desc.configurable : true\n });\n });\n}\nvar shouldCopySymbolProperties = false;\n\nfunction patchMethod(target, name, patchFn) {\n var proto = target;\n while (proto && !proto.hasOwnProperty(name)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && target[name]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = target;\n }\n var delegateName = zoneSymbol(name);\n var delegate = null;\n if (proto && !(delegate = proto[delegateName])) {\n delegate = proto[delegateName] = proto[name];\n // check whether proto[name] is writable\n // some property is readonly in safari, such as HtmlCanvasElement.prototype.toBlob\n var desc = proto && ObjectGetOwnPropertyDescriptor(proto, name);\n if (isPropertyWritable(desc)) {\n var patchDelegate_1 = patchFn(delegate, delegateName, name);\n proto[name] = function () {\n return patchDelegate_1(this, arguments);\n };\n attachOriginToPatched(proto[name], delegate);\n if (shouldCopySymbolProperties) {\n copySymbolProperties(delegate, proto[name]);\n }\n }\n }\n return delegate;\n}\n// TODO: @JiaLiPassion, support cancel task later if necessary\nfunction patchMacroTask(obj, funcName, metaCreator) {\n var setNative = null;\n function scheduleTask(task) {\n var data = task.data;\n data.args[data.cbIdx] = function () {\n task.invoke.apply(this, arguments);\n };\n setNative.apply(data.target, data.args);\n return task;\n }\n setNative = patchMethod(obj, funcName, function (delegate) { return function (self, args) {\n var meta = metaCreator(self, args);\n if (meta.cbIdx >= 0 && typeof args[meta.cbIdx] === 'function') {\n return scheduleMacroTaskWithCurrentZone(meta.name, args[meta.cbIdx], meta, scheduleTask);\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(self, args);\n }\n }; });\n}\n\nfunction attachOriginToPatched(patched, original) {\n patched[zoneSymbol('OriginalDelegate')] = original;\n}\nvar isDetectedIEOrEdge = false;\nvar ieOrEdge = false;\nfunction isIE() {\n try {\n var ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1) {\n return true;\n }\n }\n catch (error) {\n }\n return false;\n}\nfunction isIEOrEdge() {\n if (isDetectedIEOrEdge) {\n return ieOrEdge;\n }\n isDetectedIEOrEdge = true;\n try {\n var ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1 || ua.indexOf('Edge/') !== -1) {\n ieOrEdge = true;\n }\n return ieOrEdge;\n }\n catch (error) {\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// override Function.prototype.toString to make zone.js patched function\n// look like native function\nZone.__load_patch('toString', function (global) {\n // patch Func.prototype.toString to let them look like native\n var originalFunctionToString = Function.prototype.toString;\n var ORIGINAL_DELEGATE_SYMBOL = zoneSymbol('OriginalDelegate');\n var PROMISE_SYMBOL = zoneSymbol('Promise');\n var ERROR_SYMBOL = zoneSymbol('Error');\n var newFunctionToString = function toString() {\n if (typeof this === 'function') {\n var originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL];\n if (originalDelegate) {\n if (typeof originalDelegate === 'function') {\n return originalFunctionToString.apply(this[ORIGINAL_DELEGATE_SYMBOL], arguments);\n }\n else {\n return Object.prototype.toString.call(originalDelegate);\n }\n }\n if (this === Promise) {\n var nativePromise = global[PROMISE_SYMBOL];\n if (nativePromise) {\n return originalFunctionToString.apply(nativePromise, arguments);\n }\n }\n if (this === Error) {\n var nativeError = global[ERROR_SYMBOL];\n if (nativeError) {\n return originalFunctionToString.apply(nativeError, arguments);\n }\n }\n }\n return originalFunctionToString.apply(this, arguments);\n };\n newFunctionToString[ORIGINAL_DELEGATE_SYMBOL] = originalFunctionToString;\n Function.prototype.toString = newFunctionToString;\n // patch Object.prototype.toString to let them look like native\n var originalObjectToString = Object.prototype.toString;\n var PROMISE_OBJECT_TO_STRING = '[object Promise]';\n Object.prototype.toString = function () {\n if (this instanceof Promise) {\n return PROMISE_OBJECT_TO_STRING;\n }\n return originalObjectToString.apply(this, arguments);\n };\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nvar passiveSupported = false;\nif (typeof window !== 'undefined') {\n try {\n var options = Object.defineProperty({}, 'passive', {\n get: function () {\n passiveSupported = true;\n }\n });\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n}\n// an identifier to tell ZoneTask do not create a new invoke closure\nvar OPTIMIZED_ZONE_EVENT_TASK_DATA = {\n useG: true\n};\nvar zoneSymbolEventNames$1 = {};\nvar globalSources = {};\nvar EVENT_NAME_SYMBOL_REGX = /^__zone_symbol__(\\w+)(true|false)$/;\nvar IMMEDIATE_PROPAGATION_SYMBOL = ('__zone_symbol__propagationStopped');\nfunction patchEventTarget(_global, apis, patchOptions) {\n var ADD_EVENT_LISTENER = (patchOptions && patchOptions.add) || ADD_EVENT_LISTENER_STR;\n var REMOVE_EVENT_LISTENER = (patchOptions && patchOptions.rm) || REMOVE_EVENT_LISTENER_STR;\n var LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.listeners) || 'eventListeners';\n var REMOVE_ALL_LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.rmAll) || 'removeAllListeners';\n var zoneSymbolAddEventListener = zoneSymbol(ADD_EVENT_LISTENER);\n var ADD_EVENT_LISTENER_SOURCE = '.' + ADD_EVENT_LISTENER + ':';\n var PREPEND_EVENT_LISTENER = 'prependListener';\n var PREPEND_EVENT_LISTENER_SOURCE = '.' + PREPEND_EVENT_LISTENER + ':';\n var invokeTask = function (task, target, event) {\n // for better performance, check isRemoved which is set\n // by removeEventListener\n if (task.isRemoved) {\n return;\n }\n var delegate = task.callback;\n if (typeof delegate === 'object' && delegate.handleEvent) {\n // create the bind version of handleEvent when invoke\n task.callback = function (event) { return delegate.handleEvent(event); };\n task.originalDelegate = delegate;\n }\n // invoke static task.invoke\n task.invoke(task, target, [event]);\n var options = task.options;\n if (options && typeof options === 'object' && options.once) {\n // if options.once is true, after invoke once remove listener here\n // only browser need to do this, nodejs eventEmitter will cal removeListener\n // inside EventEmitter.once\n var delegate_1 = task.originalDelegate ? task.originalDelegate : task.callback;\n target[REMOVE_EVENT_LISTENER].call(target, event.type, delegate_1, options);\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = false\n var globalZoneAwareCallback = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n var target = this || event.target || _global;\n var tasks = target[zoneSymbolEventNames$1[event.type][FALSE_STR]];\n if (tasks) {\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n invokeTask(tasks[0], target, event);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n var copyTasks = tasks.slice();\n for (var i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = true\n var globalZoneAwareCaptureCallback = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n var target = this || event.target || _global;\n var tasks = target[zoneSymbolEventNames$1[event.type][TRUE_STR]];\n if (tasks) {\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n invokeTask(tasks[0], target, event);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n var copyTasks = tasks.slice();\n for (var i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n function patchEventTargetMethods(obj, patchOptions) {\n if (!obj) {\n return false;\n }\n var useGlobalCallback = true;\n if (patchOptions && patchOptions.useG !== undefined) {\n useGlobalCallback = patchOptions.useG;\n }\n var validateHandler = patchOptions && patchOptions.vh;\n var checkDuplicate = true;\n if (patchOptions && patchOptions.chkDup !== undefined) {\n checkDuplicate = patchOptions.chkDup;\n }\n var returnTarget = false;\n if (patchOptions && patchOptions.rt !== undefined) {\n returnTarget = patchOptions.rt;\n }\n var proto = obj;\n while (proto && !proto.hasOwnProperty(ADD_EVENT_LISTENER)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && obj[ADD_EVENT_LISTENER]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = obj;\n }\n if (!proto) {\n return false;\n }\n if (proto[zoneSymbolAddEventListener]) {\n return false;\n }\n var eventNameToString = patchOptions && patchOptions.eventNameToString;\n // a shared global taskData to pass data for scheduleEventTask\n // so we do not need to create a new object just for pass some data\n var taskData = {};\n var nativeAddEventListener = proto[zoneSymbolAddEventListener] = proto[ADD_EVENT_LISTENER];\n var nativeRemoveEventListener = proto[zoneSymbol(REMOVE_EVENT_LISTENER)] =\n proto[REMOVE_EVENT_LISTENER];\n var nativeListeners = proto[zoneSymbol(LISTENERS_EVENT_LISTENER)] =\n proto[LISTENERS_EVENT_LISTENER];\n var nativeRemoveAllListeners = proto[zoneSymbol(REMOVE_ALL_LISTENERS_EVENT_LISTENER)] =\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER];\n var nativePrependEventListener;\n if (patchOptions && patchOptions.prepend) {\n nativePrependEventListener = proto[zoneSymbol(patchOptions.prepend)] =\n proto[patchOptions.prepend];\n }\n function checkIsPassive(task) {\n if (!passiveSupported && typeof taskData.options !== 'boolean' &&\n typeof taskData.options !== 'undefined' && taskData.options !== null) {\n // options is a non-null non-undefined object\n // passive is not supported\n // don't pass options as object\n // just pass capture as a boolean\n task.options = !!taskData.options.capture;\n taskData.options = task.options;\n }\n }\n var customScheduleGlobal = function (task) {\n // if there is already a task for the eventName + capture,\n // just return, because we use the shared globalZoneAwareCallback here.\n if (taskData.isExisting) {\n return;\n }\n checkIsPassive(task);\n return nativeAddEventListener.call(taskData.target, taskData.eventName, taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, taskData.options);\n };\n var customCancelGlobal = function (task) {\n // if task is not marked as isRemoved, this call is directly\n // from Zone.prototype.cancelTask, we should remove the task\n // from tasksList of target first\n if (!task.isRemoved) {\n var symbolEventNames = zoneSymbolEventNames$1[task.eventName];\n var symbolEventName = void 0;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[task.capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = symbolEventName && task.target[symbolEventName];\n if (existingTasks) {\n for (var i = 0; i < existingTasks.length; i++) {\n var existingTask = existingTasks[i];\n if (existingTask === task) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n task.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n task.allRemoved = true;\n task.target[symbolEventName] = null;\n }\n break;\n }\n }\n }\n }\n // if all tasks for the eventName + capture have gone,\n // we will really remove the global event callback,\n // if not, return\n if (!task.allRemoved) {\n return;\n }\n return nativeRemoveEventListener.call(task.target, task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, task.options);\n };\n var customScheduleNonGlobal = function (task) {\n checkIsPassive(task);\n return nativeAddEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n var customSchedulePrepend = function (task) {\n return nativePrependEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n var customCancelNonGlobal = function (task) {\n return nativeRemoveEventListener.call(task.target, task.eventName, task.invoke, task.options);\n };\n var customSchedule = useGlobalCallback ? customScheduleGlobal : customScheduleNonGlobal;\n var customCancel = useGlobalCallback ? customCancelGlobal : customCancelNonGlobal;\n var compareTaskCallbackVsDelegate = function (task, delegate) {\n var typeOfDelegate = typeof delegate;\n return (typeOfDelegate === 'function' && task.callback === delegate) ||\n (typeOfDelegate === 'object' && task.originalDelegate === delegate);\n };\n var compare = (patchOptions && patchOptions.diff) ? patchOptions.diff : compareTaskCallbackVsDelegate;\n var blackListedEvents = Zone[Zone.__symbol__('BLACK_LISTED_EVENTS')];\n var makeAddListener = function (nativeListener, addSource, customScheduleFn, customCancelFn, returnTarget, prepend) {\n if (returnTarget === void 0) { returnTarget = false; }\n if (prepend === void 0) { prepend = false; }\n return function () {\n var target = this || _global;\n var eventName = arguments[0];\n var delegate = arguments[1];\n if (!delegate) {\n return nativeListener.apply(this, arguments);\n }\n if (isNode && eventName === 'uncaughtException') {\n // don't patch uncaughtException of nodejs to prevent endless loop\n return nativeListener.apply(this, arguments);\n }\n // don't create the bind delegate function for handleEvent\n // case here to improve addEventListener performance\n // we will create the bind delegate when invoke\n var isHandleEvent = false;\n if (typeof delegate !== 'function') {\n if (!delegate.handleEvent) {\n return nativeListener.apply(this, arguments);\n }\n isHandleEvent = true;\n }\n if (validateHandler && !validateHandler(nativeListener, delegate, target, arguments)) {\n return;\n }\n var options = arguments[2];\n if (blackListedEvents) {\n // check black list\n for (var i = 0; i < blackListedEvents.length; i++) {\n if (eventName === blackListedEvents[i]) {\n return nativeListener.apply(this, arguments);\n }\n }\n }\n var capture;\n var once = false;\n if (options === undefined) {\n capture = false;\n }\n else if (options === true) {\n capture = true;\n }\n else if (options === false) {\n capture = false;\n }\n else {\n capture = options ? !!options.capture : false;\n once = options ? !!options.once : false;\n }\n var zone = Zone.current;\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n var symbolEventName;\n if (!symbolEventNames) {\n // the code is duplicate, but I just want to get some better performance\n var falseEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + FALSE_STR;\n var trueEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames$1[eventName] = {};\n zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture;\n symbolEventName = capture ? symbolCapture : symbol;\n }\n else {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = target[symbolEventName];\n var isExisting = false;\n if (existingTasks) {\n // already have task registered\n isExisting = true;\n if (checkDuplicate) {\n for (var i = 0; i < existingTasks.length; i++) {\n if (compare(existingTasks[i], delegate)) {\n // same callback, same capture, same event name, just return\n return;\n }\n }\n }\n }\n else {\n existingTasks = target[symbolEventName] = [];\n }\n var source;\n var constructorName = target.constructor['name'];\n var targetSource = globalSources[constructorName];\n if (targetSource) {\n source = targetSource[eventName];\n }\n if (!source) {\n source = constructorName + addSource +\n (eventNameToString ? eventNameToString(eventName) : eventName);\n }\n // do not create a new object as task.data to pass those things\n // just use the global shared one\n taskData.options = options;\n if (once) {\n // if addEventListener with once options, we don't pass it to\n // native addEventListener, instead we keep the once setting\n // and handle ourselves.\n taskData.options.once = false;\n }\n taskData.target = target;\n taskData.capture = capture;\n taskData.eventName = eventName;\n taskData.isExisting = isExisting;\n var data = useGlobalCallback ? OPTIMIZED_ZONE_EVENT_TASK_DATA : undefined;\n // keep taskData into data to allow onScheduleEventTask to access the task information\n if (data) {\n data.taskData = taskData;\n }\n var task = zone.scheduleEventTask(source, delegate, data, customScheduleFn, customCancelFn);\n // should clear taskData.target to avoid memory leak\n // issue, https://github.com/angular/angular/issues/20442\n taskData.target = null;\n // need to clear up taskData because it is a global object\n if (data) {\n data.taskData = null;\n }\n // have to save those information to task in case\n // application may call task.zone.cancelTask() directly\n if (once) {\n options.once = true;\n }\n if (!(!passiveSupported && typeof task.options === 'boolean')) {\n // if not support passive, and we pass an option object\n // to addEventListener, we should save the options to task\n task.options = options;\n }\n task.target = target;\n task.capture = capture;\n task.eventName = eventName;\n if (isHandleEvent) {\n // save original delegate for compare to check duplicate\n task.originalDelegate = delegate;\n }\n if (!prepend) {\n existingTasks.push(task);\n }\n else {\n existingTasks.unshift(task);\n }\n if (returnTarget) {\n return target;\n }\n };\n };\n proto[ADD_EVENT_LISTENER] = makeAddListener(nativeAddEventListener, ADD_EVENT_LISTENER_SOURCE, customSchedule, customCancel, returnTarget);\n if (nativePrependEventListener) {\n proto[PREPEND_EVENT_LISTENER] = makeAddListener(nativePrependEventListener, PREPEND_EVENT_LISTENER_SOURCE, customSchedulePrepend, customCancel, returnTarget, true);\n }\n proto[REMOVE_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n var options = arguments[2];\n var capture;\n if (options === undefined) {\n capture = false;\n }\n else if (options === true) {\n capture = true;\n }\n else if (options === false) {\n capture = false;\n }\n else {\n capture = options ? !!options.capture : false;\n }\n var delegate = arguments[1];\n if (!delegate) {\n return nativeRemoveEventListener.apply(this, arguments);\n }\n if (validateHandler &&\n !validateHandler(nativeRemoveEventListener, delegate, target, arguments)) {\n return;\n }\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n var symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = symbolEventName && target[symbolEventName];\n if (existingTasks) {\n for (var i = 0; i < existingTasks.length; i++) {\n var existingTask = existingTasks[i];\n if (compare(existingTask, delegate)) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n existingTask.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n existingTask.allRemoved = true;\n target[symbolEventName] = null;\n }\n existingTask.zone.cancelTask(existingTask);\n if (returnTarget) {\n return target;\n }\n return;\n }\n }\n }\n // issue 930, didn't find the event name or callback\n // from zone kept existingTasks, the callback maybe\n // added outside of zone, we need to call native removeEventListener\n // to try to remove it.\n return nativeRemoveEventListener.apply(this, arguments);\n };\n proto[LISTENERS_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n var listeners = [];\n var tasks = findEventTasks(target, eventNameToString ? eventNameToString(eventName) : eventName);\n for (var i = 0; i < tasks.length; i++) {\n var task = tasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n listeners.push(delegate);\n }\n return listeners;\n };\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (!eventName) {\n var keys = Object.keys(target);\n for (var i = 0; i < keys.length; i++) {\n var prop = keys[i];\n var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n var evtName = match && match[1];\n // in nodejs EventEmitter, removeListener event is\n // used for monitoring the removeListener call,\n // so just keep removeListener eventListener until\n // all other eventListeners are removed\n if (evtName && evtName !== 'removeListener') {\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, evtName);\n }\n }\n // remove removeListener listener finally\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, 'removeListener');\n }\n else {\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n if (symbolEventNames) {\n var symbolEventName = symbolEventNames[FALSE_STR];\n var symbolCaptureEventName = symbolEventNames[TRUE_STR];\n var tasks = target[symbolEventName];\n var captureTasks = target[symbolCaptureEventName];\n if (tasks) {\n var removeTasks = tasks.slice();\n for (var i = 0; i < removeTasks.length; i++) {\n var task = removeTasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n if (captureTasks) {\n var removeTasks = captureTasks.slice();\n for (var i = 0; i < removeTasks.length; i++) {\n var task = removeTasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n }\n }\n if (returnTarget) {\n return this;\n }\n };\n // for native toString patch\n attachOriginToPatched(proto[ADD_EVENT_LISTENER], nativeAddEventListener);\n attachOriginToPatched(proto[REMOVE_EVENT_LISTENER], nativeRemoveEventListener);\n if (nativeRemoveAllListeners) {\n attachOriginToPatched(proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER], nativeRemoveAllListeners);\n }\n if (nativeListeners) {\n attachOriginToPatched(proto[LISTENERS_EVENT_LISTENER], nativeListeners);\n }\n return true;\n }\n var results = [];\n for (var i = 0; i < apis.length; i++) {\n results[i] = patchEventTargetMethods(apis[i], patchOptions);\n }\n return results;\n}\nfunction findEventTasks(target, eventName) {\n var foundTasks = [];\n for (var prop in target) {\n var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n var evtName = match && match[1];\n if (evtName && (!eventName || evtName === eventName)) {\n var tasks = target[prop];\n if (tasks) {\n for (var i = 0; i < tasks.length; i++) {\n foundTasks.push(tasks[i]);\n }\n }\n }\n }\n return foundTasks;\n}\nfunction patchEventPrototype(global, api) {\n var Event = global['Event'];\n if (Event && Event.prototype) {\n api.patchMethod(Event.prototype, 'stopImmediatePropagation', function (delegate) { return function (self, args) {\n self[IMMEDIATE_PROPAGATION_SYMBOL] = true;\n // we need to call the native stopImmediatePropagation\n // in case in some hybrid application, some part of\n // application will be controlled by zone, some are not\n delegate && delegate.apply(self, args);\n }; });\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nvar taskSymbol = zoneSymbol('zoneTask');\nfunction patchTimer(window, setName, cancelName, nameSuffix) {\n var setNative = null;\n var clearNative = null;\n setName += nameSuffix;\n cancelName += nameSuffix;\n var tasksByHandleId = {};\n function scheduleTask(task) {\n var data = task.data;\n function timer() {\n try {\n task.invoke.apply(this, arguments);\n }\n finally {\n // issue-934, task will be cancelled\n // even it is a periodic task such as\n // setInterval\n if (!(task.data && task.data.isPeriodic)) {\n if (typeof data.handleId === 'number') {\n // in non-nodejs env, we remove timerId\n // from local cache\n delete tasksByHandleId[data.handleId];\n }\n else if (data.handleId) {\n // Node returns complex objects as handleIds\n // we remove task reference from timer object\n data.handleId[taskSymbol] = null;\n }\n }\n }\n }\n data.args[0] = timer;\n data.handleId = setNative.apply(window, data.args);\n return task;\n }\n function clearTask(task) {\n return clearNative(task.data.handleId);\n }\n setNative =\n patchMethod(window, setName, function (delegate) { return function (self, args) {\n if (typeof args[0] === 'function') {\n var options = {\n isPeriodic: nameSuffix === 'Interval',\n delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 :\n undefined,\n args: args\n };\n var task = scheduleMacroTaskWithCurrentZone(setName, args[0], options, scheduleTask, clearTask);\n if (!task) {\n return task;\n }\n // Node.js must additionally support the ref and unref functions.\n var handle = task.data.handleId;\n if (typeof handle === 'number') {\n // for non nodejs env, we save handleId: task\n // mapping in local cache for clearTimeout\n tasksByHandleId[handle] = task;\n }\n else if (handle) {\n // for nodejs env, we save task\n // reference in timerId Object for clearTimeout\n handle[taskSymbol] = task;\n }\n // check whether handle is null, because some polyfill or browser\n // may return undefined from setTimeout/setInterval/setImmediate/requestAnimationFrame\n if (handle && handle.ref && handle.unref && typeof handle.ref === 'function' &&\n typeof handle.unref === 'function') {\n task.ref = handle.ref.bind(handle);\n task.unref = handle.unref.bind(handle);\n }\n if (typeof handle === 'number' || handle) {\n return handle;\n }\n return task;\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(window, args);\n }\n }; });\n clearNative =\n patchMethod(window, cancelName, function (delegate) { return function (self, args) {\n var id = args[0];\n var task;\n if (typeof id === 'number') {\n // non nodejs env.\n task = tasksByHandleId[id];\n }\n else {\n // nodejs env.\n task = id && id[taskSymbol];\n // other environments.\n if (!task) {\n task = id;\n }\n }\n if (task && typeof task.type === 'string') {\n if (task.state !== 'notScheduled' &&\n (task.cancelFn && task.data.isPeriodic || task.runCount === 0)) {\n if (typeof id === 'number') {\n delete tasksByHandleId[id];\n }\n else if (id) {\n id[taskSymbol] = null;\n }\n // Do not cancel already canceled functions\n task.zone.cancelTask(task);\n }\n }\n else {\n // cause an error by calling it directly.\n delegate.apply(window, args);\n }\n }; });\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/*\n * This is necessary for Chrome and Chrome mobile, to enable\n * things like redefining `createdCallback` on an element.\n */\nvar _defineProperty = Object[zoneSymbol('defineProperty')] = Object.defineProperty;\nvar _getOwnPropertyDescriptor = Object[zoneSymbol('getOwnPropertyDescriptor')] =\n Object.getOwnPropertyDescriptor;\nvar _create = Object.create;\nvar unconfigurablesKey = zoneSymbol('unconfigurables');\nfunction propertyPatch() {\n Object.defineProperty = function (obj, prop, desc) {\n if (isUnconfigurable(obj, prop)) {\n throw new TypeError('Cannot assign to read only property \\'' + prop + '\\' of ' + obj);\n }\n var originalConfigurableFlag = desc.configurable;\n if (prop !== 'prototype') {\n desc = rewriteDescriptor(obj, prop, desc);\n }\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n };\n Object.defineProperties = function (obj, props) {\n Object.keys(props).forEach(function (prop) {\n Object.defineProperty(obj, prop, props[prop]);\n });\n return obj;\n };\n Object.create = function (obj, proto) {\n if (typeof proto === 'object' && !Object.isFrozen(proto)) {\n Object.keys(proto).forEach(function (prop) {\n proto[prop] = rewriteDescriptor(obj, prop, proto[prop]);\n });\n }\n return _create(obj, proto);\n };\n Object.getOwnPropertyDescriptor = function (obj, prop) {\n var desc = _getOwnPropertyDescriptor(obj, prop);\n if (desc && isUnconfigurable(obj, prop)) {\n desc.configurable = false;\n }\n return desc;\n };\n}\nfunction _redefineProperty(obj, prop, desc) {\n var originalConfigurableFlag = desc.configurable;\n desc = rewriteDescriptor(obj, prop, desc);\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n}\nfunction isUnconfigurable(obj, prop) {\n return obj && obj[unconfigurablesKey] && obj[unconfigurablesKey][prop];\n}\nfunction rewriteDescriptor(obj, prop, desc) {\n // issue-927, if the desc is frozen, don't try to change the desc\n if (!Object.isFrozen(desc)) {\n desc.configurable = true;\n }\n if (!desc.configurable) {\n // issue-927, if the obj is frozen, don't try to set the desc to obj\n if (!obj[unconfigurablesKey] && !Object.isFrozen(obj)) {\n _defineProperty(obj, unconfigurablesKey, { writable: true, value: {} });\n }\n if (obj[unconfigurablesKey]) {\n obj[unconfigurablesKey][prop] = true;\n }\n }\n return desc;\n}\nfunction _tryDefineProperty(obj, prop, desc, originalConfigurableFlag) {\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n if (desc.configurable) {\n // In case of errors, when the configurable flag was likely set by rewriteDescriptor(), let's\n // retry with the original flag value\n if (typeof originalConfigurableFlag == 'undefined') {\n delete desc.configurable;\n }\n else {\n desc.configurable = originalConfigurableFlag;\n }\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n var descJson = null;\n try {\n descJson = JSON.stringify(desc);\n }\n catch (error) {\n descJson = desc.toString();\n }\n console.log(\"Attempting to configure '\" + prop + \"' with descriptor '\" + descJson + \"' on object '\" + obj + \"' and got error, giving up: \" + error);\n }\n }\n else {\n throw error;\n }\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// we have to patch the instance since the proto is non-configurable\nfunction apply(api, _global) {\n var WS = _global.WebSocket;\n // On Safari window.EventTarget doesn't exist so need to patch WS add/removeEventListener\n // On older Chrome, no need since EventTarget was already patched\n if (!_global.EventTarget) {\n patchEventTarget(_global, [WS.prototype]);\n }\n _global.WebSocket = function (x, y) {\n var socket = arguments.length > 1 ? new WS(x, y) : new WS(x);\n var proxySocket;\n var proxySocketProto;\n // Safari 7.0 has non-configurable own 'onmessage' and friends properties on the socket instance\n var onmessageDesc = ObjectGetOwnPropertyDescriptor(socket, 'onmessage');\n if (onmessageDesc && onmessageDesc.configurable === false) {\n proxySocket = ObjectCreate(socket);\n // socket have own property descriptor 'onopen', 'onmessage', 'onclose', 'onerror'\n // but proxySocket not, so we will keep socket as prototype and pass it to\n // patchOnProperties method\n proxySocketProto = socket;\n [ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR, 'send', 'close'].forEach(function (propName) {\n proxySocket[propName] = function () {\n var args = ArraySlice.call(arguments);\n if (propName === ADD_EVENT_LISTENER_STR || propName === REMOVE_EVENT_LISTENER_STR) {\n var eventName = args.length > 0 ? args[0] : undefined;\n if (eventName) {\n var propertySymbol = Zone.__symbol__('ON_PROPERTY' + eventName);\n socket[propertySymbol] = proxySocket[propertySymbol];\n }\n }\n return socket[propName].apply(socket, args);\n };\n });\n }\n else {\n // we can patch the real socket\n proxySocket = socket;\n }\n patchOnProperties(proxySocket, ['close', 'error', 'message', 'open'], proxySocketProto);\n return proxySocket;\n };\n var globalWebSocket = _global['WebSocket'];\n for (var prop in WS) {\n globalWebSocket[prop] = WS[prop];\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {globalThis}\n */\nvar globalEventHandlersEventNames = [\n 'abort',\n 'animationcancel',\n 'animationend',\n 'animationiteration',\n 'auxclick',\n 'beforeinput',\n 'blur',\n 'cancel',\n 'canplay',\n 'canplaythrough',\n 'change',\n 'compositionstart',\n 'compositionupdate',\n 'compositionend',\n 'cuechange',\n 'click',\n 'close',\n 'contextmenu',\n 'curechange',\n 'dblclick',\n 'drag',\n 'dragend',\n 'dragenter',\n 'dragexit',\n 'dragleave',\n 'dragover',\n 'drop',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'focus',\n 'focusin',\n 'focusout',\n 'gotpointercapture',\n 'input',\n 'invalid',\n 'keydown',\n 'keypress',\n 'keyup',\n 'load',\n 'loadstart',\n 'loadeddata',\n 'loadedmetadata',\n 'lostpointercapture',\n 'mousedown',\n 'mouseenter',\n 'mouseleave',\n 'mousemove',\n 'mouseout',\n 'mouseover',\n 'mouseup',\n 'mousewheel',\n 'orientationchange',\n 'pause',\n 'play',\n 'playing',\n 'pointercancel',\n 'pointerdown',\n 'pointerenter',\n 'pointerleave',\n 'pointerlockchange',\n 'mozpointerlockchange',\n 'webkitpointerlockerchange',\n 'pointerlockerror',\n 'mozpointerlockerror',\n 'webkitpointerlockerror',\n 'pointermove',\n 'pointout',\n 'pointerover',\n 'pointerup',\n 'progress',\n 'ratechange',\n 'reset',\n 'resize',\n 'scroll',\n 'seeked',\n 'seeking',\n 'select',\n 'selectionchange',\n 'selectstart',\n 'show',\n 'sort',\n 'stalled',\n 'submit',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'touchcancel',\n 'touchmove',\n 'touchstart',\n 'touchend',\n 'transitioncancel',\n 'transitionend',\n 'waiting',\n 'wheel'\n];\nvar documentEventNames = [\n 'afterscriptexecute', 'beforescriptexecute', 'DOMContentLoaded', 'freeze', 'fullscreenchange',\n 'mozfullscreenchange', 'webkitfullscreenchange', 'msfullscreenchange', 'fullscreenerror',\n 'mozfullscreenerror', 'webkitfullscreenerror', 'msfullscreenerror', 'readystatechange',\n 'visibilitychange', 'resume'\n];\nvar windowEventNames = [\n 'absolutedeviceorientation',\n 'afterinput',\n 'afterprint',\n 'appinstalled',\n 'beforeinstallprompt',\n 'beforeprint',\n 'beforeunload',\n 'devicelight',\n 'devicemotion',\n 'deviceorientation',\n 'deviceorientationabsolute',\n 'deviceproximity',\n 'hashchange',\n 'languagechange',\n 'message',\n 'mozbeforepaint',\n 'offline',\n 'online',\n 'paint',\n 'pageshow',\n 'pagehide',\n 'popstate',\n 'rejectionhandled',\n 'storage',\n 'unhandledrejection',\n 'unload',\n 'userproximity',\n 'vrdisplyconnected',\n 'vrdisplaydisconnected',\n 'vrdisplaypresentchange'\n];\nvar htmlElementEventNames = [\n 'beforecopy', 'beforecut', 'beforepaste', 'copy', 'cut', 'paste', 'dragstart', 'loadend',\n 'animationstart', 'search', 'transitionrun', 'transitionstart', 'webkitanimationend',\n 'webkitanimationiteration', 'webkitanimationstart', 'webkittransitionend'\n];\nvar mediaElementEventNames = ['encrypted', 'waitingforkey', 'msneedkey', 'mozinterruptbegin', 'mozinterruptend'];\nvar ieElementEventNames = [\n 'activate',\n 'afterupdate',\n 'ariarequest',\n 'beforeactivate',\n 'beforedeactivate',\n 'beforeeditfocus',\n 'beforeupdate',\n 'cellchange',\n 'controlselect',\n 'dataavailable',\n 'datasetchanged',\n 'datasetcomplete',\n 'errorupdate',\n 'filterchange',\n 'layoutcomplete',\n 'losecapture',\n 'move',\n 'moveend',\n 'movestart',\n 'propertychange',\n 'resizeend',\n 'resizestart',\n 'rowenter',\n 'rowexit',\n 'rowsdelete',\n 'rowsinserted',\n 'command',\n 'compassneedscalibration',\n 'deactivate',\n 'help',\n 'mscontentzoom',\n 'msmanipulationstatechanged',\n 'msgesturechange',\n 'msgesturedoubletap',\n 'msgestureend',\n 'msgesturehold',\n 'msgesturestart',\n 'msgesturetap',\n 'msgotpointercapture',\n 'msinertiastart',\n 'mslostpointercapture',\n 'mspointercancel',\n 'mspointerdown',\n 'mspointerenter',\n 'mspointerhover',\n 'mspointerleave',\n 'mspointermove',\n 'mspointerout',\n 'mspointerover',\n 'mspointerup',\n 'pointerout',\n 'mssitemodejumplistitemremoved',\n 'msthumbnailclick',\n 'stop',\n 'storagecommit'\n];\nvar webglEventNames = ['webglcontextrestored', 'webglcontextlost', 'webglcontextcreationerror'];\nvar formEventNames = ['autocomplete', 'autocompleteerror'];\nvar detailEventNames = ['toggle'];\nvar frameEventNames = ['load'];\nvar frameSetEventNames = ['blur', 'error', 'focus', 'load', 'resize', 'scroll', 'messageerror'];\nvar marqueeEventNames = ['bounce', 'finish', 'start'];\nvar XMLHttpRequestEventNames = [\n 'loadstart', 'progress', 'abort', 'error', 'load', 'progress', 'timeout', 'loadend',\n 'readystatechange'\n];\nvar IDBIndexEventNames = ['upgradeneeded', 'complete', 'abort', 'success', 'error', 'blocked', 'versionchange', 'close'];\nvar websocketEventNames = ['close', 'error', 'open', 'message'];\nvar workerEventNames = ['error', 'message'];\nvar eventNames = globalEventHandlersEventNames.concat(webglEventNames, formEventNames, detailEventNames, documentEventNames, windowEventNames, htmlElementEventNames, ieElementEventNames);\nfunction filterProperties(target, onProperties, ignoreProperties) {\n if (!ignoreProperties || ignoreProperties.length === 0) {\n return onProperties;\n }\n var tip = ignoreProperties.filter(function (ip) { return ip.target === target; });\n if (!tip || tip.length === 0) {\n return onProperties;\n }\n var targetIgnoreProperties = tip[0].ignoreProperties;\n return onProperties.filter(function (op) { return targetIgnoreProperties.indexOf(op) === -1; });\n}\nfunction patchFilteredProperties(target, onProperties, ignoreProperties, prototype) {\n // check whether target is available, sometimes target will be undefined\n // because different browser or some 3rd party plugin.\n if (!target) {\n return;\n }\n var filteredProperties = filterProperties(target, onProperties, ignoreProperties);\n patchOnProperties(target, filteredProperties, prototype);\n}\nfunction propertyDescriptorPatch(api, _global) {\n if (isNode && !isMix) {\n return;\n }\n var supportsWebSocket = typeof WebSocket !== 'undefined';\n if (canPatchViaPropertyDescriptor()) {\n var ignoreProperties = _global['__Zone_ignore_on_properties'];\n // for browsers that we can patch the descriptor: Chrome & Firefox\n if (isBrowser) {\n var internalWindow = window;\n var ignoreErrorProperties = isIE ? [{ target: internalWindow, ignoreProperties: ['error'] }] : [];\n // in IE/Edge, onProp not exist in window object, but in WindowPrototype\n // so we need to pass WindowPrototype to check onProp exist or not\n patchFilteredProperties(internalWindow, eventNames.concat(['messageerror']), ignoreProperties ? ignoreProperties.concat(ignoreErrorProperties) : ignoreProperties, ObjectGetPrototypeOf(internalWindow));\n patchFilteredProperties(Document.prototype, eventNames, ignoreProperties);\n if (typeof internalWindow['SVGElement'] !== 'undefined') {\n patchFilteredProperties(internalWindow['SVGElement'].prototype, eventNames, ignoreProperties);\n }\n patchFilteredProperties(Element.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLElement.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLMediaElement.prototype, mediaElementEventNames, ignoreProperties);\n patchFilteredProperties(HTMLFrameSetElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLBodyElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLFrameElement.prototype, frameEventNames, ignoreProperties);\n patchFilteredProperties(HTMLIFrameElement.prototype, frameEventNames, ignoreProperties);\n var HTMLMarqueeElement_1 = internalWindow['HTMLMarqueeElement'];\n if (HTMLMarqueeElement_1) {\n patchFilteredProperties(HTMLMarqueeElement_1.prototype, marqueeEventNames, ignoreProperties);\n }\n var Worker_1 = internalWindow['Worker'];\n if (Worker_1) {\n patchFilteredProperties(Worker_1.prototype, workerEventNames, ignoreProperties);\n }\n }\n patchFilteredProperties(XMLHttpRequest.prototype, XMLHttpRequestEventNames, ignoreProperties);\n var XMLHttpRequestEventTarget_1 = _global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget_1) {\n patchFilteredProperties(XMLHttpRequestEventTarget_1 && XMLHttpRequestEventTarget_1.prototype, XMLHttpRequestEventNames, ignoreProperties);\n }\n if (typeof IDBIndex !== 'undefined') {\n patchFilteredProperties(IDBIndex.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBOpenDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBDatabase.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBTransaction.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBCursor.prototype, IDBIndexEventNames, ignoreProperties);\n }\n if (supportsWebSocket) {\n patchFilteredProperties(WebSocket.prototype, websocketEventNames, ignoreProperties);\n }\n }\n else {\n // Safari, Android browsers (Jelly Bean)\n patchViaCapturingAllTheEvents();\n patchClass('XMLHttpRequest');\n if (supportsWebSocket) {\n apply(api, _global);\n }\n }\n}\nfunction canPatchViaPropertyDescriptor() {\n if ((isBrowser || isMix) && !ObjectGetOwnPropertyDescriptor(HTMLElement.prototype, 'onclick') &&\n typeof Element !== 'undefined') {\n // WebKit https://bugs.webkit.org/show_bug.cgi?id=134364\n // IDL interface attributes are not configurable\n var desc = ObjectGetOwnPropertyDescriptor(Element.prototype, 'onclick');\n if (desc && !desc.configurable)\n return false;\n }\n var ON_READY_STATE_CHANGE = 'onreadystatechange';\n var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n var xhrDesc = ObjectGetOwnPropertyDescriptor(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE);\n // add enumerable and configurable here because in opera\n // by default XMLHttpRequest.prototype.onreadystatechange is undefined\n // without adding enumerable and configurable will cause onreadystatechange\n // non-configurable\n // and if XMLHttpRequest.prototype.onreadystatechange is undefined,\n // we should set a real desc instead a fake one\n if (xhrDesc) {\n ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, {\n enumerable: true,\n configurable: true,\n get: function () {\n return true;\n }\n });\n var req = new XMLHttpRequest();\n var result = !!req.onreadystatechange;\n // restore original desc\n ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, xhrDesc || {});\n return result;\n }\n else {\n var SYMBOL_FAKE_ONREADYSTATECHANGE_1 = zoneSymbol('fake');\n ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, {\n enumerable: true,\n configurable: true,\n get: function () {\n return this[SYMBOL_FAKE_ONREADYSTATECHANGE_1];\n },\n set: function (value) {\n this[SYMBOL_FAKE_ONREADYSTATECHANGE_1] = value;\n }\n });\n var req = new XMLHttpRequest();\n var detectFunc = function () { };\n req.onreadystatechange = detectFunc;\n var result = req[SYMBOL_FAKE_ONREADYSTATECHANGE_1] === detectFunc;\n req.onreadystatechange = null;\n return result;\n }\n}\nvar unboundKey = zoneSymbol('unbound');\n// Whenever any eventListener fires, we check the eventListener target and all parents\n// for `onwhatever` properties and replace them with zone-bound functions\n// - Chrome (for now)\nfunction patchViaCapturingAllTheEvents() {\n var _loop_1 = function (i) {\n var property = eventNames[i];\n var onproperty = 'on' + property;\n self.addEventListener(property, function (event) {\n var elt = event.target, bound, source;\n if (elt) {\n source = elt.constructor['name'] + '.' + onproperty;\n }\n else {\n source = 'unknown.' + onproperty;\n }\n while (elt) {\n if (elt[onproperty] && !elt[onproperty][unboundKey]) {\n bound = wrapWithCurrentZone(elt[onproperty], source);\n bound[unboundKey] = elt[onproperty];\n elt[onproperty] = bound;\n }\n elt = elt.parentElement;\n }\n }, true);\n };\n for (var i = 0; i < eventNames.length; i++) {\n _loop_1(i);\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction eventTargetPatch(_global, api) {\n var WTF_ISSUE_555 = 'Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video';\n var NO_EVENT_TARGET = 'ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket'\n .split(',');\n var EVENT_TARGET = 'EventTarget';\n var apis = [];\n var isWtf = _global['wtf'];\n var WTF_ISSUE_555_ARRAY = WTF_ISSUE_555.split(',');\n if (isWtf) {\n // Workaround for: https://github.com/google/tracing-framework/issues/555\n apis = WTF_ISSUE_555_ARRAY.map(function (v) { return 'HTML' + v + 'Element'; }).concat(NO_EVENT_TARGET);\n }\n else if (_global[EVENT_TARGET]) {\n apis.push(EVENT_TARGET);\n }\n else {\n // Note: EventTarget is not available in all browsers,\n // if it's not available, we instead patch the APIs in the IDL that inherit from EventTarget\n apis = NO_EVENT_TARGET;\n }\n var isDisableIECheck = _global['__Zone_disable_IE_check'] || false;\n var isEnableCrossContextCheck = _global['__Zone_enable_cross_context_check'] || false;\n var ieOrEdge = isIEOrEdge();\n var ADD_EVENT_LISTENER_SOURCE = '.addEventListener:';\n var FUNCTION_WRAPPER = '[object FunctionWrapper]';\n var BROWSER_TOOLS = 'function __BROWSERTOOLS_CONSOLE_SAFEFUNC() { [native code] }';\n // predefine all __zone_symbol__ + eventName + true/false string\n for (var i = 0; i < eventNames.length; i++) {\n var eventName = eventNames[i];\n var falseEventName = eventName + FALSE_STR;\n var trueEventName = eventName + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames$1[eventName] = {};\n zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture;\n }\n // predefine all task.source string\n for (var i = 0; i < WTF_ISSUE_555.length; i++) {\n var target = WTF_ISSUE_555_ARRAY[i];\n var targets = globalSources[target] = {};\n for (var j = 0; j < eventNames.length; j++) {\n var eventName = eventNames[j];\n targets[eventName] = target + ADD_EVENT_LISTENER_SOURCE + eventName;\n }\n }\n var checkIEAndCrossContext = function (nativeDelegate, delegate, target, args) {\n if (!isDisableIECheck && ieOrEdge) {\n if (isEnableCrossContextCheck) {\n try {\n var testString = delegate.toString();\n if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n catch (error) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n else {\n var testString = delegate.toString();\n if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n }\n else if (isEnableCrossContextCheck) {\n try {\n delegate.toString();\n }\n catch (error) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n return true;\n };\n var apiTypes = [];\n for (var i = 0; i < apis.length; i++) {\n var type = _global[apis[i]];\n apiTypes.push(type && type.prototype);\n }\n // vh is validateHandler to check event handler\n // is valid or not(for security check)\n patchEventTarget(_global, apiTypes, { vh: checkIEAndCrossContext });\n api.patchEventTarget = patchEventTarget;\n return true;\n}\nfunction patchEvent(global, api) {\n patchEventPrototype(global, api);\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction patchCallbacks(target, targetName, method, callbacks) {\n var symbol = Zone.__symbol__(method);\n if (target[symbol]) {\n return;\n }\n var nativeDelegate = target[symbol] = target[method];\n target[method] = function (name, opts, options) {\n if (opts && opts.prototype) {\n callbacks.forEach(function (callback) {\n var source = targetName + \".\" + method + \"::\" + callback;\n var prototype = opts.prototype;\n if (prototype.hasOwnProperty(callback)) {\n var descriptor = ObjectGetOwnPropertyDescriptor(prototype, callback);\n if (descriptor && descriptor.value) {\n descriptor.value = wrapWithCurrentZone(descriptor.value, source);\n _redefineProperty(opts.prototype, callback, descriptor);\n }\n else if (prototype[callback]) {\n prototype[callback] = wrapWithCurrentZone(prototype[callback], source);\n }\n }\n else if (prototype[callback]) {\n prototype[callback] = wrapWithCurrentZone(prototype[callback], source);\n }\n });\n }\n return nativeDelegate.call(target, name, opts, options);\n };\n attachOriginToPatched(target[method], nativeDelegate);\n}\nfunction registerElementPatch(_global) {\n if ((!isBrowser && !isMix) || !('registerElement' in _global.document)) {\n return;\n }\n var callbacks = ['createdCallback', 'attachedCallback', 'detachedCallback', 'attributeChangedCallback'];\n patchCallbacks(document, 'Document', 'registerElement', callbacks);\n}\nfunction patchCustomElements(_global) {\n if ((!isBrowser && !isMix) || !('customElements' in _global)) {\n return;\n }\n var callbacks = ['connectedCallback', 'disconnectedCallback', 'adoptedCallback', 'attributeChangedCallback'];\n patchCallbacks(_global.customElements, 'customElements', 'define', callbacks);\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nZone.__load_patch('util', function (global, Zone, api) {\n api.patchOnProperties = patchOnProperties;\n api.patchMethod = patchMethod;\n api.bindArguments = bindArguments;\n});\nZone.__load_patch('timers', function (global) {\n var set = 'set';\n var clear = 'clear';\n patchTimer(global, set, clear, 'Timeout');\n patchTimer(global, set, clear, 'Interval');\n patchTimer(global, set, clear, 'Immediate');\n});\nZone.__load_patch('requestAnimationFrame', function (global) {\n patchTimer(global, 'request', 'cancel', 'AnimationFrame');\n patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame');\n patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');\n});\nZone.__load_patch('blocking', function (global, Zone) {\n var blockingMethods = ['alert', 'prompt', 'confirm'];\n for (var i = 0; i < blockingMethods.length; i++) {\n var name_1 = blockingMethods[i];\n patchMethod(global, name_1, function (delegate, symbol, name) {\n return function (s, args) {\n return Zone.current.run(delegate, global, args, name);\n };\n });\n }\n});\nZone.__load_patch('EventTarget', function (global, Zone, api) {\n // load blackListEvents from global\n var SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS');\n if (global[SYMBOL_BLACK_LISTED_EVENTS]) {\n Zone[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_BLACK_LISTED_EVENTS];\n }\n patchEvent(global, api);\n eventTargetPatch(global, api);\n // patch XMLHttpRequestEventTarget's addEventListener/removeEventListener\n var XMLHttpRequestEventTarget = global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype) {\n api.patchEventTarget(global, [XMLHttpRequestEventTarget.prototype]);\n }\n patchClass('MutationObserver');\n patchClass('WebKitMutationObserver');\n patchClass('IntersectionObserver');\n patchClass('FileReader');\n});\nZone.__load_patch('on_property', function (global, Zone, api) {\n propertyDescriptorPatch(api, global);\n propertyPatch();\n});\nZone.__load_patch('customElements', function (global, Zone, api) {\n registerElementPatch(global);\n patchCustomElements(global);\n});\nZone.__load_patch('canvas', function (global) {\n var HTMLCanvasElement = global['HTMLCanvasElement'];\n if (typeof HTMLCanvasElement !== 'undefined' && HTMLCanvasElement.prototype &&\n HTMLCanvasElement.prototype.toBlob) {\n patchMacroTask(HTMLCanvasElement.prototype, 'toBlob', function (self, args) {\n return { name: 'HTMLCanvasElement.toBlob', target: self, cbIdx: 0, args: args };\n });\n }\n});\nZone.__load_patch('XHR', function (global, Zone) {\n // Treat XMLHttpRequest as a macrotask.\n patchXHR(global);\n var XHR_TASK = zoneSymbol('xhrTask');\n var XHR_SYNC = zoneSymbol('xhrSync');\n var XHR_LISTENER = zoneSymbol('xhrListener');\n var XHR_SCHEDULED = zoneSymbol('xhrScheduled');\n var XHR_URL = zoneSymbol('xhrURL');\n var XHR_ERROR_BEFORE_SCHEDULED = zoneSymbol('xhrErrorBeforeScheduled');\n function patchXHR(window) {\n var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n function findPendingTask(target) {\n return target[XHR_TASK];\n }\n var oriAddListener = XMLHttpRequestPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n var oriRemoveListener = XMLHttpRequestPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n if (!oriAddListener) {\n var XMLHttpRequestEventTarget_1 = window['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget_1) {\n var XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget_1.prototype;\n oriAddListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n }\n var READY_STATE_CHANGE = 'readystatechange';\n var SCHEDULED = 'scheduled';\n function scheduleTask(task) {\n var data = task.data;\n var target = data.target;\n target[XHR_SCHEDULED] = false;\n target[XHR_ERROR_BEFORE_SCHEDULED] = false;\n // remove existing event listener\n var listener = target[XHR_LISTENER];\n if (!oriAddListener) {\n oriAddListener = target[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = target[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n if (listener) {\n oriRemoveListener.call(target, READY_STATE_CHANGE, listener);\n }\n var newListener = target[XHR_LISTENER] = function () {\n if (target.readyState === target.DONE) {\n // sometimes on some browsers XMLHttpRequest will fire onreadystatechange with\n // readyState=4 multiple times, so we need to check task state here\n if (!data.aborted && target[XHR_SCHEDULED] && task.state === SCHEDULED) {\n // check whether the xhr has registered onload listener\n // if that is the case, the task should invoke after all\n // onload listeners finish.\n var loadTasks = target['__zone_symbol__loadfalse'];\n if (loadTasks && loadTasks.length > 0) {\n var oriInvoke_1 = task.invoke;\n task.invoke = function () {\n // need to load the tasks again, because in other\n // load listener, they may remove themselves\n var loadTasks = target['__zone_symbol__loadfalse'];\n for (var i = 0; i < loadTasks.length; i++) {\n if (loadTasks[i] === task) {\n loadTasks.splice(i, 1);\n }\n }\n if (!data.aborted && task.state === SCHEDULED) {\n oriInvoke_1.call(task);\n }\n };\n loadTasks.push(task);\n }\n else {\n task.invoke();\n }\n }\n else if (!data.aborted && target[XHR_SCHEDULED] === false) {\n // error occurs when xhr.send()\n target[XHR_ERROR_BEFORE_SCHEDULED] = true;\n }\n }\n };\n oriAddListener.call(target, READY_STATE_CHANGE, newListener);\n var storedTask = target[XHR_TASK];\n if (!storedTask) {\n target[XHR_TASK] = task;\n }\n sendNative.apply(target, data.args);\n target[XHR_SCHEDULED] = true;\n return task;\n }\n function placeholderCallback() { }\n function clearTask(task) {\n var data = task.data;\n // Note - ideally, we would call data.target.removeEventListener here, but it's too late\n // to prevent it from firing. So instead, we store info for the event listener.\n data.aborted = true;\n return abortNative.apply(data.target, data.args);\n }\n var openNative = patchMethod(XMLHttpRequestPrototype, 'open', function () { return function (self, args) {\n self[XHR_SYNC] = args[2] == false;\n self[XHR_URL] = args[1];\n return openNative.apply(self, args);\n }; });\n var XMLHTTPREQUEST_SOURCE = 'XMLHttpRequest.send';\n var fetchTaskAborting = zoneSymbol('fetchTaskAborting');\n var fetchTaskScheduling = zoneSymbol('fetchTaskScheduling');\n var sendNative = patchMethod(XMLHttpRequestPrototype, 'send', function () { return function (self, args) {\n if (Zone.current[fetchTaskScheduling] === true) {\n // a fetch is scheduling, so we are using xhr to polyfill fetch\n // and because we already schedule macroTask for fetch, we should\n // not schedule a macroTask for xhr again\n return sendNative.apply(self, args);\n }\n if (self[XHR_SYNC]) {\n // if the XHR is sync there is no task to schedule, just execute the code.\n return sendNative.apply(self, args);\n }\n else {\n var options = { target: self, url: self[XHR_URL], isPeriodic: false, args: args, aborted: false };\n var task = scheduleMacroTaskWithCurrentZone(XMLHTTPREQUEST_SOURCE, placeholderCallback, options, scheduleTask, clearTask);\n if (self && self[XHR_ERROR_BEFORE_SCHEDULED] === true && !options.aborted &&\n task.state === SCHEDULED) {\n // xhr request throw error when send\n // we should invoke task instead of leaving a scheduled\n // pending macroTask\n task.invoke();\n }\n }\n }; });\n var abortNative = patchMethod(XMLHttpRequestPrototype, 'abort', function () { return function (self, args) {\n var task = findPendingTask(self);\n if (task && typeof task.type == 'string') {\n // If the XHR has already completed, do nothing.\n // If the XHR has already been aborted, do nothing.\n // Fix #569, call abort multiple times before done will cause\n // macroTask task count be negative number\n if (task.cancelFn == null || (task.data && task.data.aborted)) {\n return;\n }\n task.zone.cancelTask(task);\n }\n else if (Zone.current[fetchTaskAborting] === true) {\n // the abort is called from fetch polyfill, we need to call native abort of XHR.\n return abortNative.apply(self, args);\n }\n // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no\n // task\n // to cancel. Do nothing.\n }; });\n }\n});\nZone.__load_patch('geolocation', function (global) {\n /// GEO_LOCATION\n if (global['navigator'] && global['navigator'].geolocation) {\n patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);\n }\n});\nZone.__load_patch('PromiseRejectionEvent', function (global, Zone) {\n // handle unhandled promise rejection\n function findPromiseRejectionHandler(evtName) {\n return function (e) {\n var eventTasks = findEventTasks(global, evtName);\n eventTasks.forEach(function (eventTask) {\n // windows has added unhandledrejection event listener\n // trigger the event listener\n var PromiseRejectionEvent = global['PromiseRejectionEvent'];\n if (PromiseRejectionEvent) {\n var evt = new PromiseRejectionEvent(evtName, { promise: e.promise, reason: e.rejection });\n eventTask.invoke(evt);\n }\n });\n };\n }\n if (global['PromiseRejectionEvent']) {\n Zone[zoneSymbol('unhandledPromiseRejectionHandler')] =\n findPromiseRejectionHandler('unhandledrejection');\n Zone[zoneSymbol('rejectionHandledHandler')] =\n findPromiseRejectionHandler('rejectionhandled');\n }\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n})));\n","/**\r\n * This file includes polyfills needed by Angular and is loaded before the app.\r\n * You can add your own extra polyfills to this file.\r\n *\r\n * This file is divided into 2 sections:\r\n * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.\r\n * 2. Application imports. Files imported after ZoneJS that should be loaded before your main\r\n * file.\r\n *\r\n * The current setup is for so-called \"evergreen\" browsers; the last versions of browsers that\r\n * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),\r\n * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.\r\n *\r\n * Learn more in https://angular.io/guide/browser-support\r\n */\r\n\r\n/***************************************************************************************************\r\n * BROWSER POLYFILLS\r\n */\r\n\r\n/** IE9, IE10 and IE11 requires all of the following polyfills. **/\r\n// import 'core-js/es6/symbol';\r\n// import 'core-js/es6/object';\r\n// import 'core-js/es6/function';\r\n// import 'core-js/es6/parse-int';\r\n// import 'core-js/es6/parse-float';\r\n// import 'core-js/es6/number';\r\n// import 'core-js/es6/math';\r\n// import 'core-js/es6/string';\r\n// import 'core-js/es6/date';\r\n// import 'core-js/es6/array';\r\n// import 'core-js/es6/regexp';\r\n// import 'core-js/es6/map';\r\n// import 'core-js/es6/weak-map';\r\n// import 'core-js/es6/set';\r\n\r\n/**\r\n * If the application will be indexed by Google Search, the following is required.\r\n * Googlebot uses a renderer based on Chrome 41.\r\n * https://developers.google.com/search/docs/guides/rendering\r\n **/\r\n// import 'core-js/es6/array';\r\n\r\n/** IE10 and IE11 requires the following for NgClass support on SVG elements */\r\n// import 'classlist.js'; // Run `npm install --save classlist.js`.\r\n\r\n/** IE10 and IE11 requires the following for the Reflect API. */\r\n// import 'core-js/es6/reflect';\r\n\r\n/**\r\n * Web Animations `@angular/platform-browser/animations`\r\n * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari.\r\n * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0).\r\n **/\r\n// import 'web-animations-js'; // Run `npm install --save web-animations-js`.\r\n\r\n/**\r\n * By default, zone.js will patch all possible macroTask and DomEvents\r\n * user can disable parts of macroTask/DomEvents patch by setting following flags\r\n */\r\n\r\n // (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame\r\n // (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick\r\n // (window as any).__zone_symbol__BLACK_LISTED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames\r\n\r\n /*\r\n * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js\r\n * with the following flag, it will bypass `zone.js` patch for IE/Edge\r\n */\r\n// (window as any).__Zone_enable_cross_context_check = true;\r\n\r\n/***************************************************************************************************\r\n * Zone JS is required by default for Angular itself.\r\n */\r\nimport 'zone.js/dist/zone'; // Included with Angular CLI.\r\n\r\n\r\n/***************************************************************************************************\r\n * APPLICATION IMPORTS\r\n */\r\n"],"sourceRoot":""} \ No newline at end of file diff --git a/src/gui/qt-daemon/html/purchase.svg b/src/gui/qt-daemon/html/purchase.svg deleted file mode 100644 index 46e904fc..00000000 --- a/src/gui/qt-daemon/html/purchase.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - diff --git a/src/gui/qt-daemon/html/receive-green.svg b/src/gui/qt-daemon/html/receive-green.svg deleted file mode 100644 index 1db438b2..00000000 --- a/src/gui/qt-daemon/html/receive-green.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/receive.svg b/src/gui/qt-daemon/html/receive.svg deleted file mode 100644 index fd7e85a9..00000000 --- a/src/gui/qt-daemon/html/receive.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/runtime.js b/src/gui/qt-daemon/html/runtime.js deleted file mode 100644 index fd2c03c8..00000000 --- a/src/gui/qt-daemon/html/runtime.js +++ /dev/null @@ -1,154 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // install a JSONP callback for chunk loading -/******/ function webpackJsonpCallback(data) { -/******/ var chunkIds = data[0]; -/******/ var moreModules = data[1]; -/******/ var executeModules = data[2]; -/******/ -/******/ // add "moreModules" to the modules object, -/******/ // then flag all "chunkIds" as loaded and fire callback -/******/ var moduleId, chunkId, i = 0, resolves = []; -/******/ for(;i < chunkIds.length; i++) { -/******/ chunkId = chunkIds[i]; -/******/ if(installedChunks[chunkId]) { -/******/ resolves.push(installedChunks[chunkId][0]); -/******/ } -/******/ installedChunks[chunkId] = 0; -/******/ } -/******/ for(moduleId in moreModules) { -/******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) { -/******/ modules[moduleId] = moreModules[moduleId]; -/******/ } -/******/ } -/******/ if(parentJsonpFunction) parentJsonpFunction(data); -/******/ -/******/ while(resolves.length) { -/******/ resolves.shift()(); -/******/ } -/******/ -/******/ // add entry modules from loaded chunk to deferred list -/******/ deferredModules.push.apply(deferredModules, executeModules || []); -/******/ -/******/ // run deferred modules when all chunks ready -/******/ return checkDeferredModules(); -/******/ }; -/******/ function checkDeferredModules() { -/******/ var result; -/******/ for(var i = 0; i < deferredModules.length; i++) { -/******/ var deferredModule = deferredModules[i]; -/******/ var fulfilled = true; -/******/ for(var j = 1; j < deferredModule.length; j++) { -/******/ var depId = deferredModule[j]; -/******/ if(installedChunks[depId] !== 0) fulfilled = false; -/******/ } -/******/ if(fulfilled) { -/******/ deferredModules.splice(i--, 1); -/******/ result = __webpack_require__(__webpack_require__.s = deferredModule[0]); -/******/ } -/******/ } -/******/ return result; -/******/ } -/******/ -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // object to store loaded and loading chunks -/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched -/******/ // Promise = chunk loading, 0 = chunk loaded -/******/ var installedChunks = { -/******/ "runtime": 0 -/******/ }; -/******/ -/******/ var deferredModules = []; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ var jsonpArray = window["webpackJsonp"] = window["webpackJsonp"] || []; -/******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray); -/******/ jsonpArray.push = webpackJsonpCallback; -/******/ jsonpArray = jsonpArray.slice(); -/******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]); -/******/ var parentJsonpFunction = oldJsonpFunction; -/******/ -/******/ -/******/ // run deferred modules from other chunks -/******/ checkDeferredModules(); -/******/ }) -/************************************************************************/ -/******/ ([]); -//# sourceMappingURL=runtime.js.map \ No newline at end of file diff --git a/src/gui/qt-daemon/html/runtime.js.map b/src/gui/qt-daemon/html/runtime.js.map deleted file mode 100644 index c9491c19..00000000 --- a/src/gui/qt-daemon/html/runtime.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap"],"names":[],"mappings":";AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAQ,oBAAoB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAiB,4BAA4B;AAC7C;AACA;AACA,0BAAkB,2BAA2B;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAgB,uBAAuB;AACvC;;;AAGA;AACA","file":"runtime.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"runtime\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// run deferred modules from other chunks\n \tcheckDeferredModules();\n"],"sourceRoot":""} \ No newline at end of file diff --git a/src/gui/qt-daemon/html/safety.svg b/src/gui/qt-daemon/html/safety.svg deleted file mode 100644 index f313f3af..00000000 --- a/src/gui/qt-daemon/html/safety.svg +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/src/gui/qt-daemon/html/secured.svg b/src/gui/qt-daemon/html/secured.svg deleted file mode 100644 index dc1d801c..00000000 --- a/src/gui/qt-daemon/html/secured.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/sell.svg b/src/gui/qt-daemon/html/sell.svg deleted file mode 100644 index f28f0a20..00000000 --- a/src/gui/qt-daemon/html/sell.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - diff --git a/src/gui/qt-daemon/html/send-red.svg b/src/gui/qt-daemon/html/send-red.svg deleted file mode 100644 index d96d08f4..00000000 --- a/src/gui/qt-daemon/html/send-red.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/send.svg b/src/gui/qt-daemon/html/send.svg deleted file mode 100644 index 0c7e6136..00000000 --- a/src/gui/qt-daemon/html/send.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/settings.svg b/src/gui/qt-daemon/html/settings.svg deleted file mode 100644 index ce87d8bc..00000000 --- a/src/gui/qt-daemon/html/settings.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - - settings - - - - - diff --git a/src/gui/qt-daemon/html/staking.svg b/src/gui/qt-daemon/html/staking.svg deleted file mode 100644 index 2f4337f6..00000000 --- a/src/gui/qt-daemon/html/staking.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - diff --git a/src/gui/qt-daemon/html/styles.js b/src/gui/qt-daemon/html/styles.js deleted file mode 100644 index 383090a9..00000000 --- a/src/gui/qt-daemon/html/styles.js +++ /dev/null @@ -1,566 +0,0 @@ -(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["styles"],{ - -/***/ "./node_modules/@angular-devkit/build-angular/src/angular-cli-files/plugins/raw-css-loader.js!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/lib/loader.js?!./src/styles.scss": -/*!**********************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/@angular-devkit/build-angular/src/angular-cli-files/plugins/raw-css-loader.js!./node_modules/postcss-loader/src??embedded!./node_modules/sass-loader/lib/loader.js??ref--14-3!./src/styles.scss ***! - \**********************************************************************************************************************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = [[module.i, "/*\r\n* Implementation of themes\r\n*/\n.ng-select.ng-select-opened>.ng-select-container{background:#fff;border-color:#b3b3b3 #ccc #d9d9d9}\n.ng-select.ng-select-opened>.ng-select-container:hover{box-shadow:none}\n.ng-select.ng-select-opened>.ng-select-container .ng-arrow{top:-2px;border-color:transparent transparent #999;border-width:0 5px 5px}\n.ng-select.ng-select-opened>.ng-select-container .ng-arrow:hover{border-color:transparent transparent #333}\n.ng-select.ng-select-opened.ng-select-bottom>.ng-select-container{border-bottom-right-radius:0;border-bottom-left-radius:0}\n.ng-select.ng-select-opened.ng-select-top>.ng-select-container{border-top-right-radius:0;border-top-left-radius:0}\n.ng-select.ng-select-focused:not(.ng-select-opened)>.ng-select-container{border-color:#007eff;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 0 3px rgba(0,126,255,0.1)}\n.ng-select.ng-select-disabled>.ng-select-container{background-color:#f9f9f9}\n.ng-select .ng-has-value .ng-placeholder{display:none}\n.ng-select .ng-select-container{background-color:#fff;border-radius:4px;border:1px solid #ccc;min-height:36px;align-items:center}\n.ng-select .ng-select-container:hover{box-shadow:0 1px 0 rgba(0,0,0,0.06)}\n.ng-select .ng-select-container .ng-value-container{align-items:center;padding-left:10px}\n[dir=\"rtl\"] .ng-select .ng-select-container .ng-value-container{padding-right:10px;padding-left:0}\n.ng-select .ng-select-container .ng-value-container .ng-placeholder{color:#999}\n.ng-select.ng-select-single .ng-select-container{height:36px}\n.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{top:5px;left:0;padding-left:10px;padding-right:50px}\n[dir=\"rtl\"] .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{padding-right:10px;padding-left:50px}\n.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value{background-color:#f9f9f9;border:1px solid #e6e6e6}\n.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-label{padding:0 5px}\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-top:5px;padding-left:7px}\n[dir=\"rtl\"] .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-right:7px;padding-left:0}\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{font-size:.9em;margin-bottom:5px;background-color:#ebf5ff;border-radius:2px;margin-right:5px}\n[dir=\"rtl\"] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{margin-right:0;margin-left:5px}\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:#f9f9f9}\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:5px}\n[dir=\"rtl\"] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:0;padding-right:5px}\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label{display:inline-block;padding:1px 5px}\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:inline-block;padding:1px 5px}\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{background-color:#d1e8ff}\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-right:1px solid #b8dbff}\n[dir=\"rtl\"] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-left:1px solid #b8dbff;border-right:none}\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:1px solid #b8dbff}\n[dir=\"rtl\"] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:0;border-right:1px solid #b8dbff}\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 0 3px 3px}\n[dir=\"rtl\"] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 3px 3px 0}\n.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{top:5px;padding-bottom:5px;padding-left:3px}\n[dir=\"rtl\"] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-right:3px;padding-left:0}\n.ng-select .ng-clear-wrapper{color:#999}\n.ng-select .ng-clear-wrapper:hover .ng-clear{color:#D0021B}\n.ng-select .ng-spinner-zone{padding:5px 5px 0 0}\n[dir=\"rtl\"] .ng-select .ng-spinner-zone{padding:5px 0 0 5px}\n.ng-select .ng-arrow-wrapper{width:25px;padding-right:5px}\n[dir=\"rtl\"] .ng-select .ng-arrow-wrapper{padding-left:5px;padding-right:0}\n.ng-select .ng-arrow-wrapper:hover .ng-arrow{border-top-color:#666}\n.ng-select .ng-arrow-wrapper .ng-arrow{border-color:#999 transparent transparent;border-style:solid;border-width:5px 5px 2.5px}\n.ng-dropdown-panel{background-color:#fff;border:1px solid #ccc;box-shadow:0 1px 0 rgba(0,0,0,0.06);left:0}\n.ng-dropdown-panel.ng-select-bottom{top:100%;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-top-color:#e6e6e6;margin-top:-1px}\n.ng-dropdown-panel.ng-select-bottom .ng-dropdown-panel-items .ng-option:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}\n.ng-dropdown-panel.ng-select-top{bottom:100%;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}\n.ng-dropdown-panel.ng-select-top .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px;border-top-left-radius:4px}\n.ng-dropdown-panel .ng-dropdown-header{border-bottom:1px solid #ccc;padding:5px 7px}\n.ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid #ccc;padding:5px 7px}\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:8px 10px;font-weight:500;color:rgba(0,0,0,0.54);cursor:pointer}\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background-color:#f5faff}\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected.ng-option-marked{background-color:#ebf5ff;font-weight:600}\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{background-color:#fff;color:rgba(0,0,0,0.87);padding:8px 10px}\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked{color:#333;background-color:#ebf5ff}\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected .ng-option-label,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked .ng-option-label{font-weight:600}\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background-color:#f5faff;color:#333}\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#ccc}\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:22px}\n[dir=\"rtl\"] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-right:22px;padding-left:0}\n.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{font-size:80%;font-weight:400;padding-right:5px}\n[dir=\"rtl\"] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-left:5px;padding-right:0}\n[dir=\"rtl\"] .ng-dropdown-panel{direction:rtl;text-align:right}\nhtml {\n box-sizing: border-box;\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box; }\n*, *:before, *:after {\n box-sizing: inherit;\n -webkit-box-sizing: inherit;\n -moz-box-sizing: inherit;\n margin: 0;\n padding: 0;\n -webkit-touch-collout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none; }\nhtml, body, div, span, applet, object, iframe,\nh1, h2, h3, h4, h5, h6, p, blockquote, pre,\na, abbr, acronym, address, big, cite, code,\ndel, dfn, em, img, ins, kbd, q, s, samp,\nsmall, strike, strong, sub, sup, tt, var,\nb, u, i, center,\ndl, dt, dd, ol, ul, li,\nfieldset, form, label, legend,\ntable, caption, tbody, tfoot, thead, tr, th, td,\narticle, aside, canvas, details, embed,\nfigure, figcaption, footer, header, hgroup,\nmenu, nav, output, ruby, section, summary,\ntime, mark, audio, video {\n border: 0;\n font-size: 100%;\n font: inherit;\n vertical-align: baseline; }\narticle, aside, details, figcaption, figure,\nfooter, header, hgroup, menu, nav, section {\n display: block; }\nbody {\n line-height: 1;\n font-style: normal; }\nol, ul {\n list-style: none; }\nblockquote, q {\n quotes: none; }\nblockquote:before, blockquote:after,\nq:before, q:after {\n content: none; }\ntable {\n border-collapse: collapse;\n border-spacing: 0; }\ntd,\nth {\n padding: 0; }\ninput {\n outline: none; }\ninput:-webkit-autofill {\n -webkit-box-shadow: 0 0 0 1000px white inset; }\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n cursor: pointer;\n outline: none; }\nbutton[disabled],\nhtml input[disabled] {\n cursor: default; }\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0; }\ninput {\n line-height: normal; }\ninput[type=\"search\"] {\n -webkit-appearance: textfield;\n box-sizing: content-box; }\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none; }\na {\n text-decoration: none; }\na:active, a:hover, a:focus {\n outline: 0; }\ni {\n font-style: italic; }\nb, strong {\n font-weight: 700; }\nimg {\n width: auto;\n max-width: 100%;\n height: auto;\n vertical-align: top;\n border: 0; }\n.hidden {\n display: none !important; }\n.theme-dark .app-content .preloader .loading-bar {\n background-color: #5cda9d; }\n.theme-gray .app-content .preloader .loading-bar {\n background-color: #47cf8d; }\n.theme-white .app-content .preloader .loading-bar {\n background-color: #46c172; }\nbutton {\n border: none;\n font-family: OpenSans, sans-serif;\n font-size: 1.5rem;\n font-weight: 600;\n outline: none;\n padding: 0 1rem;\n height: 4.2rem; }\n.theme-dark button:disabled:not(.transparent-button), .theme-dark button.blue-button_reset {\n background-color: #9cadb7;\n color: #111921; }\n.theme-gray button:disabled:not(.transparent-button), .theme-gray button.blue-button_reset {\n background-color: #79848f;\n color: #1a1a1a; }\n.theme-white button:disabled:not(.transparent-button), .theme-white button.blue-button_reset {\n background-color: #90a4ae;\n color: #fefefe; }\n.theme-dark button:disabled:not(.transparent-button):hover, .theme-dark button.blue-button_reset:hover {\n background-color: #b7d1e0; }\n.theme-gray button:disabled:not(.transparent-button):hover, .theme-gray button.blue-button_reset:hover {\n background-color: #a1aebb; }\n.theme-white button:disabled:not(.transparent-button):hover, .theme-white button.blue-button_reset:hover {\n background-color: #aebec6; }\n.theme-dark button:disabled:not(.transparent-button):focus, .theme-dark button.blue-button_reset:focus {\n background-color: #a7b9c2; }\n.theme-gray button:disabled:not(.transparent-button):focus, .theme-gray button.blue-button_reset:focus {\n background-color: #8a959f; }\n.theme-white button:disabled:not(.transparent-button):focus, .theme-white button.blue-button_reset:focus {\n background-color: #a7b9c2; }\n.theme-dark button.blue-button:not(:disabled) {\n background-color: #4db1ff;\n color: #111921; }\n.theme-gray button.blue-button:not(:disabled) {\n background-color: #42a5f5;\n color: #1a1a1a; }\n.theme-white button.blue-button:not(:disabled) {\n background-color: #2c95f1;\n color: #fefefe; }\n.theme-dark button.blue-button:not(:disabled):hover {\n background-color: #82d7ff; }\n.theme-gray button.blue-button:not(:disabled):hover {\n background-color: #86d6ff; }\n.theme-white button.blue-button:not(:disabled):hover {\n background-color: #5cb3ff; }\n.theme-dark button.blue-button:not(:disabled):focus {\n background-color: #59b5fd; }\n.theme-gray button.blue-button:not(:disabled):focus {\n background-color: #5fb6fc; }\n.theme-white button.blue-button:not(:disabled):focus {\n background-color: #379ffa; }\n.theme-dark button.green-button:not(:disabled) {\n background-color: #5cda9d;\n color: #111921; }\n.theme-gray button.green-button:not(:disabled) {\n background-color: #47cf8d;\n color: #1a1a1a; }\n.theme-white button.green-button:not(:disabled) {\n background-color: #46c172;\n color: #fefefe; }\n.theme-dark button.green-button:not(:disabled):hover {\n background-color: #8dfcc6; }\n.theme-gray button.green-button:not(:disabled):hover {\n background-color: #7bf6c6; }\n.theme-white button.green-button:not(:disabled):hover {\n background-color: #5ad586; }\n.theme-dark button.green-button:not(:disabled):focus {\n background-color: #62e0b2; }\n.theme-gray button.green-button:not(:disabled):focus {\n background-color: #5cdc9e; }\n.theme-white button.green-button:not(:disabled):focus {\n background-color: #53c77c; }\n.theme-dark button.turquoise-button:not(:disabled) {\n background-color: #4dd0e1;\n color: #111921; }\n.theme-gray button.turquoise-button:not(:disabled) {\n background-color: #3ec5d7;\n color: #1a1a1a; }\n.theme-white button.turquoise-button:not(:disabled) {\n background-color: #26b6c7;\n color: #fefefe; }\n.theme-dark button.turquoise-button:not(:disabled):hover {\n background-color: #87f4f5; }\n.theme-gray button.turquoise-button:not(:disabled):hover {\n background-color: #72edfe; }\n.theme-white button.turquoise-button:not(:disabled):hover {\n background-color: #52cbd9; }\n.theme-dark button.turquoise-button:not(:disabled):focus {\n background-color: #42d5e8; }\n.theme-gray button.turquoise-button:not(:disabled):focus {\n background-color: #50d0e1; }\n.theme-white button.turquoise-button:not(:disabled):focus {\n background-color: #31becf; }\nbutton.transparent-button {\n display: flex;\n align-items: center;\n justify-content: center; }\n.theme-dark button.transparent-button {\n background-color: transparent;\n border: 0.2rem solid #2b3644;\n color: #e0e0e0; }\n.theme-gray button.transparent-button {\n background-color: transparent;\n border: 0.2rem solid #2f3438;\n color: #e0e0e0; }\n.theme-white button.transparent-button {\n background-color: transparent;\n border: 0.2rem solid #ebebeb;\n color: #43454b; }\nbutton.transparent-button .icon {\n margin-right: 1rem;\n -webkit-mask: url('complete-testwallet.svg') no-repeat center;\n mask: url('complete-testwallet.svg') no-repeat center;\n width: 1.7rem;\n height: 1.7rem; }\n.theme-dark button.transparent-button .icon {\n background-color: #e0e0e0; }\n.theme-gray button.transparent-button .icon {\n background-color: #e0e0e0; }\n.theme-white button.transparent-button .icon {\n background-color: #43454b; }\n.input-block {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n margin-bottom: 0.4rem; }\n.input-block .wrap-label {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n min-height: 2.4rem; }\n.input-block label {\n font-size: 1.3rem;\n line-height: 2.4rem; }\n.theme-dark .input-block label {\n color: #556576; }\n.theme-gray .input-block label {\n color: #565c62; }\n.theme-white .input-block label {\n color: #a0a5ab; }\n.input-block input[type='text'], .input-block input[type='password'], .input-block select {\n border: none;\n font-size: 1.4rem;\n outline: none;\n padding: 0 1rem;\n width: 100%;\n height: 4.2rem; }\n.theme-dark .input-block input[type='text'], .theme-dark .input-block input[type='password'], .theme-dark .input-block select {\n background-color: #171e27;\n color: #e0e0e0; }\n.theme-gray .input-block input[type='text'], .theme-gray .input-block input[type='password'], .theme-gray .input-block select {\n background-color: #292d31;\n color: #e0e0e0; }\n.theme-white .input-block input[type='text'], .theme-white .input-block input[type='password'], .theme-white .input-block select {\n background-color: #e6e6e6;\n color: #43454b; }\n.input-block.textarea {\n height: auto; }\n.input-block.textarea textarea {\n font-family: OpenSans, sans-serif;\n border: none;\n font-size: 1.4rem;\n outline: none;\n padding: 1rem;\n width: 100%;\n min-width: 100%;\n height: 100%;\n min-height: 7.5rem;\n max-height: 7.5rem;\n overflow: auto;\n resize: none; }\n.theme-dark .input-block.textarea textarea {\n background-color: #171e27;\n color: #e0e0e0; }\n.theme-gray .input-block.textarea textarea {\n background-color: #292d31;\n color: #e0e0e0; }\n.theme-white .input-block.textarea textarea {\n background-color: #e6e6e6;\n color: #43454b; }\n.input-block .error-block {\n font-size: 1rem;\n line-height: 1.4rem;\n align-self: flex-end;\n text-align: right; }\n.theme-dark .input-block .error-block {\n color: #ff5252; }\n.theme-gray .input-block .error-block {\n color: #ff5252; }\n.theme-white .input-block .error-block {\n color: #ff5252; }\n.input-block .success-block {\n font-size: 1rem;\n line-height: 1.4rem;\n align-self: flex-end;\n text-align: right; }\n.theme-dark .input-block .success-block {\n color: #5cda9d; }\n.theme-gray .input-block .success-block {\n color: #47cf8d; }\n.theme-white .input-block .success-block {\n color: #46c172; }\n.theme-dark .error-text {\n color: #ff5252; }\n.theme-gray .error-text {\n color: #ff5252; }\n.theme-white .error-text {\n color: #ff5252; }\ninput[type='radio'].style-radio + label {\n display: flex;\n align-items: center;\n cursor: pointer;\n font-weight: 400;\n padding-left: 2.4rem;\n -webkit-touch-collout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none; }\n.theme-dark input[type='radio'].style-radio + label {\n color: #556576; }\n.theme-gray input[type='radio'].style-radio + label {\n color: #565c62; }\n.theme-white input[type='radio'].style-radio + label {\n color: #a0a5ab; }\ninput[type='radio'].style-radio:not(checked) {\n position: absolute;\n opacity: 0; }\ninput[type='radio'].style-radio:not(checked) + label {\n position: relative; }\ninput[type='radio'].style-radio:not(checked) + label:before {\n content: '';\n position: absolute;\n top: 0.7rem;\n left: 0;\n background: transparent;\n border-radius: 50%;\n width: 1.4rem;\n height: 1.4rem; }\n.theme-dark input[type='radio'].style-radio:not(checked) + label:before {\n border: 0.1rem solid #4db1ff; }\n.theme-gray input[type='radio'].style-radio:not(checked) + label:before {\n border: 0.1rem solid #42a5f5; }\n.theme-white input[type='radio'].style-radio:not(checked) + label:before {\n border: 0.1rem solid #2c95f1; }\ninput[type='radio'].style-radio:not(checked) + label:after {\n content: '';\n position: absolute;\n top: 1rem;\n left: 0.3rem;\n border-radius: 50%;\n opacity: 0;\n width: 0.8rem;\n height: 0.8rem; }\n.theme-dark input[type='radio'].style-radio:not(checked) + label:after {\n background-color: #4db1ff; }\n.theme-gray input[type='radio'].style-radio:not(checked) + label:after {\n background-color: #42a5f5; }\n.theme-white input[type='radio'].style-radio:not(checked) + label:after {\n background-color: #2c95f1; }\ninput[type='radio'].style-radio:checked + label:after {\n opacity: 1; }\ninput[type='checkbox'].style-checkbox + label {\n display: flex;\n align-items: center;\n cursor: pointer;\n font-weight: 400;\n padding-left: 3.6rem;\n -webkit-touch-collout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none; }\n.theme-dark input[type='checkbox'].style-checkbox + label {\n color: #556576; }\n.theme-gray input[type='checkbox'].style-checkbox + label {\n color: #565c62; }\n.theme-white input[type='checkbox'].style-checkbox + label {\n color: #a0a5ab; }\ninput[type='checkbox'].style-checkbox:not(checked) {\n position: absolute;\n top: 50%;\n left: 1.6rem;\n transform: translateY(-50%);\n visibility: hidden; }\ninput[type='checkbox'].style-checkbox:not(checked) + label {\n position: relative; }\ninput[type='checkbox'].style-checkbox:not(checked) + label:before {\n content: '';\n position: absolute;\n top: 50%;\n left: 1.6rem;\n transform: translateY(-50%);\n background: transparent;\n width: 1.4rem;\n height: 1.4rem; }\n.theme-dark input[type='checkbox'].style-checkbox:not(checked) + label:before {\n border: 0.1rem solid #4db1ff; }\n.theme-gray input[type='checkbox'].style-checkbox:not(checked) + label:before {\n border: 0.1rem solid #42a5f5; }\n.theme-white input[type='checkbox'].style-checkbox:not(checked) + label:before {\n border: 0.1rem solid #2c95f1; }\ninput[type='checkbox'].style-checkbox:checked + label:before {\n background: url('complete-testwallet.svg'); }\n.theme-dark input[type='checkbox'].style-checkbox:checked + label:before {\n background-color: #4db1ff; }\n.theme-gray input[type='checkbox'].style-checkbox:checked + label:before {\n background-color: #42a5f5; }\n.theme-white input[type='checkbox'].style-checkbox:checked + label:before {\n background-color: #2c95f1; }\n.theme-dark .switch {\n background-color: #000000; }\n.theme-gray .switch {\n background-color: #000000; }\n.theme-white .switch {\n background-color: #e0e0e0; }\n.theme-dark .switch .circle.on {\n background-color: #4db1ff; }\n.theme-gray .switch .circle.on {\n background-color: #42a5f5; }\n.theme-white .switch .circle.on {\n background-color: #2c95f1; }\n.theme-dark .switch .circle.off {\n background-color: #556576; }\n.theme-gray .switch .circle.off {\n background-color: #565c62; }\n.theme-white .switch .circle.off {\n background-color: #a0a5ab; }\n.table-tooltip {\n padding: 1rem 2rem; }\n.theme-dark .table-tooltip {\n background: #42505f;\n box-shadow: 0 0 1rem rgba(0, 0, 0, 0.5);\n color: #e0e0e0; }\n.theme-gray .table-tooltip {\n background: #3e464c;\n box-shadow: 0 0 1rem rgba(0, 0, 0, 0.5);\n color: #e0e0e0; }\n.theme-white .table-tooltip {\n background: #ffffff;\n box-shadow: 0 0 1rem rgba(120, 120, 120, 0.5);\n color: #43454b; }\n.table-tooltip .tooltip-inner {\n font-size: 1.3rem;\n line-height: 1.8rem;\n white-space: pre-wrap; }\n.table-tooltip.ng-tooltip-top {\n margin-top: -1rem; }\n.table-tooltip.ng-tooltip-top:after {\n content: \"\";\n position: absolute;\n bottom: -1rem;\n left: calc(50% - 0.5rem);\n border-width: 0.5rem;\n border-style: solid; }\n.theme-dark .table-tooltip.ng-tooltip-top:after {\n border-color: #42505f transparent transparent transparent; }\n.theme-gray .table-tooltip.ng-tooltip-top:after {\n border-color: #3e464c transparent transparent transparent; }\n.theme-white .table-tooltip.ng-tooltip-top:after {\n border-color: #ffffff transparent transparent transparent; }\n.table-tooltip.ng-tooltip-top-left {\n margin-top: -1rem; }\n.table-tooltip.ng-tooltip-top-left:after {\n content: \"\";\n position: absolute;\n bottom: -1rem;\n left: 0.7rem;\n border-width: 0.5rem;\n border-style: solid; }\n.theme-dark .table-tooltip.ng-tooltip-top-left:after {\n border-color: #42505f transparent transparent #42505f; }\n.theme-gray .table-tooltip.ng-tooltip-top-left:after {\n border-color: #3e464c transparent transparent #3e464c; }\n.theme-white .table-tooltip.ng-tooltip-top-left:after {\n border-color: #ffffff transparent transparent #ffffff; }\n.table-tooltip.ng-tooltip-top-right {\n margin-top: -1rem; }\n.table-tooltip.ng-tooltip-top-right:after {\n content: \"\";\n position: absolute;\n bottom: -1rem;\n right: 0.7rem;\n border-width: 0.5rem;\n border-style: solid; }\n.theme-dark .table-tooltip.ng-tooltip-top-right:after {\n border-color: #42505f #42505f transparent transparent; }\n.theme-gray .table-tooltip.ng-tooltip-top-right:after {\n border-color: #3e464c #3e464c transparent transparent; }\n.theme-white .table-tooltip.ng-tooltip-top-right:after {\n border-color: #ffffff #ffffff transparent transparent; }\n.table-tooltip.ng-tooltip-bottom {\n margin-top: 1rem; }\n.table-tooltip.ng-tooltip-bottom:before {\n content: \"\";\n position: absolute;\n top: -1rem;\n left: calc(50% - 0.5rem);\n border-width: 0.5rem;\n border-style: solid; }\n.theme-dark .table-tooltip.ng-tooltip-bottom:before {\n border-color: transparent transparent #42505f transparent; }\n.theme-gray .table-tooltip.ng-tooltip-bottom:before {\n border-color: transparent transparent #3e464c transparent; }\n.theme-white .table-tooltip.ng-tooltip-bottom:before {\n border-color: transparent transparent #ffffff transparent; }\n.table-tooltip.ng-tooltip-bottom-left {\n margin-top: 1rem; }\n.table-tooltip.ng-tooltip-bottom-left:before {\n content: \"\";\n position: absolute;\n top: -1rem;\n left: 0.7rem;\n border-width: 0.5rem;\n border-style: solid; }\n.theme-dark .table-tooltip.ng-tooltip-bottom-left:before {\n border-color: transparent transparent #42505f #42505f; }\n.theme-gray .table-tooltip.ng-tooltip-bottom-left:before {\n border-color: transparent transparent #3e464c #3e464c; }\n.theme-white .table-tooltip.ng-tooltip-bottom-left:before {\n border-color: transparent transparent #ffffff #ffffff; }\n.table-tooltip.ng-tooltip-bottom-right {\n margin-top: 1rem; }\n.table-tooltip.ng-tooltip-bottom-right:before {\n content: \"\";\n position: absolute;\n top: -1rem;\n right: 0.7rem;\n border-width: 0.5rem;\n border-style: solid; }\n.theme-dark .table-tooltip.ng-tooltip-bottom-right:before {\n border-color: transparent #42505f #42505f transparent; }\n.theme-gray .table-tooltip.ng-tooltip-bottom-right:before {\n border-color: transparent #3e464c #3e464c transparent; }\n.theme-white .table-tooltip.ng-tooltip-bottom-right:before {\n border-color: transparent #ffffff #ffffff transparent; }\n.table-tooltip.ng-tooltip-left {\n margin-left: -1rem; }\n.table-tooltip.ng-tooltip-left:after {\n content: \"\";\n position: absolute;\n top: calc(50% - 0.5rem);\n right: -1rem;\n border-width: 0.5rem;\n border-style: solid; }\n.theme-dark .table-tooltip.ng-tooltip-left:after {\n border-color: transparent transparent transparent #42505f; }\n.theme-gray .table-tooltip.ng-tooltip-left:after {\n border-color: transparent transparent transparent #3e464c; }\n.theme-white .table-tooltip.ng-tooltip-left:after {\n border-color: transparent transparent transparent #ffffff; }\n.table-tooltip.ng-tooltip-right {\n margin-left: 1rem; }\n.table-tooltip.ng-tooltip-right:before {\n content: \"\";\n position: absolute;\n top: calc(50% - 0.5rem);\n left: -1rem;\n border-width: 0.5rem;\n border-style: solid; }\n.theme-dark .table-tooltip.ng-tooltip-right:before {\n border-color: transparent #42505f transparent transparent; }\n.theme-gray .table-tooltip.ng-tooltip-right:before {\n border-color: transparent #3e464c transparent transparent; }\n.theme-white .table-tooltip.ng-tooltip-right:before {\n border-color: transparent #ffffff transparent transparent; }\n.table-tooltip-dimensions .tooltip-inner {\n overflow: auto;\n max-width: 20rem;\n max-height: 10rem; }\n.balance-tooltip {\n padding: 1.3rem; }\n.theme-dark .balance-tooltip {\n background: #42505f;\n box-shadow: 0 0 1rem rgba(0, 0, 0, 0.5);\n color: #e0e0e0; }\n.theme-gray .balance-tooltip {\n background: #3e464c;\n box-shadow: 0 0 1rem rgba(0, 0, 0, 0.5);\n color: #e0e0e0; }\n.theme-white .balance-tooltip {\n background: #ffffff;\n box-shadow: 0 0 1rem rgba(120, 120, 120, 0.5);\n color: #43454b; }\n.balance-tooltip .tooltip-inner {\n display: flex;\n flex-direction: column;\n font-size: 1.3rem; }\n.balance-tooltip .tooltip-inner .available {\n margin-bottom: 1.7rem; }\n.balance-tooltip .tooltip-inner .available b {\n font-weight: 600; }\n.balance-tooltip .tooltip-inner .locked {\n margin-bottom: 0.7rem; }\n.balance-tooltip .tooltip-inner .locked b {\n font-weight: 600; }\n.balance-tooltip .tooltip-inner .link {\n cursor: pointer; }\n.theme-dark .balance-tooltip .tooltip-inner .link {\n color: #4db1ff; }\n.theme-gray .balance-tooltip .tooltip-inner .link {\n color: #42a5f5; }\n.theme-white .balance-tooltip .tooltip-inner .link {\n color: #2c95f1; }\n.balance-tooltip.ng-tooltip-top {\n margin-top: -1rem; }\n.balance-tooltip.ng-tooltip-bottom {\n margin-top: 1rem; }\n.balance-tooltip.ng-tooltip-left {\n margin-left: -1rem; }\n.balance-tooltip.ng-tooltip-right {\n margin-left: 1rem; }\n.account-tooltip .tooltip-inner {\n word-break: break-word;\n max-width: 18rem; }\n.comment-tooltip .tooltip-inner {\n overflow: auto;\n word-break: break-word;\n max-width: 50rem;\n max-height: 25rem; }\n.update-tooltip {\n padding: 1.5rem; }\n.theme-dark .update-tooltip {\n background: #42505f;\n box-shadow: 0 0 1rem rgba(0, 0, 0, 0.5);\n color: #e0e0e0; }\n.theme-gray .update-tooltip {\n background: #3e464c;\n box-shadow: 0 0 1rem rgba(0, 0, 0, 0.5);\n color: #e0e0e0; }\n.theme-white .update-tooltip {\n background: #ffffff;\n box-shadow: 0 0 1rem rgba(120, 120, 120, 0.5);\n color: #43454b; }\n.theme-dark .update-tooltip.important {\n background: #5f2b11;\n color: #e0e0e0; }\n.theme-gray .update-tooltip.important {\n background: #55240d;\n color: #e0e0e0; }\n.theme-white .update-tooltip.important {\n background: #ef6c00;\n color: #ffffff; }\n.theme-dark .update-tooltip.important.ng-tooltip-left-bottom:after {\n border-color: transparent transparent #5f2b11 #5f2b11; }\n.theme-gray .update-tooltip.important.ng-tooltip-left-bottom:after {\n border-color: transparent transparent #55240d #55240d; }\n.theme-white .update-tooltip.important.ng-tooltip-left-bottom:after {\n border-color: transparent transparent #ef6c00 #ef6c00; }\n.theme-dark .update-tooltip.important.ng-tooltip-right-bottom:before {\n border-color: transparent #5f2b11 #5f2b11 transparent; }\n.theme-gray .update-tooltip.important.ng-tooltip-right-bottom:before {\n border-color: transparent #55240d #55240d transparent; }\n.theme-white .update-tooltip.important.ng-tooltip-right-bottom:before {\n border-color: transparent #ef6c00 #ef6c00 transparent; }\n.update-tooltip.critical {\n padding: 2.5rem; }\n.theme-dark .update-tooltip.critical {\n background: #5f1d1d;\n color: #e0e0e0; }\n.theme-gray .update-tooltip.critical {\n background: #4c1919;\n color: #e0e0e0; }\n.theme-white .update-tooltip.critical {\n background: #e53935;\n color: #ffffff; }\n.update-tooltip.critical .tooltip-inner {\n display: flex;\n flex-direction: column;\n align-items: center; }\n.theme-dark .update-tooltip.critical.ng-tooltip-left-bottom:after {\n border-color: transparent transparent #5f1d1d #5f1d1d; }\n.theme-gray .update-tooltip.critical.ng-tooltip-left-bottom:after {\n border-color: transparent transparent #4c1919 #4c1919; }\n.theme-white .update-tooltip.critical.ng-tooltip-left-bottom:after {\n border-color: transparent transparent #e53935 #e53935; }\n.theme-dark .update-tooltip.critical.ng-tooltip-right-bottom:before {\n border-color: transparent #5f1d1d #5f1d1d transparent; }\n.theme-gray .update-tooltip.critical.ng-tooltip-right-bottom:before {\n border-color: transparent #4c1919 #4c1919 transparent; }\n.theme-white .update-tooltip.critical.ng-tooltip-right-bottom:before {\n border-color: transparent #e53935 #e53935 transparent; }\n.update-tooltip .tooltip-inner {\n font-size: 1.3rem;\n line-height: 1.8rem;\n white-space: pre-wrap; }\n.update-tooltip .tooltip-inner .standard-update {\n font-size: 1.5rem;\n line-height: 2.7rem; }\n.theme-dark .update-tooltip .tooltip-inner .standard-update {\n color: #4db1ff; }\n.theme-gray .update-tooltip .tooltip-inner .standard-update {\n color: #42a5f5; }\n.theme-white .update-tooltip .tooltip-inner .standard-update {\n color: #2c95f1; }\n.update-tooltip .tooltip-inner .important-update {\n font-size: 1.5rem;\n line-height: 2.7rem; }\n.theme-dark .update-tooltip .tooltip-inner .important-update {\n color: #ff6f00; }\n.theme-gray .update-tooltip .tooltip-inner .important-update {\n color: #ff6f00; }\n.theme-white .update-tooltip .tooltip-inner .important-update {\n color: #ffffff; }\n.update-tooltip .tooltip-inner .critical-update {\n font-size: 1.5rem;\n line-height: 2.7rem;\n text-align: center; }\n.update-tooltip .tooltip-inner .wrong-time {\n font-size: 1.5rem;\n line-height: 2.7rem; }\n.theme-dark .update-tooltip .tooltip-inner .wrong-time {\n color: #ff6f00; }\n.theme-gray .update-tooltip .tooltip-inner .wrong-time {\n color: #ff6f00; }\n.theme-white .update-tooltip .tooltip-inner .wrong-time {\n color: #ffffff; }\n.update-tooltip .tooltip-inner .icon {\n margin: 1.5rem 0;\n width: 5rem;\n height: 5rem; }\n.theme-dark .update-tooltip .tooltip-inner .icon {\n background-color: #ff5252; }\n.theme-gray .update-tooltip .tooltip-inner .icon {\n background-color: #ff5252; }\n.theme-white .update-tooltip .tooltip-inner .icon {\n background-color: #ffffff; }\n.update-tooltip.ng-tooltip-left-bottom {\n margin-left: -1.5rem; }\n.update-tooltip.ng-tooltip-left-bottom:after {\n content: \"\";\n position: absolute;\n bottom: 0.6rem;\n right: -1rem;\n border-width: 0.5rem;\n border-style: solid; }\n.theme-dark .update-tooltip.ng-tooltip-left-bottom:after {\n border-color: transparent transparent #42505f #42505f; }\n.theme-gray .update-tooltip.ng-tooltip-left-bottom:after {\n border-color: transparent transparent #3e464c #3e464c; }\n.theme-white .update-tooltip.ng-tooltip-left-bottom:after {\n border-color: transparent transparent #ffffff #ffffff; }\n.update-tooltip.ng-tooltip-right-bottom {\n margin-left: 1.5rem; }\n.update-tooltip.ng-tooltip-right-bottom:before {\n content: \"\";\n position: absolute;\n bottom: 0.6rem;\n left: -1rem;\n border-width: 0.5rem;\n border-style: solid; }\n.theme-dark .update-tooltip.ng-tooltip-right-bottom:before {\n border-color: transparent #42505f #42505f transparent; }\n.theme-gray .update-tooltip.ng-tooltip-right-bottom:before {\n border-color: transparent #3e464c #3e464c transparent; }\n.theme-white .update-tooltip.ng-tooltip-right-bottom:before {\n border-color: transparent #ffffff #ffffff transparent; }\n.ngx-contextmenu .dropdown-menu {\n border: none;\n padding: 0; }\n.theme-dark .ngx-contextmenu .dropdown-menu {\n background-color: #2b3644;\n box-shadow: 0 0 1rem rgba(0, 0, 0, 0.5); }\n.theme-gray .ngx-contextmenu .dropdown-menu {\n background-color: #292d31;\n box-shadow: 0 0 1rem rgba(0, 0, 0, 0.5); }\n.theme-white .ngx-contextmenu .dropdown-menu {\n background-color: #e0e0e0;\n box-shadow: 0 0 1rem rgba(120, 120, 120, 0.5); }\n.ngx-contextmenu li {\n display: block;\n font-family: OpenSans, sans-serif;\n font-size: 1.3rem;\n text-transform: uppercase;\n text-align: center; }\n.ngx-contextmenu a {\n display: block;\n padding: 0.5em 1em; }\n.theme-dark .ngx-contextmenu a {\n color: #e0e0e0; }\n.theme-gray .ngx-contextmenu a {\n color: #e0e0e0; }\n.theme-white .ngx-contextmenu a {\n color: #43454b; }\n.theme-dark .ngx-contextmenu a:hover {\n background-color: #556576;\n color: #e0e0e0; }\n.theme-gray .ngx-contextmenu a:hover {\n background-color: #515960;\n color: #e0e0e0; }\n.theme-white .ngx-contextmenu a:hover {\n background-color: #ffffff;\n color: #43454b; }\n.ng-select.custom-select {\n width: 100%; }\n.ng-select.custom-select.ng-select-single .ng-select-container .ng-value-container .ng-value {\n line-height: 1.8rem; }\n.ng-select.custom-select .ng-select-container {\n border: none;\n border-radius: 0;\n cursor: pointer;\n font-size: 1.4rem;\n outline: none;\n padding: 0 1rem;\n height: 4.2rem; }\n.theme-dark .ng-select.custom-select .ng-select-container {\n background-color: #171e27;\n color: #e0e0e0; }\n.theme-gray .ng-select.custom-select .ng-select-container {\n background-color: #292d31;\n color: #e0e0e0; }\n.theme-white .ng-select.custom-select .ng-select-container {\n background-color: #e6e6e6;\n color: #43454b; }\n.ng-select.custom-select .ng-select-container .ng-value-container {\n padding: 0; }\n.ng-select.custom-select .ng-select-container .ng-value-container .ng-input {\n top: auto; }\n.ng-select.custom-select .ng-dropdown-panel {\n border: none; }\n.theme-dark .ng-select.custom-select .ng-dropdown-panel {\n background-color: #171e27; }\n.theme-gray .ng-select.custom-select .ng-dropdown-panel {\n background-color: #292d31; }\n.theme-white .ng-select.custom-select .ng-dropdown-panel {\n background-color: #e6e6e6; }\n.ng-select.custom-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option {\n font-size: 1.4rem;\n padding: 1rem; }\n.theme-dark .ng-select.custom-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option {\n background-color: #171e27;\n color: #e0e0e0; }\n.theme-gray .ng-select.custom-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option {\n background-color: #292d31;\n color: #e0e0e0; }\n.theme-white .ng-select.custom-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option {\n background-color: #e6e6e6;\n color: #43454b; }\n.theme-dark .ng-select.custom-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked {\n background-color: rgba(58, 69, 85, 0.5);\n color: #e0e0e0; }\n.theme-gray .ng-select.custom-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked {\n background-color: rgba(58, 62, 66, 0.5);\n color: #e0e0e0; }\n.theme-white .ng-select.custom-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked {\n background-color: rgba(240, 240, 240, 0.5);\n color: #43454b; }\n.theme-dark .ng-select.custom-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected {\n background-color: rgba(43, 54, 68, 0.5);\n color: #e0e0e0; }\n.theme-gray .ng-select.custom-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected {\n background-color: rgba(37, 40, 43, 0.5);\n color: #e0e0e0; }\n.theme-white .ng-select.custom-select .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected {\n background-color: rgba(224, 224, 224, 0.5);\n color: #43454b; }\n.ng-select.custom-select .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar {\n background-color: transparent;\n cursor: default;\n width: 1rem;\n height: 1rem; }\n.ng-select.custom-select .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar-track {\n background: transparent; }\n.ng-select.custom-select .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar-thumb {\n background-color: #556576;\n background-clip: padding-box;\n border: 0.25rem solid transparent;\n border-radius: 0.5rem; }\n.ng-select.custom-select .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar-thumb:hover {\n background-color: #556576; }\n.theme-dark app-modal-container .modal, .theme-dark app-confirm-modal .modal {\n background: url('background-dark.png');\n color: #e0e0e0; }\n.theme-gray app-modal-container .modal, .theme-gray app-confirm-modal .modal {\n background: url('background-gray.png');\n color: #e0e0e0; }\n.theme-white app-modal-container .modal, .theme-white app-confirm-modal .modal {\n background: url('background-white.png');\n color: #43454b; }\n.theme-dark app-modal-container .modal .content .icon.error, .theme-dark app-confirm-modal .modal .content .icon.error {\n background-color: #ff5252; }\n.theme-gray app-modal-container .modal .content .icon.error, .theme-gray app-confirm-modal .modal .content .icon.error {\n background-color: #ff5252; }\n.theme-white app-modal-container .modal .content .icon.error, .theme-white app-confirm-modal .modal .content .icon.error {\n background-color: #ff5252; }\n.theme-dark app-modal-container .modal .content .icon.success, .theme-dark app-confirm-modal .modal .content .icon.success {\n background-color: #5cda9d; }\n.theme-gray app-modal-container .modal .content .icon.success, .theme-gray app-confirm-modal .modal .content .icon.success {\n background-color: #47cf8d; }\n.theme-white app-modal-container .modal .content .icon.success, .theme-white app-confirm-modal .modal .content .icon.success {\n background-color: #46c172; }\n.theme-dark app-modal-container .modal .content .icon.info, .theme-dark app-confirm-modal .modal .content .icon.info {\n background-color: #4db1ff; }\n.theme-gray app-modal-container .modal .content .icon.info, .theme-gray app-confirm-modal .modal .content .icon.info {\n background-color: #42a5f5; }\n.theme-white app-modal-container .modal .content .icon.info, .theme-white app-confirm-modal .modal .content .icon.info {\n background-color: #2c95f1; }\n.theme-dark app-modal-container .modal .action-button, .theme-dark app-confirm-modal .modal .action-button {\n background-color: #4db1ff;\n color: #111921; }\n.theme-gray app-modal-container .modal .action-button, .theme-gray app-confirm-modal .modal .action-button {\n background-color: #42a5f5;\n color: #1a1a1a; }\n.theme-white app-modal-container .modal .action-button, .theme-white app-confirm-modal .modal .action-button {\n background-color: #2c95f1;\n color: #fefefe; }\n.theme-dark app-modal-container .modal .close-button .icon, .theme-dark app-confirm-modal .modal .close-button .icon {\n background-color: #556576; }\n.theme-gray app-modal-container .modal .close-button .icon, .theme-gray app-confirm-modal .modal .close-button .icon {\n background-color: #515960; }\n.theme-white app-modal-container .modal .close-button .icon, .theme-white app-confirm-modal .modal .close-button .icon {\n background-color: #43454b; }\n.theme-dark app-transaction-details .table {\n border-top: 0.2rem solid #2b3644; }\n.theme-gray app-transaction-details .table {\n border-top: 0.2rem solid #2f3438; }\n.theme-white app-transaction-details .table {\n border-top: 0.2rem solid #ebebeb; }\n.theme-dark app-transaction-details .table .row .cell.label {\n color: #556576; }\n.theme-gray app-transaction-details .table .row .cell.label {\n color: #565c62; }\n.theme-white app-transaction-details .table .row .cell.label {\n color: #a0a5ab; }\n.theme-dark app-transaction-details .table .row .cell.value {\n color: #e0e0e0; }\n.theme-gray app-transaction-details .table .row .cell.value {\n color: #e0e0e0; }\n.theme-white app-transaction-details .table .row .cell.value {\n color: #43454b; }\n.theme-dark app-transaction-details .table .row .cell.key-value {\n color: #4db1ff; }\n.theme-gray app-transaction-details .table .row .cell.key-value {\n color: #42a5f5; }\n.theme-white app-transaction-details .table .row .cell.key-value {\n color: #2c95f1; }\n.theme-dark app-progress-container .progress-bar-container {\n color: #e0e0e0; }\n.theme-gray app-progress-container .progress-bar-container {\n color: #e0e0e0; }\n.theme-white app-progress-container .progress-bar-container {\n color: #43454b; }\n.theme-dark app-progress-container .progress-bar-container .progress-bar {\n background-color: #343f4a; }\n.theme-gray app-progress-container .progress-bar-container .progress-bar {\n background-color: #363a3e; }\n.theme-white app-progress-container .progress-bar-container .progress-bar {\n background-color: #dcdcdc; }\n.theme-dark app-progress-container .progress-bar-container .progress-bar .progress-bar-full {\n background-color: #5cda9d; }\n.theme-gray app-progress-container .progress-bar-container .progress-bar .progress-bar-full {\n background-color: #47cf8d; }\n.theme-white app-progress-container .progress-bar-container .progress-bar .progress-bar-full {\n background-color: #46c172; }\n.theme-dark app-open-wallet-modal .modal {\n background: url('background-dark.png');\n color: #e0e0e0; }\n.theme-gray app-open-wallet-modal .modal {\n background: url('background-gray.png');\n color: #e0e0e0; }\n.theme-white app-open-wallet-modal .modal {\n background: url('background-white.png');\n color: #43454b; }\n.theme-dark app-send-modal .modal {\n background: url('background-dark.png');\n color: #e0e0e0; }\n.theme-gray app-send-modal .modal {\n background: url('background-gray.png');\n color: #e0e0e0; }\n.theme-white app-send-modal .modal {\n background: url('background-white.png');\n color: #43454b; }\n.theme-dark app-send-modal .modal .title {\n border-bottom: 0.2rem solid #2b3644; }\n.theme-gray app-send-modal .modal .title {\n border-bottom: 0.2rem solid #2f3438; }\n.theme-white app-send-modal .modal .title {\n border-bottom: 0.2rem solid #ebebeb; }\n.theme-dark app-send-modal .modal .action-button {\n background-color: #4db1ff;\n color: #111921; }\n.theme-gray app-send-modal .modal .action-button {\n background-color: #42a5f5;\n color: #1a1a1a; }\n.theme-white app-send-modal .modal .action-button {\n background-color: #2c95f1;\n color: #fefefe; }\napp-main, app-create-wallet, app-open-wallet, app-restore-wallet, app-seed-phrase, app-wallet-details, app-assign-alias, app-edit-alias, app-transfer-alias, app-settings, app-login {\n flex: 1 1 auto;\n padding: 3rem;\n min-width: 85rem; }\napp-main .content, app-create-wallet .content, app-open-wallet .content, app-restore-wallet .content, app-seed-phrase .content, app-wallet-details .content, app-assign-alias .content, app-edit-alias .content, app-transfer-alias .content, app-settings .content, app-login .content {\n position: relative;\n padding: 3rem;\n min-height: 100%; }\n.theme-dark app-main .content, .theme-dark app-create-wallet .content, .theme-dark app-open-wallet .content, .theme-dark app-restore-wallet .content, .theme-dark app-seed-phrase .content, .theme-dark app-wallet-details .content, .theme-dark app-assign-alias .content, .theme-dark app-edit-alias .content, .theme-dark app-transfer-alias .content, .theme-dark app-settings .content, .theme-dark app-login .content {\n background-color: rgba(43, 54, 68, 0.5);\n color: #e0e0e0; }\n.theme-gray app-main .content, .theme-gray app-create-wallet .content, .theme-gray app-open-wallet .content, .theme-gray app-restore-wallet .content, .theme-gray app-seed-phrase .content, .theme-gray app-wallet-details .content, .theme-gray app-assign-alias .content, .theme-gray app-edit-alias .content, .theme-gray app-transfer-alias .content, .theme-gray app-settings .content, .theme-gray app-login .content {\n background-color: rgba(37, 40, 43, 0.5);\n color: #e0e0e0; }\n.theme-white app-main .content, .theme-white app-create-wallet .content, .theme-white app-open-wallet .content, .theme-white app-restore-wallet .content, .theme-white app-seed-phrase .content, .theme-white app-wallet-details .content, .theme-white app-assign-alias .content, .theme-white app-edit-alias .content, .theme-white app-transfer-alias .content, .theme-white app-settings .content, .theme-white app-login .content {\n background-color: rgba(255, 255, 255, 0.5);\n color: #43454b; }\napp-main .content .head, app-create-wallet .content .head, app-open-wallet .content .head, app-restore-wallet .content .head, app-seed-phrase .content .head, app-wallet-details .content .head, app-assign-alias .content .head, app-edit-alias .content .head, app-transfer-alias .content .head, app-settings .content .head, app-login .content .head {\n position: absolute;\n top: 0;\n left: 0; }\n.theme-dark app-main .content .add-wallet .add-wallet-help {\n color: #4db1ff; }\n.theme-gray app-main .content .add-wallet .add-wallet-help {\n color: #42a5f5; }\n.theme-white app-main .content .add-wallet .add-wallet-help {\n color: #2c95f1; }\n.theme-dark app-main .content .add-wallet .add-wallet-help .icon {\n background-color: #4db1ff; }\n.theme-gray app-main .content .add-wallet .add-wallet-help .icon {\n background-color: #42a5f5; }\n.theme-white app-main .content .add-wallet .add-wallet-help .icon {\n background-color: #2c95f1; }\n.theme-dark app-seed-phrase .seed-phrase-content {\n background-color: #171e27;\n color: #e0e0e0; }\n.theme-gray app-seed-phrase .seed-phrase-content {\n background-color: #292d31;\n color: #e0e0e0; }\n.theme-white app-seed-phrase .seed-phrase-content {\n background-color: #e6e6e6;\n color: #43454b; }\n.theme-dark app-wallet-details .seed-phrase {\n background-color: #171e27; }\n.theme-gray app-wallet-details .seed-phrase {\n background-color: #292d31; }\n.theme-white app-wallet-details .seed-phrase {\n background-color: #e6e6e6; }\napp-settings .content {\n height: 100%;\n overflow-y: auto;\n display: flex;\n justify-content: space-between;\n flex-direction: column; }\n.theme-dark app-settings .content .theme-selection {\n color: #556576; }\n.theme-gray app-settings .content .theme-selection {\n color: #565c62; }\n.theme-white app-settings .content .theme-selection {\n color: #a0a5ab; }\n.theme-dark app-settings .content .scale-selection .button-block {\n background-color: rgba(23, 31, 39, 0.5); }\n.theme-gray app-settings .content .scale-selection .button-block {\n background-color: rgba(28, 30, 33, 0.5); }\n.theme-white app-settings .content .scale-selection .button-block {\n background-color: rgba(224, 224, 224, 0.5); }\n.theme-dark app-settings .content .scale-selection .button-block .label {\n color: #556576; }\n.theme-gray app-settings .content .scale-selection .button-block .label {\n color: #565c62; }\n.theme-white app-settings .content .scale-selection .button-block .label {\n color: #a0a5ab; }\n.theme-dark app-settings .content .scale-selection .button-block.active {\n background-color: #4db1ff; }\n.theme-gray app-settings .content .scale-selection .button-block.active {\n background-color: #42a5f5; }\n.theme-white app-settings .content .scale-selection .button-block.active {\n background-color: #2c95f1; }\n.theme-dark app-settings .content .scale-selection .button-block.active .label {\n color: #4db1ff; }\n.theme-gray app-settings .content .scale-selection .button-block.active .label {\n color: #42a5f5; }\n.theme-white app-settings .content .scale-selection .button-block.active .label {\n color: #2c95f1; }\napp-login {\n min-width: inherit; }\n.theme-dark app-sidebar {\n background-color: #171f27; }\n.theme-gray app-sidebar {\n background-color: #1c1e21; }\n.theme-white app-sidebar {\n background-color: white; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-header h3 {\n color: #e0e0e0; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-header h3 {\n color: #e0e0e0; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-header h3 {\n color: #43454b; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-header button {\n color: #4db1ff; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-header button {\n color: #42a5f5; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-header button {\n color: #2c95f1; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account {\n background-color: transparent;\n color: #e0e0e0; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account {\n background-color: transparent;\n color: #e0e0e0; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account {\n background-color: transparent;\n color: #43454b; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .icon {\n background-color: #4db1ff; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .icon {\n background-color: #42a5f5; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .icon {\n background-color: #2c95f1; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .text {\n color: #556576; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .text {\n color: #565c62; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .text {\n color: #a0a5ab; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .icon {\n background-color: #4db1ff; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .icon {\n background-color: #42a5f5; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .icon {\n background-color: #2c95f1; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .indicator {\n background-color: #4db1ff;\n color: #111921; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .indicator {\n background-color: #42a5f5;\n color: #1a1a1a; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .indicator {\n background-color: #2c95f1;\n color: #fefefe; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .progress-bar-container .progress-bar {\n background-color: #343f4a; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .progress-bar-container .progress-bar {\n background-color: #363a3e; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .progress-bar-container .progress-bar {\n background-color: #dcdcdc; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .progress-bar-container .progress-bar .fill {\n background-color: #4db1ff; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .progress-bar-container .progress-bar .fill {\n background-color: #42a5f5; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row .progress-bar-container .progress-bar .fill {\n background-color: #2c95f1; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-synchronization {\n color: #556576; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-synchronization {\n color: #565c62; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account .sidebar-account-row.account-synchronization {\n color: #a0a5ab; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active {\n background-color: rgba(43, 54, 68, 0.5);\n color: #e0e0e0; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active {\n background-color: rgba(37, 40, 43, 0.5);\n color: #e0e0e0; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active {\n background-color: #1e88e5;\n color: #ffffff; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row .text {\n color: #556576; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row .text {\n color: #565c62; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row .text {\n color: #91baf1; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row .indicator {\n background-color: #4db1ff;\n color: #111921; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row .indicator {\n background-color: #42a5f5;\n color: #1a1a1a; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row .indicator {\n background-color: #ffffff;\n color: #43454b; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row .switch {\n background-color: #000000;\n color: #e0e0e0; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row .switch {\n background-color: #000000;\n color: #e0e0e0; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row .switch {\n background-color: #ffffff;\n color: #43454b; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row.account-synchronization {\n color: #556576; }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row.account-synchronization {\n color: #565c62; }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account.active .sidebar-account-row.account-synchronization {\n color: #91baf1; }\n.theme-dark app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account:hover:not(.active) {\n background-color: rgba(58, 69, 85, 0.5); }\n.theme-gray app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account:hover:not(.active) {\n background-color: rgba(58, 62, 66, 0.5); }\n.theme-white app-sidebar .sidebar-accounts .sidebar-accounts-list .sidebar-account:hover:not(.active) {\n background-color: rgba(240, 240, 240, 0.5); }\n.theme-dark app-sidebar .sidebar-accounts:after {\n background: linear-gradient(to bottom, transparent 0%, #171f27 100%); }\n.theme-gray app-sidebar .sidebar-accounts:after {\n background: linear-gradient(to bottom, transparent 0%, #1c1e21 100%); }\n.theme-white app-sidebar .sidebar-accounts:after {\n background: linear-gradient(to bottom, transparent 0%, white 100%); }\n.theme-dark app-sidebar .sidebar-settings {\n border-bottom: 0.2rem solid #1f2833; }\n.theme-gray app-sidebar .sidebar-settings {\n border-bottom: 0.2rem solid #2e3337; }\n.theme-white app-sidebar .sidebar-settings {\n border-bottom: 0.2rem solid #ebebeb; }\n.theme-dark app-sidebar .sidebar-settings .wrap-button button {\n color: #e0e0e0; }\n.theme-gray app-sidebar .sidebar-settings .wrap-button button {\n color: #e0e0e0; }\n.theme-white app-sidebar .sidebar-settings .wrap-button button {\n color: #43454b; }\n.theme-dark app-sidebar .sidebar-settings .wrap-button button .icon {\n background-color: #4db1ff; }\n.theme-gray app-sidebar .sidebar-settings .wrap-button button .icon {\n background-color: #42a5f5; }\n.theme-white app-sidebar .sidebar-settings .wrap-button button .icon {\n background-color: #2c95f1; }\n.theme-dark app-sidebar .sidebar-settings .wrap-button.active button {\n background-color: rgba(43, 54, 68, 0.5) !important;\n color: #e0e0e0 !important; }\n.theme-gray app-sidebar .sidebar-settings .wrap-button.active button {\n background-color: rgba(37, 40, 43, 0.5) !important;\n color: #e0e0e0 !important; }\n.theme-white app-sidebar .sidebar-settings .wrap-button.active button {\n background-color: #1e88e5 !important;\n color: #ffffff !important; }\n.theme-dark app-sidebar .sidebar-settings .wrap-button.active button .icon {\n background-color: #4db1ff !important; }\n.theme-gray app-sidebar .sidebar-settings .wrap-button.active button .icon {\n background-color: #42a5f5 !important; }\n.theme-white app-sidebar .sidebar-settings .wrap-button.active button .icon {\n background-color: #ffffff !important; }\n.synchronization-status {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n flex: 0 0 7rem;\n font-size: 1.3rem; }\n.theme-dark .synchronization-status {\n color: #556576; }\n.theme-gray .synchronization-status {\n color: #565c62; }\n.theme-white .synchronization-status {\n color: #a0a5ab; }\n.synchronization-status .status-container {\n position: relative;\n flex-grow: 1;\n text-align: left; }\n.synchronization-status .status-container .offline, .synchronization-status .status-container .online {\n position: relative;\n display: block;\n line-height: 1.2rem;\n padding-left: 2.2rem; }\n.synchronization-status .status-container .offline:before, .synchronization-status .status-container .online:before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n border-radius: 50%;\n width: 1.2rem;\n height: 1.2rem; }\n.theme-dark .synchronization-status .status-container .offline:before {\n background-color: #ff5252; }\n.theme-gray .synchronization-status .status-container .offline:before {\n background-color: #ff5252; }\n.theme-white .synchronization-status .status-container .offline:before {\n background-color: #ff5252; }\n.theme-dark .synchronization-status .status-container .online:before {\n background-color: #5cda9d; }\n.theme-gray .synchronization-status .status-container .online:before {\n background-color: #47cf8d; }\n.theme-white .synchronization-status .status-container .online:before {\n background-color: #46c172; }\n.synchronization-status .status-container .syncing, .synchronization-status .status-container .loading {\n line-height: 5rem; }\n.synchronization-status .status-container .progress-bar-container {\n position: absolute;\n bottom: 0;\n left: 0;\n height: 0.7rem;\n width: 100%; }\n.synchronization-status .status-container .progress-bar-container .syncing {\n display: flex; }\n.synchronization-status .status-container .progress-bar-container .syncing .progress-bar {\n flex: 1 0 auto; }\n.theme-dark .synchronization-status .status-container .progress-bar-container .syncing .progress-bar {\n background-color: #343f4a; }\n.theme-gray .synchronization-status .status-container .progress-bar-container .syncing .progress-bar {\n background-color: #363a3e; }\n.theme-white .synchronization-status .status-container .progress-bar-container .syncing .progress-bar {\n background-color: #dcdcdc; }\n.synchronization-status .status-container .progress-bar-container .syncing .progress-bar .fill {\n height: 100%; }\n.theme-dark .synchronization-status .status-container .progress-bar-container .syncing .progress-bar .fill {\n background-color: #5cda9d; }\n.theme-gray .synchronization-status .status-container .progress-bar-container .syncing .progress-bar .fill {\n background-color: #47cf8d; }\n.theme-white .synchronization-status .status-container .progress-bar-container .syncing .progress-bar .fill {\n background-color: #46c172; }\n.theme-dark .synchronization-status .status-container .progress-bar-container .syncing.downloading .progress-bar {\n background-color: #343f4a; }\n.theme-gray .synchronization-status .status-container .progress-bar-container .syncing.downloading .progress-bar {\n background-color: #363a3e; }\n.theme-white .synchronization-status .status-container .progress-bar-container .syncing.downloading .progress-bar {\n background-color: #dcdcdc; }\n.theme-dark .synchronization-status .status-container .progress-bar-container .syncing.downloading .progress-bar .fill {\n background-color: #4db1ff; }\n.theme-gray .synchronization-status .status-container .progress-bar-container .syncing.downloading .progress-bar .fill {\n background-color: #42a5f5; }\n.theme-white .synchronization-status .status-container .progress-bar-container .syncing.downloading .progress-bar .fill {\n background-color: #2c95f1; }\n.synchronization-status .status-container .progress-bar-container .syncing .progress-percent {\n flex: 0 0 auto;\n font-size: 1.3rem;\n line-height: 0.7rem;\n padding-left: 0.7rem; }\n.synchronization-status .status-container .progress-bar-container .loading {\n -webkit-animation: move 5s linear infinite;\n animation: move 5s linear infinite;\n background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.125, rgba(0, 0, 0, 0.15)), color-stop(0.125, transparent), color-stop(0.25, transparent), color-stop(0.25, rgba(0, 0, 0, 0.1)), color-stop(0.375, rgba(0, 0, 0, 0.1)), color-stop(0.375, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(0, 0, 0, 0.15)), color-stop(0.625, rgba(0, 0, 0, 0.15)), color-stop(0.625, transparent), color-stop(0.75, transparent), color-stop(0.75, rgba(0, 0, 0, 0.1)), color-stop(0.875, rgba(0, 0, 0, 0.1)), color-stop(0.875, transparent), to(transparent)), -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.125, rgba(0, 0, 0, 0.3)), color-stop(0.125, transparent), color-stop(0.25, transparent), color-stop(0.25, rgba(0, 0, 0, 0.25)), color-stop(0.375, rgba(0, 0, 0, 0.25)), color-stop(0.375, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(0, 0, 0, 0.3)), color-stop(0.625, rgba(0, 0, 0, 0.3)), color-stop(0.625, transparent), color-stop(0.75, transparent), color-stop(0.75, rgba(0, 0, 0, 0.25)), color-stop(0.875, rgba(0, 0, 0, 0.25)), color-stop(0.875, transparent), to(transparent));\n background-size: 7rem 7rem;\n height: 100%; }\n.theme-dark .synchronization-status .status-container .progress-bar-container .loading {\n background-color: #5cda9d; }\n.theme-gray .synchronization-status .status-container .progress-bar-container .loading {\n background-color: #47cf8d; }\n.theme-white .synchronization-status .status-container .progress-bar-container .loading {\n background-color: #46c172; }\n.synchronization-status .update-container {\n display: flex;\n flex-grow: 1;\n margin-left: 1rem;\n text-align: right; }\n.synchronization-status .update-container .update-text {\n flex: 1 1 auto;\n font-size: 1.2rem;\n line-height: 1.8rem;\n text-align: left; }\n.synchronization-status .update-container .update-text.time {\n font-size: 1.1rem; }\n.synchronization-status .update-container .icon {\n flex: 1 0 auto;\n margin: 0.3rem 0 0 0.6rem;\n width: 1.2rem;\n height: 1.2rem; }\n.synchronization-status .update-container .icon.update {\n -webkit-mask: url('update.svg') no-repeat center;\n mask: url('update.svg') no-repeat center; }\n.synchronization-status .update-container .icon.time {\n -webkit-mask: url('time.svg') no-repeat center;\n mask: url('time.svg') no-repeat center; }\n.theme-dark .synchronization-status .update-container .standard {\n color: #4db1ff; }\n.theme-gray .synchronization-status .update-container .standard {\n color: #42a5f5; }\n.theme-white .synchronization-status .update-container .standard {\n color: #2c95f1; }\n.theme-dark .synchronization-status .update-container .important {\n color: #ff6f00; }\n.theme-gray .synchronization-status .update-container .important {\n color: #ff6f00; }\n.theme-white .synchronization-status .update-container .important {\n color: #ff6f00; }\n.theme-dark .synchronization-status .update-container .critical {\n color: #ff5252; }\n.theme-gray .synchronization-status .update-container .critical {\n color: #ff5252; }\n.theme-white .synchronization-status .update-container .critical {\n color: #ff5252; }\n.theme-dark .synchronization-status .update-container .time {\n color: #ff6f00; }\n.theme-gray .synchronization-status .update-container .time {\n color: #ff6f00; }\n.theme-white .synchronization-status .update-container .time {\n color: #ff6f00; }\n.theme-dark .synchronization-status .update-container .icon.standard {\n background-color: #4db1ff; }\n.theme-gray .synchronization-status .update-container .icon.standard {\n background-color: #42a5f5; }\n.theme-white .synchronization-status .update-container .icon.standard {\n background-color: #2c95f1; }\n.theme-dark .synchronization-status .update-container .icon.important {\n background-color: #ff6f00; }\n.theme-gray .synchronization-status .update-container .icon.important {\n background-color: #ff6f00; }\n.theme-white .synchronization-status .update-container .icon.important {\n background-color: #ff6f00; }\n.theme-dark .synchronization-status .update-container .icon.critical {\n background-color: #ff5252; }\n.theme-gray .synchronization-status .update-container .icon.critical {\n background-color: #ff5252; }\n.theme-white .synchronization-status .update-container .icon.critical {\n background-color: #ff5252; }\n.theme-dark .synchronization-status .update-container .icon.time {\n background-color: #ff6f00; }\n.theme-gray .synchronization-status .update-container .icon.time {\n background-color: #ff6f00; }\n.theme-white .synchronization-status .update-container .icon.time {\n background-color: #ff6f00; }\n@-webkit-keyframes move {\n 0% {\n background-position: 100% -7rem; }\n 100% {\n background-position: 100% 7rem; } }\n@keyframes move {\n 0% {\n background-position: 100% -7rem; }\n 100% {\n background-position: 100% 7rem; } }\n.theme-dark app-wallet {\n color: #e0e0e0; }\n.theme-gray app-wallet {\n color: #e0e0e0; }\n.theme-white app-wallet {\n color: #43454b; }\n.theme-dark app-wallet .header button {\n color: #e0e0e0; }\n.theme-gray app-wallet .header button {\n color: #e0e0e0; }\n.theme-white app-wallet .header button {\n color: #43454b; }\n.theme-dark app-wallet .header button .icon {\n background-color: #4db1ff; }\n.theme-gray app-wallet .header button .icon {\n background-color: #42a5f5; }\n.theme-white app-wallet .header button .icon {\n background-color: #2c95f1; }\napp-wallet .header button:disabled {\n background-color: transparent !important; }\n.theme-dark app-wallet .header button:disabled .icon {\n background-color: #556576; }\n.theme-gray app-wallet .header button:disabled .icon {\n background-color: #565c62; }\n.theme-white app-wallet .header button:disabled .icon {\n background-color: #91baf1; }\n.theme-dark app-wallet .header .alias .icon {\n background-color: #4db1ff; }\n.theme-gray app-wallet .header .alias .icon {\n background-color: #42a5f5; }\n.theme-white app-wallet .header .alias .icon {\n background-color: #2c95f1; }\n.theme-dark app-wallet .address {\n color: #4db1ff; }\n.theme-gray app-wallet .address {\n color: #42a5f5; }\n.theme-white app-wallet .address {\n color: #2c95f1; }\n.theme-dark app-wallet .address .icon {\n background-color: #4db1ff; }\n.theme-gray app-wallet .address .icon {\n background-color: #42a5f5; }\n.theme-white app-wallet .address .icon {\n background-color: #2c95f1; }\n.theme-dark app-wallet .tabs .tabs-header .tab {\n background-color: rgba(23, 31, 39, 0.5); }\n.theme-gray app-wallet .tabs .tabs-header .tab {\n background-color: rgba(28, 30, 33, 0.5); }\n.theme-white app-wallet .tabs .tabs-header .tab {\n background-color: rgba(224, 224, 224, 0.5); }\n.theme-dark app-wallet .tabs .tabs-header .tab .icon {\n background-color: #4db1ff; }\n.theme-gray app-wallet .tabs .tabs-header .tab .icon {\n background-color: #42a5f5; }\n.theme-white app-wallet .tabs .tabs-header .tab .icon {\n background-color: #2c95f1; }\n.theme-dark app-wallet .tabs .tabs-header .tab .indicator {\n background-color: #4db1ff;\n color: #111921; }\n.theme-gray app-wallet .tabs .tabs-header .tab .indicator {\n background-color: #42a5f5;\n color: #1a1a1a; }\n.theme-white app-wallet .tabs .tabs-header .tab .indicator {\n background-color: #ffffff;\n color: #43454b; }\n.theme-dark app-wallet .tabs .tabs-header .tab.active {\n background-color: rgba(43, 54, 68, 0.5); }\n.theme-gray app-wallet .tabs .tabs-header .tab.active {\n background-color: rgba(37, 40, 43, 0.5); }\n.theme-white app-wallet .tabs .tabs-header .tab.active {\n background-color: rgba(255, 255, 255, 0.5); }\n.theme-dark app-wallet .tabs .tabs-header .tab:hover:not(.active):not(.disabled) {\n background-color: rgba(58, 69, 85, 0.5); }\n.theme-gray app-wallet .tabs .tabs-header .tab:hover:not(.active):not(.disabled) {\n background-color: rgba(58, 62, 66, 0.5); }\n.theme-white app-wallet .tabs .tabs-header .tab:hover:not(.active):not(.disabled) {\n background-color: #ffffff; }\n.theme-dark app-wallet .tabs .tabs-content {\n background-color: rgba(43, 54, 68, 0.5); }\n.theme-gray app-wallet .tabs .tabs-content {\n background-color: rgba(37, 40, 43, 0.5); }\n.theme-white app-wallet .tabs .tabs-content {\n background-color: rgba(255, 255, 255, 0.5); }\n.theme-dark app-wallet .tabs .pagination-wrapper {\n background-color: rgba(43, 54, 68, 0.5); }\n.theme-gray app-wallet .tabs .pagination-wrapper {\n background-color: rgba(37, 40, 43, 0.5); }\n.theme-white app-wallet .tabs .pagination-wrapper {\n background-color: rgba(255, 255, 255, 0.5); }\n.theme-dark app-wallet .tabs .pagination-wrapper .pagination {\n border-top: 0.2rem solid #2b3644; }\n.theme-gray app-wallet .tabs .pagination-wrapper .pagination {\n border-top: 0.2rem solid #2f3438; }\n.theme-white app-wallet .tabs .pagination-wrapper .pagination {\n border-top: 0.2rem solid #ebebeb; }\n.theme-dark app-wallet .tabs .pagination-wrapper .pagination button {\n background-color: #2b3644;\n color: #e0e0e0; }\n.theme-gray app-wallet .tabs .pagination-wrapper .pagination button {\n background-color: #2f3438;\n color: #e0e0e0; }\n.theme-white app-wallet .tabs .pagination-wrapper .pagination button {\n background-color: #ebebeb;\n color: #43454b; }\n.theme-dark app-wallet .tabs .pagination-wrapper .pagination button.active {\n background-color: #18202a;\n color: #e0e0e0; }\n.theme-gray app-wallet .tabs .pagination-wrapper .pagination button.active {\n background-color: #25292d;\n color: #e0e0e0; }\n.theme-white app-wallet .tabs .pagination-wrapper .pagination button.active {\n background-color: #ffffff;\n color: #43454b; }\n.theme-dark app-wallet .tabs .pagination-wrapper .pagination button:hover {\n background-color: #3a485a;\n color: #e0e0e0; }\n.theme-gray app-wallet .tabs .pagination-wrapper .pagination button:hover {\n background-color: #383e43;\n color: #e0e0e0; }\n.theme-white app-wallet .tabs .pagination-wrapper .pagination button:hover {\n background-color: #ffffff;\n color: #43454b; }\n.theme-dark app-send .form-send .send-select {\n color: #e0e0e0; }\n.theme-gray app-send .form-send .send-select {\n color: #e0e0e0; }\n.theme-white app-send .form-send .send-select {\n color: #43454b; }\n.theme-dark app-send .form-send .send-select .icon {\n background-color: #4db1ff; }\n.theme-gray app-send .form-send .send-select .icon {\n background-color: #42a5f5; }\n.theme-white app-send .form-send .send-select .icon {\n background-color: #2c95f1; }\n.theme-dark app-send .form-send .additional-details {\n border: 0.2rem solid #2b3644; }\n.theme-gray app-send .form-send .additional-details {\n border: 0.2rem solid #2f3438; }\n.theme-white app-send .form-send .additional-details {\n border: 0.2rem solid #ebebeb; }\n.theme-dark app-receive .btn-copy-address {\n background-color: #4db1ff; }\n.theme-gray app-receive .btn-copy-address {\n background-color: #42a5f5; }\n.theme-white app-receive .btn-copy-address {\n background-color: #2c95f1; }\n.theme-dark app-history table tbody tr.locked-transaction {\n color: #556576; }\n.theme-gray app-history table tbody tr.locked-transaction {\n color: #565c62; }\n.theme-white app-history table tbody tr.locked-transaction {\n color: #a0a5ab; }\n.theme-dark app-history table tbody tr:nth-child(4n+1) {\n background-color: #18202a; }\n.theme-gray app-history table tbody tr:nth-child(4n+1) {\n background-color: #25292d; }\n.theme-white app-history table tbody tr:nth-child(4n+1) {\n background-color: #ffffff; }\n.theme-dark app-history table tbody tr:nth-child(4n+2) {\n background-color: #18202a; }\n.theme-gray app-history table tbody tr:nth-child(4n+2) {\n background-color: #25292d; }\n.theme-white app-history table tbody tr:nth-child(4n+2) {\n background-color: #ffffff; }\n.theme-dark app-history table tbody tr:nth-child(4n+3) {\n background-color: transparent; }\n.theme-gray app-history table tbody tr:nth-child(4n+3) {\n background-color: transparent; }\n.theme-white app-history table tbody tr:nth-child(4n+3) {\n background-color: transparent; }\n.theme-dark app-history table tbody tr:nth-child(4n+4) {\n background-color: transparent; }\n.theme-gray app-history table tbody tr:nth-child(4n+4) {\n background-color: transparent; }\n.theme-white app-history table tbody tr:nth-child(4n+4) {\n background-color: transparent; }\n.theme-dark app-history table tbody tr .status .confirmation {\n background-color: #343f4a; }\n.theme-gray app-history table tbody tr .status .confirmation {\n background-color: #363a3e; }\n.theme-white app-history table tbody tr .status .confirmation {\n background-color: #dcdcdc; }\n.theme-dark app-history table tbody tr .status .confirmation .fill {\n background-color: #5cda9d; }\n.theme-gray app-history table tbody tr .status .confirmation .fill {\n background-color: #47cf8d; }\n.theme-white app-history table tbody tr .status .confirmation .fill {\n background-color: #46c172; }\n.theme-dark app-history table tbody tr .lock-transaction {\n background-color: #ff6f00; }\n.theme-gray app-history table tbody tr .lock-transaction {\n background-color: #ff6f00; }\n.theme-white app-history table tbody tr .lock-transaction {\n background-color: #ff6f00; }\n.theme-dark app-history table tbody tr .unlock-transaction {\n background-color: #4db1ff; }\n.theme-gray app-history table tbody tr .unlock-transaction {\n background-color: #42a5f5; }\n.theme-white app-history table tbody tr .unlock-transaction {\n background-color: #2c95f1; }\n.theme-dark app-history table tbody tr .status.send .status-transaction {\n background-color: #ff5252; }\n.theme-gray app-history table tbody tr .status.send .status-transaction {\n background-color: #ff5252; }\n.theme-white app-history table tbody tr .status.send .status-transaction {\n background-color: #ff5252; }\n.theme-dark app-history table tbody tr .status.received .status-transaction {\n background-color: #5cda9d; }\n.theme-gray app-history table tbody tr .status.received .status-transaction {\n background-color: #47cf8d; }\n.theme-white app-history table tbody tr .status.received .status-transaction {\n background-color: #46c172; }\n.theme-dark app-contracts .wrap-table .contract .icon.new, .theme-dark app-contracts .wrap-table .contract .icon.alert {\n background-color: #ff5252; }\n.theme-gray app-contracts .wrap-table .contract .icon.new, .theme-gray app-contracts .wrap-table .contract .icon.alert {\n background-color: #ff5252; }\n.theme-white app-contracts .wrap-table .contract .icon.new, .theme-white app-contracts .wrap-table .contract .icon.alert {\n background-color: #ff5252; }\n.theme-dark app-contracts .wrap-table .contract .icon.purchase, .theme-dark app-contracts .wrap-table .contract .icon.sell {\n background-color: #4db1ff; }\n.theme-gray app-contracts .wrap-table .contract .icon.purchase, .theme-gray app-contracts .wrap-table .contract .icon.sell {\n background-color: #42a5f5; }\n.theme-white app-contracts .wrap-table .contract .icon.purchase, .theme-white app-contracts .wrap-table .contract .icon.sell {\n background-color: #2c95f1; }\n.theme-dark app-purchase .form-purchase .purchase-select {\n color: #e0e0e0; }\n.theme-gray app-purchase .form-purchase .purchase-select {\n color: #e0e0e0; }\n.theme-white app-purchase .form-purchase .purchase-select {\n color: #43454b; }\n.theme-dark app-purchase .form-purchase .purchase-select .icon {\n background-color: #4db1ff; }\n.theme-gray app-purchase .form-purchase .purchase-select .icon {\n background-color: #42a5f5; }\n.theme-white app-purchase .form-purchase .purchase-select .icon {\n background-color: #2c95f1; }\n.theme-dark app-purchase .form-purchase .purchase-states {\n color: #4db1ff; }\n.theme-gray app-purchase .form-purchase .purchase-states {\n color: #42a5f5; }\n.theme-white app-purchase .form-purchase .purchase-states {\n color: #2c95f1; }\n.theme-dark app-purchase .form-purchase .additional-details {\n border: 0.2rem solid #2b3644; }\n.theme-gray app-purchase .form-purchase .additional-details {\n border: 0.2rem solid #2f3438; }\n.theme-white app-purchase .form-purchase .additional-details {\n border: 0.2rem solid #ebebeb; }\n.theme-dark app-purchase .progress-bar-container .progress-bar {\n background-color: #343f4a; }\n.theme-gray app-purchase .progress-bar-container .progress-bar {\n background-color: #363a3e; }\n.theme-white app-purchase .progress-bar-container .progress-bar {\n background-color: #dcdcdc; }\n.theme-dark app-purchase .progress-bar-container .progress-bar .progress-bar-full {\n background-color: #5cda9d; }\n.theme-gray app-purchase .progress-bar-container .progress-bar .progress-bar-full {\n background-color: #47cf8d; }\n.theme-white app-purchase .progress-bar-container .progress-bar .progress-bar-full {\n background-color: #46c172; }\napp-messages table tbody tr td:first-child span {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap; }\n.theme-dark app-messages table tbody tr td:first-child .icon {\n background-color: #ff5252; }\n.theme-gray app-messages table tbody tr td:first-child .icon {\n background-color: #ff5252; }\n.theme-white app-messages table tbody tr td:first-child .icon {\n background-color: #ff5252; }\n.theme-dark app-typing-message .head .interlocutor {\n color: #4db1ff; }\n.theme-gray app-typing-message .head .interlocutor {\n color: #42a5f5; }\n.theme-white app-typing-message .head .interlocutor {\n color: #2c95f1; }\n.theme-dark app-typing-message .messages-content .messages-list div.date {\n color: #556576; }\n.theme-gray app-typing-message .messages-content .messages-list div.date {\n color: #565c62; }\n.theme-white app-typing-message .messages-content .messages-list div.date {\n color: #a0a5ab; }\n.theme-dark app-typing-message .messages-content .messages-list div.my {\n background-color: #2a3544; }\n.theme-gray app-typing-message .messages-content .messages-list div.my {\n background-color: #30363c; }\n.theme-white app-typing-message .messages-content .messages-list div.my {\n background-color: #fff; }\napp-typing-message .messages-content .messages-list div.my:before {\n content: \"\";\n display: block;\n position: absolute;\n top: 0;\n left: -1.1rem;\n border: 1.2rem solid transparent; }\n.theme-dark app-typing-message .messages-content .messages-list div.my:before {\n border-top-color: #2a3544; }\n.theme-gray app-typing-message .messages-content .messages-list div.my:before {\n border-top-color: #30363c; }\n.theme-white app-typing-message .messages-content .messages-list div.my:before {\n border-top-color: #fff; }\n.theme-dark app-typing-message .messages-content .messages-list div.buddy {\n background-color: #18202a; }\n.theme-gray app-typing-message .messages-content .messages-list div.buddy {\n background-color: #25292d; }\n.theme-white app-typing-message .messages-content .messages-list div.buddy {\n background-color: #ededed; }\napp-typing-message .messages-content .messages-list div.buddy:after {\n content: \"\";\n display: block;\n position: absolute;\n right: -1.1rem;\n top: 0;\n border: 1.2rem solid transparent; }\n.theme-dark app-typing-message .messages-content .messages-list div.buddy:after {\n border-top-color: #18202a; }\n.theme-gray app-typing-message .messages-content .messages-list div.buddy:after {\n border-top-color: #25292d; }\n.theme-white app-typing-message .messages-content .messages-list div.buddy:after {\n border-top-color: #ededed; }\n.theme-dark app-staking .chart-header .general .label {\n color: #556576; }\n.theme-gray app-staking .chart-header .general .label {\n color: #565c62; }\n.theme-white app-staking .chart-header .general .label {\n color: #a0a5ab; }\n.theme-dark app-staking .chart-header .general .options {\n color: #e0e0e0; }\n.theme-gray app-staking .chart-header .general .options {\n color: #e0e0e0; }\n.theme-white app-staking .chart-header .general .options {\n color: #43454b; }\napp-staking .chart-header .selected {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n flex-grow: 1;\n font-size: 1.6rem; }\n.theme-dark app-staking .chart-options .title {\n color: #556576; }\n.theme-gray app-staking .chart-options .title {\n color: #565c62; }\n.theme-white app-staking .chart-options .title {\n color: #a0a5ab; }\n.theme-dark app-staking .chart-options .options button {\n color: #e0e0e0;\n background-color: #2b3644; }\n.theme-gray app-staking .chart-options .options button {\n color: #e0e0e0;\n background-color: #292d31; }\n.theme-white app-staking .chart-options .options button {\n color: #43454b;\n background-color: #e0e0e0; }\n.theme-dark app-staking .chart-options .options button.active {\n background-color: #556576; }\n.theme-gray app-staking .chart-options .options button.active {\n background-color: #515960; }\n.theme-white app-staking .chart-options .options button.active {\n background-color: #ffffff; }\n.input-block-alias {\n position: relative; }\n.input-block-alias .alias-dropdown {\n position: absolute;\n top: 6.5rem;\n max-height: 10rem;\n overflow: auto;\n width: 100%; }\n.theme-dark .input-block-alias .alias-dropdown {\n background-color: #171e27;\n color: #e0e0e0; }\n.theme-gray .input-block-alias .alias-dropdown {\n background-color: #292d31;\n color: #e0e0e0; }\n.theme-white .input-block-alias .alias-dropdown {\n background-color: #e6e6e6;\n color: #43454b; }\n.input-block-alias .alias-dropdown div {\n font-size: 1.4rem;\n padding: 1rem; }\n.theme-dark .input-block-alias .alias-dropdown div:hover {\n background-color: rgba(58, 69, 85, 0.5); }\n.theme-gray .input-block-alias .alias-dropdown div:hover {\n background-color: rgba(58, 62, 66, 0.5); }\n.theme-white .input-block-alias .alias-dropdown div:hover {\n background-color: rgba(240, 240, 240, 0.5); }\napp-contacts, app-add-contacts,\napp-contact-send, app-export-import {\n flex: 1 1 auto;\n padding: 3rem;\n min-width: 85rem; }\napp-contacts .content, app-add-contacts .content,\n app-contact-send .content, app-export-import .content {\n position: relative;\n padding: 3rem;\n min-height: 100%; }\n.theme-dark app-contacts .content, .theme-dark app-add-contacts .content, .theme-dark\n app-contact-send .content, .theme-dark app-export-import .content {\n background-color: rgba(43, 54, 68, 0.5);\n color: #e0e0e0; }\n.theme-gray app-contacts .content, .theme-gray app-add-contacts .content, .theme-gray\n app-contact-send .content, .theme-gray app-export-import .content {\n background-color: rgba(37, 40, 43, 0.5);\n color: #e0e0e0; }\n.theme-white app-contacts .content, .theme-white app-add-contacts .content, .theme-white\n app-contact-send .content, .theme-white app-export-import .content {\n background-color: rgba(255, 255, 255, 0.5);\n color: #43454b; }\napp-contacts .content .head, app-add-contacts .content .head,\n app-contact-send .content .head, app-export-import .content .head {\n position: absolute;\n top: 0;\n left: 0; }\n.theme-dark app-contacts table .alias {\n color: #4db1ff; }\n.theme-gray app-contacts table .alias {\n color: #42a5f5; }\n.theme-white app-contacts table .alias {\n color: #2c95f1; }\n.theme-dark app-contacts table button .icon {\n background-color: #4db1ff; }\n.theme-gray app-contacts table button .icon {\n background-color: #42a5f5; }\n.theme-white app-contacts table button .icon {\n background-color: #2c95f1; }\n.theme-dark app-contacts table button span {\n color: #e0e0e0; }\n.theme-gray app-contacts table button span {\n color: #e0e0e0; }\n.theme-white app-contacts table button span {\n color: #43454b; }\n.theme-dark app-contacts .footer {\n color: #4db1ff; }\n.theme-gray app-contacts .footer {\n color: #42a5f5; }\n.theme-white app-contacts .footer {\n color: #2c95f1; }\n.theme-dark app-contacts .footer .import-btn {\n color: #4db1ff; }\n.theme-gray app-contacts .footer .import-btn {\n color: #42a5f5; }\n.theme-white app-contacts .footer .import-btn {\n color: #2c95f1; }\n.theme-dark app-contacts .footer .import-btn .icon {\n background-color: #4db1ff; }\n.theme-gray app-contacts .footer .import-btn .icon {\n background-color: #42a5f5; }\n.theme-white app-contacts .footer .import-btn .icon {\n background-color: #2c95f1; }\n.theme-dark app-contact-send .wallets-selection button {\n color: #4db1ff; }\n.theme-gray app-contact-send .wallets-selection button {\n color: #42a5f5; }\n.theme-white app-contact-send .wallets-selection button {\n color: #2c95f1; }\n.form-details {\n margin-top: 1.8rem; }\n.form-details .input-block:first-child {\n width: 50%; }\n.form-details .wallet-buttons {\n display: flex;\n align-items: center;\n justify-content: space-between; }\n.form-details .wallet-buttons button {\n margin: 2.9rem 0;\n width: 100%;\n max-width: 15rem; }\n.form-seed label {\n font-size: 1.3rem;\n line-height: 2.4rem; }\n.theme-dark .form-seed label {\n color: #556576; }\n.theme-gray .form-seed label {\n color: #565c62; }\n.theme-white .form-seed label {\n color: #a0a5ab; }\n.form-seed .form-content {\n display: flex;\n justify-content: center;\n padding: 3rem;\n width: 100%; }\n.theme-dark .form-seed .form-content {\n border: 2px solid #2b3644; }\n.theme-gray .form-seed .form-content {\n border: 2px solid #2f3438; }\n.theme-white .form-seed .form-content {\n border: 2px solid #ebebeb; }\n.form-seed .text-coral {\n text-decoration: none; }\n.theme-dark .form-seed .text-coral {\n color: #4db1ff; }\n.theme-gray .form-seed .text-coral {\n color: #42a5f5; }\n.theme-white .form-seed .text-coral {\n color: #2c95f1; }\n.form-seed .seed-phrase-form {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n max-width: 38rem;\n width: 100%; }\n.form-seed .seed-phrase-form .input-block,\n .form-seed .seed-phrase-form button {\n width: 100%; }\n.form-seed .seed-phrase-form .error-message {\n margin-top: 1rem; }\n.theme-dark .form-seed .seed-phrase-form .error-message {\n color: #ff6f00; }\n.theme-gray .form-seed .seed-phrase-form .error-message {\n color: #ff6f00; }\n.theme-white .form-seed .seed-phrase-form .error-message {\n color: #ff6f00; }\n.form-seed .seed-phrase-form .secured-seed {\n font-size: 1.2rem;\n line-height: 2.4rem;\n text-decoration: none;\n display: flex;\n align-items: center;\n cursor: pointer; }\n.theme-dark .form-seed .seed-phrase-form .secured-seed {\n color: #e0e0e0; }\n.theme-gray .form-seed .seed-phrase-form .secured-seed {\n color: #e0e0e0; }\n.theme-white .form-seed .seed-phrase-form .secured-seed {\n color: #a0a5ab; }\n.form-seed .seed-phrase-form .secured-seed .icon {\n margin-right: 1.2rem; }\n.form-seed .seed-phrase-form button {\n display: flex;\n justify-content: center;\n align-items: center;\n margin-top: 3rem;\n margin-bottom: 2rem; }\n.form-seed .seed-phrase-form button .icon {\n margin-right: 1.2rem; }\n.seed-phrase {\n display: flex;\n flex-direction: column;\n width: 100%;\n background-color: transparent !important; }\n.seed-phrase-title {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%; }\n.theme-dark .seed-phrase-title {\n color: #556576; }\n.theme-gray .seed-phrase-title {\n color: #565c62; }\n.theme-white .seed-phrase-title {\n color: #a0a5ab; }\n.seed-phrase-title .right-part {\n display: inline-flex;\n align-items: center; }\n.seed-phrase-title .right-part .icon {\n cursor: pointer;\n width: 1.7rem;\n height: 1.7rem; }\n.seed-phrase-title .right-part .icon.copy {\n margin-right: 1.2rem;\n -webkit-mask: url('copy.svg') no-repeat center;\n mask: url('copy.svg') no-repeat center; }\n.theme-dark .seed-phrase-title .right-part .icon.copy {\n background-color: #4db1ff; }\n.theme-gray .seed-phrase-title .right-part .icon.copy {\n background-color: #42a5f5; }\n.theme-white .seed-phrase-title .right-part .icon.copy {\n background-color: #2c95f1; }\n.seed-phrase-title .right-part .icon.copy:hover {\n opacity: 0.75; }\n.seed-phrase-title .right-part .icon.copied {\n margin-right: 1.2rem;\n -webkit-mask: url('complete-testwallet.svg') no-repeat center;\n mask: url('complete-testwallet.svg') no-repeat center; }\n.theme-dark .seed-phrase-title .right-part .icon.copied {\n background-color: #4db1ff; }\n.theme-gray .seed-phrase-title .right-part .icon.copied {\n background-color: #42a5f5; }\n.theme-white .seed-phrase-title .right-part .icon.copied {\n background-color: #2c95f1; }\n.seed-phrase-title .right-part .icon.secured, .seed-phrase-title .right-part .icon.unsecured {\n margin-left: 1.2rem; }\n.seed-phrase-title .right-part span {\n font-size: 1.3rem;\n line-height: 2.4rem;\n display: inline-flex;\n align-items: center; }\n.seed-phrase-title .right-part span .icon {\n margin-left: 1.2rem; }\n.seed-phrase-content {\n padding: 1rem 0 1rem;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-wrap: wrap;\n margin-bottom: 1rem; }\n.theme-dark .seed-phrase-content {\n border-top: 2px solid #2b3644;\n border-bottom: 2px solid #2b3644; }\n.theme-gray .seed-phrase-content {\n border-top: 2px solid #2f3438;\n border-bottom: 2px solid #2f3438; }\n.theme-white .seed-phrase-content {\n border-top: 2px solid #ebebeb;\n border-bottom: 2px solid #ebebeb; }\n.seed-phrase-content .item {\n display: flex;\n align-items: center;\n padding: 0 2rem;\n width: calc(100% / 7);\n min-height: 35px;\n font-size: 1.3rem; }\n.theme-dark .seed-phrase-content .item {\n color: #e0e0e0; }\n.theme-gray .seed-phrase-content .item {\n color: #e0e0e0; }\n.theme-white .seed-phrase-content .item {\n color: #43454b; }\n.theme-dark .seed-phrase-content .item.dark {\n background-color: #18202a; }\n.theme-gray .seed-phrase-content .item.dark {\n background-color: #292d31; }\n.theme-white .seed-phrase-content .item.dark {\n background-color: #e6e6e6; }\n.seed-phrase-footer {\n text-align: center; }\n.seed-phrase-footer .title {\n font-size: 1.3rem;\n line-height: 2.4rem; }\n.theme-dark .seed-phrase-footer .title {\n color: #e0e0e0; }\n.theme-gray .seed-phrase-footer .title {\n color: #e0e0e0; }\n.theme-white .seed-phrase-footer .title {\n color: #43454b; }\n.icon {\n display: inline-flex;\n width: 1.6rem;\n height: 1.6rem; }\n.icon.secured {\n -webkit-mask: url('secured.svg') no-repeat center;\n mask: url('secured.svg') no-repeat center; }\n.theme-dark .icon.secured {\n background-color: #5cda9d; }\n.theme-gray .icon.secured {\n background-color: #47cf8d; }\n.theme-white .icon.secured {\n background-color: #46c172; }\n.icon.info {\n -webkit-mask: url('info.svg') no-repeat center;\n mask: url('info.svg') no-repeat center; }\n.theme-dark .icon.info {\n background-color: #4db1ff; }\n.theme-gray .icon.info {\n background-color: #42a5f5; }\n.theme-white .icon.info {\n background-color: #2c95f1; }\n.icon.unsecured {\n -webkit-mask: url('unsecured.svg') no-repeat center;\n mask: url('unsecured.svg') no-repeat center; }\n.theme-dark .icon.unsecured {\n background-color: #ff6f00; }\n.theme-gray .icon.unsecured {\n background-color: #ff6f00; }\n.theme-white .icon.unsecured {\n background-color: #ff6f00; }\n.icon.safety {\n -webkit-mask: url('safety.svg') no-repeat center;\n mask: url('safety.svg') no-repeat center; }\n.theme-dark .icon.safety {\n background-color: #111921; }\n.theme-gray .icon.safety {\n background-color: #1a1a1a; }\n.theme-white .icon.safety {\n background-color: #fefefe; }\n.wrap-buttons {\n display: flex; }\n.wrap-buttons .seed-phrase-button {\n margin: 2.8rem 0;\n width: 25%;\n min-width: 1.5rem; }\n.wrap-buttons .copy-button {\n margin: 2.8rem 1rem;\n width: 25%;\n min-width: 1.5rem; }\n.head {\n display: flex;\n align-items: flex-end;\n justify-content: space-between;\n font-size: 1.3rem;\n padding: 0 3rem;\n width: 100%;\n height: 3rem; }\n.theme-dark .head {\n color: #4db1ff; }\n.theme-gray .head {\n color: #42a5f5; }\n.theme-white .head {\n color: #2c95f1; }\n.head .breadcrumbs > span:not(:last-child), .head .breadcrumbs a:not(:last-child) {\n position: relative;\n cursor: pointer;\n margin-right: 20px;\n outline-style: none; }\n.head .breadcrumbs > span:not(:last-child):after, .head .breadcrumbs a:not(:last-child):after {\n content: \"\";\n display: block;\n position: absolute;\n top: 0.5rem;\n right: -1.5rem;\n width: 0.9rem;\n height: 0.9rem;\n -webkit-mask: url('arrow-right.svg') no-repeat center;\n mask: url('arrow-right.svg') no-repeat center;\n -webkit-mask-size: cover;\n mask-size: cover; }\n.theme-dark .head .breadcrumbs > span:not(:last-child):after, .theme-dark .head .breadcrumbs a:not(:last-child):after {\n background-color: #4db1ff; }\n.theme-gray .head .breadcrumbs > span:not(:last-child):after, .theme-gray .head .breadcrumbs a:not(:last-child):after {\n background-color: #42a5f5; }\n.theme-white .head .breadcrumbs > span:not(:last-child):after, .theme-white .head .breadcrumbs a:not(:last-child):after {\n background-color: #2c95f1; }\n.head .back-btn {\n display: flex;\n align-items: center;\n background-color: transparent;\n color: #4db1ff;\n font-size: inherit;\n font-weight: 400;\n line-height: 1.3rem;\n padding: 0;\n height: auto; }\n.head .back-btn .icon {\n margin-right: 0.7rem;\n -webkit-mask: url('back.svg') no-repeat center;\n mask: url('back.svg') no-repeat center;\n width: 0.9rem;\n height: 0.9rem; }\n.theme-dark .head .back-btn .icon {\n background-color: #4db1ff; }\n.theme-gray .head .back-btn .icon {\n background-color: #42a5f5; }\n.theme-white .head .back-btn .icon {\n background-color: #2c95f1; }\n.scrolled-content::-webkit-scrollbar {\n background-color: transparent;\n cursor: default;\n width: 1rem;\n height: 1rem; }\n.scrolled-content::-webkit-scrollbar-track {\n background: transparent; }\n.scrolled-content::-webkit-scrollbar-thumb {\n background-color: #556576;\n background-clip: padding-box;\n border: 0.25rem solid transparent;\n border-radius: 0.5rem; }\n.scrolled-content::-webkit-scrollbar-thumb:hover {\n background-color: #556576; }\ntable {\n font-size: 1.3rem;\n width: 100%; }\ntable thead {\n text-align: left; }\n.theme-dark table thead {\n color: #556576; }\n.theme-gray table thead {\n color: #565c62; }\n.theme-white table thead {\n color: #a0a5ab; }\ntable thead tr {\n height: 4rem; }\ntable thead tr th {\n padding: 1rem;\n vertical-align: bottom; }\ntable thead tr th:first-child {\n padding-left: 3rem; }\ntable thead tr th:last-child {\n padding-right: 3rem; }\ntable tbody {\n text-align: left; }\n.theme-dark table tbody {\n color: #e0e0e0; }\n.theme-gray table tbody {\n color: #e0e0e0; }\n.theme-white table tbody {\n color: #43454b; }\ntable tbody tr {\n height: 3.5rem; }\n.theme-dark table tbody tr:nth-child(odd) {\n background-color: #18202a; }\n.theme-gray table tbody tr:nth-child(odd) {\n background-color: #25292d; }\n.theme-white table tbody tr:nth-child(odd) {\n background-color: #ffffff; }\ntable tbody tr td {\n line-height: 1.7rem;\n padding: 0 1rem;\n vertical-align: middle;\n white-space: nowrap;\n max-width: 20rem; }\ntable tbody tr td:first-child {\n padding-left: 3rem; }\ntable tbody tr td:last-child {\n padding-right: 3rem; }\n@font-face {\n font-family: OpenSans;\n src: url('OpenSans-Light.ttf');\n font-weight: 300; }\n@font-face {\n font-family: OpenSans;\n src: url('OpenSans-Regular.ttf');\n font-weight: 400; }\n@font-face {\n font-family: OpenSans;\n src: url('OpenSans-SemiBold.ttf');\n font-weight: 600; }\n@font-face {\n font-family: OpenSans;\n src: url('OpenSans-Bold.ttf');\n font-weight: 700; }\n@font-face {\n font-family: OpenSans;\n src: url('OpenSans-ExtraBold.ttf');\n font-weight: 800; }\nhtml {\n font-family: OpenSans, sans-serif;\n font-size: 10px; }\nbody {\n font-family: OpenSans, sans-serif;\n font-size: 1.6rem;\n width: 100vw;\n height: 100vh; }\nbody.theme-dark {\n background: #131921 url('background-dark.png') no-repeat center;\n background-size: cover; }\nbody.theme-gray {\n background: #101417 url('background-gray.png') no-repeat center;\n background-size: cover; }\nbody.theme-white {\n background: #eeeeee url('background-white.png') no-repeat center;\n background-size: cover; }\nbody app-root {\n display: flex;\n width: 100%;\n height: 100%; }\n.update-tooltip .tooltip-inner .icon {\n -webkit-mask: url('update-alert.svg') no-repeat center;\n mask: url('update-alert.svg') no-repeat center; }\n\r\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9EOlxcUHJvamVjdFxcV09SS19ORVdcXHphbm9cXHNyY1xcZ3VpXFxxdC1kYWVtb25cXGh0bWxfc291cmNlL3NyY1xcYXNzZXRzXFxzY3NzXFxiYXNlXFxfbWl4aW5zLnNjc3MiLCJzcmMvc3R5bGVzLnNjc3MiLCJub2RlX21vZHVsZXMvQG5nLXNlbGVjdC9uZy1zZWxlY3QvdGhlbWVzL2RlZmF1bHQudGhlbWUuY3NzIiwic3JjL0Q6XFxQcm9qZWN0XFxXT1JLX05FV1xcemFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxhc3NldHNcXHNjc3NcXGJhc2VcXF9udWxsLnNjc3MiLCJzcmMvRDpcXFByb2plY3RcXFdPUktfTkVXXFx6YW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFzc2V0c1xcc2Nzc1xcYmFzZVxcX2Jhc2Uuc2NzcyIsInNyYy9EOlxcUHJvamVjdFxcV09SS19ORVdcXHphbm9cXHNyY1xcZ3VpXFxxdC1kYWVtb25cXGh0bWxfc291cmNlL3NyY1xcYXNzZXRzXFxzY3NzXFxiYXNlXFxfdGhlbWUuc2NzcyIsInNyYy9EOlxcUHJvamVjdFxcV09SS19ORVdcXHphbm9cXHNyY1xcZ3VpXFxxdC1kYWVtb25cXGh0bWxfc291cmNlL3NyY1xcYXNzZXRzXFxzY3NzXFxsYXlvdXRcXF9tYWluLnNjc3MiLCJzcmMvRDpcXFByb2plY3RcXFdPUktfTkVXXFx6YW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFzc2V0c1xcc2Nzc1xcbGF5b3V0XFxfc2lkZWJhci5zY3NzIiwic3JjL0Q6XFxQcm9qZWN0XFxXT1JLX05FV1xcemFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxhc3NldHNcXHNjc3NcXGxheW91dFxcX3N0YXR1cy5zY3NzIiwic3JjL0Q6XFxQcm9qZWN0XFxXT1JLX05FV1xcemFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxhc3NldHNcXHNjc3NcXGxheW91dFxcX3dhbGxldC5zY3NzIiwic3JjL0Q6XFxQcm9qZWN0XFxXT1JLX05FV1xcemFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxhc3NldHNcXHNjc3NcXGxheW91dFxcX2NvbnRhY3Quc2NzcyIsInNyYy9EOlxcUHJvamVjdFxcV09SS19ORVdcXHphbm9cXHNyY1xcZ3VpXFxxdC1kYWVtb25cXGh0bWxfc291cmNlL3NyY1xcYXNzZXRzXFxzY3NzXFxsYXlvdXRcXF9zZWVkLXBocmFzZS5zY3NzIiwic3JjL0Q6XFxQcm9qZWN0XFxXT1JLX05FV1xcemFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxhc3NldHNcXHNjc3NcXG1vZHVsZXNcXF9oZWFkLnNjc3MiLCJzcmMvRDpcXFByb2plY3RcXFdPUktfTkVXXFx6YW5vXFxzcmNcXGd1aVxccXQtZGFlbW9uXFxodG1sX3NvdXJjZS9zcmNcXGFzc2V0c1xcc2Nzc1xcbW9kdWxlc1xcX3Njcm9sbC5zY3NzIiwic3JjL0Q6XFxQcm9qZWN0XFxXT1JLX05FV1xcemFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxhc3NldHNcXHNjc3NcXG1vZHVsZXNcXF90YWJsZS5zY3NzIiwic3JjL0Q6XFxQcm9qZWN0XFxXT1JLX05FV1xcemFub1xcc3JjXFxndWlcXHF0LWRhZW1vblxcaHRtbF9zb3VyY2Uvc3JjXFxzdHlsZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4RUE7O0NDNUVDO0FDRkQsaURBQWlELGVBQWUsQ0FBQyxpQ0FBaUM7QUFBQyx1REFBdUQsZUFBZTtBQUFDLDJEQUEyRCxRQUFRLENBQUMseUNBQXlDLENBQUMsc0JBQXNCO0FBQUMsaUVBQWlFLHlDQUF5QztBQUFDLGtFQUFrRSw0QkFBNEIsQ0FBQywyQkFBMkI7QUFBQywrREFBK0QseUJBQXlCLENBQUMsd0JBQXdCO0FBQUMseUVBQXlF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QVk7RUFDWixpQ0FBaUM7RUFDakMsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQixhQUFhO0VBQ2IsZUFBZTtFQUNmLGNBQWMsRUFBQTtBSitEWjtJSXpERSx5QkNSb0M7SURTcEMsY0NsQjJCLEVBQUE7QUwwRTdCO0lJekRFLHlCQ29Eb0M7SURuRHBDLGNDMEMyQixFQUFBO0FMYzdCO0lJekRFLHlCQ2dIb0M7SUQvR3BDLGNDc0cyQixFQUFBO0FMOUM3QjtJSWxESSx5QkNkNkIsRUFBQTtBTGdFakM7SUlsREkseUJDOEM2QixFQUFBO0FMSWpDO0lJbERJLHlCQzBHNkIsRUFBQTtBTHhEakM7SUkzQ0kseUJDcEI2QixFQUFBO0FMK0RqQztJSTNDSSx5QkN3QzZCLEVBQUE7QUxHakM7SUkzQ0kseUJDb0c2QixFQUFBO0FMekRqQztJSW5DRSx5QkNqQ2dDO0lEa0NoQyxjQ3hDMkIsRUFBQTtBTDBFN0I7SUluQ0UseUJDMkJnQztJRDFCaEMsY0NvQjJCLEVBQUE7QUxjN0I7SUluQ0UseUJDdUZnQztJRHRGaEMsY0NnRjJCLEVBQUE7QUw5QzdCO0lJNUJJLHlCQ3ZDeUIsRUFBQTtBTG1FN0I7SUk1QkkseUJDcUJ5QixFQUFBO0FMTzdCO0lJNUJJLHlCQ2lGeUIsRUFBQTtBTHJEN0I7SUlyQkkseUJDN0N5QixFQUFBO0FMa0U3QjtJSXJCSSx5QkNleUIsRUFBQTtBTE03QjtJSXJCSSx5QkMyRXlCLEVBQUE7QUx0RDdCO0lJYkUseUJDakRpQztJRGtEakMsY0M5RDJCLEVBQUE7QUwwRTdCO0lJYkUseUJDV2lDO0lEVmpDLGNDRjJCLEVBQUE7QUxjN0I7SUliRSx5QkN1RWlDO0lEdEVqQyxjQzBEMkIsRUFBQTtBTDlDN0I7SUlOSSx5QkN2RDBCLEVBQUE7QUw2RDlCO0lJTkkseUJDSzBCLEVBQUE7QUxDOUI7SUlOSSx5QkNpRTBCLEVBQUE7QUwzRDlCO0lJQ0kseUJDN0QwQixFQUFBO0FMNEQ5QjtJSUNJLHlCQ0QwQixFQUFBO0FMQTlCO0lJQ0kseUJDMkQwQixFQUFBO0FMNUQ5QjtJSVNFLHlCQ3BFcUM7SURx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d0V0QjtNSW1QSSw0QkMvUGtCLEVBQUE7QUxZdEI7TUltUEksNEJDbk1rQixFQUFBO0FENkoxQjtFQThDTSwwQ0FBMEQsRUFBQTtBSjNQNUQ7SUk4UEkseUJDdFVrQixFQUFBO0FMd0V0QjtJSThQSSx5QkMxUWtCLEVBQUE7QUxZdEI7SUk4UEkseUJDOU1rQixFQUFBO0FMaER0QjtFSXVRQSx5QkMzVDhCLEVBQUE7QUxvRDlCO0VJdVFBLHlCQy9QOEIsRUFBQTtBTFI5QjtFSXVRQSx5QkNuTThCLEVBQUE7QUxwRTlCO0VJK1FJLHlCQ3ZWa0IsRUFBQTtBTHdFdEI7RUkrUUkseUJDM1JrQixFQUFBO0FMWXRCO0VJK1FJLHlCQy9Oa0IsRUFBQTtBTGhEdEI7RUlzUkkseUJDL1ZzQixFQUFBO0FMeUUxQjtFSXNSSSx5QkNuU3NCLEVBQUE7QUxhMUI7RUlzUkkseUJDdk9zQixFQUFBO0FENk85QjtFQUNFLGtCQUFrQixFQUFBO0FKN1JoQjtJSWdTQSxtQkNoVStCO0lEaVUvQix1Q0M1VDBDO0lENlQxQyxjQzdXc0IsRUFBQTtBTDJFdEI7SUlnU0EsbUJDcFErQjtJRHFRL0IsdUNDaFEwQztJRGlRMUMsY0NqVHNCLEVBQUE7QUxldEI7SUlnU0EsbUJDeE0rQjtJRHlNL0IsNkNDcE1nRDtJRHFNaEQsY0NyUHNCLEVBQUE7QUQrTzFCO0lBVUksaUJBQWlCO0lBQ2pCLG1CQUFtQjtJQUNuQixxQkFBcUIsRUFBQTtBQVp6QjtJQWdCSSxpQkFBaUIsRUFBQTtBQWhCckI7TUFtQk0sV0FBVztNQUNYLGtCQUFrQjtNQUNsQixhQUFhO01BQ2Isd0JBQXdCO01BQ3hCLG9CQUFvQjtNQUNwQixtQkFBbUIsRUFBQTtBSnBUckI7UUl1VEkseURBQWdGLEVBQUE7QUp2VHBGO1FJdVRJLHlEQUFnRixFQUFBO0FKdlRwRjtRSXVUSSx5REFBZ0YsRUFBQTtBQTNCeEY7SUFpQ0ksaUJBQWlCLEVBQUE7QUFqQ3JCO01Bb0NNLFdBQVc7TUFDWCxrQkFBa0I7TUFDbEIsYUFBYTtNQUNiLFlBQVk7TUFDWixvQkFBb0I7TUFDcEIsbUJB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cEI7RUFHSSxjQUFjO0VBQ2Qsc0JBQXNCO0VBQ3RCLGdCQUFnQjtFQUNoQixpQkFBaUIsRUFBQTtBQUlyQjtFQUNFLGVBQWUsRUFBQTtBSnhnQmI7SUkyZ0JBLG1CQzNpQitCO0lENGlCL0IsdUNDdmlCMEM7SUR3aUIxQyxjQ3hsQnNCLEVBQUE7QUwyRXRCO0lJMmdCQSxtQkMvZStCO0lEZ2YvQix1Q0MzZTBDO0lENGUxQyxjQzVoQnNCLEVBQUE7QUxldEI7SUkyZ0JBLG1CQ25iK0I7SURvYi9CLDZDQy9hZ0Q7SURnYmhELGNDaGVzQixFQUFBO0FMN0N0QjtJSW1oQkUsbUJDampCc0M7SURrakJ0QyxjQ3JrQjJCLEVBQUE7QUxpRDdCO0lJbWhCRSxtQkNyZnNDO0lEc2Z0QyxjQ3pnQjJCLEVBQUE7QUxYN0I7SUltaEJFLG1CQ3pic0M7SUQwYnRDLGNDN2MyQixFQUFBO0FMdkU3QjtJSTRoQk0scURDMWpCa0MsRUFBQTtBTDhCeEM7SUk0aEJNLHFEQzlma0MsRUFBQTtBTDlCeEM7SUk0aEJNLHFEQ2xja0MsRUFBQTtBTDFGeEM7SUlzaUJNLHFEQUFxSCxFQUFBO0FKdGlCM0g7SUlzaUJNLHFEQUFxSCxFQUFBO0FKdGlCM0g7SUlzaUJNLHFEQUFxSCxFQUFBO0FBL0IvSDtJQXNDSSxlQUFlLEVBQUE7QUo3aUJmO01JZ2pCRSxtQkM1a0JxQztNRDZrQnJDLGNDbG1CMkIsRUFBQTtBTGlEN0I7TUlnakJFLG1CQ2hoQnFDO01EaWhCckMsY0N0aUIyQixFQUFBO0FMWDdCO01JZ2pCRSxtQkNwZHFDO01EcWRyQyxjQzFlMkIsRUFBQTtBRGdjakM7TUE4Q00sYUFBYTtNQUNiLHNCQUFzQjtNQUN0QixtQkFBbUIsRUFBQTtBSnZqQnJCO01JK2pCTSxxREMzbEJpQyxFQUFBO0FMNEJ2QztNSStqQk0scURDL2hCaUMsRUFBQTtBTGhDdkM7TUkrakJNLHFEQ25laUMsRUFBQTtBTDVGdkM7TUl5a0JNLHFEQUFtSCxFQUFBO0FKemtCekg7TUl5a0JNLHFEQUFtSCxFQUFBO0FKemtCekg7TUl5a0JNLHFEQUFtSCxFQUFB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SW12QkkseUJDMXlCeUIsRUFBQTtBTHVEN0I7TUltdkJJLHlCQzl1QnlCLEVBQUE7QUxMN0I7TUltdkJJLHlCQ2xyQnlCLEVBQUE7QUR3b0JqQztNQWdEVSxpQkFBaUI7TUFDakIsYUFBYSxFQUFBO0FKMXZCbkI7UUk2dkJRLHlCQ3B6QnFCO1FEcXpCckIsY0N6MEJjLEVBQUE7QUwyRXRCO1FJNnZCUSx5QkN4dkJxQjtRRHl2QnJCLGNDN3dCYyxFQUFBO0FMZXRCO1FJNnZCUSx5QkM1ckJxQjtRRDZyQnJCLGNDanRCYyxFQUFBO0FMN0N0QjtRSW93QlUsdUNDMXpCNkI7UUQyekI3QixjQ2gxQlksRUFBQTtBTDJFdEI7UUlvd0JVLHVDQzl2QjZCO1FEK3ZCN0IsY0NweEJZLEVBQUE7QUxldEI7UUlvd0JVLDBDQ2xzQmdDO1FEbXNCaEMsY0N4dEJZLEVBQUE7QUw3Q3RCO1FJNHdCVSx1Q0NqMEJnQztRRGswQmhDLGNDeDFCWSxFQUFBO0FMMkV0QjtRSTR3QlUsdUNDcndCZ0M7UURzd0JoQyxjQzV4QlksRUFBQTtBTGV0QjtRSTR3QlUsMENDenNCbUM7UUQwc0JuQyxjQ2h1QlksRUFBQTtBRDRwQjFCO01BMEVVLDZCQUE2QjtNQUM3QixlQUFlO01BQ2YsV0FBVztNQUNYLFlBQVksRUFBQTtBQTdFdEI7TUFpRlUsdUJBQXVCLEVBQUE7QUFqRmpDO01BcUZVLHlCQUF5QjtNQUN6Qiw0QkFBNEI7TUFDNUIsaUNBQWlDO01BQ2pDLHFCQUFxQixFQUFBO0FBeEYvQjtNQTRGVSx5QkFBeUIsRUFBQTtBSnJ5Qi9CO0VJaXpCRSxzQ0MzMEIwRDtFRDQwQjFELGNDNzNCb0IsRUFBQTtBTDJFdEI7RUlpekJFLHNDQy93QjBEO0VEZ3hCMUQsY0NqMEJvQixFQUFBO0FMZXRCO0VJaXpCRSx1Q0NudEIyRDtFRG90QjNELGNDcndCb0IsRUFBQTtBTDdDdEI7RUkwekJNLHlCQy8zQmUsRUFBQTtBTHFFckI7RUkwekJNLHlCQ24wQmUsRUFBQTtBTFNyQjtFSTB6Qk0seUJDdndCZSxFQUFBO0FMbkRyQjtFSWkwQk0seUJDeDRCaUIsRUFBQTtBTHVFdkI7RUlpMEJNLHlCQzUwQmlCLEVBQUE7QUxXdkI7RUlpMEJNLHlCQ2h4QmlCLEVBQUE7QUxqRHZCO0VJdzBCTSx5QkNoNUJnQixFQUFBO0FMd0V0QjtFSXcwQk0seUJDcDFCZ0IsRUFBQTtBTFl0QjtFSXcwQk0seUJDeHhCZ0IsRUFBQTtBTGhEdEI7RUlnMUJJLHlCQ3g1QmtCO0VEeTVCbEIsY0MzNUJ5QixFQUFBO0FMMEU3QjtFSWcxQkkseUJDNTFCa0I7RUQ2MUJsQixjQy8xQnlCLEVBQUE7QUxjN0I7RUlnMUJJLHlCQ2h5QmtCO0VEaXlCbEIsY0NueUJ5QixFQUFBO0FMOUM3QjtFSTAxQk0seUJDbjNCbUIsRUFBQTtBTHlCekI7RUkwMUJNLHlCQ3Z6Qm1CLEVBQUE7QUxuQ3pCO0VJMDFCTSx5QkMzdkJtQixFQUFBO0FML0Z6QjtFSXMyQkUsZ0NDOTVCbUMsRUFBQTtBTHdEckM7RUlzMkJFLGdDQ2wyQm1DLEVBQUE7QUxKckM7RUlzMkJFLGdDQ3R5Qm1DLEVBQUE7QUxoRXJDO0VJZzNCUSxjQ3o3QmtCLEVBQUE7QUx5RTFCO0VJZzNCUSxjQzczQmtCLEVBQUE7QUxhMUI7RUlnM0JRLGNDajBCa0IsRUFBQTtBTC9DMUI7RUl1M0JRLGNDbDhCYyxFQUFBO0FMMkV0QjtFSXUzQlEsY0N0NEJjLEVBQUE7QUxldEI7RUl1M0JRLGNDMTBCYyxFQUFBO0FMN0N0QjtFSTgzQlEsY0N0OEJjLEVBQUE7QUx3RXRCO0VJODNCUSxjQzE0QmMsRUFBQTtBTFl0QjtFSTgzQlEsY0M5MEJjLEVBQUE7QUxoRHRCO0VJMjRCRSxjQ3Q5Qm9CLEVBQUE7QUwyRXRCO0VJMjRCRSxjQzE1Qm9CLEVBQUE7QUxldEI7RUkyNEJFLGNDOTFCb0IsRUFBQTtBTDdDdEI7RUlpNUJJLHlCQ3I3QitCLEVBQUE7QUxvQ25DO0VJaTVCSSx5QkN6M0IrQixFQUFBO0FMeEJuQztFSWk1QkkseUJDN3pCK0IsRUFBQTtBTHBGbkM7RUl1NUJNLHlCQzE3QmlDLEVBQUE7QUxtQ3ZDO0VJdTVCTSx5QkM5M0JpQyxFQUFBO0FMekJ2QztFSXU1Qk0seUJDbDBCaUMsRUFBQTtBTHJGdkM7RUltNkJFLHNDQzc3QjBEO0VEODdCMUQsY0MvK0JvQixFQUFBO0FMMkV0QjtFSW02QkUsc0NDajRCMEQ7RURrNEIxRCxjQ243Qm9CLEVBQUE7QUxldEI7RUltNkJFLHVDQ3IwQjJEO0VEczBCM0QsY0N2M0JvQixFQUFBO0FMN0N0QjtFSTY2QkUsc0NDdjhCMEQ7RUR3OEIxRCxjQ3ovQm9CLEVBQUE7QUwyRXRCO0VJNjZCRSxzQ0MzNEIwRDtFRDQ0QjFELGNDNzdCb0IsRUFBQTtBTGV0QjtFSTY2QkUsdUNDLzBCMkQ7RURnMUIzRCxjQ2o0Qm9CLEVBQUE7QUw3Q3RCO0VJbzdCSSxtQ0M1K0JpQyxFQUFBO0FMd0RyQztFSW83QkksbUNDaDdCaUMsRUFBQTtBTEpyQztFSW83QkksbUNDcDNCaUMsRUFBQTtBTGhFckM7RUk0N0JJLHlCQ3BnQ2tCO0VEcWdDbEIsY0N2Z0N5QixFQUFBO0FMMEU3QjtFSTQ3QkkseUJDeDhCa0I7RUR5OEJsQixjQzM4QnlCLEVBQUE7QUxjN0I7RUk0N0JJLHlCQzU0QmtCO0VENjRCbEIsY0MvNEJ5QixFQUFBO0FDaklqQztFQUNFLGNBQWM7RUFDZCxhQUFhO0VBQ2IsZ0JBQWdCLEVBQUE7QUFIbEI7SUFNSSxrQkFBa0I7SUFDbEIsYUFBYTtJQUNiLGdCQUFnQixFQUFBO0FOMkVoQjtNTXhFRSx1Q0RKMkM7TUNLM0MsY0RKb0IsRUFBQTtBTDJFdEI7TU14RUUsdUNEd0QyQztNQ3ZEM0MsY0R3RG9CLEVBQUE7QUxldEI7TU14RUUsMENEb0g4QztNQ25IOUMsY0RvSG9CLEVBQUE7QUNoSTFCO01BZ0JNLGtCQUFrQjtNQUNsQixNQUFNO01BQ04sT0FBTyxFQUFBO0FOaUVUO0VNbkRNLGNEckJnQixFQUFBO0FMd0V0QjtFTW5ETSxjRHVDZ0IsRUFBQTtBTFl0QjtFTW5ETSxjRG1HZ0IsRUFBQTtBTGhEdEI7RU03Q1EseUJEM0JjLEVBQUE7QUx3RXRCO0VNN0NRLHlCRGlDYyxFQUFBO0FMWXRCO0VNN0NRLHlCRDZGYyxFQUFBO0FMaER0QjtFTWhDRSx5QkR2QjJCO0VDd0IzQixjRDVDb0IsRUFBQTtBTDJFdEI7RU1oQ0UseUJEcUMyQjtFQ3BDM0IsY0RnQm9CLEVBQUE7QUxldEI7RU1oQ0UseUJEaUcyQjtFQ2hHM0IsY0Q0RW9CLEVBQUE7QUw3Q3RCO0VNckJFLHlCRGxDMkIsRUFBQTtBTHVEN0I7RU1yQkUseUJEMEIyQixFQUFBO0FMTDdCO0VNckJFLHlCRHNGMkIsRUFBQTtBQ2pGakM7RUFHSSxZQUFZO0VBQ1osZ0JBQWdCO0VBQ2hCLGFBQWE7RUFDYiw4QkFBOEI7RUFDOUIsc0JBQXNCLEVBQUE7QU5TdEI7SU1KSSxjRHJFc0IsRUFBQTtBTHlFMUI7SU1KSSxjRFRzQixFQUFBO0FMYTFCO0lNSkksY0RtRHNCLEVBQUE7QUwvQzFCO0lNS00sdUNEOUMyQyxFQUFBO0FMeUNqRDtJTUtNLHVDRGMyQyxFQUFBO0FMbkJqRDtJTUtNLDBDRDBFOEMsRUFBQTtBTC9FcEQ7SU1XUSxjRHBGa0IsRUFBQTtBTHlFMUI7SU1XUSxjRHhCa0IsRUFBQTtBTGExQjtJTVdRLGNEb0NrQixFQUFBO0FML0MxQjtJTWtCUSx5QkQxRmMsRUFBQTtBTHdFdEI7SU1rQlEseUJEOUJjLEVBQUE7QUxZdEI7SU1rQlEseUJEOEJjLEVBQUE7QUxoRHRCO0lNd0JVLGNEaEdZLEVBQUE7QUx3RXRCO0lNd0JVLGNEcENZLEVBQUE7QUxZdEI7SU13QlUsY0R3QlksRUFBQTtBQ2YxQjtFQUNFLGtCQUFrQixFQUFBO0FObENoQjtFT2hGQSx5QkZBMkMsRUFBQTtBTGdGM0M7RU9oRkEseUJGNEQyQyxFQUFBO0FMb0IzQztFT2hGQSx1QkZ3SDhDLEVBQUE7QUx4QzlDO0VPdEVNLGNGTGdCLEVBQUE7QUwyRXRCO0VPdEVNLGNGdURnQixFQUFBO0FMZXRCO0VPdEVNLGNGbUhnQixFQUFBO0FMN0N0QjtFTy9ETSxjRlRnQixFQUFBO0FMd0V0QjtFTy9ETSxjRm1EZ0IsRUFBQTtBTFl0QjtFTy9ETSxjRitHZ0IsRUFBQTtBTGhEdEI7RU9yRE0sNkJBQTZCO0VBQzdCLGNGdkJnQixFQUFBO0FMMkV0QjtFT3JETSw2QkFBNkI7RUFDN0IsY0ZxQ2dCLEVBQUE7QUxldEI7RU9yRE0sNkJBQTZCO0VBQzdCLGNGaUdnQixFQUFBO0FMN0N0QjtFTzlDUSx5QkYxQmMsRUFBQTtBTHdFdEI7RU85Q1EseUJGa0NjLEVBQUE7QUxZdEI7RU85Q1EseUJGOEZjLEVBQUE7QUxoRHRCO0VPckNVLGNGcENnQixFQUFBO0FMeUUxQjtFT3JDVSxjRndCZ0IsRUFBQTtBTGExQjtFT3JDVSxjRm9GZ0IsRUFBQTtBTC9DMUI7RU85QlUseUJGMUNZLEVBQUE7QUx3RXRCO0VPOUJVLHlCRmtCWSxFQUFBO0FMWXRCO0VPOUJVLHlCRjhFWSxFQUFBO0FMaER0QjtFT3ZCVSx5QkY3Q3dCO0VFOEN4QixjRnBEbUIsRUFBQTtBTDBFN0I7RU92QlUseUJGZXdCO0VFZHhCLGNGUW1CLEVBQUE7QUxjN0I7RU92QlUseUJGMkV3QjtFRTFFeEIsY0ZvRW1CLEVBQUE7QUw5QzdCO0VPYlkseUJGdkJ1QixFQUFBO0FMb0NuQztFT2JZLHlCRnFDdUIsRUFBQTtBTHhCbkM7RU9iWSx5QkZpR3VCLEVBQUE7QUxwRm5DO0VPUGMseUJGakVRLEVBQUE7QUx3RXRCO0VPUGMseUJGTFEsRUFBQTtBTFl0QjtFT1BjLHlCRnVEUSxFQUFBO0FMaER0QjtFT0VVLGNGM0VnQixFQUFBO0FMeUUxQjtFT0VVLGNGZmdCLEVBQUE7QUxhMUI7RU9FVSxjRjZDZ0IsRUFBQTtBTC9DMUI7RU9VUSx1Q0Y3RHFDO0VFOERyQyxjRjVEcUIsRUFBQTtBTGlEN0I7RU9VUSx1Q0ZEcUM7RUVFckMsY0ZBcUIsRUFBQTtBTFg3QjtFT1VRLHlCRjJEcUM7RUUxRHJDLGNGNERxQixFQUFBO0FMdkU3QjtFT21CWSxjRmhFcUIsRUFBQTtBTDZDakM7RU9tQlksY0ZKcUIsRUFBQTtBTGZqQztFT21CWSxjRndEcUIsRUFBQTtBTDNFakM7RU8wQlkseUJGcEU0QjtFRXFFNUIsY0Z2RXNCLEVBQUE7QUw0Q2xDO0VPMEJZLHlCRlI0QjtFRVM1QixjRlhzQixFQUFBO0FMaEJsQztFTzBCWSx5QkZvRDRCO0VFbkQ1QixjRmlEc0IsRUFBQTtBTDVFbEM7RU9rQ1kseUJGN0V5QjtFRThFekIsY0Y5R1UsRUFBQTtBTDJFdEI7RU9rQ1kseUJGakJ5QjtFRWtCekIsY0ZsRFUsRUFBQTtBTGV0QjtFT2tDWSx5QkYyQ3lCO0VFMUN6QixjRlVVLEVBQUE7QUw3Q3RCO0VPMENZLGNGdkZxQixFQUFBO0FMNkNqQztFTzBDWSxjRjNCcUIsRUFBQTtBTGZqQztFTzBDWSxjRmlDcUIsRUFBQTtBTDNFakM7RU9tRFEsdUNGckcwQyxFQUFBO0FMa0RsRDtFT21EUSx1Q0Z6QzBDLEVBQUE7QUxWbEQ7RU9tRFEsMENGbUI2QyxFQUFBO0FMdEVyRDtFTzRESSxvRUFBMkYsRUFBQTtBUDVEL0Y7RU80REksb0VBQTJGLEVBQUE7QVA1RC9GO0VPNERJLGtFQUEyRixFQUFBO0FQNUQvRjtFT29FRSxtQ0ZuSnlCLEVBQUE7QUwrRTNCO0VPb0VFLG1DRnZGeUIsRUFBQTtBTG1CM0I7RU9vRUUsbUNGM0J5QixFQUFBO0FMekMzQjtFTzRFTSxjRnZKZ0IsRUFBQTtBTDJFdEI7RU80RU0sY0YzRmdCLEVBQUE7QUxldEI7RU80RU0sY0YvQmdCLEVBQUE7QUw3Q3RCO0VPa0ZRLHlCRjFKYyxFQUFBO0FMd0V0QjtFT2tGUSx5QkY5RmMsRUFBQTtBTFl0QjtFT2tGUSx5QkZsQ2MsRUFBQTtBTGhEdEI7RU80RlEsa0RBQTBEO0VBQzFELHlCQUE2QyxFQUFBO0FQN0ZyRDtFTzRGUSxrREFBMEQ7RUFDMUQseUJBQTZDLEVBQUE7QVA3RnJEO0VPNEZRLG9DQUEwRDtFQUMxRCx5QkFBNkMsRUFBQTtBUDdGckQ7RU9tR1Usb0NBQW1FLEVBQUE7QVBuRzdFO0VPbUdVLG9DQUFtRSxFQUFBO0FQbkc3RTtFT21HVSxvQ0FBbUUsRUFBQTtBQ3RMakY7RUFDRSxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLDJCQUEyQjtFQUMzQixjQUFjO0VBQ2QsaUJBQWlCLEVBQUE7QVI4RWY7SVE1RUEsY0hHMEIsRUFBQTtBTHlFMUI7SVE1RUEsY0grRDBCLEVBQUE7QUxhMUI7SVE1RUEsY0gySDBCLEVBQUE7QUdsSTlCO0lBV0ksa0JBQWtCO0lBQ2xCLFlBQVk7SUFDWixnQkFBZ0IsRUFBQTtBQWJwQjtNQWdCTSxrQkFBa0I7TUFDbEIsY0FBYztNQUNkLG1CQUFtQjtNQUNuQixvQkFBb0IsRUFBQTtBQW5CMUI7UUFzQlEsV0FBVztRQUNYLGtCQUFrQjtRQUNsQixNQUFNO1FBQ04sT0FBTztRQUNQLGtCQUFrQjtRQUNsQixhQUFhO1FBQ2IsY0FBYyxFQUFBO0FSdURsQjtNUWhESSx5Qkg3QmlCLEVBQUE7QUw2RXJCO01RaERJLHlCSCtCaUIsRUFBQTtBTGlCckI7TVFoREkseUJIMkZpQixFQUFBO0FMM0NyQjtNUXpDSSx5QkhyQ2dCLEVBQUE7QUw4RXBCO01RekNJLHlCSHVCZ0IsRUFBQTtBTGtCcEI7TVF6Q0kseUJIbUZnQixFQUFBO0FHN0h4QjtNQStDTSxpQkFBaUIsRUFBQTtBQS9DdkI7TUFtRE0sa0JBQWtCO01BQ2xCLFNBQVM7TUFDVCxPQUFPO01BQ1AsY0FBYztNQUNkLFdBQVcsRUFBQTtBQXZEakI7UUEwRFEsYUFBYSxFQUFBO0FBMURyQjtVQTZEVSxjQUFjLEVBQUE7QVJzQnBCO1lRcEJRLHlCSGhCMkIsRUFBQTtBTG9DbkM7WVFwQlEseUJINEMyQixFQUFBO0FMeEJuQztZUXBCUSx5Qkh3RzJCLEVBQUE7QUd2S3ZDO1lBa0VZLFlBQVksRUFBQTtBUmlCcEI7Y1FmVSx5QkhwQjZCLEVBQUE7QUxtQ3ZDO2NRZlUseUJId0M2QixFQUFBO0FMekJ2QztjUWZVLHlCSG9HNkIsRUFBQTtBTHJGdkM7VVFOVSx5Qkg5QnlCLEVBQUE7QUxvQ25DO1VRTlUseUJIOEJ5QixFQUFBO0FMeEJuQztVUU5VLHlCSDBGeUIsRUFBQTtBTHBGbkM7VVFBWSx5Qkh4RVUsRUFBQTtBTHdFdEI7VVFBWSx5QkhaVSxFQUFBO0FMWXRCO1VRQVkseUJIZ0RVLEVBQUE7QUduSTFCO1VBeUZVLGNBQWM7VUFDZCxpQkFBaUI7VUFDakIsbUJBQW1CO1VBQ25CLG9CQUFvQixFQUFBO0FBNUY5QjtRQW9HUSwwQ0FBa0M7Z0JBQWxDLGtDQUFrQztRQUNsQywrbENBc0JHO1FBQ0gsMEJBQTBCO1FBQzFCLFlBQVksRUFBQTtBUjFDaEI7VVFlTSx5QkhsRGlDLEVBQUE7QUxtQ3ZDO1VRZU0seUJIVWlDLEVBQUE7QUx6QnZDO1VRZU0seUJIc0VpQyxFQUFBO0FHeEszQztJQW1JSSxhQUFhO0lBQ2IsWUFBWTtJQUNaLGlCQUFpQjtJQUNqQixpQkFBaUIsRUFBQTtBQXRJckI7TUF5SU0sY0FBYztNQUNkLGlCQUFpQjtNQUNqQixtQkFBbUI7TUFDbkIsZ0JBQWdCLEVBQUE7QUE1SXRCO1FBK0lRLGlCQUFpQixFQUFBO0FBL0l6QjtNQW9KTSxjQUFjO01BQ2QseUJBQXlCO01BQ3pCLGFBQWE7TUFDYixjQUFjLEVBQUE7QUF2SnBCO1FBMEpRLGdEQUFxRDtnQkFBckQsd0NBQXFELEVBQUE7QUExSjdEO1FBOEpRLDhDQUFtRDtnQkFBbkQsc0NBQW1ELEVBQUE7QVIzRXZEO01Ra0ZJLGNIMUprQixFQUFBO0FMd0V0QjtNUWtGSSxjSDlGa0IsRUFBQTtBTFl0QjtNUWtGSSxjSGxDa0IsRUFBQTtBTGhEdEI7TVF5RkksY0gvSm9CLEVBQUE7QUxzRXhCO01ReUZJLGNIbkdvQixFQUFBO0FMVXhCO01ReUZJLGNIdkNvQixFQUFBO0FMbER4QjtNUWdHSSxjSHJLaUIsRUFBQTtBTHFFckI7TVFnR0ksY0h6R2lCLEVBQUE7QUxTckI7TVFnR0ksY0g3Q2lCLEVBQUE7QUxuRHJCO01RdUdJLGNIN0tvQixFQUFBO0FMc0V4QjtNUXVHSSxjSGpIb0IsRUFBQTtBTFV4QjtNUXVHSSxjSHJEb0IsRUFBQTtBTGxEeEI7TVFnSE0seUJIeExnQixFQUFBO0FMd0V0QjtNUWdITSx5Qkg1SGdCLEVBQUE7QUxZdEI7TVFnSE0seUJIaEVnQixFQUFBO0FMaER0QjtNUXVITSx5Qkg3TGtCLEVBQUE7QUxzRXhCO01RdUhNLHlCSGpJa0IsRUFBQTtBTFV4QjtNUXVITSx5QkhyRWtCLEVBQUE7QUxsRHhCO01ROEhNLHlCSG5NZSxFQUFBO0FMcUVyQjtNUThITSx5Qkh2SWUsRUFBQTtBTFNyQjtNUThITSx5QkgzRWUsRUFBQTtBTG5EckI7TVFxSU0seUJIM01rQixFQUFBO0FMc0V4QjtNUXFJTSx5QkgvSWtCLEVBQUE7QUxVeEI7TVFxSU0seUJIbkZrQixFQUFBO0FHMkY1QjtFQUNFO0lBQ0UsK0JBQStCLEVBQUE7RUFFakM7SUFDRSw4QkFBOEIsRUFBQSxFQUFBO0FBTGxDO0VBQ0U7SUFDRSwrQkFBK0IsRUFBQTtFQUVqQztJQUNFLDhCQUE4QixFQUFBLEVBQUE7QVJsSjlCO0VTaEZBLGNKS3NCLEVBQUE7QUwyRXRCO0VTaEZBLGNKaUVzQixFQUFBO0FMZXRCO0VTaEZBLGNKNkhzQixFQUFBO0FMN0N0QjtFU3hFSSxjSkhrQixFQUFBO0FMMkV0QjtFU3hFSSxjSnlEa0IsRUFBQTtBTGV0QjtFU3hFSSxjSnFIa0IsRUFBQTtBTDdDdEI7RVNsRU0seUJKTmdCLEVBQUE7QUx3RXRCO0VTbEVNLHlCSnNEZ0IsRUFBQTtBTFl0QjtFU2xFTSx5QkprSGdCLEVBQUE7QUluSTFCO0VBcUJRLHdDQUF3QyxFQUFBO0FUOEQ1QztJUzNEUSx5QkpjeUIsRUFBQTtBTDZDakM7SVMzRFEseUJKMEV5QixFQUFBO0FMZmpDO0lTM0RRLHlCSnNJeUIsRUFBQTtBTDNFakM7RVNoRE0seUJKeEJnQixFQUFBO0FMd0V0QjtFU2hETSx5QkpvQ2dCLEVBQUE7QUxZdEI7RVNoRE0seUJKZ0dnQixFQUFBO0FMaER0QjtFU3ZDRSxjSmpDb0IsRUFBQTtBTHdFdEI7RVN2Q0UsY0oyQm9CLEVBQUE7QUxZdEI7RVN2Q0UsY0p1Rm9CLEVBQUE7QUxoRHRCO0VTakNJLHlCSnZDa0IsRUFBQTtBTHdFdEI7RVNqQ0kseUJKcUJrQixFQUFBO0FMWXRCO0VTakNJLHlCSmlGa0IsRUFBQTtBTGhEdEI7RVNyQk0sdUNKcEIyQyxFQUFBO0FMeUNqRDtFU3JCTSx1Q0p3QzJDLEVBQUE7QUxuQmpEO0VTckJNLDBDSm9HOEMsRUFBQTtBTC9FcEQ7RVNmUSx5Qkp6RGMsRUFBQTtBTHdFdEI7RVNmUSx5QkpHYyxFQUFBO0FMWXRCO0VTZlEseUJKK0RjLEVBQUE7QUxoRHRCO0VTUlEseUJKbENnQztFSW1DaEMsY0pyQzBCLEVBQUE7QUw0Q2xDO0VTUlEseUJKMEJnQztFSXpCaEMsY0p1QjBCLEVBQUE7QUxoQmxDO0VTUlEseUJKc0ZnQztFSXJGaEMsY0ptRjBCLEVBQUE7QUw1RWxDO0VTQVEsdUNKNUVxQyxFQUFBO0FMNEU3QztFU0FRLHVDSmhCcUMsRUFBQTtBTGdCN0M7RVNBUSwwQ0o0Q3dDLEVBQUE7QUw1Q2hEO0VTT1EsdUNKL0NzQyxFQUFBO0FMd0M5QztFU09RLHVDSmFzQyxFQUFBO0FMcEI5QztFU09RLHlCSnlFd0IsRUFBQTtBTGhGaEM7RVNnQkksdUNKNUZ5QyxFQUFBO0FMNEU3QztFU2dCSSx1Q0poQ3lDLEVBQUE7QUxnQjdDO0VTZ0JJLDBDSjRCNEMsRUFBQTtBTDVDaEQ7RVN1QkksdUNKbkd5QyxFQUFBO0FMNEU3QztFU3VCSSx1Q0p2Q3lDLEVBQUE7QUxnQjdDO0VTdUJJLDBDSnFCNEMsRUFBQTtBTDVDaEQ7RVM2Qk0sZ0NKckYrQixFQUFBO0FMd0RyQztFUzZCTSxnQ0p6QitCLEVBQUE7QUxKckM7RVM2Qk0sZ0NKbUMrQixFQUFBO0FMaEVyQztFU2tDUSx5QkoxRjZCO0VJMkY3QixjSjlHYyxFQUFBO0FMMkV0QjtFU2tDUSx5Qko5QjZCO0VJK0I3QixjSmxEYyxFQUFBO0FMZXRCO0VTa0NRLHlCSjhCNkI7RUk3QjdCLGNKVWMsRUFBQTtBTDdDdEI7RVN3Q1UseUJKL0VtQjtFSWdGbkIsY0pwSFksRUFBQTtBTDJFdEI7RVN3Q1UseUJKbkJtQjtFSW9CbkIsY0p4RFksRUFBQTtBTGV0QjtFU3dDVSx5Qkp5Q21CO0VJeENuQixjSklZLEVBQUE7QUw3Q3RCO0VTK0NVLHlCSnZFUTtFSXdFUixjSjNIWSxFQUFBO0FMMkV0QjtFUytDVSx5QkpYUTtFSVlSLGNKL0RZLEVBQUE7QUxldEI7RVMrQ1UseUJKaURRO0VJaERSLGNKSFksRUFBQTtBTDdDdEI7RVNnRUksY0ozSWtCLEVBQUE7QUwyRXRCO0VTZ0VJLGNKL0VrQixFQUFBO0FMZXRCO0VTZ0VJLGNKbkJrQixFQUFBO0FMN0N0QjtFU3NFTSx5Qko5SWdCLEVBQUE7QUx3RXRCO0VTc0VNLHlCSmxGZ0IsRUFBQTtBTFl0QjtFU3NFTSx5Qkp0QmdCLEVBQUE7QUxoRHRCO0VTOEVJLDRCSnRJaUMsRUFBQTtBTHdEckM7RVM4RUksNEJKMUVpQyxFQUFBO0FMSnJDO0VTOEVJLDRCSmRpQyxFQUFBO0FMaEVyQztFU3lGRSx5QkpqS29CLEVBQUE7QUx3RXRCO0VTeUZFLHlCSnJHb0IsRUFBQTtBTFl0QjtFU3lGRSx5Qkp6Q29CLEVBQUE7QUxoRHRCO0VTeUdRLGNKbExrQixFQUFBO0FMeUUxQjtFU3lHUSxjSnRIa0IsRUFBQTtBTGExQjtFU3lHUSxjSjFEa0IsRUFBQTtBTC9DMUI7RVNnSFEseUJKdkpxQixFQUFBO0FMdUM3QjtFU2dIUSx5QkozRnFCLEVBQUE7QUxyQjdCO0VTZ0hRLHlCSi9CcUIsRUFBQTtBTGpGN0I7RVN1SFEseUJKOUpxQixFQUFBO0FMdUM3QjtFU3VIUSx5QkpsR3FCLEVBQUE7QUxyQjdCO0VTdUhRLHlCSnRDcUIsRUFBQTtBTGpGN0I7RVM4SFEsNkJBQTZCLEVBQUE7QVQ5SHJDO0VTOEhRLDZCQUE2QixFQUFBO0FUOUhyQztFUzhIUSw2QkFBNkIsRUFBQTtBVDlIckM7RVNxSVEsNkJBQTZCLEVBQUE7QVRySXJDO0VTcUlRLDZCQUE2QixFQUFBO0FUcklyQztFU3FJUSw2QkFBNkIsRUFBQTtBVHJJckM7RVM4SVUseUJKbEx5QixFQUFBO0FMb0NuQztFUzhJVSx5Qkp0SHlCLEVBQUE7QUx4Qm5DO0VTOElVLHlCSjFEeUIsRUFBQTtBTHBGbkM7RVNvSlkseUJKdkwyQixFQUFBO0FMbUN2QztFU29KWSx5QkozSDJCLEVBQUE7QUx6QnZDO0VTb0pZLHlCSi9EMkIsRUFBQTtBTHJGdkM7RVM2SlEseUJKbk9nQixFQUFBO0FMc0V4QjtFUzZKUSx5Qkp2S2dCLEVBQUE7QUxVeEI7RVM2SlEseUJKM0dnQixFQUFBO0FMbER4QjtFU29LUSx5Qko1T2MsRUFBQTtBTHdFdEI7RVNvS1EseUJKaExjLEVBQUE7QUxZdEI7RVNvS1EseUJKcEhjLEVBQUE7QUxoRHRCO0VTNktVLHlCSmxQVyxFQUFBO0FMcUVyQjtFUzZLVSx5Qkp0TFcsRUFBQTtBTFNyQjtFUzZLVSx5QkoxSFcsRUFBQTtBTG5EckI7RVN1TFUseUJKOVBhLEVBQUE7QUx1RXZCO0VTdUxVLHlCSmxNYSxFQUFBO0FMV3ZCO0VTdUxVLHlCSnRJYSxFQUFBO0FMakR2QjtFUzJNUSx5QkpoUmEsRUFBQTtBTHFFckI7RVMyTVEseUJKcE5hLEVBQUE7QUxTckI7RVMyTVEseUJKeEphLEVBQUE7QUxuRHJCO0VTa05RLHlCSjFSYyxFQUFBO0FMd0V0QjtFU2tOUSx5Qko5TmMsRUFBQTtBTFl0QjtFU2tOUSx5QkpsS2MsRUFBQTtBTGhEdEI7RVNpT0ksY0o1U2tCLEVBQUE7QUwyRXRCO0VTaU9JLGNKaFBrQixFQUFBO0FMZXRCO0VTaU9JLGNKcExrQixFQUFBO0FMN0N0QjtFU3VPTSx5QkovU2dCLEVBQUE7QUx3RXRCO0VTdU9NLHlCSm5QZ0IsRUFBQTtBTFl0QjtFU3VPTSx5Qkp2TGdCLEVBQUE7QUxoRHRCO0VTK09JLGNKdlRrQixFQUFBO0FMd0V0QjtFUytPSSxjSjNQa0IsRUFBQTtBTFl0QjtFUytPSSxjSi9Ma0IsRUFBQTtBTGhEdEI7RVNzUEksNEJKOVNpQyxFQUFBO0FMd0RyQztFU3NQSSw0QkpsUGlDLEVBQUE7QUxKckM7RVNzUEksNEJKdExpQyxFQUFBO0FMaEVyQztFU2dRSSx5QkpwUytCLEVBQUE7QUxvQ25DO0VTZ1FJLHlCSnhPK0IsRUFBQTtBTHhCbkM7RVNnUUkseUJKNUsrQixFQUFBO0FMcEZuQztFU3NRTSx5Qkp6U2lDLEVBQUE7QUxtQ3ZDO0VTc1FNLHlCSjdPaUMsRUFBQTtBTHpCdkM7RVNzUU0seUJKakxpQyxFQUFBO0FJd0wzQztFVC9WRSxnQkFBZ0I7RUFDaEIsdUJBQXVCO0VBQ3ZCLG1CQUFtQixFQUFBO0FBZ0ZqQjtFUzhSVSx5QkpuV1csRUFBQTtBTHFFckI7RVM4UlUseUJKdlNXLEVBQUE7QUxTckI7RVM4UlUseUJKM09XLEVBQUE7QUxuRHJCO0VTOFNJLGNKdFhrQixFQUFBO0FMd0V0QjtFUzhTSSxjSjFUa0IsRUFBQTtBTFl0QjtFUzhTSSxjSjlQa0IsRUFBQTtBTGhEdEI7RVM0VFEsY0pyWWtCLEVBQUE7QUx5RTFCO0VTNFRRLGNKelVrQixFQUFBO0FMYTFCO0VTNFRRLGNKN1FrQixFQUFBO0FML0MxQjtFU21VUSx5Qkp6V3lCLEVBQUE7QUxzQ2pDO0VTbVVRLHlCSjdTeUIsRUFBQTtBTHRCakM7RVNtVVEsc0JKalBzQixFQUFBO0FJcU5sQztFVGpURSxXQUQwRDtFQUUxRCxjQUY0QjtFQUc1QixrQkFINEM7RVNvVmxDLE1BQU07RUFDTixhQUFhO0VBQ2IsZ0NBQWdDLEVBQUE7QVQzVXhDO0lTOFVVLHlCSnBYdUIsRUFBQTtBTHNDakM7SVM4VVUseUJKeFR1QixFQUFBO0FMdEJqQztJUzhVVSxzQko1UG9CLEVBQUE7QUxsRjlCO0VTc1ZRLHlCSjNYNEIsRUFBQTtBTHFDcEM7RVNzVlEseUJKL1Q0QixFQUFBO0FMdkJwQztFU3NWUSx5QkpuUTRCLEVBQUE7QUlvTnhDO0VUalRFLFdBRDBEO0VBRTFELGNBRjRCO0VBRzVCLGtCQUg0QztFU3VXbEMsY0FBYztFQUNkLE1BQU07RUFDTixnQ0FBZ0MsRUFBQTtBVDlWeEM7SVNpV1UseUJKdFkwQixFQUFBO0FMcUNwQztJU2lXVSx5QkoxVTBCLEVBQUE7QUx2QnBDO0lTaVdVLHlCSjlRMEIsRUFBQTtBTG5GcEM7RVNtWE0sY0o1Ym9CLEVBQUE7QUx5RTFCO0VTbVhNLGNKaFlvQixFQUFBO0FMYTFCO0VTbVhNLGNKcFVvQixFQUFBO0FML0MxQjtFUzBYTSxjSnJjZ0IsRUFBQTtBTDJFdEI7RVMwWE0sY0p6WWdCLEVBQUE7QUxldEI7RVMwWE0sY0o3VWdCLEVBQUE7QUk2VDFCO0VBc0JNLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIseUJBQXlCO0VBQ3pCLFlBQVk7RUFDWixpQkFBaUIsRUFBQTtBVHBZbkI7RVM2WUksY0p0ZHNCLEVBQUE7QUx5RTFCO0VTNllJLGNKMVpzQixFQUFBO0FMYTFCO0VTNllJLGNKOVZzQixFQUFBO0FML0MxQjtFU3NaTSxjSmplZ0I7RUlrZWhCLHlCSnpiOEIsRUFBQTtBTGtDcEM7RVNzWk0sY0pyYWdCO0VJc2FoQix5Qko3WDhCLEVBQUE7QUwxQnBDO0VTc1pNLGNKeldnQjtFSTBXaEIseUJKalU4QixFQUFBO0FMdEZwQztFUzZaUSx5Qko5YnVCLEVBQUE7QUxpQy9CO0VTNlpRLHlCSmxZdUIsRUFBQTtBTDNCL0I7RVM2WlEseUJKdFV1QixFQUFBO0FJOFVuQztFQUNFLGtCQUFrQixFQUFBO0FBRHBCO0lBSUksa0JBQWtCO0lBQ2xCLFdBQVc7SUFDWCxpQkFBaUI7SUFDakIsY0FBYztJQUNkLFdBQVcsRUFBQTtBVDdhWDtNU2diRSx5Qkp2ZTJCO01Jd2UzQixjSjVmb0IsRUFBQTtBTDJFdEI7TVNnYkUseUJKM2EyQjtNSTRhM0IsY0poY29CLEVBQUE7QUxldEI7TVNnYkUseUJKL1cyQjtNSWdYM0IsY0pwWW9CLEVBQUE7QUl3WDFCO01BZ0JNLGlCQUFpQjtNQUNqQixhQUFhLEVBQUE7QVR0YmY7UVMwYk0sdUNKaGZpQyxFQUFBO0FMc0R2QztRUzBiTSx1Q0pwYmlDLEVBQUE7QUxOdkM7UVMwYk0sMENKeFhvQyxFQUFBO0FLcko5Qzs7RUFFRSxjQUFjO0VBQ2QsYUFBYTtFQUNiLGdCQUFnQixFQUFBO0FBSmxCOztJQU9JLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsZ0JBQWdCLEVBQUE7QVYwRWhCOztNVXZFRSx1Q0xMMkM7TUtNM0MsY0xMb0IsRUFBQTtBTDJFdEI7O01VdkVFLHVDTHVEMkM7TUt0RDNDLGNMdURvQixFQUFBO0FMZXRCOztNVXZFRSwwQ0xtSDhDO01LbEg5QyxjTG1Ib0IsRUFBQTtBS2hJMUI7O01BaUJNLGtCQUFrQjtNQUNsQixNQUFNO01BQ04sT0FBTyxFQUFBO0FWZ0VUO0VVcERNLGNMcEJnQixFQUFBO0FMd0V0QjtFVXBETSxjTHdDZ0IsRUFBQTtBTFl0QjtFVXBETSxjTG9HZ0IsRUFBQTtBTGhEdEI7RVUzQ00seUJMN0JnQixFQUFBO0FMd0V0QjtFVTNDTSx5QkwrQmdCLEVBQUE7QUxZdEI7RVUzQ00seUJMMkZnQixFQUFBO0FMaER0QjtFVXBDTSxjTHZDZ0IsRUFBQTtBTDJFdEI7RVVwQ00sY0xxQmdCLEVBQUE7QUxldEI7RVVwQ00sY0xpRmdCLEVBQUE7QUw3Q3RCO0VVM0JFLGNMN0NvQixFQUFBO0FMd0V0QjtFVTNCRSxjTGVvQixFQUFBO0FMWXRCO0VVM0JFLGNMMkVvQixFQUFBO0FMaER0QjtFVXJCSSxjTG5Ea0IsRUFBQTtBTHdFdEI7RVVyQkksY0xTa0IsRUFBQTtBTFl0QjtFVXJCSSxjTHFFa0IsRUFBQTtBTGhEdEI7RVVmTSx5Qkx6RGdCLEVBQUE7QUx3RXRCO0VVZk0seUJMR2dCLEVBQUE7QUxZdEI7RVVmTSx5QkwrRGdCLEVBQUE7QUxoRHRCO0VVQUksY0x4RWtCLEVBQUE7QUx3RXRCO0VVQUksY0xaa0IsRUFBQTtBTFl0QjtFVUFJLGNMZ0RrQixFQUFBO0FNbkkxQjtFQUNJLGtCQUFrQixFQUFBO0FBRHRCO0lBTVksVUFBVSxFQUFBO0FBTnRCO0lBV1EsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQiw4QkFBOEIsRUFBQTtBQWJ0QztNQWdCWSxnQkFBZ0I7TUFDaEIsV0FBVztNQUNYLGdCQUFnQixFQUFBO0FBSzVCO0VBT1EsaUJBQWlCO0VBQ2pCLG1CQUFtQixFQUFBO0FYb0R2QjtJV3hEUSxjTmpCa0IsRUFBQTtBTHlFMUI7SVd4RFEsY04yQ2tCLEVBQUE7QUxhMUI7SVd4RFEsY051R2tCLEVBQUE7QU0zRzlCO0VBZ0JRLGFBQWE7RUFDYix1QkFBdUI7RUFDdkIsYUFBYTtFQUNiLFdBQVcsRUFBQTtBWHlDZjtJVy9DUSx5Qk5UNkIsRUFBQTtBTHdEckM7SVcvQ1EseUJObUQ2QixFQUFBO0FMSnJDO0lXL0NRLHlCTitHNkIsRUFBQTtBTTVIekM7RUEwQlEscUJBQXFCLEVBQUE7QVhrQ3pCO0lXcENRLGNOcENjLEVBQUE7QUx3RXRC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VEV1QixFQUFBO0FMdUM3QjtRY3pDTSx5QlQ4RHVCLEVBQUE7QUxyQjdCO1FjekNNLHlCVDBIdUIsRUFBQTtBU3BLakM7UUErQ1EsbUJBQW1CO1FBQ25CLGVBQWU7UUFDZixzQkFBc0I7UUFDdEIsbUJBQW1CO1FBQ25CLGdCQUFnQixFQUFBO0FBbkR4QjtVQXNEVSxrQkFBa0IsRUFBQTtBQXRENUI7VUEwRFUsbUJBQW1CLEVBQUE7QUNwQzdCO0VBQ0UscUJBQXFCO0VBQ3JCLDhCQUE4QztFQUM5QyxnQkFBZ0IsRUFBQTtBQUdsQjtFQUNFLHFCQUFxQjtFQUNyQixnQ0FBZ0Q7RUFDaEQsZ0JBQWdCLEVBQUE7QUFHbEI7RUFDRSxxQkFBcUI7RUFDckIsaUNBQWlEO0VBQ2pELGdCQUFnQixFQUFBO0FBR2xCO0VBQ0UscUJBQXFCO0VBQ3JCLDZCQUE2QztFQUM3QyxnQkFBZ0IsRUFBQTtBQUdsQjtFQUNFLHFCQUFxQjtFQUNyQixrQ0FBa0Q7RUFDbEQsZ0JBQWdCLEVBQUE7QUFJbEI7RUFDRSxpQ0FBaUM7RUFDakMsZUFBZSxFQUFBO0FBR2pCO0VBQ0UsaUNBQWlDO0VBQ2pDLGlCQUFpQjtFQUNqQixZQUFZO0VBQ1osYUFBYSxFQUFBO0FBSmY7SUFPSSwrREFBNkU7SUFDN0Usc0JBQXNCLEVBQUE7QUFSMUI7SUFZSSwrREFBNkU7SUFDN0Usc0JBQXNCLEVBQUE7QUFiMUI7SUFpQkksZ0VBQThFO0lBQzlFLHNCQUFzQixFQUFBO0FBbEIxQjtJQXNCSSxhQUFhO0lBQ2IsV0FBVztJQUNYLFlBQVksRUFBQTtBQUloQjtFQUtNLHNEQUF5RDtVQUF6RCw4Q0FBeUQsRUFBQSIsImZpbGUiOiJzcmMvc3R5bGVzLnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAbWl4aW4gdGV4dC10cnVuY2F0ZSB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcbkBtaXhpbiB0ZXh0V3JhcCB7XHJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xyXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XHJcbiAgbGluZS1icmVhazogc3RyaWN0O1xyXG4gIC13ZWJraXQtaHlwaGVuczogYXV0bztcclxuICAtbXMtaHlwaGVuczogYXV0bztcclxuICBoeXBoZW5zOiBhdXRvO1xyXG59XHJcbkBtaXhpbiBjb3ZlckJveCB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxufVxyXG5AbWl4aW4gYWJzICgkdG9wOiBhdXRvLCAkcmlnaHQ6IGF1dG8sICRib3R0b206IGF1dG8sICRsZWZ0OiBhdXRvKSB7XHJcbiAgdG9wOiAkdG9wO1xyXG4gIHJpZ2h0OiAkcmlnaHQ7XHJcbiAgYm90dG9tOiAkYm90dG9tO1xyXG4gIGxlZnQ6ICRsZWZ0O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxufVxyXG5AbWl4aW4gY292ZXJJbWcge1xyXG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cdC1vLWJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xyXG59XHJcbkBtaXhpbiB2YWxpbmdCb3gge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6ICA1MCU7XHJcblx0bGVmdDogNTAlO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG59XHJcbkBtaXhpbiB1blNlbGVjdCB7XHJcblx0LXdlYmtpdC10b3VjaC1jb2xsb3V0OiBub25lO1xyXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xyXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xyXG4gIHVzZXItc2VsZWN0OiBub25lO1xyXG59XHJcbkBtaXhpbiBtYXgxMTk5IHsgLy8gbWFrZXQgMTE3MVxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHsgQGNvbnRlbnQ7IH1cclxufVxyXG5AbWl4aW4gbWF4MTE3MCB7IC8vIG1ha2V0cyA5OTJcclxuICBAbWVkaWEgKG1heC13aWR0aDogMTE3MHB4KSB7IEBjb250ZW50OyB9XHJcbn1cclxuQG1peGluIG1heDk5MSB7IC8vIG1ha2V0cyA3NjJcclxuICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHsgQGNvbnRlbnQ7IH1cclxufVxyXG5AbWl4aW4gbWF4NzYxIHsgLy8gbWFrZXRzIDU3NlxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjFweCkgeyBAY29udGVudDsgfVxyXG59XHJcbkBtaXhpbiBtYXg1NzUgeyAvLyBtYWtldHMgNDAwXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU3NXB4KSB7IEBjb250ZW50OyB9XHJcbn1cclxuQG1peGluIG1vYmlsZSB7XHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDM5OXB4KSB7IEBjb250ZW50OyB9XHJcbn1cclxuQG1peGluIGljb0NlbnRlciB7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxufVxyXG5AbWl4aW4gcHNldWRvICgkZGlzcGxheTogYmxvY2ssICRwb3M6IGFic29sdXRlLCAkY29udGVudDogJycpe1xyXG4gIGNvbnRlbnQ6ICRjb250ZW50O1xyXG4gIGRpc3BsYXk6ICRkaXNwbGF5O1xyXG4gIHBvc2l0aW9uOiAkcG9zO1xyXG59XHJcblxyXG4vKlxyXG4qIEltcGxlbWVudGF0aW9uIG9mIHRoZW1lc1xyXG4qL1xyXG5AbWl4aW4gdGhlbWlmeSgkdGhlbWVzOiAkdGhlbWVzKSB7XHJcbiAgQGVhY2ggJHRoZW1lLCAkbWFwIGluICR0aGVtZXMge1xyXG4gICAgLnRoZW1lLSN7JHRoZW1lfSAmIHtcclxuICAgICAgJHRoZW1lLW1hcDogKCkgIWdsb2JhbDtcclxuICAgICAgQGVhY2ggJGtleSwgJHN1Ym1hcCBpbiAkbWFwIHtcclxuICAgICAgICAkdmFsdWU6IG1hcC1nZXQobWFwLWdldCgkdGhlbWVzLCAkdGhlbWUpLCAnI3ska2V5fScpO1xyXG4gICAgICAgICR0aGVtZS1tYXA6IG1hcC1tZXJnZSgkdGhlbWUtbWFwLCAoJGtleTogJHZhbHVlKSkgIWdsb2JhbDtcclxuICAgICAgfVxyXG4gICAgICBAY29udGVudDtcclxuICAgICAgJHRoZW1lLW1hcDogbnVsbCAhZ2xvYmFsO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIHRoZW1lZCgka2V5KSB7XHJcbiAgQHJldHVybiBtYXAtZ2V0KCR0aGVtZS1tYXAsICRrZXkpO1xyXG59XHJcbiIsIi8qXHJcbiogSW1wbGVtZW50YXRpb24gb2YgdGhlbWVzXHJcbiovXG5AaW1wb3J0IHVybCh+QG5nLXNlbGVjdC9uZy1zZWxlY3QvdGhlbWVzL2RlZmF1bHQudGhlbWUuY3NzKTtcbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4qLCAqOmJlZm9yZSwgKjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIC13ZWJraXQtYm94LXNpemluZzogaW5oZXJpdDtcbiAgLW1vei1ib3gtc2l6aW5nOiBpbmhlcml0O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIC13ZWJraXQtdG91Y2gtY29sbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbmh0bWwsIGJvZHksIGRpdiwgc3BhbiwgYXBwbGV0LCBvYmplY3QsIGlmcmFtZSxcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHByZSxcbmEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSxcbmRlbCwgZGZuLCBlbSwgaW1nLCBpbnMsIGtiZCwgcSwgcywgc2FtcCxcbnNtYWxsLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHR0LCB2YXIsXG5iLCB1LCBpLCBjZW50ZXIsXG5kbCwgZHQsIGRkLCBvbCwgdWwsIGxpLFxuZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsXG50YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCxcbmFydGljbGUsIGFzaWRlLCBjYW52YXMsIGRldGFpbHMsIGVtYmVkLFxuZmlndXJlLCBmaWdjYXB0aW9uLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLFxubWVudSwgbmF2LCBvdXRwdXQsIHJ1YnksIHNlY3Rpb24sIHN1bW1hcnksXG50aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xuICBib3JkZXI6IDA7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgZm9udDogaW5oZXJpdDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbmFydGljbGUsIGFzaWRlLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsXG5mb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtZW51LCBuYXYsIHNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5ib2R5IHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5vbCwgdWwge1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbmJsb2NrcXVvdGUsIHEge1xuICBxdW90ZXM6IG5vbmU7IH1cblxuYmxvY2txdW90ZTpiZWZvcmUsIGJsb2NrcXVvdGU6YWZ0ZXIsXG5xOmJlZm9yZSwgcTphZnRlciB7XG4gIGNvbnRlbnQ6IG5vbmU7IH1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDsgfVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDsgfVxuXG5pbnB1dCB7XG4gIG91dGxpbmU6IG5vbmU7IH1cbiAgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAxMDAwcHggd2hpdGUgaW5zZXQ7IH1cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgYTphY3RpdmUsIGE6aG92ZXIsIGE6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7IH1cblxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG5iLCBzdHJvbmcge1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbmltZyB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgYm9yZGVyOiAwOyB9XG5cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnRoZW1lLWRhcmsgLmFwcC1jb250ZW50IC5wcmVsb2FkZXIgLmxvYWRpbmctYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVjZGE5ZDsgfVxuXG4udGhlbWUtZ3JheSAuYXBwLWNvbnRlbnQgLnByZWxvYWRlciAubG9hZGluZy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDdjZjhkOyB9XG5cbi50aGVtZS13aGl0ZSAuYXBwLWNvbnRlbnQgLnByZWxvYWRlciAubG9hZGluZy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDZjMTcyOyB9XG5cbmJ1dHRvbiB7XG4gIGJvcmRlcjogbm9uZTtcbiAgZm9udC1mYW1pbHk6IE9wZW5TYW5zLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBoZWlnaHQ6IDQuMnJlbTsgfVxuICAudGhlbWUtZGFyayBidXR0b246ZGlzYWJsZWQ6bm90KC50cmFuc3BhcmVudC1idXR0b24pLCAudGhlbWUtZGFyayBidXR0b24uYmx1ZS1idXR0b25fcmVzZXQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5Y2FkYjc7XG4gICAgY29sb3I6ICMxMTE5MjE7IH1cbiAgLnRoZW1lLWdyYXkgYnV0dG9uOmRpc2FibGVkOm5vdCgudHJhbnNwYXJlbnQtYnV0dG9uKSwgLnRoZW1lLWdyYXkgYnV0dG9uLmJsdWUtYnV0dG9uX3Jlc2V0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzk4NDhmO1xuICAgIGNvbG9yOiAjMWExYTFhOyB9XG4gIC50aGVtZS13aGl0ZSBidXR0b246ZGlzYWJsZWQ6bm90KC50cmFuc3BhcmVudC1idXR0b24pLCAudGhlbWUtd2hpdGUgYnV0dG9uLmJsdWUtYnV0dG9uX3Jlc2V0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTBhNGFlO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC50aGVtZS1kYXJrIGJ1dHRvbjpkaXNhYmxlZDpub3QoLnRyYW5zcGFyZW50LWJ1dHRvbik6aG92ZXIsIC50aGVtZS1kYXJrIGJ1dHRvbi5ibHVlLWJ1dHRvbl9yZXNldDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I3ZDFlMDsgfVxuICAudGhlbWUtZ3JheSBidXR0b246ZGlzYWJsZWQ6bm90KC50cmFuc3BhcmVudC1idXR0b24pOmhvdmVyLCAudGhlbWUtZ3JheSBidXR0b24uYmx1ZS1idXR0b25fcmVzZXQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhMWFlYmI7IH1cbiAgLnRoZW1lLXdoaXRlIGJ1dHRvbjpkaXNhYmxlZDpub3QoLnRyYW5zcGFyZW50LWJ1dHRvbik6aG92ZXIsIC50aGVtZS13aGl0ZSBidXR0b24uYmx1ZS1idXR0b25fcmVzZXQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhZWJlYzY7IH1cbiAgLnRoZW1lLWRhcmsgYnV0dG9uOmRpc2FibGVkOm5vdCgudHJhbnNwYXJlbnQtYnV0dG9uKTpmb2N1cywgLnRoZW1lLWRhcmsgYnV0dG9uLmJsdWUtYnV0dG9uX3Jlc2V0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTdiOWMyOyB9XG4gIC50aGVtZS1ncmF5IGJ1dHRvbjpkaXNhYmxlZDpub3QoLnRyYW5zcGFyZW50LWJ1dHRvbik6Zm9jdXMsIC50aGVtZS1ncmF5IGJ1dHRvbi5ibHVlLWJ1dHRvbl9yZXNldDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzhhOTU5ZjsgfVxuICAudGhlbWUtd2hpdGUgYnV0dG9uOmRpc2FibGVkOm5vdCgudHJhbnNwYXJlbnQtYnV0dG9uKTpmb2N1cywgLnRoZW1lLXdoaXRlIGJ1dHRvbi5ibHVlLWJ1dHRvbl9yZXNldDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2E3YjljMjsgfVxuICAudGhlbWUtZGFyayBidXR0b24uYmx1ZS1idXR0b246bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZGIxZmY7XG4gICAgY29sb3I6ICMxMTE5MjE7IH1cbiAgLnRoZW1lLWdyYXkgYnV0dG9uLmJsdWUtYnV0dG9uOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1O1xuICAgIGNvbG9yOiAjMWExYTFhOyB9XG4gIC50aGVtZS13aGl0ZSBidXR0b24uYmx1ZS1idXR0b246bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyYzk1ZjE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLnRoZW1lLWRhcmsgYnV0dG9uLmJsdWUtYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODJkN2ZmOyB9XG4gIC50aGVtZS1ncmF5IGJ1dHRvbi5ibHVlLWJ1dHRvbjpub3QoOmRpc2FibGVkKTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzg2ZDZmZjsgfVxuICAudGhlbWUtd2hpdGUgYnV0dG9uLmJsdWUtYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWNiM2ZmOyB9XG4gIC50aGVtZS1kYXJrIGJ1dHRvbi5ibHVlLWJ1dHRvbjpub3QoOmRpc2FibGVkKTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU5YjVmZDsgfVxuICAudGhlbWUtZ3JheSBidXR0b24uYmx1ZS1idXR0b246bm90KDpkaXNhYmxlZCk6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZmI2ZmM7IH1cbiAgLnRoZW1lLXdoaXRlIGJ1dHRvbi5ibHVlLWJ1dHRvbjpub3QoOmRpc2FibGVkKTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM3OWZmYTsgfVxuICAudGhlbWUtZGFyayBidXR0b24uZ3JlZW4tYnV0dG9uOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWNkYTlkO1xuICAgIGNvbG9yOiAjMTExOTIxOyB9XG4gIC50aGVtZS1ncmF5IGJ1dHRvbi5ncmVlbi1idXR0b246bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0N2NmOGQ7XG4gICAgY29sb3I6ICMxYTFhMWE7IH1cbiAgLnRoZW1lLXdoaXRlIGJ1dHRvbi5ncmVlbi1idXR0b246bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0NmMxNzI7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLnRoZW1lLWRhcmsgYnV0dG9uLmdyZWVuLWJ1dHRvbjpub3QoOmRpc2FibGVkKTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzhkZmNjNjsgfVxuICAudGhlbWUtZ3JheSBidXR0b24uZ3JlZW4tYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2JmNmM2OyB9XG4gIC50aGVtZS13aGl0ZSBidXR0b24uZ3JlZW4tYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWFkNTg2OyB9XG4gIC50aGVtZS1kYXJrIGJ1dHRvbi5ncmVlbi1idXR0b246bm90KDpkaXNhYmxlZCk6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2MmUwYjI7IH1cbiAgLnRoZW1lLWdyYXkgYnV0dG9uLmdyZWVuLWJ1dHRvbjpub3QoOmRpc2FibGVkKTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzVjZGM5ZTsgfVxuICAudGhlbWUtd2hpdGUgYnV0dG9uLmdyZWVuLWJ1dHRvbjpub3QoOmRpc2FibGVkKTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzUzYzc3YzsgfVxuICAudGhlbWUtZGFyayBidXR0b24udHVycXVvaXNlLWJ1dHRvbjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRkZDBlMTtcbiAgICBjb2xvcjogIzExMTkyMTsgfVxuICAudGhlbWUtZ3JheSBidXR0b24udHVycXVvaXNlLWJ1dHRvbjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNlYzVkNztcbiAgICBjb2xvcjogIzFhMWExYTsgfVxuICAudGhlbWUtd2hpdGUgYnV0dG9uLnR1cnF1b2lzZS1idXR0b246bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNmI2Yzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLnRoZW1lLWRhcmsgYnV0dG9uLnR1cnF1b2lzZS1idXR0b246bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4N2Y0ZjU7IH1cbiAgLnRoZW1lLWdyYXkgYnV0dG9uLnR1cnF1b2lzZS1idXR0b246bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3MmVkZmU7IH1cbiAgLnRoZW1lLXdoaXRlIGJ1dHRvbi50dXJxdW9pc2UtYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTJjYmQ5OyB9XG4gIC50aGVtZS1kYXJrIGJ1dHRvbi50dXJxdW9pc2UtYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJkNWU4OyB9XG4gIC50aGVtZS1ncmF5IGJ1dHRvbi50dXJxdW9pc2UtYnV0dG9uOm5vdCg6ZGlzYWJsZWQpOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTBkMGUxOyB9XG4gIC50aGVtZS13aGl0ZSBidXR0b24udHVycXVvaXNlLWJ1dHRvbjpub3QoOmRpc2FibGVkKTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMxYmVjZjsgfVxuICBidXR0b24udHJhbnNwYXJlbnQtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAudGhlbWUtZGFyayBidXR0b24udHJhbnNwYXJlbnQtYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAwLjJyZW0gc29saWQgIzJiMzY0NDtcbiAgICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gICAgLnRoZW1lLWdyYXkgYnV0dG9uLnRyYW5zcGFyZW50LWJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogMC4ycmVtIHNvbGlkICMyZjM0Mzg7XG4gICAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAgIC50aGVtZS13aGl0ZSBidXR0b24udHJhbnNwYXJlbnQtYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAwLjJyZW0gc29saWQgI2ViZWJlYjtcbiAgICAgIGNvbG9yOiAjNDM0NTRiOyB9XG4gICAgYnV0dG9uLnRyYW5zcGFyZW50LWJ1dHRvbiAuaWNvbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICBtYXNrOiB1cmwofnNyYy9hc3NldHMvaWNvbnMvY29tcGxldGUtdGVzdHdhbGxldC5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICB3aWR0aDogMS43cmVtO1xuICAgICAgaGVpZ2h0OiAxLjdyZW07IH1cbiAgICAgIC50aGVtZS1kYXJrIGJ1dHRvbi50cmFuc3BhcmVudC1idXR0b24gLmljb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwOyB9XG4gICAgICAudGhlbWUtZ3JheSBidXR0b24udHJhbnNwYXJlbnQtYnV0dG9uIC5pY29uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTBlMDsgfVxuICAgICAgLnRoZW1lLXdoaXRlIGJ1dHRvbi50cmFuc3BhcmVudC1idXR0b24gLmljb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDM0NTRiOyB9XG5cbi5pbnB1dC1ibG9jayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBtYXJnaW4tYm90dG9tOiAwLjRyZW07IH1cbiAgLmlucHV0LWJsb2NrIC53cmFwLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIG1pbi1oZWlnaHQ6IDIuNHJlbTsgfVxuICAuaW5wdXQtYmxvY2sgbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07IH1cbiAgICAudGhlbWUtZGFyayAuaW5wdXQtYmxvY2sgbGFiZWwge1xuICAgICAgY29sb3I6ICM1NTY1NzY7IH1cbiAgICAudGhlbWUtZ3JheSAuaW5wdXQtYmxvY2sgbGFiZWwge1xuICAgICAgY29sb3I6ICM1NjVjNjI7IH1cbiAgICAudGhlbWUtd2hpdGUgLmlucHV0LWJsb2NrIGxhYmVsIHtcbiAgICAgIGNvbG9yOiAjYTBhNWFiOyB9XG4gIC5pbnB1dC1ibG9jayBpbnB1dFt0eXBlPSd0ZXh0J10sIC5pbnB1dC1ibG9jayBpbnB1dFt0eXBlPSdwYXNzd29yZCddLCAuaW5wdXQtYmxvY2sgc2VsZWN0IHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0LjJyZW07IH1cbiAgICAudGhlbWUtZGFyayAuaW5wdXQtYmxvY2sgaW5wdXRbdHlwZT0ndGV4dCddLCAudGhlbWUtZGFyayAuaW5wdXQtYmxvY2sgaW5wdXRbdHlwZT0ncGFzc3dvcmQnXSwgLnRoZW1lLWRhcmsgLmlucHV0LWJsb2NrIHNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTcxZTI3O1xuICAgICAgY29sb3I6ICNlMGUwZTA7IH1cbiAgICAudGhlbWUtZ3JheSAuaW5wdXQtYmxvY2sgaW5wdXRbdHlwZT0ndGV4dCddLCAudGhlbWUtZ3JheSAuaW5wdXQtYmxvY2sgaW5wdXRbdHlwZT0ncGFzc3dvcmQnXSwgLnRoZW1lLWdyYXkgLmlucHV0LWJsb2NrIHNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjkyZDMxO1xuICAgICAgY29sb3I6ICNlMGUwZTA7IH1cbiAgICAudGhlbWUtd2hpdGUgLmlucHV0LWJsb2NrIGlucHV0W3R5cGU9J3RleHQnXSwgLnRoZW1lLXdoaXRlIC5pbnB1dC1ibG9jayBpbnB1dFt0eXBlPSdwYXNzd29yZCddLCAudGhlbWUtd2hpdGUgLmlucHV0LWJsb2NrIHNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICAgICAgY29sb3I6ICM0MzQ1NGI7IH1cbiAgLmlucHV0LWJsb2NrLnRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuaW5wdXQtYmxvY2sudGV4dGFyZWEgdGV4dGFyZWEge1xuICAgICAgZm9udC1mYW1pbHk6IE9wZW5TYW5zLCBzYW5zLXNlcmlmO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWluLWhlaWdodDogNy41cmVtO1xuICAgICAgbWF4LWhlaWdodDogNy41cmVtO1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICByZXNpemU6IG5vbmU7IH1cbiAgICAgIC50aGVtZS1kYXJrIC5pbnB1dC1ibG9jay50ZXh0YXJlYSB0ZXh0YXJlYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzFlMjc7XG4gICAgICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gICAgICAudGhlbWUtZ3JheSAuaW5wdXQtYmxvY2sudGV4dGFyZWEgdGV4dGFyZWEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjkyZDMxO1xuICAgICAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAgICAgLnRoZW1lLXdoaXRlIC5pbnB1dC1ibG9jay50ZXh0YXJlYSB0ZXh0YXJlYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gICAgICAgIGNvbG9yOiAjNDM0NTRiOyB9XG4gIC5pbnB1dC1ibG9jayAuZXJyb3ItYmxvY2sge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40cmVtO1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLnRoZW1lLWRhcmsgLmlucHV0LWJsb2NrIC5lcnJvci1ibG9jayB7XG4gICAgICBjb2xvcjogI2ZmNTI1MjsgfVxuICAgIC50aGVtZS1ncmF5IC5pbnB1dC1ibG9jayAuZXJyb3ItYmxvY2sge1xuICAgICAgY29sb3I6ICNmZjUyNTI7IH1cbiAgICAudGhlbWUtd2hpdGUgLmlucHV0LWJsb2NrIC5lcnJvci1ibG9jayB7XG4gICAgICBjb2xvcjogI2ZmNTI1MjsgfVxuICAuaW5wdXQtYmxvY2sgLnN1Y2Nlc3MtYmxvY2sge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40cmVtO1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLnRoZW1lLWRhcmsgLmlucHV0LWJsb2NrIC5zdWNjZXNzLWJsb2NrIHtcbiAgICAgIGNvbG9yOiAjNWNkYTlkOyB9XG4gICAgLnRoZW1lLWdyYXkgLmlucHV0LWJsb2NrIC5zdWNjZXNzLWJsb2NrIHtcbiAgICAgIGNvbG9yOiAjNDdjZjhkOyB9XG4gICAgLnRoZW1lLXdoaXRlIC5pbnB1dC1ibG9jayAuc3VjY2Vzcy1ibG9jayB7XG4gICAgICBjb2xvcjogIzQ2YzE3MjsgfVxuXG4udGhlbWUtZGFyayAuZXJyb3ItdGV4dCB7XG4gIGNvbG9yOiAjZmY1MjUyOyB9XG5cbi50aGVtZS1ncmF5IC5lcnJvci10ZXh0IHtcbiAgY29sb3I6ICNmZjUyNTI7IH1cblxuLnRoZW1lLXdoaXRlIC5lcnJvci10ZXh0IHtcbiAgY29sb3I6ICNmZjUyNTI7IH1cblxuaW5wdXRbdHlwZT0ncmFkaW8nXS5zdHlsZS1yYWRpbyArIGxhYmVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXdlaWdodDogNDAwO1xuICBwYWRkaW5nLWxlZnQ6IDIuNHJlbTtcbiAgLXdlYmtpdC10b3VjaC1jb2xsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgLnRoZW1lLWRhcmsgaW5wdXRbdHlwZT0ncmFkaW8nXS5zdHlsZS1yYWRpbyArIGxhYmVsIHtcbiAgICBjb2xvcjogIzU1NjU3NjsgfVxuICAudGhlbWUtZ3JheSBpbnB1dFt0eXBlPSdyYWRpbyddLnN0eWxlLXJhZGlvICsgbGFiZWwge1xuICAgIGNvbG9yOiAjNTY1YzYyOyB9XG4gIC50aGVtZS13aGl0ZSBpbnB1dFt0eXBlPSdyYWRpbyddLnN0eWxlLXJhZGlvICsgbGFiZWwge1xuICAgIGNvbG9yOiAjYTBhNWFiOyB9XG5cbmlucHV0W3R5cGU9J3JhZGlvJ10uc3R5bGUtcmFkaW86bm90KGNoZWNrZWQpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvcGFjaXR5OiAwOyB9XG4gIGlucHV0W3R5cGU9J3JhZGlvJ10uc3R5bGUtcmFkaW86bm90KGNoZWNrZWQpICsgbGFiZWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBpbnB1dFt0eXBlPSdyYWRpbyddLnN0eWxlLXJhZGlvOm5vdChjaGVja2VkKSArIGxhYmVsOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC43cmVtO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHdpZHRoOiAxLjRyZW07XG4gICAgaGVpZ2h0OiAxLjRyZW07IH1cbiAgICAudGhlbWUtZGFyayBpbnB1dFt0eXBlPSdyYWRpbyddLnN0eWxlLXJhZGlvOm5vdChjaGVja2VkKSArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBib3JkZXI6IDAuMXJlbSBzb2xpZCAjNGRiMWZmOyB9XG4gICAgLnRoZW1lLWdyYXkgaW5wdXRbdHlwZT0ncmFkaW8nXS5zdHlsZS1yYWRpbzpub3QoY2hlY2tlZCkgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgYm9yZGVyOiAwLjFyZW0gc29saWQgIzQyYTVmNTsgfVxuICAgIC50aGVtZS13aGl0ZSBpbnB1dFt0eXBlPSdyYWRpbyddLnN0eWxlLXJhZGlvOm5vdChjaGVja2VkKSArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBib3JkZXI6IDAuMXJlbSBzb2xpZCAjMmM5NWYxOyB9XG4gIGlucHV0W3R5cGU9J3JhZGlvJ10uc3R5bGUtcmFkaW86bm90KGNoZWNrZWQpICsgbGFiZWw6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDFyZW07XG4gICAgbGVmdDogMC4zcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHdpZHRoOiAwLjhyZW07XG4gICAgaGVpZ2h0OiAwLjhyZW07IH1cbiAgICAudGhlbWUtZGFyayBpbnB1dFt0eXBlPSdyYWRpbyddLnN0eWxlLXJhZGlvOm5vdChjaGVja2VkKSArIGxhYmVsOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZGIxZmY7IH1cbiAgICAudGhlbWUtZ3JheSBpbnB1dFt0eXBlPSdyYWRpbyddLnN0eWxlLXJhZGlvOm5vdChjaGVja2VkKSArIGxhYmVsOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0MmE1ZjU7IH1cbiAgICAudGhlbWUtd2hpdGUgaW5wdXRbdHlwZT0ncmFkaW8nXS5zdHlsZS1yYWRpbzpub3QoY2hlY2tlZCkgKyBsYWJlbDphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmM5NWYxOyB9XG5cbmlucHV0W3R5cGU9J3JhZGlvJ10uc3R5bGUtcmFkaW86Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgb3BhY2l0eTogMTsgfVxuXG5pbnB1dFt0eXBlPSdjaGVja2JveCddLnN0eWxlLWNoZWNrYm94ICsgbGFiZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBhZGRpbmctbGVmdDogMy42cmVtO1xuICAtd2Via2l0LXRvdWNoLWNvbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAudGhlbWUtZGFyayBpbnB1dFt0eXBlPSdjaGVja2JveCddLnN0eWxlLWNoZWNrYm94ICsgbGFiZWwge1xuICAgIGNvbG9yOiAjNTU2NTc2OyB9XG4gIC50aGVtZS1ncmF5IGlucHV0W3R5cGU9J2NoZWNrYm94J10uc3R5bGUtY2hlY2tib3ggKyBsYWJlbCB7XG4gICAgY29sb3I6ICM1NjVjNjI7IH1cbiAgLnRoZW1lLXdoaXRlIGlucHV0W3R5cGU9J2NoZWNrYm94J10uc3R5bGUtY2hlY2tib3ggKyBsYWJlbCB7XG4gICAgY29sb3I6ICNhMGE1YWI7IH1cblxuaW5wdXRbdHlwZT0nY2hlY2tib3gnXS5zdHlsZS1jaGVja2JveDpub3QoY2hlY2tlZCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAxLjZyZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIGlucHV0W3R5cGU9J2NoZWNrYm94J10uc3R5bGUtY2hlY2tib3g6bm90KGNoZWNrZWQpICsgbGFiZWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBpbnB1dFt0eXBlPSdjaGVja2JveCddLnN0eWxlLWNoZWNrYm94Om5vdChjaGVja2VkKSArIGxhYmVsOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDEuNnJlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgd2lkdGg6IDEuNHJlbTtcbiAgICBoZWlnaHQ6IDEuNHJlbTsgfVxuICAgIC50aGVtZS1kYXJrIGlucHV0W3R5cGU9J2NoZWNrYm94J10uc3R5bGUtY2hlY2tib3g6bm90KGNoZWNrZWQpICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkICM0ZGIxZmY7IH1cbiAgICAudGhlbWUtZ3JheSBpbnB1dFt0eXBlPSdjaGVja2JveCddLnN0eWxlLWNoZWNrYm94Om5vdChjaGVja2VkKSArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBib3JkZXI6IDAuMXJlbSBzb2xpZCAjNDJhNWY1OyB9XG4gICAgLnRoZW1lLXdoaXRlIGlucHV0W3R5cGU9J2NoZWNrYm94J10uc3R5bGUtY2hlY2tib3g6bm90KGNoZWNrZWQpICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkICMyYzk1ZjE7IH1cblxuaW5wdXRbdHlwZT0nY2hlY2tib3gnXS5zdHlsZS1jaGVja2JveDpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogdXJsKH5zcmMvYXNzZXRzL2ljb25zL2NvbXBsZXRlLXRlc3R3YWxsZXQuc3ZnKTsgfVxuICAudGhlbWUtZGFyayBpbnB1dFt0eXBlPSdjaGVja2JveCddLnN0eWxlLWNoZWNrYm94OmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZGIxZmY7IH1cbiAgLnRoZW1lLWdyYXkgaW5wdXRbdHlwZT0nY2hlY2tib3gnXS5zdHlsZS1jaGVja2JveDpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1OyB9XG4gIC50aGVtZS13aGl0ZSBpbnB1dFt0eXBlPSdjaGVja2JveCddLnN0eWxlLWNoZWNrYm94OmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyYzk1ZjE7IH1cblxuLnRoZW1lLWRhcmsgLnN3aXRjaCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7IH1cblxuLnRoZW1lLWdyYXkgLnN3aXRjaCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7IH1cblxuLnRoZW1lLXdoaXRlIC5zd2l0Y2gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS1kYXJrIC5zd2l0Y2ggLmNpcmNsZS5vbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZGIxZmY7IH1cblxuLnRoZW1lLWdyYXkgLnN3aXRjaCAuY2lyY2xlLm9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyYTVmNTsgfVxuXG4udGhlbWUtd2hpdGUgLnN3aXRjaCAuY2lyY2xlLm9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJjOTVmMTsgfVxuXG4udGhlbWUtZGFyayAuc3dpdGNoIC5jaXJjbGUub2ZmIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NjU3NjsgfVxuXG4udGhlbWUtZ3JheSAuc3dpdGNoIC5jaXJjbGUub2ZmIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU2NWM2MjsgfVxuXG4udGhlbWUtd2hpdGUgLnN3aXRjaCAuY2lyY2xlLm9mZiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhMGE1YWI7IH1cblxuLnRhYmxlLXRvb2x0aXAge1xuICBwYWRkaW5nOiAxcmVtIDJyZW07IH1cbiAgLnRoZW1lLWRhcmsgLnRhYmxlLXRvb2x0aXAge1xuICAgIGJhY2tncm91bmQ6ICM0MjUwNWY7XG4gICAgYm94LXNoYWRvdzogMCAwIDFyZW0gcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gIC50aGVtZS1ncmF5IC50YWJsZS10b29sdGlwIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2U0NjRjO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxcmVtIHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAudGhlbWUtd2hpdGUgLnRhYmxlLXRvb2x0aXAge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMCAwIDFyZW0gcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjUpO1xuICAgIGNvbG9yOiAjNDM0NTRiOyB9XG4gIC50YWJsZS10b29sdGlwIC50b29sdGlwLWlubmVyIHtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBsaW5lLWhlaWdodDogMS44cmVtO1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsgfVxuICAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07IH1cbiAgICAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLXRvcDphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtMXJlbTtcbiAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMC41cmVtKTtcbiAgICAgIGJvcmRlci13aWR0aDogMC41cmVtO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfVxuICAgICAgLnRoZW1lLWRhcmsgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC10b3A6YWZ0ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICM0MjUwNWYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC50aGVtZS1ncmF5IC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtdG9wOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2U0NjRjIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gICAgICAudGhlbWUtd2hpdGUgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC10b3A6YWZ0ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICNmZmZmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC10b3AtbGVmdCB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07IH1cbiAgICAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLXRvcC1sZWZ0OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC0xcmVtO1xuICAgICAgbGVmdDogMC43cmVtO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwLjVyZW07XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkOyB9XG4gICAgICAudGhlbWUtZGFyayAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLXRvcC1sZWZ0OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNDI1MDVmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM0MjUwNWY7IH1cbiAgICAgIC50aGVtZS1ncmF5IC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtdG9wLWxlZnQ6YWZ0ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICMzZTQ2NGMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzNlNDY0YzsgfVxuICAgICAgLnRoZW1lLXdoaXRlIC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtdG9wLWxlZnQ6YWZ0ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICNmZmZmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZmZmZjsgfVxuICAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLXRvcC1yaWdodCB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07IH1cbiAgICAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLXRvcC1yaWdodDphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtMXJlbTtcbiAgICAgIHJpZ2h0OiAwLjdyZW07XG4gICAgICBib3JkZXItd2lkdGg6IDAuNXJlbTtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7IH1cbiAgICAgIC50aGVtZS1kYXJrIC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtdG9wLXJpZ2h0OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNDI1MDVmICM0MjUwNWYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC50aGVtZS1ncmF5IC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtdG9wLXJpZ2h0OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2U0NjRjICMzZTQ2NGMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC50aGVtZS13aGl0ZSAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLXRvcC1yaWdodDphZnRlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZiAjZmZmZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtYm90dG9tIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gICAgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC1ib3R0b206YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0xcmVtO1xuICAgICAgbGVmdDogY2FsYyg1MCUgLSAwLjVyZW0pO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwLjVyZW07XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkOyB9XG4gICAgICAudGhlbWUtZGFyayAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLWJvdHRvbTpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM0MjUwNWYgdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC50aGVtZS1ncmF5IC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtYm90dG9tOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzNlNDY0YyB0cmFuc3BhcmVudDsgfVxuICAgICAgLnRoZW1lLXdoaXRlIC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtYm90dG9tOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZmZmZiB0cmFuc3BhcmVudDsgfVxuICAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLWJvdHRvbS1sZWZ0IHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gICAgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC1ib3R0b20tbGVmdDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTFyZW07XG4gICAgICBsZWZ0OiAwLjdyZW07XG4gICAgICBib3JkZXItd2lkdGg6IDAuNXJlbTtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7IH1cbiAgICAgIC50aGVtZS1kYXJrIC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtYm90dG9tLWxlZnQ6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjNDI1MDVmICM0MjUwNWY7IH1cbiAgICAgIC50aGVtZS1ncmF5IC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtYm90dG9tLWxlZnQ6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjM2U0NjRjICMzZTQ2NGM7IH1cbiAgICAgIC50aGVtZS13aGl0ZSAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLWJvdHRvbS1sZWZ0OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZmZmZiAjZmZmZmZmOyB9XG4gIC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtYm90dG9tLXJpZ2h0IHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gICAgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC1ib3R0b20tcmlnaHQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0xcmVtO1xuICAgICAgcmlnaHQ6IDAuN3JlbTtcbiAgICAgIGJvcmRlci13aWR0aDogMC41cmVtO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfVxuICAgICAgLnRoZW1lLWRhcmsgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC1ib3R0b20tcmlnaHQ6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjNDI1MDVmICM0MjUwNWYgdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC50aGVtZS1ncmF5IC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtYm90dG9tLXJpZ2h0OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzNlNDY0YyAjM2U0NjRjIHRyYW5zcGFyZW50OyB9XG4gICAgICAudGhlbWUtd2hpdGUgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC1ib3R0b20tcmlnaHQ6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjZmZmZmZmICNmZmZmZmYgdHJhbnNwYXJlbnQ7IH1cbiAgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW07IH1cbiAgICAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLWxlZnQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAwLjVyZW0pO1xuICAgICAgcmlnaHQ6IC0xcmVtO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwLjVyZW07XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkOyB9XG4gICAgICAudGhlbWUtZGFyayAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLWxlZnQ6YWZ0ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM0MjUwNWY7IH1cbiAgICAgIC50aGVtZS1ncmF5IC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtbGVmdDphZnRlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzNlNDY0YzsgfVxuICAgICAgLnRoZW1lLXdoaXRlIC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtbGVmdDphZnRlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZmZmZjsgfVxuICAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLXJpZ2h0IHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAgIC50YWJsZS10b29sdGlwLm5nLXRvb2x0aXAtcmlnaHQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gMC41cmVtKTtcbiAgICAgIGxlZnQ6IC0xcmVtO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwLjVyZW07XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkOyB9XG4gICAgICAudGhlbWUtZGFyayAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLXJpZ2h0OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzQyNTA1ZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAgICAgLnRoZW1lLWdyYXkgLnRhYmxlLXRvb2x0aXAubmctdG9vbHRpcC1yaWdodDpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMzZTQ2NGMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC50aGVtZS13aGl0ZSAudGFibGUtdG9vbHRpcC5uZy10b29sdGlwLXJpZ2h0OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2ZmZmZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuXG4udGFibGUtdG9vbHRpcC1kaW1lbnNpb25zIC50b29sdGlwLWlubmVyIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG1heC13aWR0aDogMjByZW07XG4gIG1heC1oZWlnaHQ6IDEwcmVtOyB9XG5cbi5iYWxhbmNlLXRvb2x0aXAge1xuICBwYWRkaW5nOiAxLjNyZW07IH1cbiAgLnRoZW1lLWRhcmsgLmJhbGFuY2UtdG9vbHRpcCB7XG4gICAgYmFja2dyb3VuZDogIzQyNTA1ZjtcbiAgICBib3gtc2hhZG93OiAwIDAgMXJlbSByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgY29sb3I6ICNlMGUwZTA7IH1cbiAgLnRoZW1lLWdyYXkgLmJhbGFuY2UtdG9vbHRpcCB7XG4gICAgYmFja2dyb3VuZDogIzNlNDY0YztcbiAgICBib3gtc2hhZG93OiAwIDAgMXJlbSByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgY29sb3I6ICNlMGUwZTA7IH1cbiAgLnRoZW1lLXdoaXRlIC5iYWxhbmNlLXRvb2x0aXAge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMCAwIDFyZW0gcmdiYSgxMjAsIDEyMCwgMTIwLCAwLjUpO1xuICAgIGNvbG9yOiAjNDM0NTRiOyB9XG4gIC5iYWxhbmNlLXRvb2x0aXAgLnRvb2x0aXAtaW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmb250LXNpemU6IDEuM3JlbTsgfVxuICAgIC5iYWxhbmNlLXRvb2x0aXAgLnRvb2x0aXAtaW5uZXIgLmF2YWlsYWJsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjdyZW07IH1cbiAgICAgIC5iYWxhbmNlLXRvb2x0aXAgLnRvb2x0aXAtaW5uZXIgLmF2YWlsYWJsZSBiIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5iYWxhbmNlLXRvb2x0aXAgLnRvb2x0aXAtaW5uZXIgLmxvY2tlZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjdyZW07IH1cbiAgICAgIC5iYWxhbmNlLXRvb2x0aXAgLnRvb2x0aXAtaW5uZXIgLmxvY2tlZCBiIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5iYWxhbmNlLXRvb2x0aXAgLnRvb2x0aXAtaW5uZXIgLmxpbmsge1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAudGhlbWUtZGFyayAuYmFsYW5jZS10b29sdGlwIC50b29sdGlwLWlubmVyIC5saW5rIHtcbiAgICAgICAgY29sb3I6ICM0ZGIxZmY7IH1cbiAgICAgIC50aGVtZS1ncmF5IC5iYWxhbmNlLXRvb2x0aXAgLnRvb2x0aXAtaW5uZXIgLmxpbmsge1xuICAgICAgICBjb2xvcjogIzQyYTVmNTsgfVxuICAgICAgLnRoZW1lLXdoaXRlIC5iYWxhbmNlLXRvb2x0aXAgLnRvb2x0aXAtaW5uZXIgLmxpbmsge1xuICAgICAgICBjb2xvcjogIzJjOTVmMTsgfVxuICAuYmFsYW5jZS10b29sdGlwLm5nLXRvb2x0aXAtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTsgfVxuICAuYmFsYW5jZS10b29sdGlwLm5nLXRvb2x0aXAtYm90dG9tIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gIC5iYWxhbmNlLXRvb2x0aXAubmctdG9vbHRpcC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW07IH1cbiAgLmJhbGFuY2UtdG9vbHRpcC5uZy10b29sdGlwLXJpZ2h0IHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuXG4uYWNjb3VudC10b29sdGlwIC50b29sdGlwLWlubmVyIHtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgbWF4LXdpZHRoOiAxOHJlbTsgfVxuXG4uY29tbWVudC10b29sdGlwIC50b29sdGlwLWlubmVyIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gIG1heC13aWR0aDogNTByZW07XG4gIG1heC1oZWlnaHQ6IDI1cmVtOyB9XG5cbi51cGRhdGUtdG9vbHRpcCB7XG4gIHBhZGRpbmc6IDEuNXJlbTsgfVxuICAudGhlbWUtZGFyayAudXBkYXRlLXRvb2x0aXAge1xuICAgIGJhY2tncm91bmQ6ICM0MjUwNWY7XG4gICAgYm94LXNoYWRvdzogMCAwIDFyZW0gcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gIC50aGVtZS1ncmF5IC51cGRhdGUtdG9vbHRpcCB7XG4gICAgYmFja2dyb3VuZDogIzNlNDY0YztcbiAgICBib3gtc2hhZG93OiAwIDAgMXJlbSByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgY29sb3I6ICNlMGUwZTA7IH1cbiAgLnRoZW1lLXdoaXRlIC51cGRhdGUtdG9vbHRpcCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAwIDAgMXJlbSByZ2JhKDEyMCwgMTIwLCAxMjAsIDAuNSk7XG4gICAgY29sb3I6ICM0MzQ1NGI7IH1cbiAgLnRoZW1lLWRhcmsgLnVwZGF0ZS10b29sdGlwLmltcG9ydGFudCB7XG4gICAgYmFja2dyb3VuZDogIzVmMmIxMTtcbiAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAudGhlbWUtZ3JheSAudXBkYXRlLXRvb2x0aXAuaW1wb3J0YW50IHtcbiAgICBiYWNrZ3JvdW5kOiAjNTUyNDBkO1xuICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gIC50aGVtZS13aGl0ZSAudXBkYXRlLXRvb2x0aXAuaW1wb3J0YW50IHtcbiAgICBiYWNrZ3JvdW5kOiAjZWY2YzAwO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC50aGVtZS1kYXJrIC51cGRhdGUtdG9vbHRpcC5pbXBvcnRhbnQubmctdG9vbHRpcC1sZWZ0LWJvdHRvbTphZnRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjNWYyYjExICM1ZjJiMTE7IH1cbiAgLnRoZW1lLWdyYXkgLnVwZGF0ZS10b29sdGlwLmltcG9ydGFudC5uZy10b29sdGlwLWxlZnQtYm90dG9tOmFmdGVyIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM1NTI0MGQgIzU1MjQwZDsgfVxuICAudGhlbWUtd2hpdGUgLnVwZGF0ZS10b29sdGlwLmltcG9ydGFudC5uZy10b29sdGlwLWxlZnQtYm90dG9tOmFmdGVyIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNlZjZjMDAgI2VmNmMwMDsgfVxuICAudGhlbWUtZGFyayAudXBkYXRlLXRvb2x0aXAuaW1wb3J0YW50Lm5nLXRvb2x0aXAtcmlnaHQtYm90dG9tOmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjNWYyYjExICM1ZjJiMTEgdHJhbnNwYXJlbnQ7IH1cbiAgLnRoZW1lLWdyYXkgLnVwZGF0ZS10b29sdGlwLmltcG9ydGFudC5uZy10b29sdGlwLXJpZ2h0LWJvdHRvbTpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzU1MjQwZCAjNTUyNDBkIHRyYW5zcGFyZW50OyB9XG4gIC50aGVtZS13aGl0ZSAudXBkYXRlLXRvb2x0aXAuaW1wb3J0YW50Lm5nLXRvb2x0aXAtcmlnaHQtYm90dG9tOmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjZWY2YzAwICNlZjZjMDAgdHJhbnNwYXJlbnQ7IH1cbiAgLnVwZGF0ZS10b29sdGlwLmNyaXRpY2FsIHtcbiAgICBwYWRkaW5nOiAyLjVyZW07IH1cbiAgICAudGhlbWUtZGFyayAudXBkYXRlLXRvb2x0aXAuY3JpdGljYWwge1xuICAgICAgYmFja2dyb3VuZDogIzVmMWQxZDtcbiAgICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gICAgLnRoZW1lLWdyYXkgLnVwZGF0ZS10b29sdGlwLmNyaXRpY2FsIHtcbiAgICAgIGJhY2tncm91bmQ6ICM0YzE5MTk7XG4gICAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAgIC50aGVtZS13aGl0ZSAudXBkYXRlLXRvb2x0aXAuY3JpdGljYWwge1xuICAgICAgYmFja2dyb3VuZDogI2U1MzkzNTtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLnVwZGF0ZS10b29sdGlwLmNyaXRpY2FsIC50b29sdGlwLWlubmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC50aGVtZS1kYXJrIC51cGRhdGUtdG9vbHRpcC5jcml0aWNhbC5uZy10b29sdGlwLWxlZnQtYm90dG9tOmFmdGVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzVmMWQxZCAjNWYxZDFkOyB9XG4gICAgLnRoZW1lLWdyYXkgLnVwZGF0ZS10b29sdGlwLmNyaXRpY2FsLm5nLXRvb2x0aXAtbGVmdC1ib3R0b206YWZ0ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjNGMxOTE5ICM0YzE5MTk7IH1cbiAgICAudGhlbWUtd2hpdGUgLnVwZGF0ZS10b29sdGlwLmNyaXRpY2FsLm5nLXRvb2x0aXAtbGVmdC1ib3R0b206YWZ0ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZTUzOTM1ICNlNTM5MzU7IH1cbiAgICAudGhlbWUtZGFyayAudXBkYXRlLXRvb2x0aXAuY3JpdGljYWwubmctdG9vbHRpcC1yaWdodC1ib3R0b206YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzVmMWQxZCAjNWYxZDFkIHRyYW5zcGFyZW50OyB9XG4gICAgLnRoZW1lLWdyYXkgLnVwZGF0ZS10b29sdGlwLmNyaXRpY2FsLm5nLXRvb2x0aXAtcmlnaHQtYm90dG9tOmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICM0YzE5MTkgIzRjMTkxOSB0cmFuc3BhcmVudDsgfVxuICAgIC50aGVtZS13aGl0ZSAudXBkYXRlLXRvb2x0aXAuY3JpdGljYWwubmctdG9vbHRpcC1yaWdodC1ib3R0b206YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2U1MzkzNSAjZTUzOTM1IHRyYW5zcGFyZW50OyB9XG4gIC51cGRhdGUtdG9vbHRpcCAudG9vbHRpcC1pbm5lciB7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuOHJlbTtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7IH1cbiAgICAudXBkYXRlLXRvb2x0aXAgLnRvb2x0aXAtaW5uZXIgLnN0YW5kYXJkLXVwZGF0ZSB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjdyZW07IH1cbiAgICAgIC50aGVtZS1kYXJrIC51cGRhdGUtdG9vbHRpcCAudG9vbHRpcC1pbm5lciAuc3RhbmRhcmQtdXBkYXRlIHtcbiAgICAgICAgY29sb3I6ICM0ZGIxZmY7IH1cbiAgICAgIC50aGVtZS1ncmF5IC51cGRhdGUtdG9vbHRpcCAudG9vbHRpcC1pbm5lciAuc3RhbmRhcmQtdXBkYXRlIHtcbiAgICAgICAgY29sb3I6ICM0MmE1ZjU7IH1cbiAgICAgIC50aGVtZS13aGl0ZSAudXBkYXRlLXRvb2x0aXAgLnRvb2x0aXAtaW5uZXIgLnN0YW5kYXJkLXVwZGF0ZSB7XG4gICAgICAgIGNvbG9yOiAjMmM5NWYxOyB9XG4gICAgLnVwZGF0ZS10b29sdGlwIC50b29sdGlwLWlubmVyIC5pbXBvcnRhbnQtdXBkYXRlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuN3JlbTsgfVxuICAgICAgLnRoZW1lLWRhcmsgLnVwZGF0ZS10b29sdGlwIC50b29sdGlwLWlubmVyIC5pbXBvcnRhbnQtdXBkYXRlIHtcbiAgICAgICAgY29sb3I6ICNmZjZmMDA7IH1cbiAgICAgIC50aGVtZS1ncmF5IC51cGRhdGUtdG9vbHRpcCAudG9vbHRpcC1pbm5lciAuaW1wb3J0YW50LXVwZGF0ZSB7XG4gICAgICAgIGNvbG9yOiAjZmY2ZjAwOyB9XG4gICAgICAudGhlbWUtd2hpdGUgLnVwZGF0ZS10b29sdGlwIC50b29sdGlwLWlubmVyIC5pbXBvcnRhbnQtdXBkYXRlIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAudXBkYXRlLXRvb2x0aXAgLnRvb2x0aXAtaW5uZXIgLmNyaXRpY2FsLXVwZGF0ZSB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjdyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAudXBkYXRlLXRvb2x0aXAgLnRvb2x0aXAtaW5uZXIgLndyb25nLXRpbWUge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMi43cmVtOyB9XG4gICAgICAudGhlbWUtZGFyayAudXBkYXRlLXRvb2x0aXAgLnRvb2x0aXAtaW5uZXIgLndyb25nLXRpbWUge1xuICAgICAgICBjb2xvcjogI2ZmNmYwMDsgfVxuICAgICAgLnRoZW1lLWdyYXkgLnVwZGF0ZS10b29sdGlwIC50b29sdGlwLWlubmVyIC53cm9uZy10aW1lIHtcbiAgICAgICAgY29sb3I6ICNmZjZmMDA7IH1cbiAgICAgIC50aGVtZS13aGl0ZSAudXBkYXRlLXRvb2x0aXAgLnRvb2x0aXAtaW5uZXIgLndyb25nLXRpbWUge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC51cGRhdGUtdG9vbHRpcCAudG9vbHRpcC1pbm5lciAuaWNvbiB7XG4gICAgICBtYXJnaW46IDEuNXJlbSAwO1xuICAgICAgd2lkdGg6IDVyZW07XG4gICAgICBoZWlnaHQ6IDVyZW07IH1cbiAgICAgIC50aGVtZS1kYXJrIC51cGRhdGUtdG9vbHRpcCAudG9vbHRpcC1pbm5lciAuaWNvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjUyNTI7IH1cbiAgICAgIC50aGVtZS1ncmF5IC51cGRhdGUtdG9vbHRpcCAudG9vbHRpcC1pbm5lciAuaWNvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjUyNTI7IH1cbiAgICAgIC50aGVtZS13aGl0ZSAudXBkYXRlLXRvb2x0aXAgLnRvb2x0aXAtaW5uZXIgLmljb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIC51cGRhdGUtdG9vbHRpcC5uZy10b29sdGlwLWxlZnQtYm90dG9tIHtcbiAgICBtYXJnaW4tbGVmdDogLTEuNXJlbTsgfVxuICAgIC51cGRhdGUtdG9vbHRpcC5uZy10b29sdGlwLWxlZnQtYm90dG9tOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDAuNnJlbTtcbiAgICAgIHJpZ2h0OiAtMXJlbTtcbiAgICAgIGJvcmRlci13aWR0aDogMC41cmVtO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfVxuICAgICAgLnRoZW1lLWRhcmsgLnVwZGF0ZS10b29sdGlwLm5nLXRvb2x0aXAtbGVmdC1ib3R0b206YWZ0ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM0MjUwNWYgIzQyNTA1ZjsgfVxuICAgICAgLnRoZW1lLWdyYXkgLnVwZGF0ZS10b29sdGlwLm5nLXRvb2x0aXAtbGVmdC1ib3R0b206YWZ0ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMzZTQ2NGMgIzNlNDY0YzsgfVxuICAgICAgLnRoZW1lLXdoaXRlIC51cGRhdGUtdG9vbHRpcC5uZy10b29sdGlwLWxlZnQtYm90dG9tOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmZmZmZmICNmZmZmZmY7IH1cbiAgLnVwZGF0ZS10b29sdGlwLm5nLXRvb2x0aXAtcmlnaHQtYm90dG9tIHtcbiAgICBtYXJnaW4tbGVmdDogMS41cmVtOyB9XG4gICAgLnVwZGF0ZS10b29sdGlwLm5nLXRvb2x0aXAtcmlnaHQtYm90dG9tOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwLjZyZW07XG4gICAgICBsZWZ0OiAtMXJlbTtcbiAgICAgIGJvcmRlci13aWR0aDogMC41cmVtO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfVxuICAgICAgLnRoZW1lLWRhcmsgLnVwZGF0ZS10b29sdGlwLm5nLXRvb2x0aXAtcmlnaHQtYm90dG9tOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzQyNTA1ZiAjNDI1MDVmIHRyYW5zcGFyZW50OyB9XG4gICAgICAudGhlbWUtZ3JheSAudXBkYXRlLXRvb2x0aXAubmctdG9vbHRpcC1yaWdodC1ib3R0b206YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjM2U0NjRjICMzZTQ2NGMgdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC50aGVtZS13aGl0ZSAudXBkYXRlLXRvb2x0aXAubmctdG9vbHRpcC1yaWdodC1ib3R0b206YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjZmZmZmZmICNmZmZmZmYgdHJhbnNwYXJlbnQ7IH1cblxuLm5neC1jb250ZXh0bWVudSAuZHJvcGRvd24tbWVudSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuICAudGhlbWUtZGFyayAubmd4LWNvbnRleHRtZW51IC5kcm9wZG93bi1tZW51IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmIzNjQ0O1xuICAgIGJveC1zaGFkb3c6IDAgMCAxcmVtIHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICAudGhlbWUtZ3JheSAubmd4LWNvbnRleHRtZW51IC5kcm9wZG93bi1tZW51IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjkyZDMxO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxcmVtIHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICAudGhlbWUtd2hpdGUgLm5neC1jb250ZXh0bWVudSAuZHJvcGRvd24tbWVudSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTBlMDtcbiAgICBib3gtc2hhZG93OiAwIDAgMXJlbSByZ2JhKDEyMCwgMTIwLCAxMjAsIDAuNSk7IH1cblxuLm5neC1jb250ZXh0bWVudSBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogT3BlblNhbnMsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLm5neC1jb250ZXh0bWVudSBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuNWVtIDFlbTsgfVxuICAudGhlbWUtZGFyayAubmd4LWNvbnRleHRtZW51IGEge1xuICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gIC50aGVtZS1ncmF5IC5uZ3gtY29udGV4dG1lbnUgYSB7XG4gICAgY29sb3I6ICNlMGUwZTA7IH1cbiAgLnRoZW1lLXdoaXRlIC5uZ3gtY29udGV4dG1lbnUgYSB7XG4gICAgY29sb3I6ICM0MzQ1NGI7IH1cbiAgLnRoZW1lLWRhcmsgLm5neC1jb250ZXh0bWVudSBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU2NTc2O1xuICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gIC50aGVtZS1ncmF5IC5uZ3gtY29udGV4dG1lbnUgYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzUxNTk2MDtcbiAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAudGhlbWUtd2hpdGUgLm5neC1jb250ZXh0bWVudSBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGNvbG9yOiAjNDM0NTRiOyB9XG5cbi5uZy1zZWxlY3QuY3VzdG9tLXNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5uZy1zZWxlY3QuY3VzdG9tLXNlbGVjdC5uZy1zZWxlY3Qtc2luZ2xlIC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLXZhbHVlIHtcbiAgICBsaW5lLWhlaWdodDogMS44cmVtOyB9XG4gIC5uZy1zZWxlY3QuY3VzdG9tLXNlbGVjdCAubmctc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcGFkZGluZzogMCAxcmVtO1xuICAgIGhlaWdodDogNC4ycmVtOyB9XG4gICAgLnRoZW1lLWRhcmsgLm5nLXNlbGVjdC5jdXN0b20tc2VsZWN0IC5uZy1zZWxlY3QtY29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzFlMjc7XG4gICAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAgIC50aGVtZS1ncmF5IC5uZy1zZWxlY3QuY3VzdG9tLXNlbGVjdCAubmctc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjkyZDMxO1xuICAgICAgY29sb3I6ICNlMGUwZTA7IH1cbiAgICAudGhlbWUtd2hpdGUgLm5nLXNlbGVjdC5jdXN0b20tc2VsZWN0IC5uZy1zZWxlY3QtY29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gICAgICBjb2xvcjogIzQzNDU0YjsgfVxuICAgIC5uZy1zZWxlY3QuY3VzdG9tLXNlbGVjdCAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5uZy1zZWxlY3QuY3VzdG9tLXNlbGVjdCAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy1pbnB1dCB7XG4gICAgICAgIHRvcDogYXV0bzsgfVxuICAubmctc2VsZWN0LmN1c3RvbS1zZWxlY3QgLm5nLWRyb3Bkb3duLXBhbmVsIHtcbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAudGhlbWUtZGFyayAubmctc2VsZWN0LmN1c3RvbS1zZWxlY3QgLm5nLWRyb3Bkb3duLXBhbmVsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzFlMjc7IH1cbiAgICAudGhlbWUtZ3JheSAubmctc2VsZWN0LmN1c3RvbS1zZWxlY3QgLm5nLWRyb3Bkb3duLXBhbmVsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyOTJkMzE7IH1cbiAgICAudGhlbWUtd2hpdGUgLm5nLXNlbGVjdC5jdXN0b20tc2VsZWN0IC5uZy1kcm9wZG93bi1wYW5lbCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XG4gICAgLm5nLXNlbGVjdC5jdXN0b20tc2VsZWN0IC5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGlvbiB7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIHBhZGRpbmc6IDFyZW07IH1cbiAgICAgIC50aGVtZS1kYXJrIC5uZy1zZWxlY3QuY3VzdG9tLXNlbGVjdCAubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1zIC5uZy1vcHRpb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTcxZTI3O1xuICAgICAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAgICAgLnRoZW1lLWdyYXkgLm5nLXNlbGVjdC5jdXN0b20tc2VsZWN0IC5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyOTJkMzE7XG4gICAgICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gICAgICAudGhlbWUtd2hpdGUgLm5nLXNlbGVjdC5jdXN0b20tc2VsZWN0IC5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gICAgICAgIGNvbG9yOiAjNDM0NTRiOyB9XG4gICAgICAudGhlbWUtZGFyayAubmctc2VsZWN0LmN1c3RvbS1zZWxlY3QgLm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uLm5nLW9wdGlvbi1tYXJrZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDU4LCA2OSwgODUsIDAuNSk7XG4gICAgICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gICAgICAudGhlbWUtZ3JheSAubmctc2VsZWN0LmN1c3RvbS1zZWxlY3QgLm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uLm5nLW9wdGlvbi1tYXJrZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDU4LCA2MiwgNjYsIDAuNSk7XG4gICAgICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gICAgICAudGhlbWUtd2hpdGUgLm5nLXNlbGVjdC5jdXN0b20tc2VsZWN0IC5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGlvbi5uZy1vcHRpb24tbWFya2VkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDAsIDI0MCwgMjQwLCAwLjUpO1xuICAgICAgICBjb2xvcjogIzQzNDU0YjsgfVxuICAgICAgLnRoZW1lLWRhcmsgLm5nLXNlbGVjdC5jdXN0b20tc2VsZWN0IC5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGlvbi5uZy1vcHRpb24tc2VsZWN0ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQzLCA1NCwgNjgsIDAuNSk7XG4gICAgICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gICAgICAudGhlbWUtZ3JheSAubmctc2VsZWN0LmN1c3RvbS1zZWxlY3QgLm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uLm5nLW9wdGlvbi1zZWxlY3RlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzcsIDQwLCA0MywgMC41KTtcbiAgICAgICAgY29sb3I6ICNlMGUwZTA7IH1cbiAgICAgIC50aGVtZS13aGl0ZSAubmctc2VsZWN0LmN1c3RvbS1zZWxlY3QgLm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uLm5nLW9wdGlvbi1zZWxlY3RlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjI0LCAyMjQsIDIyNCwgMC41KTtcbiAgICAgICAgY29sb3I6ICM0MzQ1NGI7IH1cbiAgICAubmctc2VsZWN0LmN1c3RvbS1zZWxlY3QgLm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtczo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICB3aWR0aDogMXJlbTtcbiAgICAgIGhlaWdodDogMXJlbTsgfVxuICAgIC5uZy1zZWxlY3QuY3VzdG9tLXNlbGVjdCAubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1zOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgIC5uZy1zZWxlY3QuY3VzdG9tLXNlbGVjdCAubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1zOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU2NTc2O1xuICAgICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAgIGJvcmRlcjogMC4yNXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTsgfVxuICAgIC5uZy1zZWxlY3QuY3VzdG9tLXNlbGVjdCAubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1zOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU2NTc2OyB9XG5cbi50aGVtZS1kYXJrIGFwcC1tb2RhbC1jb250YWluZXIgLm1vZGFsLCAudGhlbWUtZGFyayBhcHAtY29uZmlybS1tb2RhbCAubW9kYWwge1xuICBiYWNrZ3JvdW5kOiB1cmwofnNyYy9hc3NldHMvaW1hZ2VzL2JhY2tncm91bmQtZGFyay5wbmcpO1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtbW9kYWwtY29udGFpbmVyIC5tb2RhbCwgLnRoZW1lLWdyYXkgYXBwLWNvbmZpcm0tbW9kYWwgLm1vZGFsIHtcbiAgYmFja2dyb3VuZDogdXJsKH5zcmMvYXNzZXRzL2ltYWdlcy9iYWNrZ3JvdW5kLWdyYXkucG5nKTtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1tb2RhbC1jb250YWluZXIgLm1vZGFsLCAudGhlbWUtd2hpdGUgYXBwLWNvbmZpcm0tbW9kYWwgLm1vZGFsIHtcbiAgYmFja2dyb3VuZDogdXJsKH5zcmMvYXNzZXRzL2ltYWdlcy9iYWNrZ3JvdW5kLXdoaXRlLnBuZyk7XG4gIGNvbG9yOiAjNDM0NTRiOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1tb2RhbC1jb250YWluZXIgLm1vZGFsIC5jb250ZW50IC5pY29uLmVycm9yLCAudGhlbWUtZGFyayBhcHAtY29uZmlybS1tb2RhbCAubW9kYWwgLmNvbnRlbnQgLmljb24uZXJyb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1MjUyOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1tb2RhbC1jb250YWluZXIgLm1vZGFsIC5jb250ZW50IC5pY29uLmVycm9yLCAudGhlbWUtZ3JheSBhcHAtY29uZmlybS1tb2RhbCAubW9kYWwgLmNvbnRlbnQgLmljb24uZXJyb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1MjUyOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtbW9kYWwtY29udGFpbmVyIC5tb2RhbCAuY29udGVudCAuaWNvbi5lcnJvciwgLnRoZW1lLXdoaXRlIGFwcC1jb25maXJtLW1vZGFsIC5tb2RhbCAuY29udGVudCAuaWNvbi5lcnJvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjUyNTI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLW1vZGFsLWNvbnRhaW5lciAubW9kYWwgLmNvbnRlbnQgLmljb24uc3VjY2VzcywgLnRoZW1lLWRhcmsgYXBwLWNvbmZpcm0tbW9kYWwgLm1vZGFsIC5jb250ZW50IC5pY29uLnN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWNkYTlkOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1tb2RhbC1jb250YWluZXIgLm1vZGFsIC5jb250ZW50IC5pY29uLnN1Y2Nlc3MsIC50aGVtZS1ncmF5IGFwcC1jb25maXJtLW1vZGFsIC5tb2RhbCAuY29udGVudCAuaWNvbi5zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ3Y2Y4ZDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLW1vZGFsLWNvbnRhaW5lciAubW9kYWwgLmNvbnRlbnQgLmljb24uc3VjY2VzcywgLnRoZW1lLXdoaXRlIGFwcC1jb25maXJtLW1vZGFsIC5tb2RhbCAuY29udGVudCAuaWNvbi5zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ2YzE3MjsgfVxuXG4udGhlbWUtZGFyayBhcHAtbW9kYWwtY29udGFpbmVyIC5tb2RhbCAuY29udGVudCAuaWNvbi5pbmZvLCAudGhlbWUtZGFyayBhcHAtY29uZmlybS1tb2RhbCAubW9kYWwgLmNvbnRlbnQgLmljb24uaW5mbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZGIxZmY7IH1cblxuLnRoZW1lLWdyYXkgYXBwLW1vZGFsLWNvbnRhaW5lciAubW9kYWwgLmNvbnRlbnQgLmljb24uaW5mbywgLnRoZW1lLWdyYXkgYXBwLWNvbmZpcm0tbW9kYWwgLm1vZGFsIC5jb250ZW50IC5pY29uLmluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1OyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtbW9kYWwtY29udGFpbmVyIC5tb2RhbCAuY29udGVudCAuaWNvbi5pbmZvLCAudGhlbWUtd2hpdGUgYXBwLWNvbmZpcm0tbW9kYWwgLm1vZGFsIC5jb250ZW50IC5pY29uLmluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmM5NWYxOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1tb2RhbC1jb250YWluZXIgLm1vZGFsIC5hY3Rpb24tYnV0dG9uLCAudGhlbWUtZGFyayBhcHAtY29uZmlybS1tb2RhbCAubW9kYWwgLmFjdGlvbi1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRiMWZmO1xuICBjb2xvcjogIzExMTkyMTsgfVxuXG4udGhlbWUtZ3JheSBhcHAtbW9kYWwtY29udGFpbmVyIC5tb2RhbCAuYWN0aW9uLWJ1dHRvbiwgLnRoZW1lLWdyYXkgYXBwLWNvbmZpcm0tbW9kYWwgLm1vZGFsIC5hY3Rpb24tYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyYTVmNTtcbiAgY29sb3I6ICMxYTFhMWE7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1tb2RhbC1jb250YWluZXIgLm1vZGFsIC5hY3Rpb24tYnV0dG9uLCAudGhlbWUtd2hpdGUgYXBwLWNvbmZpcm0tbW9kYWwgLm1vZGFsIC5hY3Rpb24tYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJjOTVmMTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cblxuLnRoZW1lLWRhcmsgYXBwLW1vZGFsLWNvbnRhaW5lciAubW9kYWwgLmNsb3NlLWJ1dHRvbiAuaWNvbiwgLnRoZW1lLWRhcmsgYXBwLWNvbmZpcm0tbW9kYWwgLm1vZGFsIC5jbG9zZS1idXR0b24gLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU2NTc2OyB9XG5cbi50aGVtZS1ncmF5IGFwcC1tb2RhbC1jb250YWluZXIgLm1vZGFsIC5jbG9zZS1idXR0b24gLmljb24sIC50aGVtZS1ncmF5IGFwcC1jb25maXJtLW1vZGFsIC5tb2RhbCAuY2xvc2UtYnV0dG9uIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUxNTk2MDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLW1vZGFsLWNvbnRhaW5lciAubW9kYWwgLmNsb3NlLWJ1dHRvbiAuaWNvbiwgLnRoZW1lLXdoaXRlIGFwcC1jb25maXJtLW1vZGFsIC5tb2RhbCAuY2xvc2UtYnV0dG9uIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQzNDU0YjsgfVxuXG4udGhlbWUtZGFyayBhcHAtdHJhbnNhY3Rpb24tZGV0YWlscyAudGFibGUge1xuICBib3JkZXItdG9wOiAwLjJyZW0gc29saWQgIzJiMzY0NDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtdHJhbnNhY3Rpb24tZGV0YWlscyAudGFibGUge1xuICBib3JkZXItdG9wOiAwLjJyZW0gc29saWQgIzJmMzQzODsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXRyYW5zYWN0aW9uLWRldGFpbHMgLnRhYmxlIHtcbiAgYm9yZGVyLXRvcDogMC4ycmVtIHNvbGlkICNlYmViZWI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXRyYW5zYWN0aW9uLWRldGFpbHMgLnRhYmxlIC5yb3cgLmNlbGwubGFiZWwge1xuICBjb2xvcjogIzU1NjU3NjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtdHJhbnNhY3Rpb24tZGV0YWlscyAudGFibGUgLnJvdyAuY2VsbC5sYWJlbCB7XG4gIGNvbG9yOiAjNTY1YzYyOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtdHJhbnNhY3Rpb24tZGV0YWlscyAudGFibGUgLnJvdyAuY2VsbC5sYWJlbCB7XG4gIGNvbG9yOiAjYTBhNWFiOyB9XG5cbi50aGVtZS1kYXJrIGFwcC10cmFuc2FjdGlvbi1kZXRhaWxzIC50YWJsZSAucm93IC5jZWxsLnZhbHVlIHtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXRyYW5zYWN0aW9uLWRldGFpbHMgLnRhYmxlIC5yb3cgLmNlbGwudmFsdWUge1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXRyYW5zYWN0aW9uLWRldGFpbHMgLnRhYmxlIC5yb3cgLmNlbGwudmFsdWUge1xuICBjb2xvcjogIzQzNDU0YjsgfVxuXG4udGhlbWUtZGFyayBhcHAtdHJhbnNhY3Rpb24tZGV0YWlscyAudGFibGUgLnJvdyAuY2VsbC5rZXktdmFsdWUge1xuICBjb2xvcjogIzRkYjFmZjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtdHJhbnNhY3Rpb24tZGV0YWlscyAudGFibGUgLnJvdyAuY2VsbC5rZXktdmFsdWUge1xuICBjb2xvcjogIzQyYTVmNTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXRyYW5zYWN0aW9uLWRldGFpbHMgLnRhYmxlIC5yb3cgLmNlbGwua2V5LXZhbHVlIHtcbiAgY29sb3I6ICMyYzk1ZjE7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXByb2dyZXNzLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciB7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1wcm9ncmVzcy1jb250YWluZXIgLnByb2dyZXNzLWJhci1jb250YWluZXIge1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXByb2dyZXNzLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciB7XG4gIGNvbG9yOiAjNDM0NTRiOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1wcm9ncmVzcy1jb250YWluZXIgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDNmNGE7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXByb2dyZXNzLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM2M2EzZTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXByb2dyZXNzLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjZGNkYzsgfVxuXG4udGhlbWUtZGFyayBhcHAtcHJvZ3Jlc3MtY29udGFpbmVyIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIC5wcm9ncmVzcy1iYXIgLnByb2dyZXNzLWJhci1mdWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVjZGE5ZDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtcHJvZ3Jlc3MtY29udGFpbmVyIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIC5wcm9ncmVzcy1iYXIgLnByb2dyZXNzLWJhci1mdWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ3Y2Y4ZDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXByb2dyZXNzLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyIC5wcm9ncmVzcy1iYXItZnVsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NmMxNzI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLW9wZW4td2FsbGV0LW1vZGFsIC5tb2RhbCB7XG4gIGJhY2tncm91bmQ6IHVybCh+c3JjL2Fzc2V0cy9pbWFnZXMvYmFja2dyb3VuZC1kYXJrLnBuZyk7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1vcGVuLXdhbGxldC1tb2RhbCAubW9kYWwge1xuICBiYWNrZ3JvdW5kOiB1cmwofnNyYy9hc3NldHMvaW1hZ2VzL2JhY2tncm91bmQtZ3JheS5wbmcpO1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLW9wZW4td2FsbGV0LW1vZGFsIC5tb2RhbCB7XG4gIGJhY2tncm91bmQ6IHVybCh+c3JjL2Fzc2V0cy9pbWFnZXMvYmFja2dyb3VuZC13aGl0ZS5wbmcpO1xuICBjb2xvcjogIzQzNDU0YjsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2VuZC1tb2RhbCAubW9kYWwge1xuICBiYWNrZ3JvdW5kOiB1cmwofnNyYy9hc3NldHMvaW1hZ2VzL2JhY2tncm91bmQtZGFyay5wbmcpO1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2VuZC1tb2RhbCAubW9kYWwge1xuICBiYWNrZ3JvdW5kOiB1cmwofnNyYy9hc3NldHMvaW1hZ2VzL2JhY2tncm91bmQtZ3JheS5wbmcpO1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNlbmQtbW9kYWwgLm1vZGFsIHtcbiAgYmFja2dyb3VuZDogdXJsKH5zcmMvYXNzZXRzL2ltYWdlcy9iYWNrZ3JvdW5kLXdoaXRlLnBuZyk7XG4gIGNvbG9yOiAjNDM0NTRiOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zZW5kLW1vZGFsIC5tb2RhbCAudGl0bGUge1xuICBib3JkZXItYm90dG9tOiAwLjJyZW0gc29saWQgIzJiMzY0NDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2VuZC1tb2RhbCAubW9kYWwgLnRpdGxlIHtcbiAgYm9yZGVyLWJvdHRvbTogMC4ycmVtIHNvbGlkICMyZjM0Mzg7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zZW5kLW1vZGFsIC5tb2RhbCAudGl0bGUge1xuICBib3JkZXItYm90dG9tOiAwLjJyZW0gc29saWQgI2ViZWJlYjsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2VuZC1tb2RhbCAubW9kYWwgLmFjdGlvbi1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRiMWZmO1xuICBjb2xvcjogIzExMTkyMTsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2VuZC1tb2RhbCAubW9kYWwgLmFjdGlvbi1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1O1xuICBjb2xvcjogIzFhMWExYTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNlbmQtbW9kYWwgLm1vZGFsIC5hY3Rpb24tYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJjOTVmMTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cblxuYXBwLW1haW4sIGFwcC1jcmVhdGUtd2FsbGV0LCBhcHAtb3Blbi13YWxsZXQsIGFwcC1yZXN0b3JlLXdhbGxldCwgYXBwLXNlZWQtcGhyYXNlLCBhcHAtd2FsbGV0LWRldGFpbHMsIGFwcC1hc3NpZ24tYWxpYXMsIGFwcC1lZGl0LWFsaWFzLCBhcHAtdHJhbnNmZXItYWxpYXMsIGFwcC1zZXR0aW5ncywgYXBwLWxvZ2luIHtcbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6IDNyZW07XG4gIG1pbi13aWR0aDogODVyZW07IH1cbiAgYXBwLW1haW4gLmNvbnRlbnQsIGFwcC1jcmVhdGUtd2FsbGV0IC5jb250ZW50LCBhcHAtb3Blbi13YWxsZXQgLmNvbnRlbnQsIGFwcC1yZXN0b3JlLXdhbGxldCAuY29udGVudCwgYXBwLXNlZWQtcGhyYXNlIC5jb250ZW50LCBhcHAtd2FsbGV0LWRldGFpbHMgLmNvbnRlbnQsIGFwcC1hc3NpZ24tYWxpYXMgLmNvbnRlbnQsIGFwcC1lZGl0LWFsaWFzIC5jb250ZW50LCBhcHAtdHJhbnNmZXItYWxpYXMgLmNvbnRlbnQsIGFwcC1zZXR0aW5ncyAuY29udGVudCwgYXBwLWxvZ2luIC5jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogM3JlbTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlOyB9XG4gICAgLnRoZW1lLWRhcmsgYXBwLW1haW4gLmNvbnRlbnQsIC50aGVtZS1kYXJrIGFwcC1jcmVhdGUtd2FsbGV0IC5jb250ZW50LCAudGhlbWUtZGFyayBhcHAtb3Blbi13YWxsZXQgLmNvbnRlbnQsIC50aGVtZS1kYXJrIGFwcC1yZXN0b3JlLXdhbGxldCAuY29udGVudCwgLnRoZW1lLWRhcmsgYXBwLXNlZWQtcGhyYXNlIC5jb250ZW50LCAudGhlbWUtZGFyayBhcHAtd2FsbGV0LWRldGFpbHMgLmNvbnRlbnQsIC50aGVtZS1kYXJrIGFwcC1hc3NpZ24tYWxpYXMgLmNvbnRlbnQsIC50aGVtZS1kYXJrIGFwcC1lZGl0LWFsaWFzIC5jb250ZW50LCAudGhlbWUtZGFyayBhcHAtdHJhbnNmZXItYWxpYXMgLmNvbnRlbnQsIC50aGVtZS1kYXJrIGFwcC1zZXR0aW5ncyAuY29udGVudCwgLnRoZW1lLWRhcmsgYXBwLWxvZ2luIC5jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDMsIDU0LCA2OCwgMC41KTtcbiAgICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gICAgLnRoZW1lLWdyYXkgYXBwLW1haW4gLmNvbnRlbnQsIC50aGVtZS1ncmF5IGFwcC1jcmVhdGUtd2FsbGV0IC5jb250ZW50LCAudGhlbWUtZ3JheSBhcHAtb3Blbi13YWxsZXQgLmNvbnRlbnQsIC50aGVtZS1ncmF5IGFwcC1yZXN0b3JlLXdhbGxldCAuY29udGVudCwgLnRoZW1lLWdyYXkgYXBwLXNlZWQtcGhyYXNlIC5jb250ZW50LCAudGhlbWUtZ3JheSBhcHAtd2FsbGV0LWRldGFpbHMgLmNvbnRlbnQsIC50aGVtZS1ncmF5IGFwcC1hc3NpZ24tYWxpYXMgLmNvbnRlbnQsIC50aGVtZS1ncmF5IGFwcC1lZGl0LWFsaWFzIC5jb250ZW50LCAudGhlbWUtZ3JheSBhcHAtdHJhbnNmZXItYWxpYXMgLmNvbnRlbnQsIC50aGVtZS1ncmF5IGFwcC1zZXR0aW5ncyAuY29udGVudCwgLnRoZW1lLWdyYXkgYXBwLWxvZ2luIC5jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzcsIDQwLCA0MywgMC41KTtcbiAgICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gICAgLnRoZW1lLXdoaXRlIGFwcC1tYWluIC5jb250ZW50LCAudGhlbWUtd2hpdGUgYXBwLWNyZWF0ZS13YWxsZXQgLmNvbnRlbnQsIC50aGVtZS13aGl0ZSBhcHAtb3Blbi13YWxsZXQgLmNvbnRlbnQsIC50aGVtZS13aGl0ZSBhcHAtcmVzdG9yZS13YWxsZXQgLmNvbnRlbnQsIC50aGVtZS13aGl0ZSBhcHAtc2VlZC1waHJhc2UgLmNvbnRlbnQsIC50aGVtZS13aGl0ZSBhcHAtd2FsbGV0LWRldGFpbHMgLmNvbnRlbnQsIC50aGVtZS13aGl0ZSBhcHAtYXNzaWduLWFsaWFzIC5jb250ZW50LCAudGhlbWUtd2hpdGUgYXBwLWVkaXQtYWxpYXMgLmNvbnRlbnQsIC50aGVtZS13aGl0ZSBhcHAtdHJhbnNmZXItYWxpYXMgLmNvbnRlbnQsIC50aGVtZS13aGl0ZSBhcHAtc2V0dGluZ3MgLmNvbnRlbnQsIC50aGVtZS13aGl0ZSBhcHAtbG9naW4gLmNvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgICAgY29sb3I6ICM0MzQ1NGI7IH1cbiAgICBhcHAtbWFpbiAuY29udGVudCAuaGVhZCwgYXBwLWNyZWF0ZS13YWxsZXQgLmNvbnRlbnQgLmhlYWQsIGFwcC1vcGVuLXdhbGxldCAuY29udGVudCAuaGVhZCwgYXBwLXJlc3RvcmUtd2FsbGV0IC5jb250ZW50IC5oZWFkLCBhcHAtc2VlZC1waHJhc2UgLmNvbnRlbnQgLmhlYWQsIGFwcC13YWxsZXQtZGV0YWlscyAuY29udGVudCAuaGVhZCwgYXBwLWFzc2lnbi1hbGlhcyAuY29udGVudCAuaGVhZCwgYXBwLWVkaXQtYWxpYXMgLmNvbnRlbnQgLmhlYWQsIGFwcC10cmFuc2Zlci1hbGlhcyAuY29udGVudCAuaGVhZCwgYXBwLXNldHRpbmdzIC5jb250ZW50IC5oZWFkLCBhcHAtbG9naW4gLmNvbnRlbnQgLmhlYWQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDsgfVxuXG4udGhlbWUtZGFyayBhcHAtbWFpbiAuY29udGVudCAuYWRkLXdhbGxldCAuYWRkLXdhbGxldC1oZWxwIHtcbiAgY29sb3I6ICM0ZGIxZmY7IH1cblxuLnRoZW1lLWdyYXkgYXBwLW1haW4gLmNvbnRlbnQgLmFkZC13YWxsZXQgLmFkZC13YWxsZXQtaGVscCB7XG4gIGNvbG9yOiAjNDJhNWY1OyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtbWFpbiAuY29udGVudCAuYWRkLXdhbGxldCAuYWRkLXdhbGxldC1oZWxwIHtcbiAgY29sb3I6ICMyYzk1ZjE7IH1cblxuLnRoZW1lLWRhcmsgYXBwLW1haW4gLmNvbnRlbnQgLmFkZC13YWxsZXQgLmFkZC13YWxsZXQtaGVscCAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZGIxZmY7IH1cblxuLnRoZW1lLWdyYXkgYXBwLW1haW4gLmNvbnRlbnQgLmFkZC13YWxsZXQgLmFkZC13YWxsZXQtaGVscCAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MmE1ZjU7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1tYWluIC5jb250ZW50IC5hZGQtd2FsbGV0IC5hZGQtd2FsbGV0LWhlbHAgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmM5NWYxOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zZWVkLXBocmFzZSAuc2VlZC1waHJhc2UtY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNzFlMjc7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zZWVkLXBocmFzZSAuc2VlZC1waHJhc2UtY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyOTJkMzE7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtc2VlZC1waHJhc2UgLnNlZWQtcGhyYXNlLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjb2xvcjogIzQzNDU0YjsgfVxuXG4udGhlbWUtZGFyayBhcHAtd2FsbGV0LWRldGFpbHMgLnNlZWQtcGhyYXNlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3MWUyNzsgfVxuXG4udGhlbWUtZ3JheSBhcHAtd2FsbGV0LWRldGFpbHMgLnNlZWQtcGhyYXNlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI5MmQzMTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXdhbGxldC1kZXRhaWxzIC5zZWVkLXBocmFzZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cblxuYXBwLXNldHRpbmdzIC5jb250ZW50IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLnRoZW1lLWRhcmsgYXBwLXNldHRpbmdzIC5jb250ZW50IC50aGVtZS1zZWxlY3Rpb24ge1xuICAgIGNvbG9yOiAjNTU2NTc2OyB9XG4gIC50aGVtZS1ncmF5IGFwcC1zZXR0aW5ncyAuY29udGVudCAudGhlbWUtc2VsZWN0aW9uIHtcbiAgICBjb2xvcjogIzU2NWM2MjsgfVxuICAudGhlbWUtd2hpdGUgYXBwLXNldHRpbmdzIC5jb250ZW50IC50aGVtZS1zZWxlY3Rpb24ge1xuICAgIGNvbG9yOiAjYTBhNWFiOyB9XG4gIC50aGVtZS1kYXJrIGFwcC1zZXR0aW5ncyAuY29udGVudCAuc2NhbGUtc2VsZWN0aW9uIC5idXR0b24tYmxvY2sge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjMsIDMxLCAzOSwgMC41KTsgfVxuICAudGhlbWUtZ3JheSBhcHAtc2V0dGluZ3MgLmNvbnRlbnQgLnNjYWxlLXNlbGVjdGlvbiAuYnV0dG9uLWJsb2NrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI4LCAzMCwgMzMsIDAuNSk7IH1cbiAgLnRoZW1lLXdoaXRlIGFwcC1zZXR0aW5ncyAuY29udGVudCAuc2NhbGUtc2VsZWN0aW9uIC5idXR0b24tYmxvY2sge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjI0LCAyMjQsIDIyNCwgMC41KTsgfVxuICAudGhlbWUtZGFyayBhcHAtc2V0dGluZ3MgLmNvbnRlbnQgLnNjYWxlLXNlbGVjdGlvbiAuYnV0dG9uLWJsb2NrIC5sYWJlbCB7XG4gICAgY29sb3I6ICM1NTY1NzY7IH1cbiAgLnRoZW1lLWdyYXkgYXBwLXNldHRpbmdzIC5jb250ZW50IC5zY2FsZS1zZWxlY3Rpb24gLmJ1dHRvbi1ibG9jayAubGFiZWwge1xuICAgIGNvbG9yOiAjNTY1YzYyOyB9XG4gIC50aGVtZS13aGl0ZSBhcHAtc2V0dGluZ3MgLmNvbnRlbnQgLnNjYWxlLXNlbGVjdGlvbiAuYnV0dG9uLWJsb2NrIC5sYWJlbCB7XG4gICAgY29sb3I6ICNhMGE1YWI7IH1cbiAgLnRoZW1lLWRhcmsgYXBwLXNldHRpbmdzIC5jb250ZW50IC5zY2FsZS1zZWxlY3Rpb24gLmJ1dHRvbi1ibG9jay5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZGIxZmY7IH1cbiAgLnRoZW1lLWdyYXkgYXBwLXNldHRpbmdzIC5jb250ZW50IC5zY2FsZS1zZWxlY3Rpb24gLmJ1dHRvbi1ibG9jay5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0MmE1ZjU7IH1cbiAgLnRoZW1lLXdoaXRlIGFwcC1zZXR0aW5ncyAuY29udGVudCAuc2NhbGUtc2VsZWN0aW9uIC5idXR0b24tYmxvY2suYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmM5NWYxOyB9XG4gIC50aGVtZS1kYXJrIGFwcC1zZXR0aW5ncyAuY29udGVudCAuc2NhbGUtc2VsZWN0aW9uIC5idXR0b24tYmxvY2suYWN0aXZlIC5sYWJlbCB7XG4gICAgY29sb3I6ICM0ZGIxZmY7IH1cbiAgLnRoZW1lLWdyYXkgYXBwLXNldHRpbmdzIC5jb250ZW50IC5zY2FsZS1zZWxlY3Rpb24gLmJ1dHRvbi1ibG9jay5hY3RpdmUgLmxhYmVsIHtcbiAgICBjb2xvcjogIzQyYTVmNTsgfVxuICAudGhlbWUtd2hpdGUgYXBwLXNldHRpbmdzIC5jb250ZW50IC5zY2FsZS1zZWxlY3Rpb24gLmJ1dHRvbi1ibG9jay5hY3RpdmUgLmxhYmVsIHtcbiAgICBjb2xvcjogIzJjOTVmMTsgfVxuXG5hcHAtbG9naW4ge1xuICBtaW4td2lkdGg6IGluaGVyaXQ7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNpZGViYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTcxZjI3OyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zaWRlYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFjMWUyMTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1oZWFkZXIgaDMge1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1oZWFkZXIgaDMge1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtaGVhZGVyIGgzIHtcbiAgY29sb3I6ICM0MzQ1NGI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtaGVhZGVyIGJ1dHRvbiB7XG4gIGNvbG9yOiAjNGRiMWZmOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWhlYWRlciBidXR0b24ge1xuICBjb2xvcjogIzQyYTVmNTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtaGVhZGVyIGJ1dHRvbiB7XG4gIGNvbG9yOiAjMmM5NWYxOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzQzNDU0YjsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRiMWZmOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudCAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MmE1ZjU7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudCAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYzk1ZjE7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50IC5zaWRlYmFyLWFjY291bnQtcm93IC50ZXh0IHtcbiAgY29sb3I6ICM1NTY1NzY7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50IC5zaWRlYmFyLWFjY291bnQtcm93IC50ZXh0IHtcbiAgY29sb3I6ICM1NjVjNjI7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudCAuc2lkZWJhci1hY2NvdW50LXJvdyAudGV4dCB7XG4gIGNvbG9yOiAjYTBhNWFiOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudCAuc2lkZWJhci1hY2NvdW50LXJvdyAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZGIxZmY7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50IC5zaWRlYmFyLWFjY291bnQtcm93IC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyYTVmNTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50IC5zaWRlYmFyLWFjY291bnQtcm93IC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJjOTVmMTsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQgLnNpZGViYXItYWNjb3VudC1yb3cgLmluZGljYXRvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZGIxZmY7XG4gIGNvbG9yOiAjMTExOTIxOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudCAuc2lkZWJhci1hY2NvdW50LXJvdyAuaW5kaWNhdG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyYTVmNTtcbiAgY29sb3I6ICMxYTFhMWE7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudCAuc2lkZWJhci1hY2NvdW50LXJvdyAuaW5kaWNhdG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJjOTVmMTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50IC5zaWRlYmFyLWFjY291bnQtcm93IC5wcm9ncmVzcy1iYXItY29udGFpbmVyIC5wcm9ncmVzcy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzZjRhOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudCAuc2lkZWJhci1hY2NvdW50LXJvdyAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM2M2EzZTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50IC5zaWRlYmFyLWFjY291bnQtcm93IC5wcm9ncmVzcy1iYXItY29udGFpbmVyIC5wcm9ncmVzcy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkY2RjOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudCAuc2lkZWJhci1hY2NvdW50LXJvdyAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyIC5maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQgLnNpZGViYXItYWNjb3VudC1yb3cgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnByb2dyZXNzLWJhciAuZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MmE1ZjU7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudCAuc2lkZWJhci1hY2NvdW50LXJvdyAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyIC5maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJjOTVmMTsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQgLnNpZGViYXItYWNjb3VudC1yb3cuYWNjb3VudC1zeW5jaHJvbml6YXRpb24ge1xuICBjb2xvcjogIzU1NjU3NjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQgLnNpZGViYXItYWNjb3VudC1yb3cuYWNjb3VudC1zeW5jaHJvbml6YXRpb24ge1xuICBjb2xvcjogIzU2NWM2MjsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50IC5zaWRlYmFyLWFjY291bnQtcm93LmFjY291bnQtc3luY2hyb25pemF0aW9uIHtcbiAgY29sb3I6ICNhMGE1YWI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50LmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDMsIDU0LCA2OCwgMC41KTtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50LmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzcsIDQwLCA0MywgMC41KTtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4OGU1O1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQuYWN0aXZlIC5zaWRlYmFyLWFjY291bnQtcm93IC50ZXh0IHtcbiAgY29sb3I6ICM1NTY1NzY7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50LmFjdGl2ZSAuc2lkZWJhci1hY2NvdW50LXJvdyAudGV4dCB7XG4gIGNvbG9yOiAjNTY1YzYyOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQuYWN0aXZlIC5zaWRlYmFyLWFjY291bnQtcm93IC50ZXh0IHtcbiAgY29sb3I6ICM5MWJhZjE7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50LmFjdGl2ZSAuc2lkZWJhci1hY2NvdW50LXJvdyAuaW5kaWNhdG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjtcbiAgY29sb3I6ICMxMTE5MjE7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50LmFjdGl2ZSAuc2lkZWJhci1hY2NvdW50LXJvdyAuaW5kaWNhdG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyYTVmNTtcbiAgY29sb3I6ICMxYTFhMWE7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudC5hY3RpdmUgLnNpZGViYXItYWNjb3VudC1yb3cgLmluZGljYXRvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGNvbG9yOiAjNDM0NTRiOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudC5hY3RpdmUgLnNpZGViYXItYWNjb3VudC1yb3cgLnN3aXRjaCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzIC5zaWRlYmFyLWFjY291bnRzLWxpc3QgLnNpZGViYXItYWNjb3VudC5hY3RpdmUgLnNpZGViYXItYWNjb3VudC1yb3cgLnN3aXRjaCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQuYWN0aXZlIC5zaWRlYmFyLWFjY291bnQtcm93IC5zd2l0Y2gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBjb2xvcjogIzQzNDU0YjsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQuYWN0aXZlIC5zaWRlYmFyLWFjY291bnQtcm93LmFjY291bnQtc3luY2hyb25pemF0aW9uIHtcbiAgY29sb3I6ICM1NTY1NzY7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50LmFjdGl2ZSAuc2lkZWJhci1hY2NvdW50LXJvdy5hY2NvdW50LXN5bmNocm9uaXphdGlvbiB7XG4gIGNvbG9yOiAjNTY1YzYyOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQuYWN0aXZlIC5zaWRlYmFyLWFjY291bnQtcm93LmFjY291bnQtc3luY2hyb25pemF0aW9uIHtcbiAgY29sb3I6ICM5MWJhZjE7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHMgLnNpZGViYXItYWNjb3VudHMtbGlzdCAuc2lkZWJhci1hY2NvdW50OmhvdmVyOm5vdCguYWN0aXZlKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTgsIDY5LCA4NSwgMC41KTsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQ6aG92ZXI6bm90KC5hY3RpdmUpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1OCwgNjIsIDY2LCAwLjUpOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtc2lkZWJhciAuc2lkZWJhci1hY2NvdW50cyAuc2lkZWJhci1hY2NvdW50cy1saXN0IC5zaWRlYmFyLWFjY291bnQ6aG92ZXI6bm90KC5hY3RpdmUpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDAsIDI0MCwgMjQwLCAwLjUpOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zaWRlYmFyIC5zaWRlYmFyLWFjY291bnRzOmFmdGVyIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdHJhbnNwYXJlbnQgMCUsICMxNzFmMjcgMTAwJSk7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHM6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB0cmFuc3BhcmVudCAwJSwgIzFjMWUyMSAxMDAlKTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItYWNjb3VudHM6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB0cmFuc3BhcmVudCAwJSwgd2hpdGUgMTAwJSk7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNpZGViYXIgLnNpZGViYXItc2V0dGluZ3Mge1xuICBib3JkZXItYm90dG9tOiAwLjJyZW0gc29saWQgIzFmMjgzMzsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1zZXR0aW5ncyB7XG4gIGJvcmRlci1ib3R0b206IDAuMnJlbSBzb2xpZCAjMmUzMzM3OyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtc2lkZWJhciAuc2lkZWJhci1zZXR0aW5ncyB7XG4gIGJvcmRlci1ib3R0b206IDAuMnJlbSBzb2xpZCAjZWJlYmViOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zaWRlYmFyIC5zaWRlYmFyLXNldHRpbmdzIC53cmFwLWJ1dHRvbiBidXR0b24ge1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1zZXR0aW5ncyAud3JhcC1idXR0b24gYnV0dG9uIHtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zaWRlYmFyIC5zaWRlYmFyLXNldHRpbmdzIC53cmFwLWJ1dHRvbiBidXR0b24ge1xuICBjb2xvcjogIzQzNDU0YjsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2lkZWJhciAuc2lkZWJhci1zZXR0aW5ncyAud3JhcC1idXR0b24gYnV0dG9uIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1zZXR0aW5ncyAud3JhcC1idXR0b24gYnV0dG9uIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyYTVmNTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItc2V0dGluZ3MgLndyYXAtYnV0dG9uIGJ1dHRvbiAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYzk1ZjE7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNpZGViYXIgLnNpZGViYXItc2V0dGluZ3MgLndyYXAtYnV0dG9uLmFjdGl2ZSBidXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQzLCA1NCwgNjgsIDAuNSkgIWltcG9ydGFudDtcbiAgY29sb3I6ICNlMGUwZTAgIWltcG9ydGFudDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1zZXR0aW5ncyAud3JhcC1idXR0b24uYWN0aXZlIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzcsIDQwLCA0MywgMC41KSAhaW1wb3J0YW50O1xuICBjb2xvcjogI2UwZTBlMCAhaW1wb3J0YW50OyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtc2lkZWJhciAuc2lkZWJhci1zZXR0aW5ncyAud3JhcC1idXR0b24uYWN0aXZlIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZTg4ZTUgIWltcG9ydGFudDtcbiAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2lkZWJhciAuc2lkZWJhci1zZXR0aW5ncyAud3JhcC1idXR0b24uYWN0aXZlIGJ1dHRvbiAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZGIxZmYgIWltcG9ydGFudDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2lkZWJhciAuc2lkZWJhci1zZXR0aW5ncyAud3JhcC1idXR0b24uYWN0aXZlIGJ1dHRvbiAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MmE1ZjUgIWltcG9ydGFudDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXNpZGViYXIgLnNpZGViYXItc2V0dGluZ3MgLndyYXAtYnV0dG9uLmFjdGl2ZSBidXR0b24gLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7IH1cblxuLnN5bmNocm9uaXphdGlvbi1zdGF0dXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGZsZXg6IDAgMCA3cmVtO1xuICBmb250LXNpemU6IDEuM3JlbTsgfVxuICAudGhlbWUtZGFyayAuc3luY2hyb25pemF0aW9uLXN0YXR1cyB7XG4gICAgY29sb3I6ICM1NTY1NzY7IH1cbiAgLnRoZW1lLWdyYXkgLnN5bmNocm9uaXphdGlvbi1zdGF0dXMge1xuICAgIGNvbG9yOiAjNTY1YzYyOyB9XG4gIC50aGVtZS13aGl0ZSAuc3luY2hyb25pemF0aW9uLXN0YXR1cyB7XG4gICAgY29sb3I6ICNhMGE1YWI7IH1cbiAgLnN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnN0YXR1cy1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5zeW5jaHJvbml6YXRpb24tc3RhdHVzIC5zdGF0dXMtY29udGFpbmVyIC5vZmZsaW5lLCAuc3luY2hyb25pemF0aW9uLXN0YXR1cyAuc3RhdHVzLWNvbnRhaW5lciAub25saW5lIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMnJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMi4ycmVtOyB9XG4gICAgICAuc3luY2hyb25pemF0aW9uLXN0YXR1cyAuc3RhdHVzLWNvbnRhaW5lciAub2ZmbGluZTpiZWZvcmUsIC5zeW5jaHJvbml6YXRpb24tc3RhdHVzIC5zdGF0dXMtY29udGFpbmVyIC5vbmxpbmU6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIHdpZHRoOiAxLjJyZW07XG4gICAgICAgIGhlaWdodDogMS4ycmVtOyB9XG4gICAgLnRoZW1lLWRhcmsgLnN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnN0YXR1cy1jb250YWluZXIgLm9mZmxpbmU6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjUyNTI7IH1cbiAgICAudGhlbWUtZ3JheSAuc3luY2hyb25pemF0aW9uLXN0YXR1cyAuc3RhdHVzLWNvbnRhaW5lciAub2ZmbGluZTpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTI1MjsgfVxuICAgIC50aGVtZS13aGl0ZSAuc3luY2hyb25pemF0aW9uLXN0YXR1cyAuc3RhdHVzLWNvbnRhaW5lciAub2ZmbGluZTpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTI1MjsgfVxuICAgIC50aGVtZS1kYXJrIC5zeW5jaHJvbml6YXRpb24tc3RhdHVzIC5zdGF0dXMtY29udGFpbmVyIC5vbmxpbmU6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1Y2RhOWQ7IH1cbiAgICAudGhlbWUtZ3JheSAuc3luY2hyb25pemF0aW9uLXN0YXR1cyAuc3RhdHVzLWNvbnRhaW5lciAub25saW5lOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDdjZjhkOyB9XG4gICAgLnRoZW1lLXdoaXRlIC5zeW5jaHJvbml6YXRpb24tc3RhdHVzIC5zdGF0dXMtY29udGFpbmVyIC5vbmxpbmU6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0NmMxNzI7IH1cbiAgICAuc3luY2hyb25pemF0aW9uLXN0YXR1cyAuc3RhdHVzLWNvbnRhaW5lciAuc3luY2luZywgLnN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnN0YXR1cy1jb250YWluZXIgLmxvYWRpbmcge1xuICAgICAgbGluZS1oZWlnaHQ6IDVyZW07IH1cbiAgICAuc3luY2hyb25pemF0aW9uLXN0YXR1cyAuc3RhdHVzLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgaGVpZ2h0OiAwLjdyZW07XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLnN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnN0YXR1cy1jb250YWluZXIgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnN5bmNpbmcge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAgIC5zeW5jaHJvbml6YXRpb24tc3RhdHVzIC5zdGF0dXMtY29udGFpbmVyIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIC5zeW5jaW5nIC5wcm9ncmVzcy1iYXIge1xuICAgICAgICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gICAgICAgICAgLnRoZW1lLWRhcmsgLnN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnN0YXR1cy1jb250YWluZXIgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnN5bmNpbmcgLnByb2dyZXNzLWJhciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzZjRhOyB9XG4gICAgICAgICAgLnRoZW1lLWdyYXkgLnN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnN0YXR1cy1jb250YWluZXIgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnN5bmNpbmcgLnByb2dyZXNzLWJhciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzYzYTNlOyB9XG4gICAgICAgICAgLnRoZW1lLXdoaXRlIC5zeW5jaHJvbml6YXRpb24tc3RhdHVzIC5zdGF0dXMtY29udGFpbmVyIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIC5zeW5jaW5nIC5wcm9ncmVzcy1iYXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RjZGNkYzsgfVxuICAgICAgICAgIC5zeW5jaHJvbml6YXRpb24tc3RhdHVzIC5zdGF0dXMtY29udGFpbmVyIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIC5zeW5jaW5nIC5wcm9ncmVzcy1iYXIgLmZpbGwge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAgICAgICAudGhlbWUtZGFyayAuc3luY2hyb25pemF0aW9uLXN0YXR1cyAuc3RhdHVzLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAuc3luY2luZyAucHJvZ3Jlc3MtYmFyIC5maWxsIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVjZGE5ZDsgfVxuICAgICAgICAgICAgLnRoZW1lLWdyYXkgLnN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnN0YXR1cy1jb250YWluZXIgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnN5bmNpbmcgLnByb2dyZXNzLWJhciAuZmlsbCB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0N2NmOGQ7IH1cbiAgICAgICAgICAgIC50aGVtZS13aGl0ZSAuc3luY2hyb25pemF0aW9uLXN0YXR1cyAuc3RhdHVzLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAuc3luY2luZyAucHJvZ3Jlc3MtYmFyIC5maWxsIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ2YzE3MjsgfVxuICAgICAgICAudGhlbWUtZGFyayAuc3luY2hyb25pemF0aW9uLXN0YXR1cyAuc3RhdHVzLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAuc3luY2luZy5kb3dubG9hZGluZyAucHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzZjRhOyB9XG4gICAgICAgIC50aGVtZS1ncmF5IC5zeW5jaHJvbml6YXRpb24tc3RhdHVzIC5zdGF0dXMtY29udGFpbmVyIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIC5zeW5jaW5nLmRvd25sb2FkaW5nIC5wcm9ncmVzcy1iYXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzNjNhM2U7IH1cbiAgICAgICAgLnRoZW1lLXdoaXRlIC5zeW5jaHJvbml6YXRpb24tc3RhdHVzIC5zdGF0dXMtY29udGFpbmVyIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIC5zeW5jaW5nLmRvd25sb2FkaW5nIC5wcm9ncmVzcy1iYXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkY2RjZGM7IH1cbiAgICAgICAgLnRoZW1lLWRhcmsgLnN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnN0YXR1cy1jb250YWluZXIgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnN5bmNpbmcuZG93bmxvYWRpbmcgLnByb2dyZXNzLWJhciAuZmlsbCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjsgfVxuICAgICAgICAudGhlbWUtZ3JheSAuc3luY2hyb25pemF0aW9uLXN0YXR1cyAuc3RhdHVzLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAuc3luY2luZy5kb3dubG9hZGluZyAucHJvZ3Jlc3MtYmFyIC5maWxsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1OyB9XG4gICAgICAgIC50aGVtZS13aGl0ZSAuc3luY2hyb25pemF0aW9uLXN0YXR1cyAuc3RhdHVzLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAuc3luY2luZy5kb3dubG9hZGluZyAucHJvZ3Jlc3MtYmFyIC5maWxsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmM5NWYxOyB9XG4gICAgICAgIC5zeW5jaHJvbml6YXRpb24tc3RhdHVzIC5zdGF0dXMtY29udGFpbmVyIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIC5zeW5jaW5nIC5wcm9ncmVzcy1wZXJjZW50IHtcbiAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMC43cmVtO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMC43cmVtOyB9XG4gICAgICAuc3luY2hyb25pemF0aW9uLXN0YXR1cyAuc3RhdHVzLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAubG9hZGluZyB7XG4gICAgICAgIGFuaW1hdGlvbjogbW92ZSA1cyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDEwMCUgMTAwJSwgY29sb3Itc3RvcCgwLjEyNSwgcmdiYSgwLCAwLCAwLCAwLjE1KSksIGNvbG9yLXN0b3AoMC4xMjUsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCgwLjI1LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC4yNSwgcmdiYSgwLCAwLCAwLCAwLjEpKSwgY29sb3Itc3RvcCgwLjM3NSwgcmdiYSgwLCAwLCAwLCAwLjEpKSwgY29sb3Itc3RvcCgwLjM3NSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNSwgcmdiYSgwLCAwLCAwLCAwLjE1KSksIGNvbG9yLXN0b3AoMC42MjUsIHJnYmEoMCwgMCwgMCwgMC4xNSkpLCBjb2xvci1zdG9wKDAuNjI1LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC43NSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNzUsIHJnYmEoMCwgMCwgMCwgMC4xKSksIGNvbG9yLXN0b3AoMC44NzUsIHJnYmEoMCwgMCwgMCwgMC4xKSksIGNvbG9yLXN0b3AoMC44NzUsIHRyYW5zcGFyZW50KSwgdG8odHJhbnNwYXJlbnQpKSwgLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMTAwJSwgMTAwJSAwLCBjb2xvci1zdG9wKDAuMTI1LCByZ2JhKDAsIDAsIDAsIDAuMykpLCBjb2xvci1zdG9wKDAuMTI1LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoMC4yNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuMjUsIHJnYmEoMCwgMCwgMCwgMC4yNSkpLCBjb2xvci1zdG9wKDAuMzc1LCByZ2JhKDAsIDAsIDAsIDAuMjUpKSwgY29sb3Itc3RvcCgwLjM3NSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNSwgcmdiYSgwLCAwLCAwLCAwLjMpKSwgY29sb3Itc3RvcCgwLjYyNSwgcmdiYSgwLCAwLCAwLCAwLjMpKSwgY29sb3Itc3RvcCgwLjYyNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKDAuNzUsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCgwLjc1LCByZ2JhKDAsIDAsIDAsIDAuMjUpKSwgY29sb3Itc3RvcCgwLjg3NSwgcmdiYSgwLCAwLCAwLCAwLjI1KSksIGNvbG9yLXN0b3AoMC44NzUsIHRyYW5zcGFyZW50KSwgdG8odHJhbnNwYXJlbnQpKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA3cmVtIDdyZW07XG4gICAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgICAudGhlbWUtZGFyayAuc3luY2hyb25pemF0aW9uLXN0YXR1cyAuc3RhdHVzLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAubG9hZGluZyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVjZGE5ZDsgfVxuICAgICAgICAudGhlbWUtZ3JheSAuc3luY2hyb25pemF0aW9uLXN0YXR1cyAuc3RhdHVzLWNvbnRhaW5lciAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciAubG9hZGluZyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ3Y2Y4ZDsgfVxuICAgICAgICAudGhlbWUtd2hpdGUgLnN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnN0YXR1cy1jb250YWluZXIgLnByb2dyZXNzLWJhci1jb250YWluZXIgLmxvYWRpbmcge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0NmMxNzI7IH1cbiAgLnN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnVwZGF0ZS1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLnN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnVwZGF0ZS1jb250YWluZXIgLnVwZGF0ZS10ZXh0IHtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS44cmVtO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLnN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnVwZGF0ZS1jb250YWluZXIgLnVwZGF0ZS10ZXh0LnRpbWUge1xuICAgICAgICBmb250LXNpemU6IDEuMXJlbTsgfVxuICAgIC5zeW5jaHJvbml6YXRpb24tc3RhdHVzIC51cGRhdGUtY29udGFpbmVyIC5pY29uIHtcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgbWFyZ2luOiAwLjNyZW0gMCAwIDAuNnJlbTtcbiAgICAgIHdpZHRoOiAxLjJyZW07XG4gICAgICBoZWlnaHQ6IDEuMnJlbTsgfVxuICAgICAgLnN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnVwZGF0ZS1jb250YWluZXIgLmljb24udXBkYXRlIHtcbiAgICAgICAgbWFzazogdXJsKC4vYXNzZXRzL2ljb25zL3VwZGF0ZS5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7IH1cbiAgICAgIC5zeW5jaHJvbml6YXRpb24tc3RhdHVzIC51cGRhdGUtY29udGFpbmVyIC5pY29uLnRpbWUge1xuICAgICAgICBtYXNrOiB1cmwoLi9hc3NldHMvaWNvbnMvdGltZS5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7IH1cbiAgICAudGhlbWUtZGFyayAuc3luY2hyb25pemF0aW9uLXN0YXR1cyAudXBkYXRlLWNvbnRhaW5lciAuc3RhbmRhcmQge1xuICAgICAgY29sb3I6ICM0ZGIxZmY7IH1cbiAgICAudGhlbWUtZ3JheSAuc3luY2hyb25pemF0aW9uLXN0YXR1cyAudXBkYXRlLWNvbnRhaW5lciAuc3RhbmRhcmQge1xuICAgICAgY29sb3I6ICM0MmE1ZjU7IH1cbiAgICAudGhlbWUtd2hpdGUgLnN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnVwZGF0ZS1jb250YWluZXIgLnN0YW5kYXJkIHtcbiAgICAgIGNvbG9yOiAjMmM5NWYxOyB9XG4gICAgLnRoZW1lLWRhcmsgLnN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnVwZGF0ZS1jb250YWluZXIgLmltcG9ydGFudCB7XG4gICAgICBjb2xvcjogI2ZmNmYwMDsgfVxuICAgIC50aGVtZS1ncmF5IC5zeW5jaHJvbml6YXRpb24tc3RhdHVzIC51cGRhdGUtY29udGFpbmVyIC5pbXBvcnRhbnQge1xuICAgICAgY29sb3I6ICNmZjZmMDA7IH1cbiAgICAudGhlbWUtd2hpdGUgLnN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnVwZGF0ZS1jb250YWluZXIgLmltcG9ydGFudCB7XG4gICAgICBjb2xvcjogI2ZmNmYwMDsgfVxuICAgIC50aGVtZS1kYXJrIC5zeW5jaHJvbml6YXRpb24tc3RhdHVzIC51cGRhdGUtY29udGFpbmVyIC5jcml0aWNhbCB7XG4gICAgICBjb2xvcjogI2ZmNTI1MjsgfVxuICAgIC50aGVtZS1ncmF5IC5zeW5jaHJvbml6YXRpb24tc3RhdHVzIC51cGRhdGUtY29udGFpbmVyIC5jcml0aWNhbCB7XG4gICAgICBjb2xvcjogI2ZmNTI1MjsgfVxuICAgIC50aGVtZS13aGl0ZSAuc3luY2hyb25pemF0aW9uLXN0YXR1cyAudXBkYXRlLWNvbnRhaW5lciAuY3JpdGljYWwge1xuICAgICAgY29sb3I6ICNmZjUyNTI7IH1cbiAgICAudGhlbWUtZGFyayAuc3luY2hyb25pemF0aW9uLXN0YXR1cyAudXBkYXRlLWNvbnRhaW5lciAudGltZSB7XG4gICAgICBjb2xvcjogI2ZmNmYwMDsgfVxuICAgIC50aGVtZS1ncmF5IC5zeW5jaHJvbml6YXRpb24tc3RhdHVzIC51cGRhdGUtY29udGFpbmVyIC50aW1lIHtcbiAgICAgIGNvbG9yOiAjZmY2ZjAwOyB9XG4gICAgLnRoZW1lLXdoaXRlIC5zeW5jaHJvbml6YXRpb24tc3RhdHVzIC51cGRhdGUtY29udGFpbmVyIC50aW1lIHtcbiAgICAgIGNvbG9yOiAjZmY2ZjAwOyB9XG4gICAgLnRoZW1lLWRhcmsgLnN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnVwZGF0ZS1jb250YWluZXIgLmljb24uc3RhbmRhcmQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjsgfVxuICAgIC50aGVtZS1ncmF5IC5zeW5jaHJvbml6YXRpb24tc3RhdHVzIC51cGRhdGUtY29udGFpbmVyIC5pY29uLnN0YW5kYXJkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0MmE1ZjU7IH1cbiAgICAudGhlbWUtd2hpdGUgLnN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnVwZGF0ZS1jb250YWluZXIgLmljb24uc3RhbmRhcmQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJjOTVmMTsgfVxuICAgIC50aGVtZS1kYXJrIC5zeW5jaHJvbml6YXRpb24tc3RhdHVzIC51cGRhdGUtY29udGFpbmVyIC5pY29uLmltcG9ydGFudCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2ZjAwOyB9XG4gICAgLnRoZW1lLWdyYXkgLnN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnVwZGF0ZS1jb250YWluZXIgLmljb24uaW1wb3J0YW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjZmMDA7IH1cbiAgICAudGhlbWUtd2hpdGUgLnN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnVwZGF0ZS1jb250YWluZXIgLmljb24uaW1wb3J0YW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjZmMDA7IH1cbiAgICAudGhlbWUtZGFyayAuc3luY2hyb25pemF0aW9uLXN0YXR1cyAudXBkYXRlLWNvbnRhaW5lciAuaWNvbi5jcml0aWNhbCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1MjUyOyB9XG4gICAgLnRoZW1lLWdyYXkgLnN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnVwZGF0ZS1jb250YWluZXIgLmljb24uY3JpdGljYWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTI1MjsgfVxuICAgIC50aGVtZS13aGl0ZSAuc3luY2hyb25pemF0aW9uLXN0YXR1cyAudXBkYXRlLWNvbnRhaW5lciAuaWNvbi5jcml0aWNhbCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1MjUyOyB9XG4gICAgLnRoZW1lLWRhcmsgLnN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnVwZGF0ZS1jb250YWluZXIgLmljb24udGltZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2ZjAwOyB9XG4gICAgLnRoZW1lLWdyYXkgLnN5bmNocm9uaXphdGlvbi1zdGF0dXMgLnVwZGF0ZS1jb250YWluZXIgLmljb24udGltZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2ZjAwOyB9XG4gICAgLnRoZW1lLXdoaXRlIC5zeW5jaHJvbml6YXRpb24tc3RhdHVzIC51cGRhdGUtY29udGFpbmVyIC5pY29uLnRpbWUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYwMDsgfVxuXG5Aa2V5ZnJhbWVzIG1vdmUge1xuICAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAtN3JlbTsgfVxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDdyZW07IH0gfVxuXG4udGhlbWUtZGFyayBhcHAtd2FsbGV0IHtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXdhbGxldCB7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtd2FsbGV0IHtcbiAgY29sb3I6ICM0MzQ1NGI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXdhbGxldCAuaGVhZGVyIGJ1dHRvbiB7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS1ncmF5IGFwcC13YWxsZXQgLmhlYWRlciBidXR0b24ge1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXdhbGxldCAuaGVhZGVyIGJ1dHRvbiB7XG4gIGNvbG9yOiAjNDM0NTRiOyB9XG5cbi50aGVtZS1kYXJrIGFwcC13YWxsZXQgLmhlYWRlciBidXR0b24gLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRiMWZmOyB9XG5cbi50aGVtZS1ncmF5IGFwcC13YWxsZXQgLmhlYWRlciBidXR0b24gLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1OyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtd2FsbGV0IC5oZWFkZXIgYnV0dG9uIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJjOTVmMTsgfVxuXG5hcHAtd2FsbGV0IC5oZWFkZXIgYnV0dG9uOmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuICAudGhlbWUtZGFyayBhcHAtd2FsbGV0IC5oZWFkZXIgYnV0dG9uOmRpc2FibGVkIC5pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU2NTc2OyB9XG4gIC50aGVtZS1ncmF5IGFwcC13YWxsZXQgLmhlYWRlciBidXR0b246ZGlzYWJsZWQgLmljb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NjVjNjI7IH1cbiAgLnRoZW1lLXdoaXRlIGFwcC13YWxsZXQgLmhlYWRlciBidXR0b246ZGlzYWJsZWQgLmljb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5MWJhZjE7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXdhbGxldCAuaGVhZGVyIC5hbGlhcyAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZGIxZmY7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXdhbGxldCAuaGVhZGVyIC5hbGlhcyAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MmE1ZjU7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC13YWxsZXQgLmhlYWRlciAuYWxpYXMgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmM5NWYxOyB9XG5cbi50aGVtZS1kYXJrIGFwcC13YWxsZXQgLmFkZHJlc3Mge1xuICBjb2xvcjogIzRkYjFmZjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtd2FsbGV0IC5hZGRyZXNzIHtcbiAgY29sb3I6ICM0MmE1ZjU7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC13YWxsZXQgLmFkZHJlc3Mge1xuICBjb2xvcjogIzJjOTVmMTsgfVxuXG4udGhlbWUtZGFyayBhcHAtd2FsbGV0IC5hZGRyZXNzIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtd2FsbGV0IC5hZGRyZXNzIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyYTVmNTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXdhbGxldCAuYWRkcmVzcyAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYzk1ZjE7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXdhbGxldCAudGFicyAudGFicy1oZWFkZXIgLnRhYiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjMsIDMxLCAzOSwgMC41KTsgfVxuXG4udGhlbWUtZ3JheSBhcHAtd2FsbGV0IC50YWJzIC50YWJzLWhlYWRlciAudGFiIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyOCwgMzAsIDMzLCAwLjUpOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtd2FsbGV0IC50YWJzIC50YWJzLWhlYWRlciAudGFiIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjQsIDIyNCwgMjI0LCAwLjUpOyB9XG5cbi50aGVtZS1kYXJrIGFwcC13YWxsZXQgLnRhYnMgLnRhYnMtaGVhZGVyIC50YWIgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRiMWZmOyB9XG5cbi50aGVtZS1ncmF5IGFwcC13YWxsZXQgLnRhYnMgLnRhYnMtaGVhZGVyIC50YWIgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1OyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtd2FsbGV0IC50YWJzIC50YWJzLWhlYWRlciAudGFiIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJjOTVmMTsgfVxuXG4udGhlbWUtZGFyayBhcHAtd2FsbGV0IC50YWJzIC50YWJzLWhlYWRlciAudGFiIC5pbmRpY2F0b3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRiMWZmO1xuICBjb2xvcjogIzExMTkyMTsgfVxuXG4udGhlbWUtZ3JheSBhcHAtd2FsbGV0IC50YWJzIC50YWJzLWhlYWRlciAudGFiIC5pbmRpY2F0b3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1O1xuICBjb2xvcjogIzFhMWExYTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXdhbGxldCAudGFicyAudGFicy1oZWFkZXIgLnRhYiAuaW5kaWNhdG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgY29sb3I6ICM0MzQ1NGI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXdhbGxldCAudGFicyAudGFicy1oZWFkZXIgLnRhYi5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQzLCA1NCwgNjgsIDAuNSk7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXdhbGxldCAudGFicyAudGFicy1oZWFkZXIgLnRhYi5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM3LCA0MCwgNDMsIDAuNSk7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC13YWxsZXQgLnRhYnMgLnRhYnMtaGVhZGVyIC50YWIuYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG5cbi50aGVtZS1kYXJrIGFwcC13YWxsZXQgLnRhYnMgLnRhYnMtaGVhZGVyIC50YWI6aG92ZXI6bm90KC5hY3RpdmUpOm5vdCguZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1OCwgNjksIDg1LCAwLjUpOyB9XG5cbi50aGVtZS1ncmF5IGFwcC13YWxsZXQgLnRhYnMgLnRhYnMtaGVhZGVyIC50YWI6aG92ZXI6bm90KC5hY3RpdmUpOm5vdCguZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1OCwgNjIsIDY2LCAwLjUpOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtd2FsbGV0IC50YWJzIC50YWJzLWhlYWRlciAudGFiOmhvdmVyOm5vdCguYWN0aXZlKTpub3QoLmRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXdhbGxldCAudGFicyAudGFicy1jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MywgNTQsIDY4LCAwLjUpOyB9XG5cbi50aGVtZS1ncmF5IGFwcC13YWxsZXQgLnRhYnMgLnRhYnMtY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzcsIDQwLCA0MywgMC41KTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXdhbGxldCAudGFicyAudGFicy1jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG5cbi50aGVtZS1kYXJrIGFwcC13YWxsZXQgLnRhYnMgLnBhZ2luYXRpb24td3JhcHBlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDMsIDU0LCA2OCwgMC41KTsgfVxuXG4udGhlbWUtZ3JheSBhcHAtd2FsbGV0IC50YWJzIC5wYWdpbmF0aW9uLXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM3LCA0MCwgNDMsIDAuNSk7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC13YWxsZXQgLnRhYnMgLnBhZ2luYXRpb24td3JhcHBlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuXG4udGhlbWUtZGFyayBhcHAtd2FsbGV0IC50YWJzIC5wYWdpbmF0aW9uLXdyYXBwZXIgLnBhZ2luYXRpb24ge1xuICBib3JkZXItdG9wOiAwLjJyZW0gc29saWQgIzJiMzY0NDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtd2FsbGV0IC50YWJzIC5wYWdpbmF0aW9uLXdyYXBwZXIgLnBhZ2luYXRpb24ge1xuICBib3JkZXItdG9wOiAwLjJyZW0gc29saWQgIzJmMzQzODsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXdhbGxldCAudGFicyAucGFnaW5hdGlvbi13cmFwcGVyIC5wYWdpbmF0aW9uIHtcbiAgYm9yZGVyLXRvcDogMC4ycmVtIHNvbGlkICNlYmViZWI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXdhbGxldCAudGFicyAucGFnaW5hdGlvbi13cmFwcGVyIC5wYWdpbmF0aW9uIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYjM2NDQ7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS1ncmF5IGFwcC13YWxsZXQgLnRhYnMgLnBhZ2luYXRpb24td3JhcHBlciAucGFnaW5hdGlvbiBidXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmYzNDM4O1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXdhbGxldCAudGFicyAucGFnaW5hdGlvbi13cmFwcGVyIC5wYWdpbmF0aW9uIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XG4gIGNvbG9yOiAjNDM0NTRiOyB9XG5cbi50aGVtZS1kYXJrIGFwcC13YWxsZXQgLnRhYnMgLnBhZ2luYXRpb24td3JhcHBlciAucGFnaW5hdGlvbiBidXR0b24uYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE4MjAyYTtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXdhbGxldCAudGFicyAucGFnaW5hdGlvbi13cmFwcGVyIC5wYWdpbmF0aW9uIGJ1dHRvbi5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjUyOTJkO1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXdhbGxldCAudGFicyAucGFnaW5hdGlvbi13cmFwcGVyIC5wYWdpbmF0aW9uIGJ1dHRvbi5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBjb2xvcjogIzQzNDU0YjsgfVxuXG4udGhlbWUtZGFyayBhcHAtd2FsbGV0IC50YWJzIC5wYWdpbmF0aW9uLXdyYXBwZXIgLnBhZ2luYXRpb24gYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNhNDg1YTtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXdhbGxldCAudGFicyAucGFnaW5hdGlvbi13cmFwcGVyIC5wYWdpbmF0aW9uIGJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzODNlNDM7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtd2FsbGV0IC50YWJzIC5wYWdpbmF0aW9uLXdyYXBwZXIgLnBhZ2luYXRpb24gYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgY29sb3I6ICM0MzQ1NGI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXNlbmQgLmZvcm0tc2VuZCAuc2VuZC1zZWxlY3Qge1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2VuZCAuZm9ybS1zZW5kIC5zZW5kLXNlbGVjdCB7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtc2VuZCAuZm9ybS1zZW5kIC5zZW5kLXNlbGVjdCB7XG4gIGNvbG9yOiAjNDM0NTRiOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zZW5kIC5mb3JtLXNlbmQgLnNlbmQtc2VsZWN0IC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc2VuZCAuZm9ybS1zZW5kIC5zZW5kLXNlbGVjdCAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MmE1ZjU7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zZW5kIC5mb3JtLXNlbmQgLnNlbmQtc2VsZWN0IC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJjOTVmMTsgfVxuXG4udGhlbWUtZGFyayBhcHAtc2VuZCAuZm9ybS1zZW5kIC5hZGRpdGlvbmFsLWRldGFpbHMge1xuICBib3JkZXI6IDAuMnJlbSBzb2xpZCAjMmIzNjQ0OyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zZW5kIC5mb3JtLXNlbmQgLmFkZGl0aW9uYWwtZGV0YWlscyB7XG4gIGJvcmRlcjogMC4ycmVtIHNvbGlkICMyZjM0Mzg7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zZW5kIC5mb3JtLXNlbmQgLmFkZGl0aW9uYWwtZGV0YWlscyB7XG4gIGJvcmRlcjogMC4ycmVtIHNvbGlkICNlYmViZWI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXJlY2VpdmUgLmJ0bi1jb3B5LWFkZHJlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRiMWZmOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1yZWNlaXZlIC5idG4tY29weS1hZGRyZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyYTVmNTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXJlY2VpdmUgLmJ0bi1jb3B5LWFkZHJlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmM5NWYxOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1oaXN0b3J5IHRhYmxlIHRib2R5IHRyLmxvY2tlZC10cmFuc2FjdGlvbiB7XG4gIGNvbG9yOiAjNTU2NTc2OyB9XG5cbi50aGVtZS1ncmF5IGFwcC1oaXN0b3J5IHRhYmxlIHRib2R5IHRyLmxvY2tlZC10cmFuc2FjdGlvbiB7XG4gIGNvbG9yOiAjNTY1YzYyOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtaGlzdG9yeSB0YWJsZSB0Ym9keSB0ci5sb2NrZWQtdHJhbnNhY3Rpb24ge1xuICBjb2xvcjogI2EwYTVhYjsgfVxuXG4udGhlbWUtZGFyayBhcHAtaGlzdG9yeSB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoNG4rMSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTgyMDJhOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1oaXN0b3J5IHRhYmxlIHRib2R5IHRyOm50aC1jaGlsZCg0bisxKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNTI5MmQ7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1oaXN0b3J5IHRhYmxlIHRib2R5IHRyOm50aC1jaGlsZCg0bisxKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cblxuLnRoZW1lLWRhcmsgYXBwLWhpc3RvcnkgdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKDRuKzIpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE4MjAyYTsgfVxuXG4udGhlbWUtZ3JheSBhcHAtaGlzdG9yeSB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoNG4rMikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjUyOTJkOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtaGlzdG9yeSB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoNG4rMikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1oaXN0b3J5IHRhYmxlIHRib2R5IHRyOm50aC1jaGlsZCg0biszKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi50aGVtZS1ncmF5IGFwcC1oaXN0b3J5IHRhYmxlIHRib2R5IHRyOm50aC1jaGlsZCg0biszKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtaGlzdG9yeSB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoNG4rMykge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4udGhlbWUtZGFyayBhcHAtaGlzdG9yeSB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoNG4rNCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtaGlzdG9yeSB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoNG4rNCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLWhpc3RvcnkgdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKDRuKzQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLnRoZW1lLWRhcmsgYXBwLWhpc3RvcnkgdGFibGUgdGJvZHkgdHIgLnN0YXR1cyAuY29uZmlybWF0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2Y0YTsgfVxuXG4udGhlbWUtZ3JheSBhcHAtaGlzdG9yeSB0YWJsZSB0Ym9keSB0ciAuc3RhdHVzIC5jb25maXJtYXRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzYzYTNlOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtaGlzdG9yeSB0YWJsZSB0Ym9keSB0ciAuc3RhdHVzIC5jb25maXJtYXRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkY2RjOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1oaXN0b3J5IHRhYmxlIHRib2R5IHRyIC5zdGF0dXMgLmNvbmZpcm1hdGlvbiAuZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1Y2RhOWQ7IH1cblxuLnRoZW1lLWdyYXkgYXBwLWhpc3RvcnkgdGFibGUgdGJvZHkgdHIgLnN0YXR1cyAuY29uZmlybWF0aW9uIC5maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ3Y2Y4ZDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLWhpc3RvcnkgdGFibGUgdGJvZHkgdHIgLnN0YXR1cyAuY29uZmlybWF0aW9uIC5maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ2YzE3MjsgfVxuXG4udGhlbWUtZGFyayBhcHAtaGlzdG9yeSB0YWJsZSB0Ym9keSB0ciAubG9jay10cmFuc2FjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjZmMDA7IH1cblxuLnRoZW1lLWdyYXkgYXBwLWhpc3RvcnkgdGFibGUgdGJvZHkgdHIgLmxvY2stdHJhbnNhY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2ZjAwOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtaGlzdG9yeSB0YWJsZSB0Ym9keSB0ciAubG9jay10cmFuc2FjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjZmMDA7IH1cblxuLnRoZW1lLWRhcmsgYXBwLWhpc3RvcnkgdGFibGUgdGJvZHkgdHIgLnVubG9jay10cmFuc2FjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZGIxZmY7IH1cblxuLnRoZW1lLWdyYXkgYXBwLWhpc3RvcnkgdGFibGUgdGJvZHkgdHIgLnVubG9jay10cmFuc2FjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MmE1ZjU7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1oaXN0b3J5IHRhYmxlIHRib2R5IHRyIC51bmxvY2stdHJhbnNhY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmM5NWYxOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1oaXN0b3J5IHRhYmxlIHRib2R5IHRyIC5zdGF0dXMuc2VuZCAuc3RhdHVzLXRyYW5zYWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTI1MjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtaGlzdG9yeSB0YWJsZSB0Ym9keSB0ciAuc3RhdHVzLnNlbmQgLnN0YXR1cy10cmFuc2FjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjUyNTI7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1oaXN0b3J5IHRhYmxlIHRib2R5IHRyIC5zdGF0dXMuc2VuZCAuc3RhdHVzLXRyYW5zYWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTI1MjsgfVxuXG4udGhlbWUtZGFyayBhcHAtaGlzdG9yeSB0YWJsZSB0Ym9keSB0ciAuc3RhdHVzLnJlY2VpdmVkIC5zdGF0dXMtdHJhbnNhY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWNkYTlkOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1oaXN0b3J5IHRhYmxlIHRib2R5IHRyIC5zdGF0dXMucmVjZWl2ZWQgLnN0YXR1cy10cmFuc2FjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0N2NmOGQ7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1oaXN0b3J5IHRhYmxlIHRib2R5IHRyIC5zdGF0dXMucmVjZWl2ZWQgLnN0YXR1cy10cmFuc2FjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NmMxNzI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLWNvbnRyYWN0cyAud3JhcC10YWJsZSAuY29udHJhY3QgLmljb24ubmV3LCAudGhlbWUtZGFyayBhcHAtY29udHJhY3RzIC53cmFwLXRhYmxlIC5jb250cmFjdCAuaWNvbi5hbGVydCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjUyNTI7IH1cblxuLnRoZW1lLWdyYXkgYXBwLWNvbnRyYWN0cyAud3JhcC10YWJsZSAuY29udHJhY3QgLmljb24ubmV3LCAudGhlbWUtZ3JheSBhcHAtY29udHJhY3RzIC53cmFwLXRhYmxlIC5jb250cmFjdCAuaWNvbi5hbGVydCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjUyNTI7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1jb250cmFjdHMgLndyYXAtdGFibGUgLmNvbnRyYWN0IC5pY29uLm5ldywgLnRoZW1lLXdoaXRlIGFwcC1jb250cmFjdHMgLndyYXAtdGFibGUgLmNvbnRyYWN0IC5pY29uLmFsZXJ0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTI1MjsgfVxuXG4udGhlbWUtZGFyayBhcHAtY29udHJhY3RzIC53cmFwLXRhYmxlIC5jb250cmFjdCAuaWNvbi5wdXJjaGFzZSwgLnRoZW1lLWRhcmsgYXBwLWNvbnRyYWN0cyAud3JhcC10YWJsZSAuY29udHJhY3QgLmljb24uc2VsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZGIxZmY7IH1cblxuLnRoZW1lLWdyYXkgYXBwLWNvbnRyYWN0cyAud3JhcC10YWJsZSAuY29udHJhY3QgLmljb24ucHVyY2hhc2UsIC50aGVtZS1ncmF5IGFwcC1jb250cmFjdHMgLndyYXAtdGFibGUgLmNvbnRyYWN0IC5pY29uLnNlbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1OyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtY29udHJhY3RzIC53cmFwLXRhYmxlIC5jb250cmFjdCAuaWNvbi5wdXJjaGFzZSwgLnRoZW1lLXdoaXRlIGFwcC1jb250cmFjdHMgLndyYXAtdGFibGUgLmNvbnRyYWN0IC5pY29uLnNlbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmM5NWYxOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1wdXJjaGFzZSAuZm9ybS1wdXJjaGFzZSAucHVyY2hhc2Utc2VsZWN0IHtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXB1cmNoYXNlIC5mb3JtLXB1cmNoYXNlIC5wdXJjaGFzZS1zZWxlY3Qge1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXB1cmNoYXNlIC5mb3JtLXB1cmNoYXNlIC5wdXJjaGFzZS1zZWxlY3Qge1xuICBjb2xvcjogIzQzNDU0YjsgfVxuXG4udGhlbWUtZGFyayBhcHAtcHVyY2hhc2UgLmZvcm0tcHVyY2hhc2UgLnB1cmNoYXNlLXNlbGVjdCAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZGIxZmY7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXB1cmNoYXNlIC5mb3JtLXB1cmNoYXNlIC5wdXJjaGFzZS1zZWxlY3QgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1OyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtcHVyY2hhc2UgLmZvcm0tcHVyY2hhc2UgLnB1cmNoYXNlLXNlbGVjdCAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYzk1ZjE7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXB1cmNoYXNlIC5mb3JtLXB1cmNoYXNlIC5wdXJjaGFzZS1zdGF0ZXMge1xuICBjb2xvcjogIzRkYjFmZjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtcHVyY2hhc2UgLmZvcm0tcHVyY2hhc2UgLnB1cmNoYXNlLXN0YXRlcyB7XG4gIGNvbG9yOiAjNDJhNWY1OyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtcHVyY2hhc2UgLmZvcm0tcHVyY2hhc2UgLnB1cmNoYXNlLXN0YXRlcyB7XG4gIGNvbG9yOiAjMmM5NWYxOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1wdXJjaGFzZSAuZm9ybS1wdXJjaGFzZSAuYWRkaXRpb25hbC1kZXRhaWxzIHtcbiAgYm9yZGVyOiAwLjJyZW0gc29saWQgIzJiMzY0NDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtcHVyY2hhc2UgLmZvcm0tcHVyY2hhc2UgLmFkZGl0aW9uYWwtZGV0YWlscyB7XG4gIGJvcmRlcjogMC4ycmVtIHNvbGlkICMyZjM0Mzg7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1wdXJjaGFzZSAuZm9ybS1wdXJjaGFzZSAuYWRkaXRpb25hbC1kZXRhaWxzIHtcbiAgYm9yZGVyOiAwLjJyZW0gc29saWQgI2ViZWJlYjsgfVxuXG4udGhlbWUtZGFyayBhcHAtcHVyY2hhc2UgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDNmNGE7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXB1cmNoYXNlIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIC5wcm9ncmVzcy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzYzYTNlOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtcHVyY2hhc2UgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkY2RjZGM7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXB1cmNoYXNlIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIC5wcm9ncmVzcy1iYXIgLnByb2dyZXNzLWJhci1mdWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVjZGE5ZDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtcHVyY2hhc2UgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnByb2dyZXNzLWJhciAucHJvZ3Jlc3MtYmFyLWZ1bGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDdjZjhkOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtcHVyY2hhc2UgLnByb2dyZXNzLWJhci1jb250YWluZXIgLnByb2dyZXNzLWJhciAucHJvZ3Jlc3MtYmFyLWZ1bGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDZjMTcyOyB9XG5cbmFwcC1tZXNzYWdlcyB0YWJsZSB0Ym9keSB0ciB0ZDpmaXJzdC1jaGlsZCBzcGFuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLnRoZW1lLWRhcmsgYXBwLW1lc3NhZ2VzIHRhYmxlIHRib2R5IHRyIHRkOmZpcnN0LWNoaWxkIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTI1MjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtbWVzc2FnZXMgdGFibGUgdGJvZHkgdHIgdGQ6Zmlyc3QtY2hpbGQgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1MjUyOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtbWVzc2FnZXMgdGFibGUgdGJvZHkgdHIgdGQ6Zmlyc3QtY2hpbGQgLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1MjUyOyB9XG5cbi50aGVtZS1kYXJrIGFwcC10eXBpbmctbWVzc2FnZSAuaGVhZCAuaW50ZXJsb2N1dG9yIHtcbiAgY29sb3I6ICM0ZGIxZmY7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXR5cGluZy1tZXNzYWdlIC5oZWFkIC5pbnRlcmxvY3V0b3Ige1xuICBjb2xvcjogIzQyYTVmNTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXR5cGluZy1tZXNzYWdlIC5oZWFkIC5pbnRlcmxvY3V0b3Ige1xuICBjb2xvcjogIzJjOTVmMTsgfVxuXG4udGhlbWUtZGFyayBhcHAtdHlwaW5nLW1lc3NhZ2UgLm1lc3NhZ2VzLWNvbnRlbnQgLm1lc3NhZ2VzLWxpc3QgZGl2LmRhdGUge1xuICBjb2xvcjogIzU1NjU3NjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtdHlwaW5nLW1lc3NhZ2UgLm1lc3NhZ2VzLWNvbnRlbnQgLm1lc3NhZ2VzLWxpc3QgZGl2LmRhdGUge1xuICBjb2xvcjogIzU2NWM2MjsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXR5cGluZy1tZXNzYWdlIC5tZXNzYWdlcy1jb250ZW50IC5tZXNzYWdlcy1saXN0IGRpdi5kYXRlIHtcbiAgY29sb3I6ICNhMGE1YWI7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXR5cGluZy1tZXNzYWdlIC5tZXNzYWdlcy1jb250ZW50IC5tZXNzYWdlcy1saXN0IGRpdi5teSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYTM1NDQ7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXR5cGluZy1tZXNzYWdlIC5tZXNzYWdlcy1jb250ZW50IC5tZXNzYWdlcy1saXN0IGRpdi5teSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMDM2M2M7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC10eXBpbmctbWVzc2FnZSAubWVzc2FnZXMtY29udGVudCAubWVzc2FnZXMtbGlzdCBkaXYubXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG5cbmFwcC10eXBpbmctbWVzc2FnZSAubWVzc2FnZXMtY29udGVudCAubWVzc2FnZXMtbGlzdCBkaXYubXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAtMS4xcmVtO1xuICBib3JkZXI6IDEuMnJlbSBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAudGhlbWUtZGFyayBhcHAtdHlwaW5nLW1lc3NhZ2UgLm1lc3NhZ2VzLWNvbnRlbnQgLm1lc3NhZ2VzLWxpc3QgZGl2Lm15OmJlZm9yZSB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzJhMzU0NDsgfVxuICAudGhlbWUtZ3JheSBhcHAtdHlwaW5nLW1lc3NhZ2UgLm1lc3NhZ2VzLWNvbnRlbnQgLm1lc3NhZ2VzLWxpc3QgZGl2Lm15OmJlZm9yZSB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzMwMzYzYzsgfVxuICAudGhlbWUtd2hpdGUgYXBwLXR5cGluZy1tZXNzYWdlIC5tZXNzYWdlcy1jb250ZW50IC5tZXNzYWdlcy1saXN0IGRpdi5teTpiZWZvcmUge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmY7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXR5cGluZy1tZXNzYWdlIC5tZXNzYWdlcy1jb250ZW50IC5tZXNzYWdlcy1saXN0IGRpdi5idWRkeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxODIwMmE7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXR5cGluZy1tZXNzYWdlIC5tZXNzYWdlcy1jb250ZW50IC5tZXNzYWdlcy1saXN0IGRpdi5idWRkeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNTI5MmQ7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC10eXBpbmctbWVzc2FnZSAubWVzc2FnZXMtY29udGVudCAubWVzc2FnZXMtbGlzdCBkaXYuYnVkZHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkOyB9XG5cbmFwcC10eXBpbmctbWVzc2FnZSAubWVzc2FnZXMtY29udGVudCAubWVzc2FnZXMtbGlzdCBkaXYuYnVkZHk6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogLTEuMXJlbTtcbiAgdG9wOiAwO1xuICBib3JkZXI6IDEuMnJlbSBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAudGhlbWUtZGFyayBhcHAtdHlwaW5nLW1lc3NhZ2UgLm1lc3NhZ2VzLWNvbnRlbnQgLm1lc3NhZ2VzLWxpc3QgZGl2LmJ1ZGR5OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMTgyMDJhOyB9XG4gIC50aGVtZS1ncmF5IGFwcC10eXBpbmctbWVzc2FnZSAubWVzc2FnZXMtY29udGVudCAubWVzc2FnZXMtbGlzdCBkaXYuYnVkZHk6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMyNTI5MmQ7IH1cbiAgLnRoZW1lLXdoaXRlIGFwcC10eXBpbmctbWVzc2FnZSAubWVzc2FnZXMtY29udGVudCAubWVzc2FnZXMtbGlzdCBkaXYuYnVkZHk6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNlZGVkZWQ7IH1cblxuLnRoZW1lLWRhcmsgYXBwLXN0YWtpbmcgLmNoYXJ0LWhlYWRlciAuZ2VuZXJhbCAubGFiZWwge1xuICBjb2xvcjogIzU1NjU3NjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc3Rha2luZyAuY2hhcnQtaGVhZGVyIC5nZW5lcmFsIC5sYWJlbCB7XG4gIGNvbG9yOiAjNTY1YzYyOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtc3Rha2luZyAuY2hhcnQtaGVhZGVyIC5nZW5lcmFsIC5sYWJlbCB7XG4gIGNvbG9yOiAjYTBhNWFiOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zdGFraW5nIC5jaGFydC1oZWFkZXIgLmdlbmVyYWwgLm9wdGlvbnMge1xuICBjb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc3Rha2luZyAuY2hhcnQtaGVhZGVyIC5nZW5lcmFsIC5vcHRpb25zIHtcbiAgY29sb3I6ICNlMGUwZTA7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zdGFraW5nIC5jaGFydC1oZWFkZXIgLmdlbmVyYWwgLm9wdGlvbnMge1xuICBjb2xvcjogIzQzNDU0YjsgfVxuXG5hcHAtc3Rha2luZyAuY2hhcnQtaGVhZGVyIC5zZWxlY3RlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZm9udC1zaXplOiAxLjZyZW07IH1cblxuLnRoZW1lLWRhcmsgYXBwLXN0YWtpbmcgLmNoYXJ0LW9wdGlvbnMgLnRpdGxlIHtcbiAgY29sb3I6ICM1NTY1NzY7IH1cblxuLnRoZW1lLWdyYXkgYXBwLXN0YWtpbmcgLmNoYXJ0LW9wdGlvbnMgLnRpdGxlIHtcbiAgY29sb3I6ICM1NjVjNjI7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1zdGFraW5nIC5jaGFydC1vcHRpb25zIC50aXRsZSB7XG4gIGNvbG9yOiAjYTBhNWFiOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1zdGFraW5nIC5jaGFydC1vcHRpb25zIC5vcHRpb25zIGJ1dHRvbiB7XG4gIGNvbG9yOiAjZTBlMGUwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmIzNjQ0OyB9XG5cbi50aGVtZS1ncmF5IGFwcC1zdGFraW5nIC5jaGFydC1vcHRpb25zIC5vcHRpb25zIGJ1dHRvbiB7XG4gIGNvbG9yOiAjZTBlMGUwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjkyZDMxOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtc3Rha2luZyAuY2hhcnQtb3B0aW9ucyAub3B0aW9ucyBidXR0b24ge1xuICBjb2xvcjogIzQzNDU0YjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTBlMDsgfVxuXG4udGhlbWUtZGFyayBhcHAtc3Rha2luZyAuY2hhcnQtb3B0aW9ucyAub3B0aW9ucyBidXR0b24uYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NjU3NjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtc3Rha2luZyAuY2hhcnQtb3B0aW9ucyAub3B0aW9ucyBidXR0b24uYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUxNTk2MDsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLXN0YWtpbmcgLmNoYXJ0LW9wdGlvbnMgLm9wdGlvbnMgYnV0dG9uLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cblxuLmlucHV0LWJsb2NrLWFsaWFzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pbnB1dC1ibG9jay1hbGlhcyAuYWxpYXMtZHJvcGRvd24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDYuNXJlbTtcbiAgICBtYXgtaGVpZ2h0OiAxMHJlbTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC50aGVtZS1kYXJrIC5pbnB1dC1ibG9jay1hbGlhcyAuYWxpYXMtZHJvcGRvd24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE3MWUyNztcbiAgICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gICAgLnRoZW1lLWdyYXkgLmlucHV0LWJsb2NrLWFsaWFzIC5hbGlhcy1kcm9wZG93biB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjkyZDMxO1xuICAgICAgY29sb3I6ICNlMGUwZTA7IH1cbiAgICAudGhlbWUtd2hpdGUgLmlucHV0LWJsb2NrLWFsaWFzIC5hbGlhcy1kcm9wZG93biB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICAgICAgY29sb3I6ICM0MzQ1NGI7IH1cbiAgICAuaW5wdXQtYmxvY2stYWxpYXMgLmFsaWFzLWRyb3Bkb3duIGRpdiB7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIHBhZGRpbmc6IDFyZW07IH1cbiAgICAgIC50aGVtZS1kYXJrIC5pbnB1dC1ibG9jay1hbGlhcyAuYWxpYXMtZHJvcGRvd24gZGl2OmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1OCwgNjksIDg1LCAwLjUpOyB9XG4gICAgICAudGhlbWUtZ3JheSAuaW5wdXQtYmxvY2stYWxpYXMgLmFsaWFzLWRyb3Bkb3duIGRpdjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTgsIDYyLCA2NiwgMC41KTsgfVxuICAgICAgLnRoZW1lLXdoaXRlIC5pbnB1dC1ibG9jay1hbGlhcyAuYWxpYXMtZHJvcGRvd24gZGl2OmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDAsIDI0MCwgMjQwLCAwLjUpOyB9XG5cbmFwcC1jb250YWN0cywgYXBwLWFkZC1jb250YWN0cyxcbmFwcC1jb250YWN0LXNlbmQsIGFwcC1leHBvcnQtaW1wb3J0IHtcbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6IDNyZW07XG4gIG1pbi13aWR0aDogODVyZW07IH1cbiAgYXBwLWNvbnRhY3RzIC5jb250ZW50LCBhcHAtYWRkLWNvbnRhY3RzIC5jb250ZW50LFxuICBhcHAtY29udGFjdC1zZW5kIC5jb250ZW50LCBhcHAtZXhwb3J0LWltcG9ydCAuY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDNyZW07XG4gICAgbWluLWhlaWdodDogMTAwJTsgfVxuICAgIC50aGVtZS1kYXJrIGFwcC1jb250YWN0cyAuY29udGVudCwgLnRoZW1lLWRhcmsgYXBwLWFkZC1jb250YWN0cyAuY29udGVudCwgLnRoZW1lLWRhcmtcbiAgICBhcHAtY29udGFjdC1zZW5kIC5jb250ZW50LCAudGhlbWUtZGFyayBhcHAtZXhwb3J0LWltcG9ydCAuY29udGVudCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQzLCA1NCwgNjgsIDAuNSk7XG4gICAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAgIC50aGVtZS1ncmF5IGFwcC1jb250YWN0cyAuY29udGVudCwgLnRoZW1lLWdyYXkgYXBwLWFkZC1jb250YWN0cyAuY29udGVudCwgLnRoZW1lLWdyYXlcbiAgICBhcHAtY29udGFjdC1zZW5kIC5jb250ZW50LCAudGhlbWUtZ3JheSBhcHAtZXhwb3J0LWltcG9ydCAuY29udGVudCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM3LCA0MCwgNDMsIDAuNSk7XG4gICAgICBjb2xvcjogI2UwZTBlMDsgfVxuICAgIC50aGVtZS13aGl0ZSBhcHAtY29udGFjdHMgLmNvbnRlbnQsIC50aGVtZS13aGl0ZSBhcHAtYWRkLWNvbnRhY3RzIC5jb250ZW50LCAudGhlbWUtd2hpdGVcbiAgICBhcHAtY29udGFjdC1zZW5kIC5jb250ZW50LCAudGhlbWUtd2hpdGUgYXBwLWV4cG9ydC1pbXBvcnQgLmNvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgICAgY29sb3I6ICM0MzQ1NGI7IH1cbiAgICBhcHAtY29udGFjdHMgLmNvbnRlbnQgLmhlYWQsIGFwcC1hZGQtY29udGFjdHMgLmNvbnRlbnQgLmhlYWQsXG4gICAgYXBwLWNvbnRhY3Qtc2VuZCAuY29udGVudCAuaGVhZCwgYXBwLWV4cG9ydC1pbXBvcnQgLmNvbnRlbnQgLmhlYWQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDsgfVxuXG4udGhlbWUtZGFyayBhcHAtY29udGFjdHMgdGFibGUgLmFsaWFzIHtcbiAgY29sb3I6ICM0ZGIxZmY7IH1cblxuLnRoZW1lLWdyYXkgYXBwLWNvbnRhY3RzIHRhYmxlIC5hbGlhcyB7XG4gIGNvbG9yOiAjNDJhNWY1OyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtY29udGFjdHMgdGFibGUgLmFsaWFzIHtcbiAgY29sb3I6ICMyYzk1ZjE7IH1cblxuLnRoZW1lLWRhcmsgYXBwLWNvbnRhY3RzIHRhYmxlIGJ1dHRvbiAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZGIxZmY7IH1cblxuLnRoZW1lLWdyYXkgYXBwLWNvbnRhY3RzIHRhYmxlIGJ1dHRvbiAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MmE1ZjU7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1jb250YWN0cyB0YWJsZSBidXR0b24gLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmM5NWYxOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1jb250YWN0cyB0YWJsZSBidXR0b24gc3BhbiB7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1jb250YWN0cyB0YWJsZSBidXR0b24gc3BhbiB7XG4gIGNvbG9yOiAjZTBlMGUwOyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtY29udGFjdHMgdGFibGUgYnV0dG9uIHNwYW4ge1xuICBjb2xvcjogIzQzNDU0YjsgfVxuXG4udGhlbWUtZGFyayBhcHAtY29udGFjdHMgLmZvb3RlciB7XG4gIGNvbG9yOiAjNGRiMWZmOyB9XG5cbi50aGVtZS1ncmF5IGFwcC1jb250YWN0cyAuZm9vdGVyIHtcbiAgY29sb3I6ICM0MmE1ZjU7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1jb250YWN0cyAuZm9vdGVyIHtcbiAgY29sb3I6ICMyYzk1ZjE7IH1cblxuLnRoZW1lLWRhcmsgYXBwLWNvbnRhY3RzIC5mb290ZXIgLmltcG9ydC1idG4ge1xuICBjb2xvcjogIzRkYjFmZjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtY29udGFjdHMgLmZvb3RlciAuaW1wb3J0LWJ0biB7XG4gIGNvbG9yOiAjNDJhNWY1OyB9XG5cbi50aGVtZS13aGl0ZSBhcHAtY29udGFjdHMgLmZvb3RlciAuaW1wb3J0LWJ0biB7XG4gIGNvbG9yOiAjMmM5NWYxOyB9XG5cbi50aGVtZS1kYXJrIGFwcC1jb250YWN0cyAuZm9vdGVyIC5pbXBvcnQtYnRuIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtY29udGFjdHMgLmZvb3RlciAuaW1wb3J0LWJ0biAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MmE1ZjU7IH1cblxuLnRoZW1lLXdoaXRlIGFwcC1jb250YWN0cyAuZm9vdGVyIC5pbXBvcnQtYnRuIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJjOTVmMTsgfVxuXG4udGhlbWUtZGFyayBhcHAtY29udGFjdC1zZW5kIC53YWxsZXRzLXNlbGVjdGlvbiBidXR0b24ge1xuICBjb2xvcjogIzRkYjFmZjsgfVxuXG4udGhlbWUtZ3JheSBhcHAtY29udGFjdC1zZW5kIC53YWxsZXRzLXNlbGVjdGlvbiBidXR0b24ge1xuICBjb2xvcjogIzQyYTVmNTsgfVxuXG4udGhlbWUtd2hpdGUgYXBwLWNvbnRhY3Qtc2VuZCAud2FsbGV0cy1zZWxlY3Rpb24gYnV0dG9uIHtcbiAgY29sb3I6ICMyYzk1ZjE7IH1cblxuLmZvcm0tZGV0YWlscyB7XG4gIG1hcmdpbi10b3A6IDEuOHJlbTsgfVxuICAuZm9ybS1kZXRhaWxzIC5pbnB1dC1ibG9jazpmaXJzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZm9ybS1kZXRhaWxzIC53YWxsZXQtYnV0dG9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC5mb3JtLWRldGFpbHMgLndhbGxldC1idXR0b25zIGJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDIuOXJlbSAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDE1cmVtOyB9XG5cbi5mb3JtLXNlZWQgbGFiZWwge1xuICBmb250LXNpemU6IDEuM3JlbTtcbiAgbGluZS1oZWlnaHQ6IDIuNHJlbTsgfVxuICAudGhlbWUtZGFyayAuZm9ybS1zZWVkIGxhYmVsIHtcbiAgICBjb2xvcjogIzU1NjU3NjsgfVxuICAudGhlbWUtZ3JheSAuZm9ybS1zZWVkIGxhYmVsIHtcbiAgICBjb2xvcjogIzU2NWM2MjsgfVxuICAudGhlbWUtd2hpdGUgLmZvcm0tc2VlZCBsYWJlbCB7XG4gICAgY29sb3I6ICNhMGE1YWI7IH1cblxuLmZvcm0tc2VlZCAuZm9ybS1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDNyZW07XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC50aGVtZS1kYXJrIC5mb3JtLXNlZWQgLmZvcm0tY29udGVudCB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzJiMzY0NDsgfVxuICAudGhlbWUtZ3JheSAuZm9ybS1zZWVkIC5mb3JtLWNvbnRlbnQge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMyZjM0Mzg7IH1cbiAgLnRoZW1lLXdoaXRlIC5mb3JtLXNlZWQgLmZvcm0tY29udGVudCB7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ViZWJlYjsgfVxuXG4uZm9ybS1zZWVkIC50ZXh0LWNvcmFsIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC50aGVtZS1kYXJrIC5mb3JtLXNlZWQgLnRleHQtY29yYWwge1xuICAgIGNvbG9yOiAjNGRiMWZmOyB9XG4gIC50aGVtZS1ncmF5IC5mb3JtLXNlZWQgLnRleHQtY29yYWwge1xuICAgIGNvbG9yOiAjNDJhNWY1OyB9XG4gIC50aGVtZS13aGl0ZSAuZm9ybS1zZWVkIC50ZXh0LWNvcmFsIHtcbiAgICBjb2xvcjogIzJjOTVmMTsgfVxuXG4uZm9ybS1zZWVkIC5zZWVkLXBocmFzZS1mb3JtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1heC13aWR0aDogMzhyZW07XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5mb3JtLXNlZWQgLnNlZWQtcGhyYXNlLWZvcm0gLmlucHV0LWJsb2NrLFxuICAuZm9ybS1zZWVkIC5zZWVkLXBocmFzZS1mb3JtIGJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmZvcm0tc2VlZCAuc2VlZC1waHJhc2UtZm9ybSAuZXJyb3ItbWVzc2FnZSB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAgIC50aGVtZS1kYXJrIC5mb3JtLXNlZWQgLnNlZWQtcGhyYXNlLWZvcm0gLmVycm9yLW1lc3NhZ2Uge1xuICAgICAgY29sb3I6ICNmZjZmMDA7IH1cbiAgICAudGhlbWUtZ3JheSAuZm9ybS1zZWVkIC5zZWVkLXBocmFzZS1mb3JtIC5lcnJvci1tZXNzYWdlIHtcbiAgICAgIGNvbG9yOiAjZmY2ZjAwOyB9XG4gICAgLnRoZW1lLXdoaXRlIC5mb3JtLXNlZWQgLnNlZWQtcGhyYXNlLWZvcm0gLmVycm9yLW1lc3NhZ2Uge1xuICAgICAgY29sb3I6ICNmZjZmMDA7IH1cbiAgLmZvcm0tc2VlZCAuc2VlZC1waHJhc2UtZm9ybSAuc2VjdXJlZC1zZWVkIHtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMi40cmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLnRoZW1lLWRhcmsgLmZvcm0tc2VlZCAuc2VlZC1waHJhc2UtZm9ybSAuc2VjdXJlZC1zZWVkIHtcbiAgICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gICAgLnRoZW1lLWdyYXkgLmZvcm0tc2VlZCAuc2VlZC1waHJhc2UtZm9ybSAuc2VjdXJlZC1zZWVkIHtcbiAgICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gICAgLnRoZW1lLXdoaXRlIC5mb3JtLXNlZWQgLnNlZWQtcGhyYXNlLWZvcm0gLnNlY3VyZWQtc2VlZCB7XG4gICAgICBjb2xvcjogI2EwYTVhYjsgfVxuICAgIC5mb3JtLXNlZWQgLnNlZWQtcGhyYXNlLWZvcm0gLnNlY3VyZWQtc2VlZCAuaWNvbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuMnJlbTsgfVxuICAuZm9ybS1zZWVkIC5zZWVkLXBocmFzZS1mb3JtIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAgIC5mb3JtLXNlZWQgLnNlZWQtcGhyYXNlLWZvcm0gYnV0dG9uIC5pY29uIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMS4ycmVtOyB9XG5cbi5zZWVkLXBocmFzZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG4gIC5zZWVkLXBocmFzZS10aXRsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC50aGVtZS1kYXJrIC5zZWVkLXBocmFzZS10aXRsZSB7XG4gICAgICBjb2xvcjogIzU1NjU3NjsgfVxuICAgIC50aGVtZS1ncmF5IC5zZWVkLXBocmFzZS10aXRsZSB7XG4gICAgICBjb2xvcjogIzU2NWM2MjsgfVxuICAgIC50aGVtZS13aGl0ZSAuc2VlZC1waHJhc2UtdGl0bGUge1xuICAgICAgY29sb3I6ICNhMGE1YWI7IH1cbiAgICAuc2VlZC1waHJhc2UtdGl0bGUgLnJpZ2h0LXBhcnQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAuc2VlZC1waHJhc2UtdGl0bGUgLnJpZ2h0LXBhcnQgLmljb24ge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHdpZHRoOiAxLjdyZW07XG4gICAgICAgIGhlaWdodDogMS43cmVtOyB9XG4gICAgICAgIC5zZWVkLXBocmFzZS10aXRsZSAucmlnaHQtcGFydCAuaWNvbi5jb3B5IHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMnJlbTtcbiAgICAgICAgICBtYXNrOiB1cmwofnNyYy9hc3NldHMvaWNvbnMvY29weS5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7IH1cbiAgICAgICAgICAudGhlbWUtZGFyayAuc2VlZC1waHJhc2UtdGl0bGUgLnJpZ2h0LXBhcnQgLmljb24uY29weSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRiMWZmOyB9XG4gICAgICAgICAgLnRoZW1lLWdyYXkgLnNlZWQtcGhyYXNlLXRpdGxlIC5yaWdodC1wYXJ0IC5pY29uLmNvcHkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQyYTVmNTsgfVxuICAgICAgICAgIC50aGVtZS13aGl0ZSAuc2VlZC1waHJhc2UtdGl0bGUgLnJpZ2h0LXBhcnQgLmljb24uY29weSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmM5NWYxOyB9XG4gICAgICAgICAgLnNlZWQtcGhyYXNlLXRpdGxlIC5yaWdodC1wYXJ0IC5pY29uLmNvcHk6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMC43NTsgfVxuICAgICAgICAuc2VlZC1waHJhc2UtdGl0bGUgLnJpZ2h0LXBhcnQgLmljb24uY29waWVkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMnJlbTtcbiAgICAgICAgICBtYXNrOiB1cmwofnNyYy9hc3NldHMvaWNvbnMvY29tcGxldGUtdGVzdHdhbGxldC5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7IH1cbiAgICAgICAgICAudGhlbWUtZGFyayAuc2VlZC1waHJhc2UtdGl0bGUgLnJpZ2h0LXBhcnQgLmljb24uY29waWVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZGIxZmY7IH1cbiAgICAgICAgICAudGhlbWUtZ3JheSAuc2VlZC1waHJhc2UtdGl0bGUgLnJpZ2h0LXBhcnQgLmljb24uY29waWVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0MmE1ZjU7IH1cbiAgICAgICAgICAudGhlbWUtd2hpdGUgLnNlZWQtcGhyYXNlLXRpdGxlIC5yaWdodC1wYXJ0IC5pY29uLmNvcGllZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmM5NWYxOyB9XG4gICAgICAgIC5zZWVkLXBocmFzZS10aXRsZSAucmlnaHQtcGFydCAuaWNvbi5zZWN1cmVkLCAuc2VlZC1waHJhc2UtdGl0bGUgLnJpZ2h0LXBhcnQgLmljb24udW5zZWN1cmVkIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMS4ycmVtOyB9XG4gICAgICAuc2VlZC1waHJhc2UtdGl0bGUgLnJpZ2h0LXBhcnQgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMi40cmVtO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgICAuc2VlZC1waHJhc2UtdGl0bGUgLnJpZ2h0LXBhcnQgc3BhbiAuaWNvbiB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDEuMnJlbTsgfVxuICAuc2VlZC1waHJhc2UtY29udGVudCB7XG4gICAgcGFkZGluZzogMXJlbSAwIDFyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICAgLnRoZW1lLWRhcmsgLnNlZWQtcGhyYXNlLWNvbnRlbnQge1xuICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICMyYjM2NDQ7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzJiMzY0NDsgfVxuICAgIC50aGVtZS1ncmF5IC5zZWVkLXBocmFzZS1jb250ZW50IHtcbiAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjMmYzNDM4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyZjM0Mzg7IH1cbiAgICAudGhlbWUtd2hpdGUgLnNlZWQtcGhyYXNlLWNvbnRlbnQge1xuICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNlYmViZWI7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ViZWJlYjsgfVxuICAgIC5zZWVkLXBocmFzZS1jb250ZW50IC5pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcGFkZGluZzogMCAycmVtO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDcpO1xuICAgICAgbWluLWhlaWdodDogMzVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4zcmVtOyB9XG4gICAgICAudGhlbWUtZGFyayAuc2VlZC1waHJhc2UtY29udGVudCAuaXRlbSB7XG4gICAgICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gICAgICAudGhlbWUtZ3JheSAuc2VlZC1waHJhc2UtY29udGVudCAuaXRlbSB7XG4gICAgICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gICAgICAudGhlbWUtd2hpdGUgLnNlZWQtcGhyYXNlLWNvbnRlbnQgLml0ZW0ge1xuICAgICAgICBjb2xvcjogIzQzNDU0YjsgfVxuICAgICAgLnRoZW1lLWRhcmsgLnNlZWQtcGhyYXNlLWNvbnRlbnQgLml0ZW0uZGFyayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxODIwMmE7IH1cbiAgICAgIC50aGVtZS1ncmF5IC5zZWVkLXBocmFzZS1jb250ZW50IC5pdGVtLmRhcmsge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjkyZDMxOyB9XG4gICAgICAudGhlbWUtd2hpdGUgLnNlZWQtcGhyYXNlLWNvbnRlbnQgLml0ZW0uZGFyayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cbiAgLnNlZWQtcGhyYXNlLWZvb3RlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnNlZWQtcGhyYXNlLWZvb3RlciAudGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICBsaW5lLWhlaWdodDogMi40cmVtOyB9XG4gICAgICAudGhlbWUtZGFyayAuc2VlZC1waHJhc2UtZm9vdGVyIC50aXRsZSB7XG4gICAgICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gICAgICAudGhlbWUtZ3JheSAuc2VlZC1waHJhc2UtZm9vdGVyIC50aXRsZSB7XG4gICAgICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gICAgICAudGhlbWUtd2hpdGUgLnNlZWQtcGhyYXNlLWZvb3RlciAudGl0bGUge1xuICAgICAgICBjb2xvcjogIzQzNDU0YjsgfVxuXG4uaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB3aWR0aDogMS42cmVtO1xuICBoZWlnaHQ6IDEuNnJlbTsgfVxuICAuaWNvbi5zZWN1cmVkIHtcbiAgICBtYXNrOiB1cmwofnNyYy9hc3NldHMvaWNvbnMvc2VjdXJlZC5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7IH1cbiAgICAudGhlbWUtZGFyayAuaWNvbi5zZWN1cmVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1Y2RhOWQ7IH1cbiAgICAudGhlbWUtZ3JheSAuaWNvbi5zZWN1cmVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0N2NmOGQ7IH1cbiAgICAudGhlbWUtd2hpdGUgLmljb24uc2VjdXJlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDZjMTcyOyB9XG4gIC5pY29uLmluZm8ge1xuICAgIG1hc2s6IHVybCh+c3JjL2Fzc2V0cy9pY29ucy9pbmZvLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjsgfVxuICAgIC50aGVtZS1kYXJrIC5pY29uLmluZm8ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjsgfVxuICAgIC50aGVtZS1ncmF5IC5pY29uLmluZm8ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQyYTVmNTsgfVxuICAgIC50aGVtZS13aGl0ZSAuaWNvbi5pbmZvIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyYzk1ZjE7IH1cbiAgLmljb24udW5zZWN1cmVkIHtcbiAgICBtYXNrOiB1cmwofnNyYy9hc3NldHMvaWNvbnMvdW5zZWN1cmVkLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjsgfVxuICAgIC50aGVtZS1kYXJrIC5pY29uLnVuc2VjdXJlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2ZjAwOyB9XG4gICAgLnRoZW1lLWdyYXkgLmljb24udW5zZWN1cmVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjZmMDA7IH1cbiAgICAudGhlbWUtd2hpdGUgLmljb24udW5zZWN1cmVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjZmMDA7IH1cbiAgLmljb24uc2FmZXR5IHtcbiAgICBtYXNrOiB1cmwofnNyYy9hc3NldHMvaWNvbnMvc2FmZXR5LnN2Zykgbm8tcmVwZWF0IGNlbnRlcjsgfVxuICAgIC50aGVtZS1kYXJrIC5pY29uLnNhZmV0eSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTExOTIxOyB9XG4gICAgLnRoZW1lLWdyYXkgLmljb24uc2FmZXR5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxYTFhMWE7IH1cbiAgICAudGhlbWUtd2hpdGUgLmljb24uc2FmZXR5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cblxuLndyYXAtYnV0dG9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLndyYXAtYnV0dG9ucyAuc2VlZC1waHJhc2UtYnV0dG9uIHtcbiAgICBtYXJnaW46IDIuOHJlbSAwO1xuICAgIHdpZHRoOiAyNSU7XG4gICAgbWluLXdpZHRoOiAxLjVyZW07IH1cbiAgLndyYXAtYnV0dG9ucyAuY29weS1idXR0b24ge1xuICAgIG1hcmdpbjogMi44cmVtIDFyZW07XG4gICAgd2lkdGg6IDI1JTtcbiAgICBtaW4td2lkdGg6IDEuNXJlbTsgfVxuXG4uaGVhZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBmb250LXNpemU6IDEuM3JlbTtcbiAgcGFkZGluZzogMCAzcmVtO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAzcmVtOyB9XG4gIC50aGVtZS1kYXJrIC5oZWFkIHtcbiAgICBjb2xvcjogIzRkYjFmZjsgfVxuICAudGhlbWUtZ3JheSAuaGVhZCB7XG4gICAgY29sb3I6ICM0MmE1ZjU7IH1cbiAgLnRoZW1lLXdoaXRlIC5oZWFkIHtcbiAgICBjb2xvcjogIzJjOTVmMTsgfVxuICAuaGVhZCAuYnJlYWRjcnVtYnMgPiBzcGFuOm5vdCg6bGFzdC1jaGlsZCksIC5oZWFkIC5icmVhZGNydW1icyBhOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIG91dGxpbmUtc3R5bGU6IG5vbmU7IH1cbiAgICAuaGVhZCAuYnJlYWRjcnVtYnMgPiBzcGFuOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIsIC5oZWFkIC5icmVhZGNydW1icyBhOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwLjVyZW07XG4gICAgICByaWdodDogLTEuNXJlbTtcbiAgICAgIHdpZHRoOiAwLjlyZW07XG4gICAgICBoZWlnaHQ6IDAuOXJlbTtcbiAgICAgIG1hc2s6IHVybCh+c3JjL2Fzc2V0cy9pY29ucy9hcnJvdy1yaWdodC5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICBtYXNrLXNpemU6IGNvdmVyOyB9XG4gICAgICAudGhlbWUtZGFyayAuaGVhZCAuYnJlYWRjcnVtYnMgPiBzcGFuOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIsIC50aGVtZS1kYXJrIC5oZWFkIC5icmVhZGNydW1icyBhOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGRiMWZmOyB9XG4gICAgICAudGhlbWUtZ3JheSAuaGVhZCAuYnJlYWRjcnVtYnMgPiBzcGFuOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIsIC50aGVtZS1ncmF5IC5oZWFkIC5icmVhZGNydW1icyBhOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDJhNWY1OyB9XG4gICAgICAudGhlbWUtd2hpdGUgLmhlYWQgLmJyZWFkY3J1bWJzID4gc3Bhbjpub3QoOmxhc3QtY2hpbGQpOmFmdGVyLCAudGhlbWUtd2hpdGUgLmhlYWQgLmJyZWFkY3J1bWJzIGE6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyYzk1ZjE7IH1cbiAgLmhlYWQgLmJhY2stYnRuIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICM0ZGIxZmY7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuM3JlbTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5oZWFkIC5iYWNrLWJ0biAuaWNvbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuN3JlbTtcbiAgICAgIG1hc2s6IHVybCh+c3JjL2Fzc2V0cy9pY29ucy9iYWNrLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAwLjlyZW07XG4gICAgICBoZWlnaHQ6IDAuOXJlbTsgfVxuICAgICAgLnRoZW1lLWRhcmsgLmhlYWQgLmJhY2stYnRuIC5pY29uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRkYjFmZjsgfVxuICAgICAgLnRoZW1lLWdyYXkgLmhlYWQgLmJhY2stYnRuIC5pY29uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQyYTVmNTsgfVxuICAgICAgLnRoZW1lLXdoaXRlIC5oZWFkIC5iYWNrLWJ0biAuaWNvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyYzk1ZjE7IH1cblxuLnNjcm9sbGVkLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTsgfVxuXG4uc2Nyb2xsZWQtY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4uc2Nyb2xsZWQtY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU2NTc2O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDAuMjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTsgfVxuXG4uc2Nyb2xsZWQtY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU2NTc2OyB9XG5cbnRhYmxlIHtcbiAgZm9udC1zaXplOiAxLjNyZW07XG4gIHdpZHRoOiAxMDAlOyB9XG4gIHRhYmxlIHRoZWFkIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLnRoZW1lLWRhcmsgdGFibGUgdGhlYWQge1xuICAgICAgY29sb3I6ICM1NTY1NzY7IH1cbiAgICAudGhlbWUtZ3JheSB0YWJsZSB0aGVhZCB7XG4gICAgICBjb2xvcjogIzU2NWM2MjsgfVxuICAgIC50aGVtZS13aGl0ZSB0YWJsZSB0aGVhZCB7XG4gICAgICBjb2xvcjogI2EwYTVhYjsgfVxuICAgIHRhYmxlIHRoZWFkIHRyIHtcbiAgICAgIGhlaWdodDogNHJlbTsgfVxuICAgICAgdGFibGUgdGhlYWQgdHIgdGgge1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyB9XG4gICAgICAgIHRhYmxlIHRoZWFkIHRyIHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH1cbiAgICAgICAgdGFibGUgdGhlYWQgdHIgdGg6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogM3JlbTsgfVxuICB0YWJsZSB0Ym9keSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC50aGVtZS1kYXJrIHRhYmxlIHRib2R5IHtcbiAgICAgIGNvbG9yOiAjZTBlMGUwOyB9XG4gICAgLnRoZW1lLWdyYXkgdGFibGUgdGJvZHkge1xuICAgICAgY29sb3I6ICNlMGUwZTA7IH1cbiAgICAudGhlbWUtd2hpdGUgdGFibGUgdGJvZHkge1xuICAgICAgY29sb3I6ICM0MzQ1NGI7IH1cbiAgICB0YWJsZSB0Ym9keSB0ciB7XG4gICAgICBoZWlnaHQ6IDMuNXJlbTsgfVxuICAgICAgLnRoZW1lLWRhcmsgdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTgyMDJhOyB9XG4gICAgICAudGhlbWUtZ3JheSB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyNTI5MmQ7IH1cbiAgICAgIC50aGVtZS13aGl0ZSB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIHRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuN3JlbTtcbiAgICAgICAgcGFkZGluZzogMCAxcmVtO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBtYXgtd2lkdGg6IDIwcmVtOyB9XG4gICAgICAgIHRhYmxlIHRib2R5IHRyIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH1cbiAgICAgICAgdGFibGUgdGJvZHkgdHIgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogM3JlbTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IE9wZW5TYW5zO1xuICBzcmM6IHVybCh+c3JjL2Fzc2V0cy9mb250cy9PcGVuU2Fucy1MaWdodC50dGYpO1xuICBmb250LXdlaWdodDogMzAwOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogT3BlblNhbnM7XG4gIHNyYzogdXJsKH5zcmMvYXNzZXRzL2ZvbnRzL09wZW5TYW5zLVJlZ3VsYXIudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IE9wZW5TYW5zO1xuICBzcmM6IHVybCh+c3JjL2Fzc2V0cy9mb250cy9PcGVuU2Fucy1TZW1pQm9sZC50dGYpO1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogT3BlblNhbnM7XG4gIHNyYzogdXJsKH5zcmMvYXNzZXRzL2ZvbnRzL09wZW5TYW5zLUJvbGQudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IE9wZW5TYW5zO1xuICBzcmM6IHVybCh+c3JjL2Fzc2V0cy9mb250cy9PcGVuU2Fucy1FeHRyYUJvbGQudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDgwMDsgfVxuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IE9wZW5TYW5zLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEwcHg7IH1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBPcGVuU2Fucywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDsgfVxuICBib2R5LnRoZW1lLWRhcmsge1xuICAgIGJhY2tncm91bmQ6ICMxMzE5MjEgdXJsKFwiYXNzZXRzL2ltYWdlcy9iYWNrZ3JvdW5kLWRhcmsucG5nXCIpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICBib2R5LnRoZW1lLWdyYXkge1xuICAgIGJhY2tncm91bmQ6ICMxMDE0MTcgdXJsKFwiYXNzZXRzL2ltYWdlcy9iYWNrZ3JvdW5kLWdyYXkucG5nXCIpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICBib2R5LnRoZW1lLXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZWVlZWVlIHVybChcImFzc2V0cy9pbWFnZXMvYmFja2dyb3VuZC13aGl0ZS5wbmdcIikgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gIGJvZHkgYXBwLXJvb3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG5cbi51cGRhdGUtdG9vbHRpcCAudG9vbHRpcC1pbm5lciAuaWNvbiB7XG4gIG1hc2s6IHVybChhc3NldHMvaWNvbnMvdXBkYXRlLWFsZXJ0LnN2Zykgbm8tcmVwZWF0IGNlbnRlcjsgfVxuIiwiLm5nLXNlbGVjdC5uZy1zZWxlY3Qtb3BlbmVkPi5uZy1zZWxlY3QtY29udGFpbmVye2JhY2tncm91bmQ6I2ZmZjtib3JkZXItY29sb3I6I2IzYjNiMyAjY2NjICNkOWQ5ZDl9Lm5nLXNlbGVjdC5uZy1zZWxlY3Qtb3BlbmVkPi5uZy1zZWxlY3QtY29udGFpbmVyOmhvdmVye2JveC1zaGFkb3c6bm9uZX0ubmctc2VsZWN0Lm5nLXNlbGVjdC1vcGVuZWQ+Lm5nLXNlbGVjdC1jb250YWluZXIgLm5nLWFycm93e3RvcDotMnB4O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjOTk5O2JvcmRlci13aWR0aDowIDVweCA1cHh9Lm5nLXNlbGVjdC5uZy1zZWxlY3Qtb3BlbmVkPi5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy1hcnJvdzpob3Zlcntib3JkZXItY29sb3I6dHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzMzM30ubmctc2VsZWN0Lm5nLXNlbGVjdC1vcGVuZWQubmctc2VsZWN0LWJvdHRvbT4ubmctc2VsZWN0LWNvbnRhaW5lcntib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MH0ubmctc2VsZWN0Lm5nLXNlbGVjdC1vcGVuZWQubmctc2VsZWN0LXRvcD4ubmctc2VsZWN0LWNvbnRhaW5lcntib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowO2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MH0ubmctc2VsZWN0Lm5nLXNlbGVjdC1mb2N1c2VkOm5vdCgubmctc2VsZWN0LW9wZW5lZCk+Lm5nLXNlbGVjdC1jb250YWluZXJ7Ym9yZGVyLWNvbG9yOiMwMDdlZmY7Ym94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwwLjA3NSksMCAwIDAgM3B4IHJnYmEoMCwxMjYsMjU1LDAuMSl9Lm5nLXNlbGVjdC5uZy1zZWxlY3QtZGlzYWJsZWQ+Lm5nLXNlbGVjdC1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjojZjlmOWY5fS5uZy1zZWxlY3QgLm5nLWhhcy12YWx1ZSAubmctcGxhY2Vob2xkZXJ7ZGlzcGxheTpub25lfS5uZy1zZWxlY3QgLm5nLXNlbGVjdC1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6NHB4O2JvcmRlcjoxcHggc29saWQgI2NjYzttaW4taGVpZ2h0OjM2cHg7YWxpZ24taXRlbXM6Y2VudGVyfS5uZy1zZWxlY3QgLm5nLXNlbGVjdC1jb250YWluZXI6aG92ZXJ7Ym94LXNoYWRvdzowIDFweCAwIHJnYmEoMCwwLDAsMC4wNil9Lm5nLXNlbGVjdCAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVye2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nLWxlZnQ6MTBweH1bZGlyPVwicnRsXCJdIC5uZy1zZWxlY3QgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lcntwYWRkaW5nLXJpZ2h0OjEwcHg7cGFkZGluZy1sZWZ0OjB9Lm5nLXNlbGVjdCAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy1wbGFjZWhvbGRlcntjb2xvcjojOTk5fS5uZy1zZWxlY3Qubmctc2VsZWN0LXNpbmdsZSAubmctc2VsZWN0LWNvbnRhaW5lcntoZWlnaHQ6MzZweH0ubmctc2VsZWN0Lm5nLXNlbGVjdC1zaW5nbGUgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lciAubmctaW5wdXR7dG9wOjVweDtsZWZ0OjA7cGFkZGluZy1sZWZ0OjEwcHg7cGFkZGluZy1yaWdodDo1MHB4fVtkaXI9XCJydGxcIl0gLm5nLXNlbGVjdC5uZy1zZWxlY3Qtc2luZ2xlIC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLWlucHV0e3BhZGRpbmctcmlnaHQ6MTBweDtwYWRkaW5nLWxlZnQ6NTBweH0ubmctc2VsZWN0Lm5nLXNlbGVjdC1tdWx0aXBsZS5uZy1zZWxlY3QtZGlzYWJsZWQ+Lm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lciAubmctdmFsdWV7YmFja2dyb3VuZC1jb2xvcjojZjlmOWY5O2JvcmRlcjoxcHggc29saWQgI2U2ZTZlNn0ubmctc2VsZWN0Lm5nLXNlbGVjdC1tdWx0aXBsZS5uZy1zZWxlY3QtZGlzYWJsZWQ+Lm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lciAubmctdmFsdWUgLm5nLXZhbHVlLWxhYmVse3BhZGRpbmc6MCA1cHh9Lm5nLXNlbGVjdC5uZy1zZWxlY3QtbXVsdGlwbGUgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lcntwYWRkaW5nLXRvcDo1cHg7cGFkZGluZy1sZWZ0OjdweH1bZGlyPVwicnRsXCJdIC5uZy1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlIC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXJ7cGFkZGluZy1yaWdodDo3cHg7cGFkZGluZy1sZWZ0OjB9Lm5nLXNlbGVjdC5uZy1zZWxlY3QtbXVsdGlwbGUgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lciAubmctdmFsdWV7Zm9udC1zaXplOi45ZW07bWFyZ2luLWJvdHRvbTo1cHg7YmFja2dyb3VuZC1jb2xvcjojZWJmNWZmO2JvcmRlci1yYWRpdXM6MnB4O21hcmdpbi1yaWdodDo1cHh9W2Rpcj1cInJ0bFwiXSAubmctc2VsZWN0Lm5nLXNlbGVjdC1tdWx0aXBsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy12YWx1ZXttYXJnaW4tcmlnaHQ6MDttYXJnaW4tbGVmdDo1cHh9Lm5nLXNlbGVjdC5uZy1zZWxlY3QtbXVsdGlwbGUgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lciAubmctdmFsdWUubmctdmFsdWUtZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjojZjlmOWY5fS5uZy1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlIC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLXZhbHVlLm5nLXZhbHVlLWRpc2FibGVkIC5uZy12YWx1ZS1sYWJlbHtwYWRkaW5nLWxlZnQ6NXB4fVtkaXI9XCJydGxcIl0gLm5nLXNlbGVjdC5uZy1zZWxlY3QtbXVsdGlwbGUgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lciAubmctdmFsdWUubmctdmFsdWUtZGlzYWJsZWQgLm5nLXZhbHVlLWxhYmVse3BhZGRpbmctbGVmdDowO3BhZGRpbmctcmlnaHQ6NXB4fS5uZy1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlIC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLXZhbHVlIC5uZy12YWx1ZS1sYWJlbHtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nOjFweCA1cHh9Lm5nLXNlbGVjdC5uZy1zZWxlY3QtbXVsdGlwbGUgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lciAubmctdmFsdWUgLm5nLXZhbHVlLWljb257ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZzoxcHggNXB4fS5uZy1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlIC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLXZhbHVlIC5uZy12YWx1ZS1pY29uOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2QxZThmZn0ubmctc2VsZWN0Lm5nLXNlbGVjdC1tdWx0aXBsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy12YWx1ZSAubmctdmFsdWUtaWNvbi5sZWZ0e2JvcmRlci1yaWdodDoxcHggc29saWQgI2I4ZGJmZn1bZGlyPVwicnRsXCJdIC5uZy1zZWxlY3Qubmctc2VsZWN0LW11bHRpcGxlIC5uZy1zZWxlY3QtY29udGFpbmVyIC5uZy12YWx1ZS1jb250YWluZXIgLm5nLXZhbHVlIC5uZy12YWx1ZS1pY29uLmxlZnR7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNiOGRiZmY7Ym9yZGVyLXJpZ2h0Om5vbmV9Lm5nLXNlbGVjdC5uZy1zZWxlY3QtbXVsdGlwbGUgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lciAubmctdmFsdWUgLm5nLXZhbHVlLWljb24ucmlnaHR7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNiOGRiZmZ9W2Rpcj1cInJ0bFwiXSAubmctc2VsZWN0Lm5nLXNlbGVjdC1tdWx0aXBsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy12YWx1ZSAubmctdmFsdWUtaWNvbi5yaWdodHtib3JkZXItbGVmdDowO2JvcmRlci1yaWdodDoxcHggc29saWQgI2I4ZGJmZn0ubmctc2VsZWN0Lm5nLXNlbGVjdC1tdWx0aXBsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy1pbnB1dHtwYWRkaW5nOjAgMCAzcHggM3B4fVtkaXI9XCJydGxcIl0gLm5nLXNlbGVjdC5uZy1zZWxlY3QtbXVsdGlwbGUgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lciAubmctaW5wdXR7cGFkZGluZzowIDNweCAzcHggMH0ubmctc2VsZWN0Lm5nLXNlbGVjdC1tdWx0aXBsZSAubmctc2VsZWN0LWNvbnRhaW5lciAubmctdmFsdWUtY29udGFpbmVyIC5uZy1wbGFjZWhvbGRlcnt0b3A6NXB4O3BhZGRpbmctYm90dG9tOjVweDtwYWRkaW5nLWxlZnQ6M3B4fVtkaXI9XCJydGxcIl0gLm5nLXNlbGVjdC5uZy1zZWxlY3QtbXVsdGlwbGUgLm5nLXNlbGVjdC1jb250YWluZXIgLm5nLXZhbHVlLWNvbnRhaW5lciAubmctcGxhY2Vob2xkZXJ7cGFkZGluZy1yaWdodDozcHg7cGFkZGluZy1sZWZ0OjB9Lm5nLXNlbGVjdCAubmctY2xlYXItd3JhcHBlcntjb2xvcjojOTk5fS5uZy1zZWxlY3QgLm5nLWNsZWFyLXdyYXBwZXI6aG92ZXIgLm5nLWNsZWFye2NvbG9yOiNEMDAyMUJ9Lm5nLXNlbGVjdCAubmctc3Bpbm5lci16b25le3BhZGRpbmc6NXB4IDVweCAwIDB9W2Rpcj1cInJ0bFwiXSAubmctc2VsZWN0IC5uZy1zcGlubmVyLXpvbmV7cGFkZGluZzo1cHggMCAwIDVweH0ubmctc2VsZWN0IC5uZy1hcnJvdy13cmFwcGVye3dpZHRoOjI1cHg7cGFkZGluZy1yaWdodDo1cHh9W2Rpcj1cInJ0bFwiXSAubmctc2VsZWN0IC5uZy1hcnJvdy13cmFwcGVye3BhZGRpbmctbGVmdDo1cHg7cGFkZGluZy1yaWdodDowfS5uZy1zZWxlY3QgLm5nLWFycm93LXdyYXBwZXI6aG92ZXIgLm5nLWFycm93e2JvcmRlci10b3AtY29sb3I6IzY2Nn0ubmctc2VsZWN0IC5uZy1hcnJvdy13cmFwcGVyIC5uZy1hcnJvd3tib3JkZXItY29sb3I6Izk5OSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjVweCA1cHggMi41cHh9Lm5nLWRyb3Bkb3duLXBhbmVse2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNjY2M7Ym94LXNoYWRvdzowIDFweCAwIHJnYmEoMCwwLDAsMC4wNik7bGVmdDowfS5uZy1kcm9wZG93bi1wYW5lbC5uZy1zZWxlY3QtYm90dG9te3RvcDoxMDAlO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjRweDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjRweDtib3JkZXItdG9wLWNvbG9yOiNlNmU2ZTY7bWFyZ2luLXRvcDotMXB4fS5uZy1kcm9wZG93bi1wYW5lbC5uZy1zZWxlY3QtYm90dG9tIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6NHB4O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6NHB4fS5uZy1kcm9wZG93bi1wYW5lbC5uZy1zZWxlY3QtdG9we2JvdHRvbToxMDAlO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjRweDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjRweDtib3JkZXItYm90dG9tLWNvbG9yOiNlNmU2ZTY7bWFyZ2luLWJvdHRvbTotMXB4fS5uZy1kcm9wZG93bi1wYW5lbC5uZy1zZWxlY3QtdG9wIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uOmZpcnN0LWNoaWxke2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjRweDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjRweH0ubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLWhlYWRlcntib3JkZXItYm90dG9tOjFweCBzb2xpZCAjY2NjO3BhZGRpbmc6NXB4IDdweH0ubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLWZvb3Rlcntib3JkZXItdG9wOjFweCBzb2xpZCAjY2NjO3BhZGRpbmc6NXB4IDdweH0ubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1zIC5uZy1vcHRncm91cHt1c2VyLXNlbGVjdDpub25lO3BhZGRpbmc6OHB4IDEwcHg7Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOnJnYmEoMCwwLDAsMC41NCk7Y3Vyc29yOnBvaW50ZXJ9Lm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0Z3JvdXAubmctb3B0aW9uLWRpc2FibGVke2N1cnNvcjpkZWZhdWx0fS5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGdyb3VwLm5nLW9wdGlvbi1tYXJrZWR7YmFja2dyb3VuZC1jb2xvcjojZjVmYWZmfS5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGdyb3VwLm5nLW9wdGlvbi1zZWxlY3RlZCwubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1zIC5uZy1vcHRncm91cC5uZy1vcHRpb24tc2VsZWN0ZWQubmctb3B0aW9uLW1hcmtlZHtiYWNrZ3JvdW5kLWNvbG9yOiNlYmY1ZmY7Zm9udC13ZWlnaHQ6NjAwfS5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGlvbntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Y29sb3I6cmdiYSgwLDAsMCwwLjg3KTtwYWRkaW5nOjhweCAxMHB4fS5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGlvbi5uZy1vcHRpb24tc2VsZWN0ZWQsLm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uLm5nLW9wdGlvbi1zZWxlY3RlZC5uZy1vcHRpb24tbWFya2Vke2NvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjojZWJmNWZmfS5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGlvbi5uZy1vcHRpb24tc2VsZWN0ZWQgLm5nLW9wdGlvbi1sYWJlbCwubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1zIC5uZy1vcHRpb24ubmctb3B0aW9uLXNlbGVjdGVkLm5nLW9wdGlvbi1tYXJrZWQgLm5nLW9wdGlvbi1sYWJlbHtmb250LXdlaWdodDo2MDB9Lm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uLm5nLW9wdGlvbi1tYXJrZWR7YmFja2dyb3VuZC1jb2xvcjojZjVmYWZmO2NvbG9yOiMzMzN9Lm5nLWRyb3Bkb3duLXBhbmVsIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyAubmctb3B0aW9uLm5nLW9wdGlvbi1kaXNhYmxlZHtjb2xvcjojY2NjfS5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGlvbi5uZy1vcHRpb24tY2hpbGR7cGFkZGluZy1sZWZ0OjIycHh9W2Rpcj1cInJ0bFwiXSAubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1zIC5uZy1vcHRpb24ubmctb3B0aW9uLWNoaWxke3BhZGRpbmctcmlnaHQ6MjJweDtwYWRkaW5nLWxlZnQ6MH0ubmctZHJvcGRvd24tcGFuZWwgLm5nLWRyb3Bkb3duLXBhbmVsLWl0ZW1zIC5uZy1vcHRpb24gLm5nLXRhZy1sYWJlbHtmb250LXNpemU6ODAlO2ZvbnQtd2VpZ2h0OjQwMDtwYWRkaW5nLXJpZ2h0OjVweH1bZGlyPVwicnRsXCJdIC5uZy1kcm9wZG93bi1wYW5lbCAubmctZHJvcGRvd24tcGFuZWwtaXRlbXMgLm5nLW9wdGlvbiAubmctdGFnLWxhYmVse3BhZGRpbmctbGVmdDo1cHg7cGFkZGluZy1yaWdodDowfVtkaXI9XCJydGxcIl0gLm5nLWRyb3Bkb3duLXBhbmVse2RpcmVjdGlvbjpydGw7dGV4dC1hbGlnbjpyaWdodH1cbiIsIi8vKiAqKioqKioqIHJlc2V0ICYgbm9ybWFsaXplICoqKioqKiogICovL1xyXG5cclxuLy8gYm94LXNpemluZyB0aGUgc2FtZSBmb3IgYWxsIGVsZW1lbnRzXHJcbmh0bWwge1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG4qLCAqOmJlZm9yZSwgKjphZnRlciB7XHJcbiAgYm94LXNpemluZzogaW5oZXJpdDtcclxuICAtd2Via2l0LWJveC1zaXppbmc6IGluaGVyaXQ7XHJcbiAgLW1vei1ib3gtc2l6aW5nOiBpbmhlcml0O1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIEBpbmNsdWRlIHVuU2VsZWN0O1xyXG59XHJcblxyXG5odG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsXHJcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHByZSxcclxuYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYmlnLCBjaXRlLCBjb2RlLFxyXG5kZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsXHJcbnNtYWxsLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHR0LCB2YXIsXHJcbmIsIHUsIGksIGNlbnRlcixcclxuZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSxcclxuZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsXHJcbnRhYmxlLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLFxyXG5hcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBlbWJlZCxcclxuZmlndXJlLCBmaWdjYXB0aW9uLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLFxyXG5tZW51LCBuYXYsIG91dHB1dCwgcnVieSwgc2VjdGlvbiwgc3VtbWFyeSxcclxudGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIGZvbnQtc2l6ZTogMTAwJTtcclxuICAgIGZvbnQ6IGluaGVyaXQ7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbn1cclxuYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSxcclxuZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBzZWN0aW9uIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG5ib2R5IHtcclxuICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5vbCwgdWwge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxufVxyXG5ibG9ja3F1b3RlLCBxIHtcclxuICAgIHF1b3Rlczogbm9uZTtcclxufVxyXG5ibG9ja3F1b3RlOmJlZm9yZSwgYmxvY2txdW90ZTphZnRlcixcclxucTpiZWZvcmUsIHE6YWZ0ZXIge1xyXG4gICAgY29udGVudDogbm9uZTtcclxufVxyXG5cclxuLy90YWJsZVxyXG50YWJsZSB7XHJcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XHJcbn1cclxudGQsXHJcbnRoIHtcclxuICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4vL2Zvcm1zIGVsZW1lbnRcclxuaW5wdXQge1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgICY6LXdlYmtpdC1hdXRvZmlsbCB7XHJcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMTAwMHB4IHdoaXRlIGluc2V0O1xyXG4gICAgfVxyXG59XHJcblxyXG5idXR0b24sXHJcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcclxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxyXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgb3V0bGluZTogbm9uZTtcclxufVxyXG5idXR0b25bZGlzYWJsZWRdLFxyXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XHJcbiAgY3Vyc29yOiBkZWZhdWx0O1xyXG59XHJcbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcclxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xyXG4gIGJvcmRlcjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG59XHJcbmlucHV0IHtcclxuICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG59XHJcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xyXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG59XHJcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXHJcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxufVxyXG5cclxuXHJcbi8vbGlua1xyXG5hIHtcclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0JjphY3RpdmUsXHJcblx0Jjpob3ZlcixcclxuXHQmOmZvY3VzIHtcclxuXHRcdG91dGxpbmU6IDA7XHJcblx0fVxyXG59XHJcblxyXG5pIHsgZm9udC1zdHlsZTogaXRhbGljOyB9XHJcbmIsIHN0cm9uZyB7IGZvbnQtd2VpZ2h0OiA3MDA7ICAgfVxyXG5cclxuLy8gaW1hZ2VzXHJcbmltZyB7XHJcblx0d2lkdGg6IGF1dG87XHJcblx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogYXV0bztcclxuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG5cdGJvcmRlcjogMDtcclxufVxyXG5cclxuLmhpZGRlbiB7XHJcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcbiIsIi5hcHAtY29udGVudCB7XHJcblxyXG4gIC5wcmVsb2FkZXIge1xyXG5cclxuICAgIC5sb2FkaW5nLWJhciB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQocHJvZ3Jlc3NCYXJGdWxsQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuYnV0dG9uIHtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgZm9udC1mYW1pbHk6IE9wZW5TYW5zLCBzYW5zLXNlcmlmO1xyXG4gIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgb3V0bGluZTogbm9uZTtcclxuICBwYWRkaW5nOiAwIDFyZW07XHJcbiAgaGVpZ2h0OiA0LjJyZW07XHJcblxyXG4gICY6ZGlzYWJsZWQ6bm90KC50cmFuc3BhcmVudC1idXR0b24pLCBcclxuICAmLmJsdWUtYnV0dG9uX3Jlc2V0e1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoZGlzYWJsZWRCdXR0b25CYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICBjb2xvcjogdGhlbWVkKGFsdGVybmF0aXZlVGV4dENvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChkaXNhYmxlZEJ1dHRvbkhvdmVyQ29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjpmb2N1cyB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoZGlzYWJsZWRCdXR0b25Gb2N1c0NvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5ibHVlLWJ1dHRvbjpub3QoOmRpc2FibGVkKSB7XHJcblxyXG4gICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChibHVlQnV0dG9uQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgY29sb3I6IHRoZW1lZChhbHRlcm5hdGl2ZVRleHRDb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZUJ1dHRvbkhvdmVyQ29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjpmb2N1cyB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZUJ1dHRvbkZvY3VzQ29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmdyZWVuLWJ1dHRvbjpub3QoOmRpc2FibGVkKSB7XHJcblxyXG4gICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChncmVlbkJ1dHRvbkJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgIGNvbG9yOiB0aGVtZWQoYWx0ZXJuYXRpdmVUZXh0Q29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGdyZWVuQnV0dG9uSG92ZXJDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOmZvY3VzIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChncmVlbkJ1dHRvbkZvY3VzQ29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLnR1cnF1b2lzZS1idXR0b246bm90KDpkaXNhYmxlZCkge1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQodHVycXVvaXNlQnV0dG9uQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgY29sb3I6IHRoZW1lZChhbHRlcm5hdGl2ZVRleHRDb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQodHVycXVvaXNlQnV0dG9uSG92ZXJDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOmZvY3VzIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZCh0dXJxdW9pc2VCdXR0b25Gb2N1c0NvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi50cmFuc3BhcmVudC1idXR0b24ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGJvcmRlcjogMC4ycmVtIHNvbGlkIHRoZW1lZCh0cmFuc3BhcmVudEJ1dHRvbkJvcmRlckNvbG9yKTtcclxuICAgICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAuaWNvbiB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcclxuICAgICAgbWFzazogdXJsKH5zcmMvYXNzZXRzL2ljb25zL2NvbXBsZXRlLXRlc3R3YWxsZXQuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgICB3aWR0aDogMS43cmVtO1xyXG4gICAgICBoZWlnaHQ6IDEuN3JlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG4uaW5wdXQtYmxvY2sge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICBtYXJnaW4tYm90dG9tOiAwLjRyZW07XHJcblxyXG4gIC53cmFwLWxhYmVsIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgbWluLWhlaWdodDogMi40cmVtO1xyXG4gIH1cclxuXHJcbiAgbGFiZWwge1xyXG4gICAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgICBsaW5lLWhlaWdodDogMi40cmVtO1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBjb2xvcjogdGhlbWVkKG9wdGlvbmFsVGV4dENvbG9yKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlucHV0W3R5cGU9J3RleHQnXSwgaW5wdXRbdHlwZT0ncGFzc3dvcmQnXSwgc2VsZWN0IHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIHBhZGRpbmc6IDAgMXJlbTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiA0LjJyZW07XHJcblxyXG4gICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChpbnB1dEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgIGNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLnRleHRhcmVhIHtcclxuICAgIGhlaWdodDogYXV0bztcclxuXHJcbiAgICB0ZXh0YXJlYSB7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiBPcGVuU2Fucywgc2Fucy1zZXJpZjtcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcclxuICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgcGFkZGluZzogMXJlbTtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBtaW4taGVpZ2h0OiA3LjVyZW07XHJcbiAgICAgIG1heC1oZWlnaHQ6IDcuNXJlbTtcclxuICAgICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICAgIHJlc2l6ZTogbm9uZTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChpbnB1dEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmVycm9yLWJsb2NrIHtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjRyZW07XHJcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBjb2xvcjogdGhlbWVkKHJlZFRleHRDb2xvcik7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5zdWNjZXNzLWJsb2NrIHtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjRyZW07XHJcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBjb2xvcjogdGhlbWVkKGdyZWVuVGV4dENvbG9yKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5lcnJvci10ZXh0IHtcclxuICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgIGNvbG9yOiB0aGVtZWQocmVkVGV4dENvbG9yKTtcclxuICB9XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9J3JhZGlvJ10uc3R5bGUtcmFkaW8ge1xyXG5cclxuICAmICsgbGFiZWwge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAyLjRyZW07XHJcblxyXG4gICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgIGNvbG9yOiB0aGVtZWQob3B0aW9uYWxUZXh0Q29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHVuU2VsZWN0O1xyXG4gIH1cclxuXHJcbiAgJjpub3QoY2hlY2tlZCkge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgb3BhY2l0eTogMDtcclxuXHJcbiAgICAmICsgbGFiZWwge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcblxyXG4gICAgJiArIGxhYmVsOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMC43cmVtO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICB3aWR0aDogMS40cmVtO1xyXG4gICAgICBoZWlnaHQ6IDEuNHJlbTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkIHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYgKyBsYWJlbDphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMXJlbTtcclxuICAgICAgbGVmdDogMC4zcmVtO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIHdpZHRoOiAwLjhyZW07XHJcbiAgICAgIGhlaWdodDogMC44cmVtO1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmOmNoZWNrZWQge1xyXG5cclxuICAgICYgKyBsYWJlbDphZnRlciB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5pbnB1dFt0eXBlPSdjaGVja2JveCddLnN0eWxlLWNoZWNrYm94IHtcclxuXHJcbiAgJiArIGxhYmVsIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIHBhZGRpbmctbGVmdDogMy42cmVtO1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBjb2xvcjogdGhlbWVkKG9wdGlvbmFsVGV4dENvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSB1blNlbGVjdDtcclxuICB9XHJcblxyXG4gICY6bm90KGNoZWNrZWQpIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogMS42cmVtO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG5cclxuICAgICYgKyBsYWJlbCB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuXHJcbiAgICAmICsgbGFiZWw6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIGxlZnQ6IDEuNnJlbTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgd2lkdGg6IDEuNHJlbTtcclxuICAgICAgaGVpZ2h0OiAxLjRyZW07XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBib3JkZXI6IDAuMXJlbSBzb2xpZCB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICY6Y2hlY2tlZCB7XHJcblxyXG4gICAgJiArIGxhYmVsOmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHVybCh+c3JjL2Fzc2V0cy9pY29ucy9jb21wbGV0ZS10ZXN0d2FsbGV0LnN2Zyk7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5zd2l0Y2gge1xyXG5cclxuICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChzd2l0Y2hCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gIH1cclxuXHJcbiAgLmNpcmNsZSB7XHJcblxyXG4gICAgJi5vbiB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLm9mZiB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQob3B0aW9uYWxUZXh0Q29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4udGFibGUtdG9vbHRpcCB7XHJcbiAgcGFkZGluZzogMXJlbSAycmVtO1xyXG5cclxuICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgIGJhY2tncm91bmQ6IHRoZW1lZCh0b29sdGlwQmFja2dyb3VuZENvbG9yKTtcclxuICAgIGJveC1zaGFkb3c6IHRoZW1lZCh0b29sdGlwU2hhZG93KTtcclxuICAgIGNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcik7XHJcbiAgfVxyXG5cclxuICAudG9vbHRpcC1pbm5lciB7XHJcbiAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjhyZW07XHJcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XHJcbiAgfVxyXG5cclxuICAmLm5nLXRvb2x0aXAtdG9wIHtcclxuICAgIG1hcmdpbi10b3A6IC0xcmVtO1xyXG5cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGJvdHRvbTogLTFyZW07XHJcbiAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMC41cmVtKTtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAwLjVyZW07XHJcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IHRoZW1lZCh0b29sdGlwQmFja2dyb3VuZENvbG9yKSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5uZy10b29sdGlwLXRvcC1sZWZ0IHtcclxuICAgIG1hcmdpbi10b3A6IC0xcmVtO1xyXG5cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGJvdHRvbTogLTFyZW07XHJcbiAgICAgIGxlZnQ6IDAuN3JlbTtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAwLjVyZW07XHJcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IHRoZW1lZCh0b29sdGlwQmFja2dyb3VuZENvbG9yKSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0aGVtZWQodG9vbHRpcEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYubmctdG9vbHRpcC10b3AtcmlnaHQge1xyXG4gICAgbWFyZ2luLXRvcDogLTFyZW07XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgYm90dG9tOiAtMXJlbTtcclxuICAgICAgcmlnaHQ6IDAuN3JlbTtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAwLjVyZW07XHJcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IHRoZW1lZCh0b29sdGlwQmFja2dyb3VuZENvbG9yKSB0aGVtZWQodG9vbHRpcEJhY2tncm91bmRDb2xvcikgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYubmctdG9vbHRpcC1ib3R0b20ge1xyXG4gICAgbWFyZ2luLXRvcDogMXJlbTtcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAtMXJlbTtcclxuICAgICAgbGVmdDogY2FsYyg1MCUgLSAwLjVyZW0pO1xyXG4gICAgICBib3JkZXItd2lkdGg6IDAuNXJlbTtcclxuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdGhlbWVkKHRvb2x0aXBCYWNrZ3JvdW5kQ29sb3IpIHRyYW5zcGFyZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLm5nLXRvb2x0aXAtYm90dG9tLWxlZnQge1xyXG4gICAgbWFyZ2luLXRvcDogMXJlbTtcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAtMXJlbTtcclxuICAgICAgbGVmdDogMC43cmVtO1xyXG4gICAgICBib3JkZXItd2lkdGg6IDAuNXJlbTtcclxuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdGhlbWVkKHRvb2x0aXBCYWNrZ3JvdW5kQ29sb3IpIHRoZW1lZCh0b29sdGlwQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5uZy10b29sdGlwLWJvdHRvbS1yaWdodCB7XHJcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IC0xcmVtO1xyXG4gICAgICByaWdodDogMC43cmVtO1xyXG4gICAgICBib3JkZXItd2lkdGg6IDAuNXJlbTtcclxuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdGhlbWVkKHRvb2x0aXBCYWNrZ3JvdW5kQ29sb3IpIHRoZW1lZCh0b29sdGlwQmFja2dyb3VuZENvbG9yKSB0cmFuc3BhcmVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5uZy10b29sdGlwLWxlZnQge1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtO1xyXG5cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAwLjVyZW0pO1xyXG4gICAgICByaWdodDogLTFyZW07XHJcbiAgICAgIGJvcmRlci13aWR0aDogMC41cmVtO1xyXG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0aGVtZWQodG9vbHRpcEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYubmctdG9vbHRpcC1yaWdodCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiBjYWxjKDUwJSAtIDAuNXJlbSk7XHJcbiAgICAgIGxlZnQ6IC0xcmVtO1xyXG4gICAgICBib3JkZXItd2lkdGg6IDAuNXJlbTtcclxuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdGhlbWVkKHRvb2x0aXBCYWNrZ3JvdW5kQ29sb3IpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4udGFibGUtdG9vbHRpcC1kaW1lbnNpb25zIHtcclxuXHJcbiAgLnRvb2x0aXAtaW5uZXIge1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICBtYXgtd2lkdGg6IDIwcmVtO1xyXG4gICAgbWF4LWhlaWdodDogMTByZW07XHJcbiAgfVxyXG59XHJcblxyXG4uYmFsYW5jZS10b29sdGlwIHtcclxuICBwYWRkaW5nOiAxLjNyZW07XHJcblxyXG4gIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgYmFja2dyb3VuZDogdGhlbWVkKHRvb2x0aXBCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgYm94LXNoYWRvdzogdGhlbWVkKHRvb2x0aXBTaGFkb3cpO1xyXG4gICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICB9XHJcblxyXG4gIC50b29sdGlwLWlubmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZm9udC1zaXplOiAxLjNyZW07XHJcblxyXG4gICAgLmF2YWlsYWJsZSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuN3JlbTtcclxuXHJcbiAgICAgIGIge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubG9ja2VkIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMC43cmVtO1xyXG5cclxuICAgICAgYiB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5saW5rIHtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5uZy10b29sdGlwLXRvcCB7XHJcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTtcclxuICB9XHJcblxyXG4gICYubmctdG9vbHRpcC1ib3R0b20ge1xyXG4gICAgbWFyZ2luLXRvcDogMXJlbTtcclxuICB9XHJcblxyXG4gICYubmctdG9vbHRpcC1sZWZ0IHtcclxuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTtcclxuICB9XHJcblxyXG4gICYubmctdG9vbHRpcC1yaWdodCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcclxuICB9XHJcbn1cclxuXHJcbi5hY2NvdW50LXRvb2x0aXAge1xyXG5cclxuICAudG9vbHRpcC1pbm5lciB7XHJcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xyXG4gICAgbWF4LXdpZHRoOiAxOHJlbTtcclxuICB9XHJcbn1cclxuXHJcbi5jb21tZW50LXRvb2x0aXAge1xyXG5cclxuICAudG9vbHRpcC1pbm5lciB7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XHJcbiAgICBtYXgtd2lkdGg6IDUwcmVtO1xyXG4gICAgbWF4LWhlaWdodDogMjVyZW07XHJcbiAgfVxyXG59XHJcblxyXG4udXBkYXRlLXRvb2x0aXAge1xyXG4gIHBhZGRpbmc6IDEuNXJlbTtcclxuXHJcbiAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICBiYWNrZ3JvdW5kOiB0aGVtZWQodG9vbHRpcEJhY2tncm91bmRDb2xvcik7XHJcbiAgICBib3gtc2hhZG93OiB0aGVtZWQodG9vbHRpcFNoYWRvdyk7XHJcbiAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gIH1cclxuXHJcbiAgJi5pbXBvcnRhbnQge1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0aGVtZWQodG9vbHRpcEltcG9ydGFudEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgIGNvbG9yOiB0aGVtZWQoYWNjb3VudE1haW5UZXh0Q29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgICYubmctdG9vbHRpcC1sZWZ0LWJvdHRvbSB7XHJcblxyXG4gICAgICAmOmFmdGVyIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRoZW1lZCh0b29sdGlwSW1wb3J0YW50QmFja2dyb3VuZENvbG9yKSB0aGVtZWQodG9vbHRpcEltcG9ydGFudEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5uZy10b29sdGlwLXJpZ2h0LWJvdHRvbSB7XHJcblxyXG4gICAgICAmOmJlZm9yZSB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0aGVtZWQodG9vbHRpcEltcG9ydGFudEJhY2tncm91bmRDb2xvcikgdGhlbWVkKHRvb2x0aXBJbXBvcnRhbnRCYWNrZ3JvdW5kQ29sb3IpIHRyYW5zcGFyZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5jcml0aWNhbCB7XHJcbiAgICBwYWRkaW5nOiAyLjVyZW07XHJcblxyXG4gICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHRoZW1lZCh0b29sdGlwQ3JpdGljYWxCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICBjb2xvcjogdGhlbWVkKGFjY291bnRNYWluVGV4dENvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAudG9vbHRpcC1pbm5lciB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgJi5uZy10b29sdGlwLWxlZnQtYm90dG9tIHtcclxuXHJcbiAgICAgICY6YWZ0ZXIge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdGhlbWVkKHRvb2x0aXBDcml0aWNhbEJhY2tncm91bmRDb2xvcikgdGhlbWVkKHRvb2x0aXBDcml0aWNhbEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5uZy10b29sdGlwLXJpZ2h0LWJvdHRvbSB7XHJcblxyXG4gICAgICAmOmJlZm9yZSB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0aGVtZWQodG9vbHRpcENyaXRpY2FsQmFja2dyb3VuZENvbG9yKSB0aGVtZWQodG9vbHRpcENyaXRpY2FsQmFja2dyb3VuZENvbG9yKSB0cmFuc3BhcmVudDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC50b29sdGlwLWlubmVyIHtcclxuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuOHJlbTtcclxuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcclxuXHJcbiAgICAuc3RhbmRhcmQtdXBkYXRlIHtcclxuICAgICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjdyZW07XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBjb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmltcG9ydGFudC11cGRhdGUge1xyXG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcclxuICAgICAgbGluZS1oZWlnaHQ6IDIuN3JlbTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGNvbG9yOiB0aGVtZWQodG9vbHRpcEltcG9ydGFudFRleHRDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY3JpdGljYWwtdXBkYXRlIHtcclxuICAgICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjdyZW07XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAud3JvbmctdGltZSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgICBsaW5lLWhlaWdodDogMi43cmVtO1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgY29sb3I6IHRoZW1lZCh0b29sdGlwSW1wb3J0YW50VGV4dENvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5pY29uIHtcclxuICAgICAgbWFyZ2luOiAxLjVyZW0gMDtcclxuICAgICAgd2lkdGg6IDVyZW07XHJcbiAgICAgIGhlaWdodDogNXJlbTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZCh0b29sdGlwQ3JpdGljYWxUZXh0Q29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLm5nLXRvb2x0aXAtbGVmdC1ib3R0b20ge1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW07XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgYm90dG9tOiAwLjZyZW07XHJcbiAgICAgIHJpZ2h0OiAtMXJlbTtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAwLjVyZW07XHJcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRoZW1lZCh0b29sdGlwQmFja2dyb3VuZENvbG9yKSB0aGVtZWQodG9vbHRpcEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYubmctdG9vbHRpcC1yaWdodC1ib3R0b20ge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbTtcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgYm90dG9tOiAwLjZyZW07XHJcbiAgICAgIGxlZnQ6IC0xcmVtO1xyXG4gICAgICBib3JkZXItd2lkdGg6IDAuNXJlbTtcclxuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdGhlbWVkKHRvb2x0aXBCYWNrZ3JvdW5kQ29sb3IpIHRoZW1lZCh0b29sdGlwQmFja2dyb3VuZENvbG9yKSB0cmFuc3BhcmVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLm5neC1jb250ZXh0bWVudSB7XHJcblxyXG4gIC5kcm9wZG93bi1tZW51IHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChjaGFydE9wdGlvbnNCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICBib3gtc2hhZG93OiB0aGVtZWQodG9vbHRpcFNoYWRvdyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBsaSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZvbnQtZmFtaWx5OiBPcGVuU2Fucywgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcblxyXG4gIGEge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nOiAwLjVlbSAxZW07XHJcblxyXG4gICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgIGNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoY2hhcnRPcHRpb25zSG92ZXJDb2xvcik7XHJcbiAgICAgICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLm5nLXNlbGVjdCB7XHJcblxyXG4gICYuY3VzdG9tLXNlbGVjdCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAmLm5nLXNlbGVjdC1zaW5nbGUge1xyXG4gICAgICAubmctc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgLm5nLXZhbHVlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAubmctdmFsdWUge1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS44cmVtO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uZy1zZWxlY3QtY29udGFpbmVyIHtcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICBwYWRkaW5nOiAwIDFyZW07XHJcbiAgICAgIGhlaWdodDogNC4ycmVtO1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGlucHV0QmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAubmctdmFsdWUtY29udGFpbmVyIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICAgICAubmctaW5wdXQge1xyXG4gICAgICAgICAgdG9wOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uZy1kcm9wZG93bi1wYW5lbCB7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChpbnB1dEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5uZy1kcm9wZG93bi1wYW5lbC1pdGVtcyB7XHJcblxyXG4gICAgICAgIC5uZy1vcHRpb24ge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoaW5wdXRCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICYubmctb3B0aW9uLW1hcmtlZCB7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoc2VsZWN0SG92ZXJDb2xvcik7XHJcbiAgICAgICAgICAgICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICYubmctb3B0aW9uLXNlbGVjdGVkIHtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChzZWxlY3RTZWxlY3RlZENvbG9yKTtcclxuICAgICAgICAgICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgICAgICAgIHdpZHRoOiAxcmVtO1xyXG4gICAgICAgICAgaGVpZ2h0OiAxcmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU2NTc2O1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuICAgICAgICAgIGJvcmRlcjogMC4yNXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1NTY1NzY7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5hcHAtbW9kYWwtY29udGFpbmVyLCBhcHAtY29uZmlybS1tb2RhbCAge1xyXG5cclxuICAubW9kYWwge1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0aGVtZWQobW9kYWxCYWNrZ3JvdW5kKTtcclxuICAgICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAuY29udGVudCB7XHJcblxyXG4gICAgICAuaWNvbi5lcnJvciB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHJlZFRleHRDb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuaWNvbi5zdWNjZXNzIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoZ3JlZW5UZXh0Q29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmljb24uaW5mbyB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5hY3Rpb24tYnV0dG9uIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgICBjb2xvcjogdGhlbWVkKGFsdGVybmF0aXZlVGV4dENvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jbG9zZS1idXR0b24ge1xyXG5cclxuICAgICAgLmljb24ge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChjbG9zZUJ1dHRvbkNvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmFwcC10cmFuc2FjdGlvbi1kZXRhaWxzIHtcclxuXHJcbiAgLnRhYmxlIHtcclxuXHJcbiAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgYm9yZGVyLXRvcDogMC4ycmVtIHNvbGlkIHRoZW1lZCh0cmFuc3BhcmVudEJ1dHRvbkJvcmRlckNvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAucm93IHtcclxuXHJcbiAgICAgIC5jZWxsIHtcclxuXHJcbiAgICAgICAgJi5sYWJlbCB7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB0aGVtZWQob3B0aW9uYWxUZXh0Q29sb3IpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi52YWx1ZSB7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmtleS12YWx1ZSB7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5hcHAtcHJvZ3Jlc3MtY29udGFpbmVyIHtcclxuXHJcbiAgLnByb2dyZXNzLWJhci1jb250YWluZXIge1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIC5wcm9ncmVzcy1iYXIge1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHByb2dyZXNzQmFyQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnByb2dyZXNzLWJhci1mdWxsIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQocHJvZ3Jlc3NCYXJGdWxsQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmFwcC1vcGVuLXdhbGxldC1tb2RhbCB7XHJcblxyXG4gIC5tb2RhbCB7XHJcblxyXG4gICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHRoZW1lZChtb2RhbEJhY2tncm91bmQpO1xyXG4gICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuYXBwLXNlbmQtbW9kYWwge1xyXG4gIC5tb2RhbCB7XHJcblxyXG4gICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHRoZW1lZChtb2RhbEJhY2tncm91bmQpO1xyXG4gICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIC50aXRsZSB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAwLjJyZW0gc29saWQgdGhlbWVkKHRyYW5zcGFyZW50QnV0dG9uQm9yZGVyQ29sb3IpO1xyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC5hY3Rpb24tYnV0dG9uIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgICBjb2xvcjogdGhlbWVkKGFsdGVybmF0aXZlVGV4dENvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSIsIiR0aGVtZXM6IChcclxuICBkYXJrOiAoXHJcbiAgICBib2R5QmFja2dyb3VuZENvbG9yOiAjMTMxOTIxLFxyXG4gICAgc2lkZWJhckJhY2tncm91bmRDb2xvcjogcmdiYSgyMywgMzEsIDM5LCAxKSxcclxuICAgIHNpZGViYXJCb3JkZXJDb2xvcjogIzFmMjgzMyxcclxuICAgIG9ubGluZUNvbG9yOiAjNWNkYTlkLFxyXG4gICAgb2ZmbGluZUNvbG9yOiAjZmY1MjUyLFxyXG4gICAgY29udGVudEJhY2tncm91bmRDb2xvcjogcmdiYSg0MywgNTQsIDY4LCAwLjUpLFxyXG4gICAgbWFpblRleHRDb2xvcjogI2UwZTBlMCxcclxuICAgIGFsdGVybmF0aXZlVGV4dENvbG9yOiAjMTExOTIxLFxyXG4gICAgb3B0aW9uYWxUZXh0Q29sb3I6ICM1NTY1NzYsXHJcbiAgICBibHVlVGV4dENvbG9yOiAjNGRiMWZmLFxyXG4gICAgZ3JlZW5UZXh0Q29sb3I6ICM1Y2RhOWQsXHJcbiAgICBvcmFuZ2VUZXh0Q29sb3I6ICNmZjZmMDAsXHJcbiAgICByZWRUZXh0Q29sb3I6ICNmZjUyNTIsXHJcbiAgICBibHVlQnV0dG9uQmFja2dyb3VuZENvbG9yOiAjNGRiMWZmLFxyXG4gICAgYmx1ZUJ1dHRvbkhvdmVyQ29sb3I6ICM4MmQ3ZmYsXHJcbiAgICBibHVlQnV0dG9uRm9jdXNDb2xvcjogIzU5YjVmZCxcclxuICAgIGRpc2FibGVkQnV0dG9uQmFja2dyb3VuZENvbG9yOiAjOWNhZGI3LFxyXG4gICAgZGlzYWJsZWRCdXR0b25Ib3ZlckNvbG9yOiAjYjdkMWUwLFxyXG4gICAgZGlzYWJsZWRCdXR0b25Gb2N1c0NvbG9yOiAjYTdiOWMyLFxyXG4gICAgZ3JlZW5CdXR0b25CYWNrZ3JvdW5kQ29sb3I6ICM1Y2RhOWQsXHJcbiAgICBncmVlbkJ1dHRvbkhvdmVyQ29sb3I6ICM4ZGZjYzYsXHJcbiAgICBncmVlbkJ1dHRvbkZvY3VzQ29sb3I6ICM2MmUwYjIsXHJcbiAgICB0dXJxdW9pc2VCdXR0b25CYWNrZ3JvdW5kQ29sb3I6ICM0ZGQwZTEsXHJcbiAgICB0dXJxdW9pc2VCdXR0b25Ib3ZlckNvbG9yOiAjODdmNGY1LFxyXG4gICAgdHVycXVvaXNlQnV0dG9uRm9jdXNDb2xvcjogIzQyZDVlOCxcclxuICAgIHRyYW5zcGFyZW50QnV0dG9uQm9yZGVyQ29sb3I6ICMyYjM2NDQsXHJcbiAgICBpbnB1dEJhY2tncm91bmRDb2xvcjogIzE3MWUyNyxcclxuICAgIHNlbGVjdEhvdmVyQ29sb3I6IHJnYmEoNTgsIDY5LCA4NSwgMC41KSxcclxuICAgIHNlbGVjdFNlbGVjdGVkQ29sb3I6IHJnYmEoNDMsIDU0LCA2OCwgMC41KSxcclxuICAgIHN3aXRjaEJhY2tncm91bmRDb2xvcjogIzAwMDAwMCxcclxuICAgIGFjY291bnRCYWNrZ3JvdW5kQ29sb3I6IHJnYmEoNDMsIDU0LCA2OCwgMC41KSxcclxuICAgIGFjY291bnRIb3ZlckJhY2tncm91bmRDb2xvcjogcmdiYSg1OCwgNjksIDg1LCAwLjUpLFxyXG4gICAgYWNjb3VudE1haW5UZXh0Q29sb3I6ICNlMGUwZTAsXHJcbiAgICBzZWN1cmVkU2VlZDogI2UwZTBlMCxcclxuICAgIHNlZWRJdGVtVGV4dDogI2UwZTBlMCxcclxuICAgIHNlZWRJdGVtQmFja2dyb3VuZENvbG9yOiAjMTgyMDJhLFxyXG4gICAgYWNjb3VudE9wdGlvbmFsVGV4dENvbG9yOiAjNTU2NTc2LFxyXG4gICAgYWNjb3VudEluZGljYXRvclRleHRDb2xvcjogIzExMTkyMSxcclxuICAgIGFjY291bnRTd2l0Y2hCYWNrZ3JvdW5kQ29sb3I6ICMwMDAwMDAsXHJcbiAgICBhY2NvdW50SW5kaWNhdG9yQmFja2dyb3VuZENvbG9yOiAjNGRiMWZmLFxyXG4gICAgdGFiSW5hY3RpdmVCYWNrZ3JvdW5kQ29sb3I6IHJnYmEoMjMsIDMxLCAzOSwgMC41KSxcclxuICAgIHRhYkhvdmVyQmFja2dyb3VuZENvbG9yOiByZ2JhKDU4LCA2OSwgODUsIDAuNSksXHJcbiAgICB0YWJsZUJhY2tncm91bmRDb2xvcjogIzE4MjAyYSxcclxuICAgIG1lc3NhZ2VNeUJhY2tncm91bmRDb2xvcjogIzJhMzU0NCxcclxuICAgIG1lc3NhZ2VCdWRkeUJhY2tncm91bmRDb2xvcjogIzE4MjAyYSxcclxuICAgIHByb2dyZXNzQmFyQmFja2dyb3VuZENvbG9yOiAjMzQzZjRhLFxyXG4gICAgcHJvZ3Jlc3NCYXJGdWxsQmFja2dyb3VuZENvbG9yOiAjNWNkYTlkLFxyXG4gICAgY2hhcnRPcHRpb25zQmFja2dyb3VuZENvbG9yOiAjMmIzNjQ0LFxyXG4gICAgY2hhcnRPcHRpb25zSG92ZXJDb2xvcjogIzU1NjU3NixcclxuICAgIHRvb2x0aXBCYWNrZ3JvdW5kQ29sb3I6ICM0MjUwNWYsXHJcbiAgICB0b29sdGlwSW1wb3J0YW50VGV4dENvbG9yOiAjZmY2ZjAwLFxyXG4gICAgdG9vbHRpcEltcG9ydGFudEJhY2tncm91bmRDb2xvcjogIzVmMmIxMSxcclxuICAgIHRvb2x0aXBDcml0aWNhbFRleHRDb2xvcjogI2ZmNTI1MixcclxuICAgIHRvb2x0aXBDcml0aWNhbEJhY2tncm91bmRDb2xvcjogIzVmMWQxZCxcclxuICAgIHRvb2x0aXBTaGFkb3c6IDAgMCAxcmVtIHJnYmEoMCwgMCwgMCwgMC41KSxcclxuICAgIG1vZGFsQmFja2dyb3VuZDogdXJsKH5zcmMvYXNzZXRzL2ltYWdlcy9iYWNrZ3JvdW5kLWRhcmsucG5nKSxcclxuICAgIGNsb3NlQnV0dG9uQ29sb3I6ICM1NTY1NzYsXHJcbiAgICBob3ZlclBhZ2U6ICMzYTQ4NWFcclxuICApLFxyXG4gIGdyYXk6IChcclxuICAgIGJvZHlCYWNrZ3JvdW5kQ29sb3I6ICMxMDE0MTcsXHJcbiAgICBzaWRlYmFyQmFja2dyb3VuZENvbG9yOiByZ2JhKDI4LCAzMCwgMzMsIDEpLFxyXG4gICAgc2lkZWJhckJvcmRlckNvbG9yOiAjMmUzMzM3LFxyXG4gICAgb25saW5lQ29sb3I6ICM0N2NmOGQsXHJcbiAgICBvZmZsaW5lQ29sb3I6ICNmZjUyNTIsXHJcbiAgICBjb250ZW50QmFja2dyb3VuZENvbG9yOiByZ2JhKDM3LCA0MCwgNDMsIDAuNSksXHJcbiAgICBtYWluVGV4dENvbG9yOiAjZTBlMGUwLFxyXG4gICAgYWx0ZXJuYXRpdmVUZXh0Q29sb3I6ICMxYTFhMWEsXHJcbiAgICBvcHRpb25hbFRleHRDb2xvcjogIzU2NWM2MixcclxuICAgIGJsdWVUZXh0Q29sb3I6ICM0MmE1ZjUsXHJcbiAgICBncmVlblRleHRDb2xvcjogIzQ3Y2Y4ZCxcclxuICAgIG9yYW5nZVRleHRDb2xvcjogI2ZmNmYwMCxcclxuICAgIHJlZFRleHRDb2xvcjogI2ZmNTI1MixcclxuICAgIGJsdWVCdXR0b25CYWNrZ3JvdW5kQ29sb3I6ICM0MmE1ZjUsXHJcbiAgICBibHVlQnV0dG9uSG92ZXJDb2xvcjogIzg2ZDZmZixcclxuICAgIGJsdWVCdXR0b25Gb2N1c0NvbG9yOiAjNWZiNmZjLFxyXG4gICAgZGlzYWJsZWRCdXR0b25CYWNrZ3JvdW5kQ29sb3I6ICM3OTg0OGYsXHJcbiAgICBkaXNhYmxlZEJ1dHRvbkhvdmVyQ29sb3I6ICNhMWFlYmIsXHJcbiAgICBkaXNhYmxlZEJ1dHRvbkZvY3VzQ29sb3I6ICM4YTk1OWYsXHJcbiAgICBncmVlbkJ1dHRvbkJhY2tncm91bmRDb2xvcjogIzQ3Y2Y4ZCxcclxuICAgIGdyZWVuQnV0dG9uSG92ZXJDb2xvcjogIzdiZjZjNixcclxuICAgIGdyZWVuQnV0dG9uRm9jdXNDb2xvcjogIzVjZGM5ZSxcclxuICAgIHR1cnF1b2lzZUJ1dHRvbkJhY2tncm91bmRDb2xvcjogIzNlYzVkNyxcclxuICAgIHR1cnF1b2lzZUJ1dHRvbkhvdmVyQ29sb3I6ICM3MmVkZmUsXHJcbiAgICB0dXJxdW9pc2VCdXR0b25Gb2N1c0NvbG9yOiAjNTBkMGUxLFxyXG4gICAgdHJhbnNwYXJlbnRCdXR0b25Cb3JkZXJDb2xvcjogIzJmMzQzOCxcclxuICAgIGlucHV0QmFja2dyb3VuZENvbG9yOiAjMjkyZDMxLFxyXG4gICAgc2VsZWN0SG92ZXJDb2xvcjogcmdiYSg1OCwgNjIsIDY2LCAwLjUpLFxyXG4gICAgc2VsZWN0U2VsZWN0ZWRDb2xvcjogcmdiYSgzNywgNDAsIDQzLCAwLjUpLFxyXG4gICAgc3dpdGNoQmFja2dyb3VuZENvbG9yOiAjMDAwMDAwLFxyXG4gICAgYWNjb3VudEJhY2tncm91bmRDb2xvcjogcmdiYSgzNywgNDAsIDQzLCAwLjUpLFxyXG4gICAgYWNjb3VudEhvdmVyQmFja2dyb3VuZENvbG9yOiByZ2JhKDU4LCA2MiwgNjYsIDAuNSksXHJcbiAgICBhY2NvdW50TWFpblRleHRDb2xvcjogI2UwZTBlMCxcclxuICAgIHNlY3VyZWRTZWVkOiAjZTBlMGUwLFxyXG4gICAgc2VlZEl0ZW1UZXh0OiAjZTBlMGUwLFxyXG4gICAgc2VlZEl0ZW1CYWNrZ3JvdW5kQ29sb3I6ICMyOTJkMzEsXHJcbiAgICBhY2NvdW50T3B0aW9uYWxUZXh0Q29sb3I6ICM1NjVjNjIsXHJcbiAgICBhY2NvdW50SW5kaWNhdG9yVGV4dENvbG9yOiAjMWExYTFhLFxyXG4gICAgYWNjb3VudFN3aXRjaEJhY2tncm91bmRDb2xvcjogIzAwMDAwMCxcclxuICAgIGFjY291bnRJbmRpY2F0b3JCYWNrZ3JvdW5kQ29sb3I6ICM0MmE1ZjUsXHJcbiAgICB0YWJJbmFjdGl2ZUJhY2tncm91bmRDb2xvcjogcmdiYSgyOCwgMzAsIDMzLCAwLjUpLFxyXG4gICAgdGFiSG92ZXJCYWNrZ3JvdW5kQ29sb3I6IHJnYmEoNTgsIDYyLCA2NiwgMC41KSxcclxuICAgIHRhYmxlQmFja2dyb3VuZENvbG9yOiAjMjUyOTJkLFxyXG4gICAgbWVzc2FnZU15QmFja2dyb3VuZENvbG9yOiAjMzAzNjNjLFxyXG4gICAgbWVzc2FnZUJ1ZGR5QmFja2dyb3VuZENvbG9yOiAjMjUyOTJkLFxyXG4gICAgcHJvZ3Jlc3NCYXJCYWNrZ3JvdW5kQ29sb3I6ICMzNjNhM2UsXHJcbiAgICBwcm9ncmVzc0JhckZ1bGxCYWNrZ3JvdW5kQ29sb3I6ICM0N2NmOGQsXHJcbiAgICBjaGFydE9wdGlvbnNCYWNrZ3JvdW5kQ29sb3I6ICMyOTJkMzEsXHJcbiAgICBjaGFydE9wdGlvbnNIb3ZlckNvbG9yOiAjNTE1OTYwLFxyXG4gICAgdG9vbHRpcEJhY2tncm91bmRDb2xvcjogIzNlNDY0YyxcclxuICAgIHRvb2x0aXBJbXBvcnRhbnRUZXh0Q29sb3I6ICNmZjZmMDAsXHJcbiAgICB0b29sdGlwSW1wb3J0YW50QmFja2dyb3VuZENvbG9yOiAjNTUyNDBkLFxyXG4gICAgdG9vbHRpcENyaXRpY2FsVGV4dENvbG9yOiAjZmY1MjUyLFxyXG4gICAgdG9vbHRpcENyaXRpY2FsQmFja2dyb3VuZENvbG9yOiAjNGMxOTE5LFxyXG4gICAgdG9vbHRpcFNoYWRvdzogMCAwIDFyZW0gcmdiYSgwLCAwLCAwLCAwLjUpLFxyXG4gICAgbW9kYWxCYWNrZ3JvdW5kOiB1cmwofnNyYy9hc3NldHMvaW1hZ2VzL2JhY2tncm91bmQtZ3JheS5wbmcpLFxyXG4gICAgY2xvc2VCdXR0b25Db2xvcjogIzUxNTk2MCxcclxuICAgIGhvdmVyUGFnZTogIzM4M2U0M1xyXG4gICksXHJcbiAgd2hpdGU6IChcclxuICAgIGJvZHlCYWNrZ3JvdW5kQ29sb3I6ICNlZWVlZWUsXHJcbiAgICBzaWRlYmFyQmFja2dyb3VuZENvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpLFxyXG4gICAgc2lkZWJhckJvcmRlckNvbG9yOiAjZWJlYmViLFxyXG4gICAgb25saW5lQ29sb3I6ICM0NmMxNzIsXHJcbiAgICBvZmZsaW5lQ29sb3I6ICNmZjUyNTIsXHJcbiAgICBjb250ZW50QmFja2dyb3VuZENvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSksXHJcbiAgICBtYWluVGV4dENvbG9yOiAjNDM0NTRiLFxyXG4gICAgYWx0ZXJuYXRpdmVUZXh0Q29sb3I6ICNmZWZlZmUsXHJcbiAgICBvcHRpb25hbFRleHRDb2xvcjogI2EwYTVhYixcclxuICAgIGJsdWVUZXh0Q29sb3I6ICMyYzk1ZjEsXHJcbiAgICBncmVlblRleHRDb2xvcjogIzQ2YzE3MixcclxuICAgIG9yYW5nZVRleHRDb2xvcjogI2ZmNmYwMCxcclxuICAgIHJlZFRleHRDb2xvcjogI2ZmNTI1MixcclxuICAgIGJsdWVCdXR0b25CYWNrZ3JvdW5kQ29sb3I6ICMyYzk1ZjEsXHJcbiAgICBibHVlQnV0dG9uSG92ZXJDb2xvcjogIzVjYjNmZixcclxuICAgIGJsdWVCdXR0b25Gb2N1c0NvbG9yOiAjMzc5ZmZhLFxyXG4gICAgZGlzYWJsZWRCdXR0b25CYWNrZ3JvdW5kQ29sb3I6ICM5MGE0YWUsXHJcbiAgICBkaXNhYmxlZEJ1dHRvbkhvdmVyQ29sb3I6ICNhZWJlYzYsXHJcbiAgICBkaXNhYmxlZEJ1dHRvbkZvY3VzQ29sb3I6ICNhN2I5YzIsXHJcbiAgICBncmVlbkJ1dHRvbkJhY2tncm91bmRDb2xvcjogIzQ2YzE3MixcclxuICAgIGdyZWVuQnV0dG9uSG92ZXJDb2xvcjogIzVhZDU4NixcclxuICAgIGdyZWVuQnV0dG9uRm9jdXNDb2xvcjogIzUzYzc3YyxcclxuICAgIHR1cnF1b2lzZUJ1dHRvbkJhY2tncm91bmRDb2xvcjogIzI2YjZjNyxcclxuICAgIHR1cnF1b2lzZUJ1dHRvbkhvdmVyQ29sb3I6ICM1MmNiZDksXHJcbiAgICB0dXJxdW9pc2VCdXR0b25Gb2N1c0NvbG9yOiAjMzFiZWNmLFxyXG4gICAgdHJhbnNwYXJlbnRCdXR0b25Cb3JkZXJDb2xvcjogI2ViZWJlYixcclxuICAgIGlucHV0QmFja2dyb3VuZENvbG9yOiAjZTZlNmU2LFxyXG4gICAgc2VsZWN0SG92ZXJDb2xvcjogcmdiYSgyNDAsIDI0MCwgMjQwLCAwLjUpLFxyXG4gICAgc2VsZWN0U2VsZWN0ZWRDb2xvcjogcmdiYSgyMjQsIDIyNCwgMjI0LCAwLjUpLFxyXG4gICAgc3dpdGNoQmFja2dyb3VuZENvbG9yOiAjZTBlMGUwLFxyXG4gICAgYWNjb3VudEJhY2tncm91bmRDb2xvcjogcmdiYSgzMCwgMTM2LCAyMjksIDEpLFxyXG4gICAgYWNjb3VudEhvdmVyQmFja2dyb3VuZENvbG9yOiByZ2JhKDI0MCwgMjQwLCAyNDAsIDAuNSksXHJcbiAgICBhY2NvdW50TWFpblRleHRDb2xvcjogI2ZmZmZmZixcclxuICAgIHNlY3VyZWRTZWVkOiAjYTBhNWFiLFxyXG4gICAgc2VlZEl0ZW1UZXh0OiAjNDM0NTRiLFxyXG4gICAgc2VlZEl0ZW1CYWNrZ3JvdW5kQ29sb3I6ICNlNmU2ZTYsXHJcbiAgICBhY2NvdW50T3B0aW9uYWxUZXh0Q29sb3I6ICM5MWJhZjEsXHJcbiAgICBhY2NvdW50SW5kaWNhdG9yVGV4dENvbG9yOiAjNDM0NTRiLFxyXG4gICAgYWNjb3VudFN3aXRjaEJhY2tncm91bmRDb2xvcjogI2ZmZmZmZixcclxuICAgIGFjY291bnRJbmRpY2F0b3JCYWNrZ3JvdW5kQ29sb3I6ICNmZmZmZmYsXHJcbiAgICB0YWJJbmFjdGl2ZUJhY2tncm91bmRDb2xvcjogcmdiYSgyMjQsIDIyNCwgMjI0LCAwLjUpLFxyXG4gICAgdGFiSG92ZXJCYWNrZ3JvdW5kQ29sb3I6ICNmZmZmZmYsXHJcbiAgICB0YWJsZUJhY2tncm91bmRDb2xvcjogI2ZmZmZmZixcclxuICAgIG1lc3NhZ2VNeUJhY2tncm91bmRDb2xvcjogI2ZmZixcclxuICAgIG1lc3NhZ2VCdWRkeUJhY2tncm91bmRDb2xvcjogI2VkZWRlZCxcclxuICAgIHByb2dyZXNzQmFyQmFja2dyb3VuZENvbG9yOiAjZGNkY2RjLFxyXG4gICAgcHJvZ3Jlc3NCYXJGdWxsQmFja2dyb3VuZENvbG9yOiAjNDZjMTcyLFxyXG4gICAgY2hhcnRPcHRpb25zQmFja2dyb3VuZENvbG9yOiAjZTBlMGUwLFxyXG4gICAgY2hhcnRPcHRpb25zSG92ZXJDb2xvcjogI2ZmZmZmZixcclxuICAgIHRvb2x0aXBCYWNrZ3JvdW5kQ29sb3I6ICNmZmZmZmYsXHJcbiAgICB0b29sdGlwSW1wb3J0YW50VGV4dENvbG9yOiAjZmZmZmZmLFxyXG4gICAgdG9vbHRpcEltcG9ydGFudEJhY2tncm91bmRDb2xvcjogI2VmNmMwMCxcclxuICAgIHRvb2x0aXBDcml0aWNhbFRleHRDb2xvcjogI2ZmZmZmZixcclxuICAgIHRvb2x0aXBDcml0aWNhbEJhY2tncm91bmRDb2xvcjogI2U1MzkzNSxcclxuICAgIHRvb2x0aXBTaGFkb3c6IDAgMCAxcmVtIHJnYmEoMTIwLCAxMjAsIDEyMCwgMC41KSxcclxuICAgIG1vZGFsQmFja2dyb3VuZDogdXJsKH5zcmMvYXNzZXRzL2ltYWdlcy9iYWNrZ3JvdW5kLXdoaXRlLnBuZyksXHJcbiAgICBjbG9zZUJ1dHRvbkNvbG9yOiAjNDM0NTRiLFxyXG4gICAgaG92ZXJQYWdlOiAjZmZmZmZmXHJcbiAgKVxyXG4pO1xyXG5cclxuXHJcblxyXG5cclxuXHJcbiIsImFwcC1tYWluLCBhcHAtY3JlYXRlLXdhbGxldCwgYXBwLW9wZW4td2FsbGV0LCBhcHAtcmVzdG9yZS13YWxsZXQsIGFwcC1zZWVkLXBocmFzZSwgYXBwLXdhbGxldC1kZXRhaWxzLCBhcHAtYXNzaWduLWFsaWFzLCBhcHAtZWRpdC1hbGlhcywgYXBwLXRyYW5zZmVyLWFsaWFzLCBhcHAtc2V0dGluZ3MsIGFwcC1sb2dpbiB7XHJcbiAgZmxleDogMSAxIGF1dG87XHJcbiAgcGFkZGluZzogM3JlbTtcclxuICBtaW4td2lkdGg6IDg1cmVtO1xyXG5cclxuICAuY29udGVudCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nOiAzcmVtO1xyXG4gICAgbWluLWhlaWdodDogMTAwJTtcclxuXHJcbiAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGNvbnRlbnRCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIC5oZWFkIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5hcHAtbWFpbiB7XHJcblxyXG4gIC5jb250ZW50IHtcclxuXHJcbiAgICAuYWRkLXdhbGxldCB7XHJcblxyXG4gICAgICAuYWRkLXdhbGxldC1oZWxwIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICBjb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmljb24ge1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5hcHAtc2VlZC1waHJhc2Uge1xyXG5cclxuICAuc2VlZC1waHJhc2UtY29udGVudCB7XHJcblxyXG4gICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChpbnB1dEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgIGNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcilcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmFwcC13YWxsZXQtZGV0YWlscyB7XHJcblxyXG4gIC5zZWVkLXBocmFzZSB7XHJcblxyXG4gICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChpbnB1dEJhY2tncm91bmRDb2xvcik7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5hcHAtc2V0dGluZ3Mge1xyXG5cclxuICAuY29udGVudCB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICAgLnRoZW1lLXNlbGVjdGlvbiB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBjb2xvcjogdGhlbWVkKG9wdGlvbmFsVGV4dENvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zY2FsZS1zZWxlY3Rpb24ge1xyXG5cclxuICAgICAgLmJ1dHRvbi1ibG9jayB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHRhYkluYWN0aXZlQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5sYWJlbCB7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB0aGVtZWQob3B0aW9uYWxUZXh0Q29sb3IpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLmxhYmVsIHtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICAgIGNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmFwcC1sb2dpbiB7XHJcbiAgbWluLXdpZHRoOiBpbmhlcml0O1xyXG59XHJcbiIsImFwcC1zaWRlYmFyIHtcclxuXHJcbiAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoc2lkZWJhckJhY2tncm91bmRDb2xvcik7XHJcbiAgfVxyXG5cclxuICAuc2lkZWJhci1hY2NvdW50cyB7XHJcblxyXG4gICAgLnNpZGViYXItYWNjb3VudHMtaGVhZGVyIHtcclxuXHJcbiAgICAgIGgzIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgYnV0dG9uIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICBjb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zaWRlYmFyLWFjY291bnRzLWxpc3Qge1xyXG5cclxuICAgICAgLnNpZGViYXItYWNjb3VudCB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmljb24ge1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc2lkZWJhci1hY2NvdW50LXJvdyB7XHJcblxyXG4gICAgICAgICAgLnRleHQge1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgICAgY29sb3I6IHRoZW1lZChvcHRpb25hbFRleHRDb2xvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuaWNvbiB7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuaW5kaWNhdG9yIHtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChibHVlQnV0dG9uQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICAgICAgICBjb2xvcjogdGhlbWVkKGFsdGVybmF0aXZlVGV4dENvbG9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIHtcclxuXHJcbiAgICAgICAgICAgIC5wcm9ncmVzcy1iYXIge1xyXG5cclxuICAgICAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChwcm9ncmVzc0JhckJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAuZmlsbCB7XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmLmFjY291bnQtc3luY2hyb25pemF0aW9uIHtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICAgIGNvbG9yOiB0aGVtZWQob3B0aW9uYWxUZXh0Q29sb3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmFjdGl2ZSB7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChhY2NvdW50QmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICAgICAgY29sb3I6IHRoZW1lZChhY2NvdW50TWFpblRleHRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLnNpZGViYXItYWNjb3VudC1yb3cge1xyXG5cclxuICAgICAgICAgICAgLnRleHQge1xyXG5cclxuICAgICAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB0aGVtZWQoYWNjb3VudE9wdGlvbmFsVGV4dENvbG9yKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5pbmRpY2F0b3Ige1xyXG5cclxuICAgICAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChhY2NvdW50SW5kaWNhdG9yQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB0aGVtZWQoYWNjb3VudEluZGljYXRvclRleHRDb2xvcik7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuc3dpdGNoIHtcclxuXHJcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYWNjb3VudFN3aXRjaEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5hY2NvdW50LXN5bmNocm9uaXphdGlvbiB7XHJcblxyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHRoZW1lZChhY2NvdW50T3B0aW9uYWxUZXh0Q29sb3IpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3Zlcjpub3QoLmFjdGl2ZSkge1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYWNjb3VudEhvdmVyQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOmFmdGVyIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHRyYW5zcGFyZW50IDAlLCB0aGVtZWQoc2lkZWJhckJhY2tncm91bmRDb2xvcikgMTAwJSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5zaWRlYmFyLXNldHRpbmdzIHtcclxuXHJcbiAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMC4ycmVtIHNvbGlkIHRoZW1lZChzaWRlYmFyQm9yZGVyQ29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIC53cmFwLWJ1dHRvbiB7XHJcblxyXG4gICAgICBidXR0b24ge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaWNvbiB7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuYWN0aXZlIHtcclxuXHJcbiAgICAgICAgYnV0dG9uIHtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGFjY291bnRCYWNrZ3JvdW5kQ29sb3IpIWltcG9ydGFudDtcclxuICAgICAgICAgICAgY29sb3I6IHRoZW1lZChhY2NvdW50TWFpblRleHRDb2xvcikhaW1wb3J0YW50O1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5pY29uIHtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChhY2NvdW50SW5kaWNhdG9yQmFja2dyb3VuZENvbG9yKSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiIsIi5zeW5jaHJvbml6YXRpb24tc3RhdHVzIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gIGZsZXg6IDAgMCA3cmVtO1xyXG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgY29sb3I6IHRoZW1lZChvcHRpb25hbFRleHRDb2xvcik7XHJcbiAgfVxyXG5cclxuICAuc3RhdHVzLWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cclxuICAgIC5vZmZsaW5lLCAub25saW5lIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgbGluZS1oZWlnaHQ6IDEuMnJlbTtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAyLjJyZW07XHJcblxyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICB3aWR0aDogMS4ycmVtO1xyXG4gICAgICAgIGhlaWdodDogMS4ycmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm9mZmxpbmU6YmVmb3JlIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChvZmZsaW5lQ29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm9ubGluZTpiZWZvcmUge1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKG9ubGluZUNvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zeW5jaW5nLCAubG9hZGluZyB7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiA1cmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBib3R0b206IDA7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIGhlaWdodDogMC43cmVtO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgIC5zeW5jaW5nIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG5cclxuICAgICAgICAucHJvZ3Jlc3MtYmFyIHtcclxuICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xyXG4gICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChwcm9ncmVzc0JhckJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAuZmlsbCB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHByb2dyZXNzQmFyRnVsbEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kb3dubG9hZGluZyB7XHJcblxyXG4gICAgICAgICAgLnByb2dyZXNzLWJhciB7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQocHJvZ3Jlc3NCYXJCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuZmlsbCB7XHJcblxyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucHJvZ3Jlc3MtcGVyY2VudCB7XHJcbiAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDAuN3JlbTtcclxuICAgICAgICAgIHBhZGRpbmctbGVmdDogMC43cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmxvYWRpbmcge1xyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHByb2dyZXNzQmFyRnVsbEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGFuaW1hdGlvbjogbW92ZSA1cyBsaW5lYXIgaW5maW5pdGU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTpcclxuICAgICAgICAgIC13ZWJraXQtZ3JhZGllbnQoXHJcbiAgICAgICAgICAgICAgbGluZWFyLCAwIDAsIDEwMCUgMTAwJSxcclxuICAgICAgICAgICAgICBjb2xvci1zdG9wKC4xMjUsIHJnYmEoMCwgMCwgMCwgLjE1KSksIGNvbG9yLXN0b3AoLjEyNSwgdHJhbnNwYXJlbnQpLFxyXG4gICAgICAgICAgICAgIGNvbG9yLXN0b3AoLjI1MCwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKC4yNTAsIHJnYmEoMCwgMCwgMCwgLjEwKSksXHJcbiAgICAgICAgICAgICAgY29sb3Itc3RvcCguMzc1LCByZ2JhKDAsIDAsIDAsIC4xMCkpLCBjb2xvci1zdG9wKC4zNzUsIHRyYW5zcGFyZW50KSxcclxuICAgICAgICAgICAgICBjb2xvci1zdG9wKC41MDAsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCguNTAwLCByZ2JhKDAsIDAsIDAsIC4xNSkpLFxyXG4gICAgICAgICAgICAgIGNvbG9yLXN0b3AoLjYyNSwgcmdiYSgwLCAwLCAwLCAuMTUpKSwgY29sb3Itc3RvcCguNjI1LCB0cmFuc3BhcmVudCksXHJcbiAgICAgICAgICAgICAgY29sb3Itc3RvcCguNzUwLCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoLjc1MCwgcmdiYSgwLCAwLCAwLCAuMTApKSxcclxuICAgICAgICAgICAgICBjb2xvci1zdG9wKC44NzUsIHJnYmEoMCwgMCwgMCwgLjEwKSksIGNvbG9yLXN0b3AoLjg3NSwgdHJhbnNwYXJlbnQpLFxyXG4gICAgICAgICAgICAgIHRvKHRyYW5zcGFyZW50KVxyXG4gICAgICAgICAgKSxcclxuICAgICAgICAgIC13ZWJraXQtZ3JhZGllbnQoXHJcbiAgICAgICAgICAgICAgbGluZWFyLCAwIDEwMCUsIDEwMCUgMCxcclxuICAgICAgICAgICAgICBjb2xvci1zdG9wKC4xMjUsIHJnYmEoMCwgMCwgMCwgLjMwKSksIGNvbG9yLXN0b3AoLjEyNSwgdHJhbnNwYXJlbnQpLFxyXG4gICAgICAgICAgICAgIGNvbG9yLXN0b3AoLjI1MCwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKC4yNTAsIHJnYmEoMCwgMCwgMCwgLjI1KSksXHJcbiAgICAgICAgICAgICAgY29sb3Itc3RvcCguMzc1LCByZ2JhKDAsIDAsIDAsIC4yNSkpLCBjb2xvci1zdG9wKC4zNzUsIHRyYW5zcGFyZW50KSxcclxuICAgICAgICAgICAgICBjb2xvci1zdG9wKC41MDAsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCguNTAwLCByZ2JhKDAsIDAsIDAsIC4zMCkpLFxyXG4gICAgICAgICAgICAgIGNvbG9yLXN0b3AoLjYyNSwgcmdiYSgwLCAwLCAwLCAuMzApKSwgY29sb3Itc3RvcCguNjI1LCB0cmFuc3BhcmVudCksXHJcbiAgICAgICAgICAgICAgY29sb3Itc3RvcCguNzUwLCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoLjc1MCwgcmdiYSgwLCAwLCAwLCAuMjUpKSxcclxuICAgICAgICAgICAgICBjb2xvci1zdG9wKC44NzUsIHJnYmEoMCwgMCwgMCwgLjI1KSksIGNvbG9yLXN0b3AoLjg3NSwgdHJhbnNwYXJlbnQpLFxyXG4gICAgICAgICAgICAgIHRvKHRyYW5zcGFyZW50KVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDdyZW0gN3JlbTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC51cGRhdGUtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cclxuICAgIC51cGRhdGUtdGV4dCB7XHJcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xyXG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgICAgbGluZS1oZWlnaHQ6IDEuOHJlbTtcclxuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuXHJcbiAgICAgICYudGltZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaWNvbiB7XHJcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xyXG4gICAgICBtYXJnaW46IDAuM3JlbSAwIDAgMC42cmVtO1xyXG4gICAgICB3aWR0aDogMS4ycmVtO1xyXG4gICAgICBoZWlnaHQ6IDEuMnJlbTtcclxuXHJcbiAgICAgICYudXBkYXRlIHtcclxuICAgICAgICBtYXNrOiB1cmwoLi9hc3NldHMvaWNvbnMvdXBkYXRlLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi50aW1lIHtcclxuICAgICAgICBtYXNrOiB1cmwoLi9hc3NldHMvaWNvbnMvdGltZS5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc3RhbmRhcmQge1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5pbXBvcnRhbnQge1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgY29sb3I6IHRoZW1lZChvcmFuZ2VUZXh0Q29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNyaXRpY2FsIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGNvbG9yOiB0aGVtZWQocmVkVGV4dENvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC50aW1lIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGNvbG9yOiB0aGVtZWQob3JhbmdlVGV4dENvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5pY29uIHtcclxuXHJcbiAgICAgICYuc3RhbmRhcmQge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuaW1wb3J0YW50IHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQob3JhbmdlVGV4dENvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuY3JpdGljYWwge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChyZWRUZXh0Q29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJi50aW1lIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQob3JhbmdlVGV4dENvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIG1vdmUge1xyXG4gIDAlIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgLTdyZW07XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA3cmVtO1xyXG4gIH1cclxufVxyXG4iLCJhcHAtd2FsbGV0IHtcclxuXHJcbiAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gIH1cclxuXHJcbiAgLmhlYWRlciB7XHJcblxyXG4gICAgYnV0dG9uIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5pY29uIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICY6ZGlzYWJsZWQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChhY2NvdW50T3B0aW9uYWxUZXh0Q29sb3IpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5hbGlhcyB7XHJcblxyXG4gICAgICAuaWNvbiB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmFkZHJlc3Mge1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBjb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIC5pY29uIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnRhYnMge1xyXG5cclxuICAgIC50YWJzLWhlYWRlciB7XHJcblxyXG4gICAgICAudGFiIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQodGFiSW5hY3RpdmVCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmljb24ge1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaW5kaWNhdG9yIHtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGFjY291bnRJbmRpY2F0b3JCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgICAgICBjb2xvcjogdGhlbWVkKGFjY291bnRJbmRpY2F0b3JUZXh0Q29sb3IpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoY29udGVudEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyOm5vdCguYWN0aXZlKTpub3QoLmRpc2FibGVkKSB7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZCh0YWJIb3ZlckJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnRhYnMtY29udGVudCB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoY29udGVudEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucGFnaW5hdGlvbi13cmFwcGVyIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChjb250ZW50QmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnBhZ2luYXRpb24ge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGJvcmRlci10b3A6IDAuMnJlbSBzb2xpZCB0aGVtZWQodHJhbnNwYXJlbnRCdXR0b25Cb3JkZXJDb2xvcik7XHJcbiAgICAgICAgfVxyXG4gIFxyXG4gICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHRyYW5zcGFyZW50QnV0dG9uQm9yZGVyQ29sb3IpO1xyXG4gICAgICAgICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgICAgICAgfVxyXG4gIFxyXG4gICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQodGFibGVCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgICAgICAgIGNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICBcclxuICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoaG92ZXJQYWdlKTtcclxuICAgICAgICAgICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuYXBwLXNlbmQge1xyXG5cclxuICAuZm9ybS1zZW5kIHtcclxuXHJcbiAgICAuc2VuZC1zZWxlY3Qge1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmljb24ge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYWRkaXRpb25hbC1kZXRhaWxzIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGJvcmRlcjogMC4ycmVtIHNvbGlkIHRoZW1lZCh0cmFuc3BhcmVudEJ1dHRvbkJvcmRlckNvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuYXBwLXJlY2VpdmUge1xyXG5cclxuICAuYnRuLWNvcHktYWRkcmVzcyB7XHJcblxyXG4gICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmFwcC1oaXN0b3J5IHtcclxuXHJcbiAgdGFibGUge1xyXG5cclxuICAgIHRib2R5IHtcclxuXHJcbiAgICAgIHRyIHtcclxuXHJcbiAgICAgICAgJi5sb2NrZWQtdHJhbnNhY3Rpb24ge1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBjb2xvcjogdGhlbWVkKG9wdGlvbmFsVGV4dENvbG9yKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bnRoLWNoaWxkKDRuKzEpIHtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHRhYmxlQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bnRoLWNoaWxkKDRuKzIpIHtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHRhYmxlQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bnRoLWNoaWxkKDRuKzMpIHtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm50aC1jaGlsZCg0bis0KSB7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnN0YXR1cyB7XHJcblxyXG4gICAgICAgICAgLmNvbmZpcm1hdGlvbiB7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQocHJvZ3Jlc3NCYXJCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuZmlsbCB7XHJcblxyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHByb2dyZXNzQmFyRnVsbEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubG9jay10cmFuc2FjdGlvbiB7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChvcmFuZ2VUZXh0Q29sb3IpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnVubG9jay10cmFuc2FjdGlvbiB7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zdGF0dXMuc2VuZCB7XHJcblxyXG4gICAgICAgICAgLnN0YXR1cy10cmFuc2FjdGlvbiB7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQocmVkVGV4dENvbG9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnN0YXR1cy5yZWNlaXZlZCB7XHJcblxyXG4gICAgICAgICAgLnN0YXR1cy10cmFuc2FjdGlvbiB7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoZ3JlZW5UZXh0Q29sb3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5hcHAtY29udHJhY3RzIHtcclxuXHJcbiAgLndyYXAtdGFibGUge1xyXG5cclxuICAgIC5jb250cmFjdCB7XHJcblxyXG4gICAgICAuaWNvbiB7XHJcblxyXG4gICAgICAgICYubmV3LCAmLmFsZXJ0IHtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHJlZFRleHRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLnB1cmNoYXNlLCAmLnNlbGwge1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5hcHAtcHVyY2hhc2Uge1xyXG5cclxuICAuZm9ybS1wdXJjaGFzZSB7XHJcblxyXG4gICAgLnB1cmNoYXNlLXNlbGVjdCB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBjb2xvcjogdGhlbWVkKG1haW5UZXh0Q29sb3IpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuaWNvbiB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5wdXJjaGFzZS1zdGF0ZXMge1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5hZGRpdGlvbmFsLWRldGFpbHMge1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgYm9yZGVyOiAwLjJyZW0gc29saWQgdGhlbWVkKHRyYW5zcGFyZW50QnV0dG9uQm9yZGVyQ29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAucHJvZ3Jlc3MtYmFyLWNvbnRhaW5lciB7XHJcblxyXG4gICAgLnByb2dyZXNzLWJhciB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQocHJvZ3Jlc3NCYXJCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAucHJvZ3Jlc3MtYmFyLWZ1bGwge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChwcm9ncmVzc0JhckZ1bGxCYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuYXBwLW1lc3NhZ2VzIHtcclxuXHJcbiAgdGFibGUge1xyXG5cclxuICAgIHRib2R5IHtcclxuXHJcbiAgICAgIHRyIHtcclxuXHJcbiAgICAgICAgdGQ6Zmlyc3QtY2hpbGQge1xyXG5cclxuICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5pY29uIHtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChyZWRUZXh0Q29sb3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5hcHAtdHlwaW5nLW1lc3NhZ2Uge1xyXG5cclxuICAuaGVhZCB7XHJcblxyXG4gICAgLmludGVybG9jdXRvciB7XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBjb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubWVzc2FnZXMtY29udGVudCB7XHJcblxyXG4gICAgLm1lc3NhZ2VzLWxpc3Qge1xyXG5cclxuICAgICAgZGl2IHtcclxuXHJcbiAgICAgICAgJi5kYXRlIHtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgY29sb3I6IHRoZW1lZChvcHRpb25hbFRleHRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm15IHtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKG1lc3NhZ2VNeUJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJjpiZWZvcmUge1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgcHNldWRvO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IC0xLjFyZW07XHJcbiAgICAgICAgICAgIGJvcmRlcjogMS4ycmVtIHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdGhlbWVkKG1lc3NhZ2VNeUJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYnVkZHkge1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQobWVzc2FnZUJ1ZGR5QmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmOmFmdGVyIHtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHBzZXVkbztcclxuICAgICAgICAgICAgcmlnaHQ6IC0xLjFyZW07XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgYm9yZGVyOiAxLjJyZW0gc29saWQgdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0aGVtZWQobWVzc2FnZUJ1ZGR5QmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuYXBwLXN0YWtpbmcge1xyXG5cclxuICAuY2hhcnQtaGVhZGVyIHtcclxuXHJcbiAgICAuZ2VuZXJhbCB7XHJcblxyXG4gICAgICAubGFiZWwge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGNvbG9yOiB0aGVtZWQob3B0aW9uYWxUZXh0Q29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLm9wdGlvbnMge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNlbGVjdGVkIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jaGFydC1vcHRpb25zIHtcclxuXHJcbiAgICAudGl0bGUge1xyXG5cclxuICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgY29sb3I6IHRoZW1lZChvcHRpb25hbFRleHRDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAub3B0aW9ucyB7XHJcblxyXG4gICAgICBidXR0b24ge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcik7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoY2hhcnRPcHRpb25zQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYWN0aXZlIHtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGNoYXJ0T3B0aW9uc0hvdmVyQ29sb3IpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmlucHV0LWJsb2NrLWFsaWFzIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gIC5hbGlhcy1kcm9wZG93biB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDYuNXJlbTtcclxuICAgIG1heC1oZWlnaHQ6IDEwcmVtO1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGlucHV0QmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICBkaXYge1xyXG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcclxuICAgICAgcGFkZGluZzogMXJlbTtcclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHNlbGVjdEhvdmVyQ29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJhcHAtY29udGFjdHMsIGFwcC1hZGQtY29udGFjdHMsXHJcbmFwcC1jb250YWN0LXNlbmQsIGFwcC1leHBvcnQtaW1wb3J0IHtcclxuICBmbGV4OiAxIDEgYXV0bztcclxuICBwYWRkaW5nOiAzcmVtO1xyXG4gIG1pbi13aWR0aDogODVyZW07XHJcblxyXG4gIC5jb250ZW50IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmc6IDNyZW07XHJcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoY29udGVudEJhY2tncm91bmRDb2xvcik7XHJcbiAgICAgIGNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgLmhlYWQge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmFwcC1jb250YWN0cyB7XHJcbiAgXHJcbiAgdGFibGUge1xyXG5cclxuICAgIC5hbGlhcyB7XHJcbiAgXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGJ1dHRvbiB7XHJcbiAgICBcclxuICAgICAgLmljb24ge1xyXG4gIFxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gIFxyXG4gICAgICBzcGFuIHtcclxuICAgICAgICBcclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGNvbG9yOiB0aGVtZWQobWFpblRleHRDb2xvcilcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5mb290ZXIge1xyXG4gICAgXHJcbiAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgIH1cclxuICBcclxuICAgIC5pbXBvcnQtYnRuIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5pY29uIHtcclxuICBcclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgXHJcbn1cclxuXHJcbmFwcC1jb250YWN0LXNlbmQge1xyXG4gIFxyXG4gIC53YWxsZXRzLXNlbGVjdGlvbiB7XHJcblxyXG4gICAgYnV0dG9uIHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgIGNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0iLCIuZm9ybS1kZXRhaWxzIHtcclxuICAgIG1hcmdpbi10b3A6IDEuOHJlbTtcclxuXHJcbiAgICAuaW5wdXQtYmxvY2sge1xyXG5cclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLndhbGxldC1idXR0b25zIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICBtYXJnaW46IDIuOXJlbSAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxNXJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mb3JtLXNlZWQge1xyXG5cclxuICAgIGxhYmVsIHtcclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgY29sb3I6IHRoZW1lZChvcHRpb25hbFRleHRDb2xvcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMi40cmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5mb3JtLWNvbnRlbnQge1xyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB0aGVtZWQodHJhbnNwYXJlbnRCdXR0b25Cb3JkZXJDb2xvcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDNyZW07XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLnRleHQtY29yYWwge1xyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBjb2xvcjogdGhlbWVkKGJsdWVUZXh0Q29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLnNlZWQtcGhyYXNlLWZvcm0ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIG1heC13aWR0aDogMzhyZW07XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgIC5pbnB1dC1ibG9jayxcclxuICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5lcnJvci1tZXNzYWdlIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdGhlbWVkKG9yYW5nZVRleHRDb2xvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zZWN1cmVkLXNlZWQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB0aGVtZWQoc2VjdXJlZFNlZWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMi40cmVtO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAgICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMS4ycmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcclxuXHJcbiAgICAgICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMS4ycmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxufVxyXG5cclxuLnNlZWQtcGhyYXNlIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cclxuICAgICYtdGl0bGUge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB0aGVtZWQob3B0aW9uYWxUZXh0Q29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucmlnaHQtcGFydCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEuN3JlbTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMS43cmVtO1xyXG5cclxuICAgICAgICAgICAgICAgICYuY29weSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjJyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgbWFzazogdXJsKH5zcmMvYXNzZXRzL2ljb25zL2NvcHkuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC43NTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJi5jb3BpZWQge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMS4ycmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hc2s6IHVybCh+c3JjL2Fzc2V0cy9pY29ucy9jb21wbGV0ZS10ZXN0d2FsbGV0LnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmLnNlY3VyZWQsXHJcbiAgICAgICAgICAgICAgICAmLnVuc2VjdXJlZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEuMnJlbTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxLjJyZW07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi1jb250ZW50IHtcclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHRoZW1lZCh0cmFuc3BhcmVudEJ1dHRvbkJvcmRlckNvbG9yKTtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRoZW1lZCh0cmFuc3BhcmVudEJ1dHRvbkJvcmRlckNvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcGFkZGluZzogMXJlbSAwIDFyZW07XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cclxuICAgICAgICAuaXRlbSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHRoZW1lZChzZWVkSXRlbVRleHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMnJlbTtcclxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDcpO1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzNXB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcclxuXHJcbiAgICAgICAgICAgICYuZGFyayB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoc2VlZEl0ZW1CYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtZm9vdGVyIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgIC50aXRsZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHRoZW1lZChzZWVkSXRlbVRleHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMi40cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmljb24ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICB3aWR0aDogMS42cmVtO1xyXG4gICAgaGVpZ2h0OiAxLjZyZW07XHJcblxyXG4gICAgJi5zZWN1cmVkIHtcclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGdyZWVuVGV4dENvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbWFzazogdXJsKH5zcmMvYXNzZXRzL2ljb25zL3NlY3VyZWQuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgICYuaW5mbyB7XHJcbiAgICAgICAgQGluY2x1ZGUgdGhlbWlmeSgkdGhlbWVzKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbWFzazogdXJsKH5zcmMvYXNzZXRzL2ljb25zL2luZm8uc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgICYudW5zZWN1cmVkIHtcclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKG9yYW5nZVRleHRDb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG1hc2s6IHVybCh+c3JjL2Fzc2V0cy9pY29ucy91bnNlY3VyZWQuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgICYuc2FmZXR5IHtcclxuICAgICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKGFsdGVybmF0aXZlVGV4dENvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbWFzazogdXJsKH5zcmMvYXNzZXRzL2ljb25zL3NhZmV0eS5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi53cmFwLWJ1dHRvbnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuXHJcbiAgICAuc2VlZC1waHJhc2UtYnV0dG9uIHtcclxuICAgICAgICBtYXJnaW46IDIuOHJlbSAwO1xyXG4gICAgICAgIHdpZHRoOiAyNSU7XHJcbiAgICAgICAgbWluLXdpZHRoOiAxLjVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLmNvcHktYnV0dG9uIHtcclxuICAgICAgICBtYXJnaW46IDIuOHJlbSAxcmVtO1xyXG4gICAgICAgIHdpZHRoOiAyNSU7XHJcbiAgICAgICAgbWluLXdpZHRoOiAxLjVyZW07XHJcbiAgICB9XHJcbn0iLCIuaGVhZCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gIHBhZGRpbmc6IDAgM3JlbTtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDNyZW07XHJcblxyXG4gIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgY29sb3I6IHRoZW1lZChibHVlVGV4dENvbG9yKTtcclxuICB9XHJcblxyXG4gIC5icmVhZGNydW1icyB7XHJcblxyXG4gICAgPiBzcGFuLCBhIHtcclxuXHJcbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgb3V0bGluZS1zdHlsZTogbm9uZTtcclxuXHJcbiAgICAgICAgJjphZnRlciB7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgcHNldWRvO1xyXG4gICAgICAgICAgdG9wOiAwLjVyZW07XHJcbiAgICAgICAgICByaWdodDogLTEuNXJlbTtcclxuICAgICAgICAgIHdpZHRoOiAwLjlyZW07XHJcbiAgICAgICAgICBoZWlnaHQ6IDAuOXJlbTtcclxuICAgICAgICAgIG1hc2s6IHVybCh+c3JjL2Fzc2V0cy9pY29ucy9hcnJvdy1yaWdodC5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICAgICAgICBtYXNrLXNpemU6IGNvdmVyO1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYmFjay1idG4ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGNvbG9yOiAjNGRiMWZmO1xyXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjNyZW07XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG5cclxuICAgIC5pY29uIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjdyZW07XHJcbiAgICAgIG1hc2s6IHVybCh+c3JjL2Fzc2V0cy9pY29ucy9iYWNrLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgd2lkdGg6IDAuOXJlbTtcclxuICAgICAgaGVpZ2h0OiAwLjlyZW07XHJcblxyXG4gICAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtZWQoYmx1ZVRleHRDb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLnNjcm9sbGVkLWNvbnRlbnQge1xyXG5cclxuICAmOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgIHdpZHRoOiAxcmVtO1xyXG4gICAgaGVpZ2h0OiAxcmVtO1xyXG4gIH1cclxuXHJcbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG5cclxuICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU2NTc2O1xyXG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuICAgIGJvcmRlcjogMC4yNXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcclxuICB9XHJcblxyXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NTY1NzY7XHJcbiAgfVxyXG59XHJcbiIsInRhYmxlIHtcclxuICBmb250LXNpemU6IDEuM3JlbTtcclxuICB3aWR0aDogMTAwJTtcclxuXHJcbiAgdGhlYWQge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuXHJcbiAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgY29sb3I6IHRoZW1lZChvcHRpb25hbFRleHRDb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgdHIge1xyXG4gICAgICBoZWlnaHQ6IDRyZW07XHJcblxyXG4gICAgICB0aCB7XHJcbiAgICAgICAgcGFkZGluZzogMXJlbTtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xyXG5cclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgIHBhZGRpbmctbGVmdDogM3JlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdGJvZHkge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuXHJcbiAgICBAaW5jbHVkZSB0aGVtaWZ5KCR0aGVtZXMpIHtcclxuICAgICAgY29sb3I6IHRoZW1lZChtYWluVGV4dENvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICB0ciB7XHJcbiAgICAgIGhlaWdodDogMy41cmVtO1xyXG5cclxuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHRoZW1pZnkoJHRoZW1lcykge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWVkKHRhYmxlQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRkIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS43cmVtO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMXJlbTtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAyMHJlbTtcclxuXHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgcGFkZGluZy1yaWdodDogM3JlbTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gQkFTRVxyXG5AaW1wb3J0ICdhc3NldHMvc2Nzcy9iYXNlL21peGlucyc7XHJcbkBpbXBvcnQgJ2Fzc2V0cy9zY3NzL2Jhc2UvbnVsbCc7XHJcbkBpbXBvcnQgJ2Fzc2V0cy9zY3NzL2Jhc2UvdGhlbWUnO1xyXG5AaW1wb3J0ICdhc3NldHMvc2Nzcy9iYXNlL2Jhc2UnO1xyXG5cclxuLy8gTEFZT1VUXHJcbkBpbXBvcnQgJ2Fzc2V0cy9zY3NzL2xheW91dC9tYWluJztcclxuQGltcG9ydCAnYXNzZXRzL3Njc3MvbGF5b3V0L3NldHRpbmdzJztcclxuQGltcG9ydCAnYXNzZXRzL3Njc3MvbGF5b3V0L3NpZGViYXInO1xyXG5AaW1wb3J0ICdhc3NldHMvc2Nzcy9sYXlvdXQvc3RhdHVzJztcclxuQGltcG9ydCAnYXNzZXRzL3Njc3MvbGF5b3V0L3dhbGxldCc7XHJcbkBpbXBvcnQgJ2Fzc2V0cy9zY3NzL2xheW91dC9jb250YWN0JztcclxuQGltcG9ydCAnYXNzZXRzL3Njc3MvbGF5b3V0L3NlZWQtcGhyYXNlJztcclxuXHJcbi8vIE1PRFVMRVNcclxuQGltcG9ydCAnYXNzZXRzL3Njc3MvbW9kdWxlcy9oZWFkJztcclxuQGltcG9ydCAnYXNzZXRzL3Njc3MvbW9kdWxlcy9zY3JvbGwnO1xyXG5AaW1wb3J0ICdhc3NldHMvc2Nzcy9tb2R1bGVzL3RhYmxlJztcclxuXHJcbkBpbXBvcnQgXCJ+QG5nLXNlbGVjdC9uZy1zZWxlY3QvdGhlbWVzL2RlZmF1bHQudGhlbWUuY3NzXCI7XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogT3BlblNhbnM7XHJcbiAgc3JjOiB1cmwofnNyYy9hc3NldHMvZm9udHMvT3BlblNhbnMtTGlnaHQudHRmKTtcclxuICBmb250LXdlaWdodDogMzAwO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogT3BlblNhbnM7XHJcbiAgc3JjOiB1cmwofnNyYy9hc3NldHMvZm9udHMvT3BlblNhbnMtUmVndWxhci50dGYpO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiBPcGVuU2FucztcclxuICBzcmM6IHVybCh+c3JjL2Fzc2V0cy9mb250cy9PcGVuU2Fucy1TZW1pQm9sZC50dGYpO1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiBPcGVuU2FucztcclxuICBzcmM6IHVybCh+c3JjL2Fzc2V0cy9mb250cy9PcGVuU2Fucy1Cb2xkLnR0Zik7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6IE9wZW5TYW5zO1xyXG4gIHNyYzogdXJsKH5zcmMvYXNzZXRzL2ZvbnRzL09wZW5TYW5zLUV4dHJhQm9sZC50dGYpO1xyXG4gIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbn1cclxuXHJcblxyXG5odG1sIHtcclxuICBmb250LWZhbWlseTogT3BlblNhbnMsIHNhbnMtc2VyaWY7XHJcbiAgZm9udC1zaXplOiAxMHB4O1xyXG59XHJcblxyXG5ib2R5IHtcclxuICBmb250LWZhbWlseTogT3BlblNhbnMsIHNhbnMtc2VyaWY7XHJcbiAgZm9udC1zaXplOiAxLjZyZW07XHJcbiAgd2lkdGg6IDEwMHZ3O1xyXG4gIGhlaWdodDogMTAwdmg7XHJcblxyXG4gICYudGhlbWUtZGFyayB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMTMxOTIxIHVybChcImFzc2V0cy9pbWFnZXMvYmFja2dyb3VuZC1kYXJrLnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICB9XHJcblxyXG4gICYudGhlbWUtZ3JheSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMTAxNDE3IHVybChcImFzc2V0cy9pbWFnZXMvYmFja2dyb3VuZC1ncmF5LnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICB9XHJcblxyXG4gICYudGhlbWUtd2hpdGUge1xyXG4gICAgYmFja2dyb3VuZDogI2VlZWVlZSB1cmwoXCJhc3NldHMvaW1hZ2VzL2JhY2tncm91bmQtd2hpdGUucG5nXCIpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gIH1cclxuXHJcbiAgYXBwLXJvb3Qge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gIH1cclxufVxyXG5cclxuLnVwZGF0ZS10b29sdGlwIHtcclxuXHJcbiAgLnRvb2x0aXAtaW5uZXIge1xyXG5cclxuICAgIC5pY29uIHtcclxuICAgICAgbWFzazogdXJsKGFzc2V0cy9pY29ucy91cGRhdGUtYWxlcnQuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0= */", '', '']] - -/***/ }), - -/***/ "./node_modules/style-loader/lib/addStyles.js": -/*!****************************************************!*\ - !*** ./node_modules/style-loader/lib/addStyles.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ - -var stylesInDom = {}; - -var memoize = function (fn) { - var memo; - - return function () { - if (typeof memo === "undefined") memo = fn.apply(this, arguments); - return memo; - }; -}; - -var isOldIE = memoize(function () { - // Test for IE <= 9 as proposed by Browserhacks - // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805 - // Tests for existence of standard globals is to allow style-loader - // to operate correctly into non-standard environments - // @see https://github.com/webpack-contrib/style-loader/issues/177 - return window && document && document.all && !window.atob; -}); - -var getTarget = function (target, parent) { - if (parent){ - return parent.querySelector(target); - } - return document.querySelector(target); -}; - -var getElement = (function (fn) { - var memo = {}; - - return function(target, parent) { - // If passing function in options, then use it for resolve "head" element. - // Useful for Shadow Root style i.e - // { - // insertInto: function () { return document.querySelector("#foo").shadowRoot } - // } - if (typeof target === 'function') { - return target(); - } - if (typeof memo[target] === "undefined") { - var styleTarget = getTarget.call(this, target, parent); - // Special case to return head of iframe instead of iframe itself - if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) { - try { - // This will throw an exception if access to iframe is blocked - // due to cross-origin restrictions - styleTarget = styleTarget.contentDocument.head; - } catch(e) { - styleTarget = null; - } - } - memo[target] = styleTarget; - } - return memo[target] - }; -})(); - -var singleton = null; -var singletonCounter = 0; -var stylesInsertedAtTop = []; - -var fixUrls = __webpack_require__(/*! ./urls */ "./node_modules/style-loader/lib/urls.js"); - -module.exports = function(list, options) { - if (typeof DEBUG !== "undefined" && DEBUG) { - if (typeof document !== "object") throw new Error("The style-loader cannot be used in a non-browser environment"); - } - - options = options || {}; - - options.attrs = typeof options.attrs === "object" ? options.attrs : {}; - - // Force single-tag solution on IE6-9, which has a hard limit on the # of - - diff --git a/src/gui/qt-daemon/html/unlock-transaction.svg b/src/gui/qt-daemon/html/unlock-transaction.svg deleted file mode 100644 index bbbc27ad..00000000 --- a/src/gui/qt-daemon/html/unlock-transaction.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/unsecured.svg b/src/gui/qt-daemon/html/unsecured.svg deleted file mode 100644 index 1b9b18d7..00000000 --- a/src/gui/qt-daemon/html/unsecured.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/update-alert.svg b/src/gui/qt-daemon/html/update-alert.svg deleted file mode 100644 index 22fa01c7..00000000 --- a/src/gui/qt-daemon/html/update-alert.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - diff --git a/src/gui/qt-daemon/html/update.svg b/src/gui/qt-daemon/html/update.svg deleted file mode 100644 index c612c84e..00000000 --- a/src/gui/qt-daemon/html/update.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/src/gui/qt-daemon/html/vendor.js b/src/gui/qt-daemon/html/vendor.js deleted file mode 100644 index 60938654..00000000 --- a/src/gui/qt-daemon/html/vendor.js +++ /dev/null @@ -1,137619 +0,0 @@ -(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["vendor"],{ - -/***/ "./node_modules/@angular/cdk/esm5/a11y.es5.js": -/*!****************************************************!*\ - !*** ./node_modules/@angular/cdk/esm5/a11y.es5.js ***! - \****************************************************/ -/*! exports provided: ARIA_DESCRIBER_PROVIDER_FACTORY, MESSAGES_CONTAINER_ID, CDK_DESCRIBEDBY_ID_PREFIX, CDK_DESCRIBEDBY_HOST_ATTRIBUTE, AriaDescriber, ARIA_DESCRIBER_PROVIDER, ActiveDescendantKeyManager, FocusKeyManager, ListKeyManager, FocusTrap, FocusTrapFactory, CdkTrapFocus, InteractivityChecker, LIVE_ANNOUNCER_PROVIDER_FACTORY, LiveAnnouncer, CdkAriaLive, LIVE_ANNOUNCER_PROVIDER, LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY, LIVE_ANNOUNCER_ELEMENT_TOKEN, FOCUS_MONITOR_PROVIDER_FACTORY, TOUCH_BUFFER_MS, FocusMonitor, CdkMonitorFocus, FOCUS_MONITOR_PROVIDER, isFakeMousedownFromScreenReader, A11yModule */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ARIA_DESCRIBER_PROVIDER_FACTORY", function() { return ARIA_DESCRIBER_PROVIDER_FACTORY; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MESSAGES_CONTAINER_ID", function() { return MESSAGES_CONTAINER_ID; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CDK_DESCRIBEDBY_ID_PREFIX", function() { return CDK_DESCRIBEDBY_ID_PREFIX; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CDK_DESCRIBEDBY_HOST_ATTRIBUTE", function() { return CDK_DESCRIBEDBY_HOST_ATTRIBUTE; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AriaDescriber", function() { return AriaDescriber; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ARIA_DESCRIBER_PROVIDER", function() { return ARIA_DESCRIBER_PROVIDER; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ActiveDescendantKeyManager", function() { return ActiveDescendantKeyManager; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FocusKeyManager", function() { return FocusKeyManager; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ListKeyManager", function() { return ListKeyManager; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FocusTrap", function() { return FocusTrap; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FocusTrapFactory", function() { return FocusTrapFactory; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CdkTrapFocus", function() { return CdkTrapFocus; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "InteractivityChecker", function() { return InteractivityChecker; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LIVE_ANNOUNCER_PROVIDER_FACTORY", function() { return LIVE_ANNOUNCER_PROVIDER_FACTORY; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LiveAnnouncer", function() { return LiveAnnouncer; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CdkAriaLive", function() { return CdkAriaLive; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LIVE_ANNOUNCER_PROVIDER", function() { return LIVE_ANNOUNCER_PROVIDER; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY", function() { return LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LIVE_ANNOUNCER_ELEMENT_TOKEN", function() { return LIVE_ANNOUNCER_ELEMENT_TOKEN; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FOCUS_MONITOR_PROVIDER_FACTORY", function() { return FOCUS_MONITOR_PROVIDER_FACTORY; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TOUCH_BUFFER_MS", function() { return TOUCH_BUFFER_MS; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FocusMonitor", function() { return FocusMonitor; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CdkMonitorFocus", function() { return CdkMonitorFocus; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FOCUS_MONITOR_PROVIDER", function() { return FOCUS_MONITOR_PROVIDER; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isFakeMousedownFromScreenReader", function() { return isFakeMousedownFromScreenReader; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "A11yModule", function() { return A11yModule; }); -/* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/common */ "./node_modules/@angular/common/fesm5/common.js"); -/* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); -/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! rxjs */ "./node_modules/rxjs/_esm5/index.js"); -/* harmony import */ var _angular_cdk_keycodes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/cdk/keycodes */ "./node_modules/@angular/cdk/esm5/keycodes.es5.js"); -/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! rxjs/operators */ "./node_modules/rxjs/_esm5/operators/index.js"); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! tslib */ "./node_modules/tslib/tslib.es6.js"); -/* harmony import */ var _angular_cdk_platform__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @angular/cdk/platform */ "./node_modules/@angular/cdk/esm5/platform.es5.js"); -/* harmony import */ var _angular_cdk_coercion__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @angular/cdk/coercion */ "./node_modules/@angular/cdk/esm5/coercion.es5.js"); -/* harmony import */ var _angular_cdk_observers__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @angular/cdk/observers */ "./node_modules/@angular/cdk/esm5/observers.es5.js"); -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ - - - - - - - - - - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ - -/** - * IDs are deliminated by an empty space, as per the spec. - * @type {?} - */ -var ID_DELIMINATOR = ' '; -/** - * Adds the given ID to the specified ARIA attribute on an element. - * Used for attributes such as aria-labelledby, aria-owns, etc. - * @param {?} el - * @param {?} attr - * @param {?} id - * @return {?} - */ -function addAriaReferencedId(el, attr, id) { - /** @type {?} */ - var ids = getAriaReferenceIds(el, attr); - if (ids.some(function (existingId) { return existingId.trim() == id.trim(); })) { - return; - } - ids.push(id.trim()); - el.setAttribute(attr, ids.join(ID_DELIMINATOR)); -} -/** - * Removes the given ID from the specified ARIA attribute on an element. - * Used for attributes such as aria-labelledby, aria-owns, etc. - * @param {?} el - * @param {?} attr - * @param {?} id - * @return {?} - */ -function removeAriaReferencedId(el, attr, id) { - /** @type {?} */ - var ids = getAriaReferenceIds(el, attr); - /** @type {?} */ - var filteredIds = ids.filter(function (val) { return val != id.trim(); }); - el.setAttribute(attr, filteredIds.join(ID_DELIMINATOR)); -} -/** - * Gets the list of IDs referenced by the given ARIA attribute on an element. - * Used for attributes such as aria-labelledby, aria-owns, etc. - * @param {?} el - * @param {?} attr - * @return {?} - */ -function getAriaReferenceIds(el, attr) { - // Get string array of all individual ids (whitespace deliminated) in the attribute value - return (el.getAttribute(attr) || '').match(/\S+/g) || []; -} - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ -/** - * ID used for the body container where all messages are appended. - * @type {?} - */ -var MESSAGES_CONTAINER_ID = 'cdk-describedby-message-container'; -/** - * ID prefix used for each created message element. - * @type {?} - */ -var CDK_DESCRIBEDBY_ID_PREFIX = 'cdk-describedby-message'; -/** - * Attribute given to each host element that is described by a message element. - * @type {?} - */ -var CDK_DESCRIBEDBY_HOST_ATTRIBUTE = 'cdk-describedby-host'; -/** - * Global incremental identifier for each registered message element. - * @type {?} - */ -var nextId = 0; -/** - * Global map of all registered message elements that have been placed into the document. - * @type {?} - */ -var messageRegistry = new Map(); -/** - * Container for all registered messages. - * @type {?} - */ -var messagesContainer = null; -/** - * Utility that creates visually hidden elements with a message content. Useful for elements that - * want to use aria-describedby to further describe themselves without adding additional visual - * content. - * \@docs-private - */ -var AriaDescriber = /** @class */ (function () { - function AriaDescriber(_document) { - this._document = _document; - } - /** - * Adds to the host element an aria-describedby reference to a hidden element that contains - * the message. If the same message has already been registered, then it will reuse the created - * message element. - */ - /** - * Adds to the host element an aria-describedby reference to a hidden element that contains - * the message. If the same message has already been registered, then it will reuse the created - * message element. - * @param {?} hostElement - * @param {?} message - * @return {?} - */ - AriaDescriber.prototype.describe = /** - * Adds to the host element an aria-describedby reference to a hidden element that contains - * the message. If the same message has already been registered, then it will reuse the created - * message element. - * @param {?} hostElement - * @param {?} message - * @return {?} - */ - function (hostElement, message) { - if (!this._canBeDescribed(hostElement, message)) { - return; - } - if (!messageRegistry.has(message)) { - this._createMessageElement(message); - } - if (!this._isElementDescribedByMessage(hostElement, message)) { - this._addMessageReference(hostElement, message); - } - }; - /** Removes the host element's aria-describedby reference to the message element. */ - /** - * Removes the host element's aria-describedby reference to the message element. - * @param {?} hostElement - * @param {?} message - * @return {?} - */ - AriaDescriber.prototype.removeDescription = /** - * Removes the host element's aria-describedby reference to the message element. - * @param {?} hostElement - * @param {?} message - * @return {?} - */ - function (hostElement, message) { - if (!this._canBeDescribed(hostElement, message)) { - return; - } - if (this._isElementDescribedByMessage(hostElement, message)) { - this._removeMessageReference(hostElement, message); - } - /** @type {?} */ - var registeredMessage = messageRegistry.get(message); - if (registeredMessage && registeredMessage.referenceCount === 0) { - this._deleteMessageElement(message); - } - if (messagesContainer && messagesContainer.childNodes.length === 0) { - this._deleteMessagesContainer(); - } - }; - /** Unregisters all created message elements and removes the message container. */ - /** - * Unregisters all created message elements and removes the message container. - * @return {?} - */ - AriaDescriber.prototype.ngOnDestroy = /** - * Unregisters all created message elements and removes the message container. - * @return {?} - */ - function () { - /** @type {?} */ - var describedElements = this._document.querySelectorAll("[" + CDK_DESCRIBEDBY_HOST_ATTRIBUTE + "]"); - for (var i = 0; i < describedElements.length; i++) { - this._removeCdkDescribedByReferenceIds(describedElements[i]); - describedElements[i].removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE); - } - if (messagesContainer) { - this._deleteMessagesContainer(); - } - messageRegistry.clear(); - }; - /** - * Creates a new element in the visually hidden message container element with the message - * as its content and adds it to the message registry. - */ - /** - * Creates a new element in the visually hidden message container element with the message - * as its content and adds it to the message registry. - * @private - * @param {?} message - * @return {?} - */ - AriaDescriber.prototype._createMessageElement = /** - * Creates a new element in the visually hidden message container element with the message - * as its content and adds it to the message registry. - * @private - * @param {?} message - * @return {?} - */ - function (message) { - /** @type {?} */ - var messageElement = this._document.createElement('div'); - messageElement.setAttribute('id', CDK_DESCRIBEDBY_ID_PREFIX + "-" + nextId++); - messageElement.appendChild((/** @type {?} */ (this._document.createTextNode(message)))); - this._createMessagesContainer(); - (/** @type {?} */ (messagesContainer)).appendChild(messageElement); - messageRegistry.set(message, { messageElement: messageElement, referenceCount: 0 }); - }; - /** Deletes the message element from the global messages container. */ - /** - * Deletes the message element from the global messages container. - * @private - * @param {?} message - * @return {?} - */ - AriaDescriber.prototype._deleteMessageElement = /** - * Deletes the message element from the global messages container. - * @private - * @param {?} message - * @return {?} - */ - function (message) { - /** @type {?} */ - var registeredMessage = messageRegistry.get(message); - /** @type {?} */ - var messageElement = registeredMessage && registeredMessage.messageElement; - if (messagesContainer && messageElement) { - messagesContainer.removeChild(messageElement); - } - messageRegistry.delete(message); - }; - /** Creates the global container for all aria-describedby messages. */ - /** - * Creates the global container for all aria-describedby messages. - * @private - * @return {?} - */ - AriaDescriber.prototype._createMessagesContainer = /** - * Creates the global container for all aria-describedby messages. - * @private - * @return {?} - */ - function () { - if (!messagesContainer) { - /** @type {?} */ - var preExistingContainer = this._document.getElementById(MESSAGES_CONTAINER_ID); - // When going from the server to the client, we may end up in a situation where there's - // already a container on the page, but we don't have a reference to it. Clear the - // old container so we don't get duplicates. Doing this, instead of emptying the previous - // container, should be slightly faster. - if (preExistingContainer) { - (/** @type {?} */ (preExistingContainer.parentNode)).removeChild(preExistingContainer); - } - messagesContainer = this._document.createElement('div'); - messagesContainer.id = MESSAGES_CONTAINER_ID; - messagesContainer.setAttribute('aria-hidden', 'true'); - messagesContainer.style.display = 'none'; - this._document.body.appendChild(messagesContainer); - } - }; - /** Deletes the global messages container. */ - /** - * Deletes the global messages container. - * @private - * @return {?} - */ - AriaDescriber.prototype._deleteMessagesContainer = /** - * Deletes the global messages container. - * @private - * @return {?} - */ - function () { - if (messagesContainer && messagesContainer.parentNode) { - messagesContainer.parentNode.removeChild(messagesContainer); - messagesContainer = null; - } - }; - /** Removes all cdk-describedby messages that are hosted through the element. */ - /** - * Removes all cdk-describedby messages that are hosted through the element. - * @private - * @param {?} element - * @return {?} - */ - AriaDescriber.prototype._removeCdkDescribedByReferenceIds = /** - * Removes all cdk-describedby messages that are hosted through the element. - * @private - * @param {?} element - * @return {?} - */ - function (element) { - // Remove all aria-describedby reference IDs that are prefixed by CDK_DESCRIBEDBY_ID_PREFIX - /** @type {?} */ - var originalReferenceIds = getAriaReferenceIds(element, 'aria-describedby') - .filter(function (id) { return id.indexOf(CDK_DESCRIBEDBY_ID_PREFIX) != 0; }); - element.setAttribute('aria-describedby', originalReferenceIds.join(' ')); - }; - /** - * Adds a message reference to the element using aria-describedby and increments the registered - * message's reference count. - */ - /** - * Adds a message reference to the element using aria-describedby and increments the registered - * message's reference count. - * @private - * @param {?} element - * @param {?} message - * @return {?} - */ - AriaDescriber.prototype._addMessageReference = /** - * Adds a message reference to the element using aria-describedby and increments the registered - * message's reference count. - * @private - * @param {?} element - * @param {?} message - * @return {?} - */ - function (element, message) { - /** @type {?} */ - var registeredMessage = (/** @type {?} */ (messageRegistry.get(message))); - // Add the aria-describedby reference and set the - // describedby_host attribute to mark the element. - addAriaReferencedId(element, 'aria-describedby', registeredMessage.messageElement.id); - element.setAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE, ''); - registeredMessage.referenceCount++; - }; - /** - * Removes a message reference from the element using aria-describedby - * and decrements the registered message's reference count. - */ - /** - * Removes a message reference from the element using aria-describedby - * and decrements the registered message's reference count. - * @private - * @param {?} element - * @param {?} message - * @return {?} - */ - AriaDescriber.prototype._removeMessageReference = /** - * Removes a message reference from the element using aria-describedby - * and decrements the registered message's reference count. - * @private - * @param {?} element - * @param {?} message - * @return {?} - */ - function (element, message) { - /** @type {?} */ - var registeredMessage = (/** @type {?} */ (messageRegistry.get(message))); - registeredMessage.referenceCount--; - removeAriaReferencedId(element, 'aria-describedby', registeredMessage.messageElement.id); - element.removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE); - }; - /** Returns true if the element has been described by the provided message ID. */ - /** - * Returns true if the element has been described by the provided message ID. - * @private - * @param {?} element - * @param {?} message - * @return {?} - */ - AriaDescriber.prototype._isElementDescribedByMessage = /** - * Returns true if the element has been described by the provided message ID. - * @private - * @param {?} element - * @param {?} message - * @return {?} - */ - function (element, message) { - /** @type {?} */ - var referenceIds = getAriaReferenceIds(element, 'aria-describedby'); - /** @type {?} */ - var registeredMessage = messageRegistry.get(message); - /** @type {?} */ - var messageId = registeredMessage && registeredMessage.messageElement.id; - return !!messageId && referenceIds.indexOf(messageId) != -1; - }; - /** Determines whether a message can be described on a particular element. */ - /** - * Determines whether a message can be described on a particular element. - * @private - * @param {?} element - * @param {?} message - * @return {?} - */ - AriaDescriber.prototype._canBeDescribed = /** - * Determines whether a message can be described on a particular element. - * @private - * @param {?} element - * @param {?} message - * @return {?} - */ - function (element, message) { - return element.nodeType === this._document.ELEMENT_NODE && message != null && - !!("" + message).trim(); - }; - AriaDescriber.decorators = [ - { type: _angular_core__WEBPACK_IMPORTED_MODULE_1__["Injectable"], args: [{ providedIn: 'root' },] }, - ]; - /** @nocollapse */ - AriaDescriber.ctorParameters = function () { return [ - { type: undefined, decorators: [{ type: _angular_core__WEBPACK_IMPORTED_MODULE_1__["Inject"], args: [_angular_common__WEBPACK_IMPORTED_MODULE_0__["DOCUMENT"],] }] } - ]; }; - /** @nocollapse */ AriaDescriber.ngInjectableDef = Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["defineInjectable"])({ factory: function AriaDescriber_Factory() { return new AriaDescriber(Object(_angular_core__WEBPACK_IMPORTED_MODULE_1__["inject"])(_angular_common__WEBPACK_IMPORTED_MODULE_0__["DOCUMENT"])); }, token: AriaDescriber, providedIn: "root" }); - return AriaDescriber; -}()); -/** - * \@docs-private \@deprecated \@breaking-change 8.0.0 - * @param {?} parentDispatcher - * @param {?} _document - * @return {?} - */ -function ARIA_DESCRIBER_PROVIDER_FACTORY(parentDispatcher, _document) { - return parentDispatcher || new AriaDescriber(_document); -} -/** - * \@docs-private \@deprecated \@breaking-change 8.0.0 - * @type {?} - */ -var ARIA_DESCRIBER_PROVIDER = { - // If there is already an AriaDescriber available, use that. Otherwise, provide a new one. - provide: AriaDescriber, - deps: [ - [new _angular_core__WEBPACK_IMPORTED_MODULE_1__["Optional"](), new _angular_core__WEBPACK_IMPORTED_MODULE_1__["SkipSelf"](), AriaDescriber], - (/** @type {?} */ (_angular_common__WEBPACK_IMPORTED_MODULE_0__["DOCUMENT"])) - ], - useFactory: ARIA_DESCRIBER_PROVIDER_FACTORY -}; - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ -/** - * This class manages keyboard events for selectable lists. If you pass it a query list - * of items, it will set the active item correctly when arrow events occur. - * @template T - */ -var /** - * This class manages keyboard events for selectable lists. If you pass it a query list - * of items, it will set the active item correctly when arrow events occur. - * @template T - */ -ListKeyManager = /** @class */ (function () { - function ListKeyManager(_items) { - var _this = this; - this._items = _items; - this._activeItemIndex = -1; - this._activeItem = null; - this._wrap = false; - this._letterKeyStream = new rxjs__WEBPACK_IMPORTED_MODULE_2__["Subject"](); - this._typeaheadSubscription = rxjs__WEBPACK_IMPORTED_MODULE_2__["Subscription"].EMPTY; - this._vertical = true; - this._allowedModifierKeys = []; - /** - * Predicate function that can be used to check whether an item should be skipped - * by the key manager. By default, disabled items are skipped. - */ - this._skipPredicateFn = function (item) { return item.disabled; }; - // Buffer for the letters that the user has pressed when the typeahead option is turned on. - this._pressedLetters = []; - /** - * Stream that emits any time the TAB key is pressed, so components can react - * when focus is shifted off of the list. - */ - this.tabOut = new rxjs__WEBPACK_IMPORTED_MODULE_2__["Subject"](); - /** - * Stream that emits whenever the active item of the list manager changes. - */ - this.change = new rxjs__WEBPACK_IMPORTED_MODULE_2__["Subject"](); - // We allow for the items to be an array because, in some cases, the consumer may - // not have access to a QueryList of the items they want to manage (e.g. when the - // items aren't being collected via `ViewChildren` or `ContentChildren`). - if (_items instanceof _angular_core__WEBPACK_IMPORTED_MODULE_1__["QueryList"]) { - _items.changes.subscribe(function (newItems) { - if (_this._activeItem) { - /** @type {?} */ - var itemArray = newItems.toArray(); - /** @type {?} */ - var newIndex = itemArray.indexOf(_this._activeItem); - if (newIndex > -1 && newIndex !== _this._activeItemIndex) { - _this._activeItemIndex = newIndex; - } - } - }); - } - } - /** - * Sets the predicate function that determines which items should be skipped by the - * list key manager. - * @param predicate Function that determines whether the given item should be skipped. - */ - /** - * Sets the predicate function that determines which items should be skipped by the - * list key manager. - * @template THIS - * @this {THIS} - * @param {?} predicate Function that determines whether the given item should be skipped. - * @return {THIS} - */ - ListKeyManager.prototype.skipPredicate = /** - * Sets the predicate function that determines which items should be skipped by the - * list key manager. - * @template THIS - * @this {THIS} - * @param {?} predicate Function that determines whether the given item should be skipped. - * @return {THIS} - */ - function (predicate) { - (/** @type {?} */ (this))._skipPredicateFn = predicate; - return (/** @type {?} */ (this)); - }; - /** - * Configures wrapping mode, which determines whether the active item will wrap to - * the other end of list when there are no more items in the given direction. - * @param shouldWrap Whether the list should wrap when reaching the end. - */ - /** - * Configures wrapping mode, which determines whether the active item will wrap to - * the other end of list when there are no more items in the given direction. - * @template THIS - * @this {THIS} - * @param {?=} shouldWrap Whether the list should wrap when reaching the end. - * @return {THIS} - */ - ListKeyManager.prototype.withWrap = /** - * Configures wrapping mode, which determines whether the active item will wrap to - * the other end of list when there are no more items in the given direction. - * @template THIS - * @this {THIS} - * @param {?=} shouldWrap Whether the list should wrap when reaching the end. - * @return {THIS} - */ - function (shouldWrap) { - if (shouldWrap === void 0) { shouldWrap = true; } - (/** @type {?} */ (this))._wrap = shouldWrap; - return (/** @type {?} */ (this)); - }; - /** - * Configures whether the key manager should be able to move the selection vertically. - * @param enabled Whether vertical selection should be enabled. - */ - /** - * Configures whether the key manager should be able to move the selection vertically. - * @template THIS - * @this {THIS} - * @param {?=} enabled Whether vertical selection should be enabled. - * @return {THIS} - */ - ListKeyManager.prototype.withVerticalOrientation = /** - * Configures whether the key manager should be able to move the selection vertically. - * @template THIS - * @this {THIS} - * @param {?=} enabled Whether vertical selection should be enabled. - * @return {THIS} - */ - function (enabled) { - if (enabled === void 0) { enabled = true; } - (/** @type {?} */ (this))._vertical = enabled; - return (/** @type {?} */ (this)); - }; - /** - * Configures the key manager to move the selection horizontally. - * Passing in `null` will disable horizontal movement. - * @param direction Direction in which the selection can be moved. - */ - /** - * Configures the key manager to move the selection horizontally. - * Passing in `null` will disable horizontal movement. - * @template THIS - * @this {THIS} - * @param {?} direction Direction in which the selection can be moved. - * @return {THIS} - */ - ListKeyManager.prototype.withHorizontalOrientation = /** - * Configures the key manager to move the selection horizontally. - * Passing in `null` will disable horizontal movement. - * @template THIS - * @this {THIS} - * @param {?} direction Direction in which the selection can be moved. - * @return {THIS} - */ - function (direction) { - (/** @type {?} */ (this))._horizontal = direction; - return (/** @type {?} */ (this)); - }; - /** - * Modifier keys which are allowed to be held down and whose default actions will be prevented - * as the user is pressing the arrow keys. Defaults to not allowing any modifier keys. - */ - /** - * Modifier keys which are allowed to be held down and whose default actions will be prevented - * as the user is pressing the arrow keys. Defaults to not allowing any modifier keys. - * @template THIS - * @this {THIS} - * @param {?} keys - * @return {THIS} - */ - ListKeyManager.prototype.withAllowedModifierKeys = /** - * Modifier keys which are allowed to be held down and whose default actions will be prevented - * as the user is pressing the arrow keys. Defaults to not allowing any modifier keys. - * @template THIS - * @this {THIS} - * @param {?} keys - * @return {THIS} - */ - function (keys) { - (/** @type {?} */ (this))._allowedModifierKeys = keys; - return (/** @type {?} */ (this)); - }; - /** - * Turns on typeahead mode which allows users to set the active item by typing. - * @param debounceInterval Time to wait after the last keystroke before setting the active item. - */ - /** - * Turns on typeahead mode which allows users to set the active item by typing. - * @template THIS - * @this {THIS} - * @param {?=} debounceInterval Time to wait after the last keystroke before setting the active item. - * @return {THIS} - */ - ListKeyManager.prototype.withTypeAhead = /** - * Turns on typeahead mode which allows users to set the active item by typing. - * @template THIS - * @this {THIS} - * @param {?=} debounceInterval Time to wait after the last keystroke before setting the active item. - * @return {THIS} - */ - function (debounceInterval) { - var _this = this; - if (debounceInterval === void 0) { debounceInterval = 200; } - if ((/** @type {?} */ (this))._items.length && (/** @type {?} */ (this))._items.some(function (item) { return typeof item.getLabel !== 'function'; })) { - throw Error('ListKeyManager items in typeahead mode must implement the `getLabel` method.'); - } - (/** @type {?} */ (this))._typeaheadSubscription.unsubscribe(); - // Debounce the presses of non-navigational keys, collect the ones that correspond to letters - // and convert those letters back into a string. Afterwards find the first item that starts - // with that string and select it. - (/** @type {?} */ (this))._typeaheadSubscription = (/** @type {?} */ (this))._letterKeyStream.pipe(Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_4__["tap"])(function (keyCode) { return (/** @type {?} */ (_this))._pressedLetters.push(keyCode); }), Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_4__["debounceTime"])(debounceInterval), Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_4__["filter"])(function () { return (/** @type {?} */ (_this))._pressedLetters.length > 0; }), Object(rxjs_operators__WEBPACK_IMPORTED_MODULE_4__["map"])(function () { return (/** @type {?} */ (_this))._pressedLetters.join(''); })).subscribe(function (inputString) { - /** @type {?} */ - var items = (/** @type {?} */ (_this))._getItemsArray(); - // Start at 1 because we want to start searching at the item immediately - // following the current active item. - for (var i = 1; i < items.length + 1; i++) { - /** @type {?} */ - var index = ((/** @type {?} */ (_this))._activeItemIndex + i) % items.length; - /** @type {?} */ - var item = items[index]; - if (!(/** @type {?} */ (_this))._skipPredicateFn(item) && - (/** @type {?} */ (item.getLabel))().toUpperCase().trim().indexOf(inputString) === 0) { - (/** @type {?} */ (_this)).setActiveItem(index); - break; - } - } - (/** @type {?} */ (_this))._pressedLetters = []; - }); - return (/** @type {?} */ (this)); - }; - /** - * @param {?} item - * @return {?} - */ - ListKeyManager.prototype.setActiveItem = /** - * @param {?} item - * @return {?} - */ - function (item) { - /** @type {?} */ - var previousIndex = this._activeItemIndex; - this.updateActiveItem(item); - if (this._activeItemIndex !== previousIndex) { - this.change.next(this._activeItemIndex); - } - }; - /** - * Sets the active item depending on the key event passed in. - * @param event Keyboard event to be used for determining which element should be active. - */ - /** - * Sets the active item depending on the key event passed in. - * @param {?} event Keyboard event to be used for determining which element should be active. - * @return {?} - */ - ListKeyManager.prototype.onKeydown = /** - * Sets the active item depending on the key event passed in. - * @param {?} event Keyboard event to be used for determining which element should be active. - * @return {?} - */ - function (event) { - var _this = this; - /** @type {?} */ - var keyCode = event.keyCode; - /** @type {?} */ - var modifiers = ['altKey', 'ctrlKey', 'metaKey', 'shiftKey']; - /** @type {?} */ - var isModifierAllowed = modifiers.every(function (modifier) { - return !event[modifier] || _this._allowedModifierKeys.indexOf(modifier) > -1; - }); - switch (keyCode) { - case _angular_cdk_keycodes__WEBPACK_IMPORTED_MODULE_3__["TAB"]: - this.tabOut.next(); - return; - case _angular_cdk_keycodes__WEBPACK_IMPORTED_MODULE_3__["DOWN_ARROW"]: - if (this._vertical && isModifierAllowed) { - this.setNextItemActive(); - break; - } - else { - return; - } - case _angular_cdk_keycodes__WEBPACK_IMPORTED_MODULE_3__["UP_ARROW"]: - if (this._vertical && isModifierAllowed) { - this.setPreviousItemActive(); - break; - } - else { - return; - } - case _angular_cdk_keycodes__WEBPACK_IMPORTED_MODULE_3__["RIGHT_ARROW"]: - if (this._horizontal && isModifierAllowed) { - this._horizontal === 'rtl' ? this.setPreviousItemActive() : this.setNextItemActive(); - break; - } - else { - return; - } - case _angular_cdk_keycodes__WEBPACK_IMPORTED_MODULE_3__["LEFT_ARROW"]: - if (this._horizontal && isModifierAllowed) { - this._horizontal === 'rtl' ? this.setNextItemActive() : this.setPreviousItemActive(); - break; - } - else { - return; - } - default: - if (isModifierAllowed || Object(_angular_cdk_keycodes__WEBPACK_IMPORTED_MODULE_3__["hasModifierKey"])(event, 'shiftKey')) { - // Attempt to use the `event.key` which also maps it to the user's keyboard language, - // otherwise fall back to resolving alphanumeric characters via the keyCode. - if (event.key && event.key.length === 1) { - this._letterKeyStream.next(event.key.toLocaleUpperCase()); - } - else if ((keyCode >= _angular_cdk_keycodes__WEBPACK_IMPORTED_MODULE_3__["A"] && keyCode <= _angular_cdk_keycodes__WEBPACK_IMPORTED_MODULE_3__["Z"]) || (keyCode >= _angular_cdk_keycodes__WEBPACK_IMPORTED_MODULE_3__["ZERO"] && keyCode <= _angular_cdk_keycodes__WEBPACK_IMPORTED_MODULE_3__["NINE"])) { - this._letterKeyStream.next(String.fromCharCode(keyCode)); - } - } - // Note that we return here, in order to avoid preventing - // the default action of non-navigational keys. - return; - } - this._pressedLetters = []; - event.preventDefault(); - }; - Object.defineProperty(ListKeyManager.prototype, "activeItemIndex", { - /** Index of the currently active item. */ - get: /** - * Index of the currently active item. - * @return {?} - */ - function () { - return this._activeItemIndex; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(ListKeyManager.prototype, "activeItem", { - /** The active item. */ - get: /** - * The active item. - * @return {?} - */ - function () { - return this._activeItem; - }, - enumerable: true, - configurable: true - }); - /** Sets the active item to the first enabled item in the list. */ - /** - * Sets the active item to the first enabled item in the list. - * @return {?} - */ - ListKeyManager.prototype.setFirstItemActive = /** - * Sets the active item to the first enabled item in the list. - * @return {?} - */ - function () { - this._setActiveItemByIndex(0, 1); - }; - /** Sets the active item to the last enabled item in the list. */ - /** - * Sets the active item to the last enabled item in the list. - * @return {?} - */ - ListKeyManager.prototype.setLastItemActive = /** - * Sets the active item to the last enabled item in the list. - * @return {?} - */ - function () { - this._setActiveItemByIndex(this._items.length - 1, -1); - }; - /** Sets the active item to the next enabled item in the list. */ - /** - * Sets the active item to the next enabled item in the list. - * @return {?} - */ - ListKeyManager.prototype.setNextItemActive = /** - * Sets the active item to the next enabled item in the list. - * @return {?} - */ - function () { - this._activeItemIndex < 0 ? this.setFirstItemActive() : this._setActiveItemByDelta(1); - }; - /** Sets the active item to a previous enabled item in the list. */ - /** - * Sets the active item to a previous enabled item in the list. - * @return {?} - */ - ListKeyManager.prototype.setPreviousItemActive = /** - * Sets the active item to a previous enabled item in the list. - * @return {?} - */ - function () { - this._activeItemIndex < 0 && this._wrap ? this.setLastItemActive() - : this._setActiveItemByDelta(-1); - }; - /** - * @param {?} item - * @return {?} - */ - ListKeyManager.prototype.updateActiveItem = /** - * @param {?} item - * @return {?} - */ - function (item) { - /** @type {?} */ - var itemArray = this._getItemsArray(); - /** @type {?} */ - var index = typeof item === 'number' ? item : itemArray.indexOf(item); - /** @type {?} */ - var activeItem = itemArray[index]; - // Explicitly check for `null` and `undefined` because other falsy values are valid. - this._activeItem = activeItem == null ? null : activeItem; - this._activeItemIndex = index; - }; - /** - * Allows setting of the activeItemIndex without any other effects. - * @param index The new activeItemIndex. - * @deprecated Use `updateActiveItem` instead. - * @breaking-change 8.0.0 - */ - /** - * Allows setting of the activeItemIndex without any other effects. - * @deprecated Use `updateActiveItem` instead. - * \@breaking-change 8.0.0 - * @param {?} index The new activeItemIndex. - * @return {?} - */ - ListKeyManager.prototype.updateActiveItemIndex = /** - * Allows setting of the activeItemIndex without any other effects. - * @deprecated Use `updateActiveItem` instead. - * \@breaking-change 8.0.0 - * @param {?} index The new activeItemIndex. - * @return {?} - */ - function (index) { - this.updateActiveItem(index); - }; - /** - * This method sets the active item, given a list of items and the delta between the - * currently active item and the new active item. It will calculate differently - * depending on whether wrap mode is turned on. - */ - /** - * This method sets the active item, given a list of items and the delta between the - * currently active item and the new active item. It will calculate differently - * depending on whether wrap mode is turned on. - * @private - * @param {?} delta - * @return {?} - */ - ListKeyManager.prototype._setActiveItemByDelta = /** - * This method sets the active item, given a list of items and the delta between the - * currently active item and the new active item. It will calculate differently - * depending on whether wrap mode is turned on. - * @private - * @param {?} delta - * @return {?} - */ - function (delta) { - this._wrap ? this._setActiveInWrapMode(delta) : this._setActiveInDefaultMode(delta); - }; - /** - * Sets the active item properly given "wrap" mode. In other words, it will continue to move - * down the list until it finds an item that is not disabled, and it will wrap if it - * encounters either end of the list. - */ - /** - * Sets the active item properly given "wrap" mode. In other words, it will continue to move - * down the list until it finds an item that is not disabled, and it will wrap if it - * encounters either end of the list. - * @private - * @param {?} delta - * @return {?} - */ - ListKeyManager.prototype._setActiveInWrapMode = /** - * Sets the active item properly given "wrap" mode. In other words, it will continue to move - * down the list until it finds an item that is not disabled, and it will wrap if it - * encounters either end of the list. - * @private - * @param {?} delta - * @return {?} - */ - function (delta) { - /** @type {?} */ - var items = this._getItemsArray(); - for (var i = 1; i <= items.length; i++) { - /** @type {?} */ - var index = (this._activeItemIndex + (delta * i) + items.length) % items.length; - /** @type {?} */ - var item = items[index]; - if (!this._skipPredicateFn(item)) { - this.setActiveItem(index); - return; - } - } - }; - /** - * Sets the active item properly given the default mode. In other words, it will - * continue to move down the list until it finds an item that is not disabled. If - * it encounters either end of the list, it will stop and not wrap. - */ - /** - * Sets the active item properly given the default mode. In other words, it will - * continue to move down the list until it finds an item that is not disabled. If - * it encounters either end of the list, it will stop and not wrap. - * @private - * @param {?} delta - * @return {?} - */ - ListKeyManager.prototype._setActiveInDefaultMode = /** - * Sets the active item properly given the default mode. In other words, it will - * continue to move down the list until it finds an item that is not disabled. If - * it encounters either end of the list, it will stop and not wrap. - * @private - * @param {?} delta - * @return {?} - */ - function (delta) { - this._setActiveItemByIndex(this._activeItemIndex + delta, delta); - }; - /** - * Sets the active item to the first enabled item starting at the index specified. If the - * item is disabled, it will move in the fallbackDelta direction until it either - * finds an enabled item or encounters the end of the list. - */ - /** - * Sets the active item to the first enabled item starting at the index specified. If the - * item is disabled, it will move in the fallbackDelta direction until it either - * finds an enabled item or encounters the end of the list. - * @private - * @param {?} index - * @param {?} fallbackDelta - * @return {?} - */ - ListKeyManager.prototype._setActiveItemByIndex = /** - * Sets the active item to the first enabled item starting at the index specified. If the - * item is disabled, it will move in the fallbackDelta direction until it either - * finds an enabled item or encounters the end of the list. - * @private - * @param {?} index - * @param {?} fallbackDelta - * @return {?} - */ - function (index, fallbackDelta) { - /** @type {?} */ - var items = this._getItemsArray(); - if (!items[index]) { - return; - } - while (this._skipPredicateFn(items[index])) { - index += fallbackDelta; - if (!items[index]) { - return; - } - } - this.setActiveItem(index); - }; - /** Returns the items as an array. */ - /** - * Returns the items as an array. - * @private - * @return {?} - */ - ListKeyManager.prototype._getItemsArray = /** - * Returns the items as an array. - * @private - * @return {?} - */ - function () { - return this._items instanceof _angular_core__WEBPACK_IMPORTED_MODULE_1__["QueryList"] ? this._items.toArray() : this._items; - }; - return ListKeyManager; -}()); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ -/** - * @template T - */ -var /** - * @template T - */ -ActiveDescendantKeyManager = /** @class */ (function (_super) { - Object(tslib__WEBPACK_IMPORTED_MODULE_5__["__extends"])(ActiveDescendantKeyManager, _super); - function ActiveDescendantKeyManager() { - return _super !== null && _super.apply(this, arguments) || this; - } - /** - * @param {?} index - * @return {?} - */ - ActiveDescendantKeyManager.prototype.setActiveItem = /** - * @param {?} index - * @return {?} - */ - function (index) { - if (this.activeItem) { - this.activeItem.setInactiveStyles(); - } - _super.prototype.setActiveItem.call(this, index); - if (this.activeItem) { - this.activeItem.setActiveStyles(); - } - }; - return ActiveDescendantKeyManager; -}(ListKeyManager)); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ -/** - * @template T - */ -var /** - * @template T - */ -FocusKeyManager = /** @class */ (function (_super) { - Object(tslib__WEBPACK_IMPORTED_MODULE_5__["__extends"])(FocusKeyManager, _super); - function FocusKeyManager() { - var _this = _super !== null && _super.apply(this, arguments) || this; - _this._origin = 'program'; - return _this; - } - /** - * Sets the focus origin that will be passed in to the items for any subsequent `focus` calls. - * @param origin Focus origin to be used when focusing items. - */ - /** - * Sets the focus origin that will be passed in to the items for any subsequent `focus` calls. - * @template THIS - * @this {THIS} - * @param {?} origin Focus origin to be used when focusing items. - * @return {THIS} - */ - FocusKeyManager.prototype.setFocusOrigin = /** - * Sets the focus origin that will be passed in to the items for any subsequent `focus` calls. - * @template THIS - * @this {THIS} - * @param {?} origin Focus origin to be used when focusing items. - * @return {THIS} - */ - function (origin) { - (/** @type {?} */ (this))._origin = origin; - return (/** @type {?} */ (this)); - }; - /** - * @param {?} item - * @return {?} - */ - FocusKeyManager.prototype.setActiveItem = /** - * @param {?} item - * @return {?} - */ - function (item) { - _super.prototype.setActiveItem.call(this, item); - if (this.activeItem) { - this.activeItem.focus(this._origin); - } - }; - return FocusKeyManager; -}(ListKeyManager)); - -/** - * @fileoverview added by tsickle - * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc - */ -// The InteractivityChecker leans heavily on the ally.js accessibility utilities. -// Methods like `isTabbable` are only covering specific edge-cases for the browsers which are -// supported. -/** - * Utility for checking the interactivity of an element, such as whether is is focusable or - * tabbable. - */ -var InteractivityChecker = /** @class */ (function () { - function InteractivityChecker(_platform) { - this._platform = _platform; - } - /** - * Gets whether an element is disabled. - * - * @param element Element to be checked. - * @returns Whether the element is disabled. - */ - /** - * Gets whether an element is disabled. - * - * @param {?} element Element to be checked. - * @return {?} Whether the element is disabled. - */ - InteractivityChecker.prototype.isDisabled = /** - * Gets whether an element is disabled. - * - * @param {?} element Element to be checked. - * @return {?} Whether the element is disabled. - */ - function (element) { - // This does not capture some cases, such as a non-form control with a disabled attribute or - // a form control inside of a disabled form, but should capture the most common cases. - return element.hasAttribute('disabled'); - }; - /** - * Gets whether an element is visible for the purposes of interactivity. - * - * This will capture states like `display: none` and `visibility: hidden`, but not things like - * being clipped by an `overflow: hidden` parent or being outside the viewport. - * - * @returns Whether the element is visible. - */ - /** - * Gets whether an element is visible for the purposes of interactivity. - * - * This will capture states like `display: none` and `visibility: hidden`, but not things like - * being clipped by an `overflow: hidden` parent or being outside the viewport. - * - * @param {?} element - * @return {?} Whether the element is visible. - */ - InteractivityChecker.prototype.isVisible = /** - * Gets whether an element is visible for the purposes of interactivity. - * - * This will capture states like `display: none` and `visibility: hidden`, but not things like - * being clipped by an `overflow: hidden` parent or being outside the viewport. - * - * @param {?} element - * @return {?} Whether the element is visible. - */ - function (element) { - return hasGeometry(element) && getComputedStyle(element).visibility === 'visible'; - }; - /** - * Gets whether an element can be reached via Tab key. - * Assumes that the element has already been checked with isFocusable. - * - * @param element Element to be checked. - * @returns Whether the element is tabbable. - */ - /** - * Gets whether an element can be reached via Tab key. - * Assumes that the element has already been checked with isFocusable. - * - * @param {?} element Element to be checked. - * @return {?} Whether the element is tabbable. - */ - InteractivityChecker.prototype.isTabbable = /** - * Gets whether an element can be reached via Tab key. - * Assumes that the element has already been checked with isFocusable. - * - * @param {?} element Element to be checked. - * @return {?} Whether the element is tabbable. - */ - function (element) { - // Nothing is tabbable on the server 😎 - if (!this._platform.isBrowser) { - return false; - } - /** @type {?} */ - var frameElement = getFrameElement(getWindow(element)); - if (frameElement) { - /** @type {?} */ - var frameType = frameElement && frameElement.nodeName.toLowerCase(); - // Frame elements inherit their tabindex onto all child elements. - if (getTabIndexValue(frameElement) === -1) { - return false; - } - // Webkit and Blink consider anything inside of an element as non-tabbable. - if ((this._platform.BLINK || this._platform.WEBKIT) && frameType === 'object') { - return false; - } - // Webkit and Blink disable tabbing to an element inside of an invisible frame. - if ((this._platform.BLINK || this._platform.WEBKIT) && !this.isVisible(frameElement)) { - return false; - } - } - /** @type {?} */ - var nodeName = element.nodeName.toLowerCase(); - /** @type {?} */ - var tabIndexValue = getTabIndexValue(element); - if (element.hasAttribute('contenteditable')) { - return tabIndexValue !== -1; - } - if (nodeName === 'iframe') { - // The frames may be tabbable depending on content, but it's not possibly to reliably - // investigate the content of the frames. - return false; - } - if (nodeName === 'audio') { - if (!element.hasAttribute('controls')) { - // By default an
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'BREADCRUMBS.ADD_WALLET' | translate }}\\r\\n {{ 'BREADCRUMBS.SAVE_PHRASE' | translate }}\\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n\\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'WALLET_DETAILS.FORM_ERRORS.NAME_REQUIRED' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'WALLET_DETAILS.FORM_ERRORS.NAME_DUPLICATE' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      = variablesService.maxWalletNameLength\\\">\\r\\n {{ 'WALLET_DETAILS.FORM_ERRORS.MAX_LENGTH' | translate }}\\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n {{ 'WALLET_DETAILS.FORM_ERRORS.PASSWORDS_DONT_MATCH' | translate }}\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
      {{ 'WALLET_DETAILS.FORM.SECURED_SEED_WILL_REQUIRE' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'WALLET_DETAILS.LABEL_SEED_PHRASE' | translate }}\\r\\n

      \\r\\n {{ 'WALLET_DETAILS.SEED_IS_UNSECURED' | translate }}\\r\\n \\r\\n 0\\\">{{ 'WALLET_DETAILS.SEED_IS_SECURED' | translate }}\\r\\n \\r\\n

      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      = 1 && (index + 1) <= 7 || (index + 1) >= 15 && (index + 1) <= 21\\\">\\r\\n {{(index + 1) + '. ' + word}}
      \\r\\n
      \\r\\n
      \\r\\n
      0\\\">\\r\\n {{ 'WALLET_DETAILS.REMEMBER_YOU_WILL_REQUIRE' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      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 AWB>pF diff --git a/src/gui/qt-daemon/html/assets/fonts/OpenSans-Regular.ttf b/src/gui/qt-daemon/html/assets/fonts/OpenSans-Regular.ttf deleted file mode 100644 index 2e31d02424ed50b9e05c19b5d82500699a6edbb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 217276 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%0DHhV?N1s&&lC=`j?-^cJA^!2jed0`4 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 }c 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

      dg4umb* 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 diff --git a/src/gui/qt-daemon/html/assets/fonts/OpenSans-SemiBold.ttf b/src/gui/qt-daemon/html/assets/fonts/OpenSans-SemiBold.ttf deleted file mode 100644 index 99db86aa0282e425450c86508d42da77a9f4102b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 221164 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 AWB>pF diff --git a/src/gui/qt-daemon/html/OpenSans-Regular.ttf b/src/gui/qt-daemon/html/OpenSans-Regular.ttf deleted file mode 100644 index 2e31d02424ed50b9e05c19b5d82500699a6edbb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 217276 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%0DHhV?N1s&&lC=`j?-^cJA^!2jed0`4 zJd$d@UofFz({SIDTSqCB6S>s-o!j>^zQ$fF%Zmcs@&Y=WqGs2zqlSDoT+a_+{IG

    3*AkxKE3K4^TwH9rq=S2Kt|XybUI!I|lHDFX-Y+C3KWDgWqrjYfT)0 z8Nw!zh5C3BdN#F1i&@Q%KnrcKMf0<0G3a&+=xU@Du|7@BlGZ=zGKY26z6!x1)}(QJ^b;@hfX@_b>u%^0E6!v<6Fb_?a( z+}e_5(cWZ8@BeC z6xG}}yH=bgez(3s-2B9Irx|YjkdHYMw*jJ5PD>DK08FAoaAml~dVzcFlQC|8U&39h zf4V;l{~-Wy8~YFUX_3@F7k|fnX?&@FTJp=^JTKuSF#ZGtsu^tr#7R1Mxso&@O0pM6 zEFa$E4Y#S)2JFL9wx?n?mI7PRW&u@cip;Yb;lQ%a|mFG4cN z)*1hYvF`wks>=R;_m$~=CNt@iNk}7vkc1FI4ZXz>AR?g&2uMdnKtM!9j0i}t0s=yW z7?DM!$+{v~kVQmv712dj(Y0e)7fI&j`Q8AU@80!F&Y6 z`3PofE%^BZIEy@r1$Gm!kSug6_9yA$JPrpUDx0Oa1ZSMZYm|(Mh^O>QKAgWM;iip) zO*shwrv&_%hnuFS_;^ALg`cH{!dQ~vjb%f+R!{oi`j7wk=RAvSK)4g@y>}DBSXjd|b@@<{f0)wEoY&|sY=$Xtf-(UwmxDcKVpRYEXN#LTyTe2ea1+!5c zxg)|>glV;F{b~lc}6a4OFxBZ8o7VTog`@98xVWfppA&bjHqCG5CX)Rof zv{3pvZy`0jD}vfpaVjUY7NBbmkaqApV5Hg=kSIg7&(Z6s3Pe-_DP2C#B{1lDB!K~4 zf=gf#ISw2|TE=$~w+T4NYz!S7CMn$GEiFJ2tkGIX4UhSj7Fa*dgIHwDS_`=t8y^EA zLgM~t49XQeL1WM(-@gn?^}j|@BAnFPNNzleoelF~CAcKeLWI*n(o}}6>B89J!c?8h zCL|_C#du>JIyoaVHYyqzRJ|&q>`uQk#|apJr_<=hp@!c&nMV@GHQYR!4#5F^!YX2P zC`yoYeogOh5>=d5z&(xmQTb7jfB!VP*sK<_SE{yd{lgIBL4B4iI(l?bZE8c5F{p;? z_?*(Yehx|}{T!q2WTWTYG0F4b1KtDU80RTB3+YK+>ujRb3Uei!dKe7n}=KAamu`f zzIZ~%`n^SCmde8O)>zRg?c+O!2aZ(0le#j#ookrT_u zz|R}CKr83xD<}1fw4t`AELg1#_%@0dP7PM*meGstIJb~`hCfHA%+Kc!wE`{o6E2 z_h2aAdjEDD>MC|p?HrD}-i}z-_k&-`mlqyCzVLK81zx`!91i&$Dwy~dw+L}77aNE~ zJWf;LvsAwdPu$PtJT6<~iN`oa05&hA_kotghdEEs+PF;(YHfsh0%-wa9_I;K8@H*? zX>I7kZ6xA}$2nKf+9*|j)7l7gh5EnaiME`!wKht_T7VpGqg?Gu*~uUlv?1u&fC)sG z1!`Beh*NZl_Ns$k1wVidkxqivUw@&j@w`d*2MrE}XDJ*#jasBy96H$;xTQ4|JuUa9 z_SA*41C*)ttrxPzz5G<{f@U@aaqVdW^{y9g!wrG{DaTnH$4^7HM(b+Gni@XK6tyn) zCvG4XhMw4|tyu#fRNGTtGv?5e+7^q1rM%ArcpWk4c)gTnEEds$@SsKRsU`-u zvKuqhx%l;3)eNkK#-GXhid&H+i~75o(u43cR=C!Do4USifvg!{nNOg84|~}`x(0_?g)R9>BP2J z6TGhv-``pbw3gH#_?{>S??#XGxxKi@`AF$?)-~7`t4TR6glJ$DIu-{IHzW%dq^HSt zn^7+#(@|#t4!l7C?ggADaJ_NwBezjCtSuK`^PLE7f`JO)Zj>87u^Uo|GrOtl#3ih* z{k`L)#9+_;b1$kLkS$(chq0t%EM|(Y2%)%%R)a-Az>)!02jqt`l=f4|+ZpML65S|N zmiNXGRR!}B?~)B(+WSJ)w4R5mq){X9SrP0kmiL}9M@ph~#%jP$OgosX?GF>R9c;?0 z`CY}ePhs|4x@j7;Pwbz9d`7JWPMZh@qxA%BcIWpiK1cgH_z(KS?OLVv7d{P|w%gDj zE5Wsd{vxs{T(2_4Kc))~K7%0PNTqbs>!i*?Db?;~iG3&EWC)e4%u9_Bwd*YD?FDDs{X$~%Q?*|1wQ#jXOnSug&3$u_oNIu0rp26l@0qLq_g@p$ zIk0A?Cy7NDFTa1`llMRTaQF7@yRo<6J0YF4K;t`M?~^|);esDa>3sKZCmIxHf6Vzn z#Ht0p1MemA9kf9FWdZS*QMgTz7Rgs4BbNyH|Y<$VLjEY z0_TZPJ;x;AG}|UL=8z=OGTa8w{orGUiH*kmHE$teSHGnNctyX~xL^LCw7~jp%#kd-naHxQvbQuW2-;wv1BvvQ8VmfMO|2D zU>u-jNGG(;F|^KpB+4U$1h3wqz4|b{>cXxLx{aOpR39Gdh!dif4Q{=o~YvHyS-a>R(_SVKg zx~bMesjy6IAz}g3#z4GZYoQdIigOgzw1p2MEtCmc(E{1ov_TN>*DRAuB5jnx{z6Y^ z!=NW_@n5n*!qreKnu^=d3R%XrkqnxkwG#3&Q7f>e0eM3k3%3Hm#7X_bmNriAt$mWe z{tJH{rfq!*r|@>f16V(TdZyWBgwK-?ha`pb09;q}1fjRn6PghbZR1~Kk0`jnr&=2k z3&Sl|Rn`wm6k3SbG_)2-S?)l6Am{AI(A*RGFlg?$Gi6P(>&Ty(Ep*j-iJV0|Ax-5Y z9f2pntsqCC7k7A{v=&Hn;w?ZT?*2zDaE*&vfXpmh(dK$f8zf(9ZIsl1r?nBGw_8TR zN*--QEhIld7QPJ6ES#~$HbfCxbpSK#Spj?t9_xpg7!rDUifcp0IC5Rt-J`~4-O*=s zg}jw5PF<2Xe;$S?oC5#!DQATwp?h(&*u+GO!4+>XiAo?j!DKP@tbmg45FEH^0YKO& zTbLW>;Ff55yc@}hJY${w6F$9`=D`yIJTO4_DDK(u&fEU^&s~Razuy}*zQdR@7OQ@} zUG=z^xyGYtdA|r z8zf8m1BqbVcY$^v{C>xTcn;`n&b9YC=GTrcTg@V)DNE0TAp8W@c+pG4Ao=NlW z8oMCwU`&p!mGLi|a>x75ChhGy{bJYr{H`5}3W}8tOWM|^v(@T!`GeMvjk|YNT^n|w z-Rf4A(Q3K8r2YElj+Q&K)&CTA=ulMHu_L0Wx&0fnH^RoA1K)2i;qKzXY**Jd9a?2Z zMVXs5)3p-XB)Igw`yjHrb5W0cr`Zyf*{i|=#EqmRIBt?0_EflUyrw8w$kF0KLmSA^ zXOU8PI?u^N6+>2`h}e&OsKNjRp)v%C^5C{G8i($W;5ZsbBLWaVvOMgAmXo|pj@tbY z6T^TVF^A?X8TCxB!t!^|oXN$B&ykcigxKrgq`W)w)=B$!NG=f1nf%$zf_ZO4vn@eR(UMVxUC^%$K=VKyR5i9_7|I;T9%AYG{yC zAT{WStK!v0QVL!@h7U6fuvqrPUu#27rcp0A>}L5P8>MT+hVnIV&WH+;LKT%l2tp~y zml^M?@=jeaXULMr5So4cv4=97FL~HkxcJf5ziSbp^$5{@NHRBVF`poa@}u-<4qz|L zGV|Vv4-cEubydqM-}r^PK;M}Uw~y(*?vBg{X&G5I#<)Zo18E&G=*X|fFFcQcpB>!g zEL$8B+^dXPif2>t>}utjHXn<`=VPF19pT_};u~q{`H3RMQ0D7&;^5_5jT3a4eQqB& z$~3|BjC^V7;@q~e#oZo!0(}d+6p^DEn1NLTn-cKcu{aT+{Kj#?yTZ5#%8W2D0diud zV?5cqB|OR&IWaCIrtm0RV-!uINkIIc5ww&II=z4H*l`a`(T;WNF3Q0%b7qZcOngj8 zg#`{SMo4eSt`(4WVML6yNXcIzu9Mr!hYSy%`bVf3nESzz%?rD9I6t`e{oQ+fKhiqY zb)siwLD#9Y<_3)Wy7CDuz|D&7#;E8RC!iN`4_Kmj;P~HpCX~j}_%cUQf@2zUDg@$<<#ud4jtz%#gF!#<}SrGBYcS-4{NAE zl*?gL+(y|GWtAUtH;^MwX^k+&)W~mNHk;-@p89ON(QI7qxLEpal>Aex<2|A}pKcY? z{V(n4C(Wu3eK>S8!QI@4Wx;Iv(ODv%vvei_UY!N}6TuJpC*VKVY^EsrK?);e+ zs7s)=^Y2^Q`5g8Ek@u8`#AS>vs68RZH|}W(Z>0k>HSNh7eg-}1@~IUzyL01KSlB06 z{}r^FwIo$D2rua8cJ*zX0?Uh%$U;F7B$44CVd!EVuu}M&bYP&`;_p9-x zhn84g%%B`cmb?Huvg~U!;#P7Uw~{l=N{}yNaX8wYL9m!nkO*1uBo;wqM;YQWp%TpLv<-q z?+uc?v3BmJP3SqaPv|)hJ#(s2sD6o_GL0AtUI>a2pxhLm8p42W*c&b-6Y&HTOLfp$ zEq7D=Hz}PXw0aZxjPiNAeKDiqc*}x(8;HnY=b~AM996|?(;H;K)L|Nc@r~HgC_X*R zZHP+q3jhX==^!9C5QU@>HA^}hME?8VRliieLYyvUt=udIuLQSjqTazQxRpUiRtEfy ze}uV*Swh3Xs=|(;+<@F319>=0C@aoP_r!`;YgUXcQLjh6ffm^oM{ILP^S%|y&7zz2 ztq`Lf_@bOE9371plI+gq_l9wDUm!nHa0KR2v?j7EQ&9GZQY>*nwaL$SQ`S)Hv@A&z zee=c3H9eoLU9w&c9>}c8KA@^=D(jx@RugmP%G<}<)f64R@XxoRm9vK)yYW<&8hrTb z)km1TbNh{Dbv-VhI`-~+M_#)`vx781h=rJ4d%o7V?v$Uf)(I3NW70d3xx=EOQM3bQ zVgQC>Go6T#@)B4pu>wMrXrha7qkl*VN=YVU0z}3Dfr{i>44?keVPewa>g)sctM;FN zFRnV_;`sxs)Zp{k?B#j?-OWBz11HW%W9zoQ{t|xo@A>b1qOCHF>lg3@KQhXaBx`~@ z+UI;u7*)*GtJj>d!QR*J` zjq_^N{hO9N%1ZxP$3(0rXykuK@P{diNBM_!<{u!_l1-sOXC{mD8#-vK>_JRl$I25( zsuf#@rP`s0ld0tI!&*r1zsYsgobdbH*3aL6M0+3G3ynHrec8+J32I-vC(6~+*nd0` zv5S-4V+OxT*6d+)tvsM=s*E|ytd zKD=$$U++`<+-sT>J7DnO0hkA^)?R4#Zp8SO6lX-kHp3c1a0uU)*O}4$$=**_Bx!@D6akZ zH}wrRSH1E5)E)h+f}d~SHe%=CXP9pBDT~*ZS(O z%WL-3EzM2cux;D!C)O^VPsq?F%)|x{vI{w<4!g`084$xpBeMaV1YR8;QL1qr3@)WL zDkX8emrf$^UUZ`9IaHjbcCNWT(rr*Ov%aoTC$}n4J)>CKy>f@((Qocfd}5I}wf5oz z>c?0$if$c+NO!QS^gHQ@Hqlb?C_FY5JgKU1&&OB_9a#oK>7 zxOUfmX>aLMcRjo*yK`ly7X7>Snm%mikGsE7Z`^qIFHBKqK6IpS!KEFmo+V{b;HL=m zn~M4=S+XO=mtbaYpF@|H?nxC>k;iFA=~~e&rKVbAV-b28>#%~Fo4`i#6dF#;kvj(~ z8-$h*+n8lgq_=UrlY!75FX&%3;hQ>Zqoi4$<4B5L?akM@r(e1VY3OokV zw=*RX*rzyd5Ine9y73vK1*Z^Joj?`Xw8Q`?D&dp>B+%&s2gK_isGmOGenHLp#}-yC zn7;DtiT3xL`6)yFQK?+9=n$ZuuT+hh-6z#Qb=dmdJ14j87~AaftM|Th>e@%RP8$4- z9(es5p`>XLX%?diiUMM9JCnmWB1?vjOCvl#LL-Vqmo&mi1A+e~;!7lywAwznm5E>W z)n$Pbxo|W0DNgq~96Df%LcffS^8zK!?){q=JLyH-ixG&KMj*)F673e=$w)Q_r_IL2 zweno*lVnjRsk7Nywt{VB zkExSuufiFXufC)HUCBh@f-jK+;>S919*nbU7l7il9exp&>o3FA1r)!u!Q8TZQp-06tAz@2`R?)3Vfur@uROC}@U zInKbMBnbT}(O86NZ=&B1x1qK2^o5xg0ylVff2aRp+lB2Y}PTZr^u$p8b^#Kp7JGDpq_(=*;92g~&14{)Bk9 z#gZWq7^gljKfV>j`d$^SS~=1(Q`2C$OA{O^AXLrPs_7QDz>E_YC3!4S4B?MJ=MSGH zI`ee$bzt&=C_Kg?ck-pd2M@fTcV}h!6P0bcZ7t|JbLE?FY=7v|vZ{w>b{CK5Km6&! zXP&PXe>(U?*_e*aTnW>Lc3FQ{ueGfUJH{lxd0_dw>6YS4v$p41RxB=Cb?3|}*l+Hg zhR01uniXalgZ=&mbVWH#2`01N4UAZ`Rq^^n5O+cqjwhiN zI)G#a^vNh-+r>idNl4U5NI1nM>M+Ie2F@O7&JJv16R<`MuKW+5iPchGp{@dFWJbdqgYSC2rNLg~y)QVrL-0!aSJVq5#)%_EGH~ZqSKB3-9RkqiSoQ*fhVG1(Nzb) zJ+dB#P-5WUER@!&W#@9n#HCDc^`XY*9%$xN_+ z9(d){_q7jy`q-*}EJwW(Pyokwri2$P7i_&N6~SXMOqrGOffZFTJc@zIjlsU1dmanaAh?=I?Y8;9eWd$h^u7{5Oa`e27iX@YQm%2>5BobPe$?)G;NRcK~38$hY=6j zpq4$O-7(4uu1|)npkyJsG2bd(xpkpuahlg= z17>WTN3=Tu9p?q?fY)nBjGGH3ja-sli;N4|_L^M5jpEUiaC97KC54-l$k2nDSwIg) zJlgqDZ3>5to3MDfy0}_BARSS=vE}DJIqmUoa6fR*;)iAgLCrp;f=HS8=LfSz%s!N|Hb^Vw6bE0@Lm}z3>-*%nZ`7cyu+QsIw((exT+Nb2- z{BeW&JxZ;h#MUE7yuOpI9fKSCSX*jEwle5Fsp zPQ@Y^3cGg^tLBOAf+b5{Kk~}Q<5~6F zA1i*fcktKRxiKqaJKcSgz0CdPNTqMyUS(4H3~dZ z;zT+sduB%nE&M_TmyF2$a1}C5LvC`>a+c4P0c`@{M!aHGlYy73*VS6}NN@pexWzSd z#iC&8lGDddUgm>ssA#1Pa_IuP0bQ_Z(P?l~g)#w^n01Qcvf6R$y6p~>C*pCug4H4E ztRYKrPSc1wJ|?1dvMV&Af6>BLox4=MV7a=0$o^MVmKL0NG58Dn^}!IyYqTz3BhM-! z_29hD7Ita0?g___#DUgt=tts-ztR(88zB^Rp+$#a24~d8+~R8{9Ta6U;0~m^w5TZ! z@DQpWqPRE;W4N?`2oA4#5>=%727B%O9+NoOnp&D?n3#d|+5+Aa?Hux#DeUO$@~8Xie*NL)=MG#x&#FIqM*(O_dc}UV{NeRa+)twel{I)xw7)e!2XPOK)`r!g z^6G&80`6fm8KtxxCYy!9j%Ly;iYLnCfFT~X@np9}$2kbLnJACnh-51d$A5;#ObZ6u zg9?ga<0K*ASn0c~&ai97mdh4#^)a|HUU0p=l-5vPEc%!ve!=o@el9QmDOmA!Xv7Vk z80;U;x$Xo;=tN~ZFJ=(NRz zT!A6t{}3oJLY4xE+mkPgMZ3jzF9%-{2c8Zd-yMAE4e`48da#3dTKf*##B0Gg`o>85 zg4POPRnMT6iq|SM`%)~r%;wnJXw*=Qjy9#G`TJI+$tG|d)9<)zBfX3Z#*qrm4N#B~ zTN?zlPz;3}b7bd{zXI<3tNN!$UAg=9vsbTtbm839T}!7OoK-%qw(@GdJZjaUXhY1Q z)#tAD-`+BB!-_{AU%B>?$q(iAy|>?OuVLh8af%0G4eju?MB7Bst}_}@#le9v8H*MC z#qQFW zkNimT&ExwhUwb<^9Gq`C>LA%BV?UHCP2_s4ifL0C66|`XZ?)AU4v4a1yx58b56!OPyXmV$`%H zU4w6&UgwfCBqr25h zLwxrrMrRiCiepevP>=wa6ym#rfwMr3@rK0fMyv#JphRn6AR6bb*;#v#81I(gR}s#O z`B!5--U#io*KBYiDISjgC`(CsX{1J znzGP9v!RPbyNxj={oLQms>LDruSUB>_(j6+DHI!~Guplwwo#k{v(0Kn0*wrGx@04| z;uY0HKEx0QZlsiGN0sD&(7NHb6ep@G_NozkSJ&)n=2~*_PpW8#y9zkT zGQ4TB4jAP;1HgzX3J^k2qYY;!EPY@x|M0GYYzwbd6G$1wrv`shd!bzW&0l~D=c@Zp z-HZF4Kl`aB9BmA)I;X}iTmBf_N4#pS&V;d;aB6*sXHJq(70Qm93m&>VV{mwphkzhv zFW9^p^=j!Jq8ppG7e5=353M+thp1ewoYGKK5BJiU>K|wzG^}6$`(pJAZ(f!+RwFO~ zLplHU$E#N?UphZXoKnNt0dvE6TtvZ?%VdLp)a}tDQv!HZxWF-t@S^;V$f%|s-v}V= z1Ss1+B_JPHf2>tws&N6CSxntAmc^#L^tSpFt3G>$MsQJ0V!q0SptX*;X_n%q;kE3e zqhO)(+9f$I-Uk7~=d&ml48h`7Ajm6CD?c}8W-OWG!~z8ukp*<>z4=Lkn;eS*yI8ZU zcg?q#SkW$Zom&0b)3FHGq9C9BF0sK-B1A5*6kt&d7(0p{3rjRA96 zID`BP$|5133Z!nTFXFc95caGyO8z8AJoz~-@Y`Ep5|vOW0YeTK9;C?grYx6l6YfGD z`yg@2!3nJ+kkljuLjR@uEG*L()o0Bp`c%!v`T*?Z2jd!CyW{&Wzy9uDvK0w{2jyzHj*4B&A6QCB$J9GkT1?x7oA~ScCNvKy4jlQ&yKvz=6@oN z32qk`=AYkw`r^&L;u!JdgHNcRfQ$0zO`s6y2>$@1n}eM%haKDp3lR7~tSiZkm32wY zQY>aW%s*z7GJ$OcrP92B)g-ehKa4z5v$442cDM?g75Zd7qBFUZf~Wv?I3>x6I`eqZ z;hOW_7cB83zq)7r>eYHnr_+<)`j>k1>n~N{siPq1Hzg}(B~^*5k&3f6uVdPpcFBQX z-zy)b-u$;(55V6sAFw5CX6Ffo>Tl|IIK5=gFM-vM$Vi+efgrR zAF2uLD%-TUa;tg~ehj~V{sK5EW41gf6-=J)Ho702zPSp4Lx)=fQ&v{N1} zEfGp8k0BCKomQ`t8BCd4$*u6M0s7>MfYe=eRf+4Q<8?jp8Bxeom&g?}{%85DO6esmL3y|$^RezmTiqAnpgJJEEQeGM+sOKS5^ zwP-cT2V_5?9DNu!5+eEaG%fBop(gZKUC!|xUyd1=*J^~@%5QO&OS z=9MK+K6Vn4LJX#qy!I~2O;)3TqIT19u>Dg@^Ia7bb{UE z{pl>wWZ%W+>BKf2x$VlvZC9c3Snw#9m`ymrNK@9MD5+>tOnSj!m-V!XT6$)K^nn!$ zYdrZ*Dd(`7E())zmMS_8KcLDc_6fgzgZ3TuKS@{7zJp|DCP;P^ijrJTyF|_yy`>il z+-Nxje;_kMWDZ$NK)TY^z3P#;QJZJCN%F?ed@My=Bpp|`sv}>u%-69m*bmxVlpIi| z2hmb7l1`_%5Y3=Cyit18Krl;AyUr2CE7~-gPgs7V+Z{0Td~LDB6p#iv2g0oQl|PGR zUR>*Gr(Rp8UMujdJInl8J4VbFFV-HHmbTj*>?^; zNHJM040vcctTU2(QOetF*P-H(wz4@R!aRYv6ODv%X-iXj*bWGXKRn5 zK7os8!QblrqP^~owdPT1C^!S@(O?wewg;>YEi%7yB3=c8wj^;FX&Ta|y+OEQYN4ct~17t$5B7X_5xJ&#^LF_A2ba0gD!aT0ApM-aV(w}S9 ztySs{X%ewI>G%`qiRaiL!$&6!N6W~q850qYlI}9b+hsY*qCgT*ND{CL zab62jL+lnuJj%U*`{}$&V|%(L_ebQmhUhYnK*`w1RBSC!3b+^99bO+qcEynji@Sn! zdUf{=^;71r-(JfSYcCym<=7EvzPk41=f%|DP#RZl#y)nlmcRVQ(mYgz$EUt`{gsbg zQn~Z|n`~iv-G28+m=Q&QqV5l7G>os+0dVtAuvT1OK^+Mbv_=z7ywxDvVJd?ES&Cv> zxfJdWhzy*QK}1`DD)C8G-P|g%XVsI$sp0zWB^|5l1$x_x9<$Mdi*#O{$z)_sqtoM- zPT4$RZVsio4#s zea%|7Rikd*bUq*GD+Wa{GFdiq{Y!)!1_~IQtLQJJeKl|le!jvg1b#|a*%y0ncBx|5 zs#Z$JYL99Y;Y({F5 z*=|6IB?4|}Dq%$IRajRtO9COA>n-FHBgsO{W<{TVaOGn)Rox}ZV#x#BP$j*Hxy8j> zo~+u7!%$Z@VvxF#&HzraG8ZE;aj6Fy3)L-@-4?UiZIFD?mM8&rJTV^FR}6^m2#@7Y zG?s?ZplmPr8OA~m12&jtT{!dpd9|oYPN}M@{RDv-hIwnn#ZPY8vyV6d*msS(@!0Tk ztPSxMlESEhJ9HL1G$kmFdKBctioo7%uAm0{sKalOd zd=ZilD}H48qIK{Xp50ZWbvk^+u-idtMc_IMaJR<_-JuT{jWC0`L})9t4R*8NjBCB2 zz^{OV1R1gMt^mBLvEITh6x>8Xx(a#z(h+6DT@Y;WGqXD^AGZImCWsfAj(t1t-k4Lk zy9{_gCiRM^Xsxf=@nb7$cC=X@o1$KZi|uEX*9Jsfdp^cT8q0vfUsF|ptj})}4>>uKzkHRoUs(Cp zi|pT3>No1I%)`v;#h=*u_?`1M)PR{BW~DE)d%-KYWXX}5j0d)-R9)~_PHAV!;P)25ALI89Z3-}>q1fx`t-<{(IwpT*H?G7YJ0Ccz& z(}AbqVa5L(?k9vf(Fo=)SE6WyKKX!+Rs4p1UN+#@WGo>~_B$ zluzMZI&eW07{(p=|D*gc;(#7x4_tvrrD1XI4cH0XwF9>o<*uB%yV@aU2H!VUKeK$} zeIAHF4rrRqlVVonKfQ0o%P*ojGsX`49M2xpQI0$Q-h~;Uk}U2!s6NOm`4-I7&-e6a zyaQk8t=OP=CR8C7pScZpq)0NNt}Ey<3bEJ7`!;%nxH!ER-VKjUPV@_?^$foO3M2wf z)^2f9j-ej1e3;+-2_xqBCq>aAM1(wV4U#1BWSpub>A)`+&#L{@ajKf};9zhhCv3)O?t@!(ChQ%J_Fs~dJZm^9~zy4_p{iXkr>+-ay}?RFTvaKczP#EBhT zirMW3CyDg@D23SL|MaqP_bnf=cJ2{^lF#`yGHr!RXVp@5lxnJ}VK=L;GtWbtfdSNh zGX}{e!k$z|KDb|F+SnNnxHirXR{1NwQ^dtBoa*33$7!1llLc(&p0F2N%XfyRK(ZKV z3b+^XzJ_B-H@{jb_r#pJBqKAESwUGuvQ(Orb)wyfg14A)!`0u|bjE#NVGCl4n4>PL z68l!EE335oxAwS7ATr!~Z_s@fl3yhS;*rsyCkto@cKY=OIho`aY7sd&<97uo!`6nR z{dPPLhsH`LOj(MSP$@(aNJd3IhAbn*Ev$tL(T>+6@(|tH#K9n!kT%Y~ucFe{C~Vw? zXgscIzPZp1MT)rJA(HX$gEgfg-yG<#Gx^#@V$N@EVKzIUwU83_I5uqoK1swZ^EM)g zc3K;hZ{AKjS&Y!+D0V(4l5fsi;iqq?_Ka{ItnO+QPE+YHWpKOEKM`t zfg)T#S{sWm%%KJ{WQ&S3Agv%1Q$)H8)pX*ksfE}Ml!miQn>OKPJgNVmPwM%TSmn@@ z$en`k4OJWJ)Lf~w{v!I&3-QIUSi@Ki`?yXF)sKRzhOa!@x&r1`;GMW1T%j%ho;YpQh8JCs>~m~!hU6=pCh zdVEqN81(3a4J8E;tl(fU_juvoO8Mq_Wi;6!;1WL7X?KF;n^j=R;ZIA9b-gM`XvdN?d3aw`go zVuqE%fc#$>>0L0Swj>pgL@D~oha3u}!k<{0RMebQ3KS_{N|lzXJ91Cws)tw!ey~x} zm;TzDvd&+f$aboCCWiXng1)1KS;g%v`Y4ACElu$_QDetuHtO7r=@h+;P+)^W1W(cl zMvvL-v>}q#WwcrK_)<{docu!?B3MzQT7`UgjmC&k(qEBpZM0G0@rDPD7XbP=T74?_ z^<1@z4b94;|KksOEsK5W-q=4qGA}mwd=`sPqV@e z&(yXZpuIMLeY5LHdVIq(vIvI(P)GJwfAQt_SJ;{Bmv188p-y~u-!soWyJyd{UwrYy zC+y6(pEUga{Xg+Ht?3e}ifLJk$aU5J77yTz>tHV?Zh`uFqMuhsiY+$Dq69C3K@Y3E zR&kQY3S$|5S0_(wR2vVipvIDz5N<_6M7bdTzLij6B{AWTt0;viK*G#G0kHdG$7Obs zMybvPds>OtQLFQapop@BB1#~8L_%;n#)gP1>*lVMD&Zic&of~vQU^|<&Xh|?D|QMl z(wAIDk6X6;;iN~AsdI=Eh+N3Lk)|mT`KZ+(mXwy=JM6wuHdDXV47mtwcX_Xg^H6hT z^N?{j)pGPQ22u`1Z#jj2#ToFd!8l=dh>Biuxq;fDFRc&^HfKo%iWAsSzsy=vVbUp7 zT@;dqP{dQ2U`Z$IMFS@xE<&Mo!1krGFcf5m1kt0cwfgs}0|z8$aJ|?)c!Dik1YO6p zNY2_A{Awdc0?&)w8}*@5g?oyNtwyIaIWg93j}q;%@kyxNneK>Bh%c?MCRmaJNvIqf zum}8s&Vl{`nKYP$fKTvwN-BK6uOmx?jOZ|$CKDQKh?!ux;d<#&7%BgPzXQL7D$5cI z5~B0P1825(*tB-ugKReymsW@K3bS=@zlndSFej{c#+vwKd0dL^HgP4 z61E_klqza@g#a?3Mimz($Hyn6`5YdUbQfJlpE*I7)gmsrUxmY6S|P=m9X6Z8949F# zL*Kk#MWQYt8nS-{+fgfS_l z$%D-urcGV6ZCj@?pM26o~VI!tjFIjE>e5l zHc;C5+1EkTBe@v-e)X=^9Py!Z$Xl8w%qZ@h;6r{_Eb2w*W1Bf;Q>;&yo?%9GPHBZ9 z8na3$tq>FKiT=c#L@1!qiP4Gf8#mzXZG}} zLI&s5MMcHgiw?ckbwd{hoc~45Ta+z=%evXF;3SaJ0(%)(nou(>Cskv5nrNn6XMypf$y}kNvu;JT8g=l%frG)fst%uccEXUrfU-|N9y1gk zR^leLo1QvyY}@vu$G3j}{Wq8YvUBeXDR=w7|0Xal6*3ciozhm^N%6Rk5Q&`<8*4Wv zcqOmVBB!RM*sU=p#o`t%qDAL-gXvN&Qf(3qSfTt5;;>>E|FkJ6I)Pwlk zmeqzIpQKL%l-B3BJ^6lpb?qArg6BDMtUv==seLtsoXGEp3pB{f| z=i|rJclxT=Cd`+!UL8C|?Y9&xf=6tg!darK41~3CXK}6(5)QLkg?MkW!;zKY74%qt zzdJR?oZ*&Y4DJ|rOokyNvu{O)3n5cX&)vx(hcX=_c#h~lx-^?c($TI25Ng#JPqQ)H zNaNd5DhNc$Z@d&NF*r89Dpnh8o5Z@EYnSb!Z#5ZLV*mcbh7TMp0tr<8bV?l#Pi?#Z zJTCRBJM#3=mv%h;;!E4^ojq&j%zN$$CRJ8qUsADL(M&e7BoS zzlA9hn=$`_=)WiqIb+bxdFk}oLko3=i{dr$?n#q^o5h?(>Ok>A@Pe2V%wfBi1~1Z$ zR|fkl@~shpG#fXaD2%WFL|z8#gbyC**2S@Y3^3YaiIP!h*XqgfclL{Zzcbzd0VyYs zNGWGTQR4yf^bIYKJxw7uH+^T_#j|}KN z=F-}{r-wW@FJ&!Lwmn=TQock%Me5u?P>B8QQK3gZLxFiEp78vrKra@VBO^v z5!3X3n6w0sUdn84PVQAj}foq1&+%ilSo-%z%`Mc^r4s`_p1>#LZwVf2(oZay^oVay^O2N-xCklZXn zMzPzdm}Et^A)1*f2!uxwLC~)zT7YCV*Gq0Iijji=fg>J(myw;XVi#(Ui-C?AYMppN zRl846N^c$*FC(qHP8EN9i)6wxszV8&AI-Cez$p~AgQuP1eUb2Zt7ngKyGXz( }c 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

    dg4umb* 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 diff --git a/src/gui/qt-daemon/html/OpenSans-SemiBold.ttf b/src/gui/qt-daemon/html/OpenSans-SemiBold.ttf deleted file mode 100644 index 99db86aa0282e425450c86508d42da77a9f4102b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 221164 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